@vantran-se/openchamber-web 2.0.4 → 2.0.6

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 (243) hide show
  1. package/dist/assets/{CodeMirrorCommentWidgets-DZF8ntaq.js → CodeMirrorCommentWidgets-BlzB2e0C.js} +1 -1
  2. package/dist/assets/DiffView-D7JQzQVZ.js +4 -0
  3. package/dist/assets/FilesView-DC2gadXM.js +17 -0
  4. package/dist/assets/{GitView-DwQwqDvu.js → GitView-Gzl0wbdd.js} +4 -4
  5. package/dist/assets/{GuestAttachDialog-CoXM0gh_.js → GuestAttachDialog-CQdDIeco.js} +1 -1
  6. package/dist/assets/GuestSurfacePane-CrOhlIdt.js +1 -0
  7. package/dist/assets/{JsonTreeView-Cq_27v0y.js → JsonTreeView-C3QZifYe.js} +1 -1
  8. package/dist/assets/{LinearIssuesView-CsSSRMhn.js → LinearIssuesView-X27TCI3v.js} +1 -1
  9. package/dist/assets/MarkdownImageGallery-BlTWU9oH.js +1 -0
  10. package/dist/assets/MarkdownRendererImpl-Cno7QsJO.js +12 -0
  11. package/dist/assets/{OnboardingScreen-ClatMQAX.js → OnboardingScreen-Wr_UzNtt.js} +1 -1
  12. package/dist/assets/{PatchDiff-DOwlrIK9.js → PatchDiff-D6pWS7cD.js} +1 -1
  13. package/dist/assets/{PierreDiffViewer-CrcGqqD_.js → PierreDiffViewer-DDljFbJJ.js} +3 -3
  14. package/dist/assets/{PlanView-BGLsMgQk.js → PlanView-LcfEbBPi.js} +4 -4
  15. package/dist/assets/PluginPane-DPWPLc2f.js +3 -0
  16. package/dist/assets/SettingsView-CFe9O3EM.js +30 -0
  17. package/dist/assets/{SettingsWindow-B0BAy-f9.js → SettingsWindow-DT1xhvgi.js} +1 -1
  18. package/dist/assets/{SubmoduleDiffSummary-fcdDzCSW.js → SubmoduleDiffSummary-CBHXaIkB.js} +1 -1
  19. package/dist/assets/{ToolOutputDialog-B7xaUz2H.js → ToolOutputDialog-B_ZX8ZbZ.js} +6 -6
  20. package/dist/assets/{ToolPartDiffPreview-CkWCaUmZ.js → ToolPartDiffPreview-D_HQzkXU.js} +2 -2
  21. package/dist/assets/{VirtualizedFileDiff-DONC4eI2.js → VirtualizedFileDiff-BUK1ujXg.js} +1 -1
  22. package/dist/assets/{WalkthroughView-CXDImOXW.js → WalkthroughView-H-tYOvhO.js} +2 -2
  23. package/dist/assets/{appThemeRegistry-Br2TLSlb.js → appThemeRegistry-BoJGAwCP.js} +1 -1
  24. package/dist/assets/changesTree-CePHbFcj.js +1 -0
  25. package/dist/assets/commitAndPush-BzZrF8bK.js +1 -0
  26. package/dist/assets/{computeVirtualFileMetrics-_-20umCs.js → computeVirtualFileMetrics-kYyVjXLu.js} +2 -2
  27. package/dist/assets/de-ByfQDcPj.js +10 -0
  28. package/dist/assets/es-DzNbjsQS.js +16 -0
  29. package/dist/assets/fr-B8AVLrnX.js +14 -0
  30. package/dist/assets/{index-OKDYjcMF.js → index-0-ON1L7L.js} +1 -1
  31. package/dist/assets/index-DUke1nme.css +1 -0
  32. package/dist/assets/index-Di6zUe5h.js +41 -0
  33. package/dist/assets/{isDiffPlainText-D77M6q1f.js → isDiffPlainText-Bgm_aLpu.js} +1 -1
  34. package/dist/assets/{isFilePlainText-C54B4Mns.js → isFilePlainText-D5GMgURH.js} +1 -1
  35. package/dist/assets/ja-1g6S0G19.js +16 -0
  36. package/dist/assets/ko-CxplvYkJ.js +16 -0
  37. package/dist/assets/{main-CGEvLMd2.js → main--Y98ZLsD.js} +2 -2
  38. package/dist/assets/main-GjXmVNpD.js +896 -0
  39. package/dist/assets/{markdown-shiki.worker-CahLvHIq.js → markdown-shiki.worker-Bg8SoAJJ.js} +8 -5
  40. package/dist/assets/markdownCore-CVdUcVCi.js +7 -0
  41. package/dist/assets/{miniChat-BSxkRQLj.js → miniChat-tTx5mpbd.js} +2 -2
  42. package/dist/assets/{mobile-C5KRTNOB.js → mobile-BmbiDWGb.js} +2 -2
  43. package/dist/assets/patchFileDiff-CV4iVQ8L.js +13 -0
  44. package/dist/assets/pl-f3QyqvIB.js +16 -0
  45. package/dist/assets/pt-BR-BsaoaiCK.js +16 -0
  46. package/dist/assets/{renderElectronMiniChatApp-CnkAQV6o.js → renderElectronMiniChatApp-BnCdnDhv.js} +2 -2
  47. package/dist/assets/renderMobileApp-CKn8nbSW.js +25 -0
  48. package/dist/assets/runtimeEndpointReset-sCi88eed.js +27 -0
  49. package/dist/assets/scheduledTasksApi-Dahv3ws0.js +1 -0
  50. package/dist/assets/{shikiHighlight-4O0ZM14D.js → shikiHighlight-O5_xLmWt.js} +1 -1
  51. package/dist/assets/{textMateThemeFromAppTheme-yNq7b0DZ.js → textMateThemeFromAppTheme-XM4VefqN.js} +1 -1
  52. package/dist/assets/tr-BNFsa6nz.js +7 -0
  53. package/dist/assets/uk-CJ9y5ULA.js +16 -0
  54. package/dist/assets/{useAppFontEffects-Bzyszv2N.js → useAppFontEffects-BN06mgHB.js} +160 -156
  55. package/dist/assets/{useInlineCommentController-zOf6ORAq.js → useInlineCommentController-Bb9Gjz1Q.js} +2 -2
  56. package/dist/assets/{useRootScrollLock-DCaZ4BWi.js → useRootScrollLock-Chk1cFUw.js} +2 -2
  57. package/dist/assets/{vendor-codemirror-language-data-6cEFPNUR.js → vendor-codemirror-language-data-C2qMZiA7.js} +2 -2
  58. package/dist/assets/vendor-opencode-client-DSZl7jSi.js +12 -0
  59. package/dist/assets/vendor-zod-BSoePkpP.js +39 -0
  60. package/dist/assets/{web-components-BEo4-ISu.js → web-components-BQWjCn_U.js} +1 -1
  61. package/dist/assets/zh-CN-U0QjVlAA.js +16 -0
  62. package/dist/assets/zh-TW-J9PTJQJi.js +16 -0
  63. package/dist/index.html +5 -5
  64. package/dist/mini-chat.html +5 -5
  65. package/dist/mobile.html +5 -5
  66. package/package.json +4 -4
  67. package/server/index.js +82 -0
  68. package/server/lib/agent-tool/DOCUMENTATION.md +132 -47
  69. package/server/lib/agent-tool/runtime.js +34 -15
  70. package/server/lib/agent-tool/runtime.test.js +15 -0
  71. package/server/lib/browser-control/DOCUMENTATION.md +14 -2
  72. package/server/lib/event-stream/global-hub.js +23 -1
  73. package/server/lib/event-stream/global-hub.test.js +35 -0
  74. package/server/lib/event-stream/global-ws-bridge.js +3 -1
  75. package/server/lib/event-stream/upstream-reader.js +3 -2
  76. package/server/lib/git/DOCUMENTATION.md +1 -1
  77. package/server/lib/git/service.js +22 -0
  78. package/server/lib/git/service.test.js +8 -0
  79. package/server/lib/guests/DOCUMENTATION.md +4 -3
  80. package/server/lib/guests/catalog.js +19 -1
  81. package/server/lib/guests/catalog.test.js +22 -0
  82. package/server/lib/guests/html-styles.js +5 -3
  83. package/server/lib/guests/html-styles.test.js +3 -1
  84. package/server/lib/guests/routes.js +11 -3
  85. package/server/lib/guests/service.js +5 -0
  86. package/server/lib/guests/surface.js +55 -9
  87. package/server/lib/guests/surface.test.js +56 -6
  88. package/server/lib/notifications/DOCUMENTATION.md +10 -0
  89. package/server/lib/notifications/emit-route.js +118 -0
  90. package/server/lib/notifications/emit-route.test.js +112 -0
  91. package/server/lib/openchamber-control/actions.js +16 -2
  92. package/server/lib/openchamber-control/service.js +23 -0
  93. package/server/lib/openchamber-control/service.test.js +31 -0
  94. package/server/lib/openchamber-sessions/fork-inheritance.js +103 -0
  95. package/server/lib/openchamber-sessions/fork-inheritance.test.js +69 -0
  96. package/server/lib/openchamber-sessions/routes.js +11 -0
  97. package/server/lib/openchamber-sessions/routes.test.js +18 -0
  98. package/server/lib/opencode/bootstrap-runtime.js +14 -1
  99. package/server/lib/opencode/compatibility.js +6 -3
  100. package/server/lib/opencode/compatibility.test.js +8 -0
  101. package/server/lib/opencode/config-entity-v2.test.js +27 -0
  102. package/server/lib/opencode/config-paths.test.js +12 -0
  103. package/server/lib/opencode/config-v2.d.ts +2 -0
  104. package/server/lib/opencode/config-v2.js +42 -0
  105. package/server/lib/opencode/config-v2.test.js +17 -0
  106. package/server/lib/opencode/core-routes.js +20 -4
  107. package/server/lib/opencode/core-routes.test.js +41 -0
  108. package/server/lib/opencode/env-runtime.js +1 -8
  109. package/server/lib/opencode/feature-routes-runtime.js +2 -1
  110. package/server/lib/opencode/lifecycle.js +30 -2
  111. package/server/lib/opencode/lifecycle.test.js +27 -0
  112. package/server/lib/opencode/managed-config-file.js +18 -6
  113. package/server/lib/opencode/managed-config-file.test.js +23 -7
  114. package/server/lib/opencode/mcp.js +7 -2
  115. package/server/lib/opencode/npm-registry-config.d.ts +1 -0
  116. package/server/lib/opencode/npm-registry-config.js +123 -0
  117. package/server/lib/opencode/npm-registry-config.test.js +167 -0
  118. package/server/lib/opencode/npm-registry.js +5 -6
  119. package/server/lib/opencode/npm-registry.test.js +30 -0
  120. package/server/lib/opencode/openchamber-routes.js +29 -11
  121. package/server/lib/opencode/openchamber-routes.test.js +18 -0
  122. package/server/lib/opencode/project-directory-runtime.js +8 -0
  123. package/server/lib/opencode/project-directory-runtime.test.js +13 -0
  124. package/server/lib/opencode/provider-source-route.test.js +59 -0
  125. package/server/lib/opencode/providers.js +3 -0
  126. package/server/lib/opencode/providers.test.js +62 -0
  127. package/server/lib/opencode/proxy.js +38 -2
  128. package/server/lib/opencode/routes-upgrade.test.js +1 -1
  129. package/server/lib/opencode/routes.js +36 -1
  130. package/server/lib/opencode/server-utils-runtime.js +5 -0
  131. package/server/lib/opencode/settings-helpers.js +10 -0
  132. package/server/lib/opencode/settings-helpers.test.js +2 -2
  133. package/server/lib/opencode/settings-registry.json +17 -0
  134. package/server/lib/opencode/settings-runtime.js +1 -0
  135. package/server/lib/opencode/shared.js +49 -4
  136. package/server/lib/opencode/shared.test.js +78 -1
  137. package/server/lib/opencode/shutdown-runtime.js +3 -0
  138. package/server/lib/opencode/skill-routes.js +28 -12
  139. package/server/lib/opencode/skill-routes.test.js +121 -1
  140. package/server/lib/opencode/upgrade-capability.js +0 -14
  141. package/server/lib/opencode/v1-migration-topup.js +21 -15
  142. package/server/lib/opencode/v1-migration-topup.test.js +14 -6
  143. package/server/lib/opencode/v2-install.d.ts +1 -0
  144. package/server/lib/opencode/v2-install.js +8 -7
  145. package/server/lib/opencode/v2-install.test.js +13 -4
  146. package/server/lib/opencode/watcher.js +3 -1
  147. package/server/lib/opencode/websearch-config.js +13 -1
  148. package/server/lib/quota/providers/kimi.js +1 -1
  149. package/server/lib/realtime-proxy.js +5 -1
  150. package/server/lib/realtime-proxy.test.js +29 -0
  151. package/server/lib/relay/tunnel-host.js +4 -1
  152. package/server/lib/relay/tunnel-host.test.js +11 -0
  153. package/server/lib/session-assist/DOCUMENTATION.md +17 -5
  154. package/server/lib/session-assist/runtime.js +19 -2
  155. package/server/lib/session-assist/runtime.test.js +8 -0
  156. package/server/lib/session-goal/DOCUMENTATION.md +11 -0
  157. package/server/lib/small-model/DOCUMENTATION.md +11 -10
  158. package/server/lib/small-model/index.js +27 -32
  159. package/server/lib/small-model/index.test.js +28 -16
  160. package/server/lib/spaces/DOCUMENTATION.md +404 -32
  161. package/server/lib/spaces/code-in-bait.js +145 -6
  162. package/server/lib/spaces/code-in.js +10 -150
  163. package/server/lib/spaces/code-in.test.js +7 -83
  164. package/server/lib/spaces/code-out.js +1819 -0
  165. package/server/lib/spaces/code-out.test.js +3945 -0
  166. package/server/lib/spaces/code-transfer.js +173 -0
  167. package/server/lib/spaces/command-stream.test.js +181 -0
  168. package/server/lib/spaces/dispatcher.js +670 -0
  169. package/server/lib/spaces/dispatcher.test.js +582 -0
  170. package/server/lib/spaces/gatekeeper-channel.js +61 -7
  171. package/server/lib/spaces/gatekeeper-channel.test.js +43 -7
  172. package/server/lib/spaces/gatekeeper-program.cjs +68 -14
  173. package/server/lib/spaces/gatekeeper-program.test.js +118 -3
  174. package/server/lib/spaces/hardening.js +20 -4
  175. package/server/lib/spaces/hardening.test.js +18 -3
  176. package/server/lib/spaces/host-git.js +7 -4
  177. package/server/lib/spaces/host-git.test.js +6 -2
  178. package/server/lib/spaces/host.js +310 -0
  179. package/server/lib/spaces/host.test.js +273 -0
  180. package/server/lib/spaces/journey.js +552 -0
  181. package/server/lib/spaces/journey.test.js +589 -0
  182. package/server/lib/spaces/layout.js +42 -8
  183. package/server/lib/spaces/manager.js +4 -3
  184. package/server/lib/spaces/manager.test.js +6 -0
  185. package/server/lib/spaces/places/code-out.docker.live.test.js +412 -0
  186. package/server/lib/spaces/places/contract-suite.js +36 -0
  187. package/server/lib/spaces/places/dispatcher.docker.live.test.js +296 -0
  188. package/server/lib/spaces/places/docker-live-support.js +27 -4
  189. package/server/lib/spaces/places/docker.js +33 -5
  190. package/server/lib/spaces/places/docker.test.js +42 -3
  191. package/server/lib/spaces/places/escape-suite.js +118 -14
  192. package/server/lib/spaces/places/fake-docker.js +3 -1
  193. package/server/lib/spaces/places/grants.docker.live.test.js +197 -0
  194. package/server/lib/spaces/places/memory-place.js +24 -1
  195. package/server/lib/spaces/places/registry.js +1 -1
  196. package/server/lib/spaces/places/server.docker.live.test.js +69 -33
  197. package/server/lib/spaces/places/sessions.docker.live.test.js +222 -0
  198. package/server/lib/spaces/routes.js +216 -0
  199. package/server/lib/spaces/routes.test.js +213 -0
  200. package/server/lib/spaces/run-command.js +261 -8
  201. package/server/lib/spaces/run-command.test.js +193 -3
  202. package/server/lib/spaces/space-events.js +153 -0
  203. package/server/lib/spaces/space-events.test.js +160 -0
  204. package/server/lib/spaces/space-opencode.js +52 -0
  205. package/server/lib/spaces/space-opencode.test.js +41 -0
  206. package/server/lib/spaces/space-records.js +150 -0
  207. package/server/lib/spaces/space-records.test.js +113 -0
  208. package/server/lib/spaces/space-sessions.js +210 -0
  209. package/server/lib/spaces/space-sessions.test.js +161 -0
  210. package/server/lib/spaces/websocket.js +329 -0
  211. package/server/lib/spaces/websocket.test.js +345 -0
  212. package/server/lib/ui-auth/ui-auth.js +8 -2
  213. package/server/lib/ui-auth/ui-auth.test.js +29 -0
  214. package/server/opencode-proxy.test.js +113 -0
  215. package/dist/assets/DiffView-D2p4Ar0H.js +0 -4
  216. package/dist/assets/FilesView-BeTtbsip.js +0 -17
  217. package/dist/assets/GuestSurfacePane-DIJvkkM-.js +0 -1
  218. package/dist/assets/MarkdownImageGallery-CY0dWTaE.js +0 -1
  219. package/dist/assets/MarkdownRendererImpl-ILdXzLrt.js +0 -12
  220. package/dist/assets/PluginPane-B39JEUL8.js +0 -3
  221. package/dist/assets/SettingsView-13B2_G-A.js +0 -29
  222. package/dist/assets/commitAndPush-CcI4ol7c.js +0 -1
  223. package/dist/assets/de-BtYnUgII.js +0 -10
  224. package/dist/assets/es-crP5qPye.js +0 -16
  225. package/dist/assets/fr-CLSRuALk.js +0 -14
  226. package/dist/assets/index-CLcM8HKx.css +0 -1
  227. package/dist/assets/index-CvLgnuNI.js +0 -41
  228. package/dist/assets/ja-SZ1-ucLV.js +0 -16
  229. package/dist/assets/ko-HthbT_Ve.js +0 -16
  230. package/dist/assets/main-BJklC7Cl.js +0 -896
  231. package/dist/assets/markdownCore-BzQuETm0.js +0 -5
  232. package/dist/assets/patchFileDiff-DGw2KryM.js +0 -13
  233. package/dist/assets/pl-C8eYfjL1.js +0 -16
  234. package/dist/assets/pt-BR-cYOrZdxS.js +0 -16
  235. package/dist/assets/renderMobileApp-CMxjwisj.js +0 -25
  236. package/dist/assets/runtimeEndpointReset-C45jrFq4.js +0 -27
  237. package/dist/assets/scheduledTasksApi-CkK1F9s2.js +0 -1
  238. package/dist/assets/tr-B4IQ5t-T.js +0 -7
  239. package/dist/assets/uk-DCoXG6ve.js +0 -16
  240. package/dist/assets/vendor-opencode-client-_BAHQo4R.js +0 -12
  241. package/dist/assets/vendor-zod-Gea9uBlY.js +0 -39
  242. package/dist/assets/zh-CN-BXBoxsFk.js +0 -16
  243. package/dist/assets/zh-TW-C6oelpnL.js +0 -16
@@ -1 +1 @@
1
- import{f as y,R as b,j as o}from"./vendor-react-BUCujlKS.js";import{f as j,h as u}from"./useAppFontEffects-Bzyszv2N.js";import{S as w}from"./SettingsView-13B2_G-A.js";import{m as k,l as v,n as D,j as S,D as R}from"./vendor-base-ui-CsXYnR5c.js";import"./vendor-scheduler-7OC5HNn7.js";import"./index-CvLgnuNI.js";import"./vendor-zod-Gea9uBlY.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-_BAHQo4R.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-6cEFPNUR.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./runtimeEndpointReset-C45jrFq4.js";import"./GuestAttachDialog-CoXM0gh_.js";import"./PluginPane-B39JEUL8.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-yaml-3778uTud.js";import"./shikiHighlight-4O0ZM14D.js";import"./vendor-codemirror-search-BmS-GmcX.js";import"./vendor-replit-codemirror-vim-B2DJlAhT.js";import"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import"./appThemeRegistry-Br2TLSlb.js";import"./textMateThemeFromAppTheme-yNq7b0DZ.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-qrcode-DTJ12-WC.js";import"./vendor-dijkstrajs-COg3n3zL.js";import"./vendor-strip-json-comments-5dJlOkP1.js";const zo=h=>{const t=y.c(19),{open:c,onOpenChange:i}=h,{t:f}=j(),r=b.useId(),x=_;let p;t[0]!==i?(p=g=>{!g&&x()||i(g)},t[0]=i,t[1]=p):p=t[1];let a;t[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsx(k,{className:u("oc-glass-backdrop fixed inset-0 z-50 bg-black/25 dark:bg-black/40","transition-opacity duration-150 ease-out","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0")}),t[2]=a):a=t[2];let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=u("relative pointer-events-auto","w-[90vw] max-w-[1200px] h-[85vh] max-h-[900px]","rounded-xl border shadow-none overflow-hidden origin-center","bg-background","transition-all duration-150 ease-out","data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]","data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]","data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]"),t[3]=l):l=t[3];let e;t[4]!==f?(e=f("settings.window.description"),t[4]=f,t[5]=e):e=t[5];let m;t[6]!==r||t[7]!==e?(m=o.jsx(v,{id:r,className:"sr-only",children:e}),t[6]=r,t[7]=e,t[8]=m):m=t[8];let n;t[9]!==i?(n=o.jsx(w,{onClose:()=>i(!1),isWindowed:!0}),t[9]=i,t[10]=n):n=t[10];let s;t[11]!==r||t[12]!==m||t[13]!==n?(s=o.jsxs(D,{children:[a,o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center pointer-events-none",children:o.jsxs(S,{"aria-describedby":r,className:l,children:[m,n]})})]}),t[11]=r,t[12]=m,t[13]=n,t[14]=s):s=t[14];let d;return t[15]!==c||t[16]!==p||t[17]!==s?(d=o.jsx(R,{open:c,onOpenChange:p,children:s}),t[15]=c,t[16]=p,t[17]=s,t[18]=d):d=t[18],d};function _(){return typeof document>"u"?!1:!!document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]')}export{zo as SettingsWindow};
1
+ import{f as y,R as b,j as o}from"./vendor-react-BUCujlKS.js";import{f as j,h as u}from"./useAppFontEffects-BN06mgHB.js";import{S as w}from"./SettingsView-CFe9O3EM.js";import{m as k,l as v,n as D,j as S,D as R}from"./vendor-base-ui-CsXYnR5c.js";import"./vendor-scheduler-7OC5HNn7.js";import"./index-Di6zUe5h.js";import"./vendor-zod-BSoePkpP.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-DSZl7jSi.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-C2qMZiA7.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./runtimeEndpointReset-sCi88eed.js";import"./GuestAttachDialog-CQdDIeco.js";import"./PluginPane-DPWPLc2f.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-yaml-3778uTud.js";import"./shikiHighlight-O5_xLmWt.js";import"./vendor-codemirror-search-BmS-GmcX.js";import"./vendor-replit-codemirror-vim-B2DJlAhT.js";import"./vendor-replit-codemirror-vim-core-FHzKdNUS.js";import"./appThemeRegistry-BoJGAwCP.js";import"./textMateThemeFromAppTheme-XM4VefqN.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-qrcode-DTJ12-WC.js";import"./vendor-dijkstrajs-COg3n3zL.js";import"./vendor-strip-json-comments-5dJlOkP1.js";const zo=h=>{const t=y.c(19),{open:c,onOpenChange:i}=h,{t:f}=j(),r=b.useId(),x=_;let p;t[0]!==i?(p=g=>{!g&&x()||i(g)},t[0]=i,t[1]=p):p=t[1];let a;t[2]===Symbol.for("react.memo_cache_sentinel")?(a=o.jsx(k,{className:u("oc-glass-backdrop fixed inset-0 z-50 bg-black/25 dark:bg-black/40","transition-opacity duration-150 ease-out","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0")}),t[2]=a):a=t[2];let l;t[3]===Symbol.for("react.memo_cache_sentinel")?(l=u("relative pointer-events-auto","w-[90vw] max-w-[1200px] h-[85vh] max-h-[900px]","rounded-xl border shadow-none overflow-hidden origin-center","bg-background","transition-all duration-150 ease-out","data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]","data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]","data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]"),t[3]=l):l=t[3];let e;t[4]!==f?(e=f("settings.window.description"),t[4]=f,t[5]=e):e=t[5];let m;t[6]!==r||t[7]!==e?(m=o.jsx(v,{id:r,className:"sr-only",children:e}),t[6]=r,t[7]=e,t[8]=m):m=t[8];let n;t[9]!==i?(n=o.jsx(w,{onClose:()=>i(!1),isWindowed:!0}),t[9]=i,t[10]=n):n=t[10];let s;t[11]!==r||t[12]!==m||t[13]!==n?(s=o.jsxs(D,{children:[a,o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center pointer-events-none",children:o.jsxs(S,{"aria-describedby":r,className:l,children:[m,n]})})]}),t[11]=r,t[12]=m,t[13]=n,t[14]=s):s=t[14];let d;return t[15]!==c||t[16]!==p||t[17]!==s?(d=o.jsx(R,{open:c,onOpenChange:p,children:s}),t[15]=c,t[16]=p,t[17]=s,t[18]=d):d=t[18],d};function _(){return typeof document>"u"?!1:!!document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]')}export{zo as SettingsWindow};
@@ -1 +1 @@
1
- import{R,r as y,f as J,j as F}from"./vendor-react-BUCujlKS.js";import{k3 as K,f as T,K as A,k5 as B,k6 as W,k7 as _,k8 as $}from"./useAppFontEffects-Bzyszv2N.js";import{h as M,dY as I,dZ as z,a as j}from"./index-CvLgnuNI.js";import{o as G,s as N}from"./vendor-zod-Gea9uBlY.js";const re=(t,e)=>!!t&&e!==null&&t!==e,ie=(t,e,s,a)=>s?t===null||a&&e===null?!0:e!==null&&t===e:!1,ae=(t,e)=>t==="branch"&&!e?"working":t,ue=(t,e,s,a,n,l)=>{const r=R.useRef({directory:"",attempts:0}),[i,f]=R.useState(()=>({directory:"",exhausted:!1})),d=R.useRef(n);d.current=n;const c=!!t&&i.directory===t&&i.exhausted;return R.useEffect(()=>{if(!t||!e||a||s)return;const o=r.current.directory===t?r.current.attempts:0;if(o>=l){i.directory===t&&i.exhausted||f({directory:t,exhausted:!0});return}r.current={directory:t,attempts:o+1},d.current()},[t,i,a,e,s,l]),c},oe=(t,e,s,a,n="")=>{const[l,r]=R.useState(()=>new Map),i=R.useRef(l);i.current=l;const f=R.useRef(new Map),d=R.useRef(null),c=R.useRef(s);c.current=s;const o=R.useCallback((h,g)=>{const u=new Map(i.current);if(g===null){if(!u.delete(h))return}else u.set(h,g);i.current=u,r(u)},[]);return R.useEffect(()=>{d.current=t,f.current.clear(),i.current=new Map,r(i.current)},[t]),R.useEffect(()=>{const h=c.current;if(!t||!h||!e)return;let g=!1;const u=new Set,S=f.current;for(const m of e.split("\0"))i.current.has(m)&&S.get(m)===n||(u.add(m),i.current.has(m)||o(m,a),h(m).then(k=>{g||(u.delete(m),S.set(m,n),o(m,k))}).catch(()=>{g||(u.delete(m),S.delete(m),o(m,null))}));return()=>{g=!0;for(const m of u)S.has(m)||o(m,null)}},[e,a,t,n,o]),d.current===t?l:new Map};function Y(t){if(!t.trim())return[];if(!t.startsWith("diff --git "))throw new Error("Invalid pull request diff");return t.split(/(?=^diff --git )/m).filter(Boolean).map(e=>{const s=K(e);if(!s)throw new Error("Invalid pull request file diff");return{path:s.name,previousPath:s.prevName,status:/^new file mode /m.test(e)?"A":/^deleted file mode /m.test(e)?"D":/^rename from /m.test(e)?"R":/^copy from /m.test(e)?"C":"M",insertions:s.hunks.reduce((a,n)=>a+n.additionLines,0),deletions:s.hunks.reduce((a,n)=>a+n.deletionLines,0),patch:e}})}async function L(t,e){const s=G({error:N()}).safeParse(await t.json().catch(()=>null));throw new Error(s.success?s.data.error:`${e} (${t.status})`)}async function Z(t,e){const s=await M("/api/walkthrough/pr-diff",{query:{directory:t,source:JSON.stringify(e)},signal:AbortSignal.timeout(3e4)});if(s.ok||await L(s,"Failed to load pull request diff"),!s.headers.get("content-type")?.includes("text/plain"))throw new Error("Pull request comparison is unavailable on this server");return Y(await s.text())}const H=G({original:N(),modified:N()});async function Q(t,e,s){const a=await M("/api/walkthrough/pr-file",{query:{directory:t,source:JSON.stringify(e),path:s.path,previousPath:s.previousPath??"",status:s.status},signal:AbortSignal.timeout(3e4)});a.ok||await L(a,"Failed to load pull request file");const n=H.safeParse(await a.json().catch(()=>null));if(!n.success)throw new Error("Pull request file contents are unavailable on this server");return n.data}class X{entries=new Map;load(e,s,a,n=!1){const l=JSON.stringify([e,s]),r=this.entries.get(l);if(r&&(!n||r.files===null))return r.pending;const i={scope:e,pending:a(),files:null,bytes:0};return i.pending=i.pending.then(f=>{if(this.entries.get(l)!==i)return f;i.files=f,i.bytes=f.reduce((c,o)=>c+2*(o.patch.length+o.path.length),0);let d=[...this.entries.values()].reduce((c,o)=>c+o.bytes,0);for(const[c,o]of this.entries){if(this.entries.size<=8&&d<=32*1024*1024)break;o===i||o.files===null||(d-=o.bytes,this.entries.delete(c))}return f}).catch(f=>{throw this.entries.get(l)===i&&this.entries.delete(l),f}),this.entries.delete(l),this.entries.set(l,i),i.pending}invalidate(e){for(const[s,a]of this.entries)a.scope===e&&this.entries.delete(s)}}function le(t,e,s=!0,a=""){const{t:n}=T(),l=A(p=>p.runtimeKey),r=t&&e?JSON.stringify([l,t,e]):null,i=I(t??"",l),f=y.useRef({key:r,source:e,enabled:s,pushScope:i});f.current={key:r,source:e,enabled:s,pushScope:i};const[d,c]=y.useState(null),o=y.useRef(0),[h]=y.useState(()=>new X),[g,u]=y.useState(0);y.useEffect(()=>z(p=>{h.invalidate(p),!(p!==f.current.pushScope||f.current.source?.kind!=="pr")&&(o.current+=1,u(E=>E+1))}),[h]);const S=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current;if(!s||!v||!r||E!==r||!t||!w)return;const x=++o.current,P=j();c(C=>C?.key===r&&C.status==="ready"?{...C,refreshing:!0}:{key:r,status:"loading"});try{const C=w.kind==="pr"?await h.load(i,w,()=>Z(t,w),p):w.kind==="branch"?(await B(t,{base:w.baseRef,head:w.headRef,includeWorkingTree:!0})).map(b=>({...b,insertions:0,deletions:0})):(await W(t,w.hash)).files.map(b=>({path:b.path,status:b.changeType,previousPath:b.previousPath,insertions:b.insertions,deletions:b.deletions}));if(o.current!==x||j()!==P)return;c(b=>b?.key===r&&b.status==="ready"&&b.files===C?{...b,refreshing:!1}:{key:r,status:"ready",files:C,revision:x,refreshing:!1})}catch(C){if(o.current!==x||j()!==P)return;c({key:r,status:"error",message:C instanceof Error?C.message:n("diffView.state.failedToLoadDiff")})}},[t,s,r,h,i,n]),m=y.useCallback(()=>S(!0),[S]);y.useEffect(()=>(S(!1),()=>{o.current+=1}),[S,a,g]);const k=d?.key===r?d:null,D=k?.status==="ready"?k.files:null,V=y.useMemo(()=>new Map((D??[]).map(p=>[p.path,p])),[D]),O=y.useCallback(async(p,E=3)=>{const{key:w,source:v,enabled:x}=f.current,P=V.get(p);if(!t||w!==r||!v||!P||!s||!x)throw new Error(n("diffView.state.failedToLoadDiff"));if(v.kind==="pr"){if(P.patch===void 0)throw new Error(n("diffView.state.failedToLoadDiff"));return{diff:P.patch}}return v.kind==="branch"?_(t,{base:v.baseRef,head:v.headRef,path:p,contextLines:E,includeWorkingTree:!0}):$(t,{hash:v.hash,path:p,previousPath:P.previousPath,contextLines:E})},[t,s,V,r,n]),U=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current,x=V.get(p);if(!t||E!==r||w?.kind!=="pr"||!x||!s||!v)throw new Error(n("diffView.state.failedToLoadDiff"));return Q(t,w,{path:x.path,previousPath:x.previousPath,status:x.status})},[t,s,V,r,n]);return{key:r,revision:k?.status==="ready"?k.revision:0,files:D,loading:!!(s&&r&&(!k||k.status==="loading"||k.status==="ready"&&k.refreshing)),error:k?.status==="error"?k.message:null,refresh:m,fetchDiff:O,fetchFullFile:U}}const q=t=>t.slice(0,7),fe=t=>{const e=J.c(32),{state:s,staged:a}=t,{t:n}=T(),l=a?s.headCommit:s.indexCommit,r=a?s.indexCommit:s.worktreeCommit;let i=null;if(s.hasConflict){let u;e[0]!==n?(u=n("diffView.submodule.conflict"),e[0]=n,e[1]=u):u=e[1],i=u}else if(l&&r){let u;e[2]!==l||e[3]!==n||e[4]!==r?(u=l===r?n("diffView.submodule.commitUnchanged",{commit:q(r)}):n("diffView.submodule.commitChanged",{from:q(l),to:q(r)}),e[2]=l,e[3]=n,e[4]=r,e[5]=u):u=e[5],i=u}else if(r){let u;e[6]!==n||e[7]!==r?(u=n("diffView.submodule.added",{commit:q(r)}),e[6]=n,e[7]=r,e[8]=u):u=e[8],i=u}else if(l){let u;e[9]!==l||e[10]!==a||e[11]!==n?(u=a?n("diffView.submodule.removed",{commit:q(l)}):n("diffView.submodule.notCheckedOut",{commit:q(l)}),e[9]=l,e[10]=a,e[11]=n,e[12]=u):u=e[12],i=u}let f;e[13]!==n?(f=n("diffView.submodule.title"),e[13]=n,e[14]=f):f=e[14];let d;e[15]!==f?(d=F.jsx("div",{className:"typography-ui-label font-semibold text-foreground",children:f}),e[15]=f,e[16]=d):d=e[16];let c;e[17]!==i?(c=i?F.jsx("div",{className:"typography-meta text-muted-foreground",children:i}):null,e[17]=i,e[18]=c):c=e[18];let o;e[19]!==a||e[20]!==s.hasTrackedChanges||e[21]!==n?(o=!a&&s.hasTrackedChanges?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.trackedChanges")}):null,e[19]=a,e[20]=s.hasTrackedChanges,e[21]=n,e[22]=o):o=e[22];let h;e[23]!==a||e[24]!==s.hasUntrackedFiles||e[25]!==n?(h=!a&&s.hasUntrackedFiles?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.untrackedFiles")}):null,e[23]=a,e[24]=s.hasUntrackedFiles,e[25]=n,e[26]=h):h=e[26];let g;return e[27]!==d||e[28]!==c||e[29]!==o||e[30]!==h?(g=F.jsxs("div",{className:"flex flex-col gap-1 rounded-lg border border-border/60 bg-background px-3 py-2",children:[d,c,o,h]}),e[27]=d,e[28]=c,e[29]=o,e[30]=h,e[31]=g):g=e[31],g};export{fe as S,oe as a,re as b,ue as c,ae as d,ie as i,le as u};
1
+ import{R,r as y,f as J,j as F}from"./vendor-react-BUCujlKS.js";import{ke as K,f as T,K as A,kg as B,kh as W,ki as _,kj as $}from"./useAppFontEffects-BN06mgHB.js";import{h as M,e5 as I,e6 as z,a as D}from"./index-Di6zUe5h.js";import{o as G,s as N}from"./vendor-zod-BSoePkpP.js";const re=(t,e)=>!!t&&e!==null&&t!==e,ie=(t,e,s,a)=>s?t===null||a&&e===null?!0:e!==null&&t===e:!1,ae=(t,e)=>t==="branch"&&!e?"working":t,ue=(t,e,s,a,n,l)=>{const r=R.useRef({directory:"",attempts:0}),[i,f]=R.useState(()=>({directory:"",exhausted:!1})),d=R.useRef(n);d.current=n;const c=!!t&&i.directory===t&&i.exhausted;return R.useEffect(()=>{if(!t||!e||a||s)return;const o=r.current.directory===t?r.current.attempts:0;if(o>=l){i.directory===t&&i.exhausted||f({directory:t,exhausted:!0});return}r.current={directory:t,attempts:o+1},d.current()},[t,i,a,e,s,l]),c},oe=(t,e,s,a,n="")=>{const[l,r]=R.useState(()=>new Map),i=R.useRef(l);i.current=l;const f=R.useRef(new Map),d=R.useRef(null),c=R.useRef(s);c.current=s;const o=R.useCallback((h,g)=>{const u=new Map(i.current);if(g===null){if(!u.delete(h))return}else u.set(h,g);i.current=u,r(u)},[]);return R.useEffect(()=>{d.current=t,f.current.clear(),i.current=new Map,r(i.current)},[t]),R.useEffect(()=>{const h=c.current;if(!t||!h||!e)return;let g=!1;const u=new Set,S=f.current;for(const m of e.split("\0"))i.current.has(m)&&S.get(m)===n||(u.add(m),i.current.has(m)||o(m,a),h(m).then(k=>{g||(u.delete(m),S.set(m,n),o(m,k))}).catch(()=>{g||(u.delete(m),S.delete(m),o(m,null))}));return()=>{g=!0;for(const m of u)S.has(m)||o(m,null)}},[e,a,t,n,o]),d.current===t?l:new Map};function H(t){if(!t.trim())return[];if(!t.startsWith("diff --git "))throw new Error("Invalid pull request diff");return t.split(/(?=^diff --git )/m).filter(Boolean).map(e=>{const s=K(e);if(!s)throw new Error("Invalid pull request file diff");return{path:s.name,previousPath:s.prevName,status:/^new file mode /m.test(e)?"A":/^deleted file mode /m.test(e)?"D":/^rename from /m.test(e)?"R":/^copy from /m.test(e)?"C":"M",insertions:s.hunks.reduce((a,n)=>a+n.additionLines,0),deletions:s.hunks.reduce((a,n)=>a+n.deletionLines,0),patch:e}})}async function L(t,e){const s=G({error:N()}).safeParse(await t.json().catch(()=>null));throw new Error(s.success?s.data.error:`${e} (${t.status})`)}async function Q(t,e){const s=await M("/api/walkthrough/pr-diff",{query:{directory:t,source:JSON.stringify(e)},signal:AbortSignal.timeout(3e4)});if(s.ok||await L(s,"Failed to load pull request diff"),!s.headers.get("content-type")?.includes("text/plain"))throw new Error("Pull request comparison is unavailable on this server");return H(await s.text())}const X=G({original:N(),modified:N()});async function Y(t,e,s){const a=await M("/api/walkthrough/pr-file",{query:{directory:t,source:JSON.stringify(e),path:s.path,previousPath:s.previousPath??"",status:s.status},signal:AbortSignal.timeout(3e4)});a.ok||await L(a,"Failed to load pull request file");const n=X.safeParse(await a.json().catch(()=>null));if(!n.success)throw new Error("Pull request file contents are unavailable on this server");return n.data}class Z{entries=new Map;load(e,s,a,n=!1){const l=JSON.stringify([e,s]),r=this.entries.get(l);if(r&&(!n||r.files===null))return r.pending;const i={scope:e,pending:a(),files:null,bytes:0};return i.pending=i.pending.then(f=>{if(this.entries.get(l)!==i)return f;i.files=f,i.bytes=f.reduce((c,o)=>c+2*(o.patch.length+o.path.length),0);let d=[...this.entries.values()].reduce((c,o)=>c+o.bytes,0);for(const[c,o]of this.entries){if(this.entries.size<=8&&d<=32*1024*1024)break;o===i||o.files===null||(d-=o.bytes,this.entries.delete(c))}return f}).catch(f=>{throw this.entries.get(l)===i&&this.entries.delete(l),f}),this.entries.delete(l),this.entries.set(l,i),i.pending}invalidate(e){for(const[s,a]of this.entries)a.scope===e&&this.entries.delete(s)}}function le(t,e,s=!0,a=""){const{t:n}=T(),l=A(p=>p.runtimeKey),r=t&&e?JSON.stringify([l,t,e]):null,i=I(t??"",l),f=y.useRef({key:r,source:e,enabled:s,pushScope:i});f.current={key:r,source:e,enabled:s,pushScope:i};const[d,c]=y.useState(null),o=y.useRef(0),[h]=y.useState(()=>new Z),[g,u]=y.useState(0);y.useEffect(()=>z(p=>{h.invalidate(p),!(p!==f.current.pushScope||f.current.source?.kind!=="pr")&&(o.current+=1,u(E=>E+1))}),[h]);const S=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current;if(!s||!v||!r||E!==r||!t||!w)return;const x=++o.current,P=D();c(C=>C?.key===r&&C.status==="ready"?{...C,refreshing:!0}:{key:r,status:"loading"});try{const C=w.kind==="pr"?await h.load(i,w,()=>Q(t,w),p):w.kind==="branch"?(await B(t,{base:w.baseRef,head:w.headRef,includeWorkingTree:!0})).map(b=>({...b,insertions:0,deletions:0})):(await W(t,w.hash)).files.map(b=>({path:b.path,status:b.changeType,previousPath:b.previousPath,insertions:b.insertions,deletions:b.deletions}));if(o.current!==x||D()!==P)return;c(b=>b?.key===r&&b.status==="ready"&&b.files===C?{...b,refreshing:!1}:{key:r,status:"ready",files:C,revision:x,refreshing:!1})}catch(C){if(o.current!==x||D()!==P)return;c({key:r,status:"error",message:C instanceof Error?C.message:n("diffView.state.failedToLoadDiff")})}},[t,s,r,h,i,n]),m=y.useCallback(()=>S(!0),[S]);y.useEffect(()=>(S(!1),()=>{o.current+=1}),[S,a,g]);const k=d?.key===r?d:null,j=k?.status==="ready"?k.files:null,V=y.useMemo(()=>new Map((j??[]).map(p=>[p.path,p])),[j]),O=y.useCallback(async(p,E=3)=>{const{key:w,source:v,enabled:x}=f.current,P=V.get(p);if(!t||w!==r||!v||!P||!s||!x)throw new Error(n("diffView.state.failedToLoadDiff"));if(v.kind==="pr"){if(P.patch===void 0)throw new Error(n("diffView.state.failedToLoadDiff"));return{diff:P.patch}}return v.kind==="branch"?_(t,{base:v.baseRef,head:v.headRef,path:p,contextLines:E,includeWorkingTree:!0}):$(t,{hash:v.hash,path:p,previousPath:P.previousPath,contextLines:E})},[t,s,V,r,n]),U=y.useCallback(async p=>{const{key:E,source:w,enabled:v}=f.current,x=V.get(p);if(!t||E!==r||w?.kind!=="pr"||!x||!s||!v)throw new Error(n("diffView.state.failedToLoadDiff"));return Y(t,w,{path:x.path,previousPath:x.previousPath,status:x.status})},[t,s,V,r,n]);return{key:r,revision:k?.status==="ready"?k.revision:0,files:j,loading:!!(s&&r&&(!k||k.status==="loading"||k.status==="ready"&&k.refreshing)),error:k?.status==="error"?k.message:null,refresh:m,fetchDiff:O,fetchFullFile:U}}const q=t=>t.slice(0,7),fe=t=>{const e=J.c(32),{state:s,staged:a}=t,{t:n}=T(),l=a?s.headCommit:s.indexCommit,r=a?s.indexCommit:s.worktreeCommit;let i=null;if(s.hasConflict){let u;e[0]!==n?(u=n("diffView.submodule.conflict"),e[0]=n,e[1]=u):u=e[1],i=u}else if(l&&r){let u;e[2]!==l||e[3]!==n||e[4]!==r?(u=l===r?n("diffView.submodule.commitUnchanged",{commit:q(r)}):n("diffView.submodule.commitChanged",{from:q(l),to:q(r)}),e[2]=l,e[3]=n,e[4]=r,e[5]=u):u=e[5],i=u}else if(r){let u;e[6]!==n||e[7]!==r?(u=n("diffView.submodule.added",{commit:q(r)}),e[6]=n,e[7]=r,e[8]=u):u=e[8],i=u}else if(l){let u;e[9]!==l||e[10]!==a||e[11]!==n?(u=a?n("diffView.submodule.removed",{commit:q(l)}):n("diffView.submodule.notCheckedOut",{commit:q(l)}),e[9]=l,e[10]=a,e[11]=n,e[12]=u):u=e[12],i=u}let f;e[13]!==n?(f=n("diffView.submodule.title"),e[13]=n,e[14]=f):f=e[14];let d;e[15]!==f?(d=F.jsx("div",{className:"typography-ui-label font-semibold text-foreground",children:f}),e[15]=f,e[16]=d):d=e[16];let c;e[17]!==i?(c=i?F.jsx("div",{className:"typography-meta text-muted-foreground",children:i}):null,e[17]=i,e[18]=c):c=e[18];let o;e[19]!==a||e[20]!==s.hasTrackedChanges||e[21]!==n?(o=!a&&s.hasTrackedChanges?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.trackedChanges")}):null,e[19]=a,e[20]=s.hasTrackedChanges,e[21]=n,e[22]=o):o=e[22];let h;e[23]!==a||e[24]!==s.hasUntrackedFiles||e[25]!==n?(h=!a&&s.hasUntrackedFiles?F.jsx("div",{className:"typography-meta text-muted-foreground",children:n("diffView.submodule.untrackedFiles")}):null,e[23]=a,e[24]=s.hasUntrackedFiles,e[25]=n,e[26]=h):h=e[26];let g;return e[27]!==d||e[28]!==c||e[29]!==o||e[30]!==h?(g=F.jsxs("div",{className:"flex flex-col gap-1 rounded-lg border border-border/60 bg-background px-3 py-2",children:[d,c,o,h]}),e[27]=d,e[28]=c,e[29]=o,e[30]=h,e[31]=g):g=e[31],g};export{fe as S,oe as a,re as b,ue as c,ae as d,ie as i,le as u};
@@ -1,15 +1,15 @@
1
- import{R as N,f as fe,j as i,c as We}from"./vendor-react-BUCujlKS.js";import{T as Xe,gR as et,kJ as tt,f as Pe,kK as ot,h as he,kL as it,I as je,kM as nt,kN as Ce,kO as De,cF as Me,kP as rt,ay as Ue,kQ as st,kR as at,kS as lt,cp as qe,kT as ct,kU as mt,eE as ut,eF as Oe,kV as dt,c3 as ft,c2 as pt}from"./useAppFontEffects-Bzyszv2N.js";import{F as Be,J as ht}from"./JsonTreeView-Cq_27v0y.js";import{P as gt}from"./PatchDiff-DOwlrIK9.js";import{cZ as Ne,h as xt}from"./index-CvLgnuNI.js";import{ensurePierreThemeRegistered as Ae}from"./appThemeRegistry-Br2TLSlb.js";import{u as wt}from"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zod-Gea9uBlY.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-base-ui-CsXYnR5c.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-6cEFPNUR.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./web-components-BEo4-ISu.js";import"./computeVirtualFileMetrics-_-20umCs.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-CZlLSacm.js";import"./isFilePlainText-C54B4Mns.js";import"./VirtualizedFileDiff-DONC4eI2.js";import"./isDiffPlainText-D77M6q1f.js";import"./vendor-diff-C3JhlQdm.js";import"./vendor-opencode-client-_BAHQo4R.js";import"./textMateThemeFromAppTheme-yNq7b0DZ.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";const yt=80,Fe=20,Ge=N.memo(o=>{const e=fe.c(26),{lines:t,language:a,maxHeight:c,showLineNumbers:r,lineStyles:l}=o,n=c===void 0?"60vh":c,s=r===void 0?!0:r,{currentTheme:f}=Xe();let u;e[0]!==f?(u=et(f),e[0]=f,e[1]=u):u=e[1];const w=u;let T;e[2]!==t?(T=t.map(bt).join(`
2
- `),e[2]=t,e[3]=T):T=e[3];const b=tt(T,a).lines;if(!(t.length>yt)){const v=w;let y;e[4]!==n||e[5]!==v?(y={...v,maxHeight:n,overflow:"auto"},e[4]=n,e[5]=v,e[6]=y):y=e[6];let g;if(e[7]!==b||e[8]!==l||e[9]!==t||e[10]!==s){let p;e[12]!==b||e[13]!==l||e[14]!==s?(p=(S,P)=>i.jsx(Ee,{line:S,html:b?.[P],showLineNumbers:s,style:l?.(S)},P),e[12]=b,e[13]=l,e[14]=s,e[15]=p):p=e[15],g=t.map(p),e[7]=b,e[8]=l,e[9]=t,e[10]=s,e[11]=g}else g=e[11];let d;return e[16]!==y||e[17]!==g?(d=i.jsx("div",{className:"oc-surface-code bg-[var(--syntax-background)] typography-code font-mono w-full min-w-0",style:y,children:g}),e[16]=y,e[17]=g,e[18]=d):d=e[18],d}let R;return e[19]!==b||e[20]!==l||e[21]!==t||e[22]!==n||e[23]!==s||e[24]!==w?(R=i.jsx(Je,{lines:t,highlighted:b,syntaxVars:w,maxHeight:n,showLineNumbers:s,lineStyles:l}),e[19]=b,e[20]=l,e[21]=t,e[22]=n,e[23]=s,e[24]=w,e[25]=R):R=e[25],R});Ge.displayName="VirtualizedCodeBlock";const Je=N.memo(({lines:o,highlighted:e,syntaxVars:t,maxHeight:a,showLineNumbers:c,lineStyles:r})=>{const l=N.useRef(null),n=`min(${o.length*Fe}px, ${a})`,s=wt({count:o.length,getScrollElement:()=>l.current,estimateSize:()=>Fe,overscan:20}),f=s.getVirtualItems();return i.jsx("div",{ref:l,className:"oc-surface-code bg-[var(--syntax-background)] typography-code font-mono w-full min-w-0",style:{...t,height:n,maxHeight:a,overflow:"auto"},children:i.jsx("div",{style:{height:s.getTotalSize(),position:"relative"},children:f.map(u=>{const w=o[u.index];return w?i.jsx("div",{"data-index":u.index,ref:s.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${u.start}px)`},children:i.jsx(Ee,{line:w,html:e?.[u.index],showLineNumbers:c,style:r?.(w)})},u.index):null})})})});Je.displayName="VirtualizedRows";const Ee=N.memo(o=>{const e=fe.c(12),{line:t,html:a,showLineNumbers:c,style:r}=o;let l;e[0]!==t.isInfo||e[1]!==t.lineNumber||e[2]!==c?(l=c&&i.jsx("span",{className:"w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5",style:{color:"var(--syntax-line-number)",borderColor:"var(--interactive-border)"},children:!t.isInfo&&t.lineNumber!=null?t.lineNumber:""}),e[0]=t.isInfo,e[1]=t.lineNumber,e[2]=c,e[3]=l):l=e[3];let n;e[4]!==a||e[5]!==t.isInfo||e[6]!==t.text?(n=i.jsx("div",{className:"flex-1 min-w-0",children:t.isInfo?i.jsx("div",{className:"whitespace-pre-wrap break-words text-muted-foreground/70 italic",children:t.text}):a!==void 0?i.jsx("div",{className:"whitespace-pre",dangerouslySetInnerHTML:{__html:a}}):i.jsx("div",{className:"whitespace-pre",children:t.text})}),e[4]=a,e[5]=t.isInfo,e[6]=t.text,e[7]=n):n=e[7];let s;return e[8]!==r||e[9]!==l||e[10]!==n?(s=i.jsxs("div",{className:"typography-code font-mono flex w-full min-w-0",style:r,children:[l,n]}),e[8]=r,e[9]=l,e[10]=n,e[11]=s):s=e[11],s});Ee.displayName="VirtualizedCodeBlock.Row";function bt(o){return o.text}class Le extends Error{key;params;constructor(e,t){super(e),this.name="MermaidLoadFailure",this.key=e,this.params=t}}const vt=(o,e)=>new Le(o,e),jt=o=>o instanceof Le,Nt=o=>o+1,ze=(o,e)=>o===e,St=o=>{const e=o.indexOf(",");if(e<0)throw vt("chat.toolOutputDialog.mermaid.dataUrlMalformed");const t=o.slice(0,e).toLowerCase(),a=o.slice(e+1);return t.includes(";base64")?atob(a):decodeURIComponent(a)},Tt=o=>Promise.resolve().then(()=>St(o)),Re=(o,e)=>new Le(o,e),Ve=150,kt=40,Rt=120,It=3,_e={style:{background:"transparent",backgroundColor:"transparent",fontSize:"inherit"}},Dt={download:!1,copy:!1,showPanZoomControls:!0},Mt=`
1
+ import{R as N,f as fe,j as i,c as We}from"./vendor-react-BUCujlKS.js";import{T as Qe,gV as et,kV as tt,f as Pe,kW as ot,h as he,kX as it,I as je,kY as nt,kZ as Le,k_ as De,cF as Me,k$ as rt,ay as Ue,l0 as st,l1 as at,l2 as lt,cp as qe,l3 as ct,l4 as mt,eH as dt,eI as Oe,l5 as ut,c3 as ft,c2 as pt}from"./useAppFontEffects-BN06mgHB.js";import{F as Be,J as ht}from"./JsonTreeView-C3QZifYe.js";import{P as gt}from"./PatchDiff-D6pWS7cD.js";import{d1 as Ne,h as xt}from"./index-Di6zUe5h.js";import{ensurePierreThemeRegistered as Ae}from"./appThemeRegistry-BoJGAwCP.js";import{u as wt}from"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zod-BSoePkpP.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-base-ui-CsXYnR5c.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-C2qMZiA7.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./web-components-BQWjCn_U.js";import"./computeVirtualFileMetrics-kYyVjXLu.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-CZlLSacm.js";import"./isFilePlainText-D5GMgURH.js";import"./VirtualizedFileDiff-BUK1ujXg.js";import"./isDiffPlainText-Bgm_aLpu.js";import"./vendor-diff-C3JhlQdm.js";import"./vendor-opencode-client-DSZl7jSi.js";import"./textMateThemeFromAppTheme-XM4VefqN.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";const yt=80,Fe=20,Ge=N.memo(o=>{const e=fe.c(26),{lines:t,language:a,maxHeight:c,showLineNumbers:r,lineStyles:l}=o,n=c===void 0?"60vh":c,s=r===void 0?!0:r,{currentTheme:f}=Qe();let d;e[0]!==f?(d=et(f),e[0]=f,e[1]=d):d=e[1];const w=d;let T;e[2]!==t?(T=t.map(bt).join(`
2
+ `),e[2]=t,e[3]=T):T=e[3];const b=tt(T,a).lines;if(!(t.length>yt)){const v=w;let y;e[4]!==n||e[5]!==v?(y={...v,maxHeight:n,overflow:"auto"},e[4]=n,e[5]=v,e[6]=y):y=e[6];let g;if(e[7]!==b||e[8]!==l||e[9]!==t||e[10]!==s){let p;e[12]!==b||e[13]!==l||e[14]!==s?(p=(S,P)=>i.jsx(Ee,{line:S,html:b?.[P],showLineNumbers:s,style:l?.(S)},P),e[12]=b,e[13]=l,e[14]=s,e[15]=p):p=e[15],g=t.map(p),e[7]=b,e[8]=l,e[9]=t,e[10]=s,e[11]=g}else g=e[11];let u;return e[16]!==y||e[17]!==g?(u=i.jsx("div",{className:"oc-surface-code bg-[var(--syntax-background)] typography-code font-mono w-full min-w-0",style:y,children:g}),e[16]=y,e[17]=g,e[18]=u):u=e[18],u}let R;return e[19]!==b||e[20]!==l||e[21]!==t||e[22]!==n||e[23]!==s||e[24]!==w?(R=i.jsx(Je,{lines:t,highlighted:b,syntaxVars:w,maxHeight:n,showLineNumbers:s,lineStyles:l}),e[19]=b,e[20]=l,e[21]=t,e[22]=n,e[23]=s,e[24]=w,e[25]=R):R=e[25],R});Ge.displayName="VirtualizedCodeBlock";const Je=N.memo(({lines:o,highlighted:e,syntaxVars:t,maxHeight:a,showLineNumbers:c,lineStyles:r})=>{const l=N.useRef(null),n=`min(${o.length*Fe}px, ${a})`,s=wt({count:o.length,getScrollElement:()=>l.current,estimateSize:()=>Fe,overscan:20}),f=s.getVirtualItems();return i.jsx("div",{ref:l,className:"oc-surface-code bg-[var(--syntax-background)] typography-code font-mono w-full min-w-0",style:{...t,height:n,maxHeight:a,overflow:"auto"},children:i.jsx("div",{style:{height:s.getTotalSize(),position:"relative"},children:f.map(d=>{const w=o[d.index];return w?i.jsx("div",{"data-index":d.index,ref:s.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${d.start}px)`},children:i.jsx(Ee,{line:w,html:e?.[d.index],showLineNumbers:c,style:r?.(w)})},d.index):null})})})});Je.displayName="VirtualizedRows";const Ee=N.memo(o=>{const e=fe.c(12),{line:t,html:a,showLineNumbers:c,style:r}=o;let l;e[0]!==t.isInfo||e[1]!==t.lineNumber||e[2]!==c?(l=c&&i.jsx("span",{className:"w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5",style:{color:"var(--syntax-line-number)",borderColor:"var(--interactive-border)"},children:!t.isInfo&&t.lineNumber!=null?t.lineNumber:""}),e[0]=t.isInfo,e[1]=t.lineNumber,e[2]=c,e[3]=l):l=e[3];let n;e[4]!==a||e[5]!==t.isInfo||e[6]!==t.text?(n=i.jsx("div",{className:"flex-1 min-w-0",children:t.isInfo?i.jsx("div",{className:"whitespace-pre-wrap break-words text-muted-foreground/70 italic",children:t.text}):a!==void 0?i.jsx("div",{className:"whitespace-pre",dangerouslySetInnerHTML:{__html:a}}):i.jsx("div",{className:"whitespace-pre",children:t.text})}),e[4]=a,e[5]=t.isInfo,e[6]=t.text,e[7]=n):n=e[7];let s;return e[8]!==r||e[9]!==l||e[10]!==n?(s=i.jsxs("div",{className:"typography-code font-mono flex w-full min-w-0",style:r,children:[l,n]}),e[8]=r,e[9]=l,e[10]=n,e[11]=s):s=e[11],s});Ee.displayName="VirtualizedCodeBlock.Row";function bt(o){return o.text}class Ce extends Error{key;params;constructor(e,t){super(e),this.name="MermaidLoadFailure",this.key=e,this.params=t}}const vt=(o,e)=>new Ce(o,e),jt=o=>o instanceof Ce,Nt=o=>o+1,ze=(o,e)=>o===e,St=o=>{const e=o.indexOf(",");if(e<0)throw vt("chat.toolOutputDialog.mermaid.dataUrlMalformed");const t=o.slice(0,e).toLowerCase(),a=o.slice(e+1);return t.includes(";base64")?atob(a):decodeURIComponent(a)},Tt=o=>Promise.resolve().then(()=>St(o)),Re=(o,e)=>new Ce(o,e),Ve=150,kt=40,Rt=120,It=3,_e={style:{background:"transparent",backgroundColor:"transparent",fontSize:"inherit"}},Dt={download:!1,copy:!1,showPanZoomControls:!0},Mt=`
3
3
  [data-diff-header],
4
4
  [data-diff] {
5
5
  [data-separator] {
6
6
  height: 24px !important;
7
7
  }
8
8
  }
9
- `,_t={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},Pt=()=>{const o=fe.c(22),e=ut();let t;o[0]===Symbol.for("react.memo_cache_sentinel")?(t=Oe(!1),o[0]=t):t=o[0];const a=t;let c;o[1]===Symbol.for("react.memo_cache_sentinel")?(c=Oe(!0),o[1]=c):c=o[1];const r=c;let l;o[2]!==e?.availableThemes?(l=()=>e?.availableThemes??[a,r],o[2]=e?.availableThemes,o[3]=l):l=o[3],e?.availableThemes;let n;o[4]!==l?(n=l(),o[4]=l,o[5]=n):n=o[5];const s=n,f=e?.lightThemeId??a.metadata.id,u=e?.darkThemeId??r.metadata.id;let w;o[6]!==s||o[7]!==f?(w=s.find(d=>d.metadata.id===f)??a,o[6]=s,o[7]=f,o[8]=w):w=o[8];const T=w;let E;o[9]!==s||o[10]!==u?(E=s.find(d=>d.metadata.id===u)??r,o[9]=s,o[10]=u,o[11]=E):E=o[11];const D=E;let b,I;o[12]!==D||o[13]!==T?(b=()=>{Ae(T),Ae(D)},I=[D,T],o[12]=D,o[13]=T,o[14]=b,o[15]=I):(b=o[14],I=o[15]),N.useEffect(b,I);const R=e?.currentTheme.metadata.variant??"light";let v;o[16]!==D.metadata.id||o[17]!==T.metadata.id?(v={light:T.metadata.id,dark:D.metadata.id},o[16]=D.metadata.id,o[17]=T.metadata.id,o[18]=v):v=o[18];const y=R==="dark"?"dark":"light";let g;return o[19]!==v||o[20]!==y?(g={theme:v,themeType:y},o[19]=v,o[20]=y,o[21]=g):g=o[21],g},He=()=>({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}),$e={mobile:{widthRatio:.94,heightRatio:.86,padding:10},desktop:{widthRatio:.8,heightRatio:.8,padding:16}},Et=(o,e)=>{const t=e?$e.mobile:$e.desktop,a=Math.max(160,o.width-t.padding*2),c=Math.max(160,o.height-t.padding*2);return{maxWidth:Math.max(160,Math.min(a,o.width*t.widthRatio)),maxHeight:Math.max(160,Math.min(c,o.height*t.heightRatio))}},Lt=o=>{try{const r=Array.from(o.querySelectorAll("g"));let l=0,n=null;for(const s of r){if(!(s instanceof SVGGraphicsElement))continue;const f=s.getBBox();if(!(f.width>0&&f.height>0))continue;const u=f.width*f.height;u>l&&(l=u,n=f.width/f.height)}if(n&&Number.isFinite(n)&&n>0)return n}catch{}const e=o.getAttribute("viewBox");if(e){const r=e.trim().split(/\s+/).map(Number);if(r.length===4){const l=r[2],n=r[3];if(Number.isFinite(l)&&Number.isFinite(n)&&l>0&&n>0)return l/n}}const t=Number(o.getAttribute("width")),a=Number(o.getAttribute("height"));if(Number.isFinite(t)&&Number.isFinite(a)&&t>0&&a>0)return t/a;const c=o.getBoundingClientRect();return c.width>0&&c.height>0?c.width/c.height:null},Ze=o=>{const e=fe.c(7),[t,a]=N.useState(o),[c,r]=N.useState(o),[l,n]=N.useState(!1);let s,f;e[0]!==o?(s=()=>{if(o){if(a(!0),n(!0),typeof window>"u"){r(!0);return}const T=window.requestAnimationFrame(()=>{r(!0)}),E=window.setTimeout(()=>{n(!1)},Ve);return()=>{window.cancelAnimationFrame(T),window.clearTimeout(E)}}if(r(!1),n(!0),typeof window>"u"){a(!1);return}const w=window.setTimeout(()=>{a(!1),n(!1)},Ve);return()=>{window.clearTimeout(w)}},f=[o],e[0]=o,e[1]=s,e[2]=f):(s=e[1],f=e[2]),N.useEffect(s,f);let u;return e[3]!==t||e[4]!==l||e[5]!==c?(u={isRendered:t,isVisible:c,isTransitioning:l},e[3]=t,e[4]=l,e[5]=c,e[6]=u):u=e[6],u},Ke=o=>{const e=fe.c(3),[t,a]=N.useState(He);let c,r;return e[0]!==o?(c=()=>{if(!o||typeof window>"u")return;const l=()=>{a(He())};return l(),window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},r=[o],e[0]=o,e[1]=c,e[2]=r):(c=e[1],r=e[2]),N.useEffect(c,r),t},Ct=o=>{const e=fe.c(103),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe();let l;e:{const m=t.image;if(!m){let k;e[0]===Symbol.for("react.memo_cache_sentinel")?(k=[],e[0]=k):k=e[0],l=k;break e}let h;e[1]!==m.gallery?(h=Array.isArray(m.gallery)?m.gallery.filter(At):[],e[1]=m.gallery,e[2]=h):h=e[2];const _=h;if(_.length>0){l=_;break e}let L;e[3]!==m.filename||e[4]!==m.mimeType||e[5]!==m.size||e[6]!==m.url?(L=[{url:m.url,mimeType:m.mimeType,filename:m.filename,size:m.size}],e[3]=m.filename,e[4]=m.mimeType,e[5]=m.size,e[6]=m.url,e[7]=L):L=e[7],l=L}const n=l,[s,f]=N.useState(0),[u,w]=N.useState(null),{isRendered:T,isVisible:E,isTransitioning:D}=Ze(t.open),b=Ke(t.open);let I;e[8]!==n||e[9]!==t.image||e[10]!==t.open?(I=()=>{if(!t.open||n.length===0)return;const m=typeof t.image?.index=="number"?t.image.index:-1;if(m>=0&&m<n.length){f(m);return}const h=t.image?.url?n.findIndex(_=>_.url===t.image?.url):-1;f(h>=0?h:0)},e[8]=n,e[9]=t.image,e[10]=t.open,e[11]=I):I=e[11];const R=t.image?.index,v=t.image?.url;let y;e[12]!==n||e[13]!==t.open||e[14]!==R||e[15]!==v?(y=[n,R,v,t.open],e[12]=n,e[13]=t.open,e[14]=R,e[15]=v,e[16]=y):y=e[16],N.useEffect(I,y);const g=n[s]??n[0]??t.image,d=g?.filename||t.title||"Image preview",p=n.length>1;let S;e[17]!==n.length?(S=()=>{n.length<=1||f(m=>(m-1+n.length)%n.length)},e[17]=n.length,e[18]=S):S=e[18];const P=S;let A;e[19]!==n.length?(A=()=>{n.length<=1||f(m=>(m+1)%n.length)},e[19]=n.length,e[20]=A):A=e[20];const C=A;let x,F;e[21]!==p||e[22]!==a||e[23]!==t.open||e[24]!==C||e[25]!==P?(x=()=>{if(!t.open)return;const m=h=>{if(h.key==="Escape"){a(!1);return}if(h.key==="ArrowLeft"&&p){h.preventDefault(),P();return}h.key==="ArrowRight"&&p&&(h.preventDefault(),C())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},F=[p,a,t.open,C,P],e[21]=p,e[22]=a,e[23]=t.open,e[24]=C,e[25]=P,e[26]=x,e[27]=F):(x=e[26],F=e[27]),N.useEffect(x,F);let Q;e[28]===Symbol.for("react.memo_cache_sentinel")?(Q=()=>{w(null)},e[28]=Q):Q=e[28];const M=g?.url;let ie;e[29]!==M?(ie=[M],e[29]=M,e[30]=ie):ie=e[30],N.useEffect(Q,ie);let pe;e:{const m=Math.max(160,b.width*(c?.86:.75)),h=Math.max(160,b.height*(c?.72:.75));if(!u){let be;e[31]!==m?(be=Math.round(m),e[31]=m,e[32]=be):be=e[32];let ve;e[33]!==h?(ve=Math.round(h),e[33]=h,e[34]=ve):ve=e[34];let ke;e[35]!==be||e[36]!==ve?(ke={width:be,height:ve},e[35]=be,e[36]=ve,e[37]=ke):ke=e[37],pe=ke;break e}const _=m/u.width,L=h/u.height,k=Math.min(_,L);let O;e[38]!==u.width||e[39]!==k?(O=Math.round(u.width*k),e[38]=u.width,e[39]=k,e[40]=O):O=e[40];const Y=Math.max(1,O);let Se;e[41]!==u.height||e[42]!==k?(Se=Math.round(u.height*k),e[41]=u.height,e[42]=k,e[43]=Se):Se=e[43];const Ie=Math.max(1,Se);let Te;e[44]!==Y||e[45]!==Ie?(Te={width:Y,height:Ie},e[44]=Y,e[45]=Ie,e[46]=Te):Te=e[46],pe=Te}const z=pe;if(!T||!g||typeof document>"u")return null;const xe=t.open?"pointer-events-auto":"pointer-events-none";let ne;e[47]!==xe?(ne=he("fixed inset-0 z-50",xe),e[47]=xe,e[48]=ne):ne=e[48];const re=D&&"transition-opacity duration-150 ease-out",ge=E?"opacity-100":"opacity-0";let H;e[49]!==re||e[50]!==ge?(H=he("oc-glass-backdrop absolute inset-0 bg-surface-overlay/60",re,ge),e[49]=re,e[50]=ge,e[51]=H):H=e[51];let $;e[52]!==a?($=()=>a(!1),e[52]=a,e[53]=$):$=e[53];let se;e[54]!==H||e[55]!==$?(se=i.jsx("div",{"aria-hidden":"true",className:H,onMouseDown:$}),e[54]=H,e[55]=$,e[56]=se):se=e[56];let W;e[57]!==p||e[58]!==C||e[59]!==P||e[60]!==r?(W=p&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onMouseDown:Ft,onClick:P,className:"absolute left-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-surface-elevated/90 text-surface-elevated-foreground hover:bg-surface-elevated focus:outline-none focus:ring-2 focus:ring-ring","aria-label":r("chat.toolOutputDialog.image.previousAria"),children:i.jsx(je,{name:"arrow-left-s",className:"h-6 w-6"})}),i.jsx("button",{type:"button",onMouseDown:zt,onClick:C,className:"absolute right-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-surface-elevated/90 text-surface-elevated-foreground hover:bg-surface-elevated focus:outline-none focus:ring-2 focus:ring-ring","aria-label":r("chat.toolOutputDialog.image.nextAria"),children:i.jsx(je,{name:"arrow-right-s",className:"h-6 w-6"})})]}),e[57]=p,e[58]=C,e[59]=P,e[60]=r,e[61]=W):W=e[61];const we=c?"p-2.5":"p-4";let ae;e[62]!==we?(ae=he("absolute inset-0 flex items-center justify-center pointer-events-none",we),e[62]=we,e[63]=ae):ae=e[63];const le=D&&"transition-opacity duration-150 ease-out",ye=E?"opacity-100":"opacity-0";let U;e[64]!==le||e[65]!==ye?(U=he("pointer-events-auto flex flex-col gap-2",le,ye),e[64]=le,e[65]=ye,e[66]=U):U=e[66];const ce=`${z.width}px`;let q;e[67]!==ce?(q={width:ce},e[67]=ce,e[68]=q):q=e[68];let X;e[69]!==d?(X=i.jsx("div",{className:"min-w-0 flex-1 text-foreground typography-ui-header font-semibold truncate",title:d,children:d}),e[69]=d,e[70]=X):X=e[70];let B;e[71]!==a?(B=()=>a(!1),e[71]=a,e[72]=B):B=e[72];let me;e[73]!==r?(me=r("chat.toolOutputDialog.image.closeAria"),e[73]=r,e[74]=me):me=e[74];let ee;e[75]===Symbol.for("react.memo_cache_sentinel")?(ee=i.jsx(je,{name:"close",className:"h-4 w-4"}),e[75]=ee):ee=e[75];let G;e[76]!==B||e[77]!==me?(G=i.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-ring",onClick:B,"aria-label":me,children:ee}),e[76]=B,e[77]=me,e[78]=G):G=e[78];let J;e[79]!==X||e[80]!==G?(J=i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[X,G]}),e[79]=X,e[80]=G,e[81]=J):J=e[81];const ue=`${z.width}px`,de=`${z.height}px`;let Z;e[82]!==ue||e[83]!==de?(Z={width:ue,height:de},e[82]=ue,e[83]=de,e[84]=Z):Z=e[84];let te;e[85]===Symbol.for("react.memo_cache_sentinel")?(te=m=>{const h=m.currentTarget,_=h.naturalWidth,L=h.naturalHeight;_>0&&L>0&&w(k=>k&&k.width===_&&k.height===L?k:{width:_,height:L})},e[85]=te):te=e[85];let K;e[86]!==g.url||e[87]!==d||e[88]!==Z?(K=i.jsx("img",{src:g.url,alt:d,className:"block object-contain",style:Z,loading:"lazy",onLoad:te}),e[86]=g.url,e[87]=d,e[88]=Z,e[89]=K):K=e[89];let oe;e[90]!==U||e[91]!==q||e[92]!==J||e[93]!==K?(oe=i.jsxs("div",{className:U,style:q,children:[J,K]}),e[90]=U,e[91]=q,e[92]=J,e[93]=K,e[94]=oe):oe=e[94];let j;e[95]!==ae||e[96]!==oe?(j=i.jsx("div",{className:ae,children:oe}),e[95]=ae,e[96]=oe,e[97]=j):j=e[97];let V;if(e[98]!==ne||e[99]!==se||e[100]!==W||e[101]!==j){const m=i.jsxs("div",{className:ne,children:[se,W,j]});V=We.createPortal(m,document.body),e[98]=ne,e[99]=se,e[100]=W,e[101]=j,e[102]=V}else V=e[102];return V},Ye=N.memo(o=>{const e=fe.c(7),{popup:t,diffViewMode:a,pierreThemeConfig:c}=o,r=t.content||"",l=a==="unified"?"unified":"split";let n;e[0]!==c.theme||e[1]!==c.themeType||e[2]!==l?(n={diffStyle:l,diffIndicators:"none",hunkSeparators:"line-info-basic",lineDiffType:"none",disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:"wrap",theme:c.theme,themeType:c.themeType,unsafeCSS:Mt},e[0]=c.theme,e[1]=c.themeType,e[2]=l,e[3]=n):n=e[3];let s;return e[4]!==r||e[5]!==n?(s=i.jsx("div",{className:"typography-code",children:i.jsx(gt,{patch:r,metrics:_t,options:n,className:"block w-full"})}),e[4]=r,e[5]=n,e[6]=s):s=e[6],s});Ye.displayName="DialogUnifiedDiff";const Qe=N.memo(o=>{const e=fe.c(29),{popup:t,pierreThemeConfig:a}=o;let c;e[0]!==t.content?(c=dt(t.content),e[0]=t.content,e[1]=c):c=e[1];const r=c,l=t.metadata?.input;let n;e[2]!==l?(n=typeof l=="object"&&l!==null?l:{},e[2]=l,e[3]=n):n=e[3];const s=n,f=typeof s.offset=="number"?s.offset:0,u=typeof s.file_path=="string"?s.file_path:typeof s.filePath=="string"?s.filePath:typeof s.path=="string"?s.path:"read-output";let w;e[4]!==r.lines?(w=r.lines.map(Vt).join(`
10
- `),e[4]=r.lines,e[5]=w):w=e[5];const T=w;let E;e[6]!==u||e[7]!==t.language?(E=t.language||Ue(u)||"text",e[6]=u,e[7]=t.language,e[8]=E):E=e[8];const D=E;let b;e[9]!==r.lines?(b=r.lines.some(Ht),e[9]=r.lines,e[10]=b):b=e[10];const I=b;let R;if(e[11]!==I||e[12]!==f||e[13]!==r.lines||e[14]!==r.type){R=[];let g=f;for(const d of r.lines){d.lineNumber!==null&&(g=d.lineNumber);const p=r.type==="file"&&!I&&d.lineNumber===null&&!d.isInfo,S=d.lineNumber??(p?g+1:null);typeof S=="number"&&(g=S),R.push({text:d.text,lineNumber:S,isInfo:d.isInfo})}e[11]=I,e[12]=f,e[13]=r.lines,e[14]=r.type,e[15]=R}else R=e[15];const v=R;if(r.type==="file"){const g=D||void 0;let d;e[16]!==T||e[17]!==u||e[18]!==g?(d={name:u,contents:T,lang:g},e[16]=T,e[17]=u,e[18]=g,e[19]=d):d=e[19];let p;e[20]!==a.theme||e[21]!==a.themeType?(p={disableFileHeader:!0,overflow:"wrap",theme:a.theme,themeType:a.themeType},e[20]=a.theme,e[21]=a.themeType,e[22]=p):p=e[22];let S;return e[23]!==d||e[24]!==p?(S=i.jsx(Be,{file:d,options:p,className:"block w-full"}),e[23]=d,e[24]=p,e[25]=S):S=e[25],S}let y;return e[26]!==v||e[27]!==D?(y=i.jsx(Ge,{lines:v,language:D,maxHeight:"70vh"}),e[26]=v,e[27]=D,e[28]=y):y=e[28],y});Qe.displayName="DialogReadContent";const Ot=o=>{const e=fe.c(90),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe(),[l,n]=N.useState(t.mermaid?.source||""),[s,f]=N.useState(t.mermaid?.source?"ready":"idle"),[u,w]=N.useState(""),{isRendered:T,isVisible:E,isTransitioning:D}=Ze(t.open),[b,I]=N.useState(null),R=Ke(t.open),v=N.useRef(0),y=N.useRef(null),g=qt;let d;e[0]!==t.mermaid||e[1]!==r?(d=async()=>{const j=t.mermaid,V=Nt(v.current);if(v.current=V,!j?.url){f("error"),w(r("chat.toolOutputDialog.mermaid.missingSource"));return}if(j.source){n(j.source),f("ready"),w("");return}f("loading"),w("");let m;if(j.url.startsWith("data:"))m=Tt(j.url);else if(j.url.toLowerCase().startsWith("file://")){const h=g(j.url);h?m=xt("/api/fs/raw",{query:{path:h}}).then(Bt):m=Promise.reject(Re("chat.toolOutputDialog.mermaid.invalidLocalPath"))}else{const _=(typeof URL.canParse=="function"?URL.canParse(j.url,window.location.origin):!1)?new URL(j.url,window.location.origin):null;!_||_.protocol!=="http:"&&_.protocol!=="https:"?m=Promise.reject(Re("chat.toolOutputDialog.mermaid.unsupportedUrlProtocol")):m=fetch(_.toString()).then(Gt)}await m.then(h=>{ze(v.current,V)&&(n(h),f("ready"))}).catch(h=>{ze(v.current,V)&&(f("error"),w(jt(h)?r(h.key,h.params):r("chat.toolOutputDialog.mermaid.loadFailed")))})},e[0]=t.mermaid,e[1]=r,e[2]=d):d=e[2];const p=d;let S,P;e[3]!==p||e[4]!==t.mermaid||e[5]!==t.open?(S=()=>{!t.open||!t.mermaid||p()},P=[p,t.mermaid,t.open],e[3]=p,e[4]=t.mermaid,e[5]=t.open,e[6]=S,e[7]=P):(S=e[6],P=e[7]),N.useEffect(S,P);let A,C;e[8]!==a||e[9]!==t.open?(A=()=>{if(!t.open)return;const j=V=>{V.key==="Escape"&&a(!1)};return window.addEventListener("keydown",j),()=>{window.removeEventListener("keydown",j)}},C=[a,t.open],e[8]=a,e[9]=t.open,e[10]=A,e[11]=C):(A=e[10],C=e[11]),N.useEffect(A,C);let x;e[12]!==t.open||e[13]!==s?(x=()=>{if(!t.open||s!=="ready"){I(null);return}const j=()=>{const k=y.current?.querySelector("svg");if(!k)return!1;const O=Lt(k);return!O||!Number.isFinite(O)||O<=0?!1:(I(Y=>Y&&Math.abs(Y-O)<.001?Y:O),!0)};let V=window.requestAnimationFrame(()=>{j()||(V=window.requestAnimationFrame(()=>{j()}))}),m=0,h;const _=()=>{m>=It||(h=window.setTimeout(()=>{m=m+1,j()||_()},Rt))};_();const L=new MutationObserver(()=>{j()});return y.current&&L.observe(y.current,{childList:!0,subtree:!0,attributes:!0}),()=>{window.cancelAnimationFrame(V),typeof h=="number"&&window.clearTimeout(h),L.disconnect()}},e[12]=t.open,e[13]=s,e[14]=x):x=e[14];let F;e[15]!==t.open||e[16]!==l||e[17]!==s?(F=[t.open,l,s],e[15]=t.open,e[16]=l,e[17]=s,e[18]=F):F=e[18],N.useEffect(x,F);const Q=`\`\`\`mermaid
9
+ `,_t={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},Pt=()=>{const o=fe.c(22),e=dt();let t;o[0]===Symbol.for("react.memo_cache_sentinel")?(t=Oe(!1),o[0]=t):t=o[0];const a=t;let c;o[1]===Symbol.for("react.memo_cache_sentinel")?(c=Oe(!0),o[1]=c):c=o[1];const r=c;let l;o[2]!==e?.availableThemes?(l=()=>e?.availableThemes??[a,r],o[2]=e?.availableThemes,o[3]=l):l=o[3],e?.availableThemes;let n;o[4]!==l?(n=l(),o[4]=l,o[5]=n):n=o[5];const s=n,f=e?.lightThemeId??a.metadata.id,d=e?.darkThemeId??r.metadata.id;let w;o[6]!==s||o[7]!==f?(w=s.find(u=>u.metadata.id===f)??a,o[6]=s,o[7]=f,o[8]=w):w=o[8];const T=w;let E;o[9]!==s||o[10]!==d?(E=s.find(u=>u.metadata.id===d)??r,o[9]=s,o[10]=d,o[11]=E):E=o[11];const D=E;let b,I;o[12]!==D||o[13]!==T?(b=()=>{Ae(T),Ae(D)},I=[D,T],o[12]=D,o[13]=T,o[14]=b,o[15]=I):(b=o[14],I=o[15]),N.useEffect(b,I);const R=e?.currentTheme.metadata.variant??"light";let v;o[16]!==D.metadata.id||o[17]!==T.metadata.id?(v={light:T.metadata.id,dark:D.metadata.id},o[16]=D.metadata.id,o[17]=T.metadata.id,o[18]=v):v=o[18];const y=R==="dark"?"dark":"light";let g;return o[19]!==v||o[20]!==y?(g={theme:v,themeType:y},o[19]=v,o[20]=y,o[21]=g):g=o[21],g},He=()=>({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}),$e={mobile:{widthRatio:.94,heightRatio:.86,padding:10},desktop:{widthRatio:.8,heightRatio:.8,padding:16}},Et=(o,e)=>{const t=e?$e.mobile:$e.desktop,a=Math.max(160,o.width-t.padding*2),c=Math.max(160,o.height-t.padding*2);return{maxWidth:Math.max(160,Math.min(a,o.width*t.widthRatio)),maxHeight:Math.max(160,Math.min(c,o.height*t.heightRatio))}},Ct=o=>{try{const r=Array.from(o.querySelectorAll("g"));let l=0,n=null;for(const s of r){if(!(s instanceof SVGGraphicsElement))continue;const f=s.getBBox();if(!(f.width>0&&f.height>0))continue;const d=f.width*f.height;d>l&&(l=d,n=f.width/f.height)}if(n&&Number.isFinite(n)&&n>0)return n}catch{}const e=o.getAttribute("viewBox");if(e){const r=e.trim().split(/\s+/).map(Number);if(r.length===4){const l=r[2],n=r[3];if(Number.isFinite(l)&&Number.isFinite(n)&&l>0&&n>0)return l/n}}const t=Number(o.getAttribute("width")),a=Number(o.getAttribute("height"));if(Number.isFinite(t)&&Number.isFinite(a)&&t>0&&a>0)return t/a;const c=o.getBoundingClientRect();return c.width>0&&c.height>0?c.width/c.height:null},Ze=o=>{const e=fe.c(7),[t,a]=N.useState(o),[c,r]=N.useState(o),[l,n]=N.useState(!1);let s,f;e[0]!==o?(s=()=>{if(o){if(a(!0),n(!0),typeof window>"u"){r(!0);return}const T=window.requestAnimationFrame(()=>{r(!0)}),E=window.setTimeout(()=>{n(!1)},Ve);return()=>{window.cancelAnimationFrame(T),window.clearTimeout(E)}}if(r(!1),n(!0),typeof window>"u"){a(!1);return}const w=window.setTimeout(()=>{a(!1),n(!1)},Ve);return()=>{window.clearTimeout(w)}},f=[o],e[0]=o,e[1]=s,e[2]=f):(s=e[1],f=e[2]),N.useEffect(s,f);let d;return e[3]!==t||e[4]!==l||e[5]!==c?(d={isRendered:t,isVisible:c,isTransitioning:l},e[3]=t,e[4]=l,e[5]=c,e[6]=d):d=e[6],d},Ye=o=>{const e=fe.c(3),[t,a]=N.useState(He);let c,r;return e[0]!==o?(c=()=>{if(!o||typeof window>"u")return;const l=()=>{a(He())};return l(),window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},r=[o],e[0]=o,e[1]=c,e[2]=r):(c=e[1],r=e[2]),N.useEffect(c,r),t},Lt=o=>{const e=fe.c(103),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe();let l;e:{const m=t.image;if(!m){let k;e[0]===Symbol.for("react.memo_cache_sentinel")?(k=[],e[0]=k):k=e[0],l=k;break e}let h;e[1]!==m.gallery?(h=Array.isArray(m.gallery)?m.gallery.filter(At):[],e[1]=m.gallery,e[2]=h):h=e[2];const _=h;if(_.length>0){l=_;break e}let C;e[3]!==m.filename||e[4]!==m.mimeType||e[5]!==m.size||e[6]!==m.url?(C=[{url:m.url,mimeType:m.mimeType,filename:m.filename,size:m.size}],e[3]=m.filename,e[4]=m.mimeType,e[5]=m.size,e[6]=m.url,e[7]=C):C=e[7],l=C}const n=l,[s,f]=N.useState(0),[d,w]=N.useState(null),{isRendered:T,isVisible:E,isTransitioning:D}=Ze(t.open),b=Ye(t.open);let I;e[8]!==n||e[9]!==t.image||e[10]!==t.open?(I=()=>{if(!t.open||n.length===0)return;const m=typeof t.image?.index=="number"?t.image.index:-1;if(m>=0&&m<n.length){f(m);return}const h=t.image?.url?n.findIndex(_=>_.url===t.image?.url):-1;f(h>=0?h:0)},e[8]=n,e[9]=t.image,e[10]=t.open,e[11]=I):I=e[11];const R=t.image?.index,v=t.image?.url;let y;e[12]!==n||e[13]!==t.open||e[14]!==R||e[15]!==v?(y=[n,R,v,t.open],e[12]=n,e[13]=t.open,e[14]=R,e[15]=v,e[16]=y):y=e[16],N.useEffect(I,y);const g=n[s]??n[0]??t.image,u=g?.filename||t.title||"Image preview",p=n.length>1;let S;e[17]!==n.length?(S=()=>{n.length<=1||f(m=>(m-1+n.length)%n.length)},e[17]=n.length,e[18]=S):S=e[18];const P=S;let A;e[19]!==n.length?(A=()=>{n.length<=1||f(m=>(m+1)%n.length)},e[19]=n.length,e[20]=A):A=e[20];const L=A;let x,F;e[21]!==p||e[22]!==a||e[23]!==t.open||e[24]!==L||e[25]!==P?(x=()=>{if(!t.open)return;const m=h=>{if(h.key==="Escape"){a(!1);return}if(h.key==="ArrowLeft"&&p){h.preventDefault(),P();return}h.key==="ArrowRight"&&p&&(h.preventDefault(),L())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},F=[p,a,t.open,L,P],e[21]=p,e[22]=a,e[23]=t.open,e[24]=L,e[25]=P,e[26]=x,e[27]=F):(x=e[26],F=e[27]),N.useEffect(x,F);let X;e[28]===Symbol.for("react.memo_cache_sentinel")?(X=()=>{w(null)},e[28]=X):X=e[28];const M=g?.url;let ie;e[29]!==M?(ie=[M],e[29]=M,e[30]=ie):ie=e[30],N.useEffect(X,ie);let pe;e:{const m=Math.max(160,b.width*(c?.86:.75)),h=Math.max(160,b.height*(c?.72:.75));if(!d){let be;e[31]!==m?(be=Math.round(m),e[31]=m,e[32]=be):be=e[32];let ve;e[33]!==h?(ve=Math.round(h),e[33]=h,e[34]=ve):ve=e[34];let ke;e[35]!==be||e[36]!==ve?(ke={width:be,height:ve},e[35]=be,e[36]=ve,e[37]=ke):ke=e[37],pe=ke;break e}const _=m/d.width,C=h/d.height,k=Math.min(_,C);let O;e[38]!==d.width||e[39]!==k?(O=Math.round(d.width*k),e[38]=d.width,e[39]=k,e[40]=O):O=e[40];const K=Math.max(1,O);let Se;e[41]!==d.height||e[42]!==k?(Se=Math.round(d.height*k),e[41]=d.height,e[42]=k,e[43]=Se):Se=e[43];const Ie=Math.max(1,Se);let Te;e[44]!==K||e[45]!==Ie?(Te={width:K,height:Ie},e[44]=K,e[45]=Ie,e[46]=Te):Te=e[46],pe=Te}const z=pe;if(!T||!g||typeof document>"u")return null;const xe=t.open?"pointer-events-auto":"pointer-events-none";let ne;e[47]!==xe?(ne=he("fixed inset-0 z-50",xe),e[47]=xe,e[48]=ne):ne=e[48];const re=D&&"transition-opacity duration-150 ease-out",ge=E?"opacity-100":"opacity-0";let H;e[49]!==re||e[50]!==ge?(H=he("oc-glass-backdrop absolute inset-0 bg-surface-overlay/60",re,ge),e[49]=re,e[50]=ge,e[51]=H):H=e[51];let $;e[52]!==a?($=()=>a(!1),e[52]=a,e[53]=$):$=e[53];let se;e[54]!==H||e[55]!==$?(se=i.jsx("div",{"aria-hidden":"true",className:H,onMouseDown:$}),e[54]=H,e[55]=$,e[56]=se):se=e[56];let W;e[57]!==p||e[58]!==L||e[59]!==P||e[60]!==r?(W=p&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onMouseDown:Ft,onClick:P,className:"absolute left-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-surface-elevated/90 text-surface-elevated-foreground hover:bg-surface-elevated focus:outline-none focus:ring-2 focus:ring-ring","aria-label":r("chat.toolOutputDialog.image.previousAria"),children:i.jsx(je,{name:"arrow-left-s",className:"h-6 w-6"})}),i.jsx("button",{type:"button",onMouseDown:zt,onClick:L,className:"absolute right-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-surface-elevated/90 text-surface-elevated-foreground hover:bg-surface-elevated focus:outline-none focus:ring-2 focus:ring-ring","aria-label":r("chat.toolOutputDialog.image.nextAria"),children:i.jsx(je,{name:"arrow-right-s",className:"h-6 w-6"})})]}),e[57]=p,e[58]=L,e[59]=P,e[60]=r,e[61]=W):W=e[61];const we=c?"p-2.5":"p-4";let ae;e[62]!==we?(ae=he("absolute inset-0 flex items-center justify-center pointer-events-none",we),e[62]=we,e[63]=ae):ae=e[63];const le=D&&"transition-opacity duration-150 ease-out",ye=E?"opacity-100":"opacity-0";let U;e[64]!==le||e[65]!==ye?(U=he("pointer-events-auto flex flex-col gap-2",le,ye),e[64]=le,e[65]=ye,e[66]=U):U=e[66];const ce=`${z.width}px`;let q;e[67]!==ce?(q={width:ce},e[67]=ce,e[68]=q):q=e[68];let Q;e[69]!==u?(Q=i.jsx("div",{className:"min-w-0 flex-1 text-foreground typography-ui-header font-semibold truncate",title:u,children:u}),e[69]=u,e[70]=Q):Q=e[70];let B;e[71]!==a?(B=()=>a(!1),e[71]=a,e[72]=B):B=e[72];let me;e[73]!==r?(me=r("chat.toolOutputDialog.image.closeAria"),e[73]=r,e[74]=me):me=e[74];let ee;e[75]===Symbol.for("react.memo_cache_sentinel")?(ee=i.jsx(je,{name:"close",className:"h-4 w-4"}),e[75]=ee):ee=e[75];let G;e[76]!==B||e[77]!==me?(G=i.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-ring",onClick:B,"aria-label":me,children:ee}),e[76]=B,e[77]=me,e[78]=G):G=e[78];let J;e[79]!==Q||e[80]!==G?(J=i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[Q,G]}),e[79]=Q,e[80]=G,e[81]=J):J=e[81];const de=`${z.width}px`,ue=`${z.height}px`;let Z;e[82]!==de||e[83]!==ue?(Z={width:de,height:ue},e[82]=de,e[83]=ue,e[84]=Z):Z=e[84];let te;e[85]===Symbol.for("react.memo_cache_sentinel")?(te=m=>{const h=m.currentTarget,_=h.naturalWidth,C=h.naturalHeight;_>0&&C>0&&w(k=>k&&k.width===_&&k.height===C?k:{width:_,height:C})},e[85]=te):te=e[85];let Y;e[86]!==g.url||e[87]!==u||e[88]!==Z?(Y=i.jsx("img",{src:g.url,alt:u,className:"block object-contain",style:Z,loading:"lazy",onLoad:te}),e[86]=g.url,e[87]=u,e[88]=Z,e[89]=Y):Y=e[89];let oe;e[90]!==U||e[91]!==q||e[92]!==J||e[93]!==Y?(oe=i.jsxs("div",{className:U,style:q,children:[J,Y]}),e[90]=U,e[91]=q,e[92]=J,e[93]=Y,e[94]=oe):oe=e[94];let j;e[95]!==ae||e[96]!==oe?(j=i.jsx("div",{className:ae,children:oe}),e[95]=ae,e[96]=oe,e[97]=j):j=e[97];let V;if(e[98]!==ne||e[99]!==se||e[100]!==W||e[101]!==j){const m=i.jsxs("div",{className:ne,children:[se,W,j]});V=We.createPortal(m,document.body),e[98]=ne,e[99]=se,e[100]=W,e[101]=j,e[102]=V}else V=e[102];return V},Ke=N.memo(o=>{const e=fe.c(7),{popup:t,diffViewMode:a,pierreThemeConfig:c}=o,r=t.content||"",l=a==="unified"?"unified":"split";let n;e[0]!==c.theme||e[1]!==c.themeType||e[2]!==l?(n={diffStyle:l,diffIndicators:"none",hunkSeparators:"line-info-basic",lineDiffType:"none",disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:"wrap",theme:c.theme,themeType:c.themeType,unsafeCSS:Mt},e[0]=c.theme,e[1]=c.themeType,e[2]=l,e[3]=n):n=e[3];let s;return e[4]!==r||e[5]!==n?(s=i.jsx("div",{className:"typography-code",children:i.jsx(gt,{patch:r,metrics:_t,options:n,className:"block w-full"})}),e[4]=r,e[5]=n,e[6]=s):s=e[6],s});Ke.displayName="DialogUnifiedDiff";const Xe=N.memo(o=>{const e=fe.c(29),{popup:t,pierreThemeConfig:a}=o;let c;e[0]!==t.content?(c=ut(t.content),e[0]=t.content,e[1]=c):c=e[1];const r=c,l=t.metadata?.input;let n;e[2]!==l?(n=typeof l=="object"&&l!==null?l:{},e[2]=l,e[3]=n):n=e[3];const s=n,f=typeof s.offset=="number"?s.offset:0,d=typeof s.file_path=="string"?s.file_path:typeof s.filePath=="string"?s.filePath:typeof s.path=="string"?s.path:"read-output";let w;e[4]!==r.lines?(w=r.lines.map(Vt).join(`
10
+ `),e[4]=r.lines,e[5]=w):w=e[5];const T=w;let E;e[6]!==d||e[7]!==t.language?(E=t.language||Ue(d)||"text",e[6]=d,e[7]=t.language,e[8]=E):E=e[8];const D=E;let b;e[9]!==r.lines?(b=r.lines.some(Ht),e[9]=r.lines,e[10]=b):b=e[10];const I=b;let R;if(e[11]!==I||e[12]!==f||e[13]!==r.lines||e[14]!==r.type){R=[];let g=f;for(const u of r.lines){u.lineNumber!==null&&(g=u.lineNumber);const p=r.type==="file"&&!I&&u.lineNumber===null&&!u.isInfo,S=u.lineNumber??(p?g+1:null);typeof S=="number"&&(g=S),R.push({text:u.text,lineNumber:S,isInfo:u.isInfo})}e[11]=I,e[12]=f,e[13]=r.lines,e[14]=r.type,e[15]=R}else R=e[15];const v=R;if(r.type==="file"){const g=D||void 0;let u;e[16]!==T||e[17]!==d||e[18]!==g?(u={name:d,contents:T,lang:g},e[16]=T,e[17]=d,e[18]=g,e[19]=u):u=e[19];let p;e[20]!==a.theme||e[21]!==a.themeType?(p={disableFileHeader:!0,overflow:"wrap",theme:a.theme,themeType:a.themeType},e[20]=a.theme,e[21]=a.themeType,e[22]=p):p=e[22];let S;return e[23]!==u||e[24]!==p?(S=i.jsx(Be,{file:u,options:p,className:"block w-full"}),e[23]=u,e[24]=p,e[25]=S):S=e[25],S}let y;return e[26]!==v||e[27]!==D?(y=i.jsx(Ge,{lines:v,language:D,maxHeight:"70vh"}),e[26]=v,e[27]=D,e[28]=y):y=e[28],y});Xe.displayName="DialogReadContent";const Ot=o=>{const e=fe.c(90),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe(),[l,n]=N.useState(t.mermaid?.source||""),[s,f]=N.useState(t.mermaid?.source?"ready":"idle"),[d,w]=N.useState(""),{isRendered:T,isVisible:E,isTransitioning:D}=Ze(t.open),[b,I]=N.useState(null),R=Ye(t.open),v=N.useRef(0),y=N.useRef(null),g=qt;let u;e[0]!==t.mermaid||e[1]!==r?(u=async()=>{const j=t.mermaid,V=Nt(v.current);if(v.current=V,!j?.url){f("error"),w(r("chat.toolOutputDialog.mermaid.missingSource"));return}if(j.source){n(j.source),f("ready"),w("");return}f("loading"),w("");let m;if(j.url.startsWith("data:"))m=Tt(j.url);else if(j.url.toLowerCase().startsWith("file://")){const h=g(j.url);h?m=xt("/api/fs/raw",{query:{path:h}}).then(Bt):m=Promise.reject(Re("chat.toolOutputDialog.mermaid.invalidLocalPath"))}else{const _=(typeof URL.canParse=="function"?URL.canParse(j.url,window.location.origin):!1)?new URL(j.url,window.location.origin):null;!_||_.protocol!=="http:"&&_.protocol!=="https:"?m=Promise.reject(Re("chat.toolOutputDialog.mermaid.unsupportedUrlProtocol")):m=fetch(_.toString()).then(Gt)}await m.then(h=>{ze(v.current,V)&&(n(h),f("ready"))}).catch(h=>{ze(v.current,V)&&(f("error"),w(jt(h)?r(h.key,h.params):r("chat.toolOutputDialog.mermaid.loadFailed")))})},e[0]=t.mermaid,e[1]=r,e[2]=u):u=e[2];const p=u;let S,P;e[3]!==p||e[4]!==t.mermaid||e[5]!==t.open?(S=()=>{!t.open||!t.mermaid||p()},P=[p,t.mermaid,t.open],e[3]=p,e[4]=t.mermaid,e[5]=t.open,e[6]=S,e[7]=P):(S=e[6],P=e[7]),N.useEffect(S,P);let A,L;e[8]!==a||e[9]!==t.open?(A=()=>{if(!t.open)return;const j=V=>{V.key==="Escape"&&a(!1)};return window.addEventListener("keydown",j),()=>{window.removeEventListener("keydown",j)}},L=[a,t.open],e[8]=a,e[9]=t.open,e[10]=A,e[11]=L):(A=e[10],L=e[11]),N.useEffect(A,L);let x;e[12]!==t.open||e[13]!==s?(x=()=>{if(!t.open||s!=="ready"){I(null);return}const j=()=>{const k=y.current?.querySelector("svg");if(!k)return!1;const O=Ct(k);return!O||!Number.isFinite(O)||O<=0?!1:(I(K=>K&&Math.abs(K-O)<.001?K:O),!0)};let V=window.requestAnimationFrame(()=>{j()||(V=window.requestAnimationFrame(()=>{j()}))}),m=0,h;const _=()=>{m>=It||(h=window.setTimeout(()=>{m=m+1,j()||_()},Rt))};_();const C=new MutationObserver(()=>{j()});return y.current&&C.observe(y.current,{childList:!0,subtree:!0,attributes:!0}),()=>{window.cancelAnimationFrame(V),typeof h=="number"&&window.clearTimeout(h),C.disconnect()}},e[12]=t.open,e[13]=s,e[14]=x):x=e[14];let F;e[15]!==t.open||e[16]!==l||e[17]!==s?(F=[t.open,l,s],e[15]=t.open,e[16]=l,e[17]=s,e[18]=F):F=e[18],N.useEffect(x,F);const X=`\`\`\`mermaid
11
11
  ${l}
12
- \`\`\``;let M;if(e[19]!==b||e[20]!==c||e[21]!==R){e:{const{maxWidth:j,maxHeight:V}=Et(R,c),m=Math.max(160,V-kt);if(b&&b<1){const L=Math.min(j,m);let k;e[23]!==L?(k=Math.round(L),e[23]=L,e[24]=k):k=e[24];let O;e[25]!==L?(O=Math.round(L),e[25]=L,e[26]=O):O=e[26];let Y;e[27]!==O||e[28]!==k?(Y={width:k,height:O},e[27]=O,e[28]=k,e[29]=Y):Y=e[29],M=Y;break e}const h=Math.round(j);let _;e[30]!==m?(_=Math.round(m),e[30]=m,e[31]=_):_=e[31],M={width:h,height:_}}e[19]=b,e[20]=c,e[21]=R,e[22]=M}else M=e[22];const ie=M;if(!T||typeof document>"u")return null;const pe=t.open?"pointer-events-auto":"pointer-events-none";let z;e[32]!==pe?(z=he("fixed inset-0 z-50",pe),e[32]=pe,e[33]=z):z=e[33];const xe=D&&"transition-opacity duration-150 ease-out",ne=E?"opacity-100":"opacity-0";let re;e[34]!==xe||e[35]!==ne?(re=he("absolute inset-0",xe,ne),e[34]=xe,e[35]=ne,e[36]=re):re=e[36];let ge;e[37]===Symbol.for("react.memo_cache_sentinel")?(ge={backgroundColor:"color-mix(in srgb, var(--surface-elevated) 70%, transparent)",color:"var(--surface-elevated-foreground)"},e[37]=ge):ge=e[37];let H;e[38]!==a?(H=()=>a(!1),e[38]=a,e[39]=H):H=e[39];let $;e[40]!==re||e[41]!==H?($=i.jsx("div",{"aria-hidden":"true",className:re,style:ge,onMouseDown:H}),e[40]=re,e[41]=H,e[42]=$):$=e[42];const se=c?"p-2.5":"p-4";let W;e[43]!==se?(W=he("absolute inset-0 flex items-center justify-center pointer-events-none",se),e[43]=se,e[44]=W):W=e[44];const we=D&&"transition-opacity duration-150 ease-out",ae=E?"opacity-100":"opacity-0";let le;e[45]!==we||e[46]!==ae?(le=he("pointer-events-auto flex flex-col gap-2",we,ae),e[45]=we,e[46]=ae,e[47]=le):le=e[47];const ye=`${ie.width}px`;let U;e[48]!==ye?(U={width:ye},e[48]=ye,e[49]=U):U=e[49];let ce;e[50]!==a?(ce=()=>a(!1),e[50]=a,e[51]=ce):ce=e[51];let q;e[52]!==r?(q=r("chat.toolOutputDialog.mermaid.closeAria"),e[52]=r,e[53]=q):q=e[53];let X;e[54]===Symbol.for("react.memo_cache_sentinel")?(X=i.jsx(je,{name:"close",className:"h-4 w-4"}),e[54]=X):X=e[54];let B;e[55]!==ce||e[56]!==q?(B=i.jsx("div",{className:"flex items-center justify-end",children:i.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-ring",onClick:ce,"aria-label":q,children:X})}),e[55]=ce,e[56]=q,e[57]=B):B=e[57];const me=`${ie.height}px`;let ee;e[58]!==me?(ee={height:me},e[58]=me,e[59]=ee):ee=e[59];let G;e[60]!==s||e[61]!==r?(G=s==="loading"&&i.jsxs("div",{className:"h-full min-h-28 flex items-center justify-center gap-2 text-muted-foreground typography-meta",children:[i.jsx(je,{name:"loader-4",className:"h-4 w-4 animate-spin"}),i.jsx("span",{children:r("chat.toolOutputDialog.mermaid.loading")})]}),e[60]=s,e[61]=r,e[62]=G):G=e[62];let J;e[63]!==u||e[64]!==p||e[65]!==s||e[66]!==r?(J=s==="error"&&i.jsxs("div",{className:"rounded-xl border p-3 space-y-3",style:{backgroundColor:"var(--status-error-background)",borderColor:"var(--status-error-border)"},children:[i.jsx("p",{className:"typography-markdown",style:{color:"var(--status-error)"},children:u||r("chat.toolOutputDialog.mermaid.renderFailed")}),i.jsx("button",{type:"button",onClick:()=>{p()},className:"px-3 py-1.5 rounded-lg typography-meta border transition-colors hover:bg-[var(--interactive-hover)]",style:{borderColor:"var(--interactive-border)",color:"var(--surface-foreground)"},children:r("chat.toolOutputDialog.mermaid.retry")})]}),e[63]=u,e[64]=p,e[65]=s,e[66]=r,e[67]=J):J=e[67];let ue;e[68]!==Q||e[69]!==s?(ue=s==="ready"&&i.jsx("div",{ref:y,className:"h-full",children:i.jsx(qe,{content:Q,variant:"tool",allowMermaidWheelEvents:!0,className:"markdown-mermaid-fullscreen h-full",mermaidControls:Dt,enableFileReferences:!1})}),e[68]=Q,e[69]=s,e[70]=ue):ue=e[70];let de;e[71]!==G||e[72]!==J||e[73]!==ue?(de=i.jsxs("div",{className:"h-full overflow-hidden",children:[G,J,ue]}),e[71]=G,e[72]=J,e[73]=ue,e[74]=de):de=e[74];let Z;e[75]!==ee||e[76]!==de?(Z=i.jsx("div",{className:"relative overflow-hidden",style:ee,children:de}),e[75]=ee,e[76]=de,e[77]=Z):Z=e[77];let te;e[78]!==le||e[79]!==U||e[80]!==B||e[81]!==Z?(te=i.jsxs("div",{className:le,style:U,onMouseDown:Jt,children:[B,Z]}),e[78]=le,e[79]=U,e[80]=B,e[81]=Z,e[82]=te):te=e[82];let K;e[83]!==W||e[84]!==te?(K=i.jsx("div",{className:W,children:te}),e[83]=W,e[84]=te,e[85]=K):K=e[85];let oe;if(e[86]!==z||e[87]!==$||e[88]!==K){const j=i.jsxs("div",{className:z,children:[$,K]});oe=We.createPortal(j,document.body),e[86]=z,e[87]=$,e[88]=K,e[89]=oe}else oe=e[89];return oe},sn=o=>{const e=fe.c(49),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe(),[l,n]=N.useState("unified"),s=Pt(),f=typeof t.metadata?.tool=="string"?t.metadata.tool:null,u=ot(f);let w;e[0]!==t.open?(w=()=>{t.open&&n("unified")},e[0]=t.open,e[1]=w):w=e[1];let T;if(e[2]!==t.open||e[3]!==t.title?(T=[t.open,t.title],e[2]=t.open,e[3]=t.title,e[4]=T):T=e[4],N.useEffect(w,T),t.image){let x;return e[5]!==c||e[6]!==a||e[7]!==t?(x=i.jsx(Ct,{popup:t,onOpenChange:a,isMobile:c}),e[5]=c,e[6]=a,e[7]=t,e[8]=x):x=e[8],x}if(t.mermaid){let x;return e[9]!==c||e[10]!==a||e[11]!==t?(x=i.jsx(Ot,{popup:t,onOpenChange:a,isMobile:c}),e[9]=c,e[10]=a,e[11]=t,e[12]=x):x=e[12],x}const E=t.open,D=c?"w-[95vw] max-w-[95vw]":"max-w-5xl",b=c?"[&>button]:right-1":"[&>button]:top-2.5 [&>button]:right-4";let I;e[13]!==D||e[14]!==b?(I=he("overflow-hidden flex flex-col min-h-0 pt-3 pb-4 px-4 gap-1","[&>button]:top-1.5",D,b),e[13]=D,e[14]=b,e[15]=I):I=e[15];let R;e[16]===Symbol.for("react.memo_cache_sentinel")?(R={maxHeight:"90vh"},e[16]=R):R=e[16];let v;e[17]!==f||e[18]!==u?(v=f?it(f,u):i.jsx(je,{name:"tools",className:"h-3.5 w-3.5 text-foreground flex-shrink-0"}),e[17]=f,e[18]=u,e[19]=v):v=e[19];let y;e[20]!==t.title?(y=i.jsx("span",{className:"break-words flex-1 leading-tight",children:t.title}),e[20]=t.title,e[21]=y):y=e[21];let g;e[22]!==l||e[23]!==t.isDiff?(g=t.isDiff&&i.jsx(nt,{mode:l,onModeChange:n,className:"mr-8 flex-shrink-0"}),e[22]=l,e[23]=t.isDiff,e[24]=g):g=e[24];let d;e[25]!==g||e[26]!==v||e[27]!==y?(d=i.jsx("div",{className:"flex-shrink-0 pb-1",children:i.jsxs("div",{className:"flex items-start gap-2 text-foreground typography-ui-header font-semibold",children:[v,y,g]})}),e[25]=g,e[26]=v,e[27]=y,e[28]=d):d=e[28];let p;e[29]!==s||e[30]!==t.metadata?(p=t.metadata?.input&&typeof t.metadata.input=="object"&&Object.keys(t.metadata.input).length>0&&t.metadata?.tool!=="patch"?(()=>{const x=t.metadata,F=typeof x.tool=="string"?x.tool:void 0,Q=x.input,M=pe=>{const z=Q[pe];return typeof z=="string"?z:typeof z=="number"?String(z):null},ie=M("path")||M("filePath")||M("file_path")||"";return i.jsxs("div",{className:"border-b border-border/20 p-4 -mx-3",children:[i.jsx("div",{className:"typography-markdown font-medium text-muted-foreground mb-2 px-3",children:Ce(F)?"Command:":De(F)?"Subagent Details:":"Input:"}),Ce(F)&&M("command")?i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:i.jsx(Me,{language:"bash",code:M("command"),style:Ne.getPopupStyles(),codeStyle:_e.style,wrap:!0})}):De(F)&&M("prompt")?i.jsxs("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:Ne.getPopupStyles(),children:[M("description")?`Task: ${M("description")}
12
+ \`\`\``;let M;if(e[19]!==b||e[20]!==c||e[21]!==R){e:{const{maxWidth:j,maxHeight:V}=Et(R,c),m=Math.max(160,V-kt);if(b&&b<1){const C=Math.min(j,m);let k;e[23]!==C?(k=Math.round(C),e[23]=C,e[24]=k):k=e[24];let O;e[25]!==C?(O=Math.round(C),e[25]=C,e[26]=O):O=e[26];let K;e[27]!==O||e[28]!==k?(K={width:k,height:O},e[27]=O,e[28]=k,e[29]=K):K=e[29],M=K;break e}const h=Math.round(j);let _;e[30]!==m?(_=Math.round(m),e[30]=m,e[31]=_):_=e[31],M={width:h,height:_}}e[19]=b,e[20]=c,e[21]=R,e[22]=M}else M=e[22];const ie=M;if(!T||typeof document>"u")return null;const pe=t.open?"pointer-events-auto":"pointer-events-none";let z;e[32]!==pe?(z=he("fixed inset-0 z-50",pe),e[32]=pe,e[33]=z):z=e[33];const xe=D&&"transition-opacity duration-150 ease-out",ne=E?"opacity-100":"opacity-0";let re;e[34]!==xe||e[35]!==ne?(re=he("absolute inset-0",xe,ne),e[34]=xe,e[35]=ne,e[36]=re):re=e[36];let ge;e[37]===Symbol.for("react.memo_cache_sentinel")?(ge={backgroundColor:"color-mix(in srgb, var(--surface-elevated) 70%, transparent)",color:"var(--surface-elevated-foreground)"},e[37]=ge):ge=e[37];let H;e[38]!==a?(H=()=>a(!1),e[38]=a,e[39]=H):H=e[39];let $;e[40]!==re||e[41]!==H?($=i.jsx("div",{"aria-hidden":"true",className:re,style:ge,onMouseDown:H}),e[40]=re,e[41]=H,e[42]=$):$=e[42];const se=c?"p-2.5":"p-4";let W;e[43]!==se?(W=he("absolute inset-0 flex items-center justify-center pointer-events-none",se),e[43]=se,e[44]=W):W=e[44];const we=D&&"transition-opacity duration-150 ease-out",ae=E?"opacity-100":"opacity-0";let le;e[45]!==we||e[46]!==ae?(le=he("pointer-events-auto flex flex-col gap-2",we,ae),e[45]=we,e[46]=ae,e[47]=le):le=e[47];const ye=`${ie.width}px`;let U;e[48]!==ye?(U={width:ye},e[48]=ye,e[49]=U):U=e[49];let ce;e[50]!==a?(ce=()=>a(!1),e[50]=a,e[51]=ce):ce=e[51];let q;e[52]!==r?(q=r("chat.toolOutputDialog.mermaid.closeAria"),e[52]=r,e[53]=q):q=e[53];let Q;e[54]===Symbol.for("react.memo_cache_sentinel")?(Q=i.jsx(je,{name:"close",className:"h-4 w-4"}),e[54]=Q):Q=e[54];let B;e[55]!==ce||e[56]!==q?(B=i.jsx("div",{className:"flex items-center justify-end",children:i.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-ring",onClick:ce,"aria-label":q,children:Q})}),e[55]=ce,e[56]=q,e[57]=B):B=e[57];const me=`${ie.height}px`;let ee;e[58]!==me?(ee={height:me},e[58]=me,e[59]=ee):ee=e[59];let G;e[60]!==s||e[61]!==r?(G=s==="loading"&&i.jsxs("div",{className:"h-full min-h-28 flex items-center justify-center gap-2 text-muted-foreground typography-meta",children:[i.jsx(je,{name:"loader-4",className:"h-4 w-4 animate-spin"}),i.jsx("span",{children:r("chat.toolOutputDialog.mermaid.loading")})]}),e[60]=s,e[61]=r,e[62]=G):G=e[62];let J;e[63]!==d||e[64]!==p||e[65]!==s||e[66]!==r?(J=s==="error"&&i.jsxs("div",{className:"rounded-xl border p-3 space-y-3",style:{backgroundColor:"var(--status-error-background)",borderColor:"var(--status-error-border)"},children:[i.jsx("p",{className:"typography-markdown",style:{color:"var(--status-error)"},children:d||r("chat.toolOutputDialog.mermaid.renderFailed")}),i.jsx("button",{type:"button",onClick:()=>{p()},className:"px-3 py-1.5 rounded-lg typography-meta border transition-colors hover:bg-[var(--interactive-hover)]",style:{borderColor:"var(--interactive-border)",color:"var(--surface-foreground)"},children:r("chat.toolOutputDialog.mermaid.retry")})]}),e[63]=d,e[64]=p,e[65]=s,e[66]=r,e[67]=J):J=e[67];let de;e[68]!==X||e[69]!==s?(de=s==="ready"&&i.jsx("div",{ref:y,className:"h-full",children:i.jsx(qe,{content:X,variant:"tool",allowMermaidWheelEvents:!0,className:"markdown-mermaid-fullscreen h-full",mermaidControls:Dt,enableFileReferences:!1})}),e[68]=X,e[69]=s,e[70]=de):de=e[70];let ue;e[71]!==G||e[72]!==J||e[73]!==de?(ue=i.jsxs("div",{className:"h-full overflow-hidden",children:[G,J,de]}),e[71]=G,e[72]=J,e[73]=de,e[74]=ue):ue=e[74];let Z;e[75]!==ee||e[76]!==ue?(Z=i.jsx("div",{className:"relative overflow-hidden",style:ee,children:ue}),e[75]=ee,e[76]=ue,e[77]=Z):Z=e[77];let te;e[78]!==le||e[79]!==U||e[80]!==B||e[81]!==Z?(te=i.jsxs("div",{className:le,style:U,onMouseDown:Jt,children:[B,Z]}),e[78]=le,e[79]=U,e[80]=B,e[81]=Z,e[82]=te):te=e[82];let Y;e[83]!==W||e[84]!==te?(Y=i.jsx("div",{className:W,children:te}),e[83]=W,e[84]=te,e[85]=Y):Y=e[85];let oe;if(e[86]!==z||e[87]!==$||e[88]!==Y){const j=i.jsxs("div",{className:z,children:[$,Y]});oe=We.createPortal(j,document.body),e[86]=z,e[87]=$,e[88]=Y,e[89]=oe}else oe=e[89];return oe},sn=o=>{const e=fe.c(49),{popup:t,onOpenChange:a,isMobile:c}=o,{t:r}=Pe(),[l,n]=N.useState("unified"),s=Pt(),f=typeof t.metadata?.tool=="string"?t.metadata.tool:null,d=ot(f);let w;e[0]!==t.open?(w=()=>{t.open&&n("unified")},e[0]=t.open,e[1]=w):w=e[1];let T;if(e[2]!==t.open||e[3]!==t.title?(T=[t.open,t.title],e[2]=t.open,e[3]=t.title,e[4]=T):T=e[4],N.useEffect(w,T),t.image){let x;return e[5]!==c||e[6]!==a||e[7]!==t?(x=i.jsx(Lt,{popup:t,onOpenChange:a,isMobile:c}),e[5]=c,e[6]=a,e[7]=t,e[8]=x):x=e[8],x}if(t.mermaid){let x;return e[9]!==c||e[10]!==a||e[11]!==t?(x=i.jsx(Ot,{popup:t,onOpenChange:a,isMobile:c}),e[9]=c,e[10]=a,e[11]=t,e[12]=x):x=e[12],x}const E=t.open,D=c?"w-[95vw] max-w-[95vw]":"max-w-5xl",b=c?"[&>button]:right-1":"[&>button]:top-2.5 [&>button]:right-4";let I;e[13]!==D||e[14]!==b?(I=he("overflow-hidden flex flex-col min-h-0 pt-3 pb-4 px-4 gap-1","[&>button]:top-1.5",D,b),e[13]=D,e[14]=b,e[15]=I):I=e[15];let R;e[16]===Symbol.for("react.memo_cache_sentinel")?(R={maxHeight:"90vh"},e[16]=R):R=e[16];let v;e[17]!==f||e[18]!==d?(v=f?it(f,d):i.jsx(je,{name:"tools",className:"h-3.5 w-3.5 text-foreground flex-shrink-0"}),e[17]=f,e[18]=d,e[19]=v):v=e[19];let y;e[20]!==t.title?(y=i.jsx("span",{className:"break-words flex-1 leading-tight",children:t.title}),e[20]=t.title,e[21]=y):y=e[21];let g;e[22]!==l||e[23]!==t.isDiff?(g=t.isDiff&&i.jsx(nt,{mode:l,onModeChange:n,className:"mr-8 flex-shrink-0"}),e[22]=l,e[23]=t.isDiff,e[24]=g):g=e[24];let u;e[25]!==g||e[26]!==v||e[27]!==y?(u=i.jsx("div",{className:"flex-shrink-0 pb-1",children:i.jsxs("div",{className:"flex items-start gap-2 text-foreground typography-ui-header font-semibold",children:[v,y,g]})}),e[25]=g,e[26]=v,e[27]=y,e[28]=u):u=e[28];let p;e[29]!==s||e[30]!==t.metadata?(p=t.metadata?.input&&typeof t.metadata.input=="object"&&Object.keys(t.metadata.input).length>0&&t.metadata?.tool!=="patch"?(()=>{const x=t.metadata,F=typeof x.tool=="string"?x.tool:void 0,X=x.input,M=pe=>{const z=X[pe];return typeof z=="string"?z:typeof z=="number"?String(z):null},ie=M("path")||M("filePath")||M("file_path")||"";return i.jsxs("div",{className:"border-b border-border/20 p-4 -mx-3",children:[i.jsx("div",{className:"typography-markdown font-medium text-muted-foreground mb-2 px-3",children:Le(F)?"Command:":De(F)?"Subagent Details:":"Input:"}),Le(F)&&M("command")?i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:i.jsx(Me,{language:"bash",code:M("command"),style:Ne.getPopupStyles(),codeStyle:_e.style,wrap:!0})}):De(F)&&M("prompt")?i.jsxs("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:Ne.getPopupStyles(),children:[M("description")?`Task: ${M("description")}
13
13
  `:"",M("agent")?`Agent: ${M("agent")}
14
14
  `:"",`Instructions:
15
- ${M("prompt")}`]}):rt(F)&&M("content")?i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:i.jsx(Be,{file:{name:ie||"new-file",contents:M("content"),lang:Ue(ie)||void 0},options:{disableFileHeader:!0,overflow:"wrap",theme:s.theme,themeType:s.themeType},className:"block w-full"})}):i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:Ne.getPopupStyles(),children:st(Q,x.tool)})]})})():null,e[29]=s,e[30]=t.metadata,e[31]=p):p=e[31];let S;e[32]!==l||e[33]!==c||e[34]!==s||e[35]!==t||e[36]!==r?(S=t.isDiff?i.jsx(Ye,{popup:t,diffViewMode:l,pierreThemeConfig:s}):t.content?i.jsx("div",{className:"p-4",children:(()=>{const x=typeof t.metadata?.tool=="string"?t.metadata.tool:void 0;return x==="grep"?at(t.content,c)||i.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):x==="glob"?lt(t.content,c)||i.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):De(x)||x==="reasoning"?i.jsx("div",{className:x==="reasoning"?"text-muted-foreground/70":"",children:i.jsx(qe,{content:t.content,variant:"tool"})}):x==="web-search"||x==="websearch"||x==="search_web"?ct(t.content)||i.jsx(Me,{language:"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:_e.style,wrap:!0}):x==="read"?i.jsx(Qe,{popup:t,pierreThemeConfig:s}):(t.content?mt(t.content):{isJson:!1}).isJson?i.jsx(ht,{jsonString:t.content,initiallyExpandedDepth:3,maxHeight:"70vh"}):i.jsx(Me,{language:t.language||"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:_e.style,wrap:!0})})()}):i.jsxs("div",{className:"p-8 text-muted-foreground typography-ui-header",children:[i.jsx("div",{className:"mb-2",children:r("chat.toolOutputDialog.commandCompleted")}),i.jsx("div",{className:"typography-meta",children:r("chat.toolOutputDialog.noOutputProduced")})]}),e[32]=l,e[33]=c,e[34]=s,e[35]=t,e[36]=r,e[37]=S):S=e[37];let P;e[38]!==p||e[39]!==S?(P=i.jsx("div",{className:"flex-1 min-h-0 rounded-xl border border-border/30 bg-muted/10 overflow-hidden",children:i.jsxs("div",{className:"tool-output-surface h-full max-h-[75vh] overflow-y-auto px-3 pr-4",children:[p,S]})}),e[38]=p,e[39]=S,e[40]=P):P=e[40];let A;e[41]!==d||e[42]!==P||e[43]!==I?(A=i.jsxs(ft,{className:I,style:R,children:[d,P]}),e[41]=d,e[42]=P,e[43]=I,e[44]=A):A=e[44];let C;return e[45]!==a||e[46]!==t.open||e[47]!==A?(C=i.jsx(pt,{open:E,onOpenChange:a,children:A}),e[45]=a,e[46]=t.open,e[47]=A,e[48]=C):C=e[48],C};function At(o){return!!o?.url}function Ft(o){return o.stopPropagation()}function zt(o){return o.stopPropagation()}function Vt(o){return o.text}function Ht(o){return o.lineNumber!==null}function $t(o){if(!o||/[\0\r\n]/.test(o))return!1;const e=o.replace(/\\/g,"/");return e.split("/").filter(Boolean).includes("..")?!1:e.startsWith("/")?!0:/^[A-Za-z]:\//.test(e)}function Wt(o,e){const t=Number.parseInt(e,16);return Number.isFinite(t)?String.fromCharCode(t):`%${e}`}function Ut(o){return o.replace(/%([0-9A-Fa-f]{2})/g,Wt)}function qt(o){const e=o.trim();if(!e.toLowerCase().startsWith("file://"))return null;const t=$t,a=Ut;if(typeof URL.canParse=="function"?URL.canParse(e):!1){let n=a(new URL(e).pathname||"");return/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),t(n)?n:null}const r=e.replace(/^file:\/\//i,""),l=a(r);return t(l)?l:t(r)?r:null}function Bt(o){return o.ok?o.text():Promise.reject(Re("chat.toolOutputDialog.mermaid.readFileFailedWithStatus",{status:o.status}))}function Gt(o){return o.ok?o.text():Promise.reject(Re("chat.toolOutputDialog.mermaid.loadFailedWithStatus",{status:o.status}))}function Jt(o){return o.stopPropagation()}export{sn as default};
15
+ ${M("prompt")}`]}):rt(F)&&M("content")?i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:i.jsx(Be,{file:{name:ie||"new-file",contents:M("content"),lang:Ue(ie)||void 0},options:{disableFileHeader:!0,overflow:"wrap",theme:s.theme,themeType:s.themeType},className:"block w-full"})}):i.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:Ne.getPopupStyles(),children:st(X,x.tool)})]})})():null,e[29]=s,e[30]=t.metadata,e[31]=p):p=e[31];let S;e[32]!==l||e[33]!==c||e[34]!==s||e[35]!==t||e[36]!==r?(S=t.isDiff?i.jsx(Ke,{popup:t,diffViewMode:l,pierreThemeConfig:s}):t.content?i.jsx("div",{className:"p-4",children:(()=>{const x=typeof t.metadata?.tool=="string"?t.metadata.tool:void 0;return x==="grep"?at(t.content,c)||i.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):x==="glob"?lt(t.content,c)||i.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):De(x)||x==="reasoning"?i.jsx("div",{className:x==="reasoning"?"text-muted-foreground/70":"",children:i.jsx(qe,{content:t.content,variant:"tool"})}):x==="web-search"||x==="websearch"||x==="search_web"?ct(t.content)||i.jsx(Me,{language:"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:_e.style,wrap:!0}):x==="read"?i.jsx(Xe,{popup:t,pierreThemeConfig:s}):(t.content?mt(t.content):{isJson:!1}).isJson?i.jsx(ht,{jsonString:t.content,initiallyExpandedDepth:3,maxHeight:"70vh"}):i.jsx(Me,{language:t.language||"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:_e.style,wrap:!0})})()}):i.jsxs("div",{className:"p-8 text-muted-foreground typography-ui-header",children:[i.jsx("div",{className:"mb-2",children:r("chat.toolOutputDialog.commandCompleted")}),i.jsx("div",{className:"typography-meta",children:r("chat.toolOutputDialog.noOutputProduced")})]}),e[32]=l,e[33]=c,e[34]=s,e[35]=t,e[36]=r,e[37]=S):S=e[37];let P;e[38]!==p||e[39]!==S?(P=i.jsx("div",{className:"flex-1 min-h-0 rounded-xl border border-border/30 bg-muted/10 overflow-hidden",children:i.jsxs("div",{className:"tool-output-surface h-full max-h-[75vh] overflow-y-auto px-3 pr-4",children:[p,S]})}),e[38]=p,e[39]=S,e[40]=P):P=e[40];let A;e[41]!==u||e[42]!==P||e[43]!==I?(A=i.jsxs(ft,{className:I,style:R,children:[u,P]}),e[41]=u,e[42]=P,e[43]=I,e[44]=A):A=e[44];let L;return e[45]!==a||e[46]!==t.open||e[47]!==A?(L=i.jsx(pt,{open:E,onOpenChange:a,children:A}),e[45]=a,e[46]=t.open,e[47]=A,e[48]=L):L=e[48],L};function At(o){return!!o?.url}function Ft(o){return o.stopPropagation()}function zt(o){return o.stopPropagation()}function Vt(o){return o.text}function Ht(o){return o.lineNumber!==null}function $t(o){if(!o||/[\0\r\n]/.test(o))return!1;const e=o.replace(/\\/g,"/");return e.split("/").filter(Boolean).includes("..")?!1:e.startsWith("/")?!0:/^[A-Za-z]:\//.test(e)}function Wt(o,e){const t=Number.parseInt(e,16);return Number.isFinite(t)?String.fromCharCode(t):`%${e}`}function Ut(o){return o.replace(/%([0-9A-Fa-f]{2})/g,Wt)}function qt(o){const e=o.trim();if(!e.toLowerCase().startsWith("file://"))return null;const t=$t,a=Ut;if(typeof URL.canParse=="function"?URL.canParse(e):!1){let n=a(new URL(e).pathname||"");return/^\/[A-Za-z]:\//.test(n)&&(n=n.slice(1)),t(n)?n:null}const r=e.replace(/^file:\/\//i,""),l=a(r);return t(l)?l:t(r)?r:null}function Bt(o){return o.ok?o.text():Promise.reject(Re("chat.toolOutputDialog.mermaid.readFileFailedWithStatus",{status:o.status}))}function Gt(o){return o.ok?o.text():Promise.reject(Re("chat.toolOutputDialog.mermaid.loadFailedWithStatus",{status:o.status}))}function Jt(o){return o.stopPropagation()}export{sn as default};
@@ -1,8 +1,8 @@
1
- import{R as D,f as x,j as g}from"./vendor-react-BUCujlKS.js";import{P as E}from"./PatchDiff-DOwlrIK9.js";import{eE as P,eF as y,kW as F}from"./useAppFontEffects-Bzyszv2N.js";import{ensurePierreThemeRegistered as S}from"./appThemeRegistry-Br2TLSlb.js";import"./vendor-scheduler-7OC5HNn7.js";import"./web-components-BEo4-ISu.js";import"./computeVirtualFileMetrics-_-20umCs.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-CZlLSacm.js";import"./VirtualizedFileDiff-DONC4eI2.js";import"./isDiffPlainText-D77M6q1f.js";import"./vendor-diff-C3JhlQdm.js";import"./index-CvLgnuNI.js";import"./vendor-zod-Gea9uBlY.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-_BAHQo4R.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-base-ui-CsXYnR5c.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-6cEFPNUR.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./textMateThemeFromAppTheme-yNq7b0DZ.js";const _=`
1
+ import{R as D,f as x,j as g}from"./vendor-react-BUCujlKS.js";import{P as E}from"./PatchDiff-D6pWS7cD.js";import{eH as P,eI as k,l6 as I}from"./useAppFontEffects-BN06mgHB.js";import{ensurePierreThemeRegistered as S}from"./appThemeRegistry-BoJGAwCP.js";import"./vendor-scheduler-7OC5HNn7.js";import"./web-components-BQWjCn_U.js";import"./computeVirtualFileMetrics-kYyVjXLu.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-CZlLSacm.js";import"./VirtualizedFileDiff-BUK1ujXg.js";import"./isDiffPlainText-Bgm_aLpu.js";import"./vendor-diff-C3JhlQdm.js";import"./index-Di6zUe5h.js";import"./vendor-zod-BSoePkpP.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-opencode-client-DSZl7jSi.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-base-ui-CsXYnR5c.js";import"./vendor-floating-ui-utils-D6FqdtJt.js";import"./vendor-floating-ui-react-dom-DxYCWdHj.js";import"./vendor-floating-ui-dom-BTvzWks8.js";import"./vendor-floating-ui-core-PuGzNPnN.js";import"./vendor-use-sync-external-store-D6wYuSt-.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-dnd-kit-core-BZknOX2w.js";import"./vendor-dnd-kit-utilities-B_MdXhJC.js";import"./vendor-dnd-kit-accessibility-BHxJPORy.js";import"./vendor-dnd-kit-sortable-CsEagZ81.js";import"./vendor-tanstack-react-virtual-ClYN8CzB.js";import"./vendor-tanstack-virtual-core-BewVQryB.js";import"./vendor-framer-motion-Bq3iTZ6r.js";import"./vendor-motion-dom-DcCgeG69.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./contextPanelEmbeddedChat-CirXEPJq.js";import"./vendor-sonner-DFyL3AvE.js";import"./vendor-cmdk-DgLInKvT.js";import"./vendor-radix-ui-react-dialog-B94Bt2qq.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-DcAh5WdT.js";import"./vendor-radix-ui-react-context-Czxm7Z62.js";import"./vendor-radix-ui-react-id-f5BLKEVw.js";import"./vendor-radix-ui-react-use-layout-effect-D_3IhJdJ.js";import"./vendor-radix-ui-react-use-controllable-state-BFT5YmkA.js";import"./vendor-radix-ui-react-dismissable-layer-D7kXcwgJ.js";import"./vendor-radix-ui-react-primitive-DhVoX9SD.js";import"./vendor-radix-ui-react-slot-BQgQOasS.js";import"./vendor-radix-ui-react-use-callback-ref-BZPnuXAC.js";import"./vendor-radix-ui-react-use-escape-keydown-oph88g-F.js";import"./vendor-radix-ui-react-focus-scope-CiaxW4dD.js";import"./vendor-radix-ui-react-portal-BMJYHWck.js";import"./vendor-radix-ui-react-presence-CNxf-uq4.js";import"./vendor-radix-ui-react-focus-guards-B6qJXYua.js";import"./vendor-react-remove-scroll-DO7dCTnK.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-BcFYyj3E.js";import"./vendor-react-style-singleton-q6EMHnwf.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-zDC0RhA3.js";import"./vendor-use-callback-ref-D3RC8gqK.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-BgPj_McA.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-C9awkmn-.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-CiLROUVV.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-Cc2ZYbgX.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-DzPz9Wgq.js";import"./vendor-codemirror-lang-json-CMBS2tG9.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-O0cZX78y.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-CfgK872x.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-BPGOH9ye.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-C2qMZiA7.js";import"./vendor-codemirror-lang-python-HahnQaAS.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-B7H_j0iU.js";import"./vendor-legendapp-list-BuBPBC3R.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./textMateThemeFromAppTheme-XM4VefqN.js";const _=`
2
2
  [data-diff-header],
3
3
  [data-diff] {
4
4
  [data-separator] {
5
5
  height: 24px !important;
6
6
  }
7
7
  }
8
- `,C={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},I=()=>{const t=x.c(18),e=P();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=y(!1),t[0]=i):i=t[0];const h=i;let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=y(!0),t[1]=s):s=t[1];const n=s;let o;t[2]!==e?.availableThemes?(o=()=>e?.availableThemes??[h,n],t[2]=e?.availableThemes,t[3]=o):o=t[3],e?.availableThemes;let p;t[4]!==o?(p=o(),t[4]=o,t[5]=p):p=t[5];const m=p,l=e?.lightThemeId??h.metadata.id,d=e?.darkThemeId??n.metadata.id;let r;t[6]!==m||t[7]!==l?(r=m.find(k=>k.metadata.id===l)??h,t[6]=m,t[7]=l,t[8]=r):r=t[8];const a=r;let c;t[9]!==m||t[10]!==d?(c=m.find(k=>k.metadata.id===d)??n,t[9]=m,t[10]=d,t[11]=c):c=t[11];const T=c;S(a),S(T);const v=e?.currentTheme.metadata.variant??"light";let f;t[12]!==T.metadata.id||t[13]!==a.metadata.id?(f={light:a.metadata.id,dark:T.metadata.id},t[12]=T.metadata.id,t[13]=a.metadata.id,t[14]=f):f=t[14];const b=v==="dark"?"dark":"light";let u;return t[15]!==f||t[16]!==b?(u={pierreTheme:f,pierreThemeType:b},t[15]=f,t[16]=b,t[17]=u):u=t[17],u};class w extends D.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}componentDidCatch(e){}render(){return this.state.hasError?this.props.fallback:this.props.children}}const L=D.memo(t=>{const e=x.c(13),{diff:i,diffViewMode:h}=t,{pierreTheme:s,pierreThemeType:n}=I(),o=h==="side-by-side"?"split":"unified";let p;e[0]!==s||e[1]!==n||e[2]!==o?(p={diffStyle:o,diffIndicators:"none",hunkSeparators:"line-info-basic",lineDiffType:"none",disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:"wrap",theme:s,themeType:n,unsafeCSS:_},e[0]=s,e[1]=n,e[2]=o,e[3]=p):p=e[3];const m=p;let l;e[4]!==i?(l=g.jsx(F,{diff:i}),e[4]=i,e[5]=l):l=e[5];const d=l;let r;e[6]!==i||e[7]!==m?(r=g.jsx(E,{patch:i,metrics:C,options:m,className:"block w-full"}),e[6]=i,e[7]=m,e[8]=r):r=e[8];let a;return e[9]!==i||e[10]!==d||e[11]!==r?(a=g.jsx("div",{className:"typography-code px-1 pb-1 pt-0",children:g.jsx(w,{resetKey:i,fallback:d,children:r})}),e[9]=i,e[10]=d,e[11]=r,e[12]=a):a=e[12],a});L.displayName="ToolPartDiffPreview";export{L as default};
8
+ `,C={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},F=()=>{const t=x.c(18),e=P();let i;t[0]===Symbol.for("react.memo_cache_sentinel")?(i=k(!1),t[0]=i):i=t[0];const h=i;let s;t[1]===Symbol.for("react.memo_cache_sentinel")?(s=k(!0),t[1]=s):s=t[1];const n=s;let o;t[2]!==e?.availableThemes?(o=()=>e?.availableThemes??[h,n],t[2]=e?.availableThemes,t[3]=o):o=t[3],e?.availableThemes;let p;t[4]!==o?(p=o(),t[4]=o,t[5]=p):p=t[5];const m=p,l=e?.lightThemeId??h.metadata.id,d=e?.darkThemeId??n.metadata.id;let r;t[6]!==m||t[7]!==l?(r=m.find(y=>y.metadata.id===l)??h,t[6]=m,t[7]=l,t[8]=r):r=t[8];const a=r;let c;t[9]!==m||t[10]!==d?(c=m.find(y=>y.metadata.id===d)??n,t[9]=m,t[10]=d,t[11]=c):c=t[11];const T=c;S(a),S(T);const v=e?.currentTheme.metadata.variant??"light";let f;t[12]!==T.metadata.id||t[13]!==a.metadata.id?(f={light:a.metadata.id,dark:T.metadata.id},t[12]=T.metadata.id,t[13]=a.metadata.id,t[14]=f):f=t[14];const b=v==="dark"?"dark":"light";let u;return t[15]!==f||t[16]!==b?(u={pierreTheme:f,pierreThemeType:b},t[15]=f,t[16]=b,t[17]=u):u=t[17],u};class w extends D.Component{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidUpdate(e){e.resetKey!==this.props.resetKey&&this.state.hasError&&this.setState({hasError:!1})}componentDidCatch(e){}render(){return this.state.hasError?this.props.fallback:this.props.children}}const L=D.memo(t=>{const e=x.c(13),{diff:i,diffViewMode:h}=t,{pierreTheme:s,pierreThemeType:n}=F(),o=h==="side-by-side"?"split":"unified";let p;e[0]!==s||e[1]!==n||e[2]!==o?(p={diffStyle:o,diffIndicators:"none",hunkSeparators:"line-info-basic",lineDiffType:"none",disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:"wrap",theme:s,themeType:n,unsafeCSS:_},e[0]=s,e[1]=n,e[2]=o,e[3]=p):p=e[3];const m=p;let l;e[4]!==i?(l=g.jsx(I,{diff:i}),e[4]=i,e[5]=l):l=e[5];const d=l;let r;e[6]!==i||e[7]!==m?(r=g.jsx(E,{patch:i,metrics:C,options:m,className:"block w-full"}),e[6]=i,e[7]=m,e[8]=r):r=e[8];let a;return e[9]!==i||e[10]!==d||e[11]!==r?(a=g.jsx("div",{className:"typography-code px-1 pb-1 pt-0",children:g.jsx(w,{resetKey:i,fallback:d,children:r})}),e[9]=i,e[10]=d,e[11]=r,e[12]=a):a=e[12],a});L.displayName="ToolPartDiffPreview";export{L as default};
@@ -1,4 +1,4 @@
1
- import{b as Te,c as Qe,g as et,s as tt,d as Xe,e as Fe,f as it,h as nt,i as Ye,j as Ne,k as he,l as st,R as rt,I as ot,p as Ue,m as at,n as lt,o as ht,q as Pe,S as dt,r as ut,w as ft,t as Oe,u as ct,v as pt,x as Ae,y as gt,z as mt,A as Ct,B as St,C as vt,a as yt,F as Ht}from"./web-components-BEo4-ISu.js";import{j as w,m as Se,k as Lt,n as Tt,d as At,i as ke,o as U,q as ce,s as kt,b as Rt,f as Be,t as Y,u as Ze,w as Re}from"./computeVirtualFileMetrics-_-20umCs.js";import{h as xt,a as se,i as be,b as re,r as Dt,g as Et,c as ve,d as we,e as oe,f as Me,j as ae}from"./isDiffPlainText-D77M6q1f.js";import{k3 as bt,kj as wt,kk as Ie,gx as _,kl as Mt,km as It,kn as Ve,ko as zt,k9 as Ft,ka as Nt,kb as Ut,kc as Pt}from"./useAppFontEffects-Bzyszv2N.js";import{c as Ot}from"./vendor-diff-C3JhlQdm.js";import{t as le}from"./vendor-hast-util-to-html-BKBhbTDb.js";function Z(e,t,i,n=!1){const s=bt(Ot(e.name,t.name,e.contents,t.contents,e.header,t.header,i),{cacheKey:(()=>{if(e.cacheKey!=null&&t.cacheKey!=null)return`${e.cacheKey}:${t.cacheKey}`})(),oldFile:e,newFile:t,throwOnError:n});if(s==null)throw new Error("parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?");return t.lang!=null&&(s.lang=t.lang),s}var Bt=class{isDeletionsScrolling=!1;isAdditionsScrolling=!1;timeoutId=-1;codeDeletions;codeAdditions;enabled=!1;cleanUp(){this.enabled&&(this.codeDeletions?.removeEventListener("scroll",this.handleDeletionsScroll),this.codeAdditions?.removeEventListener("scroll",this.handleAdditionsScroll),clearTimeout(this.timeoutId),this.codeDeletions=void 0,this.codeAdditions=void 0,this.enabled=!1)}setup(e,t,i){if(t==null||i==null)for(const n of e.children??[])n instanceof HTMLElement&&("deletions"in n.dataset?t=n:"additions"in n.dataset&&(i=n));if(i==null||t==null){this.cleanUp();return}this.codeDeletions!==t&&(this.codeDeletions?.removeEventListener("scroll",this.handleDeletionsScroll),this.codeDeletions=t,t.addEventListener("scroll",this.handleDeletionsScroll,{passive:!0})),this.codeAdditions!==i&&(this.codeAdditions?.removeEventListener("scroll",this.handleAdditionsScroll),this.codeAdditions=i,i.addEventListener("scroll",this.handleAdditionsScroll,{passive:!0})),this.enabled=!0}handleDeletionsScroll=()=>{this.isAdditionsScrolling||(this.isDeletionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isDeletionsScrolling=!1},300),this.codeAdditions?.scrollTo({left:this.codeDeletions?.scrollLeft}))};handleAdditionsScroll=()=>{this.isDeletionsScrolling||(this.isAdditionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isAdditionsScrolling=!1},300),this.codeDeletions?.scrollTo({left:this.codeAdditions?.scrollLeft}))}};function pe(e){return w({tagName:"div",properties:{"data-content-buffer":"","data-buffer-size":e,style:`grid-row: span ${e};min-height:calc(${e} * 1lh)`}})}function ge(e){return w({tagName:"div",children:[w({tagName:"span",children:[Se("No newline at end of file")]})],properties:{"data-no-newline":"","data-line-type":e,"data-column-content":""}})}function xe(e){return w({tagName:"div",children:[Lt({name:e==="both"?"diffs-icon-expand-all":"diffs-icon-expand",properties:{"data-icon":""}})],properties:{role:"button","data-expand-button":"","data-expand-both":e==="both"?"":void 0,"data-expand-up":e==="up"?"":void 0,"data-expand-down":e==="down"?"":void 0}})}function K({type:e,content:t,expandIndex:i,chunked:n=!1,slotName:s,isFirstHunk:r,isLastHunk:o}){let a=0;const l=[];if(e==="metadata"&&t!=null&&l.push(w({tagName:"div",children:[Se(t)],properties:{"data-separator-wrapper":""}})),(e==="line-info"||e==="line-info-basic")&&t!=null){const u=[];i!=null&&(n?(r||(u.push(xe("up")),a++),o||(u.push(xe("down")),a++)):(u.push(xe(!r&&!o?"both":r?"down":"up")),a++)),u.push(w({tagName:"div",children:[w({tagName:"span",children:[Se(t)],properties:{"data-unmodified-lines":""}})],properties:{"data-separator-content":""}})),n&&i!=null&&u.push(w({tagName:"div",children:[Se("Expand all")],properties:{role:"button","data-expand-button":"","data-expand-all-button":""}})),l.push(w({tagName:"div",children:u,properties:{"data-separator-wrapper":"","data-separator-multi-button":a>1?"":void 0}}))}return e==="custom"&&s!=null&&l.push(w({tagName:"slot",properties:{name:s}})),w({tagName:"div",children:l,properties:{"data-separator":l.length===0?"simple":e,"data-expand-index":i,"data-separator-first":r?"":void 0,"data-separator-last":o?"":void 0}})}function Vt(e,t){return`hunk-separator-${e}-${t}`}function Gt(e){const t=e.at(-1);return t==null?0:Math.max(t.additionStart+t.additionCount,t.deletionStart+t.deletionCount)}function Wt(e){return e.startingLine===0&&e.totalLines===1/0&&e.bufferBefore===0&&e.bufferAfter===0}function $t(e){return e!==""?e.split(wt):[]}function G(e,t){const i=Z({name:e.prevName??e.name,contents:e.deletionLines.join("")},{name:e.name,contents:e.additionLines.join(""),lang:e.lang},t);return{hunks:i.hunks,splitLineCount:i.splitLineCount,unifiedLineCount:i.unifiedLineCount,additionLines:i.additionLines,deletionLines:i.deletionLines,type:i.type}}function _t(e,t){const i=e.deletionLines.join(""),n=i===`
1
+ import{b as Te,c as Qe,g as et,s as tt,d as Xe,e as Fe,f as it,h as nt,i as Ye,j as Ne,k as he,l as st,R as rt,I as ot,p as Ue,m as at,n as lt,o as ht,q as Pe,S as dt,r as ut,w as ft,t as Oe,u as ct,v as pt,x as Ae,y as gt,z as mt,A as Ct,B as St,C as vt,a as yt,F as Ht}from"./web-components-BQWjCn_U.js";import{j as w,m as Se,k as Lt,n as Tt,d as At,i as ke,o as U,q as ce,s as kt,b as Rt,f as Be,t as Y,u as Ze,w as Re}from"./computeVirtualFileMetrics-kYyVjXLu.js";import{h as xt,a as se,i as be,b as re,r as Dt,g as Et,c as ve,d as we,e as oe,f as Me,j as ae}from"./isDiffPlainText-Bgm_aLpu.js";import{ke as bt,ku as wt,kv as Ie,gA as _,kw as Mt,kx as It,ky as Ve,kz as zt,kk as Ft,kl as Nt,km as Ut,kn as Pt}from"./useAppFontEffects-BN06mgHB.js";import{c as Ot}from"./vendor-diff-C3JhlQdm.js";import{t as le}from"./vendor-hast-util-to-html-BKBhbTDb.js";function Z(e,t,i,n=!1){const s=bt(Ot(e.name,t.name,e.contents,t.contents,e.header,t.header,i),{cacheKey:(()=>{if(e.cacheKey!=null&&t.cacheKey!=null)return`${e.cacheKey}:${t.cacheKey}`})(),oldFile:e,newFile:t,throwOnError:n});if(s==null)throw new Error("parseDiffFrom: FileInvalid diff -- probably need to fix something -- if the files are the same maybe?");return t.lang!=null&&(s.lang=t.lang),s}var Bt=class{isDeletionsScrolling=!1;isAdditionsScrolling=!1;timeoutId=-1;codeDeletions;codeAdditions;enabled=!1;cleanUp(){this.enabled&&(this.codeDeletions?.removeEventListener("scroll",this.handleDeletionsScroll),this.codeAdditions?.removeEventListener("scroll",this.handleAdditionsScroll),clearTimeout(this.timeoutId),this.codeDeletions=void 0,this.codeAdditions=void 0,this.enabled=!1)}setup(e,t,i){if(t==null||i==null)for(const n of e.children??[])n instanceof HTMLElement&&("deletions"in n.dataset?t=n:"additions"in n.dataset&&(i=n));if(i==null||t==null){this.cleanUp();return}this.codeDeletions!==t&&(this.codeDeletions?.removeEventListener("scroll",this.handleDeletionsScroll),this.codeDeletions=t,t.addEventListener("scroll",this.handleDeletionsScroll,{passive:!0})),this.codeAdditions!==i&&(this.codeAdditions?.removeEventListener("scroll",this.handleAdditionsScroll),this.codeAdditions=i,i.addEventListener("scroll",this.handleAdditionsScroll,{passive:!0})),this.enabled=!0}handleDeletionsScroll=()=>{this.isAdditionsScrolling||(this.isDeletionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isDeletionsScrolling=!1},300),this.codeAdditions?.scrollTo({left:this.codeDeletions?.scrollLeft}))};handleAdditionsScroll=()=>{this.isDeletionsScrolling||(this.isAdditionsScrolling=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isAdditionsScrolling=!1},300),this.codeDeletions?.scrollTo({left:this.codeAdditions?.scrollLeft}))}};function pe(e){return w({tagName:"div",properties:{"data-content-buffer":"","data-buffer-size":e,style:`grid-row: span ${e};min-height:calc(${e} * 1lh)`}})}function ge(e){return w({tagName:"div",children:[w({tagName:"span",children:[Se("No newline at end of file")]})],properties:{"data-no-newline":"","data-line-type":e,"data-column-content":""}})}function xe(e){return w({tagName:"div",children:[Lt({name:e==="both"?"diffs-icon-expand-all":"diffs-icon-expand",properties:{"data-icon":""}})],properties:{role:"button","data-expand-button":"","data-expand-both":e==="both"?"":void 0,"data-expand-up":e==="up"?"":void 0,"data-expand-down":e==="down"?"":void 0}})}function K({type:e,content:t,expandIndex:i,chunked:n=!1,slotName:s,isFirstHunk:r,isLastHunk:o}){let a=0;const l=[];if(e==="metadata"&&t!=null&&l.push(w({tagName:"div",children:[Se(t)],properties:{"data-separator-wrapper":""}})),(e==="line-info"||e==="line-info-basic")&&t!=null){const u=[];i!=null&&(n?(r||(u.push(xe("up")),a++),o||(u.push(xe("down")),a++)):(u.push(xe(!r&&!o?"both":r?"down":"up")),a++)),u.push(w({tagName:"div",children:[w({tagName:"span",children:[Se(t)],properties:{"data-unmodified-lines":""}})],properties:{"data-separator-content":""}})),n&&i!=null&&u.push(w({tagName:"div",children:[Se("Expand all")],properties:{role:"button","data-expand-button":"","data-expand-all-button":""}})),l.push(w({tagName:"div",children:u,properties:{"data-separator-wrapper":"","data-separator-multi-button":a>1?"":void 0}}))}return e==="custom"&&s!=null&&l.push(w({tagName:"slot",properties:{name:s}})),w({tagName:"div",children:l,properties:{"data-separator":l.length===0?"simple":e,"data-expand-index":i,"data-separator-first":r?"":void 0,"data-separator-last":o?"":void 0}})}function Vt(e,t){return`hunk-separator-${e}-${t}`}function Gt(e){const t=e.at(-1);return t==null?0:Math.max(t.additionStart+t.additionCount,t.deletionStart+t.deletionCount)}function Wt(e){return e.startingLine===0&&e.totalLines===1/0&&e.bufferBefore===0&&e.bufferAfter===0}function $t(e){return e!==""?e.split(wt):[]}function G(e,t){const i=Z({name:e.prevName??e.name,contents:e.deletionLines.join("")},{name:e.name,contents:e.additionLines.join(""),lang:e.lang},t);return{hunks:i.hunks,splitLineCount:i.splitLineCount,unifiedLineCount:i.unifiedLineCount,additionLines:i.additionLines,deletionLines:i.deletionLines,type:i.type}}function _t(e,t){const i=e.deletionLines.join(""),n=i===`
2
2
  `?`
3
3
  `:`
4
4
  `,s=Z({name:e.prevName??e.name,contents:i},{name:e.name,contents:n,lang:e.lang},t);return{hunks:s.hunks,splitLineCount:s.splitLineCount,unifiedLineCount:s.unifiedLineCount,additionLines:[""],deletionLines:s.deletionLines,type:s.type}}function jt(e,t,i){if(e.isPartial||e.deletionLines.length!==e.additionLines.length)return B(e,G(e,i));const n=Array.from(t);if(n.length===0)return B(e,{hunks:e.hunks,splitLineCount:e.splitLineCount,unifiedLineCount:e.unifiedLineCount,type:e.type});for(const r of n){const o=e.additionLines[r],a=e.deletionLines[r];if(o==null||a==null||Ie(o)===Ie(a))return B(e,G(e,i))}const s=qt(e,n);if(s.size===0)return B(e,G(e,i));for(const r of s)if(!Xt(e,r,i))return B(e,G(e,i));return Qt(e),xt(e)?B(e,G(e,i)):B(e,{hunks:e.hunks,splitLineCount:e.splitLineCount,unifiedLineCount:e.unifiedLineCount,type:e.type})}function B(e,t){return Object.assign(e,t),t}function qt(e,t){const i=new Set;for(const n of t){const s=Kt(e,n);if(s==null)return new Set;i.add(s)}return i}function Kt(e,t){for(const[i,n]of e.hunks.entries()){const s=n.additionLineIndex+n.additionCount;if(t>=n.additionLineIndex&&t<s)return i}}function Xt(e,t,i){const n=e.hunks[t];if(n==null)return!1;const s=e.deletionLines.slice(n.deletionLineIndex,n.deletionLineIndex+n.deletionCount),r=e.additionLines.slice(n.additionLineIndex,n.additionLineIndex+n.additionCount),o=Z({name:e.prevName??e.name,contents:s.join("")},{name:e.name,contents:r.join(""),lang:e.lang},{...i,context:0}),a=o.hunks[0];return a==null||o.hunks.length!==1?!1:(Zt(n,a),Yt(e,t),!0)}function Yt(e,t){const i=e.hunks[t];if(i==null)return;if(t!==e.hunks.length-1){i.noEOFCRAdditions=!1,i.noEOFCRDeletions=!1;return}const n=e.additionLines.at(-1),s=e.deletionLines.at(-1);i.noEOFCRAdditions=n!=null&&n!==""&&!n.endsWith(`