- Never use public model ID in opencode fallback chain
The opencode model selection is now independent of public models,
always using the opencodeModels array in order for fallback chain.
- Add zero output detection to trigger fallback
When a model returns empty output, it now triggers fallback to the
next model in the chain instead of returning empty results.
Fixes issues where:
1. Generic 'opencode' model ID from public models caused failures
2. Empty responses didn't trigger fallback to backup models