fix(executors): truncate tools array to 128 items max in GitHub Copilot and OpenCode executors to mitigate 400 Bad Request errors (#1687)

This commit is contained in:
diegosouzapw
2026-04-27 19:39:46 -03:00
parent 905b7555c2
commit 0274af8c9c
2 changed files with 22 additions and 0 deletions

View File

@@ -90,6 +90,10 @@ export class GithubExecutor extends BaseExecutor {
delete modifiedBody.response_format;
}
if (Array.isArray(modifiedBody.tools) && modifiedBody.tools.length > 128) {
modifiedBody.tools = modifiedBody.tools.slice(0, 128);
}
return modifiedBody;
}

View File

@@ -62,4 +62,22 @@ export class OpencodeExecutor extends BaseExecutor {
return headers;
}
transformRequest(
model: string,
body: any,
stream: boolean,
credentials: ProviderCredentials
): any {
const modifiedBody = super.transformRequest(model, body, stream, credentials);
if (
modifiedBody &&
typeof modifiedBody === "object" &&
Array.isArray(modifiedBody.tools) &&
modifiedBody.tools.length > 128
) {
modifiedBody.tools = modifiedBody.tools.slice(0, 128);
}
return modifiedBody;
}
}