Phase 14: add requireRegistered setting — opt-out for strict registry filter
Default false so CLI --skill paths can be re-injected from disk in later Phase 14 items; explicit true restores registered-only behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -28,6 +28,8 @@ export interface SkillReinjectSettings {
|
|||||||
maxSkills?: number;
|
maxSkills?: number;
|
||||||
/** Verbose reinject filter logging via ui.notify (Phase 14 / B-002). */
|
/** Verbose reinject filter logging via ui.notify (Phase 14 / B-002). */
|
||||||
debug: boolean;
|
debug: boolean;
|
||||||
|
/** When true, only re-inject skills present in resourceLoader (Phase 14 / B-002). */
|
||||||
|
requireRegistered: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Defaults from SPEC §7.3 — extension off until explicitly enabled. */
|
/** Defaults from SPEC §7.3 — extension off until explicitly enabled. */
|
||||||
@@ -39,6 +41,7 @@ export const DEFAULT_SKILL_REINJECT_SETTINGS: Readonly<SkillReinjectSettings> =
|
|||||||
autoCompactIntegration: "auto",
|
autoCompactIntegration: "auto",
|
||||||
suffix: "[skill-reinject] Re-applied after compaction.",
|
suffix: "[skill-reinject] Re-applied after compaction.",
|
||||||
debug: false,
|
debug: false,
|
||||||
|
requireRegistered: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
export function createDefaultSettings(): SkillReinjectSettings {
|
export function createDefaultSettings(): SkillReinjectSettings {
|
||||||
@@ -83,6 +86,9 @@ export function parseSkillReinjectPartial(raw: unknown): PartialSkillReinjectSet
|
|||||||
if (typeof obj.debug === "boolean") {
|
if (typeof obj.debug === "boolean") {
|
||||||
result.debug = obj.debug;
|
result.debug = obj.debug;
|
||||||
}
|
}
|
||||||
|
if (typeof obj.requireRegistered === "boolean") {
|
||||||
|
result.requireRegistered = obj.requireRegistered;
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,12 @@ describe("parseSkillReinjectPartial", () => {
|
|||||||
it("parses debug flag", () => {
|
it("parses debug flag", () => {
|
||||||
expect(parseSkillReinjectPartial({ debug: true })).toEqual({ debug: true });
|
expect(parseSkillReinjectPartial({ debug: true })).toEqual({ debug: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("parses requireRegistered flag", () => {
|
||||||
|
expect(parseSkillReinjectPartial({ requireRegistered: true })).toEqual({
|
||||||
|
requireRegistered: true,
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("mergeSkillReinjectSettings", () => {
|
describe("mergeSkillReinjectSettings", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user