@sonde/agent 0.2.6 → 0.2.7

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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstallerApp.d.ts","sourceRoot":"","sources":["../../../src/tui/installer/InstallerApp.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAUD,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAuD9E"}
1
+ {"version":3,"file":"InstallerApp.d.ts","sourceRoot":"","sources":["../../../src/tui/installer/InstallerApp.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAyD9E"}
@@ -6,11 +6,13 @@ import { StepHub } from './StepHub.js';
6
6
  import { StepPacks } from './StepPacks.js';
7
7
  import { StepPermissions } from './StepPermissions.js';
8
8
  import { StepScan } from './StepScan.js';
9
+ import { StepService } from './StepService.js';
9
10
  const STEP_LABELS = {
10
11
  hub: 'Hub Connection',
11
12
  scan: 'System Scan',
12
13
  packs: 'Pack Selection',
13
14
  permissions: 'Permissions',
15
+ service: 'Systemd Service',
14
16
  complete: 'Complete',
15
17
  };
16
18
  export function InstallerApp({ initialHubUrl }) {
@@ -27,6 +29,6 @@ export function InstallerApp({ initialHubUrl }) {
27
29
  } })), step === 'packs' && (_jsx(StepPacks, { scanResults: scanResults, onNext: (packs) => {
28
30
  setSelectedPacks(packs);
29
31
  setStep('permissions');
30
- } })), step === 'permissions' && (_jsx(StepPermissions, { selectedPacks: selectedPacks, onNext: () => setStep('complete'), onBack: () => setStep('packs') })), step === 'complete' && _jsx(StepComplete, { hubConfig: hubConfig, selectedPacks: selectedPacks })] }));
32
+ } })), step === 'permissions' && (_jsx(StepPermissions, { selectedPacks: selectedPacks, onNext: () => setStep('service'), onBack: () => setStep('packs') })), step === 'service' && _jsx(StepService, { onNext: () => setStep('complete') }), step === 'complete' && _jsx(StepComplete, { hubConfig: hubConfig, selectedPacks: selectedPacks })] }));
31
33
  }
32
34
  //# sourceMappingURL=InstallerApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstallerApp.js","sourceRoot":"","sources":["../../../src/tui/installer/InstallerApp.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,MAAM,WAAW,GAAyB;IACxC,GAAG,EAAE,gBAAgB;IACrB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;CACrB,CAAC;AAMF,MAAM,UAAU,YAAY,CAAC,EAAE,aAAa,EAAqB;IAC/D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACjG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAEvE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,aAC5E,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,gCAEhB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBAAK,WAAW,CAAC,IAAI,CAAC,IAAQ,IAC5C,EAEL,IAAI,KAAK,KAAK,IAAI,CACjB,KAAC,OAAO,IACN,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;oBACjB,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,GACD,CACH,EAEA,IAAI,KAAK,MAAM,IAAI,CAClB,KAAC,QAAQ,IACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;oBAClB,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxB,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC,GACD,CACH,EAEA,IAAI,KAAK,OAAO,IAAI,CACnB,KAAC,SAAS,IACR,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,OAAO,CAAC,aAAa,CAAC,CAAC;gBACzB,CAAC,GACD,CACH,EAEA,IAAI,KAAK,aAAa,IAAI,CACzB,KAAC,eAAe,IACd,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EACjC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAC9B,CACH,EAEA,IAAI,KAAK,UAAU,IAAI,KAAC,YAAY,IAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,GAAI,IACxF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"InstallerApp.js","sourceRoot":"","sources":["../../../src/tui/installer/InstallerApp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface StepServiceProps {
2
+ onNext: () => void;
3
+ }
4
+ export declare function StepService({ onNext }: StepServiceProps): JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=StepService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepService.d.ts","sourceRoot":"","sources":["../../../src/tui/installer/StepService.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAID,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoGrE"}
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from 'ink';
3
+ import Spinner from 'ink-spinner';
4
+ import { useState } from 'react';
5
+ import { installService } from '../../cli/service.js';
6
+ export function StepService({ onNext }) {
7
+ const [phase, setPhase] = useState('prompt');
8
+ const [result, setResult] = useState(null);
9
+ const isLinux = process.platform === 'linux';
10
+ useInput((input, key) => {
11
+ if (!isLinux) {
12
+ if (key.return)
13
+ onNext();
14
+ return;
15
+ }
16
+ if (phase === 'prompt') {
17
+ if (input === 'y' || input === 'Y' || key.return) {
18
+ setPhase('installing');
19
+ // Run async to let the spinner render
20
+ setTimeout(() => {
21
+ const res = installService();
22
+ setResult(res);
23
+ setPhase('done');
24
+ }, 0);
25
+ }
26
+ else if (input === 'n' || input === 'N') {
27
+ setResult(null);
28
+ setPhase('done');
29
+ }
30
+ }
31
+ if (phase === 'done' && (key.return || input)) {
32
+ onNext();
33
+ }
34
+ });
35
+ if (!isLinux) {
36
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Systemd Service" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Skipped \u2014 systemd services are only available on Linux." }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Press Enter to continue." }) })] }));
37
+ }
38
+ if (phase === 'installing') {
39
+ return (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: _jsx(Spinner, { type: "dots" }) }), _jsx(Text, { children: " Installing systemd service..." })] }));
40
+ }
41
+ if (phase === 'done') {
42
+ if (result === null) {
43
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Systemd Service" }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", children: ["Skipped. You can set this up later with:", ' ', _jsx(Text, { color: "cyan", children: "sonde service install" })] }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Press any key to continue." }) })] }));
44
+ }
45
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Systemd Service" }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: result.success ? 'green' : 'red', children: [result.success ? ' OK' : ' !!', " ", result.message] }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "Press any key to continue." }) })] }));
46
+ }
47
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Systemd Service" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { children: "Set up sonde-agent as a systemd service? (starts on boot)" }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "y: install service | n: skip" }) })] }));
48
+ }
49
+ //# sourceMappingURL=StepService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepService.js","sourceRoot":"","sources":["../../../src/tui/installer/StepService.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonde/agent",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,124 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest';
2
+
3
+ vi.mock('node:child_process', () => ({
4
+ execFileSync: vi.fn(),
5
+ }));
6
+
7
+ vi.mock('node:fs', () => ({
8
+ default: { existsSync: vi.fn() },
9
+ }));
10
+
11
+ vi.mock('node:os', () => ({
12
+ default: {
13
+ userInfo: () => ({
14
+ username: 'testuser',
15
+ homedir: '/home/testuser',
16
+ }),
17
+ },
18
+ }));
19
+
20
+ import { execFileSync } from 'node:child_process';
21
+ import fs from 'node:fs';
22
+ import {
23
+ generateUnitFile,
24
+ getServiceStatus,
25
+ isServiceInstalled,
26
+ } from './service.js';
27
+
28
+ const mockExec = vi.mocked(execFileSync);
29
+ const mockExists = vi.mocked(fs.existsSync);
30
+
31
+ describe('generateUnitFile', () => {
32
+ it('includes the current user and home directory', () => {
33
+ mockExec.mockReturnValueOnce('/usr/local/bin/sonde\n');
34
+ const unit = generateUnitFile();
35
+ expect(unit).toContain('User=testuser');
36
+ expect(unit).toContain('Environment=HOME=/home/testuser');
37
+ });
38
+
39
+ it('includes the resolved sonde binary path', () => {
40
+ mockExec.mockReturnValueOnce('/usr/local/bin/sonde\n');
41
+ const unit = generateUnitFile();
42
+ expect(unit).toContain(
43
+ 'ExecStart=/usr/local/bin/sonde start --headless',
44
+ );
45
+ });
46
+
47
+ it('sets restart on failure with 5s delay', () => {
48
+ mockExec.mockReturnValueOnce('/usr/bin/sonde\n');
49
+ const unit = generateUnitFile();
50
+ expect(unit).toContain('Restart=on-failure');
51
+ expect(unit).toContain('RestartSec=5');
52
+ });
53
+
54
+ it('targets network-online', () => {
55
+ mockExec.mockReturnValueOnce('/usr/bin/sonde\n');
56
+ const unit = generateUnitFile();
57
+ expect(unit).toContain('After=network-online.target');
58
+ expect(unit).toContain('Wants=network-online.target');
59
+ });
60
+ });
61
+
62
+ describe('isServiceInstalled', () => {
63
+ const originalPlatform = process.platform;
64
+
65
+ afterEach(() => {
66
+ Object.defineProperty(process, 'platform', {
67
+ value: originalPlatform,
68
+ });
69
+ });
70
+
71
+ it('returns false on non-Linux platforms', () => {
72
+ Object.defineProperty(process, 'platform', { value: 'darwin' });
73
+ expect(isServiceInstalled()).toBe(false);
74
+ });
75
+
76
+ it('returns true when unit file exists on Linux', () => {
77
+ Object.defineProperty(process, 'platform', { value: 'linux' });
78
+ mockExists.mockReturnValueOnce(true);
79
+ expect(isServiceInstalled()).toBe(true);
80
+ });
81
+
82
+ it('returns false when unit file is missing on Linux', () => {
83
+ Object.defineProperty(process, 'platform', { value: 'linux' });
84
+ mockExists.mockReturnValueOnce(false);
85
+ expect(isServiceInstalled()).toBe(false);
86
+ });
87
+ });
88
+
89
+ describe('getServiceStatus', () => {
90
+ const originalPlatform = process.platform;
91
+
92
+ afterEach(() => {
93
+ Object.defineProperty(process, 'platform', {
94
+ value: originalPlatform,
95
+ });
96
+ });
97
+
98
+ it('returns unsupported on non-Linux', () => {
99
+ Object.defineProperty(process, 'platform', { value: 'darwin' });
100
+ expect(getServiceStatus()).toBe('unsupported');
101
+ });
102
+
103
+ it('returns not-installed when unit file missing', () => {
104
+ Object.defineProperty(process, 'platform', { value: 'linux' });
105
+ mockExists.mockReturnValueOnce(false);
106
+ expect(getServiceStatus()).toBe('not-installed');
107
+ });
108
+
109
+ it('returns active status from systemctl', () => {
110
+ Object.defineProperty(process, 'platform', { value: 'linux' });
111
+ mockExists.mockReturnValueOnce(true);
112
+ mockExec.mockReturnValueOnce('active\n');
113
+ expect(getServiceStatus()).toBe('active');
114
+ });
115
+
116
+ it('returns inactive when systemctl throws', () => {
117
+ Object.defineProperty(process, 'platform', { value: 'linux' });
118
+ mockExists.mockReturnValueOnce(true);
119
+ mockExec.mockImplementationOnce(() => {
120
+ throw new Error('exit code 3');
121
+ });
122
+ expect(getServiceStatus()).toBe('inactive');
123
+ });
124
+ });
@@ -0,0 +1,178 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+
5
+ const UNIT_NAME = 'sonde-agent';
6
+ const UNIT_PATH = `/etc/systemd/system/${UNIT_NAME}.service`;
7
+
8
+ export interface ServiceResult {
9
+ success: boolean;
10
+ message: string;
11
+ }
12
+
13
+ function isLinux(): boolean {
14
+ return process.platform === 'linux';
15
+ }
16
+
17
+ function resolveSondeBinary(): string {
18
+ return execFileSync('which', ['sonde'], {
19
+ encoding: 'utf-8',
20
+ timeout: 5_000,
21
+ }).trim();
22
+ }
23
+
24
+ export function generateUnitFile(): string {
25
+ const user = os.userInfo();
26
+ const sondeBin = resolveSondeBinary();
27
+
28
+ return `[Unit]
29
+ Description=Sonde Agent
30
+ After=network-online.target
31
+ Wants=network-online.target
32
+
33
+ [Service]
34
+ Type=simple
35
+ User=${user.username}
36
+ Environment=HOME=${user.homedir}
37
+ ExecStart=${sondeBin} start --headless
38
+ Restart=on-failure
39
+ RestartSec=5
40
+ StandardOutput=journal
41
+ StandardError=journal
42
+ SyslogIdentifier=${UNIT_NAME}
43
+
44
+ [Install]
45
+ WantedBy=multi-user.target
46
+ `;
47
+ }
48
+
49
+ export function isServiceInstalled(): boolean {
50
+ if (!isLinux()) return false;
51
+ return fs.existsSync(UNIT_PATH);
52
+ }
53
+
54
+ export function getServiceStatus(): string {
55
+ if (!isLinux()) return 'unsupported';
56
+ if (!isServiceInstalled()) return 'not-installed';
57
+
58
+ try {
59
+ return execFileSync('systemctl', ['is-active', UNIT_NAME], {
60
+ encoding: 'utf-8',
61
+ timeout: 5_000,
62
+ }).trim();
63
+ } catch {
64
+ return 'inactive';
65
+ }
66
+ }
67
+
68
+ export function installService(): ServiceResult {
69
+ if (!isLinux()) {
70
+ return {
71
+ success: false,
72
+ message: 'systemd services are only supported on Linux.',
73
+ };
74
+ }
75
+
76
+ try {
77
+ const unitContent = generateUnitFile();
78
+
79
+ execFileSync('sudo', ['tee', UNIT_PATH], {
80
+ input: unitContent,
81
+ stdio: ['pipe', 'pipe', 'pipe'],
82
+ timeout: 10_000,
83
+ });
84
+ execFileSync('sudo', ['systemctl', 'daemon-reload'], { stdio: 'pipe', timeout: 10_000 });
85
+ execFileSync('sudo', ['systemctl', 'enable', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
86
+ execFileSync('sudo', ['systemctl', 'start', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
87
+
88
+ return {
89
+ success: true,
90
+ message: `${UNIT_NAME} service installed and started.`,
91
+ };
92
+ } catch (err: unknown) {
93
+ const msg = err instanceof Error ? err.message : String(err);
94
+ return { success: false, message: `Failed to install service: ${msg}` };
95
+ }
96
+ }
97
+
98
+ export function uninstallService(): ServiceResult {
99
+ if (!isLinux()) {
100
+ return {
101
+ success: false,
102
+ message: 'systemd services are only supported on Linux.',
103
+ };
104
+ }
105
+
106
+ if (!isServiceInstalled()) {
107
+ return { success: false, message: 'Service is not installed.' };
108
+ }
109
+
110
+ try {
111
+ execFileSync('sudo', ['systemctl', 'stop', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
112
+ execFileSync('sudo', ['systemctl', 'disable', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
113
+ execFileSync('sudo', ['rm', '-f', UNIT_PATH], { stdio: 'pipe', timeout: 5_000 });
114
+ execFileSync('sudo', ['systemctl', 'daemon-reload'], { stdio: 'pipe', timeout: 10_000 });
115
+
116
+ return {
117
+ success: true,
118
+ message: `${UNIT_NAME} service removed.`,
119
+ };
120
+ } catch (err: unknown) {
121
+ const msg = err instanceof Error ? err.message : String(err);
122
+ return {
123
+ success: false,
124
+ message: `Failed to uninstall service: ${msg}`,
125
+ };
126
+ }
127
+ }
128
+
129
+ export function stopService(): ServiceResult {
130
+ if (!isLinux()) {
131
+ return {
132
+ success: false,
133
+ message: 'systemd services are only supported on Linux.',
134
+ };
135
+ }
136
+
137
+ try {
138
+ execFileSync('systemctl', ['stop', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
139
+ return { success: true, message: `Stopped ${UNIT_NAME} service.` };
140
+ } catch {
141
+ try {
142
+ execFileSync('sudo', ['systemctl', 'stop', UNIT_NAME], { stdio: 'inherit', timeout: 30_000 });
143
+ return { success: true, message: `Stopped ${UNIT_NAME} service.` };
144
+ } catch {
145
+ return {
146
+ success: false,
147
+ message: `Could not stop service. Try: sudo systemctl stop ${UNIT_NAME}`,
148
+ };
149
+ }
150
+ }
151
+ }
152
+
153
+ export function restartService(): ServiceResult {
154
+ if (!isLinux()) {
155
+ return {
156
+ success: false,
157
+ message: 'systemd services are only supported on Linux.',
158
+ };
159
+ }
160
+
161
+ try {
162
+ execFileSync('systemctl', ['restart', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
163
+ return { success: true, message: `Restarted ${UNIT_NAME} service.` };
164
+ } catch {
165
+ try {
166
+ execFileSync('sudo', ['systemctl', 'restart', UNIT_NAME], {
167
+ stdio: 'inherit',
168
+ timeout: 30_000,
169
+ });
170
+ return { success: true, message: `Restarted ${UNIT_NAME} service.` };
171
+ } catch {
172
+ return {
173
+ success: false,
174
+ message: `Could not restart service. Try: sudo systemctl restart ${UNIT_NAME}`,
175
+ };
176
+ }
177
+ }
178
+ }
package/src/cli/update.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { VERSION } from '../version.js';
3
+ import { isServiceInstalled, restartService } from './service.js';
3
4
 
4
5
  /**
5
6
  * Lightweight semver comparison: returns true if a < b.
@@ -66,13 +67,11 @@ export function performUpdate(targetVersion: string): void {
66
67
 
67
68
  console.log(`Successfully updated to v${targetVersion}`);
68
69
 
69
- // Best-effort systemd restart
70
- try {
71
- execFileSync('systemctl', ['restart', 'sonde-agent'], {
72
- timeout: 10_000,
73
- });
74
- console.log('Restarted sonde-agent systemd service');
75
- } catch {
76
- // systemd not available or service not installed — that's fine
70
+ if (isServiceInstalled()) {
71
+ const result = restartService();
72
+ console.log(result.message);
73
+ } else {
74
+ console.log('Restart the agent to use the new version:');
75
+ console.log(' sonde restart');
77
76
  }
78
77
  }
package/src/index.ts CHANGED
@@ -4,6 +4,14 @@ import { spawn } from 'node:child_process';
4
4
  import os from 'node:os';
5
5
  import { packRegistry } from '@sonde/packs';
6
6
  import { buildEnabledPacks, handlePacksCommand } from './cli/packs.js';
7
+ import {
8
+ getServiceStatus,
9
+ installService,
10
+ isServiceInstalled,
11
+ restartService,
12
+ stopService,
13
+ uninstallService,
14
+ } from './cli/service.js';
7
15
  import { checkForUpdate, performUpdate } from './cli/update.js';
8
16
  import {
9
17
  type AgentConfig,
@@ -40,6 +48,7 @@ function printUsage(): void {
40
48
  console.log(' restart Restart the agent in background');
41
49
  console.log(' status Show agent status');
42
50
  console.log(' packs Manage packs (list, scan, install, uninstall)');
51
+ console.log(' service Manage systemd service (install, uninstall, status)');
43
52
  console.log(' update Check for and install agent updates');
44
53
  console.log(' mcp-bridge stdio MCP bridge (for Claude Code integration)');
45
54
  console.log('');
@@ -247,6 +256,12 @@ async function cmdManager(): Promise<void> {
247
256
  }
248
257
 
249
258
  function cmdStop(): void {
259
+ if (isServiceInstalled() && getServiceStatus() === 'active') {
260
+ const result = stopService();
261
+ console.log(result.message);
262
+ return;
263
+ }
264
+
250
265
  if (stopRunningAgent()) {
251
266
  console.log('Agent stopped.');
252
267
  } else {
@@ -255,6 +270,12 @@ function cmdStop(): void {
255
270
  }
256
271
 
257
272
  function cmdRestart(): void {
273
+ if (isServiceInstalled() && getServiceStatus() === 'active') {
274
+ const result = restartService();
275
+ console.log(result.message);
276
+ return;
277
+ }
278
+
258
279
  stopRunningAgent();
259
280
  const pid = spawnBackgroundAgent();
260
281
  console.log(`Agent restarted in background (PID: ${pid}).`);
@@ -273,6 +294,46 @@ function cmdStatus(): void {
273
294
  console.log(` Hub: ${config.hubUrl}`);
274
295
  console.log(` Agent ID: ${config.agentId ?? '(not yet assigned)'}`);
275
296
  console.log(` Config: ${getConfigPath()}`);
297
+
298
+ if (isServiceInstalled()) {
299
+ console.log(` Service: ${getServiceStatus()}`);
300
+ }
301
+ }
302
+
303
+ function handleServiceCommand(subArgs: string[]): void {
304
+ const sub = subArgs[0];
305
+
306
+ switch (sub) {
307
+ case 'install': {
308
+ const result = installService();
309
+ console.log(result.message);
310
+ if (!result.success) process.exit(1);
311
+ break;
312
+ }
313
+ case 'uninstall': {
314
+ const result = uninstallService();
315
+ console.log(result.message);
316
+ if (!result.success) process.exit(1);
317
+ break;
318
+ }
319
+ case 'status': {
320
+ const status = getServiceStatus();
321
+ console.log(`sonde-agent service: ${status}`);
322
+ break;
323
+ }
324
+ default:
325
+ console.log('Usage: sonde service <command>');
326
+ console.log('');
327
+ console.log('Commands:');
328
+ console.log(' install Install systemd service (starts on boot)');
329
+ console.log(' uninstall Remove systemd service');
330
+ console.log(' status Show service status');
331
+ if (sub) {
332
+ console.error(`\nUnknown subcommand: ${sub}`);
333
+ process.exit(1);
334
+ }
335
+ break;
336
+ }
276
337
  }
277
338
 
278
339
  async function cmdInstall(): Promise<void> {
@@ -339,6 +400,9 @@ switch (command) {
339
400
  case 'packs':
340
401
  handlePacksCommand(args.slice(1));
341
402
  break;
403
+ case 'service':
404
+ handleServiceCommand(args.slice(1));
405
+ break;
342
406
  case 'update':
343
407
  cmdUpdate().catch((err: Error) => {
344
408
  console.error(`Update failed: ${err.message}`);
@@ -7,8 +7,9 @@ import { StepHub } from './StepHub.js';
7
7
  import { StepPacks } from './StepPacks.js';
8
8
  import { StepPermissions } from './StepPermissions.js';
9
9
  import { StepScan } from './StepScan.js';
10
+ import { StepService } from './StepService.js';
10
11
 
11
- type Step = 'hub' | 'scan' | 'packs' | 'permissions' | 'complete';
12
+ type Step = 'hub' | 'scan' | 'packs' | 'permissions' | 'service' | 'complete';
12
13
 
13
14
  export interface HubConfig {
14
15
  hubUrl: string;
@@ -21,6 +22,7 @@ const STEP_LABELS: Record<Step, string> = {
21
22
  scan: 'System Scan',
22
23
  packs: 'Pack Selection',
23
24
  permissions: 'Permissions',
25
+ service: 'Systemd Service',
24
26
  complete: 'Complete',
25
27
  };
26
28
 
@@ -75,11 +77,13 @@ export function InstallerApp({ initialHubUrl }: InstallerAppProps): JSX.Element
75
77
  {step === 'permissions' && (
76
78
  <StepPermissions
77
79
  selectedPacks={selectedPacks}
78
- onNext={() => setStep('complete')}
80
+ onNext={() => setStep('service')}
79
81
  onBack={() => setStep('packs')}
80
82
  />
81
83
  )}
82
84
 
85
+ {step === 'service' && <StepService onNext={() => setStep('complete')} />}
86
+
83
87
  {step === 'complete' && <StepComplete hubConfig={hubConfig} selectedPacks={selectedPacks} />}
84
88
  </Box>
85
89
  );