@qredence/fleet 0.7.0 → 0.7.1

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 (61) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/web/client/assets/{artifacts-panel-Qd6JlHzz.js → artifacts-panel-C69vz-oo.js} +1 -1
  3. package/dist/web/client/assets/{badge-BjFxrtmB.js → badge-DOGhnsYk.js} +7 -7
  4. package/dist/web/client/assets/{chat-command-palette-CPlJp2cO.js → chat-command-palette-wyZjTNa8.js} +1 -1
  5. package/dist/web/client/assets/{chunk-YOKDWASO-C8deEx7Z.js → chunk-YOKDWASO-Dego39cu.js} +4 -4
  6. package/dist/web/client/assets/{dist-CZDnnosQ.js → dist-QgsZ1U9l.js} +1 -1
  7. package/dist/web/client/assets/{highlighted-body-KPVGNVTW-CZcNaoxi.js → highlighted-body-KPVGNVTW-CSgDVUQp.js} +1 -1
  8. package/dist/web/client/assets/index-BARp0bjW.js +13 -0
  9. package/dist/web/client/assets/{markdown-code-BqFVdovL.js → markdown-code-DfJbKhL9.js} +1 -1
  10. package/dist/web/client/assets/{markdown-C-Y9gskI.js → markdown-yn-nhRzB.js} +2 -2
  11. package/dist/web/client/assets/mermaid-HWGCJPDP-BpEVCu9T.js +1 -0
  12. package/dist/web/client/assets/{openui-renderer-CH9K7_8t.js → openui-renderer-DrfHxs1t.js} +1 -1
  13. package/dist/web/client/assets/{preload-helper-Czpn1I53.js → preload-helper-BZ1Pz5am.js} +1 -1
  14. package/dist/web/client/assets/{right-panel-registry-BJG8ubHt.js → right-panel-registry-CF7GLJrk.js} +2 -2
  15. package/dist/web/client/assets/{routes-BXFQmjL9.js → routes-DCP1DP1g.js} +4 -4
  16. package/dist/web/client/assets/session-tool-renderer-Yu4G1165.js +1389 -0
  17. package/dist/web/client/assets/{subagent-chat-panel-DQEnhU2t.js → subagent-chat-panel-bVnkDkgs.js} +1 -1
  18. package/dist/web/client/assets/{subagent-transcript-CCpg3uL6.js → subagent-transcript-D_L-8PQi.js} +1 -1
  19. package/dist/web/client/assets/{subagent-utils-DTV2RcFl.js → subagent-utils-D7sXbLsS.js} +2 -2
  20. package/dist/web/client/assets/{subagents-panel-B-X7WPUU.js → subagents-panel-i5-12E1U.js} +1 -1
  21. package/dist/web/client/assets/{tool-result-C5Ixe-AJ.js → tool-result-D7HtJ_yg.js} +2 -2
  22. package/dist/web/client/assets/{workspace-panel-DDjQuELx.js → workspace-panel-Clbmrdza.js} +1 -1
  23. package/dist/web/client/assets/{workspace-path-nav-DmxBrMV6.js → workspace-path-nav-eVT0rYvv.js} +2 -2
  24. package/dist/web/client/bundle-budget.json +5 -5
  25. package/dist/web/server/{_tanstack-start-manifest_v-vL58CVrY-7SDCWIHD.js → _tanstack-start-manifest_v-CaT-3S-N-VAOGUHEJ.js} +9 -9
  26. package/dist/web/server/{artifacts-panel-CozDO7ak-5T4W7RME.js → artifacts-panel-BuAqeJzj-6DYYLKUW.js} +8 -8
  27. package/dist/web/server/{chat-command-palette-CLE-L0qp-ZZNKVTSS.js → chat-command-palette-Ca8gXVi2-P6EOQ43G.js} +5 -5
  28. package/dist/web/server/{chunk-GRGV5FVO.js → chunk-35AFSKDX.js} +3 -3
  29. package/dist/web/server/{chunk-SLRV7YNY.js → chunk-COWE2EJ6.js} +2 -2
  30. package/dist/web/server/{chunk-54UEKLGD.js → chunk-FPPKECLB.js} +5 -5
  31. package/dist/web/server/{chunk-EUWNVEIC.js → chunk-GCDOYNXR.js} +107 -97
  32. package/dist/web/server/{chunk-QCDSLD3L.js → chunk-ITKXE2Q5.js} +252 -214
  33. package/dist/web/server/{chunk-NHV77NOI.js → chunk-J4Y2Z3XM.js} +1 -1
  34. package/dist/web/server/{chunk-RYU7I34A.js → chunk-JFAUSHBI.js} +4 -4
  35. package/dist/web/server/{chunk-D7GSWBRI.js → chunk-K4KN3QBT.js} +1 -1
  36. package/dist/web/server/{chunk-B4EBMF5J.js → chunk-M7BTY55G.js} +2 -2
  37. package/dist/web/server/{chunk-XJHYJLGU.js → chunk-PHHC52CO.js} +3 -3
  38. package/dist/web/server/{chunk-RVDWGK6U.js → chunk-UTV66W5H.js} +3 -3
  39. package/dist/web/server/{chunk-F5DJQ3PQ.js → chunk-WPSI5TBE.js} +1528 -2185
  40. package/dist/web/server/{create-project-dialog-CReZdM5g-2V7C5J67.js → create-project-dialog-DCvdysey-IZUGGDAN.js} +5 -5
  41. package/dist/web/server/{empty-plugin-adapters-Cqtvkauv-ILKI7W7V.js → empty-plugin-adapters-DOl-E2pL-RKRSN75W.js} +1 -1
  42. package/dist/web/server/{fork-picker-dialog-CXcLEaor-6SVM5RJO.js → fork-picker-dialog-QH00XmqX-6YLU5REF.js} +3 -3
  43. package/dist/web/server/{message-queue-Q_Q6hbqc-AOV2PSCX.js → message-queue-BzEFQR8k-2W53EW32.js} +3 -3
  44. package/dist/web/server/{model-selector-list-BOKU5_Z3-III72ZT2.js → model-selector-list-BjoXmw92-TEKBPB3E.js} +5 -5
  45. package/dist/web/server/{openui-renderer-VuQOQeAP-XBOR3XGN.js → openui-renderer-CJ7Q2zZ_-FPXKZPSO.js} +5 -5
  46. package/dist/web/server/{resources-panel-Cnz-X1bx-TT5KVROR.js → resources-panel-yVB4xF_K-OHFHXVU4.js} +4 -4
  47. package/dist/web/server/{router-C437aaqv-72HBLLJI.js → router-UgU5vJxm-R33FGTXY.js} +2 -2
  48. package/dist/web/server/{routes-BkVN3m9i-PYNMNLQ5.js → routes-Cbbo-jh9-ZUPH4SJD.js} +2 -2
  49. package/dist/web/server/server.js +2410 -1672
  50. package/dist/web/server/{session-reasoning-panel-2_TR5nKM-KA5OY7ZV.js → session-reasoning-panel-C50VbaQ8-4YLMVVY6.js} +4 -4
  51. package/dist/web/server/{session-tool-renderer-BFEWy2Pk-JTSYUPO5.js → session-tool-renderer-QcAkYD-V-6RXRKDH6.js} +5 -5
  52. package/dist/web/server/{session-tree-panel-3y9LVA0A-4V4TJX62.js → session-tree-panel-CL49XSTK-4ZPK6AIV.js} +3 -3
  53. package/dist/web/server/{settings-dialog-DgZ8Z5e4-6T5AS2EB.js → settings-dialog-DG9HEZeP-TWDRDGMN.js} +6 -6
  54. package/dist/web/server/{start-QK6aG02q-EMREW2SB.js → start-DEejK9Uj-FODAOTAO.js} +1 -1
  55. package/dist/web/server/{subagent-chat-panel-B0pmAxCp-DKXNAOUU.js → subagent-chat-panel-Cg2CxshI-WWGFHTIF.js} +7 -7
  56. package/dist/web/server/{subagents-panel-FUUT0t1i-5ZKJ2QAJ.js → subagents-panel-aC3Eo-MR-RNIPLCZQ.js} +7 -7
  57. package/dist/web/server/{workspace-panel-BbI1N4f8-WYOEVH4G.js → workspace-panel-DfdFkgHU-6HIOXRBX.js} +4 -4
  58. package/package.json +2 -2
  59. package/dist/web/client/assets/index-D3HpiAnD.js +0 -12
  60. package/dist/web/client/assets/mermaid-HWGCJPDP-CVNXPao6.js +0 -1
  61. package/dist/web/client/assets/session-tool-renderer-mOZdkbiU.js +0 -1389
@@ -7,12 +7,12 @@ import {
7
7
  FileDiff,
8
8
  ToolResult,
9
9
  ToolResultOutput
10
- } from "./chunk-NHV77NOI.js";
10
+ } from "./chunk-J4Y2Z3XM.js";
11
11
  import {
12
12
  Collapsible$1,
13
13
  CollapsibleContent,
14
14
  CollapsibleTrigger
15
- } from "./chunk-D7GSWBRI.js";
15
+ } from "./chunk-K4KN3QBT.js";
16
16
  import {
17
17
  ActionSwapRollText,
18
18
  AgentDisclosure,
@@ -27,7 +27,7 @@ import {
27
27
  mono,
28
28
  stripSandboxPrefixes,
29
29
  useHoverCapable
30
- } from "./chunk-EUWNVEIC.js";
30
+ } from "./chunk-GCDOYNXR.js";
31
31
  import {
32
32
  AnimatePresence,
33
33
  m,
@@ -84,11 +84,11 @@ import {
84
84
  cn
85
85
  } from "./chunk-B5Y7XOIJ.js";
86
86
 
87
- // web/app/dist/server/assets/session-tool-renderer-BFEWy2Pk.js
87
+ // web/app/dist/server/assets/session-tool-renderer-QcAkYD-V.js
88
88
  import React, { memo, useCallback as useCallback4, useEffect as useEffect3, useId, useLayoutEffect as useLayoutEffect2, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
89
89
  import { Fragment as Fragment$1, jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
90
90
 
91
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useStableCallback.js
91
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useStableCallback.js
92
92
  import { useCallback, useInsertionEffect, useRef } from "react";
93
93
  function useStableCallback(callback) {
94
94
  const callbackRef = useRef(callback);
@@ -98,7 +98,7 @@ function useStableCallback(callback) {
98
98
  }, []);
99
99
  }
100
100
 
101
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/EditContext.js
101
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/EditContext.js
102
102
  import { createContext, useContext } from "react";
103
103
  import { jsx } from "react/jsx-runtime";
104
104
  var EditContext = createContext(void 0);
@@ -106,7 +106,7 @@ function useCreateEditor() {
106
106
  return useContext(EditContext);
107
107
  }
108
108
 
109
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/constants.js
109
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/constants.js
110
110
  var GutterUtilitySlotStyles = {
111
111
  position: "absolute",
112
112
  top: 0,
@@ -120,7 +120,7 @@ function noopRender() {
120
120
  return null;
121
121
  }
122
122
 
123
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/constants.js
123
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/constants.js
124
124
  var DIFFS_TAG_NAME = "diffs-container";
125
125
  var DIFFS_DEVELOPMENT_BUILD = (() => {
126
126
  try {
@@ -175,17 +175,17 @@ var EMPTY_RENDER_RANGE = {
175
175
  bufferAfter: 0
176
176
  };
177
177
 
178
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.js
178
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.js
179
179
  function getLineAnnotationName(annotation) {
180
180
  return `annotation-${"side" in annotation ? `${annotation.side}-` : ""}${annotation.lineNumber}`;
181
181
  }
182
182
 
183
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getMergeConflictActionSlotName.js
183
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getMergeConflictActionSlotName.js
184
184
  function getMergeConflictActionSlotName({ hunkIndex, lineIndex, conflictIndex }) {
185
185
  return `merge-conflict-action-${hunkIndex}-${lineIndex}-${conflictIndex}`;
186
186
  }
187
187
 
188
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js
188
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js
189
189
  function getHunkSideStartBoundary(start, count) {
190
190
  return start - (count === 0 ? 0 : 1);
191
191
  }
@@ -193,7 +193,7 @@ function getHunkSideEndBoundary(start, count) {
193
193
  return getHunkSideStartBoundary(start, count) + count;
194
194
  }
195
195
 
196
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js
196
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js
197
197
  function getMergeConflictActionAnchor(action, fileDiff) {
198
198
  const hunk = fileDiff.hunks[action.hunkIndex];
199
199
  if (hunk == null) return;
@@ -211,7 +211,7 @@ function getUnifiedLineStartForContent(hunk, contentIndex) {
211
211
  return lineIndex;
212
212
  }
213
213
 
214
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js
214
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js
215
215
  import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
216
216
  function renderDiffChildren({ fileDiff, actions, renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata, renderAnnotation, renderGutterUtility, renderMergeConflictUtility, lineAnnotations, getHoveredLine, getInstance, getAnnotationSlotName: getAnnotationSlotName2 = getLineAnnotationName }) {
217
217
  const customHeader = renderCustomHeader?.(fileDiff);
@@ -265,13 +265,13 @@ function getSlotName(action, fileDiff) {
265
265
  }) : void 0;
266
266
  }
267
267
 
268
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/constants.js
268
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/constants.js
269
269
  var ResolvedLanguages = /* @__PURE__ */ new Map();
270
270
  var ResolvingLanguages = /* @__PURE__ */ new Map();
271
271
  var RegisteredCustomLanguages = /* @__PURE__ */ new Map();
272
272
  var AttachedLanguages = /* @__PURE__ */ new Set();
273
273
 
274
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.js
274
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.js
275
275
  function areLanguagesAttached(languages) {
276
276
  for (const language of Array.isArray(languages) ? languages : [languages]) {
277
277
  if (language === "text" || language === "ansi") continue;
@@ -280,7 +280,7 @@ function areLanguagesAttached(languages) {
280
280
  return true;
281
281
  }
282
282
 
283
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getThemes.js
283
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getThemes.js
284
284
  function getThemes(theme = DEFAULT_THEMES) {
285
285
  const themesArr = [];
286
286
  if (typeof theme === "string") themesArr.push(theme);
@@ -291,7 +291,7 @@ function getThemes(theme = DEFAULT_THEMES) {
291
291
  return themesArr;
292
292
  }
293
293
 
294
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/constants.js
294
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/constants.js
295
295
  var AttachedThemes = /* @__PURE__ */ new Set();
296
296
 
297
297
  // node_modules/.pnpm/@pierre+theming@1.0.1_@pierre+theme@2.0.0_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_shiki@4.4.3/node_modules/@pierre/theming/dist/modules/createThemeCollection.js
@@ -501,10 +501,10 @@ function createThemeResolver() {
501
501
  };
502
502
  }
503
503
 
504
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolver.js
504
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolver.js
505
505
  var themeResolver = createThemeResolver();
506
506
 
507
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.js
507
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.js
508
508
  function attachResolvedThemes(themes2, highlighter2) {
509
509
  themes2 = Array.isArray(themes2) ? themes2 : [themes2];
510
510
  for (let themeRef of themes2) {
@@ -523,7 +523,7 @@ function attachResolvedThemes(themes2, highlighter2) {
523
523
  }
524
524
  }
525
525
 
526
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.js
526
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.js
527
527
  function attachResolvedLanguages(resolvedLanguages, highlighter2) {
528
528
  resolvedLanguages = Array.isArray(resolvedLanguages) ? resolvedLanguages : [resolvedLanguages];
529
529
  for (const resolvedLang of resolvedLanguages) {
@@ -538,12 +538,12 @@ function attachResolvedLanguages(resolvedLanguages, highlighter2) {
538
538
  }
539
539
  }
540
540
 
541
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isWorkerContext.js
541
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isWorkerContext.js
542
542
  function isWorkerContext() {
543
543
  return typeof WorkerGlobalScope !== "undefined" && typeof self !== "undefined" && self instanceof WorkerGlobalScope;
544
544
  }
545
545
 
546
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.js
546
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.js
547
547
  async function resolveLanguage(lang) {
548
548
  if (isWorkerContext()) throw new Error(`resolveLanguage("${lang}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);
549
549
  const resolver = ResolvingLanguages.get(lang);
@@ -567,12 +567,12 @@ async function resolveLanguage(lang) {
567
567
  }
568
568
  }
569
569
 
570
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.js
570
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.js
571
571
  function getResolvedOrResolveLanguage(language) {
572
572
  return ResolvedLanguages.get(language) ?? resolveLanguage(language);
573
573
  }
574
574
 
575
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js
575
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js
576
576
  function areThemesAttached(themes2) {
577
577
  for (const theme of getThemes(themes2)) if (!AttachedThemes.has(theme)) return false;
578
578
  return true;
@@ -807,7 +807,7 @@ var shikiThemes = createThemeCollection({ themes: Object.freeze([...LIGHT_SHIKI_
807
807
  // node_modules/.pnpm/@pierre+theming@1.0.1_@pierre+theme@2.0.0_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_shiki@4.4.3/node_modules/@pierre/theming/dist/themes.js
808
808
  var themes = createThemeCollection({ themes: [pierreThemes, shikiThemes] });
809
809
 
810
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolution.js
810
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolution.js
811
811
  function prepareThemeResolution(themeName) {
812
812
  if (isWorkerContext()) throw new Error(`Theme "${themeName}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);
813
813
  if (themeResolver.hasRegisteredTheme(themeName)) return;
@@ -822,7 +822,7 @@ function validateResolvedThemeName(themeName, theme) {
822
822
  if (theme.name !== themeName) throw new Error(`resolvedTheme: themeName: ${themeName} does not match theme.name: ${theme.name}`);
823
823
  }
824
824
 
825
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.js
825
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.js
826
826
  async function resolveTheme(themeName) {
827
827
  prepareThemeResolution(themeName);
828
828
  const theme = await themeResolver.resolveTheme(themeName);
@@ -830,12 +830,12 @@ async function resolveTheme(themeName) {
830
830
  return theme;
831
831
  }
832
832
 
833
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.js
833
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.js
834
834
  function getResolvedOrResolveTheme(themeName) {
835
835
  return themeResolver.getResolvedTheme(themeName) ?? resolveTheme(themeName);
836
836
  }
837
837
 
838
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js
838
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js
839
839
  var highlighter;
840
840
  async function getSharedHighlighter({ themes: themes2, langs, preferredHighlighter = "shiki-js" }) {
841
841
  highlighter ??= createHighlighter({
@@ -875,13 +875,13 @@ function isHighlighterLoading(h = highlighter) {
875
875
  }
876
876
  for (const descriptor of pierreThemes.getThemes()) themeResolver.registerThemeIfAbsent(descriptor.name, descriptor.load);
877
877
 
878
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areThemesEqual.js
878
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areThemesEqual.js
879
879
  function areThemesEqual(themeA, themeB) {
880
880
  if (themeA == null || themeB == null || typeof themeA === "string" || typeof themeB === "string") return themeA === themeB;
881
881
  return themeA.dark === themeB.dark && themeA.light === themeB.light;
882
882
  }
883
883
 
884
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js
884
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js
885
885
  var CUSTOM_EXTENSION_TO_FILE_FORMAT = /* @__PURE__ */ new Map();
886
886
  var EXTENSION_TO_FILE_FORMAT = {
887
887
  "1c": "1c",
@@ -1243,12 +1243,12 @@ function getFiletypeFromFileName(fileName) {
1243
1243
  return EXTENSION_TO_FILE_FORMAT[simpleMatch] ?? "text";
1244
1244
  }
1245
1245
 
1246
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/appendItems.js
1246
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/appendItems.js
1247
1247
  function appendItems(target, items) {
1248
1248
  for (const item of items) target.push(item);
1249
1249
  }
1250
1250
 
1251
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hast_utils.js
1251
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hast_utils.js
1252
1252
  function createTextNodeElement(value) {
1253
1253
  return {
1254
1254
  type: "text",
@@ -1321,7 +1321,7 @@ function createGutterGap(type, bufferType, size) {
1321
1321
  });
1322
1322
  }
1323
1323
 
1324
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/processLine.js
1324
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/processLine.js
1325
1325
  function processLine(node, line, state) {
1326
1326
  const lineInfo = typeof state.lineInfo === "function" ? state.lineInfo(line) : state.lineInfo[line - 1];
1327
1327
  if (lineInfo == null) {
@@ -1342,7 +1342,7 @@ function processLine(node, line, state) {
1342
1342
  return node;
1343
1343
  }
1344
1344
 
1345
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/wrapTokenFragments.js
1345
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/wrapTokenFragments.js
1346
1346
  var NO_TOKEN = /* @__PURE__ */ Symbol("no-token");
1347
1347
  var MULTIPLE_TOKENS = /* @__PURE__ */ Symbol("multiple-tokens");
1348
1348
  function wrapTokenFragments(container) {
@@ -1479,7 +1479,7 @@ function cyrb53(str, seed = 0) {
1479
1479
  return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36).slice(0, 6);
1480
1480
  }
1481
1481
 
1482
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js
1482
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js
1483
1483
  function createTransformerWithState(useTokenTransformer = false, useCSSClasses = false) {
1484
1484
  const state = { lineInfo: [] };
1485
1485
  const transformers = [{
@@ -1561,7 +1561,7 @@ var tokenStyleNormalizer = {
1561
1561
  }
1562
1562
  };
1563
1563
 
1564
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/formatCSSVariablePrefix.js
1564
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/formatCSSVariablePrefix.js
1565
1565
  function formatCSSVariablePrefix(type) {
1566
1566
  return `--${type === "token" ? "diffs-token" : "diffs"}-`;
1567
1567
  }
@@ -1672,7 +1672,7 @@ function matchesSurface(color, surface) {
1672
1672
  return surface != null && color.toLowerCase() === surface.toLowerCase();
1673
1673
  }
1674
1674
 
1675
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.js
1675
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.js
1676
1676
  function getHighlighterThemeStyles({ theme = DEFAULT_THEMES, highlighter: highlighter2, prefix }) {
1677
1677
  let styles = "";
1678
1678
  if (typeof theme === "string") {
@@ -1709,7 +1709,7 @@ function getGitVariables(themeData, modePrefix) {
1709
1709
  return styles;
1710
1710
  }
1711
1711
 
1712
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineNodes.js
1712
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineNodes.js
1713
1713
  function getLineNodes(nodes) {
1714
1714
  let firstChild = nodes.children[0];
1715
1715
  while (firstChild != null) {
@@ -1721,29 +1721,29 @@ function getLineNodes(nodes) {
1721
1721
  throw new Error("getLineNodes: Unable to find children");
1722
1722
  }
1723
1723
 
1724
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js
1724
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js
1725
1725
  function areDiffTargetsEqual(diffA, diffB) {
1726
1726
  return diffA?.cacheKey != null || diffB?.cacheKey != null ? diffA?.cacheKey === diffB?.cacheKey : diffA === diffB;
1727
1727
  }
1728
1728
 
1729
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFilesEqual.js
1729
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFilesEqual.js
1730
1730
  function areFilesEqual(fileA, fileB) {
1731
1731
  return fileA?.cacheKey === fileB?.cacheKey && fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
1732
1732
  }
1733
1733
 
1734
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffRenderOptionsEqual.js
1734
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffRenderOptionsEqual.js
1735
1735
  function areDiffRenderOptionsEqual(optionsA, optionsB) {
1736
1736
  return areThemesEqual(optionsA.theme, optionsB.theme) && optionsA.useTokenTransformer === optionsB.useTokenTransformer && optionsA.tokenizeMaxLineLength === optionsB.tokenizeMaxLineLength && optionsA.lineDiffType === optionsB.lineDiffType && optionsA.maxLineDiffLength === optionsB.maxLineDiffLength;
1737
1737
  }
1738
1738
 
1739
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDiffPlainText.js
1739
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDiffPlainText.js
1740
1740
  function isDiffPlainText(diff) {
1741
1741
  const computedLang = diff.lang ?? getFiletypeFromFileName(diff.name);
1742
1742
  const computedPreviousLang = diff.lang ?? (diff.prevName != null ? getFiletypeFromFileName(diff.prevName) : "text");
1743
1743
  return computedLang === "text" && computedPreviousLang === "text";
1744
1744
  }
1745
1745
 
1746
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeVirtualFileMetrics.js
1746
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeVirtualFileMetrics.js
1747
1747
  function computeVirtualFileMetrics(metrics) {
1748
1748
  return {
1749
1749
  ...DEFAULT_VIRTUAL_FILE_METRICS,
@@ -1772,7 +1772,7 @@ function getDefaultHunkSeparatorHeight(type) {
1772
1772
  }
1773
1773
  }
1774
1774
 
1775
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js
1775
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js
1776
1776
  function getHunkAdditionLineRange(hunk) {
1777
1777
  return [getHunkSideStartBoundary(hunk.additionStart, hunk.additionCount) + 1, getHunkSideEndBoundary(hunk.additionStart, hunk.additionCount) + 1];
1778
1778
  }
@@ -1982,7 +1982,7 @@ function getTrailingHunkSeparatorLayout({ type, metrics }) {
1982
1982
  };
1983
1983
  }
1984
1984
 
1985
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js
1985
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js
1986
1986
  function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infinity, expandedHunks, collapsedContextThreshold = 1, callback }) {
1987
1987
  const iterationStart = getIterationStartState({
1988
1988
  diff,
@@ -2033,9 +2033,11 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
2033
2033
  return !state.isWindowedHighlight || state.splitCount >= startingLine - splitHeight && state.splitCount < startingLine + totalLines;
2034
2034
  },
2035
2035
  emit(props, silent = false) {
2036
- if (!silent) if (diffStyle === "unified") state.incrementCounts(1, 0);
2037
- else if (diffStyle === "split") state.incrementCounts(0, 1);
2038
- else state.incrementCounts(1, 1);
2036
+ if (!silent) {
2037
+ if (diffStyle === "unified") state.incrementCounts(1, 0);
2038
+ else if (diffStyle === "split") state.incrementCounts(0, 1);
2039
+ else state.incrementCounts(1, 1);
2040
+ }
2039
2041
  return callback(props) ?? false;
2040
2042
  }
2041
2043
  };
@@ -2468,7 +2470,7 @@ function getChangeLineData({ hunkIndex, hunk, collapsedAfter, collapsedBefore, d
2468
2470
  };
2469
2471
  }
2470
2472
 
2471
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js
2473
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js
2472
2474
  function cleanLastNewline(contents) {
2473
2475
  let end = contents.length;
2474
2476
  if (contents.charCodeAt(end - 1) === 10) {
@@ -3260,7 +3262,7 @@ function splitLines(text) {
3260
3262
  return result;
3261
3263
  }
3262
3264
 
3263
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.js
3265
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.js
3264
3266
  function createDiffSpanDecoration({ line, spanStart, spanLength }) {
3265
3267
  return {
3266
3268
  start: {
@@ -3289,7 +3291,7 @@ function pushOrJoinSpan({ item, arr, enableJoin, isNeutral = false, isLastItem =
3289
3291
  arr.push([isNeutral ? 0 : 1, item.value]);
3290
3292
  }
3291
3293
 
3292
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js
3294
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js
3293
3295
  var DEFAULT_PLAIN_TEXT_OPTIONS = { forcePlainText: false };
3294
3296
  function renderDiffWithHighlighter(diff, highlighter2, options, { forcePlainText, startingLine, totalLines, expandedHunks, collapsedContextThreshold = 1 } = DEFAULT_PLAIN_TEXT_OPTIONS) {
3295
3297
  if (forcePlainText) {
@@ -3540,12 +3542,12 @@ function renderTwoFiles({ deletionFile, additionFile, deletionInfo, additionInfo
3540
3542
  };
3541
3543
  }
3542
3544
 
3543
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/WorkerPoolContext.js
3545
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/WorkerPoolContext.js
3544
3546
  import { createContext as createContext2, useContext as useContext2, useEffect, useInsertionEffect as useInsertionEffect2, useState } from "react";
3545
3547
  import { jsx as jsx3 } from "react/jsx-runtime";
3546
3548
  var WorkerPoolContext = createContext2(void 0);
3547
3549
 
3548
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areObjectsEqual.js
3550
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areObjectsEqual.js
3549
3551
  function areObjectsEqual(objA, objB, omitKeys) {
3550
3552
  if (objA === objB || objA == null || objB == null) return objA === objB;
3551
3553
  const omitSet = new Set(omitKeys);
@@ -3560,7 +3562,7 @@ function areObjectsEqual(objA, objB, omitKeys) {
3560
3562
  return true;
3561
3563
  }
3562
3564
 
3563
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js
3565
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js
3564
3566
  function areOptionsEqual(optionsA, optionsB) {
3565
3567
  const themeA = optionsA?.theme ?? DEFAULT_THEMES;
3566
3568
  const themeB = optionsB?.theme ?? DEFAULT_THEMES;
@@ -3572,7 +3574,7 @@ function getParseDiffOptions(options) {
3572
3574
  if (options != null && "parseDiffOptions" in options) return options.parseDiffOptions;
3573
3575
  }
3574
3576
 
3575
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js
3577
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js
3576
3578
  var callbacks = /* @__PURE__ */ new Set();
3577
3579
  var frameId = null;
3578
3580
  function queueRender(callback) {
@@ -3597,24 +3599,24 @@ function render(time) {
3597
3599
  else frameId = null;
3598
3600
  }
3599
3601
 
3600
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.js
3602
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.js
3601
3603
  function areSelectionsEqual(selectionA, selectionB) {
3602
3604
  return selectionA?.start === selectionB?.start && selectionA?.end === selectionB?.end && selectionA?.side === selectionB?.side && selectionA?.endSide === selectionB?.endSide;
3603
3605
  }
3604
3606
 
3605
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isStyleNode.js
3607
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isStyleNode.js
3606
3608
  function isStyleNode(element) {
3607
3609
  if (typeof HTMLStyleElement !== "undefined" && element instanceof HTMLStyleElement) return true;
3608
3610
  const tagName = element.tagName ?? element.nodeName;
3609
3611
  return typeof tagName === "string" && tagName.toLowerCase() === "style";
3610
3612
  }
3611
3613
 
3612
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js
3614
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js
3613
3615
  function areFileTargetsEqual(fileA, fileB) {
3614
3616
  return fileA?.cacheKey != null || fileB?.cacheKey != null ? fileA?.cacheKey === fileB?.cacheKey : fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
3615
3617
  }
3616
3618
 
3617
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/includesFileAnnotations.js
3619
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/includesFileAnnotations.js
3618
3620
  var FILE_ANNOTATION_DOM_KEY = `-1,-1`;
3619
3621
  function includesFileAnnotations(annotations) {
3620
3622
  return annotations?.some((annotation) => annotation.lineNumber === 0) ?? false;
@@ -3627,12 +3629,12 @@ function shouldRenderFileAnnotations(renderRange) {
3627
3629
  return renderRange.startingLine === 0 && renderRange.totalLines > 0;
3628
3630
  }
3629
3631
 
3630
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionPointsEqual.js
3632
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionPointsEqual.js
3631
3633
  function areSelectionPointsEqual(a, b) {
3632
3634
  return a.lineNumber === b.lineNumber && a.side === b.side;
3633
3635
  }
3634
3636
 
3635
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityElement.js
3637
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityElement.js
3636
3638
  function createGutterUtilityElement() {
3637
3639
  return createHastElement({
3638
3640
  tagName: "button",
@@ -3647,7 +3649,7 @@ function createGutterUtilityElement() {
3647
3649
  });
3648
3650
  }
3649
3651
 
3650
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js
3652
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js
3651
3653
  function isGutterUtilityPath(path) {
3652
3654
  for (const element of path) {
3653
3655
  if (!(element instanceof HTMLElement)) continue;
@@ -3656,7 +3658,7 @@ function isGutterUtilityPath(path) {
3656
3658
  return false;
3657
3659
  }
3658
3660
 
3659
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/InteractionManager.js
3661
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/InteractionManager.js
3660
3662
  var InteractionManager = class {
3661
3663
  mode;
3662
3664
  options;
@@ -4862,12 +4864,11 @@ function debugLogIfEnabled(debugLogType = "none", logIfType, ...args) {
4862
4864
  break;
4863
4865
  case "move":
4864
4866
  if (logIfType !== "move") return;
4865
- break;
4866
4867
  }
4867
4868
  console.log(...args);
4868
4869
  }
4869
4870
 
4870
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ResizeManager.js
4871
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ResizeManager.js
4871
4872
  var ResizeManager = class ResizeManager2 {
4872
4873
  static resizeObserver;
4873
4874
  static managersByElement = /* @__PURE__ */ new Map();
@@ -5147,13 +5148,13 @@ function cleanupStaleAnnotationItem(item) {
5147
5148
  if (item.column2.container.isConnected) item.column2.container.style.removeProperty("--diffs-annotation-min-height");
5148
5149
  }
5149
5150
 
5150
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areRenderRangesEqual.js
5151
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areRenderRangesEqual.js
5151
5152
  function areRenderRangesEqual(renderRangeA, renderRangeB) {
5152
5153
  if (renderRangeA == null || renderRangeB == null) return renderRangeA === renderRangeB;
5153
5154
  return renderRangeA.startingLine === renderRangeB.startingLine && renderRangeA.totalLines === renderRangeB.totalLines && renderRangeA.bufferBefore === renderRangeB.bufferBefore && renderRangeA.bufferAfter === renderRangeB.bufferAfter;
5154
5155
  }
5155
5156
 
5156
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js
5157
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js
5157
5158
  function applyLineTextWithNewline(line, lineText) {
5158
5159
  if (line.endsWith("\r\n")) return lineText + "\r\n";
5159
5160
  if (line.endsWith("\r")) return lineText + "\r";
@@ -5161,7 +5162,7 @@ function applyLineTextWithNewline(line, lineText) {
5161
5162
  return lineText;
5162
5163
  }
5163
5164
 
5164
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.js
5165
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.js
5165
5166
  function createAnnotationElement(span) {
5166
5167
  return createHastElement({
5167
5168
  tagName: "div",
@@ -5177,7 +5178,7 @@ function createAnnotationElement(span) {
5177
5178
  });
5178
5179
  }
5179
5180
 
5180
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createContentColumn.js
5181
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createContentColumn.js
5181
5182
  function createContentColumn(children, rowCount) {
5182
5183
  return createHastElement({
5183
5184
  tagName: "div",
@@ -5189,7 +5190,7 @@ function createContentColumn(children, rowCount) {
5189
5190
  });
5190
5191
  }
5191
5192
 
5192
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getIconForType.js
5193
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getIconForType.js
5193
5194
  function getIconForType(type) {
5194
5195
  switch (type) {
5195
5196
  case "file":
@@ -5206,7 +5207,7 @@ function getIconForType(type) {
5206
5207
  }
5207
5208
  }
5208
5209
 
5209
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js
5210
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js
5210
5211
  function createFileHeaderElement({ fileOrDiff, mode, stickyHeader }) {
5211
5212
  const fileDiff = "type" in fileOrDiff ? fileOrDiff : void 0;
5212
5213
  const properties = {
@@ -5298,7 +5299,7 @@ function createMetadataElement(fileDiff) {
5298
5299
  });
5299
5300
  }
5300
5301
 
5301
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createPreElement.js
5302
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createPreElement.js
5302
5303
  function createPreElement(options) {
5303
5304
  return createHastElement({
5304
5305
  tagName: "pre",
@@ -5319,21 +5320,21 @@ function createPreWrapperProperties({ diffIndicators, disableBackground, disable
5319
5320
  };
5320
5321
  }
5321
5322
 
5322
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js
5323
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js
5323
5324
  function getHighlighterOptions(lang, { theme, preferredHighlighter = "shiki-js" }) {
5324
5325
  return {
5325
- langs: [lang ?? "text"],
5326
+ langs: Array.isArray(lang) ? lang : [lang ?? "text"],
5326
5327
  themes: getThemes(theme),
5327
5328
  preferredHighlighter
5328
5329
  };
5329
5330
  }
5330
5331
 
5331
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDefaultRenderRange.js
5332
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDefaultRenderRange.js
5332
5333
  function isDefaultRenderRange(renderRange) {
5333
5334
  return renderRange.startingLine === 0 && renderRange.totalLines === Infinity && renderRange.bufferBefore === 0 && renderRange.bufferAfter === 0;
5334
5335
  }
5335
5336
 
5336
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/sprite.js
5337
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/sprite.js
5337
5338
  var SVGSpriteSheet = `<svg data-icon-sprite aria-hidden="true" width="0" height="0">
5338
5339
  <symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
5339
5340
  <path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
@@ -5388,7 +5389,7 @@ var SVGSpriteSheet = `<svg data-icon-sprite aria-hidden="true" width="0" height=
5388
5389
  </symbol>
5389
5390
  </svg>`;
5390
5391
 
5391
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/arePrePropertiesEqual.js
5392
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/arePrePropertiesEqual.js
5392
5393
  function arePrePropertiesEqual(propsA, propsB) {
5393
5394
  if (propsA == null || propsB == null) return propsA === propsB;
5394
5395
  return areCustomPropertiesEqual(propsA.customProperties, propsB.customProperties) && propsA.type === propsB.type && propsA.diffIndicators === propsB.diffIndicators && propsA.disableBackground === propsB.disableBackground && propsA.disableLineNumbers === propsB.disableLineNumbers && propsA.overflow === propsB.overflow && propsA.split === propsB.split && propsA.totalLines === propsB.totalLines;
@@ -5403,7 +5404,7 @@ function areCustomPropertiesEqual(customPropertiesA = EMPTY_CUSTOM_PROPERTIES, c
5403
5404
  return true;
5404
5405
  }
5405
5406
 
5406
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationWrapperNode.js
5407
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationWrapperNode.js
5407
5408
  function createAnnotationWrapperNode(slot) {
5408
5409
  const wrapper = document.createElement("div");
5409
5410
  wrapper.dataset.annotationSlot = "";
@@ -5412,7 +5413,7 @@ function createAnnotationWrapperNode(slot) {
5412
5413
  return wrapper;
5413
5414
  }
5414
5415
 
5415
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityContentNode.js
5416
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityContentNode.js
5416
5417
  function createGutterUtilityContentNode() {
5417
5418
  const gutterUtilityContent = document.createElement("div");
5418
5419
  gutterUtilityContent.slot = "gutter-utility-slot";
@@ -5425,14 +5426,14 @@ function createGutterUtilityContentNode() {
5425
5426
  return gutterUtilityContent;
5426
5427
  }
5427
5428
 
5428
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createUnsafeCSSStyleNode.js
5429
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createUnsafeCSSStyleNode.js
5429
5430
  function createUnsafeCSSStyleNode() {
5430
5431
  const node = document.createElement("style");
5431
5432
  node.setAttribute(UNSAFE_CSS_ATTRIBUTE, "");
5432
5433
  return node;
5433
5434
  }
5434
5435
 
5435
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.js
5436
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.js
5436
5437
  var measuredScrollbarGutter;
5437
5438
  function getMeasuredScrollbarGutter(shadowRoot) {
5438
5439
  if (measuredScrollbarGutter != null) return measuredScrollbarGutter;
@@ -5452,13 +5453,14 @@ function getMeasuredScrollbarGutter(shadowRoot) {
5452
5453
  return measuredScrollbarGutter;
5453
5454
  }
5454
5455
  function createMeasuredScrollbarGutterDeclaration(scrollbarGutter) {
5455
- return `${DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY}: ${scrollbarGutter == null ? "var(--diffs-scrollbar-gutter-fallback)" : `${scrollbarGutter}px`};`;
5456
+ const value = scrollbarGutter == null ? "var(--diffs-scrollbar-gutter-fallback)" : `${scrollbarGutter}px`;
5457
+ return `${DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY}: ${value};`;
5456
5458
  }
5457
5459
 
5458
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/style.js
5460
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/style.js
5459
5461
  var style_default = '@layer base {\n :host {\n --diffs-font-fallback: "SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono",\n "Courier New", monospace;\n --diffs-header-font-fallback: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",\n "Noto Sans", "Liberation Sans", Arial, sans-serif;\n --diffs-mixer: light-dark(#000, #fff);\n --diffs-gap-fallback: 8px;\n --diffs-scrollbar-gutter-fallback: 6px;\n --diffs-scrollbar-gutter: var(--diffs-scrollbar-gutter-override, var(--diffs-scrollbar-gutter-measured, var(--diffs-scrollbar-gutter-fallback)));\n --diffs-added-light: #0dbe4e;\n --diffs-added-dark: #5ecc71;\n --diffs-modified-light: #009fff;\n --diffs-modified-dark: #69b1ff;\n --diffs-deleted-light: #ff2e3f;\n --diffs-deleted-dark: #ff6762;\n --diffs-warning-light: #d5a910;\n --diffs-warning-dark: #ffd452;\n color-scheme: light dark;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n font-feature-settings: var(--diffs-font-features);\n --diffs-bg: light-dark(var(--diffs-light-bg, #fff), var(--diffs-dark-bg, #000));\n --diffs-bg-buffer: var(--diffs-bg-buffer-override, light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));\n --diffs-bg-context: var(--diffs-bg-context-override, light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));\n --diffs-bg-context-gutter: var(--diffs-bg-context-gutter-override, light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)), color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));\n --diffs-bg-separator: var(--diffs-bg-separator-override, light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));\n --diffs-fg: light-dark(var(--diffs-light, #000), var(--diffs-dark, #fff));\n --diffs-fg-number: var(--diffs-fg-number-override, light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)), color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));\n --diffs-fg-conflict-marker: var(--diffs-fg-conflict-marker-override, var(--diffs-fg-number));\n --diffs-deletion-base: var(--diffs-deletion-color-override, light-dark(var(--diffs-light-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-light))), var(--diffs-dark-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-dark)))));\n --diffs-addition-base: var(--diffs-addition-color-override, light-dark(var(--diffs-light-addition-color, var(--diffs-addition-color, var(--diffs-added-light))), var(--diffs-dark-addition-color, var(--diffs-addition-color, var(--diffs-added-dark)))));\n --diffs-modified-base: var(--diffs-modified-color-override, light-dark(var(--diffs-light-modified-color, var(--diffs-modified-color, var(--diffs-modified-light))), var(--diffs-dark-modified-color, var(--diffs-modified-color, var(--diffs-modified-dark)))));\n --diffs-bg-deletion: var(--diffs-bg-deletion-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));\n --diffs-bg-deletion-emphasis: var(--diffs-bg-deletion-emphasis-override, light-dark(rgb(from var(--diffs-deletion-base) r g b / .15), rgb(from var(--diffs-deletion-base) r g b / .2)));\n --diffs-bg-addition: var(--diffs-bg-addition-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));\n --diffs-bg-addition-emphasis: var(--diffs-bg-addition-emphasis-override, light-dark(rgb(from var(--diffs-addition-base) r g b / .15), rgb(from var(--diffs-addition-base) r g b / .2)));\n --diffs-selection-base: var(--diffs-modified-base);\n --diffs-selection-number-fg: light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));\n background-color: var(--diffs-bg);\n color: var(--diffs-fg);\n display: block;\n }\n\n pre, code, [data-error-wrapper] {\n isolation: isolate;\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n outline: none;\n margin: 0;\n padding: 0;\n display: block;\n }\n\n pre, code {\n background-color: var(--diffs-bg);\n }\n\n code {\n contain: content;\n }\n\n input, button {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n *, :before, :after {\n box-sizing: border-box;\n }\n\n [data-icon-sprite] {\n display: none;\n }\n\n [data-diffs-header], [data-separator] {\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n }\n\n [data-diffs-header][data-sticky] {\n z-index: 1;\n background-color: var(--diffs-bg);\n position: sticky;\n top: 0;\n }\n\n [data-file-info] {\n color: var(--fg);\n background-color: color-mix(in lab, var(--bg) 98%, var(--fg));\n border-block: 1px solid color-mix(in lab, var(--bg) 95%, var(--fg));\n padding: 10px;\n font-weight: 700;\n }\n\n [data-diff], [data-file] {\n --diffs-grid-number-column-width: minmax(min-content, max-content);\n --diffs-code-grid: var(--diffs-grid-number-column-width) 1fr;\n\n &[data-dehydrated] {\n --diffs-code-grid: var(--diffs-grid-number-column-width) minmax(0, 1fr);\n }\n\n &:hover [data-code]::-webkit-scrollbar-thumb {\n background-color: var(--diffs-bg-context);\n }\n }\n\n @supports (-webkit-touch-callout: none) {\n :host {\n --diffs-scrollbar-gutter-fallback: 0px;\n }\n }\n\n [data-line] span, [data-edit-prediction-suffix] span {\n color: light-dark(var(--diffs-token-light, var(--diffs-light)), var(--diffs-token-dark, var(--diffs-dark)));\n background-color: light-dark(var(--diffs-token-light-bg, inherit), var(--diffs-token-dark-bg, inherit));\n font-weight: light-dark(var(--diffs-token-light-font-weight, inherit), var(--diffs-token-dark-font-weight, inherit));\n font-style: light-dark(var(--diffs-token-light-font-style, inherit), var(--diffs-token-dark-font-style, inherit));\n text-decoration: light-dark(var(--diffs-token-light-text-decoration, inherit), var(--diffs-token-dark-text-decoration, inherit));\n }\n\n [data-line], [data-gutter-buffer], [data-column-number], [data-line-annotation], [data-no-newline], [data-merge-conflict], [data-merge-conflict-actions], [data-editor-overlay] {\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);\n --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);\n --diffs-computed-editor-active-line-bg: var(--diffs-computed-selected-line-bg);\n --diffs-computed-hovered-line-bg: var(--diffs-computed-editor-active-line-bg);\n --diffs-hover-mix-target: var(--diffs-bg-hover-override, var(--diffs-mixer));\n --diffs-line-bg: var(--diffs-computed-hovered-line-bg);\n color: var(--diffs-fg);\n background-color: var(--diffs-line-bg, var(--diffs-bg));\n }\n\n [data-line], [data-no-newline] {\n &[data-decoration-bg] {\n --mix-deco-light: 92%;\n --mix-deco-dark: 85%;\n\n &[data-decoration-bg-depth="2"] {\n --mix-deco-light: 88%;\n --mix-deco-dark: 80%;\n }\n\n &[data-decoration-bg-depth="3"] {\n --mix-deco-light: 85%;\n --mix-deco-dark: 78%;\n }\n\n --diffs-hover-mix-target: var(--diffs-decoration-bg);\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) var(--mix-deco-light),\n var(--diffs-decoration-bg)), color-mix(in lab,\n var(--diffs-bg) var(--mix-deco-dark),\n var(--diffs-decoration-bg)));\n }\n }\n\n [data-line-annotation], [data-gutter-buffer="annotation"] {\n --diffs-annotation-bg: var(--diffs-bg-context);\n --diffs-computed-decoration-bg: var(--diffs-annotation-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-merge-conflict-actions], [data-gutter-buffer="merge-conflict-action"], [data-gutter-buffer="merge-conflict-marker-base"], [data-gutter-buffer="merge-conflict-marker-separator"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"] {\n --diffs-computed-decoration-bg: var(--diffs-bg-context);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer="merge-conflict-marker-start"], [data-merge-conflict="marker-start"] {\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))), color-mix(in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))));\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer="merge-conflict-marker-end"], [data-merge-conflict="marker-end"] {\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))), color-mix(in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))));\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-has-merge-conflict] [data-line-annotation], [data-has-merge-conflict] [data-gutter-buffer="annotation"] {\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n :where([data-background]) {\n & [data-gutter-buffer], & [data-column-number] {\n --mix-light: 91%;\n --mix-dark: 85%;\n }\n\n & [data-line], & [data-no-newline] {\n --mix-light: 88%;\n --mix-dark: 80%;\n }\n\n & [data-gutter-buffer], & [data-column-number], & [data-line], & [data-no-newline] {\n --diffs-diff-line-mix-target: var(--diffs-bg);\n\n &[data-line-type="change-deletion"] {\n --diffs-diff-line-mix-target: var(--diffs-bg-deletion-override, var(--diffs-deletion-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-deletion-override, var(--diffs-deletion-base));\n --diffs-diff-line-mix-target: var(--diffs-bg-deletion-number-override, var(--diffs-deletion-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-line-type="change-addition"] {\n --diffs-diff-line-mix-target: var(--diffs-bg-addition-override, var(--diffs-addition-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));\n --diffs-diff-line-mix-target: var(--diffs-bg-addition-number-override, var(--diffs-addition-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-merge-conflict="current"] {\n --diffs-diff-line-mix-target: var(--conflict-bg-current-override, var(--diffs-addition-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));\n --diffs-diff-line-mix-target: var(--conflict-bg-current-number-override, var(--diffs-addition-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-merge-conflict="incoming"] {\n --diffs-diff-line-mix-target: var(--conflict-bg-incoming-override, var(--diffs-modified-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-modified-base);\n --diffs-diff-line-mix-target: var(--conflict-bg-incoming-number-override, var(--diffs-modified-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n }\n }\n\n [data-gutter-buffer], [data-column-number], [data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline], [data-editor-overlay] {\n --diffs-selection-mix-target: var(--diffs-bg-selection-override, var(--diffs-selection-base));\n --diffs-selection-emphasis-mix-target: var(--diffs-selection-mix-target);\n\n &:where([data-editor-overlay]), &:where([data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline])[data-selected-line] {\n --mix-selection-light: 82%;\n --mix-selection-dark: 75%;\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n &:where([data-gutter-buffer][data-selected-line], [data-column-number]:is([data-selected-line], [data-editor-active-line])) {\n --mix-selection-light: 75%;\n --mix-selection-dark: 60%;\n --diffs-selection-mix-target: var(--diffs-bg-selection-number-override, var(--diffs-selection-base));\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n &:where([data-line][data-selected-line]):is([data-line-type="change-addition"], [data-line-type="change-deletion"]) {\n --diffs-selection-emphasis-mix-target: light-dark(color-mix(in lab,\n var(--diffs-diff-line-mix-target, var(--diffs-selection-mix-target))\n var(--mix-selection-light),\n var(--diffs-selection-mix-target)), var(--diffs-selection-mix-target));\n }\n\n &:where([data-editor-overlay]), &[data-selected-line] {\n --diffs-computed-selected-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-light),\n var(--diffs-selection-mix-target)), color-mix(in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-dark),\n var(--diffs-selection-mix-target)));\n }\n }\n\n [data-line][data-editor-active-line], [data-column-number][data-editor-active-line] {\n --diffs-computed-editor-active-line-bg: color-mix(in lab,\n var(--diffs-computed-selected-line-bg)\n var(--diffs-editor-active-line-source-mix, 100%),\n var(--diffs-selection-emphasis-mix-target));\n }\n\n @media (pointer: fine) {\n [data-line][data-hovered], [data-gutter-buffer][data-hovered], [data-column-number][data-hovered], [data-line-annotation][data-hovered], [data-no-newline][data-hovered], [data-merge-conflict][data-hovered], [data-merge-conflict-actions][data-hovered], [data-editor-overlay][data-hovered] {\n --diffs-computed-hovered-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-editor-active-line-bg) 97%,\n var(--diffs-hover-mix-target)), color-mix(in lab,\n var(--diffs-computed-editor-active-line-bg) 91%,\n var(--diffs-hover-mix-target)));\n }\n }\n\n [data-gutter-buffer][data-selected-line], [data-column-number]:is([data-selected-line], [data-editor-active-line]) {\n color: var(--diffs-selection-number-fg);\n }\n\n [data-no-newline] {\n user-select: none;\n\n & span {\n opacity: .6;\n }\n }\n\n [data-diff-type="split"][data-overflow="scroll"] {\n grid-template-columns: 1fr 1fr;\n display: grid;\n\n & [data-additions] {\n border-left: 1px solid var(--diffs-bg);\n }\n\n & [data-deletions] {\n border-right: 1px solid var(--diffs-bg);\n }\n }\n\n [data-code] {\n grid-auto-flow: dense;\n grid-template-columns: var(--diffs-code-grid);\n overflow: var(--diffs-overflow-override, scroll) clip;\n overscroll-behavior-x: none;\n tab-size: var(--diffs-tab-size, 2);\n padding-top: var(--diffs-gap-block, var(--diffs-gap-fallback));\n padding-bottom: max(0px,\n calc(var(--diffs-gap-block, var(--diffs-gap-fallback)) -\n var(--diffs-scrollbar-gutter)));\n scrollbar-gutter: stable;\n align-self: flex-start;\n display: grid;\n }\n\n [data-diffs-scrollbar-measure] {\n opacity: 0;\n pointer-events: none;\n scrollbar-gutter: auto;\n grid-template-columns: none;\n width: 100px;\n height: 100px;\n padding: 0;\n position: absolute;\n top: -200px;\n left: -200px;\n }\n\n [data-container-size] {\n container-type: inline-size;\n }\n\n [data-code]::-webkit-scrollbar {\n width: 0;\n height: var(--diffs-scrollbar-gutter);\n }\n\n [data-code]::-webkit-scrollbar-track {\n background: none;\n }\n\n [data-code]::-webkit-scrollbar-thumb {\n background-color: #0000;\n background-clip: content-box;\n border: 1px solid #0000;\n border-radius: 3px;\n }\n\n [data-code]::-webkit-scrollbar-corner {\n background-color: #0000;\n }\n\n @supports ((-moz-appearance: none)) {\n [data-code] {\n scrollbar-width: thin;\n scrollbar-color: var(--diffs-bg-context) transparent;\n padding-bottom: var(--diffs-gap-block, var(--diffs-gap-fallback));\n }\n }\n\n [data-diffs-header] ~ [data-diff], [data-diffs-header] ~ [data-file] {\n & [data-code], &[data-overflow="wrap"], &[data-dehydrated][data-diff-type="split"][data-overflow="scroll"] {\n padding-top: 0;\n }\n }\n\n [data-gutter] {\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n z-index: 3;\n background-color: var(--diffs-bg);\n grid-column: 1;\n display: grid;\n position: relative;\n\n & [data-gutter-buffer], & [data-column-number] {\n border-right: var(--diffs-gap-style, 2px solid var(--diffs-bg));\n }\n }\n\n [data-content] {\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n background-color: var(--diffs-bg);\n grid-column: 2;\n min-width: 0;\n display: grid;\n }\n\n [data-diff-type="split"][data-overflow="wrap"], [data-dehydrated][data-diff-type="split"][data-overflow="scroll"] {\n grid-auto-flow: dense;\n grid-template-columns: repeat(2, var(--diffs-code-grid));\n padding-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n display: grid;\n\n & [data-code] {\n display: contents;\n }\n\n & [data-deletions] {\n & [data-gutter] {\n grid-column: 1;\n }\n\n & [data-content] {\n border-right: 1px solid var(--diffs-bg);\n grid-column: 2;\n }\n }\n\n & [data-additions] {\n & [data-gutter] {\n border-left: 1px solid var(--diffs-bg);\n grid-column: 3;\n }\n\n & [data-content] {\n grid-column: 4;\n }\n }\n }\n\n [data-dehydrated][data-diff-type="split"][data-overflow="scroll"] [data-content] {\n overflow: clip;\n }\n\n [data-overflow="scroll"] [data-gutter] {\n position: sticky;\n left: 0;\n }\n\n [data-interactive-lines] [data-line] {\n cursor: pointer;\n }\n\n [data-interactive-line-numbers] [data-column-number] {\n cursor: pointer;\n touch-action: none;\n }\n\n [data-content-buffer], [data-gutter-buffer] {\n user-select: none;\n min-height: 1lh;\n position: relative;\n }\n\n [data-gutter-buffer] {\n padding-left: 2ch;\n padding-right: 1ch;\n\n &:before {\n content: "";\n min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));\n display: block;\n }\n }\n\n [data-gutter-buffer="annotation"] {\n --diffs-annotation-bg: var(--diffs-bg-context-gutter);\n min-height: 0;\n }\n\n [data-gutter-buffer="buffer"] {\n --diffs-line-bg: var(--diffs-bg-context-gutter);\n }\n\n [data-content-buffer] {\n background-position: 5px 0;\n background-size: 8px 8px;\n background-origin: border-box;\n background-image: repeating-linear-gradient(-45deg,\n transparent,\n transparent calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(4px * 1.414));\n grid-column: 1;\n }\n\n [data-separator] {\n box-sizing: content-box;\n background-color: var(--diffs-bg);\n }\n\n [data-separator="simple"] {\n min-height: 4px;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"], [data-separator="simple"] {\n background-color: var(--diffs-bg-separator);\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"] {\n height: 32px;\n position: relative;\n }\n\n [data-separator-wrapper] {\n user-select: none;\n fill: currentColor;\n background-color: var(--diffs-bg);\n align-items: center;\n height: 100%;\n display: flex;\n position: absolute;\n inset-inline: 0;\n }\n\n [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-separator="metadata"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n height: 100%;\n color: var(--diffs-fg-number);\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: min-content;\n padding-inline: 1ch;\n inset-inline: 100% auto;\n overflow: hidden;\n }\n\n [data-separator="line-info"] {\n margin-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n\n & [data-separator-wrapper] {\n min-width: 16px;\n }\n }\n\n [data-separator="line-info-basic"], [data-separator="metadata"] {\n margin-block: 0;\n }\n\n [data-separator="line-info"][data-separator-first] {\n margin-top: 0;\n }\n\n [data-separator="line-info"][data-separator-last] {\n margin-bottom: 0;\n }\n\n [data-expand-index] [data-separator-wrapper] {\n grid-template-columns: 32px auto;\n display: grid;\n }\n\n [data-expand-index] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 32px 32px auto;\n }\n\n [data-expand-button], [data-separator-content] {\n background-color: var(--diffs-bg-separator);\n flex: none;\n align-items: center;\n display: flex;\n }\n\n [data-expand-index] [data-separator-content]:hover {\n cursor: pointer;\n text-decoration: underline;\n }\n\n [data-expand-button] {\n cursor: pointer;\n min-width: 32px;\n color: var(--diffs-fg-number);\n border-right: 2px solid var(--diffs-bg);\n flex-shrink: 0;\n justify-content: center;\n align-self: stretch;\n\n &:hover {\n color: var(--diffs-fg);\n }\n\n &[data-expand-all-button] {\n display: none;\n }\n }\n\n [data-expand-down] [data-icon] {\n transform: scaleY(-1);\n }\n\n [data-separator-content] {\n height: 100%;\n color: var(--diffs-fg-number);\n flex: auto;\n justify-content: flex-start;\n padding: 0 1ch;\n overflow: hidden;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"] {\n & [data-separator-content] {\n user-select: none;\n height: 100%;\n overflow: clip;\n }\n }\n\n [data-unmodified-lines] {\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 auto;\n min-width: 0;\n display: block;\n overflow: hidden;\n }\n\n @supports (width: 1cqi) {\n [data-unified] {\n & [data-separator="line-info"] [data-separator-wrapper] {\n padding-inline: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n width: 100cqi;\n\n & [data-separator-content] {\n border-radius: 6px;\n }\n }\n\n & [data-separator="line-info"][data-expand-index] [data-separator-wrapper] [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-gutter] {\n & [data-separator="line-info"] [data-separator-wrapper] {\n padding-left: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n }\n\n & [data-separator="line-info"] [data-separator-content] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n & [data-separator="line-info"][data-expand-index] [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-additions] {\n & [data-content] [data-separator="line-info"] {\n background-color: var(--diffs-bg);\n\n & [data-separator-wrapper] {\n display: none;\n }\n }\n\n & [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n height: 100%;\n display: block;\n\n & [data-separator-content], & [data-expand-button] {\n display: none;\n }\n }\n }\n\n [data-overflow="scroll"] [data-additions] [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {\n width: calc(100cqi - var(--diffs-gap-inline, var(--diffs-gap-fallback)));\n }\n\n [data-overflow="wrap"] [data-additions] [data-content] [data-separator="line-info"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n height: 100%;\n margin-right: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n display: block;\n\n & [data-separator-content], & [data-expand-button] {\n display: none;\n }\n }\n\n [data-separator="line-info"] [data-separator-wrapper] {\n & [data-expand-both], & [data-expand-down], & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n }\n\n @media (pointer: fine) {\n [data-separator="line-info"] [data-separator-wrapper] {\n &[data-separator-multi-button] {\n & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: unset;\n }\n\n & [data-expand-down] {\n border-bottom-left-radius: 6px;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: coarse) {\n [data-separator="line-info-basic"] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px 34px auto;\n\n & [data-separator-content] {\n grid-column: unset;\n grid-row: unset;\n }\n }\n\n @supports (width: 1cqi) {\n [data-separator="line-info"] [data-separator-wrapper] {\n & [data-expand-both], & [data-expand-down], & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n &[data-separator-multi-button] {\n & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n & [data-expand-down] {\n border-bottom-left-radius: unset;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: fine) {\n [data-separator-wrapper][data-separator-multi-button] {\n grid-template-rows: 50% 50%;\n display: grid;\n\n & [data-separator-content] {\n grid-area: 1 / 2 / -1;\n min-width: min-content;\n }\n\n & [data-expand-button] {\n grid-column: 1;\n }\n }\n\n [data-separator="line-info"] [data-separator-wrapper], [data-separator="line-info"] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px auto;\n }\n\n [data-separator="line-info-basic"][data-expand-index] [data-separator-wrapper] {\n grid-template-columns: 100% auto;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"] {\n & [data-separator-multi-button] {\n & [data-expand-up] {\n border-bottom: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n\n & [data-expand-down] {\n border-top: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n }\n }\n }\n\n [data-additions] [data-gutter] [data-separator-wrapper], [data-additions] [data-separator="line-info-basic"] [data-separator-wrapper], [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-line-annotation] {\n min-height: var(--diffs-annotation-min-height, 0);\n z-index: 2;\n }\n\n [data-merge-conflict-actions] {\n z-index: 2;\n }\n\n [data-separator="custom"] {\n grid-template-columns: subgrid;\n display: grid;\n }\n\n [data-line], [data-column-number], [data-no-newline] {\n padding-inline: 1ch;\n position: relative;\n }\n\n [data-indicators="classic"] [data-line] {\n padding-inline-start: 2ch;\n }\n\n [data-indicators="classic"] {\n & [data-line-type="change-addition"], & [data-line-type="change-deletion"] {\n &[data-no-newline], &[data-line] {\n &:before {\n user-select: none;\n width: 1ch;\n height: 1lh;\n display: inline-block;\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n }\n\n & [data-line-type="change-addition"] {\n &[data-line], &[data-no-newline] {\n &:before {\n content: "+";\n color: var(--diffs-addition-base);\n }\n }\n }\n\n & [data-line-type="change-deletion"] {\n &[data-line], &[data-no-newline] {\n &:before {\n content: "-";\n color: var(--diffs-deletion-base);\n }\n }\n }\n }\n\n [data-indicators="bars"] {\n & [data-line-type="change-deletion"], & [data-line-type="change-addition"] {\n &[data-column-number] {\n &:before {\n content: "";\n user-select: none;\n contain: strict;\n width: 4px;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n }\n\n & [data-line-type="change-deletion"] {\n &[data-column-number] {\n &:before {\n background-image: linear-gradient(0deg,\n var(--diffs-bg-deletion) 50%,\n var(--diffs-deletion-base) 50%);\n background-repeat: repeat;\n background-size: 2px 2px;\n background-size: calc(1lh / round(1lh / 2px))\n calc(1lh / round(1lh / 2px));\n }\n }\n }\n\n & [data-line-type="change-addition"] {\n &[data-column-number] {\n &:before {\n background-color: var(--diffs-addition-base);\n }\n }\n }\n }\n\n [data-overflow="wrap"] {\n & [data-line] {\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n & [data-annotation-content] {\n word-break: break-word;\n }\n }\n\n [data-overflow="scroll"] [data-line] {\n white-space: pre;\n min-height: 1lh;\n }\n\n [data-column-number] {\n box-sizing: content-box;\n text-align: right;\n user-select: none;\n color: var(--diffs-fg-number);\n padding-left: 2ch;\n }\n\n [data-line-number-content] {\n min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));\n z-index: 1;\n display: inline-block;\n position: relative;\n }\n\n [data-disable-line-numbers] {\n & [data-gutter-buffer], & [data-column-number] {\n min-width: 4px;\n padding: 0;\n\n &:before {\n min-width: 0;\n }\n }\n\n & [data-line-number-content] {\n display: none;\n }\n\n & [data-gutter-utility-slot] {\n right: unset;\n justify-content: flex-start;\n left: 0;\n }\n\n &[data-indicators="bars"] [data-gutter-utility-slot] {\n left: 6px;\n }\n }\n\n [data-file][data-disable-line-numbers] {\n & [data-gutter-buffer], & [data-column-number] {\n border-right: 0;\n min-width: 0;\n }\n }\n\n [data-diff-span] {\n box-decoration-break: clone;\n border-radius: 3px;\n }\n\n [data-line-type="change-addition"] [data-diff-span] {\n background-color: var(--diffs-bg-addition-emphasis);\n }\n\n [data-line-type="change-deletion"] [data-diff-span] {\n background-color: var(--diffs-bg-deletion-emphasis);\n }\n\n [data-merge-conflict="marker-start"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"], [data-merge-conflict="marker-end"] {\n color: var(--diffs-fg);\n padding-left: 1ch;\n }\n\n [data-merge-conflict="marker-start"], [data-merge-conflict="marker-end"] {\n align-items: center;\n display: flex;\n\n &:after {\n color: var(--diffs-fg-conflict-marker);\n font-size: .75rem;\n font-style: normal;\n line-height: 1.25rem;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n padding-left: 1ch;\n }\n }\n\n [data-merge-conflict="marker-start"]:after {\n content: "(Current Change)";\n }\n\n [data-merge-conflict="marker-end"]:after {\n content: "(Incoming Change)";\n }\n\n [data-merge-conflict-actions-content] {\n min-height: 1.75rem;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n color: var(--diffs-fg);\n align-items: center;\n gap: .25rem;\n padding-inline: .5rem;\n font-size: .75rem;\n line-height: 1.2;\n display: flex;\n }\n\n [data-merge-conflict-action] {\n appearance: none;\n color: var(--diffs-fg-number);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n font-style: normal;\n }\n\n [data-merge-conflict-action]:hover {\n color: var(--diffs-fg);\n }\n\n [data-merge-conflict-action="current"]:hover {\n color: var(--diffs-addition-base);\n }\n\n [data-merge-conflict-action="incoming"]:hover {\n color: var(--diffs-modified-base);\n }\n\n [data-merge-conflict-action-separator] {\n color: var(--diffs-fg-number);\n opacity: .6;\n user-select: none;\n }\n\n [data-diffs-header="default"] {\n background-color: var(--diffs-bg);\n justify-content: space-between;\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n min-height: calc(1lh + (var(--diffs-gap-block, var(--diffs-gap-fallback)) * 3));\n z-index: 2;\n flex-direction: row;\n padding-inline: 16px;\n display: flex;\n position: relative;\n top: 0;\n }\n\n [data-header-content] {\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n white-space: nowrap;\n flex-direction: row;\n min-width: 0;\n display: flex;\n }\n\n [data-header-content] [data-prev-name], [data-header-content] [data-title] {\n text-overflow: ellipsis;\n white-space: nowrap;\n direction: rtl;\n min-width: 0;\n overflow: hidden;\n }\n\n [data-prev-name] {\n opacity: .7;\n }\n\n [data-rename-icon] {\n fill: currentColor;\n flex-grow: 0;\n flex-shrink: 0;\n }\n\n [data-diffs-header="default"] [data-metadata] {\n white-space: nowrap;\n align-items: center;\n gap: 1ch;\n display: flex;\n }\n\n [data-diffs-header="default"] [data-additions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-addition-base);\n }\n\n [data-diffs-header="default"] [data-deletions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon] {\n fill: currentColor;\n flex-shrink: 0;\n }\n\n [data-change-icon="change"], [data-change-icon="rename-pure"], [data-change-icon="rename-changed"] {\n color: var(--diffs-modified-base);\n }\n\n [data-change-icon="new"] {\n color: var(--diffs-addition-base);\n }\n\n [data-change-icon="deleted"] {\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon="file"] {\n opacity: .6;\n }\n\n [data-annotation-content] {\n z-index: 2;\n isolation: isolate;\n white-space: normal;\n align-self: flex-start;\n min-width: 0;\n display: flow-root;\n position: relative;\n }\n\n [data-overflow="scroll"] [data-annotation-content], [data-overflow="scroll"] [data-merge-conflict-actions-content] {\n width: var(--diffs-column-content-width, auto);\n left: var(--diffs-column-number-width, 0);\n position: sticky;\n }\n\n [data-annotation-slot] {\n text-wrap-mode: wrap;\n word-break: normal;\n white-space-collapse: collapse;\n }\n\n [data-gutter-utility-slot] {\n touch-action: none;\n justify-content: flex-end;\n display: flex;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n }\n\n [data-utility-button] {\n appearance: none;\n cursor: pointer;\n width: 1lh;\n height: 1lh;\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n background-color: var(--diffs-modified-base);\n color: var(--diffs-bg);\n fill: currentColor;\n z-index: 4;\n touch-action: none;\n border: none;\n border-radius: 4px;\n justify-content: center;\n align-items: center;\n margin-right: calc(-1lh + 1ch);\n padding: 0;\n display: flex;\n position: relative;\n\n &:before {\n content: "";\n display: block;\n position: absolute;\n inset: 0 0 0 -4px;\n }\n }\n\n [data-decoration-bar-stack] {\n pointer-events: none;\n isolation: isolate;\n z-index: 1;\n background-color: var(--diffs-decoration-bar-color, transparent);\n box-sizing: content-box;\n border-left: 2px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n width: 6px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -2px;\n\n [data-decoration-bar-depth="1"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 20%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-depth="2"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 45%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-depth="3"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 65%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-start] & {\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n }\n\n [data-decoration-bar-end] & {\n z-index: 3;\n border-bottom-right-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n }\n\n [data-placeholder] {\n contain: strict;\n }\n\n [data-error-wrapper] {\n padding: var(--diffs-gap-block, var(--diffs-gap-fallback))\n var(--diffs-gap-inline, var(--diffs-gap-fallback));\n scrollbar-width: none;\n max-height: 400px;\n overflow: auto;\n\n & [data-error-message] {\n color: var(--diffs-deletion-base);\n font-size: 18px;\n font-weight: bold;\n }\n\n & [data-error-stack] {\n color: var(--diffs-fg-number);\n }\n }\n}\n\n@layer theme, rendered, unsafe;\n';
5460
5462
 
5461
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cssWrappers.js
5463
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cssWrappers.js
5462
5464
  var LAYER_ORDER = `@layer base, theme, rendered, unsafe;`;
5463
5465
  var SCROLLBAR_GUTTER_DECLARATION_PATTERN = new RegExp(`${escapeRegExp(DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY)}\\s*:\\s*[^;]+;`);
5464
5466
  function wrapUnsafeCSS(unsafeCSS) {
@@ -5468,11 +5470,13 @@ function wrapUnsafeCSS(unsafeCSS) {
5468
5470
  }`;
5469
5471
  }
5470
5472
  function wrapThemeCSS(themeCSS, themeType = "system", scrollbarGutter) {
5473
+ const colorSchemeRule = themeType === "system" ? "" : `
5474
+ color-scheme: ${themeType};`;
5475
+ const scrollbarGutterVar = createMeasuredScrollbarGutterDeclaration(scrollbarGutter);
5471
5476
  return `${LAYER_ORDER}
5472
5477
  @layer rendered {
5473
- :host {${themeType === "system" ? "" : `
5474
- color-scheme: ${themeType};`}
5475
- ${createMeasuredScrollbarGutterDeclaration(scrollbarGutter)}
5478
+ :host {${colorSchemeRule}
5479
+ ${scrollbarGutterVar}
5476
5480
  ${themeCSS}
5477
5481
  }
5478
5482
  }`;
@@ -5485,14 +5489,14 @@ function escapeRegExp(value) {
5485
5489
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5486
5490
  }
5487
5491
 
5488
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js
5492
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js
5489
5493
  var lineAnnotationSources = /* @__PURE__ */ new WeakMap();
5490
5494
  function getLineAnnotationSource(annotation) {
5491
5495
  const source = lineAnnotationSources.get(annotation);
5492
5496
  return source == null ? annotation : source;
5493
5497
  }
5494
5498
 
5495
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js
5499
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js
5496
5500
  function adoptEditSessionAnnotations(annotations, getName, previousSession) {
5497
5501
  const slotNames = /* @__PURE__ */ new Map();
5498
5502
  for (const annotation of annotations) {
@@ -5524,12 +5528,12 @@ function resolveEditSessionSlotName(session, annotation, getName) {
5524
5528
  return name;
5525
5529
  }
5526
5530
 
5527
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js
5531
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js
5528
5532
  function shouldUseTokenTransformer(options) {
5529
5533
  return options?.useTokenTransformer === true || options?.onTokenClick != null || options?.onTokenEnter != null || options?.onTokenLeave != null;
5530
5534
  }
5531
5535
 
5532
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getOrCreateCodeNode.js
5536
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getOrCreateCodeNode.js
5533
5537
  function getOrCreateCodeNode({ code, pre, columnType, rowSpan, containerSize = false } = {}) {
5534
5538
  if (code == null) {
5535
5539
  code = document.createElement("code");
@@ -5544,7 +5548,7 @@ function getOrCreateCodeNode({ code, pre, columnType, rowSpan, containerSize = f
5544
5548
  return code;
5545
5549
  }
5546
5550
 
5547
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js
5551
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js
5548
5552
  function guardWebKitScrollDuringRebuild(pre, rebuild) {
5549
5553
  const height = pre?.offsetHeight ?? 0;
5550
5554
  if (pre == null || height === 0) {
@@ -5560,7 +5564,7 @@ function guardWebKitScrollDuringRebuild(pre, rebuild) {
5560
5564
  }
5561
5565
  }
5562
5566
 
5563
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hostTheme.js
5567
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hostTheme.js
5564
5568
  function upsertHostThemeStyle({ shadowRoot, currentNode, themeCSS }) {
5565
5569
  if (themeCSS.trim() === "") {
5566
5570
  currentNode?.remove();
@@ -5577,20 +5581,20 @@ function createHostThemeStyleNode() {
5577
5581
  return node;
5578
5582
  }
5579
5583
 
5580
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/platform.js
5584
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/platform.js
5581
5585
  var _isSafari = void 0;
5582
5586
  function isSafari() {
5583
5587
  return _isSafari ??= "safari" in window && "pushNotification" in window.safari || /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
5584
5588
  }
5585
5589
 
5586
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/prerenderHTMLIfNecessary.js
5590
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/prerenderHTMLIfNecessary.js
5587
5591
  function prerenderHTMLIfNecessary(element, html) {
5588
5592
  if (html == null) return;
5589
5593
  const shadowRoot = element.shadowRoot ?? element.attachShadow({ mode: "open" });
5590
5594
  if (shadowRoot.innerHTML === "") shadowRoot.innerHTML = html;
5591
5595
  }
5592
5596
 
5593
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js
5597
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js
5594
5598
  function setPreNodeProperties(pre, { type, diffIndicators, disableBackground, disableLineNumbers, overflow, split, totalLines, customProperties }) {
5595
5599
  if (customProperties != null) for (const key in customProperties) {
5596
5600
  const value = customProperties[key];
@@ -5610,7 +5614,6 @@ function setPreNodeProperties(pre, { type, diffIndicators, disableBackground, di
5610
5614
  break;
5611
5615
  case "none":
5612
5616
  pre.removeAttribute("data-indicators");
5613
- break;
5614
5617
  }
5615
5618
  if (disableLineNumbers) pre.setAttribute("data-disable-line-numbers", "");
5616
5619
  else pre.removeAttribute("data-disable-line-numbers");
@@ -5623,7 +5626,7 @@ function setPreNodeProperties(pre, { type, diffIndicators, disableBackground, di
5623
5626
  return pre;
5624
5627
  }
5625
5628
 
5626
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/web-components.js
5629
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/web-components.js
5627
5630
  if (typeof HTMLElement !== "undefined" && customElements.get("diffs-container") == null) {
5628
5631
  let sheet;
5629
5632
  class FileDiffContainer extends HTMLElement {
@@ -5638,13 +5641,14 @@ if (typeof HTMLElement !== "undefined" && customElements.get("diffs-container")
5638
5641
  shadowRoot.adoptedStyleSheets = [sheet];
5639
5642
  }
5640
5643
  connectedCallback() {
5641
- getMeasuredScrollbarGutter(this.shadowRoot ?? this.attachShadow({ mode: "open" }));
5644
+ const shadowRoot = this.shadowRoot ?? this.attachShadow({ mode: "open" });
5645
+ getMeasuredScrollbarGutter(shadowRoot);
5642
5646
  }
5643
5647
  }
5644
5648
  customElements.define(DIFFS_TAG_NAME, FileDiffContainer);
5645
5649
  }
5646
5650
 
5647
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js
5651
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js
5648
5652
  async function awaitWithTimeout(callback, timeout = 300) {
5649
5653
  let timeoutId;
5650
5654
  try {
@@ -5656,7 +5660,7 @@ async function awaitWithTimeout(callback, timeout = 300) {
5656
5660
  }
5657
5661
  }
5658
5662
 
5659
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js
5663
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js
5660
5664
  function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hunkSeparators, expandUnchanged, expandedHunks: configuredExpandedHunks, collapsedContextThreshold, canHydratePartialDiff }) {
5661
5665
  let splitHeight = getVirtualFileHeaderRegion(metrics, disableFileHeader);
5662
5666
  let unifiedHeight = splitHeight;
@@ -5757,7 +5761,7 @@ function getChangeNoNewlineMetadataLineCounts(hunk, content) {
5757
5761
  };
5758
5762
  }
5759
5763
 
5760
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js
5764
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js
5761
5765
  function getDiffFileInput({ oldFile, newFile }, context) {
5762
5766
  if (oldFile === void 0 && newFile === void 0) return;
5763
5767
  if (oldFile === void 0 || newFile === void 0) throw new Error(`${context}: Pass null for an intentionally missing oldFile or newFile side`);
@@ -5778,7 +5782,7 @@ function getDiffFileInput({ oldFile, newFile }, context) {
5778
5782
  };
5779
5783
  }
5780
5784
 
5781
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js
5785
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js
5782
5786
  function cloneHunks(hunks) {
5783
5787
  return hunks.map((hunk) => ({
5784
5788
  ...hunk,
@@ -5794,18 +5798,18 @@ function cloneFileDiffMetadata(fileDiff) {
5794
5798
  };
5795
5799
  }
5796
5800
 
5797
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js
5801
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js
5798
5802
  var CACHE_KEY_VERSION = 1;
5799
5803
  function composeCacheKey(scope, ...segments) {
5800
5804
  return `ck${CACHE_KEY_VERSION}:${JSON.stringify([scope, ...segments])}`;
5801
5805
  }
5802
5806
 
5803
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/splitFileContents.js
5807
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/splitFileContents.js
5804
5808
  function splitFileContents(contents) {
5805
5809
  return contents !== "" ? contents.split(SPLIT_WITH_NEWLINES) : [];
5806
5810
  }
5807
5811
 
5808
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js
5812
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js
5809
5813
  function hydratePartialDiff(type, fileDiff, files) {
5810
5814
  const targetFileDiff = type === "clone" ? cloneFileDiffMetadata(fileDiff) : fileDiff;
5811
5815
  if (!targetFileDiff.isPartial) throw new Error("hydratePartialDiff: fileDiff must be partial");
@@ -5938,7 +5942,7 @@ function getLoadedFileCacheKey(oldFile, newFile) {
5938
5942
  return oldFile?.cacheKey ?? newFile?.cacheKey;
5939
5943
  }
5940
5944
 
5941
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/detachString.js
5945
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/detachString.js
5942
5946
  var stringDetachEncoder = new TextEncoder();
5943
5947
  var stringDetachDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
5944
5948
  var SURROGATE_CODE_UNIT_PATTERN = /[\uD800-\uDFFF]/;
@@ -5956,7 +5960,7 @@ function detachString(value) {
5956
5960
  return stringDetachDecoder.decode(stringDetachBuffer.subarray(0, written));
5957
5961
  }
5958
5962
 
5959
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js
5963
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js
5960
5964
  var MAX_ALIGNMENT_COMPARISONS = 4096;
5961
5965
  var MIN_IMPROVEMENT_PER_PAIR = 0.5;
5962
5966
  function realignChangeContentBySimilarity(diff) {
@@ -6076,7 +6080,7 @@ function lineSimilarity(a, b) {
6076
6080
  return (prefix + suffix) / maxLength;
6077
6081
  }
6078
6082
 
6079
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js
6083
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js
6080
6084
  function processFile(fileDiffString, options) {
6081
6085
  try {
6082
6086
  return _processFile(fileDiffString, options);
@@ -6154,8 +6158,10 @@ function _processFile(fileDiffString, { cacheKey, isGitDiff = GIT_DIFF_FILE_BREA
6154
6158
  currentFile.type = "deleted";
6155
6159
  currentFile.mode = detachString(line.slice(17).trim());
6156
6160
  }
6157
- if (line.startsWith("similarity index")) if (line.startsWith("similarity index 100%")) currentFile.type = "rename-pure";
6158
- else currentFile.type = "rename-changed";
6161
+ if (line.startsWith("similarity index")) {
6162
+ if (line.startsWith("similarity index 100%")) currentFile.type = "rename-pure";
6163
+ else currentFile.type = "rename-changed";
6164
+ }
6159
6165
  if (line.startsWith("index ")) {
6160
6166
  const [, prevObjectId, newObjectId, mode] = line.trim().match(INDEX_LINE_METADATA) ?? [];
6161
6167
  if (prevObjectId != null) currentFile.prevObjectId = detachString(prevObjectId);
@@ -6317,9 +6323,10 @@ function _processFile(fileDiffString, { cacheKey, isGitDiff = GIT_DIFF_FILE_BREA
6317
6323
  currentFile.unifiedLineCount += collapsedAfter;
6318
6324
  }
6319
6325
  if (!isGitDiff) {
6320
- if (currentFile.prevName != null && currentFile.name !== currentFile.prevName) if (currentFile.hunks.length > 0) currentFile.type = "rename-changed";
6321
- else currentFile.type = "rename-pure";
6322
- else if ((oldFile == null || oldFile.contents === "") && newFile != null && newFile.contents !== "") currentFile.type = "new";
6326
+ if (currentFile.prevName != null && currentFile.name !== currentFile.prevName) {
6327
+ if (currentFile.hunks.length > 0) currentFile.type = "rename-changed";
6328
+ else currentFile.type = "rename-pure";
6329
+ } else if ((oldFile == null || oldFile.contents === "") && newFile != null && newFile.contents !== "") currentFile.type = "new";
6323
6330
  else if (oldFile != null && oldFile.contents !== "" && (newFile == null || newFile.contents === "")) currentFile.type = "deleted";
6324
6331
  }
6325
6332
  if (currentFile.type !== "rename-pure" && currentFile.type !== "rename-changed") currentFile.prevName = void 0;
@@ -6462,13 +6469,14 @@ function createContentGroup(type, deletionLineIndex, additionLineIndex) {
6462
6469
  };
6463
6470
  }
6464
6471
 
6465
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js
6472
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js
6466
6473
  var MISSING_FILE_NAME = "/dev/null";
6467
6474
  function parseDiffFromFile(oldFile, newFile, options, throwOnError = false) {
6468
6475
  if (oldFile === null && newFile === null) throw new Error("parseDiffFromFile: You must pass oldFile, newFile, or both");
6469
6476
  const resolvedOldFile = oldFile ?? createMissingFile();
6470
6477
  const resolvedNewFile = newFile ?? createMissingFile();
6471
- const fileData = processFile(createTwoFilesPatch(resolvedOldFile.name, resolvedNewFile.name, resolvedOldFile.contents, resolvedNewFile.contents, resolvedOldFile.header, resolvedNewFile.header, options), {
6478
+ const patch = createTwoFilesPatch(resolvedOldFile.name, resolvedNewFile.name, resolvedOldFile.contents, resolvedNewFile.contents, resolvedOldFile.header, resolvedNewFile.header, options);
6479
+ const fileData = processFile(patch, {
6472
6480
  cacheKey: (() => {
6473
6481
  const oldCacheKey = oldFile?.cacheKey;
6474
6482
  const newCacheKey = newFile?.cacheKey;
@@ -6497,7 +6505,7 @@ function createMissingFile() {
6497
6505
  };
6498
6506
  }
6499
6507
 
6500
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ScrollSyncManager.js
6508
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ScrollSyncManager.js
6501
6509
  var ScrollSyncManager = class {
6502
6510
  isDeletionsScrolling = false;
6503
6511
  isAdditionsScrolling = false;
@@ -6556,7 +6564,7 @@ var ScrollSyncManager = class {
6556
6564
  };
6557
6565
  };
6558
6566
 
6559
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js
6567
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js
6560
6568
  function recomputeDiffHunks(diff, parseDiffOptions) {
6561
6569
  const recomputed = parseDiffFromFile({
6562
6570
  name: diff.prevName ?? diff.name,
@@ -6784,7 +6792,7 @@ function recomputeDiffRenderLineCounts(diff) {
6784
6792
  diff.unifiedLineCount = unifiedTotal;
6785
6793
  }
6786
6794
 
6787
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js
6795
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js
6788
6796
  var deletionLineSetCache = /* @__PURE__ */ new WeakMap();
6789
6797
  function normalizeEditorLines(lines) {
6790
6798
  if (lines.length > 1 && lines[lines.length - 1] === "") return lines.slice(0, -1);
@@ -7183,7 +7191,7 @@ function finalizeSessionHunks(diff) {
7183
7191
  for (let index = 0; index < diff.hunks.length; index++) syncHunkNoEOFCRFromFullFile(diff, index);
7184
7192
  }
7185
7193
 
7186
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.js
7194
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.js
7187
7195
  function createEmptyRowBuffer(size) {
7188
7196
  return createHastElement({
7189
7197
  tagName: "div",
@@ -7195,7 +7203,7 @@ function createEmptyRowBuffer(size) {
7195
7203
  });
7196
7204
  }
7197
7205
 
7198
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.js
7206
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.js
7199
7207
  function createNoNewlineElement(type) {
7200
7208
  return createHastElement({
7201
7209
  tagName: "div",
@@ -7211,7 +7219,7 @@ function createNoNewlineElement(type) {
7211
7219
  });
7212
7220
  }
7213
7221
 
7214
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createSeparator.js
7222
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createSeparator.js
7215
7223
  function createExpandButton(type) {
7216
7224
  return createHastElement({
7217
7225
  tagName: "div",
@@ -7238,17 +7246,19 @@ function createSeparator({ type, content, expandIndex, chunked = false, slotName
7238
7246
  }));
7239
7247
  if ((type === "line-info" || type === "line-info-basic") && content != null) {
7240
7248
  const contentChildren = [];
7241
- if (expandIndex != null) if (!chunked) {
7242
- contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
7243
- buttonCount++;
7244
- } else {
7245
- if (!isFirstHunk) {
7246
- contentChildren.push(createExpandButton("up"));
7247
- buttonCount++;
7248
- }
7249
- if (!isLastHunk) {
7250
- contentChildren.push(createExpandButton("down"));
7249
+ if (expandIndex != null) {
7250
+ if (!chunked) {
7251
+ contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
7251
7252
  buttonCount++;
7253
+ } else {
7254
+ if (!isFirstHunk) {
7255
+ contentChildren.push(createExpandButton("up"));
7256
+ buttonCount++;
7257
+ }
7258
+ if (!isLastHunk) {
7259
+ contentChildren.push(createExpandButton("down"));
7260
+ buttonCount++;
7261
+ }
7252
7262
  }
7253
7263
  }
7254
7264
  contentChildren.push(createHastElement({
@@ -7294,19 +7304,19 @@ function createSeparator({ type, content, expandIndex, chunked = false, slotName
7294
7304
  });
7295
7305
  }
7296
7306
 
7297
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.js
7307
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.js
7298
7308
  function getHunkSeparatorSlotName(type, hunkIndex) {
7299
7309
  return `hunk-separator-${type}-${hunkIndex}`;
7300
7310
  }
7301
7311
 
7302
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js
7312
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js
7303
7313
  function getTotalLineCountFromHunks(hunks) {
7304
7314
  const lastHunk = hunks.at(-1);
7305
7315
  if (lastHunk == null) return 0;
7306
7316
  return Math.max(getHunkSideEndBoundary(lastHunk.additionStart, lastHunk.additionCount), getHunkSideEndBoundary(lastHunk.deletionStart, lastHunk.deletionCount));
7307
7317
  }
7308
7318
 
7309
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js
7319
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js
7310
7320
  var instanceId = -1;
7311
7321
  var DiffHunksRenderer = class {
7312
7322
  options;
@@ -7319,7 +7329,7 @@ var DiffHunksRenderer = class {
7319
7329
  expandedHunks = /* @__PURE__ */ new Map();
7320
7330
  deletionAnnotations = {};
7321
7331
  additionAnnotations = {};
7322
- computedLang = "text";
7332
+ computedLangs = ["text"];
7323
7333
  renderCache;
7324
7334
  pendingHighlightResult;
7325
7335
  pendingStructuralRows;
@@ -7558,18 +7568,21 @@ var DiffHunksRenderer = class {
7558
7568
  else hastLines[line] = row;
7559
7569
  }
7560
7570
  let regionsChanged = false;
7561
- if (changedAdditionLines.length > 0) if (this.editSessionActive) if (diff.additionLines.length <= 1 && diff.additionLines.join("") === "") {
7562
- this.applyRecomputePreservingSessionType(diff, recomputeEmptyDocumentDiff(diff, this.options.parseDiffOptions));
7563
- regionsChanged = true;
7564
- } else if (shouldTopAlignAdditionRecompute(diff, diff.additionLines)) {
7565
- this.applyRecomputePreservingSessionType(diff, recomputeTopAlignedAdditionDiff(diff, diff.additionLines, this.options.parseDiffOptions));
7566
- regionsChanged = true;
7567
- } else {
7568
- const change = applySessionChangedLines(diff, changedAdditionLines, this.options.parseDiffOptions, previousAdditionLines);
7569
- this.applyExpansionRemap(change);
7570
- regionsChanged = change != null;
7571
+ if (changedAdditionLines.length > 0) {
7572
+ if (this.editSessionActive) {
7573
+ if (diff.additionLines.length <= 1 && diff.additionLines.join("") === "") {
7574
+ this.applyRecomputePreservingSessionType(diff, recomputeEmptyDocumentDiff(diff, this.options.parseDiffOptions));
7575
+ regionsChanged = true;
7576
+ } else if (shouldTopAlignAdditionRecompute(diff, diff.additionLines)) {
7577
+ this.applyRecomputePreservingSessionType(diff, recomputeTopAlignedAdditionDiff(diff, diff.additionLines, this.options.parseDiffOptions));
7578
+ regionsChanged = true;
7579
+ } else {
7580
+ const change = applySessionChangedLines(diff, changedAdditionLines, this.options.parseDiffOptions, previousAdditionLines);
7581
+ this.applyExpansionRemap(change);
7582
+ regionsChanged = change != null;
7583
+ }
7584
+ } else Object.assign(diff, updateDiffHunks(diff, changedAdditionLines, this.options.parseDiffOptions));
7571
7585
  }
7572
- else Object.assign(diff, updateDiffHunks(diff, changedAdditionLines, this.options.parseDiffOptions));
7573
7586
  result.baseThemeType = themeType;
7574
7587
  renderCache.isDirty = true;
7575
7588
  return regionsChanged;
@@ -7659,7 +7672,7 @@ var DiffHunksRenderer = class {
7659
7672
  };
7660
7673
  }
7661
7674
  async initializeHighlighter() {
7662
- this.highlighter = await getSharedHighlighter(getHighlighterOptions(this.computedLang, {
7675
+ this.highlighter = await getSharedHighlighter(getHighlighterOptions(this.computedLangs, {
7663
7676
  theme: this.getLocalHighlightTheme(),
7664
7677
  preferredHighlighter: this.workerManager?.getPreferredHighlighter() ?? this.options.preferredHighlighter
7665
7678
  }));
@@ -7683,7 +7696,7 @@ var DiffHunksRenderer = class {
7683
7696
  if (!this.editSessionActive && this.workerManager?.isWorkingPool() === true) {
7684
7697
  if (this.renderCache.result == null && !massiveDiff) this.workerManager.highlightDiffAST(this, this.diff);
7685
7698
  } else if (this.highlighter == null) {
7686
- this.computedLang = diff.lang ?? getFiletypeFromFileName(diff.name);
7699
+ this.computedLangs = getDiffLanguages(diff);
7687
7700
  this.initializeHighlighter();
7688
7701
  }
7689
7702
  }
@@ -7793,10 +7806,10 @@ var DiffHunksRenderer = class {
7793
7806
  }
7794
7807
  if (!forcePlainText && hasContent && (!this.renderCache.highlighted || forceHighlight)) this.workerManager.highlightDiffAST(this, diff);
7795
7808
  } else {
7796
- this.computedLang = diff.lang ?? getFiletypeFromFileName(diff.name);
7809
+ this.computedLangs = getDiffLanguages(diff);
7797
7810
  this.highlighter ??= getHighlighterIfLoaded();
7798
7811
  const hasThemes = this.highlighter != null && areThemesAttached(options.theme);
7799
- const hasLangs = this.highlighter != null && areLanguagesAttached(this.computedLang);
7812
+ const hasLangs = this.highlighter != null && areLanguagesAttached(this.computedLangs);
7800
7813
  const canHighlight = !forcePlainText && hasLangs;
7801
7814
  if (canRenderDiff && this.highlighter != null && hasThemes && (forceHighlight || forcePlainText || !this.renderCache.highlighted && canHighlight || this.renderCache.result == null)) {
7802
7815
  const { result, options: options2 } = this.renderDiffWithHighlighter(diff, this.highlighter, forcePlainText || !hasLangs);
@@ -7834,9 +7847,9 @@ var DiffHunksRenderer = class {
7834
7847
  }
7835
7848
  async asyncHighlight(diff) {
7836
7849
  const forcePlainText = isDiffMassive(diff, this.getTokenizeMaxLength());
7837
- this.computedLang = forcePlainText ? "text" : diff.lang ?? getFiletypeFromFileName(diff.name);
7850
+ this.computedLangs = forcePlainText ? ["text"] : getDiffLanguages(diff);
7838
7851
  const hasThemes = this.highlighter != null && areThemesAttached(this.getLocalHighlightTheme());
7839
- const hasLangs = forcePlainText || this.highlighter != null && areLanguagesAttached(this.computedLang);
7852
+ const hasLangs = forcePlainText || this.highlighter != null && areLanguagesAttached(this.computedLangs);
7840
7853
  if (this.highlighter == null || !hasThemes || !hasLangs) this.highlighter = await this.initializeHighlighter();
7841
7854
  return this.renderDiffWithHighlighter(diff, this.highlighter, forcePlainText);
7842
7855
  }
@@ -7947,7 +7960,6 @@ var DiffHunksRenderer = class {
7947
7960
  break;
7948
7961
  case "additions":
7949
7962
  context.additionsGutterAST.children.push(element);
7950
- break;
7951
7963
  }
7952
7964
  }
7953
7965
  };
@@ -8529,6 +8541,12 @@ function getEditorDocumentLines(textDocument) {
8529
8541
  for (let line = 0; line < textDocument.lineCount; line++) lines.push(textDocument.getLineText(line, true));
8530
8542
  return lines;
8531
8543
  }
8544
+ function getDiffLanguages(diff) {
8545
+ if (diff.lang != null) return [diff.lang];
8546
+ const deletionLang = getFiletypeFromFileName(diff.prevName ?? diff.name);
8547
+ const additionLang = getFiletypeFromFileName(diff.name);
8548
+ return deletionLang === additionLang ? [additionLang] : [deletionLang, additionLang];
8549
+ }
8532
8550
  function isDiffMassive(diff, tokenizeMaxLength) {
8533
8551
  return Math.max(diff.additionLines.length, diff.deletionLines.length) > tokenizeMaxLength;
8534
8552
  }
@@ -8536,17 +8554,17 @@ function canHydrateCollapsedContext(fileDiff, hasFileLoader) {
8536
8554
  return fileDiff.isPartial && hasFileLoader && (fileDiff.type === "change" || fileDiff.type === "rename-changed");
8537
8555
  }
8538
8556
 
8539
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffLineAnnotationsEqual.js
8557
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffLineAnnotationsEqual.js
8540
8558
  function areDiffLineAnnotationsEqual(annotationA, annotationB) {
8541
8559
  return annotationA.lineNumber === annotationB.lineNumber && annotationA.side === annotationB.side && annotationA.metadata === annotationB.metadata;
8542
8560
  }
8543
8561
 
8544
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js
8562
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js
8545
8563
  function areHunkDataEqual(hunkA, hunkB) {
8546
8564
  return hunkA.slotName === hunkB.slotName && hunkA.hunkIndex === hunkB.hunkIndex && hunkA.lines === hunkB.lines && hunkA.lineCountKnown === hunkB.lineCountKnown && hunkA.type === hunkB.type && hunkA.expandable?.chunked === hunkB.expandable?.chunked && hunkA.expandable?.up === hunkB.expandable?.up && hunkA.expandable?.down === hunkB.expandable?.down;
8547
8565
  }
8548
8566
 
8549
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js
8567
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js
8550
8568
  function getDiffHunksRendererOptions(options) {
8551
8569
  return {
8552
8570
  theme: options?.theme,
@@ -8575,7 +8593,7 @@ function getDiffHunksRendererOptions(options) {
8575
8593
  };
8576
8594
  }
8577
8595
 
8578
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/FileDiff.js
8596
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/FileDiff.js
8579
8597
  function canHydrateDiff(fileDiff) {
8580
8598
  return fileDiff.isPartial && (fileDiff.type === "change" || fileDiff.type === "rename-changed" || fileDiff.type === "rename-pure");
8581
8599
  }
@@ -8714,17 +8732,18 @@ var FileDiff2 = class {
8714
8732
  }
8715
8733
  continue;
8716
8734
  }
8717
- for (const content of hunk.hunkContent) if (content.type === "context") if (lineNumber < currentLineNumber + content.lines) {
8718
- const difference = lineNumber - currentLineNumber;
8719
- targetSplitIndex = splitIndex + difference;
8720
- targetUnifiedIndex = unifiedIndex + difference;
8721
- break hunkIterator;
8735
+ for (const content of hunk.hunkContent) if (content.type === "context") {
8736
+ if (lineNumber < currentLineNumber + content.lines) {
8737
+ const difference = lineNumber - currentLineNumber;
8738
+ targetSplitIndex = splitIndex + difference;
8739
+ targetUnifiedIndex = unifiedIndex + difference;
8740
+ break hunkIterator;
8741
+ } else {
8742
+ currentLineNumber += content.lines;
8743
+ splitIndex += content.lines;
8744
+ unifiedIndex += content.lines;
8745
+ }
8722
8746
  } else {
8723
- currentLineNumber += content.lines;
8724
- splitIndex += content.lines;
8725
- unifiedIndex += content.lines;
8726
- }
8727
- else {
8728
8747
  const sideCount = side === "deletions" ? content.deletions : content.additions;
8729
8748
  if (lineNumber < currentLineNumber + sideCount) {
8730
8749
  const indexDifference = lineNumber - currentLineNumber;
@@ -9090,8 +9109,10 @@ var FileDiff2 = class {
9090
9109
  if (incomingExternalDiff.isPartial) this.loadFilesIfNecessary();
9091
9110
  else this.installEditSession(incomingExternalDiff);
9092
9111
  if (this.editSession != null) this.editSession.outgoingDiff = outgoingDiff;
9093
- } else if (this.editor != null) if (incomingExternalDiff.isPartial) this.loadFilesIfNecessary();
9094
- else this.installEditSession(incomingExternalDiff, this.editor.__getDocumentContents(getAdditionFile(incomingExternalDiff)), this.editor.__getDocumentSessionState());
9112
+ } else if (this.editor != null) {
9113
+ if (incomingExternalDiff.isPartial) this.loadFilesIfNecessary();
9114
+ else this.installEditSession(incomingExternalDiff, this.editor.__getDocumentContents(getAdditionFile(incomingExternalDiff)), this.editor.__getDocumentSessionState());
9115
+ }
9095
9116
  if (this.editSession?.annotations != null && lineAnnotations != null) {
9096
9117
  this.lineAnnotations = lineAnnotations;
9097
9118
  this.editSession.annotations = adoptEditSessionAnnotations(lineAnnotations, getLineAnnotationName, this.editSession.annotations);
@@ -10509,7 +10530,7 @@ function getElementChildren(node) {
10509
10530
  return node.children ?? [];
10510
10531
  }
10511
10532
 
10512
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js
10533
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js
10513
10534
  var VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL = 3e3;
10514
10535
  var NO_GHOST_TEXT_ROWS = /* @__PURE__ */ new Map();
10515
10536
  var instanceId3 = -1;
@@ -11517,15 +11538,17 @@ var VirtualizedFileDiff = class extends FileDiff2 {
11517
11538
  return false;
11518
11539
  }
11519
11540
  });
11520
- if (firstVisibleHunk == null) if (measuredFileAnnotationVisible) {
11521
- firstVisibleHunk = 0;
11522
- centerHunk = 0;
11523
- } else return {
11524
- startingLine: 0,
11525
- totalLines: 0,
11526
- bufferBefore: 0,
11527
- bufferAfter: fileHeight - headerRegion - paddingBottom
11528
- };
11541
+ if (firstVisibleHunk == null) {
11542
+ if (measuredFileAnnotationVisible) {
11543
+ firstVisibleHunk = 0;
11544
+ centerHunk = 0;
11545
+ } else return {
11546
+ startingLine: 0,
11547
+ totalLines: 0,
11548
+ bufferBefore: 0,
11549
+ bufferAfter: fileHeight - headerRegion - paddingBottom
11550
+ };
11551
+ }
11529
11552
  centerHunk ??= firstVisibleHunk;
11530
11553
  const idealStartHunk = Math.round(centerHunk - totalHunks / 2);
11531
11554
  const maxStartHunk = Math.max(0, Math.ceil(lineCount / hunkLineCount) - totalHunks);
@@ -11633,7 +11656,7 @@ function parseLineIndex(lineIndexAttr, diffStyle) {
11633
11656
  return diffStyle === "split" ? splitIndex : unifiedIndex;
11634
11657
  }
11635
11658
 
11636
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/templateRender.js
11659
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/templateRender.js
11637
11660
  import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
11638
11661
  function templateRender(children, __html) {
11639
11662
  if (typeof window === "undefined" && __html != null) return /* @__PURE__ */ jsxs2(Fragment2, { children: [/* @__PURE__ */ jsx4("template", {
@@ -11643,7 +11666,7 @@ function templateRender(children, __html) {
11643
11666
  return /* @__PURE__ */ jsx4(Fragment2, { children });
11644
11667
  }
11645
11668
 
11646
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/Virtualizer.js
11669
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/Virtualizer.js
11647
11670
  import { createContext as createContext3, useCallback as useCallback2, useContext as useContext3, useState as useState2 } from "react";
11648
11671
  import { jsx as jsx5 } from "react/jsx-runtime";
11649
11672
  var VirtualizerContext = createContext3(void 0);
@@ -11651,7 +11674,7 @@ function useVirtualizer() {
11651
11674
  return useContext3(VirtualizerContext);
11652
11675
  }
11653
11676
 
11654
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js
11677
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js
11655
11678
  import { useCallback as useCallback3, useContext as useContext4, useEffect as useEffect2, useLayoutEffect, useMemo, useRef as useRef2 } from "react";
11656
11679
  var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect2 : useLayoutEffect;
11657
11680
  function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOptions, editStateKey, lineAnnotations, selectedLines, prerenderedHTML, metrics, hasGutterRenderUtility, hasCustomHeader, disableWorkerPool, edit, onEditChange: _onEditChange, onEditComplete: _onEditComplete }) {
@@ -11688,21 +11711,13 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
11688
11711
  return decision;
11689
11712
  });
11690
11713
  const onEditComplete = _onEditComplete != null ? handleOnEditComplete : void 0;
11691
- const effectiveFileDiff = useMemo(() => {
11692
- if (fileDiff != null) return fileDiff;
11693
- const { current: accepted } = acceptedCache;
11694
- const filePair = accepted?.filePair;
11695
- if (accepted != null && filePair != null) {
11696
- if (isSameFilePair(oldFile, newFile, filePair.stale) || isSameFilePair(oldFile, newFile, filePair.installed)) return filePair.fileDiff;
11697
- accepted.filePair = null;
11698
- }
11699
- return parseDiffFromFile(oldFile ?? null, newFile ?? null, options?.parseDiffOptions);
11700
- }, [
11714
+ const effectiveFileDiff = useEffectiveFileDiff({
11715
+ acceptedCache,
11701
11716
  fileDiff,
11702
- oldFile,
11703
11717
  newFile,
11704
- options?.parseDiffOptions
11705
- ]);
11718
+ oldFile,
11719
+ parseDiffOptions: options?.parseDiffOptions
11720
+ });
11706
11721
  const instanceRef = useRef2(null);
11707
11722
  const disposeEditorRef = useRef2(null);
11708
11723
  const getEditor = useStableCallback(() => {
@@ -11778,6 +11793,24 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
11778
11793
  getAnnotationSlotName: useCallback3((annotation) => instanceRef.current?.getAnnotationSlotName(annotation) ?? getLineAnnotationName(annotation), [])
11779
11794
  };
11780
11795
  }
11796
+ function useEffectiveFileDiff({ acceptedCache, fileDiff, newFile, oldFile, parseDiffOptions }) {
11797
+ return useMemo(() => {
11798
+ if (fileDiff != null) return fileDiff;
11799
+ const { current: accepted } = acceptedCache;
11800
+ const filePair = accepted?.filePair;
11801
+ if (accepted != null && filePair != null) {
11802
+ if (isSameFilePair(oldFile, newFile, filePair.stale) || isSameFilePair(oldFile, newFile, filePair.installed)) return filePair.fileDiff;
11803
+ accepted.filePair = null;
11804
+ }
11805
+ return parseDiffFromFile(oldFile ?? null, newFile ?? null, parseDiffOptions);
11806
+ }, [
11807
+ acceptedCache,
11808
+ fileDiff,
11809
+ oldFile,
11810
+ newFile,
11811
+ parseDiffOptions
11812
+ ]);
11813
+ }
11781
11814
  function isSameFilePair(oldFile, newFile, filePair) {
11782
11815
  return areFileTargetsEqual(oldFile ?? void 0, filePair.oldFile ?? void 0) && areFileTargetsEqual(newFile ?? void 0, filePair.newFile ?? void 0);
11783
11816
  }
@@ -11789,11 +11822,15 @@ function resolveAcceptedValues(fileDiff, lineAnnotations, acceptedCache) {
11789
11822
  };
11790
11823
  const { fileDiff: acceptedDiff, annotations: acceptedAnnotations } = accepted;
11791
11824
  let resolvedFileDiff = fileDiff;
11792
- if (acceptedDiff != null) if (areDiffTargetsEqual(fileDiff, acceptedDiff.stale)) resolvedFileDiff = acceptedDiff.installed;
11793
- else accepted.fileDiff = null;
11825
+ if (acceptedDiff != null) {
11826
+ if (areDiffTargetsEqual(fileDiff, acceptedDiff.stale)) resolvedFileDiff = acceptedDiff.installed;
11827
+ else accepted.fileDiff = null;
11828
+ }
11794
11829
  let resolvedAnnotations = lineAnnotations;
11795
- if (acceptedAnnotations != null) if (lineAnnotations === acceptedAnnotations.stale) resolvedAnnotations = acceptedAnnotations.installed;
11796
- else accepted.annotations = null;
11830
+ if (acceptedAnnotations != null) {
11831
+ if (lineAnnotations === acceptedAnnotations.stale) resolvedAnnotations = acceptedAnnotations.installed;
11832
+ else accepted.annotations = null;
11833
+ }
11797
11834
  if (accepted.fileDiff == null && accepted.annotations == null && accepted.filePair == null) acceptedCache.current = null;
11798
11835
  return {
11799
11836
  fileDiff: resolvedFileDiff,
@@ -11821,7 +11858,7 @@ function applyEdit(instance, getEditor) {
11821
11858
  }
11822
11859
  }
11823
11860
 
11824
- // node_modules/.pnpm/@pierre+diffs@1.4.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js
11861
+ // node_modules/.pnpm/@pierre+diffs@1.4.2_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js
11825
11862
  import { jsx as jsx6 } from "react/jsx-runtime";
11826
11863
  function MultiFileDiff({ oldFile, newFile, options, editorOptions, editStateKey, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata, renderGutterUtility, disableWorkerPool = false, edit = false, onEditChange, onEditComplete }) {
11827
11864
  const { fileDiff, ref, getHoveredLine, getAnnotationSlotName: getAnnotationSlotName2 } = useFileDiffInstance({
@@ -11841,26 +11878,27 @@ function MultiFileDiff({ oldFile, newFile, options, editorOptions, editStateKey,
11841
11878
  onEditChange,
11842
11879
  onEditComplete
11843
11880
  });
11881
+ const children = renderDiffChildren({
11882
+ fileDiff,
11883
+ renderCustomHeader,
11884
+ renderHeaderPrefix,
11885
+ renderHeaderFilenameSuffix,
11886
+ renderHeaderMetadata,
11887
+ renderAnnotation,
11888
+ lineAnnotations,
11889
+ renderGutterUtility,
11890
+ getHoveredLine,
11891
+ getAnnotationSlotName: getAnnotationSlotName2
11892
+ });
11844
11893
  return /* @__PURE__ */ jsx6(DIFFS_TAG_NAME, {
11845
11894
  ref,
11846
11895
  className,
11847
11896
  style,
11848
- children: templateRender(renderDiffChildren({
11849
- fileDiff,
11850
- renderCustomHeader,
11851
- renderHeaderPrefix,
11852
- renderHeaderFilenameSuffix,
11853
- renderHeaderMetadata,
11854
- renderAnnotation,
11855
- lineAnnotations,
11856
- renderGutterUtility,
11857
- getHoveredLine,
11858
- getAnnotationSlotName: getAnnotationSlotName2
11859
- }), prerenderedHTML)
11897
+ children: templateRender(children, prerenderedHTML)
11860
11898
  });
11861
11899
  }
11862
11900
 
11863
- // web/app/dist/server/assets/session-tool-renderer-BFEWy2Pk.js
11901
+ // web/app/dist/server/assets/session-tool-renderer-QcAkYD-V.js
11864
11902
  var STATUS_TEXT = {
11865
11903
  queued: "Waiting to generate",
11866
11904
  generating: "Generating image",