The new default AgentExecutor (Flow-based) did not expose ask_for_human_input
as a direct attribute — it only stored it in self.state.ask_for_human_input.
This caused AttributeError when human_input=True was set on a Task, because
SyncHumanInputProvider reads/writes context.ask_for_human_input directly.
Changes:
- Add ask_for_human_input property (getter+setter) delegating to state
- Add _invoke_loop() and _ainvoke_loop() for re-running agent after feedback
- Add _format_feedback_message() for formatting human feedback as LLM messages
- Add 12 regression tests covering ExecutorContext protocol compliance
Co-Authored-By: João <joao@crewai.com>