@sonde/agent 0.2.5 โ†’ 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.
Files changed (54) hide show
  1. package/.turbo/turbo-build.log +6 -4
  2. package/.turbo/turbo-test.log +96 -23
  3. package/CHANGELOG.md +20 -0
  4. package/dist/cli/packs.d.ts +6 -0
  5. package/dist/cli/packs.d.ts.map +1 -1
  6. package/dist/cli/packs.js +42 -8
  7. package/dist/cli/packs.js.map +1 -1
  8. package/dist/cli/packs.test.js +56 -1
  9. package/dist/cli/packs.test.js.map +1 -1
  10. package/dist/cli/service.d.ts +12 -0
  11. package/dist/cli/service.d.ts.map +1 -0
  12. package/dist/cli/service.js +164 -0
  13. package/dist/cli/service.js.map +1 -0
  14. package/dist/cli/service.test.d.ts +2 -0
  15. package/dist/cli/service.test.d.ts.map +1 -0
  16. package/dist/cli/service.test.js +99 -0
  17. package/dist/cli/service.test.js.map +1 -0
  18. package/dist/cli/update.d.ts.map +1 -1
  19. package/dist/cli/update.js +7 -8
  20. package/dist/cli/update.js.map +1 -1
  21. package/dist/config.d.ts +13 -0
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/config.js +55 -0
  24. package/dist/config.js.map +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +126 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/tui/installer/InstallerApp.d.ts.map +1 -1
  29. package/dist/tui/installer/InstallerApp.js +3 -1
  30. package/dist/tui/installer/InstallerApp.js.map +1 -1
  31. package/dist/tui/installer/StepComplete.d.ts.map +1 -1
  32. package/dist/tui/installer/StepComplete.js +10 -1
  33. package/dist/tui/installer/StepComplete.js.map +1 -1
  34. package/dist/tui/installer/StepService.d.ts +6 -0
  35. package/dist/tui/installer/StepService.d.ts.map +1 -0
  36. package/dist/tui/installer/StepService.js +49 -0
  37. package/dist/tui/installer/StepService.js.map +1 -0
  38. package/dist/tui/manager/ManagerApp.d.ts +2 -1
  39. package/dist/tui/manager/ManagerApp.d.ts.map +1 -1
  40. package/dist/tui/manager/ManagerApp.js +3 -2
  41. package/dist/tui/manager/ManagerApp.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/cli/packs.test.ts +65 -0
  44. package/src/cli/packs.ts +56 -10
  45. package/src/cli/service.test.ts +124 -0
  46. package/src/cli/service.ts +178 -0
  47. package/src/cli/update.ts +7 -8
  48. package/src/config.ts +57 -0
  49. package/src/index.ts +156 -5
  50. package/src/tui/installer/InstallerApp.tsx +6 -2
  51. package/src/tui/installer/StepComplete.tsx +12 -1
  52. package/src/tui/installer/StepService.tsx +112 -0
  53. package/src/tui/manager/ManagerApp.tsx +4 -2
  54. package/tsconfig.tsbuildinfo +1 -1
@@ -1,4 +1,6 @@
1
-
2
- > @sonde/agent@0.2.4 build
3
- > tsc
4
-
1
+
2
+ 
3
+ > @sonde/agent@0.2.6 build
4
+ > tsc
5
+
6
+ โ ™
@@ -1,23 +1,96 @@
1
-
2
- > @sonde/agent@0.2.4 test
3
- > vitest run
4
-
5
-
6
- RUN v2.1.9 /Users/joshowen/Library/CloudStorage/ProtonDrive-joshowen@protonmail.com-folder/AI/ClaudeCode/sonde/packages/agent
7
-
8
- โœ“ src/cli/mcp-bridge.test.ts (5 tests) 2ms
9
- โœ“ src/runtime/scrubber.test.ts (11 tests) 4ms
10
- โœ“ src/system/scanner.test.ts (10 tests) 5ms
11
- โœ“ src/runtime/audit.test.ts (5 tests) 4ms
12
- โœ“ src/cli/update.test.ts (9 tests) 3ms
13
- โœ“ src/runtime/privilege.test.ts (4 tests) 80ms
14
- โœ“ src/runtime/attestation.test.ts (8 tests) 2ms
15
- โœ“ src/cli/packs.test.ts (11 tests) 4ms
16
- โœ“ src/runtime/executor.test.ts (7 tests) 3ms
17
- โœ“ src/runtime/connection.test.ts (11 tests) 12ms
18
-
19
- Test Files 10 passed (10)
20
- Tests 81 passed (81)
21
- Start at 15:54:24
22
- Duration 2.37s (transform 1.89s, setup 0ms, collect 6.78s, tests 120ms, environment 1ms, prepare 3.41s)
23
-
1
+
2
+ 
3
+ > @sonde/agent@0.2.6 test
4
+ > vitest run
5
+
6
+ 
7
+  RUN  v2.1.9 /Users/joshowen/Library/CloudStorage/ProtonDrive-joshowen@protonmail.com-folder/AI/ClaudeCode/sonde/packages/agent
8
+
9
+ [?25l ยท src/cli/service.test.ts (11)
10
+ [?25l โœ“ src/cli/service.test.ts (11)
11
+ [?25l ยท src/system/scanner.test.ts (10)
12
+ โœ“ src/cli/service.test.ts (11)
13
+ [?25l[?25l โœ“ src/system/scanner.test.ts (10)
14
+ โœ“ src/cli/service.test.ts (11)
15
+ [?25l[?25l โœ“ src/system/scanner.test.ts (10)
16
+ โœ“ src/cli/service.test.ts (11)
17
+ ยท src/runtime/scrubber.test.ts (11)
18
+ ยท src/cli/mcp-bridge.test.ts (5)
19
+ [?25l[?25l โœ“ src/system/scanner.test.ts (10)
20
+ โœ“ src/cli/service.test.ts (11)
21
+ โœ“ src/runtime/scrubber.test.ts (11)
22
+ โœ“ src/cli/mcp-bridge.test.ts (5)
23
+ [?25l โœ“ src/system/scanner.test.ts (10)
24
+ โœ“ src/cli/service.test.ts (11)
25
+ โœ“ src/runtime/scrubber.test.ts (11)
26
+ โœ“ src/runtime/audit.test.ts (5)
27
+ โœ“ src/cli/mcp-bridge.test.ts (5)
28
+ ยท src/runtime/privilege.test.ts (4)
29
+ [?25l โœ“ src/system/scanner.test.ts (10)
30
+ โœ“ src/cli/service.test.ts (11)
31
+ โœ“ src/runtime/scrubber.test.ts (11)
32
+ โœ“ src/runtime/audit.test.ts (5)
33
+ โœ“ src/cli/mcp-bridge.test.ts (5)
34
+ โœ“ src/runtime/privilege.test.ts (4)
35
+ [?25l[?25l[?25l โœ“ src/system/scanner.test.ts (10)
36
+ โœ“ src/cli/service.test.ts (11)
37
+ โœ“ src/runtime/scrubber.test.ts (11)
38
+ โœ“ src/runtime/audit.test.ts (5)
39
+ ยท src/cli/update.test.ts (9)
40
+ โœ“ src/cli/mcp-bridge.test.ts (5)
41
+ โœ“ src/runtime/privilege.test.ts (4)
42
+ [?25l โœ“ src/system/scanner.test.ts (10)
43
+ โœ“ src/cli/service.test.ts (11)
44
+ โœ“ src/runtime/scrubber.test.ts (11)
45
+ โœ“ src/runtime/audit.test.ts (5)
46
+ โœ“ src/cli/update.test.ts (9)
47
+ โœ“ src/cli/mcp-bridge.test.ts (5)
48
+ โœ“ src/runtime/privilege.test.ts (4)
49
+ [?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l ยท src/runtime/connection.test.ts (11)
50
+ โœ“ src/system/scanner.test.ts (10)
51
+ โœ“ src/cli/service.test.ts (11)
52
+ โœ“ src/runtime/scrubber.test.ts (11)
53
+ โœ“ src/runtime/audit.test.ts (5)
54
+ โœ“ src/cli/update.test.ts (9)
55
+ โœ“ src/cli/mcp-bridge.test.ts (5)
56
+ โœ“ src/runtime/privilege.test.ts (4)
57
+ [?25l ยท src/cli/packs.test.ts (17)
58
+ โœ“ src/runtime/connection.test.ts (11)
59
+ โœ“ src/system/scanner.test.ts (10)
60
+ โœ“ src/cli/service.test.ts (11)
61
+ โœ“ src/runtime/executor.test.ts (7)
62
+ โœ“ src/runtime/scrubber.test.ts (11)
63
+ โœ“ src/runtime/attestation.test.ts (8)
64
+ โœ“ src/runtime/audit.test.ts (5)
65
+ โœ“ src/cli/update.test.ts (9)
66
+ โœ“ src/cli/mcp-bridge.test.ts (5)
67
+ โœ“ src/runtime/privilege.test.ts (4)
68
+ [?25l โœ“ src/cli/packs.test.ts (17)
69
+ โœ“ src/runtime/connection.test.ts (11)
70
+ โœ“ src/system/scanner.test.ts (10)
71
+ โœ“ src/cli/service.test.ts (11)
72
+ โœ“ src/runtime/executor.test.ts (7)
73
+ โœ“ src/runtime/scrubber.test.ts (11)
74
+ โœ“ src/runtime/attestation.test.ts (8)
75
+ โœ“ src/runtime/audit.test.ts (5)
76
+ โœ“ src/cli/update.test.ts (9)
77
+ โœ“ src/cli/mcp-bridge.test.ts (5)
78
+ โœ“ src/runtime/privilege.test.ts (4)
79
+ [?25l โœ“ src/cli/mcp-bridge.test.ts (5)
80
+ โœ“ src/cli/packs.test.ts (17)
81
+ โœ“ src/cli/service.test.ts (11)
82
+ โœ“ src/cli/update.test.ts (9)
83
+ โœ“ src/runtime/attestation.test.ts (8)
84
+ โœ“ src/runtime/audit.test.ts (5)
85
+ โœ“ src/runtime/connection.test.ts (11)
86
+ โœ“ src/runtime/executor.test.ts (7)
87
+ โœ“ src/runtime/privilege.test.ts (4)
88
+ โœ“ src/runtime/scrubber.test.ts (11)
89
+ โœ“ src/system/scanner.test.ts (10)
90
+
91
+  Test Files  11 passed (11)
92
+  Tests  98 passed (98)
93
+  Start at  10:54:35
94
+  Duration  2.80s (transform 2.74s, setup 0ms, collect 9.35s, tests 63ms, environment 1ms, prepare 4.18s)
95
+
96
+ [?25h[?25hโ ™
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @sonde/agent
2
2
 
3
+ ## 0.2.7
4
+
5
+ ### Patch Changes
6
+
7
+ - updates
8
+
9
+ - Updated dependencies []:
10
+ - @sonde/shared@0.1.4
11
+ - @sonde/packs@0.1.4
12
+
13
+ ## 0.2.6
14
+
15
+ ### Patch Changes
16
+
17
+ - updates
18
+
19
+ - Updated dependencies []:
20
+ - @sonde/shared@0.1.3
21
+ - @sonde/packs@0.1.3
22
+
3
23
  ## 0.2.5
4
24
 
5
25
  ### Patch Changes
@@ -1,5 +1,10 @@
1
1
  import type { Pack } from '@sonde/packs';
2
2
  import { type PermissionCheck, type ScanResult, type SystemChecker } from '../system/scanner.js';
3
+ /**
4
+ * Build a pack map filtered by a disabled list.
5
+ * Used by both the CLI commands and ProbeExecutor creation.
6
+ */
7
+ export declare function buildEnabledPacks(registry: ReadonlyMap<string, Pack>, disabledPacks: string[]): Map<string, Pack>;
3
8
  export interface PackState {
4
9
  /** Packs currently loaded/active on this agent */
5
10
  installed: Map<string, Pack>;
@@ -11,6 +16,7 @@ export interface PackCommandDeps {
11
16
  checker: SystemChecker;
12
17
  getUserGroups: () => string[];
13
18
  log: (msg: string) => void;
19
+ persist: (disabledPacks: string[]) => void;
14
20
  }
15
21
  export declare function cmdPacksList(deps?: PackCommandDeps): void;
16
22
  export declare function cmdPacksScan(deps?: PackCommandDeps): ScanResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAInB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AA4BD,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAmBzD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,UAAU,EAAE,CAmCjE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,eAAe,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,CA0CrD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAW/E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CA2C1D"}
1
+ {"version":3,"file":"packs.d.ts","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAInB,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EACnC,aAAa,EAAE,MAAM,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CASnB;AAED,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC5C;AAsCD,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAsBzD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,UAAU,EAAE,CAmCjE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,eAAe,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,CAgDrD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAcT;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CA4C1D"}
package/dist/cli/packs.js CHANGED
@@ -1,14 +1,39 @@
1
1
  import { packRegistry } from '@sonde/packs';
2
+ import { loadConfig, saveConfig } from '../config.js';
2
3
  import { checkPackPermissions, createSystemChecker, scanForSoftware, } from '../system/scanner.js';
4
+ /**
5
+ * Build a pack map filtered by a disabled list.
6
+ * Used by both the CLI commands and ProbeExecutor creation.
7
+ */
8
+ export function buildEnabledPacks(registry, disabledPacks) {
9
+ const disabled = new Set(disabledPacks);
10
+ const result = new Map();
11
+ for (const [name, pack] of registry) {
12
+ if (!disabled.has(name)) {
13
+ result.set(name, pack);
14
+ }
15
+ }
16
+ return result;
17
+ }
3
18
  function createDefaultDeps() {
19
+ const config = loadConfig();
20
+ const disabledPacks = config?.disabledPacks ?? [];
4
21
  return {
5
22
  state: {
6
- installed: new Map(packRegistry),
23
+ installed: buildEnabledPacks(packRegistry, disabledPacks),
7
24
  available: packRegistry,
8
25
  },
9
26
  checker: createSystemChecker(),
10
27
  getUserGroups: getProcessUserGroups,
11
28
  log: console.log,
29
+ persist: (disabled) => {
30
+ const current = loadConfig();
31
+ if (current) {
32
+ current.disabledPacks =
33
+ disabled.length > 0 ? disabled : undefined;
34
+ saveConfig(current);
35
+ }
36
+ },
12
37
  };
13
38
  }
14
39
  function getProcessUserGroups() {
@@ -31,17 +56,19 @@ export function cmdPacksList(deps) {
31
56
  log('No packs installed.');
32
57
  return;
33
58
  }
59
+ const bold = (s) => `\x1b[1m${s}\x1b[0m`;
34
60
  log('Installed packs:');
35
61
  log('');
36
62
  for (const [name, pack] of state.installed) {
37
63
  const probeCount = pack.manifest.probes.length;
38
- log(` ${name} v${pack.manifest.version} (${probeCount} probes)`);
64
+ log(` ${bold(name)} v${pack.manifest.version} (${probeCount} probes)`);
39
65
  log(` ${pack.manifest.description}`);
40
66
  for (const probe of pack.manifest.probes) {
41
67
  log(` - ${name}.${probe.name}: ${probe.description}`);
42
68
  }
43
69
  log('');
44
70
  }
71
+ log(` Manage: sonde packs install ${bold('<name>')} | uninstall ${bold('<name>')}`);
45
72
  }
46
73
  export function cmdPacksScan(deps) {
47
74
  const { state, checker, log } = deps ?? createDefaultDeps();
@@ -77,7 +104,7 @@ export function cmdPacksScan(deps) {
77
104
  return results;
78
105
  }
79
106
  export function cmdPacksInstall(name, deps) {
80
- const { state, checker, getUserGroups, log } = deps ?? createDefaultDeps();
107
+ const { state, checker, getUserGroups, log, persist } = deps ?? createDefaultDeps();
81
108
  const pack = state.available.get(name);
82
109
  if (!pack) {
83
110
  log(`Error: Pack "${name}" not found.`);
@@ -110,28 +137,35 @@ export function cmdPacksInstall(name, deps) {
110
137
  return { success: false, permissions };
111
138
  }
112
139
  state.installed.set(name, pack);
140
+ const disabled = [...state.available.keys()]
141
+ .filter((k) => !state.installed.has(k));
142
+ persist(disabled);
113
143
  log(`Pack "${name}" installed successfully.`);
114
144
  log(` ${pack.manifest.probes.length} probes now available.`);
115
145
  return { success: true, permissions };
116
146
  }
117
147
  export function cmdPacksUninstall(name, deps) {
118
- const { state, log } = deps ?? createDefaultDeps();
148
+ const { state, log, persist } = deps ?? createDefaultDeps();
119
149
  if (!state.installed.has(name)) {
120
150
  log(`Error: Pack "${name}" is not installed.`);
121
151
  return false;
122
152
  }
123
153
  state.installed.delete(name);
154
+ const disabled = [...state.available.keys()]
155
+ .filter((k) => !state.installed.has(k));
156
+ persist(disabled);
124
157
  log(`Pack "${name}" uninstalled.`);
125
158
  return true;
126
159
  }
127
160
  export function handlePacksCommand(subArgs) {
128
161
  const subcommand = subArgs[0];
162
+ const deps = createDefaultDeps();
129
163
  switch (subcommand) {
130
164
  case 'list':
131
- cmdPacksList();
165
+ cmdPacksList(deps);
132
166
  break;
133
167
  case 'scan':
134
- cmdPacksScan();
168
+ cmdPacksScan(deps);
135
169
  break;
136
170
  case 'install': {
137
171
  const name = subArgs[1];
@@ -139,7 +173,7 @@ export function handlePacksCommand(subArgs) {
139
173
  console.error('Usage: sonde packs install <name>');
140
174
  process.exit(1);
141
175
  }
142
- const result = cmdPacksInstall(name);
176
+ const result = cmdPacksInstall(name, deps);
143
177
  if (!result.success)
144
178
  process.exit(1);
145
179
  break;
@@ -150,7 +184,7 @@ export function handlePacksCommand(subArgs) {
150
184
  console.error('Usage: sonde packs uninstall <name>');
151
185
  process.exit(1);
152
186
  }
153
- if (!cmdPacksUninstall(name))
187
+ if (!cmdPacksUninstall(name, deps))
154
188
  process.exit(1);
155
189
  break;
156
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs.js","sourceRoot":"","sources":["../../src/cli/packs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it, vi } from 'vitest';
2
- import { cmdPacksInstall, cmdPacksList, cmdPacksScan, cmdPacksUninstall, } from './packs.js';
2
+ import { buildEnabledPacks, cmdPacksInstall, cmdPacksList, cmdPacksScan, cmdPacksUninstall, } from './packs.js';
3
3
  function createMockPack(name, overrides) {
4
4
  return {
5
5
  manifest: {
@@ -39,6 +39,7 @@ function createDeps(overrides = {}) {
39
39
  checker: createMockChecker(),
40
40
  getUserGroups: () => [],
41
41
  log: vi.fn(),
42
+ persist: vi.fn(),
42
43
  ...overrides,
43
44
  };
44
45
  }
@@ -167,5 +168,59 @@ describe('cmdPacksUninstall', () => {
167
168
  const log = deps.log;
168
169
  expect(log).toHaveBeenCalledWith('Error: Pack "docker" is not installed.');
169
170
  });
171
+ it('persists disabled packs on uninstall', () => {
172
+ const deps = createDeps();
173
+ cmdPacksUninstall('system', deps);
174
+ const persist = deps.persist;
175
+ expect(persist).toHaveBeenCalledTimes(1);
176
+ const firstCall = persist.mock.calls[0];
177
+ const disabled = firstCall[0];
178
+ expect(disabled).toContain('system');
179
+ expect(disabled).toContain('docker');
180
+ });
181
+ });
182
+ describe('cmdPacksInstall persistence', () => {
183
+ it('persists disabled packs on install', () => {
184
+ const deps = createDeps();
185
+ cmdPacksInstall('docker', deps);
186
+ const persist = deps.persist;
187
+ expect(persist).toHaveBeenCalledTimes(1);
188
+ const firstCall = persist.mock.calls[0];
189
+ const disabled = firstCall[0];
190
+ expect(disabled).not.toContain('docker');
191
+ expect(disabled).not.toContain('system');
192
+ });
193
+ it('does not persist when install fails', () => {
194
+ const deps = createDeps();
195
+ cmdPacksInstall('nonexistent', deps);
196
+ const persist = deps.persist;
197
+ expect(persist).not.toHaveBeenCalled();
198
+ });
199
+ });
200
+ describe('buildEnabledPacks', () => {
201
+ it('returns all packs when none disabled', () => {
202
+ const registry = new Map([
203
+ ['system', createMockPack('system')],
204
+ ['docker', createMockPack('docker')],
205
+ ]);
206
+ const result = buildEnabledPacks(registry, []);
207
+ expect([...result.keys()]).toEqual(['system', 'docker']);
208
+ });
209
+ it('filters out disabled packs', () => {
210
+ const registry = new Map([
211
+ ['system', createMockPack('system')],
212
+ ['docker', createMockPack('docker')],
213
+ ['nginx', createMockPack('nginx')],
214
+ ]);
215
+ const result = buildEnabledPacks(registry, ['docker', 'nginx']);
216
+ expect([...result.keys()]).toEqual(['system']);
217
+ });
218
+ it('ignores disabled names not in registry', () => {
219
+ const registry = new Map([
220
+ ['system', createMockPack('system')],
221
+ ]);
222
+ const result = buildEnabledPacks(registry, ['nonexistent']);
223
+ expect([...result.keys()]).toEqual(['system']);
224
+ });
170
225
  });
171
226
  //# sourceMappingURL=packs.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packs.test.js","sourceRoot":"","sources":["../../src/cli/packs.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packs.test.js","sourceRoot":"","sources":["../../src/cli/packs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface ServiceResult {
2
+ success: boolean;
3
+ message: string;
4
+ }
5
+ export declare function generateUnitFile(): string;
6
+ export declare function isServiceInstalled(): boolean;
7
+ export declare function getServiceStatus(): string;
8
+ export declare function installService(): ServiceResult;
9
+ export declare function uninstallService(): ServiceResult;
10
+ export declare function stopService(): ServiceResult;
11
+ export declare function restartService(): ServiceResult;
12
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/cli/service.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD,wBAAgB,gBAAgB,IAAI,MAAM,CAuBzC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAYzC;AAED,wBAAgB,cAAc,IAAI,aAAa,CA4B9C;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CA6BhD;AAED,wBAAgB,WAAW,IAAI,aAAa,CAsB3C;AAED,wBAAgB,cAAc,IAAI,aAAa,CAyB9C"}
@@ -0,0 +1,164 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ const UNIT_NAME = 'sonde-agent';
5
+ const UNIT_PATH = `/etc/systemd/system/${UNIT_NAME}.service`;
6
+ function isLinux() {
7
+ return process.platform === 'linux';
8
+ }
9
+ function resolveSondeBinary() {
10
+ return execFileSync('which', ['sonde'], {
11
+ encoding: 'utf-8',
12
+ timeout: 5_000,
13
+ }).trim();
14
+ }
15
+ export function generateUnitFile() {
16
+ const user = os.userInfo();
17
+ const sondeBin = resolveSondeBinary();
18
+ return `[Unit]
19
+ Description=Sonde Agent
20
+ After=network-online.target
21
+ Wants=network-online.target
22
+
23
+ [Service]
24
+ Type=simple
25
+ User=${user.username}
26
+ Environment=HOME=${user.homedir}
27
+ ExecStart=${sondeBin} start --headless
28
+ Restart=on-failure
29
+ RestartSec=5
30
+ StandardOutput=journal
31
+ StandardError=journal
32
+ SyslogIdentifier=${UNIT_NAME}
33
+
34
+ [Install]
35
+ WantedBy=multi-user.target
36
+ `;
37
+ }
38
+ export function isServiceInstalled() {
39
+ if (!isLinux())
40
+ return false;
41
+ return fs.existsSync(UNIT_PATH);
42
+ }
43
+ export function getServiceStatus() {
44
+ if (!isLinux())
45
+ return 'unsupported';
46
+ if (!isServiceInstalled())
47
+ return 'not-installed';
48
+ try {
49
+ return execFileSync('systemctl', ['is-active', UNIT_NAME], {
50
+ encoding: 'utf-8',
51
+ timeout: 5_000,
52
+ }).trim();
53
+ }
54
+ catch {
55
+ return 'inactive';
56
+ }
57
+ }
58
+ export function installService() {
59
+ if (!isLinux()) {
60
+ return {
61
+ success: false,
62
+ message: 'systemd services are only supported on Linux.',
63
+ };
64
+ }
65
+ try {
66
+ const unitContent = generateUnitFile();
67
+ execFileSync('sudo', ['tee', UNIT_PATH], {
68
+ input: unitContent,
69
+ stdio: ['pipe', 'pipe', 'pipe'],
70
+ timeout: 10_000,
71
+ });
72
+ execFileSync('sudo', ['systemctl', 'daemon-reload'], { stdio: 'pipe', timeout: 10_000 });
73
+ execFileSync('sudo', ['systemctl', 'enable', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
74
+ execFileSync('sudo', ['systemctl', 'start', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
75
+ return {
76
+ success: true,
77
+ message: `${UNIT_NAME} service installed and started.`,
78
+ };
79
+ }
80
+ catch (err) {
81
+ const msg = err instanceof Error ? err.message : String(err);
82
+ return { success: false, message: `Failed to install service: ${msg}` };
83
+ }
84
+ }
85
+ export function uninstallService() {
86
+ if (!isLinux()) {
87
+ return {
88
+ success: false,
89
+ message: 'systemd services are only supported on Linux.',
90
+ };
91
+ }
92
+ if (!isServiceInstalled()) {
93
+ return { success: false, message: 'Service is not installed.' };
94
+ }
95
+ try {
96
+ execFileSync('sudo', ['systemctl', 'stop', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
97
+ execFileSync('sudo', ['systemctl', 'disable', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
98
+ execFileSync('sudo', ['rm', '-f', UNIT_PATH], { stdio: 'pipe', timeout: 5_000 });
99
+ execFileSync('sudo', ['systemctl', 'daemon-reload'], { stdio: 'pipe', timeout: 10_000 });
100
+ return {
101
+ success: true,
102
+ message: `${UNIT_NAME} service removed.`,
103
+ };
104
+ }
105
+ catch (err) {
106
+ const msg = err instanceof Error ? err.message : String(err);
107
+ return {
108
+ success: false,
109
+ message: `Failed to uninstall service: ${msg}`,
110
+ };
111
+ }
112
+ }
113
+ export function stopService() {
114
+ if (!isLinux()) {
115
+ return {
116
+ success: false,
117
+ message: 'systemd services are only supported on Linux.',
118
+ };
119
+ }
120
+ try {
121
+ execFileSync('systemctl', ['stop', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
122
+ return { success: true, message: `Stopped ${UNIT_NAME} service.` };
123
+ }
124
+ catch {
125
+ try {
126
+ execFileSync('sudo', ['systemctl', 'stop', UNIT_NAME], { stdio: 'inherit', timeout: 30_000 });
127
+ return { success: true, message: `Stopped ${UNIT_NAME} service.` };
128
+ }
129
+ catch {
130
+ return {
131
+ success: false,
132
+ message: `Could not stop service. Try: sudo systemctl stop ${UNIT_NAME}`,
133
+ };
134
+ }
135
+ }
136
+ }
137
+ export function restartService() {
138
+ if (!isLinux()) {
139
+ return {
140
+ success: false,
141
+ message: 'systemd services are only supported on Linux.',
142
+ };
143
+ }
144
+ try {
145
+ execFileSync('systemctl', ['restart', UNIT_NAME], { stdio: 'pipe', timeout: 10_000 });
146
+ return { success: true, message: `Restarted ${UNIT_NAME} service.` };
147
+ }
148
+ catch {
149
+ try {
150
+ execFileSync('sudo', ['systemctl', 'restart', UNIT_NAME], {
151
+ stdio: 'inherit',
152
+ timeout: 30_000,
153
+ });
154
+ return { success: true, message: `Restarted ${UNIT_NAME} service.` };
155
+ }
156
+ catch {
157
+ return {
158
+ success: false,
159
+ message: `Could not restart service. Try: sudo systemctl restart ${UNIT_NAME}`,
160
+ };
161
+ }
162
+ }
163
+ }
164
+ //# sourceMappingURL=service.js.map