@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
@@ -25,7 +25,7 @@ const NR_HOOK_RE = /preflight-collector"?\s+(?:pre|post)-tool/;
25
25
  export function generateHookEntries(binPath, options) {
26
26
  let pre;
27
27
  let post;
28
- if (options?.wsl) {
28
+ if (options?.platform === 'wsl-windows-cc') {
29
29
  // Windows Claude Code runs hooks via wsl.exe — call the WSL binary through interop.
30
30
  // Quote the path so cmd.exe doesn't split on spaces (e.g. /home/john doe/...).
31
31
  const collectorPath = binPath ? join(dirname(binPath), COLLECTOR_COMMAND) : COLLECTOR_COMMAND;
@@ -48,7 +48,7 @@ export function generateHookEntries(binPath, options) {
48
48
  };
49
49
  }
50
50
  export function generateMcpServerEntry(binPath, options) {
51
- if (options?.wsl) {
51
+ if (options?.platform === 'wsl-windows-cc') {
52
52
  // Windows Claude Code launches MCP servers as Windows processes — use wsl.exe interop.
53
53
  const serverPath = binPath ? join(dirname(binPath), MCP_SERVER_COMMAND) : MCP_SERVER_COMMAND;
54
54
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-helper.js","sourceRoot":"","sources":["../../src/install/install-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function readJsonFile(path: string): Record<string, unknown>;
2
+ export declare function readJsonFileStrict(path: string): Record<string, unknown>;
3
+ export declare function writeJsonFile(path: string, data: Record<string, unknown>, additionalAllowedBase?: string): void;
4
+ //# sourceMappingURL=json-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../src/install/json-utils.ts"],"names":[],"mappings":"AAYA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMlE;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcxE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,qBAAqB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAsDN"}
@@ -0,0 +1,88 @@
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync, unlinkSync, realpathSync, } from 'node:fs';
2
+ import { basename, dirname, resolve, sep } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ export function readJsonFile(path) {
5
+ try {
6
+ return JSON.parse(readFileSync(path, 'utf-8'));
7
+ }
8
+ catch {
9
+ return {};
10
+ }
11
+ }
12
+ // Like readJsonFile but throws on IO errors (EBUSY, EPERM, etc.) and on
13
+ // malformed or non-object JSON rather than returning {}. Returns {} only for
14
+ // ENOENT (file absent). Use when the file is known to exist and its contents
15
+ // must be preserved.
16
+ export function readJsonFileStrict(path) {
17
+ try {
18
+ const val = JSON.parse(readFileSync(path, 'utf-8'));
19
+ if (val !== null && typeof val === 'object' && !Array.isArray(val)) {
20
+ return val;
21
+ }
22
+ throw new SyntaxError(`Expected a JSON object but got ${Array.isArray(val) ? 'array' : typeof val}`);
23
+ }
24
+ catch (err) {
25
+ if (err instanceof SyntaxError)
26
+ throw err;
27
+ if (err.code === 'ENOENT')
28
+ return {};
29
+ throw err;
30
+ }
31
+ }
32
+ export function writeJsonFile(path, data, additionalAllowedBase) {
33
+ const dir = dirname(path);
34
+ if (!existsSync(dir)) {
35
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
36
+ }
37
+ // Symlink guard: verify both the resolved parent directory AND the resolved
38
+ // target file path are under HOME, cwd, or an explicitly allowed base (e.g.
39
+ // the Windows home path under /mnt/c/... when writing from WSL).
40
+ const resolvedDir = realpathSync(dir);
41
+ const resolvedPath = existsSync(path) ? realpathSync(path) : resolve(resolvedDir, basename(path));
42
+ const home = homedir();
43
+ const cwd = process.cwd();
44
+ // Resolve additionalAllowedBase so symlinked storage directories (e.g. ~/.newrelic-preflight
45
+ // → /data/shared/preflight) are correctly matched against the resolved target path.
46
+ const resolvedAllowedBase = additionalAllowedBase !== undefined
47
+ ? (() => {
48
+ try {
49
+ return realpathSync(additionalAllowedBase);
50
+ }
51
+ catch (err) {
52
+ // ENOENT: path doesn't exist yet (created by mkdirSync above on first write).
53
+ // All other errors (EACCES, EPERM) propagate — a permission failure here
54
+ // means the resolved base is unknown, which would defeat the symlink guard.
55
+ if (err.code === 'ENOENT')
56
+ return additionalAllowedBase;
57
+ throw err;
58
+ }
59
+ })()
60
+ : undefined;
61
+ const check = (p) => p === home ||
62
+ p.startsWith(home + sep) ||
63
+ p === cwd ||
64
+ p.startsWith(cwd + sep) ||
65
+ (resolvedAllowedBase !== undefined &&
66
+ (p === resolvedAllowedBase || p.startsWith(resolvedAllowedBase + sep)));
67
+ if (!check(resolvedDir) || !check(resolvedPath)) {
68
+ throw new Error(`Refusing to write outside HOME or project root: ${resolvedPath}`);
69
+ }
70
+ const tmp = path + '.tmp';
71
+ try {
72
+ writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
73
+ renameSync(tmp, path);
74
+ }
75
+ catch (err) {
76
+ // Best-effort cleanup of the temp file — suppress secondary errors so the
77
+ // original write/rename error is what propagates to the caller.
78
+ try {
79
+ if (existsSync(tmp))
80
+ unlinkSync(tmp);
81
+ }
82
+ catch {
83
+ /* best-effort */
84
+ }
85
+ throw err;
86
+ }
87
+ }
88
+ //# sourceMappingURL=json-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../src/install/json-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,UAAQ,GAAG,IAAI,CAgG5D"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"AAkFA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,UAAQ,GAAG,IAAI,CAkG5D"}
@@ -1,7 +1,62 @@
1
- import { existsSync, renameSync, cpSync, rmSync, readSync, openSync, closeSync } from 'node:fs';
1
+ import { existsSync, renameSync, cpSync, rmSync, readSync, openSync, closeSync, readFileSync, unlinkSync, } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { resolve } from 'node:path';
4
4
  import { DEFAULT_STORAGE_PATH } from '../config.js';
5
+ import { readJsonFileStrict, writeJsonFile } from './json-utils.js';
6
+ function migrateWslMarker() {
7
+ const markerPath = resolve(DEFAULT_STORAGE_PATH, '.wsl-mode');
8
+ if (!existsSync(markerPath))
9
+ return;
10
+ try {
11
+ const raw = readFileSync(markerPath, 'utf8').trim();
12
+ const platform = raw === 'windows' ? 'wsl-windows-cc' : raw === 'linux' ? 'wsl-linux-cc' : null;
13
+ if (platform !== null) {
14
+ const configPath = resolve(DEFAULT_STORAGE_PATH, 'config.json');
15
+ // Use strict read: if config.json is malformed or unreadable (EBUSY, EPERM),
16
+ // throw so the outer catch skips the write and leaves credentials intact.
17
+ // ENOENT (file absent) still returns {} — safe to write a fresh config.
18
+ const existing = readJsonFileStrict(configPath);
19
+ // Skip the write if config.json already has a WSL platformTarget set by a
20
+ // ≥1.0.4 install on this machine — that value reflects a deliberate WSL
21
+ // mode choice and must not be overwritten by a stale marker.
22
+ // 'native' is intentionally excluded: it can arrive via cross-machine
23
+ // config copy (e.g. macOS → WSL) and must not suppress a real WSL marker.
24
+ // Typed constants: TypeScript will error here if these drift from PlatformTarget.
25
+ const wslWindowsCc = 'wsl-windows-cc';
26
+ const wslLinuxCc = 'wsl-linux-cc';
27
+ const alreadyMigrated = existing.platformTarget === wslWindowsCc || existing.platformTarget === wslLinuxCc;
28
+ if (!alreadyMigrated) {
29
+ // Pass DEFAULT_STORAGE_PATH as the allowed base so the symlink guard accepts
30
+ // writes when the storage directory is symlinked outside HOME.
31
+ writeJsonFile(configPath, { ...existing, platformTarget: platform }, DEFAULT_STORAGE_PATH);
32
+ }
33
+ // Delete marker after the rename is committed (or skipped). Wrapped in its own
34
+ // catch so a failure here (e.g. WSL1 DrvFs read-only file attribute on .wsl-mode)
35
+ // is handled inline rather than propagating to the outer catch — which would
36
+ // exit the function without deleting the marker on the current call, but would
37
+ // not cause re-migration loops because config.json is already correct.
38
+ try {
39
+ unlinkSync(markerPath);
40
+ }
41
+ catch {
42
+ /* re-migration on next startup is idempotent */
43
+ }
44
+ }
45
+ else {
46
+ // Unrecognized marker content — cannot migrate, but deleting it prevents this
47
+ // function from re-running on every startup (existsSync would fire each time).
48
+ try {
49
+ unlinkSync(markerPath);
50
+ }
51
+ catch {
52
+ /* WSL1 DrvFs read-only attribute — re-run on next startup is harmless */
53
+ }
54
+ }
55
+ }
56
+ catch {
57
+ // Non-fatal: next install falls back to filesystem detection.
58
+ }
59
+ }
5
60
  function promptYesNo(question) {
6
61
  process.stderr.write(question);
7
62
  // Open /dev/tty directly — Node.js sets fd 0 to O_NONBLOCK on TTY startup,
@@ -27,6 +82,7 @@ function promptYesNo(question) {
27
82
  * (server startup, update) print a notice instead.
28
83
  */
29
84
  export function migrateStoragePath(interactive = false) {
85
+ migrateWslMarker();
30
86
  const oldPath = resolve(homedir(), '.nr-ai-observe');
31
87
  const newPath = DEFAULT_STORAGE_PATH;
32
88
  if (!existsSync(oldPath))
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/install/migrate.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare function resolveNodeDir(): string;
1
2
  export interface ScheduleStatus {
2
3
  readonly installed: boolean;
3
4
  readonly hour?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/install/schedule.ts"],"names":[],"mappings":"AAsEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CActF;AAED,wBAAgB,cAAc,IAAI,IAAI,CASrC;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAmBlD;AA0BD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAc/D;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAehE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAgBjD"}
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/install/schedule.ts"],"names":[],"mappings":"AA4CA,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoCD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAetF;AAED,wBAAgB,cAAc,IAAI,IAAI,CASrC;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAmBlD;AA+BD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAe/D;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAehE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAgBjD"}
@@ -1,6 +1,6 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { writeFileSync, readFileSync, existsSync, statSync, accessSync, constants, unlinkSync, mkdirSync, } from 'node:fs';
3
- import { resolve, join } from 'node:path';
3
+ import { resolve, join, dirname } from 'node:path';
4
4
  import { homedir } from 'node:os';
5
5
  function escapeXml(s) {
6
6
  return s
@@ -23,7 +23,13 @@ function updateLogPath() {
23
23
  function dashboardLogPath() {
24
24
  return resolve(homedir(), '.newrelic-preflight', 'dashboard.log');
25
25
  }
26
- function buildPlist(binaryPath, hour, minute) {
26
+ // Returns the directory containing the node binary running this process.
27
+ // Injected into launchd plists so the daemon can find node regardless of
28
+ // which version manager (Homebrew, nvm, volta, asdf) the user has.
29
+ export function resolveNodeDir() {
30
+ return dirname(process.execPath);
31
+ }
32
+ function buildPlist(binaryPath, hour, minute, nodeDir) {
27
33
  return `<?xml version="1.0" encoding="UTF-8"?>
28
34
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
29
35
  <plist version="1.0">
@@ -35,6 +41,11 @@ function buildPlist(binaryPath, hour, minute) {
35
41
  <string>${escapeXml(binaryPath)}</string>
36
42
  <string>update</string>
37
43
  </array>
44
+ <key>EnvironmentVariables</key>
45
+ <dict>
46
+ <key>PATH</key>
47
+ <string>${escapeXml(nodeDir)}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
48
+ </dict>
38
49
  <key>StartCalendarInterval</key>
39
50
  <dict>
40
51
  <key>Hour</key>
@@ -52,9 +63,10 @@ function buildPlist(binaryPath, hour, minute) {
52
63
  </plist>`;
53
64
  }
54
65
  export function installSchedule(binaryPath, hour, minute) {
66
+ const nodeDir = resolveNodeDir();
55
67
  const path = plistPath();
56
68
  mkdirSync(resolve(homedir(), 'Library', 'LaunchAgents'), { recursive: true, mode: 0o755 });
57
- writeFileSync(path, buildPlist(binaryPath, hour, minute), { mode: 0o600 });
69
+ writeFileSync(path, buildPlist(binaryPath, hour, minute, nodeDir), { mode: 0o600 });
58
70
  try {
59
71
  execFileSync('launchctl', ['unload', path], { stdio: 'pipe' });
60
72
  }
@@ -100,7 +112,7 @@ export function getScheduleStatus() {
100
112
  return { installed: false };
101
113
  }
102
114
  }
103
- function buildDashboardPlist(binaryPath) {
115
+ function buildDashboardPlist(binaryPath, nodeDir) {
104
116
  return `<?xml version="1.0" encoding="UTF-8"?>
105
117
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
106
118
  <plist version="1.0">
@@ -112,6 +124,11 @@ function buildDashboardPlist(binaryPath) {
112
124
  <string>${escapeXml(binaryPath)}</string>
113
125
  <string>--local</string>
114
126
  </array>
127
+ <key>EnvironmentVariables</key>
128
+ <dict>
129
+ <key>PATH</key>
130
+ <string>${escapeXml(nodeDir)}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
131
+ </dict>
115
132
  <key>KeepAlive</key>
116
133
  <true/>
117
134
  <key>RunAtLoad</key>
@@ -124,9 +141,10 @@ function buildDashboardPlist(binaryPath) {
124
141
  </plist>`;
125
142
  }
126
143
  export function installDashboardDaemon(binaryPath) {
144
+ const nodeDir = resolveNodeDir();
127
145
  const path = dashboardPlistPath();
128
146
  mkdirSync(resolve(homedir(), 'Library', 'LaunchAgents'), { recursive: true, mode: 0o755 });
129
- writeFileSync(path, buildDashboardPlist(binaryPath), { mode: 0o600 });
147
+ writeFileSync(path, buildDashboardPlist(binaryPath, nodeDir), { mode: 0o600 });
130
148
  try {
131
149
  execFileSync('launchctl', ['unload', path], { stdio: 'pipe' });
132
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/install/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/install/schedule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAwBA,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAwBD,MAAM,WAAW,4BAA4B;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,4BAA4B,GACjC,2BAA2B,CA6B7B;AA2CD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAWD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAidpD"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAkBD,MAAM,WAAW,4BAA4B;IAC3C,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,4BAA4B,GACjC,2BAA2B,CA6B7B;AA2CD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAWD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmhBpD"}
@@ -1,37 +1,31 @@
1
1
  import { createInterface } from 'node:readline/promises';
2
- import { writeFileSync, renameSync, mkdirSync, readFileSync, existsSync, copyFileSync, chmodSync, realpathSync, } from 'node:fs';
2
+ import { mkdirSync, readFileSync, existsSync, copyFileSync, chmodSync, realpathSync, } from 'node:fs';
3
3
  import { resolve, dirname } from 'node:path';
4
- import { homedir } from 'node:os';
5
- import { normalizeDeveloperName, ConfigFileSchema } from '../config.js';
4
+ import { normalizeDeveloperName, ConfigFileSchema, DEFAULT_STORAGE_PATH } from '../config.js';
6
5
  import { migrateStoragePath } from './migrate.js';
7
- import { runInstallCli, verifyBinaryOnPath } from './cli.js';
6
+ import { runInstallCli, verifyBinaryOnPath, findRepoRoot } from './cli.js';
7
+ import { writeJsonFile } from './json-utils.js';
8
8
  import { installSchedule, installDashboardDaemon, resolveBinaryPath } from './schedule.js';
9
- import { isWsl } from './platform.js';
9
+ import { isWsl, resolveWindowsHome } from './platform.js';
10
10
  import { validateLicenseKey, validateApiKey } from './key-validator.js';
11
- const DEFAULT_STORAGE_PATH = resolve(homedir(), '.newrelic-preflight');
12
11
  const CONFIG_PATH = resolve(DEFAULT_STORAGE_PATH, 'config.json');
13
12
  const ALERT_RULES_DEST = resolve(DEFAULT_STORAGE_PATH, 'alerts', 'rules.json');
14
- /**
15
- * Resolve the path to the bundled `examples/local-alert-rules.json`. The
16
- * wizard ships from either `dist/install/` (when installed via npm) or
17
- * `src/install/` (when executed via `npx tsx`); both resolve to the repo
18
- * root by walking up two directories from the running script.
19
- *
20
- * Uses `process.argv[1]` rather than `__dirname` (which doesn't exist in
21
- * ESM) or `import.meta.url` (which trips Jest's TS module check). Same
22
- * pattern as `src/index.ts` for resolving the static dashboard dir.
23
- */
24
13
  function defaultStarterRulesSource() {
25
- const rawPath = process.argv[1] ?? process.cwd();
26
- const scriptPath = (() => {
27
- try {
28
- return realpathSync(rawPath);
29
- }
30
- catch {
31
- return rawPath;
32
- }
33
- })();
34
- return resolve(dirname(scriptPath), '..', '..', 'examples', 'local-alert-rules.json');
14
+ const root = findRepoRoot();
15
+ if (root !== null)
16
+ return resolve(root, 'examples', 'local-alert-rules.json');
17
+ // findRepoRoot() failed — fall back to walking two directories up from the
18
+ // real entry-point path. Resolve symlinks first so a globally-installed binary
19
+ // (e.g. /usr/local/bin/preflight → .../node_modules/preflight/dist/index.js)
20
+ // correctly walks up to the package root rather than /usr/local/bin.
21
+ let entryPoint;
22
+ try {
23
+ entryPoint = realpathSync(process.argv[1] ?? process.cwd());
24
+ }
25
+ catch {
26
+ entryPoint = process.argv[1] ?? process.cwd();
27
+ }
28
+ return resolve(dirname(entryPoint), '..', '..', 'examples', 'local-alert-rules.json');
35
29
  }
36
30
  /**
37
31
  * Copy the bundled starter alert rules into the destination path. Idempotent:
@@ -143,6 +137,14 @@ function parseModeAnswer(raw, fallback) {
143
137
  export async function runSetupWizard() {
144
138
  migrateStoragePath(true);
145
139
  const rl = createInterface({ input: process.stdin, output: process.stdout });
140
+ // Safety net: process.exit() bypasses finally blocks but still runs 'exit' handlers.
141
+ // If runInstallCli's resolvePlatform calls process.exit(1) (e.g. saved wsl-windows-cc
142
+ // with WSL interop now disabled), rl.close() would otherwise be skipped, leaving stdin
143
+ // with dangling readline event listeners. rl.close() is idempotent so the finally
144
+ // block calling it again is harmless. The listener is explicitly removed in the finally
145
+ // block (normal completion path) to prevent accumulation across repeated invocations.
146
+ const rlCleanupOnExit = () => rl.close();
147
+ process.once('exit', rlCleanupOnExit);
146
148
  try {
147
149
  print('\n=== Preflight Setup ===\n');
148
150
  print('This wizard will configure observability for your AI coding assistant.');
@@ -346,8 +348,11 @@ export async function runSetupWizard() {
346
348
  dashboardPort = defaultPort;
347
349
  }
348
350
  }
349
- // Write config
350
- const config = buildConfig(existing, {
351
+ // Write config. Strip platformTarget before spreading — only the install subcommand
352
+ // (runInstallCli) should own this field. Preserving a stale value here would silently
353
+ // drive the next bare install toward the wrong platform if the user declines hooks.
354
+ const { platformTarget: _platformTarget, ...existingForWizard } = existing;
355
+ const config = buildConfig(existingForWizard, {
351
356
  accountId,
352
357
  licenseKey,
353
358
  developer,
@@ -359,10 +364,7 @@ export async function runSetupWizard() {
359
364
  nrApiKey,
360
365
  collectorHost,
361
366
  });
362
- mkdirSync(DEFAULT_STORAGE_PATH, { recursive: true, mode: 0o700 });
363
- const configTmp = CONFIG_PATH + '.tmp';
364
- writeFileSync(configTmp, JSON.stringify(config, null, 2), { mode: 0o600 });
365
- renameSync(configTmp, CONFIG_PATH);
367
+ writeJsonFile(CONFIG_PATH, config, DEFAULT_STORAGE_PATH);
366
368
  print(`\nConfig written to ${CONFIG_PATH}`);
367
369
  // Step 5c: Starter alert rules (local + both modes only).
368
370
  // Default-yes prompt; copy is idempotent — re-running the wizard never
@@ -394,25 +396,83 @@ export async function runSetupWizard() {
394
396
  // Step 6: Hook install
395
397
  // Config is already written above; pass no credentials to install so it only
396
398
  // wires hooks and MCP without overwriting the config we just wrote.
399
+ const wslEnv = isWsl();
397
400
  const installHooks = (await rl.question('\nInstall Claude Code hooks now? [Y/n]: '))
398
401
  .trim()
399
402
  .toLowerCase();
400
- if (installHooks !== 'n') {
401
- print('\nRunning hook installer...');
402
- await runInstallCli(['install']);
403
- print('Hooks installed.');
404
- if (verifyBinaryOnPath()) {
405
- print('✓ preflight is on your PATH');
403
+ if (installHooks !== 'n' && installHooks !== 'no') {
404
+ // In WSL there are two distinct Claude Code setups that need different hook formats:
405
+ // Windows CC (desktop app on Windows): hooks must use wsl.exe -e, go in Windows paths
406
+ // Linux CC in WSL (npm install inside WSL): hooks are direct Linux commands, WSL paths
407
+ const installArgs = ['install'];
408
+ let skipInstall = false;
409
+ if (wslEnv) {
410
+ print('\n ℹ WSL detected. How is Claude Code installed on this machine?');
411
+ print(' [1] Claude Code for Windows (the desktop app running on Windows)');
412
+ print(' [2] Claude Code installed inside WSL via npm (default)');
413
+ let wslChoice = '';
414
+ for (let attempt = 0; attempt < 3; attempt++) {
415
+ wslChoice = (await rl.question(' Choice [2]: ')).trim();
416
+ if (wslChoice === '1' || wslChoice === '2' || wslChoice === '')
417
+ break;
418
+ print(' ⚠ Enter 1 or 2 (or press Enter for the default).');
419
+ }
420
+ if (wslChoice !== '1' && wslChoice !== '2' && wslChoice !== '') {
421
+ print(' ⚠ No valid choice entered after 3 attempts — defaulting to Linux Claude Code mode.');
422
+ }
423
+ if (wslChoice === '1') {
424
+ // Pre-validate before committing to --windows-cc: handleInstall calls
425
+ // process.exit(1) when windowsHome is null, which skips the wizard's
426
+ // finally block and leaves stdin with readline listeners attached.
427
+ const windowsHome = resolveWindowsHome();
428
+ if (windowsHome === null) {
429
+ print(' ⚠ Windows home directory could not be resolved (WSL interop may be disabled).');
430
+ print(' Skipping hook installation. Fix WSL interop first, then re-run:');
431
+ print(' preflight install --windows-cc');
432
+ // Skip the install entirely — falling back to --linux-cc would write
433
+ // wsl-linux-cc as the saved platform, silently corrupting the user's
434
+ // Windows CC intent on all future bare installs.
435
+ skipInstall = true;
436
+ }
437
+ else {
438
+ installArgs.push('--windows-cc');
439
+ print(' → Using Windows Claude Code mode (wsl.exe hooks, Windows paths).');
440
+ }
441
+ }
442
+ else {
443
+ // Pass --linux-cc explicitly so the installer honours this choice even
444
+ // when a prior Windows CC install would otherwise trigger auto-detection.
445
+ installArgs.push('--linux-cc');
446
+ print(' → Using Linux Claude Code mode (direct hooks, WSL home paths).');
447
+ }
406
448
  }
407
- else {
408
- print('\n⚠ preflight is not on your PATH.');
409
- print(' Claude Code hooks will fail with "command not found" until this is resolved.');
410
- print(' Fix: run `npm link` in the project directory, or install globally:');
411
- print(' npm install -g @newrelic/preflight');
449
+ let hooksInstalled = false;
450
+ if (!skipInstall) {
451
+ print('\nRunning hook installer...');
452
+ try {
453
+ await runInstallCli(installArgs);
454
+ hooksInstalled = true;
455
+ }
456
+ catch {
457
+ // handleInstall already printed the specific error. Set exit code and continue
458
+ // so daemon, schedule, and dashboard steps still run — they do not depend on
459
+ // hook installation.
460
+ process.exitCode = 1;
461
+ }
462
+ if (hooksInstalled)
463
+ print('Hooks installed.');
464
+ if (verifyBinaryOnPath()) {
465
+ print('✓ preflight is on your PATH');
466
+ }
467
+ else {
468
+ print('\n⚠ preflight is not on your PATH.');
469
+ print(' Claude Code hooks will fail with "command not found" until this is resolved.');
470
+ print(' Fix: run `npm link` in the project directory, or install globally:');
471
+ print(' npm install -g @newrelic/preflight');
472
+ }
412
473
  }
413
474
  }
414
475
  // Step 6b: Always-on background dashboard daemon
415
- const wslEnv = isWsl();
416
476
  if ((mode === 'local' || mode === 'both') && process.platform === 'darwin') {
417
477
  const binaryPath = resolveBinaryPath();
418
478
  const daemonAnswer = (await rl.question('\nInstall always-on background dashboard? Keeps the local dashboard running even when Claude Code is closed [Y/n]: '))
@@ -525,6 +585,7 @@ export async function runSetupWizard() {
525
585
  print('');
526
586
  }
527
587
  finally {
588
+ process.removeListener('exit', rlCleanupOnExit);
528
589
  rl.close();
529
590
  }
530
591
  }