'The complete question to ask the user. Should be clear, specific, and end with a question mark.',
},
header:{
type:'string',
maxLength: 12,
description:
'Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".',
},
type:{
type:'string',
enum:['choice','text','yesno'],
description:
"Question type. 'choice' (default) shows selectable options, 'text' shows a free-form text input, 'yesno' shows a binary Yes/No choice.",
},
options:{
type:'array',
description:
"Required for 'choice' type, ignored for 'text' and 'yesno'. The available choices (2-4 options). Do NOT include an 'Other' option - one is automatically added for 'choice' type.",
minItems: 2,
maxItems: 4,
items:{
type:'object',
required:['label','description'],
properties:{
label:{
type:'string',
description:
'The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.',
},
description:{
type:'string',
description:
'Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.',
},
},
},
},
multiSelect:{
type:'boolean',
description:
"Only applies to 'choice' type. Set to true to allow multiple selections.",
},
placeholder:{
type:'string',
description:
"Optional hint text for 'text' type input field.",