@rubytech/create-maxy 1.0.501 → 1.0.503

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/index.js CHANGED
@@ -472,8 +472,14 @@ function installNeo4j() {
472
472
  if (!isLinux()) {
473
473
  throw new Error("Automatic Neo4j installation is only supported on Linux. Install Neo4j 5.11+ manually.");
474
474
  }
475
- console.log(" Installing Java 17...");
476
- shell("apt-get", ["install", "-y", "openjdk-17-jre-headless"], { sudo: true });
475
+ // Neo4j 5.x supports Java 17 and 21. Debian Bookworm ships 17, Trixie ships 21.
476
+ // apt-cache policy shows "Candidate: (none)" when no installable version exists.
477
+ const policyResult = spawnSync("apt-cache", ["policy", "openjdk-17-jre-headless"], { stdio: "pipe" });
478
+ const policyOutput = policyResult.stdout?.toString() ?? "";
479
+ const has17 = policyResult.status === 0 && !policyOutput.includes("Candidate: (none)");
480
+ const javaPackage = has17 ? "openjdk-17-jre-headless" : "openjdk-21-jre-headless";
481
+ console.log(` Installing Java (${javaPackage})...`);
482
+ shell("apt-get", ["install", "-y", javaPackage], { sudo: true });
477
483
  spawnSync("bash", ["-c", "curl -fsSL https://debian.neo4j.com/neotechnology.gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/neo4j.gpg 2>/dev/null"], { stdio: "inherit" });
478
484
  spawnSync("bash", ["-c", 'echo "deb [signed-by=/usr/share/keyrings/neo4j.gpg] https://debian.neo4j.com stable 5" | sudo tee /etc/apt/sources.list.d/neo4j.list'], { stdio: "inherit" });
479
485
  shell("apt-get", ["update"], { sudo: true });
package/dist/uninstall.js CHANGED
@@ -314,6 +314,7 @@ function purgeSystemPackages() {
314
314
  const packages = [
315
315
  "neo4j",
316
316
  "openjdk-17-jre-headless",
317
+ "openjdk-21-jre-headless",
317
318
  "tigervnc-standalone-server",
318
319
  "python3-websockify",
319
320
  "novnc",
@@ -482,7 +483,7 @@ function showRemovalSummary() {
482
483
  console.log(` Services: ${BRAND.serviceName}, Neo4j, cloudflared, VNC, Ollama`);
483
484
  console.log(` App dirs: ~/${BRAND.installDir}/, ~/${BRAND.configDir}/, ~/.claude/, ~/.cloudflared/, ~/.ollama/`);
484
485
  console.log(" Database: Neo4j data and transaction logs");
485
- console.log(" Packages: neo4j, openjdk-17, tigervnc, websockify, novnc, cloudflared");
486
+ console.log(" Packages: neo4j, openjdk (17 or 21), tigervnc, websockify, novnc, cloudflared");
486
487
  console.log(" Config: avahi service, WiFi power save, apt repos, GPG keys");
487
488
  console.log(` Systemd: ${BRAND.serviceName} unit file, user lingering`);
488
489
  console.log(" Ollama: binary and models");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy",
3
- "version": "1.0.501",
3
+ "version": "1.0.503",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy": "./dist/index.js"
@@ -95,14 +95,15 @@ if [ -f "$USER_MD" ]; then
95
95
  OWNER_LOCATION=$(sed -n 's/.*\*\*Location:\*\* *//p' "$USER_MD" | head -1)
96
96
  OWNER_HOURS=$(sed -n 's/.*\*\*Working hours:\*\* *//p' "$USER_MD" | head -1)
97
97
 
98
- python3 -c "
98
+ python3 - "$OWNER_NAME" "$OWNER_PHONE" "$OWNER_BUSINESS" "$OWNER_LOCATION" "$OWNER_HOURS" "$OUTPUT_DIR" <<'PYEOF'
99
99
  import json, sys
100
+ name, phone, business, location, hours, out = sys.argv[1:7]
100
101
  d = {}
101
- for k, v in [('name','$OWNER_NAME'),('phone','$OWNER_PHONE'),('business','$OWNER_BUSINESS'),('location','$OWNER_LOCATION'),('hours','$OWNER_HOURS')]:
102
+ for k, v in [('name',name),('phone',phone),('business',business),('location',location),('hours',hours)]:
102
103
  if v: d[k] = v
103
- json.dump(d, open('$OUTPUT_DIR/identity/owner.json','w'), indent=2)
104
- print(f'[export] identity/owner.json written ({d.get(\"name\",\"unknown\")})')
105
- "
104
+ json.dump(d, open(f'{out}/identity/owner.json','w'), indent=2)
105
+ print(f'[export] identity/owner.json written ({d.get("name","unknown")})')
106
+ PYEOF
106
107
  else
107
108
  echo "[export] WARN: USER.md not found at $USER_MD — owner identity skipped"
108
109
  fi