@lousy-agents/cli 5.4.3 → 5.5.0
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.
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@biomejs/biome": "2.4.8",
|
|
21
|
-
"@lousy-agents/mcp": "5.4.
|
|
21
|
+
"@lousy-agents/mcp": "5.4.3",
|
|
22
22
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
23
23
|
"@testcontainers/postgresql": "11.13.0",
|
|
24
24
|
"@types/node": "24.12.0",
|
|
@@ -944,9 +944,9 @@
|
|
|
944
944
|
}
|
|
945
945
|
},
|
|
946
946
|
"node_modules/@lousy-agents/mcp": {
|
|
947
|
-
"version": "5.4.
|
|
948
|
-
"resolved": "https://registry.npmjs.org/@lousy-agents/mcp/-/mcp-5.4.
|
|
949
|
-
"integrity": "sha512-
|
|
947
|
+
"version": "5.4.3",
|
|
948
|
+
"resolved": "https://registry.npmjs.org/@lousy-agents/mcp/-/mcp-5.4.3.tgz",
|
|
949
|
+
"integrity": "sha512-T696zVHxldPHhiym/qgjcwRFOav6qDJw6aZy28Xl5bb0QsZhQMjhGNtdZ6hFR2PMIt7S/TGEHtiIs1xfhpWJNw==",
|
|
950
950
|
"dev": true,
|
|
951
951
|
"license": "MIT",
|
|
952
952
|
"dependencies": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@biomejs/biome": "2.4.8",
|
|
29
|
-
"@lousy-agents/mcp": "5.4.
|
|
29
|
+
"@lousy-agents/mcp": "5.4.3",
|
|
30
30
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
31
31
|
"@testcontainers/postgresql": "11.13.0",
|
|
32
32
|
"@types/node": "24.12.0",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@biomejs/biome": "2.4.8",
|
|
23
|
-
"@lousy-agents/mcp": "5.4.
|
|
23
|
+
"@lousy-agents/mcp": "5.4.3",
|
|
24
24
|
"@modelcontextprotocol/server-sequential-thinking": "2025.12.18",
|
|
25
25
|
"@types/node": "24.12.0",
|
|
26
26
|
"@upstash/context7-mcp": "2.1.4",
|
package/dist/index.js
CHANGED
|
@@ -1137,19 +1137,26 @@ function composeNode(ctx, token, props, onError) {
|
|
|
1137
1137
|
case 'block-map':
|
|
1138
1138
|
case 'block-seq':
|
|
1139
1139
|
case 'flow-collection':
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1140
|
+
try {
|
|
1141
|
+
node = composeCollection.composeCollection(CN, ctx, token, props, onError);
|
|
1142
|
+
if (anchor)
|
|
1143
|
+
node.anchor = anchor.source.substring(1);
|
|
1144
|
+
}
|
|
1145
|
+
catch (error) {
|
|
1146
|
+
// Almost certainly here due to a stack overflow
|
|
1147
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
1148
|
+
onError(token, 'RESOURCE_EXHAUSTION', message);
|
|
1149
|
+
}
|
|
1143
1150
|
break;
|
|
1144
1151
|
default: {
|
|
1145
1152
|
const message = token.type === 'error'
|
|
1146
1153
|
? token.message
|
|
1147
1154
|
: `Unsupported token (type: ${token.type})`;
|
|
1148
1155
|
onError(token, 'UNEXPECTED_TOKEN', message);
|
|
1149
|
-
node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError);
|
|
1150
1156
|
isSrcToken = false;
|
|
1151
1157
|
}
|
|
1152
1158
|
}
|
|
1159
|
+
node ?? (node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError));
|
|
1153
1160
|
if (anchor && node.anchor === '')
|
|
1154
1161
|
onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
|
|
1155
1162
|
if (atKey &&
|
|
@@ -8123,6 +8130,7 @@ function createStringifyContext(doc, options) {
|
|
|
8123
8130
|
nullStr: 'null',
|
|
8124
8131
|
simpleKeys: false,
|
|
8125
8132
|
singleQuote: null,
|
|
8133
|
+
trailingComma: false,
|
|
8126
8134
|
trueStr: 'true',
|
|
8127
8135
|
verifyAliasOrder: true
|
|
8128
8136
|
}, doc.schema.toStringOptions, options);
|
|
@@ -8340,12 +8348,22 @@ function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
|
|
|
8340
8348
|
if (comment)
|
|
8341
8349
|
reqNewline = true;
|
|
8342
8350
|
let str = stringify.stringify(item, itemCtx, () => (comment = null));
|
|
8343
|
-
|
|
8351
|
+
reqNewline || (reqNewline = lines.length > linesAtValue || str.includes('\n'));
|
|
8352
|
+
if (i < items.length - 1) {
|
|
8344
8353
|
str += ',';
|
|
8354
|
+
}
|
|
8355
|
+
else if (ctx.options.trailingComma) {
|
|
8356
|
+
if (ctx.options.lineWidth > 0) {
|
|
8357
|
+
reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) +
|
|
8358
|
+
(str.length + 2) >
|
|
8359
|
+
ctx.options.lineWidth);
|
|
8360
|
+
}
|
|
8361
|
+
if (reqNewline) {
|
|
8362
|
+
str += ',';
|
|
8363
|
+
}
|
|
8364
|
+
}
|
|
8345
8365
|
if (comment)
|
|
8346
8366
|
str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
|
|
8347
|
-
if (!reqNewline && (lines.length > linesAtValue || str.includes('\n')))
|
|
8348
|
-
reqNewline = true;
|
|
8349
8367
|
lines.push(str);
|
|
8350
8368
|
linesAtValue = lines.length;
|
|
8351
8369
|
}
|
|
@@ -33416,11 +33434,25 @@ var dist = __webpack_require__(3519);
|
|
|
33416
33434
|
|
|
33417
33435
|
|
|
33418
33436
|
|
|
33437
|
+
/**
|
|
33438
|
+
* Skill directory locations to search for SKILL.md files.
|
|
33439
|
+
*/ const SKILL_DIRECTORIES = [
|
|
33440
|
+
(0,external_node_path_.join)(".github", "skills"),
|
|
33441
|
+
(0,external_node_path_.join)(".claude", "skills")
|
|
33442
|
+
];
|
|
33419
33443
|
/**
|
|
33420
33444
|
* File system implementation of the skill lint gateway.
|
|
33421
33445
|
*/ class FileSystemSkillLintGateway {
|
|
33422
33446
|
async discoverSkills(targetDir) {
|
|
33423
|
-
const
|
|
33447
|
+
const skills = [];
|
|
33448
|
+
for (const relativeDir of SKILL_DIRECTORIES){
|
|
33449
|
+
const skillsDir = (0,external_node_path_.join)(targetDir, relativeDir);
|
|
33450
|
+
const discovered = await this.discoverSkillsInDir(skillsDir);
|
|
33451
|
+
skills.push(...discovered);
|
|
33452
|
+
}
|
|
33453
|
+
return skills;
|
|
33454
|
+
}
|
|
33455
|
+
async discoverSkillsInDir(skillsDir) {
|
|
33424
33456
|
if (!await file_system_utils_fileExists(skillsDir)) {
|
|
33425
33457
|
return [];
|
|
33426
33458
|
}
|
|
@@ -56704,7 +56736,7 @@ function hasFrontmatterDelimiters(content) {
|
|
|
56704
56736
|
args: {
|
|
56705
56737
|
skills: {
|
|
56706
56738
|
type: "boolean",
|
|
56707
|
-
description: "Lint skill frontmatter in .github/skills/",
|
|
56739
|
+
description: "Lint skill frontmatter in .github/skills/ and .claude/skills/",
|
|
56708
56740
|
default: false
|
|
56709
56741
|
},
|
|
56710
56742
|
agents: {
|
|
@@ -56926,7 +56958,7 @@ You are a ${normalizedName} agent specialized in {domain/responsibility}.
|
|
|
56926
56958
|
|
|
56927
56959
|
;// CONCATENATED MODULE: ../core/src/entities/skill.ts
|
|
56928
56960
|
/**
|
|
56929
|
-
* Core domain entity for GitHub Copilot
|
|
56961
|
+
* Core domain entity for agent skills (GitHub Copilot and Claude Code).
|
|
56930
56962
|
* Handles name normalization, SKILL.md content generation, and lint types.
|
|
56931
56963
|
*/ /**
|
|
56932
56964
|
* Severity levels for skill lint diagnostics.
|