frizz 0.12.1 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/claude-agent-broker.js +3 -7
- package/dist/codex-app-server-daemon.js +18 -4
- package/dist/dev-child.js +1151 -870
- package/dist/frizz.js +6 -0
- package/package.json +1 -1
- package/web-dist/assets/{TerminalPane-B1tNgepq.js → TerminalPane-D5Tx2hu9.js} +1 -1
- package/web-dist/assets/{abnfDiagram-VRR7QNED-C-0I2Feo.js → abnfDiagram-VRR7QNED-BO0tgRMu.js} +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-lCPPJORL.js +1 -0
- package/web-dist/assets/{architectureDiagram-ZJ3FMSHR-5k4peR_3.js → architectureDiagram-ZJ3FMSHR-TCJFLj-i.js} +1 -1
- package/web-dist/assets/{blockDiagram-677ZJIJ3-BW9lpPO1.js → blockDiagram-677ZJIJ3-BRd9xJTz.js} +1 -1
- package/web-dist/assets/{c4Diagram-LMCZKHZV-gTvX_Y0U.js → c4Diagram-LMCZKHZV-BxlNYwY8.js} +1 -1
- package/web-dist/assets/channel-tGE7Gbbs.js +1 -0
- package/web-dist/assets/{chunk-32BRIVSS-C8vG0TZe.js → chunk-32BRIVSS-o0wtC3P5.js} +1 -1
- package/web-dist/assets/{chunk-52WLFC77-D0-irGOb.js → chunk-52WLFC77-C_bt24w7.js} +1 -1
- package/web-dist/assets/{chunk-C7G6YPKG-Damd-YiB.js → chunk-C7G6YPKG-DlsBv-nI.js} +1 -1
- package/web-dist/assets/{chunk-EX3LRPZG-BIBNY4nG.js → chunk-EX3LRPZG-Y_Debiw-.js} +1 -1
- package/web-dist/assets/{chunk-FWX5IMBZ-D4Ur--1p.js → chunk-FWX5IMBZ-D_9nCJ43.js} +2 -2
- package/web-dist/assets/{chunk-HOUHSVGY-CVXtpiCg.js → chunk-HOUHSVGY-Bzhu2UoJ.js} +1 -1
- package/web-dist/assets/{chunk-ICXQ74PX-C23GvVE0.js → chunk-ICXQ74PX-CwJVbXqL.js} +1 -1
- package/web-dist/assets/{chunk-MOJQB5TN-Bvmynh3h.js → chunk-MOJQB5TN-DPm_X7tz.js} +1 -1
- package/web-dist/assets/{chunk-OGEWGWER-BqQnr6op.js → chunk-OGEWGWER-1m3zk2ed.js} +1 -1
- package/web-dist/assets/{chunk-PUDLZKDR-BW1vhete.js → chunk-PUDLZKDR-D2Bnu5zc.js} +1 -1
- package/web-dist/assets/{chunk-Q4XR5HBZ-Dg2-yKFk.js → chunk-Q4XR5HBZ-DJZtjVxI.js} +1 -1
- package/web-dist/assets/{chunk-V7JOEXUC-iIIhDWCz.js → chunk-V7JOEXUC-BQVKbxnn.js} +1 -1
- package/web-dist/assets/{chunk-VAUOI2AC--SsJNJQ_.js → chunk-VAUOI2AC-TwOgVbMm.js} +1 -1
- package/web-dist/assets/{chunk-VR4S4FIN-SpDDIDKl.js → chunk-VR4S4FIN-DlG1lzSj.js} +1 -1
- package/web-dist/assets/{chunk-WYO6CB5R-DIObprNf.js → chunk-WYO6CB5R-Ckk8qoao.js} +1 -1
- package/web-dist/assets/{chunk-ZGVPDNZ5-CIjpBbL-.js → chunk-ZGVPDNZ5-CZxmPZzT.js} +1 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-CQo4x1hj.js +1 -0
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-CQo4x1hj.js +1 -0
- package/web-dist/assets/{cynefin-VYW2F7L2-CmAuhNNk.js → cynefin-VYW2F7L2-CioP0cgr.js} +1 -1
- package/web-dist/assets/{cynefinDiagram-TSTJHNR4-B-8sxYE3.js → cynefinDiagram-TSTJHNR4-BJZpJw_3.js} +1 -1
- package/web-dist/assets/{dagre-VKFMJZFB-rMqddpxv.js → dagre-VKFMJZFB-BGv33WEE.js} +1 -1
- package/web-dist/assets/{diagram-FQU43EPY-CcSGTzGC.js → diagram-FQU43EPY-CvhxVWTl.js} +1 -1
- package/web-dist/assets/{diagram-G47NLZAW-1bv1SDU9.js → diagram-G47NLZAW-DnrPOeE0.js} +1 -1
- package/web-dist/assets/{diagram-NH7WQ7WH-DP_7FVNi.js → diagram-NH7WQ7WH-CazuXXkX.js} +1 -1
- package/web-dist/assets/{diagram-OA4YK3LP-BC7zSQ_n.js → diagram-OA4YK3LP-DfbFhbQs.js} +1 -1
- package/web-dist/assets/{diagram-WEI45ONY-DnWoY3ss.js → diagram-WEI45ONY-BESpc3Oj.js} +1 -1
- package/web-dist/assets/{ebnfDiagram-CCIWWBDH-DQvaFaem.js → ebnfDiagram-CCIWWBDH-C6h37W51.js} +1 -1
- package/web-dist/assets/{erDiagram-Q63AITRT-DrfafCjs.js → erDiagram-Q63AITRT-vCxGREHo.js} +1 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-C517fJsQ.js +1 -0
- package/web-dist/assets/flowDiagram-23GEKE2U-IrjbjjxF.js +1 -0
- package/web-dist/assets/{ganttDiagram-NO4QXBWP-B1niKUL6.js → ganttDiagram-NO4QXBWP-B5l9XyZe.js} +1 -1
- package/web-dist/assets/{gitGraph-TEB2WS4Q-BmpQWnXu.js → gitGraph-TEB2WS4Q-CQpssLnk.js} +1 -1
- package/web-dist/assets/{gitGraphDiagram-IHSO6WYX-DHbWnvhX.js → gitGraphDiagram-IHSO6WYX-j95eUOjO.js} +1 -1
- package/web-dist/assets/{index-ChKvnpjw.js → index-Dzq6GPUo.js} +6 -6
- package/web-dist/assets/{info-DKCQHKI2-C5dmsO4x.js → info-DKCQHKI2-CiW0hhEI.js} +1 -1
- package/web-dist/assets/{infoDiagram-FWYZ7A6U-Cdv7Pawh.js → infoDiagram-FWYZ7A6U-BJwJPEq2.js} +1 -1
- package/web-dist/assets/{ishikawaDiagram-FXEZZL3T-BwdMFTVa.js → ishikawaDiagram-FXEZZL3T-Ck4D0hT_.js} +1 -1
- package/web-dist/assets/{journeyDiagram-5HDEW3XC-DXwHf8Te.js → journeyDiagram-5HDEW3XC-Bz8PK7lM.js} +1 -1
- package/web-dist/assets/{kanban-definition-HUTT4EX6-Bwe2UMg8.js → kanban-definition-HUTT4EX6-Kqt3cah4.js} +1 -1
- package/web-dist/assets/{line-CHwK75-Q.js → line-Dl7tIumR.js} +1 -1
- package/web-dist/assets/{mermaid-parser.core-DPt_XLrX.js → mermaid-parser.core-C_aHybiE.js} +3 -3
- package/web-dist/assets/{mermaid.core-DTEprUMo.js → mermaid.core-Dv6lgZxU.js} +3 -3
- package/web-dist/assets/{mindmap-definition-LN4V7U3C-B6nU7yZ9.js → mindmap-definition-LN4V7U3C-EkN_2bUd.js} +1 -1
- package/web-dist/assets/{packet-7NZHBO7P-DgH2_Myt.js → packet-7NZHBO7P-LL-j9b42.js} +1 -1
- package/web-dist/assets/{pegDiagram-2B236MQR-CcJMsm4C.js → pegDiagram-2B236MQR-CrNUBIKh.js} +1 -1
- package/web-dist/assets/{pie-RZYD4A2V-D7GdDOZL.js → pie-RZYD4A2V-8wZ8AyeT.js} +1 -1
- package/web-dist/assets/{pieDiagram-ENE6RG2P-eER4uywi.js → pieDiagram-ENE6RG2P-BSUUt2Vt.js} +1 -1
- package/web-dist/assets/{quadrantDiagram-ABIIQ3AL-DS7rTWdN.js → quadrantDiagram-ABIIQ3AL-BmRRE-b9.js} +1 -1
- package/web-dist/assets/{radar-I7S5WNFK-A0W49mjL.js → radar-I7S5WNFK-BZ8i3wPh.js} +1 -1
- package/web-dist/assets/{railroad-3IZDKUUU-BKzJ3mls.js → railroad-3IZDKUUU-Bvq-p3jW.js} +1 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-DIZeZa-B.js +1 -0
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-DVn3xHNX.js +1 -0
- package/web-dist/assets/railroad-peg-LSFZ7HO6-BvLcJu_d.js +1 -0
- package/web-dist/assets/{railroadDiagram-RFXS5EU6-Ov2VgnIL.js → railroadDiagram-RFXS5EU6-CH0DOBjJ.js} +1 -1
- package/web-dist/assets/{requirementDiagram-TGXJPOKE-BRJ85Yhv.js → requirementDiagram-TGXJPOKE-ytS-raWw.js} +1 -1
- package/web-dist/assets/{sankeyDiagram-HTMAVEWB---zsi4tQ.js → sankeyDiagram-HTMAVEWB-BU49ulmu.js} +1 -1
- package/web-dist/assets/{sequenceDiagram-DBY2YBRQ-AAMnjV2O.js → sequenceDiagram-DBY2YBRQ-C1edCLps.js} +1 -1
- package/web-dist/assets/{stateDiagram-2N3HPSRC-Rjiga0k5.js → stateDiagram-2N3HPSRC-C049S4Yj.js} +1 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-D-Et-Cj1.js +1 -0
- package/web-dist/assets/{swimlanes-5IMT3BWC-D0Lhg3tV.js → swimlanes-5IMT3BWC-KNWNnFDx.js} +1 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-DQNRnHXT.js +8 -0
- package/web-dist/assets/{timeline-definition-FHXFAJF6-Cxq73h1K.js → timeline-definition-FHXFAJF6-D8Z-Q8JO.js} +1 -1
- package/web-dist/assets/{treeView-QDETBFTQ-CIwv1s2P.js → treeView-QDETBFTQ-CvyDkH5p.js} +1 -1
- package/web-dist/assets/{treemap-6X3UGDF4-BR7vnt3b.js → treemap-6X3UGDF4-COwCP95k.js} +1 -1
- package/web-dist/assets/{vennDiagram-L72KCM5P-B8nj-bxp.js → vennDiagram-L72KCM5P-DHKE_6N3.js} +1 -1
- package/web-dist/assets/{wardley-OPB4EBWU-D2n_leYo.js → wardley-OPB4EBWU-CYWcYdsx.js} +1 -1
- package/web-dist/assets/{wardleyDiagram-EHGQE667-Nc-IHRMn.js → wardleyDiagram-EHGQE667-BS3OkOU_.js} +1 -1
- package/web-dist/assets/{xychartDiagram-FW5EYKEG-C4B5u2-g.js → xychartDiagram-FW5EYKEG-Df4GdNEo.js} +1 -1
- package/web-dist/index.html +1 -1
- package/web-dist/assets/architecture-TIHT7OUA-WFjHvmXr.js +0 -1
- package/web-dist/assets/channel-B0ZL14bg.js +0 -1
- package/web-dist/assets/classDiagram-OUVF2IWQ-DRFJ6yYB.js +0 -1
- package/web-dist/assets/classDiagram-v2-EOCWNBFH-DRFJ6yYB.js +0 -1
- package/web-dist/assets/eventmodeling-45OFAUF4-5EP2o0h2.js +0 -1
- package/web-dist/assets/flowDiagram-23GEKE2U-DNJa8Ru6.js +0 -1
- package/web-dist/assets/railroad-abnf-AHOZXSZD-D4UPY4zZ.js +0 -1
- package/web-dist/assets/railroad-ebnf-EBAXGLYW-DlLwAaep.js +0 -1
- package/web-dist/assets/railroad-peg-LSFZ7HO6-C25TXnXG.js +0 -1
- package/web-dist/assets/stateDiagram-v2-6OUMAXLB-CQOSUkD8.js +0 -1
- package/web-dist/assets/swimlanesDiagram-G3AALYLV-B26FPpIT.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-D5Tx2hu9.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/mermaid.core-Dv6lgZxU.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-C4XfhTaE.js","assets/chunk-WYO6CB5R-Ckk8qoao.js","assets/chunk-ICXQ74PX-CwJVbXqL.js","assets/dist-DoH_9pyS.js","assets/chunk-VAUOI2AC-TwOgVbMm.js","assets/chunk-HOUHSVGY-Bzhu2UoJ.js","assets/chunk-Q4XR5HBZ-DJZtjVxI.js","assets/chunk-7BUUIJ7U-Bb538aSH.js","assets/chunk-OGEWGWER-1m3zk2ed.js","assets/chunk-C7G6YPKG-DlsBv-nI.js","assets/chunk-ZGVPDNZ5-CZxmPZzT.js","assets/rough.esm-CSKSodPl.js","assets/chunk-52WLFC77-C_bt24w7.js","assets/line-Dl7tIumR.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-FWX5IMBZ-D_9nCJ43.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),ep._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(`
|
|
@@ -127,7 +127,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
|
|
|
127
127
|
`)}`;var xu=[Tl,wl,El];function Su(e){for(let t of xu){let n=e.lastIndexOf(t);if(n<0||e.slice(n+t.length).trim()!==``)continue;let r=e.slice(0,n).trimEnd();return r===``?e:r}return e}var Cu=/\n+⏱ Frizz: the message above arrived [^\n]* after your last one\. It is now \d{4}-\d{2}-\d{2} \d{2}:\d{2}\.[ \t]*$/;function wu(e){return e.replace(Cu,``)}var Tu=/\n*<!-- frizz-wake:[A-Za-z0-9_-]+ -->\s*$/,Eu=/(?:^|\n)[ \t]*<!-- frizz-wake:[A-Za-z0-9_-]+ -->[ \t]*(?=\n|$)/g;function Du(e){let t=e.replace(Eu,``);return t===e?e.replace(Tu,``):t.replace(/^\n+/,``).replace(/\s+$/,``)}var Ou=q({label:U(),actor:U(),bot:G(),at:U().optional(),url:U().optional()}),ku=q({ref:U(),items:K(Ou),omitted:W()}),Au=`ignore older activity you have already handled`,ju=`These were already on the PR when you parked, so you may have handled some. Check what is still unaddressed, deal with it, and re-park — this is the only time frizz replays a PR's existing activity to you.`;function Mu(e){return typeof e==`string`&&e.includes(ju)}var Nu=String.raw`[A-Za-z0-9][\w.-]*\/[A-Za-z0-9][\w.-]*#\d+`,Pu=new RegExp(String.raw`^(👤|🤖) New GitHub (.+?) on (${Nu}) from @(\S+?)(?: at (\S+?))?\. Read that exact .+? — `+Au+String.raw` — and continue(?::\s*(\S+)|\.)$`),Fu=new RegExp(String.raw`^(👤|🤖) (\d+) new GitHub items on (${Nu})\. Read exactly these — `+Au+String.raw` — and continue:$`),Iu=/^- (👤|🤖) (.+?) from @(\S+?)(?: at (\S+?))?(?:: (\S+))?$/,Lu=/^- …and (\d+) more not listed — check .+ for the rest$/;function Ru(e){let t=(e,t,n,r,i)=>({label:e,actor:t,bot:n,...r?{at:r}:{},...i?{url:i}:{}}),n=e.trim().split(`
|
|
128
128
|
`).map(e=>e.trim()).filter(Boolean),r=Pu.exec(n[0]??``);if(r)return{ref:r[3],omitted:0,items:[t(r[2],r[4],r[1]===`🤖`,r[5],r[6])]};let i=Fu.exec(n[0]??``);if(!i)return null;let a=[],o=0;for(let e of n.slice(1)){let n=Lu.exec(e);if(n){o=Number(n[1]);continue}let r=Iu.exec(e);r&&a.push(t(r[2],r[3],r[1]===`🤖`,r[4],r[5]))}return!a.length||a.length+o!==Number(i[2])?null:{ref:i[3],omitted:o,items:a}}var zu=new RegExp(String.raw`^⏰ (${Nu}) was (MERGED|CLOSED)\.$`),Bu=new RegExp(String.raw`^✅ CI PASSED on (${Nu}) — (\d+) checks? green(?:, (\d+) skipped)?\.$`),Vu=new RegExp(String.raw`^⏸️ CI on (${Nu}) is WAITING FOR APPROVAL — (\d+) workflows? held(?:: (.+?))?\.$`),Hu=new RegExp(String.raw`^🔔 (${Nu}): (.+)\.$`);function Uu(e){for(let t of e.split(`
|
|
129
129
|
`)){let e=Hu.exec(t.trim());if(e)return{ref:e[1],detail:e[2]}}return null}var Wu=new RegExp(String.raw`^❌ CI FAILED on (${Nu})(?:: (.+?))?\.$`);function Gu(e){for(let t of e.split(`
|
|
130
|
-
`)){let e=t.trim();if(!e)continue;let n=zu.exec(e);if(n)return{ref:n[1],kind:n[2]===`MERGED`?`merged`:`closed`};let r=Bu.exec(e);if(r)return{ref:r[1],kind:`ci`,verdict:`passing`,passed:Number(r[2]),failing:[],...r[3]?{skipped:Number(r[3])}:{}};let i=Vu.exec(e);if(i)return{ref:i[1],kind:`ci`,verdict:`gated`,gated:Number(i[2]),gating:i[3]?i[3].split(`, `):[]};let a=Wu.exec(e);if(a)return{ref:a[1],kind:`ci`,verdict:`failing`,failing:a[2]?a[2].split(`, `):[]}}return null}q({installed:G(),inRepo:G(),nameWithOwner:U().nullable(),authed:G()});var Ku=q({ref:U(),kind:J([`issue`,`pr`,`commit`]),repo:U(),url:U(),title:U(),body:U(),state:U(),stateReason:U().optional(),at:U().optional(),authorLogin:U().optional(),authorName:U().optional(),authorAvatar:U().optional(),labels:K(q({name:U(),color:U()})).default([]),additions:W().int().nonnegative().optional(),deletions:W().int().nonnegative().optional(),changedFiles:W().int().nonnegative().optional(),comments:W().int().nonnegative().optional(),fetchedAt:W().int().nonnegative()});q({refs:K(U().min(3).max(120)).min(1).max(100),refresh:G().default(!1)}),q({cards:K(Ku),missing:K(U()),error:U().optional()});var qu=q({kind:J([`issue`,`pr`]),number:W().int().positive(),title:U(),url:U(),reactions:W().int().nonnegative(),updatedAt:U(),comments:W().int().nonnegative().optional(),createdAt:U().optional(),author:U().optional(),labels:K(q({name:U(),color:U()})).default([]),state:U().optional(),isDraft:G().optional(),linkedPrs:q({count:W().int().positive(),number:W().int().positive(),url:U(),state:U(),isDraft:G().optional()}).optional()});q({kind:J([`issues`,`prs`]),sort:J([`recent`,`reactions`]),page:W().int().min(1).default(1),perPage:W().int().min(1).max(100).default(30)}),q({items:K(qu),total:W().int().nonnegative(),page:W().int().positive(),pageCount:W().int().positive()}),_u.extend({items:K(q({kind:J([`issue`,`pr`]),number:W().int().positive()})).min(1)}).strict(),q({dispatched:K(q({number:W(),kind:U(),slug:ks})),failed:K(q({number:W(),kind:U(),error:U()}))});var Ju=q({projectDir:U(),projectName:U(),projectLabel:U(),errors:K(U()),warnings:K(U()),errorItems:K(cu).optional()});Ts(`type`,[q({type:Os(`board`),board:lu,seq:W().optional(),bootId:U().optional()}),q({type:Os(`board-delta`),seq:W(),bootId:U(),upserts:K(ou),removed:K(ks),meta:Ju.optional()}),q({type:Os(`notify`),slug:ks,kind:J([`needs-decision`,`turn-done`,`exited`]),title:U(),body:U().optional()}),q({type:Os(`interactions-invalidated`),slug:zs,sessionId:Rs,interactionId:Rs,lifecycle:gc,recordRevision:Bs}).strict()]);var Yu=q({file:U(),old:U(),new:U(),added:W().int().nonnegative().optional(),removed:W().int().nonnegative().optional()}),Xu=q({text:U(),status:J([`pending`,`in_progress`,`completed`])}),Zu=q({name:U(),detail:U().optional(),edit:Yu.optional(),desc:U().optional(),command:U().optional(),input:U().optional(),read:U().optional(),output:U().optional(),outputImage:U().optional(),status:J([`pending`,`completed`,`failed`,`cancelled`]).optional(),backgroundState:J([`background`,`unknown`]).optional(),shellId:U().optional(),exitCode:W().int().optional(),cwd:U().optional(),sessionId:ws([U(),W()]).optional(),durationMs:W().nonnegative().optional(),prompt:U().optional(),subagentType:U().optional(),agentId:U().optional(),agentStatus:J([`completed`,`failed`,`killed`]).optional(),agentElapsedMs:W().optional(),agentCompletion:G().optional(),sendTo:U().optional(),sendSummary:U().optional(),sendBody:U().optional(),sendType:U().optional(),sendDispatchId:U().optional(),sendTargetLabel:U().optional(),sentImages:K(U()).optional(),sentFiles:K(U()).optional(),caption:U().optional(),todos:K(Xu).optional(),ask:K(el).optional(),askAnswers:K(U().nullable()).optional()}),Qu=Ts(`kind`,[q({kind:Os(`text`),text:U()}),q({kind:Os(`tools`),tools:K(Zu)})]),$u=q({sourceId:U().min(1).max(768).optional(),pinnedFromSourceId:U().min(1).max(768).optional(),role:J([`user`,`assistant`]),text:U(),displayText:U().optional(),tools:K(Zu),at:U().optional(),kind:J([`event`,`reasoning`]).optional(),durationMs:W().nonnegative().optional(),boundary:J([`wake`,`compaction`,`rest`]).optional(),parts:K(Qu).default([]),queued:G().optional(),deliveryId:U().optional(),deliveryState:J([`pending`,`enqueued`,`delivered`,`unconfirmed`]).optional(),wake:G().optional(),wakeSteer:ku.optional(),peerFrom:U().optional(),peerDispatchId:U().optional(),peerUnnamed:Os(!0).optional(),peerSenderTaskId:U().optional(),fenceRefused:Os(!0).optional()}),ed=U().min(1).max(2048).regex(/^[A-Za-z0-9_-]+$/),td=q({path:U().min(1),edits:W().int().positive(),lastEditedAt:U().optional(),added:W().int().nonnegative().optional(),removed:W().int().nonnegative().optional()}).strict();q({messages:K($u),beforeCursor:ed.nullable(),hasEarlier:G(),reachedTurnBoundary:G(),transcriptKey:U().min(1).max(256),editedFiles:K(td).optional()}).strict(),q({slug:ks,cursor:ed}).strict();var nd=ks,rd=U().min(1).max(4096);ws([Ts(`t`,[q({t:Os(`sub`),topic:Os(`transcript`),slug:nd}).strict(),q({t:Os(`unsub`),topic:Os(`transcript`),slug:nd}).strict()]),Ts(`t`,[q({t:Os(`sub`),topic:Os(`file`),path:rd}).strict(),q({t:Os(`unsub`),topic:Os(`file`),path:rd}).strict()])]);var id=q({id:U(),slug:U(),name:U(),path:U(),lastOpenedAt:U(),stale:G(),iconVersion:U().optional(),iconStatus:J([`icon`,`none`,`unknown`]),iconIsCustom:G().optional()}),ad=[`png`,`svg`,`ico`,`webp`,`jpg`,`jpeg`,`gif`];Ts(`kind`,[q({kind:Os(`picked`),project:id}),q({kind:Os(`cancelled`)}),q({kind:Os(`unavailable`),reason:U()})]),q({projectSlug:U(),projectName:U()});var od=`/_frizz`,sd=null;function cd(e){sd=e}function ld(){return sd?(sd(),!0):!1}var ud=new Map,dd=new Map;function fd(e,t){t?ud.set(e,t):ud.delete(e)}function pd(e){let t=ud.get(e);return t?(t(),!0):!1}function md(e,t){t?dd.set(e,t):dd.delete(e)}function hd(e){dd.get(e)?.()}function gd(){if(typeof document>`u`||!document.body)return typeof window>`u`?0:window.scrollY;let e=_d()?Number.parseFloat(document.body.style.top):NaN;return Number.isNaN(e)?window.scrollY:-e}function _d(){return typeof document<`u`&&document.body?.style.position===`fixed`}var vd=null;function yd(e){vd=e}function bd(){let e=vd;return vd=null,e}function xd(e,t){if(!e)return{kind:`loading`};let n=e.threads.find(e=>e.id===t);return n?{kind:`found`,ownership:n.kind===`session`?n.foreign===!0?`foreign`:`owned`:`legacy`,thread:n}:{kind:`missing`}}var Sd=new Set([`thread`,`status`]);function Cd(e){if(typeof e==`string`)return e;let t=typeof location>`u`?void 0:location.pathname;return typeof t==`string`?t:`/`}var wd=`project`,Td=`/${wd}`;function Ed(e){let[,t,n]=Cd(e).split(`/`);return t===wd&&n?n:void 0}function Dd(e){return`${Td}/${e}`}function Od(e){let t=Ed(e);return t?Dd(t):``}function kd(e){let t=Cd(e),n=Od(t);return n?t.slice(n.length)||`/`:t||`/`}function Ad(e,t){let n=Od(Cd(t));return n?`${n}${e===`/`?``:e}`||`/`:e}function jd(e,t){if(!e||!e.startsWith(`/`)||e.startsWith(`//`))return null;let n=e.replace(/[?#].*$/u,``);if(Ed(n))return null;let r=n.split(`/`)[1]??``;if(!Sd.has(r))return null;let i=Ad(e,t);return i===e?null:i}function Md(e){let t=Ed(e);return t?`${od}/${t}`:od}function Nd(e,t){return Ad(`/thread/${encodeURIComponent(e)}/full`,t)}function Pd(e){let t=e.match(/^\/thread\/([^/]+)\/full$/);if(!t)return null;try{return decodeURIComponent(t[1])}catch{return null}}function Fd(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.defaultPrevented}function Id(e,t){let n=Ed(t);return n===void 0||e==null?!0:e===n}var Ld=`https://github.com`,Rd=null,zd=new Set;function Bd(e){let t=e??null;if(t!==Rd){Rd=t;for(let e of zd)e()}}function Vd(){return Rd}function Hd(e){return zd.add(e),()=>zd.delete(e)}var Ud=`[A-Za-z0-9][A-Za-z0-9._-]*`,Wd=RegExp(`^https://github\\.com/(${Ud})/(${Ud})/(?:(issues|pull)/([1-9]\\d{0,9})|commit/([0-9a-f]{7,40}))(?:[/?#].*)?$`,`i`);function Gd(e){if(!e)return null;let t=Wd.exec(e.trim());if(!t)return null;let[,n,r,,i,a]=t;return i?`${n}/${r}#${i}`:`${n}/${r}@${a.toLowerCase()}`}var Kd=RegExp(`(^|[^\\w#/&@-])(?:(${Ud}/${Ud})@([0-9a-f]{7,40})|(${Ud}/${Ud})?#([1-9]\\d{0,9})|([0-9a-f]{7,40}))(?![\\w-])`,`g`);function qd(e){return/\d/.test(e)&&/[a-f]/.test(e)}function Jd(e){return{type:`text`,raw:e,text:e}}function Yd(e,t,n){return{type:`link`,raw:e,href:t,title:n,text:e,tokens:[Jd(e)]}}function Xd(e){if(!Rd)return[];let t=[];Kd.lastIndex=0;for(let n=Kd.exec(e);n;n=Kd.exec(e)){let[e,r,i,a,o,s,c]=n,l=a??c;if(l&&!qd(l))continue;let u=s?`${Ld}/${o??Rd}/issues/${s}`:`${Ld}/${i??Rd}/commit/${l}`,d=s?`${o??Rd}#${s}`:`${i??Rd}@${l}`;t.push({start:n.index+r.length,text:e.slice(r.length),href:u,title:d})}return t}function Zd(e){let t=Xd(e);if(t.length===0)return null;let n=[],r=0;for(let{start:i,text:a,href:o,title:s}of t)i>r&&n.push(Jd(e.slice(r,i))),n.push(Yd(a,o,s)),r=i+a.length;return r<e.length&&n.push(Jd(e.slice(r))),n}var Qd=new Set([`code`,`codespan`,`html`,`link`,`image`]);function $d(e){let t=[],n=e;Array.isArray(n.tokens)&&t.push(n.tokens),Array.isArray(n.items)&&t.push(n.items);for(let e of n.header??[])Array.isArray(e.tokens)&&t.push(e.tokens);for(let e of n.rows??[])for(let n of e)Array.isArray(n.tokens)&&t.push(n.tokens);return t}function ef(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Qd.has(n.type))continue;let r=$d(n);for(let e of r)ef(e);if(n.type!==`text`||r.length>0)continue;let i=Zd(n.text);i&&e.splice(t,1,...i)}}var tf=`frizz-boot-id`;function nf(e){try{return sessionStorage.getItem(e)}catch{return null}}function rf(e,t){try{sessionStorage.setItem(e,t)}catch{}}function af(e){switch(kc(nf(tf),e)){case`noop`:return;case`record`:rf(tf,e);return;case`adopt`:rf(tf,e);return}}var of={board:`query`,threadBody:`query`,threadTranscript:`query`,threadTranscriptEarlier:`query`,subAgentTranscript:`query`,subAgentSteer:`mutation`,subAgentStop:`mutation`,backgroundShellOutput:`query`,backgroundShellActivity:`query`,stopBackgroundOp:`mutation`,pendingInteractions:`query`,interactionGet:`query`,interactionResolve:`mutation`,interactionCancel:`mutation`,dispatch:`mutation`,adoptThread:`mutation`,followUp:`mutation`,unqueueFollowUp:`mutation`,deliverQueuedNow:`mutation`,setThreadPermission:`mutation`,threadProfileOptions:`query`,threadSkills:`query`,setThreadProfile:`mutation`,markRead:`mutation`,threadSeen:`mutation`,setThreadState:`mutation`,completeThread:`mutation`,setThreadSnooze:`mutation`,setThreadPinned:`mutation`,setThreadRecurringPrompt:`mutation`,setOwnThreadRecurringPrompt:`mutation`,setOwnThreadTitle:`mutation`,addOwnPrWatch:`mutation`,dropOwnPrWatch:`mutation`,listOwnPrWatches:`mutation`,addOwnWatch:`mutation`,dropOwnWatch:`mutation`,ask:`mutation`,unask:`mutation`,markOwnDone:`mutation`,answerQuestions:`mutation`,dismissQuestions:`mutation`,getOwnThreadRecurringPrompt:`mutation`,setOwnThreadStopHook:`mutation`,setOwnThreadHeartbeat:`mutation`,setThreadHeartbeat:`mutation`,setOwnThreadTimer:`mutation`,cancelOwnThreadTimer:`mutation`,listOwnThreadTimers:`mutation`,listOwnThreadActivity:`mutation`,reloadThreadPlugins:`mutation`,snoozeAwaitingBackground:`mutation`,forgetThread:`mutation`,threadTerminalCommand:`query`,openExternal:`mutation`,openLocalFile:`mutation`,localMarkdown:`query`,localFile:`query`,resolveLocalPaths:`query`,markComplete:`mutation`,setThreadStatus:`mutation`,dismissThread:`mutation`,repairThread:`mutation`,archiveThread:`mutation`,killAgent:`mutation`,renameThread:`mutation`,aiRenameThread:`mutation`,codexModels:`query`,quota:`query`,authStatus:`query`,accountLogout:`mutation`,accountLoginStart:`mutation`,accountLoginStatus:`query`,accountLoginCancel:`mutation`,threadLocate:`query`,projectsList:`query`,projectPick:`mutation`,projectAdd:`mutation`,projectsReorder:`mutation`,projectRemove:`mutation`,projectsQueueCounts:`query`,projectIconPick:`mutation`,projectIconSet:`mutation`,projectIconClear:`mutation`,settingsGet:`query`,settingsSet:`mutation`,settingsReset:`mutation`,dispatchPreferencesGet:`query`,dispatchPreferenceSet:`mutation`,githubPromptDefaults:`query`,githubStatus:`query`,githubList:`query`,githubDispatchBatch:`mutation`,githubRefPreview:`query`},sf=`Frizz is updating and restarting. Your draft is preserved; wait until it is ready before sending or changing settings.`;function cf(e){return e?.retryableRpc===!0}function lf(e){return Object.defineProperty(e,"retryableRpc",{value:!0,enumerable:!1}),e}function uf(e){if(e===`mutation`&&X.controlPlaneState===`restarting`)throw lf(Error(sf))}async function df(e,t){let n=await e.text(),r;try{r=JSON.parse(n)}catch{throw e.status===404||e.status===405?Error(`Frizz server restart required — this control is newer than the running server`):e.status===403?Error(`RPC ${t} was refused (403) — the page's origin does not match the server it is talking to. Reload from the URL frizz is actually serving.`):Error(`RPC ${t} returned a non-JSON response (HTTP ${e.status})`)}if(!e.ok){let e=Error(typeof r.error==`string`?r.error:`RPC ${t} failed`);throw r.retryable===!0?lf(e):e}return r.result}async function ff(e,t,n,r){if(uf(t),t===`query`){let t=new URL(`${Md()}/rpc/${e}`,location.origin);n!==void 0&&t.searchParams.set(`input`,JSON.stringify(n));let i=await fetch(t.toString(),{signal:r?.signal});return af(i.headers.get(`x-frizz-boot`)),df(i,e)}let i=await fetch(`${Md()}/rpc/${e}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n??{}),signal:r?.signal});return af(i.headers.get(`x-frizz-boot`)),df(i,e)}var Y=new Proxy({},{get(e,t){let n=of[t];if(n)return(e,r)=>ff(t,n,e,r)}}),pf=6e4,mf=80,hf=100,gf={loading:!0},_f=new Map,vf=new Set,yf=new Set,bf;function xf(){for(let e of vf)e()}function Sf(e){return vf.add(e),()=>vf.delete(e)}function Cf(e){return _f.get(e)}function wf(e,t=Date.now()){return!e?.card||e.card.kind===`commit`?!1:t-e.card.fetchedAt>pf}var Tf=/data-gh-ref="([^"]+)"/g;function Ef(e){if(!e.includes(`data-gh-ref`))return[];let t=new Set;for(let n of e.matchAll(Tf))t.add(n[1]);return[...t]}function Df(e){let t=!1;for(let n of e)_f.has(n)||yf.has(n)||(yf.add(n),t=!0);!t||bf!==void 0||(bf=setTimeout(()=>{bf=void 0,kf()},mf))}function Of(e,t){for(let e of t.cards)_f.set(e.ref,{card:e});for(let e of t.missing)_f.set(e,{missing:!0});for(let t of e)_f.get(t)===gf&&_f.delete(t);xf()}async function kf(){let e=[...yf].slice(0,hf);if(e.length!==0){for(let t of e)yf.delete(t),_f.set(t,gf);xf();try{Of(e,await Y.githubRefPreview({refs:e}))}catch{Of(e,{cards:[],missing:[]})}yf.size>0&&bf===void 0&&(bf=setTimeout(()=>{bf=void 0,kf()},0))}}var Af=new Set;function jf(e){Af.has(e)||(Af.add(e),Y.githubRefPreview({refs:[e],refresh:!0}).then(e=>{for(let t of e.cards)_f.set(t.ref,{card:t});xf()}).catch(()=>{}).finally(()=>Af.delete(e)))}function Mf(){_f.clear(),yf.clear(),Af.clear(),bf!==void 0&&(clearTimeout(bf),bf=void 0),xf()}var Nf={dir:``,home:``},Pf=Nf,Ff=new Set;function If(e,t){let n={dir:e??``,home:t??``};if(!(n.dir===Pf.dir&&n.home===Pf.home)){Pf=n.dir||n.home?n:Nf;for(let e of Ff)e()}}function Lf(){return Pf}function Rf(e){return Ff.add(e),()=>Ff.delete(e)}function zf(e){return typeof document>`u`?null:document.querySelector(`[data-queue-card="${CSS.escape(e)}"]`)}function Bf(e){let t=zf(e);return t?t.querySelector(`[data-queue-card-root="${CSS.escape(e)}"]`)??t:null}function Vf(e){let t=document.querySelector(`[data-queue-card]:not([data-queue-leaving="true"])`);return t!==null&&t===zf(e)}function Hf(e){let t=Bf(e);if(!t)return null;if(Vf(e))return 0;let n=typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 800px)`).matches?40:0;return Math.max(0,gd()+t.getBoundingClientRect().top-40-n)}var X=qt({board:null,view:`todos`,connection:`connecting`,controlPlaneState:`ready`,controlPlaneMessage:null,controlPlaneRestartPending:!1,showSettings:!1,showPalette:!1,showNewThread:!1,showGithubPicker:!1,sidebarCollapsed:{active:!1,snoozed:!0,inactive:!0,external:!0},drawers:[],notificationsEnabled:!1,socketTranscripts:!1,socketBoardFallback:null,socketTranscriptFallbacks:{},routeThreadSlug:null,vtReturnTarget:null,toast:null,splitFileViewer:!1,filePanel:null,composerContext:{}});function Uf(){X.showNewThread=!0}function Wf(){X.showGithubPicker=!0}function Gf(){X.showGithubPicker=!1}var Kf=0;function Z(e,t){X.toast={id:++Kf,text:e,...t}}var qf=0,Jf=0;function Yf(e,t){return e.kind===t.kind?e.kind===`markdown`?e.path===t.path:e.kind===`subagent`||e.kind===`shell`?e.subId===t.subId:e.slug===t.slug:!1}function Xf(e,t){return t.kind===`markdown`?!0:t.kind===`subagent`||t.kind===`shell`?(e.kind===`thread`||e.kind===`doc`)&&e.slug===t.slug:t.kind===`doc`?e.kind===`thread`&&e.slug===t.slug:t.kind===`thread`?e.kind===`doc`&&e.slug===t.slug:!1}function Zf(e){let t=X.drawers.filter(t=>!t.closing&&!Yf(t,e)&&!Xf(t,e)).map(e=>e.id);t.length&&bp(t);let n=X.drawers.filter(t=>Yf(t,e));if(!n.length){X.drawers.push({...e,id:++qf,openedAt:++Jf});return}let r=[...n].reverse().find(e=>!e.closing)??n[n.length-1],{closing:i,...a}=r,o={...a,...e,openedAt:++Jf};X.drawers=[...X.drawers.filter(t=>!Yf(t,e)),o],queueMicrotask(()=>hd(r.id))}function Qf(e,t,n){Zf({kind:e,slug:t,routed:n?.routed})}function $f(e,t,n){Zf({kind:`subagent`,slug:e,subId:t,label:n.label,subagentType:n.subagentType,startedAt:n.startedAt})}function ep(e,t,n){Zf({kind:`shell`,slug:e,subId:t,label:n.label,startedAt:n.startedAt})}function tp(e){let t=X.board?.threads.find(t=>t.id===e);t?.needsYou&&op(e)||Qf(t&&t.runtime===`none`?`doc`:`thread`,e)}function np(){let e=X.routeThreadSlug;if(!e||!X.board)return;X.routeThreadSlug=null;let t=xd(X.board,e);if(t.kind===`missing`){typeof location<`u`&&location.replace(Nd(e));return}t.kind===`found`&&t.thread.needsYou&&op(e)||Qf(`thread`,e,{routed:!0})}var rp=null;function ip(e){rp=e}function ap(e){let t=rp;if(rp=null,!t||(X.vtReturnTarget=t,typeof window<`u`&&window.setTimeout(()=>{X.vtReturnTarget===t&&(X.vtReturnTarget=null)},600),e!==t||!X.board))return;let n=xd(X.board,t);n.kind!==`found`||n.thread.needsYou||X.drawers.some(e=>e.kind===`thread`&&e.slug===t&&!e.closing)||Qf(`thread`,t,{routed:!0})}function op(e){let t=Bf(e);if(!t)return!1;let n=Hf(e),r=X.drawers.filter(e=>!e.closing).map(e=>e.id);return r.length&&bp(r),n!==null&&(_d()?yd(n):Math.abs(window.scrollY-n)>.5&&window.scrollTo({top:n,left:0,behavior:`auto`})),cp(e,t),!0}var sp=new Map;function cp(e,t){let n=sp.get(e);n!==void 0&&window.clearTimeout(n),t.removeAttribute(`data-queue-flash`),t.offsetWidth,t.setAttribute(`data-queue-flash`,``),sp.set(e,window.setTimeout(()=>{sp.delete(e),t.removeAttribute(`data-queue-flash`)},1100))}function lp(e){if(X.splitFileViewer){dp(e);return}Zf({kind:`markdown`,slug:e,path:e,label:e.split(`/`).filter(Boolean).pop()||e})}var up=0;function dp(e){X.filePanel={path:e,openedAt:++up}}function fp(){X.filePanel=null}var pp=0;function mp(e,t){(X.composerContext[e]??(X.composerContext[e]=[])).push({...t,id:++pp})}function hp(e){let t=(X.composerContext[e]??[]).map(e=>({...e}));return delete X.composerContext[e],t}function gp(e,t){t.length&&(X.composerContext[e]=[...t,...X.composerContext[e]??[]])}function _p(){return X.drawers[X.drawers.length-1]}function vp(e){let t=X.drawers.find(t=>t.id===e);t&&(t.closing=!0)}function yp(e){X.drawers.find(t=>t.id===e)?.closing&&(X.drawers=X.drawers.filter(t=>t.id!==e))}function bp(e){let t=[];for(let n of e)pd(n)||t.push(n);if(t.length){let e=new Set(t);X.drawers=X.drawers.filter(t=>!e.has(t.id))}}function xp(){for(let e=X.drawers.length-1;e>=0;e--){let t=X.drawers[e];if(t.kind===`thread`&&!t.closing)return t.slug}return null}function Sp(e){Id(e.projectSlug)&&(Bd(e.githubRepo),If(e.projectDir,e.homeDir),X.board=e)}function Cp(){Bd(null),If(null),Mf(),X.board=null,X.view=`todos`,X.connection=`connecting`,X.drawers=[],X.filePanel=null,X.composerContext={},X.routeThreadSlug=null,X.socketBoardFallback=null,X.socketTranscriptFallbacks={},X.showSettings=!1,X.showNewThread=!1,X.showGithubPicker=!1}function wp(e){Id(e.projectSlug)&&X.board===null&&(Bd(e.githubRepo),If(e.projectDir,e.homeDir),X.board=e)}function Tp(e){return X.board===null?!1:(Dc(X.board,e),!0)}function Ep(e,t){if(!(!e||!t))return e.threads.find(e=>e.id===t)}var Dp=`fixed inset-0 bg-black/40 backdrop-blur-[1px] transition-opacity duration-200 ease-out motion-reduce:transition-none`,Op=`frizz-sheet-panel flex h-full flex-col border-l border-border bg-panel shadow-2xl shadow-black/50 transition-transform duration-200 ease-out motion-reduce:transition-none`,kp=1200;function Ap(e,t=0){let n=Math.max(0,e-t);return`min(${720-n*28}px, ${80-n*4}vw)`}function jp(){return typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}function Mp(e,t=!1){let[n,r]=(0,I.useState)(t),i=(0,I.useRef)(!1),a=Zt(X);(0,I.useEffect)(()=>{if(t)return;let e=!1,n=()=>{e||i.current||(e=!0,r(!0))},a=requestAnimationFrame(n),o=window.setTimeout(n,120);return()=>{cancelAnimationFrame(a),window.clearTimeout(o)}},[t]);let o=(0,I.useCallback)(()=>{i.current||(i.current=!0,vp(e),r(!1),window.setTimeout(()=>yp(e),jp()?0:210))},[e]);return(0,I.useEffect)(()=>(fd(e,o),()=>fd(e,null)),[e,o]),(0,I.useEffect)(()=>{a.drawers.find(t=>t.id===e)?.closing||!i.current||(i.current=!1,r(!0))},[a.drawers,e]),{shown:n,close:o,closingRef:i}}var Np=`[data-radix-popper-content-wrapper],[role='menu'],[role='listbox'],[role='dialog']`;function Pp(e){return document.body.style.pointerEvents===`none`||e.closest(Np)!==null}function Fp(e,t,n,r){(0,I.useEffect)(()=>{function i(i){let a=i.target;if(!(a instanceof Element)||t.current?.contains(a)||Pp(a))return;let o=X.drawers.findIndex(t=>t.id===e);o===-1||o<X.drawers.length-1||r&&a.closest(`[data-subagent-parent]`)?.getAttribute(`data-subagent-parent`)===r||n()}return window.addEventListener(`pointerdown`,i,!0),()=>window.removeEventListener(`pointerdown`,i,!0)},[e,t,n,r])}function Ip({id:e,depth:t,widthDepth:n,widthOffset:r=0,subagentParent:i,children:a}){let{shown:o,close:s}=Mp(e),c=(0,I.useRef)(null);return Fp(e,c,s,i),(0,L.jsx)(`div`,{className:`${Dp} pointer-events-none flex justify-end ${o?`opacity-100`:`opacity-0`}`,style:{zIndex:50+t*2},children:(0,L.jsx)(`div`,{ref:c,className:`${Op} pointer-events-auto ${o?`translate-x-0`:`translate-x-full`}`,style:{width:Ap(n,r)},children:a(s)})})}var Lp=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Rp=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),zp=e=>{let t=Rp(e);return t.charAt(0).toUpperCase()+t.slice(1)},Bp=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Vp=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0},Hp={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Up=(0,I.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,I.createElement)(`svg`,{ref:c,...Hp,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Bp(`lucide`,i),...!a&&!Vp(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,I.createElement)(e,t)),...Array.isArray(a)?a:[a]])),Q=(e,t)=>{let n=(0,I.forwardRef)(({className:n,...r},i)=>(0,I.createElement)(Up,{ref:i,iconNode:t,className:Bp(`lucide-${Lp(zp(e))}`,`lucide-${e}`,n),...r}));return n.displayName=zp(e),n},Wp=Q(`alarm-clock`,[[`circle`,{cx:`12`,cy:`13`,r:`8`,key:`3y4lt7`}],[`path`,{d:`M12 9v4l2 2`,key:`1c63tq`}],[`path`,{d:`M5 3 2 6`,key:`18tl5t`}],[`path`,{d:`m22 6-3-3`,key:`1opdir`}],[`path`,{d:`M6.38 18.7 4 21`,key:`17xu3x`}],[`path`,{d:`M17.64 18.67 20 21`,key:`kv2oe2`}]]),Gp=Q(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Kp=Q(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),qp=Q(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Jp=Q(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),Yp=Q(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Xp=Q(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),Zp=Q(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Qp=Q(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),$p=Q(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),em=Q(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),tm=Q(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),nm=Q(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),rm=Q(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),im=Q(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),am=Q(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),om=Q(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),sm=Q(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),cm=Q(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),lm=Q(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),um=Q(`clock`,[[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),dm=Q(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),fm=Q(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),pm=Q(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),mm=Q(`file-diff`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),hm=Q(`file-text`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),gm=Q(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),_m=Q(`git-branch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),vm=Q(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),ym=Q(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),bm=Q(`git-pull-request-closed`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 9v12`,key:`1sc30k`}],[`path`,{d:`m21 3-6 6`,key:`16nqsk`}],[`path`,{d:`m21 9-6-6`,key:`9j17rh`}],[`path`,{d:`M18 11.5V15`,key:`65xf6f`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),xm=Q(`git-pull-request-draft`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M18 6V5`,key:`1oao2s`}],[`path`,{d:`M18 11v-1`,key:`11c8tz`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Sm=Q(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Cm=Q(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),wm=Q(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),Tm=Q(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`1d0kgt`}]]),Em=Q(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Dm=Q(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Om=Q(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),km=Q(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),Am=Q(`list-checks`,[[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}],[`path`,{d:`M13 6h8`,key:`15sg57`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 18h8`,key:`oe0vm4`}]]),jm=Q(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Mm=Q(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Nm=Q(`message-circle-off`,[[`path`,{d:`M20.5 14.9A9 9 0 0 0 9.1 3.5`,key:`1iebmn`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7`,key:`1ov8ce`}]]),Pm=Q(`message-square-code`,[[`path`,{d:`M10 7.5 8 10l2 2.5`,key:`xb17xw`}],[`path`,{d:`m14 7.5 2 2.5-2 2.5`,key:`5rap1v`}],[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),Fm=Q(`message-square`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),Im=Q(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Lm=Q(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Rm=Q(`package-check`,[[`path`,{d:`m16 16 2 2 4-4`,key:`gfu2re`}],[`path`,{d:`M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14`,key:`e7tb2h`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`12`,key:`a4e8g8`}]]),zm=Q(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Bm=Q(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),Vm=Q(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Hm=Q(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M9 8V2`,key:`14iosj`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z`,key:`osxo6l`}]]),Um=Q(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Wm=Q(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Gm=Q(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),Km=Q(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),qm=Q(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Jm=Q(`settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ym=Q(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Xm=Q(`signpost`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M12 3v3`,key:`1n5kay`}],[`path`,{d:`M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z`,key:`gqqp9m`}]]),Zm=Q(`square-check-big`,[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`,key:`2acyp4`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Qm=Q(`square-dot`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),$m=Q(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),eh=Q(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),th=Q(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),nh=Q(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),rh=Q(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),ih=Q(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),ah=`h-12`;function oh({title:e,subtitle:t,icon:n,meta:r,actions:i,onClose:a,initialFocus:o}){return(0,L.jsxs)(`header`,{className:`flex ${ah} shrink-0 items-center gap-2.5 border-b border-border bg-panel px-4`,children:[n,(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col justify-center`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium`,title:e,children:e}),r]}),t&&(0,L.jsx)(`span`,{className:`truncate text-[10px] text-muted/60`,children:t})]}),i,(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:a,...o?{"data-dialog-initial-focus":``}:{},className:`rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,L.jsx)(ih,{size:15})})]})}function sh(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>Object.is(e,t[n]))}var ch=class extends I.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[frizz] render error in ${this.props.label}:`,e,t.componentStack)}componentDidUpdate(e){!this.state.error||sh(e.resetKeys,this.props.resetKeys)||this.setState({error:null})}retry=()=>this.setState({error:null});render(){let{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.retry):(0,L.jsx)(dh,{label:this.props.label,error:e,onRetry:this.retry}):this.props.children}};function lh(e){let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return t.length>300?`${t.slice(0,300)}…`:t}var uh=`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`;function dh({label:e,error:t,onRetry:n,onClose:r}){return(0,L.jsxs)(`div`,{"data-error-panel":!0,className:`m-4 rounded-md border border-border-strong bg-panel-2 px-3.5 py-3 text-[12.5px]`,children:[(0,L.jsxs)(`p`,{className:`text-fg/90`,children:[`Something went wrong rendering `,e,`.`]}),(0,L.jsx)(`p`,{className:`font-mono-keep mt-1.5 break-words text-[11.5px] text-muted`,children:lh(t)}),(0,L.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:n,children:`Try again`}),r&&(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:r,children:`Close`}),(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:()=>window.location.reload(),children:`Reload frizz`})]})]})}function fh({children:e}){return(0,L.jsx)(ch,{label:`frizz`,fallback:(e,t)=>(0,L.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bg p-6 text-fg`,children:(0,L.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,L.jsx)(dh,{label:`frizz`,error:e,onRetry:t})})}),children:e})}function ph({id:e,depth:t,widthDepth:n,error:r,onRetry:i}){let a=()=>{X.drawers=X.drawers.filter(t=>t.id!==e)};return(0,L.jsx)(Ip,{id:e,depth:t,widthDepth:n,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{title:`This drawer could not be rendered`,onClose:()=>{e(),a()}}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,L.jsx)(dh,{label:`this drawer`,error:r,onRetry:i,onClose:a})})]})})}var mh=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,hh=/^[\\/]{2}/;function gh(e,t){return t+e.replace(/\\/g,`/`)}var _h=`popstate`;function vh(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function yh(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return wh(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:Th(t)}return Dh(t,n,null,e)}function bh(e,t){if(e===!1||e==null)throw Error(t)}function xh(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function Sh(){return Math.random().toString(36).substring(2,10)}function Ch(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function wh(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?Eh(t):t,state:n,key:t&&t.key||r||Sh(),mask:i}}function Th({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function Eh(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function Dh(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=vh(e)?e:wh(h.location,e,t);n&&n(r,e),l=u()+1;let d=Ch(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=vh(e)?e:wh(h.location,e,t);n&&n(r,e),l=u();let i=Ch(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return Oh(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(_h,d),c=e,()=>{i.removeEventListener(_h,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function Oh(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),bh(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:Th(t);return i=i.replace(/ $/,`%20`),!n&&hh.test(i)&&(i=r+i),new URL(i,r)}var kh=class{#e=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get(e){if(this.#e.has(e))return this.#e.get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){this.#e.set(e,t)}},Ah=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function jh(e){return Ah.has(e)}var Mh=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function Nh(e){return Mh.has(e)}function Ph(e){return e.index===!0}function Fh(e){let t={};return e.Component&&Object.assign(t,{element:I.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:I.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:I.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function Ih(e,t=Fh,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(bh(e.index!==!0||!e.children,`Cannot specify children on an index route`),bh(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),Ph(e)){let n={...e,id:s};return r[s]=Lh(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=Lh(n,t(n)),e.children&&(n.children=Ih(e.children,t,o,r,i)),n}})}function Lh(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Rh(e,t,n=`/`){return zh(e,t,n,!1)}function zh(e,t,n,r,i){let a=sg((typeof t==`string`?Eh(t):t).pathname||`/`,n);if(a==null)return null;let o=i??Vh(e),s=null,c=og(a);for(let e=0;s==null&&e<o.length;++e)s=ng(o[e],c,r);return s}function Bh(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,loaderData:t[n.id],handle:n.handle}}function Vh(e){let t=Hh(e);return Wh(t),t}function Hh(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;bh(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=_g([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(bh(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),Hh(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:eg(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=ag(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of Uh(e.path))a(e,t,!0,n)}),t}function Uh(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=Uh(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function Wh(e){e.sort((e,t)=>e.score===t.score?tg(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var Gh=/^:[\w-]+$/,Kh=/^:[\w-]+/,qh=3.5,Jh=3,Yh=2,Xh=1,Zh=10,Qh=-2,$h=e=>e===`*`;function eg(e,t){let n=e.split(`/`),r=n.length;return n.some($h)&&(r+=Qh),t&&(r+=Yh),n.filter(e=>!$h(e)).reduce((e,t)=>e+(Gh.test(t)?Jh:Kh.test(t)?qh:t===``?Xh:Zh),r)}function tg(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function ng(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?ig(u,l,s.matcher,s.compiledParams):rg(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=rg({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:_g([a,d.pathname]),pathnameBase:yg(_g([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=_g([a,d.pathnameBase]))}return o}function rg(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=ag(e.path,e.caseSensitive,e.end);return ig(e,t,n,r)}function ig(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function ag(e,t=!1,n=!0){xh(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(?=\/|$|\()/g,`(?:/$1)?`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function og(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return xh(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function sg(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function cg({basename:e,pathname:t}){return t===`/`?e:_g([e,t])}var lg=e=>mh.test(e);function ug(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?Eh(e):e,a;return n?(n=gg(n),a=n.startsWith(`/`)?dg(n.substring(1),`/`):dg(n,t)):a=t,{pathname:a,search:bg(r),hash:xg(i)}}function dg(e,t){let n=vg(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function fg(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function pg(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function mg(e){let t=pg(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function hg(e,t,n,r=!1){let i;typeof e==`string`?i=Eh(e):(i={...e},bh(!i.pathname||!i.pathname.includes(`?`),fg(`?`,`pathname`,`search`,i)),bh(!i.pathname||!i.pathname.includes(`#`),fg(`#`,`pathname`,`hash`,i)),bh(!i.search||!i.search.includes(`#`),fg(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ug(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var gg=e=>e.replace(/[\\/]{2,}/g,`/`),_g=e=>gg(e.join(`/`)),vg=e=>e.replace(/\/+$/,``),yg=e=>vg(e).replace(/^\/*/,`/`),bg=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,xg=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Sg=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],Cg=class{status;statusText;data;error;internal;constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function wg(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Tg(e){return _g(e.map(e=>e.route.path).filter(Boolean))||`/`}function Eg(e,t){let n=new URL(typeof e==`string`||e instanceof URL?e:e.url),r=typeof t==`string`?Eh(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);let i=e.toString();n.search=i?`?${i}`:``}else n.search=``;return n.hash=r.hash||``,n}var Dg=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Og(e,t){let n=e;if(typeof n!=`string`||!mh.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Dg)try{let e=new URL(window.location.href),r=hh.test(n)?new URL(gh(n,e.protocol)):new URL(n),a=sg(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{xh(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var kg=Symbol(`Uninstrumented`),Ag=new WeakMap;function jg(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){e.lazy!=null&&n.lazy.push(e.lazy),e[`lazy.loader`]!=null&&n[`lazy.loader`].push(e[`lazy.loader`]),e[`lazy.action`]!=null&&n[`lazy.action`].push(e[`lazy.action`]),e[`lazy.middleware`]!=null&&n[`lazy.middleware`].push(e[`lazy.middleware`]),e.middleware!=null&&n.middleware.push(e.middleware),e.loader!=null&&n.loader.push(e.loader),e.action!=null&&n.action.push(e.action)}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=t.lazy;r.lazy=async(...t)=>Lg(await Rg(n.lazy,void 0,()=>e(...t),zg))}if(typeof t.lazy==`object`){let e=t.lazy;if(typeof e.middleware==`function`&&n[`lazy.middleware`].length>0){let t=e.middleware;r.lazy=Object.assign(r.lazy||{},{middleware:async(...e)=>Lg(await Rg(n[`lazy.middleware`],void 0,()=>t(...e),zg))})}if(typeof e.loader==`function`&&n[`lazy.loader`].length>0){let t=e.loader;r.lazy=Object.assign(r.lazy||{},{loader:async(...e)=>Lg(await Rg(n[`lazy.loader`],void 0,()=>t(...e),zg))})}if(typeof e.action==`function`&&n[`lazy.action`].length>0){let t=e.action;r.lazy=Object.assign(r.lazy||{},{action:async(...e)=>Lg(await Rg(n[`lazy.action`],void 0,()=>t(...e),zg))})}}if(typeof t.loader==`function`&&n.loader.length>0){let e=Ng(t.loader),i=async(...t)=>Lg(await Rg(n.loader,Bg(t[0]),()=>e(...t),zg));e.hydrate===!0&&(i.hydrate=!0),Pg(i,e),r.loader=i}if(typeof t.action==`function`&&n.action.length>0){let e=Ng(t.action),i=async(...t)=>Lg(await Rg(n.action,Bg(t[0]),()=>e(...t),zg));Pg(i,e),r.action=i}return t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=Ng(e),r=async(...e)=>Lg(await Rg(n.middleware,Bg(e[0]),()=>t(...e),zg));return Pg(r,t),r})),r}function Mg(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){e.navigate!=null&&n.navigate.push(e.navigate),e.fetch!=null&&n.fetch.push(e.fetch)}})),n.navigate.length>0){let t=Ng(e.navigate),r=async(...r)=>{let[i,a]=r,o,s={to:typeof i==`number`||typeof i==`string`?i:i?Th(i):`.`,...Vg(e,a??{})};return Lg(await Rg(n.navigate,s,async()=>{if(typeof i==`number`)return await t(...r);let n=Fg(e,e=>{o=e});try{return await t(...r)}finally{n()}},e=>({...zg(e),meta:o})))};Pg(r,t),e.navigate=r}if(n.fetch.length>0){let t=Ng(e.fetch),r=async(...r)=>{let[i,a,o,s]=r,c;return Lg(await Rg(n.fetch,{href:o??`.`,fetcherKey:i,...Vg(e,s??{})},async()=>{let n=Fg(e,e=>{c=e});try{return await t(...r)}finally{n()}},e=>({...zg(e),meta:c})))};Pg(r,t),e.fetch=r}return e}function Ng(e){return e[kg]??e}function Pg(e,t){e[kg]=t}function Fg(e,t){return Ag.set(e,t),()=>{Ag.get(e)===t&&Ag.delete(e)}}function Ig(e){let t=Ag.get(e);return Ag.delete(e),t}function Lg(e){if(e.type===`error`)throw e.value;return e.value}async function Rg(e,t,n,r,i={result:null,innerResult:null},a=e.length-1){let o=e[a];if(o){let s,c=async()=>(s?console.error(`You cannot call instrumented handlers more than once`):s=Rg(e,t,n,r,i,a-1),await s,bh(i.innerResult,`Expected an inner result`),i.innerResult);try{await o(c,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}s||await c(),await s}else{try{i.result={type:`success`,value:await n()}}catch(e){i.result={type:`error`,value:e}}i.innerResult=r(i.result,t)}return i.result?i.result:(i.result={type:`error`,value:Error(`No result assigned in instrumentation chain.`)},i.innerResult=r(i.result,t),i.result)}function zg(e){return e.type===`error`&&e.value instanceof Error?{status:`error`,error:e.value}:{status:`success`,error:void 0}}function Bg(e){let{request:t,context:n,params:r}=e;return{...e,request:Hg(t),params:{...r},context:Ug(n)}}function Vg(e,t){return{currentUrl:Th(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Hg(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Ug(e){return{get:t=>e.get(t)}}var Wg=[`POST`,`PUT`,`PATCH`,`DELETE`],Gg=new Set(Wg),Kg=[`GET`,...Wg],qg=new Set(Kg),Jg=new Set([301,302,303,307,308]),Yg=new Set([307,308]),Xg={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Zg={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qg={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},$g=`remix-router-transitions`,e_=Symbol(`ResetLoaderData`),t_=class{#e;#t;#n;#r;constructor(e){this.#e=e,this.#t=Vh(e)}get stableRoutes(){return this.#e}get activeRoutes(){return this.#n??this.#e}get branches(){return this.#r??this.#t}get hasHMRRoutes(){return this.#n!=null}setRoutes(e){this.#e=e,this.#t=Vh(e)}setHmrRoutes(e){this.#n=e,this.#r=Vh(e)}commitHmrRoutes(){this.#n&&(this.#e=this.#n,this.#t=this.#r,this.#n=void 0,this.#r=void 0)}};function n_(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;bh(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties,a=i||(()=>({}));if(e.instrumentations){let t=e.instrumentations;a=e=>({...i?.(e),...jg(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new t_(Ih(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||y_,u={...e.future},d=null,f=new Set,p=null,m=null,h=null,g=null,_=e.hydrationData!=null,v=zh(s.activeRoutes,e.history.location,c,!1,s.branches),y=!1,b=null,x,S;if(v==null&&!e.patchRoutesOnNavigation){let t=U_(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=H_(s.activeRoutes);x=!0,S=!x,v=n,b={[r.id]:t}}else if(v&&!e.hydrationData&&Ke(v,s.activeRoutes,e.history.location.pathname).active&&(v=null),!v){x=!1,S=!x,v=[];let t=Ke(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(y=!0,v=t.matches)}else if(v.some(e=>e.route.lazy))x=!1,S=!x;else if(!v.some(e=>s_(e.route)))x=!0,S=!x;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=v;if(n){let e=v.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}S=!1,x=!0,r.forEach(e=>{let r=c_(e.route,t,n);S||=r.renderFallback,x&&=!r.shouldLoad})}let C,w={historyAction:e.history.action,location:e.history.location,matches:v,initialized:x,renderFallback:S,navigation:Xg,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||b,fetchers:new Map,blockers:new Map},T=`POP`,E=null,D=!1,O,k=!1,A=new Map,j=null,M=!1,N=!1,P=new Set,ee=new Map,F=0,te=-1,ne=new Map,re=new Set,ie=new Map,ae=new Map,oe=new Set,se=new Map,ce,le=null;function ue(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(ce){ce(),ce=void 0;return}xh(se.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Be({currentLocation:w.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{ce=e});e.history.go(r*-1),L(i,{state:`blocked`,location:n,proceed(){L(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(w.blockers);e.set(i,Qg),pe({blockers:e})}}),E?.resolve(),E=null;return}return _e(t,n)}),n){mv(t,A);let e=()=>hv(t,A);t.addEventListener(`pagehide`,e),j=()=>t.removeEventListener(`pagehide`,e)}return w.initialized||_e(`POP`,w.location,{initialHydration:!0}),C}function de(){d&&d(),j&&j(),f.clear(),O&&O.abort(),w.fetchers.forEach((e,t)=>Ne(w.fetchers,t)),w.blockers.forEach((e,t)=>I(t))}function fe(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(w,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function pe(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),w={...w,...e};let n=[],r=[];w.fetchers.forEach((e,t)=>{e.state===`idle`&&(oe.has(t)?n.push(t):r.push(t))}),oe.forEach(e=>{!w.fetchers.has(e)&&!ee.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(w,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Ne(w.fetchers,e)),r.forEach(e=>w.fetchers.delete(e))}function me(t,n,{flushSync:r}={}){let i=w.actionData!=null&&w.navigation.formMethod!=null&&iv(w.navigation.formMethod)&&w.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?w.actionData:null;let o=n.loaderData?z_(w.loaderData,n.loaderData,n.matches||[],n.errors):w.loaderData,c=w.blockers;c.size>0&&!M&&(c=new Map(c),c.forEach((e,t)=>c.set(t,Qg)));let l=M?!1:Ge(t,n.matches||w.matches),u=D===!0||w.navigation.formMethod!=null&&iv(w.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),M||T===`POP`||(T===`PUSH`?e.history.push(t,t.state):T===`REPLACE`&&e.history.replace(t,t.state));let d;if(T===`POP`){let e=A.get(w.location.pathname);e&&e.has(t.pathname)?d={currentLocation:w.location,nextLocation:t}:A.has(t.pathname)&&(d={currentLocation:t,nextLocation:w.location})}else if(k){let e=A.get(w.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),A.set(w.location.pathname,e)),d={currentLocation:w.location,nextLocation:t}}pe({...n,actionData:a,loaderData:o,historyAction:T,location:t,initialized:!0,renderFallback:!1,navigation:Xg,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),T=`POP`,D=!1,k=!1,M=!1,N=!1,E?.resolve(),E=null,le?.resolve(),le=null}async function he(t,n){if(E?.resolve(),E=null,typeof t==`number`){E||=gv();let n=E.promise;return e.history.go(t),n}let r=Ig(C),{path:i,submission:a,error:o}=a_(!1,i_(w.location,w.matches,c,t,n?.fromRouteId,n?.relative),n),s;n?.mask&&(s={pathname:``,search:``,hash:``,...typeof n.mask==`string`?Eh(n.mask):{...w.location.mask,...n.mask}});let l=w.location,u=wh(l,i,n&&n.state,void 0,s);u={...u,...e.history.encodeLocation(u)};let d=n&&n.replace!=null?n.replace:void 0,f=`PUSH`;d===!0?f=`REPLACE`:d===!1||a!=null&&iv(a.formMethod)&&a.formAction===w.location.pathname+w.location.search&&(f=`REPLACE`);let p=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,m=(n&&n.flushSync)===!0,h=Be({currentLocation:l,nextLocation:u,historyAction:f});if(h){L(h,{state:`blocked`,location:u,proceed(){L(h,{state:`proceeding`,proceed:void 0,reset:void 0,location:u}),he(t,n)},reset(){let e=new Map(w.blockers);e.set(h,Qg),pe({blockers:e})}});return}await _e(f,u,{submission:a,pendingError:o,preventScrollReset:p,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:m,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate,instrumentationNavigateMetaReceiver:r})}function ge(){le||=gv(),Oe(),pe({revalidation:`loading`});let e=le.promise;return w.navigation.state===`submitting`?e:w.navigation.state===`idle`?(_e(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),e):(_e(T||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:k===!0}),e)}async function _e(t,n,r){O&&O.abort(),O=null,T=t,M=(r&&r.startUninterruptedRevalidation)===!0,We(w.location,w.matches),D=(r&&r.preventScrollReset)===!0,k=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&w.matches&&w.matches.length>0&&!y?w.matches:zh(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&w.initialized&&!N&&K_(w.location,n)&&!(r&&r.submission&&iv(r.submission.formMethod))){me(n,{matches:a},{flushSync:o});return}let l=Ke(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),r?.instrumentationNavigateMetaReceiver){let t=sv(e.history,n,a);r.instrumentationNavigateMetaReceiver(t)}if(!a){let{error:e,notFoundMatches:t,route:r}=Ve(n.pathname);me(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;O=new AbortController;let d=P_(e.history,n,O.signal,r&&r.submission),f=e.getContext?await e.getContext():new kh,p;if(r&&r.pendingError)p=[V_(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&iv(r.submission.formMethod)){let i=await ve(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(Z_(t)&&wg(t.error)&&t.error.status===404){O=null,me(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=lv(n,a,t,r.submission),o=!1,l.active=!1,d=P_(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await ye(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(O=null,me(n,{matches:h||a,...B_(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function ve(t,n,i,l,u,d,f,p,m={}){if(Oe(),pe({navigation:uv(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await qe(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=H_(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=V_(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ve(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=ov(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:U_(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await Ee(t,n,T_(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(Q_(h)){let n;return n=m&&m.replace!=null?m.replace:N_(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===w.location.pathname+w.location.search,await Te(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Z_(h)){let e=V_(l,g.route.id);return(m&&m.replace)!==!0&&(T=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function ye(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||lv(n,i,l,p),x=p||m||cv(b),S=!M&&!g;if(d){if(S){let e=be(v);pe({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await qe(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=H_(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=V_(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ve(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:T,revalidatingFetchers:E}=o_(t,u,a,o,e.history,w,i,x,n,g?[]:r,g===!0,N,P,oe,ie,re,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(te=++F,!e.dataStrategy&&!T.some(e=>e.shouldLoad)&&!T.some(e=>e.route.middleware&&e.route.middleware.length>0)&&E.length===0){let e=new Map(w.fetchers),t=Le(e);return me(n,{matches:i,loaderData:{},errors:v&&Z_(v[1])?{[v[0]]:v[1].error}:null,...B_(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=be(v);t!==void 0&&(e.actionData=t)}E.length>0&&(e.fetchers=xe(E)),pe(e,{flushSync:_})}E.forEach(e=>{Fe(e.key),e.controller&&ee.set(e.key,e.controller)});let D=()=>E.forEach(e=>Fe(e.key));O&&O.signal.addEventListener(`abort`,D);let{loaderResults:k,fetcherResults:A}=await De(T,E,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};O&&O.signal.removeEventListener(`abort`,D),E.forEach(e=>ee.delete(e.key));let j=W_(k);if(j)return await Te(t,j.result,!0,{replace:h}),{shortCircuited:!0};if(j=W_(A),j)return re.add(j.key),await Te(t,j.result,!0,{replace:h}),{shortCircuited:!0};let ne=new Map(w.fetchers),{loaderData:ae,errors:se}=R_(w,i,k,v,E,A,ne);g&&w.errors&&(se={...w.errors,...se});let ce=Le(ne),le=Re(te,ne),ue=ce||le||E.length>0;return{matches:i,loaderData:ae,errors:se,...ue?{workingFetchers:ne}:{}}}function be(e){if(e&&!Z_(e[1]))return{[e[0]]:e[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function xe(e){let t=new Map(w.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=dv(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Se(t,n,r,i){Fe(t);let a=(i&&i.flushSync)===!0,o=Ig(C),l=s.activeRoutes,u=i_(w.location,w.matches,c,r,n,i?.relative),d=zh(l,u,c,!1,s.branches),f=Ke(d,l,u);if(f.active&&f.matches&&(d=f.matches),o&&o(sv(e.history,u,d)),!d){Ae(t,n,U_(404,{pathname:u}),{flushSync:a});return}let{path:p,submission:m,error:h}=a_(!0,u,i);if(h){Ae(t,n,h,{flushSync:a});return}let g=e.getContext?await e.getContext():new kh,_=(i&&i.preventScrollReset)===!0;if(m&&iv(m.formMethod)){await Ce(t,n,p,d,g,f.active,a,_,m,i&&i.defaultShouldRevalidate);return}ie.set(t,{routeId:n,path:p}),await we(t,n,p,d,g,f.active,a,_,m)}async function Ce(t,n,i,l,u,d,f,p,m,h){Oe(),ie.delete(t),ke(t,fv(m,w.fetchers.get(t)),{flushSync:f});let g=new AbortController,_=P_(e.history,i,g.signal,m);if(d){let e=await qe(l,new URL(_.url).pathname,_.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ae(t,n,e.error,{flushSync:f});return}else if(e.matches)l=e.matches;else{Ae(t,n,U_(404,{pathname:i}),{flushSync:f});return}}let v=ov(l,i);if(!v.route.action&&!v.route.lazy){Ae(t,n,U_(405,{method:m.formMethod,pathname:i,routeId:n}),{flushSync:f});return}ee.set(t,g);let y=F,b=T_(a,o,_,i,l,v,r,u),x=await Ee(_,i,b,u,t),S=x[v.route.id];if(!S){for(let e of b)if(x[e.route.id]){S=x[e.route.id];break}}if(_.signal.aborted){ee.get(t)===g&&ee.delete(t);return}if(oe.has(t)){if(Q_(S)||Z_(S)){ke(t,pv(void 0));return}}else{if(Q_(S))if(ee.delete(t),te>y){ke(t,pv(void 0));return}else return re.add(t),ke(t,dv(m)),Te(_,S,!1,{fetcherSubmission:m,preventScrollReset:p});if(Z_(S)){Ae(t,n,S.error);return}}let C=w.navigation.location||w.location,E=P_(e.history,C,g.signal),D=s.activeRoutes,k=w.navigation.state===`idle`?w.matches:zh(D,w.navigation.location,c,!1,s.branches);bh(k,`Didn't find any matches after fetcher action`);let A=++F;ne.set(t,A);let{dsMatches:j,revalidatingFetchers:M}=o_(E,u,a,o,e.history,w,k,m,C,r,!1,N,P,oe,ie,re,D,c,e.patchRoutesOnNavigation!=null,s.branches,[v.route.id,S],h),ae=dv(m,S.data),se=new Map(w.fetchers);se.set(t,ae),M.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=se.get(t),r=dv(void 0,n?n.data:void 0);se.set(t,r),Fe(t),e.controller&&ee.set(t,e.controller)}),pe({fetchers:se});let ce=()=>M.forEach(e=>Fe(e.key));g.signal.addEventListener(`abort`,ce);let{loaderResults:le,fetcherResults:ue}=await De(j,M,E,C,u);if(g.signal.aborted)return;g.signal.removeEventListener(`abort`,ce),ne.delete(t),ee.delete(t),M.forEach(e=>ee.delete(e.key));let de=w.fetchers.has(t),fe=e=>{if(!de)return e;let n=new Map(e.fetchers);return n.set(t,pv(S.data)),{...e,fetchers:n}},he=W_(le);if(he)return w=fe(w),Te(E,he.result,!1,{preventScrollReset:p});if(he=W_(ue),he)return re.add(he.key),w=fe(w),Te(E,he.result,!1,{preventScrollReset:p});let ge=new Map(w.fetchers);de&&ge.set(t,pv(S.data));let{loaderData:_e,errors:ve}=R_(w,k,le,void 0,M,ue,ge);Re(A,ge),w.navigation.state===`loading`&&A>te?(bh(T,`Expected pending action`),O&&O.abort(),me(w.navigation.location,{matches:k,loaderData:_e,errors:ve,fetchers:ge})):(pe({errors:ve,loaderData:z_(w.loaderData,_e,k,ve),fetchers:ge}),N=!1)}async function we(t,n,i,s,c,l,u,d,f){let p=w.fetchers.get(t);ke(t,dv(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=P_(e.history,i,m.signal);if(l){let e=await qe(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ae(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{Ae(t,n,U_(404,{pathname:i}),{flushSync:u});return}}let g=ov(s,i);ee.set(t,m);let _=F,v=await Ee(h,i,T_(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(ee.get(t)===m&&ee.delete(t),!h.signal.aborted){if(oe.has(t)){ke(t,pv(void 0));return}if(Q_(y))if(te>_){ke(t,pv(void 0));return}else{re.add(t),await Te(h,y,!1,{preventScrollReset:d});return}if(Z_(y)){Ae(t,n,y.error);return}ke(t,pv(y.data))}}async function Te(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(E?.resolve(),E=null),i.response.headers.has(`X-Remix-Revalidate`)&&(N=!0);let d=i.response.headers.get(`Location`);bh(d,`Expected a Location header on the redirect Response`),d=N_(d,new URL(r.url),c,e.history);let f=wh(w.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(lg(d)){let n=Oh(t,d,!0);e=n.origin!==t.location.origin||sg(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}O=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:m,formAction:h,formEncType:g}=w.navigation;!o&&!s&&m&&h&&g&&(o=cv(w.navigation));let _=o||s;Yg.has(i.response.status)&&_&&iv(_.formMethod)?await _e(p,f,{submission:{..._,formAction:d},preventScrollReset:l||D,enableViewTransition:a?k:void 0}):await _e(p,f,{overrideNavigation:lv(f,[],p,o),fetcherSubmission:s,preventScrollReset:l||D,enableViewTransition:a?k:void 0})}async function Ee(e,t,n,r,i){let a,o={};try{a=await E_(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!iv(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!w.loaderData.hasOwnProperty(e.route.id)&&(!w.errors||!w.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(X_(r)){let i=r.result;o[t]={type:`redirect`,response:A_(i,e,t,n,c)}}else o[t]=await k_(r);return o}async function De(e,t,n,r,i){let a=Ee(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await Ee(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:U_(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Oe(){N=!0,ie.forEach((e,t)=>{ee.has(t)&&P.add(t),Fe(t)})}function ke(e,t,n={}){let r=new Map(w.fetchers);r.set(e,t),pe({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function Ae(e,t,n,r={}){let i=V_(w.matches,t),a=new Map(w.fetchers);Ne(a,e),pe({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function je(e){return ae.set(e,(ae.get(e)||0)+1),oe.has(e)&&oe.delete(e),w.fetchers.get(e)||Zg}function Me(e,t){Fe(e,t?.reason),ke(e,pv(null))}function Ne(e,t){let n=w.fetchers.get(t);ee.has(t)&&!(n&&n.state===`loading`&&ne.has(t))&&Fe(t),ie.delete(t),ne.delete(t),re.delete(t),oe.delete(t),P.delete(t),e.delete(t)}function Pe(e){let t=(ae.get(e)||0)-1;t<=0?(ae.delete(e),oe.add(e)):ae.set(e,t),pe({fetchers:new Map(w.fetchers)})}function Fe(e,t){let n=ee.get(e);n&&(n.abort(t),ee.delete(e))}function Ie(e,t){for(let n of e){let e=t.get(n);bh(e,`Expected fetcher: ${n}`);let r=pv(e.data);t.set(n,r)}}function Le(e){let t=[],n=!1;for(let r of re){let i=e.get(r);bh(i,`Expected fetcher: ${r}`),i.state===`loading`&&(re.delete(r),t.push(r),n=!0)}return Ie(t,e),n}function Re(e,t){let n=[];for(let[r,i]of ne)if(i<e){let e=t.get(r);bh(e,`Expected fetcher: ${r}`),e.state===`loading`&&(Fe(r),ne.delete(r),n.push(r))}return Ie(n,t),n.length>0}function ze(e,t){let n=w.blockers.get(e)||Qg;return se.get(e)!==t&&se.set(e,t),n}function I(e){w.blockers.delete(e),se.delete(e)}function L(e,t){let n=w.blockers.get(e)||Qg;bh(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(w.blockers);r.set(e,t),pe({blockers:r})}function Be({currentLocation:e,nextLocation:t,historyAction:n}){if(se.size===0)return;se.size>1&&xh(!1,`A router only supports one blocker at a time`);let r=Array.from(se.entries()),[i,a]=r[r.length-1],o=w.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ve(e){let t=U_(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=H_(n);return{notFoundMatches:r,route:i,error:t}}function He(e,t,n){if(m=e,g=t,h=n||null,!_&&w.navigation===Xg){_=!0;let e=Ge(w.location,w.matches);e!=null&&pe({restoreScrollPosition:e})}return()=>{m=null,g=null,h=null}}function Ue(e,t){return h&&h(e,t.map(e=>Bh(e,w.loaderData)))||e.key}function We(e,t){if(m&&g){let n=Ue(e,t);m[n]=g()}}function Ge(e,t){if(m){let n=Ue(e,t),r=m[n];if(typeof r==`number`)return r}return null}function Ke(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:zh(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:zh(n,r,c,!0,e)}}return{active:!1,matches:null}}async function qe(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||f_(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=zh(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=zh(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&Je(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=zh(s.activeRoutes,n,c,!0,u),!f||Je(l,f))return{type:`success`,matches:null};l=f}}function Je(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function Ye(e){o={},s.setHmrRoutes(Ih(e,a,void 0,o))}function Xe(e,t,n=!1){f_(e,t,s,o,a,n),s.hasHMRRoutes||pe({})}return C={get basename(){return c},get future(){return u},get state(){return w},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ue,subscribe:fe,enableScrollRestoration:He,navigate:he,fetch:Se,revalidate:ge,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:je,resetFetcher:Me,deleteFetcher:Pe,dispose:de,getBlocker:ze,deleteBlocker:I,patchRoutes:Xe,_internalFetchControllers:ee,_internalSetRoutes:Ye,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){pe(e)}},e.instrumentations&&(C=Mg(C,e.instrumentations.map(e=>e.router).filter(Boolean))),C}function r_(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function i_(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=hg(r||`.`,mg(o),sg(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=av(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=cg({basename:n,pathname:c.pathname})),Th(c)}function a_(e,t,n){if(!n||!r_(n))return{path:t};if(n.formMethod&&!rv(n.formMethod))return{path:t,error:U_(405,{method:n.formMethod})};let r=()=>({path:t,error:U_(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=G_(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!iv(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}\n`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!iv(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}bh(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=F_(n.formData),s=n.formData;else if(n.body instanceof FormData)o=F_(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=I_(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=I_(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(iv(c.formMethod))return{path:t,submission:c};let l=Eh(t);return e&&l.search&&av(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:Th(l),submission:c}}function o_(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?Z_(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&Z_(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Tg(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!s_(s))f=!1;else if(u){let{shouldLoad:e}=c_(s,a.loaderData,a.errors);f=e}else l_(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return w_(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?u_(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return w_(n,r,e,c,k,i,l,t,d_(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=zh(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=ov(b,e.path),C=new AbortController,w=P_(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=T_(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=T_(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};d_(S,a)&&(T=T_(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function s_(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function c_(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!s_(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function l_(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function u_(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function d_(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function f_(e,t,n,r,i,a){let o;if(e){let t=r[e];bh(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>p_(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=Ih(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=Ih([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function p_(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>p_(e,t)))??!1:!1}var m_=new WeakMap,h_=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(bh(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=m_.get(i);o||(o={},m_.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=jh(e),n=i[e]!==void 0;if(t)xh(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)xh(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},g_=new WeakMap;function __(e,t,n,r,i){let a=n[e.id];if(bh(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=g_.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{bh(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=Nh(e),o=a[e]!==void 0;i?xh(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?xh(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return g_.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=h_({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function v_(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function y_(e){return e.matches.some(e=>e.route.middleware)?b_(e,()=>v_(e)):v_(e)}function b_(e,t){return x_(e,t,e=>{if(nv(e))throw e;return e},J_,n);async function n(t,n,r){if(r)return Object.assign(r.value,{[n]:{type:`error`,result:t}});{let{matches:r}=e,i=Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0)),a=r[i].route.id;for(let e of r.slice(0,i+1))try{await e._lazyPromises?.route}catch{a=e.route.id;break}return{[V_(r,a).route.id]:{type:`error`,result:t}}}}}async function x_(e,t,n,r,i){let{matches:a,...o}=e;return await S_(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function S_(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await S_(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function C_(e,t,n,r,i){let a=h_({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=__(r.route,iv(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function w_(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=C_(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?d_(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?d_(a,{...l,defaultShouldRevalidate:e}):d_(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!iv(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(iv(n.method)||!p)?D_({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function T_(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?w_(e,t,n,r,Tg(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:C_(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function E_(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:Eg(t,n),pattern:Tg(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return b_(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function D_({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=iv(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:Eg(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw U_(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw U_(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function O_(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function k_(e){let{result:t,type:n}=e;if(ev(t)){let e;try{e=await O_(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new Cg(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?$_(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:q_(t),statusCode:wg(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:wg(t)?t.status:void 0}:$_(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function A_(e,t,n,r,i){let a=e.headers.get(`Location`);if(bh(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!lg(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=i_(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var j_=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function M_(e){try{return j_.includes(new URL(e).protocol)}catch{return!1}}function N_(e,t,n,r){if(lg(e)){let r=e,i=hh.test(r)?new URL(gh(r,t.protocol)):new URL(r);if(M_(i.toString()))throw Error(`Invalid redirect location`);let a=sg(i.pathname,n)!=null;if(i.origin===t.origin&&a)return gg(i.pathname)+i.search+i.hash}try{if(M_(r.createURL(e).toString()))throw Error(`Invalid redirect location`)}catch{}return e}function P_(e,t,n,r){let i=e.createURL(G_(t)).toString(),a={signal:n};if(r&&iv(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=F_(r.formData):a.body=r.formData}return new Request(i,a)}function F_(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function I_(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function L_(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Z_(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(bh(!Q_(f),`Cannot handle redirect results in processLoaderData`),Z_(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=V_(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=e_),c||(c=!0,s=wg(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function R_(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=L_(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(bh(s,`Did not find corresponding fetcher result`),Z_(s)){let t=V_(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(Q_(s))bh(!1,`Unhandled fetcher revalidation redirect`);else{let e=pv(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function z_(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==e_).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function B_(e){return e?Z_(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function V_(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.ErrorBoundary!=null||e.route.errorElement!=null)||e[0]}function H_(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function U_(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new Cg(e||500,o,Error(s),!0)}function W_(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(Q_(r))return{key:n,result:r}}}function G_(e){return Th({...typeof e==`string`?Eh(e):e,hash:``})}function K_(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function q_(e){return new Cg(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function J_(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Y_(t))}function Y_(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function X_(e){return ev(e.result)&&Jg.has(e.result.status)}function Z_(e){return e.type===`error`}function Q_(e){return(e&&e.type)===`redirect`}function $_(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function ev(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function tv(e){return Jg.has(e)}function nv(e){return ev(e)&&tv(e.status)&&e.headers.has(`Location`)}function rv(e){return qg.has(e.toUpperCase())}function iv(e){return Gg.has(e.toUpperCase())}function av(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function ov(e,t){let n=typeof t==`string`?Eh(t).search:t.search;if(e[e.length-1].route.index&&av(n||``))return e[e.length-1];let r=pg(e);return r[r.length-1]}function sv(e,t,n){return{url:Eg(e.createURL(t),t),pattern:n?Tg(n):``,params:n?.[0]?.params?{...n[0].params}:{}}}function cv(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function lv(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function uv(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function dv(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function fv(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function pv(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function mv(e,t){try{let n=e.sessionStorage.getItem($g);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function hv(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem($g,JSON.stringify(n))}catch(e){xh(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function gv(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var _v=I.createContext(null);_v.displayName=`DataRouter`;var vv=I.createContext(null);vv.displayName=`DataRouterState`;var yv=I.createContext(!1);function bv(){return I.useContext(yv)}var xv=I.createContext({isTransitioning:!1});xv.displayName=`ViewTransition`;var Sv=I.createContext(new Map);Sv.displayName=`Fetchers`;var Cv=I.createContext(null);Cv.displayName=`Await`;var wv=I.createContext(null);wv.displayName=`Navigation`;var Tv=I.createContext(null);Tv.displayName=`Location`;var Ev=I.createContext({outlet:null,matches:[],isDataRoute:!1});Ev.displayName=`Route`;var Dv=I.createContext(null);Dv.displayName=`RouteError`;var Ov=`REACT_ROUTER_ERROR`,kv=`REDIRECT`,Av=`ROUTE_ERROR_RESPONSE`;function jv(e){if(e.startsWith(`${Ov}:${kv}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Mv(e){if(e.startsWith(`${Ov}:${Av}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Cg(t.status,t.statusText,t.data)}catch{}}function Nv(e,{relative:t}={}){bh(Pv(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=I.useContext(wv),{hash:i,pathname:a,search:o}=Hv(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:_g([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Pv(){return I.useContext(Tv)!=null}function Fv(){return bh(Pv(),`useLocation() may be used only in the context of a <Router> component.`),I.useContext(Tv).location}var Iv=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Lv(){let{isDataRoute:e}=I.useContext(Ev);return e?oy():Rv()}function Rv(){bh(Pv(),`useNavigate() may be used only in the context of a <Router> component.`);let e=I.useContext(_v),{basename:t,navigator:n}=I.useContext(wv),{matches:r}=I.useContext(Ev),{pathname:i}=Fv(),a=JSON.stringify(mg(r)),o=I.useRef(!1);return I.useLayoutEffect(()=>{o.current=!0}),I.useCallback((r,s={})=>{if(xh(o.current,Iv),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=hg(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:_g([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var zv=I.createContext(null);function Bv(e){let t=I.useContext(Ev).outlet;return I.useMemo(()=>t&&I.createElement(zv.Provider,{value:e},t),[t,e])}function Vv(){let{matches:e}=I.useContext(Ev);return e[e.length-1]?.params??{}}function Hv(e,{relative:t}={}){let{matches:n}=I.useContext(Ev),{pathname:r}=Fv(),i=JSON.stringify(mg(n));return I.useMemo(()=>hg(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Uv(e,t,n){bh(Pv(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=I.useContext(wv),{matches:i}=I.useContext(Ev),a=i[i.length-1],o=a?a.params:{};a&&a.pathname;let s=a?a.pathnameBase:`/`;a&&a.route;let c=Fv(),l;if(t){let e=typeof t==`string`?Eh(t):t;bh(s===`/`||e.pathname?.startsWith(s),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${s}" but pathname "${e.pathname}" was given in the \`location\` prop.`),l=e}else l=c;let u=l.pathname||`/`,d=u;if(s!==`/`){let e=s.replace(/^\//,``).split(`/`);d=`/`+u.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let f=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):Rh(e,{pathname:d}),p=Xv(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:_g([s,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?s:_g([s,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&p?I.createElement(Tv.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...l},navigationType:`POP`}},p):p}function Wv(){let e=ay(),t=wg(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null;return I.createElement(I.Fragment,null,I.createElement(`h2`,null,`Unexpected Application Error!`),I.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?I.createElement(`pre`,{style:{padding:`0.5rem`,backgroundColor:`rgba(200,200,200, 0.5)`}},n):null,null)}var Gv=I.createElement(Wv,null),Kv=class extends I.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static contextType=yv;static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Mv(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:I.createElement(Ev.Provider,{value:this.props.routeContext},I.createElement(Dv.Provider,{value:e,children:this.props.component}));return this.context?I.createElement(Jv,{error:e},t):t}},qv=new WeakMap;function Jv({children:e,error:t}){let{basename:n}=I.useContext(wv);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=jv(t.digest);if(e){let r=qv.get(t);if(r)throw r;let i=Og(e.location,n),a=i.absoluteURL||i.to;if(M_(a))throw Error(`Invalid redirect location`);if(Dg&&!qv.get(t))if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw qv.set(t,n),n}return I.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function Yv({routeContext:e,match:t,children:n}){let r=I.useContext(_v);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),I.createElement(Ev.Provider,{value:e},n)}function Xv(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);bh(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Tg(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||Gv,o&&(s<0&&c===0?(cy(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?I.createElement(n.route.Component,null):n.route.element?n.route.element:e,I.createElement(Yv,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?I.createElement(Kv,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Zv(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qv(e){let t=I.useContext(_v);return bh(t,Zv(e)),t}function $v(e){let t=I.useContext(vv);return bh(t,Zv(e)),t}function ey(e){let t=I.useContext(Ev);return bh(t,Zv(e)),t}function ty(e){let t=ey(e),n=t.matches[t.matches.length-1];return bh(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function ny(){return ty(`useRouteId`)}function ry(){let e=$v(`useNavigation`);return I.useMemo(()=>{let{matches:t,historyAction:n,...r}=e.navigation;return r},[e.navigation])}function iy(){let{matches:e,loaderData:t}=$v(`useMatches`);return I.useMemo(()=>e.map(e=>Bh(e,t)),[e,t])}function ay(){let e=I.useContext(Dv),t=$v(`useRouteError`),n=ty(`useRouteError`);return e===void 0?t.errors?.[n]:e}function oy(){let{router:e}=Qv(`useNavigate`),t=ty(`useNavigate`),n=I.useRef(!1);return I.useLayoutEffect(()=>{n.current=!0}),I.useCallback(async(r,i={})=>{xh(n.current,Iv),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var sy={};function cy(e,t,n){!t&&!sy[e]&&(sy[e]=!0,xh(!1,n))}var ly={};function uy(e,t){!e&&!ly[t]&&(ly[t]=!0,console.warn(t))}var dy=[`HydrateFallback`,`hydrateFallbackElement`],fy=class{status=`pending`;promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function py({router:e,flushSync:t,onError:n,useTransitions:r}){r=bv()||r;let[i,a]=I.useState(e.state),[o,s]=(0,I.useOptimistic)(i),[c,l]=I.useState(),[u,d]=I.useState({isTransitioning:!1}),[f,p]=I.useState(),[m,h]=I.useState(),[g,_]=I.useState(),v=I.useRef(new Map),y=I.useCallback((i,{deletedFetchers:o,newErrors:c,flushSync:u,viewTransitionOpts:g})=>{c&&n&&Object.values(c).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:Tg(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&v.current.set(t,e.data)}),o.forEach(e=>v.current.delete(e)),uy(u===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let y=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(uy(g==null||y,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!g||!y){t&&u?t(()=>a(i)):r===!1?a(i):I.startTransition(()=>{r===!0&&s(e=>my(e,i)),a(i)});return}if(t&&u){t(()=>{m&&(f?.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})})}),t(()=>h(n));return}m?(f?.resolve(),m.skipTransition(),_({state:i,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(l(i),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,f,r,s,n]);I.useLayoutEffect(()=>e.subscribe(y),[e,y]),I.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new fy)},[u]),I.useEffect(()=>{if(f&&c&&e.window){let t=c,n=f.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):I.startTransition(()=>{r===!0&&s(e=>my(e,t)),a(t)}),await n});i.finished.finally(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})}),h(i)}},[c,f,e.window,r,s]),I.useEffect(()=>{f&&c&&o.location.key===c.location.key&&f.resolve()},[f,m,o.location,c]),I.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),_(void 0))},[u.isTransitioning,g]);let b=I.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),x=e.basename||`/`,S=I.useMemo(()=>({router:e,navigator:b,static:!1,basename:x,onError:n}),[e,b,x,n]);return I.createElement(I.Fragment,null,I.createElement(_v.Provider,{value:S},I.createElement(vv.Provider,{value:o},I.createElement(Sv.Provider,{value:v.current},I.createElement(xv.Provider,{value:u},I.createElement(vy,{basename:x,location:o.location,navigationType:o.historyAction,navigator:b,useTransitions:r},I.createElement(hy,{routes:e.routes,manifest:e.manifest,future:e.future,state:o,isStatic:!1,onError:n})))))),null)}function my(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var hy=I.memo(gy);function gy({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Uv(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function _y(e){return Bv(e.context)}function vy({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){bh(!Pv(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=I.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=Eh(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=I.useMemo(()=>{let e=sg(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return xh(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:I.createElement(wv.Provider,{value:c},I.createElement(Tv.Provider,{children:t,value:h}))}I.Component;var yy=`application/x-www-form-urlencoded`;function by(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function xy(e){return by(e)&&e.tagName.toLowerCase()===`button`}function Sy(e){return by(e)&&e.tagName.toLowerCase()===`form`}function Cy(e){return by(e)&&e.tagName.toLowerCase()===`input`}function wy(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ty(e,t){return e.button===0&&(!t||t===`_self`)&&!wy(e)}var Ey=null;function Dy(){if(Ey===null)try{new FormData(document.createElement(`form`),0),Ey=!1}catch{Ey=!0}return Ey}var Oy=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function ky(e){return e!=null&&!Oy.has(e)?(xh(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${yy}"`),null):e}function Ay(e,t){let n,r,i,a,o;if(Sy(e)){let o=e.getAttribute(`action`);r=o?sg(o,t):null,n=e.getAttribute(`method`)||`get`,i=ky(e.getAttribute(`enctype`))||yy,a=new FormData(e)}else if(xy(e)||Cy(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?sg(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||`get`,i=ky(e.getAttribute(`formenctype`))||ky(o.getAttribute(`enctype`))||yy,a=new FormData(o,e),!Dy()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(by(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=`get`,r=null,i=yy,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}function jy(e,t){if(e===!1||e==null)throw Error(t)}var My={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Ny=/[&><\u2028\u2029]/g;function Py(e){return e.replace(Ny,e=>My[e])}function Fy(e,t){let n=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n.pathname.endsWith(`/`)?n.pathname=`${n.pathname}_.${t}`:n.pathname=`${n.pathname}.${t}`,n}var Iy=`modulepreload`,Ly=function(e){return`/`+e},Ry={},zy=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=Ly(t,n),t=s(t),t in Ry)return;Ry[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Iy,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};async function By(e,t){if(e.id in t)return t[e.id];try{let n=await zy(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Vy(e){return e!=null&&typeof e.page==`string`}function Hy(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Uy(e,t,n){return Jy((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await By(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Hy).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Wy(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Gy(e,t,{includeHydrateFallback:n}={}){return Ky(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ky(e){return[...new Set(e)]}function qy(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Jy(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Vy(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(qy(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Yy(){let e=I.useContext(_v);return jy(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Xy(){let e=I.useContext(vv);return jy(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Zy=I.createContext(void 0);Zy.displayName=`FrameworkContext`;function Qy(){let e=I.useContext(Zy);return jy(e,`You must render this element inside a <HydratedRouter> element`),e}function $y(e,t){let n=I.useContext(Zy),[r,i]=I.useState(!1),[a,o]=I.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=I.useRef(null);I.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),I.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:eb(s,p),onBlur:eb(c,m),onMouseEnter:eb(l,p),onMouseLeave:eb(u,m),onTouchStart:eb(d,p)}]:[a,f,{}]:[!1,f,{}]}function eb(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function tb({page:e,...t}){let n=bv(),{nonce:r}=Qy(),{router:i}=Yy(),a=I.useMemo(()=>Rh(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?I.createElement(rb,{page:e,matches:a,...t}):I.createElement(ib,{page:e,matches:a,...t})):null}function nb(e){let{manifest:t,routeModules:n}=Qy(),[r,i]=I.useState([]);return I.useEffect(()=>{let r=!1;return Uy(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function rb({page:e,matches:t,...n}){let r=Fv(),i=I.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=Fy(e,`rsc`),i=!1,a=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?i=!0:a.push(e.route.id);return i&&a.length>0&&n.searchParams.set(`_routes`,a.join(`,`)),[n.pathname+n.search]},[e,r,t]);return I.createElement(I.Fragment,null,i.map(e=>I.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function ib({page:e,matches:t,...n}){let r=Fv(),{manifest:i,routeModules:a}=Qy(),{loaderData:o,matches:s}=Xy(),c=I.useMemo(()=>Wy(e,t,s,i,r,`data`),[e,t,s,i,r]),l=I.useMemo(()=>Wy(e,t,s,i,r,`assets`),[e,t,s,i,r]),u=I.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,s=!1;if(t.forEach(e=>{let t=i.routes[e.route.id];!t||!t.hasLoader||(!c.some(t=>t.route.id===e.route.id)&&e.route.id in o&&a[e.route.id]?.shouldRevalidate||t.hasClientLoader?s=!0:n.add(e.route.id))}),n.size===0)return[];let l=Fy(e,`data`);return s&&n.size>0&&l.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[l.pathname+l.search]},[o,r,i,c,t,e,a]),d=I.useMemo(()=>Gy(l,i),[l,i]),f=nb(l);return I.createElement(I.Fragment,null,u.map(e=>I.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),d.map(e=>I.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),f.map(({key:e,link:t})=>I.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ab(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var ob=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{ob&&(window.__reactRouterVersion=`8.3.0`)}catch{}function sb(e,t){return n_({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:yh({window:t?.window}),hydrationData:t?.hydrationData||cb(),routes:e,mapRouteProperties:Fh,hydrationRouteProperties:dy,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function cb(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:lb(e.errors)}),e}function lb(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new Cg(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(typeof r.__subType==`string`&&Sg.includes(r.__subType)){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function ub({basename:e,children:t,history:n,useTransitions:r}){let[i,a]=I.useState({action:n.action,location:n.location}),o=I.useCallback(e=>{r===!1?a(e):I.startTransition(()=>a(e))},[r]);return I.useLayoutEffect(()=>n.listen(o),[n,o]),I.createElement(vy,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,useTransitions:r})}ub.displayName=`unstable_HistoryRouter`;var db=I.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:_}=I.useContext(wv),v=typeof l==`string`&&mh.test(l),y=Og(l,h);l=y.to;let b=Nv(l,{relative:r}),x=Fv(),S=null;if(o){let e=hg(o,[],x.mask?x.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:_g([h,e.pathname])),S=g.createHref(e)}let[C,w,T]=$y(n,p),E=vb(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function D(t){e&&e(t),t.defaultPrevented||E(t)}let O=!(y.isExternal||i),k=I.createElement(`a`,{...p,...T,href:(O?S:void 0)||y.absoluteURL||b,onClick:O?D:e,ref:ab(m,w),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return C&&!v?I.createElement(I.Fragment,null,k,I.createElement(tb,{page:b})):k});db.displayName=`Link`;var fb=I.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=Hv(a,{relative:c.relative}),d=Fv(),f=I.useContext(vv),{navigator:p,basename:m}=I.useContext(wv),h=f!=null&&Ob(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=sg(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,x=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(y)===`/`),S={isActive:b,isPending:x,isTransitioning:h},C=b?e:void 0,w;w=typeof n==`function`?n(S):[n,b?`active`:null,x?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let T=typeof i==`function`?i(S):i;return I.createElement(db,{...c,"aria-current":C,className:w,ref:l,style:T,to:a,viewTransition:o},typeof s==`function`?s(S):s)});fb.displayName=`NavLink`;var pb=I.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=`get`,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=I.useContext(wv),g=xb(),_=Sb(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,y=typeof s==`string`&&mh.test(s);return I.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?I.startTransition(()=>p()):p()},...p,"data-discover":!y&&e===`render`?`true`:void 0})});pb.displayName=`Form`;function mb({getKey:e,storageKey:t,...n}){let r=I.useContext(Zy),{basename:i}=I.useContext(wv),a=Fv(),o=iy();Eb({getKey:e,storageKey:t});let s=I.useMemo(()=>{if(!r||!e)return null;let t=Tb(a,o,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let c=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return n.nonce==null&&r?.nonce&&(n.nonce=r.nonce),I.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${c})(${Py(JSON.stringify(t||Cb))}, ${Py(JSON.stringify(s))})`}})}mb.displayName=`ScrollRestoration`;function hb(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function gb(e){let t=I.useContext(_v);return bh(t,hb(e)),t}function _b(e){let t=I.useContext(vv);return bh(t,hb(e)),t}function vb(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=Lv(),d=Fv(),f=Hv(e,{relative:o});return I.useCallback(p=>{if(Ty(p,t)){p.preventDefault();let t=n===void 0?Th(d)===Th(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?I.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}var yb=0,bb=()=>`__${String(++yb)}__`;function xb(){let{router:e}=gb(`useSubmit`),{basename:t}=I.useContext(wv),n=ny(),r=e.fetch,i=e.navigate;return I.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=Ay(e,t);a.navigate===!1?await r(a.fetcherKey||bb(),n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Sb(e,{relative:t}={}){let{basename:n}=I.useContext(wv),r=I.useContext(Ev);bh(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...Hv(e||`.`,{relative:t})},o=Fv();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:_g([n,a.pathname])),Th(a)}var Cb=`react-router-scroll-positions`,wb={};function Tb(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:sg(e.pathname,n)||e.pathname},t)),i??=e.key,i}function Eb({getKey:e,storageKey:t}={}){let{router:n}=gb(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=_b(`useScrollRestoration`),{basename:a}=I.useContext(wv),o=Fv(),s=iy(),c=ry();I.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Db(I.useCallback(()=>{if(c.state===`idle`){let t=Tb(o,s,a,e);wb[t]=window.scrollY}try{sessionStorage.setItem(t||Cb,JSON.stringify(wb))}catch(e){xh(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[c.state,e,a,o,s,t])),typeof document<`u`&&(I.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Cb);e&&(wb=JSON.parse(e))}catch{}},[t]),I.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(wb,()=>window.scrollY,e?(t,n)=>Tb(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),I.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(o.hash){let e=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{xh(!1,`"${o.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[o,r,i]))}function Db(e,t){let{capture:n}=t||{};I.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Ob(e,{relative:t}={}){let n=I.useContext(xv);bh(n!=null,"`useViewTransitionState` must be used within `react-router/dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=gb(`useViewTransitionState`),i=Hv(e,{relative:t});if(!n.isTransitioning)return!1;let a=sg(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=sg(n.nextLocation.pathname,r)||n.nextLocation.pathname;return rg(i.pathname,o)!=null||rg(i.pathname,a)!=null}var kb=class{currentSeq=-1;resync;interactionsInvalidated;constructor(e,t=()=>{}){this.resync=e,this.interactionsInvalidated=t}reset(){this.currentSeq=-1}handle(e){switch(e.type){case`board`:af(e.bootId),Sp(e.board),this.currentSeq=typeof e.seq==`number`?e.seq:-1;break;case`board-delta`:switch(af(e.bootId),Oc(this.currentSeq,e.seq)){case`apply`:Tp(e)?this.currentSeq=e.seq:this.resync();break;case`ignore`:break;case`resync`:this.resync();break}break;case`notify`:Ab(e);break;case`interactions-invalidated`:this.interactionsInvalidated(e);break}}};function Ab(e){if(!X.notificationsEnabled||!document.hidden||typeof Notification>`u`||Notification.permission!==`granted`)return;let t=new Notification(e.title,{body:e.body,tag:`${Od()}/${e.slug}`}),n=Ed()??X.board?.projectSlug;t.onclick=()=>{window.focus(),n===void 0||Ed()===n?tp(e.slug):location.assign(`${Dd(n)}/thread/${encodeURIComponent(e.slug)}`),t.close()}}var jb=(e,t)=>[`interactions`,`pending`,e,t],Mb=(e,t,n)=>[`interactions`,`record`,e,t,n];function Nb(e,t){let n=jb(t.owner.threadSlug,t.owner.sessionId);e.setQueryData(n,e=>e&&(t.lifecycle===`pending`?{interactions:e.interactions.map(e=>e.id===t.id?t:e)}:{interactions:e.interactions.filter(e=>e.id!==t.id)}))}function Pb(e,t){Nb(e,{...t,delivery:{effect:`reconnect-required`}})}async function Fb(e,t){await Promise.all([e.invalidateQueries({queryKey:jb(t.slug,t.sessionId),exact:!0}),e.invalidateQueries({queryKey:Mb(t.slug,t.sessionId,t.interactionId),exact:!0})])}var Ib=null,Lb=null,Rb=0,zb=null,Bb=0,Vb=null,Hb=new kb(()=>Kb(),e=>{Vb&&Fb(Vb,e)}),Ub=35e3;function Wb(){if(Ib)return;X.connection!==`open`&&(X.connection=`connecting`),Ib=new EventSource(`${Md()}/events`);let e=Ed();if(Rb=Date.now(),Ib.onopen=()=>{Lb&&=(clearTimeout(Lb),null),Bb=0,Rb=Date.now(),X.connection=`open`},Ib.addEventListener(`heartbeat`,()=>{Rb=Date.now()}),Ib.onmessage=t=>{if(e===Ed()){Rb=Date.now();try{Hb.handle(JSON.parse(t.data))}catch(e){console.error(`bad SSE event`,e)}}},Ib.onerror=()=>Gb(),!zb){zb=setInterval(()=>{Ib&&Date.now()-Rb>Ub&&Gb()},1e4);let e=()=>{(!Ib||Date.now()-Rb>Ub)&&Gb(!0)};window.addEventListener(`focus`,e),window.addEventListener(`online`,e),document.addEventListener(`visibilitychange`,()=>{document.hidden||e()})}}function Gb(e=!1){if(Ib?.close(),Ib=null,Hb.reset(),Bb++,X.connection=Bb>3?`closed`:`connecting`,Lb){if(!e)return;clearTimeout(Lb),Lb=null}let t=e?0:Math.min(1e3*2**Math.min(Bb-1,4),15e3);Lb=setTimeout(()=>{Lb=null,Wb()},t)}function Kb(){Hb.reset(),Ib?.close(),Ib=null,Wb()}function qb(){Hb.reset(),Ib?.close(),Ib=null,X.connection=`connecting`,Wb()}function Jb(e){e&&(Vb=e),document.readyState===`complete`?Wb():window.addEventListener(`load`,Wb,{once:!0})}var Yb=e=>wu(Du(e.displayText??e.text)).trim();function Xb(e,t){let n=new Set(e.filter(e=>e.role===`user`&&e.sourceId).map(e=>e.sourceId));return t.filter(e=>e.role===`user`&&e.sourceId&&!n.has(e.sourceId)).map(Yb)}function Zb(e,t){let n=new Set;for(let r of t)for(let t=0;t<e.length;t++){if(n.has(t))continue;let i=Yb(e[t]);if(r===i){n.add(t);break}if(!r.startsWith(i))continue;let a=i.length;for(let i=t+1;i<e.length&&!n.has(i);i++){let o=Yb(e[i]);if(!r.startsWith(`
|
|
130
|
+
`)){let e=t.trim();if(!e)continue;let n=zu.exec(e);if(n)return{ref:n[1],kind:n[2]===`MERGED`?`merged`:`closed`};let r=Bu.exec(e);if(r)return{ref:r[1],kind:`ci`,verdict:`passing`,passed:Number(r[2]),failing:[],...r[3]?{skipped:Number(r[3])}:{}};let i=Vu.exec(e);if(i)return{ref:i[1],kind:`ci`,verdict:`gated`,gated:Number(i[2]),gating:i[3]?i[3].split(`, `):[]};let a=Wu.exec(e);if(a)return{ref:a[1],kind:`ci`,verdict:`failing`,failing:a[2]?a[2].split(`, `):[]}}return null}q({installed:G(),inRepo:G(),nameWithOwner:U().nullable(),authed:G()});var Ku=q({ref:U(),kind:J([`issue`,`pr`,`commit`]),repo:U(),url:U(),title:U(),body:U(),state:U(),stateReason:U().optional(),at:U().optional(),authorLogin:U().optional(),authorName:U().optional(),authorAvatar:U().optional(),labels:K(q({name:U(),color:U()})).default([]),additions:W().int().nonnegative().optional(),deletions:W().int().nonnegative().optional(),changedFiles:W().int().nonnegative().optional(),comments:W().int().nonnegative().optional(),fetchedAt:W().int().nonnegative()});q({refs:K(U().min(3).max(120)).min(1).max(100),refresh:G().default(!1)}),q({cards:K(Ku),missing:K(U()),error:U().optional()});var qu=q({kind:J([`issue`,`pr`]),number:W().int().positive(),title:U(),url:U(),reactions:W().int().nonnegative(),updatedAt:U(),comments:W().int().nonnegative().optional(),createdAt:U().optional(),author:U().optional(),labels:K(q({name:U(),color:U()})).default([]),state:U().optional(),isDraft:G().optional(),linkedPrs:q({count:W().int().positive(),number:W().int().positive(),url:U(),state:U(),isDraft:G().optional()}).optional()});q({kind:J([`issues`,`prs`]),sort:J([`recent`,`reactions`]),page:W().int().min(1).default(1),perPage:W().int().min(1).max(100).default(30)}),q({items:K(qu),total:W().int().nonnegative(),page:W().int().positive(),pageCount:W().int().positive()}),_u.extend({items:K(q({kind:J([`issue`,`pr`]),number:W().int().positive()})).min(1)}).strict(),q({dispatched:K(q({number:W(),kind:U(),slug:ks})),failed:K(q({number:W(),kind:U(),error:U()}))});var Ju=q({projectDir:U(),projectName:U(),projectLabel:U(),errors:K(U()),warnings:K(U()),errorItems:K(cu).optional()});Ts(`type`,[q({type:Os(`board`),board:lu,seq:W().optional(),bootId:U().optional()}),q({type:Os(`board-delta`),seq:W(),bootId:U(),upserts:K(ou),removed:K(ks),meta:Ju.optional()}),q({type:Os(`notify`),slug:ks,kind:J([`needs-decision`,`turn-done`,`exited`]),title:U(),body:U().optional()}),q({type:Os(`interactions-invalidated`),slug:zs,sessionId:Rs,interactionId:Rs,lifecycle:gc,recordRevision:Bs}).strict()]);var Yu=q({file:U(),old:U(),new:U(),added:W().int().nonnegative().optional(),removed:W().int().nonnegative().optional()}),Xu=q({text:U(),status:J([`pending`,`in_progress`,`completed`])}),Zu=q({name:U(),detail:U().optional(),edit:Yu.optional(),desc:U().optional(),command:U().optional(),input:U().optional(),read:U().optional(),output:U().optional(),outputImage:U().optional(),status:J([`pending`,`completed`,`failed`,`cancelled`]).optional(),backgroundState:J([`background`,`unknown`]).optional(),shellId:U().optional(),exitCode:W().int().optional(),cwd:U().optional(),sessionId:ws([U(),W()]).optional(),durationMs:W().nonnegative().optional(),prompt:U().optional(),subagentType:U().optional(),agentId:U().optional(),agentStatus:J([`completed`,`failed`,`killed`]).optional(),agentElapsedMs:W().optional(),agentCompletion:G().optional(),sendTo:U().optional(),sendSummary:U().optional(),sendBody:U().optional(),sendType:U().optional(),sendDispatchId:U().optional(),sendTargetLabel:U().optional(),sentImages:K(U()).optional(),sentFiles:K(U()).optional(),caption:U().optional(),todos:K(Xu).optional(),ask:K(el).optional(),askAnswers:K(U().nullable()).optional()}),Qu=Ts(`kind`,[q({kind:Os(`text`),text:U()}),q({kind:Os(`tools`),tools:K(Zu)})]),$u=q({sourceId:U().min(1).max(768).optional(),pinnedFromSourceId:U().min(1).max(768).optional(),role:J([`user`,`assistant`]),text:U(),displayText:U().optional(),tools:K(Zu),at:U().optional(),kind:J([`event`,`reasoning`]).optional(),durationMs:W().nonnegative().optional(),boundary:J([`wake`,`compaction`,`rest`]).optional(),parts:K(Qu).default([]),queued:G().optional(),deliveryId:U().optional(),deliveryState:J([`pending`,`enqueued`,`delivered`,`unconfirmed`]).optional(),wake:G().optional(),wakeSteer:ku.optional(),agentInstruction:Os(!0).optional(),peerFrom:U().optional(),peerDispatchId:U().optional(),peerUnnamed:Os(!0).optional(),peerSenderTaskId:U().optional(),fenceRefused:Os(!0).optional()}),ed=U().min(1).max(2048).regex(/^[A-Za-z0-9_-]+$/),td=q({path:U().min(1),edits:W().int().positive(),lastEditedAt:U().optional(),added:W().int().nonnegative().optional(),removed:W().int().nonnegative().optional()}).strict();q({messages:K($u),beforeCursor:ed.nullable(),hasEarlier:G(),reachedTurnBoundary:G(),transcriptKey:U().min(1).max(256),editedFiles:K(td).optional()}).strict(),q({slug:ks,cursor:ed}).strict();var nd=ks,rd=U().min(1).max(4096);ws([Ts(`t`,[q({t:Os(`sub`),topic:Os(`transcript`),slug:nd}).strict(),q({t:Os(`unsub`),topic:Os(`transcript`),slug:nd}).strict()]),Ts(`t`,[q({t:Os(`sub`),topic:Os(`file`),path:rd}).strict(),q({t:Os(`unsub`),topic:Os(`file`),path:rd}).strict()])]);var id=q({id:U(),slug:U(),name:U(),path:U(),lastOpenedAt:U(),stale:G(),iconVersion:U().optional(),iconStatus:J([`icon`,`none`,`unknown`]),iconIsCustom:G().optional()}),ad=[`png`,`svg`,`ico`,`webp`,`jpg`,`jpeg`,`gif`];Ts(`kind`,[q({kind:Os(`picked`),project:id}),q({kind:Os(`cancelled`)}),q({kind:Os(`unavailable`),reason:U()})]),q({projectSlug:U(),projectName:U()});var od=`/_frizz`,sd=null;function cd(e){sd=e}function ld(){return sd?(sd(),!0):!1}var ud=new Map,dd=new Map;function fd(e,t){t?ud.set(e,t):ud.delete(e)}function pd(e){let t=ud.get(e);return t?(t(),!0):!1}function md(e,t){t?dd.set(e,t):dd.delete(e)}function hd(e){dd.get(e)?.()}function gd(){if(typeof document>`u`||!document.body)return typeof window>`u`?0:window.scrollY;let e=_d()?Number.parseFloat(document.body.style.top):NaN;return Number.isNaN(e)?window.scrollY:-e}function _d(){return typeof document<`u`&&document.body?.style.position===`fixed`}var vd=null;function yd(e){vd=e}function bd(){let e=vd;return vd=null,e}function xd(e,t){if(!e)return{kind:`loading`};let n=e.threads.find(e=>e.id===t);return n?{kind:`found`,ownership:n.kind===`session`?n.foreign===!0?`foreign`:`owned`:`legacy`,thread:n}:{kind:`missing`}}var Sd=new Set([`thread`,`status`]);function Cd(e){if(typeof e==`string`)return e;let t=typeof location>`u`?void 0:location.pathname;return typeof t==`string`?t:`/`}var wd=`project`,Td=`/${wd}`;function Ed(e){let[,t,n]=Cd(e).split(`/`);return t===wd&&n?n:void 0}function Dd(e){return`${Td}/${e}`}function Od(e){let t=Ed(e);return t?Dd(t):``}function kd(e){let t=Cd(e),n=Od(t);return n?t.slice(n.length)||`/`:t||`/`}function Ad(e,t){let n=Od(Cd(t));return n?`${n}${e===`/`?``:e}`||`/`:e}function jd(e,t){if(!e||!e.startsWith(`/`)||e.startsWith(`//`))return null;let n=e.replace(/[?#].*$/u,``);if(Ed(n))return null;let r=n.split(`/`)[1]??``;if(!Sd.has(r))return null;let i=Ad(e,t);return i===e?null:i}function Md(e){let t=Ed(e);return t?`${od}/${t}`:od}function Nd(e,t){return Ad(`/thread/${encodeURIComponent(e)}/full`,t)}function Pd(e){let t=e.match(/^\/thread\/([^/]+)\/full$/);if(!t)return null;try{return decodeURIComponent(t[1])}catch{return null}}function Fd(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.defaultPrevented}function Id(e,t){let n=Ed(t);return n===void 0||e==null?!0:e===n}var Ld=`https://github.com`,Rd=null,zd=new Set;function Bd(e){let t=e??null;if(t!==Rd){Rd=t;for(let e of zd)e()}}function Vd(){return Rd}function Hd(e){return zd.add(e),()=>zd.delete(e)}var Ud=`[A-Za-z0-9][A-Za-z0-9._-]*`,Wd=RegExp(`^https://github\\.com/(${Ud})/(${Ud})/(?:(issues|pull)/([1-9]\\d{0,9})|commit/([0-9a-f]{7,40}))(?:[/?#].*)?$`,`i`);function Gd(e){if(!e)return null;let t=Wd.exec(e.trim());if(!t)return null;let[,n,r,,i,a]=t;return i?`${n}/${r}#${i}`:`${n}/${r}@${a.toLowerCase()}`}var Kd=RegExp(`(^|[^\\w#/&@-])(?:(${Ud}/${Ud})@([0-9a-f]{7,40})|(${Ud}/${Ud})?#([1-9]\\d{0,9})|([0-9a-f]{7,40}))(?![\\w-])`,`g`);function qd(e){return/\d/.test(e)&&/[a-f]/.test(e)}function Jd(e){return{type:`text`,raw:e,text:e}}function Yd(e,t,n){return{type:`link`,raw:e,href:t,title:n,text:e,tokens:[Jd(e)]}}function Xd(e){if(!Rd)return[];let t=[];Kd.lastIndex=0;for(let n=Kd.exec(e);n;n=Kd.exec(e)){let[e,r,i,a,o,s,c]=n,l=a??c;if(l&&!qd(l))continue;let u=s?`${Ld}/${o??Rd}/issues/${s}`:`${Ld}/${i??Rd}/commit/${l}`,d=s?`${o??Rd}#${s}`:`${i??Rd}@${l}`;t.push({start:n.index+r.length,text:e.slice(r.length),href:u,title:d})}return t}function Zd(e){let t=Xd(e);if(t.length===0)return null;let n=[],r=0;for(let{start:i,text:a,href:o,title:s}of t)i>r&&n.push(Jd(e.slice(r,i))),n.push(Yd(a,o,s)),r=i+a.length;return r<e.length&&n.push(Jd(e.slice(r))),n}var Qd=new Set([`code`,`codespan`,`html`,`link`,`image`]);function $d(e){let t=[],n=e;Array.isArray(n.tokens)&&t.push(n.tokens),Array.isArray(n.items)&&t.push(n.items);for(let e of n.header??[])Array.isArray(e.tokens)&&t.push(e.tokens);for(let e of n.rows??[])for(let n of e)Array.isArray(n.tokens)&&t.push(n.tokens);return t}function ef(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Qd.has(n.type))continue;let r=$d(n);for(let e of r)ef(e);if(n.type!==`text`||r.length>0)continue;let i=Zd(n.text);i&&e.splice(t,1,...i)}}var tf=`frizz-boot-id`;function nf(e){try{return sessionStorage.getItem(e)}catch{return null}}function rf(e,t){try{sessionStorage.setItem(e,t)}catch{}}function af(e){switch(kc(nf(tf),e)){case`noop`:return;case`record`:rf(tf,e);return;case`adopt`:rf(tf,e);return}}var of={board:`query`,threadBody:`query`,threadTranscript:`query`,threadTranscriptEarlier:`query`,subAgentTranscript:`query`,subAgentSteer:`mutation`,subAgentStop:`mutation`,backgroundShellOutput:`query`,backgroundShellActivity:`query`,stopBackgroundOp:`mutation`,pendingInteractions:`query`,interactionGet:`query`,interactionResolve:`mutation`,interactionCancel:`mutation`,dispatch:`mutation`,adoptThread:`mutation`,followUp:`mutation`,unqueueFollowUp:`mutation`,deliverQueuedNow:`mutation`,setThreadPermission:`mutation`,threadProfileOptions:`query`,threadSkills:`query`,setThreadProfile:`mutation`,markRead:`mutation`,threadSeen:`mutation`,setThreadState:`mutation`,completeThread:`mutation`,setThreadSnooze:`mutation`,setThreadPinned:`mutation`,setThreadRecurringPrompt:`mutation`,setOwnThreadRecurringPrompt:`mutation`,setOwnThreadTitle:`mutation`,addOwnPrWatch:`mutation`,dropOwnPrWatch:`mutation`,listOwnPrWatches:`mutation`,addOwnWatch:`mutation`,dropOwnWatch:`mutation`,ask:`mutation`,unask:`mutation`,markOwnDone:`mutation`,answerQuestions:`mutation`,dismissQuestions:`mutation`,getOwnThreadRecurringPrompt:`mutation`,setOwnThreadStopHook:`mutation`,setOwnThreadHeartbeat:`mutation`,setThreadHeartbeat:`mutation`,setOwnThreadTimer:`mutation`,cancelOwnThreadTimer:`mutation`,listOwnThreadTimers:`mutation`,listOwnThreadActivity:`mutation`,reloadThreadPlugins:`mutation`,snoozeAwaitingBackground:`mutation`,forgetThread:`mutation`,threadTerminalCommand:`query`,openExternal:`mutation`,openLocalFile:`mutation`,localMarkdown:`query`,localFile:`query`,resolveLocalPaths:`query`,markComplete:`mutation`,setThreadStatus:`mutation`,dismissThread:`mutation`,repairThread:`mutation`,archiveThread:`mutation`,killAgent:`mutation`,renameThread:`mutation`,aiRenameThread:`mutation`,codexModels:`query`,quota:`query`,authStatus:`query`,accountLogout:`mutation`,accountLoginStart:`mutation`,accountLoginStatus:`query`,accountLoginCancel:`mutation`,threadLocate:`query`,projectsList:`query`,projectPick:`mutation`,projectAdd:`mutation`,projectsReorder:`mutation`,projectRemove:`mutation`,projectsQueueCounts:`query`,projectIconPick:`mutation`,projectIconSet:`mutation`,projectIconClear:`mutation`,settingsGet:`query`,settingsSet:`mutation`,settingsReset:`mutation`,dispatchPreferencesGet:`query`,dispatchPreferenceSet:`mutation`,githubPromptDefaults:`query`,githubStatus:`query`,githubList:`query`,githubDispatchBatch:`mutation`,githubRefPreview:`query`},sf=`Frizz is updating and restarting. Your draft is preserved; wait until it is ready before sending or changing settings.`;function cf(e){return e?.retryableRpc===!0}function lf(e){return Object.defineProperty(e,"retryableRpc",{value:!0,enumerable:!1}),e}function uf(e){if(e===`mutation`&&X.controlPlaneState===`restarting`)throw lf(Error(sf))}async function df(e,t){let n=await e.text(),r;try{r=JSON.parse(n)}catch{throw e.status===404||e.status===405?Error(`Frizz server restart required — this control is newer than the running server`):e.status===403?Error(`RPC ${t} was refused (403) — the page's origin does not match the server it is talking to. Reload from the URL frizz is actually serving.`):Error(`RPC ${t} returned a non-JSON response (HTTP ${e.status})`)}if(!e.ok){let e=Error(typeof r.error==`string`?r.error:`RPC ${t} failed`);throw r.retryable===!0?lf(e):e}return r.result}async function ff(e,t,n,r){if(uf(t),t===`query`){let t=new URL(`${Md()}/rpc/${e}`,location.origin);n!==void 0&&t.searchParams.set(`input`,JSON.stringify(n));let i=await fetch(t.toString(),{signal:r?.signal});return af(i.headers.get(`x-frizz-boot`)),df(i,e)}let i=await fetch(`${Md()}/rpc/${e}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n??{}),signal:r?.signal});return af(i.headers.get(`x-frizz-boot`)),df(i,e)}var Y=new Proxy({},{get(e,t){let n=of[t];if(n)return(e,r)=>ff(t,n,e,r)}}),pf=6e4,mf=80,hf=100,gf={loading:!0},_f=new Map,vf=new Set,yf=new Set,bf;function xf(){for(let e of vf)e()}function Sf(e){return vf.add(e),()=>vf.delete(e)}function Cf(e){return _f.get(e)}function wf(e,t=Date.now()){return!e?.card||e.card.kind===`commit`?!1:t-e.card.fetchedAt>pf}var Tf=/data-gh-ref="([^"]+)"/g;function Ef(e){if(!e.includes(`data-gh-ref`))return[];let t=new Set;for(let n of e.matchAll(Tf))t.add(n[1]);return[...t]}function Df(e){let t=!1;for(let n of e)_f.has(n)||yf.has(n)||(yf.add(n),t=!0);!t||bf!==void 0||(bf=setTimeout(()=>{bf=void 0,kf()},mf))}function Of(e,t){for(let e of t.cards)_f.set(e.ref,{card:e});for(let e of t.missing)_f.set(e,{missing:!0});for(let t of e)_f.get(t)===gf&&_f.delete(t);xf()}async function kf(){let e=[...yf].slice(0,hf);if(e.length!==0){for(let t of e)yf.delete(t),_f.set(t,gf);xf();try{Of(e,await Y.githubRefPreview({refs:e}))}catch{Of(e,{cards:[],missing:[]})}yf.size>0&&bf===void 0&&(bf=setTimeout(()=>{bf=void 0,kf()},0))}}var Af=new Set;function jf(e){Af.has(e)||(Af.add(e),Y.githubRefPreview({refs:[e],refresh:!0}).then(e=>{for(let t of e.cards)_f.set(t.ref,{card:t});xf()}).catch(()=>{}).finally(()=>Af.delete(e)))}function Mf(){_f.clear(),yf.clear(),Af.clear(),bf!==void 0&&(clearTimeout(bf),bf=void 0),xf()}var Nf={dir:``,home:``},Pf=Nf,Ff=new Set;function If(e,t){let n={dir:e??``,home:t??``};if(!(n.dir===Pf.dir&&n.home===Pf.home)){Pf=n.dir||n.home?n:Nf;for(let e of Ff)e()}}function Lf(){return Pf}function Rf(e){return Ff.add(e),()=>Ff.delete(e)}function zf(e){return typeof document>`u`?null:document.querySelector(`[data-queue-card="${CSS.escape(e)}"]`)}function Bf(e){let t=zf(e);return t?t.querySelector(`[data-queue-card-root="${CSS.escape(e)}"]`)??t:null}function Vf(e){let t=document.querySelector(`[data-queue-card]:not([data-queue-leaving="true"])`);return t!==null&&t===zf(e)}function Hf(e){let t=Bf(e);if(!t)return null;if(Vf(e))return 0;let n=typeof window.matchMedia==`function`&&window.matchMedia(`(max-width: 800px)`).matches?40:0;return Math.max(0,gd()+t.getBoundingClientRect().top-40-n)}var X=qt({board:null,view:`todos`,connection:`connecting`,controlPlaneState:`ready`,controlPlaneMessage:null,controlPlaneRestartPending:!1,showSettings:!1,showPalette:!1,showNewThread:!1,showGithubPicker:!1,sidebarCollapsed:{active:!1,snoozed:!0,inactive:!0,external:!0},drawers:[],notificationsEnabled:!1,socketTranscripts:!1,socketBoardFallback:null,socketTranscriptFallbacks:{},routeThreadSlug:null,vtReturnTarget:null,toast:null,splitFileViewer:!1,filePanel:null,composerContext:{}});function Uf(){X.showNewThread=!0}function Wf(){X.showGithubPicker=!0}function Gf(){X.showGithubPicker=!1}var Kf=0;function Z(e,t){X.toast={id:++Kf,text:e,...t}}var qf=0,Jf=0;function Yf(e,t){return e.kind===t.kind?e.kind===`markdown`?e.path===t.path:e.kind===`subagent`||e.kind===`shell`?e.subId===t.subId:e.slug===t.slug:!1}function Xf(e,t){return t.kind===`markdown`?!0:t.kind===`subagent`||t.kind===`shell`?(e.kind===`thread`||e.kind===`doc`)&&e.slug===t.slug:t.kind===`doc`?e.kind===`thread`&&e.slug===t.slug:t.kind===`thread`?e.kind===`doc`&&e.slug===t.slug:!1}function Zf(e){let t=X.drawers.filter(t=>!t.closing&&!Yf(t,e)&&!Xf(t,e)).map(e=>e.id);t.length&&bp(t);let n=X.drawers.filter(t=>Yf(t,e));if(!n.length){X.drawers.push({...e,id:++qf,openedAt:++Jf});return}let r=[...n].reverse().find(e=>!e.closing)??n[n.length-1],{closing:i,...a}=r,o={...a,...e,openedAt:++Jf};X.drawers=[...X.drawers.filter(t=>!Yf(t,e)),o],queueMicrotask(()=>hd(r.id))}function Qf(e,t,n){Zf({kind:e,slug:t,routed:n?.routed})}function $f(e,t,n){Zf({kind:`subagent`,slug:e,subId:t,label:n.label,subagentType:n.subagentType,startedAt:n.startedAt})}function ep(e,t,n){Zf({kind:`shell`,slug:e,subId:t,label:n.label,startedAt:n.startedAt})}function tp(e){let t=X.board?.threads.find(t=>t.id===e);t?.needsYou&&op(e)||Qf(t&&t.runtime===`none`?`doc`:`thread`,e)}function np(){let e=X.routeThreadSlug;if(!e||!X.board)return;X.routeThreadSlug=null;let t=xd(X.board,e);if(t.kind===`missing`){typeof location<`u`&&location.replace(Nd(e));return}t.kind===`found`&&t.thread.needsYou&&op(e)||Qf(`thread`,e,{routed:!0})}var rp=null;function ip(e){rp=e}function ap(e){let t=rp;if(rp=null,!t||(X.vtReturnTarget=t,typeof window<`u`&&window.setTimeout(()=>{X.vtReturnTarget===t&&(X.vtReturnTarget=null)},600),e!==t||!X.board))return;let n=xd(X.board,t);n.kind!==`found`||n.thread.needsYou||X.drawers.some(e=>e.kind===`thread`&&e.slug===t&&!e.closing)||Qf(`thread`,t,{routed:!0})}function op(e){let t=Bf(e);if(!t)return!1;let n=Hf(e),r=X.drawers.filter(e=>!e.closing).map(e=>e.id);return r.length&&bp(r),n!==null&&(_d()?yd(n):Math.abs(window.scrollY-n)>.5&&window.scrollTo({top:n,left:0,behavior:`auto`})),cp(e,t),!0}var sp=new Map;function cp(e,t){let n=sp.get(e);n!==void 0&&window.clearTimeout(n),t.removeAttribute(`data-queue-flash`),t.offsetWidth,t.setAttribute(`data-queue-flash`,``),sp.set(e,window.setTimeout(()=>{sp.delete(e),t.removeAttribute(`data-queue-flash`)},1100))}function lp(e){if(X.splitFileViewer){dp(e);return}Zf({kind:`markdown`,slug:e,path:e,label:e.split(`/`).filter(Boolean).pop()||e})}var up=0;function dp(e){X.filePanel={path:e,openedAt:++up}}function fp(){X.filePanel=null}var pp=0;function mp(e,t){(X.composerContext[e]??(X.composerContext[e]=[])).push({...t,id:++pp})}function hp(e){let t=(X.composerContext[e]??[]).map(e=>({...e}));return delete X.composerContext[e],t}function gp(e,t){t.length&&(X.composerContext[e]=[...t,...X.composerContext[e]??[]])}function _p(){return X.drawers[X.drawers.length-1]}function vp(e){let t=X.drawers.find(t=>t.id===e);t&&(t.closing=!0)}function yp(e){X.drawers.find(t=>t.id===e)?.closing&&(X.drawers=X.drawers.filter(t=>t.id!==e))}function bp(e){let t=[];for(let n of e)pd(n)||t.push(n);if(t.length){let e=new Set(t);X.drawers=X.drawers.filter(t=>!e.has(t.id))}}function xp(){for(let e=X.drawers.length-1;e>=0;e--){let t=X.drawers[e];if(t.kind===`thread`&&!t.closing)return t.slug}return null}function Sp(e){Id(e.projectSlug)&&(Bd(e.githubRepo),If(e.projectDir,e.homeDir),X.board=e)}function Cp(){Bd(null),If(null),Mf(),X.board=null,X.view=`todos`,X.connection=`connecting`,X.drawers=[],X.filePanel=null,X.composerContext={},X.routeThreadSlug=null,X.socketBoardFallback=null,X.socketTranscriptFallbacks={},X.showSettings=!1,X.showNewThread=!1,X.showGithubPicker=!1}function wp(e){Id(e.projectSlug)&&X.board===null&&(Bd(e.githubRepo),If(e.projectDir,e.homeDir),X.board=e)}function Tp(e){return X.board===null?!1:(Dc(X.board,e),!0)}function Ep(e,t){if(!(!e||!t))return e.threads.find(e=>e.id===t)}var Dp=`fixed inset-0 bg-black/40 backdrop-blur-[1px] transition-opacity duration-200 ease-out motion-reduce:transition-none`,Op=`frizz-sheet-panel flex h-full flex-col border-l border-border bg-panel shadow-2xl shadow-black/50 transition-transform duration-200 ease-out motion-reduce:transition-none`,kp=1200;function Ap(e,t=0){let n=Math.max(0,e-t);return`min(${720-n*28}px, ${80-n*4}vw)`}function jp(){return typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches}function Mp(e,t=!1){let[n,r]=(0,I.useState)(t),i=(0,I.useRef)(!1),a=Zt(X);(0,I.useEffect)(()=>{if(t)return;let e=!1,n=()=>{e||i.current||(e=!0,r(!0))},a=requestAnimationFrame(n),o=window.setTimeout(n,120);return()=>{cancelAnimationFrame(a),window.clearTimeout(o)}},[t]);let o=(0,I.useCallback)(()=>{i.current||(i.current=!0,vp(e),r(!1),window.setTimeout(()=>yp(e),jp()?0:210))},[e]);return(0,I.useEffect)(()=>(fd(e,o),()=>fd(e,null)),[e,o]),(0,I.useEffect)(()=>{a.drawers.find(t=>t.id===e)?.closing||!i.current||(i.current=!1,r(!0))},[a.drawers,e]),{shown:n,close:o,closingRef:i}}var Np=`[data-radix-popper-content-wrapper],[role='menu'],[role='listbox'],[role='dialog']`;function Pp(e){return document.body.style.pointerEvents===`none`||e.closest(Np)!==null}function Fp(e,t,n,r){(0,I.useEffect)(()=>{function i(i){let a=i.target;if(!(a instanceof Element)||t.current?.contains(a)||Pp(a))return;let o=X.drawers.findIndex(t=>t.id===e);o===-1||o<X.drawers.length-1||r&&a.closest(`[data-subagent-parent]`)?.getAttribute(`data-subagent-parent`)===r||n()}return window.addEventListener(`pointerdown`,i,!0),()=>window.removeEventListener(`pointerdown`,i,!0)},[e,t,n,r])}function Ip({id:e,depth:t,widthDepth:n,widthOffset:r=0,subagentParent:i,children:a}){let{shown:o,close:s}=Mp(e),c=(0,I.useRef)(null);return Fp(e,c,s,i),(0,L.jsx)(`div`,{className:`${Dp} pointer-events-none flex justify-end ${o?`opacity-100`:`opacity-0`}`,style:{zIndex:50+t*2},children:(0,L.jsx)(`div`,{ref:c,className:`${Op} pointer-events-auto ${o?`translate-x-0`:`translate-x-full`}`,style:{width:Ap(n,r)},children:a(s)})})}var Lp=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Rp=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),zp=e=>{let t=Rp(e);return t.charAt(0).toUpperCase()+t.slice(1)},Bp=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Vp=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0},Hp={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Up=(0,I.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>(0,I.createElement)(`svg`,{ref:c,...Hp,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Bp(`lucide`,i),...!a&&!Vp(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,I.createElement)(e,t)),...Array.isArray(a)?a:[a]])),Q=(e,t)=>{let n=(0,I.forwardRef)(({className:n,...r},i)=>(0,I.createElement)(Up,{ref:i,iconNode:t,className:Bp(`lucide-${Lp(zp(e))}`,`lucide-${e}`,n),...r}));return n.displayName=zp(e),n},Wp=Q(`alarm-clock`,[[`circle`,{cx:`12`,cy:`13`,r:`8`,key:`3y4lt7`}],[`path`,{d:`M12 9v4l2 2`,key:`1c63tq`}],[`path`,{d:`M5 3 2 6`,key:`18tl5t`}],[`path`,{d:`m22 6-3-3`,key:`1opdir`}],[`path`,{d:`M6.38 18.7 4 21`,key:`17xu3x`}],[`path`,{d:`M17.64 18.67 20 21`,key:`kv2oe2`}]]),Gp=Q(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Kp=Q(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),qp=Q(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Jp=Q(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),Yp=Q(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Xp=Q(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),Zp=Q(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Qp=Q(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),$p=Q(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),em=Q(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),tm=Q(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),nm=Q(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),rm=Q(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),im=Q(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),am=Q(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),om=Q(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),sm=Q(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),cm=Q(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),lm=Q(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),um=Q(`clock`,[[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),dm=Q(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),fm=Q(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),pm=Q(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),mm=Q(`file-diff`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),hm=Q(`file-text`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),gm=Q(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),_m=Q(`git-branch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),vm=Q(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),ym=Q(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),bm=Q(`git-pull-request-closed`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 9v12`,key:`1sc30k`}],[`path`,{d:`m21 3-6 6`,key:`16nqsk`}],[`path`,{d:`m21 9-6-6`,key:`9j17rh`}],[`path`,{d:`M18 11.5V15`,key:`65xf6f`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),xm=Q(`git-pull-request-draft`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M18 6V5`,key:`1oao2s`}],[`path`,{d:`M18 11v-1`,key:`11c8tz`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Sm=Q(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Cm=Q(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),wm=Q(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),Tm=Q(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`1d0kgt`}]]),Em=Q(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Dm=Q(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Om=Q(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),km=Q(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),Am=Q(`list-checks`,[[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}],[`path`,{d:`M13 6h8`,key:`15sg57`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 18h8`,key:`oe0vm4`}]]),jm=Q(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Mm=Q(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Nm=Q(`message-circle-off`,[[`path`,{d:`M20.5 14.9A9 9 0 0 0 9.1 3.5`,key:`1iebmn`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5.6 5.6C3 8.3 2.2 12.5 4 16l-2 6 6-2c3.4 1.8 7.6 1.1 10.3-1.7`,key:`1ov8ce`}]]),Pm=Q(`message-square-code`,[[`path`,{d:`M10 7.5 8 10l2 2.5`,key:`xb17xw`}],[`path`,{d:`m14 7.5 2 2.5-2 2.5`,key:`5rap1v`}],[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),Fm=Q(`message-square`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),Im=Q(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Lm=Q(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Rm=Q(`package-check`,[[`path`,{d:`m16 16 2 2 4-4`,key:`gfu2re`}],[`path`,{d:`M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14`,key:`e7tb2h`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`12`,key:`a4e8g8`}]]),zm=Q(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Bm=Q(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),Vm=Q(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Hm=Q(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M9 8V2`,key:`14iosj`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z`,key:`osxo6l`}]]),Um=Q(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Wm=Q(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Gm=Q(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),Km=Q(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),qm=Q(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Jm=Q(`settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Ym=Q(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Xm=Q(`signpost`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M12 3v3`,key:`1n5kay`}],[`path`,{d:`M18 6a2 2 0 0 1 1.387.56l2.307 2.22a1 1 0 0 1 0 1.44l-2.307 2.22A2 2 0 0 1 18 13H6a2 2 0 0 1-1.387-.56l-2.306-2.22a1 1 0 0 1 0-1.44l2.306-2.22A2 2 0 0 1 6 6z`,key:`gqqp9m`}]]),Zm=Q(`square-check-big`,[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`,key:`2acyp4`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),Qm=Q(`square-dot`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),$m=Q(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),eh=Q(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),th=Q(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),nh=Q(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),rh=Q(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),ih=Q(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),ah=`h-12`;function oh({title:e,subtitle:t,icon:n,meta:r,actions:i,onClose:a,initialFocus:o}){return(0,L.jsxs)(`header`,{className:`flex ${ah} shrink-0 items-center gap-2.5 border-b border-border bg-panel px-4`,children:[n,(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col justify-center`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium`,title:e,children:e}),r]}),t&&(0,L.jsx)(`span`,{className:`truncate text-[10px] text-muted/60`,children:t})]}),i,(0,L.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:a,...o?{"data-dialog-initial-focus":``}:{},className:`rounded-md p-1.5 text-muted outline-none transition-colors hover:bg-panel-2 hover:text-fg`,children:(0,L.jsx)(ih,{size:15})})]})}function sh(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((e,n)=>Object.is(e,t[n]))}var ch=class extends I.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[frizz] render error in ${this.props.label}:`,e,t.componentStack)}componentDidUpdate(e){!this.state.error||sh(e.resetKeys,this.props.resetKeys)||this.setState({error:null})}retry=()=>this.setState({error:null});render(){let{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.retry):(0,L.jsx)(dh,{label:this.props.label,error:e,onRetry:this.retry}):this.props.children}};function lh(e){let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return t.length>300?`${t.slice(0,300)}…`:t}var uh=`shrink-0 rounded-md border border-border px-2 py-1 text-[11px] text-fg/90 transition-colors hover:bg-panel`;function dh({label:e,error:t,onRetry:n,onClose:r}){return(0,L.jsxs)(`div`,{"data-error-panel":!0,className:`m-4 rounded-md border border-border-strong bg-panel-2 px-3.5 py-3 text-[12.5px]`,children:[(0,L.jsxs)(`p`,{className:`text-fg/90`,children:[`Something went wrong rendering `,e,`.`]}),(0,L.jsx)(`p`,{className:`font-mono-keep mt-1.5 break-words text-[11.5px] text-muted`,children:lh(t)}),(0,L.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:n,children:`Try again`}),r&&(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:r,children:`Close`}),(0,L.jsx)(`button`,{type:`button`,className:uh,onClick:()=>window.location.reload(),children:`Reload frizz`})]})]})}function fh({children:e}){return(0,L.jsx)(ch,{label:`frizz`,fallback:(e,t)=>(0,L.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-bg p-6 text-fg`,children:(0,L.jsx)(`div`,{className:`w-full max-w-lg`,children:(0,L.jsx)(dh,{label:`frizz`,error:e,onRetry:t})})}),children:e})}function ph({id:e,depth:t,widthDepth:n,error:r,onRetry:i}){let a=()=>{X.drawers=X.drawers.filter(t=>t.id!==e)};return(0,L.jsx)(Ip,{id:e,depth:t,widthDepth:n,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{title:`This drawer could not be rendered`,onClose:()=>{e(),a()}}),(0,L.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,L.jsx)(dh,{label:`this drawer`,error:r,onRetry:i,onClose:a})})]})})}var mh=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,hh=/^[\\/]{2}/;function gh(e,t){return t+e.replace(/\\/g,`/`)}var _h=`popstate`;function vh(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function yh(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return wh(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:Th(t)}return Dh(t,n,null,e)}function bh(e,t){if(e===!1||e==null)throw Error(t)}function xh(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function Sh(){return Math.random().toString(36).substring(2,10)}function Ch(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function wh(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?Eh(t):t,state:n,key:t&&t.key||r||Sh(),mask:i}}function Th({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function Eh(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function Dh(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=vh(e)?e:wh(h.location,e,t);n&&n(r,e),l=u()+1;let d=Ch(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=vh(e)?e:wh(h.location,e,t);n&&n(r,e),l=u();let i=Ch(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return Oh(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(_h,d),c=e,()=>{i.removeEventListener(_h,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function Oh(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),bh(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:Th(t);return i=i.replace(/ $/,`%20`),!n&&hh.test(i)&&(i=r+i),new URL(i,r)}var kh=class{#e=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get(e){if(this.#e.has(e))return this.#e.get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){this.#e.set(e,t)}},Ah=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function jh(e){return Ah.has(e)}var Mh=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function Nh(e){return Mh.has(e)}function Ph(e){return e.index===!0}function Fh(e){let t={};return e.Component&&Object.assign(t,{element:I.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:I.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:I.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function Ih(e,t=Fh,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(bh(e.index!==!0||!e.children,`Cannot specify children on an index route`),bh(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),Ph(e)){let n={...e,id:s};return r[s]=Lh(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=Lh(n,t(n)),e.children&&(n.children=Ih(e.children,t,o,r,i)),n}})}function Lh(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Rh(e,t,n=`/`){return zh(e,t,n,!1)}function zh(e,t,n,r,i){let a=sg((typeof t==`string`?Eh(t):t).pathname||`/`,n);if(a==null)return null;let o=i??Vh(e),s=null,c=og(a);for(let e=0;s==null&&e<o.length;++e)s=ng(o[e],c,r);return s}function Bh(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,loaderData:t[n.id],handle:n.handle}}function Vh(e){let t=Hh(e);return Wh(t),t}function Hh(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;bh(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=_g([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(bh(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),Hh(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:eg(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=ag(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of Uh(e.path))a(e,t,!0,n)}),t}function Uh(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=Uh(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function Wh(e){e.sort((e,t)=>e.score===t.score?tg(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var Gh=/^:[\w-]+$/,Kh=/^:[\w-]+/,qh=3.5,Jh=3,Yh=2,Xh=1,Zh=10,Qh=-2,$h=e=>e===`*`;function eg(e,t){let n=e.split(`/`),r=n.length;return n.some($h)&&(r+=Qh),t&&(r+=Yh),n.filter(e=>!$h(e)).reduce((e,t)=>e+(Gh.test(t)?Jh:Kh.test(t)?qh:t===``?Xh:Zh),r)}function tg(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function ng(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?ig(u,l,s.matcher,s.compiledParams):rg(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=rg({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:_g([a,d.pathname]),pathnameBase:yg(_g([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=_g([a,d.pathnameBase]))}return o}function rg(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=ag(e.path,e.caseSensitive,e.end);return ig(e,t,n,r)}function ig(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function ag(e,t=!1,n=!0){xh(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(?=\/|$|\()/g,`(?:/$1)?`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function og(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return xh(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function sg(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function cg({basename:e,pathname:t}){return t===`/`?e:_g([e,t])}var lg=e=>mh.test(e);function ug(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?Eh(e):e,a;return n?(n=gg(n),a=n.startsWith(`/`)?dg(n.substring(1),`/`):dg(n,t)):a=t,{pathname:a,search:bg(r),hash:xg(i)}}function dg(e,t){let n=vg(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function fg(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function pg(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function mg(e){let t=pg(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function hg(e,t,n,r=!1){let i;typeof e==`string`?i=Eh(e):(i={...e},bh(!i.pathname||!i.pathname.includes(`?`),fg(`?`,`pathname`,`search`,i)),bh(!i.pathname||!i.pathname.includes(`#`),fg(`#`,`pathname`,`hash`,i)),bh(!i.search||!i.search.includes(`#`),fg(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ug(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var gg=e=>e.replace(/[\\/]{2,}/g,`/`),_g=e=>gg(e.join(`/`)),vg=e=>e.replace(/\/+$/,``),yg=e=>vg(e).replace(/^\/*/,`/`),bg=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,xg=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Sg=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],Cg=class{status;statusText;data;error;internal;constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function wg(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Tg(e){return _g(e.map(e=>e.route.path).filter(Boolean))||`/`}function Eg(e,t){let n=new URL(typeof e==`string`||e instanceof URL?e:e.url),r=typeof t==`string`?Eh(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);let i=e.toString();n.search=i?`?${i}`:``}else n.search=``;return n.hash=r.hash||``,n}var Dg=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Og(e,t){let n=e;if(typeof n!=`string`||!mh.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Dg)try{let e=new URL(window.location.href),r=hh.test(n)?new URL(gh(n,e.protocol)):new URL(n),a=sg(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{xh(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var kg=Symbol(`Uninstrumented`),Ag=new WeakMap;function jg(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){e.lazy!=null&&n.lazy.push(e.lazy),e[`lazy.loader`]!=null&&n[`lazy.loader`].push(e[`lazy.loader`]),e[`lazy.action`]!=null&&n[`lazy.action`].push(e[`lazy.action`]),e[`lazy.middleware`]!=null&&n[`lazy.middleware`].push(e[`lazy.middleware`]),e.middleware!=null&&n.middleware.push(e.middleware),e.loader!=null&&n.loader.push(e.loader),e.action!=null&&n.action.push(e.action)}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=t.lazy;r.lazy=async(...t)=>Lg(await Rg(n.lazy,void 0,()=>e(...t),zg))}if(typeof t.lazy==`object`){let e=t.lazy;if(typeof e.middleware==`function`&&n[`lazy.middleware`].length>0){let t=e.middleware;r.lazy=Object.assign(r.lazy||{},{middleware:async(...e)=>Lg(await Rg(n[`lazy.middleware`],void 0,()=>t(...e),zg))})}if(typeof e.loader==`function`&&n[`lazy.loader`].length>0){let t=e.loader;r.lazy=Object.assign(r.lazy||{},{loader:async(...e)=>Lg(await Rg(n[`lazy.loader`],void 0,()=>t(...e),zg))})}if(typeof e.action==`function`&&n[`lazy.action`].length>0){let t=e.action;r.lazy=Object.assign(r.lazy||{},{action:async(...e)=>Lg(await Rg(n[`lazy.action`],void 0,()=>t(...e),zg))})}}if(typeof t.loader==`function`&&n.loader.length>0){let e=Ng(t.loader),i=async(...t)=>Lg(await Rg(n.loader,Bg(t[0]),()=>e(...t),zg));e.hydrate===!0&&(i.hydrate=!0),Pg(i,e),r.loader=i}if(typeof t.action==`function`&&n.action.length>0){let e=Ng(t.action),i=async(...t)=>Lg(await Rg(n.action,Bg(t[0]),()=>e(...t),zg));Pg(i,e),r.action=i}return t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=Ng(e),r=async(...e)=>Lg(await Rg(n.middleware,Bg(e[0]),()=>t(...e),zg));return Pg(r,t),r})),r}function Mg(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){e.navigate!=null&&n.navigate.push(e.navigate),e.fetch!=null&&n.fetch.push(e.fetch)}})),n.navigate.length>0){let t=Ng(e.navigate),r=async(...r)=>{let[i,a]=r,o,s={to:typeof i==`number`||typeof i==`string`?i:i?Th(i):`.`,...Vg(e,a??{})};return Lg(await Rg(n.navigate,s,async()=>{if(typeof i==`number`)return await t(...r);let n=Fg(e,e=>{o=e});try{return await t(...r)}finally{n()}},e=>({...zg(e),meta:o})))};Pg(r,t),e.navigate=r}if(n.fetch.length>0){let t=Ng(e.fetch),r=async(...r)=>{let[i,a,o,s]=r,c;return Lg(await Rg(n.fetch,{href:o??`.`,fetcherKey:i,...Vg(e,s??{})},async()=>{let n=Fg(e,e=>{c=e});try{return await t(...r)}finally{n()}},e=>({...zg(e),meta:c})))};Pg(r,t),e.fetch=r}return e}function Ng(e){return e[kg]??e}function Pg(e,t){e[kg]=t}function Fg(e,t){return Ag.set(e,t),()=>{Ag.get(e)===t&&Ag.delete(e)}}function Ig(e){let t=Ag.get(e);return Ag.delete(e),t}function Lg(e){if(e.type===`error`)throw e.value;return e.value}async function Rg(e,t,n,r,i={result:null,innerResult:null},a=e.length-1){let o=e[a];if(o){let s,c=async()=>(s?console.error(`You cannot call instrumented handlers more than once`):s=Rg(e,t,n,r,i,a-1),await s,bh(i.innerResult,`Expected an inner result`),i.innerResult);try{await o(c,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}s||await c(),await s}else{try{i.result={type:`success`,value:await n()}}catch(e){i.result={type:`error`,value:e}}i.innerResult=r(i.result,t)}return i.result?i.result:(i.result={type:`error`,value:Error(`No result assigned in instrumentation chain.`)},i.innerResult=r(i.result,t),i.result)}function zg(e){return e.type===`error`&&e.value instanceof Error?{status:`error`,error:e.value}:{status:`success`,error:void 0}}function Bg(e){let{request:t,context:n,params:r}=e;return{...e,request:Hg(t),params:{...r},context:Ug(n)}}function Vg(e,t){return{currentUrl:Th(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Hg(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Ug(e){return{get:t=>e.get(t)}}var Wg=[`POST`,`PUT`,`PATCH`,`DELETE`],Gg=new Set(Wg),Kg=[`GET`,...Wg],qg=new Set(Kg),Jg=new Set([301,302,303,307,308]),Yg=new Set([307,308]),Xg={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Zg={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qg={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},$g=`remix-router-transitions`,e_=Symbol(`ResetLoaderData`),t_=class{#e;#t;#n;#r;constructor(e){this.#e=e,this.#t=Vh(e)}get stableRoutes(){return this.#e}get activeRoutes(){return this.#n??this.#e}get branches(){return this.#r??this.#t}get hasHMRRoutes(){return this.#n!=null}setRoutes(e){this.#e=e,this.#t=Vh(e)}setHmrRoutes(e){this.#n=e,this.#r=Vh(e)}commitHmrRoutes(){this.#n&&(this.#e=this.#n,this.#t=this.#r,this.#n=void 0,this.#r=void 0)}};function n_(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;bh(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties,a=i||(()=>({}));if(e.instrumentations){let t=e.instrumentations;a=e=>({...i?.(e),...jg(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new t_(Ih(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||y_,u={...e.future},d=null,f=new Set,p=null,m=null,h=null,g=null,_=e.hydrationData!=null,v=zh(s.activeRoutes,e.history.location,c,!1,s.branches),y=!1,b=null,x,S;if(v==null&&!e.patchRoutesOnNavigation){let t=U_(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=H_(s.activeRoutes);x=!0,S=!x,v=n,b={[r.id]:t}}else if(v&&!e.hydrationData&&Ke(v,s.activeRoutes,e.history.location.pathname).active&&(v=null),!v){x=!1,S=!x,v=[];let t=Ke(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(y=!0,v=t.matches)}else if(v.some(e=>e.route.lazy))x=!1,S=!x;else if(!v.some(e=>s_(e.route)))x=!0,S=!x;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=v;if(n){let e=v.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}S=!1,x=!0,r.forEach(e=>{let r=c_(e.route,t,n);S||=r.renderFallback,x&&=!r.shouldLoad})}let C,w={historyAction:e.history.action,location:e.history.location,matches:v,initialized:x,renderFallback:S,navigation:Xg,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||b,fetchers:new Map,blockers:new Map},T=`POP`,E=null,D=!1,O,k=!1,A=new Map,j=null,M=!1,N=!1,P=new Set,ee=new Map,F=0,te=-1,ne=new Map,re=new Set,ie=new Map,ae=new Map,oe=new Set,se=new Map,ce,le=null;function ue(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(ce){ce(),ce=void 0;return}xh(se.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Be({currentLocation:w.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{ce=e});e.history.go(r*-1),L(i,{state:`blocked`,location:n,proceed(){L(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(w.blockers);e.set(i,Qg),pe({blockers:e})}}),E?.resolve(),E=null;return}return _e(t,n)}),n){mv(t,A);let e=()=>hv(t,A);t.addEventListener(`pagehide`,e),j=()=>t.removeEventListener(`pagehide`,e)}return w.initialized||_e(`POP`,w.location,{initialHydration:!0}),C}function de(){d&&d(),j&&j(),f.clear(),O&&O.abort(),w.fetchers.forEach((e,t)=>Ne(w.fetchers,t)),w.blockers.forEach((e,t)=>I(t))}function fe(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(w,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function pe(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),w={...w,...e};let n=[],r=[];w.fetchers.forEach((e,t)=>{e.state===`idle`&&(oe.has(t)?n.push(t):r.push(t))}),oe.forEach(e=>{!w.fetchers.has(e)&&!ee.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(w,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Ne(w.fetchers,e)),r.forEach(e=>w.fetchers.delete(e))}function me(t,n,{flushSync:r}={}){let i=w.actionData!=null&&w.navigation.formMethod!=null&&iv(w.navigation.formMethod)&&w.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?w.actionData:null;let o=n.loaderData?z_(w.loaderData,n.loaderData,n.matches||[],n.errors):w.loaderData,c=w.blockers;c.size>0&&!M&&(c=new Map(c),c.forEach((e,t)=>c.set(t,Qg)));let l=M?!1:Ge(t,n.matches||w.matches),u=D===!0||w.navigation.formMethod!=null&&iv(w.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),M||T===`POP`||(T===`PUSH`?e.history.push(t,t.state):T===`REPLACE`&&e.history.replace(t,t.state));let d;if(T===`POP`){let e=A.get(w.location.pathname);e&&e.has(t.pathname)?d={currentLocation:w.location,nextLocation:t}:A.has(t.pathname)&&(d={currentLocation:t,nextLocation:w.location})}else if(k){let e=A.get(w.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),A.set(w.location.pathname,e)),d={currentLocation:w.location,nextLocation:t}}pe({...n,actionData:a,loaderData:o,historyAction:T,location:t,initialized:!0,renderFallback:!1,navigation:Xg,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),T=`POP`,D=!1,k=!1,M=!1,N=!1,E?.resolve(),E=null,le?.resolve(),le=null}async function he(t,n){if(E?.resolve(),E=null,typeof t==`number`){E||=gv();let n=E.promise;return e.history.go(t),n}let r=Ig(C),{path:i,submission:a,error:o}=a_(!1,i_(w.location,w.matches,c,t,n?.fromRouteId,n?.relative),n),s;n?.mask&&(s={pathname:``,search:``,hash:``,...typeof n.mask==`string`?Eh(n.mask):{...w.location.mask,...n.mask}});let l=w.location,u=wh(l,i,n&&n.state,void 0,s);u={...u,...e.history.encodeLocation(u)};let d=n&&n.replace!=null?n.replace:void 0,f=`PUSH`;d===!0?f=`REPLACE`:d===!1||a!=null&&iv(a.formMethod)&&a.formAction===w.location.pathname+w.location.search&&(f=`REPLACE`);let p=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,m=(n&&n.flushSync)===!0,h=Be({currentLocation:l,nextLocation:u,historyAction:f});if(h){L(h,{state:`blocked`,location:u,proceed(){L(h,{state:`proceeding`,proceed:void 0,reset:void 0,location:u}),he(t,n)},reset(){let e=new Map(w.blockers);e.set(h,Qg),pe({blockers:e})}});return}await _e(f,u,{submission:a,pendingError:o,preventScrollReset:p,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:m,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate,instrumentationNavigateMetaReceiver:r})}function ge(){le||=gv(),Oe(),pe({revalidation:`loading`});let e=le.promise;return w.navigation.state===`submitting`?e:w.navigation.state===`idle`?(_e(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),e):(_e(T||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:k===!0}),e)}async function _e(t,n,r){O&&O.abort(),O=null,T=t,M=(r&&r.startUninterruptedRevalidation)===!0,We(w.location,w.matches),D=(r&&r.preventScrollReset)===!0,k=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&w.matches&&w.matches.length>0&&!y?w.matches:zh(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&w.initialized&&!N&&K_(w.location,n)&&!(r&&r.submission&&iv(r.submission.formMethod))){me(n,{matches:a},{flushSync:o});return}let l=Ke(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),r?.instrumentationNavigateMetaReceiver){let t=sv(e.history,n,a);r.instrumentationNavigateMetaReceiver(t)}if(!a){let{error:e,notFoundMatches:t,route:r}=Ve(n.pathname);me(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;O=new AbortController;let d=P_(e.history,n,O.signal,r&&r.submission),f=e.getContext?await e.getContext():new kh,p;if(r&&r.pendingError)p=[V_(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&iv(r.submission.formMethod)){let i=await ve(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(Z_(t)&&wg(t.error)&&t.error.status===404){O=null,me(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=lv(n,a,t,r.submission),o=!1,l.active=!1,d=P_(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await ye(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(O=null,me(n,{matches:h||a,...B_(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function ve(t,n,i,l,u,d,f,p,m={}){if(Oe(),pe({navigation:uv(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await qe(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=H_(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=V_(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ve(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=ov(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:U_(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await Ee(t,n,T_(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(Q_(h)){let n;return n=m&&m.replace!=null?m.replace:N_(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===w.location.pathname+w.location.search,await Te(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Z_(h)){let e=V_(l,g.route.id);return(m&&m.replace)!==!0&&(T=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function ye(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||lv(n,i,l,p),x=p||m||cv(b),S=!M&&!g;if(d){if(S){let e=be(v);pe({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await qe(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=H_(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=V_(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ve(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:T,revalidatingFetchers:E}=o_(t,u,a,o,e.history,w,i,x,n,g?[]:r,g===!0,N,P,oe,ie,re,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(te=++F,!e.dataStrategy&&!T.some(e=>e.shouldLoad)&&!T.some(e=>e.route.middleware&&e.route.middleware.length>0)&&E.length===0){let e=new Map(w.fetchers),t=Le(e);return me(n,{matches:i,loaderData:{},errors:v&&Z_(v[1])?{[v[0]]:v[1].error}:null,...B_(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=be(v);t!==void 0&&(e.actionData=t)}E.length>0&&(e.fetchers=xe(E)),pe(e,{flushSync:_})}E.forEach(e=>{Fe(e.key),e.controller&&ee.set(e.key,e.controller)});let D=()=>E.forEach(e=>Fe(e.key));O&&O.signal.addEventListener(`abort`,D);let{loaderResults:k,fetcherResults:A}=await De(T,E,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};O&&O.signal.removeEventListener(`abort`,D),E.forEach(e=>ee.delete(e.key));let j=W_(k);if(j)return await Te(t,j.result,!0,{replace:h}),{shortCircuited:!0};if(j=W_(A),j)return re.add(j.key),await Te(t,j.result,!0,{replace:h}),{shortCircuited:!0};let ne=new Map(w.fetchers),{loaderData:ae,errors:se}=R_(w,i,k,v,E,A,ne);g&&w.errors&&(se={...w.errors,...se});let ce=Le(ne),le=Re(te,ne),ue=ce||le||E.length>0;return{matches:i,loaderData:ae,errors:se,...ue?{workingFetchers:ne}:{}}}function be(e){if(e&&!Z_(e[1]))return{[e[0]]:e[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function xe(e){let t=new Map(w.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=dv(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Se(t,n,r,i){Fe(t);let a=(i&&i.flushSync)===!0,o=Ig(C),l=s.activeRoutes,u=i_(w.location,w.matches,c,r,n,i?.relative),d=zh(l,u,c,!1,s.branches),f=Ke(d,l,u);if(f.active&&f.matches&&(d=f.matches),o&&o(sv(e.history,u,d)),!d){Ae(t,n,U_(404,{pathname:u}),{flushSync:a});return}let{path:p,submission:m,error:h}=a_(!0,u,i);if(h){Ae(t,n,h,{flushSync:a});return}let g=e.getContext?await e.getContext():new kh,_=(i&&i.preventScrollReset)===!0;if(m&&iv(m.formMethod)){await Ce(t,n,p,d,g,f.active,a,_,m,i&&i.defaultShouldRevalidate);return}ie.set(t,{routeId:n,path:p}),await we(t,n,p,d,g,f.active,a,_,m)}async function Ce(t,n,i,l,u,d,f,p,m,h){Oe(),ie.delete(t),ke(t,fv(m,w.fetchers.get(t)),{flushSync:f});let g=new AbortController,_=P_(e.history,i,g.signal,m);if(d){let e=await qe(l,new URL(_.url).pathname,_.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ae(t,n,e.error,{flushSync:f});return}else if(e.matches)l=e.matches;else{Ae(t,n,U_(404,{pathname:i}),{flushSync:f});return}}let v=ov(l,i);if(!v.route.action&&!v.route.lazy){Ae(t,n,U_(405,{method:m.formMethod,pathname:i,routeId:n}),{flushSync:f});return}ee.set(t,g);let y=F,b=T_(a,o,_,i,l,v,r,u),x=await Ee(_,i,b,u,t),S=x[v.route.id];if(!S){for(let e of b)if(x[e.route.id]){S=x[e.route.id];break}}if(_.signal.aborted){ee.get(t)===g&&ee.delete(t);return}if(oe.has(t)){if(Q_(S)||Z_(S)){ke(t,pv(void 0));return}}else{if(Q_(S))if(ee.delete(t),te>y){ke(t,pv(void 0));return}else return re.add(t),ke(t,dv(m)),Te(_,S,!1,{fetcherSubmission:m,preventScrollReset:p});if(Z_(S)){Ae(t,n,S.error);return}}let C=w.navigation.location||w.location,E=P_(e.history,C,g.signal),D=s.activeRoutes,k=w.navigation.state===`idle`?w.matches:zh(D,w.navigation.location,c,!1,s.branches);bh(k,`Didn't find any matches after fetcher action`);let A=++F;ne.set(t,A);let{dsMatches:j,revalidatingFetchers:M}=o_(E,u,a,o,e.history,w,k,m,C,r,!1,N,P,oe,ie,re,D,c,e.patchRoutesOnNavigation!=null,s.branches,[v.route.id,S],h),ae=dv(m,S.data),se=new Map(w.fetchers);se.set(t,ae),M.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=se.get(t),r=dv(void 0,n?n.data:void 0);se.set(t,r),Fe(t),e.controller&&ee.set(t,e.controller)}),pe({fetchers:se});let ce=()=>M.forEach(e=>Fe(e.key));g.signal.addEventListener(`abort`,ce);let{loaderResults:le,fetcherResults:ue}=await De(j,M,E,C,u);if(g.signal.aborted)return;g.signal.removeEventListener(`abort`,ce),ne.delete(t),ee.delete(t),M.forEach(e=>ee.delete(e.key));let de=w.fetchers.has(t),fe=e=>{if(!de)return e;let n=new Map(e.fetchers);return n.set(t,pv(S.data)),{...e,fetchers:n}},he=W_(le);if(he)return w=fe(w),Te(E,he.result,!1,{preventScrollReset:p});if(he=W_(ue),he)return re.add(he.key),w=fe(w),Te(E,he.result,!1,{preventScrollReset:p});let ge=new Map(w.fetchers);de&&ge.set(t,pv(S.data));let{loaderData:_e,errors:ve}=R_(w,k,le,void 0,M,ue,ge);Re(A,ge),w.navigation.state===`loading`&&A>te?(bh(T,`Expected pending action`),O&&O.abort(),me(w.navigation.location,{matches:k,loaderData:_e,errors:ve,fetchers:ge})):(pe({errors:ve,loaderData:z_(w.loaderData,_e,k,ve),fetchers:ge}),N=!1)}async function we(t,n,i,s,c,l,u,d,f){let p=w.fetchers.get(t);ke(t,dv(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=P_(e.history,i,m.signal);if(l){let e=await qe(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ae(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{Ae(t,n,U_(404,{pathname:i}),{flushSync:u});return}}let g=ov(s,i);ee.set(t,m);let _=F,v=await Ee(h,i,T_(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(ee.get(t)===m&&ee.delete(t),!h.signal.aborted){if(oe.has(t)){ke(t,pv(void 0));return}if(Q_(y))if(te>_){ke(t,pv(void 0));return}else{re.add(t),await Te(h,y,!1,{preventScrollReset:d});return}if(Z_(y)){Ae(t,n,y.error);return}ke(t,pv(y.data))}}async function Te(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(E?.resolve(),E=null),i.response.headers.has(`X-Remix-Revalidate`)&&(N=!0);let d=i.response.headers.get(`Location`);bh(d,`Expected a Location header on the redirect Response`),d=N_(d,new URL(r.url),c,e.history);let f=wh(w.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(lg(d)){let n=Oh(t,d,!0);e=n.origin!==t.location.origin||sg(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}O=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:m,formAction:h,formEncType:g}=w.navigation;!o&&!s&&m&&h&&g&&(o=cv(w.navigation));let _=o||s;Yg.has(i.response.status)&&_&&iv(_.formMethod)?await _e(p,f,{submission:{..._,formAction:d},preventScrollReset:l||D,enableViewTransition:a?k:void 0}):await _e(p,f,{overrideNavigation:lv(f,[],p,o),fetcherSubmission:s,preventScrollReset:l||D,enableViewTransition:a?k:void 0})}async function Ee(e,t,n,r,i){let a,o={};try{a=await E_(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!iv(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!w.loaderData.hasOwnProperty(e.route.id)&&(!w.errors||!w.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(X_(r)){let i=r.result;o[t]={type:`redirect`,response:A_(i,e,t,n,c)}}else o[t]=await k_(r);return o}async function De(e,t,n,r,i){let a=Ee(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await Ee(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:U_(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Oe(){N=!0,ie.forEach((e,t)=>{ee.has(t)&&P.add(t),Fe(t)})}function ke(e,t,n={}){let r=new Map(w.fetchers);r.set(e,t),pe({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function Ae(e,t,n,r={}){let i=V_(w.matches,t),a=new Map(w.fetchers);Ne(a,e),pe({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function je(e){return ae.set(e,(ae.get(e)||0)+1),oe.has(e)&&oe.delete(e),w.fetchers.get(e)||Zg}function Me(e,t){Fe(e,t?.reason),ke(e,pv(null))}function Ne(e,t){let n=w.fetchers.get(t);ee.has(t)&&!(n&&n.state===`loading`&&ne.has(t))&&Fe(t),ie.delete(t),ne.delete(t),re.delete(t),oe.delete(t),P.delete(t),e.delete(t)}function Pe(e){let t=(ae.get(e)||0)-1;t<=0?(ae.delete(e),oe.add(e)):ae.set(e,t),pe({fetchers:new Map(w.fetchers)})}function Fe(e,t){let n=ee.get(e);n&&(n.abort(t),ee.delete(e))}function Ie(e,t){for(let n of e){let e=t.get(n);bh(e,`Expected fetcher: ${n}`);let r=pv(e.data);t.set(n,r)}}function Le(e){let t=[],n=!1;for(let r of re){let i=e.get(r);bh(i,`Expected fetcher: ${r}`),i.state===`loading`&&(re.delete(r),t.push(r),n=!0)}return Ie(t,e),n}function Re(e,t){let n=[];for(let[r,i]of ne)if(i<e){let e=t.get(r);bh(e,`Expected fetcher: ${r}`),e.state===`loading`&&(Fe(r),ne.delete(r),n.push(r))}return Ie(n,t),n.length>0}function ze(e,t){let n=w.blockers.get(e)||Qg;return se.get(e)!==t&&se.set(e,t),n}function I(e){w.blockers.delete(e),se.delete(e)}function L(e,t){let n=w.blockers.get(e)||Qg;bh(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(w.blockers);r.set(e,t),pe({blockers:r})}function Be({currentLocation:e,nextLocation:t,historyAction:n}){if(se.size===0)return;se.size>1&&xh(!1,`A router only supports one blocker at a time`);let r=Array.from(se.entries()),[i,a]=r[r.length-1],o=w.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ve(e){let t=U_(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=H_(n);return{notFoundMatches:r,route:i,error:t}}function He(e,t,n){if(m=e,g=t,h=n||null,!_&&w.navigation===Xg){_=!0;let e=Ge(w.location,w.matches);e!=null&&pe({restoreScrollPosition:e})}return()=>{m=null,g=null,h=null}}function Ue(e,t){return h&&h(e,t.map(e=>Bh(e,w.loaderData)))||e.key}function We(e,t){if(m&&g){let n=Ue(e,t);m[n]=g()}}function Ge(e,t){if(m){let n=Ue(e,t),r=m[n];if(typeof r==`number`)return r}return null}function Ke(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:zh(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:zh(n,r,c,!0,e)}}return{active:!1,matches:null}}async function qe(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||f_(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=zh(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=zh(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&Je(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=zh(s.activeRoutes,n,c,!0,u),!f||Je(l,f))return{type:`success`,matches:null};l=f}}function Je(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function Ye(e){o={},s.setHmrRoutes(Ih(e,a,void 0,o))}function Xe(e,t,n=!1){f_(e,t,s,o,a,n),s.hasHMRRoutes||pe({})}return C={get basename(){return c},get future(){return u},get state(){return w},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ue,subscribe:fe,enableScrollRestoration:He,navigate:he,fetch:Se,revalidate:ge,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:je,resetFetcher:Me,deleteFetcher:Pe,dispose:de,getBlocker:ze,deleteBlocker:I,patchRoutes:Xe,_internalFetchControllers:ee,_internalSetRoutes:Ye,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){pe(e)}},e.instrumentations&&(C=Mg(C,e.instrumentations.map(e=>e.router).filter(Boolean))),C}function r_(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function i_(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=hg(r||`.`,mg(o),sg(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=av(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=cg({basename:n,pathname:c.pathname})),Th(c)}function a_(e,t,n){if(!n||!r_(n))return{path:t};if(n.formMethod&&!rv(n.formMethod))return{path:t,error:U_(405,{method:n.formMethod})};let r=()=>({path:t,error:U_(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=G_(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!iv(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}\n`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!iv(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}bh(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=F_(n.formData),s=n.formData;else if(n.body instanceof FormData)o=F_(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=I_(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=I_(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(iv(c.formMethod))return{path:t,submission:c};let l=Eh(t);return e&&l.search&&av(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:Th(l),submission:c}}function o_(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?Z_(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&Z_(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Tg(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!s_(s))f=!1;else if(u){let{shouldLoad:e}=c_(s,a.loaderData,a.errors);f=e}else l_(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return w_(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?u_(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return w_(n,r,e,c,k,i,l,t,d_(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=zh(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=ov(b,e.path),C=new AbortController,w=P_(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=T_(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=T_(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};d_(S,a)&&(T=T_(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function s_(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function c_(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!s_(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function l_(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function u_(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function d_(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function f_(e,t,n,r,i,a){let o;if(e){let t=r[e];bh(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>p_(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=Ih(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=Ih([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function p_(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>p_(e,t)))??!1:!1}var m_=new WeakMap,h_=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(bh(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=m_.get(i);o||(o={},m_.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=jh(e),n=i[e]!==void 0;if(t)xh(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)xh(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},g_=new WeakMap;function __(e,t,n,r,i){let a=n[e.id];if(bh(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=g_.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{bh(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=Nh(e),o=a[e]!==void 0;i?xh(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?xh(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return g_.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=h_({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function v_(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function y_(e){return e.matches.some(e=>e.route.middleware)?b_(e,()=>v_(e)):v_(e)}function b_(e,t){return x_(e,t,e=>{if(nv(e))throw e;return e},J_,n);async function n(t,n,r){if(r)return Object.assign(r.value,{[n]:{type:`error`,result:t}});{let{matches:r}=e,i=Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0)),a=r[i].route.id;for(let e of r.slice(0,i+1))try{await e._lazyPromises?.route}catch{a=e.route.id;break}return{[V_(r,a).route.id]:{type:`error`,result:t}}}}}async function x_(e,t,n,r,i){let{matches:a,...o}=e;return await S_(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function S_(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await S_(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function C_(e,t,n,r,i){let a=h_({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=__(r.route,iv(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function w_(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=C_(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?d_(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?d_(a,{...l,defaultShouldRevalidate:e}):d_(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!iv(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(iv(n.method)||!p)?D_({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function T_(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?w_(e,t,n,r,Tg(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:C_(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function E_(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:Eg(t,n),pattern:Tg(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return b_(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function D_({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=iv(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:Eg(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw U_(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw U_(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function O_(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function k_(e){let{result:t,type:n}=e;if(ev(t)){let e;try{e=await O_(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new Cg(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?$_(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:q_(t),statusCode:wg(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:wg(t)?t.status:void 0}:$_(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function A_(e,t,n,r,i){let a=e.headers.get(`Location`);if(bh(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!lg(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=i_(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var j_=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function M_(e){try{return j_.includes(new URL(e).protocol)}catch{return!1}}function N_(e,t,n,r){if(lg(e)){let r=e,i=hh.test(r)?new URL(gh(r,t.protocol)):new URL(r);if(M_(i.toString()))throw Error(`Invalid redirect location`);let a=sg(i.pathname,n)!=null;if(i.origin===t.origin&&a)return gg(i.pathname)+i.search+i.hash}try{if(M_(r.createURL(e).toString()))throw Error(`Invalid redirect location`)}catch{}return e}function P_(e,t,n,r){let i=e.createURL(G_(t)).toString(),a={signal:n};if(r&&iv(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=F_(r.formData):a.body=r.formData}return new Request(i,a)}function F_(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function I_(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function L_(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Z_(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(bh(!Q_(f),`Cannot handle redirect results in processLoaderData`),Z_(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=V_(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=e_),c||(c=!0,s=wg(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function R_(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=L_(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(bh(s,`Did not find corresponding fetcher result`),Z_(s)){let t=V_(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(Q_(s))bh(!1,`Unhandled fetcher revalidation redirect`);else{let e=pv(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function z_(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==e_).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function B_(e){return e?Z_(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function V_(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.ErrorBoundary!=null||e.route.errorElement!=null)||e[0]}function H_(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function U_(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new Cg(e||500,o,Error(s),!0)}function W_(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(Q_(r))return{key:n,result:r}}}function G_(e){return Th({...typeof e==`string`?Eh(e):e,hash:``})}function K_(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function q_(e){return new Cg(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function J_(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Y_(t))}function Y_(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function X_(e){return ev(e.result)&&Jg.has(e.result.status)}function Z_(e){return e.type===`error`}function Q_(e){return(e&&e.type)===`redirect`}function $_(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function ev(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function tv(e){return Jg.has(e)}function nv(e){return ev(e)&&tv(e.status)&&e.headers.has(`Location`)}function rv(e){return qg.has(e.toUpperCase())}function iv(e){return Gg.has(e.toUpperCase())}function av(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function ov(e,t){let n=typeof t==`string`?Eh(t).search:t.search;if(e[e.length-1].route.index&&av(n||``))return e[e.length-1];let r=pg(e);return r[r.length-1]}function sv(e,t,n){return{url:Eg(e.createURL(t),t),pattern:n?Tg(n):``,params:n?.[0]?.params?{...n[0].params}:{}}}function cv(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function lv(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function uv(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function dv(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function fv(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function pv(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function mv(e,t){try{let n=e.sessionStorage.getItem($g);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function hv(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem($g,JSON.stringify(n))}catch(e){xh(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function gv(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var _v=I.createContext(null);_v.displayName=`DataRouter`;var vv=I.createContext(null);vv.displayName=`DataRouterState`;var yv=I.createContext(!1);function bv(){return I.useContext(yv)}var xv=I.createContext({isTransitioning:!1});xv.displayName=`ViewTransition`;var Sv=I.createContext(new Map);Sv.displayName=`Fetchers`;var Cv=I.createContext(null);Cv.displayName=`Await`;var wv=I.createContext(null);wv.displayName=`Navigation`;var Tv=I.createContext(null);Tv.displayName=`Location`;var Ev=I.createContext({outlet:null,matches:[],isDataRoute:!1});Ev.displayName=`Route`;var Dv=I.createContext(null);Dv.displayName=`RouteError`;var Ov=`REACT_ROUTER_ERROR`,kv=`REDIRECT`,Av=`ROUTE_ERROR_RESPONSE`;function jv(e){if(e.startsWith(`${Ov}:${kv}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Mv(e){if(e.startsWith(`${Ov}:${Av}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Cg(t.status,t.statusText,t.data)}catch{}}function Nv(e,{relative:t}={}){bh(Pv(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=I.useContext(wv),{hash:i,pathname:a,search:o}=Hv(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:_g([n,a])),r.createHref({pathname:s,search:o,hash:i})}function Pv(){return I.useContext(Tv)!=null}function Fv(){return bh(Pv(),`useLocation() may be used only in the context of a <Router> component.`),I.useContext(Tv).location}var Iv=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Lv(){let{isDataRoute:e}=I.useContext(Ev);return e?oy():Rv()}function Rv(){bh(Pv(),`useNavigate() may be used only in the context of a <Router> component.`);let e=I.useContext(_v),{basename:t,navigator:n}=I.useContext(wv),{matches:r}=I.useContext(Ev),{pathname:i}=Fv(),a=JSON.stringify(mg(r)),o=I.useRef(!1);return I.useLayoutEffect(()=>{o.current=!0}),I.useCallback((r,s={})=>{if(xh(o.current,Iv),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=hg(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:_g([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var zv=I.createContext(null);function Bv(e){let t=I.useContext(Ev).outlet;return I.useMemo(()=>t&&I.createElement(zv.Provider,{value:e},t),[t,e])}function Vv(){let{matches:e}=I.useContext(Ev);return e[e.length-1]?.params??{}}function Hv(e,{relative:t}={}){let{matches:n}=I.useContext(Ev),{pathname:r}=Fv(),i=JSON.stringify(mg(n));return I.useMemo(()=>hg(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Uv(e,t,n){bh(Pv(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=I.useContext(wv),{matches:i}=I.useContext(Ev),a=i[i.length-1],o=a?a.params:{};a&&a.pathname;let s=a?a.pathnameBase:`/`;a&&a.route;let c=Fv(),l;if(t){let e=typeof t==`string`?Eh(t):t;bh(s===`/`||e.pathname?.startsWith(s),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${s}" but pathname "${e.pathname}" was given in the \`location\` prop.`),l=e}else l=c;let u=l.pathname||`/`,d=u;if(s!==`/`){let e=s.replace(/^\//,``).split(`/`);d=`/`+u.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let f=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):Rh(e,{pathname:d}),p=Xv(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:_g([s,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?s:_g([s,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&p?I.createElement(Tv.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...l},navigationType:`POP`}},p):p}function Wv(){let e=ay(),t=wg(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null;return I.createElement(I.Fragment,null,I.createElement(`h2`,null,`Unexpected Application Error!`),I.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?I.createElement(`pre`,{style:{padding:`0.5rem`,backgroundColor:`rgba(200,200,200, 0.5)`}},n):null,null)}var Gv=I.createElement(Wv,null),Kv=class extends I.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static contextType=yv;static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Mv(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:I.createElement(Ev.Provider,{value:this.props.routeContext},I.createElement(Dv.Provider,{value:e,children:this.props.component}));return this.context?I.createElement(Jv,{error:e},t):t}},qv=new WeakMap;function Jv({children:e,error:t}){let{basename:n}=I.useContext(wv);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=jv(t.digest);if(e){let r=qv.get(t);if(r)throw r;let i=Og(e.location,n),a=i.absoluteURL||i.to;if(M_(a))throw Error(`Invalid redirect location`);if(Dg&&!qv.get(t))if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw qv.set(t,n),n}return I.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function Yv({routeContext:e,match:t,children:n}){let r=I.useContext(_v);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),I.createElement(Ev.Provider,{value:e},n)}function Xv(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);bh(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Tg(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||Gv,o&&(s<0&&c===0?(cy(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?I.createElement(n.route.Component,null):n.route.element?n.route.element:e,I.createElement(Yv,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?I.createElement(Kv,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Zv(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qv(e){let t=I.useContext(_v);return bh(t,Zv(e)),t}function $v(e){let t=I.useContext(vv);return bh(t,Zv(e)),t}function ey(e){let t=I.useContext(Ev);return bh(t,Zv(e)),t}function ty(e){let t=ey(e),n=t.matches[t.matches.length-1];return bh(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function ny(){return ty(`useRouteId`)}function ry(){let e=$v(`useNavigation`);return I.useMemo(()=>{let{matches:t,historyAction:n,...r}=e.navigation;return r},[e.navigation])}function iy(){let{matches:e,loaderData:t}=$v(`useMatches`);return I.useMemo(()=>e.map(e=>Bh(e,t)),[e,t])}function ay(){let e=I.useContext(Dv),t=$v(`useRouteError`),n=ty(`useRouteError`);return e===void 0?t.errors?.[n]:e}function oy(){let{router:e}=Qv(`useNavigate`),t=ty(`useNavigate`),n=I.useRef(!1);return I.useLayoutEffect(()=>{n.current=!0}),I.useCallback(async(r,i={})=>{xh(n.current,Iv),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var sy={};function cy(e,t,n){!t&&!sy[e]&&(sy[e]=!0,xh(!1,n))}var ly={};function uy(e,t){!e&&!ly[t]&&(ly[t]=!0,console.warn(t))}var dy=[`HydrateFallback`,`hydrateFallbackElement`],fy=class{status=`pending`;promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function py({router:e,flushSync:t,onError:n,useTransitions:r}){r=bv()||r;let[i,a]=I.useState(e.state),[o,s]=(0,I.useOptimistic)(i),[c,l]=I.useState(),[u,d]=I.useState({isTransitioning:!1}),[f,p]=I.useState(),[m,h]=I.useState(),[g,_]=I.useState(),v=I.useRef(new Map),y=I.useCallback((i,{deletedFetchers:o,newErrors:c,flushSync:u,viewTransitionOpts:g})=>{c&&n&&Object.values(c).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:Tg(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&v.current.set(t,e.data)}),o.forEach(e=>v.current.delete(e)),uy(u===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let y=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(uy(g==null||y,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!g||!y){t&&u?t(()=>a(i)):r===!1?a(i):I.startTransition(()=>{r===!0&&s(e=>my(e,i)),a(i)});return}if(t&&u){t(()=>{m&&(f?.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})})}),t(()=>h(n));return}m?(f?.resolve(),m.skipTransition(),_({state:i,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(l(i),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,f,r,s,n]);I.useLayoutEffect(()=>e.subscribe(y),[e,y]),I.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new fy)},[u]),I.useEffect(()=>{if(f&&c&&e.window){let t=c,n=f.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):I.startTransition(()=>{r===!0&&s(e=>my(e,t)),a(t)}),await n});i.finished.finally(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})}),h(i)}},[c,f,e.window,r,s]),I.useEffect(()=>{f&&c&&o.location.key===c.location.key&&f.resolve()},[f,m,o.location,c]),I.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),_(void 0))},[u.isTransitioning,g]);let b=I.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),x=e.basename||`/`,S=I.useMemo(()=>({router:e,navigator:b,static:!1,basename:x,onError:n}),[e,b,x,n]);return I.createElement(I.Fragment,null,I.createElement(_v.Provider,{value:S},I.createElement(vv.Provider,{value:o},I.createElement(Sv.Provider,{value:v.current},I.createElement(xv.Provider,{value:u},I.createElement(vy,{basename:x,location:o.location,navigationType:o.historyAction,navigator:b,useTransitions:r},I.createElement(hy,{routes:e.routes,manifest:e.manifest,future:e.future,state:o,isStatic:!1,onError:n})))))),null)}function my(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var hy=I.memo(gy);function gy({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Uv(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function _y(e){return Bv(e.context)}function vy({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){bh(!Pv(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=I.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=Eh(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=I.useMemo(()=>{let e=sg(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return xh(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:I.createElement(wv.Provider,{value:c},I.createElement(Tv.Provider,{children:t,value:h}))}I.Component;var yy=`application/x-www-form-urlencoded`;function by(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function xy(e){return by(e)&&e.tagName.toLowerCase()===`button`}function Sy(e){return by(e)&&e.tagName.toLowerCase()===`form`}function Cy(e){return by(e)&&e.tagName.toLowerCase()===`input`}function wy(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Ty(e,t){return e.button===0&&(!t||t===`_self`)&&!wy(e)}var Ey=null;function Dy(){if(Ey===null)try{new FormData(document.createElement(`form`),0),Ey=!1}catch{Ey=!0}return Ey}var Oy=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function ky(e){return e!=null&&!Oy.has(e)?(xh(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${yy}"`),null):e}function Ay(e,t){let n,r,i,a,o;if(Sy(e)){let o=e.getAttribute(`action`);r=o?sg(o,t):null,n=e.getAttribute(`method`)||`get`,i=ky(e.getAttribute(`enctype`))||yy,a=new FormData(e)}else if(xy(e)||Cy(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?sg(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||`get`,i=ky(e.getAttribute(`formenctype`))||ky(o.getAttribute(`enctype`))||yy,a=new FormData(o,e),!Dy()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(by(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=`get`,r=null,i=yy,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}function jy(e,t){if(e===!1||e==null)throw Error(t)}var My={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Ny=/[&><\u2028\u2029]/g;function Py(e){return e.replace(Ny,e=>My[e])}function Fy(e,t){let n=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n.pathname.endsWith(`/`)?n.pathname=`${n.pathname}_.${t}`:n.pathname=`${n.pathname}.${t}`,n}var Iy=`modulepreload`,Ly=function(e){return`/`+e},Ry={},zy=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=Ly(t,n),t=s(t),t in Ry)return;Ry[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Iy,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};async function By(e,t){if(e.id in t)return t[e.id];try{let n=await zy(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Vy(e){return e!=null&&typeof e.page==`string`}function Hy(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Uy(e,t,n){return Jy((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await By(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Hy).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Wy(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Gy(e,t,{includeHydrateFallback:n}={}){return Ky(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ky(e){return[...new Set(e)]}function qy(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Jy(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Vy(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(qy(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Yy(){let e=I.useContext(_v);return jy(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Xy(){let e=I.useContext(vv);return jy(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Zy=I.createContext(void 0);Zy.displayName=`FrameworkContext`;function Qy(){let e=I.useContext(Zy);return jy(e,`You must render this element inside a <HydratedRouter> element`),e}function $y(e,t){let n=I.useContext(Zy),[r,i]=I.useState(!1),[a,o]=I.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=I.useRef(null);I.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),I.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:eb(s,p),onBlur:eb(c,m),onMouseEnter:eb(l,p),onMouseLeave:eb(u,m),onTouchStart:eb(d,p)}]:[a,f,{}]:[!1,f,{}]}function eb(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function tb({page:e,...t}){let n=bv(),{nonce:r}=Qy(),{router:i}=Yy(),a=I.useMemo(()=>Rh(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?I.createElement(rb,{page:e,matches:a,...t}):I.createElement(ib,{page:e,matches:a,...t})):null}function nb(e){let{manifest:t,routeModules:n}=Qy(),[r,i]=I.useState([]);return I.useEffect(()=>{let r=!1;return Uy(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function rb({page:e,matches:t,...n}){let r=Fv(),i=I.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=Fy(e,`rsc`),i=!1,a=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?i=!0:a.push(e.route.id);return i&&a.length>0&&n.searchParams.set(`_routes`,a.join(`,`)),[n.pathname+n.search]},[e,r,t]);return I.createElement(I.Fragment,null,i.map(e=>I.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function ib({page:e,matches:t,...n}){let r=Fv(),{manifest:i,routeModules:a}=Qy(),{loaderData:o,matches:s}=Xy(),c=I.useMemo(()=>Wy(e,t,s,i,r,`data`),[e,t,s,i,r]),l=I.useMemo(()=>Wy(e,t,s,i,r,`assets`),[e,t,s,i,r]),u=I.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,s=!1;if(t.forEach(e=>{let t=i.routes[e.route.id];!t||!t.hasLoader||(!c.some(t=>t.route.id===e.route.id)&&e.route.id in o&&a[e.route.id]?.shouldRevalidate||t.hasClientLoader?s=!0:n.add(e.route.id))}),n.size===0)return[];let l=Fy(e,`data`);return s&&n.size>0&&l.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[l.pathname+l.search]},[o,r,i,c,t,e,a]),d=I.useMemo(()=>Gy(l,i),[l,i]),f=nb(l);return I.createElement(I.Fragment,null,u.map(e=>I.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),d.map(e=>I.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),f.map(({key:e,link:t})=>I.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ab(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var ob=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{ob&&(window.__reactRouterVersion=`8.3.0`)}catch{}function sb(e,t){return n_({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:yh({window:t?.window}),hydrationData:t?.hydrationData||cb(),routes:e,mapRouteProperties:Fh,hydrationRouteProperties:dy,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function cb(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:lb(e.errors)}),e}function lb(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new Cg(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(typeof r.__subType==`string`&&Sg.includes(r.__subType)){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function ub({basename:e,children:t,history:n,useTransitions:r}){let[i,a]=I.useState({action:n.action,location:n.location}),o=I.useCallback(e=>{r===!1?a(e):I.startTransition(()=>a(e))},[r]);return I.useLayoutEffect(()=>n.listen(o),[n,o]),I.createElement(vy,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,useTransitions:r})}ub.displayName=`unstable_HistoryRouter`;var db=I.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:_}=I.useContext(wv),v=typeof l==`string`&&mh.test(l),y=Og(l,h);l=y.to;let b=Nv(l,{relative:r}),x=Fv(),S=null;if(o){let e=hg(o,[],x.mask?x.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:_g([h,e.pathname])),S=g.createHref(e)}let[C,w,T]=$y(n,p),E=vb(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function D(t){e&&e(t),t.defaultPrevented||E(t)}let O=!(y.isExternal||i),k=I.createElement(`a`,{...p,...T,href:(O?S:void 0)||y.absoluteURL||b,onClick:O?D:e,ref:ab(m,w),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return C&&!v?I.createElement(I.Fragment,null,k,I.createElement(tb,{page:b})):k});db.displayName=`Link`;var fb=I.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=Hv(a,{relative:c.relative}),d=Fv(),f=I.useContext(vv),{navigator:p,basename:m}=I.useContext(wv),h=f!=null&&Ob(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=sg(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,x=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(y)===`/`),S={isActive:b,isPending:x,isTransitioning:h},C=b?e:void 0,w;w=typeof n==`function`?n(S):[n,b?`active`:null,x?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let T=typeof i==`function`?i(S):i;return I.createElement(db,{...c,"aria-current":C,className:w,ref:l,style:T,to:a,viewTransition:o},typeof s==`function`?s(S):s)});fb.displayName=`NavLink`;var pb=I.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=`get`,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=I.useContext(wv),g=xb(),_=Sb(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,y=typeof s==`string`&&mh.test(s);return I.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?I.startTransition(()=>p()):p()},...p,"data-discover":!y&&e===`render`?`true`:void 0})});pb.displayName=`Form`;function mb({getKey:e,storageKey:t,...n}){let r=I.useContext(Zy),{basename:i}=I.useContext(wv),a=Fv(),o=iy();Eb({getKey:e,storageKey:t});let s=I.useMemo(()=>{if(!r||!e)return null;let t=Tb(a,o,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let c=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return n.nonce==null&&r?.nonce&&(n.nonce=r.nonce),I.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${c})(${Py(JSON.stringify(t||Cb))}, ${Py(JSON.stringify(s))})`}})}mb.displayName=`ScrollRestoration`;function hb(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function gb(e){let t=I.useContext(_v);return bh(t,hb(e)),t}function _b(e){let t=I.useContext(vv);return bh(t,hb(e)),t}function vb(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=Lv(),d=Fv(),f=Hv(e,{relative:o});return I.useCallback(p=>{if(Ty(p,t)){p.preventDefault();let t=n===void 0?Th(d)===Th(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?I.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}var yb=0,bb=()=>`__${String(++yb)}__`;function xb(){let{router:e}=gb(`useSubmit`),{basename:t}=I.useContext(wv),n=ny(),r=e.fetch,i=e.navigate;return I.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=Ay(e,t);a.navigate===!1?await r(a.fetcherKey||bb(),n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Sb(e,{relative:t}={}){let{basename:n}=I.useContext(wv),r=I.useContext(Ev);bh(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...Hv(e||`.`,{relative:t})},o=Fv();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:_g([n,a.pathname])),Th(a)}var Cb=`react-router-scroll-positions`,wb={};function Tb(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:sg(e.pathname,n)||e.pathname},t)),i??=e.key,i}function Eb({getKey:e,storageKey:t}={}){let{router:n}=gb(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=_b(`useScrollRestoration`),{basename:a}=I.useContext(wv),o=Fv(),s=iy(),c=ry();I.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Db(I.useCallback(()=>{if(c.state===`idle`){let t=Tb(o,s,a,e);wb[t]=window.scrollY}try{sessionStorage.setItem(t||Cb,JSON.stringify(wb))}catch(e){xh(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[c.state,e,a,o,s,t])),typeof document<`u`&&(I.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Cb);e&&(wb=JSON.parse(e))}catch{}},[t]),I.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(wb,()=>window.scrollY,e?(t,n)=>Tb(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),I.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(o.hash){let e=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{xh(!1,`"${o.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[o,r,i]))}function Db(e,t){let{capture:n}=t||{};I.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Ob(e,{relative:t}={}){let n=I.useContext(xv);bh(n!=null,"`useViewTransitionState` must be used within `react-router/dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=gb(`useViewTransitionState`),i=Hv(e,{relative:t});if(!n.isTransitioning)return!1;let a=sg(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=sg(n.nextLocation.pathname,r)||n.nextLocation.pathname;return rg(i.pathname,o)!=null||rg(i.pathname,a)!=null}var kb=class{currentSeq=-1;resync;interactionsInvalidated;constructor(e,t=()=>{}){this.resync=e,this.interactionsInvalidated=t}reset(){this.currentSeq=-1}handle(e){switch(e.type){case`board`:af(e.bootId),Sp(e.board),this.currentSeq=typeof e.seq==`number`?e.seq:-1;break;case`board-delta`:switch(af(e.bootId),Oc(this.currentSeq,e.seq)){case`apply`:Tp(e)?this.currentSeq=e.seq:this.resync();break;case`ignore`:break;case`resync`:this.resync();break}break;case`notify`:Ab(e);break;case`interactions-invalidated`:this.interactionsInvalidated(e);break}}};function Ab(e){if(!X.notificationsEnabled||!document.hidden||typeof Notification>`u`||Notification.permission!==`granted`)return;let t=new Notification(e.title,{body:e.body,tag:`${Od()}/${e.slug}`}),n=Ed()??X.board?.projectSlug;t.onclick=()=>{window.focus(),n===void 0||Ed()===n?tp(e.slug):location.assign(`${Dd(n)}/thread/${encodeURIComponent(e.slug)}`),t.close()}}var jb=(e,t)=>[`interactions`,`pending`,e,t],Mb=(e,t,n)=>[`interactions`,`record`,e,t,n];function Nb(e,t){let n=jb(t.owner.threadSlug,t.owner.sessionId);e.setQueryData(n,e=>e&&(t.lifecycle===`pending`?{interactions:e.interactions.map(e=>e.id===t.id?t:e)}:{interactions:e.interactions.filter(e=>e.id!==t.id)}))}function Pb(e,t){Nb(e,{...t,delivery:{effect:`reconnect-required`}})}async function Fb(e,t){await Promise.all([e.invalidateQueries({queryKey:jb(t.slug,t.sessionId),exact:!0}),e.invalidateQueries({queryKey:Mb(t.slug,t.sessionId,t.interactionId),exact:!0})])}var Ib=null,Lb=null,Rb=0,zb=null,Bb=0,Vb=null,Hb=new kb(()=>Kb(),e=>{Vb&&Fb(Vb,e)}),Ub=35e3;function Wb(){if(Ib)return;X.connection!==`open`&&(X.connection=`connecting`),Ib=new EventSource(`${Md()}/events`);let e=Ed();if(Rb=Date.now(),Ib.onopen=()=>{Lb&&=(clearTimeout(Lb),null),Bb=0,Rb=Date.now(),X.connection=`open`},Ib.addEventListener(`heartbeat`,()=>{Rb=Date.now()}),Ib.onmessage=t=>{if(e===Ed()){Rb=Date.now();try{Hb.handle(JSON.parse(t.data))}catch(e){console.error(`bad SSE event`,e)}}},Ib.onerror=()=>Gb(),!zb){zb=setInterval(()=>{Ib&&Date.now()-Rb>Ub&&Gb()},1e4);let e=()=>{(!Ib||Date.now()-Rb>Ub)&&Gb(!0)};window.addEventListener(`focus`,e),window.addEventListener(`online`,e),document.addEventListener(`visibilitychange`,()=>{document.hidden||e()})}}function Gb(e=!1){if(Ib?.close(),Ib=null,Hb.reset(),Bb++,X.connection=Bb>3?`closed`:`connecting`,Lb){if(!e)return;clearTimeout(Lb),Lb=null}let t=e?0:Math.min(1e3*2**Math.min(Bb-1,4),15e3);Lb=setTimeout(()=>{Lb=null,Wb()},t)}function Kb(){Hb.reset(),Ib?.close(),Ib=null,Wb()}function qb(){Hb.reset(),Ib?.close(),Ib=null,X.connection=`connecting`,Wb()}function Jb(e){e&&(Vb=e),document.readyState===`complete`?Wb():window.addEventListener(`load`,Wb,{once:!0})}var Yb=e=>wu(Du(e.displayText??e.text)).trim();function Xb(e,t){let n=new Set(e.filter(e=>e.role===`user`&&e.sourceId).map(e=>e.sourceId));return t.filter(e=>e.role===`user`&&e.sourceId&&!n.has(e.sourceId)).map(Yb)}function Zb(e,t){let n=new Set;for(let r of t)for(let t=0;t<e.length;t++){if(n.has(t))continue;let i=Yb(e[t]);if(r===i){n.add(t);break}if(!r.startsWith(i))continue;let a=i.length;for(let i=t+1;i<e.length&&!n.has(i);i++){let o=Yb(e[i]);if(!r.startsWith(`
|
|
131
131
|
|
|
132
132
|
`,a)||!r.startsWith(o,a+2))break;if(a+=2+o.length,a===r.length){for(let e=t;e<=i;e++)n.add(e);break}}if(n.has(t))break}return n}function Qb(e,t){if(!e?.length)return t;let n=e.filter(e=>e.queued&&!e.sourceId&&e.role===`user`&&e.text.trim());if(!n.length)return t;let r=new Set(t.map(e=>e.deliveryId).filter(e=>!!e)),i=Zb(n,Xb(e,t)),a=n.filter((e,t)=>!i.has(t)&&!(e.deliveryId&&r.has(e.deliveryId)));if(!a.length)return t;let o=a.filter(n=>nx(n,tx(t),tx(e)));return o.length?[...t,...o]:t}var $b=6e4,ex=new WeakMap;function tx(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.queued&&!n.sourceId)continue;let r=n.at?Date.parse(n.at):NaN;if(Number.isFinite(r))return r}return NaN}function nx(e,t,n){if(!Number.isFinite(t))return!0;let r=ex.get(e);return r===void 0?(ex.set(e,Number.isFinite(n)?n:t),nx(e,t,n)):t-r<=$b?!0:(console.warn(`[frizz] retiring a stranded optimistic send: the transcript advanced past it without ever recording it`,{text:e.text.slice(0,120),advancedMs:t-r}),!1)}var rx=new WeakMap;function ix(e){let t=rx.get(e);return t===void 0&&(t=JSON.stringify(e),rx.set(e,t)),t}function ax(e,t){if(!e?.length||!t.length)return t;let n=new Map;for(let t of e)t.sourceId&&n.set(t.sourceId,t);if(!n.size)return t;let r=!1,i=t.map(e=>{if(e===n.get(e.sourceId??``))return e;let t=e.sourceId?n.get(e.sourceId):void 0;return t&&ix(t)===ix(e)?(r=!0,t):e});return r?i:t}function ox(e,t,n){if(!e)return!1;let r=Date.parse(e);if(!Number.isFinite(r))return!1;let i=t?Date.parse(t):0;return t&&!Number.isFinite(i)?!1:r-i>n}function sx(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t].at;if(n)return n}}function cx(e,t){let n=Math.max(0,Math.min(e.length,t));for(let t=n-1;t>=0;t--)if(e[t].role===`user`)return t;return n>0?0:null}function lx(e,t,n){if(!t)return n;let r=e.findIndex(e=>e.sourceId===t);return r>=0?r:0}function ux(e,t){let n=new Map;e.forEach((e,t)=>{e.sourceId&&n.set(e.sourceId,t)});for(let e=0;e<t.length;e++){let r=t[e].sourceId,i=r?n.get(r):void 0;if(i!==void 0)return{previousIndex:i,incomingIndex:e}}}function dx(e,t){if(!e?.historyLoaded||e.transcriptKey!==t.transcriptKey)return t;let n=ux(e.messages,t.messages);return n?{...t,messages:[...e.messages.slice(0,n.previousIndex).filter(e=>!e.pinnedFromSourceId),...t.messages.slice(n.incomingIndex)],beforeCursor:e.beforeCursor,hasEarlier:e.hasEarlier,reachedTurnBoundary:e.reachedTurnBoundary,historyLoaded:!0}:t}function fx(e,t){if(!e)return{messages:[...t]};let n=ux(e.messages,t);return n?e.historyLoaded?{...e,messages:[...e.messages.slice(0,n.previousIndex).filter(e=>!e.pinnedFromSourceId),...t.slice(n.incomingIndex)]}:{...e,messages:[...t]}:{messages:[...t]}}function px(e,t){if(e.transcriptKey!==t.transcriptKey)return e;let n=new Set(t.messages.map(e=>e.sourceId).filter(Boolean)),r=e.messages.filter(e=>!e.pinnedFromSourceId||!n.has(e.pinnedFromSourceId)),i=new Set(r.map(e=>e.sourceId).filter(Boolean)),a=t.messages.filter(e=>!e.sourceId||!i.has(e.sourceId));return{...e,messages:[...a,...r],beforeCursor:t.beforeCursor,hasEarlier:t.hasEarlier,reachedTurnBoundary:t.reachedTurnBoundary,historyLoaded:!0}}function mx(e,t=0){if(!e)return null;let n=[...e.querySelectorAll(`[data-transcript-source-id]`)],r=n.find(e=>e.getBoundingClientRect().bottom>t)??n[0],i=r?.dataset.transcriptSourceId;return r&&i?{sourceId:i,top:r.getBoundingClientRect().top}:null}function hx(e,t){return t-e}function gx(e,t,n){if(!e||!t)return!1;let r=[...e.querySelectorAll(`[data-transcript-source-id]`)].find(e=>e.dataset.transcriptSourceId===t.sourceId);return r?(n(hx(t.top,r.getBoundingClientRect().top)),!0):!1}function _x(e){let{remaining:t,scrollY:n,maxScrollY:r,alreadyReserved:i}=e;return!(t>.5)||r<=0||i?`settle`:n>=r-1?`reserve`:`settle`}var vx=e(t(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},ee={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},F=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},te=F(`//`,`$`),ne=F(`/\\*`,`\\*/`),re=F(`#`,`$`),ie=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:F,C_BLOCK_COMMENT_MODE:ne,C_LINE_COMMENT_MODE:te,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:re,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:ee,QUOTE_STRING_MODE:P,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function ae(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function oe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function se(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=ae,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ce(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function le(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ue(e,t){e.relevance===void 0&&(e.relevance=1)}var de=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},fe=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],pe=`keyword`;function me(e,t,n=pe){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,me(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,he(n[0],n[1])]})}}function he(e,t){return t?Number(t):+!ge(e)}function ge(e){return fe.includes(e.toLowerCase())}var _e={},ve=e=>{console.error(e)},ye=(e,...t)=>{console.log(`WARN: ${e}`,...t)},be=(e,t)=>{_e[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),_e[`${e}/${t}`]=!0)},xe=Error();function Se(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function Ce(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw ve(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),xe;if(typeof e.beginScope!=`object`||e.beginScope===null)throw ve(`beginScope must be object`),xe;Se(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function we(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw ve(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),xe;if(typeof e.endScope!=`object`||e.endScope===null)throw ve(`endScope must be object`),xe;Se(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function Te(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Ee(e){Te(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),Ce(e),we(e)}function De(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[oe,le,Ee,de].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[se,ce,ue].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=me(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return ke(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function Oe(e){return e?e.endsWithParent||Oe(e.starts):!1}function ke(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Oe(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var Ae=`11.11.1`,je=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},Me=i,Ne=a,Pe=Symbol(`nomatch`),Fe=7,Ie=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(ye(s.replace(`{}`,n[1])),ye(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(be(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),be(`10.7.0`,`Please use highlight(code, options) instead.
|
|
133
133
|
https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};re(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,re(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Fe&&(ee+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(ee+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(ne=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return Pe;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(ee+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==Pe)return e}if(r.type===`illegal`&&a===``)return P+=`
|
|
@@ -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=>yL(n,e.token))?null:{body:n,items:i}}function jL(e){return e.key===`Enter`&&!e.altKey&&!e.shiftKey&&!e.isComposing&&e.keyCode!==229}function ML(e,t){return t&&jL(e)&&!e.metaKey&&!e.ctrlKey}function NL(e,t){return t&&jL(e)&&(e.metaKey||e.ctrlKey)}function PL(e){return jL(e)}function FL(e){return e.key===`Enter`&&e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.isComposing}function IL(e,t,n){return e===`queueComposer`&&t===`Enter`&&n}var LL=`gap-3`,RL=`-mx-1`,zL=`-mx-[3px]`,BL=`right-2`,VL=`right-[71px]`,HL=`right-[44px]`,UL=`pr-[6.6875rem]`,WL=`pr-20`;async function GL(e,t){let n=Md(),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 KL={project:`project`,user:`global`,builtin:`built-in`,plugin:`plugin`};function qL(e,t){e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,t)}px`}function JL({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)(()=>pL(e),[e]),w=C.map(e=>e.path),T=(0,I.useRef)(e);T.current=e;let E=e=>t(mL(e,w)),D=e=>t(mL(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 GL(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=pL(T.current);t(mL(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||qL(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=CL(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(KL[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=CL(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(IL(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(ML(i,a)){e.preventDefault(),e.stopPropagation(),n();return}if(NL(i,a)){e.preventDefault(),e.stopPropagation(),(m??n)();return}if(FL(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?KL[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?UL:WL}`} 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)(YL,{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?VL:HL} 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)(jm,{size:15,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(zm,{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 ${BL} 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)(jm,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,L.jsx)(qp,{size:14,strokeWidth:2.5})})]})}function YL({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,I.useState)(!1),a=e.path.split(`/`).filter(Boolean).pop()||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:AS(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)(hm,{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)(ih,{size:10,strokeWidth:2.5})})]})}function XL(){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 ZL(){let e=XL();return!!(e.data?.inRepo&&e.data.authed)}function QL({className:e=``}){return ZL()?(0,L.jsx)(`button`,{type:`button`,onClick:Wf,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)(Cm,{size:15,strokeWidth:2})}):null}var $L=`prompt-control-type petite-caps`,eR=$L,tR=$L,nR=`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 rR(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, auto)`}var iR=[`ultra`,`ultracode`],aR=[`low`,`medium`,`high`,`xhigh`,`max`,...iR];function oR(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=aR.indexOf(e),r=aR.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function sR(e){let t=[];for(let n of oR(e)){let e=iR.includes(n)?t.find(e=>iR.includes(e[0])):void 0;e?e.push(n):t.push([n])}return t}function cR(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function lR(e){return JSON.stringify([e.provider,e.model,e.effort])}function uR(e,t){return cR(e).find(e=>lR(e)===t)}function dR(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 fR(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 pR(e,t,n){let r=sR(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 mR,hR=!1;function gR(){hR||typeof window>`u`||(hR=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!mR||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),vR())},{capture:!0}))}function _R(e){gR();let t={dismiss:e};return mR=t,()=>{mR===t&&(mR=void 0)}}function vR(){let e=mR;return e?(mR=void 0,e.dismiss(),!0):!1}function yR(e){vR()&&e.preventDefault(),e.stopPropagation()}function bR(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function xR({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=jj,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)(()=>sR(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?tR:eR,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=dR(e,t),T=w&&t?.provider&&t.model&&t.effort?lR(t):void 0,E=n?.model||n?.effort?fR(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=lR(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=pR(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(lR(r))?.focus())}return(0,L.jsxs)(uI,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=_R(D))},children:[(0,L.jsx)(dI,{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:fR(e,t,i)}),E&&(0,L.jsx)(jm,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,L.jsx)(Qp,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,L.jsx)(fI,{children:(0,L.jsxs)(pI,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${Aj} 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)(mI,{children:[t.label&&(0,L.jsx)(hI,{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)(_I,{value:T,onValueChange:t=>{let n=uR(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:rR(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)=>bR(t).length>bR(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:bR(i)},i);let a={provider:t.id,model:e.model,effort:r},o=lR(a);return(0,L.jsx)(vI,{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}, ${bR(r)} effort`,title:`${e.label} › ${bR(r)}`,className:nR,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:bR(r)}),(0,L.jsx)(`span`,{className:`col-start-1 row-start-1`,children:bR(r)})]})},r)})]},e.model))}),t!==e.at(-1)&&(0,L.jsx)(bI,{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 SR(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}if(!CR(e))throw Error(`the browser blocked clipboard access`)}function CR(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 wR={claude:`claude auth login`,codex:`codex login`},TR={claude:`Claude`,codex:`Codex`};function ER(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var DR=(0,I.lazy)(()=>zy(()=>import(`./TerminalPane-B1tNgepq.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function OR({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=wR[e],u=TR[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 SR(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)(MI,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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)(DR,{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)(Zp,{size:14,strokeWidth:2,className:`text-green-400`}):(0,L.jsx)(dm,{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)(jm,{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)(jm,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function kR({backend:e,onClose:t}){let n=Ve(),r=TR[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)(MI,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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)(jm,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var AR=pu.options,jR={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},MR={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)`};AR.filter(e=>e!==`plan`).map(e=>({value:e,label:jR[e],title:MR[e]}));var NR=[`auto`,`bypassPermissions`].map(e=>({value:e,label:jR[e],title:MR[e]})),PR=[{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 FR(e){return e===`plan`?`auto`:e}var IR=[`low`,`medium`,`high`,`xhigh`,`max`],LR=`ultracode`,RR=new Set([`fable`,`opus`,`sonnet`]);function zR(e){return e&&RR.has(e)?[...IR,LR]:[...IR]}var BR={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`,ultracode:`Ultracode`};function VR(e){return BR[e]??e.charAt(0).toUpperCase()+e.slice(1)}function HR(e,t){let n=zR(e).map(e=>({value:e,label:VR(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function UR(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:VR(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function WR(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 GR(e){return[{id:`claude`,label:`Claude Code`,options:PR.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:zR(e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function KR(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`?PR.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?HR(i,{withDefault:!1}):UR(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 qR(){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`],WR(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?KR(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var JR=`frizz-drafts:v1`,YR=80,XR=512*1024,ZR=2*1024*1024,QR=new TextEncoder;function $R(e){return QR.encode(e).byteLength}function ez(){return{version:1,entries:{}}}function tz(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||$R(t.value)>XR||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return ez()}}function nz(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&$R(e.value)<=XR).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=YR)break;n[e]=r,$R(JSON.stringify({version:1,entries:n}))>ZR&&delete n[e]}return{version:1,entries:n}}var rz=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=nz(tz(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(JR,JSON.stringify(nz(e)))}catch{}for(let e of this.listeners)e()}};function iz(e){return encodeURIComponent(e||`unresolved-project`)}var az={dispatch:e=>`dispatch:${iz(e)}:new`,followUp:(e,t,n)=>`followup:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${iz(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,question:(e,t,n,r)=>`question:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}`};function oz(){return Zt(X).board?.projectDir}function sz(e){return Zt(X).board?.threads.find(t=>t.id===e)?.sessionId}function cz(e){let t=(0,I.useCallback)(()=>rz.get(e),[e]);return[(0,I.useSyncExternalStore)(rz.subscribe,t,t),(0,I.useCallback)(t=>rz.set(e,t),[e]),(0,I.useCallback)(()=>rz.clear(e),[e])]}function lz(e){let t=(0,I.useCallback)(()=>JSON.stringify(Object.fromEntries(e.map(e=>[e,rz.get(e)]))),[e.join(`\0`)]),n=(0,I.useSyncExternalStore)(rz.subscribe,t,t);return(0,I.useMemo)(()=>new Map(Object.entries(JSON.parse(n))),[n])}function uz({autoFocus:e,onDispatched:t}){let{resolved:n,codexList:r,loadError:i,saveProfile:a}=qR(),o=ZL(),s=oz(),[c,l,u]=cz(az.dispatch(s)),d=az.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)=>{rz.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=ER(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)(xR,{groups:GR(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)(xR,{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)(JL,{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)(QL,{}):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)(OR,{backend:g,onClose:()=>_(null),onAuthed:()=>{let e=b.current;b.current=null,_(null),e&&S(e)}}),v&&(0,L.jsx)(kR,{backend:v,onClose:()=>y(null)})]})}function dz({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)(MI,{open:!0,onOpenChange:t=>{t||e()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{ref:t,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:yR,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)(YI,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),(0,L.jsx)(uz,{autoFocus:!0,onDispatched:e})]})]})})}function fz({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 pz=`-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`,mz={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},hz={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function gz(e){return e===`claude`||e===`codex`?hz[e]:void 0}function _z({backend:e,className:t}){let n=gz(e);return n?(0,L.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${mz[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,L.jsx)(vz,{}):(0,L.jsx)(yz,{})}):null}function vz(){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 yz(){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 bz(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function xz(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,Sz(i,...t)]}function Sz(...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 Cz=`DismissableLayer`,wz=`dismissableLayer.update`,Tz=`dismissableLayer.pointerDownOutside`,Ez=`dismissableLayer.focusOutside`,Dz,Oz=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),kz=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(Oz),[d,f]=I.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=I.useState({}),h=rD(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=Nz(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=Pz(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=xD(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&&(Dz=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),Fz(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Dz))}},[d,p,n,u]),I.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),Fz())},[d,u]),I.useEffect(()=>{let e=()=>m({});return document.addEventListener(wz,e),()=>document.removeEventListener(wz,e)},[]),(0,L.jsx)(yD.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:bz(e.onFocusCapture,w.onFocusCapture),onBlurCapture:bz(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:bz(e.onPointerDownCapture,C.onPointerDownCapture)})});kz.displayName=Cz;var Az=`DismissableLayerBranch`,jz=I.forwardRef((e,t)=>{let n=I.useContext(Oz),r=I.useRef(null),i=rD(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)(yD.div,{...e,ref:i})});jz.displayName=Az;var Mz=()=>!0;function Nz(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Mz}=t,s=xD(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||Iz(Tz,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 Pz(e,t=globalThis?.document){let n=xD(e),r=I.useRef(!1);return I.useEffect(()=>{let e=e=>{e.target&&!r.current&&Iz(Ez,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 Fz(){let e=new CustomEvent(wz);document.dispatchEvent(e)}function Iz(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?bD(i,a):i.dispatchEvent(a)}var Lz=`focusScope.autoFocusOnMount`,Rz=`focusScope.autoFocusOnUnmount`,zz={bubbles:!1,cancelable:!0},Bz=`FocusScope`,Vz=I.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=I.useState(null),l=xD(i),u=xD(a),d=I.useRef(null),f=rD(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:Jz(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Jz(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Jz(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){Yz.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(Lz,zz);s.addEventListener(Lz,l),s.dispatchEvent(t),t.defaultPrevented||(Hz(Qz(Wz(s)),{select:!0}),document.activeElement===e&&Jz(s))}return()=>{s.removeEventListener(Lz,l),setTimeout(()=>{let t=new CustomEvent(Rz,zz);s.addEventListener(Rz,u),s.dispatchEvent(t),t.defaultPrevented||Jz(e??document.body,{select:!0}),s.removeEventListener(Rz,u),Yz.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]=Uz(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Jz(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Jz(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,L.jsx)(yD.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});Vz.displayName=Bz;function Hz(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Jz(r,{select:t}),document.activeElement!==n)return}function Uz(e){let t=Wz(e);return[Gz(t,e),Gz(t.reverse(),e)]}function Wz(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 Gz(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Kz(r,{upTo:t})))return r}function Kz(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 qz(e){return e instanceof HTMLInputElement&&`select`in e}function Jz(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&qz(e)&&t&&e.select()}}var Yz=Xz();function Xz(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Zz(e,t),e.unshift(t)},remove(t){e=Zz(e,t),e[0]?.resume()}}}function Zz(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Qz(e){return e.filter(e=>e.tagName!==`A`)}var $z=`Popper`,[eB,tB]=xz($z),[nB,rB]=eB($z),iB=e=>{let{__scopePopper:t,children:n}=e,[r,i]=I.useState(null),[a,o]=I.useState(void 0);return(0,L.jsx)(nB,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};iB.displayName=$z;var aB=`PopperAnchor`,oB=I.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=rB(aB,n),o=I.useRef(null),s=a.onAnchorChange,c=rD(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&&gB(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(yD.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});oB.displayName=aB;var sB=`PopperContent`,[cB,lB]=eB(sB),uB=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=rB(sB,n),[_,v]=I.useState(null),y=rD(t,v),[b,x]=I.useState(null),S=iA(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(mB),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:N,middlewareData:P}=Kk({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>Mk(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Jk({mainAxis:i+w,alignmentAxis:o}),c&&Yk({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Xk():void 0,...k}),c&&Zk({...k}),Qk({...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}),hB({arrowWidth:C,arrowHeight:w}),f&&$k({strategy:`referenceHidden`,...k,boundary:O?k.boundary:void 0})]}),ee=g.setPlacementState;SD(()=>(ee(M),()=>{ee(void 0)}),[M,ee]);let[F,te]=gB(M),ne=xD(m);SD(()=>{N&&ne?.()},[N,ne]);let re=P.arrow?.x,ie=P.arrow?.y,ae=P.arrow?.centerOffset!==0,[oe,se]=I.useState();return SD(()=>{_&&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)(cB,{scope:n,placedSide:F,placedAlign:te,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,L.jsx)(yD.div,{"data-side":F,"data-align":te,...h,ref:y,style:{...h.style,animation:N?void 0:`none`}})})})});uB.displayName=sB;var dB=`PopperArrow`,fB={top:`bottom`,right:`left`,bottom:`top`,left:`right`},pB=I.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=lB(dB,n),a=fB[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)(rA,{...r,ref:t,style:{...r.style,display:`block`}})})});pB.displayName=dB;function mB(e){return e!==null}var hB=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]=gB(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 gB(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var _B=iB,vB=oB,yB=uB,bB=pB;function xB(e,t){return I.useReducer((e,n)=>t[e][n]??e,e)}var SB=e=>{let{present:t,children:n}=e,r=CB(t),i=typeof n==`function`?n({present:r.isPresent}):I.Children.only(n),a=TB(r.ref,DB(i));return typeof n==`function`||r.isPresent?I.cloneElement(i,{ref:a}):null};SB.displayName=`Presence`;function CB(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]=xB(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??EB(r.current),o.current=void 0):a.current=`none`},[s]),SD(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=EB(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]),SD(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=EB(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=EB(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=EB(t)}else r.current=null;n(e)},[])}}function wB(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function TB(...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=wB(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():wB(n[e],null)}}},[])}function EB(e){return e?.animationName||`none`}function DB(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 OB=`Popover`,[kB,AB]=xz(OB,[tB]),jB=tB(),[MB,NB]=kB(OB),PB=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=jB(t),c=I.useRef(null),[l,u]=I.useState(!1),[d,f]=LA({prop:r,defaultProp:i??!1,onChange:a,caller:OB});return(0,L.jsx)(_B,{...s,children:(0,L.jsx)(MB,{scope:t,contentId:HD(),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})})};PB.displayName=OB;var FB=`PopoverAnchor`,IB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(FB,n),a=jB(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return I.useEffect(()=>(o(),()=>s()),[o,s]),(0,L.jsx)(vB,{...a,...r,ref:t})});IB.displayName=FB;var LB=`PopoverTrigger`,RB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(LB,n),a=jB(n),o=rD(t,i.triggerRef),s=(0,L.jsx)(yD.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":$B(i.open),...r,ref:o,onClick:bz(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(vB,{asChild:!0,...a,children:s})});RB.displayName=LB;var zB=`PopoverPortal`,[BB,VB]=kB(zB,{forceMount:void 0}),HB=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=NB(zB,t);return(0,L.jsx)(BB,{scope:t,forceMount:n,children:(0,L.jsx)(SB,{present:n||a.open,children:(0,L.jsx)(OA,{asChild:!0,container:i,children:r})})})};HB.displayName=zB;var UB=`PopoverContent`,WB=I.forwardRef((e,t)=>{let n=VB(UB,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=NB(UB,e.__scopePopover);return(0,L.jsx)(SB,{present:r||a.open,children:a.modal?(0,L.jsx)(KB,{...i,ref:t}):(0,L.jsx)(qB,{...i,ref:t})})});WB.displayName=UB;var GB=oD(`PopoverContent.RemoveScroll`),KB=I.forwardRef((e,t)=>{let n=NB(UB,e.__scopePopover),r=I.useRef(null),i=rD(t,r),a=I.useRef(!1);return I.useEffect(()=>{let e=r.current;if(e)return RM(e)},[]),(0,L.jsx)(qN,{as:GB,allowPinchZoom:!0,children:(0,L.jsx)(JB,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:bz(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:bz(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:bz(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),qB=I.forwardRef((e,t)=>{let n=NB(UB,e.__scopePopover),r=I.useRef(!1),i=I.useRef(!1);return(0,L.jsx)(JB,{...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()}})}),JB=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=NB(UB,n),p=jB(n);return Gj(),(0,L.jsx)(Vz,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(kz,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(yB,{"data-state":$B(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)`}})})})}),YB=`PopoverClose`,XB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(YB,n);return(0,L.jsx)(yD.button,{type:`button`,...r,ref:t,onClick:bz(e.onClick,()=>i.onOpenChange(!1))})});XB.displayName=YB;var ZB=`PopoverArrow`,QB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=jB(n);return(0,L.jsx)(bB,{...i,...r,ref:t})});QB.displayName=ZB;function $B(e){return e?`open`:`closed`}var eV=PB,tV=IB,nV=RB,rV=HB,iV=WB;function aV({modal:e=!1,...t}){return(0,L.jsx)(eV,{modal:e,...t})}var oV=nV,sV=tV;function cV({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,L.jsx)(rV,{children:(0,L.jsx)(iV,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${Aj} ${Pj} rounded-lg outline-none ${i}`,...a,children:e})})}var lV=3e4,uV=45e3;function dV(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}var fV=`text-[9px]`,pV={claude:`text-fg/75! size-[14px]! translate-y-0!`,codex:`text-fg/75! size-[12.75px]! translate-y-0!`};function mV(){let e=nt({queryKey:[`quota`],queryFn:()=>Y.quota(),staleTime:1e4}),t=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4});return[`claude`,`codex`].some(n=>hV(e.data?.[n],t.data?.[n],e.isLoading))}function hV(e,t,n){return t===`signed-out`||!e&&n?!1:!!e&&e.status===`ok`&&e.windows.length>0}function gV(){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:dV(lV,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:dV(lV,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:dV(uV)}).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 ${fV}`,children:[(0,L.jsx)(_V,{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)(_V,{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 _V({backend:e,quota:t,auth:n,email:r,loading:i,fetching:a,onRecheck:o}){let s=TR[e];if(!hV(t,n,i))return null;let c=vV(100-bV(t.windows).usedPercent);return(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(aV,{onOpenChange:e=>{e&&o()},children:[(0,L.jsx)(oV,{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)(_z,{backend:e,className:pV[e]}),(0,L.jsxs)(`span`,{className:`tabular-nums ${xV(c)}`,children:[c,`%`]})]})}),(0,L.jsxs)(cV,{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)(_z,{backend:e}),(0,L.jsx)(`span`,{children:s}),t?.planType&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,SV(t.planType),` plan`]}),a&&(0,L.jsx)(jm,{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=vV(100-e.usedPercent),n=CV(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:xV(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 vV(e){return Math.max(0,Math.min(100,Math.round(e)))}var yV=25;function bV(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function xV(e){return e<=8?`text-red-400`:e<=yV?`text-accent`:`text-fg/70`}function SV(e){return e&&e[0].toUpperCase()+e.slice(1)}function CV(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 wV=`frizz:supervisor-status-wake`;function TV(e){return e!==null}function EV(e){return e?.updateRestart===!0&&e.updateAvailable!==!1}function DV(e){return e?.dev===!0}async function OV(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 kV(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 AV(e=fetch){return kV(`/_frizz/control/restart`,e)}function jV(e=fetch){return kV(`/_frizz/control/update-restart`,e)}var MV=8e3,NV=500,PV=[`supervisorStatus`];function FV(e,t){return e===`restarting`||t?NV:MV}var IV=rt({queryKey:PV,queryFn:()=>OV(),refetchInterval:e=>FV(e.state.data?.state,X.controlPlaneRestartPending),staleTime:e=>FV(e.state.data?.state,X.controlPlaneRestartPending)});function LV(){return nt(IV)}var RV=null;function zV(e){RV||(RV=e,window.addEventListener(wV,()=>{e.refetchQueries({queryKey:PV,exact:!0})}))}var BV=`Install the latest version of Frizz. Your running threads will not be affected.`,VV=`A newer version of Frizz is available. Your running threads will not be affected.`,HV=`Restart Frizz. Your running threads will not be affected.`,UV=`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)]`,WV=`absolute -top-[7px] left-4 h-3 w-3 rotate-45 border-l border-t bg-elevated`,GV=`sm:w-[min(23rem,calc(100vw-1.5rem))]`,KV=`sm:w-[min(34rem,calc(100vw-1.5rem))]`,qV=`rounded-xl bg-elevated p-3.5 shadow-xl shadow-black/45`;function JV({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:`${UV} ${GV} ${qV} border border-border-strong`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${WV} 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)(Wm,{"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?VV:BV:HV})]})}var YV=`Frizz kept running the previous version, and your threads are unaffected.`;function XV({update:e,message:t,onDismiss:n}){return(0,L.jsxs)(`div`,{role:`alert`,className:`${UV} ${KV} ${qV} border border-red-500/45`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${WV} 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)(nh,{"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:n,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)(ih,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:YV}),(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 ZV({update:e,busy:t,updateVersion:n,onFocus:r,onBlur:i,onClick:a}){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 ${pz}`,onFocus:r,onBlur:i,onClick:a,children:[(0,L.jsx)(Wm,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0}),e&&!t&&n&&(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-[2px] top-[2px] h-[4px] w-[4px] rounded-full bg-accent`})]})}function QV(){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)(!1),u=(0,I.useRef)(null),d=LV().data??null,f=EV(d),p={version:d?.version,updateVersion:d?.updateVersion};if(!TV(d))return null;let m=l.current&&e.controlPlaneState===`failed`?e.controlPlaneMessage??`Frizz did not become ready`:void 0,h=a??m,g=h&&h!==s?h:void 0,_=async()=>{if(r)return;l.current=!0,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.controlPlaneRestartPending=!0);try{f?await jV():await AV(),f?(sessionStorage.setItem(`frizz:reload-after-update-restart`,e),window.dispatchEvent(new Event(wV)),i(!1)):window.location.replace(e)}catch(e){f&&(X.controlPlaneRestartPending=!1,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)(ZV,{update:f,busy:r,updateVersion:p.updateVersion,onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:()=>void _()}),g&&(0,L.jsx)(XV,{update:f,message:g,onDismiss:()=>c(g)}),(0,L.jsx)(JV,{open:t&&!g,update:f,version:p.version,updateVersion:p.updateVersion})]})}function $V(){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function eH({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 tH(){let e=OC(),t=AU(e),n=mV(),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)(db,{to:`/`,title:`All projects`,"aria-label":`All projects`,className:`${pz} -ml-px`,children:(0,L.jsx)(Tm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)($V,{}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:pz,onClick:()=>X.showSettings=!0,children:(0,L.jsx)(Jm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(QV,{}),n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)($V,{}),(0,L.jsx)(gV,{})]}),(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)(eH,{text:i})}):i?(0,L.jsx)(eH,{text:i,title:i,className:`font-semibold text-fg/90`}):(0,L.jsx)(`span`,{className:`identity-placeholder w-24`,"aria-hidden":`true`})})]})}var nH=qt({at:{}}),rH=12e3,iH=new Map;function aH(e,t=Date.now()){nH.at[e]=t;let n=iH.get(e);n!==void 0&&clearTimeout(n),iH.set(e,setTimeout(()=>{iH.delete(e),delete nH.at[e]},rH))}function oH(e){let t=iH.get(e);t!==void 0&&(clearTimeout(t),iH.delete(e)),delete nH.at[e]}function sH(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 cH(){return Zt(nH).at}function lH(e,t,n=Date.now()){return t===void 0||!sH(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function uH(e){let t=cH();return(0,I.useMemo)(()=>e.map(e=>lH(e,t[e.id])),[e,t])}var dH=0;function fH(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(dH+=1,`browser-${Date.now()}-${dH}`)}function pH({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var mH=new Map;function hH(e,t){let n=(mH.get(e)??Promise.resolve()).then(t,t);return mH.set(e,n.then(()=>{},()=>{})),n}var gH=[300,800,1800,3500],_H=e=>new Promise(t=>{setTimeout(t,e)});async function vH(e,t,n=_H){for(let r=0;;r++){try{await e()}catch(e){if(r>=gH.length||!cf(e))throw e;t(),await n(gH[r]);continue}t();return}}function yH(e,t,n,r,i){return vH(()=>Y.followUp({slug:e,sessionId:Ep(X.board,e)?.sessionId??``,message:t,deliveryId:n,freshProcess:r,interrupt:i}),()=>aH(e))}function bH(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=fH();return pH({optimistic:()=>{r.onOptimistic?.(),KC(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),aH(t),Y.markRead({slug:t}).catch(()=>{})},request:()=>hH(t,()=>yH(t,i,a,r.freshProcess,r.interrupt)),success:()=>r.onSuccess?.(),failure:n=>{qC(e,t,i,a),oH(t),r.onRollback?.(),Z(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,90)}`)}}),!0}function xH(e){let t=Ve(),[n,r]=(0,I.useState)(0);return{submit:(0,I.useCallback)((n,i={})=>bH(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 SH(e,t){return new Promise(n=>{bH(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{Z(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}function CH(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 wH=`Waiting for an external update.`;function TH(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:CH(n)}])})}function EH(e){let t=(e.body??``).split(/\n\s*\n/).map(e=>e.trim()).find(Boolean);return t?kH(DH(t.replace(/\s*\n\s*/g,` `))):null}function DH(e){if(e.length<=OH)return e;let t=e.slice(0,OH),n=t.lastIndexOf(` `);return`${(n>OH/2?t.slice(0,n):t).replace(/[.,;:]$/,``)}…`}var OH=240;function kH(e){let t=(e.split(/\s/,1)[0]??``).replace(/[.,:;]+$/,``);return/[^a-zA-Z]/.test(t)||/[A-Z]/.test(t.slice(1))||AH.has(t)?e:e.charAt(0).toUpperCase()+e.slice(1)}var AH=new Set([`npm`,`npx`,`pnpm`,`nub`,`nubx`,`gh`,`git`,`node`,`bun`,`tsc`,`vite`,`curl`,`ssh`]);function jH(e){return e&&NH(e)||null}var MH=new Set([...rl,`shells`,`agents`,`timers`,`prs`,`for`,`title`]);function NH(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?KL[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?UL:WL}`} 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)(YL,{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?VL:HL} 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)(jm,{size:15,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(zm,{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 ${BL} 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)(jm,{size:14,strokeWidth:2.5,className:`animate-spin`}):(0,L.jsx)(qp,{size:14,strokeWidth:2.5})})]})}function YL({attachment:e,disabled:t,onRemove:n}){let[r,i]=(0,I.useState)(!1),a=e.path.split(`/`).filter(Boolean).pop()||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:AS(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)(hm,{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)(ih,{size:10,strokeWidth:2.5})})]})}function XL(){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 ZL(){let e=XL();return!!(e.data?.inRepo&&e.data.authed)}function QL({className:e=``}){return ZL()?(0,L.jsx)(`button`,{type:`button`,onClick:Wf,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)(Cm,{size:15,strokeWidth:2})}):null}var $L=`prompt-control-type petite-caps`,eR=$L,tR=$L,nR=`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 rR(e){return`minmax(6rem, 7rem) repeat(${Math.max(0,e)}, auto)`}var iR=[`ultra`,`ultracode`],aR=[`low`,`medium`,`high`,`xhigh`,`max`,...iR];function oR(e){return[...new Set(e.flatMap(e=>e.options.flatMap(e=>e.efforts)))].sort((e,t)=>{let n=aR.indexOf(e),r=aR.indexOf(t);return n===-1&&r===-1?e.localeCompare(t):n===-1?1:r===-1?-1:n-r})}function sR(e){let t=[];for(let n of oR(e)){let e=iR.includes(n)?t.find(e=>iR.includes(e[0])):void 0;e?e.push(n):t.push([n])}return t}function cR(e){return e.flatMap(e=>e.options.flatMap(t=>t.efforts.map(n=>({provider:e.id,model:t.model,effort:n}))))}function lR(e){return JSON.stringify([e.provider,e.model,e.effort])}function uR(e,t){return cR(e).find(e=>lR(e)===t)}function dR(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 fR(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 pR(e,t,n){let r=sR(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 mR,hR=!1;function gR(){hR||typeof window>`u`||(hR=!0,window.addEventListener(`keydown`,e=>{e.key!==`Escape`||!mR||(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),vR())},{capture:!0}))}function _R(e){gR();let t={dismiss:e};return mR=t,()=>{mR===t&&(mR=void 0)}}function vR(){let e=mR;return e?(mR=void 0,e.dismiss(),!0):!1}function yR(e){vR()&&e.preventDefault(),e.stopPropagation()}function bR(e){return e===`xhigh`?`X-high`:e.charAt(0).toUpperCase()+e.slice(1)}function xR({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=jj,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)(()=>sR(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?tR:eR,C=c?`cursor-not-allowed opacity-45`:`cursor-pointer transition-colors hover:border-border hover:bg-panel-2 hover:text-fg`,w=dR(e,t),T=w&&t?.provider&&t.model&&t.effort?lR(t):void 0,E=n?.model||n?.effort?fR(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=lR(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=pR(e,n,t.key);r&&(t.preventDefault(),t.stopPropagation(),v.current.get(lR(r))?.focus())}return(0,L.jsxs)(uI,{modal:!1,open:p,onOpenChange:e=>{_.current?.(),_.current=void 0,h.current=e,m(e),e&&(_.current=_R(D))},children:[(0,L.jsx)(dI,{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:fR(e,t,i)}),E&&(0,L.jsx)(jm,{"aria-hidden":`true`,size:l?10:11,className:`shrink-0 animate-spin text-muted/65`}),(0,L.jsx)(Qp,{"aria-hidden":`true`,size:l?11:13,className:`shrink-0 text-fg/65 transition-transform group-data-[state=open]:rotate-180`})]})}),(0,L.jsx)(fI,{children:(0,L.jsxs)(pI,{"aria-label":o,align:`start`,side:u,sideOffset:5,collisionPadding:8,onEscapeKeyDown:e=>e.stopPropagation(),className:`profile-grid-menu ${d} ${Aj} 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)(mI,{children:[t.label&&(0,L.jsx)(hI,{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)(_I,{value:T,onValueChange:t=>{let n=uR(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:rR(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)=>bR(t).length>bR(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:bR(i)},i);let a={provider:t.id,model:e.model,effort:r},o=lR(a);return(0,L.jsx)(vI,{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}, ${bR(r)} effort`,title:`${e.label} › ${bR(r)}`,className:nR,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:bR(r)}),(0,L.jsx)(`span`,{className:`col-start-1 row-start-1`,children:bR(r)})]})},r)})]},e.model))}),t!==e.at(-1)&&(0,L.jsx)(bI,{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 SR(e){if(navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e);return}catch{}if(!CR(e))throw Error(`the browser blocked clipboard access`)}function CR(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 wR={claude:`claude auth login`,codex:`codex login`},TR={claude:`Claude`,codex:`Codex`};function ER(e){let t=e.trim();return t===`/login`?`login`:t===`/logout`?`logout`:null}var DR=(0,I.lazy)(()=>zy(()=>import(`./TerminalPane-D5Tx2hu9.js`).then(e=>({default:e.TerminalPane})),__vite__mapDeps([0,1])));function OR({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=wR[e],u=TR[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 SR(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)(MI,{open:!0,onOpenChange:e=>{e||(p(),t())},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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)(DR,{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)(Zp,{size:14,strokeWidth:2,className:`text-green-400`}):(0,L.jsx)(dm,{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)(jm,{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)(jm,{size:13,className:`animate-spin`}),`Sign in here`]})]})]})]})]})})}function kR({backend:e,onClose:t}){let n=Ve(),r=TR[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)(MI,{open:!0,onOpenChange:e=>{!e&&!i.isPending&&t()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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)(jm,{size:13,className:`animate-spin`}),`Sign out`]})]})]})]})})}var AR=pu.options,jR={auto:`Auto`,default:`Default`,acceptEdits:`Accept edits`,plan:`Plan`,bypassPermissions:`Bypass`},MR={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)`};AR.filter(e=>e!==`plan`).map(e=>({value:e,label:jR[e],title:MR[e]}));var NR=[`auto`,`bypassPermissions`].map(e=>({value:e,label:jR[e],title:MR[e]})),PR=[{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 FR(e){return e===`plan`?`auto`:e}var IR=[`low`,`medium`,`high`,`xhigh`,`max`],LR=`ultracode`,RR=new Set([`fable`,`opus`,`sonnet`]);function zR(e){return e&&RR.has(e)?[...IR,LR]:[...IR]}var BR={low:`Low`,medium:`Medium`,high:`High`,xhigh:`X-high`,max:`Max`,ultra:`Ultra`,ultracode:`Ultracode`};function VR(e){return BR[e]??e.charAt(0).toUpperCase()+e.slice(1)}function HR(e,t){let n=zR(e).map(e=>({value:e,label:VR(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function UR(e,t){let n=(e?.efforts??[]).map(e=>({value:e,label:VR(e)}));return t.withDefault?[{value:``,label:`Default`},...n]:n}function WR(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 GR(e){return[{id:`claude`,label:`Claude Code`,options:PR.map(e=>({model:e.value,label:e.label,defaultEffort:`high`,efforts:zR(e.value)}))},{id:`codex`,label:`Codex`,options:e.map(e=>({model:e.slug,label:e.displayName,defaultEffort:e.defaultEffort,efforts:e.efforts}))}]}function KR(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`?PR.some(e=>e.value===i):t.some(e=>e.slug===i),s=n===`claude`?`high`:a?.defaultEffort??``,c=r.effort??s,l=n===`claude`?HR(i,{withDefault:!1}):UR(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 qR(){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`],WR(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?KR(t.data,r):void 0,[a,t.data,r]),codexList:r,loadError:t.isError||n.isError,saveProfile:i.mutate}}var JR=`frizz-drafts:v1`,YR=80,XR=512*1024,ZR=2*1024*1024,QR=new TextEncoder;function $R(e){return QR.encode(e).byteLength}function ez(){return{version:1,entries:{}}}function tz(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||$R(t.value)>XR||(r[e]={value:t.value,touchedAt:t.touchedAt});return{version:1,entries:r}}catch{return ez()}}function nz(e){let t=Object.entries(e.entries).filter(([,e])=>e.value&&$R(e.value)<=XR).sort((e,t)=>t[1].touchedAt-e[1].touchedAt),n={};for(let[e,r]of t){if(Object.keys(n).length>=YR)break;n[e]=r,$R(JSON.stringify({version:1,entries:n}))>ZR&&delete n[e]}return{version:1,entries:n}}var rz=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=nz(tz(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(JR,JSON.stringify(nz(e)))}catch{}for(let e of this.listeners)e()}};function iz(e){return encodeURIComponent(e||`unresolved-project`)}var az={dispatch:e=>`dispatch:${iz(e)}:new`,followUp:(e,t,n)=>`followup:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}`,adopt:(e,t)=>`adopt:${iz(e)}:${encodeURIComponent(t)}`,answer:(e,t,n,r,i)=>`answer:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n??`unowned`)}:${encodeURIComponent(r)}:${i}`,interaction:(e,t,n,r,i,a,o)=>`interaction:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}:${i}:${encodeURIComponent(a)}:${encodeURIComponent(o)}`,question:(e,t,n,r)=>`question:${iz(e)}:${encodeURIComponent(t)}:${encodeURIComponent(n)}:${encodeURIComponent(r)}`};function oz(){return Zt(X).board?.projectDir}function sz(e){return Zt(X).board?.threads.find(t=>t.id===e)?.sessionId}function cz(e){let t=(0,I.useCallback)(()=>rz.get(e),[e]);return[(0,I.useSyncExternalStore)(rz.subscribe,t,t),(0,I.useCallback)(t=>rz.set(e,t),[e]),(0,I.useCallback)(()=>rz.clear(e),[e])]}function lz(e){let t=(0,I.useCallback)(()=>JSON.stringify(Object.fromEntries(e.map(e=>[e,rz.get(e)]))),[e.join(`\0`)]),n=(0,I.useSyncExternalStore)(rz.subscribe,t,t);return(0,I.useMemo)(()=>new Map(Object.entries(JSON.parse(n))),[n])}function uz({autoFocus:e,onDispatched:t}){let{resolved:n,codexList:r,loadError:i,saveProfile:a}=qR(),o=ZL(),s=oz(),[c,l,u]=cz(az.dispatch(s)),d=az.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)=>{rz.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=ER(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)(xR,{groups:GR(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)(xR,{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)(JL,{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)(QL,{}):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)(OR,{backend:g,onClose:()=>_(null),onAuthed:()=>{let e=b.current;b.current=null,_(null),e&&S(e)}}),v&&(0,L.jsx)(kR,{backend:v,onClose:()=>y(null)})]})}function dz({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)(MI,{open:!0,onOpenChange:t=>{t||e()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-50 bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{ref:t,"aria-modal":`true`,"aria-describedby":void 0,onEscapeKeyDown:yR,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)(YI,{className:`mb-1 text-[14px] font-medium`,children:`New thread`}),(0,L.jsx)(uz,{autoFocus:!0,onDispatched:e})]})]})})}function fz({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 pz=`-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`,mz={claude:`size-[11px] translate-y-px`,codex:`size-[10px]`},hz={claude:{backend:`claude`,label:`Claude Code`},codex:{backend:`codex`,label:`OpenAI Codex`}};function gz(e){return e===`claude`||e===`codex`?hz[e]:void 0}function _z({backend:e,className:t}){let n=gz(e);return n?(0,L.jsx)(`span`,{role:`img`,"aria-label":n.label,className:`inline-flex shrink-0 text-muted/65 ${mz[n.backend]} ${t??``}`,children:n.backend===`codex`?(0,L.jsx)(vz,{}):(0,L.jsx)(yz,{})}):null}function vz(){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 yz(){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 bz(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}function xz(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,Sz(i,...t)]}function Sz(...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 Cz=`DismissableLayer`,wz=`dismissableLayer.update`,Tz=`dismissableLayer.pointerDownOutside`,Ez=`dismissableLayer.focusOutside`,Dz,Oz=I.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),kz=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(Oz),[d,f]=I.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=I.useState({}),h=rD(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=Nz(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=Pz(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=xD(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&&(Dz=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),Fz(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Dz))}},[d,p,n,u]),I.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),Fz())},[d,u]),I.useEffect(()=>{let e=()=>m({});return document.addEventListener(wz,e),()=>document.removeEventListener(wz,e)},[]),(0,L.jsx)(yD.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:bz(e.onFocusCapture,w.onFocusCapture),onBlurCapture:bz(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:bz(e.onPointerDownCapture,C.onPointerDownCapture)})});kz.displayName=Cz;var Az=`DismissableLayerBranch`,jz=I.forwardRef((e,t)=>{let n=I.useContext(Oz),r=I.useRef(null),i=rD(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)(yD.div,{...e,ref:i})});jz.displayName=Az;var Mz=()=>!0;function Nz(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Mz}=t,s=xD(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||Iz(Tz,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 Pz(e,t=globalThis?.document){let n=xD(e),r=I.useRef(!1);return I.useEffect(()=>{let e=e=>{e.target&&!r.current&&Iz(Ez,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 Fz(){let e=new CustomEvent(wz);document.dispatchEvent(e)}function Iz(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?bD(i,a):i.dispatchEvent(a)}var Lz=`focusScope.autoFocusOnMount`,Rz=`focusScope.autoFocusOnUnmount`,zz={bubbles:!1,cancelable:!0},Bz=`FocusScope`,Vz=I.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=I.useState(null),l=xD(i),u=xD(a),d=I.useRef(null),f=rD(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:Jz(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Jz(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Jz(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){Yz.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(Lz,zz);s.addEventListener(Lz,l),s.dispatchEvent(t),t.defaultPrevented||(Hz(Qz(Wz(s)),{select:!0}),document.activeElement===e&&Jz(s))}return()=>{s.removeEventListener(Lz,l),setTimeout(()=>{let t=new CustomEvent(Rz,zz);s.addEventListener(Rz,u),s.dispatchEvent(t),t.defaultPrevented||Jz(e??document.body,{select:!0}),s.removeEventListener(Rz,u),Yz.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]=Uz(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Jz(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Jz(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,L.jsx)(yD.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});Vz.displayName=Bz;function Hz(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Jz(r,{select:t}),document.activeElement!==n)return}function Uz(e){let t=Wz(e);return[Gz(t,e),Gz(t.reverse(),e)]}function Wz(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 Gz(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Kz(r,{upTo:t})))return r}function Kz(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 qz(e){return e instanceof HTMLInputElement&&`select`in e}function Jz(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&qz(e)&&t&&e.select()}}var Yz=Xz();function Xz(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Zz(e,t),e.unshift(t)},remove(t){e=Zz(e,t),e[0]?.resume()}}}function Zz(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Qz(e){return e.filter(e=>e.tagName!==`A`)}var $z=`Popper`,[eB,tB]=xz($z),[nB,rB]=eB($z),iB=e=>{let{__scopePopper:t,children:n}=e,[r,i]=I.useState(null),[a,o]=I.useState(void 0);return(0,L.jsx)(nB,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};iB.displayName=$z;var aB=`PopperAnchor`,oB=I.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=rB(aB,n),o=I.useRef(null),s=a.onAnchorChange,c=rD(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&&gB(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(yD.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})});oB.displayName=aB;var sB=`PopperContent`,[cB,lB]=eB(sB),uB=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=rB(sB,n),[_,v]=I.useState(null),y=rD(t,v),[b,x]=I.useState(null),S=iA(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(mB),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:N,middlewareData:P}=Kk({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>Mk(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Jk({mainAxis:i+w,alignmentAxis:o}),c&&Yk({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Xk():void 0,...k}),c&&Zk({...k}),Qk({...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}),hB({arrowWidth:C,arrowHeight:w}),f&&$k({strategy:`referenceHidden`,...k,boundary:O?k.boundary:void 0})]}),ee=g.setPlacementState;SD(()=>(ee(M),()=>{ee(void 0)}),[M,ee]);let[F,te]=gB(M),ne=xD(m);SD(()=>{N&&ne?.()},[N,ne]);let re=P.arrow?.x,ie=P.arrow?.y,ae=P.arrow?.centerOffset!==0,[oe,se]=I.useState();return SD(()=>{_&&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)(cB,{scope:n,placedSide:F,placedAlign:te,onArrowChange:x,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,L.jsx)(yD.div,{"data-side":F,"data-align":te,...h,ref:y,style:{...h.style,animation:N?void 0:`none`}})})})});uB.displayName=sB;var dB=`PopperArrow`,fB={top:`bottom`,right:`left`,bottom:`top`,left:`right`},pB=I.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=lB(dB,n),a=fB[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)(rA,{...r,ref:t,style:{...r.style,display:`block`}})})});pB.displayName=dB;function mB(e){return e!==null}var hB=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]=gB(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 gB(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var _B=iB,vB=oB,yB=uB,bB=pB;function xB(e,t){return I.useReducer((e,n)=>t[e][n]??e,e)}var SB=e=>{let{present:t,children:n}=e,r=CB(t),i=typeof n==`function`?n({present:r.isPresent}):I.Children.only(n),a=TB(r.ref,DB(i));return typeof n==`function`||r.isPresent?I.cloneElement(i,{ref:a}):null};SB.displayName=`Presence`;function CB(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]=xB(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??EB(r.current),o.current=void 0):a.current=`none`},[s]),SD(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=EB(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]),SD(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=EB(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=EB(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=EB(t)}else r.current=null;n(e)},[])}}function wB(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function TB(...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=wB(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():wB(n[e],null)}}},[])}function EB(e){return e?.animationName||`none`}function DB(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 OB=`Popover`,[kB,AB]=xz(OB,[tB]),jB=tB(),[MB,NB]=kB(OB),PB=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=jB(t),c=I.useRef(null),[l,u]=I.useState(!1),[d,f]=LA({prop:r,defaultProp:i??!1,onChange:a,caller:OB});return(0,L.jsx)(_B,{...s,children:(0,L.jsx)(MB,{scope:t,contentId:HD(),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})})};PB.displayName=OB;var FB=`PopoverAnchor`,IB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(FB,n),a=jB(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return I.useEffect(()=>(o(),()=>s()),[o,s]),(0,L.jsx)(vB,{...a,...r,ref:t})});IB.displayName=FB;var LB=`PopoverTrigger`,RB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(LB,n),a=jB(n),o=rD(t,i.triggerRef),s=(0,L.jsx)(yD.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":$B(i.open),...r,ref:o,onClick:bz(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,L.jsx)(vB,{asChild:!0,...a,children:s})});RB.displayName=LB;var zB=`PopoverPortal`,[BB,VB]=kB(zB,{forceMount:void 0}),HB=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=NB(zB,t);return(0,L.jsx)(BB,{scope:t,forceMount:n,children:(0,L.jsx)(SB,{present:n||a.open,children:(0,L.jsx)(OA,{asChild:!0,container:i,children:r})})})};HB.displayName=zB;var UB=`PopoverContent`,WB=I.forwardRef((e,t)=>{let n=VB(UB,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=NB(UB,e.__scopePopover);return(0,L.jsx)(SB,{present:r||a.open,children:a.modal?(0,L.jsx)(KB,{...i,ref:t}):(0,L.jsx)(qB,{...i,ref:t})})});WB.displayName=UB;var GB=oD(`PopoverContent.RemoveScroll`),KB=I.forwardRef((e,t)=>{let n=NB(UB,e.__scopePopover),r=I.useRef(null),i=rD(t,r),a=I.useRef(!1);return I.useEffect(()=>{let e=r.current;if(e)return RM(e)},[]),(0,L.jsx)(qN,{as:GB,allowPinchZoom:!0,children:(0,L.jsx)(JB,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:bz(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:bz(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:bz(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),qB=I.forwardRef((e,t)=>{let n=NB(UB,e.__scopePopover),r=I.useRef(!1),i=I.useRef(!1);return(0,L.jsx)(JB,{...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()}})}),JB=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=NB(UB,n),p=jB(n);return Gj(),(0,L.jsx)(Vz,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(kz,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,L.jsx)(yB,{"data-state":$B(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)`}})})})}),YB=`PopoverClose`,XB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=NB(YB,n);return(0,L.jsx)(yD.button,{type:`button`,...r,ref:t,onClick:bz(e.onClick,()=>i.onOpenChange(!1))})});XB.displayName=YB;var ZB=`PopoverArrow`,QB=I.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=jB(n);return(0,L.jsx)(bB,{...i,...r,ref:t})});QB.displayName=ZB;function $B(e){return e?`open`:`closed`}var eV=PB,tV=IB,nV=RB,rV=HB,iV=WB;function aV({modal:e=!1,...t}){return(0,L.jsx)(eV,{modal:e,...t})}var oV=nV,sV=tV;function cV({children:e,side:t=`top`,align:n=`center`,sideOffset:r=6,className:i=``,...a}){return(0,L.jsx)(rV,{children:(0,L.jsx)(iV,{side:t,align:n,sideOffset:r,avoidCollisions:!0,collisionPadding:12,onEscapeKeyDown:e=>e.stopPropagation(),className:`${Aj} ${Pj} rounded-lg outline-none ${i}`,...a,children:e})})}var lV=3e4,uV=45e3;function dV(e,t){return t?AbortSignal.any([t,AbortSignal.timeout(e)]):AbortSignal.timeout(e)}var fV=`text-[9px]`,pV={claude:`text-fg/75! size-[14px]! translate-y-0!`,codex:`text-fg/75! size-[12.75px]! translate-y-0!`};function mV(){let e=nt({queryKey:[`quota`],queryFn:()=>Y.quota(),staleTime:1e4}),t=nt({queryKey:[`authStatus`],queryFn:()=>Y.authStatus(),staleTime:3e4});return[`claude`,`codex`].some(n=>hV(e.data?.[n],t.data?.[n],e.isLoading))}function hV(e,t,n){return t===`signed-out`||!e&&n?!1:!!e&&e.status===`ok`&&e.windows.length>0}function gV(){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:dV(lV,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:dV(lV,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:dV(uV)}).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 ${fV}`,children:[(0,L.jsx)(_V,{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)(_V,{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 _V({backend:e,quota:t,auth:n,email:r,loading:i,fetching:a,onRecheck:o}){let s=TR[e];if(!hV(t,n,i))return null;let c=vV(100-bV(t.windows).usedPercent);return(0,L.jsx)(L.Fragment,{children:(0,L.jsxs)(aV,{onOpenChange:e=>{e&&o()},children:[(0,L.jsx)(oV,{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)(_z,{backend:e,className:pV[e]}),(0,L.jsxs)(`span`,{className:`tabular-nums ${xV(c)}`,children:[c,`%`]})]})}),(0,L.jsxs)(cV,{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)(_z,{backend:e}),(0,L.jsx)(`span`,{children:s}),t?.planType&&(0,L.jsxs)(`span`,{className:`text-muted/70`,children:[`· `,SV(t.planType),` plan`]}),a&&(0,L.jsx)(jm,{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=vV(100-e.usedPercent),n=CV(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:xV(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 vV(e){return Math.max(0,Math.min(100,Math.round(e)))}var yV=25;function bV(e){return e.find(e=>e.key===`5h`)??e.reduce((e,t)=>t.usedPercent>e.usedPercent?t:e)}function xV(e){return e<=8?`text-red-400`:e<=yV?`text-accent`:`text-fg/70`}function SV(e){return e&&e[0].toUpperCase()+e.slice(1)}function CV(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 wV=`frizz:supervisor-status-wake`;function TV(e){return e!==null}function EV(e){return e?.updateRestart===!0&&e.updateAvailable!==!1}function DV(e){return e?.dev===!0}async function OV(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 kV(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 AV(e=fetch){return kV(`/_frizz/control/restart`,e)}function jV(e=fetch){return kV(`/_frizz/control/update-restart`,e)}var MV=8e3,NV=500,PV=[`supervisorStatus`];function FV(e,t){return e===`restarting`||t?NV:MV}var IV=rt({queryKey:PV,queryFn:()=>OV(),refetchInterval:e=>FV(e.state.data?.state,X.controlPlaneRestartPending),staleTime:e=>FV(e.state.data?.state,X.controlPlaneRestartPending)});function LV(){return nt(IV)}var RV=null;function zV(e){RV||(RV=e,window.addEventListener(wV,()=>{e.refetchQueries({queryKey:PV,exact:!0})}))}var BV=`Install the latest version of Frizz. Your running threads will not be affected.`,VV=`A newer version of Frizz is available. Your running threads will not be affected.`,HV=`Restart Frizz. Your running threads will not be affected.`,UV=`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)]`,WV=`absolute -top-[7px] left-4 h-3 w-3 rotate-45 border-l border-t bg-elevated`,GV=`sm:w-[min(23rem,calc(100vw-1.5rem))]`,KV=`sm:w-[min(34rem,calc(100vw-1.5rem))]`,qV=`rounded-xl bg-elevated p-3.5 shadow-xl shadow-black/45`;function JV({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:`${UV} ${GV} ${qV} border border-border-strong`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${WV} 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)(Wm,{"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?VV:BV:HV})]})}var YV=`Frizz kept running the previous version, and your threads are unaffected.`;function XV({update:e,message:t,onDismiss:n}){return(0,L.jsxs)(`div`,{role:`alert`,className:`${UV} ${KV} ${qV} border border-red-500/45`,children:[(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`${WV} 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)(nh,{"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:n,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)(ih,{"aria-hidden":`true`,size:14,strokeWidth:2.25})})]}),(0,L.jsx)(`p`,{className:`relative mt-2.5 text-[12px] leading-relaxed text-muted`,children:YV}),(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 ZV({update:e,busy:t,updateVersion:n,onFocus:r,onBlur:i,onClick:a}){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 ${pz}`,onFocus:r,onBlur:i,onClick:a,children:[(0,L.jsx)(Wm,{size:14,"aria-hidden":`true`,className:t?`animate-spin`:void 0}),e&&!t&&n&&(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-[2px] top-[2px] h-[4px] w-[4px] rounded-full bg-accent`})]})}function QV(){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)(!1),u=(0,I.useRef)(null),d=LV().data??null,f=EV(d),p={version:d?.version,updateVersion:d?.updateVersion};if(!TV(d))return null;let m=l.current&&e.controlPlaneState===`failed`?e.controlPlaneMessage??`Frizz did not become ready`:void 0,h=a??m,g=h&&h!==s?h:void 0,_=async()=>{if(r)return;l.current=!0,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.controlPlaneRestartPending=!0);try{f?await jV():await AV(),f?(sessionStorage.setItem(`frizz:reload-after-update-restart`,e),window.dispatchEvent(new Event(wV)),i(!1)):window.location.replace(e)}catch(e){f&&(X.controlPlaneRestartPending=!1,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)(ZV,{update:f,busy:r,updateVersion:p.updateVersion,onFocus:()=>n(!0),onBlur:()=>n(!1),onClick:()=>void _()}),g&&(0,L.jsx)(XV,{update:f,message:g,onDismiss:()=>c(g)}),(0,L.jsx)(JV,{open:t&&!g,update:f,version:p.version,updateVersion:p.updateVersion})]})}function $V(){return(0,L.jsx)(`span`,{"aria-hidden":`true`,className:`h-3 w-px shrink-0 bg-border`})}function eH({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 tH(){let e=OC(),t=AU(e),n=mV(),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)(db,{to:`/`,title:`All projects`,"aria-label":`All projects`,className:`${pz} -ml-px`,children:(0,L.jsx)(Tm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)($V,{}),(0,L.jsx)(`button`,{type:`button`,"aria-label":`Settings`,title:`Settings`,className:pz,onClick:()=>X.showSettings=!0,children:(0,L.jsx)(Jm,{size:14,"aria-hidden":`true`})}),(0,L.jsx)(QV,{}),n&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)($V,{}),(0,L.jsx)(gV,{})]}),(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)(eH,{text:i})}):i?(0,L.jsx)(eH,{text:i,title:i,className:`font-semibold text-fg/90`}):(0,L.jsx)(`span`,{className:`identity-placeholder w-24`,"aria-hidden":`true`})})]})}var nH=qt({at:{}}),rH=12e3,iH=new Map;function aH(e,t=Date.now()){nH.at[e]=t;let n=iH.get(e);n!==void 0&&clearTimeout(n),iH.set(e,setTimeout(()=>{iH.delete(e),delete nH.at[e]},rH))}function oH(e){let t=iH.get(e);t!==void 0&&(clearTimeout(t),iH.delete(e)),delete nH.at[e]}function sH(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 cH(){return Zt(nH).at}function lH(e,t,n=Date.now()){return t===void 0||!sH(e,t,n)?e:{...e,runtime:`running`,needsYou:!1,pendingAsk:void 0,pendingQuestion:!1,actionableInteraction:!1,lastUserAt:new Date(t).toISOString()}}function uH(e){let t=cH();return(0,I.useMemo)(()=>e.map(e=>lH(e,t[e.id])),[e,t])}var dH=0;function fH(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():(dH+=1,`browser-${Date.now()}-${dH}`)}function pH({optimistic:e,request:t,success:n,failure:r}){e(),t().then(()=>n?.(),e=>r(e instanceof Error?e:Error(String(e))))}var mH=new Map;function hH(e,t){let n=(mH.get(e)??Promise.resolve()).then(t,t);return mH.set(e,n.then(()=>{},()=>{})),n}var gH=[300,800,1800,3500],_H=e=>new Promise(t=>{setTimeout(t,e)});async function vH(e,t,n=_H){for(let r=0;;r++){try{await e()}catch(e){if(r>=gH.length||!cf(e))throw e;t(),await n(gH[r]);continue}t();return}}function yH(e,t,n,r,i){return vH(()=>Y.followUp({slug:e,sessionId:Ep(X.board,e)?.sessionId??``,message:t,deliveryId:n,freshProcess:r,interrupt:i}),()=>aH(e))}function bH(e,t,n,r={}){let i=n.trim();if(!i)return!1;let a=fH();return pH({optimistic:()=>{r.onOptimistic?.(),KC(e,t,i,{scrollToBottom:r.scrollToBottom,deliveryId:a}),aH(t),Y.markRead({slug:t}).catch(()=>{})},request:()=>hH(t,()=>yH(t,i,a,r.freshProcess,r.interrupt)),success:()=>r.onSuccess?.(),failure:n=>{qC(e,t,i,a),oH(t),r.onRollback?.(),Z(r.failureToast?.(n.message)??`Steer failed — ${n.message.slice(0,90)}`)}}),!0}function xH(e){let t=Ve(),[n,r]=(0,I.useState)(0);return{submit:(0,I.useCallback)((n,i={})=>bH(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 SH(e,t){return new Promise(n=>{bH(e,t,`Continue exactly where you left off.`,{onSuccess:()=>{Z(`Retrying…`),n()},onRollback:()=>n(),failureToast:e=>`Retry failed: ${e.slice(0,80)}`})||n()})}function CH(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 wH=`Waiting for an external update.`;function TH(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:CH(n)}])})}function EH(e){let t=(e.body??``).split(/\n\s*\n/).map(e=>e.trim()).find(Boolean);return t?kH(DH(t.replace(/\s*\n\s*/g,` `))):null}function DH(e){if(e.length<=OH)return e;let t=e.slice(0,OH),n=t.lastIndexOf(` `);return`${(n>OH/2?t.slice(0,n):t).replace(/[.,;:]$/,``)}…`}var OH=240;function kH(e){let t=(e.split(/\s/,1)[0]??``).replace(/[.,:;]+$/,``);return/[^a-zA-Z]/.test(t)||/[A-Z]/.test(t.slice(1))||AH.has(t)?e:e.charAt(0).toUpperCase()+e.slice(1)}var AH=new Set([`npm`,`npx`,`pnpm`,`nub`,`nubx`,`gh`,`git`,`node`,`bun`,`tsc`,`vite`,`curl`,`ssh`]);function jH(e){return e&&NH(e)||null}var MH=new Set([...rl,`shells`,`agents`,`timers`,`prs`,`for`,`title`]);function NH(e){return e.split(`
|
|
200
200
|
`).filter(e=>{let t=/^\s*([a-z][a-z-]*):/i.exec(e)?.[1]?.toLowerCase();return!(t&&MH.has(t))}).join(`
|
|
201
201
|
`).trim()}function PH(e){let t=t=>e.filter(e=>e.kind===t&&e.value.trim()).length,n=[...TH(e).map(e=>e.ref),FH(t(`shell`),`background shell`,`background shells`),FH(t(`agent`),`sub-agent`,`sub-agents`),FH(t(`timer`),`timer`,`timers`)].filter(e=>e!==null);return n.length>0?`waiting on ${IH(n)}`:null}function FH(e,t,n){return e<=0?null:e===1?`a ${t}`:`${e} ${n}`}function IH(e){return e.length<=1?e.join(``):`${e.slice(0,-1).join(`, `)} and ${e[e.length-1]}`}function LH(e){let t=e.find(e=>e.kind===`pr`);return t?`PR ${t.value}`:null}var RH=qt({at:{}}),zH=12e3,BH=new Map;function VH(e,t=Date.now()){RH.at[e]=t;let n=BH.get(e);n!==void 0&&clearTimeout(n),BH.set(e,setTimeout(()=>{BH.delete(e),delete RH.at[e]},zH))}function HH(e){let t=BH.get(e);t!==void 0&&(clearTimeout(t),BH.delete(e)),delete RH.at[e]}function UH(){return Zt(RH).at}function WH(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 GH(e){let t=UH();return(0,I.useMemo)(()=>e.map(e=>WH(e,t[e.id])),[e,t])}var KH=.5;function qH(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*KH,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 JH(e,t,n,r){return!e||e.top<=r&&e.bottom>r?!0:Math.abs(t-n)>1}function YH(e,t,n,r,i=8){return n<e+i?n-e-i:r>t-i?r-t+i:0}var XH=`flex h-[19px] w-[19px] items-center justify-center rounded text-muted/70 outline-none transition-colors hover:bg-panel-2 hover:text-fg`,ZH=`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 QH(){let e=Zt(X),t=GH(uH(AC(OC()?.threads??[]))),n=BT(t,Zt(eT).queueOrder),r=_T(bT(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(JH(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=qH(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=YH(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:Hf(e)??window.scrollY},u(e)},[]);return(0,L.jsx)(`aside`,{className:ZH,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)(tH,{}),(0,L.jsx)(uz,{})]}),(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)(oU,{t:e,active:l===e.id,onQueueNavigate:p}),(0,L.jsx)(dU,{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}=zT(a),n=e=>t=>(0,L.jsxs)(`div`,{children:[(0,L.jsx)(oU,{t,active:l===t.id,onQueueNavigate:p,restedAge:e}),(0,L.jsx)(dU,{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)($H,{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)(oU,{t:e,active:l===e.id,onQueueNavigate:p}),(0,L.jsx)(dU,{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)($H,{label:`Done`,count:s.length,collapsed:i.inactive,onToggle:()=>X.sidebarCollapsed.inactive=!X.sidebarCollapsed.inactive}),!i.inactive&&(0,L.jsx)(nU,{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)($H,{label:`External`,count:r.length,collapsed:i.external,onToggle:()=>X.sidebarCollapsed.external=!X.sidebarCollapsed.external}),!i.external&&r.map(e=>(0,L.jsx)(oU,{t:e,active:l===e.id,onQueueNavigate:p,restedAge:!0},e.id))]})]})]})})}function $H({label:e,count:t,collapsed:n,onToggle:r}){let i=(0,L.jsxs)(L.Fragment,{children:[r?(0,L.jsx)(em,{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 eU=27,tU=8;function nU({threads:e,railRef:t,activeId:n,onQueueNavigate:r}){let i=(0,I.useRef)(null),[a,o]=(0,I.useState)(0),s=Aw({count:e.length,getScrollElement:()=>t.current,getItemKey:t=>e[t]?.id??t,estimateSize:()=>eU,overscan:tU,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)(oU,{t:i,active:n===i.id,onQueueNavigate:r}),(0,L.jsx)(dU,{t:i})]},i.id):null})})}var rU=16,iU=12;function aU({title:e,children:t}){let n=e.trimEnd(),r=n.lastIndexOf(` `)+1,i=n.length-r<=rU?r:n.length-iU;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 oU=(0,I.memo)(function({t:e,legacy:t,active:n=!1,onQueueNavigate:r,restedAge:i=!1}){let a=!t&&e.foreign===!0,o=!t&&DT(e),s=!t&&dT(e),c=!t&&FT(e),l=!t&&xT(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`:o?`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&&op(e.id)){r?.(e.id);return}tp(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)(gU,{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] ${s?`text-fg/50`:o?`text-fg/75`:`text-fg/90`}`,children:(0,L.jsxs)(aU,{title:iT(e),children:[!t&&(0,L.jsx)(_z,{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)(fU,{status:e.archived?`archived`:e.status})]})}),i&&(0,L.jsx)(sU,{t:e,yieldsToRetry:!0}),l&&!i&&(0,L.jsx)(lU,{})]})})]}),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)(EI,{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&&!l&&(0,L.jsx)(uU,{t:e,className:`-mr-0.5`}),(0,L.jsx)(Lj,{slug:e.id,size:12,className:XH}),c&&(0,L.jsx)(cU,{slug:e.id}),!a&&l&&(0,L.jsx)(uU,{t:e})]})]})});function sU({t:e,yieldsToRetry:t}){let n=aE(),r=hT(e),i=KT(r,n);return!r||!i?null:(0,L.jsx)(`time`,{dateTime:r,"data-rail-rested-age":!0,title:UT(r,n)??void 0,"aria-label":`Rested ${UT(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 cU({slug:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return(0,L.jsx)(Ij,{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),SH(t,e).finally(()=>r(!1))},className:`${XH} disabled:opacity-50`,children:n?(0,L.jsx)(jm,{size:13,className:`animate-spin`}):(0,L.jsx)(Km,{size:13})})})}function lU(){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/55 transition-opacity group-hover:opacity-0 group-focus-within:opacity-0`,children:(0,L.jsx)(Vm,{size:12,fill:`currentColor`})})}function uU({t:e,className:t=``}){let n=xT(e),[r,i]=(0,I.useState)(!1);return(0,L.jsx)(Ij,{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:`${XH} disabled:opacity-50 ${t}`,children:n?(0,L.jsx)(Bm,{size:12,fill:`currentColor`}):(0,L.jsx)(Vm,{size:12})})})}function dU({t:e}){let t=zE(e.subAgents??[],`rail`);return t.length===0?null:(0,L.jsx)(`div`,{className:`flex flex-col`,children:t.map(t=>(0,L.jsx)(HE,{kind:`AGENT`,label:t.label,state:t.state,density:`rail`,depth:t.depth,startedAt:t.startedAt,parentSlug:e.id,onOpen:()=>$f(e.id,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}),onDismiss:zj(e.id,t),title:t.subagentType?`[${t.subagentType}] ${t.label}`:t.label},t.id))})}function fU({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] ${rT[e]??`text-muted border-border`}`,children:t})}function pU(e,t){return[[t,PH(e.lastFence?.kind===`awaiting`?e.lastFence.hints:[])].filter(e=>!!e).join(` — `),mU(e)].filter(e=>!!e).join(`
|
|
202
202
|
|
|
@@ -305,15 +305,15 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
305
305
|
`)}`:`${eu}\n${t.map((e,t)=>`${t+1}. “${e.question}” → ${e.answer}`).join(`
|
|
306
306
|
`)}`}function dY(e,t,n,r={}){let i=xH(e),[a,o]=(0,I.useState)({}),s=(0,I.useMemo)(()=>cY(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)(()=>lY(t)!==-1,[t]),u=oz(),d=sz(e),f=(0,I.useCallback)((t,n)=>az.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=lz(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];rz.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)=>Lq(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)=>Lq(e.blocks[t],_(e.identity,t)),l=n.flatMap(e=>e.blocks.map((t,n)=>({ask:e,bi:n,question:pY(t),answer:c(e,n)})).filter(e=>e.answer!==``));if(l.length===0)return;let u=n.find(e=>e.isLive),d=uY({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,rz.get(e)]);C(d,{onOptimistic:()=>{r.forEach(e=>rz.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&&!rz.get(e)&&rz.set(e,t)})}})},[a,s,_,C,p,f]),T=(0,I.useCallback)(e=>{let t=v.get(iY(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)=>Lq(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 fY(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 pY(e){return fY(e.contextMd)||fY(e.options.join(` / `))||`earlier question`}function mY(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 hY({raw:e,question:t,questionKind:n,danger:r,interactive:i,wrap:a,aside:o,label:s,settled:c}){let l=(0,I.useMemo)(()=>t??Nq(e??``,n??`question`,r),[t,e,n,r]),u=uK(l.contextMd),d=uK(l.trailingMd??``),f=l.recommendedIdx,p=fK(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)(Xq,{tone:h?`risk`:`neutral`,icon:h?nh:void 0,label:s??(m?`Select multiple`:`Question`),aside:o,children:[u&&(0,L.jsx)(`div`,{className:`text-fg`,children:(0,L.jsx)(lq,{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||PL({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)(gY,{md:l.optionHeadings[t],wrap:a}),(0,L.jsx)(vY,{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}PL({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?`${_Y(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)(lq,{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)(lq,{className:`md-inline mt-1.5 text-[11px] text-muted/70`,html:p})]})}function gY({md:e,wrap:t}){let n=fK(e.split(`
|
|
308
|
-
`).join(` `));return(0,L.jsx)(`div`,{className:`mt-1 text-fg`,children:(0,L.jsx)(lq,{className:`md-body${t?` ${Hq}`:``}`,html:n})})}function _Y(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 vY({label:e,bodyMd:t,wrap:n,selected:r,settledPick:i,disabled:a,multi:o,recommended:s,recTitle:c,onClick:l}){let u=fK(e),d=uK(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)(Zp,{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)(lq,{as:`span`,className:`md-inline`,html:u})]}),t!==void 0&&(0,L.jsx)(lq,{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 yY({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)(ih,{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)(hY,{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 bY(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>e?xY(e)!==`codex`:!1,()=>!1)}function xY(e){return Ep(X.board,e)?.backend}function SY(e,t,n,r){let i=az.followUp(e,t,n),a=rz.get(i),o=a?`${r}\n\n${a}`:r;return rz.set(i,o),i}function CY(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 wY(e){let t=Ve(),n=oz(),[r,i]=(0,I.useState)(!1);return{unqueue:(0,I.useCallback)(a=>{if(!e||r)return;let o=Ep(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}qC(t,e,a.rawText,a.deliveryId),SY(n,e,o,a.text),CY(a.from)},e=>{i(!1),Z(`Couldn't unqueue — ${(e instanceof Error?e.message:String(e)).slice(0,90)}`)})},[r,n,t,e]),pending:r}}function TY(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>{if(!e)return!1;let t=Ep(X.board,e);return t?.backend!==`codex`&&t?.runtime===`running`},()=>!1)}function EY(e){let[t,n]=(0,I.useState)(!1);return{deliverNow:(0,I.useCallback)(()=>{if(!e||t)return;let r=Ep(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,90)}`)})},[t,e]),pending:t}}function DY(e){return e.displayText??e.text}function OY(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`user`&&!n.queued&&!n.peerFrom)return t}return-1}function kY(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.role!==`user`||n.queued||n.peerFrom)&&!(n.wake&&!dJ(n)))return t}return 0}function AY(e,t){if(e.kind===`event`||e.kind===`reasoning`||e.role!==`user`)return!1;let n=DY(e).replace(/\r\n?/g,`
|
|
308
|
+
`).join(` `));return(0,L.jsx)(`div`,{className:`mt-1 text-fg`,children:(0,L.jsx)(lq,{className:`md-body${t?` ${Hq}`:``}`,html:n})})}function _Y(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 vY({label:e,bodyMd:t,wrap:n,selected:r,settledPick:i,disabled:a,multi:o,recommended:s,recTitle:c,onClick:l}){let u=fK(e),d=uK(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)(Zp,{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)(lq,{as:`span`,className:`md-inline`,html:u})]}),t!==void 0&&(0,L.jsx)(lq,{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 yY({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)(ih,{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)(hY,{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 bY(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>e?xY(e)!==`codex`:!1,()=>!1)}function xY(e){return Ep(X.board,e)?.backend}function SY(e,t,n,r){let i=az.followUp(e,t,n),a=rz.get(i),o=a?`${r}\n\n${a}`:r;return rz.set(i,o),i}function CY(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 wY(e){let t=Ve(),n=oz(),[r,i]=(0,I.useState)(!1);return{unqueue:(0,I.useCallback)(a=>{if(!e||r)return;let o=Ep(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}qC(t,e,a.rawText,a.deliveryId),SY(n,e,o,a.text),CY(a.from)},e=>{i(!1),Z(`Couldn't unqueue — ${(e instanceof Error?e.message:String(e)).slice(0,90)}`)})},[r,n,t,e]),pending:r}}function TY(e){return(0,I.useSyncExternalStore)(e=>Jt(X,e),()=>{if(!e)return!1;let t=Ep(X.board,e);return t?.backend!==`codex`&&t?.runtime===`running`},()=>!1)}function EY(e){let[t,n]=(0,I.useState)(!1);return{deliverNow:(0,I.useCallback)(()=>{if(!e||t)return;let r=Ep(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,90)}`)})},[t,e]),pending:t}}function DY(e){return e.displayText??e.text}function OY(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 kY(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&&!dJ(n)))return t}return 0}function AY(e,t){if(e.kind===`event`||e.kind===`reasoning`||e.role!==`user`)return!1;let n=DY(e).replace(/\r\n?/g,`
|
|
309
309
|
`);return(t===void 0?lJ(n):t)?!0:!(e.wake||e.peerFrom)}function jY(e,t){return AY(e,t)?`bubble`:`prose`}var MY=`icon-label-nudge`,NY=new Set([`planning`,`planned`,`active`,`needs-human`,`blocked`]);function PY(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&&NY.has(e.status))}function FY(e,t){let n=e.trim();if(!(!n||n===t.trim()))return n}function IY(e,t){let n=e.trim();return!n||n===t||n===`Untitled thread`||n===`Spinning up a thread…`?``:n}function LY(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 RY=`sticky top-0 z-10 flex min-w-0 shrink-0 items-center gap-2.5 border-b border-border bg-panel px-3 ${ah} 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`,zY=`min-w-0 flex-1 pl-1 max-[640px]:basis-full`,BY=`flex shrink-0 items-center max-[640px]:w-full max-[640px]:justify-between`;function VY(e){return e?.trim()?{kind:`profile-error`,message:`Profile controls unavailable: ${e.trim().slice(0,160)}`}:null}function HY(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 UY(e){return e.permissionChangePending===!0||e.permissionPending!==void 0||e.profileChangePending===!0||e.runtimeControlPending===!0}function WY(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 GY(e){return e===`right`?`pl-3 pr-7`:`pl-7 pr-3`}function KY(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 qY=`__frizz_empty_select_value__`,JY=e=>e===``?qY:e,YY=e=>e===qY?``:e,XY={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`},ZY={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 QY({o:e,indicatorPosition:t,typography:n}){return(0,L.jsxs)(vI,{value:JY(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 ${GY(t)} ${n??``}`,children:[(0,L.jsx)(yI,{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)(Zp,{size:13})}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:e.label})]})}function $Y({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=KY(e,n,r,i),p=s?ZY[c]:XY[c],m=c===`readout`?$L:``,[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)(uI,{modal:!1,open:h,onOpenChange:e=>{y.current?.(),y.current=void 0,_.current=e,g(e),e&&(y.current=_R(()=>{_.current=!1,y.current=void 0,g(!1)}))},children:[(0,L.jsx)(dI,{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)(Qp,{className:`select-caret shrink-0 text-muted ${s?``:`transition-transform group-data-[state=open]:rotate-180`}`,size:13})]})}),(0,L.jsx)(fI,{children:(0,L.jsx)(pI,{align:`start`,side:u,sideOffset:5,onEscapeKeyDown:e=>e.stopPropagation(),className:`${Mj} min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[calc(100vw-1rem)] overflow-hidden rounded-lg p-1 ${m}`,children:(0,L.jsx)(_I,{value:JY(e),onValueChange:e=>t(YY(e)),className:`max-h-[300px] min-w-0 overflow-y-auto`,children:r?r.map((e,t)=>(0,L.jsxs)(mI,{children:[e.label&&(0,L.jsx)(hI,{className:`${GY(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)(QY,{o:e,indicatorPosition:l,typography:m},e.value))]},e.label||`g${t}`)):(n??[]).map(e=>(0,L.jsx)(QY,{o:e,indicatorPosition:l,typography:m},e.value))})})})]})}function eX(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 tX(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||UY(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}=eX(p,s,c,t.runtime===`exited`),h=n.data!==void 0,g=[{id:l,label:l===`codex`?`Codex`:`Claude Code`,options:p}],_=VY(n.isError?n.error.message:void 0),v=t.permissionMode?FR(t.permissionMode):`auto`,y=NR.some(e=>e.value===v)?v:`auto`,b=i.isPending?i.variables:y,x=HY(t);function S(e){e!==y&&i.mutate(e,{onSuccess:e=>Z(WY(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)(xR,{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)($Y,{variant:`readout`,side:`top`,value:b,onValueChange:e=>S(e),options:NR,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 nX=new Map;function rX(e){let t=nX.get(e);if(t)return t;let n=Y.threadSkills({slug:e}).then(e=>e.skills,()=>(nX.delete(e),[]));return nX.set(e,n),n}function iX({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=oz(),u=az.followUp(l,e,c?.sessionId),[d,f,p]=cz(u),m=tX(e),h=xH(e),[g,_]=(0,I.useState)(null),v=(0,I.useMemo)(()=>()=>rX(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}=pL(d),r=t.filter(e=>yL(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=ER(n);if(r){p();let e=c?.backend===`codex`?`codex`:`claude`;r===`login`?_(e):b(e);return}let i=hp(e),a=OL(n,i,l),s={onOptimistic:p,onRollback:()=>{rz.get(u)||f(d),gp(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)(JL,{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)(OR,{backend:g,onClose:()=>_(null),onAuthed:()=>_(null)}),y&&(0,L.jsx)(kR,{backend:y,onClose:()=>b(null)})]})}function aX({slug:e,ops:t}){let n=Zt(X).board?.threads.find(t=>t.id===e);return n?(0,L.jsx)(iX,{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 oX({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)(Ij,{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:$E,children:(0,L.jsx)(Hm,{size:14,strokeWidth:2})})})}function sX(e,t){return new Promise(n=>{bH(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 cX(){return DV(LV().data??null)}function lX({thread:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return!cX()||e.kind!==`session`||e.foreign||e.backend===`codex`||e.runtime===`exited`?null:(0,L.jsx)(Ij,{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),sX(t,e.id).finally(()=>r(!1))},className:`${$E} mx-[2px]`,children:n?(0,L.jsx)(jm,{size:14,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(Wm,{size:14,strokeWidth:2})})})}function uX({slug:e,label:t=`Exit fullscreen`}){let n=QE(e)??XC(`/`);function r(e){Fd(e)&&(e.preventDefault(),tw(n,{viewTransition:!jp()}))}return(0,L.jsx)(Ij,{label:t,children:(0,L.jsx)(`a`,{href:n,"aria-label":t,"data-standalone-return":!0,onMouseDown:e=>e.preventDefault(),onClick:r,className:$E,children:(0,L.jsx)(Im,{size:14})})})}function dX({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)(pX,{label:o?`Expand`:`Collapse`,icon:o?nm:tm,size:13,onClick:a}),(0,L.jsx)(oX,{thread:e}),(0,L.jsx)(lX,{thread:e}),r&&(0,L.jsx)(pX,{label:`Frizz document`,icon:hm,size:14,onClick:r}),t&&(0,L.jsx)(Lj,{slug:e.id}),n&&(0,L.jsx)(uX,{slug:e.id}),d?FT(e)?(0,L.jsx)(fX,{slug:e.id}):null:(0,L.jsx)(`div`,{className:`ml-1`,children:(0,L.jsx)(EI,{slug:e.id,onDone:i,doneBusy:s,onMutateStart:c,onApplied:l,onFailed:u})})]})}function fX({slug:e}){let t=Ve(),[n,r]=(0,I.useState)(!1);return(0,L.jsx)(Ij,{label:`Retry — resume this session where it left off`,children:(0,L.jsxs)(`button`,{onClick:()=>{r(!0),SH(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)(jm,{size:12,className:`animate-spin`}):(0,L.jsx)(Km,{size:12}),`Retry`]})})}function pX({label:e,icon:t,size:n,busy:r,...i}){return(0,L.jsx)(Ij,{label:e,children:(0,L.jsx)(`button`,{...i,"aria-label":e,onMouseDown:e=>e.preventDefault(),className:$E,children:r?(0,L.jsx)(jm,{size:n,strokeWidth:2,className:`animate-spin`}):(0,L.jsx)(t,{size:n,strokeWidth:2})})})}function mX(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 hX(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 gX(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=[_X(`agent`,`sub-agent`,e.subAgents,e.subAgentCount),_X(`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 _X(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 vX({open:e,onOpenChange:t,title:n,children:r,footer:i,className:a=`w-[640px] max-w-[92vw] max-h-[82vh]`}){return(0,L.jsx)(MI,{open:e,onOpenChange:t,children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`overlay-in fixed inset-0 z-[200] bg-black/55 backdrop-blur-[1px]`}),(0,L.jsxs)(WI,{"aria-modal":`true`,onEscapeKeyDown:yR,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)(YI,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:n}),(0,L.jsx)($I,{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)(ih,{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 yX({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=ET(e),g=Zt(eT).snoozePreset,_=Iw(g),v=Rw(g),y=(0,I.useMemo)(()=>Vw(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`} · ${Uw(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){eT.snoozePreset=e,b(zw(e))}function S(){s(Vw(new Date(h??zw(g)))),l(e.snoozePrompt??``),d(``),a(!0)}function C(){let e=Hw(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 · ${Uw(h)}`:v,onClick:()=>void b(h?null:zw(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)(jm,{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)(xI,{children:[(0,L.jsx)(SI,{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)(Qp,{size:12})})}),(0,L.jsxs)(CI,{align:`end`,children:[Nw.map(e=>(0,L.jsx)(wI,{onSelect:()=>x(e.value),icon:(0,L.jsx)(um,{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)(TI,{}),(0,L.jsx)(wI,{onSelect:S,children:`Custom time & prompt…`}),h&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(TI,{}),(0,L.jsx)(wI,{onSelect:()=>void b(null),children:`Wake now`})]})]})]})]}),(0,L.jsx)(vX,{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)(jm,{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=>{PL({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 bX=1.25,xX=7.5-bX/2,SX=2*Math.PI*xX;function CX(e,t){return Math.max(0,Math.min(100,Math.floor(e/t*100)))}function wX({thread:e}){let t=e.context;if(!t||t.window<=0)return null;let n=CX(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)(Ij,{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:xX,fill:`none`,stroke:`currentColor`,strokeOpacity:.3,strokeWidth:bX}),(0,L.jsx)(`circle`,{cx:`8`,cy:`8`,r:xX,fill:`none`,stroke:`currentColor`,strokeWidth:bX,strokeDasharray:`${SX*r} ${SX}`})]})})})}var TX={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 EX({checked:e,onChange:t,disabled:n,label:r,size:i=`sm`,testId:a}){let o=TX[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 DX({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 OX({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),kX)}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)(aV,{open:t!==`closed`,onOpenChange:e=>{e||(clearTimeout(i.current),n(`closed`))},children:[(0,L.jsx)(sV,{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 ${zL}`,children:(0,L.jsx)(DX,{size:12,className:o?`text-amber-400/90`:`text-muted/60 hover:text-muted`})})}),t===`preview`?(0,L.jsx)(cV,{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)(AX,{armed:a})}):(0,L.jsx)(cV,{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)(BX,{thread:e,armed:a,close:()=>n(`closed`)})})]})}var kX=260;function AX({armed:e}){let t=e?.prompt?.trim(),n=e?zX({stopHook:e.stopHook===!0,heartbeat:e.heartbeat===!0,postCompaction:e.postCompaction===!0,seconds:e.intervalSeconds??NX}):[];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 jX=1,MX=1440,NX=600;function PX(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(MX,Math.max(jX,n))*60:t}var FX=null;function IX(e){return{prompt:e.text.trim(),stopHook:e.stopHook,heartbeat:e.heartbeat,postCompaction:e.postCompaction,seconds:e.seconds}}function LX(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 RX(e,t){return!e.archived&&!t}function zX(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 BX({thread:e,armed:t,close:n}){let r=RX(e,t)?_l:``,i=FX?.slug===e.id?FX.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??NX),h=s||l||d,[g,_]=(0,I.useState)(String(Math.round((i?.seconds??t?.intervalSeconds??NX)/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??NX}),b=e=>({text:a,stopHook:s,heartbeat:l,postCompaction:d,seconds:PX(g,p),...e}),x=(0,I.useRef)(b());x.current=b(),(0,I.useEffect)(()=>()=>{let n=x.current;if(LX(n,y.current)){FX?.slug===e.id&&(FX=null);return}if(n.text.trim()===``&&!t){FX={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?FX?.slug===e.id&&(FX=null):FX={slug:e.id,draft:t},n});return S.current=n,n}async function w(t){let n=t.text.trim()||null;if(LX(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={...IX(t),prompt:n??``};let r=zX(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(LX(b(),y.current)||a.trim()===``&&!t){n();return}C(b()).then(e=>{e&&n()})}function E(){let e=PX(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 ${SE(O.at)}`:`Last sent ${O.how} ${SE(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=>{PL({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)(EX,{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)(EX,{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:jX,max:MX,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)(EX,{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 VX({thread:e,sticky:t=!1,safeArea:n=!1,onArchived:r,onDismissCancel:i,onSnoozed:a}){let o=mX(e);return o.footer?(0,L.jsxs)(`footer`,{"aria-label":`Thread lifecycle actions`,"data-thread-lifecycle-footer":!0,className:`${t?`z-20`:Gq} flex min-h-10 shrink-0 flex-wrap items-center justify-end ${LL} 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 ${LL}`,children:[(0,L.jsx)(wX,{thread:e}),(0,L.jsx)(UX,{thread:e}),(0,L.jsx)(OX,{thread:e})]}),o.done?(0,L.jsx)(HX,{}):(0,L.jsxs)(L.Fragment,{children:[o.snooze&&(0,L.jsx)(yX,{thread:e,onSnoozed:a}),(0,L.jsx)(WX,{thread:e,onArchived:r,onDismissCancel:i})]})]}):null}function HX(){let e=`Marked done — send a message to reopen it`;return(0,L.jsx)(Ij,{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)(Zp,{size:12}),`Done`]})})}function UX({thread:e}){let t=ET(e);if(!t)return null;let n=e.snoozePrompt?.trim(),r=n?`Bumps ${Uw(t)}\n${n}`:`Snoozed until ${Uw(t)}`;return(0,L.jsx)(Ij,{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 ${RL}`,children:(0,L.jsx)(wm,{size:12})})})}function WX({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||hX(e))&&VH(e.id),Y.completeThread({slug:e.id,sessionId:e.sessionId??``,terminateLive:r}).then(r=>{if(r.needsConfirmation){HH(e.id),i&&n?.(),u(r.hold),c(!0),o(!1);return}c(!1),Z(`Done`),i||t?.()}).catch(t=>{HH(e.id),i&&n?.(),Z(`Couldn’t finish: ${t.message.slice(0,80)}`),o(!1)})},f=!!t&&!!n&&hX(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)(Zp,{size:12,className:i}),`Mark as done`]}),(0,L.jsx)(vX,{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)(jm,{size:12,className:`animate-spin`}),l?.cutOff?`Mark done anyway`:`End session & mark done`]})]}),children:(0,L.jsx)(GX,{hold:l})})]})}function GX({hold:e}){let t=gX(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:wE,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 KX({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=LY(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)(Ij,{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)(jm,{size:12,className:`animate-spin`}):(0,L.jsx)(qm,{size:12})})})}var qX=new Set([`low`,`medium`,`high`,`xhigh`,`max`,`ultra`]);function JX(e,t){let n=e.lastIndexOf(t);if(n<=0)return{model:e};let r=e.slice(n+1);return qX.has(r)?{model:e.slice(0,n),effort:r}:{model:e}}function YX(e){let t=e?.trim();if(!t)return`Profile unknown`;if(t.startsWith(`frizz:`)){let{model:e,effort:n}=JX(t.slice(6).replace(/^frizz-/,``),`-`);return n?`${e} › ${n}`:e}let n=t.split(/\s+/),{model:r,effort:i}=JX(n.at(-1)??t,`/`);if(!i)return t;let a=n.slice(0,-1).join(` `);return`${a?`${a} · `:``}${r} › ${i}`}function XX(e){return e?.trim()?YX(e):void 0}function ZX(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 QX={completed:`finished`,killed:`stopped`,failed:`failed`};function $X(e){let t=QX[e.agentStatus??`completed`],n=e.agentElapsedMs===void 0?void 0:yE(e.agentElapsedMs);return{outcome:t,tail:`${t}${n?` · ${n}`:``}`}}var eZ=e=>e===void 0?void 0:mE(e),tZ=e=>{if(e!==void 0)return yE(e)||void 0};function nZ(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=eZ(n);return{label:t===`completed`?void 0:QX[t],duration:tZ(n),tone:r?`failed`:`muted`,title:`${e?`Stopped`:r?`Failed`:`Ran for`}${e||r?` after`:``} ${i??`an unknown time`}`}}if(r){let e=eZ(i);return{label:void 0,duration:tZ(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=eZ(o);return{label:c?QX.killed:s?QX.failed:void 0,duration:tZ(o),tone:s?`failed`:`muted`,title:`${c?`Stopped after`:s?`Failed after`:`Ran for`} ${l??`an unknown time`}`}}function rZ({at:e,host:t}){let n=qT(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 iZ({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)(rZ,{at:e,host:t})]})}var aZ=`text-[14px] leading-5 text-muted`,oZ=`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 sZ(e){return`${oZ} ${e?`-mx-[0.208em] rotate-90`:`-mx-[0.333em]`}`}var $=I.createElement;function cZ({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,$(lZ,{label:`Redacted command preview`,text:e.command.preview}),e.command.actions?$(uZ,{actions:e.command.actions}):null,e.capabilities?$(fZ,{capabilities:e.capabilities}):null):e.kind===`file-approval`?$(I.Fragment,null,$(`div`,{className:`text-[12px] text-muted`},gZ(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?$(lZ,{label:`Plain-text diff preview`,text:e.diffPreview}):null,e.changes?$(dZ,{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?$(fZ,{capabilities:e.capabilities}):null)}function lZ({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 uZ({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`},hZ(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,$(lZ,{label:`${hZ(e.kind)} command detail`,text:e.commandPreview})))))}function dZ({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`},gZ(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?$(lZ,{label:`${gZ(e.operation)} plain-text diff`,text:e.diffPreview}):null))))}function fZ({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`},$(pZ,{capability:e})))))}function pZ({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?$(mZ,{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),$(mZ,{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`),$(mZ,{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`),$(mZ,{label:`Hosts`,values:e.hosts}))}function mZ({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 hZ(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 gZ(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 _Z(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 vZ={semantic:`approve`,label:`Approve once`,order:10,tone:`primary`,durable:!1,scope:`Applies only to this request.`},yZ={semantic:`approve`,label:`Approve for session`,order:20,tone:`primary`,durable:!0,scope:`Persists for later matching requests in this thread session.`},bZ={semantic:`approve`,label:`Grant for turn`,order:10,tone:`primary`,durable:!1,scope:`Applies to this turn only.`},xZ={semantic:`approve`,label:`Grant for session`,order:20,tone:`primary`,durable:!0,scope:`Persists until this thread session ends.`},SZ={semantic:`deny`,label:`Deny`,order:70,tone:`danger`,durable:!1,scope:`Rejects this request.`},CZ={semantic:`decline`,label:`Decline`,order:70,tone:`danger`,durable:!1,scope:`Declines this request.`},wZ={semantic:`cancel`,label:`Cancel request`,order:80,tone:`neutral`,durable:!1,scope:`Cancels this pending request.`};function TZ(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`?vZ:n===`acceptForSession`&&r===`approve`?yZ:(n===`decline`||n===`deny`)&&r===`deny`?SZ:n===`cancel`&&r===`cancel`?wZ:void 0;if(e.kind===`permission-approval`)return n===`grant-turn`&&r===`approve`?bZ:n===`grant-session`&&r===`approve`?xZ:(n===`deny`||n===`decline`)&&r===`deny`?SZ:n===`cancel`&&r===`cancel`?wZ: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`?CZ:n===`cancel`&&r===`cancel`?wZ: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 CZ;if(n===`cancel`&&r===`cancel`)return wZ}function EZ(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=TZ(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 DZ(e){switch(e){case`claude`:return`Claude`;case`codex`:return`Codex`;case`frizz`:return`Frizz`}}function OZ(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 kZ(e,t){let n=e.options.findIndex(e=>JSON.stringify(e.value)===JSON.stringify(t));return n<0?``:String(n)}function AZ(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?``:kZ(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 jZ(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 MZ(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 NZ(e,t){return JSON.stringify([e,t??null])}function PZ(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n.toString():null}catch{return null}}function FZ(e,t){let n=e.getAttribute(`href`);if(!n)return!1;let r=PZ(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 IZ(e=()=>location.href){return t=>{if(t.defaultPrevented||t.button!==0)return;let n=RZ(t);n&&FZ(n,e())}}function LZ(){let e=IZ();return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)}function RZ(e){let t=typeof e.composedPath==`function`?e.composedPath():[];for(let e of t)if(zZ(e))return e;let n=e.target?.closest?.(`a[href]`);return zZ(n)?n:null}function zZ(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 BZ(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 VZ(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)=>`${BZ(t)} ${e.label}`),recommendedIdx:null},...e?{optionFieldId:e.id}:{},optionValues:r.map(e=>e.value),...t?{notesFieldId:t.id}:{}}}function HZ(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=VZ(r,a);if(!e)return null;n.push(e)}else if(r.input===`text`||r.input===`multiline`){let e=VZ(void 0,r);if(!e)return null;n.push(e)}else return null}return n.length>0?n:null}function UZ(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)=>`${BZ(t)} ${e.label}${e.description?` — ${e.description}`:``}`),recommendedIdx:null},chosenIdxs:n,text:r}}function WZ(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 GZ(e){let t=e instanceof Error?e.message:`The request could not be updated.`;return t.length>240?`${t.slice(0,239)}…`:t}function KZ(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`frizz-response-${Date.now()}-${Math.random().toString(36).slice(2)}`}function qZ({thread:e,className:t=``,autoFocusFirst:n=!1}){let r=NC(e),i=FC(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:`${Uq} 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:GZ(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)(YZ,{record:e,autoFocus:n&&t===0},e.id))}):null}function JZ({record:e,questions:t,autoFocus:n}){let r=Ve(),i=(0,I.useRef)(null),a=(0,I.useRef)(new Map),o=oz(),s=_Z(e.delivery?.effect),c=(0,I.useMemo)(()=>EZ(e).find(e=>e.semantic===`answer`),[e]),l=lz(t.flatMap(t=>t.notesFieldId?[az.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(az.interaction(o,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.notesFieldId))??``:``})),p=WZ(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),Nb(r,t.interaction),r.invalidateQueries({queryKey:jb(e.owner.threadSlug,e.owner.sessionId)}),r.invalidateQueries({queryKey:Mb(e.owner.threadSlug,e.owner.sessionId,e.id)})},onError:t=>{Pb(r,e),h(GZ(t))}}),y=()=>{if(!c||!p||v.isPending||g||!s.actionsEnabled)return;h(void 0);let e=NZ(c.id,p),t=a.current.get(e)??KZ();a.current.set(e,t),v.mutate({decisionId:c.id,values:p,responseId:t})},b=(t,n)=>{t.notesFieldId&&rz.set(az.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)(hY,{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 YZ({record:e,autoFocus:t=!1}){let n=(0,I.useMemo)(()=>HZ(e),[e]);return n?(0,L.jsx)(JZ,{record:e,questions:n,autoFocus:t}):(0,L.jsx)(XZ,{record:e,autoFocus:t})}function XZ({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=oz(),l=o.filter(e=>!e.secret&&(e.input===`text`||e.input===`multiline`)).map(t=>az.interaction(c,e.owner.projectId,e.owner.threadSlug,e.owner.sessionId,e.owner.sessionEpoch,e.id,t.id)),u=lz(l),[d,f]=(0,I.useState)(()=>AZ(o)),p=(0,I.useMemo)(()=>{let t={...d};return o.forEach(n=>{if(!n.secret&&(n.input===`text`||n.input===`multiline`)){let r=az.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=_Z(e.delivery?.effect),D=(0,I.useMemo)(()=>EZ(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`&&rz.set(az.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(NZ(r.decision.id,r.values)),_(void 0),C(void 0),T(!1),x(!0),l.forEach(e=>rz.clear(e)),y(t.waitingForProvider?`Response sent. Waiting for the provider to acknowledge it…`:`Request completed.`),Nb(n,t.interaction),n.setQueryData(Mb(e.owner.threadSlug,e.owner.sessionId,e.id),{interaction:t.interaction}),n.invalidateQueries({queryKey:jb(e.owner.threadSlug,e.owner.sessionId),exact:!0}),t.waitingForProvider&&window.setTimeout(()=>{n.invalidateQueries({queryKey:jb(e.owner.threadSlug,e.owner.sessionId),exact:!0})},1e3)},onError:t=>{y(void 0),_(GZ(t)),Pb(n,e),Y.interactionGet({slug:e.owner.threadSlug,sessionId:e.owner.sessionId,interactionId:e.id}).then(({interaction:t})=>{Nb(n,t),n.setQueryData(Mb(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:jb(e.owner.threadSlug,e.owner.sessionId),exact:!0})),n.invalidateQueries({queryKey:jb(e.owner.threadSlug,e.owner.sessionId),exact:!0})}).catch(()=>{})}});function j(e){if(!e.requiresValues){h({});return}let t=MZ(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=NZ(e.id,n),i=a.current.get(r)??KZ();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 ${Uq} 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)(Ym,{"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||PL({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)(QZ,{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)(Om,{"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)(nh,{"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:ZZ(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}`))]}),!$Z.has(e.payload.kind)&&(0,L.jsx)(nQ,{record:e})]})})]})}function ZZ(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 QZ({record:e,instanceId:t,draft:n,setDraft:r,errors:i,autoFocus:a}){let o=e.payload,s=(e,t)=>r(jZ(n,e,t)),c;return c=o.kind===`command-approval`||o.kind===`file-approval`||o.kind===`permission-approval`?(0,L.jsx)(cZ,{payload:o}):o.kind===`mcp-elicitation-url`?(0,L.jsx)(tQ,{url:o.url}):(0,L.jsx)(rQ,{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)(eQ,{text:o.message}),(0,L.jsx)(`div`,{className:`message`in o&&o.message?`mt-3`:``,children:c})]})}var $Z=new Set([`command-approval`,`file-approval`,`permission-approval`]);function eQ({text:e}){return e.length>600||e.split(`
|
|
310
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 tQ({url:e}){let t=PZ(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)(pm,{"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 nQ({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:DZ(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:OZ(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 rQ({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)(iQ,{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 iQ({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 aQ(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 oQ(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:`${aQ(e)} ${t.label}${r?` — ${r}`:``}`,...i?{body:i}:{}}}var sQ=`root`;function cQ(e,t,n){return`${e}/${t}.${n}`}function lQ(e){let t=e.options??[],n=t.findIndex(e=>e.recommended),r=t.map((e,t)=>oQ(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 uQ(e,t){return!t||e.kind===`multi`?null:t.chosen}function dQ(e,t){let n=[],r=(e,i,a)=>{let{question:o,optionLabels:s}=lQ(e);n.push({path:i,spec:e,question:o,optionLabels:s,depth:a});let c=uQ(e,t.get(i));c!==null&&(e.options?.[c]?.followUps??[]).forEach((e,t)=>r(e,cQ(i,c,t),a+1))};return r(e,sQ,1),n}function fQ(e,t){return t?t.text.trim()?!0:e.kind===`multi`?(t.chosenSet??[]).length>0:t.chosen!==null:!1}function pQ(e,t){if(!fQ(e.spec,t.get(`root`)))return;let n=(r,i)=>{let a=t.get(i),o=(r.options??[]).map(e=>e.label),s=uQ(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,cQ(i,s,t)));return{questionId:e.id,question:r.question,chosen:c,...l?{text:l}:{},...u.length>0?{followUps:u}:{}}};return n(e.spec,sQ)}function mQ(e){let t=e instanceof Error?e.message:`The answer could not be sent.`;return t.length>240?`${t.slice(0,239)}…`:t}var hQ=(e,t)=>`${e}|${t}`;function gQ({thread:e,questions:t,inFlight:n=null,className:r=``}){let i=e?.id,a=t??e?.questions??[],o=oz(),[s,c]=(0,I.useState)(()=>new Map),[l,u]=(0,I.useState)(),d=(0,I.useContext)(j1),f=lz((0,I.useMemo)(()=>i?a.flatMap(e=>_Q(e).map(t=>az.question(o,i,e.id,t))):[],[o,i,a])),p=(e,t)=>{let n=s.get(hQ(e.id,t));return{chosen:n?.chosen??null,chosenSet:n?.chosenSet??[],text:(i?f.get(az.question(o,i,e.id,t)):void 0)??``}},m=e=>new Map(_Q(e).map(t=>[t,p(e,t)])),h=a.flatMap(e=>{let t=pQ(e,m(e));return t?[t]:[]}),g=it({mutationFn:async e=>Y.answerQuestions({slug:i,answers:e}),onSuccess:e=>{for(let t of e.answered){c(e=>{let n=new Map(e);for(let e of[...n.keys()])e.startsWith(`${t}|`)&&n.delete(e);return n});let e=a.find(e=>e.id===t);if(e&&i)for(let t of _Q(e))rz.set(az.question(o,i,e.id,t),``)}},onError:e=>{d?.cancel(),u(mQ(e))}}),_=it({mutationFn:async e=>Y.dismissQuestions({slug:i,ids:[e]}),onError:e=>u(mQ(e))});if(!i||a.length===0)return!i||!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 ${r}`,children:(0,L.jsx)(rY,{answers:n,queued:!0})});let v=()=>{h.length===0||g.isPending||(u(void 0),d?.dismiss(),g.mutate(h))};return(0,L.jsxs)(`section`,{"data-registered-questions":!0,"aria-label":`${a.length} question${a.length===1?``:`s`} waiting for an answer`,className:`flex min-w-0 flex-col gap-3 ${r}`,children:[a.map(e=>(0,L.jsx)(`article`,{"data-question-id":e.id,className:`flex min-w-0 flex-col gap-2`,children:(()=>{let t=dQ(e.spec,m(e)),n=t=>(0,L.jsx)(hY,{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:_.isPending,onClick:()=>_.mutate(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)(ih,{size:16})}):void 0,interactive:{answer:p(e,t.path),onChip:n=>{c(r=>{let i=new Map(r),a=hQ(e.id,t.path),o=i.get(a)??{chosen:null,chosenSet:[]};if(t.spec.kind===`multi`){let e=o.chosenSet.includes(n)?o.chosenSet.filter(e=>e!==n):[...o.chosenSet,n];i.set(a,{...o,chosenSet:e})}else i.set(a,{...o,chosen:o.chosen===n?null:n});return i})},onText:n=>{rz.set(az.question(o,i,e.id,t.path),n),t.spec.kind!==`multi`&&c(n=>{let r=hQ(e.id,t.path),i=n.get(r);return!i||i.chosen===null?n:new Map(n).set(r,{...i,chosen:null})})},onSubmit:v}},t.path),r=t.slice(1);return(0,L.jsxs)(L.Fragment,{children:[n(t[0]),r.length>0&&(0,L.jsx)(`div`,{className:`ml-3 flex flex-col gap-2 border-l border-border pl-3`,children:r.map(e=>(0,L.jsx)(`div`,{className:e.depth>2?`ml-3 border-l border-border pl-3`:void 0,children:n(e)},e.path))})]})})()},e.id)),l&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:l}),g.isPending&&(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:h.length===0||g.isPending,onClick:v,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 _Q(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,sQ),t}function vQ(e){return(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).length}function yQ(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:vQ(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 bQ(e){return(e.subAgents??[]).some(e=>Xc(e)&&e.state===`running`)}function xQ(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length}function SQ(e){return bQ(e)||xQ(e)>0}function CQ(e,t){return ul(t)??(wQ(e)?`Background shells running`:`Awaiting`)}function wQ(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length>0&&!bQ(e)&&vQ(e)===0&&TQ(e).length===0}function TQ(e){return(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`)}var EQ={id:``,subAgents:[],bgShells:[],watches:[]},DQ=[];function OQ(e,t){let n=new Set((e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).map(e=>e.target));return TH(t).filter(e=>!n.has(e.ref))}function kQ({watch:e}){return(0,I.useEffect)(()=>{e.url&&Df([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:`${eJ} text-[12px]`,children:e.ref}):(0,L.jsx)(`span`,{className:`text-[12px] text-muted`,children:e.ref})}var AQ={mergeable:`no conflicts`,blocked:`merge blocked`,conflicting:`has conflicts`,unknown:null};function jQ(e){return e.state!==`open`||e.merge===`blocked`&&e.checks!==`passing`&&e.checks!==`none`?null:AQ[e.merge]}var MQ=`shrink-0 self-baseline translate-y-[calc(0.5em_-_0.5cap)]`;function NQ({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 ${MQ}`})}function PQ(){return(0,L.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 16 16`,width:12,height:12,fill:`none`,stroke:`currentColor`,overflow:`visible`,className:MQ,style:{color:CE.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 FQ({status:e}){return e?e.state===`merged`?(0,L.jsx)(ym,{size:12,className:MQ,style:{color:CE.fgDone}}):e.state===`closed`?(0,L.jsx)(bm,{size:12,className:MQ,style:{color:CE.fgDanger}}):e.checks===`failing`?(0,L.jsx)(lm,{size:12,className:MQ,style:{color:CE.fgDanger}}):e.checks===`passing`?(0,L.jsx)(im,{size:12,className:MQ,style:{color:CE.fgSuccess}}):e.gated>0&&e.running===0?(0,L.jsx)(rm,{size:12,className:MQ,style:{color:CE.fgAttention}}):e.checks===`running`?(0,L.jsx)(PQ,{}):(0,L.jsx)(am,{size:12,className:`${MQ} text-muted/60`}):(0,L.jsx)(am,{size:12,className:`${MQ} text-muted/60`})}function IQ(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 LQ(e){if(!e)return`Checking…`;if(e.state===`merged`)return`Merged`;if(e.state===`closed`)return`Closed`;let t=IQ(e),n=jQ(e);return[t||`No checks`,n].filter(e=>e!==null).join(` · `)}var RQ=`group relative col-span-4 grid grid-cols-subgrid items-baseline rounded-sm text-[12px] leading-5`,zQ=`group relative col-span-4 flex items-baseline rounded-sm text-[12px] leading-5`,BQ=`ml-1.5 min-w-0 truncate font-medium text-fg/90`,VQ=`ml-3 min-w-0 truncate text-right text-muted/70`,HQ=`outline-none after:absolute after:inset-0 after:rounded-sm focus-visible:after:ring-1 focus-visible:after:ring-fg/60`;function UQ(){return(0,L.jsx)(em,{size:13,"aria-hidden":!0,className:`${MQ} ml-[3px] -mr-[4px] text-muted/35 transition-colors group-hover:text-muted/70`})}function WQ({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?`${BQ} flex-1`:BQ,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} ${HQ} 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} ${HQ} 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?zQ:RQ} ${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:VQ,children:n}),m?(0,L.jsx)(UQ,{}):(0,L.jsx)(`span`,{})]})}function GQ({watch:e}){let t=e.github,n=CH(e.target);return(0,I.useEffect)(()=>{n&&Df([e.target])},[n,e.target]),(0,L.jsx)(WQ,{testKind:`github`,testId:e.target,mark:(0,L.jsx)(FQ,{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:[LQ(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 KQ(e,t){return(e.bgShells??[]).find(e=>e.id===t||e.taskId===t||e.label===t)}function qQ(e){return(e.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`)}function JQ({watch:e,thread:t,slug:n,now:r}){let i=KQ(t,e.target);if(i)return(0,L.jsx)(YQ,{shell:i,slug:n,now:r,testId:e.target});let a=vE(e.createdAt,r);return(0,L.jsx)(WQ,{testKind:`shell`,testId:e.target,mark:(0,L.jsx)($m,{size:12,className:`${MQ} text-shell`}),name:e.target,title:e.target,status:a?`running · ${a}`:`running`})}function YQ({shell:e,slug:t,now:n,testId:r}){let i=vE(e.startedAt,n),a=e.id&&!e.outputUnavailable;return(0,L.jsx)(WQ,{testKind:`shell`,testId:r??e.id??e.label,mark:(0,L.jsx)($m,{size:12,className:`${MQ} text-shell`}),name:e.label,onOpen:a?()=>ep(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 XQ({watch:e,now:t}){let n=Date.parse(e.timer?.fireAt??``),r=Number.isFinite(n)?n>t?`fires in ${gE(n-t)}`:`firing…`:`armed`;return(0,L.jsx)(WQ,{testKind:`timer`,testId:e.target,mark:(0,L.jsx)(um,{size:12,className:`${MQ} 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 ZQ(e){return(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`)}function QQ({agent:e,slug:t,now:n}){let r=vE(e.startedAt,n),i=e.subagentType?.replace(/^frizz:/,``);return(0,L.jsx)(WQ,{testKind:`agent`,testId:e.id??e.label,mark:(0,L.jsx)(NQ,{tone:`border-accent`}),name:e.label,onOpen:e.id?()=>$f(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 $Q(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=KQ(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 e$(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=qQ(e).filter(t=>r(KQ(e,t.target)?.startedAt??t.createdAt));return{prs:i,shells:[...a,...$Q(e,t.hints??[],a)],agents:ZQ(e).filter(e=>r(e.startedAt)),timers:TQ(e).filter(e=>r(e.createdAt))}}function t$(e,t={}){let n=e$(e,t);return n.prs.length+n.shells.length+n.agents.length+n.timers.length>0}function n$(e,t,n={}){let{prs:r,shells:i,agents:a,timers:o}=e$(e,n);return[{head:`Sub-agents`,rows:a.map(n=>(0,L.jsx)(QQ,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(JQ,{watch:n,thread:e,slug:e.id,now:t},n.id))},{head:`Pull requests`,rows:r.map(e=>(0,L.jsx)(GQ,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(XQ,{watch:e,now:t},e.id))}].filter(e=>e.rows.length>0)}function r$({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)(em,{size:10,"aria-hidden":!0,className:`${MQ} ml-[5px] transition-transform ${e.collapsed?``:`rotate-90`}`})]}):(0,L.jsx)(`div`,{className:n,children:e.head})}function i$({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)(r$,{group:e,first:t===0}),!e.collapsed&&e.rows]},e.head))})]})}function a$(e){return e?.awaitingBackground===!0&&e.runtime===`turn-idle`&&e.bgSnoozed!==!0}var o$=`Hides card until new activity is detected`;function s$({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:o$,className:`disabled:opacity-45 ${tJ}`,children:[(0,L.jsx)(wm,{size:12,className:MY}),`Snooze`]}),(0,L.jsx)(`span`,{className:$q,children:o$})]})}function c$({thread:e,fence:t,onSnooze:n,onSnoozeFailed:r,notAfter:i}){let a=e??EQ,o=t??(e?.lastFence?.kind===`awaiting`?e.lastFence:void 0),s=o?.hints??DQ,c=bQ(a),l=jH(o?.body),u=uK(l??``),d=n$(a,aE(),{hints:s,notAfter:i}),f=OQ(a,s),p=i===void 0&&e!==void 0&&a$(e)&&mX(e).snooze;return(0,L.jsxs)(Xq,{"data-awaiting-background":!0,icon:wQ(a)?$m:wm,label:(0,L.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:CQ(a,s)}),aside:f.length===1?(0,L.jsx)(kQ,{watch:f[0]}):void 0,className:p?`pb-0`:``,children:[l?(0,L.jsx)(lq,{className:`md-body ${Hq}`,html:u}):d.length===0&&!SQ(a)?(0,L.jsx)(`p`,{className:Zq,children:wH}):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)(kQ,{watch:e},e.ref))}),d.length===0&&SQ(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 `,yQ(a,{watchers:!1}),` it dispatched. It returns to the queue on its own when the work comes back.`]}):(0,L.jsxs)(L.Fragment,{children:[yQ(a,{watchers:!1}),` `,xQ(a)===1?`is`:`are`,` still running. It resumes on its own when`,` `,xQ(a)===1?`it finishes`:`one of them finishes`,`.`]})}),(0,L.jsx)(i$,{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 ${Gq}`,children:(0,L.jsx)(s$,{thread:e,onSnooze:n,onSnoozeFailed:r})}):null]})}function l$(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 u$(e,t=Date.now()){return e!==void 0&&ET(e,t)!==void 0}function d$(){let[e,t]=(0,I.useState)(()=>Date.now());return(0,I.useEffect)(()=>{let e=setInterval(()=>t(Date.now()),1e3);return()=>clearInterval(e)},[]),e}function f$({thread:e}){let t=d$(),[n,r]=(0,I.useState)(!1),i=ET(e,t);if(!i)return null;let a=Date.parse(i),o=Uw(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)(Xq,{"data-snooze-card":!0,icon:wm,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:bE(a-t)}),(0,L.jsx)(`p`,{className:Zq,children:s?(0,L.jsxs)(L.Fragment,{children:[`Resumes `,o,` and sends: “`,qw(s),`”`]}):(0,L.jsxs)(L.Fragment,{children:[`Returns to the queue `,o,`.`]})}),e.foreign!==!0&&(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{type:`button`,"data-snooze-wake-now":!0,disabled:n,onClick:()=>void c(),className:`${tJ} disabled:cursor-not-allowed disabled:opacity-45`,children:`Wake now`})})]})}function p$({at:e,fallbackAt:t,className:n=``}){let r=aE(),i=VT(e,t),a=HT(i,r);return!a||!i?null:(0,L.jsx)(`time`,{dateTime:i,className:n,children:a})}var m$=1500;function h$(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},m$),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var g$=`Could not copy terminal command`,_$={attach:`Attach command copied`,resume:`Resume command copied`},v$={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},y$=e=>[`terminalCommand`,e];function b$(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 x$(e){let t=b$(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 SR(n),r}function S$(e){let t=it({mutationFn:()=>x$(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),Z(_$[t])},onError:t=>{e?.onError?.(),Z(t instanceof Error?`${g$}: ${t.message}`:g$,{duration:7e3})}})}function C$({slug:e}){let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null);r.current||=h$(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Ve(),a=S$(e);(0,I.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:y$(e),queryFn:()=>b$(e),staleTime:15e3})}function s(){let t=i.getQueryData(y$(e));if(t){SR(t.command).then(()=>{r.current?.begin(),Z(_$[t.mode])},()=>Z(g$,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(y$(e)),l=t?c?_$[c.mode]:`Terminal command copied`:c?v$[c.mode]:`Copy terminal command`;return(0,L.jsx)(Ij,{label:l,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:$E,children:t?(0,L.jsx)(Zp,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,L.jsx)($m,{size:14,strokeWidth:1.8})})})}function w$(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 T$(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 E$(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function D$(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??E$(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 O$(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 k$(e,t){let n=e.map(e=>e.message);return e.filter((e,r)=>!O$(n,r,t))}var A$=new Set([`agent`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]),j$=new Set([`poll process`,`wait`]);function M$(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function N$(e){return M$(e).toLowerCase()}function P$(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||e.backgroundState!==void 0&&!L$(e)||I$(e)||F$(e)||A$.has(N$(e.name))}function F$(e){return e.ask!==void 0&&e.ask.length>0&&e.status!==void 0&&e.status!==`pending`}function I$(e){return e.outputImage!==void 0||e.sentImages!==void 0&&e.sentImages.length>0}function L$(e){return e.backgroundState===`unknown`&&j$.has(N$(e.name))}function R$(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=>!P$(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!P$(e))?e.tools:null}function z$(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 B$(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return V$(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 V$(n.tools)}return null}function V$(e){let t=[];for(let n=e.length-1;n>=0&&!P$(e[n]);n--)t.unshift(e[n]);return t.length>0?t:null}function H$(e){if(e.role!==`assistant`||e.kind||e.queued)return null;let t=[],n=e=>{for(let n of e){if(P$(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 U$(e,t){return W$(e,new Set(t))}function W$(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 G$(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 K$(e){let t=[],n=null;return e.forEach((e,r)=>{if(z$(e))return;if(e.queued){t.push({message:e,messageIndex:r});return}let i=R$(e);if(i&&n){n.message=G$(n.message,i,e.at);return}let a=n?H$(e):null,o=a?U$(e,a):e;a&&n&&(n.message=G$(n.message,a,e.at));let s={message:o,messageIndex:r};t.push(s),B$(o)?(s.runStartedAt=o.at,n=s):n=null}),t}function q$(e){return e.status===`completed`||e.status===`failed`||e.status===`cancelled`}function J$(e){let t=Y$(e);return t?.tools.some(e=>!q$(e))?t.tools.at(-1):void 0}function Y$(e){let t=X$(e);if(!t)return;let n=B$(t.message);return n?{tools:n,at:t.message.at}:void 0}function X$(e){for(let t=e.length-1;t>=0;t--)if(!e[t].message.queued)return e[t]}function Z$(e){let t=X$(e);if(t)return B$(t.message)?t.runStartedAt??t.message.at:t.message.at}function Q$(e){return e.runStartedAt??e.message.at}function $$(e){let t=B$(e);return t?W$(e,new Set(t)):e}function e1(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){B$(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?$$(r.message):r.message;z$(e)||n.push(e===r.message?r:{...r,message:e})}return n}function t1(e){return e.detail?.trim()||void 0}var n1={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 r1(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=n1[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function i1(e,t){let n=t?.trim().replace(/\/+$/,``);if(!n||n===`/`||!n.startsWith(`/`))return e;let r=e.replaceAll(`${n}/`,``),i=/^(\/(?:Users|home)\/[^/]+)(?:\/|$)/.exec(n)?.[1];return i?r.replaceAll(`${i}/`,`~/`):r}function a1(e,t){return i1(o1(e),t)}function o1(e){let t=N$(e.name),n=t1(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?r1(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 ${M$(e.name)||`a tool`}`}var s1=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function c1(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[]))e.file.trim()&&t.add(e.file.trim());if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&s1.has(N$(n.name))&&t.add(e)}return t.size}function l1(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function u1(e){return e>0?`${l1(e)}. Thinking…`:`Thinking…`}function d1(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function f1(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function p1(e,t){let n=d1(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function m1({directive:e,icon:t,title:n,meta:r,children:i}){return(0,L.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${Uq} 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 h1({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 g1({directive:e}){let t=e.attrs,n=d1(t,`display_name`)??d1(t,`skill_name`)??`Artifact template`,r=d1(t,`artifact_kind`),i=d1(t,`skill_name`),a=d1(t,`skill_directory`),[o,s]=(0,I.useState)(!!a);return(0,L.jsxs)(m1,{directive:e,icon:(0,L.jsx)(km,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,L.jsx)(h1,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,L.jsx)(`img`,{src:AS(`${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 _1({directive:e}){let t=e.attrs,n=d1(t,`file`),r=f1(t,`start`),i=f1(t,`end`)??r,a=f1(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,L.jsxs)(m1,{directive:e,icon:(0,L.jsx)(Pm,{size:15}),title:d1(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[d1(t,`body`)&&(0,L.jsx)(h1,{children:d1(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)(h1,{mono:!0,children:o})]})}var v1={"git-stage":[Rm,`Changes staged`],"git-commit":[vm,`Commit created`],"git-create-branch":[_m,`Branch created`],"git-push":[rh,`Branch pushed`],"git-create-pr":[Sm,`Pull request created`]};function y1({directive:e}){let[t,n]=v1[e.name],r=d1(e.attrs,`branch`),i=p1(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,L.jsx)(m1,{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 b1({directive:e}){let t=d1(e.attrs,`threadId`),n=d1(e.attrs,`pendingWorktreeId`);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Lm,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function x1({directive:e}){let t=d1(e.attrs,`reason`);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Gp,{size:15}),title:`Archive suggested`,meta:t})}function S1(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 C1({directive:e}){let t=e.attrs,n=d1(t,`mode`),r=d1(t,`name`)??`Automation`,i=S1(t.rrule),a=[r,n,d1(t,`status`),i].filter(Boolean).join(` · `);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Xp,{size:15}),title:`Automation suggested`,meta:a,children:d1(t,`prompt`)&&(0,L.jsx)(h1,{children:d1(t,`prompt`)})})}function w1({directive:e}){return e.name===`artifact-template`?(0,L.jsx)(g1,{directive:e}):e.name===`code-comment`?(0,L.jsx)(_1,{directive:e}):e.name.startsWith(`git-`)?(0,L.jsx)(y1,{directive:e}):e.name===`created-thread`?(0,L.jsx)(b1,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,L.jsx)(x1,{directive:e}):(0,L.jsx)(C1,{directive:e})}var T1;function E1(){return T1??=zy(async()=>{let{default:e}=await import(`./mermaid.core-DTEprUMo.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)),T1}function D1({source:e}){let t=(0,I.useId)(),[n,r]=(0,I.useState)({}),i=XK(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 E1().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:`${Uq} 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 ${Uq} 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 ${Uq} bg-panel-2`})}var O1=(0,I.createContext)(null),k1=(0,I.createContext)(null);function A1(){let e=(0,I.useContext)(O1),t=(0,I.useContext)(k1);return e??t}var j1=(0,I.createContext)(null);function M1(e){return e.status===`pending`&&e.backgroundState===`background`}function N1(e){let t=[];for(let n of e)for(let e of n.tools)M1(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 P1(e){return e.map(e=>{if(!e.tools.some(M1))return e;let t=e.tools.filter(e=>!M1(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!M1(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function F1({slug:e,onStatusApplied:t,onClose:n,virtualized:r=!1,showReturnToQueue:i=!1}){let a=Ep(OC(),e);return(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 flex flex-col`,children:[(0,L.jsx)(q1,{slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:i}),(0,L.jsx)(I1,{slug:e,virtualized:r}),a&&(0,L.jsx)(VX,{thread:a,sticky:!0,safeArea:!0,onArchived:t})]})}function I1({slug:e,virtualized:t}){let n=OC(),r=Ep(n,e),i=r?.runtime===`running`||r?.runtime===`spawning`,a=S$(e),o=HC(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)(()=>N1(p),[p]),h=(0,I.useMemo)(()=>P1(p),[p]),g=(0,I.useMemo)(()=>s0(h),[h]),_=(0,I.useMemo)(()=>i?l$(h):void 0,[i,h]),v=_&&_.index>=0?_.index:g,y=(0,I.useMemo)(()=>K$(h),[h]),b=i?Y$(y):void 0,x=i?J$(y):void 0,S=x?a1(x,n?.projectDir):void 0,C=i?Z$(y):void 0,w=a$(r),T=(0,I.useMemo)(()=>{let e=i?e1(y):y;return k$(e,c0(e,v,w))},[y,i,v,w]),E=i,D=(0,I.useMemo)(()=>vJ(p),[p]),O=(0,I.useMemo)(()=>pJ(p,r?.answersInFlight),[p,r?.answersInFlight]),k=(0,I.useMemo)(()=>OY(p),[p]),A={thread:r,showWorking:E,registeredDone:Vq(r,g>=0?h[g]?.text:void 0),restedCard:nJ(r,g>=0?h[g]?.text:void 0)},{answeringForMessage:j}=dY(e,p),M=(0,I.useMemo)(()=>TJ(p,r?.questions??[]),[p,r?.questions]),N=(0,I.useRef)(null),[P,ee]=(0,I.useState)(null),F=o.data?.messages.length??0,te=!o.isLoading;(0,I.useEffect)(()=>{if(t)return;let e=N.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[F,i,t]);let ne=(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],px(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)(O1.Provider,{value:e,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:N,"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&&F>0?(0,L.jsx)(G1,{slug:e,transcriptRef:N,transcriptKey:o.data?.transcriptKey,messages:h,paired:D,inFlightAnswers:O,answeringForMessage:j,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 ne(),jumpOverlay:P}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qZ,{thread:r,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(gQ,{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)(nh,{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:F===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)(f2,{}),` Loading…`]}):i?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(f2,{}),` Session starting…`]}):PY(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:[f0(T.map(e=>e.message),(e,t)=>{let n=T[t].messageIndex;return(0,L.jsx)(q0,{m:e,answering:j(e),showSendButton:!0,paired:D[n],staleAwaiting:v>=0&&n<v,restingCardShown:n===g&&w,restedAt:_&&n===_.index?_.at??``:void 0,shadowedBy:M.get(n),thread:r},t)},e=>!!e.queued),te&&H1(A)!==null&&(0,L.jsx)(MJ,{h:U1(A,T.map(e=>e.message))}),te&&(0,L.jsx)(W1,{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)(i2,{policy:r.permPolicy,denies:r.permDenies})}):null,p.some(e=>e.queued)&&(0,L.jsx)(MJ,{}),(0,L.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:p.map((e,t)=>e.queued?(0,L.jsx)(q0,{m:e,paired:D[t]},`q${t}`):null)})]})})]})}),(0,L.jsx)(`div`,{ref:ee,"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)(aX,{slug:e,onTerminal:a,ops:(0,L.jsx)(a2,{slug:e,transcriptShells:m,className:`px-1 pt-1.5`})})})]})})}var L1=700,R1=250,z1=(()=>{try{return localStorage.getItem(`frizz.debugScroll`)===`1`}catch{return!1}})();function B1(e){return e?.pendingInteraction===!0}function V1(e){return B1(e)?void 0:e?.pendingAsk}function H1({thread:e,showWorking:t,registeredDone:n,restedCard:r}){return e?.providerFault&&!e.foreign?`provider-fault`:e?.limitPause&&!e.foreign?`limit-pause`:V1(e)?`pending-ask`:e?.runtime===`perm-prompt`&&!B1(e)?`perm-prompt`:t?`working`:u$(e)?`snooze`:a$(e)?`resting`:n?`registered-done`:r?`rested`:null}function U1(e,t){return H1(e)===`working`?d0(t):14}function W1({state:e,slug:t,retryText:n,onTerminal:r,liveRuntimeStart:i,liveActivityLabel:a,liveToolRun:o}){let s=e.thread;switch(H1(e)){case`provider-fault`:return(0,L.jsx)(t2,{slug:t,sessionId:s.sessionId,fault:s.providerFault,retryText:n});case`limit-pause`:return(0,L.jsx)(n2,{slug:t,sessionId:s.sessionId,pause:s.limitPause});case`pending-ask`:return(0,L.jsx)(o2,{ask:V1(s),onTerminal:r});case`perm-prompt`:return(0,L.jsx)(r2,{onTerminal:r});case`working`:return(0,L.jsx)(p2,{since:s?.lastUserAt,startedAt:i,activityLabel:a,run:o});case`snooze`:return(0,L.jsx)(f$,{thread:s});case`resting`:return(0,L.jsx)(c$,{thread:s});case`registered-done`:return(0,L.jsx)(e2,{fenceKind:`done`,body:s.lastFence.body,hints:[]});case`rested`:return(0,L.jsx)(rJ,{thread:s});default:return null}}function G1({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,inFlightAnswers:a,answeringForMessage:o,thread:s,running:c,copyTerminalCommand:l,transportFallback:u,isFetching:d,refresh:f,retryLiveUpdates:p,hasEarlier:m,beforeCursor:h,loadingEarlier:g,earlierError:_,loadEarlier:v,jumpOverlay:y}){let b=kC(),x=(0,I.useMemo)(()=>K$(r),[r]),S=c?Y$(x):void 0,C=c?J$(x):void 0,w=C?a1(C,b):void 0,T=c?Z$(x):void 0,E=(0,I.useMemo)(()=>s0(r),[r]),D=(0,I.useMemo)(()=>c?l$(r):void 0,[c,r]),O=D&&D.index>=0?D.index:E,k=a$(s),A=(0,I.useMemo)(()=>{let e=c?e1(x):x;return k$(e,c0(e,O,k))},[x,c,O,k]),j=c,M=(0,I.useMemo)(()=>D$(A.map(e=>e.message),c0(A,O,k),a0).map(e=>{let t=A[e.messageIndex];return{...e,messageIndex:t.messageIndex,stampAt:Q$(t)}}),[A,O,k]),N=(0,I.useMemo)(()=>OY(r),[r]),P=Vq(s,E>=0?r[E]?.text:void 0),ee=nJ(s,E>=0?r[E]?.text:void 0),F={thread:s,showWorking:j,registeredDone:P,restedCard:ee},te=H1(F)!==null,ne=(0,I.useMemo)(()=>U1({thread:s,showWorking:j,registeredDone:P,restedCard:ee},A.map(e=>e.message)),[A,j,s,P,ee]),re=(0,I.useMemo)(()=>{let e=[],t=new Map,n=r.length-1;for(let[i,a]of SJ(r,s?.questions??[],{atRest:!c})){if(i>=n){e.push(...a);continue}let r=-1;for(let e=0;e<M.length&&!(M[e].messageIndex>i);e++)r=e;let o=t.get(r);o?o.push(...a):t.set(r,[...a])}return{byRow:t,tail:e}},[M,r,c,s?.questions]),ie=(0,I.useMemo)(()=>TJ(r,s?.questions??[]),[r,s?.questions]),ae=(0,I.useMemo)(()=>{let e=[{key:`head-anchor`,kind:`head-anchor`}];u&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(m||g||_)&&e.push({key:`earlier-history:${h??`complete`}`,kind:`earlier-history`});let t=re.byRow.get(-1);t&&e.push({key:`questions:head`,kind:`questions`,questions:t}),M.forEach((t,n)=>{e.push({...t,kind:`message`});let r=re.byRow.get(n);r&&e.push({key:`questions:${t.key}`,kind:`questions`,questions:r})}),e.push({key:`interactions`,kind:`interactions`}),te&&e.push({key:`runtime-status`,kind:`runtime-status`});let n=te||M.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},[h,_,m,te,g,M,r,re,u]),oe=Aw({count:ae.length,getScrollElement:()=>t.current,getItemKey:e=>ae[e]?.key??e,estimateSize:e=>{let t=ae[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})}}),[se,ce]=(0,I.useState)(!0),le=(0,I.useRef)(!0),ue=(0,I.useRef)(-1),de=(0,I.useRef)(0),fe=(0,I.useRef)(null),pe=(0,I.useRef)(!1),me=(0,I.useRef)(!1),he=(0,I.useRef)(!0),ge=(0,I.useRef)(null),_e=(0,I.useRef)(void 0),ve=(0,I.useRef)(null),ye=(0,I.useRef)(void 0),be=(0,I.useRef)(0),xe=(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&&(ge.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}v()},[v,t]),Se=(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||ae.length===0||_e.current===n)return;_e.current=n,pe.current=!1,me.current=!1,he.current=!0;let t=YE(e)?.candidates.map(e=>({candidate:e,index:ae.findIndex(t=>t.kind===`message`&&t.message.sourceId===e.sourceId)})).find(e=>e.index>=0),r=requestAnimationFrame(()=>{if(!t){oe.scrollToEnd({behavior:`instant`}),ce(!0),pe.current=!0;return}oe.scrollToIndex(t.index,{align:`start`,behavior:`instant`}),le.current=!1,ce(!1),pe.current=!0;let e=performance.now()+R1;be.current=e;let n=()=>{performance.now()>=e||performance.now()<de.current||(Se(t.candidate.sourceId,t.candidate.screenTop),r=requestAnimationFrame(n))};n()});return()=>cancelAnimationFrame(r)},[Se,ae.length,e,n,oe]),(0,I.useLayoutEffect)(()=>{let e=ge.current,n=t.current;if(!e||!n||g)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(),ge.current===e&&(ge.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[g,M.length,t]);let Ce=(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]),we=(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]),Te=M[0]?.key;(0,I.useLayoutEffect)(()=>{let e=ye.current;if(ye.current=Te,e===void 0||e===Te||!pe.current||le.current||ge.current)return;let t=ve.current;if(!t)return;we(t);let n=()=>{if(performance.now()<de.current)return;let e=ve.current;e&&we(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[we,Te]);let Ee=(0,I.useCallback)(()=>{let e=t.current;if(!e||ge.current||performance.now()<be.current)return;let n=w$({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:ue.current,following:le.current,readerMoved:performance.now()<de.current});if(le.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),ue.current=e.scrollHeight,ce(e=>e===n.following?e:n.following),z1&&!n.following&&performance.now()>=de.current){let t=ve.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}`)}}ve.current=Ce()??ve.current},[Ce,t]);(0,I.useLayoutEffect)(Ee),(0,I.useEffect)(()=>{let e=fe.current;if(!e)return;let t=new ResizeObserver(Ee);return t.observe(e),()=>t.disconnect()},[Ee]),(0,I.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{Ee();let t=T$({armed:he.current,scrollTop:e.scrollTop,readerMoved:pe.current&&me.current,hasEarlier:m,loading:g});he.current=t.armed,t.shouldLoad&&xe()},r=()=>{me.current=!0,de.current=performance.now()+L1,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(he.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(he.current=!0),r()},o=()=>{e.scrollTop<=480&&(he.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)}},[m,g,xe,Ee,t]);let De=oe.getVirtualItems(),Oe=oe.getTotalSize();return(0,L.jsxs)(`div`,{ref:fe,"data-virtualized-transcript":!0,"data-virtual-row-count":De.length,className:`relative w-full`,style:{height:Oe},children:[De.map(t=>{let n=ae[t.index];return n?(0,L.jsx)(`div`,{ref:oe.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)(qZ,{thread:s,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(gQ,{thread:s,questions:re.tail,inFlight:a,className:`px-6 pt-5`})]}):n.kind===`questions`?(0,L.jsx)(gQ,{thread:s,questions:n.questions,className:`px-6 pt-5`}):n.kind===`transport-fallback`?u?(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 ${Uq} border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:u.kind===`payload-too-large`?`Live payload ${u.actualBytes} bytes; socket limit ${u.maxBytes} bytes`:`Transcript read budget reached (${u.scope}); retry after about ${u.retryAfterMs}ms`,children:[(0,L.jsx)(nh,{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.`}),` `,u.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:d,onClick:f,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:d?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:p,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:_?(0,L.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,L.jsx)(`span`,{children:_}),(0,L.jsx)(`button`,{type:`button`,onClick:xe,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):g?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(jm,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,L.jsx)(`button`,{type:`button`,onClick:xe,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)(iZ,{at:n.stampAt,host:jY(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(q0,{m:n.message,answering:o(n.message),showSendButton:!0,paired:i[n.messageIndex],staleAwaiting:O>=0&&n.messageIndex<O,restingCardShown:n.messageIndex===E&&k,restedAt:D&&n.messageIndex===D.index?D.at??``:void 0,shadowedBy:ie.get(n.messageIndex),thread:s})}):n.kind===`runtime-status`?(0,L.jsxs)(`div`,{className:`px-6`,style:{paddingTop:ne},children:[(0,L.jsx)(W1,{state:F,slug:e,retryText:N>=0?r[N]?.text:void 0,onTerminal:l,liveRuntimeStart:T,liveActivityLabel:w,liveToolRun:S}),s?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(i2,{policy:s.permPolicy,denies:s.permDenies})}):null]}):(0,L.jsx)(iZ,{at:n.message.at,host:jY(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(q0,{m:n.message,paired:i[n.messageIndex]})})},n.key):null}),(0,L.jsx)(K1,{overlay:y,hidden:se,onJump:()=>oe.scrollToEnd({behavior:`smooth`})})]})}function K1({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)(Kp,{size:12}),`Jump to latest`]}),e)}function q1({slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:r=!1}){let i=Ep(OC(),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=ZG(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=iT(i);function _(){c(!1),u(``)}function v(){let e=FY(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:RY,children:[(0,L.jsx)(`div`,{className:zY,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(IY(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)(KX,{thread:i,hidden:s})]}),(0,L.jsx)(p$,{at:hT(i),fallbackAt:i.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})}),(0,L.jsxs)(`div`,{className:BY,children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[p&&(0,L.jsx)(C$,{slug:e}),(0,L.jsx)(dX,{thread:i,collapse:r,onDoc:f?()=>Qf(`doc`,i.id):void 0,onDone:()=>a.mutate(void 0,{onSuccess:t}),doneBusy:a.isPending,onStatusApplied:t}),n&&(0,L.jsx)(Lj,{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)(ih,{size:15})})]})]})}function J1(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||ZX(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 Y1(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||ZX(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 X1(e){return J1(e)!==null}function Z1(e){return Y1(e)!==null}function Q1(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function $1(e){return Q1(e)||X1(e)}function e0(e){return Q1(e)||Z1(e)}function t0(e){if(Q1(e))return!0;let t=J1(e);return t!==null&&!P$(t[t.length-1])}function n0(e){if(Q1(e))return!0;let t=Y1(e);return t!==null&&!P$(t[0])}function r0(e){let t=J1(e);return t!==null&&I$(t[t.length-1])}function i0(e){let t=Y1(e);return t!==null&&I$(t[0])}function a0(e,t){let n=r0(e)||i0(t),r=!n&&$1(e)&&e0(t)&&!(t0(e)&&n0(t));return(n?22:r?6:14)+(e.role===`user`&&t.role!==`user`?3:0)}function o0(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:l0(e,n.text,t)):(e.tools?.length??0)===0&&l0(e,e.text,t)}function s0(e){for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`&&e[t].kind!==`event`)return t;return-1}function c0(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=>o0(e,r.has(e))}function l0(e,t,n){return!e.fenceRefused&&!n?!t.trim():Bq(t).every(e=>e.kind===`fence`&&e.fenceKind===`awaiting`)}function u0(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`&&!l0(e,n.text,t)):typeof e.text==`string`&&!l0(e,e.text,t)}function d0(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||o0(n)))return r0(n)?22:$1(n)&&!t0(n)?6:14+(n.role===`user`?3:0)}return 0}function f0(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{n?.(e,a)||o0(e)||(i!==null&&r.push((0,L.jsx)(MJ,{h:a0(i,e)},`s${a}`)),r.push(t(e,a)),i=e)}),r}function p0(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 m0(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)(MJ,{h:typeof t==`number`?t:t(n)},`vs${n}`)),r.push(e)}),r}var h0={head:!1,tail:!1};function g0(e,t){return n=>e[n-1]?.tail||e[n]?.head?22:t}function _0(e){return{head:I$(e[0]),tail:I$(e[e.length-1])}}function v0(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}):F$(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 y0(e){return e.split(`__`).pop()||e}function b0(e){let t=X.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function x0({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=l1(a,c1(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 ${aZ}`,children:[(0,L.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,L.jsx)(em,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:sZ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:m0(e.map((e,n)=>(0,L.jsx)(C0,{t:e,startedAt:t},n)),6)}),!n&&(0,L.jsx)(`div`,{id:i,hidden:!0})]})}function S0({tools:e,at:t}){let n=[];for(let t of e){let e=P$(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:m0(n.map((e,n)=>e.exceptional?(0,L.jsx)(`div`,{className:`flex flex-col`,children:m0(e.tools.map((e,n)=>(0,L.jsx)(C0,{t:e,startedAt:t},n)),g0(e.tools.map(e=>_0([e])),6))},`exceptions-${n}`):(0,L.jsx)(x0,{tools:e.tools,at:t},`activity-${n}`)),g0(n.map(e=>_0(e.tools)),6))})}function C0({t:e,startedAt:t}){let n=(0,I.useContext)(O1),r=OC(),i=pE(e,(n?Ep(r,n):void 0)?.bgShells??[]);return e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,L.jsx)(qK,{edits:e.edits,meta:(0,L.jsx)(O0,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,L.jsx)(I0,{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)(N0,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.read?(0,L.jsx)(R0,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,L.jsx)(B0,{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)(H0,{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)(P0,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,L.jsx)(gq,{todos:e.todos,note:e.input,meta:(0,L.jsx)(O0,{status:e.status,durationMs:e.durationMs})}):F$(e)?(0,L.jsx)(w0,{ask:e.ask??[],askAnswers:e.askAnswers}):e.input||e.output?(0,L.jsx)(I0,{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)(M0,{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 w0({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=UZ(e,t?.[n]);return(0,L.jsx)(hY,{question:r.question,settled:{chosenIdxs:r.chosenIdxs,text:r.text}},n)})})}function T0({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 E0(e,t,n){let[r,i]=(0,I.useState)(()=>Date.now()),a=uE(e,t),o=dE(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(lE-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function D0({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=E0(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:kE}):cE(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 O0({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:mE(i),c=[o,s].filter(Boolean).join(` · `);return(0,L.jsx)(T0,{tone:e===`failed`?`frizz-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function k0(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 A0(e,t,n){let r=t&&t!==X.board?.projectDir?`in ${b0(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function j0(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function M0({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=A0(t,s,c),f=d?b0(d):void 0,p=t&&j0(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)(D0,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:y0(e)}),f&&(p?(0,L.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(GK,{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)(O0,{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 N0({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let o=t?b0(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:y0(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)(O0,{status:i,durationMs:a})})]});return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(Y0,{path:n,hideCaption:!0,altText:o?`${y0(e)}: ${o}`:y0(e),header:s}),r&&(0,L.jsx)(`pre`,{className:`frizz-bash frizz-bash-body frizz-bash-output-body mt-1.5`,children:r})]})}function P0({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)(O0,{status:r,durationMs:i}),(0,L.jsx)(em,{"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)(Y0,{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)(X0,{path:e},`f${t}`))}),n&&(0,L.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var F0=16;function I0({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=k0(i,d,l),b=(0,I.useMemo)(()=>e.split(`
|
|
313
|
+
`)||void 0;return{line:`${aQ(e)} ${t.label}${r?` — ${r}`:``}`,...i?{body:i}:{}}}var sQ=`root`;function cQ(e,t,n){return`${e}/${t}.${n}`}function lQ(e){let t=e.options??[],n=t.findIndex(e=>e.recommended),r=t.map((e,t)=>oQ(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 uQ(e,t){return!t||e.kind===`multi`?null:t.chosen}function dQ(e,t){let n=[],r=(e,i,a)=>{let{question:o,optionLabels:s}=lQ(e);n.push({path:i,spec:e,question:o,optionLabels:s,depth:a});let c=uQ(e,t.get(i));c!==null&&(e.options?.[c]?.followUps??[]).forEach((e,t)=>r(e,cQ(i,c,t),a+1))};return r(e,sQ,1),n}function fQ(e,t){return t?t.text.trim()?!0:e.kind===`multi`?(t.chosenSet??[]).length>0:t.chosen!==null:!1}function pQ(e,t){if(!fQ(e.spec,t.get(`root`)))return;let n=(r,i)=>{let a=t.get(i),o=(r.options??[]).map(e=>e.label),s=uQ(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,cQ(i,s,t)));return{questionId:e.id,question:r.question,chosen:c,...l?{text:l}:{},...u.length>0?{followUps:u}:{}}};return n(e.spec,sQ)}function mQ(e){let t=e instanceof Error?e.message:`The answer could not be sent.`;return t.length>240?`${t.slice(0,239)}…`:t}var hQ=(e,t)=>`${e}|${t}`;function gQ({thread:e,questions:t,inFlight:n=null,className:r=``}){let i=e?.id,a=t??e?.questions??[],o=oz(),[s,c]=(0,I.useState)(()=>new Map),[l,u]=(0,I.useState)(),d=(0,I.useContext)(j1),f=lz((0,I.useMemo)(()=>i?a.flatMap(e=>_Q(e).map(t=>az.question(o,i,e.id,t))):[],[o,i,a])),p=(e,t)=>{let n=s.get(hQ(e.id,t));return{chosen:n?.chosen??null,chosenSet:n?.chosenSet??[],text:(i?f.get(az.question(o,i,e.id,t)):void 0)??``}},m=e=>new Map(_Q(e).map(t=>[t,p(e,t)])),h=a.flatMap(e=>{let t=pQ(e,m(e));return t?[t]:[]}),g=it({mutationFn:async e=>Y.answerQuestions({slug:i,answers:e}),onSuccess:e=>{for(let t of e.answered){c(e=>{let n=new Map(e);for(let e of[...n.keys()])e.startsWith(`${t}|`)&&n.delete(e);return n});let e=a.find(e=>e.id===t);if(e&&i)for(let t of _Q(e))rz.set(az.question(o,i,e.id,t),``)}},onError:e=>{d?.cancel(),u(mQ(e))}}),_=it({mutationFn:async e=>Y.dismissQuestions({slug:i,ids:[e]}),onError:e=>u(mQ(e))});if(!i||a.length===0)return!i||!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 ${r}`,children:(0,L.jsx)(rY,{answers:n,queued:!0})});let v=()=>{h.length===0||g.isPending||(u(void 0),d?.dismiss(),g.mutate(h))};return(0,L.jsxs)(`section`,{"data-registered-questions":!0,"aria-label":`${a.length} question${a.length===1?``:`s`} waiting for an answer`,className:`flex min-w-0 flex-col gap-3 ${r}`,children:[a.map(e=>(0,L.jsx)(`article`,{"data-question-id":e.id,className:`flex min-w-0 flex-col gap-2`,children:(()=>{let t=dQ(e.spec,m(e)),n=t=>(0,L.jsx)(hY,{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:_.isPending,onClick:()=>_.mutate(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)(ih,{size:16})}):void 0,interactive:{answer:p(e,t.path),onChip:n=>{c(r=>{let i=new Map(r),a=hQ(e.id,t.path),o=i.get(a)??{chosen:null,chosenSet:[]};if(t.spec.kind===`multi`){let e=o.chosenSet.includes(n)?o.chosenSet.filter(e=>e!==n):[...o.chosenSet,n];i.set(a,{...o,chosenSet:e})}else i.set(a,{...o,chosen:o.chosen===n?null:n});return i})},onText:n=>{rz.set(az.question(o,i,e.id,t.path),n),t.spec.kind!==`multi`&&c(n=>{let r=hQ(e.id,t.path),i=n.get(r);return!i||i.chosen===null?n:new Map(n).set(r,{...i,chosen:null})})},onSubmit:v}},t.path),r=t.slice(1);return(0,L.jsxs)(L.Fragment,{children:[n(t[0]),r.length>0&&(0,L.jsx)(`div`,{className:`ml-3 flex flex-col gap-2 border-l border-border pl-3`,children:r.map(e=>(0,L.jsx)(`div`,{className:e.depth>2?`ml-3 border-l border-border pl-3`:void 0,children:n(e)},e.path))})]})})()},e.id)),l&&(0,L.jsx)(`div`,{role:`alert`,className:`break-words text-[11px] leading-snug text-red-300`,children:l}),g.isPending&&(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:h.length===0||g.isPending,onClick:v,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 _Q(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,sQ),t}function vQ(e){return(e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).length}function yQ(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:vQ(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 bQ(e){return(e.subAgents??[]).some(e=>Xc(e)&&e.state===`running`)}function xQ(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length}function SQ(e){return bQ(e)||xQ(e)>0}function CQ(e,t){return ul(t)??(wQ(e)?`Background shells running`:`Awaiting`)}function wQ(e){return(e.bgShells??[]).filter(e=>e.state===`running`).length>0&&!bQ(e)&&vQ(e)===0&&TQ(e).length===0}function TQ(e){return(e.watches??[]).filter(e=>e.kind===`timer`&&e.state===`armed`)}var EQ={id:``,subAgents:[],bgShells:[],watches:[]},DQ=[];function OQ(e,t){let n=new Set((e.watches??[]).filter(e=>e.kind===`github`&&e.state===`armed`).map(e=>e.target));return TH(t).filter(e=>!n.has(e.ref))}function kQ({watch:e}){return(0,I.useEffect)(()=>{e.url&&Df([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:`${eJ} text-[12px]`,children:e.ref}):(0,L.jsx)(`span`,{className:`text-[12px] text-muted`,children:e.ref})}var AQ={mergeable:`no conflicts`,blocked:`merge blocked`,conflicting:`has conflicts`,unknown:null};function jQ(e){return e.state!==`open`||e.merge===`blocked`&&e.checks!==`passing`&&e.checks!==`none`?null:AQ[e.merge]}var MQ=`shrink-0 self-baseline translate-y-[calc(0.5em_-_0.5cap)]`;function NQ({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 ${MQ}`})}function PQ(){return(0,L.jsxs)(`svg`,{"aria-hidden":!0,viewBox:`0 0 16 16`,width:12,height:12,fill:`none`,stroke:`currentColor`,overflow:`visible`,className:MQ,style:{color:CE.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 FQ({status:e}){return e?e.state===`merged`?(0,L.jsx)(ym,{size:12,className:MQ,style:{color:CE.fgDone}}):e.state===`closed`?(0,L.jsx)(bm,{size:12,className:MQ,style:{color:CE.fgDanger}}):e.checks===`failing`?(0,L.jsx)(lm,{size:12,className:MQ,style:{color:CE.fgDanger}}):e.checks===`passing`?(0,L.jsx)(im,{size:12,className:MQ,style:{color:CE.fgSuccess}}):e.gated>0&&e.running===0?(0,L.jsx)(rm,{size:12,className:MQ,style:{color:CE.fgAttention}}):e.checks===`running`?(0,L.jsx)(PQ,{}):(0,L.jsx)(am,{size:12,className:`${MQ} text-muted/60`}):(0,L.jsx)(am,{size:12,className:`${MQ} text-muted/60`})}function IQ(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 LQ(e){if(!e)return`Checking…`;if(e.state===`merged`)return`Merged`;if(e.state===`closed`)return`Closed`;let t=IQ(e),n=jQ(e);return[t||`No checks`,n].filter(e=>e!==null).join(` · `)}var RQ=`group relative col-span-4 grid grid-cols-subgrid items-baseline rounded-sm text-[12px] leading-5`,zQ=`group relative col-span-4 flex items-baseline rounded-sm text-[12px] leading-5`,BQ=`ml-1.5 min-w-0 truncate font-medium text-fg/90`,VQ=`ml-3 min-w-0 truncate text-right text-muted/70`,HQ=`outline-none after:absolute after:inset-0 after:rounded-sm focus-visible:after:ring-1 focus-visible:after:ring-fg/60`;function UQ(){return(0,L.jsx)(em,{size:13,"aria-hidden":!0,className:`${MQ} ml-[3px] -mr-[4px] text-muted/35 transition-colors group-hover:text-muted/70`})}function WQ({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?`${BQ} flex-1`:BQ,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} ${HQ} 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} ${HQ} 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?zQ:RQ} ${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:VQ,children:n}),m?(0,L.jsx)(UQ,{}):(0,L.jsx)(`span`,{})]})}function GQ({watch:e}){let t=e.github,n=CH(e.target);return(0,I.useEffect)(()=>{n&&Df([e.target])},[n,e.target]),(0,L.jsx)(WQ,{testKind:`github`,testId:e.target,mark:(0,L.jsx)(FQ,{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:[LQ(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 KQ(e,t){return(e.bgShells??[]).find(e=>e.id===t||e.taskId===t||e.label===t)}function qQ(e){return(e.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`)}function JQ({watch:e,thread:t,slug:n,now:r}){let i=KQ(t,e.target);if(i)return(0,L.jsx)(YQ,{shell:i,slug:n,now:r,testId:e.target});let a=vE(e.createdAt,r);return(0,L.jsx)(WQ,{testKind:`shell`,testId:e.target,mark:(0,L.jsx)($m,{size:12,className:`${MQ} text-shell`}),name:e.target,title:e.target,status:a?`running · ${a}`:`running`})}function YQ({shell:e,slug:t,now:n,testId:r}){let i=vE(e.startedAt,n),a=e.id&&!e.outputUnavailable;return(0,L.jsx)(WQ,{testKind:`shell`,testId:r??e.id??e.label,mark:(0,L.jsx)($m,{size:12,className:`${MQ} text-shell`}),name:e.label,onOpen:a?()=>ep(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 XQ({watch:e,now:t}){let n=Date.parse(e.timer?.fireAt??``),r=Number.isFinite(n)?n>t?`fires in ${gE(n-t)}`:`firing…`:`armed`;return(0,L.jsx)(WQ,{testKind:`timer`,testId:e.target,mark:(0,L.jsx)(um,{size:12,className:`${MQ} 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 ZQ(e){return(e.subAgents??[]).filter(e=>Xc(e)&&e.state===`running`)}function QQ({agent:e,slug:t,now:n}){let r=vE(e.startedAt,n),i=e.subagentType?.replace(/^frizz:/,``);return(0,L.jsx)(WQ,{testKind:`agent`,testId:e.id??e.label,mark:(0,L.jsx)(NQ,{tone:`border-accent`}),name:e.label,onOpen:e.id?()=>$f(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 $Q(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=KQ(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 e$(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=qQ(e).filter(t=>r(KQ(e,t.target)?.startedAt??t.createdAt));return{prs:i,shells:[...a,...$Q(e,t.hints??[],a)],agents:ZQ(e).filter(e=>r(e.startedAt)),timers:TQ(e).filter(e=>r(e.createdAt))}}function t$(e,t={}){let n=e$(e,t);return n.prs.length+n.shells.length+n.agents.length+n.timers.length>0}function n$(e,t,n={}){let{prs:r,shells:i,agents:a,timers:o}=e$(e,n);return[{head:`Sub-agents`,rows:a.map(n=>(0,L.jsx)(QQ,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(JQ,{watch:n,thread:e,slug:e.id,now:t},n.id))},{head:`Pull requests`,rows:r.map(e=>(0,L.jsx)(GQ,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(XQ,{watch:e,now:t},e.id))}].filter(e=>e.rows.length>0)}function r$({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)(em,{size:10,"aria-hidden":!0,className:`${MQ} ml-[5px] transition-transform ${e.collapsed?``:`rotate-90`}`})]}):(0,L.jsx)(`div`,{className:n,children:e.head})}function i$({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)(r$,{group:e,first:t===0}),!e.collapsed&&e.rows]},e.head))})]})}function a$(e){return e?.awaitingBackground===!0&&e.runtime===`turn-idle`&&e.bgSnoozed!==!0}var o$=`Hides card until new activity is detected`;function s$({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:o$,className:`disabled:opacity-45 ${tJ}`,children:[(0,L.jsx)(wm,{size:12,className:MY}),`Snooze`]}),(0,L.jsx)(`span`,{className:$q,children:o$})]})}function c$({thread:e,fence:t,onSnooze:n,onSnoozeFailed:r,notAfter:i}){let a=e??EQ,o=t??(e?.lastFence?.kind===`awaiting`?e.lastFence:void 0),s=o?.hints??DQ,c=bQ(a),l=jH(o?.body),u=uK(l??``),d=n$(a,aE(),{hints:s,notAfter:i}),f=OQ(a,s),p=i===void 0&&e!==void 0&&a$(e)&&mX(e).snooze;return(0,L.jsxs)(Xq,{"data-awaiting-background":!0,icon:wQ(a)?$m:wm,label:(0,L.jsx)(`span`,{className:`[overflow-wrap:anywhere]`,children:CQ(a,s)}),aside:f.length===1?(0,L.jsx)(kQ,{watch:f[0]}):void 0,className:p?`pb-0`:``,children:[l?(0,L.jsx)(lq,{className:`md-body ${Hq}`,html:u}):d.length===0&&!SQ(a)?(0,L.jsx)(`p`,{className:Zq,children:wH}):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)(kQ,{watch:e},e.ref))}),d.length===0&&SQ(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 `,yQ(a,{watchers:!1}),` it dispatched. It returns to the queue on its own when the work comes back.`]}):(0,L.jsxs)(L.Fragment,{children:[yQ(a,{watchers:!1}),` `,xQ(a)===1?`is`:`are`,` still running. It resumes on its own when`,` `,xQ(a)===1?`it finishes`:`one of them finishes`,`.`]})}),(0,L.jsx)(i$,{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 ${Gq}`,children:(0,L.jsx)(s$,{thread:e,onSnooze:n,onSnoozeFailed:r})}):null]})}function l$(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 u$(e,t=Date.now()){return e!==void 0&&ET(e,t)!==void 0}function d$(){let[e,t]=(0,I.useState)(()=>Date.now());return(0,I.useEffect)(()=>{let e=setInterval(()=>t(Date.now()),1e3);return()=>clearInterval(e)},[]),e}function f$({thread:e}){let t=d$(),[n,r]=(0,I.useState)(!1),i=ET(e,t);if(!i)return null;let a=Date.parse(i),o=Uw(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)(Xq,{"data-snooze-card":!0,icon:wm,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:bE(a-t)}),(0,L.jsx)(`p`,{className:Zq,children:s?(0,L.jsxs)(L.Fragment,{children:[`Resumes `,o,` and sends: “`,qw(s),`”`]}):(0,L.jsxs)(L.Fragment,{children:[`Returns to the queue `,o,`.`]})}),e.foreign!==!0&&(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{type:`button`,"data-snooze-wake-now":!0,disabled:n,onClick:()=>void c(),className:`${tJ} disabled:cursor-not-allowed disabled:opacity-45`,children:`Wake now`})})]})}function p$({at:e,fallbackAt:t,className:n=``}){let r=aE(),i=VT(e,t),a=HT(i,r);return!a||!i?null:(0,L.jsx)(`time`,{dateTime:i,className:n,children:a})}var m$=1500;function h$(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},m$),a},fail(t){t===n&&(i(),e(!1))},dispose(){n++,i()}}}var g$=`Could not copy terminal command`,_$={attach:`Attach command copied`,resume:`Resume command copied`},v$={attach:`Copy command to attach to this thread's live terminal`,resume:`Copy command to resume this thread in a new terminal`},y$=e=>[`terminalCommand`,e];function b$(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 x$(e){let t=b$(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 SR(n),r}function S$(e){let t=it({mutationFn:()=>x$(e)});return e=>t.mutate(void 0,{onSuccess:t=>{e?.onSuccess?.(),Z(_$[t])},onError:t=>{e?.onError?.(),Z(t instanceof Error?`${g$}: ${t.message}`:g$,{duration:7e3})}})}function C$({slug:e}){let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null);r.current||=h$(n,{setTimeout:(e,t)=>window.setTimeout(e,t),clearTimeout:e=>window.clearTimeout(e)});let i=Ve(),a=S$(e);(0,I.useEffect)(()=>()=>r.current?.dispose(),[]);function o(){i.prefetchQuery({queryKey:y$(e),queryFn:()=>b$(e),staleTime:15e3})}function s(){let t=i.getQueryData(y$(e));if(t){SR(t.command).then(()=>{r.current?.begin(),Z(_$[t.mode])},()=>Z(g$,{duration:7e3}));return}a({onSuccess:()=>r.current?.begin()})}let c=i.getQueryData(y$(e)),l=t?c?_$[c.mode]:`Terminal command copied`:c?v$[c.mode]:`Copy terminal command`;return(0,L.jsx)(Ij,{label:l,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":l,title:l,onClick:s,onPointerEnter:o,onFocus:o,className:$E,children:t?(0,L.jsx)(Zp,{size:14,strokeWidth:2.2,className:`text-fg`}):(0,L.jsx)($m,{size:14,strokeWidth:1.8})})})}function w$(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 T$(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 E$(e){return`legacy:${e.role}:${e.kind??`message`}:${e.at??``}:${e.text}`}function D$(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??E$(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 O$(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 k$(e,t){let n=e.map(e=>e.message);return e.filter((e,r)=>!O$(n,r,t))}var A$=new Set([`agent`,`follow up`,`interrupt`,`send message`,`spawn agent`,`wait for agents`]),j$=new Set([`poll process`,`wait`]);function M$(e){return(e.split(`__`).pop()||e).replaceAll(`_`,` `).trim()}function N$(e){return M$(e).toLowerCase()}function P$(e){return e.prompt!==void 0||e.agentId!==void 0||e.sendTo!==void 0||e.sendBody!==void 0||e.backgroundState!==void 0&&!L$(e)||I$(e)||F$(e)||A$.has(N$(e.name))}function F$(e){return e.ask!==void 0&&e.ask.length>0&&e.status!==void 0&&e.status!==`pending`}function I$(e){return e.outputImage!==void 0||e.sentImages!==void 0&&e.sentImages.length>0}function L$(e){return e.backgroundState===`unknown`&&j$.has(N$(e.name))}function R$(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=>!P$(e))?t:null}return e.text.trim()||e.tools.length===0?null:e.tools.every(e=>!P$(e))?e.tools:null}function z$(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 B$(e){if(e.role!==`assistant`||e.kind||e.queued)return null;if(!e.parts?.length)return V$(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 V$(n.tools)}return null}function V$(e){let t=[];for(let n=e.length-1;n>=0&&!P$(e[n]);n--)t.unshift(e[n]);return t.length>0?t:null}function H$(e){if(e.role!==`assistant`||e.kind||e.queued)return null;let t=[],n=e=>{for(let n of e){if(P$(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 U$(e,t){return W$(e,new Set(t))}function W$(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 G$(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 K$(e){let t=[],n=null;return e.forEach((e,r)=>{if(z$(e))return;if(e.queued){t.push({message:e,messageIndex:r});return}let i=R$(e);if(i&&n){n.message=G$(n.message,i,e.at);return}let a=n?H$(e):null,o=a?U$(e,a):e;a&&n&&(n.message=G$(n.message,a,e.at));let s={message:o,messageIndex:r};t.push(s),B$(o)?(s.runStartedAt=o.at,n=s):n=null}),t}function q$(e){return e.status===`completed`||e.status===`failed`||e.status===`cancelled`}function J$(e){let t=Y$(e);return t?.tools.some(e=>!q$(e))?t.tools.at(-1):void 0}function Y$(e){let t=X$(e);if(!t)return;let n=B$(t.message);return n?{tools:n,at:t.message.at}:void 0}function X$(e){for(let t=e.length-1;t>=0;t--)if(!e[t].message.queued)return e[t]}function Z$(e){let t=X$(e);if(t)return B$(t.message)?t.runStartedAt??t.message.at:t.message.at}function Q$(e){return e.runStartedAt??e.message.at}function $$(e){let t=B$(e);return t?W$(e,new Set(t)):e}function e1(e){let t;for(let n=e.length-1;n>=0;n--){let r=e[n].message;if(!r.queued){B$(r)&&(t=r);break}}if(!t)return[...e];let n=[];for(let r of e){let e=r.message===t?$$(r.message):r.message;z$(e)||n.push(e===r.message?r:{...r,message:e})}return n}function t1(e){return e.detail?.trim()||void 0}var n1={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 r1(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=n1[i.toLowerCase()];return a?a+(r===-1?``:n.slice(r)):n.charAt(0).toUpperCase()+n.slice(1)}function i1(e,t){let n=t?.trim().replace(/\/+$/,``);if(!n||n===`/`||!n.startsWith(`/`))return e;let r=e.replaceAll(`${n}/`,``),i=/^(\/(?:Users|home)\/[^/]+)(?:\/|$)/.exec(n)?.[1];return i?r.replaceAll(`${i}/`,`~/`):r}function a1(e,t){return i1(o1(e),t)}function o1(e){let t=N$(e.name),n=t1(e),r=n?` ${n}`:``;return t===`bash`||t===`exec`||t===`run command`?r1(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 ${M$(e.name)||`a tool`}`}var s1=new Set([`edit`,`multiedit`,`write`,`apply patch`]);function c1(e){let t=new Set;for(let n of e){for(let e of n.edits??(n.edit?[n.edit]:[]))e.file.trim()&&t.add(e.file.trim());if(n.edit||n.edits?.length)continue;let e=n.detail?.trim();e&&s1.has(N$(n.name))&&t.add(e)}return t.size}function l1(e,t=0){let n=`Ran ${e} tool ${e===1?`call`:`calls`}`;return t===0?n:`${n}, edited ${t} file${t===1?``:`s`}`}function u1(e){return e>0?`${l1(e)}. Thinking…`:`Thinking…`}function d1(e,t){let n=e[t];return typeof n==`string`&&n?n:void 0}function f1(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0}function p1(e,t){let n=d1(e,t);if(n)try{let e=new URL(n);return e.protocol===`https:`||e.protocol===`http:`?e.href:void 0}catch{return}}function m1({directive:e,icon:t,title:n,meta:r,children:i}){return(0,L.jsxs)(`section`,{"data-codex-directive":e.name,className:`min-w-0 ${Uq} 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 h1({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 g1({directive:e}){let t=e.attrs,n=d1(t,`display_name`)??d1(t,`skill_name`)??`Artifact template`,r=d1(t,`artifact_kind`),i=d1(t,`skill_name`),a=d1(t,`skill_directory`),[o,s]=(0,I.useState)(!!a);return(0,L.jsxs)(m1,{directive:e,icon:(0,L.jsx)(km,{size:15}),title:n,meta:r?`${r} template`:`Template`,children:[i&&(0,L.jsx)(h1,{mono:!0,children:i.startsWith(`$`)?i:`$${i}`}),o&&a&&(0,L.jsx)(`img`,{src:AS(`${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 _1({directive:e}){let t=e.attrs,n=d1(t,`file`),r=f1(t,`start`),i=f1(t,`end`)??r,a=f1(t,`priority`),o=n?`${n}${r?`:${r}${i&&i!==r?`-${i}`:``}`:``}`:`Code location unavailable`;return(0,L.jsxs)(m1,{directive:e,icon:(0,L.jsx)(Pm,{size:15}),title:d1(t,`title`)??`Review finding`,meta:a===void 0?void 0:`P${a}`,children:[d1(t,`body`)&&(0,L.jsx)(h1,{children:d1(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)(h1,{mono:!0,children:o})]})}var v1={"git-stage":[Rm,`Changes staged`],"git-commit":[vm,`Commit created`],"git-create-branch":[_m,`Branch created`],"git-push":[rh,`Branch pushed`],"git-create-pr":[Sm,`Pull request created`]};function y1({directive:e}){let[t,n]=v1[e.name],r=d1(e.attrs,`branch`),i=p1(e.attrs,`url`),a=`${n}${e.attrs.isDraft===!0?` as draft`:``}`;return(0,L.jsx)(m1,{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 b1({directive:e}){let t=d1(e.attrs,`threadId`),n=d1(e.attrs,`pendingWorktreeId`);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Lm,{size:15}),title:n?`Thread setup queued`:`Thread created`,meta:(t||n)&&(0,L.jsx)(`span`,{className:`font-mono-keep`,children:t??n})})}function x1({directive:e}){let t=d1(e.attrs,`reason`);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Gp,{size:15}),title:`Archive suggested`,meta:t})}function S1(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 C1({directive:e}){let t=e.attrs,n=d1(t,`mode`),r=d1(t,`name`)??`Automation`,i=S1(t.rrule),a=[r,n,d1(t,`status`),i].filter(Boolean).join(` · `);return(0,L.jsx)(m1,{directive:e,icon:(0,L.jsx)(Xp,{size:15}),title:`Automation suggested`,meta:a,children:d1(t,`prompt`)&&(0,L.jsx)(h1,{children:d1(t,`prompt`)})})}function w1({directive:e}){return e.name===`artifact-template`?(0,L.jsx)(g1,{directive:e}):e.name===`code-comment`?(0,L.jsx)(_1,{directive:e}):e.name.startsWith(`git-`)?(0,L.jsx)(y1,{directive:e}):e.name===`created-thread`?(0,L.jsx)(b1,{directive:e}):e.name===`archive`||e.name===`archive-thread`?(0,L.jsx)(x1,{directive:e}):(0,L.jsx)(C1,{directive:e})}var T1;function E1(){return T1??=zy(async()=>{let{default:e}=await import(`./mermaid.core-Dv6lgZxU.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)),T1}function D1({source:e}){let t=(0,I.useId)(),[n,r]=(0,I.useState)({}),i=XK(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 E1().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:`${Uq} 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 ${Uq} 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 ${Uq} bg-panel-2`})}var O1=(0,I.createContext)(null),k1=(0,I.createContext)(null);function A1(){let e=(0,I.useContext)(O1),t=(0,I.useContext)(k1);return e??t}var j1=(0,I.createContext)(null);function M1(e){return e.status===`pending`&&e.backgroundState===`background`}function N1(e){let t=[];for(let n of e)for(let e of n.tools)M1(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 P1(e){return e.map(e=>{if(!e.tools.some(M1))return e;let t=e.tools.filter(e=>!M1(e)),n=e.parts?.map(e=>e.kind===`tools`?{...e,tools:e.tools.filter(e=>!M1(e))}:e).filter(e=>e.kind!==`tools`||e.tools.length>0);return{...e,tools:t,parts:n}})}function F1({slug:e,onStatusApplied:t,onClose:n,virtualized:r=!1,showReturnToQueue:i=!1}){let a=Ep(OC(),e);return(0,L.jsxs)(`div`,{className:`flex-1 min-h-0 flex flex-col`,children:[(0,L.jsx)(q1,{slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:i}),(0,L.jsx)(I1,{slug:e,virtualized:r}),a&&(0,L.jsx)(VX,{thread:a,sticky:!0,safeArea:!0,onArchived:t})]})}function I1({slug:e,virtualized:t}){let n=OC(),r=Ep(n,e),i=r?.runtime===`running`||r?.runtime===`spawning`,a=S$(e),o=HC(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)(()=>N1(p),[p]),h=(0,I.useMemo)(()=>P1(p),[p]),g=(0,I.useMemo)(()=>s0(h),[h]),_=(0,I.useMemo)(()=>i?l$(h):void 0,[i,h]),v=_&&_.index>=0?_.index:g,y=(0,I.useMemo)(()=>K$(h),[h]),b=i?Y$(y):void 0,x=i?J$(y):void 0,S=x?a1(x,n?.projectDir):void 0,C=i?Z$(y):void 0,w=a$(r),T=(0,I.useMemo)(()=>{let e=i?e1(y):y;return k$(e,c0(e,v,w))},[y,i,v,w]),E=i,D=(0,I.useMemo)(()=>vJ(p),[p]),O=(0,I.useMemo)(()=>pJ(p,r?.answersInFlight),[p,r?.answersInFlight]),k=(0,I.useMemo)(()=>OY(p),[p]),A={thread:r,showWorking:E,registeredDone:Vq(r,g>=0?h[g]?.text:void 0),restedCard:nJ(r,g>=0?h[g]?.text:void 0)},{answeringForMessage:j}=dY(e,p),M=(0,I.useMemo)(()=>TJ(p,r?.questions??[]),[p,r?.questions]),N=(0,I.useRef)(null),[P,ee]=(0,I.useState)(null),F=o.data?.messages.length??0,te=!o.isLoading;(0,I.useEffect)(()=>{if(t)return;let e=N.current;e&&e.scrollHeight-e.scrollTop-e.clientHeight<=4&&(e.scrollTop=e.scrollHeight)},[F,i,t]);let ne=(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],px(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)(O1.Provider,{value:e,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:N,"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&&F>0?(0,L.jsx)(G1,{slug:e,transcriptRef:N,transcriptKey:o.data?.transcriptKey,messages:h,paired:D,inFlightAnswers:O,answeringForMessage:j,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 ne(),jumpOverlay:P}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qZ,{thread:r,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(gQ,{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)(nh,{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:F===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)(f2,{}),` Loading…`]}):i?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(f2,{}),` Session starting…`]}):PY(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:[f0(T.map(e=>e.message),(e,t)=>{let n=T[t].messageIndex;return(0,L.jsx)(q0,{m:e,answering:j(e),showSendButton:!0,paired:D[n],staleAwaiting:v>=0&&n<v,restingCardShown:n===g&&w,restedAt:_&&n===_.index?_.at??``:void 0,shadowedBy:M.get(n),thread:r},t)},e=>!!e.queued),te&&H1(A)!==null&&(0,L.jsx)(MJ,{h:U1(A,T.map(e=>e.message))}),te&&(0,L.jsx)(W1,{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)(i2,{policy:r.permPolicy,denies:r.permDenies})}):null,p.some(e=>e.queued)&&(0,L.jsx)(MJ,{}),(0,L.jsx)(`div`,{className:`flex flex-col gap-3.5`,children:p.map((e,t)=>e.queued?(0,L.jsx)(q0,{m:e,paired:D[t]},`q${t}`):null)})]})})]})}),(0,L.jsx)(`div`,{ref:ee,"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)(aX,{slug:e,onTerminal:a,ops:(0,L.jsx)(a2,{slug:e,transcriptShells:m,className:`px-1 pt-1.5`})})})]})})}var L1=700,R1=250,z1=(()=>{try{return localStorage.getItem(`frizz.debugScroll`)===`1`}catch{return!1}})();function B1(e){return e?.pendingInteraction===!0}function V1(e){return B1(e)?void 0:e?.pendingAsk}function H1({thread:e,showWorking:t,registeredDone:n,restedCard:r}){return e?.providerFault&&!e.foreign?`provider-fault`:e?.limitPause&&!e.foreign?`limit-pause`:V1(e)?`pending-ask`:e?.runtime===`perm-prompt`&&!B1(e)?`perm-prompt`:t?`working`:u$(e)?`snooze`:a$(e)?`resting`:n?`registered-done`:r?`rested`:null}function U1(e,t){return H1(e)===`working`?d0(t):14}function W1({state:e,slug:t,retryText:n,onTerminal:r,liveRuntimeStart:i,liveActivityLabel:a,liveToolRun:o}){let s=e.thread;switch(H1(e)){case`provider-fault`:return(0,L.jsx)(t2,{slug:t,sessionId:s.sessionId,fault:s.providerFault,retryText:n});case`limit-pause`:return(0,L.jsx)(n2,{slug:t,sessionId:s.sessionId,pause:s.limitPause});case`pending-ask`:return(0,L.jsx)(o2,{ask:V1(s),onTerminal:r});case`perm-prompt`:return(0,L.jsx)(r2,{onTerminal:r});case`working`:return(0,L.jsx)(p2,{since:s?.lastUserAt,startedAt:i,activityLabel:a,run:o});case`snooze`:return(0,L.jsx)(f$,{thread:s});case`resting`:return(0,L.jsx)(c$,{thread:s});case`registered-done`:return(0,L.jsx)(e2,{fenceKind:`done`,body:s.lastFence.body,hints:[]});case`rested`:return(0,L.jsx)(rJ,{thread:s});default:return null}}function G1({slug:e,transcriptRef:t,transcriptKey:n,messages:r,paired:i,inFlightAnswers:a,answeringForMessage:o,thread:s,running:c,copyTerminalCommand:l,transportFallback:u,isFetching:d,refresh:f,retryLiveUpdates:p,hasEarlier:m,beforeCursor:h,loadingEarlier:g,earlierError:_,loadEarlier:v,jumpOverlay:y}){let b=kC(),x=(0,I.useMemo)(()=>K$(r),[r]),S=c?Y$(x):void 0,C=c?J$(x):void 0,w=C?a1(C,b):void 0,T=c?Z$(x):void 0,E=(0,I.useMemo)(()=>s0(r),[r]),D=(0,I.useMemo)(()=>c?l$(r):void 0,[c,r]),O=D&&D.index>=0?D.index:E,k=a$(s),A=(0,I.useMemo)(()=>{let e=c?e1(x):x;return k$(e,c0(e,O,k))},[x,c,O,k]),j=c,M=(0,I.useMemo)(()=>D$(A.map(e=>e.message),c0(A,O,k),a0).map(e=>{let t=A[e.messageIndex];return{...e,messageIndex:t.messageIndex,stampAt:Q$(t)}}),[A,O,k]),N=(0,I.useMemo)(()=>OY(r),[r]),P=Vq(s,E>=0?r[E]?.text:void 0),ee=nJ(s,E>=0?r[E]?.text:void 0),F={thread:s,showWorking:j,registeredDone:P,restedCard:ee},te=H1(F)!==null,ne=(0,I.useMemo)(()=>U1({thread:s,showWorking:j,registeredDone:P,restedCard:ee},A.map(e=>e.message)),[A,j,s,P,ee]),re=(0,I.useMemo)(()=>{let e=[],t=new Map,n=r.length-1;for(let[i,a]of SJ(r,s?.questions??[],{atRest:!c})){if(i>=n){e.push(...a);continue}let r=-1;for(let e=0;e<M.length&&!(M[e].messageIndex>i);e++)r=e;let o=t.get(r);o?o.push(...a):t.set(r,[...a])}return{byRow:t,tail:e}},[M,r,c,s?.questions]),ie=(0,I.useMemo)(()=>TJ(r,s?.questions??[]),[r,s?.questions]),ae=(0,I.useMemo)(()=>{let e=[{key:`head-anchor`,kind:`head-anchor`}];u&&e.push({key:`transport-fallback`,kind:`transport-fallback`}),(m||g||_)&&e.push({key:`earlier-history:${h??`complete`}`,kind:`earlier-history`});let t=re.byRow.get(-1);t&&e.push({key:`questions:head`,kind:`questions`,questions:t}),M.forEach((t,n)=>{e.push({...t,kind:`message`});let r=re.byRow.get(n);r&&e.push({key:`questions:${t.key}`,kind:`questions`,questions:r})}),e.push({key:`interactions`,kind:`interactions`}),te&&e.push({key:`runtime-status`,kind:`runtime-status`});let n=te||M.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},[h,_,m,te,g,M,r,re,u]),oe=Aw({count:ae.length,getScrollElement:()=>t.current,getItemKey:e=>ae[e]?.key??e,estimateSize:e=>{let t=ae[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})}}),[se,ce]=(0,I.useState)(!0),le=(0,I.useRef)(!0),ue=(0,I.useRef)(-1),de=(0,I.useRef)(0),fe=(0,I.useRef)(null),pe=(0,I.useRef)(!1),me=(0,I.useRef)(!1),he=(0,I.useRef)(!0),ge=(0,I.useRef)(null),_e=(0,I.useRef)(void 0),ve=(0,I.useRef)(null),ye=(0,I.useRef)(void 0),be=(0,I.useRef)(0),xe=(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&&(ge.current={rowKey:r,viewportTop:n.getBoundingClientRect().top-t})}v()},[v,t]),Se=(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||ae.length===0||_e.current===n)return;_e.current=n,pe.current=!1,me.current=!1,he.current=!0;let t=YE(e)?.candidates.map(e=>({candidate:e,index:ae.findIndex(t=>t.kind===`message`&&t.message.sourceId===e.sourceId)})).find(e=>e.index>=0),r=requestAnimationFrame(()=>{if(!t){oe.scrollToEnd({behavior:`instant`}),ce(!0),pe.current=!0;return}oe.scrollToIndex(t.index,{align:`start`,behavior:`instant`}),le.current=!1,ce(!1),pe.current=!0;let e=performance.now()+R1;be.current=e;let n=()=>{performance.now()>=e||performance.now()<de.current||(Se(t.candidate.sourceId,t.candidate.screenTop),r=requestAnimationFrame(n))};n()});return()=>cancelAnimationFrame(r)},[Se,ae.length,e,n,oe]),(0,I.useLayoutEffect)(()=>{let e=ge.current,n=t.current;if(!e||!n||g)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(),ge.current===e&&(ge.current=null)})});return()=>{cancelAnimationFrame(a),cancelAnimationFrame(i)}},[g,M.length,t]);let Ce=(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]),we=(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]),Te=M[0]?.key;(0,I.useLayoutEffect)(()=>{let e=ye.current;if(ye.current=Te,e===void 0||e===Te||!pe.current||le.current||ge.current)return;let t=ve.current;if(!t)return;we(t);let n=()=>{if(performance.now()<de.current)return;let e=ve.current;e&&we(e)},r=0,i=requestAnimationFrame(()=>{n(),r=requestAnimationFrame(n)});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[we,Te]);let Ee=(0,I.useCallback)(()=>{let e=t.current;if(!e||ge.current||performance.now()<be.current)return;let n=w$({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight,previousScrollHeight:ue.current,following:le.current,readerMoved:performance.now()<de.current});if(le.current=n.following,n.scrollTop!==null&&(e.scrollTop=n.scrollTop),ue.current=e.scrollHeight,ce(e=>e===n.following?e:n.following),z1&&!n.following&&performance.now()>=de.current){let t=ve.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}`)}}ve.current=Ce()??ve.current},[Ce,t]);(0,I.useLayoutEffect)(Ee),(0,I.useEffect)(()=>{let e=fe.current;if(!e)return;let t=new ResizeObserver(Ee);return t.observe(e),()=>t.disconnect()},[Ee]),(0,I.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>{Ee();let t=T$({armed:he.current,scrollTop:e.scrollTop,readerMoved:pe.current&&me.current,hasEarlier:m,loading:g});he.current=t.armed,t.shouldLoad&&xe()},r=()=>{me.current=!0,de.current=performance.now()+L1,requestAnimationFrame(n)},i=t=>{[`ArrowUp`,`PageUp`,`Home`,` `].includes(t.key)&&(e.scrollTop<=480&&(he.current=!0),r())},a=t=>{t.deltaY<0&&e.scrollTop<=480&&(he.current=!0),r()},o=()=>{e.scrollTop<=480&&(he.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)}},[m,g,xe,Ee,t]);let De=oe.getVirtualItems(),Oe=oe.getTotalSize();return(0,L.jsxs)(`div`,{ref:fe,"data-virtualized-transcript":!0,"data-virtual-row-count":De.length,className:`relative w-full`,style:{height:Oe},children:[De.map(t=>{let n=ae[t.index];return n?(0,L.jsx)(`div`,{ref:oe.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)(qZ,{thread:s,className:`px-6 pt-5`,autoFocusFirst:!0}),(0,L.jsx)(gQ,{thread:s,questions:re.tail,inFlight:a,className:`px-6 pt-5`})]}):n.kind===`questions`?(0,L.jsx)(gQ,{thread:s,questions:n.questions,className:`px-6 pt-5`}):n.kind===`transport-fallback`?u?(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 ${Uq} border border-border-strong bg-panel-2 px-4 py-2.5 text-[12px]`,title:u.kind===`payload-too-large`?`Live payload ${u.actualBytes} bytes; socket limit ${u.maxBytes} bytes`:`Transcript read budget reached (${u.scope}); retry after about ${u.retryAfterMs}ms`,children:[(0,L.jsx)(nh,{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.`}),` `,u.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:d,onClick:f,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:d?`Refreshing…`:`Refresh once`}),(0,L.jsx)(`button`,{type:`button`,onClick:p,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:_?(0,L.jsxs)(`span`,{className:`flex flex-wrap items-center justify-center gap-2 text-center`,children:[(0,L.jsx)(`span`,{children:_}),(0,L.jsx)(`button`,{type:`button`,onClick:xe,className:`rounded-md border border-border px-2 py-1 text-fg/90 hover:bg-panel-2`,children:`Retry`})]}):g?(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(jm,{size:12,className:`animate-spin`}),` Loading earlier messages…`]}):(0,L.jsx)(`button`,{type:`button`,onClick:xe,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)(iZ,{at:n.stampAt,host:jY(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(q0,{m:n.message,answering:o(n.message),showSendButton:!0,paired:i[n.messageIndex],staleAwaiting:O>=0&&n.messageIndex<O,restingCardShown:n.messageIndex===E&&k,restedAt:D&&n.messageIndex===D.index?D.at??``:void 0,shadowedBy:ie.get(n.messageIndex),thread:s})}):n.kind===`runtime-status`?(0,L.jsxs)(`div`,{className:`px-6`,style:{paddingTop:ne},children:[(0,L.jsx)(W1,{state:F,slug:e,retryText:N>=0?r[N]?.text:void 0,onTerminal:l,liveRuntimeStart:T,liveActivityLabel:w,liveToolRun:S}),s?.permPolicy?(0,L.jsx)(`div`,{className:`mt-3`,children:(0,L.jsx)(i2,{policy:s.permPolicy,denies:s.permDenies})}):null]}):(0,L.jsx)(iZ,{at:n.message.at,host:jY(n.message,i[n.messageIndex]),gap:n.gap,children:(0,L.jsx)(q0,{m:n.message,paired:i[n.messageIndex]})})},n.key):null}),(0,L.jsx)(K1,{overlay:y,hidden:se,onJump:()=>oe.scrollToEnd({behavior:`smooth`})})]})}function K1({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)(Kp,{size:12}),`Jump to latest`]}),e)}function q1({slug:e,onStatusApplied:t,onClose:n,showReturnToQueue:r=!1}){let i=Ep(OC(),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=ZG(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=iT(i);function _(){c(!1),u(``)}function v(){let e=FY(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:RY,children:[(0,L.jsx)(`div`,{className:zY,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(IY(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)(KX,{thread:i,hidden:s})]}),(0,L.jsx)(p$,{at:hT(i),fallbackAt:i.spawnedAt,className:`mt-0.5 block truncate text-[11px] leading-tight text-muted/75`})]})}),(0,L.jsxs)(`div`,{className:BY,children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[p&&(0,L.jsx)(C$,{slug:e}),(0,L.jsx)(dX,{thread:i,collapse:r,onDoc:f?()=>Qf(`doc`,i.id):void 0,onDone:()=>a.mutate(void 0,{onSuccess:t}),doneBusy:a.isPending,onStatusApplied:t}),n&&(0,L.jsx)(Lj,{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)(ih,{size:15})})]})]})}function J1(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||ZX(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 Y1(e){if(e.kind===`event`||e.kind===`reasoning`||e.role===`user`||ZX(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 X1(e){return J1(e)!==null}function Z1(e){return Y1(e)!==null}function Q1(e){return e.kind===`event`&&!e.boundary||e.kind===`reasoning`}function $1(e){return Q1(e)||X1(e)}function e0(e){return Q1(e)||Z1(e)}function t0(e){if(Q1(e))return!0;let t=J1(e);return t!==null&&!P$(t[t.length-1])}function n0(e){if(Q1(e))return!0;let t=Y1(e);return t!==null&&!P$(t[0])}function r0(e){let t=J1(e);return t!==null&&I$(t[t.length-1])}function i0(e){let t=Y1(e);return t!==null&&I$(t[0])}function a0(e,t){let n=r0(e)||i0(t),r=!n&&$1(e)&&e0(t)&&!(t0(e)&&n0(t));return(n?22:r?6:14)+(e.role===`user`&&t.role!==`user`?3:0)}function o0(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:l0(e,n.text,t)):(e.tools?.length??0)===0&&l0(e,e.text,t)}function s0(e){for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`&&e[t].kind!==`event`)return t;return-1}function c0(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=>o0(e,r.has(e))}function l0(e,t,n){return!e.fenceRefused&&!n?!t.trim():Bq(t).every(e=>e.kind===`fence`&&e.fenceKind===`awaiting`)}function u0(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`&&!l0(e,n.text,t)):typeof e.text==`string`&&!l0(e,e.text,t)}function d0(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.queued||o0(n)))return r0(n)?22:$1(n)&&!t0(n)?6:14+(n.role===`user`?3:0)}return 0}function f0(e,t,n){let r=[],i=null;return e.forEach((e,a)=>{n?.(e,a)||o0(e)||(i!==null&&r.push((0,L.jsx)(MJ,{h:a0(i,e)},`s${a}`)),r.push(t(e,a)),i=e)}),r}function p0(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 m0(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)(MJ,{h:typeof t==`number`?t:t(n)},`vs${n}`)),r.push(e)}),r}var h0={head:!1,tail:!1};function g0(e,t){return n=>e[n-1]?.tail||e[n]?.head?22:t}function _0(e){return{head:I$(e[0]),tail:I$(e[e.length-1])}}function v0(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}):F$(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 y0(e){return e.split(`__`).pop()||e}function b0(e){let t=X.board?.projectDir;return t&&e.startsWith(t+`/`)?e.slice(t.length+1):e}function x0({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=l1(a,c1(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 ${aZ}`,children:[(0,L.jsx)(`span`,{"data-tool-activity-label":!0,title:o,className:`min-w-0 truncate text-muted`,children:o}),(0,L.jsx)(em,{"data-tool-activity-chevron":!0,"aria-hidden":`true`,size:13,className:sZ(n)})]}),n&&(0,L.jsx)(`div`,{id:i,className:`mt-1.5 flex flex-col`,children:m0(e.map((e,n)=>(0,L.jsx)(C0,{t:e,startedAt:t},n)),6)}),!n&&(0,L.jsx)(`div`,{id:i,hidden:!0})]})}function S0({tools:e,at:t}){let n=[];for(let t of e){let e=P$(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:m0(n.map((e,n)=>e.exceptional?(0,L.jsx)(`div`,{className:`flex flex-col`,children:m0(e.tools.map((e,n)=>(0,L.jsx)(C0,{t:e,startedAt:t},n)),g0(e.tools.map(e=>_0([e])),6))},`exceptions-${n}`):(0,L.jsx)(x0,{tools:e.tools,at:t},`activity-${n}`)),g0(n.map(e=>_0(e.tools)),6))})}function C0({t:e,startedAt:t}){let n=(0,I.useContext)(O1),r=OC(),i=pE(e,(n?Ep(r,n):void 0)?.bgShells??[]);return e.edits&&e.status!==`failed`&&e.status!==`cancelled`?(0,L.jsx)(qK,{edits:e.edits,meta:(0,L.jsx)(O0,{status:e.status,backgroundState:e.backgroundState,liveBackgroundState:i,exitCode:e.exitCode,durationMs:e.durationMs})}):e.command?(0,L.jsx)(I0,{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)(N0,{name:e.name,detail:e.detail,outputImage:e.outputImage,output:e.output,status:e.status,durationMs:e.durationMs}):e.read?(0,L.jsx)(R0,{detail:e.detail,read:e.read,status:e.status,durationMs:e.durationMs}):e.prompt||e.agentId?(0,L.jsx)(B0,{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)(H0,{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)(P0,{images:e.sentImages??[],files:e.sentFiles??[],caption:e.caption,status:e.status,durationMs:e.durationMs}):e.todos?(0,L.jsx)(gq,{todos:e.todos,note:e.input,meta:(0,L.jsx)(O0,{status:e.status,durationMs:e.durationMs})}):F$(e)?(0,L.jsx)(w0,{ask:e.ask??[],askAnswers:e.askAnswers}):e.input||e.output?(0,L.jsx)(I0,{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)(M0,{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 w0({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=UZ(e,t?.[n]);return(0,L.jsx)(hY,{question:r.question,settled:{chosenIdxs:r.chosenIdxs,text:r.text}},n)})})}function T0({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 E0(e,t,n){let[r,i]=(0,I.useState)(()=>Date.now()),a=uE(e,t),o=dE(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(lE-(Date.now()-e),0));return()=>clearTimeout(t)},[a,o,n]),o}function D0({status:e,backgroundState:t,liveBackgroundState:n,startedAt:r}){let i=E0(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:kE}):cE(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 O0({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:mE(i),c=[o,s].filter(Boolean).join(` · `);return(0,L.jsx)(T0,{tone:e===`failed`?`frizz-tool-failed`:e===`cancelled`?`text-amber-400`:`text-muted/55`,title:c,label:a,duration:s})}function k0(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 A0(e,t,n){let r=t&&t!==X.board?.projectDir?`in ${b0(t)}`:void 0;return[e,t?r:n!==void 0&&!e?.includes(String(n))?`session ${n}`:void 0].filter(Boolean).join(` · `)||void 0}function j0(e){return e.startsWith(`/`)&&!e.includes(` `)&&!e.includes(`…`)}function M0({name:e,detail:t,count:n,status:r,backgroundState:i,liveBackgroundState:a,exitCode:o,cwd:s,sessionId:c,durationMs:l,startedAt:u}){let d=A0(t,s,c),f=d?b0(d):void 0,p=t&&j0(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)(D0,{status:r,backgroundState:i,liveBackgroundState:a,startedAt:u}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:y0(e)}),f&&(p?(0,L.jsx)(`span`,{className:`min-w-0 truncate`,onClick:e=>e.stopPropagation(),children:(0,L.jsx)(GK,{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)(O0,{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 N0({name:e,detail:t,outputImage:n,output:r,status:i,durationMs:a}){let o=t?b0(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:y0(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)(O0,{status:i,durationMs:a})})]});return(0,L.jsxs)(`div`,{children:[(0,L.jsx)(Y0,{path:n,hideCaption:!0,altText:o?`${y0(e)}: ${o}`:y0(e),header:s}),r&&(0,L.jsx)(`pre`,{className:`frizz-bash frizz-bash-body frizz-bash-output-body mt-1.5`,children:r})]})}function P0({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)(O0,{status:r,durationMs:i}),(0,L.jsx)(em,{"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)(Y0,{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)(X0,{path:e},`f${t}`))}),n&&(0,L.jsx)(`div`,{className:`max-w-[65%] text-[12px] leading-snug text-muted`,children:n})]})})]})}var F0=16;function I0({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=k0(i,d,l),b=(0,I.useMemo)(()=>e.split(`
|
|
314
314
|
`).length,[e]),x=b>F0,S=(0,I.useMemo)(()=>n?n.split(`
|
|
315
315
|
`).length:0,[n]),C=S>F0,w=A0(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`} `:``}${y0(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)(D0,{status:i,backgroundState:a,liveBackgroundState:o,startedAt:d}),(0,L.jsx)(`span`,{className:`petite-caps frizz-bash-label shrink-0`,children:y0(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)(O0,{status:i,backgroundState:a,liveBackgroundState:o,exitCode:s,durationMs:y}),T&&(0,L.jsx)(em,{"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)(uq,{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 L0=16;function R0({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
316
|
`).length,[t]),u=l>L0,d=e?b0(e):void 0,f=e&&j0(e)?e:void 0;return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.jsxs)(WK,{className:`frizz-bash-header`,controls:c,expanded:i,label:`${i?`Collapse`:`Expand`} Read${e?`: ${e}`:``}`,onToggle:()=>a(e=>!e),meta:(0,L.jsx)(O0,{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)(GK,{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)(uq,{text:t,language:cS(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 z0=16;function B0({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
317
|
`).length:0,[h]),_=g>z0,v=A1(),y=OC(),b=v?Ep(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=XX(r),E=aE(),D=nZ({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:TE,title:EE}):x?.state===`rested`?(0,L.jsx)(`span`,{className:DE,title:OE}):null;function k(){!v||!i||$f(v,i,{label:w,subagentType:r,startedAt:x?.startedAt})}return(0,L.jsxs)(`div`,{className:`frizz-bash`,children:[(0,L.jsxs)(WK,{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)(T0,{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 V0(e,t){return t===`shutdown_request`?`Shutdown`:t===`codex_followup`?`Followed up`:e===`main`?`Reported`:`Steered`}function H0({to:e,summary:t,body:n,type:r,dispatchId:i,targetLabel:a,status:o,durationMs:s,at:c}){return(0,I.useContext)(O1)===null?(0,L.jsx)(W0,{to:e,summary:t,body:n,type:r,status:o,durationMs:s}):(0,L.jsx)(l2,{to:e,type:r,dispatchId:i,targetLabel:a,at:c})}var U0=16;function W0({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=XK(uK(n)),f=(0,I.useMemo)(()=>n.split(`
|
|
318
318
|
`).length,[n]),p=f>U0,m=!!n.trim(),h=V0(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)(O0,{status:i,durationMs:a}),m&&(0,L.jsx)(em,{"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 G0({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)(()=>CL(e,[...i.keys()]),[e,i]).map((e,t)=>{let a=e.token?i.get(e.token):void 0;if(!a)return(0,L.jsx)(nY,{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:gL(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 K0({text:e,rawText:t,queued:n,deliveryUnconfirmed:r,deliveryId:i,sourceId:a}){let o=(0,I.useContext)(O1),s=bY(o),{unqueue:c,pending:l}=wY(o),u=!!(n&&i&&o&&s),d=TY(n?o:null),{deliverNow:f,pending:p}=EY(o),m=!!(n&&o&&d),{prose:h,attachments:g}=(0,I.useMemo)(()=>pL(e),[e]),_=(0,I.useMemo)(()=>AL(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)(G0,{body:_.body,items:_.items}):(0,L.jsx)(nY,{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)(jm,{size:15,strokeWidth:2.2,className:`animate-spin`}):(0,L.jsx)(qp,{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)(Y0,{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)(X0,{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 q0=(0,I.memo)(function({m:e,answering:t,dense:n,paired:r,textOnly:i,showSendButton:a,staleAwaiting:o,shadowedBy:s,thread:c,restingCardShown:l,restedAt:u}){let d=tW(),[f,p]=(0,I.useState)(!1);if(e.kind===`event`)return(0,L.jsx)(u2,{text:e.text,boundary:e.boundary,sourceId:e.sourceId,at:e.at});if(e.kind===`reasoning`)return(0,L.jsx)(d2,{text:e.text,sourceId:e.sourceId});let m=ZX(e);if(m)return(0,L.jsx)(s2,{call:m,sourceId:e.sourceId,at:e.at});if(e.role===`user`){let t=DY(e).replace(/\r\n?/g,`
|
|
319
|
-
`),i=r===void 0?lJ(t):r;if(i)return(0,L.jsx)(rY,{answers:i,queued:e.queued,sourceId:e.sourceId});let a=e.wake?xl(t):void 0;return a?(0,L.jsx)(YJ,{bump:a,sourceId:e.sourceId,at:e.at}):e.wake?(0,L.jsx)(RJ,{steer:e.wakeSteer,text:t,sourceId:e.sourceId,at:e.at,wrap:n}):e.peerFrom?(0,L.jsx)(c2,{from:e.peerFrom,unnamed:e.peerUnnamed,dispatchId:e.peerDispatchId,sourceId:e.sourceId,at:e.at}):(0,L.jsx)(K0,{text:t,rawText:e.text,queued:e.queued,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let h=[],g=[],_=(e,t=h0)=>{h.push(e),g.push(t)},v={n:-1},y={drawn:!1},b=[],x=(r,i)=>{for(let[a,c]of Bq(r).entries()){if(c.kind===`fence`){if(c.fenceKind===`awaiting`&&(e.fenceRefused||o||l))continue;c.fenceKind===`awaiting`&&(y.drawn=!0),_((0,L.jsx)(e2,{fenceKind:c.fenceKind,body:c.body,hints:c.hints,wrap:n,notAfter:u},`${i}-f${a}`));continue}for(let[e,r]of bq(c.text).entries()){if(r.kind===`prose`){for(let[t,o]of fL(r.text).entries()){let r=`${i}-${a}-p${e}-${t}`;_(o.kind===`image`?(0,L.jsx)(Y0,{path:o.path},r):o.kind===`file`?(0,L.jsx)(X0,{path:o.path},r):o.kind===`visualization`?(0,L.jsx)($0,{file:o.file},r):o.kind===`directive`?(0,L.jsx)(w1,{directive:o.directive},r):o.kind===`mermaid`?(0,L.jsx)(D1,{source:o.source},r):(0,L.jsx)(J0,{md:o.text,wrap:n},r))}continue}v.n+=1;let o=v.n;if(s&&jJ(r,s)!==void 0||r.registeredId&&r.text.trim()===``)continue;t&&b.push({raw:r.text,kind:r.questionKind,danger:r.danger,bi:o});let c=t&&!d?{answer:t.answerFor(o),onChip:(e,n)=>t.onChip(o,e,n),onText:e=>t.onText(o,e),onSubmit:t.onSubmit}:void 0;_((0,L.jsx)(hY,{raw:r.text,questionKind:r.questionKind,danger:r.danger,interactive:c,wrap:n},`${i}-${a}-q${e}`))}}};if(e.parts&&e.parts.length>0)p0(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(i)return;let a=v0(t.tools);a.length&&_((0,L.jsx)(S0,{tools:a,dense:n,at:e.at},`t${r}`),_0(a))}else x(t.text,`x${r}`)});else{if(!i){let t=v0(e.tools);t.length>0&&_((0,L.jsx)(S0,{tools:t,dense:n,at:e.at},`tools`),_0(t))}x(e.text,`leg`)}return u!==void 0&&c&&!y.drawn&&!e.fenceRefused&&t$(c,{notAfter:u})&&_((0,L.jsx)(c$,{thread:c,notAfter:u},`rested-on`)),h.length===0?null:(a&&t&&d&&b.length>0?_((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-mobile-answer-open":!0,onClick:()=>p(!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:b.length>1?`Answer ${b.length} questions`:`Answer`})},`answer-open`)):a&&t&&b.length>0&&_((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:[m0(h,g0(g,14)),f&&t&&b.length>0?(0,L.jsx)(yY,{blocks:b,answering:t,onClose:()=>p(!1)}):null]}))});function J0({md:e,wrap:t}){let n=uK(e),r=XK(n),i=(0,I.useRef)(null);return cq(i,n),n?(0,L.jsx)(`div`,{ref:i,className:`md-body${t?` ${Hq}`:``}`,dangerouslySetInnerHTML:r}):null}function Y0({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=e.split(`/`).filter(Boolean).pop()||e;return(0,L.jsx)(kG,{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:AS(e),alt:n??o,"data-local-path":e,"data-local-image":`true`,onError:()=>a(!0),className:`cursor-pointer ${MG}`})})}function X0({path:e}){let t=e.split(`/`).filter(Boolean).pop()||e;return(0,L.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${Uq} 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)(hm,{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 Z0={"--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 Q0(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(Z0).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 $0({file:e}){let t=(0,I.useContext)(O1),n=(0,I.useRef)(null),[r,i]=(0,I.useState)(360),[a,o]=(0,I.useState)(null),s=t?`${Md()}/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:`${Uq} 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 ${Uq} 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(Q0(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function e2({fenceKind:e,body:t,hints:n,wrap:r,notAfter:i}){let a=uK(t),o=(0,I.useContext)(O1),s=(0,I.useContext)(j1),c=OC(),l=o?Ep(c,o):void 0,u=l?mX(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)(Xq,{icon:Zp,label:`Done`,children:[a&&(0,L.jsx)(lq,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:a}),p&&(0,L.jsx)(Qq,{children:(0,L.jsx)(WX,{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&&a$(l)?null:(0,L.jsx)(c$,{thread:l,fence:{body:t,hints:n},notAfter:i})}function t2({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=Ve(),l=TR[n.backend],u=t=>{s(!0),bH(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)(Xq,{"data-provider-fault":!0,tone:`danger`,icon:Om,label:`${l} sign-in required`,children:[(0,L.jsx)(`span`,{className:Zq,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,L.jsxs)(Qq,{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:tJ,children:`Sign in`})]}),i&&(0,L.jsx)(OR,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function n2({slug:e,sessionId:t,pause:n}){let r=TR[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)(Xq,{"data-limit-pause":!0,tone:`caution`,icon:wm,label:`Paused by the ${r} ${i}`,children:[(0,L.jsx)(`span`,{className:Zq,children:n.autoResume?n.resumesAt?`Continuing automatically at ${XT(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{onClick:()=>{o(!0),bH(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 ${tJ}`,children:`Continue now`})})]})}function r2({onTerminal:e}){return(0,L.jsxs)(Xq,{tone:`attention`,icon:Om,label:`Permission approval`,children:[(0,L.jsx)(`span`,{className:Zq,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:tJ,children:`Copy terminal command`})})]})}function i2({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return(0,L.jsxs)(Xq,{tone:`caution`,icon:nh,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:Zq,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 a2({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=Ep(OC(),e),o=a?.subAgents??[],s=n?i?LE(o,i):o:[],c=i?[...r]:VE(a?.bgShells??[],r),l=i?[]:(a?.watches??[]).filter(e=>e.kind===`github`),u=s.length+c.length+l.length,d=new Set((a?.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`).map(e=>e.target)),f=e=>d.has(e.taskId??``)||d.has(e.id??``)||d.has(e.label),[,p]=(0,I.useState)(0);(0,I.useEffect)(()=>{if(u===0)return;let e=setInterval(()=>p(e=>e+1),3e4);return()=>clearInterval(e)},[u]);let m=GC(e,c.flatMap(e=>e.id&&!e.outputUnavailable?[e.id]:[]));return u===0?null:(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[zE(s,`sheet`).map((t,n)=>(0,L.jsx)(HE,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>$f(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t)},`a${n}`)),zE(c,`sheet`).map((t,n)=>(0,L.jsx)(HE,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,counter:t.id?jE(m.get(t.id)):void 0,counterTitle:`Lines of output so far — open the row to read them`,onOpen:t.id&&!t.outputUnavailable?()=>ep(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t,`SHELL`),title:f(t)?`${t.label}\nWatched — this thread wakes when it finishes`:void 0},`s${n}`)),l.map(e=>(0,L.jsx)(HE,{kind:`GITHUB`,label:e.target,state:`running`,density:`sheet`,startedAt:e.createdAt,counter:ME(e.github),counterTone:e.github?.checks===`failing`?`danger`:void 0,counterTitle:e.github?`${e.target} — ${LQ(e.github)}`:void 0,onOpen:()=>window.open(CH(e.target)??`https://github.com/${e.target.replace(`#`,`/pull/`)}`,`_blank`,`noreferrer,noopener`)},e.id))]})}function o2({ask:e,onTerminal:t}){return(0,L.jsxs)(Xq,{tone:`attention`,icon:sm,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)(Qq,{children:(0,L.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:tJ,children:[(0,L.jsx)(Om,{size:12,className:`shrink-0 ${MY}`}),`Copy terminal command`]})})]})}function s2({call:e,sourceId:t,at:n}){let r=A1(),i=e.detail??`sub-agent`,{tail:a}=$X(e),o=!!(r&&e.agentId);return(0,L.jsxs)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${i}`,onClick:()=>$f(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 c2({from:e,unnamed:t,dispatchId:n,sourceId:r,at:i}){let a=A1(),o=!!(a&&n),s=t?void 0:e,c=t&&e?`${AE.AGENT} — ${e}`:AE.AGENT;return s===void 0?(0,L.jsx)(NJ,{icon:Yp,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":`${AE.AGENT}${e?`: ${e}`:``}`,onClick:()=>$f(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)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${s}`,onClick:()=>$f(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 l2({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i,at:a}){let o=A1(),s=V0(e,t),c=e===`main`?void 0:r??e,l=!!(o&&n);return(0,L.jsxs)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${c}`,onClick:()=>$f(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 u2({text:e,boundary:t,sourceId:n,at:r}){return t?(0,L.jsx)(NJ,{icon:t===`wake`?$m: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:aZ,children:e})}function d2({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:`${aZ} 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)(em,{"aria-hidden":`true`,size:13,className:sZ(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)(J0,{md:e,wrap:!0})})]})}function f2(){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 p2({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=_E(Math.max(0,o-a)),f=(0,I.useMemo)(()=>v0([...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 ${aZ}`,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??u1(p)}),m&&(0,L.jsx)(em,{"data-working-chevron":!0,"aria-hidden":`true`,size:13,className:sZ(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:m0(f.map((e,t)=>(0,L.jsx)(C0,{t:e,startedAt:r?.at},t)),6)}),m&&!c&&(0,L.jsx)(`div`,{id:u,hidden:!0})]})}function m2(){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 h2({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=Mp(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=m2(),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 _=OC(),v=xd(_,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 rW({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)(()=>(md(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>md(e,null)),[e]),(0,L.jsx)(MI,{modal:m,open:!0,onOpenChange:e=>{e||o()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`${Dp} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,L.jsxs)(WI,{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}yR(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 ${Op} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:Ap(r),viewTransitionName:f.vtReturnTarget===t?`thread-chat`:void 0},children:[(0,L.jsx)(YI,{className:`sr-only`,children:v.kind===`found`?`Thread: ${iT(v.thread)}`:`Thread: ${t}`}),c&&v.kind===`found`?(0,L.jsx)(F1,{slug:t,onStatusApplied:o,onClose:o,virtualized:!0}):c&&v.kind===`missing`?(0,L.jsx)(g2,{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 g2({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 ${ah} 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 _2({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=UC(t,n),f=kC(),p=(0,I.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,I.useMemo)(()=>N1(p),[p]),_=(0,I.useMemo)(()=>P1(p),[p]),v=(0,I.useMemo)(()=>K$(_),[_]),y=h?Y$(v):void 0,b=h?J$(v):void 0,x=b?a1(b,f):void 0,S=h?Z$(v):void 0,C=(0,I.useMemo)(()=>h?e1(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)(Ip,{id:e,depth:o,widthDepth:s,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(k1.Provider,{value:t,children:(0,L.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[f0(C.map(e=>e.message),(e,t)=>(0,L.jsx)(q0,{m:e},t)),w&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(MJ,{h:d0(C.map(e=>e.message))}),(0,L.jsx)(p2,{since:a,startedAt:S,activityLabel:x,run:y})]})]})})}),(0,L.jsx)(v2,{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)(a2,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function v2({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}).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)(y2,{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)(JL,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,L.jsx)(y2,{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)(y2,{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 y2({subagentType:e}){let t=YX(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 ${$L}`,children:(0,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}var b2=`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${Uq} border border-border bg-bg/75 px-4 py-2.5 text-[12px] leading-relaxed text-fg/85`;function x2({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,I.useRef)(null),c=WC(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=xE(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 SR(u),Z(`Command copied`)}catch{Z(`Could not copy command`)}}return(0,L.jsx)(Ip,{id:e,depth:a,widthDepth:o,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{title:r,icon:(0,L.jsx)($m,{"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)(dm,{"aria-hidden":!0,size:11}),` Copy`]})]}),u?(0,L.jsx)(uq,{"data-background-shell-command":!0,text:u,language:`bash`,className:b2}):(0,L.jsx)(`pre`,{"data-background-shell-command":!0,className:b2,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 ${Uq} 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 ${Uq} 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 S2(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 C2={paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`};function w2({path:e}){return(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{Y.openLocalFile({path:e}).then(async e=>{e.action===`copy`&&(await SR(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)(pm,{size:12,"aria-hidden":`true`}),` Open`]})}function T2({source:e}){return(0,L.jsx)(uq,{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 E2({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=jC(t),o=nt({...RS(t),refetchInterval:a?!1:zS}),s=o.data?.path??t,{front:c,body:l}=S2(o.data?.markdown??``),u=uK(l,{baseDir:IS(s),asDocument:!0}),d=XK(u),f=(0,I.useRef)(null);return cq(f,u),(0,L.jsx)(Ip,{id:e,depth:r,widthDepth:i,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(T2,{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:C2,children:(0,L.jsx)(w2,{path:s})})]})})}function D2({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=PY(Ep(o.board,t)),c=oz(),l=az.adopt(c,t),[u,d,f]=cz(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)=>{rz.get(l)||d(t),Z(`Start failed: ${e.message.slice(0,80)}`)}}),m=uK(ZG(a.data?.markdown??``)),h=XK(m);return(0,L.jsx)(Ip,{id:e,depth:r,widthDepth:i,widthOffset:1,subagentParent:t,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(JL,{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 O2(){let e=Zt(X),t=OC();(0,I.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(vR()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(X.showPalette)X.showPalette=!1;else if(X.showNewThread)X.showNewThread=!1;else if(X.showGithubPicker)Gf();else if(X.showSettings)ld()||(X.showSettings=!1);else if(X.drawers.length>0){let e=X.drawers[X.drawers.length-1];pd(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)(h2,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,L.jsx)(_2,{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)(x2,{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)(E2,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,L.jsx)(D2,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=Ep(t,e.slug);return n?iT(n):e.slug})()},e.id);return(0,L.jsx)(ch,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,L.jsx)(ph,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function k2(e){return(e.tools??[]).some(e=>e.name===`mcp__frizz__done`&&e.status===`completed`)}function A2(e){let t=bq(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 j2(e){let t=new Map,n=[];for(let r=0;r<e.length;r++){let i=A2(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 M2(e,t,n){return Cq(e.text)?!n.has(t):k2(e)?!0:e.wake===!0}function N2(e){return e.wake===!0}function P2(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 F2(e){return e.open<0||e.tools<1&&e.steps<1?!1:e.resumed||e.open!==e.close}function I2(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 L2(e){return zE(e,`card`).length>0}function R2({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=zE(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)(HE,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>$f(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t)},t.id??`${t.startedAt}-${n}`))})}var z2=320;function B2(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 V2(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 H2=0,U2=``;function W2(){H2++===0&&(U2=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function G2(){H2>0&&--H2===0&&(document.documentElement.style.overflowAnchor=U2)}function K2({thread:e,onSnooze:t,onSnoozeFailed:n}){return(0,L.jsx)(c$,{thread:e,onSnooze:t,onSnoozeFailed:n})}function q2(){let e=OC(),t=vT(AC(e?.threads??[]).filter(yT),Zt(eT).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=cH(),b=e=>v(e.id)||sH(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=V2(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=B2(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},z2);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}W2();let n=()=>{let t=Hf(e.slug);t!==null&&Math.abs(gd()-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),G2()})})},[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)(J2,{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)(X2,{slug:e.id,leaving:v(e.id),children:(0,L.jsx)($2,{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)(tH,{}),(0,L.jsx)(uz,{autoFocus:!0})]}):x.length===0?(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,L.jsx)(Dm,{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 J2({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,L.jsxs)(`div`,{className:`mb-6 ${Uq} 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)(Y2,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,L.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function Y2({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 X2({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 Z2({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)(NJ,{icon:nm,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 Q2({toolCount:e,onExpand:t}){let n=e>0?`${e} tool call${e===1?``:`s`}`:``;return(0,L.jsxs)(NJ,{icon:nm,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 $2=(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=S$(e.id),T=HC(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)(()=>s0(A),[A]),M=e=>j>=0&&e<j,N=a$(e),P=e=>M(e)||e===j&&N,ee=(0,I.useMemo)(()=>vJ(A),[A]),F=(0,I.useMemo)(()=>kY(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`||o0(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)(()=>j2(A),[A]),ie=(0,I.useMemo)(()=>A.map((e,t)=>{if(!e||e.queued||o0(e,P(t)))return{skip:!0};if(e.boundary===`rest`)return{skip:!0,closes:!0};let n=ZX(e),r=n?0:e.tools.length;return{text:u0(e,P(t)),tools:r,countable:u0(e,P(t))||r>0||n!==void 0||e.kind!==void 0,survives:M2(e,t,re),opens:N2(e),completion:e.boundary===`wake`||n!==void 0}}),[A,re]),ae=(0,I.useMemo)(()=>P2(ie,F+1),[ie,F]),{kept:oe,middle:se}=(0,I.useMemo)(()=>I2(ae),[ae]),ce=(0,I.useMemo)(()=>oe.filter(F2),[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=lx(A,f,F),fe=(0,I.useMemo)(()=>A.slice(de),[A,de]),pe=(0,I.useMemo)(()=>K$(fe).map(e=>({...e,messageIndex:e.messageIndex+de})),[fe,de]),me=(0,I.useMemo)(()=>{let t=[],n=new Map,r=A.length-1,i=e.runtime!==`running`&&e.runtime!==`spawning`;for(let[a,o]of SJ(A,e?.questions??[],{atRest:i})){if(a>=r){t.push(...o);continue}let e=n.get(a);e?e.push(...o):n.set(a,[...o])}return{byAnchor:n,tail:t}},[A,e.runtime,e?.questions]),he=(0,I.useMemo)(()=>TJ(A,e?.questions??[]),[A,e?.questions]),ge=(0,I.useMemo)(()=>pJ(A,e.answersInFlight),[A,e.answersInFlight]),_e=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=()=>{gx(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return gx(t,e.anchor,e=>{n=e}),n},r=n();if(_x({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,G2())})}))},[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,G2()))},[D?.transcriptKey]),(0,I.useEffect)(()=>()=>{b.current&&(b.current=!1,G2())},[]);let ve=e=>{let t=mx(v.current);!e||!t||(b.current||(b.current=!0,W2()),y.current={anchor:t,targetStartId:e})},ye=async()=>{if(m||!_e)return;let t=cx(A,de),n=t!==null&&A[t]?.role===`user`?t:null;if(n!==null){let e=A[n].sourceId;ve(e),p(e??null);return}let r=D?.beforeCursor;if(!r){if(de>0){let e=A[0]?.sourceId;ve(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;ve(a);let o=px(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)}}},be=it({mutationFn:()=>Y.markComplete({slug:e.id})}),{answeringForMessage:xe,answerable:Se,anyAnswered:Ce,sendAnswers:we,sendMessage:Te}=dY(e.id,A,()=>{document.activeElement?.blur(),r(e.id)},{scrollToBottom:!1,onSendFailed:()=>i(e.id)}),Ee=(0,I.useMemo)(()=>{let e=lY(A);return e!==-1&&AJ(A[e].text,he.get(e)??[])},[A,he]),De=Se&&!Ee||Ce,Oe=(0,I.useCallback)(()=>r(e.id),[r,e.id]),ke=(0,I.useCallback)(()=>i(e.id),[i,e.id]),Ae=(0,I.useMemo)(()=>({dismiss:Oe,cancel:ke}),[Oe,ke]);return(0,L.jsx)(O1.Provider,{value:e.id,children:(0,L.jsx)(j1.Provider,{value:Ae,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(!Ce)return;let t=e.target;t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||t instanceof HTMLTextAreaElement&&t.value.trim()||PL({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(),we())},"data-vt-chat":!0,className:`flex flex-col min-w-0 max-w-full ${Uq} 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?Uq:`${Wq} 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:iT(e),children:iT(e)}),(0,L.jsx)(KX,{thread:e})]}),(0,L.jsx)(p$,{at:hT(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)(C$,{slug:e.id}),(0,L.jsx)(dX,{thread:e,collapsed:o,onCollapse:()=>s(e=>!e),expand:!0,onDone:()=>be.mutate(void 0,{onSuccess:()=>r(e.id),onError:()=>d(!1)}),doneBusy:be.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 ${De?`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:[_e&&(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 ye(),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=[...me.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)(MJ,{h:14},`qa-space-${t}`)),n.push((0,L.jsx)(gQ,{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||o0(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)(MJ,{h:14},`middle-runs-space`)),n.push((0,L.jsx)(Z2,{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&&!Cq(t.text)&&!k2(t)&&M2(t,i,re);if(d!==void 0&&i===d.waker){r!==null&&n.push((0,L.jsx)(MJ,{h:r&&e0(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)(q0,{m:t,dense:!0})},e)),r=$1(t);return}if(f&&!h){if(!p&&!m&&!M2(t,i,re)||(!p&&u!==void 0&&!o.has(u)&&(r!==null&&n.push((0,L.jsx)(MJ,{h:14},`im-space-${u}`)),n.push((0,L.jsx)(Q2,{toolCount:d.tools,onExpand:()=>l(!0)},`intermediate-summary-${u}`)),r=!1,o.add(u)),!u0(t,P(i))))return;r!==null&&n.push((0,L.jsx)(MJ,{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)(q0,{m:t,dense:!0,textOnly:!0,answering:xe(t),paired:ee[i],staleAwaiting:M(i),restingCardShown:i===j&&N,shadowedBy:he.get(i),thread:e})},s)),r=!1,a(i);return}r!==null&&n.push((0,L.jsx)(MJ,{h:r&&e0(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)(q0,{m:t,dense:!0,staleAwaiting:M(i),restingCardShown:i===j&&N,answering:xe(t),paired:ee[i],shadowedBy:he.get(i),thread:e})},g)),r=$1(t),a(i)}),fe.forEach((e,r)=>{e.queued&&(n.push((0,L.jsx)(MJ,{},`qs${r}`)),n.push((0,L.jsx)(q0,{m:e,dense:!0,paired:ee[t+r]},`q${t+r}`)))}),n})()]}),!T.isLoading&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qZ,{thread:e,className:`mt-4`}),e.pendingInteraction?null:e.pendingAsk?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(o2,{ask:e.pendingAsk,onTerminal:w})}):e.runtime===`perm-prompt`?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(r2,{onTerminal:w})}):null,e.permPolicy?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(i2,{policy:e.permPolicy,denies:e.permDenies})}):null]}),!T.isLoading&&a$(e)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(K2,{thread:e,onSnooze:Oe,onSnoozeFailed:ke})}),!T.isLoading&&Vq(e,j>=0?A[j]?.text:void 0)&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(MJ,{}),(0,L.jsx)(e2,{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)(n2,{slug:e.id,sessionId:e.sessionId,pause:e.limitPause})}),!T.isLoading&&nJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(rJ,{thread:e})})]}),(0,L.jsx)(gQ,{thread:e,questions:me.tail,inFlight:ge,className:`shrink-0 px-5 pb-4 pt-0`}),De&&(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:!Ce,onClick:()=>we(),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)(iX,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:Se||(e.questions?.length??0)>0?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:Te,ops:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(R2,{slug:e.id,subAgents:e.subAgents??[],className:`px-1 pt-1.5`}),(0,L.jsx)(a2,{slug:e.id,includeAgents:!1,className:`px-1 ${L2(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,L.jsx)(VX,{thread:e,onArchived:()=>r(e.id),onDismissCancel:()=>i(e.id),onSnoozed:()=>r(e.id)})]})})})},e4);function e4(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 t4(e,t){if(e.backend===`claude`)return PR.some(t=>t.value===e.model)?zR(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 n4(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function r4({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 i4=30;function a4({onClose:e}){let t=XL(),{resolved:n,codexList:r,loadError:i,saveProfile:a}=qR(),[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:i4}),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=r4({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)(()=>GR(r),[r]),A=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,j=A?t4(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(n4(A,[...f].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,L.jsx)(fz,{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)(Cm,{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)(s4,{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)(s4,{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)(g4,{}):g.isError?(0,L.jsxs)(_4,{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)(_4,{children:[(0,L.jsx)(Dm,{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)(u4,{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)(o4,{label:`Previous page`,disabled:v<=1,onClick:()=>d(Math.max(1,v-1)),children:(0,L.jsx)($p,{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)(o4,{label:`Next page`,disabled:v>=y,onClick:()=>d(Math.min(y,v+1)),children:(0,L.jsx)(em,{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)(xR,{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:Nj,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)(jm,{size:13,className:`animate-spin`}),O<=1?`Start investigation`:`Start ${O} investigations`]})})]})]})})}function o4({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 s4({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 c4({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,L.jsx)(ym,{size:15,className:`shrink-0`,style:{color:CE.fgDone}}):t===`CLOSED`?(0,L.jsx)(bm,{size:15,className:`shrink-0`,style:{color:CE.fgDanger}}):e.isDraft?(0,L.jsx)(xm,{size:15,className:`shrink-0`,style:{color:CE.fgNeutral}}):(0,L.jsx)(Sm,{size:15,className:`shrink-0`,style:{color:CE.fgSuccess}}):t===`CLOSED`?(0,L.jsx)(im,{size:15,className:`shrink-0`,style:{color:CE.fgDone}}):(0,L.jsx)(om,{size:15,className:`shrink-0`,style:{color:CE.fgSuccess}})}function l4({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 u4({item:e,checked:t,onActivate:n}){let r=JT(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)(d4,{checked:t})}),(0,L.jsx)(`span`,{className:`mt-px`,children:(0,L.jsx)(c4,{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)(l4,{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)(m4,{prs:e.linkedPrs}):null,e.comments?(0,L.jsx)(h4,{icon:Fm,n:e.comments,label:`comments`}):null,e.reactions?(0,L.jsx)(h4,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function d4({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)(Zp,{size:11,strokeWidth:3,className:`text-bg`})})}var f4={octicon:`-0.1em`,stroke:`-0.112em`};function p4({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(${f4.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 m4({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)(p4,{size:12}),e.count]})}function h4({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(${f4.stroke})`},children:(0,L.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function g4(){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 _4({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 v4={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.`,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 y4(){return typeof Notification>`u`?`unsupported`:Notification.permission}var b4=500,x4=1600,S4=2e3,C4=6;function w4(){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=>{a5.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`),x4))}).catch(i=>{--a.current,t(`error`),!(n.current||!cf(i)||s.current>=C4)&&(s.current+=1,n.current=e,r.current=window.setTimeout(c.current,S4))}))},[]);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,b4)},[l]);return(0,I.useEffect)(()=>()=>{l(),o.current!==void 0&&window.clearTimeout(o.current)},[l]),{state:e,queue:u,flush:l}}function T4(){let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()}),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(y4()),{state:a,queue:o,flush:s}=w4(),[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)(()=>(cd(p),()=>cd(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,jp()?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:`${Dp} z-50 flex justify-end ${c?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,L.jsxs)(`div`,{className:`${Op} w-[560px] max-w-[94vw] ${c?`translate-x-0`:`translate-x-full`}`,children:[(0,L.jsx)(oh,{title:`Settings`,actions:(0,L.jsx)(E4,{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)(O4,{label:`Font`,help:v4.font,children:(0,L.jsx)(R4,{value:t.font??`mono`,onChange:e=>f({...t,font:e})})}),(0,L.jsx)(O4,{label:`Project sidebar`,help:v4.projectRail,children:(0,L.jsx)($Y,{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)(O4,{label:`Local file links`,help:v4.localFileOpener,children:(0,L.jsx)($Y,{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)(O4,{label:`Density`,help:v4.density,children:(0,L.jsx)(B4,{})}),(0,L.jsx)(O4,{label:`Queue order`,help:v4.queueOrder,children:(0,L.jsx)(V4,{})}),(0,L.jsxs)(O4,{label:`Desktop notifications`,help:v4.notifications,children:[(0,L.jsx)(z4,{value:t.notifications,onChange:m}),t.notifications&&(0,L.jsx)(U4,{perm:r})]}),(0,L.jsx)(N4,{draft:t,setDraft:f}),(0,L.jsx)(P4,{draft:t,setDraft:f})]}):(0,L.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`})]})})}function E4({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 D4({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)(Ij,{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)(sm,{size:12})})})]})}function O4({label:e,help:t,children:n}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsx)(D4,{label:e,help:t}),n]})}var k4=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}],A4=5e5,j4=[{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`}],M4=[{value:`auto`,label:`Automatic (default)`},{value:`5m`,label:`5 minutes`},{value:`1h`,label:`1 hour`}];function N4({draft:e,setDraft:t}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(F4,{label:`Claude`}),(0,L.jsxs)(O4,{label:`Permissions`,help:v4.permissionMode,children:[(0,L.jsx)($Y,{variant:`bordered`,value:e.permissionMode===`bypassPermissions`?`bypassPermissions`:`auto`,onValueChange:n=>t({...e,permissionMode:n}),options:NR,indicatorPosition:`right`,ariaLabel:`Claude permission mode`}),e.permissionMode===`bypassPermissions`&&(0,L.jsx)(H4,{})]}),(0,L.jsx)(O4,{label:`Compaction window`,help:v4.autoCompactWindow,children:(0,L.jsx)($Y,{variant:`bordered`,value:String(e.autoCompactWindow??A4),onValueChange:n=>t({...e,autoCompactWindow:Number(n)}),options:j4,indicatorPosition:`right`,ariaLabel:`Claude compaction window`})}),(0,L.jsx)(O4,{label:`Prompt cache tier`,help:v4.promptCacheTtl,children:(0,L.jsx)($Y,{variant:`bordered`,value:e.promptCacheTtl??`auto`,onValueChange:n=>t({...e,promptCacheTtl:n}),options:M4,indicatorPosition:`right`,ariaLabel:`Claude prompt cache tier`})})]})}function P4({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)(F4,{label:`Prompts`}),n.data?(0,L.jsx)(L4,{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 F4({label:e}){return(0,L.jsxs)(`div`,{className:`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 I4(){let[e,t]=(0,I.useState)(!1);return(0,L.jsxs)(aV,{open:e,onOpenChange:t,children:[(0,L.jsx)(oV,{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)(cV,{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:k4.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 L4({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)(D4,{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)(I4,{})]})]}),(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 R4({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 z4({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 B4(){let{compactDiffs:e}=Zt(eT);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:()=>eT.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 V4(){let{queueOrder:e}=Zt(eT);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:()=>eT.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 H4(){return(0,L.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:`New Claude threads will run every command, edit, and network call without asking you first.`})}function U4({perm:e}){return e===`denied`?(0,L.jsx)(G4,{}):(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 W4(){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 G4(){let e=(0,I.useMemo)(W4,[]),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)(q4,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,L.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,K4(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 K4(e){try{return new URL(e).host}catch{return e}}function q4({url:e,hint:t}){let[n,r]=(0,I.useState)(!1);async function i(){try{await SR(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)(Zp,{size:11,className:`text-live`}):(0,L.jsx)(dm,{size:11})})]})]})}var J4=1,Y4=.9,X4=.8,Z4=.17,Q4=.1,$4=.999,e3=.9999,t3=.99,n3=/[\\\/_+.#"@\[\(\{&]/,r3=/[\\\/_+.#"@\[\(\{&]/g,i3=/[\s-]/,a3=/[\s-]/g;function o3(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?J4:t3;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=o3(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=J4:n3.test(e.charAt(l-1))?(d*=X4,p=e.slice(i,l-1).match(r3),p&&i>0&&(d*=$4**+p.length)):i3.test(e.charAt(l-1))?(d*=Y4,m=e.slice(i,l-1).match(a3),m&&i>0&&(d*=$4**+m.length)):(d*=Z4,i>0&&(d*=$4**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=e3)),(d<Q4&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=o3(e,t,n,r,l+1,a+2,o),f*Q4>d&&(d=f*Q4)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function s3(e){return e.toLowerCase().replace(a3,` `)}function c3(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,o3(e,t,s3(e),s3(t),0,0,{})}var l3=`[cmdk-group=""]`,u3=`[cmdk-group-items=""]`,d3=`[cmdk-group-heading=""]`,f3=`[cmdk-item=""]`,p3=`${f3}:not([aria-disabled="true"])`,m3=`cmdk-item-select`,h3=`data-value`,g3=(e,t,n)=>c3(e,t,n),_3=I.createContext(void 0),v3=()=>I.useContext(_3),y3=I.createContext(void 0),b3=()=>I.useContext(y3),x3=I.createContext(void 0),S3=I.forwardRef((e,t)=>{let n=I3(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=I3(()=>new Set),i=I3(()=>new Map),a=I3(()=>new Map),o=I3(()=>new Set),s=P3(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=HD(),y=HD(),b=HD(),x=I.useRef(null),S=z3();F3(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),F3(()=>{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??g3;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(u3);t?t.appendChild(e.parentElement===t?e:e.closest(`${u3} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${u3} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${l3}[${h3}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(h3);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(l3)?.querySelector(d3))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return x.current?.querySelector(`${f3}[aria-selected="true"]`)}function j(){return Array.from(x.current?.querySelectorAll(p3)||[])}function M(e){let t=j()[e];t&&C.setState(`value`,t.getAttribute(h3))}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(h3))}function P(e){let t=A()?.closest(l3),n;for(;t&&!n;)t=e>0?M3(t,l3):N3(t,l3),n=t?.querySelector(p3);n?C.setState(`value`,n.getAttribute(h3)):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(yD.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(m3);t.dispatchEvent(e)}}}}},I.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:H3},c),V3(e,e=>I.createElement(y3.Provider,{value:C},I.createElement(_3.Provider,{value:w},e))))}),C3=I.forwardRef((e,t)=>{let n=HD(),r=I.useRef(null),i=I.useContext(x3),a=v3(),o=P3(e),s=o.current?.forceMount??i?.forceMount;F3(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=R3(n,r,[e.value,e.children,r],e.keywords),l=b3(),u=L3(e=>e.value&&e.value===c.current),d=L3(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(m3,f),()=>t.removeEventListener(m3,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(yD.div,{ref:nD(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)}),w3=I.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=HD(),s=I.useRef(null),c=I.useRef(null),l=HD(),u=v3(),d=L3(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);F3(()=>u.group(o),[]),R3(o,s,[e.value,e.heading,c]);let f=I.useMemo(()=>({id:o,forceMount:i}),[i]);return I.createElement(yD.div,{ref:nD(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),V3(e,e=>I.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},I.createElement(x3.Provider,{value:f},e))))}),T3=I.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=I.useRef(null),a=L3(e=>!e.search);return!n&&!a?null:I.createElement(yD.div,{ref:nD(i,t),...r,"cmdk-separator":``,role:`separator`})}),E3=I.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=b3(),o=L3(e=>e.search),s=L3(e=>e.selectedItemId),c=v3();return I.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),I.createElement(yD.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)}})}),D3=I.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=I.useRef(null),o=I.useRef(null),s=L3(e=>e.selectedItemId),c=v3();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(yD.div,{ref:nD(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},V3(e,e=>I.createElement(`div`,{ref:nD(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),O3=I.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return I.createElement(MI,{open:n,onOpenChange:r},I.createElement(RI,{container:o},I.createElement(BI,{"cmdk-overlay":``,className:i}),I.createElement(WI,{"aria-label":e.label,"cmdk-dialog":``,className:a},I.createElement(S3,{ref:t,...s}))))}),k3=I.forwardRef((e,t)=>L3(e=>e.filtered.count===0)?I.createElement(yD.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),A3=I.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return I.createElement(yD.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},V3(e,e=>I.createElement(`div`,{"aria-hidden":!0},e)))}),j3=Object.assign(S3,{List:D3,Item:C3,Input:E3,Group:w3,Separator:T3,Dialog:O3,Empty:k3,Loading:A3});function M3(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function N3(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function P3(e){let t=I.useRef(e);return F3(()=>{t.current=e}),t}var F3=typeof window>`u`?I.useEffect:I.useLayoutEffect;function I3(e){let t=I.useRef();return t.current===void 0&&(t.current=e()),t}function L3(e){let t=b3(),n=()=>e(t.snapshot());return I.useSyncExternalStore(t.subscribe,n,n)}function R3(e,t,n,r=[]){let i=I.useRef(),a=v3();return F3(()=>{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(h3,s),i.current=s}),i}var z3=()=>{let[e,t]=I.useState(),n=I3(()=>new Map);return F3(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function B3(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function V3({asChild:e,children:t},n){return e&&I.isValidElement(t)?I.cloneElement(B3(t),{ref:t.ref},n(t.props.children)):n(t)}var H3={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function U3(){let e=Zt(X),t=OC(),[n,r]=(0,I.useState)(``);if((0,I.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=gT(AC(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){tp(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)(j3,{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)(j3.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)(j3.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,L.jsx)(j3.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,L.jsxs)(j3.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,L.jsx)(W3,{value:`new thread create home`,onSelect:()=>c(()=>Uf()),children:`New thread`}),(0,L.jsx)(W3,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{bp(X.drawers.map(e=>e.id)),X.view=`todos`}),children:`Queue`}),(0,L.jsx)(W3,{value:`open settings preferences`,onSelect:()=>c(()=>X.showSettings=!0),children:`Open settings`}),o&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(W3,{value:`open details drawer doc ${iT(o)}`,onSelect:()=>c(()=>{let e=xp();e&&Qf(`doc`,e)}),children:`Open thread details`}),(0,L.jsxs)(W3,{value:`mark complete done ${iT(o)}`,onSelect:()=>c(()=>Y.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,iT(o),`” complete`]}),(0,L.jsxs)(W3,{value:`mark read ${iT(o)}`,onSelect:()=>c(()=>Y.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,iT(o),`” read`]})]})]}),i.length>0&&(0,L.jsx)(j3.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,L.jsxs)(W3,{value:`${iT(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,L.jsx)(`span`,{className:`truncate`,children:iT(e)}),(0,L.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function W3({value:e,onSelect:t,children:n}){return(0,L.jsx)(j3.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 G3=`Updating and restarting Frizz`,K3=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`;function q3(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 J3({open:e,message:t}){let n=(0,I.useRef)(null);if((0,I.useEffect)(()=>{if(!e)return;let t=document.activeElement;t instanceof HTMLElement&&t.blur(),n.current?.focus({preventScroll:!0});let r=e=>{q3(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,r,{capture:!0}),()=>window.removeEventListener(`keydown`,r,{capture:!0})},[e]),!e)return null;let r=t?.trim()?t.trim():null;return(0,L.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":G3,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:n,tabIndex:-1,className:`w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-border-strong bg-elevated p-6 text-center shadow-2xl shadow-black/60 outline-none`,children:[(0,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)(Wm,{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:G3}),(0,L.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:K3}),r&&(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:r})]})})}var Y3=`frizz:reload-after-update-restart`,X3=!1;function Z3(){X3||(X3=!0,Z("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function Q3(){let e=Zt(X),t=(0,I.useRef)({projectDir:null,hasBeenVisible:!1});(0,I.useEffect)(()=>{Y.board().then(wp).catch(()=>{})},[]);let n=Lv();(0,I.useEffect)(()=>nw((e,t)=>n(e,t)),[n]);let{data:r,dataUpdatedAt:i}=LV(),a=(0,I.useRef)(null);(0,I.useEffect)(()=>{let e=r;if(!e)return;X.controlPlaneRestartPending?e.state!==`ready`&&(X.controlPlaneRestartPending=!1,X.controlPlaneState=e.state,X.controlPlaneMessage=e.message??null):(X.controlPlaneState=e.state,X.controlPlaneMessage=e.message??null);let t=sessionStorage.getItem(Y3);if(e.state===`ready`&&t&&!X.controlPlaneRestartPending){sessionStorage.removeItem(Y3),window.location.replace(t);return}e.state===`failed`&&t&&(sessionStorage.removeItem(Y3),a.current!==e.message&&(a.current=e.message??`Update & Restart failed`,Z(`Update & Restart failed — Frizz kept running the previous version`,{duration:7e3})))},[r,i]);let o=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,I.useEffect)(()=>{if(!o)return;let e=window.scrollY,t=document.body;return bd(),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,bd()??e)}},[o]);let s=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()});(0,I.useEffect)(()=>{X.notificationsEnabled=s.data?.notifications??!1},[s.data?.notifications]);let c=XL();(0,I.useEffect)(()=>{c.data?.inRepo&&!c.data.authed&&Z3()},[c.data?.inRepo,c.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=_p(),n=xp();t?.kind===`doc`?(e.preventDefault(),pd(t.id)||X.drawers.pop()):n&&(e.preventDefault(),Qf(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let l=OC(),u=tW();(0,I.useEffect)(()=>{np()},[l,e.routeThreadSlug]),t.current=rw(t.current,l);let d=l!==null&&t.current.hasBeenVisible,f=l===null&&aw(Ed()),p=t.current.hasBeenVisible;(0,I.useEffect)(()=>{l!==null&&ow(Ed(),p)},[l,p]);let m=l?.projectLabel??l?.projectName;return(0,I.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?m??`Frizz`:m?`${m} — Frizz`:`Frizz`},[m]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(J3,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage}),(0,L.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[u?(0,L.jsx)(YU,{}):(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:[d&&(0,L.jsx)(ch,{label:`the sidebar`,children:(0,L.jsx)(QH,{})}),f&&(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`||!l?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:l?(0,L.jsxs)(ch,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,L.jsx)(MU,{status:e.view.slice(7)}),e.view===`todos`&&(0,L.jsx)(q2,{})]}):(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)(O2,{}),e.showSettings&&(0,L.jsx)(T4,{}),e.showNewThread&&(0,L.jsx)(dz,{onClose:()=>{X.showNewThread=!1}}),e.showGithubPicker&&(0,L.jsx)(a4,{onClose:Gf}),(0,L.jsx)(U3,{})]})]})}function $3(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 e6(e,t,n,r=48){let i=Math.round(t/r);return Math.max(0,Math.min(n-1,e+i))}function t6(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 n6(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 r6=`w-[57px]`,i6=`max-[800px]:pl-0 pl-[57px]`;function a6(e){let t=0;for(let n=0;n<e.length;n++)t=(t*31+e.charCodeAt(n))%360;return t}function o6(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 s6(e){let t=e.iconVersion?`&v=${encodeURIComponent(e.iconVersion)}`:``;return`/_frizz/project-icon?id=${encodeURIComponent(e.id)}${t}`}function c6({project:e,size:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),o=a6(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:o6(e.name)})}),s&&!c&&(0,L.jsx)(`img`,{src:s6(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 l6=40;function u6({project:e,current:t,count:n,index:r,drag:i,onPointerDown:a,onKeyDown:o}){let s=i?.fromIndex===r,c=i?s?i.deltaY:t6(r,i.fromIndex,i.toIndex):0;return(0,L.jsx)(Ij,{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)(db,{to:Dd(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||m6())&&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)(c6,{project:e,size:l6})}),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 d6({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:ad.map(e=>`.${e}`).join(`,`),className:`hidden`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&o.mutate(t)}}),(0,L.jsxs)(uI,{children:[(0,L.jsx)(dI,{asChild:!0,children:t}),(0,L.jsx)(fI,{children:(0,L.jsxs)(pI,{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)(gI,{className:l,onSelect:()=>c.mutate(),children:o.isPending?`Uploading…`:`Choose an icon…`}),(0,L.jsx)(gI,{className:l,onSelect:()=>s.mutate(),children:e.iconIsCustom?`Use the detected icon`:`Look for an icon again`})]})})]})]})}var f6=4,p6=0;function m6(){return Date.now()-p6<250}function h6(e,t){let n=nt({queryKey:[`projectsQueueCounts`],queryFn:()=>Y.projectsQueueCounts(),refetchInterval:5e3}),r=Zt(X).board,i=e!==void 0&&r?AC(r.threads).filter(yT).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 g6(){let e=Ve(),{data:t}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),n=Ed(),[r,i]=(0,I.useState)(!1),a=Lv(),[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(Dd(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=h6(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=n6(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:e6(t,c,i.length),deltaY:c},s(o)},m=0,h=e=>{if(!a){if(Math.abs(e.clientY-r)<f6)return;a=!0,n.setPointerCapture(e.pointerId)}e.preventDefault();let t=e.clientY;cancelAnimationFrame(c);let i=()=>{d(t),u.current&&n6(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;p6=Date.now();let e=$3(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=$3(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 ${r6}`,children:[(0,L.jsx)(Ij,{side:`right`,label:`All projects`,children:(0,L.jsx)(db,{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)(Tm,{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)(u6,{project:e,index:t,current:e.slug===n,count:m(e),drag:o,onPointerDown:_,onKeyDown:v},e.id))}),(0,L.jsx)(Ij,{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)(Um,{size:16})})})]})}var _6=76;function v6(e,t){return t&&e.startsWith(`${t}/`)?`~${e.slice(t.length)}`:e}var y6=`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`,b6=`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`,x6=38;function S6({project:e,home:t}){let n=UT(e.lastOpenedAt),[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(`div`,{className:`group/card relative`,children:[(0,L.jsxs)(db,{to:Dd(e.slug),className:`${y6} ${b6} 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)(c6,{project:e,size:x6})}),(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:v6(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)(d6,{project:e,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`Change the icon for ${e.name}`,style:{width:x6,height:x6},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)(Em,{size:16,strokeWidth:1.75})})}),(0,L.jsx)(C6,{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)(w6,{project:e,home:t,onClose:()=>i(!1)}):null]})}function C6({onDelete:e,children:t}){return(0,L.jsxs)(uI,{children:[(0,L.jsx)(dI,{asChild:!0,children:t}),(0,L.jsx)(fI,{children:(0,L.jsx)(pI,{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)(gI,{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 w6({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)(vX,{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)(jm,{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:v6(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 T6({hero:e,pending:t,onClick:n}){return(0,L.jsxs)(`button`,{type:`button`,onClick:n,disabled:t,className:`${y6} 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 E6({reason:e,proposed:t,onClose:n}){let[r,i]=(0,I.useState)(t??``),a=Lv(),o=Ve(),s=it({mutationFn:e=>Y.projectAdd({path:e}),onSuccess:e=>{o.invalidateQueries({queryKey:[`projectsList`]}),a(Dd(e.slug))}}),c=s.error instanceof Error?s.error.message:s.error?String(s.error):null;return(0,L.jsx)(MI,{open:!0,onOpenChange:e=>{!e&&!s.isPending&&n()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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 D6(){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=Lv(),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(Dd(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:_6,height:_6,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)(S6,{project:e,home:l},e.id)),(0,L.jsx)(T6,{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)(E6,{reason:t.reason,proposed:e,onClose:()=>n(null)}):null]})}function O6(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 k6(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 A6({slug:e,path:t}){let n=PS(t),r=jC(t),i=nt({...RS(t),refetchInterval:r?!1:zS}),a=i.data?.path??t,o=i.data?.markdown??``,{front:s,body:c}=S2(n?o:``),[l,u]=(0,I.useState)(n?`rendered`:`source`),d=uK(c,{baseDir:IS(a),asDocument:!0}),f=XK(d),p=XK((0,I.useMemo)(()=>l===`source`?HS(a,o):``,[o,a,l])),m=(0,I.useRef)(null),h=(0,I.useRef)(null),g=(0,I.useRef)(null);cq(m,d);let _=a.split(`/`).filter(Boolean).pop()||a,v=oz(),y=sz(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=O6(f,c.startContainer,c.startOffset),t=O6(f,c.endContainer,c.endOffset);e!==null&&t!==null&&(d={startLine:k6(o,Math.min(e,t)),endLine:k6(o,Math.max(0,Math.max(e,t)-1))})}else d=wL(o,u);let p=t(),m=az.followUp(v,e,y),{prose:_,attachments:b}=pL(rz.get(m)),x=xL(hL({path:a,...d??{}}),X.composerContext[e]??[],_),S=SL(_,n(p,_),x);rz.set(m,mL(S.prose,b.map(e=>e.path))),mp(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)(oh,{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)(T2,{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:C2,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)(w2,{path:a})]})]})}function j6(){return{dirs:new Map,files:new Map}}function M6(e,t){let n=e.replace(/\/+$/,``);if(t){let e=t.replace(/\/+$/,``);if(n.startsWith(e+`/`))return n.slice(e.length+1).split(`/`).filter(Boolean)}let r=n.split(`/`).filter(Boolean);return n.startsWith(`/`)?[`/`,...r]:r}var N6=(e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`,numeric:!0});function P6(e,t){let n=[];for(let r of[...e.dirs.keys()].sort(N6)){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:P6(i,t+1)})}for(let r of[...e.files.keys()].sort(N6))n.push({kind:`file`,name:r,depth:t,file:e.files.get(r)});return n}function F6(e,t){let n=j6();for(let r of e){let e=M6(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=j6(),i.dirs.set(t,e)),i=e}i.files.set(e[e.length-1],r)}return P6(n,0)}function I6(e){let t=[],n=e=>{for(let r of e)t.push(r),r.kind===`dir`&&n(r.children)};return n(e),t}var L6=10;function R6({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*L6},children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:(0,L.jsx)(gm,{size:12,className:`${MQ} text-muted/45`})}),(0,L.jsx)(`span`,{className:`ml-[5px] min-w-0 truncate`,title:e,children:e})]})}function z6({files:e}){return(0,L.jsx)(`div`,{"data-edited-file-tree":!0,className:`col-span-4 flex flex-col gap-y-px`,children:I6(F6(e,kC())).map(e=>e.kind===`dir`?(0,L.jsx)(R6,{name:e.name,depth:e.depth},`d:${e.depth}:${e.name}`):(0,L.jsx)(B6,{file:e.file,name:e.name,depth:e.depth},e.file.path))})}function B6({file:e,name:t,depth:n}){let r=Ve();return(0,L.jsx)(WQ,{testKind:`file`,testId:e.path,mark:(0,L.jsx)(mm,{size:12,className:`${MQ} -mr-[2px] text-muted/60`}),name:t,indent:n*L6,onOpen:()=>BK(e.path),onPrewarm:()=>WS(r,e.path),title:e.path,status:(0,L.jsxs)(L.Fragment,{children:[(e.added??0)>0&&(0,L.jsxs)(`span`,{style:{color:CE.fgSuccess},children:[`+`,e.added]}),(e.added??0)>0&&(e.removed??0)>0&&` `,(e.removed??0)>0&&(0,L.jsxs)(`span`,{style:{color:CE.fgDanger},children:[`−`,e.removed]})]})})}function V6({thread:e}){let t=aE(),n=HC(e.id,{poll:!1}).data?.editedFiles??[],r=ZQ(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(eT),c=[{head:`Sub-agents`,rows:r.map(n=>(0,L.jsx)(QQ,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(YQ,{shell:n,slug:e.id,now:t},n.id??n.label))},{head:`Pull requests`,rows:a.map(e=>(0,L.jsx)(GQ,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(XQ,{watch:e,now:t},e.id))},{head:`Edited files`,rows:n.length>0?[(0,L.jsx)(z6,{files:n},`tree`)]:[],count:n.length,collapsed:s,onToggle:()=>eT.railFilesCollapsed=!eT.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)(i$,{groups:c,divider:!1})})})}function H6(){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)(jm,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,L.jsx)(`button`,{onClick:()=>{Qf(`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 U6=`max(50%, calc(100% - 720px))`,W6={"--full-thread":`min(720px, ${U6})`,"--full-thread-narrow":`min(720px, 100%)`,"--full-pane":U6,"--full-gutter":`max(0px, calc((100% - min(720px, ${U6}) - 340px) / 2))`};function G6(e,t){return`${Dd(e)}${Nd(t,`/`)}`}function K6({slug:e}){let t=!!Zt(X).filePanel,n=OC(),r=xd(n,e),i=r.kind===`found`?r.thread:void 0;n?.projectDir,(0,I.useEffect)(()=>{Y.board().then(wp).catch(()=>{})},[]),(0,I.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${kp}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?iT(i):e;document.title=t?`${r} · ${t} — Frizz`:`${r} · Frizz`},[n?.projectLabel,n?.projectName,e,i]),(0,L.jsx)(Fj,{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:{...W6,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)(J6,{slug:e}):(0,L.jsx)(F1,{slug:e,virtualized:!0,showReturnToQueue:!0})}),i?(0,L.jsx)(q6,{slug:e,thread:i}):(0,L.jsx)(`div`,{className:`hidden w-[var(--full-pane)] shrink-0 split:block`,"aria-hidden":`true`})]})}),(0,L.jsx)(O2,{}),(0,L.jsx)(H6,{})]})})}function q6({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)(V6,{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)(A6,{slug:e,path:a},a)})})]})}function J6({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(G6(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:G6(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 Y6={OPEN_ISSUE:{bg:CE.bgSuccessEmphasis,icon:om,label:`Open`},CLOSED_ISSUE:{bg:CE.bgDoneEmphasis,icon:im,label:`Closed`},NOT_PLANNED:{bg:CE.bgNeutralEmphasis,icon:cm,label:`Closed as not planned`},OPEN_PR:{bg:CE.bgSuccessEmphasis,icon:Sm,label:`Open`},DRAFT:{bg:CE.bgNeutralEmphasis,icon:xm,label:`Draft`},MERGED:{bg:CE.bgDoneEmphasis,icon:ym,label:`Merged`},CLOSED_PR:{bg:CE.bgDangerEmphasis,icon:bm,label:`Closed`}};function X6(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 Z6(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 Q6(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 ${Z6(e,t)}`:JT(e,t)??``:``}function $6(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 e8={add:CE.fgSuccess,del:CE.fgDanger},t8={add:{backgroundColor:CE.bgSuccessEmphasis,borderColor:CE.bgSuccessEmphasis},del:{backgroundColor:CE.bgDangerEmphasis,borderColor:CE.bgDangerEmphasis},none:{backgroundColor:`${CE.bgNeutralEmphasis}33`,borderColor:`#3d444d`}};function n8({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:e8.add},children:[`+`,e.toLocaleString()]}),(0,L.jsxs)(`span`,{"data-gh-del":!0,style:{color:e8.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:$6(e,t).map((e,t)=>(0,L.jsx)(`span`,{className:`size-[8px] rounded-[2px] border`,style:t8[e]},t))})]})}function r8({card:e}){let t=X6(e),n=t?Y6[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 i8({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 a8=/`([^`\n]+)`/g;function o8(e,t){if(!t)return[e];let n=[],r=0;for(let t of e.matchAll(a8))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 s8({text:e,code:t,className:n}){return(0,L.jsx)(`div`,{className:n,children:o8(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 c8=new Set([`avatars.githubusercontent.com`,`camo.githubusercontent.com`]);function l8(e){if(e)try{let t=new URL(e);return t.protocol===`https:`&&c8.has(t.hostname)?e:void 0}catch{return}}function u8({card:e,nowMs:t}){let n=l8(e.authorAvatar),r=e.authorLogin??e.authorName??`Someone`,i=e.kind===`commit`?`committed`:e.kind===`pr`?`opened this pull request`:`opened this issue`,a=Q6(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 d8=`w-[360px] max-w-[min(360px,calc(100vw-24px))] leading-normal`;function f8({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:d8,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)(s8,{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)(n8,{additions:e.additions,deletions:e.deletions})}):null]})]}),(0,L.jsx)(u8,{card:e,nowMs:t})]});let r=e.ref.slice(e.ref.indexOf(`#`));return(0,L.jsxs)(`div`,{className:d8,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 ${Z6(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)(r8,{card:e}),n?(0,L.jsx)(n8,{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)(s8,{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)(i8,{name:e.name,color:e.color},e.name))}):null]}):null,(0,L.jsx)(u8,{card:e,nowMs:t})]})}var p8=250,m8=180;function h8(e){let t=e.getClientRects()[0]??e.getBoundingClientRect();return{top:t.top,left:t.left,width:t.width,height:t.height}}function g8(){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)},m8)},[]);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),Df([o]),n.current=setTimeout(()=>t({ref:o,rect:h8(a)}),p8)))},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)(aV,{open:e!==null,children:[(0,L.jsx)(sV,{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)(cV,{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)(_8,{refKey:e.ref})}):null]})}function _8({refKey:e}){let t=(0,I.useSyncExternalStore)(Sf,()=>Cf(e),()=>Cf(e));return(0,I.useEffect)(()=>{wf(Cf(e))&&jf(e)},[e]),t?.card?(0,L.jsx)(f8,{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 v8=`frizz-project-rail`;function y8(){try{return localStorage.getItem(v8)===`shown`}catch{return!1}}function b8(e){try{localStorage.setItem(v8,e?`shown`:`hidden`)}catch{}}function x8(){Fv();let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet(),placeholderData:ee}).data?.projectRail;return(0,I.useEffect)(()=>{e!==void 0&&b8(e===!0)},[e]),e===void 0?y8():e===!0}var S8=`/project/:slug`;function C8(){O8();let e=x8();return(0,L.jsxs)(Fj,{children:[e?(0,L.jsx)(g6,{}):null,(0,L.jsx)(`div`,{className:e?i6:void 0,children:(0,L.jsx)(_y,{})}),(0,L.jsx)(H6,{}),(0,L.jsx)(g8,{})]})}function w8(e){(0,I.useEffect)(()=>{lC(e)||(Cp(),EC())},[e])}function T8(){let{slug:e,thread:t}=Vv();return w8(e),D8(),(0,I.useState)(()=>ap(t)),(0,L.jsx)(Q3,{},e??`__launching__`)}function E8(){return(0,L.jsx)(D6,{})}function D8(){let e=Fv();(0,I.useEffect)(()=>{ZC(kd(e.pathname))},[e.pathname])}function O8(){let e=Lv();(0,I.useEffect)(()=>(ew((t,n)=>e(t,n)),()=>ew(null)),[e])}function k8(){let{thread:e,slug:t}=Vv();return O8(),w8(t),(0,I.useState)(()=>{X.drawers.length>0&&(X.drawers=[])}),ip(e),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(K6,{slug:e}),(0,L.jsx)(H6,{})]})}var A8=[{index:!0,element:(0,L.jsx)(T8,{})},{path:`thread/:thread`,element:(0,L.jsx)(T8,{})},{path:`status/:status`,element:(0,L.jsx)(T8,{})}],j8=sb([{path:`/thread/:thread/full`,element:(0,L.jsx)(k8,{})},{path:`${S8}/thread/:thread/full`,element:(0,L.jsx)(k8,{})},{element:(0,L.jsx)(C8,{}),children:[{path:`/`,element:(0,L.jsx)(E8,{})},{path:`/thread/:thread`,element:(0,L.jsx)(T8,{})},{path:`/status/:status`,element:(0,L.jsx)(T8,{})},{path:S8,children:A8},{path:`*`,element:(0,L.jsx)(T8,{})}]}]),M8=24,N8=6,P8=700,F8=new Map,I8=null,L8=null;function R8(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function z8(e){return X.board?.threads.find(t=>t.id===e)?.lastActivityAt}function B8(){let e=[...F8.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of F8){if(n.observers<=0){n.live&&(n.live=!1,SC(e)),F8.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,SC(e)))}V8()}function V8(){L8||[...F8.values()].some(e=>e.queued)&&(L8=setTimeout(()=>{L8=null;let e=0,t=[...F8.values()].filter(e=>e.live).length;for(let[n,r]of F8){if(e>=N8||t>=M8)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=z8(n),xC(n),e++))}V8()},P8))}function H8(){if(I8)for(let[e,t]of F8){if(t.observers<=0)continue;let n=z8(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&X.socketTranscripts)&&(X.socketTranscriptFallbacks[e]||I8.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function U8(e){I8||(I8=e,e.getQueryCache().subscribe(e=>{let t=R8(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=F8.get(t);e.type===`observerAdded`?(F8.delete(t),F8.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:z8(t)})):r&&(r.observers=n),B8()}),Jt(X,H8))}var W8=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,G8=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function K8(e){let t=e===`mono`?`mono`:`sans`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?G8:W8);try{localStorage.setItem(`frizz-font`,t)}catch{}}function q8(e){let t=e.getQueryData([`settingsGet`]);t&&K8(t.font),Y.settingsGet().then(e=>K8(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&K8(t.font)})}function J8(){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(),X8(t))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}function Y8(e){return e.closest(`.md-code`)?.querySelector(`pre code`)??null}async function X8(e){let t=Y8(e);if(!t)return;let n=(t.textContent??``).replace(/\n$/,``);if(n){try{await SR(n)}catch(e){Z(`Could not copy code: ${e.message.slice(0,100)}`,{duration:7e3});return}Q8(e)}}var Z8=new WeakMap;function Q8(e){e.classList.add(pS),e.title=`Copied`;let t=Z8.get(e);t!==void 0&&window.clearTimeout(t),Z8.set(e,window.setTimeout(()=>{e.classList.remove(pS),e.title=mS,Z8.delete(e)},m$))}var $8=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function e5(){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=Ed(n);if(r&&r!==Ed())return;let i=$8.exec(kd(n));i&&(e.preventDefault(),e.stopPropagation(),tp(i[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var t5=new Set([`projectsList`,`projectsQueueCounts`,`threadLocate`,`dispatchPreferencesGet`,`supervisorStatus`]);function n5(e){let t=e[0];return typeof t==`string`&&t5.has(t)?T(e):T([`project:${Ed()??``}`,...e])}var r5=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),i5=typeof window<`u`?Pd(kd()):null;!r5&&!i5&&QC();var a5=new Le({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1,queryKeyHashFn:n5}}});r5||(DC(a5),U8(a5),zV(a5),q8(a5),LZ(),RK(),J8(),e5()),r5||(0,at.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(He,{client:a5,children:(0,L.jsx)(fh,{children:(0,L.jsx)(py,{router:j8})})}));export{a as i,Md as n,ze as r,zy as t};
|
|
319
|
+
`),i=r===void 0?lJ(t):r;if(i)return(0,L.jsx)(rY,{answers:i,queued:e.queued,sourceId:e.sourceId});let a=e.wake?xl(t):void 0;return a?(0,L.jsx)(YJ,{bump:a,sourceId:e.sourceId,at:e.at}):e.wake?(0,L.jsx)(RJ,{steer:e.wakeSteer,text:t,sourceId:e.sourceId,at:e.at,wrap:n}):e.peerFrom?(0,L.jsx)(c2,{from:e.peerFrom,unnamed:e.peerUnnamed,dispatchId:e.peerDispatchId,sourceId:e.sourceId,at:e.at}):(0,L.jsx)(K0,{text:t,rawText:e.text,queued:e.queued,deliveryUnconfirmed:e.deliveryState===`unconfirmed`,deliveryId:e.deliveryId,sourceId:e.sourceId})}let h=[],g=[],_=(e,t=h0)=>{h.push(e),g.push(t)},v={n:-1},y={drawn:!1},b=[],x=(r,i)=>{for(let[a,c]of Bq(r).entries()){if(c.kind===`fence`){if(c.fenceKind===`awaiting`&&(e.fenceRefused||o||l))continue;c.fenceKind===`awaiting`&&(y.drawn=!0),_((0,L.jsx)(e2,{fenceKind:c.fenceKind,body:c.body,hints:c.hints,wrap:n,notAfter:u},`${i}-f${a}`));continue}for(let[e,r]of bq(c.text).entries()){if(r.kind===`prose`){for(let[t,o]of fL(r.text).entries()){let r=`${i}-${a}-p${e}-${t}`;_(o.kind===`image`?(0,L.jsx)(Y0,{path:o.path},r):o.kind===`file`?(0,L.jsx)(X0,{path:o.path},r):o.kind===`visualization`?(0,L.jsx)($0,{file:o.file},r):o.kind===`directive`?(0,L.jsx)(w1,{directive:o.directive},r):o.kind===`mermaid`?(0,L.jsx)(D1,{source:o.source},r):(0,L.jsx)(J0,{md:o.text,wrap:n},r))}continue}v.n+=1;let o=v.n;if(s&&jJ(r,s)!==void 0||r.registeredId&&r.text.trim()===``)continue;t&&b.push({raw:r.text,kind:r.questionKind,danger:r.danger,bi:o});let c=t&&!d?{answer:t.answerFor(o),onChip:(e,n)=>t.onChip(o,e,n),onText:e=>t.onText(o,e),onSubmit:t.onSubmit}:void 0;_((0,L.jsx)(hY,{raw:r.text,questionKind:r.questionKind,danger:r.danger,interactive:c,wrap:n},`${i}-${a}-q${e}`))}}};if(e.parts&&e.parts.length>0)p0(e.parts).forEach((t,r)=>{if(t.kind===`tools`){if(i)return;let a=v0(t.tools);a.length&&_((0,L.jsx)(S0,{tools:a,dense:n,at:e.at},`t${r}`),_0(a))}else x(t.text,`x${r}`)});else{if(!i){let t=v0(e.tools);t.length>0&&_((0,L.jsx)(S0,{tools:t,dense:n,at:e.at},`tools`),_0(t))}x(e.text,`leg`)}return u!==void 0&&c&&!y.drawn&&!e.fenceRefused&&t$(c,{notAfter:u})&&_((0,L.jsx)(c$,{thread:c,notAfter:u},`rested-on`)),h.length===0?null:(a&&t&&d&&b.length>0?_((0,L.jsx)(`div`,{className:`flex justify-start`,children:(0,L.jsx)(`button`,{type:`button`,"data-mobile-answer-open":!0,onClick:()=>p(!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:b.length>1?`Answer ${b.length} questions`:`Answer`})},`answer-open`)):a&&t&&b.length>0&&_((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:[m0(h,g0(g,14)),f&&t&&b.length>0?(0,L.jsx)(yY,{blocks:b,answering:t,onClose:()=>p(!1)}):null]}))});function J0({md:e,wrap:t}){let n=uK(e),r=XK(n),i=(0,I.useRef)(null);return cq(i,n),n?(0,L.jsx)(`div`,{ref:i,className:`md-body${t?` ${Hq}`:``}`,dangerouslySetInnerHTML:r}):null}function Y0({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=e.split(`/`).filter(Boolean).pop()||e;return(0,L.jsx)(kG,{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:AS(e),alt:n??o,"data-local-path":e,"data-local-image":`true`,onError:()=>a(!0),className:`cursor-pointer ${MG}`})})}function X0({path:e}){let t=e.split(`/`).filter(Boolean).pop()||e;return(0,L.jsxs)(`button`,{type:`button`,className:`local-file-action inline-flex max-w-full items-center gap-1.5 ${Uq} 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)(hm,{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 Z0={"--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 Q0(){let e=getComputedStyle(document.documentElement),t=Object.fromEntries(Object.entries(Z0).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 $0({file:e}){let t=(0,I.useContext)(O1),n=(0,I.useRef)(null),[r,i]=(0,I.useState)(360),[a,o]=(0,I.useState)(null),s=t?`${Md()}/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:`${Uq} 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 ${Uq} 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(Q0(),`*`),className:`block w-full border-0 bg-transparent`,style:{height:r}})}function e2({fenceKind:e,body:t,hints:n,wrap:r,notAfter:i}){let a=uK(t),o=(0,I.useContext)(O1),s=(0,I.useContext)(j1),c=OC(),l=o?Ep(c,o):void 0,u=l?mX(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)(Xq,{icon:Zp,label:`Done`,children:[a&&(0,L.jsx)(lq,{className:`md-body${r?` [overflow-wrap:anywhere] [&_pre]:whitespace-pre-wrap [&_pre]:break-all`:``}`,html:a}),p&&(0,L.jsx)(Qq,{children:(0,L.jsx)(WX,{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&&a$(l)?null:(0,L.jsx)(c$,{thread:l,fence:{body:t,hints:n},notAfter:i})}function t2({slug:e,sessionId:t,fault:n,retryText:r}){let[i,a]=(0,I.useState)(!1),[o,s]=(0,I.useState)(!1),c=Ve(),l=TR[n.backend],u=t=>{s(!0),bH(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)(Xq,{"data-provider-fault":!0,tone:`danger`,icon:Om,label:`${l} sign-in required`,children:[(0,L.jsx)(`span`,{className:Zq,children:`The provider rejected this session's credential. Sign in, then retry.`}),(0,L.jsxs)(Qq,{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:tJ,children:`Sign in`})]}),i&&(0,L.jsx)(OR,{backend:n.backend,onClose:()=>a(!1),onAuthed:()=>a(!1)})]})}function n2({slug:e,sessionId:t,pause:n}){let r=TR[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)(Xq,{"data-limit-pause":!0,tone:`caution`,icon:wm,label:`Paused by the ${r} ${i}`,children:[(0,L.jsx)(`span`,{className:Zq,children:n.autoResume?n.resumesAt?`Continuing automatically at ${XT(n.resumesAt)}.`:`Continuing automatically once the window resets.`:`Continue it whenever you have capacity again.`}),(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{onClick:()=>{o(!0),bH(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 ${tJ}`,children:`Continue now`})})]})}function r2({onTerminal:e}){return(0,L.jsxs)(Xq,{tone:`attention`,icon:Om,label:`Permission approval`,children:[(0,L.jsx)(`span`,{className:Zq,children:`The agent is waiting on your approval — respond in your external terminal.`}),(0,L.jsx)(Qq,{children:(0,L.jsx)(`button`,{onClick:()=>e(),onMouseDown:e=>e.preventDefault(),className:tJ,children:`Copy terminal command`})})]})}function i2({policy:e,denies:t}){let n=[e.tool,e.command].filter(Boolean).join(`: `);return(0,L.jsxs)(Xq,{tone:`caution`,icon:nh,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:Zq,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 a2({slug:e,className:t=`px-4 pb-2 pt-1`,includeAgents:n=!0,transcriptShells:r=[],parentAgentId:i}){let a=Ep(OC(),e),o=a?.subAgents??[],s=n?i?LE(o,i):o:[],c=i?[...r]:VE(a?.bgShells??[],r),l=i?[]:(a?.watches??[]).filter(e=>e.kind===`github`),u=s.length+c.length+l.length,d=new Set((a?.watches??[]).filter(e=>e.kind===`shell`&&e.state===`armed`).map(e=>e.target)),f=e=>d.has(e.taskId??``)||d.has(e.id??``)||d.has(e.label),[,p]=(0,I.useState)(0);(0,I.useEffect)(()=>{if(u===0)return;let e=setInterval(()=>p(e=>e+1),3e4);return()=>clearInterval(e)},[u]);let m=GC(e,c.flatMap(e=>e.id&&!e.outputUnavailable?[e.id]:[]));return u===0?null:(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5 ${t}`,"data-background-ops":!0,children:[zE(s,`sheet`).map((t,n)=>(0,L.jsx)(HE,{kind:`AGENT`,label:t.label,state:t.state,density:`sheet`,depth:t.displayDepth??t.depth,startedAt:t.startedAt,onOpen:t.id?()=>$f(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t)},`a${n}`)),zE(c,`sheet`).map((t,n)=>(0,L.jsx)(HE,{kind:`SHELL`,label:t.label,state:t.state,density:`sheet`,startedAt:t.startedAt,counter:t.id?jE(m.get(t.id)):void 0,counterTitle:`Lines of output so far — open the row to read them`,onOpen:t.id&&!t.outputUnavailable?()=>ep(e,t.id,{label:t.label,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t,`SHELL`),title:f(t)?`${t.label}\nWatched — this thread wakes when it finishes`:void 0},`s${n}`)),l.map(e=>(0,L.jsx)(HE,{kind:`GITHUB`,label:e.target,state:`running`,density:`sheet`,startedAt:e.createdAt,counter:ME(e.github),counterTone:e.github?.checks===`failing`?`danger`:void 0,counterTitle:e.github?`${e.target} — ${LQ(e.github)}`:void 0,onOpen:()=>window.open(CH(e.target)??`https://github.com/${e.target.replace(`#`,`/pull/`)}`,`_blank`,`noreferrer,noopener`)},e.id))]})}function o2({ask:e,onTerminal:t}){return(0,L.jsxs)(Xq,{tone:`attention`,icon:sm,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)(Qq,{children:(0,L.jsxs)(`button`,{onClick:()=>t(),onMouseDown:e=>e.preventDefault(),className:tJ,children:[(0,L.jsx)(Om,{size:12,className:`shrink-0 ${MY}`}),`Copy terminal command`]})})]})}function s2({call:e,sourceId:t,at:n}){let r=A1(),i=e.detail??`sub-agent`,{tail:a}=$X(e),o=!!(r&&e.agentId);return(0,L.jsxs)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${i}`,onClick:()=>$f(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 c2({from:e,unnamed:t,dispatchId:n,sourceId:r,at:i}){let a=A1(),o=!!(a&&n),s=t?void 0:e,c=t&&e?`${AE.AGENT} — ${e}`:AE.AGENT;return s===void 0?(0,L.jsx)(NJ,{icon:Yp,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":`${AE.AGENT}${e?`: ${e}`:``}`,onClick:()=>$f(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)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${s}`,onClick:()=>$f(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 l2({to:e,type:t,dispatchId:n,targetLabel:r,sourceId:i,at:a}){let o=A1(),s=V0(e,t),c=e===`main`?void 0:r??e,l=!!(o&&n);return(0,L.jsxs)(NJ,{icon:Yp,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:AE.AGENT,"aria-label":`${AE.AGENT}: ${c}`,onClick:()=>$f(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 u2({text:e,boundary:t,sourceId:n,at:r}){return t?(0,L.jsx)(NJ,{icon:t===`wake`?$m: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:aZ,children:e})}function d2({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:`${aZ} 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)(em,{"aria-hidden":`true`,size:13,className:sZ(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)(J0,{md:e,wrap:!0})})]})}function f2(){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 p2({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=_E(Math.max(0,o-a)),f=(0,I.useMemo)(()=>v0([...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 ${aZ}`,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??u1(p)}),m&&(0,L.jsx)(em,{"data-working-chevron":!0,"aria-hidden":`true`,size:13,className:sZ(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:m0(f.map((e,t)=>(0,L.jsx)(C0,{t:e,startedAt:r?.at},t)),6)}),m&&!c&&(0,L.jsx)(`div`,{id:u,hidden:!0})]})}function m2(){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 h2({id:e,slug:t,depth:n,widthDepth:r,initiallyOpen:i}){let{shown:a,close:o,closingRef:s}=Mp(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=m2(),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 _=OC(),v=xd(_,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 rW({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)(()=>(md(e,()=>{(u.current?.querySelector(`[data-dialog-initial-focus]`)??u.current)?.focus({preventScroll:!0})}),()=>md(e,null)),[e]),(0,L.jsx)(MI,{modal:m,open:!0,onOpenChange:e=>{e||o()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`${Dp} ${a?`opacity-100`:`opacity-0`}`,style:{zIndex:50+n*2}}),(0,L.jsxs)(WI,{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}yR(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 ${Op} ${a?`translate-x-0`:`translate-x-full`}`,style:{zIndex:51+n*2,width:Ap(r),viewTransitionName:f.vtReturnTarget===t?`thread-chat`:void 0},children:[(0,L.jsx)(YI,{className:`sr-only`,children:v.kind===`found`?`Thread: ${iT(v.thread)}`:`Thread: ${t}`}),c&&v.kind===`found`?(0,L.jsx)(F1,{slug:t,onStatusApplied:o,onClose:o,virtualized:!0}):c&&v.kind===`missing`?(0,L.jsx)(g2,{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 g2({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 ${ah} 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 _2({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=UC(t,n),f=kC(),p=(0,I.useMemo)(()=>d.data?.messages??[],[d.data]),m=d.data?.state,h=m===`running`,g=(0,I.useMemo)(()=>N1(p),[p]),_=(0,I.useMemo)(()=>P1(p),[p]),v=(0,I.useMemo)(()=>K$(_),[_]),y=h?Y$(v):void 0,b=h?J$(v):void 0,x=b?a1(b,f):void 0,S=h?Z$(v):void 0,C=(0,I.useMemo)(()=>h?e1(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)(Ip,{id:e,depth:o,widthDepth:s,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(k1.Provider,{value:t,children:(0,L.jsxs)(`div`,{"data-transcript-column":!0,className:`flex flex-col px-6 py-5`,children:[f0(C.map(e=>e.message),(e,t)=>(0,L.jsx)(q0,{m:e},t)),w&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(MJ,{h:d0(C.map(e=>e.message))}),(0,L.jsx)(p2,{since:a,startedAt:S,activityLabel:x,run:y})]})]})})}),(0,L.jsx)(v2,{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)(a2,{slug:t,parentAgentId:n,transcriptShells:g,className:e})})]})})}function v2({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)(y2,{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)(JL,{value:c,onChange:l,onSubmit:h,surface:`subAgentComposer`,placeholder:`Steer this sub-agent…`,busy:u||f,footer:(0,L.jsx)(y2,{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)(y2,{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 y2({subagentType:e}){let t=YX(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 ${$L}`,children:(0,L.jsx)(`span`,{className:`profile-grid-value relative -top-px min-w-0 truncate`,children:t})})}var b2=`font-mono-keep overflow-x-auto whitespace-pre-wrap break-words ${Uq} border border-border bg-bg/75 px-4 py-2.5 text-[12px] leading-relaxed text-fg/85`;function x2({id:e,slug:t,shellId:n,label:r,startedAt:i,depth:a,widthDepth:o}){let s=(0,I.useRef)(null),c=WC(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=xE(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 SR(u),Z(`Command copied`)}catch{Z(`Could not copy command`)}}return(0,L.jsx)(Ip,{id:e,depth:a,widthDepth:o,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{title:r,icon:(0,L.jsx)($m,{"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)(dm,{"aria-hidden":!0,size:11}),` Copy`]})]}),u?(0,L.jsx)(uq,{"data-background-shell-command":!0,text:u,language:`bash`,className:b2}):(0,L.jsx)(`pre`,{"data-background-shell-command":!0,className:b2,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 ${Uq} 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 ${Uq} 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 S2(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 C2={paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`};function w2({path:e}){return(0,L.jsxs)(`button`,{type:`button`,onClick:()=>{Y.openLocalFile({path:e}).then(async e=>{e.action===`copy`&&(await SR(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)(pm,{size:12,"aria-hidden":`true`}),` Open`]})}function T2({source:e}){return(0,L.jsx)(uq,{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 E2({id:e,path:t,title:n,depth:r,widthDepth:i}){let a=jC(t),o=nt({...RS(t),refetchInterval:a?!1:zS}),s=o.data?.path??t,{front:c,body:l}=S2(o.data?.markdown??``),u=uK(l,{baseDir:IS(s),asDocument:!0}),d=XK(u),f=(0,I.useRef)(null);return cq(f,u),(0,L.jsx)(Ip,{id:e,depth:r,widthDepth:i,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(T2,{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:C2,children:(0,L.jsx)(w2,{path:s})})]})})}function D2({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=PY(Ep(o.board,t)),c=oz(),l=az.adopt(c,t),[u,d,f]=cz(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)=>{rz.get(l)||d(t),Z(`Start failed: ${e.message.slice(0,80)}`)}}),m=uK(ZG(a.data?.markdown??``)),h=XK(m);return(0,L.jsx)(Ip,{id:e,depth:r,widthDepth:i,widthOffset:1,subagentParent:t,children:e=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(oh,{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)(JL,{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 O2(){let e=Zt(X),t=OC();(0,I.useEffect)(()=>{function e(e){if(e.key===`Escape`&&!(e.target instanceof Element&&e.target.closest(`.xterm`))){if(vR()){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();return}if(X.showPalette)X.showPalette=!1;else if(X.showNewThread)X.showNewThread=!1;else if(X.showGithubPicker)Gf();else if(X.showSettings)ld()||(X.showSettings=!1);else if(X.drawers.length>0){let e=X.drawers[X.drawers.length-1];pd(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)(h2,{id:e.id,slug:e.slug,depth:r,widthDepth:i,initiallyOpen:e.routed},e.id):e.kind===`subagent`?(0,L.jsx)(_2,{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)(x2,{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)(E2,{id:e.id,path:e.path??e.slug,title:e.label??e.slug,depth:r,widthDepth:i},e.id):(0,L.jsx)(D2,{id:e.id,slug:e.slug,depth:r,widthDepth:i,title:(()=>{let n=Ep(t,e.slug);return n?iT(n):e.slug})()},e.id);return(0,L.jsx)(ch,{label:`this drawer`,resetKeys:[e.kind,e.slug,e.subId,e.path],fallback:(t,n)=>(0,L.jsx)(ph,{id:e.id,depth:r,widthDepth:i,error:t,onRetry:n}),children:a},e.id)})})}function k2(e){return(e.tools??[]).some(e=>e.name===`mcp__frizz__done`&&e.status===`completed`)}function A2(e){let t=bq(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 j2(e){let t=new Map,n=[];for(let r=0;r<e.length;r++){let i=A2(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 M2(e,t,n){return Cq(e.text)?!n.has(t):k2(e)?!0:e.wake===!0}function N2(e){return e.wake===!0}function P2(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 F2(e){return e.open<0||e.tools<1&&e.steps<1?!1:e.resumed||e.open!==e.close}function I2(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 L2(e){return zE(e,`card`).length>0}function R2({slug:e,subAgents:t,className:n=`px-1 pt-1.5`}){let r=zE(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)(HE,{kind:`AGENT`,label:t.label,state:t.state,density:`card`,depth:t.depth,startedAt:t.startedAt,parentSlug:e,onOpen:t.id?()=>$f(e,t.id,{label:t.label,subagentType:t.subagentType,startedAt:t.startedAt}):void 0,onDismiss:zj(e,t)},t.id??`${t.startedAt}-${n}`))})}var z2=320;function B2(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 V2(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 H2=0,U2=``;function W2(){H2++===0&&(U2=document.documentElement.style.overflowAnchor,document.documentElement.style.overflowAnchor=`none`)}function G2(){H2>0&&--H2===0&&(document.documentElement.style.overflowAnchor=U2)}function K2({thread:e,onSnooze:t,onSnoozeFailed:n}){return(0,L.jsx)(c$,{thread:e,onSnooze:t,onSnoozeFailed:n})}function q2(){let e=OC(),t=vT(AC(e?.threads??[]).filter(yT),Zt(eT).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=cH(),b=e=>v(e.id)||sH(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=V2(e);h.current=t?{kind:`top`,slug:t}:null}else{let t=B2(e);h.current=t?{kind:`hold`,...t}:null}f.current.add(e),d.current.delete(e),_(e=>e+1)},z2);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}W2();let n=()=>{let t=Hf(e.slug);t!==null&&Math.abs(gd()-t)>.5&&window.scrollTo({top:t,left:0,behavior:`auto`})};n(),requestAnimationFrame(()=>{n(),requestAnimationFrame(()=>{n(),G2()})})},[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)(J2,{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)(X2,{slug:e.id,leaving:v(e.id),children:(0,L.jsx)($2,{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)(tH,{}),(0,L.jsx)(uz,{autoFocus:!0})]}):x.length===0?(0,L.jsxs)(`div`,{className:`flex flex-col items-center gap-2 pt-2`,children:[(0,L.jsx)(Dm,{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 J2({board:e}){let t=e?.errorItems??[],n=e?.errors??[];return t.length===0&&n.length===0?null:(0,L.jsxs)(`div`,{className:`mb-6 ${Uq} 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)(Y2,{file:e.file})]},t)):n.slice(0,3).map((e,t)=>(0,L.jsx)(`div`,{className:`truncate`,title:e,children:e},t))]})}function Y2({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 X2({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 Z2({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)(NJ,{icon:nm,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 Q2({toolCount:e,onExpand:t}){let n=e>0?`${e} tool call${e===1?``:`s`}`:``;return(0,L.jsxs)(NJ,{icon:nm,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 $2=(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=S$(e.id),T=HC(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)(()=>s0(A),[A]),M=e=>j>=0&&e<j,N=a$(e),P=e=>M(e)||e===j&&N,ee=(0,I.useMemo)(()=>vJ(A),[A]),F=(0,I.useMemo)(()=>kY(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`||o0(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)(()=>j2(A),[A]),ie=(0,I.useMemo)(()=>A.map((e,t)=>{if(!e||e.queued||o0(e,P(t)))return{skip:!0};if(e.boundary===`rest`)return{skip:!0,closes:!0};let n=ZX(e),r=n?0:e.tools.length;return{text:u0(e,P(t)),tools:r,countable:u0(e,P(t))||r>0||n!==void 0||e.kind!==void 0,survives:M2(e,t,re),opens:N2(e),completion:e.boundary===`wake`||n!==void 0}}),[A,re]),ae=(0,I.useMemo)(()=>P2(ie,F+1),[ie,F]),{kept:oe,middle:se}=(0,I.useMemo)(()=>I2(ae),[ae]),ce=(0,I.useMemo)(()=>oe.filter(F2),[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=lx(A,f,F),fe=(0,I.useMemo)(()=>A.slice(de),[A,de]),pe=(0,I.useMemo)(()=>K$(fe).map(e=>({...e,messageIndex:e.messageIndex+de})),[fe,de]),me=(0,I.useMemo)(()=>{let t=[],n=new Map,r=A.length-1,i=e.runtime!==`running`&&e.runtime!==`spawning`;for(let[a,o]of SJ(A,e?.questions??[],{atRest:i})){if(a>=r){t.push(...o);continue}let e=n.get(a);e?e.push(...o):n.set(a,[...o])}return{byAnchor:n,tail:t}},[A,e.runtime,e?.questions]),he=(0,I.useMemo)(()=>TJ(A,e?.questions??[]),[A,e?.questions]),ge=(0,I.useMemo)(()=>pJ(A,e.answersInFlight),[A,e.answersInFlight]),_e=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=()=>{gx(t,e.anchor,e=>{e!==0&&window.scrollBy({top:e,left:0,behavior:`auto`})});let n=0;return gx(t,e.anchor,e=>{n=e}),n},r=n();if(_x({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,G2())})}))},[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,G2()))},[D?.transcriptKey]),(0,I.useEffect)(()=>()=>{b.current&&(b.current=!1,G2())},[]);let ve=e=>{let t=mx(v.current);!e||!t||(b.current||(b.current=!0,W2()),y.current={anchor:t,targetStartId:e})},ye=async()=>{if(m||!_e)return;let t=cx(A,de),n=t!==null&&A[t]?.role===`user`?t:null;if(n!==null){let e=A[n].sourceId;ve(e),p(e??null);return}let r=D?.beforeCursor;if(!r){if(de>0){let e=A[0]?.sourceId;ve(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;ve(a);let o=px(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)}}},be=it({mutationFn:()=>Y.markComplete({slug:e.id})}),{answeringForMessage:xe,answerable:Se,anyAnswered:Ce,sendAnswers:we,sendMessage:Te}=dY(e.id,A,()=>{document.activeElement?.blur(),r(e.id)},{scrollToBottom:!1,onSendFailed:()=>i(e.id)}),Ee=(0,I.useMemo)(()=>{let e=lY(A);return e!==-1&&AJ(A[e].text,he.get(e)??[])},[A,he]),De=Se&&!Ee||Ce,Oe=(0,I.useCallback)(()=>r(e.id),[r,e.id]),ke=(0,I.useCallback)(()=>i(e.id),[i,e.id]),Ae=(0,I.useMemo)(()=>({dismiss:Oe,cancel:ke}),[Oe,ke]);return(0,L.jsx)(O1.Provider,{value:e.id,children:(0,L.jsx)(j1.Provider,{value:Ae,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(!Ce)return;let t=e.target;t instanceof HTMLButtonElement||t instanceof HTMLAnchorElement||t instanceof HTMLTextAreaElement&&t.value.trim()||PL({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(),we())},"data-vt-chat":!0,className:`flex flex-col min-w-0 max-w-full ${Uq} 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?Uq:`${Wq} 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:iT(e),children:iT(e)}),(0,L.jsx)(KX,{thread:e})]}),(0,L.jsx)(p$,{at:hT(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)(C$,{slug:e.id}),(0,L.jsx)(dX,{thread:e,collapsed:o,onCollapse:()=>s(e=>!e),expand:!0,onDone:()=>be.mutate(void 0,{onSuccess:()=>r(e.id),onError:()=>d(!1)}),doneBusy:be.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 ${De?`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:[_e&&(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 ye(),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=[...me.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)(MJ,{h:14},`qa-space-${t}`)),n.push((0,L.jsx)(gQ,{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||o0(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)(MJ,{h:14},`middle-runs-space`)),n.push((0,L.jsx)(Z2,{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&&!Cq(t.text)&&!k2(t)&&M2(t,i,re);if(d!==void 0&&i===d.waker){r!==null&&n.push((0,L.jsx)(MJ,{h:r&&e0(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)(q0,{m:t,dense:!0})},e)),r=$1(t);return}if(f&&!h){if(!p&&!m&&!M2(t,i,re)||(!p&&u!==void 0&&!o.has(u)&&(r!==null&&n.push((0,L.jsx)(MJ,{h:14},`im-space-${u}`)),n.push((0,L.jsx)(Q2,{toolCount:d.tools,onExpand:()=>l(!0)},`intermediate-summary-${u}`)),r=!1,o.add(u)),!u0(t,P(i))))return;r!==null&&n.push((0,L.jsx)(MJ,{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)(q0,{m:t,dense:!0,textOnly:!0,answering:xe(t),paired:ee[i],staleAwaiting:M(i),restingCardShown:i===j&&N,shadowedBy:he.get(i),thread:e})},s)),r=!1,a(i);return}r!==null&&n.push((0,L.jsx)(MJ,{h:r&&e0(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)(q0,{m:t,dense:!0,staleAwaiting:M(i),restingCardShown:i===j&&N,answering:xe(t),paired:ee[i],shadowedBy:he.get(i),thread:e})},g)),r=$1(t),a(i)}),fe.forEach((e,r)=>{e.queued&&(n.push((0,L.jsx)(MJ,{},`qs${r}`)),n.push((0,L.jsx)(q0,{m:e,dense:!0,paired:ee[t+r]},`q${t+r}`)))}),n})()]}),!T.isLoading&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(qZ,{thread:e,className:`mt-4`}),e.pendingInteraction?null:e.pendingAsk?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(o2,{ask:e.pendingAsk,onTerminal:w})}):e.runtime===`perm-prompt`?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(r2,{onTerminal:w})}):null,e.permPolicy?(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(i2,{policy:e.permPolicy,denies:e.permDenies})}):null]}),!T.isLoading&&a$(e)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(K2,{thread:e,onSnooze:Oe,onSnoozeFailed:ke})}),!T.isLoading&&Vq(e,j>=0?A[j]?.text:void 0)&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(MJ,{}),(0,L.jsx)(e2,{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)(n2,{slug:e.id,sessionId:e.sessionId,pause:e.limitPause})}),!T.isLoading&&nJ(e,j>=0?A[j]?.text:void 0)&&(0,L.jsx)(`div`,{className:`mt-4`,children:(0,L.jsx)(rJ,{thread:e})})]}),(0,L.jsx)(gQ,{thread:e,questions:me.tail,inFlight:ge,className:`shrink-0 px-5 pb-4 pt-0`}),De&&(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:!Ce,onClick:()=>we(),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)(iX,{slug:e.id,surface:`queueComposer`,className:`shrink-0 px-5 pb-3 pt-0`,placeholder:Se||(e.questions?.length??0)>0?`Or skip the questions and reply…`:`Reply to the agent…`,submitOverride:Te,ops:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(R2,{slug:e.id,subAgents:e.subAgents??[],className:`px-1 pt-1.5`}),(0,L.jsx)(a2,{slug:e.id,includeAgents:!1,className:`px-1 ${L2(e.subAgents??[])?`pt-0.5`:`pt-1.5`}`})]})})]})]}),(0,L.jsx)(VX,{thread:e,onArchived:()=>r(e.id),onDismissCancel:()=>i(e.id),onSnoozed:()=>r(e.id)})]})})})},e4);function e4(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 t4(e,t){if(e.backend===`claude`)return PR.some(t=>t.value===e.model)?zR(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 n4(e,t){return{items:t.map(e=>({...e})),backend:e.backend,model:e.model,effort:e.effort}}function r4({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 i4=30;function a4({onClose:e}){let t=XL(),{resolved:n,codexList:r,loadError:i,saveProfile:a}=qR(),[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:i4}),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=r4({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)(()=>GR(r),[r]),A=n?{backend:n.backend,model:n.model,effort:n.effort}:void 0,j=A?t4(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(n4(A,[...f].map(e=>({kind:o===`issues`?`issue`:`pr`,number:e}))))}return(0,L.jsx)(fz,{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)(Cm,{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)(s4,{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)(s4,{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)(g4,{}):g.isError?(0,L.jsxs)(_4,{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)(_4,{children:[(0,L.jsx)(Dm,{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)(u4,{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)(o4,{label:`Previous page`,disabled:v<=1,onClick:()=>d(Math.max(1,v-1)),children:(0,L.jsx)($p,{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)(o4,{label:`Next page`,disabled:v>=y,onClick:()=>d(Math.min(y,v+1)),children:(0,L.jsx)(em,{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)(xR,{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:Nj,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)(jm,{size:13,className:`animate-spin`}),O<=1?`Start investigation`:`Start ${O} investigations`]})})]})]})})}function o4({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 s4({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 c4({item:e}){let t=(e.state??`OPEN`).toUpperCase();return e.kind===`pr`?t===`MERGED`?(0,L.jsx)(ym,{size:15,className:`shrink-0`,style:{color:CE.fgDone}}):t===`CLOSED`?(0,L.jsx)(bm,{size:15,className:`shrink-0`,style:{color:CE.fgDanger}}):e.isDraft?(0,L.jsx)(xm,{size:15,className:`shrink-0`,style:{color:CE.fgNeutral}}):(0,L.jsx)(Sm,{size:15,className:`shrink-0`,style:{color:CE.fgSuccess}}):t===`CLOSED`?(0,L.jsx)(im,{size:15,className:`shrink-0`,style:{color:CE.fgDone}}):(0,L.jsx)(om,{size:15,className:`shrink-0`,style:{color:CE.fgSuccess}})}function l4({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 u4({item:e,checked:t,onActivate:n}){let r=JT(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)(d4,{checked:t})}),(0,L.jsx)(`span`,{className:`mt-px`,children:(0,L.jsx)(c4,{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)(l4,{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)(m4,{prs:e.linkedPrs}):null,e.comments?(0,L.jsx)(h4,{icon:Fm,n:e.comments,label:`comments`}):null,e.reactions?(0,L.jsx)(h4,{emoji:`👍`,n:e.reactions,label:`reactions`}):null]})]})}function d4({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)(Zp,{size:11,strokeWidth:3,className:`text-bg`})})}var f4={octicon:`-0.1em`,stroke:`-0.112em`};function p4({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(${f4.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 m4({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)(p4,{size:12}),e.count]})}function h4({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(${f4.stroke})`},children:(0,L.jsx)(e,{size:12,strokeWidth:2})}):null,n]})}function g4(){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 _4({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 v4={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.`,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 y4(){return typeof Notification>`u`?`unsupported`:Notification.permission}var b4=500,x4=1600,S4=2e3,C4=6;function w4(){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=>{a5.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`),x4))}).catch(i=>{--a.current,t(`error`),!(n.current||!cf(i)||s.current>=C4)&&(s.current+=1,n.current=e,r.current=window.setTimeout(c.current,S4))}))},[]);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,b4)},[l]);return(0,I.useEffect)(()=>()=>{l(),o.current!==void 0&&window.clearTimeout(o.current)},[l]),{state:e,queue:u,flush:l}}function T4(){let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()}),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(y4()),{state:a,queue:o,flush:s}=w4(),[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)(()=>(cd(p),()=>cd(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,jp()?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:`${Dp} z-50 flex justify-end ${c?`opacity-100`:`opacity-0`}`,onMouseDown:e=>e.target===e.currentTarget&&p(),children:(0,L.jsxs)(`div`,{className:`${Op} w-[560px] max-w-[94vw] ${c?`translate-x-0`:`translate-x-full`}`,children:[(0,L.jsx)(oh,{title:`Settings`,actions:(0,L.jsx)(E4,{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)(O4,{label:`Font`,help:v4.font,children:(0,L.jsx)(R4,{value:t.font??`mono`,onChange:e=>f({...t,font:e})})}),(0,L.jsx)(O4,{label:`Project sidebar`,help:v4.projectRail,children:(0,L.jsx)($Y,{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)(O4,{label:`Local file links`,help:v4.localFileOpener,children:(0,L.jsx)($Y,{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)(O4,{label:`Density`,help:v4.density,children:(0,L.jsx)(B4,{})}),(0,L.jsx)(O4,{label:`Queue order`,help:v4.queueOrder,children:(0,L.jsx)(V4,{})}),(0,L.jsxs)(O4,{label:`Desktop notifications`,help:v4.notifications,children:[(0,L.jsx)(z4,{value:t.notifications,onChange:m}),t.notifications&&(0,L.jsx)(U4,{perm:r})]}),(0,L.jsx)(N4,{draft:t,setDraft:f}),(0,L.jsx)(P4,{draft:t,setDraft:f})]}):(0,L.jsx)(`div`,{className:`p-4 text-[13px] text-muted`,children:`Loading…`})]})})}function E4({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 D4({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)(Ij,{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)(sm,{size:12})})})]})}function O4({label:e,help:t,children:n}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,L.jsx)(D4,{label:e,help:t}),n]})}var k4=[{token:`repo`,gloss:`repository`},{token:`n`,gloss:`number`},{token:`title`,gloss:`title`},{token:`url`,gloss:`link`},{token:`labels`,gloss:`labels`},{token:`body`,gloss:`description`}],A4=5e5,j4=[{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`}],M4=[{value:`auto`,label:`Automatic (default)`},{value:`5m`,label:`5 minutes`},{value:`1h`,label:`1 hour`}];function N4({draft:e,setDraft:t}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,L.jsx)(F4,{label:`Claude`}),(0,L.jsxs)(O4,{label:`Permissions`,help:v4.permissionMode,children:[(0,L.jsx)($Y,{variant:`bordered`,value:e.permissionMode===`bypassPermissions`?`bypassPermissions`:`auto`,onValueChange:n=>t({...e,permissionMode:n}),options:NR,indicatorPosition:`right`,ariaLabel:`Claude permission mode`}),e.permissionMode===`bypassPermissions`&&(0,L.jsx)(H4,{})]}),(0,L.jsx)(O4,{label:`Compaction window`,help:v4.autoCompactWindow,children:(0,L.jsx)($Y,{variant:`bordered`,value:String(e.autoCompactWindow??A4),onValueChange:n=>t({...e,autoCompactWindow:Number(n)}),options:j4,indicatorPosition:`right`,ariaLabel:`Claude compaction window`})}),(0,L.jsx)(O4,{label:`Prompt cache tier`,help:v4.promptCacheTtl,children:(0,L.jsx)($Y,{variant:`bordered`,value:e.promptCacheTtl??`auto`,onValueChange:n=>t({...e,promptCacheTtl:n}),options:M4,indicatorPosition:`right`,ariaLabel:`Claude prompt cache tier`})})]})}function P4({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)(F4,{label:`Prompts`}),n.data?(0,L.jsx)(L4,{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 F4({label:e}){return(0,L.jsxs)(`div`,{className:`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 I4(){let[e,t]=(0,I.useState)(!1);return(0,L.jsxs)(aV,{open:e,onOpenChange:t,children:[(0,L.jsx)(oV,{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)(cV,{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:k4.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 L4({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)(D4,{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)(I4,{})]})]}),(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 R4({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 z4({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 B4(){let{compactDiffs:e}=Zt(eT);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:()=>eT.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 V4(){let{queueOrder:e}=Zt(eT);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:()=>eT.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 H4(){return(0,L.jsx)(`span`,{className:`text-[11px] text-muted/70`,children:`New Claude threads will run every command, edit, and network call without asking you first.`})}function U4({perm:e}){return e===`denied`?(0,L.jsx)(G4,{}):(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 W4(){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 G4(){let e=(0,I.useMemo)(W4,[]),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)(q4,{url:n,hint:`Paste this into a new tab, set Notifications → Allow:`}):e===`safari`?(0,L.jsxs)(`span`,{children:[`Safari → Settings → Websites → Notifications → allow `,K4(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 K4(e){try{return new URL(e).host}catch{return e}}function q4({url:e,hint:t}){let[n,r]=(0,I.useState)(!1);async function i(){try{await SR(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)(Zp,{size:11,className:`text-live`}):(0,L.jsx)(dm,{size:11})})]})]})}var J4=1,Y4=.9,X4=.8,Z4=.17,Q4=.1,$4=.999,e3=.9999,t3=.99,n3=/[\\\/_+.#"@\[\(\{&]/,r3=/[\\\/_+.#"@\[\(\{&]/g,i3=/[\s-]/,a3=/[\s-]/g;function o3(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?J4:t3;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=o3(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=J4:n3.test(e.charAt(l-1))?(d*=X4,p=e.slice(i,l-1).match(r3),p&&i>0&&(d*=$4**+p.length)):i3.test(e.charAt(l-1))?(d*=Y4,m=e.slice(i,l-1).match(a3),m&&i>0&&(d*=$4**+m.length)):(d*=Z4,i>0&&(d*=$4**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=e3)),(d<Q4&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=o3(e,t,n,r,l+1,a+2,o),f*Q4>d&&(d=f*Q4)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function s3(e){return e.toLowerCase().replace(a3,` `)}function c3(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,o3(e,t,s3(e),s3(t),0,0,{})}var l3=`[cmdk-group=""]`,u3=`[cmdk-group-items=""]`,d3=`[cmdk-group-heading=""]`,f3=`[cmdk-item=""]`,p3=`${f3}:not([aria-disabled="true"])`,m3=`cmdk-item-select`,h3=`data-value`,g3=(e,t,n)=>c3(e,t,n),_3=I.createContext(void 0),v3=()=>I.useContext(_3),y3=I.createContext(void 0),b3=()=>I.useContext(y3),x3=I.createContext(void 0),S3=I.forwardRef((e,t)=>{let n=I3(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=I3(()=>new Set),i=I3(()=>new Map),a=I3(()=>new Map),o=I3(()=>new Set),s=P3(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=HD(),y=HD(),b=HD(),x=I.useRef(null),S=z3();F3(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),F3(()=>{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??g3;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(u3);t?t.appendChild(e.parentElement===t?e:e.closest(`${u3} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${u3} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${l3}[${h3}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(h3);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(l3)?.querySelector(d3))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return x.current?.querySelector(`${f3}[aria-selected="true"]`)}function j(){return Array.from(x.current?.querySelectorAll(p3)||[])}function M(e){let t=j()[e];t&&C.setState(`value`,t.getAttribute(h3))}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(h3))}function P(e){let t=A()?.closest(l3),n;for(;t&&!n;)t=e>0?M3(t,l3):N3(t,l3),n=t?.querySelector(p3);n?C.setState(`value`,n.getAttribute(h3)):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(yD.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(m3);t.dispatchEvent(e)}}}}},I.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:H3},c),V3(e,e=>I.createElement(y3.Provider,{value:C},I.createElement(_3.Provider,{value:w},e))))}),C3=I.forwardRef((e,t)=>{let n=HD(),r=I.useRef(null),i=I.useContext(x3),a=v3(),o=P3(e),s=o.current?.forceMount??i?.forceMount;F3(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=R3(n,r,[e.value,e.children,r],e.keywords),l=b3(),u=L3(e=>e.value&&e.value===c.current),d=L3(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(m3,f),()=>t.removeEventListener(m3,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(yD.div,{ref:nD(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)}),w3=I.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=HD(),s=I.useRef(null),c=I.useRef(null),l=HD(),u=v3(),d=L3(e=>i||u.filter()===!1?!0:e.search?e.filtered.groups.has(o):!0);F3(()=>u.group(o),[]),R3(o,s,[e.value,e.heading,c]);let f=I.useMemo(()=>({id:o,forceMount:i}),[i]);return I.createElement(yD.div,{ref:nD(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),V3(e,e=>I.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},I.createElement(x3.Provider,{value:f},e))))}),T3=I.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=I.useRef(null),a=L3(e=>!e.search);return!n&&!a?null:I.createElement(yD.div,{ref:nD(i,t),...r,"cmdk-separator":``,role:`separator`})}),E3=I.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=b3(),o=L3(e=>e.search),s=L3(e=>e.selectedItemId),c=v3();return I.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),I.createElement(yD.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)}})}),D3=I.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=I.useRef(null),o=I.useRef(null),s=L3(e=>e.selectedItemId),c=v3();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(yD.div,{ref:nD(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},V3(e,e=>I.createElement(`div`,{ref:nD(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),O3=I.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return I.createElement(MI,{open:n,onOpenChange:r},I.createElement(RI,{container:o},I.createElement(BI,{"cmdk-overlay":``,className:i}),I.createElement(WI,{"aria-label":e.label,"cmdk-dialog":``,className:a},I.createElement(S3,{ref:t,...s}))))}),k3=I.forwardRef((e,t)=>L3(e=>e.filtered.count===0)?I.createElement(yD.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),A3=I.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return I.createElement(yD.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},V3(e,e=>I.createElement(`div`,{"aria-hidden":!0},e)))}),j3=Object.assign(S3,{List:D3,Item:C3,Input:E3,Group:w3,Separator:T3,Dialog:O3,Empty:k3,Loading:A3});function M3(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function N3(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function P3(e){let t=I.useRef(e);return F3(()=>{t.current=e}),t}var F3=typeof window>`u`?I.useEffect:I.useLayoutEffect;function I3(e){let t=I.useRef();return t.current===void 0&&(t.current=e()),t}function L3(e){let t=b3(),n=()=>e(t.snapshot());return I.useSyncExternalStore(t.subscribe,n,n)}function R3(e,t,n,r=[]){let i=I.useRef(),a=v3();return F3(()=>{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(h3,s),i.current=s}),i}var z3=()=>{let[e,t]=I.useState(),n=I3(()=>new Map);return F3(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function B3(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function V3({asChild:e,children:t},n){return e&&I.isValidElement(t)?I.cloneElement(B3(t),{ref:t.ref},n(t.props.children)):n(t)}var H3={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function U3(){let e=Zt(X),t=OC(),[n,r]=(0,I.useState)(``);if((0,I.useEffect)(()=>{e.showPalette&&r(``)},[e.showPalette]),!e.showPalette)return null;let i=gT(AC(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){tp(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)(j3,{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)(j3.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)(j3.List,{className:`max-h-[52vh] overflow-y-auto py-1.5`,children:[(0,L.jsx)(j3.Empty,{className:`px-4 py-6 text-center text-sm text-muted`,children:`No matches.`}),(0,L.jsxs)(j3.Group,{heading:`Actions`,className:`cmdk-group`,children:[(0,L.jsx)(W3,{value:`new thread create home`,onSelect:()=>c(()=>Uf()),children:`New thread`}),(0,L.jsx)(W3,{value:`queue todos inbox pending`,onSelect:()=>c(()=>{bp(X.drawers.map(e=>e.id)),X.view=`todos`}),children:`Queue`}),(0,L.jsx)(W3,{value:`open settings preferences`,onSelect:()=>c(()=>X.showSettings=!0),children:`Open settings`}),o&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(W3,{value:`open details drawer doc ${iT(o)}`,onSelect:()=>c(()=>{let e=xp();e&&Qf(`doc`,e)}),children:`Open thread details`}),(0,L.jsxs)(W3,{value:`mark complete done ${iT(o)}`,onSelect:()=>c(()=>Y.markComplete({slug:o.id}).catch(()=>{})),children:[`Mark “`,iT(o),`” complete`]}),(0,L.jsxs)(W3,{value:`mark read ${iT(o)}`,onSelect:()=>c(()=>Y.markRead({slug:o.id}).catch(()=>{})),children:[`Mark “`,iT(o),`” read`]})]})]}),i.length>0&&(0,L.jsx)(j3.Group,{heading:`Threads`,className:`cmdk-group`,children:i.map(e=>(0,L.jsxs)(W3,{value:`${iT(e)} ${e.id}`,onSelect:()=>c(()=>l(e.id)),children:[(0,L.jsx)(`span`,{className:`truncate`,children:iT(e)}),(0,L.jsx)(`span`,{className:`ml-auto shrink-0 text-[11px] text-muted/70`,children:e.id})]},e.id))})]})]})})}function W3({value:e,onSelect:t,children:n}){return(0,L.jsx)(j3.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 G3=`Updating and restarting Frizz`,K3=`This may take a moment while the new build is being prepared. All of your threads will continue running normally.`;function q3(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 J3({open:e,message:t}){let n=(0,I.useRef)(null);if((0,I.useEffect)(()=>{if(!e)return;let t=document.activeElement;t instanceof HTMLElement&&t.blur(),n.current?.focus({preventScroll:!0});let r=e=>{q3(e)&&(e.preventDefault(),e.stopImmediatePropagation())};return window.addEventListener(`keydown`,r,{capture:!0}),()=>window.removeEventListener(`keydown`,r,{capture:!0})},[e]),!e)return null;let r=t?.trim()?t.trim():null;return(0,L.jsx)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":G3,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:n,tabIndex:-1,className:`w-[min(26rem,calc(100vw-2rem))] rounded-2xl border border-border-strong bg-elevated p-6 text-center shadow-2xl shadow-black/60 outline-none`,children:[(0,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)(Wm,{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:G3}),(0,L.jsx)(`p`,{className:`mt-2 text-[12.5px] leading-relaxed text-muted`,children:K3}),r&&(0,L.jsx)(`p`,{"aria-live":`polite`,className:`mt-2 text-[11.5px] leading-relaxed text-muted/80`,children:r})]})})}var Y3=`frizz:reload-after-update-restart`,X3=!1;function Z3(){X3||(X3=!0,Z("Sign in to the GitHub CLI (`gh auth login`) to dispatch from issues/PRs.",{duration:6e3}))}function Q3(){let e=Zt(X),t=(0,I.useRef)({projectDir:null,hasBeenVisible:!1});(0,I.useEffect)(()=>{Y.board().then(wp).catch(()=>{})},[]);let n=Lv();(0,I.useEffect)(()=>nw((e,t)=>n(e,t)),[n]);let{data:r,dataUpdatedAt:i}=LV(),a=(0,I.useRef)(null);(0,I.useEffect)(()=>{let e=r;if(!e)return;X.controlPlaneRestartPending?e.state!==`ready`&&(X.controlPlaneRestartPending=!1,X.controlPlaneState=e.state,X.controlPlaneMessage=e.message??null):(X.controlPlaneState=e.state,X.controlPlaneMessage=e.message??null);let t=sessionStorage.getItem(Y3);if(e.state===`ready`&&t&&!X.controlPlaneRestartPending){sessionStorage.removeItem(Y3),window.location.replace(t);return}e.state===`failed`&&t&&(sessionStorage.removeItem(Y3),a.current!==e.message&&(a.current=e.message??`Update & Restart failed`,Z(`Update & Restart failed — Frizz kept running the previous version`,{duration:7e3})))},[r,i]);let o=e.drawers.length>0||e.showSettings||e.showNewThread||e.showGithubPicker||e.showPalette;(0,I.useEffect)(()=>{if(!o)return;let e=window.scrollY,t=document.body;return bd(),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,bd()??e)}},[o]);let s=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet()});(0,I.useEffect)(()=>{X.notificationsEnabled=s.data?.notifications??!1},[s.data?.notifications]);let c=XL();(0,I.useEffect)(()=>{c.data?.inRepo&&!c.data.authed&&Z3()},[c.data?.inRepo,c.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=_p(),n=xp();t?.kind===`doc`?(e.preventDefault(),pd(t.id)||X.drawers.pop()):n&&(e.preventDefault(),Qf(`doc`,n))}}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let l=OC(),u=tW();(0,I.useEffect)(()=>{np()},[l,e.routeThreadSlug]),t.current=rw(t.current,l);let d=l!==null&&t.current.hasBeenVisible,f=l===null&&aw(Ed()),p=t.current.hasBeenVisible;(0,I.useEffect)(()=>{l!==null&&ow(Ed(),p)},[l,p]);let m=l?.projectLabel??l?.projectName;return(0,I.useEffect)(()=>{let e=window.matchMedia?.(`(display-mode: standalone)`).matches;document.title=e?m??`Frizz`:m?`${m} — Frizz`:`Frizz`},[m]),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(J3,{open:e.controlPlaneState===`restarting`,message:e.controlPlaneMessage}),(0,L.jsxs)(`div`,{inert:e.controlPlaneState===`restarting`,className:`relative min-h-screen bg-bg text-fg text-sm`,children:[u?(0,L.jsx)(YU,{}):(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:[d&&(0,L.jsx)(ch,{label:`the sidebar`,children:(0,L.jsx)(QH,{})}),f&&(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`||!l?`min-h-screen`:``} ${e.view===`todos`?``:`rounded-lg border border-border bg-panel`}`,children:l?(0,L.jsxs)(ch,{label:`the queue`,resetKeys:[e.view],children:[e.view.startsWith(`status:`)&&(0,L.jsx)(MU,{status:e.view.slice(7)}),e.view===`todos`&&(0,L.jsx)(q2,{})]}):(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)(O2,{}),e.showSettings&&(0,L.jsx)(T4,{}),e.showNewThread&&(0,L.jsx)(dz,{onClose:()=>{X.showNewThread=!1}}),e.showGithubPicker&&(0,L.jsx)(a4,{onClose:Gf}),(0,L.jsx)(U3,{})]})]})}function $3(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 e6(e,t,n,r=48){let i=Math.round(t/r);return Math.max(0,Math.min(n-1,e+i))}function t6(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 n6(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 r6=`w-[57px]`,i6=`max-[800px]:pl-0 pl-[57px]`;function a6(e){let t=0;for(let n=0;n<e.length;n++)t=(t*31+e.charCodeAt(n))%360;return t}function o6(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 s6(e){let t=e.iconVersion?`&v=${encodeURIComponent(e.iconVersion)}`:``;return`/_frizz/project-icon?id=${encodeURIComponent(e.id)}${t}`}function c6({project:e,size:t}){let[n,r]=(0,I.useState)(!1),[i,a]=(0,I.useState)(!1),o=a6(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:o6(e.name)})}),s&&!c&&(0,L.jsx)(`img`,{src:s6(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 l6=40;function u6({project:e,current:t,count:n,index:r,drag:i,onPointerDown:a,onKeyDown:o}){let s=i?.fromIndex===r,c=i?s?i.deltaY:t6(r,i.fromIndex,i.toIndex):0;return(0,L.jsx)(Ij,{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)(db,{to:Dd(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||m6())&&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)(c6,{project:e,size:l6})}),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 d6({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:ad.map(e=>`.${e}`).join(`,`),className:`hidden`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&o.mutate(t)}}),(0,L.jsxs)(uI,{children:[(0,L.jsx)(dI,{asChild:!0,children:t}),(0,L.jsx)(fI,{children:(0,L.jsxs)(pI,{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)(gI,{className:l,onSelect:()=>c.mutate(),children:o.isPending?`Uploading…`:`Choose an icon…`}),(0,L.jsx)(gI,{className:l,onSelect:()=>s.mutate(),children:e.iconIsCustom?`Use the detected icon`:`Look for an icon again`})]})})]})]})}var f6=4,p6=0;function m6(){return Date.now()-p6<250}function h6(e,t){let n=nt({queryKey:[`projectsQueueCounts`],queryFn:()=>Y.projectsQueueCounts(),refetchInterval:5e3}),r=Zt(X).board,i=e!==void 0&&r?AC(r.threads).filter(yT).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 g6(){let e=Ve(),{data:t}=nt({queryKey:[`projectsList`],queryFn:()=>Y.projectsList()}),n=Ed(),[r,i]=(0,I.useState)(!1),a=Lv(),[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(Dd(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=h6(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=n6(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:e6(t,c,i.length),deltaY:c},s(o)},m=0,h=e=>{if(!a){if(Math.abs(e.clientY-r)<f6)return;a=!0,n.setPointerCapture(e.pointerId)}e.preventDefault();let t=e.clientY;cancelAnimationFrame(c);let i=()=>{d(t),u.current&&n6(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;p6=Date.now();let e=$3(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=$3(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 ${r6}`,children:[(0,L.jsx)(Ij,{side:`right`,label:`All projects`,children:(0,L.jsx)(db,{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)(Tm,{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)(u6,{project:e,index:t,current:e.slug===n,count:m(e),drag:o,onPointerDown:_,onKeyDown:v},e.id))}),(0,L.jsx)(Ij,{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)(Um,{size:16})})})]})}var _6=76;function v6(e,t){return t&&e.startsWith(`${t}/`)?`~${e.slice(t.length)}`:e}var y6=`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`,b6=`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`,x6=38;function S6({project:e,home:t}){let n=UT(e.lastOpenedAt),[r,i]=(0,I.useState)(!1);return(0,L.jsxs)(`div`,{className:`group/card relative`,children:[(0,L.jsxs)(db,{to:Dd(e.slug),className:`${y6} ${b6} 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)(c6,{project:e,size:x6})}),(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:v6(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)(d6,{project:e,children:(0,L.jsx)(`button`,{type:`button`,"aria-label":`Change the icon for ${e.name}`,style:{width:x6,height:x6},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)(Em,{size:16,strokeWidth:1.75})})}),(0,L.jsx)(C6,{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)(w6,{project:e,home:t,onClose:()=>i(!1)}):null]})}function C6({onDelete:e,children:t}){return(0,L.jsxs)(uI,{children:[(0,L.jsx)(dI,{asChild:!0,children:t}),(0,L.jsx)(fI,{children:(0,L.jsx)(pI,{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)(gI,{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 w6({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)(vX,{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)(jm,{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:v6(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 T6({hero:e,pending:t,onClick:n}){return(0,L.jsxs)(`button`,{type:`button`,onClick:n,disabled:t,className:`${y6} 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 E6({reason:e,proposed:t,onClose:n}){let[r,i]=(0,I.useState)(t??``),a=Lv(),o=Ve(),s=it({mutationFn:e=>Y.projectAdd({path:e}),onSuccess:e=>{o.invalidateQueries({queryKey:[`projectsList`]}),a(Dd(e.slug))}}),c=s.error instanceof Error?s.error.message:s.error?String(s.error):null;return(0,L.jsx)(MI,{open:!0,onOpenChange:e=>{!e&&!s.isPending&&n()},children:(0,L.jsxs)(RI,{children:[(0,L.jsx)(BI,{className:`fixed inset-0 z-[210] bg-black/30 backdrop-blur-md backdrop-saturate-150`}),(0,L.jsxs)(WI,{"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)(YI,{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 D6(){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=Lv(),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(Dd(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:_6,height:_6,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)(S6,{project:e,home:l},e.id)),(0,L.jsx)(T6,{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)(E6,{reason:t.reason,proposed:e,onClose:()=>n(null)}):null]})}function O6(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 k6(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 A6({slug:e,path:t}){let n=PS(t),r=jC(t),i=nt({...RS(t),refetchInterval:r?!1:zS}),a=i.data?.path??t,o=i.data?.markdown??``,{front:s,body:c}=S2(n?o:``),[l,u]=(0,I.useState)(n?`rendered`:`source`),d=uK(c,{baseDir:IS(a),asDocument:!0}),f=XK(d),p=XK((0,I.useMemo)(()=>l===`source`?HS(a,o):``,[o,a,l])),m=(0,I.useRef)(null),h=(0,I.useRef)(null),g=(0,I.useRef)(null);cq(m,d);let _=a.split(`/`).filter(Boolean).pop()||a,v=oz(),y=sz(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=O6(f,c.startContainer,c.startOffset),t=O6(f,c.endContainer,c.endOffset);e!==null&&t!==null&&(d={startLine:k6(o,Math.min(e,t)),endLine:k6(o,Math.max(0,Math.max(e,t)-1))})}else d=wL(o,u);let p=t(),m=az.followUp(v,e,y),{prose:_,attachments:b}=pL(rz.get(m)),x=xL(hL({path:a,...d??{}}),X.composerContext[e]??[],_),S=SL(_,n(p,_),x);rz.set(m,mL(S.prose,b.map(e=>e.path))),mp(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)(oh,{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)(T2,{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:C2,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)(w2,{path:a})]})]})}function j6(){return{dirs:new Map,files:new Map}}function M6(e,t){let n=e.replace(/\/+$/,``);if(t){let e=t.replace(/\/+$/,``);if(n.startsWith(e+`/`))return n.slice(e.length+1).split(`/`).filter(Boolean)}let r=n.split(`/`).filter(Boolean);return n.startsWith(`/`)?[`/`,...r]:r}var N6=(e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`,numeric:!0});function P6(e,t){let n=[];for(let r of[...e.dirs.keys()].sort(N6)){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:P6(i,t+1)})}for(let r of[...e.files.keys()].sort(N6))n.push({kind:`file`,name:r,depth:t,file:e.files.get(r)});return n}function F6(e,t){let n=j6();for(let r of e){let e=M6(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=j6(),i.dirs.set(t,e)),i=e}i.files.set(e[e.length-1],r)}return P6(n,0)}function I6(e){let t=[],n=e=>{for(let r of e)t.push(r),r.kind===`dir`&&n(r.children)};return n(e),t}var L6=10;function R6({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*L6},children:[(0,L.jsx)(`span`,{className:`flex shrink-0`,children:(0,L.jsx)(gm,{size:12,className:`${MQ} text-muted/45`})}),(0,L.jsx)(`span`,{className:`ml-[5px] min-w-0 truncate`,title:e,children:e})]})}function z6({files:e}){return(0,L.jsx)(`div`,{"data-edited-file-tree":!0,className:`col-span-4 flex flex-col gap-y-px`,children:I6(F6(e,kC())).map(e=>e.kind===`dir`?(0,L.jsx)(R6,{name:e.name,depth:e.depth},`d:${e.depth}:${e.name}`):(0,L.jsx)(B6,{file:e.file,name:e.name,depth:e.depth},e.file.path))})}function B6({file:e,name:t,depth:n}){let r=Ve();return(0,L.jsx)(WQ,{testKind:`file`,testId:e.path,mark:(0,L.jsx)(mm,{size:12,className:`${MQ} -mr-[2px] text-muted/60`}),name:t,indent:n*L6,onOpen:()=>BK(e.path),onPrewarm:()=>WS(r,e.path),title:e.path,status:(0,L.jsxs)(L.Fragment,{children:[(e.added??0)>0&&(0,L.jsxs)(`span`,{style:{color:CE.fgSuccess},children:[`+`,e.added]}),(e.added??0)>0&&(e.removed??0)>0&&` `,(e.removed??0)>0&&(0,L.jsxs)(`span`,{style:{color:CE.fgDanger},children:[`−`,e.removed]})]})})}function V6({thread:e}){let t=aE(),n=HC(e.id,{poll:!1}).data?.editedFiles??[],r=ZQ(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(eT),c=[{head:`Sub-agents`,rows:r.map(n=>(0,L.jsx)(QQ,{agent:n,slug:e.id,now:t},n.id??n.label))},{head:`Background shells`,rows:i.map(n=>(0,L.jsx)(YQ,{shell:n,slug:e.id,now:t},n.id??n.label))},{head:`Pull requests`,rows:a.map(e=>(0,L.jsx)(GQ,{watch:e},e.id))},{head:`Timers`,rows:o.map(e=>(0,L.jsx)(XQ,{watch:e,now:t},e.id))},{head:`Edited files`,rows:n.length>0?[(0,L.jsx)(z6,{files:n},`tree`)]:[],count:n.length,collapsed:s,onToggle:()=>eT.railFilesCollapsed=!eT.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)(i$,{groups:c,divider:!1})})})}function H6(){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)(jm,{size:13,className:`animate-spin text-muted`}),t.text,t.link&&(0,L.jsx)(`button`,{onClick:()=>{Qf(`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 U6=`max(50%, calc(100% - 720px))`,W6={"--full-thread":`min(720px, ${U6})`,"--full-thread-narrow":`min(720px, 100%)`,"--full-pane":U6,"--full-gutter":`max(0px, calc((100% - min(720px, ${U6}) - 340px) / 2))`};function G6(e,t){return`${Dd(e)}${Nd(t,`/`)}`}function K6({slug:e}){let t=!!Zt(X).filePanel,n=OC(),r=xd(n,e),i=r.kind===`found`?r.thread:void 0;n?.projectDir,(0,I.useEffect)(()=>{Y.board().then(wp).catch(()=>{})},[]),(0,I.useEffect)(()=>{let e=window.matchMedia(`(min-width: ${kp}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?iT(i):e;document.title=t?`${r} · ${t} — Frizz`:`${r} · Frizz`},[n?.projectLabel,n?.projectName,e,i]),(0,L.jsx)(Fj,{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:{...W6,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)(J6,{slug:e}):(0,L.jsx)(F1,{slug:e,virtualized:!0,showReturnToQueue:!0})}),i?(0,L.jsx)(q6,{slug:e,thread:i}):(0,L.jsx)(`div`,{className:`hidden w-[var(--full-pane)] shrink-0 split:block`,"aria-hidden":`true`})]})}),(0,L.jsx)(O2,{}),(0,L.jsx)(H6,{})]})})}function q6({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)(V6,{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)(A6,{slug:e,path:a},a)})})]})}function J6({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(G6(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:G6(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 Y6={OPEN_ISSUE:{bg:CE.bgSuccessEmphasis,icon:om,label:`Open`},CLOSED_ISSUE:{bg:CE.bgDoneEmphasis,icon:im,label:`Closed`},NOT_PLANNED:{bg:CE.bgNeutralEmphasis,icon:cm,label:`Closed as not planned`},OPEN_PR:{bg:CE.bgSuccessEmphasis,icon:Sm,label:`Open`},DRAFT:{bg:CE.bgNeutralEmphasis,icon:xm,label:`Draft`},MERGED:{bg:CE.bgDoneEmphasis,icon:ym,label:`Merged`},CLOSED_PR:{bg:CE.bgDangerEmphasis,icon:bm,label:`Closed`}};function X6(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 Z6(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 Q6(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 ${Z6(e,t)}`:JT(e,t)??``:``}function $6(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 e8={add:CE.fgSuccess,del:CE.fgDanger},t8={add:{backgroundColor:CE.bgSuccessEmphasis,borderColor:CE.bgSuccessEmphasis},del:{backgroundColor:CE.bgDangerEmphasis,borderColor:CE.bgDangerEmphasis},none:{backgroundColor:`${CE.bgNeutralEmphasis}33`,borderColor:`#3d444d`}};function n8({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:e8.add},children:[`+`,e.toLocaleString()]}),(0,L.jsxs)(`span`,{"data-gh-del":!0,style:{color:e8.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:$6(e,t).map((e,t)=>(0,L.jsx)(`span`,{className:`size-[8px] rounded-[2px] border`,style:t8[e]},t))})]})}function r8({card:e}){let t=X6(e),n=t?Y6[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 i8({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 a8=/`([^`\n]+)`/g;function o8(e,t){if(!t)return[e];let n=[],r=0;for(let t of e.matchAll(a8))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 s8({text:e,code:t,className:n}){return(0,L.jsx)(`div`,{className:n,children:o8(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 c8=new Set([`avatars.githubusercontent.com`,`camo.githubusercontent.com`]);function l8(e){if(e)try{let t=new URL(e);return t.protocol===`https:`&&c8.has(t.hostname)?e:void 0}catch{return}}function u8({card:e,nowMs:t}){let n=l8(e.authorAvatar),r=e.authorLogin??e.authorName??`Someone`,i=e.kind===`commit`?`committed`:e.kind===`pr`?`opened this pull request`:`opened this issue`,a=Q6(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 d8=`w-[360px] max-w-[min(360px,calc(100vw-24px))] leading-normal`;function f8({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:d8,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)(s8,{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)(n8,{additions:e.additions,deletions:e.deletions})}):null]})]}),(0,L.jsx)(u8,{card:e,nowMs:t})]});let r=e.ref.slice(e.ref.indexOf(`#`));return(0,L.jsxs)(`div`,{className:d8,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 ${Z6(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)(r8,{card:e}),n?(0,L.jsx)(n8,{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)(s8,{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)(i8,{name:e.name,color:e.color},e.name))}):null]}):null,(0,L.jsx)(u8,{card:e,nowMs:t})]})}var p8=250,m8=180;function h8(e){let t=e.getClientRects()[0]??e.getBoundingClientRect();return{top:t.top,left:t.left,width:t.width,height:t.height}}function g8(){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)},m8)},[]);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),Df([o]),n.current=setTimeout(()=>t({ref:o,rect:h8(a)}),p8)))},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)(aV,{open:e!==null,children:[(0,L.jsx)(sV,{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)(cV,{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)(_8,{refKey:e.ref})}):null]})}function _8({refKey:e}){let t=(0,I.useSyncExternalStore)(Sf,()=>Cf(e),()=>Cf(e));return(0,I.useEffect)(()=>{wf(Cf(e))&&jf(e)},[e]),t?.card?(0,L.jsx)(f8,{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 v8=`frizz-project-rail`;function y8(){try{return localStorage.getItem(v8)===`shown`}catch{return!1}}function b8(e){try{localStorage.setItem(v8,e?`shown`:`hidden`)}catch{}}function x8(){Fv();let e=nt({queryKey:[`settingsGet`],queryFn:()=>Y.settingsGet(),placeholderData:ee}).data?.projectRail;return(0,I.useEffect)(()=>{e!==void 0&&b8(e===!0)},[e]),e===void 0?y8():e===!0}var S8=`/project/:slug`;function C8(){O8();let e=x8();return(0,L.jsxs)(Fj,{children:[e?(0,L.jsx)(g6,{}):null,(0,L.jsx)(`div`,{className:e?i6:void 0,children:(0,L.jsx)(_y,{})}),(0,L.jsx)(H6,{}),(0,L.jsx)(g8,{})]})}function w8(e){(0,I.useEffect)(()=>{lC(e)||(Cp(),EC())},[e])}function T8(){let{slug:e,thread:t}=Vv();return w8(e),D8(),(0,I.useState)(()=>ap(t)),(0,L.jsx)(Q3,{},e??`__launching__`)}function E8(){return(0,L.jsx)(D6,{})}function D8(){let e=Fv();(0,I.useEffect)(()=>{ZC(kd(e.pathname))},[e.pathname])}function O8(){let e=Lv();(0,I.useEffect)(()=>(ew((t,n)=>e(t,n)),()=>ew(null)),[e])}function k8(){let{thread:e,slug:t}=Vv();return O8(),w8(t),(0,I.useState)(()=>{X.drawers.length>0&&(X.drawers=[])}),ip(e),(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(K6,{slug:e}),(0,L.jsx)(H6,{})]})}var A8=[{index:!0,element:(0,L.jsx)(T8,{})},{path:`thread/:thread`,element:(0,L.jsx)(T8,{})},{path:`status/:status`,element:(0,L.jsx)(T8,{})}],j8=sb([{path:`/thread/:thread/full`,element:(0,L.jsx)(k8,{})},{path:`${S8}/thread/:thread/full`,element:(0,L.jsx)(k8,{})},{element:(0,L.jsx)(C8,{}),children:[{path:`/`,element:(0,L.jsx)(E8,{})},{path:`/thread/:thread`,element:(0,L.jsx)(T8,{})},{path:`/status/:status`,element:(0,L.jsx)(T8,{})},{path:S8,children:A8},{path:`*`,element:(0,L.jsx)(T8,{})}]}]),M8=24,N8=6,P8=700,F8=new Map,I8=null,L8=null;function R8(e){return!Array.isArray(e)||e.length!==2?null:e[0]===`transcript`&&typeof e[1]==`string`?e[1]:null}function z8(e){return X.board?.threads.find(t=>t.id===e)?.lastActivityAt}function B8(){let e=[...F8.entries()].filter(([,e])=>e.observers>0),t=new Set(e.slice(-24).map(([e])=>e));for(let[e,n]of F8){if(n.observers<=0){n.live&&(n.live=!1,SC(e)),F8.delete(e);continue}t.has(e)?!n.live&&!n.queued&&(n.queued=!0):(n.queued=!1,n.live&&(n.live=!1,SC(e)))}V8()}function V8(){L8||[...F8.values()].some(e=>e.queued)&&(L8=setTimeout(()=>{L8=null;let e=0,t=[...F8.values()].filter(e=>e.live).length;for(let[n,r]of F8){if(e>=N8||t>=M8)break;r.queued&&(r.queued=!1,!(r.observers<=0||r.live)&&(r.live=!0,t++,r.lastActivityAt=z8(n),xC(n),e++))}V8()},P8))}function H8(){if(I8)for(let[e,t]of F8){if(t.observers<=0)continue;let n=z8(e);n!==t.lastActivityAt&&(t.lastActivityAt=n,!(t.live&&X.socketTranscripts)&&(X.socketTranscriptFallbacks[e]||I8.refetchQueries({queryKey:[`transcript`,e],exact:!0,type:`active`})))}}function U8(e){I8||(I8=e,e.getQueryCache().subscribe(e=>{let t=R8(e.query.queryKey);if(!t||e.type!==`observerAdded`&&e.type!==`observerRemoved`)return;let n=e.query.getObserversCount(),r=F8.get(t);e.type===`observerAdded`?(F8.delete(t),F8.set(t,{observers:n,live:r?.live??!1,queued:r?.queued??!1,lastActivityAt:r?r.lastActivityAt:z8(t)})):r&&(r.observers=n),B8()}),Jt(X,H8))}var W8=`ui-monospace, "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Mono", Consolas, Menlo, "DejaVu Sans Mono", monospace`,G8=`system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`;function K8(e){let t=e===`mono`?`mono`:`sans`;document.documentElement.dataset.font=t,document.body&&(document.body.style.fontFamily=t===`sans`?G8:W8);try{localStorage.setItem(`frizz-font`,t)}catch{}}function q8(e){let t=e.getQueryData([`settingsGet`]);t&&K8(t.font),Y.settingsGet().then(e=>K8(e.font)).catch(()=>{}),e.getQueryCache().subscribe(()=>{let t=e.getQueryData([`settingsGet`]);t&&K8(t.font)})}function J8(){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(),X8(t))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}function Y8(e){return e.closest(`.md-code`)?.querySelector(`pre code`)??null}async function X8(e){let t=Y8(e);if(!t)return;let n=(t.textContent??``).replace(/\n$/,``);if(n){try{await SR(n)}catch(e){Z(`Could not copy code: ${e.message.slice(0,100)}`,{duration:7e3});return}Q8(e)}}var Z8=new WeakMap;function Q8(e){e.classList.add(pS),e.title=`Copied`;let t=Z8.get(e);t!==void 0&&window.clearTimeout(t),Z8.set(e,window.setTimeout(()=>{e.classList.remove(pS),e.title=mS,Z8.delete(e)},m$))}var $8=/^\/thread\/([a-z0-9][a-z0-9-]*)\/?$/;function e5(){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=Ed(n);if(r&&r!==Ed())return;let i=$8.exec(kd(n));i&&(e.preventDefault(),e.stopPropagation(),tp(i[1]))};return document.addEventListener(`click`,e),()=>document.removeEventListener(`click`,e)}var t5=new Set([`projectsList`,`projectsQueueCounts`,`threadLocate`,`dispatchPreferencesGet`,`supervisorStatus`]);function n5(e){let t=e[0];return typeof t==`string`&&t5.has(t)?T(e):T([`project:${Ed()??``}`,...e])}var r5=typeof window<`u`&&window.location.pathname.endsWith(`/settings-formatting-fixture.html`),i5=typeof window<`u`?Pd(kd()):null;!r5&&!i5&&QC();var a5=new Le({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1,queryKeyHashFn:n5}}});r5||(DC(a5),U8(a5),zV(a5),q8(a5),LZ(),RK(),J8(),e5()),r5||(0,at.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(He,{client:a5,children:(0,L.jsx)(fh,{children:(0,L.jsx)(py,{router:j8})})}));export{a as i,Md as n,ze as r,zy as t};
|