@fro.bot/systematic 3.0.2 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
@@ -16074,6 +16074,9 @@ var REMOVED_BUNDLED_AGENT_NAMES = [
|
|
|
16074
16074
|
"security-sentinel",
|
|
16075
16075
|
"workflow/lint"
|
|
16076
16076
|
];
|
|
16077
|
+
var REMOVED_BUNDLED_AGENT_CATEGORIES = [
|
|
16078
|
+
"docs"
|
|
16079
|
+
];
|
|
16077
16080
|
|
|
16078
16081
|
// src/lib/config-schema.ts
|
|
16079
16082
|
var permissionSettingSchema = exports_external.enum(["ask", "allow", "deny"]);
|
|
@@ -16296,16 +16299,19 @@ var CURRENT_AGENT_NAMES_SET = new Set([
|
|
|
16296
16299
|
...BUNDLED_AGENT_NAMES,
|
|
16297
16300
|
...BUNDLED_AGENT_QUALIFIED_IDS
|
|
16298
16301
|
]);
|
|
16302
|
+
var REMOVED_AGENT_CATEGORIES_SET = new Set(REMOVED_BUNDLED_AGENT_CATEGORIES);
|
|
16299
16303
|
function computeDroppedNames(names, allowedSet) {
|
|
16300
16304
|
return names.filter((n) => !allowedSet.has(n));
|
|
16301
16305
|
}
|
|
16302
16306
|
var MIGRATION_DOCS_URL = "https://fro.bot/systematic/guides/v3-migration/";
|
|
16303
|
-
function warnDroppedNames(dropped, field, warned) {
|
|
16307
|
+
function warnDroppedNames(dropped, field, warned, removalVersion) {
|
|
16304
16308
|
for (const name of dropped) {
|
|
16305
16309
|
if (warned.has(name))
|
|
16306
16310
|
continue;
|
|
16307
16311
|
warned.add(name);
|
|
16308
|
-
|
|
16312
|
+
const displayName = field === "categories" ? `${field}.${name}` : name;
|
|
16313
|
+
const removalNote = removalVersion ? ` It was removed in ${removalVersion}.` : "";
|
|
16314
|
+
console.warn(`[systematic] "${displayName}" in \`${field}\` is no longer a bundled name and will be ignored.${removalNote} Remove it from your config to silence this warning. See ${MIGRATION_DOCS_URL} for migration guidance.`);
|
|
16309
16315
|
}
|
|
16310
16316
|
}
|
|
16311
16317
|
function resolveConfigPath(dir, basename) {
|
|
@@ -16443,7 +16449,15 @@ function loadConfigWithSources(projectDir) {
|
|
|
16443
16449
|
const projectSource = loadConfigSource(paths.projectConfig, "project");
|
|
16444
16450
|
const customSource = paths.customConfig ? loadConfigSource(paths.customConfig, "custom") : null;
|
|
16445
16451
|
const sources = [userSource, projectSource, customSource].filter((source) => source !== null);
|
|
16446
|
-
const
|
|
16452
|
+
const mergedOverlays = mergeOverlaySources(sources);
|
|
16453
|
+
const droppedCategories = Object.keys(mergedOverlays.categories).filter((name) => REMOVED_AGENT_CATEGORIES_SET.has(name));
|
|
16454
|
+
const warned = new Set;
|
|
16455
|
+
warnDroppedNames(droppedCategories, "categories", warned, "v3.0.0");
|
|
16456
|
+
const droppedCategorySet = new Set(droppedCategories);
|
|
16457
|
+
const overlays = droppedCategorySet.size === 0 ? mergedOverlays : {
|
|
16458
|
+
...mergedOverlays,
|
|
16459
|
+
categories: Object.fromEntries(Object.entries(mergedOverlays.categories).filter(([key]) => !droppedCategorySet.has(key)))
|
|
16460
|
+
};
|
|
16447
16461
|
const userConfig = userSource?.config;
|
|
16448
16462
|
const projectConfig = projectSource?.config;
|
|
16449
16463
|
const customConfig = customSource?.config;
|
|
@@ -16461,7 +16475,6 @@ function loadConfigWithSources(projectDir) {
|
|
|
16461
16475
|
categories: overlayValues(overlays.categories),
|
|
16462
16476
|
skills_as_commands: customConfig?.skills_as_commands ?? projectConfig?.skills_as_commands ?? userConfig?.skills_as_commands ?? DEFAULT_CONFIG.skills_as_commands
|
|
16463
16477
|
};
|
|
16464
|
-
const warned = new Set;
|
|
16465
16478
|
const droppedSkills = computeDroppedNames(result.disabled_skills, CURRENT_SKILL_NAMES_SET);
|
|
16466
16479
|
warnDroppedNames(droppedSkills, "disabled_skills", warned);
|
|
16467
16480
|
const droppedAgents = computeDroppedNames(result.disabled_agents, CURRENT_AGENT_NAMES_SET);
|
package/dist/index.js
CHANGED
package/dist/lib/config.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare function computeDroppedNames(names: readonly string[], allowedSet
|
|
|
40
40
|
* single load call -- callers must NOT share it across independent loads.
|
|
41
41
|
* Passing a fresh set per load ensures no cross-load suppression.
|
|
42
42
|
*/
|
|
43
|
-
export declare function warnDroppedNames(dropped: string[], field: string, warned: Set<string
|
|
43
|
+
export declare function warnDroppedNames(dropped: string[], field: string, warned: Set<string>, removalVersion?: string): void;
|
|
44
44
|
export declare function loadConfig(projectDir: string): SystematicConfig;
|
|
45
45
|
export declare function loadConfigWithSources(projectDir: string): SourceAwareConfigResult;
|
|
46
46
|
export declare function getConfigPaths(projectDir: string): {
|