helixevo 0.2.17 → 0.2.18

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.
@@ -44,6 +44,9 @@ function copyDashboardFiles(sourceDir: string, newVersion: string): void {
44
44
 
45
45
  // Write version marker
46
46
  writeFileSync(join(HELIX_DASHBOARD_DIR, '.helixevo-version'), newVersion)
47
+
48
+ // Also write .env.local — survives copyToHelix overwrites from old CLIs
49
+ writeFileSync(join(HELIX_DASHBOARD_DIR, '.env.local'), `HELIXEVO_VERSION=${newVersion}\n`)
47
50
  }
48
51
 
49
52
  export async function POST() {
@@ -5,12 +5,22 @@ import { fileURLToPath } from 'url'
5
5
  const __dirname = dirname(fileURLToPath(import.meta.url))
6
6
 
7
7
  function getVersion() {
8
- // 1. Check env var (set by CLI when spawning dashboard)
8
+ // 1. Check .env.local (written by upgrade API, survives old CLI overwrites)
9
+ const envLocal = join(__dirname, '.env.local')
10
+ if (existsSync(envLocal)) {
11
+ try {
12
+ const content = readFileSync(envLocal, 'utf-8')
13
+ const match = content.match(/HELIXEVO_VERSION=(.+)/)
14
+ if (match?.[1]?.trim()) return match[1].trim()
15
+ } catch {}
16
+ }
17
+
18
+ // 2. Check env var (set by CLI when spawning dashboard)
9
19
  if (process.env.HELIXEVO_VERSION && process.env.HELIXEVO_VERSION !== '0.0.0') {
10
20
  return process.env.HELIXEVO_VERSION
11
21
  }
12
22
 
13
- // 2. Check .helixevo-version marker (written by copyToHelix for npm users)
23
+ // 3. Check .helixevo-version marker (written by copyToHelix)
14
24
  const markerFile = join(__dirname, '.helixevo-version')
15
25
  if (existsSync(markerFile)) {
16
26
  try {
@@ -19,7 +29,7 @@ function getVersion() {
19
29
  } catch {}
20
30
  }
21
31
 
22
- // 3. Check parent package.json (dev: dashboard/ -> repo root)
32
+ // 4. Check parent package.json (dev: dashboard/ -> repo root)
23
33
  const candidates = [
24
34
  join(__dirname, '..', 'package.json'),
25
35
  join(__dirname, 'package.json'),
package/dist/cli.js CHANGED
@@ -12482,12 +12482,19 @@ function getInstalledDashboardVersion() {
12482
12482
  }
12483
12483
  }
12484
12484
  function copyToHelix(sourceDir) {
12485
+ let sourceVersion = VERSION;
12486
+ try {
12487
+ const srcRoot = join15(sourceDir, "..", "package.json");
12488
+ const pkg2 = JSON.parse(readFileSync8(srcRoot, "utf-8"));
12489
+ if (pkg2.name === "helixevo" && pkg2.version)
12490
+ sourceVersion = pkg2.version;
12491
+ } catch {}
12485
12492
  const installedVersion = getInstalledDashboardVersion();
12486
- if (installedVersion === VERSION) {
12493
+ if (installedVersion === sourceVersion) {
12487
12494
  return HELIX_DASHBOARD_DIR;
12488
12495
  }
12489
12496
  if (installedVersion) {
12490
- console.log(` Updating dashboard: v${installedVersion} → v${VERSION}`);
12497
+ console.log(` Updating dashboard: v${installedVersion} → v${sourceVersion}`);
12491
12498
  } else {
12492
12499
  console.log(" Setting up dashboard at ~/.helix/dashboard...");
12493
12500
  }
@@ -12504,7 +12511,7 @@ function copyToHelix(sourceDir) {
12504
12511
  }
12505
12512
  const items = readdirSync2(sourceDir, { withFileTypes: true });
12506
12513
  for (const item of items) {
12507
- if (item.name === "node_modules" || item.name === ".next" || item.name === "package-lock.json")
12514
+ if (item.name === "node_modules" || item.name === ".next" || item.name === "package-lock.json" || item.name === ".env.local")
12508
12515
  continue;
12509
12516
  const src = join15(sourceDir, item.name);
12510
12517
  const dest = join15(HELIX_DASHBOARD_DIR, item.name);
@@ -12521,7 +12528,7 @@ function copyToHelix(sourceDir) {
12521
12528
  const nextCache = join15(HELIX_DASHBOARD_DIR, ".next");
12522
12529
  if (existsSync10(nextCache))
12523
12530
  rmSync2(nextCache, { recursive: true });
12524
- writeFileSync9(join15(HELIX_DASHBOARD_DIR, ".helixevo-version"), VERSION);
12531
+ writeFileSync9(join15(HELIX_DASHBOARD_DIR, ".helixevo-version"), sourceVersion);
12525
12532
  return HELIX_DASHBOARD_DIR;
12526
12533
  }
12527
12534
  function ensureSkillGraph() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helixevo",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
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": {