helixevo 0.2.2 → 0.2.3

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.
@@ -3,6 +3,18 @@ import NetworkClient from './client'
3
3
 
4
4
  export const dynamic = 'force-dynamic'
5
5
 
6
+ interface EvolutionEntry {
7
+ id: string
8
+ timestamp: string
9
+ action: string
10
+ description: string
11
+ outcome: string
12
+ outcomeReason: string
13
+ task: number
14
+ align: number
15
+ sideEffect: number
16
+ }
17
+
6
18
  export default function SkillNetworkPage() {
7
19
  const graph = loadGraph()
8
20
  const history = loadHistory()
@@ -19,10 +31,7 @@ export default function SkillNetworkPage() {
19
31
  )
20
32
 
21
33
  // Build evolution history per skill
22
- const evolutionBySkill: Record<string, {
23
- id: string; timestamp: string; action: string; description: string
24
- outcome: string; outcomeReason: string; task: number; align: number; sideEffect: number
25
- }[]> = {}
34
+ const evolutionBySkill: Record<string, EvolutionEntry[]> = {}
26
35
  for (const iter of history.iterations) {
27
36
  for (const p of iter.proposals) {
28
37
  if (!evolutionBySkill[p.targetSkill]) evolutionBySkill[p.targetSkill] = []
@@ -84,8 +84,8 @@ export default function Overview() {
84
84
  <div className="card">
85
85
  <div className="card-body">
86
86
  <div className="card-header-label">Recent Evolution</div>
87
- {recent.map(iter => (
88
- <div key={iter.id} style={{
87
+ {recent.map((iter, idx) => (
88
+ <div key={`${iter.id}-${idx}`} style={{
89
89
  padding: '10px 0',
90
90
  borderBottom: '1px solid var(--border-subtle)',
91
91
  }}>
@@ -1,21 +1,19 @@
1
1
  {
2
- "name": "skillgraph-dashboard",
2
+ "name": "helix-dashboard",
3
3
  "version": "0.1.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
- "name": "skillgraph-dashboard",
8
+ "name": "helix-dashboard",
9
9
  "version": "0.1.0",
10
10
  "dependencies": {
11
+ "@types/node": "^22.0.0",
12
+ "@types/react": "^19.0.0",
11
13
  "@xyflow/react": "^12.10.1",
12
14
  "next": "^15.3.0",
13
15
  "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",
16
+ "react-dom": "^19.0.0",
19
17
  "typescript": "^5.7.0"
20
18
  }
21
19
  },
@@ -691,7 +689,6 @@
691
689
  "version": "22.19.15",
692
690
  "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz",
693
691
  "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==",
694
- "dev": true,
695
692
  "license": "MIT",
696
693
  "dependencies": {
697
694
  "undici-types": "~6.21.0"
@@ -701,7 +698,6 @@
701
698
  "version": "19.2.14",
702
699
  "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
703
700
  "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==",
704
- "devOptional": true,
705
701
  "license": "MIT",
706
702
  "dependencies": {
707
703
  "csstype": "^3.2.2"
@@ -775,7 +771,6 @@
775
771
  "version": "3.2.3",
776
772
  "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
777
773
  "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
778
- "devOptional": true,
779
774
  "license": "MIT"
780
775
  },
781
776
  "node_modules/d3-color": {
@@ -1124,7 +1119,6 @@
1124
1119
  "version": "5.9.3",
1125
1120
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
1126
1121
  "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
1127
- "dev": true,
1128
1122
  "license": "Apache-2.0",
1129
1123
  "bin": {
1130
1124
  "tsc": "bin/tsc",
@@ -1138,7 +1132,6 @@
1138
1132
  "version": "6.21.0",
1139
1133
  "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
1140
1134
  "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
1141
- "dev": true,
1142
1135
  "license": "MIT"
1143
1136
  },
1144
1137
  "node_modules/use-sync-external-store": {
@@ -8,14 +8,12 @@
8
8
  "start": "next start --port 3847"
9
9
  },
10
10
  "dependencies": {
11
+ "@types/node": "^22.0.0",
12
+ "@types/react": "^19.0.0",
11
13
  "@xyflow/react": "^12.10.1",
12
14
  "next": "^15.3.0",
13
15
  "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",
16
+ "react-dom": "^19.0.0",
19
17
  "typescript": "^5.7.0"
20
18
  }
21
19
  }
package/dist/cli.js CHANGED
@@ -2085,6 +2085,12 @@ function loadConfig() {
2085
2085
  const raw = readFileSync(CONFIG_PATH, "utf-8");
2086
2086
  config = { ...DEFAULT_CONFIG, ...JSON.parse(raw) };
2087
2087
  }
2088
+ if (config.paths.data.includes(".skillgraph")) {
2089
+ config.paths.data = HELIX_DIR;
2090
+ }
2091
+ if (config.paths.generalSkills.includes(".skillgraph")) {
2092
+ config.paths.generalSkills = join(HELIX_DIR, "general");
2093
+ }
2088
2094
  _configCache = config;
2089
2095
  return config;
2090
2096
  }
@@ -12901,7 +12907,7 @@ async function metricsCommand(options) {
12901
12907
 
12902
12908
  // src/cli.ts
12903
12909
  var program2 = new Command;
12904
- program2.name("helixevo").description("Self-evolving skill ecosystem for AI agents").version("0.2.0").addHelpText("after", `
12910
+ program2.name("helixevo").description("Self-evolving skill ecosystem for AI agents").version("0.2.2").addHelpText("after", `
12905
12911
  Examples:
12906
12912
  $ helixevo watch Always-on learning (auto-capture + auto-evolve)
12907
12913
  $ helixevo watch --project myapp Watch with project context
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helixevo",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
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": {