fix: write complete release provider config

This commit is contained in:
Peter Steinberger
2026-05-02 07:44:04 +01:00
parent f9e6fb8692
commit 798515809c
2 changed files with 26 additions and 103 deletions

View File

@@ -86,6 +86,19 @@ function shouldSeedProviderConfigModels(providerMeta) {
);
}
function buildReleaseProviderConfigOverride(providerMeta) {
if (!shouldSeedProviderConfigModels(providerMeta)) {
return null;
}
return {
...(typeof providerMeta.baseUrl === "string" ? { baseUrl: providerMeta.baseUrl } : {}),
models: [],
...(typeof providerMeta.timeoutSeconds === "number"
? { timeoutSeconds: providerMeta.timeoutSeconds }
: {}),
};
}
const PACKAGE_DIST_INVENTORY_RELATIVE_PATH = "dist/postinstall-inventory.json";
const OMITTED_QA_EXTENSION_PREFIXES = [
"dist/extensions/qa-channel/",
@@ -1848,14 +1861,15 @@ async function runInstalledModelsSet(params) {
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
if (shouldSeedProviderConfigModels(params.providerConfig)) {
const providerConfigOverride = buildReleaseProviderConfigOverride(params.providerConfig);
if (providerConfigOverride) {
await runInstalledCli({
cliPath: params.cliPath,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.models`,
"[]",
`models.providers.${params.providerConfig.extensionId}`,
JSON.stringify(providerConfigOverride),
"--strict-json",
"--merge",
],
@@ -1865,52 +1879,6 @@ async function runInstalledModelsSet(params) {
timeoutMs: 2 * 60 * 1000,
});
}
if (typeof params.providerConfig.timeoutSeconds === "number") {
await runInstalledCli({
cliPath: params.cliPath,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.models`,
"[]",
"--strict-json",
],
cwd: params.cwd,
env: params.env,
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
if (typeof params.providerConfig.baseUrl === "string") {
await runInstalledCli({
cliPath: params.cliPath,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.baseUrl`,
JSON.stringify(params.providerConfig.baseUrl),
"--strict-json",
],
cwd: params.cwd,
env: params.env,
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
}
await runInstalledCli({
cliPath: params.cliPath,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.timeoutSeconds`,
String(params.providerConfig.timeoutSeconds),
"--strict-json",
],
cwd: params.cwd,
env: params.env,
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
}
await runInstalledCli({
cliPath: params.cliPath,
args: [
@@ -2687,15 +2655,16 @@ async function runModelsSet(params) {
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
if (shouldSeedProviderConfigModels(params.providerConfig)) {
const providerConfigOverride = buildReleaseProviderConfigOverride(params.providerConfig);
if (providerConfigOverride) {
await runOpenClaw({
lane: params.lane,
env: params.env,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.models`,
"[]",
`models.providers.${params.providerConfig.extensionId}`,
JSON.stringify(providerConfigOverride),
"--strict-json",
"--merge",
],
@@ -2703,49 +2672,6 @@ async function runModelsSet(params) {
timeoutMs: 2 * 60 * 1000,
});
}
if (typeof params.providerConfig.timeoutSeconds === "number") {
await runOpenClaw({
lane: params.lane,
env: params.env,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.models`,
"[]",
"--strict-json",
],
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
if (typeof params.providerConfig.baseUrl === "string") {
await runOpenClaw({
lane: params.lane,
env: params.env,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.baseUrl`,
JSON.stringify(params.providerConfig.baseUrl),
"--strict-json",
],
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
}
await runOpenClaw({
lane: params.lane,
env: params.env,
args: [
"config",
"set",
`models.providers.${params.providerConfig.extensionId}.timeoutSeconds`,
String(params.providerConfig.timeoutSeconds),
"--strict-json",
],
logPath: params.logPath,
timeoutMs: 2 * 60 * 1000,
});
}
await runOpenClaw({
lane: params.lane,
env: params.env,