react-doctor 0.9.15-dev.3242a81 → 0.9.15-dev.8ed70df

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 (37) hide show
  1. package/README.md +25 -0
  2. package/dist/{build-section-divider-B-Bbahk_.js → build-section-divider-BSEx7sis.js} +4 -4
  3. package/dist/{ci-D_GhoEkY.js → ci-D4R9kdc2.js} +12 -12
  4. package/dist/cli.js +27 -26
  5. package/dist/constants-DJ3RtEMu.js +2 -2
  6. package/dist/{design-B8EMFKlN.js → design-T850ewH9.js} +4 -4
  7. package/dist/{exit-gracefully-BTVhlyoR.js → exit-gracefully-DkeS8hHp.js} +6 -6
  8. package/dist/{handle-error-JId9eFQ_.js → handle-error-RLjKeLDA.js} +5 -5
  9. package/dist/index.d.ts +13 -8
  10. package/dist/index.js +29 -6
  11. package/dist/{inspect-ClJlUcd6.js → inspect-DuT3v6KA.js} +88 -29
  12. package/dist/{install-bAES9fz_.js → install-BeahaWiL.js} +9 -9
  13. package/dist/{install-doctor-script-ByhqWGm4.js → install-doctor-script-B84ViKF6.js} +4 -4
  14. package/dist/{install-github-workflow-CMVYSVGv.js → install-github-workflow-BunRUQaF.js} +4 -4
  15. package/dist/{install-react-doctor-D7cj-Foc.js → install-react-doctor-C5W2i12g.js} +8 -8
  16. package/dist/{jsx-runtime-BSGXwXUT.js → jsx-runtime-DBWv4kid.js} +5 -5
  17. package/dist/{print-branded-header-ToEzN9wS.js → print-branded-header-BNKQT5ZQ.js} +4 -4
  18. package/dist/{prompt-runtime-scan-url-B-N-pmnA.js → prompt-runtime-scan-url-Bly4Vulj.js} +5 -5
  19. package/dist/{read-object-file-BwnK2YRI.js → read-object-file-B-BZ7uYW.js} +4 -4
  20. package/dist/{record-metric-DUV0U_Gf.js → record-metric-Do1JAZVB.js} +51 -23
  21. package/dist/{report-error-Df6kpdn5.js → report-error-DL7M0AGh.js} +5 -5
  22. package/dist/{report-workflow-result-CDjrtaab.js → report-workflow-result-BSLZylKS.js} +5 -5
  23. package/dist/{resolve-scope-BQLYQkzz.js → resolve-scope-_R2u_rWR.js} +6 -6
  24. package/dist/{rules-BvI82y2z.js → rules-DD_Jp7ZA.js} +6 -6
  25. package/dist/{run-scan-app-DUzpuqlt.js → run-scan-app-B2_HYqlM.js} +10 -10
  26. package/dist/{runtime-scan-CxErJEVf.js → runtime-scan-HiSmF8di.js} +9 -9
  27. package/dist/{sanitize-runtime-url-BjEqBgwG.js → sanitize-runtime-url-c0or2L2V.js} +4 -4
  28. package/dist/{scan-Cuyc4IC8.js → scan-B4oVxvqa.js} +9 -9
  29. package/dist/{should-fail-scan-gate-Du7mOvEl.js → should-fail-scan-gate-Bjr43-87.js} +75 -62
  30. package/dist/{should-skip-prompts-DaKPFC6p.js → should-skip-prompts-DKwyzEkM.js} +4 -4
  31. package/dist/{should-use-tui-DZ2iTCn1.js → should-use-tui-DO7NdqR8.js} +4 -4
  32. package/dist/skills/react-doctor/SKILL.md +4 -0
  33. package/dist/{telemetry-runtime-o4N789Mp.js → telemetry-runtime-D3teullu.js} +6 -6
  34. package/dist/{version-CtgKUicn.js → version-Kj44qNuh.js} +4 -4
  35. package/dist/{why-BDgcBrL3.js → why-BV74fXYk.js} +4 -4
  36. package/dist/{with-run-span-Bgitvg5D.js → with-run-span-y8D-ZUGk.js} +5 -5
  37. package/package.json +2 -2
@@ -1,23 +1,35 @@
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]="0e15a741-233a-5897-9474-a46ba9a0be03")}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]="0ecaa7ea-bc11-5628-85ef-eba8f194951c")}catch(e){}}();
3
3
  import { N as discardPrefetchedGitCommands, T as STAGED_SNAPSHOT_ADDITIONAL_CONFIG_FILENAMES, lt as CANONICAL_GITHUB_URL, u as METRIC, w as STAGED_FILES_TEMP_DIR_PREFIX, xn as STAGED_FILES_PROJECT_CONFIG_FILENAMES } from "./constants-DJ3RtEMu.js";
4
- import { A as Git, D as isCodingAgentEnvironment, E as isCiOrCodingAgentEnvironment, Et as hasSupportedFrameworkOrLibrary, G as StagedFiles, Gt as resolveScanTarget, Ht as remainingDeadlineBudgetMs, Ln as isErrnoException, Lt as listWorkspacePackages, Ot as highlighter, Pn as messageFromUnknown, Qt as toRelativePath, S as isDebugFlagEnabled, St as getDiffInfo, Tn as provide, X as buildJsonReport, _ as VERSION, bt as getChangedLineRanges, dt as detectAiTrainingEnvironment, f as setJsonReportDirectory, ft as discoverSupportedSubprojects, g as writeJsonReport, gt as findLegacyConfig, h as writeJsonErrorReport, hn as provide$1, n as recordDistribution, p as setJsonReportMode, t as recordCount, u as enableJsonMode, un as gen, vn as runPromise, y as CliInputError, yt as getBaselineDiffPlan, zn as isPlainObject, zt as mapWithConcurrency } from "./record-metric-DUV0U_Gf.js";
5
- import { n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-o4N789Mp.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-JId9eFQ_.js";
7
- import { t as reportErrorToSentry } from "./report-error-Df6kpdn5.js";
4
+ import { $t as toRelativePath, Bt as mapWithConcurrency, Ct as getDiffInfo, D as isCodingAgentEnvironment, Dn as provide, Dt as hasSupportedFrameworkOrLibrary, E as isCiOrCodingAgentEnvironment, In as messageFromUnknown, K as StagedFiles, Kt as resolveScanTarget, Rt as listWorkspacePackages, S as isDebugFlagEnabled, Ut as remainingDeadlineBudgetMs, Vn as isPlainObject, Z as buildJsonReport, _ as VERSION, _n as provide$1, bn as runPromise, bt as getBaselineDiffPlan, dt as detectAiTrainingEnvironment, f as setJsonReportDirectory, fn as gen, ft as discoverSupportedSubprojects, g as writeJsonReport, gt as findLegacyConfig, h as writeJsonErrorReport, j as Git, kt as highlighter, ln as JsonReport, n as recordDistribution, p as setJsonReportMode, t as recordCount, u as enableJsonMode, un as decodeUnknownSync, xt as getChangedLineRanges, y as CliInputError, zn as isErrnoException } from "./record-metric-Do1JAZVB.js";
5
+ import { n as shutdownTelemetry, o as isExpectedUserError, r as flushSentry } from "./telemetry-runtime-D3teullu.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-RLjKeLDA.js";
7
+ import { t as reportErrorToSentry } from "./report-error-DL7M0AGh.js";
8
8
  import { t as toForwardSlashes } from "./path-format-By20mo8A.js";
9
- import { N as cliLogger, c as spinner, i as hasDoctorScript, j as runGitRaw, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-ByhqWGm4.js";
10
- import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-CMVYSVGv.js";
11
- import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-BQLYQkzz.js";
12
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DaKPFC6p.js";
13
- import { A as createInvocationInspect, C as detectLaunchableAgents, D as buildHandoffPayload, E as launchCliAgent, M as resolveMergeBaseRef, N as printHeadlessReport, O as collectProjectSourceFiles, R as printDiagnosticsDump, S as setUpGitHubActions, T as copyToClipboard, U as buildEmptyReportMessage, V as filterDiagnosticsByCategories, W as resolveInvocationOxlintConcurrency, _ as retryMissingProjectScores, a as validateModeFlags, b as filterScansForSurface, c as partitionProjectScanOutcomes, d as buildCodeFrame, f as resolveProjectScan, g as resolveProjectRelativeDirectory, h as resolveProjectSourceFilePaths, i as validateIncludeUntrackedScope, j as inspect, k as deduplicateProjectScans, l as discoverWorkspacePackages, m as resolveProjectDiffIncludePaths, n as formatSkippedProjectsMessage, o as resolveExcludedProjectDirectories, p as resolveProjectChangedLineRanges, s as projectManifestChanged, t as shouldFailScanGate, u as selectProjects, v as resolveWorkspaceDeadCodeOwner, w as CLI_AGENT_BINARIES, x as countUniqueScannedFiles, y as resolveCliInspectOptions } from "./should-fail-scan-gate-Du7mOvEl.js";
14
- import { a as recordGate, g as loadAgentInstall, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-CDjrtaab.js";
15
- import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-D7cj-Foc.js";
16
- import { t as readObjectFile } from "./read-object-file-BwnK2YRI.js";
9
+ import { N as cliLogger, c as spinner, i as hasDoctorScript, j as runGitRaw, k as runGit, n as findNearestPackageDirectory, o as isSpinnerSilent, s as setSpinnerSilent } from "./install-doctor-script-B84ViKF6.js";
10
+ import { a as readReactDoctorWorkflow, c as workflowUsesV1Action, i as isReactDoctorWorkflowInstalled, l as prompts, s as upgradeWorkflowActionToV2 } from "./install-github-workflow-BunRUQaF.js";
11
+ import { c as openWorkflowPullRequest, i as warnDeprecatedDiff, l as stageWorkflowFile, r as resolveScope, s as resolveBlockingLevel, t as finalizeScope } from "./resolve-scope-_R2u_rWR.js";
12
+ import { t as shouldSkipPrompts } from "./should-skip-prompts-DKwyzEkM.js";
13
+ import { A as createInvocationInspect, C as detectLaunchableAgents, D as buildHandoffPayload, E as launchCliAgent, M as resolveMergeBaseRef, N as printHeadlessReport, O as collectProjectSourceFiles, R as printDiagnosticsDump, S as setUpGitHubActions, T as copyToClipboard, U as buildEmptyReportMessage, V as filterDiagnosticsByCategories, W as resolveInvocationOxlintConcurrency, _ as retryMissingProjectScores, a as validateModeFlags, b as filterScansForSurface, c as partitionProjectScanOutcomes, d as buildCodeFrame, f as resolveProjectScan, g as resolveProjectRelativeDirectory, h as resolveProjectSourceFilePaths, i as validateIncludeUntrackedScope, j as inspect, k as deduplicateProjectScans, l as discoverWorkspacePackages, m as resolveProjectDiffIncludePaths, n as formatSkippedProjectsMessage, o as resolveExcludedProjectDirectories, p as resolveProjectChangedLineRanges, s as projectManifestChanged, t as shouldFailScanGate, u as selectProjects, v as resolveWorkspaceDeadCodeOwner, w as CLI_AGENT_BINARIES, x as countUniqueScannedFiles, y as resolveCliInspectOptions } from "./should-fail-scan-gate-Bjr43-87.js";
14
+ import { a as recordGate, g as loadAgentInstall, i as readPreference, o as runMigrations, p as SETUP_HINT_EVENT, r as isGatePending, s as writePreference, u as HANDOFF_TARGET_PREFERENCE_ID } from "./report-workflow-result-BSLZylKS.js";
15
+ import { a as askUpgradeActionVersion, c as recordCiPromptDecision, i as installReactDoctorAgentHooks, l as hasHandledActionUpgrade, o as askAddToGitHubActions, r as findAgentsWithOutdatedReactDoctorHooks, s as hasHandledCiPrompt, t as getSkillSourceDirectory, u as recordActionUpgradeDecision } from "./install-react-doctor-C5W2i12g.js";
16
+ import { t as readObjectFile } from "./read-object-file-B-BZ7uYW.js";
17
17
  import * as fs$1 from "node:fs";
18
+ import fs from "node:fs";
18
19
  import * as path$1 from "node:path";
19
20
  import { tmpdir } from "node:os";
20
21
  import { performance } from "node:perf_hooks";
22
+ //#region src/cli/utils/read-baseline-report.ts
23
+ const readBaselineReport = (file) => {
24
+ try {
25
+ const report = decodeUnknownSync(JsonReport)(JSON.parse(fs.readFileSync(file, "utf-8")));
26
+ if (!report.ok || report.mode === "baseline" || "baselineDegraded" in report && report.baselineDegraded || report.projects.length === 0 || report.projects.some((project) => project.skippedChecks.length > 0 || project.diagnostics.some((diagnostic) => diagnostic.fingerprint === void 0)) || report.schemaVersion === 3 && (report.skippedProjects?.length || report.projects.some((project) => !project.complete)) || report.diagnostics.some((diagnostic) => diagnostic.fingerprint === void 0)) throw new Error("Use a complete, non-comparison --json report from the current version, with diagnostic fingerprints.");
27
+ return report;
28
+ } catch (error) {
29
+ throw new CliInputError(`Cannot read baseline report "${file}": ${error instanceof Error ? error.message : String(error)}`);
30
+ }
31
+ };
32
+ //#endregion
21
33
  //#region src/cli/utils/handoff-target-preference.ts
22
34
  const HANDOFF_TARGET_PREFERENCE = {
23
35
  id: HANDOFF_TARGET_PREFERENCE_ID,
@@ -700,14 +712,19 @@ const filterCompletedScansByCategories = (completedScans, categoryFilters) => ca
700
712
  }));
701
713
  const buildFinalCliScanOutcome = (input) => {
702
714
  const baselineDeltas = input.completedScans.flatMap((scan) => scan.result.baselineDelta === void 0 ? [] : [scan.result.baselineDelta]);
703
- const baselineComputed = input.skippedProjects.length === 0 && input.completedScans.length > 0 && input.completedScans.every((scan) => scan.result.baselineDelta !== void 0);
715
+ const baselineComputed = input.skippedProjects.length === 0 && (input.completedScans.length > 0 || input.emptyComparison !== void 0) && input.completedScans.every((scan) => scan.result.baselineDelta !== void 0);
704
716
  const baselineDegraded = input.baselineIntended && !baselineComputed;
717
+ let baseline;
718
+ if (baselineComputed) baseline = baselineDeltas.length > 0 ? {
719
+ baseRef: baselineDeltas[0].baseRef,
720
+ source: baselineDeltas[0].source,
721
+ baselineFile: baselineDeltas[0].baselineFile,
722
+ matchedCount: baselineDeltas.reduce((total, delta) => total + (delta.matchedCount ?? delta.baseTotalCount - delta.fixedCount), 0),
723
+ fixedCount: baselineDeltas.reduce((total, delta) => total + delta.fixedCount, 0),
724
+ baseTotalCount: baselineDeltas.reduce((total, delta) => total + delta.baseTotalCount, 0)
725
+ } : input.emptyComparison;
705
726
  return {
706
- baseline: baselineComputed && baselineDeltas.length > 0 ? {
707
- baseRef: baselineDeltas[0].baseRef,
708
- fixedCount: baselineDeltas.reduce((total, delta) => total + delta.fixedCount, 0),
709
- baseTotalCount: baselineDeltas.reduce((total, delta) => total + delta.baseTotalCount, 0)
710
- } : void 0,
727
+ baseline,
711
728
  baselineDegraded,
712
729
  mode: baselineDegraded ? "diff" : input.mode,
713
730
  scansForJsonReport: filterCompletedScansByCategories(input.completedScans, input.categoryFilters),
@@ -731,6 +748,7 @@ const finalizeCliScans = (input) => {
731
748
  skippedProjects: input.skippedProjects,
732
749
  mode: input.mode,
733
750
  baselineIntended: input.baselineIntended,
751
+ emptyComparison: input.emptyComparison,
734
752
  categoryFilters: input.categoryFilters
735
753
  });
736
754
  if (outcome.shouldWarnNoSupportedLibraryDetected) {
@@ -738,6 +756,7 @@ const finalizeCliScans = (input) => {
738
756
  cliLogger.warn(`No supported framework or library detected at ${input.resolvedDirectory} — library-specific rules were gated off; framework-neutral rules still ran.`);
739
757
  }
740
758
  if (input.isJsonMode) writeJsonReport(buildJsonReport({
759
+ sourceRevision: runGit(input.resolvedDirectory, ["rev-parse", "HEAD"]) ?? void 0,
741
760
  version: VERSION,
742
761
  directory: input.resolvedDirectory,
743
762
  mode: outcome.mode,
@@ -1113,6 +1132,8 @@ const hasScanDeadlineExpired = (scanDeadlineEpochMs) => scanDeadlineEpochMs !==
1113
1132
  const isProjectSupplyChainEnabled = ({ flags, projectConfig }) => flags.supplyChain ?? projectConfig?.supplyChain?.enabled !== false;
1114
1133
  const buildProjectInspectOptions = ({ context, projectScan, projectScanPlan, ownsWorkspaceDeadCode }) => {
1115
1134
  const scanDirectory = projectScan.directory;
1135
+ const savedBaseline = context.savedBaseline;
1136
+ const baselinePaths = projectScanPlan.includePaths ? new Set([...projectScanPlan.includePaths, ...projectScanPlan.projectBaselineBaseFiles ?? []]) : null;
1116
1137
  return {
1117
1138
  ...context.scanOptions,
1118
1139
  deadCode: context.workspaceDeadCodeOwner === null ? context.scanOptions.deadCode : ownsWorkspaceDeadCode,
@@ -1125,6 +1146,23 @@ const buildProjectInspectOptions = ({ context, projectScan, projectScanPlan, own
1125
1146
  concurrentScan: context.isMultiProject,
1126
1147
  excludedProjectDirectories: resolveExcludedProjectDirectories(scanDirectory, [...context.projectScans.map((candidateProjectScan) => candidateProjectScan.directory), ...context.workspaceProjectDirectories]),
1127
1148
  retainExcludedProjectDeadCodeDiagnostics: ownsWorkspaceDeadCode,
1149
+ baselineReport: savedBaseline && context.flags.baseline ? {
1150
+ file: context.flags.baseline,
1151
+ diagnostics: savedBaseline.projects.flatMap((project) => {
1152
+ const projectRelativePath = path$1.relative(savedBaseline.directory, project.directory);
1153
+ if (path$1.resolve(context.resolvedDirectory, projectRelativePath) !== scanDirectory) return [];
1154
+ return project.diagnostics.flatMap((diagnostic) => {
1155
+ const filePath = path$1.relative(project.directory, path$1.resolve(project.directory, diagnostic.filePath)).replace(/\\/g, "/");
1156
+ if (baselinePaths && !baselinePaths.has(filePath)) return [];
1157
+ return [{
1158
+ ...diagnostic,
1159
+ relatedLocations: diagnostic.relatedLocations ? [...diagnostic.relatedLocations] : void 0,
1160
+ filePath
1161
+ }];
1162
+ });
1163
+ }),
1164
+ renamedFiles: Object.fromEntries(Object.entries(context.baselineDiffPlan?.renamedFiles ?? {}).map(([basePath, headPath]) => [path$1.relative(scanDirectory, path$1.resolve(context.resolvedDirectory, basePath)).replace(/\\/g, "/"), path$1.relative(scanDirectory, path$1.resolve(context.resolvedDirectory, headPath)).replace(/\\/g, "/")]))
1165
+ } : void 0,
1128
1166
  baseline: context.baselineRef !== null && projectScanPlan.projectBaselineBaseFiles !== null && projectScanPlan.projectBaselineHeadFiles !== null ? {
1129
1167
  ref: context.baselineRef,
1130
1168
  baseFiles: projectScanPlan.projectBaselineBaseFiles,
@@ -1286,7 +1324,12 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1286
1324
  };
1287
1325
  }
1288
1326
  }
1289
- const requestedScope = resolveScope(flags, userConfig);
1327
+ const savedBaseline = flags.baseline ? readBaselineReport(path$1.resolve(flags.baseline)) : null;
1328
+ const resolvedScopeRequest = resolveScope(flags, userConfig);
1329
+ const requestedScope = {
1330
+ ...resolvedScopeRequest,
1331
+ base: resolvedScopeRequest.base ?? (savedBaseline?.schemaVersion === 3 ? savedBaseline.sourceRevision : void 0)
1332
+ };
1290
1333
  const includeUntracked = flags.includeUntracked ?? false;
1291
1334
  const scopeRequest = hasPositionalFileSelection ? {
1292
1335
  scope: "files",
@@ -1301,7 +1344,10 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1301
1344
  if (scanStartupSpinner !== null) recordDistribution(METRIC.scanFeedbackDelay, performance.now() - projectSelectionCompletedTime, { unit: "millisecond" });
1302
1345
  const wantsDiffMode = scopeRequest.scope !== void 0 && scopeRequest.scope !== "full";
1303
1346
  const shouldDetectDiff = providedFilesDiffInfo === null && (wantsDiffMode || scopeRequest.scope === void 0 && !skipPrompts && !isQuiet);
1304
- const diffInfo = providedFilesDiffInfo ?? (shouldDetectDiff ? await getDiffInfo(resolvedDirectory, scopeRequest.base, includeUntracked) : null);
1347
+ const diffInfo = providedFilesDiffInfo ?? (shouldDetectDiff ? await getDiffInfo(resolvedDirectory, scopeRequest.base, includeUntracked).catch((error) => {
1348
+ if (savedBaseline) return null;
1349
+ throw error;
1350
+ }) : null) ?? (scopeRequest.scope === "changed" && !savedBaseline ? await getDiffInfo(resolvedDirectory, scopeRequest.base === runGit(resolvedDirectory, ["branch", "--show-current"]) ? "HEAD" : scopeRequest.base ?? "HEAD", includeUntracked) : null);
1305
1351
  scanStartupSpinner?.stop();
1306
1352
  scanStartupSpinner = null;
1307
1353
  const scope = await finalizeScope({
@@ -1312,9 +1358,13 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1312
1358
  });
1313
1359
  scanStartupSpinner = !isQuiet ? spinner("Scanning...").start() : null;
1314
1360
  const isDiffMode = scope !== "full";
1315
- const comparisonBaseRef = isDiffMode && diffInfo && !diffInfo.isCurrentChanges && !hasPositionalFileSelection ? diffInfo.baseSha ? await resolveMergeBaseRef(resolvedDirectory, diffInfo.baseSha) : diffInfo.diffBaseRef ?? await resolveMergeBaseRef(resolvedDirectory, diffInfo.baseBranch) : null;
1316
- const baselineRef = scope === "changed" ? comparisonBaseRef : null;
1317
- const baselineDiffPlan = baselineRef === null ? null : await getBaselineDiffPlan(resolvedDirectory, baselineRef);
1361
+ let comparisonBaseRef = null;
1362
+ if (isDiffMode && diffInfo && !hasPositionalFileSelection) if (diffInfo.isCurrentChanges) comparisonBaseRef = "HEAD";
1363
+ else if (diffInfo.baseSha) comparisonBaseRef = await resolveMergeBaseRef(resolvedDirectory, diffInfo.baseSha);
1364
+ else comparisonBaseRef = diffInfo.diffBaseRef ?? await resolveMergeBaseRef(resolvedDirectory, diffInfo.baseBranch);
1365
+ const baselineRef = scope === "changed" && !savedBaseline ? comparisonBaseRef : null;
1366
+ const comparisonPlanRef = baselineRef ?? (savedBaseline?.schemaVersion === 3 ? savedBaseline.sourceRevision : void 0);
1367
+ const baselineDiffPlan = comparisonPlanRef ? await getBaselineDiffPlan(resolvedDirectory, comparisonPlanRef) : null;
1318
1368
  const linesBaseRef = diffInfo?.isCurrentChanges ? "HEAD" : comparisonBaseRef;
1319
1369
  const changedLineRanges = scope === "lines" && diffInfo !== null && (diffInfo.isCurrentChanges || linesBaseRef !== null) && diffInfo !== null ? await getChangedLineRanges({
1320
1370
  directory: resolvedDirectory,
@@ -1328,7 +1378,7 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1328
1378
  cliLogger.warn("Could not determine changed lines (no base ref or git diff failed); reporting all issues in changed files.");
1329
1379
  cliLogger.break();
1330
1380
  }
1331
- setJsonReportMode(baselineRef ? "baseline" : isDiffMode ? "diff" : "full");
1381
+ setJsonReportMode(baselineRef || savedBaseline ? "baseline" : isDiffMode ? "diff" : "full");
1332
1382
  if (isDiffMode && diffInfo && !isQuiet) {
1333
1383
  if (hasPositionalFileSelection) {
1334
1384
  const fileLabel = diffInfo.changedFiles.length === 1 ? "file" : "files";
@@ -1365,6 +1415,7 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1365
1415
  projectScans,
1366
1416
  workspaceProjectDirectories,
1367
1417
  baselineRef,
1418
+ savedBaseline,
1368
1419
  scope,
1369
1420
  changedLineRanges
1370
1421
  };
@@ -1403,9 +1454,17 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1403
1454
  finalizeCliScans({
1404
1455
  completedScans,
1405
1456
  skippedProjects,
1406
- mode: baselineRef ? "baseline" : isDiffMode ? "diff" : "full",
1457
+ mode: baselineRef || savedBaseline ? "baseline" : isDiffMode ? "diff" : "full",
1407
1458
  diff: isDiffMode ? diffInfo : null,
1408
- baselineIntended: scope === "changed" && diffInfo !== null && !diffInfo.isCurrentChanges,
1459
+ baselineIntended: Boolean(savedBaseline) || scope === "changed" && diffInfo !== null,
1460
+ emptyComparison: isDiffMode && baselineDiffPlan !== null ? {
1461
+ baseRef: flags.baseline ?? baselineRef ?? "",
1462
+ source: savedBaseline ? "baseline" : "base",
1463
+ baselineFile: flags.baseline,
1464
+ matchedCount: 0,
1465
+ baseTotalCount: 0,
1466
+ fixedCount: 0
1467
+ } : void 0,
1409
1468
  isJsonMode,
1410
1469
  isScoreOnly,
1411
1470
  flags,
@@ -1461,5 +1520,5 @@ const inspectAction = async (directory, flags, invocationCommand = "inspect", se
1461
1520
  //#endregion
1462
1521
  export { warnDeprecatedFailOn as n, runProjectMigrations as r, inspectAction as t };
1463
1522
 
1464
- //# sourceMappingURL=inspect-ClJlUcd6.js.map
1465
- //# debugId=0e15a741-233a-5897-9474-a46ba9a0be03
1523
+ //# sourceMappingURL=inspect-DuT3v6KA.js.map
1524
+ //# debugId=0ecaa7ea-bc11-5628-85ef-eba8f194951c
@@ -1,12 +1,12 @@
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]="bc16cba8-198e-5a15-ba1c-e82427730137")}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]="e6e2d64a-d0a3-5135-9f7f-67e3aeae38b7")}catch(e){}}();
3
3
  import { u as METRIC } from "./constants-DJ3RtEMu.js";
4
- import { t as recordCount, yn as runSync } from "./record-metric-DUV0U_Gf.js";
5
- import { o as isExpectedUserError } from "./telemetry-runtime-o4N789Mp.js";
6
- import { n as handleUserError, t as handleError } from "./handle-error-JId9eFQ_.js";
7
- import { t as reportErrorToSentry } from "./report-error-Df6kpdn5.js";
8
- import { t as printBrandedHeader } from "./print-branded-header-ToEzN9wS.js";
9
- import { n as runInstallReactDoctor } from "./install-react-doctor-D7cj-Foc.js";
4
+ import { t as recordCount, xn as runSync } from "./record-metric-Do1JAZVB.js";
5
+ import { o as isExpectedUserError } from "./telemetry-runtime-D3teullu.js";
6
+ import { n as handleUserError, t as handleError } from "./handle-error-RLjKeLDA.js";
7
+ import { t as reportErrorToSentry } from "./report-error-DL7M0AGh.js";
8
+ import { t as printBrandedHeader } from "./print-branded-header-BNKQT5ZQ.js";
9
+ import { n as runInstallReactDoctor } from "./install-react-doctor-C5W2i12g.js";
10
10
  //#region src/cli/commands/install.ts
11
11
  const installAction = async (options, command) => {
12
12
  recordCount(METRIC.cliInvoked, 1, { command: "install" });
@@ -30,5 +30,5 @@ const installAction = async (options, command) => {
30
30
  //#endregion
31
31
  export { installAction };
32
32
 
33
- //# sourceMappingURL=install-bAES9fz_.js.map
34
- //# debugId=bc16cba8-198e-5a15-ba1c-e82427730137
33
+ //# sourceMappingURL=install-BeahaWiL.js.map
34
+ //# debugId=e6e2d64a-d0a3-5135-9f7f-67e3aeae38b7
@@ -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]="b22b7f8e-aa4b-57ee-bed1-b72b150e14f2")}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]="3fde75de-3a17-5483-a00b-5f7ed11ec2e8")}catch(e){}}();
3
3
  import { B as resolveGitCommand, g as RUN_GIT_MAX_BUFFER_BYTES } from "./constants-DJ3RtEMu.js";
4
- import { Ot as highlighter, an as log, b as isNonInteractiveEnvironment, in as info$1, on as warn, rn as error$1, yn as runSync } from "./record-metric-DUV0U_Gf.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";
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-ByhqWGm4.js.map
2818
- //# debugId=b22b7f8e-aa4b-57ee-bed1-b72b150e14f2
2817
+ //# sourceMappingURL=install-doctor-script-B84ViKF6.js.map
2818
+ //# debugId=3fde75de-3a17-5483-a00b-5f7ed11ec2e8
@@ -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]="19453ad0-04a9-5b38-b5ec-288554ff606f")}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]="d87da707-e91e-5923-98e9-fc124269dcca")}catch(e){}}();
3
3
  import { s as GH_DEFAULT_BRANCH_PROBE_TIMEOUT_MS } from "./constants-DJ3RtEMu.js";
4
4
  import { t as unrefStdin } from "./unref-stdin-D-NZBFpg.js";
5
- import { N as cliLogger } from "./install-doctor-script-ByhqWGm4.js";
5
+ import { N as cliLogger } from "./install-doctor-script-B84ViKF6.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-CMVYSVGv.js.map
271
- //# debugId=19453ad0-04a9-5b38-b5ec-288554ff606f
270
+ //# sourceMappingURL=install-github-workflow-BunRUQaF.js.map
271
+ //# debugId=d87da707-e91e-5923-98e9-fc124269dcca
@@ -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]="80330afb-0285-5e82-9e41-f6a619ae43d8")}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]="7e141891-aede-5389-80f3-48aac94ce7d5")}catch(e){}}();
3
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 { Ln as isErrnoException, Ot as highlighter, t as recordCount, y as CliInputError } from "./record-metric-DUV0U_Gf.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-ByhqWGm4.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-CMVYSVGv.js";
7
- import { t as shouldSkipPrompts } from "./should-skip-prompts-DaKPFC6p.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-CDjrtaab.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";
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-D7cj-Foc.js.map
1160
- //# debugId=80330afb-0285-5e82-9e41-f6a619ae43d8
1159
+ //# sourceMappingURL=install-react-doctor-C5W2i12g.js.map
1160
+ //# debugId=7e141891-aede-5389-80f3-48aac94ce7d5
@@ -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]="8fce0428-0d64-554e-95f2-d4aa1c2e375c")}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]="2636ac49-df2a-568c-9539-ef567f4d461e")}catch(e){}}();
3
3
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-ChKA3wi6.js";
4
4
  import { u as METRIC } from "./constants-DJ3RtEMu.js";
5
- import { t as recordCount } from "./record-metric-DUV0U_Gf.js";
6
- import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-BTVhlyoR.js";
5
+ import { t as recordCount } from "./record-metric-Do1JAZVB.js";
6
+ import { n as registerActiveTuiRenderer, t as exitGracefully } from "./exit-gracefully-DkeS8hHp.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-BSGXwXUT.js.map
25874
- //# debugId=8fce0428-0d64-554e-95f2-d4aa1c2e375c
25873
+ //# sourceMappingURL=jsx-runtime-DBWv4kid.js.map
25874
+ //# debugId=2636ac49-df2a-568c-9539-ef567f4d461e
@@ -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]="76bfe89e-5f20-5272-b962-6a1194773061")}catch(e){}}();
3
- import { Ot as highlighter, _ as VERSION, an as log, un as gen } from "./record-metric-DUV0U_Gf.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]="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";
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-ToEzN9wS.js.map
22
- //# debugId=76bfe89e-5f20-5272-b962-6a1194773061
21
+ //# sourceMappingURL=print-branded-header-BNKQT5ZQ.js.map
22
+ //# debugId=d92dd667-ac0b-5a23-beb4-01437ae67ac6
@@ -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]="c18884d5-e43a-5d2d-9188-d4b88508c4d5")}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]="a465497f-a818-5030-b200-89b7f510ccca")}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-BjEqBgwG.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-BSGXwXUT.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";
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-B-N-pmnA.js.map
240
- //# debugId=c18884d5-e43a-5d2d-9188-d4b88508c4d5
239
+ //# sourceMappingURL=prompt-runtime-scan-url-Bly4Vulj.js.map
240
+ //# debugId=a465497f-a818-5030-b200-89b7f510ccca
@@ -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]="b9313bab-7e35-5f79-81c8-63ba78b970a5")}catch(e){}}();
3
- import { zn as isPlainObject } from "./record-metric-DUV0U_Gf.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]="b3445f3a-dfac-5ea7-973b-acae833fa2f0")}catch(e){}}();
3
+ import { Vn as isPlainObject } from "./record-metric-Do1JAZVB.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-BwnK2YRI.js.map
24
- //# debugId=b9313bab-7e35-5f79-81c8-63ba78b970a5
23
+ //# sourceMappingURL=read-object-file-B-BZ7uYW.js.map
24
+ //# debugId=b3445f3a-dfac-5ea7-973b-acae833fa2f0