botmux 3.18.7 → 3.18.8

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 (133) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/tmux-pipe-backend.d.ts +57 -0
  3. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/tmux-pipe-backend.js +200 -21
  5. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  6. package/dist/adapters/cli/pi-turn-boundary-extension.d.ts +66 -0
  7. package/dist/adapters/cli/pi-turn-boundary-extension.d.ts.map +1 -0
  8. package/dist/adapters/cli/pi-turn-boundary-extension.js +106 -0
  9. package/dist/adapters/cli/pi-turn-boundary-extension.js.map +1 -0
  10. package/dist/adapters/cli/pi.d.ts +29 -0
  11. package/dist/adapters/cli/pi.d.ts.map +1 -1
  12. package/dist/adapters/cli/pi.js +61 -10
  13. package/dist/adapters/cli/pi.js.map +1 -1
  14. package/dist/bot-registry.d.ts +9 -0
  15. package/dist/bot-registry.d.ts.map +1 -1
  16. package/dist/bot-registry.js +5 -0
  17. package/dist/bot-registry.js.map +1 -1
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +8 -1
  20. package/dist/cli.js.map +1 -1
  21. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  22. package/dist/core/dashboard-ipc-server.js +24 -0
  23. package/dist/core/dashboard-ipc-server.js.map +1 -1
  24. package/dist/core/worker-pool.d.ts.map +1 -1
  25. package/dist/core/worker-pool.js +134 -17
  26. package/dist/core/worker-pool.js.map +1 -1
  27. package/dist/daemon.d.ts.map +1 -1
  28. package/dist/daemon.js +5 -3
  29. package/dist/daemon.js.map +1 -1
  30. package/dist/dashboard/bot-payload.d.ts +2 -0
  31. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  32. package/dist/dashboard/bot-payload.js +2 -0
  33. package/dist/dashboard/bot-payload.js.map +1 -1
  34. package/dist/dashboard/groups-matrix-snapshot.d.ts +27 -0
  35. package/dist/dashboard/groups-matrix-snapshot.d.ts.map +1 -1
  36. package/dist/dashboard/groups-matrix-snapshot.js +16 -0
  37. package/dist/dashboard/groups-matrix-snapshot.js.map +1 -1
  38. package/dist/dashboard/web/bot-defaults-page.d.ts +4 -0
  39. package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
  40. package/dist/dashboard/web/bot-defaults-page.js +52 -9
  41. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  42. package/dist/dashboard/web/bot-defaults.d.ts +29 -0
  43. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  44. package/dist/dashboard/web/bot-defaults.js +45 -1
  45. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  46. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  47. package/dist/dashboard/web/bot-onboarding.js +5 -0
  48. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  49. package/dist/dashboard/web/dashboard-components.d.ts +29 -0
  50. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -1
  51. package/dist/dashboard/web/dashboard-components.js +96 -4
  52. package/dist/dashboard/web/dashboard-components.js.map +1 -1
  53. package/dist/dashboard/web/groups-api.d.ts +11 -0
  54. package/dist/dashboard/web/groups-api.d.ts.map +1 -1
  55. package/dist/dashboard/web/groups-api.js +51 -0
  56. package/dist/dashboard/web/groups-api.js.map +1 -1
  57. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  58. package/dist/dashboard/web/i18n.js +10 -0
  59. package/dist/dashboard/web/i18n.js.map +1 -1
  60. package/dist/dashboard/web/overview.d.ts.map +1 -1
  61. package/dist/dashboard/web/overview.js +11 -2
  62. package/dist/dashboard/web/overview.js.map +1 -1
  63. package/dist/dashboard/web/ui.d.ts.map +1 -1
  64. package/dist/dashboard/web/ui.js +12 -2
  65. package/dist/dashboard/web/ui.js.map +1 -1
  66. package/dist/dashboard-web/app.js +1 -1
  67. package/dist/dashboard-web/chunks/{agent-workbench-dock-page-6LC422N6.js → agent-workbench-dock-page-FAL2YGY5.js} +1 -1
  68. package/dist/dashboard-web/chunks/{agent-workbench-page-RSAWY7O2.js → agent-workbench-page-G65IOPLY.js} +1 -1
  69. package/dist/dashboard-web/chunks/bot-defaults-page-3BNFNZEO.js +1 -0
  70. package/dist/dashboard-web/chunks/chunk-2XHWGUTB.js +10 -0
  71. package/dist/dashboard-web/chunks/{chunk-R3LJUCEO.js → chunk-3OJQKYM3.js} +1 -1
  72. package/dist/dashboard-web/chunks/{chunk-K232GT3M.js → chunk-IRFGJSPL.js} +5 -5
  73. package/dist/dashboard-web/chunks/{chunk-IA5KMD5O.js → chunk-IYVXEFKU.js} +1 -1
  74. package/dist/dashboard-web/chunks/{chunk-YJA3KY3J.js → chunk-MYLVEXYF.js} +1 -1
  75. package/dist/dashboard-web/chunks/chunk-QALRQEKD.js +1 -0
  76. package/dist/dashboard-web/chunks/{connectors-page-DJCTHSFB.js → connectors-page-K6VZNYUQ.js} +1 -1
  77. package/dist/dashboard-web/chunks/{customization-page-VQJAEDZY.js → customization-page-FRP6RFOI.js} +1 -1
  78. package/dist/dashboard-web/chunks/{feedback-page-O7SZRKNM.js → feedback-page-4X7N5J33.js} +1 -1
  79. package/dist/dashboard-web/chunks/{groups-page-7PONUYHE.js → groups-page-RFQVUO6K.js} +1 -1
  80. package/dist/dashboard-web/chunks/{insights-page-J6DAAJ6D.js → insights-page-XWH77GX7.js} +1 -1
  81. package/dist/dashboard-web/chunks/{monitor-room-F3QNEW7N.js → monitor-room-WFU3745R.js} +1 -1
  82. package/dist/dashboard-web/chunks/{monitoring-page-JHDD2VS2.js → monitoring-page-3NYPZEQT.js} +1 -1
  83. package/dist/dashboard-web/chunks/{office-page-MMTN4IKD.js → office-page-4I3X6PTF.js} +1 -1
  84. package/dist/dashboard-web/chunks/overview-page-OQWLVTKT.js +1 -0
  85. package/dist/dashboard-web/chunks/{roles-page-FNI4MGX6.js → roles-page-RKUGNQOW.js} +1 -1
  86. package/dist/dashboard-web/chunks/{schedules-page-6PUU63KS.js → schedules-page-SAJKYRZ6.js} +1 -1
  87. package/dist/dashboard-web/chunks/{sessions-page-O4N72EXT.js → sessions-page-IU6VNSX4.js} +1 -1
  88. package/dist/dashboard-web/chunks/{settings-page-G7B3STUF.js → settings-page-WTIPX7BQ.js} +1 -1
  89. package/dist/dashboard-web/chunks/{skills-page-CEWKQOIG.js → skills-page-MKG3HJIU.js} +1 -1
  90. package/dist/dashboard-web/chunks/{team-federation-page-NUP4VK4H.js → team-federation-page-7SMZJWPT.js} +1 -1
  91. package/dist/dashboard-web/chunks/{v3-page-M4XF6D5Z.js → v3-page-JMCFLY4Y.js} +1 -1
  92. package/dist/dashboard-web/chunks/{whiteboards-page-L755NZX6.js → whiteboards-page-5YTWY5EB.js} +1 -1
  93. package/dist/dashboard-web/style.css +65 -3
  94. package/dist/dashboard.js +50 -4
  95. package/dist/dashboard.js.map +1 -1
  96. package/dist/i18n/en.d.ts.map +1 -1
  97. package/dist/i18n/en.js +4 -1
  98. package/dist/i18n/en.js.map +1 -1
  99. package/dist/i18n/zh.d.ts.map +1 -1
  100. package/dist/i18n/zh.js +4 -1
  101. package/dist/i18n/zh.js.map +1 -1
  102. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  103. package/dist/im/lark/event-dispatcher.js +141 -38
  104. package/dist/im/lark/event-dispatcher.js.map +1 -1
  105. package/dist/services/card-prefs-store.d.ts +2 -0
  106. package/dist/services/card-prefs-store.d.ts.map +1 -1
  107. package/dist/services/card-prefs-store.js +9 -1
  108. package/dist/services/card-prefs-store.js.map +1 -1
  109. package/dist/services/pi-transcript.d.ts +21 -1
  110. package/dist/services/pi-transcript.d.ts.map +1 -1
  111. package/dist/services/pi-transcript.js +188 -8
  112. package/dist/services/pi-transcript.js.map +1 -1
  113. package/dist/services/session-store.d.ts.map +1 -1
  114. package/dist/services/session-store.js +495 -11
  115. package/dist/services/session-store.js.map +1 -1
  116. package/dist/services/under-review-notify-store.d.ts +18 -0
  117. package/dist/services/under-review-notify-store.d.ts.map +1 -0
  118. package/dist/services/under-review-notify-store.js +67 -0
  119. package/dist/services/under-review-notify-store.js.map +1 -0
  120. package/dist/setup/open-platform-automation.d.ts +210 -2
  121. package/dist/setup/open-platform-automation.d.ts.map +1 -1
  122. package/dist/setup/open-platform-automation.js +538 -44
  123. package/dist/setup/open-platform-automation.js.map +1 -1
  124. package/dist/setup/open-platform-outcome.d.ts.map +1 -1
  125. package/dist/setup/open-platform-outcome.js +5 -0
  126. package/dist/setup/open-platform-outcome.js.map +1 -1
  127. package/dist/workflows/events/payloads.d.ts +6 -6
  128. package/dist/workflows/events/schema.d.ts +12 -12
  129. package/package.json +9 -7
  130. package/dist/dashboard-web/chunks/bot-defaults-page-67RAWCSQ.js +0 -1
  131. package/dist/dashboard-web/chunks/chunk-MMLTCXHP.js +0 -10
  132. package/dist/dashboard-web/chunks/chunk-NYY66DNC.js +0 -1
  133. package/dist/dashboard-web/chunks/overview-page-IQ2UJAJP.js +0 -1
@@ -1 +1 @@
1
- import{A as on,B as le,C as rn,D as an,E as sn,F as ve,G as ln,H as cn,I as dn,J as un,K as mn,L as bn,M as fn,a as se,b as $e,c as Be,d as Ge,e as Re,f as Xe,g as Ae,h as ye,i as qe,j as Me,k as Ue,l as ze,m as ge,q as Je,r as xe,s as Ve,t as je,u as Ye,v as Qe,w as Ze,x as en,y as nn,z as tn}from"./chunk-IA5KMD5O.js";import"./chunk-OWUXOKFE.js";import"./chunk-ZJVTGU5X.js";import{a as Oe}from"./chunk-R3LJUCEO.js";import"./chunk-QITAMHW6.js";import{w as pe}from"./chunk-K232GT3M.js";import{c as Ke}from"./chunk-ARROO6TE.js";import{c as H,d as Pe,e as te}from"./chunk-3YZFAHNK.js";var We=H(Pe(),1);var d=H(Pe(),1);var i=H(Pe(),1);function pn(){return{phase:"loading",authoritative:null,observeEpoch:0,observeIssueEpoch:0,observeIssuedDuringWrite:!1,writeEpoch:0,pending:null,mayWrite:!1,error:null,frameGeneration:0,reconcileNonce:0}}function hn(e){return e.mode==="controlled"&&e.owned?"controlled":"readonly"}function ce(e){return e?.mode==="controlled"&&e.owned}function yn(e){return e.phase==="taking-over"||e.phase==="releasing"}function gn(e){return e.phase==="readonly"||e.phase==="controlled"}function wn(e){return e.observeIssueEpoch<e.writeEpoch||e.observeIssuedDuringWrite}function vn(e){return e.phase==="unknown"&&e.mayWrite}function kn(e){switch(e.phase){case"loading":return"loading";case"unknown":return"unknown";case"controlled":return"controlled";case"readonly":return"readonly";default:return ce(e.authoritative)?"controlled":"readonly"}}function Tn(e,n){switch(n.type){case"observe-start":return{...e,observeEpoch:n.epoch,observeIssueEpoch:e.writeEpoch,observeIssuedDuringWrite:e.pending!==null,phase:n.source==="load"&&!e.pending?"loading":e.phase};case"observe-settled":{if(n.epoch!==e.observeEpoch||e.pending||wn(e))return e;let r=ce(e.authoritative)&&!ce(n.control);return{...e,phase:hn(n.control),authoritative:n.control,mayWrite:ce(n.control),error:e.error?.from==="write"?e.error:null,frameGeneration:e.frameGeneration+(r?1:0)}}case"observe-failed":{if(n.epoch!==e.observeEpoch||e.pending||wn(e))return e;let r={text:n.error,from:"observe"};return!e.authoritative&&n.canHoldLease?{...e,phase:"unknown",mayWrite:!0,error:r}:e.authoritative?{...e,error:r}:{...e,phase:"readonly",authoritative:{mode:"readonly",owned:!1},mayWrite:!1,error:r}}case"settle-readonly":return e.phase==="readonly"&&e.authoritative?.mode==="readonly"&&!e.pending&&!e.mayWrite&&!e.error?e:{...e,phase:"readonly",authoritative:{mode:"readonly",owned:!1},pending:null,mayWrite:!1,error:null};case"write-start":return{...e,writeEpoch:n.epoch,pending:{action:n.action,epoch:n.epoch},phase:n.action==="takeover"?"taking-over":"releasing",mayWrite:!0,error:null};case"write-settled":return n.epoch!==e.writeEpoch?e:{...e,phase:hn(n.control),authoritative:n.control,pending:null,mayWrite:ce(n.control),error:null,frameGeneration:e.frameGeneration+1};case"write-failed":return n.epoch!==e.writeEpoch?e:{...e,phase:"unknown",pending:null,mayWrite:!0,error:{text:n.error,from:"write"},reconcileNonce:e.reconcileNonce+1};default:return e}}var Wn="botmux:wb-terminal-write",de=new Map;function Sn(e,n){let r=de.get(e);return r||(r=new Set,de.set(e,r)),r.add(n),()=>{let c=de.get(e);c&&(c.delete(n),c.size===0&&de.delete(e))}}function Cn(e){return(de.get(e)?.size??0)>0}function ue(e,n=0){return{sessionId:e,mode:"loading",fixed:!1,toggleOnly:!1,busy:!1,generation:n}}function In(e,n){return e?e.sessionId===n?e:ue(n):null}function En(e,n){return e&&e.busy&&e.sessionId===n?e:!e||e.sessionId!==n?ue(n):e.toggleOnly||e.mode!=="controlled"?null:ue(n,e.generation+1)}function Ln(e,n){return!e||e.sessionId!==n.sessionId||e.mode===n.mode&&e.fixed===n.fixed&&e.toggleOnly===n.toggleOnly&&e.busy===n.busy?e:{...e,mode:n.mode,fixed:n.fixed,toggleOnly:n.toggleOnly,busy:n.busy}}var o=H(te(),1);function _n(e){try{let n=e?.contentWindow?.document?.getElementById("status")?.textContent?.trim();return n==="connected"?"connected":n==="disconnected"?"disconnected":"unknown"}catch{return"unknown"}}function Fn(e){try{let r=e?.contentWindow?.wsHasWrite;return r===!0?"writable":r===!1?"readonly":"unknown"}catch{return"unknown"}}function Dn(e){if(!e||typeof e!="object")return null;let n=e;return n.type!==Wn?null:n.write===null?"unknown":typeof n.write=="boolean"?n.write?"writable":"readonly":null}var Pn=1e3,Hn=8;function Kn(e){let{enabled:n,frameKey:r,sessionId:c}=e,[f,p]=(0,i.useState)(!1),[y,l]=(0,i.useState)(null),u=(0,i.useRef)(!1),v=(0,i.useRef)(e.read);(0,i.useEffect)(()=>{v.current=e.read}),(0,i.useEffect)(()=>{u.current=!1,p(!1)},[c]),(0,i.useEffect)(()=>{if(!n||u.current||y!==r)return;let S=0,T=setInterval(()=>{let k=v.current();if(k==="connected"){u.current=!0,p(!1),clearInterval(T);return}if(k!=="disconnected"){S=0;return}S+=1,S>=Hn&&p(!0)},Pn);return()=>clearInterval(T)},[n,r,y]);let _=(0,i.useCallback)(()=>l(r),[r]);return{blocked:n&&f,onFrameLoad:n?_:void 0}}var On=5;function $n(e){let{enabled:n,frameKey:r}=e,[c,f]=(0,i.useState)("unknown"),p=(0,i.useRef)(e.read);return(0,i.useEffect)(()=>{p.current=e.read}),(0,i.useEffect)(()=>{if(!n)return;f("unknown");let y=0,l=()=>{let v=p.current();return v==="unknown"?!1:(f(v),!0)};if(l())return;let u=setInterval(()=>{y+=1,(l()||y>=On)&&clearInterval(u)},Pn);return()=>clearInterval(u)},[n,r]),n?c:"unknown"}function Bn(e){let{enabled:n,frameKey:r}=e,[c,f]=(0,i.useState)({write:"unknown",live:!1}),p=(0,i.useRef)(e.frame);return(0,i.useEffect)(()=>{p.current=e.frame}),(0,i.useEffect)(()=>{if(f({write:"unknown",live:!1}),!n||typeof window>"u"||!window.addEventListener)return;let y=l=>{let u=p.current()?.contentWindow;if(!u||l.source!==u)return;let v=Dn(l.data);v!==null&&f({write:v,live:!0})};return window.addEventListener("message",y),()=>window.removeEventListener("message",y)},[n,r]),n?c:{write:"unknown",live:!1}}function Gn(){try{return typeof window>"u"?void 0:window.location?.href}catch{return}}function Te(e){return e instanceof xe?{authentication_required:"\u9700\u8981\u767B\u5F55\u8BA4\u8BC1",session_not_active:"\u4F1A\u8BDD\u5DF2\u4E0D\u518D\u6D3B\u8DC3",daemon_offline:"\u6240\u5C5E daemon \u5DF2\u79BB\u7EBF",terminal_unavailable:"\u7EC8\u7AEF\u4E0D\u53EF\u7528",control_busy:"\u53E6\u4E00\u4E2A\u6D4F\u89C8\u5668\u6B63\u5728\u63A7\u5236\u8BE5\u7EC8\u7AEF",preview_not_registered:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8",control_request_timeout:"\u63A7\u5236\u6743\u8BF7\u6C42\u8D85\u65F6"}[e.code]??e.code.replaceAll("_"," "):e instanceof Error?e.message:String(e)}var Xn=1e4;async function qn(e,n=Xn){let r=new AbortController,c,f=new Promise((p,y)=>{c=setTimeout(()=>{try{r.abort()}catch{}y(new xe(504,"control_request_timeout"))},n)});f.catch(()=>{});try{return await Promise.race([e(r.signal),f])}finally{c!==void 0&&clearTimeout(c)}}function Un(e){let n=(0,i.useRef)(null);return(0,i.useEffect)(()=>{try{n.current?.focus?.()}catch{}},[]),(0,o.jsxs)("div",{ref:n,tabIndex:-1,className:"wb-pane-empty wb-control-unknown",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25C7"}),(0,o.jsx)("strong",{children:"\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5"}),(0,o.jsx)("p",{children:"\u6CA1\u6709\u62FF\u5230\u786E\u8BA4\uFF0C\u8FD9\u5757\u7EC8\u7AEF\u53EF\u80FD\u4ECD\u7136\u53EF\u5199\u3002\u5DF2\u65AD\u5F00\u7EC8\u7AEF\u753B\u9762\u6321\u4F4F\u8F93\u5165\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u3002"}),(0,o.jsx)("button",{type:"button",onClick:e.onRetry,children:"\u7ACB\u5373\u91CD\u8BD5"})]})}function Rn(e){let[n,r]=(0,i.useReducer)(Tn,void 0,pn),c=(0,i.useRef)(0),f=(0,i.useRef)(0),p=(0,i.useRef)(!0);(0,i.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let y=Ue(e.session,e.location),l=ze(e.session),u=bn(),{link:v,phase:_,retry:S}=fn({api:e.api,sessionId:e.session.sessionId,enabled:!l&&(u||!e.authenticated)}),T=v?v.url:null,k=!l&&u?T:e.authenticated?y:T,g=e.session.sessionId,I=(0,i.useCallback)(async(w,t)=>{if(!y||l||!e.authenticated){r({type:"settle-readonly"});return}let a=++c.current;r({type:"observe-start",epoch:a,source:w});try{let m=await e.api.getTerminalControl(g,t);r({type:"observe-settled",epoch:a,control:m})}catch(m){if(t?.aborted)return;r({type:"observe-failed",epoch:a,error:Te(m),canHoldLease:e.capabilities.canControl&&!u})}},[l,e.api,e.authenticated,e.capabilities.canControl,g,y,u]);(0,i.useEffect)(()=>{let w=new AbortController;I("load",w.signal);let t=setInterval(()=>{I("poll",w.signal)},15e3);return()=>{c.current+=1,clearInterval(t),w.abort()}},[I]);let K=n.authoritative?.expiresAt;(0,i.useEffect)(()=>{if(n.phase!=="controlled"||!K)return;let w=setTimeout(()=>{I("poll")},Math.max(0,K-Date.now())+25);return()=>clearTimeout(w)},[K,n.phase,I]),(0,i.useEffect)(()=>{if(n.reconcileNonce===0)return;let w=new AbortController;return I("reconcile",w.signal),()=>w.abort()},[n.reconcileNonce,I]);let B=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(e.autoTakeControl===void 0||!e.authenticated||!e.capabilities.canControl||u||!gn(n))return;let w=n.authoritative;!w||w.fixed||B.current!==g&&(B.current=g,w.mode==="controlled"&&w.owned&&L("release"))});let M=(0,i.useRef)(new Map),b=()=>{let w=[...M.current.values()];return M.current.clear(),w},C=(0,i.useCallback)(async w=>{for(let t of w)Cn(t.sessionId)||await e.api.releaseTerminal(t.sessionId,void 0,t.acquisitionId).catch(()=>{})},[e.api]),E=(0,i.useRef)(0),L=async w=>{let t=++f.current,a=w==="takeover"?Je():void 0;a&&M.current.set(a,{sessionId:g,acquisitionId:a}),E.current+=1,r({type:"write-start",epoch:t,action:w});try{let m=await qn(W=>w==="takeover"?e.api.takeoverTerminal(g,W,a):e.api.releaseTerminal(g,W));if((w==="release"||m.fixed===!0)&&M.current.clear(),!p.current){C(b());return}r({type:"write-settled",epoch:t,control:m})}catch(m){if(!p.current){C(b());return}r({type:"write-failed",epoch:t,error:Te(m)})}finally{E.current-=1}};(0,i.useEffect)(()=>{n.authoritative?.fixed===!0&&M.current.clear()},[n.authoritative]);let O=(0,i.useRef)(C);(0,i.useEffect)(()=>{O.current=C}),(0,i.useEffect)(()=>()=>{if(E.current>0)return;let w=[...M.current.values()];w.length!==0&&(M.current.clear(),Promise.resolve().then(()=>O.current(w)))},[g]);let me=(0,i.useRef)({});(0,i.useEffect)(()=>{if(n.mayWrite)return Sn(g,me.current)},[n.mayWrite,g]);let G=(0,i.useRef)(null),be=(0,i.useRef)(0),oe=(0,i.useRef)(void 0);oe.current!==k&&(oe.current!==void 0&&(be.current+=1),oe.current=k);let z=`${g}-${n.frameGeneration}-l${be.current}`,X=e.readFrameStatus??_n,h=Kn({enabled:u,sessionId:g,frameKey:z,read:()=>X(G.current)}),J=e.readFrameWrite??Fn,Se=$n({enabled:u,frameKey:z,read:()=>J(G.current)}),P=Bn({enabled:u,frameKey:z,frame:()=>G.current}),fe=P.live?P.write:Se,{appearance:q,skin:V}=Ze(),R=(0,i.useCallback)(()=>{Qe(G.current,k,q.termStyle,V,Gn())},[q.termStyle,k,V]);(0,i.useEffect)(()=>{R()},[R]);let Fe=(0,i.useCallback)(()=>{h.onFrameLoad?.(),R()},[h,R]),U=n.authoritative,j=yn(n),Y=U?.fixed===!0,re=!l&&!!y&&e.authenticated&&e.capabilities.canControl&&!u&&!Y,he=fe!=="unknown"?fe:Y?"unknown":"readonly",A=u?he==="writable"?"controlled":he==="readonly"?"readonly":"unknown":kn(n),F=A==="controlled",Ce=F?"\u53EF\u8F93\u5165":A==="unknown"?"\u672A\u77E5":A==="loading"?"\u68C0\u67E5\u4E2D":"\u53EA\u8BFB",Ie=F?"is-controlled":A==="unknown"?"is-unknown":A==="loading"?"is-checking":"is-readonly",Ee=F?"\u25C6":A==="unknown"?"\u25C7":A==="loading"?"\u22EF":"\u25CC",ie=!u&&vn(n),Le=!l&&!!y&&!u&&e.authenticated&&e.capabilities.canControl,we=n.phase==="loading"&&Le,ae=ie||we,Q=e.onControlModeChange,Z=!re;(0,i.useEffect)(()=>{Q?.({sessionId:g,mode:A,fixed:Y,toggleOnly:Z,busy:j})},[j,Y,Q,A,g,Z]);let ee=F&&U?.expiresAt?Me(U.expiresAt,e.now,"zh-CN"):null;return(0,o.jsxs)("section",{className:`wb-pane wb-terminal-pane ${je(q.termStyle)}`,style:Ye(q.termStyle,V),"aria-label":"\u7EC8\u7AEF\u9762\u677F",children:[(0,o.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,o.jsxs)("div",{className:"wb-pane-identity",children:[(0,o.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u203A_"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF"}),(0,o.jsxs)("span",{className:`wb-mode-chip ${Ie}`,children:[(0,o.jsx)("span",{"aria-hidden":"true",children:Ee}),Ce]}),ee?(0,o.jsx)("span",{className:"wb-lease-time",children:`${ee}\u5230\u671F`}):null]}),(0,o.jsx)(nn,{termStyle:q.termStyle}),(0,o.jsxs)("div",{className:"wb-pane-actions",children:[k?(0,o.jsx)("a",{href:k,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,re?F?(0,o.jsx)("button",{type:"button",disabled:j,onClick:()=>{L("release")},children:"\u91CA\u653E\u8F93\u5165"}):(0,o.jsx)("button",{type:"button",disabled:j,onClick:()=>{L("takeover")},children:"\u63A5\u7BA1\u8F93\u5165"}):null]})]}),(0,o.jsx)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:u?F?"\u5F53\u524D\u8EAB\u4EFD\u5728\u624B\u673A\u7AEF\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u3002":A==="unknown"?"\u53EA\u8BFB\u94FE\u63A5\u67E5\u770B\u4E2D\uFF0C\u80FD\u5426\u8F93\u5165\u4EE5\u7EC8\u7AEF\u9875\u5185\u7684\u63D0\u793A\u4E3A\u51C6\u3002":"\u53EA\u8BFB\u67E5\u770B\u4E2D\u3002\u624B\u673A\u7AEF\u4E3A\u53EA\u8BFB\u89C6\u56FE\uFF0C\u9700\u8981\u8F93\u5165\u8BF7\u5728\u7535\u8111\u4E0A\u64CD\u4F5C\u3002":n.phase==="loading"?"\u6B63\u5728\u68C0\u67E5\u7EC8\u7AEF\u6743\u9650\u2026":n.phase==="taking-over"?"\u6B63\u5728\u63A5\u7BA1\u8F93\u5165\u2026":n.phase==="releasing"?"\u6B63\u5728\u91CA\u653E\u8F93\u5165\u2026":n.error?`${n.error.text}${n.phase==="unknown"?"\uFF1B\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u2026":""}`:n.phase==="unknown"?"\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u2026":U?.fixed?"\u5E73\u53F0\u6240\u6709\u8005\u8EAB\u4EFD\u5DF2\u767B\u5F55\uFF0C\u53EF\u76F4\u63A5\u8F93\u5165\u3002":F?"\u5DF2\u63A5\u7BA1\uFF0C\u53EF\u952E\u76D8\u8F93\u5165\u3002":e.authenticated&&e.capabilities.canControl?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u70B9\u300C\u63A5\u7BA1\u8F93\u5165\u300D\u53EF\u64CD\u4F5C\u3002":e.authenticated?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u5F53\u524D\u8EAB\u4EFD\u4E0D\u53EF\u63A5\u7BA1\u8F93\u5165\u3002":"\u53EA\u8BFB\u67E5\u770B\u3002\u767B\u5F55 Dashboard \u540E\u53EF\u63A5\u7BA1\u3002"}),(0,o.jsx)("div",{className:"wb-pane-frame-shell",children:l?(0,o.jsxs)("div",{className:"wb-pane-empty",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u2197"}),(0,o.jsx)("strong",{children:"\u5916\u90E8 Riff \u7EC8\u7AEF"}),(0,o.jsx)("p",{children:"\u8BE5\u540E\u7AEF\u4E0D\u5728\u5DE5\u4F5C\u53F0\u9762\u677F\u5185\u5C55\u793A\u3002"}),(0,o.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:"\u6253\u5F00\u5916\u90E8\u7EC8\u7AEF"})]}):k?(0,o.jsxs)(o.Fragment,{children:[ae?null:(0,o.jsx)("iframe",{ref:G,className:"wb-pane-frame",src:k,title:`\u7EC8\u7AEF \u2014 ${ye(e.session)}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer",onLoad:Fe},z),h.blocked&&!ae?(0,o.jsxs)("div",{className:"wb-pane-empty wb-ws-blocked",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u672A\u5EFA\u7ACB"}),(0,o.jsx)("p",{children:"\u5F53\u524D\u6D4F\u89C8\u5668\u73AF\u5883\u9650\u5236\u4E86\u975E\u52A0\u5BC6\u7684\u5B9E\u65F6\u8FDE\u63A5\uFF08iOS \u5185\u5E38\u89C1\uFF09\u3002\u53EF\u5C1D\u8BD5\u7528\u7CFB\u7EDF\u6D4F\u89C8\u5668\u6253\u5F00\uFF0C\u6216\u5728\u7535\u8111\u4E0A\u67E5\u770B\u3002"}),(0,o.jsx)("a",{href:k,target:"_blank",rel:"noopener",children:"\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00"}),(0,o.jsx)("p",{children:"\u98DE\u4E66\u5185\u53EF\u901A\u8FC7\u53F3\u4E0A\u89D2 \u22EF \u83DC\u5355\u9009\u62E9\u300C\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u300D\u3002"})]}):null,ie?(0,o.jsx)(Un,{onRetry:()=>{I("reconcile")}}):null,!ie&&we?(0,o.jsxs)("div",{className:"wb-pane-empty wb-control-checking",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u22EF"}),(0,o.jsx)("strong",{children:"\u6B63\u5728\u786E\u8BA4\u7EC8\u7AEF\u63A7\u5236\u6743"}),(0,o.jsx)("p",{children:"\u786E\u8BA4\u4E4B\u524D\u5148\u4E0D\u63A5\u5165\u7EC8\u7AEF\u753B\u9762\uFF0C\u907F\u514D\u5728\u4E0D\u77E5\u9053\u80FD\u4E0D\u80FD\u5199\u7684\u60C5\u51B5\u4E0B\u628A\u8F93\u5165\u6253\u8FDB\u53BB\u3002"})]}):null]}):(u||!e.authenticated)&&!l&&y?_==="failed"?(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,o.jsx)("strong",{children:"\u53EA\u8BFB\u94FE\u63A5\u83B7\u53D6\u5931\u8D25"}),(0,o.jsx)("p",{children:"\u767B\u5F55\u6001\u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u6216\u8BE5\u4F1A\u8BDD\u7684\u7EC8\u7AEF\u670D\u52A1\u672A\u6CE8\u518C\u3002\u7A0D\u540E\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"}),(0,o.jsx)("button",{type:"button",onClick:S,children:"\u91CD\u8BD5"})]}):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,o.jsx)("strong",{children:"\u6B63\u5728\u83B7\u53D6\u53EA\u8BFB\u7EC8\u7AEF\u94FE\u63A5\u2026"})]}):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25A1"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF\u4E0D\u53EF\u7528"}),(0,o.jsx)("p",{children:e.session.status==="closed"?"\u4F1A\u8BDD\u5DF2\u5173\u95ED\u3002":"\u8BE5\u4F1A\u8BDD\u5C1A\u672A\u63D0\u4F9B\u7EC8\u7AEF\u5165\u53E3\u3002"})]})})]})}var ke={mode:"preview",label:"\u9884\u89C8",securityNotice:"\u4EA4\u4E92\u906E\u7F69\u7528\u4E8E\u9632\u8BEF\u89E6\uFF0C\u4E0D\u662F\u5E94\u7528\u7EA7\u5B89\u5168\u8FB9\u754C\u3002"};function An(e){let n=ge(e.session),[r,c]=(0,i.useState)(ke),[f,p]=(0,i.useState)("loading"),[y,l]=(0,i.useState)("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002"),[u,v]=(0,i.useState)(0),_=(0,i.useRef)("preview"),S=(0,i.useRef)(0),T=(0,i.useRef)(0),k=(0,i.useCallback)((b,C)=>{let E=_.current;_.current=b.mode,c(b),p("ready"),E==="interactive"&&b.mode==="preview"?l(C==="poll"?"\u957F\u65F6\u95F4\u65E0\u64CD\u4F5C\uFF0C\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002":"\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002"):b.mode==="interactive"?l("\u5DF2\u5F00\u542F\u4EA4\u4E92\uFF0C\u6301\u7EED\u64CD\u4F5C\u81EA\u52A8\u7EED\u671F\uFF0815 \u5206\u949F\uFF09\u3002"):l("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002")},[]),g=(0,i.useCallback)(async(b,C)=>{let E=++T.current;if(!n){c(ke),p("ready");return}try{let L=await e.api.getPreviewInteraction(e.session.sessionId,C);if(E!==T.current)return;k(L,b)}catch(L){if(C?.aborted||E!==T.current)return;_.current="preview",c(ke),l(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${Te(L)}`),p("error")}},[k,n,e.api,e.session.sessionId]);(0,i.useEffect)(()=>{let b=new AbortController;p("loading"),g("load",b.signal);let C=setInterval(()=>{(typeof document>"u"||!document.hidden)&&g("poll",b.signal)},15e3);return()=>{T.current+=1,clearInterval(C),b.abort()}},[g]),(0,i.useEffect)(()=>{if(r.mode!=="interactive"||!r.idleExpiresAt)return;let b=setTimeout(()=>{g("poll")},Math.max(0,r.idleExpiresAt-Date.now())+25);return()=>clearTimeout(b)},[r.idleExpiresAt,r.mode,g]);let I=async b=>{let C=++T.current;p("busy");try{let E=b==="unlock"?await e.api.unlockPreview(e.session.sessionId):b==="lock"?await e.api.lockPreview(e.session.sessionId):await e.api.touchPreview(e.session.sessionId);if(C!==T.current)return;k(E,"action"),(b==="unlock"||b==="lock")&&v(L=>L+1)}catch(E){if(C!==T.current)return;_.current="preview",c(ke),l(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${Te(E)}`),p("error")}},K=b=>{typeof Element<"u"&&b.target instanceof Element&&b.target.closest(".wb-pane-titlebar")||r.mode!=="interactive"||Date.now()-S.current<2e4||(S.current=Date.now(),I("activity"))},B=r.mode==="interactive"&&r.idleExpiresAt?Me(r.idleExpiresAt,e.now,"zh-CN"):null,M=r.mode==="interactive"?"\u53EF\u4EA4\u4E92":"\u9884\u89C8";return(0,o.jsxs)("section",{className:"wb-pane wb-web-pane","aria-label":"\u7F51\u9875\u9884\u89C8\u9762\u677F",onPointerDown:K,onKeyDown:K,children:[(0,o.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,o.jsxs)("div",{className:"wb-pane-identity",children:[(0,o.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u25CE"}),(0,o.jsx)("strong",{children:"\u7F51\u9875"}),(0,o.jsxs)("span",{className:`wb-mode-chip ${r.mode==="interactive"?"is-interactive":"is-preview"}`,children:[(0,o.jsx)("span",{"aria-hidden":"true",children:r.mode==="interactive"?"\u25C6":"\u25C9"}),M]}),B?(0,o.jsx)("span",{className:"wb-lease-time",children:`${B}\u91CD\u65B0\u9501\u5B9A`}):null]}),(0,o.jsxs)("div",{className:"wb-pane-actions",children:[n?(0,o.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,n&&e.authenticated&&e.capabilities.canInteract?r.mode==="interactive"?(0,o.jsx)("button",{type:"button",disabled:f==="busy",onClick:()=>{I("lock")},children:"\u7ACB\u5373\u9501\u5B9A"}):(0,o.jsx)("button",{type:"button",disabled:f==="busy",onClick:()=>{I("unlock")},children:"\u5F00\u542F\u4EA4\u4E92"}):null]})]}),(0,o.jsxs)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:[(0,o.jsxs)("strong",{children:[M,":"]})," ",y," ",(0,o.jsx)("span",{title:r.securityNotice,children:r.securityNotice})]}),(0,o.jsx)("div",{className:"wb-pane-frame-shell",children:n?(0,o.jsx)("iframe",{className:"wb-pane-frame",src:n,"data-interaction-generation":u,title:`\u7F51\u9875\u9884\u89C8 \u2014 ${ye(e.session)} \u2014 ${M}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer"},`${e.session.sessionId}-${u}`):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25CE"}),(0,o.jsx)("strong",{children:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8"}),(0,o.jsxs)("p",{children:["\u5728\u8BE5\u4F1A\u8BDD\u5185\u8FD0\u884C ",(0,o.jsx)("code",{children:"botmux preview <\u7AEF\u53E3>"})," \u6CE8\u518C\u9884\u89C8\u3002"]})]})})]})}function Ne(e){let n=e.session,r=[["\u4F1A\u8BDD ID",n.sessionId],["\u72B6\u6001",n.status],["\u673A\u5668\u4EBA",n.botName||n.larkAppId||"\u2014"],["CLI",n.cliId||"unknown"],["\u4ED3\u5E93",n.repoName||n.workingDir||"\u2014"],["\u5206\u652F",n.gitBranch||"\u2014"],["\u7FA4\u804A",n.chatDisplayName||n.chatId||"\u2014"],["\u8303\u56F4",n.scope||"thread"]];return(0,o.jsxs)("div",{className:"wb-info-content",children:[(0,o.jsx)("h2",{children:ye(n)}),(0,o.jsx)("dl",{children:r.map(([c,f])=>(0,o.jsxs)("div",{children:[(0,o.jsx)("dt",{children:c}),(0,o.jsx)("dd",{title:String(f),children:String(f)})]},c))})]})}var s=H(te(),1),Mn=250,jn=250,Yn=new Set(["starting","working","analyzing"]);function Qn(){return typeof window>"u"?null:window.location}function Zn(){if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function et(e){let[n,r]=(0,d.useState)(e??(typeof window>"u"?1440:window.innerWidth));return(0,d.useEffect)(()=>{if(e!==void 0){r(e);return}let c=()=>r(window.innerWidth);return c(),window.addEventListener("resize",c,{passive:!0}),()=>window.removeEventListener("resize",c)},[e]),n}function nt(e){let n=qe(e);return n["needs-you"][0]?.sessionId??n.active[0]?.sessionId??n.recent[0]?.sessionId??null}function tt(e,n){return{...e,...n,version:1,railWidth:Ge(Number(n.railWidth??e.railWidth)),splitRatio:Re(Number(n.splitRatio??e.splitRatio))}}function xn(e){let n=(0,d.useMemo)(()=>e.api??Ve(),[e.api]),r=e.storage===void 0?Zn():e.storage,c=e.location===void 0?Qn():e.location,f=e.now??Date.now(),p=et(e.viewportWidth),y=e.initialSessionId??nt(e.sessions),[l,u]=(0,d.useState)(y),[v,_]=(0,d.useState)(()=>{let t=y?le(y,r):le("",null),a=an(r);return{sessionId:y,layout:a?{...t,railWidth:a.railWidth,railCollapsed:a.railCollapsed}:t}}),[S,T]=(0,d.useState)("sessions"),k=(0,d.useRef)(null),g=(0,d.useRef)(e.initialSessionId),I=(0,d.useRef)(f);I.current=f;let K=(0,d.useRef)(f),[B,M]=(0,d.useState)(()=>dn(r)??"status"),[b,C]=(0,d.useState)(()=>{let t=ln(r);if(t)return t;let a={};for(let m of e.sessions)se(m.sessionId)&&(a[m.sessionId]=f);return ve({seen:a,unread:{}})}),E=(0,d.useRef)(new Map),[L,O]=(0,d.useState)(null),me=L?.sessionId??null,[G,be]=(0,d.useState)(!1),oe=t=>{O(a=>En(a,t))},z=(0,d.useCallback)(t=>{t.fixed&&be(!0),O(a=>Ln(a,t))},[]),X=(0,d.useMemo)(()=>e.sessions.find(t=>t.sessionId===me)??null,[e.sessions,me]),h=(0,d.useMemo)(()=>e.sessions.find(t=>t.sessionId===l)??null,[e.sessions,l]),J=!!h&&ge(h)!==null,Se=(0,d.useMemo)(()=>J?["workspace","preview","info"]:["workspace","info"],[J]),P=v.layout,fe=en().appearance.termStyle,[q,V]=(0,d.useState)(!1),R=Xe(p,P),Fe=R.chatMode==="native-split"&&P.chatRequested,U=R.railCollapsed,j=U?40:P.railWidth;(0,d.useEffect)(()=>{let t=g.current!==e.initialSessionId;g.current=e.initialSessionId,!(!t||e.initialSessionId===void 0)&&u(e.initialSessionId)},[e.initialSessionId]),(0,d.useEffect)(()=>{v.sessionId!==l&&_(t=>{let a=l?le(l,r):le("",null);return{sessionId:l,layout:{...a,railWidth:t.layout.railWidth,railCollapsed:t.layout.railCollapsed}}})},[v.sessionId,l,r]),(0,d.useEffect)(()=>{S==="preview"&&!J&&T("workspace")},[S,J]),(0,d.useEffect)(()=>{let t=v.sessionId;if(!t)return;let a=v.layout,m=setTimeout(()=>{rn(t,a,r)},Mn);return()=>clearTimeout(m)},[v,r]),(0,d.useEffect)(()=>{let t={railWidth:P.railWidth,railCollapsed:P.railCollapsed},a=setTimeout(()=>{sn(r,t)},Mn);return()=>clearTimeout(a)},[P.railWidth,P.railCollapsed,r]),(0,d.useEffect)(()=>{let t=E.current,a=new Map,m=[];for(let x of e.sessions){let N=x.sessionId;if(!se(N))continue;let $=String(x.status??"");a.set(N,$);let D=t.get(N);D&&Yn.has(D)&&$==="idle"&&N!==l&&m.push(N)}if(E.current=a,m.length===0)return;let W=I.current;C(x=>{let N={...x.unread};for(let $ of m)N[$]=W;return ve({seen:x.seen,unread:N})})},[e.sessions,l]),(0,d.useEffect)(()=>{let t=b,a=setTimeout(()=>{cn(r,t)},jn);return()=>clearTimeout(a)},[b,r]);let Y=(0,d.useMemo)(()=>{let t=new Set;for(let a of e.sessions){let m=a.sessionId;if(!se(m)||m===l||a.status==="closed")continue;let W=b.seen[m],x=b.unread[m];if(x!==void 0&&x>=(W??0)){t.add(m);continue}Ae(a)>(W??K.current)&&t.add(m)}return t},[e.sessions,b,l]),re=t=>{if(!se(t))return;let a=e.sessions.find(W=>W.sessionId===t),m=Math.max(I.current,a?Ae(a):0);C(W=>{if(W.seen[t]===m&&W.unread[t]===void 0)return W;let x={...W.unread};return delete x[t],ve({seen:{...W.seen,[t]:m},unread:x})})},he=t=>{M(t),un(r,t)},A=t=>{_(a=>({...a,layout:tt(a.layout,t)}))},F=t=>{re(t),u(t);let a=$e("main",t);e.onRouteChange?e.onRouteChange(a):typeof window<"u"&&window.history.replaceState(window.history.state,"",a)},Ce=t=>{F(t),O(a=>In(a,t))},Ie=t=>{F(t),oe(t),T("workspace")},Ee=t=>{t.preventDefault();let a=t.currentTarget;a.setPointerCapture?.(t.pointerId);let m=k.current;m?.classList.add("is-rail-dragging");let W=t.clientX,x=P.railWidth,N=W,$=W,D=0,De=()=>{D=0,$=N,A({railWidth:x+$-W})},He=Nn=>{N=Nn.clientX,D===0&&(D=window.requestAnimationFrame(De))},ne=()=>{D!==0&&(window.cancelAnimationFrame(D),D=0),N!==$&&De(),m?.classList.remove("is-rail-dragging"),window.removeEventListener("pointermove",He),window.removeEventListener("pointerup",ne),window.removeEventListener("pointercancel",ne),a.removeEventListener("lostpointercapture",ne)};window.addEventListener("pointermove",He),window.addEventListener("pointerup",ne),window.addEventListener("pointercancel",ne),a.addEventListener("lostpointercapture",ne)},ie=t=>{t.key!=="ArrowLeft"&&t.key!=="ArrowRight"||(t.preventDefault(),A({railWidth:P.railWidth+(t.key==="ArrowLeft"?-8:8)}))},Le=t=>{t.key==="/"&&!(t.target instanceof HTMLInputElement)&&!(t.target instanceof HTMLTextAreaElement)&&(t.preventDefault(),k.current?.querySelector(".wb-session-search input")?.focus())},we={"--wb-rail-width":`${j}px`},ae=R.mode==="desktop"?()=>A({railCollapsed:!P.railCollapsed}):void 0,Q=!!ae&&U,Z=(0,s.jsx)(mn,{sessions:e.sessions,selectedSessionId:l,collapsed:Q,locale:e.locale,now:f,online:e.online,chatFollowNavigates:R.mode!=="mobile",unreadIds:Y,dimension:B,onDimensionChange:he,onSeen:re,onLocate:e.capabilities.canLocate?t=>n.locateSession(t):void 0,fixedTerminal:G,terminalBusySessionId:L?.busy?L.sessionId:null,onOpenAppearance:R.mode==="mobile"?()=>V(!0):void 0,onSelect:t=>{if(Ce(t),R.mode==="mobile"){O(a=>a&&a.sessionId===t?a:ue(t)),T("workspace");return}},onOpenTerminal:Ie,onToggleCollapsed:ae}),ee=h?(0,s.jsxs)("section",{className:"wb-workspace","aria-label":`\u5DE5\u4F5C\u53F0 \u2014 ${h.title||h.sessionId}`,children:[(0,s.jsxs)("header",{className:"wb-workspace-header",children:[(0,s.jsx)("div",{className:"wb-workspace-title",children:(0,s.jsxs)("span",{children:[(0,s.jsx)("strong",{title:String(h.title||h.sessionId),children:String(h.title||h.sessionId)}),(0,s.jsxs)("small",{children:[h.botName||h.larkAppId||"Bot"," \xB7 ",h.cliId||"\u672A\u77E5"," \xB7 ",h.repoName||"\u65E0\u4ED3\u5E93"]})]})}),(0,s.jsxs)("div",{className:"wb-workspace-controls",children:[X?(0,s.jsx)("button",{type:"button",className:"wb-layout-level wb-terminal-toggle","aria-pressed":"true",title:"\u5173\u95ED\u7EC8\u7AEF\u9762\u677F",onClick:()=>O(null),children:"\u5173\u95ED\u7EC8\u7AEF \u2715"}):null,R.mode!=="mobile"?(0,s.jsx)(on,{standingLink:e.manageAuthed===!0,api:n}):null]})]}),(0,s.jsx)("div",{className:"wb-pane-stack",children:X?(0,s.jsx)(Rn,{session:X,api:n,authenticated:e.authenticated,capabilities:e.capabilities,now:f,location:c,autoTakeControl:!1,onControlModeChange:z},`${X.sessionId}:${L?.generation??0}`):(0,s.jsxs)("div",{className:"wb-pane-placeholder",role:"status",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,s.jsx)("p",{children:"\u5728\u5DE6\u4FA7\u4F1A\u8BDD\u884C\u70B9\u51FB\u7EC8\u7AEF\u56FE\u6807\u6253\u5F00\u7EC8\u7AEF"})]})})]}):(0,s.jsxs)("section",{className:"wb-workspace wb-no-selection","aria-live":"polite",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u2301"}),(0,s.jsx)("h2",{children:l?"\u4F1A\u8BDD\u4E0D\u5B58\u5728":"\u9009\u62E9\u4E00\u4E2A\u4F1A\u8BDD"}),(0,s.jsx)("p",{children:l?"\u8BE5\u4F1A\u8BDD\u5DF2\u7ED3\u675F\u6216\u88AB\u6E05\u7406":"\u4ECE\u5DE6\u4FA7\u5217\u8868\u9009\u62E9\u4F1A\u8BDD\uFF0C\u67E5\u770B\u7EC8\u7AEF\u6216\u7F51\u9875\u9884\u89C8"})]}),w=S==="sessions"?Z:S==="info"&&h?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(Ne,{session:h})}):ee;return(0,s.jsx)("main",{ref:k,className:"agent-workbench-page","data-surface":"appCenter","data-term-style":fe,"data-responsive-step":R.step,"data-demo":e.demo?"true":void 0,style:we,onKeyDown:Le,children:R.mode==="mobile"?(0,s.jsxs)("div",{className:"wb-mobile-stack",children:[S==="sessions"?Z:(0,s.jsxs)("div",{className:"wb-mobile-detail",children:[(0,s.jsxs)("div",{className:"wb-mobile-detail-bar",children:[(0,s.jsx)("button",{type:"button",className:"wb-mobile-back",onClick:()=>T("sessions"),children:"\u2039 \u4F1A\u8BDD\u5217\u8868"}),h?(0,s.jsx)("span",{className:"wb-mobile-detail-title",title:String(h.title||h.sessionId),children:String(h.title||h.sessionId)}):null,(0,s.jsx)("span",{className:"wb-mobile-detail-seg",children:Se.map(t=>(0,s.jsx)("button",{type:"button","aria-current":S===t?"page":void 0,onClick:()=>T(t),children:t==="workspace"?"\u7EC8\u7AEF":t==="preview"?"\u7F51\u9875":"\u4FE1\u606F"},t))})]}),S==="info"&&h?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(Ne,{session:h})}):S==="preview"&&h?(0,s.jsx)("main",{className:"wb-mobile-preview",children:(0,s.jsx)(An,{session:h,api:n,authenticated:e.authenticated,capabilities:e.capabilities,now:f})}):ee]}),(0,s.jsx)(tn,{open:q,onClose:()=>V(!1),standingLink:e.manageAuthed===!0,api:n})]}):(0,s.jsxs)("div",{className:`wb-desktop-layout${Q?" is-rail-collapsed":""}${X?"":" is-terminal-closed"}`,children:[Z,Q?null:(0,s.jsx)("button",{type:"button",className:"wb-rail-separator",role:"separator","aria-label":"\u8C03\u6574\u5217\u8868\u5BBD\u5EA6","aria-orientation":"vertical","aria-valuemin":176,"aria-valuemax":460,"aria-valuenow":P.railWidth,onPointerDown:Ee,onKeyDown:ie,children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\u22EE"})}),ee]})})}var _e=H(te(),1);function ot(){let e=Oe(),[n,r]=(0,We.useState)(Date.now());(0,We.useEffect)(()=>{let f=window.setInterval(()=>r(Date.now()),3e4);return()=>window.clearInterval(f)},[]);let c=Be(window.location.hash);return(0,_e.jsx)(xn,{sessions:[...e.sessions.values()],online:e.online,authenticated:pe.workbenchAuthed,capabilities:pe.workbenchCapabilities,manageAuthed:pe.authed,initialSessionId:c?.surface==="main"?c.sessionId:null,locale:"zh-CN",now:n})}function It(e){return Ke(e,(0,_e.jsx)(ot,{}))}export{It as renderAgentWorkbenchPage};
1
+ import{A as on,B as le,C as rn,D as an,E as sn,F as ve,G as ln,H as cn,I as dn,J as un,K as mn,L as bn,M as fn,a as se,b as $e,c as Be,d as Ge,e as Re,f as Xe,g as Ae,h as ye,i as qe,j as Me,k as Ue,l as ze,m as ge,q as Je,r as xe,s as Ve,t as je,u as Ye,v as Qe,w as Ze,x as en,y as nn,z as tn}from"./chunk-IYVXEFKU.js";import"./chunk-OWUXOKFE.js";import"./chunk-ZJVTGU5X.js";import{a as Oe}from"./chunk-3OJQKYM3.js";import"./chunk-QITAMHW6.js";import{x as pe}from"./chunk-IRFGJSPL.js";import{c as Ke}from"./chunk-ARROO6TE.js";import{c as H,d as Pe,e as te}from"./chunk-3YZFAHNK.js";var We=H(Pe(),1);var d=H(Pe(),1);var i=H(Pe(),1);function pn(){return{phase:"loading",authoritative:null,observeEpoch:0,observeIssueEpoch:0,observeIssuedDuringWrite:!1,writeEpoch:0,pending:null,mayWrite:!1,error:null,frameGeneration:0,reconcileNonce:0}}function hn(e){return e.mode==="controlled"&&e.owned?"controlled":"readonly"}function ce(e){return e?.mode==="controlled"&&e.owned}function yn(e){return e.phase==="taking-over"||e.phase==="releasing"}function gn(e){return e.phase==="readonly"||e.phase==="controlled"}function wn(e){return e.observeIssueEpoch<e.writeEpoch||e.observeIssuedDuringWrite}function vn(e){return e.phase==="unknown"&&e.mayWrite}function kn(e){switch(e.phase){case"loading":return"loading";case"unknown":return"unknown";case"controlled":return"controlled";case"readonly":return"readonly";default:return ce(e.authoritative)?"controlled":"readonly"}}function Tn(e,n){switch(n.type){case"observe-start":return{...e,observeEpoch:n.epoch,observeIssueEpoch:e.writeEpoch,observeIssuedDuringWrite:e.pending!==null,phase:n.source==="load"&&!e.pending?"loading":e.phase};case"observe-settled":{if(n.epoch!==e.observeEpoch||e.pending||wn(e))return e;let r=ce(e.authoritative)&&!ce(n.control);return{...e,phase:hn(n.control),authoritative:n.control,mayWrite:ce(n.control),error:e.error?.from==="write"?e.error:null,frameGeneration:e.frameGeneration+(r?1:0)}}case"observe-failed":{if(n.epoch!==e.observeEpoch||e.pending||wn(e))return e;let r={text:n.error,from:"observe"};return!e.authoritative&&n.canHoldLease?{...e,phase:"unknown",mayWrite:!0,error:r}:e.authoritative?{...e,error:r}:{...e,phase:"readonly",authoritative:{mode:"readonly",owned:!1},mayWrite:!1,error:r}}case"settle-readonly":return e.phase==="readonly"&&e.authoritative?.mode==="readonly"&&!e.pending&&!e.mayWrite&&!e.error?e:{...e,phase:"readonly",authoritative:{mode:"readonly",owned:!1},pending:null,mayWrite:!1,error:null};case"write-start":return{...e,writeEpoch:n.epoch,pending:{action:n.action,epoch:n.epoch},phase:n.action==="takeover"?"taking-over":"releasing",mayWrite:!0,error:null};case"write-settled":return n.epoch!==e.writeEpoch?e:{...e,phase:hn(n.control),authoritative:n.control,pending:null,mayWrite:ce(n.control),error:null,frameGeneration:e.frameGeneration+1};case"write-failed":return n.epoch!==e.writeEpoch?e:{...e,phase:"unknown",pending:null,mayWrite:!0,error:{text:n.error,from:"write"},reconcileNonce:e.reconcileNonce+1};default:return e}}var Wn="botmux:wb-terminal-write",de=new Map;function Sn(e,n){let r=de.get(e);return r||(r=new Set,de.set(e,r)),r.add(n),()=>{let c=de.get(e);c&&(c.delete(n),c.size===0&&de.delete(e))}}function Cn(e){return(de.get(e)?.size??0)>0}function ue(e,n=0){return{sessionId:e,mode:"loading",fixed:!1,toggleOnly:!1,busy:!1,generation:n}}function In(e,n){return e?e.sessionId===n?e:ue(n):null}function En(e,n){return e&&e.busy&&e.sessionId===n?e:!e||e.sessionId!==n?ue(n):e.toggleOnly||e.mode!=="controlled"?null:ue(n,e.generation+1)}function Ln(e,n){return!e||e.sessionId!==n.sessionId||e.mode===n.mode&&e.fixed===n.fixed&&e.toggleOnly===n.toggleOnly&&e.busy===n.busy?e:{...e,mode:n.mode,fixed:n.fixed,toggleOnly:n.toggleOnly,busy:n.busy}}var o=H(te(),1);function _n(e){try{let n=e?.contentWindow?.document?.getElementById("status")?.textContent?.trim();return n==="connected"?"connected":n==="disconnected"?"disconnected":"unknown"}catch{return"unknown"}}function Fn(e){try{let r=e?.contentWindow?.wsHasWrite;return r===!0?"writable":r===!1?"readonly":"unknown"}catch{return"unknown"}}function Dn(e){if(!e||typeof e!="object")return null;let n=e;return n.type!==Wn?null:n.write===null?"unknown":typeof n.write=="boolean"?n.write?"writable":"readonly":null}var Pn=1e3,Hn=8;function Kn(e){let{enabled:n,frameKey:r,sessionId:c}=e,[f,p]=(0,i.useState)(!1),[y,l]=(0,i.useState)(null),u=(0,i.useRef)(!1),v=(0,i.useRef)(e.read);(0,i.useEffect)(()=>{v.current=e.read}),(0,i.useEffect)(()=>{u.current=!1,p(!1)},[c]),(0,i.useEffect)(()=>{if(!n||u.current||y!==r)return;let S=0,T=setInterval(()=>{let k=v.current();if(k==="connected"){u.current=!0,p(!1),clearInterval(T);return}if(k!=="disconnected"){S=0;return}S+=1,S>=Hn&&p(!0)},Pn);return()=>clearInterval(T)},[n,r,y]);let _=(0,i.useCallback)(()=>l(r),[r]);return{blocked:n&&f,onFrameLoad:n?_:void 0}}var On=5;function $n(e){let{enabled:n,frameKey:r}=e,[c,f]=(0,i.useState)("unknown"),p=(0,i.useRef)(e.read);return(0,i.useEffect)(()=>{p.current=e.read}),(0,i.useEffect)(()=>{if(!n)return;f("unknown");let y=0,l=()=>{let v=p.current();return v==="unknown"?!1:(f(v),!0)};if(l())return;let u=setInterval(()=>{y+=1,(l()||y>=On)&&clearInterval(u)},Pn);return()=>clearInterval(u)},[n,r]),n?c:"unknown"}function Bn(e){let{enabled:n,frameKey:r}=e,[c,f]=(0,i.useState)({write:"unknown",live:!1}),p=(0,i.useRef)(e.frame);return(0,i.useEffect)(()=>{p.current=e.frame}),(0,i.useEffect)(()=>{if(f({write:"unknown",live:!1}),!n||typeof window>"u"||!window.addEventListener)return;let y=l=>{let u=p.current()?.contentWindow;if(!u||l.source!==u)return;let v=Dn(l.data);v!==null&&f({write:v,live:!0})};return window.addEventListener("message",y),()=>window.removeEventListener("message",y)},[n,r]),n?c:{write:"unknown",live:!1}}function Gn(){try{return typeof window>"u"?void 0:window.location?.href}catch{return}}function Te(e){return e instanceof xe?{authentication_required:"\u9700\u8981\u767B\u5F55\u8BA4\u8BC1",session_not_active:"\u4F1A\u8BDD\u5DF2\u4E0D\u518D\u6D3B\u8DC3",daemon_offline:"\u6240\u5C5E daemon \u5DF2\u79BB\u7EBF",terminal_unavailable:"\u7EC8\u7AEF\u4E0D\u53EF\u7528",control_busy:"\u53E6\u4E00\u4E2A\u6D4F\u89C8\u5668\u6B63\u5728\u63A7\u5236\u8BE5\u7EC8\u7AEF",preview_not_registered:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8",control_request_timeout:"\u63A7\u5236\u6743\u8BF7\u6C42\u8D85\u65F6"}[e.code]??e.code.replaceAll("_"," "):e instanceof Error?e.message:String(e)}var Xn=1e4;async function qn(e,n=Xn){let r=new AbortController,c,f=new Promise((p,y)=>{c=setTimeout(()=>{try{r.abort()}catch{}y(new xe(504,"control_request_timeout"))},n)});f.catch(()=>{});try{return await Promise.race([e(r.signal),f])}finally{c!==void 0&&clearTimeout(c)}}function Un(e){let n=(0,i.useRef)(null);return(0,i.useEffect)(()=>{try{n.current?.focus?.()}catch{}},[]),(0,o.jsxs)("div",{ref:n,tabIndex:-1,className:"wb-pane-empty wb-control-unknown",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25C7"}),(0,o.jsx)("strong",{children:"\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5"}),(0,o.jsx)("p",{children:"\u6CA1\u6709\u62FF\u5230\u786E\u8BA4\uFF0C\u8FD9\u5757\u7EC8\u7AEF\u53EF\u80FD\u4ECD\u7136\u53EF\u5199\u3002\u5DF2\u65AD\u5F00\u7EC8\u7AEF\u753B\u9762\u6321\u4F4F\u8F93\u5165\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u3002"}),(0,o.jsx)("button",{type:"button",onClick:e.onRetry,children:"\u7ACB\u5373\u91CD\u8BD5"})]})}function Rn(e){let[n,r]=(0,i.useReducer)(Tn,void 0,pn),c=(0,i.useRef)(0),f=(0,i.useRef)(0),p=(0,i.useRef)(!0);(0,i.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let y=Ue(e.session,e.location),l=ze(e.session),u=bn(),{link:v,phase:_,retry:S}=fn({api:e.api,sessionId:e.session.sessionId,enabled:!l&&(u||!e.authenticated)}),T=v?v.url:null,k=!l&&u?T:e.authenticated?y:T,g=e.session.sessionId,I=(0,i.useCallback)(async(w,t)=>{if(!y||l||!e.authenticated){r({type:"settle-readonly"});return}let a=++c.current;r({type:"observe-start",epoch:a,source:w});try{let m=await e.api.getTerminalControl(g,t);r({type:"observe-settled",epoch:a,control:m})}catch(m){if(t?.aborted)return;r({type:"observe-failed",epoch:a,error:Te(m),canHoldLease:e.capabilities.canControl&&!u})}},[l,e.api,e.authenticated,e.capabilities.canControl,g,y,u]);(0,i.useEffect)(()=>{let w=new AbortController;I("load",w.signal);let t=setInterval(()=>{I("poll",w.signal)},15e3);return()=>{c.current+=1,clearInterval(t),w.abort()}},[I]);let K=n.authoritative?.expiresAt;(0,i.useEffect)(()=>{if(n.phase!=="controlled"||!K)return;let w=setTimeout(()=>{I("poll")},Math.max(0,K-Date.now())+25);return()=>clearTimeout(w)},[K,n.phase,I]),(0,i.useEffect)(()=>{if(n.reconcileNonce===0)return;let w=new AbortController;return I("reconcile",w.signal),()=>w.abort()},[n.reconcileNonce,I]);let B=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(e.autoTakeControl===void 0||!e.authenticated||!e.capabilities.canControl||u||!gn(n))return;let w=n.authoritative;!w||w.fixed||B.current!==g&&(B.current=g,w.mode==="controlled"&&w.owned&&L("release"))});let M=(0,i.useRef)(new Map),b=()=>{let w=[...M.current.values()];return M.current.clear(),w},C=(0,i.useCallback)(async w=>{for(let t of w)Cn(t.sessionId)||await e.api.releaseTerminal(t.sessionId,void 0,t.acquisitionId).catch(()=>{})},[e.api]),E=(0,i.useRef)(0),L=async w=>{let t=++f.current,a=w==="takeover"?Je():void 0;a&&M.current.set(a,{sessionId:g,acquisitionId:a}),E.current+=1,r({type:"write-start",epoch:t,action:w});try{let m=await qn(W=>w==="takeover"?e.api.takeoverTerminal(g,W,a):e.api.releaseTerminal(g,W));if((w==="release"||m.fixed===!0)&&M.current.clear(),!p.current){C(b());return}r({type:"write-settled",epoch:t,control:m})}catch(m){if(!p.current){C(b());return}r({type:"write-failed",epoch:t,error:Te(m)})}finally{E.current-=1}};(0,i.useEffect)(()=>{n.authoritative?.fixed===!0&&M.current.clear()},[n.authoritative]);let O=(0,i.useRef)(C);(0,i.useEffect)(()=>{O.current=C}),(0,i.useEffect)(()=>()=>{if(E.current>0)return;let w=[...M.current.values()];w.length!==0&&(M.current.clear(),Promise.resolve().then(()=>O.current(w)))},[g]);let me=(0,i.useRef)({});(0,i.useEffect)(()=>{if(n.mayWrite)return Sn(g,me.current)},[n.mayWrite,g]);let G=(0,i.useRef)(null),be=(0,i.useRef)(0),oe=(0,i.useRef)(void 0);oe.current!==k&&(oe.current!==void 0&&(be.current+=1),oe.current=k);let z=`${g}-${n.frameGeneration}-l${be.current}`,X=e.readFrameStatus??_n,h=Kn({enabled:u,sessionId:g,frameKey:z,read:()=>X(G.current)}),J=e.readFrameWrite??Fn,Se=$n({enabled:u,frameKey:z,read:()=>J(G.current)}),P=Bn({enabled:u,frameKey:z,frame:()=>G.current}),fe=P.live?P.write:Se,{appearance:q,skin:V}=Ze(),R=(0,i.useCallback)(()=>{Qe(G.current,k,q.termStyle,V,Gn())},[q.termStyle,k,V]);(0,i.useEffect)(()=>{R()},[R]);let Fe=(0,i.useCallback)(()=>{h.onFrameLoad?.(),R()},[h,R]),U=n.authoritative,j=yn(n),Y=U?.fixed===!0,re=!l&&!!y&&e.authenticated&&e.capabilities.canControl&&!u&&!Y,he=fe!=="unknown"?fe:Y?"unknown":"readonly",A=u?he==="writable"?"controlled":he==="readonly"?"readonly":"unknown":kn(n),F=A==="controlled",Ce=F?"\u53EF\u8F93\u5165":A==="unknown"?"\u672A\u77E5":A==="loading"?"\u68C0\u67E5\u4E2D":"\u53EA\u8BFB",Ie=F?"is-controlled":A==="unknown"?"is-unknown":A==="loading"?"is-checking":"is-readonly",Ee=F?"\u25C6":A==="unknown"?"\u25C7":A==="loading"?"\u22EF":"\u25CC",ie=!u&&vn(n),Le=!l&&!!y&&!u&&e.authenticated&&e.capabilities.canControl,we=n.phase==="loading"&&Le,ae=ie||we,Q=e.onControlModeChange,Z=!re;(0,i.useEffect)(()=>{Q?.({sessionId:g,mode:A,fixed:Y,toggleOnly:Z,busy:j})},[j,Y,Q,A,g,Z]);let ee=F&&U?.expiresAt?Me(U.expiresAt,e.now,"zh-CN"):null;return(0,o.jsxs)("section",{className:`wb-pane wb-terminal-pane ${je(q.termStyle)}`,style:Ye(q.termStyle,V),"aria-label":"\u7EC8\u7AEF\u9762\u677F",children:[(0,o.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,o.jsxs)("div",{className:"wb-pane-identity",children:[(0,o.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u203A_"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF"}),(0,o.jsxs)("span",{className:`wb-mode-chip ${Ie}`,children:[(0,o.jsx)("span",{"aria-hidden":"true",children:Ee}),Ce]}),ee?(0,o.jsx)("span",{className:"wb-lease-time",children:`${ee}\u5230\u671F`}):null]}),(0,o.jsx)(nn,{termStyle:q.termStyle}),(0,o.jsxs)("div",{className:"wb-pane-actions",children:[k?(0,o.jsx)("a",{href:k,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,re?F?(0,o.jsx)("button",{type:"button",disabled:j,onClick:()=>{L("release")},children:"\u91CA\u653E\u8F93\u5165"}):(0,o.jsx)("button",{type:"button",disabled:j,onClick:()=>{L("takeover")},children:"\u63A5\u7BA1\u8F93\u5165"}):null]})]}),(0,o.jsx)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:u?F?"\u5F53\u524D\u8EAB\u4EFD\u5728\u624B\u673A\u7AEF\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u3002":A==="unknown"?"\u53EA\u8BFB\u94FE\u63A5\u67E5\u770B\u4E2D\uFF0C\u80FD\u5426\u8F93\u5165\u4EE5\u7EC8\u7AEF\u9875\u5185\u7684\u63D0\u793A\u4E3A\u51C6\u3002":"\u53EA\u8BFB\u67E5\u770B\u4E2D\u3002\u624B\u673A\u7AEF\u4E3A\u53EA\u8BFB\u89C6\u56FE\uFF0C\u9700\u8981\u8F93\u5165\u8BF7\u5728\u7535\u8111\u4E0A\u64CD\u4F5C\u3002":n.phase==="loading"?"\u6B63\u5728\u68C0\u67E5\u7EC8\u7AEF\u6743\u9650\u2026":n.phase==="taking-over"?"\u6B63\u5728\u63A5\u7BA1\u8F93\u5165\u2026":n.phase==="releasing"?"\u6B63\u5728\u91CA\u653E\u8F93\u5165\u2026":n.error?`${n.error.text}${n.phase==="unknown"?"\uFF1B\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u2026":""}`:n.phase==="unknown"?"\u63A7\u5236\u6743\u72B6\u6001\u672A\u77E5\uFF0C\u6B63\u5728\u91CD\u65B0\u786E\u8BA4\u2026":U?.fixed?"\u5E73\u53F0\u6240\u6709\u8005\u8EAB\u4EFD\u5DF2\u767B\u5F55\uFF0C\u53EF\u76F4\u63A5\u8F93\u5165\u3002":F?"\u5DF2\u63A5\u7BA1\uFF0C\u53EF\u952E\u76D8\u8F93\u5165\u3002":e.authenticated&&e.capabilities.canControl?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u70B9\u300C\u63A5\u7BA1\u8F93\u5165\u300D\u53EF\u64CD\u4F5C\u3002":e.authenticated?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u5F53\u524D\u8EAB\u4EFD\u4E0D\u53EF\u63A5\u7BA1\u8F93\u5165\u3002":"\u53EA\u8BFB\u67E5\u770B\u3002\u767B\u5F55 Dashboard \u540E\u53EF\u63A5\u7BA1\u3002"}),(0,o.jsx)("div",{className:"wb-pane-frame-shell",children:l?(0,o.jsxs)("div",{className:"wb-pane-empty",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u2197"}),(0,o.jsx)("strong",{children:"\u5916\u90E8 Riff \u7EC8\u7AEF"}),(0,o.jsx)("p",{children:"\u8BE5\u540E\u7AEF\u4E0D\u5728\u5DE5\u4F5C\u53F0\u9762\u677F\u5185\u5C55\u793A\u3002"}),(0,o.jsx)("a",{href:l,target:"_blank",rel:"noopener noreferrer",children:"\u6253\u5F00\u5916\u90E8\u7EC8\u7AEF"})]}):k?(0,o.jsxs)(o.Fragment,{children:[ae?null:(0,o.jsx)("iframe",{ref:G,className:"wb-pane-frame",src:k,title:`\u7EC8\u7AEF \u2014 ${ye(e.session)}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer",onLoad:Fe},z),h.blocked&&!ae?(0,o.jsxs)("div",{className:"wb-pane-empty wb-ws-blocked",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u672A\u5EFA\u7ACB"}),(0,o.jsx)("p",{children:"\u5F53\u524D\u6D4F\u89C8\u5668\u73AF\u5883\u9650\u5236\u4E86\u975E\u52A0\u5BC6\u7684\u5B9E\u65F6\u8FDE\u63A5\uFF08iOS \u5185\u5E38\u89C1\uFF09\u3002\u53EF\u5C1D\u8BD5\u7528\u7CFB\u7EDF\u6D4F\u89C8\u5668\u6253\u5F00\uFF0C\u6216\u5728\u7535\u8111\u4E0A\u67E5\u770B\u3002"}),(0,o.jsx)("a",{href:k,target:"_blank",rel:"noopener",children:"\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00"}),(0,o.jsx)("p",{children:"\u98DE\u4E66\u5185\u53EF\u901A\u8FC7\u53F3\u4E0A\u89D2 \u22EF \u83DC\u5355\u9009\u62E9\u300C\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u300D\u3002"})]}):null,ie?(0,o.jsx)(Un,{onRetry:()=>{I("reconcile")}}):null,!ie&&we?(0,o.jsxs)("div",{className:"wb-pane-empty wb-control-checking",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u22EF"}),(0,o.jsx)("strong",{children:"\u6B63\u5728\u786E\u8BA4\u7EC8\u7AEF\u63A7\u5236\u6743"}),(0,o.jsx)("p",{children:"\u786E\u8BA4\u4E4B\u524D\u5148\u4E0D\u63A5\u5165\u7EC8\u7AEF\u753B\u9762\uFF0C\u907F\u514D\u5728\u4E0D\u77E5\u9053\u80FD\u4E0D\u80FD\u5199\u7684\u60C5\u51B5\u4E0B\u628A\u8F93\u5165\u6253\u8FDB\u53BB\u3002"})]}):null]}):(u||!e.authenticated)&&!l&&y?_==="failed"?(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,o.jsx)("strong",{children:"\u53EA\u8BFB\u94FE\u63A5\u83B7\u53D6\u5931\u8D25"}),(0,o.jsx)("p",{children:"\u767B\u5F55\u6001\u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u6216\u8BE5\u4F1A\u8BDD\u7684\u7EC8\u7AEF\u670D\u52A1\u672A\u6CE8\u518C\u3002\u7A0D\u540E\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"}),(0,o.jsx)("button",{type:"button",onClick:S,children:"\u91CD\u8BD5"})]}):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,o.jsx)("strong",{children:"\u6B63\u5728\u83B7\u53D6\u53EA\u8BFB\u7EC8\u7AEF\u94FE\u63A5\u2026"})]}):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25A1"}),(0,o.jsx)("strong",{children:"\u7EC8\u7AEF\u4E0D\u53EF\u7528"}),(0,o.jsx)("p",{children:e.session.status==="closed"?"\u4F1A\u8BDD\u5DF2\u5173\u95ED\u3002":"\u8BE5\u4F1A\u8BDD\u5C1A\u672A\u63D0\u4F9B\u7EC8\u7AEF\u5165\u53E3\u3002"})]})})]})}var ke={mode:"preview",label:"\u9884\u89C8",securityNotice:"\u4EA4\u4E92\u906E\u7F69\u7528\u4E8E\u9632\u8BEF\u89E6\uFF0C\u4E0D\u662F\u5E94\u7528\u7EA7\u5B89\u5168\u8FB9\u754C\u3002"};function An(e){let n=ge(e.session),[r,c]=(0,i.useState)(ke),[f,p]=(0,i.useState)("loading"),[y,l]=(0,i.useState)("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002"),[u,v]=(0,i.useState)(0),_=(0,i.useRef)("preview"),S=(0,i.useRef)(0),T=(0,i.useRef)(0),k=(0,i.useCallback)((b,C)=>{let E=_.current;_.current=b.mode,c(b),p("ready"),E==="interactive"&&b.mode==="preview"?l(C==="poll"?"\u957F\u65F6\u95F4\u65E0\u64CD\u4F5C\uFF0C\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002":"\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002"):b.mode==="interactive"?l("\u5DF2\u5F00\u542F\u4EA4\u4E92\uFF0C\u6301\u7EED\u64CD\u4F5C\u81EA\u52A8\u7EED\u671F\uFF0815 \u5206\u949F\uFF09\u3002"):l("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002")},[]),g=(0,i.useCallback)(async(b,C)=>{let E=++T.current;if(!n){c(ke),p("ready");return}try{let L=await e.api.getPreviewInteraction(e.session.sessionId,C);if(E!==T.current)return;k(L,b)}catch(L){if(C?.aborted||E!==T.current)return;_.current="preview",c(ke),l(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${Te(L)}`),p("error")}},[k,n,e.api,e.session.sessionId]);(0,i.useEffect)(()=>{let b=new AbortController;p("loading"),g("load",b.signal);let C=setInterval(()=>{(typeof document>"u"||!document.hidden)&&g("poll",b.signal)},15e3);return()=>{T.current+=1,clearInterval(C),b.abort()}},[g]),(0,i.useEffect)(()=>{if(r.mode!=="interactive"||!r.idleExpiresAt)return;let b=setTimeout(()=>{g("poll")},Math.max(0,r.idleExpiresAt-Date.now())+25);return()=>clearTimeout(b)},[r.idleExpiresAt,r.mode,g]);let I=async b=>{let C=++T.current;p("busy");try{let E=b==="unlock"?await e.api.unlockPreview(e.session.sessionId):b==="lock"?await e.api.lockPreview(e.session.sessionId):await e.api.touchPreview(e.session.sessionId);if(C!==T.current)return;k(E,"action"),(b==="unlock"||b==="lock")&&v(L=>L+1)}catch(E){if(C!==T.current)return;_.current="preview",c(ke),l(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${Te(E)}`),p("error")}},K=b=>{typeof Element<"u"&&b.target instanceof Element&&b.target.closest(".wb-pane-titlebar")||r.mode!=="interactive"||Date.now()-S.current<2e4||(S.current=Date.now(),I("activity"))},B=r.mode==="interactive"&&r.idleExpiresAt?Me(r.idleExpiresAt,e.now,"zh-CN"):null,M=r.mode==="interactive"?"\u53EF\u4EA4\u4E92":"\u9884\u89C8";return(0,o.jsxs)("section",{className:"wb-pane wb-web-pane","aria-label":"\u7F51\u9875\u9884\u89C8\u9762\u677F",onPointerDown:K,onKeyDown:K,children:[(0,o.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,o.jsxs)("div",{className:"wb-pane-identity",children:[(0,o.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u25CE"}),(0,o.jsx)("strong",{children:"\u7F51\u9875"}),(0,o.jsxs)("span",{className:`wb-mode-chip ${r.mode==="interactive"?"is-interactive":"is-preview"}`,children:[(0,o.jsx)("span",{"aria-hidden":"true",children:r.mode==="interactive"?"\u25C6":"\u25C9"}),M]}),B?(0,o.jsx)("span",{className:"wb-lease-time",children:`${B}\u91CD\u65B0\u9501\u5B9A`}):null]}),(0,o.jsxs)("div",{className:"wb-pane-actions",children:[n?(0,o.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,n&&e.authenticated&&e.capabilities.canInteract?r.mode==="interactive"?(0,o.jsx)("button",{type:"button",disabled:f==="busy",onClick:()=>{I("lock")},children:"\u7ACB\u5373\u9501\u5B9A"}):(0,o.jsx)("button",{type:"button",disabled:f==="busy",onClick:()=>{I("unlock")},children:"\u5F00\u542F\u4EA4\u4E92"}):null]})]}),(0,o.jsxs)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:[(0,o.jsxs)("strong",{children:[M,":"]})," ",y," ",(0,o.jsx)("span",{title:r.securityNotice,children:r.securityNotice})]}),(0,o.jsx)("div",{className:"wb-pane-frame-shell",children:n?(0,o.jsx)("iframe",{className:"wb-pane-frame",src:n,"data-interaction-generation":u,title:`\u7F51\u9875\u9884\u89C8 \u2014 ${ye(e.session)} \u2014 ${M}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer"},`${e.session.sessionId}-${u}`):(0,o.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,o.jsx)("span",{"aria-hidden":"true",children:"\u25CE"}),(0,o.jsx)("strong",{children:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8"}),(0,o.jsxs)("p",{children:["\u5728\u8BE5\u4F1A\u8BDD\u5185\u8FD0\u884C ",(0,o.jsx)("code",{children:"botmux preview <\u7AEF\u53E3>"})," \u6CE8\u518C\u9884\u89C8\u3002"]})]})})]})}function Ne(e){let n=e.session,r=[["\u4F1A\u8BDD ID",n.sessionId],["\u72B6\u6001",n.status],["\u673A\u5668\u4EBA",n.botName||n.larkAppId||"\u2014"],["CLI",n.cliId||"unknown"],["\u4ED3\u5E93",n.repoName||n.workingDir||"\u2014"],["\u5206\u652F",n.gitBranch||"\u2014"],["\u7FA4\u804A",n.chatDisplayName||n.chatId||"\u2014"],["\u8303\u56F4",n.scope||"thread"]];return(0,o.jsxs)("div",{className:"wb-info-content",children:[(0,o.jsx)("h2",{children:ye(n)}),(0,o.jsx)("dl",{children:r.map(([c,f])=>(0,o.jsxs)("div",{children:[(0,o.jsx)("dt",{children:c}),(0,o.jsx)("dd",{title:String(f),children:String(f)})]},c))})]})}var s=H(te(),1),Mn=250,jn=250,Yn=new Set(["starting","working","analyzing"]);function Qn(){return typeof window>"u"?null:window.location}function Zn(){if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function et(e){let[n,r]=(0,d.useState)(e??(typeof window>"u"?1440:window.innerWidth));return(0,d.useEffect)(()=>{if(e!==void 0){r(e);return}let c=()=>r(window.innerWidth);return c(),window.addEventListener("resize",c,{passive:!0}),()=>window.removeEventListener("resize",c)},[e]),n}function nt(e){let n=qe(e);return n["needs-you"][0]?.sessionId??n.active[0]?.sessionId??n.recent[0]?.sessionId??null}function tt(e,n){return{...e,...n,version:1,railWidth:Ge(Number(n.railWidth??e.railWidth)),splitRatio:Re(Number(n.splitRatio??e.splitRatio))}}function xn(e){let n=(0,d.useMemo)(()=>e.api??Ve(),[e.api]),r=e.storage===void 0?Zn():e.storage,c=e.location===void 0?Qn():e.location,f=e.now??Date.now(),p=et(e.viewportWidth),y=e.initialSessionId??nt(e.sessions),[l,u]=(0,d.useState)(y),[v,_]=(0,d.useState)(()=>{let t=y?le(y,r):le("",null),a=an(r);return{sessionId:y,layout:a?{...t,railWidth:a.railWidth,railCollapsed:a.railCollapsed}:t}}),[S,T]=(0,d.useState)("sessions"),k=(0,d.useRef)(null),g=(0,d.useRef)(e.initialSessionId),I=(0,d.useRef)(f);I.current=f;let K=(0,d.useRef)(f),[B,M]=(0,d.useState)(()=>dn(r)??"status"),[b,C]=(0,d.useState)(()=>{let t=ln(r);if(t)return t;let a={};for(let m of e.sessions)se(m.sessionId)&&(a[m.sessionId]=f);return ve({seen:a,unread:{}})}),E=(0,d.useRef)(new Map),[L,O]=(0,d.useState)(null),me=L?.sessionId??null,[G,be]=(0,d.useState)(!1),oe=t=>{O(a=>En(a,t))},z=(0,d.useCallback)(t=>{t.fixed&&be(!0),O(a=>Ln(a,t))},[]),X=(0,d.useMemo)(()=>e.sessions.find(t=>t.sessionId===me)??null,[e.sessions,me]),h=(0,d.useMemo)(()=>e.sessions.find(t=>t.sessionId===l)??null,[e.sessions,l]),J=!!h&&ge(h)!==null,Se=(0,d.useMemo)(()=>J?["workspace","preview","info"]:["workspace","info"],[J]),P=v.layout,fe=en().appearance.termStyle,[q,V]=(0,d.useState)(!1),R=Xe(p,P),Fe=R.chatMode==="native-split"&&P.chatRequested,U=R.railCollapsed,j=U?40:P.railWidth;(0,d.useEffect)(()=>{let t=g.current!==e.initialSessionId;g.current=e.initialSessionId,!(!t||e.initialSessionId===void 0)&&u(e.initialSessionId)},[e.initialSessionId]),(0,d.useEffect)(()=>{v.sessionId!==l&&_(t=>{let a=l?le(l,r):le("",null);return{sessionId:l,layout:{...a,railWidth:t.layout.railWidth,railCollapsed:t.layout.railCollapsed}}})},[v.sessionId,l,r]),(0,d.useEffect)(()=>{S==="preview"&&!J&&T("workspace")},[S,J]),(0,d.useEffect)(()=>{let t=v.sessionId;if(!t)return;let a=v.layout,m=setTimeout(()=>{rn(t,a,r)},Mn);return()=>clearTimeout(m)},[v,r]),(0,d.useEffect)(()=>{let t={railWidth:P.railWidth,railCollapsed:P.railCollapsed},a=setTimeout(()=>{sn(r,t)},Mn);return()=>clearTimeout(a)},[P.railWidth,P.railCollapsed,r]),(0,d.useEffect)(()=>{let t=E.current,a=new Map,m=[];for(let x of e.sessions){let N=x.sessionId;if(!se(N))continue;let $=String(x.status??"");a.set(N,$);let D=t.get(N);D&&Yn.has(D)&&$==="idle"&&N!==l&&m.push(N)}if(E.current=a,m.length===0)return;let W=I.current;C(x=>{let N={...x.unread};for(let $ of m)N[$]=W;return ve({seen:x.seen,unread:N})})},[e.sessions,l]),(0,d.useEffect)(()=>{let t=b,a=setTimeout(()=>{cn(r,t)},jn);return()=>clearTimeout(a)},[b,r]);let Y=(0,d.useMemo)(()=>{let t=new Set;for(let a of e.sessions){let m=a.sessionId;if(!se(m)||m===l||a.status==="closed")continue;let W=b.seen[m],x=b.unread[m];if(x!==void 0&&x>=(W??0)){t.add(m);continue}Ae(a)>(W??K.current)&&t.add(m)}return t},[e.sessions,b,l]),re=t=>{if(!se(t))return;let a=e.sessions.find(W=>W.sessionId===t),m=Math.max(I.current,a?Ae(a):0);C(W=>{if(W.seen[t]===m&&W.unread[t]===void 0)return W;let x={...W.unread};return delete x[t],ve({seen:{...W.seen,[t]:m},unread:x})})},he=t=>{M(t),un(r,t)},A=t=>{_(a=>({...a,layout:tt(a.layout,t)}))},F=t=>{re(t),u(t);let a=$e("main",t);e.onRouteChange?e.onRouteChange(a):typeof window<"u"&&window.history.replaceState(window.history.state,"",a)},Ce=t=>{F(t),O(a=>In(a,t))},Ie=t=>{F(t),oe(t),T("workspace")},Ee=t=>{t.preventDefault();let a=t.currentTarget;a.setPointerCapture?.(t.pointerId);let m=k.current;m?.classList.add("is-rail-dragging");let W=t.clientX,x=P.railWidth,N=W,$=W,D=0,De=()=>{D=0,$=N,A({railWidth:x+$-W})},He=Nn=>{N=Nn.clientX,D===0&&(D=window.requestAnimationFrame(De))},ne=()=>{D!==0&&(window.cancelAnimationFrame(D),D=0),N!==$&&De(),m?.classList.remove("is-rail-dragging"),window.removeEventListener("pointermove",He),window.removeEventListener("pointerup",ne),window.removeEventListener("pointercancel",ne),a.removeEventListener("lostpointercapture",ne)};window.addEventListener("pointermove",He),window.addEventListener("pointerup",ne),window.addEventListener("pointercancel",ne),a.addEventListener("lostpointercapture",ne)},ie=t=>{t.key!=="ArrowLeft"&&t.key!=="ArrowRight"||(t.preventDefault(),A({railWidth:P.railWidth+(t.key==="ArrowLeft"?-8:8)}))},Le=t=>{t.key==="/"&&!(t.target instanceof HTMLInputElement)&&!(t.target instanceof HTMLTextAreaElement)&&(t.preventDefault(),k.current?.querySelector(".wb-session-search input")?.focus())},we={"--wb-rail-width":`${j}px`},ae=R.mode==="desktop"?()=>A({railCollapsed:!P.railCollapsed}):void 0,Q=!!ae&&U,Z=(0,s.jsx)(mn,{sessions:e.sessions,selectedSessionId:l,collapsed:Q,locale:e.locale,now:f,online:e.online,chatFollowNavigates:R.mode!=="mobile",unreadIds:Y,dimension:B,onDimensionChange:he,onSeen:re,onLocate:e.capabilities.canLocate?t=>n.locateSession(t):void 0,fixedTerminal:G,terminalBusySessionId:L?.busy?L.sessionId:null,onOpenAppearance:R.mode==="mobile"?()=>V(!0):void 0,onSelect:t=>{if(Ce(t),R.mode==="mobile"){O(a=>a&&a.sessionId===t?a:ue(t)),T("workspace");return}},onOpenTerminal:Ie,onToggleCollapsed:ae}),ee=h?(0,s.jsxs)("section",{className:"wb-workspace","aria-label":`\u5DE5\u4F5C\u53F0 \u2014 ${h.title||h.sessionId}`,children:[(0,s.jsxs)("header",{className:"wb-workspace-header",children:[(0,s.jsx)("div",{className:"wb-workspace-title",children:(0,s.jsxs)("span",{children:[(0,s.jsx)("strong",{title:String(h.title||h.sessionId),children:String(h.title||h.sessionId)}),(0,s.jsxs)("small",{children:[h.botName||h.larkAppId||"Bot"," \xB7 ",h.cliId||"\u672A\u77E5"," \xB7 ",h.repoName||"\u65E0\u4ED3\u5E93"]})]})}),(0,s.jsxs)("div",{className:"wb-workspace-controls",children:[X?(0,s.jsx)("button",{type:"button",className:"wb-layout-level wb-terminal-toggle","aria-pressed":"true",title:"\u5173\u95ED\u7EC8\u7AEF\u9762\u677F",onClick:()=>O(null),children:"\u5173\u95ED\u7EC8\u7AEF \u2715"}):null,R.mode!=="mobile"?(0,s.jsx)(on,{standingLink:e.manageAuthed===!0,api:n}):null]})]}),(0,s.jsx)("div",{className:"wb-pane-stack",children:X?(0,s.jsx)(Rn,{session:X,api:n,authenticated:e.authenticated,capabilities:e.capabilities,now:f,location:c,autoTakeControl:!1,onControlModeChange:z},`${X.sessionId}:${L?.generation??0}`):(0,s.jsxs)("div",{className:"wb-pane-placeholder",role:"status",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,s.jsx)("p",{children:"\u5728\u5DE6\u4FA7\u4F1A\u8BDD\u884C\u70B9\u51FB\u7EC8\u7AEF\u56FE\u6807\u6253\u5F00\u7EC8\u7AEF"})]})})]}):(0,s.jsxs)("section",{className:"wb-workspace wb-no-selection","aria-live":"polite",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u2301"}),(0,s.jsx)("h2",{children:l?"\u4F1A\u8BDD\u4E0D\u5B58\u5728":"\u9009\u62E9\u4E00\u4E2A\u4F1A\u8BDD"}),(0,s.jsx)("p",{children:l?"\u8BE5\u4F1A\u8BDD\u5DF2\u7ED3\u675F\u6216\u88AB\u6E05\u7406":"\u4ECE\u5DE6\u4FA7\u5217\u8868\u9009\u62E9\u4F1A\u8BDD\uFF0C\u67E5\u770B\u7EC8\u7AEF\u6216\u7F51\u9875\u9884\u89C8"})]}),w=S==="sessions"?Z:S==="info"&&h?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(Ne,{session:h})}):ee;return(0,s.jsx)("main",{ref:k,className:"agent-workbench-page","data-surface":"appCenter","data-term-style":fe,"data-responsive-step":R.step,"data-demo":e.demo?"true":void 0,style:we,onKeyDown:Le,children:R.mode==="mobile"?(0,s.jsxs)("div",{className:"wb-mobile-stack",children:[S==="sessions"?Z:(0,s.jsxs)("div",{className:"wb-mobile-detail",children:[(0,s.jsxs)("div",{className:"wb-mobile-detail-bar",children:[(0,s.jsx)("button",{type:"button",className:"wb-mobile-back",onClick:()=>T("sessions"),children:"\u2039 \u4F1A\u8BDD\u5217\u8868"}),h?(0,s.jsx)("span",{className:"wb-mobile-detail-title",title:String(h.title||h.sessionId),children:String(h.title||h.sessionId)}):null,(0,s.jsx)("span",{className:"wb-mobile-detail-seg",children:Se.map(t=>(0,s.jsx)("button",{type:"button","aria-current":S===t?"page":void 0,onClick:()=>T(t),children:t==="workspace"?"\u7EC8\u7AEF":t==="preview"?"\u7F51\u9875":"\u4FE1\u606F"},t))})]}),S==="info"&&h?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(Ne,{session:h})}):S==="preview"&&h?(0,s.jsx)("main",{className:"wb-mobile-preview",children:(0,s.jsx)(An,{session:h,api:n,authenticated:e.authenticated,capabilities:e.capabilities,now:f})}):ee]}),(0,s.jsx)(tn,{open:q,onClose:()=>V(!1),standingLink:e.manageAuthed===!0,api:n})]}):(0,s.jsxs)("div",{className:`wb-desktop-layout${Q?" is-rail-collapsed":""}${X?"":" is-terminal-closed"}`,children:[Z,Q?null:(0,s.jsx)("button",{type:"button",className:"wb-rail-separator",role:"separator","aria-label":"\u8C03\u6574\u5217\u8868\u5BBD\u5EA6","aria-orientation":"vertical","aria-valuemin":176,"aria-valuemax":460,"aria-valuenow":P.railWidth,onPointerDown:Ee,onKeyDown:ie,children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\u22EE"})}),ee]})})}var _e=H(te(),1);function ot(){let e=Oe(),[n,r]=(0,We.useState)(Date.now());(0,We.useEffect)(()=>{let f=window.setInterval(()=>r(Date.now()),3e4);return()=>window.clearInterval(f)},[]);let c=Be(window.location.hash);return(0,_e.jsx)(xn,{sessions:[...e.sessions.values()],online:e.online,authenticated:pe.workbenchAuthed,capabilities:pe.workbenchCapabilities,manageAuthed:pe.authed,initialSessionId:c?.surface==="main"?c.sessionId:null,locale:"zh-CN",now:n})}function It(e){return Ke(e,(0,_e.jsx)(ot,{}))}export{It as renderAgentWorkbenchPage};
@@ -0,0 +1 @@
1
+ import{d as a,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m,q as n,r as o,s as p}from"./chunk-2XHWGUTB.js";import"./chunk-KTQ7B6ZR.js";import"./chunk-CEUCNZFJ.js";import"./chunk-QALRQEKD.js";import"./chunk-3OJQKYM3.js";import"./chunk-QITAMHW6.js";import"./chunk-IRFGJSPL.js";import"./chunk-ARROO6TE.js";import"./chunk-3YZFAHNK.js";export{i as AutoStartControls,a as BOT_DEFAULTS_TABS,c as BdTabGrid,g as BotAgentSection,f as BotDefaultsPage,b as BotDefaultsTabs,k as CardBehaviorSection,l as CodexAppDisplaySection,h as DASHBOARD_MAX_TURN_TIMEOUT_MS,m as EnvelopeInjectionSection,o as GrantSection,d as ModelPickerField,n as SessionGroupTagRow,e as buildSubstituteTarget,j as effectiveAccess,p as renderBotDefaultsPage};