@rubytech/create-maxy-code 0.1.90 → 0.1.92

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.
Files changed (54) hide show
  1. package/dist/index.js +31 -0
  2. package/dist/port-resolution.js +1 -1
  3. package/package.json +1 -1
  4. package/payload/platform/package-lock.json +18 -4
  5. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts +4 -3
  6. package/payload/platform/services/claude-session-manager/dist/fs-watcher.d.ts.map +1 -1
  7. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js +159 -219
  8. package/payload/platform/services/claude-session-manager/dist/fs-watcher.js.map +1 -1
  9. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +9 -0
  10. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  11. package/payload/platform/services/claude-session-manager/dist/http-server.js +262 -67
  12. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  13. package/payload/platform/services/claude-session-manager/dist/index.js +10 -0
  14. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  15. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +10 -4
  16. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
  17. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +27 -8
  18. package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
  19. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts +8 -0
  20. package/payload/platform/services/claude-session-manager/dist/jsonl-path.d.ts.map +1 -1
  21. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +11 -0
  22. package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
  23. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  24. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +14 -6
  25. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  26. package/payload/platform/services/claude-session-manager/dist/reaper.d.ts +2 -0
  27. package/payload/platform/services/claude-session-manager/dist/reaper.d.ts.map +1 -1
  28. package/payload/platform/services/claude-session-manager/dist/reaper.js +6 -3
  29. package/payload/platform/services/claude-session-manager/dist/reaper.js.map +1 -1
  30. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +6 -4
  31. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
  32. package/payload/platform/services/claude-session-manager/dist/session-store.js +8 -10
  33. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
  34. package/payload/platform/services/claude-session-manager/dist/types.d.ts +0 -4
  35. package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
  36. package/payload/platform/services/claude-session-manager/dist/user-title-store.d.ts +39 -0
  37. package/payload/platform/services/claude-session-manager/dist/user-title-store.d.ts.map +1 -0
  38. package/payload/platform/services/claude-session-manager/dist/user-title-store.js +138 -0
  39. package/payload/platform/services/claude-session-manager/dist/user-title-store.js.map +1 -0
  40. package/payload/premium-plugins/real-agent/plugins/brochures/skills/make-brochure/SKILL.md +1 -1
  41. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/SKILL.md +3 -0
  42. package/payload/server/public/assets/admin-BhEvxMrC.js +217 -0
  43. package/payload/server/public/assets/{data-3n20lir5.js → data-Cbo0tTS3.js} +1 -1
  44. package/payload/server/public/assets/{graph-ChwMpxn_.js → graph-Beucu3_J.js} +1 -1
  45. package/payload/server/public/assets/graph-labels-D15-eFQK.js +1 -0
  46. package/payload/server/public/assets/{page-DNjUtT5q.js → page-Bu8kO4jO.js} +2 -2
  47. package/payload/server/public/assets/{page-D3bFmqF4.js → page-C1hj89Gf.js} +1 -1
  48. package/payload/server/public/data.html +3 -3
  49. package/payload/server/public/graph.html +3 -3
  50. package/payload/server/public/index.html +4 -4
  51. package/payload/server/server-init.cjs +35 -3
  52. package/payload/server/server.js +33 -0
  53. package/payload/server/public/assets/admin-C57bDUgs.js +0 -217
  54. package/payload/server/public/assets/graph-labels-CUgJgIwl.js +0 -1
package/dist/index.js CHANGED
@@ -3128,6 +3128,37 @@ WantedBy=multi-user.target
3128
3128
  spawnSync("sudo", ["loginctl", "enable-linger", currentUser], { stdio: "inherit" });
3129
3129
  }
3130
3130
  catch { /* not critical */ }
3131
+ // Task 249: persist the systemd journal so per-unit lifecycle events
3132
+ // (watchdog timeouts, SIGTERM/SIGKILL transitions, restart reasons) survive
3133
+ // reboots and are queryable via `journalctl --user -u <brand>.service`.
3134
+ //
3135
+ // Bookworm-canonical mechanism: journald uses persistent storage when
3136
+ // `/var/log/journal/<machine-id>/` exists. No user-level
3137
+ // systemd-journald.service exists by default on Debian; the system instance
3138
+ // stores user-unit events in the same tree, filtered at read time. We only
3139
+ // restart journald when we just created the directory — if the path already
3140
+ // existed, persistence was already active and restarting would needlessly
3141
+ // churn the system journal during the install.
3142
+ try {
3143
+ const machineId = readFileSync("/etc/machine-id", "utf-8").trim();
3144
+ if (machineId) {
3145
+ const journalPath = `/var/log/journal/${machineId}`;
3146
+ const alreadyPersistent = existsSync(journalPath);
3147
+ if (!alreadyPersistent) {
3148
+ console.log(" [privileged] mkdir /var/log/journal");
3149
+ shell("mkdir", ["-p", journalPath], { sudo: true });
3150
+ console.log(" [privileged] systemctl restart systemd-journald");
3151
+ spawnSync("sudo", ["systemctl", "restart", "systemd-journald"], { stdio: "inherit", timeout: 15_000 });
3152
+ logFile(` journald persistence: enabled (created ${journalPath} + restarted journald)`);
3153
+ }
3154
+ else {
3155
+ logFile(` journald persistence: already active (${journalPath} present)`);
3156
+ }
3157
+ }
3158
+ }
3159
+ catch (err) {
3160
+ console.error(` WARNING: failed to enable journald persistence: ${err instanceof Error ? err.message : String(err)}`);
3161
+ }
3131
3162
  // Reload and (re)start.
3132
3163
  //
3133
3164
  // ordering: on upgrades, the old main brand service still holds
@@ -97,7 +97,7 @@ ExecStartPre=-/bin/bash ${o.installDir}/platform/scripts/resume-tunnel.sh
97
97
  ExecStart=/usr/bin/node --require ./server-init.cjs server.js
98
98
  Restart=on-failure
99
99
  RestartSec=5
100
- WatchdogSec=30
100
+ WatchdogSec=120
101
101
  TimeoutStartSec=60
102
102
  TimeoutStopSec=10
103
103
  Environment=NODE_ENV=production
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.90",
3
+ "version": "0.1.92",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -113,10 +113,6 @@
113
113
  "resolved": "plugins/scheduling/mcp",
114
114
  "link": true
115
115
  },
116
- "node_modules/@maxy/tasks": {
117
- "resolved": "plugins/tasks/mcp",
118
- "link": true
119
- },
120
116
  "node_modules/@maxy/waitlist": {
121
117
  "resolved": "plugins/waitlist/mcp",
122
118
  "link": true
@@ -125,6 +121,10 @@
125
121
  "resolved": "plugins/whatsapp/mcp",
126
122
  "link": true
127
123
  },
124
+ "node_modules/@maxy/work": {
125
+ "resolved": "plugins/work/mcp",
126
+ "link": true
127
+ },
128
128
  "node_modules/@maxy/workflows": {
129
129
  "resolved": "plugins/workflows/mcp",
130
130
  "link": true
@@ -3454,6 +3454,7 @@
3454
3454
  "plugins/tasks/mcp": {
3455
3455
  "name": "@maxy/tasks",
3456
3456
  "version": "0.1.0",
3457
+ "extraneous": true,
3457
3458
  "dependencies": {
3458
3459
  "@modelcontextprotocol/sdk": "^1.12.1",
3459
3460
  "neo4j-driver": "^5.28.1",
@@ -3503,6 +3504,19 @@
3503
3504
  "typescript": "^5.7.0"
3504
3505
  }
3505
3506
  },
3507
+ "plugins/work/mcp": {
3508
+ "name": "@maxy/work",
3509
+ "version": "0.1.0",
3510
+ "dependencies": {
3511
+ "@modelcontextprotocol/sdk": "^1.12.1",
3512
+ "neo4j-driver": "^5.28.1",
3513
+ "zod": "^3.24.0"
3514
+ },
3515
+ "devDependencies": {
3516
+ "@types/node": "^22.0.0",
3517
+ "typescript": "^5.7.0"
3518
+ }
3519
+ },
3506
3520
  "plugins/workflows/mcp": {
3507
3521
  "name": "@maxy/workflows",
3508
3522
  "version": "0.2.0",
@@ -2,7 +2,9 @@ import type { Logger } from './types.js';
2
2
  export type RowState = 'live' | 'archived';
3
3
  export type RowStatus = 'idle' | 'busy' | 'gone';
4
4
  export interface SessionRow {
5
- /** Intrinsic Claude session id (UUID). Canonical key. */
5
+ /** Intrinsic Claude session id (UUID). Canonical key. For a top-level
6
+ * jsonl row, this is the file basename. For a pre-first-turn live row,
7
+ * this is the sessionId from the PID file. */
6
8
  sessionId: string;
7
9
  /** Full bridge session id ("session_<suffix>") from PID file, or null. */
8
10
  bridgeSessionId: string | null;
@@ -11,7 +13,7 @@ export interface SessionRow {
11
13
  /** Specialist agent name from PID file (`--agent <name>`), or null.
12
14
  * Always null on archived rows — PID file is gone by then. */
13
15
  agent: string | null;
14
- /** Specialist agent name cached from the first JSONL `agent-setting`
16
+ /** Specialist agent name cached from the JSONL `agent-setting`
15
17
  * record (read once at row-archive transition or boot-seed of an
16
18
  * archived row). Null when the JSONL has no `agent-setting` record
17
19
  * (operator-driven session). UI's resolveAgentLabel falls back to
@@ -19,7 +21,6 @@ export interface SessionRow {
19
21
  cachedAgentSetting: string | null;
20
22
  cwd: string | null;
21
23
  pid: number | null;
22
- jsonlPath: string | null;
23
24
  pidFilePath: string | null;
24
25
  state: RowState;
25
26
  status: RowStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAsCxC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;mEAC+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;qCAIiC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,SAAS,CAAA;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,IAAI,CAAA;IAChB,GAAG,IAAI,IAAI,CAAA;IACX,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI,CAAA;IACtC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAClD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACxD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC7C,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/D,KAAK,IAAI,IAAI,CAAA;IACb;;;;2EAIuE;IACvE,UAAU,EAAE;QACV,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KACvC,CAAA;CACF;AA0DD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,SAAS,CAoaZ"}
1
+ {"version":3,"file":"fs-watcher.d.ts","sourceRoot":"","sources":["../src/fs-watcher.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAsCxC,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB;;mDAE+C;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;mEAC+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;qCAIiC;IACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,SAAS,CAAA;IACjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAA;IACvB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,IAAI,CAAA;IAChB,GAAG,IAAI,IAAI,CAAA;IACX,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI,CAAA;IACtC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAClD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACxD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAC7C,GAAG,IAAI,UAAU,EAAE,CAAA;IACnB,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC/D,KAAK,IAAI,IAAI,CAAA;IACb;;;;2EAIuE;IACvE,UAAU,EAAE;QACV,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KACvC,CAAA;CACF;AAyDD,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,SAAS,CA2XZ"}