react-doctor 0.9.15-dev.8ed70df → 0.9.16-dev.ef1be22

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 (40) hide show
  1. package/README.md +3 -3
  2. package/dist/{build-section-divider-BSEx7sis.js → build-section-divider-B0MdVO19.js} +5 -5
  3. package/dist/{ci-D4R9kdc2.js → ci-SiOo5RzD.js} +13 -13
  4. package/dist/cli.js +25 -25
  5. package/dist/{constants-DJ3RtEMu.js → constants-rmkaA7iw.js} +5 -5
  6. package/dist/{design-T850ewH9.js → design-Dty0_JnG.js} +4 -4
  7. package/dist/{exit-gracefully-DkeS8hHp.js → exit-gracefully-BqUKaxLV.js} +6 -6
  8. package/dist/{handle-error-RLjKeLDA.js → handle-error-jBnelA-d.js} +6 -6
  9. package/dist/index.d.ts +4 -1
  10. package/dist/index.js +9 -7
  11. package/dist/{inspect-DuT3v6KA.js → inspect-ZsJdCoBa.js} +29 -29
  12. package/dist/{install-BeahaWiL.js → install-CvyHP8Sz.js} +10 -10
  13. package/dist/{install-doctor-script-B84ViKF6.js → install-doctor-script-YdsysHJ8.js} +5 -5
  14. package/dist/{install-github-workflow-BunRUQaF.js → install-github-workflow-zVARf-aa.js} +5 -5
  15. package/dist/{install-react-doctor-C5W2i12g.js → install-react-doctor-Btq_1UZH.js} +9 -9
  16. package/dist/{is-cache-globally-disabled-De19063F.js → is-cache-globally-disabled-DquUESHw.js} +4 -4
  17. package/dist/{jsx-runtime-DBWv4kid.js → jsx-runtime-BC_XnKBD.js} +6 -6
  18. package/dist/{print-branded-header-BNKQT5ZQ.js → print-branded-header-C9VkuYyR.js} +4 -4
  19. package/dist/{prompt-runtime-scan-url-Bly4Vulj.js → prompt-runtime-scan-url-DBB5q70w.js} +5 -5
  20. package/dist/{read-object-file-B-BZ7uYW.js → read-object-file-BMfspuEc.js} +4 -4
  21. package/dist/{record-metric-Do1JAZVB.js → record-metric-COaAD5VE.js} +157 -83
  22. package/dist/{report-error-DL7M0AGh.js → report-error-CSpZGdCu.js} +6 -6
  23. package/dist/{report-workflow-result-BSLZylKS.js → report-workflow-result-D0Tev_E8.js} +6 -6
  24. package/dist/{resolve-scope-_R2u_rWR.js → resolve-scope-BDtWzgKS.js} +6 -6
  25. package/dist/{rules-DD_Jp7ZA.js → rules-3T0sQG3z.js} +7 -7
  26. package/dist/{run-scan-app-B2_HYqlM.js → run-scan-app-Ch62x8JM.js} +11 -11
  27. package/dist/{runtime-scan-HiSmF8di.js → runtime-scan-fl7GqT-4.js} +10 -10
  28. package/dist/{sanitize-runtime-url-c0or2L2V.js → sanitize-runtime-url-CxW5-DlL.js} +4 -4
  29. package/dist/{scan-B4oVxvqa.js → scan-ChjHrC7N.js} +10 -10
  30. package/dist/{should-fail-scan-gate-Bjr43-87.js → should-fail-scan-gate-0HPfGaTS.js} +104 -18
  31. package/dist/{should-skip-prompts-DKwyzEkM.js → should-skip-prompts-Db09UIvm.js} +4 -4
  32. package/dist/{should-use-tui-DO7NdqR8.js → should-use-tui-CO0fiHNd.js} +4 -4
  33. package/dist/skills/react-doctor/SKILL.md +1 -1
  34. package/dist/{start-scan-preamble-DZknzhHU.js → start-scan-preamble-CCqs1vP4.js} +5 -5
  35. package/dist/start-scan-preamble.js +3 -3
  36. package/dist/{telemetry-runtime-D3teullu.js → telemetry-runtime-CEcDvXxW.js} +7 -7
  37. package/dist/{version-Kj44qNuh.js → version-CP66Metq.js} +5 -5
  38. package/dist/{why-BV74fXYk.js → why-CyIuJZHz.js} +4 -4
  39. package/dist/{with-run-span-y8D-ZUGk.js → with-run-span-aYNrYjQY.js} +6 -6
  40. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3fde75de-3a17-5483-a00b-5f7ed11ec2e8")}catch(e){}}();
3
- import { B as resolveGitCommand, g as RUN_GIT_MAX_BUFFER_BYTES } from "./constants-DJ3RtEMu.js";
4
- import { an as info$1, b as isNonInteractiveEnvironment, in as error$1, kt as highlighter, on as log, sn as warn, xn as runSync } from "./record-metric-Do1JAZVB.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="be94a949-2a69-5149-a1ff-12fb483ebb7e")}catch(e){}}();
3
+ import { B as resolveGitCommand, g as RUN_GIT_MAX_BUFFER_BYTES } from "./constants-rmkaA7iw.js";
4
+ import { At as highlighter, Cn as runSync, b as isNonInteractiveEnvironment, cn as log, ln as warn, on as error$1, sn as info$1 } from "./record-metric-COaAD5VE.js";
5
5
  import { a as chalk, i as stripAnsi, t as eastAsianWidth } from "./get-east-asian-width-DRPy7dqz.js";
6
6
  import * as fs$1 from "node:fs";
7
7
  import * as path$1 from "node:path";
@@ -2814,5 +2814,5 @@ const installReactDoctorScriptStep = (projectRoot) => {
2814
2814
  //#endregion
2815
2815
  export { runGitAsync as A, isRecord as C, readPackageJson as D, packageHasRecordKey as E, writeJsonFile as M, cliLogger as N, resolveGitPath as O, getPackageJsonPath as S, packageHasNestedRecordKey as T, REACT_DOCTOR_COMMAND as _, installReactDoctorScriptStep as a, VITE_PLUS_HOOKS_PATH as b, spinner as c, HUSKY_HOOKS_PATH as d, LEFTHOOK_CONFIG_FILES as f, PRE_COMMIT_CONFIG_FILE as g, OVERCOMMIT_CONFIG_FILE as h, hasDoctorScript as i, runGitRaw as j, runGit as k, HOOK_FILE_NAME as l, NON_BLOCKING_REACT_DOCTOR_COMMAND as m, findNearestPackageDirectory as n, isSpinnerSilent as o, LEGACY_HOOK_RUNNER_RELATIVE_PATH as p, hasDoctorDependency as r, setSpinnerSilent as s, DOCTOR_PACKAGE_NAME as t, HOOK_RELATIVE_PATH as u, SIMPLE_GIT_HOOKS_CONFIG_FILE as v, packageHasDependency as w, ensureTrailingNewline as x, SIMPLE_GIT_HOOKS_PACKAGE_JSON_KEY as y };
2816
2816
 
2817
- //# sourceMappingURL=install-doctor-script-B84ViKF6.js.map
2818
- //# debugId=3fde75de-3a17-5483-a00b-5f7ed11ec2e8
2817
+ //# sourceMappingURL=install-doctor-script-YdsysHJ8.js.map
2818
+ //# debugId=be94a949-2a69-5149-a1ff-12fb483ebb7e
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d87da707-e91e-5923-98e9-fc124269dcca")}catch(e){}}();
3
- import { s as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./constants-DJ3RtEMu.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="dc1c6c6b-86f5-5629-a36f-3b268f35f18c")}catch(e){}}();
3
+ import { s as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./constants-rmkaA7iw.js";
4
4
  import { t as unrefStdin } from "./unref-stdin-D-NZBFpg.js";
5
- import { N as cliLogger } from "./install-doctor-script-B84ViKF6.js";
5
+ import { N as cliLogger } from "./install-doctor-script-YdsysHJ8.js";
6
6
  import { createRequire } from "node:module";
7
7
  import * as fs$1 from "node:fs";
8
8
  import * as path$1 from "node:path";
@@ -267,5 +267,5 @@ const upgradeReactDoctorWorkflowInPlace = (projectRoot) => {
267
267
  //#endregion
268
268
  export { readReactDoctorWorkflow as a, workflowUsesV1Action as c, detectDefaultBranch as d, runCommand as f, isReactDoctorWorkflowInstalled as i, prompts as l, getReactDoctorWorkflowPath as n, upgradeReactDoctorWorkflowInPlace as o, installReactDoctorWorkflow as r, upgradeWorkflowActionToV2 as s, buildWorkflowContent as t, isCommandAvailable as u };
269
269
 
270
- //# sourceMappingURL=install-github-workflow-BunRUQaF.js.map
271
- //# debugId=d87da707-e91e-5923-98e9-fc124269dcca
270
+ //# sourceMappingURL=install-github-workflow-zVARf-aa.js.map
271
+ //# debugId=dc1c6c6b-86f5-5629-a36f-3b268f35f18c
@@ -1,11 +1,11 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7e141891-aede-5389-80f3-48aac94ce7d5")}catch(e){}}();
3
- import { kt as GITHUB_ACTIONS_SETUP_URL, o as CI_TRUST_COMPANIES, pn as SKILL_NAME, u as METRIC } from "./constants-DJ3RtEMu.js";
4
- import { kt as highlighter, t as recordCount, y as CliInputError, zn as isErrnoException } from "./record-metric-Do1JAZVB.js";
5
- import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as writeJsonFile, N as cliLogger, O as resolveGitPath, S as getPackageJsonPath, T as packageHasNestedRecordKey, _ as REACT_DOCTOR_COMMAND, a as installReactDoctorScriptStep, b as VITE_PLUS_HOOKS_PATH, c as spinner, d as HUSKY_HOOKS_PATH, f as LEFTHOOK_CONFIG_FILES, g as PRE_COMMIT_CONFIG_FILE, h as OVERCOMMIT_CONFIG_FILE, k as runGit, l as HOOK_FILE_NAME, m as NON_BLOCKING_REACT_DOCTOR_COMMAND, n as findNearestPackageDirectory, p as LEGACY_HOOK_RUNNER_RELATIVE_PATH, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, u as HOOK_RELATIVE_PATH, w as packageHasDependency, x as ensureTrailingNewline } from "./install-doctor-script-B84ViKF6.js";
6
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-BunRUQaF.js";
7
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DKwyzEkM.js";
8
- import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, g as loadAgentInstall, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-BSLZylKS.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0e6e69a0-b75b-5493-84c7-c233d61a36ab")}catch(e){}}();
3
+ import { kt as GITHUB_ACTIONS_SETUP_URL, o as CI_TRUST_COMPANIES, pn as SKILL_NAME, u as METRIC } from "./constants-rmkaA7iw.js";
4
+ import { At as highlighter, Vn as isErrnoException, t as recordCount, y as CliInputError } from "./record-metric-COaAD5VE.js";
5
+ import { C as isRecord, D as readPackageJson, E as packageHasRecordKey, M as writeJsonFile, N as cliLogger, O as resolveGitPath, S as getPackageJsonPath, T as packageHasNestedRecordKey, _ as REACT_DOCTOR_COMMAND, a as installReactDoctorScriptStep, b as VITE_PLUS_HOOKS_PATH, c as spinner, d as HUSKY_HOOKS_PATH, f as LEFTHOOK_CONFIG_FILES, g as PRE_COMMIT_CONFIG_FILE, h as OVERCOMMIT_CONFIG_FILE, k as runGit, l as HOOK_FILE_NAME, m as NON_BLOCKING_REACT_DOCTOR_COMMAND, n as findNearestPackageDirectory, p as LEGACY_HOOK_RUNNER_RELATIVE_PATH, r as hasDoctorDependency, t as DOCTOR_PACKAGE_NAME, u as HOOK_RELATIVE_PATH, w as packageHasDependency, x as ensureTrailingNewline } from "./install-doctor-script-YdsysHJ8.js";
6
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, d as detectDefaultBranch, l as prompts, n as getReactDoctorWorkflowPath, o as upgradeReactDoctorWorkflowInPlace, r as installReactDoctorWorkflow } from "./install-github-workflow-zVARf-aa.js";
7
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-Db09UIvm.js";
8
+ import { a as recordGate, c as ACTION_UPGRADE_EVENT, d as INSTALL_AGENTS_PREFERENCE_ID, g as loadAgentInstall, h as detectAvailableAgents, i as readPreference, l as CI_PITCH_EVENT, m as computeDefaultSelectedAgents, n as openUrl, r as isGatePending, s as writePreference, t as reportWorkflowResult } from "./report-workflow-result-D0Tev_E8.js";
9
9
  import * as fs$1 from "node:fs";
10
10
  import * as path$1 from "node:path";
11
11
  import { execFile } from "node:child_process";
@@ -1156,5 +1156,5 @@ const runInstallReactDoctor = async (options = {}) => {
1156
1156
  //#endregion
1157
1157
  export { askUpgradeActionVersion as a, recordCiPromptDecision as c, installReactDoctorAgentHooks as i, hasHandledActionUpgrade as l, runInstallReactDoctor as n, askAddToGitHubActions as o, findAgentsWithOutdatedReactDoctorHooks as r, hasHandledCiPrompt as s, getSkillSourceDirectory as t, recordActionUpgradeDecision as u };
1158
1158
 
1159
- //# sourceMappingURL=install-react-doctor-C5W2i12g.js.map
1160
- //# debugId=7e141891-aede-5389-80f3-48aac94ce7d5
1159
+ //# sourceMappingURL=install-react-doctor-Btq_1UZH.js.map
1160
+ //# debugId=0e6e69a0-b75b-5493-84c7-c233d61a36ab
@@ -1,10 +1,10 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c710eeff-0123-5105-9fd0-ac7d79304a90")}catch(e){}}();
3
- import { a as CACHE_DISABLED_VALUES } from "./constants-DJ3RtEMu.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="98cb2e68-1060-5b5b-90da-b3ee0b846211")}catch(e){}}();
3
+ import { a as CACHE_DISABLED_VALUES } from "./constants-rmkaA7iw.js";
4
4
  //#region src/cli/utils/is-cache-globally-disabled.ts
5
5
  const isCacheGloballyDisabled = () => CACHE_DISABLED_VALUES.has(process.env.REACT_DOCTOR_NO_CACHE?.toLowerCase() ?? "");
6
6
  //#endregion
7
7
  export { isCacheGloballyDisabled as t };
8
8
 
9
- //# sourceMappingURL=is-cache-globally-disabled-De19063F.js.map
10
- //# debugId=c710eeff-0123-5105-9fd0-ac7d79304a90
9
+ //# sourceMappingURL=is-cache-globally-disabled-DquUESHw.js.map
10
+ //# debugId=98cb2e68-1060-5b5b-90da-b3ee0b846211
@@ -1,9 +1,9 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2636ac49-df2a-568c-9539-ef567f4d461e")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2361e9a6-cf15-5e91-88eb-fcd97eb50a00")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { u as METRIC } from "./constants-DJ3RtEMu.js";
5
- import { t as recordCount } from "./record-metric-Do1JAZVB.js";
6
- import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-DkeS8hHp.js";
4
+ import { u as METRIC } from "./constants-rmkaA7iw.js";
5
+ import { t as recordCount } from "./record-metric-COaAD5VE.js";
6
+ import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-BqUKaxLV.js";
7
7
  import { a as chalk, i as stripAnsi, n as isFullWidth$1, r as isWide$1 } from "./get-east-asian-width-DRPy7dqz.js";
8
8
  import * as fs$1 from "node:fs";
9
9
  import fs from "node:fs";
@@ -25870,5 +25870,5 @@ var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25870
25870
  //#endregion
25871
25871
  export { useExitOnCtrlC as a, Spinner as c, useInput as d, Transform as f, Box as h, import_react as i, useStdout as l, Text as m, registerMountedTuiRenderer as n, terminalSymbols as o, render as p, useStdoutDimensions as r, isPrintableInput as s, require_jsx_runtime as t, useApp as u };
25872
25872
 
25873
- //# sourceMappingURL=jsx-runtime-DBWv4kid.js.map
25874
- //# debugId=2636ac49-df2a-568c-9539-ef567f4d461e
25873
+ //# sourceMappingURL=jsx-runtime-BC_XnKBD.js.map
25874
+ //# debugId=2361e9a6-cf15-5e91-88eb-fcd97eb50a00
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d92dd667-ac0b-5a23-beb4-01437ae67ac6")}catch(e){}}();
3
- import { _ as VERSION, fn as gen, kt as highlighter, on as log } from "./record-metric-Do1JAZVB.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ebe51e50-b37f-5c04-9e41-d92a0b09e483")}catch(e){}}();
3
+ import { At as highlighter, _ as VERSION, cn as log, mn as gen } from "./record-metric-COaAD5VE.js";
4
4
  //#region src/cli/utils/print-branded-header.ts
5
5
  /**
6
6
  * Single branded line every command prints first when not in JSON
@@ -18,5 +18,5 @@ const printBrandedHeader = gen(function* () {
18
18
  //#endregion
19
19
  export { printBrandedHeader as t };
20
20
 
21
- //# sourceMappingURL=print-branded-header-BNKQT5ZQ.js.map
22
- //# debugId=d92dd667-ac0b-5a23-beb4-01437ae67ac6
21
+ //# sourceMappingURL=print-branded-header-C9VkuYyR.js.map
22
+ //# debugId=ebe51e50-b37f-5c04-9e41-d92a0b09e483
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a465497f-a818-5030-b200-89b7f510ccca")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="644aca34-9ae2-5dbe-9c2f-757da6cbc050")}catch(e){}}();
3
3
  import { t as unrefStdin } from "./unref-stdin-D-NZBFpg.js";
4
- import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-c0or2L2V.js";
5
- import { a as useExitOnCtrlC, c as Spinner, d as useInput, h as Box, i as import_react, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime } from "./jsx-runtime-DBWv4kid.js";
4
+ import { a as RUNTIME_SCAN_LOCAL_DEV_PORTS, t as sanitizeRuntimeUrl, u as RUNTIME_SCAN_MAX_STRING_LENGTH } from "./sanitize-runtime-url-CxW5-DlL.js";
5
+ import { a as useExitOnCtrlC, c as Spinner, d as useInput, h as Box, i as import_react, m as Text, n as registerMountedTuiRenderer, o as terminalSymbols, p as render, r as useStdoutDimensions, s as isPrintableInput, t as require_jsx_runtime } from "./jsx-runtime-BC_XnKBD.js";
6
6
  import * as http from "node:http";
7
7
  //#region src/cli/runtime-scan/detect-local-runtime-urls.ts
8
8
  const LOCAL_HTTP_HOSTS = ["127.0.0.1", "::1"];
@@ -236,5 +236,5 @@ const promptRuntimeScanUrl = () => new Promise((resolve) => {
236
236
  //#endregion
237
237
  export { promptRuntimeScanUrl };
238
238
 
239
- //# sourceMappingURL=prompt-runtime-scan-url-Bly4Vulj.js.map
240
- //# debugId=a465497f-a818-5030-b200-89b7f510ccca
239
+ //# sourceMappingURL=prompt-runtime-scan-url-DBB5q70w.js.map
240
+ //# debugId=644aca34-9ae2-5dbe-9c2f-757da6cbc050
@@ -1,6 +1,6 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b3445f3a-dfac-5ea7-973b-acae833fa2f0")}catch(e){}}();
3
- import { Vn as isPlainObject } from "./record-metric-Do1JAZVB.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="936d0f94-ea3d-5763-bffc-1abccc17afcb")}catch(e){}}();
3
+ import { Un as isPlainObject } from "./record-metric-COaAD5VE.js";
4
4
  import * as fs$1 from "node:fs";
5
5
  import { parseJSON5 } from "confbox";
6
6
  //#region src/cli/utils/read-object-file.ts
@@ -20,5 +20,5 @@ const readObjectFile = (filePath) => {
20
20
  //#endregion
21
21
  export { readObjectFile as t };
22
22
 
23
- //# sourceMappingURL=read-object-file-B-BZ7uYW.js.map
24
- //# debugId=b3445f3a-dfac-5ea7-973b-acae833fa2f0
23
+ //# sourceMappingURL=read-object-file-BMfspuEc.js.map
24
+ //# debugId=936d0f94-ea3d-5763-bffc-1abccc17afcb
@@ -1,7 +1,7 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="afbcb2f9-589c-5253-807a-6101bbaec04a")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="aff777bc-568b-5ed2-907a-0c9741a672c9")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
- import { $ as warmReactCompilerDetection, $t as OXLINT_WORKER_JOB_END_MARKER, A as buildGitSourceListingRequest, An as TARGET_BLANK_BROWSER_SUPPORT, At as GITHUB_VIEWER_PERMISSION_TIMEOUT_MS, B as resolveGitCommand, Bt as MAINTAINABILITY_DUPLICATE_JSX_RULE, Cn as SUPPLY_CHAIN_CACHE_TTL_MS, Ct as ES_TARGET_YEAR_BY_NAME, Dn as SUPPLY_CHAIN_PLUGIN, Dt as GENERATED_BUNDLE_FILE_PATTERN, En as SUPPLY_CHAIN_OVERLAP_TIMEOUT_MS, Et as FILE_LINT_CACHE_MAX_FILE_COUNT, F as lowerChildProcessPriority, Fn as VERCEL_NEXTJS_SECURITY_RELEASE_URL, Ft as HTML_FILE_PATTERN, G as resolvePluginPath, Gt as MINIFIED_SNIFF_BYTES, H as resolveOxlintThreadCount, It as IGNORED_DIRECTORIES, J as resolveTsConfigRelativePath, K as resolveReactDoctorCacheDir, Kt as OCCURRENCE_MATCHED_CATEGORIES, Lt as JSX_DUPLICATION_SOURCE_FILE_PATTERN, M as buildOxlintWorkerSpawnSpec, Mn as TELEMETRY_SHUTDOWN_TIMEOUT_MS, Mt as GIT_LS_FILES_MAX_BUFFER_BYTES, Nn as TSCONFIG_FILENAMES, Nt as GIT_SHOW_MAX_BUFFER_BYTES, On as SUPPLY_CHAIN_RULE, Ot as GENERATED_SOURCE_DIRECTORY_PATTERN, P as killUnadoptedOxlintWorkers, Pn as TYPESCRIPT_DECLARATION_FILE_PATTERN, Pt as GIT_SOURCE_LISTING_ARGUMENTS, Q as takeReactCompilerDetection, Qt as OXLINT_SPLIT_TOTAL_BUDGET_MS, R as readSystemConcurrencyFacts, Sn as SUPPLY_CHAIN_CACHE_SUBDIR, Tn as SUPPLY_CHAIN_IGNORED_PACKAGES, Tt as FILE_LINT_CACHE_FILENAME, U as resolveOxlintToolchainVersions, Ut as MAX_GLOB_PATTERN_LENGTH_CHARS, V as resolveOxlintBinary, Vt as MAINTAINABILITY_PLUGIN, W as resolveOxlintWorkerRuntime, Wt as MILLISECONDS_PER_SECOND, X as spawnOxlintWorkerProcess, Xt as OXLINT_OUTPUT_MAX_BYTES, Y as setChildProcessRef, Yt as OXLINT_OOM_RESCUE_BUDGET_MS, Z as takePrespawnedOxlintWorker, Zt as OXLINT_SPAWN_TIMEOUT_MS, _n as SOURCE_FILE_PATTERN, _t as DIAGNOSTIC_CATEGORY_BUCKETS, an as REACT_ROUTER_CAPABILITY_THRESHOLDS, at as AXIOM_METRICS_DATASET_HEADER, bn as SPAWN_ARGS_MAX_LENGTH_CHARS_POSIX, cn as ROOT_CAUSE_GROUPABLE_RULE_KEYS, d as METRIC_DISTRIBUTION_BOUNDARIES, dt as COMPILER_CLEANUP_BUCKET, en as PROJECT_ANALYSIS_WORKER_MAX_OLD_SPACE_MB, et as ABORT_EXIT_CODES, fn as SIDECAR_LINT_CACHE_FILENAME, ft as COMPILER_CLEANUP_RULE_KEYS, gn as SOCKET_PACKAGE_PAGE_BASE, gt as DEFAULT_BRANCH_CANDIDATES, hn as SOCKET_FREE_USER_AGENT, in as REACT_BLOG_RSC_ADVISORY_URL, j as buildOxlintChildEnv, jn as TELEMETRY_EXPORT_INTERVAL_MS, jt as GIT_CHECK_ATTR_MAX_BUFFER_BYTES, kn as TAILWIND_POSTCSS7_COMPAT_ALIAS, l as INTERNAL_ERROR_JSON_FALLBACK, ln as SCANNED_DOT_DIRECTORIES, mn as SOCKET_FREE_PURL_API_BASE, mt as CONFIG_FINGERPRINT_FILENAMES, nn as PROJECT_ANALYSIS_WORKER_TIMEOUT_CEILING_MS, nt as APP_ONLY_RULE_KEYS, on as REACT_SERVER_DOM_PACKAGES, ot as AXIOM_METRICS_PATH, pt as CONFIG_CACHE_TTL_MS, q as resolveScanConcurrency, qt as OXLINT_IGNORED_DECLARATION_DIAGNOSTIC_CODES, rn as PROJECT_ANALYSIS_WORKER_TIMEOUT_MS, rt as AXIOM_DATASET_HEADER, sn as RECOMMENDED_PNPM_MINIMUM_RELEASE_AGE_MINUTES, st as AXIOM_TRACES_PATH, tn as PROJECT_ANALYSIS_WORKER_MEMORY_BUDGET_BYTES, tt as ADOPTABLE_LINT_CONFIG_FILENAMES, un as SCORE_API_URL, vn as SPAWN_ARGS_MAX_LENGTH_CHARS, vt as DISABLE_DIRECTIVE_BACKUP_DIRECTORY_SEGMENTS, wn as SUPPLY_CHAIN_CATEGORY, wt as FETCH_TIMEOUT_MS, xn as STAGED_FILES_PROJECT_CONFIG_FILENAMES, xt as DUPLICATE_JSX_WORKER_IDLE_TIMEOUT_MS, yn as SPAWN_ARGS_MAX_LENGTH_CHARS_DARWIN, yt as DOCS_RULES_BASE_URL, z as resolveConfiguredScanConcurrency, zt as MAINTAINABILITY_CATEGORY } from "./constants-DJ3RtEMu.js";
4
+ import { $ as warmReactCompilerDetection, $t as OXLINT_WORKER_JOB_END_MARKER, A as buildGitSourceListingRequest, An as TARGET_BLANK_BROWSER_SUPPORT, At as GITHUB_VIEWER_PERMISSION_TIMEOUT_MS, B as resolveGitCommand, Bt as MAINTAINABILITY_DUPLICATE_JSX_RULE, Cn as SUPPLY_CHAIN_CACHE_TTL_MS, Ct as ES_TARGET_YEAR_BY_NAME, Dn as SUPPLY_CHAIN_PLUGIN, Dt as GENERATED_BUNDLE_FILE_PATTERN, En as SUPPLY_CHAIN_OVERLAP_TIMEOUT_MS, Et as FILE_LINT_CACHE_MAX_FILE_COUNT, F as lowerChildProcessPriority, Fn as VERCEL_NEXTJS_SECURITY_RELEASE_URL, Ft as HTML_FILE_PATTERN, G as resolvePluginPath, Gt as MINIFIED_SNIFF_BYTES, H as resolveOxlintThreadCount, It as IGNORED_DIRECTORIES, J as resolveTsConfigRelativePath, K as resolveReactDoctorCacheDir, Kt as OCCURRENCE_MATCHED_CATEGORIES, Lt as JSX_DUPLICATION_SOURCE_FILE_PATTERN, M as buildOxlintWorkerSpawnSpec, Mn as TELEMETRY_SHUTDOWN_TIMEOUT_MS, Mt as GIT_LS_FILES_MAX_BUFFER_BYTES, Nn as TSCONFIG_FILENAMES, Nt as GIT_SHOW_MAX_BUFFER_BYTES, On as SUPPLY_CHAIN_RULE, Ot as GENERATED_SOURCE_DIRECTORY_PATTERN, P as killUnadoptedOxlintWorkers, Pn as TYPESCRIPT_DECLARATION_FILE_PATTERN, Pt as GIT_SOURCE_LISTING_ARGUMENTS, Q as takeReactCompilerDetection, Qt as OXLINT_SPLIT_TOTAL_BUDGET_MS, R as readSystemConcurrencyFacts, Sn as SUPPLY_CHAIN_CACHE_SUBDIR, Tn as SUPPLY_CHAIN_IGNORED_PACKAGES, Tt as FILE_LINT_CACHE_FILENAME, U as resolveOxlintToolchainVersions, Ut as MAX_GLOB_PATTERN_LENGTH_CHARS, V as resolveOxlintBinary, Vt as MAINTAINABILITY_PLUGIN, W as resolveOxlintWorkerRuntime, Wt as MILLISECONDS_PER_SECOND, X as spawnOxlintWorkerProcess, Xt as OXLINT_OUTPUT_MAX_BYTES, Y as setChildProcessRef, Yt as OXLINT_OOM_RESCUE_BUDGET_MS, Z as takePrespawnedOxlintWorker, Zt as OXLINT_SPAWN_TIMEOUT_MS, _n as SOURCE_FILE_PATTERN, _t as DIAGNOSTIC_CATEGORY_BUCKETS, an as REACT_ROUTER_CAPABILITY_THRESHOLDS, at as AXIOM_METRICS_DATASET_HEADER, bn as SPAWN_ARGS_MAX_LENGTH_CHARS_POSIX, cn as ROOT_CAUSE_GROUPABLE_RULE_KEYS, d as METRIC_DISTRIBUTION_BOUNDARIES, dt as COMPILER_CLEANUP_BUCKET, en as PROJECT_ANALYSIS_WORKER_MAX_OLD_SPACE_MB, et as ABORT_EXIT_CODES, fn as SIDECAR_LINT_CACHE_FILENAME, ft as COMPILER_CLEANUP_RULE_KEYS, gn as SOCKET_PACKAGE_PAGE_BASE, gt as DEFAULT_BRANCH_CANDIDATES, hn as SOCKET_FREE_USER_AGENT, in as REACT_BLOG_RSC_ADVISORY_URL, j as buildOxlintChildEnv, jn as TELEMETRY_EXPORT_INTERVAL_MS, jt as GIT_CHECK_ATTR_MAX_BUFFER_BYTES, kn as TAILWIND_POSTCSS7_COMPAT_ALIAS, l as INTERNAL_ERROR_JSON_FALLBACK, ln as SCANNED_DOT_DIRECTORIES, mn as SOCKET_FREE_PURL_API_BASE, mt as CONFIG_FINGERPRINT_FILENAMES, nn as PROJECT_ANALYSIS_WORKER_TIMEOUT_CEILING_MS, nt as APP_ONLY_RULE_KEYS, on as REACT_SERVER_DOM_PACKAGES, ot as AXIOM_METRICS_PATH, pt as CONFIG_CACHE_TTL_MS, q as resolveScanConcurrency, qt as OXLINT_IGNORED_DECLARATION_DIAGNOSTIC_CODES, rn as PROJECT_ANALYSIS_WORKER_TIMEOUT_MS, rt as AXIOM_DATASET_HEADER, sn as RECOMMENDED_PNPM_MINIMUM_RELEASE_AGE_MINUTES, st as AXIOM_TRACES_PATH, tn as PROJECT_ANALYSIS_WORKER_MEMORY_BUDGET_BYTES, tt as ADOPTABLE_LINT_CONFIG_FILENAMES, un as SCORE_API_URL, vn as SPAWN_ARGS_MAX_LENGTH_CHARS, vt as DISABLE_DIRECTIVE_BACKUP_DIRECTORY_SEGMENTS, wn as SUPPLY_CHAIN_CATEGORY, wt as FETCH_TIMEOUT_MS, xn as STAGED_FILES_PROJECT_CONFIG_FILENAMES, xt as DUPLICATE_JSX_WORKER_IDLE_TIMEOUT_MS, yn as SPAWN_ARGS_MAX_LENGTH_CHARS_DARWIN, yt as DOCS_RULES_BASE_URL, z as resolveConfiguredScanConcurrency, zt as MAINTAINABILITY_CATEGORY } from "./constants-rmkaA7iw.js";
5
5
  import { n as require_picomatch, t as require_semver } from "./semver-BZIuy1gP.js";
6
6
  import { createRequire } from "node:module";
7
7
  import * as fs$1$2 from "node:fs";
@@ -88,7 +88,7 @@ const unwrapTypescriptExpression = (expression) => {
88
88
  return currentExpression;
89
89
  };
90
90
  //#endregion
91
- //#region ../core/dist/collect-unplugin-auto-import-global-scopes-BzxeBPe-.js
91
+ //#region ../core/dist/collect-unplugin-auto-import-global-scopes-CPWjtqPC.js
92
92
  var import_picomatch = /* @__PURE__ */ __toESM(require_picomatch(), 1);
93
93
  const LINGUIST_ATTRIBUTES = ["linguist-generated", "linguist-vendored"];
94
94
  const DISABLED_ATTRIBUTE_VALUES = new Set([
@@ -526,7 +526,7 @@ const collectUnpluginAutoImportGlobalScopes = ({ rootDirectory, candidateFiles }
526
526
  return scopes.some((scope) => scope.names.length > 0) ? scopes : [];
527
527
  };
528
528
  //#endregion
529
- //#region ../core/dist/detect-duplicate-jsx-subtrees-9RpwzxXg.js
529
+ //#region ../core/dist/detect-duplicate-jsx-subtrees-BcxRL5QB.js
530
530
  const yieldToEventLoop = () => new Promise((resolve) => {
531
531
  setImmediate(resolve);
532
532
  });
@@ -1083,7 +1083,7 @@ const detectDuplicateJsxSubtreesCooperative = async (sourceReader, options = {})
1083
1083
  });
1084
1084
  };
1085
1085
  //#endregion
1086
- //#region ../core/dist/detect-react-compiler-D7K5hWfV.js
1086
+ //#region ../core/dist/detect-react-compiler-D6vOhKBX.js
1087
1087
  const NEXT_CONFIG_FILENAMES = [
1088
1088
  "next.config.js",
1089
1089
  "next.config.mjs",
@@ -23309,6 +23309,7 @@ var JsonReportProjectEntry = class extends Class("JsonReportProjectEntry")({
23309
23309
  var JsonReportProjectEntryV3 = class extends Class("JsonReportProjectEntryV3")({
23310
23310
  directory: String$1,
23311
23311
  packageRoot: String$1,
23312
+ sourceFilterConfigHash: optional(String$1),
23312
23313
  framework: Framework,
23313
23314
  project: Unknown,
23314
23315
  diagnostics: ArraySchema(JsonReportDiagnosticV3),
@@ -70383,87 +70384,118 @@ const checkProjectAnalysis = async (options) => {
70383
70384
  };
70384
70385
  const fingerprintDiagnosticEvidence = (evidence) => createHash("sha256").update(evidence.replace(/\s+/g, " ").trim()).digest("hex");
70385
70386
  const DIAGNOSTIC_DELTA_IDENTITY = Symbol.for("react-doctor/diagnostic-delta-identity");
70386
- const getDiagnosticMatchKeys = (diagnostic, evidence) => {
70387
- const ruleKey = `${diagnostic.plugin}/${diagnostic.rule}`;
70388
- const messageFingerprint = fingerprintDiagnosticEvidence(`${diagnostic.title ?? ""}\0${diagnostic.message}`);
70389
- const evidenceFingerprint = diagnostic.fingerprint ?? (evidence?.trim() ? fingerprintDiagnosticEvidence(evidence) : null);
70387
+ const buildMatchCandidates = (diagnostics, indexes, readEvidence, readLine, mapLine) => indexes.map((diagnosticIndex) => {
70388
+ const diagnostic = diagnostics[diagnosticIndex];
70390
70389
  const explicitIdentity = Reflect.get(diagnostic, DIAGNOSTIC_DELTA_IDENTITY);
70391
- let explicitIdentityKey = null;
70392
- if (typeof explicitIdentity === "string") explicitIdentityKey = `identity\0${ruleKey}\0${fingerprintDiagnosticEvidence(explicitIdentity)}`;
70393
- else if (diagnostic.fingerprint?.startsWith("identity:")) explicitIdentityKey = `identity\0${ruleKey}\0${diagnostic.fingerprint.slice(9)}`;
70394
- const stableEvidenceKey = explicitIdentityKey ?? (evidenceFingerprint !== null ? `evidence\0${ruleKey}\0${messageFingerprint}\0${evidenceFingerprint}` : null);
70390
+ let fingerprint = diagnostic.fingerprint ?? null;
70391
+ if (typeof explicitIdentity === "string") fingerprint = `identity:${fingerprintDiagnosticEvidence(explicitIdentity)}`;
70392
+ else if (fingerprint === null) {
70393
+ const evidence = readEvidence?.(diagnostic) ?? readLine(diagnostic.filePath, diagnostic.line);
70394
+ if (evidence?.trim()) fingerprint = fingerprintDiagnosticEvidence(evidence);
70395
+ }
70396
+ const message = `${diagnostic.title ?? ""}\0${diagnostic.message}`;
70395
70397
  return {
70396
- stableEvidenceKey,
70397
- sameFileStableEvidenceKey: stableEvidenceKey === null ? null : `${diagnostic.filePath}\0${stableEvidenceKey}`,
70398
- sameFileFallbackKey: explicitIdentityKey === null && diagnostic.fingerprint === void 0 && (diagnostic.matchByOccurrence || evidenceFingerprint === null) ? `fallback\0${diagnostic.filePath}\0${ruleKey}\0${messageFingerprint}` : null
70398
+ diagnosticIndex,
70399
+ fingerprint,
70400
+ message,
70401
+ messageWords: new Set(message.toLowerCase().match(/\w+/g) ?? []),
70402
+ line: mapLine(diagnostic)
70403
+ };
70404
+ });
70405
+ const compareMatchRanks = (left, right) => right.messageSimilarity - left.messageSimilarity || left.lineDistance - right.lineDistance;
70406
+ const rankDiagnosticMatch = (head, base) => {
70407
+ let sharedWordCount = 0;
70408
+ for (const word of head.messageWords) if (base.messageWords.has(word)) sharedWordCount += 1;
70409
+ const unionWordCount = head.messageWords.size + base.messageWords.size - sharedWordCount;
70410
+ return {
70411
+ messageSimilarity: head.message === base.message ? 1 : sharedWordCount / Math.max(1, unionWordCount),
70412
+ lineDistance: Math.abs(head.line - base.line)
70399
70413
  };
70400
70414
  };
70401
- const addDiagnosticIndex = (buckets, key, diagnosticIndex) => {
70402
- if (key === null) return;
70403
- const diagnosticIndexes = buckets.get(key) ?? [];
70404
- diagnosticIndexes.push(diagnosticIndex);
70405
- buckets.set(key, diagnosticIndexes);
70406
- };
70407
- const takeMatchingDiagnosticIndex = (buckets, key, matchedDiagnosticIndexes) => {
70408
- if (key === null) return null;
70409
- for (const diagnosticIndex of buckets.get(key) ?? []) if (!matchedDiagnosticIndexes.has(diagnosticIndex)) return diagnosticIndex;
70410
- return null;
70411
- };
70412
- const readDiagnosticEvidence = (diagnostic, readEvidence, readLine) => readEvidence?.(diagnostic) ?? readLine(diagnostic.filePath, diagnostic.line);
70413
- const buildMatchCandidates = (diagnostics, readEvidence, readLine, renamedFiles = {}) => diagnostics.map((diagnostic, diagnosticIndex) => ({
70414
- diagnosticIndex,
70415
- ...getDiagnosticMatchKeys({
70416
- ...diagnostic,
70417
- filePath: renamedFiles[diagnostic.filePath] ?? diagnostic.filePath
70418
- }, readDiagnosticEvidence(diagnostic, readEvidence, readLine))
70419
- }));
70420
- /**
70421
- * Diffs a head scan against a base scan using a multiset of construct-level
70422
- * evidence. Detector-provided identities take precedence when source text is
70423
- * intentionally normalized. Otherwise, stable identities combine plugin/rule,
70424
- * the diagnostic message, and normalized diagnosed source, so unchanged
70425
- * findings can move across files while changed constructs or messages remain
70426
- * new. Cardinality is retained for identical findings. Diagnostics explicitly marked
70427
- * `matchByOccurrence` may fall back to same-file plugin/rule/message matching
70428
- * after same-file strict evidence matching. Cross-file evidence matching runs
70429
- * last so a copy cannot consume a reformatted local occurrence. Unreadable
70430
- * evidence uses the same conservative fallback rather than matching across
70431
- * files without proof.
70432
- */
70433
70415
  const computeDiagnosticDelta = (input) => {
70434
- const baseCandidates = buildMatchCandidates(input.baseDiagnostics, input.readBaseEvidence, input.readBaseLine, input.renamedFiles);
70435
- const headCandidates = buildMatchCandidates(input.headDiagnostics, input.readHeadEvidence, input.readHeadLine);
70436
- const baseByStableEvidence = /* @__PURE__ */ new Map();
70437
- const baseBySameFileStableEvidence = /* @__PURE__ */ new Map();
70438
- const baseBySameFileFallback = /* @__PURE__ */ new Map();
70439
- for (const candidate of baseCandidates) {
70440
- addDiagnosticIndex(baseByStableEvidence, candidate.stableEvidenceKey, candidate.diagnosticIndex);
70441
- addDiagnosticIndex(baseBySameFileStableEvidence, candidate.sameFileStableEvidenceKey, candidate.diagnosticIndex);
70442
- addDiagnosticIndex(baseBySameFileFallback, candidate.sameFileFallbackKey, candidate.diagnosticIndex);
70443
- }
70444
- const matchedHeadDiagnosticIndexes = /* @__PURE__ */ new Set();
70445
- const matchedBaseDiagnosticIndexes = /* @__PURE__ */ new Set();
70446
- const matchCandidates = (baseBuckets, getKey, onMatch) => {
70447
- for (const candidate of headCandidates) {
70448
- if (matchedHeadDiagnosticIndexes.has(candidate.diagnosticIndex)) continue;
70449
- const baseDiagnosticIndex = takeMatchingDiagnosticIndex(baseBuckets, getKey(candidate), matchedBaseDiagnosticIndexes);
70450
- if (baseDiagnosticIndex === null) continue;
70451
- matchedHeadDiagnosticIndexes.add(candidate.diagnosticIndex);
70452
- matchedBaseDiagnosticIndexes.add(baseDiagnosticIndex);
70453
- onMatch?.(candidate.diagnosticIndex, baseDiagnosticIndex);
70454
- }
70455
- };
70456
- matchCandidates(baseBySameFileStableEvidence, (candidate) => candidate.sameFileStableEvidenceKey);
70457
- matchCandidates(baseBySameFileFallback, (candidate) => candidate.sameFileFallbackKey);
70458
- let unrestrictedCrossFileMatchCount = 0;
70459
- if (input.renamedFiles === void 0) matchCandidates(baseByStableEvidence, (candidate) => candidate.stableEvidenceKey, (headIndex, baseIndex) => {
70460
- if (input.headDiagnostics[headIndex].filePath !== input.baseDiagnostics[baseIndex].filePath) unrestrictedCrossFileMatchCount += 1;
70416
+ const groups = /* @__PURE__ */ new Map();
70417
+ for (const isBase of [true, false]) (isBase ? input.baseDiagnostics : input.headDiagnostics).forEach((diagnostic, diagnosticIndex) => {
70418
+ const groupKey = `${isBase ? input.renamedFiles?.[diagnostic.filePath] ?? diagnostic.filePath : diagnostic.filePath}\0${diagnostic.plugin}/${diagnostic.rule}`;
70419
+ const group = groups.get(groupKey) ?? {
70420
+ headIndexes: [],
70421
+ baseIndexes: []
70422
+ };
70423
+ (isBase ? group.baseIndexes : group.headIndexes).push(diagnosticIndex);
70424
+ groups.set(groupKey, group);
70461
70425
  });
70462
- const crossFileMatchCount = [...matchedBaseDiagnosticIndexes].filter((diagnosticIndex) => Boolean(input.renamedFiles?.[input.baseDiagnostics[diagnosticIndex].filePath])).length + unrestrictedCrossFileMatchCount;
70426
+ const newIndexes = /* @__PURE__ */ new Set();
70427
+ let fixedCount = 0;
70428
+ let crossFileMatchCount = 0;
70429
+ let ruleCountMatchCount = 0;
70430
+ for (const group of groups.values()) {
70431
+ const matchedCount = Math.min(group.headIndexes.length, group.baseIndexes.length);
70432
+ fixedCount += group.baseIndexes.length - matchedCount;
70433
+ crossFileMatchCount += Math.min(matchedCount, group.baseIndexes.filter((diagnosticIndex) => Boolean(input.renamedFiles?.[input.baseDiagnostics[diagnosticIndex].filePath])).length);
70434
+ if (group.headIndexes.length <= group.baseIndexes.length) {
70435
+ ruleCountMatchCount += matchedCount;
70436
+ continue;
70437
+ }
70438
+ if (group.baseIndexes.length === 0) {
70439
+ for (const diagnosticIndex of group.headIndexes) newIndexes.add(diagnosticIndex);
70440
+ continue;
70441
+ }
70442
+ const headCandidates = buildMatchCandidates(input.headDiagnostics, group.headIndexes, input.readHeadEvidence, input.readHeadLine, (diagnostic) => diagnostic.line);
70443
+ const baseCandidates = buildMatchCandidates(input.baseDiagnostics, group.baseIndexes, input.readBaseEvidence, input.readBaseLine, (diagnostic) => input.mapBaseLine?.(input.renamedFiles?.[diagnostic.filePath] ?? diagnostic.filePath, diagnostic.line) ?? diagnostic.line).sort((left, right) => left.line - right.line);
70444
+ const unmatchedHeads = new Map(headCandidates.map((candidate) => [candidate.diagnosticIndex, candidate]));
70445
+ const unmatchedBases = new Set(baseCandidates);
70446
+ for (const matchKind of [
70447
+ "exact",
70448
+ "fingerprint",
70449
+ "message"
70450
+ ]) {
70451
+ const headBuckets = /* @__PURE__ */ new Map();
70452
+ const keyFor = (candidate) => {
70453
+ if (matchKind === "message") return candidate.message;
70454
+ if (matchKind === "fingerprint") return candidate.fingerprint;
70455
+ if (candidate.fingerprint === null) return null;
70456
+ return JSON.stringify([candidate.fingerprint, candidate.message]);
70457
+ };
70458
+ for (const head of unmatchedHeads.values()) {
70459
+ const key = keyFor(head);
70460
+ if (key === null) continue;
70461
+ const bucket = headBuckets.get(key) ?? [];
70462
+ bucket.push(head);
70463
+ headBuckets.set(key, bucket);
70464
+ }
70465
+ for (const base of unmatchedBases) {
70466
+ const key = keyFor(base);
70467
+ const bucket = key === null ? void 0 : headBuckets.get(key);
70468
+ if (!bucket?.length) continue;
70469
+ let closestIndex = 0;
70470
+ for (let index = 1; index < bucket.length; index += 1) if (Math.abs(bucket[index].line - base.line) < Math.abs(bucket[closestIndex].line - base.line)) closestIndex = index;
70471
+ const [head] = bucket.splice(closestIndex, 1);
70472
+ unmatchedHeads.delete(head.diagnosticIndex);
70473
+ unmatchedBases.delete(base);
70474
+ if (matchKind !== "exact") ruleCountMatchCount += 1;
70475
+ }
70476
+ }
70477
+ for (const base of unmatchedBases) {
70478
+ let bestHead;
70479
+ let bestRank;
70480
+ for (const head of unmatchedHeads.values()) {
70481
+ const rank = rankDiagnosticMatch(head, base);
70482
+ if (!bestRank || compareMatchRanks(rank, bestRank) < 0) {
70483
+ bestHead = head;
70484
+ bestRank = rank;
70485
+ }
70486
+ }
70487
+ if (bestHead) {
70488
+ unmatchedHeads.delete(bestHead.diagnosticIndex);
70489
+ ruleCountMatchCount += 1;
70490
+ }
70491
+ }
70492
+ for (const diagnosticIndex of unmatchedHeads.keys()) newIndexes.add(diagnosticIndex);
70493
+ }
70463
70494
  return {
70464
- newDiagnostics: input.headDiagnostics.filter((_diagnostic, diagnosticIndex) => !matchedHeadDiagnosticIndexes.has(diagnosticIndex)),
70465
- fixedCount: input.baseDiagnostics.length - matchedBaseDiagnosticIndexes.size,
70466
- crossFileMatchCount
70495
+ newDiagnostics: input.headDiagnostics.filter((_diagnostic, index) => newIndexes.has(index)),
70496
+ fixedCount,
70497
+ crossFileMatchCount,
70498
+ ruleCountMatchCount
70467
70499
  };
70468
70500
  };
70469
70501
  const isDuplicateJsxWorkerReply = (value) => typeof value === "object" && value !== null && "id" in value && typeof value.id === "number" && "ok" in value && typeof value.ok === "boolean";
@@ -76481,6 +76513,7 @@ const buildJsonReport = (input) => {
76481
76513
  return {
76482
76514
  directory,
76483
76515
  packageRoot: result.project.rootDirectory,
76516
+ ...result.sourceFilterConfigHash ? { sourceFilterConfigHash: result.sourceFilterConfigHash } : {},
76484
76517
  framework: result.project.framework,
76485
76518
  project: result.project,
76486
76519
  diagnostics: result.diagnostics.map((diagnostic) => toJsonReportDiagnostic(diagnostic, result.project.rootDirectory, input.directory)),
@@ -76612,6 +76645,47 @@ const getChangedLineRanges = (input) => runPromise(gen(function* () {
76612
76645
  }));
76613
76646
  }).pipe(provide(Git.layerNode)));
76614
76647
  /**
76648
+ * Array-shaped wrapper over `buildDiagnosticPipeline` for legacy
76649
+ * callers and tests. Production code uses the streaming pipeline
76650
+ * inside `runInspect`; this thin shim runs the same per-element
76651
+ * closure over an in-memory diagnostic array.
76652
+ */
76653
+ const mergeAndFilterDiagnostics = (mergedDiagnostics, directory, userConfig, readFileLinesSync, options = {}) => {
76654
+ const pipeline = buildDiagnosticPipeline({
76655
+ rootDirectory: directory,
76656
+ userConfig,
76657
+ readFileLinesSync,
76658
+ respectInlineDisables: options.respectInlineDisables ?? true,
76659
+ showWarnings: options.warnings ?? userConfig?.warnings ?? true
76660
+ });
76661
+ const result = [];
76662
+ for (const diagnostic of mergedDiagnostics) {
76663
+ const filtered = pipeline.apply(diagnostic);
76664
+ if (filtered !== null) result.push(filtered);
76665
+ }
76666
+ return dedupeRelatedDiagnostics(result);
76667
+ };
76668
+ const lookupOwnRule = (rule) => Object.hasOwn(REACT_DOCTOR_RULE_REGISTRY, rule) ? REACT_DOCTOR_RULE_REGISTRY[rule] : void 0;
76669
+ /**
76670
+ * Returns presentation metadata for `<plugin>/<rule>`, or `null` when the
76671
+ * rule is not part of the bundled react-doctor plugin (e.g. an adopted
76672
+ * `eslint` / `unicorn` rule folded in via the user's lint config — those
76673
+ * carry their own help/url on the diagnostic instead).
76674
+ */
76675
+ const getRuleMetadata = (plugin, rule) => {
76676
+ if (plugin !== "react-doctor") return null;
76677
+ const definition = lookupOwnRule(rule);
76678
+ if (!definition) return null;
76679
+ return {
76680
+ id: rule,
76681
+ plugin,
76682
+ category: definition.category ?? null,
76683
+ recommendation: definition.recommendation ?? null,
76684
+ tags: definition.tags ?? [],
76685
+ defaultEnabled: definition.defaultEnabled ?? true
76686
+ };
76687
+ };
76688
+ /**
76615
76689
  * Canonical URL for a rule's documentation page — its reviewer-tested fix
76616
76690
  * recipe rendered for humans — served at
76617
76691
  * `https://react.doctor/docs/rules/<plugin>/<rule>`. The CLI links here
@@ -77020,7 +77094,7 @@ const makeNoopConsole = () => ({
77020
77094
  });
77021
77095
  //#endregion
77022
77096
  //#region src/cli/utils/version.ts
77023
- const VERSION = "0.9.15-dev.8ed70df";
77097
+ const VERSION = "0.9.16-dev.ef1be22";
77024
77098
  //#endregion
77025
77099
  //#region src/cli/utils/json-mode.ts
77026
77100
  let context = null;
@@ -77362,7 +77436,7 @@ const recordDistribution = (name, value, options = {}) => {
77362
77436
  } catch {}
77363
77437
  };
77364
77438
  //#endregion
77365
- export { buildRuleSeverityControls as $, toRelativePath as $t, Files as A, makeUnsafe$5 as An, isPathInsideDirectory as At, PerFileLintCacheEnabled as B, isFile as Bn, mapWithConcurrency as Bt, ACTION_INPUT_ENVIRONMENT_VARIABLES as C, try_ as Cn, getDiffInfo as Ct, isCodingAgentEnvironment as D, provide$2 as Dn, hasSupportedFrameworkOrLibrary as Dt, isCiOrCodingAgentEnvironment as E, mergeAll$1 as En, hasPublishedFixRecipe as Et, Linter as F, yieldToEventLoop as Fn, layerObservability as Ft, SidecarLintCacheEnabled as G, resolveLintBatchOrdering as Gt, Project as H, mergeReactDoctorConfigs as Ht, Maintainability as I, messageFromUnknown as In, listSourceFiles as It, anonymizeInPlace as J, runInspect as Jt, StagedFiles as K, resolveScanTarget as Kt, NodeResolver as L, toCanonicalPath as Ln, listSourceFilesCooperative as Lt, InvocationCaches as M, void_$1 as Mn, isReactDoctorError as Mt, LEGACY_CONFIG_FILENAME as N, ParentSpan as Nn, isSameRuleKey as Nt, Config as O, succeed$3 as On, hashFileContents as Ot, LintPartialFailures as P, isMonorepoRoot as Pn, isScanComplete as Pt, buildRuleDocsUrl as Q, summarizeDiagnostics as Qt, OxlintConcurrency as R, isDirectory as Rn, listWorkspacePackages as Rt, isDebugFlagEnabled as S, sync as Sn, getDiagnosticRuleIdentity as St, isCiEnvironment as T, buildWithScope as Tn, groupBy as Tt, Reporter as U, remainingDeadlineBudgetMs as Ut, Progress as V, isPlainObject as Vn, materializeSourceTree as Vt, Score as W, resolveGithubActionsScoreMetadata as Wt, atomicWriteJson as X, setColorEnabled as Xt, anonymizeText as Y, scrubSensitivePaths as Yt, buildJsonReport as Z, shouldUseMaintainabilityLayer as Zt, VERSION as _, provide as _n, fingerprintDiagnosticEvidence as _t, isEnvFlagEnabled as a, info as an, collectSourceFilesByDirectory as at, isNonInteractiveEnvironment as b, runPromise as bn, getBaselineDiffPlan as bt, setSentryProjectInfo as c, Diagnostic as cn, countOptInProjectRuleSelections as ct, isJsonModeActive as d, make$30 as dn, detectAiTrainingEnvironment as dt, validateConfigTypes as en, buildSkippedChecks as et, setJsonReportDirectory as f, gen as fn, discoverSupportedSubprojects as ft, writeJsonReport as g, promise as gn, findLegacyConfig as gt, writeJsonErrorReport as h, orElseSucceed as hn, filterSourceFiles as ht, isTelemetryEnabled as i, error as in, clearConfigCache as it, Git as j, fail$5 as jn, isProjectDiscoveryError as jt, DIAGNOSTIC_DELTA_IDENTITY as k, close as kn, highlighter as kt, getRunId as l, JsonReport as ln, createInvocationCaches as lt, writeJsonCancellationReport as m, map$3 as mn, filterPathsOutsideDirectories as mt, recordDistribution as n, warmOxlintWorkerPool as nn, canonicalizeUserRuleKey as nt, buildSentryScope as o, log as on, computeConfigFingerprint as ot, setJsonReportMode as p, makeSpan$1 as pn, filterDiagnosticsForSurface as pt, SupplyChain as q, restoreLegacyThrow as qt, toSpanAttributes as r, Console as rn, classifyFileContext as rt, buildSentryProjectContext as s, warn$1 as sn, computeDiagnosticDelta as st, recordCount as t, warmDuplicateJsxWorker as tn, calculateScore as tt, enableJsonMode as u, decodeUnknownSync as un, createOxlintSpawnSlots as ut, makeNoopConsole as v, provideContext as vn, formatErrorChain as vt, detectRunnerOs as w, void_ as wn, getEquivalentRuleKeys as wt, isGitHookEnvironment as x, runSync as xn, getChangedLineRanges as xt, CliInputError as y, provideService as yn, formatReactDoctorError as yt, OxlintSpawnSlots as z, isErrnoException as zn, loadConfigWithSource as zt };
77439
+ export { buildRuleSeverityControls as $, shouldUseMaintainabilityLayer as $t, Files as A, succeed$3 as An, highlighter as At, PerFileLintCacheEnabled as B, isDirectory as Bn, loadConfigWithSource as Bt, ACTION_INPUT_ENVIRONMENT_VARIABLES as C, runSync as Cn, getDiffInfo as Ct, isCodingAgentEnvironment as D, buildWithScope as Dn, hasPublishedFixRecipe as Dt, isCiOrCodingAgentEnvironment as E, void_ as En, groupBy as Et, Linter as F, ParentSpan as Fn, isScanComplete as Ft, SidecarLintCacheEnabled as G, remainingDeadlineBudgetMs as Gt, Project as H, isFile as Hn, materializeSourceTree as Ht, Maintainability as I, isMonorepoRoot as In, layerObservability as It, anonymizeInPlace as J, resolveScanTarget as Jt, StagedFiles as K, resolveGithubActionsScoreMetadata as Kt, NodeResolver as L, yieldToEventLoop as Ln, listSourceFiles as Lt, InvocationCaches as M, makeUnsafe$5 as Mn, isProjectDiscoveryError as Mt, LEGACY_CONFIG_FILENAME as N, fail$5 as Nn, isReactDoctorError as Nt, Config as O, mergeAll$1 as On, hasSupportedFrameworkOrLibrary as Ot, LintPartialFailures as P, void_$1 as Pn, isSameRuleKey as Pt, buildRuleDocsUrl as Q, setColorEnabled as Qt, OxlintConcurrency as R, messageFromUnknown as Rn, listSourceFilesCooperative as Rt, isDebugFlagEnabled as S, runPromise as Sn, getDiagnosticRuleIdentity as St, isCiEnvironment as T, try_ as Tn, getRuleMetadata as Tt, Reporter as U, isPlainObject as Un, mergeAndFilterDiagnostics as Ut, Progress as V, isErrnoException as Vn, mapWithConcurrency as Vt, Score as W, mergeReactDoctorConfigs as Wt, atomicWriteJson as X, runInspect as Xt, anonymizeText as Y, restoreLegacyThrow as Yt, buildJsonReport as Z, scrubSensitivePaths as Zt, VERSION as _, orElseSucceed as _n, fingerprintDiagnosticEvidence as _t, isEnvFlagEnabled as a, Console as an, collectSourceFilesByDirectory as at, isNonInteractiveEnvironment as b, provideContext as bn, getBaselineDiffPlan as bt, setSentryProjectInfo as c, log as cn, countOptInProjectRuleSelections as ct, isJsonModeActive as d, JsonReport as dn, detectAiTrainingEnvironment as dt, summarizeDiagnostics as en, buildSkippedChecks as et, setJsonReportDirectory as f, decodeUnknownSync as fn, discoverSupportedSubprojects as ft, writeJsonReport as g, map$3 as gn, findLegacyConfig as gt, writeJsonErrorReport as h, makeSpan$1 as hn, filterSourceFiles as ht, isTelemetryEnabled as i, warmOxlintWorkerPool as in, clearConfigCache as it, Git as j, close as jn, isPathInsideDirectory as jt, DIAGNOSTIC_DELTA_IDENTITY as k, provide$2 as kn, hashFileContents as kt, getRunId as l, warn$1 as ln, createInvocationCaches as lt, writeJsonCancellationReport as m, gen as mn, filterPathsOutsideDirectories as mt, recordDistribution as n, validateConfigTypes as nn, canonicalizeUserRuleKey as nt, buildSentryScope as o, error as on, computeConfigFingerprint as ot, setJsonReportMode as p, make$30 as pn, filterDiagnosticsForSurface as pt, SupplyChain as q, resolveLintBatchOrdering as qt, toSpanAttributes as r, warmDuplicateJsxWorker as rn, classifyFileContext as rt, buildSentryProjectContext as s, info as sn, computeDiagnosticDelta as st, recordCount as t, toRelativePath as tn, calculateScore as tt, enableJsonMode as u, Diagnostic as un, createOxlintSpawnSlots as ut, makeNoopConsole as v, promise as vn, formatErrorChain as vt, detectRunnerOs as w, sync as wn, getEquivalentRuleKeys as wt, isGitHookEnvironment as x, provideService as xn, getChangedLineRanges as xt, CliInputError as y, provide as yn, formatReactDoctorError as yt, OxlintSpawnSlots as z, toCanonicalPath as zn, listWorkspacePackages as zt };
77366
77440
 
77367
- //# sourceMappingURL=record-metric-Do1JAZVB.js.map
77368
- //# debugId=afbcb2f9-589c-5253-807a-6101bbaec04a
77441
+ //# sourceMappingURL=record-metric-COaAD5VE.js.map
77442
+ //# debugId=aff777bc-568b-5ed2-907a-0c9741a672c9
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b9a997f1-66b6-5e4c-9c19-15b7047bae02")}catch(e){}}();
3
- import { S as SENTRY_FLUSH_TIMEOUT_MS, u as METRIC } from "./constants-DJ3RtEMu.js";
4
- import { Mt as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount } from "./record-metric-Do1JAZVB.js";
5
- import { i as getSentry, n as shutdownTelemetry, o as isExpectedUserError } from "./telemetry-runtime-D3teullu.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="68a8c494-cb6d-5e71-84d1-8c9ae599f79f")}catch(e){}}();
3
+ import { S as SENTRY_FLUSH_TIMEOUT_MS, u as METRIC } from "./constants-rmkaA7iw.js";
4
+ import { Nt as isReactDoctorError, l as getRunId, o as buildSentryScope, t as recordCount } from "./record-metric-COaAD5VE.js";
5
+ import { i as getSentry, n as shutdownTelemetry, o as isExpectedUserError } from "./telemetry-runtime-CEcDvXxW.js";
6
6
  import { r as recordRunTraceId, t as getActiveRunTrace } from "./active-run-trace-Dewycxda.js";
7
7
  //#region src/cli/utils/report-error.ts
8
8
  /**
@@ -61,5 +61,5 @@ const reportErrorToSentry = async (error) => {
61
61
  //#endregion
62
62
  export { reportErrorToSentry as t };
63
63
 
64
- //# sourceMappingURL=report-error-DL7M0AGh.js.map
65
- //# debugId=b9a997f1-66b6-5e4c-9c19-15b7047bae02
64
+ //# sourceMappingURL=report-error-CSpZGdCu.js.map
65
+ //# debugId=68a8c494-cb6d-5e71-84d1-8c9ae599f79f
@@ -1,8 +1,8 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8c2c212d-057c-594a-92df-ac6bc3b93bfb")}catch(e){}}();
3
- import { m as REACT_DOCTOR_CONFIG_PROJECT_NAME, u as METRIC } from "./constants-DJ3RtEMu.js";
4
- import { t as recordCount } from "./record-metric-Do1JAZVB.js";
5
- import { u as isCommandAvailable } from "./install-github-workflow-BunRUQaF.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="514698d1-f878-5197-871b-37d50419d529")}catch(e){}}();
3
+ import { m as REACT_DOCTOR_CONFIG_PROJECT_NAME, u as METRIC } from "./constants-rmkaA7iw.js";
4
+ import { t as recordCount } from "./record-metric-COaAD5VE.js";
5
+ import { u as isCommandAvailable } from "./install-github-workflow-zVARf-aa.js";
6
6
  import { createRequire } from "node:module";
7
7
  import * as path$1 from "node:path";
8
8
  import { spawn } from "node:child_process";
@@ -288,5 +288,5 @@ const reportWorkflowResult = (workflowSpinner, result, projectRoot) => {
288
288
  //#endregion
289
289
  export { recordGate as a, ACTION_UPGRADE_EVENT as c, INSTALL_AGENTS_PREFERENCE_ID as d, ONBOARDING_EVENT as f, loadAgentInstall as g, detectAvailableAgents as h, readPreference as i, CI_PITCH_EVENT as l, computeDefaultSelectedAgents as m, openUrl as n, runMigrations as o, SETUP_HINT_EVENT as p, isGatePending as r, writePreference as s, reportWorkflowResult as t, HANDOFF_TARGET_PREFERENCE_ID as u };
290
290
 
291
- //# sourceMappingURL=report-workflow-result-BSLZylKS.js.map
292
- //# debugId=8c2c212d-057c-594a-92df-ac6bc3b93bfb
291
+ //# sourceMappingURL=report-workflow-result-D0Tev_E8.js.map
292
+ //# debugId=514698d1-f878-5197-871b-37d50419d529
@@ -1,9 +1,9 @@
1
1
 
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9dae889a-87a7-5b00-ba6b-d4ef62eee379")}catch(e){}}();
3
- import { At as isPathInsideDirectory, Ln as toCanonicalPath, ht as filterSourceFiles } from "./record-metric-Do1JAZVB.js";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1fe73294-bee5-5549-9160-fff88efa23f3")}catch(e){}}();
3
+ import { ht as filterSourceFiles, jt as isPathInsideDirectory, zn as toCanonicalPath } from "./record-metric-COaAD5VE.js";
4
4
  import { t as toForwardSlashes } from "./path-format-By20mo8A.js";
5
- import { N as cliLogger } from "./install-doctor-script-B84ViKF6.js";
6
- import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-BunRUQaF.js";
5
+ import { N as cliLogger } from "./install-doctor-script-YdsysHJ8.js";
6
+ import { d as detectDefaultBranch, f as runCommand, l as prompts, u as isCommandAvailable } from "./install-github-workflow-zVARf-aa.js";
7
7
  import * as path$1 from "node:path";
8
8
  //#region src/cli/utils/open-workflow-pull-request.ts
9
9
  const NEW_BRANCH_PREFIX = "react-doctor/add-github-actions";
@@ -333,5 +333,5 @@ const finalizeScope = async ({ requested, diffInfo, skipPrompts, isQuiet }) => {
333
333
  //#endregion
334
334
  export { isValidBlockingLevel as a, openWorkflowPullRequest as c, warnDeprecatedDiff as i, stageWorkflowFile as l, isScopeValue as n, pickBlockingLevel as o, resolveScope as r, resolveBlockingLevel as s, finalizeScope as t };
335
335
 
336
- //# sourceMappingURL=resolve-scope-_R2u_rWR.js.map
337
- //# debugId=9dae889a-87a7-5b00-ba6b-d4ef62eee379
336
+ //# sourceMappingURL=resolve-scope-BDtWzgKS.js.map
337
+ //# debugId=1fe73294-bee5-5549-9160-fff88efa23f3