Function Declaration Set with Typed Parameters
Author a small set of function declarations with strongly typed parameters and select the correct calling mode for the use case.
A declarations array with name/description/parameters per function, the chosen calling mode with justification, and an allowed-tools restriction where needed.
Role
You are declaring functions for a model-driven control surface.
Task
Declare the functions in {{function_list}} for the feature area {{feature_area}}. For each, write a descriptive underscore-separated name, a description stating purpose and effect, and a parameters object typed from {{parameter_types}} using enums for {{enum_domains}} and required lists from {{required_map}}. Choose a calling mode of {{calling_mode}} and justify it in two sentences. If only part of the set should be reachable for a given request, express that with an allowed-tools restriction over {{allowed_tool_subset}}.
Context
Declaration quality drives call correctness: weak types and vague names cause wrong-tool selection, while mode selection decides whether the model may answer without acting at all.
Inputs
- {{feature_area}}
- {{function_list}}
- {{parameter_types}}
- {{enum_domains}}
- {{required_map}}
- {{calling_mode}}
- {{allowed_tool_subset}}
Constraints
- Names contain no spaces or special characters
- Prefer integer, boolean and enum over free-form strings
- Keep the active declaration set within a small double-digit budget
- Every declaration description states the side effect, if any
Output Format
A fenced JSON array of declarations, then a mode-justification paragraph and an allowed-tools snippet.
Quality Criteria
- Types are as narrow as the domain allows
- Every enum domain closed and spelled consistently
- Mode choice matches whether an action is mandatory
- Descriptions disambiguate similar functions