gnosys 5.2.6 → 5.2.8

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.
@@ -1,8 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Postinstall hook — prompts the user to run `gnosys setup` after installation.
3
+ * Postinstall hook — detects fresh install vs upgrade and tells the user
4
+ * exactly what to do next. Runs `gnosys upgrade` automatically on upgrades.
4
5
  * Only runs in interactive terminals (TTY). Silently exits in CI/Docker/scripts.
5
6
  */
7
+ import { existsSync } from "fs";
8
+ import { join } from "path";
6
9
  import { createInterface } from "readline/promises";
7
10
  import { stdin, stdout } from "process";
8
11
  import { execSync } from "child_process";
@@ -15,24 +18,73 @@ async function main() {
15
18
  if (process.env.GNOSYS_SKIP_POSTINSTALL) {
16
19
  process.exit(0);
17
20
  }
21
+ // Detect if this is an upgrade (central DB exists) or fresh install
22
+ const home = process.env.HOME || process.env.USERPROFILE || "/tmp";
23
+ const centralDbPath = join(home, ".gnosys", "gnosys.db");
24
+ const isUpgrade = existsSync(centralDbPath);
25
+ // Read package version
26
+ let version = "unknown";
27
+ try {
28
+ const pkgPath = join(__dirname, "..", "package.json");
29
+ const pkg = JSON.parse(require("fs").readFileSync(pkgPath, "utf-8"));
30
+ version = pkg.version;
31
+ }
32
+ catch {
33
+ // non-critical
34
+ }
18
35
  const rl = createInterface({ input: stdin, output: stdout });
19
36
  try {
20
- const answer = await rl.question("\n Gnosys installed. Run setup wizard? [Y/n] ");
21
- rl.close();
22
- const shouldSetup = !answer || answer.trim().toLowerCase() !== "n";
23
- if (shouldSetup) {
37
+ if (isUpgrade) {
38
+ // ── Upgrade flow ──
39
+ console.log(`\n Gnosys v${version} installed (upgrade detected)`);
24
40
  console.log("");
25
- // Spawn gnosys setup with inherited stdio so the wizard is fully interactive
26
- execSync("gnosys setup", { stdio: "inherit" });
41
+ const answer = await rl.question(" Run gnosys upgrade now? This syncs all projects and regenerates the dashboard. [Y/n] ");
42
+ rl.close();
43
+ const shouldUpgrade = !answer || answer.trim().toLowerCase() !== "n";
44
+ if (shouldUpgrade) {
45
+ console.log("");
46
+ execSync("gnosys upgrade", { stdio: "inherit" });
47
+ console.log(`\n Next steps:`);
48
+ console.log(` 1. Restart your IDE's MCP server (Cursor: Cmd+Shift+P > MCP: Restart All Servers)`);
49
+ console.log(` 2. Run 'gnosys status --web' to open the portfolio dashboard`);
50
+ console.log(` 3. In any project, tell your AI agent 'update status' to refresh its status\n`);
51
+ }
52
+ else {
53
+ console.log(`\n Run these when you're ready:`);
54
+ console.log(` 1. gnosys upgrade — sync all projects + regenerate dashboard`);
55
+ console.log(` 2. Restart IDE MCP server — so agents see the new tools`);
56
+ console.log(` 3. gnosys status --web — open the portfolio dashboard\n`);
57
+ }
27
58
  }
28
59
  else {
29
- console.log(" Run 'gnosys setup' anytime to configure.\n");
60
+ // ── Fresh install flow ──
61
+ console.log(`\n Gnosys v${version} installed (fresh install)`);
62
+ console.log("");
63
+ const answer = await rl.question(" Run setup wizard? [Y/n] ");
64
+ rl.close();
65
+ const shouldSetup = !answer || answer.trim().toLowerCase() !== "n";
66
+ if (shouldSetup) {
67
+ console.log("");
68
+ execSync("gnosys setup", { stdio: "inherit" });
69
+ }
70
+ else {
71
+ console.log(`\n Run these when you're ready:`);
72
+ console.log(` 1. gnosys setup — configure LLM providers and preferences`);
73
+ console.log(` 2. gnosys init — initialize gnosys in a project directory`);
74
+ console.log(` 3. gnosys status — check project status\n`);
75
+ }
30
76
  }
31
77
  }
32
78
  catch {
33
- // Ctrl+C or readline error — exit silently
79
+ // Ctrl+C or readline error — still print the manual steps
34
80
  rl.close();
35
81
  console.log("");
82
+ if (isUpgrade) {
83
+ console.log(` Run 'gnosys upgrade' to complete the update.\n`);
84
+ }
85
+ else {
86
+ console.log(` Run 'gnosys setup' to get started.\n`);
87
+ }
36
88
  process.exit(0);
37
89
  }
38
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,KAAK,UAAU,IAAI;IACjB,oEAAoE;IACpE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAC9B,gDAAgD,CACjD,CAAC;QAEF,EAAE,CAAC,KAAK,EAAE,CAAC;QAEX,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;QAEnE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,6EAA6E;YAC7E,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gnosys",
3
- "version": "5.2.6",
3
+ "version": "5.2.8",
4
4
  "description": "Gnosys — Persistent Memory for AI Agents. Sandbox-first runtime, central SQLite brain, federated search, Dream Mode, Web Knowledge Base, Obsidian export.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",