@vantran-se/openchamber-web 1.23.0 → 1.24.3
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.
- package/bin/cli.test.js +29 -6
- package/bin/lib/cli-http.js +5 -1
- package/bin/lib/commands-status.js +5 -0
- package/dist/assets/{CodeMirrorCommentWidgets-DFg2wnpo.js → CodeMirrorCommentWidgets-BjJHrzmU.js} +1 -1
- package/dist/assets/DiffView-COVQhWGd.js +4 -0
- package/dist/assets/FilesView-B1V5JxFX.js +13 -0
- package/dist/assets/GitView-CDOJy5Ay.js +6 -0
- package/dist/assets/GuestAttachDialog-D3S0Rjic.js +1 -0
- package/dist/assets/{JsonTreeView-BKdsjg5B.js → JsonTreeView-D0C9nU7K.js} +1 -1
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/assets/LinearIssuesView-D7FKg1XJ.js +1 -0
- package/dist/assets/{MarkdownImageGallery-_5gEVr0X.js → MarkdownImageGallery-BrFjAVEf.js} +1 -1
- package/dist/assets/MarkdownRendererImpl-DWepTafh.js +12 -0
- package/dist/assets/{OnboardingScreen-DdP4_nuc.js → OnboardingScreen-Dyxxiqdt.js} +1 -1
- package/dist/assets/{PatchDiff-am3SAss2.js → PatchDiff-DnEhjXcC.js} +1 -1
- package/dist/assets/PierreDiffViewer-DyxZVVVR.js +210 -0
- package/dist/assets/{PlanView-BoJxdRZe.js → PlanView-LW2z_EAP.js} +4 -4
- package/dist/assets/PluginPane-B4tKno2h.js +3 -0
- package/dist/assets/SettingsView-DEaMulN9.js +29 -0
- package/dist/assets/{SettingsWindow-DVTdDSol.js → SettingsWindow-FLDJXOgQ.js} +1 -1
- package/dist/assets/SubmoduleDiffSummary-CvVwD-Vi.js +1 -0
- package/dist/assets/ToolOutputDialog-BiP0x2Rw.js +15 -0
- package/dist/assets/{ToolPartDiffPreview-C7WLk5i9.js → ToolPartDiffPreview-CkR4msKP.js} +2 -2
- package/dist/assets/{VirtualizedFileDiff-DcdgkH-x.js → VirtualizedFileDiff-0pyr_mHY.js} +4 -4
- package/dist/assets/WalkthroughView-yNj4nOP5.js +4 -0
- package/dist/assets/appThemeRegistry-BuUKhbYQ.js +1 -0
- package/dist/assets/commitAndPush-DvJKa3Ks.js +1 -0
- package/dist/assets/{computeVirtualFileMetrics-C8byMnRh.js → computeVirtualFileMetrics-DxTBMuu-.js} +2 -2
- package/dist/assets/de-DgxgFyGG.js +10 -0
- package/dist/assets/es-BFsZj5F_.js +16 -0
- package/dist/assets/fr-jdZ5KKQi.js +14 -0
- package/dist/assets/{index-BB7ryz8y.js → index-CKHjPKbq.js} +1 -1
- package/dist/assets/index-Cbci4i1W.js +40 -0
- package/dist/assets/index-DqaMWNrC.css +1 -0
- package/dist/assets/{isDiffPlainText-45ujMPGb.js → isDiffPlainText-D7FkBMP6.js} +1 -1
- package/dist/assets/{isFilePlainText-Cc4KFSYi.js → isFilePlainText-CL2vsrIZ.js} +1 -1
- package/dist/assets/ja-C5kKrhO4.js +16 -0
- package/dist/assets/ko-DXDTT_0O.js +16 -0
- package/dist/assets/main-CZALtVek.js +896 -0
- package/dist/assets/main-CgXMBNvG.js +2 -0
- package/dist/assets/{markdown-shiki.worker-D5fBU-lw.js → markdown-shiki.worker-CahLvHIq.js} +5 -5
- package/dist/assets/markdownCore-Dh7WEsdM.js +5 -0
- package/dist/assets/miniChat-CwTmDixi.js +2 -0
- package/dist/assets/mobile-CLf2vCtO.js +2 -0
- package/dist/assets/patchFileDiff-Bsba8KFp.js +13 -0
- package/dist/assets/pl-D-7x4Y8Q.js +16 -0
- package/dist/assets/pt-BR-CSBZrHa8.js +16 -0
- package/dist/assets/renderElectronMiniChatApp-C5gAFBk0.js +2 -0
- package/dist/assets/renderMobileApp-V4hYd32H.js +25 -0
- package/dist/assets/runtimeEndpointReset-DhlHCn-2.js +25 -0
- package/dist/assets/scheduledTasksApi-DzjbLd8P.js +1 -0
- package/dist/assets/shikiHighlight-8_3csmr6.js +1 -0
- package/dist/assets/surface-B6n7wJtt.js +1 -0
- package/dist/assets/textMateThemeFromAppTheme-CHo2fCgW.js +1 -0
- package/dist/assets/tr-Dr-oJ22L.js +7 -0
- package/dist/assets/uk-9Nx83UcI.js +16 -0
- package/dist/assets/useAppFontEffects-khZXpFL_.js +7333 -0
- package/dist/assets/useInlineCommentController-DkQ_gqpn.js +2 -0
- package/dist/assets/useRootScrollLock-DdvHf9Pt.js +2 -0
- package/dist/assets/{vendor-base-ui-DdV8vhHn.js → vendor-base-ui-CsXYnR5c.js} +1 -1
- package/dist/assets/{vendor-codemirror-language-data-DzlSIu_W.js → vendor-codemirror-language-data-CdzUmUyZ.js} +2 -2
- package/dist/assets/vendor-framer-motion-Bq3iTZ6r.js +1 -0
- package/dist/assets/vendor-katex-Cp579UoJ.css +1 -0
- package/dist/assets/{vendor-motion-dom-D_o3BTI3.js → vendor-motion-dom-DcCgeG69.js} +1 -1
- package/dist/assets/{vendor-remixicon-react-Dil0zKKT.js → vendor-remixicon-react-BDmGmFCA.js} +1 -1
- package/dist/assets/vendor-strip-json-comments-5dJlOkP1.js +4 -0
- package/dist/assets/{vendor-tanstack-react-virtual-g05Cx3z9.js → vendor-tanstack-react-virtual-ClYN8CzB.js} +1 -1
- package/dist/assets/{vendor-tanstack-virtual-core-Dubg10g5.js → vendor-tanstack-virtual-core-BewVQryB.js} +1 -1
- package/dist/assets/vendor-zod-CgAdXWZO.js +39 -0
- package/dist/assets/{web-components-CdGfR2XJ.js → web-components-B8IcVQAA.js} +2 -2
- package/dist/assets/zh-CN-Bxy_Hj3r.js +16 -0
- package/dist/assets/zh-TW-0BB4gpHM.js +16 -0
- package/dist/index.html +6 -4
- package/dist/mini-chat.html +6 -4
- package/dist/mobile.html +6 -4
- package/package.json +12 -9
- package/server/built-in-extensions/registry.json +4 -0
- package/server/index.d.ts +2 -0
- package/server/index.js +47 -23
- package/server/lib/agent-memory/runtime.js +7 -2
- package/server/lib/agent-memory/runtime.test.js +22 -0
- package/server/lib/agent-tool/DOCUMENTATION.md +17 -4
- package/server/lib/agent-tool/runtime.js +62 -15
- package/server/lib/agent-tool/runtime.test.js +88 -2
- package/server/lib/changelog/update-notes.js +2 -1
- package/server/lib/changelog/update-notes.test.js +19 -0
- package/server/lib/event-stream/DOCUMENTATION.md +26 -0
- package/server/lib/event-stream/delta-coalescer.js +0 -0
- package/server/lib/event-stream/delta-coalescer.test.js +292 -0
- package/server/lib/event-stream/global-hub.js +68 -13
- package/server/lib/event-stream/global-hub.test.js +182 -0
- package/server/lib/event-stream/global-ws-bridge.js +16 -18
- package/server/lib/event-stream/index.js +4 -0
- package/server/lib/event-stream/protocol.js +21 -7
- package/server/lib/event-stream/runtime.js +9 -6
- package/server/lib/event-stream/runtime.test.js +60 -0
- package/server/lib/fs/DOCUMENTATION.md +10 -1
- package/server/lib/fs/git-process.test.js +77 -0
- package/server/lib/fs/routes.js +58 -5
- package/server/lib/fs/routes.test.js +116 -0
- package/server/lib/fs/search.js +2 -1
- package/server/lib/git/DOCUMENTATION.md +30 -6
- package/server/lib/git/routes.js +37 -11
- package/server/lib/git/routes.test.js +78 -0
- package/server/lib/git/serial-refresh.js +93 -0
- package/server/lib/git/serial-refresh.test.js +112 -0
- package/server/lib/git/service.js +588 -74
- package/server/lib/git/service.test.js +492 -0
- package/server/lib/github/DOCUMENTATION.md +5 -0
- package/server/lib/github/pr-status.js +5 -5
- package/server/lib/github/pr-status.test.js +1 -1
- package/server/lib/github/routes.js +6 -6
- package/server/lib/guests/DOCUMENTATION.md +68 -0
- package/server/lib/guests/auth-store.js +184 -0
- package/server/lib/guests/auth-store.test.js +112 -0
- package/server/lib/guests/background.test.js +83 -0
- package/server/lib/guests/builtins.js +34 -0
- package/server/lib/guests/builtins.test.js +174 -0
- package/server/lib/guests/catalog.js +477 -0
- package/server/lib/guests/catalog.test.js +390 -0
- package/server/lib/guests/clone.js +297 -0
- package/server/lib/guests/extract-zip.js +136 -0
- package/server/lib/guests/extract-zip.test.js +109 -0
- package/server/lib/guests/files.js +308 -0
- package/server/lib/guests/files.test.js +262 -0
- package/server/lib/guests/grant-scope.js +81 -0
- package/server/lib/guests/grant-scope.test.js +75 -0
- package/server/lib/guests/host-session.js +73 -0
- package/server/lib/guests/host-session.test.js +30 -0
- package/server/lib/guests/html-styles.js +6 -0
- package/server/lib/guests/html-styles.test.js +45 -0
- package/server/lib/guests/html-tokens.js +73 -0
- package/server/lib/guests/html-tokens.test.js +53 -0
- package/server/lib/guests/install.js +406 -0
- package/server/lib/guests/install.test.js +338 -0
- package/server/lib/guests/oauth.js +501 -0
- package/server/lib/guests/oauth.test.js +481 -0
- package/server/lib/guests/persist.js +336 -0
- package/server/lib/guests/persist.test.js +288 -0
- package/server/lib/guests/request.js +112 -0
- package/server/lib/guests/request.test.js +206 -0
- package/server/lib/guests/routes.js +838 -0
- package/server/lib/guests/service.js +538 -0
- package/server/lib/guests/service.test.js +277 -0
- package/server/lib/guests/sockets.js +129 -0
- package/server/lib/guests/sockets.test.js +110 -0
- package/server/lib/guests/ssh-install.test.js +188 -0
- package/server/lib/guests/storage.js +68 -0
- package/server/lib/guests/storage.test.js +59 -0
- package/server/lib/guests/updates.js +294 -0
- package/server/lib/guests/updates.test.js +334 -0
- package/server/lib/guests/upload.js +50 -0
- package/server/lib/guests/upload.test.js +131 -0
- package/server/lib/linear/DOCUMENTATION.md +1 -1
- package/server/lib/message-queue/DOCUMENTATION.md +17 -1
- package/server/lib/message-queue/runtime.js +34 -1
- package/server/lib/message-queue/runtime.test.js +83 -6
- package/server/lib/notifications/DOCUMENTATION.md +1 -1
- package/server/lib/notifications/emitter-runtime.js +4 -3
- package/server/lib/notifications/routes.js +5 -0
- package/server/lib/openchamber-control/DOCUMENTATION.md +6 -0
- package/server/lib/openchamber-sessions/routes.js +62 -29
- package/server/lib/openchamber-sessions/routes.test.js +96 -0
- package/server/lib/opencode/DOCUMENTATION.md +73 -5
- package/server/lib/opencode/bootstrap-runtime.js +1 -0
- package/server/lib/opencode/core-routes.js +39 -1
- package/server/lib/opencode/env-runtime.js +5 -1
- package/server/lib/opencode/env-runtime.test.js +72 -0
- package/server/lib/opencode/feature-routes-runtime.js +30 -1
- package/server/lib/opencode/lifecycle-process.test.js +84 -0
- package/server/lib/opencode/lifecycle.js +58 -70
- package/server/lib/opencode/lifecycle.test.js +29 -0
- package/server/lib/opencode/managed-plugin-config.js +1 -1
- package/server/lib/opencode/openchamber-routes.js +72 -14
- package/server/lib/opencode/openchamber-routes.test.js +71 -3
- package/server/lib/opencode/proxy.js +33 -0
- package/server/lib/opencode/session-runtime.js +68 -0
- package/server/lib/opencode/session-runtime.test.js +43 -0
- package/server/lib/opencode/settings-helpers.js +11 -0
- package/server/lib/opencode/settings-helpers.test.js +24 -2
- package/server/lib/opencode/settings-normalization-runtime.js +2 -0
- package/server/lib/opencode/settings-normalization-runtime.test.js +13 -0
- package/server/lib/opencode/settings-registry.json +18 -0
- package/server/lib/opencode/settings-runtime.js +36 -9
- package/server/lib/opencode/settings-runtime.test.js +158 -2
- package/server/lib/opencode/shutdown-runtime.js +3 -0
- package/server/lib/opencode/shutdown-runtime.test.js +24 -0
- package/server/lib/opencode/theme-archive.js +53 -0
- package/server/lib/opencode/theme-catalog.js +171 -0
- package/server/lib/opencode/theme-catalog.test.js +125 -0
- package/server/lib/opencode/theme-import.test.js +144 -0
- package/server/lib/opencode/theme-runtime.js +100 -28
- package/server/lib/opencode/theme-runtime.test.js +15 -0
- package/server/lib/permission-auto-accept/DOCUMENTATION.md +8 -0
- package/server/lib/permission-auto-accept/runtime.js +13 -0
- package/server/lib/permission-auto-accept/runtime.test.js +37 -1
- package/server/lib/project-context/DOCUMENTATION.md +13 -3
- package/server/lib/project-context/runtime.js +8 -2
- package/server/lib/project-context/runtime.test.js +54 -0
- package/server/lib/projects/DOCUMENTATION.md +2 -1
- package/server/lib/projects/project-config.js +40 -11
- package/server/lib/projects/project-config.test.js +97 -0
- package/server/lib/projects/project-id.js +26 -0
- package/server/lib/quota/DOCUMENTATION.md +0 -1
- package/server/lib/quota/providers/index.js +0 -7
- package/server/lib/realtime-proxy-terminal.test.js +150 -0
- package/server/lib/realtime-proxy.js +2 -0
- package/server/lib/relay/DOCUMENTATION.md +20 -0
- package/server/lib/relay/host-client.js +7 -0
- package/server/lib/relay/host-client.test.js +14 -0
- package/server/lib/routing/DOCUMENTATION.md +83 -0
- package/server/lib/routing/defaults.js +98 -0
- package/server/lib/routing/feature-flag.js +11 -0
- package/server/lib/routing/history.js +34 -0
- package/server/lib/routing/jev.js +98 -0
- package/server/lib/routing/routes.http.test.js +100 -0
- package/server/lib/routing/routes.js +81 -0
- package/server/lib/routing/runtime.js +217 -0
- package/server/lib/routing/runtime.test.js +188 -0
- package/server/lib/routing/store.js +249 -0
- package/server/lib/routing/store.test.js +96 -0
- package/server/lib/scheduled-tasks/DOCUMENTATION.md +9 -1
- package/server/lib/scheduled-tasks/issue-2710-double-execution.test.js +28 -0
- package/server/lib/scheduled-tasks/runtime.js +14 -4
- package/server/lib/scheduled-tasks/runtime.test.js +67 -0
- package/server/lib/security/request-security.js +9 -5
- package/server/lib/security/request-security.test.js +37 -0
- package/server/lib/session-assist/DOCUMENTATION.md +131 -66
- package/server/lib/session-assist/context.js +127 -0
- package/server/lib/session-assist/context.test.js +132 -0
- package/server/lib/session-assist/prompt.js +54 -0
- package/server/lib/session-assist/runtime.js +111 -257
- package/server/lib/session-assist/runtime.test.js +203 -0
- package/server/lib/small-model/DOCUMENTATION.md +14 -2
- package/server/lib/small-model/call.js +37 -6
- package/server/lib/small-model/call.test.js +182 -0
- package/server/lib/terminal/DOCUMENTATION.md +23 -2
- package/server/lib/terminal/runtime.js +27 -5
- package/server/lib/terminal/runtime.test.js +67 -0
- package/server/lib/terminal/shutdown.js +106 -0
- package/server/lib/terminal/shutdown.test.js +84 -0
- package/server/lib/tts/service.test.js +78 -0
- package/server/lib/ui-auth/DOCUMENTATION.md +8 -0
- package/server/lib/ui-auth/session-cookie.js +51 -0
- package/server/lib/ui-auth/session-cookie.test.js +46 -0
- package/server/lib/ui-auth/ui-auth.js +56 -17
- package/server/lib/ui-auth/ui-auth.test.js +96 -0
- package/server/lib/walkthrough/DOCUMENTATION.md +15 -5
- package/server/lib/walkthrough/pr-source.test.js +21 -0
- package/server/lib/walkthrough/pull-request.js +7 -4
- package/server/lib/walkthrough/pull-request.test.js +16 -0
- package/server/lib/walkthrough/routes.js +19 -0
- package/server/lib/walkthrough/routes.test.js +26 -0
- package/server/lib/walkthrough/sources.js +13 -2
- package/server/opencode-worktree-readiness.test.js +130 -0
- package/dist/assets/DiffView-3Dn4QHbu.js +0 -4
- package/dist/assets/DirtyBranchSwitchDialog-CwOerqVi.js +0 -1
- package/dist/assets/FilesView-BdTOpew9.js +0 -17
- package/dist/assets/GitView-Dqf9vHJh.js +0 -6
- package/dist/assets/LinearIssuesView-CmbeL7I6.js +0 -1
- package/dist/assets/MarkdownRendererImpl-wVZlx4dd.js +0 -12
- package/dist/assets/PierreDiffViewer-DCsydlKs.js +0 -161
- package/dist/assets/SettingsView-CcM8pF5O.js +0 -28
- package/dist/assets/ToolOutputDialog-BgfTbDZ4.js +0 -15
- package/dist/assets/WalkthroughView-BEVUDxuw.js +0 -4
- package/dist/assets/appThemeRegistry-BK0dHKa6.js +0 -1
- package/dist/assets/de-C8jV7J9y.js +0 -10
- package/dist/assets/es-BI6J1M5R.js +0 -16
- package/dist/assets/fr-D6oDFt7E.js +0 -14
- package/dist/assets/index-BqhiCmYS.js +0 -39
- package/dist/assets/index-FqSOBz0J.css +0 -1
- package/dist/assets/ja-C_4i5EQu.js +0 -16
- package/dist/assets/ko-BFbOTpbq.js +0 -16
- package/dist/assets/main-C9ETLKFc.js +0 -2
- package/dist/assets/main-CJmb2dF8.js +0 -930
- package/dist/assets/markdownCore-DVuZpnli.js +0 -5
- package/dist/assets/miniChat-B4Ytoq2n.js +0 -2
- package/dist/assets/mobile-BUT6-lo1.js +0 -2
- package/dist/assets/patchFileDiff-8j1apICU.js +0 -13
- package/dist/assets/pl-COFvT56l.js +0 -16
- package/dist/assets/pt-BR-DtVOO2Lj.js +0 -16
- package/dist/assets/registerCustomTheme-BBXUCRnG.js +0 -1
- package/dist/assets/renderElectronMiniChatApp-B6vUG-vF.js +0 -2
- package/dist/assets/renderMobileApp-BNgHraq6.js +0 -25
- package/dist/assets/runtimeEndpointReset-B8LYpWvr.js +0 -17
- package/dist/assets/scheduledTasksApi-GC4epIYA.js +0 -1
- package/dist/assets/shikiHighlight-BJISeZsQ.js +0 -1
- package/dist/assets/surface-BvRzS58U.js +0 -1
- package/dist/assets/tr-B8Q0Go2l.js +0 -7
- package/dist/assets/uk-Dk4a-Fn-.js +0 -16
- package/dist/assets/useAppFontEffects-DpFNefUA.js +0 -7284
- package/dist/assets/useGitComparison-Dfxaqd0s.js +0 -1
- package/dist/assets/useInlineCommentController-CscsE4t-.js +0 -2
- package/dist/assets/useRootScrollLock-BaCvuRlT.js +0 -1
- package/dist/assets/vendor-framer-motion-livSKyyV.js +0 -1
- package/dist/assets/vendor-zod-BPAANqvH.js +0 -39
- package/dist/assets/zh-CN-B_BXxG1Q.js +0 -16
- package/dist/assets/zh-TW-DLrl1SPZ.js +0 -16
- package/server/lib/mcp-reconnect/DOCUMENTATION.md +0 -55
- package/server/lib/mcp-reconnect/runtime.js +0 -122
- package/server/lib/mcp-reconnect/runtime.test.js +0 -140
- package/server/lib/quota/providers/crof.js +0 -96
- package/server/lib/quota/providers/crof.test.js +0 -98
- /package/dist/assets/{vendor-katex-k3Ppq1Ha.js → vendor-katex-CHD9BdDO.js} +0 -0
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{R as N,f as ue,j as o,c as He}from"./vendor-react-BUCujlKS.js";import{N as Ke,fK as Xe,hR as Qe,f as Me,h as pe,I as P,hS as et,ci as _e,au as $e,hT as tt,hU as it,hV as ot,hW as rt,hX as nt,c4 as We,hY as st,hZ as at,ef as lt,eg as Le,h_ as ct,bM as mt,bL as dt}from"./useAppFontEffects-DpFNefUA.js";import{F as Ue,J as ut}from"./JsonTreeView-BKdsjg5B.js";import{P as ft}from"./PatchDiff-am3SAss2.js";import{cF as Ne,h as pt}from"./index-BqhiCmYS.js";import{ensurePierreThemeRegistered as Ee}from"./appThemeRegistry-BK0dHKa6.js";import{u as ht}from"./vendor-tanstack-react-virtual-g05Cx3z9.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-base-ui-DdV8vhHn.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-livSKyyV.js";import"./vendor-motion-dom-D_o3BTI3.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-DzlSIu_W.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-zod-BPAANqvH.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./web-components-CdGfR2XJ.js";import"./computeVirtualFileMetrics-C8byMnRh.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-Cc4KFSYi.js";import"./VirtualizedFileDiff-DcdgkH-x.js";import"./isDiffPlainText-45ujMPGb.js";import"./vendor-diff-C3JhlQdm.js";import"./vendor-opencode-sdk-BJ73u-bH.js";import"./registerCustomTheme-BBXUCRnG.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";const gt=80,Oe=20,qe=N.memo(i=>{const e=ue.c(26),{lines:t,language:a,maxHeight:c,showLineNumbers:r,lineStyles:l}=i,n=c===void 0?"60vh":c,s=r===void 0?!0:r,{currentTheme:f}=Ke();let d;e[0]!==f?(d=Xe(f),e[0]=f,e[1]=d):d=e[1];const b=d;let k;e[2]!==t?(k=t.map(xt).join(`
|
|
2
|
-
`),e[2]=t,e[3]=k):k=e[3];const y=Qe(k,a).lines;if(!(t.length>gt)){const v=b;let w;e[4]!==n||e[5]!==v?(w={...v,maxHeight:n,overflow:"auto"},e[4]=n,e[5]=v,e[6]=w):w=e[6];let x;if(e[7]!==y||e[8]!==l||e[9]!==t||e[10]!==s){let h;e[12]!==y||e[13]!==l||e[14]!==s?(h=(S,L)=>o.jsx(Pe,{line:S,html:y?.[L],showLineNumbers:s,style:l?.(S)},L),e[12]=y,e[13]=l,e[14]=s,e[15]=h):h=e[15],x=t.map(h),e[7]=y,e[8]=l,e[9]=t,e[10]=s,e[11]=x}else x=e[11];let u;return e[16]!==w||e[17]!==x?(u=o.jsx("div",{className:"typography-code font-mono w-full min-w-0",style:w,children:x}),e[16]=w,e[17]=x,e[18]=u):u=e[18],u}let T;return e[19]!==y||e[20]!==l||e[21]!==t||e[22]!==n||e[23]!==s||e[24]!==b?(T=o.jsx(Be,{lines:t,highlighted:y,syntaxVars:b,maxHeight:n,showLineNumbers:s,lineStyles:l}),e[19]=y,e[20]=l,e[21]=t,e[22]=n,e[23]=s,e[24]=b,e[25]=T):T=e[25],T});qe.displayName="VirtualizedCodeBlock";const Be=N.memo(({lines:i,highlighted:e,syntaxVars:t,maxHeight:a,showLineNumbers:c,lineStyles:r})=>{const l=N.useRef(null),n=`min(${i.length*Oe}px, ${a})`,s=ht({count:i.length,getScrollElement:()=>l.current,estimateSize:()=>Oe,overscan:20}),f=s.getVirtualItems();return o.jsx("div",{ref:l,className:"typography-code font-mono w-full min-w-0",style:{...t,height:n,maxHeight:a,overflow:"auto"},children:o.jsx("div",{style:{height:s.getTotalSize(),position:"relative"},children:f.map(d=>{const b=i[d.index];return b?o.jsx("div",{"data-index":d.index,ref:s.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${d.start}px)`},children:o.jsx(Pe,{line:b,html:e?.[d.index],showLineNumbers:c,style:r?.(b)})},d.index):null})})})});Be.displayName="VirtualizedRows";const Pe=N.memo(i=>{const e=ue.c(12),{line:t,html:a,showLineNumbers:c,style:r}=i;let l;e[0]!==t.isInfo||e[1]!==t.lineNumber||e[2]!==c?(l=c&&o.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(--tools-edit-line-number)",borderColor:"var(--tools-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=o.jsx("div",{className:"flex-1 min-w-0",children:t.isInfo?o.jsx("div",{className:"whitespace-pre-wrap break-words text-muted-foreground/70 italic",children:t.text}):a!==void 0?o.jsx("div",{className:"whitespace-pre",dangerouslySetInnerHTML:{__html:a}}):o.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=o.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});Pe.displayName="VirtualizedCodeBlock.Row";function xt(i){return i.text}class Ce extends Error{key;params;constructor(e,t){super(e),this.name="MermaidLoadFailure",this.key=e,this.params=t}}const wt=(i,e)=>new Ce(i,e),yt=i=>i instanceof Ce,bt=i=>i+1,Ae=(i,e)=>i===e,vt=i=>{const e=i.indexOf(",");if(e<0)throw wt("chat.toolOutputDialog.mermaid.dataUrlMalformed");const t=i.slice(0,e).toLowerCase(),a=i.slice(e+1);return t.includes(";base64")?atob(a):decodeURIComponent(a)},jt=i=>Promise.resolve().then(()=>vt(i)),Ie=(i,e)=>new Ce(i,e),Nt=i=>{const e="h-3.5 w-3.5 flex-shrink-0",t=i.toLowerCase();return t==="reasoning"?o.jsx(P,{name:"brain-ai-3",className:e}):t==="image-preview"?o.jsx(P,{name:"file-image",className:e}):t==="mermaid-preview"?o.jsx(P,{name:"file-list-2",className:e}):t==="edit"||t==="multiedit"||t==="apply_patch"||t==="str_replace"||t==="str_replace_based_edit_tool"?o.jsx(P,{name:"pencil-ai",className:e}):t==="write"||t==="create"||t==="file_write"?o.jsx(P,{name:"file-pdf",className:e}):t==="read"||t==="view"||t==="file_read"||t==="cat"?o.jsx(P,{name:"file-pdf",className:e}):t==="bash"||t==="shell"||t==="cmd"||t==="terminal"?o.jsx(P,{name:"terminal-box",className:e}):t==="list"||t==="ls"||t==="dir"||t==="list_files"?o.jsx(P,{name:"folder-6",className:e}):t==="search"||t==="grep"||t==="find"||t==="ripgrep"?o.jsx(P,{name:"search",className:e}):t==="glob"?o.jsx(P,{name:"file-search",className:e}):t==="fetch"||t==="curl"||t==="wget"||t==="webfetch"?o.jsx(P,{name:"global",className:e}):t==="web-search"||t==="websearch"||t==="search_web"||t==="google"||t==="bing"||t==="duckduckgo"?o.jsx(P,{name:"search",className:e}):t==="todowrite"||t==="todoread"?o.jsx(P,{name:"list-check-3",className:e}):t==="plan_enter"?o.jsx(P,{name:"file-list-2",className:e}):t==="plan_exit"?o.jsx(P,{name:"task",className:e}):t.startsWith("git")?o.jsx(P,{name:"git-branch",className:e}):o.jsx(P,{name:"tools",className:e})},Fe=150,St=40,Tt=120,kt=3,Re={style:{background:"transparent",backgroundColor:"transparent",fontSize:"inherit"}},_t={download:!1,copy:!1,showPanZoomControls:!0},Rt=`
|
|
3
|
-
[data-diff-header],
|
|
4
|
-
[data-diff] {
|
|
5
|
-
[data-separator] {
|
|
6
|
-
height: 24px !important;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
`,It={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},Dt=()=>{const i=ue.c(22),e=lt();let t;i[0]===Symbol.for("react.memo_cache_sentinel")?(t=Le(!1),i[0]=t):t=i[0];const a=t;let c;i[1]===Symbol.for("react.memo_cache_sentinel")?(c=Le(!0),i[1]=c):c=i[1];const r=c;let l;i[2]!==e?.availableThemes?(l=()=>e?.availableThemes??[a,r],i[2]=e?.availableThemes,i[3]=l):l=i[3],e?.availableThemes;let n;i[4]!==l?(n=l(),i[4]=l,i[5]=n):n=i[5];const s=n,f=e?.lightThemeId??a.metadata.id,d=e?.darkThemeId??r.metadata.id;let b;i[6]!==s||i[7]!==f?(b=s.find(u=>u.metadata.id===f)??a,i[6]=s,i[7]=f,i[8]=b):b=i[8];const k=b;let C;i[9]!==s||i[10]!==d?(C=s.find(u=>u.metadata.id===d)??r,i[9]=s,i[10]=d,i[11]=C):C=i[11];const _=C;let y,I;i[12]!==_||i[13]!==k?(y=()=>{Ee(k),Ee(_)},I=[_,k],i[12]=_,i[13]=k,i[14]=y,i[15]=I):(y=i[14],I=i[15]),N.useEffect(y,I);const T=e?.currentTheme.metadata.variant??"light";let v;i[16]!==_.metadata.id||i[17]!==k.metadata.id?(v={light:k.metadata.id,dark:_.metadata.id},i[16]=_.metadata.id,i[17]=k.metadata.id,i[18]=v):v=i[18];const w=T==="dark"?"dark":"light";let x;return i[19]!==v||i[20]!==w?(x={theme:v,themeType:w},i[19]=v,i[20]=w,i[21]=x):x=i[21],x},ze=()=>({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}),Ve={mobile:{widthRatio:.94,heightRatio:.86,padding:10},desktop:{widthRatio:.8,heightRatio:.8,padding:16}},Mt=(i,e)=>{const t=e?Ve.mobile:Ve.desktop,a=Math.max(160,i.width-t.padding*2),c=Math.max(160,i.height-t.padding*2);return{maxWidth:Math.max(160,Math.min(a,i.width*t.widthRatio)),maxHeight:Math.max(160,Math.min(c,i.height*t.heightRatio))}},Pt=i=>{try{const r=Array.from(i.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=i.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(i.getAttribute("width")),a=Number(i.getAttribute("height"));if(Number.isFinite(t)&&Number.isFinite(a)&&t>0&&a>0)return t/a;const c=i.getBoundingClientRect();return c.width>0&&c.height>0?c.width/c.height:null},Ge=i=>{const e=ue.c(7),[t,a]=N.useState(i),[c,r]=N.useState(i),[l,n]=N.useState(!1);let s,f;e[0]!==i?(s=()=>{if(i){if(a(!0),n(!0),typeof window>"u"){r(!0);return}const k=window.requestAnimationFrame(()=>{r(!0)}),C=window.setTimeout(()=>{n(!1)},Fe);return()=>{window.cancelAnimationFrame(k),window.clearTimeout(C)}}if(r(!1),n(!0),typeof window>"u"){a(!1);return}const b=window.setTimeout(()=>{a(!1),n(!1)},Fe);return()=>{window.clearTimeout(b)}},f=[i],e[0]=i,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},Je=i=>{const e=ue.c(3),[t,a]=N.useState(ze);let c,r;return e[0]!==i?(c=()=>{if(!i||typeof window>"u")return;const l=()=>{a(ze())};return l(),window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},r=[i],e[0]=i,e[1]=c,e[2]=r):(c=e[1],r=e[2]),N.useEffect(c,r),t},Ct=i=>{const e=ue.c(103),{popup:t,onOpenChange:a,isMobile:c}=i,{t:r}=Me();let l;e:{const m=t.image;if(!m){let R;e[0]===Symbol.for("react.memo_cache_sentinel")?(R=[],e[0]=R):R=e[0],l=R;break e}let g;e[1]!==m.gallery?(g=Array.isArray(m.gallery)?m.gallery.filter(Et):[],e[1]=m.gallery,e[2]=g):g=e[2];const M=g;if(M.length>0){l=M;break e}let E;e[3]!==m.filename||e[4]!==m.mimeType||e[5]!==m.size||e[6]!==m.url?(E=[{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]=E):E=e[7],l=E}const n=l,[s,f]=N.useState(0),[d,b]=N.useState(null),{isRendered:k,isVisible:C,isTransitioning:_}=Ge(t.open),y=Je(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 g=t.image?.url?n.findIndex(M=>M.url===t.image?.url):-1;f(g>=0?g:0)},e[8]=n,e[9]=t.image,e[10]=t.open,e[11]=I):I=e[11];const T=t.image?.index,v=t.image?.url;let w;e[12]!==n||e[13]!==t.open||e[14]!==T||e[15]!==v?(w=[n,T,v,t.open],e[12]=n,e[13]=t.open,e[14]=T,e[15]=v,e[16]=w):w=e[16],N.useEffect(I,w);const x=n[s]??n[0]??t.image,u=x?.filename||t.title||"Image preview",h=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 L=S;let p;e[19]!==n.length?(p=()=>{n.length<=1||f(m=>(m+1)%n.length)},e[19]=n.length,e[20]=p):p=e[20];const A=p;let D,K;e[21]!==h||e[22]!==a||e[23]!==t.open||e[24]!==A||e[25]!==L?(D=()=>{if(!t.open)return;const m=g=>{if(g.key==="Escape"){a(!1);return}if(g.key==="ArrowLeft"&&h){g.preventDefault(),L();return}g.key==="ArrowRight"&&h&&(g.preventDefault(),A())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},K=[h,a,t.open,A,L],e[21]=h,e[22]=a,e[23]=t.open,e[24]=A,e[25]=L,e[26]=D,e[27]=K):(D=e[26],K=e[27]),N.useEffect(D,K);let z;e[28]===Symbol.for("react.memo_cache_sentinel")?(z=()=>{b(null)},e[28]=z):z=e[28];const fe=x?.url;let ge;e[29]!==fe?(ge=[fe],e[29]=fe,e[30]=ge):ge=e[30],N.useEffect(z,ge);let xe;e:{const m=Math.max(160,y.width*(c?.86:.75)),g=Math.max(160,y.height*(c?.72:.75));if(!d){let ve;e[31]!==m?(ve=Math.round(m),e[31]=m,e[32]=ve):ve=e[32];let je;e[33]!==g?(je=Math.round(g),e[33]=g,e[34]=je):je=e[34];let ke;e[35]!==ve||e[36]!==je?(ke={width:ve,height:je},e[35]=ve,e[36]=je,e[37]=ke):ke=e[37],xe=ke;break e}const M=m/d.width,E=g/d.height,R=Math.min(M,E);let O;e[38]!==d.width||e[39]!==R?(O=Math.round(d.width*R),e[38]=d.width,e[39]=R,e[40]=O):O=e[40];const Y=Math.max(1,O);let Se;e[41]!==d.height||e[42]!==R?(Se=Math.round(d.height*R),e[41]=d.height,e[42]=R,e[43]=Se):Se=e[43];const De=Math.max(1,Se);let Te;e[44]!==Y||e[45]!==De?(Te={width:Y,height:De},e[44]=Y,e[45]=De,e[46]=Te):Te=e[46],xe=Te}const ie=xe;if(!k||!x||typeof document>"u")return null;const we=t.open?"pointer-events-auto":"pointer-events-none";let oe;e[47]!==we?(oe=pe("fixed inset-0 z-50",we),e[47]=we,e[48]=oe):oe=e[48];const re=_&&"transition-opacity duration-150 ease-out",he=C?"opacity-100":"opacity-0";let V;e[49]!==re||e[50]!==he?(V=pe("absolute inset-0 bg-black/40",re,he),e[49]=re,e[50]=he,e[51]=V):V=e[51];let H;e[52]!==a?(H=()=>a(!1),e[52]=a,e[53]=H):H=e[53];let ne;e[54]!==V||e[55]!==H?(ne=o.jsx("div",{"aria-hidden":"true",className:V,onMouseDown:H}),e[54]=V,e[55]=H,e[56]=ne):ne=e[56];let $;e[57]!==h||e[58]!==A||e[59]!==L||e[60]!==r?($=h&&o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button",onMouseDown:Ot,onClick:L,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-black/40 text-foreground/90 hover:bg-black/55 focus:outline-none focus:ring-2 focus:ring-primary/60","aria-label":r("chat.toolOutputDialog.image.previousAria"),children:o.jsx(P,{name:"arrow-left-s",className:"h-6 w-6"})}),o.jsx("button",{type:"button",onMouseDown:At,onClick:A,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-black/40 text-foreground/90 hover:bg-black/55 focus:outline-none focus:ring-2 focus:ring-primary/60","aria-label":r("chat.toolOutputDialog.image.nextAria"),children:o.jsx(P,{name:"arrow-right-s",className:"h-6 w-6"})})]}),e[57]=h,e[58]=A,e[59]=L,e[60]=r,e[61]=$):$=e[61];const ye=c?"p-2.5":"p-4";let se;e[62]!==ye?(se=pe("absolute inset-0 flex items-center justify-center pointer-events-none",ye),e[62]=ye,e[63]=se):se=e[63];const ae=_&&"transition-opacity duration-150 ease-out",be=C?"opacity-100":"opacity-0";let W;e[64]!==ae||e[65]!==be?(W=pe("pointer-events-auto flex flex-col gap-2",ae,be),e[64]=ae,e[65]=be,e[66]=W):W=e[66];const le=`${ie.width}px`;let U;e[67]!==le?(U={width:le},e[67]=le,e[68]=U):U=e[68];let X;e[69]!==u?(X=o.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]=X):X=e[70];let q;e[71]!==a?(q=()=>a(!1),e[71]=a,e[72]=q):q=e[72];let ce;e[73]!==r?(ce=r("chat.toolOutputDialog.image.closeAria"),e[73]=r,e[74]=ce):ce=e[74];let Q;e[75]===Symbol.for("react.memo_cache_sentinel")?(Q=o.jsx(P,{name:"close",className:"h-4 w-4"}),e[75]=Q):Q=e[75];let B;e[76]!==q||e[77]!==ce?(B=o.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-primary/60",onClick:q,"aria-label":ce,children:Q}),e[76]=q,e[77]=ce,e[78]=B):B=e[78];let G;e[79]!==X||e[80]!==B?(G=o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[X,B]}),e[79]=X,e[80]=B,e[81]=G):G=e[81];const me=`${ie.width}px`,de=`${ie.height}px`;let J;e[82]!==me||e[83]!==de?(J={width:me,height:de},e[82]=me,e[83]=de,e[84]=J):J=e[84];let ee;e[85]===Symbol.for("react.memo_cache_sentinel")?(ee=m=>{const g=m.currentTarget,M=g.naturalWidth,E=g.naturalHeight;M>0&&E>0&&b(R=>R&&R.width===M&&R.height===E?R:{width:M,height:E})},e[85]=ee):ee=e[85];let Z;e[86]!==x.url||e[87]!==u||e[88]!==J?(Z=o.jsx("img",{src:x.url,alt:u,className:"block object-contain",style:J,loading:"lazy",onLoad:ee}),e[86]=x.url,e[87]=u,e[88]=J,e[89]=Z):Z=e[89];let te;e[90]!==W||e[91]!==U||e[92]!==G||e[93]!==Z?(te=o.jsxs("div",{className:W,style:U,children:[G,Z]}),e[90]=W,e[91]=U,e[92]=G,e[93]=Z,e[94]=te):te=e[94];let j;e[95]!==se||e[96]!==te?(j=o.jsx("div",{className:se,children:te}),e[95]=se,e[96]=te,e[97]=j):j=e[97];let F;if(e[98]!==oe||e[99]!==ne||e[100]!==$||e[101]!==j){const m=o.jsxs("div",{className:oe,children:[ne,$,j]});F=He.createPortal(m,document.body),e[98]=oe,e[99]=ne,e[100]=$,e[101]=j,e[102]=F}else F=e[102];return F},Ze=N.memo(i=>{const e=ue.c(7),{popup:t,diffViewMode:a,pierreThemeConfig:c}=i,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:Rt},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=o.jsx("div",{className:"typography-code",children:o.jsx(ft,{patch:r,metrics:It,options:n,className:"block w-full"})}),e[4]=r,e[5]=n,e[6]=s):s=e[6],s});Ze.displayName="DialogUnifiedDiff";const Ye=N.memo(i=>{const e=ue.c(29),{popup:t,pierreThemeConfig:a}=i;let c;e[0]!==t.content?(c=ct(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 b;e[4]!==r.lines?(b=r.lines.map(Ft).join(`
|
|
10
|
-
`),e[4]=r.lines,e[5]=b):b=e[5];const k=b;let C;e[6]!==d||e[7]!==t.language?(C=t.language||$e(d)||"text",e[6]=d,e[7]=t.language,e[8]=C):C=e[8];const _=C;let y;e[9]!==r.lines?(y=r.lines.some(zt),e[9]=r.lines,e[10]=y):y=e[10];const I=y;let T;if(e[11]!==I||e[12]!==f||e[13]!==r.lines||e[14]!==r.type){T=[];let x=f;for(const u of r.lines){u.lineNumber!==null&&(x=u.lineNumber);const h=r.type==="file"&&!I&&u.lineNumber===null&&!u.isInfo,S=u.lineNumber??(h?x+1:null);typeof S=="number"&&(x=S),T.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]=T}else T=e[15];const v=T;if(r.type==="file"){const x=_||void 0;let u;e[16]!==k||e[17]!==d||e[18]!==x?(u={name:d,contents:k,lang:x},e[16]=k,e[17]=d,e[18]=x,e[19]=u):u=e[19];let h;e[20]!==a.theme||e[21]!==a.themeType?(h={disableFileHeader:!0,overflow:"wrap",theme:a.theme,themeType:a.themeType},e[20]=a.theme,e[21]=a.themeType,e[22]=h):h=e[22];let S;return e[23]!==u||e[24]!==h?(S=o.jsx(Ue,{file:u,options:h,className:"block w-full"}),e[23]=u,e[24]=h,e[25]=S):S=e[25],S}let w;return e[26]!==v||e[27]!==_?(w=o.jsx(qe,{lines:v,language:_,maxHeight:"70vh"}),e[26]=v,e[27]=_,e[28]=w):w=e[28],w});Ye.displayName="DialogReadContent";const Lt=i=>{const e=ue.c(90),{popup:t,onOpenChange:a,isMobile:c}=i,{t:r}=Me(),[l,n]=N.useState(t.mermaid?.source||""),[s,f]=N.useState(t.mermaid?.source?"ready":"idle"),[d,b]=N.useState(""),{isRendered:k,isVisible:C,isTransitioning:_}=Ge(t.open),[y,I]=N.useState(null),T=Je(t.open),v=N.useRef(0),w=N.useRef(null),x=Wt;let u;e[0]!==t.mermaid||e[1]!==r?(u=async()=>{const j=t.mermaid,F=bt(v.current);if(v.current=F,!j?.url){f("error"),b(r("chat.toolOutputDialog.mermaid.missingSource"));return}if(j.source){n(j.source),f("ready"),b("");return}f("loading"),b("");let m;if(j.url.startsWith("data:"))m=jt(j.url);else if(j.url.toLowerCase().startsWith("file://")){const g=x(j.url);g?m=pt("/api/fs/raw",{query:{path:g}}).then(Ut):m=Promise.reject(Ie("chat.toolOutputDialog.mermaid.invalidLocalPath"))}else{const M=(typeof URL.canParse=="function"?URL.canParse(j.url,window.location.origin):!1)?new URL(j.url,window.location.origin):null;!M||M.protocol!=="http:"&&M.protocol!=="https:"?m=Promise.reject(Ie("chat.toolOutputDialog.mermaid.unsupportedUrlProtocol")):m=fetch(M.toString()).then(qt)}await m.then(g=>{Ae(v.current,F)&&(n(g),f("ready"))}).catch(g=>{Ae(v.current,F)&&(f("error"),b(yt(g)?r(g.key,g.params):r("chat.toolOutputDialog.mermaid.loadFailed")))})},e[0]=t.mermaid,e[1]=r,e[2]=u):u=e[2];const h=u;let S,L;e[3]!==h||e[4]!==t.mermaid||e[5]!==t.open?(S=()=>{!t.open||!t.mermaid||h()},L=[h,t.mermaid,t.open],e[3]=h,e[4]=t.mermaid,e[5]=t.open,e[6]=S,e[7]=L):(S=e[6],L=e[7]),N.useEffect(S,L);let p,A;e[8]!==a||e[9]!==t.open?(p=()=>{if(!t.open)return;const j=F=>{F.key==="Escape"&&a(!1)};return window.addEventListener("keydown",j),()=>{window.removeEventListener("keydown",j)}},A=[a,t.open],e[8]=a,e[9]=t.open,e[10]=p,e[11]=A):(p=e[10],A=e[11]),N.useEffect(p,A);let D;e[12]!==t.open||e[13]!==s?(D=()=>{if(!t.open||s!=="ready"){I(null);return}const j=()=>{const R=w.current?.querySelector("svg");if(!R)return!1;const O=Pt(R);return!O||!Number.isFinite(O)||O<=0?!1:(I(Y=>Y&&Math.abs(Y-O)<.001?Y:O),!0)};let F=window.requestAnimationFrame(()=>{j()||(F=window.requestAnimationFrame(()=>{j()}))}),m=0,g;const M=()=>{m>=kt||(g=window.setTimeout(()=>{m=m+1,j()||M()},Tt))};M();const E=new MutationObserver(()=>{j()});return w.current&&E.observe(w.current,{childList:!0,subtree:!0,attributes:!0}),()=>{window.cancelAnimationFrame(F),typeof g=="number"&&window.clearTimeout(g),E.disconnect()}},e[12]=t.open,e[13]=s,e[14]=D):D=e[14];let K;e[15]!==t.open||e[16]!==l||e[17]!==s?(K=[t.open,l,s],e[15]=t.open,e[16]=l,e[17]=s,e[18]=K):K=e[18],N.useEffect(D,K);const z=`\`\`\`mermaid
|
|
11
|
-
${l}
|
|
12
|
-
\`\`\``;let fe;if(e[19]!==y||e[20]!==c||e[21]!==T){e:{const{maxWidth:j,maxHeight:F}=Mt(T,c),m=Math.max(160,F-St);if(y&&y<1){const E=Math.min(j,m);let R;e[23]!==E?(R=Math.round(E),e[23]=E,e[24]=R):R=e[24];let O;e[25]!==E?(O=Math.round(E),e[25]=E,e[26]=O):O=e[26];let Y;e[27]!==O||e[28]!==R?(Y={width:R,height:O},e[27]=O,e[28]=R,e[29]=Y):Y=e[29],fe=Y;break e}const g=Math.round(j);let M;e[30]!==m?(M=Math.round(m),e[30]=m,e[31]=M):M=e[31],fe={width:g,height:M}}e[19]=y,e[20]=c,e[21]=T,e[22]=fe}else fe=e[22];const ge=fe;if(!k||typeof document>"u")return null;const xe=t.open?"pointer-events-auto":"pointer-events-none";let ie;e[32]!==xe?(ie=pe("fixed inset-0 z-50",xe),e[32]=xe,e[33]=ie):ie=e[33];const we=_&&"transition-opacity duration-150 ease-out",oe=C?"opacity-100":"opacity-0";let re;e[34]!==we||e[35]!==oe?(re=pe("absolute inset-0",we,oe),e[34]=we,e[35]=oe,e[36]=re):re=e[36];let he;e[37]===Symbol.for("react.memo_cache_sentinel")?(he={backgroundColor:"color-mix(in srgb, var(--surface-background) 70%, transparent)"},e[37]=he):he=e[37];let V;e[38]!==a?(V=()=>a(!1),e[38]=a,e[39]=V):V=e[39];let H;e[40]!==re||e[41]!==V?(H=o.jsx("div",{"aria-hidden":"true",className:re,style:he,onMouseDown:V}),e[40]=re,e[41]=V,e[42]=H):H=e[42];const ne=c?"p-2.5":"p-4";let $;e[43]!==ne?($=pe("absolute inset-0 flex items-center justify-center pointer-events-none",ne),e[43]=ne,e[44]=$):$=e[44];const ye=_&&"transition-opacity duration-150 ease-out",se=C?"opacity-100":"opacity-0";let ae;e[45]!==ye||e[46]!==se?(ae=pe("pointer-events-auto flex flex-col gap-2",ye,se),e[45]=ye,e[46]=se,e[47]=ae):ae=e[47];const be=`${ge.width}px`;let W;e[48]!==be?(W={width:be},e[48]=be,e[49]=W):W=e[49];let le;e[50]!==a?(le=()=>a(!1),e[50]=a,e[51]=le):le=e[51];let U;e[52]!==r?(U=r("chat.toolOutputDialog.mermaid.closeAria"),e[52]=r,e[53]=U):U=e[53];let X;e[54]===Symbol.for("react.memo_cache_sentinel")?(X=o.jsx(P,{name:"close",className:"h-4 w-4"}),e[54]=X):X=e[54];let q;e[55]!==le||e[56]!==U?(q=o.jsx("div",{className:"flex items-center justify-end",children:o.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-primary/60",onClick:le,"aria-label":U,children:X})}),e[55]=le,e[56]=U,e[57]=q):q=e[57];const ce=`${ge.height}px`;let Q;e[58]!==ce?(Q={height:ce},e[58]=ce,e[59]=Q):Q=e[59];let B;e[60]!==s||e[61]!==r?(B=s==="loading"&&o.jsxs("div",{className:"h-full min-h-28 flex items-center justify-center gap-2 text-muted-foreground typography-meta",children:[o.jsx(P,{name:"loader-4",className:"h-4 w-4 animate-spin"}),o.jsx("span",{children:r("chat.toolOutputDialog.mermaid.loading")})]}),e[60]=s,e[61]=r,e[62]=B):B=e[62];let G;e[63]!==d||e[64]!==h||e[65]!==s||e[66]!==r?(G=s==="error"&&o.jsxs("div",{className:"rounded-xl border p-3 space-y-3",style:{backgroundColor:"var(--status-error-background)",borderColor:"var(--status-error-border)"},children:[o.jsx("p",{className:"typography-markdown",style:{color:"var(--status-error)"},children:d||r("chat.toolOutputDialog.mermaid.renderFailed")}),o.jsx("button",{type:"button",onClick:()=>{h()},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]=h,e[65]=s,e[66]=r,e[67]=G):G=e[67];let me;e[68]!==z||e[69]!==s?(me=s==="ready"&&o.jsx("div",{ref:w,className:"h-full",children:o.jsx(We,{content:z,variant:"tool",allowMermaidWheelEvents:!0,className:"markdown-mermaid-fullscreen h-full",mermaidControls:_t,enableFileReferences:!1})}),e[68]=z,e[69]=s,e[70]=me):me=e[70];let de;e[71]!==B||e[72]!==G||e[73]!==me?(de=o.jsxs("div",{className:"h-full overflow-hidden",children:[B,G,me]}),e[71]=B,e[72]=G,e[73]=me,e[74]=de):de=e[74];let J;e[75]!==Q||e[76]!==de?(J=o.jsx("div",{className:"relative overflow-hidden",style:Q,children:de}),e[75]=Q,e[76]=de,e[77]=J):J=e[77];let ee;e[78]!==ae||e[79]!==W||e[80]!==q||e[81]!==J?(ee=o.jsxs("div",{className:ae,style:W,onMouseDown:Bt,children:[q,J]}),e[78]=ae,e[79]=W,e[80]=q,e[81]=J,e[82]=ee):ee=e[82];let Z;e[83]!==$||e[84]!==ee?(Z=o.jsx("div",{className:$,children:ee}),e[83]=$,e[84]=ee,e[85]=Z):Z=e[85];let te;if(e[86]!==ie||e[87]!==H||e[88]!==Z){const j=o.jsxs("div",{className:ie,children:[H,Z]});te=He.createPortal(j,document.body),e[86]=ie,e[87]=H,e[88]=Z,e[89]=te}else te=e[89];return te},or=i=>{const e=ue.c(48),{popup:t,onOpenChange:a,isMobile:c}=i,{t:r}=Me(),[l,n]=N.useState("unified"),s=Dt();let f;e[0]!==t.open?(f=()=>{t.open&&n("unified")},e[0]=t.open,e[1]=f):f=e[1];let d;if(e[2]!==t.open||e[3]!==t.title?(d=[t.open,t.title],e[2]=t.open,e[3]=t.title,e[4]=d):d=e[4],N.useEffect(f,d),t.image){let p;return e[5]!==c||e[6]!==a||e[7]!==t?(p=o.jsx(Ct,{popup:t,onOpenChange:a,isMobile:c}),e[5]=c,e[6]=a,e[7]=t,e[8]=p):p=e[8],p}if(t.mermaid){let p;return e[9]!==c||e[10]!==a||e[11]!==t?(p=o.jsx(Lt,{popup:t,onOpenChange:a,isMobile:c}),e[9]=c,e[10]=a,e[11]=t,e[12]=p):p=e[12],p}const b=t.open,k=c?"w-[95vw] max-w-[95vw]":"max-w-5xl",C=c?"[&>button]:right-1":"[&>button]:top-2.5 [&>button]:right-4";let _;e[13]!==k||e[14]!==C?(_=pe("overflow-hidden flex flex-col min-h-0 pt-3 pb-4 px-4 gap-1","[&>button]:top-1.5",k,C),e[13]=k,e[14]=C,e[15]=_):_=e[15];let y;e[16]===Symbol.for("react.memo_cache_sentinel")?(y={maxHeight:"90vh"},e[16]=y):y=e[16];let I;e[17]!==t.metadata?(I=t.metadata?.tool?Nt(t.metadata.tool):o.jsx(P,{name:"tools",className:"h-3.5 w-3.5 text-foreground flex-shrink-0"}),e[17]=t.metadata,e[18]=I):I=e[18];let T;e[19]!==t.title?(T=o.jsx("span",{className:"break-words flex-1 leading-tight",children:t.title}),e[19]=t.title,e[20]=T):T=e[20];let v;e[21]!==l||e[22]!==t.isDiff?(v=t.isDiff&&o.jsx(et,{mode:l,onModeChange:n,className:"mr-8 flex-shrink-0"}),e[21]=l,e[22]=t.isDiff,e[23]=v):v=e[23];let w;e[24]!==v||e[25]!==I||e[26]!==T?(w=o.jsx("div",{className:"flex-shrink-0 pb-1",children:o.jsxs("div",{className:"flex items-start gap-2 text-foreground typography-ui-header font-semibold",children:[I,T,v]})}),e[24]=v,e[25]=I,e[26]=T,e[27]=w):w=e[27];let x;e[28]!==s||e[29]!==t.metadata?(x=t.metadata?.input&&typeof t.metadata.input=="object"&&Object.keys(t.metadata.input).length>0&&t.metadata?.tool!=="todowrite"&&t.metadata?.tool!=="todoread"&&t.metadata?.tool!=="apply_patch"?(()=>{const p=t.metadata,A=p.input,D=K=>{const z=A[K];return typeof z=="string"?z:typeof z=="number"?String(z):null};return o.jsxs("div",{className:"border-b border-border/20 p-4 -mx-3",children:[o.jsx("div",{className:"typography-markdown font-medium text-muted-foreground mb-2 px-3",children:p.tool==="bash"?"Command:":p.tool==="task"?"Task Details:":"Input:"}),p.tool==="bash"&&D("command")?o.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:o.jsx(_e,{language:"bash",code:D("command"),style:Ne.getPopupStyles(),codeStyle:Re.style,wrap:!0})}):p.tool==="task"&&D("prompt")?o.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:[D("description")?`Task: ${D("description")}
|
|
13
|
-
`:"",D("subagent_type")?`Agent Type: ${D("subagent_type")}
|
|
14
|
-
`:"",`Instructions:
|
|
15
|
-
${D("prompt")}`]}):p.tool==="write"&&D("content")?o.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:o.jsx(Ue,{file:{name:D("filePath")||D("file_path")||"new-file",contents:D("content"),lang:$e(D("filePath")||D("file_path")||"")||void 0},options:{disableFileHeader:!0,overflow:"wrap",theme:s.theme,themeType:s.themeType},className:"block w-full"})}):o.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:tt(A,p.tool)})]})})():null,e[28]=s,e[29]=t.metadata,e[30]=x):x=e[30];let u;e[31]!==l||e[32]!==c||e[33]!==s||e[34]!==t||e[35]!==r?(u=t.isDiff?o.jsx(Ze,{popup:t,diffViewMode:l,pierreThemeConfig:s}):t.content?o.jsx("div",{className:"p-4",children:(()=>{const p=t.metadata?.tool;return p==="todowrite"||p==="todoread"?it(t.content,{total:r("chat.todo.total"),inProgress:r("chat.todo.inProgress"),pending:r("chat.todo.pending"),completed:r("chat.todo.completed"),cancelled:r("chat.todo.cancelled")})||o.jsx(_e,{language:"json",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:Re.style,wrap:!0}):p==="list"?ot(t.content)||o.jsx("pre",{className:"typography-markdown bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):p==="grep"?rt(t.content,c)||o.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):p==="glob"?nt(t.content,c)||o.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:t.content}):p==="task"||p==="reasoning"?o.jsx("div",{className:p==="reasoning"?"text-muted-foreground/70":"",children:o.jsx(We,{content:t.content,variant:"tool"})}):p==="web-search"||p==="websearch"||p==="search_web"?st(t.content)||o.jsx(_e,{language:"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:Re.style,wrap:!0}):p==="read"?o.jsx(Ye,{popup:t,pierreThemeConfig:s}):(t.content?at(t.content):{isJson:!1}).isJson?o.jsx(ut,{jsonString:t.content,initiallyExpandedDepth:3,maxHeight:"70vh"}):o.jsx(_e,{language:t.language||"text",code:t.content,style:Ne.getPopupContainerStyles(),codeStyle:Re.style,wrap:!0})})()}):o.jsxs("div",{className:"p-8 text-muted-foreground typography-ui-header",children:[o.jsx("div",{className:"mb-2",children:r("chat.toolOutputDialog.commandCompleted")}),o.jsx("div",{className:"typography-meta",children:r("chat.toolOutputDialog.noOutputProduced")})]}),e[31]=l,e[32]=c,e[33]=s,e[34]=t,e[35]=r,e[36]=u):u=e[36];let h;e[37]!==x||e[38]!==u?(h=o.jsx("div",{className:"flex-1 min-h-0 rounded-xl border border-border/30 bg-muted/10 overflow-hidden",children:o.jsxs("div",{className:"tool-output-surface h-full max-h-[75vh] overflow-y-auto px-3 pr-4",children:[x,u]})}),e[37]=x,e[38]=u,e[39]=h):h=e[39];let S;e[40]!==w||e[41]!==h||e[42]!==_?(S=o.jsxs(mt,{className:_,style:y,children:[w,h]}),e[40]=w,e[41]=h,e[42]=_,e[43]=S):S=e[43];let L;return e[44]!==a||e[45]!==t.open||e[46]!==S?(L=o.jsx(dt,{open:b,onOpenChange:a,children:S}),e[44]=a,e[45]=t.open,e[46]=S,e[47]=L):L=e[47],L};function Et(i){return!!i?.url}function Ot(i){return i.stopPropagation()}function At(i){return i.stopPropagation()}function Ft(i){return i.text}function zt(i){return i.lineNumber!==null}function Vt(i){if(!i||/[\0\r\n]/.test(i))return!1;const e=i.replace(/\\/g,"/");return e.split("/").filter(Boolean).includes("..")?!1:e.startsWith("/")?!0:/^[A-Za-z]:\//.test(e)}function Ht(i,e){const t=Number.parseInt(e,16);return Number.isFinite(t)?String.fromCharCode(t):`%${e}`}function $t(i){return i.replace(/%([0-9A-Fa-f]{2})/g,Ht)}function Wt(i){const e=i.trim();if(!e.toLowerCase().startsWith("file://"))return null;const t=Vt,a=$t;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 Ut(i){return i.ok?i.text():Promise.reject(Ie("chat.toolOutputDialog.mermaid.readFileFailedWithStatus",{status:i.status}))}function qt(i){return i.ok?i.text():Promise.reject(Ie("chat.toolOutputDialog.mermaid.loadFailedWithStatus",{status:i.status}))}function Bt(i){return i.stopPropagation()}export{or as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{r as u,j as s,f as G}from"./vendor-react-BUCujlKS.js";import{f as Q,l as xt,I as S,dz as kt,B as $,h as K,au as ss,a7 as bt,a8 as wt,a9 as vt,aw as rs,ad as os,ae as ns,af as as,ai as ze,W as is,aB as lt,bV as fe,bW as ls,i0 as cs,ag as us,ao as ct,ap as ut,ar as dt,as as pt,bU as ht,at as le,ba as mt,o as ds}from"./useAppFontEffects-DpFNefUA.js";import{f as ps,u as hs,b as ms,a as gs,B as fs,C as xs}from"./patchFileDiff-8j1apICU.js";import{h as yt,q as ks,u as xe}from"./index-BqhiCmYS.js";import{u as O,W as bs}from"./main-CJmb2dF8.js";import{P as ws}from"./PierreDiffViewer-DCsydlKs.js";import{d as vs,c as ys}from"./runtimeEndpointReset-B8LYpWvr.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-base-ui-DdV8vhHn.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-livSKyyV.js";import"./vendor-motion-dom-D_o3BTI3.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-react-virtual-g05Cx3z9.js";import"./vendor-tanstack-virtual-core-Dubg10g5.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-DzlSIu_W.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-zod-BPAANqvH.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./VirtualizedFileDiff-DcdgkH-x.js";import"./web-components-CdGfR2XJ.js";import"./computeVirtualFileMetrics-C8byMnRh.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"./isDiffPlainText-45ujMPGb.js";import"./vendor-diff-C3JhlQdm.js";import"./vendor-opencode-sdk-BJ73u-bH.js";import"./useRootScrollLock-BaCvuRlT.js";import"./scheduledTasksApi-GC4epIYA.js";import"./vendor-cron-parser-CUcP7OfX.js";import"./vendor-luxon-BZ0puJYg.js";import"./Virtualizer-D_a8gKmg.js";import"./useInlineCommentController-CscsE4t-.js";import"./appThemeRegistry-BK0dHKa6.js";import"./registerCustomTheme-BBXUCRnG.js";const js=n=>{if(!n?.walkthrough)return null;const t=new Map(n.hunks.map(a=>[a.id,a])),e=new Set,r=[],l=[];for(const[a,h]of n.walkthrough.chapters.entries()){const c=[];for(const g of h.stops){const m=[],p=[];for(const i of g.hunkIds){const v=t.get(i);v?(m.push(v),e.add(i)):p.push(i)}const f={stop:g,chapter:h,chapterIndex:a,position:r.length+1,hunks:m,missingHunkIds:p,isStale:p.length>0};r.push(f),c.push(f)}l.push({chapter:h,stops:c})}return{walkthrough:n.walkthrough,stops:r,chapters:l,uncoveredHunks:n.hunks.filter(a=>!e.has(a.id)),staleStopCount:r.filter(a=>a.isStale).length,isStale:r.some(a=>a.isStale)}},Ss=n=>{const t=new Map;for(const e of n){const r=t.get(e.path);if(r){r.added+=e.added,r.deleted+=e.deleted;continue}t.set(e.path,{path:e.path,added:e.added,deleted:e.deleted})}return[...t.values()]},jt=n=>{const t=[];for(const e of n){const r=t.at(-1);if(r&&r.path===e.path){r.hunks.push(e);continue}t.push({path:e.path,hunks:[e]})}return t},Ns=n=>{if(n.length===0)return"";if(n.length===1)return n[0].patch;const t=n[0].patch,e=t.indexOf(`
|
|
2
|
-
@@`);if(e===-1)return t;const r=t.slice(0,e),l=n.map(a=>{const h=a.patch.indexOf(`
|
|
3
|
-
@@`);return h===-1?"":a.patch.slice(h+1)});return`${r}
|
|
4
|
-
${l.join("")}`},Cs=n=>n?`${n.providerID}/${n.modelID}`:"",Ms=({reason:n,model:t,requiredChars:e,availableChars:r,onRetry:l})=>{const{t:a}=Q(),h=xt(k=>k.modelsMetadata),[c,g]=u.useState(void 0),[m,p]=u.useState(!1),f=n==="context-too-small"||n==="structured-output-unsupported"||n==="output-exhausted";u.useEffect(()=>{if(!f||c!==void 0)return;let k=!1;return(async()=>{try{const x=await yt("/api/small-model",{method:"GET",headers:{Accept:"application/json"}});if(!x.ok)return;const I=await x.json().catch(()=>null);!k&&Array.isArray(I?.authenticatedProviders)&&g(I.authenticatedProviders.filter(T=>typeof T=="string"))}catch{}})(),()=>{k=!0}},[f,c]);const i=u.useCallback(async(k,x)=>{if(!k||!x||m)return;const I=`${k}/${x}`;p(!0);try{await ks({walkthroughModelOverride:I}),l()}catch(T){console.warn("Failed to save small model override:",T)}finally{p(!1)}},[l,m]),v=u.useCallback((k,x)=>h.get(`${k}/${x}`)?.structured_output!==!1,[h]),b=Cs(t),w=()=>{if(n==="no-model")return a("walkthrough.blocked.noModel.description");if(n==="empty-diff")return a("walkthrough.blocked.emptyDiff.description");if(n==="only-generated")return a("walkthrough.blocked.onlyGenerated.description");if(n==="server-unsupported")return a("walkthrough.blocked.serverUnsupported.description");if(n==="output-exhausted")return b?a("walkthrough.blocked.outputExhausted.description",{model:b}):a("walkthrough.blocked.outputExhausted.descriptionUnknownModel");if(n==="structured-output-unsupported")return b?a("walkthrough.blocked.structuredOutput.description",{model:b}):a("walkthrough.blocked.structuredOutput.descriptionUnknownModel");const k=Math.ceil((e??0)/1e3),x=Math.ceil((r??0)/1e3);return b?a("walkthrough.blocked.contextTooSmall.description",{model:b,required:k,available:x}):a("walkthrough.blocked.contextTooSmall.descriptionUnknownModel",{required:k,available:x})},y=()=>a(n==="no-model"?"walkthrough.blocked.noModel.title":n==="empty-diff"?"walkthrough.blocked.emptyDiff.title":n==="only-generated"?"walkthrough.blocked.onlyGenerated.title":n==="server-unsupported"?"walkthrough.blocked.serverUnsupported.title":n==="output-exhausted"?"walkthrough.blocked.outputExhausted.title":n==="structured-output-unsupported"?"walkthrough.blocked.structuredOutput.title":"walkthrough.blocked.contextTooSmall.title");return s.jsxs("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center",children:[s.jsx(S,{name:n==="empty-diff"||n==="only-generated"?"information":"error-warning",className:"size-6 text-muted-foreground"}),s.jsx("h3",{className:"typography-ui-label font-semibold text-foreground",children:y()}),s.jsx("p",{className:"typography-meta max-w-md text-muted-foreground",children:w()}),f&&s.jsxs("div",{className:"flex flex-col items-center gap-2 pt-2",children:[s.jsx("span",{className:"typography-micro text-muted-foreground",children:a("walkthrough.blocked.chooseModel")}),s.jsx(kt,{providerId:t?.providerID??"",modelId:t?.modelID??"",onChange:(k,x)=>{i(k,x)},allowedProviderIds:c??[],isModelAllowed:v})]}),(n==="empty-diff"||n==="only-generated"||n==="server-unsupported")&&s.jsx($,{type:"button",variant:"outline",size:"sm",onClick:l,children:a("walkthrough.action.refresh")})]})},Rs=[{labelKey:"walkthrough.stage.collecting"},{labelKey:"walkthrough.stage.asking"},{labelKey:"walkthrough.stage.assembling"}],Is=n=>{const t=G.c(6),{progress:e}=n,{t:r}=Q(),{completedCount:l,activeIndex:a}=e;let h;t[0]!==a||t[1]!==l||t[2]!==r?(h=Rs.map((g,m)=>{const p=m<l,f=a===m;return s.jsxs("li",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"flex size-4 shrink-0 items-center justify-center",children:p?s.jsx(S,{name:"check",className:"size-3.5 text-status-success"}):f?s.jsx(S,{name:"loader-4",className:"size-3.5 animate-spin text-[var(--status-info)]"}):s.jsx("span",{className:"size-1.5 rounded-full bg-surface-muted"})}),s.jsx("span",{className:K("typography-meta",f?"text-foreground":p?"text-muted-foreground":"text-muted-foreground/60"),children:r(g.labelKey)})]},g.labelKey)}),t[0]=a,t[1]=l,t[2]=r,t[3]=h):h=t[3];let c;return t[4]!==h?(c=s.jsx("ul",{className:"flex flex-col gap-2 text-left",children:h}),t[4]=h,t[5]=c):c=t[5],c},re=["collecting","asking","assembling"],He=450,Ts=n=>n==="retrying"?re.indexOf("asking"):n?re.indexOf(n):-1,Es=(n,t)=>Math.min(n+1,t),As=(n,t)=>{const e=G.c(17),[r,l]=u.useState(-1),a=u.useRef(0);let h;e[0]!==t||e[1]!==r||e[2]!==n?(h=t?Math.max(Ts(n),0):r<0?-1:re.length,e[0]=t,e[1]=r,e[2]=n,e[3]=h):h=e[3];const c=h;let g,m;e[4]!==t||e[5]!==r||e[6]!==c?(g=()=>{if(c<=r){c<r&&t&&(l(c),a.current=Date.now());return}const k=Date.now()-a.current,x=()=>{a.current=Date.now(),l(T=>Es(T,c))};if(r<0||k>=He){x();return}const I=setTimeout(x,He-k);return()=>clearTimeout(I)},m=[t,r,c],e[4]=t,e[5]=r,e[6]=c,e[7]=g,e[8]=m):(g=e[7],m=e[8]),u.useEffect(g,m);let p,f;e[9]!==t||e[10]!==r?(p=()=>{if(t||r<re.length)return;const k=setTimeout(()=>l(-1),He);return()=>clearTimeout(k)},f=[t,r],e[9]=t,e[10]=r,e[11]=p,e[12]=f):(p=e[11],f=e[12]),u.useEffect(p,f);const i=r>=re.length,v=Math.max(0,Math.min(r,re.length)),b=i||r<0?null:r,w=!t&&r>=0;let y;return e[13]!==v||e[14]!==b||e[15]!==w?(y={completedCount:v,activeIndex:b,holding:w},e[13]=v,e[14]=b,e[15]=w,e[16]=y):y=e[16],y},St=u.memo(function(t){const e=G.c(11),{path:r,hunks:l,renderSideBySide:a,wrapLines:h}=t;let c;if(e[0]!==l||e[1]!==r){const f=Ns(l);c=f?ps(r,f):void 0,e[0]=l,e[1]=r,e[2]=c}else c=e[2];const g=c;if(!g)return null;let m;e[3]!==r?(m=ss(r)||"",e[3]=r,e[4]=m):m=e[4];let p;return e[5]!==g||e[6]!==r||e[7]!==a||e[8]!==m||e[9]!==h?(p=s.jsx(ws,{original:"",modified:"",fileDiff:g,language:m,fileName:r,renderSideBySide:a,wrapLines:h,layout:"inline"}),e[5]=g,e[6]=r,e[7]=a,e[8]=m,e[9]=h,e[10]=p):p=e[10],p}),Oe=n=>`walkthrough-stop-${n}`,Ps={critical:"border border-[var(--interactive-border)] font-medium text-foreground",normal:"bg-surface-muted text-muted-foreground",context:"bg-surface-muted text-muted-foreground"},zs=n=>{const t=G.c(22),{stopView:e}=n,{t:r}=Q(),{stop:l}=e;let a;t[0]!==e.position?(a=s.jsx("span",{className:"typography-micro flex h-5 min-w-5 shrink-0 items-center justify-center rounded-full bg-surface-muted px-1.5 tabular-nums text-muted-foreground",children:e.position}),t[0]=e.position,t[1]=a):a=t[1];let h;t[2]!==l.title?(h=s.jsx("h3",{className:"typography-ui-label font-semibold text-foreground",children:l.title}),t[2]=l.title,t[3]=h):h=t[3];let c;t[4]!==l.importance||t[5]!==r?(c=l.importance!=="normal"&&s.jsxs(bt,{children:[s.jsx(wt,{className:K("typography-micro flex h-5 items-center rounded px-1.5 leading-none",Ps[l.importance]),children:l.importance==="critical"?r("walkthrough.importance.critical"):r("walkthrough.importance.context")}),s.jsx(vt,{className:"max-w-64",children:s.jsx("p",{className:"typography-micro leading-tight",children:l.importance==="critical"?r("walkthrough.importance.criticalHint"):r("walkthrough.importance.contextHint")})})]}),t[4]=l.importance,t[5]=r,t[6]=c):c=t[6];let g;t[7]!==a||t[8]!==h||t[9]!==c?(g=s.jsxs("div",{className:"flex items-center gap-2",children:[a,h,c]}),t[7]=a,t[8]=h,t[9]=c,t[10]=g):g=t[10];let m;t[11]!==l.prose?(m=s.jsx("p",{className:"typography-body text-muted-foreground",children:l.prose}),t[11]=l.prose,t[12]=m):m=t[12];let p;t[13]!==e.hunks||t[14]!==e.isStale||t[15]!==e.missingHunkIds||t[16]!==r?(p=e.isStale&&s.jsxs("p",{className:"typography-meta flex items-center gap-1.5 text-status-warning",children:[s.jsx(S,{name:"error-warning",className:"size-3.5 shrink-0"}),e.hunks.length===0?r("walkthrough.stop.staleAll"):r("walkthrough.stop.stalePartial",{count:e.missingHunkIds.length})]}),t[13]=e.hunks,t[14]=e.isStale,t[15]=e.missingHunkIds,t[16]=r,t[17]=p):p=t[17];let f;return t[18]!==g||t[19]!==m||t[20]!==p?(f=s.jsxs("header",{className:"flex flex-col gap-2 px-4 pt-5 pb-3",children:[g,m,p]}),t[18]=g,t[19]=m,t[20]=p,t[21]=f):f=t[21],f},Nt=n=>{const t=G.c(2),{path:e}=n;let r;return t[0]!==e?(r=s.jsxs("div",{className:"sticky top-0 z-10 flex items-center gap-1.5 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 px-4 py-1.5 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80",children:[s.jsx(rs,{filePath:e,className:"size-3.5 shrink-0"}),s.jsx("span",{className:"typography-meta truncate font-mono text-foreground",children:e})]}),t[0]=e,t[1]=r):r=t[1],r},Hs=n=>{const t=G.c(11),{hunks:e,renderSideBySide:r,wrapLines:l}=n;let a;t[0]!==e?(a=jt(e),t[0]=e,t[1]=a):a=t[1];const h=a;let c;if(t[2]!==r||t[3]!==h||t[4]!==l){let m;t[6]!==r||t[7]!==l?(m=(p,f)=>s.jsxs("div",{children:[s.jsx(Nt,{path:p.path}),s.jsx(St,{path:p.path,hunks:p.hunks,renderSideBySide:r,wrapLines:l})]},`${p.path}-${f}`),t[6]=r,t[7]=l,t[8]=m):m=t[8],c=h.map(m),t[2]=r,t[3]=h,t[4]=l,t[5]=c}else c=t[5];let g;return t[9]!==c?(g=s.jsx(s.Fragment,{children:c}),t[9]=c,t[10]=g):g=t[10],g},Os=u.memo(function(t){const e=G.c(35),{view:r,activeStopId:l,scrollToStopId:a,onActiveStopChange:h,onScrollHandled:c,renderSideBySide:g,wrapLines:m}=t,{t:p}=Q(),f=u.useRef(null),[i,v]=u.useState(!1),b=u.useRef(null),w=u.useRef(null);let y,k;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=()=>()=>{w.current!==null&&window.clearTimeout(w.current)},k=[],e[0]=y,e[1]=k):(y=e[0],k=e[1]),u.useEffect(y,k);let x,I;e[2]!==c||e[3]!==a?(x=()=>{if(!a)return;const M=document.getElementById(Oe(a));M&&(b.current=a,M.scrollIntoView({behavior:"auto",block:"start"}),w.current!==null&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{b.current=null,w.current=null},250)),c()},I=[a,c],e[2]=c,e[3]=a,e[4]=x,e[5]=I):(x=e[4],I=e[5]),u.useEffect(x,I);let T;e[6]!==h?(T=M=>{const E=M.filter(Ds).sort(Ls)[0];if(!E)return;const F=E.target.getAttribute("data-stop-id");if(!F)return;const V=b.current;if(V){F===V&&(b.current=null);return}h(F)},e[6]=h,e[7]=T):T=e[7];const Y=T;let D,Z;e[8]!==Y||e[9]!==r.stops?(D=()=>{const M=f.current;if(!M)return;const E=new IntersectionObserver(Y,{root:M,rootMargin:"0px 0px -70% 0px",threshold:0});for(const F of r.stops){const V=document.getElementById(Oe(F.stop.id));V&&E.observe(V)}return()=>E.disconnect()},Z=[Y,r.stops],e[8]=Y,e[9]=r.stops,e[10]=D,e[11]=Z):(D=e[10],Z=e[11]),u.useEffect(D,Z);let L;e[12]!==r.uncoveredHunks?(L=jt(r.uncoveredHunks),e[12]=r.uncoveredHunks,e[13]=L):L=e[13];const P=L;let z;if(e[14]!==l||e[15]!==g||e[16]!==p||e[17]!==r.stops||e[18]!==m){let M;e[20]!==l||e[21]!==g||e[22]!==p||e[23]!==m?(M=E=>s.jsxs("section",{id:Oe(E.stop.id),"data-stop-id":E.stop.id,className:K("border-b border-border/60",l===E.stop.id&&"bg-interactive-selection/5"),children:[s.jsx(zs,{stopView:E}),E.hunks.length>0?s.jsx(Hs,{hunks:E.hunks,renderSideBySide:g,wrapLines:m}):s.jsx("p",{className:"typography-meta px-4 pb-4 text-muted-foreground",children:p("walkthrough.stop.noCode")})]},E.stop.id),e[20]=l,e[21]=g,e[22]=p,e[23]=m,e[24]=M):M=e[24],z=r.stops.map(M),e[14]=l,e[15]=g,e[16]=p,e[17]=r.stops,e[18]=m,e[19]=z}else z=e[19];let B;e[25]!==g||e[26]!==p||e[27]!==i||e[28]!==P||e[29]!==r.uncoveredHunks.length||e[30]!==m?(B=r.uncoveredHunks.length>0&&s.jsxs("section",{className:"border-b border-border/60",children:[s.jsxs($,{type:"button",variant:"ghost",className:"h-auto w-full justify-start gap-2 px-4 py-3",onClick:()=>v(Bs),"aria-expanded":i,children:[s.jsx(S,{name:i?"arrow-down-s":"arrow-right-s",className:"size-4 shrink-0"}),s.jsx("span",{className:"typography-ui-label text-muted-foreground",children:p("walkthrough.uncovered.title",{count:r.uncoveredHunks.length})})]}),!i&&s.jsx("p",{className:"typography-meta px-4 pb-3 pl-10 text-muted-foreground",children:p("walkthrough.uncovered.description")}),i&&P.map((M,E)=>s.jsxs("div",{children:[s.jsx(Nt,{path:M.path}),s.jsx(St,{path:M.path,hunks:M.hunks,renderSideBySide:g,wrapLines:m})]},`${M.path}-${E}`))]}),e[25]=g,e[26]=p,e[27]=i,e[28]=P,e[29]=r.uncoveredHunks.length,e[30]=m,e[31]=B):B=e[31];let ee;return e[32]!==B||e[33]!==z?(ee=s.jsxs("div",{ref:f,className:"min-h-0 flex-1 overflow-y-auto","data-diff-virtual-root":!0,"data-diff-virtual-content":!0,children:[z,B]}),e[32]=B,e[33]=z,e[34]=ee):ee=e[34],ee});function Ds(n){return n.isIntersecting}function Ls(n,t){return n.boundingClientRect.top-t.boundingClientRect.top}function Bs(n){return!n}const Ws={bug:"bug",wrench:"tools",path:"compass-3",flask:"flask",doc:"file-text",gear:"settings-3"},$s=n=>{const t=G.c(30),{stopView:e,isActive:r,isVisited:l,onSelect:a,activeRef:h}=n,{t:c}=Q();let g;if(t[0]!==h||t[1]!==r||t[2]!==l||t[3]!==a||t[4]!==e.hunks||t[5]!==e.isStale||t[6]!==e.position||t[7]!==e.stop.title||t[8]!==c){const m=Ss(e.hunks),p=r&&"bg-interactive-selection text-interactive-selection-foreground";let f;t[10]!==p?(f=K("flex w-full flex-col gap-1 rounded px-2 py-1.5 text-left transition-colors","hover:bg-interactive-hover",p),t[10]=p,t[11]=f):f=t[11];const i=r?"bg-interactive-selection-foreground/20":l?"bg-status-success/15 text-status-success":"bg-surface-muted text-muted-foreground";let v;t[12]!==i?(v=K("typography-micro flex h-4 min-w-4 shrink-0 items-center justify-center rounded-full px-1 tabular-nums",i),t[12]=i,t[13]=v):v=t[13];let b;t[14]!==r||t[15]!==l||t[16]!==e.position?(b=l&&!r?s.jsx(S,{name:"check",className:"size-2.5"}):e.position,t[14]=r,t[15]=l,t[16]=e.position,t[17]=b):b=t[17];let w;t[18]!==v||t[19]!==b?(w=s.jsx("span",{className:v,children:b}),t[18]=v,t[19]=b,t[20]=w):w=t[20];let y;t[21]!==e.stop.title?(y=s.jsx("span",{className:"typography-meta truncate font-medium",children:e.stop.title}),t[21]=e.stop.title,t[22]=y):y=t[22];let k;t[23]!==e.isStale||t[24]!==c?(k=e.isStale&&s.jsx(S,{name:"error-warning",className:"size-3 shrink-0 text-status-warning","aria-label":c("walkthrough.stop.staleShort")}),t[23]=e.isStale,t[24]=c,t[25]=k):k=t[25];let x;t[26]!==w||t[27]!==y||t[28]!==k?(x=s.jsxs("span",{className:"flex items-center gap-2",children:[w,y,k]}),t[26]=w,t[27]=y,t[28]=k,t[29]=x):x=t[29],g=s.jsx("li",{children:s.jsxs("button",{ref:r?h:void 0,type:"button",onClick:a,"aria-current":r?"step":void 0,className:f,children:[x,m.length>0&&s.jsxs("span",{className:"typography-micro flex flex-col gap-0.5 pl-6 text-muted-foreground",children:[m.slice(0,3).map(Fs),m.length>3&&s.jsx("span",{children:c("walkthrough.toc.moreFiles",{count:m.length-3})})]})]})}),t[0]=h,t[1]=r,t[2]=l,t[3]=a,t[4]=e.hunks,t[5]=e.isStale,t[6]=e.position,t[7]=e.stop.title,t[8]=c,t[9]=g}else g=t[9];return g},Gs=u.memo(function(t){const e=G.c(20),{view:r,activeStopId:l,visitedStopIds:a,onSelectStop:h,width:c}=t,{t:g}=Q(),m=u.useRef(null);let p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>{m.current?.scrollIntoView({block:"nearest"})},e[0]=p):p=e[0];let f;e[1]!==l?(f=[l],e[1]=l,e[2]=f):f=e[2],u.useEffect(p,f);let i;e[3]!==c?(i={width:c},e[3]=c,e[4]=i):i=e[4];let v;e[5]!==r.walkthrough.focus?(v=r.walkthrough.focus&&s.jsx("p",{className:"typography-meta px-2 pb-3 pt-1 text-muted-foreground",children:r.walkthrough.focus}),e[5]=r.walkthrough.focus,e[6]=v):v=e[6];let b;e[7]!==l||e[8]!==h||e[9]!==r.chapters||e[10]!==a?(b=r.chapters.map(k=>{const{chapter:x,stops:I}=k;return s.jsxs("section",{className:"pb-3",children:[s.jsxs("h4",{className:"typography-micro flex items-center gap-1.5 px-2 py-1 font-semibold uppercase tracking-wide text-muted-foreground",children:[s.jsx(S,{name:Ws[x.icon]??"file-text",className:"size-3 shrink-0"}),s.jsx("span",{className:"truncate",children:x.title})]}),s.jsx("ul",{className:"flex flex-col gap-0.5",children:I.map(T=>s.jsx($s,{stopView:T,isActive:l===T.stop.id,isVisited:a.has(T.stop.id),onSelect:()=>h(T.stop.id),activeRef:m},T.stop.id))})]},x.id)}),e[7]=l,e[8]=h,e[9]=r.chapters,e[10]=a,e[11]=b):b=e[11];let w;e[12]!==g||e[13]!==r.uncoveredHunks.length?(w=r.uncoveredHunks.length>0&&s.jsx("p",{className:"typography-micro mt-auto px-2 pt-3 text-muted-foreground",children:g("walkthrough.toc.uncovered",{count:r.uncoveredHunks.length})}),e[12]=g,e[13]=r.uncoveredHunks.length,e[14]=w):w=e[14];let y;return e[15]!==i||e[16]!==v||e[17]!==b||e[18]!==w?(y=s.jsxs("nav",{className:"flex shrink-0 flex-col overflow-y-auto border-r border-border/60 p-2",style:i,children:[v,b,w]}),e[15]=i,e[16]=v,e[17]=b,e[18]=w,e[19]=y):y=e[19],y});function Fs(n){return s.jsx("span",{className:"truncate font-mono",children:n.path},n.path)}const qs=["all","staged","working"],Us="https://docs.openchamber.dev/walkthrough/",gt="typography-meta font-normal text-muted-foreground",ft=720,se=180,De=.5,_s=680,dn=({directory:n,visible:t=!0})=>{const{t:e,locale:r,locales:l,label:a}=Q(),h=u.useRef(null),[c,g]=u.useState(0),{rootIsGitRepo:m,gitDirectory:p,nestedRepos:f}=os(n||null,{enabled:t}),i=p??n;u.useEffect(()=>{const o=h.current;if(!o||typeof ResizeObserver>"u")return;const C=new ResizeObserver(A=>{g(A[0]?.contentRect.width??0)});return C.observe(o),()=>C.disconnect()},[]);const v=xe(o=>o.walkthroughTocWidth),b=xe(o=>o.setWalkthroughTocWidth),[w,y]=u.useState(!1),k=c===0||c>=ft,x=c>0&&c<_s,I=Math.min(Math.max(v,se),Math.max(se,(c||ft)*De)),T=u.useCallback(o=>{o.preventDefault();const C=o.clientX,A=I,J=Math.max(se,(h.current?.clientWidth??0)*De);y(!0);const it=es=>{const ts=Math.min(J,Math.max(se,A+es.clientX-C));b(ts)},ge=()=>{y(!1),window.removeEventListener("pointermove",it),window.removeEventListener("pointerup",ge),window.removeEventListener("pointercancel",ge)};window.addEventListener("pointermove",it),window.addEventListener("pointerup",ge),window.addEventListener("pointercancel",ge)},[b,I]),Y=u.useCallback(o=>{const C=o.shiftKey?40:10,A=o.key==="ArrowLeft"?-C:o.key==="ArrowRight"?C:0;if(A===0)return;o.preventDefault();const J=Math.max(se,(h.current?.clientWidth??0)*De);b(Math.min(J,Math.max(se,I+A)))},[b,I]),[D,Z]=u.useState("all"),[L,P]=u.useState(null),[z,B]=u.useState(null),[ee,M]=u.useState(null),[E,F]=u.useState(()=>new Set),V=xe(o=>o.diffLayoutPreference),Ct=xe(o=>o.diffWrapLines),Mt=V==="side-by-side",H=O(o=>o.requestedSource[i]),ce=O(o=>o.clearRequestedSource),Rt=ns(i||null),It=as(i||null),Tt=hs(o=>o.setOverride),Le=ze(o=>o.ensureAll),{github:Be,git:We}=is();u.useEffect(()=>{i&&Le(i,We)},[i,Le,We]);const R=Rt?.current??null,ue=L?.directory===i&&L.kind==="commit"&&!H,X=ue||H?.kind==="commit",q=ms(i||null,R,t&&X,H?.kind==="commit"?H.hash:void 0),U=q.selectedCommit?.hash??(H?.kind==="commit"?H.hash:null),{base:oe,resolved:Et,revision:At}=gs(i||null,R,t),_=u.useMemo(()=>!R||!oe||oe===R?null:{kind:"branch",baseRef:oe,headRef:R},[oe,R]),ke=lt(o=>o.status?.connected??!1),be=lt(o=>o.hasChecked),$e=fe(o=>o.ensureEntry),Ge=fe(o=>o.setParams),Fe=fe(o=>o.refreshTargets);u.useEffect(()=>{if(!i||!R||!be||!ke)return;const o=ls(i,R);$e(o),Ge(o,{directory:i,branch:R,remoteName:null,canShow:!0,github:Be,githubAuthChecked:be,githubConnected:ke}),Fe([{directory:i,branch:R,remoteName:null}])},[R,i,$e,Be,be,ke,Fe,Ge]);const we=fe(o=>i&&R?cs(o.entries,i,R)?.pr?.number??null:null),N=u.useMemo(()=>X&&U?{kind:"commit",hash:U}:H?.kind==="branch"?_??H:H??{kind:"working-tree",scope:D},[_,X,H,D,U]),de=L?.directory===i&&L.kind==="branch"&&!H,ve=de||N.kind==="branch",qe=de||N.kind==="branch"&&!_,Ue=ue||X&&!U,ne=qe||Ue,pe=u.useMemo(()=>N.kind==="pr"?N:we?{kind:"pr",number:we}:null,[we,N]),Pt=u.useCallback(o=>{P(null),ce(i),Z(o)},[ce,i]),d=O(o=>o.getEntry(i,N)),ye=O(o=>o.load),_e=O(o=>o.generate),zt=O(o=>o.cancel),te=O(o=>o.requestSource);u.useEffect(()=>{!de||!_||(te(i,_),P(null))},[_,de,i,te]),u.useEffect(()=>{!ue||!U||(te(i,{kind:"commit",hash:U}),P(null))},[ue,i,te,U]);const Ht=O(o=>o.selectModel),he=O(o=>o.getSelectedModel(i,N)),Ot=O(o=>o.selectLanguage),je=O(o=>o.getSelectedLanguage(i,N)),Se=d.result?.language,W=je&&l.includes(je)?je:Se&&l.includes(Se)?Se:r,Dt=N.kind==="branch"?At:"";u.useEffect(()=>{t&&!ne&&ye(i,N,{language:W})},[W,ne,i,ye,N,he,Dt,t]);const j=u.useMemo(()=>ne?null:js(d.result),[ne,d.result]),Ne=d.result?.generatedAt,Ke=u.useRef(void 0);u.useEffect(()=>{Ke.current!==Ne&&(Ke.current=Ne,F(new Set),B(j?.stops[0]?.stop.id??null))},[Ne,j]);const Ce=u.useCallback(o=>{B(o),F(C=>{if(C.has(o))return C;const A=new Set(C);return A.add(o),A})},[]),Me=u.useCallback(o=>{Ce(o),M(o)},[Ce]),Ve=u.useCallback(o=>{if(!j||j.stops.length===0)return;const C=j.stops.findIndex(J=>J.stop.id===z),A=Math.min(j.stops.length-1,Math.max(0,(C<0?0:C)+o));Me(j.stops[A].stop.id)},[z,Me,j]),[Lt,Xe]=u.useState(!1),[Bt,Je]=u.useState(!1),Wt=X?"commit":ve?"branch":N.kind==="working-tree"?N.scope:N.kind,$t=X?e("commitComparison.mode"):ve?e("walkthrough.scope.branch"):N.kind==="pr"?e("walkthrough.scope.pullRequest",{number:N.number}):e(D==="all"?"walkthrough.scope.all":D==="staged"?"walkthrough.scope.staged":"walkthrough.scope.working"),Qe=xt(o=>o.modelsMetadata),[ae,Gt]=u.useState(void 0),Re=o=>!o||ae===void 0?!1:ae.includes(o),Ft=d.readiness?.model&&d.readiness.model.hasLogin!==!1&&Re(d.readiness.model.providerID)?`${d.readiness.model.providerID}/${d.readiness.model.modelID}`:void 0,qt=d.result?.model&&Re(d.result.model.providerID)?`${d.result.model.providerID}/${d.result.model.modelID}`:void 0,me=(he&&Re(he.split("/")[0])?he:void 0)??qt??Ft,[Ut,..._t]=(me??"").split("/"),Ye=_t.join("/");u.useEffect(()=>{if(ae!==void 0)return;let o=!1;return(async()=>{try{const C=await yt("/api/small-model",{method:"GET",headers:{Accept:"application/json"}});if(!C.ok)return;const A=await C.json().catch(()=>null);!o&&Array.isArray(A?.authenticatedProviders)&&Gt(A.authenticatedProviders.filter(J=>typeof J=="string"))}catch{}})(),()=>{o=!0}},[ae]);const Kt=u.useCallback((o,C)=>Qe.get(`${o}/${C}`)?.structured_output!==!1,[Qe]),Ze=d.status==="generating",et=d.result?.model?`${d.result.model.providerID}/${d.result.model.modelID}`:void 0,Ie=d.result?.language,Te=Ie&&l.includes(Ie)?Ie:void 0,tt=d.status==="ready"&&!!j,Ee=tt&&!!Te&&Te!==W,st=tt&&!!et&&!!me&&et!==me,rt=As(d.stage,d.status==="generating"),ot=u.useRef(!1),nt=u.useRef(d.status);u.useEffect(()=>{nt.current!=="generating"&&d.status==="generating"&&(ot.current=!j),nt.current=d.status},[d.status,j]);const Vt=ot.current&&(d.status==="generating"||rt.holding),Ae=d.error?.code==="context-too-small"||d.error?.code==="structured-output-unsupported"||d.error?.code==="no-model"||d.error?.code==="empty-diff"||d.error?.code==="only-generated"||d.error?.code==="output-exhausted"||d.error?.code==="server-unsupported"?d.error.code:d.readiness&&!d.readiness.ready&&!j&&d.readiness.reason!=="no-provider-login"?d.readiness.reason:void 0,Xt=d.error?.model??d.readiness?.model,Jt=d.error?.requiredChars??d.readiness?.requiredChars,Qt=d.error?.availableChars??d.readiness?.availableChars,ie=ne||!me||!!(d.readiness&&!d.readiness.ready),Pe=u.useCallback(o=>{ie||_e(i,N,{force:o,language:W})},[W,i,_e,ie,N]),at=us(p||null),Yt=ze(o=>o.ensureNestedRepos),Zt=ze(o=>o.selectNestedRepo);return m===!1&&at!==!0?s.jsx(vs,{rootIsGitRepo:m,resolvedIsGitRepo:at,nestedRepos:f,onRetryDiscovery:()=>{n&&Yt(n,{force:!0})}}):s.jsxs("div",{ref:h,className:"flex h-full min-h-0 flex-col",children:[s.jsxs("header",{className:"flex shrink-0 flex-wrap items-center gap-2 border-b border-border/60 px-3 py-2",children:[m===!1&&Array.isArray(f)&&f.length>0?s.jsx(ys,{repositories:f,selectedRepository:p??null,onSelectRepository:o=>{n&&Zt(n,o)},repositoryRoot:n??void 0}):null,s.jsxs(ct,{open:Lt,onOpenChange:Xe,children:[s.jsx(ut,{asChild:!0,children:s.jsxs("button",{type:"button",className:"flex h-8 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-ui-label font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring","aria-label":e("walkthrough.scope.selectorAria"),children:[s.jsx("span",{className:"whitespace-nowrap",children:$t}),s.jsx(S,{name:"arrow-down-s",className:"size-4 flex-shrink-0 opacity-60"})]})}),s.jsx(dt,{align:"start",className:"w-48",children:s.jsxs(pt,{value:Wt,onValueChange:o=>{if(Xe(!1),o==="commit"){ce(i),P({directory:i,kind:"commit"});return}if(o==="branch"){_?(P(null),te(i,_)):(ce(i),P({directory:i,kind:"branch"}));return}if(o==="pr"){P(null),pe&&te(i,pe);return}Pt(o)},children:[s.jsx(ht,{className:gt,children:e("walkthrough.scope.group.workingTree")}),qs.map(o=>s.jsx(le,{value:o,children:e(o==="all"?"walkthrough.scope.all":o==="staged"?"walkthrough.scope.staged":"walkthrough.scope.working")},o)),R&&s.jsxs(s.Fragment,{children:[s.jsx(mt,{}),s.jsx(le,{value:"branch",children:e("walkthrough.scope.branch")})]}),s.jsx(mt,{}),s.jsx(le,{value:"commit",children:e("commitComparison.mode")}),pe&&s.jsx(le,{value:"pr",children:e("walkthrough.scope.pullRequest",{number:pe.number})})]})})]}),ve&&s.jsx(fs,{branches:It?.all??[],currentBranch:R,base:oe,onSelect:o=>{i&&R&&Tt(i,R,o)}},JSON.stringify([i,R])),X&&s.jsx(xs,{commits:q.commits,selectedHash:U,loading:q.loading,error:q.error,onSelect:q.select,onRefresh:()=>{q.refresh()}},JSON.stringify([i,R])),s.jsxs("div",{className:"ml-auto flex min-w-0 items-center gap-1",children:[s.jsxs(bt,{children:[s.jsx(wt,{asChild:!0,children:s.jsx($,{type:"button",variant:"ghost",size:"sm","aria-label":e("walkthrough.help.guide"),onClick:()=>{ds(Us)},children:s.jsx(S,{name:"question",className:"size-4"})})}),s.jsx(vt,{children:s.jsx("p",{className:"typography-micro leading-tight",children:e("walkthrough.help.guide")})})]}),s.jsxs(ct,{open:Bt,onOpenChange:Je,children:[s.jsx(ut,{asChild:!0,children:s.jsxs("button",{type:"button",className:"flex h-8 min-w-0 flex-shrink items-center gap-1.5 rounded-md px-2 typography-ui-label text-muted-foreground outline-none hover:bg-interactive-hover hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring","aria-label":e("walkthrough.language.selectorAria"),title:x?a(W):void 0,children:[s.jsx(S,{name:"global",className:"size-4 flex-shrink-0 opacity-70"}),!x&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"truncate",children:a(W)}),s.jsx(S,{name:"arrow-down-s",className:"size-4 flex-shrink-0 opacity-60"})]})]})}),s.jsxs(dt,{align:"end",className:"w-48",children:[s.jsx(ht,{className:gt,children:e("walkthrough.language.menuLabel")}),s.jsx(pt,{value:W,onValueChange:o=>{Je(!1),Ot(i,N,o)},children:l.map(o=>s.jsx(le,{value:o,children:a(o)},o))})]})]}),s.jsx(kt,{providerId:Ut??"",modelId:Ye,onChange:(o,C)=>{Ht(i,N,o&&C?`${o}/${C}`:null)},allowedProviderIds:ae??[],isModelAllowed:Kt,tooltipsEnabled:!1,dropdownPortalToBody:!0,compact:x,className:K("h-8 min-w-0",!x&&"max-w-48")}),j&&s.jsxs(s.Fragment,{children:[s.jsx($,{type:"button",variant:"ghost",size:"sm","aria-label":e("walkthrough.action.previous"),onClick:()=>Ve(-1),children:s.jsx(S,{name:"arrow-right-s",className:"size-4 rotate-180"})}),s.jsx($,{type:"button",variant:"ghost",size:"sm","aria-label":e("walkthrough.action.next"),onClick:()=>Ve(1),children:s.jsx(S,{name:"arrow-right-s",className:"size-4"})})]}),Ze?s.jsx($,{type:"button",variant:"outline",size:"sm","aria-label":x?e("walkthrough.action.cancel"):void 0,title:x?e("walkthrough.action.cancel"):void 0,onClick:()=>zt(i,N),children:x?s.jsx(S,{name:"stop",className:"size-3.5"}):e("walkthrough.action.cancel")}):s.jsxs($,{type:"button",variant:"outline",size:"sm",className:ie?"border-border text-muted-foreground":bs,disabled:ie,"aria-label":x?e(j?"walkthrough.action.regenerate":"walkthrough.action.generate"):void 0,title:x?e(j?"walkthrough.action.regenerate":"walkthrough.action.generate"):void 0,onClick:()=>Pe(!!j),children:[s.jsx(S,{name:j?"refresh":"route",className:"size-3.5"}),!x&&e(j?"walkthrough.action.regenerate":"walkthrough.action.generate")]})]})]}),d.status==="generating"&&j&&s.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border/60 bg-[var(--status-info-background)] px-3 py-2",children:[s.jsx(S,{name:"loader-4",className:"size-4 shrink-0 animate-spin text-[var(--status-info)]"}),s.jsx("span",{className:"typography-meta text-foreground",children:d.stage==="collecting"?e("walkthrough.stage.collecting"):d.stage==="assembling"?e("walkthrough.stage.assembling"):e("walkthrough.stage.asking")})]}),(Ee||st)&&s.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border/60 bg-[var(--status-info-background)] px-3 py-2",children:[s.jsx(S,{name:"information",className:"size-4 shrink-0 text-[var(--status-info)]"}),s.jsx("span",{className:"typography-meta text-foreground",children:Ee&&st?e("walkthrough.missing.languageAndModel"):Ee?e("walkthrough.missing.language",{requested:a(W),shown:a(Te)}):e("walkthrough.missing.model",{model:Ye})}),s.jsx($,{type:"button",variant:"ghost",size:"xs",className:"ml-auto",disabled:ie,onClick:()=>Pe(!1),children:e("walkthrough.action.generate")})]}),j?.isStale&&d.status!=="generating"&&s.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border/60 bg-status-warning/10 px-3 py-2",children:[s.jsx(S,{name:"error-warning",className:"size-4 shrink-0 text-status-warning"}),s.jsx("span",{className:"typography-meta text-foreground",children:e("walkthrough.stale.banner",{count:j.staleStopCount})}),s.jsx($,{type:"button",variant:"ghost",size:"xs",className:"ml-auto",disabled:Ze,onClick:()=>Pe(!0),children:e("walkthrough.action.regenerate")})]}),d.error&&!Ae&&d.error.code!=="no-provider-login"&&s.jsxs("div",{className:"flex shrink-0 items-start gap-2 border-b border-border/60 bg-status-error/10 px-3 py-2",children:[s.jsx(S,{name:"error-warning",className:"mt-0.5 size-4 shrink-0 text-status-error"}),s.jsx("span",{className:"typography-meta line-clamp-2 text-foreground",title:d.error.message,children:d.error.message})]}),s.jsx("div",{className:K("flex min-h-0 flex-1",k?"flex-row":"flex-col"),children:Ue?s.jsx("div",{className:"flex flex-1 items-center justify-center gap-2 p-8 typography-meta text-muted-foreground",children:q.loading?s.jsx(S,{name:"loader-4",className:"size-6 animate-spin"}):q.error??e("commitComparison.noCommits")}):qe?s.jsx("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center",children:!Et&&R?s.jsx(S,{name:"loader-4",className:"size-6 animate-spin text-muted-foreground"}):s.jsx("p",{className:"typography-meta text-muted-foreground",children:e("gitView.pr.toast.baseBranchRequired")})}):Ae?s.jsx(Ms,{reason:Ae,model:Xt,requiredChars:Jt,availableChars:Qt,onRetry:()=>{ye(i,N)}}):Vt?s.jsx("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-8",children:s.jsx(Is,{progress:rt})}):j?s.jsxs(s.Fragment,{children:[k&&s.jsxs(s.Fragment,{children:[s.jsx(Gs,{view:j,activeStopId:z,visitedStopIds:E,onSelectStop:Me,width:I}),s.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":e("walkthrough.toc.resize"),tabIndex:0,onPointerDown:T,onKeyDown:Y,className:K("group relative w-1 shrink-0 cursor-col-resize","before:absolute before:inset-y-0 before:-left-1 before:-right-1 before:content-['']","hover:bg-interactive-selection focus-visible:bg-interactive-selection focus-visible:outline-none",w&&"bg-interactive-selection")})]}),s.jsx(Os,{view:j,activeStopId:z,scrollToStopId:ee,onActiveStopChange:Ce,onScrollHandled:()=>M(null),renderSideBySide:Mt,wrapLines:Ct})]}):s.jsx("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center",children:d.status==="loading"?s.jsx(S,{name:"loader-4",className:"size-6 animate-spin text-muted-foreground"}):s.jsxs(s.Fragment,{children:[s.jsx(S,{name:"route",className:"size-6 text-muted-foreground"}),s.jsx("h3",{className:"typography-ui-label font-semibold text-foreground",children:e("walkthrough.empty.title")}),s.jsx("p",{className:"typography-meta max-w-md text-muted-foreground",children:e("walkthrough.empty.description")})]})})})]})};export{dn as WalkthroughView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as p}from"./registerCustomTheme-BBXUCRnG.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-vite-runtime-DD1OZmLC.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";const m=o=>/^#[0-9a-fA-F]{6}$/.test(o),f=o=>/^#[0-9a-fA-F]{8}$/.test(o),b=(o,e)=>/^[0-9a-fA-F]{2}$/.test(e)?m(o)?`${o}${e}`:f(o)?`${o.slice(0,7)}${e}`:o:o,a=(o,e)=>typeof o=="string"&&o.trim().length>0?o:e,k=o=>{const e=o.colors.syntax.base,t=o.colors.syntax.tokens??{},r=(i,n)=>a(t[i],n);return[{name:"plain",scope:["source","support.type.property-name.css"],settings:{foreground:e.foreground}},{name:"classes",scope:["entity.name.type.class"],settings:{foreground:r("className",r("class",e.function))}},{name:"interfaces",scope:["entity.name.type.interface","entity.name.type"],settings:{foreground:r("interface",e.type)}},{name:"structs",scope:["entity.name.type.struct"],settings:{foreground:r("struct",e.function)}},{name:"enums",scope:["entity.name.type.enum"],settings:{foreground:r("enum",e.function)}},{name:"keys",scope:["meta.object-literal.key","support.type.property-name"],settings:{foreground:r("key",e.function)}},{name:"methods",scope:["entity.name.function.method","meta.function.method"],settings:{foreground:r("method",o.colors.status.success)}},{name:"functions",scope:["entity.name.function","support.function","meta.function-call.generic"],settings:{foreground:e.function,fontStyle:"bold"}},{name:"variables",scope:["variable","meta.variable","variable.other.object.property"],settings:{foreground:e.variable}},{name:"variablesOther",scope:["variable.other.object","variable.other.readwrite.alias"],settings:{foreground:r("variableOther",r("method",o.colors.status.success))}},{name:"globalVariables",scope:["variable.other.global","variable.language.this"],settings:{foreground:r("variableGlobal",e.number)}},{name:"localVariables",scope:["variable.other.local"],settings:{foreground:r("variableLocal",o.colors.surface.elevated)}},{name:"parameters",scope:["variable.parameter","meta.parameter"],settings:{foreground:r("parameter",e.foreground)}},{name:"properties",scope:["variable.other.property","meta.property"],settings:{foreground:r("variableProperty",o.colors.status.info)}},{name:"strings",scope:["string","string.other.link","markup.inline.raw.string.markdown"],settings:{foreground:e.string}},{name:"stringEscapeSequences",scope:["constant.character.escape","constant.other.placeholder"],settings:{foreground:r("stringEscape",e.foreground)}},{name:"keywords",scope:["keyword"],settings:{foreground:e.keyword}},{name:"keywordsControl",scope:["keyword.control.import","keyword.control.from","keyword.import"],settings:{foreground:r("keywordImport",e.operator)}},{name:"storageModifiers",scope:["storage.modifier","keyword.modifier","storage.type"],settings:{foreground:r("storageModifier",e.keyword)}},{name:"comments",scope:["comment","punctuation.definition.comment"],settings:{foreground:e.comment}},{name:"docComments",scope:["comment.documentation","comment.line.documentation"],settings:{foreground:r("commentDoc",o.colors.surface.mutedForeground)}},{name:"numbers",scope:["constant.numeric"],settings:{foreground:e.number}},{name:"booleans",scope:["constant.language.boolean","constant.language.json"],settings:{foreground:r("boolean",e.type)}},{name:"operators",scope:["keyword.operator"],settings:{foreground:e.operator}},{name:"macros",scope:["entity.name.function.preprocessor","meta.preprocessor"],settings:{foreground:r("macro",e.keyword)}},{name:"preprocessor",scope:["meta.preprocessor"],settings:{foreground:r("preprocessor",r("label",e.number))}},{name:"urls",scope:["markup.underline.link"],settings:{foreground:r("url",o.colors.status.info)}},{name:"tags",scope:["entity.name.tag"],settings:{foreground:r("tag",e.keyword)}},{name:"jsxTags",scope:["support.class.component"],settings:{foreground:r("jsxTag",r("label",e.number))}},{name:"attributes",scope:["entity.other.attribute-name","meta.attribute"],settings:{foreground:r("tagAttribute",e.type)}},{name:"types",scope:["support.type"],settings:{foreground:e.type}},{name:"constants",scope:["variable.other.constant","variable.readonly"],settings:{foreground:r("constant",e.foreground)}},{name:"labels",scope:["entity.name.label","punctuation.definition.label"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"namespaces",scope:["entity.name.namespace","storage.modifier.namespace","markup.bold.markdown"],settings:{foreground:r("namespace",e.type)}},{name:"modules",scope:["entity.name.module","storage.modifier.module"],settings:{foreground:r("module",e.operator)}},{name:"typeParameters",scope:["variable.type.parameter","variable.parameter.type"],settings:{foreground:r("typeParameter",e.function)}},{name:"exceptions",scope:["keyword.control.exception","keyword.control.trycatch"],settings:{foreground:r("exception",r("label",e.number))}},{name:"decorators",scope:["meta.decorator","punctuation.decorator","entity.name.function.decorator"],settings:{foreground:r("decorator",e.type)}},{name:"calls",scope:["variable.function"],settings:{foreground:e.foreground}},{name:"punctuation",scope:["punctuation","punctuation.terminator","punctuation.definition.tag","punctuation.separator","punctuation.definition.string","punctuation.section.block"],settings:{foreground:r("punctuation",e.comment)}},{name:"yellow",scope:["storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","constant.language.go","support.class.dart","keyword.other.documentation","storage.modifier.import.java","punctuation.definition.list.begin.markdown","punctuation.definition.quote.begin.markdown","meta.separator.markdown","entity.name.section.markdown"],settings:{foreground:e.type}},{name:"green",scope:[],settings:{foreground:r("method",o.colors.status.success)}},{name:"cyan",scope:["markup.italic.markdown","support.type.python","variable.legacy.builtin.python","support.constant.property-value.css","storage.modifier.attribute.swift"],settings:{foreground:e.string}},{name:"blue",scope:[],settings:{foreground:e.keyword}},{name:"purple",scope:["keyword.channel.go","keyword.other.platform.os.swift"],settings:{foreground:e.number}},{name:"magenta",scope:["punctuation.definition.heading.markdown"],settings:{foreground:r("label",r("variableGlobal",e.number))}},{name:"red",scope:[],settings:{foreground:e.operator}},{name:"orange",scope:[],settings:{foreground:e.function}}]},y=o=>{const e=o.colors.surface,t=o.colors.interactive,r=o.colors.status,i=o.colors.syntax.base,n=o.colors.syntax.highlights??{},s=a(n.diffAddedBackground,r.successBackground),l=a(n.diffRemovedBackground,r.errorBackground);return{"editor.background":e.background,"editor.foreground":e.foreground,"editor.hoverHighlightBackground":a(t.hover,e.subtle),"editor.lineHighlightBackground":e.muted,"editor.selectionBackground":t.selection,"editor.selectionHighlightBackground":t.selection,"editor.findMatchBackground":i.type,"editor.findMatchHighlightBackground":b(i.type,"cc"),"editor.findRangeHighlightBackground":e.muted,"editor.inactiveSelectionBackground":e.elevated,"editor.lineHighlightBorder":e.elevated,"editor.rangeHighlightBackground":a(t.active,t.borderHover),"notifications.background":e.elevated,"editorInlayHint.typeBackground":e.subtle,"editorInlayHint.typeForeground":e.foreground,"editorWhitespace.foreground":t.borderHover,"editorIndentGuide.background1":e.subtle,"editorHoverWidget.background":e.elevated,"editorLineNumber.activeForeground":a(n.lineNumberActive,e.foreground),"editorLineNumber.foreground":a(n.lineNumber,e.mutedForeground),"editorGutter.background":e.background,"editorGutter.modifiedBackground":r.info,"editorGutter.addedBackground":r.success,"editorGutter.deletedBackground":r.error,"editorBracketMatch.background":e.elevated,"editorBracketMatch.border":e.subtle,"editorError.foreground":r.error,"editorWarning.foreground":r.warning,"editorInfo.foreground":r.info,"diffEditor.insertedTextBackground":s,"diffEditor.removedTextBackground":l,"editorGroupHeader.tabsBackground":e.background,"editorGroup.border":t.border,"tab.activeBackground":e.background,"tab.inactiveBackground":e.muted,"tab.inactiveForeground":e.mutedForeground,"tab.activeForeground":e.foreground,"tab.hoverBackground":e.subtle,"tab.unfocusedHoverBackground":e.subtle,"tab.border":t.border,"tab.activeModifiedBorder":i.type,"tab.inactiveModifiedBorder":r.info,"tab.unfocusedActiveModifiedBorder":i.type,"tab.unfocusedInactiveModifiedBorder":r.info,"editorWidget.background":e.muted,"editorWidget.border":t.border,"editorSuggestWidget.background":e.background,"editorSuggestWidget.border":t.border,"editorSuggestWidget.foreground":e.foreground,"editorSuggestWidget.highlightForeground":e.mutedForeground,"editorSuggestWidget.selectedBackground":e.subtle,"peekView.border":t.border,"peekViewEditor.background":e.background,"peekViewEditor.matchHighlightBackground":e.subtle,"peekViewResult.background":e.muted,"peekViewResult.fileForeground":e.foreground,"peekViewResult.lineForeground":e.mutedForeground,"peekViewResult.matchHighlightBackground":e.subtle,"peekViewResult.selectionBackground":e.elevated,"peekViewResult.selectionForeground":e.mutedForeground,"peekViewTitle.background":e.subtle,"peekViewTitleDescription.foreground":e.mutedForeground,"peekViewTitleLabel.foreground":e.foreground,"merge.currentHeaderBackground":r.success,"merge.currentContentBackground":a(n.diffAdded,r.success),"merge.incomingHeaderBackground":r.info,"merge.incomingContentBackground":a(n.diffModified,r.info),"merge.border":t.border,"merge.commonContentBackground":e.subtle,"merge.commonHeaderBackground":e.muted,"panel.background":e.background,"panel.border":t.border,"panelTitle.activeBorder":t.borderHover,"panelTitle.activeForeground":e.foreground,"panelTitle.inactiveForeground":e.mutedForeground,"statusBar.background":e.background,"statusBar.foreground":e.foreground,"statusBar.border":t.border,"statusBar.debuggingBackground":r.error,"statusBar.debuggingForeground":r.errorForeground,"statusBar.noFolderBackground":e.subtle,"statusBar.noFolderForeground":e.mutedForeground,"titleBar.activeBackground":e.background,"titleBar.activeForeground":e.foreground,"titleBar.inactiveBackground":e.muted,"titleBar.inactiveForeground":e.mutedForeground,"titleBar.border":t.border,"menu.foreground":e.foreground,"menu.background":e.background,"menu.selectionForeground":e.foreground,"menu.selectionBackground":e.subtle,"menu.border":t.border,"editorInlayHint.foreground":e.mutedForeground,"editorInlayHint.background":e.subtle,"terminal.foreground":e.foreground,"terminal.background":e.background,"terminalCursor.foreground":e.foreground,"terminalCursor.background":e.background,"terminal.ansiRed":a(n.diffRemoved,r.error),"terminal.ansiGreen":a(n.diffAdded,r.success),"terminal.ansiYellow":r.warning,"terminal.ansiBlue":a(n.diffModified,r.info),"terminal.ansiMagenta":i.keyword,"terminal.ansiCyan":i.type,"activityBar.background":e.background,"activityBar.foreground":e.foreground,"activityBar.inactiveForeground":e.mutedForeground,"activityBar.activeBorder":e.foreground,"activityBar.border":t.border,"sideBar.background":e.background,"sideBar.foreground":e.foreground,"sideBar.border":t.border,"sideBarTitle.foreground":e.foreground,"sideBarSectionHeader.background":e.muted,"sideBarSectionHeader.foreground":e.foreground,"sideBarSectionHeader.border":t.border,"sideBar.activeBackground":e.subtle,"sideBar.activeForeground":e.foreground,"sideBar.hoverBackground":e.muted,"sideBar.hoverForeground":e.foreground,"list.warningForeground":r.warning,"list.errorForeground":r.error,"list.inactiveSelectionBackground":e.subtle,"list.activeSelectionBackground":e.elevated,"list.inactiveSelectionForeground":e.foreground,"list.activeSelectionForeground":e.foreground,"list.hoverForeground":e.foreground,"list.hoverBackground":e.muted,"input.background":e.muted,"input.foreground":e.foreground,"input.border":t.border,"input.placeholderForeground":e.mutedForeground,"inputOption.activeBorder":t.border,"inputOption.activeBackground":e.elevated,"inputOption.activeForeground":e.foreground,"inputValidation.infoBackground":r.infoBackground,"inputValidation.infoBorder":r.infoBorder,"inputValidation.warningBackground":r.warningBackground,"inputValidation.warningBorder":r.warningBorder,"inputValidation.errorBackground":r.errorBackground,"inputValidation.errorBorder":r.errorBorder,"dropdown.background":e.muted,"dropdown.foreground":e.foreground,"dropdown.border":t.border,"dropdown.listBackground":e.background,"badge.background":o.colors.primary.base,"activityBarBadge.background":o.colors.primary.base,"button.background":o.colors.primary.base,"button.foreground":a(o.colors.primary.foreground,e.background),"badge.foreground":a(o.colors.primary.foreground,e.background),"activityBarBadge.foreground":a(o.colors.primary.foreground,e.background)}};function B(o){return{name:o.metadata.name,type:o.metadata.variant,colors:y(o),tokenColors:k(o)}}const v=o=>/^#[0-9a-fA-F]{8}$/.test(o),u=o=>v(o)?o.slice(0,7):o;function w(o,e){return Object.defineProperty(o,"toString",{value:()=>e,enumerable:!1,configurable:!0}),Object.defineProperty(o,Symbol.toPrimitive,{value:()=>e,enumerable:!1,configurable:!0}),o}const h=40,d=new Map,g=new Map,c=o=>JSON.stringify(o),F=(o,e)=>{const t=o.colors?.["editor.background"],r=o.colors?.["editor.foreground"],i=t?u(t):void 0,n=r?u(r):void 0;if(!i||!n)throw new Error(`Theme "${e}" is missing editor.background/editor.foreground`);const s=o.tokenColors??[];return w({...o,name:e,fg:n,bg:i,settings:s},e)},H=o=>B(o),T=o=>{const e=c(o),t=d.get(e);if(t)return d.delete(e),d.set(e,t),t;const r=H(o),i=F(r,o.metadata.id);for(d.set(e,i);d.size>h;){const n=d.keys().next().value;if(n===void 0)break;d.delete(n)}return i},D=o=>{const e=o.metadata.id,t=c(o);if(g.get(e)===t)return;const r=T(o);p(e,async()=>r),g.set(e,t)};export{D as ensurePierreThemeRegistered,T as getResolvedShikiTheme,c as getThemeContentSignature};
|