frizz-server 0.13.4 → 0.13.5
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/package.json +1 -1
- package/web-dist/assets/{TerminalPane-BA0mIiPN.js → TerminalPane-vtrJrhRI.js} +1 -1
- package/web-dist/assets/{abnfDiagram-VRR7QNED-C0d_GOgf.js → abnfDiagram-VRR7QNED-BXqgguHD.js} +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-Cs0QGGqy.js +1 -0
- package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-CLDHAnqy.js → architectureDiagram-ZJ3FMSHR-C3G8MDqx.js} +1 -1
- package/web-dist/assets/{blockDiagram-677ZJIJ3-Byj82lPn.js → blockDiagram-677ZJIJ3-CKFcYZqr.js} +1 -1
- package/web-dist/assets/{c4Diagram-LMCZKHZV-BSiBmLxJ.js → c4Diagram-LMCZKHZV-CmiqmtLP.js} +1 -1
- package/web-dist/assets/channel-DfJjgFlV.js +1 -0
- package/web-dist/assets/{chunk-32BRIVSS-DjJuumwL.js → chunk-32BRIVSS-Db5i6LWw.js} +1 -1
- package/web-dist/assets/{chunk-52WLFC77-7w-u-XrO.js → chunk-52WLFC77-aW1ilNGv.js} +1 -1
- package/web-dist/assets/{chunk-C7G6YPKG-CrQOxr9R.js → chunk-C7G6YPKG-GqqNbHig.js} +1 -1
- package/web-dist/assets/{chunk-EX3LRPZG-CyElaUyz.js → chunk-EX3LRPZG--P4v8X90.js} +1 -1
- package/web-dist/assets/{chunk-FWX5IMBZ-uBs1pWz3.js → chunk-FWX5IMBZ-CixF1fU4.js} +2 -2
- package/web-dist/assets/{chunk-HOUHSVGY-D-0S_vPu.js → chunk-HOUHSVGY-B2HhGZvF.js} +1 -1
- package/web-dist/assets/{chunk-ICXQ74PX-BPZjHh6l.js → chunk-ICXQ74PX-BBE-x4C3.js} +1 -1
- package/web-dist/assets/{chunk-MOJQB5TN-DQ8X1g7u.js → chunk-MOJQB5TN-BEPO2Wkl.js} +1 -1
- package/web-dist/assets/{chunk-OGEWGWER-DwEl4tV6.js → chunk-OGEWGWER-D9JtkMIm.js} +1 -1
- package/web-dist/assets/{chunk-PUDLZKDR-w7FH7FgF.js → chunk-PUDLZKDR-DUS_PVgd.js} +1 -1
- package/web-dist/assets/{chunk-Q4XR5HBZ-DUF1qPxz.js → chunk-Q4XR5HBZ-E-hz3UXp.js} +1 -1
- package/web-dist/assets/{chunk-V7JOEXUC-DQDZupnO.js → chunk-V7JOEXUC-Bx_zIZQA.js} +1 -1
- package/web-dist/assets/{chunk-VAUOI2AC-DcBMBNly.js → chunk-VAUOI2AC-B2fl33V0.js} +1 -1
- package/web-dist/assets/{chunk-VR4S4FIN-DSR3Pq54.js → chunk-VR4S4FIN-_v2TMpT3.js} +1 -1
- package/web-dist/assets/{chunk-WYO6CB5R-DqmEM55p.js → chunk-WYO6CB5R-DGCmK4zM.js} +1 -1
- package/web-dist/assets/{chunk-ZGVPDNZ5-DiAOqAtq.js → chunk-ZGVPDNZ5-eEh-P7hx.js} +1 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-DuB6VVfg.js +1 -0
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-DuB6VVfg.js +1 -0
- package/web-dist/assets/{cynefin-VYW2F7L2-BOgXXJux.js → cynefin-VYW2F7L2-BEP3QFtJ.js} +1 -1
- package/web-dist/assets/{cynefinDiagram-TSTJHNR4-D_cDNjb5.js → cynefinDiagram-TSTJHNR4-i_a9SM7I.js} +1 -1
- package/web-dist/assets/{dagre-VKFMJZFB-COoeIysT.js → dagre-VKFMJZFB-DOjX7leJ.js} +1 -1
- package/web-dist/assets/{diagram-FQU43EPY-DvObHRy5.js → diagram-FQU43EPY-u22O3K0y.js} +1 -1
- package/web-dist/assets/{diagram-G47NLZAW-CVsApdT5.js → diagram-G47NLZAW-DQCs9ymG.js} +1 -1
- package/web-dist/assets/{diagram-NH7WQ7WH-B1R3H3FB.js → diagram-NH7WQ7WH-CM0xr4Ew.js} +1 -1
- package/web-dist/assets/{diagram-OA4YK3LP-CLoRC7it.js → diagram-OA4YK3LP-DSwe8_-_.js} +1 -1
- package/web-dist/assets/{diagram-WEI45ONY-BNtWH_b0.js → diagram-WEI45ONY-R4P40Ge5.js} +1 -1
- package/web-dist/assets/{ebnfDiagram-CCIWWBDH-BIHit-oa.js → ebnfDiagram-CCIWWBDH-BLeGHrIO.js} +1 -1
- package/web-dist/assets/{erDiagram-Q63AITRT-CX3wj9wZ.js → erDiagram-Q63AITRT-DDqG5wBf.js} +1 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-D0PpSf66.js +1 -0
- package/web-dist/assets/flowDiagram-23GEKE2U-7s3GPshr.js +1 -0
- package/web-dist/assets/{ganttDiagram-NO4QXBWP-ovukTiTD.js → ganttDiagram-NO4QXBWP-nZB1wUEf.js} +1 -1
- package/web-dist/assets/{gitGraph-TEB2WS4Q-C9E-9V1E.js → gitGraph-TEB2WS4Q-k1DZH2Ze.js} +1 -1
- package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-BtJWd26X.js → gitGraphDiagram-IHSO6WYX-scE9lsZp.js} +1 -1
- package/web-dist/assets/{index-rU3F6wBN.js → index-DccJ_Mii.js} +12 -12
- package/web-dist/assets/index-d_g5kIKJ.css +1 -0
- package/web-dist/assets/{info-DKCQHKI2-DGGMsp6D.js → info-DKCQHKI2-BdKVaTmg.js} +1 -1
- package/web-dist/assets/{infoDiagram-FWYZ7A6U-yVcULGK0.js → infoDiagram-FWYZ7A6U-C5VyMItr.js} +1 -1
- package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-BXGbRvgE.js → ishikawaDiagram-FXEZZL3T-1j1BQVqM.js} +1 -1
- package/web-dist/assets/{journeyDiagram-5HDEW3XC-KyPIkV6n.js → journeyDiagram-5HDEW3XC-CvssEnRC.js} +1 -1
- package/web-dist/assets/{kanban-definition-HUTT4EX6-7IRwylrK.js → kanban-definition-HUTT4EX6-Ca_rI42D.js} +1 -1
- package/web-dist/assets/{line-DHhaY6hP.js → line-DQC7_SA6.js} +1 -1
- package/web-dist/assets/{mermaid-parser.core-D_zIUq4c.js → mermaid-parser.core-CH_XDp0n.js} +3 -3
- package/web-dist/assets/{mermaid.core-Cer3Sm6Y.js → mermaid.core-CvmBari2.js} +3 -3
- package/web-dist/assets/{mindmap-definition-LN4V7U3C-Ds5w6J2p.js → mindmap-definition-LN4V7U3C-BrJ260AG.js} +1 -1
- package/web-dist/assets/{packet-7NZHBO7P-BxQmF_wj.js → packet-7NZHBO7P-C2gQDScs.js} +1 -1
- package/web-dist/assets/{pegDiagram-2B236MQR-BgcChc4K.js → pegDiagram-2B236MQR-bPOaNoIP.js} +1 -1
- package/web-dist/assets/{pie-RZYD4A2V-7ckW3b8f.js → pie-RZYD4A2V-Zx8C_Xgj.js} +1 -1
- package/web-dist/assets/{pieDiagram-ENE6RG2P-dAKPXidr.js → pieDiagram-ENE6RG2P-DMYMm0LG.js} +1 -1
- package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-BhIIvMD3.js → quadrantDiagram-ABIIQ3AL-ByfVxmA2.js} +1 -1
- package/web-dist/assets/{radar-I7S5WNFK-BjHZZeUT.js → radar-I7S5WNFK-DlT-36Nu.js} +1 -1
- package/web-dist/assets/{railroad-3IZDKUUU-DGLm30_k.js → railroad-3IZDKUUU-BV6ldow9.js} +1 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-DL4tTpQ2.js +1 -0
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-DZXU1erj.js +1 -0
- package/web-dist/assets/railroad-peg-LSFZ7HO6-CJoMV3fw.js +1 -0
- package/web-dist/assets/{railroadDiagram-RFXS5EU6-NDZ1o78x.js → railroadDiagram-RFXS5EU6-369iyQ0K.js} +1 -1
- package/web-dist/assets/{requirementDiagram-TGXJPOKE-ClwNJzK_.js → requirementDiagram-TGXJPOKE-DPgR3B5t.js} +1 -1
- package/web-dist/assets/{sankeyDiagram-HTMAVEWB-DUe4YqBe.js → sankeyDiagram-HTMAVEWB-Cp9KGmau.js} +1 -1
- package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-Co6LVrCi.js → sequenceDiagram-DBY2YBRQ-CYwpuO_c.js} +1 -1
- package/web-dist/assets/{stateDiagram-2N3HPSRC-SsEEX3n0.js → stateDiagram-2N3HPSRC-_FymJQW-.js} +1 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-2QmL1Mxm.js +1 -0
- package/web-dist/assets/{swimlanes-5IMT3BWC-CoVdeWtQ.js → swimlanes-5IMT3BWC-hjeRmVWf.js} +1 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-BA9G-axI.js +8 -0
- package/web-dist/assets/{timeline-definition-FHXFAJF6-FWjCOjFe.js → timeline-definition-FHXFAJF6-6mAlMLED.js} +1 -1
- package/web-dist/assets/{treeView-QDETBFTQ-C5XuetRx.js → treeView-QDETBFTQ-CQiOrDsk.js} +1 -1
- package/web-dist/assets/{treemap-6X3UGDF4-DSYA_yZU.js → treemap-6X3UGDF4-C6QbRu-J.js} +1 -1
- package/web-dist/assets/{vennDiagram-L72KCM5P-CBlj6q2E.js → vennDiagram-L72KCM5P-DG9sLom6.js} +1 -1
- package/web-dist/assets/{wardley-OPB4EBWU-xRxS5w8C.js → wardley-OPB4EBWU-cmwUvJ8F.js} +1 -1
- package/web-dist/assets/{wardleyDiagram-EHGQE667-BOJNbJTn.js → wardleyDiagram-EHGQE667-DJFJy55B.js} +1 -1
- package/web-dist/assets/{xychartDiagram-FW5EYKEG-BH7s_eja.js → xychartDiagram-FW5EYKEG-CZad7etX.js} +1 -1
- package/web-dist/index.html +2 -2
- package/web-dist/assets/architecture-TIHT7OUA-Dabq5ynP.js +0 -1
- package/web-dist/assets/channel-569Fbotp.js +0 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-DdJ4fu0T.js +0 -1
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-DdJ4fu0T.js +0 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-Bxh_9VAJ.js +0 -1
- package/web-dist/assets/flowDiagram-23GEKE2U-BVT2CoPd.js +0 -1
- package/web-dist/assets/index-PAxGNU-o.css +0 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-ez6c0JVR.js +0 -1
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-G_O_IjaE.js +0 -1
- package/web-dist/assets/railroad-peg-LSFZ7HO6-CDAvQbft.js +0 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-BCCL236E.js +0 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-BXTLDQC2.js +0 -8
|
@@ -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-vtrJrhRI.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/mermaid.core-CvmBari2.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-C4XfhTaE.js","assets/chunk-WYO6CB5R-DGCmK4zM.js","assets/chunk-ICXQ74PX-BBE-x4C3.js","assets/dist-DoH_9pyS.js","assets/chunk-VAUOI2AC-B2fl33V0.js","assets/chunk-HOUHSVGY-B2HhGZvF.js","assets/chunk-Q4XR5HBZ-E-hz3UXp.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-OGEWGWER-D9JtkMIm.js","assets/chunk-C7G6YPKG-GqqNbHig.js","assets/chunk-ZGVPDNZ5-eEh-P7hx.js","assets/rough.esm-CSKSodPl.js","assets/chunk-52WLFC77-aW1ilNGv.js","assets/line-DQC7_SA6.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-FWX5IMBZ-CixF1fU4.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=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),r=t(((e,t)=>{t.exports=n()})),i=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ee(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},te={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=te,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ee}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),a=t(((e,t)=>{t.exports=i()})),o=t((e=>{var t=a();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=i.p;try{if(c.T=null,i.p=2,e)return e()}finally{c.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.7`})),s=t(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=o()})),c=t((e=>{var t=r(),n=a(),i=s();function o(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function l(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(l(e)!==e)throw Error(o(188))}function p(e){var t=e.alternate;if(!t){if(t=l(e),t===null)throw Error(o(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return f(i),e;if(a===r)return f(i),t;a=a.sibling}throw Error(o(188))}if(n.return!==r.return)n=i,r=a;else{for(var s=!1,c=i.child;c;){if(c===n){s=!0,n=i,r=a;break}if(c===r){s=!0,r=i,n=a;break}c=c.sibling}if(!s){for(c=a.child;c;){if(c===n){s=!0,n=a,r=i;break}if(c===r){s=!0,r=a,n=i;break}c=c.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(n.tag!==3)throw Error(o(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var ee=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},re=[],ie=-1;function ae(e){return{current:e}}function oe(e){0>ie||(e.current=re[ie],re[ie]=null,ie--)}function se(e,t){ie++,re[ie]=e.current,e.current=t}var ce=ae(null),le=ae(null),ue=ae(null),de=ae(null);function fe(e,t){switch(se(ue,t),se(le,e),se(ce,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Kd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Kd(t),e=qd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}oe(ce),se(ce,e)}function pe(){oe(ce),oe(le),oe(ue)}function me(e){e.memoizedState!==null&&se(de,e);var t=ce.current,n=qd(t,e.type);t!==n&&(se(le,e),se(ce,n))}function he(e){le.current===e&&(oe(ce),oe(le)),de.current===e&&(oe(de),np._currentValue=ne)}var ge,_e;function ve(e){if(ge===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||``,_e=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+ge+e+_e}var ye=!1;function be(e,t){if(!e||ye)return``;ye=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -196,7 +196,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(
|
|
|
196
196
|
`),n=t[0]?.match(/^(@\S+) \((.+?)(?:, line (\d+)|, lines (\d+)-(\d+))?\):$/);if(!n)return null;let r=n[2],a=n[3]===void 0?n[4]===void 0?void 0:Number(n[4]):Number(n[3]),o=n[3]===void 0?n[5]===void 0?void 0:Number(n[5]):Number(n[3]),s=1,c=[];for(;s<t.length&&t[s].startsWith(`>`);s++)c.push(t[s].replace(/^> ?/,``));if(!c.length||s<t.length)return null;i.push({token:n[1],display:r,startLine:a,endLine:o,text:c.join(`
|
|
197
197
|
`)})}return!i.length||!i.every(e=>GL(n,e.token))?null:{body:n,items:i}}function rR(e){return e.key===`Enter`&&!e.altKey&&!e.shiftKey&&!e.isComposing&&e.keyCode!==229}function iR(e,t){return t&&rR(e)&&!e.metaKey&&!e.ctrlKey}function aR(e,t){return t&&rR(e)&&(e.metaKey||e.ctrlKey)}function oR(e){return rR(e)}function sR(e){return e.key===`Enter`&&e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.isComposing}function cR(e,t,n){return e===`queueComposer`&&t===`Enter`&&n}var lR=`gap-3`,uR=`-mx-1`,dR=`-mx-[3px]`,fR=`right-2`,pR=`right-[71px]`,mR=`right-[44px]`,hR=`pr-[6.6875rem]`,gR=`pr-20`;async function _R(e,t){let n=Bd(),r=await e.arrayBuffer(),i=``,a=new Uint8Array(r);for(let e=0;e<a.length;e+=32768)i+=String.fromCharCode(...a.subarray(e,e+32768));let o=await fetch(`${n}/attach`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:t,data:btoa(i)})});return o.ok?(await o.json()).path??null:null}var vR={project:`project`,user:`global`,builtin:`built-in`,plugin:`plugin`};function yR(e,t){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,t)}px`}function bR({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,contextTokens:f,slashSuggest:p,onInterruptSubmit:m}){let h=(0,I.useRef)(null),g=(0,I.useRef)(null),_=(0,I.useRef)(null),[v,y]=(0,I.useState)(!1),[b,x]=(0,I.useState)(!1),{prose:S,attachments:C}=(0,I.useMemo)(()=>zL(e),[e]),w=C.map(e=>e.path),T=(0,I.useRef)(e);T.current=e;let E=e=>t(BL(e,w)),D=e=>t(BL(S,e));async function O(e){if(!e)return;if(b){Z(`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})=>Vc(e)?!0:(Z(`${e||`File`}: unsupported file type`),!1));if(!n.length)return;let r=n.filter(({file:e,name:t})=>e.size>Rc?(Z(`${t} is too large (max ${Math.floor(Rc/1e6)} MB)`),!1):!0);if(!r.length)return;let i=T.current;x(!0);let a=[];try{for(let{file:e,name:t}of r){let n=await _R(e,t);n?a.push(n):Z(`Could not attach ${t}`)}}finally{x(!1)}if(a.length&&i!==``&&T.current===``){Z(`Attachment discarded — the message was sent before the upload finished`),requestAnimationFrame(()=>h.current?.focus());return}if(a.length){let e=zL(T.current);t(BL(e.prose,[...e.attachments.map(e=>e.path),...a]))}requestAnimationFrame(()=>h.current?.focus())}(0,I.useLayoutEffect)(()=>{let e=!0,t=()=>{let t=h.current;!t||!e||yR(t,s)};t();let n=requestAnimationFrame(t);document.fonts?.ready.then(t);let r=h.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 k=(0,I.useMemo)(()=>f??[],[f]),A=(0,I.useMemo)(()=>{if(k.length===0)return null;let e=YL(S,k);return e.some(e=>e.token)?e.map((e,t)=>e.token?(0,L.jsx)(`span`,{className:`rounded bg-panel-2 py-0.5 -mx-0.5 px-0.5 ring-1 ring-inset ring-border`,children:e.text},t):e.text):null},[S,k]),j=()=>{let e=h.current,t=g.current;e&&t&&(t.scrollTop=e.scrollTop)};(0,I.useLayoutEffect)(j);let M=(0,I.useRef)(!1);(0,I.useEffect)(()=>{let e=h.current;if(!e)return;let t=()=>{M.current=e.disabled};return e.addEventListener(`focusout`,t),()=>e.removeEventListener(`focusout`,t)},[]),(0,I.useEffect)(()=>{if(l||!M.current)return;M.current=!1;let e=h.current,t=document.activeElement;e&&(!t||t.contains(e))&&e.focus({preventScroll:!0})},[l]);let[N,P]=(0,I.useState)(null),[ee,F]=(0,I.useState)({prose:``,index:0}),te=ee.prose===S?ee.index:0,ne=e=>F({prose:S,index:typeof e==`function`?e(te):e}),[re,ie]=(0,I.useState)(null),ae=!!p&&/^\/\S*$/.test(S);(0,I.useEffect)(()=>{if(!ae||N!==null)return;let e=!0;return p().then(t=>{e&&P(t)},()=>{e&&P([])}),()=>{e=!1}},[ae,N,p]);let oe=(0,I.useMemo)(()=>{if(!ae||!N||re===S)return[];let e=S.slice(1).toLowerCase(),t=N.filter(t=>t.name.toLowerCase().startsWith(e)),n=N.filter(t=>!t.name.toLowerCase().startsWith(e)&&t.name.toLowerCase().includes(e));return[...t,...n]},[ae,N,re,S]),se=oe.length>0,ce=(0,I.useMemo)(()=>{let e=new Set;for(let t of oe)t.source&&e.add(vR[t.source]);return[...e]},[oe]),le=(0,I.useRef)(null);(0,I.useEffect)(()=>{le.current?.querySelector(`[data-suggest-index="${te}"]`)?.scrollIntoView({block:`nearest`})},[te]);function ue(e){let t=`/${e.name} `;E(t),requestAnimationFrame(()=>h.current?.setSelectionRange(t.length,t.length))}let de=e.trim().length>0,fe=d??null;function pe(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(se&&!e.nativeEvent.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),ne(t=>(t+(e.key===`ArrowDown`?1:-1)+oe.length)%oe.length);return}if((e.key===`Enter`||e.key===`Tab`)&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){e.preventDefault(),e.stopPropagation(),ue(oe[te]??oe[0]);return}if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),ie(S);return}}if(e.key===`Backspace`&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&k.length>0&&t.selectionStart===t.selectionEnd){let n=t.selectionStart,r=YL(t.value.slice(0,n),k).at(-1);if(r?.token){e.preventDefault();let i=n-r.text.length;E(t.value.slice(0,i)+t.value.slice(n)),requestAnimationFrame(()=>t.setSelectionRange(i,i));return}}if(cR(r,e.key,e.altKey)){e.preventDefault(),e.stopPropagation();let n=t.selectionStart??t.value.length,r=t.selectionEnd??n;E(t.value.slice(0,n)+`
|
|
198
198
|
`+t.value.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1));return}let a=de&&!l&&!b;if(iR(i,a)){e.preventDefault(),e.stopPropagation(),n();return}if(aR(i,a)){e.preventDefault(),e.stopPropagation(),(m??n)();return}if(sR(i)){let e=t.value,n=t.selectionStart??e.length,r=t.selectionEnd??n;requestAnimationFrame(()=>{t.value===e&&(E(e.slice(0,n)+`
|
|
199
|
-
`+e.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1)))})}e.key===`Escape`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),t.blur())}return(0,L.jsxs)(`div`,{className:`group relative rounded-xl border bg-bg transition-colors focus-within:border-accent ${v?`border-dashed border-accent`:`border-border`}`,onDragOver:e=>{[...e.dataTransfer.items].some(e=>e.kind===`file`)&&(e.preventDefault(),y(!0))},onDragLeave:()=>y(!1),onDrop:e=>{e.preventDefault(),y(!1),O(e.dataTransfer.files)},children:[v&&(0,L.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`}),se&&(0,L.jsx)(`div`,{ref:le,"data-slash-menu":!0,className:`absolute bottom-full left-0 right-0 z-20 mb-1.5 max-h-56 overflow-y-auto rounded-lg border border-border bg-bg py-1 shadow-lg`,children:oe.map((e,t)=>(0,L.jsxs)(`button`,{type:`button`,"data-suggest-index":t,onMouseDown:e=>e.preventDefault(),onClick:()=>ue(e),onMouseEnter:()=>ne(t),className:`flex w-full items-baseline gap-2 px-3.5 py-1.5 text-left ${t===te?`bg-panel-2`:``}`,children:[(0,L.jsxs)(`span`,{className:`shrink-0 text-[12px] font-medium text-fg`,children:[`/`,e.name]}),e.description&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-muted`,children:e.description}),ce.length>0&&(0,L.jsxs)(`span`,{className:`ml-auto grid shrink-0 text-[10px]`,children:[ce.map(e=>(0,L.jsx)(`span`,{"aria-hidden":!0,className:`petite-caps invisible col-start-1 row-start-1`,children:e},e)),(0,L.jsx)(`span`,{className:`petite-caps col-start-1 row-start-1 text-right text-muted/70`,children:e.source?vR[e.source]:``})]})]},e.name))}),(0,L.jsxs)(`div`,{className:`relative`,children:[A&&(0,L.jsx)(`div`,{ref:g,"aria-hidden":!0,"data-composer-context-backdrop":!0,className:`pointer-events-none absolute inset-0 select-none overflow-hidden whitespace-pre-wrap [overflow-wrap:break-word] px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${fe?`pr-[6.6875rem]`:`pr-20`}`} text-[13px] leading-relaxed text-transparent`,children:A}),(0,L.jsx)(`textarea`,{id:a,ref:h,onScroll:A?j:void 0,"data-surface":r,value:S,autoFocus:c,disabled:l,onChange:e=>E(e.target.value),onKeyDown:pe,onPaste:e=>{let t=[...e.clipboardData.items].filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(Boolean);t.length&&(e.preventDefault(),O(t))},placeholder:i,rows:1,spellCheck:!1,style:{minHeight:o,maxHeight:s},className:`relative block w-full resize-none bg-transparent px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${fe?hR:gR}`} text-[13px] leading-relaxed text-fg outline-none placeholder:text-muted scrollbar-none disabled:opacity-60`})]}),C.length>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5 px-3 pb-2 ${fe?`pr-[6.6875rem]`:`pr-20`}`,children:C.map((e,t)=>(0,L.jsx)(xR,{attachment:e,disabled:l,onRemove:()=>D(w.filter((e,n)=>n!==t))},`${e.path}-${t}`))}),u&&(0,L.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1 pl-1.5 pb-1.5 ${fe?`pr-[6.6875rem]`:`pr-20`}`,children:u}),fe&&(0,L.jsx)(`div`,{className:`absolute bottom-2 right-[43px] flex items-center`,children:fe}),(0,L.jsx)(`input`,{ref:_,type:`file`,multiple:!0,accept:Hc,className:`hidden`,onChange:e=>{O(e.target.files),e.target.value=``}}),(0,L.jsx)(`button`,{type:`button`,onClick:()=>_.current?.click(),disabled:l||b,title:`Attach files`,"aria-label":`Attach files`,className:`absolute bottom-2 ${fe?pR:mR} 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:b?(0,L.jsx)(eh,{size:15,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(ch,{size:15,strokeWidth:2})}),(0,L.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:n,disabled:!de||l||b,title:`Send (Enter · ⌘⏎ sends now)`,"aria-label":`Send`,className:`absolute bottom-2 ${fR} flex h-7 w-7 items-center justify-center rounded-lg transition-all ${de&&!l&&!b?`bg-fg text-bg hover:opacity-90 active:scale-95`:`bg-panel-2 text-muted`}`,children:l?(0,L.jsx)(eh,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,L.jsx)(gm,{size:14,strokeWidth:2.5})})]})}function xR({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,I.useState)(!1),a=np(e.path),o=(a.includes(`.`)?a.split(`.`).pop():``).toUpperCase();return(0,L.jsxs)(`div`,{className:`group/att relative h-11 w-11`,title:a,children:[e.kind===`image`&&!r?(0,L.jsx)(`img`,{src:$S(e.path),alt:a,onError:()=>i(!0),className:`h-11 w-11 rounded-md border border-border object-cover`}):(0,L.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,L.jsx)(Rm,{size:15,strokeWidth:2,className:`shrink-0 text-muted`}),o&&(0,L.jsx)(`span`,{className:`-mx-1 max-w-[calc(100%+0.5rem)] truncate text-[8px] font-medium leading-none text-muted/80`,children:o})]}),(0,L.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,L.jsx)(Dh,{size:10,strokeWidth:2.5})})]})}function SR(){return nt({queryKey:[`githubStatus`],queryFn:()=>Y.githubStatus(),staleTime:3e4,refetchOnWindowFocus:!0,refetchInterval:e=>{let t=e.state.data;return t?.inRepo&&t.authed?!1:6e4}})}function CR(){let e=SR();return!!(e.data?.inRepo&&e.data.authed)}function wR({className:e=``}){return CR()?(0,L.jsx)(`button`,{type:`button`,onClick:pp,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,L.jsx)(Km,{size:15,strokeWidth:2})}):null}var TR=`prompt-control-type petite-caps`,ER=TR,DR=TR,OR=`profile-grid-cell relative flex h-6 cursor-pointer select-none items-center justify-start rounded border border-transparent px-1 text-left text-muted outline-none transition-colors ${ER} 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 kR(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, auto)`}var AR=[`ultra`,`ultracode`],jR=[`low`,`medium`,`high`,`xhigh`,`max`,...AR];function MR(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=jR.indexOf(e),r=jR.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function NR(e){let t=[];for(let n of MR(e)){let e=AR.includes(n)?t.find(e=>AR.includes(e[0])):void 0;e?e.push(n):t.push([n])}return t}function PR(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function FR(e){return JSON.stringify([e.provider,e.model,e.effort])}function IR(e,t){return PR(e).find(e=>FR(e)===t)}function LR(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 RR(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 zR(e,t,n){let r=NR(e),i=e=>r.findIndex(t=>t.includes(e)),a=e.flatMap(e=>e.options.map(t=>({provider:e.id,option:t}))),o=a.findIndex(e=>e.provider===t.provider&&e.option.model===t.model);if(o===-1)return null;let s=a[o],c=s.option.efforts.indexOf(t.effort);if(c===-1)return null;if(n===`Home`||n===`End`||n===`ArrowLeft`||n===`ArrowRight`){let e=n===`Home`?0:n===`End`?s.option.efforts.length-1:c+(n===`ArrowLeft`?-1:1),t=s.option.efforts[e];return t?{provider:s.provider,model:s.option.model,effort:t}:null}let l=a[o+(n===`ArrowUp`?-1:1)];if(!l)return null;let u=i(t.effort),d=l.option.efforts.reduce((e,t)=>e?Math.abs(i(t)-u)<Math.abs(i(e)-u)?t:e:t,void 0);return d?{provider:l.provider,model:l.option.model,effort:d}:null}var BR,VR=!1;function HR(){VR||typeof window>`u`||(VR=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!BR||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),WR())},{capture:!0}))}function UR(e){HR();let t={dismiss:e};return BR=t,()=>{BR===t&&(BR=void 0)}}function WR(){let e=BR;return e?(BR=void 0,e.dismiss(),!0):!1}function GR(e){WR()&&e.preventDefault(),e.stopPropagation()}function KR(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function qR({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=rM,className:f=``}){let[p,m]=(0,I.useState)(!1),h=(0,I.useRef)(p),g=(0,I.useRef)(c),_=(0,I.useRef)(void 0),v=(0,I.useRef)(new Map),y=(0,I.useRef)(void 0),b=(0,I.useMemo)(()=>NR(e),[e]),x=(0,I.useMemo)(()=>e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n})))),[e]),S=l?DR:ER,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=LR(e,t),T=w&&t?.provider&&t.model&&t.effort?FR(t):void 0,E=n?.model||n?.effort?RR(e,n,`Pending profile`):void 0;h.current=p,g.current=c;function D(){h.current=!1,_.current=void 0,m(!1)}(0,I.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,I.useLayoutEffect)(()=>{!c||!p||(_.current?.(),D())},[c,p]),(0,I.useLayoutEffect)(()=>()=>_.current?.(),[]),(0,I.useLayoutEffect)(()=>{T===y.current&&(y.current=void 0)},[T]);function O(e){let t=FR(e);y.current!==t&&(y.current=t,r(e))}function k(t,n){if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key))return;let r=zR(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(FR(r))?.focus())}return(0,L.jsxs)(II,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=UR(D))},children:[(0,L.jsx)(LI,{asChild:!0,disabled:c,children:(0,L.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,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 flex-1 truncate text-left ${S}`,children:RR(e,t,i)}),E&&(0,L.jsx)(eh,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,L.jsx)(xm,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,L.jsx)(RI,{children:(0,L.jsxs)(zI,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${nM} 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,L.jsxs)(BI,{children:[t.label&&(0,L.jsx)(VI,{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,L.jsx)(UI,{value:T,onValueChange:t=>{let n=IR(e,t);n&&O(n)},children:t.options.map(e=>(0,L.jsxs)(`div`,{"data-profile-grid-row":e.model,className:`grid w-max items-center gap-1 py-0.5`,style:{gridTemplateColumns:kR(b.length)},children:[(0,L.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=>{let r=n.find(t=>e.efforts.includes(t)),i=n.reduce((e,t)=>KR(t).length>KR(e).length?t:e);if(!r)return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`invisible cursor-default border border-transparent px-1 text-left font-medium ${S}`,children:KR(i)},i);let a={provider:t.id,model:e.model,effort:r},o=FR(a);return(0,L.jsx)(WI,{value:o,ref:e=>{e?v.current.set(o,e):v.current.delete(o)},onKeyDown:e=>k(e,a),onSelect:e=>{e.preventDefault(),O(a),_.current?.(),D()},"aria-label":`${e.label}, ${KR(r)} effort`,title:`${e.label} › ${KR(r)}`,className:OR,children:(0,L.jsxs)(`span`,{className:`grid`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`invisible col-start-1 row-start-1 font-medium`,children:KR(r)}),(0,L.jsx)(`span`,{className:`col-start-1 row-start-1`,children:KR(r)})]})},r)})]},e.model))}),t!==e.at(-1)&&(0,L.jsx)(KI,{className:`my-1 h-px bg-border`})]},t.id)),x.length===0&&(0,L.jsx)(`div`,{className:`px-2 py-1.5 text-muted/60`,children:`No profiles available`})]})})]})}async function JR(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}if(!YR(e))throw Error(`the browser blocked clipboard access`)}function YR(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.top=`0`,t.style.left=`0`,t.style.opacity=`0`,document.body.append(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;t.select(),t.setSelectionRange(0,e.length);let i=!1;try{i=document.execCommand(`copy`)}catch{i=!1}return t.remove(),r&&n&&(n.removeAllRanges(),n.addRange(r)),i}var XR={claude:`claude auth login`,codex:`codex login`},ZR={claude:`Claude`,codex:`Codex`};function QR(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var $R=(0,I.lazy)(()=>cb(()=>import(`./TerminalPane-BA0mIiPN.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function ez({backend:e,onClose:t,onAuthed:n}){let r=Ve(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(null),c=(0,I.useRef)(!1),l=XR[e],u=ZR[e],d=it({mutationFn:()=>Y.accountLoginStart({backend:e}),onSuccess:e=>{c.current=!1,s(e.attemptId)},onError:e=>Z(`Couldn't start the sign-in terminal: ${e.message.slice(0,80)} — use the command below instead`,{duration:7e3})}),f=nt({queryKey:[`accountLoginStatus`,o],queryFn:()=>Y.accountLoginStatus({attemptId:o}),enabled:!!o,refetchInterval:2e3});(0,I.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}),Z(`Signed in to ${u}`),n();return}Z(`${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&&Y.accountLoginCancel({attemptId:o}).catch(()=>{})}let m=(0,I.useRef)({attempt:null,settled:!1});m.current={attempt:o,settled:c.current},(0,I.useEffect)(()=>()=>{let{attempt:e,settled:t}=m.current;e&&!t&&Y.accountLoginCancel({attemptId:e}).catch(()=>{})},[]);async function h(){try{await JR(l),a(!0),window.setTimeout(()=>a(!1),1500)}catch{Z(`Couldn't copy — select the command and copy it manually`,{duration:6e3})}}let g=it({mutationFn:()=>Y.authStatus(),onSuccess:t=>{if(r.setQueryData([`authStatus`],t),t[e]===`signed-out`){Z(`Still signed out of ${u} — run the command, then retry`,{duration:6e3});return}n()},onError:()=>n()});return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"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,L.jsxs)(xL,{className:`mb-1 text-[14px] font-medium`,children:[`Signed out of `,u]}),o?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`p`,{className:`mb-3 text-[12.5px] leading-relaxed text-muted`,children:[`This terminal is running `,(0,L.jsx)(`code`,{className:`font-mono-keep text-fg/90`,children:l}),` — follow its prompts (it may open your browser). Frizz detects completion automatically.`]}),(0,L.jsx)(`div`,{className:`mb-4 h-[340px] overflow-hidden rounded-lg border border-border bg-[#0d0e10]`,children:(0,L.jsx)(I.Suspense,{fallback:(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-muted`,children:`Opening terminal…`}),children:(0,L.jsx)($R,{slug:o})})}),(0,L.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:(0,L.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,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`Frizz 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,L.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 rounded-lg border border-border bg-panel-2 px-3 py-2`,children:[(0,L.jsx)(`code`,{className:`flex-1 select-all font-mono-keep text-[12.5px] text-fg`,children:l}),(0,L.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,L.jsx)(bm,{size:14,strokeWidth:2,className:`text-green-400`}):(0,L.jsx)(Pm,{size:14,strokeWidth:1.8})})]}),(0,L.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,L.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,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Retry`]}),(0,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function tz({backend:e,onClose:t}){let n=Ve(),r=ZR[e],i=it({mutationFn:()=>Y.accountLogout({backend:e}),onSuccess:i=>{n.setQueryData([`authStatus`],t=>t&&{...t,[e]:i.auth}),i.status===`done`?Z(`Signed out of ${r}`):i.status===`blocked`?Z(`Not signed out — ${i.activeThreads} active ${r} thread${i.activeThreads===1?``:`s`}. Let them finish (or complete them) first.`,{duration:7e3}):Z(`${r} sign-out failed: ${i.detail??`unknown error`}`,{duration:7e3}),t()},onError:e=>{Z(`${r} sign-out failed: ${e.message.slice(0,80)}`,{duration:7e3}),t()}});return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"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,L.jsxs)(xL,{className:`mb-1 text-[14px] font-medium`,children:[`Sign out of `,r,`?`]}),(0,L.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,L.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,L.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,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var nz=_u.options,rz={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},iz={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)`};nz.filter(e=>e!==`plan`).map(e=>({value:e,label:rz[e],title:iz[e]}));var az=[`auto`,`bypassPermissions`].map(e=>({value:e,label:rz[e],title:iz[e]})),oz=[{value:`fable`,label:`Fable`},{value:`opus`,label:`Opus`},{value:`sonnet`,label:`Sonnet`},{value:`haiku`,label:`Haiku`}];new Set([{slug:`gpt-6-astra`,displayName:`GPT-6 Astra`,defaultEffort:`low`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{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`]}].map(e=>e.slug));function sz(e){return e===`plan`?`auto`:e}var cz=[`low`,`medium`,`high`,`xhigh`,`max`],lz=`ultracode`,uz=new Set([`fable`,`opus`,`sonnet`]);function dz(e){return e&&uz.has(e)?[...cz,lz]:[...cz]}var fz={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`,ultracode:`Ultracode`};function pz(e){return fz[e]??e.charAt(0).toUpperCase()+e.slice(1)}function mz(e,t){let n=dz(e).map(e=>({value:e,label:pz(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function hz(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:pz(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function gz(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 _z(e){return[{id:`claude`,label:`Claude Code`,options:oz.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:dz(e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function vz(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`?oz.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?mz(i,{withDefault:!1}):hz(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 yz(){let e=Ve(),t=nt({queryKey:[`dispatchPreferencesGet`],queryFn:()=>Y.dispatchPreferencesGet()}),n=nt({queryKey:[`codexModels`],queryFn:()=>Y.codexModels()}),r=n.data??[],i=it({mutationFn:e=>Y.dispatchPreferenceSet(e),scope:{id:`dispatch-preferences`},onMutate:t=>{let n=e.getQueryData([`dispatchPreferencesGet`]);n&&e.setQueryData([`dispatchPreferencesGet`],gz(n,t))},onError:t=>{e.invalidateQueries({queryKey:[`dispatchPreferencesGet`]}),Z(`Could not save new-thread preference: ${t.message.slice(0,80)}`)}}),a=!!t.data&&!!n.data;return{resolved:(0,I.useMemo)(()=>a?vz(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var bz=`frizz-drafts:v1`,xz=80,Sz=512*1024,Cz=2*1024*1024,wz=new TextEncoder;function Tz(e){return wz.encode(e).byteLength}function Ez(){return{version:1,entries:{}}}function Dz(e){if(!e)return Ez();try{let t=JSON.parse(e);if(!t||typeof t!=`object`||t.version!==1)return Ez();let n=t.entries;if(!n||typeof n!=`object`||Array.isArray(n))return Ez();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||Tz(t.value)>Sz||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return Ez()}}function Oz(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&Tz(e.value)<=Sz).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=xz)break;n[e]=r,Tz(JSON.stringify({version:1,entries:n}))>Cz&&delete n[e]}return{version:1,entries:n}}var kz=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(`frizz-drafts:v1`)??null}catch{}this.snapshot=Oz(Dz(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(bz,JSON.stringify(Oz(e)))}catch{}for(let e of this.listeners)e()}};function Az(e){return encodeURIComponent(e||`unresolved-project`)}var jz={dispatch:e=>`dispatch:${Az(e)}:new`,followUp:(e,t,n)=>`followup:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${Az(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,question:(e,t,n,r)=>`question:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}`};function Mz(){return Zt(X).board?.projectDir}function Nz(e){return Zt(X).board?.threads.find(t=>t.id===e)?.sessionId}function Pz(e){let t=(0,I.useCallback)(()=>kz.get(e),[e]);return[(0,I.useSyncExternalStore)(kz.subscribe,t,t),(0,I.useCallback)(t=>kz.set(e,t),[e]),(0,I.useCallback)(()=>kz.clear(e),[e])]}function Fz(e){let t=(0,I.useCallback)(()=>JSON.stringify(Object.fromEntries(e.map(e=>[e,kz.get(e)]))),[e.join(`\0`)]),n=(0,I.useSyncExternalStore)(kz.subscribe,t,t);return(0,I.useMemo)(()=>new Map(Object.entries(JSON.parse(n))),[n])}function Iz({autoFocus:e,onDispatched:t}){let{resolved:n,codexList:r,loadError:i,saveProfile:a}=yz(),o=CR(),s=Mz(),[c,l,u]=Pz(jz.dispatch(s)),d=jz.dispatch(s),f=(0,I.useRef)(``),[p,m]=(0,I.useState)(null),h=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4}),[g,_]=(0,I.useState)(null),[v,y]=(0,I.useState)(null),b=(0,I.useRef)(null),x=it({mutationFn:e=>Y.dispatch(e),onMutate:()=>Z(`Starting thread…`,{spinner:!0,sticky:!0}),onSuccess:e=>{m(null),t?.(),Z(`Thread started`,{link:{label:`Open thread`,slug:e.slug}})},onError:(e,t)=>{kz.get(d)||l(f.current||t.prompt),m(null);let n=/^AUTH_REQUIRED:(claude|codex)$/.exec(e.message);if(n){b.current=t,_(n[1]),Z(`Signed out of ${n[1]===`claude`?`Claude`:`Codex`}`,{duration:3e3});return}Z(`Dispatch failed: ${e.message.slice(0,80)}`)}});function S(e){f.current=c,u(),m(e.prompt),x.mutate(e)}function C(){if(!c.trim()||!n)return;let e=QR(c);if(e){u(),e===`login`?(b.current=null,_(n.backend)):y(n.backend);return}if(!n.modelAvailable){Z(`Saved model is unavailable — choose a model before starting the thread`);return}if(!n.effortAvailable){Z(`Saved reasoning level is unavailable for this model — choose another level`);return}let t={prompt:c.trim(),model:n.model,backend:n.backend,effort:n.effort};if(h.data?.[n.backend]===`signed-out`){b.current=t,_(n.backend);return}S(t)}let w=(0,I.useMemo)(()=>n?(0,L.jsx)(qR,{groups:_z(r),value:{provider:n.backend,model:n.model,effort:n.effort},onValueChange:e=>a({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),ariaLabel:`Model and effort`,title:n.modelAvailable&&n.effortAvailable?`Model and reasoning effort`:`Saved model or reasoning effort unavailable — choose a supported pair`,className:`max-w-[min(21rem,72vw)]`}):(0,L.jsx)(qR,{groups:[],value:void 0,onValueChange:()=>{},placeholder:i?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort loading`,disabled:!0}),[n,r,i,a]);return(0,L.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,L.jsx)(bR,{surface:`newComposer`,autoFocus:e,value:c,onChange:l,onSubmit:C,placeholder:`Describe the task…`,minHeight:96,maxHeight:340,busy:x.isPending,footer:w,leftAction:o?(0,L.jsx)(wR,{}):void 0}),x.isError&&(0,L.jsx)(`span`,{className:`px-0.5 text-[11px] text-red-400 truncate`,children:x.error.message}),p&&(0,L.jsxs)(`div`,{"data-pending-dispatch":!0,role:`status`,className:`rounded-lg border border-border bg-panel-2 px-3 py-2.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted`,children:[(0,L.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 animate-pulse rounded-full bg-accent`,"aria-hidden":`true`}),(0,L.jsx)(`span`,{children:`Starting thread…`})]}),(0,L.jsx)(`p`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap text-[12px] leading-relaxed text-fg`,children:p})]}),g&&(0,L.jsx)(ez,{backend:g,onClose:()=>_(null),onAuthed:()=>{let e=b.current;b.current=null,_(null),e&&S(e)}}),v&&(0,L.jsx)(tz,{backend:v,onClose:()=>y(null)})]})}function Lz({onClose:e}){let t=(0,I.useRef)(null),n=(0,I.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);return(0,I.useEffect)(()=>()=>{let e=n.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]),(0,L.jsx)(iL,{open:!0,onOpenChange:t=>{t||e()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{ref:t,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:GR,onCloseAutoFocus:e=>{e.preventDefault();let t=n.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault(),t.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 max-[700px]:top-[calc(env(safe-area-inset-top)+56px)] max-[700px]:w-[calc(100vw-24px)] max-[700px]:max-w-none max-[700px]:translate-y-0`,children:[(0,L.jsx)(xL,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),(0,L.jsx)(Iz,{autoFocus:!0,onDispatched:e})]})]})})}function Rz({children:e,onClose:t}){return(0,L.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 zz=`-mx-1.5 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`,Bz={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},Vz={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function Hz(e){return e===`claude`||e===`codex`?Vz[e]:void 0}function Uz({backend:e,className:t}){let n=Hz(e);return n?(0,L.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${Bz[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,L.jsx)(Wz,{}):(0,L.jsx)(Gz,{})}):null}function Wz(){return(0,L.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,L.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 Gz(){return(0,L.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,L.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`})})}typeof window<`u`&&window.document&&window.document.createElement;function Kz(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function qz(e,t=[]){let n=[];function r(t,r){let i=I.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=I.useMemo(()=>o,Object.values(o));return(0,L.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=I.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=>I.createContext(e));return function(n){let r=n?.[e]||t;return I.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Jz(i,...t)]}function Jz(...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 I.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var Yz=`DismissableLayer`,Xz=`dismissableLayer.update`,Zz=`dismissableLayer.pointerDownOutside`,Qz=`dismissableLayer.focusOutside`,$z,eB=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),tB=I.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=I.useContext(eB),[d,f]=I.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=I.useState({}),h=kD(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=I.useRef(!1),C=aB(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:S,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:I.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return x&&!t},[u.branches,x])}),w=oB(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=qD(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return I.useEffect(()=>{if(T)return p.addEventListener(`keydown`,E,{capture:!0}),()=>p.removeEventListener(`keydown`,E,{capture:!0})},[p,T,E]),I.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&($z=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),sB(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=$z))}},[d,p,n,u]),I.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),sB())},[d,u]),I.useEffect(()=>{let e=()=>m({});return document.addEventListener(Xz,e),()=>document.removeEventListener(Xz,e)},[]),(0,L.jsx)(GD.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:Kz(e.onFocusCapture,w.onFocusCapture),onBlurCapture:Kz(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:Kz(e.onPointerDownCapture,C.onPointerDownCapture)})});tB.displayName=Yz;var nB=`DismissableLayerBranch`,rB=I.forwardRef((e,t)=>{let n=I.useContext(eB),r=I.useRef(null),i=kD(t,r);return I.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,L.jsx)(GD.div,{...e,ref:i})});rB.displayName=nB;var iB=()=>!0;function aB(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=iB}=t,s=qD(e),c=I.useRef(!1),l=I.useRef(!1),u=I.useRef(new Map),d=I.useRef(()=>{});return I.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||cB(Zz,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 oB(e,t=globalThis?.document){let n=qD(e),r=I.useRef(!1);return I.useEffect(()=>{let e=e=>{e.target&&!r.current&&cB(Qz,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 sB(){let e=new CustomEvent(Xz);document.dispatchEvent(e)}function cB(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?KD(i,a):i.dispatchEvent(a)}var lB=`focusScope.autoFocusOnMount`,uB=`focusScope.autoFocusOnUnmount`,dB={bubbles:!1,cancelable:!0},fB=`FocusScope`,pB=I.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=I.useState(null),l=qD(i),u=qD(a),d=I.useRef(null),f=kD(t,c),p=I.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;I.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:bB(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||bB(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&bB(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]),I.useEffect(()=>{if(s){xB.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(lB,dB);s.addEventListener(lB,l),s.dispatchEvent(t),t.defaultPrevented||(mB(wB(gB(s)),{select:!0}),document.activeElement===e&&bB(s))}return()=>{s.removeEventListener(lB,l),setTimeout(()=>{let t=new CustomEvent(uB,dB);s.addEventListener(uB,u),s.dispatchEvent(t),t.defaultPrevented||bB(e??document.body,{select:!0}),s.removeEventListener(uB,u),xB.remove(p)},0)}}},[s,l,u,p]);let m=I.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]=hB(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&bB(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&bB(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,L.jsx)(GD.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});pB.displayName=fB;function mB(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(bB(r,{select:t}),document.activeElement!==n)return}function hB(e){let t=gB(e);return[_B(t,e),_B(t.reverse(),e)]}function gB(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 _B(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):vB(r,{upTo:t})))return r}function vB(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 yB(e){return e instanceof HTMLInputElement&&`select`in e}function bB(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&yB(e)&&t&&e.select()}}var xB=SB();function SB(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=CB(e,t),e.unshift(t)},remove(t){e=CB(e,t),e[0]?.resume()}}}function CB(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function wB(e){return e.filter(e=>e.tagName!==`A`)}var TB=`Popper`,[EB,DB]=qz(TB),[OB,kB]=EB(TB),AB=e=>{let{__scopePopper:t,children:n}=e,[r,i]=I.useState(null),[a,o]=I.useState(void 0);return(0,L.jsx)(OB,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};AB.displayName=TB;var jB=`PopperAnchor`,MB=I.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=kB(jB,n),o=I.useRef(null),s=a.onAnchorChange,c=kD(t,I.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=I.useRef(null);I.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&HB(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(GD.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});MB.displayName=jB;var NB=`PopperContent`,[PB,FB]=EB(NB),IB=I.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=kB(NB,n),[_,v]=I.useState(null),y=kD(t,v),[b,x]=I.useState(null),S=AA(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,k={padding:E,boundary:D.filter(BB),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:N,middlewareData:P}=vA({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>iA(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[bA({mainAxis:i+w,alignmentAxis:o}),c&&xA({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?SA():void 0,...k}),c&&CA({...k}),wA({...k,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&&EA({element:b,padding:s}),VB({arrowWidth:C,arrowHeight:w}),f&&TA({strategy:`referenceHidden`,...k,boundary:O?k.boundary:void 0})]}),ee=g.setPlacementState;JD(()=>(ee(M),()=>{ee(void 0)}),[M,ee]);let[F,te]=HB(M),ne=qD(m);JD(()=>{N&&ne?.()},[N,ne]);let re=P.arrow?.x,ie=P.arrow?.y,ae=P.arrow?.centerOffset!==0,[oe,se]=I.useState();return JD(()=>{_&&se(window.getComputedStyle(_).zIndex)},[_]),(0,L.jsx)(`div`,{ref:A.setFloating,"data-radix-popper-content-wrapper":``,style:{...j,transform:N?j.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[P.transformOrigin?.x,P.transformOrigin?.y].join(` `),...P.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,L.jsx)(PB,{scope:n,placedSide:F,placedAlign:te,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,L.jsx)(GD.div,{"data-side":F,"data-align":te,...h,ref:y,style:{...h.style,animation:N?void 0:`none`}})})})});IB.displayName=NB;var LB=`PopperArrow`,RB={top:`bottom`,right:`left`,bottom:`top`,left:`right`},zB=I.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=FB(LB,n),a=RB[i.placedSide];return(0,L.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,L.jsx)(kA,{...r,ref:t,style:{...r.style,display:`block`}})})});zB.displayName=LB;function BB(e){return e!==null}var VB=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]=HB(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 HB(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var UB=AB,WB=MB,GB=IB,KB=zB;function qB(e,t){return I.useReducer((e,n)=>t[e][n]??e,e)}var JB=e=>{let{present:t,children:n}=e,r=YB(t),i=typeof n==`function`?n({present:r.isPresent}):I.Children.only(n),a=ZB(r.ref,$B(i));return typeof n==`function`||r.isPresent?I.cloneElement(i,{ref:a}):null};JB.displayName=`Presence`;function YB(e){let[t,n]=I.useState(),r=I.useRef(null),i=I.useRef(e),a=I.useRef(`none`),o=I.useRef(void 0),[s,c]=qB(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return I.useEffect(()=>{s===`mounted`?(a.current=o.current??QB(r.current),o.current=void 0):a.current=`none`},[s]),JD(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=QB(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]),JD(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=QB(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=QB(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:I.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=QB(t)}else r.current=null;n(e)},[])}}function XB(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ZB(...e){let t=I.useRef(e);return t.current=e,I.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=XB(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():XB(n[e],null)}}},[])}function QB(e){return e?.animationName||`none`}function $B(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 eV=`Popover`,[tV,nV]=qz(eV,[DB]),rV=DB(),[iV,aV]=tV(eV),oV=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=rV(t),c=I.useRef(null),[l,u]=I.useState(!1),[d,f]=lj({prop:r,defaultProp:i??!1,onChange:a,caller:eV});return(0,L.jsx)(UB,{...s,children:(0,L.jsx)(iV,{scope:t,contentId:mO(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:I.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:I.useCallback(()=>u(!0),[]),onCustomAnchorRemove:I.useCallback(()=>u(!1),[]),modal:o,children:n})})};oV.displayName=eV;var sV=`PopoverAnchor`,cV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(sV,n),a=rV(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return I.useEffect(()=>(o(),()=>s()),[o,s]),(0,L.jsx)(WB,{...a,...r,ref:t})});cV.displayName=sV;var lV=`PopoverTrigger`,uV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(lV,n),a=rV(n),o=kD(t,i.triggerRef),s=(0,L.jsx)(GD.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":TV(i.open),...r,ref:o,onClick:Kz(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(WB,{asChild:!0,...a,children:s})});uV.displayName=lV;var dV=`PopoverPortal`,[fV,pV]=tV(dV,{forceMount:void 0}),mV=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=aV(dV,t);return(0,L.jsx)(fV,{scope:t,forceMount:n,children:(0,L.jsx)(JB,{present:n||a.open,children:(0,L.jsx)(ej,{asChild:!0,container:i,children:r})})})};mV.displayName=dV;var hV=`PopoverContent`,gV=I.forwardRef((e,t)=>{let n=pV(hV,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=aV(hV,e.__scopePopover);return(0,L.jsx)(JB,{present:r||a.open,children:a.modal?(0,L.jsx)(vV,{...i,ref:t}):(0,L.jsx)(yV,{...i,ref:t})})});gV.displayName=hV;var _V=MD(`PopoverContent.RemoveScroll`),vV=I.forwardRef((e,t)=>{let n=aV(hV,e.__scopePopover),r=I.useRef(null),i=kD(t,r),a=I.useRef(!1);return I.useEffect(()=>{let e=r.current;if(e)return uN(e)},[]),(0,L.jsx)(yP,{as:_V,allowPinchZoom:!0,children:(0,L.jsx)(bV,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Kz(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Kz(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:Kz(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),yV=I.forwardRef((e,t)=>{let n=aV(hV,e.__scopePopover),r=I.useRef(!1),i=I.useRef(!1);return(0,L.jsx)(bV,{...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()}})}),bV=I.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=aV(hV,n),p=rV(n);return _M(),(0,L.jsx)(pB,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(tB,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(GB,{"data-state":TV(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)`}})})})}),xV=`PopoverClose`,SV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(xV,n);return(0,L.jsx)(GD.button,{type:`button`,...r,ref:t,onClick:Kz(e.onClick,()=>i.onOpenChange(!1))})});SV.displayName=xV;var CV=`PopoverArrow`,wV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=rV(n);return(0,L.jsx)(KB,{...i,...r,ref:t})});wV.displayName=CV;function TV(e){return e?`open`:`closed`}var EV=oV,DV=cV,OV=uV,kV=mV,AV=gV;function jV({modal:e=!1,...t}){return(0,L.jsx)(EV,{modal:e,...t})}var MV=OV,NV=DV;function PV({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,L.jsx)(kV,{children:(0,L.jsx)(AV,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${nM} ${oM} rounded-lg outline-none ${i}`,...a,children:e})})}var FV=3e4,IV=45e3;function LV(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}var RV=`text-[9px]`,zV={claude:`text-fg/75! size-[14px]! translate-y-0!`,codex:`text-fg/75! size-[12.75px]! translate-y-0!`};function BV(){let e=nt({queryKey:[`quota`],queryFn:()=>Y.quota(),staleTime:1e4}),t=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4});return[`claude`,`codex`].some(n=>VV(e.data?.[n],t.data?.[n],e.isLoading))}function VV(e,t,n){return t===`signed-out`||!e&&n?!1:!!e&&e.status===`ok`&&e.windows.length>0}function HV(){let e=Ve(),t=(0,I.useRef)(null),[n,r]=(0,I.useState)(!1),i=nt({queryKey:[`quota`],queryFn:({signal:e})=>Y.quota(void 0,{signal:LV(FV,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=nt({queryKey:[`authStatus`],queryFn:({signal:e})=>Y.authStatus(void 0,{signal:LV(FV,e)}),refetchInterval:12e4,staleTime:3e4,refetchOnWindowFocus:!0}),o=n=>{if(t.current)return;r(!0);let i=Promise.all([Y.quota({force:n===`claude`},{signal:LV(IV)}).then(t=>e.setQueryData([`quota`],t)),e.refetchQueries({queryKey:[`authStatus`]})]).then(()=>{}).catch(()=>{}).finally(()=>{t.current=null,r(!1)});t.current=i};return(0,L.jsxs)(`div`,{"data-quota-bar":!0,className:`flex shrink-0 items-center gap-3 ${RV}`,children:[(0,L.jsx)(UV,{backend:`claude`,quota:i.data?.claude,auth:a.data?.claude,email:a.data?.emails?.claude,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`claude`)}),(0,L.jsx)(UV,{backend:`codex`,quota:i.data?.codex,auth:a.data?.codex,email:a.data?.emails?.codex,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`codex`)})]})}function UV({backend:e,quota:t,auth:n,email:r,loading:i,fetching:a,onRecheck:o}){let s=ZR[e];if(!VV(t,n,i))return null;let c=WV(100-KV(t.windows).usedPercent);return(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(jV,{onOpenChange:e=>{e&&o()},children:[(0,L.jsx)(MV,{asChild:!0,children:(0,L.jsxs)(`button`,{type:`button`,"aria-label":`${s} quota: ${c}% 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:[(0,L.jsx)(Uz,{backend:e,className:zV[e]}),(0,L.jsxs)(`span`,{className:`tabular-nums ${qV(c)}`,children:[c,`%`]})]})}),(0,L.jsxs)(PV,{side:`bottom`,align:`start`,className:`w-[min(15rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,children:[(0,L.jsxs)(`div`,{className:`mb-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,L.jsx)(Uz,{backend:e}),(0,L.jsx)(`span`,{children:s}),t?.planType&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,JV(t.planType),` plan`]}),a&&(0,L.jsx)(eh,{size:11,className:`animate-spin text-muted/60`,"aria-label":`Rechecking`})]}),r&&(0,L.jsx)(`div`,{"data-quota-account":!0,className:`truncate text-muted/70 select-text`,title:r,children:r})]}),(0,L.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[t.windows.map(e=>{let t=WV(100-e.usedPercent),n=YV(e);return(0,L.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,L.jsx)(`span`,{className:`text-muted/80`,children:e.label}),(0,L.jsxs)(`span`,{className:`flex items-center gap-2 tabular-nums`,children:[(0,L.jsxs)(`span`,{className:qV(t),children:[t,`% left`]}),n&&(0,L.jsxs)(`span`,{className:`text-muted/55`,children:[`resets `,n]})]})]},e.key)}),t.detail&&(0,L.jsx)(`li`,{className:`pt-1 text-muted/55`,children:t.detail})]})]})]})})}function WV(e){return Math.max(0,Math.min(100,Math.round(e)))}var GV=25;function KV(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function qV(e){return e<=8?`text-red-400`:e<=GV?`text-accent`:`text-fg/70`}function JV(e){return e&&e[0].toUpperCase()+e.slice(1)}function YV(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 XV=`frizz:supervisor-status-wake`,ZV=`frizz:reload-after-update-restart`,QV=`frizz:update-restart-from-version`;function $V(e,t){return t.version===e?{kind:`previous-kept`}:{kind:`successor-failed`,version:t.version}}function eH(e){if(e.kind===`previous-kept`)return{summary:`Frizz kept running the previous version`,detail:`Frizz kept running the previous version, and your threads are unaffected.`};let t=e.version?`Frizz ${e.version}`:`The new version of Frizz`;return{summary:`${t} failed to start`,detail:`${t} came up but could not start its board, and the previous version is gone. Restart Frizz from the terminal (npx frizz) and check its log for the reason.`}}function tH(e){return e?.artifactDigest??e?.version??null}function nH(e,t){if(e===null||t?.state!==`ready`)return!1;let n=tH(t);return n!==null&&n!==e}var rH=3*6e4,iH={silentSince:null,silentForMs:0,stalled:!1};function aH(e,t,n=rH){if(!t.restarting||t.answered)return iH;let r=e.silentSince??t.at,i=Math.max(0,t.at-r);return{silentSince:r,silentForMs:i,stalled:i>=n}}function oH(e,t){return e.ackedAt!==null&&t.requestedAt>=e.ackedAt}function sH(e,t){return e.attempt&&!(oH(e.attempt,t)&&cH(e.attempt,t))?e:{state:t.state,message:t.message??null,attempt:null}}function cH(e,t){if(t.state!==`ready`)return!0;let n=t.artifactDigest??t.version??null;return e.build!=null&&n!==null&&n!==e.build}function lH(e,t){return t.state===`ready`&&e.attempt===null}function uH(e){return e!==null}function dH(e){return e?.updateRestart===!0&&e.updateAvailable!==!1}function fH(e){return e?.dev===!0}async function pH(e=fetch){try{let t=await e(`/_frizz/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 mH(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(`Frizz 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??`Frizz did not become ready`);return r}function hH(e=fetch){return mH(`/_frizz/control/restart`,e)}function gH(e=fetch){return mH(`/_frizz/control/update-restart`,e)}var _H=8e3,vH=500,yH=[`supervisorStatus`];function bH(e,t){return e===`restarting`||t?vH:_H}var xH=rt({queryKey:yH,queryFn:async()=>{let e=Date.now(),t=await pH();return t?{...t,requestedAt:e}:null},refetchInterval:e=>bH(e.state.data?.state,X.controlPlaneRestartAttempt!==null),staleTime:e=>bH(e.state.data?.state,X.controlPlaneRestartAttempt!==null)});function SH(){return nt(xH)}var CH=null;function wH(e){CH||(CH=e,window.addEventListener(XV,()=>{e.refetchQueries({queryKey:yH,exact:!0})}))}function TH(e,t){let n=e=>{let t=e&&/^v?(\d+)\.(\d+)\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.exec(e);return t?[Number(t[1]),Number(t[2])]:null},r=n(e),i=n(t);return r!==null&&i!==null&&(r[0]!==i[0]||r[1]!==i[1])}var EH=`Install the latest version of Frizz. Your running threads will not be affected.`,DH=`A newer version of Frizz is available. Your running threads will not be affected.`,OH=`Restart Frizz. Your running threads will not be affected.`,kH=`fixed left-3 right-3 top-12 z-50 w-auto text-left font-sans sm:absolute sm:right-auto sm:-left-[17px] sm:top-[calc(100%+0.65rem)]`,AH=`absolute -top-[7px] left-4 h-3 w-3 rotate-45 border-l border-t bg-elevated`,jH=`sm:w-[min(23rem,calc(100vw-1.5rem))]`,MH=`sm:w-[min(34rem,calc(100vw-1.5rem))]`,NH=`rounded-xl bg-elevated p-3.5 shadow-xl shadow-black/45`;function PH({open:e,update:t,version:n,updateVersion:r}){if(!e)return null;let i=t?`Update Frizz`:`Restart Frizz`,a=t?r:void 0;return(0,L.jsxs)(`div`,{id:`update-restart-popover`,role:`tooltip`,"aria-label":i,className:`${kH} ${jH} ${NH} border border-border-strong`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${AH} border-border-strong`}),(0,L.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-fg/10 text-fg`,children:(0,L.jsx)(ph,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,L.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:i}),n&&(0,L.jsx)(`span`,{className:`font-mono text-[11px] leading-snug text-muted`,children:a?`${n} → ${a}`:n})]})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:t?a?DH:EH:OH})]})}var FH={kind:`previous-kept`};function IH({update:e,message:t,outcome:n=FH,onDismiss:r}){return(0,L.jsxs)(`div`,{role:`alert`,className:`${kH} ${MH} ${NH} border border-red-500/45`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${AH} border-red-500/45`}),(0,L.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-red-500/15 text-red-300`,children:(0,L.jsx)(Th,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:e?`Update failed`:`Restart failed`}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:r,className:`-mr-1 ml-auto 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 focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(Dh,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:eH(n).detail}),(0,L.jsx)(`pre`,{className:`relative mt-2.5 max-h-64 overflow-y-auto whitespace-pre-wrap break-words rounded-md border border-border bg-panel px-2.5 py-2 font-mono text-[11px] leading-relaxed text-fg/70`,children:t})]})}function LH({update:e,busy:t,version:n,updateVersion:r,onFocus:i,onBlur:a,onClick:o}){return(0,L.jsxs)(`button`,{type:`button`,"aria-describedby":`update-restart-popover`,"aria-label":e?`Update Frizz`:`Restart Frizz`,disabled:t,"aria-busy":t||void 0,className:`relative ${zz}`,onFocus:i,onBlur:a,onClick:o,children:[(0,L.jsx)(ph,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0}),e&&!t&&TH(n,r)&&(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-[2px] top-[2px] h-[4px] w-[4px] rounded-full bg-accent`})]})}function RH(){let e=Zt(X),[t,n]=(0,I.useState)(!1),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)(),l=(0,I.useRef)(null),u=(0,I.useRef)(null),d=SH().data??null,f=dH(d),p={version:d?.version,updateVersion:d?.updateVersion};if(!uH(d))return null;let m=l.current!==null&&e.controlPlaneState===`failed`,h=m?e.controlPlaneMessage??`Frizz did not become ready`:void 0,g=a??h,_=g&&g!==s?g:void 0,v=!a&&m&&l.current?$V(l.current.version,{version:d?.version}):FH,y=async()=>{if(r)return;l.current={version:d?.version},n(!1),i(!0),o(void 0),c(void 0);let e=`${window.location.pathname}${window.location.search}${window.location.hash}`;f&&(X.controlPlaneState=`restarting`,X.controlPlaneMessage=null,X.controlPlaneRestartAttempt={startedAt:Date.now(),ackedAt:null,build:tH(d)});try{if(f?await gH():await hH(),f){sessionStorage.setItem(ZV,e),l.current.version?sessionStorage.setItem(QV,l.current.version):sessionStorage.removeItem(QV);let t=X.controlPlaneRestartAttempt;t&&(X.controlPlaneRestartAttempt={...t,ackedAt:Date.now()}),window.dispatchEvent(new Event(XV)),i(!1)}else window.location.replace(e)}catch(e){f&&(X.controlPlaneRestartAttempt=null,X.controlPlaneState=`ready`,X.controlPlaneMessage=null);let t=e.message.slice(0,140);i(!1),o(t),Z(`${f?`Update & Restart`:`Restart Frizz`} failed`)}};return(0,L.jsxs)(`div`,{ref:u,className:`relative`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[(0,L.jsx)(LH,{update:f,busy:r,version:p.version,updateVersion:p.updateVersion,onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:()=>void y()}),_&&(0,L.jsx)(IH,{update:f,message:_,outcome:v,onDismiss:()=>c(_)}),(0,L.jsx)(PH,{open:t&&!_,update:f,version:p.version,updateVersion:p.updateVersion})]})}function zH(){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function BH({text:e,title:t,className:n}){return(0,L.jsx)(`span`,{dir:`rtl`,className:`block min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${n??``}`,title:t,children:(0,L.jsx)(`span`,{dir:`ltr`,className:`[unicode-bidi:isolate]`,children:e})})}function VH(){let e=ZC(),t=bW(e),n=BV(),r=e?.githubRepo??null,i=t.state===`verified`?t.label:t.state===`local`?t.name:null,a=t.state===`verified`?`Project: ${t.label}`:t.state===`local`?`Project: ${t.name}; local repository with no git remote`:t.state===`loading`?`Project identity loading`:`Project identity unavailable`;return(0,L.jsxs)(`div`,{"data-status-row":!0,className:`mb-2.5 flex min-w-0 items-center gap-3 text-[12px]`,children:[(0,L.jsx)(Pb,{to:`/`,title:`All projects`,"aria-label":`All projects`,className:`${zz} -ml-px`,children:(0,L.jsx)(Jm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(zH,{}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:zz,onClick:()=>X.showSettings=!0,children:(0,L.jsx)(_h,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(RH,{}),n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(zH,{}),(0,L.jsx)(HV,{})]}),(0,L.jsx)(`span`,{className:`ml-auto flex min-w-0 items-center`,"data-project-identity-state":t.state,"aria-label":a,"aria-busy":t.state===`loading`||void 0,children:i&&r?(0,L.jsx)(`a`,{href:`https://github.com/${r}`,target:`_blank`,rel:`noopener`,title:`Open ${i} on GitHub`,"aria-label":`Open ${i} on GitHub`,className:`block min-w-0 rounded-sm font-semibold text-fg/90 underline-offset-2 outline-none transition-colors hover:text-fg hover:underline focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(BH,{text:i})}):i?(0,L.jsx)(BH,{text:i,title:i,className:`font-semibold text-fg/90`}):(0,L.jsx)(`span`,{className:`identity-placeholder w-24`,"aria-hidden":`true`})})]})}var HH=qt({at:{}}),UH=12e3,WH=new Map;function GH(e,t=Date.now()){HH.at[e]=t;let n=WH.get(e);n!==void 0&&clearTimeout(n),WH.set(e,setTimeout(()=>{WH.delete(e),delete HH.at[e]},UH))}function KH(e){let t=WH.get(e);t!==void 0&&(clearTimeout(t),WH.delete(e)),delete HH.at[e]}function qH(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 JH(){return Zt(HH).at}function YH(e,t,n=Date.now()){return t===void 0||!qH(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function XH(e){let t=JH();return(0,I.useMemo)(()=>e.map(e=>YH(e,t[e.id])),[e,t])}var ZH=0;function QH(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(ZH+=1,`browser-${Date.now()}-${ZH}`)}function $H({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var eU=new Map;function tU(e,t){let n=(eU.get(e)??Promise.resolve()).then(t,t);return eU.set(e,n.then(()=>{},()=>{})),n}var nU=[300,800,1800,3500],rU=12e4,iU=e=>new Promise(t=>{setTimeout(t,e)});async function aU(e,t,n=iU){for(let r=0;;r++){try{await e()}catch(e){if(r>=nU.length||!gf(e))throw e;t(),await n(nU[r]);continue}t();return}}function oU(e,t,n,r,i,a=rU){let o=new AbortController,s=setTimeout(()=>o.abort(Error(`Frizz did not answer this send`)),a);return Y.followUp({slug:e,sessionId:Yp(X.board,e)?.sessionId??``,message:t,deliveryId:n,freshProcess:r,interrupt:i},{signal:o.signal}).finally(()=>clearTimeout(s))}function sU(e,t,n,r,i){return aU(()=>oU(e,t,n,r,i),()=>GH(e))}function cU(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=QH();return $H({optimistic:()=>{r.onOptimistic?.(),hw(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),GH(t),Y.markRead({slug:t}).catch(()=>{})},request:()=>tU(t,()=>sU(t,i,a,r.freshProcess,r.interrupt)),success:()=>r.onSuccess?.(),failure:n=>{gw(e,t,i,a),KH(t),r.onRollback?.(),Z(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,160)}`)}}),!0}function lU(e){let t=Ve(),[n,r]=(0,I.useState)(0);return{submit:(0,I.useCallback)((n,i={})=>cU(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 uU(e,t){return new Promise(n=>{cU(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{Z(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}function dU(e){let t=/^([A-Za-z0-9][\w.-]*)\/([A-Za-z0-9][\w.-]*)#(\d+)$/.exec(e.trim());return t?`https://github.com/${t[1]}/${t[2]}/pull/${t[3]}`:null}var fU=`Waiting for an external update.`;function pU(e){let t=new Set;return e.flatMap(e=>{if(e.kind!==`pr`)return[];let n=e.value.trim();return!n||t.has(n)?[]:(t.add(n),[{ref:n,url:dU(n)}])})}function mU(e){let t=(e.body??``).split(/\n\s*\n/).map(e=>e.trim()).find(Boolean);return t?_U(hU(t.replace(/\s*\n\s*/g,` `))):null}function hU(e){if(e.length<=gU)return e;let t=e.slice(0,gU),n=t.lastIndexOf(` `);return`${(n>gU/2?t.slice(0,n):t).replace(/[.,;:]$/,``)}…`}var gU=240;function _U(e){let t=(e.split(/\s/,1)[0]??``).replace(/[.,:;]+$/,``);return/[^a-zA-Z]/.test(t)||/[A-Z]/.test(t.slice(1))||vU.has(t)?e:e.charAt(0).toUpperCase()+e.slice(1)}var vU=new Set([`npm`,`npx`,`pnpm`,`nub`,`nubx`,`gh`,`git`,`node`,`bun`,`tsc`,`vite`,`curl`,`ssh`]);function yU(e){return e&&xU(e)||null}var bU=new Set([...rl,`shells`,`agents`,`timers`,`prs`,`for`,`title`]);function xU(e){return e.split(`
|
|
199
|
+
`+e.slice(r)),requestAnimationFrame(()=>t.setSelectionRange(n+1,n+1)))})}e.key===`Escape`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),t.blur())}return(0,L.jsxs)(`div`,{className:`group relative rounded-xl border bg-bg transition-colors focus-within:border-accent ${v?`border-dashed border-accent`:`border-border`}`,onDragOver:e=>{[...e.dataTransfer.items].some(e=>e.kind===`file`)&&(e.preventDefault(),y(!0))},onDragLeave:()=>y(!1),onDrop:e=>{e.preventDefault(),y(!1),O(e.dataTransfer.files)},children:[v&&(0,L.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`}),se&&(0,L.jsx)(`div`,{ref:le,"data-slash-menu":!0,className:`absolute bottom-full left-0 right-0 z-20 mb-1.5 max-h-56 overflow-y-auto rounded-lg border border-border bg-bg py-1 shadow-lg`,children:oe.map((e,t)=>(0,L.jsxs)(`button`,{type:`button`,"data-suggest-index":t,onMouseDown:e=>e.preventDefault(),onClick:()=>ue(e),onMouseEnter:()=>ne(t),className:`flex w-full items-baseline gap-2 px-3.5 py-1.5 text-left ${t===te?`bg-panel-2`:``}`,children:[(0,L.jsxs)(`span`,{className:`shrink-0 text-[12px] font-medium text-fg`,children:[`/`,e.name]}),e.description&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-muted`,children:e.description}),ce.length>0&&(0,L.jsxs)(`span`,{className:`ml-auto grid shrink-0 text-[10px]`,children:[ce.map(e=>(0,L.jsx)(`span`,{"aria-hidden":!0,className:`petite-caps invisible col-start-1 row-start-1`,children:e},e)),(0,L.jsx)(`span`,{className:`petite-caps col-start-1 row-start-1 text-right text-muted/70`,children:e.source?vR[e.source]:``})]})]},e.name))}),(0,L.jsxs)(`div`,{className:`relative`,children:[A&&(0,L.jsx)(`div`,{ref:g,"aria-hidden":!0,"data-composer-context-backdrop":!0,className:`pointer-events-none absolute inset-0 select-none overflow-hidden whitespace-pre-wrap [overflow-wrap:break-word] px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${fe?`pr-[6.6875rem]`:`pr-20`}`} text-[13px] leading-relaxed text-transparent`,children:A}),(0,L.jsx)(`textarea`,{id:a,ref:h,onScroll:A?j:void 0,"data-surface":r,"data-claims-escape":!0,value:S,autoFocus:c,disabled:l,onChange:e=>E(e.target.value),onKeyDown:pe,onPaste:e=>{let t=[...e.clipboardData.items].filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(Boolean);t.length&&(e.preventDefault(),O(t))},placeholder:i,rows:1,spellCheck:!1,style:{minHeight:o,maxHeight:s},className:`relative block w-full resize-none bg-transparent px-3.5 ${u?`py-2.5 pb-3`:`py-2.5 ${fe?hR:gR}`} text-[13px] leading-relaxed text-fg outline-none placeholder:text-muted scrollbar-none disabled:opacity-60`})]}),C.length>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5 px-3 pb-2 ${fe?`pr-[6.6875rem]`:`pr-20`}`,children:C.map((e,t)=>(0,L.jsx)(xR,{attachment:e,disabled:l,onRemove:()=>D(w.filter((e,n)=>n!==t))},`${e.path}-${t}`))}),u&&(0,L.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1 pl-1.5 pb-1.5 ${fe?`pr-[6.6875rem]`:`pr-20`}`,children:u}),fe&&(0,L.jsx)(`div`,{className:`absolute bottom-2 right-[43px] flex items-center`,children:fe}),(0,L.jsx)(`input`,{ref:_,type:`file`,multiple:!0,accept:Hc,className:`hidden`,onChange:e=>{O(e.target.files),e.target.value=``}}),(0,L.jsx)(`button`,{type:`button`,onClick:()=>_.current?.click(),disabled:l||b,title:`Attach files`,"aria-label":`Attach files`,className:`absolute bottom-2 ${fe?pR:mR} 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:b?(0,L.jsx)(eh,{size:15,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(ch,{size:15,strokeWidth:2})}),(0,L.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:n,disabled:!de||l||b,title:`Send (Enter · ⌘⏎ sends now)`,"aria-label":`Send`,className:`absolute bottom-2 ${fR} flex h-7 w-7 items-center justify-center rounded-lg transition-all ${de&&!l&&!b?`bg-fg text-bg hover:opacity-90 active:scale-95`:`bg-panel-2 text-muted`}`,children:l?(0,L.jsx)(eh,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,L.jsx)(gm,{size:14,strokeWidth:2.5})})]})}function xR({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,I.useState)(!1),a=np(e.path),o=(a.includes(`.`)?a.split(`.`).pop():``).toUpperCase();return(0,L.jsxs)(`div`,{className:`group/att relative h-11 w-11`,title:a,children:[e.kind===`image`&&!r?(0,L.jsx)(`img`,{src:$S(e.path),alt:a,onError:()=>i(!0),className:`h-11 w-11 rounded-md border border-border object-cover`}):(0,L.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,L.jsx)(Rm,{size:15,strokeWidth:2,className:`shrink-0 text-muted`}),o&&(0,L.jsx)(`span`,{className:`-mx-1 max-w-[calc(100%+0.5rem)] truncate text-[8px] font-medium leading-none text-muted/80`,children:o})]}),(0,L.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,L.jsx)(Dh,{size:10,strokeWidth:2.5})})]})}function SR(){return nt({queryKey:[`githubStatus`],queryFn:()=>Y.githubStatus(),staleTime:3e4,refetchOnWindowFocus:!0,refetchInterval:e=>{let t=e.state.data;return t?.inRepo&&t.authed?!1:6e4}})}function CR(){let e=SR();return!!(e.data?.inRepo&&e.data.authed)}function wR({className:e=``}){return CR()?(0,L.jsx)(`button`,{type:`button`,onClick:pp,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,L.jsx)(Km,{size:15,strokeWidth:2})}):null}var TR=`prompt-control-type petite-caps`,ER=TR,DR=TR,OR=`profile-grid-cell relative flex h-6 cursor-pointer select-none items-center justify-start rounded border border-transparent px-1 text-left text-muted outline-none transition-colors ${ER} 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 kR(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, auto)`}var AR=[`ultra`,`ultracode`],jR=[`low`,`medium`,`high`,`xhigh`,`max`,...AR];function MR(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=jR.indexOf(e),r=jR.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function NR(e){let t=[];for(let n of MR(e)){let e=AR.includes(n)?t.find(e=>AR.includes(e[0])):void 0;e?e.push(n):t.push([n])}return t}function PR(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function FR(e){return JSON.stringify([e.provider,e.model,e.effort])}function IR(e,t){return PR(e).find(e=>FR(e)===t)}function LR(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 RR(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 zR(e,t,n){let r=NR(e),i=e=>r.findIndex(t=>t.includes(e)),a=e.flatMap(e=>e.options.map(t=>({provider:e.id,option:t}))),o=a.findIndex(e=>e.provider===t.provider&&e.option.model===t.model);if(o===-1)return null;let s=a[o],c=s.option.efforts.indexOf(t.effort);if(c===-1)return null;if(n===`Home`||n===`End`||n===`ArrowLeft`||n===`ArrowRight`){let e=n===`Home`?0:n===`End`?s.option.efforts.length-1:c+(n===`ArrowLeft`?-1:1),t=s.option.efforts[e];return t?{provider:s.provider,model:s.option.model,effort:t}:null}let l=a[o+(n===`ArrowUp`?-1:1)];if(!l)return null;let u=i(t.effort),d=l.option.efforts.reduce((e,t)=>e?Math.abs(i(t)-u)<Math.abs(i(e)-u)?t:e:t,void 0);return d?{provider:l.provider,model:l.option.model,effort:d}:null}var BR,VR=!1;function HR(){VR||typeof window>`u`||(VR=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!BR||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),WR())},{capture:!0}))}function UR(e){HR();let t={dismiss:e};return BR=t,()=>{BR===t&&(BR=void 0)}}function WR(){let e=BR;return e?(BR=void 0,e.dismiss(),!0):!1}function GR(e){WR()&&e.preventDefault(),e.stopPropagation()}function KR(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function qR({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=rM,className:f=``}){let[p,m]=(0,I.useState)(!1),h=(0,I.useRef)(p),g=(0,I.useRef)(c),_=(0,I.useRef)(void 0),v=(0,I.useRef)(new Map),y=(0,I.useRef)(void 0),b=(0,I.useMemo)(()=>NR(e),[e]),x=(0,I.useMemo)(()=>e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n})))),[e]),S=l?DR:ER,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=LR(e,t),T=w&&t?.provider&&t.model&&t.effort?FR(t):void 0,E=n?.model||n?.effort?RR(e,n,`Pending profile`):void 0;h.current=p,g.current=c;function D(){h.current=!1,_.current=void 0,m(!1)}(0,I.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,I.useLayoutEffect)(()=>{!c||!p||(_.current?.(),D())},[c,p]),(0,I.useLayoutEffect)(()=>()=>_.current?.(),[]),(0,I.useLayoutEffect)(()=>{T===y.current&&(y.current=void 0)},[T]);function O(e){let t=FR(e);y.current!==t&&(y.current=t,r(e))}function k(t,n){if(![`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(t.key))return;let r=zR(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(FR(r))?.focus())}return(0,L.jsxs)(II,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=UR(D))},children:[(0,L.jsx)(LI,{asChild:!0,disabled:c,children:(0,L.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,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 flex-1 truncate text-left ${S}`,children:RR(e,t,i)}),E&&(0,L.jsx)(eh,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,L.jsx)(xm,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,L.jsx)(RI,{children:(0,L.jsxs)(zI,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${nM} 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,L.jsxs)(BI,{children:[t.label&&(0,L.jsx)(VI,{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,L.jsx)(UI,{value:T,onValueChange:t=>{let n=IR(e,t);n&&O(n)},children:t.options.map(e=>(0,L.jsxs)(`div`,{"data-profile-grid-row":e.model,className:`grid w-max items-center gap-1 py-0.5`,style:{gridTemplateColumns:kR(b.length)},children:[(0,L.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=>{let r=n.find(t=>e.efforts.includes(t)),i=n.reduce((e,t)=>KR(t).length>KR(e).length?t:e);if(!r)return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`invisible cursor-default border border-transparent px-1 text-left font-medium ${S}`,children:KR(i)},i);let a={provider:t.id,model:e.model,effort:r},o=FR(a);return(0,L.jsx)(WI,{value:o,ref:e=>{e?v.current.set(o,e):v.current.delete(o)},onKeyDown:e=>k(e,a),onSelect:e=>{e.preventDefault(),O(a),_.current?.(),D()},"aria-label":`${e.label}, ${KR(r)} effort`,title:`${e.label} › ${KR(r)}`,className:OR,children:(0,L.jsxs)(`span`,{className:`grid`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`invisible col-start-1 row-start-1 font-medium`,children:KR(r)}),(0,L.jsx)(`span`,{className:`col-start-1 row-start-1`,children:KR(r)})]})},r)})]},e.model))}),t!==e.at(-1)&&(0,L.jsx)(KI,{className:`my-1 h-px bg-border`})]},t.id)),x.length===0&&(0,L.jsx)(`div`,{className:`px-2 py-1.5 text-muted/60`,children:`No profiles available`})]})})]})}async function JR(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}if(!YR(e))throw Error(`the browser blocked clipboard access`)}function YR(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.top=`0`,t.style.left=`0`,t.style.opacity=`0`,document.body.append(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;t.select(),t.setSelectionRange(0,e.length);let i=!1;try{i=document.execCommand(`copy`)}catch{i=!1}return t.remove(),r&&n&&(n.removeAllRanges(),n.addRange(r)),i}var XR={claude:`claude auth login`,codex:`codex login`},ZR={claude:`Claude`,codex:`Codex`};function QR(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var $R=(0,I.lazy)(()=>cb(()=>import(`./TerminalPane-vtrJrhRI.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function ez({backend:e,onClose:t,onAuthed:n}){let r=Ve(),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(null),c=(0,I.useRef)(!1),l=XR[e],u=ZR[e],d=it({mutationFn:()=>Y.accountLoginStart({backend:e}),onSuccess:e=>{c.current=!1,s(e.attemptId)},onError:e=>Z(`Couldn't start the sign-in terminal: ${e.message.slice(0,80)} — use the command below instead`,{duration:7e3})}),f=nt({queryKey:[`accountLoginStatus`,o],queryFn:()=>Y.accountLoginStatus({attemptId:o}),enabled:!!o,refetchInterval:2e3});(0,I.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}),Z(`Signed in to ${u}`),n();return}Z(`${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&&Y.accountLoginCancel({attemptId:o}).catch(()=>{})}let m=(0,I.useRef)({attempt:null,settled:!1});m.current={attempt:o,settled:c.current},(0,I.useEffect)(()=>()=>{let{attempt:e,settled:t}=m.current;e&&!t&&Y.accountLoginCancel({attemptId:e}).catch(()=>{})},[]);async function h(){try{await JR(l),a(!0),window.setTimeout(()=>a(!1),1500)}catch{Z(`Couldn't copy — select the command and copy it manually`,{duration:6e3})}}let g=it({mutationFn:()=>Y.authStatus(),onSuccess:t=>{if(r.setQueryData([`authStatus`],t),t[e]===`signed-out`){Z(`Still signed out of ${u} — run the command, then retry`,{duration:6e3});return}n()},onError:()=>n()});return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"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,L.jsxs)(xL,{className:`mb-1 text-[14px] font-medium`,children:[`Signed out of `,u]}),o?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`p`,{className:`mb-3 text-[12.5px] leading-relaxed text-muted`,children:[`This terminal is running `,(0,L.jsx)(`code`,{className:`font-mono-keep text-fg/90`,children:l}),` — follow its prompts (it may open your browser). Frizz detects completion automatically.`]}),(0,L.jsx)(`div`,{className:`mb-4 h-[340px] overflow-hidden rounded-lg border border-border bg-[#0d0e10]`,children:(0,L.jsx)(I.Suspense,{fallback:(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-muted`,children:`Opening terminal…`}),children:(0,L.jsx)($R,{slug:o})})}),(0,L.jsx)(`div`,{className:`flex items-center justify-end gap-2`,children:(0,L.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,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`p`,{className:`mb-4 text-[12.5px] leading-relaxed text-muted`,children:[`Frizz 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,L.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 rounded-lg border border-border bg-panel-2 px-3 py-2`,children:[(0,L.jsx)(`code`,{className:`flex-1 select-all font-mono-keep text-[12.5px] text-fg`,children:l}),(0,L.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,L.jsx)(bm,{size:14,strokeWidth:2,className:`text-green-400`}):(0,L.jsx)(Pm,{size:14,strokeWidth:1.8})})]}),(0,L.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,L.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,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Retry`]}),(0,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function tz({backend:e,onClose:t}){let n=Ve(),r=ZR[e],i=it({mutationFn:()=>Y.accountLogout({backend:e}),onSuccess:i=>{n.setQueryData([`authStatus`],t=>t&&{...t,[e]:i.auth}),i.status===`done`?Z(`Signed out of ${r}`):i.status===`blocked`?Z(`Not signed out — ${i.activeThreads} active ${r} thread${i.activeThreads===1?``:`s`}. Let them finish (or complete them) first.`,{duration:7e3}):Z(`${r} sign-out failed: ${i.detail??`unknown error`}`,{duration:7e3}),t()},onError:e=>{Z(`${r} sign-out failed: ${e.message.slice(0,80)}`,{duration:7e3}),t()}});return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"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,L.jsxs)(xL,{className:`mb-1 text-[14px] font-medium`,children:[`Sign out of `,r,`?`]}),(0,L.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,L.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,L.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,L.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,L.jsx)(eh,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var nz=_u.options,rz={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},iz={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)`};nz.filter(e=>e!==`plan`).map(e=>({value:e,label:rz[e],title:iz[e]}));var az=[`auto`,`bypassPermissions`].map(e=>({value:e,label:rz[e],title:iz[e]})),oz=[{value:`fable`,label:`Fable`},{value:`opus`,label:`Opus`},{value:`sonnet`,label:`Sonnet`},{value:`haiku`,label:`Haiku`}];new Set([{slug:`gpt-6-astra`,displayName:`GPT-6 Astra`,defaultEffort:`low`,efforts:[`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]},{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`]}].map(e=>e.slug));function sz(e){return e===`plan`?`auto`:e}var cz=[`low`,`medium`,`high`,`xhigh`,`max`],lz=`ultracode`,uz=new Set([`fable`,`opus`,`sonnet`]);function dz(e){return e&&uz.has(e)?[...cz,lz]:[...cz]}var fz={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`,ultracode:`Ultracode`};function pz(e){return fz[e]??e.charAt(0).toUpperCase()+e.slice(1)}function mz(e,t){let n=dz(e).map(e=>({value:e,label:pz(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function hz(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:pz(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function gz(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 _z(e){return[{id:`claude`,label:`Claude Code`,options:oz.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:dz(e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function vz(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`?oz.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?mz(i,{withDefault:!1}):hz(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 yz(){let e=Ve(),t=nt({queryKey:[`dispatchPreferencesGet`],queryFn:()=>Y.dispatchPreferencesGet()}),n=nt({queryKey:[`codexModels`],queryFn:()=>Y.codexModels()}),r=n.data??[],i=it({mutationFn:e=>Y.dispatchPreferenceSet(e),scope:{id:`dispatch-preferences`},onMutate:t=>{let n=e.getQueryData([`dispatchPreferencesGet`]);n&&e.setQueryData([`dispatchPreferencesGet`],gz(n,t))},onError:t=>{e.invalidateQueries({queryKey:[`dispatchPreferencesGet`]}),Z(`Could not save new-thread preference: ${t.message.slice(0,80)}`)}}),a=!!t.data&&!!n.data;return{resolved:(0,I.useMemo)(()=>a?vz(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var bz=`frizz-drafts:v1`,xz=80,Sz=512*1024,Cz=2*1024*1024,wz=new TextEncoder;function Tz(e){return wz.encode(e).byteLength}function Ez(){return{version:1,entries:{}}}function Dz(e){if(!e)return Ez();try{let t=JSON.parse(e);if(!t||typeof t!=`object`||t.version!==1)return Ez();let n=t.entries;if(!n||typeof n!=`object`||Array.isArray(n))return Ez();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||Tz(t.value)>Sz||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return Ez()}}function Oz(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&Tz(e.value)<=Sz).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=xz)break;n[e]=r,Tz(JSON.stringify({version:1,entries:n}))>Cz&&delete n[e]}return{version:1,entries:n}}var kz=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(`frizz-drafts:v1`)??null}catch{}this.snapshot=Oz(Dz(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(bz,JSON.stringify(Oz(e)))}catch{}for(let e of this.listeners)e()}};function Az(e){return encodeURIComponent(e||`unresolved-project`)}var jz={dispatch:e=>`dispatch:${Az(e)}:new`,followUp:(e,t,n)=>`followup:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${Az(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,question:(e,t,n,r)=>`question:${Az(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}`};function Mz(){return Zt(X).board?.projectDir}function Nz(e){return Zt(X).board?.threads.find(t=>t.id===e)?.sessionId}function Pz(e){let t=(0,I.useCallback)(()=>kz.get(e),[e]);return[(0,I.useSyncExternalStore)(kz.subscribe,t,t),(0,I.useCallback)(t=>kz.set(e,t),[e]),(0,I.useCallback)(()=>kz.clear(e),[e])]}function Fz(e){let t=(0,I.useCallback)(()=>JSON.stringify(Object.fromEntries(e.map(e=>[e,kz.get(e)]))),[e.join(`\0`)]),n=(0,I.useSyncExternalStore)(kz.subscribe,t,t);return(0,I.useMemo)(()=>new Map(Object.entries(JSON.parse(n))),[n])}function Iz({autoFocus:e,onDispatched:t}){let{resolved:n,codexList:r,loadError:i,saveProfile:a}=yz(),o=CR(),s=Mz(),[c,l,u]=Pz(jz.dispatch(s)),d=jz.dispatch(s),f=(0,I.useRef)(``),[p,m]=(0,I.useState)(null),h=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4}),[g,_]=(0,I.useState)(null),[v,y]=(0,I.useState)(null),b=(0,I.useRef)(null),x=it({mutationFn:e=>Y.dispatch(e),onMutate:()=>Z(`Starting thread…`,{spinner:!0,sticky:!0}),onSuccess:e=>{m(null),t?.(),Z(`Thread started`,{link:{label:`Open thread`,slug:e.slug}})},onError:(e,t)=>{kz.get(d)||l(f.current||t.prompt),m(null);let n=/^AUTH_REQUIRED:(claude|codex)$/.exec(e.message);if(n){b.current=t,_(n[1]),Z(`Signed out of ${n[1]===`claude`?`Claude`:`Codex`}`,{duration:3e3});return}Z(`Dispatch failed: ${e.message.slice(0,80)}`)}});function S(e){f.current=c,u(),m(e.prompt),x.mutate(e)}function C(){if(!c.trim()||!n)return;let e=QR(c);if(e){u(),e===`login`?(b.current=null,_(n.backend)):y(n.backend);return}if(!n.modelAvailable){Z(`Saved model is unavailable — choose a model before starting the thread`);return}if(!n.effortAvailable){Z(`Saved reasoning level is unavailable for this model — choose another level`);return}let t={prompt:c.trim(),model:n.model,backend:n.backend,effort:n.effort};if(h.data?.[n.backend]===`signed-out`){b.current=t,_(n.backend);return}S(t)}let w=(0,I.useMemo)(()=>n?(0,L.jsx)(qR,{groups:_z(r),value:{provider:n.backend,model:n.model,effort:n.effort},onValueChange:e=>a({field:`profile`,backend:e.provider,model:e.model,effort:e.effort}),ariaLabel:`Model and effort`,title:n.modelAvailable&&n.effortAvailable?`Model and reasoning effort`:`Saved model or reasoning effort unavailable — choose a supported pair`,className:`max-w-[min(21rem,72vw)]`}):(0,L.jsx)(qR,{groups:[],value:void 0,onValueChange:()=>{},placeholder:i?`Profile unavailable`:`Profile loading…`,ariaLabel:`Model and effort loading`,disabled:!0}),[n,r,i,a]);return(0,L.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,L.jsx)(bR,{surface:`newComposer`,autoFocus:e,value:c,onChange:l,onSubmit:C,placeholder:`Describe the task…`,minHeight:96,maxHeight:340,busy:x.isPending,footer:w,leftAction:o?(0,L.jsx)(wR,{}):void 0}),x.isError&&(0,L.jsx)(`span`,{className:`px-0.5 text-[11px] text-red-400 truncate`,children:x.error.message}),p&&(0,L.jsxs)(`div`,{"data-pending-dispatch":!0,role:`status`,className:`rounded-lg border border-border bg-panel-2 px-3 py-2.5`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted`,children:[(0,L.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 animate-pulse rounded-full bg-accent`,"aria-hidden":`true`}),(0,L.jsx)(`span`,{children:`Starting thread…`})]}),(0,L.jsx)(`p`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap text-[12px] leading-relaxed text-fg`,children:p})]}),g&&(0,L.jsx)(ez,{backend:g,onClose:()=>_(null),onAuthed:()=>{let e=b.current;b.current=null,_(null),e&&S(e)}}),v&&(0,L.jsx)(tz,{backend:v,onClose:()=>y(null)})]})}function Lz({onClose:e}){let t=(0,I.useRef)(null),n=(0,I.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null);return(0,I.useEffect)(()=>()=>{let e=n.current;window.setTimeout(()=>{e?.isConnected&&e.focus({preventScroll:!0})},0)},[]),(0,L.jsx)(iL,{open:!0,onOpenChange:t=>{t||e()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{ref:t,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:GR,onCloseAutoFocus:e=>{e.preventDefault();let t=n.current;t?.isConnected&&t.focus({preventScroll:!0})},onOpenAutoFocus:e=>{e.preventDefault(),t.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 max-[700px]:top-[calc(env(safe-area-inset-top)+56px)] max-[700px]:w-[calc(100vw-24px)] max-[700px]:max-w-none max-[700px]:translate-y-0`,children:[(0,L.jsx)(xL,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),(0,L.jsx)(Iz,{autoFocus:!0,onDispatched:e})]})]})})}function Rz({children:e,onClose:t}){return(0,L.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 zz=`-mx-1.5 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`,Bz={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},Vz={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function Hz(e){return e===`claude`||e===`codex`?Vz[e]:void 0}function Uz({backend:e,className:t}){let n=Hz(e);return n?(0,L.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${Bz[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,L.jsx)(Wz,{}):(0,L.jsx)(Gz,{})}):null}function Wz(){return(0,L.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,L.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 Gz(){return(0,L.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,className:`size-full`,fill:`currentColor`,children:(0,L.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`})})}typeof window<`u`&&window.document&&window.document.createElement;function Kz(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function qz(e,t=[]){let n=[];function r(t,r){let i=I.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=I.useMemo(()=>o,Object.values(o));return(0,L.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=I.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=>I.createContext(e));return function(n){let r=n?.[e]||t;return I.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Jz(i,...t)]}function Jz(...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 I.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var Yz=`DismissableLayer`,Xz=`dismissableLayer.update`,Zz=`dismissableLayer.pointerDownOutside`,Qz=`dismissableLayer.focusOutside`,$z,eB=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),tB=I.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=I.useContext(eB),[d,f]=I.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=I.useState({}),h=kD(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=I.useRef(!1),C=aB(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:S,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:I.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return x&&!t},[u.branches,x])}),w=oB(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=qD(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return I.useEffect(()=>{if(T)return p.addEventListener(`keydown`,E,{capture:!0}),()=>p.removeEventListener(`keydown`,E,{capture:!0})},[p,T,E]),I.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&($z=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),sB(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=$z))}},[d,p,n,u]),I.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),sB())},[d,u]),I.useEffect(()=>{let e=()=>m({});return document.addEventListener(Xz,e),()=>document.removeEventListener(Xz,e)},[]),(0,L.jsx)(GD.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:Kz(e.onFocusCapture,w.onFocusCapture),onBlurCapture:Kz(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:Kz(e.onPointerDownCapture,C.onPointerDownCapture)})});tB.displayName=Yz;var nB=`DismissableLayerBranch`,rB=I.forwardRef((e,t)=>{let n=I.useContext(eB),r=I.useRef(null),i=kD(t,r);return I.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,L.jsx)(GD.div,{...e,ref:i})});rB.displayName=nB;var iB=()=>!0;function aB(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=iB}=t,s=qD(e),c=I.useRef(!1),l=I.useRef(!1),u=I.useRef(new Map),d=I.useRef(()=>{});return I.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||cB(Zz,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 oB(e,t=globalThis?.document){let n=qD(e),r=I.useRef(!1);return I.useEffect(()=>{let e=e=>{e.target&&!r.current&&cB(Qz,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 sB(){let e=new CustomEvent(Xz);document.dispatchEvent(e)}function cB(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?KD(i,a):i.dispatchEvent(a)}var lB=`focusScope.autoFocusOnMount`,uB=`focusScope.autoFocusOnUnmount`,dB={bubbles:!1,cancelable:!0},fB=`FocusScope`,pB=I.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=I.useState(null),l=qD(i),u=qD(a),d=I.useRef(null),f=kD(t,c),p=I.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;I.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:bB(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||bB(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&bB(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]),I.useEffect(()=>{if(s){xB.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(lB,dB);s.addEventListener(lB,l),s.dispatchEvent(t),t.defaultPrevented||(mB(wB(gB(s)),{select:!0}),document.activeElement===e&&bB(s))}return()=>{s.removeEventListener(lB,l),setTimeout(()=>{let t=new CustomEvent(uB,dB);s.addEventListener(uB,u),s.dispatchEvent(t),t.defaultPrevented||bB(e??document.body,{select:!0}),s.removeEventListener(uB,u),xB.remove(p)},0)}}},[s,l,u,p]);let m=I.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]=hB(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&bB(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&bB(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,L.jsx)(GD.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});pB.displayName=fB;function mB(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(bB(r,{select:t}),document.activeElement!==n)return}function hB(e){let t=gB(e);return[_B(t,e),_B(t.reverse(),e)]}function gB(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 _B(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):vB(r,{upTo:t})))return r}function vB(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 yB(e){return e instanceof HTMLInputElement&&`select`in e}function bB(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&yB(e)&&t&&e.select()}}var xB=SB();function SB(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=CB(e,t),e.unshift(t)},remove(t){e=CB(e,t),e[0]?.resume()}}}function CB(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function wB(e){return e.filter(e=>e.tagName!==`A`)}var TB=`Popper`,[EB,DB]=qz(TB),[OB,kB]=EB(TB),AB=e=>{let{__scopePopper:t,children:n}=e,[r,i]=I.useState(null),[a,o]=I.useState(void 0);return(0,L.jsx)(OB,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};AB.displayName=TB;var jB=`PopperAnchor`,MB=I.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=kB(jB,n),o=I.useRef(null),s=a.onAnchorChange,c=kD(t,I.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=I.useRef(null);I.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&HB(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(GD.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});MB.displayName=jB;var NB=`PopperContent`,[PB,FB]=EB(NB),IB=I.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=kB(NB,n),[_,v]=I.useState(null),y=kD(t,v),[b,x]=I.useState(null),S=AA(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,k={padding:E,boundary:D.filter(BB),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:N,middlewareData:P}=vA({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>iA(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[bA({mainAxis:i+w,alignmentAxis:o}),c&&xA({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?SA():void 0,...k}),c&&CA({...k}),wA({...k,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&&EA({element:b,padding:s}),VB({arrowWidth:C,arrowHeight:w}),f&&TA({strategy:`referenceHidden`,...k,boundary:O?k.boundary:void 0})]}),ee=g.setPlacementState;JD(()=>(ee(M),()=>{ee(void 0)}),[M,ee]);let[F,te]=HB(M),ne=qD(m);JD(()=>{N&&ne?.()},[N,ne]);let re=P.arrow?.x,ie=P.arrow?.y,ae=P.arrow?.centerOffset!==0,[oe,se]=I.useState();return JD(()=>{_&&se(window.getComputedStyle(_).zIndex)},[_]),(0,L.jsx)(`div`,{ref:A.setFloating,"data-radix-popper-content-wrapper":``,style:{...j,transform:N?j.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[P.transformOrigin?.x,P.transformOrigin?.y].join(` `),...P.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,L.jsx)(PB,{scope:n,placedSide:F,placedAlign:te,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,L.jsx)(GD.div,{"data-side":F,"data-align":te,...h,ref:y,style:{...h.style,animation:N?void 0:`none`}})})})});IB.displayName=NB;var LB=`PopperArrow`,RB={top:`bottom`,right:`left`,bottom:`top`,left:`right`},zB=I.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=FB(LB,n),a=RB[i.placedSide];return(0,L.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,L.jsx)(kA,{...r,ref:t,style:{...r.style,display:`block`}})})});zB.displayName=LB;function BB(e){return e!==null}var VB=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]=HB(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 HB(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var UB=AB,WB=MB,GB=IB,KB=zB;function qB(e,t){return I.useReducer((e,n)=>t[e][n]??e,e)}var JB=e=>{let{present:t,children:n}=e,r=YB(t),i=typeof n==`function`?n({present:r.isPresent}):I.Children.only(n),a=ZB(r.ref,$B(i));return typeof n==`function`||r.isPresent?I.cloneElement(i,{ref:a}):null};JB.displayName=`Presence`;function YB(e){let[t,n]=I.useState(),r=I.useRef(null),i=I.useRef(e),a=I.useRef(`none`),o=I.useRef(void 0),[s,c]=qB(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return I.useEffect(()=>{s===`mounted`?(a.current=o.current??QB(r.current),o.current=void 0):a.current=`none`},[s]),JD(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=QB(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]),JD(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=QB(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=QB(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:I.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=QB(t)}else r.current=null;n(e)},[])}}function XB(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ZB(...e){let t=I.useRef(e);return t.current=e,I.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=XB(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():XB(n[e],null)}}},[])}function QB(e){return e?.animationName||`none`}function $B(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 eV=`Popover`,[tV,nV]=qz(eV,[DB]),rV=DB(),[iV,aV]=tV(eV),oV=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=rV(t),c=I.useRef(null),[l,u]=I.useState(!1),[d,f]=lj({prop:r,defaultProp:i??!1,onChange:a,caller:eV});return(0,L.jsx)(UB,{...s,children:(0,L.jsx)(iV,{scope:t,contentId:mO(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:I.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:I.useCallback(()=>u(!0),[]),onCustomAnchorRemove:I.useCallback(()=>u(!1),[]),modal:o,children:n})})};oV.displayName=eV;var sV=`PopoverAnchor`,cV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(sV,n),a=rV(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return I.useEffect(()=>(o(),()=>s()),[o,s]),(0,L.jsx)(WB,{...a,...r,ref:t})});cV.displayName=sV;var lV=`PopoverTrigger`,uV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(lV,n),a=rV(n),o=kD(t,i.triggerRef),s=(0,L.jsx)(GD.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":TV(i.open),...r,ref:o,onClick:Kz(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(WB,{asChild:!0,...a,children:s})});uV.displayName=lV;var dV=`PopoverPortal`,[fV,pV]=tV(dV,{forceMount:void 0}),mV=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=aV(dV,t);return(0,L.jsx)(fV,{scope:t,forceMount:n,children:(0,L.jsx)(JB,{present:n||a.open,children:(0,L.jsx)(ej,{asChild:!0,container:i,children:r})})})};mV.displayName=dV;var hV=`PopoverContent`,gV=I.forwardRef((e,t)=>{let n=pV(hV,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=aV(hV,e.__scopePopover);return(0,L.jsx)(JB,{present:r||a.open,children:a.modal?(0,L.jsx)(vV,{...i,ref:t}):(0,L.jsx)(yV,{...i,ref:t})})});gV.displayName=hV;var _V=MD(`PopoverContent.RemoveScroll`),vV=I.forwardRef((e,t)=>{let n=aV(hV,e.__scopePopover),r=I.useRef(null),i=kD(t,r),a=I.useRef(!1);return I.useEffect(()=>{let e=r.current;if(e)return uN(e)},[]),(0,L.jsx)(yP,{as:_V,allowPinchZoom:!0,children:(0,L.jsx)(bV,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Kz(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Kz(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:Kz(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),yV=I.forwardRef((e,t)=>{let n=aV(hV,e.__scopePopover),r=I.useRef(!1),i=I.useRef(!1);return(0,L.jsx)(bV,{...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()}})}),bV=I.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=aV(hV,n),p=rV(n);return _M(),(0,L.jsx)(pB,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(tB,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(GB,{"data-state":TV(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)`}})})})}),xV=`PopoverClose`,SV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=aV(xV,n);return(0,L.jsx)(GD.button,{type:`button`,...r,ref:t,onClick:Kz(e.onClick,()=>i.onOpenChange(!1))})});SV.displayName=xV;var CV=`PopoverArrow`,wV=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=rV(n);return(0,L.jsx)(KB,{...i,...r,ref:t})});wV.displayName=CV;function TV(e){return e?`open`:`closed`}var EV=oV,DV=cV,OV=uV,kV=mV,AV=gV;function jV({modal:e=!1,...t}){return(0,L.jsx)(EV,{modal:e,...t})}var MV=OV,NV=DV;function PV({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,L.jsx)(kV,{children:(0,L.jsx)(AV,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${nM} ${oM} rounded-lg outline-none ${i}`,...a,children:e})})}var FV=3e4,IV=45e3;function LV(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}var RV=`text-[9px]`,zV={claude:`text-fg/75! size-[14px]! translate-y-0!`,codex:`text-fg/75! size-[12.75px]! translate-y-0!`};function BV(){let e=nt({queryKey:[`quota`],queryFn:()=>Y.quota(),staleTime:1e4}),t=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4});return[`claude`,`codex`].some(n=>VV(e.data?.[n],t.data?.[n],e.isLoading))}function VV(e,t,n){return t===`signed-out`||!e&&n?!1:!!e&&e.status===`ok`&&e.windows.length>0}function HV(){let e=Ve(),t=(0,I.useRef)(null),[n,r]=(0,I.useState)(!1),i=nt({queryKey:[`quota`],queryFn:({signal:e})=>Y.quota(void 0,{signal:LV(FV,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=nt({queryKey:[`authStatus`],queryFn:({signal:e})=>Y.authStatus(void 0,{signal:LV(FV,e)}),refetchInterval:12e4,staleTime:3e4,refetchOnWindowFocus:!0}),o=n=>{if(t.current)return;r(!0);let i=Promise.all([Y.quota({force:n===`claude`},{signal:LV(IV)}).then(t=>e.setQueryData([`quota`],t)),e.refetchQueries({queryKey:[`authStatus`]})]).then(()=>{}).catch(()=>{}).finally(()=>{t.current=null,r(!1)});t.current=i};return(0,L.jsxs)(`div`,{"data-quota-bar":!0,className:`flex shrink-0 items-center gap-3 ${RV}`,children:[(0,L.jsx)(UV,{backend:`claude`,quota:i.data?.claude,auth:a.data?.claude,email:a.data?.emails?.claude,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`claude`)}),(0,L.jsx)(UV,{backend:`codex`,quota:i.data?.codex,auth:a.data?.codex,email:a.data?.emails?.codex,loading:i.isLoading,fetching:i.isFetching||n,onRecheck:()=>o(`codex`)})]})}function UV({backend:e,quota:t,auth:n,email:r,loading:i,fetching:a,onRecheck:o}){let s=ZR[e];if(!VV(t,n,i))return null;let c=WV(100-KV(t.windows).usedPercent);return(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(jV,{onOpenChange:e=>{e&&o()},children:[(0,L.jsx)(MV,{asChild:!0,children:(0,L.jsxs)(`button`,{type:`button`,"aria-label":`${s} quota: ${c}% 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:[(0,L.jsx)(Uz,{backend:e,className:zV[e]}),(0,L.jsxs)(`span`,{className:`tabular-nums ${qV(c)}`,children:[c,`%`]})]})}),(0,L.jsxs)(PV,{side:`bottom`,align:`start`,className:`w-[min(15rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,children:[(0,L.jsxs)(`div`,{className:`mb-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:[(0,L.jsx)(Uz,{backend:e}),(0,L.jsx)(`span`,{children:s}),t?.planType&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,JV(t.planType),` plan`]}),a&&(0,L.jsx)(eh,{size:11,className:`animate-spin text-muted/60`,"aria-label":`Rechecking`})]}),r&&(0,L.jsx)(`div`,{"data-quota-account":!0,className:`truncate text-muted/70 select-text`,title:r,children:r})]}),(0,L.jsxs)(`ul`,{className:`flex flex-col gap-1`,children:[t.windows.map(e=>{let t=WV(100-e.usedPercent),n=YV(e);return(0,L.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,L.jsx)(`span`,{className:`text-muted/80`,children:e.label}),(0,L.jsxs)(`span`,{className:`flex items-center gap-2 tabular-nums`,children:[(0,L.jsxs)(`span`,{className:qV(t),children:[t,`% left`]}),n&&(0,L.jsxs)(`span`,{className:`text-muted/55`,children:[`resets `,n]})]})]},e.key)}),t.detail&&(0,L.jsx)(`li`,{className:`pt-1 text-muted/55`,children:t.detail})]})]})]})})}function WV(e){return Math.max(0,Math.min(100,Math.round(e)))}var GV=25;function KV(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function qV(e){return e<=8?`text-red-400`:e<=GV?`text-accent`:`text-fg/70`}function JV(e){return e&&e[0].toUpperCase()+e.slice(1)}function YV(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 XV=`frizz:supervisor-status-wake`,ZV=`frizz:reload-after-update-restart`,QV=`frizz:update-restart-from-version`;function $V(e,t){return t.version===e?{kind:`previous-kept`}:{kind:`successor-failed`,version:t.version}}function eH(e){if(e.kind===`previous-kept`)return{summary:`Frizz kept running the previous version`,detail:`Frizz kept running the previous version, and your threads are unaffected.`};let t=e.version?`Frizz ${e.version}`:`The new version of Frizz`;return{summary:`${t} failed to start`,detail:`${t} came up but could not start its board, and the previous version is gone. Restart Frizz from the terminal (npx frizz) and check its log for the reason.`}}function tH(e){return e?.artifactDigest??e?.version??null}function nH(e,t){if(e===null||t?.state!==`ready`)return!1;let n=tH(t);return n!==null&&n!==e}var rH=3*6e4,iH={silentSince:null,silentForMs:0,stalled:!1};function aH(e,t,n=rH){if(!t.restarting||t.answered)return iH;let r=e.silentSince??t.at,i=Math.max(0,t.at-r);return{silentSince:r,silentForMs:i,stalled:i>=n}}function oH(e,t){return e.ackedAt!==null&&t.requestedAt>=e.ackedAt}function sH(e,t){return e.attempt&&!(oH(e.attempt,t)&&cH(e.attempt,t))?e:{state:t.state,message:t.message??null,attempt:null}}function cH(e,t){if(t.state!==`ready`)return!0;let n=t.artifactDigest??t.version??null;return e.build!=null&&n!==null&&n!==e.build}function lH(e,t){return t.state===`ready`&&e.attempt===null}function uH(e){return e!==null}function dH(e){return e?.updateRestart===!0&&e.updateAvailable!==!1}function fH(e){return e?.dev===!0}async function pH(e=fetch){try{let t=await e(`/_frizz/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 mH(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(`Frizz 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??`Frizz did not become ready`);return r}function hH(e=fetch){return mH(`/_frizz/control/restart`,e)}function gH(e=fetch){return mH(`/_frizz/control/update-restart`,e)}var _H=8e3,vH=500,yH=[`supervisorStatus`];function bH(e,t){return e===`restarting`||t?vH:_H}var xH=rt({queryKey:yH,queryFn:async()=>{let e=Date.now(),t=await pH();return t?{...t,requestedAt:e}:null},refetchInterval:e=>bH(e.state.data?.state,X.controlPlaneRestartAttempt!==null),staleTime:e=>bH(e.state.data?.state,X.controlPlaneRestartAttempt!==null)});function SH(){return nt(xH)}var CH=null;function wH(e){CH||(CH=e,window.addEventListener(XV,()=>{e.refetchQueries({queryKey:yH,exact:!0})}))}function TH(e,t){let n=e=>{let t=e&&/^v?(\d+)\.(\d+)\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.exec(e);return t?[Number(t[1]),Number(t[2])]:null},r=n(e),i=n(t);return r!==null&&i!==null&&(r[0]!==i[0]||r[1]!==i[1])}var EH=`Install the latest version of Frizz. Your running threads will not be affected.`,DH=`A newer version of Frizz is available. Your running threads will not be affected.`,OH=`Restart Frizz. Your running threads will not be affected.`,kH=`fixed left-3 right-3 top-12 z-50 w-auto text-left font-sans sm:absolute sm:right-auto sm:-left-[17px] sm:top-[calc(100%+0.65rem)]`,AH=`absolute -top-[7px] left-4 h-3 w-3 rotate-45 border-l border-t bg-elevated`,jH=`sm:w-[min(23rem,calc(100vw-1.5rem))]`,MH=`sm:w-[min(34rem,calc(100vw-1.5rem))]`,NH=`rounded-xl bg-elevated p-3.5 shadow-xl shadow-black/45`;function PH({open:e,update:t,version:n,updateVersion:r}){if(!e)return null;let i=t?`Update Frizz`:`Restart Frizz`,a=t?r:void 0;return(0,L.jsxs)(`div`,{id:`update-restart-popover`,role:`tooltip`,"aria-label":i,className:`${kH} ${jH} ${NH} border border-border-strong`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${AH} border-border-strong`}),(0,L.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-fg/10 text-fg`,children:(0,L.jsx)(ph,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,L.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:i}),n&&(0,L.jsx)(`span`,{className:`font-mono text-[11px] leading-snug text-muted`,children:a?`${n} → ${a}`:n})]})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:t?a?DH:EH:OH})]})}var FH={kind:`previous-kept`};function IH({update:e,message:t,outcome:n=FH,onDismiss:r}){return(0,L.jsxs)(`div`,{role:`alert`,className:`${kH} ${MH} ${NH} border border-red-500/45`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${AH} border-red-500/45`}),(0,L.jsxs)(`div`,{className:`relative flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-red-500/15 text-red-300`,children:(0,L.jsx)(Th,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsx)(`span`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:e?`Update failed`:`Restart failed`}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:r,className:`-mr-1 ml-auto 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 focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(Dh,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:eH(n).detail}),(0,L.jsx)(`pre`,{className:`relative mt-2.5 max-h-64 overflow-y-auto whitespace-pre-wrap break-words rounded-md border border-border bg-panel px-2.5 py-2 font-mono text-[11px] leading-relaxed text-fg/70`,children:t})]})}function LH({update:e,busy:t,version:n,updateVersion:r,onFocus:i,onBlur:a,onClick:o}){return(0,L.jsxs)(`button`,{type:`button`,"aria-describedby":`update-restart-popover`,"aria-label":e?`Update Frizz`:`Restart Frizz`,disabled:t,"aria-busy":t||void 0,className:`relative ${zz}`,onFocus:i,onBlur:a,onClick:o,children:[(0,L.jsx)(ph,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0}),e&&!t&&TH(n,r)&&(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-[2px] top-[2px] h-[4px] w-[4px] rounded-full bg-accent`})]})}function RH(){let e=Zt(X),[t,n]=(0,I.useState)(!1),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(),[s,c]=(0,I.useState)(),l=(0,I.useRef)(null),u=(0,I.useRef)(null),d=SH().data??null,f=dH(d),p={version:d?.version,updateVersion:d?.updateVersion};if(!uH(d))return null;let m=l.current!==null&&e.controlPlaneState===`failed`,h=m?e.controlPlaneMessage??`Frizz did not become ready`:void 0,g=a??h,_=g&&g!==s?g:void 0,v=!a&&m&&l.current?$V(l.current.version,{version:d?.version}):FH,y=async()=>{if(r)return;l.current={version:d?.version},n(!1),i(!0),o(void 0),c(void 0);let e=`${window.location.pathname}${window.location.search}${window.location.hash}`;f&&(X.controlPlaneState=`restarting`,X.controlPlaneMessage=null,X.controlPlaneRestartAttempt={startedAt:Date.now(),ackedAt:null,build:tH(d)});try{if(f?await gH():await hH(),f){sessionStorage.setItem(ZV,e),l.current.version?sessionStorage.setItem(QV,l.current.version):sessionStorage.removeItem(QV);let t=X.controlPlaneRestartAttempt;t&&(X.controlPlaneRestartAttempt={...t,ackedAt:Date.now()}),window.dispatchEvent(new Event(XV)),i(!1)}else window.location.replace(e)}catch(e){f&&(X.controlPlaneRestartAttempt=null,X.controlPlaneState=`ready`,X.controlPlaneMessage=null);let t=e.message.slice(0,140);i(!1),o(t),Z(`${f?`Update & Restart`:`Restart Frizz`} failed`)}};return(0,L.jsxs)(`div`,{ref:u,className:`relative`,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[(0,L.jsx)(LH,{update:f,busy:r,version:p.version,updateVersion:p.updateVersion,onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:()=>void y()}),_&&(0,L.jsx)(IH,{update:f,message:_,outcome:v,onDismiss:()=>c(_)}),(0,L.jsx)(PH,{open:t&&!_,update:f,version:p.version,updateVersion:p.updateVersion})]})}function zH(){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function BH({text:e,title:t,className:n}){return(0,L.jsx)(`span`,{dir:`rtl`,className:`block min-w-0 overflow-hidden text-ellipsis whitespace-nowrap ${n??``}`,title:t,children:(0,L.jsx)(`span`,{dir:`ltr`,className:`[unicode-bidi:isolate]`,children:e})})}function VH(){let e=ZC(),t=bW(e),n=BV(),r=e?.githubRepo??null,i=t.state===`verified`?t.label:t.state===`local`?t.name:null,a=t.state===`verified`?`Project: ${t.label}`:t.state===`local`?`Project: ${t.name}; local repository with no git remote`:t.state===`loading`?`Project identity loading`:`Project identity unavailable`;return(0,L.jsxs)(`div`,{"data-status-row":!0,className:`mb-2.5 flex min-w-0 items-center gap-3 text-[12px]`,children:[(0,L.jsx)(Pb,{to:`/`,title:`All projects`,"aria-label":`All projects`,className:`${zz} -ml-px`,children:(0,L.jsx)(Jm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(zH,{}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:zz,onClick:()=>X.showSettings=!0,children:(0,L.jsx)(_h,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(RH,{}),n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(zH,{}),(0,L.jsx)(HV,{})]}),(0,L.jsx)(`span`,{className:`ml-auto flex min-w-0 items-center`,"data-project-identity-state":t.state,"aria-label":a,"aria-busy":t.state===`loading`||void 0,children:i&&r?(0,L.jsx)(`a`,{href:`https://github.com/${r}`,target:`_blank`,rel:`noopener`,title:`Open ${i} on GitHub`,"aria-label":`Open ${i} on GitHub`,className:`block min-w-0 rounded-sm font-semibold text-fg/90 underline-offset-2 outline-none transition-colors hover:text-fg hover:underline focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(BH,{text:i})}):i?(0,L.jsx)(BH,{text:i,title:i,className:`font-semibold text-fg/90`}):(0,L.jsx)(`span`,{className:`identity-placeholder w-24`,"aria-hidden":`true`})})]})}var HH=qt({at:{}}),UH=12e3,WH=new Map;function GH(e,t=Date.now()){HH.at[e]=t;let n=WH.get(e);n!==void 0&&clearTimeout(n),WH.set(e,setTimeout(()=>{WH.delete(e),delete HH.at[e]},UH))}function KH(e){let t=WH.get(e);t!==void 0&&(clearTimeout(t),WH.delete(e)),delete HH.at[e]}function qH(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 JH(){return Zt(HH).at}function YH(e,t,n=Date.now()){return t===void 0||!qH(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function XH(e){let t=JH();return(0,I.useMemo)(()=>e.map(e=>YH(e,t[e.id])),[e,t])}var ZH=0;function QH(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(ZH+=1,`browser-${Date.now()}-${ZH}`)}function $H({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var eU=new Map;function tU(e,t){let n=(eU.get(e)??Promise.resolve()).then(t,t);return eU.set(e,n.then(()=>{},()=>{})),n}var nU=[300,800,1800,3500],rU=12e4,iU=e=>new Promise(t=>{setTimeout(t,e)});async function aU(e,t,n=iU){for(let r=0;;r++){try{await e()}catch(e){if(r>=nU.length||!gf(e))throw e;t(),await n(nU[r]);continue}t();return}}function oU(e,t,n,r,i,a=rU){let o=new AbortController,s=setTimeout(()=>o.abort(Error(`Frizz did not answer this send`)),a);return Y.followUp({slug:e,sessionId:Yp(X.board,e)?.sessionId??``,message:t,deliveryId:n,freshProcess:r,interrupt:i},{signal:o.signal}).finally(()=>clearTimeout(s))}function sU(e,t,n,r,i){return aU(()=>oU(e,t,n,r,i),()=>GH(e))}function cU(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=QH();return $H({optimistic:()=>{r.onOptimistic?.(),hw(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),GH(t),Y.markRead({slug:t}).catch(()=>{})},request:()=>tU(t,()=>sU(t,i,a,r.freshProcess,r.interrupt)),success:()=>r.onSuccess?.(),failure:n=>{gw(e,t,i,a),KH(t),r.onRollback?.(),Z(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,160)}`)}}),!0}function lU(e){let t=Ve(),[n,r]=(0,I.useState)(0);return{submit:(0,I.useCallback)((n,i={})=>cU(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 uU(e,t){return new Promise(n=>{cU(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{Z(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}function dU(e){let t=/^([A-Za-z0-9][\w.-]*)\/([A-Za-z0-9][\w.-]*)#(\d+)$/.exec(e.trim());return t?`https://github.com/${t[1]}/${t[2]}/pull/${t[3]}`:null}var fU=`Waiting for an external update.`;function pU(e){let t=new Set;return e.flatMap(e=>{if(e.kind!==`pr`)return[];let n=e.value.trim();return!n||t.has(n)?[]:(t.add(n),[{ref:n,url:dU(n)}])})}function mU(e){let t=(e.body??``).split(/\n\s*\n/).map(e=>e.trim()).find(Boolean);return t?_U(hU(t.replace(/\s*\n\s*/g,` `))):null}function hU(e){if(e.length<=gU)return e;let t=e.slice(0,gU),n=t.lastIndexOf(` `);return`${(n>gU/2?t.slice(0,n):t).replace(/[.,;:]$/,``)}…`}var gU=240;function _U(e){let t=(e.split(/\s/,1)[0]??``).replace(/[.,:;]+$/,``);return/[^a-zA-Z]/.test(t)||/[A-Z]/.test(t.slice(1))||vU.has(t)?e:e.charAt(0).toUpperCase()+e.slice(1)}var vU=new Set([`npm`,`npx`,`pnpm`,`nub`,`nubx`,`gh`,`git`,`node`,`bun`,`tsc`,`vite`,`curl`,`ssh`]);function yU(e){return e&&xU(e)||null}var bU=new Set([...rl,`shells`,`agents`,`timers`,`prs`,`for`,`title`]);function xU(e){return e.split(`
|
|
200
200
|
`).filter(e=>{let t=/^\s*([a-z][a-z-]*):/i.exec(e)?.[1]?.toLowerCase();return!(t&&bU.has(t))}).join(`
|
|
201
201
|
`).trim()}function SU(e){let t=t=>e.filter(e=>e.kind===t&&e.value.trim()).length,n=[...pU(e).map(e=>e.ref),CU(t(`shell`),`background shell`,`background shells`),CU(t(`agent`),`sub-agent`,`sub-agents`),CU(t(`timer`),`timer`,`timers`)].filter(e=>e!==null);return n.length>0?`waiting on ${wU(n)}`:null}function CU(e,t,n){return e<=0?null:e===1?`a ${t}`:`${e} ${n}`}function wU(e){return e.length<=1?e.join(``):`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`}function TU(e){let t=e.find(e=>e.kind===`pr`);return t?`PR ${t.value}`:null}var EU=qt({at:{}}),DU=12e3,OU=new Map;function kU(e,t=Date.now()){EU.at[e]=t;let n=OU.get(e);n!==void 0&&clearTimeout(n),OU.set(e,setTimeout(()=>{OU.delete(e),delete EU.at[e]},DU))}function AU(e){let t=OU.get(e);t!==void 0&&(clearTimeout(t),OU.delete(e)),delete EU.at[e]}function jU(){return Zt(EU).at}function MU(e,t,n=Date.now()){return t===void 0||n-t>12e3||e.state===`archived`?e:{...e,state:`archived`,archived:!0,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,actionableInteraction:!1}}function NU(e){let t=jU();return(0,I.useMemo)(()=>e.map(e=>MU(e,t[e.id])),[e,t])}var PU=.5;function FU(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*PU,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 IU(e,t,n,r){return!e||e.top<=r&&e.bottom>r?!0:Math.abs(t-n)>1}function LU(e,t,n,r,i=8){return n<e+i?n-e-i:r>t-i?r-t+i:0}var RU=`flex h-[19px] w-[19px] items-center justify-center rounded text-muted opacity-70 outline-none transition-[color,opacity] hover:bg-panel-2 hover:text-fg hover:opacity-100`,zU=`sticky top-0 self-start h-screen w-[clamp(272px,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`;function BU(){let e=Zt(X),t=NU(XH($C(ZC()?.threads??[]))),n=uE(t,Zt(CT).queueOrder),r=BT(UT(t)),i=e.sidebarCollapsed,a=n.active,o=n.snoozed,s=n.inactive,c=(0,I.useRef)(null),[l,u]=(0,I.useState)(null),d=(0,I.useRef)(null),f=(0,I.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(IU(e.find(e=>e.id===t.id),window.scrollY,t.landedY,40))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=FU(e,window.innerHeight,r);u(e=>e===i?e:i)},[]);(0,I.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,I.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=LU(n.top,n.bottom,r.top,r.bottom);Math.abs(i)>.5&&(e.scrollTop+=i)},[l]);let p=(0,I.useCallback)(e=>{d.current={id:e,landedY:dp(e)??window.scrollY},u(e)},[]);return(0,L.jsx)(`aside`,{className:zU,children:(0,L.jsxs)(`div`,{className:`flex max-h-[calc(100vh-32px)] min-h-0 min-w-0 w-full flex-col max-[800px]:max-h-none`,children:[(0,L.jsxs)(`div`,{className:`mb-5 shrink-0 px-0.5`,children:[(0,L.jsx)(VH,{}),(0,L.jsx)(Iz,{})]}),(0,L.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:[n.pinned.length>0&&(0,L.jsxs)(`section`,{"aria-label":`Pinned`,children:[n.pinned.map(e=>(0,L.jsxs)(`div`,{children:[(0,L.jsx)(JU,{t:e,active:l===e.id,onQueueNavigate:p}),(0,L.jsx)($U,{t:e})]},e.id)),a.length>0&&(0,L.jsx)(`hr`,{className:`my-3 border-border/50`})]}),a.length>0?(()=>{let{running:e,rested:t}=lE(a),n=e=>t=>(0,L.jsxs)(`div`,{children:[(0,L.jsx)(JU,{t,active:l===t.id,onQueueNavigate:p,restedAge:e}),(0,L.jsx)($U,{t})]},t.id);return(0,L.jsxs)(L.Fragment,{children:[t.map(n(!0)),e.length>0&&t.length>0&&(0,L.jsx)(`hr`,{className:`my-3 border-border/50`}),e.map(n(!1))]})})():n.pinned.length===0?(0,L.jsx)(`div`,{className:`py-1 pl-5 pr-1.5 text-[11.5px] text-muted/50`,children:`No open threads`}):null,o.length>0&&(0,L.jsxs)(`section`,{"aria-label":`Snoozed`,children:[(0,L.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,L.jsx)(VU,{label:`Snoozed`,count:o.length,collapsed:i.snoozed,onToggle:()=>X.sidebarCollapsed.snoozed=!X.sidebarCollapsed.snoozed}),!i.snoozed&&o.map(e=>(0,L.jsxs)(`div`,{children:[(0,L.jsx)(JU,{t:e,active:l===e.id,onQueueNavigate:p}),(0,L.jsx)($U,{t:e})]},e.id))]}),s.length>0&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,L.jsx)(VU,{label:`Done`,count:s.length,collapsed:i.inactive,onToggle:()=>X.sidebarCollapsed.inactive=!X.sidebarCollapsed.inactive}),!i.inactive&&(0,L.jsx)(WU,{threads:s,railRef:c,activeId:l,onQueueNavigate:p})]}),r.length>0&&(0,L.jsxs)(`section`,{"aria-label":`External`,children:[(0,L.jsx)(`hr`,{className:`my-3 border-border/50`}),(0,L.jsx)(VU,{label:`External`,count:r.length,collapsed:i.external,onToggle:()=>X.sidebarCollapsed.external=!X.sidebarCollapsed.external}),!i.external&&r.map(e=>(0,L.jsx)(JU,{t:e,active:l===e.id,onQueueNavigate:p,restedAge:!0},e.id))]})]})]})})}function VU({label:e,count:t,collapsed:n,onToggle:r}){let i=(0,L.jsxs)(L.Fragment,{children:[r?(0,L.jsx)(Cm,{size:11,className:`transition-transform ${n?``:`rotate-90`}`}):(0,L.jsx)(`span`,{className:`w-[11px] shrink-0`,"aria-hidden":!0}),(0,L.jsx)(`span`,{children:e}),(0,L.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,L.jsx)(`button`,{onClick:r,className:`${a} transition-colors hover:text-fg`,children:i}):(0,L.jsx)(`div`,{className:a,children:i})}var HU=27,UU=8;function WU({threads:e,railRef:t,activeId:n,onQueueNavigate:r}){let i=(0,I.useRef)(null),[a,o]=(0,I.useState)(0),s=$w({count:e.length,getScrollElement:()=>t.current,getItemKey:t=>e[t]?.id??t,estimateSize:()=>HU,overscan:UU,scrollMargin:a});return(0,I.useLayoutEffect)(()=>{let e=t.current,n=i.current;if(!e||!n)return;let r=()=>{let t=n.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop;o(e=>Math.abs(e-t)<.5?e:t)};r();let a=new ResizeObserver(r);return a.observe(e),()=>a.disconnect()}),(0,L.jsx)(`div`,{ref:i,"data-done-band":!0,className:`relative w-full`,style:{height:s.getTotalSize()},children:s.getVirtualItems().map(t=>{let i=e[t.index];return i?(0,L.jsxs)(`div`,{ref:s.measureElement,"data-index":t.index,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${t.start-a}px)`},children:[(0,L.jsx)(JU,{t:i,active:n===i.id,onQueueNavigate:r}),(0,L.jsx)($U,{t:i})]},i.id):null})})}var GU=16,KU=12;function qU({title:e,children:t}){let n=e.trimEnd(),r=n.lastIndexOf(` `)+1,i=n.length-r<=GU?r:n.length-KU;return i>=n.length?(0,L.jsxs)(L.Fragment,{children:[e,t]}):(0,L.jsxs)(L.Fragment,{children:[n.slice(0,i),(0,L.jsxs)(`span`,{className:`whitespace-nowrap`,children:[n.slice(i),t]})]})}var JU=(0,I.memo)(function({t:e,legacy:t,active:n=!1,onQueueNavigate:r,restedAge:i=!1}){let a=!t&&e.foreign===!0,o=!t&&XT(e),s=!t&&iE(e)===`archived`,c=o||s,l=!t&&PT(e),u=!t&&aE(e),d=!t&&WT(e);return(0,L.jsxs)(`div`,{"data-sidebar-item":e.id,className:`group relative flex min-w-0 items-start rounded-md transition-[color,opacity] after:pointer-events-none after:absolute after:inset-0 after:rounded-md after:bg-white/[0.04] after:opacity-0 after:transition-opacity hover:after:opacity-100 ${t?`opacity-80`:c?`opacity-65 hover:opacity-90 focus-within:opacity-90`:``}`,children:[(0,L.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,L.jsx)(`span`,{"data-sidebar-scroll-marker":!0,className:`absolute inset-y-0 left-1 w-[2px] rounded-full bg-accent`})}),(0,L.jsxs)(`button`,{onClick:()=>{if(e.needsYou&&kp(e.id)){r?.(e.id);return}wp(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,L.jsx)(`span`,{className:`w-4 h-[19px] shrink-0 flex items-center justify-center`,children:(0,L.jsx)(iW,{t:e,legacy:t})}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 flex flex-col`,children:(0,L.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-3`,children:[(0,L.jsx)(`span`,{className:`min-w-0 flex-1 break-words text-[13px] leading-[19px] ${l?`text-fg/50`:c?`text-fg/75`:`text-fg/90`}`,children:(0,L.jsxs)(qU,{title:DT(e),children:[!t&&(0,L.jsx)(Uz,{backend:e.backend,className:`ml-1`}),a&&(0,L.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,L.jsx)(eW,{status:e.archived?`archived`:e.status})]})}),i&&(0,L.jsx)(YU,{t:e,yieldsToRetry:!0}),d&&!i&&(0,L.jsx)(ZU,{})]})})]}),t&&(0,L.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,L.jsx)(QI,{slug:e.id,size:`sm`})}),!t&&(0,L.jsxs)(`div`,{className:`absolute right-1.5 top-1 hidden items-center gap-0.5 bg-bg group-hover:flex group-focus-within:flex before:pointer-events-none before:absolute before:inset-y-0 before:right-full before:w-3 before:bg-linear-to-r before:from-transparent before:to-bg`,children:[!a&&!d&&(0,L.jsx)(QU,{t:e,className:`-mr-0.5`}),(0,L.jsx)(lM,{slug:e.id,size:12,className:RU}),u&&(0,L.jsx)(XU,{slug:e.id}),!a&&d&&(0,L.jsx)(QU,{t:e})]})]})});function YU({t:e,yieldsToRetry:t}){let n=kE(),r=RT(e),i=gE(r,n);return!r||!i?null:(0,L.jsx)(`time`,{dateTime:r,"data-rail-rested-age":!0,title:pE(r,n)??void 0,"aria-label":`Rested ${pE(r,n)??i}`,className:`shrink-0 tabular-nums text-[10.5px] leading-[19px] text-muted/55 ${t?`transition-opacity group-hover:opacity-0 group-focus-within:opacity-0`:``}`,children:i})}function XU({slug:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return(0,L.jsx)(cM,{label:`Retry — resume this session where it left off`,children:(0,L.jsx)(`button`,{"data-sidebar-retry":e,"aria-label":`Retry exited session`,disabled:n,onMouseDown:e=>e.preventDefault(),onClick:n=>{n.stopPropagation(),r(!0),uU(t,e).finally(()=>r(!1))},className:`${RU} disabled:opacity-50`,children:n?(0,L.jsx)(eh,{size:13,className:`animate-spin`}):(0,L.jsx)(hh,{size:13})})})}function ZU(){return(0,L.jsx)(`span`,{"aria-hidden":!0,"data-rail-pin-mark":!0,className:`-ml-1 flex h-[19px] w-[19px] shrink-0 items-center justify-center self-start text-muted opacity-55 transition-opacity group-hover:opacity-0 group-focus-within:opacity-0`,children:(0,L.jsx)(uh,{size:12,fill:`currentColor`})})}function QU({t:e,className:t=``}){let n=WT(e),[r,i]=(0,I.useState)(!1);return(0,L.jsx)(cM,{label:n?`Unpin — return this thread to the rail's bands`:`Pin — keep this thread at the very top`,children:(0,L.jsx)(`button`,{"data-sidebar-pin":e.id,"aria-label":n?`Unpin thread`:`Pin thread`,disabled:r,onMouseDown:e=>e.preventDefault(),onClick:t=>{t.stopPropagation(),i(!0),Y.setThreadPinned({slug:e.id,sessionId:e.sessionId??``,pinned:!n}).catch(e=>Z(`${n?`Unpin`:`Pin`} failed: ${String(e instanceof Error?e.message:e).slice(0,80)}`)).finally(()=>i(!1))},className:`${RU} disabled:opacity-50 ${t}`,children:n?(0,L.jsx)(lh,{size:12,fill:`currentColor`}):(0,L.jsx)(uh,{size:12})})})}function $U({t:e}){let t=dD(e.subAgents??[],`rail`);return t.length===0?null:(0,L.jsx)(`div`,{className:`flex flex-col`,children:t.map(t=>(0,L.jsx)(mD,{kind:`AGENT`,label:t.label,state:t.state,density:`rail`,depth:t.depth,startedAt:t.startedAt,parentSlug:e.id,onOpen:()=>Sp(e.id,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}),onDismiss:dM(e.id,t),title:t.subagentType?`[${t.subagentType}] ${t.label}`:t.label},t.id))})}function eW({status:e}){let t=e===`archived`?`Done`:e;return(0,L.jsx)(`span`,{className:`petite-caps ml-1.5 inline-block rounded border px-1 align-[2px] leading-[14px] text-[9.5px] ${ET[e]??`text-muted border-border`}`,children:t})}function tW(e,t,n=null){return[[t,SU(e.lastFence?.kind===`awaiting`?e.lastFence.hints:[]),n].filter(e=>!!e).join(` — `),nW(e)].filter(e=>!!e).join(`
|
|
202
202
|
|
|
@@ -298,7 +298,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
298
298
|
`).split(`
|
|
299
299
|
`),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(XJ);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 QJ=nu,$J=RegExp(`^(\\d+)\\.\\s+(⤷\\s+)?[“"](.*?)[”"]\\s+→\\s+(.*)$`);function eY(e){if(!e)return null;let t=e.replace(/\r\n?/g,`
|
|
300
300
|
`).split(`
|
|
301
|
-
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==QJ)return null;n++;let r=[];for(;n<t.length;n++){let e=t[n],i=e.match($J);if(i){let e=i[3].trim(),t={n:Number(i[1]),answer:i[4]};e&&(t.question=e),i[2]&&(t.followUp=!0),r.push(t)}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 tY(e){return eY(e)??ZJ(e)}var nY=e=>e.displayText??e.text;function rY(e){return e.role!==`user`||e.kind===`event`||e.kind===`reasoning`?!1:tY(nY(e))!==null}var iY=e=>`${e.question??``}${e.answer}`;function aY(e,t){let n=t?tY(t):null;if(!n?.length)return null;let r=new Set;for(let t of e)if(!(t.role!==`user`||t.kind===`event`||t.kind===`reasoning`))for(let e of tY(nY(t))??[])r.add(iY(e));if(r.size===0)return n;let i=n.filter(e=>!r.has(iY(e)));return i.length>0?i:null}function oY(e,t){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`)return null;if(!t.text.includes("```question"))continue;let r=uJ(t.text).filter(e=>e.kind===`question`);if(r.length>0)return r}return null}var sY=e=>e.kind===`question`?CJ(e.text,e.questionKind,e.danger).contextMd.trim():``;function cY(e,t){if(t.length!==1)return null;let n=e.trim();if(!n)return null;let r=t[0];if(r.kind!==`question`)return null;let i=CJ(r.text,r.questionKind,r.danger);if(!i.options.some(e=>e.trim()===n))return null;let a=i.contextMd.trim();return[a?{n:1,answer:n,question:a}:{n:1,answer:n}]}function lY(e,t){let n=e[t];if(!n||n.role!==`user`||n.kind===`event`)return null;let r=nY(n),i=eY(r);if(i)return i;let a=ZJ(r),o=oY(e,t);return a?!o||!a.every((e,t)=>Number.isInteger(e.n)&&e.n>=1&&e.n<=o.length&&(t===0||e.n>a[t-1].n))?a:a.map(e=>{let t=sY(o[e.n-1]);return t?{...e,question:t}:{...e}}):o?cY(r,o):null}function uY(e){return e.map((t,n)=>lY(e,n))}function dY(e){return e.role===`user`&&e.kind!==`event`&&e.kind!==`reasoning`}function fY(e){for(let t=e.length-1;t>=0;t--){if(e[t].role===`assistant`)return!0;if(dY(e[t]))return!1}return!1}function pY(e,t){let n=Date.parse(t),r=e.length-1;if(!Number.isFinite(n))return r;for(let t=0;t<e.length;t++){let r=e[t];if(!dY(r))continue;let i=r.at?Date.parse(r.at):NaN;if(!(!Number.isFinite(i)||i<=n))return t-1}return r}function mY(e,t,n={}){if(n.atRest&&t.length>0&&fY(e))return new Map([[e.length-1,[...t]]]);let r=new Map;for(let n of t){let t=pY(e,n.askedAt),i=r.get(t);i?i.push(n):r.set(t,[n])}return r}function hY(e,t){for(let n=t;n>=0;n--)if(gY(e[n]))return n+1;return 0}function gY(e){return e.role===`user`&&e.kind!==`event`&&e.kind!==`reasoning`}function _Y(e,t){let n=new Map;for(let[r,i]of mY(e,t))for(let t=hY(e,r);t<e.length;t++){if(gY(e[t]))continue;let r=n.get(t);r?r.push(...i):n.set(t,[...i])}return n}var vY=12;function yY(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/[*_~`]/g,``).replace(/\s+/g,` `).trim().toLowerCase()}function bY(e){let t=e.indexOf(`?`);return t===-1?void 0:e.slice(0,t+1)}function xY(e,t){if(t.length===0)return!1;let n=yY(CJ(e,`question`).contextMd);if(n.length<vY)return!1;let r=bY(n);return t.some(({spec:e})=>{let t=yY(e.question);if(t.length<vY)return!1;if(n.includes(t)||t.startsWith(n))return!0;let i=bY(t);return i!==void 0&&i.length>=vY&&n.includes(i)?!0:r!==void 0&&r.length>=vY&&t.includes(r)})}function SY(e,t){if(t.length===0||!e.includes("```question"))return!1;let n=uJ(e).filter(e=>e.kind===`question`);return n.length>0&&n.every(e=>e.kind===`question`&&CY(e,t)!==void 0)}function CY(e,t){return e.registeredId?t.find(t=>t.id.toLowerCase()===e.registeredId):t.find(t=>xY(e.text,[t]))}function wY(e){return e.includes("```question")?uJ(e).flatMap(e=>e.kind===`question`&&e.registeredId&&e.text.trim()===``?[e.registeredId]:[]):[]}function TY(e,t){let
|
|
301
|
+
`),n=0;for(;n<t.length&&!t[n].trim();)n++;if(n>=t.length||t[n].trim()!==QJ)return null;n++;let r=[];for(;n<t.length;n++){let e=t[n],i=e.match($J);if(i){let e=i[3].trim(),t={n:Number(i[1]),answer:i[4]};e&&(t.question=e),i[2]&&(t.followUp=!0),r.push(t)}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 tY(e){return eY(e)??ZJ(e)}var nY=e=>e.displayText??e.text;function rY(e){return e.role!==`user`||e.kind===`event`||e.kind===`reasoning`?!1:tY(nY(e))!==null}var iY=e=>`${e.question??``}${e.answer}`;function aY(e,t){let n=t?tY(t):null;if(!n?.length)return null;let r=new Set;for(let t of e)if(!(t.role!==`user`||t.kind===`event`||t.kind===`reasoning`))for(let e of tY(nY(t))??[])r.add(iY(e));if(r.size===0)return n;let i=n.filter(e=>!r.has(iY(e)));return i.length>0?i:null}function oY(e,t){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`)return null;if(!t.text.includes("```question"))continue;let r=uJ(t.text).filter(e=>e.kind===`question`);if(r.length>0)return r}return null}var sY=e=>e.kind===`question`?CJ(e.text,e.questionKind,e.danger).contextMd.trim():``;function cY(e,t){if(t.length!==1)return null;let n=e.trim();if(!n)return null;let r=t[0];if(r.kind!==`question`)return null;let i=CJ(r.text,r.questionKind,r.danger);if(!i.options.some(e=>e.trim()===n))return null;let a=i.contextMd.trim();return[a?{n:1,answer:n,question:a}:{n:1,answer:n}]}function lY(e,t){let n=e[t];if(!n||n.role!==`user`||n.kind===`event`)return null;let r=nY(n),i=eY(r);if(i)return i;let a=ZJ(r),o=oY(e,t);return a?!o||!a.every((e,t)=>Number.isInteger(e.n)&&e.n>=1&&e.n<=o.length&&(t===0||e.n>a[t-1].n))?a:a.map(e=>{let t=sY(o[e.n-1]);return t?{...e,question:t}:{...e}}):o?cY(r,o):null}function uY(e){return e.map((t,n)=>lY(e,n))}function dY(e){return e.role===`user`&&e.kind!==`event`&&e.kind!==`reasoning`}function fY(e){for(let t=e.length-1;t>=0;t--){if(e[t].role===`assistant`)return!0;if(dY(e[t]))return!1}return!1}function pY(e,t){let n=Date.parse(t),r=e.length-1;if(!Number.isFinite(n))return r;for(let t=0;t<e.length;t++){let r=e[t];if(!dY(r))continue;let i=r.at?Date.parse(r.at):NaN;if(!(!Number.isFinite(i)||i<=n))return t-1}return r}function mY(e,t,n={}){if(n.atRest&&t.length>0&&fY(e))return new Map([[e.length-1,[...t]]]);let r=new Map;for(let n of t){let t=pY(e,n.askedAt),i=r.get(t);i?i.push(n):r.set(t,[n])}return r}function hY(e,t){for(let n=t;n>=0;n--)if(gY(e[n]))return n+1;return 0}function gY(e){return e.role===`user`&&e.kind!==`event`&&e.kind!==`reasoning`}function _Y(e,t){let n=new Map;for(let[r,i]of mY(e,t))for(let t=hY(e,r);t<e.length;t++){if(gY(e[t]))continue;let r=n.get(t);r?r.push(...i):n.set(t,[...i])}return n}var vY=12;function yY(e){return e.replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/[*_~`]/g,``).replace(/\s+/g,` `).trim().toLowerCase()}function bY(e){let t=e.indexOf(`?`);return t===-1?void 0:e.slice(0,t+1)}function xY(e,t){if(t.length===0)return!1;let n=yY(CJ(e,`question`).contextMd);if(n.length<vY)return!1;let r=bY(n);return t.some(({spec:e})=>{let t=yY(e.question);if(t.length<vY)return!1;if(n.includes(t)||t.startsWith(n))return!0;let i=bY(t);return i!==void 0&&i.length>=vY&&n.includes(i)?!0:r!==void 0&&r.length>=vY&&t.includes(r)})}function SY(e,t){if(t.length===0||!e.includes("```question"))return!1;let n=uJ(e).filter(e=>e.kind===`question`);return n.length>0&&n.every(e=>e.kind===`question`&&CY(e,t)!==void 0)}function CY(e,t){return e.registeredId?t.find(t=>t.id.toLowerCase()===e.registeredId):t.find(t=>xY(e.text,[t]))}function wY(e){return e.includes("```question")?uJ(e).flatMap(e=>e.kind===`question`&&e.registeredId&&e.text.trim()===``?[e.registeredId]:[]):[]}function TY(e,t,n={}){let r=new Map,i=new Set;if(t.length===0)return{placed:r,placedIds:i};let a=new Map,o=t=>{let n=a.get(t);if(n===void 0){let r=e[t];n=r.role===`assistant`&&r.text?wY(r.text):[],a.set(t,n)}return n};for(let[a,s]of mY(e,t,n))for(let t of s){let n=t.id.toLowerCase(),s=-1;for(let t=hY(e,a);t<e.length;t++)gY(e[t])||o(t).includes(n)&&(s=t);if(s<0)continue;let c=r.get(s);c?c.push(t):r.set(s,[t]),i.add(t.id)}return{placed:r,placedIds:i}}function EY({h:e=14}){return(0,L.jsx)(`div`,{"aria-hidden":!0,className:`shrink-0`,style:{height:e}})}function DY({icon:e,children:t,sourceId:n,ariaLabel:r,marker:i,at:a,onClick:o,ariaExpanded:s,ariaControls:c}){let l=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70 transition-colors group-hover/wake:bg-border`}),(0,L.jsxs)(`span`,{className:`petite-caps flex min-w-0 items-center gap-1 break-words text-center text-[12px] text-muted/70 transition-colors group-hover/wake:text-fg`,children:[e&&(0,L.jsx)(e,{"aria-hidden":`true`,size:12,className:kY}),t,(0,L.jsx)(OY,{at:a})]}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-px flex-1 bg-border/70 transition-colors group-hover/wake:bg-border`})]});return o?(0,L.jsx)(`button`,{type:`button`,"data-wake-divider":i,onClick:o,onMouseDown:e=>e.preventDefault(),"aria-label":r,"aria-expanded":s,"aria-controls":c,className:`group/wake my-1 flex w-full items-center gap-3 rounded-sm text-left outline-none focus-visible:ring-1 focus-visible:ring-fg/60`,children:l}):(0,L.jsx)(`div`,{"data-frizz-msg":n,"data-wake-divider":i,className:`my-1 flex items-center gap-3`,role:r?`separator`:void 0,"aria-label":r,children:l})}function OY({at:e}){let t=vE(e,kE());return t?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{title:yE(e)??void 0,className:`shrink-0 tabular-nums`,children:t})]}):null}var kY=`shrink-0 translate-y-[0.04em]`;function AY(e,t,n){return e===1?n?`New ${t} from @${n}`:`New ${t}`:`${e} new items`}var jY=`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`;function MY({steer:e,text:t,sourceId:n,at:r,wrap:i}){let a=Ol(t);if(a)return(0,L.jsx)(BY,{wake:a,sourceId:n,at:r});let o=Al(t);if(o)return(0,L.jsx)(PY,{wake:o,sourceId:n});let s=Pl(t);if(s)return(0,L.jsx)(RY,{window:s.window,sourceId:n,at:r});let c=Ml(t);if(c)return(0,L.jsx)(zY,{capped:c.capped,to:c.to,sourceId:n,at:r});let l=Rl(t);if(l)return(0,L.jsx)(IY,{wake:l,sourceId:n,at:r});let u=Bl(t);if(u)return(0,L.jsx)(LY,{watchRef:u.ref,sourceId:n,at:r});let d=iu(t);if(d)return(0,L.jsx)(FY,{count:d.count,sourceId:n,at:r});let f=Yu(t),p=qu(t),m=e??Hu(f||p?t.split(`
|
|
302
302
|
`).filter(e=>!Yu(e)&&!qu(e)).join(`
|
|
303
303
|
`):t);return!m&&!f&&!p?(0,L.jsx)(`div`,{"data-frizz-msg":n,"data-frizz-wake":!0,className:`min-w-0 max-w-[85%]`,children:(0,L.jsx)(BJ,{icon:_m,label:`Frizz`,children:(0,L.jsx)(NY,{text:Eu(t),wrap:i})})}):f||p?(0,L.jsxs)(`div`,{"data-frizz-wake":!0,className:`flex flex-col`,children:[f&&(0,L.jsx)(VY,{wake:f,sourceId:n,at:r}),p&&(0,L.jsxs)(L.Fragment,{children:[f&&(0,L.jsx)(EY,{}),(0,L.jsx)(HY,{wake:p,sourceId:f?void 0:n,at:r})]}),m&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(EY,{}),(0,L.jsx)(UY,{steer:m,text:t,at:r})]})]}):(0,L.jsx)(UY,{steer:m,text:t,sourceId:n,at:r})}function NY({text:e,wrap:t}){let n=zq(eq(e));return(0,L.jsx)(`div`,{className:`md-body [overflow-wrap:anywhere]${t?` ${MJ}`:``}`,dangerouslySetInnerHTML:n})}function PY({wake:e,sourceId:t}){let[n,r]=(0,I.useState)(!1),i=(0,I.useId)();return(0,L.jsxs)(`div`,{"data-frizz-msg":t,className:`flex flex-col`,children:[(0,L.jsxs)(DY,{icon:pm,marker:`timer`,at:e.at,onClick:()=>r(e=>!e),ariaExpanded:n,ariaControls:i,ariaLabel:`${n?`Collapse`:`Expand`} the text this timer handed back`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`Timer`}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:n?`Click to collapse`:`Click to expand`})]}),n&&(0,L.jsx)(`div`,{id:i,className:`mt-1.5 whitespace-pre-wrap border-l border-border/70 pl-3 text-[13px] text-muted [overflow-wrap:anywhere]`,children:e.prompt})]})}function FY({count:e,sourceId:t,at:n}){let r=`${e} question${e===1?``:`s`} cancelled — the worker decides ${e===1?`it`:`them`} itself`;return(0,L.jsx)(DY,{icon:nh,sourceId:t,marker:`event`,ariaLabel:r,at:n,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:r})})}function IY({wake:e,sourceId:t,at:n}){let[r,i]=(0,I.useState)(!1),a=(0,I.useId)(),o=e.kind===`expired`?`Wait expired — nothing resolved`:`Wait over — its work finished`;return e.items.length?(0,L.jsxs)(`div`,{"data-frizz-msg":t,className:`flex flex-col`,children:[(0,L.jsxs)(DY,{icon:qm,marker:`event`,at:n,onClick:()=>i(e=>!e),ariaExpanded:r,ariaControls:a,ariaLabel:`${r?`Collapse`:`Expand`} what this wait named`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:o}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:r?`Click to collapse`:`Click to expand`})]}),r&&(0,L.jsx)(`div`,{id:a,className:`mt-1.5 whitespace-pre-wrap border-l border-border/70 pl-3 text-[13px] text-muted [overflow-wrap:anywhere]`,children:e.items.join(`
|
|
304
304
|
`)})]}):(0,L.jsx)(DY,{icon:qm,sourceId:t,marker:`event`,ariaLabel:o,at:n,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:o})})}function LY({watchRef:e,sourceId:t,at:n}){let r=dU(e);return(0,L.jsx)(DY,{icon:Km,sourceId:t,marker:`event`,ariaLabel:`Watcher on ${e} expired`,at:n,children:(0,L.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`Watcher on`,` `,r?(0,L.jsx)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:jY,children:e}):e,` `,`expired`]})})}function RY({window:e,sourceId:t,at:n}){let r=`${e===`weekly`?`Weekly usage limit`:e===`session`?`Session usage limit`:`Usage limit`} reset — resuming`;return(0,L.jsx)(DY,{icon:qm,sourceId:t,marker:`limit-resume`,ariaLabel:r,at:n,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:r})})}function zY({capped:e,to:t,sourceId:n,at:r}){let i=`${e} limit — switched to ${t}`;return(0,L.jsx)(DY,{icon:qm,sourceId:n,marker:`limit-model-switch`,ariaLabel:i,at:r,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:i})})}function BY({wake:e,sourceId:t,at:n}){let r=`Background task «${e.label.length>64?`${e.label.slice(0,63)}…`:e.label}» ${e.outcome}`;return(0,L.jsx)(DY,{icon:Sh,sourceId:t,marker:`event`,ariaLabel:r,at:n,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:r})})}function VY({wake:e,sourceId:t,at:n}){let r=dU(e.ref),i=r?(0,L.jsx)(`a`,{href:r,target:`_blank`,rel:`noreferrer noopener`,className:jY,children:e.ref}):(0,L.jsx)(`span`,{children:e.ref}),a=e.kind===`ci`?e.verdict===`passing`?`passed`:e.verdict===`failing`?`failed`:`awaiting approval`:``,o=e.kind===`ci`?`CI ${a} on `:`PR ${e.kind} on `,s=e.kind===`ci`?e.verdict===`failing`&&e.failing.length?`: ${e.failing.join(`, `)}`:e.verdict===`gated`&&e.gating.length?`: ${e.gating.join(`, `)}`:``:``,c=e.kind===`ci`?e.verdict===`passing`&&e.passed!==void 0?`${e.passed} ${e.passed===1?`check`:`checks`} green${e.skipped?`, ${e.skipped} skipped`:``}`:e.verdict===`gated`?`${e.gated} ${e.gated===1?`workflow`:`workflows`} held`:null:null;return(0,L.jsxs)(DY,{icon:Km,sourceId:t,marker:`github`,at:n,ariaLabel:r?void 0:`${o}${e.ref}${s}${c?` · ${c}`:``}`,children:[(0,L.jsxs)(`span`,{className:`min-w-0 truncate`,children:[o,i,s]}),c&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:c})]})]})}function HY({wake:e,sourceId:t,at:n}){let r=dU(e.ref),i=r?(0,L.jsx)(`a`,{href:r,target:`_blank`,rel:`noreferrer noopener`,className:jY,children:e.ref}):(0,L.jsx)(`span`,{children:e.ref});return(0,L.jsx)(DY,{icon:Km,sourceId:t,marker:`github`,at:n,ariaLabel:r?void 0:`PR updated on ${e.ref}: ${e.detail}`,children:(0,L.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`PR updated on `,i,`: ${e.detail}`]})})}function UY({steer:e,text:t,sourceId:n,at:r}){let i=dU(e.ref),a=e.items.length+e.omitted,o=Iu(t),s=!o&&e.items.length===1&&e.omitted===0?e.items[0]:null,c=s?.url??i,l=o?`${a} ${a===1?`item`:`items`} already`:AY(a,e.items[0]?.label??`item`,s?.actor),u=c?(0,L.jsx)(`a`,{href:c,target:`_blank`,rel:`noreferrer noopener`,className:jY,children:e.ref}):(0,L.jsx)(`span`,{children:e.ref});return(0,L.jsx)(DY,{icon:Km,sourceId:n,marker:`github`,at:s?.at??r,ariaLabel:c?void 0:`${l} on ${e.ref}`,children:(0,L.jsxs)(`span`,{className:`min-w-0 truncate`,children:[l,` on `,u]})})}function WY({bump:e,sourceId:t,at:n}){let r=e.kind===`schedule`;if(e.kind===`signoff`){let e=`Frizz asked for a sign-off`;return(0,L.jsx)(DY,{icon:yh,sourceId:t,marker:`rest`,ariaLabel:e,at:n,children:e})}let i=r?`Goal${e.every?` · every ${e.every}`:``}`:`Goal · at rest`;return(0,L.jsx)(DY,{icon:r?wh:mh,sourceId:t,marker:r?`schedule`:`rest`,ariaLabel:i,at:n,children:i})}var GY=/(^|[^\w/.@-])(https?:\/\/[^\s<>`]+|www\.[a-z0-9-]+(?:\.[a-z0-9-]+)+(?:[^\s<>`]*)?)/gi,KY=new Set([`.`,`,`,`:`,`;`,`!`,`?`,`*`,`_`,`~`,`'`,`"`]),qY={")":`(`,"]":`[`,"}":`{`};function JY(e){let t=e;for(;;){let e=t[t.length-1];if(e!==void 0&&KY.has(e)){t=t.slice(0,-1);continue}let n=e===void 0?void 0:qY[e];if(n){let r=0;for(let i of t)i===n?r++:i===e&&r--;if(r<0){t=t.slice(0,-1);continue}}break}return t}function YY(e,t){if(t===``)return;let n=0;for(let r of af(t))r.start>n&&e.push({kind:`text`,text:t.slice(n,r.start)}),e.push({kind:`link`,text:r.text,href:r.href,title:r.title,ghRef:$d(r.href)}),n=r.start+r.text.length;n<t.length&&e.push({kind:`text`,text:t.slice(n)})}function XY(e){let t=[],n=0;GY.lastIndex=0;for(let r=GY.exec(e);r;r=GY.exec(e)){let[,i,a]=r,o=JY(a);if(/^https?:\/\/$/i.test(o)||o===``)continue;let s=r.index+i.length;GY.lastIndex=s+o.length;let c=/^www\./i.test(o)?`http://${o}`:o;s>n&&YY(t,e.slice(n,s)),t.push({kind:`link`,text:o,href:c,ghRef:$d(c)}),n=s+o.length}return n<e.length&&YY(t,e.slice(n)),t}function ZY({text:e}){let t=(0,I.useMemo)(()=>XY(e),[e,QK()]),n=(0,I.useMemo)(()=>t.flatMap(e=>e.kind===`link`&&e.ghRef?[e.ghRef]:[]),[t]);return(0,I.useEffect)(()=>{n.length>0&&Ff(n)},[n]),(0,L.jsx)(L.Fragment,{children:t.map((e,t)=>e.kind===`text`?e.text:(0,L.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,title:e.title,"data-gh-ref":e.ghRef??void 0,className:`underline underline-offset-2`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:e.text},t))})}function QY({answers:e,queued:t,sourceId:n}){return(0,L.jsx)(`div`,{"data-frizz-msg":n,"data-answers-card":!0,className:`self-end flex w-full max-w-[85%] flex-col items-end ${t?`opacity-50`:``}`,children:(0,L.jsxs)(`div`,{className:`w-full min-w-0 ${NJ} rounded-br-sm border border-border-strong bg-elevated p-4`,children:[(0,L.jsx)(RJ,{icon:$m,label:`Answers`}),(0,L.jsx)(zJ,{children:(0,L.jsx)(`div`,{className:`flex flex-col gap-2.5`,children:e.map((e,t)=>(0,L.jsxs)(`div`,{className:e.followUp?`ml-3 flex flex-col gap-1 border-l border-border pl-3`:`flex flex-col gap-1`,children:[e.question&&(0,L.jsx)(`div`,{title:e.question,className:`line-clamp-2 min-w-0 text-[11px] leading-snug text-muted`,children:e.question}),(0,L.jsxs)(`div`,{className:`flex items-start gap-2`,children:[!e.question&&(0,L.jsx)(`span`,{className:`mt-1.5 shrink-0 text-[10px] uppercase tabular-nums tracking-wide text-muted/70`,children:e.n}),(0,L.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:(0,L.jsx)(ZY,{text:e.answer})})]})]},t))})})]})})}function $Y(e){return e.sourceId??`legacy-${lX(e.text)}`}function eX(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind===`event`||n.kind===`reasoning`)&&n.role===`assistant`&&n.text.trim())return t}return-1}var tX=e=>uJ(e).filter(e=>e.kind===`question`).map(e=>e.kind===`question`?CJ(e.text,e.questionKind,e.danger):CJ(``,`question`));function nX(){let e=new Set;return(t,n)=>{let r=$Y(t);return e.has(r)&&(r=`${r}#${n}`),e.add(r),r}}function rX(e){let t=eX(e),n=nX(),r=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.kind===`event`||a.kind===`reasoning`||a.role!==`assistant`||!a.text.trim()||!a.text.includes("```question"))continue;let o=tX(a.text);o.length>0&&r.push({idx:i,identity:n(a,i),blocks:o,isLive:i===t})}return r}function iX(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind===`event`||n.kind===`reasoning`)){if(n.role===`user`&&n.text.trim())break;if(!(n.role!==`assistant`||!n.text.trim())&&tX(n.text).length>0)return t}}return-1}function aX(e){let{answered:t,live:n}=e;return t.length>0&&t.every(e=>e.isLive)&&n?`Answers:\n${n.numbered.map(({n:e,a:t})=>`${e}. ${t}`).join(`
|
|
@@ -306,14 +306,14 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
306
306
|
`)}`}function oX(e,t,n,r={}){let i=lU(e),[a,o]=(0,I.useState)({}),s=(0,I.useMemo)(()=>rX(t),[t]),c=(0,I.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]),l=(0,I.useMemo)(()=>iX(t)!==-1,[t]),u=Mz(),d=Nz(e),f=(0,I.useCallback)((t,n)=>jz.answer(u,e,d,t,n),[u,e,d]),p=(0,I.useMemo)(()=>s.flatMap(e=>e.blocks.map((t,n)=>f(e.identity,n))),[s,f]),m=Fz(p),h=(0,I.useRef)(n);h.current=n;let g=(0,I.useRef)(r.onSendFailed);g.current=r.onSendFailed;let _=(0,I.useCallback)((e,t)=>({...a[`${e}::${t}`]??{chosen:null,text:``},text:m.get(f(e,t))??``}),[a,m,f]),v=(0,I.useMemo)(()=>{let e=new Map;for(let t of s)e.set(t.identity,t);return e},[s]),y=(0,I.useCallback)((e,t,n)=>{let r=v.get(e)?.blocks[t],i=`${e}::${t}`;o(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:t.text}}})},[v]),b=(0,I.useCallback)((e,t,n)=>{let r=v.get(e)?.blocks[t];kz.set(f(e,t),n),o(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,f]),x=s.some(e=>e.blocks.some((t,n)=>DJ(t,_(e.identity,n))!==``)),S=r.scrollToBottom!==!1,C=(0,I.useCallback)((e,t={})=>{i.submit(e,{...t,scrollToBottom:S,onRollback:()=>{t.onRollback?.(),g.current?.()}})&&h.current?.()},[i,S]),w=(0,I.useCallback)(e=>{let t=typeof e==`string`?e:void 0,n=t?s.filter(e=>e.identity===t):s,r=t?n.flatMap(e=>e.blocks.map((t,n)=>f(e.identity,n))):p,i=n.flatMap(e=>e.blocks.map((t,n)=>`${e.identity}::${n}`)),c=(e,t)=>DJ(e.blocks[t],_(e.identity,t)),l=n.flatMap(e=>e.blocks.map((t,n)=>({ask:e,bi:n,question:cX(t),answer:c(e,n)})).filter(e=>e.answer!==``));if(l.length===0)return;let u=n.find(e=>e.isLive),d=aX({answered:l.map(e=>({isLive:e.ask.isLive,question:e.question,answer:e.answer})),live:u&&{numbered:u.blocks.map((e,t)=>({n:t+1,a:c(u,t)})).filter(({a:e})=>e!==``)}}),m=a,h=r.map(e=>[e,kz.get(e)]);C(d,{onOptimistic:()=>{r.forEach(e=>kz.clear(e)),o(e=>{let t={...e};for(let e of i)delete t[e];return t})},onRollback:()=>{o(e=>{let t={...e};for(let e of i)m[e]?t[e]=m[e]:delete t[e];return t}),h.forEach(([e,t])=>{t&&!kz.get(e)&&kz.set(e,t)})}})},[a,s,_,C,p,f]),T=(0,I.useCallback)(e=>{let t=v.get($Y(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)=>DJ(e,_(t.identity,n))!==``),sending:i.pending}},[v,_,y,b,w,i.pending]);return{liveMsg:c,answering:(0,I.useMemo)(()=>c?T(c):void 0,[c,T]),answeringForMessage:T,answerable:l,anyAnswered:x,sending:i.pending,sendAnswers:w,sendMessage:C}}function sX(e){let t=e.split(`
|
|
307
307
|
`).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>120?`${t.slice(0,117)}…`:t}function cX(e){return sX(e.contextMd)||sX(e.options.join(` / `))||`earlier question`}function lX(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 uX({raw:e,question:t,questionKind:n,danger:r,interactive:i,wrap:a,aside:o,label:s,settled:c}){let l=(0,I.useMemo)(()=>t??CJ(e??``,n??`question`,r),[t,e,n,r]),u=eq(l.contextMd),d=eq(l.trailingMd??``),f=l.recommendedIdx,p=nq(l.recommendation??``),m=l.kind===`multi`,h=l.danger,g=i?.answer.chosen??null,_=i?.answer.chosenSet??[],v=i?.answer.text??``,y=(0,I.useRef)(null),b=(0,I.useRef)(null);return(0,I.useLayoutEffect)(()=>{let e=y.current;e&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight+e.offsetHeight-e.clientHeight}px`)},[v]),(0,L.jsxs)(BJ,{tone:h?`risk`:`neutral`,icon:h?Th:void 0,label:s??(m?`Select multiple`:`Question`),aside:o,children:[u&&(0,L.jsx)(`div`,{className:`text-fg`,children:(0,L.jsx)($q,{className:`md-body${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:u})}),(l.options.length>0||i)&&(0,L.jsxs)(`div`,{ref:b,tabIndex:-1,onKeyDown:e=>{!i||e.target!==e.currentTarget||oR({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(),e.stopPropagation(),i.onSubmit())},className:`mt-2 grid grid-cols-1 gap-1.5 outline-none`,children:[l.options.map((e,t)=>(0,L.jsxs)(I.Fragment,{children:[l.optionHeadings?.[t]&&(0,L.jsx)(dX,{md:l.optionHeadings[t],wrap:a}),(0,L.jsx)(pX,{label:e,bodyMd:l.optionBodies?.[t],wrap:a,multi:m,recommended:f===t,recTitle:f===t?l.recommendedNote:void 0,selected:m?_.includes(t):g===t,settledPick:c?.chosenIdxs.includes(t)??!1,disabled:!i,onClick:()=>{i?.onChip(t,e),!(m&&y.current&&document.activeElement===y.current)&&b.current?.focus()}})]},t)),i&&(0,L.jsx)(`textarea`,{ref:y,rows:1,"data-surface":`questionAnswer`,value:v,onChange:e=>i.onText(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`){e.preventDefault(),e.currentTarget.blur();return}oR({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:()=>{!m&&g!==null&&i.onText(v)},placeholder:m?`Add a note…`:l.options.length?`${fX(l.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 ${v.trim()&&(m||g===null)?`border-accent bg-accent/10`:`border-border bg-transparent hover:bg-panel-2 focus:border-accent`}`})]}),c?.text&&(0,L.jsx)(`div`,{className:`mt-2 whitespace-pre-wrap [overflow-wrap:anywhere] rounded-md border border-border-strong border-l-2 border-l-accent/40 bg-bg/50 py-1.5 pl-[11px] pr-3 text-[12px] leading-snug text-fg`,children:c.text}),c&&c.chosenIdxs.length===0&&!c.text&&(0,L.jsx)(`div`,{className:`mt-2 text-[11px] text-muted/70`,children:`Not answered`}),l.trailingMd&&(0,L.jsx)($q,{className:`mt-2 md-body text-[12px] text-muted/70${a?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:d}),l.recommendation&&f===null&&(0,L.jsx)($q,{className:`md-inline mt-1.5 text-[11px] text-muted/70`,html:p})]})}function dX({md:e,wrap:t}){let n=nq(e.split(`
|
|
308
308
|
`).join(` `));return(0,L.jsx)(`div`,{className:`mt-1 text-fg`,children:(0,L.jsx)($q,{className:`md-body${t?` ${MJ}`:``}`,html:n})})}function fX(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 pX({label:e,bodyMd:t,wrap:n,selected:r,settledPick:i,disabled:a,multi:o,recommended:s,recTitle:c,onClick:l}){let u=nq(e),d=eq(t??``),f=(0,I.useId)();return(0,L.jsxs)(`div`,{"data-question-option":!0,title:c,onClick:e=>{a||e.target.closest(`a, button, .local-file-action, .local-file-code`)||window.getSelection()?.toString()||l()},className:`relative flex items-start gap-2 rounded-md border px-3 py-1.5 text-[12px] leading-snug transition-colors ${r?`border-accent bg-accent/10 text-fg`:i?`border-border-strong border-l-2 border-l-accent/40 bg-bg/50 pl-[11px] text-fg`:a?`border-border text-muted/80`:`border-border text-fg/90 hover:bg-elevated hover:border-border-strong`}`,children:[(0,L.jsx)(`button`,{type:`button`,disabled:a,"aria-labelledby":f,onClick:l,onMouseDown:e=>e.preventDefault(),className:`absolute inset-0 rounded-md outline-none`}),o&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`mt-px flex h-3.5 w-3.5 shrink-0 items-center justify-center rounded-[3px] border ${r?`border-accent bg-accent text-bg`:i?`border-border-strong text-fg`:`border-border-strong`}`,children:(r||i)&&(0,L.jsx)(bm,{size:10,strokeWidth:3})}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{id:f,children:[s&&(0,L.jsx)(`span`,{className:`pointer-events-none 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,L.jsx)($q,{as:`span`,className:`md-inline`,html:u})]}),t!==void 0&&(0,L.jsx)($q,{className:`md-body mt-1.5 text-[11.5px] opacity-90${n?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:d})]})]})}function mX({blocks:e,answering:t,onClose:n}){let[r,i]=(0,I.useState)(0),[a,o]=(0,I.useState)(!1);(0,I.useEffect)(()=>{let e=requestAnimationFrame(()=>o(!0));return()=>cancelAnimationFrame(e)},[]),(0,I.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.stopPropagation(),n())};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[n]);let s=e[Math.min(r,e.length-1)];if(!s)return null;let c=r>=e.length-1;return(0,ot.createPortal)((0,L.jsxs)(`div`,{"data-mobile-answer-sheet":!0,className:`fixed inset-0 z-[80] flex flex-col justify-end`,children:[(0,L.jsx)(`button`,{"aria-label":`Close`,onClick:n,className:`absolute inset-0 bg-black/50 transition-opacity duration-200 ${a?`opacity-100`:`opacity-0`}`}),(0,L.jsxs)(`div`,{className:`relative flex max-h-[86%] flex-col overflow-hidden rounded-t-[14px] border-t border-border-strong bg-panel pb-[env(safe-area-inset-bottom)] shadow-[0_-20px_60px_-10px_rgba(0,0,0,0.8)] transition-transform duration-200 ease-out motion-reduce:transition-none ${a?`translate-y-0`:`translate-y-full`}`,children:[(0,L.jsx)(`div`,{className:`mx-auto mt-[6px] h-[5px] w-[36px] shrink-0 rounded-full bg-muted/35`}),(0,L.jsxs)(`div`,{className:`flex h-[48px] shrink-0 items-center gap-2 border-b border-border/70 px-3`,children:[(0,L.jsx)(`button`,{onClick:n,className:`flex h-[44px] items-center px-2 text-[16px] text-fg/85`,children:`Cancel`}),(0,L.jsx)(`span`,{className:`flex-1 text-center text-[15px] font-semibold tracking-[-0.01em] text-fg`,children:e.length>1?`Question ${r+1} of ${e.length}`:`Question`}),(0,L.jsx)(`span`,{className:`flex h-[44px] w-[44px] items-center justify-center`,children:(0,L.jsx)(Dh,{size:19,className:`opacity-0`,"aria-hidden":!0})})]}),(0,L.jsx)(`div`,{"data-mobile-answer-body":!0,className:`min-h-0 flex-1 overflow-y-auto px-3 py-3`,children:(0,L.jsx)(uX,{raw:s.raw,questionKind:s.kind,danger:s.danger,interactive:{answer:t.answerFor(s.bi),onChip:(e,n)=>t.onChip(s.bi,e,n),onText:e=>t.onText(s.bi,e),onSubmit:()=>c?l():i(e=>e+1)}},s.bi)}),(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-3 border-t border-border/70 px-4 pb-[30px] pt-3`,children:[e.length>1?(0,L.jsx)(`div`,{className:`flex items-center gap-1.5`,children:e.map((e,t)=>(0,L.jsx)(`span`,{className:`size-[6px] rounded-full ${t===r?`bg-accent`:`bg-muted/35`}`},e.bi))}):null,(0,L.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[r>0?(0,L.jsx)(`button`,{onClick:()=>i(e=>e-1),className:`flex h-[50px] shrink-0 items-center justify-center rounded-[14px] border border-border-strong bg-elevated px-5 text-[17px] text-fg active:bg-panel-2`,children:`Back`}):null,(0,L.jsx)(`button`,{onClick:()=>c?l():i(e=>e+1),disabled:c?!t.anyAnswered||t.sending:!1,className:`flex h-[50px] flex-1 items-center justify-center rounded-[14px] bg-accent px-5 text-[17px] font-semibold text-bg transition-[filter,opacity] active:brightness-90 disabled:opacity-40`,children:c?t.sending?`Sending…`:`Send answers`:`Continue`})]})]})]})]}),document.body);function l(){t.onSubmit(),n()}}function hX(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>e?gX(e)!==`codex`:!1,()=>!1)}function gX(e){return Yp(X.board,e)?.backend}function _X(e,t,n,r){let i=jz.followUp(e,t,n),a=kz.get(i),o=a?`${r}\n\n${a}`:r;return kz.set(i,o),i}function vX(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 yX(e){let t=Ve(),n=Mz(),[r,i]=(0,I.useState)(!1);return{unqueue:(0,I.useCallback)(a=>{if(!e||r)return;let o=Yp(X.board,e)?.sessionId;if(!o){Z(`This thread has no live session to unqueue from`);return}i(!0),Y.unqueueFollowUp({slug:e,sessionId:o,deliveryId:a.deliveryId}).then(r=>{if(i(!1),!r.unqueued){Z(r.reason??`That message could not be taken back`);return}gw(t,e,a.rawText,a.deliveryId),_X(n,e,o,a.text),vX(a.from)},e=>{i(!1),Z(`Couldn't unqueue — ${(e instanceof Error?e.message:String(e)).slice(0,160)}`)})},[r,n,t,e]),pending:r}}function bX(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>{if(!e)return!1;let t=Yp(X.board,e);return t?.backend!==`codex`&&t?.runtime===`running`},()=>!1)}function xX(e){let[t,n]=(0,I.useState)(!1);return{deliverNow:(0,I.useCallback)(()=>{if(!e||t)return;let r=Yp(X.board,e)?.sessionId;if(!r){Z(`This thread has no live session to interrupt`);return}n(!0),Y.deliverQueuedNow({slug:e,sessionId:r}).then(e=>{n(!1),e.interrupted||Z(e.reason??`That message could not be pushed through`)},e=>{n(!1),Z(`Couldn't push it through — ${(e instanceof Error?e.message:String(e)).slice(0,160)}`)})},[t,e]),pending:t}}function SX(e){return e.displayText??e.text}function CX(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`&&!n.queued&&!n.peerFrom&&!n.agentInstruction)return t}return-1}function wX(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.role!==`user`||n.queued||n.peerFrom||n.agentInstruction)&&!(n.wake&&!rY(n)))return t}return 0}function TX(e,t){if(e.kind===`event`||e.kind===`reasoning`||e.role!==`user`)return!1;let n=SX(e).replace(/\r\n?/g,`
|
|
309
|
-
`);return(t===void 0?tY(n):t)?!0:!(e.wake||e.peerFrom)}function EX(e,t){return TX(e,t)?`bubble`:`prose`}var DX=`icon-label-nudge`,OX=new Set([`planning`,`planned`,`active`,`needs-human`,`blocked`]);function kX(e){return!!(e&&e.kind===`legacy`&&!e.foreign&&e.runtime===`none`&&!e.sessionId&&!e.threadName&&!e.owner&&e.agents.length===0&&e.errors.length===0&&OX.has(e.status))}function AX(e,t){let n=e.trim();if(!(!n||n===t.trim()))return n}function jX(e,t){let n=e.trim();return!n||n===t||n===`Untitled thread`||n===`Spinning up a thread…`?``:n}function MX(e){return e.kind!==`session`||e.foreign||e.backend===`codex`||e.claudeRuntime!==void 0&&e.claudeRuntime!==`broker`?{show:!1,enabled:!1,label:``}:e.runtime===`exited`||e.runtime===`none`?{show:!0,enabled:!1,label:`Resume this Claude thread to rename it with Claude`}:e.runtime===`spawning`?{show:!0,enabled:!1,label:`Rename with Claude once this thread has started`}:{show:!0,enabled:!0,label:`Rename with Claude — a fresh title from the opening request`}}var NX=`sticky top-0 z-10 flex min-w-0 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-3 ${Oh} max-[640px]:h-auto max-[640px]: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`,PX=`min-w-0 flex-1 pl-1 max-[640px]:basis-full`,FX=`flex shrink-0 items-center max-[640px]:w-full max-[640px]:justify-between`;function IX(e){return e?.trim()?{kind:`profile-error`,message:`Profile controls unavailable: ${e.trim().slice(0,160)}`}:null}function LX(e){if(e.foreign)return`Read-only external thread`;if(e.permissionChangePending||e.permissionPending)return`A permission change is already in progress`;if(e.profileChangePending)return`A model and effort change is already in progress`;if(e.runtimeControlPending)return`Another runtime control is already in progress`;if(e.pendingAsk||e.runtime===`perm-prompt`)return`Resolve the current terminal approval or question first`;if(e.backend===`codex`)return null;let t=[...e.subAgents??[],...e.bgShells??[]].filter(e=>e.state===`running`||e.state===`stale`).length;return t>0?`Wait for ${t} unresolved background operation${t===1?``:`s`}`:e.runtime===`running`||e.runtime===`spawning`?`Wait for the current turn to finish`:null}function RX(e){return e.permissionChangePending===!0||e.permissionPending!==void 0||e.profileChangePending===!0||e.runtimeControlPending===!0}function zX(e,t){let n=t===`codex`?`Sandbox`:`Permissions`;return e===`applied`?`${n} applied to the live session`:e===`next-turn`?t===`codex`?`${n} applied — takes effect on the next turn`:`${n} saved — the worker restarts on the next turn`:`${n} saved for the next resume`}function BX(e){return e===`right`?`pl-3 pr-7`:`pl-7 pr-3`}function VX(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 HX=`__frizz_empty_select_value__`,UX=e=>e===``?HX:e,WX=e=>e===HX?``:e,GX={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`},KX={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 qX({o:e,indicatorPosition:t,typography:n}){return(0,L.jsxs)(WI,{value:UX(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 ${BX(t)} ${n??``}`,children:[(0,L.jsx)(GI,{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,L.jsx)(bm,{size:13})}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e.label})]})}function JX({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=VX(e,n,r,i),p=s?KX[c]:GX[c],m=c===`readout`?TR:``,[h,g]=(0,I.useState)(!1),_=(0,I.useRef)(h),v=(0,I.useRef)(s),y=(0,I.useRef)(void 0);return _.current=h,v.current=s,(0,I.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,I.useLayoutEffect)(()=>{!s||!h||(_.current=!1,y.current?.(),y.current=void 0,g(!1))},[s,h]),(0,I.useLayoutEffect)(()=>()=>y.current?.(),[]),(0,L.jsxs)(II,{modal:!1,open:h,onOpenChange:e=>{y.current?.(),y.current=void 0,_.current=e,g(e),e&&(y.current=UR(()=>{_.current=!1,y.current=void 0,g(!1)}))},children:[(0,L.jsx)(LI,{asChild:!0,disabled:s,children:(0,L.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,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left ${f.placeholder?`text-muted`:``}`,children:f.text}),(0,L.jsx)(xm,{className:`select-caret shrink-0 text-muted ${s?``:`transition-transform group-data-[state=open]:rotate-180`}`,size:13})]})}),(0,L.jsx)(RI,{children:(0,L.jsx)(zI,{align:`start`,side:u,sideOffset:5,onEscapeKeyDown:e=>e.stopPropagation(),className:`${iM} min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg p-1 ${m}`,children:(0,L.jsx)(UI,{value:UX(e),onValueChange:e=>t(WX(e)),className:`max-h-[300px] min-w-0 overflow-y-auto`,children:r?r.map((e,t)=>(0,L.jsxs)(BI,{children:[e.label&&(0,L.jsx)(VI,{className:`${BX(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,L.jsx)(qX,{o:e,indicatorPosition:l,typography:m},e.value))]},e.label||`g${t}`)):(n??[]).map(e=>(0,L.jsx)(qX,{o:e,indicatorPosition:l,typography:m},e.value))})})})]})}function YX(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 XX(e){let t=Zt(X).board?.threads.find(t=>t.id===e),n=nt({queryKey:[`threadProfileOptions`,e],queryFn:()=>Y.threadProfileOptions({slug:e}),enabled:!!(t&&!t.foreign&&t.kind===`session`),staleTime:5e3}),r=it({mutationFn:t=>Y.setThreadProfile({slug:e,...t})}),i=it({mutationFn:t=>Y.setThreadPermission({slug:e,permissionMode:t})}),a=r.isPending||i.isPending;if(!t||t.foreign||t.kind!==`session`)return{busy:a,footer:null,status:null};let o=a||RX(t),s=t.model?.trim(),c=t.effort?.trim(),l=t.backend===`codex`?`codex`:`claude`,u=r.isPending?r.variables:void 0,d=t.profilePendingModel??u?.model,f=t.profilePendingEffort??u?.effort,p=n.data?.options??[],{modelSelectable:m}=YX(p,s,c,t.runtime===`exited`),h=n.data!==void 0,g=[{id:l,label:l===`codex`?`Codex`:`Claude Code`,options:p}],_=IX(n.isError?n.error.message:void 0),v=t.permissionMode?sz(t.permissionMode):`auto`,y=az.some(e=>e.value===v)?v:`auto`,b=i.isPending?i.variables:y,x=LX(t);function S(e){e!==y&&i.mutate(e,{onSuccess:e=>Z(zX(e.effect,`claude`)),onError:e=>Z(`Permission change failed: ${e.message.slice(0,120)}`)})}function C(e){r.mutate(e,{onSuccess:e=>Z(e.effect===`next-resume`?`Model and effort saved for the next resume`:`Model and effort applied`),onError:e=>Z(`Profile change failed: ${e.message.slice(0,120)}`)})}return{busy:o,footer:(0,L.jsxs)(`div`,{"data-thread-composer-controls":!0,className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-1.5 gap-y-0.5`,children:[(0,L.jsx)(qR,{groups:g,value:{provider:l,model:s,effort:c},pending:d||f?{provider:l,model:d,effort:f}:void 0,onValueChange:({model:e,effort:t})=>C({model:e,effort:t}),placeholder:n.isPending?`Profile loading…`:`Profile unknown`,ariaLabel:`Thread model and effort`,menuAriaLabel:`Choose ${l===`codex`?`Codex`:`Claude Code`} model and effort`,title:m?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:o||!h||!m||n.isError,compact:!0,side:`top`,className:`min-w-0 max-w-[min(72%,20rem)] px-1.5 py-0.5`}),l===`claude`&&(0,L.jsx)(JX,{variant:`readout`,side:`top`,value:b,onValueChange:e=>S(e),options:az,ariaLabel:`Thread permission mode`,title:x?`${x} — changing permissions restarts this thread's worker process`:b===`bypassPermissions`?`Bypass: the worker never asks for approval. Changing this restarts the worker process; the conversation resumes from disk on the next turn.`:`Auto: risky actions raise an approval card here. Changing this restarts the worker process; the conversation resumes from disk on the next turn.`,disabled:o||x!==null,className:`shrink-0`}),d&&f&&(0,L.jsxs)(`span`,{className:`min-w-0 truncate text-[9px] text-muted/50`,children:[`→ `,d,` · `,f,` pending`]})]}),status:_?(0,L.jsx)(`div`,{"data-thread-control-error":``,className:`px-1 pt-1 text-[9.5px] leading-tight text-muted/65`,children:_.message}):null}}var ZX=new Map;function QX(e){let t=ZX.get(e);if(t)return t;let n=Y.threadSkills({slug:e}).then(e=>e.skills,()=>(ZX.delete(e),[]));return ZX.set(e,n),n}function $X({slug:e,surface:t,placeholder:n,className:r,id:i,ops:a,submitOverride:o}){let s=Zt(X),c=s.board?.threads.find(t=>t.id===e),l=Mz(),u=jz.followUp(l,e,c?.sessionId),[d,f,p]=Pz(u),m=XX(e),h=lU(e),[g,_]=(0,I.useState)(null),v=(0,I.useMemo)(()=>()=>QX(e),[e]),[y,b]=(0,I.useState)(null),x=s.composerContext[e],S=(0,I.useMemo)(()=>x?.map(e=>e.token)??[],[x]);(0,I.useEffect)(()=>{let t=X.composerContext[e];if(!t?.length)return;let{prose:n}=zL(d),r=t.filter(e=>GL(n,e.token));r.length!==t.length&&(X.composerContext[e]=r)},[e,d,x]);let C=!o&&c?.runtime===`running`&&c.backend!==`codex`;function w(t=!1){let n=d.trim();if(!n)return;let r=QR(n);if(r){p();let e=c?.backend===`codex`?`codex`:`claude`;r===`login`?_(e):b(e);return}let i=Rp(e),a=eR(n,i,l),s={onOptimistic:p,onRollback:()=>{kz.get(u)||f(d),zp(e,i)}};o?o(a,s):h.submit(a,{...s,interrupt:t})}return(0,L.jsxs)(`div`,{"data-thread-composer-box":t,...t===`chatComposer`?{"data-thread-action-bar":``}:{},className:r,children:[(0,L.jsx)(bR,{contextTokens:S,id:i,surface:t,value:d,onChange:f,onSubmit:()=>w(),onInterruptSubmit:C?()=>w(!0):void 0,slashSuggest:v,placeholder:n,busy:m.busy,footer:m.footer}),m.status,(0,L.jsx)(`div`,{className:`ops-column-optical-inset empty:hidden`,children:a}),g&&(0,L.jsx)(ez,{backend:g,onClose:()=>_(null),onAuthed:()=>_(null)}),y&&(0,L.jsx)(tz,{backend:y,onClose:()=>b(null)})]})}function eZ({slug:e,ops:t}){let n=Zt(X).board?.threads.find(t=>t.id===e);return n?(0,L.jsx)($X,{slug:e,surface:`chatComposer`,id:`followup-input`,placeholder:n.foreign?`Send a message to take over this session…`:`Follow up…`,className:`shrink-0 px-3 py-3`,ops:t}):null}function tZ({thread:e}){let[t,n]=(0,I.useState)(!1);if(e.kind!==`session`||e.foreign||e.claudeRuntime!==`broker`||e.runtime===`exited`)return null;async function r(){n(!0);try{let t=await Y.reloadThreadPlugins({slug:e.id,sessionId:e.sessionId??``}),n=[`${t.plugins} plugin${t.plugins===1?``:`s`}`,`${t.commands} skill${t.commands===1?``:`s`}`,`${t.agents} agent${t.agents===1?``:`s`}`],r=t.mcpServers.length?` · MCP: ${t.mcpServers.join(`, `)}`:``,i=t.errorCount?` · ${t.errorCount} load error${t.errorCount===1?``:`s`}`:``;Z(`Reloaded ${n.join(`, `)}${r}${i}`)}catch(e){Z((e instanceof Error?e.message:`Plugin reload failed`).slice(0,120))}finally{n(!1)}}return(0,L.jsx)(cM,{label:`Reload plugins — hooks, skills, agents and MCP re-read from disk, same conversation`,side:`top`,children:(0,L.jsx)(`button`,{type:`button`,"data-reload-plugins":!0,disabled:t,"aria-label":`Reload plugins`,onMouseDown:e=>e.preventDefault(),onClick:()=>void r(),className:TD,children:(0,L.jsx)(dh,{size:14,strokeWidth:2})})})}function nZ(e,t){return new Promise(n=>{cU(e,t,`Your worker process was restarted so it picks up frizz's current tooling (hooks and worker contract). Re-read whatever you left in your scratch directory, then continue exactly where you left off.`,{freshProcess:!0,onSuccess:()=>{Z(`Restarting worker…`),n()},onRollback:()=>n(),failureToast:e=>`Restart failed: ${e.slice(0,80)}`})||n()})}function rZ(){return fH(SH().data??null)}function iZ({thread:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return!rZ()||e.kind!==`session`||e.foreign||e.backend===`codex`||e.runtime===`exited`?null:(0,L.jsx)(cM,{label:`Restart worker — same conversation, fresh process on current tooling`,side:`top`,children:(0,L.jsx)(`button`,{type:`button`,disabled:n,"aria-label":`Restart worker`,onMouseDown:e=>e.preventDefault(),onClick:()=>{r(!0),nZ(t,e.id).finally(()=>r(!1))},className:`${TD} mx-[2px]`,children:n?(0,L.jsx)(eh,{size:14,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(ph,{size:14,strokeWidth:2})})})}function aZ({slug:e,label:t=`Exit fullscreen`}){let n=wD(e)??yw(`/`);function r(e){Ud(e)&&(e.preventDefault(),ww(n,{viewTransition:!em()}))}return(0,L.jsx)(cM,{label:t,children:(0,L.jsx)(`a`,{href:n,"aria-label":t,"data-standalone-return":!0,onMouseDown:e=>e.preventDefault(),onClick:r,className:TD,children:(0,L.jsx)(ah,{size:14})})})}function oZ({thread:e,expand:t,collapse:n,onDoc:r,onDone:i,onCollapse:a,collapsed:o,doneBusy:s,onStatusMutate:c,onStatusApplied:l,onStatusFailed:u}){let d=e.kind===`session`;return(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[a&&(0,L.jsx)(cZ,{label:o?`Expand`:`Collapse`,icon:o?Tm:wm,size:13,onClick:a}),(0,L.jsx)(tZ,{thread:e}),(0,L.jsx)(iZ,{thread:e}),r&&(0,L.jsx)(cZ,{label:`Frizz document`,icon:Rm,size:14,onClick:r}),t&&(0,L.jsx)(lM,{slug:e.id}),n&&(0,L.jsx)(aZ,{slug:e.id}),d?aE(e)?(0,L.jsx)(sZ,{slug:e.id}):null:(0,L.jsx)(`div`,{className:`ml-1`,children:(0,L.jsx)(QI,{slug:e.id,onDone:i,doneBusy:s,onMutateStart:c,onApplied:l,onFailed:u})})]})}function sZ({slug:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return(0,L.jsx)(cM,{label:`Retry — resume this session where it left off`,children:(0,L.jsxs)(`button`,{onClick:()=>{r(!0),uU(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,L.jsx)(eh,{size:12,className:`animate-spin`}):(0,L.jsx)(hh,{size:12}),`Retry`]})})}function cZ({label:e,icon:t,size:n,busy:r,...i}){return(0,L.jsx)(cM,{label:e,children:(0,L.jsx)(`button`,{...i,"aria-label":e,onMouseDown:e=>e.preventDefault(),className:TD,children:r?(0,L.jsx)(eh,{size:n,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(t,{size:n,strokeWidth:2})})})}function lZ(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 uZ(e){if(e.runtime===`exited`&&e.crashed)return!1;if(e.runtime===`perm-prompt`||e.pendingAsk)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=>Xc(e)&&t(e))||e.bgShells?.some(t))}function dZ(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;if(e.cutOff)return{lead:`This session was cut off mid-turn — its worker ended before the turn finished, so the thread isn’t done.`,groups:[],trailer:`Marking it done files it under Done as it is. Retry resumes it where it left off.`};let n=[fZ(`agent`,`sub-agent`,e.subAgents,e.subAgentCount),fZ(`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 fZ(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 pZ({open:e,onOpenChange:t,title:n,children:r,footer:i,className:a=`w-[640px] max-w-[92vw] max-h-[82vh]`}){return(0,L.jsx)(iL,{open:e,onOpenChange:t,children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`overlay-in fixed inset-0 z-[200] bg-black/55 backdrop-blur-[1px]`}),(0,L.jsxs)(gL,{"aria-modal":`true`,onEscapeKeyDown:GR,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,L.jsxs)(`header`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-border px-4`,children:[(0,L.jsx)(xL,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:n}),(0,L.jsx)(TL,{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,L.jsx)(Dh,{size:15})})]}),(0,L.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r}),i&&(0,L.jsx)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-4 py-3`,children:i})]})]})})}function mZ({thread:e,onSnoozed:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(``),f=(0,I.useId)(),p=(0,I.useId)(),m=(0,I.useId)(),h=YT(e),g=Zt(CT).snoozePreset,_=aT(g),v=sT(g),y=(0,I.useMemo)(()=>uT(new Date(Date.now()+6e4)),[i]);async function b(n,i=null){r(!0);try{await Y.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:n,prompt:n?i:null}),n?(Z(`${i?`Bump scheduled`:`Snoozed`} · ${fT(n)}`),t?.()):Z(`Snooze cleared`),a(!1),d(``)}catch(e){let t=e instanceof Error?e.message:`Snooze failed`;Z(t.slice(0,100)),d(t)}finally{r(!1)}}function x(e){CT.snoozePreset=e,b(cT(e))}function S(){s(uT(new Date(h??cT(g)))),l(e.snoozePrompt??``),d(``),a(!0)}function C(){let e=dT(o);if(!e.ok){d(e.message);return}let t=c.trim();if(t.length>4e3){d(`Prompt is too long (${t.length}/${fl})`);return}b(e.until,t||null)}return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`inline-flex items-stretch rounded-md border border-border-strong bg-panel-2/60`,children:[(0,L.jsxs)(`button`,{type:`button`,disabled:n,"aria-label":h?`Wake thread now`:v,title:h?`Wake now · ${fT(h)}`:v,onClick:()=>void b(h?null:cT(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,L.jsx)(eh,{size:12,className:`animate-spin`}),h?`Wake now`:v]}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`my-1 w-px bg-border`}),(0,L.jsxs)(qI,{children:[(0,L.jsx)(JI,{asChild:!0,children:(0,L.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,L.jsx)(xm,{size:12})})}),(0,L.jsxs)(YI,{align:`end`,children:[nT.map(e=>(0,L.jsx)(XI,{onSelect:()=>x(e.value),icon:(0,L.jsx)(Nm,{size:12}),children:(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-4`,children:[(0,L.jsx)(`span`,{children:e.label}),(0,L.jsx)(`span`,{className:`text-[10px] text-muted/55`,children:e.detail})]})},e.value)),(0,L.jsx)(ZI,{}),(0,L.jsx)(XI,{onSelect:S,children:`Custom time & prompt…`}),h&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ZI,{}),(0,L.jsx)(XI,{onSelect:()=>void b(null),children:`Wake now`})]})]})]})]}),(0,L.jsx)(pZ,{open:i,onOpenChange:e=>{n||a(e)},title:`Snooze thread`,className:`w-[360px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.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,L.jsx)(eh,{size:12,className:`animate-spin`}),c.trim()?`Snooze & bump`:`Snooze`]})]}),children:(0,L.jsxs)(`form`,{id:m,className:`flex flex-col gap-2.5 p-4`,onSubmit:e=>{e.preventDefault(),C()},children:[(0,L.jsx)(`label`,{htmlFor:f,className:`text-[11px] font-medium text-muted`,children:`Wake at this local time`}),(0,L.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,L.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,L.jsxs)(`label`,{htmlFor:p,className:`mt-1 text-[11px] font-medium text-muted`,children:[`Then send this prompt `,(0,L.jsx)(`span`,{className:`font-normal text-muted/55`,children:`(optional)`})]}),(0,L.jsx)(`textarea`,{id:p,autoFocus:!0,rows:3,maxLength:fl,placeholder:`e.g. Check whether CI went green and land it if so.`,value:c,onChange:e=>{l(e.target.value),d(``)},onKeyDown:e=>{oR({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(),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,L.jsx)(`p`,{className:`min-h-4 text-[10.5px] text-muted/65`,children:c.trim()?`frizz will resume this thread with the prompt at the wake time.`:`Leave empty to just bring the card back to your queue.`}),u&&(0,L.jsx)(`p`,{role:`alert`,className:`text-[11px] text-red-400`,children:u})]})})]})}var hZ=1.25,gZ=7.5-hZ/2,_Z=2*Math.PI*gZ;function vZ(e,t){return Math.max(0,Math.min(100,Math.floor(e/t*100)))}function yZ({thread:e}){let t=e.context;if(!t||t.window<=0)return null;let n=vZ(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,L.jsx)(cM,{label:i,side:`top`,multiline:!0,children:(0,L.jsx)(`span`,{"data-context-meter":!0,"data-context-percent":n,"aria-label":i,className:`flex shrink-0 items-center text-muted/60`,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`h-[1.05em] w-[1.05em]`,"aria-hidden":!0,style:{transform:`rotate(-90deg)`},children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:gZ,fill:`none`,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:hZ}),(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:gZ,fill:`none`,stroke:`currentColor`,strokeWidth:hZ,strokeDasharray:`${_Z*r} ${_Z}`})]})})})}var bZ={sm:{track:`h-[16px] w-[28px]`,thumb:`size-[12px]`,travel:`translate-x-[12px]`,onCap:`translate-y-[calc(6px_-_0.5cap)]`},md:{track:`h-[20px] w-[34px]`,thumb:`size-[16px]`,travel:`translate-x-[14px]`,onCap:`translate-y-[calc(8px_-_0.5cap)]`}};function xZ({checked:e,onChange:t,disabled:n,label:r,size:i=`sm`,testId:a}){let o=bZ[i];return(0,L.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:n,"data-switch":a,"data-state":e?`checked`:`unchecked`,onMouseDown:e=>e.preventDefault(),onClick:()=>t(!e),className:`inline-flex shrink-0 cursor-pointer items-center self-baseline rounded-full p-[2px] outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-default disabled:opacity-45 ${o.track} ${o.onCap} ${e?`bg-fg`:`bg-border hover:bg-border-strong`}`,children:(0,L.jsx)(`span`,{className:`pointer-events-none block rounded-full transition-transform duration-150 ease-out ${o.thumb} ${e?`bg-bg ${o.travel}`:`translate-x-0 bg-muted/70`}`})})}function SZ({size:e=12,className:t=``}){return(0,L.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,className:t,"aria-hidden":`true`,children:[(0,L.jsx)(`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,L.jsx)(`path`,{d:`M12 7a5 5 0 1 0 5 5`}),(0,L.jsx)(`path`,{d:`M13 3.055a9 9 0 1 0 7.941 7.945`}),(0,L.jsx)(`path`,{d:`M15 6v3h3l3 -3h-3v-3l-3 3`}),(0,L.jsx)(`path`,{d:`M15 9l-3 3`})]})}function CZ({thread:e}){let[t,n]=(0,I.useState)(`closed`),r=(0,I.useRef)(null),i=(0,I.useRef)(void 0);(0,I.useEffect)(()=>()=>clearTimeout(i.current),[]);let a=e.recurringPrompt,o=a?.stopHook===!0||a?.heartbeat===!0||a?.postCompaction===!0;function s(){clearTimeout(i.current),i.current=setTimeout(()=>n(e=>e===`closed`?`preview`:e),wZ)}function c(){clearTimeout(i.current),n(e=>e===`preview`?`closed`:e)}let l=e=>{r.current?.contains(e.detail.originalEvent.target)&&e.preventDefault()};return(0,L.jsxs)(jV,{open:t!==`closed`,onOpenChange:e=>{e||(clearTimeout(i.current),n(`closed`))},children:[(0,L.jsx)(NV,{asChild:!0,children:(0,L.jsx)(`button`,{ref:r,type:`button`,"data-recurring-prompt":!0,"data-recurring-prompt-on":o?`true`:`false`,"aria-label":o?`Goal (on)`:`Goal`,"aria-haspopup":`dialog`,"aria-expanded":t===`full`,onClick:()=>{clearTimeout(i.current),n(e=>e===`full`?`closed`:`full`)},onPointerEnter:e=>{e.pointerType===`mouse`&&s()},onPointerLeave:e=>{e.pointerType===`mouse`&&c()},onFocus:()=>n(e=>e===`closed`?`preview`:e),onBlur:c,className:`flex items-center rounded-md px-0.5 py-0.5 outline-none ${dR}`,children:(0,L.jsx)(SZ,{size:12,className:o?`text-amber-400/90`:`text-muted/60 hover:text-muted`})})}),t===`preview`?(0,L.jsx)(PV,{side:`top`,align:`start`,"data-recurring-preview":!0,onPointerDownOutside:l,className:`pointer-events-none max-w-[min(22rem,calc(100vw-1.5rem))] p-2.5 text-[11px] leading-snug text-fg`,onOpenAutoFocus:e=>e.preventDefault(),children:(0,L.jsx)(TZ,{armed:a})}):(0,L.jsx)(PV,{side:`top`,align:`start`,className:`w-[min(46rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,onPointerDownOutside:l,onOpenAutoFocus:e=>e.preventDefault(),children:(0,L.jsx)(FZ,{thread:e,armed:a,close:()=>n(`closed`)})})]})}var wZ=260;function TZ({armed:e}){let t=e?.prompt?.trim(),n=e?PZ({stopHook:e.stopHook===!0,heartbeat:e.heartbeat===!0,postCompaction:e.postCompaction===!0,seconds:e.intervalSeconds??OZ}):[];return(0,L.jsxs)(`div`,{"data-recurring-preview-body":!0,children:[(0,L.jsxs)(`div`,{className:`mb-1 flex items-baseline gap-2`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Goal`}),(0,L.jsx)(`span`,{className:`text-muted/70`,children:n.length>0?`sent ${n.join(`, `)}`:t?`no trigger is on`:`not set`})]}),(0,L.jsx)(`p`,{className:`line-clamp-4 whitespace-pre-wrap ${t?`text-fg/90`:`text-muted`}`,children:t||`Click to write what this thread is trying to achieve.`})]})}var EZ=1,DZ=1440,OZ=600;function kZ(e,t){if(e===String(Math.round(t/60)))return t;let n=Math.round(Number(e));return Number.isFinite(n)&&n>0?Math.min(DZ,Math.max(EZ,n))*60:t}var AZ=null;function jZ(e){return{prompt:e.text.trim(),stopHook:e.stopHook,heartbeat:e.heartbeat,postCompaction:e.postCompaction,seconds:e.seconds}}function MZ(e,t){return(e.text.trim()||null)===(t.prompt||null)&&e.stopHook===t.stopHook&&e.heartbeat===t.heartbeat&&e.postCompaction===t.postCompaction&&e.seconds===t.seconds}function NZ(e,t){return!e.archived&&!t}function PZ(e){return[e.stopHook?`at every rest`:null,e.heartbeat?`every ${Math.round(e.seconds/60)}m`:null,e.postCompaction?`after every compaction`:null].filter(e=>e!==null)}function FZ({thread:e,armed:t,close:n}){let r=NZ(e,t)?_l:``,i=AZ?.slug===e.id?AZ.draft:null,[a,o]=(0,I.useState)(i?.text??t?.prompt??r),[s,c]=(0,I.useState)(i?.stopHook??t?.stopHook??!1),[l,u]=(0,I.useState)(i?.heartbeat??t?.heartbeat??!1),[d,f]=(0,I.useState)(i?.postCompaction??t?.postCompaction??!1),[p,m]=(0,I.useState)(i?.seconds??t?.intervalSeconds??OZ),h=s||l||d,[g,_]=(0,I.useState)(String(Math.round((i?.seconds??t?.intervalSeconds??OZ)/60))),v=(0,I.useRef)(null),y=(0,I.useRef)({prompt:t?.prompt??r,stopHook:t?.stopHook??!1,heartbeat:t?.heartbeat??!1,postCompaction:t?.postCompaction??!1,seconds:t?.intervalSeconds??OZ}),b=e=>({text:a,stopHook:s,heartbeat:l,postCompaction:d,seconds:kZ(g,p),...e}),x=(0,I.useRef)(b());x.current=b(),(0,I.useEffect)(()=>()=>{let n=x.current;if(MZ(n,y.current)){AZ?.slug===e.id&&(AZ=null);return}if(n.text.trim()===``&&!t){AZ={slug:e.id,draft:n};return}C(n)},[]);let S=(0,I.useRef)(Promise.resolve(!0));function C(t){let n=S.current.catch(()=>!1).then(async()=>{let n=await w(t);return n?AZ?.slug===e.id&&(AZ=null):AZ={slug:e.id,draft:t},n});return S.current=n,n}async function w(t){let n=t.text.trim()||null;if(MZ(t,y.current))return!0;try{await Y.setThreadRecurringPrompt({slug:e.id,sessionId:e.sessionId??``,prompt:n,stopHook:t.stopHook,heartbeat:t.heartbeat,postCompaction:t.postCompaction,...n===null?{}:{intervalSeconds:t.seconds}}),y.current={...jZ(t),prompt:n??``};let r=PZ(t);Z(n===null?`Goal cleared`:r.length===0?`Goal saved — no trigger is on, so nothing is sent`:`Goal: sent ${r.join(`, `)}`)}catch(e){return Z((e instanceof Error?e.message:`Could not save the recurring prompt`).slice(0,100)),!1}return!0}function T(){if(MZ(b(),y.current)||a.trim()===``&&!t){n();return}C(b()).then(e=>{e&&n()})}function E(){let e=kZ(g,p);_(String(Math.round(e/60))),m(e)}let D=[{at:t?.lastRestFiredAt,how:`at rest`},{at:t?.lastScheduleFiredAt,how:`on schedule`},{at:t?.lastCompactFiredAt,how:`after a compaction`}].filter(e=>e.at!==void 0),O=D.reduce((e,t)=>e&&Date.parse(e.at)>=Date.parse(t.at)?e:t,void 0),k=O===void 0?null:D.length>1?`Last sent ${KE(O.at)}`:`Last sent ${O.how} ${KE(O.at)}`;return(0,L.jsxs)(`section`,{"data-recurring-panel":!0,children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Goal`}),k&&(0,L.jsx)(`span`,{className:`ml-auto truncate text-muted/55`,children:k})]}),(0,L.jsx)(`textarea`,{ref:v,"data-recurring-text":!0,value:a,maxLength:ml,onChange:e=>o(e.target.value),onKeyDown:e=>{oR({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(),T())},placeholder:`What is this thread trying to achieve?`,className:`field-sizing-content max-h-[28vh] min-h-[4rem] w-full resize-none overflow-y-auto rounded-md border border-border bg-bg px-2 py-1.5 text-[12px] leading-snug outline-none placeholder:text-muted/50 focus:border-border-strong ${h?`text-fg`:`text-muted`}`}),(0,L.jsxs)(`div`,{className:`mt-3 grid grid-cols-[auto_auto_1fr] items-baseline gap-x-2.5 gap-y-2`,children:[(0,L.jsx)(xZ,{testId:`stop-hook`,label:`Stop hook`,checked:s,onChange:e=>{c(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${s?`text-fg`:`text-muted`}`,children:`Stop hook`}),(0,L.jsx)(`span`,{className:`text-muted`,children:`every rest — unless it signed off or parked on a wait`}),(0,L.jsx)(xZ,{testId:`heartbeat`,label:`Heartbeat`,checked:l,onChange:e=>{u(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${l?`text-fg`:`text-muted`}`,children:`Heartbeat`}),l?(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5 text-muted`,children:[`every`,(0,L.jsx)(`input`,{type:`number`,"data-recurring-minutes":!0,inputMode:`numeric`,min:EZ,max:DZ,value:g,onChange:e=>_(e.target.value),onBlur:E,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),E())},"aria-label":`Heartbeat interval in minutes`,className:`w-[4.5ch] rounded-md border border-border bg-bg px-1 py-[3px] text-center text-[11px] leading-none tabular-nums text-fg outline-none focus:border-border-strong disabled:opacity-45 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),`min, even mid-turn`]}):(0,L.jsx)(`span`,{className:`text-muted`,children:`on a clock, even mid-turn`}),(0,L.jsx)(xZ,{testId:`post-compaction`,label:`Compaction`,checked:d,onChange:e=>{f(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${d?`text-fg`:`text-muted`}`,children:`Compaction`}),(0,L.jsx)(`span`,{className:`text-muted`,children:`when the context is summarized away — link the doc to re-read`})]})]})}function IZ({thread:e,sticky:t=!1,safeArea:n=!1,onArchived:r,onDismissCancel:i,onSnoozed:a}){let o=lZ(e);return o.footer?(0,L.jsxs)(`footer`,{"aria-label":`Thread lifecycle actions`,"data-thread-lifecycle-footer":!0,className:`${t?`z-20`:FJ} flex min-h-10 shrink-0 flex-wrap items-center justify-end ${lR} 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,L.jsxs)(`span`,{className:`mr-auto flex items-center ${lR}`,children:[(0,L.jsx)(yZ,{thread:e}),(0,L.jsx)(RZ,{thread:e}),(0,L.jsx)(CZ,{thread:e})]}),o.done?(0,L.jsx)(LZ,{}):(0,L.jsxs)(L.Fragment,{children:[o.snooze&&(0,L.jsx)(mZ,{thread:e,onSnoozed:a}),(0,L.jsx)(zZ,{thread:e,onArchived:r,onDismissCancel:i})]})]}):null}function LZ(){let e=`Marked done — send a message to reopen it`;return(0,L.jsx)(cM,{label:e,side:`top`,children:(0,L.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,L.jsx)(bm,{size:12}),`Done`]})})}function RZ({thread:e}){let t=YT(e);if(!t)return null;let n=e.snoozePrompt?.trim(),r=n?`Bumps ${fT(t)}\n${n}`:`Snoozed until ${fT(t)}`;return(0,L.jsx)(cM,{label:r,side:`top`,multiline:!!n,children:(0,L.jsx)(`span`,{"data-pending-snooze":!0,"aria-label":r,className:`flex items-center px-0.5 text-muted/60 ${uR}`,children:(0,L.jsx)(qm,{size:12})})})}function zZ({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,I.useState)(!1),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(void 0),d=(r,i)=>{o(!0),i&&t?.(),(r||uZ(e))&&kU(e.id),Y.completeThread({slug:e.id,sessionId:e.sessionId??``,terminateLive:r}).then(r=>{if(r.needsConfirmation){AU(e.id),i&&n?.(),u(r.hold),c(!0),o(!1);return}c(!1),Z(`Done`),i||t?.()}).catch(t=>{AU(e.id),i&&n?.(),Z(`Couldn’t finish: ${t.message.slice(0,80)}`),o(!1)})},f=!!t&&!!n&&uZ(e);return(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.jsx)(bm,{size:12,className:i}),`Mark as done`]}),(0,L.jsx)(pZ,{open:s,onOpenChange:e=>{a||c(e)},title:l?.cutOff?`Mark an unfinished thread done?`:`End this session?`,className:`w-[390px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.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,L.jsx)(eh,{size:12,className:`animate-spin`}),l?.cutOff?`Mark done anyway`:`End session & mark done`]})]}),children:(0,L.jsx)(BZ,{hold:l})})]})}function BZ({hold:e}){let t=dZ(e);return(0,L.jsxs)(`div`,{"data-completion-hold":!0,className:`flex flex-col gap-2 p-4 text-[12px] leading-relaxed text-muted`,children:[(0,L.jsx)(`p`,{children:t.lead}),t.groups.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,L.jsx)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-fg/70`,children:e.heading}),(0,L.jsxs)(`ul`,{className:`flex flex-col gap-0.5`,children:[e.items.map((e,t)=>(0,L.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:JE,children:`⤷`}),(0,L.jsx)(`span`,{className:`min-w-0 truncate text-fg/80`,children:e.label}),e.stale&&(0,L.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted/60`,children:`no recent output`})]},`${e.label}-${t}`)),e.overflow>0&&(0,L.jsxs)(`li`,{className:`pl-[15px] text-muted/60`,children:[`+`,e.overflow,` more`]})]})]},e.kind)),(0,L.jsx)(`p`,{children:t.trailer})]})}function VZ({thread:e,hidden:t=!1}){let n=it({mutationFn:()=>Y.aiRenameThread({slug:e.id}),onSuccess:({title:e})=>Z(`Renamed to “${e}”`),onError:e=>Z(e instanceof Error?e.message:`Could not rename with Claude`,{duration:7e3})}),r=MX(e);if(!r.show||t)return null;let i=n.isPending?`Claude is generating a title…`:n.error instanceof Error?n.error.message:r.label,a=n.isPending||!!n.error;return(0,L.jsx)(cM,{label:i,children:(0,L.jsx)(`button`,{type:`button`,"data-ai-rename":!0,"aria-label":n.isPending?`Renaming with Claude`:r.label,"aria-busy":n.isPending,"aria-disabled":!r.enabled,onMouseDown:e=>e.preventDefault(),onClick:()=>{if(!n.isPending){if(!r.enabled){Z(r.label);return}n.reset(),n.mutate()}},className:`title-refresh-offset -mx-[7px] -my-3 flex h-6 w-6 shrink-0 items-center justify-center rounded-md outline-none transition-[color,background-color,opacity] focus-visible:opacity-100 group-hover/thread-title:opacity-100 ${a?`opacity-100`:`opacity-0`} ${n.error?`text-red-400 hover:bg-red-500/10`:r.enabled?`text-muted hover:bg-panel-2 hover:text-fg`:`cursor-not-allowed text-muted/50 hover:bg-panel-2`}`,children:n.isPending?(0,L.jsx)(eh,{size:12,className:`animate-spin`}):(0,L.jsx)(gh,{size:12})})})}var HZ=new Set([`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]);function UZ(e,t){let n=e.lastIndexOf(t);if(n<=0)return{model:e};let r=e.slice(n+1);return HZ.has(r)?{model:e.slice(0,n),effort:r}:{model:e}}function WZ(e){let t=e?.trim();if(!t)return`Profile unknown`;if(t.startsWith(`frizz:`)){let{model:e,effort:n}=UZ(t.slice(6).replace(/^frizz-/,``),`-`);return n?`${e} › ${n}`:e}let n=t.split(/\s+/),{model:r,effort:i}=UZ(n.at(-1)??t,`/`);if(!i)return t;let a=n.slice(0,-1).join(` `);return`${a?`${a} · `:``}${r} › ${i}`}function GZ(e){return e?.trim()?WZ(e):void 0}function KZ(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 qZ={completed:`finished`,killed:`stopped`,failed:`failed`};function JZ(e){let t=qZ[e.agentStatus??`completed`],n=e.agentElapsedMs===void 0?void 0:UE(e.agentElapsedMs);return{outcome:t,tail:`${t}${n?` · ${n}`:``}`}}var YZ=e=>e===void 0?void 0:RE(e),XZ=e=>{if(e!==void 0)return UE(e)||void 0};function ZZ(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=YZ(n);return{label:t===`completed`?void 0:qZ[t],duration:XZ(n),tone:r?`failed`:`muted`,title:`${e?`Stopped`:r?`Failed`:`Ran for`}${e||r?` after`:``} ${i??`an unknown time`}`}}if(r){let e=YZ(i);return{label:void 0,duration:XZ(i),tone:`muted`,title:r===`running`?`Working for ${e??`an unknown time`}`:`Dispatched ${e??`an unknown time`} ago`}}if(a===`pending`||a!==`failed`&&a!==`cancelled`)return null;let s=a===`failed`,c=a===`cancelled`,l=YZ(o);return{label:c?qZ.killed:s?qZ.failed:void 0,duration:XZ(o),tone:s?`failed`:`muted`,title:`${c?`Stopped after`:s?`Failed after`:`Ran for`} ${l??`an unknown time`}`}}var QZ=`group flex min-w-0 items-baseline gap-1.5 rounded-sm text-left text-[11.5px] outline-none focus-visible:ring-1 focus-visible:ring-fg/60`,$Z=`${XE} -mt-[1em] self-baseline`,eQ=`h-[1em] w-[1em] shrink-0 translate-y-[calc(0.5em_-_0.5cap)] text-muted/45`;function tQ({links:e}){return e.length?(0,L.jsx)(`div`,{"data-thread-links":!0,"aria-label":`Registered links`,className:`mt-2 flex min-w-0 flex-col gap-0.5 border-t border-border pt-1.5`,children:e.map(e=>{let t=e.kind===`link`,n=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:JE,children:`⤷`}),(0,L.jsx)(`span`,{className:$Z,children:(0,L.jsx)(t?Im:Rm,{"aria-hidden":!0,className:eQ})}),(0,L.jsx)(`span`,{"data-link-kind":!0,className:YE,children:t?`Link`:`File`}),(0,L.jsx)(`span`,{"data-link-label":!0,className:`min-w-0 flex-1 truncate text-muted/70 group-hover:text-fg/80 group-hover:underline`,children:e.label}),t&&(0,L.jsx)(`span`,{"data-link-destination":!0,className:`font-mono-keep ml-auto -mb-[0.5em] max-w-[45%] min-w-0 truncate text-right text-[10px] text-muted/45`,children:e.target})]});return t?(0,L.jsx)(`a`,{"data-thread-link":e.id,href:e.target,target:`_blank`,rel:`noopener noreferrer`,title:e.target,className:QZ,onClick:e=>e.stopPropagation(),children:n},e.id):(0,L.jsx)(`button`,{"data-thread-link":e.id,type:`button`,title:e.target,className:`${QZ} cursor-pointer`,onClick:t=>{t.stopPropagation(),Aq(e.target)},children:n},e.id)})}):null}function nQ({at:e,host:t}){let n=_E(e);return!n||!e?null:(0,L.jsx)(`time`,{dateTime:e,"aria-hidden":`true`,className:`!pointer-events-none absolute right-6 top-full z-10 ${t===`bubble`?`mt-[2px]`:`-mt-[5px]`} select-none text-[11px] leading-4 [font-variant-numeric:tabular-nums] text-muted/70 opacity-0 transition-opacity group-hover/ts:opacity-100`,children:n})}function rQ({at:e,host:t,gap:n,children:r}){return(0,L.jsxs)(`div`,{className:`group/ts relative flex flex-col px-6`,style:{paddingTop:n},children:[r,(0,L.jsx)(nQ,{at:e,host:t})]})}var iQ=`text-[14px] leading-5 text-muted`,aQ=`size-[1em] shrink-0 self-baseline -mt-[calc(1em_-_1cap)] translate-y-[calc(0.5em_-_0.5cap)] text-muted/70 transition-transform group-hover:text-fg`;function oQ(e){return`${aQ} ${e?`-mx-[0.208em] rotate-90`:`-mx-[0.333em]`}`}var $=I.createElement;function sQ({payload:e}){return e.kind===`command-approval`?$(I.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,$(cQ,{label:`Redacted command preview`,text:e.command.preview}),e.command.actions?$(lQ,{actions:e.command.actions}):null,e.capabilities?$(dQ,{capabilities:e.capabilities}):null):e.kind===`file-approval`?$(I.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},hQ(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?$(cQ,{label:`Plain-text diff preview`,text:e.diffPreview}):null,e.changes?$(uQ,{changes:e.changes}):null):$(I.Fragment,null,e.preview?$(`pre`,{className:`max-h-64 max-w-full min-w-0 overflow-auto rounded-md border border-border/70 bg-bg/40 px-2.5 py-2 whitespace-pre-wrap break-words font-mono-keep text-[11.5px] leading-relaxed text-fg/90`},e.promptLabel?$(`span`,{className:`text-shell/90`},e.promptLabel):null,e.promptLabel?$(`span`,{className:`text-accent`},` ❯ `):null,e.preview):null,e.resourceLabel?$(`div`,{className:`mt-1 break-all text-[11px] text-muted`},`Resource: `,e.resourceLabel):null,e.workingDirectoryLabel?$(`div`,{className:`mt-1.5 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?$(dQ,{capabilities:e.capabilities}):null)}function cQ({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 lQ({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`},mQ(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,$(cQ,{label:`${mQ(e.kind)} command detail`,text:e.commandPreview})))))}function uQ({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`},hQ(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?$(cQ,{label:`${hQ(e.operation)} plain-text diff`,text:e.diffPreview}):null))))}function dQ({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`},$(fQ,{capability:e})))))}function fQ({capability:e}){if(e.kind===`network`){let t=e.enabled===!0?`Enable network access`:e.enabled===!1?`Disable network access`:`Network access request`;return $(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),e.hosts.length>0?$(pQ,{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 $(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),$(pQ,{label:`Paths`,values:e.resources}))}return e.kind===`glob-scan`?$(I.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`?$(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Future command policy amendment`),$(pQ,{label:`Command prefix tokens`,values:e.prefixes})):$(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},e.access===`allow`?`Allow future network hosts`:`Deny future network hosts`),$(pQ,{label:`Hosts`,values:e.hosts}))}function pQ({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 mQ(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 hQ(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 gQ(e){return e===`sending`?{actionsEnabled:!1,status:`Sending to runtime…`}:e===`reconnect-required`?{actionsEnabled:!1,status:`Runtime reconnect required before this request can be answered.`}:{actionsEnabled:!0}}var _Q={semantic:`approve`,label:`Approve once`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`},vQ={semantic:`approve`,label:`Approve for session`,order:20,tone:`primary`,durable:!0,scope:`Persists for later matching requests in this thread session.`},yQ={semantic:`approve`,label:`Grant for turn`,order:10,tone:`primary`,durable:!1,scope:`Applies to this turn only.`},bQ={semantic:`approve`,label:`Grant for session`,order:20,tone:`primary`,durable:!0,scope:`Persists until this thread session ends.`},xQ={semantic:`deny`,label:`Deny`,order:70,tone:`danger`,durable:!1,scope:`Rejects this request.`},SQ={semantic:`decline`,label:`Decline`,order:70,tone:`danger`,durable:!1,scope:`Declines this request.`},CQ={semantic:`cancel`,label:`Cancel request`,order:80,tone:`neutral`,durable:!1,scope:`Cancels this pending request.`};function wQ(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`?_Q:n===`acceptForSession`&&r===`approve`?vQ:(n===`decline`||n===`deny`)&&r===`deny`?xQ:n===`cancel`&&r===`cancel`?CQ:void 0;if(e.kind===`permission-approval`)return n===`grant-turn`&&r===`approve`?yQ:n===`grant-session`&&r===`approve`?bQ:(n===`deny`||n===`decline`)&&r===`deny`?xQ:n===`cancel`&&r===`cancel`?CQ: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`?SQ:n===`cancel`&&r===`cancel`?CQ: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 SQ;if(n===`cancel`&&r===`cancel`)return CQ}function TQ(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=wQ(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 EQ(e){switch(e){case`claude`:return`Claude`;case`codex`:return`Codex`;case`frizz`:return`Frizz`}}function DQ(e){switch(e){case`runtime`:return`Runtime`;case`agent`:return`Agent`;case`tool`:return`Tool`;case`mcp-server`:return`MCP server`;case`frizz`:return`Frizz`}}function OQ(e,t){let n=e.options.findIndex(e=>JSON.stringify(e.value)===JSON.stringify(t));return n<0?``:String(n)}function kQ(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?``:OQ(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 AQ(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 jQ(e,t){if(e.some(e=>e.secret))return{errors:{},formError:`Secret responses cannot be sent through this Frizz 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=ac(i,a);e?r[i.id]=`Value ${e}.`:n[i.id]=a}}if(Object.keys(r).length>0)return{errors:r};let i=yc.safeParse(n);return i.success?{errors:r,values:i.data}:{errors:r,formError:`The response is too large or contains invalid values.`}}function MQ(e,t){return JSON.stringify([e,t??null])}function NQ(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}catch{return null}}function PQ(e,t){let n=e.getAttribute(`href`);if(!n)return!1;let r=NQ(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 FQ(e=()=>location.href){return t=>{if(t.defaultPrevented||t.button!==0)return;let n=LQ(t);n&&PQ(n,e())}}function IQ(){let e=FQ();return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)}function LQ(e){let t=typeof e.composedPath==`function`?e.composedPath():[];for(let e of t)if(RQ(e))return e;let n=e.target?.closest?.(`a[href]`);return RQ(n)?n:null}function RQ(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 zQ(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 BQ(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)=>`${zQ(t)} ${e.label}`),recommendedIdx:null},...e?{optionFieldId:e.id}:{},optionValues:r.map(e=>e.value),...t?{notesFieldId:t.id}:{}}}function VQ(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=BQ(r,a);if(!e)return null;n.push(e)}else if(r.input===`text`||r.input===`multiline`){let e=BQ(void 0,r);if(!e)return null;n.push(e)}else return null}return n.length>0?n:null}function HQ(e,t){let n=[],r;if(t){let i=e.multiSelect?t.split(`, `):[t];e.options.forEach((e,t)=>{i.includes(e.label)&&n.push(t)}),n.length===0&&(r=t)}return{question:{kind:e.multiSelect?`multi`:`question`,danger:!1,contextMd:e.question,options:e.options.map((e,t)=>`${zQ(t)} ${e.label}${e.description?` — ${e.description}`:``}`),recommendedIdx:null},chosenIdxs:n,text:r}}function UQ(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}let o=i.chosen;if(e.optionFieldId&&o!==null&&e.optionValues[o]!==void 0){n[e.optionFieldId]=e.optionValues[o];return}a&&e.notesFieldId&&(n[e.notesFieldId]=a)}),Object.keys(n).length>0?n:void 0}function WQ(e){let t=e instanceof Error?e.message:`The request could not be updated.`;return t.length>240?`${t.slice(0,239)}…`:t}function GQ(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`frizz-response-${Date.now()}-${Math.random().toString(36).slice(2)}`}function KQ({thread:e,className:t=``,autoFocusFirst:n=!1}){let r=nw(e),i=iw(e),a=(0,I.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,L.jsxs)(`div`,{"data-interactions-error":!0,role:`alert`,className:`${NJ} border border-amber-500/35 bg-amber-500/[0.07] p-4 text-[12px] text-amber-100 ${t}`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:`Pending requests could not be loaded.`}),(0,L.jsx)(`div`,{className:`mt-1 break-words text-amber-100/75`,children:WQ(i.error)}),(0,L.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,L.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,L.jsx)(JQ,{record:e,autoFocus:n&&t===0},e.id))}):null}function qQ({record:e,questions:t,autoFocus:n}){let r=Ve(),i=(0,I.useRef)(null),a=(0,I.useRef)(new Map),o=Mz(),s=gQ(e.delivery?.effect),c=(0,I.useMemo)(()=>TQ(e).find(e=>e.semantic===`answer`),[e]),l=Fz(t.flatMap(t=>t.notesFieldId?[jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId)]:[])),[u,d]=(0,I.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(jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId))??``:``})),p=UQ(t,f),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)(!1);(0,I.useEffect)(()=>{if(!n)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[n,e.id]);let v=it({mutationFn:async t=>Y.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),nx(r,t.interaction),r.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId)}),r.invalidateQueries({queryKey:tx(e.owner.threadSlug,e.owner.sessionId,e.id)})},onError:t=>{rx(r,e),h(WQ(t))}}),y=()=>{if(!c||!p||v.isPending||g||!s.actionsEnabled)return;h(void 0);let e=MQ(c.id,p),t=a.current.get(e)??GQ();a.current.set(e,t),v.mutate({decisionId:c.id,values:p,responseId:t})},b=(t,n)=>{t.notesFieldId&&kz.set(jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId),n)};return(0,L.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,L.jsx)(uX,{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{...r,chosen:r.chosen===n?null:n}}))},onText:n=>{b(e,n),e.question.kind!==`multi`&&d(e=>e[t]?.chosen===null||e[t]===void 0?e:e.map((e,n)=>n===t?{...e,chosen:null}:e))},onSubmit:y}:void 0},e.optionFieldId??e.notesFieldId??t)),m&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:m}),(s.status||v.isPending||g)&&(0,L.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,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.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 JQ({record:e,autoFocus:t=!1}){let n=(0,I.useMemo)(()=>VQ(e),[e]);return n?(0,L.jsx)(qQ,{record:e,questions:n,autoFocus:t}):(0,L.jsx)(YQ,{record:e,autoFocus:t})}function YQ({record:e,autoFocus:t=!1}){let n=Ve(),r=(0,I.useId)(),i=(0,I.useRef)(null),a=(0,I.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=Mz(),l=o.filter(e=>!e.secret&&(e.input===`text`||e.input===`multiline`)).map(t=>jz.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.id)),u=Fz(l),[d,f]=(0,I.useState)(()=>kQ(o)),p=(0,I.useMemo)(()=>{let t={...d};return o.forEach(n=>{if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=jz.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,I.useState)({}),[g,_]=(0,I.useState)(),[v,y]=(0,I.useState)(),[b,x]=(0,I.useState)(!1),[S,C]=(0,I.useState)(),[w,T]=(0,I.useState)(!1),E=gQ(e.delivery?.effect),D=(0,I.useMemo)(()=>TQ(e),[e]).filter(e=>!(s&&e.requiresValues)),O=e.allowedDecisions.length-D.length,k=(0,I.useCallback)(t=>{for(let n of o)if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=t[n.id];typeof r==`string`&&kz.set(jz.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,I.useEffect)(()=>{if(!t)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[t,e.id]),(0,I.useEffect)(()=>{E.actionsEnabled||(C(void 0),T(!1))},[E.actionsEnabled]);let A=it({mutationFn:async({decision:t,values:n,responseId:r})=>{if(t.semantic===`cancel`&&e.provider.kind===`frizz`){let t=await Y.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 Y.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(MQ(r.decision.id,r.values)),_(void 0),C(void 0),T(!1),x(!0),l.forEach(e=>kz.clear(e)),y(t.waitingForProvider?`Response sent. Waiting for the provider to acknowledge it…`:`Request completed.`),nx(n,t.interaction),n.setQueryData(tx(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t.interaction}),n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0}),t.waitingForProvider&&window.setTimeout(()=>{n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})},1e3)},onError:t=>{y(void 0),_(WQ(t)),rx(n,e),Y.interactionGet({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id}).then(({interaction:t})=>{nx(n,t),n.setQueryData(tx(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:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})),n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})}).catch(()=>{})}});function j(e){if(!e.requiresValues){h({});return}let t=jQ(o,p);return h(t.errors),t.formError?(_(t.formError),null):t.values?t.values:null}function M(e,t=!1){if(!E.actionsEnabled||A.isPending||b)return;_(void 0);let n=j(e);if(n===null)return;if(e.durable&&!t){C(e),T(!1);return}let r=MQ(e.id,n),i=a.current.get(r)??GQ();a.current.set(r,i),A.mutate({decision:e,values:n,responseId:i})}let N=D.find(e=>e.requiresValues&&e.tone===`primary`);function P(e){e.preventDefault(),E.actionsEnabled&&N&&M(N)}return(0,L.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 ${NJ} 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,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 border-b border-accent/20 px-4 py-3`,children:[(0,L.jsx)(vh,{"aria-hidden":`true`,size:16,className:`shrink-0 text-accent`}),(0,L.jsx)(`h3`,{id:r,className:`min-w-0 flex-1 break-words text-[14px] font-semibold leading-snug text-fg`,children:e.payload.title})]}),(0,L.jsx)(`form`,{onSubmit:P,onKeyDown:e=>{e.target instanceof HTMLButtonElement||oR({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(),E.actionsEnabled&&N&&M(N))},className:`min-w-0 px-4 py-3.5`,noValidate:!0,children:(0,L.jsxs)(`fieldset`,{disabled:!E.actionsEnabled,className:`min-w-0 border-0 p-0`,children:[(0,L.jsx)(`legend`,{className:`sr-only`,children:`Interaction request`}),(0,L.jsx)(ZQ,{record:e,instanceId:r,draft:p,setDraft:k,errors:m,autoFocus:t}),s&&(0,L.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,L.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsx)(Zm,{"aria-hidden":`true`,size:14,className:`mt-0.5 shrink-0`}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:`Secret input is unavailable in this page.`}),(0,L.jsx)(`div`,{className:`mt-1 text-amber-100/70`,children:`Frizz will not persist or send secret values through the current RPC.`})]})]}),(0,L.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,L.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,L.jsx)(Th,{"aria-hidden":`true`,size:13,className:`mt-0.5 shrink-0`}),(0,L.jsxs)(`span`,{children:[O===1?`One advertised choice`:`${O} advertised choices`,` cannot be safely labeled or delivered in Frizz and is not shown.`]})]}),S&&(0,L.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,L.jsx)(`div`,{className:`text-[12px] font-semibold text-amber-100`,children:`This approval persists beyond the current request.`}),(0,L.jsx)(`div`,{className:`mt-1 text-[11px] leading-snug text-amber-100/75`,children:S.scope}),(0,L.jsxs)(`label`,{className:`mt-2.5 flex cursor-pointer items-start gap-2 text-[11px] leading-snug text-fg/85`,children:[(0,L.jsx)(`input`,{type:`checkbox`,autoFocus:!0,checked:w,onChange:e=>T(e.target.checked),className:`mt-0.5 accent-[var(--color-accent)]`}),(0,L.jsx)(`span`,{children:`I understand this may authorize later matching actions in this session.`})]}),(0,L.jsxs)(`div`,{className:`mt-3 flex flex-wrap justify-start gap-2`,children:[(0,L.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,L.jsxs)(`button`,{type:`button`,disabled:!w||A.isPending,onClick:()=>M(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,L.jsx)(`div`,{role:`alert`,className:`mt-3 break-words text-[11px] leading-snug text-red-300`,children:g}),(E.status??v)&&(0,L.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,L.jsxs)(`div`,{className:`mt-4 flex flex-wrap justify-start gap-2`,children:[D.map(e=>(0,L.jsxs)(`button`,{type:e===N?`submit`:`button`,"data-interaction-decision":e.id,disabled:A.isPending,"aria-describedby":e.durable?`${r}-scope-${e.id}`:void 0,onClick:e===N?void 0:()=>M(e),className:XQ(e),children:[A.isPending?`Sending…`:e.label,e.durable&&(0,L.jsx)(`span`,{className:`sr-only`,children:`; persistent approval`})]},e.id)),D.filter(e=>e.durable).map(e=>(0,L.jsx)(`span`,{id:`${r}-scope-${e.id}`,className:`sr-only`,children:e.scope},`scope-${e.id}`))]}),!QQ.has(e.payload.kind)&&(0,L.jsx)(t$,{record:e})]})})]})}function XQ(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 ZQ({record:e,instanceId:t,draft:n,setDraft:r,errors:i,autoFocus:a}){let o=e.payload,s=(e,t)=>r(AQ(n,e,t)),c;return c=o.kind===`command-approval`||o.kind===`file-approval`||o.kind===`permission-approval`?(0,L.jsx)(sQ,{payload:o}):o.kind===`mcp-elicitation-url`?(0,L.jsx)(e$,{url:o.url}):(0,L.jsx)(n$,{instanceId:t,fields:o.fields,draft:n,setValue:s,errors:i,autoFocus:a}),(0,L.jsxs)(L.Fragment,{children:[`message`in o&&o.message&&(0,L.jsx)($Q,{text:o.message}),(0,L.jsx)(`div`,{className:`message`in o&&o.message?`mt-3`:``,children:c})]})}var QQ=new Set([`command-approval`,`file-approval`,`permission-approval`]);function $Q({text:e}){return e.length>600||e.split(`
|
|
310
|
-
`).length>6?(0,L.jsxs)(`details`,{className:`rounded-md border border-border/70 bg-panel/60`,children:[(0,L.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,L.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,L.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})}function
|
|
309
|
+
`);return(t===void 0?tY(n):t)?!0:!(e.wake||e.peerFrom)}function EX(e,t){return TX(e,t)?`bubble`:`prose`}var DX=`icon-label-nudge`,OX=new Set([`planning`,`planned`,`active`,`needs-human`,`blocked`]);function kX(e){return!!(e&&e.kind===`legacy`&&!e.foreign&&e.runtime===`none`&&!e.sessionId&&!e.threadName&&!e.owner&&e.agents.length===0&&e.errors.length===0&&OX.has(e.status))}var AX=`sticky top-0 z-10 flex min-w-0 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-3 ${Oh} max-[640px]:h-auto max-[640px]: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`,jX=`min-w-0 flex-1 pl-1 max-[640px]:basis-full`,MX=`flex shrink-0 items-center max-[640px]:w-full max-[640px]:justify-between`;function NX(e){return e?.trim()?{kind:`profile-error`,message:`Profile controls unavailable: ${e.trim().slice(0,160)}`}:null}function PX(e){if(e.foreign)return`Read-only external thread`;if(e.permissionChangePending||e.permissionPending)return`A permission change is already in progress`;if(e.profileChangePending)return`A model and effort change is already in progress`;if(e.runtimeControlPending)return`Another runtime control is already in progress`;if(e.pendingAsk||e.runtime===`perm-prompt`)return`Resolve the current terminal approval or question first`;if(e.backend===`codex`)return null;let t=[...e.subAgents??[],...e.bgShells??[]].filter(e=>e.state===`running`||e.state===`stale`).length;return t>0?`Wait for ${t} unresolved background operation${t===1?``:`s`}`:e.runtime===`running`||e.runtime===`spawning`?`Wait for the current turn to finish`:null}function FX(e){return e.permissionChangePending===!0||e.permissionPending!==void 0||e.profileChangePending===!0||e.runtimeControlPending===!0}function IX(e,t){let n=t===`codex`?`Sandbox`:`Permissions`;return e===`applied`?`${n} applied to the live session`:e===`next-turn`?t===`codex`?`${n} applied — takes effect on the next turn`:`${n} saved — the worker restarts on the next turn`:`${n} saved for the next resume`}function LX(e){return e===`right`?`pl-3 pr-7`:`pl-7 pr-3`}function RX(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 zX=`__frizz_empty_select_value__`,BX=e=>e===``?zX:e,VX=e=>e===zX?``:e,HX={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`},UX={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 WX({o:e,indicatorPosition:t,typography:n}){return(0,L.jsxs)(WI,{value:BX(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 ${LX(t)} ${n??``}`,children:[(0,L.jsx)(GI,{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,L.jsx)(bm,{size:13})}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e.label})]})}function GX({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=RX(e,n,r,i),p=s?UX[c]:HX[c],m=c===`readout`?TR:``,[h,g]=(0,I.useState)(!1),_=(0,I.useRef)(h),v=(0,I.useRef)(s),y=(0,I.useRef)(void 0);return _.current=h,v.current=s,(0,I.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,I.useLayoutEffect)(()=>{!s||!h||(_.current=!1,y.current?.(),y.current=void 0,g(!1))},[s,h]),(0,I.useLayoutEffect)(()=>()=>y.current?.(),[]),(0,L.jsxs)(II,{modal:!1,open:h,onOpenChange:e=>{y.current?.(),y.current=void 0,_.current=e,g(e),e&&(y.current=UR(()=>{_.current=!1,y.current=void 0,g(!1)}))},children:[(0,L.jsx)(LI,{asChild:!0,disabled:s,children:(0,L.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,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left ${f.placeholder?`text-muted`:``}`,children:f.text}),(0,L.jsx)(xm,{className:`select-caret shrink-0 text-muted ${s?``:`transition-transform group-data-[state=open]:rotate-180`}`,size:13})]})}),(0,L.jsx)(RI,{children:(0,L.jsx)(zI,{align:`start`,side:u,sideOffset:5,onEscapeKeyDown:e=>e.stopPropagation(),className:`${iM} min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg p-1 ${m}`,children:(0,L.jsx)(UI,{value:BX(e),onValueChange:e=>t(VX(e)),className:`max-h-[300px] min-w-0 overflow-y-auto`,children:r?r.map((e,t)=>(0,L.jsxs)(BI,{children:[e.label&&(0,L.jsx)(VI,{className:`${LX(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,L.jsx)(WX,{o:e,indicatorPosition:l,typography:m},e.value))]},e.label||`g${t}`)):(n??[]).map(e=>(0,L.jsx)(WX,{o:e,indicatorPosition:l,typography:m},e.value))})})})]})}function KX(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 qX(e){let t=Zt(X).board?.threads.find(t=>t.id===e),n=nt({queryKey:[`threadProfileOptions`,e],queryFn:()=>Y.threadProfileOptions({slug:e}),enabled:!!(t&&!t.foreign&&t.kind===`session`),staleTime:5e3}),r=it({mutationFn:t=>Y.setThreadProfile({slug:e,...t})}),i=it({mutationFn:t=>Y.setThreadPermission({slug:e,permissionMode:t})}),a=r.isPending||i.isPending;if(!t||t.foreign||t.kind!==`session`)return{busy:a,footer:null,status:null};let o=a||FX(t),s=t.model?.trim(),c=t.effort?.trim(),l=t.backend===`codex`?`codex`:`claude`,u=r.isPending?r.variables:void 0,d=t.profilePendingModel??u?.model,f=t.profilePendingEffort??u?.effort,p=n.data?.options??[],{modelSelectable:m}=KX(p,s,c,t.runtime===`exited`),h=n.data!==void 0,g=[{id:l,label:l===`codex`?`Codex`:`Claude Code`,options:p}],_=NX(n.isError?n.error.message:void 0),v=t.permissionMode?sz(t.permissionMode):`auto`,y=az.some(e=>e.value===v)?v:`auto`,b=i.isPending?i.variables:y,x=PX(t);function S(e){e!==y&&i.mutate(e,{onSuccess:e=>Z(IX(e.effect,`claude`)),onError:e=>Z(`Permission change failed: ${e.message.slice(0,120)}`)})}function C(e){r.mutate(e,{onSuccess:e=>Z(e.effect===`next-resume`?`Model and effort saved for the next resume`:`Model and effort applied`),onError:e=>Z(`Profile change failed: ${e.message.slice(0,120)}`)})}return{busy:o,footer:(0,L.jsxs)(`div`,{"data-thread-composer-controls":!0,className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-1.5 gap-y-0.5`,children:[(0,L.jsx)(qR,{groups:g,value:{provider:l,model:s,effort:c},pending:d||f?{provider:l,model:d,effort:f}:void 0,onValueChange:({model:e,effort:t})=>C({model:e,effort:t}),placeholder:n.isPending?`Profile loading…`:`Profile unknown`,ariaLabel:`Thread model and effort`,menuAriaLabel:`Choose ${l===`codex`?`Codex`:`Claude Code`} model and effort`,title:m?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:o||!h||!m||n.isError,compact:!0,side:`top`,className:`min-w-0 max-w-[min(72%,20rem)] px-1.5 py-0.5`}),l===`claude`&&(0,L.jsx)(GX,{variant:`readout`,side:`top`,value:b,onValueChange:e=>S(e),options:az,ariaLabel:`Thread permission mode`,title:x?`${x} — changing permissions restarts this thread's worker process`:b===`bypassPermissions`?`Bypass: the worker never asks for approval. Changing this restarts the worker process; the conversation resumes from disk on the next turn.`:`Auto: risky actions raise an approval card here. Changing this restarts the worker process; the conversation resumes from disk on the next turn.`,disabled:o||x!==null,className:`shrink-0`}),d&&f&&(0,L.jsxs)(`span`,{className:`min-w-0 truncate text-[9px] text-muted/50`,children:[`→ `,d,` · `,f,` pending`]})]}),status:_?(0,L.jsx)(`div`,{"data-thread-control-error":``,className:`px-1 pt-1 text-[9.5px] leading-tight text-muted/65`,children:_.message}):null}}var JX=new Map;function YX(e){let t=JX.get(e);if(t)return t;let n=Y.threadSkills({slug:e}).then(e=>e.skills,()=>(JX.delete(e),[]));return JX.set(e,n),n}function XX({slug:e,surface:t,placeholder:n,className:r,id:i,ops:a,submitOverride:o}){let s=Zt(X),c=s.board?.threads.find(t=>t.id===e),l=Mz(),u=jz.followUp(l,e,c?.sessionId),[d,f,p]=Pz(u),m=qX(e),h=lU(e),[g,_]=(0,I.useState)(null),v=(0,I.useMemo)(()=>()=>YX(e),[e]),[y,b]=(0,I.useState)(null),x=s.composerContext[e],S=(0,I.useMemo)(()=>x?.map(e=>e.token)??[],[x]);(0,I.useEffect)(()=>{let t=X.composerContext[e];if(!t?.length)return;let{prose:n}=zL(d),r=t.filter(e=>GL(n,e.token));r.length!==t.length&&(X.composerContext[e]=r)},[e,d,x]);let C=!o&&c?.runtime===`running`&&c.backend!==`codex`;function w(t=!1){let n=d.trim();if(!n)return;let r=QR(n);if(r){p();let e=c?.backend===`codex`?`codex`:`claude`;r===`login`?_(e):b(e);return}let i=Rp(e),a=eR(n,i,l),s={onOptimistic:p,onRollback:()=>{kz.get(u)||f(d),zp(e,i)}};o?o(a,s):h.submit(a,{...s,interrupt:t})}return(0,L.jsxs)(`div`,{"data-thread-composer-box":t,...t===`chatComposer`?{"data-thread-action-bar":``}:{},className:r,children:[(0,L.jsx)(bR,{contextTokens:S,id:i,surface:t,value:d,onChange:f,onSubmit:()=>w(),onInterruptSubmit:C?()=>w(!0):void 0,slashSuggest:v,placeholder:n,busy:m.busy,footer:m.footer}),m.status,(0,L.jsx)(`div`,{className:`ops-column-optical-inset empty:hidden`,children:a}),g&&(0,L.jsx)(ez,{backend:g,onClose:()=>_(null),onAuthed:()=>_(null)}),y&&(0,L.jsx)(tz,{backend:y,onClose:()=>b(null)})]})}function ZX({slug:e,ops:t}){let n=Zt(X).board?.threads.find(t=>t.id===e);return n?(0,L.jsx)(XX,{slug:e,surface:`chatComposer`,id:`followup-input`,placeholder:n.foreign?`Send a message to take over this session…`:`Follow up…`,className:`shrink-0 px-3 py-3`,ops:t}):null}function QX({thread:e}){let[t,n]=(0,I.useState)(!1);if(e.kind!==`session`||e.foreign||e.claudeRuntime!==`broker`||e.runtime===`exited`)return null;async function r(){n(!0);try{let t=await Y.reloadThreadPlugins({slug:e.id,sessionId:e.sessionId??``}),n=[`${t.plugins} plugin${t.plugins===1?``:`s`}`,`${t.commands} skill${t.commands===1?``:`s`}`,`${t.agents} agent${t.agents===1?``:`s`}`],r=t.mcpServers.length?` · MCP: ${t.mcpServers.join(`, `)}`:``,i=t.errorCount?` · ${t.errorCount} load error${t.errorCount===1?``:`s`}`:``;Z(`Reloaded ${n.join(`, `)}${r}${i}`)}catch(e){Z((e instanceof Error?e.message:`Plugin reload failed`).slice(0,120))}finally{n(!1)}}return(0,L.jsx)(cM,{label:`Reload plugins — hooks, skills, agents and MCP re-read from disk, same conversation`,side:`top`,children:(0,L.jsx)(`button`,{type:`button`,"data-reload-plugins":!0,disabled:t,"aria-label":`Reload plugins`,onMouseDown:e=>e.preventDefault(),onClick:()=>void r(),className:TD,children:(0,L.jsx)(dh,{size:14,strokeWidth:2})})})}function $X(e,t){return new Promise(n=>{cU(e,t,`Your worker process was restarted so it picks up frizz's current tooling (hooks and worker contract). Re-read whatever you left in your scratch directory, then continue exactly where you left off.`,{freshProcess:!0,onSuccess:()=>{Z(`Restarting worker…`),n()},onRollback:()=>n(),failureToast:e=>`Restart failed: ${e.slice(0,80)}`})||n()})}function eZ(){return fH(SH().data??null)}function tZ({thread:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return!eZ()||e.kind!==`session`||e.foreign||e.backend===`codex`||e.runtime===`exited`?null:(0,L.jsx)(cM,{label:`Restart worker — same conversation, fresh process on current tooling`,side:`top`,children:(0,L.jsx)(`button`,{type:`button`,disabled:n,"aria-label":`Restart worker`,onMouseDown:e=>e.preventDefault(),onClick:()=>{r(!0),$X(t,e.id).finally(()=>r(!1))},className:`${TD} mx-[2px]`,children:n?(0,L.jsx)(eh,{size:14,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(ph,{size:14,strokeWidth:2})})})}function nZ({slug:e,label:t=`Exit fullscreen`}){let n=wD(e)??yw(`/`);function r(e){Ud(e)&&(e.preventDefault(),ww(n,{viewTransition:!em()}))}return(0,L.jsx)(cM,{label:t,children:(0,L.jsx)(`a`,{href:n,"aria-label":t,"data-standalone-return":!0,onMouseDown:e=>e.preventDefault(),onClick:r,className:TD,children:(0,L.jsx)(ah,{size:14})})})}function rZ({thread:e,expand:t,collapse:n,onDoc:r,onDone:i,onCollapse:a,collapsed:o,doneBusy:s,onStatusMutate:c,onStatusApplied:l,onStatusFailed:u}){let d=e.kind===`session`;return(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[a&&(0,L.jsx)(aZ,{label:o?`Expand`:`Collapse`,icon:o?Tm:wm,size:13,onClick:a}),(0,L.jsx)(QX,{thread:e}),(0,L.jsx)(tZ,{thread:e}),r&&(0,L.jsx)(aZ,{label:`Frizz document`,icon:Rm,size:14,onClick:r}),t&&(0,L.jsx)(lM,{slug:e.id}),n&&(0,L.jsx)(nZ,{slug:e.id}),d?aE(e)?(0,L.jsx)(iZ,{slug:e.id}):null:(0,L.jsx)(`div`,{className:`ml-1`,children:(0,L.jsx)(QI,{slug:e.id,onDone:i,doneBusy:s,onMutateStart:c,onApplied:l,onFailed:u})})]})}function iZ({slug:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return(0,L.jsx)(cM,{label:`Retry — resume this session where it left off`,children:(0,L.jsxs)(`button`,{onClick:()=>{r(!0),uU(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,L.jsx)(eh,{size:12,className:`animate-spin`}):(0,L.jsx)(hh,{size:12}),`Retry`]})})}function aZ({label:e,icon:t,size:n,busy:r,...i}){return(0,L.jsx)(cM,{label:e,children:(0,L.jsx)(`button`,{...i,"aria-label":e,onMouseDown:e=>e.preventDefault(),className:TD,children:r?(0,L.jsx)(eh,{size:n,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(t,{size:n,strokeWidth:2})})})}function oZ(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 sZ(e){if(e.runtime===`exited`&&e.crashed)return!1;if(e.runtime===`perm-prompt`||e.pendingAsk)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=>Xc(e)&&t(e))||e.bgShells?.some(t))}function cZ(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;if(e.cutOff)return{lead:`This session was cut off mid-turn — its worker ended before the turn finished, so the thread isn’t done.`,groups:[],trailer:`Marking it done files it under Done as it is. Retry resumes it where it left off.`};let n=[lZ(`agent`,`sub-agent`,e.subAgents,e.subAgentCount),lZ(`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 lZ(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 uZ({open:e,onOpenChange:t,title:n,children:r,footer:i,className:a=`w-[640px] max-w-[92vw] max-h-[82vh]`}){return(0,L.jsx)(iL,{open:e,onOpenChange:t,children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`overlay-in fixed inset-0 z-[200] bg-black/55 backdrop-blur-[1px]`}),(0,L.jsxs)(gL,{"aria-modal":`true`,onEscapeKeyDown:GR,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,L.jsxs)(`header`,{className:`flex h-11 shrink-0 items-center gap-2 border-b border-border px-4`,children:[(0,L.jsx)(xL,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:n}),(0,L.jsx)(TL,{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,L.jsx)(Dh,{size:15})})]}),(0,L.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r}),i&&(0,L.jsx)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-4 py-3`,children:i})]})]})})}function dZ({thread:e,onSnoozed:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(``),[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(``),f=(0,I.useId)(),p=(0,I.useId)(),m=(0,I.useId)(),h=YT(e),g=Zt(CT).snoozePreset,_=aT(g),v=sT(g),y=(0,I.useMemo)(()=>uT(new Date(Date.now()+6e4)),[i]);async function b(n,i=null){r(!0);try{await Y.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:n,prompt:n?i:null}),n?(Z(`${i?`Bump scheduled`:`Snoozed`} · ${fT(n)}`),t?.()):Z(`Snooze cleared`),a(!1),d(``)}catch(e){let t=e instanceof Error?e.message:`Snooze failed`;Z(t.slice(0,100)),d(t)}finally{r(!1)}}function x(e){CT.snoozePreset=e,b(cT(e))}function S(){s(uT(new Date(h??cT(g)))),l(e.snoozePrompt??``),d(``),a(!0)}function C(){let e=dT(o);if(!e.ok){d(e.message);return}let t=c.trim();if(t.length>4e3){d(`Prompt is too long (${t.length}/${fl})`);return}b(e.until,t||null)}return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`inline-flex items-stretch rounded-md border border-border-strong bg-panel-2/60`,children:[(0,L.jsxs)(`button`,{type:`button`,disabled:n,"aria-label":h?`Wake thread now`:v,title:h?`Wake now · ${fT(h)}`:v,onClick:()=>void b(h?null:cT(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,L.jsx)(eh,{size:12,className:`animate-spin`}),h?`Wake now`:v]}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`my-1 w-px bg-border`}),(0,L.jsxs)(qI,{children:[(0,L.jsx)(JI,{asChild:!0,children:(0,L.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,L.jsx)(xm,{size:12})})}),(0,L.jsxs)(YI,{align:`end`,children:[nT.map(e=>(0,L.jsx)(XI,{onSelect:()=>x(e.value),icon:(0,L.jsx)(Nm,{size:12}),children:(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-4`,children:[(0,L.jsx)(`span`,{children:e.label}),(0,L.jsx)(`span`,{className:`text-[10px] text-muted/55`,children:e.detail})]})},e.value)),(0,L.jsx)(ZI,{}),(0,L.jsx)(XI,{onSelect:S,children:`Custom time & prompt…`}),h&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ZI,{}),(0,L.jsx)(XI,{onSelect:()=>void b(null),children:`Wake now`})]})]})]})]}),(0,L.jsx)(uZ,{open:i,onOpenChange:e=>{n||a(e)},title:`Snooze thread`,className:`w-[360px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.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,L.jsx)(eh,{size:12,className:`animate-spin`}),c.trim()?`Snooze & bump`:`Snooze`]})]}),children:(0,L.jsxs)(`form`,{id:m,className:`flex flex-col gap-2.5 p-4`,onSubmit:e=>{e.preventDefault(),C()},children:[(0,L.jsx)(`label`,{htmlFor:f,className:`text-[11px] font-medium text-muted`,children:`Wake at this local time`}),(0,L.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,L.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,L.jsxs)(`label`,{htmlFor:p,className:`mt-1 text-[11px] font-medium text-muted`,children:[`Then send this prompt `,(0,L.jsx)(`span`,{className:`font-normal text-muted/55`,children:`(optional)`})]}),(0,L.jsx)(`textarea`,{id:p,autoFocus:!0,rows:3,maxLength:fl,placeholder:`e.g. Check whether CI went green and land it if so.`,value:c,onChange:e=>{l(e.target.value),d(``)},onKeyDown:e=>{oR({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(),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,L.jsx)(`p`,{className:`min-h-4 text-[10.5px] text-muted/65`,children:c.trim()?`frizz will resume this thread with the prompt at the wake time.`:`Leave empty to just bring the card back to your queue.`}),u&&(0,L.jsx)(`p`,{role:`alert`,className:`text-[11px] text-red-400`,children:u})]})})]})}var fZ=1.25,pZ=7.5-fZ/2,mZ=2*Math.PI*pZ;function hZ(e,t){return Math.max(0,Math.min(100,Math.floor(e/t*100)))}function gZ({thread:e}){let t=e.context;if(!t||t.window<=0)return null;let n=hZ(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,L.jsx)(cM,{label:i,side:`top`,multiline:!0,children:(0,L.jsx)(`span`,{"data-context-meter":!0,"data-context-percent":n,"aria-label":i,className:`flex shrink-0 items-center text-muted/60`,children:(0,L.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`h-[1.05em] w-[1.05em]`,"aria-hidden":!0,style:{transform:`rotate(-90deg)`},children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:pZ,fill:`none`,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:fZ}),(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:pZ,fill:`none`,stroke:`currentColor`,strokeWidth:fZ,strokeDasharray:`${mZ*r} ${mZ}`})]})})})}var _Z={sm:{track:`h-[16px] w-[28px]`,thumb:`size-[12px]`,travel:`translate-x-[12px]`,onCap:`translate-y-[calc(6px_-_0.5cap)]`},md:{track:`h-[20px] w-[34px]`,thumb:`size-[16px]`,travel:`translate-x-[14px]`,onCap:`translate-y-[calc(8px_-_0.5cap)]`}};function vZ({checked:e,onChange:t,disabled:n,label:r,size:i=`sm`,testId:a}){let o=_Z[i];return(0,L.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:n,"data-switch":a,"data-state":e?`checked`:`unchecked`,onMouseDown:e=>e.preventDefault(),onClick:()=>t(!e),className:`inline-flex shrink-0 cursor-pointer items-center self-baseline rounded-full p-[2px] outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60 disabled:cursor-default disabled:opacity-45 ${o.track} ${o.onCap} ${e?`bg-fg`:`bg-border hover:bg-border-strong`}`,children:(0,L.jsx)(`span`,{className:`pointer-events-none block rounded-full transition-transform duration-150 ease-out ${o.thumb} ${e?`bg-bg ${o.travel}`:`translate-x-0 bg-muted/70`}`})})}function yZ({size:e=12,className:t=``}){return(0,L.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,className:t,"aria-hidden":`true`,children:[(0,L.jsx)(`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`}),(0,L.jsx)(`path`,{d:`M12 7a5 5 0 1 0 5 5`}),(0,L.jsx)(`path`,{d:`M13 3.055a9 9 0 1 0 7.941 7.945`}),(0,L.jsx)(`path`,{d:`M15 6v3h3l3 -3h-3v-3l-3 3`}),(0,L.jsx)(`path`,{d:`M15 9l-3 3`})]})}function bZ({thread:e}){let[t,n]=(0,I.useState)(`closed`),r=(0,I.useRef)(null),i=(0,I.useRef)(void 0);(0,I.useEffect)(()=>()=>clearTimeout(i.current),[]);let a=e.recurringPrompt,o=a?.stopHook===!0||a?.heartbeat===!0||a?.postCompaction===!0;function s(){clearTimeout(i.current),i.current=setTimeout(()=>n(e=>e===`closed`?`preview`:e),xZ)}function c(){clearTimeout(i.current),n(e=>e===`preview`?`closed`:e)}let l=e=>{r.current?.contains(e.detail.originalEvent.target)&&e.preventDefault()};return(0,L.jsxs)(jV,{open:t!==`closed`,onOpenChange:e=>{e||(clearTimeout(i.current),n(`closed`))},children:[(0,L.jsx)(NV,{asChild:!0,children:(0,L.jsx)(`button`,{ref:r,type:`button`,"data-recurring-prompt":!0,"data-recurring-prompt-on":o?`true`:`false`,"aria-label":o?`Goal (on)`:`Goal`,"aria-haspopup":`dialog`,"aria-expanded":t===`full`,onClick:()=>{clearTimeout(i.current),n(e=>e===`full`?`closed`:`full`)},onPointerEnter:e=>{e.pointerType===`mouse`&&s()},onPointerLeave:e=>{e.pointerType===`mouse`&&c()},onFocus:()=>n(e=>e===`closed`?`preview`:e),onBlur:c,className:`flex items-center rounded-md px-0.5 py-0.5 outline-none ${dR}`,children:(0,L.jsx)(yZ,{size:12,className:o?`text-amber-400/90`:`text-muted/60 hover:text-muted`})})}),t===`preview`?(0,L.jsx)(PV,{side:`top`,align:`start`,"data-recurring-preview":!0,onPointerDownOutside:l,className:`pointer-events-none max-w-[min(22rem,calc(100vw-1.5rem))] p-2.5 text-[11px] leading-snug text-fg`,onOpenAutoFocus:e=>e.preventDefault(),children:(0,L.jsx)(SZ,{armed:a})}):(0,L.jsx)(PV,{side:`top`,align:`start`,className:`w-[min(46rem,calc(100vw-1.5rem))] p-3 text-[11px] leading-relaxed text-fg`,onPointerDownOutside:l,onOpenAutoFocus:e=>e.preventDefault(),children:(0,L.jsx)(MZ,{thread:e,armed:a,close:()=>n(`closed`)})})]})}var xZ=260;function SZ({armed:e}){let t=e?.prompt?.trim(),n=e?jZ({stopHook:e.stopHook===!0,heartbeat:e.heartbeat===!0,postCompaction:e.postCompaction===!0,seconds:e.intervalSeconds??TZ}):[];return(0,L.jsxs)(`div`,{"data-recurring-preview-body":!0,children:[(0,L.jsxs)(`div`,{className:`mb-1 flex items-baseline gap-2`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Goal`}),(0,L.jsx)(`span`,{className:`text-muted/70`,children:n.length>0?`sent ${n.join(`, `)}`:t?`no trigger is on`:`not set`})]}),(0,L.jsx)(`p`,{className:`line-clamp-4 whitespace-pre-wrap ${t?`text-fg/90`:`text-muted`}`,children:t||`Click to write what this thread is trying to achieve.`})]})}var CZ=1,wZ=1440,TZ=600;function EZ(e,t){if(e===String(Math.round(t/60)))return t;let n=Math.round(Number(e));return Number.isFinite(n)&&n>0?Math.min(wZ,Math.max(CZ,n))*60:t}var DZ=null;function OZ(e){return{prompt:e.text.trim(),stopHook:e.stopHook,heartbeat:e.heartbeat,postCompaction:e.postCompaction,seconds:e.seconds}}function kZ(e,t){return(e.text.trim()||null)===(t.prompt||null)&&e.stopHook===t.stopHook&&e.heartbeat===t.heartbeat&&e.postCompaction===t.postCompaction&&e.seconds===t.seconds}function AZ(e,t){return!e.archived&&!t}function jZ(e){return[e.stopHook?`at every rest`:null,e.heartbeat?`every ${Math.round(e.seconds/60)}m`:null,e.postCompaction?`after every compaction`:null].filter(e=>e!==null)}function MZ({thread:e,armed:t,close:n}){let r=AZ(e,t)?_l:``,i=DZ?.slug===e.id?DZ.draft:null,[a,o]=(0,I.useState)(i?.text??t?.prompt??r),[s,c]=(0,I.useState)(i?.stopHook??t?.stopHook??!1),[l,u]=(0,I.useState)(i?.heartbeat??t?.heartbeat??!1),[d,f]=(0,I.useState)(i?.postCompaction??t?.postCompaction??!1),[p,m]=(0,I.useState)(i?.seconds??t?.intervalSeconds??TZ),h=s||l||d,[g,_]=(0,I.useState)(String(Math.round((i?.seconds??t?.intervalSeconds??TZ)/60))),v=(0,I.useRef)(null),y=(0,I.useRef)({prompt:t?.prompt??r,stopHook:t?.stopHook??!1,heartbeat:t?.heartbeat??!1,postCompaction:t?.postCompaction??!1,seconds:t?.intervalSeconds??TZ}),b=e=>({text:a,stopHook:s,heartbeat:l,postCompaction:d,seconds:EZ(g,p),...e}),x=(0,I.useRef)(b());x.current=b(),(0,I.useEffect)(()=>()=>{let n=x.current;if(kZ(n,y.current)){DZ?.slug===e.id&&(DZ=null);return}if(n.text.trim()===``&&!t){DZ={slug:e.id,draft:n};return}C(n)},[]);let S=(0,I.useRef)(Promise.resolve(!0));function C(t){let n=S.current.catch(()=>!1).then(async()=>{let n=await w(t);return n?DZ?.slug===e.id&&(DZ=null):DZ={slug:e.id,draft:t},n});return S.current=n,n}async function w(t){let n=t.text.trim()||null;if(kZ(t,y.current))return!0;try{await Y.setThreadRecurringPrompt({slug:e.id,sessionId:e.sessionId??``,prompt:n,stopHook:t.stopHook,heartbeat:t.heartbeat,postCompaction:t.postCompaction,...n===null?{}:{intervalSeconds:t.seconds}}),y.current={...OZ(t),prompt:n??``};let r=jZ(t);Z(n===null?`Goal cleared`:r.length===0?`Goal saved — no trigger is on, so nothing is sent`:`Goal: sent ${r.join(`, `)}`)}catch(e){return Z((e instanceof Error?e.message:`Could not save the recurring prompt`).slice(0,100)),!1}return!0}function T(){if(kZ(b(),y.current)||a.trim()===``&&!t){n();return}C(b()).then(e=>{e&&n()})}function E(){let e=EZ(g,p);_(String(Math.round(e/60))),m(e)}let D=[{at:t?.lastRestFiredAt,how:`at rest`},{at:t?.lastScheduleFiredAt,how:`on schedule`},{at:t?.lastCompactFiredAt,how:`after a compaction`}].filter(e=>e.at!==void 0),O=D.reduce((e,t)=>e&&Date.parse(e.at)>=Date.parse(t.at)?e:t,void 0),k=O===void 0?null:D.length>1?`Last sent ${KE(O.at)}`:`Last sent ${O.how} ${KE(O.at)}`;return(0,L.jsxs)(`section`,{"data-recurring-panel":!0,children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Goal`}),k&&(0,L.jsx)(`span`,{className:`ml-auto truncate text-muted/55`,children:k})]}),(0,L.jsx)(`textarea`,{ref:v,"data-recurring-text":!0,value:a,maxLength:ml,onChange:e=>o(e.target.value),onKeyDown:e=>{oR({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(),T())},placeholder:`What is this thread trying to achieve?`,className:`field-sizing-content max-h-[28vh] min-h-[4rem] w-full resize-none overflow-y-auto rounded-md border border-border bg-bg px-2 py-1.5 text-[12px] leading-snug outline-none placeholder:text-muted/50 focus:border-border-strong ${h?`text-fg`:`text-muted`}`}),(0,L.jsxs)(`div`,{className:`mt-3 grid grid-cols-[auto_auto_1fr] items-baseline gap-x-2.5 gap-y-2`,children:[(0,L.jsx)(vZ,{testId:`stop-hook`,label:`Stop hook`,checked:s,onChange:e=>{c(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${s?`text-fg`:`text-muted`}`,children:`Stop hook`}),(0,L.jsx)(`span`,{className:`text-muted`,children:`every rest — unless it signed off or parked on a wait`}),(0,L.jsx)(vZ,{testId:`heartbeat`,label:`Heartbeat`,checked:l,onChange:e=>{u(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${l?`text-fg`:`text-muted`}`,children:`Heartbeat`}),l?(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5 text-muted`,children:[`every`,(0,L.jsx)(`input`,{type:`number`,"data-recurring-minutes":!0,inputMode:`numeric`,min:CZ,max:wZ,value:g,onChange:e=>_(e.target.value),onBlur:E,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),E())},"aria-label":`Heartbeat interval in minutes`,className:`w-[4.5ch] rounded-md border border-border bg-bg px-1 py-[3px] text-center text-[11px] leading-none tabular-nums text-fg outline-none focus:border-border-strong disabled:opacity-45 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`}),`min, even mid-turn`]}):(0,L.jsx)(`span`,{className:`text-muted`,children:`on a clock, even mid-turn`}),(0,L.jsx)(vZ,{testId:`post-compaction`,label:`Compaction`,checked:d,onChange:e=>{f(e),e&&!a.trim()&&requestAnimationFrame(()=>v.current?.focus())}}),(0,L.jsx)(`span`,{className:`font-medium ${d?`text-fg`:`text-muted`}`,children:`Compaction`}),(0,L.jsx)(`span`,{className:`text-muted`,children:`when the context is summarized away — link the doc to re-read`})]})]})}function NZ({thread:e,sticky:t=!1,safeArea:n=!1,onArchived:r,onDismissCancel:i,onSnoozed:a}){let o=oZ(e);return o.footer?(0,L.jsxs)(`footer`,{"aria-label":`Thread lifecycle actions`,"data-thread-lifecycle-footer":!0,className:`${t?`z-20`:FJ} flex min-h-10 shrink-0 flex-wrap items-center justify-end ${lR} 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,L.jsxs)(`span`,{className:`mr-auto flex items-center ${lR}`,children:[(0,L.jsx)(gZ,{thread:e}),(0,L.jsx)(FZ,{thread:e}),(0,L.jsx)(bZ,{thread:e})]}),o.done?(0,L.jsx)(PZ,{}):(0,L.jsxs)(L.Fragment,{children:[o.snooze&&(0,L.jsx)(dZ,{thread:e,onSnoozed:a}),(0,L.jsx)(IZ,{thread:e,onArchived:r,onDismissCancel:i})]})]}):null}function PZ(){let e=`Marked done — send a message to reopen it`;return(0,L.jsx)(cM,{label:e,side:`top`,children:(0,L.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,L.jsx)(bm,{size:12}),`Done`]})})}function FZ({thread:e}){let t=YT(e);if(!t)return null;let n=e.snoozePrompt?.trim(),r=n?`Bumps ${fT(t)}\n${n}`:`Snoozed until ${fT(t)}`;return(0,L.jsx)(cM,{label:r,side:`top`,multiline:!!n,children:(0,L.jsx)(`span`,{"data-pending-snooze":!0,"aria-label":r,className:`flex items-center px-0.5 text-muted/60 ${uR}`,children:(0,L.jsx)(qm,{size:12})})})}function IZ({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,I.useState)(!1),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(void 0),d=(r,i)=>{o(!0),i&&t?.(),(r||sZ(e))&&kU(e.id),Y.completeThread({slug:e.id,sessionId:e.sessionId??``,terminateLive:r}).then(r=>{if(r.needsConfirmation){AU(e.id),i&&n?.(),u(r.hold),c(!0),o(!1);return}c(!1),Z(`Done`),i||t?.()}).catch(t=>{AU(e.id),i&&n?.(),Z(`Couldn’t finish: ${t.message.slice(0,80)}`),o(!1)})},f=!!t&&!!n&&sZ(e);return(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.jsx)(bm,{size:12,className:i}),`Mark as done`]}),(0,L.jsx)(uZ,{open:s,onOpenChange:e=>{a||c(e)},title:l?.cutOff?`Mark an unfinished thread done?`:`End this session?`,className:`w-[390px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.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,L.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,L.jsx)(eh,{size:12,className:`animate-spin`}),l?.cutOff?`Mark done anyway`:`End session & mark done`]})]}),children:(0,L.jsx)(LZ,{hold:l})})]})}function LZ({hold:e}){let t=cZ(e);return(0,L.jsxs)(`div`,{"data-completion-hold":!0,className:`flex flex-col gap-2 p-4 text-[12px] leading-relaxed text-muted`,children:[(0,L.jsx)(`p`,{children:t.lead}),t.groups.map(e=>(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,L.jsx)(`div`,{className:`text-[11px] font-medium uppercase tracking-wide text-fg/70`,children:e.heading}),(0,L.jsxs)(`ul`,{className:`flex flex-col gap-0.5`,children:[e.items.map((e,t)=>(0,L.jsxs)(`li`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:JE,children:`⤷`}),(0,L.jsx)(`span`,{className:`min-w-0 truncate text-fg/80`,children:e.label}),e.stale&&(0,L.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted/60`,children:`no recent output`})]},`${e.label}-${t}`)),e.overflow>0&&(0,L.jsxs)(`li`,{className:`pl-[15px] text-muted/60`,children:[`+`,e.overflow,` more`]})]})]},e.kind)),(0,L.jsx)(`p`,{children:t.trailer})]})}function RZ(e,t){let n=e.trim();if(!(!n||n===t.trim()))return n}function zZ(e,t){let n=e.trim();return!n||n===t||n===`Untitled thread`||n===`Spinning up a thread…`?``:n}function BZ(e){return e.kind!==`session`||e.foreign||e.backend===`codex`||e.claudeRuntime!==void 0&&e.claudeRuntime!==`broker`?{show:!1,enabled:!1,label:``}:e.runtime===`exited`||e.runtime===`none`?{show:!0,enabled:!1,label:`Resume this Claude thread to rename it with Claude`}:e.runtime===`spawning`?{show:!0,enabled:!1,label:`Rename with Claude once this thread has started`}:{show:!0,enabled:!0,label:`Rename with Claude — a fresh title from the opening request`}}function VZ({thread:e,hidden:t=!1}){let n=it({mutationFn:()=>Y.aiRenameThread({slug:e.id}),onSuccess:({title:e})=>Z(`Renamed to “${e}”`),onError:e=>Z(e instanceof Error?e.message:`Could not rename with Claude`,{duration:7e3})}),r=BZ(e);if(!r.show||t)return null;let i=n.isPending?`Claude is generating a title…`:n.error instanceof Error?n.error.message:r.label,a=n.isPending||!!n.error;return(0,L.jsx)(cM,{label:i,children:(0,L.jsx)(`button`,{type:`button`,"data-ai-rename":!0,"aria-label":n.isPending?`Renaming with Claude`:r.label,"aria-busy":n.isPending,"aria-disabled":!r.enabled,onMouseDown:e=>e.preventDefault(),onClick:()=>{if(!n.isPending){if(!r.enabled){Z(r.label);return}n.reset(),n.mutate()}},className:`title-refresh-offset -mx-[7px] -my-3 flex h-6 w-6 shrink-0 items-center justify-center rounded-md outline-none transition-[color,background-color,opacity] focus-visible:opacity-100 group-hover/thread-title:opacity-100 ${a?`opacity-100`:`opacity-0`} ${n.error?`text-red-400 hover:bg-red-500/10`:r.enabled?`text-muted hover:bg-panel-2 hover:text-fg`:`cursor-not-allowed text-muted/50 hover:bg-panel-2`}`,children:n.isPending?(0,L.jsx)(eh,{size:12,className:`animate-spin`}):(0,L.jsx)(gh,{size:12})})})}function HZ({thread:e,className:t=``}){let n=e.id,r=it({mutationFn:e=>Y.renameThread({slug:n,title:e})}),[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(``),c=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!i)return;let e=requestAnimationFrame(()=>{c.current?.focus(),c.current?.select()});return()=>cancelAnimationFrame(e)},[i]),(0,I.useEffect)(()=>{a(!1),s(``)},[n]);let l=e.kind===`session`&&e.foreign!==!0,u=DT(e);function d(){a(!1),s(``)}function f(){let e=RZ(o,u);if(a(!1),!e){s(``);return}r.mutate(e,{onSuccess:()=>{s(``),Z(`Thread renamed`)},onError:t=>{s(e),a(!0),Z(t instanceof Error?t.message:`Could not rename thread`)}})}return(0,L.jsxs)(`div`,{className:`group/thread-title flex min-w-0 items-center gap-2`,children:[i?(0,L.jsx)(`input`,{ref:c,"aria-label":`Thread title`,value:o,maxLength:200,onChange:e=>s(e.target.value),onBlur:f,"data-claims-escape":!0,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),f()):e.key===`Escape`&&(e.preventDefault(),d())},className:`min-w-0 flex-1 -mx-1.5 -my-px rounded-md border border-border bg-elevated px-1.5 py-0 font-semibold text-[15px] text-fg outline-none focus:border-accent ${t}`}):l?(0,L.jsx)(`button`,{type:`button`,title:`Edit title`,"aria-label":`Edit thread title: ${u}`,disabled:r.isPending,onClick:()=>{s(zZ(u,n)),a(!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 ${t}`,children:u}):(0,L.jsx)(`div`,{className:`min-w-0 max-w-full shrink truncate px-0.5 -mx-0.5 font-semibold text-[15px] ${t}`,title:u,children:u}),(0,L.jsx)(VZ,{thread:e,hidden:i})]})}var UZ=new Set([`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]);function WZ(e,t){let n=e.lastIndexOf(t);if(n<=0)return{model:e};let r=e.slice(n+1);return UZ.has(r)?{model:e.slice(0,n),effort:r}:{model:e}}function GZ(e){let t=e?.trim();if(!t)return`Profile unknown`;if(t.startsWith(`frizz:`)){let{model:e,effort:n}=WZ(t.slice(6).replace(/^frizz-/,``),`-`);return n?`${e} › ${n}`:e}let n=t.split(/\s+/),{model:r,effort:i}=WZ(n.at(-1)??t,`/`);if(!i)return t;let a=n.slice(0,-1).join(` `);return`${a?`${a} · `:``}${r} › ${i}`}function KZ(e){return e?.trim()?GZ(e):void 0}function qZ(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 JZ={completed:`finished`,killed:`stopped`,failed:`failed`};function YZ(e){let t=JZ[e.agentStatus??`completed`],n=e.agentElapsedMs===void 0?void 0:UE(e.agentElapsedMs);return{outcome:t,tail:`${t}${n?` · ${n}`:``}`}}var XZ=e=>e===void 0?void 0:RE(e),ZZ=e=>{if(e!==void 0)return UE(e)||void 0};function QZ(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=XZ(n);return{label:t===`completed`?void 0:JZ[t],duration:ZZ(n),tone:r?`failed`:`muted`,title:`${e?`Stopped`:r?`Failed`:`Ran for`}${e||r?` after`:``} ${i??`an unknown time`}`}}if(r){let e=XZ(i);return{label:void 0,duration:ZZ(i),tone:`muted`,title:r===`running`?`Working for ${e??`an unknown time`}`:`Dispatched ${e??`an unknown time`} ago`}}if(a===`pending`||a!==`failed`&&a!==`cancelled`)return null;let s=a===`failed`,c=a===`cancelled`,l=XZ(o);return{label:c?JZ.killed:s?JZ.failed:void 0,duration:ZZ(o),tone:s?`failed`:`muted`,title:`${c?`Stopped after`:s?`Failed after`:`Ran for`} ${l??`an unknown time`}`}}var $Z=`group flex min-w-0 items-baseline gap-1.5 rounded-sm text-left text-[11.5px] outline-none focus-visible:ring-1 focus-visible:ring-fg/60`,eQ=`${XE} -mt-[1em] self-baseline`,tQ=`h-[1em] w-[1em] shrink-0 translate-y-[calc(0.5em_-_0.5cap)] text-muted/45`;function nQ({links:e}){return e.length?(0,L.jsx)(`div`,{"data-thread-links":!0,"aria-label":`Registered links`,className:`mt-2 flex min-w-0 flex-col gap-0.5 border-t border-border pt-1.5`,children:e.map(e=>{let t=e.kind===`link`,n=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:JE,children:`⤷`}),(0,L.jsx)(`span`,{className:eQ,children:(0,L.jsx)(t?Im:Rm,{"aria-hidden":!0,className:tQ})}),(0,L.jsx)(`span`,{"data-link-kind":!0,className:YE,children:t?`Link`:`File`}),(0,L.jsx)(`span`,{"data-link-label":!0,className:`min-w-0 flex-1 truncate text-muted/70 group-hover:text-fg/80 group-hover:underline`,children:e.label}),t&&(0,L.jsx)(`span`,{"data-link-destination":!0,className:`font-mono-keep ml-auto -mb-[0.5em] max-w-[45%] min-w-0 truncate text-right text-[10px] text-muted/45`,children:e.target})]});return t?(0,L.jsx)(`a`,{"data-thread-link":e.id,href:e.target,target:`_blank`,rel:`noopener noreferrer`,title:e.target,className:$Z,onClick:e=>e.stopPropagation(),children:n},e.id):(0,L.jsx)(`button`,{"data-thread-link":e.id,type:`button`,title:e.target,className:`${$Z} cursor-pointer`,onClick:t=>{t.stopPropagation(),Aq(e.target)},children:n},e.id)})}):null}function rQ({at:e,host:t}){let n=_E(e);return!n||!e?null:(0,L.jsx)(`time`,{dateTime:e,"aria-hidden":`true`,className:`!pointer-events-none absolute right-6 top-full z-10 ${t===`bubble`?`mt-[2px]`:`-mt-[5px]`} select-none text-[11px] leading-4 [font-variant-numeric:tabular-nums] text-muted/70 opacity-0 transition-opacity group-hover/ts:opacity-100`,children:n})}function iQ({at:e,host:t,gap:n,children:r}){return(0,L.jsxs)(`div`,{className:`group/ts relative flex flex-col px-6`,style:{paddingTop:n},children:[r,(0,L.jsx)(rQ,{at:e,host:t})]})}var aQ=`text-[14px] leading-5 text-muted`,oQ=`size-[1em] shrink-0 self-baseline -mt-[calc(1em_-_1cap)] translate-y-[calc(0.5em_-_0.5cap)] text-muted/70 transition-transform group-hover:text-fg`;function sQ(e){return`${oQ} ${e?`-mx-[0.208em] rotate-90`:`-mx-[0.333em]`}`}var $=I.createElement;function cQ({payload:e}){return e.kind===`command-approval`?$(I.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,$(lQ,{label:`Redacted command preview`,text:e.command.preview}),e.command.actions?$(uQ,{actions:e.command.actions}):null,e.capabilities?$(fQ,{capabilities:e.capabilities}):null):e.kind===`file-approval`?$(I.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},gQ(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?$(lQ,{label:`Plain-text diff preview`,text:e.diffPreview}):null,e.changes?$(dQ,{changes:e.changes}):null):$(I.Fragment,null,e.preview?$(`pre`,{className:`max-h-64 max-w-full min-w-0 overflow-auto rounded-md border border-border/70 bg-bg/40 px-2.5 py-2 whitespace-pre-wrap break-words font-mono-keep text-[11.5px] leading-relaxed text-fg/90`},e.promptLabel?$(`span`,{className:`text-shell/90`},e.promptLabel):null,e.promptLabel?$(`span`,{className:`text-accent`},` ❯ `):null,e.preview):null,e.resourceLabel?$(`div`,{className:`mt-1 break-all text-[11px] text-muted`},`Resource: `,e.resourceLabel):null,e.workingDirectoryLabel?$(`div`,{className:`mt-1.5 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?$(fQ,{capabilities:e.capabilities}):null)}function lQ({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 uQ({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`},hQ(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,$(lQ,{label:`${hQ(e.kind)} command detail`,text:e.commandPreview})))))}function dQ({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`},gQ(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?$(lQ,{label:`${gQ(e.operation)} plain-text diff`,text:e.diffPreview}):null))))}function fQ({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`},$(pQ,{capability:e})))))}function pQ({capability:e}){if(e.kind===`network`){let t=e.enabled===!0?`Enable network access`:e.enabled===!1?`Disable network access`:`Network access request`;return $(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),e.hosts.length>0?$(mQ,{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 $(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},t),$(mQ,{label:`Paths`,values:e.resources}))}return e.kind===`glob-scan`?$(I.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`?$(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},`Future command policy amendment`),$(mQ,{label:`Command prefix tokens`,values:e.prefixes})):$(I.Fragment,null,$(`div`,{className:`text-[11px] font-medium text-fg/90`},e.access===`allow`?`Allow future network hosts`:`Deny future network hosts`),$(mQ,{label:`Hosts`,values:e.hosts}))}function mQ({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 hQ(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 gQ(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 _Q(e){return e===`sending`?{actionsEnabled:!1,status:`Sending to runtime…`}:e===`reconnect-required`?{actionsEnabled:!1,status:`Runtime reconnect required before this request can be answered.`}:{actionsEnabled:!0}}var vQ={semantic:`approve`,label:`Approve once`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`},yQ={semantic:`approve`,label:`Approve for session`,order:20,tone:`primary`,durable:!0,scope:`Persists for later matching requests in this thread session.`},bQ={semantic:`approve`,label:`Grant for turn`,order:10,tone:`primary`,durable:!1,scope:`Applies to this turn only.`},xQ={semantic:`approve`,label:`Grant for session`,order:20,tone:`primary`,durable:!0,scope:`Persists until this thread session ends.`},SQ={semantic:`deny`,label:`Deny`,order:70,tone:`danger`,durable:!1,scope:`Rejects this request.`},CQ={semantic:`decline`,label:`Decline`,order:70,tone:`danger`,durable:!1,scope:`Declines this request.`},wQ={semantic:`cancel`,label:`Cancel request`,order:80,tone:`neutral`,durable:!1,scope:`Cancels this pending request.`};function TQ(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`?vQ:n===`acceptForSession`&&r===`approve`?yQ:(n===`decline`||n===`deny`)&&r===`deny`?SQ:n===`cancel`&&r===`cancel`?wQ:void 0;if(e.kind===`permission-approval`)return n===`grant-turn`&&r===`approve`?bQ:n===`grant-session`&&r===`approve`?xQ:(n===`deny`||n===`decline`)&&r===`deny`?SQ:n===`cancel`&&r===`cancel`?wQ: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`?CQ:n===`cancel`&&r===`cancel`?wQ: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 CQ;if(n===`cancel`&&r===`cancel`)return wQ}function EQ(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=TQ(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 DQ(e){switch(e){case`claude`:return`Claude`;case`codex`:return`Codex`;case`frizz`:return`Frizz`}}function OQ(e){switch(e){case`runtime`:return`Runtime`;case`agent`:return`Agent`;case`tool`:return`Tool`;case`mcp-server`:return`MCP server`;case`frizz`:return`Frizz`}}function kQ(e,t){let n=e.options.findIndex(e=>JSON.stringify(e.value)===JSON.stringify(t));return n<0?``:String(n)}function AQ(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?``:kQ(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 jQ(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 MQ(e,t){if(e.some(e=>e.secret))return{errors:{},formError:`Secret responses cannot be sent through this Frizz 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=ac(i,a);e?r[i.id]=`Value ${e}.`:n[i.id]=a}}if(Object.keys(r).length>0)return{errors:r};let i=yc.safeParse(n);return i.success?{errors:r,values:i.data}:{errors:r,formError:`The response is too large or contains invalid values.`}}function NQ(e,t){return JSON.stringify([e,t??null])}function PQ(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}catch{return null}}function FQ(e,t){let n=e.getAttribute(`href`);if(!n)return!1;let r=PQ(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 IQ(e=()=>location.href){return t=>{if(t.defaultPrevented||t.button!==0)return;let n=RQ(t);n&&FQ(n,e())}}function LQ(){let e=IQ();return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)}function RQ(e){let t=typeof e.composedPath==`function`?e.composedPath():[];for(let e of t)if(zQ(e))return e;let n=e.target?.closest?.(`a[href]`);return zQ(n)?n:null}function zQ(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 BQ(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 VQ(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)=>`${BQ(t)} ${e.label}`),recommendedIdx:null},...e?{optionFieldId:e.id}:{},optionValues:r.map(e=>e.value),...t?{notesFieldId:t.id}:{}}}function HQ(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=VQ(r,a);if(!e)return null;n.push(e)}else if(r.input===`text`||r.input===`multiline`){let e=VQ(void 0,r);if(!e)return null;n.push(e)}else return null}return n.length>0?n:null}function UQ(e,t){let n=[],r;if(t){let i=e.multiSelect?t.split(`, `):[t];e.options.forEach((e,t)=>{i.includes(e.label)&&n.push(t)}),n.length===0&&(r=t)}return{question:{kind:e.multiSelect?`multi`:`question`,danger:!1,contextMd:e.question,options:e.options.map((e,t)=>`${BQ(t)} ${e.label}${e.description?` — ${e.description}`:``}`),recommendedIdx:null},chosenIdxs:n,text:r}}function WQ(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}let o=i.chosen;if(e.optionFieldId&&o!==null&&e.optionValues[o]!==void 0){n[e.optionFieldId]=e.optionValues[o];return}a&&e.notesFieldId&&(n[e.notesFieldId]=a)}),Object.keys(n).length>0?n:void 0}function GQ(e){let t=e instanceof Error?e.message:`The request could not be updated.`;return t.length>240?`${t.slice(0,239)}…`:t}function KQ(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`frizz-response-${Date.now()}-${Math.random().toString(36).slice(2)}`}function qQ({thread:e,className:t=``,autoFocusFirst:n=!1}){let r=nw(e),i=iw(e),a=(0,I.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,L.jsxs)(`div`,{"data-interactions-error":!0,role:`alert`,className:`${NJ} border border-amber-500/35 bg-amber-500/[0.07] p-4 text-[12px] text-amber-100 ${t}`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:`Pending requests could not be loaded.`}),(0,L.jsx)(`div`,{className:`mt-1 break-words text-amber-100/75`,children:GQ(i.error)}),(0,L.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,L.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,L.jsx)(YQ,{record:e,autoFocus:n&&t===0},e.id))}):null}function JQ({record:e,questions:t,autoFocus:n}){let r=Ve(),i=(0,I.useRef)(null),a=(0,I.useRef)(new Map),o=Mz(),s=_Q(e.delivery?.effect),c=(0,I.useMemo)(()=>EQ(e).find(e=>e.semantic===`answer`),[e]),l=Fz(t.flatMap(t=>t.notesFieldId?[jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId)]:[])),[u,d]=(0,I.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(jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId))??``:``})),p=WQ(t,f),[m,h]=(0,I.useState)(),[g,_]=(0,I.useState)(!1);(0,I.useEffect)(()=>{if(!n)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[n,e.id]);let v=it({mutationFn:async t=>Y.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),nx(r,t.interaction),r.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId)}),r.invalidateQueries({queryKey:tx(e.owner.threadSlug,e.owner.sessionId,e.id)})},onError:t=>{rx(r,e),h(GQ(t))}}),y=()=>{if(!c||!p||v.isPending||g||!s.actionsEnabled)return;h(void 0);let e=NQ(c.id,p),t=a.current.get(e)??KQ();a.current.set(e,t),v.mutate({decisionId:c.id,values:p,responseId:t})},b=(t,n)=>{t.notesFieldId&&kz.set(jz.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId),n)};return(0,L.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,L.jsx)(uX,{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{...r,chosen:r.chosen===n?null:n}}))},onText:n=>{b(e,n),e.question.kind!==`multi`&&d(e=>e[t]?.chosen===null||e[t]===void 0?e:e.map((e,n)=>n===t?{...e,chosen:null}:e))},onSubmit:y}:void 0},e.optionFieldId??e.notesFieldId??t)),m&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:m}),(s.status||v.isPending||g)&&(0,L.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,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.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 YQ({record:e,autoFocus:t=!1}){let n=(0,I.useMemo)(()=>HQ(e),[e]);return n?(0,L.jsx)(JQ,{record:e,questions:n,autoFocus:t}):(0,L.jsx)(XQ,{record:e,autoFocus:t})}function XQ({record:e,autoFocus:t=!1}){let n=Ve(),r=(0,I.useId)(),i=(0,I.useRef)(null),a=(0,I.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=Mz(),l=o.filter(e=>!e.secret&&(e.input===`text`||e.input===`multiline`)).map(t=>jz.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.id)),u=Fz(l),[d,f]=(0,I.useState)(()=>AQ(o)),p=(0,I.useMemo)(()=>{let t={...d};return o.forEach(n=>{if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=jz.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,I.useState)({}),[g,_]=(0,I.useState)(),[v,y]=(0,I.useState)(),[b,x]=(0,I.useState)(!1),[S,C]=(0,I.useState)(),[w,T]=(0,I.useState)(!1),E=_Q(e.delivery?.effect),D=(0,I.useMemo)(()=>EQ(e),[e]).filter(e=>!(s&&e.requiresValues)),O=e.allowedDecisions.length-D.length,k=(0,I.useCallback)(t=>{for(let n of o)if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=t[n.id];typeof r==`string`&&kz.set(jz.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,I.useEffect)(()=>{if(!t)return;let e=document.activeElement;e&&e!==document.body||requestAnimationFrame(()=>i.current?.focus())},[t,e.id]),(0,I.useEffect)(()=>{E.actionsEnabled||(C(void 0),T(!1))},[E.actionsEnabled]);let A=it({mutationFn:async({decision:t,values:n,responseId:r})=>{if(t.semantic===`cancel`&&e.provider.kind===`frizz`){let t=await Y.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 Y.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(NQ(r.decision.id,r.values)),_(void 0),C(void 0),T(!1),x(!0),l.forEach(e=>kz.clear(e)),y(t.waitingForProvider?`Response sent. Waiting for the provider to acknowledge it…`:`Request completed.`),nx(n,t.interaction),n.setQueryData(tx(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t.interaction}),n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0}),t.waitingForProvider&&window.setTimeout(()=>{n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})},1e3)},onError:t=>{y(void 0),_(GQ(t)),rx(n,e),Y.interactionGet({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id}).then(({interaction:t})=>{nx(n,t),n.setQueryData(tx(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:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})),n.invalidateQueries({queryKey:ex(e.owner.threadSlug,e.owner.sessionId),exact:!0})}).catch(()=>{})}});function j(e){if(!e.requiresValues){h({});return}let t=MQ(o,p);return h(t.errors),t.formError?(_(t.formError),null):t.values?t.values:null}function M(e,t=!1){if(!E.actionsEnabled||A.isPending||b)return;_(void 0);let n=j(e);if(n===null)return;if(e.durable&&!t){C(e),T(!1);return}let r=NQ(e.id,n),i=a.current.get(r)??KQ();a.current.set(r,i),A.mutate({decision:e,values:n,responseId:i})}let N=D.find(e=>e.requiresValues&&e.tone===`primary`);function P(e){e.preventDefault(),E.actionsEnabled&&N&&M(N)}return(0,L.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 ${NJ} 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,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 border-b border-accent/20 px-4 py-3`,children:[(0,L.jsx)(vh,{"aria-hidden":`true`,size:16,className:`shrink-0 text-accent`}),(0,L.jsx)(`h3`,{id:r,className:`min-w-0 flex-1 break-words text-[14px] font-semibold leading-snug text-fg`,children:e.payload.title})]}),(0,L.jsx)(`form`,{onSubmit:P,onKeyDown:e=>{e.target instanceof HTMLButtonElement||oR({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(),E.actionsEnabled&&N&&M(N))},className:`min-w-0 px-4 py-3.5`,noValidate:!0,children:(0,L.jsxs)(`fieldset`,{disabled:!E.actionsEnabled,className:`min-w-0 border-0 p-0`,children:[(0,L.jsx)(`legend`,{className:`sr-only`,children:`Interaction request`}),(0,L.jsx)(QQ,{record:e,instanceId:r,draft:p,setDraft:k,errors:m,autoFocus:t}),s&&(0,L.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,L.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,L.jsx)(Zm,{"aria-hidden":`true`,size:14,className:`mt-0.5 shrink-0`}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:`Secret input is unavailable in this page.`}),(0,L.jsx)(`div`,{className:`mt-1 text-amber-100/70`,children:`Frizz will not persist or send secret values through the current RPC.`})]})]}),(0,L.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,L.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,L.jsx)(Th,{"aria-hidden":`true`,size:13,className:`mt-0.5 shrink-0`}),(0,L.jsxs)(`span`,{children:[O===1?`One advertised choice`:`${O} advertised choices`,` cannot be safely labeled or delivered in Frizz and is not shown.`]})]}),S&&(0,L.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,L.jsx)(`div`,{className:`text-[12px] font-semibold text-amber-100`,children:`This approval persists beyond the current request.`}),(0,L.jsx)(`div`,{className:`mt-1 text-[11px] leading-snug text-amber-100/75`,children:S.scope}),(0,L.jsxs)(`label`,{className:`mt-2.5 flex cursor-pointer items-start gap-2 text-[11px] leading-snug text-fg/85`,children:[(0,L.jsx)(`input`,{type:`checkbox`,autoFocus:!0,checked:w,onChange:e=>T(e.target.checked),className:`mt-0.5 accent-[var(--color-accent)]`}),(0,L.jsx)(`span`,{children:`I understand this may authorize later matching actions in this session.`})]}),(0,L.jsxs)(`div`,{className:`mt-3 flex flex-wrap justify-start gap-2`,children:[(0,L.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,L.jsxs)(`button`,{type:`button`,disabled:!w||A.isPending,onClick:()=>M(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,L.jsx)(`div`,{role:`alert`,className:`mt-3 break-words text-[11px] leading-snug text-red-300`,children:g}),(E.status??v)&&(0,L.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,L.jsxs)(`div`,{className:`mt-4 flex flex-wrap justify-start gap-2`,children:[D.map(e=>(0,L.jsxs)(`button`,{type:e===N?`submit`:`button`,"data-interaction-decision":e.id,disabled:A.isPending,"aria-describedby":e.durable?`${r}-scope-${e.id}`:void 0,onClick:e===N?void 0:()=>M(e),className:ZQ(e),children:[A.isPending?`Sending…`:e.label,e.durable&&(0,L.jsx)(`span`,{className:`sr-only`,children:`; persistent approval`})]},e.id)),D.filter(e=>e.durable).map(e=>(0,L.jsx)(`span`,{id:`${r}-scope-${e.id}`,className:`sr-only`,children:e.scope},`scope-${e.id}`))]}),!$Q.has(e.payload.kind)&&(0,L.jsx)(n$,{record:e})]})})]})}function ZQ(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 QQ({record:e,instanceId:t,draft:n,setDraft:r,errors:i,autoFocus:a}){let o=e.payload,s=(e,t)=>r(jQ(n,e,t)),c;return c=o.kind===`command-approval`||o.kind===`file-approval`||o.kind===`permission-approval`?(0,L.jsx)(cQ,{payload:o}):o.kind===`mcp-elicitation-url`?(0,L.jsx)(t$,{url:o.url}):(0,L.jsx)(r$,{instanceId:t,fields:o.fields,draft:n,setValue:s,errors:i,autoFocus:a}),(0,L.jsxs)(L.Fragment,{children:[`message`in o&&o.message&&(0,L.jsx)(e$,{text:o.message}),(0,L.jsx)(`div`,{className:`message`in o&&o.message?`mt-3`:``,children:c})]})}var $Q=new Set([`command-approval`,`file-approval`,`permission-approval`]);function e$({text:e}){return e.length>600||e.split(`
|
|
310
|
+
`).length>6?(0,L.jsxs)(`details`,{className:`rounded-md border border-border/70 bg-panel/60`,children:[(0,L.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,L.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,L.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg/80`,children:e})}function t$({url:e}){let t=PQ(e,location.href);return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`text-[11px] font-medium text-fg`,children:`Open this page to continue`}),(0,L.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,L.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,L.jsx)(Im,{"aria-hidden":`true`,size:12}),`Open page`]}):(0,L.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 n$({record:e}){return(0,L.jsxs)(`details`,{className:`mt-3 border-t border-border/50 pt-2 text-[10.5px] text-muted/70`,children:[(0,L.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,L.jsxs)(`dl`,{className:`mt-2 grid min-w-0 grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1`,children:[(0,L.jsx)(`dt`,{children:`Provider`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:DQ(e.provider.kind)}),e.provider.name&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`dt`,{children:`Reported name`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.name})]}),e.provider.version&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`dt`,{children:`Reported version`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.provider.version})]}),(0,L.jsx)(`dt`,{children:`Source`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:OQ(e.source.kind)}),e.source.label&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`dt`,{children:`Reported source`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.source.label})]}),(0,L.jsx)(`dt`,{children:`Scope`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:`This thread · this request`}),e.expiresAt&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`dt`,{children:`Expires`}),(0,L.jsx)(`dd`,{className:`min-w-0 break-all text-fg/65`,children:e.expiresAt})]})]})]})}function r$({instanceId:e,fields:t,draft:n,setValue:r,errors:i,autoFocus:a}){let o=t.findIndex(e=>!e.secret);return(0,L.jsxs)(`fieldset`,{className:`min-w-0`,children:[(0,L.jsx)(`legend`,{className:`sr-only`,children:`Requested information`}),(0,L.jsx)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:t.map((t,s)=>(0,L.jsx)(i$,{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 i$({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,L.jsxs)(L.Fragment,{children:[t.label,t.required&&(0,L.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,L.jsx)(`div`,{className:`mt-1 text-[11px] text-amber-100/70`,children:`Use the secure fallback below.`});else if(t.input===`multiline`)f=(0,L.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,L.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,L.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,L.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,L.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,L.jsx)(`span`,{children:u})]});else if(t.input===`select`)f=(0,L.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,L.jsx)(`option`,{value:``,children:`Choose an option…`}),t.options.map((e,t)=>(0,L.jsx)(`option`,{value:String(t),children:e.label},t))]});else if(t.input===`multi-select`){let e=Array.isArray(n)?n:[];f=(0,L.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,L.jsx)(`legend`,{className:`px-1 text-[11px] font-medium text-fg/85`,children:u}),(0,L.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:t.options.map((n,i)=>{let o=String(i);return(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-[12px] text-fg/85`,children:[(0,L.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,L.jsx)(`span`,{children:n.label})]},o)})})]})}return(0,L.jsxs)(`div`,{className:`min-w-0`,children:[t.secret?(0,L.jsx)(`div`,{className:`text-[11px] font-medium text-fg/85`,children:u}):t.input!==`boolean`&&t.input!==`multi-select`?(0,L.jsx)(`label`,{htmlFor:o,className:`block text-[11px] font-medium text-fg/85`,children:u}):null,t.description&&(0,L.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,L.jsx)(`div`,{id:c,role:`alert`,className:`mt-1 text-[10.5px] text-red-300`,children:i})]})}function a$(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 o$(e,t){let n=t.description?.trim(),r=n&&!n.includes(`
|
|
311
311
|
`)?n:void 0,i=[r?void 0:n,t.preview?.trim()].filter(Boolean).join(`
|
|
312
312
|
|
|
313
|
-
`)||void 0;return{line:`${i$(e)} ${t.label}${r?` — ${r}`:``}`,...i?{body:i}:{}}}var o$=`root`;function s$(e,t,n){return`${e}/${t}.${n}`}function c$(e){let t=e.options??[],n=t.findIndex(e=>e.recommended),r=t.map((e,t)=>a$(t,e));return{question:{kind:e.kind,danger:e.danger===!0,contextMd:e.question,options:r.map(e=>e.line),recommendedIdx:n===-1?null:n,...r.some(e=>e.body)?{optionBodies:r.map(e=>e.body)}:{}},optionLabels:t.map(e=>e.label)}}function l$(e,t){return!t||e.kind===`multi`?null:t.chosen}function u$(e,t){let n=[],r=(e,i,a)=>{let{question:o,optionLabels:s}=c$(e);n.push({path:i,spec:e,question:o,optionLabels:s,depth:a});let c=l$(e,t.get(i));c!==null&&(e.options?.[c]?.followUps??[]).forEach((e,t)=>r(e,s$(i,c,t),a+1))};return r(e,o$,1),n}function d$(e,t){return t?t.text.trim()?!0:e.kind===`multi`?(t.chosenSet??[]).length>0:t.chosen!==null:!1}function f$(e,t){if(!d$(e.spec,t.get(`root`)))return;let n=(r,i)=>{let a=t.get(i),o=(r.options??[]).map(e=>e.label),s=l$(r,a),c=r.kind===`multi`?(a?.chosenSet??[]).slice().sort((e,t)=>e-t).flatMap(e=>o[e]===void 0?[]:[o[e]]):s===null?[]:[o[s]].filter(e=>e!==void 0),l=r.kind===`multi`||s===null?a?.text.trim():void 0,u=s===null?[]:(r.options?.[s]?.followUps??[]).map((e,t)=>n(e,s$(i,s,t)));return{questionId:e.id,question:r.question,chosen:c,...l?{text:l}:{},...u.length>0?{followUps:u}:{}}};return n(e.spec,o$)}function p$(e){let t=e instanceof Error?e.message:`The answer could not be sent.`;return t.length>240?`${t.slice(0,239)}…`:t}var m$=(e,t)=>`${e}|${t}`,h$=(0,I.createContext)(null);function g$(e){let t=e?.id,n=e?.questions??[],r=Mz(),[i,a]=(0,I.useState)(()=>new Map),[o,s]=(0,I.useState)(),c=(0,I.useContext)(F0),l=Fz((0,I.useMemo)(()=>t?n.flatMap(e=>b$(e).map(n=>jz.question(r,t,e.id,n))):[],[r,t,n])),u=(e,n)=>{let a=i.get(m$(e.id,n));return{chosen:a?.chosen??null,chosenSet:a?.chosenSet??[],text:(t?l.get(jz.question(r,t,e.id,n)):void 0)??``}},d=e=>new Map(b$(e).map(t=>[t,u(e,t)])),f=n.flatMap(e=>{let t=f$(e,d(e));return t?[t]:[]}),p=it({mutationFn:async e=>Y.answerQuestions({slug:t,answers:e}),onSuccess:e=>{for(let i of e.answered){a(e=>{let t=new Map(e);for(let e of[...t.keys()])e.startsWith(`${i}|`)&&t.delete(e);return t});let e=n.find(e=>e.id===i);if(e&&t)for(let n of b$(e))kz.set(jz.question(r,t,e.id,n),``)}},onError:e=>{c?.cancel(),s(p$(e))}}),m=it({mutationFn:async e=>Y.dismissQuestions({slug:t,ids:[e]}),onError:e=>s(p$(e))});return{slug:t,answerFor:u,answersOf:d,onChip:(e,t,n,r)=>{a(i=>{let a=new Map(i),o=m$(e.id,t),s=a.get(o)??{chosen:null,chosenSet:[]};if(n){let e=s.chosenSet.includes(r)?s.chosenSet.filter(e=>e!==r):[...s.chosenSet,r];a.set(o,{...s,chosenSet:e})}else a.set(o,{...s,chosen:s.chosen===r?null:r});return a})},onText:(e,n,i,o)=>{t&&(kz.set(jz.question(r,t,e.id,n),o),i||a(t=>{let r=m$(e.id,n),i=t.get(r);return!i||i.chosen===null?t:new Map(t).set(r,{...i,chosen:null})}))},dismiss:e=>m.mutate(e),dismissing:m.isPending,submit:()=>{!t||f.length===0||p.isPending||(s(void 0),c?.dismiss(),p.mutate(f))},staged:f.length,sending:p.isPending,error:o}}function _$({thread:e,children:t}){let n=g$(e);return(0,L.jsx)(h$.Provider,{value:n,children:t})}function v$({q:e,answering:t}){let n=(0,I.useContext)(h$),r=t??n;if(!r||!r.slug)return null;let i=u$(e.spec,r.answersOf(e)),a=t=>(0,L.jsx)(uX,{question:t.question,label:t.depth>1?`Follow-up`:void 0,aside:t.depth===1&&!e.spec.danger?(0,L.jsx)(`button`,{type:`button`,"data-dismiss-question":!0,"aria-label":`Dismiss this question`,title:`Dismiss — the worker decides it itself`,disabled:r.dismissing,onClick:()=>r.dismiss(e.id),className:`card-icon-offset -mx-2 -my-1 flex rounded-md p-1 text-muted/70 outline-none transition-colors hover:bg-elevated hover:text-fg disabled:opacity-40`,children:(0,L.jsx)(Dh,{size:16})}):void 0,interactive:{answer:r.answerFor(e,t.path),onChip:n=>r.onChip(e,t.path,t.spec.kind===`multi`,n),onText:n=>r.onText(e,t.path,t.spec.kind===`multi`,n),onSubmit:r.submit}},t.path),o=i.slice(1);return(0,L.jsxs)(`article`,{"data-question-id":e.id,className:`flex min-w-0 flex-col gap-2`,children:[a(i[0]),o.length>0&&(0,L.jsx)(`div`,{className:`ml-3 flex flex-col gap-2 border-l border-border pl-3`,children:o.map(e=>(0,L.jsx)(`div`,{className:e.depth>2?`ml-3 border-l border-border pl-3`:void 0,children:a(e)},e.path))})]})}function y$({thread:e,questions:t,inFlight:n=null,showSend:r=!1,className:i=``}){let a=e?.id,o=t??e?.questions??[],s=(0,I.useContext)(h$),c=g$(s?void 0:e),l=s??c;return!a||o.length===0&&!r?!a||!n?.length?null:(0,L.jsx)(`section`,{"data-answers-in-flight":!0,"aria-label":`Your answer, on its way to the worker`,className:`flex min-w-0 flex-col items-end ${i}`,children:(0,L.jsx)(QY,{answers:n,queued:!0})}):(0,L.jsxs)(`section`,{"data-registered-questions":!0,"aria-label":o.length>0?`${o.length} question${o.length===1?``:`s`} waiting for an answer`:`Send the answers above`,className:`flex min-w-0 flex-col gap-3 ${i}`,children:[o.map(e=>(0,L.jsx)(v$,{q:e,answering:l},e.id)),l.error&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:l.error}),l.sending&&(0,L.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`text-[11px] leading-snug text-muted`,children:`Sending…`}),(0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:l.staged===0||l.sending,onClick:l.submit,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 b$(e){let t=[],n=(e,r)=>{t.push(r),e.options?.forEach((e,t)=>{e.followUps?.forEach((e,i)=>n(e,`${r}/${t}.${i}`))})};return n(e.spec,o$),t}function x$(e){return(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).length}function S$(e,t={}){let n=(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`).length,r=(e.bgShells??[]).filter(e=>e.state===`running`).length,i=t.watchers===!1?0:x$(e),a=[n>0?`${n} sub-agent${n===1?``:`s`}`:null,r>0?`${r} background shell${r===1?``:`s`}`:null,i>0?`${i} PR watcher${i===1?``:`s`}`:null].filter(e=>e!==null);return a.length===0?`0 background shells`:a.length===1?a[0]:`${a.slice(0,-1).join(`, `)} and ${a[a.length-1]}`}function C$(e){return(e.subAgents??[]).some(e=>Xc(e)&&e.state===`running`)}function w$(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length}function T$(e){return C$(e)||w$(e)>0}function E$(e,t){return ul(t)??(D$(e)?`Background shells running`:`Awaiting`)}function D$(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length>0&&!C$(e)&&x$(e)===0&&O$(e).length===0}function O$(e){return(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`)}var k$={id:``,subAgents:[],bgShells:[],watches:[]},A$=[];function j$(e,t){let n=new Set((e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).map(e=>e.target));return pU(t).filter(e=>!n.has(e.ref))}function M$({watch:e}){return(0,I.useEffect)(()=>{e.url&&Ff([e.ref])},[e.url,e.ref]),e.url?(0,L.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-gh-ref":e.ref,className:`${WJ} text-[12px]`,children:e.ref}):(0,L.jsx)(`span`,{className:`text-[12px] text-muted`,children:e.ref})}var N$={mergeable:`no conflicts`,blocked:`merge blocked`,conflicting:`has conflicts`,unknown:null};function P$(e){return e.state!==`open`||e.merge===`blocked`&&e.checks!==`passing`&&e.checks!==`none`?null:N$[e.merge]}var F$=`shrink-0 self-baseline translate-y-[calc(0.5em_-_0.5cap)]`;function I$({tone:e}){return(0,L.jsx)(`span`,{"aria-hidden":!0,className:`inline-block size-3 rounded-full border ${e} border-t-transparent motion-safe:animate-spin ${F$}`})}function L$(){return(0,L.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 16 16`,width:12,height:12,fill:`none`,stroke:`currentColor`,overflow:`visible`,className:F$,style:{color:qE.fgAttention},children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:`4`,fill:`currentColor`,stroke:`none`}),(0,L.jsxs)(`g`,{strokeWidth:`2`,className:`origin-center motion-safe:animate-spin`,children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:`7`,opacity:`0.25`}),(0,L.jsx)(`path`,{d:`M15 8A7 7 0 0 1 8 15`})]})]})}function R$({status:e}){return e?e.state===`merged`?(0,L.jsx)(Hm,{size:12,className:F$,style:{color:qE.fgDone}}):e.state===`closed`?(0,L.jsx)(Um,{size:12,className:F$,style:{color:qE.fgDanger}}):e.checks===`failing`?(0,L.jsx)(Mm,{size:12,className:F$,style:{color:qE.fgDanger}}):e.checks===`passing`?(0,L.jsx)(Dm,{size:12,className:F$,style:{color:qE.fgSuccess}}):e.gated>0&&e.running===0?(0,L.jsx)(Em,{size:12,className:F$,style:{color:qE.fgAttention}}):e.checks===`running`?(0,L.jsx)(L$,{}):(0,L.jsx)(Om,{size:12,className:`${F$} text-muted/60`}):(0,L.jsx)(Om,{size:12,className:`${F$} text-muted/60`})}function z$(e){return[e.failed>0?`${e.failed} failing`:null,e.gated>0?`${e.gated} awaiting approval`:null,e.running>0?`${e.running} in progress`:null,e.passed>0?`${e.passed} successful`:null,e.skipped>0?`${e.skipped} skipped`:null].filter(e=>e!==null).join(`, `)}function B$(e){if(!e)return`Checking…`;if(e.state===`merged`)return`Merged`;if(e.state===`closed`)return`Closed`;let t=z$(e),n=P$(e);return[t||`No checks`,n].filter(e=>e!==null).join(` · `)}var V$=`group relative col-span-4 grid grid-cols-subgrid items-baseline rounded-sm text-[12px] leading-5`,H$=`group relative col-span-4 flex items-baseline rounded-sm text-[12px] leading-5`,U$=`ml-1.5 min-w-0 truncate font-medium text-fg/90`,W$=`ml-3 min-w-0 truncate text-right text-muted/70`,G$=`outline-none after:absolute after:inset-0 after:rounded-sm focus-visible:after:ring-1 focus-visible:after:ring-fg/60`;function K$(){return(0,L.jsx)(Cm,{size:13,"aria-hidden":!0,className:`${F$} ml-[3px] -mr-[4px] text-muted/35 transition-colors group-hover:text-muted/70`})}function q$({mark:e,name:t,status:n,onOpen:r,onPrewarm:i,href:a,ghRef:o,title:s,testKind:c,testId:l,indent:u}){let d=u!==void 0,f=d?`${U$} flex-1`:U$,p=a?(0,L.jsx)(`a`,{href:a,target:`_blank`,rel:`noreferrer noopener`,title:s,"data-gh-ref":o,onMouseDown:e=>e.stopPropagation(),className:`${f} ${G$} group-hover:underline group-hover:decoration-fg/40 group-hover:underline-offset-2`,children:t}):r?(0,L.jsx)(`button`,{type:`button`,onClick:r,onMouseDown:e=>e.stopPropagation(),title:s,className:`${f} ${G$} text-left group-hover:underline group-hover:decoration-fg/40 group-hover:underline-offset-2`,children:t}):(0,L.jsx)(`span`,{className:f,title:s,children:t}),m=!!(a||r);return(0,L.jsxs)(`div`,{"data-wait-row":l,"data-wait-kind":c,onMouseEnter:i,onFocus:i,style:d?{paddingLeft:u}:void 0,className:`${d?H$:V$} ${m?`cursor-pointer transition-colors hover:bg-fg/[0.045]`:``}`,children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:e}),p,(0,L.jsx)(`span`,{"data-wait-status":!0,className:W$,children:n}),m?(0,L.jsx)(K$,{}):(0,L.jsx)(`span`,{})]})}function J$({watch:e}){let t=e.github,n=dU(e.target);return(0,I.useEffect)(()=>{n&&Ff([e.target])},[n,e.target]),(0,L.jsx)(q$,{testKind:`github`,testId:e.target,mark:(0,L.jsx)(R$,{status:t}),name:e.target,href:n??void 0,ghRef:n?e.target:void 0,title:n?`Open ${e.target} on GitHub`:e.target,status:(0,L.jsxs)(L.Fragment,{children:[B$(t),t&&t.failing.length>0&&n&&(0,L.jsxs)(L.Fragment,{children:[` · `,(0,L.jsx)(`a`,{href:`${n}/checks`,target:`_blank`,rel:`noreferrer noopener`,onMouseDown:e=>e.stopPropagation(),className:`relative underline underline-offset-2 text-[#f85149]/85 decoration-[#f85149]/30 hover:decoration-[#f85149]`,children:`view failures`})]})]})})}function Y$(e,t){return(e.bgShells??[]).find(e=>e.id===t||e.taskId===t||e.label===t)}function X$(e){return(e.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`)}function Z$({watch:e,thread:t,slug:n,now:r}){let i=Y$(t,e.target);if(i)return(0,L.jsx)(Q$,{shell:i,slug:n,now:r,testId:e.target});let a=HE(e.createdAt,r);return(0,L.jsx)(q$,{testKind:`shell`,testId:e.target,mark:(0,L.jsx)(Sh,{size:12,className:`${F$} text-shell`}),name:e.target,title:e.target,status:a?`running · ${a}`:`running`})}function Q$({shell:e,slug:t,now:n,testId:r}){let i=HE(e.startedAt,n),a=e.id&&!e.outputUnavailable;return(0,L.jsx)(q$,{testKind:`shell`,testId:r??e.id??e.label,mark:(0,L.jsx)(Sh,{size:12,className:`${F$} text-shell`}),name:e.label,onOpen:a?()=>Cp(t,e.id,{label:e.label,startedAt:e.startedAt}):void 0,title:a?`Read this shell's output — running for ${i}`:e.label,status:i?`running · ${i}`:`running`})}function $$({watch:e,now:t}){let n=Date.parse(e.timer?.fireAt??``),r=Number.isFinite(n)?n>t?`fires in ${BE(n-t)}`:`firing…`:`armed`;return(0,L.jsx)(q$,{testKind:`timer`,testId:e.target,mark:(0,L.jsx)(Nm,{size:12,className:`${F$} text-muted/60`}),name:e.timer?.prompt||e.target,title:e.timer?.fireAt?`One-off timer, set for ${e.timer.fireAt}`:e.target,status:r})}function e1(e){return(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`)}function t1({agent:e,slug:t,now:n}){let r=HE(e.startedAt,n),i=e.subagentType?.replace(/^frizz:/,``);return(0,L.jsx)(q$,{testKind:`agent`,testId:e.id??e.label,mark:(0,L.jsx)(I$,{tone:`border-accent`}),name:e.label,onOpen:e.id?()=>Sp(t,e.id,{label:e.label,subagentType:e.subagentType,startedAt:e.startedAt}):void 0,title:e.id?`Open this sub-agent — working for ${r}`:e.label,status:[i,r].filter(Boolean).join(` · `)})}function n1(e,t,n){let r=new Set(n.map(e=>e.target)),i=[];for(let n of t){if(n.kind!==`shell`)continue;let t=n.value.trim();if(!t||r.has(t))continue;let a=Y$(e,t);!a||a.state!==`running`||(r.add(t),i.push({id:`shell:${e.id}:${t}`,kind:`shell`,target:t,state:`armed`,createdAt:a.startedAt}))}return i}function r1(e,t={}){let n=Date.parse(t.notAfter??``),r=e=>!Number.isFinite(n)||!e||!(Date.parse(e)>n),i=(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`&&r(e.createdAt)),a=X$(e).filter(t=>r(Y$(e,t.target)?.startedAt??t.createdAt));return{prs:i,shells:[...a,...n1(e,t.hints??[],a)],agents:e1(e).filter(e=>r(e.startedAt)),timers:O$(e).filter(e=>r(e.createdAt))}}function i1(e,t={}){let n=r1(e,t);return n.prs.length+n.shells.length+n.agents.length+n.timers.length>0}function a1(e,t,n={}){let{prs:r,shells:i,agents:a,timers:o}=r1(e,n);return[{head:`Sub-agents`,rows:a.map(n=>(0,L.jsx)(t1,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(Z$,{watch:n,thread:e,slug:e.id,now:t},n.id))},{head:`Pull requests`,rows:r.map(e=>(0,L.jsx)(J$,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)($$,{watch:e,now:t},e.id))}].filter(e=>e.rows.length>0)}function o1({group:e,first:t}){let n=`col-span-4 text-[10.5px] uppercase tracking-wide text-muted/45 ${t?``:`mt-2.5`}`;return e.onToggle?(0,L.jsxs)(`button`,{type:`button`,onClick:e.onToggle,"aria-expanded":!e.collapsed,onMouseDown:e=>e.stopPropagation(),className:`${n} flex items-baseline rounded-sm text-left transition-colors hover:text-muted/80`,children:[(0,L.jsx)(`span`,{children:e.head}),e.count!==void 0&&(0,L.jsx)(`span`,{className:`ml-1.5 tabular-nums`,children:e.count}),(0,L.jsx)(Cm,{size:10,"aria-hidden":!0,className:`${F$} ml-[5px] transition-transform ${e.collapsed?``:`rotate-90`}`})]}):(0,L.jsx)(`div`,{className:n,children:e.head})}function s1({groups:e,divider:t}){return e.length===0?null:(0,L.jsxs)(L.Fragment,{children:[t&&(0,L.jsx)(`div`,{"aria-hidden":!0,className:`-mx-4 mt-3 border-t border-border`}),(0,L.jsx)(`div`,{className:`mt-3 grid grid-cols-[auto_1fr_fit-content(50%)_auto] gap-y-px`,children:e.map((e,t)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(o1,{group:e,first:t===0}),!e.collapsed&&e.rows]},e.head))})]})}function c1(e){return e?.awaitingBackground===!0&&e.runtime===`turn-idle`&&e.bgSnoozed!==!0}var l1=`Hides card until new activity is detected`;function u1({thread:e,onSnooze:t,onSnoozeFailed:n}){let[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{i(!0),t?.(),Y.snoozeAwaitingBackground({slug:e.id,sessionId:e.sessionId??``}).then(()=>Z(`Snoozed until the background work returns`)).catch(e=>{n?.(),Z(`Couldn’t snooze: ${e.message.slice(0,80)}`),i(!1)})},disabled:r,onMouseDown:e=>e.preventDefault(),title:l1,className:`disabled:opacity-45 ${GJ}`,children:[(0,L.jsx)(qm,{size:12,className:DX}),`Snooze`]}),(0,L.jsx)(`span`,{className:UJ,children:l1})]})}function d1({thread:e,fence:t,onSnooze:n,onSnoozeFailed:r,notAfter:i}){let a=e??k$,o=t??(e?.lastFence?.kind===`awaiting`?e.lastFence:void 0),s=o?.hints??A$,c=C$(a),l=yU(o?.body),u=eq(l??``),d=a1(a,kE(),{hints:s,notAfter:i}),f=j$(a,s),p=i===void 0&&e!==void 0&&c1(e)&&lZ(e).snooze;return(0,L.jsxs)(BJ,{"data-awaiting-background":!0,icon:D$(a)?Sh:qm,label:(0,L.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:E$(a,s)}),aside:f.length===1?(0,L.jsx)(M$,{watch:f[0]}):void 0,className:p?`pb-0`:``,children:[l?(0,L.jsx)($q,{className:`md-body ${MJ}`,html:u}):d.length===0&&!T$(a)?(0,L.jsx)(`p`,{className:VJ,children:fU}):null,f.length>1&&(0,L.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-0.5`,children:f.map(e=>(0,L.jsx)(M$,{watch:e},e.ref))}),d.length===0&&T$(a)&&(0,L.jsx)(`p`,{className:`block min-w-0 text-[13px] leading-5 text-fg/75`,children:c?(0,L.jsxs)(L.Fragment,{children:[`It’s awaiting the results from `,S$(a,{watchers:!1}),` it dispatched. It returns to the queue on its own when the work comes back.`]}):(0,L.jsxs)(L.Fragment,{children:[S$(a,{watchers:!1}),` `,w$(a)===1?`is`:`are`,` still running. It resumes on its own when`,` `,w$(a)===1?`it finishes`:`one of them finishes`,`.`]})}),(0,L.jsx)(s1,{groups:d,divider:!!l}),p?(0,L.jsx)(`div`,{"data-awaiting-snooze":!0,className:`-mx-4 mt-3 flex flex-wrap items-center gap-x-2.5 gap-y-2 border-t border-border bg-fg/[0.03] px-4 py-2.5 ${FJ}`,children:(0,L.jsx)(u1,{thread:e,onSnooze:n,onSnoozeFailed:r})}):null]})}function f1(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`event`||n.boundary!==`rest`)){for(let r=t-1;r>=0;r--){let t=e[r];if(t.role===`assistant`&&t.kind!==`event`&&t.kind!==`reasoning`)return{index:r,at:n.at}}return{index:-1,at:n.at}}}}function p1(e,t=Date.now()){return e!==void 0&&YT(e,t)!==void 0}function m1(){let[e,t]=(0,I.useState)(()=>Date.now());return(0,I.useEffect)(()=>{let e=setInterval(()=>t(Date.now()),1e3);return()=>clearInterval(e)},[]),e}function h1({thread:e}){let t=m1(),[n,r]=(0,I.useState)(!1),i=YT(e,t);if(!i)return null;let a=Date.parse(i),o=fT(i,t).replace(/^(Today|Tomorrow)/,e=>e.toLowerCase()),s=e.snoozePrompt?.trim();async function c(){r(!0);try{await Y.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:null,prompt:null}),Z(`Snooze cleared`)}catch(e){Z((e instanceof Error?e.message:`Wake failed`).slice(0,100))}finally{r(!1)}}return(0,L.jsxs)(BJ,{"data-snooze-card":!0,icon:qm,label:`Snoozed`,children:[(0,L.jsx)(`div`,{"data-snooze-countdown":!0,title:new Date(a).toLocaleString(),className:`text-[22px] font-semibold leading-8 tracking-tight text-fg tabular-nums`,children:WE(a-t)}),(0,L.jsx)(`p`,{className:VJ,children:s?(0,L.jsxs)(L.Fragment,{children:[`Resumes `,o,` and sends: “`,gT(s),`”`]}):(0,L.jsxs)(L.Fragment,{children:[`Returns to the queue `,o,`.`]})}),e.foreign!==!0&&(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{type:`button`,"data-snooze-wake-now":!0,disabled:n,onClick:()=>void c(),className:`${GJ} disabled:cursor-not-allowed disabled:opacity-45`,children:`Wake now`})})]})}function g1({at:e,fallbackAt:t,className:n=``}){let r=kE(),i=dE(e,t),a=fE(i,r);return!a||!i?null:(0,L.jsx)(`time`,{dateTime:i,className:n,children:a})}var _1=1500;function v1(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},_1),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var y1=`Could not copy terminal command`,b1={attach:`Attach command copied`,resume:`Resume command copied`},x1={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},S1=e=>[`terminalCommand`,e];function C1(e){return Y.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 w1(e){let t=C1(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;return await JR(n),r}function T1(e){let t=it({mutationFn:()=>w1(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),Z(b1[t])},onError:t=>{e?.onError?.(),Z(t instanceof Error?`${y1}: ${t.message}`:y1,{duration:7e3})}})}function E1({slug:e}){let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null);r.current||=v1(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Ve(),a=T1(e);(0,I.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:S1(e),queryFn:()=>C1(e),staleTime:15e3})}function s(){let t=i.getQueryData(S1(e));if(t){JR(t.command).then(()=>{r.current?.begin(),Z(b1[t.mode])},()=>Z(y1,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(S1(e)),l=t?c?b1[c.mode]:`Terminal command copied`:c?x1[c.mode]:`Copy terminal command`;return(0,L.jsx)(cM,{label:l,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:TD,children:t?(0,L.jsx)(bm,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,L.jsx)(Sh,{size:14,strokeWidth:1.8})})})}function D1(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 O1(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 k1(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function A1(e,t,n){let r=[],i=new Map,a=null;return e.forEach((e,o)=>{if(e.queued||t(e))return;let s=e.sourceId??k1(e),c=i.get(s)??0;i.set(s,c+1),r.push({key:c===0?s:`${s}:${c}`,message:e,messageIndex:o,gap:a===null?0:n(a,e)}),a=e}),r}function j1(e,t,n){let r=e[t];if(!r||r.kind!==`event`||r.boundary!==`rest`)return!1;for(let r=t+1;r<e.length;r++){let t=e[r];if(!(t.queued||n(t)))return!!t.boundary||t.wake===!0}return!0}function M1(e,t){let n=e.map(e=>e.message);return e.filter((e,r)=>!j1(n,r,t))}var N1=new Set([`agent`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]),P1=new Set([`poll process`,`wait`]);function F1(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function I1(e){return F1(e).toLowerCase()}function L1(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||e.backgroundState!==void 0&&!B1(e)||z1(e)||R1(e)||N1.has(I1(e.name))}function R1(e){return e.ask!==void 0&&e.ask.length>0&&e.status!==void 0&&e.status!==`pending`}function z1(e){return e.outputImage!==void 0||e.sentImages!==void 0&&e.sentImages.length>0}function B1(e){return e.backgroundState===`unknown`&&P1.has(I1(e.name))}function V1(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=>!L1(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!L1(e))?e.tools:null}function H1(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 U1(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return W1(e.tools);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 W1(n.tools)}return null}function W1(e){let t=[];for(let n=e.length-1;n>=0&&!L1(e[n]);n--)t.unshift(e[n]);return t.length>0?t:null}function G1(e){if(e.role!==`assistant`||e.kind||e.queued)return null;let t=[],n=e=>{for(let n of e){if(L1(n))return!0;t.push(n)}return!1};if(!e.parts?.length)return e.text.trim()?null:n(e.tools)&&t.length>0?t:null;for(let r of e.parts){if(r.kind===`text`){if(!r.text.trim())continue;return t.length>0?t:null}if(n(r.tools))return t.length>0?t:null}return null}function K1(e,t){return q1(e,new Set(t))}function q1(e,t){if(!e.parts?.length)return{...e,tools:e.tools.filter(e=>!t.has(e))};let n=e.parts.map(e=>e.kind===`text`?e:{kind:`tools`,tools:e.tools.filter(e=>!t.has(e))}).filter(e=>e.kind===`text`||e.tools.length>0);return{...e,tools:n.flatMap(e=>e.kind===`tools`?e.tools:[]),parts:n}}function J1(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 Y1(e){let t=[],n=null;return e.forEach((e,r)=>{if(H1(e))return;if(e.queued){t.push({message:e,messageIndex:r});return}let i=V1(e);if(i&&n){n.message=J1(n.message,i,e.at);return}let a=n?G1(e):null,o=a?K1(e,a):e;a&&n&&(n.message=J1(n.message,a,e.at));let s={message:o,messageIndex:r};t.push(s),U1(o)?(s.runStartedAt=o.at,n=s):n=null}),t}function X1(e){return e.status===`completed`||e.status===`failed`||e.status===`cancelled`}function Z1(e){let t=Q1(e);return t?.tools.some(e=>!X1(e))?t.tools.at(-1):void 0}function Q1(e){let t=$1(e);if(!t)return;let n=U1(t.message);return n?{tools:n,at:t.message.at}:void 0}function $1(e){for(let t=e.length-1;t>=0;t--)if(!e[t].message.queued)return e[t]}function e0(e){let t=$1(e);if(t)return U1(t.message)?t.runStartedAt??t.message.at:t.message.at}function t0(e){return e.runStartedAt??e.message.at}function n0(e){let t=U1(e);return t?q1(e,new Set(t)):e}function r0(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){U1(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?n0(r.message):r.message;H1(e)||n.push(e===r.message?r:{...r,message:e})}return n}function i0(e){return e.detail?.trim()||void 0}var a0={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 o0(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=a0[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function s0(e,t,n){let r=t?.trim().replace(/[\\/]+$/,``);if(!r||!Zf(r))return e;let i=ap(r);return i?sp(e.replace(i,``),n?.trim().replace(/[\\/]+$/,``)||/^([A-Za-z]:[\\/]Users[\\/][^\\/]+|\/(?:Users|home)\/[^/]+)(?=[\\/]|$)/.exec(r)?.[1]):e}function c0(e,t,n=Gf().home){return s0(l0(e),t,n)}function l0(e){let t=I1(e.name),n=i0(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?o0(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 ${F1(e.name)||`a tool`}`}var u0=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function d0(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[])){let n=e.file.trim();n&&!f0.test(n)&&t.add(n)}if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&!f0.test(e)&&u0.has(I1(n.name))&&t.add(e)}return t.size}var f0=/\$\{/;function p0(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function m0(e){return e>0?`${p0(e)}. Thinking…`:`Thinking…`}function h0(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function g0(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function _0(e,t){let n=h0(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function v0({directive:e,icon:t,title:n,meta:r,children:i}){return(0,L.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${NJ} border border-border bg-panel-2/75 p-4`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-muted`,"aria-hidden":!0,children:t}),(0,L.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,L.jsx)(`div`,{className:`min-w-0 truncate text-[11px] font-normal leading-4 text-muted`,children:r})]}),i]})}function y0({children:e,mono:t=!1}){return(0,L.jsx)(`div`,{className:`ml-6 mt-1 break-words text-[11px] leading-4 text-muted${t?` font-mono-keep`:``}`,children:e})}function b0({directive:e}){let t=e.attrs,n=h0(t,`display_name`)??h0(t,`skill_name`)??`Artifact template`,r=h0(t,`artifact_kind`),i=h0(t,`skill_name`),a=h0(t,`skill_directory`),[o,s]=(0,I.useState)(!!a);return(0,L.jsxs)(v0,{directive:e,icon:(0,L.jsx)(Qm,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,L.jsx)(y0,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,L.jsx)(`img`,{src:$S(`${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 x0({directive:e}){let t=e.attrs,n=h0(t,`file`),r=g0(t,`start`),i=g0(t,`end`)??r,a=g0(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,L.jsxs)(v0,{directive:e,icon:(0,L.jsx)(rh,{size:15}),title:h0(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[h0(t,`body`)&&(0,L.jsx)(y0,{children:h0(t,`body`)}),n?(0,L.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,L.jsx)(y0,{mono:!0,children:o})]})}var S0={"git-stage":[sh,`Changes staged`],"git-commit":[Vm,`Commit created`],"git-create-branch":[Bm,`Branch created`],"git-push":[Eh,`Branch pushed`],"git-create-pr":[Gm,`Pull request created`]};function C0({directive:e}){let[t,n]=S0[e.name],r=h0(e.attrs,`branch`),i=_0(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,L.jsx)(v0,{directive:e,icon:(0,L.jsx)(t,{size:15}),title:i?(0,L.jsx)(`a`,{className:`text-accent underline underline-offset-2`,href:i,target:`_blank`,rel:`noopener noreferrer`,children:a}):a,meta:r&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:r})})}function w0({directive:e}){let t=h0(e.attrs,`threadId`),n=h0(e.attrs,`pendingWorktreeId`);return(0,L.jsx)(v0,{directive:e,icon:(0,L.jsx)(oh,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function T0({directive:e}){let t=h0(e.attrs,`reason`);return(0,L.jsx)(v0,{directive:e,icon:(0,L.jsx)(mm,{size:15}),title:`Archive suggested`,meta:t})}function E0(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 D0({directive:e}){let t=e.attrs,n=h0(t,`mode`),r=h0(t,`name`)??`Automation`,i=E0(t.rrule),a=[r,n,h0(t,`status`),i].filter(Boolean).join(` · `);return(0,L.jsx)(v0,{directive:e,icon:(0,L.jsx)(ym,{size:15}),title:`Automation suggested`,meta:a,children:h0(t,`prompt`)&&(0,L.jsx)(y0,{children:h0(t,`prompt`)})})}function O0({directive:e}){return e.name===`artifact-template`?(0,L.jsx)(b0,{directive:e}):e.name===`code-comment`?(0,L.jsx)(x0,{directive:e}):e.name.startsWith(`git-`)?(0,L.jsx)(C0,{directive:e}):e.name===`created-thread`?(0,L.jsx)(w0,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,L.jsx)(T0,{directive:e}):(0,L.jsx)(D0,{directive:e})}var k0;function A0(){return k0??=cb(async()=>{let{default:e}=await import(`./mermaid.core-Cer3Sm6Y.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)),k0}function j0({source:e}){let t=(0,I.useId)(),[n,r]=(0,I.useState)({}),i=zq(n.html??``);return(0,I.useEffect)(()=>{let n=!0;if(r({}),e.length>5e4)return r({error:`Diagram source exceeds the 50 KB rendering limit`}),()=>{n=!1};let i=`frizz-mermaid-${t.replace(/[^a-zA-Z0-9]/g,``)}`;return A0().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,L.jsxs)(`section`,{"data-mermaid-state":`error`,className:`${NJ} border border-border bg-panel-2/75 p-4`,children:[(0,L.jsx)(`div`,{className:`text-[12px] font-medium text-fg`,children:`Diagram unavailable`}),(0,L.jsx)(`div`,{className:`mt-1 text-[11px] text-muted`,children:n.error}),(0,L.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,L.jsx)(`div`,{"data-mermaid-state":`ready`,className:`overflow-x-auto ${NJ} border border-border bg-panel-2/75 p-4 [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full`,dangerouslySetInnerHTML:i}):(0,L.jsx)(`div`,{"data-mermaid-state":`loading`,role:`status`,"aria-label":`Rendering diagram`,className:`h-24 animate-pulse ${NJ} bg-panel-2`})}var M0=(0,I.createContext)(null),N0=(0,I.createContext)(null);function P0(){let e=(0,I.useContext)(M0),t=(0,I.useContext)(N0);return e??t}var F0=(0,I.createContext)(null);function I0(e){return e.status===`pending`&&e.backgroundState===`background`}function L0(e){let t=[];for(let n of e)for(let e of n.tools)I0(e)&&n.at&&t.push({label:e.desc??e.detail??e.command??`Background command`,startedAt:n.at,state:`running`,...e.shellId?{launchId:e.shellId}:{},...e.command?{command:e.command}:{}});return t}function R0(e){return e.map(e=>{if(!e.tools.some(I0))return e;let t=e.tools.filter(e=>!I0(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!I0(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function z0({slug:e,onStatusApplied:t,onClose:n,virtualized:r=!1,showReturnToQueue:i=!1}){let a=Yp(ZC(),e);return(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 flex flex-col`,children:[(0,L.jsx)(Z0,{slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:i}),(0,L.jsx)(B0,{slug:e,virtualized:r}),a&&(0,L.jsx)(IZ,{thread:a,sticky:!0,safeArea:!0,onArchived:t})]})}function B0({slug:e,virtualized:t}){let n=ZC(),r=Yp(n,e),i=r?.runtime===`running`||r?.runtime===`spawning`,a=T1(e),o=dw(e,{poll:i}),s=Ve(),c=(0,I.useRef)(!1),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),p=(0,I.useMemo)(()=>o.data?.messages??[],[o.data]),m=(0,I.useMemo)(()=>L0(p),[p]),h=(0,I.useMemo)(()=>R0(p),[p]),g=(0,I.useMemo)(()=>d2(h),[h]),_=(0,I.useMemo)(()=>i?f1(h):void 0,[i,h]),v=_&&_.index>=0?_.index:g,y=(0,I.useMemo)(()=>Y1(h),[h]),b=i?Q1(y):void 0,x=i?Z1(y):void 0,S=x?c0(x,n?.projectDir):void 0,C=i?e0(y):void 0,w=c1(r),T=(0,I.useMemo)(()=>{let e=i?r0(y):y;return M1(e,f2(e,v,w))},[y,i,v,w]),E=i,D=(0,I.useMemo)(()=>uY(p),[p]),O=(0,I.useMemo)(()=>aY(p,r?.answersInFlight),[p,r?.answersInFlight]),k=(0,I.useMemo)(()=>CX(p),[p]),A={thread:r,showWorking:E,registeredDone:jJ(r,g>=0?h[g]?.text:void 0),restedCard:KJ(r,g>=0?h[g]?.text:void 0),errorVisible:JJ(h,r?.providerError)},{answeringForMessage:j}=oX(e,p),M=(0,I.useMemo)(()=>_Y(p,r?.questions??[]),[p,r?.questions]),N=(0,I.useMemo)(()=>TY(p,r?.questions??[]),[p,r?.questions]),P=Xl(r?.spawnedAt),ee=(0,I.useRef)(null),[F,te]=(0,I.useState)(null),ne=o.data?.messages.length??0,re=!o.isLoading;(0,I.useEffect)(()=>{if(t)return;let e=ee.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[ne,i,t]);let ie=(0,I.useCallback)(async()=>{if(c.current)return;let t=s.getQueryData([`transcript`,e]),n=t?.beforeCursor,r=t?.transcriptKey;if(!(!t?.hasEarlier||!n||!r)){c.current=!0,u(!0),f(null);try{let t=await Y.threadTranscriptEarlier({slug:e,cursor:n}),i=s.getQueryData([`transcript`,e]);if(!i?.transcriptKey||i.transcriptKey!==r||t.transcriptKey!==r){await o.refetch(),Z(`Transcript changed while loading history; refreshed the current session`);return}s.setQueryData([`transcript`,e],Ix(i,t))}catch(e){let t=e instanceof Error?e.message:`Could not load earlier transcript history`;f(t)}finally{c.current=!1,u(!1)}}},[o,s,e]);return(0,L.jsx)(M0.Provider,{value:e,children:(0,L.jsx)(_$,{thread:r,children:(0,L.jsxs)(`div`,{"data-drawer-scroll-ready":o.isPending?`false`:`true`,className:`flex-1 min-h-0 flex flex-col overflow-hidden outline-none`,children:[(0,L.jsxs)(`div`,{className:`relative min-h-0 flex-1 flex flex-col`,children:[(0,L.jsx)(`div`,{ref:ee,"data-drawer-transcript-scroll":!0,"data-virtualized-transcript-scroll":t||void 0,tabIndex:t?0:void 0,role:t?`region`:void 0,"aria-label":t?`Thread conversation`:void 0,"aria-busy":t&&l?!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:t&&ne>0?(0,L.jsx)(Y0,{slug:e,transcriptRef:ee,transcriptKey:o.data?.transcriptKey,messages:h,paired:D,inFlightAnswers:O,answeringForMessage:j,placement:N,fencesLive:P,thread:r,running:i,copyTerminalCommand:a,transportFallback:o.transportFallback,isFetching:o.isFetching,refresh:()=>void o.refetch(),retryLiveUpdates:o.retryLiveUpdates,hasEarlier:o.data?.hasEarlier===!0,beforeCursor:o.data?.beforeCursor,loadingEarlier:l,earlierError:d,loadEarlier:()=>void ie(),jumpOverlay:F}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(KQ,{thread:r,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(y$,{thread:r,inFlight:O,className:`px-6 pt-5`}),o.transportFallback&&(0,L.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:o.transportFallback.kind===`payload-too-large`?`Live payload ${o.transportFallback.actualBytes} bytes; socket limit ${o.transportFallback.maxBytes} bytes`:`Transcript read budget reached (${o.transportFallback.scope}); retry after about ${o.transportFallback.retryAfterMs}ms`,children:[(0,L.jsx)(Th,{size:13,className:`shrink-0 text-muted`}),(0,L.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,o.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,L.jsx)(`button`,{type:`button`,disabled:o.isFetching,onClick:()=>void o.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:o.isFetching?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:o.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,L.jsx)(`div`,{"data-transcript-column":!0,className:`flex min-h-full flex-col px-6 py-5`,children:ne===0?(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-sm text-muted`,children:o.isPending?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(g4,{}),` Loading…`]}):i?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(g4,{}),` Session starting…`]}):kX(r)?(0,L.jsxs)(`div`,{className:`text-center`,children:[(0,L.jsx)(`p`,{className:`mb-3`,children:`No session is attached to this thread yet.`}),(0,L.jsx)(`button`,{className:`btn-ghost border border-border text-[12px]`,onClick:()=>Y.adoptThread({slug:e}).catch(()=>{}),children:`Start a session on this thread`})]}):`No conversation yet.`}):(0,L.jsxs)(L.Fragment,{children:[g2(T.map(e=>e.message),(e,t)=>{let n=T[t].messageIndex;return(0,L.jsx)(Z2,{m:e,answering:P?j(e):void 0,showSendButton:!0,paired:D[n],staleAwaiting:v>=0&&n<v,restingCardShown:n===g&&w,restedAt:_&&n===_.index?_.at??``:void 0,shadowedBy:M.get(n),placed:N.placed.get(n),thread:r},t)},e=>!!e.queued),re&&K0(A)!==null&&(0,L.jsx)(EY,{h:q0(A,T.map(e=>e.message))}),re&&(0,L.jsx)(J0,{state:A,slug:e,retryText:k>=0?p[k]?.text:void 0,onTerminal:a,liveRuntimeStart:C,liveActivityLabel:S,liveToolRun:b}),r?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(c4,{policy:r.permPolicy,denies:r.permDenies})}):null,p.some(e=>e.queued)&&(0,L.jsx)(EY,{}),(0,L.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:p.map((e,t)=>e.queued?(0,L.jsx)(Z2,{m:e,paired:D[t]},`q${t}`):null)})]})})]})}),(0,L.jsx)(`div`,{ref:te,"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,L.jsx)(`div`,{"data-thread-chat-footer":!0,className:`z-10 shrink-0 border-t border-border/60 bg-panel`,children:(0,L.jsx)(eZ,{slug:e,onTerminal:a,ops:(0,L.jsx)(l4,{slug:e,transcriptShells:m,className:`px-1 pt-1.5`})})})]})})})}var V0=700,H0=250,U0=(()=>{try{return localStorage.getItem(`frizz.debugScroll`)===`1`}catch{return!1}})();function W0(e){return e?.pendingInteraction===!0}function G0(e){return W0(e)?void 0:e?.pendingAsk}function K0({thread:e,showWorking:t,registeredDone:n,restedCard:r,errorVisible:i}){return e?.providerError?.retrying?`provider-error`:e?.providerFault&&!e.foreign?`provider-fault`:e?.limitPause&&!e.foreign?`limit-pause`:G0(e)?`pending-ask`:e?.runtime===`perm-prompt`&&!W0(e)?`perm-prompt`:t?`working`:e?.providerError?i?null:`provider-error`:p1(e)?`snooze`:c1(e)?`resting`:n?`registered-done`:r?`rested`:null}function q0(e,t){return K0(e)===`working`?h2(t):14}function J0({state:e,slug:t,retryText:n,onTerminal:r,liveRuntimeStart:i,liveActivityLabel:a,liveToolRun:o}){let s=e.thread;switch(K0(e)){case`provider-fault`:return(0,L.jsx)(a4,{slug:t,sessionId:s.sessionId,fault:s.providerFault,retryText:n});case`provider-error`:return(0,L.jsx)(YJ,{error:s.providerError});case`limit-pause`:return(0,L.jsx)(o4,{slug:t,sessionId:s.sessionId,pause:s.limitPause});case`pending-ask`:return(0,L.jsx)(u4,{ask:G0(s),onTerminal:r});case`perm-prompt`:return(0,L.jsx)(s4,{onTerminal:r});case`working`:return(0,L.jsx)(_4,{since:s?.lastUserAt,startedAt:i,activityLabel:a,run:o});case`snooze`:return(0,L.jsx)(h1,{thread:s});case`resting`:return(0,L.jsx)(d1,{thread:s});case`registered-done`:return(0,L.jsx)(i4,{fenceKind:`done`,body:s.lastFence.body,hints:[]});case`rested`:return(0,L.jsx)(qJ,{thread:s});default:return null}}function Y0({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,inFlightAnswers:a,answeringForMessage:o,placement:s,fencesLive:c,thread:l,running:u,copyTerminalCommand:d,transportFallback:f,isFetching:p,refresh:m,retryLiveUpdates:h,hasEarlier:g,beforeCursor:_,loadingEarlier:v,earlierError:y,loadEarlier:b,jumpOverlay:x}){let S=QC(),C=(0,I.useMemo)(()=>Y1(r),[r]),w=u?Q1(C):void 0,T=u?Z1(C):void 0,E=T?c0(T,S):void 0,D=u?e0(C):void 0,O=(0,I.useMemo)(()=>d2(r),[r]),k=(0,I.useMemo)(()=>u?f1(r):void 0,[u,r]),A=k&&k.index>=0?k.index:O,j=c1(l),M=(0,I.useMemo)(()=>{let e=u?r0(C):C;return M1(e,f2(e,A,j))},[C,u,A,j]),N=u,P=(0,I.useMemo)(()=>A1(M.map(e=>e.message),f2(M,A,j),l2).map(e=>{let t=M[e.messageIndex];return{...e,messageIndex:t.messageIndex,stampAt:t0(t)}}),[M,A,j]),ee=(0,I.useMemo)(()=>CX(r),[r]),F=jJ(l,O>=0?r[O]?.text:void 0),te=KJ(l,O>=0?r[O]?.text:void 0),ne=JJ(r,l?.providerError),re={thread:l,showWorking:N,registeredDone:F,restedCard:te,errorVisible:ne},ie=K0(re)!==null,ae=(0,I.useMemo)(()=>q0({thread:l,showWorking:N,registeredDone:F,restedCard:te,errorVisible:ne},M.map(e=>e.message)),[M,N,l,F,te,ne]),oe=(0,I.useMemo)(()=>{let e=[],t=new Map,n=r.length-1,i=(l?.questions??[]).filter(e=>!s.placedIds.has(e.id));for(let[a,o]of mY(r,i,{atRest:!u})){if(a>=n){e.push(...o);continue}let r=-1;for(let e=0;e<P.length&&!(P[e].messageIndex>a);e++)r=e;let i=t.get(r);i?i.push(...o):t.set(r,[...o])}return{byRow:t,tail:e}},[P,r,s.placedIds,u,l?.questions]),se=(0,I.useMemo)(()=>_Y(r,l?.questions??[]),[r,l?.questions]),ce=(0,I.useMemo)(()=>{let e=[{key:`head-anchor`,kind:`head-anchor`}];f&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(g||v||y)&&e.push({key:`earlier-history:${_??`complete`}`,kind:`earlier-history`});let t=oe.byRow.get(-1);t&&e.push({key:`questions:head`,kind:`questions`,questions:t}),P.forEach((t,n)=>{e.push({...t,kind:`message`});let r=oe.byRow.get(n);r&&e.push({key:`questions:${t.key}`,kind:`questions`,questions:r})}),e.push({key:`interactions`,kind:`interactions`}),ie&&e.push({key:`runtime-status`,kind:`runtime-status`});let n=ie||P.length>0?14:0;return r.forEach((t,r)=>{if(!t.queued)return;let i=`queued:${t.deliveryId??t.sourceId??r}`;e.push({key:i,kind:`queued`,message:t,messageIndex:r,gap:n}),n=14}),e},[_,y,g,ie,v,P,r,oe,f]),le=$w({count:ce.length,getScrollElement:()=>t.current,getItemKey:e=>ce[e]?.key??e,estimateSize:e=>{let t=ce[e];return t?t.kind===`head-anchor`||t.kind===`interactions`?1:t.kind===`earlier-history`?42:t.kind===`transport-fallback`?76:t.kind===`runtime-status`?54:t.kind===`questions`?220: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})}}),[ue,de]=(0,I.useState)(!0),fe=(0,I.useRef)(!0),pe=(0,I.useRef)(-1),me=(0,I.useRef)(0),he=(0,I.useRef)(null),ge=(0,I.useRef)(!1),_e=(0,I.useRef)(!1),ve=(0,I.useRef)(!0),ye=(0,I.useRef)(null),be=(0,I.useRef)(void 0),xe=(0,I.useRef)(null),Se=(0,I.useRef)(void 0),Ce=(0,I.useRef)(0),we=(0,I.useCallback)(()=>{let e=t.current;if(e){let t=e.getBoundingClientRect().top,n=Array.from(e.querySelectorAll(`[data-transcript-source-id]`)).find(e=>e.getBoundingClientRect().bottom>t+1),r=n?.dataset.transcriptRowKey;n&&r&&(ye.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}b()},[b,t]),Te=(0,I.useCallback)((e,n)=>{let r=t.current;if(!r)return;let i=Array.from(r.querySelectorAll(`[data-transcript-source-id]`)).find(t=>t.dataset.transcriptSourceId===e);i&&(r.scrollTop+=i.getBoundingClientRect().top-n)},[t]);(0,I.useLayoutEffect)(()=>{if(!n||ce.length===0||be.current===n)return;be.current=n,ge.current=!1,_e.current=!1,ve.current=!0;let t=xD(e)?.candidates.map(e=>({candidate:e,index:ce.findIndex(t=>t.kind===`message`&&t.message.sourceId===e.sourceId)})).find(e=>e.index>=0),r=requestAnimationFrame(()=>{if(!t){le.scrollToEnd({behavior:`instant`}),de(!0),ge.current=!0;return}le.scrollToIndex(t.index,{align:`start`,behavior:`instant`}),fe.current=!1,de(!1),ge.current=!0;let e=performance.now()+H0;Ce.current=e;let n=()=>{performance.now()>=e||performance.now()<me.current||(Te(t.candidate.sourceId,t.candidate.screenTop),r=requestAnimationFrame(n))};n()});return()=>cancelAnimationFrame(r)},[Te,ce.length,e,n,le]),(0,I.useLayoutEffect)(()=>{let e=ye.current,n=t.current;if(!e||!n||v)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(),ye.current===e&&(ye.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[v,P.length,t]);let Ee=(0,I.useCallback)(()=>{let e=t.current;if(!e)return null;let n=e.getBoundingClientRect().top,r=Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.getBoundingClientRect().bottom>n+1),i=r?.dataset.transcriptRowKey;return!r||!i?null:{rowKey:i,viewportTop:r.getBoundingClientRect().top-n}},[t]),De=(0,I.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);if(!r)return;let i=r.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=i-e.viewportTop},[t]),Oe=P[0]?.key;(0,I.useLayoutEffect)(()=>{let e=Se.current;if(Se.current=Oe,e===void 0||e===Oe||!ge.current||fe.current||ye.current)return;let t=xe.current;if(!t)return;De(t);let n=()=>{if(performance.now()<me.current)return;let e=xe.current;e&&De(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[De,Oe]);let ke=(0,I.useCallback)(()=>{let e=t.current;if(!e||ye.current||performance.now()<Ce.current)return;let n=D1({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:pe.current,following:fe.current,readerMoved:performance.now()<me.current});if(fe.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),pe.current=e.scrollHeight,de(e=>e===n.following?e:n.following),U0&&!n.following&&performance.now()>=me.current){let t=xe.current,n=t&&Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.dataset.transcriptRowKey===t.rowKey);if(t&&n){let r=Math.round(n.getBoundingClientRect().top-e.getBoundingClientRect().top-t.viewportTop);Math.abs(r)>2&&console.warn(`[frizz] transcript moved ${r}px under a still reader — row=${t.rowKey}`)}}xe.current=Ee()??xe.current},[Ee,t]);(0,I.useLayoutEffect)(ke),(0,I.useEffect)(()=>{let e=he.current;if(!e)return;let t=new ResizeObserver(ke);return t.observe(e),()=>t.disconnect()},[ke]),(0,I.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{ke();let t=O1({armed:ve.current,scrollTop:e.scrollTop,readerMoved:ge.current&&_e.current,hasEarlier:g,loading:v});ve.current=t.armed,t.shouldLoad&&we()},r=()=>{_e.current=!0,me.current=performance.now()+V0,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(ve.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(ve.current=!0),r()},o=()=>{e.scrollTop<=480&&(ve.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)}},[g,v,we,ke,t]);let Ae=le.getVirtualItems(),je=le.getTotalSize();return(0,L.jsxs)(`div`,{ref:he,"data-virtualized-transcript":!0,"data-virtual-row-count":Ae.length,className:`relative w-full`,style:{height:je},children:[Ae.map(t=>{let n=ce[t.index];return n?(0,L.jsx)(`div`,{ref:le.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 hover:z-[1]`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`head-anchor`?null:n.kind===`interactions`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(KQ,{thread:l,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(y$,{thread:l,questions:oe.tail,inFlight:a,showSend:s.placedIds.size>0,className:`px-6 pt-5`})]}):n.kind===`questions`?(0,L.jsx)(y$,{thread:l,questions:n.questions,className:`px-6 pt-5`}):n.kind===`transport-fallback`?f?(0,L.jsx)(`div`,{className:`px-6 pt-3`,children:(0,L.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`flex flex-wrap items-center gap-2.5 ${NJ} border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:f.kind===`payload-too-large`?`Live payload ${f.actualBytes} bytes; socket limit ${f.maxBytes} bytes`:`Transcript read budget reached (${f.scope}); retry after about ${f.retryAfterMs}ms`,children:[(0,L.jsx)(Th,{size:13,className:`shrink-0 text-muted`}),(0,L.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,f.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,L.jsx)(`button`,{type:`button`,disabled:p,onClick:m,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:p?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:h,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,L.jsx)(`div`,{className:`flex min-h-10 items-center justify-center px-6 text-[11px] text-muted`,role:`status`,children:y?(0,L.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,L.jsx)(`span`,{children:y}),(0,L.jsx)(`button`,{type:`button`,onClick:we,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):v?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(eh,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,L.jsx)(`button`,{type:`button`,onClick:we,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,L.jsx)(rQ,{at:n.stampAt,host:EX(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(Z2,{m:n.message,answering:c?o(n.message):void 0,showSendButton:!0,paired:i[n.messageIndex],staleAwaiting:A>=0&&n.messageIndex<A,restingCardShown:n.messageIndex===O&&j,restedAt:k&&n.messageIndex===k.index?k.at??``:void 0,shadowedBy:se.get(n.messageIndex),placed:s.placed.get(n.messageIndex),thread:l})}):n.kind===`runtime-status`?(0,L.jsxs)(`div`,{className:`px-6`,style:{paddingTop:ae},children:[(0,L.jsx)(J0,{state:re,slug:e,retryText:ee>=0?r[ee]?.text:void 0,onTerminal:d,liveRuntimeStart:D,liveActivityLabel:E,liveToolRun:w}),l?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(c4,{policy:l.permPolicy,denies:l.permDenies})}):null]}):(0,L.jsx)(rQ,{at:n.message.at,host:EX(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(Z2,{m:n.message,paired:i[n.messageIndex]})})},n.key):null}),(0,L.jsx)(X0,{overlay:x,hidden:ue,onJump:()=>le.scrollToEnd({behavior:`smooth`})})]})}function X0({overlay:e,hidden:t,onJump:n}){return!e||t?null:(0,ot.createPortal)((0,L.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,L.jsx)(hm,{size:12}),`Jump to latest`]}),e)}function Z0({slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:r=!1}){let i=Yp(ZC(),e),a=it({mutationFn:()=>Y.markComplete({slug:e})}),o=it({mutationFn:t=>Y.renameThread({slug:e,title:t})}),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(``),d=(0,I.useRef)(null);(0,I.useEffect)(()=>{if(!s)return;let e=requestAnimationFrame(()=>{d.current?.focus(),d.current?.select()});return()=>cancelAnimationFrame(e)},[s]),(0,I.useEffect)(()=>{c(!1),u(``)},[e]);let f=VK(nt({queryKey:[`threadBody`,e],queryFn:()=>Y.threadBody({slug:e})}).data?.markdown??``).trim().length>0;if(!i)return null;let p=i.kind===`session`&&i.foreign!==!0,m=i.foreign===!0,h=i.kind===`session`&&!m,g=DT(i);function _(){c(!1),u(``)}function v(){let e=AX(l,g);if(c(!1),!e){u(``);return}o.mutate(e,{onSuccess:()=>{u(``),Z(`Thread renamed`)},onError:t=>{u(e),c(!0),Z(t instanceof Error?t.message:`Could not rename thread`)}})}return(0,L.jsxs)(`header`,{"data-thread-header":!0,className:NX,children:[(0,L.jsx)(`div`,{className:PX,children:(0,L.jsxs)(`div`,{className:`min-w-0 leading-tight`,children:[(0,L.jsxs)(`div`,{className:`group/thread-title flex min-w-0 items-center gap-2`,children:[s?(0,L.jsx)(`input`,{ref:d,"aria-label":`Thread title`,value:l,maxLength:200,onChange:e=>u(e.target.value),onBlur:v,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),v()):e.key===`Escape`&&(e.preventDefault(),_())},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`}):h?(0,L.jsx)(`button`,{type:`button`,title:`Edit title`,"aria-label":`Edit thread title: ${g}`,disabled:o.isPending,onClick:()=>{u(jX(g,i.id)),c(!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:g}):(0,L.jsx)(`div`,{className:`min-w-0 max-w-full shrink truncate px-0.5 -mx-0.5 font-semibold text-[15px]`,title:g,children:g}),(0,L.jsx)(VZ,{thread:i,hidden:s})]}),(0,L.jsx)(g1,{at:RT(i),fallbackAt:i.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})}),(0,L.jsxs)(`div`,{className:FX,children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[p&&(0,L.jsx)(E1,{slug:e}),(0,L.jsx)(oZ,{thread:i,collapse:r,onDoc:f?()=>xp(`doc`,i.id):void 0,onDone:()=>a.mutate(void 0,{onSuccess:t}),doneBusy:a.isPending,onStatusApplied:t}),n&&(0,L.jsx)(lM,{slug:e})]}),n&&(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:n,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,L.jsx)(Dh,{size:15})})]})]})}function Q0(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||KZ(e))return null;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`?n.tools:null}return null}return(e.tools?.length??0)>0&&!e.text.trim()?e.tools:null}function $0(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||KZ(e))return null;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`?t.tools:null;return null}return(e.tools?.length??0)>0?e.tools:null}function e2(e){return Q0(e)!==null}function t2(e){return $0(e)!==null}function n2(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function r2(e){return n2(e)||e2(e)}function i2(e){return n2(e)||t2(e)}function a2(e){if(n2(e))return!0;let t=Q0(e);return t!==null&&!L1(t[t.length-1])}function o2(e){if(n2(e))return!0;let t=$0(e);return t!==null&&!L1(t[0])}function s2(e){let t=Q0(e);return t!==null&&z1(t[t.length-1])}function c2(e){let t=$0(e);return t!==null&&z1(t[0])}function l2(e,t){let n=s2(e)||c2(t),r=!n&&r2(e)&&i2(t)&&!(a2(e)&&o2(t));return(n?22:r?6:14)+(e.role===`user`&&t.role!==`user`?3:0)}function u2(e,t){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.every(n=>n.kind===`tools`?n.tools.length===0:p2(e,n.text,t)):(e.tools?.length??0)===0&&p2(e,e.text,t)}function d2(e){for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`&&e[t].kind!==`event`)return t;return-1}function f2(e,t,n=!1){let r=new WeakSet;if(t>=0)for(let n of e)n.messageIndex<t&&r.add(n.message);if(t>=0&&n)for(let n of e)n.messageIndex===t&&r.add(n.message);return e=>u2(e,r.has(e))}function p2(e,t,n){return!e.fenceRefused&&!n?!t.trim():AJ(t).every(e=>e.kind===`fence`&&e.fenceKind===`awaiting`)}function m2(e,t){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.some(n=>n.kind===`text`&&!p2(e,n.text,t)):typeof e.text==`string`&&!p2(e,e.text,t)}function h2(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||u2(n)))return s2(n)?22:r2(n)&&!a2(n)?6:14+(n.role===`user`?3:0)}return 0}function g2(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{n?.(e,a)||u2(e)||(i!==null&&r.push((0,L.jsx)(EY,{h:l2(i,e)},`s${a}`)),r.push(t(e,a)),i=e)}),r}function _2(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 v2(e,t=14){let n=e.filter(e=>e!=null&&e!==!1),r=[];return n.forEach((e,n)=>{n>0&&r.push((0,L.jsx)(EY,{h:typeof t==`number`?t:t(n)},`vs${n}`)),r.push(e)}),r}var y2={head:!1,tail:!1};function b2(e,t){return n=>e[n-1]?.tail||e[n]?.head?22:t}function x2(e){return{head:z1(e[0]),tail:z1(e[e.length-1])}}function S2(e){let t=[];for(let n of e){let e=t[t.length-1];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.outputImage?t.push({name:n.name,detail:n.detail,outputImage:n.outputImage,output:n.output??n.read,status:n.status,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.todos?t.push({name:n.name,detail:n.detail,todos:n.todos,input:n.input,status:n.status,durationMs:n.durationMs,count:1}):R1(n)?t.push({name:n.name,detail:n.detail,ask:n.ask,askAnswers:n.askAnswers,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 C2(e){return e.split(`__`).pop()||e}function w2(e){let t=X.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function T2({tools:e,at:t}){let[n,r]=(0,I.useState)(!1),i=(0,I.useId)(),a=e.reduce((e,t)=>e+t.count,0),o=p0(a,d0(e));return(0,L.jsxs)(`div`,{"data-tool-activity":!0,"data-tool-activity-state":`settled`,className:`flex min-w-0 flex-col`,children:[(0,L.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-baseline gap-1.5 rounded py-0.5 text-left outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 ${iQ}`,children:[(0,L.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,L.jsx)(Cm,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:oQ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:v2(e.map((e,n)=>(0,L.jsx)(D2,{t:e,startedAt:t},n)),6)}),!n&&(0,L.jsx)(`div`,{id:i,hidden:!0})]})}function E2({tools:e,at:t}){let n=[];for(let t of e){let e=L1(t),r=n[n.length-1];r?.exceptional===e?r.tools.push(t):n.push({exceptional:e,tools:[t]})}return(0,L.jsx)(`div`,{className:`flex flex-col`,children:v2(n.map((e,n)=>e.exceptional?(0,L.jsx)(`div`,{className:`flex flex-col`,children:v2(e.tools.map((e,n)=>(0,L.jsx)(D2,{t:e,startedAt:t},n)),b2(e.tools.map(e=>x2([e])),6))},`exceptions-${n}`):(0,L.jsx)(T2,{tools:e.tools,at:t},`activity-${n}`)),b2(n.map(e=>x2(e.tools)),6))})}function D2({t:e,startedAt:t}){let n=(0,I.useContext)(M0),r=ZC(),i=LE(e,(n?Yp(r,n):void 0)?.bgShells??[]);return e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,L.jsx)(Iq,{edits:e.edits,meta:(0,L.jsx)(M2,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,L.jsx)(B2,{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.outputImage?(0,L.jsx)(L2,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.read?(0,L.jsx)(H2,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,L.jsx)(W2,{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,L.jsx)(K2,{to:e.sendTo,summary:e.sendSummary,body:e.sendBody??``,type:e.sendType,dispatchId:e.sendDispatchId,targetLabel:e.sendTargetLabel,status:e.status,durationMs:e.durationMs,at:t}):e.sentImages||e.sentFiles?(0,L.jsx)(R2,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,L.jsx)(oJ,{todos:e.todos,note:e.input,meta:(0,L.jsx)(M2,{status:e.status,durationMs:e.durationMs})}):R1(e)?(0,L.jsx)(O2,{ask:e.ask??[],askAnswers:e.askAnswers}):e.input||e.output?(0,L.jsx)(B2,{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,L.jsx)(I2,{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})}function O2({ask:e,askAnswers:t}){return(0,L.jsx)(`div`,{"data-settled-ask":!0,className:`flex flex-col gap-1.5`,children:e.map((e,n)=>{let r=HQ(e,t?.[n]);return(0,L.jsx)(uX,{question:r.question,settled:{chosenIdxs:r.chosenIdxs,text:r.text}},n)})})}function k2({tone:e,indicator:t,label:n,duration:r,title:i}){return(0,L.jsxs)(`span`,{className:`petite-caps frizz-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,L.jsx)(`span`,{children:[n,r].filter(Boolean).join(` · `)})]})}function A2(e,t,n){let[r,i]=(0,I.useState)(()=>Date.now()),a=PE(e,t),o=FE(e,t,n,r);return(0,I.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(NE-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function j2({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=A2(e,t,r),a=n===`running`?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):n===`stale`?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot-quiet frizz-live-dot-quiet--shell`,"data-running-indicator":`tool-quiet`,title:tD}):ME(e,t)||i?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):null;return a?(0,L.jsx)(`span`,{className:`frizz-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:a}):null}function M2({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:RE(i),c=[o,s].filter(Boolean).join(` · `);return(0,L.jsx)(k2,{tone:e===`failed`?`frizz-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function N2(e,t,n){let r=t?Date.parse(t):NaN,i=e===`pending`&&Number.isFinite(r),[a,o]=(0,I.useState)(()=>Date.now());return(0,I.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 P2(e,t,n){let r=t&&t!==X.board?.projectDir?`in ${w2(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function F2(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function I2({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=P2(t,s,c),f=d?w2(d):void 0,p=t&&F2(t)?t:void 0;return(0,L.jsx)(`div`,{className:`frizz-bash`,title:d,children:(0,L.jsxs)(`div`,{className:`frizz-bash-header`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(j2,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:C2(e)}),f&&(p?(0,L.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(Fq,{path:p,className:`text-[11.5px] text-muted`,children:f})}):(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:f}))]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(M2,{status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,durationMs:l}),n>1&&(0,L.jsxs)(`span`,{className:`tabular-nums text-[11px] text-muted/45`,children:[`×`,n]})]})]})})}function L2({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let o=t?w2(t):void 0,s=(0,L.jsxs)(`div`,{className:`frizz-bash-header`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:C2(e)}),o&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:t,children:o})]}),(0,L.jsx)(`span`,{className:`flex shrink-0 items-center gap-2`,children:(0,L.jsx)(M2,{status:i,durationMs:a})})]});return(0,L.jsxs)(`div`,{children:[(0,L.jsx)($2,{path:n,hideCaption:!0,altText:o?`${C2(e)}: ${o}`:C2(e),header:s}),r&&(0,L.jsx)(`pre`,{className:`frizz-bash frizz-bash-body frizz-bash-output-body mt-1.5`,children:r})]})}function R2({images:e,files:t,caption:n,status:r,durationMs:i}){let[a,o]=(0,I.useState)(!0),s=(0,I.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,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.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:`frizz-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:`Sent to you`}),c&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:c})]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(M2,{status:r,durationMs:i}),(0,L.jsx)(Cm,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${a?`rotate-90`:``}`})]})]}),(0,L.jsx)(`div`,{id:s,hidden:!a,children:a&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-2.5 pb-2.5 pt-1.5`,children:[e.map((e,t)=>(0,L.jsx)($2,{path:e,hideCaption:!0,altText:n??`delivered image`},`i${t}`)),t.length>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map((e,t)=>(0,L.jsx)(e4,{path:e},`f${t}`))}),n&&(0,L.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var z2=16;function B2({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,I.useState)(!1),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(!1),v=(0,I.useId)(),y=N2(i,d,l),b=(0,I.useMemo)(()=>e.split(`
|
|
314
|
-
`).length,[e]),x=b>
|
|
315
|
-
`).length:0,[n]),C=S>
|
|
316
|
-
`).length,[t]),u=l>
|
|
317
|
-
`).length:0,[h]),_=g>
|
|
318
|
-
`).length,[n]),p=f>
|
|
319
|
-
`),i=r===void 0?tY(t):r;if(i)return(0,L.jsx)(QY,{answers:i,queued:e.queued,sourceId:e.sourceId});let a=e.wake?xl(t):void 0;return a?(0,L.jsx)(WY,{bump:a,sourceId:e.sourceId,at:e.at}):e.wake?(0,L.jsx)(MY,{steer:e.wakeSteer,text:t,sourceId:e.sourceId,at:e.at,wrap:n}):e.peerFrom?(0,L.jsx)(f4,{from:e.peerFrom,unnamed:e.peerUnnamed,dispatchId:e.peerDispatchId,sourceId:e.sourceId,at:e.at}):(0,L.jsx)(X2,{text:t,rawText:e.text,queued:e.queued,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let g=[],_=[],v=(e,t=y2)=>{g.push(e),_.push(t)},y={n:-1},b={drawn:!1},x=[],S=new Set,C=(r,i)=>{for(let[a,l]of AJ(r).entries()){if(l.kind===`fence`){if(l.fenceKind===`awaiting`&&(e.fenceRefused||o||u))continue;l.fenceKind===`awaiting`&&(b.drawn=!0),v((0,L.jsx)(i4,{fenceKind:l.fenceKind,body:l.body,hints:l.hints,wrap:n,notAfter:d},`${i}-f${a}`));continue}for(let[e,r]of uJ(l.text).entries()){if(r.kind===`prose`){for(let[t,o]of RL(r.text).entries()){let r=`${i}-${a}-p${e}-${t}`;v(o.kind===`image`?(0,L.jsx)($2,{path:o.path},r):o.kind===`file`?(0,L.jsx)(e4,{path:o.path},r):o.kind===`visualization`?(0,L.jsx)(r4,{file:o.file},r):o.kind===`directive`?(0,L.jsx)(O0,{directive:o.directive},r):o.kind===`mermaid`?(0,L.jsx)(j0,{source:o.source},r):(0,L.jsx)(Q2,{md:o.text,wrap:n},r))}continue}y.n+=1;let o=y.n,l=c&&r.registeredId?c.find(e=>e.id.toLowerCase()===r.registeredId):void 0;if(l&&!S.has(l.id)){S.add(l.id),v((0,L.jsx)(v$,{q:l},`${i}-${a}-q${e}`));continue}if(s&&CY(r,s)!==void 0||r.registeredId&&r.text.trim()===``)continue;t&&x.push({raw:r.text,kind:r.questionKind,danger:r.danger,bi:o});let u=t&&!f?{answer:t.answerFor(o),onChip:(e,n)=>t.onChip(o,e,n),onText:e=>t.onText(o,e),onSubmit:t.onSubmit}:void 0;v((0,L.jsx)(uX,{raw:r.text,questionKind:r.questionKind,danger:r.danger,interactive:u,wrap:n},`${i}-${a}-q${e}`))}}};if(e.parts&&e.parts.length>0)_2(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(i)return;let a=S2(t.tools);a.length&&v((0,L.jsx)(E2,{tools:a,dense:n,at:e.at},`t${r}`),x2(a))}else C(t.text,`x${r}`)});else{if(!i){let t=S2(e.tools);t.length>0&&v((0,L.jsx)(E2,{tools:t,dense:n,at:e.at},`tools`),x2(t))}C(e.text,`leg`)}return d!==void 0&&l&&!b.drawn&&!e.fenceRefused&&i1(l,{notAfter:d})&&v((0,L.jsx)(d1,{thread:l,notAfter:d},`rested-on`)),g.length===0?null:(a&&t&&f&&x.length>0?v((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-mobile-answer-open":!0,onClick:()=>m(!0),className:`flex h-[40px] items-center justify-center rounded-[12px] bg-accent px-4 text-[15px] font-semibold text-bg active:brightness-90`,children:x.length>1?`Answer ${x.length} questions`:`Answer`})},`answer-open`)):a&&t&&x.length>0&&v((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.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,L.jsxs)(`div`,{"data-frizz-msg":e.sourceId,className:`flex flex-col text-[13px] min-w-0`,children:[v2(g,b2(_,14)),p&&t&&x.length>0?(0,L.jsx)(mX,{blocks:x,answering:t,onClose:()=>m(!1)}):null]}))});function Q2({md:e,wrap:t}){let n=eq(e),r=zq(n),i=(0,I.useRef)(null);return Qq(i,n),n?(0,L.jsx)(`div`,{ref:i,className:`md-body${t?` ${MJ}`:``}`,dangerouslySetInnerHTML:r}):null}function $2({path:e,hideCaption:t,altText:n,header:r}){let[i,a]=(0,I.useState)(!1);if(i)return(0,L.jsx)(`div`,{className:`font-mono-keep text-[12px] text-muted/70 break-all`,children:e});let o=np(e);return(0,L.jsx)(yK,{header:r,caption:t?void 0:(0,L.jsx)(`figcaption`,{className:`bg-panel-2 px-2 pb-1.5 font-mono-keep text-[11px] text-muted/60 break-all`,children:o}),children:(0,L.jsx)(`img`,{src:$S(e),alt:n??o,"data-local-path":e,"data-local-image":`true`,onError:()=>a(!0),className:`cursor-pointer ${SK}`})})}function e4({path:e}){let t=np(e);return(0,L.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${NJ} 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,L.jsx)(Rm,{size:14,strokeWidth:2,className:`shrink-0 text-muted`}),(0,L.jsx)(`span`,{className:`font-mono-keep truncate text-[12px] text-fg`,children:t})]})}var t4={"--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 n4(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(t4).map(([t,n])=>[t,e.getPropertyValue(n).trim()]));return t[`--font-size-base`]=getComputedStyle(document.body).fontSize,{type:`frizz-inline-vis-theme`,colorScheme:e.colorScheme===`light`?`light`:`dark`,vars:t}}function r4({file:e}){let t=(0,I.useContext)(M0),n=(0,I.useRef)(null),[r,i]=(0,I.useState)(360),[a,o]=(0,I.useState)(null),s=t?`${Bd()}/local-visualization?slug=${encodeURIComponent(t)}&file=${encodeURIComponent(e)}`:null;return(0,I.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,I.useEffect)(()=>{let e=e=>{if(e.source!==n.current?.contentWindow||e.data?.type!==`frizz-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,L.jsxs)(`div`,{role:`status`,className:`${NJ} border border-border bg-panel-2 px-4 py-2.5 text-[12px] text-muted`,children:[`Visualization unavailable: `,(0,L.jsx)(`span`,{className:`font-mono-keep break-all`,children:e})]}):a===null?(0,L.jsx)(`div`,{role:`status`,className:`h-20 animate-pulse ${NJ} bg-panel-2`,"aria-label":`Loading ${e}`}):(0,L.jsx)(`iframe`,{ref:n,src:s,title:e.replace(/\.html$/,``).replaceAll(`-`,` `),sandbox:`allow-scripts`,onLoad:()=>n.current?.contentWindow?.postMessage(n4(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function i4({fenceKind:e,body:t,hints:n,wrap:r,notAfter:i}){let a=eq(t),o=(0,I.useContext)(M0),s=(0,I.useContext)(F0),c=ZC(),l=o?Yp(c,o):void 0,u=l?lZ(l):void 0,d=!!(l&&u?.archive),f=(0,I.useRef)(null);d&&l&&(f.current=l);let p=d&&l?l:f.current;return e===`done`?(0,L.jsxs)(BJ,{icon:bm,label:`Done`,children:[a&&(0,L.jsx)($q,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:a}),p&&(0,L.jsx)(HJ,{children:(0,L.jsx)(zZ,{thread:p,className:`rounded-md text-[11px] bg-fg px-2.5 py-1 text-bg hover:opacity-90`,iconClassName:`icon-label-nudge`,onArchived:s?.dismiss,onDismissCancel:s?.cancel})})]}):l&&c1(l)?null:(0,L.jsx)(d1,{thread:l,fence:{body:t,hints:n},notAfter:i})}function a4({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=Ve(),l=ZR[n.backend],u=t=>{s(!0),cU(c,e,t,{onSuccess:()=>{s(!1),Z(`Retrying with the previous message…`)},onRollback:()=>s(!1),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||s(!1)};return(0,L.jsxs)(BJ,{"data-provider-fault":!0,tone:`danger`,icon:Zm,label:`${l} sign-in required`,children:[(0,L.jsx)(`span`,{className:VJ,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,L.jsxs)(HJ,{children:[r?.trim()&&(0,L.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,L.jsx)(`button`,{onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:GJ,children:`Sign in`})]}),i&&(0,L.jsx)(ez,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function o4({slug:e,sessionId:t,pause:n}){let r=ZR[n.backend],i=n.window===`weekly`?`weekly limit`:n.window===`session`?`session limit`:`usage limit`,[a,o]=(0,I.useState)(!1),s=Ve();return(0,L.jsxs)(BJ,{"data-limit-pause":!0,tone:`caution`,icon:qm,label:`Paused by the ${r} ${i}`,children:[(0,L.jsx)(`span`,{className:VJ,children:n.autoResume?n.resumesAt?`Continuing automatically at ${bE(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{onClick:()=>{o(!0),cU(s,e,`Continue exactly where you left off.`,{onSuccess:()=>{o(!1),Z(`Continuing…`)},onRollback:()=>o(!1),failureToast:e=>`Continue failed: ${e.slice(0,80)}`})||o(!1)},disabled:a,onMouseDown:e=>e.preventDefault(),className:`disabled:opacity-45 ${GJ}`,children:`Continue now`})})]})}function s4({onTerminal:e}){return(0,L.jsxs)(BJ,{tone:`attention`,icon:Zm,label:`Permission approval`,children:[(0,L.jsx)(`span`,{className:VJ,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:GJ,children:`Copy terminal command`})})]})}function c4({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return(0,L.jsxs)(BJ,{tone:`caution`,icon:Th,label:`Blocked by frizz's permission policy`,children:[n?(0,L.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,L.jsx)(`span`,{className:VJ,children:e.reason}),(0,L.jsxs)(`span`,{className:`mt-1.5 block text-[11px] text-muted`,children:[`Rule `,(0,L.jsx)(`code`,{className:`rounded bg-panel px-1 py-0.5`,children:e.rule}),t&&t>1?` · ${t} denials this session`:``]})]})}function l4({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=Yp(ZC(),e),o=a?.subAgents??[],s=n?i?lD(o,i):o:[],c=i?[...r]:pD(a?.bgShells??[],r),l=i?[]:(a?.watches??[]).filter(e=>e.kind===`github`),u=i?[]:a?.links??[],d=s.length+c.length+l.length,f=new Set((a?.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`).map(e=>e.target)),p=e=>f.has(e.taskId??``)||f.has(e.id??``)||f.has(e.label),[,m]=(0,I.useState)(0);(0,I.useEffect)(()=>{if(d===0)return;let e=setInterval(()=>m(e=>e+1),3e4);return()=>clearInterval(e)},[d]);let h=mw(e,c.flatMap(e=>e.id&&!e.outputUnavailable?[e.id]:[]));return d===0&&u.length===0?null:(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[dD(s,`sheet`).map((t,n)=>(0,L.jsx)(mD,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>Sp(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t)},`a${n}`)),dD(c,`sheet`).map((t,n)=>(0,L.jsx)(mD,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,counter:t.id?rD(h.get(t.id)):void 0,counterTitle:`Lines of output so far — open the row to read them`,onOpen:t.id&&!t.outputUnavailable?()=>Cp(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t,`SHELL`),title:p(t)?`${t.label}\nWatched — this thread wakes when it finishes`:void 0},`s${n}`)),l.map(e=>(0,L.jsx)(mD,{kind:`GITHUB`,label:e.target,state:`running`,density:`sheet`,startedAt:e.createdAt,counter:iD(e.github),counterTone:e.github?.checks===`failing`?`danger`:void 0,counterTitle:e.github?`${e.target} — ${B$(e.github)}`:void 0,onOpen:()=>window.open(dU(e.target)??`https://github.com/${e.target.replace(`#`,`/pull/`)}`,`_blank`,`noreferrer,noopener`)},e.id)),(0,L.jsx)(tQ,{links:u})]})}function u4({ask:e,onTerminal:t}){return(0,L.jsxs)(BJ,{tone:`attention`,icon:Am,label:`Waiting on your answer — in your external terminal`,children:[(0,L.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.header&&(0,L.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted/55`,children:e.header}),(0,L.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.question}),e.options.length>0&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.options.map((e,t)=>(0,L.jsxs)(`div`,{className:`rounded-md border border-border bg-elevated px-3 py-1.5 text-[12px] text-fg/80`,children:[(0,L.jsx)(`span`,{className:`font-medium text-fg/90`,children:e.label}),e.description&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[` — `,e.description]})]},t)),e.multiSelect&&(0,L.jsx)(`div`,{className:`text-[10px] text-muted/50`,children:`select one or more`})]})]},t))}),(0,L.jsx)(HJ,{children:(0,L.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:GJ,children:[(0,L.jsx)(Zm,{size:12,className:`shrink-0 ${DX}`}),`Copy terminal command`]})})]})}function d4({call:e,sourceId:t,at:n}){let r=P0(),i=e.detail??`sub-agent`,{tail:a}=JZ(e),o=!!(r&&e.agentId);return(0,L.jsxs)(DY,{icon:vm,sourceId:t,marker:`agent`,ariaLabel:o?void 0:`Sub-agent ${i} ${a}`,at:n,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-completion-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${i}`,onClick:()=>Sp(r,e.agentId,{label:i,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:i}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:i}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:a})]})}function f4({from:e,unnamed:t,dispatchId:n,sourceId:r,at:i}){let a=P0(),o=!!(a&&n),s=t?void 0:e,c=t&&e?`${nD.AGENT} — ${e}`:nD.AGENT;return s===void 0?(0,L.jsx)(DY,{icon:vm,sourceId:r,marker:`agent-report`,ariaLabel:o?void 0:`Sub-agent reported`,at:i,children:o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:c,"aria-label":`${nD.AGENT}${e?`: ${e}`:``}`,onClick:()=>Sp(a,n,{label:`Sub-agent`,subagentType:e}),onMouseDown:e=>e.preventDefault(),className:`shrink-0 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:`Sub-agent reported`}):(0,L.jsx)(`span`,{className:`shrink-0`,title:e||void 0,children:`Sub-agent reported`})}):(0,L.jsxs)(DY,{icon:vm,sourceId:r,marker:`agent-report`,ariaLabel:o?void 0:`Sub-agent ${s} reported`,at:i,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${s}`,onClick:()=>Sp(a,n,{label:s,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:s}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:s}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`reported`})]})}function p4({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i,at:a}){let o=P0(),s=G2(e,t),c=e===`main`?void 0:r??e,l=!!(o&&n);return(0,L.jsxs)(DY,{icon:vm,sourceId:i,marker:`agent-steer`,ariaLabel:l?void 0:`${s}${c?` ${c}`:``}`,at:a,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:s}),c&&(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),l?(0,L.jsx)(`button`,{type:`button`,"data-subagent-steer-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${c}`,onClick:()=>Sp(o,n,{label:c}),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:c}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:c}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]})]})}function m4({text:e,boundary:t,sourceId:n,at:r}){return t?(0,L.jsx)(DY,{icon:t===`wake`?Sh:void 0,sourceId:n,marker:t===`rest`?`rest`:`event`,ariaLabel:e,at:r,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:e})}):(0,L.jsx)(`div`,{"data-frizz-msg":n,className:iQ,children:e})}function h4({text:e,sourceId:t}){let[n,r]=(0,I.useState)(!1),i=(0,I.useId)();return(0,L.jsxs)(`div`,{"data-frizz-msg":t,className:`flex flex-col`,children:[(0,L.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":i,"aria-expanded":n,"aria-label":`${n?`Collapse`:`Expand`} model reasoning`,className:`${iQ} flex items-baseline gap-1.5 self-start rounded outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,L.jsx)(`span`,{children:`Reasoning`}),(0,L.jsx)(Cm,{"aria-hidden":`true`,size:13,className:oQ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`frizz-reasoning mt-1.5 ml-[5px] border-l border-border/70 pl-3`,children:(0,L.jsx)(Q2,{md:e,wrap:!0})})]})}function g4(){return(0,L.jsx)(`span`,{className:`inline-block w-2.5 h-2.5 rounded-full border border-muted/70 border-t-transparent animate-spin`})}function _4({since:e,startedAt:t,activityLabel:n,run:r}){let[i]=(0,I.useState)(()=>Date.now()),a=(0,I.useMemo)(()=>{for(let n of[t,e]){let e=Date.parse(n??``);if(Number.isFinite(e)&&e<=Date.now())return e}return i},[t,e,i]),[o,s]=(0,I.useState)(()=>Date.now()),[c,l]=(0,I.useState)(!1),u=(0,I.useId)();(0,I.useEffect)(()=>{let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[]);let d=VE(Math.max(0,o-a)),f=(0,I.useMemo)(()=>S2([...r?.tools??[]]),[r]),p=f.reduce((e,t)=>e+t.count,0),m=p>0,h=`group flex min-w-0 items-baseline justify-between gap-3 rounded text-left outline-none focus-visible:ring-1 focus-visible:ring-fg/60 ${iQ}`,g=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate shimmer-text`,children:n??m0(p)}),m&&(0,L.jsx)(Cm,{"data-working-chevron":!0,"aria-hidden":`true`,size:13,className:oQ(c)})]}),(0,L.jsx)(`span`,{className:`shrink-0 whitespace-nowrap tabular-nums text-[12px] text-muted/60`,children:d})]});return(0,L.jsxs)(`div`,{"data-working-indicator":!0,"data-working-activity":n?`tool`:`generic`,className:`flex min-w-0 flex-col`,children:[m?(0,L.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":u,"aria-expanded":c,"aria-label":`${c?`Collapse`:`Expand`} ${p} tool ${p===1?`call`:`calls`}${n?`: ${n}`:``}`,className:`${h} w-full`,children:g}):(0,L.jsx)(`div`,{className:h,children:g}),m&&c&&(0,L.jsx)(`div`,{id:u,className:`mt-1.5 flex flex-col`,children:v2(f.map((e,t)=>(0,L.jsx)(D2,{t:e,startedAt:r?.at},t)),6)}),m&&!c&&(0,L.jsx)(`div`,{id:u,hidden:!0})]})}function v4(){let[e,t]=(0,I.useState)(()=>typeof window<`u`&&window.matchMedia(`(max-width: 800px)`).matches);return(0,I.useEffect)(()=>{let e=window.matchMedia(`(max-width: 800px)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function y4({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=tm(e,i===!0),[c,l]=(0,I.useState)(i===!0),u=(0,I.useRef)(null),d=(0,I.useRef)(null),f=Zt(X),p=[...f.drawers].reverse().find(e=>!e.closing)?.id===e,m=v4(),h=(0,I.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null),g=(0,I.useCallback)(()=>{let e=h.current,t=document.activeElement;t&&t!==document.body||e?.isConnected&&e.focus({preventScroll:!0})},[]);(0,I.useEffect)(()=>()=>{window.setTimeout(g,0)},[g]);let _=ZC(),v=kd(_,t),y=v.kind===`found`?v.thread:void 0;_?.projectDir;let b=y?y.runtime===`turn-idle`||y.runtime===`exited`||y.runtime===`none`:!1;return(0,I.useEffect)(()=>{!y||!b||Y.threadSeen({slug:t}).catch(()=>{})},[t,b,b?y?.lastActivityAt:void 0]),(0,I.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 qW({isActive:()=>[...X.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,I.useEffect)(()=>{d.current?.activationChanged()},[p]),(0,I.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,I.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,I.useEffect)(()=>(Sd(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>Sd(e,null)),[e]),(0,L.jsx)(iL,{modal:m,open:!0,onOpenChange:e=>{e||o()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`${Xp} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,L.jsxs)(gL,{ref:u,"aria-modal":m||void 0,"aria-describedby":void 0,tabIndex:-1,onEscapeKeyDown:t=>{if(X.drawers.at(-1)?.id!==e){t.preventDefault();return}GR(t)},onPointerDownOutside:n=>{let r=X.drawers.findIndex(t=>t.id===e);if(r!==-1&&r<X.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(),g()},onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;(t?.querySelector(`[data-dialog-initial-focus]`)??t)?.focus({preventScroll:!0})},"data-vt-chat":!0,className:`fixed right-0 top-0 overflow-hidden outline-none ${Zp} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:$p(r),viewTransitionName:f.vtReturnTarget===t?`thread-chat`:void 0},children:[(0,L.jsx)(xL,{className:`sr-only`,children:v.kind===`found`?`Thread: ${DT(v.thread)}`:`Thread: ${t}`}),c&&v.kind===`found`?(0,L.jsx)(z0,{slug:t,onStatusApplied:o,onClose:o,virtualized:!0}):c&&v.kind===`missing`?(0,L.jsx)(b4,{slug:t,onClose:o}):(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})]})]})})}function b4({slug:e,onClose:t}){return(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,L.jsxs)(`header`,{className:`flex ${Oh} shrink-0 items-center gap-3 border-b border-border bg-panel px-4`,children:[(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:`Thread unavailable`}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:t,className:`p-1 text-muted hover:text-fg`,children:`×`})]}),(0,L.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.`]})]})}function x4({id:e,slug:t,subId:n,label:r,subagentType:i,startedAt:a,depth:o,widthDepth:s}){let[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(null),d=fw(t,n),f=QC(),p=(0,I.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,I.useMemo)(()=>L0(p),[p]),_=(0,I.useMemo)(()=>R0(p),[p]),v=(0,I.useMemo)(()=>Y1(_),[_]),y=h?Q1(v):void 0,b=h?Z1(v):void 0,x=b?c0(b,f):void 0,S=h?e0(v):void 0,C=(0,I.useMemo)(()=>h?r0(v):v,[v,h]),w=h,T=d.isError||m===`gone`||p.length===0&&(m===`done`||m===`stale`);return(0,I.useEffect)(()=>{let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l(!0))});return()=>{cancelAnimationFrame(t),e&&cancelAnimationFrame(e)}},[]),(0,I.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,L.jsx)(am,{id:e,depth:o,widthDepth:s,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:r,onClose:e}),(0,L.jsx)(`div`,{ref:u,className:`flex-1 min-h-0 overflow-y-auto`,children:T?(0,L.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,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})}):(0,L.jsx)(N0.Provider,{value:t,children:(0,L.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[g2(C.map(e=>e.message),(e,t)=>(0,L.jsx)(Z2,{m:e},t)),w&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(EY,{h:h2(C.map(e=>e.message))}),(0,L.jsx)(_4,{since:a,startedAt:S,activityLabel:x,run:y})]})]})})}),(0,L.jsx)(S4,{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,L.jsx)(l4,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function S4({slug:e,subId:t,subagentType:n,steerable:r,note:i,stoppable:a,stopNote:o,ops:s}){let[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),m=Ve();function h(){let n=c.trim();!n||u||(d(!0),l(``),Y.subAgentSteer({slug:e,id:t,message:n,deliveryId:crypto.randomUUID()}).then(()=>{m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]}),Z(`Steer sent`)}).catch(e=>{l(n),Z(e instanceof Error?e.message:`Could not steer this sub-agent`)}).finally(()=>d(!1)))}function g(){f||(p(!0),Y.subAgentStop({slug:e,id:t}).then(({descendantsStopped:n,note:r})=>{r?Z(`Sub-agent stopped. ${r}`,{duration:7e3}):Z(n>0?`Sub-agent and ${n} descendant${n===1?``:`s`} stopped`:`Sub-agent stopped`),m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]})}).catch(e=>{Z(e instanceof Error?e.message:`Could not stop this sub-agent`)}).finally(()=>p(!1)))}if(!r&&!a){let e=i??o;return e?(0,L.jsxs)(`div`,{"data-subagent-steer-note":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[(0,L.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:e}),(0,L.jsx)(`div`,{className:`pl-1.5`,children:(0,L.jsx)(C4,{subagentType:n})}),s?.(`px-1 pt-1.5 ops-column-optical-inset`)]}):(0,L.jsx)(L.Fragment,{children:s?.(`w-full shrink-0 border-t border-border bg-panel px-4 pb-2 pt-3`)})}return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{"data-subagent-steer":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[r?(0,L.jsx)(bR,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,L.jsx)(C4,{subagentType:n})}):i?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:i}),(0,L.jsx)(`div`,{className:`pl-1.5`,children:(0,L.jsx)(C4,{subagentType:n})})]}):null,r&&!a&&o&&(0,L.jsx)(`div`,{className:`mt-2 px-1 text-[11.5px] text-muted/70`,children:o}),s?.(`px-1 pt-1.5 ops-column-optical-inset`)]}),a&&(0,L.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,L.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 C4({subagentType:e}){let t=WZ(e);return(0,L.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 ${TR}`,children:(0,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}var w4=`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${NJ} border border-border bg-bg/75 px-4 py-2.5 text-[12px] leading-relaxed text-fg/85`;function T4({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,I.useRef)(null),c=pw(t,n),l=c.data?.state,u=c.data?.command,d=c.data?.output??``,[f,p]=(0,I.useState)(!1),m=Ve();(0,I.useEffect)(()=>{let e=s.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<160&&(e.scrollTop=e.scrollHeight)},[d]);let h=GE(i),g=l===`running`?`running${h?` ${h}`:``}`:l===`done`?`finished`:l===`gone`?`unavailable`:``,_=c.isError||l===`gone`;function v(){f||(p(!0),Y.subAgentStop({slug:t,id:n}).then(({note:e})=>{e?Z(`Background shell stopped. ${e}`,{duration:7e3}):Z(`Background shell stopped — the worker was told`),m.invalidateQueries({queryKey:[`backgroundShellOutput`,t,n]})}).catch(e=>{Z(e instanceof Error?e.message:`Could not stop this background shell`)}).finally(()=>p(!1)))}async function y(){if(u)try{await JR(u),Z(`Command copied`)}catch{Z(`Could not copy command`)}}return(0,L.jsx)(am,{id:e,depth:a,widthDepth:o,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:r,icon:(0,L.jsx)(Sh,{"aria-hidden":!0,size:14,className:`shrink-0 text-muted/60`}),meta:g?(0,L.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-[11.5px] text-muted/60`,children:g}):void 0,onClose:e}),(0,L.jsx)(`div`,{ref:s,className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:_?(0,L.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,L.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,L.jsxs)(`section`,{children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,L.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Command`}),u&&(0,L.jsxs)(`button`,{type:`button`,onClick:y,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,L.jsx)(Pm,{"aria-hidden":!0,size:11}),` Copy`]})]}),u?(0,L.jsx)(eJ,{"data-background-shell-command":!0,text:u,language:`bash`,className:w4}):(0,L.jsx)(`pre`,{"data-background-shell-command":!0,className:w4,children:c.isLoading?`Loading…`:`Command unavailable for this background operation.`})]}),(0,L.jsxs)(`section`,{children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,L.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Output`}),l===`running`&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`shell-drawer`}),c.data?.truncated&&(0,L.jsx)(`span`,{className:`text-[10.5px] text-muted/50`,children:`Showing latest 512 KB`})]}),d?(0,L.jsx)(`pre`,{"data-background-shell-output":!0,className:`font-mono-keep min-h-40 whitespace-pre-wrap break-words ${NJ} border border-border bg-[#090b10] px-4 py-3 text-[12px] leading-relaxed text-fg/85`,children:d}):(0,L.jsx)(`div`,{"data-background-shell-output":!0,className:`flex min-h-40 items-center justify-center ${NJ} border border-border bg-[#090b10] px-4 text-center text-[12px] text-muted/60`,children:l===`done`?`No output was captured.`:`No output yet.`})]})]})}),!_&&c.data?.stoppable&&(0,L.jsx)(`footer`,{"aria-label":`Background shell lifecycle actions`,"data-background-shell-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,L.jsx)(`button`,{type:`button`,"data-stop-background-shell":!0,disabled:f,onClick:v,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 shell`})}),!_&&!c.data?.stoppable&&l===`running`&&c.data?.stopNote&&(0,L.jsx)(`footer`,{"data-background-shell-stop-note":!0,className:`w-full shrink-0 border-t border-border/70 bg-panel/95 px-4 pt-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] text-[11.5px] text-muted/70`,children:c.data.stopNote})]})})}function E4(e){let t=/^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/.exec(e);return t?{front:t[1],body:e.slice(t[0].length)}:{front:null,body:e}}var D4={paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`};function O4({path:e}){return(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{Y.openLocalFile({path:e}).then(async e=>{e.action===`copy`&&(await JR(e.path),Z(`Copied local path`))}).catch(e=>Z(`Could not open local file: ${e.message.slice(0,100)}`))},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:`Open ${e} outside Frizz`,"aria-label":`Open`,children:[(0,L.jsx)(Im,{size:12,"aria-hidden":`true`}),` Open`]})}function k4({source:e}){return(0,L.jsx)(eJ,{text:e,language:`yaml`,className:`mb-4 whitespace-pre-wrap break-words rounded-md border border-border/60 bg-panel-2/40 px-3 py-2 font-mono-keep text-[12px] leading-5 text-muted`})}function A4({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=ew(t),o=nt({...sC(t),refetchInterval:a?!1:cC}),s=o.data?.path??t,{front:c,body:l}=E4(o.data?.markdown??``),u=eq(l,{baseDir:aC(s),asDocument:!0}),d=zq(u),f=(0,I.useRef)(null);return Qq(f,u),(0,L.jsx)(am,{id:e,depth:r,widthDepth:i,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:n,subtitle:s,onClose:e}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:o.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):o.error?(0,L.jsxs)(`div`,{className:`text-[13px] text-red-400/90`,children:[`Couldn’t read this file: `,o.error.message]}):u?(0,L.jsxs)(L.Fragment,{children:[c&&(0,L.jsx)(k4,{source:c}),(0,L.jsx)(`div`,{ref:f,className:`md-body`,dangerouslySetInnerHTML:d}),o.data?.truncated&&(0,L.jsx)(`p`,{className:`mt-4 border-t border-border/60 pt-3 text-[12px] text-muted`,children:`This file is too long to render in full — everything above the cut is shown. Open it to read the rest.`})]}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`})}),(0,L.jsx)(`div`,{className:`shrink-0 flex items-center justify-end gap-1.5 border-t border-border/60 bg-panel px-5 pt-3`,style:D4,children:(0,L.jsx)(O4,{path:s})})]})})}function j4({id:e,slug:t,title:n,depth:r,widthDepth:i}){let a=nt({queryKey:[`threadBody`,t],queryFn:()=>Y.threadBody({slug:t})}),o=Zt(X);(0,I.useEffect)(()=>{a.refetch()},[o.board]);let s=kX(Yp(o.board,t)),c=Mz(),l=jz.adopt(c,t),[u,d,f]=Pz(l),p=it({mutationFn:async e=>{await Y.adoptThread({slug:t,message:e.trim()||void 0})},onSuccess:()=>{X.drawers.find(t=>t.id===e)?.closing||(X.drawers=X.drawers.map(t=>t.id===e?{...t,kind:`thread`}:t))},onError:(e,t)=>{kz.get(l)||d(t),Z(`Start failed: ${e.message.slice(0,80)}`)}}),m=eq(VK(a.data?.markdown??``)),h=zq(m);return(0,L.jsx)(am,{id:e,depth:r,widthDepth:i,widthOffset:1,subagentParent:t,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:n,subtitle:`${t}.md`,onClose:e}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):m?(0,L.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:h}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No thread file found.`})}),s&&(0,L.jsxs)(`div`,{className:`shrink-0 border-t border-border/60 px-5 pb-4 pt-3`,children:[(0,L.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,L.jsx)(bR,{surface:`adoptComposer`,value:u,onChange:d,onSubmit:()=>{if(!u.trim()||p.isPending)return;let e=u;f(),Z(`Starting thread…`,{spinner:!0,sticky:!0}),p.mutate(e)},placeholder:`Kick off work on this thread…`,minHeight:44,busy:p.isPending})]})]})})}function M4(){let e=Zt(X),t=ZC();(0,I.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(WR()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(X.showPalette)X.showPalette=!1;else if(X.showNewThread)X.showNewThread=!1;else if(X.showGithubPicker)mp();else if(X.showSettings)_d()||(X.showSettings=!1);else if(X.drawers.length>0){let e=X.drawers[X.drawers.length-1];xd(e.id)||X.drawers.pop()}else X.filePanel&&Fp()}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let n=0;return(0,L.jsx)(L.Fragment,{children:e.drawers.map((e,r)=>{let i=n;e.closing||n++;let a=e.kind===`thread`?(0,L.jsx)(y4,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,L.jsx)(x4,{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,L.jsx)(T4,{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===`markdown`?(0,L.jsx)(A4,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,L.jsx)(j4,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=Yp(t,e.slug);return n?DT(n):e.slug})()},e.id);return(0,L.jsx)(jh,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,L.jsx)(Ih,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function N4(e){return(e.tools??[]).some(e=>e.name===`mcp__frizz__done`&&e.status===`completed`)}function P4(e){let t=uJ(e).filter(e=>e.kind===`question`);if(t.length!==0)return JSON.stringify(t.map(e=>e.kind===`question`?[e.questionKind,e.danger===!0,e.text.trim()]:null))}function F4(e){let t=new Map,n=[];for(let r=0;r<e.length;r++){let i=P4(e[r].text);n.push(i),i!==void 0&&t.set(i,r)}let r=new Set;for(let e=0;e<n.length;e++){let i=n[e];i!==void 0&&t.get(i)!==e&&r.add(e)}return r}function I4(e,t,n){return pJ(e.text)?!n.has(t):N4(e)?!0:e.wake===!0}function L4(e){return e.wake===!0}function R4(e,t){let n=[],r,i=!1,a=()=>{r&&r.start<=r.end&&n.push(r),r=void 0};for(let n=Math.max(0,t);n<e.length;n++){let t=e[n];if(t.closes===!0){a(),i=!0;continue}if(t.skip===!0)continue;if(t.opens===!0){a(),i=!0,r={start:n+1,end:n,open:-1,close:-1,steps:0,tools:0,resumed:!0,waker:-1};continue}let o=r===void 0;r||={start:n,end:n,open:-1,close:-1,steps:0,tools:0,resumed:i,waker:-1},o&&t.completion===!0&&r.resumed&&(r.waker=n),r.end=n,r.tools+=t.tools??0,t.text===!0&&(r.open<0&&(r.open=n),r.close=n)}a();for(let t of n)for(let n=t.start;n<=t.end;n++){let r=e[n];r.skip===!0||r.survives===!0||n===t.open||n===t.close||n===t.waker||r.countable===!0&&t.steps++}return n}function z4(e){return e.open<0||e.tools<1&&e.steps<1?!1:e.resumed||e.open!==e.close}function B4(e){if(e.length<3)return{kept:[...e]};let t=e[0],n=e[e.length-1],r=e.slice(1,-1);return{kept:[t,n],middle:{start:Math.max(t.end+1,r[0].start-1),end:r[r.length-1].end,runs:r.length,tools:r.reduce((e,t)=>e+t.tools,0)}}}function V4(e){return dD(e,`card`).length>0}function H4({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=dD(t,`card`);return r.length===0?null:(0,L.jsx)(`div`,{"data-queue-subagents":!0,className:`flex min-w-0 flex-col gap-0.5 ${n}`,children:r.map((t,n)=>(0,L.jsx)(mD,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>Sp(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t)},t.id??`${t.startedAt}-${n}`))})}var U4=320;function W4(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 G4(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 K4=0,q4=``;function J4(){K4++===0&&(q4=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function Y4(){K4>0&&--K4===0&&(document.documentElement.style.overflowAnchor=q4)}function X4({thread:e,onSnooze:t,onSnoozeFailed:n}){return(0,L.jsx)(d1,{thread:e,onSnooze:t,onSnoozeFailed:n})}function Z4(){let e=ZC(),t=VT($C(e?.threads??[]).filter(HT),Zt(CT).queueOrder),n=t.map(e=>e.id).join(`,`),[r,i]=(0,I.useState)(()=>new Set),a=(0,I.useRef)(t);a.current=t;let o=(0,I.useRef)(r);o.current=r;let s=new Set(t.map(e=>e.id)),c=(0,I.useRef)([]),l=(0,I.useRef)([]),u=(0,I.useRef)(new Map),d=(0,I.useRef)(new Set),f=(0,I.useRef)(new Set),p=(0,I.useRef)(new Map),m=(0,I.useRef)(new Map),h=(0,I.useRef)(null),[g,_]=(0,I.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=JH(),b=e=>v(e.id)||qH(e,y[e.id]),x=(0,I.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=x.map(e=>e.id),(0,I.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=G4(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=W4(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},U4);p.current.set(e,t)}return()=>{n!==void 0&&cancelAnimationFrame(n)}},[n,r,g]),(0,I.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,I.useEffect)(()=>()=>{for(let e of p.current.values())clearTimeout(e);for(let e of m.current.values())clearTimeout(e)},[]),(0,I.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}J4();let n=()=>{let t=dp(e.slug);t!==null&&Math.abs(wd()-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),Y4()})})},[g]);let S=(0,I.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)},[]),C=(0,I.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)},[]),w=(e?.threads.length??0)===0;return(0,L.jsxs)(`div`,{className:`my-auto w-full min-w-0 flex flex-col py-8`,children:[(0,L.jsx)(Q4,{board:e}),x.length>0&&(0,L.jsx)(`div`,{className:`flex flex-col`,children:x.map((e,t)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(e3,{slug:e.id,leaving:v(e.id),children:(0,L.jsx)(r3,{thread:e,leaving:v(e.id),frozen:b(e),onResolve:S,onUnresolve:C})}),t<x.length-1&&(0,L.jsx)(`hr`,{className:`my-10 border-0 border-t border-border/60`})]},e.id))}),w?(0,L.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,L.jsx)(`h2`,{className:`text-[15px] font-medium text-center`,children:`What should the agent do?`}),(0,L.jsx)(VH,{}),(0,L.jsx)(Iz,{autoFocus:!0})]}):x.length===0?(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,L.jsx)(Xm,{size:40,strokeWidth:1.25,className:`text-muted/30`}),(0,L.jsx)(`div`,{className:`text-[13px] text-muted/80`,children:`No threads awaiting human input`})]}):null]})}function Q4({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,L.jsxs)(`div`,{className:`mb-6 ${NJ} border border-amber-500/25 bg-amber-500/[0.06] px-4 py-2.5 text-[12px] text-amber-200/90`,children:[(0,L.jsx)(`div`,{className:`font-medium mb-0.5`,children:`Board errors`}),t.length>0?t.slice(0,6).map((e,t)=>(0,L.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5`,children:[(0,L.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,L.jsx)($4,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,L.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function $4({file:e}){let t=it({mutationFn:()=>Y.repairThread({file:e}),onSuccess:({slug:e})=>Z(`Repaired ${e} — verify its status`),onError:e=>Z(e instanceof Error?e.message:`Repair failed`)});return(0,L.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 e3({leaving:e,slug:t,children:n}){return(0,L.jsx)(`div`,{"data-queue-card":t,"data-queue-leaving":e,className:`frizz-card-slot min-w-0`,children:(0,L.jsx)(`div`,{className:`frizz-card-clip min-h-0 min-w-0`,children:(0,L.jsx)(`div`,{className:`frizz-card-body min-w-0`,children:n})})})}function t3({runs:e,toolCount:t,onExpand:n}){let r=t>0?`${t} tool call${t===1?``:`s`}`:``,i=`${e} more round${e===1?``:`s`}`;return(0,L.jsxs)(DY,{icon:Tm,marker:`middle-runs-summary`,onClick:n,ariaLabel:`Expand ${i}${r?` and ${r}`:``} of intermediate agent activity`,children:[(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:i}),r&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:r})]}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`Click to expand`})]})}function n3({toolCount:e,onExpand:t}){let n=e>0?`${e} tool call${e===1?``:`s`}`:``;return(0,L.jsxs)(DY,{icon:Tm,marker:`intermediate-summary`,onClick:t,ariaLabel:`Expand ${n?`${n} of `:``}intermediate agent activity`,children:[n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:n}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`Click to expand`})]})}var r3=(0,I.memo)(function({thread:e,leaving:t,frozen:n,onResolve:r,onUnresolve:i}){let a=Zt(X),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(0),v=(0,I.useRef)(null),y=(0,I.useRef)(null),b=(0,I.useRef)(!1),x=(0,I.useRef)(!1),S=(0,I.useRef)(null),C=Ve(),w=T1(e.id),T=dw(e.id,{poll:!1}),E=(0,I.useRef)(T.data);n||(E.current=T.data);let D=n?E.current:T.data,O=(0,I.useRef)(null),k=(0,I.useRef)(0);(0,I.useEffect)(()=>{let e=O.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(t=>{if(e.style.height)return;let n=t[0]?.borderBoxSize?.[0];n&&(k.current=n.blockSize)});return t.observe(e),()=>t.disconnect()},[]),(0,I.useLayoutEffect)(()=>{let e=O.current;if(e){if(!t){e.style.height=``,e.style.overflow=``;return}k.current>0&&(e.style.height=`${k.current}px`,e.style.overflow=`hidden`)}});let A=(0,I.useMemo)(()=>D?.messages??[],[D]),j=(0,I.useMemo)(()=>d2(A),[A]),M=e=>j>=0&&e<j,N=c1(e),P=e=>M(e)||e===j&&N,ee=(0,I.useMemo)(()=>uY(A),[A]),F=(0,I.useMemo)(()=>wX(A),[A]),te=(0,I.useMemo)(()=>{for(let e=A.length-1;e>=0;e--)if(A[e].boundary===`rest`)for(let t=e+1;t<A.length;t++){let n=A[t];if(!(n.queued||n.boundary===`rest`||u2(n,P(t))))return e+1}return 0},[A]),ne=(0,I.useMemo)(()=>{for(let e=A.length-1;e>=0;e--)if(A[e].role===`user`&&!A[e].queued)return e;return-1},[A]),re=(0,I.useMemo)(()=>F4(A),[A]),ie=(0,I.useMemo)(()=>A.map((e,t)=>{if(!e||e.queued||u2(e,P(t)))return{skip:!0};if(e.boundary===`rest`)return{skip:!0,closes:!0};let n=KZ(e),r=n?0:e.tools.length;return{text:m2(e,P(t)),tools:r,countable:m2(e,P(t))||r>0||n!==void 0||e.kind!==void 0,survives:I4(e,t,re),opens:L4(e),completion:e.boundary===`wake`||n!==void 0}}),[A,re]),ae=(0,I.useMemo)(()=>R4(ie,F+1),[ie,F]),{kept:oe,middle:se}=(0,I.useMemo)(()=>B4(ae),[ae]),ce=(0,I.useMemo)(()=>oe.filter(z4),[oe]),le=(0,I.useMemo)(()=>{let e=new Map;return ce.forEach((t,n)=>{for(let r=t.start;r<=t.end;r++)e.set(r,n)}),e},[ce]),ue=!c&&(ne>=0||te>0)&&(ce.length>0||se!==void 0),de=Mx(A,f,F),fe=(0,I.useMemo)(()=>A.slice(de),[A,de]),pe=(0,I.useMemo)(()=>Y1(fe).map(e=>({...e,messageIndex:e.messageIndex+de})),[fe,de]),me=(0,I.useMemo)(()=>TY(A,e?.questions??[]),[A,e?.questions]),he=(0,I.useMemo)(()=>{let t=[],n=new Map,r=A.length-1,i=e.runtime!==`running`&&e.runtime!==`spawning`,a=(e?.questions??[]).filter(e=>!me.placedIds.has(e.id));for(let[e,o]of mY(A,a,{atRest:i})){if(e>=r){t.push(...o);continue}let i=n.get(e);i?i.push(...o):n.set(e,[...o])}return{byAnchor:n,tail:t}},[A,me.placedIds,e.runtime,e?.questions]),ge=Xl(e.spawnedAt),_e=(0,I.useMemo)(()=>_Y(A,e?.questions??[]),[A,e?.questions]),ve=(0,I.useMemo)(()=>aY(A,e.answersInFlight),[A,e.answersInFlight]),ye=de>0||D?.hasEarlier===!0;(0,I.useLayoutEffect)(()=>{let e=y.current,t=v.current;if(!e||!t||![...t.querySelectorAll(`[data-transcript-source-id]`)].some(t=>t.dataset.transcriptSourceId===e.targetStartId))return;let n=()=>{zx(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return zx(t,e.anchor,e=>{n=e}),n},r=n();if(Bx({remaining:r,scrollY:window.scrollY,maxScrollY:Math.max(0,document.documentElement.scrollHeight-window.innerHeight),alreadyReserved:e.reserved===!0})===`reserve`){e.reserved=!0,_(e=>e+Math.ceil(r));return}x.current||(x.current=!0,requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),y.current=null,x.current=!1,b.current&&(b.current=!1,Y4())})}))},[g,A,f]),(0,I.useEffect)(()=>{let e=D?.transcriptKey;if(!e)return;let t=S.current;S.current=e,!(!t||t===e)&&(p(null),_(0),l(!1),y.current=null,x.current=!1,b.current&&(b.current=!1,Y4()))},[D?.transcriptKey]),(0,I.useEffect)(()=>()=>{b.current&&(b.current=!1,Y4())},[]);let be=e=>{let t=Lx(v.current);!e||!t||(b.current||(b.current=!0,J4()),y.current={anchor:t,targetStartId:e})},xe=async()=>{if(m||!ye)return;let t=jx(A,de),n=t!==null&&A[t]?.role===`user`?t:null;if(n!==null){let e=A[n].sourceId;be(e),p(e??null);return}let r=D?.beforeCursor;if(!r){if(de>0){let e=A[0]?.sourceId;be(e),p(e??null)}return}let i=D?.transcriptKey;if(i){h(!0);try{let t=await Y.threadTranscriptEarlier({slug:e.id,cursor:r}),n=C.getQueryData([`transcript`,e.id]);if(!n?.transcriptKey||n.transcriptKey!==i||t.transcriptKey!==i){await T.refetch(),p(null),Z(`Transcript changed while loading history; refreshed the current session`);return}let a=t.messages[0]?.sourceId??A[0]?.sourceId;be(a);let o=Ix(n,t);C.setQueryData([`transcript`,e.id],o),p(a??null)}catch(e){await T.refetch(),p(null),Z(e instanceof Error?e.message:`Could not load earlier transcript history`)}finally{h(!1)}}},Se=it({mutationFn:()=>Y.markComplete({slug:e.id})}),{answeringForMessage:Ce,answerable:we,anyAnswered:Te,sendAnswers:Ee,sendMessage:De}=oX(e.id,A,()=>{document.activeElement?.blur(),r(e.id)},{scrollToBottom:!1,onSendFailed:()=>i(e.id)}),Oe=(0,I.useMemo)(()=>{let e=iX(A);return e!==-1&&SY(A[e].text,_e.get(e)??[])},[A,_e]),ke=ge&&(we&&!Oe||Te),Ae=(0,I.useCallback)(()=>r(e.id),[r,e.id]),je=(0,I.useCallback)(()=>i(e.id),[i,e.id]),Me=(0,I.useMemo)(()=>({dismiss:Ae,cancel:je}),[Ae,je]);return(0,L.jsx)(M0.Provider,{value:e.id,children:(0,L.jsx)(F0.Provider,{value:Me,children:(0,L.jsx)(_$,{thread:e,children:(0,L.jsxs)(`div`,{ref:O,"data-queue-card-root":e.id,"data-queue-leaving":t,style:{...g?{marginBottom:g}:null,...a.vtReturnTarget===e.id?{viewTransitionName:`thread-chat`}:null},onKeyDown:e=>{if(!Te)return;let t=e.target;t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||t instanceof HTMLTextAreaElement&&t.value.trim()||oR({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(),Ee())},"data-vt-chat":!0,className:`flex flex-col min-w-0 max-w-full ${NJ} border border-border-strong bg-panel shadow-lg shadow-black/25 transition-opacity ${u?`opacity-40`:``}`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,L.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 bg-panel px-5 py-3.5 max-[800px]:top-10 ${o?NJ:`${PJ} border-b border-border/60`}`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{className:`group/thread-title flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`div`,{className:`min-w-0 shrink truncate font-semibold text-[15px] leading-snug`,title:DT(e),children:DT(e)}),(0,L.jsx)(VZ,{thread:e})]}),(0,L.jsx)(g1,{at:RT(e),fallbackAt:e.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`}),e.statusText&&e.status===`needs-human`&&(0,L.jsx)(`div`,{className:`text-[11px] text-muted/80 mt-0.5 truncate`,title:e.statusText,children:e.statusText})]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[e.kind===`session`&&e.foreign!==!0&&(0,L.jsx)(E1,{slug:e.id}),(0,L.jsx)(oZ,{thread:e,collapsed:o,onCollapse:()=>s(e=>!e),expand:!0,onDone:()=>Se.mutate(void 0,{onSuccess:()=>r(e.id),onError:()=>d(!1)}),doneBusy:Se.isPending,onStatusMutate:()=>d(!0),onStatusApplied:()=>r(e.id),onStatusFailed:()=>d(!1)})]})]}),o?null:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`px-5 pt-5 ${ke?`pb-2`:`pb-5`}`,children:[A.length===0?(0,L.jsx)(`p`,{className:`text-[13px] text-muted`,children:T.isLoading?`Loading…`:e.statusText||`No message yet.`}):(0,L.jsxs)(`div`,{ref:v,className:`flex flex-col`,children:[ye&&(0,L.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 xe(),onMouseDown:e=>e.preventDefault(),disabled:m,children:m?`Loading earlier messages…`:D?.reachedTurnBoundary===!1?`Continue loading this turn`:`Load earlier messages`}),(()=>{let t=de,n=[],r=null,i=[...he.byAnchor.entries()].sort((e,t)=>e[0]-t[0]),a=t=>{for(;i.length>0&&i[0][0]<=t;){let[t,a]=i.shift();r!==null&&n.push((0,L.jsx)(EY,{h:14},`qa-space-${t}`)),n.push((0,L.jsx)(y$,{thread:e,questions:a},`qa-${t}`)),r=!1}};a(t-1);let o=new Set,s=!1;return pe.forEach(({message:t,messageIndex:i},c)=>{if(t.queued||u2(t,P(i))||t.boundary===`rest`)return;if(ue&&se&&i>=se.start&&i<=se.end){s||(s=!0,r!==null&&n.push((0,L.jsx)(EY,{h:14},`middle-runs-space`)),n.push((0,L.jsx)(t3,{runs:se.runs,toolCount:se.tools,onExpand:()=>l(!0)},`middle-runs-summary`)),r=!1);return}let u=ue?le.get(i):void 0,d=u===void 0?void 0:ce[u],f=d!==void 0,p=d!==void 0&&i===d.open,m=d!==void 0&&i===d.close,h=f&&!p&&!m&&!pJ(t.text)&&!N4(t)&&I4(t,i,re);if(d!==void 0&&i===d.waker){r!==null&&n.push((0,L.jsx)(EY,{h:r&&i2(t)?6:14},`s${c}`));let e=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":e,className:`flex flex-col`,children:(0,L.jsx)(Z2,{m:t,dense:!0})},e)),r=r2(t);return}if(f&&!h){if(!p&&!m&&!I4(t,i,re)||(!p&&u!==void 0&&!o.has(u)&&(r!==null&&n.push((0,L.jsx)(EY,{h:14},`im-space-${u}`)),n.push((0,L.jsx)(n3,{toolCount:d.tools,onExpand:()=>l(!0)},`intermediate-summary-${u}`)),r=!1,o.add(u)),!m2(t,P(i))))return;r!==null&&n.push((0,L.jsx)(EY,{h:14},`s${c}`));let s=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":s,className:`flex flex-col`,children:(0,L.jsx)(Z2,{m:t,dense:!0,textOnly:!0,answering:ge?Ce(t):void 0,paired:ee[i],staleAwaiting:M(i),restingCardShown:i===j&&N,shadowedBy:_e.get(i),placed:me.placed.get(i),thread:e})},s)),r=!1,a(i);return}r!==null&&n.push((0,L.jsx)(EY,{h:r&&i2(t)?6:14},`s${c}`));let g=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":g,className:`flex flex-col`,children:(0,L.jsx)(Z2,{m:t,dense:!0,staleAwaiting:M(i),restingCardShown:i===j&&N,answering:ge?Ce(t):void 0,paired:ee[i],shadowedBy:_e.get(i),placed:me.placed.get(i),thread:e})},g)),r=r2(t),a(i)}),fe.forEach((e,r)=>{e.queued&&(n.push((0,L.jsx)(EY,{},`qs${r}`)),n.push((0,L.jsx)(Z2,{m:e,dense:!0,paired:ee[t+r]},`q${t+r}`)))}),n})()]}),!T.isLoading&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(KQ,{thread:e,className:`mt-4`}),e.pendingInteraction?null:e.pendingAsk?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(u4,{ask:e.pendingAsk,onTerminal:w})}):e.runtime===`perm-prompt`?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(s4,{onTerminal:w})}):null,e.permPolicy?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(c4,{policy:e.permPolicy,denies:e.permDenies})}):null]}),!T.isLoading&&c1(e)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(X4,{thread:e,onSnooze:Ae,onSnoozeFailed:je})}),!T.isLoading&&jJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(EY,{}),(0,L.jsx)(i4,{fenceKind:`done`,body:e.lastFence.body,hints:[],wrap:!0})]}),!T.isLoading&&e.limitPause&&e.foreign!==!0&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(o4,{slug:e.id,sessionId:e.sessionId,pause:e.limitPause})}),!T.isLoading&&KJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(qJ,{thread:e})})]}),(0,L.jsx)(y$,{thread:e,questions:he.tail,inFlight:ve,showSend:me.placedIds.size>0,className:`shrink-0 px-5 pb-4 pt-0`}),ke&&(0,L.jsx)(`div`,{className:`shrink-0 px-5 pt-0`,children:(0,L.jsx)(`div`,{className:`mb-4 flex items-center justify-start gap-2`,children:(0,L.jsx)(`button`,{disabled:!Te,onClick:()=>Ee(),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,L.jsx)($X,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:we||(e.questions?.length??0)>0?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:De,ops:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(H4,{slug:e.id,subAgents:e.subAgents??[],className:`px-1 pt-1.5`}),(0,L.jsx)(l4,{slug:e.id,includeAgents:!1,className:`px-1 ${V4(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,L.jsx)(IZ,{thread:e,onArchived:()=>r(e.id),onDismissCancel:()=>i(e.id),onSnoozed:()=>r(e.id)})]})})})})},i3);function i3(e,t){return e.leaving===t.leaving&&e.frozen===t.frozen&&e.onResolve===t.onResolve&&e.onUnresolve===t.onUnresolve&&(e.thread===t.thread||JSON.stringify(e.thread)===JSON.stringify(t.thread))}function a3(e,t){if(e.backend===`claude`)return oz.some(t=>t.value===e.model)?dz(e.model).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 o3(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function s3({keys:e,key:t,shiftKey:n,anchor:r,selected:i}){let a=e.indexOf(t),o=r===null?-1:e.indexOf(r);if(!n||a===-1||o===-1||r===null){let e=new Set(i);return e.has(t)?e.delete(t):e.add(t),{selected:e,anchor:a===-1?r:t}}let s=a>=o?1:-1,c=i.has(r),l=new Set(i);for(let t=o;;t+=s){let n=e[t];if(c?l.add(n):l.delete(n),t===a)break}return{selected:l,anchor:r}}var c3=30;function l3({onClose:e}){let t=SR(),{resolved:n,codexList:r,loadError:i,saveProfile:a}=yz(),[o,s]=(0,I.useState)(`issues`),[c,l]=(0,I.useState)(`recent`),[u,d]=(0,I.useState)(1),[f,p]=(0,I.useState)(()=>new Set),[m,h]=(0,I.useState)(null),g=nt({queryKey:[`githubList`,o,c,u],queryFn:()=>Y.githubList({kind:o,sort:c,page:u,perPage:c3}),placeholderData:ee}),_=g.data?.items??[],v=g.data?.page??u,y=g.data?.pageCount??1,b=g.data?.total??0,x=(0,I.useRef)(null);(0,I.useEffect)(()=>{x.current&&(x.current.scrollTop=0)},[u,o,c]);let S=it({mutationFn:e=>Y.githubDispatchBatch(e),onMutate:e=>Z(`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;Z(`Started ${n} thread${n===1?``:`s`}${r?` (${r} failed)`:``}`),e()},onError:e=>Z(`Dispatch failed: ${e.message.slice(0,80)}`)});function C(e){e!==o&&(s(e),d(1),p(new Set),h(null))}function w(e){e!==c&&(l(e),d(1),p(new Set),h(null))}function T(e,t){let n=s3({keys:_.map(e=>e.number),key:e,shiftKey:t,anchor:m,selected:f});p(n.selected),h(n.anchor)}function E(){p(new Set),h(null)}let D=t.data?.nameWithOwner??`this repo`,O=f.size,k=(0,I.useMemo)(()=>_z(r),[r]),A=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,j=A?a3(A,r):i?`Could not load the model catalogue — reopen once it loads`:void 0,M=j??(A?void 0:`Loading the model catalogue…`);function N(){if(!A||M){Z(M??`Choose a model and reasoning level`);return}S.mutate(o3(A,[...f].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,L.jsx)(Rz,{onClose:e,children:(0,L.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,L.jsxs)(`h2`,{className:`mb-4 flex items-center gap-2 text-[14px] font-medium`,children:[(0,L.jsx)(Km,{size:15,className:`text-muted`}),(0,L.jsx)(`span`,{children:`Investigate this issue and make recommendations`}),(0,L.jsx)(`span`,{className:`text-muted/40`,children:`—`}),(0,L.jsx)(`span`,{className:`font-mono-keep text-[12.5px] text-muted`,children:D})]}),(0,L.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,L.jsx)(d3,{value:o,onChange:e=>C(e),options:[{value:`issues`,label:`Issues`},{value:`prs`,label:`PRs`}]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps text-[11px] text-muted/70`,children:`Sort`}),(0,L.jsx)(d3,{value:c,onChange:w,options:[{value:`recent`,label:`Recent`},{value:`reactions`,label:`Reactions`}]})]})]}),(0,L.jsx)(`div`,{ref:x,className:`min-h-[240px] flex-1 overflow-y-auto rounded-lg border border-border/70 bg-bg/40 transition-opacity ${g.isPlaceholderData?`opacity-40`:``}`,children:g.isLoading?(0,L.jsx)(b3,{}):g.isError?(0,L.jsxs)(x3,{children:[(0,L.jsxs)(`span`,{className:`text-[12.5px] text-muted/80`,children:[`Couldn't load `,o===`issues`?`issues`:`pull requests`,`.`]}),(0,L.jsx)(`span`,{className:`max-w-[80%] text-center text-[11px] text-muted/45`,children:g.error.message.slice(0,140)})]}):_.length===0?(0,L.jsxs)(x3,{children:[(0,L.jsx)(Xm,{size:28,strokeWidth:1.25,className:`text-muted/30`}),(0,L.jsxs)(`span`,{className:`text-[12.5px] text-muted/60`,children:[`No open `,o===`issues`?`issues`:`pull requests`]})]}):_.map(e=>(0,L.jsx)(m3,{item:e,checked:f.has(e.number),onActivate:t=>T(e.number,t)},e.number))}),!g.isLoading&&!g.isError&&(0,L.jsxs)(`div`,{className:`mt-2.5 flex items-center justify-between gap-3 whitespace-nowrap text-[11.5px] text-muted/60`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.jsxs)(`span`,{className:`truncate tabular-nums`,children:[b,` open `,o===`issues`?b===1?`issue`:`issues`:b===1?`pull request`:`pull requests`]}),O>0&&(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,L.jsx)(`span`,{className:`text-muted/30`,children:`·`}),(0,L.jsxs)(`span`,{className:`tabular-nums text-fg/70`,children:[O,` selected`]}),(0,L.jsx)(`button`,{onClick:E,onMouseDown:e=>e.preventDefault(),className:`rounded py-0.5 text-muted/60 underline-offset-2 outline-none transition-colors hover:text-fg hover:underline`,children:`Clear`})]})]}),y>1&&(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,L.jsx)(u3,{label:`Previous page`,disabled:v<=1,onClick:()=>d(Math.max(1,v-1)),children:(0,L.jsx)(Sm,{size:14})}),(0,L.jsxs)(`span`,{className:`relative px-2 text-center tabular-nums`,children:[(0,L.jsxs)(`span`,{"aria-hidden":!0,className:`invisible`,children:[`Page `,y,` of `,y]}),(0,L.jsxs)(`span`,{className:`absolute inset-0`,children:[`Page `,v,` of `,y]})]}),(0,L.jsx)(u3,{label:`Next page`,disabled:v>=y,onClick:()=>d(Math.min(y,v+1)),children:(0,L.jsx)(Cm,{size:14})})]})]}),(0,L.jsxs)(`div`,{className:`mt-4 flex items-end justify-between gap-3`,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(qR,{groups:k,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:M??`Model and reasoning effort for every thread this batch starts`,disabled:!n,side:`top`,menuZClass:aM,className:`max-w-[min(21rem,60vw)]`}),j&&(0,L.jsx)(`p`,{className:`mt-1 max-w-[430px] text-[10.5px] text-red-400`,children:j})]}),(0,L.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,L.jsxs)(`button`,{disabled:O===0||S.isPending||!!M,onClick:N,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:[S.isPending&&(0,L.jsx)(eh,{size:13,className:`animate-spin`}),O<=1?`Start investigation`:`Start ${O} investigations`]})})]})]})})}function u3({label:e,disabled:t,onClick:n,children:r}){return(0,L.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:n,onMouseDown:e=>e.preventDefault(),className:`inline-flex h-[22px] w-[22px] items-center justify-center rounded-md border border-border/70 text-muted/70 outline-none transition-colors hover:border-border hover:bg-elevated hover:text-fg disabled:pointer-events-none disabled:opacity-30`,children:r})}function d3({value:e,onChange:t,options:n}){return(0,L.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,L.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 f3({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,L.jsx)(Hm,{size:15,className:`shrink-0`,style:{color:qE.fgDone}}):t===`CLOSED`?(0,L.jsx)(Um,{size:15,className:`shrink-0`,style:{color:qE.fgDanger}}):e.isDraft?(0,L.jsx)(Wm,{size:15,className:`shrink-0`,style:{color:qE.fgNeutral}}):(0,L.jsx)(Gm,{size:15,className:`shrink-0`,style:{color:qE.fgSuccess}}):t===`CLOSED`?(0,L.jsx)(Dm,{size:15,className:`shrink-0`,style:{color:qE.fgDone}}):(0,L.jsx)(km,{size:15,className:`shrink-0`,style:{color:qE.fgSuccess}})}function p3({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:void 0;return(0,L.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 m3({item:e,checked:t,onActivate:n}){let r=vE(e.createdAt)??``,i=[e.author,r?`opened ${r}`:``].filter(Boolean).join(` `);return(0,L.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,L.jsx)(`span`,{className:`mt-px shrink-0`,children:(0,L.jsx)(h3,{checked:t})}),(0,L.jsx)(`span`,{className:`mt-px`,children:(0,L.jsx)(f3,{item:e})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.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,L.jsx)(p3,{name:e.name,color:e.color},e.name))]}),(0,L.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-muted/55`,children:[(0,L.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,L.jsxs)(`span`,{className:`truncate`,children:[`· `,i]}):null]})]}),(0,L.jsxs)(`span`,{className:`mt-px flex shrink-0 items-center gap-2.5 text-[11.5px] text-muted/70`,children:[e.linkedPrs?(0,L.jsx)(v3,{prs:e.linkedPrs}):null,e.comments?(0,L.jsx)(y3,{icon:ih,n:e.comments,label:`comments`}):null,e.reactions?(0,L.jsx)(y3,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function h3({checked:e}){return(0,L.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,L.jsx)(bm,{size:11,strokeWidth:3,className:`text-bg`})})}var g3={octicon:`-0.1em`,stroke:`-0.112em`};function _3({size:e=12,className:t}){return(0,L.jsx)(`svg`,{viewBox:`0 0 16 16`,width:e,height:e,fill:`currentColor`,"aria-hidden":!0,className:t,style:{transform:`translateY(${g3.octicon})`},children:(0,L.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 v3({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,L.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,L.jsx)(_3,{size:12}),e.count]})}function y3({icon:e,emoji:t,n,label:r}){return(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-1 tabular-nums`,title:`${n} ${r}`,children:[t?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] leading-none`,children:t}):e?(0,L.jsx)(`span`,{className:`inline-flex`,style:{transform:`translateY(${g3.stroke})`},children:(0,L.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function b3(){return(0,L.jsx)(`div`,{className:`animate-pulse`,children:Array.from({length:6}).map((e,t)=>(0,L.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border/40 px-3 py-2.5 last:border-b-0`,children:[(0,L.jsx)(`span`,{className:`h-[15px] w-[15px] shrink-0 rounded-[4px] bg-muted/20`}),(0,L.jsx)(`span`,{className:`h-3 w-8 shrink-0 rounded bg-muted/20`}),(0,L.jsx)(`span`,{className:`h-3 flex-1 rounded bg-muted/15`,style:{maxWidth:`${55+t*7%35}%`}})]},t))})}function x3({children:e}){return(0,L.jsx)(`div`,{className:`flex h-full min-h-[240px] flex-col items-center justify-center gap-1.5`,children:e})}var S3=`default`;function C3(e){return e>=1e6?`${w3(e/1e6)}M`:e>=1e3?`${w3(e/1e3)}K`:String(e)}function w3(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/0+$/,``).replace(/\.$/,``)}var T3=[{value:872e3,models:[]}];function E3(e,t){let n=e??[],r=n.find(e=>e.contextWindow!==void 0),i=r?`Model default (${C3(r.contextWindow)} on ${r.displayName})`:`Model default`,a=new Map;for(let e of n)e.maxContextWindow===void 0||e.contextWindow===void 0||e.maxContextWindow<=e.contextWindow||a.set(e.maxContextWindow,[...a.get(e.maxContextWindow)??[],e.displayName]);let o=a.size?[...a.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>({value:e,models:t})):T3,s=[{value:S3,label:i}];for(let e of o){let t=o.length===1||e.models.length===0?`model maximum`:`${e.models.join(`, `)} maximum`;s.push({value:String(e.value),label:`${C3(e.value)} tokens (${t})`})}return t!==void 0&&!s.some(e=>e.value===String(t))&&s.push({value:String(t),label:`${C3(t)} tokens`}),s}var D3={permissionMode:`The permission mode new Claude Code threads launch with. Auto runs safe actions and asks you to approve the risky ones in the thread. Bypass launches the worker with --dangerously-skip-permissions: it never asks, so nothing waits on you and nothing is checked either. Takes effect on the next thread you dispatch; to change a thread that already exists, use the picker beside its model in the prompt box. Codex threads always run with full workspace access and are unaffected.`,promptCacheTtl:`Which prompt-cache tier a new Claude thread writes to. A 1-hour entry costs twice the input price to write, a 5-minute entry 1.25 times; the hour only pays off when the thread's cache actually survives that long. Measured 2026-09-03: cache writes were half of a day's spend and the entries were lost every 15 to 30 minutes regardless, so 5 minutes was the cheaper tier. Automatic leaves the choice to Claude Code, which picks 1 hour on a subscription. Takes effect on the next thread you dispatch and on a thread that resumes after its worker exited.`,autoCompactWindow:`How large a new Claude thread's conversation may grow, in tokens, before Claude Code compacts it. Frizz launches every Claude thread with the 1M context window, so without a ceiling a long thread keeps re-sending everything it has read on every turn; 500K halves that at the cost of an earlier summary. Takes effect on the next thread you dispatch and on a thread that resumes after its worker exited; a thread whose worker is already running keeps its current ceiling. A thread's context dial reads against the ceiling it was launched with, not the model's full window.`,codexContextWindow:`How much context a new Codex thread runs with, in tokens. The presets are the numbers in Codex's own model catalogue: the default model's stock window, and each larger window a listed model accepts (872K on GPT-5.6 and GPT-6; the model's 1M total minus the 128K it reserves for its reply). Codex compacts at 90% of whatever window the thread has, so a larger window is also a later compaction and a larger prompt re-sent on every turn. A model that does not accept the value keeps its own window (GPT-5.5 stays at 272K). Takes effect on the next thread you dispatch and on a thread Codex picks back up after a restart; a thread its app-server already holds keeps its current window. A thread's context dial reads the usable 95% of the window (828K for 872K).`,font:`Changes the interface reading font for this browser.`,localFileOpener:`Chooses how vetted local artifact links open. Markdown files open in Frizz's own reader (which carries an Open action that uses this setting), and image clicks always use the OS default viewer.`,density:`How much of a diff shows before you ask for it, in this browser. Compact collapses every diff to its header row (click one to open it); Comfortable shows them in full. Applies immediately.`,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.`,projectRail:`Shows a permanent column of every project on this machine down the left edge. Off by default: Frizz's home is one board, and a standing list of the others is an easy way to leave the thread you were in. With it off, the home crumb in the status bar is the way back to the projects page.`};function O3(){return typeof Notification>`u`?`unsupported`:Notification.permission}var k3=500,A3=1600,j3=2e3,M3=6;function N3(){let[e,t]=(0,I.useState)(`idle`),n=(0,I.useRef)(null),r=(0,I.useRef)(void 0),i=(0,I.useRef)(Promise.resolve()),a=(0,I.useRef)(0),o=(0,I.useRef)(void 0),s=(0,I.useRef)(0),c=(0,I.useRef)(()=>{}),l=(0,I.useCallback)(()=>{r.current!==void 0&&window.clearTimeout(r.current),r.current=void 0;let e=n.current;e&&(n.current=null,a.current+=1,t(`saving`),i.current=i.current.then(()=>Y.settingsSet(e)).then(e=>{h7.setQueryData([`settingsGet`],e),--a.current,s.current=0,!(a.current>0||n.current)&&(t(`saved`),o.current!==void 0&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>t(`idle`),A3))}).catch(i=>{--a.current,t(`error`),!(n.current||!gf(i)||s.current>=M3)&&(s.current+=1,n.current=e,r.current=window.setTimeout(c.current,j3))}))},[]);c.current=l;let u=(0,I.useCallback)((e,t=!1)=>{if(n.current=e,s.current=0,r.current!==void 0&&window.clearTimeout(r.current),r.current=void 0,!t)return l();r.current=window.setTimeout(l,k3)},[l]);return(0,I.useEffect)(()=>()=>{l(),o.current!==void 0&&window.clearTimeout(o.current)},[l]),{state:e,queue:u,flush:l}}function P3(){let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()}),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(O3()),{state:a,queue:o,flush:s}=N3(),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1);(0,I.useEffect)(()=>{let e=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(e)},[]),(0,I.useEffect)(()=>(gd(p),()=>gd(null)),[]),(0,I.useEffect)(()=>{e.data&&!t&&n(e.data)},[e.data,t]);let f=(0,I.useCallback)((e,t)=>{n(e),o(e,t?.debounce)},[o]);function p(){u||(s(),d(!0),l(!1),window.setTimeout(()=>X.showSettings=!1,em()?0:210))}async function m(e){if(t){if(e&&typeof Notification<`u`&&Notification.permission==="default"){let e=await Notification.requestPermission();i(e)}f({...t,notifications:e})}}return(0,L.jsx)(`div`,{className:`${Xp} z-50 flex justify-end ${c?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,L.jsxs)(`div`,{className:`${Zp} w-[560px] max-w-[94vw] ${c?`translate-x-0`:`translate-x-full`}`,children:[(0,L.jsx)(kh,{title:`Settings`,actions:(0,L.jsx)(F3,{state:a}),onClose:p}),t?(0,L.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-5 flex flex-col gap-6`,children:[(0,L.jsx)(L3,{label:`Font`,help:D3.font,children:(0,L.jsx)(J3,{value:t.font??`mono`,onChange:e=>f({...t,font:e})})}),(0,L.jsx)(L3,{label:`Project sidebar`,help:D3.projectRail,children:(0,L.jsx)(JX,{variant:`bordered`,value:t.projectRail?`shown`:`hidden`,onValueChange:e=>f({...t,projectRail:e===`shown`}),options:[{value:`hidden`,label:`Hidden`},{value:`shown`,label:`Always shown`}],indicatorPosition:`right`,ariaLabel:`Project sidebar`})}),(0,L.jsx)(L3,{label:`Local file links`,help:D3.localFileOpener,children:(0,L.jsx)(JX,{variant:`bordered`,value:t.localFileOpener??`system`,onValueChange:e=>f({...t,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,L.jsx)(L3,{label:`Density`,help:D3.density,children:(0,L.jsx)(X3,{})}),(0,L.jsx)(L3,{label:`Queue order`,help:D3.queueOrder,children:(0,L.jsx)(Z3,{})}),(0,L.jsxs)(L3,{label:`Desktop notifications`,help:D3.notifications,children:[(0,L.jsx)(Y3,{value:t.notifications,onChange:m}),t.notifications&&(0,L.jsx)(Q3,{perm:r})]}),(0,L.jsx)(H3,{draft:t,setDraft:f}),(0,L.jsx)(U3,{draft:t,setDraft:f}),(0,L.jsx)(W3,{draft:t,setDraft:f})]}):(0,L.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`})]})})}function F3({state:e}){return e===`idle`?null:e===`error`?(0,L.jsx)(`span`,{className:`text-[11px] font-normal text-accent`,children:`Couldn't save`}):(0,L.jsx)(`span`,{className:`text-[11px] font-normal text-muted transition-opacity ${e===`saved`?`opacity-70`:`opacity-100`}`,children:e===`saving`?`Saving…`:`Saved`})}function I3({label:e,help:t}){return(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-muted`,children:[e,(0,L.jsx)(cM,{label:t,side:`right`,clickable:!0,children:(0,L.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,L.jsx)(Am,{size:12})})})]})}function L3({label:e,help:t,children:n}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsx)(I3,{label:e,help:t}),n]})}var R3=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}],z3=5e5,B3=[{value:`200000`,label:`200K tokens`},{value:`350000`,label:`350K tokens`},{value:`500000`,label:`500K tokens (default)`},{value:`750000`,label:`750K tokens`},{value:`1000000`,label:`1M tokens`}],V3=[{value:`auto`,label:`Automatic (default)`},{value:`5m`,label:`5 minutes`},{value:`1h`,label:`1 hour`}];function H3({draft:e,setDraft:t}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(G3,{label:`Claude`}),(0,L.jsx)(L3,{label:`Permissions`,help:D3.permissionMode,children:(0,L.jsx)(JX,{variant:`bordered`,value:e.permissionMode===`bypassPermissions`?`bypassPermissions`:`auto`,onValueChange:n=>t({...e,permissionMode:n}),options:az,indicatorPosition:`right`,ariaLabel:`Claude permission mode`})}),(0,L.jsx)(L3,{label:`Compaction window`,help:D3.autoCompactWindow,children:(0,L.jsx)(JX,{variant:`bordered`,value:String(e.autoCompactWindow??z3),onValueChange:n=>t({...e,autoCompactWindow:Number(n)}),options:B3,indicatorPosition:`right`,ariaLabel:`Claude compaction window`})}),(0,L.jsx)(L3,{label:`Prompt cache tier`,help:D3.promptCacheTtl,children:(0,L.jsx)(JX,{variant:`bordered`,value:e.promptCacheTtl??`auto`,onValueChange:n=>t({...e,promptCacheTtl:n}),options:V3,indicatorPosition:`right`,ariaLabel:`Claude prompt cache tier`})})]})}function U3({draft:e,setDraft:t}){let n=nt({queryKey:[`codexModels`],queryFn:()=>Y.codexModels()}),r=e.codexContextWindow,i=r===void 0?S3:String(r),a=E3(n.data,r);return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(G3,{label:`Codex`}),(0,L.jsx)(L3,{label:`Context window`,help:D3.codexContextWindow,children:(0,L.jsx)(JX,{variant:`bordered`,value:i,onValueChange:n=>t({...e,codexContextWindow:n==="default"?void 0:Number(n)}),options:a,indicatorPosition:`right`,ariaLabel:`Codex context window`})})]})}function W3({draft:e,setDraft:t}){let n=nt({queryKey:[`githubPromptDefaults`],queryFn:()=>Y.githubPromptDefaults()});return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(G3,{label:`Prompts`}),n.data?(0,L.jsx)(q3,{label:`Issue and PR triage prompt`,help:`The prompt for every item dispatched from the GitHub picker, issues and PRs alike. The default has the worker read the whole thread, classify it, and branch — reproduce + fix-plan for a bug, a plan for a feature, an adversarial review for a PR.`,value:e.githubPrompt,fallback:n.data.prompt,onChange:(n,r)=>t({...e,githubPrompt:n},r)}):(0,L.jsx)(`div`,{className:`text-[12px] text-muted`,children:`Loading defaults…`})]})}function G3({label:e}){return(0,L.jsxs)(`div`,{className:`mt-4 mb-1 flex items-center gap-2.5 text-[11px] uppercase tracking-wide text-muted/70`,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:e}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`})]})}function K3(){let[e,t]=(0,I.useState)(!1);return(0,L.jsxs)(jV,{open:e,onOpenChange:t,children:[(0,L.jsx)(MV,{asChild:!0,children:(0,L.jsx)(`button`,{type:`button`,className:`shrink-0 text-[11px] transition-colors ${e?`text-accent`:`text-muted hover:text-accent`}`,children:`Tokens`})}),(0,L.jsxs)(PV,{side:`top`,align:`end`,className:`w-56 p-3`,children:[(0,L.jsx)(`div`,{className:`mb-2 text-[11px] font-medium text-fg`,children:`Substitution tokens`}),(0,L.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:R3.map(({token:e,gloss:t})=>(0,L.jsxs)(`li`,{className:`flex items-center justify-between gap-3 text-[11px]`,children:[(0,L.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,L.jsx)(`span`,{className:`text-muted/80`,children:t})]},e))})]})]})}function q3({label:e,help:t,value:n,fallback:r,onChange:i}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsx)(I3,{label:e,help:t}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[n!=null&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,className:`text-[11px] text-muted hover:text-accent transition-colors`,onClick:()=>i(void 0),children:`Reset to default`}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] text-muted/40`,children:`·`})]}),(0,L.jsx)(K3,{})]})]}),(0,L.jsx)(`textarea`,{value:n??r,onChange:e=>i(e.target.value===``?void 0:e.target.value,{debounce:!0}),rows:10,className:`input resize-none text-[12px] leading-relaxed font-mono-keep`,spellCheck:!1})]})}function J3({value:e,onChange:t}){return(0,L.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,L.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 Y3({value:e,onChange:t}){return(0,L.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,L.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 X3(){let{compactDiffs:e}=Zt(CT);return(0,L.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:!1,label:`Comfortable`},{v:!0,label:`Compact`}].map(t=>(0,L.jsx)(`button`,{onClick:()=>CT.compactDiffs=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.label))})}function Z3(){let{queueOrder:e}=Zt(CT);return(0,L.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,L.jsx)(`button`,{onClick:()=>CT.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 Q3({perm:e}){return e===`denied`?(0,L.jsx)(e6,{}):(0,L.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 $3(){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 e6(){let e=(0,I.useMemo)($3,[]),t=typeof location<`u`?location.origin:``,n=`${e===`edge`?`edge`:`chrome`}://settings/content/siteDetails?site=${encodeURIComponent(t)}`;return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 text-[11px] text-muted/70`,children:[(0,L.jsx)(`span`,{children:`Notifications are blocked for this site. Re-enable them in your browser, then reload.`}),e===`chrome`||e===`edge`?(0,L.jsx)(n6,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,L.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,t6(t),`, then reload.`]}):e===`firefox`?(0,L.jsx)(`span`,{children:`Firefox → Settings → Privacy & Security → Permissions → Notifications → Settings → allow this site.`}):(0,L.jsx)(`span`,{children:`Open this site's notification permission in your browser's settings and set it to Allow.`})]})}function t6(e){try{return new URL(e).host}catch{return e}}function n6({url:e,hint:t}){let[n,r]=(0,I.useState)(!1);async function i(){try{await JR(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}}return(0,L.jsxs)(`span`,{className:`flex w-full flex-col gap-1`,children:[(0,L.jsx)(`span`,{children:t}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.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,L.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,L.jsx)(bm,{size:11,className:`text-live`}):(0,L.jsx)(Pm,{size:11})})]})]})}var r6=1,i6=.9,a6=.8,o6=.17,s6=.1,c6=.999,l6=.9999,u6=.99,d6=/[\\\/_+.#"@\[\(\{&]/,f6=/[\\\/_+.#"@\[\(\{&]/g,p6=/[\s-]/,m6=/[\s-]/g;function h6(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?r6:u6;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=h6(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=r6:d6.test(e.charAt(l-1))?(d*=a6,p=e.slice(i,l-1).match(f6),p&&i>0&&(d*=c6**+p.length)):p6.test(e.charAt(l-1))?(d*=i6,m=e.slice(i,l-1).match(m6),m&&i>0&&(d*=c6**+m.length)):(d*=o6,i>0&&(d*=c6**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=l6)),(d<s6&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=h6(e,t,n,r,l+1,a+2,o),f*s6>d&&(d=f*s6)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function g6(e){return e.toLowerCase().replace(m6,` `)}function _6(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,h6(e,t,g6(e),g6(t),0,0,{})}var v6=`[cmdk-group=""]`,y6=`[cmdk-group-items=""]`,b6=`[cmdk-group-heading=""]`,x6=`[cmdk-item=""]`,S6=`${x6}:not([aria-disabled="true"])`,C6=`cmdk-item-select`,w6=`data-value`,T6=(e,t,n)=>_6(e,t,n),E6=I.createContext(void 0),D6=()=>I.useContext(E6),O6=I.createContext(void 0),k6=()=>I.useContext(O6),A6=I.createContext(void 0),j6=I.forwardRef((e,t)=>{let n=G6(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=G6(()=>new Set),i=G6(()=>new Map),a=G6(()=>new Map),o=G6(()=>new Set),s=U6(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=mO(),y=mO(),b=mO(),x=I.useRef(null),S=J6();W6(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),W6(()=>{S(6,k)},[]);let C=I.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=A()?.id,C.emit()}),r||S(5,k),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=I.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=A();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??T6;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;j().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(y6);t?t.appendChild(e.parentElement===t?e:e.closest(`${y6} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${y6} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${v6}[${w6}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(w6);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 k(){var e;let t=A();t&&(t.parentElement?.firstChild===t&&((e=t.closest(v6)?.querySelector(b6))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return x.current?.querySelector(`${x6}[aria-selected="true"]`)}function j(){return Array.from(x.current?.querySelectorAll(S6)||[])}function M(e){let t=j()[e];t&&C.setState(`value`,t.getAttribute(w6))}function N(e){var t;let n=A(),r=j(),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(w6))}function P(e){let t=A()?.closest(v6),n;for(;t&&!n;)t=e>0?V6(t,v6):H6(t,v6),n=t?.querySelector(S6);n?C.setState(`value`,n.getAttribute(w6)):N(e)}let ee=()=>M(j().length-1),F=e=>{e.preventDefault(),e.metaKey?ee():e.altKey?P(1):N(1)},te=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?P(-1):N(-1)};return I.createElement(GD.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&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:g&&e.ctrlKey&&te(e);break;case`ArrowUp`:te(e);break;case`Home`:e.preventDefault(),M(0);break;case`End`:e.preventDefault(),ee();break;case`Enter`:{e.preventDefault();let t=A();if(t){let e=new Event(C6);t.dispatchEvent(e)}}}}},I.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:Z6},c),X6(e,e=>I.createElement(O6.Provider,{value:C},I.createElement(E6.Provider,{value:w},e))))}),M6=I.forwardRef((e,t)=>{let n=mO(),r=I.useRef(null),i=I.useContext(A6),a=D6(),o=U6(e),s=o.current?.forceMount??i?.forceMount;W6(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=q6(n,r,[e.value,e.children,r],e.keywords),l=k6(),u=K6(e=>e.value&&e.value===c.current),d=K6(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);I.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(C6,f),()=>t.removeEventListener(C6,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 I.createElement(GD.div,{ref:OD(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)}),N6=I.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=mO(),s=I.useRef(null),c=I.useRef(null),l=mO(),u=D6(),d=K6(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);W6(()=>u.group(o),[]),q6(o,s,[e.value,e.heading,c]);let f=I.useMemo(()=>({id:o,forceMount:i}),[i]);return I.createElement(GD.div,{ref:OD(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&I.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),X6(e,e=>I.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},I.createElement(A6.Provider,{value:f},e))))}),P6=I.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=I.useRef(null),a=K6(e=>!e.search);return!n&&!a?null:I.createElement(GD.div,{ref:OD(i,t),...r,"cmdk-separator":``,role:`separator`})}),F6=I.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=k6(),o=K6(e=>e.search),s=K6(e=>e.selectedItemId),c=D6();return I.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),I.createElement(GD.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)}})}),I6=I.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=I.useRef(null),o=I.useRef(null),s=K6(e=>e.selectedItemId),c=D6();return I.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)}}},[]),I.createElement(GD.div,{ref:OD(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},X6(e,e=>I.createElement(`div`,{ref:OD(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),L6=I.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return I.createElement(iL,{open:n,onOpenChange:r},I.createElement(uL,{container:o},I.createElement(fL,{"cmdk-overlay":``,className:i}),I.createElement(gL,{"aria-label":e.label,"cmdk-dialog":``,className:a},I.createElement(j6,{ref:t,...s}))))}),R6=I.forwardRef((e,t)=>K6(e=>e.filtered.count===0)?I.createElement(GD.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),z6=I.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return I.createElement(GD.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},X6(e,e=>I.createElement(`div`,{"aria-hidden":!0},e)))}),B6=Object.assign(j6,{List:I6,Item:M6,Input:F6,Group:N6,Separator:P6,Dialog:L6,Empty:R6,Loading:z6});function V6(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function H6(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function U6(e){let t=I.useRef(e);return W6(()=>{t.current=e}),t}var W6=typeof window>`u`?I.useEffect:I.useLayoutEffect;function G6(e){let t=I.useRef();return t.current===void 0&&(t.current=e()),t}function K6(e){let t=k6(),n=()=>e(t.snapshot());return I.useSyncExternalStore(t.subscribe,n,n)}function q6(e,t,n,r=[]){let i=I.useRef(),a=D6();return W6(()=>{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(w6,s),i.current=s}),i}var J6=()=>{let[e,t]=I.useState(),n=G6(()=>new Map);return W6(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Y6(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function X6({asChild:e,children:t},n){return e&&I.isValidElement(t)?I.cloneElement(Y6(t),{ref:t.ref},n(t.props.children)):n(t)}var Z6={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function Q6(){let e=Zt(X),t=ZC(),[n,r]=(0,I.useState)(``);if((0,I.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=zT($C(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(){X.showPalette=!1}function c(e){e(),s()}function l(e){wp(e)}return(0,L.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,L.jsxs)(B6,{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,L.jsx)(B6.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,L.jsxs)(B6.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,L.jsx)(B6.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,L.jsxs)(B6.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,L.jsx)($6,{value:`new thread create home`,onSelect:()=>c(()=>fp()),children:`New thread`}),(0,L.jsx)($6,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{Up(X.drawers.map(e=>e.id)),X.view=`todos`}),children:`Queue`}),(0,L.jsx)($6,{value:`open settings preferences`,onSelect:()=>c(()=>X.showSettings=!0),children:`Open settings`}),o&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)($6,{value:`open details drawer doc ${DT(o)}`,onSelect:()=>c(()=>{let e=Wp();e&&xp(`doc`,e)}),children:`Open thread details`}),(0,L.jsxs)($6,{value:`mark complete done ${DT(o)}`,onSelect:()=>c(()=>Y.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,DT(o),`” complete`]}),(0,L.jsxs)($6,{value:`mark read ${DT(o)}`,onSelect:()=>c(()=>Y.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,DT(o),`” read`]})]})]}),i.length>0&&(0,L.jsx)(B6.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,L.jsxs)($6,{value:`${DT(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,L.jsx)(`span`,{className:`truncate`,children:DT(e)}),(0,L.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function $6({value:e,onSelect:t,children:n}){return(0,L.jsx)(B6.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 e8=`Updating and restarting Frizz`,t8=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`,n8=`Frizz did not come back`;function r8(e){return`${e?`Nothing has answered for ${e}.`:`Nothing is answering.`} Restart Frizz from the terminal with npx frizz (or frizz, if it is installed globally). This page reconnects on its own once the board is back.`}function i8(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 a8({open:e,message:t,stalled:n=!1,silentFor:r}){let i=(0,I.useRef)(null),[a,o]=(0,I.useState)(!1),s=e&&!n;if((0,I.useEffect)(()=>{n||o(!1)},[n]),(0,I.useEffect)(()=>{if(!s)return;let e=document.activeElement;e instanceof HTMLElement&&e.blur(),i.current?.focus({preventScroll:!0});let t=e=>{i8(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,t,{capture:!0}),()=>window.removeEventListener(`keydown`,t,{capture:!0})},[s]),!e)return null;if(n)return a?null:(0,L.jsx)(`div`,{className:`pointer-events-none fixed inset-x-0 top-6 z-[300] flex justify-center px-4`,children:(0,L.jsxs)(`div`,{role:`alert`,className:`pointer-events-auto w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-red-500/45 bg-elevated p-5 text-left shadow-2xl shadow-black/60`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-red-500/15 text-red-300`,children:(0,L.jsx)(Th,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsx)(`h2`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:n8}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>o(!0),className:`-mr-1 ml-auto 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 focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(Dh,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2.5 text-[12px] leading-relaxed text-muted`,children:r8(r)})]})});let c=t?.trim()?t.trim():null;return(0,L.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":e8,className:`fixed inset-0 z-[300] flex items-center justify-center bg-black/55 px-4 backdrop-blur-md backdrop-saturate-150`,children:(0,L.jsxs)(`div`,{ref:i,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,L.jsx)(`span`,{className:`mx-auto flex h-11 w-11 items-center justify-center rounded-full bg-fg/10 text-fg`,children:(0,L.jsx)(ph,{size:20,strokeWidth:2.25,className:`animate-spin`,"aria-hidden":`true`})}),(0,L.jsx)(`h2`,{className:`mt-4 text-[15px] font-semibold tracking-[-0.01em] text-fg`,children:e8}),(0,L.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:t8}),c&&(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:c})]})})}var o8=!1;function s8(){o8||(o8=!0,Z("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function c8(){let e=Zt(X),t=(0,I.useRef)({projectDir:null,hasBeenVisible:!1});(0,I.useEffect)(()=>{Y.board().then(qp).catch(()=>{})},[]);let n=oy();(0,I.useEffect)(()=>Tw((e,t)=>n(e,t)),[n]);let{data:r,dataUpdatedAt:i}=SH(),a=(0,I.useRef)(null),[o,s]=(0,I.useState)(iH),c=(0,I.useRef)(null),l=(0,I.useRef)(!1);(0,I.useEffect)(()=>{let e=r;if(e){let t=sH({state:X.controlPlaneState,message:X.controlPlaneMessage,attempt:X.controlPlaneRestartAttempt},e);X.controlPlaneState=t.state,X.controlPlaneMessage=t.message,X.controlPlaneRestartAttempt=t.attempt,c.current===null&&(c.current=tH(e))}if(s(t=>aH(t,{restarting:X.controlPlaneState===`restarting`,answered:e!=null,at:Date.now()})),!e||l.current)return;let t=sessionStorage.getItem(ZV);if(lH({state:X.controlPlaneState,message:X.controlPlaneMessage,attempt:X.controlPlaneRestartAttempt},e)){if(t){sessionStorage.removeItem(ZV),sessionStorage.removeItem(QV),l.current=!0,window.location.replace(t);return}if(nH(c.current,e)){l.current=!0,window.location.reload();return}}if(e.state===`failed`&&t){let t=sessionStorage.getItem(`frizz:update-restart-from-version`)??void 0;sessionStorage.removeItem(ZV),sessionStorage.removeItem(QV),a.current!==e.message&&(a.current=e.message??`Update & Restart failed`,Z(`Update & Restart failed — ${eH($V(t,e)).summary}`,{duration:7e3}))}},[r,i]);let u=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,I.useEffect)(()=>{if(!u)return;let e=window.scrollY,t=document.body;return Od(),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,Od()??e)}},[u]);let d=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()});(0,I.useEffect)(()=>{X.notificationsEnabled=d.data?.notifications??!1},[d.data?.notifications]);let f=SR();(0,I.useEffect)(()=>{f.data?.inRepo&&!f.data.authed&&s8()},[f.data?.inRepo,f.data?.authed]),(0,I.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(),X.showPalette=!X.showPalette;else if(t===`i`){let t=Bp(),n=Wp();t?.kind===`doc`?(e.preventDefault(),xd(t.id)||X.drawers.pop()):n&&(e.preventDefault(),xp(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let p=ZC(),m=GW();(0,I.useEffect)(()=>{Tp()},[p,e.routeThreadSlug]),t.current=Ew(t.current,p);let h=p!==null&&t.current.hasBeenVisible,g=p===null&&Ow(Pd()),_=t.current.hasBeenVisible;(0,I.useEffect)(()=>{p!==null&&kw(Pd(),_)},[p,_]);let v=p?.projectLabel??p?.projectName;return(0,I.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?v??`Frizz`:v?`${v} — Frizz`:`Frizz`},[v]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(a8,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage,stalled:o.stalled,silentFor:o.silentSince===null?void 0:BE(o.silentForMs)}),(0,L.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`&&!o.stalled,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[m?(0,L.jsx)(zW,{}):(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(`div`,{className:`flex min-h-screen justify-center gap-[clamp(28px,3.4vw,52px)] px-5 max-[800px]:flex-col max-[800px]:justify-start max-[800px]:gap-0 max-[800px]:px-3`,children:[h&&(0,L.jsx)(jh,{label:`the sidebar`,children:(0,L.jsx)(BU,{})}),g&&(0,L.jsx)(`aside`,{"aria-hidden":!0,className:`sticky top-0 self-start h-screen w-[clamp(272px,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`,"data-sidebar-reserved":!0}),(0,L.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`||!p?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:p?(0,L.jsxs)(jh,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,L.jsx)(SW,{status:e.view.slice(7)}),e.view===`todos`&&(0,L.jsx)(Z4,{})]}):(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})})]})}),(0,L.jsx)(M4,{}),e.showSettings&&(0,L.jsx)(P3,{}),e.showNewThread&&(0,L.jsx)(Lz,{onClose:()=>{X.showNewThread=!1}}),e.showGithubPicker&&(0,L.jsx)(l3,{onClose:mp}),(0,L.jsx)(Q6,{})]})]})}function l8(e,t,n){let r=[...e];if(t<0||t>=r.length||n<0||n>=r.length||t===n)return r;let[i]=r.splice(t,1);return r.splice(n,0,i),r}function u8(e,t,n,r=48){let i=Math.round(t/r);return Math.max(0,Math.min(n-1,e+i))}function d8(e,t,n,r=48){return e===t?0:n>t&&e>t&&e<=n?-r:n<t&&e>=n&&e<t?r:0}function f8(e,t,n=44,r=14){let i=t.top+n-e;if(i>0)return-Math.min(r,i/n*r);let a=e-(t.bottom-n);return a>0?Math.min(r,a/n*r):0}var p8=`w-[57px]`,m8=`max-[800px]:pl-0 pl-[57px]`;function h8(e){let t=0;for(let n=0;n<e.length;n++)t=(t*31+e.charCodeAt(n))%360;return t}function g8(e){let t=e.split(/[\s\-_./]+/u).filter(Boolean);return t.length===0?`?`:t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[1][0]).toUpperCase()}function _8(e){let t=e.iconVersion?`&v=${encodeURIComponent(e.iconVersion)}`:``;return`/_frizz/project-icon?id=${encodeURIComponent(e.id)}${t}`}function v8({project:e,size:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),o=h8(e.id),s=e.iconStatus!==`none`,[c,l]=(0,I.useState)(!1),u=!s||c;return(0,L.jsxs)(`span`,{className:`relative block overflow-hidden rounded-[30%] bg-elevated`,style:{width:t,height:t,background:s&&!c?void 0:`hsl(${o} 32% 24%)`},children:[u&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center font-semibold leading-none`,style:{fontSize:t*.4,color:`hsl(${o} 55% 78%)`},children:(0,L.jsx)(`span`,{style:{textBox:`trim-both cap alphabetic`},children:g8(e.name)})}),s&&!c&&(0,L.jsx)(`img`,{src:_8(e),alt:``,width:t,height:t,loading:`eager`,decoding:`async`,onLoad:e=>{let t=e.currentTarget;t.naturalWidth>0&&t.naturalHeight>0&&a(Math.abs(t.naturalWidth/t.naturalHeight-1)<=.05),r(!0)},onError:()=>l(!0),className:`relative h-full w-full transition-opacity ${i?`object-cover`:`object-contain p-[6%]`} ${n?`opacity-100`:`opacity-0`}`})]})}var y8=40;function b8({project:e,current:t,count:n,index:r,drag:i,onPointerDown:a,onKeyDown:o}){let s=i?.fromIndex===r,c=i?s?i.deltaY:d8(r,i.fromIndex,i.toIndex):0;return(0,L.jsx)(cM,{side:`right`,disabled:i!==null,label:e.stale?`${e.name} — directory is missing`:n?`${e.name} — ${n} in the queue`:e.name,children:(0,L.jsxs)(Pb,{to:Fd(e.slug),"aria-current":t?`page`:void 0,"aria-grabbed":s||void 0,onPointerDown:e=>a(e,r),onKeyDown:e=>o(e,r),onClick:e=>{(i||w8())&&e.preventDefault()},onDragStart:e=>e.preventDefault(),className:`group relative flex h-10 w-full items-center justify-center outline-none ${s?`z-10 cursor-grabbing`:``}`,style:{transform:c?`translateY(${c}px)`:void 0,transition:s?`none`:`transform 160ms ease`},children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 w-[3px] rounded-r-full bg-fg transition-all duration-150 ${t?`h-7 opacity-100`:`h-2.5 opacity-0 group-hover:opacity-60`}`}),(0,L.jsx)(`span`,{className:`rounded-[30%] transition-[transform,opacity,box-shadow] duration-150 group-focus-visible:ring-1 group-focus-visible:ring-fg/60 ${s?`scale-[1.12] opacity-100 shadow-lg shadow-black/50`:`group-hover:scale-[1.06] ${t?``:`opacity-75 group-hover:opacity-100`}`} ${e.stale?`grayscale`:``}`,children:(0,L.jsx)(v8,{project:e,size:y8})}),n?(0,L.jsx)(`span`,{"aria-label":`${n} in the queue`,"data-rail-queue-count":n,className:`pointer-events-none absolute -bottom-[5px] right-[3px] flex h-[16px] min-w-[16px] items-center justify-center rounded-full border-[1.5px] border-bg bg-accent px-[3.5px] text-[10px] font-semibold leading-none proportional-nums text-bg`,children:(0,L.jsx)(`span`,{style:{textBox:`trim-both cap alphabetic`},children:n})}):null]})})}function x8({project:e,children:t}){let n=(0,I.useRef)(null),r=Ve(),i=()=>r.invalidateQueries({queryKey:[`projectsList`]}),a=e=>Z(e instanceof Error?e.message:String(e),{duration:7e3}),o=it({mutationFn:async t=>{let n=new Uint8Array(await t.arrayBuffer()),r=``;for(let e=0;e<n.length;e+=8192)r+=String.fromCharCode(...n.subarray(e,e+8192));return Y.projectIconSet({id:e.id,name:t.name,data:btoa(r)})},onSuccess:()=>void i(),onError:a}),s=it({mutationFn:()=>Y.projectIconClear({id:e.id}),onSuccess:()=>void i(),onError:a}),c=it({mutationFn:()=>Y.projectIconPick({id:e.id}),onSuccess:e=>{if(e.kind!==`cancelled`){if(e.kind===`unavailable`){n.current?.click();return}i()}},onError:()=>n.current?.click()}),l=`cursor-default rounded px-2 py-1.5 text-[12.5px] text-fg outline-none data-[highlighted]:bg-panel-2`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`input`,{ref:n,type:`file`,accept:ld.map(e=>`.${e}`).join(`,`),className:`hidden`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&o.mutate(t)}}),(0,L.jsxs)(II,{children:[(0,L.jsx)(LI,{asChild:!0,children:t}),(0,L.jsx)(RI,{children:(0,L.jsxs)(zI,{align:`start`,sideOffset:6,className:`z-[220] min-w-[190px] rounded-lg border border-border bg-panel p-1 shadow-xl shadow-black/40`,children:[(0,L.jsx)(HI,{className:l,onSelect:()=>c.mutate(),children:o.isPending?`Uploading…`:`Choose an icon…`}),(0,L.jsx)(HI,{className:l,onSelect:()=>s.mutate(),children:e.iconIsCustom?`Use the detected icon`:`Look for an icon again`})]})})]})]})}var S8=4,C8=0;function w8(){return Date.now()-C8<250}function T8(e,t){let n=nt({queryKey:[`projectsQueueCounts`],queryFn:()=>Y.projectsQueueCounts(),refetchInterval:5e3}),r=Zt(X).board,i=e!==void 0&&r?$C(r.threads).filter(HT).length:void 0,a=e===void 0?void 0:t.find(t=>t.slug===e)?.id;return e=>e.id===a&&i!==void 0?i:n.data?.[e.id]}function E8(){let e=Ve(),{data:t}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),n=Pd(),[r,i]=(0,I.useState)(!1),a=oy(),[o,s]=(0,I.useState)(null),[c,l]=(0,I.useState)(null),u=(0,I.useRef)(null),d=it({mutationFn:()=>Y.projectPick({}),onSuccess:e=>{e.kind===`picked`?a(Fd(e.project.slug)):e.kind===`unavailable`&&a(`/`)},onSettled:()=>i(!1)}),f=it({mutationFn:e=>Y.projectsReorder({ids:e}),onSuccess:async()=>{await e.invalidateQueries({queryKey:[`projectsList`]}),l(null)},onError:()=>l(null)}),p=c??t??[],m=T8(n,p),[h,g]=(0,I.useState)(!1);(0,I.useEffect)(()=>{let e=u.current;if(!e)return;let t=()=>g(e.scrollTop+e.clientHeight<e.scrollHeight-1);t(),e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(t);return n.observe(e),window.addEventListener(`resize`,t),()=>{e.removeEventListener(`scroll`,t),n.disconnect(),window.removeEventListener(`resize`,t)}},[p.length]);let _=(0,I.useCallback)((e,t)=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let n=e.currentTarget,r=e.clientY,i=p,a=!1,o=null,c=0,d=e=>{let n=u.current,a=0;if(n){let t=f8(e,n.getBoundingClientRect());if(t){let e=n.scrollTop;n.scrollTop+=t,a=n.scrollTop-e}}m+=a;let c=e-r+m;o={id:i[t].id,fromIndex:t,toIndex:u8(t,c,i.length),deltaY:c},s(o)},m=0,h=e=>{if(!a){if(Math.abs(e.clientY-r)<S8)return;a=!0,n.setPointerCapture(e.pointerId)}e.preventDefault();let t=e.clientY;cancelAnimationFrame(c);let i=()=>{d(t),u.current&&f8(t,u.current.getBoundingClientRect())&&(c=requestAnimationFrame(i))};c=requestAnimationFrame(i)},g=()=>{if(cancelAnimationFrame(c),window.removeEventListener(`pointermove`,h),window.removeEventListener(`pointerup`,g),window.removeEventListener(`pointercancel`,g),s(null),!a||!o)return;C8=Date.now();let e=l8(i,o.fromIndex,o.toIndex);o.fromIndex!==o.toIndex&&(l(e),f.mutate(e.map(e=>e.id)))};window.addEventListener(`pointermove`,h,{passive:!1}),window.addEventListener(`pointerup`,g),window.addEventListener(`pointercancel`,g)},[p,f]),v=(0,I.useCallback)((e,t)=>{if(!e.altKey||e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let n=t+(e.key===`ArrowUp`?-1:1);if(n<0||n>=p.length)return;e.preventDefault();let r=l8(p,t,n);l(r),f.mutate(r.map(e=>e.id)),requestAnimationFrame(()=>{u.current?.querySelectorAll(`a`)[n]?.focus()})},[p,f]);return(0,L.jsxs)(`nav`,{"aria-label":`Projects`,className:`fixed inset-y-0 left-0 z-[60] flex flex-col items-center border-r border-border bg-panel/60 py-3 max-[800px]:hidden ${p8}`,children:[(0,L.jsx)(cM,{side:`right`,label:`All projects`,children:(0,L.jsx)(Pb,{to:`/`,"aria-label":`All projects`,"aria-current":n?void 0:`page`,className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted/70 outline-none transition-colors hover:bg-elevated hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,L.jsx)(Jm,{size:17})})}),(0,L.jsx)(`hr`,{className:`my-2.5 w-6 shrink-0 border-0 border-t border-border`}),(0,L.jsx)(`div`,{ref:u,"data-overflowing":h||void 0,className:`frizz-rail-scroll flex w-full min-h-0 flex-1 flex-col items-center gap-2 overflow-y-auto pb-1.5`,children:p.map((e,t)=>(0,L.jsx)(b8,{project:e,index:t,current:e.slug===n,count:m(e),drag:o,onPointerDown:_,onKeyDown:v},e.id))}),(0,L.jsx)(cM,{side:`right`,label:`Add a project`,children:(0,L.jsx)(`button`,{type:`button`,disabled:r,onClick:()=>{i(!0),d.mutate()},"aria-label":`Add a project`,className:`mt-3 flex h-10 w-10 shrink-0 items-center justify-center rounded-[30%] border-[1.5px] border-dotted border-border-strong text-muted/80 outline-none transition-colors hover:border-accent hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:(0,L.jsx)(fh,{size:16})})})]})}var D8=76;function O8(e,t){return t&&e.startsWith(`${t}/`)?`~${e.slice(t.length)}`:e}var k8=`flex flex-col gap-1 rounded-lg border px-4 py-3 outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60`,A8=`max-[700px]:rounded-none max-[700px]:border-x-0 max-[700px]:border-t-0 max-[700px]:border-b-border/70 max-[700px]:bg-transparent max-[700px]:py-3.5`,j8=38;function M8({project:e,home:t}){let n=pE(e.lastOpenedAt),[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(`div`,{className:`group/card relative`,children:[(0,L.jsxs)(Pb,{to:Fd(e.slug),className:`${k8} ${A8} flex-row items-center gap-3 border-border bg-panel pr-10 group-hover/card:border-border-strong group-hover/card:bg-panel-2 ${e.stale?`opacity-60`:``}`,children:[(0,L.jsx)(`span`,{className:`shrink-0 ${e.stale?`grayscale`:``}`,children:(0,L.jsx)(v8,{project:e,size:j8})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium text-fg`,children:e.name}),e.slug===e.name?null:(0,L.jsxs)(`span`,{className:`max-w-[45%] shrink-0 truncate font-mono text-[11px] text-muted/70`,children:[`/`,e.slug]})]}),(0,L.jsx)(`span`,{className:`truncate text-[11px] text-muted`,title:e.path,children:O8(e.path,t)}),(0,L.jsx)(`span`,{className:`truncate text-[11px] text-muted/70`,children:e.stale?`Directory is missing`:n?`Opened ${n}`:`Never opened`})]})]}),(0,L.jsx)(x8,{project:e,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`Change the icon for ${e.name}`,style:{width:j8,height:j8},className:`absolute left-[17px] top-1/2 flex -translate-y-1/2 items-center justify-center rounded-[30%] bg-black/75 text-fg opacity-0 outline-none transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:ring-1 focus-visible:ring-fg/60 data-[state=open]:opacity-100 max-[700px]:left-4 max-[700px]:top-[calc(50%-0.5px)]`,children:(0,L.jsx)(Ym,{size:16,strokeWidth:1.75})})}),(0,L.jsx)(N8,{onDelete:()=>i(!0),children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`More actions for ${e.name}`,className:`absolute right-[8px] top-1/2 flex h-7 w-7 -translate-y-1/2 items-center justify-center rounded-md text-muted opacity-0 outline-none transition-opacity hover:bg-panel-2 hover:text-fg focus-visible:opacity-100 focus-visible:ring-1 focus-visible:ring-fg/60 group-hover/card:opacity-100 data-[state=open]:opacity-100 max-[700px]:right-[7px] max-[700px]:opacity-100`,children:(0,L.jsx)(Fm,{size:15})})}),r?(0,L.jsx)(P8,{project:e,home:t,onClose:()=>i(!1)}):null]})}function N8({onDelete:e,children:t}){return(0,L.jsxs)(II,{children:[(0,L.jsx)(LI,{asChild:!0,children:t}),(0,L.jsx)(RI,{children:(0,L.jsx)(zI,{align:`end`,sideOffset:6,className:`z-[220] min-w-[170px] rounded-lg border border-border bg-panel p-1 shadow-xl shadow-black/40`,children:(0,L.jsx)(HI,{className:`cursor-default rounded px-2 py-1.5 text-[12.5px] text-red-400 outline-none data-[highlighted]:bg-red-500/10 data-[highlighted]:text-red-300`,onSelect:e,children:`Delete project…`})})})]})}function P8({project:e,home:t,onClose:n}){let[r,i]=(0,I.useState)(!1),a=Ve(),o=it({mutationFn:()=>Y.projectRemove({id:e.id,deleteData:r}),onSuccess:t=>{a.invalidateQueries({queryKey:[`projectsList`]}),Z(t.stoppedWorkers>0?`Deleted ${e.name} — ${t.stoppedWorkers} ${t.stoppedWorkers===1?`worker`:`workers`} stopped`:`Deleted ${e.name}`),n()}}),s=o.error instanceof Error?o.error.message:o.error?String(o.error):null;return(0,L.jsx)(pZ,{open:!0,onOpenChange:e=>{!e&&!o.isPending&&n()},title:`Delete ${e.name}?`,className:`w-[440px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,onClick:n,disabled:o.isPending,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,L.jsxs)(`button`,{type:`button`,onClick:()=>o.mutate(),disabled:o.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:[o.isPending&&(0,L.jsx)(eh,{size:12,className:`animate-spin`}),r?`Delete project and threads`:`Delete project`]})]}),children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-3 p-4 text-[12.5px] leading-relaxed text-muted`,children:[(0,L.jsxs)(`p`,{children:[`Frizz forgets this project. The folder itself is not touched — nothing inside`,` `,(0,L.jsx)(`span`,{className:`font-mono text-[11.5px] text-fg/80`,children:O8(e.path,t)}),` is changed or removed.`]}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md border border-border bg-bg/30 px-2.5 py-2 text-fg/85`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:r,onChange:e=>i(e.target.checked),className:`mt-[3px] accent-[var(--color-accent)]`}),(0,L.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,L.jsx)(`span`,{children:`Also delete its threads and history`}),(0,L.jsx)(`span`,{className:`text-[11.5px] text-muted/80`,children:r?`Everything Frizz has stored for this project, and any workers still running are stopped. This cannot be undone.`:`Left off, its threads are kept — adding the folder again brings the board back.`})]})]}),s?(0,L.jsx)(`p`,{className:`text-[11.5px] text-red-400`,children:s}):null]})})}function F8({hero:e,pending:t,onClick:n}){return(0,L.jsxs)(`button`,{type:`button`,onClick:n,disabled:t,className:`${k8} items-center justify-center gap-1.5 border-dashed border-border-strong bg-transparent text-muted hover:border-accent hover:text-fg max-[700px]:mx-4 max-[700px]:mt-4 ${e?`min-h-[118px]`:`min-h-[74px]`}`,children:[(0,L.jsx)(`span`,{className:`text-[17px] leading-none text-muted/70`,children:`+`}),(0,L.jsx)(`span`,{className:`text-[12.5px]`,children:t?`Choosing a folder…`:`Add a project`}),e?(0,L.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:`Point Frizz at a folder on this machine`}):null]})}function I8({reason:e,proposed:t,onClose:n}){let[r,i]=(0,I.useState)(t??``),a=oy(),o=Ve(),s=it({mutationFn:e=>Y.projectAdd({path:e}),onSuccess:e=>{o.invalidateQueries({queryKey:[`projectsList`]}),a(Fd(e.slug))}}),c=s.error instanceof Error?s.error.message:s.error?String(s.error):null;return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{!e&&!s.isPending&&n()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] w-[460px] max-w-[90vw] -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,L.jsx)(xL,{className:`mb-1 text-[14px] font-medium`,children:t?`Add this folder as a project?`:`Add a project`}),(0,L.jsx)(`p`,{className:`mb-3.5 text-[12.5px] leading-relaxed text-muted`,children:t?`You ran Frizz here and it is not a project yet. Nothing has been written — adding it is what creates its board.`:e?`${e}. Paste the folder instead — Frizz walks up to the repository root, the same way it does when you run it in a terminal.`:`Paste the folder you want a board for. Frizz walks up to the repository root, the same way it does when you run it in a terminal.`}),(0,L.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),s.isPending||s.mutate(r)},children:[(0,L.jsx)(`input`,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),placeholder:`~/code/my-project`,spellCheck:!1,className:`w-full rounded-md border bg-bg px-2.5 py-2 font-mono text-[12px] text-fg outline-none placeholder:text-muted/50 focus-visible:ring-1 focus-visible:ring-fg/60 ${c?`border-red-500/60`:`border-border-strong`}`}),c?(0,L.jsx)(`p`,{className:`mt-1.5 text-[11.5px] text-red-400`,children:c}):null,(0,L.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,L.jsx)(`button`,{type:`button`,onClick:n,disabled:s.isPending,className:`rounded-md border border-border-strong bg-elevated px-3 py-1.5 text-[12.5px] text-fg outline-none hover:bg-panel-2 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:t?`Not now`:`Cancel`}),(0,L.jsx)(`button`,{type:`submit`,disabled:s.isPending||r.trim().length===0,className:`rounded-md border border-accent bg-accent px-3 py-1.5 text-[12.5px] font-medium text-bg outline-none hover:brightness-110 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:s.isPending?`Adding…`:t?`Add it`:`Add project`})]})]})]})]})})}function L8(){let[e]=(0,I.useState)(()=>{let e=new URLSearchParams(location.search).get(`add`)??void 0;return e&&history.replaceState(null,``,location.pathname),e}),[t,n]=(0,I.useState)(e?{}:null);(0,I.useEffect)(()=>{let e=new URLSearchParams(location.search).get(`unknown`);e&&(history.replaceState(null,``,location.pathname),Z(`No project named ${e} — showing all projects instead`,{duration:7e3}))},[]);let r=oy(),i=Ve(),a=it({mutationFn:()=>Y.projectPick({}),onSuccess:e=>{if(e.kind!==`cancelled`){if(e.kind===`unavailable`){n({reason:e.reason});return}i.invalidateQueries({queryKey:[`projectsList`]}),r(Fd(e.project.slug))}},onError:e=>n({reason:e instanceof Error?e.message:String(e)})}),{data:o,isPending:s,error:c}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),l=o?.[0]?.path.match(/^(\/(?:Users|home)\/[^/]+)\//u)?.[1],u=o!==void 0&&o.length===0;return(0,L.jsxs)(`div`,{className:`flex min-h-dvh w-full flex-col px-6 py-14 max-[700px]:px-0 max-[700px]:py-10`,children:[(0,L.jsxs)(`div`,{className:`m-auto flex w-full flex-col items-center`,children:[(0,L.jsxs)(`div`,{className:`mb-8 flex flex-col items-center gap-2.5 text-center`,children:[(0,L.jsx)(`img`,{src:`/favicon.svg`,width:D8,height:D8,alt:``,className:`rounded-[17px]`}),(0,L.jsx)(`h1`,{className:`text-[19px] font-semibold tracking-[-0.01em] text-fg`,children:u?`Welcome to Frizz`:`Select a project`}),u?(0,L.jsx)(`p`,{className:`max-w-[420px] text-[13px] leading-relaxed text-muted`,children:`A project is a folder on this machine. Frizz keeps one board of threads per project, and serves them all from here.`}):null]}),c?(0,L.jsxs)(`p`,{className:`text-[13px] text-muted`,children:[`Could not read the project registry: `,String(c)]}):s?(0,L.jsx)(`p`,{className:`text-[13px] text-muted`,children:`Loading…`}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`grid w-full gap-2.5 max-[700px]:gap-0 ${u?`max-w-[360px] grid-cols-1`:`max-w-[720px] grid-cols-1 sm:grid-cols-2`}`,children:[o.map(e=>(0,L.jsx)(M8,{project:e,home:l},e.id)),(0,L.jsx)(F8,{hero:u,pending:a.isPending,onClick:()=>a.mutate()})]}),u?(0,L.jsxs)(`p`,{className:`mt-6 text-[11.5px] text-muted/70`,children:[`Or run`,` `,(0,L.jsx)(`code`,{className:`rounded border border-border bg-panel px-1.5 py-0.5 font-mono text-muted`,children:`frizz`}),` `,`inside any folder — it registers itself and opens.`]}):null]})]}),t?(0,L.jsx)(I8,{reason:t.reason,proposed:e,onClose:()=>n(null)}):null]})}function R8(e,t,n){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=0;for(let e=r.nextNode();e;e=r.nextNode()){if(e===t)return i+n;i+=e.textContent?.length??0}if(t instanceof Element&&e.contains(t)){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0;for(let e=n.nextNode();e;e=n.nextNode())(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING||t.contains(e))&&(r+=e.textContent?.length??0);return r}return null}function z8(e,t){let n=1,r=Math.min(t,e.length);for(let t=0;t<r;t++)e.charCodeAt(t)===10&&n++;return n}function B8({slug:e,path:t}){let n=rC(t),r=ew(t),i=nt({...sC(t),refetchInterval:r?!1:cC}),a=i.data?.path??t,o=i.data?.markdown??``,{front:s,body:c}=E4(n?o:``),[l,u]=(0,I.useState)(n?`rendered`:`source`),d=eq(c,{baseDir:aC(a),asDocument:!0}),f=zq(d),p=zq((0,I.useMemo)(()=>l===`source`?dC(a,o):``,[o,a,l])),m=(0,I.useRef)(null),h=(0,I.useRef)(null),g=(0,I.useRef)(null);Qq(m,d);let _=np(a),v=Mz(),y=Nz(e);return(0,I.useEffect)(()=>{let t=()=>document.querySelector(`main[data-standalone-thread] textarea`);function n(e,t){return e?document.activeElement!==e&&e.selectionStart===0&&e.selectionEnd===0&&e.value.length>0?t.length:Math.min(e.selectionStart??t.length,t.length):t.length}function r(r){if(!(r.metaKey||r.ctrlKey)||r.altKey||r.shiftKey||r.key.toLowerCase()!==`i`)return;let i=g.current,s=window.getSelection(),c=s&&!s.isCollapsed&&s.rangeCount>0?s.getRangeAt(0):null,l=!!(i&&c&&i.contains(c.commonAncestorContainer)),u=l?s.toString():``;if(!l||!u.trim()){r.preventDefault(),r.stopPropagation();let e=t();if(!e)return;document.activeElement!==e&&e.selectionStart===0&&e.selectionEnd===0&&e.value.length>0&&e.setSelectionRange(e.value.length,e.value.length),e.focus();return}r.preventDefault(),r.stopPropagation();let d=null,f=h.current;if(f&&f.contains(c.commonAncestorContainer)){let e=R8(f,c.startContainer,c.startOffset),t=R8(f,c.endContainer,c.endOffset);e!==null&&t!==null&&(d={startLine:z8(o,Math.min(e,t)),endLine:z8(o,Math.max(0,Math.max(e,t)-1))})}else d=XL(o,u);let p=t(),m=jz.followUp(v,e,y),{prose:_,attachments:b}=zL(kz.get(m)),x=qL(VL({path:a,...d??{}}),X.composerContext[e]??[],_),S=JL(_,n(p,_),x);kz.set(m,BL(S.prose,b.map(e=>e.path))),Lp(e,{token:x,path:a,text:u,...d??{}}),s.removeAllRanges(),requestAnimationFrame(()=>{let e=t();e&&(e.setSelectionRange(S.caret,S.caret),e.focus())})}return window.addEventListener(`keydown`,r,!0),()=>window.removeEventListener(`keydown`,r,!0)},[e,a,o,v,y]),(0,L.jsxs)(`div`,{ref:g,"data-file-viewer-panel":!0,className:`flex h-full min-h-0 flex-col`,children:[(0,L.jsx)(kh,{title:_,subtitle:a,onClose:Fp,actions:n?(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-0.5 rounded-md border border-border-strong p-0.5 text-[11px] font-medium`,role:`group`,"aria-label":`File view`,children:[`rendered`,`source`].map(e=>(0,L.jsx)(`button`,{type:`button`,onClick:()=>u(e),"aria-pressed":l===e,className:`rounded px-2 py-0.5 transition-colors ${l===e?`bg-panel-2 text-fg`:`text-muted hover:text-fg`}`,children:e===`rendered`?`Rendered`:`Source`},e))}):null}),(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:[i.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):i.error?(0,L.jsxs)(`div`,{className:`text-[13px] text-red-400/90`,children:[`Couldn’t read this file: `,i.error.message]}):l===`source`?o?(0,L.jsx)(`pre`,{ref:h,className:`hljs whitespace-pre-wrap break-words bg-transparent font-mono-keep text-[12px] leading-5 text-fg/90`,style:{tabSize:2},dangerouslySetInnerHTML:p}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`}):d?(0,L.jsxs)(L.Fragment,{children:[s&&(0,L.jsx)(k4,{source:s}),(0,L.jsx)(`div`,{ref:m,className:`md-body`,dangerouslySetInnerHTML:f})]}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`}),!i.isLoading&&!i.error&&i.data?.truncated&&(0,L.jsx)(`p`,{className:`mt-4 border-t border-border/60 pt-3 text-[12px] text-muted`,children:`This file is too long to render in full — everything above the cut is shown. Open it to read the rest.`})]}),(0,L.jsxs)(`div`,{className:`shrink-0 flex items-center justify-between gap-3 border-t border-border/60 bg-panel px-5 pt-3`,style:D4,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-muted/70`,children:`Select text and press ⌘I to add it to the chat`}),(0,L.jsx)(O4,{path:a})]})]})}function V8(){return{dirs:new Map,files:new Map}}function H8(e,t){let n=e.replace(/[\\/]+$/,``);if(t){let e=op(t,n);if(e!==null)return Xf(e)}let r=Xf(n);return/^[\\/]/.test(n)?[`/`,...r]:r}var U8=(e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`,numeric:!0});function W8(e,t){let n=[];for(let r of[...e.dirs.keys()].sort(U8)){let i=e.dirs.get(r),a=r;for(;i.files.size===0&&i.dirs.size===1;){let[e,t]=[...i.dirs.entries()][0];a=a===`/`?`/${e}`:`${a}/${e}`,i=t}n.push({kind:`dir`,name:a,depth:t,children:W8(i,t+1)})}for(let r of[...e.files.keys()].sort(U8))n.push({kind:`file`,name:r,depth:t,file:e.files.get(r)});return n}function G8(e,t){let n=V8();for(let r of e){let e=H8(r.path,t);if(e.length===0)continue;let i=n;for(let t of e.slice(0,-1)){let e=i.dirs.get(t);e||(e=V8(),i.dirs.set(t,e)),i=e}i.files.set(e[e.length-1],r)}return W8(n,0)}function K8(e){let t=[],n=e=>{for(let r of e)t.push(r),r.kind===`dir`&&n(r.children)};return n(e),t}var q8=10;function J8({name:e,depth:t}){return(0,L.jsxs)(`div`,{"data-file-dir":e,className:`flex items-baseline text-[12px] leading-5 text-muted/70`,style:{paddingLeft:t*q8},children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:(0,L.jsx)(zm,{size:12,className:`${F$} text-muted/45`})}),(0,L.jsx)(`span`,{className:`ml-[5px] min-w-0 truncate`,title:e,children:e})]})}function Y8({files:e}){return(0,L.jsx)(`div`,{"data-edited-file-tree":!0,className:`col-span-4 flex flex-col gap-y-px`,children:K8(G8(e,QC())).map(e=>e.kind===`dir`?(0,L.jsx)(J8,{name:e.name,depth:e.depth},`d:${e.depth}:${e.name}`):(0,L.jsx)(X8,{file:e.file,name:e.name,depth:e.depth},e.file.path))})}function X8({file:e,name:t,depth:n}){let r=Ve();return(0,L.jsx)(q$,{testKind:`file`,testId:e.path,mark:(0,L.jsx)(Lm,{size:12,className:`${F$} -mr-[2px] text-muted/60`}),name:t,indent:n*q8,onOpen:()=>Aq(e.path),onPrewarm:()=>pC(r,e.path),title:e.path,status:(0,L.jsxs)(L.Fragment,{children:[(e.added??0)>0&&(0,L.jsxs)(`span`,{style:{color:qE.fgSuccess},children:[`+`,e.added]}),(e.added??0)>0&&(e.removed??0)>0&&` `,(e.removed??0)>0&&(0,L.jsxs)(`span`,{style:{color:qE.fgDanger},children:[`−`,e.removed]})]})})}function Z8({thread:e}){let t=kE(),n=dw(e.id,{poll:!1}).data?.editedFiles??[],r=e1(e),i=(e.bgShells??[]).filter(e=>e.state===`running`),a=(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`),o=(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`),{railFilesCollapsed:s}=Zt(CT),c=[{head:`Sub-agents`,rows:r.map(n=>(0,L.jsx)(t1,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(Q$,{shell:n,slug:e.id,now:t},n.id??n.label))},{head:`Pull requests`,rows:a.map(e=>(0,L.jsx)(J$,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)($$,{watch:e,now:t},e.id))},{head:`Edited files`,rows:n.length>0?[(0,L.jsx)(Y8,{files:n},`tree`)]:[],count:n.length,collapsed:s,onToggle:()=>CT.railFilesCollapsed=!CT.railFilesCollapsed}].filter(e=>e.rows.length>0);return(0,L.jsx)(`aside`,{"data-focus-rail":!0,"aria-label":`Thread activity`,className:`flex h-full shrink-0 flex-col overflow-y-auto px-4 [view-transition-name:thread-rail]`,style:{width:340},children:(0,L.jsx)(`div`,{className:`my-auto py-6`,children:c.length===0?(0,L.jsx)(`div`,{className:`text-[11.5px] text-muted/50`,children:`Nothing running, watched or edited yet.`}):(0,L.jsx)(s1,{groups:c,divider:!1})})})}function Q8(){let e=Zt(X),t=e.toast,[n,r]=(0,I.useState)(!1),i=e.drawers.some(e=>!e.closing);return(0,I.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,L.jsx)(`div`,{className:`pointer-events-none fixed right-4 z-[70] flex justify-end ${i?`bottom-20`:`bottom-4`}`,children:(0,L.jsxs)(`div`,{"data-toast":!0,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex max-w-[min(30rem,calc(100vw-2rem))] items-center gap-2.5 break-words 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,L.jsx)(eh,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,L.jsx)(`button`,{onClick:()=>{xp(`thread`,t.link.slug),X.toast=null},className:`pointer-events-auto shrink-0 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 $8=`max(50%, calc(100% - 720px))`,e5={"--full-thread":`min(720px, ${$8})`,"--full-thread-narrow":`min(720px, 100%)`,"--full-pane":$8,"--full-gutter":`max(0px, calc((100% - min(720px, ${$8}) - 340px) / 2))`};function t5(e,t){return`${Fd(e)}${Vd(t,`/`)}`}function n5({slug:e}){let t=!!Zt(X).filePanel,n=ZC(),r=kd(n,e),i=r.kind===`found`?r.thread:void 0;n?.projectDir,(0,I.useEffect)(()=>{Y.board().then(qp).catch(()=>{})},[]),(0,I.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${Qp}px)`),t=()=>{X.splitFileViewer=e.matches};return t(),e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t),X.splitFileViewer=!1,X.filePanel=null}},[]);let a=i?.runtime===`turn-idle`||i?.runtime===`exited`||i?.runtime===`none`;return(0,I.useEffect)(()=>{!i||!a||Y.threadSeen({slug:e}).catch(()=>{})},[a,e,i?.lastActivityAt]),(0,I.useEffect)(()=>{let t=n?.projectLabel??n?.projectName,r=i?DT(i):e;document.title=t?`${r} · ${t} — Frizz`:`${r} · Frizz`},[n?.projectLabel,n?.projectName,e,i]),(0,L.jsx)(sM,{children:(0,L.jsxs)(`div`,{className:`h-dvh min-h-0 bg-bg text-sm text-fg`,children:[(0,L.jsx)(`div`,{className:`h-full w-full overflow-hidden`,children:(0,L.jsxs)(`div`,{className:`flex h-full w-full justify-center transition-transform duration-200 ease-out motion-reduce:transition-none split:justify-start`,style:{...e5,transform:t?`translateX(calc(-1 * var(--full-gutter)))`:void 0},children:[(0,L.jsx)(`div`,{className:`hidden w-[var(--full-gutter)] shrink-0 split:block`,"aria-hidden":`true`}),(0,L.jsx)(`main`,{"data-standalone-thread":!0,className:`flex h-full w-[var(--full-thread-narrow)] min-w-0 shrink-0 flex-col overflow-hidden border-border bg-panel sm:border-x split:w-[var(--full-thread)] [view-transition-name:thread-chat]`,children:r.kind===`loading`?(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,role:`status`,"aria-label":`Loading thread`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 animate-spin rounded-full border-2 border-muted/50 border-t-transparent`})}):r.kind===`missing`?(0,L.jsx)(i5,{slug:e}):(0,L.jsx)(z0,{slug:e,virtualized:!0,showReturnToQueue:!0})}),i?(0,L.jsx)(r5,{slug:e,thread:i}):(0,L.jsx)(`div`,{className:`hidden w-[var(--full-pane)] shrink-0 split:block`,"aria-hidden":`true`})]})}),(0,L.jsx)(M4,{}),(0,L.jsx)(Q8,{})]})})}function r5({slug:e,thread:t}){let n=Zt(X).filePanel,[r,i]=(0,I.useState)(null),a=n?.path??r;return(0,I.useEffect)(()=>{if(n){i(n.path);return}let e=window.setTimeout(()=>i(null),210);return()=>window.clearTimeout(e)},[n]),(0,L.jsxs)(`div`,{"data-side-pane":!0,className:`relative hidden h-full w-[var(--full-pane)] min-h-0 min-w-0 shrink-0 grow-0 overflow-hidden split:block`,children:[(0,L.jsx)(`div`,{inert:n?!0:void 0,className:`h-full min-h-0`,children:(0,L.jsx)(Z8,{thread:t})}),(0,L.jsx)(`aside`,{"data-file-viewer-slot":!0,"aria-hidden":!n,className:`absolute inset-0 transition-[translate,opacity] duration-200 ease-out motion-reduce:transition-none ${n?`translate-x-0 opacity-100`:`translate-x-full opacity-0`}`,children:a&&(0,L.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-panel`,children:(0,L.jsx)(B8,{slug:e,path:a},a)})})]})}function i5({slug:e}){let{data:t,isPending:n}=nt({queryKey:[`threadLocate`,e],queryFn:()=>Y.threadLocate({slug:e})});return(0,I.useEffect)(()=>{t?.length===1&&location.replace(t5(t[0].projectSlug,e))},[t,e]),(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h1`,{className:`font-medium text-fg`,children:`Thread unavailable`}),n?(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Looking for “`,e,`” in your other projects…`]}):t&&t.length>0?(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`“`,e,`” lives in `,t.length===1?`another project`:`these projects`,` — opening it there.`]}):(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Thread “`,e,`” was not found in any project on this machine.`]})]}),t&&t.length>1?(0,L.jsx)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:t.map(t=>(0,L.jsx)(`a`,{href:t5(t.projectSlug,e),className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:t.projectName},t.projectSlug))}):(0,L.jsx)(`a`,{href:`/`,className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:`All projects`})]})}var a5={OPEN_ISSUE:{bg:qE.bgSuccessEmphasis,icon:km,label:`Open`},CLOSED_ISSUE:{bg:qE.bgDoneEmphasis,icon:Dm,label:`Closed`},NOT_PLANNED:{bg:qE.bgNeutralEmphasis,icon:jm,label:`Closed as not planned`},OPEN_PR:{bg:qE.bgSuccessEmphasis,icon:Gm,label:`Open`},DRAFT:{bg:qE.bgNeutralEmphasis,icon:Wm,label:`Draft`},MERGED:{bg:qE.bgDoneEmphasis,icon:Hm,label:`Merged`},CLOSED_PR:{bg:qE.bgDangerEmphasis,icon:Um,label:`Closed`}};function o5(e){return e.kind===`commit`?null:e.state===`MERGED`?`MERGED`:e.state===`DRAFT`?`DRAFT`:e.state===`OPEN`?e.kind===`pr`?`OPEN_PR`:`OPEN_ISSUE`:e.state===`CLOSED`?e.kind===`pr`?`CLOSED_PR`:e.stateReason===`NOT_PLANNED`?`NOT_PLANNED`:`CLOSED_ISSUE`:null}function s5(e,t=Date.now()){if(!e)return``;let n=new Date(e);if(Number.isNaN(n.getTime()))return``;let r=n.getFullYear()===new Date(t).getFullYear();return n.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...r?{}:{year:`numeric`}})}function c5(e,t=Date.now()){if(!e)return``;let n=Date.parse(e);return Number.isFinite(n)?Math.floor(Math.max(0,t-n)/864e5)>=360?`on ${s5(e,t)}`:vE(e,t)??``:``}function l5(e,t){let n=e+t;if(n<=0)return[,,,,,].fill(`none`);let r=Math.min(5,Math.floor(e/n*5)),i=Math.min(5-r,Math.floor(t/n*5));return[...Array(r).fill(`add`),...Array(i).fill(`del`),...Array(5-r-i).fill(`none`)]}var u5={add:qE.fgSuccess,del:qE.fgDanger},d5={add:{backgroundColor:qE.bgSuccessEmphasis,borderColor:qE.bgSuccessEmphasis},del:{backgroundColor:qE.bgDangerEmphasis,borderColor:qE.bgDangerEmphasis},none:{backgroundColor:`${qE.bgNeutralEmphasis}33`,borderColor:`#3d444d`}};function f5({additions:e,deletions:t}){return(0,L.jsxs)(`div`,{className:`flex items-baseline gap-1.5 text-[12px] tabular-nums`,children:[(0,L.jsxs)(`span`,{"data-gh-add":!0,style:{color:u5.add},children:[`+`,e.toLocaleString()]}),(0,L.jsxs)(`span`,{"data-gh-del":!0,style:{color:u5.del},children:[`−`,t.toLocaleString()]}),(0,L.jsx)(`span`,{"data-gh-blocks":!0,className:`ml-0.5 inline-flex gap-[1px] self-baseline translate-y-[calc(4px_-_0.5cap)]`,children:l5(e,t).map((e,t)=>(0,L.jsx)(`span`,{className:`size-[8px] rounded-[2px] border`,style:d5[e]},t))})]})}function p5({card:e}){let t=o5(e),n=t?a5[t]:void 0;if(!n)return null;let r=n.icon;return(0,L.jsxs)(`span`,{"data-gh-pill":!0,className:`inline-flex items-baseline gap-1 rounded-full px-2.5 py-1 text-[12px] font-medium text-white`,style:{backgroundColor:n.bg},children:[(0,L.jsx)(r,{strokeWidth:2,"aria-hidden":!0,className:`size-[1.1em] shrink-0 self-baseline -mr-px translate-y-[calc(0.55em_-_0.5cap)]`}),(0,L.jsx)(`span`,{"data-gh-pill-label":!0,children:n.label})]})}function m5({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:`#8b8f96`;return(0,L.jsx)(`span`,{className:`inline-flex items-center rounded-full border px-2 py-[1px] text-[11px] font-medium`,style:{color:n,backgroundColor:`${n}26`,borderColor:`${n}59`},children:e})}var h5=/`([^`\n]+)`/g;function g5(e,t){if(!t)return[e];let n=[],r=0;for(let t of e.matchAll(h5))t.index>r&&n.push(e.slice(r,t.index)),n.push({code:t[1]}),r=t.index+t[0].length;return r<e.length&&n.push(e.slice(r)),n}function _5({text:e,code:t,className:n}){return(0,L.jsx)(`div`,{className:n,children:g5(e,t).map((e,t)=>typeof e==`string`?e:(0,L.jsx)(`code`,{className:`rounded-[3px] bg-panel-2 px-[3px] py-[1px] font-mono-keep text-[0.92em]`,children:e.code},t))})}var v5=new Set([`avatars.githubusercontent.com`,`camo.githubusercontent.com`]);function y5(e){if(e)try{let t=new URL(e);return t.protocol===`https:`&&v5.has(t.hostname)?e:void 0}catch{return}}function b5({card:e,nowMs:t}){let n=y5(e.authorAvatar),r=e.authorLogin??e.authorName??`Someone`,i=e.kind===`commit`?`committed`:e.kind===`pr`?`opened this pull request`:`opened this issue`,a=c5(e.at,t);return(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border px-3 py-2 text-[12px] text-muted`,children:[n?(0,L.jsx)(`img`,{"data-gh-avatar":!0,src:n,alt:``,className:`size-[18px] shrink-0 rounded-full`}):(0,L.jsx)(`span`,{"data-gh-avatar":!0,className:`size-[18px] shrink-0 rounded-full bg-border`}),(0,L.jsxs)(`span`,{"data-gh-byline-text":!0,className:`truncate`,children:[(0,L.jsx)(`span`,{className:`text-fg`,children:r}),` `,i,` `,a]})]})}var x5=`w-[360px] max-w-[min(360px,calc(100vw-24px))] leading-normal`;function S5({card:e,nowMs:t=Date.now()}){let n=e.additions!==void 0&&e.deletions!==void 0;if(e.kind===`commit`)return(0,L.jsxs)(`div`,{className:x5,children:[(0,L.jsxs)(`div`,{className:`flex items-baseline gap-2 px-3 pt-3 pb-2.5`,children:[(0,L.jsx)(`span`,{"data-gh-commit-glyph":!0,className:`shrink-0 self-baseline -mr-px text-[14px] translate-y-[calc(0.5em_-_0.5cap)]`,children:(0,L.jsx)(Vm,{className:`size-[1em] text-muted`,"aria-hidden":!0})}),(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(`a`,{"data-gh-title":!0,href:e.url,target:`_blank`,rel:`noreferrer noopener`,tabIndex:-1,className:`block text-[14px] font-semibold leading-snug text-fg hover:underline`,children:e.title}),e.body?(0,L.jsx)(_5,{text:e.body,code:!1,className:`mt-1.5 line-clamp-6 text-[12px] text-muted`}):null,n?(0,L.jsx)(`div`,{className:`mt-2.5`,children:(0,L.jsx)(f5,{additions:e.additions,deletions:e.deletions})}):null]})]}),(0,L.jsx)(b5,{card:e,nowMs:t})]});let r=e.ref.slice(e.ref.indexOf(`#`));return(0,L.jsxs)(`div`,{className:x5,children:[(0,L.jsxs)(`div`,{className:`px-3 pt-3 pb-3`,children:[(0,L.jsxs)(`div`,{className:`text-[12px] text-muted`,children:[(0,L.jsx)(`span`,{className:`underline decoration-border underline-offset-2`,children:e.repo}),e.at?` on ${s5(e.at,t)}`:``]}),(0,L.jsxs)(`a`,{"data-gh-title":!0,href:e.url,target:`_blank`,rel:`noreferrer noopener`,tabIndex:-1,className:`mt-1 block text-[14px] font-semibold leading-snug text-fg hover:underline`,children:[e.title,` `,(0,L.jsx)(`span`,{className:`font-normal text-muted`,children:r})]}),(0,L.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,L.jsx)(p5,{card:e}),n?(0,L.jsx)(f5,{additions:e.additions,deletions:e.deletions}):null]})]}),e.body||e.labels.length>0?(0,L.jsxs)(`div`,{className:`border-t border-border px-3 py-2.5`,children:[e.body?(0,L.jsx)(_5,{text:e.body,code:!0,className:`line-clamp-2 text-[12px] text-muted`}):null,e.labels.length>0?(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1 ${e.body?`mt-2`:``}`,children:e.labels.map(e=>(0,L.jsx)(m5,{name:e.name,color:e.color},e.name))}):null]}):null,(0,L.jsx)(b5,{card:e,nowMs:t})]})}var C5=250,w5=180;function T5(e){let t=e.getClientRects()[0]??e.getBoundingClientRect();return{top:t.top,left:t.left,width:t.width,height:t.height}}function E5(){let[e,t]=(0,I.useState)(null),n=(0,I.useRef)(void 0),r=(0,I.useRef)(void 0),i=(0,I.useRef)(!1),a=(0,I.useCallback)(()=>{clearTimeout(n.current),clearTimeout(r.current),n.current=void 0,r.current=void 0},[]),o=(0,I.useCallback)(()=>{clearTimeout(r.current),r.current=setTimeout(()=>{i.current||t(null)},w5)},[]);return(0,I.useEffect)(()=>{let i=i=>{if(i.pointerType!==`mouse`)return;let a=i.target?.closest?.(`a[data-gh-ref]`)??null,o=a?.getAttribute(`data-gh-ref`);!a||!o||(clearTimeout(r.current),e?.ref!==o&&(clearTimeout(n.current),Ff([o]),n.current=setTimeout(()=>t({ref:o,rect:T5(a)}),C5)))},a=e=>{e.pointerType===`mouse`&&e.target?.closest?.(`a[data-gh-ref]`)&&(clearTimeout(n.current),o())};return document.addEventListener(`pointerover`,i),document.addEventListener(`pointerout`,a),()=>{document.removeEventListener(`pointerover`,i),document.removeEventListener(`pointerout`,a)}},[e?.ref,o]),(0,I.useEffect)(()=>{if(!e)return;let n=()=>{i.current=!1,a(),t(null)};return window.addEventListener(`scroll`,n,!0),window.addEventListener(`resize`,n),()=>{window.removeEventListener(`scroll`,n,!0),window.removeEventListener(`resize`,n)}},[e,a]),(0,I.useEffect)(()=>a,[a]),(0,L.jsxs)(jV,{open:e!==null,children:[(0,L.jsx)(NV,{asChild:!0,children:(0,L.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none fixed`,style:{top:e?.rect.top??0,left:e?.rect.left??0,width:e?.rect.width??0,height:e?.rect.height??0}})}),e?(0,L.jsx)(PV,{side:`top`,align:`start`,sideOffset:8,alignOffset:-8,"aria-hidden":!0,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),onPointerEnter:()=>{i.current=!0,clearTimeout(r.current)},onPointerLeave:()=>{i.current=!1,o()},className:`overflow-hidden`,children:(0,L.jsx)(D5,{refKey:e.ref})}):null]})}function D5({refKey:e}){let t=(0,I.useSyncExternalStore)(Af,()=>jf(e),()=>jf(e));return(0,I.useEffect)(()=>{Mf(jf(e))&&zf(e)},[e]),t?.card?(0,L.jsx)(S5,{card:t.card}):(0,L.jsx)(`div`,{className:`flex h-[64px] w-[220px] items-center px-3 text-[12px] text-muted`,children:t?.missing?`Not found on GitHub`:`Loading…`})}var O5=`frizz-project-rail`;function k5(){try{return localStorage.getItem(O5)===`shown`}catch{return!1}}function A5(e){try{localStorage.setItem(O5,e?`shown`:`hidden`)}catch{}}function j5(){iy();let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet(),placeholderData:ee}).data?.projectRail;return(0,I.useEffect)(()=>{e!==void 0&&A5(e===!0)},[e]),e===void 0?k5():e===!0}var M5=`/project/:slug`;function N5(){R5();let e=j5();return(0,L.jsxs)(sM,{children:[e?(0,L.jsx)(E8,{}):null,(0,L.jsx)(`div`,{className:e?m8:void 0,children:(0,L.jsx)(By,{})}),(0,L.jsx)(Q8,{}),(0,L.jsx)(E5,{})]})}function P5(e){(0,I.useEffect)(()=>{MC(e)||(Kp(),YC())},[e])}function F5(){let{slug:e,thread:t}=uy();return P5(e),L5(),(0,I.useState)(()=>Op(t)),(0,L.jsx)(c8,{},e??`__launching__`)}function I5(){return(0,L.jsx)(L8,{})}function L5(){let e=iy();(0,I.useEffect)(()=>{bw(Ld(e.pathname))},[e.pathname])}function R5(){let e=oy();(0,I.useEffect)(()=>(Cw((t,n)=>e(t,n)),()=>Cw(null)),[e])}function z5(){let{thread:e,slug:t}=uy();return R5(),P5(t),(0,I.useState)(()=>{X.drawers.length>0&&(X.drawers=[])}),Dp(e),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(n5,{slug:e}),(0,L.jsx)(Q8,{})]})}var B5=[{index:!0,element:(0,L.jsx)(F5,{})},{path:`thread/:thread`,element:(0,L.jsx)(F5,{})},{path:`status/:status`,element:(0,L.jsx)(F5,{})}],V5=Ab([{path:`/thread/:thread/full`,element:(0,L.jsx)(z5,{})},{path:`${M5}/thread/:thread/full`,element:(0,L.jsx)(z5,{})},{element:(0,L.jsx)(N5,{}),children:[{path:`/`,element:(0,L.jsx)(I5,{})},{path:`/thread/:thread`,element:(0,L.jsx)(F5,{})},{path:`/status/:status`,element:(0,L.jsx)(F5,{})},{path:M5,children:B5},{path:`*`,element:(0,L.jsx)(F5,{})}]}]),H5=24,U5=6,W5=700,G5=new Map,K5=null,q5=null;function J5(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function Y5(e){return X.board?.threads.find(t=>t.id===e)?.lastActivityAt}function X5(){let e=[...G5.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of G5){if(n.observers<=0){n.live&&(n.live=!1,GC(e)),G5.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,GC(e)))}Z5()}function Z5(){q5||[...G5.values()].some(e=>e.queued)&&(q5=setTimeout(()=>{q5=null;let e=0,t=[...G5.values()].filter(e=>e.live).length;for(let[n,r]of G5){if(e>=U5||t>=H5)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=Y5(n),WC(n),e++))}Z5()},W5))}function Q5(){if(K5)for(let[e,t]of G5){if(t.observers<=0)continue;let n=Y5(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&X.socketTranscripts)&&(X.socketTranscriptFallbacks[e]||K5.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function $5(e){K5||(K5=e,e.getQueryCache().subscribe(e=>{let t=J5(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=G5.get(t);e.type===`observerAdded`?(G5.delete(t),G5.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:Y5(t)})):r&&(r.observers=n),X5()}),Jt(X,Q5))}var e7=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,t7=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function n7(e){let t=e===`mono`?`mono`:`sans`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?t7:e7);try{localStorage.setItem(`frizz-font`,t)}catch{}}function r7(e){let t=e.getQueryData([`settingsGet`]);t&&n7(t.font),Y.settingsGet().then(e=>n7(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&n7(t.font)})}function i7(){let e=e=>{if(e.button!==0||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`.${FS}`):null;t&&(e.preventDefault(),e.stopPropagation(),o7(t))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}function a7(e){return e.closest(`.md-code`)?.querySelector(`pre code`)??null}async function o7(e){let t=a7(e);if(!t)return;let n=(t.textContent??``).replace(/\n$/,``);if(n){try{await JR(n)}catch(e){Z(`Could not copy code: ${e.message.slice(0,100)}`,{duration:7e3});return}c7(e)}}var s7=new WeakMap;function c7(e){e.classList.add(IS),e.title=`Copied`;let t=s7.get(e);t!==void 0&&window.clearTimeout(t),s7.set(e,window.setTimeout(()=>{e.classList.remove(IS),e.title=LS,s7.delete(e)},_1))}var l7=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function u7(){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||!n.startsWith(`/`))return;let r=Pd(n);if(r&&r!==Pd())return;let i=l7.exec(Ld(n));i&&(e.preventDefault(),e.stopPropagation(),wp(i[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var d7=new Set([`projectsList`,`projectsQueueCounts`,`threadLocate`,`dispatchPreferencesGet`,`supervisorStatus`]);function f7(e){let t=e[0];return typeof t==`string`&&d7.has(t)?T(e):T([`project:${Pd()??``}`,...e])}var p7=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),m7=typeof window<`u`?Hd(Ld()):null;!p7&&!m7&&xw();var h7=new Le({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1,queryKeyHashFn:f7}}});p7||(XC(h7),$5(h7),wH(h7),r7(h7),IQ(),Oq(),i7(),u7()),p7||(0,at.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(He,{client:h7,children:(0,L.jsx)(Fh,{children:(0,L.jsx)(Iy,{router:V5})})}));export{a as i,Bd as n,ze as r,cb as t};
|
|
313
|
+
`)||void 0;return{line:`${a$(e)} ${t.label}${r?` — ${r}`:``}`,...i?{body:i}:{}}}var s$=`root`;function c$(e,t,n){return`${e}/${t}.${n}`}function l$(e){let t=e.options??[],n=t.findIndex(e=>e.recommended),r=t.map((e,t)=>o$(t,e));return{question:{kind:e.kind,danger:e.danger===!0,contextMd:e.question,options:r.map(e=>e.line),recommendedIdx:n===-1?null:n,...r.some(e=>e.body)?{optionBodies:r.map(e=>e.body)}:{}},optionLabels:t.map(e=>e.label)}}function u$(e,t){return!t||e.kind===`multi`?null:t.chosen}function d$(e,t){let n=[],r=(e,i,a)=>{let{question:o,optionLabels:s}=l$(e);n.push({path:i,spec:e,question:o,optionLabels:s,depth:a});let c=u$(e,t.get(i));c!==null&&(e.options?.[c]?.followUps??[]).forEach((e,t)=>r(e,c$(i,c,t),a+1))};return r(e,s$,1),n}function f$(e,t){return t?t.text.trim()?!0:e.kind===`multi`?(t.chosenSet??[]).length>0:t.chosen!==null:!1}function p$(e,t){if(!f$(e.spec,t.get(`root`)))return;let n=(r,i)=>{let a=t.get(i),o=(r.options??[]).map(e=>e.label),s=u$(r,a),c=r.kind===`multi`?(a?.chosenSet??[]).slice().sort((e,t)=>e-t).flatMap(e=>o[e]===void 0?[]:[o[e]]):s===null?[]:[o[s]].filter(e=>e!==void 0),l=r.kind===`multi`||s===null?a?.text.trim():void 0,u=s===null?[]:(r.options?.[s]?.followUps??[]).map((e,t)=>n(e,c$(i,s,t)));return{questionId:e.id,question:r.question,chosen:c,...l?{text:l}:{},...u.length>0?{followUps:u}:{}}};return n(e.spec,s$)}function m$(e){let t=e instanceof Error?e.message:`The answer could not be sent.`;return t.length>240?`${t.slice(0,239)}…`:t}var h$=(e,t)=>`${e}|${t}`,g$=(0,I.createContext)(null);function _$(e){let t=e?.id,n=e?.questions??[],r=Mz(),[i,a]=(0,I.useState)(()=>new Map),[o,s]=(0,I.useState)(),c=(0,I.useContext)(L0),l=Fz((0,I.useMemo)(()=>t?n.flatMap(e=>x$(e).map(n=>jz.question(r,t,e.id,n))):[],[r,t,n])),u=(e,n)=>{let a=i.get(h$(e.id,n));return{chosen:a?.chosen??null,chosenSet:a?.chosenSet??[],text:(t?l.get(jz.question(r,t,e.id,n)):void 0)??``}},d=e=>new Map(x$(e).map(t=>[t,u(e,t)])),f=n.flatMap(e=>{let t=p$(e,d(e));return t?[t]:[]}),p=it({mutationFn:async e=>Y.answerQuestions({slug:t,answers:e}),onSuccess:e=>{for(let i of e.answered){a(e=>{let t=new Map(e);for(let e of[...t.keys()])e.startsWith(`${i}|`)&&t.delete(e);return t});let e=n.find(e=>e.id===i);if(e&&t)for(let n of x$(e))kz.set(jz.question(r,t,e.id,n),``)}},onError:e=>{c?.cancel(),s(m$(e))}}),m=it({mutationFn:async e=>Y.dismissQuestions({slug:t,ids:[e]}),onError:e=>s(m$(e))});return{slug:t,answerFor:u,answersOf:d,onChip:(e,t,n,r)=>{a(i=>{let a=new Map(i),o=h$(e.id,t),s=a.get(o)??{chosen:null,chosenSet:[]};if(n){let e=s.chosenSet.includes(r)?s.chosenSet.filter(e=>e!==r):[...s.chosenSet,r];a.set(o,{...s,chosenSet:e})}else a.set(o,{...s,chosen:s.chosen===r?null:r});return a})},onText:(e,n,i,o)=>{t&&(kz.set(jz.question(r,t,e.id,n),o),i||a(t=>{let r=h$(e.id,n),i=t.get(r);return!i||i.chosen===null?t:new Map(t).set(r,{...i,chosen:null})}))},dismiss:e=>m.mutate(e),dismissing:m.isPending,submit:()=>{!t||f.length===0||p.isPending||(s(void 0),c?.dismiss(),p.mutate(f))},staged:f.length,sending:p.isPending,error:o}}function v$({thread:e,children:t}){let n=_$(e);return(0,L.jsx)(g$.Provider,{value:n,children:t})}function y$({q:e,answering:t}){let n=(0,I.useContext)(g$),r=t??n;if(!r||!r.slug)return null;let i=d$(e.spec,r.answersOf(e)),a=t=>(0,L.jsx)(uX,{question:t.question,label:t.depth>1?`Follow-up`:void 0,aside:t.depth===1&&!e.spec.danger?(0,L.jsx)(`button`,{type:`button`,"data-dismiss-question":!0,"aria-label":`Dismiss this question`,title:`Dismiss — the worker decides it itself`,disabled:r.dismissing,onClick:()=>r.dismiss(e.id),className:`card-icon-offset -mx-2 -my-1 flex rounded-md p-1 text-muted/70 outline-none transition-colors hover:bg-elevated hover:text-fg disabled:opacity-40`,children:(0,L.jsx)(Dh,{size:16})}):void 0,interactive:{answer:r.answerFor(e,t.path),onChip:n=>r.onChip(e,t.path,t.spec.kind===`multi`,n),onText:n=>r.onText(e,t.path,t.spec.kind===`multi`,n),onSubmit:r.submit}},t.path),o=i.slice(1);return(0,L.jsxs)(`article`,{"data-question-id":e.id,className:`flex min-w-0 flex-col gap-2`,children:[a(i[0]),o.length>0&&(0,L.jsx)(`div`,{className:`ml-3 flex flex-col gap-2 border-l border-border pl-3`,children:o.map(e=>(0,L.jsx)(`div`,{className:e.depth>2?`ml-3 border-l border-border pl-3`:void 0,children:a(e)},e.path))})]})}function b$({thread:e,questions:t,inFlight:n=null,showSend:r=!1,className:i=``}){let a=e?.id,o=t??e?.questions??[],s=(0,I.useContext)(g$),c=_$(s?void 0:e),l=s??c;return!a||o.length===0&&!r?!a||!n?.length?null:(0,L.jsx)(`section`,{"data-answers-in-flight":!0,"aria-label":`Your answer, on its way to the worker`,className:`flex min-w-0 flex-col items-end ${i}`,children:(0,L.jsx)(QY,{answers:n,queued:!0})}):(0,L.jsxs)(`section`,{"data-registered-questions":!0,"aria-label":o.length>0?`${o.length} question${o.length===1?``:`s`} waiting for an answer`:`Send the answers above`,className:`flex min-w-0 flex-col gap-3 ${i}`,children:[o.map(e=>(0,L.jsx)(y$,{q:e,answering:l},e.id)),l.error&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:l.error}),l.sending&&(0,L.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:`text-[11px] leading-snug text-muted`,children:`Sending…`}),(0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-send-answers":!0,disabled:l.staged===0||l.sending,onClick:l.submit,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 x$(e){let t=[],n=(e,r)=>{t.push(r),e.options?.forEach((e,t)=>{e.followUps?.forEach((e,i)=>n(e,`${r}/${t}.${i}`))})};return n(e.spec,s$),t}function S$(e){return(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).length}function C$(e,t={}){let n=(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`).length,r=(e.bgShells??[]).filter(e=>e.state===`running`).length,i=t.watchers===!1?0:S$(e),a=[n>0?`${n} sub-agent${n===1?``:`s`}`:null,r>0?`${r} background shell${r===1?``:`s`}`:null,i>0?`${i} PR watcher${i===1?``:`s`}`:null].filter(e=>e!==null);return a.length===0?`0 background shells`:a.length===1?a[0]:`${a.slice(0,-1).join(`, `)} and ${a[a.length-1]}`}function w$(e){return(e.subAgents??[]).some(e=>Xc(e)&&e.state===`running`)}function T$(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length}function E$(e){return w$(e)||T$(e)>0}function D$(e,t){return ul(t)??(O$(e)?`Background shells running`:`Awaiting`)}function O$(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length>0&&!w$(e)&&S$(e)===0&&k$(e).length===0}function k$(e){return(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`)}var A$={id:``,subAgents:[],bgShells:[],watches:[]},j$=[];function M$(e,t){let n=new Set((e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).map(e=>e.target));return pU(t).filter(e=>!n.has(e.ref))}function N$({watch:e}){return(0,I.useEffect)(()=>{e.url&&Ff([e.ref])},[e.url,e.ref]),e.url?(0,L.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer noopener`,"data-gh-ref":e.ref,className:`${WJ} text-[12px]`,children:e.ref}):(0,L.jsx)(`span`,{className:`text-[12px] text-muted`,children:e.ref})}var P$={mergeable:`no conflicts`,blocked:`merge blocked`,conflicting:`has conflicts`,unknown:null};function F$(e){return e.state!==`open`||e.merge===`blocked`&&e.checks!==`passing`&&e.checks!==`none`?null:P$[e.merge]}var I$=`shrink-0 self-baseline translate-y-[calc(0.5em_-_0.5cap)]`;function L$({tone:e}){return(0,L.jsx)(`span`,{"aria-hidden":!0,className:`inline-block size-3 rounded-full border ${e} border-t-transparent motion-safe:animate-spin ${I$}`})}function R$(){return(0,L.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 16 16`,width:12,height:12,fill:`none`,stroke:`currentColor`,overflow:`visible`,className:I$,style:{color:qE.fgAttention},children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:`4`,fill:`currentColor`,stroke:`none`}),(0,L.jsxs)(`g`,{strokeWidth:`2`,className:`origin-center motion-safe:animate-spin`,children:[(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:`7`,opacity:`0.25`}),(0,L.jsx)(`path`,{d:`M15 8A7 7 0 0 1 8 15`})]})]})}function z$({status:e}){return e?e.state===`merged`?(0,L.jsx)(Hm,{size:12,className:I$,style:{color:qE.fgDone}}):e.state===`closed`?(0,L.jsx)(Um,{size:12,className:I$,style:{color:qE.fgDanger}}):e.checks===`failing`?(0,L.jsx)(Mm,{size:12,className:I$,style:{color:qE.fgDanger}}):e.checks===`passing`?(0,L.jsx)(Dm,{size:12,className:I$,style:{color:qE.fgSuccess}}):e.gated>0&&e.running===0?(0,L.jsx)(Em,{size:12,className:I$,style:{color:qE.fgAttention}}):e.checks===`running`?(0,L.jsx)(R$,{}):(0,L.jsx)(Om,{size:12,className:`${I$} text-muted/60`}):(0,L.jsx)(Om,{size:12,className:`${I$} text-muted/60`})}function B$(e){return[e.failed>0?`${e.failed} failing`:null,e.gated>0?`${e.gated} awaiting approval`:null,e.running>0?`${e.running} in progress`:null,e.passed>0?`${e.passed} successful`:null,e.skipped>0?`${e.skipped} skipped`:null].filter(e=>e!==null).join(`, `)}function V$(e){if(!e)return`Checking…`;if(e.state===`merged`)return`Merged`;if(e.state===`closed`)return`Closed`;let t=B$(e),n=F$(e);return[t||`No checks`,n].filter(e=>e!==null).join(` · `)}var H$=`group relative col-span-4 grid grid-cols-subgrid items-baseline rounded-sm text-[12px] leading-5`,U$=`group relative col-span-4 flex items-baseline rounded-sm text-[12px] leading-5`,W$=`ml-1.5 min-w-0 truncate font-medium text-fg/90`,G$=`ml-3 min-w-0 truncate text-right text-muted/70`,K$=`outline-none after:absolute after:inset-0 after:rounded-sm focus-visible:after:ring-1 focus-visible:after:ring-fg/60`;function q$(){return(0,L.jsx)(Cm,{size:13,"aria-hidden":!0,className:`${I$} ml-[3px] -mr-[4px] text-muted/35 transition-colors group-hover:text-muted/70`})}function J$({mark:e,name:t,status:n,onOpen:r,onPrewarm:i,href:a,ghRef:o,title:s,testKind:c,testId:l,indent:u}){let d=u!==void 0,f=d?`${W$} flex-1`:W$,p=a?(0,L.jsx)(`a`,{href:a,target:`_blank`,rel:`noreferrer noopener`,title:s,"data-gh-ref":o,onMouseDown:e=>e.stopPropagation(),className:`${f} ${K$} group-hover:underline group-hover:decoration-fg/40 group-hover:underline-offset-2`,children:t}):r?(0,L.jsx)(`button`,{type:`button`,onClick:r,onMouseDown:e=>e.stopPropagation(),title:s,className:`${f} ${K$} text-left group-hover:underline group-hover:decoration-fg/40 group-hover:underline-offset-2`,children:t}):(0,L.jsx)(`span`,{className:f,title:s,children:t}),m=!!(a||r);return(0,L.jsxs)(`div`,{"data-wait-row":l,"data-wait-kind":c,onMouseEnter:i,onFocus:i,style:d?{paddingLeft:u}:void 0,className:`${d?U$:H$} ${m?`cursor-pointer transition-colors hover:bg-fg/[0.045]`:``}`,children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:e}),p,(0,L.jsx)(`span`,{"data-wait-status":!0,className:G$,children:n}),m?(0,L.jsx)(q$,{}):(0,L.jsx)(`span`,{})]})}function Y$({watch:e}){let t=e.github,n=dU(e.target);return(0,I.useEffect)(()=>{n&&Ff([e.target])},[n,e.target]),(0,L.jsx)(J$,{testKind:`github`,testId:e.target,mark:(0,L.jsx)(z$,{status:t}),name:e.target,href:n??void 0,ghRef:n?e.target:void 0,title:n?`Open ${e.target} on GitHub`:e.target,status:(0,L.jsxs)(L.Fragment,{children:[V$(t),t&&t.failing.length>0&&n&&(0,L.jsxs)(L.Fragment,{children:[` · `,(0,L.jsx)(`a`,{href:`${n}/checks`,target:`_blank`,rel:`noreferrer noopener`,onMouseDown:e=>e.stopPropagation(),className:`relative underline underline-offset-2 text-[#f85149]/85 decoration-[#f85149]/30 hover:decoration-[#f85149]`,children:`view failures`})]})]})})}function X$(e,t){return(e.bgShells??[]).find(e=>e.id===t||e.taskId===t||e.label===t)}function Z$(e){return(e.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`)}function Q$({watch:e,thread:t,slug:n,now:r}){let i=X$(t,e.target);if(i)return(0,L.jsx)($$,{shell:i,slug:n,now:r,testId:e.target});let a=HE(e.createdAt,r);return(0,L.jsx)(J$,{testKind:`shell`,testId:e.target,mark:(0,L.jsx)(Sh,{size:12,className:`${I$} text-shell`}),name:e.target,title:e.target,status:a?`running · ${a}`:`running`})}function $$({shell:e,slug:t,now:n,testId:r}){let i=HE(e.startedAt,n),a=e.id&&!e.outputUnavailable;return(0,L.jsx)(J$,{testKind:`shell`,testId:r??e.id??e.label,mark:(0,L.jsx)(Sh,{size:12,className:`${I$} text-shell`}),name:e.label,onOpen:a?()=>Cp(t,e.id,{label:e.label,startedAt:e.startedAt}):void 0,title:a?`Read this shell's output — running for ${i}`:e.label,status:i?`running · ${i}`:`running`})}function e1({watch:e,now:t}){let n=Date.parse(e.timer?.fireAt??``),r=Number.isFinite(n)?n>t?`fires in ${BE(n-t)}`:`firing…`:`armed`;return(0,L.jsx)(J$,{testKind:`timer`,testId:e.target,mark:(0,L.jsx)(Nm,{size:12,className:`${I$} text-muted/60`}),name:e.timer?.prompt||e.target,title:e.timer?.fireAt?`One-off timer, set for ${e.timer.fireAt}`:e.target,status:r})}function t1(e){return(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`)}function n1({agent:e,slug:t,now:n}){let r=HE(e.startedAt,n),i=e.subagentType?.replace(/^frizz:/,``);return(0,L.jsx)(J$,{testKind:`agent`,testId:e.id??e.label,mark:(0,L.jsx)(L$,{tone:`border-accent`}),name:e.label,onOpen:e.id?()=>Sp(t,e.id,{label:e.label,subagentType:e.subagentType,startedAt:e.startedAt}):void 0,title:e.id?`Open this sub-agent — working for ${r}`:e.label,status:[i,r].filter(Boolean).join(` · `)})}function r1(e,t,n){let r=new Set(n.map(e=>e.target)),i=[];for(let n of t){if(n.kind!==`shell`)continue;let t=n.value.trim();if(!t||r.has(t))continue;let a=X$(e,t);!a||a.state!==`running`||(r.add(t),i.push({id:`shell:${e.id}:${t}`,kind:`shell`,target:t,state:`armed`,createdAt:a.startedAt}))}return i}function i1(e,t={}){let n=Date.parse(t.notAfter??``),r=e=>!Number.isFinite(n)||!e||!(Date.parse(e)>n),i=(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`&&r(e.createdAt)),a=Z$(e).filter(t=>r(X$(e,t.target)?.startedAt??t.createdAt));return{prs:i,shells:[...a,...r1(e,t.hints??[],a)],agents:t1(e).filter(e=>r(e.startedAt)),timers:k$(e).filter(e=>r(e.createdAt))}}function a1(e,t={}){let n=i1(e,t);return n.prs.length+n.shells.length+n.agents.length+n.timers.length>0}function o1(e,t,n={}){let{prs:r,shells:i,agents:a,timers:o}=i1(e,n);return[{head:`Sub-agents`,rows:a.map(n=>(0,L.jsx)(n1,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(Q$,{watch:n,thread:e,slug:e.id,now:t},n.id))},{head:`Pull requests`,rows:r.map(e=>(0,L.jsx)(Y$,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(e1,{watch:e,now:t},e.id))}].filter(e=>e.rows.length>0)}function s1({group:e,first:t}){let n=`col-span-4 text-[10.5px] uppercase tracking-wide text-muted/45 ${t?``:`mt-2.5`}`;return e.onToggle?(0,L.jsxs)(`button`,{type:`button`,onClick:e.onToggle,"aria-expanded":!e.collapsed,onMouseDown:e=>e.stopPropagation(),className:`${n} flex items-baseline rounded-sm text-left transition-colors hover:text-muted/80`,children:[(0,L.jsx)(`span`,{children:e.head}),e.count!==void 0&&(0,L.jsx)(`span`,{className:`ml-1.5 tabular-nums`,children:e.count}),(0,L.jsx)(Cm,{size:10,"aria-hidden":!0,className:`${I$} ml-[5px] transition-transform ${e.collapsed?``:`rotate-90`}`})]}):(0,L.jsx)(`div`,{className:n,children:e.head})}function c1({groups:e,divider:t}){return e.length===0?null:(0,L.jsxs)(L.Fragment,{children:[t&&(0,L.jsx)(`div`,{"aria-hidden":!0,className:`-mx-4 mt-3 border-t border-border`}),(0,L.jsx)(`div`,{className:`mt-3 grid grid-cols-[auto_1fr_fit-content(50%)_auto] gap-y-px`,children:e.map((e,t)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(s1,{group:e,first:t===0}),!e.collapsed&&e.rows]},e.head))})]})}function l1(e){return e?.awaitingBackground===!0&&e.runtime===`turn-idle`&&e.bgSnoozed!==!0}var u1=`Hides card until new activity is detected`;function d1({thread:e,onSnooze:t,onSnoozeFailed:n}){let[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{i(!0),t?.(),Y.snoozeAwaitingBackground({slug:e.id,sessionId:e.sessionId??``}).then(()=>Z(`Snoozed until the background work returns`)).catch(e=>{n?.(),Z(`Couldn’t snooze: ${e.message.slice(0,80)}`),i(!1)})},disabled:r,onMouseDown:e=>e.preventDefault(),title:u1,className:`disabled:opacity-45 ${GJ}`,children:[(0,L.jsx)(qm,{size:12,className:DX}),`Snooze`]}),(0,L.jsx)(`span`,{className:UJ,children:u1})]})}function f1({thread:e,fence:t,onSnooze:n,onSnoozeFailed:r,notAfter:i}){let a=e??A$,o=t??(e?.lastFence?.kind===`awaiting`?e.lastFence:void 0),s=o?.hints??j$,c=w$(a),l=yU(o?.body),u=eq(l??``),d=o1(a,kE(),{hints:s,notAfter:i}),f=M$(a,s),p=i===void 0&&e!==void 0&&l1(e)&&oZ(e).snooze;return(0,L.jsxs)(BJ,{"data-awaiting-background":!0,icon:O$(a)?Sh:qm,label:(0,L.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:D$(a,s)}),aside:f.length===1?(0,L.jsx)(N$,{watch:f[0]}):void 0,className:p?`pb-0`:``,children:[l?(0,L.jsx)($q,{className:`md-body ${MJ}`,html:u}):d.length===0&&!E$(a)?(0,L.jsx)(`p`,{className:VJ,children:fU}):null,f.length>1&&(0,L.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-0.5`,children:f.map(e=>(0,L.jsx)(N$,{watch:e},e.ref))}),d.length===0&&E$(a)&&(0,L.jsx)(`p`,{className:`block min-w-0 text-[13px] leading-5 text-fg/75`,children:c?(0,L.jsxs)(L.Fragment,{children:[`It’s awaiting the results from `,C$(a,{watchers:!1}),` it dispatched. It returns to the queue on its own when the work comes back.`]}):(0,L.jsxs)(L.Fragment,{children:[C$(a,{watchers:!1}),` `,T$(a)===1?`is`:`are`,` still running. It resumes on its own when`,` `,T$(a)===1?`it finishes`:`one of them finishes`,`.`]})}),(0,L.jsx)(c1,{groups:d,divider:!!l}),p?(0,L.jsx)(`div`,{"data-awaiting-snooze":!0,className:`-mx-4 mt-3 flex flex-wrap items-center gap-x-2.5 gap-y-2 border-t border-border bg-fg/[0.03] px-4 py-2.5 ${FJ}`,children:(0,L.jsx)(d1,{thread:e,onSnooze:n,onSnoozeFailed:r})}):null]})}function p1(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`event`||n.boundary!==`rest`)){for(let r=t-1;r>=0;r--){let t=e[r];if(t.role===`assistant`&&t.kind!==`event`&&t.kind!==`reasoning`)return{index:r,at:n.at}}return{index:-1,at:n.at}}}}function m1(e,t=Date.now()){return e!==void 0&&YT(e,t)!==void 0}function h1(){let[e,t]=(0,I.useState)(()=>Date.now());return(0,I.useEffect)(()=>{let e=setInterval(()=>t(Date.now()),1e3);return()=>clearInterval(e)},[]),e}function g1({thread:e}){let t=h1(),[n,r]=(0,I.useState)(!1),i=YT(e,t);if(!i)return null;let a=Date.parse(i),o=fT(i,t).replace(/^(Today|Tomorrow)/,e=>e.toLowerCase()),s=e.snoozePrompt?.trim();async function c(){r(!0);try{await Y.setThreadSnooze({slug:e.id,sessionId:e.sessionId??``,until:null,prompt:null}),Z(`Snooze cleared`)}catch(e){Z((e instanceof Error?e.message:`Wake failed`).slice(0,100))}finally{r(!1)}}return(0,L.jsxs)(BJ,{"data-snooze-card":!0,icon:qm,label:`Snoozed`,children:[(0,L.jsx)(`div`,{"data-snooze-countdown":!0,title:new Date(a).toLocaleString(),className:`text-[22px] font-semibold leading-8 tracking-tight text-fg tabular-nums`,children:WE(a-t)}),(0,L.jsx)(`p`,{className:VJ,children:s?(0,L.jsxs)(L.Fragment,{children:[`Resumes `,o,` and sends: “`,gT(s),`”`]}):(0,L.jsxs)(L.Fragment,{children:[`Returns to the queue `,o,`.`]})}),e.foreign!==!0&&(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{type:`button`,"data-snooze-wake-now":!0,disabled:n,onClick:()=>void c(),className:`${GJ} disabled:cursor-not-allowed disabled:opacity-45`,children:`Wake now`})})]})}function _1({at:e,fallbackAt:t,className:n=``}){let r=kE(),i=dE(e,t),a=fE(i,r);return!a||!i?null:(0,L.jsx)(`time`,{dateTime:i,className:n,children:a})}var v1=1500;function y1(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},v1),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var b1=`Could not copy terminal command`,x1={attach:`Attach command copied`,resume:`Resume command copied`},S1={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},C1=e=>[`terminalCommand`,e];function w1(e){return Y.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 T1(e){let t=w1(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;return await JR(n),r}function E1(e){let t=it({mutationFn:()=>T1(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),Z(x1[t])},onError:t=>{e?.onError?.(),Z(t instanceof Error?`${b1}: ${t.message}`:b1,{duration:7e3})}})}function D1({slug:e}){let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null);r.current||=y1(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Ve(),a=E1(e);(0,I.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:C1(e),queryFn:()=>w1(e),staleTime:15e3})}function s(){let t=i.getQueryData(C1(e));if(t){JR(t.command).then(()=>{r.current?.begin(),Z(x1[t.mode])},()=>Z(b1,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(C1(e)),l=t?c?x1[c.mode]:`Terminal command copied`:c?S1[c.mode]:`Copy terminal command`;return(0,L.jsx)(cM,{label:l,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:TD,children:t?(0,L.jsx)(bm,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,L.jsx)(Sh,{size:14,strokeWidth:1.8})})})}function O1(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 k1(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 A1(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function j1(e,t,n){let r=[],i=new Map,a=null;return e.forEach((e,o)=>{if(e.queued||t(e))return;let s=e.sourceId??A1(e),c=i.get(s)??0;i.set(s,c+1),r.push({key:c===0?s:`${s}:${c}`,message:e,messageIndex:o,gap:a===null?0:n(a,e)}),a=e}),r}function M1(e,t,n){let r=e[t];if(!r||r.kind!==`event`||r.boundary!==`rest`)return!1;for(let r=t+1;r<e.length;r++){let t=e[r];if(!(t.queued||n(t)))return!!t.boundary||t.wake===!0}return!0}function N1(e,t){let n=e.map(e=>e.message);return e.filter((e,r)=>!M1(n,r,t))}var P1=new Set([`agent`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]),F1=new Set([`poll process`,`wait`]);function I1(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function L1(e){return I1(e).toLowerCase()}function R1(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||e.backgroundState!==void 0&&!H1(e)&&!z1(e)||V1(e)||B1(e)||P1.has(L1(e.name))}function z1(e){return e.backgroundState===`background`&&Q1(e)}function B1(e){return e.ask!==void 0&&e.ask.length>0&&e.status!==void 0&&e.status!==`pending`}function V1(e){return e.outputImage!==void 0||e.sentImages!==void 0&&e.sentImages.length>0}function H1(e){return e.backgroundState===`unknown`&&F1.has(L1(e.name))}function U1(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=>!R1(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!R1(e))?e.tools:null}function W1(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 G1(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return K1(e.tools);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 K1(n.tools)}return null}function K1(e){let t=[];for(let n=e.length-1;n>=0&&!R1(e[n]);n--)t.unshift(e[n]);return t.length>0?t:null}function q1(e){if(e.role!==`assistant`||e.kind||e.queued)return null;let t=[],n=e=>{for(let n of e){if(R1(n))return!0;t.push(n)}return!1};if(!e.parts?.length)return e.text.trim()?null:n(e.tools)&&t.length>0?t:null;for(let r of e.parts){if(r.kind===`text`){if(!r.text.trim())continue;return t.length>0?t:null}if(n(r.tools))return t.length>0?t:null}return null}function J1(e,t){return Y1(e,new Set(t))}function Y1(e,t){if(!e.parts?.length)return{...e,tools:e.tools.filter(e=>!t.has(e))};let n=e.parts.map(e=>e.kind===`text`?e:{kind:`tools`,tools:e.tools.filter(e=>!t.has(e))}).filter(e=>e.kind===`text`||e.tools.length>0);return{...e,tools:n.flatMap(e=>e.kind===`tools`?e.tools:[]),parts:n}}function X1(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 Z1(e){let t=[],n=null;return e.forEach((e,r)=>{if(W1(e))return;if(e.queued){t.push({message:e,messageIndex:r});return}let i=U1(e);if(i&&n){n.message=X1(n.message,i,e.at);return}let a=n?q1(e):null,o=a?J1(e,a):e;a&&n&&(n.message=X1(n.message,a,e.at));let s={message:o,messageIndex:r};t.push(s),G1(o)?(s.runStartedAt=o.at,n=s):n=null}),t}function Q1(e){return e.status===`completed`||e.status===`failed`||e.status===`cancelled`}function $1(e){let t=e0(e);if(!t)return;let n=t.tools.filter(e=>!z1(e));return n.some(e=>!Q1(e))?n.at(-1):void 0}function e0(e){let t=t0(e);if(!t)return;let n=G1(t.message);return n?{tools:n,at:t.message.at}:void 0}function t0(e){for(let t=e.length-1;t>=0;t--)if(!e[t].message.queued)return e[t]}function n0(e){let t=t0(e);if(t)return G1(t.message)?t.runStartedAt??t.message.at:t.message.at}function r0(e){return e.runStartedAt??e.message.at}function i0(e){let t=G1(e);return t?Y1(e,new Set(t)):e}function a0(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){G1(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?i0(r.message):r.message;W1(e)||n.push(e===r.message?r:{...r,message:e})}return n}function o0(e){return e.detail?.trim()||void 0}var s0={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 c0(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=s0[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function l0(e,t,n){let r=t?.trim().replace(/[\\/]+$/,``);if(!r||!Zf(r))return e;let i=ap(r);return i?sp(e.replace(i,``),n?.trim().replace(/[\\/]+$/,``)||/^([A-Za-z]:[\\/]Users[\\/][^\\/]+|\/(?:Users|home)\/[^/]+)(?=[\\/]|$)/.exec(r)?.[1]):e}function u0(e,t,n=Gf().home){return l0(d0(e),t,n)}function d0(e){let t=L1(e.name),n=o0(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?c0(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 ${I1(e.name)||`a tool`}`}var f0=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function p0(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[])){let n=e.file.trim();n&&!m0.test(n)&&t.add(n)}if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&!m0.test(e)&&f0.has(L1(n.name))&&t.add(e)}return t.size}var m0=/\$\{/;function h0(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function g0(e){return e>0?`${h0(e)}. Thinking…`:`Thinking…`}function _0(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function v0(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function y0(e,t){let n=_0(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function b0({directive:e,icon:t,title:n,meta:r,children:i}){return(0,L.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${NJ} border border-border bg-panel-2/75 p-4`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center text-muted`,"aria-hidden":!0,children:t}),(0,L.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,L.jsx)(`div`,{className:`min-w-0 truncate text-[11px] font-normal leading-4 text-muted`,children:r})]}),i]})}function x0({children:e,mono:t=!1}){return(0,L.jsx)(`div`,{className:`ml-6 mt-1 break-words text-[11px] leading-4 text-muted${t?` font-mono-keep`:``}`,children:e})}function S0({directive:e}){let t=e.attrs,n=_0(t,`display_name`)??_0(t,`skill_name`)??`Artifact template`,r=_0(t,`artifact_kind`),i=_0(t,`skill_name`),a=_0(t,`skill_directory`),[o,s]=(0,I.useState)(!!a);return(0,L.jsxs)(b0,{directive:e,icon:(0,L.jsx)(Qm,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,L.jsx)(x0,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,L.jsx)(`img`,{src:$S(`${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 C0({directive:e}){let t=e.attrs,n=_0(t,`file`),r=v0(t,`start`),i=v0(t,`end`)??r,a=v0(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,L.jsxs)(b0,{directive:e,icon:(0,L.jsx)(rh,{size:15}),title:_0(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[_0(t,`body`)&&(0,L.jsx)(x0,{children:_0(t,`body`)}),n?(0,L.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,L.jsx)(x0,{mono:!0,children:o})]})}var w0={"git-stage":[sh,`Changes staged`],"git-commit":[Vm,`Commit created`],"git-create-branch":[Bm,`Branch created`],"git-push":[Eh,`Branch pushed`],"git-create-pr":[Gm,`Pull request created`]};function T0({directive:e}){let[t,n]=w0[e.name],r=_0(e.attrs,`branch`),i=y0(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,L.jsx)(b0,{directive:e,icon:(0,L.jsx)(t,{size:15}),title:i?(0,L.jsx)(`a`,{className:`text-accent underline underline-offset-2`,href:i,target:`_blank`,rel:`noopener noreferrer`,children:a}):a,meta:r&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:r})})}function E0({directive:e}){let t=_0(e.attrs,`threadId`),n=_0(e.attrs,`pendingWorktreeId`);return(0,L.jsx)(b0,{directive:e,icon:(0,L.jsx)(oh,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function D0({directive:e}){let t=_0(e.attrs,`reason`);return(0,L.jsx)(b0,{directive:e,icon:(0,L.jsx)(mm,{size:15}),title:`Archive suggested`,meta:t})}function O0(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 k0({directive:e}){let t=e.attrs,n=_0(t,`mode`),r=_0(t,`name`)??`Automation`,i=O0(t.rrule),a=[r,n,_0(t,`status`),i].filter(Boolean).join(` · `);return(0,L.jsx)(b0,{directive:e,icon:(0,L.jsx)(ym,{size:15}),title:`Automation suggested`,meta:a,children:_0(t,`prompt`)&&(0,L.jsx)(x0,{children:_0(t,`prompt`)})})}function A0({directive:e}){return e.name===`artifact-template`?(0,L.jsx)(S0,{directive:e}):e.name===`code-comment`?(0,L.jsx)(C0,{directive:e}):e.name.startsWith(`git-`)?(0,L.jsx)(T0,{directive:e}):e.name===`created-thread`?(0,L.jsx)(E0,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,L.jsx)(D0,{directive:e}):(0,L.jsx)(k0,{directive:e})}var j0;function M0(){return j0??=cb(async()=>{let{default:e}=await import(`./mermaid.core-CvmBari2.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)),j0}function N0({source:e}){let t=(0,I.useId)(),[n,r]=(0,I.useState)({}),i=zq(n.html??``);return(0,I.useEffect)(()=>{let n=!0;if(r({}),e.length>5e4)return r({error:`Diagram source exceeds the 50 KB rendering limit`}),()=>{n=!1};let i=`frizz-mermaid-${t.replace(/[^a-zA-Z0-9]/g,``)}`;return M0().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,L.jsxs)(`section`,{"data-mermaid-state":`error`,className:`${NJ} border border-border bg-panel-2/75 p-4`,children:[(0,L.jsx)(`div`,{className:`text-[12px] font-medium text-fg`,children:`Diagram unavailable`}),(0,L.jsx)(`div`,{className:`mt-1 text-[11px] text-muted`,children:n.error}),(0,L.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,L.jsx)(`div`,{"data-mermaid-state":`ready`,className:`overflow-x-auto ${NJ} border border-border bg-panel-2/75 p-4 [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full`,dangerouslySetInnerHTML:i}):(0,L.jsx)(`div`,{"data-mermaid-state":`loading`,role:`status`,"aria-label":`Rendering diagram`,className:`h-24 animate-pulse ${NJ} bg-panel-2`})}var P0=(0,I.createContext)(null),F0=(0,I.createContext)(null);function I0(){let e=(0,I.useContext)(P0),t=(0,I.useContext)(F0);return e??t}var L0=(0,I.createContext)(null);function R0(e){return e.status===`pending`&&e.backgroundState===`background`}function z0(e){let t=[];for(let n of e)for(let e of n.tools)R0(e)&&n.at&&t.push({label:e.desc??e.detail??e.command??`Background command`,startedAt:n.at,state:`running`,...e.shellId?{launchId:e.shellId}:{},...e.command?{command:e.command}:{}});return t}function B0(e){return e.map(e=>{if(!e.tools.some(R0))return e;let t=e.tools.filter(e=>!R0(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!R0(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function V0({slug:e,onStatusApplied:t,onClose:n,virtualized:r=!1,showReturnToQueue:i=!1}){let a=Yp(ZC(),e);return(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 flex flex-col`,children:[(0,L.jsx)($0,{slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:i}),(0,L.jsx)(H0,{slug:e,virtualized:r}),a&&(0,L.jsx)(NZ,{thread:a,sticky:!0,safeArea:!0,onArchived:t})]})}function H0({slug:e,virtualized:t}){let n=ZC(),r=Yp(n,e),i=r?.runtime===`running`||r?.runtime===`spawning`,a=E1(e),o=dw(e,{poll:i}),s=Ve(),c=(0,I.useRef)(!1),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),p=(0,I.useMemo)(()=>o.data?.messages??[],[o.data]),m=(0,I.useMemo)(()=>z0(p),[p]),h=(0,I.useMemo)(()=>B0(p),[p]),g=(0,I.useMemo)(()=>p2(h),[h]),_=(0,I.useMemo)(()=>i?p1(h):void 0,[i,h]),v=_&&_.index>=0?_.index:g,y=(0,I.useMemo)(()=>Z1(h),[h]),b=i?e0(y):void 0,x=i?$1(y):void 0,S=x?u0(x,n?.projectDir):void 0,C=i?n0(y):void 0,w=l1(r),T=(0,I.useMemo)(()=>{let e=i?a0(y):y;return N1(e,m2(e,v,w))},[y,i,v,w]),E=i,D=(0,I.useMemo)(()=>uY(p),[p]),O=(0,I.useMemo)(()=>aY(p,r?.answersInFlight),[p,r?.answersInFlight]),k=(0,I.useMemo)(()=>CX(p),[p]),A={thread:r,showWorking:E,registeredDone:jJ(r,g>=0?h[g]?.text:void 0),restedCard:KJ(r,g>=0?h[g]?.text:void 0),errorVisible:JJ(h,r?.providerError)},{answeringForMessage:j}=oX(e,p),M=(0,I.useMemo)(()=>_Y(p,r?.questions??[]),[p,r?.questions]),N=(0,I.useMemo)(()=>TY(p,r?.questions??[],{atRest:!i}),[p,i,r?.questions]),P=Xl(r?.spawnedAt),ee=(0,I.useRef)(null),[F,te]=(0,I.useState)(null),ne=o.data?.messages.length??0,re=!o.isLoading;(0,I.useEffect)(()=>{if(t)return;let e=ee.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[ne,i,t]);let ie=(0,I.useCallback)(async()=>{if(c.current)return;let t=s.getQueryData([`transcript`,e]),n=t?.beforeCursor,r=t?.transcriptKey;if(!(!t?.hasEarlier||!n||!r)){c.current=!0,u(!0),f(null);try{let t=await Y.threadTranscriptEarlier({slug:e,cursor:n}),i=s.getQueryData([`transcript`,e]);if(!i?.transcriptKey||i.transcriptKey!==r||t.transcriptKey!==r){await o.refetch(),Z(`Transcript changed while loading history; refreshed the current session`);return}s.setQueryData([`transcript`,e],Ix(i,t))}catch(e){let t=e instanceof Error?e.message:`Could not load earlier transcript history`;f(t)}finally{c.current=!1,u(!1)}}},[o,s,e]);return(0,L.jsx)(P0.Provider,{value:e,children:(0,L.jsx)(v$,{thread:r,children:(0,L.jsxs)(`div`,{"data-drawer-scroll-ready":o.isPending?`false`:`true`,className:`flex-1 min-h-0 flex flex-col overflow-hidden outline-none`,children:[(0,L.jsxs)(`div`,{className:`relative min-h-0 flex-1 flex flex-col`,children:[(0,L.jsx)(`div`,{ref:ee,"data-drawer-transcript-scroll":!0,"data-virtualized-transcript-scroll":t||void 0,tabIndex:t?0:void 0,role:t?`region`:void 0,"aria-label":t?`Thread conversation`:void 0,"aria-busy":t&&l?!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:t&&ne>0?(0,L.jsx)(Z0,{slug:e,transcriptRef:ee,transcriptKey:o.data?.transcriptKey,messages:h,paired:D,inFlightAnswers:O,answeringForMessage:j,placement:N,fencesLive:P,thread:r,running:i,copyTerminalCommand:a,transportFallback:o.transportFallback,isFetching:o.isFetching,refresh:()=>void o.refetch(),retryLiveUpdates:o.retryLiveUpdates,hasEarlier:o.data?.hasEarlier===!0,beforeCursor:o.data?.beforeCursor,loadingEarlier:l,earlierError:d,loadEarlier:()=>void ie(),jumpOverlay:F}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qQ,{thread:r,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(b$,{thread:r,inFlight:O,className:`px-6 pt-5`}),o.transportFallback&&(0,L.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:o.transportFallback.kind===`payload-too-large`?`Live payload ${o.transportFallback.actualBytes} bytes; socket limit ${o.transportFallback.maxBytes} bytes`:`Transcript read budget reached (${o.transportFallback.scope}); retry after about ${o.transportFallback.retryAfterMs}ms`,children:[(0,L.jsx)(Th,{size:13,className:`shrink-0 text-muted`}),(0,L.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,o.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,L.jsx)(`button`,{type:`button`,disabled:o.isFetching,onClick:()=>void o.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:o.isFetching?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:o.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,L.jsx)(`div`,{"data-transcript-column":!0,className:`flex min-h-full flex-col px-6 py-5`,children:ne===0?(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-sm text-muted`,children:o.isPending?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(v4,{}),` Loading…`]}):i?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(v4,{}),` Session starting…`]}):kX(r)?(0,L.jsxs)(`div`,{className:`text-center`,children:[(0,L.jsx)(`p`,{className:`mb-3`,children:`No session is attached to this thread yet.`}),(0,L.jsx)(`button`,{className:`btn-ghost border border-border text-[12px]`,onClick:()=>Y.adoptThread({slug:e}).catch(()=>{}),children:`Start a session on this thread`})]}):`No conversation yet.`}):(0,L.jsxs)(L.Fragment,{children:[v2(T.map(e=>e.message),(e,t)=>{let n=T[t].messageIndex;return(0,L.jsx)($2,{m:e,answering:P?j(e):void 0,showSendButton:!0,paired:D[n],staleAwaiting:v>=0&&n<v,restingCardShown:n===g&&w,restedAt:_&&n===_.index?_.at??``:void 0,shadowedBy:M.get(n),placed:N.placed.get(n),thread:r},t)},e=>!!e.queued),re&&J0(A)!==null&&(0,L.jsx)(EY,{h:Y0(A,T.map(e=>e.message))}),re&&(0,L.jsx)(X0,{state:A,slug:e,retryText:k>=0?p[k]?.text:void 0,onTerminal:a,liveRuntimeStart:C,liveActivityLabel:S,liveToolRun:b}),r?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(u4,{policy:r.permPolicy,denies:r.permDenies})}):null,p.some(e=>e.queued)&&(0,L.jsx)(EY,{}),(0,L.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:p.map((e,t)=>e.queued?(0,L.jsx)($2,{m:e,paired:D[t]},`q${t}`):null)})]})})]})}),(0,L.jsx)(`div`,{ref:te,"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,L.jsx)(`div`,{"data-thread-chat-footer":!0,className:`z-10 shrink-0 border-t border-border/60 bg-panel`,children:(0,L.jsx)(ZX,{slug:e,onTerminal:a,ops:(0,L.jsx)(d4,{slug:e,transcriptShells:m,className:`px-1 pt-1.5`})})})]})})})}var U0=700,W0=250,G0=(()=>{try{return localStorage.getItem(`frizz.debugScroll`)===`1`}catch{return!1}})();function K0(e){return e?.pendingInteraction===!0}function q0(e){return K0(e)?void 0:e?.pendingAsk}function J0({thread:e,showWorking:t,registeredDone:n,restedCard:r,errorVisible:i}){return e?.providerError?.retrying?`provider-error`:e?.providerFault&&!e.foreign?`provider-fault`:e?.limitPause&&!e.foreign?`limit-pause`:q0(e)?`pending-ask`:e?.runtime===`perm-prompt`&&!K0(e)?`perm-prompt`:t?`working`:e?.providerError?i?null:`provider-error`:m1(e)?`snooze`:l1(e)?`resting`:n?`registered-done`:r?`rested`:null}function Y0(e,t){return J0(e)===`working`?_2(t):14}function X0({state:e,slug:t,retryText:n,onTerminal:r,liveRuntimeStart:i,liveActivityLabel:a,liveToolRun:o}){let s=e.thread;switch(J0(e)){case`provider-fault`:return(0,L.jsx)(s4,{slug:t,sessionId:s.sessionId,fault:s.providerFault,retryText:n});case`provider-error`:return(0,L.jsx)(YJ,{error:s.providerError});case`limit-pause`:return(0,L.jsx)(c4,{slug:t,sessionId:s.sessionId,pause:s.limitPause});case`pending-ask`:return(0,L.jsx)(f4,{ask:q0(s),onTerminal:r});case`perm-prompt`:return(0,L.jsx)(l4,{onTerminal:r});case`working`:return(0,L.jsx)(y4,{since:s?.lastUserAt,startedAt:i,activityLabel:a,run:o});case`snooze`:return(0,L.jsx)(g1,{thread:s});case`resting`:return(0,L.jsx)(f1,{thread:s});case`registered-done`:return(0,L.jsx)(o4,{fenceKind:`done`,body:s.lastFence.body,hints:[]});case`rested`:return(0,L.jsx)(qJ,{thread:s});default:return null}}function Z0({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,inFlightAnswers:a,answeringForMessage:o,placement:s,fencesLive:c,thread:l,running:u,copyTerminalCommand:d,transportFallback:f,isFetching:p,refresh:m,retryLiveUpdates:h,hasEarlier:g,beforeCursor:_,loadingEarlier:v,earlierError:y,loadEarlier:b,jumpOverlay:x}){let S=QC(),C=(0,I.useMemo)(()=>Z1(r),[r]),w=u?e0(C):void 0,T=u?$1(C):void 0,E=T?u0(T,S):void 0,D=u?n0(C):void 0,O=(0,I.useMemo)(()=>p2(r),[r]),k=(0,I.useMemo)(()=>u?p1(r):void 0,[u,r]),A=k&&k.index>=0?k.index:O,j=l1(l),M=(0,I.useMemo)(()=>{let e=u?a0(C):C;return N1(e,m2(e,A,j))},[C,u,A,j]),N=u,P=(0,I.useMemo)(()=>j1(M.map(e=>e.message),m2(M,A,j),d2).map(e=>{let t=M[e.messageIndex];return{...e,messageIndex:t.messageIndex,stampAt:r0(t)}}),[M,A,j]),ee=(0,I.useMemo)(()=>CX(r),[r]),F=jJ(l,O>=0?r[O]?.text:void 0),te=KJ(l,O>=0?r[O]?.text:void 0),ne=JJ(r,l?.providerError),re={thread:l,showWorking:N,registeredDone:F,restedCard:te,errorVisible:ne},ie=J0(re)!==null,ae=(0,I.useMemo)(()=>Y0({thread:l,showWorking:N,registeredDone:F,restedCard:te,errorVisible:ne},M.map(e=>e.message)),[M,N,l,F,te,ne]),oe=(0,I.useMemo)(()=>{let e=[],t=new Map,n=r.length-1,i=(l?.questions??[]).filter(e=>!s.placedIds.has(e.id));for(let[a,o]of mY(r,i,{atRest:!u})){if(a>=n){e.push(...o);continue}let r=-1;for(let e=0;e<P.length&&!(P[e].messageIndex>a);e++)r=e;let i=t.get(r);i?i.push(...o):t.set(r,[...o])}return{byRow:t,tail:e}},[P,r,s.placedIds,u,l?.questions]),se=(0,I.useMemo)(()=>_Y(r,l?.questions??[]),[r,l?.questions]),ce=(0,I.useMemo)(()=>{let e=[{key:`head-anchor`,kind:`head-anchor`}];f&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(g||v||y)&&e.push({key:`earlier-history:${_??`complete`}`,kind:`earlier-history`});let t=oe.byRow.get(-1);t&&e.push({key:`questions:head`,kind:`questions`,questions:t}),P.forEach((t,n)=>{e.push({...t,kind:`message`});let r=oe.byRow.get(n);r&&e.push({key:`questions:${t.key}`,kind:`questions`,questions:r})}),e.push({key:`interactions`,kind:`interactions`}),ie&&e.push({key:`runtime-status`,kind:`runtime-status`});let n=ie||P.length>0?14:0;return r.forEach((t,r)=>{if(!t.queued)return;let i=`queued:${t.deliveryId??t.sourceId??r}`;e.push({key:i,kind:`queued`,message:t,messageIndex:r,gap:n}),n=14}),e},[_,y,g,ie,v,P,r,oe,f]),le=$w({count:ce.length,getScrollElement:()=>t.current,getItemKey:e=>ce[e]?.key??e,estimateSize:e=>{let t=ce[e];return t?t.kind===`head-anchor`||t.kind===`interactions`?1:t.kind===`earlier-history`?42:t.kind===`transport-fallback`?76:t.kind===`runtime-status`?54:t.kind===`questions`?220: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})}}),[ue,de]=(0,I.useState)(!0),fe=(0,I.useRef)(!0),pe=(0,I.useRef)(-1),me=(0,I.useRef)(0),he=(0,I.useRef)(null),ge=(0,I.useRef)(!1),_e=(0,I.useRef)(!1),ve=(0,I.useRef)(!0),ye=(0,I.useRef)(null),be=(0,I.useRef)(void 0),xe=(0,I.useRef)(null),Se=(0,I.useRef)(void 0),Ce=(0,I.useRef)(0),we=(0,I.useCallback)(()=>{let e=t.current;if(e){let t=e.getBoundingClientRect().top,n=Array.from(e.querySelectorAll(`[data-transcript-source-id]`)).find(e=>e.getBoundingClientRect().bottom>t+1),r=n?.dataset.transcriptRowKey;n&&r&&(ye.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}b()},[b,t]),Te=(0,I.useCallback)((e,n)=>{let r=t.current;if(!r)return;let i=Array.from(r.querySelectorAll(`[data-transcript-source-id]`)).find(t=>t.dataset.transcriptSourceId===e);i&&(r.scrollTop+=i.getBoundingClientRect().top-n)},[t]);(0,I.useLayoutEffect)(()=>{if(!n||ce.length===0||be.current===n)return;be.current=n,ge.current=!1,_e.current=!1,ve.current=!0;let t=xD(e)?.candidates.map(e=>({candidate:e,index:ce.findIndex(t=>t.kind===`message`&&t.message.sourceId===e.sourceId)})).find(e=>e.index>=0),r=requestAnimationFrame(()=>{if(!t){le.scrollToEnd({behavior:`instant`}),de(!0),ge.current=!0;return}le.scrollToIndex(t.index,{align:`start`,behavior:`instant`}),fe.current=!1,de(!1),ge.current=!0;let e=performance.now()+W0;Ce.current=e;let n=()=>{performance.now()>=e||performance.now()<me.current||(Te(t.candidate.sourceId,t.candidate.screenTop),r=requestAnimationFrame(n))};n()});return()=>cancelAnimationFrame(r)},[Te,ce.length,e,n,le]),(0,I.useLayoutEffect)(()=>{let e=ye.current,n=t.current;if(!e||!n||v)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(),ye.current===e&&(ye.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[v,P.length,t]);let Ee=(0,I.useCallback)(()=>{let e=t.current;if(!e)return null;let n=e.getBoundingClientRect().top,r=Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.getBoundingClientRect().bottom>n+1),i=r?.dataset.transcriptRowKey;return!r||!i?null:{rowKey:i,viewportTop:r.getBoundingClientRect().top-n}},[t]),De=(0,I.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);if(!r)return;let i=r.getBoundingClientRect().top-n.getBoundingClientRect().top;n.scrollTop+=i-e.viewportTop},[t]),Oe=P[0]?.key;(0,I.useLayoutEffect)(()=>{let e=Se.current;if(Se.current=Oe,e===void 0||e===Oe||!ge.current||fe.current||ye.current)return;let t=xe.current;if(!t)return;De(t);let n=()=>{if(performance.now()<me.current)return;let e=xe.current;e&&De(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[De,Oe]);let ke=(0,I.useCallback)(()=>{let e=t.current;if(!e||ye.current||performance.now()<Ce.current)return;let n=O1({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:pe.current,following:fe.current,readerMoved:performance.now()<me.current});if(fe.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),pe.current=e.scrollHeight,de(e=>e===n.following?e:n.following),G0&&!n.following&&performance.now()>=me.current){let t=xe.current,n=t&&Array.from(e.querySelectorAll(`[data-transcript-row-key]`)).find(e=>e.dataset.transcriptRowKey===t.rowKey);if(t&&n){let r=Math.round(n.getBoundingClientRect().top-e.getBoundingClientRect().top-t.viewportTop);Math.abs(r)>2&&console.warn(`[frizz] transcript moved ${r}px under a still reader — row=${t.rowKey}`)}}xe.current=Ee()??xe.current},[Ee,t]);(0,I.useLayoutEffect)(ke),(0,I.useEffect)(()=>{let e=he.current;if(!e)return;let t=new ResizeObserver(ke);return t.observe(e),()=>t.disconnect()},[ke]),(0,I.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{ke();let t=k1({armed:ve.current,scrollTop:e.scrollTop,readerMoved:ge.current&&_e.current,hasEarlier:g,loading:v});ve.current=t.armed,t.shouldLoad&&we()},r=()=>{_e.current=!0,me.current=performance.now()+U0,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(ve.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(ve.current=!0),r()},o=()=>{e.scrollTop<=480&&(ve.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)}},[g,v,we,ke,t]);let Ae=le.getVirtualItems(),je=le.getTotalSize();return(0,L.jsxs)(`div`,{ref:he,"data-virtualized-transcript":!0,"data-virtual-row-count":Ae.length,className:`relative w-full`,style:{height:je},children:[Ae.map(t=>{let n=ce[t.index];return n?(0,L.jsx)(`div`,{ref:le.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 hover:z-[1]`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`head-anchor`?null:n.kind===`interactions`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qQ,{thread:l,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(b$,{thread:l,questions:oe.tail,inFlight:a,showSend:s.placedIds.size>0,className:`px-6 pt-5`})]}):n.kind===`questions`?(0,L.jsx)(b$,{thread:l,questions:n.questions,className:`px-6 pt-5`}):n.kind===`transport-fallback`?f?(0,L.jsx)(`div`,{className:`px-6 pt-3`,children:(0,L.jsxs)(`div`,{"data-transcript-sync-fallback":!0,className:`flex flex-wrap items-center gap-2.5 ${NJ} border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:f.kind===`payload-too-large`?`Live payload ${f.actualBytes} bytes; socket limit ${f.maxBytes} bytes`:`Transcript read budget reached (${f.scope}); retry after about ${f.retryAfterMs}ms`,children:[(0,L.jsx)(Th,{size:13,className:`shrink-0 text-muted`}),(0,L.jsxs)(`div`,{className:`min-w-[180px] flex-1 leading-snug text-fg/85`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:`Live transcript updates paused.`}),` `,f.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,L.jsx)(`button`,{type:`button`,disabled:p,onClick:m,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:p?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:h,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,L.jsx)(`div`,{className:`flex min-h-10 items-center justify-center px-6 text-[11px] text-muted`,role:`status`,children:y?(0,L.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,L.jsx)(`span`,{children:y}),(0,L.jsx)(`button`,{type:`button`,onClick:we,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):v?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(eh,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,L.jsx)(`button`,{type:`button`,onClick:we,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,L.jsx)(iQ,{at:n.stampAt,host:EX(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)($2,{m:n.message,answering:c?o(n.message):void 0,showSendButton:!0,paired:i[n.messageIndex],staleAwaiting:A>=0&&n.messageIndex<A,restingCardShown:n.messageIndex===O&&j,restedAt:k&&n.messageIndex===k.index?k.at??``:void 0,shadowedBy:se.get(n.messageIndex),placed:s.placed.get(n.messageIndex),thread:l})}):n.kind===`runtime-status`?(0,L.jsxs)(`div`,{className:`px-6`,style:{paddingTop:ae},children:[(0,L.jsx)(X0,{state:re,slug:e,retryText:ee>=0?r[ee]?.text:void 0,onTerminal:d,liveRuntimeStart:D,liveActivityLabel:E,liveToolRun:w}),l?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(u4,{policy:l.permPolicy,denies:l.permDenies})}):null]}):(0,L.jsx)(iQ,{at:n.message.at,host:EX(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)($2,{m:n.message,paired:i[n.messageIndex]})})},n.key):null}),(0,L.jsx)(Q0,{overlay:x,hidden:ue,onJump:()=>le.scrollToEnd({behavior:`smooth`})})]})}function Q0({overlay:e,hidden:t,onJump:n}){return!e||t?null:(0,ot.createPortal)((0,L.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,L.jsx)(hm,{size:12}),`Jump to latest`]}),e)}function $0({slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:r=!1}){let i=Yp(ZC(),e),a=it({mutationFn:()=>Y.markComplete({slug:e})}),o=VK(nt({queryKey:[`threadBody`,e],queryFn:()=>Y.threadBody({slug:e})}).data?.markdown??``).trim().length>0;if(!i)return null;let s=i.kind===`session`&&i.foreign!==!0;return(0,L.jsxs)(`header`,{"data-thread-header":!0,className:AX,children:[(0,L.jsx)(`div`,{className:jX,children:(0,L.jsxs)(`div`,{className:`min-w-0 leading-tight`,children:[(0,L.jsx)(HZ,{thread:i}),(0,L.jsx)(_1,{at:RT(i),fallbackAt:i.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})}),(0,L.jsxs)(`div`,{className:MX,children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[s&&(0,L.jsx)(D1,{slug:e}),(0,L.jsx)(rZ,{thread:i,collapse:r,onDoc:o?()=>xp(`doc`,i.id):void 0,onDone:()=>a.mutate(void 0,{onSuccess:t}),doneBusy:a.isPending,onStatusApplied:t}),n&&(0,L.jsx)(lM,{slug:e})]}),n&&(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:n,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,L.jsx)(Dh,{size:15})})]})]})}function e2(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||qZ(e))return null;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`?n.tools:null}return null}return(e.tools?.length??0)>0&&!e.text.trim()?e.tools:null}function t2(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||qZ(e))return null;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`?t.tools:null;return null}return(e.tools?.length??0)>0?e.tools:null}function n2(e){return e2(e)!==null}function r2(e){return t2(e)!==null}function i2(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function a2(e){return i2(e)||n2(e)}function o2(e){return i2(e)||r2(e)}function s2(e){if(i2(e))return!0;let t=e2(e);return t!==null&&!R1(t[t.length-1])}function c2(e){if(i2(e))return!0;let t=t2(e);return t!==null&&!R1(t[0])}function l2(e){let t=e2(e);return t!==null&&V1(t[t.length-1])}function u2(e){let t=t2(e);return t!==null&&V1(t[0])}function d2(e,t){let n=l2(e)||u2(t),r=!n&&a2(e)&&o2(t)&&!(s2(e)&&c2(t));return(n?22:r?6:14)+(e.role===`user`&&t.role!==`user`?3:0)}function f2(e,t){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.every(n=>n.kind===`tools`?n.tools.length===0:h2(e,n.text,t)):(e.tools?.length??0)===0&&h2(e,e.text,t)}function p2(e){for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`&&e[t].kind!==`event`)return t;return-1}function m2(e,t,n=!1){let r=new WeakSet;if(t>=0)for(let n of e)n.messageIndex<t&&r.add(n.message);if(t>=0&&n)for(let n of e)n.messageIndex===t&&r.add(n.message);return e=>f2(e,r.has(e))}function h2(e,t,n){return!e.fenceRefused&&!n?!t.trim():AJ(t).every(e=>e.kind===`fence`&&e.fenceKind===`awaiting`)}function g2(e,t){return e.kind===`event`||e.kind===`reasoning`||e.role===`user`?!1:e.parts&&e.parts.length>0?e.parts.some(n=>n.kind===`text`&&!h2(e,n.text,t)):typeof e.text==`string`&&!h2(e,e.text,t)}function _2(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||f2(n)))return l2(n)?22:a2(n)&&!s2(n)?6:14+(n.role===`user`?3:0)}return 0}function v2(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{n?.(e,a)||f2(e)||(i!==null&&r.push((0,L.jsx)(EY,{h:d2(i,e)},`s${a}`)),r.push(t(e,a)),i=e)}),r}function y2(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 b2(e,t=14){let n=e.filter(e=>e!=null&&e!==!1),r=[];return n.forEach((e,n)=>{n>0&&r.push((0,L.jsx)(EY,{h:typeof t==`number`?t:t(n)},`vs${n}`)),r.push(e)}),r}var x2={head:!1,tail:!1};function S2(e,t){return n=>e[n-1]?.tail||e[n]?.head?22:t}function C2(e){return{head:V1(e[0]),tail:V1(e[e.length-1])}}function w2(e){let t=[];for(let n of e){let e=t[t.length-1];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.outputImage?t.push({name:n.name,detail:n.detail,outputImage:n.outputImage,output:n.output??n.read,status:n.status,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.todos?t.push({name:n.name,detail:n.detail,todos:n.todos,input:n.input,status:n.status,durationMs:n.durationMs,count:1}):B1(n)?t.push({name:n.name,detail:n.detail,ask:n.ask,askAnswers:n.askAnswers,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 T2(e){return e.split(`__`).pop()||e}function E2(e){let t=X.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function D2({tools:e,at:t}){let[n,r]=(0,I.useState)(!1),i=(0,I.useId)(),a=e.reduce((e,t)=>e+t.count,0),o=h0(a,p0(e));return(0,L.jsxs)(`div`,{"data-tool-activity":!0,"data-tool-activity-state":`settled`,className:`flex min-w-0 flex-col`,children:[(0,L.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-baseline gap-1.5 rounded py-0.5 text-left outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 ${aQ}`,children:[(0,L.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,L.jsx)(Cm,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:sQ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:b2(e.map((e,n)=>(0,L.jsx)(k2,{t:e,startedAt:t},n)),6)}),!n&&(0,L.jsx)(`div`,{id:i,hidden:!0})]})}function O2({tools:e,at:t}){let n=[];for(let t of e){let e=R1(t),r=n[n.length-1];r?.exceptional===e?r.tools.push(t):n.push({exceptional:e,tools:[t]})}return(0,L.jsx)(`div`,{className:`flex flex-col`,children:b2(n.map((e,n)=>e.exceptional?(0,L.jsx)(`div`,{className:`flex flex-col`,children:b2(e.tools.map((e,n)=>(0,L.jsx)(k2,{t:e,startedAt:t},n)),S2(e.tools.map(e=>C2([e])),6))},`exceptions-${n}`):(0,L.jsx)(D2,{tools:e.tools,at:t},`activity-${n}`)),S2(n.map(e=>C2(e.tools)),6))})}function k2({t:e,startedAt:t}){let n=(0,I.useContext)(P0),r=ZC(),i=LE(e,(n?Yp(r,n):void 0)?.bgShells??[]);return e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,L.jsx)(Iq,{edits:e.edits,meta:(0,L.jsx)(P2,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,L.jsx)(H2,{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.outputImage?(0,L.jsx)(z2,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.read?(0,L.jsx)(W2,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,L.jsx)(K2,{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,L.jsx)(J2,{to:e.sendTo,summary:e.sendSummary,body:e.sendBody??``,type:e.sendType,dispatchId:e.sendDispatchId,targetLabel:e.sendTargetLabel,status:e.status,durationMs:e.durationMs,at:t}):e.sentImages||e.sentFiles?(0,L.jsx)(B2,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,L.jsx)(oJ,{todos:e.todos,note:e.input,meta:(0,L.jsx)(P2,{status:e.status,durationMs:e.durationMs})}):B1(e)?(0,L.jsx)(A2,{ask:e.ask??[],askAnswers:e.askAnswers}):e.input||e.output?(0,L.jsx)(H2,{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,L.jsx)(R2,{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})}function A2({ask:e,askAnswers:t}){return(0,L.jsx)(`div`,{"data-settled-ask":!0,className:`flex flex-col gap-1.5`,children:e.map((e,n)=>{let r=UQ(e,t?.[n]);return(0,L.jsx)(uX,{question:r.question,settled:{chosenIdxs:r.chosenIdxs,text:r.text}},n)})})}function j2({tone:e,indicator:t,label:n,duration:r,title:i}){return(0,L.jsxs)(`span`,{className:`petite-caps frizz-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,L.jsx)(`span`,{children:[n,r].filter(Boolean).join(` · `)})]})}function M2(e,t,n){let[r,i]=(0,I.useState)(()=>Date.now()),a=PE(e,t),o=FE(e,t,n,r);return(0,I.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(NE-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function N2({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=M2(e,t,r),a=n===`running`?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):n===`stale`?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot-quiet frizz-live-dot-quiet--shell`,"data-running-indicator":`tool-quiet`,title:tD}):ME(e,t)||i?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`tool-disclosure`}):null;return a?(0,L.jsx)(`span`,{className:`frizz-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:a}):null}function P2({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:RE(i),c=[o,s].filter(Boolean).join(` · `);return(0,L.jsx)(j2,{tone:e===`failed`?`frizz-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function F2(e,t,n){let r=t?Date.parse(t):NaN,i=e===`pending`&&Number.isFinite(r),[a,o]=(0,I.useState)(()=>Date.now());return(0,I.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 I2(e,t,n){let r=t&&t!==X.board?.projectDir?`in ${E2(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function L2(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function R2({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=I2(t,s,c),f=d?E2(d):void 0,p=t&&L2(t)?t:void 0;return(0,L.jsx)(`div`,{className:`frizz-bash`,title:d,children:(0,L.jsxs)(`div`,{className:`frizz-bash-header`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(N2,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:T2(e)}),f&&(p?(0,L.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(Fq,{path:p,className:`text-[11.5px] text-muted`,children:f})}):(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:f}))]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(P2,{status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,durationMs:l}),n>1&&(0,L.jsxs)(`span`,{className:`tabular-nums text-[11px] text-muted/45`,children:[`×`,n]})]})]})})}function z2({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let o=t?E2(t):void 0,s=(0,L.jsxs)(`div`,{className:`frizz-bash-header`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:T2(e)}),o&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:t,children:o})]}),(0,L.jsx)(`span`,{className:`flex shrink-0 items-center gap-2`,children:(0,L.jsx)(P2,{status:i,durationMs:a})})]});return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(t4,{path:n,hideCaption:!0,altText:o?`${T2(e)}: ${o}`:T2(e),header:s}),r&&(0,L.jsx)(`pre`,{className:`frizz-bash frizz-bash-body frizz-bash-output-body mt-1.5`,children:r})]})}function B2({images:e,files:t,caption:n,status:r,durationMs:i}){let[a,o]=(0,I.useState)(!0),s=(0,I.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,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.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:`frizz-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:`Sent to you`}),c&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:c})]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(P2,{status:r,durationMs:i}),(0,L.jsx)(Cm,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${a?`rotate-90`:``}`})]})]}),(0,L.jsx)(`div`,{id:s,hidden:!a,children:a&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-2.5 pb-2.5 pt-1.5`,children:[e.map((e,t)=>(0,L.jsx)(t4,{path:e,hideCaption:!0,altText:n??`delivered image`},`i${t}`)),t.length>0&&(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map((e,t)=>(0,L.jsx)(n4,{path:e},`f${t}`))}),n&&(0,L.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var V2=16;function H2({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,I.useState)(!1),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(!1),v=(0,I.useId)(),y=F2(i,d,l),b=(0,I.useMemo)(()=>e.split(`
|
|
314
|
+
`).length,[e]),x=b>V2,S=(0,I.useMemo)(()=>n?n.split(`
|
|
315
|
+
`).length:0,[n]),C=S>V2,w=I2(t,void 0,c),T=!!(e||n);return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.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`} `:``}${T2(r)}${w?`: ${w}`:``}`,className:`frizz-bash-header w-full text-left outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-fg/60`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(N2,{status:i,backgroundState:a,liveBackgroundState:o,startedAt:d}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:T2(r)}),(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,title:w,children:w??``})]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(P2,{status:i,backgroundState:a,liveBackgroundState:o,exitCode:s,durationMs:y}),T&&(0,L.jsx)(Cm,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${f?`rotate-90`:``}`})]})]}),T&&(0,L.jsxs)(`div`,{id:v,hidden:!f,children:[f&&e&&(0,L.jsxs)(L.Fragment,{children:[u&&(0,L.jsx)(`div`,{className:`frizz-bash-output-label petite-caps`,children:u}),(0,L.jsx)(eJ,{text:e,language:u?`plaintext`:`bash`,className:`frizz-bash-body${u?` frizz-bash-output-body`:``}${x&&!m?` frizz-bash-clamp`:``}`}),x&&(0,L.jsx)(`button`,{type:`button`,onClick:()=>h(e=>!e),onMouseDown:e=>e.preventDefault(),className:`frizz-bash-expand petite-caps px-2.5 pb-1.5`,children:m?`Collapse`:`Show all ${b} lines`})]}),f&&n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`frizz-bash-output-label petite-caps`,children:`output`}),(0,L.jsx)(`pre`,{className:`frizz-bash-body frizz-bash-output-body${C&&!g?` frizz-bash-clamp`:``}`,children:n}),C&&(0,L.jsx)(`button`,{type:`button`,onClick:()=>_(e=>!e),onMouseDown:e=>e.preventDefault(),className:`frizz-bash-expand petite-caps px-2.5 pb-1.5`,children:g?`Collapse`:`Show all ${S} lines`})]})]})]})}var U2=16;function W2({detail:e,read:t,status:n,durationMs:r}){let[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=(0,I.useId)(),l=(0,I.useMemo)(()=>t.split(`
|
|
316
|
+
`).length,[t]),u=l>U2,d=e?E2(e):void 0,f=e&&L2(e)?e:void 0;return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.jsxs)(Pq,{className:`frizz-bash-header`,controls:c,expanded:i,label:`${i?`Collapse`:`Expand`} Read${e?`: ${e}`:``}`,onToggle:()=>a(e=>!e),meta:(0,L.jsx)(P2,{status:n,durationMs:r}),children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:`Read`}),d&&(f?(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:(0,L.jsx)(Fq,{path:f,className:`text-[11.5px] text-muted`,children:d})}):(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:d}))]}),(0,L.jsx)(`div`,{id:c,hidden:!i,children:i&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(eJ,{text:t,language:jS(e),className:`frizz-bash-body${u&&!o?` frizz-bash-clamp`:``}`}),u&&(0,L.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),onMouseDown:e=>e.preventDefault(),className:`frizz-bash-expand petite-caps px-2.5 pb-1.5`,children:o?`Collapse`:`Show all ${l} lines`})]})})]})}var G2=16;function K2({detail:e,prompt:t,input:n,subagentType:r,agentId:i,agentStatus:a,agentElapsedMs:o,status:s,durationMs:c,output:l}){let[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),m=(0,I.useId)(),h=t??n,g=(0,I.useMemo)(()=>h?h.split(`
|
|
317
|
+
`).length:0,[h]),_=g>G2,v=I0(),y=ZC(),b=v?Yp(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=KZ(r),E=kE(),D=QZ({agentStatus:a,agentElapsedMs:o,liveState:x?.state,liveElapsedMs:x?.startedAt?Math.max(E-Date.parse(x.startedAt),0):void 0,status:s,durationMs:c}),O=S?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--agent`,"data-running-indicator":`subagent-disclosure`}):x?.state===`stale`?(0,L.jsx)(`span`,{className:ZE,title:QE}):x?.state===`rested`?(0,L.jsx)(`span`,{className:$E,title:eD}):null;function k(){!v||!i||Sp(v,i,{label:w,subagentType:r,startedAt:x?.startedAt})}return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.jsxs)(Pq,{className:`frizz-bash-header`,controls:m,expanded:u,label:`${u?`Collapse`:`Expand`} Agent dispatch: ${w}`,onToggle:()=>d(e=>!e),meta:(T||D)&&(0,L.jsxs)(L.Fragment,{children:[T&&(0,L.jsx)(`span`,{"data-subagent-profile":!0,className:`petite-caps frizz-tool-header-caps shrink-0 whitespace-nowrap text-[11.5px] leading-none text-muted/55`,title:`Sub-agent profile: ${T}`,children:T}),T&&D&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`petite-caps frizz-tool-header-caps -mx-[2px] shrink-0 text-[11.5px] leading-none text-muted/55`,children:`·`}),D&&(0,L.jsx)(j2,{tone:D.tone===`failed`?`frizz-tool-failed`:`text-muted/55`,title:D.title,label:D.label,duration:D.duration})]}),children:[O&&(0,L.jsx)(`span`,{className:`frizz-tool-mark -mr-1 flex w-[9px] shrink-0 justify-center`,children:O}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:`Agent`}),C?(0,L.jsx)(`button`,{type:`button`,"aria-label":`Open sub-agent transcript: ${w}`,title:`Open sub-agent transcript`,onClick:k,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,L.jsx)(`span`,{className:`min-w-[4rem] flex-1 truncate text-[11.5px] text-muted`,title:w,children:w})]}),(0,L.jsx)(`div`,{id:m,hidden:!u,children:u&&(0,L.jsxs)(L.Fragment,{children:[h&&(0,L.jsx)(`pre`,{className:`frizz-bash-body${_&&!f?` frizz-bash-clamp`:``}`,children:h}),_&&(0,L.jsx)(`button`,{type:`button`,onClick:()=>p(e=>!e),onMouseDown:e=>e.preventDefault(),className:`frizz-bash-expand petite-caps px-2.5 pb-1.5`,children:f?`Collapse`:`Show all ${g} lines`}),l&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`frizz-bash-output-label petite-caps`,children:`output`}),(0,L.jsx)(`pre`,{className:`frizz-bash-body frizz-bash-output-body`,children:l})]})]})})]})}function q2(e,t){return t===`shutdown_request`?`Shutdown`:t===`codex_followup`?`Followed up`:e===`main`?`Reported`:`Steered`}function J2({to:e,summary:t,body:n,type:r,dispatchId:i,targetLabel:a,status:o,durationMs:s,at:c}){return(0,I.useContext)(P0)===null?(0,L.jsx)(X2,{to:e,summary:t,body:n,type:r,status:o,durationMs:s}):(0,L.jsx)(h4,{to:e,type:r,dispatchId:i,targetLabel:a,at:c})}var Y2=16;function X2({to:e,summary:t,body:n,type:r,status:i,durationMs:a}){let[o,s]=(0,I.useState)(!t),[c,l]=(0,I.useState)(!1),u=(0,I.useId)(),d=zq(eq(n)),f=(0,I.useMemo)(()=>n.split(`
|
|
318
|
+
`).length,[n]),p=f>Y2,m=!!n.trim(),h=q2(e,r);return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.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:`frizz-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,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:h}),t&&(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11.5px] text-muted`,children:t})]}),(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(P2,{status:i,durationMs:a}),m&&(0,L.jsx)(Cm,{"aria-hidden":`true`,size:12,className:`shrink-0 text-muted transition-transform ${o?`rotate-90`:``}`})]})]}),m&&(0,L.jsx)(`div`,{id:u,hidden:!o,children:o&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`border-t border-border px-2.5 py-2${p&&!c?` frizz-bash-clamp`:``}`,children:(0,L.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:d})}),p&&(0,L.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),onMouseDown:e=>e.preventDefault(),className:`frizz-bash-expand petite-caps px-2.5 pb-1.5`,children:c?`Collapse`:`Show all ${f} lines`})]})})]})}function Z2({body:e,items:t}){let[n,r]=(0,I.useState)(null),i=(0,I.useMemo)(()=>new Map(t.map(e=>[e.token,e])),[t]),a=n===null?void 0:i.get(n);return(0,L.jsxs)(L.Fragment,{children:[(0,I.useMemo)(()=>YL(e,[...i.keys()]),[e,i]).map((e,t)=>{let a=e.token?i.get(e.token):void 0;if(!a)return(0,L.jsx)(ZY,{text:e.text},t);let o=n===a.token;return(0,L.jsx)(`button`,{type:`button`,title:a.display,"aria-expanded":o,onClick:e=>{e.stopPropagation(),r(o?null:a.token)},onKeyDown:e=>e.stopPropagation(),className:`inline-flex max-w-56 items-baseline rounded border px-1 align-baseline font-mono-keep text-[11px] leading-snug transition-colors ${o?`border-bg/40 bg-bg/15`:`border-bg/25 bg-bg/[0.08] hover:bg-bg/15`}`,children:(0,L.jsx)(`span`,{className:`truncate`,children:HL(a.token)})},t)}),a&&(0,L.jsxs)(`span`,{className:`mt-2 block cursor-auto rounded-md border border-bg/20 bg-bg/[0.06] px-2 py-1.5`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`span`,{className:`block truncate font-mono-keep text-[11px] text-bg/60`,children:[a.display,a.startLine===void 0?``:` · ${a.startLine===a.endLine?`line ${a.startLine}`:`lines ${a.startLine}-${a.endLine}`}`]}),(0,L.jsx)(`span`,{className:`mt-1 block max-h-40 overflow-y-auto whitespace-pre-wrap break-words font-mono-keep text-[11.5px] leading-4 text-bg/80`,children:a.text})]})]})}function Q2({text:e,rawText:t,queued:n,deliveryUnconfirmed:r,deliveryId:i,sourceId:a}){let o=(0,I.useContext)(P0),s=hX(o),{unqueue:c,pending:l}=yX(o),u=!!(n&&i&&o&&s),d=bX(n?o:null),{deliverNow:f,pending:p}=xX(o),m=!!(n&&o&&d),{prose:h,attachments:g}=(0,I.useMemo)(()=>zL(e),[e]),_=(0,I.useMemo)(()=>nR(h),[h]);return(0,L.jsxs)(`div`,{"data-frizz-msg":a,className:`self-end flex flex-col items-end gap-0.5 max-w-[85%]`,children:[h.trim()!==``&&(0,L.jsxs)(`div`,{className:`group relative`,children:[(0,L.jsx)(`div`,{...u?{role:`button`,tabIndex:0,"data-unqueue":i,"aria-label":`Unqueue this message and put it back in the prompt box`,title:l?`Taking it back…`:void 0,onClick:n=>c({deliveryId:i,text:e,rawText:t??e,from:n.currentTarget}),onKeyDown:n=>{n.key!==`Enter`&&n.key!==` `||(n.preventDefault(),c({deliveryId:i,text:e,rawText:t??e,from:n.currentTarget}))}}:{},className:`relative rounded-xl rounded-br-sm bg-user-bubble px-3.5 py-3 text-[14px] whitespace-pre-wrap [overflow-wrap:anywhere] text-bg ${n?`opacity-50`:``} ${u?`cursor-pointer transition-opacity group-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`:``} ${l?`!opacity-30`:``}`,children:_?(0,L.jsx)(Z2,{body:_.body,items:_.items}):(0,L.jsx)(ZY,{text:h})}),m&&(0,L.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:f,disabled:p,title:`Send now — interrupts what the worker is doing so it reads the queue immediately`,"aria-label":`Send now`,className:`absolute bottom-0 right-full mr-2 flex h-7 w-7 items-center justify-center rounded-lg text-muted opacity-0 outline-none transition-[opacity,color,background-color] group-hover:opacity-100 enabled:hover:bg-panel-2/70 enabled:hover:text-fg enabled:focus-visible:opacity-100 enabled:focus-visible:bg-panel-2/70 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`,children:p?(0,L.jsx)(eh,{size:15,strokeWidth:2.2,className:`animate-spin`}):(0,L.jsx)(gm,{size:15,strokeWidth:2.2})})]}),g.length>0&&(0,L.jsxs)(`div`,{className:`mt-1 flex flex-col items-end gap-1.5`,children:[g.filter(e=>e.kind===`image`).map((e,t)=>(0,L.jsx)(t4,{path:e.path,hideCaption:!0},`i${t}-${e.path}`)),g.some(e=>e.kind===`file`)&&(0,L.jsx)(`div`,{className:`flex flex-wrap justify-end gap-1.5`,children:g.filter(e=>e.kind===`file`).map((e,t)=>(0,L.jsx)(n4,{path:e.path},`f${t}-${e.path}`))})]}),r&&(0,L.jsx)(`div`,{className:`text-[11px] text-amber-400/80`,children:`Delivery unconfirmed — no receipt from the worker`}),u&&l&&(0,L.jsx)(`div`,{"aria-hidden":!0,className:`h-0 overflow-visible text-[11px] text-muted`,children:`Taking it back…`})]})}var $2=(0,I.memo)(function({m:e,answering:t,dense:n,paired:r,textOnly:i,showSendButton:a,staleAwaiting:o,shadowedBy:s,placed:c,thread:l,restingCardShown:u,restedAt:d}){let f=GW(),[p,m]=(0,I.useState)(!1);if(e.providerError)return(0,L.jsx)(YJ,{error:e.providerError});if(e.kind===`event`)return(0,L.jsx)(g4,{text:e.text,boundary:e.boundary,sourceId:e.sourceId,at:e.at});if(e.kind===`reasoning`)return(0,L.jsx)(_4,{text:e.text,sourceId:e.sourceId});let h=qZ(e);if(h)return(0,L.jsx)(p4,{call:h,sourceId:e.sourceId,at:e.at});if(e.role===`user`){let t=SX(e).replace(/\r\n?/g,`
|
|
319
|
+
`),i=r===void 0?tY(t):r;if(i)return(0,L.jsx)(QY,{answers:i,queued:e.queued,sourceId:e.sourceId});let a=e.wake?xl(t):void 0;return a?(0,L.jsx)(WY,{bump:a,sourceId:e.sourceId,at:e.at}):e.wake?(0,L.jsx)(MY,{steer:e.wakeSteer,text:t,sourceId:e.sourceId,at:e.at,wrap:n}):e.peerFrom?(0,L.jsx)(m4,{from:e.peerFrom,unnamed:e.peerUnnamed,dispatchId:e.peerDispatchId,sourceId:e.sourceId,at:e.at}):(0,L.jsx)(Q2,{text:t,rawText:e.text,queued:e.queued,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let g=[],_=[],v=(e,t=x2)=>{g.push(e),_.push(t)},y={n:-1},b={drawn:!1},x=[],S=new Set,C=(r,i)=>{for(let[a,l]of AJ(r).entries()){if(l.kind===`fence`){if(l.fenceKind===`awaiting`&&(e.fenceRefused||o||u))continue;l.fenceKind===`awaiting`&&(b.drawn=!0),v((0,L.jsx)(o4,{fenceKind:l.fenceKind,body:l.body,hints:l.hints,wrap:n,notAfter:d},`${i}-f${a}`));continue}for(let[e,r]of uJ(l.text).entries()){if(r.kind===`prose`){for(let[t,o]of RL(r.text).entries()){let r=`${i}-${a}-p${e}-${t}`;v(o.kind===`image`?(0,L.jsx)(t4,{path:o.path},r):o.kind===`file`?(0,L.jsx)(n4,{path:o.path},r):o.kind===`visualization`?(0,L.jsx)(a4,{file:o.file},r):o.kind===`directive`?(0,L.jsx)(A0,{directive:o.directive},r):o.kind===`mermaid`?(0,L.jsx)(N0,{source:o.source},r):(0,L.jsx)(e4,{md:o.text,wrap:n},r))}continue}y.n+=1;let o=y.n,l=c&&r.registeredId?c.find(e=>e.id.toLowerCase()===r.registeredId):void 0;if(l&&!S.has(l.id)){S.add(l.id),v((0,L.jsx)(y$,{q:l},`${i}-${a}-q${e}`));continue}if(s&&CY(r,s)!==void 0||r.registeredId&&r.text.trim()===``)continue;t&&x.push({raw:r.text,kind:r.questionKind,danger:r.danger,bi:o});let u=t&&!f?{answer:t.answerFor(o),onChip:(e,n)=>t.onChip(o,e,n),onText:e=>t.onText(o,e),onSubmit:t.onSubmit}:void 0;v((0,L.jsx)(uX,{raw:r.text,questionKind:r.questionKind,danger:r.danger,interactive:u,wrap:n},`${i}-${a}-q${e}`))}}};if(e.parts&&e.parts.length>0)y2(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(i)return;let a=w2(t.tools);a.length&&v((0,L.jsx)(O2,{tools:a,dense:n,at:e.at},`t${r}`),C2(a))}else C(t.text,`x${r}`)});else{if(!i){let t=w2(e.tools);t.length>0&&v((0,L.jsx)(O2,{tools:t,dense:n,at:e.at},`tools`),C2(t))}C(e.text,`leg`)}return d!==void 0&&l&&!b.drawn&&!e.fenceRefused&&a1(l,{notAfter:d})&&v((0,L.jsx)(f1,{thread:l,notAfter:d},`rested-on`)),g.length===0?null:(a&&t&&f&&x.length>0?v((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-mobile-answer-open":!0,onClick:()=>m(!0),className:`flex h-[40px] items-center justify-center rounded-[12px] bg-accent px-4 text-[15px] font-semibold text-bg active:brightness-90`,children:x.length>1?`Answer ${x.length} questions`:`Answer`})},`answer-open`)):a&&t&&x.length>0&&v((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.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,L.jsxs)(`div`,{"data-frizz-msg":e.sourceId,className:`flex flex-col text-[13px] min-w-0`,children:[b2(g,S2(_,14)),p&&t&&x.length>0?(0,L.jsx)(mX,{blocks:x,answering:t,onClose:()=>m(!1)}):null]}))});function e4({md:e,wrap:t}){let n=eq(e),r=zq(n),i=(0,I.useRef)(null);return Qq(i,n),n?(0,L.jsx)(`div`,{ref:i,className:`md-body${t?` ${MJ}`:``}`,dangerouslySetInnerHTML:r}):null}function t4({path:e,hideCaption:t,altText:n,header:r}){let[i,a]=(0,I.useState)(!1);if(i)return(0,L.jsx)(`div`,{className:`font-mono-keep text-[12px] text-muted/70 break-all`,children:e});let o=np(e);return(0,L.jsx)(yK,{header:r,caption:t?void 0:(0,L.jsx)(`figcaption`,{className:`bg-panel-2 px-2 pb-1.5 font-mono-keep text-[11px] text-muted/60 break-all`,children:o}),children:(0,L.jsx)(`img`,{src:$S(e),alt:n??o,"data-local-path":e,"data-local-image":`true`,onError:()=>a(!0),className:`cursor-pointer ${SK}`})})}function n4({path:e}){let t=np(e);return(0,L.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${NJ} 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,L.jsx)(Rm,{size:14,strokeWidth:2,className:`shrink-0 text-muted`}),(0,L.jsx)(`span`,{className:`font-mono-keep truncate text-[12px] text-fg`,children:t})]})}var r4={"--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 i4(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(r4).map(([t,n])=>[t,e.getPropertyValue(n).trim()]));return t[`--font-size-base`]=getComputedStyle(document.body).fontSize,{type:`frizz-inline-vis-theme`,colorScheme:e.colorScheme===`light`?`light`:`dark`,vars:t}}function a4({file:e}){let t=(0,I.useContext)(P0),n=(0,I.useRef)(null),[r,i]=(0,I.useState)(360),[a,o]=(0,I.useState)(null),s=t?`${Bd()}/local-visualization?slug=${encodeURIComponent(t)}&file=${encodeURIComponent(e)}`:null;return(0,I.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,I.useEffect)(()=>{let e=e=>{if(e.source!==n.current?.contentWindow||e.data?.type!==`frizz-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,L.jsxs)(`div`,{role:`status`,className:`${NJ} border border-border bg-panel-2 px-4 py-2.5 text-[12px] text-muted`,children:[`Visualization unavailable: `,(0,L.jsx)(`span`,{className:`font-mono-keep break-all`,children:e})]}):a===null?(0,L.jsx)(`div`,{role:`status`,className:`h-20 animate-pulse ${NJ} bg-panel-2`,"aria-label":`Loading ${e}`}):(0,L.jsx)(`iframe`,{ref:n,src:s,title:e.replace(/\.html$/,``).replaceAll(`-`,` `),sandbox:`allow-scripts`,onLoad:()=>n.current?.contentWindow?.postMessage(i4(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function o4({fenceKind:e,body:t,hints:n,wrap:r,notAfter:i}){let a=eq(t),o=(0,I.useContext)(P0),s=(0,I.useContext)(L0),c=ZC(),l=o?Yp(c,o):void 0,u=l?oZ(l):void 0,d=!!(l&&u?.archive),f=(0,I.useRef)(null);d&&l&&(f.current=l);let p=d&&l?l:f.current;return e===`done`?(0,L.jsxs)(BJ,{icon:bm,label:`Done`,children:[a&&(0,L.jsx)($q,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:a}),p&&(0,L.jsx)(HJ,{children:(0,L.jsx)(IZ,{thread:p,className:`rounded-md text-[11px] bg-fg px-2.5 py-1 text-bg hover:opacity-90`,iconClassName:`icon-label-nudge`,onArchived:s?.dismiss,onDismissCancel:s?.cancel})})]}):l&&l1(l)?null:(0,L.jsx)(f1,{thread:l,fence:{body:t,hints:n},notAfter:i})}function s4({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=Ve(),l=ZR[n.backend],u=t=>{s(!0),cU(c,e,t,{onSuccess:()=>{s(!1),Z(`Retrying with the previous message…`)},onRollback:()=>s(!1),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||s(!1)};return(0,L.jsxs)(BJ,{"data-provider-fault":!0,tone:`danger`,icon:Zm,label:`${l} sign-in required`,children:[(0,L.jsx)(`span`,{className:VJ,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,L.jsxs)(HJ,{children:[r?.trim()&&(0,L.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,L.jsx)(`button`,{onClick:()=>a(!0),onMouseDown:e=>e.preventDefault(),className:GJ,children:`Sign in`})]}),i&&(0,L.jsx)(ez,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function c4({slug:e,sessionId:t,pause:n}){let r=ZR[n.backend],i=n.window===`weekly`?`weekly limit`:n.window===`session`?`session limit`:`usage limit`,[a,o]=(0,I.useState)(!1),s=Ve();return(0,L.jsxs)(BJ,{"data-limit-pause":!0,tone:`caution`,icon:qm,label:`Paused by the ${r} ${i}`,children:[(0,L.jsx)(`span`,{className:VJ,children:n.autoResume?n.resumesAt?`Continuing automatically at ${bE(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{onClick:()=>{o(!0),cU(s,e,`Continue exactly where you left off.`,{onSuccess:()=>{o(!1),Z(`Continuing…`)},onRollback:()=>o(!1),failureToast:e=>`Continue failed: ${e.slice(0,80)}`})||o(!1)},disabled:a,onMouseDown:e=>e.preventDefault(),className:`disabled:opacity-45 ${GJ}`,children:`Continue now`})})]})}function l4({onTerminal:e}){return(0,L.jsxs)(BJ,{tone:`attention`,icon:Zm,label:`Permission approval`,children:[(0,L.jsx)(`span`,{className:VJ,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,L.jsx)(HJ,{children:(0,L.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:GJ,children:`Copy terminal command`})})]})}function u4({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return(0,L.jsxs)(BJ,{tone:`caution`,icon:Th,label:`Blocked by frizz's permission policy`,children:[n?(0,L.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,L.jsx)(`span`,{className:VJ,children:e.reason}),(0,L.jsxs)(`span`,{className:`mt-1.5 block text-[11px] text-muted`,children:[`Rule `,(0,L.jsx)(`code`,{className:`rounded bg-panel px-1 py-0.5`,children:e.rule}),t&&t>1?` · ${t} denials this session`:``]})]})}function d4({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=Yp(ZC(),e),o=a?.subAgents??[],s=n?i?lD(o,i):o:[],c=i?[...r]:pD(a?.bgShells??[],r),l=i?[]:(a?.watches??[]).filter(e=>e.kind===`github`),u=i?[]:a?.links??[],d=s.length+c.length+l.length,f=new Set((a?.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`).map(e=>e.target)),p=e=>f.has(e.taskId??``)||f.has(e.id??``)||f.has(e.label),[,m]=(0,I.useState)(0);(0,I.useEffect)(()=>{if(d===0)return;let e=setInterval(()=>m(e=>e+1),3e4);return()=>clearInterval(e)},[d]);let h=mw(e,c.flatMap(e=>e.id&&!e.outputUnavailable?[e.id]:[]));return d===0&&u.length===0?null:(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[dD(s,`sheet`).map((t,n)=>(0,L.jsx)(mD,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>Sp(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t)},`a${n}`)),dD(c,`sheet`).map((t,n)=>(0,L.jsx)(mD,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,counter:t.id?rD(h.get(t.id)):void 0,counterTitle:`Lines of output so far — open the row to read them`,onOpen:t.id&&!t.outputUnavailable?()=>Cp(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t,`SHELL`),title:p(t)?`${t.label}\nWatched — this thread wakes when it finishes`:void 0},`s${n}`)),l.map(e=>(0,L.jsx)(mD,{kind:`GITHUB`,label:e.target,state:`running`,density:`sheet`,startedAt:e.createdAt,counter:iD(e.github),counterTone:e.github?.checks===`failing`?`danger`:void 0,counterTitle:e.github?`${e.target} — ${V$(e.github)}`:void 0,onOpen:()=>window.open(dU(e.target)??`https://github.com/${e.target.replace(`#`,`/pull/`)}`,`_blank`,`noreferrer,noopener`)},e.id)),(0,L.jsx)(nQ,{links:u})]})}function f4({ask:e,onTerminal:t}){return(0,L.jsxs)(BJ,{tone:`attention`,icon:Am,label:`Waiting on your answer — in your external terminal`,children:[(0,L.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.questions.map((e,t)=>(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.header&&(0,L.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted/55`,children:e.header}),(0,L.jsx)(`div`,{className:`min-w-0 text-[12px] font-medium leading-5 text-fg`,children:e.question}),e.options.length>0&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.options.map((e,t)=>(0,L.jsxs)(`div`,{className:`rounded-md border border-border bg-elevated px-3 py-1.5 text-[12px] text-fg/80`,children:[(0,L.jsx)(`span`,{className:`font-medium text-fg/90`,children:e.label}),e.description&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[` — `,e.description]})]},t)),e.multiSelect&&(0,L.jsx)(`div`,{className:`text-[10px] text-muted/50`,children:`select one or more`})]})]},t))}),(0,L.jsx)(HJ,{children:(0,L.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:GJ,children:[(0,L.jsx)(Zm,{size:12,className:`shrink-0 ${DX}`}),`Copy terminal command`]})})]})}function p4({call:e,sourceId:t,at:n}){let r=I0(),i=e.detail??`sub-agent`,{tail:a}=YZ(e),o=!!(r&&e.agentId);return(0,L.jsxs)(DY,{icon:vm,sourceId:t,marker:`agent`,ariaLabel:o?void 0:`Sub-agent ${i} ${a}`,at:n,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-completion-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${i}`,onClick:()=>Sp(r,e.agentId,{label:i,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:i}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:i}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:a})]})}function m4({from:e,unnamed:t,dispatchId:n,sourceId:r,at:i}){let a=I0(),o=!!(a&&n),s=t?void 0:e,c=t&&e?`${nD.AGENT} — ${e}`:nD.AGENT;return s===void 0?(0,L.jsx)(DY,{icon:vm,sourceId:r,marker:`agent-report`,ariaLabel:o?void 0:`Sub-agent reported`,at:i,children:o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:c,"aria-label":`${nD.AGENT}${e?`: ${e}`:``}`,onClick:()=>Sp(a,n,{label:`Sub-agent`,subagentType:e}),onMouseDown:e=>e.preventDefault(),className:`shrink-0 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:`Sub-agent reported`}):(0,L.jsx)(`span`,{className:`shrink-0`,title:e||void 0,children:`Sub-agent reported`})}):(0,L.jsxs)(DY,{icon:vm,sourceId:r,marker:`agent-report`,ariaLabel:o?void 0:`Sub-agent ${s} reported`,at:i,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`Sub-agent`}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),o?(0,L.jsx)(`button`,{type:`button`,"data-subagent-report-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${s}`,onClick:()=>Sp(a,n,{label:s,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:s}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:s}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`reported`})]})}function h4({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i,at:a}){let o=I0(),s=q2(e,t),c=e===`main`?void 0:r??e,l=!!(o&&n);return(0,L.jsxs)(DY,{icon:vm,sourceId:i,marker:`agent-steer`,ariaLabel:l?void 0:`${s}${c?` ${c}`:``}`,at:a,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:s}),c&&(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center`,children:[(0,L.jsx)(`span`,{className:`shrink-0`,children:`«`}),l?(0,L.jsx)(`button`,{type:`button`,"data-subagent-steer-open":!0,title:nD.AGENT,"aria-label":`${nD.AGENT}: ${c}`,onClick:()=>Sp(o,n,{label:c}),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:c}):(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:c}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`»`})]})]})}function g4({text:e,boundary:t,sourceId:n,at:r}){return t?(0,L.jsx)(DY,{icon:t===`wake`?Sh:void 0,sourceId:n,marker:t===`rest`?`rest`:`event`,ariaLabel:e,at:r,children:(0,L.jsx)(`span`,{className:`min-w-0 truncate`,children:e})}):(0,L.jsx)(`div`,{"data-frizz-msg":n,className:aQ,children:e})}function _4({text:e,sourceId:t}){let[n,r]=(0,I.useState)(!1),i=(0,I.useId)();return(0,L.jsxs)(`div`,{"data-frizz-msg":t,className:`flex flex-col`,children:[(0,L.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":i,"aria-expanded":n,"aria-label":`${n?`Collapse`:`Expand`} model reasoning`,className:`${aQ} flex items-baseline gap-1.5 self-start rounded outline-none transition-colors hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:[(0,L.jsx)(`span`,{children:`Reasoning`}),(0,L.jsx)(Cm,{"aria-hidden":`true`,size:13,className:sQ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`frizz-reasoning mt-1.5 ml-[5px] border-l border-border/70 pl-3`,children:(0,L.jsx)(e4,{md:e,wrap:!0})})]})}function v4(){return(0,L.jsx)(`span`,{className:`inline-block w-2.5 h-2.5 rounded-full border border-muted/70 border-t-transparent animate-spin`})}function y4({since:e,startedAt:t,activityLabel:n,run:r}){let[i]=(0,I.useState)(()=>Date.now()),a=(0,I.useMemo)(()=>{for(let n of[t,e]){let e=Date.parse(n??``);if(Number.isFinite(e)&&e<=Date.now())return e}return i},[t,e,i]),[o,s]=(0,I.useState)(()=>Date.now()),[c,l]=(0,I.useState)(!1),u=(0,I.useId)();(0,I.useEffect)(()=>{let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[]);let d=VE(Math.max(0,o-a)),f=(0,I.useMemo)(()=>w2([...r?.tools??[]]),[r]),p=f.reduce((e,t)=>e+t.count,0),m=p>0,h=`group flex min-w-0 items-baseline justify-between gap-3 rounded text-left outline-none focus-visible:ring-1 focus-visible:ring-fg/60 ${aQ}`,g=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate shimmer-text`,children:n??g0(p)}),m&&(0,L.jsx)(Cm,{"data-working-chevron":!0,"aria-hidden":`true`,size:13,className:sQ(c)})]}),(0,L.jsx)(`span`,{className:`shrink-0 whitespace-nowrap tabular-nums text-[12px] text-muted/60`,children:d})]});return(0,L.jsxs)(`div`,{"data-working-indicator":!0,"data-working-activity":n?`tool`:`generic`,className:`flex min-w-0 flex-col`,children:[m?(0,L.jsx)(`button`,{type:`button`,onClick:()=>l(e=>!e),onMouseDown:e=>e.preventDefault(),"aria-controls":u,"aria-expanded":c,"aria-label":`${c?`Collapse`:`Expand`} ${p} tool ${p===1?`call`:`calls`}${n?`: ${n}`:``}`,className:`${h} w-full`,children:g}):(0,L.jsx)(`div`,{className:h,children:g}),m&&c&&(0,L.jsx)(`div`,{id:u,className:`mt-1.5 flex flex-col`,children:b2(f.map((e,t)=>(0,L.jsx)(k2,{t:e,startedAt:r?.at},t)),6)}),m&&!c&&(0,L.jsx)(`div`,{id:u,hidden:!0})]})}function b4(){let[e,t]=(0,I.useState)(()=>typeof window<`u`&&window.matchMedia(`(max-width: 800px)`).matches);return(0,I.useEffect)(()=>{let e=window.matchMedia(`(max-width: 800px)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function x4({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=tm(e,i===!0),[c,l]=(0,I.useState)(i===!0),u=(0,I.useRef)(null),d=(0,I.useRef)(null),f=Zt(X),p=[...f.drawers].reverse().find(e=>!e.closing)?.id===e,m=b4(),h=(0,I.useRef)(typeof document<`u`&&document.activeElement instanceof HTMLElement?document.activeElement:null),g=(0,I.useCallback)(()=>{let e=h.current,t=document.activeElement;t&&t!==document.body||e?.isConnected&&e.focus({preventScroll:!0})},[]);(0,I.useEffect)(()=>()=>{window.setTimeout(g,0)},[g]);let _=ZC(),v=kd(_,t),y=v.kind===`found`?v.thread:void 0;_?.projectDir;let b=y?y.runtime===`turn-idle`||y.runtime===`exited`||y.runtime===`none`:!1;return(0,I.useEffect)(()=>{!y||!b||Y.threadSeen({slug:t}).catch(()=>{})},[t,b,b?y?.lastActivityAt:void 0]),(0,I.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 qW({isActive:()=>[...X.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,I.useEffect)(()=>{d.current?.activationChanged()},[p]),(0,I.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,I.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,I.useEffect)(()=>(Sd(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>Sd(e,null)),[e]),(0,L.jsx)(iL,{modal:m,open:!0,onOpenChange:e=>{e||o()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`${Xp} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,L.jsxs)(gL,{ref:u,"aria-modal":m||void 0,"aria-describedby":void 0,tabIndex:-1,onEscapeKeyDown:t=>{if(t.target instanceof Element&&t.target.closest(`[data-claims-escape]`)){t.preventDefault();return}if(X.drawers.at(-1)?.id!==e){t.preventDefault();return}GR(t)},onPointerDownOutside:n=>{let r=X.drawers.findIndex(t=>t.id===e);if(r!==-1&&r<X.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(),g()},onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;(t?.querySelector(`[data-dialog-initial-focus]`)??t)?.focus({preventScroll:!0})},"data-vt-chat":!0,className:`fixed right-0 top-0 overflow-hidden outline-none ${Zp} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:$p(r),viewTransitionName:f.vtReturnTarget===t?`thread-chat`:void 0},children:[(0,L.jsx)(xL,{className:`sr-only`,children:v.kind===`found`?`Thread: ${DT(v.thread)}`:`Thread: ${t}`}),c&&v.kind===`found`?(0,L.jsx)(V0,{slug:t,onStatusApplied:o,onClose:o,virtualized:!0}):c&&v.kind===`missing`?(0,L.jsx)(S4,{slug:t,onClose:o}):(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})]})]})})}function S4({slug:e,onClose:t}){return(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,L.jsxs)(`header`,{className:`flex ${Oh} shrink-0 items-center gap-3 border-b border-border bg-panel px-4`,children:[(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:`Thread unavailable`}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,"data-dialog-initial-focus":!0,onClick:t,className:`p-1 text-muted hover:text-fg`,children:`×`})]}),(0,L.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.`]})]})}function C4({id:e,slug:t,subId:n,label:r,subagentType:i,startedAt:a,depth:o,widthDepth:s}){let[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(null),d=fw(t,n),f=QC(),p=(0,I.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,I.useMemo)(()=>z0(p),[p]),_=(0,I.useMemo)(()=>B0(p),[p]),v=(0,I.useMemo)(()=>Z1(_),[_]),y=h?e0(v):void 0,b=h?$1(v):void 0,x=b?u0(b,f):void 0,S=h?n0(v):void 0,C=(0,I.useMemo)(()=>h?a0(v):v,[v,h]),w=h,T=d.isError||m===`gone`||p.length===0&&(m===`done`||m===`stale`);return(0,I.useEffect)(()=>{let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>l(!0))});return()=>{cancelAnimationFrame(t),e&&cancelAnimationFrame(e)}},[]),(0,I.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,L.jsx)(am,{id:e,depth:o,widthDepth:s,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:r,onClose:e}),(0,L.jsx)(`div`,{ref:u,className:`flex-1 min-h-0 overflow-y-auto`,children:T?(0,L.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,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})}):(0,L.jsx)(F0.Provider,{value:t,children:(0,L.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[v2(C.map(e=>e.message),(e,t)=>(0,L.jsx)($2,{m:e},t)),w&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(EY,{h:_2(C.map(e=>e.message))}),(0,L.jsx)(y4,{since:a,startedAt:S,activityLabel:x,run:y})]})]})})}),(0,L.jsx)(w4,{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,L.jsx)(d4,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function w4({slug:e,subId:t,subagentType:n,steerable:r,note:i,stoppable:a,stopNote:o,ops:s}){let[c,l]=(0,I.useState)(``),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(!1),m=Ve();function h(){let n=c.trim();!n||u||(d(!0),l(``),Y.subAgentSteer({slug:e,id:t,message:n,deliveryId:crypto.randomUUID()}).then(()=>{m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]}),Z(`Steer sent`)}).catch(e=>{l(n),Z(e instanceof Error?e.message:`Could not steer this sub-agent`)}).finally(()=>d(!1)))}function g(){f||(p(!0),Y.subAgentStop({slug:e,id:t}).then(({descendantsStopped:n,note:r})=>{r?Z(`Sub-agent stopped. ${r}`,{duration:7e3}):Z(n>0?`Sub-agent and ${n} descendant${n===1?``:`s`} stopped`:`Sub-agent stopped`),m.invalidateQueries({queryKey:[`subAgentTranscript`,e,t]})}).catch(e=>{Z(e instanceof Error?e.message:`Could not stop this sub-agent`)}).finally(()=>p(!1)))}if(!r&&!a){let e=i??o;return e?(0,L.jsxs)(`div`,{"data-subagent-steer-note":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[(0,L.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:e}),(0,L.jsx)(`div`,{className:`pl-1.5`,children:(0,L.jsx)(T4,{subagentType:n})}),s?.(`px-1 pt-1.5 ops-column-optical-inset`)]}):(0,L.jsx)(L.Fragment,{children:s?.(`w-full shrink-0 border-t border-border bg-panel px-4 pb-2 pt-3`)})}return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{"data-subagent-steer":!0,className:`w-full shrink-0 border-t border-border bg-panel px-3 py-3`,children:[r?(0,L.jsx)(bR,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,L.jsx)(T4,{subagentType:n})}):i?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`px-1 pb-2 text-[11.5px] text-muted/70`,children:i}),(0,L.jsx)(`div`,{className:`pl-1.5`,children:(0,L.jsx)(T4,{subagentType:n})})]}):null,r&&!a&&o&&(0,L.jsx)(`div`,{className:`mt-2 px-1 text-[11.5px] text-muted/70`,children:o}),s?.(`px-1 pt-1.5 ops-column-optical-inset`)]}),a&&(0,L.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,L.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 T4({subagentType:e}){let t=GZ(e);return(0,L.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 ${TR}`,children:(0,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}var E4=`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${NJ} border border-border bg-bg/75 px-4 py-2.5 text-[12px] leading-relaxed text-fg/85`;function D4({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,I.useRef)(null),c=pw(t,n),l=c.data?.state,u=c.data?.command,d=c.data?.output??``,[f,p]=(0,I.useState)(!1),m=Ve();(0,I.useEffect)(()=>{let e=s.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<160&&(e.scrollTop=e.scrollHeight)},[d]);let h=GE(i),g=l===`running`?`running${h?` ${h}`:``}`:l===`done`?`finished`:l===`gone`?`unavailable`:``,_=c.isError||l===`gone`;function v(){f||(p(!0),Y.subAgentStop({slug:t,id:n}).then(({note:e})=>{e?Z(`Background shell stopped. ${e}`,{duration:7e3}):Z(`Background shell stopped — the worker was told`),m.invalidateQueries({queryKey:[`backgroundShellOutput`,t,n]})}).catch(e=>{Z(e instanceof Error?e.message:`Could not stop this background shell`)}).finally(()=>p(!1)))}async function y(){if(u)try{await JR(u),Z(`Command copied`)}catch{Z(`Could not copy command`)}}return(0,L.jsx)(am,{id:e,depth:a,widthDepth:o,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:r,icon:(0,L.jsx)(Sh,{"aria-hidden":!0,size:14,className:`shrink-0 text-muted/60`}),meta:g?(0,L.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-[11.5px] text-muted/60`,children:g}):void 0,onClose:e}),(0,L.jsx)(`div`,{ref:s,className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:_?(0,L.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,L.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,L.jsxs)(`section`,{children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,L.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Command`}),u&&(0,L.jsxs)(`button`,{type:`button`,onClick:y,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,L.jsx)(Pm,{"aria-hidden":!0,size:11}),` Copy`]})]}),u?(0,L.jsx)(eJ,{"data-background-shell-command":!0,text:u,language:`bash`,className:E4}):(0,L.jsx)(`pre`,{"data-background-shell-command":!0,className:E4,children:c.isLoading?`Loading…`:`Command unavailable for this background operation.`})]}),(0,L.jsxs)(`section`,{children:[(0,L.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,L.jsx)(`h2`,{className:`petite-caps text-[10px] text-muted/65`,children:`Output`}),l===`running`&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`frizz-live-dot frizz-live-dot--shell`,"data-running-indicator":`shell-drawer`}),c.data?.truncated&&(0,L.jsx)(`span`,{className:`text-[10.5px] text-muted/50`,children:`Showing latest 512 KB`})]}),d?(0,L.jsx)(`pre`,{"data-background-shell-output":!0,className:`font-mono-keep min-h-40 whitespace-pre-wrap break-words ${NJ} border border-border bg-[#090b10] px-4 py-3 text-[12px] leading-relaxed text-fg/85`,children:d}):(0,L.jsx)(`div`,{"data-background-shell-output":!0,className:`flex min-h-40 items-center justify-center ${NJ} border border-border bg-[#090b10] px-4 text-center text-[12px] text-muted/60`,children:l===`done`?`No output was captured.`:`No output yet.`})]})]})}),!_&&c.data?.stoppable&&(0,L.jsx)(`footer`,{"aria-label":`Background shell lifecycle actions`,"data-background-shell-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,L.jsx)(`button`,{type:`button`,"data-stop-background-shell":!0,disabled:f,onClick:v,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 shell`})}),!_&&!c.data?.stoppable&&l===`running`&&c.data?.stopNote&&(0,L.jsx)(`footer`,{"data-background-shell-stop-note":!0,className:`w-full shrink-0 border-t border-border/70 bg-panel/95 px-4 pt-2 pb-[max(0.5rem,env(safe-area-inset-bottom))] text-[11.5px] text-muted/70`,children:c.data.stopNote})]})})}function O4(e){let t=/^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/.exec(e);return t?{front:t[1],body:e.slice(t[0].length)}:{front:null,body:e}}var k4={paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`};function A4({path:e}){return(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{Y.openLocalFile({path:e}).then(async e=>{e.action===`copy`&&(await JR(e.path),Z(`Copied local path`))}).catch(e=>Z(`Could not open local file: ${e.message.slice(0,100)}`))},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:`Open ${e} outside Frizz`,"aria-label":`Open`,children:[(0,L.jsx)(Im,{size:12,"aria-hidden":`true`}),` Open`]})}function j4({source:e}){return(0,L.jsx)(eJ,{text:e,language:`yaml`,className:`mb-4 whitespace-pre-wrap break-words rounded-md border border-border/60 bg-panel-2/40 px-3 py-2 font-mono-keep text-[12px] leading-5 text-muted`})}function M4({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=ew(t),o=nt({...sC(t),refetchInterval:a?!1:cC}),s=o.data?.path??t,{front:c,body:l}=O4(o.data?.markdown??``),u=eq(l,{baseDir:aC(s),asDocument:!0}),d=zq(u),f=(0,I.useRef)(null);return Qq(f,u),(0,L.jsx)(am,{id:e,depth:r,widthDepth:i,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:n,subtitle:s,onClose:e}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:o.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):o.error?(0,L.jsxs)(`div`,{className:`text-[13px] text-red-400/90`,children:[`Couldn’t read this file: `,o.error.message]}):u?(0,L.jsxs)(L.Fragment,{children:[c&&(0,L.jsx)(j4,{source:c}),(0,L.jsx)(`div`,{ref:f,className:`md-body`,dangerouslySetInnerHTML:d}),o.data?.truncated&&(0,L.jsx)(`p`,{className:`mt-4 border-t border-border/60 pt-3 text-[12px] text-muted`,children:`This file is too long to render in full — everything above the cut is shown. Open it to read the rest.`})]}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`})}),(0,L.jsx)(`div`,{className:`shrink-0 flex items-center justify-end gap-1.5 border-t border-border/60 bg-panel px-5 pt-3`,style:k4,children:(0,L.jsx)(A4,{path:s})})]})})}function N4({id:e,slug:t,title:n,depth:r,widthDepth:i}){let a=nt({queryKey:[`threadBody`,t],queryFn:()=>Y.threadBody({slug:t})}),o=Zt(X);(0,I.useEffect)(()=>{a.refetch()},[o.board]);let s=kX(Yp(o.board,t)),c=Mz(),l=jz.adopt(c,t),[u,d,f]=Pz(l),p=it({mutationFn:async e=>{await Y.adoptThread({slug:t,message:e.trim()||void 0})},onSuccess:()=>{X.drawers.find(t=>t.id===e)?.closing||(X.drawers=X.drawers.map(t=>t.id===e?{...t,kind:`thread`}:t))},onError:(e,t)=>{kz.get(l)||d(t),Z(`Start failed: ${e.message.slice(0,80)}`)}}),m=eq(VK(a.data?.markdown??``)),h=zq(m);return(0,L.jsx)(am,{id:e,depth:r,widthDepth:i,widthOffset:1,subagentParent:t,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(kh,{title:n,subtitle:`${t}.md`,onClose:e}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:a.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):m?(0,L.jsx)(`div`,{className:`md-body`,dangerouslySetInnerHTML:h}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`No thread file found.`})}),s&&(0,L.jsxs)(`div`,{className:`shrink-0 border-t border-border/60 px-5 pb-4 pt-3`,children:[(0,L.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,L.jsx)(bR,{surface:`adoptComposer`,value:u,onChange:d,onSubmit:()=>{if(!u.trim()||p.isPending)return;let e=u;f(),Z(`Starting thread…`,{spinner:!0,sticky:!0}),p.mutate(e)},placeholder:`Kick off work on this thread…`,minHeight:44,busy:p.isPending})]})]})})}function P4(){let e=Zt(X),t=ZC();(0,I.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(WR()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(X.showPalette)X.showPalette=!1;else if(X.showNewThread)X.showNewThread=!1;else if(X.showGithubPicker)mp();else if(X.showSettings)_d()||(X.showSettings=!1);else if(X.drawers.length>0){let e=X.drawers[X.drawers.length-1];xd(e.id)||X.drawers.pop()}else X.filePanel&&Fp()}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let n=0;return(0,L.jsx)(L.Fragment,{children:e.drawers.map((e,r)=>{let i=n;e.closing||n++;let a=e.kind===`thread`?(0,L.jsx)(x4,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,L.jsx)(C4,{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,L.jsx)(D4,{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===`markdown`?(0,L.jsx)(M4,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,L.jsx)(N4,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=Yp(t,e.slug);return n?DT(n):e.slug})()},e.id);return(0,L.jsx)(jh,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,L.jsx)(Ih,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function F4(e){return(e.tools??[]).some(e=>e.name===`mcp__frizz__done`&&e.status===`completed`)}function I4(e){let t=uJ(e).filter(e=>e.kind===`question`);if(t.length!==0)return JSON.stringify(t.map(e=>e.kind===`question`?[e.questionKind,e.danger===!0,e.text.trim()]:null))}function L4(e){let t=new Map,n=[];for(let r=0;r<e.length;r++){let i=I4(e[r].text);n.push(i),i!==void 0&&t.set(i,r)}let r=new Set;for(let e=0;e<n.length;e++){let i=n[e];i!==void 0&&t.get(i)!==e&&r.add(e)}return r}function R4(e,t,n){return pJ(e.text)?!n.has(t):F4(e)?!0:e.wake===!0}function z4(e){return e.wake===!0}function B4(e,t){let n=[],r,i=!1,a=()=>{r&&r.start<=r.end&&n.push(r),r=void 0};for(let n=Math.max(0,t);n<e.length;n++){let t=e[n];if(t.closes===!0){a(),i=!0;continue}if(t.skip===!0)continue;if(t.opens===!0){a(),i=!0,r={start:n+1,end:n,open:-1,close:-1,steps:0,tools:0,resumed:!0,waker:-1};continue}let o=r===void 0;r||={start:n,end:n,open:-1,close:-1,steps:0,tools:0,resumed:i,waker:-1},o&&t.completion===!0&&r.resumed&&(r.waker=n),r.end=n,r.tools+=t.tools??0,t.text===!0&&(r.open<0&&(r.open=n),r.close=n)}a();for(let t of n)for(let n=t.start;n<=t.end;n++){let r=e[n];r.skip===!0||r.survives===!0||n===t.open||n===t.close||n===t.waker||r.countable===!0&&t.steps++}return n}function V4(e){return e.open<0||e.tools<1&&e.steps<1?!1:e.resumed||e.open!==e.close}function H4(e){if(e.length<3)return{kept:[...e]};let t=e[0],n=e[e.length-1],r=e.slice(1,-1);return{kept:[t,n],middle:{start:Math.max(t.end+1,r[0].start-1),end:r[r.length-1].end,runs:r.length,tools:r.reduce((e,t)=>e+t.tools,0)}}}function U4(e){return dD(e,`card`).length>0}function W4({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=dD(t,`card`);return r.length===0?null:(0,L.jsx)(`div`,{"data-queue-subagents":!0,className:`flex min-w-0 flex-col gap-0.5 ${n}`,children:r.map((t,n)=>(0,L.jsx)(mD,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>Sp(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:dM(e,t)},t.id??`${t.startedAt}-${n}`))})}var G4=320;function K4(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 q4(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 J4=0,Y4=``;function X4(){J4++===0&&(Y4=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function Z4(){J4>0&&--J4===0&&(document.documentElement.style.overflowAnchor=Y4)}function Q4({thread:e,onSnooze:t,onSnoozeFailed:n}){return(0,L.jsx)(f1,{thread:e,onSnooze:t,onSnoozeFailed:n})}function $4(){let e=ZC(),t=VT($C(e?.threads??[]).filter(HT),Zt(CT).queueOrder),n=t.map(e=>e.id).join(`,`),[r,i]=(0,I.useState)(()=>new Set),a=(0,I.useRef)(t);a.current=t;let o=(0,I.useRef)(r);o.current=r;let s=new Set(t.map(e=>e.id)),c=(0,I.useRef)([]),l=(0,I.useRef)([]),u=(0,I.useRef)(new Map),d=(0,I.useRef)(new Set),f=(0,I.useRef)(new Set),p=(0,I.useRef)(new Map),m=(0,I.useRef)(new Map),h=(0,I.useRef)(null),[g,_]=(0,I.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=JH(),b=e=>v(e.id)||qH(e,y[e.id]),x=(0,I.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=x.map(e=>e.id),(0,I.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=q4(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=K4(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},G4);p.current.set(e,t)}return()=>{n!==void 0&&cancelAnimationFrame(n)}},[n,r,g]),(0,I.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,I.useEffect)(()=>()=>{for(let e of p.current.values())clearTimeout(e);for(let e of m.current.values())clearTimeout(e)},[]),(0,I.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}X4();let n=()=>{let t=dp(e.slug);t!==null&&Math.abs(wd()-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),Z4()})})},[g]);let S=(0,I.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)},[]),C=(0,I.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)},[]),w=(e?.threads.length??0)===0;return(0,L.jsxs)(`div`,{className:`my-auto w-full min-w-0 flex flex-col py-8`,children:[(0,L.jsx)(e3,{board:e}),x.length>0&&(0,L.jsx)(`div`,{className:`flex flex-col`,children:x.map((e,t)=>(0,L.jsxs)(I.Fragment,{children:[(0,L.jsx)(n3,{slug:e.id,leaving:v(e.id),children:(0,L.jsx)(a3,{thread:e,leaving:v(e.id),frozen:b(e),onResolve:S,onUnresolve:C})}),t<x.length-1&&(0,L.jsx)(`hr`,{className:`my-10 border-0 border-t border-border/60`})]},e.id))}),w?(0,L.jsxs)(`div`,{className:`w-full flex flex-col gap-3`,children:[(0,L.jsx)(`h2`,{className:`text-[15px] font-medium text-center`,children:`What should the agent do?`}),(0,L.jsx)(VH,{}),(0,L.jsx)(Iz,{autoFocus:!0})]}):x.length===0?(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,L.jsx)(Xm,{size:40,strokeWidth:1.25,className:`text-muted/30`}),(0,L.jsx)(`div`,{className:`text-[13px] text-muted/80`,children:`No threads awaiting human input`})]}):null]})}function e3({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,L.jsxs)(`div`,{className:`mb-6 ${NJ} border border-amber-500/25 bg-amber-500/[0.06] px-4 py-2.5 text-[12px] text-amber-200/90`,children:[(0,L.jsx)(`div`,{className:`font-medium mb-0.5`,children:`Board errors`}),t.length>0?t.slice(0,6).map((e,t)=>(0,L.jsxs)(`div`,{className:`flex items-center gap-2 py-0.5`,children:[(0,L.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,L.jsx)(t3,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,L.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function t3({file:e}){let t=it({mutationFn:()=>Y.repairThread({file:e}),onSuccess:({slug:e})=>Z(`Repaired ${e} — verify its status`),onError:e=>Z(e instanceof Error?e.message:`Repair failed`)});return(0,L.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 n3({leaving:e,slug:t,children:n}){return(0,L.jsx)(`div`,{"data-queue-card":t,"data-queue-leaving":e,className:`frizz-card-slot min-w-0`,children:(0,L.jsx)(`div`,{className:`frizz-card-clip min-h-0 min-w-0`,children:(0,L.jsx)(`div`,{className:`frizz-card-body min-w-0`,children:n})})})}function r3({runs:e,toolCount:t,onExpand:n}){let r=t>0?`${t} tool call${t===1?``:`s`}`:``,i=`${e} more round${e===1?``:`s`}`;return(0,L.jsxs)(DY,{icon:Tm,marker:`middle-runs-summary`,onClick:n,ariaLabel:`Expand ${i}${r?` and ${r}`:``} of intermediate agent activity`,children:[(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:i}),r&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:r})]}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`Click to expand`})]})}function i3({toolCount:e,onExpand:t}){let n=e>0?`${e} tool call${e===1?``:`s`}`:``;return(0,L.jsxs)(DY,{icon:Tm,marker:`intermediate-summary`,onClick:t,ariaLabel:`Expand ${n?`${n} of `:``}intermediate agent activity`,children:[n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:n}),(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 opacity-50`,children:`·`})]}),(0,L.jsx)(`span`,{className:`shrink-0`,children:`Click to expand`})]})}var a3=(0,I.memo)(function({thread:e,leaving:t,frozen:n,onResolve:r,onUnresolve:i}){let a=Zt(X),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1),[f,p]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(0),v=(0,I.useRef)(null),y=(0,I.useRef)(null),b=(0,I.useRef)(!1),x=(0,I.useRef)(!1),S=(0,I.useRef)(null),C=Ve(),w=E1(e.id),T=dw(e.id,{poll:!1}),E=(0,I.useRef)(T.data);n||(E.current=T.data);let D=n?E.current:T.data,O=(0,I.useRef)(null),k=(0,I.useRef)(0);(0,I.useEffect)(()=>{let e=O.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(t=>{if(e.style.height)return;let n=t[0]?.borderBoxSize?.[0];n&&(k.current=n.blockSize)});return t.observe(e),()=>t.disconnect()},[]),(0,I.useLayoutEffect)(()=>{let e=O.current;if(e){if(!t){e.style.height=``,e.style.overflow=``;return}k.current>0&&(e.style.height=`${k.current}px`,e.style.overflow=`hidden`)}});let A=(0,I.useMemo)(()=>D?.messages??[],[D]),j=(0,I.useMemo)(()=>p2(A),[A]),M=e=>j>=0&&e<j,N=l1(e),P=e=>M(e)||e===j&&N,ee=(0,I.useMemo)(()=>uY(A),[A]),F=(0,I.useMemo)(()=>wX(A),[A]),te=(0,I.useMemo)(()=>{for(let e=A.length-1;e>=0;e--)if(A[e].boundary===`rest`)for(let t=e+1;t<A.length;t++){let n=A[t];if(!(n.queued||n.boundary===`rest`||f2(n,P(t))))return e+1}return 0},[A]),ne=(0,I.useMemo)(()=>{for(let e=A.length-1;e>=0;e--)if(A[e].role===`user`&&!A[e].queued)return e;return-1},[A]),re=(0,I.useMemo)(()=>L4(A),[A]),ie=(0,I.useMemo)(()=>A.map((e,t)=>{if(!e||e.queued||f2(e,P(t)))return{skip:!0};if(e.boundary===`rest`)return{skip:!0,closes:!0};let n=qZ(e),r=n?0:e.tools.length;return{text:g2(e,P(t)),tools:r,countable:g2(e,P(t))||r>0||n!==void 0||e.kind!==void 0,survives:R4(e,t,re),opens:z4(e),completion:e.boundary===`wake`||n!==void 0}}),[A,re]),ae=(0,I.useMemo)(()=>B4(ie,F+1),[ie,F]),{kept:oe,middle:se}=(0,I.useMemo)(()=>H4(ae),[ae]),ce=(0,I.useMemo)(()=>oe.filter(V4),[oe]),le=(0,I.useMemo)(()=>{let e=new Map;return ce.forEach((t,n)=>{for(let r=t.start;r<=t.end;r++)e.set(r,n)}),e},[ce]),ue=!c&&(ne>=0||te>0)&&(ce.length>0||se!==void 0),de=Mx(A,f,F),fe=(0,I.useMemo)(()=>A.slice(de),[A,de]),pe=(0,I.useMemo)(()=>Z1(fe).map(e=>({...e,messageIndex:e.messageIndex+de})),[fe,de]),me=e.runtime!==`running`&&e.runtime!==`spawning`,he=(0,I.useMemo)(()=>TY(A,e?.questions??[],{atRest:me}),[me,A,e?.questions]),ge=(0,I.useMemo)(()=>{let t=[],n=new Map,r=A.length-1,i=(e?.questions??[]).filter(e=>!he.placedIds.has(e.id));for(let[e,a]of mY(A,i,{atRest:me})){if(e>=r){t.push(...a);continue}let i=n.get(e);i?i.push(...a):n.set(e,[...a])}return{byAnchor:n,tail:t}},[me,A,he.placedIds,e?.questions]),_e=Xl(e.spawnedAt),ve=(0,I.useMemo)(()=>_Y(A,e?.questions??[]),[A,e?.questions]),ye=(0,I.useMemo)(()=>aY(A,e.answersInFlight),[A,e.answersInFlight]),be=de>0||D?.hasEarlier===!0;(0,I.useLayoutEffect)(()=>{let e=y.current,t=v.current;if(!e||!t||![...t.querySelectorAll(`[data-transcript-source-id]`)].some(t=>t.dataset.transcriptSourceId===e.targetStartId))return;let n=()=>{zx(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return zx(t,e.anchor,e=>{n=e}),n},r=n();if(Bx({remaining:r,scrollY:window.scrollY,maxScrollY:Math.max(0,document.documentElement.scrollHeight-window.innerHeight),alreadyReserved:e.reserved===!0})===`reserve`){e.reserved=!0,_(e=>e+Math.ceil(r));return}x.current||(x.current=!0,requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),y.current=null,x.current=!1,b.current&&(b.current=!1,Z4())})}))},[g,A,f]),(0,I.useEffect)(()=>{let e=D?.transcriptKey;if(!e)return;let t=S.current;S.current=e,!(!t||t===e)&&(p(null),_(0),l(!1),y.current=null,x.current=!1,b.current&&(b.current=!1,Z4()))},[D?.transcriptKey]),(0,I.useEffect)(()=>()=>{b.current&&(b.current=!1,Z4())},[]);let xe=e=>{let t=Lx(v.current);!e||!t||(b.current||(b.current=!0,X4()),y.current={anchor:t,targetStartId:e})},Se=async()=>{if(m||!be)return;let t=jx(A,de),n=t!==null&&A[t]?.role===`user`?t:null;if(n!==null){let e=A[n].sourceId;xe(e),p(e??null);return}let r=D?.beforeCursor;if(!r){if(de>0){let e=A[0]?.sourceId;xe(e),p(e??null)}return}let i=D?.transcriptKey;if(i){h(!0);try{let t=await Y.threadTranscriptEarlier({slug:e.id,cursor:r}),n=C.getQueryData([`transcript`,e.id]);if(!n?.transcriptKey||n.transcriptKey!==i||t.transcriptKey!==i){await T.refetch(),p(null),Z(`Transcript changed while loading history; refreshed the current session`);return}let a=t.messages[0]?.sourceId??A[0]?.sourceId;xe(a);let o=Ix(n,t);C.setQueryData([`transcript`,e.id],o),p(a??null)}catch(e){await T.refetch(),p(null),Z(e instanceof Error?e.message:`Could not load earlier transcript history`)}finally{h(!1)}}},Ce=it({mutationFn:()=>Y.markComplete({slug:e.id})}),{answeringForMessage:we,answerable:Te,anyAnswered:Ee,sendAnswers:De,sendMessage:Oe}=oX(e.id,A,()=>{document.activeElement?.blur(),r(e.id)},{scrollToBottom:!1,onSendFailed:()=>i(e.id)}),ke=(0,I.useMemo)(()=>{let e=iX(A);return e!==-1&&SY(A[e].text,ve.get(e)??[])},[A,ve]),Ae=_e&&(Te&&!ke||Ee),je=(0,I.useCallback)(()=>r(e.id),[r,e.id]),Me=(0,I.useCallback)(()=>i(e.id),[i,e.id]),Ne=(0,I.useMemo)(()=>({dismiss:je,cancel:Me}),[je,Me]);return(0,L.jsx)(P0.Provider,{value:e.id,children:(0,L.jsx)(L0.Provider,{value:Ne,children:(0,L.jsx)(v$,{thread:e,children:(0,L.jsxs)(`div`,{ref:O,"data-queue-card-root":e.id,"data-queue-leaving":t,style:{...g?{marginBottom:g}:null,...a.vtReturnTarget===e.id?{viewTransitionName:`thread-chat`}:null},onKeyDown:e=>{if(!Ee)return;let t=e.target;t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||t instanceof HTMLTextAreaElement&&t.value.trim()||oR({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(),De())},"data-vt-chat":!0,className:`flex flex-col min-w-0 max-w-full ${NJ} border border-border-strong bg-panel shadow-lg shadow-black/25 transition-opacity ${u?`opacity-40`:``}`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,L.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-2 bg-panel px-5 py-3.5 max-[800px]:top-10 ${o?NJ:`${PJ} border-b border-border/60`}`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(HZ,{thread:e,className:`leading-snug`}),(0,L.jsx)(_1,{at:RT(e),fallbackAt:e.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`}),e.statusText&&e.status===`needs-human`&&(0,L.jsx)(`div`,{className:`text-[11px] text-muted/80 mt-0.5 truncate`,title:e.statusText,children:e.statusText})]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[e.kind===`session`&&e.foreign!==!0&&(0,L.jsx)(D1,{slug:e.id}),(0,L.jsx)(rZ,{thread:e,collapsed:o,onCollapse:()=>s(e=>!e),expand:!0,onDone:()=>Ce.mutate(void 0,{onSuccess:()=>r(e.id),onError:()=>d(!1)}),doneBusy:Ce.isPending,onStatusMutate:()=>d(!0),onStatusApplied:()=>r(e.id),onStatusFailed:()=>d(!1)})]})]}),o?null:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`px-5 pt-5 ${Ae?`pb-2`:`pb-5`}`,children:[A.length===0?(0,L.jsx)(`p`,{className:`text-[13px] text-muted`,children:T.isLoading?`Loading…`:e.statusText||`No message yet.`}):(0,L.jsxs)(`div`,{ref:v,className:`flex flex-col`,children:[be&&(0,L.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 Se(),onMouseDown:e=>e.preventDefault(),disabled:m,children:m?`Loading earlier messages…`:D?.reachedTurnBoundary===!1?`Continue loading this turn`:`Load earlier messages`}),(()=>{let t=de,n=[],r=null,i=[...ge.byAnchor.entries()].sort((e,t)=>e[0]-t[0]),a=t=>{for(;i.length>0&&i[0][0]<=t;){let[t,a]=i.shift();r!==null&&n.push((0,L.jsx)(EY,{h:14},`qa-space-${t}`)),n.push((0,L.jsx)(b$,{thread:e,questions:a},`qa-${t}`)),r=!1}};a(t-1);let o=new Set,s=!1;return pe.forEach(({message:t,messageIndex:i},c)=>{if(t.queued||f2(t,P(i))||t.boundary===`rest`)return;if(ue&&se&&i>=se.start&&i<=se.end){s||(s=!0,r!==null&&n.push((0,L.jsx)(EY,{h:14},`middle-runs-space`)),n.push((0,L.jsx)(r3,{runs:se.runs,toolCount:se.tools,onExpand:()=>l(!0)},`middle-runs-summary`)),r=!1);return}let u=ue?le.get(i):void 0,d=u===void 0?void 0:ce[u],f=d!==void 0,p=d!==void 0&&i===d.open,m=d!==void 0&&i===d.close,h=f&&!p&&!m&&!pJ(t.text)&&!F4(t)&&R4(t,i,re);if(d!==void 0&&i===d.waker){r!==null&&n.push((0,L.jsx)(EY,{h:r&&o2(t)?6:14},`s${c}`));let e=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":e,className:`flex flex-col`,children:(0,L.jsx)($2,{m:t,dense:!0})},e)),r=a2(t);return}if(f&&!h){if(!p&&!m&&!R4(t,i,re)||(!p&&u!==void 0&&!o.has(u)&&(r!==null&&n.push((0,L.jsx)(EY,{h:14},`im-space-${u}`)),n.push((0,L.jsx)(i3,{toolCount:d.tools,onExpand:()=>l(!0)},`intermediate-summary-${u}`)),r=!1,o.add(u)),!g2(t,P(i))))return;r!==null&&n.push((0,L.jsx)(EY,{h:14},`s${c}`));let s=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":s,className:`flex flex-col`,children:(0,L.jsx)($2,{m:t,dense:!0,textOnly:!0,answering:_e?we(t):void 0,paired:ee[i],staleAwaiting:M(i),restingCardShown:i===j&&N,shadowedBy:ve.get(i),placed:he.placed.get(i),thread:e})},s)),r=!1,a(i);return}r!==null&&n.push((0,L.jsx)(EY,{h:r&&o2(t)?6:14},`s${c}`));let g=t.sourceId??`legacy-${i}`;n.push((0,L.jsx)(`div`,{"data-transcript-source-id":g,className:`flex flex-col`,children:(0,L.jsx)($2,{m:t,dense:!0,staleAwaiting:M(i),restingCardShown:i===j&&N,answering:_e?we(t):void 0,paired:ee[i],shadowedBy:ve.get(i),placed:he.placed.get(i),thread:e})},g)),r=a2(t),a(i)}),fe.forEach((e,r)=>{e.queued&&(n.push((0,L.jsx)(EY,{},`qs${r}`)),n.push((0,L.jsx)($2,{m:e,dense:!0,paired:ee[t+r]},`q${t+r}`)))}),n})()]}),!T.isLoading&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qQ,{thread:e,className:`mt-4`}),e.pendingInteraction?null:e.pendingAsk?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(f4,{ask:e.pendingAsk,onTerminal:w})}):e.runtime===`perm-prompt`?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(l4,{onTerminal:w})}):null,e.permPolicy?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(u4,{policy:e.permPolicy,denies:e.permDenies})}):null]}),!T.isLoading&&l1(e)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(Q4,{thread:e,onSnooze:je,onSnoozeFailed:Me})}),!T.isLoading&&jJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(EY,{}),(0,L.jsx)(o4,{fenceKind:`done`,body:e.lastFence.body,hints:[],wrap:!0})]}),!T.isLoading&&e.limitPause&&e.foreign!==!0&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(c4,{slug:e.id,sessionId:e.sessionId,pause:e.limitPause})}),!T.isLoading&&KJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(qJ,{thread:e})})]}),(0,L.jsx)(b$,{thread:e,questions:ge.tail,inFlight:ye,showSend:he.placedIds.size>0,className:`shrink-0 px-5 pb-4 pt-0`}),Ae&&(0,L.jsx)(`div`,{className:`shrink-0 px-5 pt-0`,children:(0,L.jsx)(`div`,{className:`mb-4 flex items-center justify-start gap-2`,children:(0,L.jsx)(`button`,{disabled:!Ee,onClick:()=>De(),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,L.jsx)(XX,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:Te||(e.questions?.length??0)>0?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:Oe,ops:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(W4,{slug:e.id,subAgents:e.subAgents??[],className:`px-1 pt-1.5`}),(0,L.jsx)(d4,{slug:e.id,includeAgents:!1,className:`px-1 ${U4(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,L.jsx)(NZ,{thread:e,onArchived:()=>r(e.id),onDismissCancel:()=>i(e.id),onSnoozed:()=>r(e.id)})]})})})})},o3);function o3(e,t){return e.leaving===t.leaving&&e.frozen===t.frozen&&e.onResolve===t.onResolve&&e.onUnresolve===t.onUnresolve&&(e.thread===t.thread||JSON.stringify(e.thread)===JSON.stringify(t.thread))}function s3(e,t){if(e.backend===`claude`)return oz.some(t=>t.value===e.model)?dz(e.model).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 c3(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function l3({keys:e,key:t,shiftKey:n,anchor:r,selected:i}){let a=e.indexOf(t),o=r===null?-1:e.indexOf(r);if(!n||a===-1||o===-1||r===null){let e=new Set(i);return e.has(t)?e.delete(t):e.add(t),{selected:e,anchor:a===-1?r:t}}let s=a>=o?1:-1,c=i.has(r),l=new Set(i);for(let t=o;;t+=s){let n=e[t];if(c?l.add(n):l.delete(n),t===a)break}return{selected:l,anchor:r}}var u3=30;function d3({onClose:e}){let t=SR(),{resolved:n,codexList:r,loadError:i,saveProfile:a}=yz(),[o,s]=(0,I.useState)(`issues`),[c,l]=(0,I.useState)(`recent`),[u,d]=(0,I.useState)(1),[f,p]=(0,I.useState)(()=>new Set),[m,h]=(0,I.useState)(null),g=nt({queryKey:[`githubList`,o,c,u],queryFn:()=>Y.githubList({kind:o,sort:c,page:u,perPage:u3}),placeholderData:ee}),_=g.data?.items??[],v=g.data?.page??u,y=g.data?.pageCount??1,b=g.data?.total??0,x=(0,I.useRef)(null);(0,I.useEffect)(()=>{x.current&&(x.current.scrollTop=0)},[u,o,c]);let S=it({mutationFn:e=>Y.githubDispatchBatch(e),onMutate:e=>Z(`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;Z(`Started ${n} thread${n===1?``:`s`}${r?` (${r} failed)`:``}`),e()},onError:e=>Z(`Dispatch failed: ${e.message.slice(0,80)}`)});function C(e){e!==o&&(s(e),d(1),p(new Set),h(null))}function w(e){e!==c&&(l(e),d(1),p(new Set),h(null))}function T(e,t){let n=l3({keys:_.map(e=>e.number),key:e,shiftKey:t,anchor:m,selected:f});p(n.selected),h(n.anchor)}function E(){p(new Set),h(null)}let D=t.data?.nameWithOwner??`this repo`,O=f.size,k=(0,I.useMemo)(()=>_z(r),[r]),A=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,j=A?s3(A,r):i?`Could not load the model catalogue — reopen once it loads`:void 0,M=j??(A?void 0:`Loading the model catalogue…`);function N(){if(!A||M){Z(M??`Choose a model and reasoning level`);return}S.mutate(c3(A,[...f].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,L.jsx)(Rz,{onClose:e,children:(0,L.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,L.jsxs)(`h2`,{className:`mb-4 flex items-center gap-2 text-[14px] font-medium`,children:[(0,L.jsx)(Km,{size:15,className:`text-muted`}),(0,L.jsx)(`span`,{children:`Investigate this issue and make recommendations`}),(0,L.jsx)(`span`,{className:`text-muted/40`,children:`—`}),(0,L.jsx)(`span`,{className:`font-mono-keep text-[12.5px] text-muted`,children:D})]}),(0,L.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,L.jsx)(p3,{value:o,onChange:e=>C(e),options:[{value:`issues`,label:`Issues`},{value:`prs`,label:`PRs`}]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`petite-caps text-[11px] text-muted/70`,children:`Sort`}),(0,L.jsx)(p3,{value:c,onChange:w,options:[{value:`recent`,label:`Recent`},{value:`reactions`,label:`Reactions`}]})]})]}),(0,L.jsx)(`div`,{ref:x,className:`min-h-[240px] flex-1 overflow-y-auto rounded-lg border border-border/70 bg-bg/40 transition-opacity ${g.isPlaceholderData?`opacity-40`:``}`,children:g.isLoading?(0,L.jsx)(S3,{}):g.isError?(0,L.jsxs)(C3,{children:[(0,L.jsxs)(`span`,{className:`text-[12.5px] text-muted/80`,children:[`Couldn't load `,o===`issues`?`issues`:`pull requests`,`.`]}),(0,L.jsx)(`span`,{className:`max-w-[80%] text-center text-[11px] text-muted/45`,children:g.error.message.slice(0,140)})]}):_.length===0?(0,L.jsxs)(C3,{children:[(0,L.jsx)(Xm,{size:28,strokeWidth:1.25,className:`text-muted/30`}),(0,L.jsxs)(`span`,{className:`text-[12.5px] text-muted/60`,children:[`No open `,o===`issues`?`issues`:`pull requests`]})]}):_.map(e=>(0,L.jsx)(g3,{item:e,checked:f.has(e.number),onActivate:t=>T(e.number,t)},e.number))}),!g.isLoading&&!g.isError&&(0,L.jsxs)(`div`,{className:`mt-2.5 flex items-center justify-between gap-3 whitespace-nowrap text-[11.5px] text-muted/60`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.jsxs)(`span`,{className:`truncate tabular-nums`,children:[b,` open `,o===`issues`?b===1?`issue`:`issues`:b===1?`pull request`:`pull requests`]}),O>0&&(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,L.jsx)(`span`,{className:`text-muted/30`,children:`·`}),(0,L.jsxs)(`span`,{className:`tabular-nums text-fg/70`,children:[O,` selected`]}),(0,L.jsx)(`button`,{onClick:E,onMouseDown:e=>e.preventDefault(),className:`rounded py-0.5 text-muted/60 underline-offset-2 outline-none transition-colors hover:text-fg hover:underline`,children:`Clear`})]})]}),y>1&&(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,L.jsx)(f3,{label:`Previous page`,disabled:v<=1,onClick:()=>d(Math.max(1,v-1)),children:(0,L.jsx)(Sm,{size:14})}),(0,L.jsxs)(`span`,{className:`relative px-2 text-center tabular-nums`,children:[(0,L.jsxs)(`span`,{"aria-hidden":!0,className:`invisible`,children:[`Page `,y,` of `,y]}),(0,L.jsxs)(`span`,{className:`absolute inset-0`,children:[`Page `,v,` of `,y]})]}),(0,L.jsx)(f3,{label:`Next page`,disabled:v>=y,onClick:()=>d(Math.min(y,v+1)),children:(0,L.jsx)(Cm,{size:14})})]})]}),(0,L.jsxs)(`div`,{className:`mt-4 flex items-end justify-between gap-3`,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(qR,{groups:k,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:M??`Model and reasoning effort for every thread this batch starts`,disabled:!n,side:`top`,menuZClass:aM,className:`max-w-[min(21rem,60vw)]`}),j&&(0,L.jsx)(`p`,{className:`mt-1 max-w-[430px] text-[10.5px] text-red-400`,children:j})]}),(0,L.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,L.jsxs)(`button`,{disabled:O===0||S.isPending||!!M,onClick:N,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:[S.isPending&&(0,L.jsx)(eh,{size:13,className:`animate-spin`}),O<=1?`Start investigation`:`Start ${O} investigations`]})})]})]})})}function f3({label:e,disabled:t,onClick:n,children:r}){return(0,L.jsx)(`button`,{type:`button`,"aria-label":e,title:e,disabled:t,onClick:n,onMouseDown:e=>e.preventDefault(),className:`inline-flex h-[22px] w-[22px] items-center justify-center rounded-md border border-border/70 text-muted/70 outline-none transition-colors hover:border-border hover:bg-elevated hover:text-fg disabled:pointer-events-none disabled:opacity-30`,children:r})}function p3({value:e,onChange:t,options:n}){return(0,L.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,L.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 m3({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,L.jsx)(Hm,{size:15,className:`shrink-0`,style:{color:qE.fgDone}}):t===`CLOSED`?(0,L.jsx)(Um,{size:15,className:`shrink-0`,style:{color:qE.fgDanger}}):e.isDraft?(0,L.jsx)(Wm,{size:15,className:`shrink-0`,style:{color:qE.fgNeutral}}):(0,L.jsx)(Gm,{size:15,className:`shrink-0`,style:{color:qE.fgSuccess}}):t===`CLOSED`?(0,L.jsx)(Dm,{size:15,className:`shrink-0`,style:{color:qE.fgDone}}):(0,L.jsx)(km,{size:15,className:`shrink-0`,style:{color:qE.fgSuccess}})}function h3({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:void 0;return(0,L.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 g3({item:e,checked:t,onActivate:n}){let r=vE(e.createdAt)??``,i=[e.author,r?`opened ${r}`:``].filter(Boolean).join(` `);return(0,L.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,L.jsx)(`span`,{className:`mt-px shrink-0`,children:(0,L.jsx)(_3,{checked:t})}),(0,L.jsx)(`span`,{className:`mt-px`,children:(0,L.jsx)(m3,{item:e})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.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,L.jsx)(h3,{name:e.name,color:e.color},e.name))]}),(0,L.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-muted/55`,children:[(0,L.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,L.jsxs)(`span`,{className:`truncate`,children:[`· `,i]}):null]})]}),(0,L.jsxs)(`span`,{className:`mt-px flex shrink-0 items-center gap-2.5 text-[11.5px] text-muted/70`,children:[e.linkedPrs?(0,L.jsx)(b3,{prs:e.linkedPrs}):null,e.comments?(0,L.jsx)(x3,{icon:ih,n:e.comments,label:`comments`}):null,e.reactions?(0,L.jsx)(x3,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function _3({checked:e}){return(0,L.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,L.jsx)(bm,{size:11,strokeWidth:3,className:`text-bg`})})}var v3={octicon:`-0.1em`,stroke:`-0.112em`};function y3({size:e=12,className:t}){return(0,L.jsx)(`svg`,{viewBox:`0 0 16 16`,width:e,height:e,fill:`currentColor`,"aria-hidden":!0,className:t,style:{transform:`translateY(${v3.octicon})`},children:(0,L.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 b3({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,L.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,L.jsx)(y3,{size:12}),e.count]})}function x3({icon:e,emoji:t,n,label:r}){return(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-1 tabular-nums`,title:`${n} ${r}`,children:[t?(0,L.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] leading-none`,children:t}):e?(0,L.jsx)(`span`,{className:`inline-flex`,style:{transform:`translateY(${v3.stroke})`},children:(0,L.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function S3(){return(0,L.jsx)(`div`,{className:`animate-pulse`,children:Array.from({length:6}).map((e,t)=>(0,L.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-border/40 px-3 py-2.5 last:border-b-0`,children:[(0,L.jsx)(`span`,{className:`h-[15px] w-[15px] shrink-0 rounded-[4px] bg-muted/20`}),(0,L.jsx)(`span`,{className:`h-3 w-8 shrink-0 rounded bg-muted/20`}),(0,L.jsx)(`span`,{className:`h-3 flex-1 rounded bg-muted/15`,style:{maxWidth:`${55+t*7%35}%`}})]},t))})}function C3({children:e}){return(0,L.jsx)(`div`,{className:`flex h-full min-h-[240px] flex-col items-center justify-center gap-1.5`,children:e})}var w3=`default`;function T3(e){return e>=1e6?`${E3(e/1e6)}M`:e>=1e3?`${E3(e/1e3)}K`:String(e)}function E3(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/0+$/,``).replace(/\.$/,``)}var D3=[{value:872e3,models:[]}];function O3(e,t){let n=e??[],r=n.find(e=>e.contextWindow!==void 0),i=r?`Model default (${T3(r.contextWindow)} on ${r.displayName})`:`Model default`,a=new Map;for(let e of n)e.maxContextWindow===void 0||e.contextWindow===void 0||e.maxContextWindow<=e.contextWindow||a.set(e.maxContextWindow,[...a.get(e.maxContextWindow)??[],e.displayName]);let o=a.size?[...a.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>({value:e,models:t})):D3,s=[{value:w3,label:i}];for(let e of o){let t=o.length===1||e.models.length===0?`model maximum`:`${e.models.join(`, `)} maximum`;s.push({value:String(e.value),label:`${T3(e.value)} tokens (${t})`})}return t!==void 0&&!s.some(e=>e.value===String(t))&&s.push({value:String(t),label:`${T3(t)} tokens`}),s}var k3={permissionMode:`The permission mode new Claude Code threads launch with. Auto runs safe actions and asks you to approve the risky ones in the thread. Bypass launches the worker with --dangerously-skip-permissions: it never asks, so nothing waits on you and nothing is checked either. Takes effect on the next thread you dispatch; to change a thread that already exists, use the picker beside its model in the prompt box. Codex threads always run with full workspace access and are unaffected.`,promptCacheTtl:`Which prompt-cache tier a new Claude thread writes to. A 1-hour entry costs twice the input price to write, a 5-minute entry 1.25 times; the hour only pays off when the thread's cache actually survives that long. Measured 2026-09-03: cache writes were half of a day's spend and the entries were lost every 15 to 30 minutes regardless, so 5 minutes was the cheaper tier. Automatic leaves the choice to Claude Code, which picks 1 hour on a subscription. Takes effect on the next thread you dispatch and on a thread that resumes after its worker exited.`,autoCompactWindow:`How large a new Claude thread's conversation may grow, in tokens, before Claude Code compacts it. Frizz launches every Claude thread with the 1M context window, so without a ceiling a long thread keeps re-sending everything it has read on every turn; 500K halves that at the cost of an earlier summary. Takes effect on the next thread you dispatch and on a thread that resumes after its worker exited; a thread whose worker is already running keeps its current ceiling. A thread's context dial reads against the ceiling it was launched with, not the model's full window.`,codexContextWindow:`How much context a new Codex thread runs with, in tokens. The presets are the numbers in Codex's own model catalogue: the default model's stock window, and each larger window a listed model accepts (872K on GPT-5.6 and GPT-6; the model's 1M total minus the 128K it reserves for its reply). Codex compacts at 90% of whatever window the thread has, so a larger window is also a later compaction and a larger prompt re-sent on every turn. A model that does not accept the value keeps its own window (GPT-5.5 stays at 272K). Takes effect on the next thread you dispatch and on a thread Codex picks back up after a restart; a thread its app-server already holds keeps its current window. A thread's context dial reads the usable 95% of the window (828K for 872K).`,font:`Changes the interface reading font for this browser.`,localFileOpener:`Chooses how vetted local artifact links open. Markdown files open in Frizz's own reader (which carries an Open action that uses this setting), and image clicks always use the OS default viewer.`,density:`How much of a diff shows before you ask for it, in this browser. Compact collapses every diff to its header row (click one to open it); Comfortable shows them in full. Applies immediately.`,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.`,projectRail:`Shows a permanent column of every project on this machine down the left edge. Off by default: Frizz's home is one board, and a standing list of the others is an easy way to leave the thread you were in. With it off, the home crumb in the status bar is the way back to the projects page.`};function A3(){return typeof Notification>`u`?`unsupported`:Notification.permission}var j3=500,M3=1600,N3=2e3,P3=6;function F3(){let[e,t]=(0,I.useState)(`idle`),n=(0,I.useRef)(null),r=(0,I.useRef)(void 0),i=(0,I.useRef)(Promise.resolve()),a=(0,I.useRef)(0),o=(0,I.useRef)(void 0),s=(0,I.useRef)(0),c=(0,I.useRef)(()=>{}),l=(0,I.useCallback)(()=>{r.current!==void 0&&window.clearTimeout(r.current),r.current=void 0;let e=n.current;e&&(n.current=null,a.current+=1,t(`saving`),i.current=i.current.then(()=>Y.settingsSet(e)).then(e=>{_7.setQueryData([`settingsGet`],e),--a.current,s.current=0,!(a.current>0||n.current)&&(t(`saved`),o.current!==void 0&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>t(`idle`),M3))}).catch(i=>{--a.current,t(`error`),!(n.current||!gf(i)||s.current>=P3)&&(s.current+=1,n.current=e,r.current=window.setTimeout(c.current,N3))}))},[]);c.current=l;let u=(0,I.useCallback)((e,t=!1)=>{if(n.current=e,s.current=0,r.current!==void 0&&window.clearTimeout(r.current),r.current=void 0,!t)return l();r.current=window.setTimeout(l,j3)},[l]);return(0,I.useEffect)(()=>()=>{l(),o.current!==void 0&&window.clearTimeout(o.current)},[l]),{state:e,queue:u,flush:l}}function I3(){let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()}),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(A3()),{state:a,queue:o,flush:s}=F3(),[c,l]=(0,I.useState)(!1),[u,d]=(0,I.useState)(!1);(0,I.useEffect)(()=>{let e=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(e)},[]),(0,I.useEffect)(()=>(gd(p),()=>gd(null)),[]),(0,I.useEffect)(()=>{e.data&&!t&&n(e.data)},[e.data,t]);let f=(0,I.useCallback)((e,t)=>{n(e),o(e,t?.debounce)},[o]);function p(){u||(s(),d(!0),l(!1),window.setTimeout(()=>X.showSettings=!1,em()?0:210))}async function m(e){if(t){if(e&&typeof Notification<`u`&&Notification.permission==="default"){let e=await Notification.requestPermission();i(e)}f({...t,notifications:e})}}return(0,L.jsx)(`div`,{className:`${Xp} z-50 flex justify-end ${c?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,L.jsxs)(`div`,{className:`${Zp} w-[560px] max-w-[94vw] ${c?`translate-x-0`:`translate-x-full`}`,children:[(0,L.jsx)(kh,{title:`Settings`,actions:(0,L.jsx)(L3,{state:a}),onClose:p}),t?(0,L.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-5 flex flex-col gap-6`,children:[(0,L.jsx)(z3,{label:`Font`,help:k3.font,children:(0,L.jsx)(X3,{value:t.font??`mono`,onChange:e=>f({...t,font:e})})}),(0,L.jsx)(z3,{label:`Project sidebar`,help:k3.projectRail,children:(0,L.jsx)(GX,{variant:`bordered`,value:t.projectRail?`shown`:`hidden`,onValueChange:e=>f({...t,projectRail:e===`shown`}),options:[{value:`hidden`,label:`Hidden`},{value:`shown`,label:`Always shown`}],indicatorPosition:`right`,ariaLabel:`Project sidebar`})}),(0,L.jsx)(z3,{label:`Local file links`,help:k3.localFileOpener,children:(0,L.jsx)(GX,{variant:`bordered`,value:t.localFileOpener??`system`,onValueChange:e=>f({...t,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,L.jsx)(z3,{label:`Density`,help:k3.density,children:(0,L.jsx)(Q3,{})}),(0,L.jsx)(z3,{label:`Queue order`,help:k3.queueOrder,children:(0,L.jsx)($3,{})}),(0,L.jsxs)(z3,{label:`Desktop notifications`,help:k3.notifications,children:[(0,L.jsx)(Z3,{value:t.notifications,onChange:m}),t.notifications&&(0,L.jsx)(e6,{perm:r})]}),(0,L.jsx)(W3,{draft:t,setDraft:f}),(0,L.jsx)(G3,{draft:t,setDraft:f}),(0,L.jsx)(K3,{draft:t,setDraft:f})]}):(0,L.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`})]})})}function L3({state:e}){return e===`idle`?null:e===`error`?(0,L.jsx)(`span`,{className:`text-[11px] font-normal text-accent`,children:`Couldn't save`}):(0,L.jsx)(`span`,{className:`text-[11px] font-normal text-muted transition-opacity ${e===`saved`?`opacity-70`:`opacity-100`}`,children:e===`saving`?`Saving…`:`Saved`})}function R3({label:e,help:t}){return(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-muted`,children:[e,(0,L.jsx)(cM,{label:t,side:`right`,clickable:!0,children:(0,L.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,L.jsx)(Am,{size:12})})})]})}function z3({label:e,help:t,children:n}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsx)(R3,{label:e,help:t}),n]})}var B3=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}],V3=5e5,H3=[{value:`200000`,label:`200K tokens`},{value:`350000`,label:`350K tokens`},{value:`500000`,label:`500K tokens (default)`},{value:`750000`,label:`750K tokens`},{value:`1000000`,label:`1M tokens`}],U3=[{value:`auto`,label:`Automatic (default)`},{value:`5m`,label:`5 minutes`},{value:`1h`,label:`1 hour`}];function W3({draft:e,setDraft:t}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(q3,{label:`Claude`}),(0,L.jsx)(z3,{label:`Permissions`,help:k3.permissionMode,children:(0,L.jsx)(GX,{variant:`bordered`,value:e.permissionMode===`bypassPermissions`?`bypassPermissions`:`auto`,onValueChange:n=>t({...e,permissionMode:n}),options:az,indicatorPosition:`right`,ariaLabel:`Claude permission mode`})}),(0,L.jsx)(z3,{label:`Compaction window`,help:k3.autoCompactWindow,children:(0,L.jsx)(GX,{variant:`bordered`,value:String(e.autoCompactWindow??V3),onValueChange:n=>t({...e,autoCompactWindow:Number(n)}),options:H3,indicatorPosition:`right`,ariaLabel:`Claude compaction window`})}),(0,L.jsx)(z3,{label:`Prompt cache tier`,help:k3.promptCacheTtl,children:(0,L.jsx)(GX,{variant:`bordered`,value:e.promptCacheTtl??`auto`,onValueChange:n=>t({...e,promptCacheTtl:n}),options:U3,indicatorPosition:`right`,ariaLabel:`Claude prompt cache tier`})})]})}function G3({draft:e,setDraft:t}){let n=nt({queryKey:[`codexModels`],queryFn:()=>Y.codexModels()}),r=e.codexContextWindow,i=r===void 0?w3:String(r),a=O3(n.data,r);return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(q3,{label:`Codex`}),(0,L.jsx)(z3,{label:`Context window`,help:k3.codexContextWindow,children:(0,L.jsx)(GX,{variant:`bordered`,value:i,onValueChange:n=>t({...e,codexContextWindow:n==="default"?void 0:Number(n)}),options:a,indicatorPosition:`right`,ariaLabel:`Codex context window`})})]})}function K3({draft:e,setDraft:t}){let n=nt({queryKey:[`githubPromptDefaults`],queryFn:()=>Y.githubPromptDefaults()});return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(q3,{label:`Prompts`}),n.data?(0,L.jsx)(Y3,{label:`Issue and PR triage prompt`,help:`The prompt for every item dispatched from the GitHub picker, issues and PRs alike. The default has the worker read the whole thread, classify it, and branch — reproduce + fix-plan for a bug, a plan for a feature, an adversarial review for a PR.`,value:e.githubPrompt,fallback:n.data.prompt,onChange:(n,r)=>t({...e,githubPrompt:n},r)}):(0,L.jsx)(`div`,{className:`text-[12px] text-muted`,children:`Loading defaults…`})]})}function q3({label:e}){return(0,L.jsxs)(`div`,{className:`mt-4 mb-1 flex items-center gap-2.5 text-[11px] uppercase tracking-wide text-muted/70`,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`}),(0,L.jsx)(`span`,{className:`shrink-0`,children:e}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border/60`})]})}function J3(){let[e,t]=(0,I.useState)(!1);return(0,L.jsxs)(jV,{open:e,onOpenChange:t,children:[(0,L.jsx)(MV,{asChild:!0,children:(0,L.jsx)(`button`,{type:`button`,className:`shrink-0 text-[11px] transition-colors ${e?`text-accent`:`text-muted hover:text-accent`}`,children:`Tokens`})}),(0,L.jsxs)(PV,{side:`top`,align:`end`,className:`w-56 p-3`,children:[(0,L.jsx)(`div`,{className:`mb-2 text-[11px] font-medium text-fg`,children:`Substitution tokens`}),(0,L.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:B3.map(({token:e,gloss:t})=>(0,L.jsxs)(`li`,{className:`flex items-center justify-between gap-3 text-[11px]`,children:[(0,L.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,L.jsx)(`span`,{className:`text-muted/80`,children:t})]},e))})]})]})}function Y3({label:e,help:t,value:n,fallback:r,onChange:i}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsx)(R3,{label:e,help:t}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[n!=null&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,className:`text-[11px] text-muted hover:text-accent transition-colors`,onClick:()=>i(void 0),children:`Reset to default`}),(0,L.jsx)(`span`,{"aria-hidden":!0,className:`text-[11px] text-muted/40`,children:`·`})]}),(0,L.jsx)(J3,{})]})]}),(0,L.jsx)(`textarea`,{value:n??r,onChange:e=>i(e.target.value===``?void 0:e.target.value,{debounce:!0}),rows:10,className:`input resize-none text-[12px] leading-relaxed font-mono-keep`,spellCheck:!1})]})}function X3({value:e,onChange:t}){return(0,L.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,L.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 Z3({value:e,onChange:t}){return(0,L.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,L.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 Q3(){let{compactDiffs:e}=Zt(CT);return(0,L.jsx)(`div`,{className:`inline-flex w-fit rounded-md border border-border bg-bg p-0.5`,children:[{v:!1,label:`Comfortable`},{v:!0,label:`Compact`}].map(t=>(0,L.jsx)(`button`,{onClick:()=>CT.compactDiffs=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.label))})}function $3(){let{queueOrder:e}=Zt(CT);return(0,L.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,L.jsx)(`button`,{onClick:()=>CT.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 e6({perm:e}){return e===`denied`?(0,L.jsx)(n6,{}):(0,L.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 t6(){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 n6(){let e=(0,I.useMemo)(t6,[]),t=typeof location<`u`?location.origin:``,n=`${e===`edge`?`edge`:`chrome`}://settings/content/siteDetails?site=${encodeURIComponent(t)}`;return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 text-[11px] text-muted/70`,children:[(0,L.jsx)(`span`,{children:`Notifications are blocked for this site. Re-enable them in your browser, then reload.`}),e===`chrome`||e===`edge`?(0,L.jsx)(i6,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,L.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,r6(t),`, then reload.`]}):e===`firefox`?(0,L.jsx)(`span`,{children:`Firefox → Settings → Privacy & Security → Permissions → Notifications → Settings → allow this site.`}):(0,L.jsx)(`span`,{children:`Open this site's notification permission in your browser's settings and set it to Allow.`})]})}function r6(e){try{return new URL(e).host}catch{return e}}function i6({url:e,hint:t}){let[n,r]=(0,I.useState)(!1);async function i(){try{await JR(e),r(!0),window.setTimeout(()=>r(!1),1500)}catch{}}return(0,L.jsxs)(`span`,{className:`flex w-full flex-col gap-1`,children:[(0,L.jsx)(`span`,{children:t}),(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,L.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,L.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,L.jsx)(bm,{size:11,className:`text-live`}):(0,L.jsx)(Pm,{size:11})})]})]})}var a6=1,o6=.9,s6=.8,c6=.17,l6=.1,u6=.999,d6=.9999,f6=.99,p6=/[\\\/_+.#"@\[\(\{&]/,m6=/[\\\/_+.#"@\[\(\{&]/g,h6=/[\s-]/,g6=/[\s-]/g;function _6(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?a6:f6;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=_6(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=a6:p6.test(e.charAt(l-1))?(d*=s6,p=e.slice(i,l-1).match(m6),p&&i>0&&(d*=u6**+p.length)):h6.test(e.charAt(l-1))?(d*=o6,m=e.slice(i,l-1).match(g6),m&&i>0&&(d*=u6**+m.length)):(d*=c6,i>0&&(d*=u6**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=d6)),(d<l6&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=_6(e,t,n,r,l+1,a+2,o),f*l6>d&&(d=f*l6)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function v6(e){return e.toLowerCase().replace(g6,` `)}function y6(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,_6(e,t,v6(e),v6(t),0,0,{})}var b6=`[cmdk-group=""]`,x6=`[cmdk-group-items=""]`,S6=`[cmdk-group-heading=""]`,C6=`[cmdk-item=""]`,w6=`${C6}:not([aria-disabled="true"])`,T6=`cmdk-item-select`,E6=`data-value`,D6=(e,t,n)=>y6(e,t,n),O6=I.createContext(void 0),k6=()=>I.useContext(O6),A6=I.createContext(void 0),j6=()=>I.useContext(A6),M6=I.createContext(void 0),N6=I.forwardRef((e,t)=>{let n=q6(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=q6(()=>new Set),i=q6(()=>new Map),a=q6(()=>new Map),o=q6(()=>new Set),s=G6(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=mO(),y=mO(),b=mO(),x=I.useRef(null),S=X6();K6(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),K6(()=>{S(6,k)},[]);let C=I.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=A()?.id,C.emit()}),r||S(5,k),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=I.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=A();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??D6;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;j().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(x6);t?t.appendChild(e.parentElement===t?e:e.closest(`${x6} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${x6} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${b6}[${E6}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(E6);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 k(){var e;let t=A();t&&(t.parentElement?.firstChild===t&&((e=t.closest(b6)?.querySelector(S6))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return x.current?.querySelector(`${C6}[aria-selected="true"]`)}function j(){return Array.from(x.current?.querySelectorAll(w6)||[])}function M(e){let t=j()[e];t&&C.setState(`value`,t.getAttribute(E6))}function N(e){var t;let n=A(),r=j(),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(E6))}function P(e){let t=A()?.closest(b6),n;for(;t&&!n;)t=e>0?U6(t,b6):W6(t,b6),n=t?.querySelector(w6);n?C.setState(`value`,n.getAttribute(E6)):N(e)}let ee=()=>M(j().length-1),F=e=>{e.preventDefault(),e.metaKey?ee():e.altKey?P(1):N(1)},te=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?P(-1):N(-1)};return I.createElement(GD.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&&F(e);break;case`ArrowDown`:F(e);break;case`p`:case`k`:g&&e.ctrlKey&&te(e);break;case`ArrowUp`:te(e);break;case`Home`:e.preventDefault(),M(0);break;case`End`:e.preventDefault(),ee();break;case`Enter`:{e.preventDefault();let t=A();if(t){let e=new Event(T6);t.dispatchEvent(e)}}}}},I.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:$6},c),Q6(e,e=>I.createElement(A6.Provider,{value:C},I.createElement(O6.Provider,{value:w},e))))}),P6=I.forwardRef((e,t)=>{let n=mO(),r=I.useRef(null),i=I.useContext(M6),a=k6(),o=G6(e),s=o.current?.forceMount??i?.forceMount;K6(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=Y6(n,r,[e.value,e.children,r],e.keywords),l=j6(),u=J6(e=>e.value&&e.value===c.current),d=J6(e=>s||a.filter()===!1?!0:e.search?e.filtered.items.get(n)>0:!0);I.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(T6,f),()=>t.removeEventListener(T6,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 I.createElement(GD.div,{ref:OD(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)}),F6=I.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=mO(),s=I.useRef(null),c=I.useRef(null),l=mO(),u=k6(),d=J6(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);K6(()=>u.group(o),[]),Y6(o,s,[e.value,e.heading,c]);let f=I.useMemo(()=>({id:o,forceMount:i}),[i]);return I.createElement(GD.div,{ref:OD(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:d?void 0:!0},n&&I.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),Q6(e,e=>I.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},I.createElement(M6.Provider,{value:f},e))))}),I6=I.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=I.useRef(null),a=J6(e=>!e.search);return!n&&!a?null:I.createElement(GD.div,{ref:OD(i,t),...r,"cmdk-separator":``,role:`separator`})}),L6=I.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=j6(),o=J6(e=>e.search),s=J6(e=>e.selectedItemId),c=k6();return I.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),I.createElement(GD.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)}})}),R6=I.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=I.useRef(null),o=I.useRef(null),s=J6(e=>e.selectedItemId),c=k6();return I.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)}}},[]),I.createElement(GD.div,{ref:OD(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},Q6(e,e=>I.createElement(`div`,{ref:OD(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),z6=I.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return I.createElement(iL,{open:n,onOpenChange:r},I.createElement(uL,{container:o},I.createElement(fL,{"cmdk-overlay":``,className:i}),I.createElement(gL,{"aria-label":e.label,"cmdk-dialog":``,className:a},I.createElement(N6,{ref:t,...s}))))}),B6=I.forwardRef((e,t)=>J6(e=>e.filtered.count===0)?I.createElement(GD.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),V6=I.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return I.createElement(GD.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Q6(e,e=>I.createElement(`div`,{"aria-hidden":!0},e)))}),H6=Object.assign(N6,{List:R6,Item:P6,Input:L6,Group:F6,Separator:I6,Dialog:z6,Empty:B6,Loading:V6});function U6(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function W6(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function G6(e){let t=I.useRef(e);return K6(()=>{t.current=e}),t}var K6=typeof window>`u`?I.useEffect:I.useLayoutEffect;function q6(e){let t=I.useRef();return t.current===void 0&&(t.current=e()),t}function J6(e){let t=j6(),n=()=>e(t.snapshot());return I.useSyncExternalStore(t.subscribe,n,n)}function Y6(e,t,n,r=[]){let i=I.useRef(),a=k6();return K6(()=>{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(E6,s),i.current=s}),i}var X6=()=>{let[e,t]=I.useState(),n=q6(()=>new Map);return K6(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Z6(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Q6({asChild:e,children:t},n){return e&&I.isValidElement(t)?I.cloneElement(Z6(t),{ref:t.ref},n(t.props.children)):n(t)}var $6={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function e8(){let e=Zt(X),t=ZC(),[n,r]=(0,I.useState)(``);if((0,I.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=zT($C(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(){X.showPalette=!1}function c(e){e(),s()}function l(e){wp(e)}return(0,L.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,L.jsxs)(H6,{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,L.jsx)(H6.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,L.jsxs)(H6.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,L.jsx)(H6.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,L.jsxs)(H6.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,L.jsx)(t8,{value:`new thread create home`,onSelect:()=>c(()=>fp()),children:`New thread`}),(0,L.jsx)(t8,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{Up(X.drawers.map(e=>e.id)),X.view=`todos`}),children:`Queue`}),(0,L.jsx)(t8,{value:`open settings preferences`,onSelect:()=>c(()=>X.showSettings=!0),children:`Open settings`}),o&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(t8,{value:`open details drawer doc ${DT(o)}`,onSelect:()=>c(()=>{let e=Wp();e&&xp(`doc`,e)}),children:`Open thread details`}),(0,L.jsxs)(t8,{value:`mark complete done ${DT(o)}`,onSelect:()=>c(()=>Y.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,DT(o),`” complete`]}),(0,L.jsxs)(t8,{value:`mark read ${DT(o)}`,onSelect:()=>c(()=>Y.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,DT(o),`” read`]})]})]}),i.length>0&&(0,L.jsx)(H6.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,L.jsxs)(t8,{value:`${DT(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,L.jsx)(`span`,{className:`truncate`,children:DT(e)}),(0,L.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function t8({value:e,onSelect:t,children:n}){return(0,L.jsx)(H6.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 n8=`Updating and restarting Frizz`,r8=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`,i8=`Frizz did not come back`;function a8(e){return`${e?`Nothing has answered for ${e}.`:`Nothing is answering.`} Restart Frizz from the terminal with npx frizz (or frizz, if it is installed globally). This page reconnects on its own once the board is back.`}function o8(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 s8({open:e,message:t,stalled:n=!1,silentFor:r}){let i=(0,I.useRef)(null),[a,o]=(0,I.useState)(!1),s=e&&!n;if((0,I.useEffect)(()=>{n||o(!1)},[n]),(0,I.useEffect)(()=>{if(!s)return;let e=document.activeElement;e instanceof HTMLElement&&e.blur(),i.current?.focus({preventScroll:!0});let t=e=>{o8(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,t,{capture:!0}),()=>window.removeEventListener(`keydown`,t,{capture:!0})},[s]),!e)return null;if(n)return a?null:(0,L.jsx)(`div`,{className:`pointer-events-none fixed inset-x-0 top-6 z-[300] flex justify-center px-4`,children:(0,L.jsxs)(`div`,{role:`alert`,className:`pointer-events-auto w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-red-500/45 bg-elevated p-5 text-left shadow-2xl shadow-black/60`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,L.jsx)(`span`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-red-500/15 text-red-300`,children:(0,L.jsx)(Th,{"aria-hidden":`true`,size:14,strokeWidth:2.25})}),(0,L.jsx)(`h2`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-fg`,children:i8}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:()=>o(!0),className:`-mr-1 ml-auto 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 focus-visible:ring-1 focus-visible:ring-border-strong`,children:(0,L.jsx)(Dh,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2.5 text-[12px] leading-relaxed text-muted`,children:a8(r)})]})});let c=t?.trim()?t.trim():null;return(0,L.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":n8,className:`fixed inset-0 z-[300] flex items-center justify-center bg-black/55 px-4 backdrop-blur-md backdrop-saturate-150`,children:(0,L.jsxs)(`div`,{ref:i,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,L.jsx)(`span`,{className:`mx-auto flex h-11 w-11 items-center justify-center rounded-full bg-fg/10 text-fg`,children:(0,L.jsx)(ph,{size:20,strokeWidth:2.25,className:`animate-spin`,"aria-hidden":`true`})}),(0,L.jsx)(`h2`,{className:`mt-4 text-[15px] font-semibold tracking-[-0.01em] text-fg`,children:n8}),(0,L.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:r8}),c&&(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:c})]})})}var c8=!1;function l8(){c8||(c8=!0,Z("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function u8(){let e=Zt(X),t=(0,I.useRef)({projectDir:null,hasBeenVisible:!1});(0,I.useEffect)(()=>{Y.board().then(qp).catch(()=>{})},[]);let n=oy();(0,I.useEffect)(()=>Tw((e,t)=>n(e,t)),[n]);let{data:r,dataUpdatedAt:i}=SH(),a=(0,I.useRef)(null),[o,s]=(0,I.useState)(iH),c=(0,I.useRef)(null),l=(0,I.useRef)(!1);(0,I.useEffect)(()=>{let e=r;if(e){let t=sH({state:X.controlPlaneState,message:X.controlPlaneMessage,attempt:X.controlPlaneRestartAttempt},e);X.controlPlaneState=t.state,X.controlPlaneMessage=t.message,X.controlPlaneRestartAttempt=t.attempt,c.current===null&&(c.current=tH(e))}if(s(t=>aH(t,{restarting:X.controlPlaneState===`restarting`,answered:e!=null,at:Date.now()})),!e||l.current)return;let t=sessionStorage.getItem(ZV);if(lH({state:X.controlPlaneState,message:X.controlPlaneMessage,attempt:X.controlPlaneRestartAttempt},e)){if(t){sessionStorage.removeItem(ZV),sessionStorage.removeItem(QV),l.current=!0,window.location.replace(t);return}if(nH(c.current,e)){l.current=!0,window.location.reload();return}}if(e.state===`failed`&&t){let t=sessionStorage.getItem(`frizz:update-restart-from-version`)??void 0;sessionStorage.removeItem(ZV),sessionStorage.removeItem(QV),a.current!==e.message&&(a.current=e.message??`Update & Restart failed`,Z(`Update & Restart failed — ${eH($V(t,e)).summary}`,{duration:7e3}))}},[r,i]);let u=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,I.useEffect)(()=>{if(!u)return;let e=window.scrollY,t=document.body;return Od(),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,Od()??e)}},[u]);let d=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()});(0,I.useEffect)(()=>{X.notificationsEnabled=d.data?.notifications??!1},[d.data?.notifications]);let f=SR();(0,I.useEffect)(()=>{f.data?.inRepo&&!f.data.authed&&l8()},[f.data?.inRepo,f.data?.authed]),(0,I.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(),X.showPalette=!X.showPalette;else if(t===`i`){let t=Bp(),n=Wp();t?.kind===`doc`?(e.preventDefault(),xd(t.id)||X.drawers.pop()):n&&(e.preventDefault(),xp(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let p=ZC(),m=GW();(0,I.useEffect)(()=>{Tp()},[p,e.routeThreadSlug]),t.current=Ew(t.current,p);let h=p!==null&&t.current.hasBeenVisible,g=p===null&&Ow(Pd()),_=t.current.hasBeenVisible;(0,I.useEffect)(()=>{p!==null&&kw(Pd(),_)},[p,_]);let v=p?.projectLabel??p?.projectName;return(0,I.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?v??`Frizz`:v?`${v} — Frizz`:`Frizz`},[v]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(s8,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage,stalled:o.stalled,silentFor:o.silentSince===null?void 0:BE(o.silentForMs)}),(0,L.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`&&!o.stalled,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[m?(0,L.jsx)(zW,{}):(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(`div`,{className:`flex min-h-screen justify-center gap-[clamp(28px,3.4vw,52px)] px-5 max-[800px]:flex-col max-[800px]:justify-start max-[800px]:gap-0 max-[800px]:px-3`,children:[h&&(0,L.jsx)(jh,{label:`the sidebar`,children:(0,L.jsx)(BU,{})}),g&&(0,L.jsx)(`aside`,{"aria-hidden":!0,className:`sticky top-0 self-start h-screen w-[clamp(272px,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`,"data-sidebar-reserved":!0}),(0,L.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`||!p?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:p?(0,L.jsxs)(jh,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,L.jsx)(SW,{status:e.view.slice(7)}),e.view===`todos`&&(0,L.jsx)($4,{})]}):(0,L.jsx)(`div`,{className:`flex-1 flex items-center justify-center`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 rounded-full border-2 border-muted/50 border-t-transparent animate-spin`})})})]})}),(0,L.jsx)(P4,{}),e.showSettings&&(0,L.jsx)(I3,{}),e.showNewThread&&(0,L.jsx)(Lz,{onClose:()=>{X.showNewThread=!1}}),e.showGithubPicker&&(0,L.jsx)(d3,{onClose:mp}),(0,L.jsx)(e8,{})]})]})}function d8(e,t,n){let r=[...e];if(t<0||t>=r.length||n<0||n>=r.length||t===n)return r;let[i]=r.splice(t,1);return r.splice(n,0,i),r}function f8(e,t,n,r=48){let i=Math.round(t/r);return Math.max(0,Math.min(n-1,e+i))}function p8(e,t,n,r=48){return e===t?0:n>t&&e>t&&e<=n?-r:n<t&&e>=n&&e<t?r:0}function m8(e,t,n=44,r=14){let i=t.top+n-e;if(i>0)return-Math.min(r,i/n*r);let a=e-(t.bottom-n);return a>0?Math.min(r,a/n*r):0}var h8=`w-[57px]`,g8=`max-[800px]:pl-0 pl-[57px]`;function _8(e){let t=0;for(let n=0;n<e.length;n++)t=(t*31+e.charCodeAt(n))%360;return t}function v8(e){let t=e.split(/[\s\-_./]+/u).filter(Boolean);return t.length===0?`?`:t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[1][0]).toUpperCase()}function y8(e){let t=e.iconVersion?`&v=${encodeURIComponent(e.iconVersion)}`:``;return`/_frizz/project-icon?id=${encodeURIComponent(e.id)}${t}`}function b8({project:e,size:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),o=_8(e.id),s=e.iconStatus!==`none`,[c,l]=(0,I.useState)(!1),u=!s||c;return(0,L.jsxs)(`span`,{className:`relative block overflow-hidden rounded-[30%] bg-elevated`,style:{width:t,height:t,background:s&&!c?void 0:`hsl(${o} 32% 24%)`},children:[u&&(0,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center font-semibold leading-none`,style:{fontSize:t*.4,color:`hsl(${o} 55% 78%)`},children:(0,L.jsx)(`span`,{style:{textBox:`trim-both cap alphabetic`},children:v8(e.name)})}),s&&!c&&(0,L.jsx)(`img`,{src:y8(e),alt:``,width:t,height:t,loading:`eager`,decoding:`async`,onLoad:e=>{let t=e.currentTarget;t.naturalWidth>0&&t.naturalHeight>0&&a(Math.abs(t.naturalWidth/t.naturalHeight-1)<=.05),r(!0)},onError:()=>l(!0),className:`relative h-full w-full transition-opacity ${i?`object-cover`:`object-contain p-[6%]`} ${n?`opacity-100`:`opacity-0`}`})]})}var x8=40;function S8({project:e,current:t,count:n,index:r,drag:i,onPointerDown:a,onKeyDown:o}){let s=i?.fromIndex===r,c=i?s?i.deltaY:p8(r,i.fromIndex,i.toIndex):0;return(0,L.jsx)(cM,{side:`right`,disabled:i!==null,label:e.stale?`${e.name} — directory is missing`:n?`${e.name} — ${n} in the queue`:e.name,children:(0,L.jsxs)(Pb,{to:Fd(e.slug),"aria-current":t?`page`:void 0,"aria-grabbed":s||void 0,onPointerDown:e=>a(e,r),onKeyDown:e=>o(e,r),onClick:e=>{(i||E8())&&e.preventDefault()},onDragStart:e=>e.preventDefault(),className:`group relative flex h-10 w-full items-center justify-center outline-none ${s?`z-10 cursor-grabbing`:``}`,style:{transform:c?`translateY(${c}px)`:void 0,transition:s?`none`:`transform 160ms ease`},children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 w-[3px] rounded-r-full bg-fg transition-all duration-150 ${t?`h-7 opacity-100`:`h-2.5 opacity-0 group-hover:opacity-60`}`}),(0,L.jsx)(`span`,{className:`rounded-[30%] transition-[transform,opacity,box-shadow] duration-150 group-focus-visible:ring-1 group-focus-visible:ring-fg/60 ${s?`scale-[1.12] opacity-100 shadow-lg shadow-black/50`:`group-hover:scale-[1.06] ${t?``:`opacity-75 group-hover:opacity-100`}`} ${e.stale?`grayscale`:``}`,children:(0,L.jsx)(b8,{project:e,size:x8})}),n?(0,L.jsx)(`span`,{"aria-label":`${n} in the queue`,"data-rail-queue-count":n,className:`pointer-events-none absolute -bottom-[5px] right-[3px] flex h-[16px] min-w-[16px] items-center justify-center rounded-full border-[1.5px] border-bg bg-accent px-[3.5px] text-[10px] font-semibold leading-none proportional-nums text-bg`,children:(0,L.jsx)(`span`,{style:{textBox:`trim-both cap alphabetic`},children:n})}):null]})})}function C8({project:e,children:t}){let n=(0,I.useRef)(null),r=Ve(),i=()=>r.invalidateQueries({queryKey:[`projectsList`]}),a=e=>Z(e instanceof Error?e.message:String(e),{duration:7e3}),o=it({mutationFn:async t=>{let n=new Uint8Array(await t.arrayBuffer()),r=``;for(let e=0;e<n.length;e+=8192)r+=String.fromCharCode(...n.subarray(e,e+8192));return Y.projectIconSet({id:e.id,name:t.name,data:btoa(r)})},onSuccess:()=>void i(),onError:a}),s=it({mutationFn:()=>Y.projectIconClear({id:e.id}),onSuccess:()=>void i(),onError:a}),c=it({mutationFn:()=>Y.projectIconPick({id:e.id}),onSuccess:e=>{if(e.kind!==`cancelled`){if(e.kind===`unavailable`){n.current?.click();return}i()}},onError:()=>n.current?.click()}),l=`cursor-default rounded px-2 py-1.5 text-[12.5px] text-fg outline-none data-[highlighted]:bg-panel-2`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`input`,{ref:n,type:`file`,accept:ld.map(e=>`.${e}`).join(`,`),className:`hidden`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&o.mutate(t)}}),(0,L.jsxs)(II,{children:[(0,L.jsx)(LI,{asChild:!0,children:t}),(0,L.jsx)(RI,{children:(0,L.jsxs)(zI,{align:`start`,sideOffset:6,className:`z-[220] min-w-[190px] rounded-lg border border-border bg-panel p-1 shadow-xl shadow-black/40`,children:[(0,L.jsx)(HI,{className:l,onSelect:()=>c.mutate(),children:o.isPending?`Uploading…`:`Choose an icon…`}),(0,L.jsx)(HI,{className:l,onSelect:()=>s.mutate(),children:e.iconIsCustom?`Use the detected icon`:`Look for an icon again`})]})})]})]})}var w8=4,T8=0;function E8(){return Date.now()-T8<250}function D8(e,t){let n=nt({queryKey:[`projectsQueueCounts`],queryFn:()=>Y.projectsQueueCounts(),refetchInterval:5e3}),r=Zt(X).board,i=e!==void 0&&r?$C(r.threads).filter(HT).length:void 0,a=e===void 0?void 0:t.find(t=>t.slug===e)?.id;return e=>e.id===a&&i!==void 0?i:n.data?.[e.id]}function O8(){let e=Ve(),{data:t}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),n=Pd(),[r,i]=(0,I.useState)(!1),a=oy(),[o,s]=(0,I.useState)(null),[c,l]=(0,I.useState)(null),u=(0,I.useRef)(null),d=it({mutationFn:()=>Y.projectPick({}),onSuccess:e=>{e.kind===`picked`?a(Fd(e.project.slug)):e.kind===`unavailable`&&a(`/`)},onSettled:()=>i(!1)}),f=it({mutationFn:e=>Y.projectsReorder({ids:e}),onSuccess:async()=>{await e.invalidateQueries({queryKey:[`projectsList`]}),l(null)},onError:()=>l(null)}),p=c??t??[],m=D8(n,p),[h,g]=(0,I.useState)(!1);(0,I.useEffect)(()=>{let e=u.current;if(!e)return;let t=()=>g(e.scrollTop+e.clientHeight<e.scrollHeight-1);t(),e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(t);return n.observe(e),window.addEventListener(`resize`,t),()=>{e.removeEventListener(`scroll`,t),n.disconnect(),window.removeEventListener(`resize`,t)}},[p.length]);let _=(0,I.useCallback)((e,t)=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let n=e.currentTarget,r=e.clientY,i=p,a=!1,o=null,c=0,d=e=>{let n=u.current,a=0;if(n){let t=m8(e,n.getBoundingClientRect());if(t){let e=n.scrollTop;n.scrollTop+=t,a=n.scrollTop-e}}m+=a;let c=e-r+m;o={id:i[t].id,fromIndex:t,toIndex:f8(t,c,i.length),deltaY:c},s(o)},m=0,h=e=>{if(!a){if(Math.abs(e.clientY-r)<w8)return;a=!0,n.setPointerCapture(e.pointerId)}e.preventDefault();let t=e.clientY;cancelAnimationFrame(c);let i=()=>{d(t),u.current&&m8(t,u.current.getBoundingClientRect())&&(c=requestAnimationFrame(i))};c=requestAnimationFrame(i)},g=()=>{if(cancelAnimationFrame(c),window.removeEventListener(`pointermove`,h),window.removeEventListener(`pointerup`,g),window.removeEventListener(`pointercancel`,g),s(null),!a||!o)return;T8=Date.now();let e=d8(i,o.fromIndex,o.toIndex);o.fromIndex!==o.toIndex&&(l(e),f.mutate(e.map(e=>e.id)))};window.addEventListener(`pointermove`,h,{passive:!1}),window.addEventListener(`pointerup`,g),window.addEventListener(`pointercancel`,g)},[p,f]),v=(0,I.useCallback)((e,t)=>{if(!e.altKey||e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;let n=t+(e.key===`ArrowUp`?-1:1);if(n<0||n>=p.length)return;e.preventDefault();let r=d8(p,t,n);l(r),f.mutate(r.map(e=>e.id)),requestAnimationFrame(()=>{u.current?.querySelectorAll(`a`)[n]?.focus()})},[p,f]);return(0,L.jsxs)(`nav`,{"aria-label":`Projects`,className:`fixed inset-y-0 left-0 z-[60] flex flex-col items-center border-r border-border bg-panel/60 py-3 max-[800px]:hidden ${h8}`,children:[(0,L.jsx)(cM,{side:`right`,label:`All projects`,children:(0,L.jsx)(Pb,{to:`/`,"aria-label":`All projects`,"aria-current":n?void 0:`page`,className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted/70 outline-none transition-colors hover:bg-elevated hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60`,children:(0,L.jsx)(Jm,{size:17})})}),(0,L.jsx)(`hr`,{className:`my-2.5 w-6 shrink-0 border-0 border-t border-border`}),(0,L.jsx)(`div`,{ref:u,"data-overflowing":h||void 0,className:`frizz-rail-scroll flex w-full min-h-0 flex-1 flex-col items-center gap-2 overflow-y-auto pb-1.5`,children:p.map((e,t)=>(0,L.jsx)(S8,{project:e,index:t,current:e.slug===n,count:m(e),drag:o,onPointerDown:_,onKeyDown:v},e.id))}),(0,L.jsx)(cM,{side:`right`,label:`Add a project`,children:(0,L.jsx)(`button`,{type:`button`,disabled:r,onClick:()=>{i(!0),d.mutate()},"aria-label":`Add a project`,className:`mt-3 flex h-10 w-10 shrink-0 items-center justify-center rounded-[30%] border-[1.5px] border-dotted border-border-strong text-muted/80 outline-none transition-colors hover:border-accent hover:text-fg focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:(0,L.jsx)(fh,{size:16})})})]})}var k8=76;function A8(e,t){return t&&e.startsWith(`${t}/`)?`~${e.slice(t.length)}`:e}var j8=`flex flex-col gap-1 rounded-lg border px-4 py-3 outline-none transition-colors focus-visible:ring-1 focus-visible:ring-fg/60`,M8=`max-[700px]:rounded-none max-[700px]:border-x-0 max-[700px]:border-t-0 max-[700px]:border-b-border/70 max-[700px]:bg-transparent max-[700px]:py-3.5`,N8=38;function P8({project:e,home:t}){let n=pE(e.lastOpenedAt),[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(`div`,{className:`group/card relative`,children:[(0,L.jsxs)(Pb,{to:Fd(e.slug),className:`${j8} ${M8} flex-row items-center gap-3 border-border bg-panel pr-10 group-hover/card:border-border-strong group-hover/card:bg-panel-2 ${e.stale?`opacity-60`:``}`,children:[(0,L.jsx)(`span`,{className:`shrink-0 ${e.stale?`grayscale`:``}`,children:(0,L.jsx)(b8,{project:e,size:N8})}),(0,L.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,L.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium text-fg`,children:e.name}),e.slug===e.name?null:(0,L.jsxs)(`span`,{className:`max-w-[45%] shrink-0 truncate font-mono text-[11px] text-muted/70`,children:[`/`,e.slug]})]}),(0,L.jsx)(`span`,{className:`truncate text-[11px] text-muted`,title:e.path,children:A8(e.path,t)}),(0,L.jsx)(`span`,{className:`truncate text-[11px] text-muted/70`,children:e.stale?`Directory is missing`:n?`Opened ${n}`:`Never opened`})]})]}),(0,L.jsx)(C8,{project:e,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`Change the icon for ${e.name}`,style:{width:N8,height:N8},className:`absolute left-[17px] top-1/2 flex -translate-y-1/2 items-center justify-center rounded-[30%] bg-black/75 text-fg opacity-0 outline-none transition-opacity hover:opacity-100 focus-visible:opacity-100 focus-visible:ring-1 focus-visible:ring-fg/60 data-[state=open]:opacity-100 max-[700px]:left-4 max-[700px]:top-[calc(50%-0.5px)]`,children:(0,L.jsx)(Ym,{size:16,strokeWidth:1.75})})}),(0,L.jsx)(F8,{onDelete:()=>i(!0),children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`More actions for ${e.name}`,className:`absolute right-[8px] top-1/2 flex h-7 w-7 -translate-y-1/2 items-center justify-center rounded-md text-muted opacity-0 outline-none transition-opacity hover:bg-panel-2 hover:text-fg focus-visible:opacity-100 focus-visible:ring-1 focus-visible:ring-fg/60 group-hover/card:opacity-100 data-[state=open]:opacity-100 max-[700px]:right-[7px] max-[700px]:opacity-100`,children:(0,L.jsx)(Fm,{size:15})})}),r?(0,L.jsx)(I8,{project:e,home:t,onClose:()=>i(!1)}):null]})}function F8({onDelete:e,children:t}){return(0,L.jsxs)(II,{children:[(0,L.jsx)(LI,{asChild:!0,children:t}),(0,L.jsx)(RI,{children:(0,L.jsx)(zI,{align:`end`,sideOffset:6,className:`z-[220] min-w-[170px] rounded-lg border border-border bg-panel p-1 shadow-xl shadow-black/40`,children:(0,L.jsx)(HI,{className:`cursor-default rounded px-2 py-1.5 text-[12.5px] text-red-400 outline-none data-[highlighted]:bg-red-500/10 data-[highlighted]:text-red-300`,onSelect:e,children:`Delete project…`})})})]})}function I8({project:e,home:t,onClose:n}){let[r,i]=(0,I.useState)(!1),a=Ve(),o=it({mutationFn:()=>Y.projectRemove({id:e.id,deleteData:r}),onSuccess:t=>{a.invalidateQueries({queryKey:[`projectsList`]}),Z(t.stoppedWorkers>0?`Deleted ${e.name} — ${t.stoppedWorkers} ${t.stoppedWorkers===1?`worker`:`workers`} stopped`:`Deleted ${e.name}`),n()}}),s=o.error instanceof Error?o.error.message:o.error?String(o.error):null;return(0,L.jsx)(uZ,{open:!0,onOpenChange:e=>{!e&&!o.isPending&&n()},title:`Delete ${e.name}?`,className:`w-[440px] max-w-[92vw]`,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,onClick:n,disabled:o.isPending,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,L.jsxs)(`button`,{type:`button`,onClick:()=>o.mutate(),disabled:o.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:[o.isPending&&(0,L.jsx)(eh,{size:12,className:`animate-spin`}),r?`Delete project and threads`:`Delete project`]})]}),children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-3 p-4 text-[12.5px] leading-relaxed text-muted`,children:[(0,L.jsxs)(`p`,{children:[`Frizz forgets this project. The folder itself is not touched — nothing inside`,` `,(0,L.jsx)(`span`,{className:`font-mono text-[11.5px] text-fg/80`,children:A8(e.path,t)}),` is changed or removed.`]}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md border border-border bg-bg/30 px-2.5 py-2 text-fg/85`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:r,onChange:e=>i(e.target.checked),className:`mt-[3px] accent-[var(--color-accent)]`}),(0,L.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,L.jsx)(`span`,{children:`Also delete its threads and history`}),(0,L.jsx)(`span`,{className:`text-[11.5px] text-muted/80`,children:r?`Everything Frizz has stored for this project, and any workers still running are stopped. This cannot be undone.`:`Left off, its threads are kept — adding the folder again brings the board back.`})]})]}),s?(0,L.jsx)(`p`,{className:`text-[11.5px] text-red-400`,children:s}):null]})})}function L8({hero:e,pending:t,onClick:n}){return(0,L.jsxs)(`button`,{type:`button`,onClick:n,disabled:t,className:`${j8} items-center justify-center gap-1.5 border-dashed border-border-strong bg-transparent text-muted hover:border-accent hover:text-fg max-[700px]:mx-4 max-[700px]:mt-4 ${e?`min-h-[118px]`:`min-h-[74px]`}`,children:[(0,L.jsx)(`span`,{className:`text-[17px] leading-none text-muted/70`,children:`+`}),(0,L.jsx)(`span`,{className:`text-[12.5px]`,children:t?`Choosing a folder…`:`Add a project`}),e?(0,L.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:`Point Frizz at a folder on this machine`}):null]})}function R8({reason:e,proposed:t,onClose:n}){let[r,i]=(0,I.useState)(t??``),a=oy(),o=Ve(),s=it({mutationFn:e=>Y.projectAdd({path:e}),onSuccess:e=>{o.invalidateQueries({queryKey:[`projectsList`]}),a(Fd(e.slug))}}),c=s.error instanceof Error?s.error.message:s.error?String(s.error):null;return(0,L.jsx)(iL,{open:!0,onOpenChange:e=>{!e&&!s.isPending&&n()},children:(0,L.jsxs)(uL,{children:[(0,L.jsx)(fL,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(gL,{"aria-modal":`true`,"aria-describedby":void 0,className:`fixed left-1/2 top-1/2 z-[210] w-[460px] max-w-[90vw] -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,L.jsx)(xL,{className:`mb-1 text-[14px] font-medium`,children:t?`Add this folder as a project?`:`Add a project`}),(0,L.jsx)(`p`,{className:`mb-3.5 text-[12.5px] leading-relaxed text-muted`,children:t?`You ran Frizz here and it is not a project yet. Nothing has been written — adding it is what creates its board.`:e?`${e}. Paste the folder instead — Frizz walks up to the repository root, the same way it does when you run it in a terminal.`:`Paste the folder you want a board for. Frizz walks up to the repository root, the same way it does when you run it in a terminal.`}),(0,L.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),s.isPending||s.mutate(r)},children:[(0,L.jsx)(`input`,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),placeholder:`~/code/my-project`,spellCheck:!1,className:`w-full rounded-md border bg-bg px-2.5 py-2 font-mono text-[12px] text-fg outline-none placeholder:text-muted/50 focus-visible:ring-1 focus-visible:ring-fg/60 ${c?`border-red-500/60`:`border-border-strong`}`}),c?(0,L.jsx)(`p`,{className:`mt-1.5 text-[11.5px] text-red-400`,children:c}):null,(0,L.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,L.jsx)(`button`,{type:`button`,onClick:n,disabled:s.isPending,className:`rounded-md border border-border-strong bg-elevated px-3 py-1.5 text-[12.5px] text-fg outline-none hover:bg-panel-2 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:t?`Not now`:`Cancel`}),(0,L.jsx)(`button`,{type:`submit`,disabled:s.isPending||r.trim().length===0,className:`rounded-md border border-accent bg-accent px-3 py-1.5 text-[12.5px] font-medium text-bg outline-none hover:brightness-110 focus-visible:ring-1 focus-visible:ring-fg/60 disabled:opacity-50`,children:s.isPending?`Adding…`:t?`Add it`:`Add project`})]})]})]})]})})}function z8(){let[e]=(0,I.useState)(()=>{let e=new URLSearchParams(location.search).get(`add`)??void 0;return e&&history.replaceState(null,``,location.pathname),e}),[t,n]=(0,I.useState)(e?{}:null);(0,I.useEffect)(()=>{let e=new URLSearchParams(location.search).get(`unknown`);e&&(history.replaceState(null,``,location.pathname),Z(`No project named ${e} — showing all projects instead`,{duration:7e3}))},[]);let r=oy(),i=Ve(),a=it({mutationFn:()=>Y.projectPick({}),onSuccess:e=>{if(e.kind!==`cancelled`){if(e.kind===`unavailable`){n({reason:e.reason});return}i.invalidateQueries({queryKey:[`projectsList`]}),r(Fd(e.project.slug))}},onError:e=>n({reason:e instanceof Error?e.message:String(e)})}),{data:o,isPending:s,error:c}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),l=o?.[0]?.path.match(/^(\/(?:Users|home)\/[^/]+)\//u)?.[1],u=o!==void 0&&o.length===0;return(0,L.jsxs)(`div`,{className:`flex min-h-dvh w-full flex-col px-6 py-14 max-[700px]:px-0 max-[700px]:py-10`,children:[(0,L.jsxs)(`div`,{className:`m-auto flex w-full flex-col items-center`,children:[(0,L.jsxs)(`div`,{className:`mb-8 flex flex-col items-center gap-2.5 text-center`,children:[(0,L.jsx)(`img`,{src:`/favicon.svg`,width:k8,height:k8,alt:``,className:`rounded-[17px]`}),(0,L.jsx)(`h1`,{className:`text-[19px] font-semibold tracking-[-0.01em] text-fg`,children:u?`Welcome to Frizz`:`Select a project`}),u?(0,L.jsx)(`p`,{className:`max-w-[420px] text-[13px] leading-relaxed text-muted`,children:`A project is a folder on this machine. Frizz keeps one board of threads per project, and serves them all from here.`}):null]}),c?(0,L.jsxs)(`p`,{className:`text-[13px] text-muted`,children:[`Could not read the project registry: `,String(c)]}):s?(0,L.jsx)(`p`,{className:`text-[13px] text-muted`,children:`Loading…`}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`grid w-full gap-2.5 max-[700px]:gap-0 ${u?`max-w-[360px] grid-cols-1`:`max-w-[720px] grid-cols-1 sm:grid-cols-2`}`,children:[o.map(e=>(0,L.jsx)(P8,{project:e,home:l},e.id)),(0,L.jsx)(L8,{hero:u,pending:a.isPending,onClick:()=>a.mutate()})]}),u?(0,L.jsxs)(`p`,{className:`mt-6 text-[11.5px] text-muted/70`,children:[`Or run`,` `,(0,L.jsx)(`code`,{className:`rounded border border-border bg-panel px-1.5 py-0.5 font-mono text-muted`,children:`frizz`}),` `,`inside any folder — it registers itself and opens.`]}):null]})]}),t?(0,L.jsx)(R8,{reason:t.reason,proposed:e,onClose:()=>n(null)}):null]})}function B8(e,t,n){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),i=0;for(let e=r.nextNode();e;e=r.nextNode()){if(e===t)return i+n;i+=e.textContent?.length??0}if(t instanceof Element&&e.contains(t)){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0;for(let e=n.nextNode();e;e=n.nextNode())(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING||t.contains(e))&&(r+=e.textContent?.length??0);return r}return null}function V8(e,t){let n=1,r=Math.min(t,e.length);for(let t=0;t<r;t++)e.charCodeAt(t)===10&&n++;return n}function H8({slug:e,path:t}){let n=rC(t),r=ew(t),i=nt({...sC(t),refetchInterval:r?!1:cC}),a=i.data?.path??t,o=i.data?.markdown??``,{front:s,body:c}=O4(n?o:``),[l,u]=(0,I.useState)(n?`rendered`:`source`),d=eq(c,{baseDir:aC(a),asDocument:!0}),f=zq(d),p=zq((0,I.useMemo)(()=>l===`source`?dC(a,o):``,[o,a,l])),m=(0,I.useRef)(null),h=(0,I.useRef)(null),g=(0,I.useRef)(null);Qq(m,d);let _=np(a),v=Mz(),y=Nz(e);return(0,I.useEffect)(()=>{let t=()=>document.querySelector(`main[data-standalone-thread] textarea`);function n(e,t){return e?document.activeElement!==e&&e.selectionStart===0&&e.selectionEnd===0&&e.value.length>0?t.length:Math.min(e.selectionStart??t.length,t.length):t.length}function r(r){if(!(r.metaKey||r.ctrlKey)||r.altKey||r.shiftKey||r.key.toLowerCase()!==`i`)return;let i=g.current,s=window.getSelection(),c=s&&!s.isCollapsed&&s.rangeCount>0?s.getRangeAt(0):null,l=!!(i&&c&&i.contains(c.commonAncestorContainer)),u=l?s.toString():``;if(!l||!u.trim()){r.preventDefault(),r.stopPropagation();let e=t();if(!e)return;document.activeElement!==e&&e.selectionStart===0&&e.selectionEnd===0&&e.value.length>0&&e.setSelectionRange(e.value.length,e.value.length),e.focus();return}r.preventDefault(),r.stopPropagation();let d=null,f=h.current;if(f&&f.contains(c.commonAncestorContainer)){let e=B8(f,c.startContainer,c.startOffset),t=B8(f,c.endContainer,c.endOffset);e!==null&&t!==null&&(d={startLine:V8(o,Math.min(e,t)),endLine:V8(o,Math.max(0,Math.max(e,t)-1))})}else d=XL(o,u);let p=t(),m=jz.followUp(v,e,y),{prose:_,attachments:b}=zL(kz.get(m)),x=qL(VL({path:a,...d??{}}),X.composerContext[e]??[],_),S=JL(_,n(p,_),x);kz.set(m,BL(S.prose,b.map(e=>e.path))),Lp(e,{token:x,path:a,text:u,...d??{}}),s.removeAllRanges(),requestAnimationFrame(()=>{let e=t();e&&(e.setSelectionRange(S.caret,S.caret),e.focus())})}return window.addEventListener(`keydown`,r,!0),()=>window.removeEventListener(`keydown`,r,!0)},[e,a,o,v,y]),(0,L.jsxs)(`div`,{ref:g,"data-file-viewer-panel":!0,className:`flex h-full min-h-0 flex-col`,children:[(0,L.jsx)(kh,{title:_,subtitle:a,onClose:Fp,actions:n?(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-0.5 rounded-md border border-border-strong p-0.5 text-[11px] font-medium`,role:`group`,"aria-label":`File view`,children:[`rendered`,`source`].map(e=>(0,L.jsx)(`button`,{type:`button`,onClick:()=>u(e),"aria-pressed":l===e,className:`rounded px-2 py-0.5 transition-colors ${l===e?`bg-panel-2 text-fg`:`text-muted hover:text-fg`}`,children:e===`rendered`?`Rendered`:`Source`},e))}):null}),(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto px-5 py-4`,children:[i.isLoading?(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`Loading…`}):i.error?(0,L.jsxs)(`div`,{className:`text-[13px] text-red-400/90`,children:[`Couldn’t read this file: `,i.error.message]}):l===`source`?o?(0,L.jsx)(`pre`,{ref:h,className:`hljs whitespace-pre-wrap break-words bg-transparent font-mono-keep text-[12px] leading-5 text-fg/90`,style:{tabSize:2},dangerouslySetInnerHTML:p}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`}):d?(0,L.jsxs)(L.Fragment,{children:[s&&(0,L.jsx)(j4,{source:s}),(0,L.jsx)(`div`,{ref:m,className:`md-body`,dangerouslySetInnerHTML:f})]}):(0,L.jsx)(`div`,{className:`text-[13px] text-muted`,children:`This file is empty.`}),!i.isLoading&&!i.error&&i.data?.truncated&&(0,L.jsx)(`p`,{className:`mt-4 border-t border-border/60 pt-3 text-[12px] text-muted`,children:`This file is too long to render in full — everything above the cut is shown. Open it to read the rest.`})]}),(0,L.jsxs)(`div`,{className:`shrink-0 flex items-center justify-between gap-3 border-t border-border/60 bg-panel px-5 pt-3`,style:k4,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-muted/70`,children:`Select text and press ⌘I to add it to the chat`}),(0,L.jsx)(A4,{path:a})]})]})}function U8(){return{dirs:new Map,files:new Map}}function W8(e,t){let n=e.replace(/[\\/]+$/,``);if(t){let e=op(t,n);if(e!==null)return Xf(e)}let r=Xf(n);return/^[\\/]/.test(n)?[`/`,...r]:r}var G8=(e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`,numeric:!0});function K8(e,t){let n=[];for(let r of[...e.dirs.keys()].sort(G8)){let i=e.dirs.get(r),a=r;for(;i.files.size===0&&i.dirs.size===1;){let[e,t]=[...i.dirs.entries()][0];a=a===`/`?`/${e}`:`${a}/${e}`,i=t}n.push({kind:`dir`,name:a,depth:t,children:K8(i,t+1)})}for(let r of[...e.files.keys()].sort(G8))n.push({kind:`file`,name:r,depth:t,file:e.files.get(r)});return n}function q8(e,t){let n=U8();for(let r of e){let e=W8(r.path,t);if(e.length===0)continue;let i=n;for(let t of e.slice(0,-1)){let e=i.dirs.get(t);e||(e=U8(),i.dirs.set(t,e)),i=e}i.files.set(e[e.length-1],r)}return K8(n,0)}function J8(e){let t=[],n=e=>{for(let r of e)t.push(r),r.kind===`dir`&&n(r.children)};return n(e),t}var Y8=10;function X8({name:e,depth:t}){return(0,L.jsxs)(`div`,{"data-file-dir":e,className:`flex items-baseline text-[12px] leading-5 text-muted/70`,style:{paddingLeft:t*Y8},children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:(0,L.jsx)(zm,{size:12,className:`${I$} text-muted/45`})}),(0,L.jsx)(`span`,{className:`ml-[5px] min-w-0 truncate`,title:e,children:e})]})}function Z8({files:e}){return(0,L.jsx)(`div`,{"data-edited-file-tree":!0,className:`col-span-4 flex flex-col gap-y-px`,children:J8(q8(e,QC())).map(e=>e.kind===`dir`?(0,L.jsx)(X8,{name:e.name,depth:e.depth},`d:${e.depth}:${e.name}`):(0,L.jsx)(Q8,{file:e.file,name:e.name,depth:e.depth},e.file.path))})}function Q8({file:e,name:t,depth:n}){let r=Ve();return(0,L.jsx)(J$,{testKind:`file`,testId:e.path,mark:(0,L.jsx)(Lm,{size:12,className:`${I$} -mr-[2px] text-muted/60`}),name:t,indent:n*Y8,onOpen:()=>Aq(e.path),onPrewarm:()=>pC(r,e.path),title:e.path,status:(0,L.jsxs)(L.Fragment,{children:[(e.added??0)>0&&(0,L.jsxs)(`span`,{style:{color:qE.fgSuccess},children:[`+`,e.added]}),(e.added??0)>0&&(e.removed??0)>0&&` `,(e.removed??0)>0&&(0,L.jsxs)(`span`,{style:{color:qE.fgDanger},children:[`−`,e.removed]})]})})}function $8({thread:e}){let t=kE(),n=dw(e.id,{poll:!1}).data?.editedFiles??[],r=t1(e),i=(e.bgShells??[]).filter(e=>e.state===`running`),a=(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`),o=(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`),{railFilesCollapsed:s}=Zt(CT),c=[{head:`Sub-agents`,rows:r.map(n=>(0,L.jsx)(n1,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)($$,{shell:n,slug:e.id,now:t},n.id??n.label))},{head:`Pull requests`,rows:a.map(e=>(0,L.jsx)(Y$,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(e1,{watch:e,now:t},e.id))},{head:`Edited files`,rows:n.length>0?[(0,L.jsx)(Z8,{files:n},`tree`)]:[],count:n.length,collapsed:s,onToggle:()=>CT.railFilesCollapsed=!CT.railFilesCollapsed}].filter(e=>e.rows.length>0);return(0,L.jsx)(`aside`,{"data-focus-rail":!0,"aria-label":`Thread activity`,className:`flex h-full shrink-0 flex-col overflow-y-auto px-4 [view-transition-name:thread-rail]`,style:{width:340},children:(0,L.jsx)(`div`,{className:`my-auto py-6`,children:c.length===0?(0,L.jsx)(`div`,{className:`text-[11.5px] text-muted/50`,children:`Nothing running, watched or edited yet.`}):(0,L.jsx)(c1,{groups:c,divider:!1})})})}function e5(){let e=Zt(X),t=e.toast,[n,r]=(0,I.useState)(!1),i=e.drawers.some(e=>!e.closing);return(0,I.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,L.jsx)(`div`,{className:`pointer-events-none fixed right-4 z-[70] flex justify-end ${i?`bottom-20`:`bottom-4`}`,children:(0,L.jsxs)(`div`,{"data-toast":!0,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex max-w-[min(30rem,calc(100vw-2rem))] items-center gap-2.5 break-words 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,L.jsx)(eh,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,L.jsx)(`button`,{onClick:()=>{xp(`thread`,t.link.slug),X.toast=null},className:`pointer-events-auto shrink-0 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 t5=`max(50%, calc(100% - 720px))`,n5={"--full-thread":`min(720px, ${t5})`,"--full-thread-narrow":`min(720px, 100%)`,"--full-pane":t5,"--full-gutter":`max(0px, calc((100% - min(720px, ${t5}) - 340px) / 2))`};function r5(e,t){return`${Fd(e)}${Vd(t,`/`)}`}function i5({slug:e}){let t=!!Zt(X).filePanel,n=ZC(),r=kd(n,e),i=r.kind===`found`?r.thread:void 0;n?.projectDir,(0,I.useEffect)(()=>{Y.board().then(qp).catch(()=>{})},[]),(0,I.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${Qp}px)`),t=()=>{X.splitFileViewer=e.matches};return t(),e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t),X.splitFileViewer=!1,X.filePanel=null}},[]);let a=i?.runtime===`turn-idle`||i?.runtime===`exited`||i?.runtime===`none`;return(0,I.useEffect)(()=>{!i||!a||Y.threadSeen({slug:e}).catch(()=>{})},[a,e,i?.lastActivityAt]),(0,I.useEffect)(()=>{let t=n?.projectLabel??n?.projectName,r=i?DT(i):e;document.title=t?`${r} · ${t} — Frizz`:`${r} · Frizz`},[n?.projectLabel,n?.projectName,e,i]),(0,L.jsx)(sM,{children:(0,L.jsxs)(`div`,{className:`h-dvh min-h-0 bg-bg text-sm text-fg`,children:[(0,L.jsx)(`div`,{className:`h-full w-full overflow-hidden`,children:(0,L.jsxs)(`div`,{className:`flex h-full w-full justify-center transition-transform duration-200 ease-out motion-reduce:transition-none split:justify-start`,style:{...n5,transform:t?`translateX(calc(-1 * var(--full-gutter)))`:void 0},children:[(0,L.jsx)(`div`,{className:`hidden w-[var(--full-gutter)] shrink-0 split:block`,"aria-hidden":`true`}),(0,L.jsx)(`main`,{"data-standalone-thread":!0,className:`flex h-full w-[var(--full-thread-narrow)] min-w-0 shrink-0 flex-col overflow-hidden border-border bg-panel sm:border-x split:w-[var(--full-thread)] [view-transition-name:thread-chat]`,children:r.kind===`loading`?(0,L.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,role:`status`,"aria-label":`Loading thread`,children:(0,L.jsx)(`span`,{className:`block h-5 w-5 animate-spin rounded-full border-2 border-muted/50 border-t-transparent`})}):r.kind===`missing`?(0,L.jsx)(o5,{slug:e}):(0,L.jsx)(V0,{slug:e,virtualized:!0,showReturnToQueue:!0})}),i?(0,L.jsx)(a5,{slug:e,thread:i}):(0,L.jsx)(`div`,{className:`hidden w-[var(--full-pane)] shrink-0 split:block`,"aria-hidden":`true`})]})}),(0,L.jsx)(P4,{}),(0,L.jsx)(e5,{})]})})}function a5({slug:e,thread:t}){let n=Zt(X).filePanel,[r,i]=(0,I.useState)(null),a=n?.path??r;return(0,I.useEffect)(()=>{if(n){i(n.path);return}let e=window.setTimeout(()=>i(null),210);return()=>window.clearTimeout(e)},[n]),(0,L.jsxs)(`div`,{"data-side-pane":!0,className:`relative hidden h-full w-[var(--full-pane)] min-h-0 min-w-0 shrink-0 grow-0 overflow-hidden split:block`,children:[(0,L.jsx)(`div`,{inert:n?!0:void 0,className:`h-full min-h-0`,children:(0,L.jsx)($8,{thread:t})}),(0,L.jsx)(`aside`,{"data-file-viewer-slot":!0,"aria-hidden":!n,className:`absolute inset-0 transition-[translate,opacity] duration-200 ease-out motion-reduce:transition-none ${n?`translate-x-0 opacity-100`:`translate-x-full opacity-0`}`,children:a&&(0,L.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-panel`,children:(0,L.jsx)(H8,{slug:e,path:a},a)})})]})}function o5({slug:e}){let{data:t,isPending:n}=nt({queryKey:[`threadLocate`,e],queryFn:()=>Y.threadLocate({slug:e})});return(0,I.useEffect)(()=>{t?.length===1&&location.replace(r5(t[0].projectSlug,e))},[t,e]),(0,L.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h1`,{className:`font-medium text-fg`,children:`Thread unavailable`}),n?(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Looking for “`,e,`” in your other projects…`]}):t&&t.length>0?(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`“`,e,`” lives in `,t.length===1?`another project`:`these projects`,` — opening it there.`]}):(0,L.jsxs)(`p`,{className:`mt-1 text-muted`,children:[`Thread “`,e,`” was not found in any project on this machine.`]})]}),t&&t.length>1?(0,L.jsx)(`div`,{className:`flex flex-wrap justify-center gap-2`,children:t.map(t=>(0,L.jsx)(`a`,{href:r5(t.projectSlug,e),className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:t.projectName},t.projectSlug))}):(0,L.jsx)(`a`,{href:`/`,className:`rounded-md border border-border px-3 py-1.5 text-[12px] text-fg/90 hover:bg-panel-2`,children:`All projects`})]})}var s5={OPEN_ISSUE:{bg:qE.bgSuccessEmphasis,icon:km,label:`Open`},CLOSED_ISSUE:{bg:qE.bgDoneEmphasis,icon:Dm,label:`Closed`},NOT_PLANNED:{bg:qE.bgNeutralEmphasis,icon:jm,label:`Closed as not planned`},OPEN_PR:{bg:qE.bgSuccessEmphasis,icon:Gm,label:`Open`},DRAFT:{bg:qE.bgNeutralEmphasis,icon:Wm,label:`Draft`},MERGED:{bg:qE.bgDoneEmphasis,icon:Hm,label:`Merged`},CLOSED_PR:{bg:qE.bgDangerEmphasis,icon:Um,label:`Closed`}};function c5(e){return e.kind===`commit`?null:e.state===`MERGED`?`MERGED`:e.state===`DRAFT`?`DRAFT`:e.state===`OPEN`?e.kind===`pr`?`OPEN_PR`:`OPEN_ISSUE`:e.state===`CLOSED`?e.kind===`pr`?`CLOSED_PR`:e.stateReason===`NOT_PLANNED`?`NOT_PLANNED`:`CLOSED_ISSUE`:null}function l5(e,t=Date.now()){if(!e)return``;let n=new Date(e);if(Number.isNaN(n.getTime()))return``;let r=n.getFullYear()===new Date(t).getFullYear();return n.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...r?{}:{year:`numeric`}})}function u5(e,t=Date.now()){if(!e)return``;let n=Date.parse(e);return Number.isFinite(n)?Math.floor(Math.max(0,t-n)/864e5)>=360?`on ${l5(e,t)}`:vE(e,t)??``:``}function d5(e,t){let n=e+t;if(n<=0)return[,,,,,].fill(`none`);let r=Math.min(5,Math.floor(e/n*5)),i=Math.min(5-r,Math.floor(t/n*5));return[...Array(r).fill(`add`),...Array(i).fill(`del`),...Array(5-r-i).fill(`none`)]}var f5={add:qE.fgSuccess,del:qE.fgDanger},p5={add:{backgroundColor:qE.bgSuccessEmphasis,borderColor:qE.bgSuccessEmphasis},del:{backgroundColor:qE.bgDangerEmphasis,borderColor:qE.bgDangerEmphasis},none:{backgroundColor:`${qE.bgNeutralEmphasis}33`,borderColor:`#3d444d`}};function m5({additions:e,deletions:t}){return(0,L.jsxs)(`div`,{className:`flex items-baseline gap-1.5 text-[12px] tabular-nums`,children:[(0,L.jsxs)(`span`,{"data-gh-add":!0,style:{color:f5.add},children:[`+`,e.toLocaleString()]}),(0,L.jsxs)(`span`,{"data-gh-del":!0,style:{color:f5.del},children:[`−`,t.toLocaleString()]}),(0,L.jsx)(`span`,{"data-gh-blocks":!0,className:`ml-0.5 inline-flex gap-[1px] self-baseline translate-y-[calc(4px_-_0.5cap)]`,children:d5(e,t).map((e,t)=>(0,L.jsx)(`span`,{className:`size-[8px] rounded-[2px] border`,style:p5[e]},t))})]})}function h5({card:e}){let t=c5(e),n=t?s5[t]:void 0;if(!n)return null;let r=n.icon;return(0,L.jsxs)(`span`,{"data-gh-pill":!0,className:`inline-flex items-baseline gap-1 rounded-full px-2.5 py-1 text-[12px] font-medium text-white`,style:{backgroundColor:n.bg},children:[(0,L.jsx)(r,{strokeWidth:2,"aria-hidden":!0,className:`size-[1.1em] shrink-0 self-baseline -mr-px translate-y-[calc(0.55em_-_0.5cap)]`}),(0,L.jsx)(`span`,{"data-gh-pill-label":!0,children:n.label})]})}function g5({name:e,color:t}){let n=/^[0-9a-fA-F]{6}$/.test(t)?`#${t}`:`#8b8f96`;return(0,L.jsx)(`span`,{className:`inline-flex items-center rounded-full border px-2 py-[1px] text-[11px] font-medium`,style:{color:n,backgroundColor:`${n}26`,borderColor:`${n}59`},children:e})}var _5=/`([^`\n]+)`/g;function v5(e,t){if(!t)return[e];let n=[],r=0;for(let t of e.matchAll(_5))t.index>r&&n.push(e.slice(r,t.index)),n.push({code:t[1]}),r=t.index+t[0].length;return r<e.length&&n.push(e.slice(r)),n}function y5({text:e,code:t,className:n}){return(0,L.jsx)(`div`,{className:n,children:v5(e,t).map((e,t)=>typeof e==`string`?e:(0,L.jsx)(`code`,{className:`rounded-[3px] bg-panel-2 px-[3px] py-[1px] font-mono-keep text-[0.92em]`,children:e.code},t))})}var b5=new Set([`avatars.githubusercontent.com`,`camo.githubusercontent.com`]);function x5(e){if(e)try{let t=new URL(e);return t.protocol===`https:`&&b5.has(t.hostname)?e:void 0}catch{return}}function S5({card:e,nowMs:t}){let n=x5(e.authorAvatar),r=e.authorLogin??e.authorName??`Someone`,i=e.kind===`commit`?`committed`:e.kind===`pr`?`opened this pull request`:`opened this issue`,a=u5(e.at,t);return(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border px-3 py-2 text-[12px] text-muted`,children:[n?(0,L.jsx)(`img`,{"data-gh-avatar":!0,src:n,alt:``,className:`size-[18px] shrink-0 rounded-full`}):(0,L.jsx)(`span`,{"data-gh-avatar":!0,className:`size-[18px] shrink-0 rounded-full bg-border`}),(0,L.jsxs)(`span`,{"data-gh-byline-text":!0,className:`truncate`,children:[(0,L.jsx)(`span`,{className:`text-fg`,children:r}),` `,i,` `,a]})]})}var C5=`w-[360px] max-w-[min(360px,calc(100vw-24px))] leading-normal`;function w5({card:e,nowMs:t=Date.now()}){let n=e.additions!==void 0&&e.deletions!==void 0;if(e.kind===`commit`)return(0,L.jsxs)(`div`,{className:C5,children:[(0,L.jsxs)(`div`,{className:`flex items-baseline gap-2 px-3 pt-3 pb-2.5`,children:[(0,L.jsx)(`span`,{"data-gh-commit-glyph":!0,className:`shrink-0 self-baseline -mr-px text-[14px] translate-y-[calc(0.5em_-_0.5cap)]`,children:(0,L.jsx)(Vm,{className:`size-[1em] text-muted`,"aria-hidden":!0})}),(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(`a`,{"data-gh-title":!0,href:e.url,target:`_blank`,rel:`noreferrer noopener`,tabIndex:-1,className:`block text-[14px] font-semibold leading-snug text-fg hover:underline`,children:e.title}),e.body?(0,L.jsx)(y5,{text:e.body,code:!1,className:`mt-1.5 line-clamp-6 text-[12px] text-muted`}):null,n?(0,L.jsx)(`div`,{className:`mt-2.5`,children:(0,L.jsx)(m5,{additions:e.additions,deletions:e.deletions})}):null]})]}),(0,L.jsx)(S5,{card:e,nowMs:t})]});let r=e.ref.slice(e.ref.indexOf(`#`));return(0,L.jsxs)(`div`,{className:C5,children:[(0,L.jsxs)(`div`,{className:`px-3 pt-3 pb-3`,children:[(0,L.jsxs)(`div`,{className:`text-[12px] text-muted`,children:[(0,L.jsx)(`span`,{className:`underline decoration-border underline-offset-2`,children:e.repo}),e.at?` on ${l5(e.at,t)}`:``]}),(0,L.jsxs)(`a`,{"data-gh-title":!0,href:e.url,target:`_blank`,rel:`noreferrer noopener`,tabIndex:-1,className:`mt-1 block text-[14px] font-semibold leading-snug text-fg hover:underline`,children:[e.title,` `,(0,L.jsx)(`span`,{className:`font-normal text-muted`,children:r})]}),(0,L.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,L.jsx)(h5,{card:e}),n?(0,L.jsx)(m5,{additions:e.additions,deletions:e.deletions}):null]})]}),e.body||e.labels.length>0?(0,L.jsxs)(`div`,{className:`border-t border-border px-3 py-2.5`,children:[e.body?(0,L.jsx)(y5,{text:e.body,code:!0,className:`line-clamp-2 text-[12px] text-muted`}):null,e.labels.length>0?(0,L.jsx)(`div`,{className:`flex flex-wrap gap-1 ${e.body?`mt-2`:``}`,children:e.labels.map(e=>(0,L.jsx)(g5,{name:e.name,color:e.color},e.name))}):null]}):null,(0,L.jsx)(S5,{card:e,nowMs:t})]})}var T5=250,E5=180;function D5(e){let t=e.getClientRects()[0]??e.getBoundingClientRect();return{top:t.top,left:t.left,width:t.width,height:t.height}}function O5(){let[e,t]=(0,I.useState)(null),n=(0,I.useRef)(void 0),r=(0,I.useRef)(void 0),i=(0,I.useRef)(!1),a=(0,I.useCallback)(()=>{clearTimeout(n.current),clearTimeout(r.current),n.current=void 0,r.current=void 0},[]),o=(0,I.useCallback)(()=>{clearTimeout(r.current),r.current=setTimeout(()=>{i.current||t(null)},E5)},[]);return(0,I.useEffect)(()=>{let i=i=>{if(i.pointerType!==`mouse`)return;let a=i.target?.closest?.(`a[data-gh-ref]`)??null,o=a?.getAttribute(`data-gh-ref`);!a||!o||(clearTimeout(r.current),e?.ref!==o&&(clearTimeout(n.current),Ff([o]),n.current=setTimeout(()=>t({ref:o,rect:D5(a)}),T5)))},a=e=>{e.pointerType===`mouse`&&e.target?.closest?.(`a[data-gh-ref]`)&&(clearTimeout(n.current),o())};return document.addEventListener(`pointerover`,i),document.addEventListener(`pointerout`,a),()=>{document.removeEventListener(`pointerover`,i),document.removeEventListener(`pointerout`,a)}},[e?.ref,o]),(0,I.useEffect)(()=>{if(!e)return;let n=()=>{i.current=!1,a(),t(null)};return window.addEventListener(`scroll`,n,!0),window.addEventListener(`resize`,n),()=>{window.removeEventListener(`scroll`,n,!0),window.removeEventListener(`resize`,n)}},[e,a]),(0,I.useEffect)(()=>a,[a]),(0,L.jsxs)(jV,{open:e!==null,children:[(0,L.jsx)(NV,{asChild:!0,children:(0,L.jsx)(`span`,{"aria-hidden":!0,className:`pointer-events-none fixed`,style:{top:e?.rect.top??0,left:e?.rect.left??0,width:e?.rect.width??0,height:e?.rect.height??0}})}),e?(0,L.jsx)(PV,{side:`top`,align:`start`,sideOffset:8,alignOffset:-8,"aria-hidden":!0,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),onPointerEnter:()=>{i.current=!0,clearTimeout(r.current)},onPointerLeave:()=>{i.current=!1,o()},className:`overflow-hidden`,children:(0,L.jsx)(k5,{refKey:e.ref})}):null]})}function k5({refKey:e}){let t=(0,I.useSyncExternalStore)(Af,()=>jf(e),()=>jf(e));return(0,I.useEffect)(()=>{Mf(jf(e))&&zf(e)},[e]),t?.card?(0,L.jsx)(w5,{card:t.card}):(0,L.jsx)(`div`,{className:`flex h-[64px] w-[220px] items-center px-3 text-[12px] text-muted`,children:t?.missing?`Not found on GitHub`:`Loading…`})}var A5=`frizz-project-rail`;function j5(){try{return localStorage.getItem(A5)===`shown`}catch{return!1}}function M5(e){try{localStorage.setItem(A5,e?`shown`:`hidden`)}catch{}}function N5(){iy();let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet(),placeholderData:ee}).data?.projectRail;return(0,I.useEffect)(()=>{e!==void 0&&M5(e===!0)},[e]),e===void 0?j5():e===!0}var P5=`/project/:slug`;function F5(){B5();let e=N5();return(0,L.jsxs)(sM,{children:[e?(0,L.jsx)(O8,{}):null,(0,L.jsx)(`div`,{className:e?g8:void 0,children:(0,L.jsx)(By,{})}),(0,L.jsx)(e5,{}),(0,L.jsx)(O5,{})]})}function I5(e){(0,I.useEffect)(()=>{MC(e)||(Kp(),YC())},[e])}function L5(){let{slug:e,thread:t}=uy();return I5(e),z5(),(0,I.useState)(()=>Op(t)),(0,L.jsx)(u8,{},e??`__launching__`)}function R5(){return(0,L.jsx)(z8,{})}function z5(){let e=iy();(0,I.useEffect)(()=>{bw(Ld(e.pathname))},[e.pathname])}function B5(){let e=oy();(0,I.useEffect)(()=>(Cw((t,n)=>e(t,n)),()=>Cw(null)),[e])}function V5(){let{thread:e,slug:t}=uy();return B5(),I5(t),(0,I.useState)(()=>{X.drawers.length>0&&(X.drawers=[])}),Dp(e),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(i5,{slug:e}),(0,L.jsx)(e5,{})]})}var H5=[{index:!0,element:(0,L.jsx)(L5,{})},{path:`thread/:thread`,element:(0,L.jsx)(L5,{})},{path:`status/:status`,element:(0,L.jsx)(L5,{})}],U5=Ab([{path:`/thread/:thread/full`,element:(0,L.jsx)(V5,{})},{path:`${P5}/thread/:thread/full`,element:(0,L.jsx)(V5,{})},{element:(0,L.jsx)(F5,{}),children:[{path:`/`,element:(0,L.jsx)(R5,{})},{path:`/thread/:thread`,element:(0,L.jsx)(L5,{})},{path:`/status/:status`,element:(0,L.jsx)(L5,{})},{path:P5,children:H5},{path:`*`,element:(0,L.jsx)(L5,{})}]}]),W5=24,G5=6,K5=700,q5=new Map,J5=null,Y5=null;function X5(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function Z5(e){return X.board?.threads.find(t=>t.id===e)?.lastActivityAt}function Q5(){let e=[...q5.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of q5){if(n.observers<=0){n.live&&(n.live=!1,GC(e)),q5.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,GC(e)))}$5()}function $5(){Y5||[...q5.values()].some(e=>e.queued)&&(Y5=setTimeout(()=>{Y5=null;let e=0,t=[...q5.values()].filter(e=>e.live).length;for(let[n,r]of q5){if(e>=G5||t>=W5)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=Z5(n),WC(n),e++))}$5()},K5))}function e7(){if(J5)for(let[e,t]of q5){if(t.observers<=0)continue;let n=Z5(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&X.socketTranscripts)&&(X.socketTranscriptFallbacks[e]||J5.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function t7(e){J5||(J5=e,e.getQueryCache().subscribe(e=>{let t=X5(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=q5.get(t);e.type===`observerAdded`?(q5.delete(t),q5.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:Z5(t)})):r&&(r.observers=n),Q5()}),Jt(X,e7))}var n7=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,r7=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function i7(e){let t=e===`mono`?`mono`:`sans`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?r7:n7);try{localStorage.setItem(`frizz-font`,t)}catch{}}function a7(e){let t=e.getQueryData([`settingsGet`]);t&&i7(t.font),Y.settingsGet().then(e=>i7(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&i7(t.font)})}function o7(){let e=e=>{if(e.button!==0||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`.${FS}`):null;t&&(e.preventDefault(),e.stopPropagation(),c7(t))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}function s7(e){return e.closest(`.md-code`)?.querySelector(`pre code`)??null}async function c7(e){let t=s7(e);if(!t)return;let n=(t.textContent??``).replace(/\n$/,``);if(n){try{await JR(n)}catch(e){Z(`Could not copy code: ${e.message.slice(0,100)}`,{duration:7e3});return}u7(e)}}var l7=new WeakMap;function u7(e){e.classList.add(IS),e.title=`Copied`;let t=l7.get(e);t!==void 0&&window.clearTimeout(t),l7.set(e,window.setTimeout(()=>{e.classList.remove(IS),e.title=LS,l7.delete(e)},v1))}var d7=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function f7(){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||!n.startsWith(`/`))return;let r=Pd(n);if(r&&r!==Pd())return;let i=d7.exec(Ld(n));i&&(e.preventDefault(),e.stopPropagation(),wp(i[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var p7=new Set([`projectsList`,`projectsQueueCounts`,`threadLocate`,`dispatchPreferencesGet`,`supervisorStatus`]);function m7(e){let t=e[0];return typeof t==`string`&&p7.has(t)?T(e):T([`project:${Pd()??``}`,...e])}var h7=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),g7=typeof window<`u`?Hd(Ld()):null;!h7&&!g7&&xw();var _7=new Le({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1,queryKeyHashFn:m7}}});h7||(XC(_7),t7(_7),wH(_7),a7(_7),LQ(),Oq(),o7(),f7()),h7||(0,at.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(He,{client:_7,children:(0,L.jsx)(Fh,{children:(0,L.jsx)(Iy,{router:U5})})}));export{a as i,Bd as n,ze as r,cb as t};
|