@newrelic/preflight 1.0.3 → 1.0.5

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 (168) hide show
  1. package/README.md +7 -1
  2. package/dist/alerts/types.d.ts.map +1 -1
  3. package/dist/alerts/types.js.map +1 -1
  4. package/dist/config.d.ts +7 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +5 -3
  7. package/dist/config.js.map +1 -1
  8. package/dist/dashboard/dashboard-server.d.ts +4 -0
  9. package/dist/dashboard/dashboard-server.d.ts.map +1 -1
  10. package/dist/dashboard/dashboard-server.js +42 -1
  11. package/dist/dashboard/dashboard-server.js.map +1 -1
  12. package/dist/dashboard/live-event-bus.js +2 -2
  13. package/dist/dashboard/live-event-bus.js.map +1 -1
  14. package/dist/dashboard/routes/sse-handler.js +3 -3
  15. package/dist/dashboard/routes/sse-handler.js.map +1 -1
  16. package/dist/hooks/collector-script.d.ts.map +1 -1
  17. package/dist/hooks/collector-script.js +1 -5
  18. package/dist/hooks/collector-script.js.map +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +9 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/install/cli.d.ts +1 -0
  24. package/dist/install/cli.d.ts.map +1 -1
  25. package/dist/install/cli.js +306 -106
  26. package/dist/install/cli.js.map +1 -1
  27. package/dist/install/install-helper.d.ts +5 -4
  28. package/dist/install/install-helper.d.ts.map +1 -1
  29. package/dist/install/install-helper.js +2 -2
  30. package/dist/install/install-helper.js.map +1 -1
  31. package/dist/install/json-utils.d.ts +4 -0
  32. package/dist/install/json-utils.d.ts.map +1 -0
  33. package/dist/install/json-utils.js +88 -0
  34. package/dist/install/json-utils.js.map +1 -0
  35. package/dist/install/migrate.d.ts.map +1 -1
  36. package/dist/install/migrate.js +57 -1
  37. package/dist/install/migrate.js.map +1 -1
  38. package/dist/install/schedule.d.ts +1 -0
  39. package/dist/install/schedule.d.ts.map +1 -1
  40. package/dist/install/schedule.js +23 -5
  41. package/dist/install/schedule.js.map +1 -1
  42. package/dist/install/setup-wizard.d.ts.map +1 -1
  43. package/dist/install/setup-wizard.js +105 -44
  44. package/dist/install/setup-wizard.js.map +1 -1
  45. package/dist/metrics/anti-patterns.d.ts.map +1 -1
  46. package/dist/metrics/anti-patterns.js.map +1 -1
  47. package/dist/metrics/context-composition-tracker.d.ts.map +1 -1
  48. package/dist/metrics/context-composition-tracker.js.map +1 -1
  49. package/dist/platforms/copilot-adapter.d.ts.map +1 -1
  50. package/dist/platforms/copilot-adapter.js.map +1 -1
  51. package/dist/proxy/otlp-receiver.d.ts.map +1 -1
  52. package/dist/proxy/otlp-receiver.js.map +1 -1
  53. package/dist/proxy/proxy-manager.js +1 -1
  54. package/dist/proxy/proxy-manager.js.map +1 -1
  55. package/dist/proxy/upstream-stdio.d.ts.map +1 -1
  56. package/dist/proxy/upstream-stdio.js.map +1 -1
  57. package/dist/security/ssrf.js +1 -1
  58. package/dist/security/ssrf.js.map +1 -1
  59. package/dist/server.d.ts.map +1 -1
  60. package/dist/server.js +2 -1
  61. package/dist/server.js.map +1 -1
  62. package/dist/shared/__test-utils__/log-output.d.ts +1 -2
  63. package/dist/shared/__test-utils__/log-output.d.ts.map +1 -1
  64. package/dist/shared/__test-utils__/log-output.js +1 -2
  65. package/dist/shared/__test-utils__/log-output.js.map +1 -1
  66. package/dist/shared/config.d.ts +8 -2
  67. package/dist/shared/config.d.ts.map +1 -1
  68. package/dist/shared/config.js +20 -20
  69. package/dist/shared/config.js.map +1 -1
  70. package/dist/shared/errors.d.ts +1 -1
  71. package/dist/shared/errors.js +10 -10
  72. package/dist/shared/errors.js.map +1 -1
  73. package/dist/shared/events/factory.js +12 -12
  74. package/dist/shared/events/factory.js.map +1 -1
  75. package/dist/shared/events/serialize.d.ts +2 -2
  76. package/dist/shared/events/serialize.js +19 -19
  77. package/dist/shared/events/serialize.js.map +1 -1
  78. package/dist/shared/harvest/event-buffer.d.ts +2 -2
  79. package/dist/shared/harvest/event-buffer.js +3 -3
  80. package/dist/shared/harvest/event-buffer.js.map +1 -1
  81. package/dist/shared/harvest/harvest-scheduler.d.ts +4 -5
  82. package/dist/shared/harvest/harvest-scheduler.d.ts.map +1 -1
  83. package/dist/shared/harvest/harvest-scheduler.js +35 -35
  84. package/dist/shared/harvest/harvest-scheduler.js.map +1 -1
  85. package/dist/shared/harvest/metric-aggregator.d.ts +9 -9
  86. package/dist/shared/harvest/metric-aggregator.d.ts.map +1 -1
  87. package/dist/shared/harvest/metric-aggregator.js +16 -18
  88. package/dist/shared/harvest/metric-aggregator.js.map +1 -1
  89. package/dist/shared/index.d.ts +0 -1
  90. package/dist/shared/index.d.ts.map +1 -1
  91. package/dist/shared/index.js +0 -1
  92. package/dist/shared/index.js.map +1 -1
  93. package/dist/shared/logger.d.ts +4 -5
  94. package/dist/shared/logger.d.ts.map +1 -1
  95. package/dist/shared/logger.js +12 -12
  96. package/dist/shared/logger.js.map +1 -1
  97. package/dist/shared/pricing-data.js +10 -10
  98. package/dist/shared/pricing-data.js.map +1 -1
  99. package/dist/shared/pricing.d.ts +3 -3
  100. package/dist/shared/pricing.js +12 -12
  101. package/dist/shared/pricing.js.map +1 -1
  102. package/dist/shared/redact.d.ts +1 -3
  103. package/dist/shared/redact.d.ts.map +1 -1
  104. package/dist/shared/redact.js +8 -10
  105. package/dist/shared/redact.js.map +1 -1
  106. package/dist/shared/timing.d.ts +4 -4
  107. package/dist/shared/timing.d.ts.map +1 -1
  108. package/dist/shared/timing.js +9 -9
  109. package/dist/shared/timing.js.map +1 -1
  110. package/dist/shared/tokens.d.ts +4 -4
  111. package/dist/shared/tokens.js +16 -16
  112. package/dist/shared/tokens.js.map +1 -1
  113. package/dist/shared/transport/events-api.d.ts +1 -1
  114. package/dist/shared/transport/events-api.d.ts.map +1 -1
  115. package/dist/shared/transport/events-api.js +2 -1
  116. package/dist/shared/transport/events-api.js.map +1 -1
  117. package/dist/shared/transport/http-client.d.ts +1 -1
  118. package/dist/shared/transport/http-client.d.ts.map +1 -1
  119. package/dist/shared/transport/http-client.js +19 -28
  120. package/dist/shared/transport/http-client.js.map +1 -1
  121. package/dist/shared/transport/logs-api.d.ts +2 -3
  122. package/dist/shared/transport/logs-api.d.ts.map +1 -1
  123. package/dist/shared/transport/logs-api.js +3 -3
  124. package/dist/shared/transport/logs-api.js.map +1 -1
  125. package/dist/shared/transport/metric-api.d.ts.map +1 -1
  126. package/dist/shared/transport/metric-api.js +1 -0
  127. package/dist/shared/transport/metric-api.js.map +1 -1
  128. package/dist/shared/transport/otlp-event-bridge.d.ts +10 -5
  129. package/dist/shared/transport/otlp-event-bridge.d.ts.map +1 -1
  130. package/dist/shared/transport/otlp-event-bridge.js +20 -11
  131. package/dist/shared/transport/otlp-event-bridge.js.map +1 -1
  132. package/dist/shared/transport/otlp-shared.d.ts +12 -1
  133. package/dist/shared/transport/otlp-shared.d.ts.map +1 -1
  134. package/dist/shared/transport/otlp-shared.js +20 -4
  135. package/dist/shared/transport/otlp-shared.js.map +1 -1
  136. package/dist/shared/transport/otlp-transport.d.ts +22 -19
  137. package/dist/shared/transport/otlp-transport.d.ts.map +1 -1
  138. package/dist/shared/transport/otlp-transport.js +136 -120
  139. package/dist/shared/transport/otlp-transport.js.map +1 -1
  140. package/dist/shared/transport/types.d.ts +7 -3
  141. package/dist/shared/transport/types.d.ts.map +1 -1
  142. package/dist/storage/session-store.js +1 -1
  143. package/dist/storage/weekly-summary.js +3 -3
  144. package/dist/storage/weekly-summary.js.map +1 -1
  145. package/dist/tools/cross-session-tools.js +1 -1
  146. package/dist/tools/cross-session-tools.js.map +1 -1
  147. package/dist/tools/session-stats.d.ts.map +1 -1
  148. package/dist/tools/session-stats.js +2 -1
  149. package/dist/tools/session-stats.js.map +1 -1
  150. package/dist/tracing/mcp-tracer.js +1 -1
  151. package/dist/tracing/mcp-tracer.js.map +1 -1
  152. package/dist/transport/nr-ingest.d.ts.map +1 -1
  153. package/dist/transport/nr-ingest.js +4 -0
  154. package/dist/transport/nr-ingest.js.map +1 -1
  155. package/dist/version.d.ts +2 -0
  156. package/dist/version.d.ts.map +1 -0
  157. package/dist/version.js +21 -0
  158. package/dist/version.js.map +1 -0
  159. package/dist/web/assets/index-CW0UCwb9.css +2 -0
  160. package/dist/web/assets/index-HRyb4aZK.js +64 -0
  161. package/dist/web/index.html +2 -2
  162. package/package.json +23 -23
  163. package/dist/shared/version.d.ts +0 -2
  164. package/dist/shared/version.d.ts.map +0 -1
  165. package/dist/shared/version.js +0 -2
  166. package/dist/shared/version.js.map +0 -1
  167. package/dist/web/assets/index-BrL281N-.css +0 -2
  168. package/dist/web/assets/index-CcaYZzXm.js +0 -42
@@ -4,62 +4,107 @@
4
4
  * Dynamically imported from collector-script.ts when argv[2] is install/uninstall,
5
5
  * so commander and other heavy deps are never loaded on the hot hook path.
6
6
  */
7
- import { Command } from 'commander';
8
7
  import { execSync, execFileSync } from 'node:child_process';
9
- import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync, unlinkSync, copyFileSync, realpathSync, } from 'node:fs';
10
- import { basename, dirname, join, resolve, sep } from 'node:path';
8
+ import { existsSync, copyFileSync, realpathSync } from 'node:fs';
9
+ import { dirname, join, resolve } from 'node:path';
11
10
  import { homedir } from 'node:os';
11
+ import { Command } from 'commander';
12
12
  import { mergeSettings, removeSettings, mergeMcpConfig, removeMcpConfig, detectSettingsPath, detectMcpConfigPath, generateNrConfig, } from './install-helper.js';
13
13
  import { isWsl, resolveWindowsHome } from './platform.js';
14
- import { validateConfigFile, DEFAULT_STORAGE_PATH } from '../config.js';
14
+ import { validateConfigFile, DEFAULT_STORAGE_PATH, ConfigFileSchema } from '../config.js';
15
15
  import { migrateStoragePath } from './migrate.js';
16
16
  import { installSchedule, removeSchedule, getScheduleStatus, removeDashboardDaemon, getDashboardDaemonStatus, resolveBinaryPath, } from './schedule.js';
17
- const NR_CONFIG_DIR = resolve(homedir(), '.newrelic-preflight');
18
- const NR_CONFIG_PATH = resolve(NR_CONFIG_DIR, 'config.json');
19
- function print(msg = '') {
20
- process.stdout.write(msg + '\n');
21
- }
17
+ import { readJsonFileStrict, writeJsonFile } from './json-utils.js';
18
+ const NR_CONFIG_PATH = resolve(DEFAULT_STORAGE_PATH, 'config.json');
22
19
  // ---------------------------------------------------------------------------
23
- // File I/O helpers
20
+ // Platform persistence helpers — read/write platformTarget in config.json
24
21
  // ---------------------------------------------------------------------------
25
- function readJsonFile(path) {
22
+ function parsePlatformTarget(value) {
23
+ const result = ConfigFileSchema.shape.platformTarget.safeParse(value);
24
+ return result.success && result.data !== undefined ? result.data : null;
25
+ }
26
+ function clearSavedPlatform() {
26
27
  try {
27
- return JSON.parse(readFileSync(path, 'utf-8'));
28
+ if (!existsSync(NR_CONFIG_PATH))
29
+ return;
30
+ const { platformTarget: _pt, ...rest } = readJsonFileStrict(NR_CONFIG_PATH);
31
+ writeJsonFile(NR_CONFIG_PATH, rest, DEFAULT_STORAGE_PATH);
28
32
  }
29
- catch {
30
- return {};
33
+ catch (err) {
34
+ eprint(`\n⚠ Could not clear saved platform target: ${err instanceof Error ? err.message : String(err)}`);
35
+ eprint(' The next install may use the stale platform target. Fix the issue and re-run uninstall.');
31
36
  }
32
37
  }
33
- function writeJsonFile(path, data, additionalAllowedBase) {
34
- const dir = dirname(path);
35
- if (!existsSync(dir)) {
36
- mkdirSync(dir, { recursive: true, mode: 0o700 });
37
- }
38
- // Symlink guard: verify both the resolved parent directory AND the resolved
39
- // target file path are under HOME, cwd, or an explicitly allowed base (e.g.
40
- // the Windows home path under /mnt/c/... when writing from WSL).
41
- const resolvedDir = realpathSync(dir);
42
- const resolvedPath = existsSync(path) ? realpathSync(path) : resolve(resolvedDir, basename(path));
43
- const home = homedir();
44
- const cwd = process.cwd();
45
- const check = (p) => p === home ||
46
- p.startsWith(home + sep) ||
47
- p === cwd ||
48
- p.startsWith(cwd + sep) ||
49
- (additionalAllowedBase !== undefined &&
50
- (p === additionalAllowedBase || p.startsWith(additionalAllowedBase + sep)));
51
- if (!check(resolvedDir) || !check(resolvedPath)) {
52
- throw new Error(`Refusing to write outside HOME or project root: ${resolvedPath}`);
53
- }
54
- const tmp = path + '.tmp';
55
- try {
56
- writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
57
- renameSync(tmp, path);
38
+ // ---------------------------------------------------------------------------
39
+ // Platform resolution — single function, single place for all errors
40
+ // ---------------------------------------------------------------------------
41
+ function resolvePlatform(options, savedPlatform) {
42
+ if (options.windowsCc && options.linuxCc) {
43
+ print('\n ⚠ --windows-cc and --linux-cc are mutually exclusive. Pass only one.');
44
+ process.exit(1);
58
45
  }
59
- finally {
60
- if (existsSync(tmp))
61
- unlinkSync(tmp);
46
+ if (options.windowsCc) {
47
+ if (!isWsl()) {
48
+ print('\n ⚠ --windows-cc only works inside WSL — this machine is not running WSL.');
49
+ print(' Run without --windows-cc to install normally.');
50
+ process.exit(1);
51
+ }
52
+ const windowsHome = resolveWindowsHome();
53
+ if (!windowsHome) {
54
+ print('\n ⚠ --windows-cc: Windows home directory could not be resolved.');
55
+ print(' Check that WSL interop is enabled:');
56
+ print(' wsl.exe --status');
57
+ process.exit(1);
58
+ }
59
+ return { platform: 'wsl-windows-cc', windowsHome };
60
+ }
61
+ if (options.linuxCc) {
62
+ if (!isWsl()) {
63
+ print('\n ⚠ --linux-cc only works inside WSL — this machine is not running WSL.');
64
+ print(' Run without --linux-cc to install normally.');
65
+ process.exit(1);
66
+ }
67
+ return { platform: 'wsl-linux-cc', windowsHome: null };
68
+ }
69
+ if (!isWsl())
70
+ return { platform: 'native', windowsHome: null };
71
+ // WSL auto-detect: use the savedPlatform already read by handleInstall.
72
+ // 'native' is excluded — it was written on a non-WSL machine and must not
73
+ // suppress WSL-mode guidance or the --windows-cc hint below.
74
+ if (savedPlatform && savedPlatform !== 'native') {
75
+ if (savedPlatform === 'wsl-windows-cc') {
76
+ const windowsHome = resolveWindowsHome();
77
+ if (!windowsHome) {
78
+ print('\n ⚠ Saved install target is Windows Claude Code but Windows home could not be resolved.');
79
+ print(' WSL interop may be disabled. Re-run with --windows-cc when interop is restored,');
80
+ print(' or use --linux-cc to switch to Linux Claude Code mode permanently.');
81
+ process.exit(1);
82
+ }
83
+ return { platform: 'wsl-windows-cc', windowsHome };
84
+ }
85
+ return { platform: savedPlatform, windowsHome: null };
62
86
  }
87
+ // WSL: no prior state — default to Linux CC, inform user about the Windows option.
88
+ print('\n ℹ WSL detected with no prior install state. Defaulting to Linux Claude Code mode.');
89
+ print(' If you are using the Windows Claude Code desktop app, re-run with --windows-cc:');
90
+ print(' preflight install --windows-cc');
91
+ return { platform: 'wsl-linux-cc', windowsHome: null };
92
+ }
93
+ function resolveInstallPaths(_platform, scope, windowsHome) {
94
+ return {
95
+ settingsPath: detectSettingsPath(scope, windowsHome),
96
+ mcpPath: detectMcpConfigPath(scope, windowsHome),
97
+ allowedBase: windowsHome ?? undefined,
98
+ };
99
+ }
100
+ // ---------------------------------------------------------------------------
101
+ // print helper
102
+ // ---------------------------------------------------------------------------
103
+ function print(msg = '') {
104
+ process.stdout.write(msg + '\n');
105
+ }
106
+ function eprint(msg = '') {
107
+ process.stderr.write(msg + '\n');
63
108
  }
64
109
  // ---------------------------------------------------------------------------
65
110
  // PATH verification
@@ -81,9 +126,9 @@ function printPathWarning() {
81
126
  print('');
82
127
  }
83
128
  // ---------------------------------------------------------------------------
84
- // Repo root discovery (for update command)
129
+ // Repo root discovery (for update command and setup wizard)
85
130
  // ---------------------------------------------------------------------------
86
- function findRepoRoot() {
131
+ export function findRepoRoot() {
87
132
  try {
88
133
  let dir = dirname(realpathSync(process.argv[1]));
89
134
  while (true) {
@@ -183,60 +228,105 @@ function handleSchedule(options) {
183
228
  function handleInstall(options) {
184
229
  migrateStoragePath(true);
185
230
  const scope = options.project ? 'project' : 'user';
186
- // Resolve the full binary path at install time so hooks work in non-login
187
- // shells (e.g. /bin/sh) that don't inherit NVM/nix/Homebrew PATH entries.
188
231
  const binPath = resolveBinaryPath();
189
- // On WSL, Claude Code for Windows reads settings from the Windows user home
190
- // (accessible via /mnt/c/Users/<name>/). Hook commands must use wsl.exe -e
191
- // so Windows Claude Code can invoke the WSL binary.
192
- const wslEnv = isWsl();
193
- const windowsHome = wslEnv ? resolveWindowsHome() : null;
194
- const useWslMode = wslEnv && windowsHome !== null;
195
- if (wslEnv && !useWslMode) {
196
- print('\n ⚠ WSL detected but Windows home directory could not be resolved.');
197
- print(' Hooks will be written to the WSL home (~/.claude/settings.json).');
198
- print(' If you are using Windows Claude Code, restart WSL interop and re-run install.');
199
- }
200
- // Hooks go in settings.json (Windows path when running under WSL)
201
- const settingsPath = detectSettingsPath(scope, windowsHome);
202
- let mergedSettings;
232
+ const credentialsProvided = !!(options.licenseKey && options.accountId);
233
+ const inWsl = isWsl();
234
+ // Read config.json once. Serves two purposes:
235
+ // (a) extract savedPlatform for resolvePlatform (needed on WSL auto-detect)
236
+ // (b) preserve existing fields when writing back platformTarget + credentials
237
+ // Fatal conditions: SyntaxError (can't safely write back to corrupt JSON),
238
+ // WSL without explicit platform flag + any IO error (EACCES/EPERM could mask a
239
+ // saved wsl-windows-cc platform explicit flags make savedPlatform irrelevant),
240
+ // credentials provided + any IO error (can't preserve without knowing existing state).
241
+ const explicitPlatform = !!(options.windowsCc || options.linuxCc);
242
+ let existingNrConfig = {};
243
+ let skipNrConfigWrite = false;
203
244
  try {
204
- const existingSettings = readJsonFile(settingsPath);
205
- mergedSettings = mergeSettings(existingSettings, binPath, { wsl: useWslMode });
245
+ // readJsonFileStrict returns {} on ENOENT; throws on IO errors or malformed JSON.
246
+ existingNrConfig = readJsonFileStrict(NR_CONFIG_PATH);
206
247
  }
207
248
  catch (err) {
208
- console.error(`✗ Failed to update ${settingsPath}: ${err instanceof Error ? err.message : String(err)}`);
209
- process.exit(1);
249
+ const isSyntaxError = err instanceof SyntaxError;
250
+ if (isSyntaxError || (inWsl && !explicitPlatform) || credentialsProvided) {
251
+ eprint(`\n✗ Cannot read existing NR config to determine install target: ${err instanceof Error ? err.message : String(err)}`);
252
+ eprint(isSyntaxError
253
+ ? ' config.json contains invalid JSON — fix or delete it, then re-run install.'
254
+ : ' Fix file permissions then re-run install.');
255
+ throw err;
256
+ }
257
+ eprint(`\n⚠ Could not read existing NR config to persist platform target: ${err instanceof Error ? err.message : String(err)}`);
258
+ eprint(' Platform target not persisted — hook installation will continue. Re-run to save it.');
259
+ skipNrConfigWrite = true;
210
260
  }
211
- writeJsonFile(settingsPath, mergedSettings, windowsHome ?? undefined);
212
- // MCP server goes in .mcp.json (Windows path when running under WSL)
213
- const mcpPath = detectMcpConfigPath(scope, windowsHome);
261
+ const savedPlatform = parsePlatformTarget(existingNrConfig.platformTarget);
262
+ const { platform, windowsHome } = resolvePlatform(options, savedPlatform);
263
+ const { settingsPath, mcpPath, allowedBase } = resolveInstallPaths(platform, scope, windowsHome);
264
+ let mergedSettings;
214
265
  let mergedMcp;
215
266
  try {
216
- const existingMcp = readJsonFile(mcpPath);
217
- mergedMcp = mergeMcpConfig(existingMcp, binPath, { wsl: useWslMode });
267
+ mergedSettings = mergeSettings(readJsonFileStrict(settingsPath), binPath, { platform });
268
+ mergedMcp = mergeMcpConfig(readJsonFileStrict(mcpPath), binPath, { platform });
218
269
  }
219
270
  catch (err) {
220
- console.error(`✗ Failed to update ${mcpPath}: ${err instanceof Error ? err.message : String(err)}`);
221
- process.exit(1);
271
+ eprint(`\n✗ Failed to prepare config: ${err instanceof Error ? err.message : String(err)}`);
272
+ throw err;
273
+ }
274
+ try {
275
+ writeJsonFile(settingsPath, mergedSettings, allowedBase);
276
+ }
277
+ catch (err) {
278
+ eprint(`\n✗ Failed to write hooks config (${settingsPath}): ${err instanceof Error ? err.message : String(err)}`);
279
+ throw err;
222
280
  }
223
- writeJsonFile(mcpPath, mergedMcp, windowsHome ?? undefined);
224
- if (useWslMode) {
225
- print(`\n ℹ WSL detected — configuring for Windows Claude Code`);
281
+ try {
282
+ writeJsonFile(mcpPath, mergedMcp, allowedBase);
283
+ }
284
+ catch (err) {
285
+ eprint(`\n✗ Failed to write MCP config (${mcpPath}): ${err instanceof Error ? err.message : String(err)}`);
286
+ throw err;
287
+ }
288
+ // Persist platformTarget (and credentials if provided) — only after both hook files written.
289
+ let nrConfigWritten = false;
290
+ if (!skipNrConfigWrite) {
291
+ try {
292
+ const nrConfig = { ...existingNrConfig, platformTarget: platform };
293
+ if (credentialsProvided) {
294
+ Object.assign(nrConfig, generateNrConfig(options.licenseKey, options.accountId));
295
+ }
296
+ writeJsonFile(NR_CONFIG_PATH, nrConfig, DEFAULT_STORAGE_PATH);
297
+ nrConfigWritten = credentialsProvided;
298
+ }
299
+ catch (err) {
300
+ if (credentialsProvided) {
301
+ eprint(`\n✗ Failed to save New Relic config: ${err instanceof Error ? err.message : String(err)}`);
302
+ throw err;
303
+ }
304
+ eprint(`\n⚠ Could not persist platform target: ${err instanceof Error ? err.message : String(err)}`);
305
+ eprint(' The next install will re-detect the target platform from scratch.');
306
+ }
307
+ }
308
+ if (platform === 'wsl-windows-cc') {
309
+ print('\n ℹ Configured for Windows Claude Code (desktop app).');
226
310
  print(` Hooks written to: ${settingsPath}`);
227
311
  print(` MCP config written to: ${mcpPath}`);
228
312
  print(' Hook commands use wsl.exe -e so Windows Claude Code can invoke them.');
313
+ print(' To switch to Linux Claude Code mode, re-run with --linux-cc:');
314
+ print(' preflight install --linux-cc');
315
+ }
316
+ else if (platform === 'wsl-linux-cc') {
317
+ print('\n ℹ Configured for Linux Claude Code (npm in WSL).');
318
+ print(` Hooks written to: ${settingsPath}`);
319
+ print(' To switch to Windows Claude Code mode, re-run with --windows-cc:');
320
+ print(' preflight install --windows-cc');
229
321
  }
230
322
  print(`\n✓ Claude Code hooks updated: ${settingsPath}`);
231
323
  print(' - Added PreToolUse and PostToolUse hooks');
232
324
  print(`✓ MCP server registered: ${mcpPath}`);
233
325
  print(' - Added preflight MCP server');
234
- if (options.licenseKey && options.accountId) {
235
- const config = generateNrConfig(options.licenseKey, options.accountId);
236
- writeJsonFile(NR_CONFIG_PATH, config);
326
+ if (nrConfigWritten) {
237
327
  print(`\n✓ New Relic config written: ${NR_CONFIG_PATH}`);
238
328
  }
239
- else if (options.licenseKey || options.accountId) {
329
+ else if (!credentialsProvided && (options.licenseKey || options.accountId)) {
240
330
  print('\n⚠ Both --license-key and --account-id are required to save NR config. Skipped.');
241
331
  }
242
332
  if (binPath !== null) {
@@ -258,52 +348,158 @@ function handleInstall(options) {
258
348
  // ---------------------------------------------------------------------------
259
349
  function handleUninstall(options) {
260
350
  const scope = options.project ? 'project' : 'user';
261
- // On WSL, attempt to clean up both the Windows-side paths (current install
262
- // format) and the WSL-side paths (legacy pre-WSL-support installs).
351
+ if (options.windowsCc && options.linuxCc) {
352
+ print('\n ⚠ --windows-cc and --linux-cc are mutually exclusive. Pass only one.');
353
+ process.exit(1);
354
+ }
355
+ if (options.windowsCc && !isWsl()) {
356
+ print('\n ⚠ --windows-cc only works inside WSL — this machine is not running WSL.');
357
+ print(' Run without --windows-cc to uninstall normally.');
358
+ process.exit(1);
359
+ }
360
+ if (options.linuxCc && !isWsl()) {
361
+ print('\n ⚠ --linux-cc only works inside WSL — this machine is not running WSL.');
362
+ print(' Run without --linux-cc to uninstall normally.');
363
+ process.exit(1);
364
+ }
263
365
  const wslEnv = isWsl();
264
366
  const windowsHome = wslEnv ? resolveWindowsHome() : null;
265
- const settingsPathsToClean = new Set();
266
- settingsPathsToClean.add(detectSettingsPath(scope, windowsHome));
267
- if (windowsHome)
268
- settingsPathsToClean.add(detectSettingsPath(scope, null));
269
- const mcpPathsToClean = new Set();
270
- mcpPathsToClean.add(detectMcpConfigPath(scope, windowsHome));
271
- if (windowsHome)
272
- mcpPathsToClean.add(detectMcpConfigPath(scope, null));
367
+ if (options.windowsCc && windowsHome === null) {
368
+ print('\n ⚠ --windows-cc: Windows home directory could not be resolved.');
369
+ print(' Nothing to uninstall for Windows Claude Code.');
370
+ process.exit(1);
371
+ }
372
+ // For bare uninstall (no flags), read the saved platform so we only clean the
373
+ // paths that were actually written during the matching install. Users who never
374
+ // ran preflight ≥1.0.4 have no saved platform, so fall back to cleaning both
375
+ // paths as a migration safety net.
376
+ // If config.json is unreadable, fall back to cleaning both paths — over-cleaning
377
+ // is safe, under-cleaning is not.
378
+ let savedPlatform = null;
379
+ if (!options.windowsCc && !options.linuxCc) {
380
+ try {
381
+ const config = readJsonFileStrict(NR_CONFIG_PATH);
382
+ savedPlatform = parsePlatformTarget(config.platformTarget);
383
+ }
384
+ catch {
385
+ /* unreadable config — clean both paths */
386
+ }
387
+ }
388
+ let includeWindows;
389
+ let includeLinux;
390
+ if (options.windowsCc) {
391
+ includeWindows = true;
392
+ includeLinux = false;
393
+ }
394
+ else if (options.linuxCc) {
395
+ includeWindows = false;
396
+ includeLinux = true;
397
+ }
398
+ else if (savedPlatform === 'wsl-windows-cc') {
399
+ if (!wslEnv) {
400
+ // Not in WSL — Windows CC paths from a prior WSL install are unreachable on this machine
401
+ // (e.g. config copied to macOS/Linux). Clean Linux-side paths and clear the stale target.
402
+ includeWindows = false;
403
+ includeLinux = true;
404
+ }
405
+ else if (windowsHome === null) {
406
+ // In WSL but interop unavailable — cannot reach Windows-side hooks without windowsHome.
407
+ // Exit with an actionable message rather than silently cleaning nothing and clearing the
408
+ // saved platform (which would make the next bare install forget the user's Windows CC intent).
409
+ print('\n ⚠ Saved install target is Windows Claude Code but Windows home could not be resolved.');
410
+ print(' WSL interop may be disabled. To uninstall:');
411
+ print(' Re-enable WSL interop, then re-run: preflight uninstall');
412
+ print(' Or clean Linux-side hooks only: preflight uninstall --linux-cc');
413
+ process.exit(1);
414
+ }
415
+ else {
416
+ // Also clean Linux-side hooks — the user may have previously run --linux-cc and then
417
+ // switched to --windows-cc without uninstalling first. Linux paths are always reachable.
418
+ includeWindows = true;
419
+ includeLinux = true;
420
+ }
421
+ }
422
+ else if (savedPlatform === 'wsl-linux-cc') {
423
+ // Clean Linux hooks. Also clean Windows hooks if reachable — the user may have
424
+ // previously run --windows-cc and then switched to --linux-cc without uninstalling first.
425
+ if (windowsHome !== null) {
426
+ print('\n ℹ Also removing Windows-side hooks (leftover from a prior --windows-cc install).');
427
+ }
428
+ includeWindows = windowsHome !== null;
429
+ includeLinux = true;
430
+ }
431
+ else if (savedPlatform === 'native') {
432
+ includeWindows = false;
433
+ includeLinux = true;
434
+ }
435
+ else {
436
+ // No saved platform (pre-1.0.4 install): clean both paths as a safety net.
437
+ includeWindows = windowsHome !== null;
438
+ includeLinux = true;
439
+ }
440
+ // Map value is the allowedBase for writeJsonFile's symlink guard.
441
+ const settingsPathsToClean = new Map();
442
+ const mcpPathsToClean = new Map();
443
+ if (includeWindows && windowsHome) {
444
+ settingsPathsToClean.set(detectSettingsPath(scope, windowsHome), windowsHome);
445
+ mcpPathsToClean.set(detectMcpConfigPath(scope, windowsHome), windowsHome);
446
+ }
447
+ if (includeLinux) {
448
+ settingsPathsToClean.set(detectSettingsPath(scope, null), undefined);
449
+ mcpPathsToClean.set(detectMcpConfigPath(scope, null), undefined);
450
+ }
273
451
  print('');
274
- // Remove hooks from settings.json (all candidate paths)
275
452
  let settingsFound = false;
276
- for (const settingsPath of settingsPathsToClean) {
453
+ for (const [settingsPath, allowedBase] of settingsPathsToClean) {
277
454
  if (existsSync(settingsPath)) {
455
+ const backup = `${settingsPath}.backup-${Date.now()}`;
456
+ copyFileSync(settingsPath, backup);
457
+ print(` Backup saved: ${backup}`);
458
+ try {
459
+ writeJsonFile(settingsPath, removeSettings(readJsonFileStrict(settingsPath)), allowedBase);
460
+ }
461
+ catch (err) {
462
+ eprint(`\n✗ Failed to clean hooks config (${settingsPath}): ${err instanceof Error ? err.message : String(err)}`);
463
+ throw err;
464
+ }
278
465
  settingsFound = true;
279
- const settingsBackup = `${settingsPath}.backup-${Date.now()}`;
280
- copyFileSync(settingsPath, settingsBackup);
281
- print(` Backup saved: ${settingsBackup}`);
282
- const existingSettings = readJsonFile(settingsPath);
283
- const cleanedSettings = removeSettings(existingSettings);
284
- writeJsonFile(settingsPath, cleanedSettings, windowsHome ?? undefined);
285
466
  print(`✓ Hooks removed: ${settingsPath}`);
286
467
  }
287
468
  }
288
469
  if (!settingsFound) {
289
- print(`No settings file found at ${[...settingsPathsToClean].join(', ')}. Skipping hooks.`);
470
+ print(`No settings file found at ${[...settingsPathsToClean.keys()].join(', ')}. Skipping hooks.`);
290
471
  }
291
- // Remove MCP server from .mcp.json (all candidate paths)
292
472
  let mcpFound = false;
293
- for (const mcpPath of mcpPathsToClean) {
473
+ for (const [mcpPath, allowedBase] of mcpPathsToClean) {
294
474
  if (existsSync(mcpPath)) {
475
+ const backup = `${mcpPath}.backup-${Date.now()}`;
476
+ copyFileSync(mcpPath, backup);
477
+ print(` Backup saved: ${backup}`);
478
+ try {
479
+ writeJsonFile(mcpPath, removeMcpConfig(readJsonFileStrict(mcpPath)), allowedBase);
480
+ }
481
+ catch (err) {
482
+ eprint(`\n✗ Failed to clean MCP config (${mcpPath}): ${err instanceof Error ? err.message : String(err)}`);
483
+ throw err;
484
+ }
295
485
  mcpFound = true;
296
- const mcpBackup = `${mcpPath}.backup-${Date.now()}`;
297
- copyFileSync(mcpPath, mcpBackup);
298
- print(` Backup saved: ${mcpBackup}`);
299
- const existingMcp = readJsonFile(mcpPath);
300
- const cleanedMcp = removeMcpConfig(existingMcp);
301
- writeJsonFile(mcpPath, cleanedMcp, windowsHome ?? undefined);
302
486
  print(`✓ MCP server removed: ${mcpPath}`);
303
487
  }
304
488
  }
305
489
  if (!mcpFound) {
306
- print(`No MCP config file found at ${[...mcpPathsToClean].join(', ')}. Skipping MCP server.`);
490
+ print(`No MCP config found at ${[...mcpPathsToClean.keys()].join(', ')}. Skipping MCP server.`);
491
+ }
492
+ // Update persisted platform after cleanup.
493
+ // --windows-cc or bare: clear savedPlatform so the next install re-detects from scratch.
494
+ // After --windows-cc uninstall, the user must pass --windows-cc again to reinstall
495
+ // Windows CC mode — re-detection has no heuristic for Windows CC intent.
496
+ // --linux-cc: leave savedPlatform untouched — this only cleans Linux-side paths and must
497
+ // not destroy a wsl-windows-cc record that the user still intends to use.
498
+ if (options.windowsCc) {
499
+ print(' To reinstall Windows Claude Code mode, re-run: preflight install --windows-cc');
500
+ }
501
+ if (!options.linuxCc) {
502
+ clearSavedPlatform();
307
503
  }
308
504
  print('\nRestart Claude Code for changes to take effect.\n');
309
505
  const scheduleWasInstalled = getScheduleStatus().installed;
@@ -366,11 +562,15 @@ export function createInstallProgram() {
366
562
  .option('--license-key <key>', 'New Relic license key')
367
563
  .option('--account-id <id>', 'New Relic account ID')
368
564
  .option('--project', 'Write to project-level .claude/settings.json instead of user-level')
565
+ .option('--windows-cc', 'Target Windows Claude Code (desktop app) when running inside WSL')
566
+ .option('--linux-cc', 'Target Linux Claude Code (npm in WSL) when running inside WSL')
369
567
  .action(handleInstall);
370
568
  program
371
569
  .command('uninstall')
372
570
  .description('Remove preflight hooks and MCP server from Claude Code settings')
373
571
  .option('--project', 'Remove from project-level .claude/settings.json instead of user-level')
572
+ .option('--windows-cc', 'Remove Windows Claude Code hooks only (WSL only)')
573
+ .option('--linux-cc', 'Remove Linux Claude Code hooks only (WSL only)')
374
574
  .action(handleUninstall);
375
575
  program
376
576
  .command('setup')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/install/cli.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * All functions are side-effect-free — file I/O happens in the CLI layer (cli.ts).
5
5
  */
6
+ import type { PlatformTarget } from '../config.js';
6
7
  export interface HookCommand {
7
8
  type: 'command';
8
9
  command: string;
@@ -24,19 +25,19 @@ export interface NrObserveConfig {
24
25
  accountId: string;
25
26
  }
26
27
  export declare function generateHookEntries(binPath?: string | null, options?: {
27
- wsl?: boolean;
28
+ platform?: PlatformTarget;
28
29
  }): HookEntries;
29
30
  export declare function generateMcpServerEntry(binPath?: string | null, options?: {
30
- wsl?: boolean;
31
+ platform?: PlatformTarget;
31
32
  }): Record<string, McpServerConfig>;
32
33
  export declare function generateNrConfig(licenseKey: string, accountId: string): NrObserveConfig;
33
34
  export declare function detectSettingsPath(scope: 'user' | 'project', windowsHome?: string | null): string;
34
35
  export declare function detectMcpConfigPath(scope: 'user' | 'project', windowsHome?: string | null): string;
35
36
  export declare function mergeSettings(existing: Record<string, unknown>, binPath?: string | null, options?: {
36
- wsl?: boolean;
37
+ platform?: PlatformTarget;
37
38
  }): Record<string, unknown>;
38
39
  export declare function mergeMcpConfig(existing: Record<string, unknown>, binPath?: string | null, options?: {
39
- wsl?: boolean;
40
+ platform?: PlatformTarget;
40
41
  }): Record<string, unknown>;
41
42
  export declare function removeSettings(existing: Record<string, unknown>): Record<string, unknown>;
42
43
  export declare function removeMcpConfig(existing: Record<string, unknown>): Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyBH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,WAAW,CAyBb;AAED,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAajC;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAEvF;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMjG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAMR;AA6DD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCzB;AAMD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzB;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzF;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1F"}
1
+ {"version":3,"file":"install-helper.d.ts","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqBnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,WAAW,CAyBb;AAED,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAajC;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAEvF;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMjG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAMR;AA6DD,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCzB;AAMD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzB;AAMD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BzF;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoB1F"}