skiller 0.4.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/LICENSE +21 -0
- package/README.md +989 -0
- package/dist/agents/AbstractAgent.js +92 -0
- package/dist/agents/AgentsMdAgent.js +85 -0
- package/dist/agents/AiderAgent.js +108 -0
- package/dist/agents/AmazonQCliAgent.js +103 -0
- package/dist/agents/AmpAgent.js +13 -0
- package/dist/agents/AugmentCodeAgent.js +70 -0
- package/dist/agents/ClaudeAgent.js +95 -0
- package/dist/agents/ClineAgent.js +53 -0
- package/dist/agents/CodexCliAgent.js +143 -0
- package/dist/agents/CopilotAgent.js +43 -0
- package/dist/agents/CrushAgent.js +128 -0
- package/dist/agents/CursorAgent.js +93 -0
- package/dist/agents/FirebaseAgent.js +61 -0
- package/dist/agents/FirebenderAgent.js +205 -0
- package/dist/agents/GeminiCliAgent.js +99 -0
- package/dist/agents/GooseAgent.js +58 -0
- package/dist/agents/IAgent.js +2 -0
- package/dist/agents/JulesAgent.js +14 -0
- package/dist/agents/JunieAgent.js +53 -0
- package/dist/agents/KiloCodeAgent.js +63 -0
- package/dist/agents/KiroAgent.js +50 -0
- package/dist/agents/OpenCodeAgent.js +99 -0
- package/dist/agents/OpenHandsAgent.js +56 -0
- package/dist/agents/QwenCodeAgent.js +82 -0
- package/dist/agents/RooCodeAgent.js +139 -0
- package/dist/agents/TraeAgent.js +54 -0
- package/dist/agents/WarpAgent.js +61 -0
- package/dist/agents/WindsurfAgent.js +27 -0
- package/dist/agents/ZedAgent.js +132 -0
- package/dist/agents/agent-utils.js +37 -0
- package/dist/agents/index.js +77 -0
- package/dist/cli/commands.js +136 -0
- package/dist/cli/handlers.js +221 -0
- package/dist/cli/index.js +5 -0
- package/dist/constants.js +58 -0
- package/dist/core/ConfigLoader.js +274 -0
- package/dist/core/FileSystemUtils.js +421 -0
- package/dist/core/FrontmatterParser.js +142 -0
- package/dist/core/GitignoreUtils.js +171 -0
- package/dist/core/RuleProcessor.js +60 -0
- package/dist/core/SkillsProcessor.js +528 -0
- package/dist/core/SkillsUtils.js +230 -0
- package/dist/core/UnifiedConfigLoader.js +432 -0
- package/dist/core/UnifiedConfigTypes.js +2 -0
- package/dist/core/agent-selection.js +52 -0
- package/dist/core/apply-engine.js +668 -0
- package/dist/core/config-utils.js +30 -0
- package/dist/core/hash.js +24 -0
- package/dist/core/revert-engine.js +413 -0
- package/dist/lib.js +196 -0
- package/dist/mcp/capabilities.js +65 -0
- package/dist/mcp/merge.js +39 -0
- package/dist/mcp/propagateOpenCodeMcp.js +116 -0
- package/dist/mcp/propagateOpenHandsMcp.js +169 -0
- package/dist/mcp/validate.js +17 -0
- package/dist/paths/mcp.js +120 -0
- package/dist/revert.js +186 -0
- package/dist/types.js +2 -0
- package/dist/vscode/settings.js +117 -0
- package/package.json +77 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveSelectedAgents = resolveSelectedAgents;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
/**
|
|
6
|
+
* Resolves which agents should be selected based on configuration.
|
|
7
|
+
* Handles precedence: CLI agents > default_agents > per-agent enabled flags > all agents
|
|
8
|
+
*
|
|
9
|
+
* @param config Loaded configuration containing CLI agents, default agents, and per-agent configs
|
|
10
|
+
* @param allAgents Array of all available agents
|
|
11
|
+
* @returns Array of agents that should be processed
|
|
12
|
+
*/
|
|
13
|
+
function resolveSelectedAgents(config, allAgents) {
|
|
14
|
+
// CLI --agents > config.default_agents > per-agent.enabled flags > default all
|
|
15
|
+
let selected = allAgents;
|
|
16
|
+
if (config.cliAgents && config.cliAgents.length > 0) {
|
|
17
|
+
const filters = config.cliAgents.map((n) => n.toLowerCase());
|
|
18
|
+
// Check if any of the specified agents don't exist
|
|
19
|
+
const validAgentIdentifiers = new Set(allAgents.map((agent) => agent.getIdentifier()));
|
|
20
|
+
const validAgentNames = new Set(allAgents.map((agent) => agent.getName().toLowerCase()));
|
|
21
|
+
const invalidAgents = filters.filter((filter) => !validAgentIdentifiers.has(filter) &&
|
|
22
|
+
![...validAgentNames].some((name) => name.includes(filter)));
|
|
23
|
+
if (invalidAgents.length > 0) {
|
|
24
|
+
throw (0, constants_1.createRulerError)(`Invalid agent specified: ${invalidAgents.join(', ')}`, `Valid agents are: ${[...validAgentIdentifiers].join(', ')}`);
|
|
25
|
+
}
|
|
26
|
+
selected = allAgents.filter((agent) => filters.some((f) => agent.getIdentifier() === f ||
|
|
27
|
+
agent.getName().toLowerCase().includes(f)));
|
|
28
|
+
}
|
|
29
|
+
else if (config.defaultAgents && config.defaultAgents.length > 0) {
|
|
30
|
+
const defaults = config.defaultAgents.map((n) => n.toLowerCase());
|
|
31
|
+
// Check if any of the default agents don't exist
|
|
32
|
+
const validAgentIdentifiers = new Set(allAgents.map((agent) => agent.getIdentifier()));
|
|
33
|
+
const validAgentNames = new Set(allAgents.map((agent) => agent.getName().toLowerCase()));
|
|
34
|
+
const invalidAgents = defaults.filter((filter) => !validAgentIdentifiers.has(filter) &&
|
|
35
|
+
![...validAgentNames].some((name) => name.includes(filter)));
|
|
36
|
+
if (invalidAgents.length > 0) {
|
|
37
|
+
throw (0, constants_1.createRulerError)(`Invalid agent specified in default_agents: ${invalidAgents.join(', ')}`, `Valid agents are: ${[...validAgentIdentifiers].join(', ')}`);
|
|
38
|
+
}
|
|
39
|
+
selected = allAgents.filter((agent) => {
|
|
40
|
+
const identifier = agent.getIdentifier();
|
|
41
|
+
const override = config.agentConfigs[identifier]?.enabled;
|
|
42
|
+
if (override !== undefined) {
|
|
43
|
+
return override;
|
|
44
|
+
}
|
|
45
|
+
return defaults.some((d) => identifier === d || agent.getName().toLowerCase().includes(d));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
selected = allAgents.filter((agent) => config.agentConfigs[agent.getIdentifier()]?.enabled !== false);
|
|
50
|
+
}
|
|
51
|
+
return selected;
|
|
52
|
+
}
|