peerllm-host-cli 2.2.3 → 2.3.0

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.
@@ -29,6 +29,11 @@ export declare function renderDaemonPlist(exec: DaemonExec, vars: {
29
29
  home: string;
30
30
  logsDir: string;
31
31
  }): string;
32
+ /** Render the boot-mode (system systemd) unit. Pure — backs both install and tests. */
33
+ export declare function renderSystemUnit(exec: DaemonExec, vars: {
34
+ user: string;
35
+ home: string;
36
+ }): string;
32
37
  export declare function makeServiceCommand(): Command;
33
38
  export {};
34
39
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAYrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAErD;AAMD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEpD;AAgFD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAQR;AAuMD,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAYrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAErD;AAMD,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEpD;AA4FD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAQR;AAED,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAO/F;AAuOD,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C"}
@@ -118,9 +118,18 @@ async function uninstallLaunchd() {
118
118
  await unlink(plistPath);
119
119
  return plistPath;
120
120
  }
121
- // The installed system LaunchDaemon lives here (root-owned). World-readable, so
122
- // `status` can detect it without sudo.
121
+ // Where each platform's installed boot unit lives (root-owned, world-readable, so
122
+ // `status` can detect it without sudo).
123
123
  const LAUNCHD_DAEMON_PATH = "/Library/LaunchDaemons/com.peerllm.host.plist";
124
+ const SYSTEMD_SYSTEM_PATH = "/etc/systemd/system/peerllm-host.service";
125
+ /** Boot install runs as the normal user (node + config paths resolve; the CLI
126
+ * shebang can't find node under sudo's reset PATH). Refuse to run under sudo. */
127
+ function assertNotRootForBoot() {
128
+ if (typeof process.getuid === "function" && process.getuid() === 0) {
129
+ throw new Error("Run `peerllm-host service install --boot` as your normal user (without sudo).\n" +
130
+ "It generates the unit; you then run the printed sudo commands to install it.");
131
+ }
132
+ }
124
133
  /** Render the boot-mode (LaunchDaemon) plist. Pure — backs both install and tests. */
125
134
  export function renderDaemonPlist(exec, vars) {
126
135
  const template = readFileSync(join(templatesDir(), "launchd", "com.peerllm.host.daemon.plist"), "utf8");
@@ -131,20 +140,30 @@ export function renderDaemonPlist(exec, vars) {
131
140
  HOME_DIR: vars.home,
132
141
  });
133
142
  }
134
- // ── Boot mode (macOS LaunchDaemon) ──────────────────────────────────────────
135
- // A LaunchDaemon starts at boot in the SYSTEM domain — no login, no unlocked
136
- // desktop which is what a headless, SSH-managed host wants. We GENERATE the
137
- // plist as the normal user (where node + config paths resolve; the CLI's
138
- // `#!/usr/bin/env node` shebang can't find node under sudo's reset PATH) and print
139
- // the short sudo sequence that installs + loads it.
143
+ /** Render the boot-mode (system systemd) unit. Pure — backs both install and tests. */
144
+ export function renderSystemUnit(exec, vars) {
145
+ const template = readFileSync(join(templatesDir(), "systemd", "peerllm-host.system.service"), "utf8");
146
+ return fillTemplate(template, {
147
+ EXEC_START: execStartLine(daemonArgv(exec)),
148
+ USER_NAME: vars.user,
149
+ HOME_DIR: vars.home,
150
+ });
151
+ }
152
+ // ── Boot mode ────────────────────────────────────────────────────────────────
153
+ // Boot-level = starts at boot in the SYSTEM domain, no login, no unlocked desktop
154
+ // — what a headless, SSH-managed host wants. macOS → LaunchDaemon; Linux → a system
155
+ // systemd unit. Both are GENERATED as the normal user (where node + config paths
156
+ // resolve; the CLI's `#!/usr/bin/env node` shebang can't find node under sudo's
157
+ // reset PATH), then installed via a short printed sudo sequence.
158
+ async function installBoot(ctx) {
159
+ if (osPlatform() === "darwin")
160
+ return installLaunchDaemon(ctx);
161
+ if (osPlatform() === "linux")
162
+ return installSystemdSystem(ctx);
163
+ throw new Error("--boot (boot-level system service) is supported on macOS and Linux only.");
164
+ }
140
165
  async function installLaunchDaemon(ctx) {
141
- if (osPlatform() !== "darwin") {
142
- throw new Error("--boot (system LaunchDaemon) is currently supported on macOS only.");
143
- }
144
- if (typeof process.getuid === "function" && process.getuid() === 0) {
145
- throw new Error("Run `peerllm-host service install --boot` as your normal user (without sudo).\n" +
146
- "It generates the daemon plist; you then run the printed sudo commands to install it.");
147
- }
166
+ assertNotRootForBoot();
148
167
  const user = userInfo().username;
149
168
  const home = homedir();
150
169
  const rendered = renderDaemonPlist(ctx.exec, { user, home, logsDir: ctx.paths.logsDir });
@@ -157,10 +176,13 @@ async function installLaunchDaemon(ctx) {
157
176
  boot: true,
158
177
  hint: `Boot mode runs headless as "${user}" at startup — no login, no unlocked desktop.
159
178
  Install & start it (one time):
179
+ sudo launchctl bootout system/com.peerllm.host 2>/dev/null; launchctl bootout gui/$(id -u)/com.peerllm.host 2>/dev/null
160
180
  sudo cp "${staged}" ${LAUNCHD_DAEMON_PATH}
161
181
  sudo chown root:wheel ${LAUNCHD_DAEMON_PATH}
162
182
  sudo launchctl bootstrap system ${LAUNCHD_DAEMON_PATH}
163
183
  sudo launchctl kickstart -k system/com.peerllm.host
184
+ (The first line clears any leftover login-mode LaunchAgent with the same label —
185
+ skipping it makes bootstrap fail with "5: Input/output error".)
164
186
  Verify it is running:
165
187
  sudo launchctl print system/com.peerllm.host | grep -i state
166
188
  Remove it later:
@@ -169,6 +191,28 @@ async function installLaunchDaemon(ctx) {
169
191
  daemon starts; with it OFF the host returns fully unattended.`,
170
192
  };
171
193
  }
194
+ async function installSystemdSystem(ctx) {
195
+ assertNotRootForBoot();
196
+ const user = userInfo().username;
197
+ const home = homedir();
198
+ const rendered = renderSystemUnit(ctx.exec, { user, home });
199
+ await mkdir(ctx.paths.configDir, { recursive: true });
200
+ const staged = join(ctx.paths.configDir, "peerllm-host.system.service");
201
+ await writeFile(staged, rendered, { mode: 0o644 });
202
+ return {
203
+ path: staged,
204
+ boot: true,
205
+ hint: `Boot mode runs headless as "${user}" at startup — no login needed.
206
+ Install & start it (one time):
207
+ sudo cp "${staged}" ${SYSTEMD_SYSTEM_PATH}
208
+ sudo systemctl daemon-reload
209
+ sudo systemctl enable --now peerllm-host
210
+ Verify it is running:
211
+ systemctl status peerllm-host
212
+ Remove it later:
213
+ peerllm-host service uninstall --boot`,
214
+ };
215
+ }
172
216
  async function installWindows(ctx) {
173
217
  const scriptPath = join(templatesDir(), "windows", "install-service.ps1");
174
218
  const argv = daemonArgv(ctx.exec);
@@ -216,12 +260,12 @@ function makeInstall() {
216
260
  .description("Install the platform-appropriate service unit (user-level)")
217
261
  .option("--cli-bin <path>", "absolute path to a launcher binary (default: current node + this CLI's entry script, PATH-independent)")
218
262
  .option("--config-dir <path>", "override config directory")
219
- .option("--boot", "boot-level system service that starts at startup with no login (macOS LaunchDaemon)")
263
+ .option("--boot", "boot-level system service that starts at startup with no login (macOS LaunchDaemon / Linux system unit)")
220
264
  .action(async (opts) => {
221
265
  const ctx = buildContext(opts);
222
266
  try {
223
267
  const installer = opts.boot
224
- ? installLaunchDaemon
268
+ ? installBoot
225
269
  : osPlatform() === "darwin"
226
270
  ? installLaunchd
227
271
  : osPlatform() === "win32"
@@ -241,20 +285,27 @@ function makeInstall() {
241
285
  function makeUninstall() {
242
286
  return new Command("uninstall")
243
287
  .description("Remove the installed service unit")
244
- .option("--boot", "remove the boot-level system service (macOS LaunchDaemon)")
288
+ .option("--boot", "remove the boot-level system service (macOS LaunchDaemon / Linux system unit)")
245
289
  .option("--config-dir <path>", "override config directory")
246
290
  .action(async (opts) => {
247
291
  if (opts.boot) {
248
- if (osPlatform() !== "darwin") {
249
- printError("--boot (system LaunchDaemon) is currently supported on macOS only.");
292
+ const os = osPlatform();
293
+ if (os !== "darwin" && os !== "linux") {
294
+ printError("--boot is supported on macOS and Linux only.");
250
295
  process.exit(EXIT.runtimeError);
251
296
  }
252
- const staged = join(resolvePaths({ configDirOverride: opts.configDir }).configDir, "com.peerllm.host.daemon.plist");
297
+ const configDir = resolvePaths({ configDirOverride: opts.configDir }).configDir;
298
+ const stagedName = os === "darwin" ? "com.peerllm.host.daemon.plist" : "peerllm-host.system.service";
299
+ const staged = join(configDir, stagedName);
253
300
  if (existsSync(staged))
254
301
  await unlink(staged).catch(() => undefined);
255
- process.stdout.write(`Boot service removal needs sudo. Run:
256
- sudo launchctl bootout system/com.peerllm.host
257
- sudo rm -f ${LAUNCHD_DAEMON_PATH}\n`);
302
+ const removalSteps = os === "darwin"
303
+ ? ` sudo launchctl bootout system/com.peerllm.host
304
+ sudo rm -f ${LAUNCHD_DAEMON_PATH}`
305
+ : ` sudo systemctl disable --now peerllm-host
306
+ sudo rm -f ${SYSTEMD_SYSTEM_PATH}
307
+ sudo systemctl daemon-reload`;
308
+ process.stdout.write(`Boot service removal needs sudo. Run:\n${removalSteps}\n`);
258
309
  process.exit(EXIT.ok);
259
310
  }
260
311
  const removed = osPlatform() === "darwin"
@@ -294,10 +345,14 @@ function makeStatus() {
294
345
  process.stdout.write(`type: ${kind}\n`);
295
346
  process.stdout.write(`path: ${unitPath}\n`);
296
347
  process.stdout.write(`installed: ${installed ? "yes" : "no"}\n`);
297
- // On macOS also report boot mode (a root-owned LaunchDaemon, world-readable).
348
+ // Also report boot mode a root-owned unit that's world-readable, so we can
349
+ // detect it without sudo. macOS = LaunchDaemon; Linux = system systemd unit.
298
350
  if (osPlatform() === "darwin") {
299
351
  process.stdout.write(`boot: ${existsSync(LAUNCHD_DAEMON_PATH) ? "yes" : "no"} (LaunchDaemon ${LAUNCHD_DAEMON_PATH})\n`);
300
352
  }
353
+ else if (osPlatform() === "linux") {
354
+ process.stdout.write(`boot: ${existsSync(SYSTEMD_SYSTEM_PATH) ? "yes" : "no"} (systemd system unit ${SYSTEMD_SYSTEM_PATH})\n`);
355
+ }
301
356
  process.exit(EXIT.ok);
302
357
  });
303
358
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC;AAOD;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAuB;IACvD,IAAI,cAAc;QAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,+EAA+E;IAC/E,4EAA4E;IAC5E,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,IAA4B;IACjE,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE,CAC/D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CACjF,CAAC;AACJ,CAAC;AAQD,SAAS,YAAY,CAAC,IAA6C;IACjE,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAmB;IAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;;;;6BAImB,QAAQ,EAAE,CAAC,QAAQ,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,+EAA+E;IAC/E,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5F,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAmB;IAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE;QACtC,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;KAC3B,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAC3D,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;wBACc,SAAS;;uBAEV,SAAS,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kFAAkF;AAClF,wCAAwC;AACxC,MAAM,mBAAmB,GAAG,+CAA+C,CAAC;AAC5E,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAEvE;iFACiF;AACjF,SAAS,oBAAoB;IAC3B,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,iFAAiF;YAC/E,8EAA8E,CACjF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAC/B,IAAgB,EAChB,IAAqD;IAErD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,+BAA+B,CAAC,EAAE,MAAM,CAAC,CAAC;IACxG,OAAO,YAAY,CAAC,QAAQ,EAAE;QAC5B,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC,CAAC;AACL,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,IAAoC;IACrF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,6BAA6B,CAAC,EAAE,MAAM,CAAC,CAAC;IACtG,OAAO,YAAY,CAAC,QAAQ,EAAE;QAC5B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3C,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;KACpB,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,kFAAkF;AAClF,oFAAoF;AACpF,iFAAiF;AACjF,gFAAgF;AAChF,iEAAiE;AACjE,KAAK,UAAU,WAAW,CAAC,GAAmB;IAC5C,IAAI,UAAU,EAAE,KAAK,QAAQ;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,UAAU,EAAE,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAmB;IACpD,oBAAoB,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,+BAA+B,IAAI;;;eAG9B,MAAM,KAAK,mBAAmB;4BACjB,mBAAmB;sCACT,mBAAmB;;;;;;;;;mEASU;KAChE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,GAAmB;IACrD,oBAAoB,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACxE,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,+BAA+B,IAAI;;eAE9B,MAAM,KAAK,mBAAmB;;;;;;0CAMH;KACvC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAmB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,CAAC,CAAC;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,SAAS,CACtB,gBAAgB,EAChB;QACE,YAAY;QACZ,kBAAkB;QAClB,QAAQ;QACR,OAAO;QACP,UAAU;QACV,UAAU;QACV,OAAO;QACP,YAAY;QACZ,QAAQ;KACT,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,2BAA2B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE;;4DAEkD;KACzD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,MAAM,GAAG,SAAS,CACtB,gBAAgB,EAChB;QACE,YAAY;QACZ,kBAAkB;QAClB,QAAQ;QACR,UAAU;QACV,qHAAqH;KACtH,EACD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,+BAA+B,CAAC;AACzC,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CACL,kBAAkB,EAClB,wGAAwG,CACzG;SACA,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CACL,QAAQ,EACR,yGAAyG,CAC1G;SACA,MAAM,CAAC,KAAK,EAAE,IAA6D,EAAE,EAAE;QAC9E,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI;gBACzB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,UAAU,EAAE,KAAK,QAAQ;oBACzB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,UAAU,EAAE,KAAK,OAAO;wBACxB,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,cAAc,CAAC;YACvB,MAAM,MAAM,GAAmD,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;SAC5B,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,QAAQ,EAAE,+EAA+E,CAAC;SACjG,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,IAA4C,EAAE,EAAE;QAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBACtC,UAAU,CAAC,8CAA8C,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,UAAU,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACrG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3C,IAAI,UAAU,CAAC,MAAM,CAAC;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,YAAY,GAChB,EAAE,KAAK,QAAQ;gBACb,CAAC,CAAC;iBACG,mBAAmB,EAAE;gBAC1B,CAAC,CAAC;iBACG,mBAAmB;iCACH,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,YAAY,IAAI,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GACX,UAAU,EAAE,KAAK,QAAQ;YACvB,CAAC,CAAC,MAAM,gBAAgB,EAAE;YAC1B,CAAC,CAAC,UAAU,EAAE,KAAK,OAAO;gBACxB,CAAC,CAAC,MAAM,gBAAgB,EAAE;gBAC1B,CAAC,CAAC,MAAM,gBAAgB,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,QAAgB,CAAC;QACrB,IAAI,IAAY,CAAC;QACjB,QAAQ,UAAU,EAAE,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,IAAI,GAAG,SAAS,CAAC;gBACjB,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC;gBAChF,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,GAAG,gBAAgB,CAAC;gBACxB,QAAQ,GAAG,cAAc,CAAC;gBAC1B,MAAM;YACR;gBACE,IAAI,GAAG,gBAAgB,CAAC;gBACxB,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;gBACjF,MAAM;QACV,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACjE,6EAA6E;QAC7E,6EAA6E;QAC7E,IAAI,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,kBAAkB,mBAAmB,KAAK,CACvG,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,yBAAyB,mBAAmB,KAAK,CAC9G,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,2GAA2G,CAAC;SACxH,UAAU,CAAC,WAAW,EAAE,CAAC;SACzB,UAAU,CAAC,aAAa,EAAE,CAAC;SAC3B,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peerllm-host-cli",
3
- "version": "2.2.3",
3
+ "version": "2.3.0",
4
4
  "description": "Command-line PeerLLM host: serve decentralized AI compute from a headless machine.",
5
5
  "author": {
6
6
  "name": "Hassan Habib",
@@ -0,0 +1,24 @@
1
+ [Unit]
2
+ Description=PeerLLM Host daemon (boot-level system service)
3
+ After=network-online.target
4
+ Wants=network-online.target
5
+
6
+ [Service]
7
+ Type=simple
8
+ # Runs as the owner (not root): drops privilege to the user who generated the unit.
9
+ User={USER_NAME}
10
+ # systemd does not derive HOME from User=, so set it explicitly — otherwise the
11
+ # daemon resolves config / models / logs under root's home and can't find the
12
+ # user's models.
13
+ Environment=HOME={HOME_DIR}
14
+ # Rendered at install time as an absolute node binary + this CLI's entry script,
15
+ # so the unit does not depend on PATH.
16
+ ExecStart={EXEC_START}
17
+ Restart=on-failure
18
+ RestartSec=5
19
+ # Daemon writes its own logs under ~/PeerLLM/logs/; journal also captures stderr.
20
+ StandardError=journal
21
+ StandardOutput=journal
22
+
23
+ [Install]
24
+ WantedBy=multi-user.target