interactiveModelEdit function
Testable core of the TUI model-edit flow. Prompts for field (context
window vs max tokens), then a preset or custom value, and calls onApply
with the result. Reports messages through onResult.
Implementation
Future<void> interactiveModelEdit({
required Model current,
required Future<TuiPromptAnswer?> Function(TuiPromptSpec) prompt,
required void Function(String message) onResult,
required void Function({required bool isContext, required int value}) onApply,
}) async {
final isContext = await pickModelEditField(prompt, current);
if (isContext == null) return;
final value = await pickModelEditValue(prompt, isContext, onResult);
if (value == null) return;
onApply(isContext: isContext, value: value);
onResult('${isContext ? 'context window' : 'max tokens'} set to $value');
}