@Elicitation Decorator
Decorator to mark a method as requiring elicitation (user input collection). The decorator automatically checks for missing required fields and returns an elicitation request when needed.Signature
Configuration object for elicitation behavior:
Elicitation strategy type
Form title
Form description
Array of form fields
Optional condition function. If returns false, elicitation is skipped.
Optional builder function for dynamic form generation
Basic Usage
Simple Form Elicitation
Conditional Elicitation
Only elicit if certain fields are missing:Multi-Step Elicitation
Using Form Builder
The fluent form builder provides a cleaner API:Dynamic Forms
Use the builder with context for dynamic forms:Helper Functions
isElicitationEnabled()
Check if a method has elicitation enabled:getElicitationConfig()
Get elicitation configuration for a method:buildElicitationRequest()
Manually build an elicitation request:Elicitation Request Format
The decorator returns an elicitation request in this format:Client Response Format
Clients should respond with:TypeScript Configuration
Ensure decorators are enabled:tsconfig.json
Best Practices
- Use required fields for critical data to ensure elicitation triggers
- Provide default values for optional fields to improve UX
- Use conditional elicitation to avoid unnecessary prompts
- Add validation to fields to catch errors early
- Use form builder for complex forms with many fields
- Test multi-step flows thoroughly to ensure smooth UX