diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index d0d8f172b..90a5e2e00 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -136,6 +136,11 @@ export async function handler( ...createBodyConverter(opts.format, providerInfo.format)(body), model: providerInfo.model, ...(providerInfo.payloadModifier ?? {}), + ...Object.fromEntries( + Object.entries(providerInfo.payloadMappings ?? {}) + .map(([k, v]) => [k, input.request.headers.get(v)]) + .filter(([_k, v]) => !!v), + ), }, authInfo?.workspaceID, ), diff --git a/packages/console/core/src/model.ts b/packages/console/core/src/model.ts index 804987ebc..f859f0d3c 100644 --- a/packages/console/core/src/model.ts +++ b/packages/console/core/src/model.ts @@ -47,6 +47,7 @@ export namespace ZenData { format: FormatSchema.optional(), headerMappings: z.record(z.string(), z.string()).optional(), payloadModifier: z.record(z.string(), z.any()).optional(), + payloadMappings: z.record(z.string(), z.string()).optional(), }) const ModelsSchema = z.object({