fix gateway loopback validation chains
This commit is contained in:
@@ -34,7 +34,8 @@ func (c SimulationClient) Run(ctx context.Context, request Request) (Response, e
|
||||
}
|
||||
}
|
||||
responseFinishedAt := time.Now()
|
||||
if profile == "retryable_failure" {
|
||||
switch profile {
|
||||
case "retryable_failure":
|
||||
return Response{}, &ClientError{
|
||||
Code: "server_error",
|
||||
Message: "simulated retryable failure",
|
||||
@@ -44,8 +45,27 @@ func (c SimulationClient) Run(ctx context.Context, request Request) (Response, e
|
||||
ResponseDurationMS: responseDurationMS(responseStartedAt, responseFinishedAt),
|
||||
Retryable: true,
|
||||
}
|
||||
}
|
||||
if profile == "fatal_failure" || profile == "non_retryable_failure" {
|
||||
case "rate_limit", "overloaded":
|
||||
return Response{}, &ClientError{
|
||||
Code: profile,
|
||||
Message: "simulated " + profile,
|
||||
RequestID: "simulated-request",
|
||||
ResponseStartedAt: responseStartedAt,
|
||||
ResponseFinishedAt: responseFinishedAt,
|
||||
ResponseDurationMS: responseDurationMS(responseStartedAt, responseFinishedAt),
|
||||
Retryable: true,
|
||||
}
|
||||
case "invalid_api_key":
|
||||
return Response{}, &ClientError{
|
||||
Code: "invalid_api_key",
|
||||
Message: "simulated invalid_api_key",
|
||||
RequestID: "simulated-request",
|
||||
ResponseStartedAt: responseStartedAt,
|
||||
ResponseFinishedAt: responseFinishedAt,
|
||||
ResponseDurationMS: responseDurationMS(responseStartedAt, responseFinishedAt),
|
||||
Retryable: false,
|
||||
}
|
||||
case "fatal_failure", "non_retryable_failure":
|
||||
return Response{}, &ClientError{
|
||||
Code: "bad_request",
|
||||
Message: "simulated non-retryable failure",
|
||||
@@ -184,7 +204,7 @@ func simulatedVideoData(request Request) []any {
|
||||
}
|
||||
|
||||
func simulatedUsage(request Request) Usage {
|
||||
if request.ModelType == "chat" || request.Kind == "responses" {
|
||||
if request.ModelType == "chat" || request.ModelType == "text_generate" || request.Kind == "responses" {
|
||||
return Usage{InputTokens: 12, OutputTokens: 8, TotalTokens: 20}
|
||||
}
|
||||
return Usage{}
|
||||
|
||||
@@ -251,9 +251,18 @@ func buildVolcesContentFromBody(body map[string]any) []map[string]any {
|
||||
}
|
||||
}
|
||||
|
||||
appendURLContent("image_url", "first_frame", firstNonEmptyStringValue(body, "first_frame", "firstFrame"))
|
||||
firstFrame := firstNonEmptyStringValue(body, "first_frame", "firstFrame")
|
||||
appendURLContent("image_url", "first_frame", firstFrame)
|
||||
appendURLContent("image_url", "last_frame", firstNonEmptyStringValue(body, "last_frame", "lastFrame"))
|
||||
for _, url := range firstNonEmptyStringListFromAny(body["image"], body["images"], body["image_url"], body["imageUrl"], body["image_urls"], body["imageUrls"], body["reference_image"], body["referenceImage"]) {
|
||||
imageURLs := firstNonEmptyStringListFromAny(body["image"], body["images"], body["image_url"], body["imageUrl"], body["image_urls"], body["imageUrls"])
|
||||
if firstFrame == "" && len(imageURLs) > 0 {
|
||||
appendURLContent("image_url", "first_frame", imageURLs[0])
|
||||
imageURLs = imageURLs[1:]
|
||||
}
|
||||
for _, url := range imageURLs {
|
||||
appendURLContent("image_url", "reference_image", url)
|
||||
}
|
||||
for _, url := range firstNonEmptyStringListFromAny(body["reference_image"], body["referenceImage"]) {
|
||||
appendURLContent("image_url", "reference_image", url)
|
||||
}
|
||||
for _, url := range firstNonEmptyStringListFromAny(body["video"], body["video_url"], body["videoUrl"], body["reference_video"], body["referenceVideo"]) {
|
||||
|
||||
Reference in New Issue
Block a user