Skip to content

Commit 563766a

Browse files
committed
fix(executor): pass requestPath through ApplyPayloadConfigWithRoot at all call sites
The helps.ApplyPayloadConfigWithRoot signature gained a requestPath parameter (commit 6ba7c81) used to gate image_generation filtering on /v1/images/* endpoints, but five call sites in compat_helpers, codebuddy, kilo, github_copilot, and iflow executors were not updated, causing the executor package to fail compilation. Forward the inbound request path via helps.PayloadRequestPath(opts) (or the new payloadRequestPath wrapper in compat_helpers) so payload rules can target endpoints precisely as designed.
1 parent b487199 commit 563766a

5 files changed

Lines changed: 14 additions & 10 deletions

File tree

internal/runtime/executor/codebuddy_executor.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func (e *CodeBuddyExecutor) Execute(ctx context.Context, auth *cliproxyauth.Auth
106106
originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayloadSource, true)
107107
translated := sdktranslator.TranslateRequest(from, to, baseModel, req.Payload, true)
108108
requestedModel := payloadRequestedModel(opts, req.Model)
109-
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel)
109+
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel, payloadRequestPath(opts))
110110
translated, _ = sjson.SetBytes(translated, "stream", true)
111111
translated, _ = sjson.SetBytes(translated, "stream_options.include_usage", true)
112112

@@ -205,7 +205,7 @@ func (e *CodeBuddyExecutor) ExecuteStream(ctx context.Context, auth *cliproxyaut
205205
originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayloadSource, true)
206206
translated := sdktranslator.TranslateRequest(from, to, baseModel, req.Payload, true)
207207
requestedModel := payloadRequestedModel(opts, req.Model)
208-
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel)
208+
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel, payloadRequestPath(opts))
209209

210210
translated, err = thinking.ApplyThinking(translated, req.Model, from.String(), to.String(), e.Identifier())
211211
if err != nil {

internal/runtime/executor/compat_helpers.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,12 @@ func payloadRequestedModel(opts cliproxyexecutor.Options, fallback string) strin
7272
return helps.PayloadRequestedModel(opts, fallback)
7373
}
7474

75-
func applyPayloadConfigWithRoot(cfg *config.Config, model, protocol, root string, payload, original []byte, requestedModel string) []byte {
76-
return helps.ApplyPayloadConfigWithRoot(cfg, model, protocol, root, payload, original, requestedModel)
75+
func applyPayloadConfigWithRoot(cfg *config.Config, model, protocol, root string, payload, original []byte, requestedModel, requestPath string) []byte {
76+
return helps.ApplyPayloadConfigWithRoot(cfg, model, protocol, root, payload, original, requestedModel, requestPath)
77+
}
78+
79+
func payloadRequestPath(opts cliproxyexecutor.Options) string {
80+
return helps.PayloadRequestPath(opts)
7781
}
7882

7983
func summarizeErrorBody(contentType string, body []byte) string {

internal/runtime/executor/github_copilot_executor.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ func (e *GitHubCopilotExecutor) Execute(ctx context.Context, auth *cliproxyauth.
156156
body = normalizeGitHubCopilotChatTools(body)
157157
}
158158
requestedModel := payloadRequestedModel(opts, req.Model)
159-
body = applyPayloadConfigWithRoot(e.cfg, req.Model, to.String(), "", body, originalTranslated, requestedModel)
159+
body = applyPayloadConfigWithRoot(e.cfg, req.Model, to.String(), "", body, originalTranslated, requestedModel, payloadRequestPath(opts))
160160
body, _ = sjson.SetBytes(body, "stream", false)
161161

162162
path := githubCopilotChatPath
@@ -298,7 +298,7 @@ func (e *GitHubCopilotExecutor) ExecuteStream(ctx context.Context, auth *cliprox
298298
body = normalizeGitHubCopilotChatTools(body)
299299
}
300300
requestedModel := payloadRequestedModel(opts, req.Model)
301-
body = applyPayloadConfigWithRoot(e.cfg, req.Model, to.String(), "", body, originalTranslated, requestedModel)
301+
body = applyPayloadConfigWithRoot(e.cfg, req.Model, to.String(), "", body, originalTranslated, requestedModel, payloadRequestPath(opts))
302302
body, _ = sjson.SetBytes(body, "stream", true)
303303
// Enable stream options for usage stats in stream
304304
if !useResponses {

internal/runtime/executor/iflow_executor.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func (e *IFlowExecutor) Execute(ctx context.Context, auth *cliproxyauth.Auth, re
108108

109109
body = preserveReasoningContentInMessages(body)
110110
requestedModel := helps.PayloadRequestedModel(opts, req.Model)
111-
body = helps.ApplyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", body, originalTranslated, requestedModel)
111+
body = helps.ApplyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", body, originalTranslated, requestedModel, helps.PayloadRequestPath(opts))
112112

113113
endpoint := strings.TrimSuffix(baseURL, "/") + iflowDefaultEndpoint
114114

@@ -221,7 +221,7 @@ func (e *IFlowExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Au
221221
body = ensureToolsArray(body)
222222
}
223223
requestedModel := helps.PayloadRequestedModel(opts, req.Model)
224-
body = helps.ApplyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", body, originalTranslated, requestedModel)
224+
body = helps.ApplyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", body, originalTranslated, requestedModel, helps.PayloadRequestPath(opts))
225225

226226
endpoint := strings.TrimSuffix(baseURL, "/") + iflowDefaultEndpoint
227227

internal/runtime/executor/kilo_executor.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func (e *KiloExecutor) Execute(ctx context.Context, auth *cliproxyauth.Auth, req
9494
originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, opts.Stream)
9595
translated := sdktranslator.TranslateRequest(from, to, baseModel, req.Payload, opts.Stream)
9696
requestedModel := payloadRequestedModel(opts, req.Model)
97-
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel)
97+
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel, payloadRequestPath(opts))
9898

9999
translated, err = thinking.ApplyThinking(translated, req.Model, from.String(), to.String(), e.Identifier())
100100
if err != nil {
@@ -191,7 +191,7 @@ func (e *KiloExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Aut
191191
originalTranslated := sdktranslator.TranslateRequest(from, to, baseModel, originalPayload, true)
192192
translated := sdktranslator.TranslateRequest(from, to, baseModel, req.Payload, true)
193193
requestedModel := payloadRequestedModel(opts, req.Model)
194-
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel)
194+
translated = applyPayloadConfigWithRoot(e.cfg, baseModel, to.String(), "", translated, originalTranslated, requestedModel, payloadRequestPath(opts))
195195

196196
translated, err = thinking.ApplyThinking(translated, req.Model, from.String(), to.String(), e.Identifier())
197197
if err != nil {

0 commit comments

Comments
 (0)