@prajwolkc/stk 0.6.1 → 0.7.1
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/commands/brain.js +36 -3
- package/dist/mcp/server.js +14 -1553
- package/dist/mcp/tools/brain.d.ts +2 -0
- package/dist/mcp/tools/brain.js +557 -0
- package/dist/mcp/tools/data.d.ts +2 -0
- package/dist/mcp/tools/data.js +385 -0
- package/dist/mcp/tools/github.d.ts +2 -0
- package/dist/mcp/tools/github.js +95 -0
- package/dist/mcp/tools/infra.d.ts +2 -0
- package/dist/mcp/tools/infra.js +263 -0
- package/dist/mcp/tools/ops.d.ts +2 -0
- package/dist/mcp/tools/ops.js +411 -0
- package/dist/mcp/tools/security.d.ts +2 -0
- package/dist/mcp/tools/security.js +25 -0
- package/dist/mcp/types.d.ts +2 -0
- package/dist/mcp/types.js +1 -0
- package/dist/services/brain-cloud.d.ts +13 -0
- package/dist/services/brain-cloud.js +131 -0
- package/dist/services/brain-extract.d.ts +14 -0
- package/dist/services/brain-extract.js +253 -0
- package/dist/services/brain-search.d.ts +33 -0
- package/dist/services/brain-search.js +153 -0
- package/dist/services/brain-store.d.ts +25 -0
- package/dist/services/brain-store.js +42 -0
- package/dist/services/brain.d.ts +19 -68
- package/dist/services/brain.js +18 -542
- package/dist/services/metrics.d.ts +35 -0
- package/dist/services/metrics.js +78 -0
- package/dist/services/security.d.ts +19 -0
- package/dist/services/security.js +194 -0
- package/package.json +2 -1
- package/src/data/seed-patterns.json +1802 -0
package/dist/commands/brain.js
CHANGED
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import ora from "ora";
|
|
4
|
-
import { syncBrain, pushToCloud, pullFromCloud, loadBrainStore, getAllEntries } from "../services/brain.js";
|
|
4
|
+
import { syncBrain, pushToCloud, pullFromCloud, loadBrainStore, getAllEntries, seedBrain } from "../services/brain.js";
|
|
5
|
+
import { readFileSync } from "fs";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
|
+
import { dirname, join } from "path";
|
|
5
8
|
export const brainCommand = new Command("brain")
|
|
6
9
|
.description("Manage the stk knowledge brain — sync, push, pull across machines")
|
|
7
|
-
.argument("[action]", "push | pull | sync | stats (default: sync)")
|
|
8
|
-
.
|
|
10
|
+
.argument("[action]", "push | pull | sync | stats | seed (default: sync)")
|
|
11
|
+
.option("--force", "force re-seed (replace existing seed entries)")
|
|
12
|
+
.action(async (action = "sync", _extra, cmd) => {
|
|
13
|
+
const opts = cmd?.opts?.() ?? {};
|
|
14
|
+
if (action === "seed") {
|
|
15
|
+
const spinner = ora(" Loading seed patterns...").start();
|
|
16
|
+
try {
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = dirname(__filename);
|
|
19
|
+
// Data lives in src/data (shipped with npm), not dist/data
|
|
20
|
+
const seedPath = join(__dirname, "..", "..", "src", "data", "seed-patterns.json");
|
|
21
|
+
const patterns = JSON.parse(readFileSync(seedPath, "utf-8"));
|
|
22
|
+
spinner.text = ` Seeding ${patterns.length} patterns...`;
|
|
23
|
+
const { added, skipped } = seedBrain(patterns, opts.force);
|
|
24
|
+
spinner.succeed(` Seeded ${chalk.white(added)} patterns (${skipped} already existed)`);
|
|
25
|
+
console.log();
|
|
26
|
+
const categories = {};
|
|
27
|
+
for (const p of patterns)
|
|
28
|
+
categories[p.category] = (categories[p.category] || 0) + 1;
|
|
29
|
+
console.log(chalk.bold(" Patterns by category:"));
|
|
30
|
+
for (const [cat, count] of Object.entries(categories).sort(([, a], [, b]) => b - a)) {
|
|
31
|
+
console.log(` ${chalk.dim("●")} ${cat}: ${count}`);
|
|
32
|
+
}
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
spinner.fail(" Seed failed");
|
|
37
|
+
console.log(` ${chalk.red(err instanceof Error ? err.message : String(err))}`);
|
|
38
|
+
console.log();
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
9
42
|
if (action === "stats") {
|
|
10
43
|
const store = loadBrainStore();
|
|
11
44
|
const projects = Object.entries(store.projects);
|