Resolves durationSeconds from request/config values and validates provider bounds.
For string inputs, this keeps generation behavior: non-numeric strings are treated as "unset" rather than throwing.
Resolves durationSeconds from request/config values and validates provider bounds.
For string inputs, this keeps generation behavior: non-numeric strings are treated as "unset" rather than throwing.