fix(wp7-02): restore native Gemini image routing
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m45s
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m45s
This commit is contained in:
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"config_set_version": 3,
|
||||
"config_set_version": 4,
|
||||
"gateway_account_ref": "oneapi-intelligrow-test",
|
||||
"models": [
|
||||
{
|
||||
"config_version": 2,
|
||||
"config_version": 3,
|
||||
"gateway_account_ref": "oneapi-intelligrow-test",
|
||||
"model_id": "gemini-3.1-flash-image-preview",
|
||||
"route_profile": {
|
||||
"endpoint": "https://oneapi.intelligrow.cn/v1/models/gemini-3.1-flash-image-preview:generateContent",
|
||||
"endpoint": "https://oneapi.intelligrow.cn/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
|
||||
"mode": "sync",
|
||||
"protocol_version": "gemini-native-v1"
|
||||
"protocol_version": "gemini-native-v1beta"
|
||||
}
|
||||
},
|
||||
{
|
||||
"config_version": 2,
|
||||
"config_version": 3,
|
||||
"gateway_account_ref": "oneapi-intelligrow-test",
|
||||
"model_id": "gemini-3-pro-image-preview",
|
||||
"route_profile": {
|
||||
"endpoint": "https://oneapi.intelligrow.cn/v1/models/gemini-3-pro-image-preview:generateContent",
|
||||
"endpoint": "https://oneapi.intelligrow.cn/v1beta/models/gemini-3-pro-image-preview:generateContent",
|
||||
"mode": "sync",
|
||||
"protocol_version": "gemini-native-v1"
|
||||
"protocol_version": "gemini-native-v1beta"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@ function assertModelConfig(modelConfig) {
|
||||
const profile = modelConfig.route_profile;
|
||||
if (!profile || typeof profile !== "object" || typeof profile.endpoint !== "string"
|
||||
|| !profile.endpoint.startsWith("https://oneapi.intelligrow.cn/")
|
||||
|| !["gemini-native-v1", "openai-images-v1"].includes(profile.protocol_version)) {
|
||||
|| !["gemini-native-v1beta", "openai-images-v1"].includes(profile.protocol_version)) {
|
||||
throw new Error("WP7_02_ROUTE_PROFILE_INVALID");
|
||||
}
|
||||
if (profile.protocol_version === "openai-images-v1"
|
||||
@@ -69,14 +69,14 @@ export function buildProviderRequest({ modelConfig, prompt, ratio, reference })
|
||||
throw new Error("WP7_02_REFERENCE_FIXTURE_INVALID");
|
||||
}
|
||||
const headers = { "content-type": "application/json" };
|
||||
if (config.route_profile.protocol_version === "gemini-native-v1") {
|
||||
if (config.route_profile.protocol_version === "gemini-native-v1beta") {
|
||||
const parts = [{ text: prompt }];
|
||||
if (reference) parts.push({ inlineData: { data: reference.bytes.toString("base64"), mimeType: reference.mime_type } });
|
||||
return {
|
||||
body: {
|
||||
contents: [{ parts, role: "user" }],
|
||||
generationConfig: {
|
||||
responseFormat: { image: { aspectRatio: ratio, imageSize: "1K" } },
|
||||
imageConfig: { aspectRatio: ratio, imageSize: "1K" },
|
||||
responseModalities: ["IMAGE"],
|
||||
},
|
||||
},
|
||||
@@ -180,7 +180,7 @@ export function normalizeProviderResponse(modelConfig, response) {
|
||||
let bytes;
|
||||
let mime;
|
||||
let usageSummary;
|
||||
if (config.route_profile.protocol_version === "gemini-native-v1") {
|
||||
if (config.route_profile.protocol_version === "gemini-native-v1beta") {
|
||||
const parts = response?.candidates?.flatMap((candidate) => candidate?.content?.parts ?? []) ?? [];
|
||||
const images = parts.map((part) => part?.inlineData ?? part?.inline_data).filter((entry) => entry?.data);
|
||||
if (images.length !== 1) throw new Error("WP7_02_RESPONSE_SINGLE_IMAGE_REQUIRED");
|
||||
|
||||
Reference in New Issue
Block a user