import type { RefObject } from 'react'; import { useState } from 'react'; import type { SendCustomWorldAgentMessageRequest } from '../../../packages/shared/src/contracts/customWorldAgent'; type CustomWorldAgentComposerProps = { disabled: boolean; onSubmit: (payload: SendCustomWorldAgentMessageRequest) => void; textareaRef?: RefObject; }; function createClientMessageId() { if ( typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function' ) { return crypto.randomUUID(); } return `client-message-${Date.now()}`; } export function CustomWorldAgentComposer({ disabled, onSubmit, textareaRef, }: CustomWorldAgentComposerProps) { const [text, setText] = useState(''); const submit = () => { const nextText = text.trim(); if (!nextText || disabled) { return; } onSubmit({ clientMessageId: createClientMessageId(), text: nextText, focusCardId: null, selectedCardIds: [], }); setText(''); }; return (