fix(model): split provider/model at first separator (slash or colon)#980
Conversation
Introduces model.SplitProviderModel helper that splits at the FIRST occurrence of '/' or ':', fixing OpenRouter free model specs like 'openrouter/qwen/qwen3.6-plus:free' which contain both separators. Applied to the 3 parse sites: - internal/cli/sync.go: parseModelSpec - internal/components/sdd/profiles.go: extractModelFromAgent - internal/components/sdd/read_assignments.go: ReadCurrentModelAssignments Added regression tests for OpenRouter free models (Gentleman-Programming#260/Gentleman-Programming#802). Closes Gentleman-Programming#802
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughIntroduces SplitProviderModel helper and call-site consolidation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Closes #802
Summary
Introduces
model.SplitProviderModelhelper that splits at the FIRST occurrence of '/' or ':', fixing OpenRouter free model specs likeopenrouter/qwen/qwen3.6-plus:freewhich contain both separators.Applied to the 3 parse sites:
internal/cli/sync.go:parseModelSpecinternal/components/sdd/profiles.go:extractModelFromAgentinternal/components/sdd/read_assignments.go:ReadCurrentModelAssignmentsChanges
internal/model/split.goSplitProviderModelhelper (first-separator split)internal/model/split_test.gointernal/cli/sync.goparseModelSpecinternal/components/sdd/profiles.goextractModelFromAgentinternal/components/sdd/read_assignments.goReadCurrentModelAssignmentsinternal/components/sdd/profiles_test.goTestExtractModelFromAgentregression testsinternal/components/sdd/read_assignments_test.goTestReadCurrentModelAssignmentsOpenRouterFreeSuffixregression testTest Plan
go test ./internal/model/...— 11 SplitProviderModel tests passgo test ./internal/cli/...— all sync tests passgo test ./internal/components/sdd/...— all profiles/read_assignments tests passopenrouter/qwen/qwen3.6-plus:freecorrectly splits to provider=openrouter, model=qwen/qwen3.6-plus:freeSummary by CodeRabbit
provider/modelandprovider:modelformats.