@openchambery/web 1.19.2-beta.2 → 1.19.2

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 (101) hide show
  1. package/dist/assets/{AgentAvatar-DgGHpQoD.js → AgentAvatar-HJ-RYWko.js} +1 -1
  2. package/dist/assets/AssistantView-DlxrruOa.js +1 -0
  3. package/dist/assets/{ChatContainer-BXsYtF5J.js → ChatContainer-GVMj0a_p.js} +39 -39
  4. package/dist/assets/ContextPanel-DlHIANz1.js +285 -0
  5. package/dist/assets/DiagramView-xyxD8G-D.js +1 -0
  6. package/dist/assets/{FadeInOnReveal-BpIMrqet.js → FadeInOnReveal-Cy3sf2M5.js} +1 -1
  7. package/dist/assets/{Icon-Bs6GJIoO.js → Icon-BLWVqBee.js} +1 -1
  8. package/dist/assets/{MarkdownRendererImpl-DxaO46mB.js → MarkdownRendererImpl-C9V9nYL3.js} +1 -1
  9. package/dist/assets/{MobileDetailNavigation-BYWMhqdh.js → MobileDetailNavigation-DQiu8_pY.js} +1 -1
  10. package/dist/assets/{MobileShareBridge-CNmHWzk2.js → MobileShareBridge-DxdVA0o_.js} +2 -2
  11. package/dist/assets/MobileSurface-DhkIb_Zl.js +2 -0
  12. package/dist/assets/{MultiRunWindow-B0FNrIvZ.js → MultiRunWindow-D-KQFz1a.js} +1 -1
  13. package/dist/assets/{OnboardingScreen-n85WAcBc.js → OnboardingScreen-yNfhXL7h.js} +1 -1
  14. package/dist/assets/{OverlayScrollbar-VZKKu-cu.js → OverlayScrollbar-GQgJusKL.js} +1 -1
  15. package/dist/assets/{SettingsView-binwHNR-.js → SettingsView-nAReQ-WO.js} +6 -6
  16. package/dist/assets/{SettingsWindow-BWV8uobK.js → SettingsWindow-ByZjGGil.js} +1 -1
  17. package/dist/assets/{TerminalView-XqnVsum6.js → TerminalView-BDebSnyS.js} +1 -1
  18. package/dist/assets/{ToolOutputDialog-Dexn468e.js → ToolOutputDialog-DjO_y1ot.js} +2 -2
  19. package/dist/assets/appThemeRegistry-Cvhikp-b.js +2 -0
  20. package/dist/assets/{button-BkTMa7Qj.js → button-CeCkEpvn.js} +1 -1
  21. package/dist/assets/{clipboard-BL4PvBYZ.js → clipboard-2rQvL28z.js} +1 -1
  22. package/dist/assets/{collapsible-CVL-5iEB.js → collapsible-B-aagADh.js} +1 -1
  23. package/dist/assets/{desktopHosts-Dzx3McaD.js → desktopHosts-BrrYPqKq.js} +1 -1
  24. package/dist/assets/{desktopRelayRestore-B9S0Rp5s.js → desktopRelayRestore-DR60DATT.js} +1 -1
  25. package/dist/assets/diagram-Cxma_IKI.js +1 -0
  26. package/dist/assets/{dialog-CD0j-atu.js → dialog-DnzdtCcc.js} +1 -1
  27. package/dist/assets/es-BOiTSQ5G.js +15 -0
  28. package/dist/assets/fileQueries-BJKLdYos.js +1 -0
  29. package/dist/assets/fr-C5pZX4Yb.js +13 -0
  30. package/dist/assets/{gitApi-D9vHiQyq.js → gitApi-Bd0c1Q2V.js} +3 -3
  31. package/dist/assets/{input-Ca2tUhgN.js → input-CyG05w-V.js} +1 -1
  32. package/dist/assets/insertionBoundaries-BYeRINnN.js +4 -0
  33. package/dist/assets/ja-80U-a23j.js +15 -0
  34. package/dist/assets/ko-tcJcPnGS.js +15 -0
  35. package/dist/assets/main-ClvP1a7S.js +29 -0
  36. package/dist/assets/{main-CICj-qSr.js → main-CxAkmyyt.js} +2 -2
  37. package/dist/assets/{markdown-worker-9Sn2jsDp.js → markdown-worker-DqO-GnVj.js} +1 -1
  38. package/dist/assets/{markdownTheme-DidS-jC5.js → markdownTheme-H7_7lbuh.js} +1 -1
  39. package/dist/assets/{miniChat-Dv6oqaWh.js → miniChat-Cxaul1lZ.js} +2 -2
  40. package/dist/assets/mobile-CJrqPRDV.js +2 -0
  41. package/dist/assets/multirun-C2s54nPR.js +4 -0
  42. package/dist/assets/{persistence-aCOlo6ew.js → persistence-DE9RnVcA.js} +2 -2
  43. package/dist/assets/pl-CIRIRP8a.js +15 -0
  44. package/dist/assets/{platform-ulFAVx1H.js → platform-MjT8iqKB.js} +1 -1
  45. package/dist/assets/{projectMeta-C73Y8iuW.js → projectMeta-B57BBzCu.js} +2 -2
  46. package/dist/assets/pt-BR-yXSOtWjW.js +15 -0
  47. package/dist/assets/radio-Q6YqsyIP.js +1 -0
  48. package/dist/assets/renderElectronMiniChatApp-_AzEaUsB.js +2 -0
  49. package/dist/assets/renderMobileApp-BTv6q8lZ.js +23 -0
  50. package/dist/assets/{runtimeConfig-gee3OGVR.js → runtimeConfig-DuDAwOMA.js} +1 -1
  51. package/dist/assets/runtimeEndpointReset-Dx_xjrJJ.js +4 -0
  52. package/dist/assets/{shikiHighlight-Bwrjs3dJ.js → shikiHighlight-BndtgqWq.js} +1 -1
  53. package/dist/assets/{sortable-tabs-strip-Bl26ebY_.js → sortable-tabs-strip-CmUWXOHX.js} +1 -1
  54. package/dist/assets/src-BM9HiQZr.css +2 -0
  55. package/dist/assets/store-NWfuTiFD.js +15 -0
  56. package/dist/assets/{terminalApi-HsIEks5U.js → terminalApi-Bnx0KvaV.js} +1 -1
  57. package/dist/assets/{tooltip-GC3dg3gO.js → tooltip-B__x-HDJ.js} +1 -1
  58. package/dist/assets/uk-Do9LnhN3.js +15 -0
  59. package/dist/assets/{url-BQHM4bC4.js → url-CTuw7Rjf.js} +1 -1
  60. package/dist/assets/{useAppFontEffects-BfgNZcSc.js → useAppFontEffects-BOb-KnPD.js} +5 -5
  61. package/dist/assets/{useAssistantUIStore-DxZsjSPQ.js → useAssistantUIStore-D2K7ksGj.js} +1 -1
  62. package/dist/assets/{useDesktopWindowControlsLayout-EkkpTi5u.js → useDesktopWindowControlsLayout-C6QyNddK.js} +1 -1
  63. package/dist/assets/{useEffectiveDirectory-CMr7RG4i.js → useEffectiveDirectory-vETxfBGl.js} +1 -1
  64. package/dist/assets/{useFontPreferences-DaFspdDd.js → useFontPreferences-CWZnNRjz.js} +1 -1
  65. package/dist/assets/{useMobileNavigationStore-55ddqHLu.js → useMobileNavigationStore-DEJsQXXn.js} +12 -75
  66. package/dist/assets/{useSessionAutoCleanup-CC3HaBQr.js → useSessionAutoCleanup-DVFZrtFD.js} +1 -1
  67. package/dist/assets/{useUIStore-Wyu09VUF.js → useUIStore-DOxLVeGb.js} +1 -1
  68. package/dist/assets/{useWorkerHighlightedLines-DqeV0VeO.js → useWorkerHighlightedLines-KRKz_-Ix.js} +1 -1
  69. package/dist/assets/{utils-CJdWZupK.js → utils-C2R0YoC5.js} +1 -1
  70. package/dist/assets/zh-CN-BAZNUvn0.js +15 -0
  71. package/dist/assets/zh-TW-BQsPCZWH.js +15 -0
  72. package/dist/index.html +9 -9
  73. package/dist/mini-chat.html +9 -9
  74. package/dist/mobile.html +9 -9
  75. package/package.json +1 -1
  76. package/server/index.js +0 -5
  77. package/dist/assets/AssistantView-C-QMt6k-.js +0 -1
  78. package/dist/assets/ContextPanel-BgZaO94E.js +0 -288
  79. package/dist/assets/DiagramView-B1QrNXxn.js +0 -1
  80. package/dist/assets/MobileSurface-Dc19Aj5q.js +0 -2
  81. package/dist/assets/appThemeRegistry-BxZ-hog4.js +0 -2
  82. package/dist/assets/es-C-RVtNF4.js +0 -15
  83. package/dist/assets/fileQueries-_VUJM8AE.js +0 -1
  84. package/dist/assets/fr-C6VZ9yt-.js +0 -13
  85. package/dist/assets/insertionBoundaries-DA2NoBgN.js +0 -4
  86. package/dist/assets/ja-BdksT20v.js +0 -15
  87. package/dist/assets/ko-CvsczTmf.js +0 -15
  88. package/dist/assets/main-CzrzNCue.js +0 -29
  89. package/dist/assets/mobile-BNrav53B.js +0 -2
  90. package/dist/assets/multirun-CK3Iwo-v.js +0 -4
  91. package/dist/assets/pl-C84UGmMr.js +0 -15
  92. package/dist/assets/pt-BR-DISmT3zF.js +0 -15
  93. package/dist/assets/radio-ChOSH5D4.js +0 -1
  94. package/dist/assets/renderElectronMiniChatApp-Bj5s68c_.js +0 -2
  95. package/dist/assets/renderMobileApp-CYSL9xiM.js +0 -23
  96. package/dist/assets/runtimeEndpointReset-CbDDkuDo.js +0 -4
  97. package/dist/assets/src-BwToVDxi.css +0 -2
  98. package/dist/assets/store-Dge7C5E4.js +0 -15
  99. package/dist/assets/uk-Ba5HBTQU.js +0 -15
  100. package/dist/assets/zh-CN-BZYwBvs-.js +0 -15
  101. package/dist/assets/zh-TW-BsJuPsIi.js +0 -15
package/dist/index.html CHANGED
@@ -552,25 +552,25 @@
552
552
  opacity: 0.72;
553
553
  }
554
554
  </style>
555
- <script type="module" crossorigin src="/assets/main-CICj-qSr.js"></script>
555
+ <script type="module" crossorigin src="/assets/main-CxAkmyyt.js"></script>
556
556
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-C0FnF6B9.js">
557
557
  <link rel="modulepreload" crossorigin href="/assets/vendor-base-ui-CnHfUmDN.js">
558
558
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-B4dlGEM2.js">
559
- <link rel="modulepreload" crossorigin href="/assets/useUIStore-Wyu09VUF.js">
559
+ <link rel="modulepreload" crossorigin href="/assets/useUIStore-DOxLVeGb.js">
560
560
  <link rel="modulepreload" crossorigin href="/assets/vendor-pathe-vBmvQE8f.js">
561
561
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DLPElpoQ.js">
562
562
  <link rel="modulepreload" crossorigin href="/assets/vendor-tanstack-query-core-BWz0ose6.js">
563
- <link rel="modulepreload" crossorigin href="/assets/persistence-aCOlo6ew.js">
564
- <link rel="modulepreload" crossorigin href="/assets/desktopHosts-Dzx3McaD.js">
565
- <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-B9S0Rp5s.js">
563
+ <link rel="modulepreload" crossorigin href="/assets/persistence-DE9RnVcA.js">
564
+ <link rel="modulepreload" crossorigin href="/assets/desktopHosts-BrrYPqKq.js">
565
+ <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-DR60DATT.js">
566
566
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-sdk-C07HQypa.js">
567
567
  <link rel="modulepreload" crossorigin href="/assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js">
568
- <link rel="modulepreload" crossorigin href="/assets/platform-ulFAVx1H.js">
569
- <link rel="modulepreload" crossorigin href="/assets/terminalApi-HsIEks5U.js">
568
+ <link rel="modulepreload" crossorigin href="/assets/platform-MjT8iqKB.js">
569
+ <link rel="modulepreload" crossorigin href="/assets/terminalApi-Bnx0KvaV.js">
570
570
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
571
571
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-DCowZ2ab.js">
572
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-gee3OGVR.js">
573
- <link rel="stylesheet" crossorigin href="/assets/src-BwToVDxi.css">
572
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DuDAwOMA.js">
573
+ <link rel="stylesheet" crossorigin href="/assets/src-BM9HiQZr.css">
574
574
  </head>
575
575
  <body class="h-full bg-background text-foreground">
576
576
  <!-- Keep the startup layer outside #root. React replaces every child of
@@ -74,25 +74,25 @@
74
74
  }
75
75
  </style>
76
76
 
77
- <script type="module" crossorigin src="/assets/miniChat-Dv6oqaWh.js"></script>
77
+ <script type="module" crossorigin src="/assets/miniChat-Cxaul1lZ.js"></script>
78
78
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-C0FnF6B9.js">
79
79
  <link rel="modulepreload" crossorigin href="/assets/vendor-base-ui-CnHfUmDN.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-B4dlGEM2.js">
81
- <link rel="modulepreload" crossorigin href="/assets/useUIStore-Wyu09VUF.js">
81
+ <link rel="modulepreload" crossorigin href="/assets/useUIStore-DOxLVeGb.js">
82
82
  <link rel="modulepreload" crossorigin href="/assets/vendor-pathe-vBmvQE8f.js">
83
83
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DLPElpoQ.js">
84
84
  <link rel="modulepreload" crossorigin href="/assets/vendor-tanstack-query-core-BWz0ose6.js">
85
- <link rel="modulepreload" crossorigin href="/assets/persistence-aCOlo6ew.js">
86
- <link rel="modulepreload" crossorigin href="/assets/desktopHosts-Dzx3McaD.js">
87
- <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-B9S0Rp5s.js">
85
+ <link rel="modulepreload" crossorigin href="/assets/persistence-DE9RnVcA.js">
86
+ <link rel="modulepreload" crossorigin href="/assets/desktopHosts-BrrYPqKq.js">
87
+ <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-DR60DATT.js">
88
88
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-sdk-C07HQypa.js">
89
89
  <link rel="modulepreload" crossorigin href="/assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js">
90
- <link rel="modulepreload" crossorigin href="/assets/platform-ulFAVx1H.js">
91
- <link rel="modulepreload" crossorigin href="/assets/terminalApi-HsIEks5U.js">
90
+ <link rel="modulepreload" crossorigin href="/assets/platform-MjT8iqKB.js">
91
+ <link rel="modulepreload" crossorigin href="/assets/terminalApi-Bnx0KvaV.js">
92
92
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
93
93
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-DCowZ2ab.js">
94
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-gee3OGVR.js">
95
- <link rel="stylesheet" crossorigin href="/assets/src-BwToVDxi.css">
94
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DuDAwOMA.js">
95
+ <link rel="stylesheet" crossorigin href="/assets/src-BM9HiQZr.css">
96
96
  </head>
97
97
  <body class="h-full bg-background text-foreground">
98
98
  <div id="root" class="h-full">
package/dist/mobile.html CHANGED
@@ -63,25 +63,25 @@
63
63
  })();
64
64
  </script>
65
65
 
66
- <script type="module" crossorigin src="/assets/mobile-BNrav53B.js"></script>
66
+ <script type="module" crossorigin src="/assets/mobile-CJrqPRDV.js"></script>
67
67
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-C0FnF6B9.js">
68
68
  <link rel="modulepreload" crossorigin href="/assets/vendor-base-ui-CnHfUmDN.js">
69
69
  <link rel="modulepreload" crossorigin href="/assets/vendor-zustand-B4dlGEM2.js">
70
- <link rel="modulepreload" crossorigin href="/assets/useUIStore-Wyu09VUF.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/useUIStore-DOxLVeGb.js">
71
71
  <link rel="modulepreload" crossorigin href="/assets/vendor-pathe-vBmvQE8f.js">
72
72
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DLPElpoQ.js">
73
73
  <link rel="modulepreload" crossorigin href="/assets/vendor-tanstack-query-core-BWz0ose6.js">
74
- <link rel="modulepreload" crossorigin href="/assets/persistence-aCOlo6ew.js">
75
- <link rel="modulepreload" crossorigin href="/assets/desktopHosts-Dzx3McaD.js">
76
- <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-B9S0Rp5s.js">
74
+ <link rel="modulepreload" crossorigin href="/assets/persistence-DE9RnVcA.js">
75
+ <link rel="modulepreload" crossorigin href="/assets/desktopHosts-BrrYPqKq.js">
76
+ <link rel="modulepreload" crossorigin href="/assets/desktopRelayRestore-DR60DATT.js">
77
77
  <link rel="modulepreload" crossorigin href="/assets/vendor-opencode-sdk-C07HQypa.js">
78
78
  <link rel="modulepreload" crossorigin href="/assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js">
79
- <link rel="modulepreload" crossorigin href="/assets/platform-ulFAVx1H.js">
80
- <link rel="modulepreload" crossorigin href="/assets/terminalApi-HsIEks5U.js">
79
+ <link rel="modulepreload" crossorigin href="/assets/platform-MjT8iqKB.js">
80
+ <link rel="modulepreload" crossorigin href="/assets/terminalApi-Bnx0KvaV.js">
81
81
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
82
82
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-DCowZ2ab.js">
83
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-gee3OGVR.js">
84
- <link rel="stylesheet" crossorigin href="/assets/src-BwToVDxi.css">
83
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DuDAwOMA.js">
84
+ <link rel="stylesheet" crossorigin href="/assets/src-BM9HiQZr.css">
85
85
  </head>
86
86
  <body class="h-full bg-background text-foreground">
87
87
  <div id="root" class="h-full"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openchambery/web",
3
- "version": "1.19.2-beta.2",
3
+ "version": "1.19.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./server/index.js",
package/server/index.js CHANGED
@@ -202,10 +202,6 @@ const shouldSkipApiCompression = () => {
202
202
 
203
203
  const OPENCHAMBER_VERBOSE_REQUEST_LOGS = isEnvFlagEnabled(process.env.OPENCHAMBER_VERBOSE_REQUEST_LOGS);
204
204
 
205
- const PLAN_MODE_EXPERIMENT_ENABLED =
206
- isEnvFlagEnabled(process.env.OPENCODE_EXPERIMENTAL_PLAN_MODE)
207
- || isEnvFlagEnabled(process.env.OPENCODE_EXPERIMENTAL);
208
-
209
205
  const fsPromises = fs.promises;
210
206
 
211
207
  const settingsNormalizationRuntime = createSettingsNormalizationRuntime({
@@ -1400,7 +1396,6 @@ async function main(options = {}) {
1400
1396
  nodeBinaryResolved: resolvedNodeBinary || null,
1401
1397
  bunBinaryResolved: resolvedBunBinary || null,
1402
1398
  desktopNotifyEnabled: ENV_DESKTOP_NOTIFY,
1403
- planModeExperimentalEnabled: PLAN_MODE_EXPERIMENT_ENABLED,
1404
1399
  apiOnly,
1405
1400
  };
1406
1401
  },
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{A as n,E as r,t as i,w as a}from"./useUIStore-Wyu09VUF.js";import{$t as o,Ot as s,et as c,rt as l,yt as u}from"./persistence-aCOlo6ew.js";import{nt as d,rt as f}from"./vendor-base-ui-CnHfUmDN.js";import{r as p}from"./platform-ulFAVx1H.js";import{n as m}from"./vendor-react-DLPElpoQ.js";import{r as h}from"./vendor-sonner-DVzioF3d.js";import{n as g}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as _}from"./clipboard-BL4PvBYZ.js";import{a as v,n as y,s as b}from"./MobileShareBridge-CNmHWzk2.js";import{$a as x,Ci as ee,Co as S,Hi as C,Lo as w,So as T,Xa as E,Zr as D,bn as O,dn as k,o as A,on as j,pa as M,ti as N,vn as P,yn as F}from"./useMobileNavigationStore-55ddqHLu.js";import{_ as I,a as L,c as R,d as z,f as B,g as te,l as ne,n as re,o as ie,p as ae,r as oe,t as V,v as H,x as U,y as se}from"./MobileDetailNavigation-BYWMhqdh.js";import{i as ce,r as le}from"./useAssistantUIStore-DxZsjSPQ.js";import{a as ue,i as de,n as W,o as G,r as K,t as q}from"./dialog-CD0j-atu.js";import{t as fe}from"./utils-CJdWZupK.js";import{t as pe}from"./AgentAvatar-DgGHpQoD.js";import{n as me}from"./Icon-Bs6GJIoO.js";import{t as he}from"./button-BkTMa7Qj.js";import{i as ge}from"./OverlayScrollbar-VZKKu-cu.js";import{$ as _e,H as ve,R as ye,U as be,t as J,z as xe}from"./ChatContainer-BXsYtF5J.js";import{t as Se}from"./ContextPanel-BgZaO94E.js";import{a as Ce,c as we,l as Te,o as Ee,s as De}from"./shikiHighlight-Bwrjs3dJ.js";var Y=e(f(),1),Oe=m(),X=e=>e.isVSCode||e.isPhoneShell||e.isMobile&&!e.isIPad?`session`:`context-panel`,Z=d(),ke=e=>{let t=(0,Oe.c)(56),{assistant:n,sessionID:r,warning:a,surface:s,onRevertMessage:c,onEditMessage:l,pendingUserMessages:u,onPendingUserMessagesMaterialized:d}=e,{t:f}=_(),{isMobile:m}=ge(),h=n.effectiveWorkspacePath,v;t[0]!==n.sessionGeneration||t[1]!==r?(v={sessionID:r,sessionGeneration:n.sessionGeneration},t[0]=n.sessionGeneration,t[1]=r,t[2]=v):v=t[2];let y=H(n.id,v,s.active);y.data?.pages;let b;t[3]===y.data?.pages?b=t[4]:(b=y.data?.pages??[],t[3]=y.data?.pages,t[4]=b);let x;t[5]===b?x=t[6]:(x=ee(b),t[5]=b,t[6]=x);let S=x,C;if(t[7]!==S){C=new Map;for(let e of S){let t=C.get(e.sessionID);C.set(e.sessionID,t===void 0||t===e.directory?e.directory:null)}t[7]=S,t[8]=C}else C=t[8];let w=C,T;t[9]===y?T=t[10]:(T=async()=>{(y.hasNextPage||y.isFetchNextPageError)&&await y.fetchNextPage()},t[9]=y,t[10]=T);let E=g(T),D=n.mode===`continuous`,k=ye(),A;t[11]===k?A=t[12]:(A=k&&!p(),t[11]=k,t[12]=A);let j=!!A,M;t[13]===j?M=t[14]:(M=(e,t)=>{O(e,t,{phoneShell:j,switchToChat:!0})},t[13]=j,t[14]=M);let N=g(M),P;t[15]!==h||t[16]!==w||t[17]!==N||t[18]!==r?(P=(e,t)=>{let n=e===r?h:w.get(e);if(!n||n!==t){F(e,`missing-directory`);return}N(e,t)},t[15]=h,t[16]=w,t[17]=N,t[18]=r,t[19]=P):P=t[19];let I=g(P),L;t[20]!==m||t[21]!==j||t[22]!==N||t[23]!==f?(L=(e,t)=>{let n=e.trim(),r=t.trim();if(!n){F(e,`missing-session-id`);return}if(!r){F(n,`missing-directory`);return}if(X({isPhoneShell:j,isMobile:m,isIPad:p(),isVSCode:o()})===`session`){N(n,r);return}i.getState().openContextPanelTab(r,{mode:`chat`,dedupeKey:`session:${n}`,label:f(`contextPanel.mode.chat`),readOnly:!0})},t[20]=m,t[21]=j,t[22]=N,t[23]=f,t[24]=L):L=t[24];let R=g(L),z;t[25]===D?z=t[26]:(z={...xe,forkSession:!1,mutateSession:D},t[25]=D,t[26]=z);let B;t[27]===l?B=t[28]:(B=l?{onEditMessage:l}:{},t[27]=l,t[28]=B);let te;t[29]!==h||t[30]!==R||t[31]!==c||t[32]!==I||t[33]!==r||t[34]!==s.active||t[35]!==s.surfaceID||t[36]!==B||t[37]!==z?(te={kind:`embedded`,surfaceId:s.surfaceID,sessionId:r,directory:h,active:s.active,capabilities:z,navigateSession:R,onRevertMessage:c,...B,openSourceSession:I},t[29]=h,t[30]=R,t[31]=c,t[32]=I,t[33]=r,t[34]=s.active,t[35]=s.surfaceID,t[36]=B,t[37]=z,t[38]=te):te=t[38];let ne=te,re=y.isError||y.isSuccess&&!y.hasNextPage,ie=y.isLoading||y.isFetchingNextPage,ae;t[39]!==E||t[40]!==re||t[41]!==S||t[42]!==ie?(ae={entries:S,complete:re,loading:ie,fetchPrevious:E},t[39]=E,t[40]=re,t[41]=S,t[42]=ie,t[43]=ae):ae=t[43];let oe;t[44]!==h||t[45]!==d||t[46]!==c||t[47]!==u||t[48]!==r||t[49]!==ne||t[50]!==s||t[51]!==ae||t[52]!==a?(oe={sessionId:r,directory:h,composerSurface:s,sessionSurface:ne,warning:a,pendingUserMessages:u,onPendingUserMessagesMaterialized:d,assistantHistory:ae,onRevertMessage:c},t[44]=h,t[45]=d,t[46]=c,t[47]=u,t[48]=r,t[49]=ne,t[50]=s,t[51]=ae,t[52]=a,t[53]=oe):oe=t[53];let V=oe,U;return t[54]===V?U=t[55]:(U=(0,Z.jsx)(J,{autoOpenDraft:!1,host:V}),t[54]=V,t[55]=U),U},Ae=class extends Error{constructor(){super(`assistant_selection_stale`)}},Q=(e,t)=>e.assistantID===t.assistantID&&e.transportIdentity===t.transportIdentity&&e.runtimeGeneration===t.runtimeGeneration,je=class{onBusyChange;onError;flight=null;authoritativeIdentity=null;constructor(e,t){this.onBusyChange=e,this.onError=t}activate(e){this.authoritativeIdentity&&!Q(this.authoritativeIdentity,e)&&this.flight&&this.retire(this.flight),this.authoritativeIdentity=e}enqueue(e,t,n){if(!this.isAuthoritative(e))return Promise.reject(new Ae);let r=this.flight;r||(r={identity:e,controller:new AbortController,running:!1,desired:null,waiters:[],activeWaiters:[],idleWaiters:[],retired:!1},this.flight=r),r.desired=t;let i=new Promise((e,t)=>{r.waiters.push({resolve:e,reject:t})});return r.running||(r.running=!0,this.onBusyChange(!0),this.run(r,n)),i}async flush(e){if(!this.isAuthoritative(e))throw new Ae;let t=this.flight;t?.running&&await new Promise((e,n)=>t.idleWaiters.push({resolve:e,reject:n}))}assertAuthoritative(e){if(!this.isAuthoritative(e))throw new Ae}dispose(){this.flight&&this.retire(this.flight),this.authoritativeIdentity=null}async run(e,t){for(;!e.retired&&e.desired;){let n=e.desired;e.desired=null;let r=e.waiters.splice(0);e.activeWaiters=r;try{if(await t({identity:e.identity,selection:n,signal:e.controller.signal}),!e.retired)for(let e of r)e.resolve()}catch(t){if(!e.retired){this.onError(t);for(let e of r)e.reject(t)}}e.activeWaiters=[]}e.running=!1;for(let t of e.idleWaiters.splice(0))t.resolve();this.flight===e&&this.onBusyChange(!1)}retire(e){e.retired=!0,e.controller.abort();let t=new Ae;for(let n of e.activeWaiters.splice(0))n.reject(t);for(let n of e.waiters.splice(0))n.reject(t);for(let n of e.idleWaiters.splice(0))n.reject(t);this.flight===e&&(this.flight=null,this.onBusyChange(!1))}isAuthoritative(e){return this.authoritativeIdentity!==null&&Q(this.authoritativeIdentity,e)}},Me=(e,t)=>{let n=t.providerID??e.providerID,r=t.modelID??e.modelID,i=n!==e.providerID||r!==e.modelID;return{enabled:e.enabled,name:e.name,defaultPrompt:e.defaultPrompt,workspacePath:e.workspacePath,providerID:n,modelID:r,agent:t.agent??null,variant:i?null:t.variant??null,mode:e.mode}},Ne=async(e,t,n)=>{n.assertAuthoritative();let r=n.readSnapshot()?.assistants.find(t=>t.id===e.assistantID);if(!r)throw Error(`assistant_unavailable`);try{n.assertAuthoritative(),await n.updateAssistant(r,Me(r,t)),n.assertAuthoritative()}catch(i){if(n.assertAuthoritative(),n.signal.aborted)throw new Ae;if(!(i instanceof U)||i.code!==`revision_conflict`)throw i;if(n.assertAuthoritative(),r=(await n.ensureSnapshot(n.signal)).assistants.find(t=>t.id===e.assistantID),n.assertAuthoritative(),!r)throw new U(`revision_conflict`,409);n.assertAuthoritative(),await n.updateAssistant(r,Me(r,t)),n.assertAuthoritative()}};async function Pe(e){await L(e);let t=ce.getState().defaultShareAssistant;if(t?.assistantID!==e.id)return;let n=await R();n.serverInstanceID&&t.serverInstanceID===n.serverInstanceID&&ce.getState().setDefaultShareAssistant(null)}function Fe({assistant:e,open:t,onOpenChange:n,onDeleted:r}){let{t:i}=_(),[a,o]=Y.useState(!1),s=e?v(e.name).displayName||e.name:``,c=g(e=>{a&&!e||n(e)}),l=g(()=>{a||n(!1)}),u=g(async()=>{if(!(!e||a)){o(!0);try{await Pe(e),r?.(e.id),n(!1),h.success(i(`assistants.settings.toast.deleted`))}catch{h.error(i(`assistants.settings.toast.deleteFailed`))}finally{o(!1)}}});return(0,Z.jsx)(q,{open:t&&e!==null,onOpenChange:c,children:(0,Z.jsxs)(W,{className:`max-w-md`,children:[(0,Z.jsxs)(ue,{children:[(0,Z.jsx)(G,{children:i(`assistants.settings.delete`)}),(0,Z.jsx)(K,{children:i(`assistants.settings.deleteConfirm`,{name:s})})]}),(0,Z.jsxs)(de,{children:[(0,Z.jsx)(he,{size:`sm`,variant:`ghost`,onClick:l,disabled:a,children:i(`settings.common.actions.cancel`)}),(0,Z.jsx)(he,{size:`sm`,variant:`destructive`,onClick:u,disabled:a,children:i(`settings.common.actions.delete`)})]})]})})}var Ie=[0,500,1500,4e3],Le=(e,t,n)=>{let r=!1,i=e.map(e=>e.info.id!==t||e.info.sessionID===n?e:(r=!0,{...e,info:{...e.info,sessionID:n}}));return r?i:e},Re=e=>{let t=e.refreshDelaysMs??Ie,n=e.sleep??(e=>new Promise(t=>setTimeout(t,e)));(async()=>{for(let r of t){if(r>0&&await n(r),!e.isCurrent())return;try{await e.refresh(e.binding);break}catch{}}})()},ze=e=>`${e.transport}\u0000${e.assistantID}`,Be=e=>({transport:e.transport,assistantID:e.assistantID}),Ve=(e,t)=>e.assistantID===t.assistantID&&e.sessionID===t.sessionID&&e.directory===t.directory&&e.sessionGeneration===t.sessionGeneration&&e.transport===t.transport&&e.runtimeGeneration===t.runtimeGeneration,He=(e,t)=>e.assistantID===t.assistantID&&e.sessionID===t.sessionID&&e.directory===t.directory&&e.sessionGeneration===t.sessionGeneration&&e.messageID===t.messageID&&e.transport===t.transport&&e.runtimeGeneration===t.runtimeGeneration,Ue=()=>{let e=new Map,t=new Map,n=1,r=e=>ze(e),i=async(e,n)=>{let i=r(e),a=t.get(i)??Promise.resolve(),o,s=new Promise(e=>{o=e}),c=a.catch(()=>void 0).then(()=>s);t.set(i,c),await a.catch(()=>void 0);try{return await n()}finally{o(),t.get(i)===c&&t.delete(i)}},a=(t,i)=>{let a=r(Be(t)),o=n++;return e.set(a,{identity:t,rollback:i,token:o}),o},o=t=>e.get(r(t))?.identity,s=t=>e.delete(r(t)),c=async e=>i(e,()=>s(e)),l=async t=>{let n=r(t),i=e.get(n);if(!i)return{kind:`none`};let a=i.token,o=i.identity,s;try{s=await i.rollback()}catch{return{kind:`blocked`,status:`failed`}}let c=e.get(n);return!c||c.token!==a||!He(c.identity,o)?{kind:`superseded`}:s.status===`rolled-back`||s.status===`conflict`?(e.delete(n),{kind:`cleared`,status:s.status}):{kind:`blocked`,status:s.status}},u=async(t,n)=>{let i=r(t),a=e.get(i);if(!a)return{kind:`none`};if(Ve(a.identity,n))return{kind:`match`};let o=a.token,s=a.identity,c=await a.rollback(),l=e.get(i);return!l||l.token!==o||!He(l.identity,s)?{kind:`superseded`}:c.status===`rolled-back`||c.status===`conflict`?(e.delete(i),{kind:`cleared`,status:c.status}):{kind:`rollback_failed`,retained:!0,status:c.status}};return{register:a,read:o,clear:s,clearExclusive:c,retireCurrent:l,rollbackAndClearIfBindingMismatch:async(e,t)=>i(e,()=>u(e,t)),rollbackAllBestEffort:async t=>{let n=[...e.entries()];await Promise.all(n.map(async([,n])=>{if(t?.excludeTransport!==void 0&&n.identity.transport===t.excludeTransport)return;let a=Be(n.identity);await i(a,async()=>{let t=r(a),i=e.get(t);if(!i||i.token!==n.token)return;let o=i.token,s=i.identity;try{let n=await i.rollback(),r=e.get(t);if(!r||r.token!==o||!He(r.identity,s))return;(n.status===`rolled-back`||n.status===`conflict`)&&e.delete(t)}catch{}})}))},stageExclusive:async(e,t)=>i(e,async()=>{let n=await l(e);if(n.kind===`blocked`)return{kind:`blocked`,status:n.status};let r=await t();if(!r)return{kind:`skipped`};let i=a(r.identity,r.rollback);return r.protectOnStale?{kind:`stale_protected`,token:i,identity:r.identity}:{kind:`registered`,token:i,identity:r.identity}})}},We=(e,t)=>!e?.attachments?.length||!t?[]:e.attachments.flatMap(e=>{let n=t[e.attachmentRefID];return n?[n]:[]}),Ge=(e,t)=>{let n=t??{};return e.map(e=>({partID:e.partID,text:e.text,...e.synthetic===!0?{synthetic:!0}:{},attachments:e.attachments.flatMap(e=>n[e.attachmentRefID]?[n[e.attachmentRefID]]:[])}))},Ke=(e,t)=>{if(t.length===0)return[...e];let n=new Map;for(let t of e)n.set(t.partID,t);for(let e of t)n.set(e.partID,e);let r=new Set,i=[];for(let t of e){let e=n.get(t.partID);e&&(i.push(e),r.add(t.partID))}for(let e of t)r.has(e.partID)||(i.push(e),r.add(e.partID));return i},qe=t({AssistantView:()=>et}),Je={},Ye=[],Xe=[],Ze=(e,t,n)=>[...e===void 0?[]:[{type:`text`,text:e}],...(t??[]).flatMap(e=>[{type:`text`,text:e.text,...e.synthetic===!0?{synthetic:!0}:{}},...(e.attachments??[]).map(e=>({type:`file`,mime:e.mimeType,url:e.dataUrl}))]),...(n??[]).map(e=>({type:`file`,mime:e.mimeType,url:e.dataUrl}))],Qe=e=>{let t=(0,Oe.c)(11),{assistant:n,onBack:r}=e,{t:i}=_(),a;t[0]===n?a=t[1]:(a=n?v(n.name):null,t[0]=n,t[1]=a);let o=a,s=n&&o?o.displayName||n.name:``,c;t[2]!==s||t[3]!==i?(c=s||i(`assistants.title`),t[2]=s,t[3]=i,t[4]=c):c=t[4];let l;t[5]===i?l=t[6]:(l=i(`assistants.actions.backToChat`),t[5]=i,t[6]=l);let u;return t[7]!==r||t[8]!==c||t[9]!==l?(u=(0,Z.jsx)(V,{title:c,backAriaLabel:l,onBack:r,overlay:!0}),t[7]=r,t[8]=c,t[9]=l,t[10]=u):u=t[10],u},$e=e=>{let t=(0,Oe.c)(45),{assistantID:n,displayName:r,avatarEmoji:i,modeLabel:a,selected:o,enabled:s,editLabel:c,deleteLabel:l,onSelect:u,onEdit:d,onDelete:f}=e,[p,m]=Y.useState(!1),h;t[0]===u?h=t[1]:(h=()=>u(),t[0]=u,t[1]=h);let _=g(h),v;t[2]===d?v=t[3]:(v=()=>{m(!1),d()},t[2]=d,t[3]=v);let y=g(v),b;t[4]===f?b=t[5]:(b=()=>{m(!1),f()},t[4]=f,t[5]=b);let x=g(b),ee;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(ee=e=>{e.preventDefault(),m(!0)},t[6]=ee):ee=t[6];let S=o?`border-border/50 bg-[var(--surface-elevated)]`:`border-transparent hover:bg-interactive-hover`,C=!s&&`opacity-65`,w;t[7]!==S||t[8]!==C?(w=fe(`flex w-full min-h-11 items-center gap-3 rounded-xl border px-3 py-3 text-left outline-none transition-[background-color,border-color,opacity] duration-150 ease-out active:bg-interactive-active focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,S,C),t[7]=S,t[8]=C,t[9]=w):w=t[9];let T;t[10]!==_||t[11]!==o||t[12]!==w?(T=(0,Z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":o,onClick:_,onContextMenu:ee,className:w}),t[10]=_,t[11]=o,t[12]=w,t[13]=T):T=t[13];let E;t[14]!==n||t[15]!==i||t[16]!==r?(E=(0,Z.jsx)(pe,{name:n,emoji:i,size:24,label:r}),t[14]=n,t[15]=i,t[16]=r,t[17]=E):E=t[17];let D;t[18]===r?D=t[19]:(D=(0,Z.jsx)(`span`,{className:`block truncate typography-ui-label font-medium`,children:r}),t[18]=r,t[19]=D);let O;t[20]===a?O=t[21]:(O=(0,Z.jsx)(`span`,{className:`mt-0.5 block truncate typography-micro text-muted-foreground`,children:a}),t[20]=a,t[21]=O);let k;t[22]!==D||t[23]!==O?(k=(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[D,O]}),t[22]=D,t[23]=O,t[24]=k):k=t[24];let A;t[25]!==k||t[26]!==T||t[27]!==E?(A=(0,Z.jsxs)(Te,{render:T,children:[E,k]}),t[25]=k,t[26]=T,t[27]=E,t[28]=A):A=t[28];let j;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Z.jsx)(me,{name:`edit`,className:`size-4`}),t[29]=j):j=t[29];let M;t[30]!==c||t[31]!==y?(M=(0,Z.jsxs)(De,{onClick:y,children:[j,c]}),t[30]=c,t[31]=y,t[32]=M):M=t[32];let N;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Z.jsx)(we,{}),t[33]=N):N=t[33];let P;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Z.jsx)(me,{name:`delete-bin`,className:`size-4`}),t[34]=P):P=t[34];let F;t[35]!==l||t[36]!==x?(F=(0,Z.jsxs)(De,{onClick:x,className:`text-[var(--status-error)] focus:text-[var(--status-error)] data-[highlighted]:text-[var(--status-error)] [&_svg]:text-[var(--status-error)]`,children:[P,l]}),t[35]=l,t[36]=x,t[37]=F):F=t[37];let I;t[38]!==M||t[39]!==F?(I=(0,Z.jsxs)(Ee,{className:`min-w-[10rem]`,children:[M,N,F]}),t[38]=M,t[39]=F,t[40]=I):I=t[40];let L;return t[41]!==p||t[42]!==A||t[43]!==I?(L=(0,Z.jsxs)(Ce,{open:p,onOpenChange:m,children:[A,I]}),t[41]=p,t[42]=A,t[43]=I,t[44]=L):L=t[44],L},et=({activeOverride:e,onMobileBack:t})=>{let{t:o}=_(),{isMobile:d}=ge(),f=ye(),p=Y.useSyncExternalStore(n,r,r),m=a(),ee=i(e=>e.activeMainTab===`assistant`),O=e??ee,F=i(e=>e.isMobile),L=d||F,R=I(),V=se(),H=V.data,U=ce(e=>e.assistantByTransport[p]??null),ue=ce(e=>e.selectAssistant),de=ce(e=>e.requestCreate),W=H?.assistants.find(e=>e.id===U)??null,G=W?.id??``,K=W?.sessionID??``,q=W?.effectiveWorkspacePath??``,J=Y.useMemo(()=>s({transportIdentity:p},`assistant:${G}`),[G,p]),xe=u(J),Ce=w(e=>e.draftAttachmentViews[xe]??Je),we=w(e=>e.drafts[xe]),Te=Y.useMemo(()=>{let e=We(we,Ce);return e.length===0?Ye:e},[Ce,we]),Ee=we?.attachments,De=we?.syntheticParts,Oe=Y.useMemo(()=>!Ee||!De?``:`${Ee.map(e=>e.attachmentRefID).join(``)}\u0004${De.map(e=>`${e.partID}\u0002${e.attachments.map(e=>e.attachmentRefID).join(``)}`).join(``)}`,[Ee,De]);Y.useEffect(()=>{G&&w.getState().hydrateDraftAttachments(J)},[G,J,Oe]);let X=S(q||null,{enabled:!!q&&O}),Q=T(q||null,{enabled:!!q&&O}),Me=j(K,q||void 0),Pe=k(K,q||void 0),Ie=P(K),ze=_e(),[Ve,He]=Y.useState(()=>new Map),qe=Y.useRef(0),et=Y.useRef(Ue()),tt=Ve.get(G)??Xe,[,nt]=Y.useState(!1),rt=Y.useRef(()=>{});rt.current=()=>{h.error(o(`assistants.composer.selectionSaveFailed`))};let it=Y.useRef(null);it.current||=new je(nt,e=>rt.current(e));let at=Y.useMemo(()=>({assistantID:G,transportIdentity:p,runtimeGeneration:m}),[G,m,p]),$=it.current,ot=Y.useMemo(()=>({transport:p,assistantID:G}),[G,p]),st=g(async(e,t=p)=>{await et.current.clearExclusive({transport:t,assistantID:e})}),ct=g(e=>{et.current.rollbackAllBestEffort(e).catch(()=>void 0)});Y.useEffect(()=>{!U&&H?.assistants[0]&&ue(H.assistants[0].id)},[ue,U,H?.assistants]),Y.useEffect(()=>{V.isSuccess&&U&&!W&&ue(H?.assistants[0]?.id??null)},[W,ue,U,H?.assistants,V.isSuccess]),Y.useEffect(()=>{O&&G&&!K&&ie(G)},[O,G,K]),Y.useEffect(()=>{qe.current++,He(new Map),ct({excludeTransport:p})},[p,m,ct]),Y.useEffect(()=>()=>{qe.current++,ct()},[ct]),Y.useEffect(()=>{$.activate(at)},[$,at]),Y.useEffect(()=>()=>{$.dispose()},[$]),Y.useEffect(()=>{G&&et.current.rollbackAndClearIfBindingMismatch(ot,{assistantID:G,sessionID:K,directory:q,sessionGeneration:W?.sessionGeneration??-1,transport:p,runtimeGeneration:m}).catch(()=>void 0)},[W?.sessionGeneration,G,q,m,K,ot,p]);let lt=g(e=>at.assistantID?$.enqueue(at,e,async({identity:e,selection:t,signal:n})=>{await Ne(e,t,{readSnapshot:()=>B(void 0,e.transportIdentity),ensureSnapshot:e=>ne(e),updateAssistant:te,signal:n,assertAuthoritative:()=>{if($.assertAuthoritative(e),r()!==e.transportIdentity||a()!==e.runtimeGeneration)throw new Ae}})}):Promise.reject(Error(`assistant_unavailable`))),ut=Y.useMemo(()=>be(Q.data),[Q.data]),dt=g(e=>{if(!W)return;let t=E(ut,W.agent??void 0,e);if(t){let e=x({providerID:W.providerID,modelID:W.modelID,agent:W.agent},t,ut,X.data??[]),n=e.providerID===W.providerID&&e.modelID===W.modelID;lt({...e,agent:e.agent??void 0,variant:n?W.variant??void 0:void 0})}}),ft=g(async(e,t)=>{e.sessionID&&await ze.ensureSessionRenderable(e.sessionID,{directory:e.directory,...t?.force?{force:!0}:{}})}),pt=W?.sessionGeneration;Y.useEffect(()=>{!O||!G||!K||!q||pt===void 0||ft({sessionID:K,directory:q,sessionGeneration:pt},{force:!0})},[O,G,q,ft,pt,K]);let mt=g((e,t)=>{if(t.length===0)return;let n=new Set(t);He(t=>{let r=t.get(e);if(!r?.some(e=>n.has(e.info.id)))return t;let i=new Map(t),a=r.filter(e=>!n.has(e.info.id));return a.length>0?i.set(e,a):i.delete(e),i})}),ht=g((e,t,n)=>{He(r=>{let i=r.get(e);if(!i)return r;let a=Le(i,t,n);if(a===i)return r;let o=new Map(r);return o.set(e,a),o})}),gt=g(e=>{mt(G,e)}),_t=g(async e=>{if(!K||!q)throw Error(`assistant_unavailable`);M(K,q).some(t=>t?.id===e)&&(await D(K,e,{directory:q,draftKey:J,restorePrimaryInput:!1}),await st(G))}),vt=g(async(e,t)=>{if(!W||W.mode!==`continuous`)return;if(!K||!q)throw Error(`assistant_unavailable`);if(!M(K,q).some(t=>t?.id===e))return;if(t.info.id!==e||t.info.sessionID!==K||t.info.role!==`user`)throw Error(`The selected user message is unavailable`);let n={assistantID:W.id,sessionID:K,directory:q,sessionGeneration:W.sessionGeneration,messageID:e,transport:p,runtimeGeneration:m},i=Be(n),o=await et.current.stageExclusive(i,async()=>{let i=await N(K,e,t,{directory:q,draftKey:J}),o=r()===n.transport&&a()===n.runtimeGeneration,s=o?B(void 0,n.transport)?.assistants.find(e=>e.id===n.assistantID):void 0,c=!!(s&&s.mode===`continuous`&&s.sessionID===n.sessionID&&s.sessionGeneration===n.sessionGeneration&&(s.effectiveWorkspacePath??``)===n.directory);if(o&&c)return{identity:n,rollback:()=>i.rollback()};let l=await i.rollback();return l.status===`failed`||l.status===`skipped`?{identity:n,rollback:()=>i.rollback(),protectOnStale:!0}:null});if(o.kind===`blocked`)throw Error(`assistant_stage_message_edit_prior_blocked`);if(o.kind===`stale_protected`)throw Error(`assistant_stage_message_edit_rollback_failed`)}),yt=Y.useMemo(()=>{let e=C(J,()=>w.getState());return{busy:!1,attachments:Te,addAttachment:t=>e.addLocal(t),removeAttachment:t=>e.removeByAttachmentID(t),clearAttachments:()=>e.clearRootAttachments(),restoreAttachments:t=>e.restoreRootAttachments(t),pendingInput:null,consumePendingInput:()=>null,pendingPreset:null,consumePendingPreset:()=>null,consumeSyntheticParts:()=>{let e=w.getState(),t=e.draftAttachmentViews[u(J)]??Je,n=e.consumeDraftSyntheticParts(J,b);return n?Ge(n,t):null},restoreSyntheticParts:e=>{(async()=>{let t=w.getState(),n=e.map(e=>({partID:e.partID??c(),text:e.text,attachments:[],...e.synthetic===!0?{synthetic:!0}:{}})),r=Ke(t.getDraft(J)?.syntheticParts??[],n);t.setDraftSyntheticParts(J,r);for(let r=0;r<n.length;r++){let i=n[r].partID;for(let n of e[r]?.attachments??[])n.source===`server`&&n.dataUrl?t.addDraftDurableAttachment(J,{attachmentID:n.id,filename:n.filename,mimeType:n.mimeType,size:n.size,source:`server`,url:n.dataUrl,serverPath:n.serverPath,partID:i}):await t.addDraftLocalAttachment(J,n.file,{attachmentID:n.id,filename:n.filename,source:n.source===`vscode`?`vscode`:`local`,vscodePath:n.vscodePath,vscodeSource:n.vscodeSource===`selection`?`selection`:void 0,partID:i})}})()},inlineDrafts:[],removeInlineDraft:()=>{},restoreInlineDrafts:()=>{},history:Ie,captureRuntime:()=>w.getState().captureDraftRuntime(),getDraft:e=>w.getState().getDraft(e),abortPrompt:{sessionID:null,clear:()=>{}}}},[Te,J,Ie]),bt=Y.useMemo(()=>{let e=(X.data??[]).find(e=>e.id===W?.providerID)?.models?.find(e=>e.id===W?.modelID);return ve(e)},[W?.modelID,W?.providerID,X.data]),xt=Me.length>0,St=Y.useMemo(()=>{if(!W||!K||!q)return null;let e={sessionID:K,directory:q,sessionGeneration:W.sessionGeneration};return{kind:`secondary`,surfaceID:`assistant:${W.id}`,active:O,sessionID:K,directory:q,draftKey:J,transportIdentity:p,runtimeGeneration:m,deliveryTarget:{kind:`assistant`,assistantID:W.id},resources:yt,...W.mode===`stateless`?{queueSessionID:`assistant:${W.id}`}:{},selection:{value:{providerID:W.providerID,modelID:W.modelID,agent:W.agent??void 0,variant:W.variant??void 0},catalog:{providers:X.data??[],agents:ut,variants:bt,variantsReady:X.isSuccess,ready:X.isSuccess&&Q.isSuccess,loading:X.isPending||Q.isPending,error:X.isError||Q.isError},change:lt,flush:()=>$.flush(at)},activity:{phase:Pe?.type===`busy`?`busy`:Pe?.type===`retry`?`retry`:`idle`,canAbort:Pe?.type===`busy`||Pe?.type===`retry`},commands:{sessionID:K,hasMessages:xt,hasNewDraft:!1},commandPolicy:e=>e.name!==`fork`&&e.name!==`thread`,backend:{send:async t=>{let n;for(let t of M(e.sessionID,e.directory)){let e=typeof t?.id==`string`?t.id:``;/^msg_[0-9a-f]{12}[0-9A-Za-z]{14}$/.test(e)&&(!n||e>n)&&(n=e)}let r=l(`msg`,n);t.options?.commitStagedMessageEdit&&et.current.clear({transport:p,assistantID:W.id});let i=A({messageID:r,sessionID:e.sessionID,providerID:t.providerID??W.providerID,modelID:t.modelID??W.modelID,agent:t.agent??W.agent??void 0,text:t.text,attachments:t.attachments,additionalParts:t.parts});He(e=>{let t=new Map(e);return t.set(W.id,[...e.get(W.id)??[],i]),t});let a;try{a=await ae(W.id,e,r,Ze(t.text,t.parts,t.attachments))}catch(e){throw mt(W.id,[r]),e}if(R.data?.serverInstanceID){let e=v(W.name);y({serverInstanceID:R.data.serverInstanceID,assistantID:W.id,name:e.displayName||W.name,avatarSeed:W.id,...e.avatarEmoji?{avatarEmoji:e.avatarEmoji}:{}}).catch(()=>void 0)}a.binding.sessionID&&ht(W.id,r,a.binding.sessionID);let o=qe.current;Re({binding:a.binding,refresh:t=>ft(t,{force:t.sessionID!==e.sessionID||t.sessionGeneration!==e.sessionGeneration}),isCurrent:()=>qe.current===o})},sendQueued:async()=>{throw Error(`assistant-server-queue-required`)},create:async()=>{let e=await z(W.id);await st(W.id),await ft(e,{force:!0})},compact:async()=>{let t=await oe(W.id,e);await st(W.id),await ft(t.binding,{force:!0})},abort:async()=>{await re(W.id,e)}},shortcuts:{cycle:dt,new:async()=>{let e=await z(W.id);await st(W.id),await ft(e,{force:!0})},abort:async()=>{await re(W.id,e)},submit:()=>{}}}},[O,W,R.data?.serverInstanceID,lt,st,dt,q,J,xt,X.data,X.isError,X.isPending,X.isSuccess,Q.isError,Q.isPending,Q.isSuccess,ft,ht,mt,yt,m,$,at,K,Pe,p,bt,ut]),Ct=g(()=>{if(de(),f){f.openSettings();return}let e=i.getState();e.setSettingsPage(`assistants`),e.setSettingsDialogOpen(!0)}),wt=g(e=>{le(e,f?{openMobileSettings:f.openSettings}:void 0)}),[Tt,Et]=Y.useState(null),Dt=g(e=>{Et(e)}),Ot=g(e=>{e||Et(null)}),kt=g(()=>{i.getState().setActiveMainTab(`chat`)}),At=g(()=>{if(t){t();return}kt()}),jt=(e,t,n,r)=>(0,Z.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[L?(0,Z.jsx)(Qe,{assistant:W,onBack:At}):null,(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center px-6 pt-[calc(max(0.25rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height,3.5rem))] text-center`,children:[(0,Z.jsx)(me,{name:e,className:`size-6 text-muted-foreground`}),(0,Z.jsx)(`h1`,{className:`mt-4 typography-ui-header font-semibold`,children:t}),n?(0,Z.jsx)(`p`,{className:`mt-2 max-w-md typography-ui text-muted-foreground`,children:n}):null,r?(0,Z.jsx)(`div`,{className:`mt-5`,children:r}):null]})]});if(R.isPending||V.isPending)return jt(`ai-agent`,o(`assistants.state.unavailable`));if(R.isError||!R.data?.supported||!R.data.enabled||!H?.enabled)return jt(`cloud-off`,o(`assistants.state.unavailable`));if(!H.assistants.length)return jt(`ai-agent`,o(`assistants.onboarding.title`),o(`assistants.onboarding.description`),(0,Z.jsx)(he,{onClick:Ct,children:o(`assistants.onboarding.action`)}));if(!W)return jt(`ai-agent`,o(`assistants.state.unavailable`));if(!St)return(0,Z.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col bg-background`,children:[L?(0,Z.jsx)(Qe,{assistant:W,onBack:At}):null,(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 pt-[calc(max(0.25rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height,3.5rem))]`,"aria-busy":`true`,"aria-label":o(`assistants.state.unavailable`),children:[(0,Z.jsx)(`div`,{className:`size-10 animate-pulse rounded-xl bg-[var(--surface-muted)] motion-reduce:animate-none`}),(0,Z.jsx)(`div`,{className:`h-3.5 w-36 animate-pulse rounded-md bg-[var(--surface-muted)] motion-reduce:animate-none`})]})]});let Mt=v(W.name),Nt=W.enabled?V.isError?o(`assistants.state.staleSnapshot`):null:o(`assistants.state.assistantDisabled`);return(0,Z.jsxs)(`div`,{className:`relative flex h-full min-h-0 overflow-hidden bg-background`,"data-presentation":`workspace`,children:[L?null:(0,Z.jsxs)(`section`,{className:`flex h-full min-h-0 w-[clamp(16rem,22vw,20rem)] shrink-0 flex-col overflow-hidden`,children:[(0,Z.jsx)(`header`,{className:`shrink-0 px-4 pb-3 pt-4 sm:px-5`,children:(0,Z.jsx)(`h1`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:o(`assistants.title`)})}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 pb-4 sm:px-4`,role:`listbox`,"aria-label":o(`assistants.listAria`),children:(0,Z.jsx)(`div`,{className:`flex flex-col gap-1 border-t border-border/40 pt-3`,children:H.assistants.map(e=>{let t=e.id===U,n=v(e.name);return(0,Z.jsx)($e,{assistantID:e.id,displayName:n.displayName,avatarEmoji:n.avatarEmoji??void 0,modeLabel:e.mode===`stateless`?o(`assistants.mode.stateless`):o(`assistants.mode.continuous`),selected:t,enabled:e.enabled,editLabel:o(`assistants.menu.edit`),deleteLabel:o(`assistants.settings.delete`),onSelect:()=>ue(e.id),onEdit:()=>wt(e.id),onDelete:()=>Dt(e)},e.id)})})})]}),(0,Z.jsx)(Fe,{assistant:Tt,open:Tt!==null,onOpenChange:Ot}),(0,Z.jsxs)(`div`,{className:fe(`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,!L&&`border-l border-border/60`),children:[L?(0,Z.jsx)(Qe,{assistant:W,onBack:At}):(0,Z.jsxs)(`header`,{className:`flex h-14 shrink-0 items-center gap-3 border-b border-border/40 px-4 sm:px-5`,children:[(0,Z.jsx)(pe,{name:W.id,emoji:Mt.avatarEmoji,size:24,label:Mt.displayName||W.name}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate typography-ui-label font-medium`,children:Mt.displayName}),(0,Z.jsx)(`div`,{className:`mt-0.5 truncate typography-micro leading-none text-muted-foreground/70`,children:W.mode===`stateless`?o(`assistants.conversation.statelessHint`):o(`assistants.conversation.continuousHint`)})]})]}),(0,Z.jsx)(ke,{onRevertMessage:_t,onEditMessage:W.mode===`continuous`?vt:void 0,assistant:W,sessionID:K,warning:Nt,surface:St,pendingUserMessages:tt,onPendingUserMessagesMaterialized:gt})]}),L?null:(0,Z.jsx)(Se,{directory:q||null})]})};export{qe as n,Fe as r,et as t};