@openchambery/web 1.19.7-beta.5 → 1.19.7-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/assets/{AgentAvatar-ziUs4sw3.js → AgentAvatar-Di8F4QJh.js} +1 -1
  2. package/dist/assets/{AssistantView-neqbgNaR.js → AssistantView-AWe-3bXR.js} +1 -1
  3. package/dist/assets/{ChatContainer-BBKcNWyJ.js → ChatContainer-XHQSSICA.js} +35 -35
  4. package/dist/assets/{ContextPanel-C3LRnrhI.js → ContextPanel-BT6bgBJ_.js} +3 -3
  5. package/dist/assets/{DiagramView-BOuujgEg.js → DiagramView-DNLNZOT6.js} +1 -1
  6. package/dist/assets/{FadeInOnReveal-BAlsRFJH.js → FadeInOnReveal-CV2s6YN8.js} +1 -1
  7. package/dist/assets/{MarkdownRendererImpl-Cj2Tk6Lb.js → MarkdownRendererImpl-C6E0KL8H.js} +1 -1
  8. package/dist/assets/{MobileDetailNavigation-BAy5LnnX.js → MobileDetailNavigation-Sg0VMlOz.js} +1 -1
  9. package/dist/assets/{MobileShareBridge-C03A2Qeb.js → MobileShareBridge-QTUpK3s7.js} +2 -2
  10. package/dist/assets/{MobileSurface-HlOBVawn.js → MobileSurface-BasV1X13.js} +1 -1
  11. package/dist/assets/{MultiRunWindow-0gmV5who.js → MultiRunWindow-BxyF4Xy4.js} +1 -1
  12. package/dist/assets/{OnboardingScreen-CJYyR54B.js → OnboardingScreen-D6rtE7rj.js} +1 -1
  13. package/dist/assets/{OverlayScrollbar-C-jZ8ITG.js → OverlayScrollbar-DlNZho3q.js} +1 -1
  14. package/dist/assets/{SettingsView-BaHbjZ-r.js → SettingsView-BywiwJ_a.js} +1 -1
  15. package/dist/assets/{SettingsWindow-BT-H9i50.js → SettingsWindow-zQ1dc-wl.js} +1 -1
  16. package/dist/assets/{TerminalView-v4YY-9kA.js → TerminalView-BMXYfo8d.js} +1 -1
  17. package/dist/assets/{ToolOutputDialog-1bp7aeoj.js → ToolOutputDialog-CFFkJzQ4.js} +1 -1
  18. package/dist/assets/{appThemeRegistry-ChC97xjW.js → appThemeRegistry-4oEk9SR8.js} +2 -2
  19. package/dist/assets/{clipboard-Bz0Zm9VJ.js → clipboard-D35XSwID.js} +1 -1
  20. package/dist/assets/{desktopRelayRestore-LBt0CBOj.js → desktopRelayRestore-8pvI_dSc.js} +1 -1
  21. package/dist/assets/{dialog-HCE4eLUW.js → dialog-x2hirWBd.js} +1 -1
  22. package/dist/assets/{es-D9KcV5TX.js → es-C8Sqjsia.js} +1 -1
  23. package/dist/assets/{fileQueries-Dnn15WsA.js → fileQueries-DGHZqZHc.js} +1 -1
  24. package/dist/assets/{fr-DPA9qUl3.js → fr-p-Zwm_j2.js} +1 -1
  25. package/dist/assets/{gitApi-BZQvlhsa.js → gitApi-Dqg8EDsg.js} +1 -1
  26. package/dist/assets/{insertionBoundaries-CLGkUXKc.js → insertionBoundaries-BtiZxiKR.js} +1 -1
  27. package/dist/assets/{ja-Dsif3NoD.js → ja-B6REu1qP.js} +1 -1
  28. package/dist/assets/{ko-Dixx4Ctg.js → ko-CJBNH9IZ.js} +1 -1
  29. package/dist/assets/{main-BtZPyHBH.js → main-Blsi9j8P.js} +2 -2
  30. package/dist/assets/{main-W1UkNfir.js → main-D4qq97ip.js} +3 -3
  31. package/dist/assets/{markdownTheme-TdhQOZSN.js → markdownTheme-SPe4jOwX.js} +1 -1
  32. package/dist/assets/{miniChat-Dqm16yyZ.js → miniChat-QgI11lL4.js} +2 -2
  33. package/dist/assets/{mobile-CzSQKW-r.js → mobile-BjMMtvjD.js} +2 -2
  34. package/dist/assets/{multirun-cDeDA8WZ.js → multirun-C9CKfXyS.js} +1 -1
  35. package/dist/assets/{persistence-CmjKImz2.js → persistence-w-AiX2i4.js} +1 -1
  36. package/dist/assets/{pl-Bj78ZGgf.js → pl-B2cBI_7K.js} +1 -1
  37. package/dist/assets/{platform-skqcMARt.js → platform-4eCmsdol.js} +1 -1
  38. package/dist/assets/{projectMeta-DJa04ZTk.js → projectMeta-DzGPV_uF.js} +1 -1
  39. package/dist/assets/{pt-BR-CFL3xSAf.js → pt-BR-CrCc9hmt.js} +1 -1
  40. package/dist/assets/{radio-CTAfZqAa.js → radio-TX0aocEX.js} +1 -1
  41. package/dist/assets/{renderElectronMiniChatApp-CR-zSyTR.js → renderElectronMiniChatApp-DZOBP2No.js} +2 -2
  42. package/dist/assets/{renderMobileApp-InxP28OZ.js → renderMobileApp-DP1_xIqJ.js} +10 -7
  43. package/dist/assets/{runtimeConfig-Fsa7BZKx.js → runtimeConfig-ClsErHd9.js} +1 -1
  44. package/dist/assets/{runtimeEndpointReset-Bp-Y9GZS.js → runtimeEndpointReset-DoLMDfAs.js} +1 -1
  45. package/dist/assets/{shikiHighlight-kzkGYjXV.js → shikiHighlight-B25fE64n.js} +1 -1
  46. package/dist/assets/{sortable-tabs-strip-Bj8N0VWf.js → sortable-tabs-strip-CNDgyX0B.js} +1 -1
  47. package/dist/assets/{store-DzpbXWX1.js → store-CL3WP48T.js} +2 -2
  48. package/dist/assets/{terminalApi-CNqqwjfG.js → terminalApi-CGtOtc8I.js} +1 -1
  49. package/dist/assets/{uk-BY60Ub3Z.js → uk-C8YKAz0x.js} +1 -1
  50. package/dist/assets/{useAppFontEffects-KatUA88o.js → useAppFontEffects-D1u63a6o.js} +2 -2
  51. package/dist/assets/{useAssistantUIStore-DaplPyb0.js → useAssistantUIStore-I0VWrB5V.js} +1 -1
  52. package/dist/assets/{useDesktopWindowControlsLayout-B3Vz7zfM.js → useDesktopWindowControlsLayout-DW_ouBDs.js} +1 -1
  53. package/dist/assets/{useEffectiveDirectory-CoY7Yf8Y.js → useEffectiveDirectory-D976zCCc.js} +1 -1
  54. package/dist/assets/{useFontPreferences-D8emhcNv.js → useFontPreferences-BLZ3y6mN.js} +1 -1
  55. package/dist/assets/{useMobileNavigationStore-90zAmNRR.js → useMobileNavigationStore-lcj5GHR3.js} +4 -4
  56. package/dist/assets/{useSessionAutoCleanup-B2UfFrMn.js → useSessionAutoCleanup-DMNa_krc.js} +1 -1
  57. package/dist/assets/useUIStore-CNLmCoPU.js +1 -0
  58. package/dist/assets/{useWorkerHighlightedLines-Cf50wR0y.js → useWorkerHighlightedLines-BQNOf2U4.js} +1 -1
  59. package/dist/assets/{zh-CN-Cox1LaOW.js → zh-CN-CCYwUnmB.js} +1 -1
  60. package/dist/assets/{zh-TW-B6RU0mxa.js → zh-TW-D8Y6py08.js} +1 -1
  61. package/dist/index.html +7 -7
  62. package/dist/mini-chat.html +7 -7
  63. package/dist/mobile.html +7 -7
  64. package/package.json +1 -1
  65. package/server/lib/notifications/APNS.md +4 -4
  66. package/server/lib/notifications/DOCUMENTATION.md +1 -1
  67. package/server/lib/notifications/apns-runtime.js +139 -20
  68. package/server/lib/notifications/apns-runtime.test.js +66 -7
  69. package/server/lib/notifications/apns-titles.js +62 -62
  70. package/server/lib/notifications/apns-titles.test.js +3 -1
  71. package/server/lib/notifications/routes.js +1 -1
  72. package/server/lib/notifications/runtime.js +25 -49
  73. package/server/lib/opencode/settings-runtime.js +16 -0
  74. package/dist/assets/useUIStore-B7KJS5G7.js +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderElectronMiniChatApp-CR-zSyTR.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-CmjKImz2.js","assets/runtime-switch-BkpTTbEi.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-B7KJS5G7.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-skqcMARt.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-Bz0Zm9VJ.js","assets/store-DzpbXWX1.js","assets/useMobileNavigationStore-90zAmNRR.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-DaplPyb0.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/useAppFontEffects-KatUA88o.js","assets/desktopHosts-C1Ns3DUu.js","assets/desktopRelayRestore-LBt0CBOj.js","assets/dialog-HCE4eLUW.js","assets/gitApi-BZQvlhsa.js","assets/vendor-simplewebauthn-browser-Dwhcdg_5.js","assets/projectMeta-DJa04ZTk.js","assets/input-BG3VWTIF.js","assets/tooltip-CtH61mQh.js","assets/OverlayScrollbar-C-jZ8ITG.js","assets/vendor-dnd-kit-core-CvWxUPdb.js","assets/vendor-dnd-kit-accessibility-BY5LhhUB.js","assets/vendor-dnd-kit-sortable-hHdP9lLb.js","assets/useSessionAutoCleanup-B2UfFrMn.js","assets/radio-CTAfZqAa.js","assets/vendor-codemirror-autocomplete-DHomsvW7.js","assets/vendor-codemirror-lang-angular-DShkBD6m.js","assets/vendor-codemirror-lang-json-CYJRHck9.js","assets/vendor-codemirror-lang-markdown-WORgx6ZD.js","assets/vendor-codemirror-lang-python-Du6XQ8Zw.js","assets/vendor-codemirror-legacy-modes-DuRAjNvB.js","assets/AgentAvatar-ziUs4sw3.js","assets/useThemeSystem-DMzWVJaW.js","assets/vendor-codemirror-language-data-BfYFhIH1.js","assets/markdownTheme-TdhQOZSN.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/ChatContainer-BBKcNWyJ.js","assets/useRuntimeAPIs-DSLXJybW.js","assets/insertionBoundaries-CLGkUXKc.js","assets/appThemeRegistry-ChC97xjW.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/url-KeihbE0d.js","assets/useEffectiveDirectory-CoY7Yf8Y.js","assets/FadeInOnReveal-BAlsRFJH.js","assets/useWorkerHighlightedLines-Cf50wR0y.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-cmdk-CeAGfrLo.js","assets/vendor-aria-hidden-BbL3cEyI.js","assets/sortable-tabs-strip-Bj8N0VWf.js","assets/vendor-framer-motion-DFy_BSVd.js","assets/vendor-legendapp-list-WE32lwNk.js","assets/useFontPreferences-D8emhcNv.js","assets/terminalApi-CNqqwjfG.js","assets/useDesktopWindowControlsLayout-B3Vz7zfM.js","assets/src-DZt1nWf5.css"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./runtimeConfig-Fsa7BZKx.js";import{o as t}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";/* empty css */window.__OPENCHAMBER_RUNTIME_APIS__=e(),t(async()=>{let{renderElectronMiniChatApp:e}=await import(`./renderElectronMiniChatApp-CR-zSyTR.js`);return{renderElectronMiniChatApp:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83])).then(({renderElectronMiniChatApp:t})=>{t(window.__OPENCHAMBER_RUNTIME_APIS__??e())});
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderElectronMiniChatApp-DZOBP2No.js","assets/rolldown-runtime-C0FnF6B9.js","assets/persistence-w-AiX2i4.js","assets/runtime-switch-BkpTTbEi.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CNLmCoPU.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-4eCmsdol.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-D35XSwID.js","assets/store-CL3WP48T.js","assets/useMobileNavigationStore-lcj5GHR3.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-I0VWrB5V.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/useAppFontEffects-D1u63a6o.js","assets/desktopHosts-C1Ns3DUu.js","assets/desktopRelayRestore-8pvI_dSc.js","assets/dialog-x2hirWBd.js","assets/gitApi-Dqg8EDsg.js","assets/vendor-simplewebauthn-browser-Dwhcdg_5.js","assets/projectMeta-DzGPV_uF.js","assets/input-BG3VWTIF.js","assets/tooltip-CtH61mQh.js","assets/OverlayScrollbar-DlNZho3q.js","assets/vendor-dnd-kit-core-CvWxUPdb.js","assets/vendor-dnd-kit-accessibility-BY5LhhUB.js","assets/vendor-dnd-kit-sortable-hHdP9lLb.js","assets/useSessionAutoCleanup-DMNa_krc.js","assets/radio-TX0aocEX.js","assets/vendor-codemirror-autocomplete-DHomsvW7.js","assets/vendor-codemirror-lang-angular-DShkBD6m.js","assets/vendor-codemirror-lang-json-CYJRHck9.js","assets/vendor-codemirror-lang-markdown-WORgx6ZD.js","assets/vendor-codemirror-lang-python-Du6XQ8Zw.js","assets/vendor-codemirror-legacy-modes-DuRAjNvB.js","assets/AgentAvatar-Di8F4QJh.js","assets/useThemeSystem-DMzWVJaW.js","assets/vendor-codemirror-language-data-BfYFhIH1.js","assets/markdownTheme-SPe4jOwX.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/ChatContainer-XHQSSICA.js","assets/useRuntimeAPIs-DSLXJybW.js","assets/insertionBoundaries-BtiZxiKR.js","assets/appThemeRegistry-4oEk9SR8.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/url-KeihbE0d.js","assets/useEffectiveDirectory-D976zCCc.js","assets/FadeInOnReveal-CV2s6YN8.js","assets/useWorkerHighlightedLines-BQNOf2U4.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-cmdk-CeAGfrLo.js","assets/vendor-aria-hidden-BbL3cEyI.js","assets/sortable-tabs-strip-CNDgyX0B.js","assets/vendor-framer-motion-DFy_BSVd.js","assets/vendor-legendapp-list-WE32lwNk.js","assets/useFontPreferences-BLZ3y6mN.js","assets/terminalApi-CGtOtc8I.js","assets/useDesktopWindowControlsLayout-DW_ouBDs.js","assets/src-DZt1nWf5.css"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./runtimeConfig-ClsErHd9.js";import{o as t}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";/* empty css */window.__OPENCHAMBER_RUNTIME_APIS__=e(),t(async()=>{let{renderElectronMiniChatApp:e}=await import(`./renderElectronMiniChatApp-DZOBP2No.js`);return{renderElectronMiniChatApp:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83])).then(({renderElectronMiniChatApp:t})=>{t(window.__OPENCHAMBER_RUNTIME_APIS__??e())});
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderMobileApp-InxP28OZ.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-switch-BkpTTbEi.js","assets/persistence-CmjKImz2.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-B7KJS5G7.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-skqcMARt.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/capgoAdapter-DCowZ2ab.js","assets/types-BuiqMmh_.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-Bz0Zm9VJ.js","assets/store-DzpbXWX1.js","assets/MobileShareBridge-C03A2Qeb.js","assets/useMobileNavigationStore-90zAmNRR.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/useAssistantUIStore-DaplPyb0.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/MobileDetailNavigation-BAy5LnnX.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/dialog-HCE4eLUW.js","assets/AgentAvatar-ziUs4sw3.js","assets/gitApi-BZQvlhsa.js","assets/useAppFontEffects-KatUA88o.js","assets/desktopHosts-C1Ns3DUu.js","assets/desktopRelayRestore-LBt0CBOj.js","assets/vendor-simplewebauthn-browser-Dwhcdg_5.js","assets/projectMeta-DJa04ZTk.js","assets/input-BG3VWTIF.js","assets/tooltip-CtH61mQh.js","assets/OverlayScrollbar-C-jZ8ITG.js","assets/vendor-dnd-kit-core-CvWxUPdb.js","assets/vendor-dnd-kit-accessibility-BY5LhhUB.js","assets/vendor-dnd-kit-sortable-hHdP9lLb.js","assets/useSessionAutoCleanup-B2UfFrMn.js","assets/radio-CTAfZqAa.js","assets/vendor-codemirror-autocomplete-DHomsvW7.js","assets/vendor-codemirror-lang-angular-DShkBD6m.js","assets/vendor-codemirror-lang-json-CYJRHck9.js","assets/vendor-codemirror-lang-markdown-WORgx6ZD.js","assets/vendor-codemirror-lang-python-Du6XQ8Zw.js","assets/vendor-codemirror-legacy-modes-DuRAjNvB.js","assets/useThemeSystem-DMzWVJaW.js","assets/vendor-codemirror-language-data-BfYFhIH1.js","assets/markdownTheme-TdhQOZSN.js","assets/ChatContainer-BBKcNWyJ.js","assets/useRuntimeAPIs-DSLXJybW.js","assets/insertionBoundaries-CLGkUXKc.js","assets/appThemeRegistry-ChC97xjW.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/url-KeihbE0d.js","assets/useEffectiveDirectory-CoY7Yf8Y.js","assets/FadeInOnReveal-BAlsRFJH.js","assets/useWorkerHighlightedLines-Cf50wR0y.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-cmdk-CeAGfrLo.js","assets/vendor-aria-hidden-BbL3cEyI.js","assets/sortable-tabs-strip-Bj8N0VWf.js","assets/vendor-framer-motion-DFy_BSVd.js","assets/vendor-legendapp-list-WE32lwNk.js","assets/useFontPreferences-D8emhcNv.js","assets/terminalApi-CNqqwjfG.js","assets/MobileSurface-HlOBVawn.js","assets/collapsible-D9zJRpeB.js","assets/projectActions-CWvNGKfA.js","assets/ContextPanel-C3LRnrhI.js","assets/shikiHighlight-kzkGYjXV.js","assets/vendor-codemirror-commands-C9DCaJ0C.js","assets/vendor-codemirror-search-D2SOgzph.js","assets/vendor-replit-codemirror-vim-CEibx3EP.js","assets/diagram-CoEqmReY.js","assets/vendor-react-drawio-ECtEwvbc.js","assets/vendor-zumer-snapdom-yq9vlCKr.js","assets/vendor-html-to-image-BDMm2v6d.js","assets/runtimeEndpointReset-Bp-Y9GZS.js","assets/vendor-cron-parser-CCD11YFT.js","assets/SettingsView-BaHbjZ-r.js","assets/vendor-yaml-DIcAK3EC.js","assets/vendor-qrcode-DAuVxiQR.js","assets/vendor-dijkstrajs-DztKuCwY.js","assets/AssistantView-neqbgNaR.js","assets/fileQueries-Dnn15WsA.js","assets/src-DZt1nWf5.css"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./runtimeConfig-Fsa7BZKx.js";import{o as t}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";/* empty css */window.__OPENCHAMBER_RUNTIME_APIS__=e(),t(async()=>{let{renderMobileApp:e}=await import(`./renderMobileApp-InxP28OZ.js`);return{renderMobileApp:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106])).then(({renderMobileApp:t})=>{t(window.__OPENCHAMBER_RUNTIME_APIS__??e())});
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/renderMobileApp-DP1_xIqJ.js","assets/rolldown-runtime-C0FnF6B9.js","assets/runtime-switch-BkpTTbEi.js","assets/persistence-w-AiX2i4.js","assets/desktop-CfLlmafK.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/useUIStore-CNLmCoPU.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/platform-4eCmsdol.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/capgoAdapter-DCowZ2ab.js","assets/types-BuiqMmh_.js","assets/vendor-pierre-diffs-DX7XTPG3.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/vendor-sonner-DVzioF3d.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-D35XSwID.js","assets/store-CL3WP48T.js","assets/MobileShareBridge-QTUpK3s7.js","assets/useMobileNavigationStore-lcj5GHR3.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/useAssistantUIStore-I0VWrB5V.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/MobileDetailNavigation-Sg0VMlOz.js","assets/utils-CTL16t2f.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-CLpn1mIz.js","assets/button-z0GOBtWi.js","assets/dialog-x2hirWBd.js","assets/AgentAvatar-Di8F4QJh.js","assets/gitApi-Dqg8EDsg.js","assets/useAppFontEffects-D1u63a6o.js","assets/desktopHosts-C1Ns3DUu.js","assets/desktopRelayRestore-8pvI_dSc.js","assets/vendor-simplewebauthn-browser-Dwhcdg_5.js","assets/projectMeta-DzGPV_uF.js","assets/input-BG3VWTIF.js","assets/tooltip-CtH61mQh.js","assets/OverlayScrollbar-DlNZho3q.js","assets/vendor-dnd-kit-core-CvWxUPdb.js","assets/vendor-dnd-kit-accessibility-BY5LhhUB.js","assets/vendor-dnd-kit-sortable-hHdP9lLb.js","assets/useSessionAutoCleanup-DMNa_krc.js","assets/radio-TX0aocEX.js","assets/vendor-codemirror-autocomplete-DHomsvW7.js","assets/vendor-codemirror-lang-angular-DShkBD6m.js","assets/vendor-codemirror-lang-json-CYJRHck9.js","assets/vendor-codemirror-lang-markdown-WORgx6ZD.js","assets/vendor-codemirror-lang-python-Du6XQ8Zw.js","assets/vendor-codemirror-legacy-modes-DuRAjNvB.js","assets/useThemeSystem-DMzWVJaW.js","assets/vendor-codemirror-language-data-BfYFhIH1.js","assets/markdownTheme-SPe4jOwX.js","assets/ChatContainer-XHQSSICA.js","assets/useRuntimeAPIs-DSLXJybW.js","assets/insertionBoundaries-BtiZxiKR.js","assets/appThemeRegistry-4oEk9SR8.js","assets/markdown-worker-y3ewaqAK.js","assets/markdownHeightCache-CvUyZT4q.js","assets/url-KeihbE0d.js","assets/useEffectiveDirectory-D976zCCc.js","assets/FadeInOnReveal-CV2s6YN8.js","assets/useWorkerHighlightedLines-BQNOf2U4.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-cmdk-CeAGfrLo.js","assets/vendor-aria-hidden-BbL3cEyI.js","assets/sortable-tabs-strip-CNDgyX0B.js","assets/vendor-framer-motion-DFy_BSVd.js","assets/vendor-legendapp-list-WE32lwNk.js","assets/useFontPreferences-BLZ3y6mN.js","assets/terminalApi-CGtOtc8I.js","assets/MobileSurface-BasV1X13.js","assets/collapsible-D9zJRpeB.js","assets/projectActions-CWvNGKfA.js","assets/ContextPanel-BT6bgBJ_.js","assets/shikiHighlight-B25fE64n.js","assets/vendor-codemirror-commands-C9DCaJ0C.js","assets/vendor-codemirror-search-D2SOgzph.js","assets/vendor-replit-codemirror-vim-CEibx3EP.js","assets/diagram-CoEqmReY.js","assets/vendor-react-drawio-ECtEwvbc.js","assets/vendor-zumer-snapdom-yq9vlCKr.js","assets/vendor-html-to-image-BDMm2v6d.js","assets/runtimeEndpointReset-DoLMDfAs.js","assets/vendor-cron-parser-CCD11YFT.js","assets/SettingsView-BywiwJ_a.js","assets/vendor-yaml-DIcAK3EC.js","assets/vendor-qrcode-DAuVxiQR.js","assets/vendor-dijkstrajs-DztKuCwY.js","assets/AssistantView-AWe-3bXR.js","assets/fileQueries-DGHZqZHc.js","assets/src-DZt1nWf5.css"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./runtimeConfig-ClsErHd9.js";import{o as t}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";/* empty css */window.__OPENCHAMBER_RUNTIME_APIS__=e(),t(async()=>{let{renderMobileApp:e}=await import(`./renderMobileApp-DP1_xIqJ.js`);return{renderMobileApp:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106])).then(({renderMobileApp:t})=>{t(window.__OPENCHAMBER_RUNTIME_APIS__??e())});
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{g as t}from"./desktop-CfLlmafK.js";import{a as n,r}from"./vendor-zustand-B4dlGEM2.js";import{nt as i,rt as a}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as o,Nt as s}from"./platform-skqcMARt.js";import{t as c}from"./useUIStore-B7KJS5G7.js";import{n as l}from"./vendor-react-DLPElpoQ.js";import{n as u}from"./vendor-reactuses-core-DDoDDyM9.js";import{l as d,n as f}from"./clipboard-Bz0Zm9VJ.js";import{Ka as p,Ln as m,Rn as h,Vn as g,Wa as _,Zn as v,bo as y,c as b,ca as x,fr as S,hr as C,ia as w,l as T,ta as ee}from"./useMobileNavigationStore-90zAmNRR.js";import{n as E,t as te}from"./utils-CTL16t2f.js";import{n as D}from"./Icon-CLpn1mIz.js";import{t as ne}from"./button-z0GOBtWi.js";import{n as re}from"./gitApi-BZQvlhsa.js";import{C as ie,O as ae,S as O,X as oe,_ as k,a as se,b as ce,et as le,g as ue,h as de,i as A,j as fe,k as pe,n as j,o as M,p as N,v as me,x as he,y as P}from"./projectMeta-DJa04ZTk.js";import{t as F}from"./input-BG3VWTIF.js";import{i as I,n as ge,t as L}from"./tooltip-CtH61mQh.js";import{o as _e}from"./OverlayScrollbar-C-jZ8ITG.js";import{n as R}from"./useRuntimeAPIs-DSLXJybW.js";import{E as ve,T as ye,a as z,b as B,c as be,g as V,k as xe,l as H,m as U,o as W,p as G,r as Se,x as K}from"./insertionBoundaries-CLGkUXKc.js";import{n as q,r as J,t as Y}from"./collapsible-D9zJRpeB.js";var X=e(a(),1),Ce=l(),Z=/^[a-z0-9](?:[a-z0-9-]{0,48}[a-z0-9])?$/,Q=/^g[1-9]\d*$/,we=(e,t,n,r,i)=>{if(!Z.test(e)||t!==void 0&&!Q.test(t)||!n?.trim()||!r?.trim()||n!==n.trim()||r!==r.trim())return null;if(i===void 0)return{groupSlug:e,runGroup:t,providerID:n,modelID:r,fusion:!1};if(i===`fusion`)return{groupSlug:e,runGroup:t,providerID:n,modelID:r,fusion:!0};if(!/^\d+$/.test(i))return null;let a=Number.parseInt(i,10);return!Number.isSafeInteger(a)||a<=0?null:{groupSlug:e,runGroup:t,providerID:n,modelID:r,index:a,fusion:!1}},Te=e=>{if(!e)return null;let t=e.split(`/`);if(t.length<3||t.length>5)return null;let[n]=t;if(t.length===3)return we(n,void 0,t[1],t[2],void 0);if(t.length===4){let[,e,r,i]=t;return Q.test(e)?we(n,e,r,i,void 0):we(n,void 0,e,r,i)}let[,r,i,a,o]=t;return r===``?we(n,void 0,i,a,o):we(n,r,i,a,o)},Ee=e=>{let t=[e.groupSlug];return e.runGroup&&t.push(e.runGroup),t.push(e.providerID,e.modelID),e.index!==void 0&&t.push(String(e.index)),t.join(`/`)},De=(e,t,n,r)=>{let i=[e];return r&&i.push(r),i.push(t,n,`fusion`),i.join(`/`)},Oe=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).substring(0,50),ke=(e,t)=>`${Oe(e)}-${Oe(t)}`.substring(0,60),Ae=(e,t)=>`${e}/${t}`,je=e=>{let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.length>1?t.replace(/\/+$/,``):t},Me=(e,t)=>{let n=je(t),r=e.directory,i=typeof r==`string`&&r.trim().length>0?e:{...e,directory:n};x(e.id,n),T.getState().markSessionAsOpenChamberCreated(e.id),S.getState().upsertSession(i);try{w().ensureChild(n,{bootstrap:!1}).setState(t=>{let n=t.session.findIndex(t=>t.id===e.id);if(n>=0&&t.session[n]===i)return t;let r=n>=0?t.session.map((e,t)=>t===n?i:e):[...t.session,i].sort((e,t)=>e.id.localeCompare(t.id));return{session:r,sessionTotal:Math.max(t.sessionTotal,r.length),limit:Math.max(t.limit,r.length)}})}catch{}return i},Ne=()=>{let e=y.getState(),t=e.activeProjectId;if(!t)return null;let n=e.projects.find(e=>e.id===t);if(n?.path)return{id:n.id,path:n.path};let r=o.getState().currentDirectory??null;if(r&&r.trim().length>0){let e=r.replace(/\\/g,`/`).replace(/\/+$/,``)||r;return{id:`path:${e}`,path:e}}return null},Pe=n()(r(e=>({isLoading:!1,error:null,createMultiRun:async t=>{let n=t.name.trim(),{groups:r,agent:i,files:a,setupCommands:o}=t;if(!n)return e({error:`Group name is required`}),null;if(!r||r.length===0)return e({error:`At least one run group is required`}),null;for(let t=0;t<r.length;t++){if(!r[t].prompt.trim())return e({error:`Group ${t+1}: prompt is required`}),null;if(r[t].models.length<1)return e({error:`Group ${t+1}: select at least 1 model`}),null;if(r[t].models.length>5)return e({error:`Group ${t+1}: maximum 5 models allowed`}),null}e({isLoading:!0,error:null});try{let c=Ne();if(!c)return e({error:`Select a project`,isLoading:!1}),null;let l=c.path,u=await re(l)&&t.isolateRuns!==!1,d=Oe(n),f=u?await N(l):void 0,p=u?await H(l):null,m=[],_=o?.filter(e=>e.trim().length>0)??[];for(let e=0;e<r.length;e++){let n=r[e],i=n.prompt,a=new Map;for(let e of n.models){let t=`${e.providerID}:${e.modelID}`;a.set(t,(a.get(t)||0)+1)}let o=new Map;for(let g of n.models){let n=`${g.providerID}:${g.modelID}`,y=a.get(n)||1,b=(o.get(n)||0)+1;o.set(n,b);let x=ke(g.providerID,g.modelID),S=r.length>1?`g${e+1}`:void 0,C=y>1?Ae(d,`${x}/${b}`):Ae(d,x),w=S?`${S}/${C}`:C,ee=Ee({groupSlug:d,runGroup:S,providerID:g.providerID,modelID:g.modelID,index:y>1?b:void 0});try{if(!u){let e=await s.withDirectory(l,()=>s.createSession({title:ee}));Me(e,l),m.push({sessionId:e.id,worktreePath:l,providerID:g.providerID,modelID:g.modelID,variant:g.variant,prompt:i});continue}let e=await be(c,{preferredName:w,mode:`new`,branchName:w,worktreeName:w,startRef:t.worktreeBaseBranch||`HEAD`,setupCommands:_,returnAfterDirectoryCreated:!0},{resolvedRootTrackingRemote:p}),n={...e,createdFromBranch:f,kind:`standard`};await h(c)&&await v(e.path);let r=await s.withDirectory(e.path,()=>s.createSession({title:ee}));Me(r,e.path),T.getState().setWorktreeMetadata(r.id,n),m.push({sessionId:r.id,worktreePath:e.path,providerID:g.providerID,modelID:g.modelID,variant:g.variant,prompt:i})}catch(e){console.warn(`[MultiRun] Failed to create session:`,e)}}}let y=o?.filter(e=>e.trim().length>0)??[];y.length>0&&g(c,y).catch(()=>{console.warn(`[MultiRun] Failed to save worktree setup commands`)});let x=m.map(e=>e.sessionId),S=m[0]?.sessionId??null;if(x.length===0)return e({error:`Failed to create any sessions`,isLoading:!1}),null;let C=a?.map(e=>({type:`file`,mime:e.mime,filename:e.filename,url:e.url}));return(async()=>{try{let e=oe.getState().expandText;await Promise.allSettled(m.map(async t=>{try{let n=await e(t.prompt).catch(()=>t.prompt);await b({sessionId:t.sessionId,directory:t.worktreePath,content:n,providerID:t.providerID,modelID:t.modelID,variant:t.variant,agent:i,files:C})}catch(e){console.warn(`[MultiRun] Failed to start run:`,e)}}))}catch(e){console.warn(`[MultiRun] Failed to start runs:`,e)}})(),e({isLoading:!1}),{groupSlug:d,sessionIds:x,firstSessionId:S}}catch(t){return e({error:t instanceof Error?t.message:`Failed to create Multi-Run`,isLoading:!1}),null}},clearError:()=>{e({error:null})}}),{name:`multirun-store`})),$=i(),Fe=`h-7`,Ie=()=>`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,Le=e=>{let t=(0,Ce.c)(13),{model:n,instanceIndex:r,totalSameModel:i,onRemove:a}=e,o=n.displayName||`${n.providerID}/${n.modelID}`,s=i>1?`${o} (${r})`:o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=te(`flex items-center gap-1.5 px-2 rounded-md bg-interactive-selection/20 border border-border/30`,Fe),t[0]=c):c=t[0];let l;t[1]!==n.modelID||t[2]!==n.providerID?(l=(0,$.jsx)(pe,{modelId:n.modelID,providerId:n.providerID,className:`h-3.5 w-3.5`}),t[1]=n.modelID,t[2]=n.providerID,t[3]=l):l=t[3];let u;t[4]===s?u=t[5]:(u=(0,$.jsx)(`span`,{className:`typography-meta font-medium truncate max-w-[140px]`,children:s}),t[4]=s,t[5]=u);let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(D,{name:`close`,className:`h-3.5 w-3.5`}),t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=(0,$.jsx)(`button`,{type:`button`,onClick:a,className:`text-muted-foreground hover:text-foreground ml-0.5`,children:d}),t[7]=a,t[8]=f);let p;return t[9]!==l||t[10]!==u||t[11]!==f?(p=(0,$.jsxs)(`div`,{className:c,children:[l,u,f]}),t[9]=l,t[10]=u,t[11]=f,t[12]=p):p=t[12],p},Re=e=>{let t=(0,Ce.c)(131),{selectedModels:n,onAdd:r,onRemove:i,onUpdate:a,minModels:o,addButtonLabel:s,showChips:l,maxModels:u,addButtonClassName:d,dropdownSide:m,dropdownClassName:h,containerClassName:g,triggerIcon:_}=e,v=l===void 0||l,y=m===void 0?`top`:m,{t:b}=f(),x=ee(ze),S=ee(Be),C=c(Ve),w=c(He),{favoriteModelsList:T,recentModelsList:E}=ae(),re=c(Ue),oe=c(We),[k,se]=X.useState(!1),[ce,le]=X.useState(``),[A,fe]=X.useState(null),pe=X.useRef(null),j=X.useRef(null),M=u===1,N=u===void 0||n.length<u||M,P;if(t[0]!==n){P=new Map;for(let e of n){let t=`${e.providerID}:${e.modelID}`;P.set(t,(P.get(t)||0)+1)}t[0]=n,t[1]=P}else P=t[1];let F=P,I;t[2]===n?I=t[3]:(I=e=>n.filter(t=>t.providerID===e.providerID&&t.modelID===e.modelID).findIndex(t=>t.instanceId===e.instanceId)+1,t[2]=n,t[3]=I);let ge=I,L,_e;t[4]!==y||t[5]!==k?(L=()=>{if(!k||!j.current)return;let e=j.current.getBoundingClientRect();if(y===`bottom`){let t=(window.visualViewport?.height??document.documentElement.clientHeight??window.innerHeight)-e.bottom-16-112;fe(Math.max(160,Math.min(320,t)));return}let t=j.current.parentElement;for(;t&&!(t.getAttribute(`role`)===`dialog`||t.hasAttribute(`data-scroll-shadow`));){let e=getComputedStyle(t);if(e.overflow===`auto`||e.overflow===`hidden`||e.overflowY===`auto`||e.overflowY===`hidden`)break;t=t.parentElement}let n=t?t.getBoundingClientRect().top:0,r=e.top-n-16;fe(Math.max(150,Math.min(300,r)))},_e=[y,k],t[4]=y,t[5]=k,t[6]=L,t[7]=_e):(L=t[6],_e=t[7]),X.useEffect(L,_e);let R,ve;t[8]!==N||t[9]!==k?(R=()=>{!N&&k&&(se(!1),le(``))},ve=[N,k],t[8]=N,t[9]=k,t[10]=R,t[11]=ve):(R=t[10],ve=t[11]),X.useEffect(R,ve);let ye,z;t[12]===k?(ye=t[13],z=t[14]):(ye=()=>{if(!k)return;let e=e=>{pe.current&&!pe.current.contains(e.target)&&(se(!1),le(``))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},z=[k],t[12]=k,t[13]=ye,t[14]=z),X.useEffect(ye,z);let B;t[15]!==M||t[16]!==r||t[17]!==a||t[18]!==n.length?(B=e=>{let t={providerID:e.providerID,modelID:e.modelID,displayName:p(e.model,e.modelID)||e.modelID,instanceId:Ie()};M&&n.length>0&&a?a(0,t):r(t),M&&(se(!1),le(``))},t[15]=M,t[16]=r,t[17]=a,t[18]=n.length,t[19]=B):B=t[19];let be=B,V;t[20]===b?V=t[21]:(V=b(`multirun.modelMultiSelect.search.placeholder`),t[20]=b,t[21]=V);let xe;t[22]===b?xe=t[23]:(xe=b(`multirun.modelMultiSelect.search.noResults`),t[22]=b,t[23]=xe);let H;t[24]===b?H=t[25]:(H=b(`multirun.modelMultiSelect.sections.favorites`),t[24]=b,t[25]=H);let U;t[26]===b?U=t[27]:(U=b(`multirun.modelMultiSelect.sections.recent`),t[26]=b,t[27]=U);let W;t[28]===b?W=t[29]:(W=b(`multirun.modelMultiSelect.keyboard.hint`),t[28]=b,t[29]=W);let G;t[30]===b?G=t[31]:(G=b(`settings.agents.modelSelector.actions.favorite`),t[30]=b,t[31]=G);let Se;t[32]===b?Se=t[33]:(Se=b(`settings.agents.modelSelector.actions.unfavorite`),t[32]=b,t[33]=Se);let K;t[34]===b?K=t[35]:(K=b(`chat.modelControls.provider`),t[34]=b,t[35]=K);let q;t[36]===b?q=t[37]:(q=b(`chat.modelControls.capabilities`),t[36]=b,t[37]=q);let J;t[38]===b?J=t[39]:(J=b(`chat.modelControls.capability.toolCalling`),t[38]=b,t[39]=J);let Y;t[40]===b?Y=t[41]:(Y=b(`chat.modelControls.capability.reasoning`),t[40]=b,t[41]=Y);let Z;t[42]===b?Z=t[43]:(Z=b(`chat.modelControls.modality.image`),t[42]=b,t[43]=Z);let Q;t[44]===b?Q=t[45]:(Q=b(`chat.modelControls.modality.video`),t[44]=b,t[45]=Q);let we;t[46]===b?we=t[47]:(we=b(`chat.modelControls.modality.audio`),t[46]=b,t[47]=we);let Te;t[48]===b?Te=t[49]:(Te=b(`chat.modelControls.costPerMillion`),t[48]=b,t[49]=Te);let Ee;t[50]===b?Ee=t[51]:(Ee=b(`chat.modelControls.costInput`),t[50]=b,t[51]=Ee);let De;t[52]===b?De=t[53]:(De=b(`chat.modelControls.costOutput`),t[52]=b,t[53]=De);let Oe;t[54]!==V||t[55]!==xe||t[56]!==H||t[57]!==U||t[58]!==W||t[59]!==G||t[60]!==Se||t[61]!==K||t[62]!==q||t[63]!==J||t[64]!==Y||t[65]!==Z||t[66]!==Q||t[67]!==we||t[68]!==Te||t[69]!==Ee||t[70]!==De?(Oe={searchPlaceholder:V,noResults:xe,favorites:H,recent:U,keyboardHint:W,favorite:G,unfavorite:Se,provider:K,capabilities:q,capabilityToolCalling:J,capabilityReasoning:Y,modalityImage:Z,modalityVideo:Q,modalityAudio:we,costPerMillion:Te,costInput:Ee,costOutput:De},t[54]=V,t[55]=xe,t[56]=H,t[57]=U,t[58]=W,t[59]=G,t[60]=Se,t[61]=K,t[62]=q,t[63]=J,t[64]=Y,t[65]=Z,t[66]=Q,t[67]=we,t[68]=Te,t[69]=Ee,t[70]=De,t[71]=Oe):Oe=t[71];let ke=Oe,Ae;t[72]===g?Ae=t[73]:(Ae=te(`relative`,g),t[72]=g,t[73]=Ae);let je;t[74]===d?je=t[75]:(je=te(Fe,`!border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70`,d),t[74]=d,t[75]=je);let Me=!N,Ne;t[76]===k?Ne=t[77]:(Ne=()=>{se(!k)},t[76]=k,t[77]=Ne);let Pe;t[78]===_?Pe=t[79]:(Pe=_??(0,$.jsx)(D,{name:`add`,className:`h-3.5 w-3.5 mr-1`}),t[78]=_,t[79]=Pe);let Re;t[80]!==s||t[81]!==b?(Re=s??b(`multirun.modelMultiSelect.actions.addModel`),t[80]=s,t[81]=b,t[82]=Re):Re=t[82];let Ke;t[83]!==je||t[84]!==Me||t[85]!==Ne||t[86]!==Pe||t[87]!==Re?(Ke=(0,$.jsxs)(ne,{ref:j,type:`button`,variant:`outline`,size:`sm`,className:je,disabled:Me,onClick:Ne,children:[Pe,Re]}),t[83]=je,t[84]=Me,t[85]=Ne,t[86]=Pe,t[87]=Re,t[88]=Ke):Ke=t[88];let qe;t[89]!==A||t[90]!==N||t[91]!==h||t[92]!==y||t[93]!==T||t[94]!==S||t[95]!==be||t[96]!==re||t[97]!==w||t[98]!==k||t[99]!==ke||t[100]!==F||t[101]!==oe||t[102]!==x||t[103]!==E||t[104]!==ce||t[105]!==C?(qe=k?(0,$.jsx)(`div`,{className:te(`absolute left-0 z-50 w-[min(420px,calc(100vw-2rem))] max-w-[calc(100vw-2rem)] flex flex-col overflow-hidden rounded-xl border border-border/50 shadow-lg`,y===`top`?`bottom-full mb-1`:`top-full mt-1`,h),style:{background:`linear-gradient(var(--surface-elevated),var(--surface-elevated)),linear-gradient(var(--surface-background),var(--surface-background))`},children:(0,$.jsx)(ie,{providers:x,providerOrder:oe,favoriteModels:T,recentModels:E,getMetadata:S,hiddenModels:re,searchQuery:ce,onSearchQueryChange:le,onSelect:be,labels:ke,selectionCount:e=>F.get(`${e.providerID}:${e.modelID}`)||0,disabled:!N,maxHeightClassName:`flex-1`,maxHeightStyle:{maxHeight:A?`${A}px`:`300px`},stickyHeaders:!0,tooltipsEnabled:k,isFavorite:e=>w(e.providerID,e.modelID),onToggleFavorite:e=>C(e.providerID,e.modelID),onEscape:()=>{se(!1),le(``)}})}):null,t[89]=A,t[90]=N,t[91]=h,t[92]=y,t[93]=T,t[94]=S,t[95]=be,t[96]=re,t[97]=w,t[98]=k,t[99]=ke,t[100]=F,t[101]=oe,t[102]=x,t[103]=E,t[104]=ce,t[105]=C,t[106]=qe):qe=t[106];let Je;t[107]!==Ae||t[108]!==Ke||t[109]!==qe?(Je=(0,$.jsxs)(`div`,{className:Ae,ref:pe,children:[Ke,qe]}),t[107]=Ae,t[108]=Ke,t[109]=qe,t[110]=Je):Je=t[110];let Ye;t[111]!==ge||t[112]!==F||t[113]!==i||t[114]!==a||t[115]!==x||t[116]!==n||t[117]!==v||t[118]!==b?(Ye=v&&n.length>0&&(0,$.jsx)(`div`,{className:`flex flex-col gap-2 w-full`,children:n.map((e,t)=>{let n=`${e.providerID}:${e.modelID}`,r=F.get(n)||1,o=ge(e),s=x.find(t=>t.id===e.providerID)?.models?.find(t=>t.id===e.modelID),c=s?.variants?Object.keys(s.variants):[],l=c.length>0,u=e.variant??`__default__`;return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(Le,{model:e,instanceIndex:o,totalSameModel:r,onRemove:()=>i(t)}),l&&(0,$.jsxs)(de,{value:u,onValueChange:n=>{if(!a)return;let r=n===`__default__`?void 0:n;a(t,{...e,variant:r})},children:[(0,$.jsxs)(he,{size:`chip`,className:`px-2 gap-1.5 rounded-md !border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70 typography-meta font-medium text-foreground`,children:[(0,$.jsx)(D,{name:`brain-ai-3`,className:te(`h-3.5 w-3.5 flex-shrink-0`,u===`__default__`?`text-muted-foreground`:`text-[color:var(--status-info)]`)}),(0,$.jsx)(O,{placeholder:b(`multirun.modelMultiSelect.variant.placeholder`),children:e=>e===`__default__`?b(`multirun.modelMultiSelect.variant.default`):e})]}),(0,$.jsxs)(ue,{fitContent:!0,children:[(0,$.jsx)(me,{value:`__default__`,className:`pr-2 [&>span:first-child]:hidden`,children:b(`multirun.modelMultiSelect.variant.default`)}),c.map(Ge)]})]})]},e.instanceId)})}),t[111]=ge,t[112]=F,t[113]=i,t[114]=a,t[115]=x,t[116]=n,t[117]=v,t[118]=b,t[119]=Ye):Ye=t[119];let Xe;t[120]!==Je||t[121]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1.5 items-center`,children:[Je,Ye]}),t[120]=Je,t[121]=Ye,t[122]=Xe):Xe=t[122];let Ze;t[123]!==u||t[124]!==o||t[125]!==n.length||t[126]!==b?(Ze=o!==void 0&&n.length<o&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:u===void 0?b(`multirun.modelMultiSelect.validation.minOnly`,{min:o}):b(`multirun.modelMultiSelect.validation.minToMax`,{min:o,max:u})}),t[123]=u,t[124]=o,t[125]=n.length,t[126]=b,t[127]=Ze):Ze=t[127];let Qe;return t[128]!==Xe||t[129]!==Ze?(Qe=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[Xe,Ze]}),t[128]=Xe,t[129]=Ze,t[130]=Qe):Qe=t[130],Qe};function ze(e){return e.providers}function Be(e){return e.getModelMetadata}function Ve(e){return e.toggleFavoriteModel}function He(e){return e.isFavoriteModel}function Ue(e){return e.hiddenModels}function We(e){return e.providerOrder}function Ge(e){return(0,$.jsx)(me,{value:e,className:`pr-2 [&>span:first-child]:hidden`,children:e},e)}function Ke(e){let t=(0,Ce.c)(30),{git:n}=R(),r=G(e),i=K(e),a=V(e),o=U(e),s=B(Ze),c=B(Xe),l,u;t[0]!==e||t[1]!==c||t[2]!==n||t[3]!==i||t[4]!==a?(l=()=>{!e||!n||i!==null||a||c(e,n,{silent:!0})},u=[e,n,c,i,a],t[0]=e,t[1]=c,t[2]=n,t[3]=i,t[4]=a,t[5]=l,t[6]=u):(l=t[5],u=t[6]),X.useEffect(l,u);let d;t[7]!==r?.all||t[8]!==e||t[9]!==s||t[10]!==n||t[11]!==i?(d=()=>{!e||!n||i===!0&&(r?.all||s(e,n))},t[7]=r?.all,t[8]=e,t[9]=s,t[10]=n,t[11]=i,t[12]=d):d=t[12];let f=r?.all,p;t[13]!==e||t[14]!==s||t[15]!==n||t[16]!==i||t[17]!==f?(p=[e,n,i,f,s],t[13]=e,t[14]=s,t[15]=n,t[16]=i,t[17]=f,t[18]=p):p=t[18],X.useEffect(d,p);let m=a||i===!0&&o,h;bb0:{if(!r?.all){let e;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[19]=e):e=t[19],h=e;break bb0}let e;t[20]===r.all?e=t[21]:(e=r.all.filter(Ye).sort(),t[20]=r.all,t[21]=e),h=e}let g=h,_;bb1:{if(!r?.all){let e;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[22]=e):e=t[22],_=e;break bb1}let e;t[23]===r.all?e=t[24]:(e=r.all.filter(Je).map(qe).sort(),t[23]=r.all,t[24]=e),_=e}let v=_,y;bb2:{if(!e){y=null;break bb2}if(i!==null){y=i;break bb2}if(m){y=null;break bb2}y=r?.all?!0:null}let b=y,x;return t[25]!==b||t[26]!==m||t[27]!==g||t[28]!==v?(x={localBranches:g,remoteBranches:v,isLoading:m,isGitRepository:b},t[25]=b,t[26]=m,t[27]=g,t[28]=v,t[29]=x):x=t[29],x}function qe(e){return e.replace(/^remotes\//,``)}function Je(e){return e.startsWith(`remotes/`)}function Ye(e){return!e.startsWith(`remotes/`)}function Xe(e){return e.fetchStatus}function Ze(e){return e.fetchBranches}var Qe=({directory:e,value:t,onChange:n,className:r,disabled:i,id:a})=>{let{t:o}=f(),{localBranches:s,remoteBranches:c,isLoading:l,isGitRepository:u}=Ke(e),d=X.useMemo(()=>[...s,...c.map(e=>`remotes/${e}`)],[s,c]);return X.useEffect(()=>{if(i||l||d.length===0||t&&d.includes(t))return;let r=t,a=!1;return(async()=>{try{let t=e?await N(e).catch(()=>null):null;if(a)return;let i=localStorage.getItem(z),{sourceBranch:o,shouldClearSavedSourceBranch:s}=W({branches:d,savedSourceBranch:i,rootBranch:t});if(s&&localStorage.removeItem(z),a||r&&d.includes(r))return;o&&n(o)}catch{}})(),()=>{a=!0}},[d,e,i,l,n,t]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(de,{value:t,onValueChange:n,disabled:i||!u||l,children:[(0,$.jsx)(he,{id:a,size:`lg`,className:r??`w-fit typography-meta text-foreground`,children:(0,$.jsx)(O,{placeholder:o(l?`multiRun.branchSelector.status.loadingBranches`:`multiRun.branchSelector.placeholder.selectSourceBranch`)})}),(0,$.jsx)(ue,{className:`max-h-[280px] max-w-[320px]`,children:l?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:o(`multiRun.branchSelector.status.loadingBranches`)}):s.length===0&&c.length===0?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:o(`multiRun.branchSelector.status.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[s.length>0&&(0,$.jsxs)(k,{children:[(0,$.jsx)(P,{className:`font-semibold text-foreground`,children:o(`multiRun.branchSelector.groups.localBranches`)}),s.map(e=>(0,$.jsx)(me,{value:e,className:`whitespace-normal break-all`,children:e},e))]}),s.length>0&&c.length>0&&(0,$.jsx)(ce,{}),c.length>0&&(0,$.jsxs)(k,{children:[(0,$.jsx)(P,{className:`font-semibold text-foreground`,children:o(`multiRun.branchSelector.groups.remoteBranches`)}),c.map(e=>(0,$.jsx)(me,{value:`remotes/${e}`,className:`whitespace-normal break-all`,children:e},`remotes/${e}`))]})]})})]}),u===!1&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground/70 mt-2`,children:o(`multiRun.branchSelector.status.notInGitRepository`)})]})},$e=e=>{let t=(0,Ce.c)(36),{value:n,onChange:r,className:i,disabled:a,id:o,portalToBody:s}=e,{t:c}=f(),l=ee(et),u=ee(tt),d=ee(nt),p;t[0]===l?p=t[1]:(p=l(),t[0]=l,t[1]=p);let m=p,h;t[2]===m?h=t[3]:(h=m.filter(rt),t[2]=m,t[3]=h);let g=h,_,v;t[4]!==m.length||t[5]!==u?(_=()=>{m.length===0&&u()},v=[m.length,u],t[4]=m.length,t[5]=u,t[6]=_,t[7]=v):(_=t[6],v=t[7]),X.useEffect(_,v);let y,b;t[8]!==d||t[9]!==a||t[10]!==r||t[11]!==g||t[12]!==n?(y=()=>{if(a)return;let e=n.trim();if(e.length>0&&g.some(t=>t.name===e))return;let t=typeof d==`string`&&d.trim().length>0?d.trim():null;if(t&&g.some(e=>e.name===t)){r(t);return}let i=g[0]?.name;i&&r(i)},b=[d,a,r,g,n],t[8]=d,t[9]=a,t[10]=r,t[11]=g,t[12]=n,t[13]=y,t[14]=b):(y=t[13],b=t[14]),X.useEffect(y,b);let x=n.trim().length>0?n:void 0,S;t[15]===i?S=t[16]:(S=te(`max-w-full typography-meta text-foreground !border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70 data-[popup-open]:!bg-[var(--interactive-active)]/70`,i),t[15]=i,t[16]=S);let C;t[17]===c?C=t[18]:(C=c(`multirun.agentSelector.placeholder`),t[17]=c,t[18]=C);let w;t[19]===C?w=t[20]:(w=(0,$.jsx)(O,{placeholder:C}),t[19]=C,t[20]=w);let T;t[21]!==o||t[22]!==S||t[23]!==w?(T=(0,$.jsx)(he,{id:o,size:`lg`,className:S,children:w}),t[21]=o,t[22]=S,t[23]=w,t[24]=T):T=t[24];let E;t[25]===g?E=t[26]:(E=g.length>0&&(0,$.jsx)(k,{children:g.map(it)}),t[25]=g,t[26]=E);let D;t[27]!==s||t[28]!==E?(D=(0,$.jsx)(ue,{fitContent:!0,portalToBody:s,children:E}),t[27]=s,t[28]=E,t[29]=D):D=t[29];let ne;return t[30]!==a||t[31]!==r||t[32]!==x||t[33]!==T||t[34]!==D?(ne=(0,$.jsxs)(de,{value:x,onValueChange:r,disabled:a,children:[T,D]}),t[30]=a,t[31]=r,t[32]=x,t[33]=T,t[34]=D,t[35]=ne):ne=t[35],ne};function et(e){return e.getVisibleAgents}function tt(e){return e.loadAgents}function nt(e){return e.currentAgentName}function rt(e){return _(e.mode)}function it(e){return(0,$.jsx)(me,{value:e.name,className:`w-auto whitespace-nowrap`,children:e.name},e.name)}var at=10485760,ot=5,st=e=>{let t=(0,Ce.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(I,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:`inline-flex items-center justify-center text-muted-foreground/50 hover:text-muted-foreground transition-colors`,children:(0,$.jsx)(D,{name:`information`,className:`h-3.5 w-3.5`})})}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(L,{children:[r,(0,$.jsx)(ge,{side:`top`,className:`max-w-[240px]`,children:n})]}),t[1]=n,t[2]=i),i},ct=e=>{let t=(0,Ce.c)(9),{htmlFor:n,required:r,children:i,info:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,$.jsx)(`span`,{className:`text-destructive ml-0.5`,children:`*`}),t[0]=r,t[1]=o);let s;t[2]!==i||t[3]!==n||t[4]!==o?(s=(0,$.jsxs)(`label`,{htmlFor:n,className:`typography-meta font-medium text-foreground`,children:[i,o]}),t[2]=i,t[3]=n,t[4]=o,t[5]=s):s=t[5];let c=a&&a,l;return t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l},lt=e=>{let t=E(e.path),n=e.icon?A[e.icon]:null,r=e.color?j[e.color]:void 0,i=(0,$.jsx)(D,{name:n??`folder`,className:`h-3.5 w-3.5`,style:r?{color:r}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(se,{project:e,className:`size-full object-contain`,fallback:i}):i}),(0,$.jsx)(`span`,{className:`truncate`,children:t})]})},ut=({initialPrompt:e,onCreated:n,onCancel:r,isWindowed:i=!1})=>{let{t:a}=f(),[s,c]=X.useState(``),[l,p]=X.useState(()=>[{id:Ie(),prompt:``,models:[]}]),[h,g]=X.useState(``),[_,v]=X.useState([]),[b,x]=X.useState(!1),[S,w]=X.useState([]),[ee,E]=X.useState(!1),[re,ie]=X.useState(!1),[ae,oe]=X.useState(!0),k=X.useRef(null),se=o(e=>e.currentDirectory??null),ce=X.useMemo(()=>{if(typeof window>`u`)return null;let e=window.__VSCODE_CONFIG__?.workspaceFolder;return typeof e==`string`&&e.trim().length>0?e.trim():null},[]),A=y(e=>e.activeProjectId),pe=y(e=>e.setActiveProjectIdOnly),j=y(e=>e.projects),[M,N]=X.useState(()=>A??null);X.useEffect(()=>{if(A){N(A);return}!M&&j.length>0&&N(j[0].id)},[A,j,M]);let P=X.useMemo(()=>M?j.find(e=>e.id===M)??null:null,[j,M]),R=P?.path??se,ve=u(e=>{N(e),e!==A&&pe(e)}),ye=X.useMemo(()=>{if(P?.path)return{id:P.id,path:P.path};let e=se??ce;return e?{id:`path:${e}`,path:e}:null},[P,se,ce]),[z]=X.useState(()=>typeof window<`u`&&t()),B=X.useMemo(()=>typeof navigator>`u`?!1:/Macintosh|Mac OS X/.test(navigator.userAgent||``),[]),be=_e(),V=X.useMemo(()=>{if(typeof window>`u`)return null;let e=window.__OPENCHAMBER_MACOS_MAJOR__;if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof navigator>`u`)return null;let t=(navigator.userAgent||``).match(/Mac OS X (\d+)[._](\d+)/);if(!t)return null;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10);return Number.isNaN(n)?null:n===10?r:n},[]),xe=X.useMemo(()=>z&&B||be?`pl-[5.5rem]`:`pl-3`,[z,B,be]),H=X.useMemo(()=>!z||!B||V===null?``:V>=26?`h-12`:V<=15?`h-14`:``,[z,B,V]),U=u(async e=>{e.target.closest(`button, a, input, select, textarea`)||e.button===0&&z&&await d()}),W=u(e=>{r&&e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),r())}),G=!!r;X.useEffect(()=>{if(G)return window.addEventListener(`keydown`,W,!0),()=>window.removeEventListener(`keydown`,W,!0)},[G]);let[Se,K]=X.useState(``),{isLoading:Ce,isGitRepository:Z}=Ke(R),Q=X.useRef(!1),we=Z===!0,Te=we&&ae;X.useEffect(()=>{if(Z===!1){Q.current=!0,oe(!1);return}Z===!0&&Q.current&&(Q.current=!1,oe(!0))},[Z]);let Ee=Pe(e=>e.createMultiRun),De=Pe(e=>e.error),Oe=Pe(e=>e.clearError);X.useEffect(()=>{typeof e==`string`&&e.trim().length>0&&p(t=>{let n=[...t];return n.length>0&&!n[0].prompt.trim()&&(n[0]={...n[0],prompt:e}),n})},[e]),X.useEffect(()=>{if(!ye)return;let e=!1;return ie(!0),(async()=>{try{let t=await m(ye);e||w(t)}catch{}finally{e||ie(!1)}})(),()=>{e=!0}},[ye]);let ke=u((e,t)=>{p(n=>n.map(n=>n.id===e?{...n,...t}:n))}),Ae=u(e=>{p(t=>t.filter(t=>t.id!==e))}),je=u(()=>{p(e=>[...e,{id:Ie(),prompt:``,models:[]}])}),Me=async e=>{let t=e.target.files;if(!t)return;let n=0;for(let e=0;e<t.length;e++){let r=t[e];if(r.size>at){C.error(a(`multirun.launcher.toast.fileTooLarge`,{fileName:r.name}));continue}try{let e=await new Promise((e,t)=>{let n=new FileReader;n.onload=()=>e(n.result),n.onerror=t,n.readAsDataURL(r)});v(t=>[...t,{id:Ie(),filename:r.name,mimeType:r.type||`application/octet-stream`,size:r.size,dataUrl:e}]),n++}catch(e){console.error(`File attach failed`,e),C.error(a(`multirun.launcher.toast.attachFailed`,{fileName:r.name}))}}n>0&&C.success(a(n===1?`multirun.launcher.toast.attachedSingle`:`multirun.launcher.toast.attachedPlural`,{count:n})),k.current&&(k.current.value=``)},Ne=e=>{v(t=>t.filter(t=>t.id!==e))},Fe=X.useMemo(()=>l.reduce((e,t)=>e+t.models.length,0),[l]),Le=async e=>{e.preventDefault();let t=l.filter(e=>e.prompt.trim()&&e.models.length>=1);if(t.length!==0&&!(Fe<1)){x(!0),Oe();try{M&&M!==A&&pe(M);let e=_.map(e=>({mime:e.mimeType,filename:e.filename,url:e.dataUrl})),r=S.filter(e=>e.trim().length>0),i=t.map(e=>({prompt:e.prompt.trim(),models:e.models.map(e=>({providerID:e.providerID,modelID:e.modelID,displayName:e.displayName,variant:e.variant}))})),a={name:s.trim(),groups:i,agent:h||void 0,worktreeBaseBranch:Te?Se:void 0,isolateRuns:Te,files:e.length>0?e:void 0,setupCommands:r.length>0?r:void 0},o=await Ee(a);o&&(o.firstSessionId&&T.getState().setCurrentSession(o.firstSessionId),n?.())}finally{x(!1)}}},Re=!!(s.trim()&&l.some(e=>e.prompt.trim()&&e.models.length>=1)&&Fe>=1&&R&&!Ce&&(Z===!1||!Te||Se)),ze=S.filter(e=>e.trim()).length;return(0,$.jsxs)(`form`,{onSubmit:Le,className:`flex flex-col h-full bg-background`,children:[i?null:(0,$.jsxs)(`header`,{onMouseDown:U,className:te(`relative flex h-12 shrink-0 items-center justify-center border-b app-region-drag select-none`,xe,H),style:{borderColor:`var(--interactive-border)`},children:[(0,$.jsx)(`h1`,{className:`typography-ui-label font-medium`,children:a(`multirun.launcher.title`)}),r&&(0,$.jsx)(`div`,{className:`absolute right-0 flex items-center pr-3`,children:(0,$.jsxs)(L,{children:[(0,$.jsx)(I,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:r,"aria-label":a(`multirun.launcher.actions.closeEsc`),className:`inline-flex h-9 w-9 items-center justify-center p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary app-region-no-drag`,children:(0,$.jsx)(D,{name:`close`,className:`h-5 w-5`})})}),(0,$.jsx)(ge,{children:(0,$.jsx)(`p`,{children:a(`multirun.launcher.actions.closeEsc`)})})]})})]}),(0,$.jsx)(fe,{className:`flex-1 min-h-0 overflow-auto`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl px-4 sm:px-6 py-5`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-project`,required:!0,children:a(`multirun.launcher.project.label`)}),j.length>0?(0,$.jsxs)(de,{value:M??void 0,onValueChange:ve,children:[(0,$.jsx)(he,{id:`multirun-project`,size:`lg`,className:`w-fit max-w-full`,children:P?(0,$.jsx)(O,{children:lt(P)}):(0,$.jsx)(O,{placeholder:a(`multirun.launcher.project.placeholder`)})}),(0,$.jsx)(ue,{fitContent:!0,children:j.map(e=>(0,$.jsx)(me,{value:e.id,className:`max-w-[24rem]`,children:lt(e)},e.id))})]}):(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground py-2`,children:a(`multirun.launcher.project.empty`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`group-name`,required:!0,info:(0,$.jsx)(st,{children:a(`multirun.launcher.groupName.info`)}),children:a(`multirun.launcher.groupName.label`)}),(0,$.jsx)(F,{id:`group-name`,value:s,onChange:e=>c(e.target.value),placeholder:a(`multirun.launcher.groupName.placeholder`),className:`typography-meta w-full`,required:!0})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-worktree-base-branch`,info:(0,$.jsx)(st,{children:a(`multirun.launcher.baseBranch.info`)}),children:a(`multirun.launcher.baseBranch.label`)}),(0,$.jsx)(Qe,{directory:R,value:Se,onChange:K,disabled:!Te,id:`multirun-worktree-base-branch`}),(0,$.jsxs)(`label`,{className:`mt-1.5 flex w-fit items-center gap-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(le,{checked:ae,onChange:oe,disabled:!we,ariaLabel:a(`multirun.launcher.isolateRuns.label`)}),(0,$.jsx)(`span`,{children:a(`multirun.launcher.isolateRuns.label`)})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-agent`,info:(0,$.jsx)(st,{children:a(`multirun.launcher.agent.info`)}),children:a(`multirun.launcher.agent.label`)}),(0,$.jsx)($e,{value:h,onChange:g,id:`multirun-agent`})]})]}),(0,$.jsxs)(Y,{open:ee,onOpenChange:E,children:[(0,$.jsxs)(J,{className:`w-full flex items-center gap-2 py-1.5 px-2 -mx-2 rounded-lg hover:bg-[var(--interactive-hover)]/50 transition-colors group`,children:[(0,$.jsx)(D,{name:`terminal`,className:`h-3.5 w-3.5 text-muted-foreground/70`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground group-hover:text-foreground transition-colors`,children:a(`multirun.launcher.setupCommands.label`)}),ze>0&&(0,$.jsx)(`span`,{className:`inline-flex items-center justify-center h-4 min-w-4 px-1 rounded-full typography-micro font-medium`,style:{backgroundColor:`var(--primary-base)`,color:`var(--primary-foreground)`,fontSize:`0.625rem`,lineHeight:1},children:ze}),(0,$.jsx)(D,{name:`arrow-down-s`,className:te(`h-3.5 w-3.5 text-muted-foreground/50 transition-transform duration-200 ml-auto`,ee&&`rotate-180`)})]}),(0,$.jsx)(q,{children:(0,$.jsx)(`div`,{className:`pt-2 space-y-1.5`,children:re?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/70 px-2`,children:a(`multirun.launcher.setupCommands.loading`)}):(0,$.jsxs)($.Fragment,{children:[S.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,$.jsx)(F,{value:e,onChange:e=>{let n=[...S];n[t]=e.target.value,w(n)},placeholder:a(`multirun.launcher.setupCommands.commandPlaceholder`),className:`h-8 flex-1 font-mono text-xs`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>w(S.filter((e,n)=>n!==t)),className:`flex-shrink-0 flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":a(`multirun.launcher.setupCommands.removeCommandAria`),children:(0,$.jsx)(D,{name:`close`,className:`h-3.5 w-3.5`})})]},`${e}-${t}`)),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>w([...S,``]),className:`flex items-center gap-1 typography-meta text-muted-foreground hover:text-foreground transition-colors px-1`,children:[(0,$.jsx)(D,{name:`add`,className:`h-3 w-3`}),a(`multirun.launcher.setupCommands.addCommand`)]})]})})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(ct,{htmlFor:`prompt`,required:!0,children:a(`multirun.launcher.attachments.label`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(`input`,{ref:k,type:`file`,multiple:!0,className:`hidden`,onChange:Me,accept:`*/*`}),(0,$.jsxs)(L,{children:[(0,$.jsx)(I,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>k.current?.click(),className:`inline-flex items-center gap-1 h-6 px-2 rounded-md typography-micro text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(D,{name:`attachment-2`,className:`h-3 w-3`}),a(`multirun.launcher.attachments.attach`)]})}),(0,$.jsx)(ge,{children:a(`multirun.launcher.attachments.tooltip`)})]}),_.map(e=>(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md typography-micro border`,style:{backgroundColor:`var(--surface-elevated)`,borderColor:`var(--interactive-border)`},children:[e.mimeType.startsWith(`image/`)?(0,$.jsx)(D,{name:`file-image`,className:`h-3 w-3 text-muted-foreground`}):(0,$.jsx)(D,{name:`file`,className:`h-3 w-3 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate max-w-[100px]`,title:e.filename,children:e.filename}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>Ne(e.id),className:`text-muted-foreground hover:text-destructive`,children:(0,$.jsx)(D,{name:`close`,className:`h-3 w-3`})})]},e.id))]})]}),l.map((e,t)=>(0,$.jsx)(dt,{group:e,groupIndex:t,canRemove:l.length>1,onUpdate:ke,onRemove:Ae},e.id)),(0,$.jsxs)(`button`,{type:`button`,onClick:je,className:`flex items-center gap-1.5 py-2 px-3 -mx-3 rounded-lg typography-meta font-medium text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(D,{name:`add`,className:`h-3.5 w-3.5`}),a(`multirun.launcher.groups.addGroup`)]}),De&&(0,$.jsx)(`div`,{className:`px-3 py-2 rounded-lg typography-meta`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderWidth:1,borderColor:`var(--status-error-border)`},children:De})]})})}),(0,$.jsx)(`div`,{className:`shrink-0 px-4 sm:px-6 py-3`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl flex items-center justify-end gap-2`,children:[!Te&&Z!==null?(0,$.jsxs)(`div`,{className:`mr-auto flex min-w-0 items-center gap-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(D,{name:`information`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:a(`multirun.launcher.project.gitRequired`)})]}):null,(0,$.jsx)(ne,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:a(`multirun.launcher.actions.cancel`)}),(0,$.jsx)(ne,{type:`submit`,size:`sm`,disabled:!Re||b,children:b?a(`multirun.launcher.actions.creating`):(0,$.jsx)($.Fragment,{children:a(`multirun.launcher.actions.startWithRunCount`,{count:Fe})})})]})})]})},dt=e=>{let t=(0,Ce.c)(104),{group:n,groupIndex:r,canRemove:i,onUpdate:a,onRemove:o}=e,{t:s}=f(),[c,l]=X.useState(!1),[d,p]=X.useState(``),[m,h]=X.useState(!1),[g,_]=X.useState(``),[v,y]=X.useState(!1),[b,x]=X.useState(``),S=X.useRef(null),C=X.useRef(null),w=X.useRef(null),T=X.useRef(null),ee;t[0]!==n.id||t[1]!==n.models||t[2]!==a?(ee=e=>{n.models.length>=ot||a(n.id,{models:[...n.models,e]})},t[0]=n.id,t[1]=n.models,t[2]=a,t[3]=ee):ee=t[3];let E=u(ee),te;t[4]!==n.id||t[5]!==n.models||t[6]!==a?(te=e=>{a(n.id,{models:n.models.filter((t,n)=>n!==e)})},t[4]=n.id,t[5]=n.models,t[6]=a,t[7]=te):te=t[7];let ne=u(te),re;t[8]!==n.id||t[9]!==n.models||t[10]!==a?(re=(e,t)=>{a(n.id,{models:n.models.map((n,r)=>r===e?t:n)})},t[8]=n.id,t[9]=n.models,t[10]=a,t[11]=re):re=t[11];let ie=u(re),ae;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{g as t}from"./desktop-CfLlmafK.js";import{a as n,r}from"./vendor-zustand-B4dlGEM2.js";import{nt as i,rt as a}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as o,Nt as s}from"./platform-4eCmsdol.js";import{t as c}from"./useUIStore-CNLmCoPU.js";import{n as l}from"./vendor-react-DLPElpoQ.js";import{n as u}from"./vendor-reactuses-core-DDoDDyM9.js";import{l as d,n as f}from"./clipboard-D35XSwID.js";import{Ka as p,Ln as m,Rn as h,Vn as g,Wa as _,Zn as v,bo as y,c as b,ca as x,fr as S,hr as C,ia as w,l as T,ta as ee}from"./useMobileNavigationStore-lcj5GHR3.js";import{n as E,t as te}from"./utils-CTL16t2f.js";import{n as D}from"./Icon-CLpn1mIz.js";import{t as ne}from"./button-z0GOBtWi.js";import{n as re}from"./gitApi-Dqg8EDsg.js";import{C as ie,O as ae,S as O,X as oe,_ as k,a as se,b as ce,et as le,g as ue,h as de,i as A,j as fe,k as pe,n as j,o as M,p as N,v as me,x as he,y as P}from"./projectMeta-DzGPV_uF.js";import{t as F}from"./input-BG3VWTIF.js";import{i as I,n as ge,t as L}from"./tooltip-CtH61mQh.js";import{o as _e}from"./OverlayScrollbar-DlNZho3q.js";import{n as R}from"./useRuntimeAPIs-DSLXJybW.js";import{E as ve,T as ye,a as z,b as B,c as be,g as V,k as xe,l as H,m as U,o as W,p as G,r as Se,x as K}from"./insertionBoundaries-BtiZxiKR.js";import{n as q,r as J,t as Y}from"./collapsible-D9zJRpeB.js";var X=e(a(),1),Ce=l(),Z=/^[a-z0-9](?:[a-z0-9-]{0,48}[a-z0-9])?$/,Q=/^g[1-9]\d*$/,we=(e,t,n,r,i)=>{if(!Z.test(e)||t!==void 0&&!Q.test(t)||!n?.trim()||!r?.trim()||n!==n.trim()||r!==r.trim())return null;if(i===void 0)return{groupSlug:e,runGroup:t,providerID:n,modelID:r,fusion:!1};if(i===`fusion`)return{groupSlug:e,runGroup:t,providerID:n,modelID:r,fusion:!0};if(!/^\d+$/.test(i))return null;let a=Number.parseInt(i,10);return!Number.isSafeInteger(a)||a<=0?null:{groupSlug:e,runGroup:t,providerID:n,modelID:r,index:a,fusion:!1}},Te=e=>{if(!e)return null;let t=e.split(`/`);if(t.length<3||t.length>5)return null;let[n]=t;if(t.length===3)return we(n,void 0,t[1],t[2],void 0);if(t.length===4){let[,e,r,i]=t;return Q.test(e)?we(n,e,r,i,void 0):we(n,void 0,e,r,i)}let[,r,i,a,o]=t;return r===``?we(n,void 0,i,a,o):we(n,r,i,a,o)},Ee=e=>{let t=[e.groupSlug];return e.runGroup&&t.push(e.runGroup),t.push(e.providerID,e.modelID),e.index!==void 0&&t.push(String(e.index)),t.join(`/`)},De=(e,t,n,r)=>{let i=[e];return r&&i.push(r),i.push(t,n,`fusion`),i.join(`/`)},Oe=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).substring(0,50),ke=(e,t)=>`${Oe(e)}-${Oe(t)}`.substring(0,60),Ae=(e,t)=>`${e}/${t}`,je=e=>{let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.length>1?t.replace(/\/+$/,``):t},Me=(e,t)=>{let n=je(t),r=e.directory,i=typeof r==`string`&&r.trim().length>0?e:{...e,directory:n};x(e.id,n),T.getState().markSessionAsOpenChamberCreated(e.id),S.getState().upsertSession(i);try{w().ensureChild(n,{bootstrap:!1}).setState(t=>{let n=t.session.findIndex(t=>t.id===e.id);if(n>=0&&t.session[n]===i)return t;let r=n>=0?t.session.map((e,t)=>t===n?i:e):[...t.session,i].sort((e,t)=>e.id.localeCompare(t.id));return{session:r,sessionTotal:Math.max(t.sessionTotal,r.length),limit:Math.max(t.limit,r.length)}})}catch{}return i},Ne=()=>{let e=y.getState(),t=e.activeProjectId;if(!t)return null;let n=e.projects.find(e=>e.id===t);if(n?.path)return{id:n.id,path:n.path};let r=o.getState().currentDirectory??null;if(r&&r.trim().length>0){let e=r.replace(/\\/g,`/`).replace(/\/+$/,``)||r;return{id:`path:${e}`,path:e}}return null},Pe=n()(r(e=>({isLoading:!1,error:null,createMultiRun:async t=>{let n=t.name.trim(),{groups:r,agent:i,files:a,setupCommands:o}=t;if(!n)return e({error:`Group name is required`}),null;if(!r||r.length===0)return e({error:`At least one run group is required`}),null;for(let t=0;t<r.length;t++){if(!r[t].prompt.trim())return e({error:`Group ${t+1}: prompt is required`}),null;if(r[t].models.length<1)return e({error:`Group ${t+1}: select at least 1 model`}),null;if(r[t].models.length>5)return e({error:`Group ${t+1}: maximum 5 models allowed`}),null}e({isLoading:!0,error:null});try{let c=Ne();if(!c)return e({error:`Select a project`,isLoading:!1}),null;let l=c.path,u=await re(l)&&t.isolateRuns!==!1,d=Oe(n),f=u?await N(l):void 0,p=u?await H(l):null,m=[],_=o?.filter(e=>e.trim().length>0)??[];for(let e=0;e<r.length;e++){let n=r[e],i=n.prompt,a=new Map;for(let e of n.models){let t=`${e.providerID}:${e.modelID}`;a.set(t,(a.get(t)||0)+1)}let o=new Map;for(let g of n.models){let n=`${g.providerID}:${g.modelID}`,y=a.get(n)||1,b=(o.get(n)||0)+1;o.set(n,b);let x=ke(g.providerID,g.modelID),S=r.length>1?`g${e+1}`:void 0,C=y>1?Ae(d,`${x}/${b}`):Ae(d,x),w=S?`${S}/${C}`:C,ee=Ee({groupSlug:d,runGroup:S,providerID:g.providerID,modelID:g.modelID,index:y>1?b:void 0});try{if(!u){let e=await s.withDirectory(l,()=>s.createSession({title:ee}));Me(e,l),m.push({sessionId:e.id,worktreePath:l,providerID:g.providerID,modelID:g.modelID,variant:g.variant,prompt:i});continue}let e=await be(c,{preferredName:w,mode:`new`,branchName:w,worktreeName:w,startRef:t.worktreeBaseBranch||`HEAD`,setupCommands:_,returnAfterDirectoryCreated:!0},{resolvedRootTrackingRemote:p}),n={...e,createdFromBranch:f,kind:`standard`};await h(c)&&await v(e.path);let r=await s.withDirectory(e.path,()=>s.createSession({title:ee}));Me(r,e.path),T.getState().setWorktreeMetadata(r.id,n),m.push({sessionId:r.id,worktreePath:e.path,providerID:g.providerID,modelID:g.modelID,variant:g.variant,prompt:i})}catch(e){console.warn(`[MultiRun] Failed to create session:`,e)}}}let y=o?.filter(e=>e.trim().length>0)??[];y.length>0&&g(c,y).catch(()=>{console.warn(`[MultiRun] Failed to save worktree setup commands`)});let x=m.map(e=>e.sessionId),S=m[0]?.sessionId??null;if(x.length===0)return e({error:`Failed to create any sessions`,isLoading:!1}),null;let C=a?.map(e=>({type:`file`,mime:e.mime,filename:e.filename,url:e.url}));return(async()=>{try{let e=oe.getState().expandText;await Promise.allSettled(m.map(async t=>{try{let n=await e(t.prompt).catch(()=>t.prompt);await b({sessionId:t.sessionId,directory:t.worktreePath,content:n,providerID:t.providerID,modelID:t.modelID,variant:t.variant,agent:i,files:C})}catch(e){console.warn(`[MultiRun] Failed to start run:`,e)}}))}catch(e){console.warn(`[MultiRun] Failed to start runs:`,e)}})(),e({isLoading:!1}),{groupSlug:d,sessionIds:x,firstSessionId:S}}catch(t){return e({error:t instanceof Error?t.message:`Failed to create Multi-Run`,isLoading:!1}),null}},clearError:()=>{e({error:null})}}),{name:`multirun-store`})),$=i(),Fe=`h-7`,Ie=()=>`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,Le=e=>{let t=(0,Ce.c)(13),{model:n,instanceIndex:r,totalSameModel:i,onRemove:a}=e,o=n.displayName||`${n.providerID}/${n.modelID}`,s=i>1?`${o} (${r})`:o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=te(`flex items-center gap-1.5 px-2 rounded-md bg-interactive-selection/20 border border-border/30`,Fe),t[0]=c):c=t[0];let l;t[1]!==n.modelID||t[2]!==n.providerID?(l=(0,$.jsx)(pe,{modelId:n.modelID,providerId:n.providerID,className:`h-3.5 w-3.5`}),t[1]=n.modelID,t[2]=n.providerID,t[3]=l):l=t[3];let u;t[4]===s?u=t[5]:(u=(0,$.jsx)(`span`,{className:`typography-meta font-medium truncate max-w-[140px]`,children:s}),t[4]=s,t[5]=u);let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(D,{name:`close`,className:`h-3.5 w-3.5`}),t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=(0,$.jsx)(`button`,{type:`button`,onClick:a,className:`text-muted-foreground hover:text-foreground ml-0.5`,children:d}),t[7]=a,t[8]=f);let p;return t[9]!==l||t[10]!==u||t[11]!==f?(p=(0,$.jsxs)(`div`,{className:c,children:[l,u,f]}),t[9]=l,t[10]=u,t[11]=f,t[12]=p):p=t[12],p},Re=e=>{let t=(0,Ce.c)(131),{selectedModels:n,onAdd:r,onRemove:i,onUpdate:a,minModels:o,addButtonLabel:s,showChips:l,maxModels:u,addButtonClassName:d,dropdownSide:m,dropdownClassName:h,containerClassName:g,triggerIcon:_}=e,v=l===void 0||l,y=m===void 0?`top`:m,{t:b}=f(),x=ee(ze),S=ee(Be),C=c(Ve),w=c(He),{favoriteModelsList:T,recentModelsList:E}=ae(),re=c(Ue),oe=c(We),[k,se]=X.useState(!1),[ce,le]=X.useState(``),[A,fe]=X.useState(null),pe=X.useRef(null),j=X.useRef(null),M=u===1,N=u===void 0||n.length<u||M,P;if(t[0]!==n){P=new Map;for(let e of n){let t=`${e.providerID}:${e.modelID}`;P.set(t,(P.get(t)||0)+1)}t[0]=n,t[1]=P}else P=t[1];let F=P,I;t[2]===n?I=t[3]:(I=e=>n.filter(t=>t.providerID===e.providerID&&t.modelID===e.modelID).findIndex(t=>t.instanceId===e.instanceId)+1,t[2]=n,t[3]=I);let ge=I,L,_e;t[4]!==y||t[5]!==k?(L=()=>{if(!k||!j.current)return;let e=j.current.getBoundingClientRect();if(y===`bottom`){let t=(window.visualViewport?.height??document.documentElement.clientHeight??window.innerHeight)-e.bottom-16-112;fe(Math.max(160,Math.min(320,t)));return}let t=j.current.parentElement;for(;t&&!(t.getAttribute(`role`)===`dialog`||t.hasAttribute(`data-scroll-shadow`));){let e=getComputedStyle(t);if(e.overflow===`auto`||e.overflow===`hidden`||e.overflowY===`auto`||e.overflowY===`hidden`)break;t=t.parentElement}let n=t?t.getBoundingClientRect().top:0,r=e.top-n-16;fe(Math.max(150,Math.min(300,r)))},_e=[y,k],t[4]=y,t[5]=k,t[6]=L,t[7]=_e):(L=t[6],_e=t[7]),X.useEffect(L,_e);let R,ve;t[8]!==N||t[9]!==k?(R=()=>{!N&&k&&(se(!1),le(``))},ve=[N,k],t[8]=N,t[9]=k,t[10]=R,t[11]=ve):(R=t[10],ve=t[11]),X.useEffect(R,ve);let ye,z;t[12]===k?(ye=t[13],z=t[14]):(ye=()=>{if(!k)return;let e=e=>{pe.current&&!pe.current.contains(e.target)&&(se(!1),le(``))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},z=[k],t[12]=k,t[13]=ye,t[14]=z),X.useEffect(ye,z);let B;t[15]!==M||t[16]!==r||t[17]!==a||t[18]!==n.length?(B=e=>{let t={providerID:e.providerID,modelID:e.modelID,displayName:p(e.model,e.modelID)||e.modelID,instanceId:Ie()};M&&n.length>0&&a?a(0,t):r(t),M&&(se(!1),le(``))},t[15]=M,t[16]=r,t[17]=a,t[18]=n.length,t[19]=B):B=t[19];let be=B,V;t[20]===b?V=t[21]:(V=b(`multirun.modelMultiSelect.search.placeholder`),t[20]=b,t[21]=V);let xe;t[22]===b?xe=t[23]:(xe=b(`multirun.modelMultiSelect.search.noResults`),t[22]=b,t[23]=xe);let H;t[24]===b?H=t[25]:(H=b(`multirun.modelMultiSelect.sections.favorites`),t[24]=b,t[25]=H);let U;t[26]===b?U=t[27]:(U=b(`multirun.modelMultiSelect.sections.recent`),t[26]=b,t[27]=U);let W;t[28]===b?W=t[29]:(W=b(`multirun.modelMultiSelect.keyboard.hint`),t[28]=b,t[29]=W);let G;t[30]===b?G=t[31]:(G=b(`settings.agents.modelSelector.actions.favorite`),t[30]=b,t[31]=G);let Se;t[32]===b?Se=t[33]:(Se=b(`settings.agents.modelSelector.actions.unfavorite`),t[32]=b,t[33]=Se);let K;t[34]===b?K=t[35]:(K=b(`chat.modelControls.provider`),t[34]=b,t[35]=K);let q;t[36]===b?q=t[37]:(q=b(`chat.modelControls.capabilities`),t[36]=b,t[37]=q);let J;t[38]===b?J=t[39]:(J=b(`chat.modelControls.capability.toolCalling`),t[38]=b,t[39]=J);let Y;t[40]===b?Y=t[41]:(Y=b(`chat.modelControls.capability.reasoning`),t[40]=b,t[41]=Y);let Z;t[42]===b?Z=t[43]:(Z=b(`chat.modelControls.modality.image`),t[42]=b,t[43]=Z);let Q;t[44]===b?Q=t[45]:(Q=b(`chat.modelControls.modality.video`),t[44]=b,t[45]=Q);let we;t[46]===b?we=t[47]:(we=b(`chat.modelControls.modality.audio`),t[46]=b,t[47]=we);let Te;t[48]===b?Te=t[49]:(Te=b(`chat.modelControls.costPerMillion`),t[48]=b,t[49]=Te);let Ee;t[50]===b?Ee=t[51]:(Ee=b(`chat.modelControls.costInput`),t[50]=b,t[51]=Ee);let De;t[52]===b?De=t[53]:(De=b(`chat.modelControls.costOutput`),t[52]=b,t[53]=De);let Oe;t[54]!==V||t[55]!==xe||t[56]!==H||t[57]!==U||t[58]!==W||t[59]!==G||t[60]!==Se||t[61]!==K||t[62]!==q||t[63]!==J||t[64]!==Y||t[65]!==Z||t[66]!==Q||t[67]!==we||t[68]!==Te||t[69]!==Ee||t[70]!==De?(Oe={searchPlaceholder:V,noResults:xe,favorites:H,recent:U,keyboardHint:W,favorite:G,unfavorite:Se,provider:K,capabilities:q,capabilityToolCalling:J,capabilityReasoning:Y,modalityImage:Z,modalityVideo:Q,modalityAudio:we,costPerMillion:Te,costInput:Ee,costOutput:De},t[54]=V,t[55]=xe,t[56]=H,t[57]=U,t[58]=W,t[59]=G,t[60]=Se,t[61]=K,t[62]=q,t[63]=J,t[64]=Y,t[65]=Z,t[66]=Q,t[67]=we,t[68]=Te,t[69]=Ee,t[70]=De,t[71]=Oe):Oe=t[71];let ke=Oe,Ae;t[72]===g?Ae=t[73]:(Ae=te(`relative`,g),t[72]=g,t[73]=Ae);let je;t[74]===d?je=t[75]:(je=te(Fe,`!border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70`,d),t[74]=d,t[75]=je);let Me=!N,Ne;t[76]===k?Ne=t[77]:(Ne=()=>{se(!k)},t[76]=k,t[77]=Ne);let Pe;t[78]===_?Pe=t[79]:(Pe=_??(0,$.jsx)(D,{name:`add`,className:`h-3.5 w-3.5 mr-1`}),t[78]=_,t[79]=Pe);let Re;t[80]!==s||t[81]!==b?(Re=s??b(`multirun.modelMultiSelect.actions.addModel`),t[80]=s,t[81]=b,t[82]=Re):Re=t[82];let Ke;t[83]!==je||t[84]!==Me||t[85]!==Ne||t[86]!==Pe||t[87]!==Re?(Ke=(0,$.jsxs)(ne,{ref:j,type:`button`,variant:`outline`,size:`sm`,className:je,disabled:Me,onClick:Ne,children:[Pe,Re]}),t[83]=je,t[84]=Me,t[85]=Ne,t[86]=Pe,t[87]=Re,t[88]=Ke):Ke=t[88];let qe;t[89]!==A||t[90]!==N||t[91]!==h||t[92]!==y||t[93]!==T||t[94]!==S||t[95]!==be||t[96]!==re||t[97]!==w||t[98]!==k||t[99]!==ke||t[100]!==F||t[101]!==oe||t[102]!==x||t[103]!==E||t[104]!==ce||t[105]!==C?(qe=k?(0,$.jsx)(`div`,{className:te(`absolute left-0 z-50 w-[min(420px,calc(100vw-2rem))] max-w-[calc(100vw-2rem)] flex flex-col overflow-hidden rounded-xl border border-border/50 shadow-lg`,y===`top`?`bottom-full mb-1`:`top-full mt-1`,h),style:{background:`linear-gradient(var(--surface-elevated),var(--surface-elevated)),linear-gradient(var(--surface-background),var(--surface-background))`},children:(0,$.jsx)(ie,{providers:x,providerOrder:oe,favoriteModels:T,recentModels:E,getMetadata:S,hiddenModels:re,searchQuery:ce,onSearchQueryChange:le,onSelect:be,labels:ke,selectionCount:e=>F.get(`${e.providerID}:${e.modelID}`)||0,disabled:!N,maxHeightClassName:`flex-1`,maxHeightStyle:{maxHeight:A?`${A}px`:`300px`},stickyHeaders:!0,tooltipsEnabled:k,isFavorite:e=>w(e.providerID,e.modelID),onToggleFavorite:e=>C(e.providerID,e.modelID),onEscape:()=>{se(!1),le(``)}})}):null,t[89]=A,t[90]=N,t[91]=h,t[92]=y,t[93]=T,t[94]=S,t[95]=be,t[96]=re,t[97]=w,t[98]=k,t[99]=ke,t[100]=F,t[101]=oe,t[102]=x,t[103]=E,t[104]=ce,t[105]=C,t[106]=qe):qe=t[106];let Je;t[107]!==Ae||t[108]!==Ke||t[109]!==qe?(Je=(0,$.jsxs)(`div`,{className:Ae,ref:pe,children:[Ke,qe]}),t[107]=Ae,t[108]=Ke,t[109]=qe,t[110]=Je):Je=t[110];let Ye;t[111]!==ge||t[112]!==F||t[113]!==i||t[114]!==a||t[115]!==x||t[116]!==n||t[117]!==v||t[118]!==b?(Ye=v&&n.length>0&&(0,$.jsx)(`div`,{className:`flex flex-col gap-2 w-full`,children:n.map((e,t)=>{let n=`${e.providerID}:${e.modelID}`,r=F.get(n)||1,o=ge(e),s=x.find(t=>t.id===e.providerID)?.models?.find(t=>t.id===e.modelID),c=s?.variants?Object.keys(s.variants):[],l=c.length>0,u=e.variant??`__default__`;return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsx)(Le,{model:e,instanceIndex:o,totalSameModel:r,onRemove:()=>i(t)}),l&&(0,$.jsxs)(de,{value:u,onValueChange:n=>{if(!a)return;let r=n===`__default__`?void 0:n;a(t,{...e,variant:r})},children:[(0,$.jsxs)(he,{size:`chip`,className:`px-2 gap-1.5 rounded-md !border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70 typography-meta font-medium text-foreground`,children:[(0,$.jsx)(D,{name:`brain-ai-3`,className:te(`h-3.5 w-3.5 flex-shrink-0`,u===`__default__`?`text-muted-foreground`:`text-[color:var(--status-info)]`)}),(0,$.jsx)(O,{placeholder:b(`multirun.modelMultiSelect.variant.placeholder`),children:e=>e===`__default__`?b(`multirun.modelMultiSelect.variant.default`):e})]}),(0,$.jsxs)(ue,{fitContent:!0,children:[(0,$.jsx)(me,{value:`__default__`,className:`pr-2 [&>span:first-child]:hidden`,children:b(`multirun.modelMultiSelect.variant.default`)}),c.map(Ge)]})]})]},e.instanceId)})}),t[111]=ge,t[112]=F,t[113]=i,t[114]=a,t[115]=x,t[116]=n,t[117]=v,t[118]=b,t[119]=Ye):Ye=t[119];let Xe;t[120]!==Je||t[121]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1.5 items-center`,children:[Je,Ye]}),t[120]=Je,t[121]=Ye,t[122]=Xe):Xe=t[122];let Ze;t[123]!==u||t[124]!==o||t[125]!==n.length||t[126]!==b?(Ze=o!==void 0&&n.length<o&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:u===void 0?b(`multirun.modelMultiSelect.validation.minOnly`,{min:o}):b(`multirun.modelMultiSelect.validation.minToMax`,{min:o,max:u})}),t[123]=u,t[124]=o,t[125]=n.length,t[126]=b,t[127]=Ze):Ze=t[127];let Qe;return t[128]!==Xe||t[129]!==Ze?(Qe=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[Xe,Ze]}),t[128]=Xe,t[129]=Ze,t[130]=Qe):Qe=t[130],Qe};function ze(e){return e.providers}function Be(e){return e.getModelMetadata}function Ve(e){return e.toggleFavoriteModel}function He(e){return e.isFavoriteModel}function Ue(e){return e.hiddenModels}function We(e){return e.providerOrder}function Ge(e){return(0,$.jsx)(me,{value:e,className:`pr-2 [&>span:first-child]:hidden`,children:e},e)}function Ke(e){let t=(0,Ce.c)(30),{git:n}=R(),r=G(e),i=K(e),a=V(e),o=U(e),s=B(Ze),c=B(Xe),l,u;t[0]!==e||t[1]!==c||t[2]!==n||t[3]!==i||t[4]!==a?(l=()=>{!e||!n||i!==null||a||c(e,n,{silent:!0})},u=[e,n,c,i,a],t[0]=e,t[1]=c,t[2]=n,t[3]=i,t[4]=a,t[5]=l,t[6]=u):(l=t[5],u=t[6]),X.useEffect(l,u);let d;t[7]!==r?.all||t[8]!==e||t[9]!==s||t[10]!==n||t[11]!==i?(d=()=>{!e||!n||i===!0&&(r?.all||s(e,n))},t[7]=r?.all,t[8]=e,t[9]=s,t[10]=n,t[11]=i,t[12]=d):d=t[12];let f=r?.all,p;t[13]!==e||t[14]!==s||t[15]!==n||t[16]!==i||t[17]!==f?(p=[e,n,i,f,s],t[13]=e,t[14]=s,t[15]=n,t[16]=i,t[17]=f,t[18]=p):p=t[18],X.useEffect(d,p);let m=a||i===!0&&o,h;bb0:{if(!r?.all){let e;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[19]=e):e=t[19],h=e;break bb0}let e;t[20]===r.all?e=t[21]:(e=r.all.filter(Ye).sort(),t[20]=r.all,t[21]=e),h=e}let g=h,_;bb1:{if(!r?.all){let e;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[22]=e):e=t[22],_=e;break bb1}let e;t[23]===r.all?e=t[24]:(e=r.all.filter(Je).map(qe).sort(),t[23]=r.all,t[24]=e),_=e}let v=_,y;bb2:{if(!e){y=null;break bb2}if(i!==null){y=i;break bb2}if(m){y=null;break bb2}y=r?.all?!0:null}let b=y,x;return t[25]!==b||t[26]!==m||t[27]!==g||t[28]!==v?(x={localBranches:g,remoteBranches:v,isLoading:m,isGitRepository:b},t[25]=b,t[26]=m,t[27]=g,t[28]=v,t[29]=x):x=t[29],x}function qe(e){return e.replace(/^remotes\//,``)}function Je(e){return e.startsWith(`remotes/`)}function Ye(e){return!e.startsWith(`remotes/`)}function Xe(e){return e.fetchStatus}function Ze(e){return e.fetchBranches}var Qe=({directory:e,value:t,onChange:n,className:r,disabled:i,id:a})=>{let{t:o}=f(),{localBranches:s,remoteBranches:c,isLoading:l,isGitRepository:u}=Ke(e),d=X.useMemo(()=>[...s,...c.map(e=>`remotes/${e}`)],[s,c]);return X.useEffect(()=>{if(i||l||d.length===0||t&&d.includes(t))return;let r=t,a=!1;return(async()=>{try{let t=e?await N(e).catch(()=>null):null;if(a)return;let i=localStorage.getItem(z),{sourceBranch:o,shouldClearSavedSourceBranch:s}=W({branches:d,savedSourceBranch:i,rootBranch:t});if(s&&localStorage.removeItem(z),a||r&&d.includes(r))return;o&&n(o)}catch{}})(),()=>{a=!0}},[d,e,i,l,n,t]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(de,{value:t,onValueChange:n,disabled:i||!u||l,children:[(0,$.jsx)(he,{id:a,size:`lg`,className:r??`w-fit typography-meta text-foreground`,children:(0,$.jsx)(O,{placeholder:o(l?`multiRun.branchSelector.status.loadingBranches`:`multiRun.branchSelector.placeholder.selectSourceBranch`)})}),(0,$.jsx)(ue,{className:`max-h-[280px] max-w-[320px]`,children:l?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:o(`multiRun.branchSelector.status.loadingBranches`)}):s.length===0&&c.length===0?(0,$.jsx)(`div`,{className:`px-2 py-4 text-center typography-meta text-muted-foreground`,children:o(`multiRun.branchSelector.status.noBranchesFound`)}):(0,$.jsxs)($.Fragment,{children:[s.length>0&&(0,$.jsxs)(k,{children:[(0,$.jsx)(P,{className:`font-semibold text-foreground`,children:o(`multiRun.branchSelector.groups.localBranches`)}),s.map(e=>(0,$.jsx)(me,{value:e,className:`whitespace-normal break-all`,children:e},e))]}),s.length>0&&c.length>0&&(0,$.jsx)(ce,{}),c.length>0&&(0,$.jsxs)(k,{children:[(0,$.jsx)(P,{className:`font-semibold text-foreground`,children:o(`multiRun.branchSelector.groups.remoteBranches`)}),c.map(e=>(0,$.jsx)(me,{value:`remotes/${e}`,className:`whitespace-normal break-all`,children:e},`remotes/${e}`))]})]})})]}),u===!1&&(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground/70 mt-2`,children:o(`multiRun.branchSelector.status.notInGitRepository`)})]})},$e=e=>{let t=(0,Ce.c)(36),{value:n,onChange:r,className:i,disabled:a,id:o,portalToBody:s}=e,{t:c}=f(),l=ee(et),u=ee(tt),d=ee(nt),p;t[0]===l?p=t[1]:(p=l(),t[0]=l,t[1]=p);let m=p,h;t[2]===m?h=t[3]:(h=m.filter(rt),t[2]=m,t[3]=h);let g=h,_,v;t[4]!==m.length||t[5]!==u?(_=()=>{m.length===0&&u()},v=[m.length,u],t[4]=m.length,t[5]=u,t[6]=_,t[7]=v):(_=t[6],v=t[7]),X.useEffect(_,v);let y,b;t[8]!==d||t[9]!==a||t[10]!==r||t[11]!==g||t[12]!==n?(y=()=>{if(a)return;let e=n.trim();if(e.length>0&&g.some(t=>t.name===e))return;let t=typeof d==`string`&&d.trim().length>0?d.trim():null;if(t&&g.some(e=>e.name===t)){r(t);return}let i=g[0]?.name;i&&r(i)},b=[d,a,r,g,n],t[8]=d,t[9]=a,t[10]=r,t[11]=g,t[12]=n,t[13]=y,t[14]=b):(y=t[13],b=t[14]),X.useEffect(y,b);let x=n.trim().length>0?n:void 0,S;t[15]===i?S=t[16]:(S=te(`max-w-full typography-meta text-foreground !border-border/80 !bg-[var(--surface-subtle)] hover:!bg-[var(--interactive-hover)]/70 data-[popup-open]:!bg-[var(--interactive-active)]/70`,i),t[15]=i,t[16]=S);let C;t[17]===c?C=t[18]:(C=c(`multirun.agentSelector.placeholder`),t[17]=c,t[18]=C);let w;t[19]===C?w=t[20]:(w=(0,$.jsx)(O,{placeholder:C}),t[19]=C,t[20]=w);let T;t[21]!==o||t[22]!==S||t[23]!==w?(T=(0,$.jsx)(he,{id:o,size:`lg`,className:S,children:w}),t[21]=o,t[22]=S,t[23]=w,t[24]=T):T=t[24];let E;t[25]===g?E=t[26]:(E=g.length>0&&(0,$.jsx)(k,{children:g.map(it)}),t[25]=g,t[26]=E);let D;t[27]!==s||t[28]!==E?(D=(0,$.jsx)(ue,{fitContent:!0,portalToBody:s,children:E}),t[27]=s,t[28]=E,t[29]=D):D=t[29];let ne;return t[30]!==a||t[31]!==r||t[32]!==x||t[33]!==T||t[34]!==D?(ne=(0,$.jsxs)(de,{value:x,onValueChange:r,disabled:a,children:[T,D]}),t[30]=a,t[31]=r,t[32]=x,t[33]=T,t[34]=D,t[35]=ne):ne=t[35],ne};function et(e){return e.getVisibleAgents}function tt(e){return e.loadAgents}function nt(e){return e.currentAgentName}function rt(e){return _(e.mode)}function it(e){return(0,$.jsx)(me,{value:e.name,className:`w-auto whitespace-nowrap`,children:e.name},e.name)}var at=10485760,ot=5,st=e=>{let t=(0,Ce.c)(3),{children:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(I,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,tabIndex:-1,className:`inline-flex items-center justify-center text-muted-foreground/50 hover:text-muted-foreground transition-colors`,children:(0,$.jsx)(D,{name:`information`,className:`h-3.5 w-3.5`})})}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(L,{children:[r,(0,$.jsx)(ge,{side:`top`,className:`max-w-[240px]`,children:n})]}),t[1]=n,t[2]=i),i},ct=e=>{let t=(0,Ce.c)(9),{htmlFor:n,required:r,children:i,info:a}=e,o;t[0]===r?o=t[1]:(o=r&&(0,$.jsx)(`span`,{className:`text-destructive ml-0.5`,children:`*`}),t[0]=r,t[1]=o);let s;t[2]!==i||t[3]!==n||t[4]!==o?(s=(0,$.jsxs)(`label`,{htmlFor:n,className:`typography-meta font-medium text-foreground`,children:[i,o]}),t[2]=i,t[3]=n,t[4]=o,t[5]=s):s=t[5];let c=a&&a,l;return t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8],l},lt=e=>{let t=E(e.path),n=e.icon?A[e.icon]:null,r=e.color?j[e.color]:void 0,i=(0,$.jsx)(D,{name:n??`folder`,className:`h-3.5 w-3.5`,style:r?{color:r}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(se,{project:e,className:`size-full object-contain`,fallback:i}):i}),(0,$.jsx)(`span`,{className:`truncate`,children:t})]})},ut=({initialPrompt:e,onCreated:n,onCancel:r,isWindowed:i=!1})=>{let{t:a}=f(),[s,c]=X.useState(``),[l,p]=X.useState(()=>[{id:Ie(),prompt:``,models:[]}]),[h,g]=X.useState(``),[_,v]=X.useState([]),[b,x]=X.useState(!1),[S,w]=X.useState([]),[ee,E]=X.useState(!1),[re,ie]=X.useState(!1),[ae,oe]=X.useState(!0),k=X.useRef(null),se=o(e=>e.currentDirectory??null),ce=X.useMemo(()=>{if(typeof window>`u`)return null;let e=window.__VSCODE_CONFIG__?.workspaceFolder;return typeof e==`string`&&e.trim().length>0?e.trim():null},[]),A=y(e=>e.activeProjectId),pe=y(e=>e.setActiveProjectIdOnly),j=y(e=>e.projects),[M,N]=X.useState(()=>A??null);X.useEffect(()=>{if(A){N(A);return}!M&&j.length>0&&N(j[0].id)},[A,j,M]);let P=X.useMemo(()=>M?j.find(e=>e.id===M)??null:null,[j,M]),R=P?.path??se,ve=u(e=>{N(e),e!==A&&pe(e)}),ye=X.useMemo(()=>{if(P?.path)return{id:P.id,path:P.path};let e=se??ce;return e?{id:`path:${e}`,path:e}:null},[P,se,ce]),[z]=X.useState(()=>typeof window<`u`&&t()),B=X.useMemo(()=>typeof navigator>`u`?!1:/Macintosh|Mac OS X/.test(navigator.userAgent||``),[]),be=_e(),V=X.useMemo(()=>{if(typeof window>`u`)return null;let e=window.__OPENCHAMBER_MACOS_MAJOR__;if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof navigator>`u`)return null;let t=(navigator.userAgent||``).match(/Mac OS X (\d+)[._](\d+)/);if(!t)return null;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10);return Number.isNaN(n)?null:n===10?r:n},[]),xe=X.useMemo(()=>z&&B||be?`pl-[5.5rem]`:`pl-3`,[z,B,be]),H=X.useMemo(()=>!z||!B||V===null?``:V>=26?`h-12`:V<=15?`h-14`:``,[z,B,V]),U=u(async e=>{e.target.closest(`button, a, input, select, textarea`)||e.button===0&&z&&await d()}),W=u(e=>{r&&e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),r())}),G=!!r;X.useEffect(()=>{if(G)return window.addEventListener(`keydown`,W,!0),()=>window.removeEventListener(`keydown`,W,!0)},[G]);let[Se,K]=X.useState(``),{isLoading:Ce,isGitRepository:Z}=Ke(R),Q=X.useRef(!1),we=Z===!0,Te=we&&ae;X.useEffect(()=>{if(Z===!1){Q.current=!0,oe(!1);return}Z===!0&&Q.current&&(Q.current=!1,oe(!0))},[Z]);let Ee=Pe(e=>e.createMultiRun),De=Pe(e=>e.error),Oe=Pe(e=>e.clearError);X.useEffect(()=>{typeof e==`string`&&e.trim().length>0&&p(t=>{let n=[...t];return n.length>0&&!n[0].prompt.trim()&&(n[0]={...n[0],prompt:e}),n})},[e]),X.useEffect(()=>{if(!ye)return;let e=!1;return ie(!0),(async()=>{try{let t=await m(ye);e||w(t)}catch{}finally{e||ie(!1)}})(),()=>{e=!0}},[ye]);let ke=u((e,t)=>{p(n=>n.map(n=>n.id===e?{...n,...t}:n))}),Ae=u(e=>{p(t=>t.filter(t=>t.id!==e))}),je=u(()=>{p(e=>[...e,{id:Ie(),prompt:``,models:[]}])}),Me=async e=>{let t=e.target.files;if(!t)return;let n=0;for(let e=0;e<t.length;e++){let r=t[e];if(r.size>at){C.error(a(`multirun.launcher.toast.fileTooLarge`,{fileName:r.name}));continue}try{let e=await new Promise((e,t)=>{let n=new FileReader;n.onload=()=>e(n.result),n.onerror=t,n.readAsDataURL(r)});v(t=>[...t,{id:Ie(),filename:r.name,mimeType:r.type||`application/octet-stream`,size:r.size,dataUrl:e}]),n++}catch(e){console.error(`File attach failed`,e),C.error(a(`multirun.launcher.toast.attachFailed`,{fileName:r.name}))}}n>0&&C.success(a(n===1?`multirun.launcher.toast.attachedSingle`:`multirun.launcher.toast.attachedPlural`,{count:n})),k.current&&(k.current.value=``)},Ne=e=>{v(t=>t.filter(t=>t.id!==e))},Fe=X.useMemo(()=>l.reduce((e,t)=>e+t.models.length,0),[l]),Le=async e=>{e.preventDefault();let t=l.filter(e=>e.prompt.trim()&&e.models.length>=1);if(t.length!==0&&!(Fe<1)){x(!0),Oe();try{M&&M!==A&&pe(M);let e=_.map(e=>({mime:e.mimeType,filename:e.filename,url:e.dataUrl})),r=S.filter(e=>e.trim().length>0),i=t.map(e=>({prompt:e.prompt.trim(),models:e.models.map(e=>({providerID:e.providerID,modelID:e.modelID,displayName:e.displayName,variant:e.variant}))})),a={name:s.trim(),groups:i,agent:h||void 0,worktreeBaseBranch:Te?Se:void 0,isolateRuns:Te,files:e.length>0?e:void 0,setupCommands:r.length>0?r:void 0},o=await Ee(a);o&&(o.firstSessionId&&T.getState().setCurrentSession(o.firstSessionId),n?.())}finally{x(!1)}}},Re=!!(s.trim()&&l.some(e=>e.prompt.trim()&&e.models.length>=1)&&Fe>=1&&R&&!Ce&&(Z===!1||!Te||Se)),ze=S.filter(e=>e.trim()).length;return(0,$.jsxs)(`form`,{onSubmit:Le,className:`flex flex-col h-full bg-background`,children:[i?null:(0,$.jsxs)(`header`,{onMouseDown:U,className:te(`relative flex h-12 shrink-0 items-center justify-center border-b app-region-drag select-none`,xe,H),style:{borderColor:`var(--interactive-border)`},children:[(0,$.jsx)(`h1`,{className:`typography-ui-label font-medium`,children:a(`multirun.launcher.title`)}),r&&(0,$.jsx)(`div`,{className:`absolute right-0 flex items-center pr-3`,children:(0,$.jsxs)(L,{children:[(0,$.jsx)(I,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:r,"aria-label":a(`multirun.launcher.actions.closeEsc`),className:`inline-flex h-9 w-9 items-center justify-center p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-interactive-hover/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary app-region-no-drag`,children:(0,$.jsx)(D,{name:`close`,className:`h-5 w-5`})})}),(0,$.jsx)(ge,{children:(0,$.jsx)(`p`,{children:a(`multirun.launcher.actions.closeEsc`)})})]})})]}),(0,$.jsx)(fe,{className:`flex-1 min-h-0 overflow-auto`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl px-4 sm:px-6 py-5`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-project`,required:!0,children:a(`multirun.launcher.project.label`)}),j.length>0?(0,$.jsxs)(de,{value:M??void 0,onValueChange:ve,children:[(0,$.jsx)(he,{id:`multirun-project`,size:`lg`,className:`w-fit max-w-full`,children:P?(0,$.jsx)(O,{children:lt(P)}):(0,$.jsx)(O,{placeholder:a(`multirun.launcher.project.placeholder`)})}),(0,$.jsx)(ue,{fitContent:!0,children:j.map(e=>(0,$.jsx)(me,{value:e.id,className:`max-w-[24rem]`,children:lt(e)},e.id))})]}):(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground py-2`,children:a(`multirun.launcher.project.empty`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`group-name`,required:!0,info:(0,$.jsx)(st,{children:a(`multirun.launcher.groupName.info`)}),children:a(`multirun.launcher.groupName.label`)}),(0,$.jsx)(F,{id:`group-name`,value:s,onChange:e=>c(e.target.value),placeholder:a(`multirun.launcher.groupName.placeholder`),className:`typography-meta w-full`,required:!0})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-worktree-base-branch`,info:(0,$.jsx)(st,{children:a(`multirun.launcher.baseBranch.info`)}),children:a(`multirun.launcher.baseBranch.label`)}),(0,$.jsx)(Qe,{directory:R,value:Se,onChange:K,disabled:!Te,id:`multirun-worktree-base-branch`}),(0,$.jsxs)(`label`,{className:`mt-1.5 flex w-fit items-center gap-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(le,{checked:ae,onChange:oe,disabled:!we,ariaLabel:a(`multirun.launcher.isolateRuns.label`)}),(0,$.jsx)(`span`,{children:a(`multirun.launcher.isolateRuns.label`)})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(ct,{htmlFor:`multirun-agent`,info:(0,$.jsx)(st,{children:a(`multirun.launcher.agent.info`)}),children:a(`multirun.launcher.agent.label`)}),(0,$.jsx)($e,{value:h,onChange:g,id:`multirun-agent`})]})]}),(0,$.jsxs)(Y,{open:ee,onOpenChange:E,children:[(0,$.jsxs)(J,{className:`w-full flex items-center gap-2 py-1.5 px-2 -mx-2 rounded-lg hover:bg-[var(--interactive-hover)]/50 transition-colors group`,children:[(0,$.jsx)(D,{name:`terminal`,className:`h-3.5 w-3.5 text-muted-foreground/70`}),(0,$.jsx)(`span`,{className:`typography-meta font-medium text-muted-foreground group-hover:text-foreground transition-colors`,children:a(`multirun.launcher.setupCommands.label`)}),ze>0&&(0,$.jsx)(`span`,{className:`inline-flex items-center justify-center h-4 min-w-4 px-1 rounded-full typography-micro font-medium`,style:{backgroundColor:`var(--primary-base)`,color:`var(--primary-foreground)`,fontSize:`0.625rem`,lineHeight:1},children:ze}),(0,$.jsx)(D,{name:`arrow-down-s`,className:te(`h-3.5 w-3.5 text-muted-foreground/50 transition-transform duration-200 ml-auto`,ee&&`rotate-180`)})]}),(0,$.jsx)(q,{children:(0,$.jsx)(`div`,{className:`pt-2 space-y-1.5`,children:re?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground/70 px-2`,children:a(`multirun.launcher.setupCommands.loading`)}):(0,$.jsxs)($.Fragment,{children:[S.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,$.jsx)(F,{value:e,onChange:e=>{let n=[...S];n[t]=e.target.value,w(n)},placeholder:a(`multirun.launcher.setupCommands.commandPlaceholder`),className:`h-8 flex-1 font-mono text-xs`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>w(S.filter((e,n)=>n!==t)),className:`flex-shrink-0 flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,"aria-label":a(`multirun.launcher.setupCommands.removeCommandAria`),children:(0,$.jsx)(D,{name:`close`,className:`h-3.5 w-3.5`})})]},`${e}-${t}`)),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>w([...S,``]),className:`flex items-center gap-1 typography-meta text-muted-foreground hover:text-foreground transition-colors px-1`,children:[(0,$.jsx)(D,{name:`add`,className:`h-3 w-3`}),a(`multirun.launcher.setupCommands.addCommand`)]})]})})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(ct,{htmlFor:`prompt`,required:!0,children:a(`multirun.launcher.attachments.label`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(`input`,{ref:k,type:`file`,multiple:!0,className:`hidden`,onChange:Me,accept:`*/*`}),(0,$.jsxs)(L,{children:[(0,$.jsx)(I,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>k.current?.click(),className:`inline-flex items-center gap-1 h-6 px-2 rounded-md typography-micro text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(D,{name:`attachment-2`,className:`h-3 w-3`}),a(`multirun.launcher.attachments.attach`)]})}),(0,$.jsx)(ge,{children:a(`multirun.launcher.attachments.tooltip`)})]}),_.map(e=>(0,$.jsxs)(`div`,{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md typography-micro border`,style:{backgroundColor:`var(--surface-elevated)`,borderColor:`var(--interactive-border)`},children:[e.mimeType.startsWith(`image/`)?(0,$.jsx)(D,{name:`file-image`,className:`h-3 w-3 text-muted-foreground`}):(0,$.jsx)(D,{name:`file`,className:`h-3 w-3 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate max-w-[100px]`,title:e.filename,children:e.filename}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>Ne(e.id),className:`text-muted-foreground hover:text-destructive`,children:(0,$.jsx)(D,{name:`close`,className:`h-3 w-3`})})]},e.id))]})]}),l.map((e,t)=>(0,$.jsx)(dt,{group:e,groupIndex:t,canRemove:l.length>1,onUpdate:ke,onRemove:Ae},e.id)),(0,$.jsxs)(`button`,{type:`button`,onClick:je,className:`flex items-center gap-1.5 py-2 px-3 -mx-3 rounded-lg typography-meta font-medium text-muted-foreground hover:text-foreground hover:bg-[var(--interactive-hover)]/50 transition-colors`,children:[(0,$.jsx)(D,{name:`add`,className:`h-3.5 w-3.5`}),a(`multirun.launcher.groups.addGroup`)]}),De&&(0,$.jsx)(`div`,{className:`px-3 py-2 rounded-lg typography-meta`,style:{backgroundColor:`var(--status-error-background)`,color:`var(--status-error)`,borderWidth:1,borderColor:`var(--status-error-border)`},children:De})]})})}),(0,$.jsx)(`div`,{className:`shrink-0 px-4 sm:px-6 py-3`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl flex items-center justify-end gap-2`,children:[!Te&&Z!==null?(0,$.jsxs)(`div`,{className:`mr-auto flex min-w-0 items-center gap-1.5 typography-micro text-muted-foreground`,children:[(0,$.jsx)(D,{name:`information`,className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:a(`multirun.launcher.project.gitRequired`)})]}):null,(0,$.jsx)(ne,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:a(`multirun.launcher.actions.cancel`)}),(0,$.jsx)(ne,{type:`submit`,size:`sm`,disabled:!Re||b,children:b?a(`multirun.launcher.actions.creating`):(0,$.jsx)($.Fragment,{children:a(`multirun.launcher.actions.startWithRunCount`,{count:Fe})})})]})})]})},dt=e=>{let t=(0,Ce.c)(104),{group:n,groupIndex:r,canRemove:i,onUpdate:a,onRemove:o}=e,{t:s}=f(),[c,l]=X.useState(!1),[d,p]=X.useState(``),[m,h]=X.useState(!1),[g,_]=X.useState(``),[v,y]=X.useState(!1),[b,x]=X.useState(``),S=X.useRef(null),C=X.useRef(null),w=X.useRef(null),T=X.useRef(null),ee;t[0]!==n.id||t[1]!==n.models||t[2]!==a?(ee=e=>{n.models.length>=ot||a(n.id,{models:[...n.models,e]})},t[0]=n.id,t[1]=n.models,t[2]=a,t[3]=ee):ee=t[3];let E=u(ee),te;t[4]!==n.id||t[5]!==n.models||t[6]!==a?(te=e=>{a(n.id,{models:n.models.filter((t,n)=>n!==e)})},t[4]=n.id,t[5]=n.models,t[6]=a,t[7]=te):te=t[7];let ne=u(te),re;t[8]!==n.id||t[9]!==n.models||t[10]!==a?(re=(e,t)=>{a(n.id,{models:n.models.map((n,r)=>r===e?t:n)})},t[8]=n.id,t[9]=n.models,t[10]=a,t[11]=re):re=t[11];let ie=u(re),ae;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
2
2
  `),i=Math.min(n===-1?e.length:n,r===-1?e.length:r);if(t<=i&&n===-1){_(e.substring(1,i)),h(!0),l(!1),y(!1);return}}h(!1);let n=e.substring(0,t),r=n.lastIndexOf(`#`);if(r!==-1){let e=r>0?n[r-1]:null,t=n.substring(r+1);if((!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
3
3
  `)){x(t),y(!0),l(!1);return}}y(!1);let i=n.lastIndexOf(`@`);if(i!==-1){let e=i>0?n[i-1]:null,t=n.substring(i+1);(!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
4
4
  `)?(p(t),l(!0)):l(!1);return}l(!1)},t[12]=ae):ae=t[12];let O=u(ae),oe;t[13]!==n.id||t[14]!==a?(oe=e=>{a(n.id,{prompt:e})},t[13]=n.id,t[14]=a,t[15]=oe):oe=t[15];let k=u(oe),se;t[16]!==n.prompt||t[17]!==k||t[18]!==O?(se=e=>{let t=n.prompt,r=S.current?.selectionStart??t.length,i=t.substring(0,r).lastIndexOf(`@`),a=e.relativePath&&e.relativePath.trim().length>0?e.relativePath.trim():e.path||e.name,o=Se(t,i===-1?r:i,r,`@${a}`);k(o.text),l(!1),p(``),requestAnimationFrame(()=>{let e=S.current;e&&(e.selectionStart=o.caret,e.selectionEnd=o.caret,e.focus()),O(o.text,o.caret)})},t[16]=n.prompt,t[17]=k,t[18]=O,t[19]=se):se=t[19];let ce=u(se),le;t[20]!==n.prompt||t[21]!==k||t[22]!==O?(le=e=>{let t=n.prompt,r=S.current?.selectionStart??t.length,i=t.substring(0,r).lastIndexOf(`@`),a=Se(t,i===-1?r:i,r,`@${e}`);k(a.text),l(!1),p(``),requestAnimationFrame(()=>{let e=S.current;e&&(e.selectionStart=a.caret,e.selectionEnd=a.caret,e.focus()),O(a.text,a.caret)})},t[20]=n.prompt,t[21]=k,t[22]=O,t[23]=le):le=t[23];let ue=u(le),de;t[24]!==k||t[25]!==O?(de=e=>{let t=`/${e.name} `;k(t),h(!1),_(``),y(!1),requestAnimationFrame(()=>{let e=S.current;e&&(e.focus(),e.selectionStart=e.value.length,e.selectionEnd=e.value.length),O(t,t.length)})},t[24]=k,t[25]=O,t[26]=de):de=t[26];let A=u(de),fe;t[27]!==n.prompt||t[28]!==k||t[29]!==O?(fe=(e,t)=>{let r=n.prompt,i=S.current?.selectionStart??r.length,a=r.substring(0,i).lastIndexOf(`#`),o=a===-1?i:a,s=`${r.substring(0,o)}#${t} ${r.substring(i)}`,c=o+t.length+2;k(s),y(!1),x(``),requestAnimationFrame(()=>{let e=S.current;e&&(e.selectionStart=c,e.selectionEnd=c,e.focus()),O(s,c)})},t[27]=n.prompt,t[28]=k,t[29]=O,t[30]=fe):fe=t[30];let pe=u(fe),j;t[31]!==m||t[32]!==c||t[33]!==v?(j=e=>{if(m&&w.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)){e.preventDefault(),w.current.handleKeyDown(e.key);return}c&&C.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),C.current.handleKeyDown(e.key)),v&&T.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),T.current.handleKeyDown(e.key))},t[31]=m,t[32]=c,t[33]=v,t[34]=j):j=t[34];let N=u(j),me=r+1,he;t[35]!==s||t[36]!==me?(he=s(`multirun.launcher.groups.groupLabel`,{index:me}),t[35]=s,t[36]=me,t[37]=he):he=t[37];let P;t[38]===he?P=t[39]:(P=(0,$.jsx)(`span`,{className:`typography-meta font-medium text-foreground`,children:he}),t[38]=he,t[39]=P);let F;t[40]!==i||t[41]!==n.id||t[42]!==o||t[43]!==s?(F=i&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>o(n.id),className:`inline-flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10`,"aria-label":s(`multirun.launcher.groups.removeGroup`),children:(0,$.jsx)(D,{name:`close`,className:`h-3.5 w-3.5`})}),t[40]=i,t[41]=n.id,t[42]=o,t[43]=s,t[44]=F):F=t[44];let I;t[45]!==P||t[46]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[P,F]}),t[45]=P,t[46]=F,t[47]=I):I=t[47];let ge;t[48]===s?ge=t[49]:(ge=s(`multirun.launcher.groups.prompt.label`),t[48]=s,t[49]=ge);let L;t[50]===ge?L=t[51]:(L=(0,$.jsx)(ct,{required:!0,children:ge}),t[50]=ge,t[51]=L);let _e=n.prompt,R;t[52]!==k||t[53]!==O?(R=e=>{let t=e.target.value;k(t);let n=e.target.selectionStart??t.length;O(t,n)},t[52]=k,t[53]=O,t[54]=R):R=t[54];let z;t[55]===s?z=t[56]:(z=s(`multirun.launcher.groups.prompt.placeholder`),t[55]=s,t[56]=z);let B;t[57]!==n.prompt||t[58]!==N||t[59]!==R||t[60]!==z?(B=(0,$.jsx)(M,{ref:S,value:_e,onChange:R,onKeyDown:N,placeholder:z,className:`typography-meta min-h-[80px] max-h-[200px] resize-none overflow-y-auto field-sizing-content`,required:!0}),t[57]=n.prompt,t[58]=N,t[59]=R,t[60]=z,t[61]=B):B=t[61];let be;t[62]!==g||t[63]!==A||t[64]!==m?(be=m?(0,$.jsx)(ve,{ref:w,searchQuery:g,onCommandSelect:A,onClose:()=>h(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,t[62]=g,t[63]=A,t[64]=m,t[65]=be):be=t[65];let V;t[66]!==ue||t[67]!==ce||t[68]!==d||t[69]!==c?(V=c?(0,$.jsx)(xe,{ref:C,searchQuery:d,onFileSelect:ce,onAgentSelect:ue,onClose:()=>l(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,t[66]=ue,t[67]=ce,t[68]=d,t[69]=c,t[70]=V):V=t[70];let H;t[71]!==pe||t[72]!==v||t[73]!==b?(H=v?(0,$.jsx)(ye,{ref:T,searchQuery:b,onSnippetSelect:pe,onClose:()=>y(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,t[71]=pe,t[72]=v,t[73]=b,t[74]=H):H=t[74];let U;t[75]!==B||t[76]!==be||t[77]!==V||t[78]!==H?(U=(0,$.jsxs)(`div`,{className:`relative`,children:[B,be,V,H]}),t[75]=B,t[76]=be,t[77]=V,t[78]=H,t[79]=U):U=t[79];let W;t[80]!==L||t[81]!==U?(W=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[L,U]}),t[80]=L,t[81]=U,t[82]=W):W=t[82];let G;t[83]===s?G=t[84]:(G=s(`multirun.launcher.models.info`,{max:ot}),t[83]=s,t[84]=G);let K;t[85]===G?K=t[86]:(K=(0,$.jsx)(st,{children:G}),t[85]=G,t[86]=K);let q;t[87]===s?q=t[88]:(q=s(`multirun.launcher.models.label`),t[87]=s,t[88]=q);let J;t[89]!==K||t[90]!==q?(J=(0,$.jsx)(ct,{required:!0,info:K,children:q}),t[89]=K,t[90]=q,t[91]=J):J=t[91];let Y;t[92]!==n.models||t[93]!==E||t[94]!==ne||t[95]!==ie?(Y=(0,$.jsx)(Re,{selectedModels:n.models,onAdd:E,onRemove:ne,onUpdate:ie,minModels:1,maxModels:ot}),t[92]=n.models,t[93]=E,t[94]=ne,t[95]=ie,t[96]=Y):Y=t[96];let Z;t[97]!==J||t[98]!==Y?(Z=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[J,Y]}),t[97]=J,t[98]=Y,t[99]=Z):Z=t[99];let Q;return t[100]!==I||t[101]!==W||t[102]!==Z?(Q=(0,$.jsxs)(`div`,{className:`rounded-lg border border-border p-3 space-y-3`,children:[I,W,Z]}),t[100]=I,t[101]=W,t[102]=Z,t[103]=Q):Q=t[103],Q};export{De as a,Ie as i,$e as n,Te as o,Re as r,ut as t};
@@ -1,3 +1,3 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,M as n,_ as r,c as i,f as a,h as o,i as s,n as c,o as l,r as u,t as d}from"./runtime-switch-BkpTTbEi.js";import{V as f,h as p}from"./desktop-CfLlmafK.js";import{a as m,i as h,r as ee}from"./vendor-zustand-B4dlGEM2.js";import{rt as te}from"./vendor-base-ui-CnHfUmDN.js";import{S as ne,b as g,f as re,i as ie,p as ae,r as oe,t as _,y as se}from"./useUIStore-B7KJS5G7.js";import{i as ce}from"./vendor-pathe-vBmvQE8f.js";import{n as le}from"./vendor-react-DLPElpoQ.js";import{t as ue}from"./vendor-tanstack-query-core-BWz0ose6.js";var v=e=>e.startsWith(`/api/`)||e===`/api`||e.startsWith(`/auth/`)||e===`/auth`||e===`/health`,de=()=>typeof window>`u`?``:window.location.origin||``,fe=e=>{if(typeof window>`u`)return!1;let t=de();if(t&&e.origin===t)return!0;try{let n=new URL(window.location.href||t);return e.protocol===n.protocol&&e.host===n.host}catch{return!1}},pe=e=>/^[a-z][a-z\d+.-]*:\/\//i.test(e),me=(e,t)=>{if(!t)return;let n=t instanceof URLSearchParams?Array.from(t.entries()):Object.entries(t);for(let[t,r]of n)r!=null&&e.searchParams.set(t,String(r))},he=e=>{try{let t=a().api(`/api`);if(!/^[a-z][a-z\d+.-]*:\/\//i.test(t))return!1;let n=new URL(t);return e.origin===n.origin&&v(e.pathname)}catch{return!1}},ge=e=>{if(v(e))return!0;if(!/^[a-z][a-z\d+.-]*:\/\//i.test(e))return!1;try{let t=new URL(e);return fe(t)&&v(t.pathname)}catch{return!1}},_e=(e,t)=>{try{let n=new URL(e);if(!fe(n))return e;let r=y(`${n.pathname}${n.search}`,t);return!pe(r)&&(n.protocol===`http:`||n.protocol===`https:`)?(me(n,t),n.toString()):n.hash?`${r}${n.hash}`:r}catch{return e}},y=(e,t)=>e===`/health`?a().health(t):e.startsWith(`/auth/`)||e===`/auth`?a().auth(e,t):v(e)?a().api(e,t):/^[a-z][a-z\d+.-]*:\/\//i.test(e)?_e(e,t):e,ve=e=>{let t=e instanceof Request?e.url:e.toString();if(!pe(t))return v(t);try{return he(new URL(t))}catch{return!1}},ye=/^\/api\/session\/(?!status$)([^/]+)(?:\/(?:message|children|todo|diff))?$/,be=/^\/api\/openchamber\/sessions\/([^/]+)\/messages\/?$/,xe=null,Se=e=>{xe=e},Ce=e=>{try{return decodeURIComponent(e)}catch{return e}},we=e=>xe?e===xe||Ce(e)===xe:!1,Te=new Set([`/health`,`/api/opencode/health`,`/api/opencode/upgrade-status`,`/api/global/config`,`/api/project`,`/api/project/current`,`/api/config`,`/api/config/providers`,`/api/config/settings`,`/api/config/themes`,`/api/experimental/session`,`/api/session/status`,`/api/session-folders`,`/api/github/pr/status`,`/api/openchamber/session-index`]),Ee=[`/api/agent`,`/api/command`,`/api/mcp`,`/api/lsp`,`/api/vcs`,`/api/question`,`/api/permission`,`/api/git/check`,`/api/git/primary-root`,`/api/git/discover`,`/api/git/status`,`/api/git/worktrees`,`/api/quota`],De=e=>Te.has(e)||Ee.some(t=>e===t||e.startsWith(`${t}/`)),Oe=e=>{if(!pe(e))return v(e);try{return he(new URL(e))}catch{return!1}},ke=e=>{try{return new URL(e,`http://openchamber.local`).pathname}catch{return null}},Ae=(e,t)=>{if(e.toUpperCase()!==`GET`||!Oe(t))return;let n=ke(t);if(!n)return;let r=n.match(ye);if(r?.[1]&&we(r[1]))return`high`;let i=n.match(be);if(i?.[1]&&we(i[1]))return`high`;if(De(n))return`low`},je=e=>{for(let t=0;t<e.length;t+=1)if(e.charCodeAt(t)>255)return!1;return!0},Me=(e,t)=>!je(t),Ne=e=>{if(!e)return;let t=e instanceof Headers?Array.from(e.entries()):Array.isArray(e)?e:Object.entries(e);if(t.length===0)return;let n=[],r=!1,i=!1;for(let[e,a]of t)Me(e,a)?(n.push([e,encodeURIComponent(a)]),r=!0,e.toLowerCase()===`x-opencode-directory`&&(i=!0)):n.push([e,a]);return i&&n.push([`x-opencode-directory-encoding`,`uri`]),r?n:void 0},b=async(e,t,n=!0)=>{let r=new Headers(Ne(e)??e);return t&&new Headers(Ne(t)??t).forEach((e,t)=>r.set(t,e)),n?o(r):r},Pe=(e,t)=>{if(!t)return e;let r=new URL(e,n);return me(r,t),`${r.pathname}${r.search}`},Fe=(e,t)=>{let n=e instanceof Request?e.url:e.toString();if(!pe(n))return v(n)?Pe(n,t):null;try{let e=new URL(n);return!fe(e)||!v(e.pathname)?null:(me(e,t),`${e.pathname}${e.search}`)}catch{return null}},Ie=async(e,n,r)=>{let i=t();if(!i)return null;let a=Fe(e,r);if(a===null)return null;let o=await b(e instanceof Request?e.headers:void 0,n.headers,!0);return e instanceof Request?i.fetch(e,{...n,headers:o}):i.fetch(a,{...n,headers:o})},Le=(e,t)=>{if(typeof e==`string`)return y(e,t);if(e instanceof URL)return y(e.toString(),t);let n=y(e.url,t);return n===e.url?e:new Request(n,e)},Re=/\/api\/(config|path|app\/agents|agent|project|command|opencode\/upgrade-status)(\b|\/|\?|$)/,ze=new Map,Be=new WeakMap,Ve=1,He=e=>{let t=Be.get(e);if(t)return t;let n=Ve;return Ve+=1,Be.set(e,n),n},Ue=(e,t,n,r,i,a)=>n||!i||e!==`GET`||t.includes(`/event`)||!Re.test(t)?null:`GET ${a?`relay:${He(a)}`:`url:${t}`} ${t} auth:${r}`,We=async(e,n={})=>{let{query:i,...a}=n,o=t(),s=o?Fe(e,i):null,c=r(),l,u,d;if(o&&s!==null){let t=await b(e instanceof Request?e.headers:void 0,a.headers,!0);l=e instanceof Request?()=>o.fetch(e,{...a,headers:t}):()=>o.fetch(s,{...a,headers:t}),u=s,d=String(a.method??(e instanceof Request?e.method:`GET`)).toUpperCase()}else{let t=Le(e,i),n=await b(t instanceof Request?t.headers:void 0,a.headers,ve(t));u=t instanceof Request?t.url:t instanceof URL?t.toString():String(t),d=String(a.method??(t instanceof Request?t.method:`GET`)).toUpperCase();let r=a.priority??Ae(d,u),o=r?{...a,priority:r}:a;l=t instanceof Request?()=>fetch(new Request(t,{...o,headers:n})):()=>fetch(t,{...o,headers:n})}let f=a.signal!=null||e instanceof Request,p=Ue(d,u,f,c,c===r(),o&&s!==null?o:null);if(!p)return l();let m=ze.get(p);if(m)return m.then(e=>e.clone());let h=l();return ze.set(p,h),h.then(()=>ze.delete(p),()=>ze.delete(p)),h.then(e=>e.clone())},Ge=!1,Ke=()=>{if(Ge||typeof window>`u`)return;Ge=!0;let e=window.fetch.bind(window);window.fetch=async(t,n)=>{let r=await Ie(t,n??{});if(r)return r;if(typeof t==`string`){if(!ge(t)){try{if(he(new URL(t))){let r=await b(void 0,n?.headers);return e(t,{...n,headers:r})}}catch{}return e(t,n)}let r=await b(void 0,n?.headers);return e(y(t),{...n,headers:r})}if(t instanceof URL){let r=t.toString();if(!ge(r)){if(he(t)){let r=await b(void 0,n?.headers);return e(t,{...n,headers:r})}return e(t,n)}let i=await b(void 0,n?.headers);return e(y(r),{...n,headers:i})}if(t instanceof Request){if(!ge(t.url)){try{if(he(new URL(t.url))){let r=await b(t.headers,n?.headers);return e(new Request(t,{...n,headers:r}))}}catch{}return e(t,n)}let r=await b(t.headers,n?.headers),i=y(t.url),a=i===t.url?t:new Request(i,t),o=await e(new Request(a,{...n,headers:r}));if(o.status>=500){let e=i;try{e=new URL(i).pathname}catch{}console.error(`[runtime-fetch] server request failed`,{method:a.method,path:e,status:o.status,statusText:o.statusText},Error(`runtime fetch received HTTP ${o.status}`))}return o}return e(t,n)}},qe=`oc.inst.`,Je=e=>{try{return btoa(unescape(encodeURIComponent(e))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}catch{return encodeURIComponent(e)}},Ye=e=>{let t=(e??u()).trim();return t.length>0?t:`default`},Xe=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim().replace(/\/+$/,``):``},x=(e,t=u())=>`${qe}${Je(Ye(t))}.${e}`,Ze=(e=u())=>Ye(e).startsWith(`relay:`),Qe=(e=u())=>{let t=Ye(e);if(t==="default"||t===`local`)return!0;if(Ze(t)||!t.startsWith(`url:`))return!1;let n=Xe();if(!n)return!1;try{return new URL(t.slice(4)).origin===new URL(n).origin}catch{return!1}},$e=(e=u())=>!Ze(e),et=(e,t=d())=>{let n=t.trim().replace(/\/+$/,``);return n?`${e}:${encodeURIComponent(n)}`:null},tt=(e,t)=>{let n=t?.storage??(typeof localStorage<`u`?localStorage:{getItem:()=>null}),r=t?.runtimeKey??u(),i=n.getItem(x(e,r));if(i!==null)return i;if($e(r)){let t=et(e),r=t?n.getItem(t):null;if(r!==null)return r}return Qe(r)?n.getItem(e):null},S=(e,t,n)=>{let r=n?.storage??(typeof localStorage<`u`?localStorage:{setItem:()=>void 0}),i=n?.runtimeKey??u();r.setItem(x(e,i),t)},nt=e=>({getItem:t=>tt(t,{storage:e}),setItem:(t,n)=>{S(t,n,{storage:e})},removeItem:t=>{C(t,{storage:e})}}),C=(e,t)=>{let n=t?.storage??(typeof localStorage<`u`?localStorage:{removeItem:()=>void 0}),r=t?.runtimeKey??u();n.removeItem(x(e,r))},rt=e=>{let t;try{t=ne()}catch{return}let n=t=>t===null?null:JSON.parse(t,e?.reviver),r=e=>t.getItem(e);return{getItem:e=>{let t=u(),i=x(e,t),a=r(i);if(a instanceof Promise)return a.then(i=>{if(i!==null)return n(i);if(!Qe(t))return null;let a=r(e);return a instanceof Promise?a.then(n):n(a)});if(a!==null)return n(a);if(!Qe(t))return null;let o=r(e);return o instanceof Promise?o.then(n):n(o)},setItem:(n,r)=>{let i=x(n,u());t.setItem(i,JSON.stringify(r,e?.replacer))},removeItem:e=>{let n=x(e,u());t.removeItem(n)}}},it=(e=at)=>{let t=new Map,n=0;return{countUnicodeCodePoints:r=>{let i=t.get(r);if(i!==void 0)return t.delete(r),t.set(r,i),i;let a=e(r);if(r.length>4e5)return a;for(;n+r.length>4e5&&t.size>0;){let e=t.keys().next().value;n-=e.length,t.delete(e)}return t.set(r,a),n+=r.length,a}}},at=e=>{let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319&&n+1<e.length){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n+=1)}t+=1}return t},ot=it(),st=e=>ot.countUnicodeCodePoints(e),w=(e,t)=>{if(!e)throw Error(`${t} must be non-empty`);return e},ct=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`session`,ownerID:w(t,`sessionID`)}}),lt=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`draft`,ownerID:w(t,`draftID`)}}),ut=e=>{let t=typeof e.projectId==`string`?e.projectId.trim():``;if(t)return`new-session:project:${t}`;let n=typeof e.directory==`string`?e.directory.trim():``;return n?`new-session:directory:${n}`:`new-session:default`},dt=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`surface`,ownerID:w(t,`surfaceID`)}}),ft=8192,pt=e=>{if(typeof e!=`string`||e.length===0||e.length>ft)return!1;try{let t=new URL(e).protocol;return t===`http:`||t===`https:`||t===`file:`}catch{return!1}},mt=e=>JSON.stringify([e.transportIdentity,e.owner.kind,e.owner.ownerID]),ht=e=>JSON.stringify([e.transportIdentity,e.owner.kind,e.owner.ownerID,e.attachmentOccurrenceRefID]),gt=e=>JSON.stringify([`root`,e]),_t=(e,t)=>JSON.stringify([`part`,e,t]),vt={mentionCount:1e3,valueLength:8192,pathLength:8192,labelLength:512},T={referenceCount:1e3,idLength:512,displayLength:514,sessionIDLength:128,skillNameLength:511,commandNameLength:511,commandReferenceLength:8192,pastePayloadLength:1e5,totalPastePayloadLength:2e5},E=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},D=(e,t)=>Object.keys(e).every(e=>t.includes(e)),O=e=>typeof e==`string`&&e.length>0,yt=e=>typeof e==`string`,k=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0,A=(e,t)=>typeof e==`string`&&e.length>0&&e.length<=t,bt=(e,t)=>{if(t<=0||t>=e.length)return!0;let n=e.charCodeAt(t-1),r=e.charCodeAt(t);return!(n>=55296&&n<=56319&&r>=56320&&r<=57343)},xt=(e,t)=>{if(!Array.isArray(t)||t.length>vt.mentionCount)return;let n=[],r=new Set,i=0;for(let a of t){if(!E(a)||!D(a,[`kind`,`value`,`path`,`label`,`range`])||a.kind!==`file`&&a.kind!==`directory`&&a.kind!==`agent`||!A(a.value,vt.valueLength)||!A(a.path,vt.pathLength)||!A(a.label,vt.labelLength)||!E(a.range)||!D(a.range,[`start`,`end`])||!k(a.range.start)||!k(a.range.end)||a.range.end<=a.range.start||a.range.end>e.length||a.range.start<i||!bt(e,a.range.start)||!bt(e,a.range.end)||e.slice(a.range.start,a.range.end)!==`@${a.value}`)return;let t=JSON.stringify([a.kind,a.value,a.path,a.label,a.range.start,a.range.end]);if(r.has(t))return;r.add(t),i=a.range.end,n.push({kind:a.kind,value:a.value,path:a.path,label:a.label,range:{start:a.range.start,end:a.range.end}})}return n},St=e=>A(e,T.sessionIDLength)&&/^[A-Za-z0-9_-]+$/.test(e),Ct=e=>A(e,T.skillNameLength)&&/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(e),wt=e=>A(e,T.commandNameLength)&&/^[\p{L}\p{N}._/-]+$/u.test(e),Tt=e=>A(e,T.commandReferenceLength)&&!/[\]\r\n]/u.test(e),Et=e=>{if(!(!E(e)||!A(e.id,T.idLength)||!A(e.display,T.displayLength)||!k(e.start)||!k(e.end)||e.end<=e.start)){if(e.kind===`session`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`sessionId`])&&St(e.sessionId))return{id:e.id,kind:`session`,start:e.start,end:e.end,display:e.display,sessionId:e.sessionId};if(e.kind===`paste`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`text`,`characterCount`,`index`])&&typeof e.text==`string`&&e.text.length<=T.pastePayloadLength&&k(e.characterCount)&&e.characterCount===st(e.text)&&k(e.index)&&e.index>=1)return{id:e.id,kind:`paste`,start:e.start,end:e.end,display:e.display,text:e.text,characterCount:e.characterCount,index:e.index};if(e.kind===`skill`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`skillName`])&&Ct(e.skillName)&&(e.display===`/${e.skillName}`||e.display===`/ ${e.skillName}`))return{id:e.id,kind:`skill`,start:e.start,end:e.end,display:e.display,skillName:e.skillName};if(e.kind===`command`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`commandName`,`reference`])&&wt(e.commandName)&&Tt(e.reference)&&(e.display===`/${e.commandName}`||e.display===`/ ${e.commandName}`))return{id:e.id,kind:`command`,start:e.start,end:e.end,display:e.display,commandName:e.commandName,reference:e.reference}}},Dt=(e,t)=>{if(!Array.isArray(t)||t.length>T.referenceCount)return;let n=t.map(Et);if(!n.every(Boolean))return;let r=n,i=new Set,a=0,o=0;for(let t of r)if(i.has(t.id)||t.start<a||t.end>e.length||e.slice(t.start,t.end)!==t.display||(i.add(t.id),a=t.end,t.kind===`paste`&&(o+=t.text.length,o>T.totalPastePayloadLength)))return;return{text:e,references:r}},Ot=(e,t)=>{if(e===null||[`string`,`number`,`boolean`,`undefined`].includes(typeof e))return!0;if(typeof e!=`object`||e instanceof Blob||typeof File<`u`&&e instanceof File||!Array.isArray(e)&&!E(e)||t.has(e))return!1;t.add(e);let n=Object.values(e).every(e=>Ot(e,t));return t.delete(e),n},kt=e=>{if(!(!E(e)||!D(e,[`kind`,`ownerID`])||!O(e.ownerID))&&(e.kind===`session`||e.kind===`draft`||e.kind===`surface`))return{kind:e.kind,ownerID:e.ownerID}},At=e=>{if(!E(e)||!D(e,[`transportIdentity`,`owner`])||!O(e.transportIdentity))return;let t=kt(e.owner);return t?{transportIdentity:e.transportIdentity,owner:t}:void 0},jt=e=>{if(!(!E(e)||!O(e.kind))){if(e.kind===`blob`&&D(e,[`kind`,`blobID`])&&O(e.blobID))return{kind:`blob`,blobID:e.blobID};if(!(e.kind!==`url`||!D(e,[`kind`,`url`])||!pt(e.url)))return{kind:`url`,url:e.url}}},Mt=(e,t,n)=>{try{let r=JSON.parse(e);return Array.isArray(r)?n===void 0?r.length===2&&r[0]===`root`&&r[1]===t:r.length===3&&r[0]===`part`&&r[1]===n&&r[2]===t:!1}catch{return!1}},Nt=(e,t)=>{if(!E(e)||!D(e,[`attachmentID`,`attachmentRefID`,`filename`,`mimeType`,`size`,`locator`,`source`,`serverPath`,`vscodePath`,`vscodeSource`])||!O(e.attachmentID)||!O(e.attachmentRefID)||!Mt(e.attachmentRefID,e.attachmentID,t)||!O(e.filename)||!yt(e.mimeType)||!k(e.size)||e.source!==`local`&&e.source!==`vscode`&&e.source!==`server`||e.serverPath!==void 0&&!O(e.serverPath)||e.vscodePath!==void 0&&!O(e.vscodePath)||e.vscodeSource!==void 0&&e.vscodeSource!==`file`&&e.vscodeSource!==`selection`||e.source===`server`&&!O(e.serverPath)||e.source===`vscode`&&(!O(e.vscodePath)||e.vscodeSource!==`file`&&e.vscodeSource!==`selection`))return;let n=jt(e.locator);if(n)return{attachmentID:e.attachmentID,attachmentRefID:e.attachmentRefID,filename:e.filename,mimeType:e.mimeType,size:e.size,locator:n,source:e.source,...e.serverPath===void 0?{}:{serverPath:e.serverPath},...e.vscodePath===void 0?{}:{vscodePath:e.vscodePath},...e.vscodeSource===void 0?{}:{vscodeSource:e.vscodeSource}}},Pt=e=>{if(!Ot(e,new Set)||!E(e)||!D(e,[`version`,`key`,`revision`,`text`,`attachments`,`syntheticParts`,`mentions`,`composerReferences`])||e.version!==1||!k(e.revision)||e.revision<1||typeof e.text!=`string`||!Array.isArray(e.attachments)||!Array.isArray(e.syntheticParts)||!Array.isArray(e.mentions))return;let t=e.text,n=At(e.key),r=e.attachments.map(e=>Nt(e)),i=e.syntheticParts.map(e=>{if(!E(e)||!D(e,[`partID`,`text`,`attachments`,`synthetic`])||!O(e.partID)||typeof e.text!=`string`||!Array.isArray(e.attachments)||e.synthetic!==void 0&&typeof e.synthetic!=`boolean`)return;let t=e.partID,n=e.text,r=e.attachments.map(e=>Nt(e,t));return r.every(Boolean)?{partID:t,text:n,attachments:r,...e.synthetic===void 0?{}:{synthetic:e.synthetic}}:void 0}),a=xt(t,e.mentions),o=e.composerReferences===void 0?{text:t,references:[]}:Dt(t,e.composerReferences);if(!n||!r.every(Boolean)||!i.every(Boolean)||!a||!o)return;let s=r,c=i,l=new Set;for(let e of[...s,...c.flatMap(e=>e.attachments)]){if(l.has(e.attachmentRefID))return;l.add(e.attachmentRefID)}if(new Set(c.map(e=>e.partID)).size===c.length)return{version:1,key:n,revision:e.revision,text:t,attachments:s,syntheticParts:c,mentions:a,...e.composerReferences===void 0?{}:{composerReferences:o.references}}},Ft=e=>Pt(e),j=` `,It=`0.2em`,Lt=`size-[1em]`,Rt=e=>e.startsWith(j)?e.slice(j.length):e,zt=e=>e.replaceAll(`/${j}`,`/`).replaceAll(`@${j}`,`@`).replaceAll(`[${j}`,`[`),Bt=e=>{let t=e.match(/^\s*/)?.[0].length??0,n=e.slice(t);if(!n.startsWith(`/`))return null;let r=1;n.startsWith(j,r)&&(r+=j.length);let i=n.slice(r);if(!i)return null;let a=i.search(/\s/u),o=a===-1?i:i.slice(0,a);return o?{commandName:o,argumentsText:a===-1?``:i.slice(a).trim()}:null},Vt=e=>M({trigger:`[`,icon:`file-image`,label:e,suffix:`]`}),Ht=({trigger:e,label:t,suffix:n=``})=>`${e}${t}${n}`,M=e=>`${e.trigger}${j}${e.label}${e.suffix??``}`,Ut=e=>Ht(e),Wt=(e,t)=>e===Ut(t)||e===M(t),Gt=(e,t)=>{let n=t===M(e);return{trigger:n?`${e.trigger}${j}`:e.trigger,icon:e.icon,align:e.align??`end`,label:e.label,suffix:e.suffix,slot:n?`reserved`:`compact`}},Kt=(e,t,n=``)=>{let r=e.startsWith(t)?e.slice(t.length):e,i=r.startsWith(j)?r.slice(j.length):r;return n&&i.endsWith(n)?i.slice(0,-n.length):i},qt=(e,t)=>e===t||!!e&&!!t&&e.trigger===t.trigger&&e.icon===t.icon&&e.align===t.align&&e.label===t.label&&e.suffix===t.suffix&&e.slot===t.slot,Jt=0n,Yt=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,Xt=14;function Zt(e){let t=``;for(let n=0;n<e;n++)t+=Yt[Math.floor(Math.random()*62)];return t}var Qt=/^[0-9a-f]{12}$/,$t=/^[0-9A-Za-z]{14}$/,en=(1n<<48n)-1n,tn=(e,t)=>{if(typeof t!=`string`||!t.startsWith(`${e}_`))return;let n=t.slice(e.length+1),r=n.slice(0,12);if(!(!Qt.test(r)||!$t.test(n.slice(12))))return BigInt(`0x${r}`)},nn=(e,t)=>{let n=BigInt(Date.now())*4096n&en,r=tn(e,t)??0n,i=[n,Jt,r].reduce((e,t)=>e>t?e:t);if(i>=en)throw Error(`Ascending ID space exhausted`);let a=i+1n;Jt=a;let o=new Uint8Array(6);for(let e=0;e<6;e++)o[e]=Number(a>>BigInt(40-8*e)&BigInt(255));let s=``;for(let e=0;e<o.length;e++)s+=o[e].toString(16).padStart(2,`0`);return`${e}_${s}${Zt(Xt)}`},rn=e=>nn(e),an=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim();if(!t)return``;let n=new TextEncoder().encode(t),r=``;for(let e of n)r+=String.fromCharCode(e);return`path_${typeof btoa==`function`?btoa(r).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``):t.replace(/[^A-Za-z0-9._-]+/g,`_`)}`},on=()=>globalThis.crypto===void 0?null:{randomUUID:typeof globalThis.crypto.randomUUID==`function`?()=>globalThis.crypto.randomUUID():void 0,getRandomValues:typeof globalThis.crypto.getRandomValues==`function`?e=>globalThis.crypto.getRandomValues(e):void 0},sn=(e=on())=>{try{let t=e?.randomUUID?.();if(t)return t}catch{}let t=new Uint8Array(16),n=!1;try{e?.getRandomValues&&(e.getRandomValues(t),n=!0)}catch{}if(!n)for(let e=0;e<t.length;e+=1)t[e]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=Array.from(t,e=>e.toString(16).padStart(2,`0`));return`${r.slice(0,4).join(``)}-${r.slice(4,6).join(``)}-${r.slice(6,8).join(``)}-${r.slice(8,10).join(``)}-${r.slice(10).join(``)}`},cn=e=>/^[\\/]+$/.test(e),ln=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;if(cn(t))return t.length===1?`/`:null;let n=ce(t);return n===`/`?`/`:(n.length>1?n.replace(/\/+$/,``):n)||null},un=e=>{if(typeof e!=`string`)return``;let t=e.trim();return t?ln(t)??t:``},N={...T,sessionIdLength:T.sessionIDLength,visibleTextLength:1e5,canonicalOutputLength:2e5},dn=e=>typeof e==`string`&&St(e),fn=e=>e.replaceAll(`\\`,`/`).split(`/`).at(-1)?.replace(/\.md$/,``)??``,pn=e=>({trigger:`@`,icon:`chat-thread`,label:e}),P=(e,t)=>({trigger:`/`,icon:t,label:e}),mn={session:{kind:`session`,validatePayload:e=>dn(e.sessionId),contributeCanonical:e=>({text:`@session:${e.sessionId}`,semantic:{type:`session`,sessionId:e.sessionId}}),contributeDirectSend:e=>({text:Ut(pn(Kt(e.display,`@`))),semantic:{type:`session`,sessionId:e.sessionId}}),decorate:e=>({style:`mentionSession`,visual:Gt(pn(Kt(e.display,`@`)),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/@session:([A-Za-z0-9_-]+)/g,resolveDisplay:(e,t)=>{let n=e.index===0?``:t.text[e.index-1],r=t.text[e.index+e[0].length]??``;return(n===``||/[\s([{]/.test(n))&&(r===``||/[\s)\]},.!?;:]/.test(r))?M(pn(t.sessionTitles.get(e[1])||e[1])):null},materialize:(e,t,n)=>({id:`session:${e[1]}:${e.index}`,kind:`session`,sessionId:e[1],display:t,start:n,end:n+t.length})}},paste:{kind:`paste`,validatePayload:e=>typeof e.text==`string`&&e.text.length<=N.pastePayloadLength&&typeof e.characterCount==`number`&&Number.isSafeInteger(e.characterCount)&&e.characterCount===st(e.text)&&typeof e.index==`number`&&Number.isSafeInteger(e.index)&&e.index>=1,contributeCanonical:e=>({text:e.text}),contributeDirectSend:e=>({text:e.text}),decorate:()=>({style:`mentionPaste`}),payloadBudget:e=>({category:`opaque-text`,length:e.text.length})},skill:{kind:`skill`,validatePayload:e=>Ct(e.skillName)&&typeof e.display==`string`&&Wt(e.display,P(e.skillName,`book-open`)),contributeCanonical:e=>({text:`[skill:${e.skillName}]`}),contributeDirectSend:e=>({text:`[skill:${e.skillName}]`}),decorate:e=>({style:`mentionCommand`,skillName:e.skillName,visual:Gt(P(e.skillName,`book-open`),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/\[skill:([A-Za-z0-9][A-Za-z0-9_-]*)\]/g,resolveDisplay:e=>M(P(e[1],`book-open`)),materialize:(e,t,n)=>({id:`skill:${n}`,kind:`skill`,skillName:e[1],display:t,start:n,end:n+t.length})}},command:{kind:`command`,validatePayload:e=>wt(e.commandName)&&Tt(e.reference)&&typeof e.display==`string`&&Wt(e.display,P(e.commandName,`command`)),contributeCanonical:e=>({text:`[command:${e.reference}]`}),contributeDirectSend:e=>({text:`[command:${e.reference}]`}),decorate:e=>({style:`mentionCommand`,visual:Gt(P(e.commandName,`command`),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/\[command:([^\]\r\n]+)\]/g,resolveDisplay:e=>{let t=fn(e[1]);return Tt(e[1])&&wt(t)?M(P(t,`command`)):null},materialize:(e,t,n)=>({id:`command:${n}`,kind:`command`,commandName:fn(e[1]),reference:e[1],display:t,start:n,end:n+t.length})}}},F=e=>mn[e],hn=(e,t)=>F(e).validatePayload(t),gn=e=>F(e.kind).contributeCanonical(e),_n=e=>F(e.kind).contributeDirectSend(e),vn=e=>F(e.kind).decorate(e),yn=e=>F(e.kind).payloadBudget(e),bn=e=>F(e.kind).describeResourceIdentity?.(e),xn=Object.keys(mn),Sn=e=>typeof e==`string`&&xn.includes(e),Cn=()=>xn.flatMap(e=>{let t=F(e).canonical;return t?[t]:[]}),wn=e=>{if(e.type===`attachment`)return`attachment:${e.attachmentRefID}`},Tn=e=>{let t=new Map;for(let n of e.references){let e=bn(n);e&&t.set(wn(e),e)}return[...t.values()]},En=(e,t)=>{let n=new Map(e.map(e=>[wn(e),e])),r=new Map(t.map(e=>[wn(e),e]));return{previous:[...n.values()],next:[...r.values()],added:[...r].flatMap(([e,t])=>n.has(e)?[]:[t]),removed:[...n].flatMap(([e,t])=>r.has(e)?[]:[t])}},Dn=(e,t)=>En(Tn(e),Tn(t)),On=(e,t=`queue-canonical`)=>{if(e.references.length>N.referenceCount)return{ok:!1,reason:`reference-budget-exceeded`};let n=[...e.references].sort((e,t)=>e.start-t.start),r=0,i=0;for(let t of n){if(t.start<r||t.start<0||t.end<=t.start||t.end>e.text.length||e.text.slice(t.start,t.end)!==t.display)return{ok:!1,reason:`invalid-references`};r=t.end;let n=yn(t);i+=n?.category===`opaque-text`?n.length:0}if(i>N.totalPastePayloadLength)return{ok:!1,reason:`reference-payload-budget-exceeded`};let a=[],o=[],s=0;for(let r of n){s<r.start&&a.push({provenance:`authored`,text:e.text.slice(s,r.start),start:s,end:r.start});let n=t===`direct-send-display`?_n(r):gn(r);n.semantic?(a.push({provenance:`generated-reference`,text:n.text,start:r.start,end:r.end,referenceId:r.id,semantic:n.semantic}),o.push(n.semantic)):a.push({provenance:`reference-payload`,text:n.text,start:r.start,end:r.end,referenceId:r.id}),s=r.end}s<e.text.length&&a.push({provenance:`authored`,text:e.text.slice(s),start:s,end:e.text.length});let c=a.map(e=>e.text).join(``);return c.length>N.canonicalOutputLength?{ok:!1,reason:`canonical-output-too-large`}:{ok:!0,plan:{chunks:a,semantics:o},text:c}},I=(e,t)=>Math.max(0,Math.min(e,t)),kn=(e,t)=>typeof e==`string`&&e.length>0&&e.length<=t,An=e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!kn(t.id,N.displayLength)||!kn(t.display,N.displayLength)||!Number.isSafeInteger(t.start)||!Number.isSafeInteger(t.end)||typeof t.kind!=`string`?!1:Sn(t.kind)&&hn(t.kind,t)},L=(e,t)=>{let n=[],r=0,i=[],a=Math.min(t.length,N.referenceCount);for(let e=0;e<a;e+=1){let a=t[e];if(!An(a)){typeof a==`object`&&a&&typeof a.id==`string`&&n.push(a.id),r+=1;continue}i.push({reference:a,index:e})}i.sort((e,t)=>e.reference.start-t.reference.start||e.index-t.index);let o=[],s=new Set,c=0,l=0,u=!1;for(let{reference:t}of i){if(s.has(t.id)||t.start<c||t.start<0||t.end<=t.start||t.end>e.length||e.slice(t.start,t.end)!==t.display){n.push(t.id),r+=1;continue}s.add(t.id),c=t.end;let i=yn(t);if(l+=i?.category===`opaque-text`?i.length:0,l>T.totalPastePayloadLength){n.push(t.id),r+=1,s.delete(t.id),c=o.at(-1)?.end??0,u=!0,l-=i?.category===`opaque-text`?i.length:0;continue}o.push(t)}return r+=t.length-a,{document:{text:e,references:o},rejectedIds:n,rejectedCount:r,budgetExceeded:t.length>N.referenceCount,payloadBudgetExceeded:u}},R=e=>{let t=[...e.references].sort((e,t)=>e.start-t.start||e.end-t.end),n=[],r=new Set,i=0,a=0;for(let o of t){if(!kn(o.id,N.idLength)||!kn(o.display,N.displayLength)||!Sn(o.kind)||!Number.isSafeInteger(o.start)||!Number.isSafeInteger(o.end)||r.has(o.id)||o.start<i||o.start<0||o.end<=o.start||o.end>e.text.length||e.text.slice(o.start,o.end)!==o.display)continue;let t=yn(o),s=t?.category===`opaque-text`?t.length:0;a+s>T.totalPastePayloadLength||(r.add(o.id),i=o.end,a+=s,n.push(o))}return{text:e.text,references:n}},jn=(e,t)=>{if(t.length>T.pastePayloadLength)return!1;let n=L(e.text,e.references);return n.budgetExceeded||n.payloadBudgetExceeded?!1:n.document.references.reduce((e,t)=>{let n=yn(t);return e+(n?.category===`opaque-text`?n.length:0)},0)+t.length<=T.totalPastePayloadLength},Mn=(e,t,n)=>{let r=e.filter(e=>t===n?t>e.start&&t<e.end:e.start<n&&e.end>t);return r.length===0?{start:t,end:n}:{start:Math.min(t,...r.map(e=>e.start)),end:Math.max(n,...r.map(e=>e.end))}};function Nn(e,t,n,r,i={}){let a=R(e);if(!hn(r.kind,r))return{document:a,caret:I(n,a.text.length),edit:{oldStart:t,oldEnd:n,newEnd:n}};let o=I(t,a.text.length),s=Math.max(o,I(n,a.text.length)),c=Mn(a.references,o,s),l=a.text.slice(0,c.start),u=a.text.slice(c.end),d=!!i.padDocumentEdges&&i.padLeadingDocumentEdge!==!1,f=!!i.padDocumentEdges,p=i.inlineBoundaries&&(l.length>0||d)&&!/\s$/.test(l)?` `:``,m=i.inlineBoundaries&&(u.length>0||f)&&!/^\s/.test(u)?` `:``,h=`${l}${p}${r.display}${m}${u}`,ee={...r,start:c.start+p.length,end:c.start+p.length+r.display.length},te=p.length+r.display.length+m.length-(c.end-c.start);return{document:R({text:h,references:[...a.references.filter(e=>e.end<=c.start||e.start>=c.end).map(e=>e.start>=c.end?{...e,start:e.start+te,end:e.end+te}:e),ee]}),caret:ee.end,edit:{oldStart:c.start,oldEnd:c.end,newEnd:c.start+p.length+r.display.length+m.length}}}var Pn=(e,t)=>e<=t.oldStart?e:e>=t.oldEnd?e+t.newEnd-t.oldEnd:t.newEnd,Fn=(e,t,n=t.length,r=n)=>{let i=R(e),a=0,o=Math.min(i.text.length,t.length);for(;a<o&&i.text[a]===t[a];)a+=1;let s=0;for(;s<i.text.length-a&&s<t.length-a&&i.text[i.text.length-s-1]===t[t.length-s-1];)s+=1;let c={oldStart:a,oldEnd:i.text.length-s,newEnd:t.length-s},l=Mn(i.references,c.oldStart,c.oldEnd),u=l.start!==c.oldStart||l.end!==c.oldEnd,d=i.references.filter(e=>e.start<l.end&&e.end>l.start),f=t.slice(c.oldStart,c.newEnd),p=`${i.text.slice(0,l.start)}${f}${i.text.slice(l.end)}`,m={oldStart:l.start,oldEnd:l.end,newEnd:l.start+f.length},h=m.newEnd-m.oldEnd,ee=i.references.filter(e=>e.end<=l.start||e.start>=l.end).map(e=>e.start>=l.end?{...e,start:e.start+h,end:e.end+h}:e),te=(e,n)=>{let r=I(e,t.length),i=c.newEnd+l.end-c.oldEnd;return I(r<=l.start?r:r<c.oldStart||r===c.oldStart&&n===`start`?l.start:r<c.newEnd||r===c.newEnd&&n===`start`?l.start+r-c.oldStart:r<=i?m.newEnd:m.newEnd+r-i,p.length)},ne=te(n,`start`),g=Math.max(ne,te(r,`end`)),re=R({text:p,references:ee});return{document:re,edit:m,requiresTextCorrection:u,selectionStart:ne,selectionEnd:g,caret:g,mapCaret:e=>I(Pn(e,m),re.text.length),removedReferences:d}},In=(e,t,n)=>{let r=Mn(n,e,t);return r.start===e&&r.end===t?null:r},Ln=(e,t,n)=>{let r=n,i=n;if(t===`Backspace`){for(;r>0&&/\s/.test(e[r-1]);)--r;for(;r>0&&!/\s/.test(e[r-1]);)--r}else{for(;i<e.length&&/\s/.test(e[i]);)i+=1;for(;i<e.length&&!/\s/.test(e[i]);)i+=1}return{start:r,end:i}},Rn=(e,t)=>{let n=R(e),r=I(t.selectionStart,n.text.length),i=Math.max(r,I(t.selectionEnd,n.text.length)),a=r===i?t.altKey?Ln(n.text,t.key,r):t.key===`Backspace`?{start:Math.max(0,r-1),end:r}:{start:r,end:Math.min(n.text.length,r+1)}:{start:r,end:i},o=In(a.start,a.end,n.references);if(!o)return null;let s=n.references.filter(e=>e.start<o.end&&e.end>o.start);return{document:R({text:`${n.text.slice(0,o.start)}${n.text.slice(o.end)}`,references:n.references.filter(e=>!s.includes(e)).map(e=>e.start>=o.end?{...e,start:e.start-(o.end-o.start),end:e.end-(o.end-o.start)}:e)}),caret:o.start,edit:{oldStart:o.start,oldEnd:o.end,newEnd:o.start},removedIds:s.map(e=>e.id),removedReferences:s}},zn=(e,t)=>{let n=t,r=t;for(;n>0&&/\s/.test(e[n-1]);)--n;for(;r<e.length&&/\s/.test(e[r]);)r+=1;let i=n>0&&r<e.length?` `:``;return{text:`${e.slice(0,n)}${i}${e.slice(r)}`,caret:n+i.length}},Bn=(e,t=`queue-canonical`)=>{let n=L(e.text,e.references);if(n.budgetExceeded)return{ok:!1,reason:`reference-budget-exceeded`};if(n.payloadBudgetExceeded)return{ok:!1,reason:`reference-payload-budget-exceeded`};if(n.rejectedCount>0)return{ok:!1,reason:`invalid-references`};let r=On(n.document,t);return r.ok?{ok:!0,text:r.text,chunks:r.plan.chunks,semantics:r.plan.semantics}:r},Vn=(e,t)=>e.match.index-t.match.index||e.adapterOrder-t.adapterOrder||e.matchOrder-t.matchOrder,Hn=e=>{if(e.length>N.canonicalOutputLength||e.length>N.visibleTextLength)return null;let t=[],n=0;for(let[r,i]of Cn().entries()){i.matcher.lastIndex=0;let a,o=0;for(;(a=i.matcher.exec(e))!==null;){if(n+=1,n>N.referenceCount)return null;let e={codec:i,match:a,adapterOrder:r,matchOrder:o};o+=1;let s=t.findIndex(t=>Vn(e,t)<0);s===-1?t.push(e):t.splice(s,0,e)}}return t},Un=(e,t)=>{let n=L(e.text,e.references).document,r=Hn(n.text);if(r===null)return n;let i={text:n.text,sessionTitles:t},a=[],o=``,s=0,c=0,l=new Set(n.references.map(e=>e.id)),u=[];for(let e of r){let{match:t,codec:r}=e,a=t.index,o=a+t[0].length;if(a<c||n.references.some(e=>e.start<o&&e.end>a))continue;let s=r.resolveDisplay(t,i);if(s===null||s.length>N.displayLength)continue;let d=r.materialize(t,s,a),f=d.id;for(;l.has(f);)f=`materialized:${f}`;l.add(f),u.push({start:a,end:o,display:s,reference:{...d,id:f}}),c=o}s=0;let d=0;for(let e of u){o+=`${n.text.slice(s,e.start)}${e.display}`;let t=e.start+d;a.push({...e.reference,start:t,end:t+e.display.length}),d+=e.display.length-(e.end-e.start),s=e.end}if(o+=n.text.slice(s),o.length>N.visibleTextLength)return n;let f=n.references.map(e=>{let t=u.filter(t=>t.end<=e.start).reduce((e,t)=>e+t.display.length-(t.end-t.start),0);return{...e,start:e.start+t,end:e.end+t}});return L(o,[...f,...a]).document},Wn=(e,t)=>Un({text:e,references:[]},t),Gn=(e,t,n=`
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{D as t,M as n,_ as r,c as i,f as a,h as o,i as s,n as c,o as l,r as u,t as d}from"./runtime-switch-BkpTTbEi.js";import{V as f,h as p}from"./desktop-CfLlmafK.js";import{a as m,i as h,r as ee}from"./vendor-zustand-B4dlGEM2.js";import{rt as te}from"./vendor-base-ui-CnHfUmDN.js";import{S as ne,b as g,f as re,i as ie,p as ae,r as oe,t as _,y as se}from"./useUIStore-CNLmCoPU.js";import{i as ce}from"./vendor-pathe-vBmvQE8f.js";import{n as le}from"./vendor-react-DLPElpoQ.js";import{t as ue}from"./vendor-tanstack-query-core-BWz0ose6.js";var v=e=>e.startsWith(`/api/`)||e===`/api`||e.startsWith(`/auth/`)||e===`/auth`||e===`/health`,de=()=>typeof window>`u`?``:window.location.origin||``,fe=e=>{if(typeof window>`u`)return!1;let t=de();if(t&&e.origin===t)return!0;try{let n=new URL(window.location.href||t);return e.protocol===n.protocol&&e.host===n.host}catch{return!1}},pe=e=>/^[a-z][a-z\d+.-]*:\/\//i.test(e),me=(e,t)=>{if(!t)return;let n=t instanceof URLSearchParams?Array.from(t.entries()):Object.entries(t);for(let[t,r]of n)r!=null&&e.searchParams.set(t,String(r))},he=e=>{try{let t=a().api(`/api`);if(!/^[a-z][a-z\d+.-]*:\/\//i.test(t))return!1;let n=new URL(t);return e.origin===n.origin&&v(e.pathname)}catch{return!1}},ge=e=>{if(v(e))return!0;if(!/^[a-z][a-z\d+.-]*:\/\//i.test(e))return!1;try{let t=new URL(e);return fe(t)&&v(t.pathname)}catch{return!1}},_e=(e,t)=>{try{let n=new URL(e);if(!fe(n))return e;let r=y(`${n.pathname}${n.search}`,t);return!pe(r)&&(n.protocol===`http:`||n.protocol===`https:`)?(me(n,t),n.toString()):n.hash?`${r}${n.hash}`:r}catch{return e}},y=(e,t)=>e===`/health`?a().health(t):e.startsWith(`/auth/`)||e===`/auth`?a().auth(e,t):v(e)?a().api(e,t):/^[a-z][a-z\d+.-]*:\/\//i.test(e)?_e(e,t):e,ve=e=>{let t=e instanceof Request?e.url:e.toString();if(!pe(t))return v(t);try{return he(new URL(t))}catch{return!1}},ye=/^\/api\/session\/(?!status$)([^/]+)(?:\/(?:message|children|todo|diff))?$/,be=/^\/api\/openchamber\/sessions\/([^/]+)\/messages\/?$/,xe=null,Se=e=>{xe=e},Ce=e=>{try{return decodeURIComponent(e)}catch{return e}},we=e=>xe?e===xe||Ce(e)===xe:!1,Te=new Set([`/health`,`/api/opencode/health`,`/api/opencode/upgrade-status`,`/api/global/config`,`/api/project`,`/api/project/current`,`/api/config`,`/api/config/providers`,`/api/config/settings`,`/api/config/themes`,`/api/experimental/session`,`/api/session/status`,`/api/session-folders`,`/api/github/pr/status`,`/api/openchamber/session-index`]),Ee=[`/api/agent`,`/api/command`,`/api/mcp`,`/api/lsp`,`/api/vcs`,`/api/question`,`/api/permission`,`/api/git/check`,`/api/git/primary-root`,`/api/git/discover`,`/api/git/status`,`/api/git/worktrees`,`/api/quota`],De=e=>Te.has(e)||Ee.some(t=>e===t||e.startsWith(`${t}/`)),Oe=e=>{if(!pe(e))return v(e);try{return he(new URL(e))}catch{return!1}},ke=e=>{try{return new URL(e,`http://openchamber.local`).pathname}catch{return null}},Ae=(e,t)=>{if(e.toUpperCase()!==`GET`||!Oe(t))return;let n=ke(t);if(!n)return;let r=n.match(ye);if(r?.[1]&&we(r[1]))return`high`;let i=n.match(be);if(i?.[1]&&we(i[1]))return`high`;if(De(n))return`low`},je=e=>{for(let t=0;t<e.length;t+=1)if(e.charCodeAt(t)>255)return!1;return!0},Me=(e,t)=>!je(t),Ne=e=>{if(!e)return;let t=e instanceof Headers?Array.from(e.entries()):Array.isArray(e)?e:Object.entries(e);if(t.length===0)return;let n=[],r=!1,i=!1;for(let[e,a]of t)Me(e,a)?(n.push([e,encodeURIComponent(a)]),r=!0,e.toLowerCase()===`x-opencode-directory`&&(i=!0)):n.push([e,a]);return i&&n.push([`x-opencode-directory-encoding`,`uri`]),r?n:void 0},b=async(e,t,n=!0)=>{let r=new Headers(Ne(e)??e);return t&&new Headers(Ne(t)??t).forEach((e,t)=>r.set(t,e)),n?o(r):r},Pe=(e,t)=>{if(!t)return e;let r=new URL(e,n);return me(r,t),`${r.pathname}${r.search}`},Fe=(e,t)=>{let n=e instanceof Request?e.url:e.toString();if(!pe(n))return v(n)?Pe(n,t):null;try{let e=new URL(n);return!fe(e)||!v(e.pathname)?null:(me(e,t),`${e.pathname}${e.search}`)}catch{return null}},Ie=async(e,n,r)=>{let i=t();if(!i)return null;let a=Fe(e,r);if(a===null)return null;let o=await b(e instanceof Request?e.headers:void 0,n.headers,!0);return e instanceof Request?i.fetch(e,{...n,headers:o}):i.fetch(a,{...n,headers:o})},Le=(e,t)=>{if(typeof e==`string`)return y(e,t);if(e instanceof URL)return y(e.toString(),t);let n=y(e.url,t);return n===e.url?e:new Request(n,e)},Re=/\/api\/(config|path|app\/agents|agent|project|command|opencode\/upgrade-status)(\b|\/|\?|$)/,ze=new Map,Be=new WeakMap,Ve=1,He=e=>{let t=Be.get(e);if(t)return t;let n=Ve;return Ve+=1,Be.set(e,n),n},Ue=(e,t,n,r,i,a)=>n||!i||e!==`GET`||t.includes(`/event`)||!Re.test(t)?null:`GET ${a?`relay:${He(a)}`:`url:${t}`} ${t} auth:${r}`,We=async(e,n={})=>{let{query:i,...a}=n,o=t(),s=o?Fe(e,i):null,c=r(),l,u,d;if(o&&s!==null){let t=await b(e instanceof Request?e.headers:void 0,a.headers,!0);l=e instanceof Request?()=>o.fetch(e,{...a,headers:t}):()=>o.fetch(s,{...a,headers:t}),u=s,d=String(a.method??(e instanceof Request?e.method:`GET`)).toUpperCase()}else{let t=Le(e,i),n=await b(t instanceof Request?t.headers:void 0,a.headers,ve(t));u=t instanceof Request?t.url:t instanceof URL?t.toString():String(t),d=String(a.method??(t instanceof Request?t.method:`GET`)).toUpperCase();let r=a.priority??Ae(d,u),o=r?{...a,priority:r}:a;l=t instanceof Request?()=>fetch(new Request(t,{...o,headers:n})):()=>fetch(t,{...o,headers:n})}let f=a.signal!=null||e instanceof Request,p=Ue(d,u,f,c,c===r(),o&&s!==null?o:null);if(!p)return l();let m=ze.get(p);if(m)return m.then(e=>e.clone());let h=l();return ze.set(p,h),h.then(()=>ze.delete(p),()=>ze.delete(p)),h.then(e=>e.clone())},Ge=!1,Ke=()=>{if(Ge||typeof window>`u`)return;Ge=!0;let e=window.fetch.bind(window);window.fetch=async(t,n)=>{let r=await Ie(t,n??{});if(r)return r;if(typeof t==`string`){if(!ge(t)){try{if(he(new URL(t))){let r=await b(void 0,n?.headers);return e(t,{...n,headers:r})}}catch{}return e(t,n)}let r=await b(void 0,n?.headers);return e(y(t),{...n,headers:r})}if(t instanceof URL){let r=t.toString();if(!ge(r)){if(he(t)){let r=await b(void 0,n?.headers);return e(t,{...n,headers:r})}return e(t,n)}let i=await b(void 0,n?.headers);return e(y(r),{...n,headers:i})}if(t instanceof Request){if(!ge(t.url)){try{if(he(new URL(t.url))){let r=await b(t.headers,n?.headers);return e(new Request(t,{...n,headers:r}))}}catch{}return e(t,n)}let r=await b(t.headers,n?.headers),i=y(t.url),a=i===t.url?t:new Request(i,t),o=await e(new Request(a,{...n,headers:r}));if(o.status>=500){let e=i;try{e=new URL(i).pathname}catch{}console.error(`[runtime-fetch] server request failed`,{method:a.method,path:e,status:o.status,statusText:o.statusText},Error(`runtime fetch received HTTP ${o.status}`))}return o}return e(t,n)}},qe=`oc.inst.`,Je=e=>{try{return btoa(unescape(encodeURIComponent(e))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}catch{return encodeURIComponent(e)}},Ye=e=>{let t=(e??u()).trim();return t.length>0?t:`default`},Xe=()=>{if(typeof window>`u`)return``;let e=window.__OPENCHAMBER_LOCAL_ORIGIN__;return typeof e==`string`?e.trim().replace(/\/+$/,``):``},x=(e,t=u())=>`${qe}${Je(Ye(t))}.${e}`,Ze=(e=u())=>Ye(e).startsWith(`relay:`),Qe=(e=u())=>{let t=Ye(e);if(t==="default"||t===`local`)return!0;if(Ze(t)||!t.startsWith(`url:`))return!1;let n=Xe();if(!n)return!1;try{return new URL(t.slice(4)).origin===new URL(n).origin}catch{return!1}},$e=(e=u())=>!Ze(e),et=(e,t=d())=>{let n=t.trim().replace(/\/+$/,``);return n?`${e}:${encodeURIComponent(n)}`:null},tt=(e,t)=>{let n=t?.storage??(typeof localStorage<`u`?localStorage:{getItem:()=>null}),r=t?.runtimeKey??u(),i=n.getItem(x(e,r));if(i!==null)return i;if($e(r)){let t=et(e),r=t?n.getItem(t):null;if(r!==null)return r}return Qe(r)?n.getItem(e):null},S=(e,t,n)=>{let r=n?.storage??(typeof localStorage<`u`?localStorage:{setItem:()=>void 0}),i=n?.runtimeKey??u();r.setItem(x(e,i),t)},nt=e=>({getItem:t=>tt(t,{storage:e}),setItem:(t,n)=>{S(t,n,{storage:e})},removeItem:t=>{C(t,{storage:e})}}),C=(e,t)=>{let n=t?.storage??(typeof localStorage<`u`?localStorage:{removeItem:()=>void 0}),r=t?.runtimeKey??u();n.removeItem(x(e,r))},rt=e=>{let t;try{t=ne()}catch{return}let n=t=>t===null?null:JSON.parse(t,e?.reviver),r=e=>t.getItem(e);return{getItem:e=>{let t=u(),i=x(e,t),a=r(i);if(a instanceof Promise)return a.then(i=>{if(i!==null)return n(i);if(!Qe(t))return null;let a=r(e);return a instanceof Promise?a.then(n):n(a)});if(a!==null)return n(a);if(!Qe(t))return null;let o=r(e);return o instanceof Promise?o.then(n):n(o)},setItem:(n,r)=>{let i=x(n,u());t.setItem(i,JSON.stringify(r,e?.replacer))},removeItem:e=>{let n=x(e,u());t.removeItem(n)}}},it=(e=at)=>{let t=new Map,n=0;return{countUnicodeCodePoints:r=>{let i=t.get(r);if(i!==void 0)return t.delete(r),t.set(r,i),i;let a=e(r);if(r.length>4e5)return a;for(;n+r.length>4e5&&t.size>0;){let e=t.keys().next().value;n-=e.length,t.delete(e)}return t.set(r,a),n+=r.length,a}}},at=e=>{let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319&&n+1<e.length){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n+=1)}t+=1}return t},ot=it(),st=e=>ot.countUnicodeCodePoints(e),w=(e,t)=>{if(!e)throw Error(`${t} must be non-empty`);return e},ct=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`session`,ownerID:w(t,`sessionID`)}}),lt=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`draft`,ownerID:w(t,`draftID`)}}),ut=e=>{let t=typeof e.projectId==`string`?e.projectId.trim():``;if(t)return`new-session:project:${t}`;let n=typeof e.directory==`string`?e.directory.trim():``;return n?`new-session:directory:${n}`:`new-session:default`},dt=({transportIdentity:e},t)=>({transportIdentity:w(e,`transportIdentity`),owner:{kind:`surface`,ownerID:w(t,`surfaceID`)}}),ft=8192,pt=e=>{if(typeof e!=`string`||e.length===0||e.length>ft)return!1;try{let t=new URL(e).protocol;return t===`http:`||t===`https:`||t===`file:`}catch{return!1}},mt=e=>JSON.stringify([e.transportIdentity,e.owner.kind,e.owner.ownerID]),ht=e=>JSON.stringify([e.transportIdentity,e.owner.kind,e.owner.ownerID,e.attachmentOccurrenceRefID]),gt=e=>JSON.stringify([`root`,e]),_t=(e,t)=>JSON.stringify([`part`,e,t]),vt={mentionCount:1e3,valueLength:8192,pathLength:8192,labelLength:512},T={referenceCount:1e3,idLength:512,displayLength:514,sessionIDLength:128,skillNameLength:511,commandNameLength:511,commandReferenceLength:8192,pastePayloadLength:1e5,totalPastePayloadLength:2e5},E=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},D=(e,t)=>Object.keys(e).every(e=>t.includes(e)),O=e=>typeof e==`string`&&e.length>0,yt=e=>typeof e==`string`,k=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0,A=(e,t)=>typeof e==`string`&&e.length>0&&e.length<=t,bt=(e,t)=>{if(t<=0||t>=e.length)return!0;let n=e.charCodeAt(t-1),r=e.charCodeAt(t);return!(n>=55296&&n<=56319&&r>=56320&&r<=57343)},xt=(e,t)=>{if(!Array.isArray(t)||t.length>vt.mentionCount)return;let n=[],r=new Set,i=0;for(let a of t){if(!E(a)||!D(a,[`kind`,`value`,`path`,`label`,`range`])||a.kind!==`file`&&a.kind!==`directory`&&a.kind!==`agent`||!A(a.value,vt.valueLength)||!A(a.path,vt.pathLength)||!A(a.label,vt.labelLength)||!E(a.range)||!D(a.range,[`start`,`end`])||!k(a.range.start)||!k(a.range.end)||a.range.end<=a.range.start||a.range.end>e.length||a.range.start<i||!bt(e,a.range.start)||!bt(e,a.range.end)||e.slice(a.range.start,a.range.end)!==`@${a.value}`)return;let t=JSON.stringify([a.kind,a.value,a.path,a.label,a.range.start,a.range.end]);if(r.has(t))return;r.add(t),i=a.range.end,n.push({kind:a.kind,value:a.value,path:a.path,label:a.label,range:{start:a.range.start,end:a.range.end}})}return n},St=e=>A(e,T.sessionIDLength)&&/^[A-Za-z0-9_-]+$/.test(e),Ct=e=>A(e,T.skillNameLength)&&/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(e),wt=e=>A(e,T.commandNameLength)&&/^[\p{L}\p{N}._/-]+$/u.test(e),Tt=e=>A(e,T.commandReferenceLength)&&!/[\]\r\n]/u.test(e),Et=e=>{if(!(!E(e)||!A(e.id,T.idLength)||!A(e.display,T.displayLength)||!k(e.start)||!k(e.end)||e.end<=e.start)){if(e.kind===`session`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`sessionId`])&&St(e.sessionId))return{id:e.id,kind:`session`,start:e.start,end:e.end,display:e.display,sessionId:e.sessionId};if(e.kind===`paste`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`text`,`characterCount`,`index`])&&typeof e.text==`string`&&e.text.length<=T.pastePayloadLength&&k(e.characterCount)&&e.characterCount===st(e.text)&&k(e.index)&&e.index>=1)return{id:e.id,kind:`paste`,start:e.start,end:e.end,display:e.display,text:e.text,characterCount:e.characterCount,index:e.index};if(e.kind===`skill`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`skillName`])&&Ct(e.skillName)&&(e.display===`/${e.skillName}`||e.display===`/ ${e.skillName}`))return{id:e.id,kind:`skill`,start:e.start,end:e.end,display:e.display,skillName:e.skillName};if(e.kind===`command`&&D(e,[`id`,`kind`,`start`,`end`,`display`,`commandName`,`reference`])&&wt(e.commandName)&&Tt(e.reference)&&(e.display===`/${e.commandName}`||e.display===`/ ${e.commandName}`))return{id:e.id,kind:`command`,start:e.start,end:e.end,display:e.display,commandName:e.commandName,reference:e.reference}}},Dt=(e,t)=>{if(!Array.isArray(t)||t.length>T.referenceCount)return;let n=t.map(Et);if(!n.every(Boolean))return;let r=n,i=new Set,a=0,o=0;for(let t of r)if(i.has(t.id)||t.start<a||t.end>e.length||e.slice(t.start,t.end)!==t.display||(i.add(t.id),a=t.end,t.kind===`paste`&&(o+=t.text.length,o>T.totalPastePayloadLength)))return;return{text:e,references:r}},Ot=(e,t)=>{if(e===null||[`string`,`number`,`boolean`,`undefined`].includes(typeof e))return!0;if(typeof e!=`object`||e instanceof Blob||typeof File<`u`&&e instanceof File||!Array.isArray(e)&&!E(e)||t.has(e))return!1;t.add(e);let n=Object.values(e).every(e=>Ot(e,t));return t.delete(e),n},kt=e=>{if(!(!E(e)||!D(e,[`kind`,`ownerID`])||!O(e.ownerID))&&(e.kind===`session`||e.kind===`draft`||e.kind===`surface`))return{kind:e.kind,ownerID:e.ownerID}},At=e=>{if(!E(e)||!D(e,[`transportIdentity`,`owner`])||!O(e.transportIdentity))return;let t=kt(e.owner);return t?{transportIdentity:e.transportIdentity,owner:t}:void 0},jt=e=>{if(!(!E(e)||!O(e.kind))){if(e.kind===`blob`&&D(e,[`kind`,`blobID`])&&O(e.blobID))return{kind:`blob`,blobID:e.blobID};if(!(e.kind!==`url`||!D(e,[`kind`,`url`])||!pt(e.url)))return{kind:`url`,url:e.url}}},Mt=(e,t,n)=>{try{let r=JSON.parse(e);return Array.isArray(r)?n===void 0?r.length===2&&r[0]===`root`&&r[1]===t:r.length===3&&r[0]===`part`&&r[1]===n&&r[2]===t:!1}catch{return!1}},Nt=(e,t)=>{if(!E(e)||!D(e,[`attachmentID`,`attachmentRefID`,`filename`,`mimeType`,`size`,`locator`,`source`,`serverPath`,`vscodePath`,`vscodeSource`])||!O(e.attachmentID)||!O(e.attachmentRefID)||!Mt(e.attachmentRefID,e.attachmentID,t)||!O(e.filename)||!yt(e.mimeType)||!k(e.size)||e.source!==`local`&&e.source!==`vscode`&&e.source!==`server`||e.serverPath!==void 0&&!O(e.serverPath)||e.vscodePath!==void 0&&!O(e.vscodePath)||e.vscodeSource!==void 0&&e.vscodeSource!==`file`&&e.vscodeSource!==`selection`||e.source===`server`&&!O(e.serverPath)||e.source===`vscode`&&(!O(e.vscodePath)||e.vscodeSource!==`file`&&e.vscodeSource!==`selection`))return;let n=jt(e.locator);if(n)return{attachmentID:e.attachmentID,attachmentRefID:e.attachmentRefID,filename:e.filename,mimeType:e.mimeType,size:e.size,locator:n,source:e.source,...e.serverPath===void 0?{}:{serverPath:e.serverPath},...e.vscodePath===void 0?{}:{vscodePath:e.vscodePath},...e.vscodeSource===void 0?{}:{vscodeSource:e.vscodeSource}}},Pt=e=>{if(!Ot(e,new Set)||!E(e)||!D(e,[`version`,`key`,`revision`,`text`,`attachments`,`syntheticParts`,`mentions`,`composerReferences`])||e.version!==1||!k(e.revision)||e.revision<1||typeof e.text!=`string`||!Array.isArray(e.attachments)||!Array.isArray(e.syntheticParts)||!Array.isArray(e.mentions))return;let t=e.text,n=At(e.key),r=e.attachments.map(e=>Nt(e)),i=e.syntheticParts.map(e=>{if(!E(e)||!D(e,[`partID`,`text`,`attachments`,`synthetic`])||!O(e.partID)||typeof e.text!=`string`||!Array.isArray(e.attachments)||e.synthetic!==void 0&&typeof e.synthetic!=`boolean`)return;let t=e.partID,n=e.text,r=e.attachments.map(e=>Nt(e,t));return r.every(Boolean)?{partID:t,text:n,attachments:r,...e.synthetic===void 0?{}:{synthetic:e.synthetic}}:void 0}),a=xt(t,e.mentions),o=e.composerReferences===void 0?{text:t,references:[]}:Dt(t,e.composerReferences);if(!n||!r.every(Boolean)||!i.every(Boolean)||!a||!o)return;let s=r,c=i,l=new Set;for(let e of[...s,...c.flatMap(e=>e.attachments)]){if(l.has(e.attachmentRefID))return;l.add(e.attachmentRefID)}if(new Set(c.map(e=>e.partID)).size===c.length)return{version:1,key:n,revision:e.revision,text:t,attachments:s,syntheticParts:c,mentions:a,...e.composerReferences===void 0?{}:{composerReferences:o.references}}},Ft=e=>Pt(e),j=` `,It=`0.2em`,Lt=`size-[1em]`,Rt=e=>e.startsWith(j)?e.slice(j.length):e,zt=e=>e.replaceAll(`/${j}`,`/`).replaceAll(`@${j}`,`@`).replaceAll(`[${j}`,`[`),Bt=e=>{let t=e.match(/^\s*/)?.[0].length??0,n=e.slice(t);if(!n.startsWith(`/`))return null;let r=1;n.startsWith(j,r)&&(r+=j.length);let i=n.slice(r);if(!i)return null;let a=i.search(/\s/u),o=a===-1?i:i.slice(0,a);return o?{commandName:o,argumentsText:a===-1?``:i.slice(a).trim()}:null},Vt=e=>M({trigger:`[`,icon:`file-image`,label:e,suffix:`]`}),Ht=({trigger:e,label:t,suffix:n=``})=>`${e}${t}${n}`,M=e=>`${e.trigger}${j}${e.label}${e.suffix??``}`,Ut=e=>Ht(e),Wt=(e,t)=>e===Ut(t)||e===M(t),Gt=(e,t)=>{let n=t===M(e);return{trigger:n?`${e.trigger}${j}`:e.trigger,icon:e.icon,align:e.align??`end`,label:e.label,suffix:e.suffix,slot:n?`reserved`:`compact`}},Kt=(e,t,n=``)=>{let r=e.startsWith(t)?e.slice(t.length):e,i=r.startsWith(j)?r.slice(j.length):r;return n&&i.endsWith(n)?i.slice(0,-n.length):i},qt=(e,t)=>e===t||!!e&&!!t&&e.trigger===t.trigger&&e.icon===t.icon&&e.align===t.align&&e.label===t.label&&e.suffix===t.suffix&&e.slot===t.slot,Jt=0n,Yt=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,Xt=14;function Zt(e){let t=``;for(let n=0;n<e;n++)t+=Yt[Math.floor(Math.random()*62)];return t}var Qt=/^[0-9a-f]{12}$/,$t=/^[0-9A-Za-z]{14}$/,en=(1n<<48n)-1n,tn=(e,t)=>{if(typeof t!=`string`||!t.startsWith(`${e}_`))return;let n=t.slice(e.length+1),r=n.slice(0,12);if(!(!Qt.test(r)||!$t.test(n.slice(12))))return BigInt(`0x${r}`)},nn=(e,t)=>{let n=BigInt(Date.now())*4096n&en,r=tn(e,t)??0n,i=[n,Jt,r].reduce((e,t)=>e>t?e:t);if(i>=en)throw Error(`Ascending ID space exhausted`);let a=i+1n;Jt=a;let o=new Uint8Array(6);for(let e=0;e<6;e++)o[e]=Number(a>>BigInt(40-8*e)&BigInt(255));let s=``;for(let e=0;e<o.length;e++)s+=o[e].toString(16).padStart(2,`0`);return`${e}_${s}${Zt(Xt)}`},rn=e=>nn(e),an=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/g,``).trim();if(!t)return``;let n=new TextEncoder().encode(t),r=``;for(let e of n)r+=String.fromCharCode(e);return`path_${typeof btoa==`function`?btoa(r).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``):t.replace(/[^A-Za-z0-9._-]+/g,`_`)}`},on=()=>globalThis.crypto===void 0?null:{randomUUID:typeof globalThis.crypto.randomUUID==`function`?()=>globalThis.crypto.randomUUID():void 0,getRandomValues:typeof globalThis.crypto.getRandomValues==`function`?e=>globalThis.crypto.getRandomValues(e):void 0},sn=(e=on())=>{try{let t=e?.randomUUID?.();if(t)return t}catch{}let t=new Uint8Array(16),n=!1;try{e?.getRandomValues&&(e.getRandomValues(t),n=!0)}catch{}if(!n)for(let e=0;e<t.length;e+=1)t[e]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let r=Array.from(t,e=>e.toString(16).padStart(2,`0`));return`${r.slice(0,4).join(``)}-${r.slice(4,6).join(``)}-${r.slice(6,8).join(``)}-${r.slice(8,10).join(``)}-${r.slice(10).join(``)}`},cn=e=>/^[\\/]+$/.test(e),ln=e=>{if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;if(cn(t))return t.length===1?`/`:null;let n=ce(t);return n===`/`?`/`:(n.length>1?n.replace(/\/+$/,``):n)||null},un=e=>{if(typeof e!=`string`)return``;let t=e.trim();return t?ln(t)??t:``},N={...T,sessionIdLength:T.sessionIDLength,visibleTextLength:1e5,canonicalOutputLength:2e5},dn=e=>typeof e==`string`&&St(e),fn=e=>e.replaceAll(`\\`,`/`).split(`/`).at(-1)?.replace(/\.md$/,``)??``,pn=e=>({trigger:`@`,icon:`chat-thread`,label:e}),P=(e,t)=>({trigger:`/`,icon:t,label:e}),mn={session:{kind:`session`,validatePayload:e=>dn(e.sessionId),contributeCanonical:e=>({text:`@session:${e.sessionId}`,semantic:{type:`session`,sessionId:e.sessionId}}),contributeDirectSend:e=>({text:Ut(pn(Kt(e.display,`@`))),semantic:{type:`session`,sessionId:e.sessionId}}),decorate:e=>({style:`mentionSession`,visual:Gt(pn(Kt(e.display,`@`)),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/@session:([A-Za-z0-9_-]+)/g,resolveDisplay:(e,t)=>{let n=e.index===0?``:t.text[e.index-1],r=t.text[e.index+e[0].length]??``;return(n===``||/[\s([{]/.test(n))&&(r===``||/[\s)\]},.!?;:]/.test(r))?M(pn(t.sessionTitles.get(e[1])||e[1])):null},materialize:(e,t,n)=>({id:`session:${e[1]}:${e.index}`,kind:`session`,sessionId:e[1],display:t,start:n,end:n+t.length})}},paste:{kind:`paste`,validatePayload:e=>typeof e.text==`string`&&e.text.length<=N.pastePayloadLength&&typeof e.characterCount==`number`&&Number.isSafeInteger(e.characterCount)&&e.characterCount===st(e.text)&&typeof e.index==`number`&&Number.isSafeInteger(e.index)&&e.index>=1,contributeCanonical:e=>({text:e.text}),contributeDirectSend:e=>({text:e.text}),decorate:()=>({style:`mentionPaste`}),payloadBudget:e=>({category:`opaque-text`,length:e.text.length})},skill:{kind:`skill`,validatePayload:e=>Ct(e.skillName)&&typeof e.display==`string`&&Wt(e.display,P(e.skillName,`book-open`)),contributeCanonical:e=>({text:`[skill:${e.skillName}]`}),contributeDirectSend:e=>({text:`[skill:${e.skillName}]`}),decorate:e=>({style:`mentionCommand`,skillName:e.skillName,visual:Gt(P(e.skillName,`book-open`),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/\[skill:([A-Za-z0-9][A-Za-z0-9_-]*)\]/g,resolveDisplay:e=>M(P(e[1],`book-open`)),materialize:(e,t,n)=>({id:`skill:${n}`,kind:`skill`,skillName:e[1],display:t,start:n,end:n+t.length})}},command:{kind:`command`,validatePayload:e=>wt(e.commandName)&&Tt(e.reference)&&typeof e.display==`string`&&Wt(e.display,P(e.commandName,`command`)),contributeCanonical:e=>({text:`[command:${e.reference}]`}),contributeDirectSend:e=>({text:`[command:${e.reference}]`}),decorate:e=>({style:`mentionCommand`,visual:Gt(P(e.commandName,`command`),e.display)}),payloadBudget:()=>void 0,canonical:{matcher:/\[command:([^\]\r\n]+)\]/g,resolveDisplay:e=>{let t=fn(e[1]);return Tt(e[1])&&wt(t)?M(P(t,`command`)):null},materialize:(e,t,n)=>({id:`command:${n}`,kind:`command`,commandName:fn(e[1]),reference:e[1],display:t,start:n,end:n+t.length})}}},F=e=>mn[e],hn=(e,t)=>F(e).validatePayload(t),gn=e=>F(e.kind).contributeCanonical(e),_n=e=>F(e.kind).contributeDirectSend(e),vn=e=>F(e.kind).decorate(e),yn=e=>F(e.kind).payloadBudget(e),bn=e=>F(e.kind).describeResourceIdentity?.(e),xn=Object.keys(mn),Sn=e=>typeof e==`string`&&xn.includes(e),Cn=()=>xn.flatMap(e=>{let t=F(e).canonical;return t?[t]:[]}),wn=e=>{if(e.type===`attachment`)return`attachment:${e.attachmentRefID}`},Tn=e=>{let t=new Map;for(let n of e.references){let e=bn(n);e&&t.set(wn(e),e)}return[...t.values()]},En=(e,t)=>{let n=new Map(e.map(e=>[wn(e),e])),r=new Map(t.map(e=>[wn(e),e]));return{previous:[...n.values()],next:[...r.values()],added:[...r].flatMap(([e,t])=>n.has(e)?[]:[t]),removed:[...n].flatMap(([e,t])=>r.has(e)?[]:[t])}},Dn=(e,t)=>En(Tn(e),Tn(t)),On=(e,t=`queue-canonical`)=>{if(e.references.length>N.referenceCount)return{ok:!1,reason:`reference-budget-exceeded`};let n=[...e.references].sort((e,t)=>e.start-t.start),r=0,i=0;for(let t of n){if(t.start<r||t.start<0||t.end<=t.start||t.end>e.text.length||e.text.slice(t.start,t.end)!==t.display)return{ok:!1,reason:`invalid-references`};r=t.end;let n=yn(t);i+=n?.category===`opaque-text`?n.length:0}if(i>N.totalPastePayloadLength)return{ok:!1,reason:`reference-payload-budget-exceeded`};let a=[],o=[],s=0;for(let r of n){s<r.start&&a.push({provenance:`authored`,text:e.text.slice(s,r.start),start:s,end:r.start});let n=t===`direct-send-display`?_n(r):gn(r);n.semantic?(a.push({provenance:`generated-reference`,text:n.text,start:r.start,end:r.end,referenceId:r.id,semantic:n.semantic}),o.push(n.semantic)):a.push({provenance:`reference-payload`,text:n.text,start:r.start,end:r.end,referenceId:r.id}),s=r.end}s<e.text.length&&a.push({provenance:`authored`,text:e.text.slice(s),start:s,end:e.text.length});let c=a.map(e=>e.text).join(``);return c.length>N.canonicalOutputLength?{ok:!1,reason:`canonical-output-too-large`}:{ok:!0,plan:{chunks:a,semantics:o},text:c}},I=(e,t)=>Math.max(0,Math.min(e,t)),kn=(e,t)=>typeof e==`string`&&e.length>0&&e.length<=t,An=e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!kn(t.id,N.displayLength)||!kn(t.display,N.displayLength)||!Number.isSafeInteger(t.start)||!Number.isSafeInteger(t.end)||typeof t.kind!=`string`?!1:Sn(t.kind)&&hn(t.kind,t)},L=(e,t)=>{let n=[],r=0,i=[],a=Math.min(t.length,N.referenceCount);for(let e=0;e<a;e+=1){let a=t[e];if(!An(a)){typeof a==`object`&&a&&typeof a.id==`string`&&n.push(a.id),r+=1;continue}i.push({reference:a,index:e})}i.sort((e,t)=>e.reference.start-t.reference.start||e.index-t.index);let o=[],s=new Set,c=0,l=0,u=!1;for(let{reference:t}of i){if(s.has(t.id)||t.start<c||t.start<0||t.end<=t.start||t.end>e.length||e.slice(t.start,t.end)!==t.display){n.push(t.id),r+=1;continue}s.add(t.id),c=t.end;let i=yn(t);if(l+=i?.category===`opaque-text`?i.length:0,l>T.totalPastePayloadLength){n.push(t.id),r+=1,s.delete(t.id),c=o.at(-1)?.end??0,u=!0,l-=i?.category===`opaque-text`?i.length:0;continue}o.push(t)}return r+=t.length-a,{document:{text:e,references:o},rejectedIds:n,rejectedCount:r,budgetExceeded:t.length>N.referenceCount,payloadBudgetExceeded:u}},R=e=>{let t=[...e.references].sort((e,t)=>e.start-t.start||e.end-t.end),n=[],r=new Set,i=0,a=0;for(let o of t){if(!kn(o.id,N.idLength)||!kn(o.display,N.displayLength)||!Sn(o.kind)||!Number.isSafeInteger(o.start)||!Number.isSafeInteger(o.end)||r.has(o.id)||o.start<i||o.start<0||o.end<=o.start||o.end>e.text.length||e.text.slice(o.start,o.end)!==o.display)continue;let t=yn(o),s=t?.category===`opaque-text`?t.length:0;a+s>T.totalPastePayloadLength||(r.add(o.id),i=o.end,a+=s,n.push(o))}return{text:e.text,references:n}},jn=(e,t)=>{if(t.length>T.pastePayloadLength)return!1;let n=L(e.text,e.references);return n.budgetExceeded||n.payloadBudgetExceeded?!1:n.document.references.reduce((e,t)=>{let n=yn(t);return e+(n?.category===`opaque-text`?n.length:0)},0)+t.length<=T.totalPastePayloadLength},Mn=(e,t,n)=>{let r=e.filter(e=>t===n?t>e.start&&t<e.end:e.start<n&&e.end>t);return r.length===0?{start:t,end:n}:{start:Math.min(t,...r.map(e=>e.start)),end:Math.max(n,...r.map(e=>e.end))}};function Nn(e,t,n,r,i={}){let a=R(e);if(!hn(r.kind,r))return{document:a,caret:I(n,a.text.length),edit:{oldStart:t,oldEnd:n,newEnd:n}};let o=I(t,a.text.length),s=Math.max(o,I(n,a.text.length)),c=Mn(a.references,o,s),l=a.text.slice(0,c.start),u=a.text.slice(c.end),d=!!i.padDocumentEdges&&i.padLeadingDocumentEdge!==!1,f=!!i.padDocumentEdges,p=i.inlineBoundaries&&(l.length>0||d)&&!/\s$/.test(l)?` `:``,m=i.inlineBoundaries&&(u.length>0||f)&&!/^\s/.test(u)?` `:``,h=`${l}${p}${r.display}${m}${u}`,ee={...r,start:c.start+p.length,end:c.start+p.length+r.display.length},te=p.length+r.display.length+m.length-(c.end-c.start);return{document:R({text:h,references:[...a.references.filter(e=>e.end<=c.start||e.start>=c.end).map(e=>e.start>=c.end?{...e,start:e.start+te,end:e.end+te}:e),ee]}),caret:ee.end,edit:{oldStart:c.start,oldEnd:c.end,newEnd:c.start+p.length+r.display.length+m.length}}}var Pn=(e,t)=>e<=t.oldStart?e:e>=t.oldEnd?e+t.newEnd-t.oldEnd:t.newEnd,Fn=(e,t,n=t.length,r=n)=>{let i=R(e),a=0,o=Math.min(i.text.length,t.length);for(;a<o&&i.text[a]===t[a];)a+=1;let s=0;for(;s<i.text.length-a&&s<t.length-a&&i.text[i.text.length-s-1]===t[t.length-s-1];)s+=1;let c={oldStart:a,oldEnd:i.text.length-s,newEnd:t.length-s},l=Mn(i.references,c.oldStart,c.oldEnd),u=l.start!==c.oldStart||l.end!==c.oldEnd,d=i.references.filter(e=>e.start<l.end&&e.end>l.start),f=t.slice(c.oldStart,c.newEnd),p=`${i.text.slice(0,l.start)}${f}${i.text.slice(l.end)}`,m={oldStart:l.start,oldEnd:l.end,newEnd:l.start+f.length},h=m.newEnd-m.oldEnd,ee=i.references.filter(e=>e.end<=l.start||e.start>=l.end).map(e=>e.start>=l.end?{...e,start:e.start+h,end:e.end+h}:e),te=(e,n)=>{let r=I(e,t.length),i=c.newEnd+l.end-c.oldEnd;return I(r<=l.start?r:r<c.oldStart||r===c.oldStart&&n===`start`?l.start:r<c.newEnd||r===c.newEnd&&n===`start`?l.start+r-c.oldStart:r<=i?m.newEnd:m.newEnd+r-i,p.length)},ne=te(n,`start`),g=Math.max(ne,te(r,`end`)),re=R({text:p,references:ee});return{document:re,edit:m,requiresTextCorrection:u,selectionStart:ne,selectionEnd:g,caret:g,mapCaret:e=>I(Pn(e,m),re.text.length),removedReferences:d}},In=(e,t,n)=>{let r=Mn(n,e,t);return r.start===e&&r.end===t?null:r},Ln=(e,t,n)=>{let r=n,i=n;if(t===`Backspace`){for(;r>0&&/\s/.test(e[r-1]);)--r;for(;r>0&&!/\s/.test(e[r-1]);)--r}else{for(;i<e.length&&/\s/.test(e[i]);)i+=1;for(;i<e.length&&!/\s/.test(e[i]);)i+=1}return{start:r,end:i}},Rn=(e,t)=>{let n=R(e),r=I(t.selectionStart,n.text.length),i=Math.max(r,I(t.selectionEnd,n.text.length)),a=r===i?t.altKey?Ln(n.text,t.key,r):t.key===`Backspace`?{start:Math.max(0,r-1),end:r}:{start:r,end:Math.min(n.text.length,r+1)}:{start:r,end:i},o=In(a.start,a.end,n.references);if(!o)return null;let s=n.references.filter(e=>e.start<o.end&&e.end>o.start);return{document:R({text:`${n.text.slice(0,o.start)}${n.text.slice(o.end)}`,references:n.references.filter(e=>!s.includes(e)).map(e=>e.start>=o.end?{...e,start:e.start-(o.end-o.start),end:e.end-(o.end-o.start)}:e)}),caret:o.start,edit:{oldStart:o.start,oldEnd:o.end,newEnd:o.start},removedIds:s.map(e=>e.id),removedReferences:s}},zn=(e,t)=>{let n=t,r=t;for(;n>0&&/\s/.test(e[n-1]);)--n;for(;r<e.length&&/\s/.test(e[r]);)r+=1;let i=n>0&&r<e.length?` `:``;return{text:`${e.slice(0,n)}${i}${e.slice(r)}`,caret:n+i.length}},Bn=(e,t=`queue-canonical`)=>{let n=L(e.text,e.references);if(n.budgetExceeded)return{ok:!1,reason:`reference-budget-exceeded`};if(n.payloadBudgetExceeded)return{ok:!1,reason:`reference-payload-budget-exceeded`};if(n.rejectedCount>0)return{ok:!1,reason:`invalid-references`};let r=On(n.document,t);return r.ok?{ok:!0,text:r.text,chunks:r.plan.chunks,semantics:r.plan.semantics}:r},Vn=(e,t)=>e.match.index-t.match.index||e.adapterOrder-t.adapterOrder||e.matchOrder-t.matchOrder,Hn=e=>{if(e.length>N.canonicalOutputLength||e.length>N.visibleTextLength)return null;let t=[],n=0;for(let[r,i]of Cn().entries()){i.matcher.lastIndex=0;let a,o=0;for(;(a=i.matcher.exec(e))!==null;){if(n+=1,n>N.referenceCount)return null;let e={codec:i,match:a,adapterOrder:r,matchOrder:o};o+=1;let s=t.findIndex(t=>Vn(e,t)<0);s===-1?t.push(e):t.splice(s,0,e)}}return t},Un=(e,t)=>{let n=L(e.text,e.references).document,r=Hn(n.text);if(r===null)return n;let i={text:n.text,sessionTitles:t},a=[],o=``,s=0,c=0,l=new Set(n.references.map(e=>e.id)),u=[];for(let e of r){let{match:t,codec:r}=e,a=t.index,o=a+t[0].length;if(a<c||n.references.some(e=>e.start<o&&e.end>a))continue;let s=r.resolveDisplay(t,i);if(s===null||s.length>N.displayLength)continue;let d=r.materialize(t,s,a),f=d.id;for(;l.has(f);)f=`materialized:${f}`;l.add(f),u.push({start:a,end:o,display:s,reference:{...d,id:f}}),c=o}s=0;let d=0;for(let e of u){o+=`${n.text.slice(s,e.start)}${e.display}`;let t=e.start+d;a.push({...e.reference,start:t,end:t+e.display.length}),d+=e.display.length-(e.end-e.start),s=e.end}if(o+=n.text.slice(s),o.length>N.visibleTextLength)return n;let f=n.references.map(e=>{let t=u.filter(t=>t.end<=e.start).reduce((e,t)=>e+t.display.length-(t.end-t.start),0);return{...e,start:e.start+t,end:e.end+t}});return L(o,[...f,...a]).document},Wn=(e,t)=>Un({text:e,references:[]},t),Gn=(e,t,n=`
2
2
 
3
3
  `)=>{let r=L(e.text,e.references).document,i=L(t.text,t.references).document;if(r.text===i.text&&JSON.stringify(r.references)===JSON.stringify(i.references))return i;let a=new Set(r.references.map(e=>e.id)),o=e=>{let t=e;for(;a.has(t);)t=`recovered:${t}`;return a.add(t),t},s=r.text.length+n.length;return L(`${r.text}${n}${i.text}`,[...r.references,...i.references.map(e=>({...e,id:o(e.id),start:e.start+s,end:e.end+s}))]).document},Kn=e=>({state:`unbound-legacy`,sessionID:e}),z=e=>e.state===`bound`?`bound:${JSON.stringify([e.transportIdentity,un(e.directory),e.sessionID,e.deliveryTarget??{kind:`primary`}])}`:`unbound-legacy:${JSON.stringify([e.sessionID])}`,qn=(e,t)=>e.queuedMessages[z(t)]??Jn,Jn=[],Yn=3e4,Xn=`queue`,Zn=e=>e===`steer`||e===`queue`,Qn=(e,t)=>e===`immediate`?`steer`:Zn(e)?e:t===!1?`steer`:`queue`,$n=[],er=(e,t)=>e.pendingAdmissions[z(t)]??$n,tr=e=>`${e}-${sn()}`,nr=e=>typeof e==`object`&&!!e&&Object.getPrototypeOf(e)===Object.prototype,B=(e,t,n=[])=>{if(!nr(e)||!Object.keys(e).every(e=>e===`text`||e===`references`))return;let r=e;if(typeof r.text!=`string`)return;let i=Dt(r.text,r.references),a=i&&Bn(i,`queue-canonical`);if(!a||!a.ok||a.text!==t)return;let o=new Set(n.map(e=>e.id));return Tn(i).every(e=>o.has(e.attachmentRefID))?i:void 0},V=(e,t)=>{if(e===void 0)return[];if(!t)return;let n=xt(t.text,e);if(n)return n.some(e=>t.references.some(t=>e.range.start<t.end&&t.start<e.range.end))?void 0:n},rr=(e,t)=>{let n=nr(e)&&typeof e.content==`string`?e:t,r=B(n.composerDocument,n.content,Array.isArray(n.attachments)?n.attachments:[]),i=V(n.composerMentions,r);return{content:n.content,...r?{composerDocument:r}:{},...r&&i?.length?{composerMentions:i}:{},...Array.isArray(n.attachments)?{attachments:n.attachments}:{},...nr(n.sendConfig)?{sendConfig:n.sendConfig}:{}}},ir=e=>rr(void 0,e),ar=(e,t)=>e.queueItemID===t.queueItemID&&e.operationID===t.operationID&&(!t.messageID||e.messageID===t.messageID),H=e=>e.status===`sending`||e.status===`reconciling`,or=se(),sr=()=>or?.flush()??!0,cr=`quiescing`,lr=new Set,ur=new Set,dr=e=>{if(cr!==e){cr=e;for(let e of ur)e()}},fr=e=>{if(!(!e||lr.has(e))){lr.add(e);for(let e of ur)e()}},pr=e=>e.state===`bound`&&lr.has(e.transportIdentity),U=e=>cr===`open`&&(!e||!pr(e)),mr=(e,t=Date.now())=>({reconciliationStartedAt:e.reconciliationStartedAt??t,reconciliationDeadlineAt:e.reconciliationDeadlineAt??(e.reconciliationStartedAt??t)+Yn,reconciliationChecks:Math.max(0,Math.floor(e.reconciliationChecks??0))}),hr=(e,t,n)=>{let r=t.queueItemID??(t.id||tr(`queued`)),i=!t.owner&&(t.status===`sending`||t.status===`reconciling`),a=i?`unresolved`:t.status===`sending`?`reconciling`:t.status===`retrying`||t.status===`reconciling`||t.status===`unresolved`||t.status===`failed`?t.status:`queued`,o=typeof t.messageID==`string`&&t.messageID.startsWith(`msg_`)?t.messageID:rn(`msg`),s=B(t.composerDocument,t.content,t.attachments),c=V(t.composerMentions,s);return{...t,...s?{composerDocument:s}:{composerDocument:void 0},...s&&c?.length?{composerMentions:c}:{composerMentions:void 0},id:r,queueItemID:r,operationID:t.operationID??tr(`operation`),messageID:o,owner:n,status:a,attemptCount:Math.max(0,Math.floor(t.attemptCount??0)),...t.status===`sending`||t.status===`reconciling`?mr(t):{},...i||a===`reconciling`&&t.status===`sending`?{failure:{kind:`ambiguous-dispatch`,recovery:rr(t.failure?.recovery,t)}}:{}}},gr=e=>{let t=e??{},n={};for(let[e,r]of Object.entries(t.queuedMessages??{})){if(!Array.isArray(r))continue;let t;if(e.startsWith(`bound:`)||e.startsWith(`unbound-legacy:`)){let n=r[0],i=e.startsWith(`unbound-legacy:`)?(()=>{try{let t=JSON.parse(e.slice(15));return Array.isArray(t)&&typeof t[0]==`string`?t[0]:e}catch{return e}})():e;t=n?.owner?.state===`bound`?n.owner:Kn(n?.owner?.sessionID??i)}else t=Kn(e);for(let e of r){let r=e.owner?.state===`bound`?e.owner:t,i=z(r);(n[i]??=[]).push(hr(r.sessionID,e,r))}}return{queuedMessages:n,followUpBehavior:Qn(t.followUpBehavior,t.queueModeEnabled??null)}},W=(e,t,n,r)=>{if(pr(t))return;let i=z(t);e(e=>{let t=e.queuedMessages[i],a=t?.findIndex(e=>z(e.owner)===i&&ar(e,n))??-1;if(a<0||!t)return e;let o=r(t[a]);if(o===t[a])return e;let s=t.slice();return s[a]=o,{queuedMessages:{...e.queuedMessages,[i]:s}}})},_r=m()(ee(h((e,t)=>({queuedMessages:{},followUpBehavior:Xn,pendingAdmissions:{},addToQueue:(t,n)=>{if(!U(t))return{ok:!1,reason:`invalid-composer-document`};let r=B(n.composerDocument,n.content,n.attachments);if(n.composerDocument!==void 0&&!r)return{ok:!1,reason:`invalid-composer-document`};let i=V(n.composerMentions,r);if(n.composerMentions!==void 0&&!i)return{ok:!1,reason:`invalid-composer-mentions`};n={...n,...r?{composerDocument:r}:{},...i?.length?{composerMentions:i}:{}};let a={...n,id:tr(`queued`),queueItemID:``,operationID:tr(`operation`),messageID:rn(`msg`),createdAt:Date.now(),owner:t,status:`queued`,attemptCount:0};a.queueItemID=a.id;let o=z(t);return e(e=>({queuedMessages:{...e.queuedMessages,[o]:[...e.queuedMessages[o]??[],a]}})),{ok:!0,item:a}},removeFromQueue:(n,r,i)=>{if(!U(n)||!i)return!1;let a=z(n),o=t().queuedMessages[a];if(!o||o.length===0)return!0;let s=o.find(e=>(e.queueItemID===r||e.id===r)&&z(e.owner)===a);if(s&&s.operationID!==i)return!1;let c=o.find(e=>(e.queueItemID===r||e.id===r)&&e.operationID===i&&z(e.owner)===a);return!c||!H(c)&&(e(e=>{let t=e.queuedMessages[a];if(!t)return e;let n=t.filter(e=>e!==c);if(n.length===t.length)return e;if(n.length)return{queuedMessages:{...e.queuedMessages,[a]:n}};let{[a]:r,...i}=e.queuedMessages;return{queuedMessages:i}}),!qn(t(),n).some(e=>e===c||(e.queueItemID===r||e.id===r)&&e.operationID===i))},reorderQueue:(t,n,r,i)=>{if(!U(t)||!i)return;let a=z(t);e(e=>{let t=e.queuedMessages[a],o=t?.findIndex(e=>(e.id===n||e.queueItemID===n)&&e.operationID===i&&z(e.owner)===a)??-1,s=t?.findIndex(e=>(e.id===r||e.queueItemID===r)&&z(e.owner)===a)??-1;if(!t||o<0||s<0||o===s||H(t[o])||H(t[s]))return e;let c=t.slice(),[l]=c.splice(o,1);return c.splice(s,0,l),{queuedMessages:{...e.queuedMessages,[a]:c}}})},popToInput:(e,n,r)=>{if(!U(e)||!r)return null;let i=qn(t(),e).find(t=>(t.id===n||t.queueItemID===n)&&t.operationID===r&&z(t.owner)===z(e));return!i||H(i)||!t().removeFromQueue(e,i.queueItemID,i.operationID)?null:i},clearQueue:n=>{if(!U(n))return!1;let r=z(n),i=t().queuedMessages[r],a=(t().pendingAdmissions[r]??[]).length>0;return(!i||i.length===0)&&!a||!i?.some(H)&&(e(e=>{if(e.queuedMessages[r]?.some(H))return e;let t={...e.queuedMessages},n={...e.pendingAdmissions};return delete t[r],delete n[r],{queuedMessages:t,pendingAdmissions:n}}),(t().queuedMessages[r]??[]).length===0)},clearAllQueues:()=>{U()&&e(e=>{let t={},n=!1;for(let[r,i]of Object.entries(e.queuedMessages)){if(i[0]&&pr(i[0].owner)){t[r]=i;continue}let e=i.filter(H);e.length&&(t[r]=e),e.length!==i.length&&(n=!0)}let r=Object.keys(e.pendingAdmissions).length>0;return n||r?{queuedMessages:t,pendingAdmissions:{}}:e})},setFollowUpBehavior:t=>{U()&&(e({followUpBehavior:t}),ea({followUpBehavior:t}))},getQueueForScope:e=>qn(t(),e),getPendingAdmissionsForScope:e=>er(t(),e),stageAdmission:(t,n)=>{if(!U(t)||!n.requestID||!n.queueItemID||!n.operationID||!n.messageID||typeof n.content!=`string`)return;let r=B(n.composerDocument,n.content);if(n.composerDocument!==void 0&&!r)return;let i=V(n.composerMentions,r);if(n.composerMentions!==void 0&&!i)return;let a=z(t),o={kind:`pending-admission`,requestID:n.requestID,queueItemID:n.queueItemID,operationID:n.operationID,messageID:n.messageID,content:n.content,createdAt:n.createdAt,phase:`admitting`,attachmentCount:Math.max(0,Math.floor(n.attachmentCount??0)),...r?{composerDocument:r}:{},...r&&i?.length?{composerMentions:i}:{}};e(e=>{let t=[...(e.pendingAdmissions[a]??[]).filter(e=>e.requestID!==o.requestID&&e.queueItemID!==o.queueItemID),o];return{pendingAdmissions:{...e.pendingAdmissions,[a]:t}}})},unstageAdmission:(t,n)=>{if(!n)return;let r=z(t);e(e=>{let t=e.pendingAdmissions[r];if(!t?.length)return e;let i=t.filter(e=>e.requestID!==n);if(i.length===t.length)return e;if(i.length)return{pendingAdmissions:{...e.pendingAdmissions,[r]:i}};let{[r]:a,...o}=e.pendingAdmissions;return{pendingAdmissions:o}})},confirmAdmission:(n,r)=>{if(!U(n)||!r.requestID||!r.sendConfig?.providerID||!r.sendConfig?.modelID)return{ok:!1,reason:`invalid-composer-document`};let i=z(n),a=(t().pendingAdmissions[i]??[]).find(e=>e.requestID===r.requestID);if(!a)return{ok:!1,reason:`invalid-composer-document`};let o=B(a.composerDocument,a.content,r.attachments);if(a.composerDocument!==void 0&&!o)return{ok:!1,reason:`invalid-composer-document`};let s=V(a.composerMentions,o);if(a.composerMentions!==void 0&&!s)return{ok:!1,reason:`invalid-composer-mentions`};let c={id:a.queueItemID,queueItemID:a.queueItemID,operationID:a.operationID,messageID:a.messageID,content:a.content,createdAt:a.createdAt,owner:n,status:`queued`,attemptCount:0,sendConfig:r.sendConfig,...o?{composerDocument:o}:{},...o&&s?.length?{composerMentions:s}:{},...r.attachments?.length?{attachments:r.attachments}:{}};return e(e=>{let t=(e.pendingAdmissions[i]??[]).filter(e=>e.requestID!==r.requestID);return{pendingAdmissions:t.length?{...e.pendingAdmissions,[i]:t}:(()=>{let{[i]:t,...n}=e.pendingAdmissions;return n})(),queuedMessages:{...e.queuedMessages,[i]:[...e.queuedMessages[i]??[],c]}}}),{ok:!0,item:c}},bindLegacyQueue:(t,n)=>{if(!U(t)||!U(n)||t.state!==`unbound-legacy`||n.state!==`bound`||t.sessionID!==n.sessionID)return[];let r=z(t),i=z(n),a=[];return e(e=>{let t=e.queuedMessages[r];if(!t||(a=t.filter(e=>!H(e)),a.length===0))return e;let o=t.filter(H),s={...e.queuedMessages,[i]:[...a.map(e=>({...e,owner:n})),...e.queuedMessages[i]??[]]};return o.length?s[r]=o:delete s[r],{queuedMessages:s}}),a.map(e=>({...e,owner:n}))},markQueueItemSendAttempt:(t,n)=>{U(t)&&W(e,t,n,e=>e.status===`queued`||e.status===`retrying`&&(e.nextAttemptAt??0)<=Date.now()?{...e,status:`sending`,attemptCount:e.attemptCount+1,nextAttemptAt:void 0,failure:void 0}:e)},markQueueItemPreDispatchRetry:(t,n,r,i)=>W(e,t,n,e=>e.status===`sending`?{...e,status:`retrying`,nextAttemptAt:r,failure:{kind:`pre-dispatch`,recovery:i?.recovery??ir(e)}}:e),markQueueItemReconciling:(t,n,r)=>W(e,t,n,e=>e.status===`sending`?{...e,status:`reconciling`,nextAttemptAt:void 0,...mr(e),reconciliationNextCheckAt:void 0,failure:{kind:`ambiguous-dispatch`,recovery:r?.recovery??ir(e)}}:e),recordQueueItemReconciliationCheck:(t,n)=>W(e,t,n,e=>e.status===`reconciling`&&ar(e,n)?{...e,reconciliationChecks:(e.reconciliationChecks??0)+1,reconciliationNextCheckAt:Date.now()+2e3}:e),resolveQueueItemReconciliation:(t,n)=>W(e,t,n,e=>e.status===`reconciling`&&ar(e,n)?{...e,status:`unresolved`,nextAttemptAt:void 0}:e),markQueueItemDefinitiveFailure:(t,n,r)=>W(e,t,n,e=>e.status===`sending`?{...e,status:`failed`,nextAttemptAt:void 0,failure:{kind:`definitive`,recovery:r?.recovery??ir(e)}}:e),resetQueueItemForDispatch:(t,n)=>{U(t)&&W(e,t,n,e=>e.status!==`failed`&&e.status!==`unresolved`&&e.status!==`retrying`?e:{...e,status:`queued`,nextAttemptAt:void 0,failure:void 0,reconciliationStartedAt:void 0,reconciliationDeadlineAt:void 0,reconciliationChecks:void 0,reconciliationNextCheckAt:void 0})},beginQueueItemDispatch:(t,n,r,i,a=Date.now())=>{if(!U(t)||!r.startsWith(`msg_`))return null;let o=z(t),s=null;return e(e=>{let t=e.queuedMessages[o],c=i?t?.findIndex(e=>z(e.owner)===o&&ar(e,n))??-1:0,l=c>=0?t?.[c]:void 0,u=l?.status===`queued`||l?.status===`retrying`&&(i||(l.nextAttemptAt??0)<=a)||i&&(l?.status===`failed`||l?.status===`unresolved`);if(!l||z(l.owner)!==o||!ar(l,n)||!u||t?.some(H))return e;s={...l,messageID:r,status:`sending`,attemptCount:l.attemptCount+1,nextAttemptAt:void 0,failure:void 0,reconciliationStartedAt:void 0,reconciliationDeadlineAt:void 0,reconciliationChecks:void 0,reconciliationNextCheckAt:void 0};let d=t.slice();return d.splice(c,1),d.unshift(s),{queuedMessages:{...e.queuedMessages,[o]:d}}}),s},confirmQueueItem:(t,n)=>{if(pr(t))return;let r=z(t);e(e=>{let t=e.queuedMessages[r],i=t?.find(e=>{let t=!n.operationID||e.operationID===n.operationID,r=!n.messageID||e.messageID===n.messageID,i=!n.queueItemID||e.queueItemID===n.queueItemID;return t&&r&&i});if(!i||!n.operationID&&!n.messageID)return e;let a=t.filter(e=>e!==i);if(a.length)return{queuedMessages:{...e.queuedMessages,[r]:a}};let{[r]:o,...s}=e.queuedMessages;return{queuedMessages:s}})}}),{name:`message-queue-store`,version:4,storage:or,partialize:e=>({queuedMessages:e.queuedMessages,followUpBehavior:e.followUpBehavior}),migrate:gr,merge:(e,t)=>({...t,...gr(e),pendingAdmissions:t.pendingAdmissions})}),{name:`message-queue-store`})),vr=(e,t)=>{let n=_r.getState().queuedMessages,r=[],i=[];for(let[a,o]of Object.entries(n)){let n=o[0]?.owner;if(!n||n.state!==`unbound-legacy`)continue;let s=t(n.sessionID);if(!s){i.push(n.sessionID);continue}r.push({sourceKey:a,target:{state:`bound`,transportIdentity:e,directory:s,sessionID:n.sessionID},items:o})}return!e||i.length?{ok:!1,unresolvedSessionIDs:i}:r.length?(_r.setState(e=>{let t={...e.queuedMessages};for(let e of r){let n=z(e.target);t[n]=[...e.items.map(t=>({...t,owner:e.target})),...t[n]??[]],delete t[e.sourceKey]}return{queuedMessages:t}}),{ok:!0,moved:r.reduce((e,t)=>e+t.items.length,0)}):{ok:!0,moved:0}},yr=le(),br=e(te(),1),xr=`directoryTreeShowHidden`,Sr=`directory-show-hidden-change`,Cr=()=>{if(typeof window>`u`)return!0;try{let e=g().getItem(xr);return e===null||e===`true`}catch{return!0}},wr=()=>{typeof window>`u`||window.dispatchEvent(new Event(Sr))},Tr=(e,t={})=>{if(!(typeof window>`u`)){try{g().setItem(xr,e?`true`:`false`),wr()}catch{}t.persist!==!1&&ea({directoryShowHidden:e})}},Er=()=>{let e=(0,yr.c)(2),[t,n]=br.useState(Cr),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{if(typeof window>`u`)return;let e=()=>{n(Cr())};return window.addEventListener(`storage`,e),window.addEventListener(Sr,e),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(Sr,e)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),br.useEffect(r,i),t},Dr=`filesViewShowGitignored`,Or=`files-view-show-gitignored-change`,kr=()=>{if(typeof window>`u`)return!1;try{return g().getItem(Dr)===`true`}catch{return!1}},Ar=()=>{typeof window>`u`||window.dispatchEvent(new Event(Or))},jr=(e,t={})=>{if(!(typeof window>`u`)){try{g().setItem(Dr,e?`true`:`false`),Ar()}catch{}t.persist!==!1&&ea({filesViewShowGitignored:e})}},Mr=()=>{let e=(0,yr.c)(2),[t,n]=br.useState(kr),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{if(typeof window>`u`)return;let e=()=>{n(kr())};return window.addEventListener(`storage`,e),window.addEventListener(Or,e),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(Or,e)}},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),br.useEffect(r,i),t},Nr=e=>{if(!e||typeof e!=`object`)return null;let t={};return typeof e.showReasoningTraces==`boolean`&&(t.showReasoningTraces=e.showReasoningTraces),typeof e.collapsibleThinkingBlocks==`boolean`&&(t.collapsibleThinkingBlocks=e.collapsibleThinkingBlocks),Object.keys(t).length>0?t:null},Pr=e=>{if(!e||typeof e!=`object`)return null;let t=e;return{showReasoningTraces:t.showReasoningTraces,collapsibleThinkingBlocks:t.collapsibleThinkingBlocks}},Fr=e=>{let t=_.getState();typeof e.showReasoningTraces==`boolean`&&t.setShowReasoningTraces(e.showReasoningTraces),typeof e.collapsibleThinkingBlocks==`boolean`&&t.setCollapsibleThinkingBlocks(e.collapsibleThinkingBlocks)},Ir=async()=>{if(typeof window>`u`)return null;let e=localStorage.getItem(`appearance-preferences`);if(!e)return null;try{return Nr(Pr(JSON.parse(e)))}catch(e){return console.warn(`Failed to parse stored appearance preferences:`,e),null}},Lr=[{name:`explore`,icon:`compass-3`,labelKey:`chat.draftPresets.explore.label`,command:`/explore`},{name:`catch-up`,icon:`history`,labelKey:`chat.draftPresets.catchup.label`,command:`/catch-up`},{name:`weigh`,icon:`scales-3`,labelKey:`chat.draftPresets.weigh.label`,command:`/weigh`},{name:`craft-goal`,icon:`target`,labelKey:`chat.draftPresets.craftGoal.label`,command:`/craft-goal`},{name:`debug`,icon:`bug`,labelKey:`chat.draftPresets.debug.label`,command:`/debug`},{name:`review`,icon:`search-eye`,labelKey:`chat.draftPresets.review.label`,command:`/workspace-review`}],Rr=new Map(Lr.map(e=>[e.name,e])),zr=e=>Rr.get(e),Br=[{type:`command`,name:`explore`},{type:`command`,name:`catch-up`},{type:`command`,name:`weigh`},{type:`command`,name:`debug`},{type:`command`,name:`review`}],Vr=`terminal-box`,Hr=`book-open`,Ur=e=>`${e.type}:${e.name}`,Wr=(e,t)=>e.type===t.type&&e.name===t.name,Gr=e=>{let t=e.replace(/^\//,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e},Kr=e=>{if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!=`object`)continue;let e=r,i=e.type===`command`||e.type===`skill`?e.type:null,a=typeof e.name==`string`?e.name.trim():``;if(!i||!a)continue;let o=`${i}:${a}`;n.has(o)||(n.add(o),t.push({type:i,name:a}))}return t},qr=`oc.rt.`,Jr=e=>{try{return btoa(unescape(encodeURIComponent(e))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}catch{return encodeURIComponent(e)}},G=(e,t=s())=>`${qr}${Jr(t.trim().length>0?t.trim():`default`)}.${e}`,Yr=(e,t,n=s())=>e?e===G(t,n):!1,Xr=()=>{if(typeof window>`u`)return!0;let e=window.__OPENCHAMBER_API_BASE_URL__,t=window.__OPENCHAMBER_LOCAL_ORIGIN__;if(typeof e==`string`&&e.trim()&&typeof t==`string`&&t.trim())try{return new URL(e).origin===new URL(t).origin}catch{return!1}try{if(p())return!0}catch{}if(typeof e==`string`&&e.trim())try{let t=new URL(e).hostname;if(t!==`localhost`&&t!==`127.0.0.1`&&t!==`::1`)return!1}catch{return!1}return!0},Zr=(e,t)=>{let n=t?.storage??(typeof localStorage<`u`?localStorage:{getItem:()=>null}),r=t?.transport??s(),i=n.getItem(G(e,r));return i===null?Xr()?n.getItem(e):null:i},K=(e,t,n)=>{let r=n?.storage??(typeof localStorage<`u`?localStorage:{setItem:()=>void 0}),i=n?.transport??s();r.setItem(G(e,i),t)},Qr=e=>{let t;try{t=ne()}catch{return}let n=t=>t===null?null:JSON.parse(t,e?.reviver),r=e=>t.getItem(e);return{getItem:e=>{let t=G(e,s()),i=r(t);if(i instanceof Promise)return i.then(t=>{if(t!==null)return n(t);if(!Xr())return null;let i=r(e);return i instanceof Promise?i.then(n):n(i)});if(i!==null)return n(i);if(!Xr())return null;let a=r(e);return a instanceof Promise?a.then(n):n(a)},setItem:(n,r)=>{let i=G(n,s());t.setItem(i,JSON.stringify(r,e?.replacer))},removeItem:e=>{let n=G(e,s());t.removeItem(n)}}},$r=512,ei=4096,ti=64,ni=2e5,ri=[`concise`,`detailed`,`mentor`,`pushback`,`noFiller`,`matchEnergy`,`warmPeer`,`custom`],ii=[`defaultModel`,`defaultVariant`,`defaultAgent`,`autoCreateWorktree`,`gitmojiEnabled`,`defaultFileViewerPreview`,`zenModel`,`messageStreamTransport`,`sttProvider`,`sttServerUrl`,`sttModel`,`sttLocalModel`,`sttLanguage`,`responseStyleEnabled`,`responseStylePreset`,`responseStyleCustomInstructions`],ai=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype,oi=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),si=(e,t)=>{if(typeof e!=`string`)return;let n=e.trim();return n.length<=t?n:void 0},ci=e=>{let t=si(e,ei);if(t!==void 0)try{let e=new URL(t);return(e.protocol===`http:`||e.protocol===`https:`)&&!e.username&&!e.password?t:void 0}catch{return}},li=(e,t)=>typeof e==`string`&&t.includes(e)?e:void 0,ui=e=>typeof e==`boolean`?e:void 0,di=(e,t)=>{let n=e[t];switch(t){case`autoCreateWorktree`:case`gitmojiEnabled`:case`defaultFileViewerPreview`:case`responseStyleEnabled`:return ui(n);case`messageStreamTransport`:return li(n,[`auto`,`ws`,`sse`]);case`sttProvider`:return li(n,[`local`,`openai-compatible`]);case`sttServerUrl`:return ci(n);case`sttLanguage`:return si(n,ti);case`responseStyleCustomInstructions`:return si(n,ni);case`responseStylePreset`:return li(n,ri);default:return si(n,$r)}},fi=e=>{if(!ai(e))throw Error(`Invalid settings bootstrap response`);if(!oi(e,`schemaVersion`)||e.schemaVersion!==1)throw Error(`Unsupported settings bootstrap schema version`);let t={schemaVersion:1};for(let n of ii){if(!oi(e,n))continue;let r=di(e,n);r!==void 0&&Object.assign(t,{[n]:r})}return t},pi=e=>{if(!ai(e))throw Error(`Invalid settings bootstrap patch`);for(let t of Object.keys(e))if(!ii.includes(t))throw Error(`Invalid settings bootstrap patch`);let t=fi({schemaVersion:1,...e}),n={};for(let r of ii)if(oi(e,r)){if(!oi(t,r))throw Error(`Invalid settings bootstrap patch`);Object.assign(n,{[r]:t[r]})}return n},mi=e=>{if(!ai(e))return{};let t={};for(let n of ii){if(!oi(e,n))continue;let r=di(e,n);r!==void 0&&Object.assign(t,{[n]:r})}return t},q=new ue({defaultOptions:{queries:{staleTime:3e4,gcTime:3e5,retry:1,refetchOnWindowFocus:!1}}}),hi={runtime:()=>[s()],scoped:(...e)=>[s(),...e],quota:e=>[s(),e],commands:{list:(e,t=s())=>[t,`commands`,e]},agents:{list:(e,t=s())=>[t,`agents`,e],raw:(e,t=s())=>[t,`agents`,`raw`]},configCatalog:{providers:(e,t=s())=>[t,`configCatalog`,`providers`,e]},providers:{list:(e,t=s())=>[t,`providers`,e]},skills:{list:(e,t=s())=>[t,`skills`,e]},skillsCatalog:{sources:(e,t=s())=>[t,`skillsCatalog`,`sources`,J(e)],source:(e,t,n=s())=>[n,`skillsCatalog`,`source`,J(e),t]},messageQueue:{status:(e=s())=>[e,`messageQueue`,`status`],snapshot:(e=s())=>[e,`messageQueue`,`snapshot`],scope:(e,t,n=s())=>[n,`messageQueue`,`scope`,e,t]},mcp:{configs:(e,t=s())=>[t,`mcp`,`configs`,J(e)],status:(e,t=s())=>[t,`mcp`,`status`,J(e)]},github:{auth:(e=s())=>[e,`github`,`auth`]},git:{branches:(e,t=s())=>[t,`git`,`branches`,J(e)],remotes:(e,t=s())=>[t,`git`,`remotes`,J(e)]},sessionIndex:{snapshot:(e=s())=>[e,`sessionIndex`,`snapshot`]},sessionStatus:{snapshot:(e,t=s())=>[t,`sessionStatus`,`snapshot`,J(e)]},sessionTurnChanges:{file:(e,t,n,r,i,a=s())=>[a,`sessionTurnChanges`,`file`,J(e),t,n,r,typeof i==`number`&&Number.isFinite(i)?Math.max(0,Math.trunc(i)):null]},sessionActive:{snapshot:(e,t)=>[e,`sessionActive`,`snapshot`,t]},sessionTranscript:{infinite:(e,t,n=s(),r=c())=>[n,r,`session-transcript`,J(e)??``,t],page:(e,t,n,r,i=s(),a=c())=>[i,a,`sessionMessages`,`page`,J(e)??``,t,n,r?.trim()?r.trim():`tail`],tailTask:(e,t,n,r=s(),i=c())=>[r,i,`session-transcript-task`,`tail`,J(e)??``,t,n],reconcileTask:(e,t,n,r=s(),i=c())=>[r,i,`session-transcript-task`,`reconcile`,J(e)??``,t,n],checkpoint:(e,t,n=s(),r=c())=>[n,r,`session-transcript-checkpoint`,J(e)??``,t]},plugins:{list:(e,t=s())=>[t,`plugins`,`list`,e],registry:(e,t,n=!1,r=s())=>[r,`plugins`,`registry`,e,gi(t),n],file:(e,t,n=s())=>[n,`plugins`,`file`,e,t]},files:{directory:(e,t,n,r=s())=>[r,`files`,`directory`,Y(e),Y(t),!!n],search:(e,t,n,r,i,a=s())=>[a,`files`,`search`,Y(e),t.trim(),n??null,!!r,!!i],content:(e,t,n,r=s())=>_i(`content`,e,t,n,r),stat:(e,t,n,r=s())=>_i(`stat`,e,t,n,r)}},gi=e=>Array.from(new Set(e.map(e=>e.trim()).filter(Boolean))).sort(),J=e=>e?.trim()||null,Y=e=>{if(typeof e!=`string`)return null;let t=e.trim().replace(/\\/g,`/`);return t?t.length>1?t.replace(/\/+$/,``):t:null},_i=(e,t,n,r,i)=>[i,`files`,e,Y(t),Y(n),!!r?.allowOutsideWorkspace,r?.outsideFileGrant??null,!!r?.optional,Y(r?.directory)],vi=async(e,t)=>{let n=await We(`/api/quota/${encodeURIComponent(e)}`,{signal:t}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error||`Failed to fetch quota`);return r},yi=e=>i(t=>{l(t)&&e.clear()}),bi=class extends Error{status;constructor(e){super(`Settings bootstrap request failed (${e})`),this.status=e,this.name=`SettingsBootstrapRequestError`}},xi=(e=s())=>[e,`settings`,`bootstrap`],Si=(e=s())=>({queryKey:xi(e),queryFn:async({signal:e})=>{let t=await We(`/api/config/settings/bootstrap`,{method:`GET`,headers:{Accept:`application/json`},signal:e});if(!t.ok)throw new bi(t.status);return fi(await t.json())},retry:(e,t)=>!(t instanceof bi&&(t.status===404||t.status===501))&&e<1,staleTime:1/0,gcTime:1/0}),Ci=(e=s())=>q.fetchQuery(Si(e)),wi=(e=s())=>q.getQueryData(xi(e)),Ti=(e,t=s())=>{let n=pi(e),r=xi(t),i=fi({schemaVersion:1,...q.getQueryData(r),...n});return q.setQueryData(r,i),i},Ei=e=>{if(!(typeof window>`u`)&&!(typeof window.__OPENCHAMBER_HOME__==`string`&&window.__OPENCHAMBER_HOME__.length>0))try{window.__OPENCHAMBER_HOME__=e}catch{}},Di=e=>{if(!(typeof window>`u`)){if(e.themeId&&K(`selectedThemeId`,e.themeId),e.themeVariant&&K(`selectedThemeVariant`,e.themeVariant),e.lightThemeId&&K(`lightThemeId`,e.lightThemeId),e.darkThemeId&&K(`darkThemeId`,e.darkThemeId),typeof e.useSystemTheme==`boolean`&&(K(`useSystemTheme`,String(e.useSystemTheme)),K(`themeMode`,e.useSystemTheme?`system`:e.themeVariant===`dark`||e.themeVariant===`light`?e.themeVariant:`system`)),e.lastDirectory&&S(`lastDirectory`,e.lastDirectory),e.homeDirectory&&(S(`homeDirectory`,e.homeDirectory),Ei(e.homeDirectory)),Array.isArray(e.projects)&&e.projects.length>0?S(`projects`,JSON.stringify(e.projects)):C(`projects`),e.activeProjectId?S(`activeProjectId`,e.activeProjectId):C(`activeProjectId`),Array.isArray(e.pinnedDirectories)&&e.pinnedDirectories.length>0?S(`pinnedDirectories`,JSON.stringify(e.pinnedDirectories)):C(`pinnedDirectories`),Array.isArray(e.projects)&&e.projects.length>0){let t=e.projects.filter(e=>e.sidebarCollapsed===!0).map(e=>e.id).filter(e=>typeof e==`string`&&e.length>0);t.length>0?S(`oc.sessions.projectCollapse`,JSON.stringify(t)):C(`oc.sessions.projectCollapse`)}if(typeof e.gitmojiEnabled==`boolean`?localStorage.setItem(`gitmojiEnabled`,String(e.gitmojiEnabled)):localStorage.removeItem(`gitmojiEnabled`),typeof e.directoryShowHidden==`boolean`&&localStorage.setItem(`directoryTreeShowHidden`,e.directoryShowHidden?`true`:`false`),typeof e.filesViewShowGitignored==`boolean`&&localStorage.setItem(`filesViewShowGitignored`,e.filesViewShowGitignored?`true`:`false`),typeof e.openInAppId==`string`&&e.openInAppId.length>0&&localStorage.setItem(`openInAppId`,e.openInAppId),typeof e.pwaAppName==`string`){let t=e.pwaAppName.trim().replace(/\s+/g,` `).slice(0,64);t.length>0?localStorage.setItem(`openchamber.pwaName`,t):localStorage.removeItem(`openchamber.pwaName`)}if(typeof e.mobileKeyboardMode==`string`&&ie(e.mobileKeyboardMode),typeof e.openCodeUpdateToastDismissedVersion==`string`){let t=e.openCodeUpdateToastDismissedVersion.trim();t?localStorage.setItem(`opencode-update-toast-dismissed-version`,t):localStorage.removeItem(`opencode-update-toast-dismissed-version`)}typeof e.dictationEnabled==`boolean`&&localStorage.setItem(`dictationEnabled`,String(e.dictationEnabled)),(e.sttProvider===`local`||e.sttProvider===`openai-compatible`)&&localStorage.setItem(`sttProvider`,e.sttProvider),typeof e.sttServerUrl==`string`&&localStorage.setItem(`sttServerUrl`,e.sttServerUrl),typeof e.sttModel==`string`&&localStorage.setItem(`sttModel`,e.sttModel),typeof e.sttLocalModel==`string`&&localStorage.setItem(`sttLocalModel`,e.sttLocalModel),typeof e.sttLanguage==`string`&&localStorage.setItem(`sttLanguage`,e.sttLanguage)}},Oi=e=>{typeof window>`u`||window.dispatchEvent(new CustomEvent(`openchamber:settings-synced`,{detail:e}))},ki=e=>{if(!Array.isArray(e))return;let t=[],n=new Set;for(let r of e){if(!r||typeof r!=`object`)continue;let e=r,i=typeof e.id==`string`?e.id.trim():``,a=typeof e.label==`string`?e.label.trim():``,o=typeof e.source==`string`?e.source.trim():``,s=typeof e.subpath==`string`?e.subpath.trim():``,c=typeof e.gitIdentityId==`string`?e.gitIdentityId.trim():``;!i||!a||!o||n.has(i)||(n.add(i),t.push({id:i,label:a,source:o,...s?{subpath:s}:{},...c?{gitIdentityId:c}:{}}))}return t},Ai=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return;let t={};for(let[n,r]of Object.entries(e)){let e=typeof n==`string`?n.trim():``,i=typeof r==`string`?r.trim():``;!e||!i||(t[e]=i)}return t},ji=(e,t)=>{let n=Object.entries(e),r=Object.entries(t);return n.length===r.length&&n.every(([e,n])=>t[e]===n)},Mi=(e,t)=>e.length===t.length&&e.every((e,n)=>e.providerID===t[n]?.providerID&&e.modelID===t[n]?.modelID&&e.variant===t[n]?.variant),Ni=(e,t)=>{if(t.length===0)return t;let n=new Map;for(let t of e)typeof t.variant==`string`&&t.variant.length>0&&n.set(`${t.providerID}/${t.modelID}`,t.variant);return t.map(e=>{if(typeof e.variant==`string`&&e.variant.length>0)return e;let t=n.get(`${e.providerID}/${e.modelID}`);return t?{providerID:e.providerID,modelID:e.modelID,variant:t}:e})},Pi=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]),Fi=e=>{if(Array.isArray(e))return Array.from(new Set(e.filter(e=>typeof e==`string`&&e.length>0)))},Ii=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return;let t={};for(let[n,r]of Object.entries(e)){if(!n||!Array.isArray(r))continue;let e=Fi(r);e&&e.length>0&&(t[n]=e.slice(0,5))}return Object.keys(t).length>0?t:void 0},Li=(e,t)=>{let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Array.isArray(t[n])&&Pi(e[n],t[n]))},Ri=/^#(?:[\da-fA-F]{3}|[\da-fA-F]{6})$/,zi=e=>{if(typeof e!=`string`)return null;let t=e.trim();return t&&Ri.test(t)?t.toLowerCase():null},Bi=e=>{if(!Array.isArray(e))return;let t=[],n=new Set,r=new Set;for(let i of e){if(!i||typeof i!=`object`)continue;let e=i,a=typeof e.path==`string`?e.path.trim():``;if(!a)continue;let o=a===`/`?a:a.replace(/\\/g,`/`).replace(/\/+$/,``);if(!o)continue;let s=an(o);if(!s||n.has(s)||r.has(o))continue;n.add(s),r.add(o);let c={id:s,path:o};if(typeof e.label==`string`&&e.label.trim().length>0&&(c.label=e.label.trim()),typeof e.icon==`string`&&e.icon.trim().length>0&&(c.icon=e.icon.trim()),e.iconImage===null)c.iconImage=null;else if(e.iconImage&&typeof e.iconImage==`object`){let t=e.iconImage,n=typeof t.mime==`string`?t.mime.trim():``,r=typeof t.updatedAt==`number`&&Number.isFinite(t.updatedAt)?Math.max(0,Math.round(t.updatedAt)):0,i=t.source===`custom`||t.source===`auto`?t.source:null;n&&r>0&&i&&(c.iconImage={mime:n,updatedAt:r,source:i})}if(typeof e.color==`string`&&e.color.trim().length>0&&(c.color=e.color.trim()),e.iconBackground===null)c.iconBackground=null;else{let t=zi(e.iconBackground);t&&(c.iconBackground=t)}typeof e.addedAt==`number`&&Number.isFinite(e.addedAt)&&e.addedAt>=0&&(c.addedAt=e.addedAt),typeof e.lastOpenedAt==`number`&&Number.isFinite(e.lastOpenedAt)&&e.lastOpenedAt>=0&&(c.lastOpenedAt=e.lastOpenedAt),typeof e.sidebarCollapsed==`boolean`&&(c.sidebarCollapsed=e.sidebarCollapsed),t.push(c)}return t.length>0?t:void 0},Vi=(e,t,n)=>{if(!Array.isArray(e))return;let r=[],i=new Set,a=n?.preserveVariant===!0;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,o=typeof e.providerID==`string`?e.providerID.trim():``,s=typeof e.modelID==`string`?e.modelID.trim():``;if(!o||!s)continue;let c=`${o}/${s}`;if(!i.has(c)&&(i.add(c),a&&typeof e.variant==`string`&&e.variant.trim().length>0?r.push({providerID:o,modelID:s,variant:e.variant.trim()}):r.push({providerID:o,modelID:s}),r.length>=t))break}return r},Hi=()=>{let e=_.persist;if(e&&typeof e==`object`)return e},Ui=()=>f()?.settings??null,Wi=(e,t,n)=>{let r={...mi(t),...mi(e)};if(Object.keys(r).length!==0)try{Ti(r,n)}catch(e){console.warn(`Failed to patch settings bootstrap cache:`,e)}},Gi=e=>{let t=_.getState(),n=typeof window<`u`?window.__zustand_config_store__?.getState?.()??null:null,r=typeof window<`u`?window.__zustand_config_store__??null:null,i=_r.getState();if(typeof e.showReasoningTraces==`boolean`&&e.showReasoningTraces!==t.showReasoningTraces&&t.setShowReasoningTraces(e.showReasoningTraces),typeof e.sessionTitleRefreshEnabled==`boolean`&&e.sessionTitleRefreshEnabled!==t.sessionTitleRefreshEnabled&&t.setSessionTitleRefreshEnabled(e.sessionTitleRefreshEnabled),typeof e.sessionGoalEnabled==`boolean`&&e.sessionGoalEnabled!==t.sessionGoalEnabled&&t.setSessionGoalEnabled(e.sessionGoalEnabled),typeof e.sessionGoalDefaultBudgetEnabled==`boolean`&&e.sessionGoalDefaultBudgetEnabled!==t.sessionGoalDefaultBudgetEnabled&&t.setSessionGoalDefaultBudgetEnabled(e.sessionGoalDefaultBudgetEnabled),typeof e.sessionGoalDefaultBudget==`number`&&Number.isFinite(e.sessionGoalDefaultBudget)&&e.sessionGoalDefaultBudget!==t.sessionGoalDefaultBudget&&t.setSessionGoalDefaultBudget(e.sessionGoalDefaultBudget),typeof e.collapsibleThinkingBlocks==`boolean`&&e.collapsibleThinkingBlocks!==t.collapsibleThinkingBlocks&&t.setCollapsibleThinkingBlocks(e.collapsibleThinkingBlocks),typeof e.autoDeleteEnabled==`boolean`&&e.autoDeleteEnabled!==t.autoDeleteEnabled&&t.setAutoDeleteEnabled(e.autoDeleteEnabled),typeof e.autoDeleteAfterDays==`number`&&Number.isFinite(e.autoDeleteAfterDays)){let n=Math.max(1,Math.min(365,e.autoDeleteAfterDays));n!==t.autoDeleteAfterDays&&t.setAutoDeleteAfterDays(n)}(e.sessionRetentionAction===`archive`||e.sessionRetentionAction===`delete`)&&e.sessionRetentionAction!==t.sessionRetentionAction&&t.setSessionRetentionAction(e.sessionRetentionAction);let a=null;if(Zn(e.followUpBehavior)?a=e.followUpBehavior:typeof e.queueModeEnabled==`boolean`&&(a=Qn(void 0,e.queueModeEnabled)),a&&a!==i.followUpBehavior&&i.setFollowUpBehavior(a),typeof e.showDeletionDialog==`boolean`&&e.showDeletionDialog!==t.showDeletionDialog&&t.setShowDeletionDialog(e.showDeletionDialog),typeof e.nativeNotificationsEnabled==`boolean`&&e.nativeNotificationsEnabled!==t.nativeNotificationsEnabled&&t.setNativeNotificationsEnabled(e.nativeNotificationsEnabled),typeof e.notificationMode==`string`&&(e.notificationMode===`always`||e.notificationMode===`hidden-only`)&&e.notificationMode!==t.notificationMode&&t.setNotificationMode(e.notificationMode),typeof e.notifyOnSubtasks==`boolean`&&e.notifyOnSubtasks!==t.notifyOnSubtasks&&t.setNotifyOnSubtasks(e.notifyOnSubtasks),typeof e.notifyOnCompletion==`boolean`&&e.notifyOnCompletion!==t.notifyOnCompletion&&t.setNotifyOnCompletion(e.notifyOnCompletion),typeof e.notifyOnError==`boolean`&&e.notifyOnError!==t.notifyOnError&&t.setNotifyOnError(e.notifyOnError),typeof e.notifyOnQuestion==`boolean`&&e.notifyOnQuestion!==t.notifyOnQuestion&&t.setNotifyOnQuestion(e.notifyOnQuestion),e.notificationTemplates&&typeof e.notificationTemplates==`object`&&t.setNotificationTemplates(e.notificationTemplates),typeof e.summarizeLastMessage==`boolean`&&e.summarizeLastMessage!==t.summarizeLastMessage&&t.setSummarizeLastMessage(e.summarizeLastMessage),typeof e.summaryThreshold==`number`&&Number.isFinite(e.summaryThreshold)&&t.setSummaryThreshold(e.summaryThreshold),typeof e.summaryLength==`number`&&Number.isFinite(e.summaryLength)&&t.setSummaryLength(e.summaryLength),typeof e.maxLastMessageLength==`number`&&Number.isFinite(e.maxLastMessageLength)&&t.setMaxLastMessageLength(e.maxLastMessageLength),typeof e.inputSpellcheckEnabled==`boolean`&&e.inputSpellcheckEnabled!==t.inputSpellcheckEnabled&&t.setInputSpellcheckEnabled(e.inputSpellcheckEnabled),typeof e.showOpenCodeUpdateNotifications==`boolean`&&e.showOpenCodeUpdateNotifications!==t.showOpenCodeUpdateNotifications&&t.setShowOpenCodeUpdateNotifications(e.showOpenCodeUpdateNotifications),typeof e.showToolFileIcons==`boolean`&&e.showToolFileIcons!==t.showToolFileIcons&&t.setShowToolFileIcons(e.showToolFileIcons),typeof e.codeBlockLineWrap==`boolean`&&e.codeBlockLineWrap!==t.codeBlockLineWrap&&t.setCodeBlockLineWrap(e.codeBlockLineWrap),typeof e.showTurnChangedFiles==`boolean`&&e.showTurnChangedFiles!==t.showTurnChangedFiles&&t.setShowTurnChangedFiles(e.showTurnChangedFiles),typeof e.showExpandedBashTools==`boolean`&&e.showExpandedBashTools!==t.showExpandedBashTools&&t.setShowExpandedBashTools(e.showExpandedBashTools),typeof e.showSubagentTaskDetails==`boolean`&&e.showSubagentTaskDetails!==t.showSubagentTaskDetails&&t.setShowSubagentTaskDetails(e.showSubagentTaskDetails),typeof e.timeFormatPreference==`string`&&(e.timeFormatPreference===`auto`||e.timeFormatPreference===`12h`||e.timeFormatPreference===`24h`)&&e.timeFormatPreference!==t.timeFormatPreference&&t.setTimeFormatPreference(e.timeFormatPreference),typeof e.weekStartPreference==`string`&&(e.weekStartPreference===`auto`||e.weekStartPreference===`sunday`||e.weekStartPreference===`monday`)&&e.weekStartPreference!==t.weekStartPreference&&t.setWeekStartPreference(e.weekStartPreference),typeof e.desktopWindowControlsPosition==`string`&&(e.desktopWindowControlsPosition===`auto`||e.desktopWindowControlsPosition===`left`||e.desktopWindowControlsPosition===`right`)&&e.desktopWindowControlsPosition!==t.desktopWindowControlsPosition&&t.setDesktopWindowControlsPosition(e.desktopWindowControlsPosition),typeof e.chatRenderMode==`string`&&(e.chatRenderMode===`sorted`||e.chatRenderMode===`live`)&&e.chatRenderMode!==t.chatRenderMode&&t.setChatRenderMode(e.chatRenderMode),typeof e.activityRenderMode==`string`&&(e.activityRenderMode===`collapsed`||e.activityRenderMode===`summary`)&&e.activityRenderMode!==t.activityRenderMode&&t.setActivityRenderMode(e.activityRenderMode),typeof e.mermaidRenderingMode==`string`&&(e.mermaidRenderingMode===`svg`||e.mermaidRenderingMode===`ascii`)&&e.mermaidRenderingMode!==t.mermaidRenderingMode&&t.setMermaidRenderingMode(e.mermaidRenderingMode),typeof e.userMessageRenderingMode==`string`&&(e.userMessageRenderingMode===`markdown`||e.userMessageRenderingMode===`plain`)&&e.userMessageRenderingMode!==t.userMessageRenderingMode&&t.setUserMessageRenderingMode(e.userMessageRenderingMode),typeof e.collapsibleUserMessages==`boolean`&&e.collapsibleUserMessages!==t.collapsibleUserMessages&&t.setCollapsibleUserMessages(e.collapsibleUserMessages),typeof e.messageStreamTransport==`string`&&(e.messageStreamTransport===`auto`||e.messageStreamTransport===`ws`||e.messageStreamTransport===`sse`)&&n&&e.messageStreamTransport!==n.settingsMessageStreamTransport&&n.setSettingsMessageStreamTransport(e.messageStreamTransport),typeof e.stickyUserHeader==`boolean`&&e.stickyUserHeader!==t.stickyUserHeader&&t.setStickyUserHeader(e.stickyUserHeader),typeof e.promptNavigatorEnabled==`boolean`&&e.promptNavigatorEnabled!==t.promptNavigatorEnabled&&t.setPromptNavigatorEnabled(e.promptNavigatorEnabled),typeof e.expandedEditorToolbar==`boolean`&&e.expandedEditorToolbar!==t.expandedEditorToolbar&&t.setExpandedEditorToolbar(e.expandedEditorToolbar),typeof e.wideChatLayoutEnabled==`boolean`&&e.wideChatLayoutEnabled!==t.wideChatLayoutEnabled&&t.setWideChatLayoutEnabled(e.wideChatLayoutEnabled),typeof e.showSplitAssistantMessageActions==`boolean`&&e.showSplitAssistantMessageActions!==t.showSplitAssistantMessageActions&&t.setShowSplitAssistantMessageActions(e.showSplitAssistantMessageActions),typeof e.showAssistantTps==`boolean`&&e.showAssistantTps!==t.showAssistantTps&&t.setShowAssistantTps(e.showAssistantTps),typeof e.reportUsage==`boolean`&&e.reportUsage!==t.reportUsage&&t.setReportUsage(e.reportUsage),typeof e.fontSize==`number`&&Number.isFinite(e.fontSize)&&e.fontSize!==t.fontSize&&t.setFontSize(e.fontSize),Array.isArray(e.draftStarters)){let n=Kr(e.draftStarters);JSON.stringify(t.globalDraftStarters)!==JSON.stringify(n)&&t.setGlobalDraftStarters(n)}if(typeof e.terminalFontSize==`number`&&Number.isFinite(e.terminalFontSize)&&e.terminalFontSize!==t.terminalFontSize&&t.setTerminalFontSize(e.terminalFontSize),typeof e.editorFontSize==`number`&&Number.isFinite(e.editorFontSize)&&e.editorFontSize!==t.editorFontSize&&t.setEditorFontSize(e.editorFontSize),ae(e.uiFont)&&e.uiFont!==t.uiFont&&t.setUiFont(e.uiFont),re(e.monoFont)&&e.monoFont!==t.monoFont&&t.setMonoFont(e.monoFont),typeof e.padding==`number`&&Number.isFinite(e.padding)&&e.padding!==t.padding&&t.setPadding(e.padding),typeof e.cornerRadius==`number`&&Number.isFinite(e.cornerRadius)&&e.cornerRadius!==t.cornerRadius&&t.setCornerRadius(e.cornerRadius),typeof e.inputBarOffset==`number`&&Number.isFinite(e.inputBarOffset)&&e.inputBarOffset!==t.inputBarOffset&&t.setInputBarOffset(e.inputBarOffset),e.shortcutOverrides&&!ji(e.shortcutOverrides,t.shortcutOverrides)&&_.setState({shortcutOverrides:e.shortcutOverrides}),typeof e.mobileKeyboardMode==`string`){let n=oe(e.mobileKeyboardMode,t.mobileKeyboardMode);n!==t.mobileKeyboardMode&&t.setMobileKeyboardMode(n)}if(r&&n){let t={};typeof e.dictationEnabled==`boolean`&&e.dictationEnabled!==n.dictationEnabled&&(t.dictationEnabled=e.dictationEnabled),(e.sttProvider===`local`||e.sttProvider===`openai-compatible`)&&e.sttProvider!==n.sttProvider&&(t.sttProvider=e.sttProvider),typeof e.sttServerUrl==`string`&&e.sttServerUrl!==n.sttServerUrl&&(t.sttServerUrl=e.sttServerUrl),typeof e.sttModel==`string`&&e.sttModel!==n.sttModel&&(t.sttModel=e.sttModel),typeof e.sttLocalModel==`string`&&e.sttLocalModel!==n.sttLocalModel&&(t.sttLocalModel=e.sttLocalModel),typeof e.sttLanguage==`string`&&e.sttLanguage!==n.sttLanguage&&(t.sttLanguage=e.sttLanguage),Object.keys(t).length>0&&r.setState(t)}if(Array.isArray(e.favoriteModels)){let n=t.favoriteModels,r=Ni(n,e.favoriteModels);Mi(n,r)||_.setState({favoriteModels:r})}if(Array.isArray(e.hiddenModels)){let n=t.hiddenModels,r=e.hiddenModels;Mi(n,r)||_.setState({hiddenModels:r})}if(Array.isArray(e.collapsedModelProviders)){let n=t.collapsedModelProviders,r=e.collapsedModelProviders;Pi(n,r)||_.setState({collapsedModelProviders:r})}if(Array.isArray(e.recentModels)){let n=t.recentModels,r=Ni(n,e.recentModels);Mi(n,r)||_.setState({recentModels:r})}if(Array.isArray(e.recentAgents)){let n=t.recentAgents,r=e.recentAgents;Pi(n,r)||_.setState({recentAgents:r})}if(e.recentEfforts&&typeof e.recentEfforts==`object`){let n=t.recentEfforts,r=e.recentEfforts;Li(n,r)||_.setState({recentEfforts:r})}typeof e.diffLayoutPreference==`string`&&(e.diffLayoutPreference===`dynamic`||e.diffLayoutPreference===`inline`||e.diffLayoutPreference===`side-by-side`)&&e.diffLayoutPreference!==t.diffLayoutPreference&&t.setDiffLayoutPreference(e.diffLayoutPreference),typeof e.gitChangesViewMode==`string`&&(e.gitChangesViewMode===`flat`||e.gitChangesViewMode===`tree`)&&e.gitChangesViewMode!==t.gitChangesViewMode&&t.setGitChangesViewMode(e.gitChangesViewMode),typeof e.directoryShowHidden==`boolean`&&Tr(e.directoryShowHidden,{persist:!1}),typeof e.filesViewShowGitignored==`boolean`&&jr(e.filesViewShowGitignored,{persist:!1})},Ki=e=>{if(!e||typeof e!=`object`)return null;let t=e,n={};if(typeof t.themeId==`string`&&t.themeId.length>0&&(n.themeId=t.themeId),(t.useSystemTheme===!0||t.useSystemTheme===!1)&&(n.useSystemTheme=t.useSystemTheme),typeof t.themeVariant==`string`&&(t.themeVariant===`light`||t.themeVariant===`dark`)&&(n.themeVariant=t.themeVariant),typeof t.lightThemeId==`string`&&t.lightThemeId.length>0&&(n.lightThemeId=t.lightThemeId),typeof t.darkThemeId==`string`&&t.darkThemeId.length>0&&(n.darkThemeId=t.darkThemeId),typeof t.lastDirectory==`string`&&t.lastDirectory.length>0&&(n.lastDirectory=t.lastDirectory),typeof t.homeDirectory==`string`&&t.homeDirectory.length>0&&(n.homeDirectory=t.homeDirectory),typeof t.opencodeBinary==`string`){let e=t.opencodeBinary.trim();n.opencodeBinary=e.length>0?e:void 0}typeof t.desktopLanAccessEnabled==`boolean`&&(n.desktopLanAccessEnabled=t.desktopLanAccessEnabled),typeof t.desktopKeepAwakeEnabled==`boolean`&&(n.desktopKeepAwakeEnabled=t.desktopKeepAwakeEnabled),typeof t.desktopMinimizeToTrayEnabled==`boolean`&&(n.desktopMinimizeToTrayEnabled=t.desktopMinimizeToTrayEnabled);let r=Bi(t.projects);if(r&&(n.projects=r),typeof t.activeProjectId==`string`&&t.activeProjectId.length>0&&(n.activeProjectId=t.activeProjectId),Array.isArray(t.securityScopedBookmarks)&&(n.securityScopedBookmarks=t.securityScopedBookmarks.filter(e=>typeof e==`string`&&e.length>0)),Array.isArray(t.pinnedDirectories)&&(n.pinnedDirectories=Array.from(new Set(t.pinnedDirectories.filter(e=>typeof e==`string`&&e.length>0)))),Array.isArray(t.draftStarters)&&(n.draftStarters=Kr(t.draftStarters)),typeof t.draftStartersCraftGoalAdded==`boolean`&&(n.draftStartersCraftGoalAdded=t.draftStartersCraftGoalAdded),typeof t.showReasoningTraces==`boolean`&&(n.showReasoningTraces=t.showReasoningTraces),typeof t.sessionTitleRefreshEnabled==`boolean`&&(n.sessionTitleRefreshEnabled=t.sessionTitleRefreshEnabled),typeof t.sessionGoalEnabled==`boolean`&&(n.sessionGoalEnabled=t.sessionGoalEnabled),typeof t.sessionGoalDefaultBudgetEnabled==`boolean`&&(n.sessionGoalDefaultBudgetEnabled=t.sessionGoalDefaultBudgetEnabled),typeof t.sessionGoalDefaultBudget==`number`&&Number.isFinite(t.sessionGoalDefaultBudget)&&t.sessionGoalDefaultBudget>0&&(n.sessionGoalDefaultBudget=Math.floor(t.sessionGoalDefaultBudget)),typeof t.collapsibleThinkingBlocks==`boolean`&&(n.collapsibleThinkingBlocks=t.collapsibleThinkingBlocks),typeof t.autoDeleteEnabled==`boolean`&&(n.autoDeleteEnabled=t.autoDeleteEnabled),typeof t.autoDeleteAfterDays==`number`&&Number.isFinite(t.autoDeleteAfterDays)&&(n.autoDeleteAfterDays=t.autoDeleteAfterDays),(t.sessionRetentionAction===`archive`||t.sessionRetentionAction===`delete`)&&(n.sessionRetentionAction=t.sessionRetentionAction),typeof t.defaultModel==`string`&&t.defaultModel.length>0&&(n.defaultModel=t.defaultModel),typeof t.defaultVariant==`string`&&t.defaultVariant.length>0&&(n.defaultVariant=t.defaultVariant),typeof t.defaultAgent==`string`&&t.defaultAgent.length>0&&(n.defaultAgent=t.defaultAgent),typeof t.smallModelUseDefault==`boolean`&&(n.smallModelUseDefault=t.smallModelUseDefault),typeof t.smallModelOverride==`string`&&t.smallModelOverride.length>0&&(n.smallModelOverride=t.smallModelOverride),(t.summaryModelMode===`provider`||t.summaryModelMode===`custom`)&&(n.summaryModelMode=t.summaryModelMode),typeof t.summaryProviderID==`string`&&t.summaryProviderID.length>0&&(n.summaryProviderID=t.summaryProviderID),typeof t.summaryModelID==`string`&&t.summaryModelID.length>0&&(n.summaryModelID=t.summaryModelID),typeof t.summaryCustomBaseURL==`string`&&(n.summaryCustomBaseURL=t.summaryCustomBaseURL),typeof t.hasSummaryCustomAPIToken==`boolean`&&(n.hasSummaryCustomAPIToken=t.hasSummaryCustomAPIToken),typeof t.summaryCommitPrompt==`string`&&(n.summaryCommitPrompt=t.summaryCommitPrompt),typeof t.summarySessionTitlePrompt==`string`&&(n.summarySessionTitlePrompt=t.summarySessionTitlePrompt),typeof t.autoCreateWorktree==`boolean`&&(n.autoCreateWorktree=t.autoCreateWorktree),typeof t.gitmojiEnabled==`boolean`&&(n.gitmojiEnabled=t.gitmojiEnabled),Zn(t.followUpBehavior)?n.followUpBehavior=t.followUpBehavior:typeof t.queueModeEnabled==`boolean`&&(n.followUpBehavior=Qn(void 0,t.queueModeEnabled)),typeof t.showDeletionDialog==`boolean`&&(n.showDeletionDialog=t.showDeletionDialog),typeof t.nativeNotificationsEnabled==`boolean`&&(n.nativeNotificationsEnabled=t.nativeNotificationsEnabled),typeof t.notificationMode==`string`&&(t.notificationMode===`always`||t.notificationMode===`hidden-only`)&&(n.notificationMode=t.notificationMode),typeof t.notifyOnSubtasks==`boolean`&&(n.notifyOnSubtasks=t.notifyOnSubtasks),typeof t.notifyOnCompletion==`boolean`&&(n.notifyOnCompletion=t.notifyOnCompletion),typeof t.notifyOnError==`boolean`&&(n.notifyOnError=t.notifyOnError),typeof t.notifyOnQuestion==`boolean`&&(n.notifyOnQuestion=t.notifyOnQuestion),t.notificationTemplates&&typeof t.notificationTemplates==`object`){let e=t.notificationTemplates,r=t=>{let n=e[t];if(!n||typeof n!=`object`)return;let r=n;return{title:typeof r.title==`string`?r.title:``,message:typeof r.message==`string`?r.message:``}},i=r(`completion`),a=r(`error`),o=r(`question`),s=r(`subtask`);(i||a||o||s)&&(n.notificationTemplates={completion:i??{title:`Task Complete`,message:`Your task has finished.`},error:a??{title:`Error Occurred`,message:`An error occurred while processing your task.`},question:o??{title:`Input Needed`,message:`Please provide input to continue.`},subtask:s??{title:`Subtask Complete`,message:`A subtask has finished.`}})}if(typeof t.summarizeLastMessage==`boolean`&&(n.summarizeLastMessage=t.summarizeLastMessage),typeof t.summaryThreshold==`number`&&Number.isFinite(t.summaryThreshold)&&(n.summaryThreshold=Math.max(0,Math.round(t.summaryThreshold))),typeof t.summaryLength==`number`&&Number.isFinite(t.summaryLength)&&(n.summaryLength=Math.max(10,Math.round(t.summaryLength))),typeof t.maxLastMessageLength==`number`&&Number.isFinite(t.maxLastMessageLength)&&(n.maxLastMessageLength=Math.max(10,Math.round(t.maxLastMessageLength))),typeof t.usageAutoRefresh==`boolean`&&(n.usageAutoRefresh=t.usageAutoRefresh),typeof t.usageRefreshIntervalMs==`number`&&Number.isFinite(t.usageRefreshIntervalMs)&&(n.usageRefreshIntervalMs=t.usageRefreshIntervalMs),(t.usageDisplayMode===`usage`||t.usageDisplayMode===`remaining`)&&(n.usageDisplayMode=t.usageDisplayMode),typeof t.usageShowPredValues==`boolean`&&(n.usageShowPredValues=t.usageShowPredValues),Array.isArray(t.usageDropdownProviders)&&(n.usageDropdownProviders=t.usageDropdownProviders.filter(e=>typeof e==`string`&&e.length>0)),t.usageSelectedModels&&typeof t.usageSelectedModels==`object`){let e={};for(let[n,r]of Object.entries(t.usageSelectedModels))Array.isArray(r)&&(e[n]=r.filter(e=>typeof e==`string`));Object.keys(e).length>0&&(n.usageSelectedModels=e)}if(t.usageCollapsedFamilies&&typeof t.usageCollapsedFamilies==`object`){let e={};for(let[n,r]of Object.entries(t.usageCollapsedFamilies))Array.isArray(r)&&(e[n]=r.filter(e=>typeof e==`string`));Object.keys(e).length>0&&(n.usageCollapsedFamilies=e)}if(t.usageExpandedFamilies&&typeof t.usageExpandedFamilies==`object`){let e={};for(let[n,r]of Object.entries(t.usageExpandedFamilies))Array.isArray(r)&&(e[n]=r.filter(e=>typeof e==`string`));Object.keys(e).length>0&&(n.usageExpandedFamilies=e)}if(t.usageModelGroups&&typeof t.usageModelGroups==`object`){let e={};for(let[n,r]of Object.entries(t.usageModelGroups))if(r&&typeof r==`object`){let t=r,i={};Array.isArray(t.customGroups)&&(i.customGroups=t.customGroups.filter(e=>e&&typeof e==`object`).map(e=>({id:String(e.id??``),label:String(e.label??``),models:Array.isArray(e.models)?e.models.filter(e=>typeof e==`string`):[],order:typeof e.order==`number`?e.order:0}))),t.modelAssignments&&typeof t.modelAssignments==`object`&&(i.modelAssignments=Object.fromEntries(Object.entries(t.modelAssignments).filter(([,e])=>typeof e==`string`).map(([e,t])=>[e,String(t)]))),t.renamedGroups&&typeof t.renamedGroups==`object`&&(i.renamedGroups=Object.fromEntries(Object.entries(t.renamedGroups).filter(([,e])=>typeof e==`string`).map(([e,t])=>[e,String(t)]))),Object.keys(i).length>0&&(e[n]=i)}Object.keys(e).length>0&&(n.usageModelGroups=e)}typeof t.inputSpellcheckEnabled==`boolean`&&(n.inputSpellcheckEnabled=t.inputSpellcheckEnabled),typeof t.showOpenCodeUpdateNotifications==`boolean`&&(n.showOpenCodeUpdateNotifications=t.showOpenCodeUpdateNotifications),typeof t.openCodeUpdateToastDismissedVersion==`string`&&(n.openCodeUpdateToastDismissedVersion=t.openCodeUpdateToastDismissedVersion.trim().slice(0,128)),typeof t.showToolFileIcons==`boolean`&&(n.showToolFileIcons=t.showToolFileIcons),typeof t.codeBlockLineWrap==`boolean`&&(n.codeBlockLineWrap=t.codeBlockLineWrap),typeof t.showTurnChangedFiles==`boolean`&&(n.showTurnChangedFiles=t.showTurnChangedFiles),typeof t.showExpandedBashTools==`boolean`&&(n.showExpandedBashTools=t.showExpandedBashTools),typeof t.showSubagentTaskDetails==`boolean`&&(n.showSubagentTaskDetails=t.showSubagentTaskDetails),typeof t.timeFormatPreference==`string`&&(t.timeFormatPreference===`auto`||t.timeFormatPreference===`12h`||t.timeFormatPreference===`24h`)&&(n.timeFormatPreference=t.timeFormatPreference),typeof t.weekStartPreference==`string`&&(t.weekStartPreference===`auto`||t.weekStartPreference===`sunday`||t.weekStartPreference===`monday`)&&(n.weekStartPreference=t.weekStartPreference),typeof t.desktopWindowControlsPosition==`string`&&(t.desktopWindowControlsPosition===`auto`||t.desktopWindowControlsPosition===`left`||t.desktopWindowControlsPosition===`right`)&&(n.desktopWindowControlsPosition=t.desktopWindowControlsPosition),typeof t.chatRenderMode==`string`&&(t.chatRenderMode===`sorted`||t.chatRenderMode===`live`)&&(n.chatRenderMode=t.chatRenderMode),typeof t.messageStreamTransport==`string`&&(t.messageStreamTransport===`auto`||t.messageStreamTransport===`ws`||t.messageStreamTransport===`sse`)&&(n.messageStreamTransport=t.messageStreamTransport),typeof t.activityRenderMode==`string`&&(t.activityRenderMode===`collapsed`||t.activityRenderMode===`summary`)&&(n.activityRenderMode=t.activityRenderMode),typeof t.mermaidRenderingMode==`string`&&(t.mermaidRenderingMode===`svg`||t.mermaidRenderingMode===`ascii`)&&(n.mermaidRenderingMode=t.mermaidRenderingMode),typeof t.userMessageRenderingMode==`string`&&(t.userMessageRenderingMode===`markdown`||t.userMessageRenderingMode===`plain`)&&(n.userMessageRenderingMode=t.userMessageRenderingMode),typeof t.collapsibleUserMessages==`boolean`&&(n.collapsibleUserMessages=t.collapsibleUserMessages),typeof t.stickyUserHeader==`boolean`&&(n.stickyUserHeader=t.stickyUserHeader),typeof t.promptNavigatorEnabled==`boolean`&&(n.promptNavigatorEnabled=t.promptNavigatorEnabled),typeof t.wideChatLayoutEnabled==`boolean`&&(n.wideChatLayoutEnabled=t.wideChatLayoutEnabled),typeof t.showSplitAssistantMessageActions==`boolean`&&(n.showSplitAssistantMessageActions=t.showSplitAssistantMessageActions),typeof t.showAssistantTps==`boolean`&&(n.showAssistantTps=t.showAssistantTps),typeof t.fontSize==`number`&&Number.isFinite(t.fontSize)&&(n.fontSize=t.fontSize),typeof t.terminalFontSize==`number`&&Number.isFinite(t.terminalFontSize)&&(n.terminalFontSize=t.terminalFontSize),typeof t.editorFontSize==`number`&&Number.isFinite(t.editorFontSize)&&(n.editorFontSize=t.editorFontSize),ae(t.uiFont)&&(n.uiFont=t.uiFont),re(t.monoFont)&&(n.monoFont=t.monoFont),typeof t.padding==`number`&&Number.isFinite(t.padding)&&(n.padding=t.padding),typeof t.cornerRadius==`number`&&Number.isFinite(t.cornerRadius)&&(n.cornerRadius=t.cornerRadius),typeof t.inputBarOffset==`number`&&Number.isFinite(t.inputBarOffset)&&(n.inputBarOffset=t.inputBarOffset);let i=Ai(t.shortcutOverrides);i&&(n.shortcutOverrides=i),typeof t.mobileKeyboardMode==`string`&&(t.mobileKeyboardMode===`native`||t.mobileKeyboardMode===`resize-content`)&&(n.mobileKeyboardMode=t.mobileKeyboardMode);let a=Vi(t.favoriteModels,64,{preserveVariant:!0});a&&(n.favoriteModels=a);let o=Vi(t.hiddenModels,1024);o&&(n.hiddenModels=o);let s=Fi(t.collapsedModelProviders);s&&(n.collapsedModelProviders=s);let c=Vi(t.recentModels,16,{preserveVariant:!0});c&&(n.recentModels=c);let l=Fi(t.recentAgents);l&&(n.recentAgents=l);let u=Ii(t.recentEfforts);if(u&&(n.recentEfforts=u),typeof t.diffLayoutPreference==`string`&&(t.diffLayoutPreference===`dynamic`||t.diffLayoutPreference===`inline`||t.diffLayoutPreference===`side-by-side`)&&(n.diffLayoutPreference=t.diffLayoutPreference),typeof t.gitChangesViewMode==`string`&&(t.gitChangesViewMode===`flat`||t.gitChangesViewMode===`tree`)&&(n.gitChangesViewMode=t.gitChangesViewMode),typeof t.directoryShowHidden==`boolean`&&(n.directoryShowHidden=t.directoryShowHidden),typeof t.filesViewShowGitignored==`boolean`&&(n.filesViewShowGitignored=t.filesViewShowGitignored),typeof t.openInAppId==`string`&&t.openInAppId.length>0&&(n.openInAppId=t.openInAppId),typeof t.pwaAppName==`string`){let e=t.pwaAppName.trim().replace(/\s+/g,` `).slice(0,64);n.pwaAppName=e.length>0?e:``}let d=ki(t.skillCatalogs);return d&&(n.skillCatalogs=d),typeof t.reportUsage==`boolean`&&(n.reportUsage=t.reportUsage),typeof t.globalBehaviorPrompt==`string`&&(n.globalBehaviorPrompt=t.globalBehaviorPrompt),typeof t.responseStyleEnabled==`boolean`&&(n.responseStyleEnabled=t.responseStyleEnabled),typeof t.responseStylePreset==`string`&&(t.responseStylePreset===`concise`||t.responseStylePreset===`detailed`||t.responseStylePreset===`mentor`||t.responseStylePreset===`pushback`||t.responseStylePreset===`noFiller`||t.responseStylePreset===`matchEnergy`||t.responseStylePreset===`warmPeer`||t.responseStylePreset===`custom`)&&(n.responseStylePreset=t.responseStylePreset),typeof t.responseStyleCustomInstructions==`string`&&(n.responseStyleCustomInstructions=t.responseStyleCustomInstructions),typeof t.dictationEnabled==`boolean`&&(n.dictationEnabled=t.dictationEnabled),t.sttProvider===`local`||t.sttProvider===`openai-compatible`?n.sttProvider=t.sttProvider:t.sttProvider===`server`?n.sttProvider=`openai-compatible`:(t.sttProvider===`browser`||t.sttProvider===`wasm`)&&(n.sttProvider=`local`),typeof t.sttServerUrl==`string`&&(n.sttServerUrl=t.sttServerUrl.trim()),typeof t.sttModel==`string`&&(n.sttModel=t.sttModel.trim()),typeof t.sttLocalModel==`string`&&(n.sttLocalModel=t.sttLocalModel.trim()),typeof t.sttLanguage==`string`&&(n.sttLanguage=t.sttLanguage.trim()),n},X=new Map,qi=new Map,Ji=2e3,Yi=async e=>{let t=X.get(e);if(t&&Date.now()-t.at<Ji)return t.value;let n=qi.get(e);if(n)return n;let r=(async()=>{if(s()!==e)return null;let t=Ui();if(t)try{let n=Ki((await t.load()).settings);return X.set(e,{value:n,at:Date.now()}),n}catch(e){console.warn(`Failed to load shared settings from runtime settings API:`,e)}if(s()!==e)return null;try{let t=await We(`/api/config/settings`,{method:`GET`,headers:{Accept:`application/json`}});if(!t.ok)return null;let n=Ki(await t.json().catch(()=>null));return X.set(e,{value:n,at:Date.now()}),n}catch(e){return console.warn(`Failed to load shared settings from server:`,e),null}})();qi.set(e,r);try{return await r}finally{qi.get(e)===r&&qi.delete(e)}},Xi=async()=>{if(typeof window>`u`)return;let e=s(),t=Hi(),n=()=>!t?.hasHydrated||t.hasHydrated()||!t.onFinishHydration?Promise.resolve():new Promise(e=>{let n=!1,r=()=>{n||(n=!0,e())},i=t.onFinishHydration(()=>{i?.(),r()});t.hasHydrated?.()&&r()}),r=async t=>{if(await n(),s()===e){try{Di(t)}catch(e){console.warn(`persistToLocalStorage failed:`,e)}try{Gi(t)}catch(e){console.warn(`applyDesktopUiPreferences failed:`,e)}Oi(t)}};try{let t=await Yi(e);t&&s()===e&&await r(t)}catch(e){console.warn(`Failed to synchronise settings:`,e)}},Z=null,Q=null,$=null,Zi=[],Qi=200,$i=async()=>{let e=Z,t=Q,n=Zi;if(Z=null,Q=null,$=null,Zi=[],!e||!t||Object.keys(e).length===0){n.forEach(e=>e());return}if(s()!==t){n.forEach(e=>e());return}let r=()=>s()===t,i=Ui();if(i){try{let a=await i.save(e);Wi(a,e,t),a&&r()&&(Di(a),Gi(a),Oi(a),X.set(t,{value:Ki(a),at:Date.now()})),n.forEach(e=>e());return}catch(e){console.warn(`Failed to update settings via runtime settings API:`,e)}if(!r()){n.forEach(e=>e());return}}try{let n=await We(`/api/config/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(e)});if(!n.ok){console.warn(`Failed to update shared settings via API:`,n.status,n.statusText);return}let i=await n.json().catch(()=>null);Wi(i,e,t),i&&r()&&(Di(i),Gi(i),Oi(i),X.set(t,{value:Ki(i),at:Date.now()}))}catch(e){console.warn(`Failed to update shared settings via API:`,e)}finally{n.forEach(e=>e())}},ea=async e=>{if(typeof window>`u`)return;let t=s();if(Q&&Q!==t){$&&=(clearTimeout($),null),Z=null,Q=null;let e=Zi;Zi=[],e.forEach(e=>e())}let n={...Z??{}},r=X.get(t)?.value;for(let[t,i]of Object.entries(e)){let e=r?.[t];Object.is(i,e)||i!==void 0&&e!==void 0&&JSON.stringify(i)===JSON.stringify(e)?delete n[t]:n[t]=i}if(Z=n,Q=t,Object.keys(n).length===0&&!$){Z=null,Q=null;return}$&&clearTimeout($);let i=new Promise(e=>{Zi.push(e)});return $=setTimeout(()=>void $i(),Qi),i},ta=async()=>{if(typeof window>`u`)return;let e=Hi();try{let t=await Ir();if(!t)return;let n=()=>Fr(t);if(e?.hasHydrated?.()){n();return}if(n(),e?.onFinishHydration){let t=e.onFinishHydration(()=>{t?.(),n()})}}catch(e){console.warn(`Failed to load appearance preferences:`,e)}};export{ln as $,sr as A,nt as At,Nn as B,Wr as C,lt as Ct,Mr as D,ct as Dt,jr as E,Pt as Et,vr as F,Ke as Ft,Fn as G,Wn as H,z as I,We as It,L as J,Rn as K,dr as L,Se as Lt,qn as M,tt as Mt,Kn as N,C as Nt,Tr as O,dt as Ot,fr as P,S as Pt,un as Q,_r as R,Gr as S,pt as St,Ur as T,xt as Tt,Gn as U,Un as V,zn as W,Tn as X,vn as Y,Dn as Z,Lr as _,ut as _t,Ti as a,Lt as at,Hr as b,gt as bt,yi as c,M as ct,hi as d,Bt as dt,sn as et,mi as f,qt as ft,K as g,Ft as gt,Zr as h,T as ht,Ci as i,It as it,er as j,$e as jt,Er as k,rt as kt,gi as l,Ut as lt,Yr as m,zt as mt,Xi as n,rn as nt,wi as o,j as ot,Qr as p,Rt as pt,Bn as q,ea as r,nn as rt,vi as s,Vt as st,ta as t,an as tt,q as u,Gt as ut,Vr as v,ht as vt,Kr as w,Dt as wt,zr as x,_t as xt,Br as y,mt as yt,jn as z};