@squadrules/mcp 5.5.1 → 5.6.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/render-helpers.d.ts +40 -0
- package/dist/cli/render-helpers.d.ts.map +1 -0
- package/dist/cli/render-helpers.js +65 -0
- package/dist/cli/render-helpers.js.map +1 -0
- package/dist/cli/render.d.ts.map +1 -1
- package/dist/cli/render.js +41 -25
- package/dist/cli/render.js.map +1 -1
- package/dist/embed-docs/mem/adapter-migration.md +1 -1
- package/dist/embed-docs/mem/bulk-insert-adapters-via-cli.md +1 -1
- package/dist/embed-docs/mem/challenge-type-guide.md +1 -1
- package/dist/embed-docs/mem/create-new-protocol.md +1 -1
- package/dist/embed-docs/mem/critic-loop-guide.md +1 -1
- package/dist/embed-docs/mem/critic-loop.md +1 -1
- package/dist/embed-docs/mem/phase-critic-guide.md +1 -1
- package/dist/embed-docs/mem/phase-critic.md +1 -1
- package/dist/embed-docs/mem/protocol-linking-guide.md +1 -1
- package/dist/embed-docs/mem/refine-search.md +1 -1
- package/dist/embed-docs/mem/skill-format-guide.md +1 -1
- package/dist/resources/embedded-mcp-resources.js +11 -11
- package/dist/ui/assets/{AccountPage-DyTJwGMC.js → AccountPage-BI5SGfKn.js} +1 -1
- package/dist/ui/assets/{index-CKityaQ1.js → index-C7OfP-Qk.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Semantic color helpers for CLI output (auto-stripped when piped). */
|
|
2
|
+
export declare const c: {
|
|
3
|
+
/** Section headings: "activate:", "spaces:" */
|
|
4
|
+
heading: (s: string) => string;
|
|
5
|
+
/** Field labels: "score", "contract" */
|
|
6
|
+
label: (s: string) => string;
|
|
7
|
+
/** Score badge: color-coded by value (green >= 0.7, yellow >= 0.4, red < 0.4) */
|
|
8
|
+
score: (v: number) => string;
|
|
9
|
+
/** Status: "success", "rated", "ok" */
|
|
10
|
+
success: (s: string) => string;
|
|
11
|
+
/** Status: "failed", "error" */
|
|
12
|
+
error: (s: string) => string;
|
|
13
|
+
/** URIs, secondary info */
|
|
14
|
+
dim: (s: string) => string;
|
|
15
|
+
/** Adapter roles: "match", "refine", "create" */
|
|
16
|
+
role: (s: string) => string;
|
|
17
|
+
/** Space names */
|
|
18
|
+
space: (s: string) => string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Build a simple ASCII table (dash-separated, no box-drawing).
|
|
22
|
+
*
|
|
23
|
+
* @param headers - Column headers
|
|
24
|
+
* @param rows - Row data (each row is an array of cell values as strings)
|
|
25
|
+
* @returns Formatted table string with aligned columns
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* asciiTable(['Name', 'Type', 'Adapters'], [
|
|
30
|
+
* ['Personal', 'other', '0'],
|
|
31
|
+
* ['Squadrules app', 'app', '11'],
|
|
32
|
+
* ]);
|
|
33
|
+
* // Name Type Adapters
|
|
34
|
+
* // ────────────── ───── ────────
|
|
35
|
+
* // Personal other 0
|
|
36
|
+
* // Squadrules app app 11
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function asciiTable(headers: string[], rows: string[][]): string;
|
|
40
|
+
//# sourceMappingURL=render-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-helpers.d.ts","sourceRoot":"","sources":["../../src/cli/render-helpers.ts"],"names":[],"mappings":"AAgBA,wEAAwE;AACxE,eAAO,MAAM,CAAC;IACZ,+CAA+C;iBAClC,MAAM,KAAG,MAAM;IAC5B,wCAAwC;eAC7B,MAAM,KAAG,MAAM;IAC1B,iFAAiF;eACtE,MAAM,KAAG,MAAM;IAK1B,uCAAuC;iBAC1B,MAAM,KAAG,MAAM;IAC5B,gCAAgC;eACrB,MAAM,KAAG,MAAM;IAC1B,2BAA2B;aAClB,MAAM,KAAG,MAAM;IACxB,iDAAiD;cACvC,MAAM,KAAG,MAAM;IACzB,kBAAkB;eACP,MAAM,KAAG,MAAM;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAStE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI rich-output helpers: semantic color functions and ASCII table builder.
|
|
3
|
+
*
|
|
4
|
+
* Uses a per-call chalk instance so that color support is determined dynamically
|
|
5
|
+
* from `process.stdout.isTTY` at call time (not cached at import). This ensures
|
|
6
|
+
* colors are emitted on TTY and stripped when piped, regardless of when chalk
|
|
7
|
+
* was first loaded.
|
|
8
|
+
*/
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
/** Create a chalk instance that reflects the current TTY state. */
|
|
11
|
+
function ttyChalk() {
|
|
12
|
+
const level = process.stdout.isTTY ? (chalk.level || 1) : 0;
|
|
13
|
+
return new chalk.Instance({ level });
|
|
14
|
+
}
|
|
15
|
+
/** Semantic color helpers for CLI output (auto-stripped when piped). */
|
|
16
|
+
export const c = {
|
|
17
|
+
/** Section headings: "activate:", "spaces:" */
|
|
18
|
+
heading: (s) => ttyChalk().bold.cyan(s),
|
|
19
|
+
/** Field labels: "score", "contract" */
|
|
20
|
+
label: (s) => ttyChalk().bold(s),
|
|
21
|
+
/** Score badge: color-coded by value (green >= 0.7, yellow >= 0.4, red < 0.4) */
|
|
22
|
+
score: (v) => {
|
|
23
|
+
const k = ttyChalk();
|
|
24
|
+
const t = v.toFixed(2);
|
|
25
|
+
return v >= 0.7 ? k.green(t) : v >= 0.4 ? k.yellow(t) : k.red(t);
|
|
26
|
+
},
|
|
27
|
+
/** Status: "success", "rated", "ok" */
|
|
28
|
+
success: (s) => ttyChalk().green(s),
|
|
29
|
+
/** Status: "failed", "error" */
|
|
30
|
+
error: (s) => ttyChalk().red(s),
|
|
31
|
+
/** URIs, secondary info */
|
|
32
|
+
dim: (s) => ttyChalk().dim(s),
|
|
33
|
+
/** Adapter roles: "match", "refine", "create" */
|
|
34
|
+
role: (s) => ttyChalk().magenta(s),
|
|
35
|
+
/** Space names */
|
|
36
|
+
space: (s) => ttyChalk().blue(s),
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Build a simple ASCII table (dash-separated, no box-drawing).
|
|
40
|
+
*
|
|
41
|
+
* @param headers - Column headers
|
|
42
|
+
* @param rows - Row data (each row is an array of cell values as strings)
|
|
43
|
+
* @returns Formatted table string with aligned columns
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* asciiTable(['Name', 'Type', 'Adapters'], [
|
|
48
|
+
* ['Personal', 'other', '0'],
|
|
49
|
+
* ['Squadrules app', 'app', '11'],
|
|
50
|
+
* ]);
|
|
51
|
+
* // Name Type Adapters
|
|
52
|
+
* // ────────────── ───── ────────
|
|
53
|
+
* // Personal other 0
|
|
54
|
+
* // Squadrules app app 11
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export function asciiTable(headers, rows) {
|
|
58
|
+
const widths = headers.map((h, i) => Math.max(h.length, ...rows.map((r) => (r[i] ?? '').length)));
|
|
59
|
+
const pad = (s, w) => s + ' '.repeat(Math.max(0, w - s.length));
|
|
60
|
+
const headerLine = headers.map((h, i) => pad(h, widths[i] ?? 0)).join(' ');
|
|
61
|
+
const separator = widths.map((w) => '─'.repeat(w)).join('──');
|
|
62
|
+
const dataLines = rows.map((row) => row.map((cell, i) => pad(cell, widths[i] ?? 0)).join(' '));
|
|
63
|
+
return [headerLine, separator, ...dataLines].join('\n');
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=render-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-helpers.js","sourceRoot":"","sources":["../../src/cli/render-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AA2ChE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS7D;AAMD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAkBhE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAE9D;AAMD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAgB9D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAE5D;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAW5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAE1D;AAMD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAUxD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAEtD;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAU5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAE1D;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAa5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAI1D;AAMD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ1D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAExD"}
|
package/dist/cli/render.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { c, asciiTable } from './render-helpers.js';
|
|
1
2
|
function isObject(value) {
|
|
2
3
|
return typeof value === 'object' && value !== null;
|
|
3
4
|
}
|
|
@@ -54,7 +55,7 @@ export function nextCallHint(response) {
|
|
|
54
55
|
// activate
|
|
55
56
|
// ---------------------------------------------------------------------------
|
|
56
57
|
export function renderActivatePretty(out) {
|
|
57
|
-
const lines = [`activate: ${JSON.stringify(out.query)}`];
|
|
58
|
+
const lines = [c.heading(`activate: ${JSON.stringify(out.query)}`)];
|
|
58
59
|
if (out.message)
|
|
59
60
|
lines.push(out.message);
|
|
60
61
|
const choices = out.choices ?? [];
|
|
@@ -62,14 +63,14 @@ export function renderActivatePretty(out) {
|
|
|
62
63
|
lines.push('', 'No matching adapters.');
|
|
63
64
|
return lines.join('\n');
|
|
64
65
|
}
|
|
65
|
-
lines.push('', `Choices (${choices.length}):`);
|
|
66
|
+
lines.push('', c.label(`Choices (${choices.length}):`));
|
|
66
67
|
choices.forEach((choice, index) => {
|
|
67
|
-
const score = typeof choice.activation_score === 'number' ? `
|
|
68
|
-
const space = choice.space_name ? ` [${choice.space_name}]` : '';
|
|
69
|
-
lines.push(` ${index + 1}. (${choice.role}) ${choice.label}${score}${space}`);
|
|
70
|
-
lines.push(` ${choice.uri}`);
|
|
68
|
+
const score = typeof choice.activation_score === 'number' ? ` ${c.score(choice.activation_score)}` : '';
|
|
69
|
+
const space = choice.space_name ? ` ${c.dim(`[${choice.space_name}]`)}` : '';
|
|
70
|
+
lines.push(` ${index + 1}. ${c.role(`(${choice.role})`)} ${choice.label}${score}${space}`);
|
|
71
|
+
lines.push(` ${c.dim(choice.uri)}`);
|
|
71
72
|
if (choice.next_action)
|
|
72
|
-
lines.push(` do: ${choice.next_action}`);
|
|
73
|
+
lines.push(` ${c.label('do:')} ${choice.next_action}`);
|
|
73
74
|
});
|
|
74
75
|
return lines.join('\n');
|
|
75
76
|
}
|
|
@@ -82,20 +83,20 @@ export function renderActivateText(out) {
|
|
|
82
83
|
export function renderForwardPretty(out) {
|
|
83
84
|
const lines = [];
|
|
84
85
|
const heading = out.current_layer_label ?? out.context_adapter_name ?? 'forward';
|
|
85
|
-
lines.push(`forward: ${heading}`);
|
|
86
|
+
lines.push(c.heading(`forward: ${heading}`));
|
|
86
87
|
if (out.adapter_layer_index && out.adapter_layer_count) {
|
|
87
|
-
lines.push(`step ${out.adapter_layer_index}/${out.adapter_layer_count}`);
|
|
88
|
+
lines.push(c.dim(`step ${out.adapter_layer_index}/${out.adapter_layer_count}`));
|
|
88
89
|
}
|
|
89
90
|
const contractType = out.contract?.type ?? 'n/a';
|
|
90
91
|
const contractDesc = out.contract?.description ? ` — ${out.contract.description}` : '';
|
|
91
|
-
lines.push(
|
|
92
|
+
lines.push(`${c.label('contract:')} ${contractType}${contractDesc}`);
|
|
92
93
|
if (out.message)
|
|
93
94
|
lines.push(out.message);
|
|
94
95
|
if (out.current_layer?.content) {
|
|
95
|
-
lines.push('', out.current_layer.content.trim());
|
|
96
|
+
lines.push('', c.dim(out.current_layer.content.trim()));
|
|
96
97
|
}
|
|
97
98
|
if (out.next_action)
|
|
98
|
-
lines.push('',
|
|
99
|
+
lines.push('', `${c.label('do:')} ${out.next_action}`);
|
|
99
100
|
return lines.join('\n');
|
|
100
101
|
}
|
|
101
102
|
export function renderForwardText(out) {
|
|
@@ -105,10 +106,14 @@ export function renderForwardText(out) {
|
|
|
105
106
|
// reward
|
|
106
107
|
// ---------------------------------------------------------------------------
|
|
107
108
|
export function renderRewardPretty(out) {
|
|
108
|
-
const
|
|
109
|
+
const summary = out.total_failed > 0
|
|
110
|
+
? `reward: ${c.success(`rated ${out.total_rated}`)}, ${c.error(`failed ${out.total_failed}`)}`
|
|
111
|
+
: `reward: ${c.success(`rated ${out.total_rated}`)}`;
|
|
112
|
+
const lines = [summary];
|
|
109
113
|
for (const row of out.results ?? []) {
|
|
110
|
-
const score = typeof row.score === 'number' ? `
|
|
111
|
-
|
|
114
|
+
const score = typeof row.score === 'number' ? ` ${c.score(row.score)}` : '';
|
|
115
|
+
const status = row.outcome === 'success' ? c.success(row.outcome) : c.error(row.outcome);
|
|
116
|
+
lines.push(` ${c.dim(row.uri)} → ${status}${score} (${row.evaluation_label})`);
|
|
112
117
|
}
|
|
113
118
|
return lines.join('\n');
|
|
114
119
|
}
|
|
@@ -119,9 +124,13 @@ export function renderRewardText(out) {
|
|
|
119
124
|
// tune
|
|
120
125
|
// ---------------------------------------------------------------------------
|
|
121
126
|
export function renderTunePretty(out) {
|
|
122
|
-
const
|
|
127
|
+
const summary = out.total_failed > 0
|
|
128
|
+
? `tune: ${c.success(`updated ${out.total_updated}`)}, ${c.error(`failed ${out.total_failed}`)}`
|
|
129
|
+
: `tune: ${c.success(`updated ${out.total_updated}`)}`;
|
|
130
|
+
const lines = [summary];
|
|
123
131
|
for (const row of out.results ?? []) {
|
|
124
|
-
|
|
132
|
+
const status = row.status === 'updated' ? c.success(row.status) : c.error(row.status);
|
|
133
|
+
lines.push(` ${c.dim(row.uri)} → ${status}: ${row.message}`);
|
|
125
134
|
}
|
|
126
135
|
return lines.join('\n');
|
|
127
136
|
}
|
|
@@ -132,9 +141,13 @@ export function renderTuneText(out) {
|
|
|
132
141
|
// delete
|
|
133
142
|
// ---------------------------------------------------------------------------
|
|
134
143
|
export function renderDeletePretty(out) {
|
|
135
|
-
const
|
|
144
|
+
const summary = out.total_failed > 0
|
|
145
|
+
? `delete: ${c.success(`deleted ${out.total_deleted}`)}, ${c.error(`failed ${out.total_failed}`)}`
|
|
146
|
+
: `delete: ${c.success(`deleted ${out.total_deleted}`)}`;
|
|
147
|
+
const lines = [summary];
|
|
136
148
|
for (const row of out.results ?? []) {
|
|
137
|
-
|
|
149
|
+
const status = row.status === 'deleted' ? c.success(row.status) : c.error(row.status);
|
|
150
|
+
lines.push(` ${c.dim(row.uri)} → ${status}: ${row.message}`);
|
|
138
151
|
}
|
|
139
152
|
return lines.join('\n');
|
|
140
153
|
}
|
|
@@ -147,12 +160,14 @@ export function renderDeleteText(out) {
|
|
|
147
160
|
export function renderSpacesPretty(out) {
|
|
148
161
|
const spaces = out.spaces ?? [];
|
|
149
162
|
if (spaces.length === 0)
|
|
150
|
-
return 'spaces: (none)';
|
|
151
|
-
const lines = [`spaces (${spaces.length}):`];
|
|
163
|
+
return c.heading('spaces:') + ' (none)';
|
|
164
|
+
const lines = [c.heading(`spaces (${spaces.length}):`)];
|
|
165
|
+
const headers = ['Name', 'Type', 'Adapters'];
|
|
166
|
+
const rows = spaces.map((s) => [c.space(s.name), s.type, String(s.adapter_count)]);
|
|
167
|
+
lines.push(asciiTable(headers, rows));
|
|
152
168
|
for (const space of spaces) {
|
|
153
|
-
lines.push(` ${space.name} (${space.type}): ${space.adapter_count} adapters`);
|
|
154
169
|
for (const adapter of space.adapters ?? []) {
|
|
155
|
-
lines.push(`
|
|
170
|
+
lines.push(` ${c.dim(`- ${adapter.title} (${adapter.layer_count} layers) ${adapter.uri}`)}`);
|
|
156
171
|
}
|
|
157
172
|
}
|
|
158
173
|
return lines.join('\n');
|
|
@@ -166,10 +181,11 @@ export function renderSpacesText(out) {
|
|
|
166
181
|
// train
|
|
167
182
|
// ---------------------------------------------------------------------------
|
|
168
183
|
export function renderTrainPretty(out) {
|
|
184
|
+
const status = out.status === 'stored' ? c.success(out.status) : c.error(out.status);
|
|
169
185
|
const items = out.items ?? [];
|
|
170
|
-
const lines = [
|
|
186
|
+
const lines = [`${c.heading('train:')} ${status} ${items.length} item(s)`];
|
|
171
187
|
for (const item of items) {
|
|
172
|
-
lines.push(` ${item.label} → ${item.uri}`);
|
|
188
|
+
lines.push(` ${item.label} → ${c.dim(item.uri)}`);
|
|
173
189
|
}
|
|
174
190
|
return lines.join('\n');
|
|
175
191
|
}
|
package/dist/cli/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
|