frayui 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -174
- package/dist/dev-child.js +3 -2
- package/dist/frayui.js +8 -8
- package/package.json +22 -4
- package/runtime/cc-worker/DECISIONS.md +14 -14
- package/runtime/cc-worker/bin/fray +4 -4
- package/runtime/cc-worker/bin/fray-update +4 -4
- package/runtime/cc-worker/hooks/session-seed.mjs +1 -1
- package/runtime/cc-worker/scripts/fray/agent-bindings.mjs +3 -3
- package/runtime/cc-worker/scripts/fray/config.mjs +8 -8
- package/web-dist/assets/{TerminalPane-fMGrgB-a.js → TerminalPane-C3CC9EFZ.js} +1 -1
- package/web-dist/assets/{abnfDiagram-VRR7QNED-BtlrDuYX.js → abnfDiagram-VRR7QNED-DqX9eyjt.js} +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-Dp81OE9d.js +1 -0
- package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-CdLQ71be.js → architectureDiagram-ZJ3FMSHR-M8pzerdN.js} +1 -1
- package/web-dist/assets/{blockDiagram-677ZJIJ3-CBk2FHEj.js → blockDiagram-677ZJIJ3-DqR6Y2LC.js} +1 -1
- package/web-dist/assets/{c4Diagram-LMCZKHZV-mZ3HQ6WX.js → c4Diagram-LMCZKHZV-BVYFjsdW.js} +1 -1
- package/web-dist/assets/channel-BLJ4T4FR.js +1 -0
- package/web-dist/assets/{chunk-32BRIVSS-Daxvi7f5.js → chunk-32BRIVSS-DFjDHOoM.js} +1 -1
- package/web-dist/assets/{chunk-52WLFC77-BGJoZvry.js → chunk-52WLFC77-CgT8QhTR.js} +1 -1
- package/web-dist/assets/{chunk-C7G6YPKG-Ycd1yheh.js → chunk-C7G6YPKG-CzJ6LiOY.js} +1 -1
- package/web-dist/assets/{chunk-EX3LRPZG-BPFhlsHp.js → chunk-EX3LRPZG-BxLQFQHC.js} +1 -1
- package/web-dist/assets/{chunk-FWX5IMBZ--xy8DTon.js → chunk-FWX5IMBZ-Dph1CDtO.js} +2 -2
- package/web-dist/assets/{chunk-HOUHSVGY-Dq3zoygp.js → chunk-HOUHSVGY-DkAureev.js} +1 -1
- package/web-dist/assets/{chunk-ICXQ74PX-FfKP-7yM.js → chunk-ICXQ74PX-Cz4NMI__.js} +1 -1
- package/web-dist/assets/{chunk-MOJQB5TN-BeiHnsLF.js → chunk-MOJQB5TN-CsLU1DoU.js} +1 -1
- package/web-dist/assets/{chunk-OGEWGWER-CjDU_9fC.js → chunk-OGEWGWER-Aylt7fzg.js} +1 -1
- package/web-dist/assets/{chunk-PUDLZKDR-BO7tm5QX.js → chunk-PUDLZKDR-BFErObxQ.js} +1 -1
- package/web-dist/assets/{chunk-Q4XR5HBZ-BPefovOg.js → chunk-Q4XR5HBZ-Bv6INKwj.js} +1 -1
- package/web-dist/assets/{chunk-V7JOEXUC-DWnebFHh.js → chunk-V7JOEXUC-DfztwFA4.js} +1 -1
- package/web-dist/assets/{chunk-VAUOI2AC-BL6qWFhW.js → chunk-VAUOI2AC-B0f7ZK3T.js} +1 -1
- package/web-dist/assets/{chunk-VR4S4FIN-Mfs__7L9.js → chunk-VR4S4FIN-G-Gcy_AM.js} +1 -1
- package/web-dist/assets/{chunk-WYO6CB5R-Bf2IYbEU.js → chunk-WYO6CB5R-CMp0iowL.js} +1 -1
- package/web-dist/assets/{chunk-ZGVPDNZ5-CJ9ZHZgU.js → chunk-ZGVPDNZ5-CSWMiX8t.js} +1 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-BQSt_EhF.js +1 -0
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-BQSt_EhF.js +1 -0
- package/web-dist/assets/{cynefin-VYW2F7L2-COSC0oNL.js → cynefin-VYW2F7L2-CUMD23BD.js} +1 -1
- package/web-dist/assets/{cynefinDiagram-TSTJHNR4-mInhJdg1.js → cynefinDiagram-TSTJHNR4-fZTm6GyW.js} +1 -1
- package/web-dist/assets/{dagre-VKFMJZFB-D-T5z05M.js → dagre-VKFMJZFB-CUCi5JnH.js} +1 -1
- package/web-dist/assets/{diagram-FQU43EPY-HbMkSb3j.js → diagram-FQU43EPY-C87Fqvwa.js} +1 -1
- package/web-dist/assets/{diagram-G47NLZAW-DBwZLcZh.js → diagram-G47NLZAW-CDxQ-BXA.js} +1 -1
- package/web-dist/assets/{diagram-NH7WQ7WH-DG_Mhays.js → diagram-NH7WQ7WH-Uceffn93.js} +1 -1
- package/web-dist/assets/{diagram-OA4YK3LP-hH39gqpu.js → diagram-OA4YK3LP-CSSp0Fa1.js} +1 -1
- package/web-dist/assets/{diagram-WEI45ONY-DhKZuwxW.js → diagram-WEI45ONY-DS5sAZPp.js} +1 -1
- package/web-dist/assets/{ebnfDiagram-CCIWWBDH-B7BiO-NR.js → ebnfDiagram-CCIWWBDH-aM331oVj.js} +1 -1
- package/web-dist/assets/{erDiagram-Q63AITRT-DHjG5RDQ.js → erDiagram-Q63AITRT-d0i1kydx.js} +1 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-qO9fgTC2.js +1 -0
- package/web-dist/assets/flowDiagram-23GEKE2U-BUHZX4Ft.js +1 -0
- package/web-dist/assets/{ganttDiagram-NO4QXBWP-BZ-98wTa.js → ganttDiagram-NO4QXBWP-Cd0OpzcB.js} +1 -1
- package/web-dist/assets/{gitGraph-TEB2WS4Q-nF22R2jO.js → gitGraph-TEB2WS4Q-BeI6iDaZ.js} +1 -1
- package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-CoYQQ22V.js → gitGraphDiagram-IHSO6WYX-QvePTKQE.js} +1 -1
- package/web-dist/assets/{index-BHzIN-tQ.js → index-CJ-cmbhi.js} +20 -20
- package/web-dist/assets/index-LON0oNCJ.css +1 -0
- package/web-dist/assets/{info-DKCQHKI2-Cy2BCbBW.js → info-DKCQHKI2-WwdGk87J.js} +1 -1
- package/web-dist/assets/{infoDiagram-FWYZ7A6U-CmhR2R1x.js → infoDiagram-FWYZ7A6U-C3ARX7jm.js} +1 -1
- package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-CfG59afl.js → ishikawaDiagram-FXEZZL3T-C_zMKLif.js} +1 -1
- package/web-dist/assets/{journeyDiagram-5HDEW3XC-BvFmG20q.js → journeyDiagram-5HDEW3XC-BcIZu4Cm.js} +1 -1
- package/web-dist/assets/{kanban-definition-HUTT4EX6-BHGEecsY.js → kanban-definition-HUTT4EX6-wwc4iI2z.js} +1 -1
- package/web-dist/assets/{line-Ds4xvN3d.js → line-BCQpqxAq.js} +1 -1
- package/web-dist/assets/{mermaid-parser.core-Gow4kgYJ.js → mermaid-parser.core-8y_8tv09.js} +3 -3
- package/web-dist/assets/{mermaid.core-B7Qc_kbm.js → mermaid.core-gXHP6zd5.js} +3 -3
- package/web-dist/assets/{mindmap-definition-LN4V7U3C-ayXKGcy_.js → mindmap-definition-LN4V7U3C-DtTZ-e8A.js} +1 -1
- package/web-dist/assets/{packet-7NZHBO7P-oLBdtkD8.js → packet-7NZHBO7P-DZbgcVcI.js} +1 -1
- package/web-dist/assets/{pegDiagram-2B236MQR-DwJyc_1B.js → pegDiagram-2B236MQR-DHtrQw0R.js} +1 -1
- package/web-dist/assets/{pie-RZYD4A2V-CXzad3fT.js → pie-RZYD4A2V-CBwiKeCv.js} +1 -1
- package/web-dist/assets/{pieDiagram-ENE6RG2P-CZzgSGtM.js → pieDiagram-ENE6RG2P-B-gKjdFc.js} +1 -1
- package/web-dist/assets/{quadrantDiagram-ABIIQ3AL--IPIp8yo.js → quadrantDiagram-ABIIQ3AL-C3h180Er.js} +1 -1
- package/web-dist/assets/{radar-I7S5WNFK-DldySvtZ.js → radar-I7S5WNFK-BTAfmGFj.js} +1 -1
- package/web-dist/assets/{railroad-3IZDKUUU-CiWFZfXM.js → railroad-3IZDKUUU-DjkPg0H7.js} +1 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-DlUkYI_B.js +1 -0
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-DptyGTmD.js +1 -0
- package/web-dist/assets/railroad-peg-LSFZ7HO6-xPHpoacS.js +1 -0
- package/web-dist/assets/{railroadDiagram-RFXS5EU6-DcCMNGGb.js → railroadDiagram-RFXS5EU6-FVI9rArP.js} +1 -1
- package/web-dist/assets/{requirementDiagram-TGXJPOKE-C-6j8urk.js → requirementDiagram-TGXJPOKE-Cp3pp65R.js} +1 -1
- package/web-dist/assets/{sankeyDiagram-HTMAVEWB-CPtiOpdz.js → sankeyDiagram-HTMAVEWB-B-EVqI0F.js} +1 -1
- package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-B8FnQTdn.js → sequenceDiagram-DBY2YBRQ-Bov70rRs.js} +1 -1
- package/web-dist/assets/{stateDiagram-2N3HPSRC-CxG9nX2P.js → stateDiagram-2N3HPSRC-BW7fwttw.js} +1 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-BtaoEJDP.js +1 -0
- package/web-dist/assets/{swimlanes-5IMT3BWC-D49-t0hV.js → swimlanes-5IMT3BWC-BUOdjOgW.js} +1 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-Bpiu68M1.js +8 -0
- package/web-dist/assets/{timeline-definition-FHXFAJF6-C9OEd9SE.js → timeline-definition-FHXFAJF6-C20Ho0e9.js} +1 -1
- package/web-dist/assets/{treeView-QDETBFTQ-D1AKqVPa.js → treeView-QDETBFTQ-DHg1NMOK.js} +1 -1
- package/web-dist/assets/{treemap-6X3UGDF4-BRssB7hM.js → treemap-6X3UGDF4-B-aFFjeG.js} +1 -1
- package/web-dist/assets/{vennDiagram-L72KCM5P-CftkAbY0.js → vennDiagram-L72KCM5P-CEWY6HTS.js} +1 -1
- package/web-dist/assets/{wardley-OPB4EBWU-RLMgzRq4.js → wardley-OPB4EBWU-BpAKElbJ.js} +1 -1
- package/web-dist/assets/{wardleyDiagram-EHGQE667-BLytgXPS.js → wardleyDiagram-EHGQE667-CYer_Ry4.js} +1 -1
- package/web-dist/assets/{xychartDiagram-FW5EYKEG-BYgK1Y3H.js → xychartDiagram-FW5EYKEG-BxMRGqds.js} +1 -1
- package/web-dist/index.html +2 -2
- package/web-dist/assets/architecture-TIHT7OUA-CuD8jpr-.js +0 -1
- package/web-dist/assets/channel-C2eUWc74.js +0 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-GaOJNgfE.js +0 -1
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-GaOJNgfE.js +0 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-C0eV8RBx.js +0 -1
- package/web-dist/assets/flowDiagram-23GEKE2U-BbldRZUK.js +0 -1
- package/web-dist/assets/index-Duiy4w7C.css +0 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-bXMYUOCD.js +0 -1
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-D11ZwZby.js +0 -1
- package/web-dist/assets/railroad-peg-LSFZ7HO6-DD1AC5X-.js +0 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-SGarOFIy.js +0 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-krF0bh4b.js +0 -8
- /package/runtime/{cc/scripts/fray → board}/agent-bindings.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/agent-liveness.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/agent-status.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/config.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/decisions.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/index.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/notify-shared.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/notify.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/ownership.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/rest-detect.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/thread-excerpt.mjs +0 -0
- /package/runtime/{cc/scripts/fray → board}/thread-update.mjs +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPane-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TerminalPane-C3CC9EFZ.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/mermaid.core-gXHP6zd5.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-C4XfhTaE.js","assets/chunk-WYO6CB5R-CMp0iowL.js","assets/chunk-ICXQ74PX-Cz4NMI__.js","assets/dist-DoH_9pyS.js","assets/chunk-VAUOI2AC-B0f7ZK3T.js","assets/chunk-HOUHSVGY-DkAureev.js","assets/chunk-Q4XR5HBZ-Bv6INKwj.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-OGEWGWER-Aylt7fzg.js","assets/chunk-C7G6YPKG-CzJ6LiOY.js","assets/chunk-ZGVPDNZ5-CSWMiX8t.js","assets/rough.esm-CSKSodPl.js","assets/chunk-52WLFC77-CgT8QhTR.js","assets/line-BCQpqxAq.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-FWX5IMBZ-Dph1CDtO.js","assets/chunk-ZIRB5QZD-C6fEPe3t.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{n as e,t}from"./rolldown-runtime-Bh1tDfsg.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var n=`bippy-0.5.43`,r=Object.defineProperty,i=Object.prototype.hasOwnProperty,a=()=>{},o=e=>{try{Function.prototype.toString.call(e).indexOf(`^_^`)>-1&&setTimeout(()=>{throw Error(`React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build`)})}catch{}},s=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>!!(e&&`getFiberRoots`in e),c=!1,l,u=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>c?!0:(e&&typeof e.inject==`function`&&(l=e.inject.toString()),!!l?.includes(`(injected)`)),d=new Set,f=new Set,p=e=>{let t=new Map,i=0,s={_instrumentationIsActive:!1,_instrumentationSource:n,checkDCE:o,hasUnsupportedRendererAttached:!1,inject(e){let n=++i;return t.set(n,e),f.add(e),s._instrumentationIsActive||(s._instrumentationIsActive=!0,d.forEach(e=>e())),n},on:a,onCommitFiberRoot:a,onCommitFiberUnmount:a,onPostCommitFiberRoot:a,renderers:t,supportsFiber:!0,supportsFlight:!0};try{r(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`,{configurable:!0,enumerable:!0,get(){return s},set(t){if(t&&typeof t==`object`){let n=s.renderers;s=t,n.size>0&&(n.forEach((e,n)=>{f.add(e),t.renderers.set(n,e)}),m(e))}}});let t=window.hasOwnProperty,n=!1;r(window,`hasOwnProperty`,{configurable:!0,value:function(...e){try{if(!n&&e[0]===`__REACT_DEVTOOLS_GLOBAL_HOOK__`)return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,n=!0,-0}catch{}return t.apply(this,e)},writable:!0})}catch{m(e)}return s},m=e=>{e&&d.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=o,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=n,t._instrumentationIsActive=!1;let e=s(t);if(e||(t.on=a),t.renderers.size){t._instrumentationIsActive=!0,d.forEach(e=>e());return}let r=t.inject,i=u(t);i&&!e&&(c=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=e=>{let n=r(e);return f.add(e),i&&t.renderers.set(n,e),t._instrumentationIsActive=!0,d.forEach(e=>e()),n}}(t.renderers.size||t._instrumentationIsActive||u())&&e?.()}catch{}},h=()=>i.call(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`),g=e=>h()?(m(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):p(e),_=()=>!!(typeof window<`u`&&(window.document?.createElement||window.navigator?.product===`ReactNative`));(()=>{try{_()&&g()}catch{}})();var v=(e,t,n=!1)=>{if(!e)return null;if(t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=v(r,t,n);if(e)return e;r=n?null:r.sibling}return null},y=async(e,t,n=!1)=>{if(!e)return null;if(await t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=await y(r,t,n);if(e)return e;r=n?null:r.sibling}return null},b=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?b(t.type||t.render):null},x=e=>{try{if(typeof e.version==`string`&&e.bundleType>0)return`development`}catch{}return`production`},S=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),C=(e,t=[])=>{if(!S(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);S(i)?n.push(...C(i,a)):n.push({path:a,value:i})}return n},w,T,E,D,O,ee,k,A,j,M,N,te,P,ne,re,ie,ae={},oe=[],se=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,ce=Array.isArray;function le(e,t){for(var n in t)e[n]=t[n];return e}function ue(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function de(e,t,n){var r,i,a,o={};for(a in t)a==`key`?r=t[a]:a==`ref`?i=t[a]:o[a]=t[a];if(arguments.length>2&&(o.children=arguments.length>3?w.call(arguments,2):n),typeof e==`function`&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]);return fe(e,o,r,i,null)}function fe(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++E,__i:-1,__u:0};return i==null&&T.vnode!=null&&T.vnode(a),a}function pe(e){return e.children}function me(e,t){this.props=e,this.context=t}function he(e,t){if(t==null)return e.__?he(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type==`function`?he(e):null}function ge(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,r=[],i=[],a=le({},t);a.__v=t.__v+1,T.vnode&&T.vnode(a),Oe(e.__P,a,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,r,n??he(t),!!(32&t.__u),i),a.__v=t.__v,a.__.__k[a.__i]=a,Ae(r,a,i),t.__e=t.__=null,a.__e!=n&&_e(a)}}function _e(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),_e(e)}function ve(e){(!e.__d&&(e.__d=!0)&&O.push(e)&&!ye.__r++||ee!=T.debounceRendering)&&((ee=T.debounceRendering)||k)(ye)}function ye(){try{for(var e,t=1;O.length;)O.length>t&&O.sort(A),e=O.shift(),t=O.length,ge(e)}finally{O.length=ye.__r=0}}function be(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,m,h,g,_,v=r&&r.__k||oe,y=t.length;for(c=xe(n,t,v,c,y),d=0;d<y;d++)(p=n.__k[d])!=null&&(f=p.__i!=-1&&v[p.__i]||ae,p.__i=d,g=Oe(e,p,f,i,a,o,s,c,l,u),m=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&Ne(f.ref,null,p),u.push(p.ref,p.__c||m,p)),h==null&&m!=null&&(h=m),(_=!!(4&p.__u))||f.__k===p.__k?(c=Se(p,c,e,_),_&&f.__e&&(f.__e=null)):typeof p.type==`function`&&g!==void 0?c=g:m&&(c=m.nextSibling),p.__u&=-7);return n.__e=h,c}function xe(e,t,n,r,i){var a,o,s,c,l,u=n.length,d=u,f=0;for(e.__k=Array(i),a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o==`string`||typeof o==`number`||typeof o==`bigint`||o.constructor==String?o=e.__k[a]=fe(null,o,null,null,null):ce(o)?o=e.__k[a]=fe(pe,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=fe(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,c=a+f,o.__=e,o.__b=e.__b+1,s=null,(l=o.__i=we(o,n,c,d))!=-1&&(d--,(s=n[l])&&(s.__u|=2)),s==null||s.__v==null?(l==-1&&(i>u?f--:i<u&&f++),typeof o.type!=`function`&&(o.__u|=4)):l!=c&&(l==c-1?f--:l==c+1?f++:(l>c?f--:f++,o.__u|=4))):e.__k[a]=null;if(d)for(a=0;a<u;a++)(s=n[a])!=null&&!(2&s.__u)&&(s.__e==r&&(r=he(s)),Pe(s,s));return r}function Se(e,t,n,r){var i,a;if(typeof e.type==`function`){for(i=e.__k,a=0;i&&a<i.length;a++)i[a]&&(i[a].__=e,t=Se(i[a],t,n,r));return t}e.__e!=t&&(r&&(t&&e.type&&!t.parentNode&&(t=he(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t&&=t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Ce(e,t){return t||=[],e==null||typeof e==`boolean`||(ce(e)?e.some(function(e){Ce(e,t)}):t.push(e)),t}function we(e,t,n,r){var i,a,o,s=e.key,c=e.type,l=t[n],u=l!=null&&(2&l.__u)==0;if(l===null&&s==null||u&&s==l.key&&c==l.type)return n;if(r>+!!u){for(i=n-1,a=n+1;i>=0||a<t.length;)if((l=t[o=i>=0?i--:a++])!=null&&!(2&l.__u)&&s==l.key&&c==l.type)return o}return-1}function Te(e,t,n){t[0]==`-`?e.setProperty(t,n??``):e[t]=n==null?``:typeof n!=`number`||se.test(t)?n:n+`px`}function Ee(e,t,n,r,i){var a,o;n:if(t==`style`)if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||Te(e.style,t,``);if(n)for(t in n)r&&n[t]==r[t]||Te(e.style,t,n[t])}else if(t[0]==`o`&&t[1]==`n`)a=t!=(t=t.replace(te,`$1`)),o=t.toLowerCase(),t=o in e||t==`onFocusOut`||t==`onFocusIn`?o.slice(2):t.slice(2),e.l||={},e.l[t+a]=n,n?r?n[N]=r[N]:(n[N]=P,e.addEventListener(t,a?re:ne,a)):e.removeEventListener(t,a?re:ne,a);else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;break n}catch{}typeof n==`function`||(n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n))}}function De(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[M]==null)t[M]=P++;else if(t[M]<n[N])return;return n(T.event?T.event(t):t)}}}function Oe(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,E,D=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(c=!!(32&n.__u),a=[s=t.__e=n.__e]),(u=T.__b)&&u(t);n:if(typeof D==`function`){d=o.length;try{if(v=t.props,y=D.prototype&&D.prototype.render,b=(u=D.contextType)&&r[u.__c],x=u?b?b.props.value:u.__:r,n.__c?_=(f=t.__c=n.__c).__=f.__E:(y?t.__c=f=new D(v,x):(t.__c=f=new me(v,x),f.constructor=D,f.render=Fe),b&&b.sub(f),f.state||={},f.__n=r,p=f.__d=!0,f.__h=[],f._sb=[]),y&&f.__s==null&&(f.__s=f.state),y&&D.getDerivedStateFromProps!=null&&(f.__s==f.state&&(f.__s=le({},f.__s)),le(f.__s,D.getDerivedStateFromProps(v,f.__s))),m=f.props,h=f.state,f.__v=t,p)y&&D.getDerivedStateFromProps==null&&f.componentWillMount!=null&&f.componentWillMount(),y&&f.componentDidMount!=null&&f.__h.push(f.componentDidMount);else{if(y&&D.getDerivedStateFromProps==null&&v!==m&&f.componentWillReceiveProps!=null&&f.componentWillReceiveProps(v,x),t.__v==n.__v||!f.__e&&f.shouldComponentUpdate!=null&&!1===f.shouldComponentUpdate(v,f.__s,x)){t.__v!=n.__v&&(f.props=v,f.state=f.__s,f.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),oe.push.apply(f.__h,f._sb),f._sb=[],f.__h.length&&o.push(f);break n}f.componentWillUpdate!=null&&f.componentWillUpdate(v,f.__s,x),y&&f.componentDidUpdate!=null&&f.__h.push(function(){f.componentDidUpdate(m,h,g)})}if(f.context=x,f.props=v,f.__P=e,f.__e=!1,S=T.__r,C=0,y)f.state=f.__s,f.__d=!1,S&&S(t),u=f.render(f.props,f.state,f.context),oe.push.apply(f.__h,f._sb),f._sb=[];else do f.__d=!1,S&&S(t),u=f.render(f.props,f.state,f.context),f.state=f.__s;while(f.__d&&++C<25);f.state=f.__s,f.getChildContext!=null&&(r=le(le({},r),f.getChildContext())),y&&!p&&f.getSnapshotBeforeUpdate!=null&&(g=f.getSnapshotBeforeUpdate(m,h)),w=u!=null&&u.type===pe&&u.key==null?je(u.props.children):u,s=be(e,ce(w)?w:[w],t,n,r,i,a,o,s,c,l),f.base=t.__e,t.__u&=-161,f.__h.length&&o.push(f),_&&(f.__E=f.__=null)}catch(e){if(o.length=d,t.__v=null,c||a!=null){if(e.then){for(t.__u|=c?160:128;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;a!=null&&(a[a.indexOf(s)]=null),t.__e=s}else if(a!=null)for(E=a.length;E--;)ue(a[E])}else t.__e=n.__e;t.__k??=n.__k||[],e.then||ke(t),T.__e(e,t,n)}}else a==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):s=t.__e=Me(n.__e,t,n,r,i,a,o,c,l);return(u=T.diffed)&&u(t),128&t.__u?void 0:s}function ke(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(ke))}function Ae(e,t,n){for(var r=0;r<n.length;r++)Ne(n[r],n[++r],n[++r]);T.__c&&T.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){T.__e(e,t.__v)}})}function je(e){return typeof e!=`object`||!e||e.__b>0?e:ce(e)?e.map(je):e.constructor===void 0?le({},e):null}function Me(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h,g=n.props||ae,_=t.props,v=t.type;if(v==`svg`?i=`http://www.w3.org/2000/svg`:v==`math`?i=`http://www.w3.org/1998/Math/MathML`:i||=`http://www.w3.org/1999/xhtml`,a!=null){for(l=0;l<a.length;l++)if((p=a[l])&&`setAttribute`in p==!!v&&(v?p.localName==v:p.nodeType==3)){e=p,a[l]=null;break}}if(e==null){if(v==null)return document.createTextNode(_);e=document.createElementNS(i,v,_.is&&_),s&&=(T.__m&&T.__m(t,a),!1),a=null}if(v==null)g===_||s&&e.data==_||(e.data=_);else{if(a=v==`textarea`&&_.defaultValue!=null?null:a&&w.call(e.childNodes),!s&&a!=null)for(g={},l=0;l<e.attributes.length;l++)g[(p=e.attributes[l]).name]=p.value;for(l in g)p=g[l],l==`dangerouslySetInnerHTML`?d=p:l==`children`||l in _||l==`value`&&`defaultValue`in _||l==`checked`&&`defaultChecked`in _||Ee(e,l,null,p,i);for(l in _)p=_[l],l==`children`?f=p:l==`dangerouslySetInnerHTML`?u=p:l==`value`?m=p:l==`checked`?h=p:s&&typeof p!=`function`||g[l]===p||Ee(e,l,p,g[l],i);if(u)s||d&&(u.__html==d.__html||u.__html==e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=``),be(t.type==`template`?e.content:e,ce(f)?f:[f],t,n,r,v==`foreignObject`?`http://www.w3.org/1999/xhtml`:i,a,o,a?a[0]:n.__k&&he(n,0),s,c),a!=null)for(l=a.length;l--;)ue(a[l]);s&&v!=`textarea`||(l=`value`,v==`progress`&&m==null?e.removeAttribute(`value`):m!=null&&(m!==e[l]||v==`progress`&&!m||v==`option`&&m!=g[l])&&Ee(e,l,m,g[l],i),l=`checked`,h!=null&&h!=e[l]&&Ee(e,l,h,g[l],i))}return e}function Ne(e,t,n){try{if(typeof e==`function`){var r=typeof e.__u==`function`;r&&e.__u(),r&&t==null||(e.__u=e(t))}else e.current=t}catch(e){T.__e(e,n)}}function Pe(e,t,n){var r,i;if(T.unmount&&T.unmount(e),(r=e.ref)&&(r.current&&r.current!=e.__e||Ne(r,null,t)),(r=e.__c)!=null){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){T.__e(e,t)}r.base=r.__P=r.__n=null}if(r=e.__k)for(i=0;i<r.length;i++)r[i]&&Pe(r[i],t,n||typeof e.type!=`function`);n||ue(e.__e),e.__c=e.__=e.__e=void 0}function Fe(e,t,n){return this.constructor(e,n)}function Ie(e,t,n){var r,i,a,o;t==document&&(t=document.documentElement),T.__&&T.__(e,t),i=(r=typeof n==`function`)?null:n&&n.__k||t.__k,a=[],o=[],Oe(t,e=(!r&&n||t).__k=de(pe,null,[e]),i||ae,ae,t.namespaceURI,!r&&n?[n]:i?null:t.firstChild?w.call(t.childNodes):null,a,!r&&n?n:i?i.__e:t.firstChild,r,o),Ae(a,e,o),e.props.children=null}function Le(e){function t(e){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&n.forEach(function(e){e.__e=!0,ve(e)})},this.sub=function(e){n.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n&&n.delete(e),t&&t.call(e)}}),e.children}return t.__c=`__cC`+ie++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}w=oe.slice,T={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&a.getDerivedStateFromError!=null&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(e,r||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},E=0,D=function(e){return e!=null&&e.constructor===void 0},me.prototype.setState=function(e,t){var n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=le({},this.state);typeof e==`function`&&(e=e(le({},n),this.props)),e&&le(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),ve(this))},me.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ve(this))},me.prototype.render=pe,O=[],k=typeof Promise==`function`?Promise.prototype.then.bind(Promise.resolve()):setTimeout,A=function(e,t){return e.__v.__b-t.__v.__b},ye.__r=0,j=Math.random().toString(8),M=`__d`+j,N=`__a`+j,te=/(PointerCapture)$|Capture$/i,P=0,ne=De(!1),re=De(!0),ie=0;var Re,ze,Be,Ve,He=0,Ue=[],We=T,Ge=We.__b,Ke=We.__r,qe=We.diffed,Je=We.__c,Ye=We.unmount,Xe=We.__;function Ze(e,t){We.__h&&We.__h(ze,e,He||t),He=0;var n=ze.__H||={__:[],__h:[]};return e>=n.__.length&&n.__.push({}),n.__[e]}function Qe(e){return He=1,$e(ft,e)}function $e(e,t,n){var r=Ze(Re++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):ft(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=ze,!ze.__f)){var i=function(e,t,n){if(!r.__c.__H)return!0;var i=!1,o=r.__c.props!==e;if(r.__c.__H.__.some(function(e){if(e.__N){i=!0;var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(o=!0)}}),a){var s=a.call(this,e,t,n);return i?s||o:s}return!i||o};ze.__f=!0;var a=ze.shouldComponentUpdate,o=ze.componentWillUpdate;ze.componentWillUpdate=function(e,t,n){if(this.__e){var r=a;a=void 0,i(e,t,n),a=r}o&&o.call(this,e,t,n)},ze.shouldComponentUpdate=i}return r.__N||r.__}function et(e,t){var n=Ze(Re++,3);!We.__s&&dt(n.__H,t)&&(n.__=e,n.u=t,ze.__H.__h.push(n))}function tt(e,t){var n=Ze(Re++,4);!We.__s&&dt(n.__H,t)&&(n.__=e,n.u=t,ze.__h.push(n))}function nt(e){return He=5,rt(function(){return{current:e}},[])}function rt(e,t){var n=Ze(Re++,7);return dt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function it(e,t){return He=8,rt(function(){return e},t)}function at(e){var t=ze.context[e.__c],n=Ze(Re++,9);return n.c=e,t?(n.__??(n.__=!0,t.sub(ze)),t.props.value):e.__}function ot(){for(var e;e=Ue.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(lt),t.__h.some(ut),t.__h=[]}catch(n){t.__h=[],We.__e(n,e.__v)}}}We.__b=function(e){ze=null,Ge&&Ge(e)},We.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Xe&&Xe(e,t)},We.__r=function(e){Ke&&Ke(e),Re=0;var t=(ze=e.__c).__H;t&&(Be===ze?(t.__h=[],ze.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.some(lt),t.__h.some(ut),t.__h=[],Re=0)),Be=ze},We.diffed=function(e){qe&&qe(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Ue.push(t)!==1&&Ve===We.requestAnimationFrame||((Ve=We.requestAnimationFrame)||ct)(ot)),t.__H.__.some(function(e){e.u&&=(e.__H=e.u,void 0)})),Be=ze=null},We.__c=function(e,t){t.some(function(e){try{e.__h.some(lt),e.__h=e.__h.filter(function(e){return!e.__||ut(e)})}catch(n){t.some(function(e){e.__h&&=[]}),t=[],We.__e(n,e.__v)}}),Je&&Je(e,t)},We.unmount=function(e){Ye&&Ye(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(e){try{lt(e)}catch(e){t=e}}),n.__H=void 0,t&&We.__e(t,n.__v))};var st=typeof requestAnimationFrame==`function`;function ct(e){var t,n=function(){clearTimeout(r),st&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);st&&(t=requestAnimationFrame(n))}function lt(e){var t=ze,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),ze=t}function ut(e){var t=ze;e.__c=e.__(),ze=t}function dt(e,t){return!e||e.length!==t.length||t.some(function(t,n){return t!==e[n]})}function ft(e,t){return typeof t==`function`?t(e):t}var pt=Symbol.for(`preact-signals`);function mt(){if(bt>1)bt--;else{var e,t=!1;for((function(){var e=wt;for(wt=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();yt!==void 0;){var n=yt;for(yt=void 0,xt++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&kt(n))try{n.c()}catch(n){t||=(e=n,!0)}n=r}}if(xt=0,bt--,t)throw e}}function ht(e){if(bt>0)return e();Ct=++St,bt++;try{return e()}finally{mt()}}var gt,_t=void 0;function vt(e){var t=_t,n=gt;_t=void 0,gt=void 0;try{return e()}finally{_t=t,gt=n}}var yt=void 0,bt=0,xt=0,St=0,Ct=0,wt=void 0,Tt=0;function Et(e){if(_t!==void 0){var t=e.n;if(t===void 0||t.t!==_t)return t={i:0,S:e,p:_t.s,n:void 0,t:_t,e:void 0,x:void 0,r:t},_t.s!==void 0&&(_t.s.n=t),_t.s=t,e.n=t,32&_t.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=_t.s,t.n=void 0,_t.s.n=t,_t.s=t),t}}function Dt(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}Dt.prototype.brand=pt,Dt.prototype.h=function(){return!0},Dt.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?vt(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},Dt.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&vt(function(){var e;(e=t.Z)==null||e.call(t)}))}},Dt.prototype.subscribe=function(e){var t=this;return Rt(function(){var n=t.value;vt(function(){return e(n)})},{name:`sub`})},Dt.prototype.valueOf=function(){return this.value},Dt.prototype.toString=function(){return this.value+``},Dt.prototype.toJSON=function(){return this.value},Dt.prototype.peek=function(){var e=this;return vt(function(){return e.value})},Object.defineProperty(Dt.prototype,"value",{get:function(){var e=Et(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(xt>100)throw Error(`Cycle detected`);(function(e){bt!==0&&xt===0&&e.l!==Ct&&(e.l=Ct,wt={S:e,v:e.v,i:e.i,o:wt})})(this),this.v=e,this.i++,Tt++,bt++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{mt()}}}});function Ot(e,t){return new Dt(e,t)}function kt(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function At(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function jt(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function Mt(e,t){Dt.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Tt-1,this.f=4}Mt.prototype=new Dt,Mt.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Tt))return!0;if(this.g=Tt,this.f|=1,this.i>0&&!kt(this))return this.f&=-2,!0;var e=_t;try{At(this),_t=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return _t=e,jt(this),this.f&=-2,!0},Mt.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}Dt.prototype.S.call(this,e)},Mt.prototype.U=function(e){if(this.t!==void 0&&(Dt.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},Mt.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(Mt.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Et(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function Nt(e,t){return new Mt(e,t)}function Pt(e){var t=e.m;if(e.m=void 0,typeof t==`function`){bt++;var n=_t;_t=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,Ft(e),t}finally{_t=n,mt()}}}function Ft(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,Pt(e)}function It(e){if(_t!==this)throw Error(`Out-of-order effect`);jt(this),_t=e,this.f&=-2,8&this.f&&Ft(this),mt()}function Lt(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t?.name,gt&>.push(this)}Lt.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},Lt.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,Pt(this),At(this),bt++;var e=_t;return _t=this,It.bind(this,e)},Lt.prototype.N=function(){2&this.f||(this.f|=2,this.u=yt,yt=this)},Lt.prototype.d=function(){this.f|=8,1&this.f||Ft(this)},Lt.prototype.dispose=function(){this.d()};function Rt(e,t){var n=new Lt(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var zt,Bt,Vt=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,Ht=[],Ut=[];Rt(function(){zt=this.N})();function Wt(e,t){T[e]=t.bind(null,T[e]||function(){})}function Gt(e){if(Bt){var t=Bt;Bt=void 0,t()}Bt=e&&e.S()}function Kt(e){var t=this,n=e.data,r=Jt(n);r.name=`ReactiveDom`,r.value=n;var i=rt(function(){for(var e=t,n=t.__v;n=n.__;)if(n.__c){n.__c.__$f|=4;break}var i=Nt(function(){var e=r.value.value;return e===0?0:!0===e?``:e||``}),a=Nt(function(){return!Array.isArray(i.value)&&!D(i.value)}),o=Rt(function(){if(this.N=en,a.value){var t=i.value;e.__v&&e.__v.__e&&e.__v.__e.nodeType===3&&(e.__v.__e.data=t)}}),s=t.__$u.d;return t.__$u.d=function(){o(),s.call(this)},[a,i]},[]),a=i[0],o=i[1];return a.value?o.peek():o.value}Kt.displayName=`ReactiveTextNode`,Object.defineProperties(Dt.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:Kt},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),Wt(`__b`,function(e,t){if(typeof t.type==`string`){var n,r=t.props;for(var i in r)if(i!==`children`){var a=r[i];a instanceof Dt&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),Wt(`__r`,function(e,t){if(e(t),t.type!==pe){Gt();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return Rt(function(){n=this},{name:t}),n.c=e,n}(function(){var e;Vt&&((e=n.y)==null||e.call(n)),r.__$f|=1,r.setState({})},typeof t.type==`function`?t.type.displayName||t.type.name:``))),Gt(n)}}),Wt(`__e`,function(e,t,n,r){Gt(),e(t,n,r)}),Wt(`diffed`,function(e,t){Gt();var n;if(typeof t.type==`string`&&(n=t.__e)){var r=t.__np,i=t.props,a=n.U;if(a)for(var o in a){var s=a[o];s===void 0||r&&o in r||(s.d(),a[o]=void 0)}if(r)for(var c in a||(a={},n.U=a),r){var l=a[c],u=r[c];l===void 0?(l=qt(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function qt(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=Ot(n);return{o:function(e,t){a.value=e,r=t},d:Rt(function(){this.N=en;var n=a.value.value;r[t]!==n&&(r[t]=n,i?e[t]=n:n!=null&&(!1!==n||t[4]===`-`)?e.setAttribute(t,n):e.removeAttribute(t))})}}Wt(`unmount`,function(e,t){if(typeof t.type==`string`){var n=t.__e;if(n){var r=n.U;if(r)for(var i in n.U=void 0,r){var a=r[i];a&&a.d()}}var o=t.__np;if(o){var s=t.props;for(var c in o)s[c]=o[c]}t.__np=void 0}else{var l=t.__c;if(l){var u=l.__$u;u&&(l.__$u=void 0,u.d())}}e(t)}),Wt(`__h`,function(e,t,n,r){r<3&&(t.__$f|=2),e(t,n,r)}),me.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;var n=this.__$u,r=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u==`boolean`&&!0===this.u){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!==`__source`&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function Jt(e,t){return rt(function(){return Ot(e,t)},[])}var Yt=typeof requestAnimationFrame>`u`?setTimeout:function(e){var t=function(){clearTimeout(n),cancelAnimationFrame(r),e()},n=setTimeout(t,35),r=requestAnimationFrame(t)},Xt=function(e){queueMicrotask(function(){queueMicrotask(e)})};function Zt(){ht(function(){for(var e;e=Ht.shift();)zt.call(e)})}function Qt(){Ht.push(this)===1&&(T.requestAnimationFrame||Yt)(Zt)}function $t(){ht(function(){for(var e;e=Ut.shift();)zt.call(e)})}function en(){Ut.push(this)===1&&(T.requestAnimationFrame||Xt)($t)}function tn(e,t){var n=nt(e);n.current=e,et(function(){return Rt(function(){return this.N=Qt,n.current()},t)},[])}function nn(e,t){for(var n in t)e[n]=t[n];return e}function rn(e,t){for(var n in e)if(n!==`__source`&&!(n in t))return!0;for(var r in t)if(r!==`__source`&&e[r]!==t[r])return!0;return!1}function an(e,t){var n=t(),r=Qe({t:{__:n,u:t}}),i=r[0].t,a=r[1];return tt(function(){i.__=n,i.u=t,on(i)&&a({t:i})},[e,n,t]),et(function(){return on(i)&&a({t:i}),e(function(){on(i)&&a({t:i})})},[e]),n}function on(e){try{return!((t=e.__)===(n=e.u())&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}var t,n}function sn(e,t){this.props=e,this.context=t}function cn(e,t){function n(e){var n=this.props.ref;return n!=e.ref&&n&&(typeof n==`function`?n(null):n.current=null),t?!t(this.props,e)||n!=e.ref:rn(this.props,e)}function r(t){return this.shouldComponentUpdate=n,de(e,t)}return r.displayName=`Memo(`+(e.displayName||e.name)+`)`,r.__f=r.prototype.isReactComponent=!0,r.type=e,r}(sn.prototype=new me).isPureReactComponent=!0,sn.prototype.shouldComponentUpdate=function(e,t){return rn(this.props,e)||rn(this.state,t)};var ln=T.__b;T.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ln&&ln(e)};var un=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.forward_ref`)||3911;function dn(e){function t(t){var n=nn({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=un,t.render=e,t.prototype.isReactComponent=t.__f=!0,t.displayName=`ForwardRef(`+(e.displayName||e.name)+`)`,t}var fn=T.__e;T.__e=function(e,t,n,r){if(e.then){for(var i,a=t;a=a.__;)if((i=a.__c)&&i.__c)return t.__e??(t.__e=n.__e,t.__k=n.__k||[]),i.__c(e,t)}fn(e,t,n,r)};var pn=T.unmount;function mn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(e){typeof e.__c==`function`&&e.__c()}),e.__c.__H=null),(e=nn({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map(function(e){return mn(e,t,n)})),e}function hn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(e){return hn(e,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function gn(){this.__u=0,this.o=null,this.__b=null}function _n(e){var t=e.__&&e.__.__c;return t&&t.__a&&t.__a(e)}function vn(){this.i=null,this.l=null}T.unmount=function(e){var t=e.__c;t&&(t.__z=!0),t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),pn&&pn(e)},(gn.prototype=new me).__c=function(e,t){var n=t.__c,r=this;r.o??=[],r.o.push(n);var i=_n(r.__v),a=!1,o=function(){a||r.__z||(a=!0,n.__R=null,i?i(c):c())};n.__R=o;var s=n.__P;n.__P=null;var c=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=hn(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.__P=s,t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},gn.prototype.componentWillUnmount=function(){this.o=[]},gn.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement(`div`),r=this.__v.__k[0].__c;this.__v.__k[0]=mn(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&de(pe,null,e.fallback);return i&&(i.__u&=-33),[de(pe,null,t.__a?null:e.children),i]};var yn=function(e,t,n){if(++n[1]===n[0]&&e.l.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!==`t`||!e.l.size))for(n=e.i;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.i=n=n[2]}};function bn(e){return this.getChildContext=function(){return e.context},e.children}function xn(e){var t=this,n=e.h;if(t.componentWillUnmount=function(){Ie(null,t.v),t.v=null,t.h=null},t.h&&t.h!==n&&t.componentWillUnmount(),!t.v){for(var r=t.__v;r!==null&&!r.__m&&r.__!==null;)r=r.__;t.h=n,t.v={nodeType:1,parentNode:n,childNodes:[],__k:{__m:r.__m},contains:function(){return!0},namespaceURI:n.namespaceURI,insertBefore:function(e,n){this.childNodes.push(e),t.h.insertBefore(e,n)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.h.removeChild(e)}}}Ie(de(bn,{context:t.context},e.__v),t.v)}function Sn(e,t){var n=de(xn,{__v:e,h:t});return n.containerInfo=t,n}(vn.prototype=new me).__a=function(e){var t=this,n=_n(t.__v),r=t.l.get(e);return r[0]++,function(i){var a=function(){t.props.revealOrder?(r.push(i),yn(t,e,r)):i()};n?n(a):a()}},vn.prototype.render=function(e){this.i=null,this.l=new Map;var t=Ce(e.children);e.revealOrder&&e.revealOrder[0]===`b`&&t.reverse();for(var n=t.length;n--;)this.l.set(t[n],this.i=[1,0,this.i]);return e.children},vn.prototype.componentDidUpdate=vn.prototype.componentDidMount=function(){var e=this;this.l.forEach(function(t,n){yn(e,n,t)})};var Cn=typeof Symbol<`u`&&Symbol.for&&Symbol.for(`react.element`)||60103,wn=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Tn=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,En=/[A-Z0-9]/g,Dn=typeof document<`u`,On=function(e){return(typeof Symbol<`u`&&typeof Symbol()==`symbol`?/fil|che|rad/:/fil|che|ra/).test(e)};me.prototype.isReactComponent=!0,[`componentWillMount`,`componentWillReceiveProps`,`componentWillUpdate`].forEach(function(e){Object.defineProperty(me.prototype,e,{configurable:!0,get:function(){return this[`UNSAFE_`+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var kn=T.event;T.event=function(e){return kn&&(e=kn(e)),e.persist=function(){},e.isPropagationStopped=function(){return this.cancelBubble},e.isDefaultPrevented=function(){return this.defaultPrevented},e.nativeEvent=e};var An={configurable:!0,get:function(){return this.class}},jn=T.vnode;T.vnode=function(e){typeof e.type==`string`&&function(e){var t=e.props,n=e.type,r={},i=n.indexOf(`-`)==-1;for(var a in t){var o=t[a];if(!(a===`value`&&`defaultValue`in t&&o==null||Dn&&a===`children`&&n===`noscript`||a===`class`||a===`className`)){var s=a.toLowerCase();a===`defaultValue`&&`value`in t&&t.value==null?a=`value`:a===`download`&&!0===o?o=``:s===`translate`&&o===`no`?o=!1:s[0]===`o`&&s[1]===`n`?s===`ondoubleclick`?a=`ondblclick`:s!==`onchange`||n!==`input`&&n!==`textarea`||On(t.type)?s===`onfocus`?a=`onfocusin`:s===`onblur`?a=`onfocusout`:Tn.test(a)&&(a=s):s=a=`oninput`:i&&wn.test(a)?a=a.replace(En,`-$&`).toLowerCase():o===null&&(o=void 0),s===`oninput`&&r[a=s]&&(a=`oninputCapture`),r[a]=o}}n==`select`&&(r.multiple&&Array.isArray(r.value)&&(r.value=Ce(t.children).forEach(function(e){e.props.selected=r.value.indexOf(e.props.value)!=-1})),r.defaultValue!=null&&(r.value=Ce(t.children).forEach(function(e){e.props.selected=r.multiple?r.defaultValue.indexOf(e.props.value)!=-1:r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",An)):t.className&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=Cn,jn&&jn(e)};var Mn=T.__r;T.__r=function(e){Mn&&Mn(e),e.__c};var Nn=T.diffed;T.diffed=function(e){Nn&&Nn(e);var t=e.props,n=e.__e;n!=null&&e.type===`textarea`&&`value`in t&&t.value!==n.value&&(n.value=t.value==null?``:t.value)};var Pn=0;Array.isArray;function F(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Pn,__i:-1,__u:0,__source:i,__self:a};if(typeof e==`function`&&(o=e.defaultProps))for(s in o)c[s]===void 0&&(c[s]=o[s]);return T.vnode&&T.vnode(l),l}var Fn=null,In=(()=>{if(Fn!==null)return Fn;try{Fn=window.matchMedia(`(color-gamut: p3)`).matches}catch{Fn=!1}return Fn})(),Ln=e=>In?`color(display-p3 0.84 0.19 0.78 / ${e})`:`rgba(210, 57, 192, ${e})`,Rn=1e4;Ln(.4),Ln(.05),Ln(.5),Ln(.08),Ln(.15);var zn=new Set([`script`,`style`,`template`,`noscript`]),Bn=`data-react-grab-frozen`,Vn=`data-react-grab-same-origin-frame`;new Set(`display.position.top.right.bottom.left.z-index.overflow.overflow-x.overflow-y.width.height.min-width.min-height.max-width.max-height.margin-top.margin-right.margin-bottom.margin-left.padding-top.padding-right.padding-bottom.padding-left.flex-direction.flex-wrap.justify-content.align-items.align-self.align-content.flex-grow.flex-shrink.flex-basis.order.gap.row-gap.column-gap.grid-template-columns.grid-template-rows.grid-template-areas.font-family.font-size.font-weight.font-style.line-height.letter-spacing.text-align.text-decoration-line.text-decoration-style.text-transform.text-overflow.text-shadow.white-space.word-break.overflow-wrap.vertical-align.color.background-color.background-image.background-position.background-size.background-repeat.border-top-width.border-right-width.border-bottom-width.border-left-width.border-top-style.border-right-style.border-bottom-style.border-left-style.border-top-color.border-right-color.border-bottom-color.border-left-color.border-top-left-radius.border-top-right-radius.border-bottom-left-radius.border-bottom-right-radius.box-shadow.opacity.transform.filter.backdrop-filter.object-fit.object-position`.split(`.`));var Hn=e=>typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE,Un=e=>Hn(e)&&e.namespaceURI===`http://www.w3.org/1999/xhtml`,Wn=e=>Un(e)&&e.tagName===`IFRAME`,Gn=new WeakMap,Kn=e=>{let t=Number.parseFloat(e);return Number.isFinite(t)?t:0},qn=e=>{let t=performance.now(),n=Gn.get(e);if(n&&t-n.timestamp<16)return n.metrics;let r=e.ownerDocument.defaultView?.getComputedStyle(e),i;if(!r)i={contentOffsetX:e.clientLeft,contentOffsetY:e.clientTop,height:e.offsetHeight,width:e.offsetWidth};else{let t=Kn(r.borderLeftWidth),n=Kn(r.borderRightWidth),a=Kn(r.borderTopWidth),o=Kn(r.borderBottomWidth),s=Kn(r.paddingLeft),c=Kn(r.paddingRight),l=Kn(r.paddingTop),u=Kn(r.paddingBottom),d=Kn(r.width),f=Kn(r.height),p=t+n+s+c,m=a+o+l+u,h=r.boxSizing===`border-box`?d:d+p,g=r.boxSizing===`border-box`?f:f+m;i={contentOffsetX:t+s,contentOffsetY:a+l,height:g>0?g:e.offsetHeight,width:h>0?h:e.offsetWidth}}return Gn.set(e,{metrics:i,timestamp:t}),i},Jn=(e,t)=>t>0?e/t:1,Yn=e=>{if(!e)return null;try{return e.frameElement}catch{return null}},Xn=e=>{let t=e.ownerDocument.defaultView;return t?t.getComputedStyle(e):window.getComputedStyle(e)},Zn=e=>Object.assign(e,{[Symbol.dispose]:e}),Qn=`bippy-0.6.1`,$n=Object.defineProperty,er=Object.prototype.hasOwnProperty,tr=()=>{},nr=e=>{try{Function.prototype.toString.call(e).indexOf(`^_^`)>-1&&setTimeout(()=>{throw Error(`React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build`)})}catch{}},rr=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>!!(e&&`getFiberRoots`in e),ir=!1,ar,or=(e=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__)=>ir?!0:(e&&typeof e.inject==`function`&&(ar=e.inject.toString()),!!ar?.includes(`(injected)`)),sr=new Set,cr=new Set,lr=e=>{e&&sr.add(e);let t=new Map,n=0,r={_instrumentationIsActive:!1,_instrumentationSource:Qn,checkDCE:nr,hasUnsupportedRendererAttached:!1,inject(e){let i=++n;return t.set(i,e),cr.add(e),r._instrumentationIsActive||(r._instrumentationIsActive=!0,sr.forEach(e=>e())),i},on:tr,onCommitFiberRoot:tr,onCommitFiberUnmount:tr,onPostCommitFiberRoot:tr,renderers:t,supportsFiber:!0,supportsFlight:!0};try{$n(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`,{configurable:!0,enumerable:!0,get(){return r},set(t){if(t&&typeof t==`object`){let n=r.renderers;r=t,n.size>0&&(n.forEach((e,n)=>{cr.add(e),t.renderers.set(n,e)}),ur(e))}}});let t=window.hasOwnProperty,n=!1;$n(window,`hasOwnProperty`,{configurable:!0,value:function(...e){try{if(!n&&e[0]===`__REACT_DEVTOOLS_GLOBAL_HOOK__`)return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,n=!0,-0}catch{}return t.apply(this,e)},writable:!0})}catch{ur(e)}return r},ur=e=>{e&&sr.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=nr,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=Qn,t._instrumentationIsActive=!1;let e=rr(t);if(e||(t.on=tr),t.renderers.size){t._instrumentationIsActive=!0,sr.forEach(e=>e());return}let n=t.inject,r=or(t);r&&!e&&(ir=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=e=>{let i=n(e);return cr.add(e),r&&t.renderers.set(i,e),t._instrumentationIsActive=!0,sr.forEach(e=>e()),i}}(t.renderers.size||t._instrumentationIsActive||or())&&e?.()}catch{}},dr=()=>er.call(globalThis,`__REACT_DEVTOOLS_GLOBAL_HOOK__`),fr=e=>dr()?(ur(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):lr(e),pr=()=>!!(typeof window<`u`&&(window.document?.createElement||window.navigator?.product===`ReactNative`));(()=>{try{pr()&&fr()}catch{}})();var mr=e=>{let t=e.memoizedProps,n=e.alternate?.memoizedProps||{},r=e.flags??e.effectTag??0;switch(e.tag){case 1:case 9:case 11:case 0:case 14:case 15:return(r&1)==1;default:return e.alternate?n!==t||e.alternate.memoizedState!==e.memoizedState||e.alternate.ref!==e.ref:!0}},hr=e=>{switch(e.tag){case 18:return!0;case 7:case 6:case 23:case 22:return!0;case 3:return!1;default:{let t=typeof e.type==`object`&&e.type!==null?e.type.$$typeof:e.type;if(typeof t==`symbol`)return t.description===`react.concurrent_mode`||t.description===`react.async_mode`;switch(t){case 60111:case`Symbol(react.concurrent_mode)`:case`Symbol(react.async_mode)`:return!0;default:return!1}}}},gr=(e,t,n=!1)=>{if(!e)return null;if(t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=gr(r,t,n);if(e)return e;r=n?null:r.sibling}return null},_r=async(e,t,n=!1)=>{if(!e)return null;if(await t(e)===!0)return e;let r=n?e.return:e.child;for(;r;){let e=await _r(r,t,n);if(e)return e;r=n?null:r.sibling}return null},vr=e=>{let t=e;return typeof t==`function`?t:typeof t==`object`&&t?vr(t.type||t.render):null},yr=new Set,br=0,xr=new WeakMap,Sr=(e,t=br++)=>{xr.set(e,t)},Cr=e=>{let t=xr.get(e);return t===void 0&&e.alternate&&(t=xr.get(e.alternate)),t===void 0&&(t=br++,Sr(e,t)),t},wr=(e,t,n)=>{let r=t;for(;r!=null;){if(xr.has(r)||Cr(r),!hr(r)&&mr(r)&&e(r,`mount`),r.tag===13)if(r.memoizedState!==null){let t=r.child,n=t?t.sibling:null;if(n){let t=n.child;t!==null&&wr(e,t,!1)}}else{let t=null;r.child!==null&&(t=r.child.child),t!==null&&wr(e,t,!1)}else r.child!=null&&wr(e,r.child,!0);r=n?r.sibling:null}},Tr=(e,t,n,r)=>{if(xr.has(t)||Cr(t),!n)return;xr.has(n)||Cr(n);let i=t.tag===13,a=!hr(t);a&&mr(t)&&e(t,`update`);let o=i&&n.memoizedState!==null,s=i&&t.memoizedState!==null;if(o&&s){let r=t.child?.sibling??null,i=n.child?.sibling??null;r!==null&&i!==null&&Tr(e,r,i,t)}else if(o&&!s){let n=t.child;n!==null&&wr(e,n,!0)}else if(!o&&s){Dr(e,n);let r=t.child?.sibling??null;r!==null&&wr(e,r,!0)}else if(t.child!==n.child){let n=t.child;for(;n;){if(n.alternate){let i=n.alternate;Tr(e,n,i,a?t:r)}else wr(e,n,!1);n=n.sibling}}},Er=(e,t)=>{(t.tag===3||!hr(t))&&e(t,`unmount`)},Dr=(e,t)=>{let n=t.tag===13&&t.memoizedState!==null,r=t.child;for(n&&(r=(t.child?.sibling??null)?.child??null);r!==null;)r.return!==null&&(Er(e,r),Dr(e,r)),r=r.sibling},Or=e=>Object.prototype.toString.call(e)===`[object Object]`&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null),kr=(e,t=[])=>{if(!Or(e))return[{path:t,value:e}];let n=[];for(let r in e){let i=e[r],a=t.concat(r);Or(i)?n.push(...kr(i,a)):n.push({path:a,value:i})}return n},Ar=new Set,jr=new Set,Mr=new Set,Nr=new Set,Pr=new WeakMap,Fr=new WeakMap,Ir=e=>{let t=Pr.get(e)??{};if(Pr.set(e,t),!t.onCommitFiberRoot||e.onCommitFiberRoot!==t.onCommitFiberRoot){let n=e.onCommitFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),Pr.get(e)?.onCommitFiberRoot===r){yr.add(i),Fr.set(i,t);for(let e of Ar)e(t,i,a)}};t.onCommitFiberRoot=r,e.onCommitFiberRoot=r}if(!t.onCommitFiberUnmount||e.onCommitFiberUnmount!==t.onCommitFiberUnmount){let n=e.onCommitFiberUnmount,r=(t,i)=>{if(n?.(t,i),Pr.get(e)?.onCommitFiberUnmount===r)for(let e of jr)e(t,i)};t.onCommitFiberUnmount=r,e.onCommitFiberUnmount=r}if(!t.onPostCommitFiberRoot||e.onPostCommitFiberRoot!==t.onPostCommitFiberRoot){let n=e.onPostCommitFiberRoot,r=(t,i)=>{if(n?.(t,i),Pr.get(e)?.onPostCommitFiberRoot===r)for(let e of Mr)e(t,i)};t.onPostCommitFiberRoot=r,e.onPostCommitFiberRoot=r}if(!t.onScheduleFiberRoot||e.onScheduleFiberRoot!==t.onScheduleFiberRoot){let n=e.onScheduleFiberRoot,r=(t,i,a)=>{if(n?.(t,i,a),Pr.get(e)?.onScheduleFiberRoot===r)for(let e of Nr)e(t,i,a)};t.onScheduleFiberRoot=r,e.onScheduleFiberRoot=r}},Lr=e=>{let t=fr(e.onActive);t._instrumentationSource=e.name??Qn,Ir(t);let{onActive:n,onCommitFiberRoot:r,onCommitFiberUnmount:i,onPostCommitFiberRoot:a,onScheduleFiberRoot:o}=e;return r&&Ar.add(r),i&&jr.add(i),a&&Mr.add(a),o&&Nr.add(o),Zn(()=>{n&&sr.delete(n),r&&Ar.delete(r),i&&jr.delete(i),a&&Mr.delete(a),o&&Nr.delete(o)})},Rr=new WeakMap,zr=e=>Rr.get(e)??null,Br=e=>{let t=e.ownerDocument?.defaultView;return!!(t&&e instanceof t.ShadowRoot)},Vr=class extends Error{constructor(e,t){super(e,t),this.name=`ReactGrabError`}},Hr=class extends Vr{constructor(){super(`Can't generate CSS selector for non-element node type.`),this.name=`NonElementNodeError`}},Ur=class extends Vr{constructor(e){super(`Timeout: Can't find a unique selector after ${e}ms`),this.name=`SelectorTimeoutError`,this.timeoutMs=e}},Wr=class extends Vr{constructor(){super(`Selector was not found.`),this.name=`SelectorNotFoundError`}},Gr=e=>zr(e)?.getTagName()??(e.tagName||``).toLowerCase(),Kr=e=>typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===9,qr=e=>{if(e.assignedSlot)return e.assignedSlot;if(e.parentElement)return e.parentElement;let t=e.getRootNode();return Br(t)?t.host:Kr(t)?Yn(t.defaultView):null},Jr=e=>!0,Yr=typeof window<`u`,Xr=e=>0,Zr=e=>{},Qr=Yr?(Object.getOwnPropertyDescriptor(Window.prototype,`requestAnimationFrame`)?.value??window.requestAnimationFrame).bind(window):Xr,$r=Yr?(Object.getOwnPropertyDescriptor(Window.prototype,`cancelAnimationFrame`)?.value??window.cancelAnimationFrame).bind(window):Zr,ei=e=>{try{return e.contentDocument}catch{return null}},ti=(e,t,n)=>{let r=e.getBoundingClientRect(),i=qn(e),a=Jn(r.width,i.width),o=Jn(r.height,i.height);return{x:(t-r.left)/a-i.contentOffsetX,y:(n-r.top)/o-i.contentOffsetY}},ni=(e,t,n)=>{let r=e.elementFromPoint(t,n);for(;r;){let e=r.shadowRoot?.elementFromPoint(t,n);if(e&&e!==r){r=e;continue}if(Wn(r)){let e=ei(r);if(!e)return r;let i=ti(r,t,n);return ni(e,i.x,i.y)??r}return r}return null},ri=e=>{let t=e;for(;t;){if(t.hasAttribute(`data-react-grab-ignore`))return!0;t=qr(t)}return!1},ii=typeof Element<`u`&&typeof Element.prototype.checkVisibility==`function`,ai={checkOpacity:!0,checkVisibilityCSS:!0,opacityProperty:!0,visibilityProperty:!0},oi={checkVisibilityCSS:!0,visibilityProperty:!0},si=(e,t)=>{if(ii&&!t)return e.checkVisibility(ai)?!0:e.checkVisibility(oi)?Xn(e).opacity!==`0`:!1;let n=t??Xn(e);return n.display!==`none`&&n.visibility!==`hidden`&&n.opacity!==`0`},ci=e=>{let t=Gr(e);return t===`html`||t===`body`},li=[`data-react-grab`,`data-react-grab-demo`],ui=e=>li.some(t=>e.hasAttribute(t)),di=e=>{if(ui(e))return!0;let t=e.getRootNode();return Br(t)&&ui(t.host)},fi=e=>{let t=parseInt(e.zIndex,10);return e.pointerEvents===`none`&&e.position===`fixed`&&!isNaN(t)&&t>=2147483600},pi=e=>{let t=e.backgroundColor;return t===`transparent`||t===`rgba(0, 0, 0, 0)`},mi=e=>{let t=e.position;if(t!==`fixed`&&t!==`absolute`)return!1;if(pi(e)||parseFloat(e.opacity)<.1)return!0;let n=parseInt(e.zIndex,10);return!isNaN(n)&&n>1e3},hi=new WeakMap,gi=e=>{let t=zr(e);if(t)return t.isConnected();if(ci(e)||di(e)||ri(e))return!1;let n=performance.now(),r=hi.get(e);if(r&&n-r.timestamp<50)return r.isVisible;if(!si(e))return hi.set(e,{isVisible:!1,timestamp:n}),!1;if(e.clientWidth/(e.ownerDocument.defaultView?.innerWidth??window.innerWidth)>=.9&&e.clientHeight/(e.ownerDocument.defaultView?.innerHeight??window.innerHeight)>=.9){let t=Xn(e);if(fi(t)||mi(t))return!1}return hi.set(e,{isVisible:!0,timestamp:n}),!0},_i=(e,t,n)=>{let r=!0;for(let i of e.elementsFromPoint(t,n)){if(ri(i)&&(r=!1),!Jr(i))continue;let a=i.shadowRoot;if(r&&a&&a!==e){let e=_i(a,t,n);if(e)return e}if(r&&Wn(i)){let e=ei(i);if(e){let r=ti(i,t,n),a=_i(e,r.x,r.y);if(a)return a}}if(gi(i))return i}return null},vi=(e,t,n,r)=>{let i=e.elementsFromPoint(t,n),a=!0;for(let o of i){if(ri(o)&&(a=!1),a&&o.shadowRoot&&o.shadowRoot!==e&&vi(o.shadowRoot,t,n,r),a&&Wn(o)){let e=ei(o);if(e){let i=ti(o,t,n);vi(e,i.x,i.y,r)}}r.add(o)}};`${Vn}`;var yi=new WeakMap,bi=e=>typeof e==`object`&&!!e,xi=e=>typeof e==`object`&&!!e||typeof e==`function`,Si=(e,t)=>typeof e[t]==`function`,Ci=e=>bi(e)&&Si(e,`clone`)&&Si(e,`premultiply`),wi=e=>bi(e)&&e.isObject3D===!0&&typeof e.uuid==`string`&&typeof e.name==`string`&&typeof e.type==`string`&&typeof e.visible==`boolean`&&Ci(e.matrixWorld)&&Si(e,`updateWorldMatrix`),Ti=e=>bi(e)&&e.isCamera===!0,Ei=e=>wi(e)&&e.isScene===!0&&Array.isArray(e.children),Di=e=>bi(e)&&typeof e.tagName==`string`&&e.tagName.toLowerCase()===`canvas`&&Si(e,`getContext`),Oi=e=>bi(e)&&Di(e.domElement),ki=e=>bi(e)&&Si(e,`set`),Ai=e=>bi(e)&&Si(e,`setFromCamera`)&&Si(e,`intersectObjects`),ji=e=>bi(e)&&Oi(e.gl)&&Ei(e.scene)&&Ti(e.camera)&&Ai(e.raycaster)&&ki(e.pointer),Mi=e=>{let t=e.current.stateNode;if(!bi(t)||!xi(t.containerInfo))return null;let n=Reflect.get(t.containerInfo,`getState`);if(typeof n!=`function`)return null;let r=n();return ji(r)?r:null};Lr({name:`react-grab-three-selection`,onCommitFiberRoot:(e,t)=>{let n=Mi(t);n&&yi.set(n.gl.domElement,{isReactThreeFiber:!0,state:n})}});var Ni=new Map,Pi=new WeakSet,Fi=new Map,Ii=new Map,Li=e=>!!Pi.has(e);typeof window<`u`&&(window.requestAnimationFrame=e=>Li(e)?Qr(t=>{e(t)}):Qr(e),window.cancelAnimationFrame=e=>{if(Ni.has(e)){Ni.delete(e);return}let t=Ii.get(e);if(t!==void 0){$r(t.nativeId),Ii.delete(e);return}let n=Fi.get(e);if(n!==void 0){Ni.delete(n),Fi.delete(e);return}$r(e)}),`${Bn}${Bn}`;var Ri=44,zi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Bi=new Uint8Array(64),Vi=new Uint8Array(128);for(let e=0;e<zi.length;e++){let t=zi.charCodeAt(e);Bi[e]=t,Vi[t]=e}function Hi(e,t){return e[0]-t[0]}var Ui=Symbol.for(`react.context`),Wi=[],Gi=null,Ki=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render."),qi=()=>{let e=Gi;return e!==null&&(Gi=e.next),e},Ji=e=>e._currentValue,Yi=(e,t,n,r=null)=>{Wi.push({displayName:r,primitive:e,stackError:Error(),value:t,dispatcherHookName:n})},Xi=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:return Yi(`Promise`,e.value,`Use`),e.value;case`rejected`:throw e.reason}throw Yi(`Unresolved`,e,`Use`),Ki}if(t.$$typeof===Ui&&`_currentValue`in t){let e=t,n=Ji(e);return Yi(`Context (use)`,n,`Use`,e.displayName||`Context`),n}}throw Error(`An unsupported type was passed to use(): `+String(e))},Zi=e=>{let t=Ji(e);return Yi(`Context`,t,`Context`,e.displayName||null),t},Qi=e=>{let t=qi(),n=t===null?typeof e==`function`?e():e:t.memoizedState;return Yi(`State`,n,`State`),[n,()=>{}]},$i=(e,t,n)=>{let r=qi(),i=r===null?n===void 0?t:n(t):r.memoizedState;return Yi(`Reducer`,i,`Reducer`),[i,()=>{}]},ea=e=>{let t=qi(),n=t===null?{current:e}:t.memoizedState;return Yi(`Ref`,n.current,`Ref`),n},ta=()=>{let e=qi();return Yi(`CacheRefresh`,e===null?()=>{}:e.memoizedState,`CacheRefresh`),()=>{}},na=e=>{qi(),Yi(`LayoutEffect`,e,`LayoutEffect`)},ra=e=>{qi(),Yi(`InsertionEffect`,e,`InsertionEffect`)},ia=e=>{qi(),Yi(`Effect`,e,`Effect`)},aa=e=>{qi();let t;typeof e==`object`&&e&&`current`in e&&(t=e.current),Yi(`ImperativeHandle`,t,`ImperativeHandle`)},oa=(e,t)=>{Yi(`DebugValue`,typeof t==`function`?t(e):e,`DebugValue`)},sa=e=>{let t=qi();return Yi(`Callback`,t===null?e:t.memoizedState[0],`Callback`),e},ca=e=>{let t=qi(),n=t===null?e():t.memoizedState[0];return Yi(`Memo`,n,`Memo`),n},la=(e,t)=>{let n=qi();qi();let r=n===null?t():n.memoizedState;return Yi(`SyncExternalStore`,r,`SyncExternalStore`),r},ua=()=>{let e=qi();qi();let t=e===null?!1:e.memoizedState;return Yi(`Transition`,t,`Transition`),[t,()=>{}]},da=e=>{let t=qi(),n=t===null?e:t.memoizedState;return Yi(`DeferredValue`,n,`DeferredValue`),n},fa=()=>{let e=qi(),t=e===null?``:e.memoizedState;return Yi(`Id`,t,`Id`),t},pa=e=>[],ma=e=>{let t=qi(),n=t===null?e:t.memoizedState;return Yi(`Optimistic`,n,`Optimistic`),[n,()=>{}]},ha=(e,t)=>{let n,r=null;if(e!==null){let t=e.memoizedState;if(typeof t==`object`&&t&&`then`in t&&typeof t.then==`function`){let e=t;switch(e.status){case`fulfilled`:n=e.value;break;case`rejected`:r=e.reason;break;default:r=Ki,n=e}}else n=t}else n=t;return{value:n,error:r}},ga=e=>(t,n)=>{let r=qi();qi(),qi();let i=Error(),{value:a,error:o}=ha(r,n);if(Wi.push({displayName:null,primitive:e,stackError:i,value:a,dispatcherHookName:e}),o!==null)throw o;return[a,()=>{},!1]},_a=ga(`ActionState`),va={readContext:Ji,use:Xi,useCallback:sa,useContext:Zi,useEffect:ia,useImperativeHandle:aa,useLayoutEffect:na,useInsertionEffect:ra,useMemo:ca,useReducer:$i,useRef:ea,useState:Qi,useDebugValue:oa,useDeferredValue:da,useTransition:ua,useSyncExternalStore:la,useId:fa,useHostTransitionStatus:()=>{let e=Ji({_currentValue:null});return Yi(`HostTransitionStatus`,e,`HostTransitionStatus`),e},useFormState:ga(`FormState`),useActionState:_a,useOptimistic:ma,useMemoCache:pa,useCacheRefresh:ta,useEffectEvent:e=>(qi(),Yi(`EffectEvent`,e,`EffectEvent`),e)};typeof Proxy>`u`||new Proxy(va,{get(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let n=Error(`Missing method in Dispatcher: `+t);throw n.name=`ReactDebugToolsUnsupportedHookError`,n}});var ya=new Set([`role`,`name`,`aria-label`,`rel`,`href`]),ba=e=>{if(!/^[a-z-]{3,}$/i.test(e))return!1;let t=e.split(/-|[A-Z]/);for(let e of t)if(e.length<=2||/[^aeiou]{4,}/i.test(e))return!1;return!0},xa=(e,t)=>{let n=ya.has(e)||e.startsWith(`data-`)&&ba(e),r=ba(t)&&t.length<100||t.startsWith(`#`)&&ba(t.slice(1));return n&&r},Sa=e=>{let t=e[0].name;for(let n=1;n<e.length;n++)t=`${e[n].name} > ${t}`;return t},Ca=e=>{let t=0;for(let n of e)t+=n.penalty;return t},wa=(e,t)=>Ca(e)-Ca(t),Ta=(e,t)=>{let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let i=0;for(;r&&(Hn(r)&&(t===void 0||r.tagName.toLowerCase()===t)&&i++,r!==e);)r=r.nextSibling;return i},Ea=(e,t)=>e===`html`?`html`:`${e}:nth-child(${t})`,Da=(e,t)=>e===`html`?`html`:`${e}:nth-of-type(${t})`,Oa=(e,t)=>{let n=[],r=e.getAttribute(`id`),i=e.tagName.toLowerCase();r&&ba(r)&&n.push({name:`#${CSS.escape(r)}`,penalty:0});for(let t of e.classList)ba(t)&&n.push({name:`.${CSS.escape(t)}`,penalty:1});for(let r of e.attributes)t(r.name,r.value)&&n.push({name:`[${CSS.escape(r.name)}="${CSS.escape(r.value)}"]`,penalty:2});n.push({name:i,penalty:5});let a=Ta(e,i);a!==void 0&&n.push({name:Da(i,a),penalty:10});let o=Ta(e);return o!==void 0&&n.push({name:Ea(i,o),penalty:50}),n},ka=(e,t=Rn,n=[])=>{if(t<=0)return[];if(e.length===0)return[n];let r=[];for(let i of e[0]){let a=t-r.length;if(a<=0)break;r.push(...ka(e.slice(1),a,[...n,i]))}return r},Aa=(e,t)=>{let n=t.getRootNode();return Br(n)?n:Kr(e)?e:e.ownerDocument},ja=(e,t)=>t.querySelectorAll(Sa(e)).length===1,Ma=(e,t)=>{let n=e,r=[];for(;n&&n!==t;){let e=n.tagName.toLowerCase(),t=Ta(n,e);if(t===void 0)return;r.push({name:Da(e,t),penalty:10}),n=n.parentElement}return ja(r,t)?r:void 0},Na=(e,t,n,r)=>{if(e.nodeType!==Node.ELEMENT_NODE)throw new Hr;if(e.tagName.toLowerCase()===`html`)return`html`;let i=Aa(t,e),a=Date.now(),o=[],s=e,c=0,l;for(;s&&s!==i&&!l;)if(o.push(Oa(s,r)),s=s.parentElement,c++,c>=3){let t=ka(o);t.sort(wa);for(let r of t){if(Date.now()-a>n){let t=Ma(e,i);if(!t)throw new Ur(n);return Sa(t)}if(ja(r,i)){l=r;break}}}if(!l&&c<3){let e=ka(o);e.sort(wa);for(let t of e){if(Date.now()-a>n)break;if(ja(t,i)){l=t;break}}}if(!l)throw new Wr;return Sa(l)},Pa=e=>e.ownerDocument.body??e.ownerDocument.documentElement,Fa=new Set([`data-testid`,`data-test-id`,`data-test`,`data-cy`,`data-qa`,`aria-label`,`href`,`src`,`role`,`name`,`title`,`alt`]),Ia=e=>e.length>0&&e.length<=120,La=(e,t)=>{try{let n=e.getRootNode(),r=(Br(n)?n:e.ownerDocument).querySelectorAll(t);return r.length===1&&r[0]===e}catch{return!1}},Ra=e=>{let t=e.getAttribute(`id`);if(t){let n=`#${CSS.escape(t)}`;if(La(e,n))return n}for(let t of Fa){let n=e.getAttribute(t);if(!n||!Ia(n))continue;let r=`[${t}=${JSON.stringify(n)}]`;if(La(e,r))return r;let i=`${e.tagName.toLowerCase()}${r}`;if(La(e,i))return i}return null},za=e=>{let t=[],n=e.getRootNode(),r=Br(n)?n:Pa(e),i=e;for(;i;){let e=i.getAttribute(`id`);if(e){t.unshift(`#${CSS.escape(e)}`);break}let n=i.parentNode;if(!n){t.unshift(i.tagName.toLowerCase());break}let a=Array.from(n.children).indexOf(i)+1;if(t.unshift(`${i.tagName.toLowerCase()}:nth-child(${a})`),n===r){Hn(r)&&t.unshift(r.tagName.toLowerCase());break}i=Hn(n)?n:null}return t.join(` > `)},Ba=e=>{let t=Ra(e);if(t)return t;try{let t=Na(e,Pa(e),200,(e,t)=>xa(e,t)||Fa.has(e)&&Ia(t));if(t)return t}catch{}return za(e)},Va=e=>{let t=zr(e);if(t)return t.getSelector();let n=Ba(e),r=e.getRootNode();if(Br(r))return`${Va(r.host)} >>> ${n}`;let i=Yn(e.ownerDocument.defaultView);return i?`${Va(i)} >>iframe>> ${n}`:n};[`[id]`,`[data-testid]`,`[data-test-id]`,`[data-test]`,`[data-cy]`,`[data-qa]`,`[aria-label]`,`a[href]`,`button`,`input`,`select`,`textarea`,`[role="button"]`,`[role="link"]`,`[role="checkbox"]`,`[role="radio"]`,`[role="switch"]`,`[role="tab"]`,`[role="menuitem"]`,`[role="option"]`,`[role="textbox"]`,`[role="combobox"]`,`[role="slider"]`,`[role="spinbutton"]`].join(`,`);var Ha=e=>e.replace(/\s+/g,` `).trim(),Ua=e=>e.getAttribute(`aria-hidden`)===`true`||e.hasAttribute(`hidden`)?!0:zn.has(e.tagName.toLowerCase()),Wa=(e,t,n)=>{if(e.nodeType===Node.TEXT_NODE){let r=Ha(e.textContent??``);return r?(t.push(r),n-r.length):n}if(!Hn(e)||Ua(e))return n;for(let r of e.childNodes)if(n=Wa(r,t,n),n<=0)break;return n};new Set(`AppRouter.AppRouterAnnouncer.AppDevOverlay.AppDevOverlayErrorBoundary.ClientPageRoot.ClientSegmentRoot.DevRootHTTPAccessFallbackBoundary.ErrorBoundary.ErrorBoundaryHandler.GracefulDegradeBoundary.HTTPAccessErrorFallback.HTTPAccessFallbackBoundary.HTTPAccessFallbackErrorBoundary.HandleRedirect.Head.HistoryUpdater.HotReload.InnerLayoutRouter.InnerScrollAndFocusHandler.InnerScrollAndFocusHandlerOld.InnerScrollAndMaybeFocusHandler.InnerScrollHandlerNew.LoadableComponent.LoadingBoundary.LoadingBoundaryProvider.NotAllowedRootHTTPFallbackError.OfflineProvider.OuterLayoutRouter.RedirectBoundary.RedirectErrorBoundary.RenderFromTemplateContext.RenderValidationBoundaryAtThisLevel.ReplaySsrOnlyErrors.RootErrorBoundary.RootLevelDevOverlayElement.Router.ScrollAndFocusHandler.ScrollAndMaybeFocusHandler.SegmentBoundaryTrigger.SegmentBoundaryTriggerNode.SegmentStateProvider.SegmentTrieNode.SegmentViewNode.SegmentViewStateNode.ServerRoot.body.html`.split(`.`)),new Map([`top`,`right`,`bottom`,`left`].flatMap(e=>[[`border-${e}-style`,e],[`border-${e}-color`,e]]));var Ga=Object.defineProperty,Ka=(e,t,n)=>t in e?Ga(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qa=(e,t,n)=>Ka(e,typeof t==`symbol`?t:t+``,n);Array.prototype.toSorted||Object.defineProperty(Array.prototype,"toSorted",{value:function(e){return[...this].sort(e)},writable:!0,configurable:!0});var Ja=typeof window<`u`,Ya=()=>Ja?(window.reactScanIdCounter===void 0&&(window.reactScanIdCounter=0),`${++window.reactScanIdCounter}`):`0`,Xa=e=>{let t=e.createOscillator(),n=e.createGain();t.connect(n),n.connect(e.destination);let r={type:`sine`,freq:[392,600],duration:.3,gain:.12},i=r.freq,a=r.duration/i.length;i.forEach((n,r)=>{t.frequency.setValueAtTime(n,e.currentTime+r*a)}),t.type=r.type,n.gain.setValueAtTime(r.gain,e.currentTime),n.gain.setTargetAtTime(0,e.currentTime+r.duration*.7,.05),t.start(),t.stop(e.currentTime+r.duration)},Za=dn(({size:e=15,name:t,fill:n=`currentColor`,stroke:r=`currentColor`,className:i,externalURL:a=``,style:o},s)=>{let c=Array.isArray(e)?e[0]:e,l=Array.isArray(e)?e[1]||e[0]:e,u=`${a}#${t}`;return F(`svg`,{ref:s,width:`${c}px`,height:`${l}px`,fill:n,stroke:r,className:i,style:{...o,minWidth:`${c}px`,maxWidth:`${c}px`,minHeight:`${l}px`,maxHeight:`${l}px`},children:[F(`title`,{children:t}),F(`use`,{href:u})]})}),Qa=24,$a={width:550,height:350,initialHeight:400},eo=240,to=`react-scan-widget-settings-v2`,no=`react-scan-widget-collapsed-v1`;function ro(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ro(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function io(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ro(e))&&(r&&(r+=` `),r+=t);return r}var ao=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},oo=(e,t)=>({classGroupId:e,validator:t}),so=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),co=`-`,lo=[],uo=`arbitrary..`,fo=e=>{let t=ho(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return mo(e);let n=e.split(co);return po(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?ao(i,t):t:i||lo}return n[e]||lo}}},po=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=po(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(co):e.slice(t).join(co),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},mo=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?uo+r:void 0})(),ho=e=>{let{theme:t,classGroups:n}=e;return go(n,t)},go=(e,t)=>{let n=so();for(let r in e){let i=e[r];_o(i,n,r,t)}return n},_o=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];vo(i,t,n,r)}},vo=(e,t,n,r)=>{if(typeof e==`string`){yo(e,t,n);return}if(typeof e==`function`){bo(e,t,n,r);return}xo(e,t,n,r)},yo=(e,t,n)=>{let r=e===``?t:So(t,e);r.classGroupId=n},bo=(e,t,n,r)=>{if(Co(e)){_o(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(oo(n,e))},xo=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];_o(o,So(t,a),n,r)}},So=(e,t)=>{let n=e,r=t.split(co),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=so(),n.nextPart.set(t,i)),n=i}return n},Co=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,wo=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},To=`!`,Eo=`:`,Do=[],Oo=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ko=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Eo){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(To)?(c=s.slice(0,-1),l=!0):s.startsWith(To)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Oo(t,l,c,u)};if(t){let e=t+Eo,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Oo(Do,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ao=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},jo=e=>({cache:wo(e.cacheSize),parseClassName:ko(e),sortModifiers:Ao(e),...fo(e)}),Mo=/\s+/,No=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Mo),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+To:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Po=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Fo(n))&&(i&&(i+=` `),i+=r);return i},Fo=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Fo(e[r]))&&(n&&(n+=` `),n+=t);return n},Io=(e,...t)=>{let n,r,i,a,o=o=>(n=jo(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=No(e,n);return i(e,a),a};return a=o,(...e)=>a(Po(...e))},Lo=[],Ro=e=>{let t=t=>t[e]||Lo;return t.isThemeGetter=!0,t},zo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Bo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Vo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Ho=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Uo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Go=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,qo=e=>Vo.test(e),Jo=e=>!!e&&!Number.isNaN(Number(e)),Yo=e=>!!e&&Number.isInteger(Number(e)),Xo=e=>e.endsWith(`%`)&&Jo(e.slice(0,-1)),Zo=e=>Ho.test(e),Qo=()=>!0,$o=e=>Uo.test(e)&&!Wo.test(e),es=()=>!1,ts=e=>Go.test(e),ns=e=>Ko.test(e),rs=e=>!I(e)&&!L(e),is=e=>ys(e,Cs,es),I=e=>zo.test(e),as=e=>ys(e,ws,$o),os=e=>ys(e,Ts,Jo),ss=e=>ys(e,Ds,Qo),cs=e=>ys(e,Es,es),ls=e=>ys(e,xs,es),us=e=>ys(e,Ss,ns),ds=e=>ys(e,Os,ts),L=e=>Bo.test(e),fs=e=>bs(e,ws),ps=e=>bs(e,Es),ms=e=>bs(e,xs),hs=e=>bs(e,Cs),gs=e=>bs(e,Ss),_s=e=>bs(e,Os,!0),vs=e=>bs(e,Ds,!0),ys=(e,t,n)=>{let r=zo.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},bs=(e,t,n=!1)=>{let r=Bo.exec(e);return r?r[1]?t(r[1]):n:!1},xs=e=>e===`position`||e===`percentage`,Ss=e=>e===`image`||e===`url`,Cs=e=>e===`length`||e===`size`||e===`bg-size`,ws=e=>e===`length`,Ts=e=>e===`number`,Es=e=>e===`family-name`,Ds=e=>e===`number`||e===`weight`,Os=e=>e===`shadow`,ks=Io(()=>{let e=Ro(`color`),t=Ro(`font`),n=Ro(`text`),r=Ro(`font-weight`),i=Ro(`tracking`),a=Ro(`leading`),o=Ro(`breakpoint`),s=Ro(`container`),c=Ro(`spacing`),l=Ro(`radius`),u=Ro(`shadow`),d=Ro(`inset-shadow`),f=Ro(`text-shadow`),p=Ro(`drop-shadow`),m=Ro(`blur`),h=Ro(`perspective`),g=Ro(`aspect`),_=Ro(`ease`),v=Ro(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),L,I],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[L,I,c],T=()=>[qo,`full`,`auto`,...w()],E=()=>[Yo,`none`,`subgrid`,L,I],D=()=>[`auto`,{span:[`full`,Yo,L,I]},Yo,L,I],O=()=>[Yo,`auto`,L,I],ee=()=>[`auto`,`min`,`max`,`fr`,L,I],k=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],A=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],j=()=>[`auto`,...w()],M=()=>[qo,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[qo,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[qo,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,L,I],ne=()=>[...b(),ms,ls,{position:[L,I]}],re=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,hs,is,{size:[L,I]}],ae=()=>[Xo,fs,as],oe=()=>[``,`none`,`full`,l,L,I],se=()=>[``,Jo,fs,as],ce=()=>[`solid`,`dashed`,`dotted`,`double`],le=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ue=()=>[Jo,Xo,ms,ls],de=()=>[``,`none`,m,L,I],fe=()=>[`none`,Jo,L,I],pe=()=>[`none`,Jo,L,I],me=()=>[Jo,L,I],he=()=>[qo,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Zo],breakpoint:[Zo],color:[Qo],container:[Zo],"drop-shadow":[Zo],ease:[`in`,`out`,`in-out`],font:[rs],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Zo],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Zo],shadow:[Zo],spacing:[`px`,Jo],text:[Zo],"text-shadow":[Zo],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,qo,I,L,g]}],container:[`container`],columns:[{columns:[Jo,I,L,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Yo,`auto`,L,I]}],basis:[{basis:[qo,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Jo,qo,`auto`,`initial`,`none`,I]}],grow:[{grow:[``,Jo,L,I]}],shrink:[{shrink:[``,Jo,L,I]}],order:[{order:[Yo,`first`,`last`,`none`,L,I]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...k(),`normal`]}],"justify-items":[{"justify-items":[...A(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...A()]}],"align-content":[{content:[`normal`,...k()]}],"align-items":[{items:[...A(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...A(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...A(),`baseline`]}],"place-self":[{"place-self":[`auto`,...A()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:j()}],mx:[{mx:j()}],my:[{my:j()}],ms:[{ms:j()}],me:[{me:j()}],mbs:[{mbs:j()}],mbe:[{mbe:j()}],mt:[{mt:j()}],mr:[{mr:j()}],mb:[{mb:j()}],ml:[{ml:j()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...N()]}],"min-inline-size":[{"min-inline":[`auto`,...N()]}],"max-inline-size":[{"max-inline":[`none`,...N()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,fs,as]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,vs,ss]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Xo,I]}],"font-family":[{font:[ps,cs,t]}],"font-features":[{"font-features":[I]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,L,I]}],"line-clamp":[{"line-clamp":[Jo,`none`,L,os]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,L,I]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,L,I]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ce(),`wavy`]}],"text-decoration-thickness":[{decoration:[Jo,`from-font`,`auto`,L,as]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Jo,`auto`,L,I]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,L,I]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,L,I]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Yo,L,I],radial:[``,L,I],conic:[Yo,L,I]},gs,us]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":se()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ce(),`hidden`,`none`]}],"divide-style":[{divide:[...ce(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...ce(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Jo,L,I]}],"outline-w":[{outline:[``,Jo,fs,as]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,_s,ds]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,_s,ds]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:se()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Jo,as]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,_s,ds]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Jo,L,I]}],"mix-blend":[{"mix-blend":[...le(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":le()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Jo]}],"mask-image-linear-from-pos":[{"mask-linear-from":ue()}],"mask-image-linear-to-pos":[{"mask-linear-to":ue()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ue()}],"mask-image-t-to-pos":[{"mask-t-to":ue()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ue()}],"mask-image-r-to-pos":[{"mask-r-to":ue()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ue()}],"mask-image-b-to-pos":[{"mask-b-to":ue()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ue()}],"mask-image-l-to-pos":[{"mask-l-to":ue()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ue()}],"mask-image-x-to-pos":[{"mask-x-to":ue()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ue()}],"mask-image-y-to-pos":[{"mask-y-to":ue()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[L,I]}],"mask-image-radial-from-pos":[{"mask-radial-from":ue()}],"mask-image-radial-to-pos":[{"mask-radial-to":ue()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Jo]}],"mask-image-conic-from-pos":[{"mask-conic-from":ue()}],"mask-image-conic-to-pos":[{"mask-conic-to":ue()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,L,I]}],filter:[{filter:[``,`none`,L,I]}],blur:[{blur:de()}],brightness:[{brightness:[Jo,L,I]}],contrast:[{contrast:[Jo,L,I]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,_s,ds]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,Jo,L,I]}],"hue-rotate":[{"hue-rotate":[Jo,L,I]}],invert:[{invert:[``,Jo,L,I]}],saturate:[{saturate:[Jo,L,I]}],sepia:[{sepia:[``,Jo,L,I]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,L,I]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[Jo,L,I]}],"backdrop-contrast":[{"backdrop-contrast":[Jo,L,I]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Jo,L,I]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Jo,L,I]}],"backdrop-invert":[{"backdrop-invert":[``,Jo,L,I]}],"backdrop-opacity":[{"backdrop-opacity":[Jo,L,I]}],"backdrop-saturate":[{"backdrop-saturate":[Jo,L,I]}],"backdrop-sepia":[{"backdrop-sepia":[``,Jo,L,I]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,L,I]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Jo,`initial`,L,I]}],ease:[{ease:[`linear`,`initial`,_,L,I]}],delay:[{delay:[Jo,L,I]}],animate:[{animate:[`none`,v,L,I]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,L,I]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:fe()}],"rotate-x":[{"rotate-x":fe()}],"rotate-y":[{"rotate-y":fe()}],"rotate-z":[{"rotate-z":fe()}],scale:[{scale:pe()}],"scale-x":[{"scale-x":pe()}],"scale-y":[{"scale-y":pe()}],"scale-z":[{"scale-z":pe()}],"scale-3d":[`scale-3d`],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[L,I,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:he()}],"translate-x":[{"translate-x":he()}],"translate-y":[{"translate-y":he()}],"translate-z":[{"translate-z":he()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,L,I]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,L,I]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[Jo,fs,as,os]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),R=(...e)=>ks(io(e));typeof navigator<`u`&&navigator.userAgent.includes(`Firefox`);var As=(e,t)=>{let n=0;return r=>{let i=Date.now();if(i-n>=t)return n=i,e(r)}},js=e=>{if(!Ja)return null;try{let t=localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},Ms=(e,t)=>{if(Ja)try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}},Ns=Ot(!1),Ps=()=>({corner:`bottom-right`,dimensions:{isFullWidth:!1,isFullHeight:!1,width:$a.width,height:$a.height,position:{x:Qa,y:Qa}},lastDimensions:{isFullWidth:!1,isFullHeight:!1,width:$a.width,height:$a.height,position:{x:Qa,y:Qa}},componentsTree:{width:eo}});Ps(),Ot((()=>{let e=Ps(),t=js(to);return t?{corner:t.corner??e.corner,dimensions:t.dimensions??e.dimensions,lastDimensions:t.lastDimensions??t.dimensions??e.lastDimensions,componentsTree:t.componentsTree??e.componentsTree}:(Ms(to,{corner:e.corner,dimensions:e.dimensions,lastDimensions:e.lastDimensions,componentsTree:e.componentsTree}),e)})());var Fs=Ot({view:`none`});js(no);function Is(){return!1}function Ls(e){function t(t){return this.shouldComponentUpdate=Is,de(e,t)}return t.displayName=`Memo(${e.displayName||e.name})`,t.prototype.isReactComponent=!0,t._forwarded=!0,t}var Rs=Ot({updates:[],currentFiber:null,totalUpdates:0,windowOffset:0,currentIndex:0,isViewingHistory:!1,latestFiber:null,isVisible:!1,playbackSpeed:1});Ot(0),Ot({query:``,matches:[],currentMatchIndex:-1}),Ot({fiber:null,fiberProps:{current:[],changes:new Set},fiberState:{current:[],changes:new Set},fiberContext:{current:[],changes:new Set}}),cn(()=>{let e=nt(null),t=nt(null),n=nt(null),r=nt({isPropsChanged:!1,isStateChanged:!1,isContextChanged:!1});return et(()=>{let i=As(()=>{let r=[];e.current?.dataset.flash===`true`&&r.push(e.current),t.current?.dataset.flash===`true`&&r.push(t.current),n.current?.dataset.flash===`true`&&r.push(n.current);for(let e of r)e.classList.remove(`count-flash-white`),e.offsetWidth,e.classList.add(`count-flash-white`)},400);return Rs.subscribe(a=>{if(!e.current||!t.current||!n.current)return;let{currentIndex:o,updates:s}=a,c=s[o];!c||o===0||(i(),r.current={isPropsChanged:(c.props?.changes?.size??0)>0,isStateChanged:(c.state?.changes?.size??0)>0,isContextChanged:(c.context?.changes?.size??0)>0},e.current.dataset.flash!==`true`&&(e.current.dataset.flash=r.current.isPropsChanged.toString()),t.current.dataset.flash!==`true`&&(t.current.dataset.flash=r.current.isStateChanged.toString()),n.current.dataset.flash!==`true`&&(n.current.dataset.flash=r.current.isContextChanged.toString()))})},[]),F(`button`,{type:`button`,className:R(`react-section-header`,`overflow-hidden`,`max-h-0`,`transition-[max-height]`),children:F(`div`,{className:R(`flex-1 react-scan-expandable`),children:F(`div`,{className:`overflow-hidden`,children:F(`div`,{className:`flex items-center whitespace-nowrap`,children:[F(`div`,{className:`flex items-center gap-x-2`,children:`What changed?`}),F(`div`,{className:R(`ml-auto`,`change-scope`,`transition-opacity duration-300 delay-150`),children:[F(`div`,{ref:e,children:`props`}),F(`div`,{ref:t,children:`state`}),F(`div`,{ref:n,children:`context`})]})]})})})})}),Nt(()=>R(`react-scan-inspector`,`flex-1`,`opacity-0`,`overflow-y-auto overflow-x-hidden`,`transition-opacity delay-0`,`pointer-events-none`,!Ns.value&&`opacity-100 delay-300 pointer-events-auto`));var zs=0,Bs=performance.now(),Vs=0,Hs=!1,Us=()=>{Vs++;let e=performance.now();e-Bs>=1e3&&(zs=Vs,Vs=0,Bs=e),requestAnimationFrame(Us)},Ws=()=>(Hs||(Hs=!0,Us(),zs=60),zs);function Gs(e,t){let n=[];for(let t of e){let e=t.target;this.seenElements.has(e)||(this.seenElements.add(e),n.push(t))}n.length>0&&this.resolveNext&&(this.resolveNext(n),this.resolveNext=null),this.seenElements.size===this.uniqueElements.size&&(t.disconnect(),this.done=!0,this.resolveNext&&this.resolveNext([]))}var Ks=async function*(e){let t={uniqueElements:new Set(e),seenElements:new Set,resolveNext:null,done:!1},n=new IntersectionObserver(Gs.bind(t));for(let e of t.uniqueElements)n.observe(e);for(;!t.done;){let e=await new Promise(e=>{t.resolveNext=e});e.length>0&&(yield e)}};Nt(()=>R(`absolute inset-0 flex items-center gap-x-2`,`translate-y-0`,`transition-transform duration-300`,Ns.value&&`-translate-y-[200%]`));var qs=({className:e,...t})=>F(`div`,{className:R(`react-scan-toggle`,e),children:[F(`input`,{type:`checkbox`,...t}),F(`div`,{})]}),Js=({fps:e})=>F(`div`,{className:R(`flex items-center gap-x-1 px-2 w-full`,`h-6`,`rounded-md`,`font-mono leading-none`,`bg-[#141414]`,`ring-1 ring-white/[0.08]`),children:[F(`div`,{style:{color:(e=>e<30?`#EF4444`:e<50?`#F59E0B`:`rgb(214,132,245)`)(e)},className:`text-sm font-semibold tracking-wide transition-colors ease-in-out w-full flex justify-center items-center`,children:e}),F(`span`,{className:`text-white/30 text-[11px] font-medium tracking-wide ml-auto min-w-fit`,children:`FPS`})]}),Ys=()=>{let[e,t]=Qe(null);return et(()=>{let e=setInterval(()=>{t(Ws())},200);return()=>clearInterval(e)},[]),F(`div`,{className:R(`flex items-center justify-end gap-x-2 px-1 ml-1 w-[72px]`,`whitespace-nowrap text-sm text-white`),children:e===null?F(pe,{children:`️`}):F(Js,{fps:e})})},Xs=e=>e(),Zs=class e extends Array{constructor(e=25){super(),qa(this,`capacity`,e)}push(...e){let t=super.push(...e);for(;this.length>this.capacity;)this.shift();return t}static fromArray(t,n){let r=new e(n);return r.push(...t),r}};new class{constructor(e){qa(this,`subscribers`,new Set),qa(this,`currentValue`),this.currentValue=e}subscribe(e){return this.subscribers.add(e),e(this.currentValue),()=>{this.subscribers.delete(e)}}setState(e){this.currentValue=e,this.subscribers.forEach(t=>t(e))}getCurrentState(){return this.currentValue}}(new Zs(150));var Qs=50;new class{constructor(){qa(this,`channels`,{})}publish(e,t,n=!0){let r=this.channels[t];if(!r){if(!n)return;this.channels[t]={callbacks:new Zs(Qs),state:new Zs(Qs)},this.channels[t].state.push(e);return}r.state.push(e),r.callbacks.forEach(t=>t(e))}getAvailableChannels(){return Zs.fromArray(Object.keys(this.channels),Qs)}subscribe(e,t,n=!1){let r=()=>(n||this.channels[e].state.forEach(e=>{t(e)}),()=>{let n=this.channels[e].callbacks.filter(e=>e!==t);this.channels[e].callbacks=Zs.fromArray(n,Qs)}),i=this.channels[e];return i?(i.callbacks.push(t),r()):(this.channels[e]={callbacks:new Zs(Qs),state:new Zs(Qs)},this.channels[e].callbacks.push(t),r())}updateChannelState(e,t,n=!0){let r=this.channels[e];if(!r){if(!n)return;let r=new Zs(Qs),i={callbacks:new Zs(Qs),state:r};this.channels[e]=i,i.state=t(r);return}r.state=t(r.state)}getChannelState(e){return this.channels[e].state??new Zs(Qs)}},new Zs(25);var $s=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:(e,r)=>{let i,a;r?(i=e,a=r):a=e;let o=i?i(t):void 0,s=(e,t)=>{if(i){let n=i(e),r=i(t);Object.is(o,n)||(o=n,a(n,r))}else a(e,t)};return n.add(s),()=>n.delete(s)}},o=t=e(r,i,a);return a},ec=(e=>e?$s(e):$s);ec()(e=>({state:{events:[]},actions:{addEvent:t=>{e(e=>({state:{events:[...e.state.events,t]}}))},clear:()=>{e({state:{events:[]}})}}}));var tc=200,nc=ec()((e,t)=>{let n=new Set;return{state:{events:new Zs(tc)},actions:{addEvent:r=>{n.forEach(e=>e(r));let i=[...t().state.events,r],a=(e,t)=>{let n=i.find(t=>{if(t.kind!==`long-render`&&t.id!==e.id&&(e.data.startAt<=t.data.startAt&&e.data.endAt<=t.data.endAt&&e.data.endAt>=t.data.startAt||t.data.startAt<=e.data.startAt&&t.data.endAt>=e.data.startAt||e.data.startAt<=t.data.startAt&&e.data.endAt>=t.data.endAt))return!0});n&&t(n)},o=new Set;i.forEach(e=>{e.kind!==`interaction`&&a(e,()=>{o.add(e.id)})});let s=i.filter(e=>!o.has(e.id));e(()=>({state:{events:Zs.fromArray(s,tc)}}))},addListener:e=>(n.add(e),()=>{n.delete(e)}),clear:()=>{e({state:{events:new Zs(tc)}})}}}}),rc=()=>an(nc.subscribe,nc.getState),ic=150,ac=e=>{let t=e.filter(e=>e.length>2);return t.length===0?e.at(-1)??`Unknown`:t.at(-1)},oc=e=>{switch(e.kind){case`interaction`:{let{renderTime:t,otherJSTime:n,framePreparation:r,frameConstruction:i,frameDraw:a}=e;return t+n+r+i+(a??0)}case`dropped-frames`:return e.otherTime+e.renderTime}},sc=e=>e.wasFiberRenderMount||e.hasMemoCache?!1:e.changes.context.length===0&&e.changes.props.length===0&&e.changes.state.length===0,cc=e=>{let t=oc(e.timing);switch(e.kind){case`interaction`:return t<200?`low`:t<500?`needs-improvement`:`high`;case`dropped-frames`:return t<50?`low`:t<ic?`needs-improvement`:`high`}},lc=()=>at(uc),uc=Le(null),dc=({size:e=24,className:t})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:R([`lucide lucide-chevron-right`,t]),children:F(`path`,{d:`m9 18 6-6-6-6`})}),fc=({className:e=``,size:t=24,events:n=[]})=>{let r=n.includes(!0),i=n.filter(e=>e).length,a=i>99?`>99`:i,o=r?Math.max(t*.6,14):Math.max(t*.4,6);return F(`div`,{className:`relative`,children:[F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:`lucide lucide-bell ${e}`,children:[F(`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}),F(`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`})]}),n.length>0&&i>0&&gl.options.value.showNotificationCount&&F(`div`,{className:R([`absolute`,r?`-top-2.5 -right-2.5`:`-top-1 -right-1`,`rounded-full`,`flex items-center justify-center`,`text-[8px] font-medium text-white`,`aspect-square`,r?`bg-red-500/90`:`bg-purple-500/90`]),style:{width:`${o}px`,height:`${o}px`,padding:r?`0.5px`:`0`},children:r&&a})]})},pc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,children:[F(`path`,{d:`M18 6 6 18`}),F(`path`,{d:`m6 6 12 12`})]}),mc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,children:[F(`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}),F(`path`,{d:`M16 9a5 5 0 0 1 0 6`}),F(`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`})]}),hc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,children:[F(`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}),F(`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}),F(`path`,{d:`m2 2 20 20`}),F(`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}),F(`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`})]}),gc=({size:e=24,className:t})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:R([`lucide lucide-arrow-left`,t]),children:[F(`path`,{d:`m12 19-7-7 7-7`}),F(`path`,{d:`M19 12H5`})]}),_c=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,children:[F(`path`,{d:`M14 4.1 12 6`}),F(`path`,{d:`m5.1 8-2.9-.8`}),F(`path`,{d:`m6 12-1.9 2`}),F(`path`,{d:`M7.2 2.2 8 5.1`}),F(`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`})]}),vc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,children:[F(`path`,{d:`M10 8h.01`}),F(`path`,{d:`M12 12h.01`}),F(`path`,{d:`M14 8h.01`}),F(`path`,{d:`M16 12h.01`}),F(`path`,{d:`M18 8h.01`}),F(`path`,{d:`M6 8h.01`}),F(`path`,{d:`M7 16h10`}),F(`path`,{d:`M8 12h.01`}),F(`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`})]}),yc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,className:e,style:{transform:`rotate(180deg)`},children:[F(`circle`,{cx:`12`,cy:`12`,r:`10`}),F(`path`,{d:`m4.9 4.9 14.2 14.2`})]}),bc=({className:e=``,size:t=24})=>F(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:e,children:[F(`polyline`,{points:`22 17 13.5 8.5 8.5 13.5 2 7`}),F(`polyline`,{points:`16 17 22 17 22 11`})]}),xc=({children:e,triggerContent:t,wrapperProps:n})=>{let[r,i]=Qe(`closed`),[a,o]=Qe(null),[s,c]=Qe({width:window.innerWidth,height:window.innerHeight}),l=nt(null),u=nt(null),d=at(pl),f=nt(!1);et(()=>{let e=()=>{c({width:window.innerWidth,height:window.innerHeight}),p()};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let p=()=>{if(l.current&&d){let e=l.current.getBoundingClientRect(),t=d.getBoundingClientRect(),n=e.left+e.width/2,r=e.top,i=new DOMRect(n-t.left,r-t.top,e.width,e.height);o(i)}};et(()=>{p()},[l.current]),et(()=>{if(r===`opening`){let e=setTimeout(()=>i(`open`),120);return()=>clearTimeout(e)}else if(r===`closing`){let e=setTimeout(()=>i(`closed`),120);return()=>clearTimeout(e)}},[r]),et(()=>{let e=setInterval(()=>{!f.current&&r!==`closed`&&i(`closing`)},1e3);return()=>clearInterval(e)},[r]);let m=()=>{f.current=!0,p(),i(`opening`)},h=()=>{f.current=!1,p(),i(`closing`)},g=(()=>{if(!a||!d)return{top:0,left:0};let e=d.getBoundingClientRect(),t=u.current?.offsetHeight||40,n=a.x+e.left,r=a.y+e.top,i=n,o=r-4;return i-175/2<5?i=92.5:i+175/2>s.width-5&&(i=s.width-5-175/2),o-t<5&&(o=r+a.height+4),{top:o-e.top,left:i-e.left}})();return F(pe,{children:[d&&a&&r!==`closed`&&Sn(F(`div`,{ref:u,className:R([`absolute z-100 bg-white text-black rounded-lg px-3 py-2 shadow-lg`,`transition-[opacity] duration-120 ease-out`,`after:content-[""] after:absolute after:top-[100%]`,`after:left-1/2 after:-translate-x-1/2`,`after:w-[10px] after:h-[6px]`,`after:border-l-[5px] after:border-l-transparent`,`after:border-r-[5px] after:border-r-transparent`,`after:border-t-[6px] after:border-t-white`,`pointer-events-none`,r===`opening`||r===`closing`?`opacity-0`:`opacity-100`]),style:{top:g.top+`px`,left:g.left+`px`,transform:`translate(-50%, calc(-100% - 4px)) scale(${r===`open`?1:.97})`,minWidth:`175px`,willChange:`opacity, transform`},children:e}),d),F(`div`,{ref:l,onMouseEnter:m,onMouseLeave:h,...n,children:t})]})},Sc=({selectedEvent:e})=>{let{notificationState:t,setNotificationState:n,setRoute:r}=lc();return F(`div`,{className:R([`flex w-full justify-between items-center px-3 py-2 text-xs`]),children:[F(`div`,{className:R([`bg-[#18181B] flex items-center gap-x-1 p-1 rounded-sm`]),children:[F(`button`,{onClick:()=>{r({route:`render-visualization`,routeMessage:null})},className:R([`w-1/2 flex items-center justify-center whitespace-nowrap py-[5px] px-1 gap-x-1`,t.route===`render-visualization`||t.route===`render-explanation`?`text-white bg-[#7521c8] rounded-sm`:`text-[#6E6E77] bg-[#18181B] rounded-sm`]),children:`Ranked`}),F(`button`,{onClick:()=>{r({route:`other-visualization`,routeMessage:null})},className:R([`w-1/2 flex items-center justify-center whitespace-nowrap py-[5px] px-1 gap-x-1`,t.route===`other-visualization`?`text-white bg-[#7521c8] rounded-sm`:`text-[#6E6E77] bg-[#18181B] rounded-sm`]),children:`Overview`}),F(`button`,{onClick:()=>{r({route:`optimize`,routeMessage:null})},className:R([`w-1/2 flex items-center justify-center whitespace-nowrap py-[5px] px-1 gap-x-1`,t.route===`optimize`?`text-white bg-[#7521c8] rounded-sm`:`text-[#6E6E77] bg-[#18181B] rounded-sm`]),children:F(`span`,{children:`Prompts`})})]}),F(xc,{triggerContent:F(`button`,{onClick:()=>{n(e=>{e.audioNotificationsOptions.enabled&&e.audioNotificationsOptions.audioContext.state!==`closed`&&e.audioNotificationsOptions.audioContext.close();let t=e.audioNotificationsOptions.enabled;localStorage.setItem(`react-scan-notifications-audio`,String(!t));let n=new AudioContext;return e.audioNotificationsOptions.enabled||Xa(n),t&&n.close(),{...e,audioNotificationsOptions:t?{audioContext:null,enabled:!1}:{audioContext:n,enabled:!0}}})},className:`ml-auto`,children:F(`div`,{className:R([`flex gap-x-2 justify-center items-center text-[#6E6E77]`]),children:[F(`span`,{children:`Alerts`}),t.audioNotificationsOptions.enabled?F(mc,{size:16,className:`text-[#6E6E77]`}):F(hc,{size:16,className:`text-[#6E6E77]`})]})}),children:F(pe,{children:`Play a chime when a slowdown is recorded`})})]})},Cc=e=>{let t=``;return e.toSorted((e,t)=>t.totalTime-e.totalTime).slice(0,30).filter(e=>e.totalTime>5).forEach(e=>{let n=``;n+=`Component Name:`,n+=e.name,n+=`
|
|
3
3
|
`,n+=`Rendered: ${e.count} times
|
|
4
4
|
`,n+=`Sum of self times for ${e.name} is ${e.totalTime.toFixed(0)}ms
|
|
@@ -253,7 +253,7 @@ Error generating stack: `+e.message+`
|
|
|
253
253
|
`:``}${t.join(`
|
|
254
254
|
`)}`:e}function RA(e,t){return t&&e.key===`Enter`&&!e.isComposing&&e.keyCode!==229&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey}function zA(e){return e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&!e.isComposing&&e.keyCode!==229}function BA(e){return e.key===`Enter`&&e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.isComposing}function VA(e,t,n){return e===`queueComposer`&&t===`Enter`&&n}async function HA(e,t){let n=await e.arrayBuffer(),r=``,i=new Uint8Array(n);for(let e=0;e<i.length;e+=32768)r+=String.fromCharCode(...i.subarray(e,e+32768));let a=await fetch(`/attach`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:t,data:btoa(r)})});return a.ok?(await a.json()).path??null:null}function UA({value:e,onChange:t,onSubmit:n,surface:r,placeholder:i,id:a,minHeight:o=44,maxHeight:s=220,autoFocus:c,busy:l,footer:u,leftAction:d}){let f=(0,z.useRef)(null),p=(0,z.useRef)(null),[m,h]=(0,z.useState)(!1),[g,_]=(0,z.useState)(!1),{prose:v,attachments:y}=(0,z.useMemo)(()=>IA(e),[e]),b=y.map(e=>e.path),x=(0,z.useRef)(e);x.current=e;let S=e=>t(LA(e,b)),C=e=>t(LA(v,e));async function w(e){if(!e)return;if(g){X(`An upload is already in progress — try again in a moment`);return}let n=[...e].map(e=>{let t=e.type.startsWith(`image/`)?e.type.slice(6).toLowerCase():``,n=t===`jpeg`?`jpg`:t===`svg+xml`?`svg`:t;return{file:e,name:e.name||(n?`pasted.${n}`:``)}}).filter(({name:e})=>Hm(e)?!0:(X(`${e||`File`}: unsupported file type`),!1));if(!n.length)return;let r=n.filter(({file:e,name:t})=>e.size>zm?(X(`${t} is too large (max ${Math.floor(zm/1e6)} MB)`),!1):!0);if(!r.length)return;let i=x.current;_(!0);let a=[];try{for(let{file:e,name:t}of r){let n=await HA(e,t);n?a.push(n):X(`Could not attach ${t}`)}}finally{_(!1)}if(a.length&&i!==``&&x.current===``){X(`Attachment discarded — the message was sent before the upload finished`),requestAnimationFrame(()=>f.current?.focus());return}if(a.length){let e=IA(x.current);t(LA(e.prose,[...e.attachments.map(e=>e.path),...a]))}requestAnimationFrame(()=>f.current?.focus())}(0,z.useLayoutEffect)(()=>{let e=!0,t=()=>{let t=f.current;!t||!e||(t.style.height=`auto`,t.style.height=`${Math.min(t.scrollHeight,s)}px`)};t();let n=requestAnimationFrame(t);document.fonts?.ready.then(t);let r=f.current,i=r?.clientWidth??0,a,o=r?new ResizeObserver(([e])=>{let n=Math.round(e.contentRect.width);n!==i&&(i=n,a!==void 0&&cancelAnimationFrame(a),a=requestAnimationFrame(t))}):void 0;return r&&o?.observe(r),()=>{e=!1,cancelAnimationFrame(n),a!==void 0&&cancelAnimationFrame(a),o?.disconnect()}},[e,s,!!u]);let T=(0,z.useRef)(!1);(0,z.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{T.current=e.disabled};return e.addEventListener(`focusout`,t),()=>e.removeEventListener(`focusout`,t)},[]),(0,z.useEffect)(()=>{if(l||!T.current)return;T.current=!1;let e=f.current,t=document.activeElement;e&&(!t||t.contains(e))&&e.focus({preventScroll:!0})},[l]);let E=e.trim().length>0;function D(e){let t=e.currentTarget,i={key:e.key,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isComposing:e.nativeEvent.isComposing,keyCode:e.keyCode};if(VA(r,e.key,e.altKey)){e.preventDefault(),e.stopPropagation();let n=t.selectionStart??t.value.length,r=t.selectionEnd??n;S(t.value.slice(0,n)+`
|
|
255
255
|
`+t.value.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1));return}if(RA(i,E&&!l&&!g)){e.preventDefault(),e.stopPropagation(),n();return}if(BA(i)){let e=t.value,n=t.selectionStart??e.length,r=t.selectionEnd??n;requestAnimationFrame(()=>{t.value===e&&(S(e.slice(0,n)+`
|
|
256
|
-
`+e.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1)))})}e.key===`Escape`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),t.blur())}return(0,B.jsxs)(`div`,{className:`group relative rounded-xl border bg-bg transition-colors focus-within:border-accent ${m?`border-dashed border-accent`:`border-border`}`,onDragOver:e=>{[...e.dataTransfer.items].some(e=>e.kind===`file`)&&(e.preventDefault(),h(!0))},onDragLeave:()=>h(!1),onDrop:e=>{e.preventDefault(),h(!1),w(e.dataTransfer.files)},children:[m&&(0,B.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-bg/80 text-[12px] text-muted`,children:`Drop file to attach`}),(0,B.jsx)(`textarea`,{id:a,ref:f,"data-surface":r,value:v,autoFocus:c,disabled:l,onChange:e=>S(e.target.value),onKeyDown:D,onPaste:e=>{let t=[...e.clipboardData.items].filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(Boolean);t.length&&(e.preventDefault(),w(t))},placeholder:i,rows:1,spellCheck:!1,style:{minHeight:o,maxHeight:s},className:`block w-full resize-none bg-transparent px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${d?`pr-28`:`pr-20`}`} text-[13px] leading-relaxed text-fg outline-none placeholder:text-muted scrollbar-none disabled:opacity-60`}),y.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5 px-3 pb-2 ${d?`pr-28`:`pr-20`}`,children:y.map((e,t)=>(0,B.jsx)(WA,{attachment:e,disabled:l,onRemove:()=>C(b.filter((e,n)=>n!==t))},`${e.path}-${t}`))}),u&&(0,B.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1 pl-1.5 pb-1.5 ${d?`pr-28`:`pr-20`}`,children:u}),d&&(0,B.jsx)(`div`,{className:`absolute bottom-2 right-11 flex items-center`,children:d}),(0,B.jsx)(`input`,{ref:p,type:`file`,multiple:!0,accept:Um,className:`hidden`,onChange:e=>{w(e.target.files),e.target.value=``}}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>p.current?.click(),disabled:l||g,title:`Attach files`,"aria-label":`Attach files`,className:`absolute bottom-2 ${d?`right-[4.625rem]`:`right-11`} flex h-7 w-7 items-center justify-center rounded-lg text-muted transition-[color,background-color] enabled:hover:bg-panel-2/70 enabled:hover:text-fg disabled:opacity-50`,children:g?(0,B.jsx)(iy,{size:15,strokeWidth:2,className:`animate-spin`}):(0,B.jsx)(ly,{size:15,strokeWidth:2})}),(0,B.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:n,disabled:!E||l||g,title:`Send (Enter)`,"aria-label":`Send`,className:`absolute bottom-2 right-2 flex h-7 w-7 items-center justify-center rounded-lg transition-all ${E&&!l&&!g?`bg-fg text-bg hover:opacity-90 active:scale-95`:`bg-panel-2 text-muted`}`,children:l?(0,B.jsx)(iy,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,B.jsx)(Ev,{size:14,strokeWidth:2.5})})]})}function WA({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,z.useState)(!1),a=e.path.split(`/`).filter(Boolean).pop()||e.path,o=(a.includes(`.`)?a.split(`.`).pop():``).toUpperCase();return(0,B.jsxs)(`div`,{className:`group/att relative h-11 w-11`,title:a,children:[e.kind===`image`&&!r?(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(e.path)}`,alt:a,onError:()=>i(!0),className:`h-11 w-11 rounded-md border border-border object-cover`}):(0,B.jsxs)(`div`,{className:`flex h-11 w-11 flex-col items-center justify-center gap-0.5 rounded-md border border-border bg-panel-2 px-1`,children:[(0,B.jsx)(Wv,{size:15,strokeWidth:2,className:`shrink-0 text-muted`}),o&&(0,B.jsx)(`span`,{className:`max-w-full truncate text-[8px] font-medium leading-none text-muted/80`,children:o})]}),(0,B.jsx)(`button`,{type:`button`,onClick:n,disabled:t,title:`Remove ${a}`,"aria-label":`Remove ${a}`,className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full border border-border bg-bg text-muted opacity-0 transition-opacity hover:text-fg focus-visible:opacity-100 group-hover/att:opacity-100 disabled:hidden`,children:(0,B.jsx)(Ty,{size:10,strokeWidth:2.5})})]})}function GA(){let e=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()});return!!(e.data?.inRepo&&e.data.authed)}function KA({className:e=``}){return GA()?(0,B.jsx)(`button`,{type:`button`,onClick:Zh,onMouseDown:e=>e.preventDefault(),title:`Investigate this issue and make recommendations`,"aria-label":`Investigate this issue and make recommendations`,className:`flex h-7 w-7 items-center justify-center rounded-lg text-muted outline-none transition-[color,background-color,box-shadow] enabled:hover:bg-panel-2/70 enabled:hover:text-fg enabled:focus-visible:bg-panel-2/70 enabled:focus-visible:text-muted enabled:focus-visible:ring-1 enabled:focus-visible:ring-muted/80 enabled:focus-visible:ring-offset-1 enabled:focus-visible:ring-offset-bg enabled:active:bg-elevated enabled:active:text-muted disabled:bg-transparent disabled:text-muted/35 ${e}`,children:(0,B.jsx)(Zv,{size:15,strokeWidth:2})}):null}var qA=`prompt-control-type petite-caps`,JA=qA,YA=qA,XA=`profile-grid-cell relative flex h-6 min-w-[2.75rem] cursor-pointer select-none items-center justify-center rounded border border-transparent px-1 text-center text-muted outline-none transition-colors ${JA} data-[highlighted]:border-border data-[highlighted]:bg-panel-2 data-[highlighted]:text-fg data-[highlighted]:outline data-[highlighted]:outline-1 data-[highlighted]:outline-offset-1 data-[highlighted]:outline-fg/55 data-[state=checked]:border-accent/70 data-[state=checked]:bg-accent/10 data-[state=checked]:font-medium data-[state=checked]:text-fg data-[state=checked]:ring-1 data-[state=checked]:ring-inset data-[state=checked]:ring-accent/90`;function ZA(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, minmax(2.75rem, auto))`}var QA=[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`];function $A(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=QA.indexOf(e),r=QA.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function ej(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function tj(e){return JSON.stringify([e.provider,e.model,e.effort])}function nj(e,t){return ej(e).find(e=>tj(e)===t)}function rj(e,t){return!t?.model||!t.effort?!1:e.some(e=>(!t.provider||e.id===t.provider)&&e.options.some(e=>e.model===t.model&&e.efforts.includes(t.effort)))}function ij(e,t,n=`Profile unknown`){if(!t?.model&&!t?.effort)return n;let r=e.flatMap(e=>e.options).find(e=>e.model===t.model)?.label??t.model??`Model unknown`;return t.effort?`${r} › ${t.effort}`:r}function aj(e,t,n){let r=$A(e),i=e.flatMap(e=>e.options.map(t=>({provider:e.id,option:t}))),a=i.findIndex(e=>e.provider===t.provider&&e.option.model===t.model);if(a===-1)return null;let o=i[a],s=o.option.efforts.indexOf(t.effort);if(s===-1)return null;if(n===`Home`||n===`End`||n===`ArrowLeft`||n===`ArrowRight`){let e=n===`Home`?0:n===`End`?o.option.efforts.length-1:s+(n===`ArrowLeft`?-1:1),t=o.option.efforts[e];return t?{provider:o.provider,model:o.option.model,effort:t}:null}let c=i[a+(n===`ArrowUp`?-1:1)];if(!c)return null;let l=r.indexOf(t.effort),u=c.option.efforts.reduce((e,t)=>e?Math.abs(r.indexOf(t)-l)<Math.abs(r.indexOf(e)-l)?t:e:t,void 0);return u?{provider:c.provider,model:c.option.model,effort:u}:null}var oj,sj=!1;function cj(){sj||typeof window>`u`||(sj=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!oj||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),uj())},{capture:!0}))}function lj(e){cj();let t={dismiss:e};return oj=t,()=>{oj===t&&(oj=void 0)}}function uj(){let e=oj;return e?(oj=void 0,e.dismiss(),!0):!1}function dj(e){uj()&&e.preventDefault(),e.stopPropagation()}function fj(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function pj({groups:e,value:t,pending:n,onValueChange:r,placeholder:i,ariaLabel:a,menuAriaLabel:o=`Choose model and effort`,title:s,disabled:c=!1,compact:l=!1,side:u=`bottom`,menuZClass:d=Bk,className:f=``}){let[p,m]=(0,z.useState)(!1),h=(0,z.useRef)(p),g=(0,z.useRef)(c),_=(0,z.useRef)(void 0),v=(0,z.useRef)(new Map),y=(0,z.useRef)(void 0),b=(0,z.useMemo)(()=>$A(e),[e]),x=(0,z.useMemo)(()=>e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n})))),[e]),S=l?YA:JA,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=rj(e,t),T=w&&t?.provider&&t.model&&t.effort?tj(t):void 0,E=n?.model||n?.effort?ij(e,n,`Pending profile`):void 0;h.current=p,g.current=c;function D(){h.current=!1,_.current=void 0,m(!1)}(0,z.useLayoutEffect)(()=>{let e=e=>{e.key!==`Escape`||!h.current||g.current||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),_.current?.(),D())};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[]),(0,z.useLayoutEffect)(()=>{!c||!p||(_.current?.(),D())},[c,p]),(0,z.useLayoutEffect)(()=>()=>_.current?.(),[]),(0,z.useLayoutEffect)(()=>{T===y.current&&(y.current=void 0)},[T]);function O(e){let t=tj(e);y.current!==t&&(y.current=t,r(e))}function ee(t,n){if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key))return;let r=aj(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(tj(r))?.focus())}return(0,B.jsxs)(Ok,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=lj(D))},children:[(0,B.jsx)(kk,{asChild:!0,disabled:c,children:(0,B.jsxs)(`button`,{type:`button`,"aria-label":a,"aria-invalid":!w&&(t?.model||t?.effort)?!0:void 0,"aria-description":E?`Pending ${E}`:void 0,title:s,"data-profile-known":w?`true`:`false`,"data-profile-pending":E?`true`:void 0,className:`profile-grid-trigger group inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-md border border-border/50 bg-transparent px-2 py-1 text-left text-muted outline-none data-[state=open]:border-border data-[state=open]:bg-panel-2 ${C} ${f} ${S}`,children:[(0,B.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 flex-1 truncate text-left ${S}`,children:ij(e,t,i)}),E&&(0,B.jsx)(iy,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,B.jsx)(jv,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,B.jsx)(Ak,{children:(0,B.jsxs)(jk,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${zk} max-h-[min(360px,var(--radix-dropdown-menu-content-available-height))] max-w-[calc(100vw-1rem)] overflow-auto rounded-lg p-1.5 ${S}`,children:[e.map(t=>(0,B.jsxs)(Mk,{children:[t.label&&(0,B.jsx)(Nk,{className:`px-1.5 pb-1 pt-1 text-left font-medium tracking-[0.07em] text-muted/55 first:pt-0.5`,children:t.label}),(0,B.jsx)(Fk,{value:T,onValueChange:t=>{let n=nj(e,t);n&&O(n)},children:t.options.map(e=>(0,B.jsxs)(`div`,{"data-profile-grid-row":e.model,className:`grid min-w-max items-center gap-1 py-0.5`,style:{gridTemplateColumns:ZA(b.length)},children:[(0,B.jsx)(`span`,{className:`profile-grid-model-label min-w-0 max-w-[9.5rem] truncate px-1.5 text-left text-muted ${S}`,title:e.label,children:e.label}),b.map(n=>{if(!e.efforts.includes(n))return(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`cursor-default`},n);let r={provider:t.id,model:e.model,effort:n},i=tj(r);return(0,B.jsx)(Ik,{value:i,ref:e=>{e?v.current.set(i,e):v.current.delete(i)},onKeyDown:e=>ee(e,r),onSelect:e=>{e.preventDefault(),O(r),_.current?.(),D()},"aria-label":`${e.label}, ${fj(n)} effort`,title:`${e.label} › ${fj(n)}`,className:XA,children:(0,B.jsx)(`span`,{children:fj(n)})},n)})]},e.model))}),t!==e.at(-1)&&(0,B.jsx)(Rk,{className:`my-1 h-px bg-border`})]},t.id)),x.length===0&&(0,B.jsx)(`div`,{className:`px-2 py-1.5 text-muted/60`,children:`No profiles available`})]})})]})}var mj={claude:`claude auth login`,codex:`codex login`},hj={claude:`Claude`,codex:`Codex`};function gj(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var _j=`modulepreload`,vj=function(e){return`/`+e},yj={},bj=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=vj(t,n),t=s(t),t in yj)return;yj[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:_j,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xj=(0,z.lazy)(()=>bj(()=>import(`./TerminalPane-fMGrgB-a.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function Sj({backend:e,onClose:t,onAuthed:n}){let r=Bu(),[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(null),c=(0,z.useRef)(!1),l=mj[e],u=hj[e],d=nd({mutationFn:()=>Z.accountLoginStart({backend:e}),onSuccess:e=>{c.current=!1,s(e.attemptId)},onError:e=>X(`Couldn't start the sign-in terminal: ${e.message.slice(0,80)} — use the command below instead`,{duration:7e3})}),f=td({queryKey:[`accountLoginStatus`,o],queryFn:()=>Z.accountLoginStatus({attemptId:o}),enabled:!!o,refetchInterval:2e3});(0,z.useEffect)(()=>{if(!o||c.current)return;let t=f.data;if(!(!t||t.state===`running`||t.state===`unknown`)){if(c.current=!0,t.auth!==`signed-out`){r.setQueryData([`authStatus`],n=>n&&{...n,[e]:t.auth}),X(`Signed in to ${u}`),n();return}X(`${u} sign-in didn't complete — try again or use the command below`,{duration:7e3}),s(null)}},[o,f.data,e,u]);function p(){o&&!c.current&&Z.accountLoginCancel({attemptId:o}).catch(()=>{})}let m=(0,z.useRef)({attempt:null,settled:!1});m.current={attempt:o,settled:c.current},(0,z.useEffect)(()=>()=>{let{attempt:e,settled:t}=m.current;e&&!t&&Z.accountLoginCancel({attemptId:e}).catch(()=>{})},[]);async function h(){try{if(!navigator.clipboard?.writeText)throw Error(`clipboard unavailable`);await navigator.clipboard.writeText(l),a(!0),window.setTimeout(()=>a(!1),1500)}catch{X(`Couldn't copy — select the command and copy it manually`,{duration:6e3})}}let g=nd({mutationFn:()=>Z.authStatus(),onSuccess:t=>{if(r.setQueryData([`authStatus`],t),t[e]===`signed-out`){X(`Still signed out of ${u} — run the command, then retry`,{duration:6e3});return}n()},onError:()=>n()});return(0,B.jsx)(tA,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] ${o?`w-[680px]`:`w-[440px]`} max-w-[92vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsxs)(vA,{className:`mb-1 text-[14px] font-medium`,children:[`Signed out of `,u]}),o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`p`,{className:`mb-3 text-[12.5px] leading-relaxed text-muted`,children:[`This terminal is running `,(0,B.jsx)(`code`,{className:`font-mono-keep text-fg/90`,children:l}),` — follow its prompts (it may open your browser). Fray detects completion automatically.`]}),(0,B.jsx)(`div`,{className:`mb-4 h-[340px] overflow-hidden rounded-lg border border-border bg-[#0d0e10]`,children:(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-muted`,children:`Opening terminal…`}),children:(0,B.jsx)(xj,{slug:o})})}),(0,B.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:(0,B.jsx)(`button`,{type:`button`,onClick:()=>{p(),s(null)},className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:`Cancel sign-in`})})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`Fray can't start a `,u,` thread until you're signed in. Sign in here, or run the command in your own terminal and retry:`]}),(0,B.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 rounded-lg border border-border bg-panel-2 px-3 py-2`,children:[(0,B.jsx)(`code`,{className:`flex-1 select-all font-mono-keep text-[12.5px] text-fg`,children:l}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Copy command`,onClick:h,className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel hover:text-fg`,children:i?(0,B.jsx)(Av,{size:14,strokeWidth:2,className:`text-green-400`}):(0,B.jsx)(Bv,{size:14,strokeWidth:1.8})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:t,className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>g.mutate(),disabled:g.isPending,className:`flex items-center gap-1.5 rounded-md border border-border px-3 py-1.5 text-[12.5px] text-fg/90 outline-none transition-colors hover:bg-panel-2 disabled:opacity-60`,children:[g.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Retry`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>d.mutate(),disabled:d.isPending,className:`flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-[12.5px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-60`,children:[d.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function Cj({backend:e,onClose:t}){let n=Bu(),r=hj[e],i=nd({mutationFn:()=>Z.accountLogout({backend:e}),onSuccess:i=>{n.setQueryData([`authStatus`],t=>t&&{...t,[e]:i.auth}),i.status===`done`?X(`Signed out of ${r}`):i.status===`blocked`?X(`Not signed out — ${i.activeThreads} active ${r} thread${i.activeThreads===1?``:`s`}. Let them finish (or complete them) first.`,{duration:7e3}):X(`${r} sign-out failed: ${i.detail??`unknown error`}`,{duration:7e3}),t()},onError:e=>{X(`${r} sign-out failed: ${e.message.slice(0,80)}`,{duration:7e3}),t()}});return(0,B.jsx)(tA,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] w-[420px] max-w-[86vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsxs)(vA,{className:`mb-1 text-[14px] font-medium`,children:[`Sign out of `,r,`?`]}),(0,B.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`New `,r,` threads will be blocked until you sign in again. Running `,r,` threads are left untouched — sign-out is refused while any are active.`]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:t,disabled:i.isPending,className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-60`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>i.mutate(),disabled:i.isPending,className:`flex items-center gap-1.5 rounded-md bg-red-500/90 px-3 py-1.5 text-[12.5px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-60`,children:[i.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var wj=yh.options,Tj={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},Ej={auto:`auto — safe actions auto-approved, risky ones prompt`,default:`default — prompt for every permission`,acceptEdits:`accept edits — file edits auto-approved`,plan:`plan — read-only planning, approval before changes`,bypassPermissions:`bypass — never prompt (dangerous)`};wj.filter(e=>e!==`plan`).map(e=>({value:e,label:Tj[e],title:Ej[e]}));var Dj=[{value:`fable`,label:`Fable`},{value:`opus`,label:`Opus`},{value:`sonnet`,label:`Sonnet`},{value:`haiku`,label:`Haiku`}],Oj=[{slug:`gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{slug:`gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{slug:`gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`]},{slug:`gpt-5.5`,displayName:`GPT-5.5`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`]}],kj=new Set(Oj.map(e=>e.slug));function Aj(e,t){return e&&(kj.has(e)||t?.some(t=>t.slug===e))?`codex`:`claude`}function jj(e){return(e.length?e:Oj).map(e=>({value:e.slug,label:e.displayName,title:`${e.displayName} — codex`}))}function Mj(e,t){let n=[{label:`Claude Code`,options:Dj},{label:`Codex`,options:jj(e)}];return t.withDefault?[{label:``,options:[{value:``,label:`Default`}]},...n]:n}function Nj(e,t){if(e)return t.find(t=>t.slug===e)??Oj.find(t=>t.slug===e)}var Pj=[`low`,`medium`,`high`,`xhigh`,`max`],Fj={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`},Ij=[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`];function Lj(e){return Fj[e]??e.charAt(0).toUpperCase()+e.slice(1)}var Rj=[{value:``,label:`Effort`},...Pj.map(e=>({value:e,label:Fj[e]}))],zj=[{value:``,label:`Default`},...Pj.map(e=>({value:e,label:Fj[e]}))];function Bj(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:Lj(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function Vj(e,t){if(!e||!t||e.efforts.includes(t))return t;let n=Ij.indexOf(t),r=e.efforts.filter(e=>{let t=Ij.indexOf(e);return t!==-1&&n!==-1&&t<=n});return r.length?r.reduce((e,t)=>Ij.indexOf(t)>Ij.indexOf(e)?t:e):e.defaultEffort}var Hj=Rj.filter(e=>e.value!==``);function Uj(e,t){return t.field===`backend`?{...e,backend:t.value}:t.field===`profile`?{...e,backend:t.backend,[t.backend]:{...e[t.backend],model:t.model,effort:t.effort}}:{...e,...t.field===`model`?{backend:t.backend}:{},[t.backend]:{...e[t.backend],[t.field]:t.value}}}function Wj(e){return[{id:`claude`,label:`Claude Code`,options:Dj.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:Hj.map(e=>e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function Gj(e,t){let n=e.backend,r=e[n],i=r.model??(n===`claude`?`opus`:t[0]?.slug??``),a=n===`codex`?t.find(e=>e.slug===i):void 0,o=n===`claude`?Dj.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?Hj:Bj(a,{withDefault:!1}),u=l.some(e=>e.value===c);return{backend:n,model:i,effort:c,codexModel:a,modelAvailable:o,effortAvailable:u,effortOptions:c&&!u?[{value:c,label:`${c} (unavailable)`,title:`Saved reasoning level is not available for this model`},...l]:l}}function Kj(){let e=Bu(),t=td({queryKey:[`dispatchPreferencesGet`],queryFn:()=>Z.dispatchPreferencesGet()}),n=td({queryKey:[`codexModels`],queryFn:()=>Z.codexModels()}),r=n.data??[],i=nd({mutationFn:e=>Z.dispatchPreferenceSet(e),scope:{id:`dispatch-preferences`},onMutate:t=>{let n=e.getQueryData([`dispatchPreferencesGet`]);n&&e.setQueryData([`dispatchPreferencesGet`],Uj(n,t))},onError:t=>{e.invalidateQueries({queryKey:[`dispatchPreferencesGet`]}),X(`Could not save new-thread preference: ${t.message.slice(0,80)}`)}}),a=!!t.data&&!!n.data;return{resolved:(0,z.useMemo)(()=>a?Gj(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var qj=`fray-drafts:v1`,Jj=80,Yj=512*1024,Xj=2*1024*1024,Zj=new TextEncoder;function Qj(e){return Zj.encode(e).byteLength}function $j(){return{version:1,entries:{}}}function eM(e){if(!e)return $j();try{let t=JSON.parse(e);if(!t||typeof t!=`object`||t.version!==1)return $j();let n=t.entries;if(!n||typeof n!=`object`||Array.isArray(n))return $j();let r={};for(let[e,t]of Object.entries(n))typeof t?.value!=`string`||typeof t?.touchedAt!=`number`||!Number.isFinite(t.touchedAt)||e.length>512||Qj(t.value)>Yj||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return $j()}}function tM(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&Qj(e.value)<=Yj).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=Jj)break;n[e]=r,Qj(JSON.stringify({version:1,entries:n}))>Xj&&delete n[e]}return{version:1,entries:n}}var nM=new class{snapshot;listeners=new Set;storage;constructor(e=typeof sessionStorage>`u`?void 0:sessionStorage){this.storage=e;let t=null;try{t=e?.getItem(`fray-drafts:v1`)??null}catch{}this.snapshot=tM(eM(t))}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));get(e){return this.snapshot.entries[e]?.value??``}set(e,t){let n={...this.snapshot.entries};t?n[e]={value:t,touchedAt:Date.now()}:delete n[e],this.commit({version:1,entries:n})}clear(e){this.snapshot.entries[e]&&this.commit({version:1,entries:Object.fromEntries(Object.entries(this.snapshot.entries).filter(([t])=>t!==e))})}commit(e){this.snapshot=e;try{this.storage?.setItem(qj,JSON.stringify(tM(e)))}catch{}for(let e of this.listeners)e()}};function rM(e){return encodeURIComponent(e||`unresolved-project`)}var iM={dispatch:(e,t)=>`dispatch:${rM(e)}:${encodeURIComponent(t??`new`)}`,followUp:(e,t,n)=>`followup:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${rM(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,settings:(e,t)=>`settings:${rM(e)}:${t}`};function aM(){return Yd(Y).board?.projectDir}function oM(e){return Yd(Y).board?.threads.find(t=>t.id===e)?.sessionId}function sM(e){return[(0,z.useSyncExternalStore)(nM.subscribe,nM.getSnapshot,nM.getSnapshot).entries[e]?.value??``,(0,z.useCallback)(t=>nM.set(e,t),[e]),(0,z.useCallback)(()=>nM.clear(e),[e])]}function cM(e){let t=(0,z.useSyncExternalStore)(nM.subscribe,nM.getSnapshot,nM.getSnapshot);return new Map(e.map(e=>[e,t.entries[e]?.value??``]))}function lM({autoFocus:e,onDispatched:t,planPath:n}){let{resolved:r,codexList:i,loadError:a,saveProfile:o}=Kj(),s=GA(),c=aM(),[l,u,d]=sM(iM.dispatch(c,n)),f=iM.dispatch(c,n),p=(0,z.useRef)(``),[m,h]=(0,z.useState)(null),g=td({queryKey:[`authStatus`],queryFn:()=>Z.authStatus(),staleTime:3e4}),[_,v]=(0,z.useState)(null),[y,b]=(0,z.useState)(null),x=(0,z.useRef)(null),S=nd({mutationFn:e=>Z.dispatch(e),onMutate:()=>X(`Starting thread…`,{spinner:!0,sticky:!0}),onSuccess:e=>{h(null),t?.(),X(`Thread started`,{link:{label:`Open thread`,slug:e.slug}})},onError:(e,t)=>{nM.get(f)||u(p.current||t.prompt),h(null);let n=/^AUTH_REQUIRED:(claude|codex)$/.exec(e.message);if(n){x.current=t,v(n[1]),X(`Signed out of ${n[1]===`claude`?`Claude`:`Codex`}`,{duration:3e3});return}X(`Dispatch failed: ${e.message.slice(0,80)}`)}});function C(e){p.current=l,d(),h(e.prompt),S.mutate(e)}function w(){if(!l.trim()||!r)return;let e=gj(l);if(e){d(),e===`login`?(x.current=null,v(r.backend)):b(r.backend);return}if(!r.modelAvailable){X(`Saved model is unavailable — choose a model before starting the thread`);return}if(!r.effortAvailable){X(`Saved reasoning level is unavailable for this model — choose another level`);return}let t={prompt:l.trim(),model:r.model,backend:r.backend,effort:r.effort,...n?{planPath:n}:{}};if(g.data?.[r.backend]===`signed-out`){x.current=t,v(r.backend);return}C(t)}let T=(0,z.useMemo)(()=>r?(0,B.jsx)(pj,{groups:Wj(i),value:{provider:r.backend,model:r.model,effort:r.effort},onValueChange:e=>o({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),ariaLabel:`Model and effort`,title:r.modelAvailable&&r.effortAvailable?`Model and reasoning effort`:`Saved model or reasoning effort unavailable — choose a supported pair`,className:`max-w-[min(21rem,72vw)]`}):(0,B.jsx)(pj,{groups:[],value:void 0,onValueChange:()=>{},placeholder:a?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort loading`,disabled:!0}),[r,i,a,o]);return(0,B.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,B.jsx)(UA,{surface:`newComposer`,autoFocus:e,value:l,onChange:u,onSubmit:w,placeholder:`Describe the task…`,minHeight:96,maxHeight:340,busy:S.isPending,footer:T,leftAction:s?(0,B.jsx)(KA,{}):void 0}),S.isError&&(0,B.jsx)(`span`,{className:`px-0.5 text-[11px] text-red-400 truncate`,children:S.error.message}),m&&(0,B.jsxs)(`div`,{"data-pending-dispatch":!0,role:`status`,className:`rounded-lg border border-border bg-panel-2 px-3 py-2.5`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted`,children:[(0,B.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 animate-pulse rounded-full bg-accent`,"aria-hidden":`true`}),(0,B.jsx)(`span`,{children:`Starting thread…`})]}),(0,B.jsx)(`p`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap text-[12px] leading-relaxed text-fg`,children:m})]}),_&&(0,B.jsx)(Sj,{backend:_,onClose:()=>v(null),onAuthed:()=>{let e=x.current;x.current=null,v(null),e&&C(e)}}),y&&(0,B.jsx)(Cj,{backend:y,onClose:()=>b(null)})]})}function uM({onClose:e}){let t=Yd(Y).newThreadPlanPath,n=t?t.split(`/`).pop():null,r=(0,z.useRef)(null),i=(0,z.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);return(0,z.useEffect)(()=>()=>{let e=i.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]),(0,B.jsx)(tA,{open:!0,onOpenChange:t=>{t||e()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{ref:r,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:dj,onCloseAutoFocus:e=>{e.preventDefault();let t=i.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault(),r.current?.querySelector(`textarea`)?.focus({preventScroll:!0})},className:`fixed left-1/2 top-1/2 z-50 w-[640px] max-w-[86vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsx)(vA,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),n&&(0,B.jsxs)(`p`,{className:`mb-3 text-[11.5px] text-muted/80`,children:[`From plan `,(0,B.jsx)(`span`,{className:`font-mono-keep text-muted`,children:n})]}),(0,B.jsx)(lM,{autoFocus:!0,onDispatched:e,planPath:t??void 0})]})]})})}function dM({children:e,onClose:t}){return(0,B.jsx)(`div`,{className:`fixed inset-0 z-[200] flex items-center justify-center bg-black/30 backdrop-blur-md backdrop-saturate-150`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:e})}var fM=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),pM=`VisuallyHidden`,mM=z.forwardRef((e,t)=>(0,B.jsx)(Gx.span,{...e,ref:t,style:{...fM,...e.style}}));mM.displayName=pM;var hM=mM,[gM,_M]=Sx(`Tooltip`,[Qw]),vM=Qw(),yM=`TooltipProvider`,bM=700,xM=`tooltip.open`,[SM,CM]=gM(yM),wM=e=>{let{__scopeTooltip:t,delayDuration:n=bM,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=z.useRef(!0),s=z.useRef(!1),c=z.useRef(0);return z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,B.jsx)(SM,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};wM.displayName=yM;var TM=`Tooltip`,[EM,DM]=gM(TM),OM=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=CM(TM,e.__scopeTooltip),l=vM(t),[u,d]=z.useState(null),f=NS(),p=z.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=z.useRef(!1),[_,v]=kx({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(xM))):c.onClose(),a?.(e)},caller:TM}),y=z.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=z.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return z.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,B.jsx)(mT,{...l,children:(0,B.jsx)(EM,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:z.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:z.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};OM.displayName=TM;var kM=`TooltipTrigger`,AM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=DM(kM,n),a=CM(kM,n),o=vM(n),s=xx(t,z.useRef(null),i.onTriggerChange),c=z.useRef(!1),l=z.useRef(!1),u=z.useCallback(()=>c.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,B.jsx)(hT,{asChild:!0,...o,children:(0,B.jsx)(Gx.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:vx(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:vx(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:vx(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:vx(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:vx(e.onBlur,i.onClose),onClick:vx(e.onClick,i.onClose)})})});AM.displayName=kM;var jM=`TooltipPortal`,[MM,NM]=gM(jM,{forceMount:void 0}),PM=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=DM(jM,t);return(0,B.jsx)(MM,{scope:t,forceMount:n,children:(0,B.jsx)(xT,{present:n||a.open,children:(0,B.jsx)(yT,{asChild:!0,container:i,children:r})})})};PM.displayName=jM;var FM=`TooltipContent`,IM=z.forwardRef((e,t)=>{let n=NM(FM,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=DM(FM,e.__scopeTooltip);return(0,B.jsx)(xT,{present:r||o.open,children:o.disableHoverableContent?(0,B.jsx)(VM,{side:i,...a,ref:t}):(0,B.jsx)(LM,{side:i,...a,ref:t})})}),LM=z.forwardRef((e,t)=>{let n=DM(FM,e.__scopeTooltip),r=CM(FM,e.__scopeTooltip),i=z.useRef(null),a=xx(t,i),[o,s]=z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=z.useCallback(()=>{s(null),d(!1)},[d]),p=z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=GM(r,WM(r,n.getBoundingClientRect())),a=KM(t.getBoundingClientRect()),o=JM([...i,...a]);s(o),d(!0)},[d]);return z.useEffect(()=>()=>f(),[f]),z.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),z.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!qM(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,B.jsx)(VM,{...e,ref:a})}),[RM,zM]=gM(TM,{isInside:!1}),BM=Px(`TooltipContent`),VM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=DM(FM,n),l=vM(n),{onClose:u}=c;return z.useEffect(()=>(document.addEventListener(xM,u),()=>document.removeEventListener(xM,u)),[u]),z.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,B.jsx)(rS,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,B.jsxs)(gT,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,B.jsx)(BM,{children:r}),(0,B.jsx)(RM,{scope:n,isInside:!0,children:(0,B.jsx)(hM,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});IM.displayName=FM;var HM=`TooltipArrow`,UM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=vM(n);return zM(HM,n).isInside?null:(0,B.jsx)(_T,{...i,...r,ref:t})});UM.displayName=HM;function WM(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function GM(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function KM(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function qM(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function JM(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),YM(t)}function YM(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var XM=wM,ZM=OM,QM=AM,$M=PM,eN=IM,tN=UM;function nN({children:e}){return(0,B.jsx)(XM,{delayDuration:0,skipDelayDuration:0,children:e})}function rN({label:e,children:t,side:n=`top`,clickable:r=!1,multiline:i=!1}){let a=i?`whitespace-pre-line`:`whitespace-normal`,[o,s]=(0,z.useState)(!1),c=(0,z.useId)(),l=r&&(0,z.isValidElement)(t)?t:null,u=l?(0,z.cloneElement)(l,{"aria-describedby":c}):t,d=(0,z.useRef)(null);if(l){let t=d.current?.getBoundingClientRect(),n=t?Math.min(Math.max(12,t.right+8),window.innerWidth-364):12,r=t?Math.min(Math.max(12,t.top-6),window.innerHeight-96):12;return(0,B.jsxs)(`span`,{ref:d,className:`inline-flex`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),onClick:()=>s(e=>!e),onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),s(!1))},children:[u,o&&(0,id.createPortal)((0,B.jsx)(`span`,{id:c,role:`tooltip`,className:`z-[250] max-w-[min(22rem,calc(100vw-1.5rem))] rounded-md border border-border bg-elevated px-3 py-2 text-[11px] leading-relaxed text-fg shadow-md shadow-black/40 break-words ${a}`,style:{position:`fixed`,left:n,top:r},children:e}),document.body)]})}return(0,B.jsxs)(ZM,{open:o,onOpenChange:s,children:[(0,B.jsx)(QM,{asChild:!0,children:u}),(0,B.jsx)($M,{children:(0,B.jsxs)(eN,{id:c,side:n,sideOffset:5,collisionPadding:12,className:`${Uk} max-w-[min(22rem,calc(100vw-1.5rem))] select-none rounded-md border border-border bg-elevated px-3 py-2 text-[11px] leading-relaxed text-fg shadow-md shadow-black/40 break-words ${a}`,children:[e,(0,B.jsx)(tN,{className:`fill-elevated`})]})})]})}var iN={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},aN={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function oN(e){return e===`claude`||e===`codex`?aN[e]:void 0}function sN({backend:e,className:t}){let n=oN(e);return n?(0,B.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${iN[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,B.jsx)(cN,{}):(0,B.jsx)(lN,{})}):null}function cN(){return(0,B.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,B.jsx)(`path`,{d:`M22.282 9.821a6 6 0 0 0-.516-4.91a6.05 6.05 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a6 6 0 0 0-3.998 2.9a6.05 6.05 0 0 0 .743 7.097a5.98 5.98 0 0 0 .51 4.911a6.05 6.05 0 0 0 6.515 2.9A6 6 0 0 0 13.26 24a6.06 6.06 0 0 0 5.772-4.206a6 6 0 0 0 3.997-2.9a6.06 6.06 0 0 0-.747-7.073M13.26 22.43a4.48 4.48 0 0 1-2.876-1.04l.141-.081l4.779-2.758a.8.8 0 0 0 .392-.681v-6.737l2.02 1.168a.07.07 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494M3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085l4.783 2.759a.77.77 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646M2.34 7.896a4.5 4.5 0 0 1 2.366-1.973V11.6a.77.77 0 0 0 .388.677l5.815 3.354l-2.02 1.168a.08.08 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.08.08 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667m2.01-3.023l-.141-.085l-4.774-2.782a.78.78 0 0 0-.785 0L9.409 9.23V6.897a.07.07 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.8.8 0 0 0-.393.681zm1.097-2.365l2.602-1.5l2.607 1.5v2.999l-2.597 1.5l-2.607-1.5Z`})})}function lN(){return(0,B.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,B.jsx)(`path`,{d:`m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z`})})}var uN=Gd({at:{}}),dN=12e3,fN=new Map;function pN(e,t=Date.now()){uN.at[e]=t;let n=fN.get(e);n!==void 0&&clearTimeout(n),fN.set(e,setTimeout(()=>{fN.delete(e),delete uN.at[e]},dN))}function mN(e){let t=fN.get(e);t!==void 0&&(clearTimeout(t),fN.delete(e)),delete uN.at[e]}function hN(e,t,n=Date.now()){if(t===void 0||n-t>12e3)return!1;let r=e.lastActivityAt?Date.parse(e.lastActivityAt):NaN;return!(Number.isFinite(r)&&r>t)}function gN(){return Yd(uN).at}function _N(e,t,n=Date.now()){return t===void 0||!hN(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,nativeInputRequired:void 0,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function vN(e){let t=gN();return(0,z.useMemo)(()=>e.map(e=>_N(e,t[e.id])),[e,t])}var yN=0;function bN(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(yN+=1,`browser-${Date.now()}-${yN}`)}function xN({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var SN=new Map;function CN(e,t){let n=(SN.get(e)??Promise.resolve()).then(t,t);return SN.set(e,n.then(()=>{},()=>{})),n}var wN=[300,800,1800,3500],TN=e=>new Promise(t=>{setTimeout(t,e)});async function EN(e,t,n=TN){for(let r=0;;r++){try{await e()}catch(e){if(r>=wN.length||!Og(e))throw e;t(),await n(wN[r]);continue}t();return}}function DN(e,t,n){return EN(()=>Z.followUp({slug:e,sessionId:xg(Y.board,e)?.sessionId??``,message:t,deliveryId:n}),()=>pN(e))}function ON(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=bN();return xN({optimistic:()=>{r.onOptimistic?.(),sv(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),pN(t),Z.markRead({slug:t}).catch(()=>{})},request:()=>CN(t,()=>DN(t,i,a)),success:()=>r.onSuccess?.(),failure:n=>{cv(e,t,i,a),mN(t),r.onRollback?.(),X(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,90)}`)}}),!0}function kN(e){let t=Bu(),[n,r]=(0,z.useState)(0);return{submit:(0,z.useCallback)((n,i={})=>ON(t,e,n,{...i,onOptimistic:()=>{r(e=>e+1),i.onOptimistic?.()},onSuccess:()=>{r(e=>Math.max(0,e-1)),i.onSuccess?.()},onRollback:()=>{r(e=>Math.max(0,e-1)),i.onRollback?.()}}),[t,e]),pending:n>0}}function AN(e,t){return new Promise(n=>{ON(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{X(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}var jN=.5;function MN(e,t,n=!1){let r=e.map(e=>({id:e.id,height:Math.max(0,e.bottom-e.top),visible:Math.min(e.bottom,t)-Math.max(e.top,0)})).filter(e=>e.visible>0);if(!r.length)return null;if(n)return r[r.length-1].id;let i=t*jN,a=r[0];for(let e of r)if(e.visible>a.visible&&(a=e),e.visible>=Math.min(i,e.height)&&e.visible>=a.visible)return e.id;return a.id}function NN(e,t,n,r){return!e||e.top<=r&&e.bottom>r?!0:Math.abs(t-n)>1}function PN(e,t,n,r,i=8){return n<e+i?n-e-i:r>t-i?r-t+i:0}function FN(){let e=Yd(Y),t=J_(),n=Ab(vN(X_(t?.threads??[])),Yd(Xy).queueOrder),r=t?.plans??[],i=e.sidebarCollapsed,a=n.active,o=n.held,s=n.inactive,c=(0,z.useRef)(null),[l,u]=(0,z.useState)(null),d=(0,z.useRef)(null),f=(0,z.useCallback)(()=>{let e=[...document.querySelectorAll(`[data-queue-card][data-queue-leaving="false"]`)].map(e=>{let t=e.dataset.queueCard;if(!t)return null;let{top:n,bottom:r}=(e.querySelector(`[data-queue-card-root]`)??e).getBoundingClientRect();return{id:t,top:n,bottom:r}}).filter(e=>e!==null),t=d.current;if(t)if(NN(e.find(e=>e.id===t.id),window.scrollY,t.landedY,12))d.current=null;else{u(t.id);return}let n=Math.max(0,document.documentElement.scrollHeight-window.innerHeight),r=n>0&&window.scrollY>=n-1,i=MN(e,window.innerHeight,r);u(e=>e===i?e:i)},[]);(0,z.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(f)};t(),document.addEventListener(`scroll`,t,{capture:!0,passive:!0}),window.addEventListener(`resize`,t);let n=document.getElementById(`workpane`),r=n?new ResizeObserver(t):null,i=n?new MutationObserver(t):null;return n&&r?.observe(n),n&&i?.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-queue-card`,`data-queue-leaving`,`style`,`class`]}),()=>{cancelAnimationFrame(e),document.removeEventListener(`scroll`,t,!0),window.removeEventListener(`resize`,t),r?.disconnect(),i?.disconnect()}},[f,e.view,e.drawers.length]),(0,z.useLayoutEffect)(()=>{let e=c.current;if(!e||!l||window.matchMedia(`(max-width: 800px)`).matches)return;let t=e.querySelector(`[data-sidebar-item="${CSS.escape(l)}"]`);if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=PN(n.top,n.bottom,r.top,r.bottom);Math.abs(i)>.5&&(e.scrollTop+=i)},[l]);let p=(0,z.useCallback)(e=>{d.current={id:e,landedY:window.scrollY},u(e)},[]);return(0,B.jsx)(`aside`,{className:`sticky top-0 self-start h-screen w-[clamp(320px,34vw,680px)] shrink-0 flex flex-col justify-center max-[800px]:static max-[800px]:h-auto max-[800px]:w-full max-[800px]:justify-start max-[800px]:pt-16`,children:(0,B.jsxs)(`div`,{className:`flex max-h-[calc(100vh-88px)] min-h-0 min-w-0 w-full flex-col max-[800px]:max-h-none`,children:[(0,B.jsx)(`div`,{className:`mb-5 shrink-0 px-0.5`,children:(0,B.jsx)(lM,{})}),(0,B.jsxs)(`div`,{ref:c,"data-sidebar-rail":!0,className:`min-h-0 min-w-0 overflow-y-auto overflow-x-hidden max-[800px]:overflow-y-visible`,children:[a.length>0?(()=>{let{running:e,rested:t}=kb(a),n=e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id);return(0,B.jsxs)(B.Fragment,{children:[e.map(n),e.length>0&&t.length>0&&(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),t.map(n)]})})():(0,B.jsx)(`div`,{className:`py-1 pl-5 pr-1.5 text-[11.5px] text-muted/50`,children:`No active threads`}),o.length>0&&(0,B.jsxs)(`section`,{"aria-label":`Held`,children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Held`,count:o.length}),o.map(e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id))]}),s.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Done`,count:s.length,collapsed:i.inactive,onToggle:()=>Y.sidebarCollapsed.inactive=!Y.sidebarCollapsed.inactive}),!i.inactive&&s.map(e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id))]}),r.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Plans`,count:r.length,collapsed:i.plans,onToggle:()=>Y.sidebarCollapsed.plans=!Y.sidebarCollapsed.plans}),!i.plans&&r.map(e=>(0,B.jsx)(UN,{plan:e},e.path))]})]})]})})}function IN({label:e,count:t,collapsed:n,onToggle:r}){let i=(0,B.jsxs)(B.Fragment,{children:[r?(0,B.jsx)(Mv,{size:11,className:`transition-transform ${n?``:`rotate-90`}`}):(0,B.jsx)(`span`,{className:`w-[11px] shrink-0`,"aria-hidden":!0}),(0,B.jsx)(`span`,{children:e}),(0,B.jsx)(`span`,{className:`ml-1.5 tabular-nums text-muted/60`,children:t})]}),a=`flex w-full items-center gap-1 px-1.5 py-1 text-[11px] uppercase tracking-wide text-muted/70`;return r?(0,B.jsx)(`button`,{onClick:r,className:`${a} transition-colors hover:text-fg`,children:i}):(0,B.jsx)(`div`,{className:a,children:i})}var LN=16,RN=12;function zN({title:e,children:t}){let n=e.trimEnd(),r=n.lastIndexOf(` `)+1,i=n.length-r<=LN?r:n.length-RN;return i>=n.length?(0,B.jsxs)(B.Fragment,{children:[e,t]}):(0,B.jsxs)(B.Fragment,{children:[n.slice(0,i),(0,B.jsxs)(`span`,{className:`whitespace-nowrap`,children:[n.slice(i),t]})]})}var BN=(0,z.memo)(function({t:e,legacy:t,active:n=!1,onQueueNavigate:r}){let i=!t&&e.foreign===!0,a=!t&&xb(e),o=!t&&sb(e),s=!t&&Tb(e),c=t?void 0:bb(e),l=a?null:c?`${e.snoozePrompt?`BUMPS`:`SNOOZED`} · ${Ry(c)}`:!t&&e.lastFence?.kind===`awaiting`?GN(e.lastFence.hints):null,u=!a&&(!!e.activity||l!==null);return(0,B.jsxs)(`div`,{"data-sidebar-item":e.id,className:`group relative flex min-w-0 items-start rounded-md transition-[color,background-color,opacity] hover:bg-white/[0.04] ${t?`opacity-80`:a?`opacity-65 hover:opacity-90 focus-within:opacity-90`:``}`,children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-sidebar-marker-rail":!0,className:`pointer-events-none absolute inset-y-0 left-0 w-5`,children:n&&(0,B.jsx)(`span`,{"data-sidebar-scroll-marker":!0,className:`absolute inset-y-0 left-1 w-[2px] rounded-full bg-accent`})}),(0,B.jsxs)(`button`,{onClick:()=>{if(e.needsYou&&lg(e.id)){r?.(e.id);return}cg(e.id)},"aria-current":n?`location`:void 0,className:`min-w-0 flex-1 flex items-start gap-2 pb-1 pl-5 pr-1.5 pt-1 text-left`,children:[(0,B.jsx)(`span`,{className:`w-4 h-[19px] shrink-0 flex items-center justify-center`,children:(0,B.jsx)(qN,{t:e,legacy:t})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 flex flex-col`,children:[(0,B.jsx)(`span`,{className:`break-words text-[13px] leading-[19px] ${o?`text-fg/50`:a?`text-fg/75`:`text-fg/90`}`,children:(0,B.jsxs)(zN,{title:eb(e),children:[!t&&(0,B.jsx)(sN,{backend:e.backend,className:`ml-1`}),i&&(0,B.jsx)(`span`,{className:`petite-caps ml-1.5 inline-block rounded border border-border/60 px-1 align-[2px] text-[9.5px] leading-[14px] text-muted/55`,title:`Read-only — running in an external terminal`,children:`terminal`}),t&&(0,B.jsx)(WN,{status:e.archived?`archived`:e.status})]})}),u&&(0,B.jsxs)(`span`,{className:`mt-0.5 flex flex-col gap-0.5 min-w-0 text-[11.5px] leading-[15px]`,children:[l&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-muted/70`,title:l,children:l}),e.activity&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-muted/70`,title:e.activity,children:e.activity})]})]})]}),t&&(0,B.jsx)(`div`,{className:`absolute right-1 top-1 hidden group-hover:flex items-stretch rounded-md bg-panel shadow-sm shadow-black/30`,children:(0,B.jsx)(Yk,{slug:e.id,size:`sm`})}),s&&(0,B.jsx)(VN,{slug:e.id})]})});function VN({slug:e}){let t=Bu(),[n,r]=(0,z.useState)(!1);return(0,B.jsx)(rN,{label:`Retry — resume this session where it left off`,children:(0,B.jsx)(`button`,{"data-sidebar-retry":e,"aria-label":`Retry exited session`,disabled:n,onMouseDown:e=>e.preventDefault(),onClick:n=>{n.stopPropagation(),r(!0),AN(t,e).finally(()=>r(!1))},className:`absolute right-1.5 top-1 hidden h-[19px] w-[19px] items-center justify-center rounded bg-panel text-muted/70 outline-none transition-colors group-hover:flex group-focus-within:flex hover:bg-panel-2 hover:text-fg disabled:opacity-50`,children:n?(0,B.jsx)(iy,{size:13,className:`animate-spin`}):(0,B.jsx)(fy,{size:13})})})}function HN({t:e}){let t=fx(e.subAgents??[],`rail`);return t.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-col`,children:t.map(t=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`rail`,depth:t.depth,startedAt:t.startedAt,parentSlug:e.id,onOpen:()=>og(e.id,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}),onDismiss:_x(e.id,t),title:t.subagentType?`[${t.subagentType}] ${t.label}`:t.label},t.id))})}function UN({plan:e}){let t=e.threadIds?.length??0;return(0,B.jsx)(`div`,{className:`group relative flex min-w-0 items-start rounded-md transition-colors hover:bg-white/[0.04]`,children:(0,B.jsxs)(`button`,{onClick:()=>fg(e.path,e.title),className:`min-w-0 flex-1 flex items-start gap-2 py-1 pl-5 pr-1.5 text-left`,title:t?`${t} thread${t===1?``:`s`} from this plan`:void 0,children:[(0,B.jsx)(`span`,{className:`w-4 h-[19px] shrink-0 flex items-center justify-center`,children:(0,B.jsx)(Wv,{size:12,className:`text-muted/60`})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 break-words text-[13px] leading-[19px] text-fg/90`,children:[e.title,t>0&&(0,B.jsx)(`span`,{className:`ml-1.5 tabular-nums text-[10.5px] text-muted/45`,children:t})]})]})})}function WN({status:e}){let t=e===`archived`?`Done`:e;return(0,B.jsx)(`span`,{className:`petite-caps ml-1.5 inline-block rounded border px-1 align-[2px] leading-[14px] text-[9.5px] ${$y[e]??`text-muted border-border`}`,children:t})}function GN(e){let t=yb(e)??e.find(e=>e.kind===`pr`||e.kind===`ci`);return t?t.kind===`timer`?By(t.value)??`Timer schedule unavailable`:`${t.kind===`pr`?`PR`:t.kind===`ci`?`CI`:t.kind===`human`?`HUMAN`:t.kind===`pr-watch`?`WATCH`:t.kind} ${t.value}`:null}var KN=7;function qN({t:e,legacy:t}){let{node:n,tip:r}=t?ZN(e):JN(e);return r?(0,B.jsx)(rN,{label:r,side:`left`,children:(0,B.jsx)(`span`,{className:`flex items-center justify-center`,children:n})}):n}function JN(e){let t=wb(e);if(t===`archived`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Av,{size:10,strokeWidth:3,className:`text-muted/75`})}),tip:`Done`};if(t===`needs-input`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(XN,{ch:`?`,muted:!0})}),tip:`Needs your input`};if(t===`working`)return{node:(0,B.jsx)(jb,{}),tip:`Working`};if(t===`done`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Av,{size:10,strokeWidth:3,className:`text-muted/75`})}),tip:`Done`};if(t===`stalled`){let t=e.crashed===!0?`Stalled — the agent exited mid-turn`:`Stalled — the agent's process exited`;return{node:(0,B.jsx)(YN,{accent:!0,children:(0,B.jsx)(XN,{ch:`!`})}),tip:t}}if(t===`held`){let t=(0,B.jsx)(YN,{children:(0,B.jsx)($v,{size:9,className:`text-muted/70`})}),n=bb(e);if(n)return{node:t,tip:Uy(n,e.snoozePrompt)??`Snoozed until a scheduled check`};if(e.limitPause?.autoResume){let n=e.limitPause.window===`weekly`?`weekly limit`:`session limit`,r=e.limitPause.resumesAt?Wy(new Date(e.limitPause.resumesAt*1e3).toISOString()):null;return{node:t,tip:r?`${r} — ${n} reached`:`Auto-snoozed until the ${n} resets`}}if(e.lastFence?.kind!==`awaiting`)return{node:t,tip:(typeof e.revalidate==`string`?Wy(e.revalidate):null)??`Auto-snoozed until a scheduled check`};let r=yb(e.lastFence.hints);if(r?.kind===`human`)return{node:t,tip:`Waiting on a human review or approval`};if(r?.kind===`timer`)return{node:t,tip:Wy(r.value)??`Auto-snoozed until a scheduled check`};let i=e.lastFence.hints[0]?.kind;return i===`pr`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Zv,{size:9,className:`text-muted/70`})}),tip:`Legacy PR wait — active monitoring is not armed`}:i===`ci`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(zv,{size:9,className:`text-muted/70`})}),tip:`Legacy CI wait — active monitoring is not armed`}:i===`session`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Iv,{size:10,className:`text-muted/70`})}),tip:`Waiting on another session`}:{node:(0,B.jsx)(YN,{children:(0,B.jsx)(zv,{size:9,className:`text-muted/70`})}),tip:`Waiting on a machine`}}return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Vv,{size:11,className:`text-muted/70`})}),tip:`At rest`}}function YN({accent:e,children:t}){return(0,B.jsx)(`span`,{className:`inline-flex items-center justify-center rounded-[4px] border ${e?`border-accent/90`:`border-muted/45`}`,style:{width:15,height:15},children:t})}function XN({ch:e,muted:t}){return(0,B.jsx)(`span`,{"aria-hidden":!0,className:`font-bold leading-none ${t?`text-muted/70`:`text-accent`}`,style:{fontSize:10},children:e})}function ZN(e){if(e.runtime===`running`||e.runtime===`spawning`||e.runtime===`perm-prompt`)return{node:(0,B.jsx)(QN,{}),tip:`Working`};let t=(e.subAgents??[]).some(e=>e.state===`running`);return e.runtime===`turn-idle`&&t&&!e.humanBlocked?{node:(0,B.jsx)(QN,{}),tip:`Working`}:cb(e)?{node:(0,B.jsx)($N,{}),tip:`Needs your input`}:e.status===`needs-human`?{node:(0,B.jsx)(eP,{}),tip:`Awaiting you — open to read & reply`}:e.status===`blocked`&&e.mechanism===`timer`?{node:(0,B.jsx)(by,{size:8,className:`text-muted/70`}),tip:`Waiting on a timer`}:e.status===`blocked`&&e.mechanism===`threads`?{node:(0,B.jsx)(Iv,{size:8,className:`text-muted/70`}),tip:`Waiting on other work`}:{node:(0,B.jsx)(tP,{}),tip:null}}function QN(){return(0,B.jsx)(`span`,{className:`block rounded-full border border-muted/70 border-t-transparent animate-spin`,style:{width:8,height:8}})}function $N(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-sky-400`,style:{width:KN,height:KN}})}function eP(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-yellow-400`,style:{width:KN,height:KN}})}function tP(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-muted/30`,style:{width:KN,height:KN}})}function nP(e){if(!e)return{state:`loading`};let t=e.projectLabel.trim(),n=t.lastIndexOf(`/`),r=n===-1?``:t.slice(0,n).trim(),i=n===-1?``:t.slice(n+1).trim();return r&&i?{state:`verified`,label:t,owner:r,repo:i}:{state:`unavailable`}}function rP({identity:e,state:t,boardFallback:n}){let r={open:{cls:`bg-live`,word:`connected`},connecting:{cls:`bg-accent`,word:`connecting…`},closed:{cls:`bg-red-500`,word:`disconnected`}}[t],i=t===`open`&&!!n,a=i?`connected through SSE fallback`:r.word,o=e.state===`verified`?`Project: ${e.label}; ${a}`:e.state===`loading`?`Project identity loading; ${a}`:`Project identity unavailable; ${a}`;return(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 max-w-full text-[12px]`,"data-project-identity-state":e.state,"aria-label":o,"aria-busy":e.state===`loading`||void 0,children:[(0,B.jsx)(`span`,{className:`identity-slot ${e.state===`verified`?`identity-slot--resolved`:`identity-slot--placeholder`}`,children:e.state===`verified`?(0,B.jsxs)(`span`,{className:`block min-w-0 truncate`,title:e.label,children:[(0,B.jsx)(`span`,{className:`text-muted`,children:e.owner}),(0,B.jsx)(`span`,{className:`text-muted/60 ml-0.5 mr-1`,children:`/`}),(0,B.jsx)(`span`,{className:`font-semibold text-fg/90`,children:e.repo})]}):(0,B.jsx)(`span`,{className:`identity-placeholder`,"aria-hidden":`true`})}),(0,B.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,"data-board-sync-fallback":i||void 0,title:i?`Board payload exceeded the live socket limit; connected through SSE`:void 0,children:[(0,B.jsx)(`span`,{className:`w-1.5 h-1.5 shrink-0 rounded-full ${r.cls}`}),(0,B.jsx)(`span`,{className:`text-[10.5px] text-muted/70`,children:i?`connected · SSE fallback`:r.word})]})]})}var iP=`inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-fg/75 outline-none transition-colors hover:bg-elevated hover:text-fg focus-visible:ring-1 focus-visible:ring-border-strong disabled:opacity-55`;typeof window<`u`&&window.document&&window.document.createElement;function aP(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function oP(e,t=[]){let n=[];function r(t,r){let i=z.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=z.useMemo(()=>o,Object.values(o));return(0,B.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=z.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>z.createContext(e));return function(n){let r=n?.[e]||t;return z.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,sP(i,...t)]}function sP(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return z.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var cP=`DismissableLayer`,lP=`dismissableLayer.update`,uP=`dismissableLayer.pointerDownOutside`,dP=`dismissableLayer.focusOutside`,fP,pP=z.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),mP=z.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=z.useContext(pP),[d,f]=z.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=z.useState({}),h=xx(t,f),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=_?g.indexOf(_):-1,y=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,x=y>=v,S=z.useRef(!1),C=vP(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:S,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:z.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return x&&!t},[u.branches,x])}),w=yP(e=>{if(r&&S.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),T=d?y===g.length-1:!1,E=Xx(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return z.useEffect(()=>{if(T)return p.addEventListener(`keydown`,E,{capture:!0}),()=>p.removeEventListener(`keydown`,E,{capture:!0})},[p,T,E]),z.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(fP=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),bP(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=fP))}},[d,p,n,u]),z.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),bP())},[d,u]),z.useEffect(()=>{let e=()=>m({});return document.addEventListener(lP,e),()=>document.removeEventListener(lP,e)},[]),(0,B.jsx)(Gx.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:aP(e.onFocusCapture,w.onFocusCapture),onBlurCapture:aP(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:aP(e.onPointerDownCapture,C.onPointerDownCapture)})});mP.displayName=cP;var hP=`DismissableLayerBranch`,gP=z.forwardRef((e,t)=>{let n=z.useContext(pP),r=z.useRef(null),i=xx(t,r);return z.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,B.jsx)(Gx.div,{...e,ref:i})});gP.displayName=hP;var _P=()=>!0;function vP(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=_P}=t,s=Xx(e),c=z.useRef(!1),l=z.useRef(!1),u=z.useRef(new Map),d=z.useRef(()=>{});return z.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}function t(){return Array.from(u.current.values()).some(Boolean)}function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}function p(e){l.current&&u.current.set(e.type,!1)}let m=a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||xP(uP,s,p,{discrete:!0})};if(!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:()=>c.current=!0}}function yP(e,t=globalThis?.document){let n=Xx(e),r=z.useRef(!1);return z.useEffect(()=>{let e=e=>{e.target&&!r.current&&xP(dP,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function bP(){let e=new CustomEvent(lP);document.dispatchEvent(e)}function xP(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Kx(i,a):i.dispatchEvent(a)}var SP=`focusScope.autoFocusOnMount`,CP=`focusScope.autoFocusOnUnmount`,wP={bubbles:!1,cancelable:!0},TP=`FocusScope`,EP=z.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=z.useState(null),l=Xx(i),u=Xx(a),d=z.useRef(null),f=xx(t,c),p=z.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;z.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:NP(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||NP(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&NP(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),z.useEffect(()=>{if(s){PP.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(SP,wP);s.addEventListener(SP,l),s.dispatchEvent(t),t.defaultPrevented||(DP(LP(kP(s)),{select:!0}),document.activeElement===e&&NP(s))}return()=>{s.removeEventListener(SP,l),setTimeout(()=>{let t=new CustomEvent(CP,wP);s.addEventListener(CP,u),s.dispatchEvent(t),t.defaultPrevented||NP(e??document.body,{select:!0}),s.removeEventListener(CP,u),PP.remove(p)},0)}}},[s,l,u,p]);let m=z.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=OP(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&NP(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&NP(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,B.jsx)(Gx.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});EP.displayName=TP;function DP(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(NP(r,{select:t}),document.activeElement!==n)return}function OP(e){let t=kP(e);return[AP(t,e),AP(t.reverse(),e)]}function kP(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function AP(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):jP(r,{upTo:t})))return r}function jP(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function MP(e){return e instanceof HTMLInputElement&&`select`in e}function NP(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&MP(e)&&t&&e.select()}}var PP=FP();function FP(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=IP(e,t),e.unshift(t)},remove(t){e=IP(e,t),e[0]?.resume()}}}function IP(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function LP(e){return e.filter(e=>e.tagName!==`A`)}var RP=`Popper`,[zP,BP]=oP(RP),[VP,HP]=zP(RP),UP=e=>{let{__scopePopper:t,children:n}=e,[r,i]=z.useState(null),[a,o]=z.useState(void 0);return(0,B.jsx)(VP,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};UP.displayName=RP;var WP=`PopperAnchor`,GP=z.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=HP(WP,n),o=z.useRef(null),s=a.onAnchorChange,c=xx(t,z.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=z.useRef(null);z.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&tF(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,B.jsx)(Gx.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});GP.displayName=WP;var KP=`PopperContent`,[qP,JP]=zP(KP),YP=z.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=HP(KP,n),[_,v]=z.useState(null),y=xx(t,v),[b,x]=z.useState(null),S=Yw(b),C=S?.width??0,w=S?.height??0,T=r+(a===`center`?``:`-`+a),E=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(l)?l:[l],O=D.length>0,ee={padding:E,boundary:D.filter($P),altBoundary:O},{refs:k,floatingStyles:A,placement:j,isPositioned:M,middlewareData:N}=Lw({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>Cw(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[zw({mainAxis:i+w,alignmentAxis:o}),c&&Bw({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Vw():void 0,...ee}),c&&Hw({...ee}),Uw({...ee,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&Gw({element:b,padding:s}),eF({arrowWidth:C,arrowHeight:w}),f&&Ww({strategy:`referenceHidden`,...ee,boundary:O?ee.boundary:void 0})]}),te=g.setPlacementState;wx(()=>(te(j),()=>{te(void 0)}),[j,te]);let[P,ne]=tF(j),re=Xx(m);wx(()=>{M&&re?.()},[M,re]);let ie=N.arrow?.x,ae=N.arrow?.y,oe=N.arrow?.centerOffset!==0,[se,ce]=z.useState();return wx(()=>{_&&ce(window.getComputedStyle(_).zIndex)},[_]),(0,B.jsx)(`div`,{ref:k.setFloating,"data-radix-popper-content-wrapper":``,style:{...A,transform:M?A.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[N.transformOrigin?.x,N.transformOrigin?.y].join(` `),...N.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,B.jsx)(qP,{scope:n,placedSide:P,placedAlign:ne,onArrowChange:x,arrowX:ie,arrowY:ae,shouldHideArrow:oe,children:(0,B.jsx)(Gx.div,{"data-side":P,"data-align":ne,...h,ref:y,style:{...h.style,animation:M?void 0:`none`}})})})});YP.displayName=KP;var XP=`PopperArrow`,ZP={top:`bottom`,right:`left`,bottom:`top`,left:`right`},QP=z.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=JP(XP,n),a=ZP[i.placedSide];return(0,B.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,B.jsx)(Jw,{...r,ref:t,style:{...r.style,display:`block`}})})});QP.displayName=XP;function $P(e){return e!==null}var eF=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=tF(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function tF(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var nF=UP,rF=GP,iF=YP,aF=QP;function oF(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var sF=e=>{let{present:t,children:n}=e,r=cF(t),i=typeof n==`function`?n({present:r.isPresent}):z.Children.only(n),a=uF(r.ref,fF(i));return typeof n==`function`||r.isPresent?z.cloneElement(i,{ref:a}):null};sF.displayName=`Presence`;function cF(e){let[t,n]=z.useState(),r=z.useRef(null),i=z.useRef(e),a=z.useRef(`none`),o=z.useRef(void 0),[s,c]=oF(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return z.useEffect(()=>{s===`mounted`?(a.current=o.current??dF(r.current),o.current=void 0):a.current=`none`},[s]),wx(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=dF(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),wx(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=dF(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=dF(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:z.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=dF(t)}else r.current=null;n(e)},[])}}function lF(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function uF(...e){let t=z.useRef(e);return t.current=e,z.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=lF(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():lF(n[e],null)}}},[])}function dF(e){return e?.animationName||`none`}function fF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var pF=`Popover`,[mF,hF]=oP(pF,[BP]),gF=BP(),[_F,vF]=mF(pF),yF=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=gF(t),c=z.useRef(null),[l,u]=z.useState(!1),[d,f]=kx({prop:r,defaultProp:i??!1,onChange:a,caller:pF});return(0,B.jsx)(nF,{...s,children:(0,B.jsx)(_F,{scope:t,contentId:NS(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:z.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:z.useCallback(()=>u(!0),[]),onCustomAnchorRemove:z.useCallback(()=>u(!1),[]),modal:o,children:n})})};yF.displayName=pF;var bF=`PopoverAnchor`,xF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(bF,n),a=gF(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return z.useEffect(()=>(o(),()=>s()),[o,s]),(0,B.jsx)(rF,{...a,...r,ref:t})});xF.displayName=bF;var SF=`PopoverTrigger`,CF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(SF,n),a=gF(n),o=xx(t,i.triggerRef),s=(0,B.jsx)(Gx.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":RF(i.open),...r,ref:o,onClick:aP(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,B.jsx)(rF,{asChild:!0,...a,children:s})});CF.displayName=SF;var wF=`PopoverPortal`,[TF,EF]=mF(wF,{forceMount:void 0}),DF=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=vF(wF,t);return(0,B.jsx)(TF,{scope:t,forceMount:n,children:(0,B.jsx)(sF,{present:n||a.open,children:(0,B.jsx)(yT,{asChild:!0,container:i,children:r})})})};DF.displayName=wF;var OF=`PopoverContent`,kF=z.forwardRef((e,t)=>{let n=EF(OF,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=vF(OF,e.__scopePopover);return(0,B.jsx)(sF,{present:r||a.open,children:a.modal?(0,B.jsx)(jF,{...i,ref:t}):(0,B.jsx)(MF,{...i,ref:t})})});kF.displayName=OF;var AF=Mx(`PopoverContent.RemoveScroll`),jF=z.forwardRef((e,t)=>{let n=vF(OF,e.__scopePopover),r=z.useRef(null),i=xx(t,r),a=z.useRef(!1);return z.useEffect(()=>{let e=r.current;if(e)return nE(e)},[]),(0,B.jsx)(dD,{as:AF,allowPinchZoom:!0,children:(0,B.jsx)(NF,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:aP(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:aP(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:aP(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),MF=z.forwardRef((e,t)=>{let n=vF(OF,e.__scopePopover),r=z.useRef(!1),i=z.useRef(!1);return(0,B.jsx)(NF,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),NF=z.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=vF(OF,n),p=gF(n);return pS(),(0,B.jsx)(EP,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,B.jsx)(mP,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,B.jsx)(iF,{"data-state":RF(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),PF=`PopoverClose`,FF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(PF,n);return(0,B.jsx)(Gx.button,{type:`button`,...r,ref:t,onClick:aP(e.onClick,()=>i.onOpenChange(!1))})});FF.displayName=PF;var IF=`PopoverArrow`,LF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=gF(n);return(0,B.jsx)(aF,{...i,...r,ref:t})});LF.displayName=IF;function RF(e){return e?`open`:`closed`}var zF=yF,BF=CF,VF=DF,HF=kF;function UF({modal:e=!1,...t}){return(0,B.jsx)(zF,{modal:e,...t})}var WF=BF;function GF({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,B.jsx)(VF,{children:(0,B.jsx)(HF,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${zk} ${Uk} rounded-lg outline-none ${i}`,...a,children:e})})}var KF=3e4,qF=45e3;function JF(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}function YF(){let e=Bu(),t=(0,z.useRef)(null),[n,r]=(0,z.useState)(!1),i=td({queryKey:[`quota`],queryFn:({signal:e})=>Z.quota(void 0,{signal:JF(KF,e)}),refetchInterval:e=>{let t=e.state.data;return!t||t.claude.status!==`ok`||t.codex.status!==`ok`?15e3:3e4},staleTime:1e4,refetchOnWindowFocus:!0}),a=td({queryKey:[`authStatus`],queryFn:({signal:e})=>Z.authStatus(void 0,{signal:JF(KF,e)}),refetchInterval:12e4,staleTime:3e4,refetchOnWindowFocus:!0}),o=n=>{if(t.current)return;r(!0);let i=Promise.all([Z.quota({force:n===`claude`},{signal:JF(qF)}).then(t=>e.setQueryData([`quota`],t)),e.refetchQueries({queryKey:[`authStatus`]})]).then(()=>{}).catch(()=>{}).finally(()=>{t.current=null,r(!1)});t.current=i};return(0,B.jsxs)(`div`,{"data-quota-bar":!0,className:`flex shrink-0 items-center gap-2.5 text-[11px]`,children:[(0,B.jsx)(XF,{backend:`claude`,quota:i.data?.claude,auth:a.data?.claude,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`claude`)}),(0,B.jsx)(XF,{backend:`codex`,quota:i.data?.codex,auth:a.data?.codex,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`codex`)})]})}function XF({backend:e,quota:t,auth:n,loading:r,fetching:i,onRecheck:a}){let o=hj[e],[s,c]=(0,z.useState)(!1);if(!t&&r)return(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-muted/45`,children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:`··`})]});let l=n===`signed-out`,u=!t||t.status!==`ok`||t.windows.length===0,d=t?.detail??`quota unavailable`,f=u?void 0:$F(t.windows),p=f?ZF(100-f.usedPercent):0,m=l||u;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(UF,{onOpenChange:e=>{e&&a()},children:[(0,B.jsx)(WF,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":l?`${o}: signed out`:u?`${o} quota: ${d}`:`${o} quota: ${p}% remaining`,className:`flex items-center gap-1.5 min-w-0 rounded outline-none transition-opacity hover:opacity-80 focus-visible:ring-1 focus-visible:ring-border-strong`,children:m?(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-muted/45`,children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:`—`})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsxs)(`span`,{className:`tabular-nums ${eI(p)}`,children:[p,`%`]})]})})}),(0,B.jsxs)(GF,{side:`bottom`,align:`start`,className:`w-[min(15rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,children:[(0,B.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(sN,{backend:e}),(0,B.jsx)(`span`,{children:o}),!l&&t?.planType&&(0,B.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,tI(t.planType),` plan`]}),i&&(0,B.jsx)(iy,{size:11,className:`animate-spin text-muted/60`,"aria-label":`Rechecking`})]}),l?(0,B.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,B.jsxs)(`div`,{className:`text-muted/80`,children:[`Signed out of `,o,`.`]}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>c(!0),className:`self-start rounded-md bg-accent px-2.5 py-1 text-[11px] font-medium text-white outline-none transition-opacity hover:opacity-90`,children:`Sign in`})]}):u?(0,B.jsx)(`div`,{className:`text-muted/80`,children:d}):(0,B.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[t.windows.map(e=>{let t=ZF(100-e.usedPercent),n=nI(e);return(0,B.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,B.jsx)(`span`,{className:`text-muted/80`,children:e.label}),(0,B.jsxs)(`span`,{className:`flex items-center gap-2 tabular-nums`,children:[(0,B.jsxs)(`span`,{className:eI(t),children:[t,`% left`]}),n&&(0,B.jsxs)(`span`,{className:`text-muted/55`,children:[`resets `,n]})]})]},e.key)}),t.detail&&(0,B.jsx)(`li`,{className:`pt-1 text-muted/55`,children:t.detail})]})]})]}),s&&(0,B.jsx)(Sj,{backend:e,onClose:()=>c(!1),onAuthed:()=>{c(!1),a()}})]})}function ZF(e){return Math.max(0,Math.min(100,Math.round(e)))}var QF=25;function $F(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function eI(e){return e<=8?`text-red-400`:e<=QF?`text-accent`:`text-fg/70`}function tI(e){return e&&e[0].toUpperCase()+e.slice(1)}function nI(e){if(!e.resetsAt)return null;let t=e.resetsAt*1e3,n=new Date(t);if(Number.isNaN(n.getTime()))return null;let r=t-Date.now();if(r<=0)return null;if(r<24*36e5){let e=n.getHours(),t=n.getMinutes(),r=e>=12?`pm`:`am`;return e=e%12||12,t===0?`${e}${r}`:`${e}:${String(t).padStart(2,`0`)}${r}`}return n.toLocaleDateString(void 0,{weekday:`short`})}var rI=`fray:supervisor-status-wake`;function iI(e){return e!==null}function aI(e){return e?.updateRestart===!0}async function oI(e=fetch){try{let t=await e(`/_fray/control/status`,{headers:{"cache-control":`no-store`}});if(!t.ok||!t.headers.get(`content-type`)?.includes(`application/json`))return null;let n=await t.json();return n.protocol===1&&(n.state===`ready`||n.state===`restarting`||n.state===`failed`)?n:null}catch{return null}}async function sI(e,t){let n=await t(e,{method:`POST`,headers:{"cache-control":`no-store`}}),r;try{r=await n.json()}catch{}if(!n.headers.get(`content-type`)?.includes(`application/json`)||!r||r.protocol!==1||r.state!==`ready`&&r.state!==`restarting`&&r.state!==`failed`)throw Error(`Fray restart controls are unavailable for this server`);if(!n.ok)throw Error(r.message??`Restart request failed (${n.status})`);if(r.state===`failed`)throw Error(r.message??`Fray did not become ready`);return r}function cI(e=fetch){return sI(`/_fray/control/restart`,e)}function lI(e=fetch){return sI(`/_fray/control/update-restart`,e)}var uI=`Install the latest version of Fray. Your running threads will not be affected.`,dI=`Restart the Fray UI. Your running threads will not be affected.`;function fI({open:e,update:t}){if(!e)return null;let n=t?`Update Fray`:`Restart Fray`;return(0,B.jsxs)(`div`,{id:`update-restart-popover`,role:`tooltip`,"aria-label":n,className:`fixed left-3 right-3 top-12 z-50 w-auto rounded-xl border border-border-strong bg-elevated p-3.5 text-left font-sans shadow-xl shadow-black/45 sm:absolute sm:right-auto sm:left-0 sm:top-[calc(100%+0.65rem)] sm:w-[min(23rem,calc(100vw-1.5rem))]`,children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -top-1.5 left-1.5 h-3 w-3 rotate-45 border-l border-t border-border-strong bg-elevated`}),(0,B.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,B.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-fg/10 text-fg`,children:(0,B.jsx)(dy,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,B.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:n})]}),(0,B.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:t?uI:dI})]})}function pI({update:e,busy:t,onFocus:n,onBlur:r,onClick:i}){return(0,B.jsx)(`button`,{type:`button`,"aria-describedby":`update-restart-popover`,"aria-label":e?`Update Fray`:`Restart Fray`,disabled:t,"aria-busy":t||void 0,className:iP,onFocus:n,onBlur:r,onClick:i,children:(0,B.jsx)(dy,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0})})}function mI(){let[e,t]=(0,z.useState)(!1),[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null);if((0,z.useEffect)(()=>{let e=!0;return oI().then(t=>{e&&(s(iI(t)),l(aI(t)))}),()=>{e=!1}},[]),o!==!0)return null;let d=async()=>{if(n)return;t(!1),r(!0),a(void 0);let e=`${window.location.pathname}${window.location.search}${window.location.hash}`;c&&(Y.controlPlaneState=`restarting`,Y.controlPlaneMessage=null,Y.controlPlaneRestartPending=!0);try{c?await lI():await cI(),c?(sessionStorage.setItem(`fray:reload-after-update-restart`,e),window.dispatchEvent(new Event(rI)),r(!1)):window.location.replace(e)}catch(e){c&&(Y.controlPlaneRestartPending=!1,Y.controlPlaneState=`ready`,Y.controlPlaneMessage=null);let t=e.message.slice(0,140);r(!1),a(t),X(`${c?`Update & Restart`:`Restart Fray`} failed: ${t}`)}};return(0,B.jsxs)(`div`,{ref:u,className:`relative`,onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1),children:[(0,B.jsx)(pI,{update:c,busy:n,onFocus:()=>t(!0),onBlur:()=>t(!1),onClick:()=>void d()}),i&&(0,B.jsx)(`p`,{role:`alert`,className:`absolute right-0 top-[calc(100%+0.5rem)] z-50 w-[min(23rem,calc(100vw-1.5rem))] rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-[12px] leading-relaxed text-red-200`,children:i}),(0,B.jsx)(fI,{open:e&&!i,update:c})]})}function hI(){return(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function gI({identity:e,connection:t,boardFallback:n}){return(0,B.jsxs)(`div`,{"data-status-bar":!0,className:`fixed top-2.5 left-3 z-20 flex h-7 max-w-[calc(100vw-1.5rem)] items-center gap-2 rounded-lg border border-border bg-panel px-2 text-[12px] shadow-sm shadow-black/30`,children:[(0,B.jsx)(rP,{identity:e,state:t,boardFallback:n}),(0,B.jsx)(hI,{}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:iP,onClick:()=>Y.showSettings=!0,children:(0,B.jsx)(py,{size:14,"aria-hidden":`true`})}),(0,B.jsx)(mI,{}),(0,B.jsx)(hI,{}),(0,B.jsx)(YF,{})]})}var _I=`fixed inset-0 bg-black/40 backdrop-blur-[1px] transition-opacity duration-200 ease-out motion-reduce:transition-none`,vI=`flex h-full flex-col border-l border-border bg-panel shadow-2xl shadow-black/50 transition-transform duration-200 ease-out motion-reduce:transition-none`;function yI(e,t=0){let n=Math.max(0,e-t);return`min(${720-n*28}px, ${80-n*4}vw)`}function bI(){return typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}function xI(e,t=!1){let[n,r]=(0,z.useState)(t),i=(0,z.useRef)(!1),a=Yd(Y);(0,z.useEffect)(()=>{if(t)return;let e=!1,n=()=>{e||i.current||(e=!0,r(!0))},a=requestAnimationFrame(n),o=window.setTimeout(n,120);return()=>{cancelAnimationFrame(a),window.clearTimeout(o)}},[t]);let o=(0,z.useCallback)(()=>{i.current||(i.current=!0,mg(e),r(!1),window.setTimeout(()=>hg(e),bI()?0:210))},[e]);return(0,z.useEffect)(()=>(Wh(e,o),()=>Wh(e,null)),[e,o]),(0,z.useEffect)(()=>{a.drawers.find(t=>t.id===e)?.closing||!i.current||(i.current=!1,r(!0))},[a.drawers,e]),{shown:n,close:o,closingRef:i}}function SI({id:e,depth:t,widthDepth:n,widthOffset:r=0,children:i}){let{shown:a,close:o}=xI(e);return(0,B.jsx)(`div`,{className:`${_I} flex justify-end ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+t*2},onMouseDown:o,children:(0,B.jsx)(`div`,{className:`${vI} ${a?`translate-x-0`:`translate-x-full`}`,style:{width:yI(n,r)},onMouseDown:e=>e.stopPropagation(),children:i(o)})})}var CI=`fray-thread-tab:`;function wI(e){return e===`chat`||e===`scratch`?e:null}function TI(e,t){let n=wI(e);return n===`scratch`&&!t.scratch?`chat`:n??`chat`}function EI(e,t,n){return e?t?{capabilities:t,remembered:{scope:e,capabilities:t},authoritative:!0}:n?.scope===e?{capabilities:n.capabilities,remembered:n,authoritative:!1}:{capabilities:{scratch:!1},authoritative:!1}:{capabilities:{scratch:!1},authoritative:!1}}function DI(e,t){return`${CI}${encodeURIComponent(e)}:${t}`}function OI(e,t){try{return wI(sessionStorage.getItem(DI(e,t)))??`chat`}catch{return`chat`}}function kI(e,t,n){try{sessionStorage.setItem(DI(e,t),n)}catch{}}function AI(e,t){if(!e)return{kind:`loading`};let n=e.threads.find(e=>e.id===t);return n?{kind:`found`,ownership:n.kind===`session`?n.foreign===!0?`foreign`:`owned`:`legacy`,thread:n}:{kind:`missing`}}var jI={schedule:(e,t)=>window.setTimeout(e,t),cancel:e=>window.clearTimeout(e)},MI=class{#e=`waiting`;#t=null;#n;#r;#i;#a;#o;constructor(e){this.#n=e.isActive,this.#r=e.isContentReady,this.#i=e.scrollToBottom,this.#a=e.clock??jI,this.#o=e.settleMs??120,e.preserveAnchor?.()&&(this.#e=`suppressed`)}get phase(){return this.#e}activationChanged(){if(!this.#s){if(!this.#n()){this.#l(),this.#e=`waiting`;return}this.#c()}}layoutChanged(){this.#s||!this.#n()||this.#c()}userIntent(){this.#s||(this.#l(),this.#e=`suppressed`)}dispose(){this.#l(),this.#e=`disposed`}get#s(){return this.#e===`complete`||this.#e===`suppressed`||this.#e===`disposed`}#c(){if(!this.#n()||!this.#r()){this.#l(),this.#e=`waiting`;return}this.#e=`settling`,this.#i(),this.#l(),this.#t=this.#a.schedule(()=>{if(this.#t=null,!this.#n()||!this.#r()){this.#e=`waiting`;return}if(!this.#i()){this.#c();return}this.#e=`complete`},this.#o)}#l(){this.#t!==null&&(this.#a.cancel(this.#t),this.#t=null)}},NI=`Tabs`,[PI,FI]=Sx(NI,[PT]),II=PT(),[LI,RI]=PI(NI),zI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Yx(s),[d,f]=kx({prop:r,onChange:i,defaultProp:a??``,caller:NI});return(0,B.jsx)(LI,{scope:n,baseId:NS(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,B.jsx)(Gx.div,{dir:u,"data-orientation":o,...l,ref:t})})});zI.displayName=NI;var BI=`TabsList`,VI=z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=RI(BI,n),o=II(n);return(0,B.jsx)(KT,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,B.jsx)(Gx.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});VI.displayName=BI;var HI=`TabsTrigger`,UI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=RI(HI,n),s=II(n),c=KI(o.baseId,r),l=qI(o.baseId,r),u=r===o.value;return(0,B.jsx)(qT,{asChild:!0,...s,focusable:!i,active:u,children:(0,B.jsx)(Gx.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:vx(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:vx(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:vx(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});UI.displayName=HI;var WI=`TabsContent`,GI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=RI(WI,n),c=KI(s.baseId,r),l=qI(s.baseId,r),u=r===s.value,d=z.useRef(u);return z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,B.jsx)(xT,{present:i||u,children:({present:n})=>(0,B.jsx)(Gx.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});GI.displayName=WI;function KI(e,t){return`${e}-trigger-${t}`}function qI(e,t){return`${e}-content-${t}`}var JI=zI,YI=VI,XI=UI,ZI=GI;function QI(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function $I(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function eL(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var tL=(e,t)=>Math.abs(e-t)<1.01,nL=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},rL,iL=()=>{if(rL!==void 0)return rL;if(typeof navigator>`u`)return rL=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return rL=!0;let e=navigator.maxTouchPoints;return rL=navigator.platform===`MacIntel`&&e!==void 0&&e>0},aL=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},oL=e=>e,sL=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},cL=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(aL(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(aL(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},lL={passive:!0},uL=typeof window>`u`?!0:`onscrollend`in window,dL=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&uL,o=0,s=a?null:nL(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,lL),a&&r.addEventListener(`scrollend`,u,lL),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},fL=(e,t)=>dL(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),pL=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},mL=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},hL=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:oL,rangeExtractor:sL,onChange:()=>{},measureElement:pL,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=$I(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!iL()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,lL),e.addEventListener(`touchend`,n,lL),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(iL()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=$I(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=$I(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=QI(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=$I(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=vL(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=$I(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=$I(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return eL(t[gL(0,t.length-1,r?e=>n[e*2]:e=>eL(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(iL()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&tL(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},gL=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function _L(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function vL(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=_L(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=gL(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var yL=typeof document<`u`?z.useLayoutEffect:z.useEffect;function bL({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=z.useReducer(e=>e+1,0)[1],a=z.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,id.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=z.useState(()=>{let e=new hL(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),yL(()=>c._didMount(),[]),yL(()=>c._willUpdate()),yL(()=>{o(c)}),c}function xL(e){return bL({observeElementRect:cL,observeElementOffset:fL,scrollToFn:mL,...e})}function SL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var CL=SL();function wL(e){CL=e}var TL={exec:()=>null};function EL(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(DL.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var DL={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`)},OL=/^(?:[ \t]*(?:\n|$))+/,kL=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,AL=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,jL=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ML=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,NL=/(?:[*+-]|\d{1,9}[.)])/,PL=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,FL=EL(PL).replace(/bull/g,NL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),IL=EL(PL).replace(/bull/g,NL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),LL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,RL=/^[^\n]+/,zL=/(?!\s*\])(?:\\.|[^\[\]\\])+/,BL=EL(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,zL).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),VL=EL(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,NL).getRegex(),HL=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,UL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,WL=EL(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,UL).replace(`tag`,HL).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),GL=EL(LL).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex(),KL={blockquote:EL(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,GL).getRegex(),code:kL,def:BL,fences:AL,heading:ML,hr:jL,html:WL,lheading:FL,list:VL,newline:OL,paragraph:GL,table:TL,text:RL},qL=EL(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex(),JL={...KL,lheading:IL,table:qL,paragraph:EL(LL).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,qL).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex()},YL={...KL,html:EL(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,UL).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:TL,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:EL(LL).replace(`hr`,jL).replace(`heading`,` *#{1,6} *[^
|
|
256
|
+
`+e.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1)))})}e.key===`Escape`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),t.blur())}return(0,B.jsxs)(`div`,{className:`group relative rounded-xl border bg-bg transition-colors focus-within:border-accent ${m?`border-dashed border-accent`:`border-border`}`,onDragOver:e=>{[...e.dataTransfer.items].some(e=>e.kind===`file`)&&(e.preventDefault(),h(!0))},onDragLeave:()=>h(!1),onDrop:e=>{e.preventDefault(),h(!1),w(e.dataTransfer.files)},children:[m&&(0,B.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-bg/80 text-[12px] text-muted`,children:`Drop file to attach`}),(0,B.jsx)(`textarea`,{id:a,ref:f,"data-surface":r,value:v,autoFocus:c,disabled:l,onChange:e=>S(e.target.value),onKeyDown:D,onPaste:e=>{let t=[...e.clipboardData.items].filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(Boolean);t.length&&(e.preventDefault(),w(t))},placeholder:i,rows:1,spellCheck:!1,style:{minHeight:o,maxHeight:s},className:`block w-full resize-none bg-transparent px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${d?`pr-28`:`pr-20`}`} text-[13px] leading-relaxed text-fg outline-none placeholder:text-muted scrollbar-none disabled:opacity-60`}),y.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5 px-3 pb-2 ${d?`pr-28`:`pr-20`}`,children:y.map((e,t)=>(0,B.jsx)(WA,{attachment:e,disabled:l,onRemove:()=>C(b.filter((e,n)=>n!==t))},`${e.path}-${t}`))}),u&&(0,B.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1 pl-1.5 pb-1.5 ${d?`pr-28`:`pr-20`}`,children:u}),d&&(0,B.jsx)(`div`,{className:`absolute bottom-2 right-11 flex items-center`,children:d}),(0,B.jsx)(`input`,{ref:p,type:`file`,multiple:!0,accept:Um,className:`hidden`,onChange:e=>{w(e.target.files),e.target.value=``}}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>p.current?.click(),disabled:l||g,title:`Attach files`,"aria-label":`Attach files`,className:`absolute bottom-2 ${d?`right-[4.625rem]`:`right-11`} flex h-7 w-7 items-center justify-center rounded-lg text-muted transition-[color,background-color] enabled:hover:bg-panel-2/70 enabled:hover:text-fg disabled:opacity-50`,children:g?(0,B.jsx)(iy,{size:15,strokeWidth:2,className:`animate-spin`}):(0,B.jsx)(ly,{size:15,strokeWidth:2})}),(0,B.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:n,disabled:!E||l||g,title:`Send (Enter)`,"aria-label":`Send`,className:`absolute bottom-2 right-2 flex h-7 w-7 items-center justify-center rounded-lg transition-all ${E&&!l&&!g?`bg-fg text-bg hover:opacity-90 active:scale-95`:`bg-panel-2 text-muted`}`,children:l?(0,B.jsx)(iy,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,B.jsx)(Ev,{size:14,strokeWidth:2.5})})]})}function WA({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,z.useState)(!1),a=e.path.split(`/`).filter(Boolean).pop()||e.path,o=(a.includes(`.`)?a.split(`.`).pop():``).toUpperCase();return(0,B.jsxs)(`div`,{className:`group/att relative h-11 w-11`,title:a,children:[e.kind===`image`&&!r?(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(e.path)}`,alt:a,onError:()=>i(!0),className:`h-11 w-11 rounded-md border border-border object-cover`}):(0,B.jsxs)(`div`,{className:`flex h-11 w-11 flex-col items-center justify-center gap-0.5 rounded-md border border-border bg-panel-2 px-1`,children:[(0,B.jsx)(Wv,{size:15,strokeWidth:2,className:`shrink-0 text-muted`}),o&&(0,B.jsx)(`span`,{className:`max-w-full truncate text-[8px] font-medium leading-none text-muted/80`,children:o})]}),(0,B.jsx)(`button`,{type:`button`,onClick:n,disabled:t,title:`Remove ${a}`,"aria-label":`Remove ${a}`,className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full border border-border bg-bg text-muted opacity-0 transition-opacity hover:text-fg focus-visible:opacity-100 group-hover/att:opacity-100 disabled:hidden`,children:(0,B.jsx)(Ty,{size:10,strokeWidth:2.5})})]})}function GA(){let e=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()});return!!(e.data?.inRepo&&e.data.authed)}function KA({className:e=``}){return GA()?(0,B.jsx)(`button`,{type:`button`,onClick:Zh,onMouseDown:e=>e.preventDefault(),title:`Investigate this issue and make recommendations`,"aria-label":`Investigate this issue and make recommendations`,className:`flex h-7 w-7 items-center justify-center rounded-lg text-muted outline-none transition-[color,background-color,box-shadow] enabled:hover:bg-panel-2/70 enabled:hover:text-fg enabled:focus-visible:bg-panel-2/70 enabled:focus-visible:text-muted enabled:focus-visible:ring-1 enabled:focus-visible:ring-muted/80 enabled:focus-visible:ring-offset-1 enabled:focus-visible:ring-offset-bg enabled:active:bg-elevated enabled:active:text-muted disabled:bg-transparent disabled:text-muted/35 ${e}`,children:(0,B.jsx)(Zv,{size:15,strokeWidth:2})}):null}var qA=`prompt-control-type petite-caps`,JA=qA,YA=qA,XA=`profile-grid-cell relative flex h-6 min-w-[2.75rem] cursor-pointer select-none items-center justify-center rounded border border-transparent px-1 text-center text-muted outline-none transition-colors ${JA} data-[highlighted]:border-border data-[highlighted]:bg-panel-2 data-[highlighted]:text-fg data-[highlighted]:outline data-[highlighted]:outline-1 data-[highlighted]:outline-offset-1 data-[highlighted]:outline-fg/55 data-[state=checked]:border-accent/70 data-[state=checked]:bg-accent/10 data-[state=checked]:font-medium data-[state=checked]:text-fg data-[state=checked]:ring-1 data-[state=checked]:ring-inset data-[state=checked]:ring-accent/90`;function ZA(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, minmax(2.75rem, auto))`}var QA=[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`];function $A(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=QA.indexOf(e),r=QA.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function ej(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function tj(e){return JSON.stringify([e.provider,e.model,e.effort])}function nj(e,t){return ej(e).find(e=>tj(e)===t)}function rj(e,t){return!t?.model||!t.effort?!1:e.some(e=>(!t.provider||e.id===t.provider)&&e.options.some(e=>e.model===t.model&&e.efforts.includes(t.effort)))}function ij(e,t,n=`Profile unknown`){if(!t?.model&&!t?.effort)return n;let r=e.flatMap(e=>e.options).find(e=>e.model===t.model)?.label??t.model??`Model unknown`;return t.effort?`${r} › ${t.effort}`:r}function aj(e,t,n){let r=$A(e),i=e.flatMap(e=>e.options.map(t=>({provider:e.id,option:t}))),a=i.findIndex(e=>e.provider===t.provider&&e.option.model===t.model);if(a===-1)return null;let o=i[a],s=o.option.efforts.indexOf(t.effort);if(s===-1)return null;if(n===`Home`||n===`End`||n===`ArrowLeft`||n===`ArrowRight`){let e=n===`Home`?0:n===`End`?o.option.efforts.length-1:s+(n===`ArrowLeft`?-1:1),t=o.option.efforts[e];return t?{provider:o.provider,model:o.option.model,effort:t}:null}let c=i[a+(n===`ArrowUp`?-1:1)];if(!c)return null;let l=r.indexOf(t.effort),u=c.option.efforts.reduce((e,t)=>e?Math.abs(r.indexOf(t)-l)<Math.abs(r.indexOf(e)-l)?t:e:t,void 0);return u?{provider:c.provider,model:c.option.model,effort:u}:null}var oj,sj=!1;function cj(){sj||typeof window>`u`||(sj=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!oj||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),uj())},{capture:!0}))}function lj(e){cj();let t={dismiss:e};return oj=t,()=>{oj===t&&(oj=void 0)}}function uj(){let e=oj;return e?(oj=void 0,e.dismiss(),!0):!1}function dj(e){uj()&&e.preventDefault(),e.stopPropagation()}function fj(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function pj({groups:e,value:t,pending:n,onValueChange:r,placeholder:i,ariaLabel:a,menuAriaLabel:o=`Choose model and effort`,title:s,disabled:c=!1,compact:l=!1,side:u=`bottom`,menuZClass:d=Bk,className:f=``}){let[p,m]=(0,z.useState)(!1),h=(0,z.useRef)(p),g=(0,z.useRef)(c),_=(0,z.useRef)(void 0),v=(0,z.useRef)(new Map),y=(0,z.useRef)(void 0),b=(0,z.useMemo)(()=>$A(e),[e]),x=(0,z.useMemo)(()=>e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n})))),[e]),S=l?YA:JA,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=rj(e,t),T=w&&t?.provider&&t.model&&t.effort?tj(t):void 0,E=n?.model||n?.effort?ij(e,n,`Pending profile`):void 0;h.current=p,g.current=c;function D(){h.current=!1,_.current=void 0,m(!1)}(0,z.useLayoutEffect)(()=>{let e=e=>{e.key!==`Escape`||!h.current||g.current||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),_.current?.(),D())};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[]),(0,z.useLayoutEffect)(()=>{!c||!p||(_.current?.(),D())},[c,p]),(0,z.useLayoutEffect)(()=>()=>_.current?.(),[]),(0,z.useLayoutEffect)(()=>{T===y.current&&(y.current=void 0)},[T]);function O(e){let t=tj(e);y.current!==t&&(y.current=t,r(e))}function ee(t,n){if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key))return;let r=aj(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(tj(r))?.focus())}return(0,B.jsxs)(Ok,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=lj(D))},children:[(0,B.jsx)(kk,{asChild:!0,disabled:c,children:(0,B.jsxs)(`button`,{type:`button`,"aria-label":a,"aria-invalid":!w&&(t?.model||t?.effort)?!0:void 0,"aria-description":E?`Pending ${E}`:void 0,title:s,"data-profile-known":w?`true`:`false`,"data-profile-pending":E?`true`:void 0,className:`profile-grid-trigger group inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-md border border-border/50 bg-transparent px-2 py-1 text-left text-muted outline-none data-[state=open]:border-border data-[state=open]:bg-panel-2 ${C} ${f} ${S}`,children:[(0,B.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 flex-1 truncate text-left ${S}`,children:ij(e,t,i)}),E&&(0,B.jsx)(iy,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,B.jsx)(jv,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,B.jsx)(Ak,{children:(0,B.jsxs)(jk,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${zk} max-h-[min(360px,var(--radix-dropdown-menu-content-available-height))] max-w-[calc(100vw-1rem)] overflow-auto rounded-lg p-1.5 ${S}`,children:[e.map(t=>(0,B.jsxs)(Mk,{children:[t.label&&(0,B.jsx)(Nk,{className:`px-1.5 pb-1 pt-1 text-left font-medium tracking-[0.07em] text-muted/55 first:pt-0.5`,children:t.label}),(0,B.jsx)(Fk,{value:T,onValueChange:t=>{let n=nj(e,t);n&&O(n)},children:t.options.map(e=>(0,B.jsxs)(`div`,{"data-profile-grid-row":e.model,className:`grid min-w-max items-center gap-1 py-0.5`,style:{gridTemplateColumns:ZA(b.length)},children:[(0,B.jsx)(`span`,{className:`profile-grid-model-label min-w-0 max-w-[9.5rem] truncate px-1.5 text-left text-muted ${S}`,title:e.label,children:e.label}),b.map(n=>{if(!e.efforts.includes(n))return(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`cursor-default`},n);let r={provider:t.id,model:e.model,effort:n},i=tj(r);return(0,B.jsx)(Ik,{value:i,ref:e=>{e?v.current.set(i,e):v.current.delete(i)},onKeyDown:e=>ee(e,r),onSelect:e=>{e.preventDefault(),O(r),_.current?.(),D()},"aria-label":`${e.label}, ${fj(n)} effort`,title:`${e.label} › ${fj(n)}`,className:XA,children:(0,B.jsx)(`span`,{children:fj(n)})},n)})]},e.model))}),t!==e.at(-1)&&(0,B.jsx)(Rk,{className:`my-1 h-px bg-border`})]},t.id)),x.length===0&&(0,B.jsx)(`div`,{className:`px-2 py-1.5 text-muted/60`,children:`No profiles available`})]})})]})}var mj={claude:`claude auth login`,codex:`codex login`},hj={claude:`Claude`,codex:`Codex`};function gj(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var _j=`modulepreload`,vj=function(e){return`/`+e},yj={},bj=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=vj(t,n),t=s(t),t in yj)return;yj[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:_j,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},xj=(0,z.lazy)(()=>bj(()=>import(`./TerminalPane-C3CC9EFZ.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function Sj({backend:e,onClose:t,onAuthed:n}){let r=Bu(),[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(null),c=(0,z.useRef)(!1),l=mj[e],u=hj[e],d=nd({mutationFn:()=>Z.accountLoginStart({backend:e}),onSuccess:e=>{c.current=!1,s(e.attemptId)},onError:e=>X(`Couldn't start the sign-in terminal: ${e.message.slice(0,80)} — use the command below instead`,{duration:7e3})}),f=td({queryKey:[`accountLoginStatus`,o],queryFn:()=>Z.accountLoginStatus({attemptId:o}),enabled:!!o,refetchInterval:2e3});(0,z.useEffect)(()=>{if(!o||c.current)return;let t=f.data;if(!(!t||t.state===`running`||t.state===`unknown`)){if(c.current=!0,t.auth!==`signed-out`){r.setQueryData([`authStatus`],n=>n&&{...n,[e]:t.auth}),X(`Signed in to ${u}`),n();return}X(`${u} sign-in didn't complete — try again or use the command below`,{duration:7e3}),s(null)}},[o,f.data,e,u]);function p(){o&&!c.current&&Z.accountLoginCancel({attemptId:o}).catch(()=>{})}let m=(0,z.useRef)({attempt:null,settled:!1});m.current={attempt:o,settled:c.current},(0,z.useEffect)(()=>()=>{let{attempt:e,settled:t}=m.current;e&&!t&&Z.accountLoginCancel({attemptId:e}).catch(()=>{})},[]);async function h(){try{if(!navigator.clipboard?.writeText)throw Error(`clipboard unavailable`);await navigator.clipboard.writeText(l),a(!0),window.setTimeout(()=>a(!1),1500)}catch{X(`Couldn't copy — select the command and copy it manually`,{duration:6e3})}}let g=nd({mutationFn:()=>Z.authStatus(),onSuccess:t=>{if(r.setQueryData([`authStatus`],t),t[e]===`signed-out`){X(`Still signed out of ${u} — run the command, then retry`,{duration:6e3});return}n()},onError:()=>n()});return(0,B.jsx)(tA,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] ${o?`w-[680px]`:`w-[440px]`} max-w-[92vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsxs)(vA,{className:`mb-1 text-[14px] font-medium`,children:[`Signed out of `,u]}),o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`p`,{className:`mb-3 text-[12.5px] leading-relaxed text-muted`,children:[`This terminal is running `,(0,B.jsx)(`code`,{className:`font-mono-keep text-fg/90`,children:l}),` — follow its prompts (it may open your browser). Fray detects completion automatically.`]}),(0,B.jsx)(`div`,{className:`mb-4 h-[340px] overflow-hidden rounded-lg border border-border bg-[#0d0e10]`,children:(0,B.jsx)(z.Suspense,{fallback:(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-muted`,children:`Opening terminal…`}),children:(0,B.jsx)(xj,{slug:o})})}),(0,B.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:(0,B.jsx)(`button`,{type:`button`,onClick:()=>{p(),s(null)},className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:`Cancel sign-in`})})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`Fray can't start a `,u,` thread until you're signed in. Sign in here, or run the command in your own terminal and retry:`]}),(0,B.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 rounded-lg border border-border bg-panel-2 px-3 py-2`,children:[(0,B.jsx)(`code`,{className:`flex-1 select-all font-mono-keep text-[12.5px] text-fg`,children:l}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Copy command`,onClick:h,className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel hover:text-fg`,children:i?(0,B.jsx)(Av,{size:14,strokeWidth:2,className:`text-green-400`}):(0,B.jsx)(Bv,{size:14,strokeWidth:1.8})})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:t,className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>g.mutate(),disabled:g.isPending,className:`flex items-center gap-1.5 rounded-md border border-border px-3 py-1.5 text-[12.5px] text-fg/90 outline-none transition-colors hover:bg-panel-2 disabled:opacity-60`,children:[g.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Retry`]}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>d.mutate(),disabled:d.isPending,className:`flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-[12.5px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-60`,children:[d.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function Cj({backend:e,onClose:t}){let n=Bu(),r=hj[e],i=nd({mutationFn:()=>Z.accountLogout({backend:e}),onSuccess:i=>{n.setQueryData([`authStatus`],t=>t&&{...t,[e]:i.auth}),i.status===`done`?X(`Signed out of ${r}`):i.status===`blocked`?X(`Not signed out — ${i.activeThreads} active ${r} thread${i.activeThreads===1?``:`s`}. Let them finish (or complete them) first.`,{duration:7e3}):X(`${r} sign-out failed: ${i.detail??`unknown error`}`,{duration:7e3}),t()},onError:e=>{X(`${r} sign-out failed: ${e.message.slice(0,80)}`,{duration:7e3}),t()}});return(0,B.jsx)(tA,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] w-[420px] max-w-[86vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsxs)(vA,{className:`mb-1 text-[14px] font-medium`,children:[`Sign out of `,r,`?`]}),(0,B.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`New `,r,` threads will be blocked until you sign in again. Running `,r,` threads are left untouched — sign-out is refused while any are active.`]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:t,disabled:i.isPending,className:`rounded-md px-3 py-1.5 text-[12.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-60`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>i.mutate(),disabled:i.isPending,className:`flex items-center gap-1.5 rounded-md bg-red-500/90 px-3 py-1.5 text-[12.5px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-60`,children:[i.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var wj=yh.options,Tj={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},Ej={auto:`auto — safe actions auto-approved, risky ones prompt`,default:`default — prompt for every permission`,acceptEdits:`accept edits — file edits auto-approved`,plan:`plan — read-only planning, approval before changes`,bypassPermissions:`bypass — never prompt (dangerous)`};wj.filter(e=>e!==`plan`).map(e=>({value:e,label:Tj[e],title:Ej[e]}));var Dj=[{value:`fable`,label:`Fable`},{value:`opus`,label:`Opus`},{value:`sonnet`,label:`Sonnet`},{value:`haiku`,label:`Haiku`}],Oj=[{slug:`gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{slug:`gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{slug:`gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`]},{slug:`gpt-5.5`,displayName:`GPT-5.5`,defaultEffort:`medium`,efforts:[`low`,`medium`,`high`,`xhigh`]}],kj=new Set(Oj.map(e=>e.slug));function Aj(e,t){return e&&(kj.has(e)||t?.some(t=>t.slug===e))?`codex`:`claude`}function jj(e){return(e.length?e:Oj).map(e=>({value:e.slug,label:e.displayName,title:`${e.displayName} — codex`}))}function Mj(e,t){let n=[{label:`Claude Code`,options:Dj},{label:`Codex`,options:jj(e)}];return t.withDefault?[{label:``,options:[{value:``,label:`Default`}]},...n]:n}function Nj(e,t){if(e)return t.find(t=>t.slug===e)??Oj.find(t=>t.slug===e)}var Pj=[`low`,`medium`,`high`,`xhigh`,`max`],Fj={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`},Ij=[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`];function Lj(e){return Fj[e]??e.charAt(0).toUpperCase()+e.slice(1)}var Rj=[{value:``,label:`Effort`},...Pj.map(e=>({value:e,label:Fj[e]}))],zj=[{value:``,label:`Default`},...Pj.map(e=>({value:e,label:Fj[e]}))];function Bj(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:Lj(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function Vj(e,t){if(!e||!t||e.efforts.includes(t))return t;let n=Ij.indexOf(t),r=e.efforts.filter(e=>{let t=Ij.indexOf(e);return t!==-1&&n!==-1&&t<=n});return r.length?r.reduce((e,t)=>Ij.indexOf(t)>Ij.indexOf(e)?t:e):e.defaultEffort}var Hj=Rj.filter(e=>e.value!==``);function Uj(e,t){return t.field===`backend`?{...e,backend:t.value}:t.field===`profile`?{...e,backend:t.backend,[t.backend]:{...e[t.backend],model:t.model,effort:t.effort}}:{...e,...t.field===`model`?{backend:t.backend}:{},[t.backend]:{...e[t.backend],[t.field]:t.value}}}function Wj(e){return[{id:`claude`,label:`Claude Code`,options:Dj.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:Hj.map(e=>e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function Gj(e,t){let n=e.backend,r=e[n],i=r.model??(n===`claude`?`opus`:t[0]?.slug??``),a=n===`codex`?t.find(e=>e.slug===i):void 0,o=n===`claude`?Dj.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?Hj:Bj(a,{withDefault:!1}),u=l.some(e=>e.value===c);return{backend:n,model:i,effort:c,codexModel:a,modelAvailable:o,effortAvailable:u,effortOptions:c&&!u?[{value:c,label:`${c} (unavailable)`,title:`Saved reasoning level is not available for this model`},...l]:l}}function Kj(){let e=Bu(),t=td({queryKey:[`dispatchPreferencesGet`],queryFn:()=>Z.dispatchPreferencesGet()}),n=td({queryKey:[`codexModels`],queryFn:()=>Z.codexModels()}),r=n.data??[],i=nd({mutationFn:e=>Z.dispatchPreferenceSet(e),scope:{id:`dispatch-preferences`},onMutate:t=>{let n=e.getQueryData([`dispatchPreferencesGet`]);n&&e.setQueryData([`dispatchPreferencesGet`],Uj(n,t))},onError:t=>{e.invalidateQueries({queryKey:[`dispatchPreferencesGet`]}),X(`Could not save new-thread preference: ${t.message.slice(0,80)}`)}}),a=!!t.data&&!!n.data;return{resolved:(0,z.useMemo)(()=>a?Gj(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var qj=`fray-drafts:v1`,Jj=80,Yj=512*1024,Xj=2*1024*1024,Zj=new TextEncoder;function Qj(e){return Zj.encode(e).byteLength}function $j(){return{version:1,entries:{}}}function eM(e){if(!e)return $j();try{let t=JSON.parse(e);if(!t||typeof t!=`object`||t.version!==1)return $j();let n=t.entries;if(!n||typeof n!=`object`||Array.isArray(n))return $j();let r={};for(let[e,t]of Object.entries(n))typeof t?.value!=`string`||typeof t?.touchedAt!=`number`||!Number.isFinite(t.touchedAt)||e.length>512||Qj(t.value)>Yj||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return $j()}}function tM(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&Qj(e.value)<=Yj).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=Jj)break;n[e]=r,Qj(JSON.stringify({version:1,entries:n}))>Xj&&delete n[e]}return{version:1,entries:n}}var nM=new class{snapshot;listeners=new Set;storage;constructor(e=typeof sessionStorage>`u`?void 0:sessionStorage){this.storage=e;let t=null;try{t=e?.getItem(`fray-drafts:v1`)??null}catch{}this.snapshot=tM(eM(t))}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));get(e){return this.snapshot.entries[e]?.value??``}set(e,t){let n={...this.snapshot.entries};t?n[e]={value:t,touchedAt:Date.now()}:delete n[e],this.commit({version:1,entries:n})}clear(e){this.snapshot.entries[e]&&this.commit({version:1,entries:Object.fromEntries(Object.entries(this.snapshot.entries).filter(([t])=>t!==e))})}commit(e){this.snapshot=e;try{this.storage?.setItem(qj,JSON.stringify(tM(e)))}catch{}for(let e of this.listeners)e()}};function rM(e){return encodeURIComponent(e||`unresolved-project`)}var iM={dispatch:(e,t)=>`dispatch:${rM(e)}:${encodeURIComponent(t??`new`)}`,followUp:(e,t,n)=>`followup:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${rM(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${rM(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,settings:(e,t)=>`settings:${rM(e)}:${t}`};function aM(){return Yd(Y).board?.projectDir}function oM(e){return Yd(Y).board?.threads.find(t=>t.id===e)?.sessionId}function sM(e){return[(0,z.useSyncExternalStore)(nM.subscribe,nM.getSnapshot,nM.getSnapshot).entries[e]?.value??``,(0,z.useCallback)(t=>nM.set(e,t),[e]),(0,z.useCallback)(()=>nM.clear(e),[e])]}function cM(e){let t=(0,z.useSyncExternalStore)(nM.subscribe,nM.getSnapshot,nM.getSnapshot);return new Map(e.map(e=>[e,t.entries[e]?.value??``]))}function lM({autoFocus:e,onDispatched:t,planPath:n}){let{resolved:r,codexList:i,loadError:a,saveProfile:o}=Kj(),s=GA(),c=aM(),[l,u,d]=sM(iM.dispatch(c,n)),f=iM.dispatch(c,n),p=(0,z.useRef)(``),[m,h]=(0,z.useState)(null),g=td({queryKey:[`authStatus`],queryFn:()=>Z.authStatus(),staleTime:3e4}),[_,v]=(0,z.useState)(null),[y,b]=(0,z.useState)(null),x=(0,z.useRef)(null),S=nd({mutationFn:e=>Z.dispatch(e),onMutate:()=>X(`Starting thread…`,{spinner:!0,sticky:!0}),onSuccess:e=>{h(null),t?.(),X(`Thread started`,{link:{label:`Open thread`,slug:e.slug}})},onError:(e,t)=>{nM.get(f)||u(p.current||t.prompt),h(null);let n=/^AUTH_REQUIRED:(claude|codex)$/.exec(e.message);if(n){x.current=t,v(n[1]),X(`Signed out of ${n[1]===`claude`?`Claude`:`Codex`}`,{duration:3e3});return}X(`Dispatch failed: ${e.message.slice(0,80)}`)}});function C(e){p.current=l,d(),h(e.prompt),S.mutate(e)}function w(){if(!l.trim()||!r)return;let e=gj(l);if(e){d(),e===`login`?(x.current=null,v(r.backend)):b(r.backend);return}if(!r.modelAvailable){X(`Saved model is unavailable — choose a model before starting the thread`);return}if(!r.effortAvailable){X(`Saved reasoning level is unavailable for this model — choose another level`);return}let t={prompt:l.trim(),model:r.model,backend:r.backend,effort:r.effort,...n?{planPath:n}:{}};if(g.data?.[r.backend]===`signed-out`){x.current=t,v(r.backend);return}C(t)}let T=(0,z.useMemo)(()=>r?(0,B.jsx)(pj,{groups:Wj(i),value:{provider:r.backend,model:r.model,effort:r.effort},onValueChange:e=>o({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),ariaLabel:`Model and effort`,title:r.modelAvailable&&r.effortAvailable?`Model and reasoning effort`:`Saved model or reasoning effort unavailable — choose a supported pair`,className:`max-w-[min(21rem,72vw)]`}):(0,B.jsx)(pj,{groups:[],value:void 0,onValueChange:()=>{},placeholder:a?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort loading`,disabled:!0}),[r,i,a,o]);return(0,B.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,B.jsx)(UA,{surface:`newComposer`,autoFocus:e,value:l,onChange:u,onSubmit:w,placeholder:`Describe the task…`,minHeight:96,maxHeight:340,busy:S.isPending,footer:T,leftAction:s?(0,B.jsx)(KA,{}):void 0}),S.isError&&(0,B.jsx)(`span`,{className:`px-0.5 text-[11px] text-red-400 truncate`,children:S.error.message}),m&&(0,B.jsxs)(`div`,{"data-pending-dispatch":!0,role:`status`,className:`rounded-lg border border-border bg-panel-2 px-3 py-2.5`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted`,children:[(0,B.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 animate-pulse rounded-full bg-accent`,"aria-hidden":`true`}),(0,B.jsx)(`span`,{children:`Starting thread…`})]}),(0,B.jsx)(`p`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap text-[12px] leading-relaxed text-fg`,children:m})]}),_&&(0,B.jsx)(Sj,{backend:_,onClose:()=>v(null),onAuthed:()=>{let e=x.current;x.current=null,v(null),e&&C(e)}}),y&&(0,B.jsx)(Cj,{backend:y,onClose:()=>b(null)})]})}function uM({onClose:e}){let t=Yd(Y).newThreadPlanPath,n=t?t.split(`/`).pop():null,r=(0,z.useRef)(null),i=(0,z.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);return(0,z.useEffect)(()=>()=>{let e=i.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]),(0,B.jsx)(tA,{open:!0,onOpenChange:t=>{t||e()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,B.jsxs)(pA,{ref:r,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:dj,onCloseAutoFocus:e=>{e.preventDefault();let t=i.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault(),r.current?.querySelector(`textarea`)?.focus({preventScroll:!0})},className:`fixed left-1/2 top-1/2 z-50 w-[640px] max-w-[86vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50 outline-none`,children:[(0,B.jsx)(vA,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),n&&(0,B.jsxs)(`p`,{className:`mb-3 text-[11.5px] text-muted/80`,children:[`From plan `,(0,B.jsx)(`span`,{className:`font-mono-keep text-muted`,children:n})]}),(0,B.jsx)(lM,{autoFocus:!0,onDispatched:e,planPath:t??void 0})]})]})})}function dM({children:e,onClose:t}){return(0,B.jsx)(`div`,{className:`fixed inset-0 z-[200] flex items-center justify-center bg-black/30 backdrop-blur-md backdrop-saturate-150`,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:e})}var fM=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),pM=`VisuallyHidden`,mM=z.forwardRef((e,t)=>(0,B.jsx)(Gx.span,{...e,ref:t,style:{...fM,...e.style}}));mM.displayName=pM;var hM=mM,[gM,_M]=Sx(`Tooltip`,[Qw]),vM=Qw(),yM=`TooltipProvider`,bM=700,xM=`tooltip.open`,[SM,CM]=gM(yM),wM=e=>{let{__scopeTooltip:t,delayDuration:n=bM,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=z.useRef(!0),s=z.useRef(!1),c=z.useRef(0);return z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,B.jsx)(SM,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};wM.displayName=yM;var TM=`Tooltip`,[EM,DM]=gM(TM),OM=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=CM(TM,e.__scopeTooltip),l=vM(t),[u,d]=z.useState(null),f=NS(),p=z.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=z.useRef(!1),[_,v]=kx({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(xM))):c.onClose(),a?.(e)},caller:TM}),y=z.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=z.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return z.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,B.jsx)(mT,{...l,children:(0,B.jsx)(EM,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:z.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:z.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};OM.displayName=TM;var kM=`TooltipTrigger`,AM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=DM(kM,n),a=CM(kM,n),o=vM(n),s=xx(t,z.useRef(null),i.onTriggerChange),c=z.useRef(!1),l=z.useRef(!1),u=z.useCallback(()=>c.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,B.jsx)(hT,{asChild:!0,...o,children:(0,B.jsx)(Gx.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:vx(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:vx(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:vx(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:vx(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:vx(e.onBlur,i.onClose),onClick:vx(e.onClick,i.onClose)})})});AM.displayName=kM;var jM=`TooltipPortal`,[MM,NM]=gM(jM,{forceMount:void 0}),PM=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=DM(jM,t);return(0,B.jsx)(MM,{scope:t,forceMount:n,children:(0,B.jsx)(xT,{present:n||a.open,children:(0,B.jsx)(yT,{asChild:!0,container:i,children:r})})})};PM.displayName=jM;var FM=`TooltipContent`,IM=z.forwardRef((e,t)=>{let n=NM(FM,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=DM(FM,e.__scopeTooltip);return(0,B.jsx)(xT,{present:r||o.open,children:o.disableHoverableContent?(0,B.jsx)(VM,{side:i,...a,ref:t}):(0,B.jsx)(LM,{side:i,...a,ref:t})})}),LM=z.forwardRef((e,t)=>{let n=DM(FM,e.__scopeTooltip),r=CM(FM,e.__scopeTooltip),i=z.useRef(null),a=xx(t,i),[o,s]=z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=z.useCallback(()=>{s(null),d(!1)},[d]),p=z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=GM(r,WM(r,n.getBoundingClientRect())),a=KM(t.getBoundingClientRect()),o=JM([...i,...a]);s(o),d(!0)},[d]);return z.useEffect(()=>()=>f(),[f]),z.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),z.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!qM(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,B.jsx)(VM,{...e,ref:a})}),[RM,zM]=gM(TM,{isInside:!1}),BM=Px(`TooltipContent`),VM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=DM(FM,n),l=vM(n),{onClose:u}=c;return z.useEffect(()=>(document.addEventListener(xM,u),()=>document.removeEventListener(xM,u)),[u]),z.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,B.jsx)(rS,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,B.jsxs)(gT,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,B.jsx)(BM,{children:r}),(0,B.jsx)(RM,{scope:n,isInside:!0,children:(0,B.jsx)(hM,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});IM.displayName=FM;var HM=`TooltipArrow`,UM=z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=vM(n);return zM(HM,n).isInside?null:(0,B.jsx)(_T,{...i,...r,ref:t})});UM.displayName=HM;function WM(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function GM(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function KM(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function qM(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function JM(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),YM(t)}function YM(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var XM=wM,ZM=OM,QM=AM,$M=PM,eN=IM,tN=UM;function nN({children:e}){return(0,B.jsx)(XM,{delayDuration:0,skipDelayDuration:0,children:e})}function rN({label:e,children:t,side:n=`top`,clickable:r=!1,multiline:i=!1}){let a=i?`whitespace-pre-line`:`whitespace-normal`,[o,s]=(0,z.useState)(!1),c=(0,z.useId)(),l=r&&(0,z.isValidElement)(t)?t:null,u=l?(0,z.cloneElement)(l,{"aria-describedby":c}):t,d=(0,z.useRef)(null);if(l){let t=d.current?.getBoundingClientRect(),n=t?Math.min(Math.max(12,t.right+8),window.innerWidth-364):12,r=t?Math.min(Math.max(12,t.top-6),window.innerHeight-96):12;return(0,B.jsxs)(`span`,{ref:d,className:`inline-flex`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),onFocus:()=>s(!0),onBlur:()=>s(!1),onClick:()=>s(e=>!e),onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),s(!1))},children:[u,o&&(0,id.createPortal)((0,B.jsx)(`span`,{id:c,role:`tooltip`,className:`z-[250] max-w-[min(22rem,calc(100vw-1.5rem))] rounded-md border border-border bg-elevated px-3 py-2 text-[11px] leading-relaxed text-fg shadow-md shadow-black/40 break-words ${a}`,style:{position:`fixed`,left:n,top:r},children:e}),document.body)]})}return(0,B.jsxs)(ZM,{open:o,onOpenChange:s,children:[(0,B.jsx)(QM,{asChild:!0,children:u}),(0,B.jsx)($M,{children:(0,B.jsxs)(eN,{id:c,side:n,sideOffset:5,collisionPadding:12,className:`${Uk} max-w-[min(22rem,calc(100vw-1.5rem))] select-none rounded-md border border-border bg-elevated px-3 py-2 text-[11px] leading-relaxed text-fg shadow-md shadow-black/40 break-words ${a}`,children:[e,(0,B.jsx)(tN,{className:`fill-elevated`})]})})]})}var iN={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},aN={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function oN(e){return e===`claude`||e===`codex`?aN[e]:void 0}function sN({backend:e,className:t}){let n=oN(e);return n?(0,B.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${iN[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,B.jsx)(cN,{}):(0,B.jsx)(lN,{})}):null}function cN(){return(0,B.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,B.jsx)(`path`,{d:`M22.282 9.821a6 6 0 0 0-.516-4.91a6.05 6.05 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a6 6 0 0 0-3.998 2.9a6.05 6.05 0 0 0 .743 7.097a5.98 5.98 0 0 0 .51 4.911a6.05 6.05 0 0 0 6.515 2.9A6 6 0 0 0 13.26 24a6.06 6.06 0 0 0 5.772-4.206a6 6 0 0 0 3.997-2.9a6.06 6.06 0 0 0-.747-7.073M13.26 22.43a4.48 4.48 0 0 1-2.876-1.04l.141-.081l4.779-2.758a.8.8 0 0 0 .392-.681v-6.737l2.02 1.168a.07.07 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494M3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085l4.783 2.759a.77.77 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646M2.34 7.896a4.5 4.5 0 0 1 2.366-1.973V11.6a.77.77 0 0 0 .388.677l5.815 3.354l-2.02 1.168a.08.08 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.08.08 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667m2.01-3.023l-.141-.085l-4.774-2.782a.78.78 0 0 0-.785 0L9.409 9.23V6.897a.07.07 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.8.8 0 0 0-.393.681zm1.097-2.365l2.602-1.5l2.607 1.5v2.999l-2.597 1.5l-2.607-1.5Z`})})}function lN(){return(0,B.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,B.jsx)(`path`,{d:`m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z`})})}var uN=Gd({at:{}}),dN=12e3,fN=new Map;function pN(e,t=Date.now()){uN.at[e]=t;let n=fN.get(e);n!==void 0&&clearTimeout(n),fN.set(e,setTimeout(()=>{fN.delete(e),delete uN.at[e]},dN))}function mN(e){let t=fN.get(e);t!==void 0&&(clearTimeout(t),fN.delete(e)),delete uN.at[e]}function hN(e,t,n=Date.now()){if(t===void 0||n-t>12e3)return!1;let r=e.lastActivityAt?Date.parse(e.lastActivityAt):NaN;return!(Number.isFinite(r)&&r>t)}function gN(){return Yd(uN).at}function _N(e,t,n=Date.now()){return t===void 0||!hN(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,nativeInputRequired:void 0,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function vN(e){let t=gN();return(0,z.useMemo)(()=>e.map(e=>_N(e,t[e.id])),[e,t])}var yN=0;function bN(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(yN+=1,`browser-${Date.now()}-${yN}`)}function xN({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var SN=new Map;function CN(e,t){let n=(SN.get(e)??Promise.resolve()).then(t,t);return SN.set(e,n.then(()=>{},()=>{})),n}var wN=[300,800,1800,3500],TN=e=>new Promise(t=>{setTimeout(t,e)});async function EN(e,t,n=TN){for(let r=0;;r++){try{await e()}catch(e){if(r>=wN.length||!Og(e))throw e;t(),await n(wN[r]);continue}t();return}}function DN(e,t,n){return EN(()=>Z.followUp({slug:e,sessionId:xg(Y.board,e)?.sessionId??``,message:t,deliveryId:n}),()=>pN(e))}function ON(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=bN();return xN({optimistic:()=>{r.onOptimistic?.(),sv(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),pN(t),Z.markRead({slug:t}).catch(()=>{})},request:()=>CN(t,()=>DN(t,i,a)),success:()=>r.onSuccess?.(),failure:n=>{cv(e,t,i,a),mN(t),r.onRollback?.(),X(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,90)}`)}}),!0}function kN(e){let t=Bu(),[n,r]=(0,z.useState)(0);return{submit:(0,z.useCallback)((n,i={})=>ON(t,e,n,{...i,onOptimistic:()=>{r(e=>e+1),i.onOptimistic?.()},onSuccess:()=>{r(e=>Math.max(0,e-1)),i.onSuccess?.()},onRollback:()=>{r(e=>Math.max(0,e-1)),i.onRollback?.()}}),[t,e]),pending:n>0}}function AN(e,t){return new Promise(n=>{ON(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{X(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}var jN=.5;function MN(e,t,n=!1){let r=e.map(e=>({id:e.id,height:Math.max(0,e.bottom-e.top),visible:Math.min(e.bottom,t)-Math.max(e.top,0)})).filter(e=>e.visible>0);if(!r.length)return null;if(n)return r[r.length-1].id;let i=t*jN,a=r[0];for(let e of r)if(e.visible>a.visible&&(a=e),e.visible>=Math.min(i,e.height)&&e.visible>=a.visible)return e.id;return a.id}function NN(e,t,n,r){return!e||e.top<=r&&e.bottom>r?!0:Math.abs(t-n)>1}function PN(e,t,n,r,i=8){return n<e+i?n-e-i:r>t-i?r-t+i:0}function FN(){let e=Yd(Y),t=J_(),n=Ab(vN(X_(t?.threads??[])),Yd(Xy).queueOrder),r=t?.plans??[],i=e.sidebarCollapsed,a=n.active,o=n.held,s=n.inactive,c=(0,z.useRef)(null),[l,u]=(0,z.useState)(null),d=(0,z.useRef)(null),f=(0,z.useCallback)(()=>{let e=[...document.querySelectorAll(`[data-queue-card][data-queue-leaving="false"]`)].map(e=>{let t=e.dataset.queueCard;if(!t)return null;let{top:n,bottom:r}=(e.querySelector(`[data-queue-card-root]`)??e).getBoundingClientRect();return{id:t,top:n,bottom:r}}).filter(e=>e!==null),t=d.current;if(t)if(NN(e.find(e=>e.id===t.id),window.scrollY,t.landedY,12))d.current=null;else{u(t.id);return}let n=Math.max(0,document.documentElement.scrollHeight-window.innerHeight),r=n>0&&window.scrollY>=n-1,i=MN(e,window.innerHeight,r);u(e=>e===i?e:i)},[]);(0,z.useEffect)(()=>{let e=0,t=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(f)};t(),document.addEventListener(`scroll`,t,{capture:!0,passive:!0}),window.addEventListener(`resize`,t);let n=document.getElementById(`workpane`),r=n?new ResizeObserver(t):null,i=n?new MutationObserver(t):null;return n&&r?.observe(n),n&&i?.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-queue-card`,`data-queue-leaving`,`style`,`class`]}),()=>{cancelAnimationFrame(e),document.removeEventListener(`scroll`,t,!0),window.removeEventListener(`resize`,t),r?.disconnect(),i?.disconnect()}},[f,e.view,e.drawers.length]),(0,z.useLayoutEffect)(()=>{let e=c.current;if(!e||!l||window.matchMedia(`(max-width: 800px)`).matches)return;let t=e.querySelector(`[data-sidebar-item="${CSS.escape(l)}"]`);if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=PN(n.top,n.bottom,r.top,r.bottom);Math.abs(i)>.5&&(e.scrollTop+=i)},[l]);let p=(0,z.useCallback)(e=>{d.current={id:e,landedY:window.scrollY},u(e)},[]);return(0,B.jsx)(`aside`,{className:`sticky top-0 self-start h-screen w-[clamp(320px,34vw,680px)] shrink-0 flex flex-col justify-center max-[800px]:static max-[800px]:h-auto max-[800px]:w-full max-[800px]:justify-start max-[800px]:pt-16`,children:(0,B.jsxs)(`div`,{className:`flex max-h-[calc(100vh-88px)] min-h-0 min-w-0 w-full flex-col max-[800px]:max-h-none`,children:[(0,B.jsx)(`div`,{className:`mb-5 shrink-0 px-0.5`,children:(0,B.jsx)(lM,{})}),(0,B.jsxs)(`div`,{ref:c,"data-sidebar-rail":!0,className:`min-h-0 min-w-0 overflow-y-auto overflow-x-hidden max-[800px]:overflow-y-visible`,children:[a.length>0?(()=>{let{running:e,rested:t}=kb(a),n=e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id);return(0,B.jsxs)(B.Fragment,{children:[e.map(n),e.length>0&&t.length>0&&(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),t.map(n)]})})():(0,B.jsx)(`div`,{className:`py-1 pl-5 pr-1.5 text-[11.5px] text-muted/50`,children:`No active threads`}),o.length>0&&(0,B.jsxs)(`section`,{"aria-label":`Held`,children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Held`,count:o.length}),o.map(e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id))]}),s.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Done`,count:s.length,collapsed:i.inactive,onToggle:()=>Y.sidebarCollapsed.inactive=!Y.sidebarCollapsed.inactive}),!i.inactive&&s.map(e=>(0,B.jsxs)(`div`,{children:[(0,B.jsx)(BN,{t:e,active:l===e.id,onQueueNavigate:p}),(0,B.jsx)(HN,{t:e})]},e.id))]}),r.length>0&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,B.jsx)(IN,{label:`Plans`,count:r.length,collapsed:i.plans,onToggle:()=>Y.sidebarCollapsed.plans=!Y.sidebarCollapsed.plans}),!i.plans&&r.map(e=>(0,B.jsx)(UN,{plan:e},e.path))]})]})]})})}function IN({label:e,count:t,collapsed:n,onToggle:r}){let i=(0,B.jsxs)(B.Fragment,{children:[r?(0,B.jsx)(Mv,{size:11,className:`transition-transform ${n?``:`rotate-90`}`}):(0,B.jsx)(`span`,{className:`w-[11px] shrink-0`,"aria-hidden":!0}),(0,B.jsx)(`span`,{children:e}),(0,B.jsx)(`span`,{className:`ml-1.5 tabular-nums text-muted/60`,children:t})]}),a=`flex w-full items-center gap-1 px-1.5 py-1 text-[11px] uppercase tracking-wide text-muted/70`;return r?(0,B.jsx)(`button`,{onClick:r,className:`${a} transition-colors hover:text-fg`,children:i}):(0,B.jsx)(`div`,{className:a,children:i})}var LN=16,RN=12;function zN({title:e,children:t}){let n=e.trimEnd(),r=n.lastIndexOf(` `)+1,i=n.length-r<=LN?r:n.length-RN;return i>=n.length?(0,B.jsxs)(B.Fragment,{children:[e,t]}):(0,B.jsxs)(B.Fragment,{children:[n.slice(0,i),(0,B.jsxs)(`span`,{className:`whitespace-nowrap`,children:[n.slice(i),t]})]})}var BN=(0,z.memo)(function({t:e,legacy:t,active:n=!1,onQueueNavigate:r}){let i=!t&&e.foreign===!0,a=!t&&xb(e),o=!t&&sb(e),s=!t&&Tb(e),c=t?void 0:bb(e),l=a?null:c?`${e.snoozePrompt?`BUMPS`:`SNOOZED`} · ${Ry(c)}`:!t&&e.lastFence?.kind===`awaiting`?GN(e.lastFence.hints):null,u=!a&&(!!e.activity||l!==null);return(0,B.jsxs)(`div`,{"data-sidebar-item":e.id,className:`group relative flex min-w-0 items-start rounded-md transition-[color,background-color,opacity] hover:bg-white/[0.04] ${t?`opacity-80`:a?`opacity-65 hover:opacity-90 focus-within:opacity-90`:``}`,children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,"data-sidebar-marker-rail":!0,className:`pointer-events-none absolute inset-y-0 left-0 w-5`,children:n&&(0,B.jsx)(`span`,{"data-sidebar-scroll-marker":!0,className:`absolute inset-y-0 left-1 w-[2px] rounded-full bg-accent`})}),(0,B.jsxs)(`button`,{onClick:()=>{if(e.needsYou&&lg(e.id)){r?.(e.id);return}cg(e.id)},"aria-current":n?`location`:void 0,className:`min-w-0 flex-1 flex items-start gap-2 pb-1 pl-5 pr-1.5 pt-1 text-left`,children:[(0,B.jsx)(`span`,{className:`w-4 h-[19px] shrink-0 flex items-center justify-center`,children:(0,B.jsx)(qN,{t:e,legacy:t})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 flex flex-col`,children:[(0,B.jsx)(`span`,{className:`break-words text-[13px] leading-[19px] ${o?`text-fg/50`:a?`text-fg/75`:`text-fg/90`}`,children:(0,B.jsxs)(zN,{title:eb(e),children:[!t&&(0,B.jsx)(sN,{backend:e.backend,className:`ml-1`}),i&&(0,B.jsx)(`span`,{className:`petite-caps ml-1.5 inline-block rounded border border-border/60 px-1 align-[2px] text-[9.5px] leading-[14px] text-muted/55`,title:`Read-only — running in an external terminal`,children:`terminal`}),t&&(0,B.jsx)(WN,{status:e.archived?`archived`:e.status})]})}),u&&(0,B.jsxs)(`span`,{className:`mt-0.5 flex flex-col gap-0.5 min-w-0 text-[11.5px] leading-[15px]`,children:[l&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-muted/70`,title:l,children:l}),e.activity&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-muted/70`,title:e.activity,children:e.activity})]})]})]}),t&&(0,B.jsx)(`div`,{className:`absolute right-1 top-1 hidden group-hover:flex items-stretch rounded-md bg-panel shadow-sm shadow-black/30`,children:(0,B.jsx)(Yk,{slug:e.id,size:`sm`})}),s&&(0,B.jsx)(VN,{slug:e.id})]})});function VN({slug:e}){let t=Bu(),[n,r]=(0,z.useState)(!1);return(0,B.jsx)(rN,{label:`Retry — resume this session where it left off`,children:(0,B.jsx)(`button`,{"data-sidebar-retry":e,"aria-label":`Retry exited session`,disabled:n,onMouseDown:e=>e.preventDefault(),onClick:n=>{n.stopPropagation(),r(!0),AN(t,e).finally(()=>r(!1))},className:`absolute right-1.5 top-1 hidden h-[19px] w-[19px] items-center justify-center rounded bg-panel text-muted/70 outline-none transition-colors group-hover:flex group-focus-within:flex hover:bg-panel-2 hover:text-fg disabled:opacity-50`,children:n?(0,B.jsx)(iy,{size:13,className:`animate-spin`}):(0,B.jsx)(fy,{size:13})})})}function HN({t:e}){let t=fx(e.subAgents??[],`rail`);return t.length===0?null:(0,B.jsx)(`div`,{className:`flex flex-col`,children:t.map(t=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`rail`,depth:t.depth,startedAt:t.startedAt,parentSlug:e.id,onOpen:()=>og(e.id,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}),onDismiss:_x(e.id,t),title:t.subagentType?`[${t.subagentType}] ${t.label}`:t.label},t.id))})}function UN({plan:e}){let t=e.threadIds?.length??0;return(0,B.jsx)(`div`,{className:`group relative flex min-w-0 items-start rounded-md transition-colors hover:bg-white/[0.04]`,children:(0,B.jsxs)(`button`,{onClick:()=>fg(e.path,e.title),className:`min-w-0 flex-1 flex items-start gap-2 py-1 pl-5 pr-1.5 text-left`,title:t?`${t} thread${t===1?``:`s`} from this plan`:void 0,children:[(0,B.jsx)(`span`,{className:`w-4 h-[19px] shrink-0 flex items-center justify-center`,children:(0,B.jsx)(Wv,{size:12,className:`text-muted/60`})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 break-words text-[13px] leading-[19px] text-fg/90`,children:[e.title,t>0&&(0,B.jsx)(`span`,{className:`ml-1.5 tabular-nums text-[10.5px] text-muted/45`,children:t})]})]})})}function WN({status:e}){let t=e===`archived`?`Done`:e;return(0,B.jsx)(`span`,{className:`petite-caps ml-1.5 inline-block rounded border px-1 align-[2px] leading-[14px] text-[9.5px] ${$y[e]??`text-muted border-border`}`,children:t})}function GN(e){let t=yb(e)??e.find(e=>e.kind===`pr`||e.kind===`ci`);return t?t.kind===`timer`?By(t.value)??`Timer schedule unavailable`:`${t.kind===`pr`?`PR`:t.kind===`ci`?`CI`:t.kind===`human`?`HUMAN`:t.kind===`pr-watch`?`WATCH`:t.kind} ${t.value}`:null}var KN=7;function qN({t:e,legacy:t}){let{node:n,tip:r}=t?ZN(e):JN(e);return r?(0,B.jsx)(rN,{label:r,side:`left`,children:(0,B.jsx)(`span`,{className:`flex items-center justify-center`,children:n})}):n}function JN(e){let t=wb(e);if(t===`archived`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Av,{size:10,strokeWidth:3,className:`text-muted/75`})}),tip:`Done`};if(t===`needs-input`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(XN,{ch:`?`,muted:!0})}),tip:`Needs your input`};if(t===`working`)return{node:(0,B.jsx)(jb,{}),tip:`Working`};if(t===`done`)return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Av,{size:10,strokeWidth:3,className:`text-muted/75`})}),tip:`Done`};if(t===`stalled`){let t=e.crashed===!0?`Stalled — the agent exited mid-turn`:`Stalled — the agent's process exited`;return{node:(0,B.jsx)(YN,{accent:!0,children:(0,B.jsx)(XN,{ch:`!`})}),tip:t}}if(t===`held`){let t=(0,B.jsx)(YN,{children:(0,B.jsx)($v,{size:9,className:`text-muted/70`})}),n=bb(e);if(n)return{node:t,tip:Uy(n,e.snoozePrompt)??`Snoozed until a scheduled check`};if(e.limitPause?.autoResume){let n=e.limitPause.window===`weekly`?`weekly limit`:`session limit`,r=e.limitPause.resumesAt?Wy(new Date(e.limitPause.resumesAt*1e3).toISOString()):null;return{node:t,tip:r?`${r} — ${n} reached`:`Auto-snoozed until the ${n} resets`}}if(e.lastFence?.kind!==`awaiting`)return{node:t,tip:(typeof e.revalidate==`string`?Wy(e.revalidate):null)??`Auto-snoozed until a scheduled check`};let r=yb(e.lastFence.hints);if(r?.kind===`human`)return{node:t,tip:`Waiting on a human review or approval`};if(r?.kind===`timer`)return{node:t,tip:Wy(r.value)??`Auto-snoozed until a scheduled check`};let i=e.lastFence.hints[0]?.kind;return i===`pr`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Zv,{size:9,className:`text-muted/70`})}),tip:`Legacy PR wait — active monitoring is not armed`}:i===`ci`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(zv,{size:9,className:`text-muted/70`})}),tip:`Legacy CI wait — active monitoring is not armed`}:i===`session`?{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Iv,{size:10,className:`text-muted/70`})}),tip:`Waiting on another session`}:{node:(0,B.jsx)(YN,{children:(0,B.jsx)(zv,{size:9,className:`text-muted/70`})}),tip:`Waiting on a machine`}}return{node:(0,B.jsx)(YN,{children:(0,B.jsx)(Vv,{size:11,className:`text-muted/70`})}),tip:`At rest`}}function YN({accent:e,children:t}){return(0,B.jsx)(`span`,{className:`inline-flex items-center justify-center rounded-[4px] border ${e?`border-accent/90`:`border-muted/45`}`,style:{width:15,height:15},children:t})}function XN({ch:e,muted:t}){return(0,B.jsx)(`span`,{"aria-hidden":!0,className:`font-bold leading-none ${t?`text-muted/70`:`text-accent`}`,style:{fontSize:10},children:e})}function ZN(e){if(e.runtime===`running`||e.runtime===`spawning`||e.runtime===`perm-prompt`)return{node:(0,B.jsx)(QN,{}),tip:`Working`};let t=(e.subAgents??[]).some(e=>e.state===`running`);return e.runtime===`turn-idle`&&t&&!e.humanBlocked?{node:(0,B.jsx)(QN,{}),tip:`Working`}:cb(e)?{node:(0,B.jsx)($N,{}),tip:`Needs your input`}:e.status===`needs-human`?{node:(0,B.jsx)(eP,{}),tip:`Awaiting you — open to read & reply`}:e.status===`blocked`&&e.mechanism===`timer`?{node:(0,B.jsx)(by,{size:8,className:`text-muted/70`}),tip:`Waiting on a timer`}:e.status===`blocked`&&e.mechanism===`threads`?{node:(0,B.jsx)(Iv,{size:8,className:`text-muted/70`}),tip:`Waiting on other work`}:{node:(0,B.jsx)(tP,{}),tip:null}}function QN(){return(0,B.jsx)(`span`,{className:`block rounded-full border border-muted/70 border-t-transparent animate-spin`,style:{width:8,height:8}})}function $N(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-sky-400`,style:{width:KN,height:KN}})}function eP(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-yellow-400`,style:{width:KN,height:KN}})}function tP(){return(0,B.jsx)(`span`,{className:`block rounded-full bg-muted/30`,style:{width:KN,height:KN}})}function nP(e){if(!e)return{state:`loading`};let t=e.projectLabel.trim(),n=t.lastIndexOf(`/`),r=n===-1?``:t.slice(0,n).trim(),i=n===-1?``:t.slice(n+1).trim();return r&&i?{state:`verified`,label:t,owner:r,repo:i}:{state:`unavailable`}}function rP({identity:e,state:t,boardFallback:n}){let r={open:{cls:`bg-live`,word:`connected`},connecting:{cls:`bg-accent`,word:`connecting…`},closed:{cls:`bg-red-500`,word:`disconnected`}}[t],i=t===`open`&&!!n,a=i?`connected through SSE fallback`:r.word,o=e.state===`verified`?`Project: ${e.label}; ${a}`:e.state===`loading`?`Project identity loading; ${a}`:`Project identity unavailable; ${a}`;return(0,B.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 max-w-full text-[12px]`,"data-project-identity-state":e.state,"aria-label":o,"aria-busy":e.state===`loading`||void 0,children:[(0,B.jsx)(`span`,{className:`identity-slot ${e.state===`verified`?`identity-slot--resolved`:`identity-slot--placeholder`}`,children:e.state===`verified`?(0,B.jsxs)(`span`,{className:`block min-w-0 truncate`,title:e.label,children:[(0,B.jsx)(`span`,{className:`text-muted`,children:e.owner}),(0,B.jsx)(`span`,{className:`text-muted/60 ml-0.5 mr-1`,children:`/`}),(0,B.jsx)(`span`,{className:`font-semibold text-fg/90`,children:e.repo})]}):(0,B.jsx)(`span`,{className:`identity-placeholder`,"aria-hidden":`true`})}),(0,B.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,"data-board-sync-fallback":i||void 0,title:i?`Board payload exceeded the live socket limit; connected through SSE`:void 0,children:[(0,B.jsx)(`span`,{className:`w-1.5 h-1.5 shrink-0 rounded-full ${r.cls}`}),(0,B.jsx)(`span`,{className:`text-[10.5px] text-muted/70`,children:i?`connected · SSE fallback`:r.word})]})]})}var iP=`inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-fg/75 outline-none transition-colors hover:bg-elevated hover:text-fg focus-visible:ring-1 focus-visible:ring-border-strong disabled:opacity-55`;typeof window<`u`&&window.document&&window.document.createElement;function aP(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function oP(e,t=[]){let n=[];function r(t,r){let i=z.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=z.useMemo(()=>o,Object.values(o));return(0,B.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=z.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>z.createContext(e));return function(n){let r=n?.[e]||t;return z.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,sP(i,...t)]}function sP(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return z.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var cP=`DismissableLayer`,lP=`dismissableLayer.update`,uP=`dismissableLayer.pointerDownOutside`,dP=`dismissableLayer.focusOutside`,fP,pP=z.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),mP=z.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=z.useContext(pP),[d,f]=z.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=z.useState({}),h=xx(t,f),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=_?g.indexOf(_):-1,y=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,x=y>=v,S=z.useRef(!1),C=vP(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:S,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:z.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return x&&!t},[u.branches,x])}),w=yP(e=>{if(r&&S.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),T=d?y===g.length-1:!1,E=Xx(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return z.useEffect(()=>{if(T)return p.addEventListener(`keydown`,E,{capture:!0}),()=>p.removeEventListener(`keydown`,E,{capture:!0})},[p,T,E]),z.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(fP=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),bP(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=fP))}},[d,p,n,u]),z.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),bP())},[d,u]),z.useEffect(()=>{let e=()=>m({});return document.addEventListener(lP,e),()=>document.removeEventListener(lP,e)},[]),(0,B.jsx)(Gx.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:aP(e.onFocusCapture,w.onFocusCapture),onBlurCapture:aP(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:aP(e.onPointerDownCapture,C.onPointerDownCapture)})});mP.displayName=cP;var hP=`DismissableLayerBranch`,gP=z.forwardRef((e,t)=>{let n=z.useContext(pP),r=z.useRef(null),i=xx(t,r);return z.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,B.jsx)(Gx.div,{...e,ref:i})});gP.displayName=hP;var _P=()=>!0;function vP(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=_P}=t,s=Xx(e),c=z.useRef(!1),l=z.useRef(!1),u=z.useRef(new Map),d=z.useRef(()=>{});return z.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}function t(){return Array.from(u.current.values()).some(Boolean)}function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}function p(e){l.current&&u.current.set(e.type,!1)}let m=a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||xP(uP,s,p,{discrete:!0})};if(!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:()=>c.current=!0}}function yP(e,t=globalThis?.document){let n=Xx(e),r=z.useRef(!1);return z.useEffect(()=>{let e=e=>{e.target&&!r.current&&xP(dP,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function bP(){let e=new CustomEvent(lP);document.dispatchEvent(e)}function xP(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Kx(i,a):i.dispatchEvent(a)}var SP=`focusScope.autoFocusOnMount`,CP=`focusScope.autoFocusOnUnmount`,wP={bubbles:!1,cancelable:!0},TP=`FocusScope`,EP=z.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=z.useState(null),l=Xx(i),u=Xx(a),d=z.useRef(null),f=xx(t,c),p=z.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;z.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:NP(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||NP(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&NP(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),z.useEffect(()=>{if(s){PP.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(SP,wP);s.addEventListener(SP,l),s.dispatchEvent(t),t.defaultPrevented||(DP(LP(kP(s)),{select:!0}),document.activeElement===e&&NP(s))}return()=>{s.removeEventListener(SP,l),setTimeout(()=>{let t=new CustomEvent(CP,wP);s.addEventListener(CP,u),s.dispatchEvent(t),t.defaultPrevented||NP(e??document.body,{select:!0}),s.removeEventListener(CP,u),PP.remove(p)},0)}}},[s,l,u,p]);let m=z.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=OP(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&NP(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&NP(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,B.jsx)(Gx.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});EP.displayName=TP;function DP(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(NP(r,{select:t}),document.activeElement!==n)return}function OP(e){let t=kP(e);return[AP(t,e),AP(t.reverse(),e)]}function kP(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function AP(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):jP(r,{upTo:t})))return r}function jP(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function MP(e){return e instanceof HTMLInputElement&&`select`in e}function NP(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&MP(e)&&t&&e.select()}}var PP=FP();function FP(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=IP(e,t),e.unshift(t)},remove(t){e=IP(e,t),e[0]?.resume()}}}function IP(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function LP(e){return e.filter(e=>e.tagName!==`A`)}var RP=`Popper`,[zP,BP]=oP(RP),[VP,HP]=zP(RP),UP=e=>{let{__scopePopper:t,children:n}=e,[r,i]=z.useState(null),[a,o]=z.useState(void 0);return(0,B.jsx)(VP,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};UP.displayName=RP;var WP=`PopperAnchor`,GP=z.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=HP(WP,n),o=z.useRef(null),s=a.onAnchorChange,c=xx(t,z.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=z.useRef(null);z.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&tF(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,B.jsx)(Gx.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});GP.displayName=WP;var KP=`PopperContent`,[qP,JP]=zP(KP),YP=z.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=HP(KP,n),[_,v]=z.useState(null),y=xx(t,v),[b,x]=z.useState(null),S=Yw(b),C=S?.width??0,w=S?.height??0,T=r+(a===`center`?``:`-`+a),E=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(l)?l:[l],O=D.length>0,ee={padding:E,boundary:D.filter($P),altBoundary:O},{refs:k,floatingStyles:A,placement:j,isPositioned:M,middlewareData:N}=Lw({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>Cw(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[zw({mainAxis:i+w,alignmentAxis:o}),c&&Bw({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Vw():void 0,...ee}),c&&Hw({...ee}),Uw({...ee,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&Gw({element:b,padding:s}),eF({arrowWidth:C,arrowHeight:w}),f&&Ww({strategy:`referenceHidden`,...ee,boundary:O?ee.boundary:void 0})]}),te=g.setPlacementState;wx(()=>(te(j),()=>{te(void 0)}),[j,te]);let[P,ne]=tF(j),re=Xx(m);wx(()=>{M&&re?.()},[M,re]);let ie=N.arrow?.x,ae=N.arrow?.y,oe=N.arrow?.centerOffset!==0,[se,ce]=z.useState();return wx(()=>{_&&ce(window.getComputedStyle(_).zIndex)},[_]),(0,B.jsx)(`div`,{ref:k.setFloating,"data-radix-popper-content-wrapper":``,style:{...A,transform:M?A.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:se,"--radix-popper-transform-origin":[N.transformOrigin?.x,N.transformOrigin?.y].join(` `),...N.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,B.jsx)(qP,{scope:n,placedSide:P,placedAlign:ne,onArrowChange:x,arrowX:ie,arrowY:ae,shouldHideArrow:oe,children:(0,B.jsx)(Gx.div,{"data-side":P,"data-align":ne,...h,ref:y,style:{...h.style,animation:M?void 0:`none`}})})})});YP.displayName=KP;var XP=`PopperArrow`,ZP={top:`bottom`,right:`left`,bottom:`top`,left:`right`},QP=z.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=JP(XP,n),a=ZP[i.placedSide];return(0,B.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,B.jsx)(Jw,{...r,ref:t,style:{...r.style,display:`block`}})})});QP.displayName=XP;function $P(e){return e!==null}var eF=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=tF(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function tF(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var nF=UP,rF=GP,iF=YP,aF=QP;function oF(e,t){return z.useReducer((e,n)=>t[e][n]??e,e)}var sF=e=>{let{present:t,children:n}=e,r=cF(t),i=typeof n==`function`?n({present:r.isPresent}):z.Children.only(n),a=uF(r.ref,fF(i));return typeof n==`function`||r.isPresent?z.cloneElement(i,{ref:a}):null};sF.displayName=`Presence`;function cF(e){let[t,n]=z.useState(),r=z.useRef(null),i=z.useRef(e),a=z.useRef(`none`),o=z.useRef(void 0),[s,c]=oF(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return z.useEffect(()=>{s===`mounted`?(a.current=o.current??dF(r.current),o.current=void 0):a.current=`none`},[s]),wx(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=dF(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),wx(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=dF(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=dF(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:z.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=dF(t)}else r.current=null;n(e)},[])}}function lF(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function uF(...e){let t=z.useRef(e);return t.current=e,z.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=lF(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():lF(n[e],null)}}},[])}function dF(e){return e?.animationName||`none`}function fF(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var pF=`Popover`,[mF,hF]=oP(pF,[BP]),gF=BP(),[_F,vF]=mF(pF),yF=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=gF(t),c=z.useRef(null),[l,u]=z.useState(!1),[d,f]=kx({prop:r,defaultProp:i??!1,onChange:a,caller:pF});return(0,B.jsx)(nF,{...s,children:(0,B.jsx)(_F,{scope:t,contentId:NS(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:z.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:z.useCallback(()=>u(!0),[]),onCustomAnchorRemove:z.useCallback(()=>u(!1),[]),modal:o,children:n})})};yF.displayName=pF;var bF=`PopoverAnchor`,xF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(bF,n),a=gF(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return z.useEffect(()=>(o(),()=>s()),[o,s]),(0,B.jsx)(rF,{...a,...r,ref:t})});xF.displayName=bF;var SF=`PopoverTrigger`,CF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(SF,n),a=gF(n),o=xx(t,i.triggerRef),s=(0,B.jsx)(Gx.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":RF(i.open),...r,ref:o,onClick:aP(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,B.jsx)(rF,{asChild:!0,...a,children:s})});CF.displayName=SF;var wF=`PopoverPortal`,[TF,EF]=mF(wF,{forceMount:void 0}),DF=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=vF(wF,t);return(0,B.jsx)(TF,{scope:t,forceMount:n,children:(0,B.jsx)(sF,{present:n||a.open,children:(0,B.jsx)(yT,{asChild:!0,container:i,children:r})})})};DF.displayName=wF;var OF=`PopoverContent`,kF=z.forwardRef((e,t)=>{let n=EF(OF,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=vF(OF,e.__scopePopover);return(0,B.jsx)(sF,{present:r||a.open,children:a.modal?(0,B.jsx)(jF,{...i,ref:t}):(0,B.jsx)(MF,{...i,ref:t})})});kF.displayName=OF;var AF=Mx(`PopoverContent.RemoveScroll`),jF=z.forwardRef((e,t)=>{let n=vF(OF,e.__scopePopover),r=z.useRef(null),i=xx(t,r),a=z.useRef(!1);return z.useEffect(()=>{let e=r.current;if(e)return nE(e)},[]),(0,B.jsx)(dD,{as:AF,allowPinchZoom:!0,children:(0,B.jsx)(NF,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:aP(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:aP(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:aP(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),MF=z.forwardRef((e,t)=>{let n=vF(OF,e.__scopePopover),r=z.useRef(!1),i=z.useRef(!1);return(0,B.jsx)(NF,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),NF=z.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=vF(OF,n),p=gF(n);return pS(),(0,B.jsx)(EP,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,B.jsx)(mP,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,B.jsx)(iF,{"data-state":RF(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),PF=`PopoverClose`,FF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=vF(PF,n);return(0,B.jsx)(Gx.button,{type:`button`,...r,ref:t,onClick:aP(e.onClick,()=>i.onOpenChange(!1))})});FF.displayName=PF;var IF=`PopoverArrow`,LF=z.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=gF(n);return(0,B.jsx)(aF,{...i,...r,ref:t})});LF.displayName=IF;function RF(e){return e?`open`:`closed`}var zF=yF,BF=CF,VF=DF,HF=kF;function UF({modal:e=!1,...t}){return(0,B.jsx)(zF,{modal:e,...t})}var WF=BF;function GF({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,B.jsx)(VF,{children:(0,B.jsx)(HF,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${zk} ${Uk} rounded-lg outline-none ${i}`,...a,children:e})})}var KF=3e4,qF=45e3;function JF(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}function YF(){let e=Bu(),t=(0,z.useRef)(null),[n,r]=(0,z.useState)(!1),i=td({queryKey:[`quota`],queryFn:({signal:e})=>Z.quota(void 0,{signal:JF(KF,e)}),refetchInterval:e=>{let t=e.state.data;return!t||t.claude.status!==`ok`||t.codex.status!==`ok`?15e3:3e4},staleTime:1e4,refetchOnWindowFocus:!0}),a=td({queryKey:[`authStatus`],queryFn:({signal:e})=>Z.authStatus(void 0,{signal:JF(KF,e)}),refetchInterval:12e4,staleTime:3e4,refetchOnWindowFocus:!0}),o=n=>{if(t.current)return;r(!0);let i=Promise.all([Z.quota({force:n===`claude`},{signal:JF(qF)}).then(t=>e.setQueryData([`quota`],t)),e.refetchQueries({queryKey:[`authStatus`]})]).then(()=>{}).catch(()=>{}).finally(()=>{t.current=null,r(!1)});t.current=i};return(0,B.jsxs)(`div`,{"data-quota-bar":!0,className:`flex shrink-0 items-center gap-2.5 text-[11px]`,children:[(0,B.jsx)(XF,{backend:`claude`,quota:i.data?.claude,auth:a.data?.claude,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`claude`)}),(0,B.jsx)(XF,{backend:`codex`,quota:i.data?.codex,auth:a.data?.codex,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`codex`)})]})}function XF({backend:e,quota:t,auth:n,loading:r,fetching:i,onRecheck:a}){let o=hj[e],[s,c]=(0,z.useState)(!1);if(!t&&r)return(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-muted/45`,children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:`··`})]});let l=n===`signed-out`,u=!t||t.status!==`ok`||t.windows.length===0,d=t?.detail??`quota unavailable`,f=u?void 0:$F(t.windows),p=f?ZF(100-f.usedPercent):0,m=l||u;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(UF,{onOpenChange:e=>{e&&a()},children:[(0,B.jsx)(WF,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":l?`${o}: signed out`:u?`${o} quota: ${d}`:`${o} quota: ${p}% remaining`,className:`flex items-center gap-1.5 min-w-0 rounded outline-none transition-opacity hover:opacity-80 focus-visible:ring-1 focus-visible:ring-border-strong`,children:m?(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-muted/45`,children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:`—`})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(sN,{backend:e,className:`translate-y-0!`}),(0,B.jsxs)(`span`,{className:`tabular-nums ${eI(p)}`,children:[p,`%`]})]})})}),(0,B.jsxs)(GF,{side:`bottom`,align:`start`,className:`w-[min(15rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,children:[(0,B.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 font-medium`,children:[(0,B.jsx)(sN,{backend:e}),(0,B.jsx)(`span`,{children:o}),!l&&t?.planType&&(0,B.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,tI(t.planType),` plan`]}),i&&(0,B.jsx)(iy,{size:11,className:`animate-spin text-muted/60`,"aria-label":`Rechecking`})]}),l?(0,B.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,B.jsxs)(`div`,{className:`text-muted/80`,children:[`Signed out of `,o,`.`]}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>c(!0),className:`self-start rounded-md bg-accent px-2.5 py-1 text-[11px] font-medium text-white outline-none transition-opacity hover:opacity-90`,children:`Sign in`})]}):u?(0,B.jsx)(`div`,{className:`text-muted/80`,children:d}):(0,B.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[t.windows.map(e=>{let t=ZF(100-e.usedPercent),n=nI(e);return(0,B.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,B.jsx)(`span`,{className:`text-muted/80`,children:e.label}),(0,B.jsxs)(`span`,{className:`flex items-center gap-2 tabular-nums`,children:[(0,B.jsxs)(`span`,{className:eI(t),children:[t,`% left`]}),n&&(0,B.jsxs)(`span`,{className:`text-muted/55`,children:[`resets `,n]})]})]},e.key)}),t.detail&&(0,B.jsx)(`li`,{className:`pt-1 text-muted/55`,children:t.detail})]})]})]}),s&&(0,B.jsx)(Sj,{backend:e,onClose:()=>c(!1),onAuthed:()=>{c(!1),a()}})]})}function ZF(e){return Math.max(0,Math.min(100,Math.round(e)))}var QF=25;function $F(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function eI(e){return e<=8?`text-red-400`:e<=QF?`text-accent`:`text-fg/70`}function tI(e){return e&&e[0].toUpperCase()+e.slice(1)}function nI(e){if(!e.resetsAt)return null;let t=e.resetsAt*1e3,n=new Date(t);if(Number.isNaN(n.getTime()))return null;let r=t-Date.now();if(r<=0)return null;if(r<24*36e5){let e=n.getHours(),t=n.getMinutes(),r=e>=12?`pm`:`am`;return e=e%12||12,t===0?`${e}${r}`:`${e}:${String(t).padStart(2,`0`)}${r}`}return n.toLocaleDateString(void 0,{weekday:`short`})}var rI=`fray:supervisor-status-wake`;function iI(e){return e!==null}function aI(e){return e?.updateRestart===!0}async function oI(e=fetch){try{let t=await e(`/_fray/control/status`,{headers:{"cache-control":`no-store`}});if(!t.ok||!t.headers.get(`content-type`)?.includes(`application/json`))return null;let n=await t.json();return n.protocol===1&&(n.state===`ready`||n.state===`restarting`||n.state===`failed`)?n:null}catch{return null}}async function sI(e,t){let n=await t(e,{method:`POST`,headers:{"cache-control":`no-store`}}),r;try{r=await n.json()}catch{}if(!n.headers.get(`content-type`)?.includes(`application/json`)||!r||r.protocol!==1||r.state!==`ready`&&r.state!==`restarting`&&r.state!==`failed`)throw Error(`Fray restart controls are unavailable for this server`);if(!n.ok)throw Error(r.message??`Restart request failed (${n.status})`);if(r.state===`failed`)throw Error(r.message??`Fray did not become ready`);return r}function cI(e=fetch){return sI(`/_fray/control/restart`,e)}function lI(e=fetch){return sI(`/_fray/control/update-restart`,e)}var uI=`Install the latest version of Fray. Your running threads will not be affected.`,dI=`Restart the Fray UI. Your running threads will not be affected.`;function fI({open:e,update:t}){if(!e)return null;let n=t?`Update Fray`:`Restart Fray`;return(0,B.jsxs)(`div`,{id:`update-restart-popover`,role:`tooltip`,"aria-label":n,className:`fixed left-3 right-3 top-12 z-50 w-auto rounded-xl border border-border-strong bg-elevated p-3.5 text-left font-sans shadow-xl shadow-black/45 sm:absolute sm:right-auto sm:left-0 sm:top-[calc(100%+0.65rem)] sm:w-[min(23rem,calc(100vw-1.5rem))]`,children:[(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -top-1.5 left-1.5 h-3 w-3 rotate-45 border-l border-t border-border-strong bg-elevated`}),(0,B.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,B.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-fg/10 text-fg`,children:(0,B.jsx)(dy,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,B.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:n})]}),(0,B.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:t?uI:dI})]})}function pI({update:e,busy:t,onFocus:n,onBlur:r,onClick:i}){return(0,B.jsx)(`button`,{type:`button`,"aria-describedby":`update-restart-popover`,"aria-label":e?`Update Fray`:`Restart Fray`,disabled:t,"aria-busy":t||void 0,className:iP,onFocus:n,onBlur:r,onClick:i,children:(0,B.jsx)(dy,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0})})}function mI(){let[e,t]=(0,z.useState)(!1),[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null);if((0,z.useEffect)(()=>{let e=!0;return oI().then(t=>{e&&(s(iI(t)),l(aI(t)))}),()=>{e=!1}},[]),o!==!0)return null;let d=async()=>{if(n)return;t(!1),r(!0),a(void 0);let e=`${window.location.pathname}${window.location.search}${window.location.hash}`;c&&(Y.controlPlaneState=`restarting`,Y.controlPlaneMessage=null,Y.controlPlaneRestartPending=!0);try{c?await lI():await cI(),c?(sessionStorage.setItem(`fray:reload-after-update-restart`,e),window.dispatchEvent(new Event(rI)),r(!1)):window.location.replace(e)}catch(e){c&&(Y.controlPlaneRestartPending=!1,Y.controlPlaneState=`ready`,Y.controlPlaneMessage=null);let t=e.message.slice(0,140);r(!1),a(t),X(`${c?`Update & Restart`:`Restart Fray`} failed: ${t}`)}};return(0,B.jsxs)(`div`,{ref:u,className:`relative`,onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1),children:[(0,B.jsx)(pI,{update:c,busy:n,onFocus:()=>t(!0),onBlur:()=>t(!1),onClick:()=>void d()}),i&&(0,B.jsx)(`p`,{role:`alert`,className:`absolute right-0 top-[calc(100%+0.5rem)] z-50 w-[min(23rem,calc(100vw-1.5rem))] rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-[12px] leading-relaxed text-red-200`,children:i}),(0,B.jsx)(fI,{open:e&&!i,update:c})]})}function hI(){return(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function gI({identity:e,connection:t,boardFallback:n}){return(0,B.jsxs)(`div`,{"data-status-bar":!0,className:`fixed top-2.5 left-3 z-20 flex h-7 max-w-[calc(100vw-1.5rem)] items-center gap-2 rounded-lg border border-border bg-panel px-2 text-[12px] shadow-sm shadow-black/30`,children:[(0,B.jsx)(rP,{identity:e,state:t,boardFallback:n}),(0,B.jsx)(hI,{}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:iP,onClick:()=>Y.showSettings=!0,children:(0,B.jsx)(py,{size:14,"aria-hidden":`true`})}),(0,B.jsx)(mI,{}),(0,B.jsx)(hI,{}),(0,B.jsx)(YF,{})]})}var _I=`fixed inset-0 bg-black/40 backdrop-blur-[1px] transition-opacity duration-200 ease-out motion-reduce:transition-none`,vI=`flex h-full flex-col border-l border-border bg-panel shadow-2xl shadow-black/50 transition-transform duration-200 ease-out motion-reduce:transition-none`;function yI(e,t=0){let n=Math.max(0,e-t);return`min(${720-n*28}px, ${80-n*4}vw)`}function bI(){return typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}function xI(e,t=!1){let[n,r]=(0,z.useState)(t),i=(0,z.useRef)(!1),a=Yd(Y);(0,z.useEffect)(()=>{if(t)return;let e=!1,n=()=>{e||i.current||(e=!0,r(!0))},a=requestAnimationFrame(n),o=window.setTimeout(n,120);return()=>{cancelAnimationFrame(a),window.clearTimeout(o)}},[t]);let o=(0,z.useCallback)(()=>{i.current||(i.current=!0,mg(e),r(!1),window.setTimeout(()=>hg(e),bI()?0:210))},[e]);return(0,z.useEffect)(()=>(Wh(e,o),()=>Wh(e,null)),[e,o]),(0,z.useEffect)(()=>{a.drawers.find(t=>t.id===e)?.closing||!i.current||(i.current=!1,r(!0))},[a.drawers,e]),{shown:n,close:o,closingRef:i}}function SI({id:e,depth:t,widthDepth:n,widthOffset:r=0,children:i}){let{shown:a,close:o}=xI(e);return(0,B.jsx)(`div`,{className:`${_I} flex justify-end ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+t*2},onMouseDown:o,children:(0,B.jsx)(`div`,{className:`${vI} ${a?`translate-x-0`:`translate-x-full`}`,style:{width:yI(n,r)},onMouseDown:e=>e.stopPropagation(),children:i(o)})})}var CI=`fray-thread-tab:`;function wI(e){return e===`chat`||e===`scratch`?e:null}function TI(e,t){let n=wI(e);return n===`scratch`&&!t.scratch?`chat`:n??`chat`}function EI(e,t,n){return e?t?{capabilities:t,remembered:{scope:e,capabilities:t},authoritative:!0}:n?.scope===e?{capabilities:n.capabilities,remembered:n,authoritative:!1}:{capabilities:{scratch:!1},authoritative:!1}:{capabilities:{scratch:!1},authoritative:!1}}function DI(e,t){return`${CI}${encodeURIComponent(e)}:${t}`}function OI(e,t){try{return wI(sessionStorage.getItem(DI(e,t)))??`chat`}catch{return`chat`}}function kI(e,t,n){try{sessionStorage.setItem(DI(e,t),n)}catch{}}function AI(e,t){if(!e)return{kind:`loading`};let n=e.threads.find(e=>e.id===t);return n?{kind:`found`,ownership:n.kind===`session`?n.foreign===!0?`foreign`:`owned`:`legacy`,thread:n}:{kind:`missing`}}var jI={schedule:(e,t)=>window.setTimeout(e,t),cancel:e=>window.clearTimeout(e)},MI=class{#e=`waiting`;#t=null;#n;#r;#i;#a;#o;constructor(e){this.#n=e.isActive,this.#r=e.isContentReady,this.#i=e.scrollToBottom,this.#a=e.clock??jI,this.#o=e.settleMs??120,e.preserveAnchor?.()&&(this.#e=`suppressed`)}get phase(){return this.#e}activationChanged(){if(!this.#s){if(!this.#n()){this.#l(),this.#e=`waiting`;return}this.#c()}}layoutChanged(){this.#s||!this.#n()||this.#c()}userIntent(){this.#s||(this.#l(),this.#e=`suppressed`)}dispose(){this.#l(),this.#e=`disposed`}get#s(){return this.#e===`complete`||this.#e===`suppressed`||this.#e===`disposed`}#c(){if(!this.#n()||!this.#r()){this.#l(),this.#e=`waiting`;return}this.#e=`settling`,this.#i(),this.#l(),this.#t=this.#a.schedule(()=>{if(this.#t=null,!this.#n()||!this.#r()){this.#e=`waiting`;return}if(!this.#i()){this.#c();return}this.#e=`complete`},this.#o)}#l(){this.#t!==null&&(this.#a.cancel(this.#t),this.#t=null)}},NI=`Tabs`,[PI,FI]=Sx(NI,[PT]),II=PT(),[LI,RI]=PI(NI),zI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Yx(s),[d,f]=kx({prop:r,onChange:i,defaultProp:a??``,caller:NI});return(0,B.jsx)(LI,{scope:n,baseId:NS(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,B.jsx)(Gx.div,{dir:u,"data-orientation":o,...l,ref:t})})});zI.displayName=NI;var BI=`TabsList`,VI=z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=RI(BI,n),o=II(n);return(0,B.jsx)(KT,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,B.jsx)(Gx.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});VI.displayName=BI;var HI=`TabsTrigger`,UI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=RI(HI,n),s=II(n),c=KI(o.baseId,r),l=qI(o.baseId,r),u=r===o.value;return(0,B.jsx)(qT,{asChild:!0,...s,focusable:!i,active:u,children:(0,B.jsx)(Gx.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:vx(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:vx(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:vx(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});UI.displayName=HI;var WI=`TabsContent`,GI=z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=RI(WI,n),c=KI(s.baseId,r),l=qI(s.baseId,r),u=r===s.value,d=z.useRef(u);return z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,B.jsx)(xT,{present:i||u,children:({present:n})=>(0,B.jsx)(Gx.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});GI.displayName=WI;function KI(e,t){return`${e}-trigger-${t}`}function qI(e,t){return`${e}-content-${t}`}var JI=zI,YI=VI,XI=UI,ZI=GI;function QI(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function $I(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function eL(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var tL=(e,t)=>Math.abs(e-t)<1.01,nL=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},rL,iL=()=>{if(rL!==void 0)return rL;if(typeof navigator>`u`)return rL=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return rL=!0;let e=navigator.maxTouchPoints;return rL=navigator.platform===`MacIntel`&&e!==void 0&&e>0},aL=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},oL=e=>e,sL=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},cL=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(aL(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(aL(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},lL={passive:!0},uL=typeof window>`u`?!0:`onscrollend`in window,dL=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&uL,o=0,s=a?null:nL(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,lL),a&&r.addEventListener(`scrollend`,u,lL),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},fL=(e,t)=>dL(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),pL=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},mL=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},hL=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:oL,rangeExtractor:sL,onChange:()=>{},measureElement:pL,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=$I(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!iL()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,lL),e.addEventListener(`touchend`,n,lL),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(iL()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=$I(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=$I(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=QI(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=$I(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=vL(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=$I(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=$I(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return eL(t[gL(0,t.length-1,r?e=>n[e*2]:e=>eL(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(iL()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&tL(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},gL=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function _L(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function vL(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=_L(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=gL(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var yL=typeof document<`u`?z.useLayoutEffect:z.useEffect;function bL({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=z.useReducer(e=>e+1,0)[1],a=z.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,id.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=z.useState(()=>{let e=new hL(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),yL(()=>c._didMount(),[]),yL(()=>c._willUpdate()),yL(()=>{o(c)}),c}function xL(e){return bL({observeElementRect:cL,observeElementOffset:fL,scrollToFn:mL,...e})}function SL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var CL=SL();function wL(e){CL=e}var TL={exec:()=>null};function EL(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(DL.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var DL={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`)},OL=/^(?:[ \t]*(?:\n|$))+/,kL=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,AL=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,jL=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ML=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,NL=/(?:[*+-]|\d{1,9}[.)])/,PL=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,FL=EL(PL).replace(/bull/g,NL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),IL=EL(PL).replace(/bull/g,NL).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),LL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,RL=/^[^\n]+/,zL=/(?!\s*\])(?:\\.|[^\[\]\\])+/,BL=EL(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,zL).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),VL=EL(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,NL).getRegex(),HL=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,UL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,WL=EL(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,UL).replace(`tag`,HL).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),GL=EL(LL).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex(),KL={blockquote:EL(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,GL).getRegex(),code:kL,def:BL,fences:AL,heading:ML,hr:jL,html:WL,lheading:FL,list:VL,newline:OL,paragraph:GL,table:TL,text:RL},qL=EL(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex(),JL={...KL,lheading:IL,table:qL,paragraph:EL(LL).replace(`hr`,jL).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,qL).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)]) `).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,HL).getRegex()},YL={...KL,html:EL(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,UL).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:TL,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:EL(LL).replace(`hr`,jL).replace(`heading`,` *#{1,6} *[^
|
|
257
257
|
]`).replace(`lheading`,FL).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},XL=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ZL=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,QL=/^( {2,}|\\)\n(?!\s*$)/,$L=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,eR=/[\p{P}\p{S}]/u,tR=/[\s\p{P}\p{S}]/u,nR=/[^\s\p{P}\p{S}]/u,rR=EL(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,tR).getRegex(),iR=/(?!~)[\p{P}\p{S}]/u,aR=/(?!~)[\s\p{P}\p{S}]/u,oR=/(?:[^\s\p{P}\p{S}]|~)/u,sR=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,cR=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,lR=EL(cR,`u`).replace(/punct/g,eR).getRegex(),uR=EL(cR,`u`).replace(/punct/g,iR).getRegex(),dR=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,fR=EL(dR,`gu`).replace(/notPunctSpace/g,nR).replace(/punctSpace/g,tR).replace(/punct/g,eR).getRegex(),pR=EL(dR,`gu`).replace(/notPunctSpace/g,oR).replace(/punctSpace/g,aR).replace(/punct/g,iR).getRegex(),mR=EL(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,nR).replace(/punctSpace/g,tR).replace(/punct/g,eR).getRegex(),hR=EL(/\\(punct)/,`gu`).replace(/punct/g,eR).getRegex(),gR=EL(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),_R=EL(UL).replace(`(?:-->|$)`,`-->`).getRegex(),vR=EL(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,_R).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),yR=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,bR=EL(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace(`label`,yR).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xR=EL(/^!?\[(label)\]\[(ref)\]/).replace(`label`,yR).replace(`ref`,zL).getRegex(),SR=EL(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,zL).getRegex(),CR={_backpedal:TL,anyPunctuation:hR,autolink:gR,blockSkip:sR,br:QL,code:ZL,del:TL,emStrongLDelim:lR,emStrongRDelimAst:fR,emStrongRDelimUnd:mR,escape:XL,link:bR,nolink:SR,punctuation:rR,reflink:xR,reflinkSearch:EL(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,xR).replace(`nolink`,SR).getRegex(),tag:vR,text:$L,url:TL},wR={...CR,link:EL(/^!?\[(label)\]\((.*?)\)/).replace(`label`,yR).getRegex(),reflink:EL(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,yR).getRegex()},TR={...CR,emStrongRDelimAst:pR,emStrongLDelim:uR,url:EL(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,`i`).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},ER={...TR,br:EL(QL).replace(`{2,}`,`*`).getRegex(),text:EL(TR.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},DR={normal:KL,gfm:JL,pedantic:YL},OR={normal:CR,gfm:TR,breaks:ER,pedantic:wR},kR={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},AR=e=>kR[e];function jR(e,t){if(t){if(DL.escapeTest.test(e))return e.replace(DL.escapeReplace,AR)}else if(DL.escapeTestNoEncode.test(e))return e.replace(DL.escapeReplaceNoEncode,AR);return e}function MR(e){try{e=encodeURI(e).replace(DL.percentDecode,`%`)}catch{return null}return e}function NR(e,t){let n=e.replace(DL.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(DL.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(DL.slashPipe,`|`);return n}function PR(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function FR(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function IR(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function LR(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
258
258
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
259
259
|
`)}var RR=class{options;rules;lexer;constructor(e){this.options=e||CL}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:PR(e,`
|
|
@@ -333,25 +333,25 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
|
|
|
333
333
|
`&&!t)break;o++}i(e.slice(a,o),`str`),a=o;continue}if(TB(n)){let t=a+1;for(;t<r&&/[0-9a-fA-FxXbBoO_.]/.test(e[t]);)t++;i(e.slice(a,t),`num`),a=t;continue}if(CB(n)){let n=a+1;for(;n<r&&wB(e[n]);)n++;let o=e.slice(a,n);i(o,t.keywords.has(o)?`kw`:t.types.has(o)?`type`:e[n]===`(`?`fn`:`plain`),a=n;continue}if(EB.has(n)){i(n,`punct`),a++;continue}if(DB.has(n)){let t=a+1;for(;t<r&&DB.has(e[t]);)t++;i(e.slice(a,t),`op`),a=t;continue}let o=a+1;for(;o<r&&!CB(e[o])&&!TB(e[o])&&!t.quotes.includes(e[o])&&!EB.has(e[o])&&!DB.has(e[o])&&!(t.line&&e.startsWith(t.line,o));)o++;i(e.slice(a,o),`plain`),a=o}return n}function kB(e){let t=[[]];for(let n of e){let e=n.text.split(`
|
|
334
334
|
`);for(let r=0;r<e.length;r++)r>0&&t.push([]),e[r]&&t[t.length-1].push({text:e[r],kind:n.kind})}return t}function AB(e,t){if(e===``)return[];let n=SB[t];return n?kB(OB(e,n)):e.split(`
|
|
335
335
|
`).map(e=>e?[{text:e,kind:`plain`}]:[])}function jB(e,t,n){let r=e.length,i=t.length,a=Array.from({length:r+1},()=>new Uint32Array(i+1));for(let n=r-1;n>=0;n--)for(let r=i-1;r>=0;r--)a[n][r]=e[n]===t[r]?a[n+1][r+1]+1:Math.max(a[n+1][r],a[n][r+1]);let o=[],s=0,c=0;for(;s<r&&c<i;)e[s]===t[c]?(o.push({type:`eq`,a:n+s,b:n+c}),s++,c++):a[s+1][c]>=a[s][c+1]?(o.push({type:`del`,a:n+s,b:null}),s++):(o.push({type:`add`,a:null,b:n+c}),c++);for(;s<r;)o.push({type:`del`,a:n+s++,b:null});for(;c<i;)o.push({type:`add`,a:null,b:n+c++});return o}function MB(e,t){let n=e.length,r=t.length,i=0;for(;i<n&&i<r&&e[i]===t[i];)i++;let a=0;for(;a<n-i&&a<r-i&&e[n-1-a]===t[r-1-a];)a++;let o=[];for(let e=0;e<i;e++)o.push({type:`eq`,a:e,b:e});o.push(...jB(e.slice(i,n-a),t.slice(i,r-a),i));for(let e=0;e<a;e++)o.push({type:`eq`,a:n-a+e,b:r-a+e});return o}var NB=3,PB=e=>e===``?[]:e.split(`
|
|
336
|
-
`);function FB(e,t,n){return e.type===`del`?{type:`del`,oldLine:e.a+1,newLine:null,tokens:t[e.a]??[]}:e.type===`add`?{type:`add`,oldLine:null,newLine:e.b+1,tokens:n[e.b]??[]}:{type:`context`,oldLine:e.a+1,newLine:e.b+1,tokens:n[e.b]??[]}}function IB(e){let t=[];for(let n=0;n<e.length;n++)e[n].type!==`context`&&t.push(n);if(t.length===0)return{hunks:[],collapsedAfter:e.length};let n=[],r=Math.max(0,t[0]-NB),i=-1;for(let a=0;a<t.length;a++){let o=t[a],s=t[a+1];i=Math.min(e.length-1,o+NB),!(s!==void 0&&s-o<=7)&&(n.push({collapsedBefore:r,lines:e.slice(r,i+1)}),s!==void 0&&(r=Math.max(i+1,s-NB)))}let a=n.length?n[n.length-1].collapsedBefore+n[n.length-1].lines.length:0;return{hunks:n,collapsedAfter:Math.max(0,e.length-a)}}function LB(e,t,n){let r=vB(n),i=AB(e,r),a=AB(t,r),o=PB(e),s=PB(t),c=e===``?`added`:t===``?`deleted`:`modified`;if(c===`added`){let e=s.map((e,t)=>({type:`add`,oldLine:null,newLine:t+1,tokens:a[t]??[]}));return{file:n,lang:r,status:c,hunks:[{collapsedBefore:0,lines:e}],collapsedAfter:0,additions:e.length,deletions:0}}if(c===`deleted`){let e=o.map((e,t)=>({type:`del`,oldLine:t+1,newLine:null,tokens:i[t]??[]}));return{file:n,lang:r,status:c,hunks:[{collapsedBefore:0,lines:e}],collapsedAfter:0,additions:0,deletions:e.length}}let l=MB(o,s).map(e=>FB(e,i,a)),u=l.filter(e=>e.type===`add`).length,d=l.filter(e=>e.type===`del`).length,{hunks:f,collapsedAfter:p}=IB(l);return{file:n,lang:r,status:c,hunks:f,collapsedAfter:p,additions:u,deletions:d}}function RB({children:e,className:t,controls:n,expanded:r,label:i,meta:a,onToggle:o,chevronSize:s=12}){return(0,z.createElement)(`div`,{className:`${t} w-full text-left`,"data-expanded":r},(0,z.createElement)(`span`,{className:`flex min-w-0 items-center gap-2`},e),(0,z.createElement)(`span`,{className:`flex shrink-0 items-center gap-1.5`},a,(0,z.createElement)(`button`,{type:`button`,"data-tool-disclosure":!0,"aria-controls":n,"aria-expanded":r,"aria-label":i,title:i,onClick:o,className:`-m-1 inline-flex shrink-0 items-center justify-center rounded p-1 text-muted outline-none transition-colors hover:text-fg/80 focus-visible:ring-1 focus-visible:ring-fg/60`},(0,z.createElement)(Mv,{"aria-hidden":!0,size:s,className:`relative -top-px shrink-0 transition-transform ${r?`rotate-90`:``}`}))))}function
|
|
337
|
-
`).map(e=>e.replace(/\r$/,``)),i=e=>r.findIndex((t,n)=>n>e&&
|
|
336
|
+
`);function FB(e,t,n){return e.type===`del`?{type:`del`,oldLine:e.a+1,newLine:null,tokens:t[e.a]??[]}:e.type===`add`?{type:`add`,oldLine:null,newLine:e.b+1,tokens:n[e.b]??[]}:{type:`context`,oldLine:e.a+1,newLine:e.b+1,tokens:n[e.b]??[]}}function IB(e){let t=[];for(let n=0;n<e.length;n++)e[n].type!==`context`&&t.push(n);if(t.length===0)return{hunks:[],collapsedAfter:e.length};let n=[],r=Math.max(0,t[0]-NB),i=-1;for(let a=0;a<t.length;a++){let o=t[a],s=t[a+1];i=Math.min(e.length-1,o+NB),!(s!==void 0&&s-o<=7)&&(n.push({collapsedBefore:r,lines:e.slice(r,i+1)}),s!==void 0&&(r=Math.max(i+1,s-NB)))}let a=n.length?n[n.length-1].collapsedBefore+n[n.length-1].lines.length:0;return{hunks:n,collapsedAfter:Math.max(0,e.length-a)}}function LB(e,t,n){let r=vB(n),i=AB(e,r),a=AB(t,r),o=PB(e),s=PB(t),c=e===``?`added`:t===``?`deleted`:`modified`;if(c===`added`){let e=s.map((e,t)=>({type:`add`,oldLine:null,newLine:t+1,tokens:a[t]??[]}));return{file:n,lang:r,status:c,hunks:[{collapsedBefore:0,lines:e}],collapsedAfter:0,additions:e.length,deletions:0}}if(c===`deleted`){let e=o.map((e,t)=>({type:`del`,oldLine:t+1,newLine:null,tokens:i[t]??[]}));return{file:n,lang:r,status:c,hunks:[{collapsedBefore:0,lines:e}],collapsedAfter:0,additions:0,deletions:e.length}}let l=MB(o,s).map(e=>FB(e,i,a)),u=l.filter(e=>e.type===`add`).length,d=l.filter(e=>e.type===`del`).length,{hunks:f,collapsedAfter:p}=IB(l);return{file:n,lang:r,status:c,hunks:f,collapsedAfter:p,additions:u,deletions:d}}var RB=`a, button, input, select, textarea, summary, label, [role="button"], [role="link"]`;function zB(e){let t=e;return typeof t?.closest==`function`&&t.closest(RB)!=null}function BB({children:e,className:t,controls:n,expanded:r,label:i,meta:a,onToggle:o,chevronSize:s=12}){function c(e){if(zB(e.target))return;let t=typeof window>`u`?null:window.getSelection();t&&!t.isCollapsed&&t.toString().trim()!==``||o()}return(0,z.createElement)(`div`,{className:`${t} w-full cursor-pointer text-left`,"data-expanded":r,onClick:c},(0,z.createElement)(`span`,{className:`flex min-w-0 items-center gap-2`},e),(0,z.createElement)(`span`,{className:`flex shrink-0 items-center gap-1.5`},a,(0,z.createElement)(`button`,{type:`button`,"data-tool-disclosure":!0,"aria-controls":n,"aria-expanded":r,"aria-label":i,title:i,onClick:o,className:`-m-1 inline-flex shrink-0 items-center justify-center rounded p-1 text-muted outline-none transition-colors hover:text-fg/80 focus-visible:ring-1 focus-visible:ring-fg/60`},(0,z.createElement)(Mv,{"aria-hidden":!0,size:s,className:`relative -top-px shrink-0 transition-transform ${r?`rotate-90`:``}`}))))}function VB(e,t){return`cursor://file${e}${t?`:${t}`:``}`}function HB({path:e,line:t,className:n=``,children:r}){return(0,B.jsx)(`a`,{href:VB(e,t),title:e,className:`font-mono-keep cursor-pointer hover:underline hover:text-fg/80 ${n}`,children:r??e})}function UB(e){let t=e.split(`/`).filter(Boolean);return t.length?t[t.length-1]:e}function WB({edits:e,meta:t}){let{compactDiffs:n}=Yd(Xy),r=(0,z.useId)(),i=e[0].file,a=(0,z.useMemo)(()=>e.map(e=>LB(e.old,e.new,e.file)),[e]),o=a.reduce((e,t)=>e+t.additions,0),s=a.reduce((e,t)=>e+t.deletions,0),[c,l]=(0,z.useState)(null);(0,z.useEffect)(()=>l(null),[n]);let u=c??!n;return(0,B.jsxs)(`div`,{className:`fray-diff`,children:[(0,B.jsxs)(BB,{className:`fray-diff-header`,controls:r,expanded:u,label:`${u?`Collapse`:`Expand`} Edit diff: ${i}`,onToggle:()=>l(!u),meta:t,chevronSize:11,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:`Edit`}),(0,B.jsx)(`span`,{className:`fray-diff-file`,children:(0,B.jsx)(HB,{path:i,className:`text-inherit no-underline`,children:UB(i)})}),o>0&&(0,B.jsxs)(`span`,{className:`fray-diff-add tabular-nums shrink-0`,children:[`+`,o]}),s>0&&(0,B.jsxs)(`span`,{className:`fray-diff-del tabular-nums shrink-0`,children:[`−`,s]})]}),(0,B.jsx)(`div`,{id:r,className:`fray-diff-body`,hidden:!u,children:u&&a.map((e,t)=>(0,B.jsx)(`div`,{className:t>0?`fray-diff-editsep`:void 0,children:(0,B.jsx)(GB,{hunks:e.hunks,collapsedAfter:e.collapsedAfter})},t))})]})}function GB({hunks:e,collapsedAfter:t}){let n=0,r=[];return e.forEach((e,t)=>{let i=e.collapsedBefore-n;i>0&&r.push((0,B.jsx)(KB,{n:i},`s${t}`));for(let n of e.lines){let e=n.type===`del`?n.oldLine:n.newLine,i=n.type===`add`?`+`:n.type===`del`?`-`:` `;r.push((0,B.jsxs)(`div`,{className:`fray-diff-line`,"data-type":n.type,children:[(0,B.jsx)(`span`,{className:`fray-diff-gutter`,children:e}),(0,B.jsx)(`span`,{className:`fray-diff-sign`,children:i}),(0,B.jsx)(`span`,{className:`fray-diff-code`,children:n.tokens.map((e,t)=>(0,B.jsx)(`span`,{className:`ftk-${e.kind}`,children:e.text},t))})]},`${t}:${n.oldLine}:${n.newLine}`))}n=e.collapsedBefore+e.lines.length}),t>0&&r.push((0,B.jsx)(KB,{n:t},`safter`)),(0,B.jsx)(B.Fragment,{children:r})}function KB({n:e}){return(0,B.jsxs)(`div`,{className:`fray-diff-sep`,children:[e,` unchanged line`,e===1?``:`s`]})}var qB=`Todos`,JB={pending:{Icon:yy,className:`text-muted/50`},in_progress:{Icon:_y,className:`text-accent`},completed:{Icon:gy,className:`text-muted/75`}},YB={pending:`text-fg/75`,in_progress:`text-fg`,completed:`text-muted/70`};function XB({status:e}){let{Icon:t,className:n}=JB[e];return(0,B.jsx)(t,{"aria-hidden":`true`,size:`1em`,strokeWidth:2,className:`fray-todo-mark shrink-0 ${n}`})}var ZB={pending:`to do`,in_progress:`in progress`,completed:`done`};function QB({todos:e,note:t,meta:n}){let[r,i]=(0,z.useState)(!1),a=(0,z.useId)(),o=e.filter(e=>e.status===`completed`).length,s=e.find(e=>e.status===`in_progress`),c=e.length>0||!!t,l=e.length>0?`${o}/${e.length}`:void 0,u=s?s.text:e.length===0?`empty`:void 0;return(0,B.jsxs)(`div`,{className:`fray-bash`,"data-todo-card":!0,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>c&&i(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":c?a:void 0,"aria-expanded":c?r:void 0,"aria-label":`${c?`${r?`Collapse`:`Expand`} `:``}${qB}${u?`: ${u}`:``}${l?` — ${o} of ${e.length} done`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:qB}),u&&(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-[11.5px]`,title:u,"data-todo-headline":!0,children:[s&&(0,B.jsx)(XB,{status:`in_progress`}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-muted`,children:u})]})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[l&&(0,B.jsx)(`span`,{className:`fray-tool-header-caps tabular-nums text-[11px] text-muted/55`,title:`${o} of ${e.length} done`,children:l}),n,c&&(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${r?`rotate-90`:``}`})]})]}),c&&(0,B.jsxs)(`div`,{id:a,hidden:!r,children:[r&&e.length>0&&(0,B.jsx)(`ul`,{className:`fray-todo-list`,children:e.map((e,t)=>(0,B.jsxs)(`li`,{className:`fray-todo-row`,"data-current":e.status===`in_progress`?`true`:void 0,children:[(0,B.jsx)(XB,{status:e.status}),(0,B.jsx)(`span`,{className:`min-w-0 ${YB[e.status]}`,children:e.text}),(0,B.jsx)(`span`,{className:`sr-only`,children:` — ${ZB[e.status]}`})]},t))}),r&&t&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`fray-bash-output-label petite-caps`,children:`note`}),(0,B.jsx)(`pre`,{className:`fray-bash-body fray-bash-output-body`,children:t})]})]})]})}var $B=/^```question(?:[ \t]+([A-Za-z][^\r\n]*?))?[ \t]*\r?\n([\s\S]*?)\r?\n```[ \t]*$/gm;function eV(e){let t=(e??``).toLowerCase().split(/\s+/).filter(Boolean),n=e=>t.includes(e);return{kind:n(`multi`)?`multi`:`question`,danger:n(`danger`)}}function tV(e){let t=[],n=Mm(e),r=0;$B.lastIndex=0;for(let i=$B.exec(e);i!==null;i=$B.exec(e)){if(n(i.index)){$B.lastIndex=i.index+1;continue}let a=e.slice(r,i.index);a.trim()&&t.push({kind:`prose`,text:a});let{kind:o,danger:s}=eV(i[1]);t.push({kind:`question`,text:i[2],questionKind:o,danger:s}),r=i.index+i[0].length}let i=e.slice(r);return i.trim()&&t.push({kind:`prose`,text:i}),t}var nV=/^\s*(?:[-*+]\s+)?([A-Z]|\d+)[.)]\s+\S/,rV=/^\s*recommendation\b/i;function iV(e){return e.trim().replace(/^[-*+]\s+/,``)}function aV(e){return iV(e).match(/^([A-Za-z]|\d+)[.)]/)?.[1].toUpperCase()??``}function oV(e,t){return/^\d+$/.test(e)?/^\d+$/.test(t)&&Number(t)===Number(e)+1:/^[A-Z]$/.test(e)&&/^[A-Z]$/.test(t)&&t.charCodeAt(0)===e.charCodeAt(0)+1}var sV=e=>e===`A`||e===`1`,cV=/(^|[^a-z])recommended([^a-z]|$)/i;function lV(e){return e.replace(/\s{2,}/g,` `).trim()}function uV(e){if(!cV.test(e))return{label:e,recommended:!1};let t=e.match(/\s*[—–-]?\s*[([]\s*[*_`~]*recommended\b(?:\s*[::,;—–-]\s*([^)\]]*?))?\s*[*_`~]*\s*[)\]]/i);if(t){let n=t[1]?.trim()||void 0;return{label:lV(e.slice(0,t.index)+e.slice(t.index+t[0].length)),recommended:!0,note:n}}let n=e.match(/\s*[—–:-]?\s*[*_`~]+recommended\b[*_`~]+\s*[—–:-]?\s*/i);if(n)return{label:lV(e.slice(0,n.index)+` `+e.slice(n.index+n[0].length)),recommended:!0};let r=e.match(/\s*[—–:-]?\s*recommended\b\s*$/i);if(r&&r.index>0)return{label:lV(e.slice(0,r.index)),recommended:!0};let i=e.match(/^(\s*(?:[A-Za-z]|\d+)[.)]\s*)?[*_`~]*recommended\b[*_`~]*\s*[::—–-]\s*/i);if(i){let t=lV((i[1]??``)+e.slice(i[0].length));if(t)return{label:t,recommended:!0}}return{label:e,recommended:!1}}function dV(e,t,n=!1){let r=e.split(`
|
|
337
|
+
`).map(e=>e.replace(/\r$/,``)),i=e=>r.findIndex((t,n)=>n>e&&nV.test(t)),a=e=>{let t=[];for(let n=e;n<r.length;n++){if(nV.test(r[n])){t.push(n);continue}if(t.length===0||r[n].trim()===``)continue;if(rV.test(r[n]))break;let e=i(n);if(e===-1||!oV(aV(r[t[t.length-1]]),aV(r[e])))break}return t},o=e=>{for(let t=e.length-1;t>0;t--)if(!oV(aV(r[e[t-1]]),aV(r[e[t]])))return sV(aV(r[e[t]]))?t:0;return+(e.length===1&&!/^\s*[-*+]\s/.test(r[e[0]])&&!r.slice(0,e[0]).some(e=>e.trim()))},s=[];for(let e=0;e<r.length;){let t=a(e);if(t.length===0)break;let n=o(t);if(n<t.length){s=t.slice(n);break}e=t[0]+1}if(s.length===0)return{kind:t,danger:n,contextMd:e,options:[],recommendedIdx:null};let c=s[0],l=s[s.length-1],u=[],d=null,f,p=[];for(let[e,t]of s.entries()){let{label:n,recommended:i,note:a}=uV(iV(r[t]));i&&d===null&&(d=u.length,f=a),u.push(n);let o=e===0?[]:r.slice(s[e-1]+1,t).filter(e=>e.trim());p.push(o.length?o.join(`
|
|
338
338
|
`):void 0)}let m=e=>{let t=0,n=e.length-1;for(;t<=n&&e[t].trim()===``;)t++;for(;n>=t&&e[n].trim()===``;)n--;return e.slice(t,n+1)},h=m(r.slice(0,c)).join(`
|
|
339
|
-
`),g,_=[];for(let e of r.slice(l+1))g===void 0&&
|
|
340
|
-
`)||void 0;return d===null&&g&&(d=
|
|
341
|
-
`)){let e=t.replace(/\r$/,``),i=e.match(
|
|
342
|
-
`).trim(),hints:n.slice(0,
|
|
339
|
+
`),g,_=[];for(let e of r.slice(l+1))g===void 0&&rV.test(e)?g=e.trim():_.push(e);let v=m(_).join(`
|
|
340
|
+
`)||void 0;return d===null&&g&&(d=pV(g,u),d!==null&&(f=g)),{kind:t,danger:n,contextMd:h,options:u,recommendedIdx:d,recommendedNote:f,recommendation:g,trailingMd:v,...p.some(Boolean)?{optionHeadings:p}:{}}}var fV=/^[*_`~\s]+/;function pV(e,t){if(!e)return null;let n=e.replace(/^\s*recommendation\s*:?\s*/i,``).replace(fV,``).match(/^([A-Za-z]|\d+)(?![A-Za-z0-9])/);if(!n)return null;let r=n[1].toUpperCase(),i=t.findIndex(e=>{let t=e.replace(fV,``).match(/^([A-Za-z]|\d+)[.)]/);return t?t[1].toUpperCase()===r:!1});return i===-1?null:i}function mV(e){let t=e.match(/^\s*([A-Za-z]|\d+)[.)]/);return t?t[1].toUpperCase():e.trim()}function hV(e,t){let n=t.text.trim();if(e.kind===`multi`){let r=(t.chosenSet??[]).slice().sort((e,t)=>e-t).map(t=>mV(e.options[t]??``)).filter(Boolean).join(`, `);return r&&n?`${r} — ${n}`:r||n}return n||(t.chosen==null?``:e.options[t.chosen]??``)}var gV=/^```(done|awaiting)[ \t]*\r?\n([\s\S]*?)\r?\n```[ \t]*$/gm,_V=/^(pr-watch|human|timer|pr|ci|session):\s*(\S.*)$/i,vV=8,yV=200;function bV(e,t){if(t===`done`)return{body:e.trim(),hints:[]};let n=[],r=[];for(let t of e.split(`
|
|
341
|
+
`)){let e=t.replace(/\r$/,``),i=e.match(_V);i?n.push({kind:i[1].toLowerCase(),value:i[2].trim().slice(0,yV)}):r.push(e)}return{body:r.join(`
|
|
342
|
+
`).trim(),hints:n.slice(0,vV)}}function xV(e){let t=[],n=Mm(e),r=0;gV.lastIndex=0;for(let i=gV.exec(e);i!==null;i=gV.exec(e)){if(n(i.index)){gV.lastIndex=i.index+1;continue}let a=e.slice(r,i.index);a.trim()&&t.push({kind:`prose`,text:a});let o=i[1],{body:s,hints:c}=bV(i[2],o);t.push({kind:`fence`,fenceKind:o,body:s,hints:c}),r=i.index+i[0].length}let i=e.slice(r);return i.trim()&&t.push({kind:`prose`,text:i}),t}var SV=/^(\d+)\.\s+(.*)$/;function CV(e){if(!e)return null;let t=e.replace(/\r\n?/g,`
|
|
343
343
|
`).split(`
|
|
344
|
-
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==`Answers:`)return null;n++;let r=[];for(;n<t.length;n++){let e=t[n],i=e.match(
|
|
344
|
+
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==`Answers:`)return null;n++;let r=[];for(;n<t.length;n++){let e=t[n],i=e.match(SV);if(i)r.push({n:Number(i[1]),answer:i[2]});else if(r.length>0){let t=r[r.length-1];t.answer=t.answer?`${t.answer}\n${e}`:e}else if(e.trim())return null}if(r.length===0)return null;for(let e of r)e.answer=e.answer.replace(/\s+$/,``);return r}var wV=`Answers to earlier questions:`,TV=/^(\d+)\.\s+[“"](.*?)[”"]\s+→\s+(.*)$/;function EV(e){if(!e)return null;let t=e.replace(/\r\n?/g,`
|
|
345
345
|
`).split(`
|
|
346
|
-
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==
|
|
346
|
+
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==wV)return null;n++;let r=[];for(;n<t.length;n++){let e=t[n],i=e.match(TV);if(i){let e=i[2].trim();r.push(e?{n:Number(i[1]),answer:i[3],question:e}:{n:Number(i[1]),answer:i[3]})}else if(r.length>0){let t=r[r.length-1];t.answer=t.answer?`${t.answer}\n${e}`:e}else if(e.trim())return null}if(r.length===0)return null;for(let e of r)e.answer=e.answer.replace(/\s+$/,``);return r}function DV(e){return EV(e)??CV(e)}function OV(e,t){let n=e[t];if(!n||n.role!==`user`||n.kind===`event`)return null;let r=EV(n.text);if(r)return r;let i=CV(n.text);if(!i)return null;for(let n=t-1;n>=0;n--){let t=e[n];if(t.kind===`event`||t.kind===`reasoning`||!t.text.trim())continue;if(t.role===`user`)break;let r=tV(t.text).filter(e=>e.kind===`question`);if(r.length!==0){if(!i.every((e,t)=>Number.isInteger(e.n)&&e.n>=1&&e.n<=r.length&&(t===0||e.n>i[t-1].n)))break;return i.map(e=>{let t=r[e.n-1],n=t.kind===`question`?dV(t.text,t.questionKind,t.danger).contextMd.trim():``;return n?{...e,question:n}:{...e}})}}return i}function kV(e){return e.map((t,n)=>OV(e,n))}var AV=`[overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`,jV=`rounded-xl`,MV=`rounded-t-xl`,NV={neutral:{border:`border-border-strong`,head:`text-fg`},attention:{border:`border-accent/45`,head:`text-accent`},caution:{border:`border-border-strong`,head:`text-amber-400`},danger:{border:`border-red-500/45`,head:`text-red-400`}},PV=`card-icon-offset`;function FV({icon:e,label:t,head:n=NV.neutral.head,aside:r}){return(0,B.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[(0,B.jsx)(`span`,{className:`min-w-0 flex-1 text-[13px] font-medium leading-5 tracking-tight ${n}`,children:t}),r&&(0,B.jsx)(`span`,{className:`shrink-0 leading-5`,children:r}),(0,B.jsx)(e,{"aria-hidden":`true`,size:14,className:`shrink-0 ${PV} ${n}`})]})}function IV({children:e}){return(0,B.jsx)(`div`,{className:`card-md mt-1 min-w-0 text-fg/75`,children:e})}function LV({tone:e=`neutral`,icon:t,label:n,aside:r,children:i,className:a=``,...o}){let{border:s,head:c}=NV[e];return(0,B.jsxs)(`div`,{...o,className:`min-w-0 ${jV} border ${s} bg-panel-2 p-4 ${a}`,children:[(0,B.jsx)(FV,{icon:t,label:n,head:c,aside:r}),i!=null&&(0,B.jsx)(IV,{children:i})]})}var RV=`block min-w-0 text-[13px] leading-5 text-fg/75`;function zV({children:e,className:t=``}){return(0,B.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center justify-start gap-x-2.5 gap-y-2 ${t}`,children:e})}var BV=`min-w-0 flex-1 text-[11px] leading-snug text-muted/70`,VV=`flex shrink-0 items-center gap-1 rounded-md text-[11px] font-medium outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60 bg-fg px-2.5 py-1 text-bg hover:opacity-90`;function HV(e){let t=e.split(`:`);return t.length>=3?t.slice(2).join(`:`):e}var UV={right:`-top-4 right-0`,left:`top-0 right-full mr-1.5`};function WV({sourceId:e,side:t=`right`}){let[n,r]=(0,z.useState)(!1);return e?(0,B.jsxs)(`button`,{type:`button`,"data-message-debug-id":e,title:`Copy debug id — ${e}`,"aria-label":`Copy debug id for this message, ${e}`,onClick:()=>{if(!navigator.clipboard?.writeText){X(`Clipboard unavailable — copy from a secure Fray page`);return}navigator.clipboard.writeText(e).then(()=>{r(!0),X(`Message debug id copied`),setTimeout(()=>r(!1),1200)},()=>X(`Clipboard unavailable — copy from a secure Fray page`))},onMouseDown:e=>e.preventDefault(),className:`absolute ${UV[t]} z-[8] flex items-center gap-0.5 whitespace-nowrap rounded-md border border-border bg-panel/90 px-1 py-px font-mono text-[9.5px] leading-tight text-muted opacity-0 backdrop-blur-sm transition-opacity hover:text-fg focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-fg/60 group-hover/msg:opacity-100`,children:[n?(0,B.jsx)(Av,{"aria-hidden":!0,size:9}):(0,B.jsx)(Qv,{"aria-hidden":!0,size:9}),(0,B.jsx)(`span`,{children:n?`copied`:HV(e)})]}):null}var GV=`icon-label-nudge`;function KV(e,t=Date.now()){let n=e?Date.parse(e):NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return null;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<60)return`just now`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);if(a<24)return`${a}h ago`;let o=Math.floor(a/24);if(o<7)return`${o}d ago`;let s=Math.floor(o/7);if(s<5)return`${s}w ago`;let c=Math.floor(o/30);return c<12?`${c}mo ago`:`${Math.floor(o/365)}y ago`}function qV(e,t,n){return e===1?n?`New ${t} from @${n}`:`New ${t}`:`${e} new items`}function JV(e){let t=/^([A-Za-z0-9][\w.-]*)\/([A-Za-z0-9][\w.-]*)#(\d+)$/.exec(e);return t?`https://github.com/${t[1]}/${t[2]}/pull/${t[3]}`:null}var YV=`shrink-0 ${GV}`,XV=`text-accent underline underline-offset-2 decoration-accent/40 hover:decoration-accent`;function ZV({sourceId:e,children:t}){return(0,B.jsxs)(`div`,{"data-fray-msg":e,"data-fray-wake":!0,className:`group/msg relative min-w-0 max-w-[85%]`,children:[(0,B.jsx)(WV,{sourceId:e,side:`right`}),t]})}function QV({item:e}){let t=e.bot?Ov:wy,n=KV(e.at),r=(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(t,{size:12,className:`${YV} text-muted/70`}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[(0,B.jsxs)(`span`,{className:`font-medium text-fg/90`,children:[`@`,e.actor]}),(0,B.jsxs)(`span`,{className:`text-muted`,children:[` · `,e.label]})]}),n&&(0,B.jsx)(`span`,{title:e.at,className:`shrink-0 tabular-nums text-[11px] text-muted/60`,children:n})]}),i=`-mx-4 flex items-center gap-1 rounded-md px-4 py-1 text-[12px] leading-5`;return e.url?(0,B.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,className:`${i} outline-none transition-colors hover:bg-bg/60 focus-visible:bg-bg/60 focus-visible:ring-1 focus-visible:ring-fg/40`,children:r}):(0,B.jsx)(`div`,{className:i,children:r})}function $V({text:e,sourceId:t,wrap:n}){let r=Ah(e);if(!r)return(0,B.jsx)(ZV,{sourceId:t,children:(0,B.jsx)(LV,{icon:Dv,label:`Fray`,children:(0,B.jsx)(`div`,{className:`${RV} whitespace-pre-wrap [overflow-wrap:anywhere]${n?` ${AV}`:``}`,children:e})})});let i=JV(r.ref),a=r.items.length+r.omitted,o=r.items.length===1&&r.omitted===0?r.items[0]:null,s=i?(0,B.jsx)(`a`,{href:i,target:`_blank`,rel:`noreferrer noopener`,className:`${XV} text-[12px]`,children:r.ref}):(0,B.jsx)(`span`,{className:`text-[12px] text-muted`,children:r.ref}),c=qV(a,r.items[0].label,o?.actor),l=o?KV(o.at):null;return(0,B.jsx)(ZV,{sourceId:t,children:(0,B.jsx)(LV,{icon:Zv,label:(0,B.jsxs)(B.Fragment,{children:[o?.url?(0,B.jsx)(`a`,{href:o.url,target:`_blank`,rel:`noreferrer noopener`,className:`underline decoration-fg/25 underline-offset-2 hover:decoration-fg`,children:c}):c,l&&(0,B.jsxs)(`span`,{title:o?.at,className:`whitespace-nowrap font-normal text-muted/70`,children:[` · `,l]})]}),aside:s,children:o?void 0:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`flex flex-col`,children:r.items.map(e=>(0,B.jsx)(QV,{item:e},e.url??`${e.actor}-${e.at??``}-${e.label}`))}),r.omitted>0&&(0,B.jsxs)(`div`,{className:`mt-1 text-[11px] leading-5 text-muted/60`,children:[`…and `,r.omitted,` more not listed`]})]})})})}function eH(e){return e.sourceId??`legacy-${oH(e.text)}`}function tH(e,t){let n=-1;for(let t=e.length-1;t>=0;t--){let r=e[t];if(!(r.kind===`event`||r.kind===`reasoning`)&&r.role===`assistant`&&r.text.trim()){n=t;break}}let r=e=>tV(e).filter(e=>e.kind===`question`).map(e=>e.kind===`question`?dV(e.text,e.questionKind,e.danger):dV(``,`question`)),i=new Set,a=(e,t)=>{let n=eH(e);return i.has(n)&&(n=`${n}#${t}`),i.add(n),n};if(!t){for(let t=e.length-1;t>=0;t--){let i=e[t];if(i.kind===`event`||i.kind===`reasoning`)continue;if(i.role===`user`&&i.text.trim())break;if(i.role!==`assistant`||!i.text.trim())continue;let o=r(i.text);if(o.length>0)return[{idx:t,identity:a(i,t),blocks:o,isLive:t===n}]}return[]}let o=[];for(let t=0;t<e.length;t++){let i=e[t];if(i.kind===`event`||i.kind===`reasoning`||i.role!==`assistant`||!i.text.trim())continue;let s=r(i.text);s.length>0&&o.push({idx:t,identity:a(i,t),blocks:s,isLive:t===n})}return o}function nH(e){let{answered:t,live:n}=e;return t.length>0&&t.every(e=>e.isLive)&&n?n.blockCount===1?n.numbered[0].a:`Answers:\n${n.numbered.map(({n:e,a:t})=>`${e}. ${t}`).join(`
|
|
347
347
|
`)}`:`Answers to earlier questions:\n${t.map((e,t)=>`${t+1}. “${e.question}” → ${e.answer}`).join(`
|
|
348
|
-
`)}`}function
|
|
349
|
-
`).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>120?`${t.slice(0,117)}…`:t}function rH(e){return nH(e.contextMd)||nH(e.options.join(` / `))||`earlier question`}function iH(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)}function aH(e){return(0,z.useSyncExternalStore)(e=>Kd(Y,e),()=>e?oH(e)!==`codex`:!1,()=>!1)}function oH(e){return xg(Y.board,e)?.backend}function sH(e,t,n,r){let i=iM.followUp(e,t,n),a=nM.get(i),o=a?`${r}\n\n${a}`:r;return nM.set(i,o),i}function cH(e){if(!(typeof document>`u`)){for(let t=e;t;t=t.parentElement){let e=t.querySelector(`[data-thread-composer-box] textarea`);if(e){e.focus(),e.setSelectionRange(e.value.length,e.value.length);return}}document.getElementById(`followup-input`)?.focus()}}function lH(e){let t=Bu(),n=aM(),[r,i]=(0,z.useState)(!1);return{unqueue:(0,z.useCallback)(a=>{if(!e||r)return;let o=xg(Y.board,e)?.sessionId;if(!o){X(`This thread has no live session to unqueue from`);return}i(!0),Z.unqueueFollowUp({slug:e,sessionId:o,deliveryId:a.deliveryId}).then(r=>{if(i(!1),!r.unqueued){X(r.reason??`That message could not be taken back`);return}cv(t,e,a.rawText,a.deliveryId),sH(n,e,o,a.text),cH(a.from)},e=>{i(!1),X(`Couldn't unqueue — ${(e instanceof Error?e.message:String(e)).slice(0,90)}`)})},[r,n,t,e]),pending:r}}function uH(e){let t=e.trim();return!t||t.length>1024||/\s/.test(t)||/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?!1:t===`~`||t.startsWith(`~/`)||t.startsWith(`/`)||t.includes(`/`)}var dH=new Map,fH=128;async function pH(e){let t=[...new Set(e)].filter(e=>!dH.has(e));if(!t.length)return!1;let n=[];for(let e=0;e<t.length;e+=fH)n.push(t.slice(e,e+fH));let r=await Promise.all(n.map(async e=>{try{return(await Z.resolveLocalPaths({paths:e})).resolved}catch{return e.map(e=>({input:e,path:null}))}})),i=!1;for(let e of r)for(let t of e)dH.has(t.input)||(dH.set(t.input,t.path),i=!0);return i}function mH(e,t){e.setAttribute(`data-local-path`,t),e.setAttribute(`title`,`Open ${t}`),e.classList.add(`local-file-code`)}function hH(e,t){let[n,r]=(0,z.useState)(0);(0,z.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=[];for(let e of t.querySelectorAll(`code`)){if(e.closest(`pre`))continue;let t=(e.textContent??``).trim();if(!uH(t))continue;let r=dH.get(t);r===void 0?n.push(t):r&&mH(e,r)}n.length&&pH(n).then(e=>{e&&r(e=>e+1)})},[e,t,n])}function gH(e){return e.displayText??e.text}function _H(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`&&!n.queued&&!n.peerFrom)return t}return-1}var vH=`Snooze`;function yH(e,t=Date.now()){let n=`This will dismiss the card from the queue until`,r=e.flatMap(e=>e.kind===`timer`?[oh(e.value)]:[]).find(e=>e!==null&&Date.parse(e)>t);return e.some(e=>e.kind===`pr-watch`)?{title:`PR watcher armed`,explainer:`${n} PR activity is detected${r?`, or until ${bH(Ry(r,t))}`:``}.`,toastVerb:`Watcher armed`,timerUntil:r??null}:r?{title:`Scheduled snooze`,explainer:`${n} ${bH(Ry(r,t))}.`,toastVerb:`Snoozed`,timerUntil:r}:e.some(e=>e.kind===`human`)?{title:`Awaiting human`,explainer:`${n} your default snooze elapses.`,toastVerb:`Snoozed`,timerUntil:null}:null}function bH(e){return e.replace(/^(Today|Tomorrow)/,e=>e.toLowerCase())}function xH(e,t=Date.now()){if(e.some(e=>e.kind===`pr-watch`))return null;let n=e.find(e=>e.kind===`timer`&&ah(e.value)),r=n&&Date.parse(n.value)>t?n:void 0;if(r)return`Snooze until ${bH(Ry(r.value,t))}`;let i=e.find(e=>e.kind===`human`);if(i)return`Wait for ${i.value}`;if(n)return`Scheduled for ${bH(Ry(n.value,t))}`;if(e.some(e=>e.kind===`timer`))return`Snooze schedule unavailable`;let a=e.find(e=>e.kind===`pr`||e.kind===`ci`||e.kind===`session`);return a?a.kind===`pr`?`Wait for PR ${a.value}`:a.kind===`ci`?`Wait for CI ${a.value}`:`Wait for session ${a.value}`:null}function SH(e,t){let n=e.trim();return n?t?`${n}${/[.!?…][*_~`"')\]]*$/.test(n)?` `:` — `}${t}`:n:t??`Waiting for an external update.`}var CH=new Set([`planning`,`planned`,`active`,`needs-human`,`blocked`]);function wH(e){return!!(e&&e.kind===`legacy`&&!e.foreign&&e.runtime===`none`&&!e.sessionId&&!e.tmuxName&&!e.owner&&e.agents.length===0&&e.errors.length===0&&CH.has(e.status))}function TH(e,t){let n=e.trim();if(!(!n||n===t.trim()))return n}function EH(e,t){let n=e.trim();return!n||n===t||n===`Untitled thread`||n===`Spinning up a thread…`?``:n}function DH(e){return e.kind!==`session`||e.foreign||e.backend===`codex`?{show:!1,enabled:!1,label:``}:e.runtime===`turn-idle`?{show:!0,enabled:!0,label:`Rename with Claude`}:e.runtime===`perm-prompt`||e.pendingAsk||e.nativeInputRequired?{show:!0,enabled:!1,label:`Resolve Claude's terminal prompt before renaming`}:e.runtime===`running`||e.runtime===`spawning`?{show:!0,enabled:!1,label:`Rename with Claude when the current turn finishes`}:{show:!0,enabled:!1,label:`Resume this Claude thread to use AI rename`}}var OH=`sticky top-0 z-10 flex min-w-0 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-3 py-1.5 min-h-12 max-[640px]:flex-wrap max-[640px]:items-start max-[640px]:gap-y-2 max-[640px]:px-4 max-[640px]:py-2.5`,kH=`min-w-0 flex-1 pl-1 max-[640px]:basis-full`,AH=`flex shrink-0 items-center max-[640px]:w-full max-[640px]:justify-between`;function jH(e){return e?.trim()?{kind:`profile-error`,message:`Profile controls unavailable: ${e.trim().slice(0,160)}`}:null}function MH(e){return e.permissionChangePending===!0||e.permissionPending!==void 0||e.profileChangePending===!0||e.runtimeControlPending===!0}function NH(e,t,n,r){let i=e.find(e=>e.model===t),a=!!i,o=!!(i&&n&&i.efforts.includes(n)),s=a&&o;return{selectedProfile:i,modelKnown:a,effortKnown:o,profileKnown:s,modelSelectable:r||a,effortSelectable:!!i&&(r||s)}}function PH(e){let t=Yd(Y).board?.threads.find(t=>t.id===e),n=td({queryKey:[`threadProfileOptions`,e],queryFn:()=>Z.threadProfileOptions({slug:e}),enabled:!!(t&&!t.foreign&&t.kind===`session`),staleTime:5e3}),r=nd({mutationFn:t=>Z.setThreadProfile({slug:e,...t})}),i=r.isPending;if(!t||t.foreign||t.kind!==`session`)return{busy:i,footer:null,status:null};let a=i||MH(t),o=t.model?.trim(),s=t.effort?.trim(),c=t.backend===`codex`?`codex`:`claude`,l=r.isPending?r.variables:void 0,u=t.profilePendingModel??l?.model,d=t.profilePendingEffort??l?.effort,f=n.data?.options??[],{modelSelectable:p}=NH(f,o,s,t.runtime===`exited`),m=n.data!==void 0,h=[{id:c,label:c===`codex`?`Codex`:`Claude Code`,options:f}],g=jH(n.isError?n.error.message:void 0);function _(e){r.mutate(e,{onSuccess:e=>X(e.effect===`next-resume`?`Model and effort saved for the next resume`:`Model and effort applied`),onError:e=>X(`Profile change failed: ${e.message.slice(0,120)}`)})}return{busy:a,footer:(0,B.jsxs)(`div`,{"data-thread-composer-controls":!0,className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-0.5`,children:[(0,B.jsx)(pj,{groups:h,value:{provider:c,model:o,effort:s},pending:u||d?{provider:c,model:u,effort:d}:void 0,onValueChange:({model:e,effort:t})=>_({model:e,effort:t}),placeholder:n.isPending?`Profile loading…`:`Profile unknown`,ariaLabel:`Thread model and effort`,menuAriaLabel:`Choose ${c===`codex`?`Codex`:`Claude Code`} model and effort`,title:p?t.runtime===`exited`?`Saved per thread and applied when this conversation resumes`:`Change this idle conversation's model and reasoning effort`:`The current live backend profile is unavailable; controls fail closed`,disabled:a||!m||!p||n.isError,compact:!0,side:`top`,className:`min-w-0 max-w-[min(72%,20rem)] px-1.5 py-0.5`}),u&&d&&(0,B.jsxs)(`span`,{className:`min-w-0 truncate text-[9px] text-muted/50`,children:[`→ `,u,` · `,d,` pending`]})]}),status:g?(0,B.jsx)(`div`,{"data-thread-control-error":``,className:`px-1 pt-1 text-[9.5px] leading-tight text-muted/65`,children:g.message}):null}}function FH({slug:e,surface:t,placeholder:n,className:r,id:i,ops:a,submitOverride:o}){let s=Yd(Y).board?.threads.find(t=>t.id===e),c=aM(),l=iM.followUp(c,e,s?.sessionId),[u,d,f]=sM(l),p=PH(e),m=kN(e),[h,g]=(0,z.useState)(null),[_,v]=(0,z.useState)(null);function y(){let e=u.trim();if(!e)return;let t=gj(e);if(t){f();let e=s?.backend===`codex`?`codex`:`claude`;t===`login`?g(e):v(e);return}let n={onOptimistic:f,onRollback:()=>{nM.get(l)||d(u)}};o?o(e,n):m.submit(e,n)}return(0,B.jsxs)(`div`,{"data-thread-composer-box":t,...t===`chatComposer`?{"data-thread-action-bar":``}:{},className:r,children:[(0,B.jsx)(UA,{id:i,surface:t,value:u,onChange:d,onSubmit:y,placeholder:n,busy:p.busy,footer:p.footer}),p.status,a,h&&(0,B.jsx)(Sj,{backend:h,onClose:()=>g(null),onAuthed:()=>g(null)}),_&&(0,B.jsx)(Cj,{backend:_,onClose:()=>v(null)})]})}function IH({slug:e,ops:t}){let n=Yd(Y).board?.threads.find(t=>t.id===e);return n?n.foreign?(0,B.jsx)(`div`,{className:`shrink-0 px-4 py-3 text-[11.5px] text-muted/70`,children:`Read-only — running in an external terminal.`}):(0,B.jsx)(FH,{slug:e,surface:`chatComposer`,id:`followup-input`,placeholder:`Follow up…`,className:`shrink-0 px-3 py-3`,ops:t}):null}function LH({thread:e,onOpen:t,onDoc:n,onDone:r,onCollapse:i,collapsed:a,doneBusy:o,onStatusMutate:s,onStatusApplied:c,onStatusFailed:l}){let u=e.kind===`session`;return(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[i&&(0,B.jsx)(zH,{label:a?`Expand`:`Collapse`,icon:a?Pv:Nv,size:13,onClick:i}),n&&(0,B.jsx)(zH,{label:`Fray document`,icon:Wv,size:14,onClick:n}),t&&(0,B.jsx)(zH,{label:`Open thread`,icon:Tv,size:14,onClick:t}),u?Tb(e)?(0,B.jsx)(RH,{slug:e.id}):null:(0,B.jsx)(`div`,{className:`ml-1`,children:(0,B.jsx)(Yk,{slug:e.id,onDone:r,doneBusy:o,onMutateStart:s,onApplied:c,onFailed:l})})]})}function RH({slug:e}){let t=Bu(),[n,r]=(0,z.useState)(!1);return(0,B.jsx)(rN,{label:`Retry — resume this session where it left off`,children:(0,B.jsxs)(`button`,{onClick:()=>{r(!0),AN(t,e).finally(()=>r(!1))},disabled:n,"aria-label":`Retry exited session`,onMouseDown:e=>e.preventDefault(),className:`ml-1 flex items-center gap-1.5 rounded-md border border-accent/45 bg-accent/10 px-2.5 py-1 text-[12px] font-medium text-accent outline-none transition-colors hover:border-accent/70 hover:bg-accent/15 disabled:opacity-50`,children:[n?(0,B.jsx)(iy,{size:12,className:`animate-spin`}):(0,B.jsx)(fy,{size:12}),`Retry`]})})}function zH({label:e,icon:t,size:n,busy:r,...i}){return(0,B.jsx)(rN,{label:e,children:(0,B.jsx)(`button`,{...i,"aria-label":e,onMouseDown:e=>e.preventDefault(),className:`flex h-7 w-7 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:hover:bg-transparent disabled:hover:text-muted disabled:opacity-40`,children:r?(0,B.jsx)(iy,{size:n,strokeWidth:2,className:`animate-spin`}):(0,B.jsx)(t,{size:n,strokeWidth:2})})})}function BH(e){let t=e.kind===`session`&&e.foreign!==!0,n=t&&(e.state===`archived`||e.archived===!0),r=t,i=t&&!n;return{footer:r,done:n,snooze:i,archive:i}}function VH(e){if(e.runtime===`perm-prompt`||e.pendingAsk||e.nativeInputRequired)return!0;if(e.runtime===`running`||e.runtime===`spawning`)return!1;let t=e=>e.state===`running`||e.state===`stale`;return!(e.subAgents?.some(e=>Zm(e)&&t(e))||e.bgShells?.some(t))}function HH(e){let t={lead:`This thread is still running.`,groups:[],trailer:`Marking it done will stop its agent session, then move it to Done.`};if(!e)return t;let n=[UH(`agent`,`sub-agent`,e.subAgents,e.subAgentCount),UH(`shell`,`background shell`,e.bgShells,e.bgShellCount)].filter(e=>e!==null);return e.unobservable?{lead:`This session is live, but its transcript can’t be read right now — it may still be working.`,groups:n,trailer:`Marking it done will stop the session anyway, then move it to Done.`}:!e.turnInFlight&&n.length===0?t:{lead:e.turnInFlight?n.length>0?`The agent is mid-turn, and it still owns background work:`:`The agent is mid-turn — it’s executing right now.`:`The agent is resting, but the background work it launched is still running:`,groups:n,trailer:n.length>0?`Marking it done will stop the session and everything running under it, then move it to Done.`:`Marking it done will stop its agent session mid-turn, then move it to Done.`}}function UH(e,t,n,r){let i=Math.max(r,n.length);return i===0?null:{kind:e,heading:`${i} ${t}${i===1?``:`s`}`,items:n.map(e=>({label:e.label,stale:e.state===`stale`})),overflow:Math.max(0,i-n.length)}}function WH({open:e,onOpenChange:t,title:n,children:r,footer:i,className:a=`w-[640px] max-w-[92vw] max-h-[82vh]`}){return(0,B.jsx)(tA,{open:e,onOpenChange:t,children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`overlay-in fixed inset-0 z-[200] bg-black/55 backdrop-blur-[1px]`}),(0,B.jsxs)(pA,{"aria-modal":`true`,onEscapeKeyDown:dj,className:`pop-in fixed left-1/2 top-1/2 z-[200] flex -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-border bg-panel shadow-2xl shadow-black/50 outline-none ${a}`,children:[(0,B.jsxs)(`header`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-border px-4`,children:[(0,B.jsx)(vA,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:n}),(0,B.jsx)(SA,{type:`button`,"aria-label":`Close`,className:`rounded-md p-1 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r}),i&&(0,B.jsx)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-4 py-3`,children:i})]})]})})}function GH({thread:e,onSnoozed:t}){let[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(``),[c,l]=(0,z.useState)(``),[u,d]=(0,z.useState)(``),f=(0,z.useId)(),p=(0,z.useId)(),m=(0,z.useId)(),h=bb(e),g=Yd(Xy).snoozePreset,_=jy(g),v=Ny(g),y=(0,z.useMemo)(()=>Iy(new Date(Date.now()+6e4)),[i]);async function b(n,i=null){r(!0);try{await Z.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:n,prompt:n?i:null}),n?(X(`${i?`Bump scheduled`:`Snoozed`} · ${Ry(n)}`),t?.()):X(`Snooze cleared`),a(!1),d(``)}catch(e){let t=e instanceof Error?e.message:`Snooze failed`;X(t.slice(0,100)),d(t)}finally{r(!1)}}function x(e){Xy.snoozePreset=e,b(Py(e))}function S(){s(Iy(new Date(h??Py(g)))),l(e.snoozePrompt??``),d(``),a(!0)}function C(){let e=Ly(o);if(!e.ok){d(e.message);return}let t=c.trim();if(t.length>4e3){d(`Prompt is too long (${t.length}/${ch})`);return}b(e.until,t||null)}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`inline-flex items-stretch rounded-md border border-border-strong bg-panel-2/60`,children:[(0,B.jsxs)(`button`,{type:`button`,disabled:n,"aria-label":h?`Wake thread now`:v,title:h?`Wake now · ${Ry(h)}`:v,onClick:()=>void b(h?null:Py(g)),className:`flex items-center gap-1.5 rounded-l-md px-2.5 py-1 text-[12px] font-medium text-fg/75 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),h?`Wake now`:v]}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`my-1 w-px bg-border`}),(0,B.jsxs)(Wk,{children:[(0,B.jsx)(Gk,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,disabled:n,"aria-label":`Snooze options`,title:`Selected snooze: ${_}`,className:`flex min-w-0 items-center justify-center gap-1 rounded-r-md px-2 text-fg/75 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-45`,children:(0,B.jsx)(jv,{size:12})})}),(0,B.jsxs)(Kk,{align:`end`,children:[Oy.map(e=>(0,B.jsx)(qk,{onSelect:()=>x(e.value),icon:(0,B.jsx)(zv,{size:12}),children:(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-4`,children:[(0,B.jsx)(`span`,{children:e.label}),(0,B.jsx)(`span`,{className:`text-[10px] text-muted/55`,children:e.detail})]})},e.value)),(0,B.jsx)(Jk,{}),(0,B.jsx)(qk,{onSelect:S,children:`Custom time & prompt…`}),h&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Jk,{}),(0,B.jsx)(qk,{onSelect:()=>void b(null),children:`Wake now`})]})]})]})]}),(0,B.jsx)(WH,{open:i,onOpenChange:e=>{n||a(e)},title:`Snooze thread`,className:`w-[360px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>a(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`submit`,form:m,disabled:n,className:`flex items-center gap-1.5 rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),c.trim()?`Snooze & bump`:`Snooze`]})]}),children:(0,B.jsxs)(`form`,{id:m,className:`flex flex-col gap-2.5 p-4`,onSubmit:e=>{e.preventDefault(),C()},children:[(0,B.jsx)(`label`,{htmlFor:f,className:`text-[11px] font-medium text-muted`,children:`Wake at this local time`}),(0,B.jsx)(`input`,{id:f,type:`datetime-local`,required:!0,min:y,value:o,onChange:e=>{s(e.target.value),d(``)},className:`w-full rounded-md border border-border bg-bg px-2.5 py-2 text-[13px] text-fg outline-none focus:border-accent`}),(0,B.jsx)(`p`,{className:`text-[10.5px] text-muted/65`,children:`Stored as an exact instant; shown here in your browser’s local time zone.`}),(0,B.jsxs)(`label`,{htmlFor:p,className:`mt-1 text-[11px] font-medium text-muted`,children:[`Then send this prompt `,(0,B.jsx)(`span`,{className:`font-normal text-muted/55`,children:`(optional)`})]}),(0,B.jsx)(`textarea`,{id:p,autoFocus:!0,rows:3,maxLength:ch,placeholder:`e.g. Check whether CI went green and land it if so.`,value:c,onChange:e=>{l(e.target.value),d(``)},onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},className:`w-full resize-y rounded-md border border-border bg-bg px-2.5 py-2 text-[13px] leading-5 text-fg outline-none placeholder:text-muted/40 focus:border-accent`}),(0,B.jsx)(`p`,{className:`min-h-4 text-[10.5px] text-muted/65`,children:c.trim()?`fray will resume this thread with the prompt at the wake time.`:`Leave empty to just bring the card back to your queue.`}),u&&(0,B.jsx)(`p`,{role:`alert`,className:`text-[11px] text-red-400`,children:u})]})})]})}var KH=6.5,qH=2,JH=2*Math.PI*KH;function YH(e,t){return Math.max(0,Math.min(100,Math.floor(e/t*100)))}function XH({thread:e}){let t=e.context;if(!t||t.window<=0)return null;let n=YH(t.tokens,t.window),r=Math.max(0,Math.min(1,t.tokens/t.window)),i=`Context ${n}% full\n${t.tokens.toLocaleString()} of ${t.window.toLocaleString()} tokens`;return(0,B.jsx)(rN,{label:i,side:`top`,multiline:!0,children:(0,B.jsx)(`span`,{"data-context-meter":!0,"data-context-percent":n,"aria-label":i,className:`flex shrink-0 items-center text-muted/60`,children:(0,B.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`h-[1.05em] w-[1.05em]`,"aria-hidden":!0,style:{transform:`rotate(-90deg)`},children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:KH,fill:`none`,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:qH}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:KH,fill:`none`,stroke:`currentColor`,strokeWidth:qH,strokeDasharray:`${JH*r} ${JH}`})]})})})}function ZH({thread:e,sticky:t=!1,safeArea:n=!1,onArchived:r,onDismissCancel:i,onSnoozed:a}){let o=BH(e);return o.footer?(0,B.jsxs)(`footer`,{"aria-label":`Thread lifecycle actions`,"data-thread-lifecycle-footer":!0,className:`${t?`z-20`:`rounded-b-[7px]`} flex min-h-10 shrink-0 flex-wrap items-center justify-end gap-1.5 border-t border-border/70 bg-panel/95 px-3 pt-2 text-[12px] ${n?`pb-[max(0.5rem,env(safe-area-inset-bottom))]`:`pb-2`} backdrop-blur-sm`,children:[(0,B.jsxs)(`span`,{className:`mr-auto flex items-center gap-1.5`,children:[(0,B.jsx)(XH,{thread:e}),(0,B.jsx)($H,{thread:e})]}),o.done?(0,B.jsx)(QH,{}):(0,B.jsxs)(B.Fragment,{children:[o.snooze&&(0,B.jsx)(GH,{thread:e,onSnoozed:a}),(0,B.jsx)(eU,{thread:e,onArchived:r,onDismissCancel:i})]})]}):null}function QH(){let e=`Marked done — send a message to reopen it`;return(0,B.jsx)(rN,{label:e,side:`top`,children:(0,B.jsxs)(`span`,{"data-thread-done":!0,"aria-label":e,className:`flex items-center gap-1 rounded-md border border-transparent px-2.5 py-1 font-medium text-muted`,children:[(0,B.jsx)(Av,{size:12}),`Done`]})})}function $H({thread:e}){let t=bb(e);if(!t)return null;let n=e.snoozePrompt?.trim(),r=n?`Bumps ${Ry(t)}\n${n}`:`Snoozed until ${Ry(t)}`;return(0,B.jsx)(rN,{label:r,side:`top`,multiline:!!n,children:(0,B.jsx)(`span`,{"data-pending-snooze":!0,"aria-label":r,className:`flex items-center px-0.5 text-muted/60`,children:(0,B.jsx)($v,{size:12})})})}function eU({thread:e,onArchived:t,onDismissCancel:n,className:r=`rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] text-fg/80 hover:bg-panel-2 hover:text-fg`,iconClassName:i=``}){let[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(void 0),d=(r,i)=>{o(!0),i&&t?.(),Z.completeThread({slug:e.id,sessionId:e.sessionId??``,terminateLive:r}).then(e=>{if(e.needsConfirmation){i&&n?.(),u(e.hold),c(!0),o(!1);return}c(!1),X(`Done`),i||t?.()}).catch(e=>{i&&n?.(),X(`Couldn’t finish: ${e.message.slice(0,80)}`),o(!1)})},f=!!t&&!!n&&VH(e);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>d(!1,f),disabled:a,"aria-label":`Mark as done`,title:`Mark as done`,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1 font-medium outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-45 ${r}`,children:[(0,B.jsx)(Av,{size:12,className:i}),`Mark as done`]}),(0,B.jsx)(WH,{open:s,onOpenChange:e=>{a||c(e)},title:`End this session?`,className:`w-[390px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>c(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,disabled:a,onClick:()=>d(!0,!1),className:`flex items-center gap-1.5 rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[a&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),`End session & mark done`]})]}),children:(0,B.jsx)(tU,{hold:l})})]})}function tU({hold:e}){let t=HH(e);return(0,B.jsxs)(`div`,{"data-completion-hold":!0,className:`flex flex-col gap-2 p-4 text-[12px] leading-relaxed text-muted`,children:[(0,B.jsx)(`p`,{children:t.lead}),t.groups.map(e=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,B.jsx)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-fg/70`,children:e.heading}),(0,B.jsxs)(`ul`,{className:`flex flex-col gap-0.5`,children:[e.items.map((e,t)=>(0,B.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,B.jsx)(`span`,{"aria-hidden":!0,className:ex,children:`⤷`}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-fg/80`,children:e.label}),e.stale&&(0,B.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted/60`,children:`no recent output`})]},`${e.label}-${t}`)),e.overflow>0&&(0,B.jsxs)(`li`,{className:`pl-[15px] text-muted/60`,children:[`+`,e.overflow,` more`]})]})]},e.kind)),(0,B.jsx)(`p`,{children:t.trailer})]})}function nU(e){if(e.kind!==void 0||e.role!==`assistant`||e.text.trim())return;let t=e.parts??[],n=t.length>0?t.length===1&&t[0].kind===`tools`?t[0].tools:[]:e.tools??[],r=n.length===1?n[0]:void 0;return r?.agentCompletion?r:void 0}var rU={completed:`finished`,killed:`stopped`,failed:`failed`};function iU(e){let t=rU[e.agentStatus??`completed`],n=e.agentElapsedMs===void 0?void 0:Ub(e.agentElapsedMs);return{outcome:t,tail:`${t}${n?` · ${n}`:``}`}}var aU=e=>e===void 0?void 0:zb(e),oU=e=>{if(e!==void 0)return Ub(e)||void 0};function sU(e){let{agentStatus:t,agentElapsedMs:n,liveState:r,liveElapsedMs:i,status:a,durationMs:o}=e;if(t){let e=t===`killed`,r=t===`failed`,i=aU(n);return{label:t===`completed`?void 0:rU[t],duration:oU(n),tone:r?`failed`:`muted`,title:`${e?`Stopped`:r?`Failed`:`Ran for`}${e||r?` after`:``} ${i??`an unknown time`}`,showSpinner:!1}}if(r){let e=aU(i);return{label:void 0,duration:oU(i),tone:`muted`,title:r===`running`?`Working for ${e??`an unknown time`}`:`Dispatched ${e??`an unknown time`} ago`,showSpinner:!1}}if(a===`pending`)return{label:`running`,tone:`muted`,title:`Running`,showSpinner:!0};if(a!==`failed`&&a!==`cancelled`)return null;let s=a===`failed`,c=a===`cancelled`,l=aU(o);return{label:c?rU.killed:s?rU.failed:void 0,duration:oU(o),tone:s?`failed`:`muted`,title:`${c?`Stopped after`:s?`Failed after`:`Ran for`} ${l??`an unknown time`}`,showSpinner:!1}}var cU=`text-[14px] leading-5 text-muted`,$=z.createElement;function lU({payload:e}){return e.kind===`command-approval`?$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},`Command`),$(`div`,{className:`mt-0.5 break-words text-[13px] font-medium text-fg`},e.command.summary),e.command.workingDirectoryLabel?$(`div`,{className:`mt-1 break-all text-[10.5px] text-muted/70`},`Working directory: `,e.command.workingDirectoryLabel):null,$(uU,{label:`Redacted command preview`,text:e.command.preview}),e.command.actions?$(dU,{actions:e.command.actions}):null,e.capabilities?$(pU,{capabilities:e.capabilities}):null):e.kind===`file-approval`?$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},_U(e.operation)),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[12px] text-fg`},e.pathLabel),e.destinationLabel?$(`div`,{className:`mt-1 break-all font-mono-keep text-[11px] text-muted`},`→ `,e.destinationLabel):null,e.grantRootLabel?$(`section`,{"aria-label":`Requested session write root`,className:`mt-2.5 min-w-0 rounded-md border border-amber-400/35 bg-amber-500/[0.06] px-2.5 py-2`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-amber-100/80`},`Requested session write root`),$(`div`,{className:`mt-1 min-w-0 break-all font-mono-keep text-[10.5px] text-fg/85`},e.grantRootLabel),e.scopeLabel?$(`div`,{className:`mt-1.5 whitespace-pre-wrap break-words text-[10.5px] leading-snug text-amber-100/75`},e.scopeLabel):null):null,e.diffPreview?$(uU,{label:`Plain-text diff preview`,text:e.diffPreview}):null,e.changes?$(fU,{changes:e.changes}):null):$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},`Requested permission`),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[12px] font-medium text-fg`},e.permission),e.resourceLabel?$(`div`,{className:`mt-1 break-all text-[11px] text-muted`},`Resource: `,e.resourceLabel):null,e.workingDirectoryLabel?$(`div`,{className:`mt-1 break-all text-[10.5px] text-muted/70`},`Working directory: `,e.workingDirectoryLabel):null,e.scopeLabel?$(`div`,{className:`mt-2 whitespace-pre-wrap break-words text-[11px] leading-snug text-muted`},e.scopeLabel):null,e.capabilities?$(pU,{capabilities:e.capabilities}):null)}function uU({label:e,text:t}){return $(`details`,{className:`mt-2.5 min-w-0 rounded-md border border-border/70 bg-bg/35`,open:t.length<1200},$(`summary`,{className:`cursor-pointer px-2.5 py-2 text-[10.5px] text-muted outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/50`},e),$(`pre`,{className:`max-h-64 max-w-full min-w-0 overflow-auto border-t border-border/60 px-2.5 py-2 whitespace-pre-wrap break-words font-mono-keep text-[11px] leading-relaxed text-fg/80`},t))}function dU({actions:e}){return $(`section`,{"aria-label":`Parsed command actions`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Parsed actions`),$(`ul`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(`div`,{className:`text-[11px] font-medium text-fg/90`},gU(e.kind)),e.resourceLabel?$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[10.5px] text-muted`},e.resourceLabel):null,e.queryLabel?$(`div`,{className:`mt-0.5 break-all text-[10.5px] text-muted`},`Query: `,e.queryLabel):null,$(uU,{label:`${gU(e.kind)} command detail`,text:e.commandPreview})))))}function fU({changes:e}){return $(`section`,{"aria-label":`Affected file changes`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Affected changes`),$(`ol`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(`div`,{className:`text-[11px] font-medium text-fg/90`},_U(e.operation)),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[10.5px] text-fg/80`},e.pathLabel),e.destinationLabel?$(`div`,{className:`mt-0.5 min-w-0 break-all font-mono-keep text-[10.5px] text-muted`},`→ `,e.destinationLabel):null,e.diffPreview?$(uU,{label:`${_U(e.operation)} plain-text diff`,text:e.diffPreview}):null))))}function pU({capabilities:e}){return $(`section`,{"aria-label":`Requested capabilities`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Requested capabilities`),$(`ul`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(mU,{capability:e})))))}function mU({capability:e}){if(e.kind===`network`){let t=e.enabled===!0?`Enable network access`:e.enabled===!1?`Disable network access`:`Network access request`;return $(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),e.hosts.length>0?$(hU,{label:`Hosts and protocols`,values:e.hosts}):null)}if(e.kind===`filesystem`){let t=e.access===`read`?`Read filesystem paths`:e.access===`write`?`Write filesystem paths`:`Deny filesystem paths`;return $(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),$(hU,{label:`Paths`,values:e.resources}))}return e.kind===`glob-scan`?$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Filesystem glob scanning`),$(`div`,{className:`mt-0.5 text-[10.5px] text-muted`},`Maximum depth: `,String(e.depth))):e.kind===`exec-policy`?$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Future command policy amendment`),$(hU,{label:`Command prefix tokens`,values:e.prefixes})):$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},e.access===`allow`?`Allow future network hosts`:`Deny future network hosts`),$(hU,{label:`Hosts`,values:e.hosts}))}function hU({label:e,values:t}){return $(`div`,{className:`mt-1 min-w-0`},$(`div`,{className:`sr-only`},e),$(`ul`,{"aria-label":e,className:`flex min-w-0 flex-col gap-0.5`},t.map((e,t)=>$(`li`,{key:t,className:`min-w-0 break-all font-mono-keep text-[10.5px] text-muted`},e))))}function gU(e){switch(e){case`read`:return`Read a file`;case`list-files`:return`List files`;case`search`:return`Search files`;case`unknown`:return`Unclassified command`}}function _U(e){switch(e){case`read`:return`Read file`;case`create`:return`Create file`;case`write`:return`Modify file`;case`move`:return`Move file`;case`delete`:return`Delete file`;case`execute`:return`Execute file`;case`other`:return`File operation`}}function vU(e){return e===`sending`?{actionsEnabled:!1,eyebrow:`Sending`,status:`Sending to runtime…`}:e===`reconnect-required`?{actionsEnabled:!1,eyebrow:`Runtime unavailable`,status:`Runtime reconnect required before this request can be answered.`}:{actionsEnabled:!0,eyebrow:`Needs you`}}var yU={semantic:`approve`,label:`Approve once`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`},bU={semantic:`approve`,label:`Approve for session`,order:20,tone:`primary`,durable:!0,scope:`Persists for later matching requests in this thread session.`},xU={semantic:`approve`,label:`Grant for turn`,order:10,tone:`primary`,durable:!1,scope:`Applies to this turn only.`},SU={semantic:`approve`,label:`Grant for session`,order:20,tone:`primary`,durable:!0,scope:`Persists until this thread session ends.`},CU={semantic:`deny`,label:`Deny`,order:70,tone:`danger`,durable:!1,scope:`Rejects this request.`},wU={semantic:`decline`,label:`Decline`,order:70,tone:`danger`,durable:!1,scope:`Declines this request.`},TU={semantic:`cancel`,label:`Cancel request`,order:80,tone:`neutral`,durable:!1,scope:`Cancels this pending request.`};function EU(e,t){let{id:n,semantic:r}=t;if(e.kind===`command-approval`||e.kind===`file-approval`)return(n===`accept`||n===`approve-once`)&&r===`approve`?yU:n===`acceptForSession`&&r===`approve`?bU:(n===`decline`||n===`deny`)&&r===`deny`?CU:n===`cancel`&&r===`cancel`?TU:void 0;if(e.kind===`permission-approval`)return n===`grant-turn`&&r===`approve`?xU:n===`grant-session`&&r===`approve`?SU:(n===`deny`||n===`decline`)&&r===`deny`?CU:n===`cancel`&&r===`cancel`?TU:void 0;if(e.kind===`mcp-elicitation-form`||e.kind===`mcp-elicitation-url`)return n===`accept`&&r===`accept`?{semantic:`accept`,label:e.kind===`mcp-elicitation-form`?`Submit`:`Continue`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`}:n===`decline`&&r===`decline`?wU:n===`cancel`&&r===`cancel`?TU:void 0;if(n===`answer`&&r===`answer`)return{semantic:`answer`,label:`Send answer`,order:10,tone:`primary`,durable:!1,scope:`Sends these answers to this request only.`};if(n===`decline`&&r===`decline`)return wU;if(n===`cancel`&&r===`cancel`)return TU}function DU(e){let t=t=>e.payload.kind===`mcp-elicitation-form`&&t===`accept`||e.payload.kind===`agent-question`&&t===`answer`;return e.allowedDecisions.flatMap(n=>{let r=EU(e.payload,n);return r?[{...r,id:n.id,semantic:n.semantic,requiresValues:t(n.semantic)}]:[]}).sort((e,t)=>e.order-t.order||e.id.localeCompare(t.id))}function OU(e){switch(e){case`command-approval`:return`Command approval`;case`file-approval`:return`File approval`;case`permission-approval`:return`Permission approval`;case`mcp-elicitation-form`:return`MCP request`;case`mcp-elicitation-url`:return`MCP authorization`;case`agent-question`:return`Agent question`}}function kU(e){switch(e){case`claude`:return`Claude`;case`codex`:return`Codex`;case`fray`:return`Fray`}}function AU(e){switch(e){case`runtime`:return`Runtime`;case`agent`:return`Agent`;case`tool`:return`Tool`;case`mcp-server`:return`MCP server`;case`fray`:return`Fray`}}function jU(e,t){let n=e.options.findIndex(e=>JSON.stringify(e.value)===JSON.stringify(t));return n<0?``:String(n)}function MU(e){let t=Object.create(null);for(let n of e)if(n.input===`text`||n.input===`multiline`)t[n.id]=n.default??``;else if(n.input===`number`||n.input===`integer`)t[n.id]=n.default===void 0?``:String(n.default);else if(n.input===`boolean`)t[n.id]=n.default??!1;else if(n.input===`select`)t[n.id]=n.default===void 0?``:jU(n,n.default);else if(n.input===`multi-select`){let e=new Set(n.default??[]);t[n.id]=n.options.flatMap((t,n)=>e.has(t.value)?[String(n)]:[])}return t}function NU(e,t,n){let r=Object.create(null);for(let t of Object.keys(e))r[t]=e[t];return r[t]=n,r}function PU(e,t){if(e.some(e=>e.secret))return{errors:{},formError:`Secret responses cannot be sent through this Fray connection.`};let n=Object.create(null),r={};for(let i of e){let e=t[i.id],a;if(i.input===`text`||i.input===`multiline`){let t=typeof e==`string`?e:``;if(!i.required&&t===``)continue;i.required&&t===``?r[i.id]=`This field is required.`:a=t}else if(i.input===`number`||i.input===`integer`){let t=typeof e==`string`?e.trim():``;if(!i.required&&t===``)continue;if(t===``)r[i.id]=`This field is required.`;else{let e=Number(t);Number.isFinite(e)?a=e:r[i.id]=`Enter a valid number.`}}else if(i.input===`boolean`)a=e===!0;else if(i.input===`select`){let t=typeof e==`string`&&/^\d+$/.test(e)?Number(e):-1;if(t<0||t>=i.options.length)if(i.required)r[i.id]=`Choose an option.`;else continue;else a=i.options[t].value}else if(i.input===`multi-select`){let t=(Array.isArray(e)?e:[]).flatMap(e=>/^\d+$/.test(e)?[Number(e)]:[]);if(t.some(e=>e<0||e>=i.options.length))r[i.id]=`Choose only advertised options.`;else if(i.required&&t.length===0)r[i.id]=`Choose at least one option.`;else if(t.length>0)a=t.map(e=>i.options[e].value);else continue}if(a!==void 0&&!r[i.id]){let e=dm(i,a);e?r[i.id]=`Value ${e}.`:n[i.id]=a}}if(Object.keys(r).length>0)return{errors:r};let i=Tm.safeParse(n);return i.success?{errors:r,values:i.data}:{errors:r,formError:`The response is too large or contains invalid values.`}}function FU(e,t){return JSON.stringify([e,t??null])}function IU(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}catch{return null}}function LU(e,t){let n=e.getAttribute(`href`);if(!n)return!1;let r=IU(n,t);if(!r)return!1;let i;try{i=new URL(t)}catch{return!1}if(new URL(r).origin===i.origin)return!1;e.setAttribute(`target`,`_blank`);let a=new Set((e.getAttribute(`rel`)??``).split(/\s+/u).filter(Boolean));return a.add(`noopener`),a.add(`noreferrer`),e.setAttribute(`rel`,[...a].join(` `)),!0}function RU(e=()=>location.href){return t=>{if(t.defaultPrevented||t.button!==0)return;let n=BU(t);n&&LU(n,e())}}function zU(){let e=RU();return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)}function BU(e){let t=typeof e.composedPath==`function`?e.composedPath():[];for(let e of t)if(VU(e))return e;let n=e.target?.closest?.(`a[href]`);return VU(n)?n:null}function VU(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.tagName?.toLowerCase()===`a`&&typeof t.getAttribute==`function`&&typeof t.setAttribute==`function`&&typeof t.hasAttribute==`function`&&t.hasAttribute(`href`)}function HU({raw:e,question:t,questionKind:n,danger:r,interactive:i,wrap:a}){let o=(0,z.useMemo)(()=>t??lV(e??``,n??`question`,r),[t,e,n,r]),s=(0,z.useMemo)(()=>aB(o.contextMd),[o.contextMd]),c=(0,z.useMemo)(()=>o.trailingMd?aB(o.trailingMd):``,[o.trailingMd]),l=o.recommendedIdx,u=(0,z.useMemo)(()=>o.recommendation?oB(o.recommendation):``,[o.recommendation]),d=o.kind===`multi`,f=o.danger,p=i?.answer.chosen??null,m=i?.answer.chosenSet??[],h=i?.answer.text??``,g=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{let e=g.current;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight+e.offsetHeight-e.clientHeight}px`)},[h]),(0,B.jsxs)(FV,{tone:f?`danger`:`neutral`,icon:f?Sy:d?ry:Rv,label:d?`Select multiple`:`Question`,children:[s&&(0,B.jsx)(`div`,{className:`text-fg`,children:(0,B.jsx)(`div`,{className:`md-body${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:s}})}),(o.options.length>0||i)&&(0,B.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-1.5`,children:[o.options.map((e,t)=>(0,B.jsxs)(z.Fragment,{children:[o.optionHeadings?.[t]&&(0,B.jsx)(`div`,{className:`mt-1 text-fg`,children:(0,B.jsx)(`div`,{className:`md-body${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:oB(o.optionHeadings[t].split(`
|
|
350
|
-
`).join(` `))}})}),(0,B.jsx)(WU,{label:e,multi:d,recommended:l===t,recTitle:l===t?o.recommendedNote:void 0,selected:d?m.includes(t):p===t&&!h.trim(),disabled:!i,onClick:()=>{i?.onChip(t,e),!d&&g.current&&document.activeElement===g.current&&g.current.blur()}})]},t)),i&&(0,B.jsx)(`textarea`,{ref:g,rows:1,"data-surface":`questionAnswer`,value:h,onChange:e=>i.onText(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`){e.preventDefault(),e.currentTarget.blur();return}zA({key:e.key,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isComposing:e.nativeEvent.isComposing,keyCode:e.nativeEvent.keyCode})&&(e.preventDefault(),i.onSubmit())},onFocus:()=>{!d&&p!==null&&i.onText(h)},placeholder:d?`Add a note…`:o.options.length?`${UU(o.options)} Something else…`:`Type your answer…`,className:`col-span-full w-full resize-none overflow-hidden rounded-md border px-2.5 py-1.5 text-[12px] leading-snug text-fg/90 outline-none placeholder:text-muted/80 transition-colors ${h.trim()?`border-accent bg-accent/10`:`border-border bg-transparent hover:bg-panel-2 focus:border-accent`}`})]}),o.trailingMd&&(0,B.jsx)(`div`,{className:`mt-2 md-body text-[12px] text-muted/70${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:c}}),o.recommendation&&l===null&&(0,B.jsx)(`div`,{className:`md-inline mt-1.5 text-[11px] text-muted/70`,dangerouslySetInnerHTML:{__html:u}})]})}function UU(e){let t=e[e.length-1]?.match(/^\s*([A-Za-z]|\d+)([.)])\s/);if(!t)return`${String.fromCharCode(65+e.length)}.`;let[,n,r]=t;return/\d/.test(n)?`${Number(n)+1}${r}`:`${String.fromCharCode(n.toUpperCase().charCodeAt(0)+1)}${r}`}function WU({label:e,selected:t,disabled:n,multi:r,recommended:i,recTitle:a,onClick:o}){let s=(0,z.useMemo)(()=>oB(e,{inertInteractive:!0}),[e]);return(0,B.jsxs)(`button`,{type:`button`,disabled:n,onClick:o,onMouseDown:e=>e.preventDefault(),title:a,className:`text-left rounded-md border px-2.5 py-1.5 text-[12px] leading-snug outline-none transition-colors flex items-start gap-2 ${t?`border-accent bg-accent/10 text-fg`:n?`cursor-default border-border text-muted/80`:`border-border text-fg/90 hover:bg-elevated hover:border-border-strong`}`,children:[r&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:`mt-px flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-[3px] border ${t?`border-accent bg-accent text-bg`:`border-border-strong`}`,children:t&&(0,B.jsx)(Av,{size:10,strokeWidth:3})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[i&&(0,B.jsx)(`span`,{className:`float-right ml-2 mt-px -translate-y-[2px] rounded-full border border-border-strong px-1.5 py-px text-[9.5px] uppercase tracking-wide text-muted`,children:`Recommended`}),(0,B.jsx)(`span`,{className:`md-inline`,dangerouslySetInnerHTML:{__html:s}})]})]})}function GU(e){let t=e,n=``;do n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26)-1;while(t>=0);return`${n}.`}function KU(e,t){let n=e??t;if(!n)return null;let r=e&&(e.input===`select`||e.input===`multi-select`)?e.options:[];return{question:{kind:e?.input===`multi-select`?`multi`:`question`,danger:!1,contextMd:n.description??n.label,options:r.map((e,t)=>`${GU(t)} ${e.label}`),recommendedIdx:null},...e?{optionFieldId:e.id}:{},optionValues:r.map(e=>e.value),...t?{notesFieldId:t.id}:{}}}function qU(e){if(e.payload.kind!==`agent-question`)return null;let t=e.payload.fields,n=[];for(let e=0;e<t.length;e++){let r=t[e];if(r.secret)return null;if(r.id.endsWith(`_notes`))continue;let i=t[e+1],a=i&&i.id===`${r.id}_notes`?i:void 0;if(r.input===`select`||r.input===`multi-select`){let e=KU(r,a);if(!e)return null;n.push(e)}else if(r.input===`text`||r.input===`multiline`){let e=KU(void 0,r);if(!e)return null;n.push(e)}else return null}return n.length>0?n:null}function JU(e,t){let n={};return e.forEach((e,r)=>{let i=t[r];if(!i)return;let a=i.text.trim();if(e.question.kind===`multi`){let t=(i.chosenSet??[]).slice().sort((e,t)=>e-t).flatMap(t=>{let n=e.optionValues[t];return n===void 0?[]:[n]});e.optionFieldId&&t.length>0&&(n[e.optionFieldId]=t),e.notesFieldId&&a&&(n[e.notesFieldId]=a);return}if(a){e.notesFieldId&&(n[e.notesFieldId]=a);return}let o=i.chosen;e.optionFieldId&&o!==null&&e.optionValues[o]!==void 0&&(n[e.optionFieldId]=e.optionValues[o])}),Object.keys(n).length>0?n:void 0}function YU(e){let t=e instanceof Error?e.message:`The request could not be updated.`;return t.length>240?`${t.slice(0,239)}…`:t}function XU(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`fray-response-${Date.now()}-${Math.random().toString(36).slice(2)}`}function ZU({thread:e,className:t=``,autoFocusFirst:n=!1}){let r=Q_(e),i=ev(e),a=(0,z.useMemo)(()=>[...i.data?.interactions??[]].sort((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)),[i.data?.interactions]);return r?i.isError&&a.length===0?(0,B.jsxs)(`div`,{"data-interactions-error":!0,role:`alert`,className:`${kV} border border-amber-500/35 bg-amber-500/[0.07] px-3.5 py-3 text-[12px] text-amber-100 ${t}`,children:[(0,B.jsx)(`div`,{className:`font-medium`,children:`Pending requests could not be loaded.`}),(0,B.jsx)(`div`,{className:`mt-1 break-words text-amber-100/75`,children:YU(i.error)}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>void i.refetch(),className:`mt-2 rounded-md border border-amber-400/40 px-2 py-1 text-[11px] hover:bg-amber-500/10`,children:`Try again`})]}):a.length===0?null:(0,B.jsx)(`section`,{"data-typed-interactions":!0,"aria-label":`${a.length} pending request${a.length===1?``:`s`}`,className:`flex min-w-0 flex-col gap-3 ${t}`,children:a.map((e,t)=>(0,B.jsx)($U,{record:e,autoFocus:n&&t===0},e.id))}):null}function QU({record:e,questions:t,autoFocus:n}){let r=Bu(),i=(0,z.useRef)(null),a=(0,z.useRef)(new Map),o=aM(),s=vU(e.delivery?.effect),c=(0,z.useMemo)(()=>DU(e).find(e=>e.semantic===`answer`),[e]),l=cM(t.flatMap(t=>t.notesFieldId?[iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId)]:[])),[u,d]=(0,z.useState)(()=>t.map(()=>({chosen:null,chosenSet:[]}))),f=t.map((t,n)=>({chosen:u[n]?.chosen??null,chosenSet:u[n]?.chosenSet??[],text:t.notesFieldId?l.get(iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId))??``:``})),p=JU(t,f),[m,h]=(0,z.useState)(),[g,_]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(!n)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[n,e.id]);let v=nd({mutationFn:async t=>Z.interactionResolve({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision,responseId:t.responseId,decisionId:t.decisionId,values:t.values}),onSuccess:t=>{_(!0),Lg(r,t.interaction),r.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId)}),r.invalidateQueries({queryKey:Ig(e.owner.threadSlug,e.owner.sessionId,e.id)})},onError:t=>{Rg(r,e),h(YU(t))}}),y=()=>{if(!c||!p||v.isPending||g||!s.actionsEnabled)return;h(void 0);let e=FU(c.id,p),t=a.current.get(e)??XU();a.current.set(e,t),v.mutate({decisionId:c.id,values:p,responseId:t})},b=(t,n)=>{t.notesFieldId&&nM.set(iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId),n)};return(0,B.jsxs)(`article`,{ref:i,tabIndex:-1,"data-interaction-id":e.id,"data-interaction-kind":e.payload.kind,"data-interaction-question":`native`,"data-delivery-effect":e.delivery?.effect,className:`flex min-w-0 flex-col gap-2 outline-none`,children:[t.map((e,t)=>(0,B.jsx)(HU,{question:e.question,interactive:s.actionsEnabled&&!g?{answer:f[t],onChip:n=>d(r=>r.map((r,i)=>{if(i!==t)return r;if(e.question.kind===`multi`){let e=r.chosenSet.includes(n)?r.chosenSet.filter(e=>e!==n):[...r.chosenSet,n];return{...r,chosenSet:e}}return b(e,``),{...r,chosen:n}})),onText:t=>b(e,t),onSubmit:y}:void 0},e.optionFieldId??e.notesFieldId??t)),m&&(0,B.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:m}),(s.status||v.isPending||g)&&(0,B.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`text-[11px] leading-snug text-muted`,children:s.status??(g?`Answer sent.`:`Sending…`)}),s.actionsEnabled&&!g&&(0,B.jsx)(`div`,{className:`flex justify-start`,children:(0,B.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:!p||v.isPending,onClick:y,onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})})]})}function $U({record:e,autoFocus:t=!1}){let n=(0,z.useMemo)(()=>qU(e),[e]);return n?(0,B.jsx)(QU,{record:e,questions:n,autoFocus:t}):(0,B.jsx)(eW,{record:e,autoFocus:t})}function eW({record:e,autoFocus:t=!1}){let n=Bu(),r=(0,z.useId)(),i=(0,z.useRef)(null),a=(0,z.useRef)(new Map),o=e.payload.kind===`mcp-elicitation-form`||e.payload.kind===`agent-question`?e.payload.fields:[],s=o.some(e=>e.secret),c=aM(),l=o.filter(e=>!e.secret&&(e.input===`text`||e.input===`multiline`)).map(t=>iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.id)),u=cM(l),[d,f]=(0,z.useState)(()=>MU(o)),p=(0,z.useMemo)(()=>{let t={...d};return o.forEach(n=>{if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,n.id);t[n.id]=u.get(r)??``}}),t},[o,d,u,c,e.id,e.owner]),[m,h]=(0,z.useState)({}),[g,_]=(0,z.useState)(),[v,y]=(0,z.useState)(),[b,x]=(0,z.useState)(!1),[S,C]=(0,z.useState)(),[w,T]=(0,z.useState)(!1),E=vU(e.delivery?.effect),D=(0,z.useMemo)(()=>DU(e),[e]).filter(e=>!(s&&e.requiresValues)),O=e.allowedDecisions.length-D.length,ee=(0,z.useCallback)(t=>{for(let n of o)if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=t[n.id];typeof r==`string`&&nM.set(iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,n.id),r)}f(t)},[o,c,e.id,e.owner]);(0,z.useEffect)(()=>{if(!t)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[t,e.id]),(0,z.useEffect)(()=>{E.actionsEnabled||(C(void 0),T(!1))},[E.actionsEnabled]);let k=nd({mutationFn:async({decision:t,values:n,responseId:r})=>{if(t.semantic===`cancel`&&e.provider.kind===`fray`){let t=await Z.interactionCancel({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision});return{effect:t.effect,interaction:t.interaction,waitingForProvider:!1}}let i=await Z.interactionResolve({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision,responseId:r,decisionId:t.id,...n===void 0?{}:{values:n}});return{effect:i.effect,interaction:i.interaction,waitingForProvider:i.interaction.delivery?.effect===`sending`||i.effect===`queued`||i.effect===`already-queued`}},onSuccess:(t,r)=>{t.waitingForProvider||a.current.delete(FU(r.decision.id,r.values)),_(void 0),C(void 0),T(!1),x(!0),l.forEach(e=>nM.clear(e)),y(t.waitingForProvider?`Response sent. Waiting for the provider to acknowledge it…`:`Request completed.`),Lg(n,t.interaction),n.setQueryData(Ig(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t.interaction}),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0}),t.waitingForProvider&&window.setTimeout(()=>{n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})},1e3)},onError:t=>{y(void 0),_(YU(t)),Rg(n,e),Z.interactionGet({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id}).then(({interaction:t})=>{Lg(n,t),n.setQueryData(Ig(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t}),t.delivery?.effect===`sending`?(_(void 0),y(void 0),x(!0)):t.delivery?.effect===`reconnect-required`?(_(void 0),y(void 0)):(t.lifecycle!==`pending`||t.recordRevision!==e.recordRevision)&&(_(void 0),y(t.lifecycle===`expired`?`This request expired.`:`This request changed in another client.`),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})}).catch(()=>{})}});function A(e){if(!e.requiresValues){h({});return}let t=PU(o,p);return h(t.errors),t.formError?(_(t.formError),null):t.values?t.values:null}function j(e,t=!1){if(!E.actionsEnabled||k.isPending||b)return;_(void 0);let n=A(e);if(n===null)return;if(e.durable&&!t){C(e),T(!1);return}let r=FU(e.id,n),i=a.current.get(r)??XU();a.current.set(r,i),k.mutate({decision:e,values:n,responseId:i})}let M=D.find(e=>e.requiresValues&&e.tone===`primary`);function N(e){e.preventDefault(),E.actionsEnabled&&M&&j(M)}return(0,B.jsxs)(`article`,{ref:i,tabIndex:-1,"aria-labelledby":r,"data-interaction-id":e.id,"data-interaction-kind":e.payload.kind,"data-delivery-effect":e.delivery?.effect,className:`min-w-0 ${kV} border border-accent/45 bg-accent/[0.065] shadow-sm shadow-black/15 outline-none focus-visible:ring-2 focus-visible:ring-accent/60`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3 border-b border-accent/20 px-4 py-3`,children:[(0,B.jsx)(my,{"aria-hidden":`true`,size:16,className:`mt-0.5 shrink-0 text-accent`}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-[0.08em] text-accent`,children:[OU(e.payload.kind),` · `,E.eyebrow]}),(0,B.jsx)(`h3`,{id:r,className:`mt-0.5 break-words text-[14px] font-semibold leading-snug text-fg`,children:e.payload.title})]})]}),(0,B.jsx)(`form`,{onSubmit:N,className:`min-w-0 px-4 py-3.5`,noValidate:!0,children:(0,B.jsxs)(`fieldset`,{disabled:!E.actionsEnabled,className:`min-w-0 border-0 p-0`,children:[(0,B.jsx)(`legend`,{className:`sr-only`,children:`Interaction request`}),(0,B.jsx)(nW,{record:e,instanceId:r,draft:p,setDraft:ee,errors:m,autoFocus:t}),s&&(0,B.jsxs)(`div`,{"data-secret-fallback":!0,className:`mt-3 rounded-md border border-amber-500/35 bg-amber-500/[0.07] p-3 text-[12px] leading-snug text-amber-100/90`,children:[(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(ty,{"aria-hidden":`true`,size:14,className:`mt-0.5 shrink-0`}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`font-medium`,children:`Secret input is unavailable in this page.`}),(0,B.jsx)(`div`,{className:`mt-1 text-amber-100/70`,children:`Fray will not persist or send secret values through the current RPC.`})]})]}),(0,B.jsx)(`div`,{className:`mt-2 font-medium`,children:`Use the provider's trusted secret-input flow. The thread terminal cannot answer this typed request.`})]}),O>0&&(0,B.jsxs)(`div`,{className:`mt-3 flex items-start gap-2 rounded-md border border-amber-500/25 bg-amber-500/[0.05] px-3 py-2 text-[11px] leading-snug text-amber-100/75`,children:[(0,B.jsx)(Sy,{"aria-hidden":`true`,size:13,className:`mt-0.5 shrink-0`}),(0,B.jsxs)(`span`,{children:[O===1?`One advertised choice`:`${O} advertised choices`,` cannot be safely labeled or delivered in Fray and is not shown.`]})]}),S&&(0,B.jsxs)(`div`,{"data-durable-confirmation":!0,role:`group`,"aria-label":`Confirm ${S.label}`,className:`mt-3 rounded-md border border-amber-400/45 bg-amber-500/[0.08] p-3`,children:[(0,B.jsx)(`div`,{className:`text-[12px] font-semibold text-amber-100`,children:`This approval persists beyond the current request.`}),(0,B.jsx)(`div`,{className:`mt-1 text-[11px] leading-snug text-amber-100/75`,children:S.scope}),(0,B.jsxs)(`label`,{className:`mt-2.5 flex cursor-pointer items-start gap-2 text-[11px] leading-snug text-fg/85`,children:[(0,B.jsx)(`input`,{type:`checkbox`,autoFocus:!0,checked:w,onChange:e=>T(e.target.checked),className:`mt-0.5 accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:`I understand this may authorize later matching actions in this session.`})]}),(0,B.jsxs)(`div`,{className:`mt-3 flex flex-wrap justify-start gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:()=>{C(void 0),T(!1)},className:`rounded-md border border-border px-2.5 py-1.5 text-[11px] text-muted hover:bg-panel-2 hover:text-fg`,children:`Back`}),(0,B.jsxs)(`button`,{type:`button`,disabled:!w||k.isPending,onClick:()=>j(S,!0),className:`rounded-md border border-amber-400/50 bg-amber-500/15 px-2.5 py-1.5 text-[11px] font-semibold text-amber-50 hover:bg-amber-500/25 disabled:opacity-35`,children:[`Confirm `,S.label.toLowerCase()]})]})]}),g&&(0,B.jsx)(`div`,{role:`alert`,className:`mt-3 break-words text-[11px] leading-snug text-red-300`,children:g}),(E.status??v)&&(0,B.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`mt-3 text-[11px] leading-snug text-muted`,children:E.status??v}),E.actionsEnabled&&!S&&!b&&D.length>0&&(0,B.jsxs)(`div`,{className:`mt-4 flex flex-wrap justify-start gap-2`,children:[D.map(e=>(0,B.jsxs)(`button`,{type:e===M?`submit`:`button`,"data-interaction-decision":e.id,disabled:k.isPending,"aria-describedby":e.durable?`${r}-scope-${e.id}`:void 0,onClick:e===M?void 0:()=>j(e),className:tW(e),children:[k.isPending?`Sending…`:e.label,e.durable&&(0,B.jsx)(`span`,{className:`sr-only`,children:`; persistent approval`})]},e.id)),D.filter(e=>e.durable).map(e=>(0,B.jsx)(`span`,{id:`${r}-scope-${e.id}`,className:`sr-only`,children:e.scope},`scope-${e.id}`))]})]})})]})}function tW(e){let t=`rounded-md border px-2.5 py-1.5 text-[11px] font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-fg/50 disabled:opacity-40`;return e.tone===`primary`?`${t} border-accent/55 bg-accent/15 text-fg hover:bg-accent/25`:e.tone===`danger`?`${t} border-red-400/35 bg-red-500/[0.07] text-red-200 hover:bg-red-500/15`:`${t} border-border bg-panel text-muted hover:bg-panel-2 hover:text-fg`}function nW({record:e,instanceId:t,draft:n,setDraft:r,errors:i,autoFocus:a}){let o=e.payload,s=(e,t)=>r(NU(n,e,t)),c;return c=o.kind===`command-approval`||o.kind===`file-approval`||o.kind===`permission-approval`?(0,B.jsx)(lU,{payload:o}):o.kind===`mcp-elicitation-url`?(0,B.jsx)(iW,{url:o.url}):(0,B.jsx)(oW,{instanceId:t,fields:o.fields,draft:n,setValue:s,errors:i,autoFocus:a}),(0,B.jsxs)(B.Fragment,{children:[`message`in o&&o.message&&(0,B.jsx)(rW,{text:o.message}),(0,B.jsx)(`div`,{className:`message`in o&&o.message?`mt-3`:``,children:c}),(0,B.jsx)(aW,{record:e})]})}function rW({text:e}){return e.length>600||e.split(`
|
|
351
|
-
`).length>6?(0,B.jsxs)(`details`,{className:`rounded-md border border-border/70 bg-panel/60`,children:[(0,B.jsx)(`summary`,{className:`cursor-pointer px-2.5 py-2 text-[11px] text-muted outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/50`,children:`Request message`}),(0,B.jsx)(`div`,{className:`max-h-52 overflow-auto border-t border-border/60 px-2.5 py-2 whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})]}):(0,B.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})}function iW({url:e}){let t=IU(e,location.href);return(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`text-[11px] font-medium text-fg`,children:`Open this page to continue`}),(0,B.jsx)(`code`,{className:`mt-1.5 block max-h-24 overflow-auto break-all rounded-md border border-border bg-bg/40 px-2.5 py-2 font-mono-keep text-[10.5px] text-fg/80`,children:e}),t?(0,B.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:`mt-2 inline-flex items-center gap-1.5 rounded-md border border-border bg-panel px-2.5 py-1.5 text-[11px] font-medium text-fg hover:bg-panel-2`,children:[(0,B.jsx)(Hv,{"aria-hidden":`true`,size:12}),`Open page`]}):(0,B.jsx)(`div`,{role:`alert`,className:`mt-1.5 break-words text-[11px] text-red-300`,children:`This request did not provide a safe http(s) URL.`})]})}function aW({record:e}){return(0,B.jsxs)(`details`,{className:`mt-3 border-t border-border/50 pt-2 text-[10.5px] text-muted/70`,children:[(0,B.jsx)(`summary`,{className:`cursor-pointer w-fit outline-none hover:text-muted focus-visible:ring-1 focus-visible:ring-fg/50`,children:`Request details`}),(0,B.jsxs)(`dl`,{className:`mt-2 grid min-w-0 grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1`,children:[(0,B.jsx)(`dt`,{children:`Provider`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:kU(e.provider.kind)}),e.provider.name&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported name`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.name})]}),e.provider.version&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported version`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.version})]}),(0,B.jsx)(`dt`,{children:`Source`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:AU(e.source.kind)}),e.source.label&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported source`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.source.label})]}),(0,B.jsx)(`dt`,{children:`Scope`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:`This thread · this request`}),e.expiresAt&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Expires`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.expiresAt})]})]})]})}function oW({instanceId:e,fields:t,draft:n,setValue:r,errors:i,autoFocus:a}){let o=t.findIndex(e=>!e.secret);return(0,B.jsxs)(`fieldset`,{className:`min-w-0`,children:[(0,B.jsx)(`legend`,{className:`sr-only`,children:`Requested information`}),(0,B.jsx)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:t.map((t,s)=>(0,B.jsx)(sW,{instanceId:e,field:t,value:n[t.id],setValue:e=>r(t.id,e),error:i[t.id],autoFocus:a&&s===o},t.id))})]})}function sW({instanceId:e,field:t,value:n,setValue:r,error:i,autoFocus:a}){let o=`${e}-${t.id}`,s=t.description?`${o}-description`:void 0,c=i?`${o}-error`:void 0,l=[s,c].filter(Boolean).join(` `)||void 0,u=(0,B.jsxs)(B.Fragment,{children:[t.label,t.required&&(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 text-accent`,children:`*`})]}),d=`mt-1 w-full min-w-0 rounded-md border border-border bg-bg/45 px-2.5 py-2 text-[12px] text-fg outline-none focus:border-accent focus:ring-1 focus:ring-accent/40`,f;if(t.secret)f=(0,B.jsx)(`div`,{className:`mt-1 text-[11px] text-amber-100/70`,children:`Use the secure fallback below.`});else if(t.input===`multiline`)f=(0,B.jsx)(`textarea`,{id:o,name:t.id,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,minLength:t.minLength,maxLength:t.maxLength,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,rows:4,className:`${d} resize-y`});else if(t.input===`text`){let e=t.format===`email`?`email`:t.format===`uri`?`url`:t.format===`date`?`date`:`text`;f=(0,B.jsx)(`input`,{id:o,name:t.id,type:e,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,minLength:t.minLength,maxLength:t.maxLength,placeholder:t.format===`date-time`?`2026-07-13T12:00:00Z`:void 0,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d})}else if(t.input===`number`||t.input===`integer`)f=(0,B.jsx)(`input`,{id:o,name:t.id,type:`number`,step:t.input===`integer`?1:`any`,min:t.minimum,max:t.maximum,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d});else if(t.input===`boolean`)f=(0,B.jsxs)(`label`,{htmlFor:o,className:`mt-1 flex cursor-pointer items-center gap-2 rounded-md border border-border bg-bg/30 px-2.5 py-2 text-[12px] text-fg/85`,children:[(0,B.jsx)(`input`,{id:o,name:t.id,type:`checkbox`,checked:n===!0,onChange:e=>r(e.target.checked),"aria-describedby":l,autoFocus:a,className:`accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:u})]});else if(t.input===`select`)f=(0,B.jsxs)(`select`,{id:o,name:t.id,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d,children:[(0,B.jsx)(`option`,{value:``,children:`Choose an option…`}),t.options.map((e,t)=>(0,B.jsx)(`option`,{value:String(t),children:e.label},t))]});else if(t.input===`multi-select`){let e=Array.isArray(n)?n:[];f=(0,B.jsxs)(`fieldset`,{id:o,"aria-describedby":l,className:`mt-1 rounded-md border border-border bg-bg/30 px-2.5 py-2`,children:[(0,B.jsx)(`legend`,{className:`px-1 text-[11px] font-medium text-fg/85`,children:u}),(0,B.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t.options.map((n,i)=>{let o=String(i);return(0,B.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-[12px] text-fg/85`,children:[(0,B.jsx)(`input`,{type:`checkbox`,name:t.id,value:o,checked:e.includes(o),onChange:t=>r(t.target.checked?[...e,o]:e.filter(e=>e!==o)),autoFocus:a&&i===0,className:`mt-0.5 accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:n.label})]},o)})})]})}return(0,B.jsxs)(`div`,{className:`min-w-0`,children:[t.secret?(0,B.jsx)(`div`,{className:`text-[11px] font-medium text-fg/85`,children:u}):t.input!==`boolean`&&t.input!==`multi-select`?(0,B.jsx)(`label`,{htmlFor:o,className:`block text-[11px] font-medium text-fg/85`,children:u}):null,t.description&&(0,B.jsx)(`div`,{id:s,className:`mt-0.5 whitespace-pre-wrap break-words text-[10.5px] leading-snug text-muted`,children:t.description}),f,i&&(0,B.jsx)(`div`,{id:c,role:`alert`,className:`mt-1 text-[10.5px] text-red-300`,children:i})]})}function cW(e){let t=(e.subAgents??[]).filter(e=>Zm(e)&&e.state===`running`).length,n=(e.bgShells??[]).filter(e=>e.state===`running`).length,r=`${t} sub-agent${t===1?``:`s`}`,i=`${n} background task${n===1?``:`s`}`;return t>0&&n>0?`${r} and ${i}`:t>0?r:i}function lW({thread:e,actions:t}){return(0,B.jsxs)(FV,{"data-awaiting-background":!0,icon:$v,label:`Awaiting background work`,children:[(0,B.jsxs)(`p`,{className:IV,children:[`This agent has come to rest, but it’s awaiting the results from `,cW(e),` it dispatched. It returns to the queue on its own when the work comes back.`]}),t?(0,B.jsx)(LV,{children:t}):null]})}function uW(e,t){for(let n of[e,t])if(n&&Number.isFinite(Date.parse(n)))return n}function dW(e,t=Date.now()){let n=e?Date.parse(e):NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return null;let r=Math.max(0,Math.floor((t-n)/1e3));if(r===0)return`Last active just now`;if(r<60)return`Last active ${r} ${r===1?`second`:`seconds`} ago`;let i=Math.floor(r/60);if(i<60)return`Last active ${i} ${i===1?`minute`:`minutes`} ago`;let a=Math.floor(i/60);if(a<24)return`Last active ${a} ${a===1?`hour`:`hours`} ago`;let o=Math.floor(a/24);if(o<7)return`Last active ${o} ${o===1?`day`:`days`} ago`;let s=Math.floor(o/7);if(s<5)return`Last active ${s} ${s===1?`week`:`weeks`} ago`;let c=Math.floor(o/30);if(c<12)return`Last active ${c} ${c===1?`month`:`months`} ago`;let l=Math.floor(o/365);return`Last active ${l} ${l===1?`year`:`years`} ago`}function fW({at:e,fallbackAt:t,className:n=``}){let r=$b(),i=uW(e,t),a=dW(i,r);return!a||!i?null:(0,B.jsx)(`time`,{dateTime:i,className:n,children:a})}var pW=1500;function mW(e,t){let n=0,r;function i(){r!==void 0&&(t.clearTimeout(r),r=void 0)}return{begin(){let a=++n;return e(!0),i(),r=t.setTimeout(()=>{a===n&&e(!1),r=void 0},pW),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var hW=`Could not copy terminal command`,gW={attach:`Attach command copied`,resume:`Resume command copied`},_W={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},vW=e=>[`terminalCommand`,e];function yW(e){return Z.threadTerminalCommand({slug:e}).then(e=>{if(!e.command)throw Error(e.reason??`No verified provider session is available to resume`);return{command:e.command,mode:e.mode===`attach`?`attach`:`resume`}})}async function bW(e){let t=yW(e);if(typeof ClipboardItem<`u`&&navigator.clipboard?.write)return await navigator.clipboard.write([new ClipboardItem({"text/plain":t.then(({command:e})=>new Blob([e],{type:`text/plain`}))})]),(await t).mode;let{command:n,mode:r}=await t;if(!navigator.clipboard?.writeText)throw Error(`Clipboard access is unavailable; copy the command from a secure Fray page`);return await navigator.clipboard.writeText(n),r}function xW(e){let t=nd({mutationFn:()=>bW(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),X(gW[t])},onError:t=>{e?.onError?.(),X(t instanceof Error?`${hW}: ${t.message}`:hW,{duration:7e3})}})}function SW({slug:e}){let[t,n]=(0,z.useState)(!1),r=(0,z.useRef)(null);r.current||=mW(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Bu(),a=xW(e);(0,z.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:vW(e),queryFn:()=>yW(e),staleTime:15e3})}function s(){let t=i.getQueryData(vW(e));if(t&&navigator.clipboard?.writeText){navigator.clipboard.writeText(t.command).then(()=>{r.current?.begin(),X(gW[t.mode])},()=>X(hW,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(vW(e)),l=t?c?gW[c.mode]:`Terminal command copied`:c?_W[c.mode]:`Copy terminal command`;return(0,B.jsx)(rN,{label:l,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:t?(0,B.jsx)(Av,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,B.jsx)(vy,{size:14,strokeWidth:1.8})})})}function CW(e){return`/thread/${encodeURIComponent(e)}/full`}function wW(e){let t=e.match(/^\/thread\/([^/]+)\/full$/);if(!t)return null;try{return decodeURIComponent(t[1])}catch{return null}}function TW(e){let t=Math.max(e.scrollHeight-e.clientHeight,0),n=t-e.scrollTop,r=e.scrollHeight!==e.previousScrollHeight,i=r&&!e.readerMoved?e.following||n<=1:n<=4;return!i||!r||t<=0||n<=1?{following:i,scrollTop:null}:{following:i,scrollTop:t}}function EW(e){let t=e.scrollTop>640?!0:e.armed,n=t&&e.readerMoved&&e.scrollTop<=480&&e.hasEarlier&&!e.loading;return{armed:n?!1:t,shouldLoad:n}}function DW(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function OW(e,t,n,r,i){let a=[],o=new Map,s=null,c=!1;return e.forEach((e,l)=>{if(e.queued||t(e))return;let u=e.sourceId??DW(e),d=o.get(u)??0;o.set(u,d+1);let f=s===null?0:s&&n(e)?6:i,p=f>0&&c&&e.role!==`user`?3:0;a.push({key:d===0?u:`${u}:${d}`,message:e,messageIndex:l,gap:f+p}),s=r(e),c=e.role===`user`}),a}var kW=new Set([`agent`,`agents`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]);function AW(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function jW(e){return AW(e).toLowerCase()}function MW(e){return{name:`thought`,thought:e}}function NW(e){return e.role===`assistant`&&e.kind===`event`&&!e.boundary&&e.text.startsWith(`Thought for `)}function PW(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||kW.has(jW(e.name))}function FW(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(e.parts&&e.parts.length>0){let t=[];for(let n of e.parts)if(n.kind===`text`){if(n.text.trim())return null}else t.push(...n.tools);return t.length>0&&t.every(e=>!PW(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!PW(e))?e.tools:null}function IW(e){return e.role!==`assistant`||e.kind||e.queued||e.text.trim()||e.tools.length>0?!1:!e.parts?.some(e=>e.kind===`text`?e.text.trim().length>0:e.tools.length>0)}function LW(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return FW(e);for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n.kind===`text`){if(n.text.trim())return null;continue}if(n.tools.length!==0)return n.tools.every(e=>!PW(e))?n.tools:null}return null}function RW(e,t,n){let r=[...e.tools,...t],i=e.parts?.map(e=>e.kind===`text`?e:{...e,tools:[...e.tools]})??[],a=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.kind===`text`){if(t.text.trim())break;continue}if(t.tools.length>0){a=e;break}}let o=i[a];return o?.kind===`tools`?i[a]={kind:`tools`,tools:[...o.tools,...t]}:i.push({kind:`tools`,tools:t}),{...e,at:n??e.at,tools:r,parts:i}}function zW(e){let t=[],n=null;return e.forEach((e,r)=>{if(IW(e))return;if(NW(e)&&n){n.message=RW(n.message,[MW(e.text)],e.at);return}let i=FW(e);if(i&&n){n.message=RW(n.message,i,e.at);return}let a={message:e,messageIndex:r};t.push(a),n=LW(e)?a:null}),t}function BW(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.queued)continue;let r=LW(n);for(let e=(r?.length??0)-1;e>=0;e--)if(r?.[e].thought===void 0)return r?.[e];return}}function VW(e){let t=LW(e);if(!t)return e;let n=e.tools.length>=t.length?e.tools.slice(0,e.tools.length-t.length):e.tools.filter(e=>!t.includes(e)),r=!1,i=e.parts?e.parts.reduceRight((e,n)=>!r&&n.kind===`tools`&&n.tools===t?(r=!0,e):(e.unshift(n),e),[]):e.parts;return{...e,tools:n,parts:i}}function HW(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){LW(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?VW(r.message):r.message;IW(e)||n.push(e===r.message?r:{...r,message:e})}return n}function UW(e){return e.detail?.trim()||void 0}var WW={add:`Adding`,analyze:`Analyzing`,apply:`Applying`,audit:`Auditing`,benchmark:`Benchmarking`,build:`Building`,bump:`Bumping`,capture:`Capturing`,check:`Checking`,clean:`Cleaning`,collect:`Collecting`,commit:`Committing`,compare:`Comparing`,confirm:`Confirming`,copy:`Copying`,count:`Counting`,create:`Creating`,debug:`Debugging`,delete:`Deleting`,diff:`Diffing`,disable:`Disabling`,dispatch:`Dispatching`,drive:`Driving`,dump:`Dumping`,edit:`Editing`,enable:`Enabling`,extract:`Extracting`,fetch:`Fetching`,find:`Finding`,fix:`Fixing`,format:`Formatting`,generate:`Generating`,grep:`Grepping`,inspect:`Inspecting`,install:`Installing`,kill:`Killing`,launch:`Launching`,lint:`Linting`,list:`Listing`,load:`Loading`,measure:`Measuring`,merge:`Merging`,migrate:`Migrating`,move:`Moving`,open:`Opening`,parse:`Parsing`,patch:`Patching`,poll:`Polling`,print:`Printing`,probe:`Probing`,profile:`Profiling`,publish:`Publishing`,pull:`Pulling`,push:`Pushing`,query:`Querying`,read:`Reading`,rebase:`Rebasing`,refactor:`Refactoring`,regenerate:`Regenerating`,remove:`Removing`,rename:`Renaming`,render:`Rendering`,reproduce:`Reproducing`,restart:`Restarting`,revert:`Reverting`,review:`Reviewing`,run:`Running`,save:`Saving`,scan:`Scanning`,search:`Searching`,seed:`Seeding`,spawn:`Spawning`,start:`Starting`,stop:`Stopping`,summarize:`Summarizing`,sync:`Syncing`,tag:`Tagging`,test:`Testing`,trace:`Tracing`,typecheck:`Typechecking`,update:`Updating`,validate:`Validating`,verify:`Verifying`,wait:`Waiting`,watch:`Watching`,write:`Writing`};function GW(e,t){let n=e?.trim();if(!n)return t;let r=n.indexOf(` `),i=(r===-1?n:n.slice(0,r)).replace(/[.:]$/,``);if(/ing$/i.test(i))return i.charAt(0).toUpperCase()+i.slice(1)+(r===-1?``:n.slice(r));let a=WW[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function KW(e,t){let n=t?.trim().replace(/\/+$/,``);if(!n||n===`/`||!n.startsWith(`/`))return e;let r=e.replaceAll(`${n}/`,``),i=/^(\/(?:Users|home)\/[^/]+)(?:\/|$)/.exec(n)?.[1];return i?r.replaceAll(`${i}/`,`~/`):r}function qW(e,t){return KW(JW(e),t)}function JW(e){let t=jW(e.name),n=UW(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?GW(e.desc,n?`Running ${n}`:`Running a command`):t===`read`||t===`view image`?`Reading${r||` a file`}`:t===`grep`||t===`search`||t===`search query`||t===`find`?n?`Searching for ${n}`:`Searching`:t===`glob`||t===`find files`?n?`Finding ${n}`:`Finding files`:t===`edit`||t===`write`||t===`apply patch`?n?`Editing ${n}`:`Editing files`:t===`todos`||t===`update plan`?`Updating the plan`:t===`screenshot`||t===`snapshot`?n?`Capturing ${n}`:`Capturing the page`:t===`navigate`?n?`Navigating to ${n}`:`Navigating`:t===`evaluate`?`Evaluating the page`:t===`pages`?`Listing pages`:t===`new page`?`Opening a new page`:t===`close page`?`Closing the page`:t===`select page`?`Selecting a page`:t===`console`||t===`console message`?`Reading the console`:t===`network`||t===`network request`?`Inspecting network traffic`:t===`press key`?n?`Pressing ${n}`:`Pressing a key`:t===`fill form`?`Filling the form`:t===`dialog`?`Handling a dialog`:t===`upload`?n?`Uploading ${n}`:`Uploading a file`:t===`wait for`||t===`wait`?n?`Waiting for ${n}`:`Waiting`:t===`resize`?`Resizing the page`:t===`ask`?`Preparing a question`:t===`web`||t===`web search`?n?`Searching for ${n}`:`Searching the web`:`Using ${AW(e.name)||`a tool`}`}var YW=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function XW(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[]))e.file.trim()&&t.add(e.file.trim());if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&YW.has(jW(n.name))&&t.add(e)}return t.size}function ZW(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function QW(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function $W(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function eG(e,t){let n=QW(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function tG({directive:e,icon:t,title:n,meta:r,children:i}){return(0,B.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${kV} border border-border bg-panel-2/75 px-3 py-2`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-muted`,"aria-hidden":!0,children:t}),(0,B.jsx)(`div`,{className:`max-w-[calc(100%-1.5rem)] shrink-0 break-words text-[12px] font-medium leading-4 text-fg`,children:n}),r&&(0,B.jsx)(`div`,{className:`min-w-0 truncate text-[11px] font-normal leading-4 text-muted`,children:r})]}),i]})}function nG({children:e,mono:t=!1}){return(0,B.jsx)(`div`,{className:`ml-6 mt-1 break-words text-[11px] leading-4 text-muted${t?` font-mono-keep`:``}`,children:e})}function rG({directive:e}){let t=e.attrs,n=QW(t,`display_name`)??QW(t,`skill_name`)??`Artifact template`,r=QW(t,`artifact_kind`),i=QW(t,`skill_name`),a=QW(t,`skill_directory`),[o,s]=(0,z.useState)(!!a);return(0,B.jsxs)(tG,{directive:e,icon:(0,B.jsx)(ny,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,B.jsx)(nG,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(`${a}/assets/preview.png`)}`,alt:`${n} template preview`,loading:`lazy`,onError:()=>s(!1),className:`ml-6 mt-2 max-h-44 max-w-[calc(100%-1.5rem)] rounded-md border border-border object-contain`})]})}function iG({directive:e}){let t=e.attrs,n=QW(t,`file`),r=$W(t,`start`),i=$W(t,`end`)??r,a=$W(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,B.jsxs)(tG,{directive:e,icon:(0,B.jsx)(ay,{size:15}),title:QW(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[QW(t,`body`)&&(0,B.jsx)(nG,{children:QW(t,`body`)}),n?(0,B.jsx)(`button`,{type:`button`,className:`local-file-action ml-6 mt-1 max-w-[calc(100%-1.5rem)] break-all text-left font-mono-keep text-[11px] leading-4 text-accent underline decoration-dotted underline-offset-2`,"data-local-path":n,title:o,children:o}):(0,B.jsx)(nG,{mono:!0,children:o})]})}var aG={"git-stage":[cy,`Changes staged`],"git-commit":[Kv,`Commit created`],"git-create-branch":[Gv,`Branch created`],"git-push":[Cy,`Branch pushed`],"git-create-pr":[Xv,`Pull request created`]};function oG({directive:e}){let[t,n]=aG[e.name],r=QW(e.attrs,`branch`),i=eG(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,B.jsx)(tG,{directive:e,icon:(0,B.jsx)(t,{size:15}),title:i?(0,B.jsx)(`a`,{className:`text-accent underline underline-offset-2`,href:i,target:`_blank`,rel:`noopener noreferrer`,children:a}):a,meta:r&&(0,B.jsx)(`span`,{className:`font-mono-keep`,children:r})})}function sG({directive:e}){let t=QW(e.attrs,`threadId`),n=QW(e.attrs,`pendingWorktreeId`);return(0,B.jsx)(tG,{directive:e,icon:(0,B.jsx)(sy,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,B.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function cG({directive:e}){let t=QW(e.attrs,`reason`);return(0,B.jsx)(tG,{directive:e,icon:(0,B.jsx)(Sv,{size:15}),title:`Archive suggested`,meta:t})}function lG(e){if(typeof e!=`string`||!e)return;let t=e.match(/(?:^|;)INTERVAL=(\d+)(?:;|$)/)?.[1];return/(?:^|;)FREQ=HOURLY(?:;|$)/.test(e)?`Every ${t??`1`} hour${t===`1`||t===void 0?``:`s`}`:/(?:^|;)FREQ=WEEKLY(?:;|$)/.test(e)?`Weekly schedule`:`Custom schedule`}function uG({directive:e}){let t=e.attrs,n=QW(t,`mode`),r=QW(t,`name`)??`Automation`,i=lG(t.rrule),a=[r,n,QW(t,`status`),i].filter(Boolean).join(` · `);return(0,B.jsx)(tG,{directive:e,icon:(0,B.jsx)(kv,{size:15}),title:`Automation suggested`,meta:a,children:QW(t,`prompt`)&&(0,B.jsx)(nG,{children:QW(t,`prompt`)})})}function dG({directive:e}){return e.name===`artifact-template`?(0,B.jsx)(rG,{directive:e}):e.name===`code-comment`?(0,B.jsx)(iG,{directive:e}):e.name.startsWith(`git-`)?(0,B.jsx)(oG,{directive:e}):e.name===`created-thread`?(0,B.jsx)(sG,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,B.jsx)(cG,{directive:e}):(0,B.jsx)(uG,{directive:e})}var fG;function pG(){return fG??=bj(async()=>{let{default:e}=await import(`./mermaid.core-B7Qc_kbm.js`);return{default:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:`strict`,theme:`dark`,themeVariables:{background:`#181b20`,primaryColor:`#181b20`,primaryTextColor:`#e6e7e9`,primaryBorderColor:`#33363c`,lineColor:`#8b8f96`,secondaryColor:`#26282d`,tertiaryColor:`#0d0e10`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`}}),e)),fG}function mG({source:e}){let t=(0,z.useId)(),[n,r]=(0,z.useState)({});return(0,z.useEffect)(()=>{let n=!0;if(r({}),e.length>5e4)return r({error:`Diagram source exceeds the 50 KB rendering limit`}),()=>{n=!1};let i=`fray-mermaid-${t.replace(/[^a-zA-Z0-9]/g,``)}`;return pG().then(t=>t.render(i,e)).then(({svg:e})=>{n&&r({html:e})}).catch(e=>{if(!n)return;let t=e instanceof Error?e.message.split(/\n| for text:/,1)[0]:`Unknown diagram error`;r({error:t.slice(0,240)})}).finally(()=>document.getElementById(`d${i}`)?.remove()),()=>{n=!1}},[t,e]),n.error?(0,B.jsxs)(`section`,{"data-mermaid-state":`error`,className:`${kV} border border-border bg-panel-2/75 px-3 py-2.5`,children:[(0,B.jsx)(`div`,{className:`text-[12px] font-medium text-fg`,children:`Diagram unavailable`}),(0,B.jsx)(`div`,{className:`mt-1 text-[11px] text-muted`,children:n.error}),(0,B.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap rounded-md bg-bg p-2 font-mono-keep text-[11px] text-muted`,children:e})]}):n.html?(0,B.jsx)(`div`,{"data-mermaid-state":`ready`,className:`overflow-x-auto ${kV} border border-border bg-panel-2/75 p-3 [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full`,dangerouslySetInnerHTML:{__html:n.html}}):(0,B.jsx)(`div`,{"data-mermaid-state":`loading`,role:`status`,"aria-label":`Rendering diagram`,className:`h-24 animate-pulse ${kV} bg-panel-2`})}var hG=(0,z.createContext)(null),gG=(0,z.createContext)(null);function _G(){let e=(0,z.useContext)(hG),t=(0,z.useContext)(gG);return e??t}var vG=(0,z.createContext)(null);function yG(e){return e.status===`pending`&&e.backgroundState===`background`}function bG(e){let t=[];for(let n of e)for(let e of n.tools)yG(e)&&n.at&&t.push({label:e.desc??e.detail??e.command??`Background command`,startedAt:n.at,state:`running`,...e.shellId?{launchId:e.shellId}:{}});return t}function xG(e){return e.map(e=>{if(!e.tools.some(yG))return e;let t=e.tools.filter(e=>!yG(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!yG(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function SG({slug:e,tab:t,onTab:n,onStatusApplied:r,onClose:i,virtualized:a=!1,showReturnToQueue:o=!1}){let s=xg(J_(),e);return(0,B.jsxs)(JI,{value:t,onValueChange:e=>n(e),activationMode:`automatic`,className:`flex-1 min-h-0 flex flex-col`,children:[(0,B.jsx)(kG,{slug:e,tab:t,onStatusApplied:r,onClose:i,showReturnToQueue:o}),t===`scratch`?(0,B.jsxs)(ZI,{value:`scratch`,className:`flex-1 min-h-0 flex flex-col outline-none`,children:[(0,B.jsx)(ZU,{thread:s,className:`mx-4 mt-3 max-h-[45vh] shrink-0 overflow-y-auto`}),(0,B.jsx)(jG,{slug:e})]}):(0,B.jsx)(CG,{slug:e,onTab:n,virtualized:a}),s&&(0,B.jsx)(ZH,{thread:s,sticky:!0,safeArea:!0,onArchived:r})]})}function CG({slug:e,onTab:t,virtualized:n}){let r=J_(),i=xg(r,e),a=i?.runtime===`running`||i?.runtime===`spawning`,o=i?.foreign?void 0:i?.nativeInputRequired,s=xW(e),c=i?.pendingInteraction?void 0:i?.pendingAsk,l=iv(e,{poll:a}),u=Bu(),d=(0,z.useRef)(!1),[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(null),g=(0,z.useMemo)(()=>l.data?.messages??[],[l.data]),_=(0,z.useMemo)(()=>bG(g),[g]),v=(0,z.useMemo)(()=>xG(g),[g]),y=(0,z.useMemo)(()=>zW(v),[v]),b=a?BW(y.map(e=>e.message)):void 0,x=b?qW(b,r?.projectDir):void 0,S=(0,z.useMemo)(()=>a?HW(y):y,[y,a]),C=a,w=(0,z.useMemo)(()=>DV(g),[g]),T=(0,z.useMemo)(()=>_H(g),[g]),{stickyUserMessage:E}=Yd(Xy),{answeringForMessage:D}=tH(e,g,void 0,{multiMessage:!0}),O=(0,z.useRef)(null),[ee,k]=(0,z.useState)(null),A=l.data?.messages.length??0;(0,z.useEffect)(()=>{if(n)return;let e=O.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[A,a,n]);let j=(0,z.useCallback)(async()=>{if(d.current)return;let t=u.getQueryData([`transcript`,e]),n=t?.beforeCursor,r=t?.transcriptKey;if(!(!t?.hasEarlier||!n||!r)){d.current=!0,p(!0),h(null);try{let t=await Z.threadTranscriptEarlier({slug:e,cursor:n}),i=u.getQueryData([`transcript`,e]);if(!i?.transcriptKey||i.transcriptKey!==r||t.transcriptKey!==r){await l.refetch(),X(`Transcript changed while loading history; refreshed the current session`);return}u.setQueryData([`transcript`,e],h_(i,t))}catch(e){let t=e instanceof Error?e.message:`Could not load earlier transcript history`;h(t)}finally{d.current=!1,p(!1)}}},[l,u,e]);return(0,B.jsx)(hG.Provider,{value:e,children:(0,B.jsxs)(ZI,{value:`chat`,"data-drawer-scroll-ready":l.isPending?`false`:`true`,className:`flex-1 min-h-0 flex flex-col overflow-hidden outline-none`,children:[(0,B.jsxs)(`div`,{className:`relative min-h-0 flex-1 flex flex-col`,children:[(0,B.jsx)(`div`,{ref:O,"data-drawer-transcript-scroll":!0,"data-virtualized-transcript-scroll":n||void 0,tabIndex:n?0:void 0,role:n?`region`:void 0,"aria-label":n?`Thread conversation`:void 0,"aria-busy":n&&f?!0:void 0,className:`relative min-h-0 flex-1 overflow-y-auto pb-3 outline-none [overflow-anchor:none] focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:n&&A>0?(0,B.jsx)(DG,{slug:e,transcriptRef:O,transcriptKey:l.data?.transcriptKey,messages:v,paired:w,answeringForMessage:D,thread:i,nativeInputRequired:o,running:a,copyTerminalCommand:s,stickyUserMessage:E,transportFallback:l.transportFallback,isFetching:l.isFetching,refresh:()=>void l.refetch(),retryLiveUpdates:l.retryLiveUpdates,hasEarlier:l.data?.hasEarlier===!0,beforeCursor:l.data?.beforeCursor,loadingEarlier:f,earlierError:m,loadEarlier:()=>void j(),jumpOverlay:ee}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(ZU,{thread:i,className:`px-6 pt-5`,autoFocusFirst:!0}),l.transportFallback&&(0,B.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`mx-6 mt-3 flex flex-wrap items-center gap-2.5 rounded-2xl border border-border-strong bg-panel-2 px-3 py-2 text-[12px]`,title:l.transportFallback.kind===`payload-too-large`?`Live payload ${l.transportFallback.actualBytes} bytes; socket limit ${l.transportFallback.maxBytes} bytes`:`Transcript read budget reached (${l.transportFallback.scope}); retry after about ${l.transportFallback.retryAfterMs}ms`,children:[(0,B.jsx)(Sy,{size:13,className:`shrink-0 text-muted`}),(0,B.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,l.transportFallback.kind===`payload-too-large`?`The transcript is too large for push; the last complete HTTP-loaded copy remains visible.`:`The live read budget was reached; the last complete copy remains visible. Retry in a moment.`]}),(0,B.jsx)(`button`,{type:`button`,disabled:l.isFetching,onClick:()=>void l.refetch(),className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel disabled:opacity-40`,children:l.isFetching?`Refreshing…`:`Refresh once`}),(0,B.jsx)(`button`,{type:`button`,onClick:l.retryLiveUpdates,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`,children:`Retry live`})]}),(0,B.jsx)(`div`,{"data-transcript-column":!0,className:`flex min-h-full flex-col px-6 py-5`,children:A===0?(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-sm text-muted`,children:l.isPending?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(HK,{}),` Loading…`]}):a?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(HK,{}),` Session starting…`]}):wH(i)?(0,B.jsxs)(`div`,{className:`text-center`,children:[(0,B.jsx)(`p`,{className:`mb-3`,children:`No session is attached to this thread yet.`}),(0,B.jsx)(`button`,{className:`btn-ghost border border-border text-[12px]`,onClick:()=>Z.adoptThread({slug:e}).catch(()=>{}),children:`Start a session on this thread`})]}):`No conversation yet.`}):(0,B.jsxs)(B.Fragment,{children:[VG(S.map(e=>e.message),(e,t)=>{let n=S[t].messageIndex,r=n===T&&E,i=(0,B.jsx)(vK,{m:e,answering:D(e),showSendButton:!0,paired:w[n],sticky:r},t);return r?(0,B.jsx)(gK,{children:i},t):i},e=>!!e.queued),(i?.providerFault||i?.limitPause||c||o||i?.runtime===`perm-prompt`||C||i?.awaitingBackground)&&(0,B.jsx)(zG,{h:C&&!i?.providerFault&&!i?.limitPause&&!c&&!o&&i?.runtime!==`perm-prompt`?BG(S.map(e=>e.message)):14}),i?.providerFault&&!i.foreign?(0,B.jsx)(OK,{slug:e,sessionId:i.sessionId,fault:i.providerFault,retryText:T>=0?g[T]?.text:void 0}):i?.limitPause&&!i.foreign?(0,B.jsx)(AK,{slug:e,sessionId:i.sessionId,pause:i.limitPause}):c?(0,B.jsx)(FK,{ask:c,onTerminal:s}):o?(0,B.jsx)(NK,{input:o,onTerminal:s}):i?.runtime===`perm-prompt`?(0,B.jsx)(jK,{onTerminal:s}):C?(0,B.jsx)(UK,{since:i?.lastUserAt,activityLabel:x}):i?.awaitingBackground?(0,B.jsx)(lW,{thread:i}):null,i?.permPolicy?(0,B.jsx)(`div`,{className:`mt-3`,children:(0,B.jsx)(MK,{policy:i.permPolicy,denies:i.permDenies})}):null,g.some(e=>e.queued)&&(0,B.jsx)(zG,{}),(0,B.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:g.map((e,t)=>e.queued?(0,B.jsx)(vK,{m:e,paired:w[t]},`q${t}`):null)})]})})]})}),(0,B.jsx)(`div`,{ref:k,"data-transcript-overlay":!0,className:`pointer-events-none absolute inset-x-0 bottom-0 z-20 flex justify-end p-4 [&>*]:pointer-events-auto`})]}),(0,B.jsx)(`div`,{"data-thread-chat-footer":!0,className:`z-10 shrink-0 border-t border-border/60 bg-panel`,children:(0,B.jsx)(IH,{slug:e,onTerminal:s,ops:(0,B.jsx)(PK,{slug:e,transcriptShells:_,className:`px-1 pb-2 pt-1.5`})})})]})})}var wG=700,TG=250,EG=(()=>{try{return localStorage.getItem(`fray.debugScroll`)===`1`}catch{return!1}})();function DG({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,answeringForMessage:a,thread:o,nativeInputRequired:s,running:c,copyTerminalCommand:l,stickyUserMessage:u,transportFallback:d,isFetching:f,refresh:p,retryLiveUpdates:m,hasEarlier:h,beforeCursor:g,loadingEarlier:_,earlierError:v,loadEarlier:y,jumpOverlay:b}){let x=Y_(),S=(0,z.useMemo)(()=>zW(r),[r]),C=c?BW(S.map(e=>e.message)):void 0,w=C?qW(C,x):void 0,T=(0,z.useMemo)(()=>c?HW(S):S,[S,c]),E=c,D=(0,z.useMemo)(()=>OW(T.map(e=>e.message),LG,IG,FG,14).map(e=>({...e,messageIndex:T[e.messageIndex].messageIndex})),[T]),O=(0,z.useMemo)(()=>_H(r),[r]),ee=!!(o?.providerFault&&!o.foreign||o?.limitPause&&!o.foreign||!o?.pendingInteraction&&o?.pendingAsk||s||o?.runtime===`perm-prompt`||E||o?.awaitingBackground),k=(0,z.useMemo)(()=>E&&!(o?.providerFault&&!o.foreign)&&!(o?.limitPause&&!o.foreign)&&!(!o?.pendingInteraction&&o?.pendingAsk)&&!s&&o?.runtime!==`perm-prompt`?BG(T.map(e=>e.message)):14,[T,s,E,o]),A=(0,z.useMemo)(()=>{let e=[{key:`interactions`,kind:`interactions`}];d&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(h||_||v)&&e.push({key:`earlier-history:${g??`complete`}`,kind:`earlier-history`}),e.push(...D.map(e=>({...e,kind:`message`}))),ee&&e.push({key:`runtime-status`,kind:`runtime-status`});let t=ee||D.length>0?14:0;return r.forEach((n,r)=>{if(!n.queued)return;let i=`queued:${n.deliveryId??n.sourceId??r}`;e.push({key:i,kind:`queued`,message:n,messageIndex:r,gap:t}),t=14}),e},[g,v,h,ee,_,D,r,d]),j=(0,z.useMemo)(()=>!u||O<0?-1:A.findIndex(e=>e.kind===`message`&&e.messageIndex===O),[O,A,u]),M=xL({count:A.length,getScrollElement:()=>t.current,getItemKey:e=>A[e]?.key??e,estimateSize:e=>{let t=A[e];return t?t.kind===`interactions`?1:t.kind===`earlier-history`?42:t.kind===`transport-fallback`?76:t.kind===`runtime-status`?54:t.kind===`message`?108+t.gap:82+t.gap:80},overscan:8,paddingStart:20,paddingEnd:20,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:4,scrollToFn:(e,{adjustments:t,behavior:n},r)=>{let i=r.scrollElement;i&&i.scrollTo({top:e+(t??0),behavior:n})}}),[N,te]=(0,z.useState)(!0),P=(0,z.useRef)(!0),ne=(0,z.useRef)(-1),re=(0,z.useRef)(0),ie=(0,z.useRef)(null),ae=(0,z.useRef)(!1),oe=(0,z.useRef)(!1),se=(0,z.useRef)(!0),ce=(0,z.useRef)(null),le=(0,z.useRef)(void 0),ue=(0,z.useRef)(null),de=(0,z.useRef)(void 0),fe=(0,z.useRef)(void 0),pe=(0,z.useRef)(0),me=(0,z.useCallback)(()=>{let e=t.current;if(e){let t=e.getBoundingClientRect().top,n=Array.from(e.querySelectorAll(`[data-transcript-source-id]:not([data-transcript-sticky])`)).find(e=>e.getBoundingClientRect().bottom>t+1),r=n?.dataset.transcriptRowKey;n&&r&&(ce.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}y()},[y,t]);(0,z.useLayoutEffect)(()=>{if(!n||A.length===0||le.current===n)return;le.current=n,ae.current=!1,oe.current=!1,se.current=!0;let e=requestAnimationFrame(()=>{M.scrollToEnd({behavior:`instant`}),ae.current=!0,te(!0)});return()=>cancelAnimationFrame(e)},[A.length,n,M]),(0,z.useLayoutEffect)(()=>{let e=ce.current,n=t.current;if(!e||!n||_)return;let r=()=>{let t=Array.from(n.querySelectorAll(`[data-transcript-row-key]`)).find(t=>t.dataset.transcriptRowKey===e.rowKey);if(!t)return;let r=t.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=r-e.viewportTop};r();let i=0,a=requestAnimationFrame(()=>{r(),i=requestAnimationFrame(()=>{r(),ce.current===e&&(ce.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[_,D.length,t]);let he=(0,z.useCallback)(()=>{let e=t.current;if(!e)return null;let n=e.getBoundingClientRect().top,r=Array.from(e.querySelectorAll(`[data-transcript-row-key]:not([data-transcript-sticky])`)).find(e=>e.getBoundingClientRect().bottom>n+1),i=r?.dataset.transcriptRowKey;return!r||!i?null:{rowKey:i,viewportTop:r.getBoundingClientRect().top-n}},[t]),ge=(0,z.useCallback)(e=>{let n=t.current;if(!n)return;let r=Array.from(n.querySelectorAll(`[data-transcript-row-key]`)).find(t=>t.dataset.transcriptRowKey===e.rowKey&&t.dataset.transcriptSticky!==`true`);if(!r)return;let i=r.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=i-e.viewportTop},[t]),_e=j>=0?A[j]?.key:void 0;(0,z.useLayoutEffect)(()=>{let e=_e,t=de.current;if(de.current=e,t===void 0||t===e||P.current)return;let n=ue.current;if(!n||ce.current)return;pe.current=performance.now()+TG,ge(n);let r=0,i=0,a=requestAnimationFrame(()=>{ge(n),r=requestAnimationFrame(()=>{ge(n),i=requestAnimationFrame(()=>{ge(n),pe.current=0})})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(r),cancelAnimationFrame(i),pe.current=0}},[ge,_e]);let ve=D[0]?.key;(0,z.useLayoutEffect)(()=>{let e=fe.current;if(fe.current=ve,e===void 0||e===ve||!ae.current||P.current||ce.current)return;let t=ue.current;if(!t)return;ge(t);let n=()=>{if(performance.now()<re.current)return;let e=ue.current;e&&ge(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[ge,ve]);let ye=(0,z.useCallback)(()=>{let e=t.current;if(!e||ce.current||performance.now()<pe.current)return;let n=TW({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:ne.current,following:P.current,readerMoved:performance.now()<re.current});if(P.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),ne.current=e.scrollHeight,te(e=>e===n.following?e:n.following),EG&&!n.following&&performance.now()>=re.current){let t=ue.current,n=t&&Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.dataset.transcriptRowKey===t.rowKey&&e.dataset.transcriptSticky!==`true`);if(t&&n){let r=Math.round(n.getBoundingClientRect().top-e.getBoundingClientRect().top-t.viewportTop);Math.abs(r)>2&&console.warn(`[fray] transcript moved ${r}px under a still reader — pin=${de.current??`none`} row=${t.rowKey}`)}}ue.current=he()??ue.current},[he,t]);(0,z.useLayoutEffect)(ye),(0,z.useEffect)(()=>{let e=ie.current;if(!e)return;let t=new ResizeObserver(ye);return t.observe(e),()=>t.disconnect()},[ye]),(0,z.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{ye();let t=EW({armed:se.current,scrollTop:e.scrollTop,readerMoved:ae.current&&oe.current,hasEarlier:h,loading:_});se.current=t.armed,t.shouldLoad&&me()},r=()=>{oe.current=!0,re.current=performance.now()+wG,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(se.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(se.current=!0),r()},o=()=>{e.scrollTop<=480&&(se.current=!0),r()};e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`wheel`,a,{passive:!0}),e.addEventListener(`touchstart`,o,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`pointerdown`,r,{passive:!0}),e.addEventListener(`keydown`,i);let s=requestAnimationFrame(n);return()=>{cancelAnimationFrame(s),e.removeEventListener(`scroll`,n),e.removeEventListener(`wheel`,a),e.removeEventListener(`touchstart`,o),e.removeEventListener(`touchmove`,o),e.removeEventListener(`pointerdown`,r),e.removeEventListener(`keydown`,i)}},[h,_,me,ye,t]);let be=M.getVirtualItems(),xe=M.getTotalSize(),Se=j>=0?A[j]:void 0,Ce=Se?.kind===`message`?Se:void 0,we=Ce?M.measurementsCache[j]?.start??0:0;return(0,B.jsxs)(`div`,{ref:ie,"data-virtualized-transcript":!0,"data-virtual-row-count":be.length,className:`relative w-full`,style:{height:xe},children:[Ce&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{"aria-hidden":!0,style:{height:we}}),(0,B.jsx)(`div`,{ref:M.measureElement,"data-index":j,"data-transcript-row-key":Ce.key,"data-transcript-source-id":Ce.message.sourceId,"data-transcript-sticky":`true`,className:`pointer-events-none [&>*]:pointer-events-auto sticky top-0 z-[9] flex w-full flex-col px-6 pt-3 pb-1.5`,children:(0,B.jsx)(vK,{m:Ce.message,answering:a(Ce.message),showSendButton:!0,paired:i[Ce.messageIndex],sticky:!0})},Ce.key)]}),be.map(t=>{let n=A[t.index];return!n||t.index===j?null:(0,B.jsx)(`div`,{ref:M.measureElement,"data-index":t.index,"data-transcript-row-key":n.key,"data-transcript-source-id":n.kind===`message`?n.message.sourceId:void 0,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`interactions`?(0,B.jsx)(ZU,{thread:o,className:`px-6 pt-5`,autoFocusFirst:!0}):n.kind===`transport-fallback`?d?(0,B.jsx)(`div`,{className:`px-6 pt-3`,children:(0,B.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`flex flex-wrap items-center gap-2.5 ${kV} border border-border-strong bg-panel-2 px-3 py-2 text-[12px]`,title:d.kind===`payload-too-large`?`Live payload ${d.actualBytes} bytes; socket limit ${d.maxBytes} bytes`:`Transcript read budget reached (${d.scope}); retry after about ${d.retryAfterMs}ms`,children:[(0,B.jsx)(Sy,{size:13,className:`shrink-0 text-muted`}),(0,B.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,d.kind===`payload-too-large`?`The transcript is too large for push; the last complete HTTP-loaded copy remains visible.`:`The live read budget was reached; the last complete copy remains visible. Retry in a moment.`]}),(0,B.jsx)(`button`,{type:`button`,disabled:f,onClick:p,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel disabled:opacity-40`,children:f?`Refreshing…`:`Refresh once`}),(0,B.jsx)(`button`,{type:`button`,onClick:m,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`,children:`Retry live`})]})}):null:n.kind===`earlier-history`?(0,B.jsx)(`div`,{className:`flex min-h-10 items-center justify-center px-6 text-[11px] text-muted`,role:`status`,children:v?(0,B.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,B.jsx)(`span`,{children:v}),(0,B.jsx)(`button`,{type:`button`,onClick:me,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):_?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(iy,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,B.jsx)(`button`,{type:`button`,onClick:me,className:`rounded-md px-2 py-1 outline-none hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:`Load earlier messages`})}):n.kind===`message`?(0,B.jsx)(`div`,{className:`flex flex-col px-6`,style:{paddingTop:n.gap},children:(0,B.jsx)(vK,{m:n.message,answering:a(n.message),showSendButton:!0,paired:i[n.messageIndex]})}):n.kind===`runtime-status`?(0,B.jsxs)(`div`,{className:`px-6`,style:{paddingTop:k},children:[o?.providerFault&&!o.foreign?(0,B.jsx)(OK,{slug:e,sessionId:o.sessionId,fault:o.providerFault,retryText:O>=0?r[O]?.text:void 0}):o?.limitPause&&!o.foreign?(0,B.jsx)(AK,{slug:e,sessionId:o.sessionId,pause:o.limitPause}):!o?.pendingInteraction&&o?.pendingAsk?(0,B.jsx)(FK,{ask:o.pendingAsk,onTerminal:l}):s?(0,B.jsx)(NK,{input:s,onTerminal:l}):o?.runtime===`perm-prompt`?(0,B.jsx)(jK,{onTerminal:l}):E?(0,B.jsx)(UK,{since:o?.lastUserAt,activityLabel:w}):o?.awaitingBackground?(0,B.jsx)(lW,{thread:o}):null,o?.permPolicy?(0,B.jsx)(`div`,{className:`mt-3`,children:(0,B.jsx)(MK,{policy:o.permPolicy,denies:o.permDenies})}):null]}):(0,B.jsx)(`div`,{className:`flex flex-col px-6`,style:{paddingTop:n.gap},children:(0,B.jsx)(vK,{m:n.message,paired:i[n.messageIndex]})})},n.key)}),(0,B.jsx)(OG,{overlay:b,hidden:N,onJump:()=>M.scrollToEnd({behavior:`smooth`})})]})}function OG({overlay:e,hidden:t,onJump:n}){return!e||t?null:(0,id.createPortal)((0,B.jsxs)(`button`,{type:`button`,"data-jump-to-latest":!0,onClick:n,className:`flex items-center gap-1.5 rounded-full border border-border-strong bg-elevated px-3 py-1.5 text-[11px] font-medium text-fg shadow-lg shadow-black/30 hover:bg-panel-2`,children:[(0,B.jsx)(Cv,{size:12}),`Jump to latest`]}),e)}function kG({slug:e,tab:t,onStatusApplied:n,onClose:r,showReturnToQueue:i=!1}){let a=xg(J_(),e),o=nd({mutationFn:()=>Z.markComplete({slug:e})}),s=nd({mutationFn:t=>Z.renameThread({slug:e,title:t})}),c=nd({mutationFn:()=>Z.aiRenameThread({slug:e}),onSuccess:({title:e})=>X(`Renamed to “${e}”`),onError:e=>X(e instanceof Error?e.message:`Could not rename with Claude`,{duration:7e3})}),[l,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(``),p=(0,z.useRef)(null);(0,z.useEffect)(()=>{if(!l)return;let e=requestAnimationFrame(()=>{p.current?.focus(),p.current?.select()});return()=>cancelAnimationFrame(e)},[l]),(0,z.useEffect)(()=>{u(!1),f(``)},[e]);let m=sB(td({queryKey:[`threadBody`,e],queryFn:()=>Z.threadBody({slug:e})}).data?.markdown??``).trim().length>0;if(!a)return null;let h=a.kind===`session`&&a.foreign!==!0,g=!!a.scratchpadPath,_=a.foreign===!0,v=a.kind===`session`&&!_,y=eb(a),b=DH(a),x=!b.enabled||c.isPending,S=c.isPending?`Claude is generating a title…`:b.enabled&&c.error instanceof Error?c.error.message:b.label;function C(){u(!1),f(``)}function w(){let e=TH(d,y);if(u(!1),!e){f(``);return}s.mutate(e,{onSuccess:()=>{f(``),X(`Thread renamed`)},onError:t=>{f(e),u(!0),X(t instanceof Error?t.message:`Could not rename thread`)}})}return(0,B.jsxs)(`header`,{"data-thread-header":!0,className:OH,children:[(0,B.jsx)(`div`,{className:kH,children:(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[i&&(0,B.jsx)(rN,{label:`Return to queue`,children:(0,B.jsx)(`a`,{href:`/`,"aria-label":`Return to queue`,"data-standalone-return":!0,className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,B.jsx)(wv,{size:14})})}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[l?(0,B.jsx)(`input`,{ref:p,"aria-label":`Thread title`,value:d,maxLength:200,onChange:e=>f(e.target.value),onBlur:w,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),w()):e.key===`Escape`&&(e.preventDefault(),C())},className:`min-w-0 flex-1 rounded-md border border-border bg-elevated px-1.5 py-1 font-semibold text-[15px] text-fg outline-none focus:border-accent`}):v?(0,B.jsx)(`button`,{type:`button`,title:`Edit title`,"aria-label":`Edit thread title: ${y}`,disabled:s.isPending||c.isPending,onClick:()=>{f(EH(y,a.id)),u(!0)},className:`min-w-0 max-w-full shrink truncate rounded px-0.5 -mx-0.5 font-semibold text-[15px] text-left outline-none transition-colors hover:bg-panel-2 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-40`,children:y}):(0,B.jsx)(`div`,{className:`min-w-0 max-w-full shrink truncate px-0.5 -mx-0.5 font-semibold text-[15px]`,title:y,children:y}),b.show&&!l&&(0,B.jsx)(rN,{label:S,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":c.isPending?`Renaming with Claude`:b.enabled?`Rename with Claude`:b.label,title:S,"aria-busy":c.isPending,"aria-disabled":x,onClick:()=>{x||(c.reset(),c.mutate())},className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md outline-none transition-colors ${x?`cursor-not-allowed opacity-40`:``} ${c.error?`text-red-400 hover:bg-red-500/10`:`text-accent hover:bg-accent/10`}`,children:(0,B.jsx)(hy,{size:13,strokeWidth:2,className:c.isPending?`animate-pulse`:``})})})]}),(0,B.jsx)(fW,{at:db(a),fallbackAt:a.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})]})}),(0,B.jsxs)(`div`,{className:AH,children:[(0,B.jsxs)(YI,{"aria-label":`Thread view`,className:`flex shrink-0 items-center gap-1 rounded-lg bg-panel-2 p-0.5 text-[11px]`,children:[(0,B.jsx)(AG,{value:`chat`,label:`Chat`}),g&&(0,B.jsx)(AG,{value:`scratch`,label:`Doc`})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[h&&(0,B.jsx)(SW,{slug:e}),(0,B.jsx)(LH,{thread:a,onDoc:m?()=>ag(`doc`,a.id):void 0,onDone:()=>o.mutate(void 0,{onSuccess:n}),doneBusy:o.isPending,onStatusApplied:n}),r&&(0,B.jsx)(rN,{label:`Open in new tab`,children:(0,B.jsx)(`a`,{href:CW(e),target:`_blank`,rel:`noopener`,"aria-label":`Open in new tab`,className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,B.jsx)(Tv,{size:14})})})]}),r&&(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:r,className:`ml-0.5 shrink-0 rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]})]})}function AG({value:e,label:t}){return(0,B.jsx)(XI,{value:e,className:`rounded-md px-2.5 py-1 text-muted outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 data-[state=active]:bg-elevated data-[state=active]:text-fg data-[state=active]:shadow-sm data-[state=active]:shadow-black/20`,children:t})}function jG({slug:e}){let t=td({queryKey:[`threadScratchpad`,e],queryFn:()=>Z.threadScratchpad({slug:e})}),n=(0,z.useMemo)(()=>aB(t.data?.markdown??``),[t.data?.markdown]);return(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-6 py-5`,children:t.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):n?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:n}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No scratchpad yet.`})})}function MG(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||nU(e))return!1;if(e.parts&&e.parts.length>0){for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n.kind===`tools`?n.tools.length>0:n.text.trim())return n.kind===`tools`}return!1}return(e.tools?.length??0)>0&&!e.text.trim()}function NG(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||nU(e))return!1;if(e.parts&&e.parts.length>0){for(let t of e.parts)if(t.kind===`tools`?t.tools.length>0:t.text.trim())return t.kind===`tools`;return!1}return(e.tools?.length??0)>0}function PG(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function FG(e){return PG(e)||MG(e)}function IG(e){return PG(e)||NG(e)}function LG(e){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.every(e=>e.kind===`tools`?e.tools.length===0:!e.text.trim()):(e.tools?.length??0)===0&&!e.text.trim()}function RG(e){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.some(e=>e.kind===`text`&&e.text.trim()!==``):typeof e.text==`string`&&e.text.trim()!==``}function zG({h:e=14}){return(0,B.jsx)(`div`,{"aria-hidden":!0,className:`shrink-0`,style:{height:e}})}function BG(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||LG(n)))return FG(n)?6:14+(n.role===`user`?3:0)}return 0}function VG(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{if(!n?.(e,a)&&!LG(e)){if(i!==null){let t=FG(i)&&IG(e)?6:14,n=i.role===`user`&&e.role!==`user`?3:0;r.push((0,B.jsx)(zG,{h:t+n},`s${a}`))}r.push(t(e,a)),i=e}}),r}function HG(e){let t=[];for(let n of e){if(n.kind===`text`){if(!n.text.trim())continue;t.push(n);continue}if(n.tools.length===0)continue;let e=t[t.length-1];e&&e.kind===`tools`?t[t.length-1]={kind:`tools`,tools:[...e.tools,...n.tools]}:t.push(n)}return t}function UG(e,t=14){let n=e.filter(e=>e!=null&&e!==!1),r=[];return n.forEach((e,n)=>{n>0&&r.push((0,B.jsx)(zG,{h:t},`vs${n}`)),r.push(e)}),r}function WG(e){let t=[];for(let n of e){let e=t[t.length-1];if(n.thought!==void 0)t.push({name:n.name,thought:n.thought,count:1});else if(n.edit){let r=!!(n.input||n.output||n.status||n.exitCode!==void 0);e&&e.edits&&!r&&!e.input&&!e.output&&!e.status&&e.edits[0].file===n.edit.file?e.edits.push(n.edit):t.push({name:n.name,detail:n.detail,edits:[n.edit],input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1})}else n.command?t.push({name:n.name,detail:n.detail,command:n.command,desc:n.desc,input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1}):n.read?t.push({name:n.name,detail:n.detail,read:n.read,status:n.status,durationMs:n.durationMs,count:1}):n.prompt||n.agentId?t.push({name:n.name,detail:n.detail,prompt:n.prompt,input:n.input,subagentType:n.subagentType,agentId:n.agentId,agentStatus:n.agentStatus,agentElapsedMs:n.agentElapsedMs,output:n.output,status:n.status,durationMs:n.durationMs,count:1}):n.sendTo!==void 0||n.sendBody!==void 0?t.push({name:n.name,detail:n.detail,sendTo:n.sendTo,sendSummary:n.sendSummary,sendBody:n.sendBody,sendType:n.sendType,sendDispatchId:n.sendDispatchId,sendTargetLabel:n.sendTargetLabel,status:n.status,durationMs:n.durationMs,count:1}):n.outputImage?t.push({name:n.name,detail:n.detail,outputImage:n.outputImage,output:n.output,status:n.status,durationMs:n.durationMs,count:1}):n.todos?t.push({name:n.name,detail:n.detail,todos:n.todos,input:n.input,status:n.status,durationMs:n.durationMs,count:1}):n.sentImages||n.sentFiles?t.push({name:n.name,detail:n.detail,sentImages:n.sentImages,sentFiles:n.sentFiles,caption:n.caption,status:n.status,durationMs:n.durationMs,count:1}):n.input||n.output?t.push({name:n.name,detail:n.detail,input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1}):e&&!e.edits&&!e.command&&!e.input&&!e.output&&!e.read&&!e.prompt&&!e.outputImage&&!e.sentImages&&!e.sentFiles&&e.sendTo===void 0&&e.sendBody===void 0&&e.name===n.name&&e.detail===n.detail&&e.status===n.status&&e.backgroundState===n.backgroundState&&e.exitCode===n.exitCode&&e.cwd===n.cwd&&e.sessionId===n.sessionId&&e.durationMs===n.durationMs?e.count++:t.push({name:n.name,detail:n.detail,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1})}return t}function GG(e){return e.split(`__`).pop()||e}function KG(e){let t=Y.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function qG({tools:e,at:t}){let[n,r]=(0,z.useState)(!1),i=(0,z.useId)(),a=e.reduce((e,t)=>t.thought===void 0?e+t.count:e,0),o=ZW(a,XW(e));return a===0?(0,B.jsx)(`div`,{className:`flex flex-col`,children:UG(e.map((e,n)=>(0,B.jsx)(YG,{t:e,startedAt:t},n)),6)}):(0,B.jsxs)(`div`,{"data-tool-activity":!0,"data-tool-activity-state":`settled`,className:`flex min-w-0 flex-col`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":i,"aria-expanded":n,"aria-label":`${n?`Collapse`:`Expand`} ${a} tool ${a===1?`call`:`calls`}: ${o}`,className:`group flex w-full min-w-0 items-center gap-1 rounded py-0.5 text-left outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 ${cU}`,children:[(0,B.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,B.jsx)(Mv,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:`relative top-[calc(0.032em+1px)] size-[1em] shrink-0 text-muted/70 transition-transform group-hover:text-current ${n?`rotate-90`:``}`})]}),n&&(0,B.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:UG(e.map((e,n)=>(0,B.jsx)(YG,{t:e,startedAt:t},n)),6)}),!n&&(0,B.jsx)(`div`,{id:i,hidden:!0})]})}function JG({tools:e,at:t}){let n=[];for(let t of e){let e=PW(t),r=n[n.length-1];r?.exceptional===e?r.tools.push(t):n.push({exceptional:e,tools:[t]})}return(0,B.jsx)(`div`,{className:`flex flex-col`,children:UG(n.map((e,n)=>e.exceptional?(0,B.jsx)(`div`,{className:`flex flex-col`,children:UG(e.tools.map((e,n)=>(0,B.jsx)(YG,{t:e,startedAt:t},n)),6)},`exceptions-${n}`):(0,B.jsx)(qG,{tools:e.tools,at:t},`activity-${n}`)),6)})}function YG({t:e,startedAt:t}){let n=(0,z.useContext)(hG),r=J_(),i=Rb(e,(n?xg(r,n):void 0)?.bgShells??[]);return e.thought===void 0?e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,B.jsx)(HB,{edits:e.edits,meta:(0,B.jsx)($G,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,B.jsx)(sK,{command:e.command,desc:e.desc??e.detail,output:e.output,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,sessionId:e.sessionId,durationMs:e.durationMs,startedAt:t}):e.read?(0,B.jsx)(lK,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,B.jsx)(dK,{detail:e.detail,prompt:e.prompt,input:e.input,subagentType:e.subagentType,agentId:e.agentId,agentStatus:e.agentStatus,agentElapsedMs:e.agentElapsedMs,status:e.status,durationMs:e.durationMs,output:e.output}):e.sendTo!==void 0||e.sendBody!==void 0?(0,B.jsx)(pK,{to:e.sendTo,summary:e.sendSummary,body:e.sendBody??``,type:e.sendType,dispatchId:e.sendDispatchId,targetLabel:e.sendTargetLabel,status:e.status,durationMs:e.durationMs}):e.outputImage?(0,B.jsx)(iK,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.sentImages||e.sentFiles?(0,B.jsx)(aK,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,B.jsx)(XB,{todos:e.todos,note:e.input,meta:(0,B.jsx)($G,{status:e.status,durationMs:e.durationMs})}):e.input||e.output?(0,B.jsx)(sK,{name:e.name,command:e.input??``,desc:e.detail,output:e.output,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,sessionId:e.sessionId,durationMs:e.durationMs,inputLabel:`input`,startedAt:t}):(0,B.jsx)(rK,{name:e.name,detail:e.detail,count:e.count,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,cwd:e.cwd,sessionId:e.sessionId,durationMs:e.durationMs,startedAt:t}):(0,B.jsx)(`div`,{className:cU,children:e.thought})}function XG({tone:e,indicator:t,label:n,duration:r,title:i}){return(0,B.jsxs)(`span`,{className:`petite-caps fray-tool-header-caps flex shrink-0 items-center gap-1 whitespace-nowrap text-[11.5px] leading-none ${e}`,title:i,"aria-label":i,children:[t,(0,B.jsx)(`span`,{children:[n,r].filter(Boolean).join(` · `)})]})}function ZG(e,t,n){let[r,i]=(0,z.useState)(()=>Date.now()),a=Fb(e,t),o=Ib(e,t,n,r);return(0,z.useEffect)(()=>{if(!a||o)return;let e=n?Date.parse(n):NaN;if(!Number.isFinite(e))return;let t=setTimeout(()=>i(Date.now()),Math.max(Pb-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function QG({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=ZG(e,t,r),a=n===`running`?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):n===`stale`?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot-quiet fray-live-dot-quiet--shell`,"data-running-indicator":`tool-quiet`,title:ax}):Nb(e,t)||i?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):null;return a?(0,B.jsx)(`span`,{className:`fray-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:a}):null}function $G({status:e,backgroundState:t,liveBackgroundState:n,exitCode:r,durationMs:i}){if(!e&&i===void 0)return null;let[a,o]=n===`running`?[`running`,`background running`]:n===`stale`?[`stale`,`background stale`]:e===`pending`?t===`unknown`?[`unknown`,`background / unknown`]:[`running`,t===`background`?`background running`:`running`]:e===`failed`?r===void 0?[`failed`,`failed`]:[`exit ${r}`,`exit ${r}`]:e===`cancelled`?[`cancelled`,`cancelled`]:e===`completed`?[`done`,`done`]:[void 0,void 0],s=i===void 0?void 0:zb(i),c=[o,s].filter(Boolean).join(` · `);return(0,B.jsx)(XG,{tone:e===`failed`?`fray-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function eK(e,t,n){let r=t?Date.parse(t):NaN,i=e===`pending`&&Number.isFinite(r),[a,o]=(0,z.useState)(()=>Date.now());return(0,z.useEffect)(()=>{if(!i)return;let e=()=>o(Date.now()),t,n=setTimeout(()=>{e(),t=setInterval(e,1e3)},1e3-Date.now()%1e3);return()=>{clearTimeout(n),t&&clearInterval(t)}},[i,t]),i?Math.max(a-r,0):n}function tK(e,t,n){let r=t&&t!==Y.board?.projectDir?`in ${KG(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function nK(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function rK({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=tK(t,s,c),f=d?KG(d):void 0,p=t&&nK(t)?t:void 0;return(0,B.jsx)(`div`,{className:`fray-bash`,title:d,children:(0,B.jsxs)(`div`,{className:`fray-bash-header`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(QG,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:GG(e)}),f&&(p?(0,B.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,B.jsx)(BB,{path:p,className:`text-[11.5px] text-muted`,children:f})}):(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:f}))]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)($G,{status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,durationMs:l}),n>1&&(0,B.jsxs)(`span`,{className:`tabular-nums text-[11px] text-muted/45`,children:[`×`,n]})]})]})})}function iK({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let[o,s]=(0,z.useState)(!0),c=(0,z.useId)(),l=t?KG(t):void 0;return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":c,"aria-expanded":o,"aria-label":`${o?`Collapse`:`Expand`} ${GG(e)} screenshot${l?`: ${l}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:GG(e)}),l&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:t,children:l})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)($G,{status:i,durationMs:a}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${o?`rotate-90`:``}`})]})]}),(0,B.jsx)(`div`,{id:c,hidden:!o,children:o&&(0,B.jsxs)(`div`,{className:`px-2.5 pb-2.5 pt-1.5`,children:[(0,B.jsx)(xK,{path:n,hideCaption:!0,altText:l?`${GG(e)}: ${l}`:GG(e)}),r&&(0,B.jsx)(`pre`,{className:`fray-bash-body fray-bash-output-body mt-1.5`,children:r})]})})]})}function aK({images:e,files:t,caption:n,status:r,durationMs:i}){let[a,o]=(0,z.useState)(!0),s=(0,z.useId)(),c=[e.length?`${e.length} image${e.length===1?``:`s`}`:``,t.length?`${t.length} file${t.length===1?``:`s`}`:``].filter(Boolean).join(` · `);return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":s,"aria-expanded":a,"aria-label":`${a?`Collapse`:`Expand`} files sent to you${c?`: ${c}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:`Sent to you`}),c&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:c})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)($G,{status:r,durationMs:i}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${a?`rotate-90`:``}`})]})]}),(0,B.jsx)(`div`,{id:s,hidden:!a,children:a&&(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-2.5 pb-2.5 pt-1.5`,children:[e.map((e,t)=>(0,B.jsx)(xK,{path:e,hideCaption:!0,altText:n??`delivered image`},`i${t}`)),t.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map((e,t)=>(0,B.jsx)(SK,{path:e},`f${t}`))}),n&&(0,B.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var oK=16;function sK({command:e,desc:t,output:n,name:r=`Bash`,status:i,backgroundState:a,liveBackgroundState:o,exitCode:s,sessionId:c,durationMs:l,inputLabel:u,startedAt:d}){let[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(!1),[g,_]=(0,z.useState)(!1),v=(0,z.useId)(),y=eK(i,d,l),b=(0,z.useMemo)(()=>e.split(`
|
|
352
|
-
`).length,[e]),x=b>
|
|
353
|
-
`).length:0,[n]),C=S>
|
|
354
|
-
`).length,[t]),u=l>
|
|
355
|
-
`).length:0,[h]),_=g>
|
|
356
|
-
`).length,[n]),p=f>
|
|
357
|
-
`),a=r===void 0?TV(t):r;return a?(0,B.jsx)(yK,{answers:a,queued:e.queued,sourceId:e.sourceId}):e.wake?(0,B.jsx)(ZV,{text:t,sourceId:e.sourceId,wrap:n}):e.peerFrom?(0,B.jsx)(RK,{from:e.peerFrom,dispatchId:e.peerDispatchId,sourceId:e.sourceId}):(0,B.jsx)(_K,{text:t,rawText:e.text,queued:e.queued,sticky:i,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let c=[],l={n:-1},u=(e,r)=>{for(let[i,a]of yV(e).entries()){if(a.kind===`fence`){c.push((0,B.jsx)(EK,{fenceKind:a.fenceKind,body:a.body,hints:a.hints,wrap:n},`${r}-f${i}`));continue}for(let[e,o]of $B(a.text).entries()){if(o.kind===`prose`){for(let[t,a]of FA(o.text).entries()){let o=`${r}-${i}-p${e}-${t}`;c.push(a.kind===`image`?(0,B.jsx)(xK,{path:a.path},o):a.kind===`file`?(0,B.jsx)(SK,{path:a.path},o):a.kind===`visualization`?(0,B.jsx)(TK,{file:a.file},o):a.kind===`directive`?(0,B.jsx)(dG,{directive:a.directive},o):a.kind===`mermaid`?(0,B.jsx)(mG,{source:a.source},o):(0,B.jsx)(bK,{md:a.text,wrap:n},o))}continue}l.n+=1;let a=l.n,s=t?{answer:t.answerFor(a),onChip:(e,n)=>t.onChip(a,e,n),onText:e=>t.onText(a,e),onSubmit:t.onSubmit}:void 0;c.push((0,B.jsx)(HU,{raw:o.text,questionKind:o.questionKind,danger:o.danger,interactive:s,wrap:n},`${r}-${i}-q${e}`))}}};if(e.parts&&e.parts.length>0)HG(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(a)return;let i=WG(t.tools);i.length&&c.push((0,B.jsx)(JG,{tools:i,dense:n,at:e.at},`t${r}`))}else u(t.text,`x${r}`)});else{if(!a){let t=WG(e.tools);t.length>0&&c.push((0,B.jsx)(JG,{tools:t,dense:n,at:e.at},`tools`))}u(e.text,`leg`)}return c.length===0?null:(o&&t&&c.push((0,B.jsx)(`div`,{className:`flex justify-start`,children:(0,B.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:!t.anyAnswered||t.sending,onClick:t.onSubmit,onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})},`send-answers`)),(0,B.jsxs)(`div`,{"data-fray-msg":e.sourceId,className:`group/msg relative flex flex-col text-[13px] min-w-0`,children:[(0,B.jsx)(HV,{sourceId:e.sourceId}),UG(c)]}))});function yK({answers:e,queued:t,sourceId:n}){return(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative self-end flex w-full max-w-[85%] flex-col items-end ${t?`opacity-50`:``}`,children:[(0,B.jsx)(HV,{sourceId:n,side:`left`}),(0,B.jsxs)(`div`,{className:`w-full min-w-0 ${kV} rounded-br-sm border border-border-strong bg-elevated px-3.5 py-3`,children:[(0,B.jsx)(NV,{icon:ry,label:`Answers`}),(0,B.jsx)(PV,{children:(0,B.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:e.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.question&&(0,B.jsx)(`div`,{title:e.question,className:`line-clamp-2 min-w-0 text-[11px] leading-snug text-muted`,children:e.question}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[!e.question&&(0,B.jsx)(`span`,{className:`mt-1.5 shrink-0 text-[10px] uppercase tabular-nums tracking-wide text-muted/70`,children:e.n}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere] rounded-md border border-border-strong border-l-2 border-l-accent/40 bg-bg/50 px-2.5 py-1.5 text-[12px] leading-snug text-fg`,children:e.answer})]})]},t))})})]})]})}function bK({md:e,wrap:t}){let n=(0,z.useMemo)(()=>aB(e),[e]),r=(0,z.useRef)(null);return hH(r,n),n?(0,B.jsx)(`div`,{ref:r,className:`md-body${t?` ${OV}`:``}`,dangerouslySetInnerHTML:{__html:n}}):null}function xK({path:e,hideCaption:t,altText:n}){let[r,i]=(0,z.useState)(!1);if(r)return(0,B.jsx)(`div`,{className:`font-mono-keep text-[12px] text-muted/70 break-all`,children:e});let a=e.split(`/`).filter(Boolean).pop()||e;return(0,B.jsxs)(`figure`,{className:`flex flex-col gap-1`,children:[(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(e)}`,alt:n??a,"data-local-path":e,"data-local-image":`true`,onError:()=>i(!0),className:`max-w-full max-h-[420px] w-auto self-center cursor-pointer ${kV} border border-border object-contain`}),!t&&(0,B.jsx)(`figcaption`,{className:`font-mono-keep text-[11px] text-muted/60 break-all`,children:a})]})}function SK({path:e}){let t=e.split(`/`).filter(Boolean).pop()||e;return(0,B.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${kV} border border-border bg-panel-2 px-2.5 py-1.5 text-left align-top no-underline hover:border-accent`,"data-local-path":e,title:e,children:[(0,B.jsx)(Wv,{size:14,strokeWidth:2,className:`shrink-0 text-muted`}),(0,B.jsx)(`span`,{className:`font-mono-keep truncate text-[12px] text-fg`,children:t})]})}var CK={"--background":`--color-bg`,"--foreground":`--color-fg`,"--card":`--color-panel-2`,"--card-foreground":`--color-fg`,"--popover":`--color-elevated`,"--popover-foreground":`--color-fg`,"--primary":`--color-fg`,"--primary-foreground":`--color-bg`,"--secondary":`--color-panel-2`,"--secondary-foreground":`--color-fg`,"--muted":`--color-panel-2`,"--muted-foreground":`--color-muted`,"--accent":`--color-border-strong`,"--accent-foreground":`--color-fg`,"--border":`--color-border-strong`,"--input":`--color-border-strong`,"--ring":`--color-accent`};function wK(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(CK).map(([t,n])=>[t,e.getPropertyValue(n).trim()]));return t[`--font-size-base`]=getComputedStyle(document.body).fontSize,{type:`fray-inline-vis-theme`,colorScheme:e.colorScheme===`light`?`light`:`dark`,vars:t}}function TK({file:e}){let t=(0,z.useContext)(hG),n=(0,z.useRef)(null),[r,i]=(0,z.useState)(360),[a,o]=(0,z.useState)(null),s=t?`/local-visualization?slug=${encodeURIComponent(t)}&file=${encodeURIComponent(e)}`:null;return(0,z.useEffect)(()=>{if(!s){o(!1);return}let e=new AbortController;return o(null),fetch(s,{method:`HEAD`,signal:e.signal}).then(t=>{e.signal.aborted||o(t.ok)}).catch(()=>{e.signal.aborted||o(!1)}),()=>e.abort()},[s]),(0,z.useEffect)(()=>{let e=e=>{if(e.source!==n.current?.contentWindow||e.data?.type!==`fray-inline-vis-height`)return;let t=Number(e.data.height);Number.isFinite(t)&&i(Math.max(80,Math.min(2400,Math.ceil(t))))};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[]),a===!1||!s?(0,B.jsxs)(`div`,{role:`status`,className:`${kV} border border-border bg-panel-2 px-3 py-2 text-[12px] text-muted`,children:[`Visualization unavailable: `,(0,B.jsx)(`span`,{className:`font-mono-keep break-all`,children:e})]}):a===null?(0,B.jsx)(`div`,{role:`status`,className:`h-20 animate-pulse ${kV} bg-panel-2`,"aria-label":`Loading ${e}`}):(0,B.jsx)(`iframe`,{ref:n,src:s,title:e.replace(/\.html$/,``).replaceAll(`-`,` `),sandbox:`allow-scripts`,onLoad:()=>n.current?.contentWindow?.postMessage(wK(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function EK({fenceKind:e,body:t,hints:n,wrap:r}){let i=(0,z.useMemo)(()=>t?aB(t):``,[t]),a=SH(t,xH(n)),o=(0,z.useMemo)(()=>oB(a),[a]),s=(0,z.useContext)(hG),c=(0,z.useContext)(vG),l=J_(),u=s?xg(l,s):void 0,d=u?BH(u):void 0,f=!!(u&&d?.archive),p=(0,z.useRef)(null);f&&u&&(p.current=u);let m=f&&u?u:p.current;if(e===`done`)return(0,B.jsxs)(FV,{icon:Av,label:`Done`,children:[i&&(0,B.jsx)(`div`,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:i}}),m&&(0,B.jsx)(LV,{children:(0,B.jsx)(eU,{thread:m,className:`rounded-md text-[11px] bg-fg px-2.5 py-1 text-bg hover:opacity-90`,iconClassName:`icon-label-nudge`,onArchived:c?.dismiss,onDismissCancel:c?.cancel})})]});let h=yH(n)?.title??`Awaiting`;return(0,B.jsxs)(FV,{icon:n.some(e=>e.kind===`pr-watch`)?uy:$v,label:h,children:[(0,B.jsx)(`div`,{className:`md-inline ${IV}${r?` ${OV}`:``}`,dangerouslySetInnerHTML:{__html:o}}),f&&u&&(0,B.jsx)(DK,{thread:u,hints:n})]})}function DK({thread:e,hints:t}){let[n,r]=(0,z.useState)(!1),i=(0,z.useContext)(vG),a=yH(t);return a?(0,B.jsxs)(LV,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{let t=a.timerUntil??Py(Xy.snoozePreset);r(!0),Z.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:t}).then(()=>{X(`${a.toastVerb} · ${Ry(t)}`),i?.dismiss()}).catch(e=>X(`Couldn’t snooze: ${e.message.slice(0,80)}`)).finally(()=>r(!1))},disabled:n,"aria-label":vH,title:a.explainer,onMouseDown:e=>e.preventDefault(),className:`whitespace-nowrap disabled:opacity-45 ${zV}`,children:[n&&(0,B.jsx)(iy,{size:11,className:`animate-spin`}),vH]}),(0,B.jsx)(`span`,{className:RV,children:a.explainer})]}):null}function OK({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(!1),c=Bu(),l=hj[n.backend],u=t=>{s(!0),ON(c,e,t,{onSuccess:()=>{s(!1),X(`Retrying with the previous message…`)},onRollback:()=>s(!1),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||s(!1)};return(0,B.jsxs)(FV,{"data-provider-fault":!0,tone:`danger`,icon:ty,label:`${l} sign-in required`,children:[(0,B.jsx)(`span`,{className:IV,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,B.jsxs)(LV,{children:[r?.trim()&&(0,B.jsx)(`button`,{onClick:()=>u(r),disabled:o,onMouseDown:e=>e.preventDefault(),className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel hover:border-border-strong disabled:opacity-60`,children:`Retry`}),(0,B.jsx)(`button`,{onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:zV,children:`Sign in`})]}),i&&(0,B.jsx)(Sj,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function kK(e){let t=new Date(e*1e3),n=t.toDateString()===new Date().toDateString(),r=t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`});return n?r:`${t.toLocaleDateString([],{weekday:`short`})} ${r}`}function AK({slug:e,sessionId:t,pause:n}){let r=hj[n.backend],i=n.window===`weekly`?`weekly limit`:n.window===`session`?`session limit`:`usage limit`,[a,o]=(0,z.useState)(!1),s=Bu();return(0,B.jsxs)(FV,{"data-limit-pause":!0,tone:`caution`,icon:$v,label:`Paused by the ${r} ${i}`,children:[(0,B.jsx)(`span`,{className:IV,children:n.autoResume?n.resumesAt?`Continuing automatically at ${kK(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,B.jsx)(LV,{children:(0,B.jsx)(`button`,{onClick:()=>{o(!0),ON(s,e,`Continue exactly where you left off.`,{onSuccess:()=>{o(!1),X(`Continuing…`)},onRollback:()=>o(!1),failureToast:e=>`Continue failed: ${e.slice(0,80)}`})||o(!1)},disabled:a,onMouseDown:e=>e.preventDefault(),className:`disabled:opacity-45 ${zV}`,children:`Continue now`})})]})}function jK({onTerminal:e}){return(0,B.jsxs)(FV,{tone:`attention`,icon:ty,label:`Permission approval`,children:[(0,B.jsx)(`span`,{className:IV,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,B.jsx)(LV,{children:(0,B.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:zV,children:`Copy terminal command`})})]})}function MK({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return e.decision===`deny`?(0,B.jsxs)(FV,{tone:`caution`,icon:Sy,label:`Blocked by fray's permission policy`,children:[n?(0,B.jsx)(`code`,{className:`mb-1.5 block min-w-0 break-all rounded bg-panel px-1.5 py-1 text-[11px] text-fg/85`,children:n}):null,(0,B.jsx)(`span`,{className:IV,children:e.reason}),(0,B.jsxs)(`span`,{className:`mt-1.5 block text-[11px] text-muted`,children:[`Rule `,(0,B.jsx)(`code`,{className:`rounded bg-panel px-1 py-0.5`,children:e.rule}),t&&t>1?` · ${t} denials this session`:``]})]}):(0,B.jsxs)(`div`,{className:`flex min-w-0 items-start gap-1.5 text-[11px] leading-5 text-muted`,children:[(0,B.jsx)(my,{size:12,strokeWidth:1.8,className:`mt-[5px] shrink-0`}),(0,B.jsxs)(`span`,{className:`min-w-0`,children:[`Auto-approved`,n?(0,B.jsxs)(B.Fragment,{children:[` `,(0,B.jsx)(`code`,{className:`rounded bg-panel-2 px-1 py-0.5 text-[10.5px]`,children:n})]}):null,` · `,`rule `,(0,B.jsx)(`code`,{className:`whitespace-nowrap rounded bg-panel-2 px-1 py-0.5 text-[10.5px]`,children:e.rule})]})]})}function NK({input:e,onTerminal:t}){return(0,B.jsxs)(FV,{"data-native-input-required":!0,tone:`attention`,icon:Sy,label:e.kind===`tool-approval`?`Tool approval required`:e.kind===`permission`?`Permission choice required`:e.kind===`confirmation`?`Confirmation required`:`Choice required`,children:[(0,B.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.title}),(0,B.jsx)(`div`,{className:`mt-1 text-[12px] leading-5 text-muted`,children:`Review and respond in your external terminal. Fray will not choose for you.`}),(0,B.jsx)(LV,{children:(0,B.jsx)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:zV,children:`Copy terminal command`})})]})}function PK({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=xg(J_(),e),o=a?.subAgents??[],s=n?i?ux(o,i):o:[],c=i?[...r]:mx(a?.bgShells??[],r),l=s.length+c.length,[,u]=(0,z.useState)(0);return(0,z.useEffect)(()=>{if(l===0)return;let e=setInterval(()=>u(e=>e+1),3e4);return()=>clearInterval(e)},[l]),l===0?null:(0,B.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[fx(s,`sheet`).map((t,n)=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>og(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},`a${n}`)),fx(c,`sheet`).map((t,n)=>(0,B.jsx)(hx,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,onOpen:t.id?()=>sg(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},`s${n}`))]})}function FK({ask:e,onTerminal:t}){return(0,B.jsxs)(FV,{tone:`attention`,icon:Rv,label:`Waiting on your answer — in your external terminal`,children:[(0,B.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.header&&(0,B.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted/55`,children:e.header}),(0,B.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.question}),e.options.length>0&&(0,B.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.options.map((e,t)=>(0,B.jsxs)(`div`,{className:`rounded-md border border-border bg-elevated px-2.5 py-1.5 text-[12px] text-fg/80`,children:[(0,B.jsx)(`span`,{className:`font-medium text-fg/90`,children:e.label}),e.description&&(0,B.jsxs)(`span`,{className:`text-muted/70`,children:[` — `,e.description]})]},t)),e.multiSelect&&(0,B.jsx)(`div`,{className:`text-[10px] text-muted/50`,children:`select one or more`})]})]},t))}),(0,B.jsx)(LV,{children:(0,B.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:zV,children:[(0,B.jsx)(ty,{size:12,className:`shrink-0 ${UV}`}),`Copy terminal command`]})})]})}function IK({children:e,sourceId:t,ariaLabel:n,marker:r}){return(0,B.jsxs)(`div`,{"data-fray-msg":t,"data-wake-divider":r,className:`group/msg relative my-1 flex items-center gap-3`,role:n?`separator`:void 0,"aria-label":n,children:[(0,B.jsx)(HV,{sourceId:t}),(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70`}),(0,B.jsx)(`span`,{className:`petite-caps flex min-w-0 items-center gap-1 break-words text-center text-[12px] text-muted/70`,children:e}),(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70`})]})}function LK({call:e,sourceId:t}){let n=_G(),r=e.detail??`sub-agent`,{tail:i}=iU(e),a=!!(n&&e.agentId);return(0,B.jsxs)(IK,{sourceId:t,marker:`agent`,ariaLabel:a?void 0:`Sub-agent ${r} ${i}`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),a?(0,B.jsx)(`button`,{type:`button`,"data-subagent-completion-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${r}`,onClick:()=>og(n,e.agentId,{label:r,subagentType:e.subagentType}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:r}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:r}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,B.jsx)(`span`,{className:`shrink-0`,children:i})]})}function RK({from:e,dispatchId:t,sourceId:n}){let r=_G(),i=!!(r&&t);return(0,B.jsxs)(IK,{sourceId:n,marker:`agent-report`,ariaLabel:i?void 0:`Sub-agent ${e} reported`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),i?(0,B.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${e}`,onClick:()=>og(r,t,{label:e,subagentType:e}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:e}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:e}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`reported`})]})}function zK({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i}){let a=_G(),o=fK(e,t),s=e===`main`?void 0:r??e,c=!!(a&&n);return(0,B.jsxs)(IK,{sourceId:i,marker:`agent-steer`,ariaLabel:c?void 0:`${o}${s?` ${s}`:``}`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:o}),s&&(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),c?(0,B.jsx)(`button`,{type:`button`,"data-subagent-steer-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${s}`,onClick:()=>og(a,n,{label:s}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:s}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:s}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]})]})}function BK({text:e,boundary:t,sourceId:n}){return t?(0,B.jsx)(IK,{sourceId:n,marker:`event`,ariaLabel:e,children:e}):(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative ${cU}`,children:[(0,B.jsx)(HV,{sourceId:n}),e]})}function VK({text:e,durationMs:t,sourceId:n}){let[r,i]=(0,z.useState)(!1),a=(0,z.useId)(),o=t!=null&&t>0?`Thought for ${t<6e4?`${Math.max(1,Math.round(t/1e3))} seconds`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}`:`Thought`;return(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative flex flex-col`,children:[(0,B.jsx)(HV,{sourceId:n}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":a,"aria-expanded":r,"aria-label":`${r?`Collapse`:`Expand`} model reasoning`,className:`${cU} flex items-center gap-1 self-start rounded outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(`span`,{children:o}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:13,className:`size-[1em] shrink-0 -translate-y-[0.088em] transition-transform ${r?`rotate-90`:``}`})]}),r&&(0,B.jsx)(`div`,{id:a,className:`fray-reasoning mt-1.5 ml-[5px] border-l border-border/70 pl-3`,children:(0,B.jsx)(bK,{md:e,wrap:!0})})]})}function HK(){return(0,B.jsx)(`span`,{className:`inline-block w-2.5 h-2.5 rounded-full border border-muted/70 border-t-transparent animate-spin`})}function UK({since:e,activityLabel:t}){let[n]=(0,z.useState)(()=>{let t=Date.parse(e??``);return Number.isFinite(t)&&t<=Date.now()?t:Date.now()}),[r,i]=(0,z.useState)(()=>Date.now());(0,z.useEffect)(()=>{let e=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(e)},[]);let a=Math.max(0,Math.floor((r-n)/1e3)),o=a<60?`${a}s`:`${Math.floor(a/60)}m ${String(a%60).padStart(2,`0`)}s`;return(0,B.jsxs)(`div`,{"data-working-indicator":!0,"data-working-activity":t?`tool`:`generic`,className:`flex items-baseline gap-2 ${cU}`,children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate shimmer-text`,children:t??`Working…`}),(0,B.jsx)(`span`,{className:`shrink-0 whitespace-nowrap tabular-nums text-[12px] text-muted/60`,children:o})]})}function WK(){let[e,t]=(0,z.useState)(()=>typeof window<`u`&&window.matchMedia(`(max-width: 800px)`).matches);return(0,z.useEffect)(()=>{let e=window.matchMedia(`(max-width: 800px)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function GK({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=xI(e,i===!0),[c,l]=(0,z.useState)(i===!0),u=(0,z.useRef)(null),d=(0,z.useRef)(null),f=[...Yd(Y).drawers].reverse().find(e=>!e.closing)?.id===e,p=WK(),m=(0,z.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);(0,z.useEffect)(()=>()=>{let e=m.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]);let h=J_(),g=AI(h,t),_=g.kind===`found`?g.thread:void 0,v=h?.projectDir,y=v?`${v}\0${t}`:void 0,b=_?{scratch:!!_.scratchpadPath}:void 0,x=(0,z.useRef)(void 0),S=EI(y,b,x.current);x.current=S.remembered;let C=S.capabilities.scratch,w=_?_.runtime===`turn-idle`||_.runtime===`exited`||_.runtime===`none`:!1;(0,z.useEffect)(()=>{!_||!w||Z.threadSeen({slug:t}).catch(()=>{})},[t,w,w?_?.lastActivityAt:void 0]),(0,z.useEffect)(()=>{let t=u.current;if(!t||!c)return;let n=()=>t.querySelector(`[data-drawer-scroll-ready]`),r=()=>t.querySelector(`[data-drawer-transcript-scroll]`),i=new MI({isActive:()=>[...Y.drawers].reverse().find(e=>!e.closing)?.id===e,isContentReady:()=>n()?.dataset.drawerScrollReady===`true`,scrollToBottom:()=>{let e=r();return e?(e.scrollTop=e.scrollHeight,!0):!1},preserveAnchor:()=>location.hash.length>1});d.current=i;let a=null,o=new ResizeObserver(()=>i.layoutChanged()),s=()=>{let e=n();e!==a&&(a&&o.unobserve(a),a=e,e&&o.observe(e)),i.layoutChanged()},l=new MutationObserver(s);l.observe(t,{attributes:!0,attributeFilter:[`data-drawer-scroll-ready`],childList:!0,subtree:!0});let f=()=>i.userIntent(),p=e=>{[`Shift`,`Control`,`Alt`,`Meta`].includes(e.key)||f()};return t.addEventListener(`wheel`,f,{capture:!0,passive:!0}),t.addEventListener(`touchstart`,f,{capture:!0,passive:!0}),t.addEventListener(`pointerdown`,f,!0),t.addEventListener(`keydown`,p,!0),s(),()=>{i.dispose(),d.current===i&&(d.current=null),t.removeEventListener(`wheel`,f,!0),t.removeEventListener(`touchstart`,f,!0),t.removeEventListener(`pointerdown`,f,!0),t.removeEventListener(`keydown`,p,!0),o.disconnect(),l.disconnect()}},[c,e]),(0,z.useEffect)(()=>{d.current?.activationChanged()},[f]);let T=(0,z.useRef)(v&&_?y??null:null),[E,D]=(0,z.useState)(()=>!v||!_?`chat`:OI(v,t)),O=TI(T.current===y?E:`chat`,{scratch:C}),ee=(0,z.useCallback)(e=>{v&&kI(v,t,e),D(e)},[v,t]);return(0,z.useEffect)(()=>{if(!v||!y||!S.authoritative||T.current===y)return;T.current=y;let e=OI(v,t);e!==E&&D(e)},[v,t,y,S.authoritative,E]),(0,z.useEffect)(()=>{if(i)return;let e=!1,t=()=>{e||s.current||(e=!0,l(!0))},n=0,r=requestAnimationFrame(()=>{n=requestAnimationFrame(t)}),a=window.setTimeout(t,120);return()=>{window.clearTimeout(a),cancelAnimationFrame(r),n&&cancelAnimationFrame(n)}},[i]),(0,z.useEffect)(()=>{let e=u.current;if(!c||!e||document.activeElement!==e)return;let t=requestAnimationFrame(()=>{e.querySelector(`[data-dialog-initial-focus]`)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(t)},[c]),(0,z.useEffect)(()=>(Kh(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>Kh(e,null)),[e]),(0,B.jsx)(tA,{modal:p,open:!0,onOpenChange:e=>{e||o()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`${_I} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,B.jsxs)(pA,{ref:u,"aria-modal":p||void 0,"aria-describedby":void 0,tabIndex:-1,onEscapeKeyDown:dj,onPointerDownOutside:n=>{let r=Y.drawers.findIndex(t=>t.id===e);if(r!==-1&&r<Y.drawers.length-1){n.preventDefault();return}(n.target instanceof Element?n.target.closest(`[data-subagent-parent]`):null)?.getAttribute(`data-subagent-parent`)===t&&n.preventDefault()},onFocusOutside:e=>e.preventDefault(),onCloseAutoFocus:e=>{e.preventDefault();let t=m.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;(t?.querySelector(`[data-dialog-initial-focus]`)??t)?.focus({preventScroll:!0})},className:`fixed right-0 top-0 overflow-hidden outline-none ${vI} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:yI(r)},children:[(0,B.jsx)(vA,{className:`sr-only`,children:g.kind===`found`?`Thread: ${eb(g.thread)}`:`Thread: ${t}`}),c&&g.kind===`found`?(0,B.jsx)(SG,{slug:t,tab:O,onTab:ee,onStatusApplied:o,onClose:o,virtualized:!0}):c&&g.kind===`missing`?(0,B.jsx)(KK,{slug:t,onClose:o}):(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})]})]})})}function KK({slug:e,onClose:t}){return(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,B.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-border bg-panel px-4`,children:[(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:`Thread unavailable`}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:t,className:`p-1 text-muted hover:text-fg`,children:`×`})]}),(0,B.jsxs)(`div`,{className:`flex flex-1 items-center justify-center px-6 text-center text-sm text-muted`,role:`status`,children:[`Thread “`,e,`” was not found in this project.`]})]})}var qK=new Set([`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]);function JK(e,t){let n=e.lastIndexOf(t);if(n<=0)return{model:e};let r=e.slice(n+1);return qK.has(r)?{model:e.slice(0,n),effort:r}:{model:e}}function YK(e){let t=e?.trim();if(!t)return`Profile unknown`;if(t.startsWith(`fray:`)){let{model:e,effort:n}=JK(t.slice(5).replace(/^fray-/,``),`-`);return n?`${e} › ${n}`:e}let n=t.split(/\s+/),{model:r,effort:i}=JK(n.at(-1)??t,`/`);if(!i)return t;let a=n.slice(0,-1).join(` `);return`${a?`${a} · `:``}${r} › ${i}`}function XK({title:e,subtitle:t,icon:n,meta:r,actions:i,onClose:a,initialFocus:o}){return(0,B.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-4`,children:[n,(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col justify-center`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium`,title:e,children:e}),r]}),t&&(0,B.jsx)(`span`,{className:`truncate text-[10px] text-muted/60`,children:t})]}),i,(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:a,...o?{"data-dialog-initial-focus":``}:{},className:`rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]})}function ZK({id:e,slug:t,subId:n,label:r,subagentType:i,startedAt:a,depth:o,widthDepth:s}){let[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),d=av(t,n),f=Y_(),p=(0,z.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,z.useMemo)(()=>bG(p),[p]),_=(0,z.useMemo)(()=>xG(p),[p]),v=(0,z.useMemo)(()=>zW(_),[_]),y=h?BW(v.map(e=>e.message)):void 0,b=y?qW(y,f):void 0,x=(0,z.useMemo)(()=>h?HW(v):v,[v,h]),S=h,C=d.isError||m===`gone`||p.length===0&&(m===`done`||m===`stale`);return(0,z.useEffect)(()=>{let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l(!0))});return()=>{cancelAnimationFrame(t),e&&cancelAnimationFrame(e)}},[]),(0,z.useEffect)(()=>{let e=u.current;if(!e||!c)return;let t=!0,n=()=>{t&&(e.scrollTop=e.scrollHeight)},r=()=>{t=e.scrollHeight-e.scrollTop-e.clientHeight<160};e.addEventListener(`scroll`,r,{passive:!0});let i=new ResizeObserver(n);for(let t of e.children)i.observe(t);return n(),()=>{e.removeEventListener(`scroll`,r),i.disconnect()}},[c]),(0,B.jsx)(SI,{id:e,depth:o,widthDepth:s,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(XK,{title:r,onClose:e}),(0,B.jsx)(`div`,{ref:u,className:`flex-1 min-h-0 overflow-y-auto`,children:C?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-8 text-center text-[13px] text-muted`,children:`Transcript unavailable (agent completed or cleaned up).`}):!c||d.isLoading||p.length===0?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})}):(0,B.jsx)(gG.Provider,{value:t,children:(0,B.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[VG(x.map(e=>e.message),(e,t)=>(0,B.jsx)(vK,{m:e},t)),S&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(zG,{h:BG(x.map(e=>e.message))}),(0,B.jsx)(UK,{since:a,activityLabel:b})]})]})})}),(0,B.jsx)(QK,{slug:t,subId:n,subagentType:i,steerable:d.data?.steerable===!0,note:d.data?.steerNote??null,stoppable:d.data?.stoppable===!0,stopNote:d.data?.stopNote??null,ops:e=>(0,B.jsx)(PK,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function QK({slug:e,subId:t,subagentType:n,steerable:r,note:i,stoppable:a,stopNote:o,ops:s}){let[c,l]=(0,z.useState)(``),[u,d]=(0,z.useState)(!1),[f,p]=(0,z.useState)(!1),m=Bu();function h(){let n=c.trim();!n||u||(d(!0),l(``),Z.subAgentSteer({slug:e,id:t,message:n}).then(()=>{m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]}),X(`Steer sent`)}).catch(e=>{l(n),X(e instanceof Error?e.message:`Could not steer this sub-agent`)}).finally(()=>d(!1)))}function g(){f||(p(!0),Z.subAgentStop({slug:e,id:t}).then(()=>{X(`Sub-agent stopped`),m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]})}).catch(e=>{X(e instanceof Error?e.message:`Could not stop this sub-agent`)}).finally(()=>p(!1)))}if(!r&&!a){let e=i??o;return e?(0,B.jsxs)(`div`,{"data-subagent-steer-note":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[(0,B.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:e}),(0,B.jsx)(`div`,{className:`pl-1.5`,children:(0,B.jsx)($K,{subagentType:n})}),s?.(`px-1 pb-2 pt-1.5`)]}):(0,B.jsx)(B.Fragment,{children:s?.(`w-full shrink-0 border-t border-border bg-panel px-4 py-3`)})}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{"data-subagent-steer":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[r?(0,B.jsx)(UA,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,B.jsx)($K,{subagentType:n})}):i?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:i}),(0,B.jsx)(`div`,{className:`pl-1.5`,children:(0,B.jsx)($K,{subagentType:n})})]}):null,r&&!a&&o&&(0,B.jsx)(`div`,{className:`mt-2 px-1 text-[11.5px] text-muted/70`,children:o}),s?.(`px-1 pb-2 pt-1.5`)]}),a&&(0,B.jsx)(`footer`,{"aria-label":`Sub-agent lifecycle actions`,"data-subagent-lifecycle-footer":!0,className:`flex min-h-10 w-full shrink-0 items-center justify-end gap-1.5 border-t border-border/70 bg-panel/95 px-3 pt-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] text-[12px] backdrop-blur-sm`,children:(0,B.jsx)(`button`,{type:`button`,"data-stop-subagent":!0,disabled:f,onClick:g,className:`rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] text-fg/80 transition-colors hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-300 disabled:opacity-50`,children:f?`Stopping…`:`Stop sub-agent`})})]})}function $K({subagentType:e}){let t=YK(e);return(0,B.jsx)(`span`,{"data-subagent-profile":!0,"aria-label":`Sub-agent profile: ${t}`,title:e?.trim()||`The provider did not report this sub-agent's model and effort`,className:`inline-flex min-w-0 max-w-[min(72%,20rem)] items-center rounded-md border border-border/50 bg-transparent px-1.5 py-0.5 text-muted ${qA}`,children:(0,B.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}function eq({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,z.useRef)(null),c=ov(t,n),l=c.data?.state,u=c.data?.command,d=c.data?.output??``;(0,z.useEffect)(()=>{let e=s.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<160&&(e.scrollTop=e.scrollHeight)},[d]);let f=Wb(i),p=l===`running`?`running${f?` ${f}`:``}`:l===`done`?`finished`:l===`gone`?`unavailable`:``,m=c.isError||l===`gone`;async function h(){if(u)try{await navigator.clipboard.writeText(u),X(`Command copied`)}catch{X(`Could not copy command`)}}return(0,B.jsx)(SI,{id:e,depth:a,widthDepth:o,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(XK,{title:r,icon:(0,B.jsx)(vy,{"aria-hidden":!0,size:14,className:`shrink-0 text-muted/60`}),meta:p?(0,B.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-[11.5px] text-muted/60`,children:p}):void 0,onClose:e}),(0,B.jsx)(`div`,{ref:s,className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:m?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-8 text-center text-[13px] text-muted`,children:`Background shell output is no longer available.`}):(0,B.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,B.jsxs)(`section`,{children:[(0,B.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,B.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Command`}),u&&(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`flex items-center gap-1 rounded px-1.5 py-1 text-[10.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(Bv,{"aria-hidden":!0,size:11}),` Copy`]})]}),(0,B.jsx)(`pre`,{"data-background-shell-command":!0,className:`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${kV} border border-border bg-bg/75 px-3 py-2.5 text-[12px] leading-relaxed text-fg/85`,children:u||(c.isLoading?`Loading…`:`Command unavailable for this background operation.`)})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,B.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Output`}),l===`running`&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`shell-drawer`}),c.data?.truncated&&(0,B.jsx)(`span`,{className:`text-[10.5px] text-muted/50`,children:`Showing latest 512 KB`})]}),d?(0,B.jsx)(`pre`,{"data-background-shell-output":!0,className:`font-mono-keep min-h-40 whitespace-pre-wrap break-words ${kV} border border-border bg-[#090b10] px-3 py-3 text-[12px] leading-relaxed text-fg/85`,children:d}):(0,B.jsx)(`div`,{"data-background-shell-output":!0,className:`flex min-h-40 items-center justify-center ${kV} border border-border bg-[#090b10] px-4 text-center text-[12px] text-muted/60`,children:l===`done`?`No output was captured.`:`No output yet.`})]})]})})]})})}var tq=`Implement this`,nq=`Implement this plan`,rq=`Start a new thread to implement this plan`,iq=`Delete plan`,aq=`Delete this plan`,oq=`Permanently delete this plan file`,sq={paddingBottom:`max(1rem, env(safe-area-inset-bottom))`};function cq({onClick:e}){return(0,B.jsxs)(`button`,{onClick:e,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1.5 rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] font-medium text-fg/80 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,title:rq,"aria-label":nq,children:[(0,B.jsx)(Uv,{size:12,"aria-hidden":`true`}),` `,tq]})}function lq({path:e,onDeleted:t}){let[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(!1);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1.5 rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] font-medium text-muted outline-none transition-colors hover:bg-panel-2 hover:text-red-400 focus-visible:ring-1 focus-visible:ring-red-400/60`,title:oq,"aria-label":aq,children:[(0,B.jsx)(xy,{size:12,"aria-hidden":`true`}),` `,iq]}),(0,B.jsx)(WH,{open:i,onOpenChange:e=>{n||a(e)},title:`Delete this plan?`,className:`w-[390px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>a(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,disabled:n,onClick:()=>{r(!0),Z.planDelete({path:e}).then(()=>{a(!1),X(`Plan deleted`),t()}).catch(e=>X(`Couldn’t delete: ${e.message.slice(0,80)}`)).finally(()=>r(!1))},className:`flex items-center gap-1.5 rounded-md bg-red-500 px-3 py-1.5 text-[12px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),`Delete plan`]})]}),children:(0,B.jsxs)(`p`,{className:`p-4 text-[12px] leading-relaxed text-muted`,children:[`This permanently deletes the plan file `,(0,B.jsx)(`span`,{className:`text-fg/80`,children:e}),`. This can’t be undone.`]})})]})}function uq({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=td({queryKey:[`planBody`,t],queryFn:()=>Z.planBody({path:t})}),o=(0,z.useMemo)(()=>aB(a.data?.markdown??``),[a.data?.markdown]);return(0,B.jsx)(SI,{id:e,depth:r,widthDepth:i,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(XK,{title:n,subtitle:t,onClose:e}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):o?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:o}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Empty plan.`})}),(0,B.jsxs)(`div`,{className:`shrink-0 flex items-center justify-end gap-1.5 border-t border-border/60 bg-panel px-5 pt-3`,style:sq,children:[(0,B.jsx)(lq,{path:t,onDeleted:e}),(0,B.jsx)(cq,{onClick:()=>Xh(t)})]})]})})}function dq({id:e,slug:t,title:n,depth:r,widthDepth:i}){let a=td({queryKey:[`threadBody`,t],queryFn:()=>Z.threadBody({slug:t})}),o=Yd(Y);(0,z.useEffect)(()=>{a.refetch()},[o.board]);let s=wH(xg(o.board,t)),c=aM(),l=iM.adopt(c,t),[u,d,f]=sM(l),p=nd({mutationFn:async e=>{await Z.adoptThread({slug:t,message:e.trim()||void 0})},onSuccess:()=>{Y.drawers.find(t=>t.id===e)?.closing||(Y.drawers=Y.drawers.map(t=>t.id===e?{...t,kind:`thread`}:t))},onError:(e,t)=>{nM.get(l)||d(t),X(`Start failed: ${e.message.slice(0,80)}`)}}),m=(0,z.useMemo)(()=>aB(sB(a.data?.markdown??``)),[a.data?.markdown]);return(0,B.jsx)(SI,{id:e,depth:r,widthDepth:i,widthOffset:1,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(XK,{title:n,subtitle:`${t}.md`,onClose:e}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):m?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:m}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No thread file found.`})}),s&&(0,B.jsxs)(`div`,{className:`shrink-0 border-t border-border/60 px-5 pb-4 pt-3`,children:[(0,B.jsx)(`p`,{className:`mb-2.5 text-[11.5px] text-muted/80`,children:`No session is attached to this thread yet. Send a message below to start one on this plan.`}),(0,B.jsx)(UA,{surface:`adoptComposer`,value:u,onChange:d,onSubmit:()=>{if(!u.trim()||p.isPending)return;let e=u;f(),X(`Starting thread…`,{spinner:!0,sticky:!0}),p.mutate(e)},placeholder:`Kick off work on this thread…`,minHeight:44,busy:p.isPending})]})]})})}function fq(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>Object.is(e,t[n]))}var pq=class extends z.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[fray] render error in ${this.props.label}:`,e,t.componentStack)}componentDidUpdate(e){!this.state.error||fq(e.resetKeys,this.props.resetKeys)||this.setState({error:null})}retry=()=>this.setState({error:null});render(){let{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.retry):(0,B.jsx)(gq,{label:this.props.label,error:e,onRetry:this.retry}):this.props.children}};function mq(e){let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return t.length>300?`${t.slice(0,300)}…`:t}var hq=`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`;function gq({label:e,error:t,onRetry:n,onClose:r}){return(0,B.jsxs)(`div`,{"data-error-panel":!0,className:`m-4 rounded-md border border-border-strong bg-panel-2 px-3.5 py-3 text-[12.5px]`,children:[(0,B.jsxs)(`p`,{className:`text-fg/90`,children:[`Something went wrong rendering `,e,`.`]}),(0,B.jsx)(`p`,{className:`font-mono-keep mt-1.5 break-words text-[11.5px] text-muted`,children:mq(t)}),(0,B.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,className:hq,onClick:n,children:`Try again`}),r&&(0,B.jsx)(`button`,{type:`button`,className:hq,onClick:r,children:`Close`}),(0,B.jsx)(`button`,{type:`button`,className:hq,onClick:()=>window.location.reload(),children:`Reload fray`})]})]})}function _q({children:e}){return(0,B.jsx)(pq,{label:`fray`,fallback:(e,t)=>(0,B.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bg p-6 text-fg`,children:(0,B.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,B.jsx)(gq,{label:`fray`,error:e,onRetry:t})})}),children:e})}function vq({id:e,depth:t,widthDepth:n,error:r,onRetry:i}){let a=()=>{Y.drawers=Y.drawers.filter(t=>t.id!==e)};return(0,B.jsx)(SI,{id:e,depth:t,widthDepth:n,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(XK,{title:`This drawer could not be rendered`,onClose:()=>{e(),a()}}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,B.jsx)(gq,{label:`this drawer`,error:r,onRetry:i,onClose:a})})]})})}function yq(){let e=Yd(Y),t=J_();(0,z.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(uj()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(Y.showPalette)Y.showPalette=!1;else if(Y.showNewThread)Y.showNewThread=!1;else if(Y.showGithubPicker)Qh();else if(Y.showSettings)Vh()||(Y.showSettings=!1);else if(Y.drawers.length>0){let e=Y.drawers[Y.drawers.length-1];Gh(e.id)||Y.drawers.pop()}}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let n=0;return(0,B.jsx)(B.Fragment,{children:e.drawers.map((e,r)=>{let i=n;e.closing||n++;let a=e.kind===`thread`?(0,B.jsx)(GK,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,B.jsx)(ZK,{id:e.id,slug:e.slug,subId:e.subId??``,label:e.label??e.slug,subagentType:e.subagentType,startedAt:e.startedAt,depth:r,widthDepth:i},e.id):e.kind===`shell`?(0,B.jsx)(eq,{id:e.id,slug:e.slug,shellId:e.subId??``,label:e.label??`Background shell`,startedAt:e.startedAt,depth:r,widthDepth:i},e.id):e.kind===`plan`?(0,B.jsx)(uq,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,B.jsx)(dq,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=xg(t,e.slug);return n?eb(n):e.slug})()},e.id);return(0,B.jsx)(pq,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,B.jsx)(vq,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function bq(e){return fx(e,`card`).length>0}function xq({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=fx(t,`card`);return r.length===0?null:(0,B.jsx)(`div`,{"data-queue-subagents":!0,className:`flex min-w-0 flex-col gap-0.5 ${n}`,children:r.map((t,n)=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>og(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},t.id??`${t.startedAt}-${n}`))})}var Sq=320;function Cq(e){let t=[...document.querySelectorAll(`[data-queue-card]`)],n=t.findIndex(t=>t.dataset.queueCard===e);if(n<0)return null;let r=window.innerHeight,i=e=>{if(!e||e.dataset.queueLeaving===`true`||!e.dataset.queueCard)return!1;let t=e.getBoundingClientRect();return t.bottom>0&&t.top<r},a=i(t[n-1])?t[n-1]:i(t[n+1])?t[n+1]:null;return a?{slug:a.dataset.queueCard,top:a.getBoundingClientRect().top}:null}function wq(e){let t=[...document.querySelectorAll(`[data-queue-card]`)],n=t.findIndex(t=>t.dataset.queueCard===e);if(n<0)return null;let r=e=>e.dataset.queueLeaving!==`true`&&!!e.dataset.queueCard;for(let e=n+1;e<t.length;e++)if(r(t[e]))return t[e].dataset.queueCard;for(let e=n-1;e>=0;e--)if(r(t[e]))return t[e].dataset.queueCard;return null}var Tq=0,Eq=``;function Dq(){Tq++===0&&(Eq=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function Oq(){Tq>0&&--Tq===0&&(document.documentElement.style.overflowAnchor=Eq)}function kq({thread:e,onSnooze:t,onSnoozeFailed:n}){let[r,i]=(0,z.useState)(!1);return(0,B.jsx)(lW,{thread:e,actions:(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{i(!0),t(),Z.snoozeAwaitingBackground({slug:e.id,sessionId:e.sessionId??``}).then(()=>X(`Snoozed until a sub-agent returns`)).catch(e=>{n(),X(`Couldn’t snooze: ${e.message.slice(0,80)}`),i(!1)})},disabled:r,onMouseDown:e=>e.preventDefault(),title:`Hide this card until a sub-agent returns`,className:`disabled:opacity-45 ${zV}`,children:[(0,B.jsx)($v,{size:12,className:UV}),`Snooze`]})})}function Aq(){let e=J_(),t=mb(X_(e?.threads??[]).filter(hb),Yd(Xy).queueOrder),n=t.map(e=>e.id).join(`,`),[r,i]=(0,z.useState)(()=>new Set),a=(0,z.useRef)(t);a.current=t;let o=(0,z.useRef)(r);o.current=r;let s=new Set(t.map(e=>e.id)),c=(0,z.useRef)([]),l=(0,z.useRef)([]),u=(0,z.useRef)(new Map),d=(0,z.useRef)(new Set),f=(0,z.useRef)(new Set),p=(0,z.useRef)(new Map),m=(0,z.useRef)(new Map),h=(0,z.useRef)(null),[g,_]=(0,z.useState)(0);c.current.forEach(e=>{if(!s.has(e.id)&&!f.current.has(e.id)){let t=l.current.indexOf(e.id);u.current.delete(e.id),u.current.set(e.id,{view:e,index:t>=0?t:l.current.length}),r.has(e.id)&&d.current.add(e.id)}}),c.current=t;for(let e of[...f.current])s.has(e)?r.has(e)||(f.current.delete(e),d.current.delete(e)):r.has(e)||(f.current.delete(e),u.current.delete(e),d.current.delete(e));for(;u.current.size>32;){let e=u.current.keys().next().value;if(e===void 0)break;u.current.delete(e),d.current.delete(e);let t=p.current.get(e);t&&(clearTimeout(t),p.current.delete(e))}let v=e=>s.has(e)?r.has(e):d.current.has(e),y=(0,z.useMemo)(()=>{let e=t.filter(e=>!f.current.has(e.id)),n=[...u.current.entries()].filter(([e])=>!s.has(e)&&!f.current.has(e)).map(([,e])=>e).sort((e,t)=>e.index-t.index);for(let{view:t,index:r}of n)e.splice(Math.min(r,e.length),0,t);return e},[t,r,g]);l.current=y.map(e=>e.id),(0,z.useEffect)(()=>{let e=[...u.current.keys()].filter(e=>!s.has(e)&&!f.current.has(e)),t=e.filter(e=>!d.current.has(e)),n;t.length&&(n=requestAnimationFrame(()=>{t.forEach(e=>{u.current.has(e)&&d.current.add(e)}),_(e=>e+1)}));let i=new Set;for(let e of r)f.current.has(e)||i.add(e);for(let t of e)i.add(t);for(let e of i){if(p.current.has(e))continue;let t=setTimeout(()=>{if(p.current.delete(e),o.current.has(e)){let t=wq(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=Cq(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},Sq);p.current.set(e,t)}return()=>{n!==void 0&&cancelAnimationFrame(n)}},[n,r,g]),(0,z.useEffect)(()=>{let e=[...r].filter(e=>f.current.has(e)&&!s.has(e));if(e.length!==0){for(let t of e)f.current.delete(t),u.current.delete(t),d.current.delete(t);i(t=>{let n=new Set(t);for(let t of e)n.delete(t);return n})}},[n,g]),(0,z.useEffect)(()=>()=>{for(let e of p.current.values())clearTimeout(e);for(let e of m.current.values())clearTimeout(e)},[]),(0,z.useLayoutEffect)(()=>{let e=h.current;if(!e)return;h.current=null;let t=document.querySelector(`[data-queue-card="${CSS.escape(e.slug)}"]`);if(!t)return;if(e.kind===`hold`){let n=t.getBoundingClientRect().top-e.top;Math.abs(n)>.5&&window.scrollBy({top:n,left:0,behavior:`auto`});return}Dq();let n=()=>{let t=Yh(e.slug);t!==null&&Math.abs(window.scrollY-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),Oq()})})},[g]);let b=(0,z.useCallback)(e=>{i(t=>new Set(t).add(e));let t=m.current.get(e);t&&clearTimeout(t);let n=setTimeout(()=>{m.current.delete(e),a.current.some(t=>t.id===e)&&(f.current.delete(e),d.current.delete(e),i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),_(e=>e+1))},8e3);m.current.set(e,n)},[]),x=(0,z.useCallback)(e=>{let t=m.current.get(e);t&&(clearTimeout(t),m.current.delete(e));let n=p.current.get(e);n&&(clearTimeout(n),p.current.delete(e)),f.current.delete(e),d.current.delete(e),i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),_(e=>e+1)},[]),S=!e?.threads.some(e=>e.foreign!==!0)&&(e?.plans?.length??0)===0;return(0,B.jsxs)(`div`,{className:`my-auto w-full min-w-0 flex flex-col py-8`,children:[(0,B.jsx)(jq,{board:e}),y.length>0&&(0,B.jsx)(`div`,{className:`flex flex-col [&>*:last-child_hr]:hidden`,children:y.map(e=>(0,B.jsx)(Nq,{slug:e.id,leaving:v(e.id),children:(0,B.jsx)(Fq,{thread:e,leaving:v(e.id),onResolve:b,onUnresolve:x})},e.id))}),S?(0,B.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,B.jsx)(`h2`,{className:`text-[15px] font-medium text-center`,children:`What should the agent do?`}),(0,B.jsx)(lM,{autoFocus:!0})]}):y.length===0?(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,B.jsx)(ey,{size:40,strokeWidth:1.25,className:`text-muted/30`}),(0,B.jsx)(`div`,{className:`text-[13px] text-muted/80`,children:`No threads awaiting human input`})]}):null]})}function jq({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,B.jsxs)(`div`,{className:`mb-6 ${kV} border border-amber-500/25 bg-amber-500/[0.06] px-3.5 py-2.5 text-[12px] text-amber-200/90`,children:[(0,B.jsx)(`div`,{className:`font-medium mb-0.5`,children:`Board errors`}),t.length>0?t.slice(0,6).map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,title:`${e.file?`${e.file}: `:``}${e.message}`,children:[e.file?`${e.file}: `:``,e.message]}),e.kind===`no-frontmatter`&&(0,B.jsx)(Mq,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,B.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function Mq({file:e}){let t=nd({mutationFn:()=>Z.repairThread({file:e}),onSuccess:({slug:e})=>X(`Repaired ${e} — verify its status`),onError:e=>X(e instanceof Error?e.message:`Repair failed`)});return(0,B.jsx)(`button`,{onClick:()=>t.mutate(),disabled:t.isPending,className:`shrink-0 rounded border border-amber-400/50 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-100 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,title:`Prepend minimal frontmatter (title + status: active) so this thread becomes visible again`,children:t.isPending?`Repairing…`:`Repair`})}function Nq({leaving:e,slug:t,children:n}){return(0,B.jsx)(`div`,{"data-queue-card":t,"data-queue-leaving":e,className:`fray-card-slot min-w-0`,children:(0,B.jsx)(`div`,{className:`fray-card-clip min-h-0 min-w-0`,children:(0,B.jsxs)(`div`,{className:`fray-card-body min-w-0`,children:[n,(0,B.jsx)(`hr`,{className:`my-10 border-0 border-t border-border/60`})]})})})}function Pq({toolCount:e,stepCount:t,onExpand:n}){let r=[];e>0&&r.push(`${e} tool call${e===1?``:`s`}`),t>0&&r.push(`${t} step${t===1?``:`s`}`);let i=r.join(` · `);return(0,B.jsxs)(`button`,{type:`button`,"data-intermediate-summary":!0,onClick:n,onMouseDown:e=>e.preventDefault(),"aria-label":`Expand ${i} of intermediate agent activity`,className:`petite-caps group flex w-full items-center gap-2 ${kV} border border-border/60 bg-panel-2/40 px-3 py-2 text-left text-[12px] text-muted outline-none transition-colors hover:border-border hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(Pv,{"aria-hidden":`true`,size:13,className:`shrink-0 opacity-70 transition-opacity group-hover:opacity-100`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:i}),(0,B.jsx)(`span`,{className:`ml-auto text-[11px] opacity-60 transition-opacity group-hover:opacity-100`,children:`Show`})]})}var Fq=(0,z.memo)(function({thread:e,leaving:t,onResolve:n,onUnresolve:r}){let[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)(null),[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(0),g=(0,z.useRef)(null),_=(0,z.useRef)(null),[v,y]=(0,z.useState)(0),b=(0,z.useRef)(null),x=(0,z.useRef)(!1),S=(0,z.useRef)(!1),C=(0,z.useRef)(null),w=Bu(),T=xW(e.id),{stickyUserMessage:E}=Yd(Xy);(0,z.useLayoutEffect)(()=>{let e=_.current;if(!e)return;let t=()=>y(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[i]);let D=iv(e.id,{poll:!1}),O=(0,z.useMemo)(()=>D.data?.messages??[],[D.data]),ee=(0,z.useMemo)(()=>DV(O),[O]),k=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--)if(O[e].role===`user`)return e;return 0},[O]),A=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--)if(O[e].role===`user`&&!O[e].queued)return e;return-1},[O]),j=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--){let t=O[e];if(!(t.queued||!RG(t)))return e}return-1},[O]),M=(0,z.useMemo)(()=>{for(let e=A+1;e<O.length;e++){let t=O[e];if(!(t.queued||!RG(t)))return e}return-1},[O,A]),{hiddenStepCount:N,hiddenToolCount:te,visibleBackgroundMessages:P}=(0,z.useMemo)(()=>{if(M<0||M===j)return{hiddenStepCount:0,hiddenToolCount:0,visibleBackgroundMessages:[]};let e=0,t=0,n=[];for(let r=M;r<=j;r++){let i=O[r];if(!i||i.queued||LG(i))continue;let a=nU(i),o=a?[]:i.tools.filter(e=>e.backgroundState!==void 0),s=a?[]:i.tools.filter(e=>e.backgroundState===void 0);t+=s.length,o.length>0&&n.push({sourceId:i.sourceId?`${i.sourceId}:visible-background`:void 0,role:`assistant`,text:``,tools:o,parts:[{kind:`tools`,tools:o}],at:i.at}),r>M&&r<j&&(RG(i)||s.length>0||a!==void 0||i.kind!==void 0)&&e++}return{hiddenStepCount:e,hiddenToolCount:t,visibleBackgroundMessages:n}},[O,M,j]),ne=!o&&A>=0&&M!==j&&(N>=1||te>=1),re=d_(O,u,k),ie=(0,z.useMemo)(()=>O.slice(re),[O,re]),ae=(0,z.useMemo)(()=>{let e=j>=re?j-re+1:0,t=(e,t)=>zW(e).map(e=>({...e,messageIndex:e.messageIndex+t}));return[...t(ie.slice(0,e),re),...t(ie.slice(e),re+e)]},[ie,re,j]),oe=re>0||D.data?.hasEarlier===!0;(0,z.useLayoutEffect)(()=>{let e=b.current,t=g.current;if(!e||!t||![...t.querySelectorAll(`[data-transcript-source-id]`)].some(t=>t.dataset.transcriptSourceId===e.targetStartId))return;let n=()=>{v_(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return v_(t,e.anchor,e=>{n=e}),n},r=n();if(y_({remaining:r,scrollY:window.scrollY,maxScrollY:Math.max(0,document.documentElement.scrollHeight-window.innerHeight),alreadyReserved:e.reserved===!0})===`reserve`){e.reserved=!0,h(e=>e+Math.ceil(r));return}S.current||(S.current=!0,requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),b.current=null,S.current=!1,x.current&&(x.current=!1,Oq())})}))},[m,O,u]),(0,z.useEffect)(()=>{let e=D.data?.transcriptKey;if(!e)return;let t=C.current;C.current=e,!(!t||t===e)&&(d(null),h(0),s(!1),b.current=null,S.current=!1,x.current&&(x.current=!1,Oq()))},[D.data?.transcriptKey]),(0,z.useEffect)(()=>()=>{x.current&&(x.current=!1,Oq())},[]);let se=e=>{let t=g_(g.current);!e||!t||(x.current||(x.current=!0,Dq()),b.current={anchor:t,targetStartId:e})},ce=async()=>{if(f||!oe)return;let t=u_(O,re),n=t!==null&&O[t]?.role===`user`?t:null;if(n!==null){let e=O[n].sourceId;se(e),d(e??null);return}let r=D.data?.beforeCursor;if(!r){if(re>0){let e=O[0]?.sourceId;se(e),d(e??null)}return}let i=D.data?.transcriptKey;if(i){p(!0);try{let t=await Z.threadTranscriptEarlier({slug:e.id,cursor:r}),n=w.getQueryData([`transcript`,e.id]);if(!n?.transcriptKey||n.transcriptKey!==i||t.transcriptKey!==i){await D.refetch(),d(null),X(`Transcript changed while loading history; refreshed the current session`);return}let a=t.messages[0]?.sourceId??O[0]?.sourceId;se(a);let o=h_(n,t);w.setQueryData([`transcript`,e.id],o),d(a??null)}catch(e){await D.refetch(),d(null),X(e instanceof Error?e.message:`Could not load earlier transcript history`)}finally{p(!1)}}},le=nd({mutationFn:()=>Z.markComplete({slug:e.id})}),{answeringForMessage:ue,answerable:de,anyAnswered:fe,sendAnswers:pe,sendMessage:me}=tH(e.id,O,()=>{document.activeElement?.blur(),n(e.id)},{scrollToBottom:!1}),he=(0,z.useCallback)(()=>n(e.id),[n,e.id]),ge=(0,z.useCallback)(()=>r(e.id),[r,e.id]),_e=(0,z.useMemo)(()=>({dismiss:he,cancel:ge}),[he,ge]);return(0,B.jsx)(hG.Provider,{value:e.id,children:(0,B.jsx)(vG.Provider,{value:_e,children:(0,B.jsxs)(`div`,{"data-queue-card-root":e.id,"data-queue-leaving":t,style:m?{marginBottom:m}:void 0,className:`flex flex-col min-w-0 max-w-full ${kV} border border-border-strong bg-panel shadow-lg shadow-black/25 transition-opacity ${c?`opacity-40`:``}`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,B.jsxs)(`div`,{ref:_,className:`sticky top-0 z-10 flex items-center gap-2 bg-panel px-5 py-3.5 max-[800px]:top-10 ${i?kV:`${AV} border-b border-border/60`}`,children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`div`,{className:`flex min-w-0 items-center gap-1`,children:(0,B.jsx)(`div`,{className:`min-w-0 flex-1 truncate font-semibold text-[15px] leading-snug`,title:eb(e),children:eb(e)})}),(0,B.jsx)(fW,{at:db(e),fallbackAt:e.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`}),e.statusText&&e.status===`needs-human`&&(0,B.jsx)(`div`,{className:`text-[11px] text-muted/80 mt-0.5 truncate`,title:e.statusText,children:e.statusText})]}),e.kind===`session`&&e.foreign!==!0&&(0,B.jsx)(SW,{slug:e.id}),(0,B.jsx)(LH,{thread:e,collapsed:i,onCollapse:()=>a(e=>!e),onOpen:()=>ag(`thread`,e.id),onDone:()=>le.mutate(void 0,{onSuccess:()=>n(e.id),onError:()=>l(!1)}),doneBusy:le.isPending,onStatusMutate:()=>l(!0),onStatusApplied:()=>n(e.id),onStatusFailed:()=>l(!1)})]}),i?null:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`px-5 pt-5 ${de?`pb-2`:`pb-5`}`,children:[(0,B.jsx)(ZU,{thread:e,className:`mb-4`}),!e.pendingInteraction&&e.pendingAsk?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(FK,{ask:e.pendingAsk,onTerminal:T})}):e.nativeInputRequired?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(NK,{input:e.nativeInputRequired,onTerminal:T})}):e.runtime===`perm-prompt`?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(jK,{onTerminal:T})}):null,e.permPolicy?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(MK,{policy:e.permPolicy,denies:e.permDenies})}):null,O.length===0?(0,B.jsx)(`p`,{className:`text-[13px] text-muted`,children:D.isLoading?`Loading…`:e.statusText||`No message yet.`}):(0,B.jsxs)(`div`,{ref:g,className:`flex flex-col`,children:[oe&&(0,B.jsx)(`button`,{className:`mb-3.5 self-center rounded-md border border-border px-2 py-0.5 text-[11px] text-muted transition-colors hover:text-fg hover:bg-panel-2 outline-none`,onClick:()=>void ce(),onMouseDown:e=>e.preventDefault(),disabled:f,children:f?`Loading earlier messages…`:D.data?.reachedTurnBoundary===!1?`Continue loading this turn`:`Load earlier messages`}),(()=>{let e=re,t=[],n=null,r=!1;return ae.forEach(({message:e,messageIndex:i},a)=>{if(e.queued||LG(e))return;if(ne&&i>=M&&i<=j){let o=i===M,c=i===j;if(!o&&!c||(c&&!r&&((te>0||N>0)&&(n!==null&&t.push((0,B.jsx)(zG,{h:14},`im-space`)),t.push((0,B.jsx)(Pq,{toolCount:te,stepCount:N,onExpand:()=>s(!0)},`intermediate-summary`)),n=!1),P.forEach((e,r)=>{n!==null&&t.push((0,B.jsx)(zG,{h:14},`bg-space-${r}`));let i=e.sourceId??`visible-background-${r}`;t.push((0,B.jsx)(`div`,{"data-transcript-source-id":i,className:`flex flex-col`,children:(0,B.jsx)(vK,{m:e,dense:!0})},i)),n=!0}),r=!0),!RG(e)))return;n!==null&&t.push((0,B.jsx)(zG,{h:14},`s${a}`));let l=e.sourceId??`legacy-${i}`;t.push((0,B.jsx)(`div`,{"data-transcript-source-id":l,className:`flex flex-col`,children:(0,B.jsx)(vK,{m:e,dense:!0,textOnly:!0,answering:ue(e),paired:ee[i]})},l)),n=!1;return}n!==null&&t.push((0,B.jsx)(zG,{h:n&&IG(e)?6:14},`s${a}`));let o=e.sourceId??`legacy-${i}`,c=i===A&&E,l=(0,B.jsx)(vK,{m:e,dense:!0,answering:ue(e),paired:ee[i],sticky:c});t.push(c?(0,B.jsx)(gK,{sourceId:o,stickyTopPx:v,children:l},o):(0,B.jsx)(`div`,{"data-transcript-source-id":o,className:`flex flex-col`,children:l},o)),n=FG(e)}),ie.forEach((n,r)=>{n.queued&&(t.push((0,B.jsx)(zG,{},`qs${r}`)),t.push((0,B.jsx)(vK,{m:n,dense:!0,paired:ee[e+r]},`q${e+r}`)))}),t})()]}),e.awaitingBackground&&(0,B.jsx)(`div`,{className:`mt-4`,children:(0,B.jsx)(kq,{thread:e,onSnooze:he,onSnoozeFailed:ge})})]}),de&&(0,B.jsx)(`div`,{className:`shrink-0 px-5 pt-0`,children:(0,B.jsx)(`div`,{className:`mb-4 flex items-center justify-start gap-2`,children:(0,B.jsx)(`button`,{disabled:!fe,onClick:()=>pe(),onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})})}),(0,B.jsx)(FH,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:de?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:me,ops:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(xq,{slug:e.id,subAgents:e.subAgents??[],className:(e.bgShells??[]).length>0?`px-1 pt-1.5`:`px-1 pb-2 pt-1.5`}),(0,B.jsx)(PK,{slug:e.id,includeAgents:!1,className:`px-1 pb-2 ${bq(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,B.jsx)(ZH,{thread:e,onArchived:()=>n(e.id),onDismissCancel:()=>r(e.id),onSnoozed:()=>n(e.id)})]})})})},Iq);function Iq(e,t){return e.leaving===t.leaving&&e.onResolve===t.onResolve&&e.onUnresolve===t.onUnresolve&&(e.thread===t.thread||JSON.stringify(e.thread)===JSON.stringify(t.thread))}function Lq(e,t){if(e.backend===`claude`)return Dj.some(t=>t.value===e.model)?Pj.includes(e.effort)?void 0:`Reasoning level ${e.effort} is not available for ${e.model}`:`Claude model ${e.model} is no longer available`;let n=t.find(t=>t.slug===e.model);if(!n)return`Codex model ${e.model} is no longer available`;if(!n.efforts.includes(e.effort))return`Reasoning level ${e.effort} is not available for ${e.model}`}function Rq(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function zq({keys:e,key:t,shiftKey:n,anchor:r,selected:i,max:a}){let o=e.indexOf(t),s=r===null?-1:e.indexOf(r);if(!n||o===-1||s===-1||r===null){let e=new Set(i),n=!1;return e.has(t)?e.delete(t):e.size<a?e.add(t):n=!0,{selected:e,anchor:o===-1?r:t,capped:n}}let c=o>=s?1:-1,l=i.has(r),u=new Set(i),d=!1;for(let t=s;;t+=c){let n=e[t];if(l?u.has(n)||(u.size<a?u.add(n):d=!0):u.delete(n),t===o)break}return{selected:u,anchor:r,capped:d}}var Bq=20;function Vq({onClose:e}){let t=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()}),{resolved:n,codexList:r,loadError:i,saveProfile:a}=Kj(),[o,s]=(0,z.useState)(`issues`),[c,l]=(0,z.useState)(`recent`),[u,d]=(0,z.useState)(()=>new Set),[f,p]=(0,z.useState)(null),m=td({queryKey:[`githubList`,o,c],queryFn:()=>Z.githubList({kind:o,sort:c})}),h=m.data?.items??[],g=nd({mutationFn:e=>Z.githubDispatchBatch(e),onMutate:e=>X(`Starting ${e.items.length} thread${e.items.length===1?``:`s`}…`,{spinner:!0,sticky:!0}),onSuccess:t=>{let n=t.dispatched.length,r=t.failed.length;X(`Started ${n} thread${n===1?``:`s`}${r?` (${r} failed)`:``}`),e()},onError:e=>X(`Dispatch failed: ${e.message.slice(0,80)}`)});function _(e){e!==o&&(s(e),d(new Set),p(null))}function v(e){e!==c&&(l(e),d(new Set),p(null))}function y(e,t){let n=zq({keys:h.map(e=>e.number),key:e,shiftKey:t,anchor:f,selected:u,max:Bq});d(n.selected),p(n.anchor),n.capped&&X(`${Bq} max per batch — selection capped`)}let b=t.data?.nameWithOwner??`this repo`,x=u.size,S=(0,z.useMemo)(()=>Wj(r),[r]),C=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,w=C?Lq(C,r):i?`Could not load the model catalogue — reopen once it loads`:void 0,T=w??(C?void 0:`Loading the model catalogue…`);function E(){if(!C||T){X(T??`Choose a model and reasoning level`);return}g.mutate(Rq(C,[...u].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,B.jsx)(dM,{onClose:e,children:(0,B.jsxs)(`div`,{className:`flex max-h-[85vh] w-[720px] max-w-[90vw] flex-col rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50`,onKeyDownCapture:t=>{t.key===`Escape`&&(t.stopPropagation(),e())},children:[(0,B.jsxs)(`h2`,{className:`mb-4 flex items-center gap-2 text-[14px] font-medium`,children:[(0,B.jsx)(Zv,{size:15,className:`text-muted`}),(0,B.jsx)(`span`,{children:`Investigate this issue and make recommendations`}),(0,B.jsx)(`span`,{className:`text-muted/40`,children:`—`}),(0,B.jsx)(`span`,{className:`font-mono-keep text-[12.5px] text-muted`,children:b})]}),(0,B.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,B.jsx)(Hq,{value:o,onChange:e=>_(e),options:[{value:`issues`,label:`Issues`},{value:`prs`,label:`PRs`}]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps text-[11px] text-muted/70`,children:`Sort`}),(0,B.jsx)(Hq,{value:c,onChange:v,options:[{value:`recent`,label:`Recent`},{value:`reactions`,label:`Reactions`}]})]})]}),(0,B.jsx)(`div`,{className:`min-h-[240px] flex-1 overflow-y-auto rounded-lg border border-border/70 bg-bg/40`,children:m.isLoading?(0,B.jsx)(Qq,{}):m.isError?(0,B.jsxs)($q,{children:[(0,B.jsxs)(`span`,{className:`text-[12.5px] text-muted/80`,children:[`Couldn't load `,o===`issues`?`issues`:`pull requests`,`.`]}),(0,B.jsx)(`span`,{className:`max-w-[80%] text-center text-[11px] text-muted/45`,children:m.error.message.slice(0,140)})]}):h.length===0?(0,B.jsxs)($q,{children:[(0,B.jsx)(ey,{size:28,strokeWidth:1.25,className:`text-muted/30`}),(0,B.jsxs)(`span`,{className:`text-[12.5px] text-muted/60`,children:[`No open `,o===`issues`?`issues`:`pull requests`]})]}):h.map(e=>(0,B.jsx)(Kq,{item:e,checked:u.has(e.number),onActivate:t=>y(e.number,t)},e.number))}),(0,B.jsxs)(`div`,{className:`mt-4 flex items-end justify-between gap-3`,children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(pj,{groups:S,value:n?{provider:n.backend,model:n.model,effort:n.effort}:void 0,onValueChange:e=>a({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),placeholder:i?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort`,title:T??`Model and reasoning effort for every thread this batch starts`,disabled:!n,side:`top`,menuZClass:Hk,className:`max-w-[min(21rem,60vw)]`}),w&&(0,B.jsx)(`p`,{className:`mt-1 max-w-[430px] text-[10.5px] text-red-400`,children:w})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3`,children:[x>=Bq&&(0,B.jsxs)(`span`,{className:`petite-caps text-[11px] text-muted/60`,children:[Bq,` max per batch`]}),(0,B.jsxs)(`button`,{disabled:x===0||g.isPending||!!T,onClick:E,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-2 rounded-md bg-fg px-3.5 py-1.5 text-[12.5px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:[g.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),x===1?`Start investigation`:`Start investigations`]})]})]})]})})}function Hq({value:e,onChange:t,options:n}){return(0,B.jsx)(`div`,{className:`inline-flex items-center gap-0.5 rounded-lg border border-border bg-panel-2 p-0.5`,children:n.map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.value),onMouseDown:e=>e.preventDefault(),className:`rounded-md px-3 py-1 text-[12px] font-medium outline-none transition-colors ${e===n.value?`bg-elevated text-fg shadow-sm shadow-black/20`:`text-muted hover:text-fg`}`,children:n.label},n.value))})}function Uq({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,B.jsx)(qv,{size:15,className:`shrink-0 text-purple-400`}):t===`CLOSED`?(0,B.jsx)(Jv,{size:15,className:`shrink-0 text-red-400`}):e.isDraft?(0,B.jsx)(Yv,{size:15,className:`shrink-0 text-muted/70`}):(0,B.jsx)(Xv,{size:15,className:`shrink-0 text-emerald-500`}):t===`CLOSED`?(0,B.jsx)(Fv,{size:15,className:`shrink-0 text-purple-400`}):(0,B.jsx)(Lv,{size:15,className:`shrink-0 text-emerald-500`})}function Wq(e){if(!e)return``;let t=Date.parse(e);if(!Number.isFinite(t))return``;let n=Math.max(0,(Date.now()-t)/1e3),r=n/60,i=r/60,a=i/24;return n<45?`just now`:r<60?`${Math.round(r)}m ago`:i<24?`${Math.round(i)}h ago`:a<30?`${Math.round(a)}d ago`:a<365?`${Math.round(a/30)}mo ago`:`${Math.round(a/365)}y ago`}function Gq({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:void 0;return(0,B.jsx)(`span`,{className:`max-w-[130px] shrink-0 truncate rounded-full border px-1.5 py-px text-[9.5px] leading-[13px]`,style:n?{borderColor:`${n}59`,color:n,backgroundColor:`${n}14`}:void 0,title:e,children:e})}function Kq({item:e,checked:t,onActivate:n}){let r=Wq(e.createdAt),i=[e.author,r?`opened ${r}`:``].filter(Boolean).join(` `);return(0,B.jsxs)(`div`,{role:`button`,tabIndex:0,"data-row-number":e.number,"aria-pressed":t,onClick:e=>n(e.shiftKey),onMouseDown:e=>{e.shiftKey&&e.preventDefault()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(e.shiftKey))},className:`group flex w-full cursor-pointer items-start gap-2.5 border-b border-border/40 px-3 py-2.5 text-left outline-none transition-colors last:border-b-0 hover:bg-white/[0.03]`,children:[(0,B.jsx)(`span`,{className:`mt-px shrink-0`,children:(0,B.jsx)(qq,{checked:t})}),(0,B.jsx)(`span`,{className:`mt-px`,children:(0,B.jsx)(Uq,{item:e})}),(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,B.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),title:e.title,className:`min-w-0 truncate text-[13px] font-medium text-fg/90 hover:underline`,children:e.title}),e.labels.slice(0,4).map(e=>(0,B.jsx)(Gq,{name:e.name,color:e.color},e.name))]}),(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-muted/55`,children:[(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),className:`shrink-0 tabular-nums hover:text-muted hover:underline`,children:[`#`,e.number]}),i?(0,B.jsxs)(`span`,{className:`truncate`,children:[`· `,i]}):null]})]}),(0,B.jsxs)(`span`,{className:`mt-px flex shrink-0 items-center gap-2.5 text-[11.5px] text-muted/70`,children:[e.linkedPrs?(0,B.jsx)(Xq,{prs:e.linkedPrs}):null,e.comments?(0,B.jsx)(Zq,{icon:oy,n:e.comments,label:`comments`}):null,e.reactions?(0,B.jsx)(Zq,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function qq({checked:e}){return(0,B.jsx)(`span`,{className:`inline-flex h-[15px] w-[15px] items-center justify-center rounded-[4px] border transition-colors ${e?`border-fg bg-fg`:`border-muted/45 group-hover:border-muted/80`}`,children:e&&(0,B.jsx)(Av,{size:11,strokeWidth:3,className:`text-bg`})})}var Jq={octicon:`-0.1em`,stroke:`-0.112em`};function Yq({size:e=12,className:t}){return(0,B.jsx)(`svg`,{viewBox:`0 0 16 16`,width:e,height:e,fill:`currentColor`,"aria-hidden":!0,className:t,style:{transform:`translateY(${Jq.octicon})`},children:(0,B.jsx)(`path`,{d:`M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z`})})}function Xq({prs:e}){let t=e.state.toUpperCase()===`MERGED`,n=e.count>1?`${e.count} linked pull requests — `:``,r=t?`#${e.number} merged`:e.isDraft?`#${e.number} open (draft)`:`#${e.number} open`;return(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),title:`${n}${r}`,className:`inline-flex items-center gap-1 tabular-nums hover:text-fg/90`,children:[(0,B.jsx)(Yq,{size:12}),e.count]})}function Zq({icon:e,emoji:t,n,label:r}){return(0,B.jsxs)(`span`,{className:`inline-flex items-center gap-1 tabular-nums`,title:`${n} ${r}`,children:[t?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] leading-none`,children:t}):e?(0,B.jsx)(`span`,{className:`inline-flex`,style:{transform:`translateY(${Jq.stroke})`},children:(0,B.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function Qq(){return(0,B.jsx)(`div`,{className:`animate-pulse`,children:Array.from({length:6}).map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border/40 px-3 py-2.5 last:border-b-0`,children:[(0,B.jsx)(`span`,{className:`h-[15px] w-[15px] shrink-0 rounded-[4px] bg-muted/20`}),(0,B.jsx)(`span`,{className:`h-3 w-8 shrink-0 rounded bg-muted/20`}),(0,B.jsx)(`span`,{className:`h-3 flex-1 rounded bg-muted/15`,style:{maxWidth:`${55+t*7%35}%`}})]},t))})}function $q({children:e}){return(0,B.jsx)(`div`,{className:`flex h-full min-h-[240px] flex-col items-center justify-center gap-1.5`,children:e})}function eJ(e){return e===`right`?`pl-3 pr-7`:`pl-7 pr-3`}function tJ(e,t,n,r){let i=(n?n.flatMap(e=>e.options):t??[]).find(t=>t.value===e);return i?{text:i.label,placeholder:!1}:e?{text:e,placeholder:!1}:{text:r??``,placeholder:!0}}var nJ=`__fray_empty_select_value__`,rJ=e=>e===``?nJ:e,iJ=e=>e===nJ?``:e,aJ={ghost:`border-transparent bg-transparent hover:border-border hover:bg-panel-2 data-[state=open]:border-border data-[state=open]:bg-panel-2`,bordered:`w-full justify-between border-border bg-bg hover:bg-panel-2 data-[state=open]:bg-panel-2`,readout:`text-muted hover:text-fg border-border/50 bg-transparent hover:border-border hover:bg-panel-2 data-[state=open]:border-border data-[state=open]:bg-panel-2 [&_.select-caret]:text-fg/65 [&_.select-caret]:opacity-100`},oJ={ghost:`border-transparent bg-transparent`,bordered:`w-full justify-between border-border bg-bg`,readout:`text-muted border-border/50 bg-transparent [&_.select-caret]:text-fg/65 [&_.select-caret]:opacity-100`};function sJ({o:e,indicatorPosition:t,typography:n}){return(0,B.jsxs)(Ik,{value:rJ(e.value),title:e.title,className:`relative flex w-full min-w-0 cursor-pointer select-none items-center overflow-hidden rounded-md py-1.5 text-left text-[12px] text-muted outline-none data-[highlighted]:bg-panel-2 data-[highlighted]:text-fg data-[state=checked]:bg-panel-2 data-[state=checked]:font-medium data-[state=checked]:text-fg ${eJ(t)} ${n??``}`,children:[(0,B.jsx)(Lk,{className:`pointer-events-none absolute top-1/2 inline-flex -translate-y-1/2 items-center text-accent ${t===`right`?`right-2`:`left-2`}`,children:(0,B.jsx)(Av,{size:13})}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e.label})]})}function cJ({value:e,onValueChange:t,options:n,groups:r,placeholder:i,ariaLabel:a,title:o,disabled:s=!1,variant:c=`ghost`,indicatorPosition:l=`left`,side:u=`bottom`,className:d=``}){let f=tJ(e,n,r,i),p=s?oJ[c]:aJ[c],m=c===`readout`?qA:``,[h,g]=(0,z.useState)(!1),_=(0,z.useRef)(h),v=(0,z.useRef)(s),y=(0,z.useRef)(void 0);return _.current=h,v.current=s,(0,z.useLayoutEffect)(()=>{let e=e=>{e.key!==`Escape`||!_.current||v.current||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),_.current=!1,y.current?.(),y.current=void 0,g(!1))};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[]),(0,z.useLayoutEffect)(()=>{!s||!h||(_.current=!1,y.current?.(),y.current=void 0,g(!1))},[s,h]),(0,z.useLayoutEffect)(()=>()=>y.current?.(),[]),(0,B.jsxs)(Ok,{modal:!1,open:h,onOpenChange:e=>{y.current?.(),y.current=void 0,_.current=e,g(e),e&&(y.current=lj(()=>{_.current=!1,y.current=void 0,g(!1)}))},children:[(0,B.jsx)(kk,{asChild:!0,disabled:s,children:(0,B.jsxs)(`button`,{type:`button`,"aria-label":a,title:o,className:`group inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-md border px-2 py-1 text-left text-[12px] text-fg outline-none data-[placeholder]:text-muted ${s?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors`} ${p} ${c===`readout`?`select-trigger-readout`:``} ${m} ${d}`,children:[(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left ${f.placeholder?`text-muted`:``}`,children:f.text}),(0,B.jsx)(jv,{className:`select-caret shrink-0 text-muted ${s?``:`transition-transform group-data-[state=open]:rotate-180`}`,size:13})]})}),(0,B.jsx)(Ak,{children:(0,B.jsx)(jk,{align:`start`,side:u,sideOffset:5,onEscapeKeyDown:e=>e.stopPropagation(),className:`${Vk} min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg p-1 ${m}`,children:(0,B.jsx)(Fk,{value:rJ(e),onValueChange:e=>t(iJ(e)),className:`max-h-[300px] min-w-0 overflow-y-auto`,children:r?r.map((e,t)=>(0,B.jsxs)(Mk,{children:[e.label&&(0,B.jsx)(Nk,{className:`${eJ(l)} min-w-0 truncate pb-1 pt-2 text-left text-[10px] font-medium uppercase tracking-wide text-muted/60 first:pt-1`,children:e.label}),e.options.map(e=>(0,B.jsx)(sJ,{o:e,indicatorPosition:l,typography:m},e.value))]},e.label||`g${t}`)):(n??[]).map(e=>(0,B.jsx)(sJ,{o:e,indicatorPosition:l,typography:m},e.value))})})})]})}var lJ={model:`Choose the default model used when you create or dispatch work from this project.`,effort:`Controls the default reasoning effort for new work. Available options depend on the selected model.`,font:`Changes the interface reading font for this browser.`,localFileOpener:`Chooses how vetted local artifact links open. Image clicks always use the OS default viewer.`,compact:`Collapses long diffs by default in this browser. This takes effect immediately.`,stickyUserMessage:`Keeps your most recent message stuck to the top of a thread while the reply scrolls underneath. It stays collapsed to a small card (hover to expand it) so a long message never blocks much of the view. Applies immediately in this browser.`,queueOrder:`Orders the Needs-you queue and the sidebar's rested threads by when each was last active. Oldest first (FIFO, default) surfaces the longest-waiting item first so you cycle through everything; Newest first (LIFO) keeps the most recently active on top. Applies immediately in this browser.`,notifications:`Shows a desktop notification when work needs attention while this window is hidden.`,runtimeGate:`When on, dispatched workers must verify UI/runtime changes in a real browser, screenshot the result into their handoff, and get an independent review before finishing. Turn off to drop that requirement from the worker prompt.`,autoResumeOnLimit:`When a usage limit interrupts running threads, fray remembers every one it cut off and sends each a “continue” once the window resets. Those threads stay out of your queue while they wait. Turn off to leave them parked for you to restart by hand.`};function uJ(){return typeof Notification>`u`?`unsupported`:Notification.permission}function dJ(){let e=td({queryKey:[`settingsGet`],queryFn:()=>Z.settingsGet()}),t=td({queryKey:[`codexModels`],queryFn:()=>Z.codexModels()}).data??[],n=aM(),[r,i,a]=sM(iM.settings(n,`githubIssuePrompt`)),[o,s,c]=sM(iM.settings(n,`githubPrPrompt`)),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(uJ()),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(!1);(0,z.useEffect)(()=>{let e=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(e)},[]),(0,z.useEffect)(()=>(Bh(v),()=>Bh(null)),[]),(0,z.useEffect)(()=>{e.data&&!l&&u({...e.data,...r?{githubIssuePrompt:r}:{},...o?{githubPrPrompt:o}:{}})},[e.data,l,r,o]);let _=(0,z.useCallback)(e=>{e.githubIssuePrompt!==l?.githubIssuePrompt&&i(e.githubIssuePrompt??``),e.githubPrPrompt!==l?.githubPrPrompt&&s(e.githubPrPrompt??``),u(e)},[l,i,s]);function v(){h||(g(!0),m(!1),window.setTimeout(()=>Y.showSettings=!1,bI()?0:210))}let y=nd({mutationFn:e=>Z.settingsSet(e),onSuccess:()=>{a(),c(),oX.invalidateQueries({queryKey:[`settingsGet`]}),v()}});async function b(e){if(l){if(e&&typeof Notification<`u`&&Notification.permission==="default"){let e=await Notification.requestPermission();f(e)}_({...l,notifications:e})}}let x=!!(l&&e.data&&JSON.stringify(l)!==JSON.stringify(e.data)),S=Aj(l?.model,t),C=Nj(l?.model,t);return(0,B.jsx)(`div`,{className:`${_I} z-50 flex justify-end ${p?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&v(),children:(0,B.jsxs)(`div`,{className:`${vI} w-[560px] max-w-[94vw] ${p?`translate-x-0`:`translate-x-full`}`,children:[(0,B.jsx)(XK,{title:`Settings`,actions:x?(0,B.jsx)(`span`,{className:`text-[11px] font-normal text-accent`,children:`● unsaved`}):void 0,onClose:v}),l?(0,B.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-5 flex flex-col gap-6`,children:[(0,B.jsx)(pJ,{label:`Model`,help:lJ.model,children:(0,B.jsx)(cJ,{variant:`bordered`,value:l.model??``,onValueChange:e=>_({...l,model:e||void 0,backend:Aj(e||void 0,t)}),groups:Mj(t,{withDefault:!0}),indicatorPosition:`right`,ariaLabel:`Model`})}),(0,B.jsx)(pJ,{label:`Effort`,help:lJ.effort,children:(0,B.jsx)(cJ,{variant:`bordered`,value:S===`codex`?Vj(C,l.effort??``):l.effort??``,onValueChange:e=>_({...l,effort:e||void 0}),options:S===`codex`?Bj(C,{withDefault:!0}):zj,indicatorPosition:`right`,ariaLabel:`Effort`})}),(0,B.jsx)(pJ,{label:`Font`,help:lJ.font,children:(0,B.jsx)(yJ,{value:l.font??`mono`,onChange:e=>_({...l,font:e})})}),(0,B.jsx)(pJ,{label:`Local file links`,help:lJ.localFileOpener,children:(0,B.jsx)(cJ,{variant:`bordered`,value:l.localFileOpener??`system`,onValueChange:e=>_({...l,localFileOpener:e}),options:[{value:`system`,label:`System default`},{value:`cursor`,label:`Cursor`},{value:`vscode`,label:`VS Code`},{value:`finder`,label:`Reveal in Finder`},{value:`copy`,label:`Copy path`}],indicatorPosition:`right`,ariaLabel:`Local file link opener`})}),(0,B.jsx)(pJ,{label:`Compact mode`,help:lJ.compact,children:(0,B.jsx)(xJ,{})}),(0,B.jsx)(pJ,{label:`Sticky message`,help:lJ.stickyUserMessage,children:(0,B.jsx)(SJ,{})}),(0,B.jsx)(pJ,{label:`Queue order`,help:lJ.queueOrder,children:(0,B.jsx)(CJ,{})}),(0,B.jsxs)(pJ,{label:`Desktop notifications`,help:lJ.notifications,children:[(0,B.jsx)(bJ,{value:l.notifications,onChange:b}),l.notifications&&(0,B.jsx)(wJ,{perm:d})]}),(0,B.jsx)(pJ,{label:`Runtime QA gate`,help:lJ.runtimeGate,children:(0,B.jsx)(bJ,{value:l.runtimeGate!==!1,onChange:e=>_({...l,runtimeGate:e})})}),(0,B.jsx)(pJ,{label:`Auto-resume after usage limits`,help:lJ.autoResumeOnLimit,children:(0,B.jsx)(bJ,{value:l.autoResumeOnLimit!==!1,onChange:e=>_({...l,autoResumeOnLimit:e})})}),(0,B.jsx)(hJ,{draft:l,setDraft:_})]}):(0,B.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`}),(0,B.jsxs)(`footer`,{className:`px-4 py-3 flex items-center justify-end gap-2 border-t border-border shrink-0`,children:[(0,B.jsx)(`button`,{className:`btn-ghost`,onClick:v,children:`Cancel`}),(0,B.jsx)(`button`,{className:`btn-accent`,onClick:()=>l&&y.mutate(l),disabled:!l||y.isPending||!x,children:y.isPending?`Saving…`:`Save`})]})]})})}function fJ({label:e,help:t}){return(0,B.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-muted`,children:[e,(0,B.jsx)(rN,{label:t,side:`right`,clickable:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":`About ${e}`,className:`inline-flex size-4 items-center justify-center text-muted/60 hover:text-fg transition-colors`,children:(0,B.jsx)(Rv,{size:12})})})]})}function pJ({label:e,help:t,children:n}){return(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,B.jsx)(fJ,{label:e,help:t}),n]})}var mJ=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}];function hJ({draft:e,setDraft:t}){let n=td({queryKey:[`githubPromptDefaults`],queryFn:()=>Z.githubPromptDefaults()});return(0,B.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,B.jsx)(gJ,{label:`Prompts`}),n.data?(0,B.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,B.jsx)(`div`,{className:`flex justify-end`,children:(0,B.jsx)(_J,{})}),(0,B.jsx)(vJ,{label:`Issue investigation prompt`,help:`The prompt for each ISSUE dispatched from the picker. The default has the worker classify the issue as a bug or feature and branch: reproduce + fix-plan for a bug, or a plan + impact analysis for a feature.`,value:e.githubIssuePrompt,fallback:n.data.issue,onChange:n=>t({...e,githubIssuePrompt:n})}),(0,B.jsx)(vJ,{label:`PR investigation prompt`,help:`The prompt for each PR dispatched from the picker. The default runs an adversarial review/audit — read the diff, verify correctness/edges/tests/CI, then recommend approve / request-changes.`,value:e.githubPrPrompt,fallback:n.data.pr,onChange:n=>t({...e,githubPrPrompt:n})})]}):(0,B.jsx)(`div`,{className:`text-[12px] text-muted`,children:`Loading defaults…`})]})}function gJ({label:e}){return(0,B.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[11px] uppercase tracking-wide text-muted/70`,children:[(0,B.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`}),(0,B.jsx)(`span`,{className:`shrink-0`,children:e}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`})]})}function _J(){let[e,t]=(0,z.useState)(!1);return(0,B.jsxs)(UF,{open:e,onOpenChange:t,children:[(0,B.jsx)(WF,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":`Available tokens`,className:`shrink-0 transition-colors ${e?`text-accent`:`text-muted/60 hover:text-fg`}`,children:(0,B.jsx)(Rv,{size:14})})}),(0,B.jsxs)(GF,{side:`top`,align:`end`,className:`w-56 p-3`,children:[(0,B.jsx)(`div`,{className:`mb-2 text-[11px] font-medium text-fg`,children:`Substitution tokens`}),(0,B.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:mJ.map(({token:e,gloss:t})=>(0,B.jsxs)(`li`,{className:`flex items-center justify-between gap-3 text-[11px]`,children:[(0,B.jsx)(`code`,{className:`font-mono-keep rounded border border-border bg-bg px-1 py-0.5 text-[10px] text-fg/80`,children:`{${e}}`}),(0,B.jsx)(`span`,{className:`text-muted/80`,children:t})]},e))})]})]})}function vJ({label:e,help:t,value:n,fallback:r,onChange:i}){return(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(fJ,{label:e,help:t}),n!=null&&(0,B.jsx)(`button`,{type:`button`,className:`text-[11px] text-muted hover:text-accent transition-colors`,onClick:()=>i(void 0),children:`Reset to default`})]}),(0,B.jsx)(`textarea`,{value:n??r,onChange:e=>i(e.target.value===``?void 0:e.target.value),rows:10,className:`input resize-none text-[12px] leading-relaxed font-mono-keep`,spellCheck:!1})]})}function yJ({value:e,onChange:t}){return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:`mono`,label:`Mono`,cls:``},{v:`sans`,label:`Sans`,cls:``}].map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.v),className:`rounded px-3 py-1 text-[12px] transition-colors ${n.cls} ${e===n.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:n.label},n.v))})}function bJ({value:e,onChange:t}){return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:!1,label:`Off`},{v:!0,label:`On`}].map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.v),className:`rounded px-3 py-1 text-[12px] transition-colors ${e===n.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:n.label},n.label))})}function xJ(){let{compactDiffs:e}=Yd(Xy);return(0,B.jsx)(bJ,{value:e,onChange:e=>Xy.compactDiffs=e})}function SJ(){let{stickyUserMessage:e}=Yd(Xy);return(0,B.jsx)(bJ,{value:e,onChange:e=>Xy.stickyUserMessage=e})}function CJ(){let{queueOrder:e}=Yd(Xy);return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:`fifo`,label:`Oldest first`},{v:`lifo`,label:`Newest first`}].map(t=>(0,B.jsx)(`button`,{onClick:()=>Xy.queueOrder=t.v,className:`rounded px-3 py-1 text-[12px] transition-colors ${e===t.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:t.label},t.v))})}function wJ({perm:e}){return e===`denied`?(0,B.jsx)(EJ,{}):(0,B.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:{granted:`Browser permission granted — notifications fire when the window is hidden.`,default:`Browser permission not yet granted — notifications won't fire until you allow them.`,unsupported:`This browser does not support desktop notifications.`}[e]})}function TJ(){let e=typeof navigator<`u`?navigator.userAgent:``;return/Firefox\//.test(e)?`firefox`:/Edg\//.test(e)?`edge`:/OPR\/|Brave\//.test(e)?`other`:/Chrome\//.test(e)?`chrome`:/Safari\//.test(e)?`safari`:`other`}function EJ(){let e=(0,z.useMemo)(TJ,[]),t=typeof location<`u`?location.origin:``,n=`${e===`edge`?`edge`:`chrome`}://settings/content/siteDetails?site=${encodeURIComponent(t)}`;return(0,B.jsxs)(`div`,{className:`flex flex-col gap-1 text-[11px] text-muted/70`,children:[(0,B.jsx)(`span`,{children:`Notifications are blocked for this site. Re-enable them in your browser, then reload.`}),e===`chrome`||e===`edge`?(0,B.jsx)(OJ,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,B.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,DJ(t),`, then reload.`]}):e===`firefox`?(0,B.jsx)(`span`,{children:`Firefox → Settings → Privacy & Security → Permissions → Notifications → Settings → allow this site.`}):(0,B.jsx)(`span`,{children:`Open this site's notification permission in your browser's settings and set it to Allow.`})]})}function DJ(e){try{return new URL(e).host}catch{return e}}function OJ({url:e,hint:t}){let[n,r]=(0,z.useState)(!1);async function i(){try{await navigator.clipboard.writeText(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}}return(0,B.jsxs)(`span`,{className:`flex w-full flex-col gap-1`,children:[(0,B.jsx)(`span`,{children:t}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,B.jsx)(`code`,{className:`min-w-0 flex-1 font-mono-keep select-all rounded border border-border bg-bg px-1.5 py-0.5 text-[10.5px] text-fg/90 break-all`,children:e}),(0,B.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Copy address`,className:`shrink-0 rounded border border-border p-1 text-muted hover:bg-panel-2 hover:text-fg transition-colors`,children:n?(0,B.jsx)(Av,{size:11,className:`text-live`}):(0,B.jsx)(Bv,{size:11})})]})]})}var kJ=1,AJ=.9,jJ=.8,MJ=.17,NJ=.1,PJ=.999,FJ=.9999,IJ=.99,LJ=/[\\\/_+.#"@\[\(\{&]/,RJ=/[\\\/_+.#"@\[\(\{&]/g,zJ=/[\s-]/,BJ=/[\s-]/g;function VJ(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?kJ:IJ;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=VJ(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=kJ:LJ.test(e.charAt(l-1))?(d*=jJ,p=e.slice(i,l-1).match(RJ),p&&i>0&&(d*=PJ**+p.length)):zJ.test(e.charAt(l-1))?(d*=AJ,m=e.slice(i,l-1).match(BJ),m&&i>0&&(d*=PJ**+m.length)):(d*=MJ,i>0&&(d*=PJ**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=FJ)),(d<NJ&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=VJ(e,t,n,r,l+1,a+2,o),f*NJ>d&&(d=f*NJ)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function HJ(e){return e.toLowerCase().replace(BJ,` `)}function UJ(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,VJ(e,t,HJ(e),HJ(t),0,0,{})}var WJ=`[cmdk-group=""]`,GJ=`[cmdk-group-items=""]`,KJ=`[cmdk-group-heading=""]`,qJ=`[cmdk-item=""]`,JJ=`${qJ}:not([aria-disabled="true"])`,YJ=`cmdk-item-select`,XJ=`data-value`,ZJ=(e,t,n)=>UJ(e,t,n),QJ=z.createContext(void 0),$J=()=>z.useContext(QJ),eY=z.createContext(void 0),tY=()=>z.useContext(eY),nY=z.createContext(void 0),rY=z.forwardRef((e,t)=>{let n=_Y(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=_Y(()=>new Set),i=_Y(()=>new Map),a=_Y(()=>new Map),o=_Y(()=>new Set),s=hY(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=NS(),y=NS(),b=NS(),x=z.useRef(null),S=bY();gY(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),gY(()=>{S(6,ee)},[]);let C=z.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)O(),E(),S(1,D);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(S(7,()=>{n.current.selectedItemId=k()?.id,C.emit()}),r||S(5,ee),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}C.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),w=z.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,T(t,r)),S(2,()=>{E(),C.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),S(3,()=>{O(),E(),n.current.value||D(),C.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=k();S(4,()=>{O(),t?.getAttribute(`id`)===e&&D(),C.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function T(e,t){let r=s.current?.filter??ZJ;return e?r(e,n.current.search,t):0}function E(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;A().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(GJ);t?t.appendChild(e.parentElement===t?e:e.closest(`${GJ} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${GJ} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${WJ}[${XJ}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=A().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(XJ);C.setState(`value`,e||void 0)}function O(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=T(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function ee(){var e;let t=k();t&&(t.parentElement?.firstChild===t&&((e=t.closest(WJ)?.querySelector(KJ))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function k(){return x.current?.querySelector(`${qJ}[aria-selected="true"]`)}function A(){return Array.from(x.current?.querySelectorAll(JJ)||[])}function j(e){let t=A()[e];t&&C.setState(`value`,t.getAttribute(XJ))}function M(e){var t;let n=k(),r=A(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&C.setState(`value`,a.getAttribute(XJ))}function N(e){let t=k()?.closest(WJ),n;for(;t&&!n;)t=e>0?pY(t,WJ):mY(t,WJ),n=t?.querySelector(JJ);n?C.setState(`value`,n.getAttribute(XJ)):M(e)}let te=()=>j(A().length-1),P=e=>{e.preventDefault(),e.metaKey?te():e.altKey?N(1):M(1)},ne=e=>{e.preventDefault(),e.metaKey?j(0):e.altKey?N(-1):M(-1)};return z.createElement(Gx.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&P(e);break;case`ArrowDown`:P(e);break;case`p`:case`k`:g&&e.ctrlKey&&ne(e);break;case`ArrowUp`:ne(e);break;case`Home`:e.preventDefault(),j(0);break;case`End`:e.preventDefault(),te();break;case`Enter`:{e.preventDefault();let t=k();if(t){let e=new Event(YJ);t.dispatchEvent(e)}}}}},z.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:CY},c),SY(e,e=>z.createElement(eY.Provider,{value:C},z.createElement(QJ.Provider,{value:w},e))))}),iY=z.forwardRef((e,t)=>{let n=NS(),r=z.useRef(null),i=z.useContext(nY),a=$J(),o=hY(e),s=o.current?.forceMount??i?.forceMount;gY(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=yY(n,r,[e.value,e.children,r],e.keywords),l=tY(),u=vY(e=>e.value&&e.value===c.current),d=vY(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);z.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(YJ,f),()=>t.removeEventListener(YJ,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return z.createElement(Gx.div,{ref:bx(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),aY=z.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=NS(),s=z.useRef(null),c=z.useRef(null),l=NS(),u=$J(),d=vY(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);gY(()=>u.group(o),[]),yY(o,s,[e.value,e.heading,c]);let f=z.useMemo(()=>({id:o,forceMount:i}),[i]);return z.createElement(Gx.div,{ref:bx(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&z.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),SY(e,e=>z.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},z.createElement(nY.Provider,{value:f},e))))}),oY=z.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=z.useRef(null),a=vY(e=>!e.search);return!n&&!a?null:z.createElement(Gx.div,{ref:bx(i,t),...r,"cmdk-separator":``,role:`separator`})}),sY=z.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=tY(),o=vY(e=>e.search),s=vY(e=>e.selectedItemId),c=$J();return z.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),z.createElement(Gx.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),cY=z.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=z.useRef(null),o=z.useRef(null),s=vY(e=>e.selectedItemId),c=$J();return z.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),z.createElement(Gx.div,{ref:bx(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},SY(e,e=>z.createElement(`div`,{ref:bx(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),lY=z.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return z.createElement(tA,{open:n,onOpenChange:r},z.createElement(sA,{container:o},z.createElement(lA,{"cmdk-overlay":``,className:i}),z.createElement(pA,{"aria-label":e.label,"cmdk-dialog":``,className:a},z.createElement(rY,{ref:t,...s}))))}),uY=z.forwardRef((e,t)=>vY(e=>e.filtered.count===0)?z.createElement(Gx.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),dY=z.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return z.createElement(Gx.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},SY(e,e=>z.createElement(`div`,{"aria-hidden":!0},e)))}),fY=Object.assign(rY,{List:cY,Item:iY,Input:sY,Group:aY,Separator:oY,Dialog:lY,Empty:uY,Loading:dY});function pY(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function mY(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function hY(e){let t=z.useRef(e);return gY(()=>{t.current=e}),t}var gY=typeof window>`u`?z.useEffect:z.useLayoutEffect;function _Y(e){let t=z.useRef();return t.current===void 0&&(t.current=e()),t}function vY(e){let t=tY(),n=()=>e(t.snapshot());return z.useSyncExternalStore(t.subscribe,n,n)}function yY(e,t,n,r=[]){let i=z.useRef(),a=$J();return gY(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(XJ,s),i.current=s}),i}var bY=()=>{let[e,t]=z.useState(),n=_Y(()=>new Map);return gY(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function xY(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function SY({asChild:e,children:t},n){return e&&z.isValidElement(t)?z.cloneElement(xY(t),{ref:t.ref},n(t.props.children)):n(t)}var CY={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function wY(){let e=Yd(Y),t=J_(),[n,r]=(0,z.useState)(``);if((0,z.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=fb(X_(t?.threads??[])),a=e.drawers.length?[...e.drawers].reverse().find(e=>e.kind===`thread`)?.slug:void 0,o=t?.threads.find(e=>e.id===a);function s(){Y.showPalette=!1}function c(e){e(),s()}function l(e){cg(e)}return(0,B.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center bg-black/50 pt-[12vh]`,onMouseDown:e=>e.target===e.currentTarget&&s(),children:(0,B.jsxs)(fY,{label:`Command palette`,className:`w-[560px] max-w-[92vw] rounded-lg border border-border bg-panel shadow-2xl overflow-hidden`,filter:(e,t,n)=>+!!e.toLowerCase().includes(t.toLowerCase()),children:[(0,B.jsx)(fY.Input,{autoFocus:!0,value:n,onValueChange:r,placeholder:`Jump to a thread or run a command…`,className:`w-full px-4 h-12 bg-transparent outline-none border-b border-border text-sm placeholder:text-muted`}),(0,B.jsxs)(fY.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,B.jsx)(fY.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,B.jsxs)(fY.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,B.jsx)(TY,{value:`new thread create home`,onSelect:()=>c(()=>Xh()),children:`New thread`}),(0,B.jsx)(TY,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{gg(Y.drawers.map(e=>e.id)),Y.view=`todos`}),children:`Queue`}),(0,B.jsx)(TY,{value:`open settings preferences`,onSelect:()=>c(()=>Y.showSettings=!0),children:`Open settings`}),o&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(TY,{value:`open details drawer doc ${eb(o)}`,onSelect:()=>c(()=>{let e=_g();e&&ag(`doc`,e)}),children:`Open thread details`}),(0,B.jsxs)(TY,{value:`mark complete done ${eb(o)}`,onSelect:()=>c(()=>Z.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,eb(o),`” complete`]}),(0,B.jsxs)(TY,{value:`mark read ${eb(o)}`,onSelect:()=>c(()=>Z.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,eb(o),`” read`]})]})]}),i.length>0&&(0,B.jsx)(fY.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,B.jsxs)(TY,{value:`${eb(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,B.jsx)(`span`,{className:`truncate`,children:eb(e)}),(0,B.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function TY({value:e,onSelect:t,children:n}){return(0,B.jsx)(fY.Item,{value:e,onSelect:t,className:`mx-1.5 px-2.5 py-1.5 rounded flex items-center gap-2 text-sm cursor-pointer data-[selected=true]:bg-panel-2 data-[selected=true]:text-fg text-muted`,children:n})}var EY={planning:`Being designed`,planned:`Roadmap`,active:`Active`,"needs-human":`Awaiting you`,blocked:`Blocked`,done:`Done`,dismissed:`Dismissed`,archived:`Done`};function DY({status:e}){let t=fb(X_(J_()?.threads??[])).filter(t=>e===`archived`?t.archived:t.status===e);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`header`,{className:`shrink-0 flex items-center gap-2 px-4 h-10 border-b border-border`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:EY[e]??e}),(0,B.jsx)(`span`,{className:`text-[11px] text-muted tabular-nums`,children:t.length})]}),(0,B.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto py-1.5`,children:[t.length===0&&(0,B.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted`,children:`No threads.`}),t.map(e=>(0,B.jsxs)(`button`,{className:`w-full text-left px-4 py-2 hover:bg-panel-2/60`,onClick:()=>ag(`thread`,e.id),children:[(0,B.jsx)(`div`,{className:`leading-snug`,children:eb(e)}),e.statusText&&(0,B.jsx)(`div`,{className:`text-[11px] text-muted mt-0.5`,children:e.statusText})]},e.id))]})]})}var OY=`Updating and restarting Fray`,kY=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`;function AY(e){if(e.key===`Tab`||e.key===`Enter`)return!0;if(e.metaKey||e.ctrlKey){let t=e.key.toLowerCase();if(t===`k`||t===`i`)return!0}return!1}function jY({open:e,message:t}){let n=(0,z.useRef)(null);if((0,z.useEffect)(()=>{if(!e)return;let t=document.activeElement;t instanceof HTMLElement&&t.blur(),n.current?.focus({preventScroll:!0});let r=e=>{AY(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,r,{capture:!0}),()=>window.removeEventListener(`keydown`,r,{capture:!0})},[e]),!e)return null;let r=t?.trim()?t.trim():null;return(0,B.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":OY,className:`fixed inset-0 z-[300] flex items-center justify-center bg-black/55 px-4 backdrop-blur-md backdrop-saturate-150`,children:(0,B.jsxs)(`div`,{ref:n,tabIndex:-1,className:`w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-border-strong bg-elevated p-6 text-center shadow-2xl shadow-black/60 outline-none`,children:[(0,B.jsx)(`span`,{className:`mx-auto flex h-11 w-11 items-center justify-center rounded-full bg-fg/10 text-fg`,children:(0,B.jsx)(dy,{size:20,strokeWidth:2.25,className:`animate-spin`,"aria-hidden":`true`})}),(0,B.jsx)(`h2`,{className:`mt-4 text-[15px] font-semibold tracking-[-0.01em] text-fg`,children:OY}),(0,B.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:kY}),r&&(0,B.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:r})]})})}function MY(){let e=Yd(Y),t=e.toast,[n,r]=(0,z.useState)(!1),i=e.drawers.some(e=>!e.closing);return(0,z.useEffect)(()=>{if(!t||(r(!0),t.sticky))return;let e=setTimeout(()=>r(!1),t.duration??(t.link?5e3:1600));return()=>clearTimeout(e)},[t?.id]),t?(0,B.jsx)(`div`,{className:`pointer-events-none fixed right-4 z-[70] flex justify-end ${i?`bottom-20`:`bottom-4`}`,children:(0,B.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex items-center gap-2.5 rounded-lg border border-border-strong bg-elevated px-4 py-2 text-[13px] font-medium text-fg shadow-xl shadow-black/40 transition-all duration-200 ease-out ${n?`translate-y-0 opacity-100`:`translate-y-8 opacity-0`}`,children:[t.spinner&&(0,B.jsx)(iy,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,B.jsx)(`button`,{onClick:()=>{ag(`thread`,t.link.slug),Y.toast=null},className:`pointer-events-auto rounded-md border border-border px-2 py-0.5 text-[12px] text-fg/90 transition-colors hover:bg-panel-2`,children:t.link.label})]})}):null}var NY=`fray:reload-after-update-restart`,PY=!1;function FY(){PY||(PY=!0,X("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function IY(){let e=Yd(Y),t=(0,z.useRef)({projectDir:null,hasBeenVisible:!1});(0,z.useEffect)(()=>{Z.board().then(yg).catch(()=>{})},[]),(0,z.useEffect)(()=>pv(),[]),(0,z.useEffect)(()=>{let e=!0,t,n=null,r=!1,i=async()=>{if(r)return;r=!0;let a=await oI();if(!e){r=!1;return}if(a){Y.controlPlaneRestartPending?a.state!==`ready`&&(Y.controlPlaneRestartPending=!1,Y.controlPlaneState=a.state,Y.controlPlaneMessage=a.message??null):(Y.controlPlaneState=a.state,Y.controlPlaneMessage=a.message??null);let e=sessionStorage.getItem(NY);if(a.state===`ready`&&e&&!Y.controlPlaneRestartPending){sessionStorage.removeItem(NY),window.location.replace(e),r=!1;return}a.state===`failed`&&e&&(sessionStorage.removeItem(NY),n!==a.message&&(n=a.message??`Update & Restart failed`,X(`Update & Restart failed: ${n}`,{duration:7e3})))}r=!1,t=setTimeout(i,Y.controlPlaneState===`restarting`?500:8e3)},a=()=>{t&&clearTimeout(t),i()};return window.addEventListener(rI,a),i(),()=>{e=!1,window.removeEventListener(rI,a),t&&clearTimeout(t)}},[]);let n=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,z.useEffect)(()=>{if(!n)return;let e=window.scrollY,t=document.body;return t.style.position=`fixed`,t.style.top=`-${e}px`,t.style.left=`0`,t.style.right=`0`,t.style.width=`100%`,()=>{t.style.position=``,t.style.top=``,t.style.left=``,t.style.right=``,t.style.width=``,window.scrollTo(0,e)}},[n]);let r=td({queryKey:[`settingsGet`],queryFn:()=>Z.settingsGet()});(0,z.useEffect)(()=>{Y.notificationsEnabled=r.data?.notifications??!1},[r.data?.notifications]);let i=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()});(0,z.useEffect)(()=>{i.data?.inRepo&&!i.data.authed&&FY()},[i.data?.inRepo,i.data?.authed]),(0,z.useEffect)(()=>{function e(e){if(e.target instanceof Element&&e.target.closest(`.xterm`)||!(e.metaKey||e.ctrlKey))return;let t=e.key.toLowerCase();if(t===`k`)e.preventDefault(),Y.showPalette=!Y.showPalette;else if(t===`i`){let t=pg(),n=_g();t?.kind===`doc`?(e.preventDefault(),Gh(t.id)||Y.drawers.pop()):n&&(e.preventDefault(),ag(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let a=J_();t.current=mv(t.current,a);let o=a!==null&&t.current.hasBeenVisible,s=nP(a),c=a?.projectLabel??a?.projectName;return(0,z.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?c??`fray`:c?`fray · ${c}`:`fray`},[c]),(0,B.jsxs)(nN,{children:[(0,B.jsx)(jY,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage}),(0,B.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[(0,B.jsx)(gI,{identity:s,connection:e.connection,boardFallback:e.socketBoardFallback}),(0,B.jsxs)(`div`,{className:`flex min-h-screen justify-center gap-13 max-[800px]:flex-col max-[800px]:justify-start max-[800px]:gap-0 max-[800px]:px-3`,children:[o&&(0,B.jsx)(pq,{label:`the sidebar`,children:(0,B.jsx)(FN,{})}),(0,B.jsx)(`main`,{id:`workpane`,className:`w-[720px] max-w-[62vw] min-w-0 flex flex-col py-5 max-[800px]:w-full max-[800px]:max-w-none ${e.view===`todos`||!a?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:a?(0,B.jsxs)(pq,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,B.jsx)(DY,{status:e.view.slice(7)}),e.view===`todos`&&(0,B.jsx)(Aq,{})]}):(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})})]}),(0,B.jsx)(yq,{}),e.showSettings&&(0,B.jsx)(dJ,{}),e.showNewThread&&(0,B.jsx)(uM,{onClose:()=>{Y.showNewThread=!1,Y.newThreadPlanPath=null}}),e.showGithubPicker&&(0,B.jsx)(Vq,{onClose:Qh}),(0,B.jsx)(wY,{}),(0,B.jsx)(MY,{})]})]})}function LY({slug:e}){let t=J_(),n=AI(t,e),r=n.kind===`found`?n.thread:void 0,i=t?.projectDir,a=i?`${i}\0${e}`:void 0,o=(0,z.useRef)(void 0),s=EI(a,r?{scratch:!!r.scratchpadPath}:void 0,o.current);o.current=s.remembered;let c=(0,z.useRef)(i&&r?a??null:null),[l,u]=(0,z.useState)(()=>i&&r?OI(i,e):`chat`),d=TI(c.current===a?l:`chat`,s.capabilities);(0,z.useEffect)(()=>{Z.board().then(yg).catch(()=>{})},[]),(0,z.useEffect)(()=>{!i||!a||!s.authoritative||c.current!==a&&(c.current=a,u(OI(i,e)))},[i,s.authoritative,a,e]);let f=(0,z.useCallback)(t=>{i&&kI(i,e,t),u(t)},[i,e]),p=r?.runtime===`turn-idle`||r?.runtime===`exited`||r?.runtime===`none`;return(0,z.useEffect)(()=>{!r||!p||Z.threadSeen({slug:e}).catch(()=>{})},[p,e,r?.lastActivityAt]),(0,z.useEffect)(()=>{let n=t?.projectLabel??t?.projectName,i=r?eb(r):e;document.title=n?`${i} · ${n} | Fray`:`${i} · Fray`},[t?.projectLabel,t?.projectName,e,r]),(0,B.jsx)(nN,{children:(0,B.jsxs)(`div`,{className:`h-dvh min-h-0 bg-bg px-0 text-sm text-fg sm:px-5`,children:[(0,B.jsx)(`main`,{"data-standalone-thread":!0,className:`mx-auto flex h-full w-full max-w-[900px] min-w-0 flex-col overflow-hidden border-border bg-panel sm:border-x`,children:n.kind===`loading`?(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,role:`status`,"aria-label":`Loading thread`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 animate-spin rounded-full border-2 border-muted/50 border-t-transparent`})}):n.kind===`missing`?(0,B.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h1`,{className:`font-medium text-fg`,children:`Thread unavailable`}),(0,B.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Thread “`,e,`” was not found in this project.`]})]}),(0,B.jsx)(`a`,{href:`/`,className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:`Return to queue`})]}):(0,B.jsx)(SG,{slug:e,tab:d,onTab:f,virtualized:!0,showReturnToQueue:!0})}),(0,B.jsx)(yq,{}),(0,B.jsx)(MY,{})]})})}var RY=24,zY=6,BY=700,VY=new Map,HY=null,UY=null;function WY(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function GY(e){return Y.board?.threads.find(t=>t.id===e)?.lastActivityAt}function KY(){let e=[...VY.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of VY){if(n.observers<=0){n.live&&(n.live=!1,G_(e)),VY.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,G_(e)))}qY()}function qY(){UY||[...VY.values()].some(e=>e.queued)&&(UY=setTimeout(()=>{UY=null;let e=0,t=[...VY.values()].filter(e=>e.live).length;for(let[n,r]of VY){if(e>=zY||t>=RY)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=GY(n),W_(n),e++))}qY()},BY))}function JY(){if(HY)for(let[e,t]of VY){if(t.observers<=0)continue;let n=GY(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&Y.socketTranscripts)&&(Y.socketTranscriptFallbacks[e]||HY.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function YY(e){HY||(HY=e,e.getQueryCache().subscribe(e=>{let t=WY(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=VY.get(t);e.type===`observerAdded`?(VY.delete(t),VY.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:GY(t)})):r&&(r.observers=n),KY()}),Kd(Y,JY))}var XY=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,ZY=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function QY(e){let t=e===`sans`?`sans`:`mono`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?ZY:XY);try{localStorage.setItem(`fray-font`,t)}catch{}}function $Y(e){QY(e.getQueryData([`settingsGet`])?.font),Z.settingsGet().then(e=>QY(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&QY(t.font)})}function eX(){let e=e=>{if(e.button!==0||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`[data-local-path]`):null,n=t?.dataset.localPath;!t||!n||(e.preventDefault(),e.stopPropagation(),tX(n,t.dataset.localImage===`true`))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}async function tX(e,t){try{let n=await Z.openLocalFile({path:e,...t?{image:!0}:{}});n.action===`copy`&&(await navigator.clipboard.writeText(n.path),X(`Copied local path`))}catch(e){X(`Could not open local file: ${e.message.slice(0,100)}`)}}var nX=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function rX(){let e=e=>{if(e.button!==0||e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target instanceof Element?e.target.closest(`a[href^="/thread/"]`):null,n=t?.getAttribute(`href`);if(!t||!n)return;let r=nX.exec(n);r&&(e.preventDefault(),e.stopPropagation(),cg(r[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var iX=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),aX=typeof window<`u`?wW(window.location.pathname):null;!iX&&!aX&&fv();var oX=new Iu({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});iX||(q_(oX),YY(oX),$Y(oX),zU(),eX(),rX()),iX||(0,rd.createRoot)(document.getElementById(`root`)).render((0,B.jsx)(Vu,{client:oX,children:(0,B.jsx)(_q,{children:aX?(0,B.jsx)(LY,{slug:aX}):(0,B.jsx)(IY,{})})}));export{Ru as n,Cl as r,bj as t};
|
|
348
|
+
`)}`}function rH(e,t,n,r={}){let i=r.multiMessage===!0,a=kN(e),[o,s]=(0,z.useState)({}),c=(0,z.useMemo)(()=>tH(t,i),[t,i]),l=(0,z.useMemo)(()=>{for(let e=t.length-1;e>=0;e--)if(!(t[e].kind===`event`||t[e].kind===`reasoning`)&&t[e].role===`assistant`&&t[e].text.trim())return t[e]},[t]),u=c.length>0,d=aM(),f=oM(e),p=(0,z.useCallback)((t,n)=>iM.answer(d,e,f,t,n),[d,e,f]),m=(0,z.useMemo)(()=>c.flatMap(e=>e.blocks.map((t,n)=>p(e.identity,n))),[c,p]),h=cM(m),g=(0,z.useRef)(n);g.current=n;let _=(0,z.useCallback)((e,t)=>({...o[`${e}::${t}`]??{chosen:null,text:``},text:h.get(p(e,t))??``}),[o,h,p]),v=(0,z.useMemo)(()=>{let e=new Map;for(let t of c)e.set(t.identity,t);return e},[c]),y=(0,z.useCallback)((e,t,n)=>{let r=v.get(e)?.blocks[t],i=`${e}::${t}`;r?.kind!==`multi`&&nM.clear(p(e,t)),s(e=>{let t=e[i]??{chosen:null,text:``};if(r?.kind===`multi`){let r=new Set(t.chosenSet??[]);return r.has(n)?r.delete(n):r.add(n),{...e,[i]:{chosen:null,text:t.text,chosenSet:[...r].sort((e,t)=>e-t)}}}return{...e,[i]:{chosen:t.chosen===n?null:n,text:``}}})},[v,p]),b=(0,z.useCallback)((e,t,n)=>{let r=v.get(e)?.blocks[t];nM.set(p(e,t),n),s(i=>{let a=`${e}::${t}`,o=i[a]??{chosen:null,text:``};return r?.kind===`multi`?{...i,[a]:{chosen:null,text:n,chosenSet:o.chosenSet??[]}}:{...i,[a]:{chosen:null,text:n}}})},[v,p]),x=c.some(e=>e.blocks.some((t,n)=>hV(t,_(e.identity,n))!==``)),S=r.scrollToBottom!==!1,C=(0,z.useCallback)((e,t={})=>{a.submit(e,{...t,scrollToBottom:S})&&g.current?.()},[a,S]),w=(0,z.useCallback)(e=>{let t=typeof e==`string`?e:void 0,n=t?c.filter(e=>e.identity===t):c,r=t?n.flatMap(e=>e.blocks.map((t,n)=>p(e.identity,n))):m,i=n.flatMap(e=>e.blocks.map((t,n)=>`${e.identity}::${n}`)),a=(e,t)=>hV(e.blocks[t],_(e.identity,t)),l=n.flatMap(e=>e.blocks.map((t,n)=>({ask:e,bi:n,question:aH(t),answer:a(e,n)})).filter(e=>e.answer!==``));if(l.length===0)return;let u=n.find(e=>e.isLive),d=nH({answered:l.map(e=>({isLive:e.ask.isLive,question:e.question,answer:e.answer})),live:u&&{blockCount:u.blocks.length,numbered:u.blocks.map((e,t)=>({n:t+1,a:a(u,t)})).filter(({a:e})=>e!==``)}}),f=o,h=r.map(e=>[e,nM.get(e)]);C(d,{onOptimistic:()=>{r.forEach(e=>nM.clear(e)),s(e=>{let t={...e};for(let e of i)delete t[e];return t})},onRollback:()=>{s(e=>{let t={...e};for(let e of i)f[e]?t[e]=f[e]:delete t[e];return t}),h.forEach(([e,t])=>{t&&!nM.get(e)&&nM.set(e,t)})}})},[o,c,_,C,m,p]),T=(0,z.useCallback)(e=>{let t=v.get(eH(e));if(t)return{answerFor:e=>_(t.identity,e),onChip:(e,n)=>y(t.identity,e,n),onText:(e,n)=>b(t.identity,e,n),onSubmit:()=>w(t.identity),anyAnswered:t.blocks.some((e,n)=>hV(e,_(t.identity,n))!==``),sending:a.pending}},[v,_,y,b,w,a.pending]);return{liveMsg:l,answering:(0,z.useMemo)(()=>l?T(l):void 0,[l,T]),answeringForMessage:T,answerable:u,anyAnswered:x,sending:a.pending,sendAnswers:w,sendMessage:C}}function iH(e){let t=e.split(`
|
|
349
|
+
`).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>120?`${t.slice(0,117)}…`:t}function aH(e){return iH(e.contextMd)||iH(e.options.join(` / `))||`earlier question`}function oH(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0).toString(36)}function sH(e){return(0,z.useSyncExternalStore)(e=>Kd(Y,e),()=>e?cH(e)!==`codex`:!1,()=>!1)}function cH(e){return xg(Y.board,e)?.backend}function lH(e,t,n,r){let i=iM.followUp(e,t,n),a=nM.get(i),o=a?`${r}\n\n${a}`:r;return nM.set(i,o),i}function uH(e){if(!(typeof document>`u`)){for(let t=e;t;t=t.parentElement){let e=t.querySelector(`[data-thread-composer-box] textarea`);if(e){e.focus(),e.setSelectionRange(e.value.length,e.value.length);return}}document.getElementById(`followup-input`)?.focus()}}function dH(e){let t=Bu(),n=aM(),[r,i]=(0,z.useState)(!1);return{unqueue:(0,z.useCallback)(a=>{if(!e||r)return;let o=xg(Y.board,e)?.sessionId;if(!o){X(`This thread has no live session to unqueue from`);return}i(!0),Z.unqueueFollowUp({slug:e,sessionId:o,deliveryId:a.deliveryId}).then(r=>{if(i(!1),!r.unqueued){X(r.reason??`That message could not be taken back`);return}cv(t,e,a.rawText,a.deliveryId),lH(n,e,o,a.text),uH(a.from)},e=>{i(!1),X(`Couldn't unqueue — ${(e instanceof Error?e.message:String(e)).slice(0,90)}`)})},[r,n,t,e]),pending:r}}function fH(e){let t=e.trim();return!t||t.length>1024||/\s/.test(t)||/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?!1:t===`~`||t.startsWith(`~/`)||t.startsWith(`/`)||t.includes(`/`)}var pH=new Map,mH=128;async function hH(e){let t=[...new Set(e)].filter(e=>!pH.has(e));if(!t.length)return!1;let n=[];for(let e=0;e<t.length;e+=mH)n.push(t.slice(e,e+mH));let r=await Promise.all(n.map(async e=>{try{return(await Z.resolveLocalPaths({paths:e})).resolved}catch{return e.map(e=>({input:e,path:null}))}})),i=!1;for(let e of r)for(let t of e)pH.has(t.input)||(pH.set(t.input,t.path),i=!0);return i}function gH(e,t){e.setAttribute(`data-local-path`,t),e.setAttribute(`title`,`Open ${t}`),e.classList.add(`local-file-code`)}function _H(e,t){let[n,r]=(0,z.useState)(0);(0,z.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=[];for(let e of t.querySelectorAll(`code`)){if(e.closest(`pre`))continue;let t=(e.textContent??``).trim();if(!fH(t))continue;let r=pH.get(t);r===void 0?n.push(t):r&&gH(e,r)}n.length&&hH(n).then(e=>{e&&r(e=>e+1)})},[e,t,n])}function vH(e){return e.displayText??e.text}function yH(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`&&!n.queued&&!n.peerFrom)return t}return-1}var bH=`Snooze`;function xH(e,t=Date.now()){let n=`This will dismiss the card from the queue until`,r=e.flatMap(e=>e.kind===`timer`?[oh(e.value)]:[]).find(e=>e!==null&&Date.parse(e)>t);return e.some(e=>e.kind===`pr-watch`)?{title:`PR watcher armed`,explainer:`${n} PR activity is detected${r?`, or until ${SH(Ry(r,t))}`:``}.`,toastVerb:`Watcher armed`,timerUntil:r??null}:r?{title:`Scheduled snooze`,explainer:`${n} ${SH(Ry(r,t))}.`,toastVerb:`Snoozed`,timerUntil:r}:e.some(e=>e.kind===`human`)?{title:`Awaiting human`,explainer:`${n} your default snooze elapses.`,toastVerb:`Snoozed`,timerUntil:null}:null}function SH(e){return e.replace(/^(Today|Tomorrow)/,e=>e.toLowerCase())}function CH(e,t=Date.now()){if(e.some(e=>e.kind===`pr-watch`))return null;let n=e.find(e=>e.kind===`timer`&&ah(e.value)),r=n&&Date.parse(n.value)>t?n:void 0;if(r)return`Snooze until ${SH(Ry(r.value,t))}`;let i=e.find(e=>e.kind===`human`);if(i)return`Wait for ${i.value}`;if(n)return`Scheduled for ${SH(Ry(n.value,t))}`;if(e.some(e=>e.kind===`timer`))return`Snooze schedule unavailable`;let a=e.find(e=>e.kind===`pr`||e.kind===`ci`||e.kind===`session`);return a?a.kind===`pr`?`Wait for PR ${a.value}`:a.kind===`ci`?`Wait for CI ${a.value}`:`Wait for session ${a.value}`:null}function wH(e,t){let n=e.trim();return n?t?`${n}${/[.!?…][*_~`"')\]]*$/.test(n)?` `:` — `}${t}`:n:t??`Waiting for an external update.`}var TH=new Set([`planning`,`planned`,`active`,`needs-human`,`blocked`]);function EH(e){return!!(e&&e.kind===`legacy`&&!e.foreign&&e.runtime===`none`&&!e.sessionId&&!e.tmuxName&&!e.owner&&e.agents.length===0&&e.errors.length===0&&TH.has(e.status))}function DH(e,t){let n=e.trim();if(!(!n||n===t.trim()))return n}function OH(e,t){let n=e.trim();return!n||n===t||n===`Untitled thread`||n===`Spinning up a thread…`?``:n}function kH(e){return e.kind!==`session`||e.foreign||e.backend===`codex`?{show:!1,enabled:!1,label:``}:e.runtime===`turn-idle`?{show:!0,enabled:!0,label:`Rename with Claude`}:e.runtime===`perm-prompt`||e.pendingAsk||e.nativeInputRequired?{show:!0,enabled:!1,label:`Resolve Claude's terminal prompt before renaming`}:e.runtime===`running`||e.runtime===`spawning`?{show:!0,enabled:!1,label:`Rename with Claude when the current turn finishes`}:{show:!0,enabled:!1,label:`Resume this Claude thread to use AI rename`}}var AH=`sticky top-0 z-10 flex min-w-0 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-3 py-1.5 min-h-12 max-[640px]:flex-wrap max-[640px]:items-start max-[640px]:gap-y-2 max-[640px]:px-4 max-[640px]:py-2.5`,jH=`min-w-0 flex-1 pl-1 max-[640px]:basis-full`,MH=`flex shrink-0 items-center max-[640px]:w-full max-[640px]:justify-between`;function NH(e){return e?.trim()?{kind:`profile-error`,message:`Profile controls unavailable: ${e.trim().slice(0,160)}`}:null}function PH(e){return e.permissionChangePending===!0||e.permissionPending!==void 0||e.profileChangePending===!0||e.runtimeControlPending===!0}function FH(e,t,n,r){let i=e.find(e=>e.model===t),a=!!i,o=!!(i&&n&&i.efforts.includes(n)),s=a&&o;return{selectedProfile:i,modelKnown:a,effortKnown:o,profileKnown:s,modelSelectable:r||a,effortSelectable:!!i&&(r||s)}}function IH(e){let t=Yd(Y).board?.threads.find(t=>t.id===e),n=td({queryKey:[`threadProfileOptions`,e],queryFn:()=>Z.threadProfileOptions({slug:e}),enabled:!!(t&&!t.foreign&&t.kind===`session`),staleTime:5e3}),r=nd({mutationFn:t=>Z.setThreadProfile({slug:e,...t})}),i=r.isPending;if(!t||t.foreign||t.kind!==`session`)return{busy:i,footer:null,status:null};let a=i||PH(t),o=t.model?.trim(),s=t.effort?.trim(),c=t.backend===`codex`?`codex`:`claude`,l=r.isPending?r.variables:void 0,u=t.profilePendingModel??l?.model,d=t.profilePendingEffort??l?.effort,f=n.data?.options??[],{modelSelectable:p}=FH(f,o,s,t.runtime===`exited`),m=n.data!==void 0,h=[{id:c,label:c===`codex`?`Codex`:`Claude Code`,options:f}],g=NH(n.isError?n.error.message:void 0);function _(e){r.mutate(e,{onSuccess:e=>X(e.effect===`next-resume`?`Model and effort saved for the next resume`:`Model and effort applied`),onError:e=>X(`Profile change failed: ${e.message.slice(0,120)}`)})}return{busy:a,footer:(0,B.jsxs)(`div`,{"data-thread-composer-controls":!0,className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-0.5`,children:[(0,B.jsx)(pj,{groups:h,value:{provider:c,model:o,effort:s},pending:u||d?{provider:c,model:u,effort:d}:void 0,onValueChange:({model:e,effort:t})=>_({model:e,effort:t}),placeholder:n.isPending?`Profile loading…`:`Profile unknown`,ariaLabel:`Thread model and effort`,menuAriaLabel:`Choose ${c===`codex`?`Codex`:`Claude Code`} model and effort`,title:p?t.runtime===`exited`?`Saved per thread and applied when this conversation resumes`:`Change this idle conversation's model and reasoning effort`:`The current live backend profile is unavailable; controls fail closed`,disabled:a||!m||!p||n.isError,compact:!0,side:`top`,className:`min-w-0 max-w-[min(72%,20rem)] px-1.5 py-0.5`}),u&&d&&(0,B.jsxs)(`span`,{className:`min-w-0 truncate text-[9px] text-muted/50`,children:[`→ `,u,` · `,d,` pending`]})]}),status:g?(0,B.jsx)(`div`,{"data-thread-control-error":``,className:`px-1 pt-1 text-[9.5px] leading-tight text-muted/65`,children:g.message}):null}}function LH({slug:e,surface:t,placeholder:n,className:r,id:i,ops:a,submitOverride:o}){let s=Yd(Y).board?.threads.find(t=>t.id===e),c=aM(),l=iM.followUp(c,e,s?.sessionId),[u,d,f]=sM(l),p=IH(e),m=kN(e),[h,g]=(0,z.useState)(null),[_,v]=(0,z.useState)(null);function y(){let e=u.trim();if(!e)return;let t=gj(e);if(t){f();let e=s?.backend===`codex`?`codex`:`claude`;t===`login`?g(e):v(e);return}let n={onOptimistic:f,onRollback:()=>{nM.get(l)||d(u)}};o?o(e,n):m.submit(e,n)}return(0,B.jsxs)(`div`,{"data-thread-composer-box":t,...t===`chatComposer`?{"data-thread-action-bar":``}:{},className:r,children:[(0,B.jsx)(UA,{id:i,surface:t,value:u,onChange:d,onSubmit:y,placeholder:n,busy:p.busy,footer:p.footer}),p.status,a,h&&(0,B.jsx)(Sj,{backend:h,onClose:()=>g(null),onAuthed:()=>g(null)}),_&&(0,B.jsx)(Cj,{backend:_,onClose:()=>v(null)})]})}function RH({slug:e,ops:t}){let n=Yd(Y).board?.threads.find(t=>t.id===e);return n?n.foreign?(0,B.jsx)(`div`,{className:`shrink-0 px-4 py-3 text-[11.5px] text-muted/70`,children:`Read-only — running in an external terminal.`}):(0,B.jsx)(LH,{slug:e,surface:`chatComposer`,id:`followup-input`,placeholder:`Follow up…`,className:`shrink-0 px-3 py-3`,ops:t}):null}function zH({thread:e,onOpen:t,onDoc:n,onDone:r,onCollapse:i,collapsed:a,doneBusy:o,onStatusMutate:s,onStatusApplied:c,onStatusFailed:l}){let u=e.kind===`session`;return(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[i&&(0,B.jsx)(VH,{label:a?`Expand`:`Collapse`,icon:a?Pv:Nv,size:13,onClick:i}),n&&(0,B.jsx)(VH,{label:`Fray document`,icon:Wv,size:14,onClick:n}),t&&(0,B.jsx)(VH,{label:`Open thread`,icon:Tv,size:14,onClick:t}),u?Tb(e)?(0,B.jsx)(BH,{slug:e.id}):null:(0,B.jsx)(`div`,{className:`ml-1`,children:(0,B.jsx)(Yk,{slug:e.id,onDone:r,doneBusy:o,onMutateStart:s,onApplied:c,onFailed:l})})]})}function BH({slug:e}){let t=Bu(),[n,r]=(0,z.useState)(!1);return(0,B.jsx)(rN,{label:`Retry — resume this session where it left off`,children:(0,B.jsxs)(`button`,{onClick:()=>{r(!0),AN(t,e).finally(()=>r(!1))},disabled:n,"aria-label":`Retry exited session`,onMouseDown:e=>e.preventDefault(),className:`ml-1 flex items-center gap-1.5 rounded-md border border-accent/45 bg-accent/10 px-2.5 py-1 text-[12px] font-medium text-accent outline-none transition-colors hover:border-accent/70 hover:bg-accent/15 disabled:opacity-50`,children:[n?(0,B.jsx)(iy,{size:12,className:`animate-spin`}):(0,B.jsx)(fy,{size:12}),`Retry`]})})}function VH({label:e,icon:t,size:n,busy:r,...i}){return(0,B.jsx)(rN,{label:e,children:(0,B.jsx)(`button`,{...i,"aria-label":e,onMouseDown:e=>e.preventDefault(),className:`flex h-7 w-7 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:hover:bg-transparent disabled:hover:text-muted disabled:opacity-40`,children:r?(0,B.jsx)(iy,{size:n,strokeWidth:2,className:`animate-spin`}):(0,B.jsx)(t,{size:n,strokeWidth:2})})})}function HH(e){let t=e.kind===`session`&&e.foreign!==!0,n=t&&(e.state===`archived`||e.archived===!0),r=t,i=t&&!n;return{footer:r,done:n,snooze:i,archive:i}}function UH(e){if(e.runtime===`perm-prompt`||e.pendingAsk||e.nativeInputRequired)return!0;if(e.runtime===`running`||e.runtime===`spawning`)return!1;let t=e=>e.state===`running`||e.state===`stale`;return!(e.subAgents?.some(e=>Zm(e)&&t(e))||e.bgShells?.some(t))}function WH(e){let t={lead:`This thread is still running.`,groups:[],trailer:`Marking it done will stop its agent session, then move it to Done.`};if(!e)return t;let n=[GH(`agent`,`sub-agent`,e.subAgents,e.subAgentCount),GH(`shell`,`background shell`,e.bgShells,e.bgShellCount)].filter(e=>e!==null);return e.unobservable?{lead:`This session is live, but its transcript can’t be read right now — it may still be working.`,groups:n,trailer:`Marking it done will stop the session anyway, then move it to Done.`}:!e.turnInFlight&&n.length===0?t:{lead:e.turnInFlight?n.length>0?`The agent is mid-turn, and it still owns background work:`:`The agent is mid-turn — it’s executing right now.`:`The agent is resting, but the background work it launched is still running:`,groups:n,trailer:n.length>0?`Marking it done will stop the session and everything running under it, then move it to Done.`:`Marking it done will stop its agent session mid-turn, then move it to Done.`}}function GH(e,t,n,r){let i=Math.max(r,n.length);return i===0?null:{kind:e,heading:`${i} ${t}${i===1?``:`s`}`,items:n.map(e=>({label:e.label,stale:e.state===`stale`})),overflow:Math.max(0,i-n.length)}}function KH({open:e,onOpenChange:t,title:n,children:r,footer:i,className:a=`w-[640px] max-w-[92vw] max-h-[82vh]`}){return(0,B.jsx)(tA,{open:e,onOpenChange:t,children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`overlay-in fixed inset-0 z-[200] bg-black/55 backdrop-blur-[1px]`}),(0,B.jsxs)(pA,{"aria-modal":`true`,onEscapeKeyDown:dj,className:`pop-in fixed left-1/2 top-1/2 z-[200] flex -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-border bg-panel shadow-2xl shadow-black/50 outline-none ${a}`,children:[(0,B.jsxs)(`header`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-border px-4`,children:[(0,B.jsx)(vA,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:n}),(0,B.jsx)(SA,{type:`button`,"aria-label":`Close`,className:`rounded-md p-1 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]}),(0,B.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r}),i&&(0,B.jsx)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-4 py-3`,children:i})]})]})})}function qH({thread:e,onSnoozed:t}){let[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(``),[c,l]=(0,z.useState)(``),[u,d]=(0,z.useState)(``),f=(0,z.useId)(),p=(0,z.useId)(),m=(0,z.useId)(),h=bb(e),g=Yd(Xy).snoozePreset,_=jy(g),v=Ny(g),y=(0,z.useMemo)(()=>Iy(new Date(Date.now()+6e4)),[i]);async function b(n,i=null){r(!0);try{await Z.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:n,prompt:n?i:null}),n?(X(`${i?`Bump scheduled`:`Snoozed`} · ${Ry(n)}`),t?.()):X(`Snooze cleared`),a(!1),d(``)}catch(e){let t=e instanceof Error?e.message:`Snooze failed`;X(t.slice(0,100)),d(t)}finally{r(!1)}}function x(e){Xy.snoozePreset=e,b(Py(e))}function S(){s(Iy(new Date(h??Py(g)))),l(e.snoozePrompt??``),d(``),a(!0)}function C(){let e=Ly(o);if(!e.ok){d(e.message);return}let t=c.trim();if(t.length>4e3){d(`Prompt is too long (${t.length}/${ch})`);return}b(e.until,t||null)}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`inline-flex items-stretch rounded-md border border-border-strong bg-panel-2/60`,children:[(0,B.jsxs)(`button`,{type:`button`,disabled:n,"aria-label":h?`Wake thread now`:v,title:h?`Wake now · ${Ry(h)}`:v,onClick:()=>void b(h?null:Py(g)),className:`flex items-center gap-1.5 rounded-l-md px-2.5 py-1 text-[12px] font-medium text-fg/75 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),h?`Wake now`:v]}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`my-1 w-px bg-border`}),(0,B.jsxs)(Wk,{children:[(0,B.jsx)(Gk,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,disabled:n,"aria-label":`Snooze options`,title:`Selected snooze: ${_}`,className:`flex min-w-0 items-center justify-center gap-1 rounded-r-md px-2 text-fg/75 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-45`,children:(0,B.jsx)(jv,{size:12})})}),(0,B.jsxs)(Kk,{align:`end`,children:[Oy.map(e=>(0,B.jsx)(qk,{onSelect:()=>x(e.value),icon:(0,B.jsx)(zv,{size:12}),children:(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-4`,children:[(0,B.jsx)(`span`,{children:e.label}),(0,B.jsx)(`span`,{className:`text-[10px] text-muted/55`,children:e.detail})]})},e.value)),(0,B.jsx)(Jk,{}),(0,B.jsx)(qk,{onSelect:S,children:`Custom time & prompt…`}),h&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Jk,{}),(0,B.jsx)(qk,{onSelect:()=>void b(null),children:`Wake now`})]})]})]})]}),(0,B.jsx)(KH,{open:i,onOpenChange:e=>{n||a(e)},title:`Snooze thread`,className:`w-[360px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>a(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`submit`,form:m,disabled:n,className:`flex items-center gap-1.5 rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),c.trim()?`Snooze & bump`:`Snooze`]})]}),children:(0,B.jsxs)(`form`,{id:m,className:`flex flex-col gap-2.5 p-4`,onSubmit:e=>{e.preventDefault(),C()},children:[(0,B.jsx)(`label`,{htmlFor:f,className:`text-[11px] font-medium text-muted`,children:`Wake at this local time`}),(0,B.jsx)(`input`,{id:f,type:`datetime-local`,required:!0,min:y,value:o,onChange:e=>{s(e.target.value),d(``)},className:`w-full rounded-md border border-border bg-bg px-2.5 py-2 text-[13px] text-fg outline-none focus:border-accent`}),(0,B.jsx)(`p`,{className:`text-[10.5px] text-muted/65`,children:`Stored as an exact instant; shown here in your browser’s local time zone.`}),(0,B.jsxs)(`label`,{htmlFor:p,className:`mt-1 text-[11px] font-medium text-muted`,children:[`Then send this prompt `,(0,B.jsx)(`span`,{className:`font-normal text-muted/55`,children:`(optional)`})]}),(0,B.jsx)(`textarea`,{id:p,autoFocus:!0,rows:3,maxLength:ch,placeholder:`e.g. Check whether CI went green and land it if so.`,value:c,onChange:e=>{l(e.target.value),d(``)},onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),C())},className:`w-full resize-y rounded-md border border-border bg-bg px-2.5 py-2 text-[13px] leading-5 text-fg outline-none placeholder:text-muted/40 focus:border-accent`}),(0,B.jsx)(`p`,{className:`min-h-4 text-[10.5px] text-muted/65`,children:c.trim()?`fray will resume this thread with the prompt at the wake time.`:`Leave empty to just bring the card back to your queue.`}),u&&(0,B.jsx)(`p`,{role:`alert`,className:`text-[11px] text-red-400`,children:u})]})})]})}var JH=6.5,YH=2,XH=2*Math.PI*JH;function ZH(e,t){return Math.max(0,Math.min(100,Math.floor(e/t*100)))}function QH({thread:e}){let t=e.context;if(!t||t.window<=0)return null;let n=ZH(t.tokens,t.window),r=Math.max(0,Math.min(1,t.tokens/t.window)),i=`Context ${n}% full\n${t.tokens.toLocaleString()} of ${t.window.toLocaleString()} tokens`;return(0,B.jsx)(rN,{label:i,side:`top`,multiline:!0,children:(0,B.jsx)(`span`,{"data-context-meter":!0,"data-context-percent":n,"aria-label":i,className:`flex shrink-0 items-center text-muted/60`,children:(0,B.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`h-[1.05em] w-[1.05em]`,"aria-hidden":!0,style:{transform:`rotate(-90deg)`},children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:JH,fill:`none`,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:YH}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:JH,fill:`none`,stroke:`currentColor`,strokeWidth:YH,strokeDasharray:`${XH*r} ${XH}`})]})})})}function $H({thread:e,sticky:t=!1,safeArea:n=!1,onArchived:r,onDismissCancel:i,onSnoozed:a}){let o=HH(e);return o.footer?(0,B.jsxs)(`footer`,{"aria-label":`Thread lifecycle actions`,"data-thread-lifecycle-footer":!0,className:`${t?`z-20`:`rounded-b-[7px]`} flex min-h-10 shrink-0 flex-wrap items-center justify-end gap-1.5 border-t border-border/70 bg-panel/95 px-3 pt-2 text-[12px] ${n?`pb-[max(0.5rem,env(safe-area-inset-bottom))]`:`pb-2`} backdrop-blur-sm`,children:[(0,B.jsxs)(`span`,{className:`mr-auto flex items-center gap-1.5`,children:[(0,B.jsx)(QH,{thread:e}),(0,B.jsx)(tU,{thread:e})]}),o.done?(0,B.jsx)(eU,{}):(0,B.jsxs)(B.Fragment,{children:[o.snooze&&(0,B.jsx)(qH,{thread:e,onSnoozed:a}),(0,B.jsx)(nU,{thread:e,onArchived:r,onDismissCancel:i})]})]}):null}function eU(){let e=`Marked done — send a message to reopen it`;return(0,B.jsx)(rN,{label:e,side:`top`,children:(0,B.jsxs)(`span`,{"data-thread-done":!0,"aria-label":e,className:`flex items-center gap-1 rounded-md border border-transparent px-2.5 py-1 font-medium text-muted`,children:[(0,B.jsx)(Av,{size:12}),`Done`]})})}function tU({thread:e}){let t=bb(e);if(!t)return null;let n=e.snoozePrompt?.trim(),r=n?`Bumps ${Ry(t)}\n${n}`:`Snoozed until ${Ry(t)}`;return(0,B.jsx)(rN,{label:r,side:`top`,multiline:!!n,children:(0,B.jsx)(`span`,{"data-pending-snooze":!0,"aria-label":r,className:`flex items-center px-0.5 text-muted/60`,children:(0,B.jsx)($v,{size:12})})})}function nU({thread:e,onArchived:t,onDismissCancel:n,className:r=`rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] text-fg/80 hover:bg-panel-2 hover:text-fg`,iconClassName:i=``}){let[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(void 0),d=(r,i)=>{o(!0),i&&t?.(),Z.completeThread({slug:e.id,sessionId:e.sessionId??``,terminateLive:r}).then(e=>{if(e.needsConfirmation){i&&n?.(),u(e.hold),c(!0),o(!1);return}c(!1),X(`Done`),i||t?.()}).catch(e=>{i&&n?.(),X(`Couldn’t finish: ${e.message.slice(0,80)}`),o(!1)})},f=!!t&&!!n&&UH(e);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>d(!1,f),disabled:a,"aria-label":`Mark as done`,title:`Mark as done`,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1 font-medium outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-45 ${r}`,children:[(0,B.jsx)(Av,{size:12,className:i}),`Mark as done`]}),(0,B.jsx)(KH,{open:s,onOpenChange:e=>{a||c(e)},title:`End this session?`,className:`w-[390px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>c(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,disabled:a,onClick:()=>d(!0,!1),className:`flex items-center gap-1.5 rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[a&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),`End session & mark done`]})]}),children:(0,B.jsx)(rU,{hold:l})})]})}function rU({hold:e}){let t=WH(e);return(0,B.jsxs)(`div`,{"data-completion-hold":!0,className:`flex flex-col gap-2 p-4 text-[12px] leading-relaxed text-muted`,children:[(0,B.jsx)(`p`,{children:t.lead}),t.groups.map(e=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,B.jsx)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-fg/70`,children:e.heading}),(0,B.jsxs)(`ul`,{className:`flex flex-col gap-0.5`,children:[e.items.map((e,t)=>(0,B.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,B.jsx)(`span`,{"aria-hidden":!0,className:ex,children:`⤷`}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-fg/80`,children:e.label}),e.stale&&(0,B.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted/60`,children:`no recent output`})]},`${e.label}-${t}`)),e.overflow>0&&(0,B.jsxs)(`li`,{className:`pl-[15px] text-muted/60`,children:[`+`,e.overflow,` more`]})]})]},e.kind)),(0,B.jsx)(`p`,{children:t.trailer})]})}function iU(e){if(e.kind!==void 0||e.role!==`assistant`||e.text.trim())return;let t=e.parts??[],n=t.length>0?t.length===1&&t[0].kind===`tools`?t[0].tools:[]:e.tools??[],r=n.length===1?n[0]:void 0;return r?.agentCompletion?r:void 0}var aU={completed:`finished`,killed:`stopped`,failed:`failed`};function oU(e){let t=aU[e.agentStatus??`completed`],n=e.agentElapsedMs===void 0?void 0:Ub(e.agentElapsedMs);return{outcome:t,tail:`${t}${n?` · ${n}`:``}`}}var sU=e=>e===void 0?void 0:zb(e),cU=e=>{if(e!==void 0)return Ub(e)||void 0};function lU(e){let{agentStatus:t,agentElapsedMs:n,liveState:r,liveElapsedMs:i,status:a,durationMs:o}=e;if(t){let e=t===`killed`,r=t===`failed`,i=sU(n);return{label:t===`completed`?void 0:aU[t],duration:cU(n),tone:r?`failed`:`muted`,title:`${e?`Stopped`:r?`Failed`:`Ran for`}${e||r?` after`:``} ${i??`an unknown time`}`,showSpinner:!1}}if(r){let e=sU(i);return{label:void 0,duration:cU(i),tone:`muted`,title:r===`running`?`Working for ${e??`an unknown time`}`:`Dispatched ${e??`an unknown time`} ago`,showSpinner:!1}}if(a===`pending`)return{label:`running`,tone:`muted`,title:`Running`,showSpinner:!0};if(a!==`failed`&&a!==`cancelled`)return null;let s=a===`failed`,c=a===`cancelled`,l=sU(o);return{label:c?aU.killed:s?aU.failed:void 0,duration:cU(o),tone:s?`failed`:`muted`,title:`${c?`Stopped after`:s?`Failed after`:`Ran for`} ${l??`an unknown time`}`,showSpinner:!1}}var uU=`text-[14px] leading-5 text-muted`,$=z.createElement;function dU({payload:e}){return e.kind===`command-approval`?$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},`Command`),$(`div`,{className:`mt-0.5 break-words text-[13px] font-medium text-fg`},e.command.summary),e.command.workingDirectoryLabel?$(`div`,{className:`mt-1 break-all text-[10.5px] text-muted/70`},`Working directory: `,e.command.workingDirectoryLabel):null,$(fU,{label:`Redacted command preview`,text:e.command.preview}),e.command.actions?$(pU,{actions:e.command.actions}):null,e.capabilities?$(hU,{capabilities:e.capabilities}):null):e.kind===`file-approval`?$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},yU(e.operation)),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[12px] text-fg`},e.pathLabel),e.destinationLabel?$(`div`,{className:`mt-1 break-all font-mono-keep text-[11px] text-muted`},`→ `,e.destinationLabel):null,e.grantRootLabel?$(`section`,{"aria-label":`Requested session write root`,className:`mt-2.5 min-w-0 rounded-md border border-amber-400/35 bg-amber-500/[0.06] px-2.5 py-2`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-amber-100/80`},`Requested session write root`),$(`div`,{className:`mt-1 min-w-0 break-all font-mono-keep text-[10.5px] text-fg/85`},e.grantRootLabel),e.scopeLabel?$(`div`,{className:`mt-1.5 whitespace-pre-wrap break-words text-[10.5px] leading-snug text-amber-100/75`},e.scopeLabel):null):null,e.diffPreview?$(fU,{label:`Plain-text diff preview`,text:e.diffPreview}):null,e.changes?$(mU,{changes:e.changes}):null):$(z.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},`Requested permission`),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[12px] font-medium text-fg`},e.permission),e.resourceLabel?$(`div`,{className:`mt-1 break-all text-[11px] text-muted`},`Resource: `,e.resourceLabel):null,e.workingDirectoryLabel?$(`div`,{className:`mt-1 break-all text-[10.5px] text-muted/70`},`Working directory: `,e.workingDirectoryLabel):null,e.scopeLabel?$(`div`,{className:`mt-2 whitespace-pre-wrap break-words text-[11px] leading-snug text-muted`},e.scopeLabel):null,e.capabilities?$(hU,{capabilities:e.capabilities}):null)}function fU({label:e,text:t}){return $(`details`,{className:`mt-2.5 min-w-0 rounded-md border border-border/70 bg-bg/35`,open:t.length<1200},$(`summary`,{className:`cursor-pointer px-2.5 py-2 text-[10.5px] text-muted outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/50`},e),$(`pre`,{className:`max-h-64 max-w-full min-w-0 overflow-auto border-t border-border/60 px-2.5 py-2 whitespace-pre-wrap break-words font-mono-keep text-[11px] leading-relaxed text-fg/80`},t))}function pU({actions:e}){return $(`section`,{"aria-label":`Parsed command actions`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Parsed actions`),$(`ul`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(`div`,{className:`text-[11px] font-medium text-fg/90`},vU(e.kind)),e.resourceLabel?$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[10.5px] text-muted`},e.resourceLabel):null,e.queryLabel?$(`div`,{className:`mt-0.5 break-all text-[10.5px] text-muted`},`Query: `,e.queryLabel):null,$(fU,{label:`${vU(e.kind)} command detail`,text:e.commandPreview})))))}function mU({changes:e}){return $(`section`,{"aria-label":`Affected file changes`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Affected changes`),$(`ol`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(`div`,{className:`text-[11px] font-medium text-fg/90`},yU(e.operation)),$(`div`,{className:`mt-0.5 break-all font-mono-keep text-[10.5px] text-fg/80`},e.pathLabel),e.destinationLabel?$(`div`,{className:`mt-0.5 min-w-0 break-all font-mono-keep text-[10.5px] text-muted`},`→ `,e.destinationLabel):null,e.diffPreview?$(fU,{label:`${yU(e.operation)} plain-text diff`,text:e.diffPreview}):null))))}function hU({capabilities:e}){return $(`section`,{"aria-label":`Requested capabilities`,className:`mt-3 min-w-0`},$(`h4`,{className:`text-[10px] font-medium uppercase tracking-[0.07em] text-muted/75`},`Requested capabilities`),$(`ul`,{className:`mt-1.5 flex min-w-0 flex-col gap-2`},e.map((e,t)=>$(`li`,{key:t,className:`min-w-0 rounded-md border border-border/65 bg-bg/25 px-2.5 py-2`},$(gU,{capability:e})))))}function gU({capability:e}){if(e.kind===`network`){let t=e.enabled===!0?`Enable network access`:e.enabled===!1?`Disable network access`:`Network access request`;return $(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),e.hosts.length>0?$(_U,{label:`Hosts and protocols`,values:e.hosts}):null)}if(e.kind===`filesystem`){let t=e.access===`read`?`Read filesystem paths`:e.access===`write`?`Write filesystem paths`:`Deny filesystem paths`;return $(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),$(_U,{label:`Paths`,values:e.resources}))}return e.kind===`glob-scan`?$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Filesystem glob scanning`),$(`div`,{className:`mt-0.5 text-[10.5px] text-muted`},`Maximum depth: `,String(e.depth))):e.kind===`exec-policy`?$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Future command policy amendment`),$(_U,{label:`Command prefix tokens`,values:e.prefixes})):$(z.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},e.access===`allow`?`Allow future network hosts`:`Deny future network hosts`),$(_U,{label:`Hosts`,values:e.hosts}))}function _U({label:e,values:t}){return $(`div`,{className:`mt-1 min-w-0`},$(`div`,{className:`sr-only`},e),$(`ul`,{"aria-label":e,className:`flex min-w-0 flex-col gap-0.5`},t.map((e,t)=>$(`li`,{key:t,className:`min-w-0 break-all font-mono-keep text-[10.5px] text-muted`},e))))}function vU(e){switch(e){case`read`:return`Read a file`;case`list-files`:return`List files`;case`search`:return`Search files`;case`unknown`:return`Unclassified command`}}function yU(e){switch(e){case`read`:return`Read file`;case`create`:return`Create file`;case`write`:return`Modify file`;case`move`:return`Move file`;case`delete`:return`Delete file`;case`execute`:return`Execute file`;case`other`:return`File operation`}}function bU(e){return e===`sending`?{actionsEnabled:!1,eyebrow:`Sending`,status:`Sending to runtime…`}:e===`reconnect-required`?{actionsEnabled:!1,eyebrow:`Runtime unavailable`,status:`Runtime reconnect required before this request can be answered.`}:{actionsEnabled:!0,eyebrow:`Needs you`}}var xU={semantic:`approve`,label:`Approve once`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`},SU={semantic:`approve`,label:`Approve for session`,order:20,tone:`primary`,durable:!0,scope:`Persists for later matching requests in this thread session.`},CU={semantic:`approve`,label:`Grant for turn`,order:10,tone:`primary`,durable:!1,scope:`Applies to this turn only.`},wU={semantic:`approve`,label:`Grant for session`,order:20,tone:`primary`,durable:!0,scope:`Persists until this thread session ends.`},TU={semantic:`deny`,label:`Deny`,order:70,tone:`danger`,durable:!1,scope:`Rejects this request.`},EU={semantic:`decline`,label:`Decline`,order:70,tone:`danger`,durable:!1,scope:`Declines this request.`},DU={semantic:`cancel`,label:`Cancel request`,order:80,tone:`neutral`,durable:!1,scope:`Cancels this pending request.`};function OU(e,t){let{id:n,semantic:r}=t;if(e.kind===`command-approval`||e.kind===`file-approval`)return(n===`accept`||n===`approve-once`)&&r===`approve`?xU:n===`acceptForSession`&&r===`approve`?SU:(n===`decline`||n===`deny`)&&r===`deny`?TU:n===`cancel`&&r===`cancel`?DU:void 0;if(e.kind===`permission-approval`)return n===`grant-turn`&&r===`approve`?CU:n===`grant-session`&&r===`approve`?wU:(n===`deny`||n===`decline`)&&r===`deny`?TU:n===`cancel`&&r===`cancel`?DU:void 0;if(e.kind===`mcp-elicitation-form`||e.kind===`mcp-elicitation-url`)return n===`accept`&&r===`accept`?{semantic:`accept`,label:e.kind===`mcp-elicitation-form`?`Submit`:`Continue`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`}:n===`decline`&&r===`decline`?EU:n===`cancel`&&r===`cancel`?DU:void 0;if(n===`answer`&&r===`answer`)return{semantic:`answer`,label:`Send answer`,order:10,tone:`primary`,durable:!1,scope:`Sends these answers to this request only.`};if(n===`decline`&&r===`decline`)return EU;if(n===`cancel`&&r===`cancel`)return DU}function kU(e){let t=t=>e.payload.kind===`mcp-elicitation-form`&&t===`accept`||e.payload.kind===`agent-question`&&t===`answer`;return e.allowedDecisions.flatMap(n=>{let r=OU(e.payload,n);return r?[{...r,id:n.id,semantic:n.semantic,requiresValues:t(n.semantic)}]:[]}).sort((e,t)=>e.order-t.order||e.id.localeCompare(t.id))}function AU(e){switch(e){case`command-approval`:return`Command approval`;case`file-approval`:return`File approval`;case`permission-approval`:return`Permission approval`;case`mcp-elicitation-form`:return`MCP request`;case`mcp-elicitation-url`:return`MCP authorization`;case`agent-question`:return`Agent question`}}function jU(e){switch(e){case`claude`:return`Claude`;case`codex`:return`Codex`;case`fray`:return`Fray`}}function MU(e){switch(e){case`runtime`:return`Runtime`;case`agent`:return`Agent`;case`tool`:return`Tool`;case`mcp-server`:return`MCP server`;case`fray`:return`Fray`}}function NU(e,t){let n=e.options.findIndex(e=>JSON.stringify(e.value)===JSON.stringify(t));return n<0?``:String(n)}function PU(e){let t=Object.create(null);for(let n of e)if(n.input===`text`||n.input===`multiline`)t[n.id]=n.default??``;else if(n.input===`number`||n.input===`integer`)t[n.id]=n.default===void 0?``:String(n.default);else if(n.input===`boolean`)t[n.id]=n.default??!1;else if(n.input===`select`)t[n.id]=n.default===void 0?``:NU(n,n.default);else if(n.input===`multi-select`){let e=new Set(n.default??[]);t[n.id]=n.options.flatMap((t,n)=>e.has(t.value)?[String(n)]:[])}return t}function FU(e,t,n){let r=Object.create(null);for(let t of Object.keys(e))r[t]=e[t];return r[t]=n,r}function IU(e,t){if(e.some(e=>e.secret))return{errors:{},formError:`Secret responses cannot be sent through this Fray connection.`};let n=Object.create(null),r={};for(let i of e){let e=t[i.id],a;if(i.input===`text`||i.input===`multiline`){let t=typeof e==`string`?e:``;if(!i.required&&t===``)continue;i.required&&t===``?r[i.id]=`This field is required.`:a=t}else if(i.input===`number`||i.input===`integer`){let t=typeof e==`string`?e.trim():``;if(!i.required&&t===``)continue;if(t===``)r[i.id]=`This field is required.`;else{let e=Number(t);Number.isFinite(e)?a=e:r[i.id]=`Enter a valid number.`}}else if(i.input===`boolean`)a=e===!0;else if(i.input===`select`){let t=typeof e==`string`&&/^\d+$/.test(e)?Number(e):-1;if(t<0||t>=i.options.length)if(i.required)r[i.id]=`Choose an option.`;else continue;else a=i.options[t].value}else if(i.input===`multi-select`){let t=(Array.isArray(e)?e:[]).flatMap(e=>/^\d+$/.test(e)?[Number(e)]:[]);if(t.some(e=>e<0||e>=i.options.length))r[i.id]=`Choose only advertised options.`;else if(i.required&&t.length===0)r[i.id]=`Choose at least one option.`;else if(t.length>0)a=t.map(e=>i.options[e].value);else continue}if(a!==void 0&&!r[i.id]){let e=dm(i,a);e?r[i.id]=`Value ${e}.`:n[i.id]=a}}if(Object.keys(r).length>0)return{errors:r};let i=Tm.safeParse(n);return i.success?{errors:r,values:i.data}:{errors:r,formError:`The response is too large or contains invalid values.`}}function LU(e,t){return JSON.stringify([e,t??null])}function RU(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}catch{return null}}function zU(e,t){let n=e.getAttribute(`href`);if(!n)return!1;let r=RU(n,t);if(!r)return!1;let i;try{i=new URL(t)}catch{return!1}if(new URL(r).origin===i.origin)return!1;e.setAttribute(`target`,`_blank`);let a=new Set((e.getAttribute(`rel`)??``).split(/\s+/u).filter(Boolean));return a.add(`noopener`),a.add(`noreferrer`),e.setAttribute(`rel`,[...a].join(` `)),!0}function BU(e=()=>location.href){return t=>{if(t.defaultPrevented||t.button!==0)return;let n=HU(t);n&&zU(n,e())}}function VU(){let e=BU();return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)}function HU(e){let t=typeof e.composedPath==`function`?e.composedPath():[];for(let e of t)if(UU(e))return e;let n=e.target?.closest?.(`a[href]`);return UU(n)?n:null}function UU(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.tagName?.toLowerCase()===`a`&&typeof t.getAttribute==`function`&&typeof t.setAttribute==`function`&&typeof t.hasAttribute==`function`&&t.hasAttribute(`href`)}function WU({raw:e,question:t,questionKind:n,danger:r,interactive:i,wrap:a}){let o=(0,z.useMemo)(()=>t??dV(e??``,n??`question`,r),[t,e,n,r]),s=(0,z.useMemo)(()=>aB(o.contextMd),[o.contextMd]),c=(0,z.useMemo)(()=>o.trailingMd?aB(o.trailingMd):``,[o.trailingMd]),l=o.recommendedIdx,u=(0,z.useMemo)(()=>o.recommendation?oB(o.recommendation):``,[o.recommendation]),d=o.kind===`multi`,f=o.danger,p=i?.answer.chosen??null,m=i?.answer.chosenSet??[],h=i?.answer.text??``,g=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{let e=g.current;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight+e.offsetHeight-e.clientHeight}px`)},[h]),(0,B.jsxs)(LV,{tone:f?`danger`:`neutral`,icon:f?Sy:d?ry:Rv,label:d?`Select multiple`:`Question`,children:[s&&(0,B.jsx)(`div`,{className:`text-fg`,children:(0,B.jsx)(`div`,{className:`md-body${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:s}})}),(o.options.length>0||i)&&(0,B.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-1.5`,children:[o.options.map((e,t)=>(0,B.jsxs)(z.Fragment,{children:[o.optionHeadings?.[t]&&(0,B.jsx)(`div`,{className:`mt-1 text-fg`,children:(0,B.jsx)(`div`,{className:`md-body${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:oB(o.optionHeadings[t].split(`
|
|
350
|
+
`).join(` `))}})}),(0,B.jsx)(KU,{label:e,multi:d,recommended:l===t,recTitle:l===t?o.recommendedNote:void 0,selected:d?m.includes(t):p===t&&!h.trim(),disabled:!i,onClick:()=>{i?.onChip(t,e),!d&&g.current&&document.activeElement===g.current&&g.current.blur()}})]},t)),i&&(0,B.jsx)(`textarea`,{ref:g,rows:1,"data-surface":`questionAnswer`,value:h,onChange:e=>i.onText(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`){e.preventDefault(),e.currentTarget.blur();return}zA({key:e.key,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,isComposing:e.nativeEvent.isComposing,keyCode:e.nativeEvent.keyCode})&&(e.preventDefault(),i.onSubmit())},onFocus:()=>{!d&&p!==null&&i.onText(h)},placeholder:d?`Add a note…`:o.options.length?`${GU(o.options)} Something else…`:`Type your answer…`,className:`col-span-full w-full resize-none overflow-hidden rounded-md border px-3 py-1.5 text-[12px] leading-snug text-fg/90 outline-none placeholder:text-muted/80 transition-colors ${h.trim()?`border-accent bg-accent/10`:`border-border bg-transparent hover:bg-panel-2 focus:border-accent`}`})]}),o.trailingMd&&(0,B.jsx)(`div`,{className:`mt-2 md-body text-[12px] text-muted/70${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:c}}),o.recommendation&&l===null&&(0,B.jsx)(`div`,{className:`md-inline mt-1.5 text-[11px] text-muted/70`,dangerouslySetInnerHTML:{__html:u}})]})}function GU(e){let t=e[e.length-1]?.match(/^\s*([A-Za-z]|\d+)([.)])\s/);if(!t)return`${String.fromCharCode(65+e.length)}.`;let[,n,r]=t;return/\d/.test(n)?`${Number(n)+1}${r}`:`${String.fromCharCode(n.toUpperCase().charCodeAt(0)+1)}${r}`}function KU({label:e,selected:t,disabled:n,multi:r,recommended:i,recTitle:a,onClick:o}){let s=(0,z.useMemo)(()=>oB(e,{inertInteractive:!0}),[e]);return(0,B.jsxs)(`button`,{type:`button`,disabled:n,onClick:o,onMouseDown:e=>e.preventDefault(),title:a,className:`text-left rounded-md border px-3 py-1.5 text-[12px] leading-snug outline-none transition-colors flex items-start gap-2 ${t?`border-accent bg-accent/10 text-fg`:n?`cursor-default border-border text-muted/80`:`border-border text-fg/90 hover:bg-elevated hover:border-border-strong`}`,children:[r&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:`mt-px flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-[3px] border ${t?`border-accent bg-accent text-bg`:`border-border-strong`}`,children:t&&(0,B.jsx)(Av,{size:10,strokeWidth:3})}),(0,B.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[i&&(0,B.jsx)(`span`,{className:`float-right ml-2 mt-px -translate-y-[2px] rounded-full border border-border-strong px-1.5 py-px text-[9.5px] uppercase tracking-wide text-muted`,children:`Recommended`}),(0,B.jsx)(`span`,{className:`md-inline`,dangerouslySetInnerHTML:{__html:s}})]})]})}function qU(e){let t=e,n=``;do n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26)-1;while(t>=0);return`${n}.`}function JU(e,t){let n=e??t;if(!n)return null;let r=e&&(e.input===`select`||e.input===`multi-select`)?e.options:[];return{question:{kind:e?.input===`multi-select`?`multi`:`question`,danger:!1,contextMd:n.description??n.label,options:r.map((e,t)=>`${qU(t)} ${e.label}`),recommendedIdx:null},...e?{optionFieldId:e.id}:{},optionValues:r.map(e=>e.value),...t?{notesFieldId:t.id}:{}}}function YU(e){if(e.payload.kind!==`agent-question`)return null;let t=e.payload.fields,n=[];for(let e=0;e<t.length;e++){let r=t[e];if(r.secret)return null;if(r.id.endsWith(`_notes`))continue;let i=t[e+1],a=i&&i.id===`${r.id}_notes`?i:void 0;if(r.input===`select`||r.input===`multi-select`){let e=JU(r,a);if(!e)return null;n.push(e)}else if(r.input===`text`||r.input===`multiline`){let e=JU(void 0,r);if(!e)return null;n.push(e)}else return null}return n.length>0?n:null}function XU(e,t){let n={};return e.forEach((e,r)=>{let i=t[r];if(!i)return;let a=i.text.trim();if(e.question.kind===`multi`){let t=(i.chosenSet??[]).slice().sort((e,t)=>e-t).flatMap(t=>{let n=e.optionValues[t];return n===void 0?[]:[n]});e.optionFieldId&&t.length>0&&(n[e.optionFieldId]=t),e.notesFieldId&&a&&(n[e.notesFieldId]=a);return}if(a){e.notesFieldId&&(n[e.notesFieldId]=a);return}let o=i.chosen;e.optionFieldId&&o!==null&&e.optionValues[o]!==void 0&&(n[e.optionFieldId]=e.optionValues[o])}),Object.keys(n).length>0?n:void 0}function ZU(e){let t=e instanceof Error?e.message:`The request could not be updated.`;return t.length>240?`${t.slice(0,239)}…`:t}function QU(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`fray-response-${Date.now()}-${Math.random().toString(36).slice(2)}`}function $U({thread:e,className:t=``,autoFocusFirst:n=!1}){let r=Q_(e),i=ev(e),a=(0,z.useMemo)(()=>[...i.data?.interactions??[]].sort((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)),[i.data?.interactions]);return r?i.isError&&a.length===0?(0,B.jsxs)(`div`,{"data-interactions-error":!0,role:`alert`,className:`${jV} border border-amber-500/35 bg-amber-500/[0.07] p-4 text-[12px] text-amber-100 ${t}`,children:[(0,B.jsx)(`div`,{className:`font-medium`,children:`Pending requests could not be loaded.`}),(0,B.jsx)(`div`,{className:`mt-1 break-words text-amber-100/75`,children:ZU(i.error)}),(0,B.jsx)(`button`,{type:`button`,onClick:()=>void i.refetch(),className:`mt-2 rounded-md border border-amber-400/40 px-2 py-1 text-[11px] hover:bg-amber-500/10`,children:`Try again`})]}):a.length===0?null:(0,B.jsx)(`section`,{"data-typed-interactions":!0,"aria-label":`${a.length} pending request${a.length===1?``:`s`}`,className:`flex min-w-0 flex-col gap-3 ${t}`,children:a.map((e,t)=>(0,B.jsx)(tW,{record:e,autoFocus:n&&t===0},e.id))}):null}function eW({record:e,questions:t,autoFocus:n}){let r=Bu(),i=(0,z.useRef)(null),a=(0,z.useRef)(new Map),o=aM(),s=bU(e.delivery?.effect),c=(0,z.useMemo)(()=>kU(e).find(e=>e.semantic===`answer`),[e]),l=cM(t.flatMap(t=>t.notesFieldId?[iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId)]:[])),[u,d]=(0,z.useState)(()=>t.map(()=>({chosen:null,chosenSet:[]}))),f=t.map((t,n)=>({chosen:u[n]?.chosen??null,chosenSet:u[n]?.chosenSet??[],text:t.notesFieldId?l.get(iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId))??``:``})),p=XU(t,f),[m,h]=(0,z.useState)(),[g,_]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(!n)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[n,e.id]);let v=nd({mutationFn:async t=>Z.interactionResolve({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision,responseId:t.responseId,decisionId:t.decisionId,values:t.values}),onSuccess:t=>{_(!0),Lg(r,t.interaction),r.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId)}),r.invalidateQueries({queryKey:Ig(e.owner.threadSlug,e.owner.sessionId,e.id)})},onError:t=>{Rg(r,e),h(ZU(t))}}),y=()=>{if(!c||!p||v.isPending||g||!s.actionsEnabled)return;h(void 0);let e=LU(c.id,p),t=a.current.get(e)??QU();a.current.set(e,t),v.mutate({decisionId:c.id,values:p,responseId:t})},b=(t,n)=>{t.notesFieldId&&nM.set(iM.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId),n)};return(0,B.jsxs)(`article`,{ref:i,tabIndex:-1,"data-interaction-id":e.id,"data-interaction-kind":e.payload.kind,"data-interaction-question":`native`,"data-delivery-effect":e.delivery?.effect,className:`flex min-w-0 flex-col gap-2 outline-none`,children:[t.map((e,t)=>(0,B.jsx)(WU,{question:e.question,interactive:s.actionsEnabled&&!g?{answer:f[t],onChip:n=>d(r=>r.map((r,i)=>{if(i!==t)return r;if(e.question.kind===`multi`){let e=r.chosenSet.includes(n)?r.chosenSet.filter(e=>e!==n):[...r.chosenSet,n];return{...r,chosenSet:e}}return b(e,``),{...r,chosen:n}})),onText:t=>b(e,t),onSubmit:y}:void 0},e.optionFieldId??e.notesFieldId??t)),m&&(0,B.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:m}),(s.status||v.isPending||g)&&(0,B.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`text-[11px] leading-snug text-muted`,children:s.status??(g?`Answer sent.`:`Sending…`)}),s.actionsEnabled&&!g&&(0,B.jsx)(`div`,{className:`flex justify-start`,children:(0,B.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:!p||v.isPending,onClick:y,onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})})]})}function tW({record:e,autoFocus:t=!1}){let n=(0,z.useMemo)(()=>YU(e),[e]);return n?(0,B.jsx)(eW,{record:e,questions:n,autoFocus:t}):(0,B.jsx)(nW,{record:e,autoFocus:t})}function nW({record:e,autoFocus:t=!1}){let n=Bu(),r=(0,z.useId)(),i=(0,z.useRef)(null),a=(0,z.useRef)(new Map),o=e.payload.kind===`mcp-elicitation-form`||e.payload.kind===`agent-question`?e.payload.fields:[],s=o.some(e=>e.secret),c=aM(),l=o.filter(e=>!e.secret&&(e.input===`text`||e.input===`multiline`)).map(t=>iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.id)),u=cM(l),[d,f]=(0,z.useState)(()=>PU(o)),p=(0,z.useMemo)(()=>{let t={...d};return o.forEach(n=>{if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,n.id);t[n.id]=u.get(r)??``}}),t},[o,d,u,c,e.id,e.owner]),[m,h]=(0,z.useState)({}),[g,_]=(0,z.useState)(),[v,y]=(0,z.useState)(),[b,x]=(0,z.useState)(!1),[S,C]=(0,z.useState)(),[w,T]=(0,z.useState)(!1),E=bU(e.delivery?.effect),D=(0,z.useMemo)(()=>kU(e),[e]).filter(e=>!(s&&e.requiresValues)),O=e.allowedDecisions.length-D.length,ee=(0,z.useCallback)(t=>{for(let n of o)if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=t[n.id];typeof r==`string`&&nM.set(iM.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,n.id),r)}f(t)},[o,c,e.id,e.owner]);(0,z.useEffect)(()=>{if(!t)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[t,e.id]),(0,z.useEffect)(()=>{E.actionsEnabled||(C(void 0),T(!1))},[E.actionsEnabled]);let k=nd({mutationFn:async({decision:t,values:n,responseId:r})=>{if(t.semantic===`cancel`&&e.provider.kind===`fray`){let t=await Z.interactionCancel({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision});return{effect:t.effect,interaction:t.interaction,waitingForProvider:!1}}let i=await Z.interactionResolve({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id,sessionEpoch:e.owner.sessionEpoch,capabilityRevision:e.owner.capabilityRevision,expectedRecordRevision:e.recordRevision,responseId:r,decisionId:t.id,...n===void 0?{}:{values:n}});return{effect:i.effect,interaction:i.interaction,waitingForProvider:i.interaction.delivery?.effect===`sending`||i.effect===`queued`||i.effect===`already-queued`}},onSuccess:(t,r)=>{t.waitingForProvider||a.current.delete(LU(r.decision.id,r.values)),_(void 0),C(void 0),T(!1),x(!0),l.forEach(e=>nM.clear(e)),y(t.waitingForProvider?`Response sent. Waiting for the provider to acknowledge it…`:`Request completed.`),Lg(n,t.interaction),n.setQueryData(Ig(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t.interaction}),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0}),t.waitingForProvider&&window.setTimeout(()=>{n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})},1e3)},onError:t=>{y(void 0),_(ZU(t)),Rg(n,e),Z.interactionGet({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id}).then(({interaction:t})=>{Lg(n,t),n.setQueryData(Ig(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t}),t.delivery?.effect===`sending`?(_(void 0),y(void 0),x(!0)):t.delivery?.effect===`reconnect-required`?(_(void 0),y(void 0)):(t.lifecycle!==`pending`||t.recordRevision!==e.recordRevision)&&(_(void 0),y(t.lifecycle===`expired`?`This request expired.`:`This request changed in another client.`),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})),n.invalidateQueries({queryKey:Fg(e.owner.threadSlug,e.owner.sessionId),exact:!0})}).catch(()=>{})}});function A(e){if(!e.requiresValues){h({});return}let t=IU(o,p);return h(t.errors),t.formError?(_(t.formError),null):t.values?t.values:null}function j(e,t=!1){if(!E.actionsEnabled||k.isPending||b)return;_(void 0);let n=A(e);if(n===null)return;if(e.durable&&!t){C(e),T(!1);return}let r=LU(e.id,n),i=a.current.get(r)??QU();a.current.set(r,i),k.mutate({decision:e,values:n,responseId:i})}let M=D.find(e=>e.requiresValues&&e.tone===`primary`);function N(e){e.preventDefault(),E.actionsEnabled&&M&&j(M)}return(0,B.jsxs)(`article`,{ref:i,tabIndex:-1,"aria-labelledby":r,"data-interaction-id":e.id,"data-interaction-kind":e.payload.kind,"data-delivery-effect":e.delivery?.effect,className:`min-w-0 ${jV} border border-accent/45 bg-accent/[0.065] shadow-sm shadow-black/15 outline-none focus-visible:ring-2 focus-visible:ring-accent/60`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3 border-b border-accent/20 px-4 py-3`,children:[(0,B.jsx)(my,{"aria-hidden":`true`,size:16,className:`mt-0.5 shrink-0 text-accent`}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsxs)(`div`,{className:`text-[10px] font-medium uppercase tracking-[0.08em] text-accent`,children:[AU(e.payload.kind),` · `,E.eyebrow]}),(0,B.jsx)(`h3`,{id:r,className:`mt-0.5 break-words text-[14px] font-semibold leading-snug text-fg`,children:e.payload.title})]})]}),(0,B.jsx)(`form`,{onSubmit:N,className:`min-w-0 px-4 py-3.5`,noValidate:!0,children:(0,B.jsxs)(`fieldset`,{disabled:!E.actionsEnabled,className:`min-w-0 border-0 p-0`,children:[(0,B.jsx)(`legend`,{className:`sr-only`,children:`Interaction request`}),(0,B.jsx)(iW,{record:e,instanceId:r,draft:p,setDraft:ee,errors:m,autoFocus:t}),s&&(0,B.jsxs)(`div`,{"data-secret-fallback":!0,className:`mt-3 rounded-md border border-amber-500/35 bg-amber-500/[0.07] p-3 text-[12px] leading-snug text-amber-100/90`,children:[(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(ty,{"aria-hidden":`true`,size:14,className:`mt-0.5 shrink-0`}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`font-medium`,children:`Secret input is unavailable in this page.`}),(0,B.jsx)(`div`,{className:`mt-1 text-amber-100/70`,children:`Fray will not persist or send secret values through the current RPC.`})]})]}),(0,B.jsx)(`div`,{className:`mt-2 font-medium`,children:`Use the provider's trusted secret-input flow. The thread terminal cannot answer this typed request.`})]}),O>0&&(0,B.jsxs)(`div`,{className:`mt-3 flex items-start gap-2 rounded-md border border-amber-500/25 bg-amber-500/[0.05] px-3 py-2 text-[11px] leading-snug text-amber-100/75`,children:[(0,B.jsx)(Sy,{"aria-hidden":`true`,size:13,className:`mt-0.5 shrink-0`}),(0,B.jsxs)(`span`,{children:[O===1?`One advertised choice`:`${O} advertised choices`,` cannot be safely labeled or delivered in Fray and is not shown.`]})]}),S&&(0,B.jsxs)(`div`,{"data-durable-confirmation":!0,role:`group`,"aria-label":`Confirm ${S.label}`,className:`mt-3 rounded-md border border-amber-400/45 bg-amber-500/[0.08] p-3`,children:[(0,B.jsx)(`div`,{className:`text-[12px] font-semibold text-amber-100`,children:`This approval persists beyond the current request.`}),(0,B.jsx)(`div`,{className:`mt-1 text-[11px] leading-snug text-amber-100/75`,children:S.scope}),(0,B.jsxs)(`label`,{className:`mt-2.5 flex cursor-pointer items-start gap-2 text-[11px] leading-snug text-fg/85`,children:[(0,B.jsx)(`input`,{type:`checkbox`,autoFocus:!0,checked:w,onChange:e=>T(e.target.checked),className:`mt-0.5 accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:`I understand this may authorize later matching actions in this session.`})]}),(0,B.jsxs)(`div`,{className:`mt-3 flex flex-wrap justify-start gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,onClick:()=>{C(void 0),T(!1)},className:`rounded-md border border-border px-2.5 py-1.5 text-[11px] text-muted hover:bg-panel-2 hover:text-fg`,children:`Back`}),(0,B.jsxs)(`button`,{type:`button`,disabled:!w||k.isPending,onClick:()=>j(S,!0),className:`rounded-md border border-amber-400/50 bg-amber-500/15 px-2.5 py-1.5 text-[11px] font-semibold text-amber-50 hover:bg-amber-500/25 disabled:opacity-35`,children:[`Confirm `,S.label.toLowerCase()]})]})]}),g&&(0,B.jsx)(`div`,{role:`alert`,className:`mt-3 break-words text-[11px] leading-snug text-red-300`,children:g}),(E.status??v)&&(0,B.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`mt-3 text-[11px] leading-snug text-muted`,children:E.status??v}),E.actionsEnabled&&!S&&!b&&D.length>0&&(0,B.jsxs)(`div`,{className:`mt-4 flex flex-wrap justify-start gap-2`,children:[D.map(e=>(0,B.jsxs)(`button`,{type:e===M?`submit`:`button`,"data-interaction-decision":e.id,disabled:k.isPending,"aria-describedby":e.durable?`${r}-scope-${e.id}`:void 0,onClick:e===M?void 0:()=>j(e),className:rW(e),children:[k.isPending?`Sending…`:e.label,e.durable&&(0,B.jsx)(`span`,{className:`sr-only`,children:`; persistent approval`})]},e.id)),D.filter(e=>e.durable).map(e=>(0,B.jsx)(`span`,{id:`${r}-scope-${e.id}`,className:`sr-only`,children:e.scope},`scope-${e.id}`))]})]})})]})}function rW(e){let t=`rounded-md border px-2.5 py-1.5 text-[11px] font-medium outline-none transition-colors focus-visible:ring-2 focus-visible:ring-fg/50 disabled:opacity-40`;return e.tone===`primary`?`${t} border-accent/55 bg-accent/15 text-fg hover:bg-accent/25`:e.tone===`danger`?`${t} border-red-400/35 bg-red-500/[0.07] text-red-200 hover:bg-red-500/15`:`${t} border-border bg-panel text-muted hover:bg-panel-2 hover:text-fg`}function iW({record:e,instanceId:t,draft:n,setDraft:r,errors:i,autoFocus:a}){let o=e.payload,s=(e,t)=>r(FU(n,e,t)),c;return c=o.kind===`command-approval`||o.kind===`file-approval`||o.kind===`permission-approval`?(0,B.jsx)(dU,{payload:o}):o.kind===`mcp-elicitation-url`?(0,B.jsx)(oW,{url:o.url}):(0,B.jsx)(cW,{instanceId:t,fields:o.fields,draft:n,setValue:s,errors:i,autoFocus:a}),(0,B.jsxs)(B.Fragment,{children:[`message`in o&&o.message&&(0,B.jsx)(aW,{text:o.message}),(0,B.jsx)(`div`,{className:`message`in o&&o.message?`mt-3`:``,children:c}),(0,B.jsx)(sW,{record:e})]})}function aW({text:e}){return e.length>600||e.split(`
|
|
351
|
+
`).length>6?(0,B.jsxs)(`details`,{className:`rounded-md border border-border/70 bg-panel/60`,children:[(0,B.jsx)(`summary`,{className:`cursor-pointer px-2.5 py-2 text-[11px] text-muted outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/50`,children:`Request message`}),(0,B.jsx)(`div`,{className:`max-h-52 overflow-auto border-t border-border/60 px-2.5 py-2 whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})]}):(0,B.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})}function oW({url:e}){let t=RU(e,location.href);return(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`div`,{className:`text-[11px] font-medium text-fg`,children:`Open this page to continue`}),(0,B.jsx)(`code`,{className:`mt-1.5 block max-h-24 overflow-auto break-all rounded-md border border-border bg-bg/40 px-2.5 py-2 font-mono-keep text-[10.5px] text-fg/80`,children:e}),t?(0,B.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:`mt-2 inline-flex items-center gap-1.5 rounded-md border border-border bg-panel px-2.5 py-1.5 text-[11px] font-medium text-fg hover:bg-panel-2`,children:[(0,B.jsx)(Hv,{"aria-hidden":`true`,size:12}),`Open page`]}):(0,B.jsx)(`div`,{role:`alert`,className:`mt-1.5 break-words text-[11px] text-red-300`,children:`This request did not provide a safe http(s) URL.`})]})}function sW({record:e}){return(0,B.jsxs)(`details`,{className:`mt-3 border-t border-border/50 pt-2 text-[10.5px] text-muted/70`,children:[(0,B.jsx)(`summary`,{className:`cursor-pointer w-fit outline-none hover:text-muted focus-visible:ring-1 focus-visible:ring-fg/50`,children:`Request details`}),(0,B.jsxs)(`dl`,{className:`mt-2 grid min-w-0 grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1`,children:[(0,B.jsx)(`dt`,{children:`Provider`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:jU(e.provider.kind)}),e.provider.name&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported name`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.name})]}),e.provider.version&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported version`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.version})]}),(0,B.jsx)(`dt`,{children:`Source`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:MU(e.source.kind)}),e.source.label&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Reported source`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.source.label})]}),(0,B.jsx)(`dt`,{children:`Scope`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:`This thread · this request`}),e.expiresAt&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`dt`,{children:`Expires`}),(0,B.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.expiresAt})]})]})]})}function cW({instanceId:e,fields:t,draft:n,setValue:r,errors:i,autoFocus:a}){let o=t.findIndex(e=>!e.secret);return(0,B.jsxs)(`fieldset`,{className:`min-w-0`,children:[(0,B.jsx)(`legend`,{className:`sr-only`,children:`Requested information`}),(0,B.jsx)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:t.map((t,s)=>(0,B.jsx)(lW,{instanceId:e,field:t,value:n[t.id],setValue:e=>r(t.id,e),error:i[t.id],autoFocus:a&&s===o},t.id))})]})}function lW({instanceId:e,field:t,value:n,setValue:r,error:i,autoFocus:a}){let o=`${e}-${t.id}`,s=t.description?`${o}-description`:void 0,c=i?`${o}-error`:void 0,l=[s,c].filter(Boolean).join(` `)||void 0,u=(0,B.jsxs)(B.Fragment,{children:[t.label,t.required&&(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`ml-0.5 text-accent`,children:`*`})]}),d=`mt-1 w-full min-w-0 rounded-md border border-border bg-bg/45 px-2.5 py-2 text-[12px] text-fg outline-none focus:border-accent focus:ring-1 focus:ring-accent/40`,f;if(t.secret)f=(0,B.jsx)(`div`,{className:`mt-1 text-[11px] text-amber-100/70`,children:`Use the secure fallback below.`});else if(t.input===`multiline`)f=(0,B.jsx)(`textarea`,{id:o,name:t.id,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,minLength:t.minLength,maxLength:t.maxLength,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,rows:4,className:`${d} resize-y`});else if(t.input===`text`){let e=t.format===`email`?`email`:t.format===`uri`?`url`:t.format===`date`?`date`:`text`;f=(0,B.jsx)(`input`,{id:o,name:t.id,type:e,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,minLength:t.minLength,maxLength:t.maxLength,placeholder:t.format===`date-time`?`2026-07-13T12:00:00Z`:void 0,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d})}else if(t.input===`number`||t.input===`integer`)f=(0,B.jsx)(`input`,{id:o,name:t.id,type:`number`,step:t.input===`integer`?1:`any`,min:t.minimum,max:t.maximum,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d});else if(t.input===`boolean`)f=(0,B.jsxs)(`label`,{htmlFor:o,className:`mt-1 flex cursor-pointer items-center gap-2 rounded-md border border-border bg-bg/30 px-2.5 py-2 text-[12px] text-fg/85`,children:[(0,B.jsx)(`input`,{id:o,name:t.id,type:`checkbox`,checked:n===!0,onChange:e=>r(e.target.checked),"aria-describedby":l,autoFocus:a,className:`accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:u})]});else if(t.input===`select`)f=(0,B.jsxs)(`select`,{id:o,name:t.id,value:typeof n==`string`?n:``,onChange:e=>r(e.target.value),required:t.required,"aria-describedby":l,"aria-invalid":!!i,autoFocus:a,className:d,children:[(0,B.jsx)(`option`,{value:``,children:`Choose an option…`}),t.options.map((e,t)=>(0,B.jsx)(`option`,{value:String(t),children:e.label},t))]});else if(t.input===`multi-select`){let e=Array.isArray(n)?n:[];f=(0,B.jsxs)(`fieldset`,{id:o,"aria-describedby":l,className:`mt-1 rounded-md border border-border bg-bg/30 px-2.5 py-2`,children:[(0,B.jsx)(`legend`,{className:`px-1 text-[11px] font-medium text-fg/85`,children:u}),(0,B.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t.options.map((n,i)=>{let o=String(i);return(0,B.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-[12px] text-fg/85`,children:[(0,B.jsx)(`input`,{type:`checkbox`,name:t.id,value:o,checked:e.includes(o),onChange:t=>r(t.target.checked?[...e,o]:e.filter(e=>e!==o)),autoFocus:a&&i===0,className:`mt-0.5 accent-[var(--color-accent)]`}),(0,B.jsx)(`span`,{children:n.label})]},o)})})]})}return(0,B.jsxs)(`div`,{className:`min-w-0`,children:[t.secret?(0,B.jsx)(`div`,{className:`text-[11px] font-medium text-fg/85`,children:u}):t.input!==`boolean`&&t.input!==`multi-select`?(0,B.jsx)(`label`,{htmlFor:o,className:`block text-[11px] font-medium text-fg/85`,children:u}):null,t.description&&(0,B.jsx)(`div`,{id:s,className:`mt-0.5 whitespace-pre-wrap break-words text-[10.5px] leading-snug text-muted`,children:t.description}),f,i&&(0,B.jsx)(`div`,{id:c,role:`alert`,className:`mt-1 text-[10.5px] text-red-300`,children:i})]})}function uW(e){let t=(e.subAgents??[]).filter(e=>Zm(e)&&e.state===`running`).length,n=(e.bgShells??[]).filter(e=>e.state===`running`).length,r=`${t} sub-agent${t===1?``:`s`}`,i=`${n} background task${n===1?``:`s`}`;return t>0&&n>0?`${r} and ${i}`:t>0?r:i}function dW({thread:e,actions:t}){return(0,B.jsxs)(LV,{"data-awaiting-background":!0,icon:$v,label:`Awaiting background work`,children:[(0,B.jsxs)(`p`,{className:RV,children:[`This agent has come to rest, but it’s awaiting the results from `,uW(e),` it dispatched. It returns to the queue on its own when the work comes back.`]}),t?(0,B.jsx)(zV,{children:t}):null]})}function fW(e,t){for(let n of[e,t])if(n&&Number.isFinite(Date.parse(n)))return n}function pW(e,t=Date.now()){let n=e?Date.parse(e):NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return null;let r=Math.max(0,Math.floor((t-n)/1e3));if(r===0)return`Last active just now`;if(r<60)return`Last active ${r} ${r===1?`second`:`seconds`} ago`;let i=Math.floor(r/60);if(i<60)return`Last active ${i} ${i===1?`minute`:`minutes`} ago`;let a=Math.floor(i/60);if(a<24)return`Last active ${a} ${a===1?`hour`:`hours`} ago`;let o=Math.floor(a/24);if(o<7)return`Last active ${o} ${o===1?`day`:`days`} ago`;let s=Math.floor(o/7);if(s<5)return`Last active ${s} ${s===1?`week`:`weeks`} ago`;let c=Math.floor(o/30);if(c<12)return`Last active ${c} ${c===1?`month`:`months`} ago`;let l=Math.floor(o/365);return`Last active ${l} ${l===1?`year`:`years`} ago`}function mW({at:e,fallbackAt:t,className:n=``}){let r=$b(),i=fW(e,t),a=pW(i,r);return!a||!i?null:(0,B.jsx)(`time`,{dateTime:i,className:n,children:a})}var hW=1500;function gW(e,t){let n=0,r;function i(){r!==void 0&&(t.clearTimeout(r),r=void 0)}return{begin(){let a=++n;return e(!0),i(),r=t.setTimeout(()=>{a===n&&e(!1),r=void 0},hW),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var _W=`Could not copy terminal command`,vW={attach:`Attach command copied`,resume:`Resume command copied`},yW={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},bW=e=>[`terminalCommand`,e];function xW(e){return Z.threadTerminalCommand({slug:e}).then(e=>{if(!e.command)throw Error(e.reason??`No verified provider session is available to resume`);return{command:e.command,mode:e.mode===`attach`?`attach`:`resume`}})}async function SW(e){let t=xW(e);if(typeof ClipboardItem<`u`&&navigator.clipboard?.write)return await navigator.clipboard.write([new ClipboardItem({"text/plain":t.then(({command:e})=>new Blob([e],{type:`text/plain`}))})]),(await t).mode;let{command:n,mode:r}=await t;if(!navigator.clipboard?.writeText)throw Error(`Clipboard access is unavailable; copy the command from a secure Fray page`);return await navigator.clipboard.writeText(n),r}function CW(e){let t=nd({mutationFn:()=>SW(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),X(vW[t])},onError:t=>{e?.onError?.(),X(t instanceof Error?`${_W}: ${t.message}`:_W,{duration:7e3})}})}function wW({slug:e}){let[t,n]=(0,z.useState)(!1),r=(0,z.useRef)(null);r.current||=gW(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Bu(),a=CW(e);(0,z.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:bW(e),queryFn:()=>xW(e),staleTime:15e3})}function s(){let t=i.getQueryData(bW(e));if(t&&navigator.clipboard?.writeText){navigator.clipboard.writeText(t.command).then(()=>{r.current?.begin(),X(vW[t.mode])},()=>X(_W,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(bW(e)),l=t?c?vW[c.mode]:`Terminal command copied`:c?yW[c.mode]:`Copy terminal command`;return(0,B.jsx)(rN,{label:l,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:t?(0,B.jsx)(Av,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,B.jsx)(vy,{size:14,strokeWidth:1.8})})})}function TW(e){return`/thread/${encodeURIComponent(e)}/full`}function EW(e){let t=e.match(/^\/thread\/([^/]+)\/full$/);if(!t)return null;try{return decodeURIComponent(t[1])}catch{return null}}function DW(e){let t=Math.max(e.scrollHeight-e.clientHeight,0),n=t-e.scrollTop,r=e.scrollHeight!==e.previousScrollHeight,i=r&&!e.readerMoved?e.following||n<=1:n<=4;return!i||!r||t<=0||n<=1?{following:i,scrollTop:null}:{following:i,scrollTop:t}}function OW(e){let t=e.scrollTop>640?!0:e.armed,n=t&&e.readerMoved&&e.scrollTop<=480&&e.hasEarlier&&!e.loading;return{armed:n?!1:t,shouldLoad:n}}function kW(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function AW(e,t,n,r,i){let a=[],o=new Map,s=null,c=!1;return e.forEach((e,l)=>{if(e.queued||t(e))return;let u=e.sourceId??kW(e),d=o.get(u)??0;o.set(u,d+1);let f=s===null?0:s&&n(e)?6:i,p=f>0&&c&&e.role!==`user`?3:0;a.push({key:d===0?u:`${u}:${d}`,message:e,messageIndex:l,gap:f+p}),s=r(e),c=e.role===`user`}),a}var jW=new Set([`agent`,`agents`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]);function MW(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function NW(e){return MW(e).toLowerCase()}function PW(e){return{name:`thought`,thought:e}}function FW(e){return e.role===`assistant`&&e.kind===`event`&&!e.boundary&&e.text.startsWith(`Thought for `)}function IW(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||jW.has(NW(e.name))}function LW(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(e.parts&&e.parts.length>0){let t=[];for(let n of e.parts)if(n.kind===`text`){if(n.text.trim())return null}else t.push(...n.tools);return t.length>0&&t.every(e=>!IW(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!IW(e))?e.tools:null}function RW(e){return e.role!==`assistant`||e.kind||e.queued||e.text.trim()||e.tools.length>0?!1:!e.parts?.some(e=>e.kind===`text`?e.text.trim().length>0:e.tools.length>0)}function zW(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return LW(e);for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n.kind===`text`){if(n.text.trim())return null;continue}if(n.tools.length!==0)return n.tools.every(e=>!IW(e))?n.tools:null}return null}function BW(e,t,n){let r=[...e.tools,...t],i=e.parts?.map(e=>e.kind===`text`?e:{...e,tools:[...e.tools]})??[],a=-1;for(let e=i.length-1;e>=0;e--){let t=i[e];if(t.kind===`text`){if(t.text.trim())break;continue}if(t.tools.length>0){a=e;break}}let o=i[a];return o?.kind===`tools`?i[a]={kind:`tools`,tools:[...o.tools,...t]}:i.push({kind:`tools`,tools:t}),{...e,at:n??e.at,tools:r,parts:i}}function VW(e){let t=[],n=null;return e.forEach((e,r)=>{if(RW(e))return;if(FW(e)&&n){n.message=BW(n.message,[PW(e.text)],e.at);return}let i=LW(e);if(i&&n){n.message=BW(n.message,i,e.at);return}let a={message:e,messageIndex:r};t.push(a),n=zW(e)?a:null}),t}function HW(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.queued)continue;let r=zW(n);for(let e=(r?.length??0)-1;e>=0;e--)if(r?.[e].thought===void 0)return r?.[e];return}}function UW(e){let t=zW(e);if(!t)return e;let n=e.tools.length>=t.length?e.tools.slice(0,e.tools.length-t.length):e.tools.filter(e=>!t.includes(e)),r=!1,i=e.parts?e.parts.reduceRight((e,n)=>!r&&n.kind===`tools`&&n.tools===t?(r=!0,e):(e.unshift(n),e),[]):e.parts;return{...e,tools:n,parts:i}}function WW(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){zW(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?UW(r.message):r.message;RW(e)||n.push(e===r.message?r:{...r,message:e})}return n}function GW(e){return e.detail?.trim()||void 0}var KW={add:`Adding`,analyze:`Analyzing`,apply:`Applying`,audit:`Auditing`,benchmark:`Benchmarking`,build:`Building`,bump:`Bumping`,capture:`Capturing`,check:`Checking`,clean:`Cleaning`,collect:`Collecting`,commit:`Committing`,compare:`Comparing`,confirm:`Confirming`,copy:`Copying`,count:`Counting`,create:`Creating`,debug:`Debugging`,delete:`Deleting`,diff:`Diffing`,disable:`Disabling`,dispatch:`Dispatching`,drive:`Driving`,dump:`Dumping`,edit:`Editing`,enable:`Enabling`,extract:`Extracting`,fetch:`Fetching`,find:`Finding`,fix:`Fixing`,format:`Formatting`,generate:`Generating`,grep:`Grepping`,inspect:`Inspecting`,install:`Installing`,kill:`Killing`,launch:`Launching`,lint:`Linting`,list:`Listing`,load:`Loading`,measure:`Measuring`,merge:`Merging`,migrate:`Migrating`,move:`Moving`,open:`Opening`,parse:`Parsing`,patch:`Patching`,poll:`Polling`,print:`Printing`,probe:`Probing`,profile:`Profiling`,publish:`Publishing`,pull:`Pulling`,push:`Pushing`,query:`Querying`,read:`Reading`,rebase:`Rebasing`,refactor:`Refactoring`,regenerate:`Regenerating`,remove:`Removing`,rename:`Renaming`,render:`Rendering`,reproduce:`Reproducing`,restart:`Restarting`,revert:`Reverting`,review:`Reviewing`,run:`Running`,save:`Saving`,scan:`Scanning`,search:`Searching`,seed:`Seeding`,spawn:`Spawning`,start:`Starting`,stop:`Stopping`,summarize:`Summarizing`,sync:`Syncing`,tag:`Tagging`,test:`Testing`,trace:`Tracing`,typecheck:`Typechecking`,update:`Updating`,validate:`Validating`,verify:`Verifying`,wait:`Waiting`,watch:`Watching`,write:`Writing`};function qW(e,t){let n=e?.trim();if(!n)return t;let r=n.indexOf(` `),i=(r===-1?n:n.slice(0,r)).replace(/[.:]$/,``);if(/ing$/i.test(i))return i.charAt(0).toUpperCase()+i.slice(1)+(r===-1?``:n.slice(r));let a=KW[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function JW(e,t){let n=t?.trim().replace(/\/+$/,``);if(!n||n===`/`||!n.startsWith(`/`))return e;let r=e.replaceAll(`${n}/`,``),i=/^(\/(?:Users|home)\/[^/]+)(?:\/|$)/.exec(n)?.[1];return i?r.replaceAll(`${i}/`,`~/`):r}function YW(e,t){return JW(XW(e),t)}function XW(e){let t=NW(e.name),n=GW(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?qW(e.desc,n?`Running ${n}`:`Running a command`):t===`read`||t===`view image`?`Reading${r||` a file`}`:t===`grep`||t===`search`||t===`search query`||t===`find`?n?`Searching for ${n}`:`Searching`:t===`glob`||t===`find files`?n?`Finding ${n}`:`Finding files`:t===`edit`||t===`write`||t===`apply patch`?n?`Editing ${n}`:`Editing files`:t===`todos`||t===`update plan`?`Updating the plan`:t===`screenshot`||t===`snapshot`?n?`Capturing ${n}`:`Capturing the page`:t===`navigate`?n?`Navigating to ${n}`:`Navigating`:t===`evaluate`?`Evaluating the page`:t===`pages`?`Listing pages`:t===`new page`?`Opening a new page`:t===`close page`?`Closing the page`:t===`select page`?`Selecting a page`:t===`console`||t===`console message`?`Reading the console`:t===`network`||t===`network request`?`Inspecting network traffic`:t===`press key`?n?`Pressing ${n}`:`Pressing a key`:t===`fill form`?`Filling the form`:t===`dialog`?`Handling a dialog`:t===`upload`?n?`Uploading ${n}`:`Uploading a file`:t===`wait for`||t===`wait`?n?`Waiting for ${n}`:`Waiting`:t===`resize`?`Resizing the page`:t===`ask`?`Preparing a question`:t===`web`||t===`web search`?n?`Searching for ${n}`:`Searching the web`:`Using ${MW(e.name)||`a tool`}`}var ZW=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function QW(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[]))e.file.trim()&&t.add(e.file.trim());if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&ZW.has(NW(n.name))&&t.add(e)}return t.size}function $W(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function eG(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function tG(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function nG(e,t){let n=eG(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function rG({directive:e,icon:t,title:n,meta:r,children:i}){return(0,B.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${jV} border border-border bg-panel-2/75 p-4`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-muted`,"aria-hidden":!0,children:t}),(0,B.jsx)(`div`,{className:`max-w-[calc(100%-1.5rem)] shrink-0 break-words text-[12px] font-medium leading-4 text-fg`,children:n}),r&&(0,B.jsx)(`div`,{className:`min-w-0 truncate text-[11px] font-normal leading-4 text-muted`,children:r})]}),i]})}function iG({children:e,mono:t=!1}){return(0,B.jsx)(`div`,{className:`ml-6 mt-1 break-words text-[11px] leading-4 text-muted${t?` font-mono-keep`:``}`,children:e})}function aG({directive:e}){let t=e.attrs,n=eG(t,`display_name`)??eG(t,`skill_name`)??`Artifact template`,r=eG(t,`artifact_kind`),i=eG(t,`skill_name`),a=eG(t,`skill_directory`),[o,s]=(0,z.useState)(!!a);return(0,B.jsxs)(rG,{directive:e,icon:(0,B.jsx)(ny,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,B.jsx)(iG,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(`${a}/assets/preview.png`)}`,alt:`${n} template preview`,loading:`lazy`,onError:()=>s(!1),className:`ml-6 mt-2 max-h-44 max-w-[calc(100%-1.5rem)] rounded-md border border-border object-contain`})]})}function oG({directive:e}){let t=e.attrs,n=eG(t,`file`),r=tG(t,`start`),i=tG(t,`end`)??r,a=tG(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,B.jsxs)(rG,{directive:e,icon:(0,B.jsx)(ay,{size:15}),title:eG(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[eG(t,`body`)&&(0,B.jsx)(iG,{children:eG(t,`body`)}),n?(0,B.jsx)(`button`,{type:`button`,className:`local-file-action ml-6 mt-1 max-w-[calc(100%-1.5rem)] break-all text-left font-mono-keep text-[11px] leading-4 text-accent underline decoration-dotted underline-offset-2`,"data-local-path":n,title:o,children:o}):(0,B.jsx)(iG,{mono:!0,children:o})]})}var sG={"git-stage":[cy,`Changes staged`],"git-commit":[Kv,`Commit created`],"git-create-branch":[Gv,`Branch created`],"git-push":[Cy,`Branch pushed`],"git-create-pr":[Xv,`Pull request created`]};function cG({directive:e}){let[t,n]=sG[e.name],r=eG(e.attrs,`branch`),i=nG(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,B.jsx)(rG,{directive:e,icon:(0,B.jsx)(t,{size:15}),title:i?(0,B.jsx)(`a`,{className:`text-accent underline underline-offset-2`,href:i,target:`_blank`,rel:`noopener noreferrer`,children:a}):a,meta:r&&(0,B.jsx)(`span`,{className:`font-mono-keep`,children:r})})}function lG({directive:e}){let t=eG(e.attrs,`threadId`),n=eG(e.attrs,`pendingWorktreeId`);return(0,B.jsx)(rG,{directive:e,icon:(0,B.jsx)(sy,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,B.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function uG({directive:e}){let t=eG(e.attrs,`reason`);return(0,B.jsx)(rG,{directive:e,icon:(0,B.jsx)(Sv,{size:15}),title:`Archive suggested`,meta:t})}function dG(e){if(typeof e!=`string`||!e)return;let t=e.match(/(?:^|;)INTERVAL=(\d+)(?:;|$)/)?.[1];return/(?:^|;)FREQ=HOURLY(?:;|$)/.test(e)?`Every ${t??`1`} hour${t===`1`||t===void 0?``:`s`}`:/(?:^|;)FREQ=WEEKLY(?:;|$)/.test(e)?`Weekly schedule`:`Custom schedule`}function fG({directive:e}){let t=e.attrs,n=eG(t,`mode`),r=eG(t,`name`)??`Automation`,i=dG(t.rrule),a=[r,n,eG(t,`status`),i].filter(Boolean).join(` · `);return(0,B.jsx)(rG,{directive:e,icon:(0,B.jsx)(kv,{size:15}),title:`Automation suggested`,meta:a,children:eG(t,`prompt`)&&(0,B.jsx)(iG,{children:eG(t,`prompt`)})})}function pG({directive:e}){return e.name===`artifact-template`?(0,B.jsx)(aG,{directive:e}):e.name===`code-comment`?(0,B.jsx)(oG,{directive:e}):e.name.startsWith(`git-`)?(0,B.jsx)(cG,{directive:e}):e.name===`created-thread`?(0,B.jsx)(lG,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,B.jsx)(uG,{directive:e}):(0,B.jsx)(fG,{directive:e})}var mG;function hG(){return mG??=bj(async()=>{let{default:e}=await import(`./mermaid.core-gXHP6zd5.js`);return{default:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])).then(({default:e})=>(e.initialize({startOnLoad:!1,securityLevel:`strict`,theme:`dark`,themeVariables:{background:`#181b20`,primaryColor:`#181b20`,primaryTextColor:`#e6e7e9`,primaryBorderColor:`#33363c`,lineColor:`#8b8f96`,secondaryColor:`#26282d`,tertiaryColor:`#0d0e10`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`}}),e)),mG}function gG({source:e}){let t=(0,z.useId)(),[n,r]=(0,z.useState)({});return(0,z.useEffect)(()=>{let n=!0;if(r({}),e.length>5e4)return r({error:`Diagram source exceeds the 50 KB rendering limit`}),()=>{n=!1};let i=`fray-mermaid-${t.replace(/[^a-zA-Z0-9]/g,``)}`;return hG().then(t=>t.render(i,e)).then(({svg:e})=>{n&&r({html:e})}).catch(e=>{if(!n)return;let t=e instanceof Error?e.message.split(/\n| for text:/,1)[0]:`Unknown diagram error`;r({error:t.slice(0,240)})}).finally(()=>document.getElementById(`d${i}`)?.remove()),()=>{n=!1}},[t,e]),n.error?(0,B.jsxs)(`section`,{"data-mermaid-state":`error`,className:`${jV} border border-border bg-panel-2/75 p-4`,children:[(0,B.jsx)(`div`,{className:`text-[12px] font-medium text-fg`,children:`Diagram unavailable`}),(0,B.jsx)(`div`,{className:`mt-1 text-[11px] text-muted`,children:n.error}),(0,B.jsx)(`pre`,{className:`mt-2 overflow-x-auto whitespace-pre-wrap rounded-md bg-bg p-2 font-mono-keep text-[11px] text-muted`,children:e})]}):n.html?(0,B.jsx)(`div`,{"data-mermaid-state":`ready`,className:`overflow-x-auto ${jV} border border-border bg-panel-2/75 p-4 [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full`,dangerouslySetInnerHTML:{__html:n.html}}):(0,B.jsx)(`div`,{"data-mermaid-state":`loading`,role:`status`,"aria-label":`Rendering diagram`,className:`h-24 animate-pulse ${jV} bg-panel-2`})}var _G=(0,z.createContext)(null),vG=(0,z.createContext)(null);function yG(){let e=(0,z.useContext)(_G),t=(0,z.useContext)(vG);return e??t}var bG=(0,z.createContext)(null);function xG(e){return e.status===`pending`&&e.backgroundState===`background`}function SG(e){let t=[];for(let n of e)for(let e of n.tools)xG(e)&&n.at&&t.push({label:e.desc??e.detail??e.command??`Background command`,startedAt:n.at,state:`running`,...e.shellId?{launchId:e.shellId}:{}});return t}function CG(e){return e.map(e=>{if(!e.tools.some(xG))return e;let t=e.tools.filter(e=>!xG(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!xG(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function wG({slug:e,tab:t,onTab:n,onStatusApplied:r,onClose:i,virtualized:a=!1,showReturnToQueue:o=!1}){let s=xg(J_(),e);return(0,B.jsxs)(JI,{value:t,onValueChange:e=>n(e),activationMode:`automatic`,className:`flex-1 min-h-0 flex flex-col`,children:[(0,B.jsx)(jG,{slug:e,tab:t,onStatusApplied:r,onClose:i,showReturnToQueue:o}),t===`scratch`?(0,B.jsxs)(ZI,{value:`scratch`,className:`flex-1 min-h-0 flex flex-col outline-none`,children:[(0,B.jsx)($U,{thread:s,className:`mx-4 mt-3 max-h-[45vh] shrink-0 overflow-y-auto`}),(0,B.jsx)(NG,{slug:e})]}):(0,B.jsx)(TG,{slug:e,onTab:n,virtualized:a}),s&&(0,B.jsx)($H,{thread:s,sticky:!0,safeArea:!0,onArchived:r})]})}function TG({slug:e,onTab:t,virtualized:n}){let r=J_(),i=xg(r,e),a=i?.runtime===`running`||i?.runtime===`spawning`,o=i?.foreign?void 0:i?.nativeInputRequired,s=CW(e),c=i?.pendingInteraction?void 0:i?.pendingAsk,l=iv(e,{poll:a}),u=Bu(),d=(0,z.useRef)(!1),[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(null),g=(0,z.useMemo)(()=>l.data?.messages??[],[l.data]),_=(0,z.useMemo)(()=>SG(g),[g]),v=(0,z.useMemo)(()=>CG(g),[g]),y=(0,z.useMemo)(()=>VW(v),[v]),b=a?HW(y.map(e=>e.message)):void 0,x=b?YW(b,r?.projectDir):void 0,S=(0,z.useMemo)(()=>a?WW(y):y,[y,a]),C=a,w=(0,z.useMemo)(()=>kV(g),[g]),T=(0,z.useMemo)(()=>yH(g),[g]),{stickyUserMessage:E}=Yd(Xy),{answeringForMessage:D}=rH(e,g,void 0,{multiMessage:!0}),O=(0,z.useRef)(null),[ee,k]=(0,z.useState)(null),A=l.data?.messages.length??0;(0,z.useEffect)(()=>{if(n)return;let e=O.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[A,a,n]);let j=(0,z.useCallback)(async()=>{if(d.current)return;let t=u.getQueryData([`transcript`,e]),n=t?.beforeCursor,r=t?.transcriptKey;if(!(!t?.hasEarlier||!n||!r)){d.current=!0,p(!0),h(null);try{let t=await Z.threadTranscriptEarlier({slug:e,cursor:n}),i=u.getQueryData([`transcript`,e]);if(!i?.transcriptKey||i.transcriptKey!==r||t.transcriptKey!==r){await l.refetch(),X(`Transcript changed while loading history; refreshed the current session`);return}u.setQueryData([`transcript`,e],h_(i,t))}catch(e){let t=e instanceof Error?e.message:`Could not load earlier transcript history`;h(t)}finally{d.current=!1,p(!1)}}},[l,u,e]);return(0,B.jsx)(_G.Provider,{value:e,children:(0,B.jsxs)(ZI,{value:`chat`,"data-drawer-scroll-ready":l.isPending?`false`:`true`,className:`flex-1 min-h-0 flex flex-col overflow-hidden outline-none`,children:[(0,B.jsxs)(`div`,{className:`relative min-h-0 flex-1 flex flex-col`,children:[(0,B.jsx)(`div`,{ref:O,"data-drawer-transcript-scroll":!0,"data-virtualized-transcript-scroll":n||void 0,tabIndex:n?0:void 0,role:n?`region`:void 0,"aria-label":n?`Thread conversation`:void 0,"aria-busy":n&&f?!0:void 0,className:`relative min-h-0 flex-1 overflow-y-auto pb-3 outline-none [overflow-anchor:none] focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:n&&A>0?(0,B.jsx)(kG,{slug:e,transcriptRef:O,transcriptKey:l.data?.transcriptKey,messages:v,paired:w,answeringForMessage:D,thread:i,nativeInputRequired:o,running:a,copyTerminalCommand:s,stickyUserMessage:E,transportFallback:l.transportFallback,isFetching:l.isFetching,refresh:()=>void l.refetch(),retryLiveUpdates:l.retryLiveUpdates,hasEarlier:l.data?.hasEarlier===!0,beforeCursor:l.data?.beforeCursor,loadingEarlier:f,earlierError:m,loadEarlier:()=>void j(),jumpOverlay:ee}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)($U,{thread:i,className:`px-6 pt-5`,autoFocusFirst:!0}),l.transportFallback&&(0,B.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`mx-6 mt-3 flex flex-wrap items-center gap-2.5 rounded-xl border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:l.transportFallback.kind===`payload-too-large`?`Live payload ${l.transportFallback.actualBytes} bytes; socket limit ${l.transportFallback.maxBytes} bytes`:`Transcript read budget reached (${l.transportFallback.scope}); retry after about ${l.transportFallback.retryAfterMs}ms`,children:[(0,B.jsx)(Sy,{size:13,className:`shrink-0 text-muted`}),(0,B.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,l.transportFallback.kind===`payload-too-large`?`The transcript is too large for push; the last complete HTTP-loaded copy remains visible.`:`The live read budget was reached; the last complete copy remains visible. Retry in a moment.`]}),(0,B.jsx)(`button`,{type:`button`,disabled:l.isFetching,onClick:()=>void l.refetch(),className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel disabled:opacity-40`,children:l.isFetching?`Refreshing…`:`Refresh once`}),(0,B.jsx)(`button`,{type:`button`,onClick:l.retryLiveUpdates,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`,children:`Retry live`})]}),(0,B.jsx)(`div`,{"data-transcript-column":!0,className:`flex min-h-full flex-col px-6 py-5`,children:A===0?(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-sm text-muted`,children:l.isPending?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(WK,{}),` Loading…`]}):a?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(WK,{}),` Session starting…`]}):EH(i)?(0,B.jsxs)(`div`,{className:`text-center`,children:[(0,B.jsx)(`p`,{className:`mb-3`,children:`No session is attached to this thread yet.`}),(0,B.jsx)(`button`,{className:`btn-ghost border border-border text-[12px]`,onClick:()=>Z.adoptThread({slug:e}).catch(()=>{}),children:`Start a session on this thread`})]}):`No conversation yet.`}):(0,B.jsxs)(B.Fragment,{children:[UG(S.map(e=>e.message),(e,t)=>{let n=S[t].messageIndex,r=n===T&&E,i=(0,B.jsx)(bK,{m:e,answering:D(e),showSendButton:!0,paired:w[n],sticky:r},t);return r?(0,B.jsx)(vK,{children:i},t):i},e=>!!e.queued),(i?.providerFault||i?.limitPause||c||o||i?.runtime===`perm-prompt`||C||i?.awaitingBackground)&&(0,B.jsx)(VG,{h:C&&!i?.providerFault&&!i?.limitPause&&!c&&!o&&i?.runtime!==`perm-prompt`?HG(S.map(e=>e.message)):14}),i?.providerFault&&!i.foreign?(0,B.jsx)(AK,{slug:e,sessionId:i.sessionId,fault:i.providerFault,retryText:T>=0?g[T]?.text:void 0}):i?.limitPause&&!i.foreign?(0,B.jsx)(MK,{slug:e,sessionId:i.sessionId,pause:i.limitPause}):c?(0,B.jsx)(LK,{ask:c,onTerminal:s}):o?(0,B.jsx)(FK,{input:o,onTerminal:s}):i?.runtime===`perm-prompt`?(0,B.jsx)(NK,{onTerminal:s}):C?(0,B.jsx)(GK,{since:i?.lastUserAt,activityLabel:x}):i?.awaitingBackground?(0,B.jsx)(dW,{thread:i}):null,i?.permPolicy?(0,B.jsx)(`div`,{className:`mt-3`,children:(0,B.jsx)(PK,{policy:i.permPolicy,denies:i.permDenies})}):null,g.some(e=>e.queued)&&(0,B.jsx)(VG,{}),(0,B.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:g.map((e,t)=>e.queued?(0,B.jsx)(bK,{m:e,paired:w[t]},`q${t}`):null)})]})})]})}),(0,B.jsx)(`div`,{ref:k,"data-transcript-overlay":!0,className:`pointer-events-none absolute inset-x-0 bottom-0 z-20 flex justify-end p-4 [&>*]:pointer-events-auto`})]}),(0,B.jsx)(`div`,{"data-thread-chat-footer":!0,className:`z-10 shrink-0 border-t border-border/60 bg-panel`,children:(0,B.jsx)(RH,{slug:e,onTerminal:s,ops:(0,B.jsx)(IK,{slug:e,transcriptShells:_,className:`px-1 pb-2 pt-1.5`})})})]})})}var EG=700,DG=250,OG=(()=>{try{return localStorage.getItem(`fray.debugScroll`)===`1`}catch{return!1}})();function kG({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,answeringForMessage:a,thread:o,nativeInputRequired:s,running:c,copyTerminalCommand:l,stickyUserMessage:u,transportFallback:d,isFetching:f,refresh:p,retryLiveUpdates:m,hasEarlier:h,beforeCursor:g,loadingEarlier:_,earlierError:v,loadEarlier:y,jumpOverlay:b}){let x=Y_(),S=(0,z.useMemo)(()=>VW(r),[r]),C=c?HW(S.map(e=>e.message)):void 0,w=C?YW(C,x):void 0,T=(0,z.useMemo)(()=>c?WW(S):S,[S,c]),E=c,D=(0,z.useMemo)(()=>AW(T.map(e=>e.message),zG,RG,LG,14).map(e=>({...e,messageIndex:T[e.messageIndex].messageIndex})),[T]),O=(0,z.useMemo)(()=>yH(r),[r]),ee=!!(o?.providerFault&&!o.foreign||o?.limitPause&&!o.foreign||!o?.pendingInteraction&&o?.pendingAsk||s||o?.runtime===`perm-prompt`||E||o?.awaitingBackground),k=(0,z.useMemo)(()=>E&&!(o?.providerFault&&!o.foreign)&&!(o?.limitPause&&!o.foreign)&&!(!o?.pendingInteraction&&o?.pendingAsk)&&!s&&o?.runtime!==`perm-prompt`?HG(T.map(e=>e.message)):14,[T,s,E,o]),A=(0,z.useMemo)(()=>{let e=[{key:`interactions`,kind:`interactions`}];d&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(h||_||v)&&e.push({key:`earlier-history:${g??`complete`}`,kind:`earlier-history`}),e.push(...D.map(e=>({...e,kind:`message`}))),ee&&e.push({key:`runtime-status`,kind:`runtime-status`});let t=ee||D.length>0?14:0;return r.forEach((n,r)=>{if(!n.queued)return;let i=`queued:${n.deliveryId??n.sourceId??r}`;e.push({key:i,kind:`queued`,message:n,messageIndex:r,gap:t}),t=14}),e},[g,v,h,ee,_,D,r,d]),j=(0,z.useMemo)(()=>!u||O<0?-1:A.findIndex(e=>e.kind===`message`&&e.messageIndex===O),[O,A,u]),M=xL({count:A.length,getScrollElement:()=>t.current,getItemKey:e=>A[e]?.key??e,estimateSize:e=>{let t=A[e];return t?t.kind===`interactions`?1:t.kind===`earlier-history`?42:t.kind===`transport-fallback`?76:t.kind===`runtime-status`?54:t.kind===`message`?108+t.gap:82+t.gap:80},overscan:8,paddingStart:20,paddingEnd:20,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:4,scrollToFn:(e,{adjustments:t,behavior:n},r)=>{let i=r.scrollElement;i&&i.scrollTo({top:t===void 0?e:i.scrollTop+t,behavior:n})}}),[N,te]=(0,z.useState)(!0),P=(0,z.useRef)(!0),ne=(0,z.useRef)(-1),re=(0,z.useRef)(0),ie=(0,z.useRef)(null),ae=(0,z.useRef)(!1),oe=(0,z.useRef)(!1),se=(0,z.useRef)(!0),ce=(0,z.useRef)(null),le=(0,z.useRef)(void 0),ue=(0,z.useRef)(null),de=(0,z.useRef)(void 0),fe=(0,z.useRef)(void 0),pe=(0,z.useRef)(0),me=(0,z.useCallback)(()=>{let e=t.current;if(e){let t=e.getBoundingClientRect().top,n=Array.from(e.querySelectorAll(`[data-transcript-source-id]:not([data-transcript-sticky])`)).find(e=>e.getBoundingClientRect().bottom>t+1),r=n?.dataset.transcriptRowKey;n&&r&&(ce.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}y()},[y,t]);(0,z.useLayoutEffect)(()=>{if(!n||A.length===0||le.current===n)return;le.current=n,ae.current=!1,oe.current=!1,se.current=!0;let e=requestAnimationFrame(()=>{M.scrollToEnd({behavior:`instant`}),ae.current=!0,te(!0)});return()=>cancelAnimationFrame(e)},[A.length,n,M]),(0,z.useLayoutEffect)(()=>{let e=ce.current,n=t.current;if(!e||!n||_)return;let r=()=>{let t=Array.from(n.querySelectorAll(`[data-transcript-row-key]`)).find(t=>t.dataset.transcriptRowKey===e.rowKey);if(!t)return;let r=t.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=r-e.viewportTop};r();let i=0,a=requestAnimationFrame(()=>{r(),i=requestAnimationFrame(()=>{r(),ce.current===e&&(ce.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[_,D.length,t]);let he=(0,z.useCallback)(()=>{let e=t.current;if(!e)return null;let n=e.getBoundingClientRect().top,r=Array.from(e.querySelectorAll(`[data-transcript-row-key]:not([data-transcript-sticky])`)).find(e=>e.getBoundingClientRect().bottom>n+1),i=r?.dataset.transcriptRowKey;return!r||!i?null:{rowKey:i,viewportTop:r.getBoundingClientRect().top-n}},[t]),ge=(0,z.useCallback)(e=>{let n=t.current;if(!n)return;let r=Array.from(n.querySelectorAll(`[data-transcript-row-key]`)).find(t=>t.dataset.transcriptRowKey===e.rowKey&&t.dataset.transcriptSticky!==`true`);if(!r)return;let i=r.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=i-e.viewportTop},[t]),_e=j>=0?A[j]?.key:void 0;(0,z.useLayoutEffect)(()=>{let e=_e,t=de.current;if(de.current=e,t===void 0||t===e||P.current)return;let n=ue.current;if(!n||ce.current)return;pe.current=performance.now()+DG,ge(n);let r=0,i=0,a=requestAnimationFrame(()=>{ge(n),r=requestAnimationFrame(()=>{ge(n),i=requestAnimationFrame(()=>{ge(n),pe.current=0})})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(r),cancelAnimationFrame(i),pe.current=0}},[ge,_e]);let ve=D[0]?.key;(0,z.useLayoutEffect)(()=>{let e=fe.current;if(fe.current=ve,e===void 0||e===ve||!ae.current||P.current||ce.current)return;let t=ue.current;if(!t)return;ge(t);let n=()=>{if(performance.now()<re.current)return;let e=ue.current;e&&ge(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[ge,ve]);let ye=(0,z.useCallback)(()=>{let e=t.current;if(!e||ce.current||performance.now()<pe.current)return;let n=DW({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:ne.current,following:P.current,readerMoved:performance.now()<re.current});if(P.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),ne.current=e.scrollHeight,te(e=>e===n.following?e:n.following),OG&&!n.following&&performance.now()>=re.current){let t=ue.current,n=t&&Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.dataset.transcriptRowKey===t.rowKey&&e.dataset.transcriptSticky!==`true`);if(t&&n){let r=Math.round(n.getBoundingClientRect().top-e.getBoundingClientRect().top-t.viewportTop);Math.abs(r)>2&&console.warn(`[fray] transcript moved ${r}px under a still reader — pin=${de.current??`none`} row=${t.rowKey}`)}}ue.current=he()??ue.current},[he,t]);(0,z.useLayoutEffect)(ye),(0,z.useEffect)(()=>{let e=ie.current;if(!e)return;let t=new ResizeObserver(ye);return t.observe(e),()=>t.disconnect()},[ye]),(0,z.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{ye();let t=OW({armed:se.current,scrollTop:e.scrollTop,readerMoved:ae.current&&oe.current,hasEarlier:h,loading:_});se.current=t.armed,t.shouldLoad&&me()},r=()=>{oe.current=!0,re.current=performance.now()+EG,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(se.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(se.current=!0),r()},o=()=>{e.scrollTop<=480&&(se.current=!0),r()};e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`wheel`,a,{passive:!0}),e.addEventListener(`touchstart`,o,{passive:!0}),e.addEventListener(`touchmove`,o,{passive:!0}),e.addEventListener(`pointerdown`,r,{passive:!0}),e.addEventListener(`keydown`,i);let s=requestAnimationFrame(n);return()=>{cancelAnimationFrame(s),e.removeEventListener(`scroll`,n),e.removeEventListener(`wheel`,a),e.removeEventListener(`touchstart`,o),e.removeEventListener(`touchmove`,o),e.removeEventListener(`pointerdown`,r),e.removeEventListener(`keydown`,i)}},[h,_,me,ye,t]);let be=M.getVirtualItems(),xe=M.getTotalSize(),Se=j>=0?A[j]:void 0,Ce=Se?.kind===`message`?Se:void 0,we=Ce?M.measurementsCache[j]?.start??0:0;return(0,B.jsxs)(`div`,{ref:ie,"data-virtualized-transcript":!0,"data-virtual-row-count":be.length,className:`relative w-full`,style:{height:xe},children:[Ce&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{"aria-hidden":!0,style:{height:we}}),(0,B.jsx)(`div`,{ref:M.measureElement,"data-index":j,"data-transcript-row-key":Ce.key,"data-transcript-source-id":Ce.message.sourceId,"data-transcript-sticky":`true`,className:`pointer-events-none [&>*]:pointer-events-auto sticky top-0 z-[9] flex w-full flex-col px-6 pt-3 pb-1.5`,children:(0,B.jsx)(bK,{m:Ce.message,answering:a(Ce.message),showSendButton:!0,paired:i[Ce.messageIndex],sticky:!0})},Ce.key)]}),be.map(t=>{let n=A[t.index];return!n||t.index===j?null:(0,B.jsx)(`div`,{ref:M.measureElement,"data-index":t.index,"data-transcript-row-key":n.key,"data-transcript-source-id":n.kind===`message`?n.message.sourceId:void 0,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`interactions`?(0,B.jsx)($U,{thread:o,className:`px-6 pt-5`,autoFocusFirst:!0}):n.kind===`transport-fallback`?d?(0,B.jsx)(`div`,{className:`px-6 pt-3`,children:(0,B.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`flex flex-wrap items-center gap-2.5 ${jV} border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:d.kind===`payload-too-large`?`Live payload ${d.actualBytes} bytes; socket limit ${d.maxBytes} bytes`:`Transcript read budget reached (${d.scope}); retry after about ${d.retryAfterMs}ms`,children:[(0,B.jsx)(Sy,{size:13,className:`shrink-0 text-muted`}),(0,B.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,d.kind===`payload-too-large`?`The transcript is too large for push; the last complete HTTP-loaded copy remains visible.`:`The live read budget was reached; the last complete copy remains visible. Retry in a moment.`]}),(0,B.jsx)(`button`,{type:`button`,disabled:f,onClick:p,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel disabled:opacity-40`,children:f?`Refreshing…`:`Refresh once`}),(0,B.jsx)(`button`,{type:`button`,onClick:m,className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`,children:`Retry live`})]})}):null:n.kind===`earlier-history`?(0,B.jsx)(`div`,{className:`flex min-h-10 items-center justify-center px-6 text-[11px] text-muted`,role:`status`,children:v?(0,B.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,B.jsx)(`span`,{children:v}),(0,B.jsx)(`button`,{type:`button`,onClick:me,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):_?(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(iy,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,B.jsx)(`button`,{type:`button`,onClick:me,className:`rounded-md px-2 py-1 outline-none hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:`Load earlier messages`})}):n.kind===`message`?(0,B.jsx)(`div`,{className:`flex flex-col px-6`,style:{paddingTop:n.gap},children:(0,B.jsx)(bK,{m:n.message,answering:a(n.message),showSendButton:!0,paired:i[n.messageIndex]})}):n.kind===`runtime-status`?(0,B.jsxs)(`div`,{className:`px-6`,style:{paddingTop:k},children:[o?.providerFault&&!o.foreign?(0,B.jsx)(AK,{slug:e,sessionId:o.sessionId,fault:o.providerFault,retryText:O>=0?r[O]?.text:void 0}):o?.limitPause&&!o.foreign?(0,B.jsx)(MK,{slug:e,sessionId:o.sessionId,pause:o.limitPause}):!o?.pendingInteraction&&o?.pendingAsk?(0,B.jsx)(LK,{ask:o.pendingAsk,onTerminal:l}):s?(0,B.jsx)(FK,{input:s,onTerminal:l}):o?.runtime===`perm-prompt`?(0,B.jsx)(NK,{onTerminal:l}):E?(0,B.jsx)(GK,{since:o?.lastUserAt,activityLabel:w}):o?.awaitingBackground?(0,B.jsx)(dW,{thread:o}):null,o?.permPolicy?(0,B.jsx)(`div`,{className:`mt-3`,children:(0,B.jsx)(PK,{policy:o.permPolicy,denies:o.permDenies})}):null]}):(0,B.jsx)(`div`,{className:`flex flex-col px-6`,style:{paddingTop:n.gap},children:(0,B.jsx)(bK,{m:n.message,paired:i[n.messageIndex]})})},n.key)}),(0,B.jsx)(AG,{overlay:b,hidden:N,onJump:()=>M.scrollToEnd({behavior:`smooth`})})]})}function AG({overlay:e,hidden:t,onJump:n}){return!e||t?null:(0,id.createPortal)((0,B.jsxs)(`button`,{type:`button`,"data-jump-to-latest":!0,onClick:n,className:`flex items-center gap-1.5 rounded-full border border-border-strong bg-elevated px-3 py-1.5 text-[11px] font-medium text-fg shadow-lg shadow-black/30 hover:bg-panel-2`,children:[(0,B.jsx)(Cv,{size:12}),`Jump to latest`]}),e)}function jG({slug:e,tab:t,onStatusApplied:n,onClose:r,showReturnToQueue:i=!1}){let a=xg(J_(),e),o=nd({mutationFn:()=>Z.markComplete({slug:e})}),s=nd({mutationFn:t=>Z.renameThread({slug:e,title:t})}),c=nd({mutationFn:()=>Z.aiRenameThread({slug:e}),onSuccess:({title:e})=>X(`Renamed to “${e}”`),onError:e=>X(e instanceof Error?e.message:`Could not rename with Claude`,{duration:7e3})}),[l,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(``),p=(0,z.useRef)(null);(0,z.useEffect)(()=>{if(!l)return;let e=requestAnimationFrame(()=>{p.current?.focus(),p.current?.select()});return()=>cancelAnimationFrame(e)},[l]),(0,z.useEffect)(()=>{u(!1),f(``)},[e]);let m=sB(td({queryKey:[`threadBody`,e],queryFn:()=>Z.threadBody({slug:e})}).data?.markdown??``).trim().length>0;if(!a)return null;let h=a.kind===`session`&&a.foreign!==!0,g=!!a.scratchpadPath,_=a.foreign===!0,v=a.kind===`session`&&!_,y=eb(a),b=kH(a),x=!b.enabled||c.isPending,S=c.isPending?`Claude is generating a title…`:b.enabled&&c.error instanceof Error?c.error.message:b.label;function C(){u(!1),f(``)}function w(){let e=DH(d,y);if(u(!1),!e){f(``);return}s.mutate(e,{onSuccess:()=>{f(``),X(`Thread renamed`)},onError:t=>{f(e),u(!0),X(t instanceof Error?t.message:`Could not rename thread`)}})}return(0,B.jsxs)(`header`,{"data-thread-header":!0,className:AH,children:[(0,B.jsx)(`div`,{className:jH,children:(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[i&&(0,B.jsx)(rN,{label:`Return to queue`,children:(0,B.jsx)(`a`,{href:`/`,"aria-label":`Return to queue`,"data-standalone-return":!0,className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,B.jsx)(wv,{size:14})})}),(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[l?(0,B.jsx)(`input`,{ref:p,"aria-label":`Thread title`,value:d,maxLength:200,onChange:e=>f(e.target.value),onBlur:w,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),w()):e.key===`Escape`&&(e.preventDefault(),C())},className:`min-w-0 flex-1 rounded-md border border-border bg-elevated px-1.5 py-1 font-semibold text-[15px] text-fg outline-none focus:border-accent`}):v?(0,B.jsx)(`button`,{type:`button`,title:`Edit title`,"aria-label":`Edit thread title: ${y}`,disabled:s.isPending||c.isPending,onClick:()=>{f(OH(y,a.id)),u(!0)},className:`min-w-0 max-w-full shrink truncate rounded px-0.5 -mx-0.5 font-semibold text-[15px] text-left outline-none transition-colors hover:bg-panel-2 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-not-allowed disabled:opacity-40`,children:y}):(0,B.jsx)(`div`,{className:`min-w-0 max-w-full shrink truncate px-0.5 -mx-0.5 font-semibold text-[15px]`,title:y,children:y}),b.show&&!l&&(0,B.jsx)(rN,{label:S,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":c.isPending?`Renaming with Claude`:b.enabled?`Rename with Claude`:b.label,title:S,"aria-busy":c.isPending,"aria-disabled":x,onClick:()=>{x||(c.reset(),c.mutate())},className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md outline-none transition-colors ${x?`cursor-not-allowed opacity-40`:``} ${c.error?`text-red-400 hover:bg-red-500/10`:`text-accent hover:bg-accent/10`}`,children:(0,B.jsx)(hy,{size:13,strokeWidth:2,className:c.isPending?`animate-pulse`:``})})})]}),(0,B.jsx)(mW,{at:db(a),fallbackAt:a.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})]})}),(0,B.jsxs)(`div`,{className:MH,children:[(0,B.jsxs)(YI,{"aria-label":`Thread view`,className:`flex shrink-0 items-center gap-1 rounded-lg bg-panel-2 p-0.5 text-[11px]`,children:[(0,B.jsx)(MG,{value:`chat`,label:`Chat`}),g&&(0,B.jsx)(MG,{value:`scratch`,label:`Doc`})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center`,children:[h&&(0,B.jsx)(wW,{slug:e}),(0,B.jsx)(zH,{thread:a,onDoc:m?()=>ag(`doc`,a.id):void 0,onDone:()=>o.mutate(void 0,{onSuccess:n}),doneBusy:o.isPending,onStatusApplied:n}),r&&(0,B.jsx)(rN,{label:`Open in new tab`,children:(0,B.jsx)(`a`,{href:TW(e),target:`_blank`,rel:`noopener`,"aria-label":`Open in new tab`,className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,B.jsx)(Tv,{size:14})})})]}),r&&(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:r,className:`ml-0.5 shrink-0 rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]})]})}function MG({value:e,label:t}){return(0,B.jsx)(XI,{value:e,className:`rounded-md px-2.5 py-1 text-muted outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 data-[state=active]:bg-elevated data-[state=active]:text-fg data-[state=active]:shadow-sm data-[state=active]:shadow-black/20`,children:t})}function NG({slug:e}){let t=td({queryKey:[`threadScratchpad`,e],queryFn:()=>Z.threadScratchpad({slug:e})}),n=(0,z.useMemo)(()=>aB(t.data?.markdown??``),[t.data?.markdown]);return(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-6 py-5`,children:t.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):n?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:n}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No scratchpad yet.`})})}function PG(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||iU(e))return!1;if(e.parts&&e.parts.length>0){for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n.kind===`tools`?n.tools.length>0:n.text.trim())return n.kind===`tools`}return!1}return(e.tools?.length??0)>0&&!e.text.trim()}function FG(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||iU(e))return!1;if(e.parts&&e.parts.length>0){for(let t of e.parts)if(t.kind===`tools`?t.tools.length>0:t.text.trim())return t.kind===`tools`;return!1}return(e.tools?.length??0)>0}function IG(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function LG(e){return IG(e)||PG(e)}function RG(e){return IG(e)||FG(e)}function zG(e){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.every(e=>e.kind===`tools`?e.tools.length===0:!e.text.trim()):(e.tools?.length??0)===0&&!e.text.trim()}function BG(e){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.some(e=>e.kind===`text`&&e.text.trim()!==``):typeof e.text==`string`&&e.text.trim()!==``}function VG({h:e=14}){return(0,B.jsx)(`div`,{"aria-hidden":!0,className:`shrink-0`,style:{height:e}})}function HG(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||zG(n)))return LG(n)?6:14+(n.role===`user`?3:0)}return 0}function UG(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{if(!n?.(e,a)&&!zG(e)){if(i!==null){let t=LG(i)&&RG(e)?6:14,n=i.role===`user`&&e.role!==`user`?3:0;r.push((0,B.jsx)(VG,{h:t+n},`s${a}`))}r.push(t(e,a)),i=e}}),r}function WG(e){let t=[];for(let n of e){if(n.kind===`text`){if(!n.text.trim())continue;t.push(n);continue}if(n.tools.length===0)continue;let e=t[t.length-1];e&&e.kind===`tools`?t[t.length-1]={kind:`tools`,tools:[...e.tools,...n.tools]}:t.push(n)}return t}function GG(e,t=14){let n=e.filter(e=>e!=null&&e!==!1),r=[];return n.forEach((e,n)=>{n>0&&r.push((0,B.jsx)(VG,{h:t},`vs${n}`)),r.push(e)}),r}function KG(e){let t=[];for(let n of e){let e=t[t.length-1];if(n.thought!==void 0)t.push({name:n.name,thought:n.thought,count:1});else if(n.edit){let r=!!(n.input||n.output||n.status||n.exitCode!==void 0);e&&e.edits&&!r&&!e.input&&!e.output&&!e.status&&e.edits[0].file===n.edit.file?e.edits.push(n.edit):t.push({name:n.name,detail:n.detail,edits:[n.edit],input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1})}else n.command?t.push({name:n.name,detail:n.detail,command:n.command,desc:n.desc,input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1}):n.read?t.push({name:n.name,detail:n.detail,read:n.read,status:n.status,durationMs:n.durationMs,count:1}):n.prompt||n.agentId?t.push({name:n.name,detail:n.detail,prompt:n.prompt,input:n.input,subagentType:n.subagentType,agentId:n.agentId,agentStatus:n.agentStatus,agentElapsedMs:n.agentElapsedMs,output:n.output,status:n.status,durationMs:n.durationMs,count:1}):n.sendTo!==void 0||n.sendBody!==void 0?t.push({name:n.name,detail:n.detail,sendTo:n.sendTo,sendSummary:n.sendSummary,sendBody:n.sendBody,sendType:n.sendType,sendDispatchId:n.sendDispatchId,sendTargetLabel:n.sendTargetLabel,status:n.status,durationMs:n.durationMs,count:1}):n.outputImage?t.push({name:n.name,detail:n.detail,outputImage:n.outputImage,output:n.output,status:n.status,durationMs:n.durationMs,count:1}):n.todos?t.push({name:n.name,detail:n.detail,todos:n.todos,input:n.input,status:n.status,durationMs:n.durationMs,count:1}):n.sentImages||n.sentFiles?t.push({name:n.name,detail:n.detail,sentImages:n.sentImages,sentFiles:n.sentFiles,caption:n.caption,status:n.status,durationMs:n.durationMs,count:1}):n.input||n.output?t.push({name:n.name,detail:n.detail,input:n.input,output:n.output,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1}):e&&!e.edits&&!e.command&&!e.input&&!e.output&&!e.read&&!e.prompt&&!e.outputImage&&!e.sentImages&&!e.sentFiles&&e.sendTo===void 0&&e.sendBody===void 0&&e.name===n.name&&e.detail===n.detail&&e.status===n.status&&e.backgroundState===n.backgroundState&&e.exitCode===n.exitCode&&e.cwd===n.cwd&&e.sessionId===n.sessionId&&e.durationMs===n.durationMs?e.count++:t.push({name:n.name,detail:n.detail,status:n.status,backgroundState:n.backgroundState,exitCode:n.exitCode,cwd:n.cwd,sessionId:n.sessionId,durationMs:n.durationMs,count:1})}return t}function qG(e){return e.split(`__`).pop()||e}function JG(e){let t=Y.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function YG({tools:e,at:t}){let[n,r]=(0,z.useState)(!1),i=(0,z.useId)(),a=e.reduce((e,t)=>t.thought===void 0?e+t.count:e,0),o=$W(a,QW(e));return a===0?(0,B.jsx)(`div`,{className:`flex flex-col`,children:GG(e.map((e,n)=>(0,B.jsx)(ZG,{t:e,startedAt:t},n)),6)}):(0,B.jsxs)(`div`,{"data-tool-activity":!0,"data-tool-activity-state":`settled`,className:`flex min-w-0 flex-col`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":i,"aria-expanded":n,"aria-label":`${n?`Collapse`:`Expand`} ${a} tool ${a===1?`call`:`calls`}: ${o}`,className:`group flex w-full min-w-0 items-center gap-1 rounded py-0.5 text-left outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 ${uU}`,children:[(0,B.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,B.jsx)(Mv,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:`relative top-[calc(0.032em+1px)] size-[1em] shrink-0 text-muted/70 transition-transform group-hover:text-current ${n?`rotate-90`:``}`})]}),n&&(0,B.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:GG(e.map((e,n)=>(0,B.jsx)(ZG,{t:e,startedAt:t},n)),6)}),!n&&(0,B.jsx)(`div`,{id:i,hidden:!0})]})}function XG({tools:e,at:t}){let n=[];for(let t of e){let e=IW(t),r=n[n.length-1];r?.exceptional===e?r.tools.push(t):n.push({exceptional:e,tools:[t]})}return(0,B.jsx)(`div`,{className:`flex flex-col`,children:GG(n.map((e,n)=>e.exceptional?(0,B.jsx)(`div`,{className:`flex flex-col`,children:GG(e.tools.map((e,n)=>(0,B.jsx)(ZG,{t:e,startedAt:t},n)),6)},`exceptions-${n}`):(0,B.jsx)(YG,{tools:e.tools,at:t},`activity-${n}`)),6)})}function ZG({t:e,startedAt:t}){let n=(0,z.useContext)(_G),r=J_(),i=Rb(e,(n?xg(r,n):void 0)?.bgShells??[]);return e.thought===void 0?e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,B.jsx)(WB,{edits:e.edits,meta:(0,B.jsx)(tK,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,B.jsx)(lK,{command:e.command,desc:e.desc??e.detail,output:e.output,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,sessionId:e.sessionId,durationMs:e.durationMs,startedAt:t}):e.read?(0,B.jsx)(dK,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,B.jsx)(pK,{detail:e.detail,prompt:e.prompt,input:e.input,subagentType:e.subagentType,agentId:e.agentId,agentStatus:e.agentStatus,agentElapsedMs:e.agentElapsedMs,status:e.status,durationMs:e.durationMs,output:e.output}):e.sendTo!==void 0||e.sendBody!==void 0?(0,B.jsx)(hK,{to:e.sendTo,summary:e.sendSummary,body:e.sendBody??``,type:e.sendType,dispatchId:e.sendDispatchId,targetLabel:e.sendTargetLabel,status:e.status,durationMs:e.durationMs}):e.outputImage?(0,B.jsx)(oK,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.sentImages||e.sentFiles?(0,B.jsx)(sK,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,B.jsx)(QB,{todos:e.todos,note:e.input,meta:(0,B.jsx)(tK,{status:e.status,durationMs:e.durationMs})}):e.input||e.output?(0,B.jsx)(lK,{name:e.name,command:e.input??``,desc:e.detail,output:e.output,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,sessionId:e.sessionId,durationMs:e.durationMs,inputLabel:`input`,startedAt:t}):(0,B.jsx)(aK,{name:e.name,detail:e.detail,count:e.count,status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,cwd:e.cwd,sessionId:e.sessionId,durationMs:e.durationMs,startedAt:t}):(0,B.jsx)(`div`,{className:uU,children:e.thought})}function QG({tone:e,indicator:t,label:n,duration:r,title:i}){return(0,B.jsxs)(`span`,{className:`petite-caps fray-tool-header-caps flex shrink-0 items-center gap-1 whitespace-nowrap text-[11.5px] leading-none ${e}`,title:i,"aria-label":i,children:[t,(0,B.jsx)(`span`,{children:[n,r].filter(Boolean).join(` · `)})]})}function $G(e,t,n){let[r,i]=(0,z.useState)(()=>Date.now()),a=Fb(e,t),o=Ib(e,t,n,r);return(0,z.useEffect)(()=>{if(!a||o)return;let e=n?Date.parse(n):NaN;if(!Number.isFinite(e))return;let t=setTimeout(()=>i(Date.now()),Math.max(Pb-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function eK({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=$G(e,t,r),a=n===`running`?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):n===`stale`?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot-quiet fray-live-dot-quiet--shell`,"data-running-indicator":`tool-quiet`,title:ax}):Nb(e,t)||i?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):null;return a?(0,B.jsx)(`span`,{className:`fray-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:a}):null}function tK({status:e,backgroundState:t,liveBackgroundState:n,exitCode:r,durationMs:i}){if(!e&&i===void 0)return null;let[a,o]=n===`running`?[`running`,`background running`]:n===`stale`?[`stale`,`background stale`]:e===`pending`?t===`unknown`?[`unknown`,`background / unknown`]:[`running`,t===`background`?`background running`:`running`]:e===`failed`?r===void 0?[`failed`,`failed`]:[`exit ${r}`,`exit ${r}`]:e===`cancelled`?[`cancelled`,`cancelled`]:e===`completed`?[`done`,`done`]:[void 0,void 0],s=i===void 0?void 0:zb(i),c=[o,s].filter(Boolean).join(` · `);return(0,B.jsx)(QG,{tone:e===`failed`?`fray-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function nK(e,t,n){let r=t?Date.parse(t):NaN,i=e===`pending`&&Number.isFinite(r),[a,o]=(0,z.useState)(()=>Date.now());return(0,z.useEffect)(()=>{if(!i)return;let e=()=>o(Date.now()),t,n=setTimeout(()=>{e(),t=setInterval(e,1e3)},1e3-Date.now()%1e3);return()=>{clearTimeout(n),t&&clearInterval(t)}},[i,t]),i?Math.max(a-r,0):n}function rK(e,t,n){let r=t&&t!==Y.board?.projectDir?`in ${JG(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function iK(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function aK({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=rK(t,s,c),f=d?JG(d):void 0,p=t&&iK(t)?t:void 0;return(0,B.jsx)(`div`,{className:`fray-bash`,title:d,children:(0,B.jsxs)(`div`,{className:`fray-bash-header`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(eK,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:qG(e)}),f&&(p?(0,B.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,B.jsx)(HB,{path:p,className:`text-[11.5px] text-muted`,children:f})}):(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:f}))]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(tK,{status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,durationMs:l}),n>1&&(0,B.jsxs)(`span`,{className:`tabular-nums text-[11px] text-muted/45`,children:[`×`,n]})]})]})})}function oK({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let[o,s]=(0,z.useState)(!0),c=(0,z.useId)(),l=t?JG(t):void 0;return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":c,"aria-expanded":o,"aria-label":`${o?`Collapse`:`Expand`} ${qG(e)} screenshot${l?`: ${l}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:qG(e)}),l&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:t,children:l})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(tK,{status:i,durationMs:a}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${o?`rotate-90`:``}`})]})]}),(0,B.jsx)(`div`,{id:c,hidden:!o,children:o&&(0,B.jsxs)(`div`,{className:`px-2.5 pb-2.5 pt-1.5`,children:[(0,B.jsx)(CK,{path:n,hideCaption:!0,altText:l?`${qG(e)}: ${l}`:qG(e)}),r&&(0,B.jsx)(`pre`,{className:`fray-bash-body fray-bash-output-body mt-1.5`,children:r})]})})]})}function sK({images:e,files:t,caption:n,status:r,durationMs:i}){let[a,o]=(0,z.useState)(!0),s=(0,z.useId)(),c=[e.length?`${e.length} image${e.length===1?``:`s`}`:``,t.length?`${t.length} file${t.length===1?``:`s`}`:``].filter(Boolean).join(` · `);return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":s,"aria-expanded":a,"aria-label":`${a?`Collapse`:`Expand`} files sent to you${c?`: ${c}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:`Sent to you`}),c&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:c})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(tK,{status:r,durationMs:i}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${a?`rotate-90`:``}`})]})]}),(0,B.jsx)(`div`,{id:s,hidden:!a,children:a&&(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-2.5 pb-2.5 pt-1.5`,children:[e.map((e,t)=>(0,B.jsx)(CK,{path:e,hideCaption:!0,altText:n??`delivered image`},`i${t}`)),t.length>0&&(0,B.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map((e,t)=>(0,B.jsx)(wK,{path:e},`f${t}`))}),n&&(0,B.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var cK=16;function lK({command:e,desc:t,output:n,name:r=`Bash`,status:i,backgroundState:a,liveBackgroundState:o,exitCode:s,sessionId:c,durationMs:l,inputLabel:u,startedAt:d}){let[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(!1),[g,_]=(0,z.useState)(!1),v=(0,z.useId)(),y=nK(i,d,l),b=(0,z.useMemo)(()=>e.split(`
|
|
352
|
+
`).length,[e]),x=b>cK,S=(0,z.useMemo)(()=>n?n.split(`
|
|
353
|
+
`).length:0,[n]),C=S>cK,w=rK(t,void 0,c),T=!!(e||n);return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>T&&p(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":T?v:void 0,"aria-expanded":T?f:void 0,"aria-label":`${T?`${f?`Collapse`:`Expand`} `:``}${qG(r)}${w?`: ${w}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(eK,{status:i,backgroundState:a,liveBackgroundState:o,startedAt:d}),(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:qG(r)}),(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:w,children:w??``})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(tK,{status:i,backgroundState:a,liveBackgroundState:o,exitCode:s,durationMs:y}),T&&(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${f?`rotate-90`:``}`})]})]}),T&&(0,B.jsxs)(`div`,{id:v,hidden:!f,children:[f&&e&&(0,B.jsxs)(B.Fragment,{children:[u&&(0,B.jsx)(`div`,{className:`fray-bash-output-label petite-caps`,children:u}),(0,B.jsx)(`pre`,{className:`fray-bash-body${u?` fray-bash-output-body`:``}${x&&!m?` fray-bash-clamp`:``}`,children:e}),x&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>h(e=>!e),onMouseDown:e=>e.preventDefault(),className:`fray-bash-expand petite-caps px-2.5 pb-1.5`,children:m?`Collapse`:`Show all ${b} lines`})]}),f&&n&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`fray-bash-output-label petite-caps`,children:`output`}),(0,B.jsx)(`pre`,{className:`fray-bash-body fray-bash-output-body${C&&!g?` fray-bash-clamp`:``}`,children:n}),C&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>_(e=>!e),onMouseDown:e=>e.preventDefault(),className:`fray-bash-expand petite-caps px-2.5 pb-1.5`,children:g?`Collapse`:`Show all ${S} lines`})]})]})]})}var uK=16;function dK({detail:e,read:t,status:n,durationMs:r}){let[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(!1),c=(0,z.useId)(),l=(0,z.useMemo)(()=>t.split(`
|
|
354
|
+
`).length,[t]),u=l>uK,d=e?JG(e):void 0,f=e&&iK(e)?e:void 0;return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(BB,{className:`fray-bash-header`,controls:c,expanded:i,label:`${i?`Collapse`:`Expand`} Read${e?`: ${e}`:``}`,onToggle:()=>a(e=>!e),meta:(0,B.jsx)(tK,{status:n,durationMs:r}),children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:`Read`}),d&&(f?(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:(0,B.jsx)(HB,{path:f,className:`text-[11.5px] text-muted`,children:d})}):(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:d}))]}),(0,B.jsx)(`div`,{id:c,hidden:!i,children:i&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`pre`,{className:`fray-bash-body${u&&!o?` fray-bash-clamp`:``}`,children:t}),u&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),onMouseDown:e=>e.preventDefault(),className:`fray-bash-expand petite-caps px-2.5 pb-1.5`,children:o?`Collapse`:`Show all ${l} lines`})]})})]})}var fK=16;function pK({detail:e,prompt:t,input:n,subagentType:r,agentId:i,agentStatus:a,agentElapsedMs:o,status:s,durationMs:c,output:l}){let[u,d]=(0,z.useState)(!1),[f,p]=(0,z.useState)(!1),m=(0,z.useId)(),h=t??n,g=(0,z.useMemo)(()=>h?h.split(`
|
|
355
|
+
`).length:0,[h]),_=g>fK,v=yG(),y=J_(),b=v?xg(y,v):void 0,x=!a&&i?(b?.subAgents??[]).find(e=>e.id===i):void 0,S=x?.state===`running`,C=!!(v&&i),w=e??`sub-agent`,T=$b(),E=lU({agentStatus:a,agentElapsedMs:o,liveState:x?.state,liveElapsedMs:x?.startedAt?Math.max(T-Date.parse(x.startedAt),0):void 0,status:s,durationMs:c}),D=S?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--agent`,"data-running-indicator":`subagent-disclosure`}):x?.state===`stale`?(0,B.jsx)(`span`,{className:tx,title:nx}):x?.state===`rested`?(0,B.jsx)(`span`,{className:rx,title:ix}):null;function O(){!v||!i||og(v,i,{label:w,subagentType:r,startedAt:x?.startedAt})}return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(BB,{className:`fray-bash-header`,controls:m,expanded:u,label:`${u?`Collapse`:`Expand`} Agent dispatch: ${w}`,onToggle:()=>d(e=>!e),meta:E&&(0,B.jsx)(QG,{tone:E.tone===`failed`?`fray-tool-failed`:`text-muted/55`,title:E.title,label:E.label,duration:E.duration,indicator:E.showSpinner?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-tool-spinner`,"data-running-indicator":`tool-pending`}):null}),children:[D&&(0,B.jsx)(`span`,{className:`fray-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:D}),(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:`Agent`}),C?(0,B.jsx)(`button`,{type:`button`,"aria-label":`Open sub-agent transcript: ${w}`,title:r?`Open sub-agent transcript — ${r}`:`Open sub-agent transcript`,onClick:O,className:`min-w-[4rem] flex-1 truncate text-left text-[11.5px] text-muted outline-none hover:underline hover:text-fg/80 focus-visible:underline focus-visible:text-fg/80`,children:w}):(0,B.jsx)(`span`,{className:`min-w-[4rem] flex-1 truncate text-[11.5px] text-muted`,title:r,children:w})]}),(0,B.jsx)(`div`,{id:m,hidden:!u,children:u&&(0,B.jsxs)(B.Fragment,{children:[h&&(0,B.jsx)(`pre`,{className:`fray-bash-body${_&&!f?` fray-bash-clamp`:``}`,children:h}),_&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>p(e=>!e),onMouseDown:e=>e.preventDefault(),className:`fray-bash-expand petite-caps px-2.5 pb-1.5`,children:f?`Collapse`:`Show all ${g} lines`}),l&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`fray-bash-output-label petite-caps`,children:`output`}),(0,B.jsx)(`pre`,{className:`fray-bash-body fray-bash-output-body`,children:l})]})]})})]})}function mK(e,t){return t===`shutdown_request`?`Shutdown`:t===`codex_followup`?`Followed up`:e===`main`?`Reported`:`Steered`}function hK({to:e,summary:t,body:n,type:r,dispatchId:i,targetLabel:a,status:o,durationMs:s}){return(0,z.useContext)(_G)===null?(0,B.jsx)(_K,{to:e,summary:t,body:n,type:r,status:o,durationMs:s}):(0,B.jsx)(VK,{to:e,type:r,dispatchId:i,targetLabel:a})}var gK=16;function _K({to:e,summary:t,body:n,type:r,status:i,durationMs:a}){let[o,s]=(0,z.useState)(!t),[c,l]=(0,z.useState)(!1),u=(0,z.useId)(),d=(0,z.useMemo)(()=>aB(n),[n]),f=(0,z.useMemo)(()=>n.split(`
|
|
356
|
+
`).length,[n]),p=f>gK,m=!!n.trim(),h=mK(e,r);return(0,B.jsxs)(`div`,{className:`fray-bash`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":m?u:void 0,"aria-expanded":m?o:void 0,"aria-label":`${m?`${o?`Collapse`:`Expand`} `:``}${h}${e?` to ${e}`:``}`,className:`fray-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,disabled:!m,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps fray-bash-label shrink-0`,children:h}),t&&(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:t})]}),(0,B.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(tK,{status:i,durationMs:a}),m&&(0,B.jsx)(Mv,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${o?`rotate-90`:``}`})]})]}),m&&(0,B.jsx)(`div`,{id:u,hidden:!o,children:o&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`border-t border-border px-2.5 py-2${p&&!c?` fray-bash-clamp`:``}`,children:(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:d}})}),p&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),onMouseDown:e=>e.preventDefault(),className:`fray-bash-expand petite-caps px-2.5 pb-1.5`,children:c?`Collapse`:`Show all ${f} lines`})]})})]})}function vK({children:e,stickyTopPx:t,sourceId:n}){let r=t!==void 0;return(0,B.jsx)(`div`,{"data-transcript-source-id":n,"data-transcript-sticky":`true`,style:r?{"--sticky-user-top":`${t}px`}:void 0,className:`pointer-events-none [&>*]:pointer-events-auto sticky z-[9] flex flex-col pt-3 pb-1.5 ${r?`top-[var(--sticky-user-top)] max-[800px]:top-[calc(var(--sticky-user-top)_+_2.5rem)]`:`top-0`}`,children:e})}function yK({text:e,rawText:t,queued:n,sticky:r,deliveryUnconfirmed:i,deliveryId:a,sourceId:o}){let s=(0,z.useRef)(null),c=(0,z.useContext)(_G),l=sH(c),{unqueue:u,pending:d}=dH(c),f=!!(n&&a&&c&&l),{prose:p,attachments:m}=(0,z.useMemo)(()=>IA(e),[e]),[h,g]=(0,z.useState)(!1),[_,v]=(0,z.useState)(!1),[y,b]=(0,z.useState)(!1),[x,S]=(0,z.useState)(!1),[C,w]=(0,z.useState)(null),T=(0,z.useCallback)(()=>{let e=s.current;if(!r||!e){w(null),v(!1),b(!1);return}let t=Math.round((typeof window>`u`?800:window.innerHeight)*.85);v(e.scrollHeight>205),b(e.scrollHeight>t),w(h?`${Math.min(e.scrollHeight,t)}px`:`200px`)},[r,h]);(0,z.useLayoutEffect)(()=>{T()},[T,e]),(0,z.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>T();return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[T]);let E=r===!0&&!h,D=r===!0&&h&&y&&x;return(0,B.jsxs)(`div`,{"data-fray-msg":o,className:`group/msg relative self-end flex flex-col items-end gap-0.5 max-w-[85%]`,children:[(0,B.jsx)(WV,{sourceId:o,side:`left`}),p.trim()!==``&&(0,B.jsxs)(`div`,{ref:s,...f?{role:`button`,tabIndex:0,"data-unqueue":a,"aria-label":`Unqueue this message and put it back in the prompt box`,title:d?`Taking it back…`:void 0,onClick:n=>u({deliveryId:a,text:e,rawText:t??e,from:n.currentTarget}),onKeyDown:n=>{n.key!==`Enter`&&n.key!==` `||(n.preventDefault(),u({deliveryId:a,text:e,rawText:t??e,from:n.currentTarget}))}}:{},onMouseEnter:r?()=>g(!0):void 0,onMouseLeave:r?()=>{g(!1),S(!1)}:void 0,onTransitionEnd:r?e=>{e.propertyName===`max-height`&&h&&y&&S(!0)}:void 0,style:{...C?{maxHeight:C}:{},...r&&y&&!D?{paddingRight:`calc(0.875rem + var(--sbw))`}:{}},className:`relative rounded-xl rounded-br-sm bg-user-bubble px-3.5 py-2 text-[14px] whitespace-pre-wrap [overflow-wrap:anywhere] text-bg ${n?`opacity-50`:``} ${f?`cursor-pointer transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-bg`:``} ${d?`!opacity-30`:``} ${r?`transition-[max-height] duration-200 ease-out ${D?`overflow-y-auto`:`overflow-hidden`}`:``}`,children:[p,E&&_&&(0,B.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t from-user-bubble to-transparent`})]}),m.length>0&&(0,B.jsxs)(`div`,{className:`mt-1 flex flex-col items-end gap-1.5`,children:[m.filter(e=>e.kind===`image`).map((e,t)=>(0,B.jsx)(CK,{path:e.path,hideCaption:!0},`i${t}-${e.path}`)),m.some(e=>e.kind===`file`)&&(0,B.jsx)(`div`,{className:`flex flex-wrap justify-end gap-1.5`,children:m.filter(e=>e.kind===`file`).map((e,t)=>(0,B.jsx)(wK,{path:e.path},`f${t}-${e.path}`))})]}),i&&(0,B.jsx)(`div`,{className:`text-[11px] text-amber-400/80`,children:`Delivery unconfirmed — check the terminal`}),f&&d&&(0,B.jsx)(`div`,{"aria-hidden":!0,className:`h-0 overflow-visible text-[11px] text-muted`,children:`Taking it back…`})]})}var bK=(0,z.memo)(function({m:e,answering:t,dense:n,paired:r,sticky:i,textOnly:a,showSendButton:o}){if(e.kind===`event`)return(0,B.jsx)(HK,{text:e.text,boundary:e.boundary,sourceId:e.sourceId});if(e.kind===`reasoning`)return(0,B.jsx)(UK,{text:e.text,durationMs:e.durationMs,sourceId:e.sourceId});let s=iU(e);if(s)return(0,B.jsx)(zK,{call:s,sourceId:e.sourceId});if(e.role===`user`){let t=vH(e).replace(/\r\n?/g,`
|
|
357
|
+
`),a=r===void 0?DV(t):r;return a?(0,B.jsx)(xK,{answers:a,queued:e.queued,sourceId:e.sourceId}):e.wake?(0,B.jsx)($V,{text:t,sourceId:e.sourceId,wrap:n}):e.peerFrom?(0,B.jsx)(BK,{from:e.peerFrom,dispatchId:e.peerDispatchId,sourceId:e.sourceId}):(0,B.jsx)(yK,{text:t,rawText:e.text,queued:e.queued,sticky:i,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let c=[],l={n:-1},u=(e,r)=>{for(let[i,a]of xV(e).entries()){if(a.kind===`fence`){c.push((0,B.jsx)(OK,{fenceKind:a.fenceKind,body:a.body,hints:a.hints,wrap:n},`${r}-f${i}`));continue}for(let[e,o]of tV(a.text).entries()){if(o.kind===`prose`){for(let[t,a]of FA(o.text).entries()){let o=`${r}-${i}-p${e}-${t}`;c.push(a.kind===`image`?(0,B.jsx)(CK,{path:a.path},o):a.kind===`file`?(0,B.jsx)(wK,{path:a.path},o):a.kind===`visualization`?(0,B.jsx)(DK,{file:a.file},o):a.kind===`directive`?(0,B.jsx)(pG,{directive:a.directive},o):a.kind===`mermaid`?(0,B.jsx)(gG,{source:a.source},o):(0,B.jsx)(SK,{md:a.text,wrap:n},o))}continue}l.n+=1;let a=l.n,s=t?{answer:t.answerFor(a),onChip:(e,n)=>t.onChip(a,e,n),onText:e=>t.onText(a,e),onSubmit:t.onSubmit}:void 0;c.push((0,B.jsx)(WU,{raw:o.text,questionKind:o.questionKind,danger:o.danger,interactive:s,wrap:n},`${r}-${i}-q${e}`))}}};if(e.parts&&e.parts.length>0)WG(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(a)return;let i=KG(t.tools);i.length&&c.push((0,B.jsx)(XG,{tools:i,dense:n,at:e.at},`t${r}`))}else u(t.text,`x${r}`)});else{if(!a){let t=KG(e.tools);t.length>0&&c.push((0,B.jsx)(XG,{tools:t,dense:n,at:e.at},`tools`))}u(e.text,`leg`)}return c.length===0?null:(o&&t&&c.push((0,B.jsx)(`div`,{className:`flex justify-start`,children:(0,B.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:!t.anyAnswered||t.sending,onClick:t.onSubmit,onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})},`send-answers`)),(0,B.jsxs)(`div`,{"data-fray-msg":e.sourceId,className:`group/msg relative flex flex-col text-[13px] min-w-0`,children:[(0,B.jsx)(WV,{sourceId:e.sourceId}),GG(c)]}))});function xK({answers:e,queued:t,sourceId:n}){return(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative self-end flex w-full max-w-[85%] flex-col items-end ${t?`opacity-50`:``}`,children:[(0,B.jsx)(WV,{sourceId:n,side:`left`}),(0,B.jsxs)(`div`,{className:`w-full min-w-0 ${jV} rounded-br-sm border border-border-strong bg-elevated p-4`,children:[(0,B.jsx)(FV,{icon:ry,label:`Answers`}),(0,B.jsx)(IV,{children:(0,B.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:e.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.question&&(0,B.jsx)(`div`,{title:e.question,className:`line-clamp-2 min-w-0 text-[11px] leading-snug text-muted`,children:e.question}),(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[!e.question&&(0,B.jsx)(`span`,{className:`mt-1.5 shrink-0 text-[10px] uppercase tabular-nums tracking-wide text-muted/70`,children:e.n}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere] rounded-md border border-border-strong border-l-2 border-l-accent/40 bg-bg/50 px-2.5 py-1.5 text-[12px] leading-snug text-fg`,children:e.answer})]})]},t))})})]})]})}function SK({md:e,wrap:t}){let n=(0,z.useMemo)(()=>aB(e),[e]),r=(0,z.useRef)(null);return _H(r,n),n?(0,B.jsx)(`div`,{ref:r,className:`md-body${t?` ${AV}`:``}`,dangerouslySetInnerHTML:{__html:n}}):null}function CK({path:e,hideCaption:t,altText:n}){let[r,i]=(0,z.useState)(!1);if(r)return(0,B.jsx)(`div`,{className:`font-mono-keep text-[12px] text-muted/70 break-all`,children:e});let a=e.split(`/`).filter(Boolean).pop()||e;return(0,B.jsxs)(`figure`,{className:`flex flex-col gap-1`,children:[(0,B.jsx)(`img`,{src:`/local-image?path=${encodeURIComponent(e)}`,alt:n??a,"data-local-path":e,"data-local-image":`true`,onError:()=>i(!0),className:`max-w-full max-h-[420px] w-auto self-center cursor-pointer ${jV} border border-border object-contain`}),!t&&(0,B.jsx)(`figcaption`,{className:`font-mono-keep text-[11px] text-muted/60 break-all`,children:a})]})}function wK({path:e}){let t=e.split(`/`).filter(Boolean).pop()||e;return(0,B.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${jV} border border-border bg-panel-2 px-3 py-1.5 text-left align-top no-underline hover:border-accent`,"data-local-path":e,title:e,children:[(0,B.jsx)(Wv,{size:14,strokeWidth:2,className:`shrink-0 text-muted`}),(0,B.jsx)(`span`,{className:`font-mono-keep truncate text-[12px] text-fg`,children:t})]})}var TK={"--background":`--color-bg`,"--foreground":`--color-fg`,"--card":`--color-panel-2`,"--card-foreground":`--color-fg`,"--popover":`--color-elevated`,"--popover-foreground":`--color-fg`,"--primary":`--color-fg`,"--primary-foreground":`--color-bg`,"--secondary":`--color-panel-2`,"--secondary-foreground":`--color-fg`,"--muted":`--color-panel-2`,"--muted-foreground":`--color-muted`,"--accent":`--color-border-strong`,"--accent-foreground":`--color-fg`,"--border":`--color-border-strong`,"--input":`--color-border-strong`,"--ring":`--color-accent`};function EK(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(TK).map(([t,n])=>[t,e.getPropertyValue(n).trim()]));return t[`--font-size-base`]=getComputedStyle(document.body).fontSize,{type:`fray-inline-vis-theme`,colorScheme:e.colorScheme===`light`?`light`:`dark`,vars:t}}function DK({file:e}){let t=(0,z.useContext)(_G),n=(0,z.useRef)(null),[r,i]=(0,z.useState)(360),[a,o]=(0,z.useState)(null),s=t?`/local-visualization?slug=${encodeURIComponent(t)}&file=${encodeURIComponent(e)}`:null;return(0,z.useEffect)(()=>{if(!s){o(!1);return}let e=new AbortController;return o(null),fetch(s,{method:`HEAD`,signal:e.signal}).then(t=>{e.signal.aborted||o(t.ok)}).catch(()=>{e.signal.aborted||o(!1)}),()=>e.abort()},[s]),(0,z.useEffect)(()=>{let e=e=>{if(e.source!==n.current?.contentWindow||e.data?.type!==`fray-inline-vis-height`)return;let t=Number(e.data.height);Number.isFinite(t)&&i(Math.max(80,Math.min(2400,Math.ceil(t))))};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[]),a===!1||!s?(0,B.jsxs)(`div`,{role:`status`,className:`${jV} border border-border bg-panel-2 px-4 py-2.5 text-[12px] text-muted`,children:[`Visualization unavailable: `,(0,B.jsx)(`span`,{className:`font-mono-keep break-all`,children:e})]}):a===null?(0,B.jsx)(`div`,{role:`status`,className:`h-20 animate-pulse ${jV} bg-panel-2`,"aria-label":`Loading ${e}`}):(0,B.jsx)(`iframe`,{ref:n,src:s,title:e.replace(/\.html$/,``).replaceAll(`-`,` `),sandbox:`allow-scripts`,onLoad:()=>n.current?.contentWindow?.postMessage(EK(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function OK({fenceKind:e,body:t,hints:n,wrap:r}){let i=(0,z.useMemo)(()=>t?aB(t):``,[t]),a=wH(t,CH(n)),o=(0,z.useMemo)(()=>oB(a),[a]),s=(0,z.useContext)(_G),c=(0,z.useContext)(bG),l=J_(),u=s?xg(l,s):void 0,d=u?HH(u):void 0,f=!!(u&&d?.archive),p=(0,z.useRef)(null);f&&u&&(p.current=u);let m=f&&u?u:p.current;if(e===`done`)return(0,B.jsxs)(LV,{icon:Av,label:`Done`,children:[i&&(0,B.jsx)(`div`,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,dangerouslySetInnerHTML:{__html:i}}),m&&(0,B.jsx)(zV,{children:(0,B.jsx)(nU,{thread:m,className:`rounded-md text-[11px] bg-fg px-2.5 py-1 text-bg hover:opacity-90`,iconClassName:`icon-label-nudge`,onArchived:c?.dismiss,onDismissCancel:c?.cancel})})]});let h=xH(n)?.title??`Awaiting`;return(0,B.jsxs)(LV,{icon:n.some(e=>e.kind===`pr-watch`)?uy:$v,label:h,children:[(0,B.jsx)(`div`,{className:`md-inline ${RV}${r?` ${AV}`:``}`,dangerouslySetInnerHTML:{__html:o}}),f&&u&&(0,B.jsx)(kK,{thread:u,hints:n})]})}function kK({thread:e,hints:t}){let[n,r]=(0,z.useState)(!1),i=(0,z.useContext)(bG),a=xH(t);return a?(0,B.jsxs)(zV,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{let t=a.timerUntil??Py(Xy.snoozePreset);r(!0),Z.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:t}).then(()=>{X(`${a.toastVerb} · ${Ry(t)}`),i?.dismiss()}).catch(e=>X(`Couldn’t snooze: ${e.message.slice(0,80)}`)).finally(()=>r(!1))},disabled:n,"aria-label":bH,title:a.explainer,onMouseDown:e=>e.preventDefault(),className:`whitespace-nowrap disabled:opacity-45 ${VV}`,children:[n&&(0,B.jsx)(iy,{size:11,className:`animate-spin`}),bH]}),(0,B.jsx)(`span`,{className:BV,children:a.explainer})]}):null}function AK({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(!1),c=Bu(),l=hj[n.backend],u=t=>{s(!0),ON(c,e,t,{onSuccess:()=>{s(!1),X(`Retrying with the previous message…`)},onRollback:()=>s(!1),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||s(!1)};return(0,B.jsxs)(LV,{"data-provider-fault":!0,tone:`danger`,icon:ty,label:`${l} sign-in required`,children:[(0,B.jsx)(`span`,{className:RV,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,B.jsxs)(zV,{children:[r?.trim()&&(0,B.jsx)(`button`,{onClick:()=>u(r),disabled:o,onMouseDown:e=>e.preventDefault(),className:`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel hover:border-border-strong disabled:opacity-60`,children:`Retry`}),(0,B.jsx)(`button`,{onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:VV,children:`Sign in`})]}),i&&(0,B.jsx)(Sj,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function jK(e){let t=new Date(e*1e3),n=t.toDateString()===new Date().toDateString(),r=t.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`});return n?r:`${t.toLocaleDateString([],{weekday:`short`})} ${r}`}function MK({slug:e,sessionId:t,pause:n}){let r=hj[n.backend],i=n.window===`weekly`?`weekly limit`:n.window===`session`?`session limit`:`usage limit`,[a,o]=(0,z.useState)(!1),s=Bu();return(0,B.jsxs)(LV,{"data-limit-pause":!0,tone:`caution`,icon:$v,label:`Paused by the ${r} ${i}`,children:[(0,B.jsx)(`span`,{className:RV,children:n.autoResume?n.resumesAt?`Continuing automatically at ${jK(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,B.jsx)(zV,{children:(0,B.jsx)(`button`,{onClick:()=>{o(!0),ON(s,e,`Continue exactly where you left off.`,{onSuccess:()=>{o(!1),X(`Continuing…`)},onRollback:()=>o(!1),failureToast:e=>`Continue failed: ${e.slice(0,80)}`})||o(!1)},disabled:a,onMouseDown:e=>e.preventDefault(),className:`disabled:opacity-45 ${VV}`,children:`Continue now`})})]})}function NK({onTerminal:e}){return(0,B.jsxs)(LV,{tone:`attention`,icon:ty,label:`Permission approval`,children:[(0,B.jsx)(`span`,{className:RV,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,B.jsx)(zV,{children:(0,B.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:VV,children:`Copy terminal command`})})]})}function PK({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return e.decision===`deny`?(0,B.jsxs)(LV,{tone:`caution`,icon:Sy,label:`Blocked by fray's permission policy`,children:[n?(0,B.jsx)(`code`,{className:`mb-1.5 block min-w-0 break-all rounded bg-panel px-1.5 py-1 text-[11px] text-fg/85`,children:n}):null,(0,B.jsx)(`span`,{className:RV,children:e.reason}),(0,B.jsxs)(`span`,{className:`mt-1.5 block text-[11px] text-muted`,children:[`Rule `,(0,B.jsx)(`code`,{className:`rounded bg-panel px-1 py-0.5`,children:e.rule}),t&&t>1?` · ${t} denials this session`:``]})]}):(0,B.jsxs)(`div`,{className:`flex min-w-0 items-start gap-1.5 text-[11px] leading-5 text-muted`,children:[(0,B.jsx)(my,{size:12,strokeWidth:1.8,className:`mt-[5px] shrink-0`}),(0,B.jsxs)(`span`,{className:`min-w-0`,children:[`Auto-approved`,n?(0,B.jsxs)(B.Fragment,{children:[` `,(0,B.jsx)(`code`,{className:`rounded bg-panel-2 px-1 py-0.5 text-[10.5px]`,children:n})]}):null,` · `,`rule `,(0,B.jsx)(`code`,{className:`whitespace-nowrap rounded bg-panel-2 px-1 py-0.5 text-[10.5px]`,children:e.rule})]})]})}function FK({input:e,onTerminal:t}){return(0,B.jsxs)(LV,{"data-native-input-required":!0,tone:`attention`,icon:Sy,label:e.kind===`tool-approval`?`Tool approval required`:e.kind===`permission`?`Permission choice required`:e.kind===`confirmation`?`Confirmation required`:`Choice required`,children:[(0,B.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.title}),(0,B.jsx)(`div`,{className:`mt-1 text-[12px] leading-5 text-muted`,children:`Review and respond in your external terminal. Fray will not choose for you.`}),(0,B.jsx)(zV,{children:(0,B.jsx)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:VV,children:`Copy terminal command`})})]})}function IK({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=xg(J_(),e),o=a?.subAgents??[],s=n?i?ux(o,i):o:[],c=i?[...r]:mx(a?.bgShells??[],r),l=s.length+c.length,[,u]=(0,z.useState)(0);return(0,z.useEffect)(()=>{if(l===0)return;let e=setInterval(()=>u(e=>e+1),3e4);return()=>clearInterval(e)},[l]),l===0?null:(0,B.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[fx(s,`sheet`).map((t,n)=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>og(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},`a${n}`)),fx(c,`sheet`).map((t,n)=>(0,B.jsx)(hx,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,onOpen:t.id?()=>sg(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},`s${n}`))]})}function LK({ask:e,onTerminal:t}){return(0,B.jsxs)(LV,{tone:`attention`,icon:Rv,label:`Waiting on your answer — in your external terminal`,children:[(0,B.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.header&&(0,B.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted/55`,children:e.header}),(0,B.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.question}),e.options.length>0&&(0,B.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.options.map((e,t)=>(0,B.jsxs)(`div`,{className:`rounded-md border border-border bg-elevated px-3 py-1.5 text-[12px] text-fg/80`,children:[(0,B.jsx)(`span`,{className:`font-medium text-fg/90`,children:e.label}),e.description&&(0,B.jsxs)(`span`,{className:`text-muted/70`,children:[` — `,e.description]})]},t)),e.multiSelect&&(0,B.jsx)(`div`,{className:`text-[10px] text-muted/50`,children:`select one or more`})]})]},t))}),(0,B.jsx)(zV,{children:(0,B.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:VV,children:[(0,B.jsx)(ty,{size:12,className:`shrink-0 ${GV}`}),`Copy terminal command`]})})]})}function RK({children:e,sourceId:t,ariaLabel:n,marker:r}){return(0,B.jsxs)(`div`,{"data-fray-msg":t,"data-wake-divider":r,className:`group/msg relative my-1 flex items-center gap-3`,role:n?`separator`:void 0,"aria-label":n,children:[(0,B.jsx)(WV,{sourceId:t}),(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70`}),(0,B.jsx)(`span`,{className:`petite-caps flex min-w-0 items-center gap-1 break-words text-center text-[12px] text-muted/70`,children:e}),(0,B.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70`})]})}function zK({call:e,sourceId:t}){let n=yG(),r=e.detail??`sub-agent`,{tail:i}=oU(e),a=!!(n&&e.agentId);return(0,B.jsxs)(RK,{sourceId:t,marker:`agent`,ariaLabel:a?void 0:`Sub-agent ${r} ${i}`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),a?(0,B.jsx)(`button`,{type:`button`,"data-subagent-completion-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${r}`,onClick:()=>og(n,e.agentId,{label:r,subagentType:e.subagentType}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:r}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:r}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,B.jsx)(`span`,{className:`shrink-0`,children:i})]})}function BK({from:e,dispatchId:t,sourceId:n}){let r=yG(),i=!!(r&&t);return(0,B.jsxs)(RK,{sourceId:n,marker:`agent-report`,ariaLabel:i?void 0:`Sub-agent ${e} reported`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),i?(0,B.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${e}`,onClick:()=>og(r,t,{label:e,subagentType:e}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:e}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:e}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`reported`})]})}function VK({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i}){let a=yG(),o=mK(e,t),s=e===`main`?void 0:r??e,c=!!(a&&n);return(0,B.jsxs)(RK,{sourceId:i,marker:`agent-steer`,ariaLabel:c?void 0:`${o}${s?` ${s}`:``}`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:o}),s&&(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,B.jsx)(`span`,{className:`shrink-0`,children:`«`}),c?(0,B.jsx)(`button`,{type:`button`,"data-subagent-steer-open":!0,title:ox.AGENT,"aria-label":`${ox.AGENT}: ${s}`,onClick:()=>og(a,n,{label:s}),onMouseDown:e=>e.preventDefault(),className:`min-w-0 truncate rounded-sm underline decoration-muted/30 underline-offset-2 outline-none transition-colors hover:text-fg hover:decoration-fg/60 focus-visible:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:s}):(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:s}),(0,B.jsx)(`span`,{className:`shrink-0`,children:`»`})]})]})}function HK({text:e,boundary:t,sourceId:n}){return t?(0,B.jsx)(RK,{sourceId:n,marker:`event`,ariaLabel:e,children:e}):(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative ${uU}`,children:[(0,B.jsx)(WV,{sourceId:n}),e]})}function UK({text:e,durationMs:t,sourceId:n}){let[r,i]=(0,z.useState)(!1),a=(0,z.useId)(),o=t!=null&&t>0?`Thought for ${t<6e4?`${Math.max(1,Math.round(t/1e3))} seconds`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}`:`Thought`;return(0,B.jsxs)(`div`,{"data-fray-msg":n,className:`group/msg relative flex flex-col`,children:[(0,B.jsx)(WV,{sourceId:n}),(0,B.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":a,"aria-expanded":r,"aria-label":`${r?`Collapse`:`Expand`} model reasoning`,className:`${uU} flex items-center gap-1 self-start rounded outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(`span`,{children:o}),(0,B.jsx)(Mv,{"aria-hidden":`true`,size:13,className:`size-[1em] shrink-0 -translate-y-[0.088em] transition-transform ${r?`rotate-90`:``}`})]}),r&&(0,B.jsx)(`div`,{id:a,className:`fray-reasoning mt-1.5 ml-[5px] border-l border-border/70 pl-3`,children:(0,B.jsx)(SK,{md:e,wrap:!0})})]})}function WK(){return(0,B.jsx)(`span`,{className:`inline-block w-2.5 h-2.5 rounded-full border border-muted/70 border-t-transparent animate-spin`})}function GK({since:e,activityLabel:t}){let[n]=(0,z.useState)(()=>{let t=Date.parse(e??``);return Number.isFinite(t)&&t<=Date.now()?t:Date.now()}),[r,i]=(0,z.useState)(()=>Date.now());(0,z.useEffect)(()=>{let e=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(e)},[]);let a=Math.max(0,Math.floor((r-n)/1e3)),o=a<60?`${a}s`:`${Math.floor(a/60)}m ${String(a%60).padStart(2,`0`)}s`;return(0,B.jsxs)(`div`,{"data-working-indicator":!0,"data-working-activity":t?`tool`:`generic`,className:`flex items-baseline gap-2 ${uU}`,children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate shimmer-text`,children:t??`Working…`}),(0,B.jsx)(`span`,{className:`shrink-0 whitespace-nowrap tabular-nums text-[12px] text-muted/60`,children:o})]})}function KK(){let[e,t]=(0,z.useState)(()=>typeof window<`u`&&window.matchMedia(`(max-width: 800px)`).matches);return(0,z.useEffect)(()=>{let e=window.matchMedia(`(max-width: 800px)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function qK({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=xI(e,i===!0),[c,l]=(0,z.useState)(i===!0),u=(0,z.useRef)(null),d=(0,z.useRef)(null),f=[...Yd(Y).drawers].reverse().find(e=>!e.closing)?.id===e,p=KK(),m=(0,z.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);(0,z.useEffect)(()=>()=>{let e=m.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]);let h=J_(),g=AI(h,t),_=g.kind===`found`?g.thread:void 0,v=h?.projectDir,y=v?`${v}\0${t}`:void 0,b=_?{scratch:!!_.scratchpadPath}:void 0,x=(0,z.useRef)(void 0),S=EI(y,b,x.current);x.current=S.remembered;let C=S.capabilities.scratch,w=_?_.runtime===`turn-idle`||_.runtime===`exited`||_.runtime===`none`:!1;(0,z.useEffect)(()=>{!_||!w||Z.threadSeen({slug:t}).catch(()=>{})},[t,w,w?_?.lastActivityAt:void 0]),(0,z.useEffect)(()=>{let t=u.current;if(!t||!c)return;let n=()=>t.querySelector(`[data-drawer-scroll-ready]`),r=()=>t.querySelector(`[data-drawer-transcript-scroll]`),i=new MI({isActive:()=>[...Y.drawers].reverse().find(e=>!e.closing)?.id===e,isContentReady:()=>n()?.dataset.drawerScrollReady===`true`,scrollToBottom:()=>{let e=r();return e?(e.scrollTop=e.scrollHeight,!0):!1},preserveAnchor:()=>location.hash.length>1});d.current=i;let a=null,o=new ResizeObserver(()=>i.layoutChanged()),s=()=>{let e=n();e!==a&&(a&&o.unobserve(a),a=e,e&&o.observe(e)),i.layoutChanged()},l=new MutationObserver(s);l.observe(t,{attributes:!0,attributeFilter:[`data-drawer-scroll-ready`],childList:!0,subtree:!0});let f=()=>i.userIntent(),p=e=>{[`Shift`,`Control`,`Alt`,`Meta`].includes(e.key)||f()};return t.addEventListener(`wheel`,f,{capture:!0,passive:!0}),t.addEventListener(`touchstart`,f,{capture:!0,passive:!0}),t.addEventListener(`pointerdown`,f,!0),t.addEventListener(`keydown`,p,!0),s(),()=>{i.dispose(),d.current===i&&(d.current=null),t.removeEventListener(`wheel`,f,!0),t.removeEventListener(`touchstart`,f,!0),t.removeEventListener(`pointerdown`,f,!0),t.removeEventListener(`keydown`,p,!0),o.disconnect(),l.disconnect()}},[c,e]),(0,z.useEffect)(()=>{d.current?.activationChanged()},[f]);let T=(0,z.useRef)(v&&_?y??null:null),[E,D]=(0,z.useState)(()=>!v||!_?`chat`:OI(v,t)),O=TI(T.current===y?E:`chat`,{scratch:C}),ee=(0,z.useCallback)(e=>{v&&kI(v,t,e),D(e)},[v,t]);return(0,z.useEffect)(()=>{if(!v||!y||!S.authoritative||T.current===y)return;T.current=y;let e=OI(v,t);e!==E&&D(e)},[v,t,y,S.authoritative,E]),(0,z.useEffect)(()=>{if(i)return;let e=!1,t=()=>{e||s.current||(e=!0,l(!0))},n=0,r=requestAnimationFrame(()=>{n=requestAnimationFrame(t)}),a=window.setTimeout(t,120);return()=>{window.clearTimeout(a),cancelAnimationFrame(r),n&&cancelAnimationFrame(n)}},[i]),(0,z.useEffect)(()=>{let e=u.current;if(!c||!e||document.activeElement!==e)return;let t=requestAnimationFrame(()=>{e.querySelector(`[data-dialog-initial-focus]`)?.focus({preventScroll:!0})});return()=>cancelAnimationFrame(t)},[c]),(0,z.useEffect)(()=>(Kh(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>Kh(e,null)),[e]),(0,B.jsx)(tA,{modal:p,open:!0,onOpenChange:e=>{e||o()},children:(0,B.jsxs)(sA,{children:[(0,B.jsx)(lA,{className:`${_I} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,B.jsxs)(pA,{ref:u,"aria-modal":p||void 0,"aria-describedby":void 0,tabIndex:-1,onEscapeKeyDown:dj,onPointerDownOutside:n=>{let r=Y.drawers.findIndex(t=>t.id===e);if(r!==-1&&r<Y.drawers.length-1){n.preventDefault();return}(n.target instanceof Element?n.target.closest(`[data-subagent-parent]`):null)?.getAttribute(`data-subagent-parent`)===t&&n.preventDefault()},onFocusOutside:e=>e.preventDefault(),onCloseAutoFocus:e=>{e.preventDefault();let t=m.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;(t?.querySelector(`[data-dialog-initial-focus]`)??t)?.focus({preventScroll:!0})},className:`fixed right-0 top-0 overflow-hidden outline-none ${vI} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:yI(r)},children:[(0,B.jsx)(vA,{className:`sr-only`,children:g.kind===`found`?`Thread: ${eb(g.thread)}`:`Thread: ${t}`}),c&&g.kind===`found`?(0,B.jsx)(wG,{slug:t,tab:O,onTab:ee,onStatusApplied:o,onClose:o,virtualized:!0}):c&&g.kind===`missing`?(0,B.jsx)(JK,{slug:t,onClose:o}):(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})]})]})})}function JK({slug:e,onClose:t}){return(0,B.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,B.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-3 border-b border-border bg-panel px-4`,children:[(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:`Thread unavailable`}),(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:t,className:`p-1 text-muted hover:text-fg`,children:`×`})]}),(0,B.jsxs)(`div`,{className:`flex flex-1 items-center justify-center px-6 text-center text-sm text-muted`,role:`status`,children:[`Thread “`,e,`” was not found in this project.`]})]})}var YK=new Set([`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]);function XK(e,t){let n=e.lastIndexOf(t);if(n<=0)return{model:e};let r=e.slice(n+1);return YK.has(r)?{model:e.slice(0,n),effort:r}:{model:e}}function ZK(e){let t=e?.trim();if(!t)return`Profile unknown`;if(t.startsWith(`fray:`)){let{model:e,effort:n}=XK(t.slice(5).replace(/^fray-/,``),`-`);return n?`${e} › ${n}`:e}let n=t.split(/\s+/),{model:r,effort:i}=XK(n.at(-1)??t,`/`);if(!i)return t;let a=n.slice(0,-1).join(` `);return`${a?`${a} · `:``}${r} › ${i}`}function QK({title:e,subtitle:t,icon:n,meta:r,actions:i,onClose:a,initialFocus:o}){return(0,B.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-4`,children:[n,(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col justify-center`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium`,title:e,children:e}),r]}),t&&(0,B.jsx)(`span`,{className:`truncate text-[10px] text-muted/60`,children:t})]}),i,(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:a,...o?{"data-dialog-initial-focus":``}:{},className:`rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,B.jsx)(Ty,{size:15})})]})}function $K({id:e,slug:t,subId:n,label:r,subagentType:i,startedAt:a,depth:o,widthDepth:s}){let[c,l]=(0,z.useState)(!1),u=(0,z.useRef)(null),d=av(t,n),f=Y_(),p=(0,z.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,z.useMemo)(()=>SG(p),[p]),_=(0,z.useMemo)(()=>CG(p),[p]),v=(0,z.useMemo)(()=>VW(_),[_]),y=h?HW(v.map(e=>e.message)):void 0,b=y?YW(y,f):void 0,x=(0,z.useMemo)(()=>h?WW(v):v,[v,h]),S=h,C=d.isError||m===`gone`||p.length===0&&(m===`done`||m===`stale`);return(0,z.useEffect)(()=>{let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l(!0))});return()=>{cancelAnimationFrame(t),e&&cancelAnimationFrame(e)}},[]),(0,z.useEffect)(()=>{let e=u.current;if(!e||!c)return;let t=!0,n=()=>{t&&(e.scrollTop=e.scrollHeight)},r=()=>{t=e.scrollHeight-e.scrollTop-e.clientHeight<160};e.addEventListener(`scroll`,r,{passive:!0});let i=new ResizeObserver(n);for(let t of e.children)i.observe(t);return n(),()=>{e.removeEventListener(`scroll`,r),i.disconnect()}},[c]),(0,B.jsx)(SI,{id:e,depth:o,widthDepth:s,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(QK,{title:r,onClose:e}),(0,B.jsx)(`div`,{ref:u,className:`flex-1 min-h-0 overflow-y-auto`,children:C?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-8 text-center text-[13px] text-muted`,children:`Transcript unavailable (agent completed or cleaned up).`}):!c||d.isLoading||p.length===0?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})}):(0,B.jsx)(vG.Provider,{value:t,children:(0,B.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[UG(x.map(e=>e.message),(e,t)=>(0,B.jsx)(bK,{m:e},t)),S&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(VG,{h:HG(x.map(e=>e.message))}),(0,B.jsx)(GK,{since:a,activityLabel:b})]})]})})}),(0,B.jsx)(eq,{slug:t,subId:n,subagentType:i,steerable:d.data?.steerable===!0,note:d.data?.steerNote??null,stoppable:d.data?.stoppable===!0,stopNote:d.data?.stopNote??null,ops:e=>(0,B.jsx)(IK,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function eq({slug:e,subId:t,subagentType:n,steerable:r,note:i,stoppable:a,stopNote:o,ops:s}){let[c,l]=(0,z.useState)(``),[u,d]=(0,z.useState)(!1),[f,p]=(0,z.useState)(!1),m=Bu();function h(){let n=c.trim();!n||u||(d(!0),l(``),Z.subAgentSteer({slug:e,id:t,message:n}).then(()=>{m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]}),X(`Steer sent`)}).catch(e=>{l(n),X(e instanceof Error?e.message:`Could not steer this sub-agent`)}).finally(()=>d(!1)))}function g(){f||(p(!0),Z.subAgentStop({slug:e,id:t}).then(()=>{X(`Sub-agent stopped`),m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]})}).catch(e=>{X(e instanceof Error?e.message:`Could not stop this sub-agent`)}).finally(()=>p(!1)))}if(!r&&!a){let e=i??o;return e?(0,B.jsxs)(`div`,{"data-subagent-steer-note":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[(0,B.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:e}),(0,B.jsx)(`div`,{className:`pl-1.5`,children:(0,B.jsx)(tq,{subagentType:n})}),s?.(`px-1 pb-2 pt-1.5`)]}):(0,B.jsx)(B.Fragment,{children:s?.(`w-full shrink-0 border-t border-border bg-panel px-4 py-3`)})}return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{"data-subagent-steer":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[r?(0,B.jsx)(UA,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,B.jsx)(tq,{subagentType:n})}):i?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:i}),(0,B.jsx)(`div`,{className:`pl-1.5`,children:(0,B.jsx)(tq,{subagentType:n})})]}):null,r&&!a&&o&&(0,B.jsx)(`div`,{className:`mt-2 px-1 text-[11.5px] text-muted/70`,children:o}),s?.(`px-1 pb-2 pt-1.5`)]}),a&&(0,B.jsx)(`footer`,{"aria-label":`Sub-agent lifecycle actions`,"data-subagent-lifecycle-footer":!0,className:`flex min-h-10 w-full shrink-0 items-center justify-end gap-1.5 border-t border-border/70 bg-panel/95 px-3 pt-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] text-[12px] backdrop-blur-sm`,children:(0,B.jsx)(`button`,{type:`button`,"data-stop-subagent":!0,disabled:f,onClick:g,className:`rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] text-fg/80 transition-colors hover:border-red-400/40 hover:bg-red-400/10 hover:text-red-300 disabled:opacity-50`,children:f?`Stopping…`:`Stop sub-agent`})})]})}function tq({subagentType:e}){let t=ZK(e);return(0,B.jsx)(`span`,{"data-subagent-profile":!0,"aria-label":`Sub-agent profile: ${t}`,title:e?.trim()||`The provider did not report this sub-agent's model and effort`,className:`inline-flex min-w-0 max-w-[min(72%,20rem)] items-center rounded-md border border-border/50 bg-transparent px-1.5 py-0.5 text-muted ${qA}`,children:(0,B.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}function nq({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,z.useRef)(null),c=ov(t,n),l=c.data?.state,u=c.data?.command,d=c.data?.output??``;(0,z.useEffect)(()=>{let e=s.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<160&&(e.scrollTop=e.scrollHeight)},[d]);let f=Wb(i),p=l===`running`?`running${f?` ${f}`:``}`:l===`done`?`finished`:l===`gone`?`unavailable`:``,m=c.isError||l===`gone`;async function h(){if(u)try{await navigator.clipboard.writeText(u),X(`Command copied`)}catch{X(`Could not copy command`)}}return(0,B.jsx)(SI,{id:e,depth:a,widthDepth:o,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(QK,{title:r,icon:(0,B.jsx)(vy,{"aria-hidden":!0,size:14,className:`shrink-0 text-muted/60`}),meta:p?(0,B.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-[11.5px] text-muted/60`,children:p}):void 0,onClose:e}),(0,B.jsx)(`div`,{ref:s,className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:m?(0,B.jsx)(`div`,{className:`flex h-full items-center justify-center px-8 text-center text-[13px] text-muted`,children:`Background shell output is no longer available.`}):(0,B.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,B.jsxs)(`section`,{children:[(0,B.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,B.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Command`}),u&&(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`flex items-center gap-1 rounded px-1.5 py-1 text-[10.5px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(Bv,{"aria-hidden":!0,size:11}),` Copy`]})]}),(0,B.jsx)(`pre`,{"data-background-shell-command":!0,className:`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${jV} border border-border bg-bg/75 px-4 py-2.5 text-[12px] leading-relaxed text-fg/85`,children:u||(c.isLoading?`Loading…`:`Command unavailable for this background operation.`)})]}),(0,B.jsxs)(`section`,{children:[(0,B.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,B.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Output`}),l===`running`&&(0,B.jsx)(`span`,{"aria-hidden":!0,className:`fray-live-dot fray-live-dot--shell`,"data-running-indicator":`shell-drawer`}),c.data?.truncated&&(0,B.jsx)(`span`,{className:`text-[10.5px] text-muted/50`,children:`Showing latest 512 KB`})]}),d?(0,B.jsx)(`pre`,{"data-background-shell-output":!0,className:`font-mono-keep min-h-40 whitespace-pre-wrap break-words ${jV} border border-border bg-[#090b10] px-4 py-3 text-[12px] leading-relaxed text-fg/85`,children:d}):(0,B.jsx)(`div`,{"data-background-shell-output":!0,className:`flex min-h-40 items-center justify-center ${jV} border border-border bg-[#090b10] px-4 text-center text-[12px] text-muted/60`,children:l===`done`?`No output was captured.`:`No output yet.`})]})]})})]})})}var rq=`Implement this`,iq=`Implement this plan`,aq=`Start a new thread to implement this plan`,oq=`Delete plan`,sq=`Delete this plan`,cq=`Permanently delete this plan file`,lq={paddingBottom:`max(1rem, env(safe-area-inset-bottom))`};function uq({onClick:e}){return(0,B.jsxs)(`button`,{onClick:e,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1.5 rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] font-medium text-fg/80 outline-none transition-colors hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,title:aq,"aria-label":iq,children:[(0,B.jsx)(Uv,{size:12,"aria-hidden":`true`}),` `,rq]})}function dq({path:e,onDeleted:t}){let[n,r]=(0,z.useState)(!1),[i,a]=(0,z.useState)(!1);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-1.5 rounded-md border border-border-strong bg-panel-2/60 px-2.5 py-1 text-[12px] font-medium text-muted outline-none transition-colors hover:bg-panel-2 hover:text-red-400 focus-visible:ring-1 focus-visible:ring-red-400/60`,title:cq,"aria-label":sq,children:[(0,B.jsx)(xy,{size:12,"aria-hidden":`true`}),` `,oq]}),(0,B.jsx)(KH,{open:i,onOpenChange:e=>{n||a(e)},title:`Delete this plan?`,className:`w-[390px] max-w-[92vw]`,footer:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>a(!1),className:`rounded-md px-3 py-1.5 text-[12px] text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg disabled:opacity-45`,children:`Cancel`}),(0,B.jsxs)(`button`,{type:`button`,disabled:n,onClick:()=>{r(!0),Z.planDelete({path:e}).then(()=>{a(!1),X(`Plan deleted`),t()}).catch(e=>X(`Couldn’t delete: ${e.message.slice(0,80)}`)).finally(()=>r(!1))},className:`flex items-center gap-1.5 rounded-md bg-red-500 px-3 py-1.5 text-[12px] font-medium text-white outline-none transition-opacity hover:opacity-90 disabled:opacity-45`,children:[n&&(0,B.jsx)(iy,{size:12,className:`animate-spin`}),`Delete plan`]})]}),children:(0,B.jsxs)(`p`,{className:`p-4 text-[12px] leading-relaxed text-muted`,children:[`This permanently deletes the plan file `,(0,B.jsx)(`span`,{className:`text-fg/80`,children:e}),`. This can’t be undone.`]})})]})}function fq({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=td({queryKey:[`planBody`,t],queryFn:()=>Z.planBody({path:t})}),o=(0,z.useMemo)(()=>aB(a.data?.markdown??``),[a.data?.markdown]);return(0,B.jsx)(SI,{id:e,depth:r,widthDepth:i,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(QK,{title:n,subtitle:t,onClose:e}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):o?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:o}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Empty plan.`})}),(0,B.jsxs)(`div`,{className:`shrink-0 flex items-center justify-end gap-1.5 border-t border-border/60 bg-panel px-5 pt-3`,style:lq,children:[(0,B.jsx)(dq,{path:t,onDeleted:e}),(0,B.jsx)(uq,{onClick:()=>Xh(t)})]})]})})}function pq({id:e,slug:t,title:n,depth:r,widthDepth:i}){let a=td({queryKey:[`threadBody`,t],queryFn:()=>Z.threadBody({slug:t})}),o=Yd(Y);(0,z.useEffect)(()=>{a.refetch()},[o.board]);let s=EH(xg(o.board,t)),c=aM(),l=iM.adopt(c,t),[u,d,f]=sM(l),p=nd({mutationFn:async e=>{await Z.adoptThread({slug:t,message:e.trim()||void 0})},onSuccess:()=>{Y.drawers.find(t=>t.id===e)?.closing||(Y.drawers=Y.drawers.map(t=>t.id===e?{...t,kind:`thread`}:t))},onError:(e,t)=>{nM.get(l)||d(t),X(`Start failed: ${e.message.slice(0,80)}`)}}),m=(0,z.useMemo)(()=>aB(sB(a.data?.markdown??``)),[a.data?.markdown]);return(0,B.jsx)(SI,{id:e,depth:r,widthDepth:i,widthOffset:1,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(QK,{title:n,subtitle:`${t}.md`,onClose:e}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):m?(0,B.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:{__html:m}}):(0,B.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No thread file found.`})}),s&&(0,B.jsxs)(`div`,{className:`shrink-0 border-t border-border/60 px-5 pb-4 pt-3`,children:[(0,B.jsx)(`p`,{className:`mb-2.5 text-[11.5px] text-muted/80`,children:`No session is attached to this thread yet. Send a message below to start one on this plan.`}),(0,B.jsx)(UA,{surface:`adoptComposer`,value:u,onChange:d,onSubmit:()=>{if(!u.trim()||p.isPending)return;let e=u;f(),X(`Starting thread…`,{spinner:!0,sticky:!0}),p.mutate(e)},placeholder:`Kick off work on this thread…`,minHeight:44,busy:p.isPending})]})]})})}function mq(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>Object.is(e,t[n]))}var hq=class extends z.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[fray] render error in ${this.props.label}:`,e,t.componentStack)}componentDidUpdate(e){!this.state.error||mq(e.resetKeys,this.props.resetKeys)||this.setState({error:null})}retry=()=>this.setState({error:null});render(){let{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.retry):(0,B.jsx)(vq,{label:this.props.label,error:e,onRetry:this.retry}):this.props.children}};function gq(e){let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return t.length>300?`${t.slice(0,300)}…`:t}var _q=`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`;function vq({label:e,error:t,onRetry:n,onClose:r}){return(0,B.jsxs)(`div`,{"data-error-panel":!0,className:`m-4 rounded-md border border-border-strong bg-panel-2 px-3.5 py-3 text-[12.5px]`,children:[(0,B.jsxs)(`p`,{className:`text-fg/90`,children:[`Something went wrong rendering `,e,`.`]}),(0,B.jsx)(`p`,{className:`font-mono-keep mt-1.5 break-words text-[11.5px] text-muted`,children:gq(t)}),(0,B.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,B.jsx)(`button`,{type:`button`,className:_q,onClick:n,children:`Try again`}),r&&(0,B.jsx)(`button`,{type:`button`,className:_q,onClick:r,children:`Close`}),(0,B.jsx)(`button`,{type:`button`,className:_q,onClick:()=>window.location.reload(),children:`Reload fray`})]})]})}function yq({children:e}){return(0,B.jsx)(hq,{label:`fray`,fallback:(e,t)=>(0,B.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bg p-6 text-fg`,children:(0,B.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,B.jsx)(vq,{label:`fray`,error:e,onRetry:t})})}),children:e})}function bq({id:e,depth:t,widthDepth:n,error:r,onRetry:i}){let a=()=>{Y.drawers=Y.drawers.filter(t=>t.id!==e)};return(0,B.jsx)(SI,{id:e,depth:t,widthDepth:n,children:e=>(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(QK,{title:`This drawer could not be rendered`,onClose:()=>{e(),a()}}),(0,B.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,B.jsx)(vq,{label:`this drawer`,error:r,onRetry:i,onClose:a})})]})})}function xq(){let e=Yd(Y),t=J_();(0,z.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(uj()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(Y.showPalette)Y.showPalette=!1;else if(Y.showNewThread)Y.showNewThread=!1;else if(Y.showGithubPicker)Qh();else if(Y.showSettings)Vh()||(Y.showSettings=!1);else if(Y.drawers.length>0){let e=Y.drawers[Y.drawers.length-1];Gh(e.id)||Y.drawers.pop()}}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let n=0;return(0,B.jsx)(B.Fragment,{children:e.drawers.map((e,r)=>{let i=n;e.closing||n++;let a=e.kind===`thread`?(0,B.jsx)(qK,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,B.jsx)($K,{id:e.id,slug:e.slug,subId:e.subId??``,label:e.label??e.slug,subagentType:e.subagentType,startedAt:e.startedAt,depth:r,widthDepth:i},e.id):e.kind===`shell`?(0,B.jsx)(nq,{id:e.id,slug:e.slug,shellId:e.subId??``,label:e.label??`Background shell`,startedAt:e.startedAt,depth:r,widthDepth:i},e.id):e.kind===`plan`?(0,B.jsx)(fq,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,B.jsx)(pq,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=xg(t,e.slug);return n?eb(n):e.slug})()},e.id);return(0,B.jsx)(hq,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,B.jsx)(bq,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function Sq(e){return fx(e,`card`).length>0}function Cq({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=fx(t,`card`);return r.length===0?null:(0,B.jsx)(`div`,{"data-queue-subagents":!0,className:`flex min-w-0 flex-col gap-0.5 ${n}`,children:r.map((t,n)=>(0,B.jsx)(hx,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>og(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:_x(e,t)},t.id??`${t.startedAt}-${n}`))})}var wq=320;function Tq(e){let t=[...document.querySelectorAll(`[data-queue-card]`)],n=t.findIndex(t=>t.dataset.queueCard===e);if(n<0)return null;let r=window.innerHeight,i=e=>{if(!e||e.dataset.queueLeaving===`true`||!e.dataset.queueCard)return!1;let t=e.getBoundingClientRect();return t.bottom>0&&t.top<r},a=i(t[n-1])?t[n-1]:i(t[n+1])?t[n+1]:null;return a?{slug:a.dataset.queueCard,top:a.getBoundingClientRect().top}:null}function Eq(e){let t=[...document.querySelectorAll(`[data-queue-card]`)],n=t.findIndex(t=>t.dataset.queueCard===e);if(n<0)return null;let r=e=>e.dataset.queueLeaving!==`true`&&!!e.dataset.queueCard;for(let e=n+1;e<t.length;e++)if(r(t[e]))return t[e].dataset.queueCard;for(let e=n-1;e>=0;e--)if(r(t[e]))return t[e].dataset.queueCard;return null}var Dq=0,Oq=``;function kq(){Dq++===0&&(Oq=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function Aq(){Dq>0&&--Dq===0&&(document.documentElement.style.overflowAnchor=Oq)}function jq({thread:e,onSnooze:t,onSnoozeFailed:n}){let[r,i]=(0,z.useState)(!1);return(0,B.jsx)(dW,{thread:e,actions:(0,B.jsxs)(`button`,{type:`button`,onClick:()=>{i(!0),t(),Z.snoozeAwaitingBackground({slug:e.id,sessionId:e.sessionId??``}).then(()=>X(`Snoozed until a sub-agent returns`)).catch(e=>{n(),X(`Couldn’t snooze: ${e.message.slice(0,80)}`),i(!1)})},disabled:r,onMouseDown:e=>e.preventDefault(),title:`Hide this card until a sub-agent returns`,className:`disabled:opacity-45 ${VV}`,children:[(0,B.jsx)($v,{size:12,className:GV}),`Snooze`]})})}function Mq(){let e=J_(),t=mb(X_(e?.threads??[]).filter(hb),Yd(Xy).queueOrder),n=t.map(e=>e.id).join(`,`),[r,i]=(0,z.useState)(()=>new Set),a=(0,z.useRef)(t);a.current=t;let o=(0,z.useRef)(r);o.current=r;let s=new Set(t.map(e=>e.id)),c=(0,z.useRef)([]),l=(0,z.useRef)([]),u=(0,z.useRef)(new Map),d=(0,z.useRef)(new Set),f=(0,z.useRef)(new Set),p=(0,z.useRef)(new Map),m=(0,z.useRef)(new Map),h=(0,z.useRef)(null),[g,_]=(0,z.useState)(0);c.current.forEach(e=>{if(!s.has(e.id)&&!f.current.has(e.id)){let t=l.current.indexOf(e.id);u.current.delete(e.id),u.current.set(e.id,{view:e,index:t>=0?t:l.current.length}),r.has(e.id)&&d.current.add(e.id)}}),c.current=t;for(let e of[...f.current])s.has(e)?r.has(e)||(f.current.delete(e),d.current.delete(e)):r.has(e)||(f.current.delete(e),u.current.delete(e),d.current.delete(e));for(;u.current.size>32;){let e=u.current.keys().next().value;if(e===void 0)break;u.current.delete(e),d.current.delete(e);let t=p.current.get(e);t&&(clearTimeout(t),p.current.delete(e))}let v=e=>s.has(e)?r.has(e):d.current.has(e),y=(0,z.useMemo)(()=>{let e=t.filter(e=>!f.current.has(e.id)),n=[...u.current.entries()].filter(([e])=>!s.has(e)&&!f.current.has(e)).map(([,e])=>e).sort((e,t)=>e.index-t.index);for(let{view:t,index:r}of n)e.splice(Math.min(r,e.length),0,t);return e},[t,r,g]);l.current=y.map(e=>e.id),(0,z.useEffect)(()=>{let e=[...u.current.keys()].filter(e=>!s.has(e)&&!f.current.has(e)),t=e.filter(e=>!d.current.has(e)),n;t.length&&(n=requestAnimationFrame(()=>{t.forEach(e=>{u.current.has(e)&&d.current.add(e)}),_(e=>e+1)}));let i=new Set;for(let e of r)f.current.has(e)||i.add(e);for(let t of e)i.add(t);for(let e of i){if(p.current.has(e))continue;let t=setTimeout(()=>{if(p.current.delete(e),o.current.has(e)){let t=Eq(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=Tq(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},wq);p.current.set(e,t)}return()=>{n!==void 0&&cancelAnimationFrame(n)}},[n,r,g]),(0,z.useEffect)(()=>{let e=[...r].filter(e=>f.current.has(e)&&!s.has(e));if(e.length!==0){for(let t of e)f.current.delete(t),u.current.delete(t),d.current.delete(t);i(t=>{let n=new Set(t);for(let t of e)n.delete(t);return n})}},[n,g]),(0,z.useEffect)(()=>()=>{for(let e of p.current.values())clearTimeout(e);for(let e of m.current.values())clearTimeout(e)},[]),(0,z.useLayoutEffect)(()=>{let e=h.current;if(!e)return;h.current=null;let t=document.querySelector(`[data-queue-card="${CSS.escape(e.slug)}"]`);if(!t)return;if(e.kind===`hold`){let n=t.getBoundingClientRect().top-e.top;Math.abs(n)>.5&&window.scrollBy({top:n,left:0,behavior:`auto`});return}kq();let n=()=>{let t=Yh(e.slug);t!==null&&Math.abs(window.scrollY-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),Aq()})})},[g]);let b=(0,z.useCallback)(e=>{i(t=>new Set(t).add(e));let t=m.current.get(e);t&&clearTimeout(t);let n=setTimeout(()=>{m.current.delete(e),a.current.some(t=>t.id===e)&&(f.current.delete(e),d.current.delete(e),i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),_(e=>e+1))},8e3);m.current.set(e,n)},[]),x=(0,z.useCallback)(e=>{let t=m.current.get(e);t&&(clearTimeout(t),m.current.delete(e));let n=p.current.get(e);n&&(clearTimeout(n),p.current.delete(e)),f.current.delete(e),d.current.delete(e),i(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),_(e=>e+1)},[]),S=!e?.threads.some(e=>e.foreign!==!0)&&(e?.plans?.length??0)===0;return(0,B.jsxs)(`div`,{className:`my-auto w-full min-w-0 flex flex-col py-8`,children:[(0,B.jsx)(Nq,{board:e}),y.length>0&&(0,B.jsx)(`div`,{className:`flex flex-col [&>*:last-child_hr]:hidden`,children:y.map(e=>(0,B.jsx)(Fq,{slug:e.id,leaving:v(e.id),children:(0,B.jsx)(Lq,{thread:e,leaving:v(e.id),onResolve:b,onUnresolve:x})},e.id))}),S?(0,B.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,B.jsx)(`h2`,{className:`text-[15px] font-medium text-center`,children:`What should the agent do?`}),(0,B.jsx)(lM,{autoFocus:!0})]}):y.length===0?(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,B.jsx)(ey,{size:40,strokeWidth:1.25,className:`text-muted/30`}),(0,B.jsx)(`div`,{className:`text-[13px] text-muted/80`,children:`No threads awaiting human input`})]}):null]})}function Nq({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,B.jsxs)(`div`,{className:`mb-6 ${jV} border border-amber-500/25 bg-amber-500/[0.06] px-4 py-2.5 text-[12px] text-amber-200/90`,children:[(0,B.jsx)(`div`,{className:`font-medium mb-0.5`,children:`Board errors`}),t.length>0?t.slice(0,6).map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5`,children:[(0,B.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,title:`${e.file?`${e.file}: `:``}${e.message}`,children:[e.file?`${e.file}: `:``,e.message]}),e.kind===`no-frontmatter`&&(0,B.jsx)(Pq,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,B.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function Pq({file:e}){let t=nd({mutationFn:()=>Z.repairThread({file:e}),onSuccess:({slug:e})=>X(`Repaired ${e} — verify its status`),onError:e=>X(e instanceof Error?e.message:`Repair failed`)});return(0,B.jsx)(`button`,{onClick:()=>t.mutate(),disabled:t.isPending,className:`shrink-0 rounded border border-amber-400/50 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-100 transition-colors hover:bg-amber-500/25 disabled:opacity-50`,title:`Prepend minimal frontmatter (title + status: active) so this thread becomes visible again`,children:t.isPending?`Repairing…`:`Repair`})}function Fq({leaving:e,slug:t,children:n}){return(0,B.jsx)(`div`,{"data-queue-card":t,"data-queue-leaving":e,className:`fray-card-slot min-w-0`,children:(0,B.jsx)(`div`,{className:`fray-card-clip min-h-0 min-w-0`,children:(0,B.jsxs)(`div`,{className:`fray-card-body min-w-0`,children:[n,(0,B.jsx)(`hr`,{className:`my-10 border-0 border-t border-border/60`})]})})})}function Iq({toolCount:e,stepCount:t,onExpand:n}){let r=[];e>0&&r.push(`${e} tool call${e===1?``:`s`}`),t>0&&r.push(`${t} step${t===1?``:`s`}`);let i=r.join(` · `);return(0,B.jsxs)(`button`,{type:`button`,"data-intermediate-summary":!0,onClick:n,onMouseDown:e=>e.preventDefault(),"aria-label":`Expand ${i} of intermediate agent activity`,className:`petite-caps group flex w-full items-center gap-2 ${jV} border border-border/60 bg-panel-2/40 px-4 py-2 text-left text-[12px] text-muted outline-none transition-colors hover:border-border hover:bg-panel-2 hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,B.jsx)(Pv,{"aria-hidden":`true`,size:13,className:`shrink-0 opacity-70 transition-opacity group-hover:opacity-100`}),(0,B.jsx)(`span`,{className:`tabular-nums`,children:i}),(0,B.jsx)(`span`,{className:`ml-auto text-[11px] opacity-60 transition-opacity group-hover:opacity-100`,children:`Show`})]})}var Lq=(0,z.memo)(function({thread:e,leaving:t,onResolve:n,onUnresolve:r}){let[i,a]=(0,z.useState)(!1),[o,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)(null),[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(0),g=(0,z.useRef)(null),_=(0,z.useRef)(null),[v,y]=(0,z.useState)(0),b=(0,z.useRef)(null),x=(0,z.useRef)(!1),S=(0,z.useRef)(!1),C=(0,z.useRef)(null),w=Bu(),T=CW(e.id),{stickyUserMessage:E}=Yd(Xy);(0,z.useLayoutEffect)(()=>{let e=_.current;if(!e)return;let t=()=>y(e.getBoundingClientRect().height);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[i]);let D=iv(e.id,{poll:!1}),O=(0,z.useMemo)(()=>D.data?.messages??[],[D.data]),ee=(0,z.useMemo)(()=>kV(O),[O]),k=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--)if(O[e].role===`user`)return e;return 0},[O]),A=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--)if(O[e].role===`user`&&!O[e].queued)return e;return-1},[O]),j=(0,z.useMemo)(()=>{for(let e=O.length-1;e>=0;e--){let t=O[e];if(!(t.queued||!BG(t)))return e}return-1},[O]),M=(0,z.useMemo)(()=>{for(let e=A+1;e<O.length;e++){let t=O[e];if(!(t.queued||!BG(t)))return e}return-1},[O,A]),{hiddenStepCount:N,hiddenToolCount:te,visibleBackgroundMessages:P}=(0,z.useMemo)(()=>{if(M<0||M===j)return{hiddenStepCount:0,hiddenToolCount:0,visibleBackgroundMessages:[]};let e=0,t=0,n=[];for(let r=M;r<=j;r++){let i=O[r];if(!i||i.queued||zG(i))continue;let a=iU(i),o=a?[]:i.tools.filter(e=>e.backgroundState!==void 0),s=a?[]:i.tools.filter(e=>e.backgroundState===void 0);t+=s.length,o.length>0&&n.push({sourceId:i.sourceId?`${i.sourceId}:visible-background`:void 0,role:`assistant`,text:``,tools:o,parts:[{kind:`tools`,tools:o}],at:i.at}),r>M&&r<j&&(BG(i)||s.length>0||a!==void 0||i.kind!==void 0)&&e++}return{hiddenStepCount:e,hiddenToolCount:t,visibleBackgroundMessages:n}},[O,M,j]),ne=!o&&A>=0&&M!==j&&(N>=1||te>=1),re=d_(O,u,k),ie=(0,z.useMemo)(()=>O.slice(re),[O,re]),ae=(0,z.useMemo)(()=>{let e=j>=re?j-re+1:0,t=(e,t)=>VW(e).map(e=>({...e,messageIndex:e.messageIndex+t}));return[...t(ie.slice(0,e),re),...t(ie.slice(e),re+e)]},[ie,re,j]),oe=re>0||D.data?.hasEarlier===!0;(0,z.useLayoutEffect)(()=>{let e=b.current,t=g.current;if(!e||!t||![...t.querySelectorAll(`[data-transcript-source-id]`)].some(t=>t.dataset.transcriptSourceId===e.targetStartId))return;let n=()=>{v_(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return v_(t,e.anchor,e=>{n=e}),n},r=n();if(y_({remaining:r,scrollY:window.scrollY,maxScrollY:Math.max(0,document.documentElement.scrollHeight-window.innerHeight),alreadyReserved:e.reserved===!0})===`reserve`){e.reserved=!0,h(e=>e+Math.ceil(r));return}S.current||(S.current=!0,requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),b.current=null,S.current=!1,x.current&&(x.current=!1,Aq())})}))},[m,O,u]),(0,z.useEffect)(()=>{let e=D.data?.transcriptKey;if(!e)return;let t=C.current;C.current=e,!(!t||t===e)&&(d(null),h(0),s(!1),b.current=null,S.current=!1,x.current&&(x.current=!1,Aq()))},[D.data?.transcriptKey]),(0,z.useEffect)(()=>()=>{x.current&&(x.current=!1,Aq())},[]);let se=e=>{let t=g_(g.current);!e||!t||(x.current||(x.current=!0,kq()),b.current={anchor:t,targetStartId:e})},ce=async()=>{if(f||!oe)return;let t=u_(O,re),n=t!==null&&O[t]?.role===`user`?t:null;if(n!==null){let e=O[n].sourceId;se(e),d(e??null);return}let r=D.data?.beforeCursor;if(!r){if(re>0){let e=O[0]?.sourceId;se(e),d(e??null)}return}let i=D.data?.transcriptKey;if(i){p(!0);try{let t=await Z.threadTranscriptEarlier({slug:e.id,cursor:r}),n=w.getQueryData([`transcript`,e.id]);if(!n?.transcriptKey||n.transcriptKey!==i||t.transcriptKey!==i){await D.refetch(),d(null),X(`Transcript changed while loading history; refreshed the current session`);return}let a=t.messages[0]?.sourceId??O[0]?.sourceId;se(a);let o=h_(n,t);w.setQueryData([`transcript`,e.id],o),d(a??null)}catch(e){await D.refetch(),d(null),X(e instanceof Error?e.message:`Could not load earlier transcript history`)}finally{p(!1)}}},le=nd({mutationFn:()=>Z.markComplete({slug:e.id})}),{answeringForMessage:ue,answerable:de,anyAnswered:fe,sendAnswers:pe,sendMessage:me}=rH(e.id,O,()=>{document.activeElement?.blur(),n(e.id)},{scrollToBottom:!1}),he=(0,z.useCallback)(()=>n(e.id),[n,e.id]),ge=(0,z.useCallback)(()=>r(e.id),[r,e.id]),_e=(0,z.useMemo)(()=>({dismiss:he,cancel:ge}),[he,ge]);return(0,B.jsx)(_G.Provider,{value:e.id,children:(0,B.jsx)(bG.Provider,{value:_e,children:(0,B.jsxs)(`div`,{"data-queue-card-root":e.id,"data-queue-leaving":t,style:m?{marginBottom:m}:void 0,className:`flex flex-col min-w-0 max-w-full ${jV} border border-border-strong bg-panel shadow-lg shadow-black/25 transition-opacity ${c?`opacity-40`:``}`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,B.jsxs)(`div`,{ref:_,className:`sticky top-0 z-10 flex items-center gap-2 bg-panel px-5 py-3.5 max-[800px]:top-10 ${i?jV:`${MV} border-b border-border/60`}`,children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,B.jsx)(`div`,{className:`flex min-w-0 items-center gap-1`,children:(0,B.jsx)(`div`,{className:`min-w-0 flex-1 truncate font-semibold text-[15px] leading-snug`,title:eb(e),children:eb(e)})}),(0,B.jsx)(mW,{at:db(e),fallbackAt:e.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`}),e.statusText&&e.status===`needs-human`&&(0,B.jsx)(`div`,{className:`text-[11px] text-muted/80 mt-0.5 truncate`,title:e.statusText,children:e.statusText})]}),e.kind===`session`&&e.foreign!==!0&&(0,B.jsx)(wW,{slug:e.id}),(0,B.jsx)(zH,{thread:e,collapsed:i,onCollapse:()=>a(e=>!e),onOpen:()=>ag(`thread`,e.id),onDone:()=>le.mutate(void 0,{onSuccess:()=>n(e.id),onError:()=>l(!1)}),doneBusy:le.isPending,onStatusMutate:()=>l(!0),onStatusApplied:()=>n(e.id),onStatusFailed:()=>l(!1)})]}),i?null:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`px-5 pt-5 ${de?`pb-2`:`pb-5`}`,children:[(0,B.jsx)($U,{thread:e,className:`mb-4`}),!e.pendingInteraction&&e.pendingAsk?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(LK,{ask:e.pendingAsk,onTerminal:T})}):e.nativeInputRequired?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(FK,{input:e.nativeInputRequired,onTerminal:T})}):e.runtime===`perm-prompt`?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(NK,{onTerminal:T})}):null,e.permPolicy?(0,B.jsx)(`div`,{className:`mb-4`,children:(0,B.jsx)(PK,{policy:e.permPolicy,denies:e.permDenies})}):null,O.length===0?(0,B.jsx)(`p`,{className:`text-[13px] text-muted`,children:D.isLoading?`Loading…`:e.statusText||`No message yet.`}):(0,B.jsxs)(`div`,{ref:g,className:`flex flex-col`,children:[oe&&(0,B.jsx)(`button`,{className:`mb-3.5 self-center rounded-md border border-border px-2 py-0.5 text-[11px] text-muted transition-colors hover:text-fg hover:bg-panel-2 outline-none`,onClick:()=>void ce(),onMouseDown:e=>e.preventDefault(),disabled:f,children:f?`Loading earlier messages…`:D.data?.reachedTurnBoundary===!1?`Continue loading this turn`:`Load earlier messages`}),(()=>{let e=re,t=[],n=null,r=!1;return ae.forEach(({message:e,messageIndex:i},a)=>{if(e.queued||zG(e))return;if(ne&&i>=M&&i<=j){let o=i===M,c=i===j;if(!o&&!c||(c&&!r&&((te>0||N>0)&&(n!==null&&t.push((0,B.jsx)(VG,{h:14},`im-space`)),t.push((0,B.jsx)(Iq,{toolCount:te,stepCount:N,onExpand:()=>s(!0)},`intermediate-summary`)),n=!1),P.forEach((e,r)=>{n!==null&&t.push((0,B.jsx)(VG,{h:14},`bg-space-${r}`));let i=e.sourceId??`visible-background-${r}`;t.push((0,B.jsx)(`div`,{"data-transcript-source-id":i,className:`flex flex-col`,children:(0,B.jsx)(bK,{m:e,dense:!0})},i)),n=!0}),r=!0),!BG(e)))return;n!==null&&t.push((0,B.jsx)(VG,{h:14},`s${a}`));let l=e.sourceId??`legacy-${i}`;t.push((0,B.jsx)(`div`,{"data-transcript-source-id":l,className:`flex flex-col`,children:(0,B.jsx)(bK,{m:e,dense:!0,textOnly:!0,answering:ue(e),paired:ee[i]})},l)),n=!1;return}n!==null&&t.push((0,B.jsx)(VG,{h:n&&RG(e)?6:14},`s${a}`));let o=e.sourceId??`legacy-${i}`,c=i===A&&E,l=(0,B.jsx)(bK,{m:e,dense:!0,answering:ue(e),paired:ee[i],sticky:c});t.push(c?(0,B.jsx)(vK,{sourceId:o,stickyTopPx:v,children:l},o):(0,B.jsx)(`div`,{"data-transcript-source-id":o,className:`flex flex-col`,children:l},o)),n=LG(e)}),ie.forEach((n,r)=>{n.queued&&(t.push((0,B.jsx)(VG,{},`qs${r}`)),t.push((0,B.jsx)(bK,{m:n,dense:!0,paired:ee[e+r]},`q${e+r}`)))}),t})()]}),e.awaitingBackground&&(0,B.jsx)(`div`,{className:`mt-4`,children:(0,B.jsx)(jq,{thread:e,onSnooze:he,onSnoozeFailed:ge})})]}),de&&(0,B.jsx)(`div`,{className:`shrink-0 px-5 pt-0`,children:(0,B.jsx)(`div`,{className:`mb-4 flex items-center justify-start gap-2`,children:(0,B.jsx)(`button`,{disabled:!fe,onClick:()=>pe(),onMouseDown:e=>e.preventDefault(),className:`rounded-md bg-fg px-3 py-1.5 text-[12px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:`Send answers`})})}),(0,B.jsx)(LH,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:de?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:me,ops:(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Cq,{slug:e.id,subAgents:e.subAgents??[],className:(e.bgShells??[]).length>0?`px-1 pt-1.5`:`px-1 pb-2 pt-1.5`}),(0,B.jsx)(IK,{slug:e.id,includeAgents:!1,className:`px-1 pb-2 ${Sq(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,B.jsx)($H,{thread:e,onArchived:()=>n(e.id),onDismissCancel:()=>r(e.id),onSnoozed:()=>n(e.id)})]})})})},Rq);function Rq(e,t){return e.leaving===t.leaving&&e.onResolve===t.onResolve&&e.onUnresolve===t.onUnresolve&&(e.thread===t.thread||JSON.stringify(e.thread)===JSON.stringify(t.thread))}function zq(e,t){if(e.backend===`claude`)return Dj.some(t=>t.value===e.model)?Pj.includes(e.effort)?void 0:`Reasoning level ${e.effort} is not available for ${e.model}`:`Claude model ${e.model} is no longer available`;let n=t.find(t=>t.slug===e.model);if(!n)return`Codex model ${e.model} is no longer available`;if(!n.efforts.includes(e.effort))return`Reasoning level ${e.effort} is not available for ${e.model}`}function Bq(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function Vq({keys:e,key:t,shiftKey:n,anchor:r,selected:i,max:a}){let o=e.indexOf(t),s=r===null?-1:e.indexOf(r);if(!n||o===-1||s===-1||r===null){let e=new Set(i),n=!1;return e.has(t)?e.delete(t):e.size<a?e.add(t):n=!0,{selected:e,anchor:o===-1?r:t,capped:n}}let c=o>=s?1:-1,l=i.has(r),u=new Set(i),d=!1;for(let t=s;;t+=c){let n=e[t];if(l?u.has(n)||(u.size<a?u.add(n):d=!0):u.delete(n),t===o)break}return{selected:u,anchor:r,capped:d}}var Hq=20;function Uq({onClose:e}){let t=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()}),{resolved:n,codexList:r,loadError:i,saveProfile:a}=Kj(),[o,s]=(0,z.useState)(`issues`),[c,l]=(0,z.useState)(`recent`),[u,d]=(0,z.useState)(()=>new Set),[f,p]=(0,z.useState)(null),m=td({queryKey:[`githubList`,o,c],queryFn:()=>Z.githubList({kind:o,sort:c})}),h=m.data?.items??[],g=nd({mutationFn:e=>Z.githubDispatchBatch(e),onMutate:e=>X(`Starting ${e.items.length} thread${e.items.length===1?``:`s`}…`,{spinner:!0,sticky:!0}),onSuccess:t=>{let n=t.dispatched.length,r=t.failed.length;X(`Started ${n} thread${n===1?``:`s`}${r?` (${r} failed)`:``}`),e()},onError:e=>X(`Dispatch failed: ${e.message.slice(0,80)}`)});function _(e){e!==o&&(s(e),d(new Set),p(null))}function v(e){e!==c&&(l(e),d(new Set),p(null))}function y(e,t){let n=Vq({keys:h.map(e=>e.number),key:e,shiftKey:t,anchor:f,selected:u,max:Hq});d(n.selected),p(n.anchor),n.capped&&X(`${Hq} max per batch — selection capped`)}let b=t.data?.nameWithOwner??`this repo`,x=u.size,S=(0,z.useMemo)(()=>Wj(r),[r]),C=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,w=C?zq(C,r):i?`Could not load the model catalogue — reopen once it loads`:void 0,T=w??(C?void 0:`Loading the model catalogue…`);function E(){if(!C||T){X(T??`Choose a model and reasoning level`);return}g.mutate(Bq(C,[...u].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,B.jsx)(dM,{onClose:e,children:(0,B.jsxs)(`div`,{className:`flex max-h-[85vh] w-[720px] max-w-[90vw] flex-col rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50`,onKeyDownCapture:t=>{t.key===`Escape`&&(t.stopPropagation(),e())},children:[(0,B.jsxs)(`h2`,{className:`mb-4 flex items-center gap-2 text-[14px] font-medium`,children:[(0,B.jsx)(Zv,{size:15,className:`text-muted`}),(0,B.jsx)(`span`,{children:`Investigate this issue and make recommendations`}),(0,B.jsx)(`span`,{className:`text-muted/40`,children:`—`}),(0,B.jsx)(`span`,{className:`font-mono-keep text-[12.5px] text-muted`,children:b})]}),(0,B.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,B.jsx)(Wq,{value:o,onChange:e=>_(e),options:[{value:`issues`,label:`Issues`},{value:`prs`,label:`PRs`}]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`petite-caps text-[11px] text-muted/70`,children:`Sort`}),(0,B.jsx)(Wq,{value:c,onChange:v,options:[{value:`recent`,label:`Recent`},{value:`reactions`,label:`Reactions`}]})]})]}),(0,B.jsx)(`div`,{className:`min-h-[240px] flex-1 overflow-y-auto rounded-lg border border-border/70 bg-bg/40`,children:m.isLoading?(0,B.jsx)(eJ,{}):m.isError?(0,B.jsxs)(tJ,{children:[(0,B.jsxs)(`span`,{className:`text-[12.5px] text-muted/80`,children:[`Couldn't load `,o===`issues`?`issues`:`pull requests`,`.`]}),(0,B.jsx)(`span`,{className:`max-w-[80%] text-center text-[11px] text-muted/45`,children:m.error.message.slice(0,140)})]}):h.length===0?(0,B.jsxs)(tJ,{children:[(0,B.jsx)(ey,{size:28,strokeWidth:1.25,className:`text-muted/30`}),(0,B.jsxs)(`span`,{className:`text-[12.5px] text-muted/60`,children:[`No open `,o===`issues`?`issues`:`pull requests`]})]}):h.map(e=>(0,B.jsx)(Jq,{item:e,checked:u.has(e.number),onActivate:t=>y(e.number,t)},e.number))}),(0,B.jsxs)(`div`,{className:`mt-4 flex items-end justify-between gap-3`,children:[(0,B.jsxs)(`div`,{className:`min-w-0`,children:[(0,B.jsx)(pj,{groups:S,value:n?{provider:n.backend,model:n.model,effort:n.effort}:void 0,onValueChange:e=>a({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),placeholder:i?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort`,title:T??`Model and reasoning effort for every thread this batch starts`,disabled:!n,side:`top`,menuZClass:Hk,className:`max-w-[min(21rem,60vw)]`}),w&&(0,B.jsx)(`p`,{className:`mt-1 max-w-[430px] text-[10.5px] text-red-400`,children:w})]}),(0,B.jsxs)(`div`,{className:`flex items-center gap-3`,children:[x>=Hq&&(0,B.jsxs)(`span`,{className:`petite-caps text-[11px] text-muted/60`,children:[Hq,` max per batch`]}),(0,B.jsxs)(`button`,{disabled:x===0||g.isPending||!!T,onClick:E,onMouseDown:e=>e.preventDefault(),className:`flex items-center gap-2 rounded-md bg-fg px-3.5 py-1.5 text-[12.5px] font-medium text-bg outline-none transition-all hover:opacity-90 active:scale-95 disabled:opacity-30 disabled:hover:opacity-30`,children:[g.isPending&&(0,B.jsx)(iy,{size:13,className:`animate-spin`}),x===1?`Start investigation`:`Start investigations`]})]})]})]})})}function Wq({value:e,onChange:t,options:n}){return(0,B.jsx)(`div`,{className:`inline-flex items-center gap-0.5 rounded-lg border border-border bg-panel-2 p-0.5`,children:n.map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.value),onMouseDown:e=>e.preventDefault(),className:`rounded-md px-3 py-1 text-[12px] font-medium outline-none transition-colors ${e===n.value?`bg-elevated text-fg shadow-sm shadow-black/20`:`text-muted hover:text-fg`}`,children:n.label},n.value))})}function Gq({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,B.jsx)(qv,{size:15,className:`shrink-0 text-purple-400`}):t===`CLOSED`?(0,B.jsx)(Jv,{size:15,className:`shrink-0 text-red-400`}):e.isDraft?(0,B.jsx)(Yv,{size:15,className:`shrink-0 text-muted/70`}):(0,B.jsx)(Xv,{size:15,className:`shrink-0 text-emerald-500`}):t===`CLOSED`?(0,B.jsx)(Fv,{size:15,className:`shrink-0 text-purple-400`}):(0,B.jsx)(Lv,{size:15,className:`shrink-0 text-emerald-500`})}function Kq(e){if(!e)return``;let t=Date.parse(e);if(!Number.isFinite(t))return``;let n=Math.max(0,(Date.now()-t)/1e3),r=n/60,i=r/60,a=i/24;return n<45?`just now`:r<60?`${Math.round(r)}m ago`:i<24?`${Math.round(i)}h ago`:a<30?`${Math.round(a)}d ago`:a<365?`${Math.round(a/30)}mo ago`:`${Math.round(a/365)}y ago`}function qq({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:void 0;return(0,B.jsx)(`span`,{className:`max-w-[130px] shrink-0 truncate rounded-full border px-1.5 py-px text-[9.5px] leading-[13px]`,style:n?{borderColor:`${n}59`,color:n,backgroundColor:`${n}14`}:void 0,title:e,children:e})}function Jq({item:e,checked:t,onActivate:n}){let r=Kq(e.createdAt),i=[e.author,r?`opened ${r}`:``].filter(Boolean).join(` `);return(0,B.jsxs)(`div`,{role:`button`,tabIndex:0,"data-row-number":e.number,"aria-pressed":t,onClick:e=>n(e.shiftKey),onMouseDown:e=>{e.shiftKey&&e.preventDefault()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n(e.shiftKey))},className:`group flex w-full cursor-pointer items-start gap-2.5 border-b border-border/40 px-3 py-2.5 text-left outline-none transition-colors last:border-b-0 hover:bg-white/[0.03]`,children:[(0,B.jsx)(`span`,{className:`mt-px shrink-0`,children:(0,B.jsx)(Yq,{checked:t})}),(0,B.jsx)(`span`,{className:`mt-px`,children:(0,B.jsx)(Gq,{item:e})}),(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,B.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),title:e.title,className:`min-w-0 truncate text-[13px] font-medium text-fg/90 hover:underline`,children:e.title}),e.labels.slice(0,4).map(e=>(0,B.jsx)(qq,{name:e.name,color:e.color},e.name))]}),(0,B.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-muted/55`,children:[(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),className:`shrink-0 tabular-nums hover:text-muted hover:underline`,children:[`#`,e.number]}),i?(0,B.jsxs)(`span`,{className:`truncate`,children:[`· `,i]}):null]})]}),(0,B.jsxs)(`span`,{className:`mt-px flex shrink-0 items-center gap-2.5 text-[11.5px] text-muted/70`,children:[e.linkedPrs?(0,B.jsx)(Qq,{prs:e.linkedPrs}):null,e.comments?(0,B.jsx)($q,{icon:oy,n:e.comments,label:`comments`}):null,e.reactions?(0,B.jsx)($q,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function Yq({checked:e}){return(0,B.jsx)(`span`,{className:`inline-flex h-[15px] w-[15px] items-center justify-center rounded-[4px] border transition-colors ${e?`border-fg bg-fg`:`border-muted/45 group-hover:border-muted/80`}`,children:e&&(0,B.jsx)(Av,{size:11,strokeWidth:3,className:`text-bg`})})}var Xq={octicon:`-0.1em`,stroke:`-0.112em`};function Zq({size:e=12,className:t}){return(0,B.jsx)(`svg`,{viewBox:`0 0 16 16`,width:e,height:e,fill:`currentColor`,"aria-hidden":!0,className:t,style:{transform:`translateY(${Xq.octicon})`},children:(0,B.jsx)(`path`,{d:`M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z`})})}function Qq({prs:e}){let t=e.state.toUpperCase()===`MERGED`,n=e.count>1?`${e.count} linked pull requests — `:``,r=t?`#${e.number} merged`:e.isDraft?`#${e.number} open (draft)`:`#${e.number} open`;return(0,B.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>e.stopPropagation(),title:`${n}${r}`,className:`inline-flex items-center gap-1 tabular-nums hover:text-fg/90`,children:[(0,B.jsx)(Zq,{size:12}),e.count]})}function $q({icon:e,emoji:t,n,label:r}){return(0,B.jsxs)(`span`,{className:`inline-flex items-center gap-1 tabular-nums`,title:`${n} ${r}`,children:[t?(0,B.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] leading-none`,children:t}):e?(0,B.jsx)(`span`,{className:`inline-flex`,style:{transform:`translateY(${Xq.stroke})`},children:(0,B.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function eJ(){return(0,B.jsx)(`div`,{className:`animate-pulse`,children:Array.from({length:6}).map((e,t)=>(0,B.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border/40 px-3 py-2.5 last:border-b-0`,children:[(0,B.jsx)(`span`,{className:`h-[15px] w-[15px] shrink-0 rounded-[4px] bg-muted/20`}),(0,B.jsx)(`span`,{className:`h-3 w-8 shrink-0 rounded bg-muted/20`}),(0,B.jsx)(`span`,{className:`h-3 flex-1 rounded bg-muted/15`,style:{maxWidth:`${55+t*7%35}%`}})]},t))})}function tJ({children:e}){return(0,B.jsx)(`div`,{className:`flex h-full min-h-[240px] flex-col items-center justify-center gap-1.5`,children:e})}function nJ(e){return e===`right`?`pl-3 pr-7`:`pl-7 pr-3`}function rJ(e,t,n,r){let i=(n?n.flatMap(e=>e.options):t??[]).find(t=>t.value===e);return i?{text:i.label,placeholder:!1}:e?{text:e,placeholder:!1}:{text:r??``,placeholder:!0}}var iJ=`__fray_empty_select_value__`,aJ=e=>e===``?iJ:e,oJ=e=>e===iJ?``:e,sJ={ghost:`border-transparent bg-transparent hover:border-border hover:bg-panel-2 data-[state=open]:border-border data-[state=open]:bg-panel-2`,bordered:`w-full justify-between border-border bg-bg hover:bg-panel-2 data-[state=open]:bg-panel-2`,readout:`text-muted hover:text-fg border-border/50 bg-transparent hover:border-border hover:bg-panel-2 data-[state=open]:border-border data-[state=open]:bg-panel-2 [&_.select-caret]:text-fg/65 [&_.select-caret]:opacity-100`},cJ={ghost:`border-transparent bg-transparent`,bordered:`w-full justify-between border-border bg-bg`,readout:`text-muted border-border/50 bg-transparent [&_.select-caret]:text-fg/65 [&_.select-caret]:opacity-100`};function lJ({o:e,indicatorPosition:t,typography:n}){return(0,B.jsxs)(Ik,{value:aJ(e.value),title:e.title,className:`relative flex w-full min-w-0 cursor-pointer select-none items-center overflow-hidden rounded-md py-1.5 text-left text-[12px] text-muted outline-none data-[highlighted]:bg-panel-2 data-[highlighted]:text-fg data-[state=checked]:bg-panel-2 data-[state=checked]:font-medium data-[state=checked]:text-fg ${nJ(t)} ${n??``}`,children:[(0,B.jsx)(Lk,{className:`pointer-events-none absolute top-1/2 inline-flex -translate-y-1/2 items-center text-accent ${t===`right`?`right-2`:`left-2`}`,children:(0,B.jsx)(Av,{size:13})}),(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e.label})]})}function uJ({value:e,onValueChange:t,options:n,groups:r,placeholder:i,ariaLabel:a,title:o,disabled:s=!1,variant:c=`ghost`,indicatorPosition:l=`left`,side:u=`bottom`,className:d=``}){let f=rJ(e,n,r,i),p=s?cJ[c]:sJ[c],m=c===`readout`?qA:``,[h,g]=(0,z.useState)(!1),_=(0,z.useRef)(h),v=(0,z.useRef)(s),y=(0,z.useRef)(void 0);return _.current=h,v.current=s,(0,z.useLayoutEffect)(()=>{let e=e=>{e.key!==`Escape`||!_.current||v.current||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),_.current=!1,y.current?.(),y.current=void 0,g(!1))};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[]),(0,z.useLayoutEffect)(()=>{!s||!h||(_.current=!1,y.current?.(),y.current=void 0,g(!1))},[s,h]),(0,z.useLayoutEffect)(()=>()=>y.current?.(),[]),(0,B.jsxs)(Ok,{modal:!1,open:h,onOpenChange:e=>{y.current?.(),y.current=void 0,_.current=e,g(e),e&&(y.current=lj(()=>{_.current=!1,y.current=void 0,g(!1)}))},children:[(0,B.jsx)(kk,{asChild:!0,disabled:s,children:(0,B.jsxs)(`button`,{type:`button`,"aria-label":a,title:o,className:`group inline-flex min-w-0 max-w-full items-center gap-1.5 rounded-md border px-2 py-1 text-left text-[12px] text-fg outline-none data-[placeholder]:text-muted ${s?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors`} ${p} ${c===`readout`?`select-trigger-readout`:``} ${m} ${d}`,children:[(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left ${f.placeholder?`text-muted`:``}`,children:f.text}),(0,B.jsx)(jv,{className:`select-caret shrink-0 text-muted ${s?``:`transition-transform group-data-[state=open]:rotate-180`}`,size:13})]})}),(0,B.jsx)(Ak,{children:(0,B.jsx)(jk,{align:`start`,side:u,sideOffset:5,onEscapeKeyDown:e=>e.stopPropagation(),className:`${Vk} min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg p-1 ${m}`,children:(0,B.jsx)(Fk,{value:aJ(e),onValueChange:e=>t(oJ(e)),className:`max-h-[300px] min-w-0 overflow-y-auto`,children:r?r.map((e,t)=>(0,B.jsxs)(Mk,{children:[e.label&&(0,B.jsx)(Nk,{className:`${nJ(l)} min-w-0 truncate pb-1 pt-2 text-left text-[10px] font-medium uppercase tracking-wide text-muted/60 first:pt-1`,children:e.label}),e.options.map(e=>(0,B.jsx)(lJ,{o:e,indicatorPosition:l,typography:m},e.value))]},e.label||`g${t}`)):(n??[]).map(e=>(0,B.jsx)(lJ,{o:e,indicatorPosition:l,typography:m},e.value))})})})]})}var dJ={model:`Choose the default model used when you create or dispatch work from this project.`,effort:`Controls the default reasoning effort for new work. Available options depend on the selected model.`,font:`Changes the interface reading font for this browser.`,localFileOpener:`Chooses how vetted local artifact links open. Image clicks always use the OS default viewer.`,compact:`Collapses long diffs by default in this browser. This takes effect immediately.`,stickyUserMessage:`Keeps your most recent message stuck to the top of a thread while the reply scrolls underneath. It stays collapsed to a small card (hover to expand it) so a long message never blocks much of the view. Applies immediately in this browser.`,queueOrder:`Orders the Needs-you queue and the sidebar's rested threads by when each was last active. Oldest first (FIFO, default) surfaces the longest-waiting item first so you cycle through everything; Newest first (LIFO) keeps the most recently active on top. Applies immediately in this browser.`,notifications:`Shows a desktop notification when work needs attention while this window is hidden.`,runtimeGate:`When on, dispatched workers must verify UI/runtime changes in a real browser, screenshot the result into their handoff, and get an independent review before finishing. Turn off to drop that requirement from the worker prompt.`,autoResumeOnLimit:`When a usage limit interrupts running threads, fray remembers every one it cut off and sends each a “continue” once the window resets. Those threads stay out of your queue while they wait. Turn off to leave them parked for you to restart by hand.`};function fJ(){return typeof Notification>`u`?`unsupported`:Notification.permission}function pJ(){let e=td({queryKey:[`settingsGet`],queryFn:()=>Z.settingsGet()}),t=td({queryKey:[`codexModels`],queryFn:()=>Z.codexModels()}).data??[],n=aM(),[r,i,a]=sM(iM.settings(n,`githubIssuePrompt`)),[o,s,c]=sM(iM.settings(n,`githubPrPrompt`)),[l,u]=(0,z.useState)(null),[d,f]=(0,z.useState)(fJ()),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(!1);(0,z.useEffect)(()=>{let e=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(e)},[]),(0,z.useEffect)(()=>(Bh(v),()=>Bh(null)),[]),(0,z.useEffect)(()=>{e.data&&!l&&u({...e.data,...r?{githubIssuePrompt:r}:{},...o?{githubPrPrompt:o}:{}})},[e.data,l,r,o]);let _=(0,z.useCallback)(e=>{e.githubIssuePrompt!==l?.githubIssuePrompt&&i(e.githubIssuePrompt??``),e.githubPrPrompt!==l?.githubPrPrompt&&s(e.githubPrPrompt??``),u(e)},[l,i,s]);function v(){h||(g(!0),m(!1),window.setTimeout(()=>Y.showSettings=!1,bI()?0:210))}let y=nd({mutationFn:e=>Z.settingsSet(e),onSuccess:()=>{a(),c(),cX.invalidateQueries({queryKey:[`settingsGet`]}),v()}});async function b(e){if(l){if(e&&typeof Notification<`u`&&Notification.permission==="default"){let e=await Notification.requestPermission();f(e)}_({...l,notifications:e})}}let x=!!(l&&e.data&&JSON.stringify(l)!==JSON.stringify(e.data)),S=Aj(l?.model,t),C=Nj(l?.model,t);return(0,B.jsx)(`div`,{className:`${_I} z-50 flex justify-end ${p?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&v(),children:(0,B.jsxs)(`div`,{className:`${vI} w-[560px] max-w-[94vw] ${p?`translate-x-0`:`translate-x-full`}`,children:[(0,B.jsx)(QK,{title:`Settings`,actions:x?(0,B.jsx)(`span`,{className:`text-[11px] font-normal text-accent`,children:`● unsaved`}):void 0,onClose:v}),l?(0,B.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-5 flex flex-col gap-6`,children:[(0,B.jsx)(hJ,{label:`Model`,help:dJ.model,children:(0,B.jsx)(uJ,{variant:`bordered`,value:l.model??``,onValueChange:e=>_({...l,model:e||void 0,backend:Aj(e||void 0,t)}),groups:Mj(t,{withDefault:!0}),indicatorPosition:`right`,ariaLabel:`Model`})}),(0,B.jsx)(hJ,{label:`Effort`,help:dJ.effort,children:(0,B.jsx)(uJ,{variant:`bordered`,value:S===`codex`?Vj(C,l.effort??``):l.effort??``,onValueChange:e=>_({...l,effort:e||void 0}),options:S===`codex`?Bj(C,{withDefault:!0}):zj,indicatorPosition:`right`,ariaLabel:`Effort`})}),(0,B.jsx)(hJ,{label:`Font`,help:dJ.font,children:(0,B.jsx)(xJ,{value:l.font??`mono`,onChange:e=>_({...l,font:e})})}),(0,B.jsx)(hJ,{label:`Local file links`,help:dJ.localFileOpener,children:(0,B.jsx)(uJ,{variant:`bordered`,value:l.localFileOpener??`system`,onValueChange:e=>_({...l,localFileOpener:e}),options:[{value:`system`,label:`System default`},{value:`cursor`,label:`Cursor`},{value:`vscode`,label:`VS Code`},{value:`finder`,label:`Reveal in Finder`},{value:`copy`,label:`Copy path`}],indicatorPosition:`right`,ariaLabel:`Local file link opener`})}),(0,B.jsx)(hJ,{label:`Compact mode`,help:dJ.compact,children:(0,B.jsx)(CJ,{})}),(0,B.jsx)(hJ,{label:`Sticky message`,help:dJ.stickyUserMessage,children:(0,B.jsx)(wJ,{})}),(0,B.jsx)(hJ,{label:`Queue order`,help:dJ.queueOrder,children:(0,B.jsx)(TJ,{})}),(0,B.jsxs)(hJ,{label:`Desktop notifications`,help:dJ.notifications,children:[(0,B.jsx)(SJ,{value:l.notifications,onChange:b}),l.notifications&&(0,B.jsx)(EJ,{perm:d})]}),(0,B.jsx)(hJ,{label:`Runtime QA gate`,help:dJ.runtimeGate,children:(0,B.jsx)(SJ,{value:l.runtimeGate!==!1,onChange:e=>_({...l,runtimeGate:e})})}),(0,B.jsx)(hJ,{label:`Auto-resume after usage limits`,help:dJ.autoResumeOnLimit,children:(0,B.jsx)(SJ,{value:l.autoResumeOnLimit!==!1,onChange:e=>_({...l,autoResumeOnLimit:e})})}),(0,B.jsx)(_J,{draft:l,setDraft:_})]}):(0,B.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`}),(0,B.jsxs)(`footer`,{className:`px-4 py-3 flex items-center justify-end gap-2 border-t border-border shrink-0`,children:[(0,B.jsx)(`button`,{className:`btn-ghost`,onClick:v,children:`Cancel`}),(0,B.jsx)(`button`,{className:`btn-accent`,onClick:()=>l&&y.mutate(l),disabled:!l||y.isPending||!x,children:y.isPending?`Saving…`:`Save`})]})]})})}function mJ({label:e,help:t}){return(0,B.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-muted`,children:[e,(0,B.jsx)(rN,{label:t,side:`right`,clickable:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":`About ${e}`,className:`inline-flex size-4 items-center justify-center text-muted/60 hover:text-fg transition-colors`,children:(0,B.jsx)(Rv,{size:12})})})]})}function hJ({label:e,help:t,children:n}){return(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,B.jsx)(mJ,{label:e,help:t}),n]})}var gJ=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}];function _J({draft:e,setDraft:t}){let n=td({queryKey:[`githubPromptDefaults`],queryFn:()=>Z.githubPromptDefaults()});return(0,B.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,B.jsx)(vJ,{label:`Prompts`}),n.data?(0,B.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,B.jsx)(`div`,{className:`flex justify-end`,children:(0,B.jsx)(yJ,{})}),(0,B.jsx)(bJ,{label:`Issue investigation prompt`,help:`The prompt for each ISSUE dispatched from the picker. The default has the worker classify the issue as a bug or feature and branch: reproduce + fix-plan for a bug, or a plan + impact analysis for a feature.`,value:e.githubIssuePrompt,fallback:n.data.issue,onChange:n=>t({...e,githubIssuePrompt:n})}),(0,B.jsx)(bJ,{label:`PR investigation prompt`,help:`The prompt for each PR dispatched from the picker. The default runs an adversarial review/audit — read the diff, verify correctness/edges/tests/CI, then recommend approve / request-changes.`,value:e.githubPrPrompt,fallback:n.data.pr,onChange:n=>t({...e,githubPrPrompt:n})})]}):(0,B.jsx)(`div`,{className:`text-[12px] text-muted`,children:`Loading defaults…`})]})}function vJ({label:e}){return(0,B.jsxs)(`div`,{className:`flex items-center gap-2.5 text-[11px] uppercase tracking-wide text-muted/70`,children:[(0,B.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`}),(0,B.jsx)(`span`,{className:`shrink-0`,children:e}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`})]})}function yJ(){let[e,t]=(0,z.useState)(!1);return(0,B.jsxs)(UF,{open:e,onOpenChange:t,children:[(0,B.jsx)(WF,{asChild:!0,children:(0,B.jsx)(`button`,{type:`button`,"aria-label":`Available tokens`,className:`shrink-0 transition-colors ${e?`text-accent`:`text-muted/60 hover:text-fg`}`,children:(0,B.jsx)(Rv,{size:14})})}),(0,B.jsxs)(GF,{side:`top`,align:`end`,className:`w-56 p-3`,children:[(0,B.jsx)(`div`,{className:`mb-2 text-[11px] font-medium text-fg`,children:`Substitution tokens`}),(0,B.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:gJ.map(({token:e,gloss:t})=>(0,B.jsxs)(`li`,{className:`flex items-center justify-between gap-3 text-[11px]`,children:[(0,B.jsx)(`code`,{className:`font-mono-keep rounded border border-border bg-bg px-1 py-0.5 text-[10px] text-fg/80`,children:`{${e}}`}),(0,B.jsx)(`span`,{className:`text-muted/80`,children:t})]},e))})]})]})}function bJ({label:e,help:t,value:n,fallback:r,onChange:i}){return(0,B.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,B.jsx)(mJ,{label:e,help:t}),n!=null&&(0,B.jsx)(`button`,{type:`button`,className:`text-[11px] text-muted hover:text-accent transition-colors`,onClick:()=>i(void 0),children:`Reset to default`})]}),(0,B.jsx)(`textarea`,{value:n??r,onChange:e=>i(e.target.value===``?void 0:e.target.value),rows:10,className:`input resize-none text-[12px] leading-relaxed font-mono-keep`,spellCheck:!1})]})}function xJ({value:e,onChange:t}){return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:`mono`,label:`Mono`,cls:``},{v:`sans`,label:`Sans`,cls:``}].map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.v),className:`rounded px-3 py-1 text-[12px] transition-colors ${n.cls} ${e===n.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:n.label},n.v))})}function SJ({value:e,onChange:t}){return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:!1,label:`Off`},{v:!0,label:`On`}].map(n=>(0,B.jsx)(`button`,{onClick:()=>t(n.v),className:`rounded px-3 py-1 text-[12px] transition-colors ${e===n.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:n.label},n.label))})}function CJ(){let{compactDiffs:e}=Yd(Xy);return(0,B.jsx)(SJ,{value:e,onChange:e=>Xy.compactDiffs=e})}function wJ(){let{stickyUserMessage:e}=Yd(Xy);return(0,B.jsx)(SJ,{value:e,onChange:e=>Xy.stickyUserMessage=e})}function TJ(){let{queueOrder:e}=Yd(Xy);return(0,B.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:`fifo`,label:`Oldest first`},{v:`lifo`,label:`Newest first`}].map(t=>(0,B.jsx)(`button`,{onClick:()=>Xy.queueOrder=t.v,className:`rounded px-3 py-1 text-[12px] transition-colors ${e===t.v?`bg-fg text-bg`:`text-muted hover:text-fg`}`,children:t.label},t.v))})}function EJ({perm:e}){return e===`denied`?(0,B.jsx)(OJ,{}):(0,B.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:{granted:`Browser permission granted — notifications fire when the window is hidden.`,default:`Browser permission not yet granted — notifications won't fire until you allow them.`,unsupported:`This browser does not support desktop notifications.`}[e]})}function DJ(){let e=typeof navigator<`u`?navigator.userAgent:``;return/Firefox\//.test(e)?`firefox`:/Edg\//.test(e)?`edge`:/OPR\/|Brave\//.test(e)?`other`:/Chrome\//.test(e)?`chrome`:/Safari\//.test(e)?`safari`:`other`}function OJ(){let e=(0,z.useMemo)(DJ,[]),t=typeof location<`u`?location.origin:``,n=`${e===`edge`?`edge`:`chrome`}://settings/content/siteDetails?site=${encodeURIComponent(t)}`;return(0,B.jsxs)(`div`,{className:`flex flex-col gap-1 text-[11px] text-muted/70`,children:[(0,B.jsx)(`span`,{children:`Notifications are blocked for this site. Re-enable them in your browser, then reload.`}),e===`chrome`||e===`edge`?(0,B.jsx)(AJ,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,B.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,kJ(t),`, then reload.`]}):e===`firefox`?(0,B.jsx)(`span`,{children:`Firefox → Settings → Privacy & Security → Permissions → Notifications → Settings → allow this site.`}):(0,B.jsx)(`span`,{children:`Open this site's notification permission in your browser's settings and set it to Allow.`})]})}function kJ(e){try{return new URL(e).host}catch{return e}}function AJ({url:e,hint:t}){let[n,r]=(0,z.useState)(!1);async function i(){try{await navigator.clipboard.writeText(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}}return(0,B.jsxs)(`span`,{className:`flex w-full flex-col gap-1`,children:[(0,B.jsx)(`span`,{children:t}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,B.jsx)(`code`,{className:`min-w-0 flex-1 font-mono-keep select-all rounded border border-border bg-bg px-1.5 py-0.5 text-[10.5px] text-fg/90 break-all`,children:e}),(0,B.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Copy address`,className:`shrink-0 rounded border border-border p-1 text-muted hover:bg-panel-2 hover:text-fg transition-colors`,children:n?(0,B.jsx)(Av,{size:11,className:`text-live`}):(0,B.jsx)(Bv,{size:11})})]})]})}var jJ=1,MJ=.9,NJ=.8,PJ=.17,FJ=.1,IJ=.999,LJ=.9999,RJ=.99,zJ=/[\\\/_+.#"@\[\(\{&]/,BJ=/[\\\/_+.#"@\[\(\{&]/g,VJ=/[\s-]/,HJ=/[\s-]/g;function UJ(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?jJ:RJ;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=UJ(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=jJ:zJ.test(e.charAt(l-1))?(d*=NJ,p=e.slice(i,l-1).match(BJ),p&&i>0&&(d*=IJ**+p.length)):VJ.test(e.charAt(l-1))?(d*=MJ,m=e.slice(i,l-1).match(HJ),m&&i>0&&(d*=IJ**+m.length)):(d*=PJ,i>0&&(d*=IJ**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=LJ)),(d<FJ&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=UJ(e,t,n,r,l+1,a+2,o),f*FJ>d&&(d=f*FJ)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function WJ(e){return e.toLowerCase().replace(HJ,` `)}function GJ(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,UJ(e,t,WJ(e),WJ(t),0,0,{})}var KJ=`[cmdk-group=""]`,qJ=`[cmdk-group-items=""]`,JJ=`[cmdk-group-heading=""]`,YJ=`[cmdk-item=""]`,XJ=`${YJ}:not([aria-disabled="true"])`,ZJ=`cmdk-item-select`,QJ=`data-value`,$J=(e,t,n)=>GJ(e,t,n),eY=z.createContext(void 0),tY=()=>z.useContext(eY),nY=z.createContext(void 0),rY=()=>z.useContext(nY),iY=z.createContext(void 0),aY=z.forwardRef((e,t)=>{let n=yY(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=yY(()=>new Set),i=yY(()=>new Map),a=yY(()=>new Map),o=yY(()=>new Set),s=_Y(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=NS(),y=NS(),b=NS(),x=z.useRef(null),S=SY();vY(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),vY(()=>{S(6,ee)},[]);let C=z.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)O(),E(),S(1,D);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(S(7,()=>{n.current.selectedItemId=k()?.id,C.emit()}),r||S(5,ee),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}C.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),w=z.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,T(t,r)),S(2,()=>{E(),C.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),S(3,()=>{O(),E(),n.current.value||D(),C.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=k();S(4,()=>{O(),t?.getAttribute(`id`)===e&&D(),C.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function T(e,t){let r=s.current?.filter??$J;return e?r(e,n.current.search,t):0}function E(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;A().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(qJ);t?t.appendChild(e.parentElement===t?e:e.closest(`${qJ} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${qJ} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${KJ}[${QJ}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=A().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(QJ);C.setState(`value`,e||void 0)}function O(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=T(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function ee(){var e;let t=k();t&&(t.parentElement?.firstChild===t&&((e=t.closest(KJ)?.querySelector(JJ))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function k(){return x.current?.querySelector(`${YJ}[aria-selected="true"]`)}function A(){return Array.from(x.current?.querySelectorAll(XJ)||[])}function j(e){let t=A()[e];t&&C.setState(`value`,t.getAttribute(QJ))}function M(e){var t;let n=k(),r=A(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&C.setState(`value`,a.getAttribute(QJ))}function N(e){let t=k()?.closest(KJ),n;for(;t&&!n;)t=e>0?hY(t,KJ):gY(t,KJ),n=t?.querySelector(XJ);n?C.setState(`value`,n.getAttribute(QJ)):M(e)}let te=()=>j(A().length-1),P=e=>{e.preventDefault(),e.metaKey?te():e.altKey?N(1):M(1)},ne=e=>{e.preventDefault(),e.metaKey?j(0):e.altKey?N(-1):M(-1)};return z.createElement(Gx.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&P(e);break;case`ArrowDown`:P(e);break;case`p`:case`k`:g&&e.ctrlKey&&ne(e);break;case`ArrowUp`:ne(e);break;case`Home`:e.preventDefault(),j(0);break;case`End`:e.preventDefault(),te();break;case`Enter`:{e.preventDefault();let t=k();if(t){let e=new Event(ZJ);t.dispatchEvent(e)}}}}},z.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:TY},c),wY(e,e=>z.createElement(nY.Provider,{value:C},z.createElement(eY.Provider,{value:w},e))))}),oY=z.forwardRef((e,t)=>{let n=NS(),r=z.useRef(null),i=z.useContext(iY),a=tY(),o=_Y(e),s=o.current?.forceMount??i?.forceMount;vY(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=xY(n,r,[e.value,e.children,r],e.keywords),l=rY(),u=bY(e=>e.value&&e.value===c.current),d=bY(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);z.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(ZJ,f),()=>t.removeEventListener(ZJ,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return z.createElement(Gx.div,{ref:bx(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),sY=z.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=NS(),s=z.useRef(null),c=z.useRef(null),l=NS(),u=tY(),d=bY(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);vY(()=>u.group(o),[]),xY(o,s,[e.value,e.heading,c]);let f=z.useMemo(()=>({id:o,forceMount:i}),[i]);return z.createElement(Gx.div,{ref:bx(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&z.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),wY(e,e=>z.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},z.createElement(iY.Provider,{value:f},e))))}),cY=z.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=z.useRef(null),a=bY(e=>!e.search);return!n&&!a?null:z.createElement(Gx.div,{ref:bx(i,t),...r,"cmdk-separator":``,role:`separator`})}),lY=z.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=rY(),o=bY(e=>e.search),s=bY(e=>e.selectedItemId),c=tY();return z.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),z.createElement(Gx.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),uY=z.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=z.useRef(null),o=z.useRef(null),s=bY(e=>e.selectedItemId),c=tY();return z.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),z.createElement(Gx.div,{ref:bx(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},wY(e,e=>z.createElement(`div`,{ref:bx(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),dY=z.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return z.createElement(tA,{open:n,onOpenChange:r},z.createElement(sA,{container:o},z.createElement(lA,{"cmdk-overlay":``,className:i}),z.createElement(pA,{"aria-label":e.label,"cmdk-dialog":``,className:a},z.createElement(aY,{ref:t,...s}))))}),fY=z.forwardRef((e,t)=>bY(e=>e.filtered.count===0)?z.createElement(Gx.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),pY=z.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return z.createElement(Gx.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},wY(e,e=>z.createElement(`div`,{"aria-hidden":!0},e)))}),mY=Object.assign(aY,{List:uY,Item:oY,Input:lY,Group:sY,Separator:cY,Dialog:dY,Empty:fY,Loading:pY});function hY(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function gY(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function _Y(e){let t=z.useRef(e);return vY(()=>{t.current=e}),t}var vY=typeof window>`u`?z.useEffect:z.useLayoutEffect;function yY(e){let t=z.useRef();return t.current===void 0&&(t.current=e()),t}function bY(e){let t=rY(),n=()=>e(t.snapshot());return z.useSyncExternalStore(t.subscribe,n,n)}function xY(e,t,n,r=[]){let i=z.useRef(),a=tY();return vY(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(QJ,s),i.current=s}),i}var SY=()=>{let[e,t]=z.useState(),n=yY(()=>new Map);return vY(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function CY(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function wY({asChild:e,children:t},n){return e&&z.isValidElement(t)?z.cloneElement(CY(t),{ref:t.ref},n(t.props.children)):n(t)}var TY={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function EY(){let e=Yd(Y),t=J_(),[n,r]=(0,z.useState)(``);if((0,z.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=fb(X_(t?.threads??[])),a=e.drawers.length?[...e.drawers].reverse().find(e=>e.kind===`thread`)?.slug:void 0,o=t?.threads.find(e=>e.id===a);function s(){Y.showPalette=!1}function c(e){e(),s()}function l(e){cg(e)}return(0,B.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center bg-black/50 pt-[12vh]`,onMouseDown:e=>e.target===e.currentTarget&&s(),children:(0,B.jsxs)(mY,{label:`Command palette`,className:`w-[560px] max-w-[92vw] rounded-lg border border-border bg-panel shadow-2xl overflow-hidden`,filter:(e,t,n)=>+!!e.toLowerCase().includes(t.toLowerCase()),children:[(0,B.jsx)(mY.Input,{autoFocus:!0,value:n,onValueChange:r,placeholder:`Jump to a thread or run a command…`,className:`w-full px-4 h-12 bg-transparent outline-none border-b border-border text-sm placeholder:text-muted`}),(0,B.jsxs)(mY.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,B.jsx)(mY.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,B.jsxs)(mY.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,B.jsx)(DY,{value:`new thread create home`,onSelect:()=>c(()=>Xh()),children:`New thread`}),(0,B.jsx)(DY,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{gg(Y.drawers.map(e=>e.id)),Y.view=`todos`}),children:`Queue`}),(0,B.jsx)(DY,{value:`open settings preferences`,onSelect:()=>c(()=>Y.showSettings=!0),children:`Open settings`}),o&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(DY,{value:`open details drawer doc ${eb(o)}`,onSelect:()=>c(()=>{let e=_g();e&&ag(`doc`,e)}),children:`Open thread details`}),(0,B.jsxs)(DY,{value:`mark complete done ${eb(o)}`,onSelect:()=>c(()=>Z.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,eb(o),`” complete`]}),(0,B.jsxs)(DY,{value:`mark read ${eb(o)}`,onSelect:()=>c(()=>Z.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,eb(o),`” read`]})]})]}),i.length>0&&(0,B.jsx)(mY.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,B.jsxs)(DY,{value:`${eb(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,B.jsx)(`span`,{className:`truncate`,children:eb(e)}),(0,B.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function DY({value:e,onSelect:t,children:n}){return(0,B.jsx)(mY.Item,{value:e,onSelect:t,className:`mx-1.5 px-2.5 py-1.5 rounded flex items-center gap-2 text-sm cursor-pointer data-[selected=true]:bg-panel-2 data-[selected=true]:text-fg text-muted`,children:n})}var OY={planning:`Being designed`,planned:`Roadmap`,active:`Active`,"needs-human":`Awaiting you`,blocked:`Blocked`,done:`Done`,dismissed:`Dismissed`,archived:`Done`};function kY({status:e}){let t=fb(X_(J_()?.threads??[])).filter(t=>e===`archived`?t.archived:t.status===e);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`header`,{className:`shrink-0 flex items-center gap-2 px-4 h-10 border-b border-border`,children:[(0,B.jsx)(`span`,{className:`font-medium`,children:OY[e]??e}),(0,B.jsx)(`span`,{className:`text-[11px] text-muted tabular-nums`,children:t.length})]}),(0,B.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto py-1.5`,children:[t.length===0&&(0,B.jsx)(`p`,{className:`px-4 py-6 text-sm text-muted`,children:`No threads.`}),t.map(e=>(0,B.jsxs)(`button`,{className:`w-full text-left px-4 py-2 hover:bg-panel-2/60`,onClick:()=>ag(`thread`,e.id),children:[(0,B.jsx)(`div`,{className:`leading-snug`,children:eb(e)}),e.statusText&&(0,B.jsx)(`div`,{className:`text-[11px] text-muted mt-0.5`,children:e.statusText})]},e.id))]})]})}var AY=`Updating and restarting Fray`,jY=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`;function MY(e){if(e.key===`Tab`||e.key===`Enter`)return!0;if(e.metaKey||e.ctrlKey){let t=e.key.toLowerCase();if(t===`k`||t===`i`)return!0}return!1}function NY({open:e,message:t}){let n=(0,z.useRef)(null);if((0,z.useEffect)(()=>{if(!e)return;let t=document.activeElement;t instanceof HTMLElement&&t.blur(),n.current?.focus({preventScroll:!0});let r=e=>{MY(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,r,{capture:!0}),()=>window.removeEventListener(`keydown`,r,{capture:!0})},[e]),!e)return null;let r=t?.trim()?t.trim():null;return(0,B.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":AY,className:`fixed inset-0 z-[300] flex items-center justify-center bg-black/55 px-4 backdrop-blur-md backdrop-saturate-150`,children:(0,B.jsxs)(`div`,{ref:n,tabIndex:-1,className:`w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-border-strong bg-elevated p-6 text-center shadow-2xl shadow-black/60 outline-none`,children:[(0,B.jsx)(`span`,{className:`mx-auto flex h-11 w-11 items-center justify-center rounded-full bg-fg/10 text-fg`,children:(0,B.jsx)(dy,{size:20,strokeWidth:2.25,className:`animate-spin`,"aria-hidden":`true`})}),(0,B.jsx)(`h2`,{className:`mt-4 text-[15px] font-semibold tracking-[-0.01em] text-fg`,children:AY}),(0,B.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:jY}),r&&(0,B.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:r})]})})}function PY(){let e=Yd(Y),t=e.toast,[n,r]=(0,z.useState)(!1),i=e.drawers.some(e=>!e.closing);return(0,z.useEffect)(()=>{if(!t||(r(!0),t.sticky))return;let e=setTimeout(()=>r(!1),t.duration??(t.link?5e3:1600));return()=>clearTimeout(e)},[t?.id]),t?(0,B.jsx)(`div`,{className:`pointer-events-none fixed right-4 z-[70] flex justify-end ${i?`bottom-20`:`bottom-4`}`,children:(0,B.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex items-center gap-2.5 rounded-lg border border-border-strong bg-elevated px-4 py-2 text-[13px] font-medium text-fg shadow-xl shadow-black/40 transition-all duration-200 ease-out ${n?`translate-y-0 opacity-100`:`translate-y-8 opacity-0`}`,children:[t.spinner&&(0,B.jsx)(iy,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,B.jsx)(`button`,{onClick:()=>{ag(`thread`,t.link.slug),Y.toast=null},className:`pointer-events-auto rounded-md border border-border px-2 py-0.5 text-[12px] text-fg/90 transition-colors hover:bg-panel-2`,children:t.link.label})]})}):null}var FY=`fray:reload-after-update-restart`,IY=!1;function LY(){IY||(IY=!0,X("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function RY(){let e=Yd(Y),t=(0,z.useRef)({projectDir:null,hasBeenVisible:!1});(0,z.useEffect)(()=>{Z.board().then(yg).catch(()=>{})},[]),(0,z.useEffect)(()=>pv(),[]),(0,z.useEffect)(()=>{let e=!0,t,n=null,r=!1,i=async()=>{if(r)return;r=!0;let a=await oI();if(!e){r=!1;return}if(a){Y.controlPlaneRestartPending?a.state!==`ready`&&(Y.controlPlaneRestartPending=!1,Y.controlPlaneState=a.state,Y.controlPlaneMessage=a.message??null):(Y.controlPlaneState=a.state,Y.controlPlaneMessage=a.message??null);let e=sessionStorage.getItem(FY);if(a.state===`ready`&&e&&!Y.controlPlaneRestartPending){sessionStorage.removeItem(FY),window.location.replace(e),r=!1;return}a.state===`failed`&&e&&(sessionStorage.removeItem(FY),n!==a.message&&(n=a.message??`Update & Restart failed`,X(`Update & Restart failed: ${n}`,{duration:7e3})))}r=!1,t=setTimeout(i,Y.controlPlaneState===`restarting`?500:8e3)},a=()=>{t&&clearTimeout(t),i()};return window.addEventListener(rI,a),i(),()=>{e=!1,window.removeEventListener(rI,a),t&&clearTimeout(t)}},[]);let n=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,z.useEffect)(()=>{if(!n)return;let e=window.scrollY,t=document.body;return t.style.position=`fixed`,t.style.top=`-${e}px`,t.style.left=`0`,t.style.right=`0`,t.style.width=`100%`,()=>{t.style.position=``,t.style.top=``,t.style.left=``,t.style.right=``,t.style.width=``,window.scrollTo(0,e)}},[n]);let r=td({queryKey:[`settingsGet`],queryFn:()=>Z.settingsGet()});(0,z.useEffect)(()=>{Y.notificationsEnabled=r.data?.notifications??!1},[r.data?.notifications]);let i=td({queryKey:[`githubStatus`],queryFn:()=>Z.githubStatus()});(0,z.useEffect)(()=>{i.data?.inRepo&&!i.data.authed&&LY()},[i.data?.inRepo,i.data?.authed]),(0,z.useEffect)(()=>{function e(e){if(e.target instanceof Element&&e.target.closest(`.xterm`)||!(e.metaKey||e.ctrlKey))return;let t=e.key.toLowerCase();if(t===`k`)e.preventDefault(),Y.showPalette=!Y.showPalette;else if(t===`i`){let t=pg(),n=_g();t?.kind===`doc`?(e.preventDefault(),Gh(t.id)||Y.drawers.pop()):n&&(e.preventDefault(),ag(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let a=J_();t.current=mv(t.current,a);let o=a!==null&&t.current.hasBeenVisible,s=nP(a),c=a?.projectLabel??a?.projectName;return(0,z.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?c??`fray`:c?`fray · ${c}`:`fray`},[c]),(0,B.jsxs)(nN,{children:[(0,B.jsx)(NY,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage}),(0,B.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[(0,B.jsx)(gI,{identity:s,connection:e.connection,boardFallback:e.socketBoardFallback}),(0,B.jsxs)(`div`,{className:`flex min-h-screen justify-center gap-13 max-[800px]:flex-col max-[800px]:justify-start max-[800px]:gap-0 max-[800px]:px-3`,children:[o&&(0,B.jsx)(hq,{label:`the sidebar`,children:(0,B.jsx)(FN,{})}),(0,B.jsx)(`main`,{id:`workpane`,className:`w-[720px] max-w-[62vw] min-w-0 flex flex-col py-5 max-[800px]:w-full max-[800px]:max-w-none ${e.view===`todos`||!a?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:a?(0,B.jsxs)(hq,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,B.jsx)(kY,{status:e.view.slice(7)}),e.view===`todos`&&(0,B.jsx)(Mq,{})]}):(0,B.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})})]}),(0,B.jsx)(xq,{}),e.showSettings&&(0,B.jsx)(pJ,{}),e.showNewThread&&(0,B.jsx)(uM,{onClose:()=>{Y.showNewThread=!1,Y.newThreadPlanPath=null}}),e.showGithubPicker&&(0,B.jsx)(Uq,{onClose:Qh}),(0,B.jsx)(EY,{}),(0,B.jsx)(PY,{})]})]})}function zY({slug:e}){let t=J_(),n=AI(t,e),r=n.kind===`found`?n.thread:void 0,i=t?.projectDir,a=i?`${i}\0${e}`:void 0,o=(0,z.useRef)(void 0),s=EI(a,r?{scratch:!!r.scratchpadPath}:void 0,o.current);o.current=s.remembered;let c=(0,z.useRef)(i&&r?a??null:null),[l,u]=(0,z.useState)(()=>i&&r?OI(i,e):`chat`),d=TI(c.current===a?l:`chat`,s.capabilities);(0,z.useEffect)(()=>{Z.board().then(yg).catch(()=>{})},[]),(0,z.useEffect)(()=>{!i||!a||!s.authoritative||c.current!==a&&(c.current=a,u(OI(i,e)))},[i,s.authoritative,a,e]);let f=(0,z.useCallback)(t=>{i&&kI(i,e,t),u(t)},[i,e]),p=r?.runtime===`turn-idle`||r?.runtime===`exited`||r?.runtime===`none`;return(0,z.useEffect)(()=>{!r||!p||Z.threadSeen({slug:e}).catch(()=>{})},[p,e,r?.lastActivityAt]),(0,z.useEffect)(()=>{let n=t?.projectLabel??t?.projectName,i=r?eb(r):e;document.title=n?`${i} · ${n} | Fray`:`${i} · Fray`},[t?.projectLabel,t?.projectName,e,r]),(0,B.jsx)(nN,{children:(0,B.jsxs)(`div`,{className:`h-dvh min-h-0 bg-bg px-0 text-sm text-fg sm:px-5`,children:[(0,B.jsx)(`main`,{"data-standalone-thread":!0,className:`mx-auto flex h-full w-full max-w-[900px] min-w-0 flex-col overflow-hidden border-border bg-panel sm:border-x`,children:n.kind===`loading`?(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,role:`status`,"aria-label":`Loading thread`,children:(0,B.jsx)(`span`,{className:`block h-5 w-5 animate-spin rounded-full border-2 border-muted/50 border-t-transparent`})}):n.kind===`missing`?(0,B.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h1`,{className:`font-medium text-fg`,children:`Thread unavailable`}),(0,B.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Thread “`,e,`” was not found in this project.`]})]}),(0,B.jsx)(`a`,{href:`/`,className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:`Return to queue`})]}):(0,B.jsx)(wG,{slug:e,tab:d,onTab:f,virtualized:!0,showReturnToQueue:!0})}),(0,B.jsx)(xq,{}),(0,B.jsx)(PY,{})]})})}var BY=24,VY=6,HY=700,UY=new Map,WY=null,GY=null;function KY(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function qY(e){return Y.board?.threads.find(t=>t.id===e)?.lastActivityAt}function JY(){let e=[...UY.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of UY){if(n.observers<=0){n.live&&(n.live=!1,G_(e)),UY.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,G_(e)))}YY()}function YY(){GY||[...UY.values()].some(e=>e.queued)&&(GY=setTimeout(()=>{GY=null;let e=0,t=[...UY.values()].filter(e=>e.live).length;for(let[n,r]of UY){if(e>=VY||t>=BY)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=qY(n),W_(n),e++))}YY()},HY))}function XY(){if(WY)for(let[e,t]of UY){if(t.observers<=0)continue;let n=qY(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&Y.socketTranscripts)&&(Y.socketTranscriptFallbacks[e]||WY.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function ZY(e){WY||(WY=e,e.getQueryCache().subscribe(e=>{let t=KY(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=UY.get(t);e.type===`observerAdded`?(UY.delete(t),UY.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:qY(t)})):r&&(r.observers=n),JY()}),Kd(Y,XY))}var QY=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,$Y=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function eX(e){let t=e===`sans`?`sans`:`mono`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?$Y:QY);try{localStorage.setItem(`fray-font`,t)}catch{}}function tX(e){eX(e.getQueryData([`settingsGet`])?.font),Z.settingsGet().then(e=>eX(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&eX(t.font)})}function nX(){let e=e=>{if(e.button!==0||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`[data-local-path]`):null,n=t?.dataset.localPath;!t||!n||(e.preventDefault(),e.stopPropagation(),rX(n,t.dataset.localImage===`true`))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}async function rX(e,t){try{let n=await Z.openLocalFile({path:e,...t?{image:!0}:{}});n.action===`copy`&&(await navigator.clipboard.writeText(n.path),X(`Copied local path`))}catch(e){X(`Could not open local file: ${e.message.slice(0,100)}`)}}var iX=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function aX(){let e=e=>{if(e.button!==0||e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target instanceof Element?e.target.closest(`a[href^="/thread/"]`):null,n=t?.getAttribute(`href`);if(!t||!n)return;let r=iX.exec(n);r&&(e.preventDefault(),e.stopPropagation(),cg(r[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var oX=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),sX=typeof window<`u`?EW(window.location.pathname):null;!oX&&!sX&&fv();var cX=new Iu({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}});oX||(q_(cX),ZY(cX),tX(cX),VU(),nX(),aX()),oX||(0,rd.createRoot)(document.getElementById(`root`)).render((0,B.jsx)(Vu,{client:cX,children:(0,B.jsx)(yq,{children:sX?(0,B.jsx)(zY,{slug:sX}):(0,B.jsx)(RY,{})})}));export{Ru as n,Cl as r,bj as t};
|