Adopt naming rules that accurately reflect meaning, routing behavior, and established codebase conventions.
Apply these checks when adding/changing code:
BifrostResponsesResponse) and isn’t actually OpenAI-specific, avoid placing it in openai/* and avoid OpenAI-specific naming; move it to provider-agnostic utils and name it for the shared concept.<name>.go file, and reserve types.go for provider-specific request/response DTO structs.LiveModelsSyncDisabled) and ensure docs and schema/config describe the same disable value semantics.ChatAssistantMessageImage for assistant-message image entries).Example (compound ID duplication guard):
first, modelOrName, found := strings.Cut(rawID, "/")
if found && isKnownInferenceProviderOrPolicy(first) {
// rawID already includes an inference-provider/policy segment; do not prepend again
} else {
// safe to prepend providerKey/inferenceProvider
m.ID = fmt.Sprintf("%s/%s/%s", providerKey, inferenceProvider, rawID)
}
_ = modelOrName
Enter the URL of a public GitHub repository