@jaggerxtrm/specialists 2.1.18 → 2.1.20
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/index.js +11 -5
- package/hooks/specialists-main-guard.mjs +17 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -18218,17 +18218,18 @@ async function run3() {
|
|
|
18218
18218
|
return;
|
|
18219
18219
|
}
|
|
18220
18220
|
const nameWidth = Math.max(...specialists.map((s) => s.name.length), 4);
|
|
18221
|
-
const modelWidth = Math.max(...specialists.map((s) => s.model.length), 5);
|
|
18222
18221
|
console.log(`
|
|
18223
18222
|
${bold(`Specialists (${specialists.length})`)}
|
|
18224
18223
|
`);
|
|
18225
18224
|
for (const s of specialists) {
|
|
18226
18225
|
const name = cyan(s.name.padEnd(nameWidth));
|
|
18227
|
-
const model = dim(s.model.padEnd(modelWidth));
|
|
18228
18226
|
const scopeTag = yellow(`[${s.scope}]`);
|
|
18229
|
-
|
|
18227
|
+
const model = dim(s.model);
|
|
18228
|
+
const desc = s.description.length > 80 ? s.description.slice(0, 79) + "…" : s.description;
|
|
18229
|
+
console.log(` ${name} ${scopeTag} ${model}`);
|
|
18230
|
+
console.log(` ${" ".repeat(nameWidth)} ${dim(desc)}`);
|
|
18231
|
+
console.log();
|
|
18230
18232
|
}
|
|
18231
|
-
console.log();
|
|
18232
18233
|
}
|
|
18233
18234
|
var dim = (s) => `\x1B[2m${s}\x1B[0m`, bold = (s) => `\x1B[1m${s}\x1B[0m`, cyan = (s) => `\x1B[36m${s}\x1B[0m`, yellow = (s) => `\x1B[33m${s}\x1B[0m`, ArgParseError;
|
|
18234
18235
|
var init_list = __esm(() => {
|
|
@@ -26421,7 +26422,7 @@ async function run9() {
|
|
|
26421
26422
|
const { run: handler } = await Promise.resolve().then(() => (init_install(), exports_install));
|
|
26422
26423
|
return handler();
|
|
26423
26424
|
}
|
|
26424
|
-
if (sub === "version") {
|
|
26425
|
+
if (sub === "version" || sub === "--version" || sub === "-v") {
|
|
26425
26426
|
const { run: handler } = await Promise.resolve().then(() => (init_version(), exports_version));
|
|
26426
26427
|
return handler();
|
|
26427
26428
|
}
|
|
@@ -26449,6 +26450,11 @@ async function run9() {
|
|
|
26449
26450
|
const { run: handler } = await Promise.resolve().then(() => (init_help(), exports_help));
|
|
26450
26451
|
return handler();
|
|
26451
26452
|
}
|
|
26453
|
+
if (sub) {
|
|
26454
|
+
console.error(`Unknown command: '${sub}'
|
|
26455
|
+
Run 'specialists help' to see available commands.`);
|
|
26456
|
+
process.exit(1);
|
|
26457
|
+
}
|
|
26452
26458
|
logger.info("Starting Specialists MCP Server...");
|
|
26453
26459
|
const server = new SpecialistsServer;
|
|
26454
26460
|
await server.start();
|
|
@@ -46,9 +46,25 @@ if (WRITE_TOOLS.has(tool)) {
|
|
|
46
46
|
process.exit(2);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
// Block direct pushes to master —
|
|
49
|
+
// Block direct commits and pushes to master — use feature branches + gh pr create/merge
|
|
50
50
|
if (tool === 'Bash') {
|
|
51
51
|
const cmd = (input.tool_input?.command ?? '').trim().replace(/\s+/g, ' ');
|
|
52
|
+
|
|
53
|
+
if (/^git commit/.test(cmd)) {
|
|
54
|
+
process.stderr.write(
|
|
55
|
+
`⛔ Don't commit directly to '${branch}' — use a feature branch.\n\n` +
|
|
56
|
+
'Full workflow:\n' +
|
|
57
|
+
' 1. git checkout -b feature/<name> ← start here\n' +
|
|
58
|
+
' 2. bd create + bd update in_progress track your work\n' +
|
|
59
|
+
' 3. Edit files / write code\n' +
|
|
60
|
+
' 4. bd close <id> && git add && git commit\n' +
|
|
61
|
+
' 5. git push -u origin feature/<name>\n' +
|
|
62
|
+
' 6. gh pr create --fill && gh pr merge --squash\n' +
|
|
63
|
+
' 7. git checkout master && git reset --hard origin/master\n'
|
|
64
|
+
);
|
|
65
|
+
process.exit(2);
|
|
66
|
+
}
|
|
67
|
+
|
|
52
68
|
if (/^git push/.test(cmd)) {
|
|
53
69
|
const tokens = cmd.split(' ');
|
|
54
70
|
const lastToken = tokens[tokens.length - 1];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaggerxtrm/specialists",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.20",
|
|
4
4
|
"description": "OmniSpecialist — 7-tool MCP orchestration layer powered by the Specialist System. Discover and execute .specialist.yaml files across project/user/system scopes via pi.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|