@@ -4,6 +4,7 @@ import { TourHighlight } from "@components/TourHighlight";
44import { AttachmentsBar } from "@features/message-editor/components/AttachmentsBar" ;
55import { EditorToolbar } from "@features/message-editor/components/EditorToolbar" ;
66import type { MessageEditorHandle } from "@features/message-editor/components/MessageEditor" ;
7+ import { useDraftStore } from "@features/message-editor/stores/draftStore" ;
78import { useTaskInputHistoryStore } from "@features/message-editor/stores/taskInputHistoryStore" ;
89import { useTiptapEditor } from "@features/message-editor/tiptap/useTiptapEditor" ;
910import { ReasoningLevelSelector } from "@features/sessions/components/ReasoningLevelSelector" ;
@@ -12,8 +13,9 @@ import type { AgentAdapter } from "@features/settings/stores/settingsStore";
1213import { useConnectivity } from "@hooks/useConnectivity" ;
1314import { ArrowUp } from "@phosphor-icons/react" ;
1415import { Box , Flex , IconButton , Text , Tooltip } from "@radix-ui/themes" ;
16+ import { trpcClient } from "@renderer/trpc/client" ;
1517import { EditorContent } from "@tiptap/react" ;
16- import { forwardRef , useCallback , useImperativeHandle } from "react" ;
18+ import { forwardRef , useCallback , useEffect , useImperativeHandle } from "react" ;
1719import "./TaskInput.css" ;
1820
1921interface TaskInputEditorProps {
@@ -101,6 +103,21 @@ export const TaskInputEditor = forwardRef<
101103 onEmptyChange,
102104 } ) ;
103105
106+ useEffect ( ( ) => {
107+ let cancelled = false ;
108+ trpcClient . skills . list . query ( ) . then ( ( skills ) => {
109+ if ( cancelled ) return ;
110+ useDraftStore . getState ( ) . actions . setCommands (
111+ sessionId ,
112+ skills . map ( ( s ) => ( { name : s . name , description : s . description } ) ) ,
113+ ) ;
114+ } ) ;
115+ return ( ) => {
116+ cancelled = true ;
117+ useDraftStore . getState ( ) . actions . clearCommands ( sessionId ) ;
118+ } ;
119+ } , [ sessionId ] ) ;
120+
104121 useImperativeHandle (
105122 ref ,
106123 ( ) => ( {
0 commit comments