fix: skip disabled skill snapshot env overrides (#79173)

Co-authored-by: hera8939 <279459669+hera8939@users.noreply.github.com>
This commit is contained in:
Carmen Fernández Ruiz
2026-05-31 09:20:13 -10:00
committed by GitHub
parent 9c6f7553be
commit 2e1ae531bd
2 changed files with 48 additions and 0 deletions
+38
View File
@@ -573,6 +573,44 @@ describe("applySkillEnvOverrides", () => {
});
});
it("skips disabled snapshot skills before resolving raw apiKey SecretRefs", () => {
const skillName = "env-skill";
const snapshot = envSkillSnapshot(skillName, {
primaryEnv: "ENV_KEY",
requires: { env: ["ENV_KEY"] },
});
const config: OpenClawConfig = {
skills: {
entries: {
[skillName]: {
enabled: false,
apiKey: {
source: "env",
provider: "default",
id: "GITHUB_PAT",
},
},
},
},
};
withClearedEnv(["ENV_KEY", "GITHUB_PAT"], () => {
const restore = applySkillEnvOverridesFromSnapshot({
snapshot,
config,
});
try {
expect(process.env.ENV_KEY).toBeUndefined();
expect(process.env.GITHUB_PAT).toBeUndefined();
} finally {
restore();
expect(process.env.ENV_KEY).toBeUndefined();
expect(process.env.GITHUB_PAT).toBeUndefined();
}
});
});
it("prefers the active runtime snapshot over raw SecretRef skill config", () => {
const skillName = "env-skill";
const entries = envSkillEntries(skillName, {
+10
View File
@@ -208,6 +208,10 @@ function applySkillConfigEnvOverrides(params: {
}
}
function shouldApplySkillConfigEnvOverrides(skillConfig: SkillConfig): boolean {
return skillConfig.enabled !== false;
}
function createEnvReverter(updates: EnvUpdate[]) {
return () => {
for (const update of updates) {
@@ -227,6 +231,9 @@ export function applySkillEnvOverrides(params: { skills: SkillEntry[]; config?:
if (!skillConfig) {
continue;
}
if (!shouldApplySkillConfigEnvOverrides(skillConfig)) {
continue;
}
applySkillConfigEnvOverrides({
updates,
@@ -256,6 +263,9 @@ export function applySkillEnvOverridesFromSnapshot(params: {
if (!skillConfig) {
continue;
}
if (!shouldApplySkillConfigEnvOverrides(skillConfig)) {
continue;
}
applySkillConfigEnvOverrides({
updates,