| name | canvas_interact |
| description | Collect user input and confirmations through interactive forms and dialogs |
| version | 1.0.0 |
| author | Hive Team |
| icon | 💬 |
| category | canvas |
| permissions | ["canvas_write"] |
| dependencies | [] |
| tools | ["canvas_ask","canvas_confirm"] |
| triggers | ["preguntame","ask me","formulario","form","confirmame","confirm","necesito ingresar datos","need to enter data","dialogo","dialog","input del usuario","user input","seleccionar opcion","select option"] |
| preferred_agents | [] |
| steps | [{"step":1,"action":"determine_interaction_type","instruction":"Determine if simple confirmation (yes/no) or complex form input needed","output":"interaction_type"},{"step":2,"action":"canvas_confirm or canvas_ask","instruction":"Show appropriate interactive component","params":{"confirm":"message, confirm/cancel labels","ask":"title, fields array with type/label/options"},"output":"user_response"},{"step":3,"action":"process_response","instruction":"Handle user response: proceed if confirmed, collect form data","output":"processed_data"}] |
| rules | ["Use canvas_confirm for simple yes/no decisions","Use canvas_ask for multi-field data collection","Always provide clear labels and placeholders for form fields","Mark required fields explicitly","Validate input types (email, number) when applicable","Handle cancel/dismiss gracefully"] |
| output_format | {"structure":"canvas_component","sections":["component_type","title","fields_or_message","user_response"],"max_length":"Interactive form or confirmation"} |
| examples | [{"user_input":"necesito ingresar mis datos de usuario","expected_behavior":"canvas_ask({ title: 'User Data', fields: [{name: 'email', label: 'Email', type: 'email'}, {name: 'role', label: 'Role', type: 'select', options: [...]}] })"},{"user_input":"confirmame antes de eliminar","expected_behavior":"canvas_confirm({ message: '¿Eliminar archivo?', confirmLabel: 'Sí', cancelLabel: 'Cancelar' })"},{"user_input":"preguntame las preferencias","expected_behavior":"canvas_ask({ title: 'Preferences', fields: [{name: 'theme', label: 'Theme', type: 'select', options: [{label: 'Dark', value: 'dark'}, {label: 'Light', value: 'light'}]}] })"}] |