skalpel 3.1.8 → 3.1.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skalpel",
3
- "version": "3.1.8",
3
+ "version": "3.1.10",
4
4
  "description": "Skalpel — local proxy and TUI for coding agents (skalpel + skalpeld bundle).",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://skalpel.ai",
@@ -57,10 +57,10 @@
57
57
  "x64"
58
58
  ],
59
59
  "optionalDependencies": {
60
- "@skalpelai/skalpel-darwin-arm64": "3.1.8",
61
- "@skalpelai/skalpel-darwin-x64": "3.1.8",
62
- "@skalpelai/skalpel-linux-arm64": "3.1.8",
63
- "@skalpelai/skalpel-linux-x64": "3.1.8",
64
- "@skalpelai/skalpel-win32-x64": "3.1.8"
60
+ "@skalpelai/skalpel-darwin-arm64": "3.1.10",
61
+ "@skalpelai/skalpel-darwin-x64": "3.1.10",
62
+ "@skalpelai/skalpel-linux-arm64": "3.1.10",
63
+ "@skalpelai/skalpel-linux-x64": "3.1.10",
64
+ "@skalpelai/skalpel-win32-x64": "3.1.10"
65
65
  }
66
66
  }
@@ -102,10 +102,21 @@ function loadCommands() {
102
102
  ];
103
103
  }
104
104
  default:
105
+ // BUG-0038 (cont.19 stale-daemon fix): use `restart` instead of
106
+ // `start`. systemd `start` is a no-op when the unit is already
107
+ // active — so on every `npm i -g skalpel` UPGRADE, the running
108
+ // daemon stays on its in-memory copy of the OLD binary (Linux's
109
+ // kernel keeps the deleted-inode file mapped) and the postinstall
110
+ // silently does nothing. The user thinks they upgraded but the
111
+ // running code is still the prior version. `restart` instead does
112
+ // a graceful stop+start: SIGTERM → daemon drains → exits →
113
+ // releases the deleted inode → systemd brings up a new instance
114
+ // that exec()s the NEW binary now on disk. Idempotent vs fresh
115
+ // install (restart of an inactive unit just starts it).
105
116
  return [
106
117
  ['systemctl', ['--user', 'daemon-reload']],
107
118
  ['systemctl', ['--user', 'enable', 'skalpel-daemon.service']],
108
- ['systemctl', ['--user', 'start', 'skalpel-daemon.service']],
119
+ ['systemctl', ['--user', 'restart', 'skalpel-daemon.service']],
109
120
  ];
110
121
  }
111
122
  }