helixevo 0.2.0 → 0.2.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/dashboard/app/api/skills/route.ts +298 -0
- package/dashboard/app/evolution/page.tsx +128 -0
- package/dashboard/app/frontier/page.tsx +128 -0
- package/dashboard/app/globals.css +1211 -0
- package/dashboard/app/guide/page.tsx +984 -0
- package/dashboard/app/layout.tsx +79 -0
- package/dashboard/app/network/client.tsx +1090 -0
- package/dashboard/app/network/page.tsx +68 -0
- package/dashboard/app/page.tsx +147 -0
- package/dashboard/app/research/page.tsx +124 -0
- package/dashboard/components/SkillFlowNode.tsx +192 -0
- package/dashboard/lib/data.ts +146 -0
- package/dashboard/next-env.d.ts +6 -0
- package/dashboard/package-lock.json +1182 -0
- package/dashboard/package.json +21 -0
- package/dashboard/tsconfig.json +40 -0
- package/dist/cli.js +44 -9
- package/package.json +8 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "helix-dashboard",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "next dev --port 3847",
|
|
7
|
+
"build": "next build",
|
|
8
|
+
"start": "next start --port 3847"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@xyflow/react": "^12.10.1",
|
|
12
|
+
"next": "^15.3.0",
|
|
13
|
+
"react": "^19.0.0",
|
|
14
|
+
"react-dom": "^19.0.0"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/node": "^22.0.0",
|
|
18
|
+
"@types/react": "^19.0.0",
|
|
19
|
+
"typescript": "^5.7.0"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2017",
|
|
4
|
+
"lib": [
|
|
5
|
+
"dom",
|
|
6
|
+
"dom.iterable",
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
9
|
+
"allowJs": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"esModuleInterop": true,
|
|
14
|
+
"module": "esnext",
|
|
15
|
+
"moduleResolution": "bundler",
|
|
16
|
+
"resolveJsonModule": true,
|
|
17
|
+
"isolatedModules": true,
|
|
18
|
+
"jsx": "preserve",
|
|
19
|
+
"incremental": true,
|
|
20
|
+
"paths": {
|
|
21
|
+
"@/*": [
|
|
22
|
+
"./*"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"plugins": [
|
|
26
|
+
{
|
|
27
|
+
"name": "next"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"include": [
|
|
32
|
+
"**/*.ts",
|
|
33
|
+
"**/*.tsx",
|
|
34
|
+
"next-env.d.ts",
|
|
35
|
+
".next/types/**/*.ts"
|
|
36
|
+
],
|
|
37
|
+
"exclude": [
|
|
38
|
+
"node_modules"
|
|
39
|
+
]
|
|
40
|
+
}
|
package/dist/cli.js
CHANGED
|
@@ -12305,20 +12305,30 @@ ${replay.slice(0, 800)}`
|
|
|
12305
12305
|
|
|
12306
12306
|
// src/commands/dashboard.ts
|
|
12307
12307
|
import { execSync as execSync2, spawn as spawn2 } from "node:child_process";
|
|
12308
|
-
import { join as join14 } from "node:path";
|
|
12308
|
+
import { join as join14, dirname as dirname2 } from "node:path";
|
|
12309
12309
|
import { existsSync as existsSync10 } from "node:fs";
|
|
12310
|
-
|
|
12310
|
+
import { fileURLToPath } from "node:url";
|
|
12311
|
+
var __filename = "/Users/tianchichen/Documents/GitHub/skillgraph/src/commands/dashboard.ts";
|
|
12311
12312
|
async function dashboardCommand() {
|
|
12312
|
-
const
|
|
12313
|
-
|
|
12314
|
-
|
|
12315
|
-
|
|
12316
|
-
console.error("
|
|
12313
|
+
const dir = findDashboard();
|
|
12314
|
+
if (!dir) {
|
|
12315
|
+
console.error(` Dashboard not found.
|
|
12316
|
+
`);
|
|
12317
|
+
console.error(" If installed via npm, the dashboard should be at:");
|
|
12318
|
+
console.error(" <npm-global>/helixevo/dashboard/");
|
|
12319
|
+
console.error("");
|
|
12320
|
+
console.error(" You can also clone and run it manually:");
|
|
12321
|
+
console.error(" git clone https://github.com/danielchen26/helixevo.git");
|
|
12322
|
+
console.error(" cd helixevo/dashboard && npm install && npx next dev --port 3847");
|
|
12317
12323
|
process.exit(1);
|
|
12318
12324
|
}
|
|
12319
12325
|
if (!existsSync10(join14(dir, "node_modules"))) {
|
|
12320
12326
|
console.log(" Installing dashboard dependencies...");
|
|
12321
|
-
|
|
12327
|
+
try {
|
|
12328
|
+
execSync2("npm ci --prefer-offline --no-audit --no-fund", { cwd: dir, stdio: "inherit" });
|
|
12329
|
+
} catch {
|
|
12330
|
+
execSync2("npm install --no-audit --no-fund", { cwd: dir, stdio: "inherit" });
|
|
12331
|
+
}
|
|
12322
12332
|
}
|
|
12323
12333
|
console.log(` \uD83C\uDF10 Starting Helix Dashboard at http://localhost:3847
|
|
12324
12334
|
`);
|
|
@@ -12329,13 +12339,38 @@ async function dashboardCommand() {
|
|
|
12329
12339
|
});
|
|
12330
12340
|
setTimeout(() => {
|
|
12331
12341
|
try {
|
|
12332
|
-
|
|
12342
|
+
const platform = process.platform;
|
|
12343
|
+
const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
|
|
12344
|
+
execSync2(`${cmd} http://localhost:3847`, { stdio: "ignore" });
|
|
12333
12345
|
} catch {}
|
|
12334
12346
|
}, 3000);
|
|
12335
12347
|
child.on("close", (code) => {
|
|
12336
12348
|
process.exit(code ?? 0);
|
|
12337
12349
|
});
|
|
12338
12350
|
}
|
|
12351
|
+
function findDashboard() {
|
|
12352
|
+
const candidates = [];
|
|
12353
|
+
try {
|
|
12354
|
+
const thisFile = typeof __filename !== "undefined" ? __filename : fileURLToPath(import.meta.url);
|
|
12355
|
+
const pkgRoot = dirname2(dirname2(thisFile));
|
|
12356
|
+
candidates.push(join14(pkgRoot, "dashboard"));
|
|
12357
|
+
} catch {}
|
|
12358
|
+
try {
|
|
12359
|
+
const globalPrefix = execSync2("npm prefix -g", { encoding: "utf-8" }).trim();
|
|
12360
|
+
candidates.push(join14(globalPrefix, "lib", "node_modules", "helixevo", "dashboard"));
|
|
12361
|
+
candidates.push(join14(globalPrefix, "node_modules", "helixevo", "dashboard"));
|
|
12362
|
+
} catch {}
|
|
12363
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
12364
|
+
candidates.push(join14(home, "Documents", "GitHub", "helixevo", "dashboard"));
|
|
12365
|
+
candidates.push(join14(home, "Documents", "GitHub", "skillgraph", "dashboard"));
|
|
12366
|
+
candidates.push(join14(process.cwd(), "dashboard"));
|
|
12367
|
+
for (const dir of candidates) {
|
|
12368
|
+
if (existsSync10(join14(dir, "package.json"))) {
|
|
12369
|
+
return dir;
|
|
12370
|
+
}
|
|
12371
|
+
}
|
|
12372
|
+
return null;
|
|
12373
|
+
}
|
|
12339
12374
|
|
|
12340
12375
|
// src/commands/watch.ts
|
|
12341
12376
|
import { join as join16 } from "node:path";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helixevo",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Self-evolving skill ecosystem for AI agents. Skills and projects co-evolve through multi-judge evaluation and a Pareto frontier.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/",
|
|
11
|
+
"dashboard/app/",
|
|
12
|
+
"dashboard/components/",
|
|
13
|
+
"dashboard/lib/",
|
|
14
|
+
"dashboard/package.json",
|
|
15
|
+
"dashboard/package-lock.json",
|
|
16
|
+
"dashboard/tsconfig.json",
|
|
17
|
+
"dashboard/next-env.d.ts",
|
|
11
18
|
"README.md",
|
|
12
19
|
"LICENSE"
|
|
13
20
|
],
|