@newrelic/preflight 1.15.0 → 1.15.2

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 (47) hide show
  1. package/README.md +3 -3
  2. package/dist/dashboard/dashboard-server.d.ts.map +1 -1
  3. package/dist/dashboard/dashboard-server.js +2 -30
  4. package/dist/dashboard/dashboard-server.js.map +1 -1
  5. package/dist/dashboard/routes/api-handler.js +4 -4
  6. package/dist/dashboard/routes/api-handler.js.map +1 -1
  7. package/dist/deploy/deploy-alerts.d.ts.map +1 -1
  8. package/dist/deploy/deploy-alerts.js +2 -5
  9. package/dist/deploy/deploy-alerts.js.map +1 -1
  10. package/dist/deploy/deploy-dashboards.d.ts.map +1 -1
  11. package/dist/deploy/deploy-dashboards.js +2 -5
  12. package/dist/deploy/deploy-dashboards.js.map +1 -1
  13. package/dist/index.d.ts +0 -19
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -28
  16. package/dist/index.js.map +1 -1
  17. package/dist/install/cli.d.ts.map +1 -1
  18. package/dist/install/cli.js +52 -17
  19. package/dist/install/cli.js.map +1 -1
  20. package/dist/install/diagnostics.d.ts.map +1 -1
  21. package/dist/install/diagnostics.js +151 -2
  22. package/dist/install/diagnostics.js.map +1 -1
  23. package/dist/install/key-validator.d.ts.map +1 -1
  24. package/dist/install/key-validator.js +3 -14
  25. package/dist/install/key-validator.js.map +1 -1
  26. package/dist/install/node-version-check.d.ts +20 -0
  27. package/dist/install/node-version-check.d.ts.map +1 -0
  28. package/dist/install/node-version-check.js +28 -0
  29. package/dist/install/node-version-check.js.map +1 -0
  30. package/dist/install/npm-version-check.d.ts +5 -0
  31. package/dist/install/npm-version-check.d.ts.map +1 -0
  32. package/dist/install/npm-version-check.js +32 -0
  33. package/dist/install/npm-version-check.js.map +1 -0
  34. package/dist/install/regions.d.ts +27 -0
  35. package/dist/install/regions.d.ts.map +1 -0
  36. package/dist/install/regions.js +79 -0
  37. package/dist/install/regions.js.map +1 -0
  38. package/dist/install/setup-wizard.d.ts.map +1 -1
  39. package/dist/install/setup-wizard.js +9 -22
  40. package/dist/install/setup-wizard.js.map +1 -1
  41. package/dist/storage/local-store.d.ts +37 -3
  42. package/dist/storage/local-store.d.ts.map +1 -1
  43. package/dist/storage/local-store.js +114 -3
  44. package/dist/storage/local-store.js.map +1 -1
  45. package/dist/web/assets/{index-DlMI8z6G.js → index-BasTEtUs.js} +2 -2
  46. package/dist/web/index.html +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version-check.d.ts","sourceRoot":"","sources":["../../src/install/node-version-check.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,GAAE,MAAwB,GAAG,MAAM,GAAG,IAAI,CASrF"}
@@ -0,0 +1,28 @@
1
+ export const MIN_SUPPORTED_NODE_MAJOR = 22;
2
+ /**
3
+ * Returns a diagnostic message when the running Node major version is below
4
+ * MIN_SUPPORTED_NODE_MAJOR, or null when it's fine. Checked at the very start
5
+ * of main() (src/index.ts) and reused as a `doctor` diagnostic check
6
+ * (src/install/diagnostics.ts) so a stale/unintended Node binary (commonly an
7
+ * nvm resolution issue) is reported consistently in both places.
8
+ *
9
+ * This only actually catches Node 20-21: on those versions the static import
10
+ * graph still loads fine, so this check's own code gets a chance to run
11
+ * before failing on the version floor. On Node 16-19 the process crashes
12
+ * earlier, during ESM's evaluation of the whole static import graph — before
13
+ * this check ever runs — with a less clear error, e.g.
14
+ * `ReferenceError: structuredClone is not defined` (Node 16, from
15
+ * src/shared/pricing.ts) or `ReferenceError: File is not defined` (Node 18,
16
+ * from undici). Still valuable for the most common real-world case: a stale
17
+ * nvm default resolving to a merely-slightly-old Node.
18
+ */
19
+ export function checkNodeVersion(nodeVersion = process.version) {
20
+ const major = parseInt(nodeVersion.replace(/^v/, '').split('.')[0], 10);
21
+ if (!Number.isFinite(major) || major >= MIN_SUPPORTED_NODE_MAJOR)
22
+ return null;
23
+ return (`preflight requires Node.js v${MIN_SUPPORTED_NODE_MAJOR}+, but is running under ${nodeVersion}. ` +
24
+ 'This usually means your MCP client resolved a stale or unintended Node binary (e.g. via nvm). ' +
25
+ 'See docs/TROUBLESHOOTING.md, "MCP server won\'t start (wrong Node version)", for how to pin the ' +
26
+ 'exact Node path in ~/.mcp.json.');
27
+ }
28
+ //# sourceMappingURL=node-version-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version-check.js","sourceRoot":"","sources":["../../src/install/node-version-check.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAsB,OAAO,CAAC,OAAO;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,CACL,+BAA+B,wBAAwB,2BAA2B,WAAW,IAAI;QACjG,gGAAgG;QAChG,kGAAkG;QAClG,iCAAiC,CAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** True when `candidate` (e.g. an npm registry "latest" version) is a newer semver than `installed`. */
2
+ export declare function isNewerVersion(candidate: string, installed: string): boolean;
3
+ /** Fetches @newrelic/preflight's "latest" version from the npm registry, or null if unreachable/malformed. */
4
+ export declare function fetchLatestNpmVersion(): Promise<string | null>;
5
+ //# sourceMappingURL=npm-version-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-version-check.d.ts","sourceRoot":"","sources":["../../src/install/npm-version-check.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAU5E;AAMD,8GAA8G;AAC9G,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAapE"}
@@ -0,0 +1,32 @@
1
+ /** True when `candidate` (e.g. an npm registry "latest" version) is a newer semver than `installed`. */
2
+ export function isNewerVersion(candidate, installed) {
3
+ const parse = (v) => {
4
+ const parts = v.replace(/^v/, '').replace(/-.*$/, '').split('.').map(Number);
5
+ return [parts[0] ?? 0, parts[1] ?? 0, parts[2] ?? 0];
6
+ };
7
+ const [ca, cb, cc] = parse(candidate);
8
+ const [ia, ib, ic] = parse(installed);
9
+ if (ca !== ia)
10
+ return ca > ia;
11
+ if (cb !== ib)
12
+ return cb > ib;
13
+ return cc > ic;
14
+ }
15
+ /** Fetches @newrelic/preflight's "latest" version from the npm registry, or null if unreachable/malformed. */
16
+ export async function fetchLatestNpmVersion() {
17
+ try {
18
+ const res = await fetch('https://registry.npmjs.org/@newrelic/preflight/latest', {
19
+ headers: { accept: 'application/json' },
20
+ signal: AbortSignal.timeout(5000),
21
+ });
22
+ if (!res.ok)
23
+ return null;
24
+ const data = (await res.json());
25
+ const v = data.version;
26
+ return typeof v === 'string' ? v : null;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ //# sourceMappingURL=npm-version-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-version-check.js","sourceRoot":"","sources":["../../src/install/npm-version-check.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAG,CAAC,CAAS,EAA4B,EAAE;QACpD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC;AAMD,8GAA8G;AAC9G,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,uDAAuD,EAAE;YAC/E,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA8B,CAAC;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Single source of truth for New Relic region host mappings — events-ingest
3
+ * host, NerdGraph URL, license-key auto-detect prefix, and deploy-CLI flag —
4
+ * consumed by key-validator.ts, setup-wizard.ts, and the deploy CLI files.
5
+ * Previously each of those maintained its own copy of this table; adding or
6
+ * changing a region meant updating all of them in lockstep with no
7
+ * compiler-enforced sync.
8
+ */
9
+ export type RegionKey = 'us' | 'eu' | 'gov' | 'jp';
10
+ export interface RegionDefinition {
11
+ readonly key: RegionKey;
12
+ readonly menuLabel: string;
13
+ readonly displayHost: string;
14
+ readonly eventsApiHost: string;
15
+ readonly nerdgraphUrl: string;
16
+ readonly licenseKeyPrefix: string | null;
17
+ readonly cliFlag: '--eu' | '--jp' | null;
18
+ }
19
+ export declare const REGIONS: readonly RegionDefinition[];
20
+ export declare function getRegion(key: string | null | undefined): RegionDefinition;
21
+ export declare function getRegionByDeployFlags(opts: {
22
+ eu?: boolean;
23
+ jp?: boolean;
24
+ }): RegionDefinition;
25
+ export declare function detectRegionFromLicenseKeyStrict(licenseKey: string): RegionKey | null;
26
+ export declare function suggestRegionFromLicenseKey(licenseKey: string): RegionKey;
27
+ //# sourceMappingURL=regions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/install/regions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C;AAID,eAAO,MAAM,OAAO,EAAE,SAAS,gBAAgB,EAwC9C,CAAC;AAEF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,gBAAgB,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,CAI7F;AAKD,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQrF;AAID,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAEzE"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Single source of truth for New Relic region host mappings — events-ingest
3
+ * host, NerdGraph URL, license-key auto-detect prefix, and deploy-CLI flag —
4
+ * consumed by key-validator.ts, setup-wizard.ts, and the deploy CLI files.
5
+ * Previously each of those maintained its own copy of this table; adding or
6
+ * changing a region meant updating all of them in lockstep with no
7
+ * compiler-enforced sync.
8
+ */
9
+ // Order is load-bearing: setup-wizard's regenerated region menu numbers its
10
+ // options 1-4 by this array's index.
11
+ export const REGIONS = [
12
+ {
13
+ key: 'us',
14
+ menuLabel: 'US',
15
+ displayHost: 'api.newrelic.com',
16
+ eventsApiHost: 'insights-collector.newrelic.com',
17
+ nerdgraphUrl: 'https://api.newrelic.com/graphql',
18
+ licenseKeyPrefix: 'us01',
19
+ cliFlag: null,
20
+ },
21
+ {
22
+ key: 'eu',
23
+ menuLabel: 'EU',
24
+ displayHost: 'api.eu.newrelic.com',
25
+ eventsApiHost: 'insights-collector.eu01.nr-data.net',
26
+ nerdgraphUrl: 'https://api.eu.newrelic.com/graphql',
27
+ licenseKeyPrefix: 'eu01',
28
+ cliFlag: '--eu',
29
+ },
30
+ {
31
+ key: 'gov',
32
+ menuLabel: 'FedRAMP',
33
+ displayHost: 'api.newrelic.com (FedRAMP/GovCloud)',
34
+ eventsApiHost: 'gov-insights-collector.newrelic.com',
35
+ // FedRAMP/GovCloud uses the same NerdGraph API as US, only the
36
+ // events-ingest host differs — there is no --gov deploy CLI flag
37
+ // because deploy commands never need a different NerdGraph URL for it.
38
+ nerdgraphUrl: 'https://api.newrelic.com/graphql',
39
+ licenseKeyPrefix: 'gov01',
40
+ cliFlag: null,
41
+ },
42
+ {
43
+ key: 'jp',
44
+ menuLabel: 'Japan',
45
+ displayHost: 'api.jp.newrelic.com',
46
+ eventsApiHost: 'insights-collector.jp.nr-data.net',
47
+ nerdgraphUrl: 'https://api.jp.newrelic.com/graphql',
48
+ licenseKeyPrefix: 'jp',
49
+ cliFlag: '--jp',
50
+ },
51
+ ];
52
+ export function getRegion(key) {
53
+ return REGIONS.find((r) => r.key === key) ?? REGIONS[0];
54
+ }
55
+ export function getRegionByDeployFlags(opts) {
56
+ if (opts.eu)
57
+ return getRegion('eu');
58
+ if (opts.jp)
59
+ return getRegion('jp');
60
+ return getRegion('us');
61
+ }
62
+ // Strict prefix match — returns null when the key has no recognized region
63
+ // prefix (e.g. a legacy key), so callers can distinguish "no opinion" from
64
+ // "detected us". Used for the setup wizard's key/environment-mismatch warning.
65
+ export function detectRegionFromLicenseKeyStrict(licenseKey) {
66
+ const keyLower = licenseKey.toLowerCase();
67
+ for (const region of REGIONS) {
68
+ if (region.licenseKeyPrefix && keyLower.startsWith(region.licenseKeyPrefix)) {
69
+ return region.key;
70
+ }
71
+ }
72
+ return null;
73
+ }
74
+ // Same prefix match as above, but defaults to 'us' instead of null — used to
75
+ // pre-select a default answer in the setup wizard's environment picker.
76
+ export function suggestRegionFromLicenseKey(licenseKey) {
77
+ return detectRegionFromLicenseKeyStrict(licenseKey) ?? 'us';
78
+ }
79
+ //# sourceMappingURL=regions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/install/regions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,4EAA4E;AAC5E,qCAAqC;AACrC,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD;QACE,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,iCAAiC;QAChD,YAAY,EAAE,kCAAkC;QAChD,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE,IAAI;KACd;IACD;QACE,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,qCAAqC;QACpD,YAAY,EAAE,qCAAqC;QACnD,gBAAgB,EAAE,MAAM;QACxB,OAAO,EAAE,MAAM;KAChB;IACD;QACE,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,qCAAqC;QAClD,aAAa,EAAE,qCAAqC;QACpD,+DAA+D;QAC/D,iEAAiE;QACjE,uEAAuE;QACvE,YAAY,EAAE,kCAAkC;QAChD,gBAAgB,EAAE,OAAO;QACzB,OAAO,EAAE,IAAI;KACd;IACD;QACE,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,OAAO;QAClB,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,mCAAmC;QAClD,YAAY,EAAE,qCAAqC;QACnD,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,MAAM;KAChB;CACF,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,GAA8B;IACtD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAoC;IACzE,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC1C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC5D,OAAO,gCAAgC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAYzC,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,IAAI,CAAC;AAE9B,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC,EACnD,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,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAiB3C;AAWD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAyiBpD"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAkBzC,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,IAAI,CAAC;AAE9B,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC,EACnD,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,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAiB3C;AAWD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA2hBpD"}
@@ -8,6 +8,7 @@ import { writeJsonFile } from './json-utils.js';
8
8
  import { installSchedule, installDashboardDaemon, resolveBinaryPath } from './schedule.js';
9
9
  import { isWsl, resolveWindowsHome } from './platform.js';
10
10
  import { validateLicenseKey, validateApiKey } from './key-validator.js';
11
+ import { REGIONS, getRegion, suggestRegionFromLicenseKey, detectRegionFromLicenseKeyStrict, } from './regions.js';
11
12
  import { getDashboardAddress, waitForHealthyDashboard } from './dashboard-health.js';
12
13
  const CONFIG_PATH = resolve(DEFAULT_STORAGE_PATH, 'config.json');
13
14
  const ALERT_RULES_DEST = resolve(DEFAULT_STORAGE_PATH, 'alerts', 'rules.json');
@@ -210,20 +211,13 @@ export async function runSetupWizard() {
210
211
  }
211
212
  // Step 2b: Environment / region
212
213
  const existingCollectorHost = typeof existing.collectorHost === 'string' ? existing.collectorHost : null;
213
- const keyLower = licenseKey.toLowerCase();
214
- const autoEnv = keyLower.startsWith('eu01')
215
- ? 'eu'
216
- : keyLower.startsWith('gov01')
217
- ? 'gov'
218
- : keyLower.startsWith('jp')
219
- ? 'jp'
220
- : 'us';
214
+ const autoEnv = suggestRegionFromLicenseKey(licenseKey);
221
215
  const defaultEnv = existingCollectorHost ?? autoEnv;
222
216
  print('Environment:');
223
- print(' 1) US — api.newrelic.com');
224
- print(' 2) EU — api.eu.newrelic.com');
225
- print(' 3) FedRAMP api.newrelic.com (FedRAMP/GovCloud)');
226
- print(' 4) Japan — api.jp.newrelic.com');
217
+ const menuLabelWidth = Math.max(...REGIONS.map((r) => r.menuLabel.length));
218
+ REGIONS.forEach((region, i) => {
219
+ print(` ${i + 1}) ${region.menuLabel.padEnd(menuLabelWidth)} — ${region.displayHost}`);
220
+ });
227
221
  const envRaw = (await rl.question(`Which environment? [${defaultEnv}]: `))
228
222
  .trim()
229
223
  .toLowerCase();
@@ -240,15 +234,7 @@ export async function runSetupWizard() {
240
234
  : defaultEnv;
241
235
  collectorHost = resolvedEnv === 'us' ? null : resolvedEnv;
242
236
  // Warn if license key prefix contradicts selected environment.
243
- const keyRegion = keyLower.startsWith('eu01')
244
- ? 'eu'
245
- : keyLower.startsWith('gov01')
246
- ? 'gov'
247
- : keyLower.startsWith('us01')
248
- ? 'us'
249
- : keyLower.startsWith('jp')
250
- ? 'jp'
251
- : null;
237
+ const keyRegion = detectRegionFromLicenseKeyStrict(licenseKey);
252
238
  if (keyRegion && keyRegion !== resolvedEnv) {
253
239
  print(` ⚠ Your license key looks like a ${keyRegion.toUpperCase()} key but you selected ${resolvedEnv.toUpperCase()}. Verify this is intentional.`);
254
240
  }
@@ -570,7 +556,8 @@ export async function runSetupWizard() {
570
556
  }
571
557
  // Step 8: Dashboard deploy — show manual command
572
558
  if (mode !== 'local') {
573
- const regionFlag = collectorHost === 'eu' ? ' --eu' : collectorHost === 'jp' ? ' --jp' : '';
559
+ const regionCliFlag = getRegion(collectorHost ?? 'us').cliFlag;
560
+ const regionFlag = regionCliFlag ? ` ${regionCliFlag}` : '';
574
561
  // Mask the API key in printed commands — users copy these snippets to
575
562
  // terminals, docs, and chat messages, and the raw key could be captured.
576
563
  const apiKeyVar = nrApiKey
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/install/setup-wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,OAAO,EACP,SAAS,EACT,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErF,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;AACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAO/E,SAAS,yBAAyB;IAChC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,6EAA6E;IAC7E,qEAAqE;IACrE,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;AACxF,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAkC;IAElC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,IAAI,CAAC,kDAAkD,EAAE;YAC/D,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,wCAAwC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACnC,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,CAAC;YACH,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QACD,MAAM,EAAE,IAAI,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,GAAG,GAAG,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,uCAAuC;IACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,uEAAuE;QACvE,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM;aACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aACrE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gEAAgE,MAAM,IAAI,CAC3E,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,wEAAwE;IACxE,kCAAkC;IAClC,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,QAAoC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAID,MAAM,UAAU,WAAW,CACzB,QAAmD,EACnD,MAWC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,KAAK,OAAO,CAAC;IACxC,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI;YAC9B,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;YACtF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,QAAoB;IACxD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC5D,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IAC3D,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,OAAO,CAAC;IAC3D,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,qFAAqF;IACrF,sFAAsF;IACtF,uFAAuF;IACvF,kFAAkF;IAClF,wFAAwF;IACxF,sFAAsF;IACtF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAChF,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAEhC,eAAe;QACf,MAAM,YAAY,GAChB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACjC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC;YAClF,CAAC,CAAE,QAAQ,CAAC,IAAmB;YAC/B,CAAC,CAAC,OAAO,CAAC;QACd,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAClD,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACrF,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,YAAY,KAAK,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEpD,gDAAgD;QAChD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpE,MAAM,iBAAiB,GAAG,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,YAAY,CAAC;YAC3D,MAAM,aAAa,GAAG,iBAAiB;gBACrC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,eAAe,GAAG,aAAa;gBACnC,CAAC,CAAC,iEAAiE,aAAa,KAAK;gBACrF,CAAC,CAAC,2EAA2E,CAAC;YAChF,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS,GAAG,gBAAgB,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,GAAG,GACP,SAAS,KAAK,YAAY,IAAI,CAAC,iBAAiB;oBAC9C,CAAC,CAAC,qCAAqC;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,SAAS,0BAA0B,GAAG,EAAE,CAAC,CAAC;gBAChF,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACtE,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,UAAU,GAAG,WAAW,IAAI,aAAa,CAAC;YAChD,MAAM,OAAO,GAAG,WAAW;gBACzB,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,aAAa;oBACb,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,UAAU,CAAC;YACjB,MAAM,SAAS,GAAG,oEAAoE,OAAO,KAAK,CAAC;YACnG,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU;gBAAE,UAAU,GAAG,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;gBAC5F,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,gCAAgC;YAChC,MAAM,qBAAqB,GACzB,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,MAAM,OAAO,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,qBAAqB,IAAI,OAAO,CAAC;YACpD,KAAK,CAAC,cAAc,CAAC,CAAC;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,UAAU,KAAK,CAAC,CAAC;iBACvE,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,MAAM,WAAW,GACf,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,UAAU;gBACpC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;wBACjC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK;4BAC1D,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,OAAO;gCACvD,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,UAAU,CAAC;YACzB,aAAa,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAE1D,+DAA+D;YAC/D,MAAM,SAAS,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC3C,KAAK,CACH,qCAAqC,SAAS,CAAC,WAAW,EAAE,yBAAyB,WAAW,CAAC,WAAW,EAAE,+BAA+B,CAC9I,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC9D,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,MAAM,aAAa,GAAG,cAAc,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,cAAc;gBAC/B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,UAAU,CAAC;YACjB,MAAM,SAAS,GAAG,CAChB,MAAM,EAAE,CAAC,QAAQ,CACf,0EAA0E,UAAU,KAAK,CAC1F,CACF,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,QAAQ,GAAG,aAAa,CAAC;YAC3B,CAAC;YAED,gCAAgC;YAChC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACrC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACzF,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACxB,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACnD,KAAK,CAAC,iFAAiF,CAAC,CAAC;YAC3F,CAAC;iBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACpF,KAAK,CACH,mDAAmD,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,wBAAwB,CACxH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CACH,yCAAyC,aAAa,CAAC,MAAM,IAAI,SAAS,uBAAuB,CAClG,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;gBACpE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpB,cAAc,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;oBAC1C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzD,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;oBAC/C,KAAK,CAAC,wDAAwD,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5E,KAAK,CACH,2CAA2C,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,wBAAwB,CACxG,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,KAAK,CACH,qCAAqC,SAAS,CAAC,MAAM,IAAI,SAAS,uBAAuB,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,CACH,+FAA+F,CAChG,CAAC;QACF,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAEhG,qFAAqF;QACrF,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,gBAAgB,GACpB,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,sBAAsB,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,QAAQ,GACZ,CACE,MAAM,EAAE,CAAC,QAAQ,CACf,4EAA4E,gBAAgB,KAAK,CAClG,CACF,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC;QAC/B,MAAM,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,0BAA0B;QAC1B,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,YAAY,GAAG,CACnB,MAAM,EAAE,CAAC,QAAQ,CACf,4GAA4G,cAAc,IAAI,UAAU,KAAK,CAC9I,CACF,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,YAAY,IAAI,cAAc,CAAC;QAE9C,MAAM,iBAAiB,GAAG,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,MAAM,eAAe,GAAG,CACtB,MAAM,EAAE,CAAC,QAAQ,CACf,wEAAwE,iBAAiB,IAAI,kCAAkC,KAAK,CACrI,CACF,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,eAAe,IAAI,iBAAiB,CAAC;QAEvD,sBAAsB;QACtB,MAAM,cAAc,GAClB,OAAO,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,MAAM,gBAAgB,GACpB,CACE,MAAM,EAAE,CAAC,QAAQ,CACf,yFAAyF,cAAc,IAAI,UAAU,KAAK,CAC3H,CACF,CAAC,IAAI,EAAE;YACR,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACzB,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,KAAK,CAAC,2BAA2B,gBAAgB,+BAA+B,CAAC,CAAC;gBAC1F,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,gBAAgB,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,4CAA4C;QAC5C,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,iBAAiB,GACrB,QAAQ,CAAC,SAAS,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;gBAC1D,CAAC,CAAE,QAAQ,CAAC,SAA+B;gBAC3C,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,WAAW,GAAG,iBAAiB,EAAE,IAAI,IAAI,IAAI,CAAC;YACpD,MAAM,OAAO,GAAG,CACd,MAAM,EAAE,CAAC,QAAQ,CACf,0CAA0C,WAAW,qCAAqC,WAAW,KAAK,CAC3G,CACF,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC/D,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,qBAAqB,CAAC,CAAC;oBAC7D,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,aAAa,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,WAAW,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,sFAAsF;QACtF,oFAAoF;QACpF,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,iBAAiB,EAAE,GAAG,QAAQ,CAAC;QAC3E,MAAM,MAAM,GAAG,WAAW,CAAC,iBAAiB,EAAE;YAC5C,SAAS;YACT,UAAU;YACV,SAAS;YACT,MAAM;YACN,SAAS;YACT,gBAAgB;YAChB,IAAI;YACJ,aAAa;YACb,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;QAEH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACzD,KAAK,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QAE5C,0DAA0D;QAC1D,uEAAuE;QACvE,uCAAuC;QACvC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CACjB,MAAM,EAAE,CAAC,QAAQ,CACf,8EAA8E,CAC/E,CACF;iBACE,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,qBAAqB,CAAC;oBACnC,UAAU,EAAE,yBAAyB,EAAE;oBACvC,QAAQ,EAAE,gBAAgB;oBAC1B,MAAM,EAAE;wBACN,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;wBAClC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;qBACnC;iBACF,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,KAAK,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,iCAAiC,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,6EAA6E;QAC7E,oEAAoE;QACpE,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC;aACjF,IAAI,EAAE;aACN,WAAW,EAAE,CAAC;QACjB,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAClD,qFAAqF;YACrF,wFAAwF;YACxF,yFAAyF;YACzF,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBAC3E,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBAC9E,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBACpE,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC7C,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzD,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,EAAE;wBAAE,MAAM;oBACtE,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;oBAC/D,KAAK,CACH,sFAAsF,CACvF,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;oBACtB,sEAAsE;oBACtE,qEAAqE;oBACrE,mEAAmE;oBACnE,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;oBACzC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACzB,KAAK,CACH,iFAAiF,CAClF,CAAC;wBACF,KAAK,CAAC,mEAAmE,CAAC,CAAC;wBAC3E,KAAK,CAAC,oCAAoC,CAAC,CAAC;wBAC5C,qEAAqE;wBACrE,qEAAqE;wBACrE,iDAAiD;wBACjD,WAAW,GAAG,IAAI,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBACjC,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBAC9E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,0EAA0E;oBAC1E,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC/B,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;YACD,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;oBACjC,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,+EAA+E;oBAC/E,6EAA6E;oBAC7E,qBAAqB;oBACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,cAAc;oBAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAE9C,IAAI,kBAAkB,EAAE,EAAE,CAAC;oBACzB,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBAC5C,KAAK,CAAC,gFAAgF,CAAC,CAAC;oBACxF,KAAK,CAAC,sEAAsE,CAAC,CAAC;oBAC9E,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,CACnB,MAAM,EAAE,CAAC,QAAQ,CACf,qHAAqH,CACtH,CACF;iBACE,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,mFAAmF;YACnF,uFAAuF;YACvF,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,gEAAgE;wBAChE,oEAAoE;wBACpE,oEAAoE;wBACpE,0BAA0B;wBAC1B,sBAAsB,CAAC,UAAU,CAAC,CAAC;wBACnC,mEAAmE;wBACnE,sEAAsE;wBACtE,oEAAoE;wBACpE,6DAA6D;wBAC7D,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;wBACtC,MAAM,OAAO,GACX,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;wBACxF,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,CACH,6FAA6F,aAAa,IAAI,IAAI,eAAe,CAClI,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,KAAK,CACH,2OAA2O,CAC5O,CAAC;wBACJ,CAAC;wBACD,KAAK,CACH,6GAA6G,CAC9G,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,KAAK,CACH,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5F,CAAC;wBACF,KAAK,CAAC,4EAA4E,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBAC5E,KAAK,CACH,qFAAqF,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjF,sFAAsF;YACtF,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CACH,kGAAkG,CACnG,CAAC;YACF,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACjC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAChG,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;iBAC7E,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YACjB,IAAI,YAAY,KAAK,GAAG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;gBACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,MAAM,SAAS,GACb,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,EAAE,CAAC;gBACjF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACtC,KAAK,CAAC,mBAAmB,OAAO,yBAAyB,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;gBACvC,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC1C,KAAK,CAAC,qCAAqC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK,CAAC,kEAAkE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,oDAAoD,CAAC,CAAC;oBAC5D,KAAK,CAAC,mCAAmC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,SAAS,GAAG,QAAQ;gBACxB,CAAC,CAAC,qBAAqB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;gBAChD,CAAC,CAAC,8BAA8B,CAAC;YACnC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACtC,KAAK,CACH,KAAK,SAAS,yBAAyB,SAAS,qCAAqC,UAAU,EAAE,CAClG,CAAC;YACF,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACzD,KAAK,CACH,KAAK,SAAS,yBAAyB,SAAS,8EAA8E,SAAS,GAAG,UAAU,EAAE,CACvJ,CAAC;YAEF,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC9C,KAAK,CACH,KAAK,SAAS,yBAAyB,SAAS,wCAAwC,SAAS,GAAG,UAAU,EAAE,CACjH,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,0EAA0E,CAAC,CAAC;QACpF,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,4DAA4D;QAC5D,sEAAsE;QACtE,yDAAyD;QACzD,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7B,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAC5F,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC/F,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,KAAK,CACH,gDAAgD,aAAa,IAAI,IAAI,2BAA2B,CACjG,CAAC;YACF,KAAK,CACH,uFAAuF,CACxF,CAAC;YACF,KAAK,CAAC,mFAAmF,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAChD,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -80,16 +80,30 @@ export declare class LocalStore {
80
80
  * resolving its session_id, and remove it on graceful shutdown via
81
81
  * `removeHeartbeat()`.
82
82
  *
83
+ * Also writes a sidecar `active-<sessionId>.meta.json` file with `argv`
84
+ * and `cwd`, consumed by `listActiveStdioInstances()`. `argv`/`cwd`
85
+ * default to the current process's own argv/cwd.
86
+ *
83
87
  * No-op if the LocalStore is not bound to a sessionId (e.g. --local mode).
84
88
  */
85
- writeHeartbeat(pid?: number): void;
89
+ writeHeartbeat(pid?: number, argv?: readonly string[], cwd?: string): void;
86
90
  /**
87
- * Remove this MCP's heartbeat file. Called from the shutdown handler so the
88
- * next maintenance GC pass knows the buffer is up for adoption.
91
+ * Remove this MCP's heartbeat file (and its sidecar metadata, if present).
92
+ * Called from the shutdown handler so the next maintenance GC pass knows
93
+ * the buffer is up for adoption.
89
94
  *
90
95
  * No-op if no heartbeat was ever written or if the file is already gone.
91
96
  */
92
97
  removeHeartbeat(): void;
98
+ /**
99
+ * Remove another session's heartbeat + sidecar metadata by explicit
100
+ * sessionId. Unlike removeHeartbeat() (which only ever acts on `this`
101
+ * LocalStore's own bound sessionId), this lets a caller — the `preflight
102
+ * local --clean` CLI command, which isn't scoped to any one session —
103
+ * clean up a *different* session's files after killing that session's
104
+ * process. Safe to call even if the files are already gone.
105
+ */
106
+ removeStdioHeartbeat(sessionId: string): void;
93
107
  /**
94
108
  * Write the PID/argv/cwd of the current `--local` process to
95
109
  * `local-dashboard.pid`. Called only after this process has actually won
@@ -216,6 +230,26 @@ export declare class LocalStore {
216
230
  * `gcOrphanBuffers()`.
217
231
  */
218
232
  getActiveSessionIdsFromHeartbeats(): Set<string>;
233
+ /**
234
+ * List every live `--stdio` MCP process from `active-<sessionId>.pid`
235
+ * heartbeats — the same files `getActiveSessionIdsFromHeartbeats()` and
236
+ * `hasLiveOwner()` already read, scanned here for user-facing detail
237
+ * (`preflight local`) instead of internal GC/ownership bookkeeping.
238
+ * `argv`/`cwd` come from the sidecar `active-<sessionId>.meta.json`
239
+ * written by `writeHeartbeat()`; a heartbeat from a pre-upgrade build that
240
+ * predates the sidecar reports `argv: []`, `cwd: null`. `startedAt` is the
241
+ * heartbeat file's mtime — `writeHeartbeat()` is called exactly once at
242
+ * process startup (never refreshed), so mtime is an accurate proxy for
243
+ * process start time. Malformed entries are skipped silently.
244
+ */
245
+ listActiveStdioInstances(): Array<{
246
+ pid: number;
247
+ sessionId: string;
248
+ argv: string[];
249
+ cwd: string | null;
250
+ startedAt: number;
251
+ alive: boolean;
252
+ }>;
219
253
  /**
220
254
  * Garbage-collect stale per-PPID breadcrumb files at
221
255
  * `<storage>/session-by-ppid/<pid>.txt`. A breadcrumb is stale when its
@@ -1 +1 @@
1
- {"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../src/storage/local-store.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAiExD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAE1C;;;;;;;;;;;OAWG;gBACS,WAAW,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAwCnF,UAAU,IAAI,IAAI;IAiBlB;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAStC;;;;OAIG;IACH,WAAW,IAAI,SAAS,EAAE;IAI1B;;;;;;;;;;;;;;;OAeG;IACH,eAAe,IAAI,SAAS,EAAE;IA0B9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,IAAI,SAAS,EAAE;IAsD7B;;;;;;;;;OASG;IACH,cAAc,CAAC,GAAG,GAAE,MAAoB,GAAG,IAAI;IAc/C;;;;;OAKG;IACH,eAAe,IAAI,IAAI;IAUvB;;;;;;;OAOG;IACH,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,GAAG,IAAI;IAc7F;;;;;OAKG;IACH,4BAA4B,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuBnF;;;;OAIG;IACH,uBAAuB,IAAI,IAAI;IAY/B;;;;;;;;;OASG;IACH,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAoB,GAAG,IAAI;IAiB5F;;;;;OAKG;IACH,uBAAuB,CAAC,GAAG,GAAE,MAAoB,GAAG,IAAI;IASxD;;;;;;OAMG;IACH,kBAAkB,IAAI,KAAK,CAAC;QAC1B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;IAuCF;;;;;;;;OAQG;IACH,oBAAoB,IAAI,MAAM;IAiC9B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,eAAe,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG;QACtD,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KACzB;IAmGD;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CACd,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,cAAc,EAAE,MAAM,GACrB;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,uBAAuB,EAAE,MAAM,CAAA;KAAE;IAuF1F;;;;;OAKG;IACH,iCAAiC,IAAI,GAAG,CAAC,MAAM,CAAC;IAyBhD;;;;;;OAMG;IACH,kBAAkB,IAAI,MAAM;IAmC5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mBAAmB,IAAI,MAAM;IAkG7B,OAAO,CAAC,SAAS;IAuCjB,uEAAuE;IACvE,aAAa,IAAI,MAAM;IAIvB,oEAAoE;IACpE,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAavC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;CA0D/C"}
1
+ {"version":3,"file":"local-store.d.ts","sourceRoot":"","sources":["../../src/storage/local-store.ts"],"names":[],"mappings":"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"}
@@ -293,27 +293,38 @@ export class LocalStore {
293
293
  * resolving its session_id, and remove it on graceful shutdown via
294
294
  * `removeHeartbeat()`.
295
295
  *
296
+ * Also writes a sidecar `active-<sessionId>.meta.json` file with `argv`
297
+ * and `cwd`, consumed by `listActiveStdioInstances()`. `argv`/`cwd`
298
+ * default to the current process's own argv/cwd.
299
+ *
296
300
  * No-op if the LocalStore is not bound to a sessionId (e.g. --local mode).
297
301
  */
298
- writeHeartbeat(pid = process.pid) {
302
+ writeHeartbeat(pid = process.pid, argv = process.argv.slice(1), cwd = process.cwd()) {
299
303
  if (!this.sessionId)
300
304
  return;
301
305
  if (!Number.isFinite(pid) || pid <= 0)
302
306
  return;
303
307
  const heartbeatPath = resolve(this.storagePath, `active-${this.sessionId}.pid`);
308
+ const metaPath = resolve(this.storagePath, `active-${this.sessionId}.meta.json`);
304
309
  try {
305
310
  if (!existsSync(this.storagePath)) {
306
311
  mkdirSync(this.storagePath, { recursive: true, mode: 0o700 });
307
312
  }
308
313
  writeFileSync(heartbeatPath, String(pid), { mode: 0o600 });
314
+ // Sidecar metadata for listActiveStdioInstances() — kept separate from
315
+ // the heartbeat's own bare-PID content so hasLiveOwner(),
316
+ // getActiveSessionIdsFromHeartbeats(), and gcOrphanBuffers() (which all
317
+ // parse active-<sessionId>.pid as a bare PID) are unaffected.
318
+ writeFileSync(metaPath, JSON.stringify({ argv: Array.from(argv), cwd }), { mode: 0o600 });
309
319
  }
310
320
  catch (err) {
311
321
  logger.warn('Failed to write heartbeat file', { error: String(err) });
312
322
  }
313
323
  }
314
324
  /**
315
- * Remove this MCP's heartbeat file. Called from the shutdown handler so the
316
- * next maintenance GC pass knows the buffer is up for adoption.
325
+ * Remove this MCP's heartbeat file (and its sidecar metadata, if present).
326
+ * Called from the shutdown handler so the next maintenance GC pass knows
327
+ * the buffer is up for adoption.
317
328
  *
318
329
  * No-op if no heartbeat was ever written or if the file is already gone.
319
330
  */
@@ -321,14 +332,38 @@ export class LocalStore {
321
332
  if (!this.sessionId)
322
333
  return;
323
334
  const heartbeatPath = resolve(this.storagePath, `active-${this.sessionId}.pid`);
335
+ const metaPath = resolve(this.storagePath, `active-${this.sessionId}.meta.json`);
324
336
  try {
325
337
  if (existsSync(heartbeatPath))
326
338
  unlinkSync(heartbeatPath);
339
+ if (existsSync(metaPath))
340
+ unlinkSync(metaPath);
327
341
  }
328
342
  catch (err) {
329
343
  logger.debug('Failed to remove heartbeat file', { error: String(err) });
330
344
  }
331
345
  }
346
+ /**
347
+ * Remove another session's heartbeat + sidecar metadata by explicit
348
+ * sessionId. Unlike removeHeartbeat() (which only ever acts on `this`
349
+ * LocalStore's own bound sessionId), this lets a caller — the `preflight
350
+ * local --clean` CLI command, which isn't scoped to any one session —
351
+ * clean up a *different* session's files after killing that session's
352
+ * process. Safe to call even if the files are already gone.
353
+ */
354
+ removeStdioHeartbeat(sessionId) {
355
+ const heartbeatPath = resolve(this.storagePath, `active-${sessionId}.pid`);
356
+ const metaPath = resolve(this.storagePath, `active-${sessionId}.meta.json`);
357
+ try {
358
+ if (existsSync(heartbeatPath))
359
+ unlinkSync(heartbeatPath);
360
+ if (existsSync(metaPath))
361
+ unlinkSync(metaPath);
362
+ }
363
+ catch (err) {
364
+ logger.debug('Failed to remove stdio heartbeat/sidecar', { error: String(err) });
365
+ }
366
+ }
332
367
  /**
333
368
  * Write the PID/argv/cwd of the current `--local` process to
334
369
  * `local-dashboard.pid`. Called only after this process has actually won
@@ -644,6 +679,20 @@ export class LocalStore {
644
679
  error: String(err),
645
680
  });
646
681
  }
682
+ // Sidecar metadata written by writeHeartbeat() alongside the
683
+ // heartbeat — removed separately so a missing/unlinkable sidecar
684
+ // never blocks the heartbeat cleanup above.
685
+ const metaPath = resolve(this.storagePath, `active-${sessionId}.meta.json`);
686
+ try {
687
+ if (existsSync(metaPath))
688
+ unlinkSync(metaPath);
689
+ }
690
+ catch (err) {
691
+ logger.debug('Failed to remove sidecar metadata after archive', {
692
+ sessionId,
693
+ error: String(err),
694
+ });
695
+ }
647
696
  }
648
697
  }
649
698
  catch (err) {
@@ -794,6 +843,68 @@ export class LocalStore {
794
843
  }
795
844
  return active;
796
845
  }
846
+ /**
847
+ * List every live `--stdio` MCP process from `active-<sessionId>.pid`
848
+ * heartbeats — the same files `getActiveSessionIdsFromHeartbeats()` and
849
+ * `hasLiveOwner()` already read, scanned here for user-facing detail
850
+ * (`preflight local`) instead of internal GC/ownership bookkeeping.
851
+ * `argv`/`cwd` come from the sidecar `active-<sessionId>.meta.json`
852
+ * written by `writeHeartbeat()`; a heartbeat from a pre-upgrade build that
853
+ * predates the sidecar reports `argv: []`, `cwd: null`. `startedAt` is the
854
+ * heartbeat file's mtime — `writeHeartbeat()` is called exactly once at
855
+ * process startup (never refreshed), so mtime is an accurate proxy for
856
+ * process start time. Malformed entries are skipped silently.
857
+ */
858
+ listActiveStdioInstances() {
859
+ if (!existsSync(this.storagePath))
860
+ return [];
861
+ let entries;
862
+ try {
863
+ entries = readdirSync(this.storagePath);
864
+ }
865
+ catch (err) {
866
+ logger.warn('Failed to enumerate storage path for listActiveStdioInstances', {
867
+ error: String(err),
868
+ });
869
+ return [];
870
+ }
871
+ const result = [];
872
+ for (const name of entries) {
873
+ if (!name.startsWith('active-') || !name.endsWith('.pid'))
874
+ continue;
875
+ const sessionId = name.slice('active-'.length, -'.pid'.length);
876
+ if (!SESSION_ID_RE.test(sessionId))
877
+ continue;
878
+ const heartbeatPath = resolve(this.storagePath, name);
879
+ let pid;
880
+ let startedAt;
881
+ try {
882
+ pid = Number.parseInt(readFileSync(heartbeatPath, 'utf-8').trim(), 10);
883
+ startedAt = statSync(heartbeatPath).mtimeMs;
884
+ }
885
+ catch {
886
+ continue;
887
+ }
888
+ if (!Number.isFinite(pid) || pid <= 0)
889
+ continue;
890
+ let argv = [];
891
+ let cwd = null;
892
+ try {
893
+ const metaPath = resolve(this.storagePath, `active-${sessionId}.meta.json`);
894
+ const meta = JSON.parse(readFileSync(metaPath, 'utf-8'));
895
+ if (Array.isArray(meta.argv) && meta.argv.every((a) => typeof a === 'string')) {
896
+ argv = meta.argv;
897
+ }
898
+ if (typeof meta.cwd === 'string')
899
+ cwd = meta.cwd;
900
+ }
901
+ catch {
902
+ // No sidecar (pre-upgrade heartbeat) or unreadable — leave argv/cwd at their defaults.
903
+ }
904
+ result.push({ pid, sessionId, argv, cwd, startedAt, alive: isPidAlive(pid) });
905
+ }
906
+ return result;
907
+ }
797
908
  /**
798
909
  * Garbage-collect stale per-PPID breadcrumb files at
799
910
  * `<storage>/session-by-ppid/<pid>.txt`. A breadcrumb is stale when its