blade-code 0.10.42 → 0.10.44
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/blade.js +2 -2
- package/dist/{chunk-dx7xefys.js → chunk-0qsssahq.js} +1 -1
- package/dist/{chunk-xkg84094.js → chunk-1vydfzvy.js} +2 -2
- package/dist/{chunk-ecw74d2s.js → chunk-26wse17p.js} +2 -2
- package/dist/{chunk-3xx2ebr7.js → chunk-2eddqgnh.js} +1 -1
- package/dist/{chunk-hypq4t4z.js → chunk-2yvte5a7.js} +1 -1
- package/dist/chunk-3nfse1ps.js +1 -0
- package/dist/chunk-3y784b9c.js +1 -0
- package/dist/{chunk-7gjb405q.js → chunk-50a5xx45.js} +1 -1
- package/dist/{chunk-1yjzj2d0.js → chunk-56qew7w0.js} +2 -2
- package/dist/{chunk-jz2gkqdt.js → chunk-583kv07t.js} +7 -7
- package/dist/chunk-619q1w65.js +1 -0
- package/dist/{chunk-qb49rm5q.js → chunk-63p5mj97.js} +1 -1
- package/dist/chunk-6cx4t8r6.js +1 -0
- package/dist/{chunk-mt7fn8cv.js → chunk-706zda55.js} +3 -3
- package/dist/{chunk-d2fce0vk.js → chunk-74hcqcn7.js} +2 -2
- package/dist/{chunk-kfv4mdcm.js → chunk-7fqsgdee.js} +2 -2
- package/dist/{chunk-5zr3w30g.js → chunk-7sna3js9.js} +1 -1
- package/dist/chunk-7z5t63ke.js +10 -0
- package/dist/chunk-86tba7p4.js +1 -0
- package/dist/{chunk-020hgyg7.js → chunk-8vtyatd6.js} +1 -1
- package/dist/chunk-99nka030.js +1 -0
- package/dist/{chunk-f90ybvrs.js → chunk-9rrced3b.js} +1 -1
- package/dist/chunk-a68fws4p.js +1 -0
- package/dist/chunk-agbyfdvw.js +1 -0
- package/dist/{chunk-sw3p1ygn.js → chunk-aw7w91f0.js} +68 -68
- package/dist/{chunk-0qf7h4n2.js → chunk-bvf9syb2.js} +2 -2
- package/dist/{chunk-dr4et3gj.js → chunk-c9s4n31b.js} +1 -1
- package/dist/{chunk-q6n6rqzs.js → chunk-cf2541w5.js} +2 -2
- package/dist/{chunk-4rmdfme3.js → chunk-ckqj0pxz.js} +1 -1
- package/dist/{chunk-f542fh7g.js → chunk-cxzx7j0p.js} +1 -1
- package/dist/chunk-d18mw6d1.js +2 -0
- package/dist/{chunk-1e9866ye.js → chunk-egczvfsv.js} +2 -2
- package/dist/{chunk-anwm8rp3.js → chunk-f4sp074f.js} +1 -1
- package/dist/chunk-fer18bbe.js +1 -0
- package/dist/{chunk-t2mc97k7.js → chunk-fhnkyqfb.js} +2 -2
- package/dist/chunk-fk0q25dp.js +8 -0
- package/dist/{chunk-3v2sgvzt.js → chunk-fk4wbmv6.js} +2 -2
- package/dist/{chunk-wm944thh.js → chunk-g96t2yrz.js} +22 -22
- package/dist/{chunk-pm9kt54d.js → chunk-hcm55r3d.js} +1 -1
- package/dist/{chunk-m8s208g3.js → chunk-hfrcwkc8.js} +1 -1
- package/dist/{chunk-yqxyy3w2.js → chunk-j0k3mbkd.js} +2 -2
- package/dist/chunk-j7edwwg1.js +2 -0
- package/dist/{chunk-jv9zg1fw.js → chunk-kfpzrmq7.js} +1 -1
- package/dist/{chunk-8csfb83y.js → chunk-m1b6v1zn.js} +2 -2
- package/dist/{chunk-18wnstzp.js → chunk-m8ss9rmx.js} +1 -1
- package/dist/{chunk-te95z52n.js → chunk-mrsc4a55.js} +1 -1
- package/dist/{chunk-fye8eghq.js → chunk-mzq3ps9j.js} +2 -2
- package/dist/chunk-n4ywszmn.js +6 -0
- package/dist/chunk-p4egmgt6.js +2 -0
- package/dist/chunk-pk9peyzp.js +1 -0
- package/dist/{chunk-mpymjr7j.js → chunk-q78s028m.js} +1 -1
- package/dist/{chunk-m3dvta6k.js → chunk-qb0sqh29.js} +2 -2
- package/dist/{chunk-0jsy9eav.js → chunk-qp2z1r7y.js} +1 -1
- package/dist/chunk-qzd9d0p8.js +22 -0
- package/dist/{chunk-mp637mb6.js → chunk-r085zhqr.js} +2 -2
- package/dist/{chunk-1whfdz08.js → chunk-s4denzh4.js} +1 -1
- package/dist/{chunk-6d0hphtd.js → chunk-sqd5ge5s.js} +1 -1
- package/dist/{chunk-brwdd5kp.js → chunk-svj24r6g.js} +2 -2
- package/dist/{chunk-jf6mkx0j.js → chunk-synjj8b3.js} +1 -1
- package/dist/chunk-t33njg4e.js +1 -0
- package/dist/{chunk-vc32qrmq.js → chunk-tpa75y39.js} +1 -1
- package/dist/chunk-tzp486wc.js +1 -0
- package/dist/{chunk-y75y911b.js → chunk-v9tzhe90.js} +2 -2
- package/dist/{chunk-ex21hxqf.js → chunk-vx5tjahq.js} +1 -1
- package/dist/chunk-wr2rkg9t.js +1 -0
- package/dist/{chunk-7pmpm5yq.js → chunk-wwvb6znp.js} +1 -1
- package/dist/chunk-wx5nj2s2.js +44 -0
- package/dist/{chunk-8b2bpfnt.js → chunk-x3cyg9pe.js} +3 -3
- package/dist/chunk-y6tkxqjx.js +2 -0
- package/dist/{chunk-4k37vmxh.js → chunk-yk9pxkc1.js} +1 -1
- package/dist/chunk-z1aqe7ms.js +1 -0
- package/dist/{chunk-z60w7p8a.js → chunk-z9absgab.js} +1 -1
- package/dist/web/assets/{ChatView-DBgMoUrW.js → ChatView-CyxiCTbL.js} +3 -3
- package/dist/web/assets/{CodeBlockHighlighter-DLFQUVD6.js → CodeBlockHighlighter-Bb3gIeQv.js} +1 -1
- package/dist/web/assets/{FilePreview--1qHdJP_.js → FilePreview-BXg9VaTv.js} +1 -1
- package/dist/web/assets/{MarkdownRenderer-DcVHyjtl.js → MarkdownRenderer-vxpqGt4L.js} +3 -3
- package/dist/web/assets/{SettingsModal-BM6SPUXW.js → SettingsModal-4L1nPkh0.js} +1 -1
- package/dist/web/assets/{TaskSwitcher-B5VYY_QG.js → TaskSwitcher-DKSqTLK1.js} +1 -1
- package/dist/web/assets/{TerminalPanel-XWA1jGs8.js → TerminalPanel-Bv9PDclr.js} +1 -1
- package/dist/web/assets/{index-B8y5_J0i.js → index-Bz4W1-8a.js} +3 -3
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunk-5hbm5e24.js +0 -44
- package/dist/chunk-74sxsd1h.js +0 -1
- package/dist/chunk-78jy2kby.js +0 -1
- package/dist/chunk-7qd6xqjs.js +0 -1
- package/dist/chunk-8wg7g98v.js +0 -10
- package/dist/chunk-c53hc8ze.js +0 -1
- package/dist/chunk-dgs04r04.js +0 -2
- package/dist/chunk-h9fkttf1.js +0 -2
- package/dist/chunk-hkmgrdxc.js +0 -1
- package/dist/chunk-katrmbxc.js +0 -1
- package/dist/chunk-m4ya7qqd.js +0 -1
- package/dist/chunk-n6c6k87j.js +0 -1
- package/dist/chunk-ppxn94za.js +0 -1
- package/dist/chunk-rf7hdke7.js +0 -1
- package/dist/chunk-rjjjgcw4.js +0 -1
- package/dist/chunk-vsaqjbm2.js +0 -6
- package/dist/chunk-wcxsm922.js +0 -2
- package/dist/chunk-wn23bvs0.js +0 -1
- package/dist/chunk-wtczk025.js +0 -22
- package/dist/chunk-yatvtpft.js +0 -1
- package/dist/chunk-za6zyd82.js +0 -8
- package/dist/chunk-zhrc510s.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsModal-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsModal-4L1nPkh0.js","assets/vendor-react-DG5dkZ_t.js","assets/vendor-radix-DXRuAJHH.js","assets/vendor-icons-ICv1v-tf.js","assets/session-events-DJh6SZcl.js","assets/TaskSwitcher-DKSqTLK1.js","assets/FilePreview-BXg9VaTv.js","assets/TerminalPanel-Bv9PDclr.js","assets/vendor-xterm-DuYZoU4T.js","assets/vendor-xterm-9CEnUXvW.css","assets/ChatView-CyxiCTbL.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{r as w,j as a,c as eo,d as Cy}from"./vendor-react-DG5dkZ_t.js";import{S as Ey,O as uf,P as Ty,C as ff,a as Ay,T as pf,D as mf,R as Py,b as hf,V as Ny,c as Oy,d as gf,e as Ry,f as $y,g as bf,h as My,i as Fy}from"./vendor-radix-DXRuAJHH.js";import{X as ro,H as ru,L as lt,F as Ly,R as qi,A as kf,a as so,D as xf,b as Dy,c as Ci,d as _y,e as oo,G as _c,T as yf,C as wf,f as Is,S as Uc,M as Uy,g as By,P as Hy,h as vf,i as Bc,j as Sf,k as Hc,l as zy,m as qy,n as Ky,o as If,p as Gy,q as Wy,r as jf,s as su,t as Vy,u as Jy,v as Cf,w as Qy,I as Yy,x as ou,y as bs,B as Xy,z as Zy,E as ew,W as iu,J as tw,K as nw,N as rw,O as sw,Q as ow,U as au,V as cu}from"./vendor-icons-ICv1v-tf.js";import{c as Bn,g as iw,w as lu,u as aw,a as cw,b as lw,d as du,e as hi,f as uu,h as Ua,t as Ef,i as dw,j as uw}from"./session-events-DJh6SZcl.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();const fw="modulepreload",pw=function(e){return"/"+e},fu={},ko=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),u=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.allSettled(n.map(p=>{if(p=pw(p),p in fu)return;fu[p]=!0;const d=p.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${f}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":fw,d||(m.as="script"),m.crossOrigin="",m.href=p,u&&m.setAttribute("nonce",u),document.head.appendChild(m),d)return new Promise((h,k)=>{m.addEventListener("load",h),m.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${p}`)))})}))}function o(i){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=i,window.dispatchEvent(u),!u.defaultPrevented)throw i}return s.then(i=>{for(const u of i||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})};function Tf(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=Tf(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function Af(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=Tf(e))&&(r&&(r+=" "),r+=t);return r}const pu=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,mu=Af,mw=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return mu(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:o}=t,i=Object.keys(s).map(d=>{const f=n==null?void 0:n[d],m=o==null?void 0:o[d];if(f===null)return null;const h=pu(f)||pu(m);return s[d][h]}),u=n&&Object.entries(n).reduce((d,f)=>{let[m,h]=f;return h===void 0||(d[m]=h),d},{}),p=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((d,f)=>{let{class:m,className:h,...k}=f;return Object.entries(k).every(x=>{let[C,T]=x;return Array.isArray(T)?T.includes({...o,...u}[C]):{...o,...u}[C]===T})?[...d,m,h]:d},[]);return mu(e,i,p,n==null?void 0:n.class,n==null?void 0:n.className)},zc="-",hw=e=>{const t=bw(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{const u=i.split(zc);return u[0]===""&&u.length!==1&&u.shift(),Pf(u,t)||gw(i)},getConflictingClassGroupIds:(i,u)=>{const p=n[i]||[];return u&&r[i]?[...p,...r[i]]:p}}},Pf=(e,t)=>{var i;if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),s=r?Pf(e.slice(1),r):void 0;if(s)return s;if(t.validators.length===0)return;const o=e.join(zc);return(i=t.validators.find(({validator:u})=>u(o)))==null?void 0:i.classGroupId},hu=/^\[(.+)\]$/,gw=e=>{if(hu.test(e)){const t=hu.exec(e)[1],n=t==null?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},bw=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return xw(Object.entries(e.classGroups),n).forEach(([o,i])=>{oc(i,r,o,t)}),r},oc=(e,t,n,r)=>{e.forEach(s=>{if(typeof s=="string"){const o=s===""?t:gu(t,s);o.classGroupId=n;return}if(typeof s=="function"){if(kw(s)){oc(s(r),t,n,r);return}t.validators.push({validator:s,classGroupId:n});return}Object.entries(s).forEach(([o,i])=>{oc(i,gu(t,o),n,r)})})},gu=(e,t)=>{let n=e;return t.split(zc).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},kw=e=>e.isThemeGetter,xw=(e,t)=>t?e.map(([n,r])=>{const s=r.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([i,u])=>[t+i,u])):o);return[n,s]}):e,yw=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const s=(o,i)=>{n.set(o,i),t++,t>e&&(t=0,r=n,n=new Map)};return{get(o){let i=n.get(o);if(i!==void 0)return i;if((i=r.get(o))!==void 0)return s(o,i),i},set(o,i){n.has(o)?n.set(o,i):s(o,i)}}},Nf="!",ww=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,s=t[0],o=t.length,i=u=>{const p=[];let d=0,f=0,m;for(let T=0;T<u.length;T++){let b=u[T];if(d===0){if(b===s&&(r||u.slice(T,T+o)===t)){p.push(u.slice(f,T)),f=T+o;continue}if(b==="/"){m=T;continue}}b==="["?d++:b==="]"&&d--}const h=p.length===0?u:u.substring(f),k=h.startsWith(Nf),x=k?h.substring(1):h,C=m&&m>f?m-f:void 0;return{modifiers:p,hasImportantModifier:k,baseClassName:x,maybePostfixModifierPosition:C}};return n?u=>n({className:u,parseClassName:i}):i},vw=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},Sw=e=>({cache:yw(e.cacheSize),parseClassName:ww(e),...hw(e)}),Iw=/\s+/,jw=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s}=t,o=[],i=e.trim().split(Iw);let u="";for(let p=i.length-1;p>=0;p-=1){const d=i[p],{modifiers:f,hasImportantModifier:m,baseClassName:h,maybePostfixModifierPosition:k}=n(d);let x=!!k,C=r(x?h.substring(0,k):h);if(!C){if(!x){u=d+(u.length>0?" "+u:u);continue}if(C=r(h),!C){u=d+(u.length>0?" "+u:u);continue}x=!1}const T=vw(f).join(":"),b=m?T+Nf:T,A=b+C;if(o.includes(A))continue;o.push(A);const N=s(C,x);for(let R=0;R<N.length;++R){const V=N[R];o.push(b+V)}u=d+(u.length>0?" "+u:u)}return u};function Cw(){let e=0,t,n,r="";for(;e<arguments.length;)(t=arguments[e++])&&(n=Of(t))&&(r&&(r+=" "),r+=n);return r}const Of=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Of(e[r]))&&(n&&(n+=" "),n+=t);return n};function Ew(e,...t){let n,r,s,o=i;function i(p){const d=t.reduce((f,m)=>m(f),e());return n=Sw(d),r=n.cache.get,s=n.cache.set,o=u,u(p)}function u(p){const d=r(p);if(d)return d;const f=jw(p,n);return s(p,f),f}return function(){return o(Cw.apply(null,arguments))}}const We=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Rf=/^\[(?:([a-z-]+):)?(.+)\]$/i,Tw=/^\d+\/\d+$/,Aw=new Set(["px","full","screen"]),Pw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Nw=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ow=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Rw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,$w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Hn=e=>vs(e)||Aw.has(e)||Tw.test(e),ar=e=>Cs(e,"length",Hw),vs=e=>!!e&&!Number.isNaN(Number(e)),Ba=e=>Cs(e,"number",vs),Qs=e=>!!e&&Number.isInteger(Number(e)),Mw=e=>e.endsWith("%")&&vs(e.slice(0,-1)),le=e=>Rf.test(e),cr=e=>Pw.test(e),Fw=new Set(["length","size","percentage"]),Lw=e=>Cs(e,Fw,$f),Dw=e=>Cs(e,"position",$f),_w=new Set(["image","url"]),Uw=e=>Cs(e,_w,qw),Bw=e=>Cs(e,"",zw),Ys=()=>!0,Cs=(e,t,n)=>{const r=Rf.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},Hw=e=>Nw.test(e)&&!Ow.test(e),$f=()=>!1,zw=e=>Rw.test(e),qw=e=>$w.test(e),Kw=()=>{const e=We("colors"),t=We("spacing"),n=We("blur"),r=We("brightness"),s=We("borderColor"),o=We("borderRadius"),i=We("borderSpacing"),u=We("borderWidth"),p=We("contrast"),d=We("grayscale"),f=We("hueRotate"),m=We("invert"),h=We("gap"),k=We("gradientColorStops"),x=We("gradientColorStopPositions"),C=We("inset"),T=We("margin"),b=We("opacity"),A=We("padding"),N=We("saturate"),R=We("scale"),V=We("sepia"),j=We("skew"),I=We("space"),O=We("translate"),B=()=>["auto","contain","none"],Z=()=>["auto","hidden","clip","visible","scroll"],re=()=>["auto",le,t],P=()=>[le,t],z=()=>["",Hn,ar],J=()=>["auto",vs,le],he=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],$e=()=>["solid","dashed","dotted","double","none"],Ce=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ie=()=>["start","end","center","between","around","evenly","stretch"],Me=()=>["","0",le],$=()=>["auto","avoid","all","avoid-page","page","left","right","column"],pe=()=>[vs,le];return{cacheSize:500,separator:":",theme:{colors:[Ys],spacing:[Hn,ar],blur:["none","",cr,le],brightness:pe(),borderColor:[e],borderRadius:["none","","full",cr,le],borderSpacing:P(),borderWidth:z(),contrast:pe(),grayscale:Me(),hueRotate:pe(),invert:Me(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[Mw,ar],inset:re(),margin:re(),opacity:pe(),padding:P(),saturate:pe(),scale:pe(),sepia:Me(),skew:pe(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",le]}],container:["container"],columns:[{columns:[cr]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...he(),le]}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[C]}],"inset-x":[{"inset-x":[C]}],"inset-y":[{"inset-y":[C]}],start:[{start:[C]}],end:[{end:[C]}],top:[{top:[C]}],right:[{right:[C]}],bottom:[{bottom:[C]}],left:[{left:[C]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Qs,le]}],basis:[{basis:re()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",le]}],grow:[{grow:Me()}],shrink:[{shrink:Me()}],order:[{order:["first","last","none",Qs,le]}],"grid-cols":[{"grid-cols":[Ys]}],"col-start-end":[{col:["auto",{span:["full",Qs,le]},le]}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":[Ys]}],"row-start-end":[{row:["auto",{span:[Qs,le]},le]}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",le]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",le]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...ie()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...ie(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...ie(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[A]}],px:[{px:[A]}],py:[{py:[A]}],ps:[{ps:[A]}],pe:[{pe:[A]}],pt:[{pt:[A]}],pr:[{pr:[A]}],pb:[{pb:[A]}],pl:[{pl:[A]}],m:[{m:[T]}],mx:[{mx:[T]}],my:[{my:[T]}],ms:[{ms:[T]}],me:[{me:[T]}],mt:[{mt:[T]}],mr:[{mr:[T]}],mb:[{mb:[T]}],ml:[{ml:[T]}],"space-x":[{"space-x":[I]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[I]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",le,t]}],"min-w":[{"min-w":[le,t,"min","max","fit"]}],"max-w":[{"max-w":[le,t,"none","full","min","max","fit","prose",{screen:[cr]},cr]}],h:[{h:[le,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[le,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[le,t,"auto","min","max","fit"]}],"font-size":[{text:["base",cr,ar]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ba]}],"font-family":[{font:[Ys]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",le]}],"line-clamp":[{"line-clamp":["none",vs,Ba]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Hn,le]}],"list-image":[{"list-image":["none",le]}],"list-style-type":[{list:["none","disc","decimal",le]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...$e(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Hn,ar]}],"underline-offset":[{"underline-offset":["auto",Hn,le]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",le]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...he(),Dw]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Lw]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Uw]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[k]}],"gradient-via":[{via:[k]}],"gradient-to":[{to:[k]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[u]}],"border-w-x":[{"border-x":[u]}],"border-w-y":[{"border-y":[u]}],"border-w-s":[{"border-s":[u]}],"border-w-e":[{"border-e":[u]}],"border-w-t":[{"border-t":[u]}],"border-w-r":[{"border-r":[u]}],"border-w-b":[{"border-b":[u]}],"border-w-l":[{"border-l":[u]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...$e(),"hidden"]}],"divide-x":[{"divide-x":[u]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[u]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:$e()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...$e()]}],"outline-offset":[{"outline-offset":[Hn,le]}],"outline-w":[{outline:[Hn,ar]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[Hn,ar]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",cr,Bw]}],"shadow-color":[{shadow:[Ys]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...Ce(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Ce()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[p]}],"drop-shadow":[{"drop-shadow":["","none",cr,le]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[m]}],saturate:[{saturate:[N]}],sepia:[{sepia:[V]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[p]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[m]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[N]}],"backdrop-sepia":[{"backdrop-sepia":[V]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",le]}],duration:[{duration:pe()}],ease:[{ease:["linear","in","out","in-out",le]}],delay:[{delay:pe()}],animate:[{animate:["none","spin","ping","pulse","bounce",le]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[R]}],"scale-x":[{"scale-x":[R]}],"scale-y":[{"scale-y":[R]}],rotate:[{rotate:[Qs,le]}],"translate-x":[{"translate-x":[O]}],"translate-y":[{"translate-y":[O]}],"skew-x":[{"skew-x":[j]}],"skew-y":[{"skew-y":[j]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",le]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",le]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",le]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Hn,ar,Ba]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Gw=Ew(Kw);function G(...e){return Gw(Af(e))}const Ww=mw("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),pr=w.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...s},o)=>{const i=r?Ey:"button";return a.jsx(i,{className:G(Ww({variant:t,size:n,className:e})),ref:o,...s})});pr.displayName="Button";const qc=Py,Vw=Ty,Mf=w.forwardRef(({className:e,...t},n)=>a.jsx(uf,{ref:n,className:G("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));Mf.displayName=uf.displayName;const Ki=w.forwardRef(({className:e,children:t,hideCloseButton:n,...r},s)=>a.jsxs(Vw,{children:[a.jsx(Mf,{}),a.jsxs(ff,{ref:s,"aria-modal":"true",className:G("fixed left-[50%] top-[50%] z-50 grid max-h-[calc(100dvh-24px)] w-[calc(100vw-24px)] max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[t,!n&&a.jsxs(Ay,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[a.jsx(ro,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Ki.displayName=ff.displayName;const Kc=({className:e,...t})=>a.jsx("div",{className:G("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Kc.displayName="DialogHeader";const Ff=({className:e,...t})=>a.jsx("div",{className:G("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Ff.displayName="DialogFooter";const Gi=w.forwardRef(({className:e,...t},n)=>a.jsx(pf,{ref:n,className:G("text-lg font-semibold leading-none tracking-tight",e),...t}));Gi.displayName=pf.displayName;const Wi=w.forwardRef(({className:e,...t},n)=>a.jsx(mf,{ref:n,className:G("text-sm text-muted-foreground",e),...t}));Wi.displayName=mf.displayName;const Jw={"app.restoring":"Restoring workspace…","layout.workspace.pathAria":"Workspace path","layout.workspace.empty":"No workspace","layout.action.rewind":"Rewind session","layout.action.filePreview":"File preview","layout.action.filePreviewToggle":"Toggle file preview","layout.action.openNavigation":"Open navigation","terminal.title":"Terminal","terminal.status.connected":"Terminal connected","terminal.status.disconnected":"Terminal disconnected","terminal.action.minimize":"Minimize terminal","terminal.action.restore":"Restore terminal","terminal.action.close":"Close terminal","sidebar.brand.badge":"WEB","sidebar.action.collapse":"Collapse sidebar","sidebar.action.expand":"Expand sidebar","sidebar.navigationAria":"Task navigation","sidebar.action.newTask":"New Task","sidebar.action.newTaskShort":"New task","sidebar.action.terminal":"Terminal","sidebar.action.terminalToggle":"Toggle terminal","sidebar.action.searchTasks":"Search tasks","sidebar.unreadTasks":"{count} unread tasks","sidebar.section.skills":"Skills","sidebar.section.mcp":"MCP","sidebar.section.settings":"Settings","sidebar.status.user":"User","sidebar.status.feedLive":"Task feed live","sidebar.status.feedOffline":"Task feed offline","sidebar.empty.title":"No tasks yet","sidebar.empty.hint":"Dispatch one from the home view","sidebar.group.running":"RUNNING","sidebar.group.queued":"QUEUED","sidebar.group.interrupted":"INTERRUPTED","sidebar.group.failed":"FAILED","sidebar.group.cancelled":"CANCELLED","sidebar.group.done":"DONE","sidebar.group.showMore":"Show {count} more","sidebar.group.showLess":"Show less","sidebar.view.project":"Projects","sidebar.view.status":"Status","sidebar.view.projectAria":"Group sessions by project","sidebar.view.statusAria":"Group sessions by status","sidebar.project.active":"active","sidebar.project.expand":"Expand {name}","sidebar.project.collapse":"Collapse {name}","sidebar.project.newTask":"New task in {name}","sidebar.project.reorder":"Reorder {name}, position {position} of {count}","sidebar.project.reorderHint":"Drag to reorder, or use Up and Down arrow keys","sidebar.project.reordered":"Moved {name} to position {position}","sidebar.project.projects":"Projects","sidebar.catalog.syncing":"Syncing task history…","sidebar.catalog.loaded":"{count} loaded","sidebar.catalog.incomplete":"Task history is incomplete","sidebar.catalog.retry":"Retry","projects.dialog.title":"Projects","projects.dialog.description":"Bind local folders to switch task context without restarting Blade.","projects.bind.placeholder":"/absolute/path/to/project","projects.bind.pathLabel":"Project path","projects.bind.action":"Bind","projects.bind.failed":"Failed to bind project","projects.pick.action":"Choose project folder","projects.pick.actionShort":"Choose","projects.pick.picking":"Choosing…","projects.pick.failed":"Failed to choose a project folder","projects.unbind.action":"Unbind project","projects.unavailable":"unavailable","sidebar.language.label":"Language","sidebar.language.aria":"Switch language","sidebar.language.en":"EN","sidebar.language.zh":"中","session.env.worktree":"worktree","session.env.local":"local","session.action.select":"Select {title}","session.action.save":"Save {title}","session.action.cancel":"Cancel {title}","session.action.more":"More actions for {title}","session.action.fork":"Fork {title}","session.action.forkShort":"Fork","session.action.rename":"Rename {title}","session.action.renameShort":"Rename","session.action.archive":"Archive {title}","session.action.archiveShort":"Archive","session.action.export":"Export {title} as Markdown","session.action.exportShort":"Export Markdown","session.action.exportingShort":"Exporting…","session.action.delete":"Delete {title}","session.action.deleteShort":"Delete","session.action.stop":"Stop {title}","session.action.stopping":"Stopping {title}","session.action.retry":"Retry {title}","session.action.retrying":"Retrying {title}","session.reason.cancelledByUser":"Cancelled by user","session.title.codeReview":"Code Review","session.forkedFrom":"Forked from","session.retriedFrom":"Retried from","session.retryShort":"retry","session.queued":"#{position}/{depth} queued","archive.title":"Archive","archive.subtitle":"Stored safely outside the active task list","archive.open":"Open session archive","archive.refresh":"Refresh archived sessions","archive.retry":"Retry","archive.loading":"Loading archive…","archive.empty":"No archived sessions","archive.restore":"Restore {title}","archive.restoreShort":"Restore","archive.restoreAncestor":"Restore the archive root first","archive.inherited":"Archived with {id}","taskSwitcher.title":"Task switcher","taskSwitcher.description":"Search and open tasks across every project.","taskSwitcher.searchAria":"Search tasks","taskSwitcher.placeholder":"Search title, project, branch, status, or session ID…","taskSwitcher.results":"{count} results","taskSwitcher.recent":"Recent tasks","taskSwitcher.scope":"{count} tasks indexed","taskSwitcher.indexing":"Indexing tasks…","taskSwitcher.resultsAria":"Task search results","taskSwitcher.current":"Current","taskSwitcher.unread":"{count} unread","taskSwitcher.needsAction":"{count} need action","taskSwitcher.new":"New","taskSwitcher.empty":"No matching tasks","taskSwitcher.emptyHint":"Try a project, branch, status, or shorter phrase.","taskSwitcher.hint.navigate":"navigate","taskSwitcher.hint.open":"open","taskSwitcher.hint.toggle":"toggle","taskSwitcher.action.failed":"Task action failed","commandCenter.title":"Command center","commandCenter.description":"Search tasks or run workspace and application actions.","commandCenter.searchAria":"Search actions","commandCenter.placeholder":"Search actions, settings, or tools…","commandCenter.modeAria":"Command center mode","commandCenter.mode.tasks":"Tasks","commandCenter.mode.commands":"Actions","commandCenter.actions":"{count} actions","commandCenter.resultsAria":"Action search results","commandCenter.empty":"No matching actions","commandCenter.emptyHint":"Try a tool, panel, or setting name.","commandCenter.action.newTask":"New task","commandCenter.action.newTaskDescription":"Open a clean task composer","commandCenter.action.preview":"Toggle preview","commandCenter.action.previewDescription":"Review files, diffs, and run logs","commandCenter.action.terminal":"Toggle terminal","commandCenter.action.terminalDescription":"Open or close the workspace shell","commandCenter.action.settings":"Open settings","commandCenter.action.settingsDescription":"Configure appearance and behavior","commandCenter.action.models":"Configure models","commandCenter.action.modelsDescription":"Select providers and task models","commandCenter.action.shortcuts":"View keyboard shortcuts","commandCenter.action.shortcutsDescription":"Browse global and contextual keys","commandCenter.action.skills":"Manage skills","commandCenter.action.skillsDescription":"Discover and configure agent capabilities","commandCenter.action.mcp":"Manage MCP servers","commandCenter.action.mcpDescription":"Configure connected tools and servers","commandCenter.action.sidebar":"Toggle sidebar","commandCenter.action.sidebarDescription":"Show or hide project navigation","taskHome.eyebrow":"Task dispatcher · Ready","taskHome.feed.connecting":"Task dispatcher · Connecting","taskHome.feed.reconnecting":"Task dispatcher · Reconnecting","taskHome.feed.offline":"Task dispatcher · Offline","taskHome.feed.offlineDescription":"Live task updates are paused. Running tasks continue on the server.","taskHome.feed.retry":"Reconnect","taskHome.hero.prefix":"What should Blade build in","taskHome.hero.projectFallback":"current workspace","taskHome.hero.subtitle":"Dispatch a task and keep moving. Each task runs in its own worktree, persists state, and returns with a reviewable workspace when it's done.","taskHome.templates.title":"Templates","taskHome.templates.hint":"1–4 to prefill","taskHome.template.explore.title":"Explore","taskHome.template.explore.description":"Trace behavior and explain the system","taskHome.template.explore.hint":"Trace a call · map a module","taskHome.template.build.title":"Build","taskHome.template.build.description":"Implement a production-ready feature","taskHome.template.build.hint":"Ship a feature end-to-end","taskHome.template.review.title":"Review","taskHome.template.review.description":"Find correctness and regression risks","taskHome.template.review.hint":"Audit current changes","taskHome.review.attachmentsUnsupported":"Code review does not accept attachments","taskHome.review.outputSchemaUnsupported":"Code review uses its own structured report schema","taskHome.review.usage":"Usage: /review [uncommitted | base <ref> | commit <sha>]","taskHome.review.running":"Read-only code review in progress","taskHome.review.stale":"Review target changed while the reviewer was running","taskHome.review.aborted":"Code review aborted","taskHome.review.interrupted":"Code review interrupted by process restart","taskHome.review.failed":"Code review failed","taskHome.review.startFailed":"Failed to start code review","taskHome.review.invalidTarget":"The selected review target is invalid or has no changes","taskHome.review.conflict":"This session already has active work","taskHome.template.fix.title":"Fix","taskHome.template.fix.description":"Diagnose and repair a concrete failure","taskHome.template.fix.hint":"Bisect · reproduce · patch","taskHome.context.isolationToggleTitle":"Toggle task isolation","taskHome.context.projectSelect":"Select target project","taskHome.context.isolation.worktree":"Isolated worktree","taskHome.context.isolation.local":"Local workspace","taskHome.context.branchFallback":"no branch","taskHome.context.preparing":"Preparing worktree","taskHome.setup.aria":"Task setup status","taskHome.setup.title":"Finish setup","taskHome.setup.description":"Keep drafting while Blade verifies the workspace and model.","taskHome.setup.workspace.title":"Workspace","taskHome.setup.workspace.loading":"Checking available workspaces…","taskHome.setup.workspace.ready":"{project} selected","taskHome.setup.workspace.required":"Choose an available project","taskHome.setup.workspace.empty":"No project","taskHome.setup.workspace.action":"Choose","taskHome.setup.workspace.retry":"Reload workspaces","taskHome.setup.model.title":"Model","taskHome.setup.model.loading":"Checking configuration…","taskHome.setup.model.ready":"Ready for this task","taskHome.setup.model.required":"Configure or select a model","taskHome.setup.model.action":"Configure","taskHome.setup.model.retry":"Retry","taskHome.composer.placeholder":"Describe the outcome, constraints, and verification you expect...","taskHome.error.dismiss":"Dismiss","taskHome.recent.title":"Recent tasks","taskHome.recent.total":"{count} total","taskHome.recent.partial":"{count} loaded · syncing","taskHome.recent.incomplete":"{count} loaded · history incomplete","taskSwitcher.indexingLoaded":"{count} loaded · syncing history","taskHome.footer.note":"Worktree isolation keeps parallel tasks from touching your active checkout","capacity.title":"{inFlight} running · {queued} queued · max {max}","capacity.suffix.running":" running","capacity.queued":"{queued} queued","recent.status.running":"running","recent.status.queued":"queued","recent.status.paused":"paused","recent.status.failed":"failed","recent.status.cancelled":"cancelled","recent.status.done":"done","recent.time.justNow":"just now","recent.time.minutes":"{n}m ago","recent.time.hours":"{n}h ago","recent.time.days":"{n}d ago","recent.session.fallbackShort":"Session {id}","recent.session.fallbackDated":"Session {y}-{m}-{d} {hh}:{mm}","attention.unreadAnnouncement":"{count} unread task updates","attention.notification.completed":"Task completed","attention.notification.failed":"Task failed","attention.notification.interrupted":"Task interrupted","attention.notification.permission":"Approval required","attention.notification.question":"Answer required","attention.notification.elicitation":"MCP input required","interaction.permission.title":"Permission required: {tool}","interaction.permission.once":"Allow once","interaction.permission.session":"Allow for session","interaction.permission.project":"Allow for project","interaction.permission.deny":"Deny","interaction.permission.failed":"Failed to respond to permission","interaction.question.answered":"Questions answered","interaction.question.other":"Other","interaction.question.submit":"Submit answers","interaction.question.failed":"Failed to submit answers","interaction.elicitation.title":"MCP input requested","interaction.elicitation.submit":"Submit to MCP","interaction.elicitation.open":"Open external URL","interaction.elicitation.decline":"Decline","interaction.elicitation.cancel":"Cancel","interaction.elicitation.responded":"MCP request answered","interaction.elicitation.cancelled":"MCP request cancelled","interaction.elicitation.failed":"Failed to respond to MCP request","interaction.elicitation.warning":"Only continue if you trust this MCP server and understand the request.","interaction.bar.permissionTitle":"Agent needs approval","interaction.bar.permissionHint":"Review the pending tool request before this task can continue.","interaction.bar.questionTitle":"Agent needs your answer","interaction.bar.questionHint":"Answer the pending question before this task can continue.","interaction.bar.elicitationTitle":"MCP server needs your input","interaction.bar.elicitationHint":"Review the MCP request before this task can continue.","interaction.bar.review":"Review request","interaction.badge.permission":"Needs approval","interaction.badge.question":"Needs answer","interaction.badge.elicitation":"MCP input","artifact.env.isolated":"isolated","artifact.env.local":"local","artifact.review":"Review changes","artifact.commits":"{count} commits","artifact.apply":"Apply","artifact.retryApply":"Retry apply","artifact.applying":"Applying","artifact.applied":"Applied","artifact.discard":"Discard task changes","artifact.discarded":"Discarded","artifact.conflict":"The task changes could not be applied safely.","artifact.conflictHint":"The isolated changes are preserved. Review them, resolve the source project, then retry or discard.","artifact.discardDialog.title":"Discard isolated changes?","artifact.discardDialog.description":"Remove {count} changed files from the isolated task workspace for {project}.","artifact.discardDialog.warning":"This permanently removes the task worktree and branch. Your source project is not modified.","artifact.discardDialog.cancel":"Keep changes","artifact.discardDialog.confirm":"Discard changes","chat.list.empty.eyebrow":"Blade · Ready","chat.list.empty.title":"Start a conversation to begin","chat.list.empty.hint":"Ask a question, describe a change, or paste a stack trace.","chat.list.loading.eyebrow":"Conversation history","chat.list.loading.title":"Restoring conversation…","chat.list.loading.hint":"Loading messages, task state, and live updates. Larger conversations may take a moment.","chat.list.showEarlier":"Show {count} earlier messages","chat.list.showEarlierWithRemaining":"Show {count} earlier messages, {remaining} hidden","chat.list.jumpLatest":"Jump to latest","chat.turns.aria":"Jump to a previous message","chat.turns.label":"Turn {n}","chat.timeline.thinking":"Thought process","chat.timeline.tools.runningOne":"Running 1 command","chat.timeline.tools.running":"Running {count} commands","chat.timeline.tools.completedOne":"Executed 1 command","chat.timeline.tools.completed":"Executed {count} commands","chat.timeline.tools.completedOneWithError":"Executed 1 command · failed","chat.timeline.tools.completedWithErrors":"Executed {count} commands · {errors} failed","chat.error.dismiss":"Dismiss error","chat.error.queueFull":"The guidance queue is full. Wait for pending instructions to start, then retry.","chat.error.turnChanged":"The active turn changed before this message was accepted. Review and retry it.","chat.error.title.submission":"Message not sent.","chat.error.title.execution":"Run stopped.","chat.error.title.navigation":"Task not opened.","chat.error.title.generic":"Action failed.","chat.error.action.returnDraft":"Return to draft","chat.error.action.editResend":"Edit and resend","chat.error.action.retryTask":"Retry task","chat.error.action.retryingTask":"Retrying…","chat.error.action.checkModels":"Check model settings","task.failure.authentication":"Provider authentication failed. Check model credentials.","task.failure.permission":"Provider rejected this request. Check account and model permissions.","task.failure.rateLimit":"Provider rate limit or quota exceeded.","task.failure.timeout":"Provider request timed out.","task.failure.network":"Provider connection failed.","task.failure.modelUnavailable":"The selected model is unavailable.","task.failure.contextLimit":"The request exceeded the model context limit.","task.failure.unsupportedInput":"The selected model does not support this input.","task.failure.capacity":"Task admission capacity is full. Retry after running tasks complete.","task.failure.runtime":"Agent execution failed.","chat.connection.reconnecting":"Reconnecting live updates. The active run continues in the background.","chat.connection.offline":"Live updates are offline. Progress shown here may be stale.","chat.connection.retry":"Reconnect","chat.footer.disclaimer":"Blade can make mistakes. Please check important information.","chat.input.placeholder.default":"Type @ for files, / for commands...","chat.input.placeholder.steering":"Add guidance to steer the active turn...","chat.input.steering.status":"Active turn is steerable","chat.input.steering.queued":"Guidance accepted · {count} pending","chat.input.steering.enterHint":" · Enter sends guidance","chat.input.followUp.queued":"Follow-up accepted · {count} queued for the next turn","chat.input.steering.recoveredOne":"Recovered {count} queued instruction after restart","chat.input.steering.recoveredMany":"Recovered {count} queued instructions after restart","chat.input.attachment.add":"Attach images","chat.input.attachment.remove":"Remove","chat.input.attachment.countLimit":"You can attach up to {count} images.","chat.input.attachment.sizeLimit":"Images must stay under {size} total. Remove an image or choose smaller files.","chat.input.attachment.readFailed":"Blade could not read one of these images.","chat.input.attachment.usage":"{count}/{limit} images · {used} of {budget}","chat.input.attachment.modelUnsupported":"{model} does not support images. Choose a vision model or remove the images.","chat.input.attachment.modelRequired":"Choose a vision-capable model before attaching images.","chat.input.model.placeholder":"Select Model","chat.input.model.empty":"No models configured","chat.input.model.vision":"Vision","chat.input.model.change":"Change model","chat.input.model.locked":"Wait for the active turn to finish before switching models","chat.input.effort.label":"Effort {effort}","chat.input.effort.heading":"Reasoning effort","chat.input.effort.change":"Change reasoning effort","chat.input.effort.locked":"Wait for the active turn to finish before changing reasoning effort","chat.input.effort.option":"Use {effort} reasoning effort","chat.input.effort.autoHint":"near high","chat.input.serviceTier.label":"Speed {tier}","chat.input.serviceTier.heading":"Provider service tier","chat.input.serviceTier.change":"Change provider service tier","chat.input.serviceTier.locked":"Wait for the current turn to finish before changing service tier","chat.input.serviceTier.option":"Use {tier} service tier","chat.input.serviceTier.fastHint":"priority","chat.input.serviceTier.flexHint":"lower cost","chat.input.responseVerbosity.label":"Output {verbosity}","chat.input.responseVerbosity.heading":"Response verbosity","chat.input.responseVerbosity.change":"Change response verbosity","chat.input.responseVerbosity.locked":"Wait for the current turn to finish before changing response verbosity","chat.input.responseVerbosity.option":"Use {verbosity} response verbosity","chat.input.responseVerbosity.autoHint":"model default","chat.input.outputSchema.title":"Structured output","chat.input.outputSchema.description":"Require this turn to finish with an object that matches the JSON Schema.","chat.input.outputSchema.change":"Set structured output schema","chat.input.outputSchema.locked":"Wait for the current turn to finish before changing the output schema","chat.input.outputSchema.editor":"JSON Schema editor","chat.input.outputSchema.placeholder":"Paste a JSON Schema object","chat.input.outputSchema.example":"Use example","chat.input.outputSchema.clear":"Clear","chat.input.outputSchema.invalid":"Enter a valid JSON object. The server validates the complete schema.","chat.input.outputSchema.shellUnsupported":"Structured output cannot be combined with a shell command.","chat.structuredOutput.title":"Structured output","chat.structuredOutput.copy":"Copy structured output","chat.input.communicationStyle.label":"Style {style}","chat.input.communicationStyle.heading":"Communication style","chat.input.communicationStyle.change":"Change communication style","chat.input.communicationStyle.locked":"Wait for the current turn to finish before changing communication style","chat.input.communicationStyle.option":"Use {style} communication style","chat.input.communicationStyle.autoHint":"Blade default","chat.input.communicationStyle.pragmaticHint":"direct","chat.input.communicationStyle.friendlyHint":"warm","chat.input.communicationStyle.explanatoryHint":"explain choices","chat.notice.dismiss":"Dismiss notice","chat.input.mode.default":"Manual approval","chat.input.mode.default.desc":"Every important action needs your approval","chat.input.mode.autoEdit":"Auto approval","chat.input.mode.autoEdit.desc":"Let the AI review and approve important actions","chat.input.mode.yolo":"Full access","chat.input.mode.yolo.desc":"Run directly on your machine without asking","chat.input.mode.yolo.confirm.title":"Enable full access mode?","chat.input.mode.yolo.confirm.desc":"In this mode the agent will execute all actions — including file writes, shell commands, and network requests — without asking for permission. Only enable this if you trust the current context.","chat.input.mode.yolo.confirm.cancel":"Cancel","chat.input.mode.yolo.confirm.accept":"Enable","chat.input.mode.plan":"Plan","chat.input.mode.plan.desc":"Draft a plan first without making changes","chat.input.mode.aria":"Agent action approval","chat.input.action.stop":"Stop active turn","chat.input.action.stopping":"Stopping active turn","chat.input.action.steer":"Steer active turn","chat.input.action.send":"Send message","chat.input.action.submitting":"Submitting message","chat.review.title":"Code Review","chat.review.target":"Target","chat.review.target.uncommitted":"Uncommitted changes","chat.review.target.base":"Changes against {ref}","chat.review.target.commit":"Commit {ref}","chat.review.status":"Status","chat.review.status.completed":"Completed","chat.review.status.stale":"Stale","chat.review.status.failed":"Failed","chat.review.status.aborted":"Aborted","chat.review.status.interrupted":"Interrupted","chat.review.findings":"Findings","chat.review.noFindings":"No actionable findings","chat.review.confidence":"confidence {value}","chat.review.error":"Error","chat.subagent.resumedFromTitle":"Resumed from {id}","chat.subagent.resumedDepth":"resumed · depth {depth}","chat.subagent.loadingLogs":"Loading subagent logs...","chat.subagent.resumedAs":"Resumed as {id} · {status} · depth {depth}","chat.subagent.resume":"Resume","chat.subagent.resumeAria":"Resume subagent","chat.subagent.followUpAria":"Subagent follow-up","chat.subagent.followUpPlaceholder":"Describe the follow-up work","chat.subagent.cancel":"Cancel","chat.subagent.resumeAgent":"Resume agent","chat.subagent.resumeFailed":"Failed to resume subagent","chat.markdown.copyCode":"Copy code","chat.rewind.title":"Rewind session","chat.rewind.description":"Return to the point before a user message.","chat.rewind.loading":"Loading checkpoints","chat.rewind.empty":"Nothing to rewind to yet","chat.rewind.checkpointAria":"Rewind checkpoint","chat.rewind.userMessage":"User message","chat.rewind.fileCountOne":"{count} file","chat.rewind.fileCountMany":"{count} files","chat.rewind.restoreCode":"Restore code changes","chat.rewind.restoreCodeHint":"Revert files changed at and after this checkpoint.","chat.rewind.cancel":"Cancel","chat.rewind.confirm":"Rewind","chat.rewind.loadFailed":"Failed to load rewind checkpoints","chat.rewind.failed":"Rewind failed. Review the session error and try again.","status.context":"Context","status.tokenLimitTooltip":"Token limit is estimated. It updates when the model reports its context size.","status.phase.running":"Generating...","status.phase.providerStall":"Provider stream paused","status.phase.actionStationarityRecovering":"Recovering","status.phase.actionStationarityStopped":"Stopped","status.phase.compacting":"Compacting context...","status.phase.recoveringContext":"Recovering context limit...","status.phase.switchingModel":"Switching model...","status.phase.waitingPermission":"Waiting for permission...","status.phase.error":"Run failed","preview.title":"Preview","preview.action.resize":"Resize preview","preview.action.close":"Close preview","preview.action.retry":"Retry","preview.tab.diff":"Diff","preview.tab.files":"Files","preview.tab.logs":"Logs","preview.diff.loadingTitle":"Loading task diff…","preview.diff.loadingHint":"Reading the durable worktree artifact.","preview.diff.failedTitle":"Failed to load task diff","preview.diff.discardedTitle":"Changes discarded","preview.diff.discardedHint":"The isolated workspace was removed. The source project was not changed.","preview.diff.emptyTitle":"No patch yet","preview.diff.emptyHint":"Run a tool that changes files to see diffs here.","preview.diff.searchAria":"Search changed files","preview.diff.searchPlaceholder":"Filter changed files…","preview.diff.changedFiles":"{count} changed files","preview.diff.expandAll":"Expand all","preview.diff.collapseAll":"Collapse all","preview.diff.showMoreFiles":"Show {count} more files","preview.diff.showMoreLines":"Show {count} more lines","preview.diff.noMatches":"No matching changed files","preview.diff.patch":"Patch","preview.diff.line":"Line {line}","preview.files.loadingTitle":"Loading files…","preview.files.loadingHint":"Fetching workspace tree.","preview.files.failedTitle":"Failed to load files","preview.files.emptyTitle":"No files yet","preview.files.emptyHint":"Select a project to load its workspace tree.","preview.files.treeFailed":"Failed to load workspace tree","preview.files.searchAria":"Search workspace files","preview.files.searchPlaceholder":"Find a file…","preview.files.searchResultsAria":"File search results","preview.files.searchFailed":"Failed to search workspace files","preview.files.noMatches":"No matching files","preview.files.directoryLoading":"Loading folder…","preview.files.directoryEmpty":"Empty folder","preview.files.selectTitle":"Select a file to preview","preview.files.status.loading":"Loading…","preview.files.status.truncated":"Truncated","preview.files.status.ready":"Ready","preview.files.truncatedNotice":"Preview truncated to 200k characters.","preview.files.pickHint":"Pick a file from the tree to preview.","preview.files.contentFailed":"Failed to load file","preview.files.editorLoading":"Loading editor…","preview.logs.searchAria":"Search tool logs","preview.logs.searchPlaceholder":"Search tool, summary, or output…","preview.logs.filterAria":"Filter logs by status","preview.logs.filter.all":"All","preview.logs.filter.running":"Running","preview.logs.filter.error":"Failed","preview.logs.filter.success":"Success","preview.logs.noMatches":"No matching logs","preview.logs.noMatchesHint":"Try another phrase or status.","preview.logs.emptyTitle":"No logs yet","preview.logs.emptyHint":"Tool runs will appear here.","preview.logs.expand":"Expand","preview.logs.collapse":"Collapse","preview.logs.showMore":"Show {count} more logs","preview.logs.status.running":"Running","preview.logs.status.error":"Failed","preview.logs.status.success":"Success","goal.aria.section":"Goal controls","goal.status.active":"Goal running","goal.status.paused":"Goal paused","goal.status.blocked":"Goal blocked","goal.status.usageLimited":"Usage limited","goal.status.budgetLimited":"Budget reached","goal.status.complete":"Goal complete","goal.field.objective":"Goal objective","goal.action.edit":"Edit goal","goal.action.pause":"Pause goal","goal.action.resume":"Resume goal","goal.action.delete":"Delete goal","goal.action.expand":"Expand goal details","goal.action.collapse":"Collapse goal details","goal.action.cancel":"Cancel","goal.action.save":"Save","goal.metrics.tokens":"tokens","goal.metrics.continuationOne":"{n} continuation","goal.metrics.continuationMany":"{n} continuations","goal.dialog.title":"Delete this goal?","goal.dialog.description":"The goal state will be removed. Session history and workspace files are not affected.","settings.title":"Settings","settings.nav.aria":"Settings sections","settings.action.back":"Back","settings.category.settings":"Settings","settings.category.integrations":"Integrations","settings.tab.general":"General","settings.tab.trust":"Security","settings.tab.models":"Models","settings.tab.shortcuts":"Shortcuts","settings.tab.mcp":"MCP","settings.tab.skills":"Skills","settings.tab.plugins":"Plugins","settings.tab.hooks":"Hooks","settings.tab.schedules":"Scheduled Tasks","settings.common.retry":"Retry","settings.common.dismiss":"Dismiss","settings.common.cancel":"Cancel","settings.common.enable":"Enable","settings.general.loading":"Loading settings...","settings.general.loadError":"Failed to load settings","settings.general.saveError":"Failed to save settings","settings.general.responseLanguage":"Response Language","settings.general.responseLanguageHint":"AI will respond in this language","settings.general.autoSave":"Auto-save sessions","settings.general.communicationStyle":"Communication Style","settings.general.communicationStyleHint":"How the agent phrases its replies across every session","settings.appearance.heading":"Appearance","settings.appearance.theme":"Theme Preference","settings.appearance.theme.dark":"Dark","settings.appearance.theme.light":"Light","settings.appearance.theme.system":"System","settings.appearance.compactSidebar":"Compact sidebar","settings.appearance.codeTheme":"Code theme","settings.appearance.codeThemeHint":"Syntax highlighting colors","settings.notifications.heading":"Notifications","settings.notifications.buildFinished":"Build finished","settings.notifications.errorsOnly":"Errors only","settings.notifications.systemSounds":"System sounds","settings.notifications.blocked":"Browser notifications are blocked","settings.notifications.unavailable":"Browser notifications are unavailable","settings.notifications.enablePrompt":"Enable alerts while this tab is in the background","settings.privacy.heading":"Privacy","settings.privacy.telemetry":"Telemetry","settings.privacy.crash":"Crash reports","settings.models.description":"Configure API keys and model settings for different providers.","settings.models.loading":"Loading models...","settings.models.loadChannelsFailed":"Failed to load provider channels","settings.models.saveFailed":"Failed to save model","settings.models.deleteFailed":"Failed to delete model","settings.models.updateFailed":"Failed to update model","settings.models.updateChannelFailed":"Failed to update provider channel","settings.models.probeFailed":"Provider probe failed","settings.models.deleteChannelFailed":"Failed to delete provider channel","settings.models.empty":"No models configured yet","settings.models.add":"+ Add New Model","settings.models.missingCredential":"Missing credential","settings.models.configured":"Configured","settings.models.deleting":"Deleting...","settings.models.deleteModel":"Delete model","settings.models.deleteChannel":"Delete channel","settings.models.deleteModelAria":"Delete {name}","settings.models.deleteModelPrompt":"Delete {name} and its saved configuration?","settings.models.deleteChannelAria":"Delete channel {name}","settings.models.deleteChannelPrompt":"Delete channel {name}, its credential, and {count} configured model(s)? Fallback references will also be removed.","settings.models.editModelAria":"Edit {name}","settings.models.editChannelAria":"Edit channel {name}","settings.models.testChannelAria":"Test {name}","settings.models.deleteChannelActionAria":"Delete channel {name}","settings.models.modelCountOne":"{count} model","settings.models.modelCountMany":"{count} models","settings.models.defaultEndpoint":"default endpoint","settings.shortcuts.searchPlaceholder":"Search actions...","settings.shortcuts.scope.all":"All scopes","settings.shortcuts.scope.global":"Global","settings.shortcuts.scope.chat":"Chat","settings.shortcuts.scope.layout":"Layout","settings.shortcuts.reset":"Reset","settings.shortcuts.col.action":"Action","settings.shortcuts.col.shortcut":"Shortcut","settings.shortcuts.col.scope":"Scope","settings.shortcuts.empty":"No shortcuts found.","settings.shortcuts.action.searchTasks":"Search tasks","settings.shortcuts.action.openCommands":"Open command center","settings.shortcuts.action.newTask":"New task","settings.shortcuts.action.focusComposer":"Focus composer","settings.shortcuts.action.toggleSidebar":"Toggle sidebar","settings.common.reload":"Reload","settings.trust.state.notRequired":"No trust required","settings.trust.state.trusted":"Workspace trusted","settings.trust.state.review":"Review required","settings.trust.state.error":"Trust store error","settings.trust.selectSession":"Select a project session to review folder trust.","settings.trust.heading":"Workspace trust","settings.trust.inheritedFrom":" · inherited from {source}","settings.trust.reloadAria":"Reload workspace trust","settings.trust.revoke":"Revoke","settings.trust.trustWorkspace":"Trust workspace","settings.trust.restartNotice":"Restart Blade to reload project models, MCP, LSP, permissions, and plugins.","settings.trust.revokeAria":"Revoke workspace trust","settings.trust.confirmTrust":"Allow {count} project source(s) to configure models, MCP, LSP, permissions, environment, instructions, commands, skills, agents, or plugins?","settings.trust.confirmRevoke":"Block project-controlled executable configuration after restart?","settings.trust.saving":"Saving...","settings.trust.trustReviewed":"Trust reviewed workspace","settings.trust.revokeTrust":"Revoke trust","settings.trust.empty":"No project-controlled executable configuration was found.","settings.trust.loadFailed":"Failed to load workspace trust","settings.trust.updateFailed":"Failed to update workspace trust","settings.hooks.state.disabled":"Hooks disabled","settings.hooks.state.notRequired":"No external hooks","settings.hooks.state.review":"Review required","settings.hooks.state.trusted":"Trusted","settings.hooks.state.modified":"Changed since approval","settings.hooks.state.error":"Trust store error","settings.hooks.selectSession":"Select a project session to review its hooks.","settings.hooks.heading":"Hook trust","settings.hooks.reloadAria":"Reload hook trust","settings.hooks.revoke":"Revoke","settings.hooks.trustDigest":"Trust digest","settings.hooks.currentSession":"Current session execution","settings.hooks.session.open":"Open a session to control its hooks.","settings.hooks.session.loading":"Loading session state...","settings.hooks.session.disabled":"Disabled by workspace configuration.","settings.hooks.session.paused":"Paused only for this session.","settings.hooks.session.active":"Hooks may run for this session after trust checks.","settings.hooks.session.unavailable":"Disabled by this session runtime or host policy.","settings.hooks.session.enableAria":"Enable hooks for current session","settings.hooks.session.pauseAria":"Pause hooks for current session","settings.hooks.session.unavailableAria":"Hooks unavailable for current session","settings.hooks.confirmTrustAria":"Trust project hooks","settings.hooks.confirmRevokeAria":"Revoke project hook trust","settings.hooks.confirmTrust":"Run these {count} hooks with your user permissions until their configuration changes?","settings.hooks.confirmRevoke":"Stop all configured hooks for this project until explicitly trusted again?","settings.hooks.saving":"Saving...","settings.hooks.trustReviewed":"Trust reviewed hooks","settings.hooks.revokeTrust":"Revoke trust","settings.hooks.empty":"No configured command, HTTP, or prompt hooks.","settings.hooks.loadFailed":"Failed to load hook trust","settings.hooks.updateFailed":"Failed to update hook trust","settings.hooks.sessionUpdateFailed":"Failed to update session hooks","settings.plugins.selectProject":"Select a project to manage its plugins.","settings.plugins.heading":"Workspace plugins","settings.plugins.changesNote":"Changes apply to future session snapshots and persist in the selected scope.","settings.plugins.reloadAria":"Reload plugins","settings.plugins.sourcePolicy":"Source policy","settings.plugins.savePolicyAria":"Save plugin source policy","settings.plugins.saving":"Saving…","settings.plugins.saveForProject":"Save for project","settings.plugins.restrictAria":"Restrict plugin sources","settings.plugins.restrictAllowlists":"Restrict to allowlists","settings.plugins.requireShaAria":"Require full Git commit SHA","settings.plugins.requireSha":"Require full Git SHA","settings.plugins.environmentLocked":" · environment locked","settings.plugins.gitHostsAria":"Allowed plugin Git hosts","settings.plugins.marketplacesAria":"Allowed plugin Marketplaces","settings.plugins.localRootsAria":"Allowed local plugin roots","settings.plugins.emptyAllowlists":"Empty allowlists deny every plugin source.","settings.plugins.installHeading":"Install trusted plugin","settings.plugins.sourceAria":"Plugin source","settings.plugins.install":"Install","settings.plugins.trustSource":"I trust this source to activate Hooks, MCP servers, skills, and commands.","settings.plugins.activationScope":"Activation write scope","settings.plugins.activationScopeHint":"Higher-priority layers continue to determine the effective state.","settings.plugins.scopeAria":"Plugin activation scope","settings.plugins.scope.local":"Local","settings.plugins.scope.project":"Project","settings.plugins.scope.global":"Global","settings.plugins.scope.localDesc":"Only this checkout","settings.plugins.scope.projectDesc":"Shared project settings","settings.plugins.scope.globalDesc":"All projects","settings.plugins.scope.invocation":"Invocation","settings.plugins.scope.default":"Default","settings.plugins.layer.on":"on","settings.plugins.layer.off":"off","settings.plugins.capability.commands":"{count} commands","settings.plugins.capability.skills":"{count} skills","settings.plugins.capability.agents":"{count} agents","settings.plugins.capability.hooks":"{count} hooks","settings.plugins.capability.mcp":"{count} MCP","settings.plugins.noResources":"No declared resources","settings.plugins.effective":"effective: {scope}","settings.plugins.managed":"managed","settings.plugins.invocationScoped":"Invocation-scoped via --plugin-dir","settings.plugins.enableAria":"Enable {name}","settings.plugins.disableAria":"Disable {name}","settings.plugins.unavailableAria":"Unavailable {name}","settings.plugins.updateAria":"Update {name}","settings.plugins.uninstallAria":"Uninstall {name}","settings.plugins.confirmUpdate":"Confirm update","settings.plugins.update":"Update","settings.plugins.confirmRemove":"Confirm remove","settings.plugins.empty":"No plugins discovered for this project.","settings.plugins.marketplaces":"Marketplaces","settings.plugins.configuredCount":"{count} configured","settings.plugins.marketplaceSourceAria":"Marketplace source","settings.plugins.addMarketplaceAria":"Add marketplace","settings.plugins.add":"Add","settings.plugins.noDescription":"No description","settings.plugins.refreshMarketplaceAria":"Refresh marketplace {name}","settings.plugins.removeMarketplaceAria":"Remove marketplace {name}","settings.plugins.confirm":"Confirm","settings.plugins.installedSuffix":" · installed","settings.plugins.marketplaceEmpty":"Add a Marketplace to discover installable plugins.","settings.plugins.loadFailed":"Failed to load plugins","settings.plugins.actionFailed":"Plugin action failed","settings.plugins.updateFailed":"Failed to update plugin","settings.models.addModal.title":"Add Model","settings.models.addModal.close":"Close add model","settings.models.addModal.loadProvidersError":"Failed to load providers","settings.models.addModal.loadModelsError":"Failed to load models","settings.models.addModal.provider":"Provider","settings.models.addModal.loadingProviders":"Loading providers...","settings.models.addModal.selectProvider":"Select provider","settings.models.addModal.configuredSuffix":" - configured","settings.models.addModal.customOpenAI":"Custom OpenAI Endpoint","settings.models.addModal.customAnthropic":"Custom Anthropic Endpoint","settings.models.addModal.channelId":"Channel ID","settings.models.addModal.channelIdHint":"Stable config and credential identifier.","settings.models.addModal.channelName":"Channel name","settings.models.addModal.baseUrl":"Base URL","settings.models.addModal.anthropicProtocol":"Uses the Anthropic Messages protocol.","settings.models.addModal.openaiProtocol":"Uses the OpenAI Chat Completions protocol.","settings.models.addModal.modelId":"Model ID","settings.models.addModal.model":"Model","settings.models.addModal.loadingModels":"Loading models...","settings.models.addModal.selectModel":"Select model","settings.models.addModal.reasoningSuffix":" - reasoning","settings.models.addModal.visionSuffix":" - vision","settings.models.addModal.displayName":"Display name","settings.models.addModal.displayNamePlaceholder":"Optional alias","settings.models.addModal.apiKey":"API Key","settings.models.addModal.apiKeyAria":"API key","settings.models.addModal.apiKeyPlaceholder":"Stored separately in auth.json","settings.models.addModal.showApiKey":"Show API key","settings.models.addModal.hideApiKey":"Hide API key","settings.models.addModal.oauthNote":"This provider requires OAuth or ambient credentials. Configure it externally before selecting the model.","settings.models.addModal.saveModel":"Save Model","settings.models.addModal.saving":"Saving...","settings.models.addModal.channelIdError":'Channel ID must start with a lowercase letter and contain only lowercase letters, numbers, ".", "_" or "-"',"settings.models.addModal.invalidBaseUrl":"Base URL must be an absolute HTTP(S) URL","settings.models.editModal.srTitle":"Edit Model","settings.models.editModal.title":"Edit Model Overrides","settings.models.editModal.close":"Close edit model","settings.models.editModal.displayName":"Display name","settings.models.editModal.replaceApiKey":"Replace provider API key","settings.models.editModal.replaceApiKeyPlaceholder":"Leave empty to keep current credential","settings.models.editModal.baseUrlOverride":"Base URL override","settings.models.editModal.baseUrlPlaceholder":"Leave empty to use default endpoint","settings.models.editModal.streamIdleTimeout":"Stream idle timeout (ms)","settings.models.editModal.save":"Save","settings.models.editModal.saving":"Saving...","settings.models.editModal.streamIdleTimeoutError":"Stream idle timeout must be at least 1000ms","settings.models.editModal.credentialError":"Failed to update provider credential","settings.models.editProvider.title":"Edit Provider Channel","settings.models.editProvider.close":"Close edit provider","settings.models.editProvider.channelName":"Channel name","settings.models.editProvider.channelNameRequired":"Channel name is required","settings.models.editProvider.wireApi":"Wire API","settings.models.editProvider.baseUrl":"Base URL","settings.models.editProvider.baseUrlAria":"Provider Base URL","settings.models.editProvider.invalidBaseUrl":"Base URL must be an absolute HTTP(S) URL","settings.models.editProvider.apiKeyEnv":"API key environment variable","settings.models.editProvider.apiKeyEnvPlaceholder":"Optional, for example TEAM_GATEWAY_API_KEY","settings.models.editProvider.replaceApiKey":"Replace API key","settings.models.editProvider.apiKeyAria":"Provider API key","settings.models.editProvider.apiKeyPlaceholder":"Leave empty to keep current credential","settings.models.editProvider.save":"Save channel","settings.models.editProvider.saving":"Saving...","settings.style.auto":"Auto","settings.style.pragmatic":"Pragmatic","settings.style.friendly":"Friendly","settings.style.explanatory":"Explanatory","mcp.status.connected":"Connected","mcp.status.connecting":"Connecting...","mcp.status.reconnecting":"Recovering...","mcp.status.offline":"Offline","mcp.status.error":"Error","mcp.status.recoveringAttempt":"Recovering {attempt}/{max}","mcp.oauth.status.disabled":"Not configured","mcp.oauth.status.unavailable":"Unavailable in this runtime","mcp.oauth.status.unauthenticated":"Authorization required","mcp.oauth.status.authorizing":"Waiting for authorization...","mcp.oauth.status.authenticated":"Authorized","mcp.oauth.status.error":"Authorization failed","mcp.catalog.tag.official":"Official","mcp.catalog.tag.popular":"Popular","mcp.catalog.tag.community":"Community","mcp.action.refreshServers":"Refresh MCP servers","mcp.action.addServer":"Add server","mcp.action.close":"Close MCP","mcp.action.dismiss":"Dismiss","mcp.action.retry":"Retry","mcp.action.disconnect":"Disconnect","mcp.action.disconnecting":"Disconnecting...","mcp.action.stopRecovery":"Stop recovery","mcp.action.connect":"Connect","mcp.action.connecting":"Connecting...","mcp.action.authorizeFirst":"Authorize first","mcp.action.delete":"Delete","mcp.action.cancel":"Cancel","mcp.action.deleting":"Deleting...","mcp.action.deleteServer":"Delete server","mcp.tab.installed":"Installed ({count})","mcp.tab.catalog":"Catalog","mcp.servers.title":"Servers","mcp.servers.searchAria":"Search installed MCP servers","mcp.servers.searchPlaceholder":"Search servers...","mcp.servers.loading":"Loading servers...","mcp.servers.noMatch":"No servers match your search","mcp.servers.none":"No MCP servers configured","mcp.server.errorLabel":"Error: {error}","mcp.server.deleteAria":"Delete {name}","mcp.server.selectPrompt":"Select a server to view details","mcp.instructions.title":"Server instructions","mcp.instructions.detailsOmittedByPolicy":"[details omitted by runtime policy]","mcp.instructions.detailsOmitted":"Details omitted","mcp.instructions.truncated":"Truncated to the safe display budget","mcp.tasks.title":"Experimental MCP Tasks","mcp.tasks.summary":"{count} per Session · {interval}ms poll","mcp.tasks.disabledByDefault":"Disabled by default","mcp.tasks.enabled":"Enabled","mcp.tasks.disabled":"Disabled","mcp.oauth.signingOut":"Signing out...","mcp.oauth.signOut":"Sign out","mcp.oauth.continueAuthorization":"Continue authorization","mcp.oauth.resumeAuthorization":"Resume authorization","mcp.oauth.opening":"Opening...","mcp.oauth.authorize":"Authorize","mcp.delete.confirm":"Remove this server and its saved configuration?","mcp.tools.title":"Tools ({count})","mcp.tools.none":"No tools available","mcp.completion.title":"Argument completion","mcp.completion.connectPrompt":"Connect the server to request suggestions","mcp.completion.unsupported":"Server does not advertise MCP completions","mcp.completion.noTargets":"No completable prompt arguments or template variables","mcp.completion.targetAria":"MCP completion target","mcp.completion.partialAria":"MCP completion partial value","mcp.completion.partialPlaceholder":"Partial value","mcp.completion.completing":"Completing...","mcp.completion.complete":"Complete","mcp.completion.suggestionsAria":"MCP completion suggestions","mcp.completion.empty":"[empty]","mcp.completion.noSuggestions":"No suggestions","mcp.meta.truncatedSuffix":" · truncated","mcp.meta.detailsOmittedSuffix":" · details omitted","mcp.diagnostics.title":"Diagnostics","mcp.diagnostics.refreshAria":"Refresh {name} MCP logs","mcp.diagnostics.logsAria":"{name} MCP logs","mcp.log.levelAria":"MCP logging level","mcp.log.setting":"Setting...","mcp.log.loading":"Loading logs...","mcp.log.none":"No logs captured","mcp.catalog.searchAria":"Search MCP server catalog","mcp.catalog.searchPlaceholder":"Search MCP servers on npm (min 3 chars)...","mcp.catalog.retry":"Retry catalog","mcp.catalog.noDescription":"No description","mcp.catalog.byAuthor":"by {author}","mcp.catalog.installed":"Installed","mcp.catalog.installing":"Installing...","mcp.catalog.install":"Install","mcp.catalog.noPackages":"No packages found","mcp.catalog.noMore":"No more packages","mcp.catalog.packagesFound":"{count} packages found","mcp.catalog.browseGlama":"Browse more on Glama","mcp.error.connectFailed":"Failed to connect server","mcp.error.disconnectFailed":"Failed to disconnect server","mcp.error.deleteFailed":"Failed to delete server","mcp.error.loginFailed":"Failed to login MCP OAuth","mcp.error.logoutFailed":"Failed to logout MCP OAuth","mcp.error.loggingLevelFailed":"Failed to set MCP logging level","mcp.error.completionFailed":"MCP completion failed","mcp.add.title":"Add MCP Server","mcp.add.closeAria":"Close add MCP server","mcp.add.modeForm":"Form","mcp.add.jsonConfig":"JSON config","mcp.add.jsonConfigAria":"JSON configuration","mcp.add.serverName":"Server name","mcp.add.command":"Command","mcp.add.commandAria":"Server command","mcp.add.argsLabel":"Arguments (space separated)","mcp.add.argsAria":"Server arguments","mcp.add.invalidJson":"Enter valid JSON with a server name and transport.","mcp.add.nameCommandRequired":"Name and command are required.","mcp.add.adding":"Adding...","mcp.add.submit":"Add Server","mcp.install.title":"Install MCP Server","mcp.install.titleWithName":"Install {name}","mcp.install.closeAria":"Close MCP installation","mcp.install.args":"Arguments","mcp.install.commandPreview":"Command: npx {args}","mcp.install.nameRequired":"Server name is required.","skills.title":"Skills","skills.action.install":"Install skill","skills.action.installShort":"Install","skills.action.refreshAria":"Refresh skills","skills.action.closeAria":"Close skills","skills.action.dismiss":"Dismiss","skills.action.retry":"Retry","skills.action.cancel":"Cancel","skills.action.close":"Close","skills.action.hide":"Hide","skills.action.enable":"Enable","skills.action.disable":"Disable","skills.action.saving":"Saving...","skills.status.enabled":"Enabled","skills.status.disabled":"Disabled","skills.status.installed":"Installed","skills.noDescriptionShort":"No description","skills.noDescription":"No description available","skills.installed.title":"Installed","skills.installed.searchAria":"Search installed skills","skills.installed.searchPlaceholder":"Search skills...","skills.installed.loading":"Loading skills...","skills.installed.noMatch":"No skills match your search","skills.installed.empty":"No skills installed","skills.uninstall.managedHint":"Only Blade user skills can be uninstalled","skills.uninstall.managed":"Managed","skills.uninstall.action":"Uninstall","skills.uninstall.confirmAria":"Uninstall {name}","skills.uninstall.confirmPrompt":"Remove this skill from ~/.blade/skills?","skills.uninstall.inProgress":"Uninstalling...","skills.uninstall.confirm":"Uninstall skill","skills.details.title":"Details","skills.details.provider":"Provider","skills.details.location":"Location","skills.details.capabilities":"Capabilities","skills.details.allowedTools":"Allowed Tools ({count})","skills.detail.emptyState":"Select a skill to view details","skills.install.title":"Install Skill","skills.install.closeAria":"Close skill installation","skills.install.tab.catalog":"Catalog","skills.install.tab.repo":"Repo","skills.install.tab.local":"Local","skills.install.catalog.searchAria":"Search skill catalog","skills.install.catalog.searchPlaceholder":"Search catalog...","skills.install.catalog.loading":"Loading catalog...","skills.install.catalog.empty":"No skills found","skills.install.catalog.byAuthor":"by {author}","skills.install.catalog.tag.official":"Official","skills.install.catalog.tag.popular":"Popular","skills.install.catalog.tag.community":"Community","skills.install.repo.label":"GitHub URL","skills.install.repo.inputAria":"Skill repository URL","skills.install.repo.credentialsHint":"Uses Git credentials available to the Blade process","skills.install.local.label":"Local path","skills.install.local.inputAria":"Local skill path","skills.status.dialogTitle":"Install Status","skills.status.confirm.title":"Confirm Install","skills.status.confirm.prompt":"Install selected skill?","skills.status.installing.title":"Installing","skills.status.installing.description":"Downloading and verifying…","skills.status.failed.title":"Install Failed","skills.status.failed.fallback":"Installation failed.","skills.status.failed.hint":"Check access and try again.","skills.error.deleteFailed":"Failed to delete skill","skills.error.toggleFailed":"Failed to toggle skill","skills.error.installFailed":"Failed to install skill","schedule.title":"Scheduled Tasks","schedule.description":"Run headless task prompts automatically on a cron, interval, or one-time trigger.","schedule.new":"New schedule","schedule.newAria":"Create a new schedule","schedule.refresh":"Refresh","schedule.reloadAria":"Reload schedules","schedule.create":"Create","schedule.save":"Save","schedule.cancel":"Cancel","schedule.confirmDelete":"Confirm?","schedule.empty":"No schedules yet","schedule.enabled":"Enabled","schedule.disabled":"Disabled","schedule.never":"never","schedule.nextRun":"Next run","schedule.lastRun":"Last run","schedule.runCount":"{count} runs","schedule.trigger.kindAria":"Trigger type","schedule.trigger.cron":"Cron","schedule.trigger.interval":"Interval","schedule.trigger.once":"Once","schedule.field.title":"Title (optional)","schedule.field.cron":"Cron expression","schedule.field.interval":"Interval","schedule.field.runAt":"Run at","schedule.field.prompt":"Prompt","schedule.field.project":"Project path","schedule.field.model":"Model (optional)","schedule.field.permissionMode":"Permission mode","schedule.field.isolation":"Isolation","schedule.placeholder.title":"Nightly dependency audit","schedule.placeholder.cron":"0 9 * * 1 (min hour dom mon dow)","schedule.placeholder.interval":"30m / 2h / 1d","schedule.placeholder.prompt":"Describe the task to run…","schedule.placeholder.project":"/path/to/project","schedule.placeholder.model":"e.g. anthropic/claude-sonnet","schedule.model.current":"Use current model","schedule.permission.default":"Default","schedule.permission.autoEdit":"Auto edit","schedule.permission.yolo":"Yolo","schedule.permission.plan":"Plan","schedule.isolation.local":"Local","schedule.isolation.worktree":"Worktree","schedule.cadence.cron":"cron: {expr}","schedule.cadence.interval":"every {interval}","schedule.cadence.once":"once at {time}","schedule.status.queued":"queued","schedule.status.running":"running","schedule.status.completed":"completed","schedule.status.failed":"failed","schedule.status.cancelled":"cancelled","schedule.status.interrupted":"interrupted","schedule.status.error":"error","schedule.status.never":"no runs yet","schedule.runNowAria":'Run "{title}" now',"schedule.editAria":'Edit "{title}"',"schedule.deleteAria":'Delete "{title}"',"schedule.enableAria":'Enable "{title}"',"schedule.disableAria":'Disable "{title}"',"schedule.error.promptRequired":"A prompt is required.","schedule.error.projectRequired":"A project path is required.","schedule.error.cronRequired":"A cron expression is required.","schedule.error.invalidInterval":"Enter an interval like 30m, 2h, or 1d.","schedule.error.runAtRequired":"Pick a valid run time.","schedule.error.loadFailed":"Failed to load scheduled tasks.","schedule.error.createFailed":"Failed to create scheduled task.","schedule.error.updateFailed":"Failed to update scheduled task.","schedule.error.deleteFailed":"Failed to delete scheduled task.","schedule.error.toggleFailed":"Failed to change scheduled task status.","schedule.error.runFailed":"Failed to run scheduled task."},Qw={"app.restoring":"正在恢复工作区…","layout.workspace.pathAria":"工作区路径","layout.workspace.empty":"未选择工作区","layout.action.rewind":"回溯会话","layout.action.filePreview":"文件预览","layout.action.filePreviewToggle":"切换文件预览","layout.action.openNavigation":"打开导航","terminal.title":"终端","terminal.status.connected":"终端已连接","terminal.status.disconnected":"终端未连接","terminal.action.minimize":"最小化终端","terminal.action.restore":"恢复终端","terminal.action.close":"关闭终端","sidebar.brand.badge":"网页版","sidebar.action.collapse":"收起侧边栏","sidebar.action.expand":"展开侧边栏","sidebar.navigationAria":"任务导航","sidebar.action.newTask":"新建任务","sidebar.action.newTaskShort":"新建任务","sidebar.action.terminal":"终端","sidebar.action.terminalToggle":"切换终端","sidebar.action.searchTasks":"搜索任务","sidebar.unreadTasks":"{count} 个未读任务","sidebar.section.skills":"技能","sidebar.section.mcp":"MCP","sidebar.section.settings":"设置","sidebar.status.user":"用户","sidebar.status.feedLive":"任务通道已连接","sidebar.status.feedOffline":"任务通道未连接","sidebar.empty.title":"暂无任务","sidebar.empty.hint":"在主页派发新任务","sidebar.group.running":"进行中","sidebar.group.queued":"排队中","sidebar.group.interrupted":"已暂停","sidebar.group.failed":"已失败","sidebar.group.cancelled":"已取消","sidebar.group.done":"已完成","sidebar.group.showMore":"再显示 {count} 条","sidebar.group.showLess":"收起","sidebar.view.project":"项目","sidebar.view.status":"状态","sidebar.view.projectAria":"按项目分组会话","sidebar.view.statusAria":"按状态分组会话","sidebar.project.active":"当前","sidebar.project.expand":"展开 {name}","sidebar.project.collapse":"收起 {name}","sidebar.project.newTask":"在 {name} 中新建任务","sidebar.project.reorder":"调整 {name} 的顺序,当前位置 {position}/{count}","sidebar.project.reorderHint":"拖拽调整顺序,或使用上下方向键移动","sidebar.project.reordered":"已将 {name} 移到第 {position} 位","sidebar.project.projects":"项目","sidebar.catalog.syncing":"正在同步任务历史…","sidebar.catalog.loaded":"已载入 {count} 条","sidebar.catalog.incomplete":"任务历史未完整加载","sidebar.catalog.retry":"重试","projects.dialog.title":"项目","projects.dialog.description":"绑定本地目录,无需重启 Blade 即可切换任务上下文。","projects.bind.placeholder":"/项目的绝对路径","projects.bind.pathLabel":"项目路径","projects.bind.action":"绑定","projects.bind.failed":"项目绑定失败","projects.pick.action":"选择项目文件夹","projects.pick.actionShort":"选择","projects.pick.picking":"选择中…","projects.pick.failed":"无法选择项目文件夹","projects.unbind.action":"解除项目绑定","projects.unavailable":"目录不可用","sidebar.language.label":"语言","sidebar.language.aria":"切换语言","sidebar.language.en":"EN","sidebar.language.zh":"中","session.env.worktree":"独立分支","session.env.local":"本地","session.action.select":"选择「{title}」","session.action.save":"保存「{title}」","session.action.cancel":"取消「{title}」","session.action.more":"「{title}」的更多操作","session.action.fork":"派生「{title}」","session.action.forkShort":"派生","session.action.rename":"重命名「{title}」","session.action.renameShort":"重命名","session.action.archive":"归档「{title}」","session.action.archiveShort":"归档","session.action.export":"将「{title}」导出为 Markdown","session.action.exportShort":"导出 Markdown","session.action.exportingShort":"正在导出…","session.action.delete":"删除「{title}」","session.action.deleteShort":"删除","session.action.stop":"停止「{title}」","session.action.stopping":"正在停止「{title}」","session.action.retry":"重试「{title}」","session.action.retrying":"正在重试「{title}」","session.reason.cancelledByUser":"已由用户取消","session.title.codeReview":"代码评审","session.forkedFrom":"派生自","session.retriedFrom":"重试自","session.retryShort":"重试","session.queued":"排队 #{position}/{depth}","archive.title":"归档","archive.subtitle":"安全保留,不占用当前任务列表","archive.open":"打开会话归档","archive.refresh":"刷新归档会话","archive.retry":"重试","archive.loading":"正在载入归档…","archive.empty":"暂无归档会话","archive.restore":"恢复「{title}」","archive.restoreShort":"恢复","archive.restoreAncestor":"请先恢复归档根会话","archive.inherited":"随 {id} 一同归档","taskSwitcher.title":"任务切换器","taskSwitcher.description":"跨项目搜索并打开任务。","taskSwitcher.searchAria":"搜索任务","taskSwitcher.placeholder":"搜索标题、项目、分支、状态或 Session ID…","taskSwitcher.results":"{count} 个结果","taskSwitcher.recent":"最近任务","taskSwitcher.scope":"已索引 {count} 个任务","taskSwitcher.indexing":"正在索引任务…","taskSwitcher.resultsAria":"任务搜索结果","taskSwitcher.current":"当前","taskSwitcher.unread":"{count} 个未读","taskSwitcher.needsAction":"{count} 个需要操作","taskSwitcher.new":"新","taskSwitcher.empty":"没有匹配的任务","taskSwitcher.emptyHint":"尝试项目、分支、状态或更短的关键词。","taskSwitcher.hint.navigate":"选择","taskSwitcher.hint.open":"打开","taskSwitcher.hint.toggle":"切换","taskSwitcher.action.failed":"任务操作失败","commandCenter.title":"命令中心","commandCenter.description":"搜索任务,或执行工作区与应用操作。","commandCenter.searchAria":"搜索操作","commandCenter.placeholder":"搜索操作、设置或工具…","commandCenter.modeAria":"命令中心模式","commandCenter.mode.tasks":"任务","commandCenter.mode.commands":"操作","commandCenter.actions":"{count} 个操作","commandCenter.resultsAria":"操作搜索结果","commandCenter.empty":"没有匹配的操作","commandCenter.emptyHint":"尝试工具、面板或设置名称。","commandCenter.action.newTask":"新建任务","commandCenter.action.newTaskDescription":"打开一个干净的任务编辑器","commandCenter.action.preview":"切换预览区","commandCenter.action.previewDescription":"审查文件、Diff 与运行日志","commandCenter.action.terminal":"切换终端","commandCenter.action.terminalDescription":"打开或关闭工作区 Shell","commandCenter.action.settings":"打开设置","commandCenter.action.settingsDescription":"配置外观与行为","commandCenter.action.models":"配置模型","commandCenter.action.modelsDescription":"选择 Provider 与任务模型","commandCenter.action.shortcuts":"查看键盘快捷键","commandCenter.action.shortcutsDescription":"浏览全局与上下文按键","commandCenter.action.skills":"管理 Skills","commandCenter.action.skillsDescription":"发现并配置 Agent 能力","commandCenter.action.mcp":"管理 MCP Server","commandCenter.action.mcpDescription":"配置已连接的工具与服务","commandCenter.action.sidebar":"切换侧边栏","commandCenter.action.sidebarDescription":"显示或隐藏项目导航","taskHome.eyebrow":"任务调度台 · 就绪","taskHome.feed.connecting":"任务调度台 · 正在连接","taskHome.feed.reconnecting":"任务调度台 · 正在重连","taskHome.feed.offline":"任务调度台 · 已离线","taskHome.feed.offlineDescription":"实时任务更新已暂停,服务端正在运行的任务不会停止。","taskHome.feed.retry":"重新连接","taskHome.hero.prefix":"要在这里让 Blade 做点什么:","taskHome.hero.projectFallback":"当前工作区","taskHome.hero.subtitle":"派发一个任务后即可继续手头的工作。每个任务在独立的 worktree 中运行、状态持久保存,完成时会以可复核的工作区形式返回。","taskHome.templates.title":"模板","taskHome.templates.hint":"按 1–4 快速填充","taskHome.template.explore.title":"探索","taskHome.template.explore.description":"追踪行为,梳理系统全貌","taskHome.template.explore.hint":"调用链 · 模块结构","taskHome.template.build.title":"开发","taskHome.template.build.description":"实现一个可上线的功能","taskHome.template.build.hint":"端到端交付特性","taskHome.template.review.title":"评审","taskHome.template.review.description":"找出正确性与回归风险","taskHome.template.review.hint":"审查当前改动","taskHome.review.attachmentsUnsupported":"代码评审不支持附件","taskHome.review.outputSchemaUnsupported":"代码评审使用内置结构化报告 Schema","taskHome.review.usage":"用法:/review [uncommitted | base <ref> | commit <sha>]","taskHome.review.running":"只读代码评审正在进行","taskHome.review.stale":"评审期间目标已发生变化","taskHome.review.aborted":"代码评审已中止","taskHome.review.interrupted":"代码评审因进程重启而中断","taskHome.review.failed":"代码评审失败","taskHome.review.startFailed":"启动代码评审失败","taskHome.review.invalidTarget":"评审目标无效或没有可评审的改动","taskHome.review.conflict":"当前会话已有任务正在运行","taskHome.template.fix.title":"修复","taskHome.template.fix.description":"定位并修好一个具体故障","taskHome.template.fix.hint":"二分 · 复现 · 打补丁","taskHome.context.isolationToggleTitle":"切换任务隔离方式","taskHome.context.projectSelect":"选择目标项目","taskHome.context.isolation.worktree":"独立 worktree","taskHome.context.isolation.local":"本地工作区","taskHome.context.branchFallback":"无分支","taskHome.context.preparing":"正在准备 worktree","taskHome.setup.aria":"任务准备状态","taskHome.setup.title":"完成准备","taskHome.setup.description":"你可以继续编辑草稿,Blade 正在核对工作区和模型。","taskHome.setup.workspace.title":"工作区","taskHome.setup.workspace.loading":"正在检查可用工作区…","taskHome.setup.workspace.ready":"已选择 {project}","taskHome.setup.workspace.required":"选择一个可用项目","taskHome.setup.workspace.empty":"无项目","taskHome.setup.workspace.action":"选择","taskHome.setup.workspace.retry":"重新加载工作区","taskHome.setup.model.title":"模型","taskHome.setup.model.loading":"正在检查配置…","taskHome.setup.model.ready":"可用于当前任务","taskHome.setup.model.required":"配置或选择一个模型","taskHome.setup.model.action":"配置","taskHome.setup.model.retry":"重试","taskHome.composer.placeholder":"描述目标、约束以及你期望的验收方式……","taskHome.error.dismiss":"关闭","taskHome.recent.title":"最近任务","taskHome.recent.total":"共 {count} 条","taskHome.recent.partial":"已载入 {count} 条 · 继续同步","taskHome.recent.incomplete":"已载入 {count} 条 · 历史不完整","taskSwitcher.indexingLoaded":"已载入 {count} 条 · 正在同步历史","taskHome.footer.note":"独立 worktree 让并行任务不会干扰你当前的工作副本","capacity.title":"{inFlight} 进行中 · {queued} 排队 · 上限 {max}","capacity.suffix.running":" 进行中","capacity.queued":"排队 {queued}","recent.status.running":"进行中","recent.status.queued":"排队中","recent.status.paused":"已暂停","recent.status.failed":"已失败","recent.status.cancelled":"已取消","recent.status.done":"已完成","recent.time.justNow":"刚刚","recent.time.minutes":"{n} 分钟前","recent.time.hours":"{n} 小时前","recent.time.days":"{n} 天前","recent.session.fallbackShort":"会话 {id}","recent.session.fallbackDated":"会话 {y}-{m}-{d} {hh}:{mm}","attention.unreadAnnouncement":"{count} 个未读任务更新","attention.notification.completed":"任务已完成","attention.notification.failed":"任务失败","attention.notification.interrupted":"任务已中断","attention.notification.permission":"需要审批","attention.notification.question":"需要回答","attention.notification.elicitation":"MCP 需要输入","interaction.permission.title":"需要授权:{tool}","interaction.permission.once":"仅本次允许","interaction.permission.session":"本会话允许","interaction.permission.project":"本项目允许","interaction.permission.deny":"拒绝","interaction.permission.failed":"授权响应失败","interaction.question.answered":"问题已回答","interaction.question.other":"其他","interaction.question.submit":"提交回答","interaction.question.failed":"回答提交失败","interaction.elicitation.title":"MCP 请求输入","interaction.elicitation.submit":"提交给 MCP","interaction.elicitation.open":"打开外部链接","interaction.elicitation.decline":"拒绝","interaction.elicitation.cancel":"取消","interaction.elicitation.responded":"已响应 MCP 请求","interaction.elicitation.cancelled":"MCP 请求已取消","interaction.elicitation.failed":"响应 MCP 请求失败","interaction.elicitation.warning":"仅在信任该 MCP 服务器并理解请求用途时继续。","interaction.bar.permissionTitle":"Agent 正在等待审批","interaction.bar.permissionHint":"请检查待处理的工具请求,审批后任务才会继续。","interaction.bar.questionTitle":"Agent 正在等待回答","interaction.bar.questionHint":"请回答待处理的问题,任务才能继续。","interaction.bar.elicitationTitle":"MCP 服务器正在等待输入","interaction.bar.elicitationHint":"请检查 MCP 请求,响应后任务才会继续。","interaction.bar.review":"查看请求","interaction.badge.permission":"需要审批","interaction.badge.question":"需要回答","interaction.badge.elicitation":"MCP 输入","artifact.env.isolated":"独立分支","artifact.env.local":"本地","artifact.review":"查看变更","artifact.commits":"{count} 次提交","artifact.apply":"应用","artifact.retryApply":"重新应用","artifact.applying":"应用中","artifact.applied":"已应用","artifact.discard":"丢弃任务变更","artifact.discarded":"已丢弃","artifact.conflict":"任务变更无法安全应用。","artifact.conflictHint":"隔离变更已保留。请查看变更、处理源项目状态,然后重试或丢弃。","artifact.discardDialog.title":"丢弃隔离变更?","artifact.discardDialog.description":"将删除 {project} 隔离任务工作区中的 {count} 个变更文件。","artifact.discardDialog.warning":"此操作会永久删除任务 worktree 和分支,不会修改源项目。","artifact.discardDialog.cancel":"保留变更","artifact.discardDialog.confirm":"丢弃变更","chat.list.empty.eyebrow":"Blade · 就绪","chat.list.empty.title":"发送一条消息开始对话","chat.list.empty.hint":"提问、描述改动,或者粘贴一段错误堆栈。","chat.list.loading.eyebrow":"历史对话","chat.list.loading.title":"正在恢复对话…","chat.list.loading.hint":"正在加载消息、任务状态和实时更新。对话较长时可能需要一点时间。","chat.list.showEarlier":"显示更早的 {count} 条消息","chat.list.showEarlierWithRemaining":"显示更早的 {count} 条消息,当前隐藏 {remaining} 条","chat.list.jumpLatest":"回到最新消息","chat.turns.aria":"跳转到之前的消息","chat.turns.label":"第 {n} 轮","chat.timeline.thinking":"思考过程","chat.timeline.tools.runningOne":"正在执行 1 条命令","chat.timeline.tools.running":"正在执行 {count} 条命令","chat.timeline.tools.completedOne":"已执行 1 条命令","chat.timeline.tools.completed":"已执行 {count} 条命令","chat.timeline.tools.completedOneWithError":"已执行 1 条命令 · 执行失败","chat.timeline.tools.completedWithErrors":"已执行 {count} 条命令 · {errors} 条失败","chat.error.dismiss":"关闭错误","chat.error.queueFull":"指令队列已满。请等待已有指令开始执行后重试。","chat.error.turnChanged":"当前轮次已发生变化,此消息尚未接收。请确认内容后重试。","chat.error.title.submission":"消息未发送。","chat.error.title.execution":"本轮运行已停止。","chat.error.title.navigation":"未能打开任务。","chat.error.title.generic":"操作失败。","chat.error.action.returnDraft":"返回草稿","chat.error.action.editResend":"编辑后重发","chat.error.action.retryTask":"重试任务","chat.error.action.retryingTask":"正在重试…","chat.error.action.checkModels":"检查模型设置","task.failure.authentication":"模型服务认证失败,请检查模型凭据。","task.failure.permission":"模型服务拒绝了请求,请检查账号和模型权限。","task.failure.rateLimit":"模型服务达到速率或额度限制。","task.failure.timeout":"模型服务请求超时。","task.failure.network":"无法连接模型服务。","task.failure.modelUnavailable":"当前选择的模型不可用。","task.failure.contextLimit":"请求超出模型上下文限制。","task.failure.unsupportedInput":"当前模型不支持此类输入。","task.failure.capacity":"任务准入容量已满,请在运行中的任务完成后重试。","task.failure.runtime":"Agent 运行失败。","chat.connection.reconnecting":"正在恢复实时更新,当前任务仍在后台继续运行。","chat.connection.offline":"实时更新已离线,当前显示的进度可能已经过期。","chat.connection.retry":"重新连接","chat.footer.disclaimer":"Blade 可能会出错,请核对重要信息。","chat.input.placeholder.default":"输入 @ 提及文件,/ 触发命令……","chat.input.placeholder.steering":"添加指令来引导当前轮次……","chat.input.steering.status":"当前轮次可被引导","chat.input.steering.queued":"引导指令已接收 · 待处理 {count} 条","chat.input.steering.enterHint":" · 回车下发指令","chat.input.followUp.queued":"后续指令已接收 · 下一轮排队 {count} 条","chat.input.steering.recoveredOne":"重启后已恢复 {count} 条排队指令","chat.input.steering.recoveredMany":"重启后已恢复 {count} 条排队指令","chat.input.attachment.add":"添加图片","chat.input.attachment.remove":"移除","chat.input.attachment.countLimit":"最多可添加 {count} 张图片。","chat.input.attachment.sizeLimit":"图片编码后总大小不能超过 {size},请移除图片或选择更小的文件。","chat.input.attachment.readFailed":"Blade 无法读取其中一张图片。","chat.input.attachment.usage":"{count}/{limit} 张图片 · 已用 {used} / {budget}","chat.input.attachment.modelUnsupported":"{model} 不支持图片输入,请选择视觉模型或移除图片。","chat.input.attachment.modelRequired":"请先选择支持图片输入的视觉模型。","chat.input.model.placeholder":"选择模型","chat.input.model.empty":"未配置模型","chat.input.model.vision":"视觉","chat.input.model.change":"切换模型","chat.input.model.locked":"请等待当前轮次结束后再切换模型","chat.input.effort.label":"推理 {effort}","chat.input.effort.heading":"推理强度","chat.input.effort.change":"切换推理强度","chat.input.effort.locked":"请等待当前轮次结束后再切换推理强度","chat.input.effort.option":"使用 {effort} 推理强度","chat.input.effort.autoHint":"接近 high","chat.input.serviceTier.label":"速度 {tier}","chat.input.serviceTier.heading":"Provider 服务等级","chat.input.serviceTier.change":"切换 Provider 服务等级","chat.input.serviceTier.locked":"请等待当前轮次结束后再切换服务等级","chat.input.serviceTier.option":"使用 {tier} 服务等级","chat.input.serviceTier.fastHint":"优先通道","chat.input.serviceTier.flexHint":"低成本","chat.input.responseVerbosity.label":"输出 {verbosity}","chat.input.responseVerbosity.heading":"响应详略","chat.input.responseVerbosity.change":"切换响应详略","chat.input.responseVerbosity.locked":"请等待当前轮次结束后再切换响应详略","chat.input.responseVerbosity.option":"使用 {verbosity} 响应详略","chat.input.responseVerbosity.autoHint":"模型默认","chat.input.outputSchema.title":"结构化输出","chat.input.outputSchema.description":"要求本轮最终返回符合该 JSON Schema 的对象。","chat.input.outputSchema.change":"设置结构化输出 Schema","chat.input.outputSchema.locked":"请等待当前轮次结束后再修改输出 Schema","chat.input.outputSchema.editor":"JSON Schema 编辑器","chat.input.outputSchema.placeholder":"粘贴 JSON Schema 对象","chat.input.outputSchema.example":"使用示例","chat.input.outputSchema.clear":"清除","chat.input.outputSchema.invalid":"请输入有效的 JSON 对象;完整 Schema 将由服务端校验。","chat.input.outputSchema.shellUnsupported":"结构化输出不能与 Shell 命令同时使用。","chat.structuredOutput.title":"结构化输出","chat.structuredOutput.copy":"复制结构化输出","chat.input.communicationStyle.label":"风格 {style}","chat.input.communicationStyle.heading":"沟通风格","chat.input.communicationStyle.change":"切换沟通风格","chat.input.communicationStyle.locked":"请等待当前轮次结束后再切换沟通风格","chat.input.communicationStyle.option":"使用 {style} 沟通风格","chat.input.communicationStyle.autoHint":"Blade 默认","chat.input.communicationStyle.pragmaticHint":"直接","chat.input.communicationStyle.friendlyHint":"协作","chat.input.communicationStyle.explanatoryHint":"解释取舍","chat.notice.dismiss":"关闭提示","chat.input.mode.default":"手动审批","chat.input.mode.default.desc":"每个重要操作都需要你的批准","chat.input.mode.autoEdit":"自动审批","chat.input.mode.autoEdit.desc":"让 AI 审核并批准重要操作","chat.input.mode.yolo":"完全访问","chat.input.mode.yolo.desc":"无需询问,直接在你的电脑上运行","chat.input.mode.yolo.confirm.title":"启用完全访问模式?","chat.input.mode.yolo.confirm.desc":"在此模式下,Agent 将直接执行所有操作(包括文件写入、Shell 命令和网络请求)而不请求许可。仅在你信任当前上下文时启用。","chat.input.mode.yolo.confirm.cancel":"取消","chat.input.mode.yolo.confirm.accept":"启用","chat.input.mode.plan":"计划","chat.input.mode.plan.desc":"先拟定计划,暂不做任何改动","chat.input.mode.aria":"Agent 操作审批","chat.input.action.stop":"停止当前轮次","chat.input.action.stopping":"正在停止当前轮次","chat.input.action.steer":"引导当前轮次","chat.input.action.send":"发送消息","chat.input.action.submitting":"正在提交消息","chat.review.title":"代码评审","chat.review.target":"目标","chat.review.target.uncommitted":"未提交改动","chat.review.target.base":"相对 {ref} 的改动","chat.review.target.commit":"提交 {ref}","chat.review.status":"状态","chat.review.status.completed":"已完成","chat.review.status.stale":"已过期","chat.review.status.failed":"失败","chat.review.status.aborted":"已中止","chat.review.status.interrupted":"已中断","chat.review.findings":"问题","chat.review.noFindings":"未发现可执行问题","chat.review.confidence":"置信度 {value}","chat.review.error":"错误","chat.subagent.resumedFromTitle":"从 {id} 恢复","chat.subagent.resumedDepth":"已恢复 · 层级 {depth}","chat.subagent.loadingLogs":"正在加载子智能体日志…","chat.subagent.resumedAs":"已恢复为 {id} · {status} · 层级 {depth}","chat.subagent.resume":"恢复","chat.subagent.resumeAria":"恢复子智能体","chat.subagent.followUpAria":"子智能体后续指令","chat.subagent.followUpPlaceholder":"描述需要继续处理的工作","chat.subagent.cancel":"取消","chat.subagent.resumeAgent":"恢复智能体","chat.subagent.resumeFailed":"恢复子智能体失败","chat.markdown.copyCode":"复制代码","chat.rewind.title":"回溯会话","chat.rewind.description":"返回到某条用户消息之前的节点。","chat.rewind.loading":"正在加载检查点","chat.rewind.empty":"暂无可回溯的检查点","chat.rewind.checkpointAria":"回溯检查点","chat.rewind.userMessage":"用户消息","chat.rewind.fileCountOne":"{count} 个文件","chat.rewind.fileCountMany":"{count} 个文件","chat.rewind.restoreCode":"恢复代码变更","chat.rewind.restoreCodeHint":"回滚此检查点及之后更改的文件。","chat.rewind.cancel":"取消","chat.rewind.confirm":"回溯","chat.rewind.loadFailed":"加载回溯检查点失败","chat.rewind.failed":"回溯失败。请检查会话错误后重试。","status.context":"上下文","status.tokenLimitTooltip":"此为估算的 token 上限,模型回报上下文尺寸后会自动更新。","status.phase.running":"生成中…","status.phase.providerStall":"Provider 流暂无数据","status.phase.actionStationarityRecovering":"正在纠正空转","status.phase.actionStationarityStopped":"已停止空转","status.phase.compacting":"正在压缩上下文…","status.phase.recoveringContext":"上下文超限,正在恢复…","status.phase.switchingModel":"正在切换模型…","status.phase.waitingPermission":"等待授权…","status.phase.error":"运行失败","preview.title":"预览","preview.action.resize":"调整预览区宽度","preview.action.close":"关闭预览区","preview.action.retry":"重试","preview.tab.diff":"变更","preview.tab.files":"文件","preview.tab.logs":"日志","preview.diff.loadingTitle":"正在加载任务变更…","preview.diff.loadingHint":"正在读取持久化的 worktree 产物。","preview.diff.failedTitle":"任务变更加载失败","preview.diff.discardedTitle":"变更已丢弃","preview.diff.discardedHint":"隔离工作区已删除,源项目没有被修改。","preview.diff.emptyTitle":"暂无变更","preview.diff.emptyHint":"工具修改文件后,变更会显示在这里。","preview.diff.searchAria":"搜索变更文件","preview.diff.searchPlaceholder":"筛选变更文件…","preview.diff.changedFiles":"{count} 个变更文件","preview.diff.expandAll":"全部展开","preview.diff.collapseAll":"全部收起","preview.diff.showMoreFiles":"再显示 {count} 个文件","preview.diff.showMoreLines":"再显示 {count} 行","preview.diff.noMatches":"没有匹配的变更文件","preview.diff.patch":"补丁","preview.diff.line":"第 {line} 行","preview.files.loadingTitle":"正在加载文件…","preview.files.loadingHint":"正在获取工作区文件树。","preview.files.failedTitle":"文件加载失败","preview.files.emptyTitle":"暂无文件","preview.files.emptyHint":"选择项目后即可加载工作区文件树。","preview.files.treeFailed":"工作区文件树加载失败","preview.files.searchAria":"搜索工作区文件","preview.files.searchPlaceholder":"查找文件…","preview.files.searchResultsAria":"文件搜索结果","preview.files.searchFailed":"工作区文件搜索失败","preview.files.noMatches":"没有匹配的文件","preview.files.directoryLoading":"正在加载目录…","preview.files.directoryEmpty":"空目录","preview.files.selectTitle":"选择要预览的文件","preview.files.status.loading":"加载中…","preview.files.status.truncated":"已截断","preview.files.status.ready":"就绪","preview.files.truncatedNotice":"预览内容已截断至 20 万字符。","preview.files.pickHint":"从文件树中选择一个文件进行预览。","preview.files.contentFailed":"文件加载失败","preview.files.editorLoading":"正在加载编辑器…","preview.logs.searchAria":"搜索工具日志","preview.logs.searchPlaceholder":"搜索工具、摘要或输出…","preview.logs.filterAria":"按状态筛选日志","preview.logs.filter.all":"全部","preview.logs.filter.running":"进行中","preview.logs.filter.error":"失败","preview.logs.filter.success":"成功","preview.logs.noMatches":"没有匹配的日志","preview.logs.noMatchesHint":"尝试其他关键词或状态。","preview.logs.emptyTitle":"暂无日志","preview.logs.emptyHint":"工具运行记录会显示在这里。","preview.logs.expand":"展开","preview.logs.collapse":"收起","preview.logs.showMore":"再显示 {count} 条日志","preview.logs.status.running":"进行中","preview.logs.status.error":"失败","preview.logs.status.success":"成功","goal.aria.section":"目标控制条","goal.status.active":"目标进行中","goal.status.paused":"目标已暂停","goal.status.blocked":"目标已阻塞","goal.status.usageLimited":"用量受限","goal.status.budgetLimited":"预算已达上限","goal.status.complete":"目标已完成","goal.field.objective":"目标描述","goal.action.edit":"编辑目标","goal.action.pause":"暂停目标","goal.action.resume":"恢复目标","goal.action.delete":"删除目标","goal.action.expand":"展开目标详情","goal.action.collapse":"收起目标详情","goal.action.cancel":"取消","goal.action.save":"保存","goal.metrics.tokens":"tokens","goal.metrics.continuationOne":"续跑 {n} 次","goal.metrics.continuationMany":"续跑 {n} 次","goal.dialog.title":"删除此目标?","goal.dialog.description":"仅移除目标状态,会话历史与工作区文件不会受影响。","settings.title":"设置","settings.nav.aria":"设置分区","settings.action.back":"返回","settings.category.settings":"设置","settings.category.integrations":"集成","settings.tab.general":"通用","settings.tab.trust":"安全","settings.tab.models":"模型","settings.tab.shortcuts":"快捷键","settings.tab.mcp":"MCP","settings.tab.skills":"技能","settings.tab.plugins":"插件","settings.tab.hooks":"钩子","settings.tab.schedules":"定时任务","settings.common.retry":"重试","settings.common.dismiss":"忽略","settings.common.cancel":"取消","settings.common.enable":"启用","settings.general.loading":"正在加载设置…","settings.general.loadError":"加载设置失败","settings.general.saveError":"保存设置失败","settings.general.responseLanguage":"回复语言","settings.general.responseLanguageHint":"AI 将使用该语言回复","settings.general.autoSave":"自动保存会话","settings.general.communicationStyle":"沟通风格","settings.general.communicationStyleHint":"决定 Agent 在所有会话中的回复措辞","settings.appearance.heading":"外观","settings.appearance.theme":"主题偏好","settings.appearance.theme.dark":"深色","settings.appearance.theme.light":"浅色","settings.appearance.theme.system":"跟随系统","settings.appearance.compactSidebar":"紧凑侧边栏","settings.appearance.codeTheme":"代码主题","settings.appearance.codeThemeHint":"语法高亮配色","settings.notifications.heading":"通知","settings.notifications.buildFinished":"构建完成","settings.notifications.errorsOnly":"仅错误","settings.notifications.systemSounds":"系统提示音","settings.notifications.blocked":"浏览器通知已被拦截","settings.notifications.unavailable":"当前浏览器不支持通知","settings.notifications.enablePrompt":"在此标签页处于后台时接收提醒","settings.privacy.heading":"隐私","settings.privacy.telemetry":"遥测","settings.privacy.crash":"崩溃报告","settings.models.description":"为不同的服务商配置 API Key 与模型设置。","settings.models.loading":"正在加载模型…","settings.models.loadChannelsFailed":"加载服务商渠道失败","settings.models.saveFailed":"保存模型失败","settings.models.deleteFailed":"删除模型失败","settings.models.updateFailed":"更新模型失败","settings.models.updateChannelFailed":"更新服务商渠道失败","settings.models.probeFailed":"服务商渠道探测失败","settings.models.deleteChannelFailed":"删除服务商渠道失败","settings.models.empty":"尚未配置任何模型","settings.models.add":"+ 添加新模型","settings.models.missingCredential":"缺少凭据","settings.models.configured":"已配置","settings.models.deleting":"正在删除…","settings.models.deleteModel":"删除模型","settings.models.deleteChannel":"删除渠道","settings.models.deleteModelAria":"删除 {name}","settings.models.deleteModelPrompt":"删除 {name} 及其保存的配置?","settings.models.deleteChannelAria":"删除渠道 {name}","settings.models.deleteChannelPrompt":"删除渠道 {name}、其凭据以及 {count} 个已配置模型?相关的兜底引用也会一并移除。","settings.models.editModelAria":"编辑 {name}","settings.models.editChannelAria":"编辑渠道 {name}","settings.models.testChannelAria":"测试 {name}","settings.models.deleteChannelActionAria":"删除渠道 {name}","settings.models.modelCountOne":"{count} 个模型","settings.models.modelCountMany":"{count} 个模型","settings.models.defaultEndpoint":"默认端点","settings.shortcuts.searchPlaceholder":"搜索操作…","settings.shortcuts.scope.all":"全部范围","settings.shortcuts.scope.global":"全局","settings.shortcuts.scope.chat":"聊天","settings.shortcuts.scope.layout":"布局","settings.shortcuts.reset":"重置","settings.shortcuts.col.action":"操作","settings.shortcuts.col.shortcut":"快捷键","settings.shortcuts.col.scope":"范围","settings.shortcuts.empty":"未找到快捷键。","settings.shortcuts.action.searchTasks":"搜索任务","settings.shortcuts.action.openCommands":"打开命令中心","settings.shortcuts.action.newTask":"新建任务","settings.shortcuts.action.focusComposer":"聚焦输入框","settings.shortcuts.action.toggleSidebar":"切换侧边栏","settings.common.reload":"重新加载","settings.trust.state.notRequired":"无需信任","settings.trust.state.trusted":"工作区已信任","settings.trust.state.review":"需要审查","settings.trust.state.error":"信任存储错误","settings.trust.selectSession":"选择一个项目会话以查看文件夹信任。","settings.trust.heading":"工作区信任","settings.trust.inheritedFrom":" · 继承自 {source}","settings.trust.reloadAria":"重新加载工作区信任","settings.trust.revoke":"撤销","settings.trust.trustWorkspace":"信任工作区","settings.trust.restartNotice":"重启 Blade 以重新加载项目模型、MCP、LSP、权限和插件。","settings.trust.revokeAria":"撤销工作区信任","settings.trust.confirmTrust":"允许 {count} 个项目来源配置模型、MCP、LSP、权限、环境、指令、命令、技能、Agent 或插件?","settings.trust.confirmRevoke":"重启后阻止项目控制的可执行配置?","settings.trust.saving":"正在保存…","settings.trust.trustReviewed":"信任已审查的工作区","settings.trust.revokeTrust":"撤销信任","settings.trust.empty":"未找到项目控制的可执行配置。","settings.trust.loadFailed":"加载工作区信任失败","settings.trust.updateFailed":"更新工作区信任失败","settings.hooks.state.disabled":"钩子已禁用","settings.hooks.state.notRequired":"无外部钩子","settings.hooks.state.review":"需要审查","settings.hooks.state.trusted":"已信任","settings.hooks.state.modified":"批准后已变更","settings.hooks.state.error":"信任存储错误","settings.hooks.selectSession":"选择一个项目会话以查看其钩子。","settings.hooks.heading":"钩子信任","settings.hooks.reloadAria":"重新加载钩子信任","settings.hooks.revoke":"撤销","settings.hooks.trustDigest":"信任摘要","settings.hooks.currentSession":"当前会话执行","settings.hooks.session.open":"打开一个会话以控制其钩子。","settings.hooks.session.loading":"正在加载会话状态…","settings.hooks.session.disabled":"已被工作区配置禁用。","settings.hooks.session.paused":"仅在此会话中暂停。","settings.hooks.session.active":"通过信任检查后,钩子可在此会话运行。","settings.hooks.session.unavailable":"已被当前会话 runtime 或宿主策略禁用。","settings.hooks.session.enableAria":"为当前会话启用钩子","settings.hooks.session.pauseAria":"为当前会话暂停钩子","settings.hooks.session.unavailableAria":"当前会话无法使用钩子","settings.hooks.confirmTrustAria":"信任项目钩子","settings.hooks.confirmRevokeAria":"撤销项目钩子信任","settings.hooks.confirmTrust":"以你的用户权限运行这 {count} 个钩子,直到它们的配置发生变更?","settings.hooks.confirmRevoke":"停止此项目所有已配置的钩子,直到再次显式信任?","settings.hooks.saving":"正在保存…","settings.hooks.trustReviewed":"信任已审查的钩子","settings.hooks.revokeTrust":"撤销信任","settings.hooks.empty":"没有已配置的命令、HTTP 或提示词钩子。","settings.hooks.loadFailed":"加载钩子信任失败","settings.hooks.updateFailed":"更新钩子信任失败","settings.hooks.sessionUpdateFailed":"更新会话钩子失败","settings.plugins.selectProject":"选择一个项目以管理其插件。","settings.plugins.heading":"工作区插件","settings.plugins.changesNote":"更改将在后续会话快照生效并持久化到所选层级。","settings.plugins.reloadAria":"重新加载插件","settings.plugins.sourcePolicy":"来源策略","settings.plugins.savePolicyAria":"保存插件来源策略","settings.plugins.saving":"正在保存…","settings.plugins.saveForProject":"保存到项目","settings.plugins.restrictAria":"限制插件来源","settings.plugins.restrictAllowlists":"限制为允许列表","settings.plugins.requireShaAria":"要求完整 Git commit SHA","settings.plugins.requireSha":"要求完整 Git SHA","settings.plugins.environmentLocked":" · 环境已锁定","settings.plugins.gitHostsAria":"允许的插件 Git 主机","settings.plugins.marketplacesAria":"允许的插件市场","settings.plugins.localRootsAria":"允许的本地插件根目录","settings.plugins.emptyAllowlists":"空的允许列表将拒绝所有插件来源。","settings.plugins.installHeading":"安装可信插件","settings.plugins.sourceAria":"插件来源","settings.plugins.install":"安装","settings.plugins.trustSource":"我信任此来源可激活钩子、MCP 服务器、技能和命令。","settings.plugins.activationScope":"激活写入范围","settings.plugins.activationScopeHint":"更高优先级的层级仍将决定最终生效状态。","settings.plugins.scopeAria":"插件激活范围","settings.plugins.scope.local":"本地","settings.plugins.scope.project":"项目","settings.plugins.scope.global":"全局","settings.plugins.scope.localDesc":"仅当前检出","settings.plugins.scope.projectDesc":"共享的项目设置","settings.plugins.scope.globalDesc":"所有项目","settings.plugins.scope.invocation":"本次调用","settings.plugins.scope.default":"默认","settings.plugins.layer.on":"开","settings.plugins.layer.off":"关","settings.plugins.capability.commands":"{count} 个命令","settings.plugins.capability.skills":"{count} 个技能","settings.plugins.capability.agents":"{count} 个 Agent","settings.plugins.capability.hooks":"{count} 个钩子","settings.plugins.capability.mcp":"{count} 个 MCP","settings.plugins.noResources":"未声明任何资源","settings.plugins.effective":"生效范围:{scope}","settings.plugins.managed":"托管","settings.plugins.invocationScoped":"通过 --plugin-dir 限定为调用级","settings.plugins.enableAria":"启用 {name}","settings.plugins.disableAria":"停用 {name}","settings.plugins.unavailableAria":"{name} 不可用","settings.plugins.updateAria":"更新 {name}","settings.plugins.uninstallAria":"卸载 {name}","settings.plugins.confirmUpdate":"确认更新","settings.plugins.update":"更新","settings.plugins.confirmRemove":"确认移除","settings.plugins.empty":"未发现此项目的任何插件。","settings.plugins.marketplaces":"市场","settings.plugins.configuredCount":"{count} 个已配置","settings.plugins.marketplaceSourceAria":"市场来源","settings.plugins.addMarketplaceAria":"添加市场","settings.plugins.add":"添加","settings.plugins.noDescription":"无描述","settings.plugins.refreshMarketplaceAria":"刷新市场 {name}","settings.plugins.removeMarketplaceAria":"移除市场 {name}","settings.plugins.confirm":"确认","settings.plugins.installedSuffix":" · 已安装","settings.plugins.marketplaceEmpty":"添加市场以发现可安装的插件。","settings.plugins.loadFailed":"加载插件失败","settings.plugins.actionFailed":"插件操作失败","settings.plugins.updateFailed":"更新插件失败","settings.models.addModal.title":"添加模型","settings.models.addModal.close":"关闭添加模型","settings.models.addModal.loadProvidersError":"加载服务商失败","settings.models.addModal.loadModelsError":"加载模型失败","settings.models.addModal.provider":"服务商","settings.models.addModal.loadingProviders":"正在加载服务商…","settings.models.addModal.selectProvider":"选择服务商","settings.models.addModal.configuredSuffix":" - 已配置","settings.models.addModal.customOpenAI":"自定义 OpenAI 端点","settings.models.addModal.customAnthropic":"自定义 Anthropic 端点","settings.models.addModal.channelId":"渠道 ID","settings.models.addModal.channelIdHint":"稳定的配置与凭据标识符。","settings.models.addModal.channelName":"渠道名称","settings.models.addModal.baseUrl":"Base URL","settings.models.addModal.anthropicProtocol":"使用 Anthropic Messages 协议。","settings.models.addModal.openaiProtocol":"使用 OpenAI Chat Completions 协议。","settings.models.addModal.modelId":"模型 ID","settings.models.addModal.model":"模型","settings.models.addModal.loadingModels":"正在加载模型…","settings.models.addModal.selectModel":"选择模型","settings.models.addModal.reasoningSuffix":" - 推理","settings.models.addModal.visionSuffix":" - 视觉","settings.models.addModal.displayName":"显示名称","settings.models.addModal.displayNamePlaceholder":"可选别名","settings.models.addModal.apiKey":"API Key","settings.models.addModal.apiKeyAria":"API Key","settings.models.addModal.apiKeyPlaceholder":"单独存储在 auth.json 中","settings.models.addModal.showApiKey":"显示 API Key","settings.models.addModal.hideApiKey":"隐藏 API Key","settings.models.addModal.oauthNote":"该服务商需要 OAuth 或环境凭据,请在选择模型前在外部完成配置。","settings.models.addModal.saveModel":"保存模型","settings.models.addModal.saving":"正在保存…","settings.models.addModal.channelIdError":'渠道 ID 必须以小写字母开头,且只能包含小写字母、数字、"."、"_" 或 "-"。',"settings.models.addModal.invalidBaseUrl":"Base URL 必须是绝对的 HTTP(S) URL。","settings.models.editModal.srTitle":"编辑模型","settings.models.editModal.title":"编辑模型覆盖项","settings.models.editModal.close":"关闭编辑模型","settings.models.editModal.displayName":"显示名称","settings.models.editModal.replaceApiKey":"替换服务商 API Key","settings.models.editModal.replaceApiKeyPlaceholder":"留空则保留当前凭据","settings.models.editModal.baseUrlOverride":"Base URL 覆盖","settings.models.editModal.baseUrlPlaceholder":"留空则使用默认端点","settings.models.editModal.streamIdleTimeout":"流空闲超时(ms)","settings.models.editModal.save":"保存","settings.models.editModal.saving":"正在保存…","settings.models.editModal.streamIdleTimeoutError":"流空闲超时必须至少为 1000ms。","settings.models.editModal.credentialError":"更新服务商凭据失败","settings.models.editProvider.title":"编辑服务商渠道","settings.models.editProvider.close":"关闭编辑服务商","settings.models.editProvider.channelName":"渠道名称","settings.models.editProvider.channelNameRequired":"渠道名称不能为空","settings.models.editProvider.wireApi":"Wire API","settings.models.editProvider.baseUrl":"Base URL","settings.models.editProvider.baseUrlAria":"服务商 Base URL","settings.models.editProvider.invalidBaseUrl":"Base URL 必须是绝对的 HTTP(S) URL。","settings.models.editProvider.apiKeyEnv":"API Key 环境变量","settings.models.editProvider.apiKeyEnvPlaceholder":"可选,例如 TEAM_GATEWAY_API_KEY","settings.models.editProvider.replaceApiKey":"替换 API Key","settings.models.editProvider.apiKeyAria":"服务商 API Key","settings.models.editProvider.apiKeyPlaceholder":"留空则保留当前凭据","settings.models.editProvider.save":"保存渠道","settings.models.editProvider.saving":"正在保存…","settings.style.auto":"自动","settings.style.pragmatic":"务实","settings.style.friendly":"友好","settings.style.explanatory":"解释型","mcp.status.connected":"已连接","mcp.status.connecting":"连接中...","mcp.status.reconnecting":"恢复中...","mcp.status.offline":"离线","mcp.status.error":"错误","mcp.status.recoveringAttempt":"恢复中 {attempt}/{max}","mcp.oauth.status.disabled":"未配置","mcp.oauth.status.unavailable":"当前运行时不可用","mcp.oauth.status.unauthenticated":"需要授权","mcp.oauth.status.authorizing":"等待授权...","mcp.oauth.status.authenticated":"已授权","mcp.oauth.status.error":"授权失败","mcp.catalog.tag.official":"官方","mcp.catalog.tag.popular":"热门","mcp.catalog.tag.community":"社区","mcp.action.refreshServers":"刷新 MCP 服务器","mcp.action.addServer":"添加服务器","mcp.action.close":"关闭 MCP","mcp.action.dismiss":"忽略","mcp.action.retry":"重试","mcp.action.disconnect":"断开连接","mcp.action.disconnecting":"断开中...","mcp.action.stopRecovery":"停止恢复","mcp.action.connect":"连接","mcp.action.connecting":"连接中...","mcp.action.authorizeFirst":"请先授权","mcp.action.delete":"删除","mcp.action.cancel":"取消","mcp.action.deleting":"删除中...","mcp.action.deleteServer":"删除服务器","mcp.tab.installed":"已安装 ({count})","mcp.tab.catalog":"目录","mcp.servers.title":"服务器","mcp.servers.searchAria":"搜索已安装的 MCP 服务器","mcp.servers.searchPlaceholder":"搜索服务器...","mcp.servers.loading":"正在加载服务器...","mcp.servers.noMatch":"没有匹配的服务器","mcp.servers.none":"尚未配置 MCP 服务器","mcp.server.errorLabel":"错误:{error}","mcp.server.deleteAria":"删除 {name}","mcp.server.selectPrompt":"选择一个服务器以查看详情","mcp.instructions.title":"服务器说明","mcp.instructions.detailsOmittedByPolicy":"[详情已根据运行时策略省略]","mcp.instructions.detailsOmitted":"详情已省略","mcp.instructions.truncated":"已截断至安全显示上限","mcp.tasks.title":"实验性 MCP 任务","mcp.tasks.summary":"每会话 {count} 个 · {interval}ms 轮询","mcp.tasks.disabledByDefault":"默认禁用","mcp.tasks.enabled":"已启用","mcp.tasks.disabled":"已禁用","mcp.oauth.signingOut":"登出中...","mcp.oauth.signOut":"登出","mcp.oauth.continueAuthorization":"继续授权","mcp.oauth.resumeAuthorization":"恢复授权","mcp.oauth.opening":"打开中...","mcp.oauth.authorize":"授权","mcp.delete.confirm":"移除此服务器及其已保存的配置?","mcp.tools.title":"工具 ({count})","mcp.tools.none":"暂无可用工具","mcp.completion.title":"参数补全","mcp.completion.connectPrompt":"连接服务器后即可请求补全建议","mcp.completion.unsupported":"该服务器未声明支持 MCP 补全","mcp.completion.noTargets":"没有可补全的提示词参数或模板变量","mcp.completion.targetAria":"MCP 补全目标","mcp.completion.partialAria":"MCP 补全的部分值","mcp.completion.partialPlaceholder":"部分值","mcp.completion.completing":"补全中...","mcp.completion.complete":"补全","mcp.completion.suggestionsAria":"MCP 补全建议","mcp.completion.empty":"[空]","mcp.completion.noSuggestions":"暂无建议","mcp.meta.truncatedSuffix":" · 已截断","mcp.meta.detailsOmittedSuffix":" · 详情已省略","mcp.diagnostics.title":"诊断","mcp.diagnostics.refreshAria":"刷新 {name} 的 MCP 日志","mcp.diagnostics.logsAria":"{name} 的 MCP 日志","mcp.log.levelAria":"MCP 日志级别","mcp.log.setting":"设置中...","mcp.log.loading":"正在加载日志...","mcp.log.none":"未捕获到日志","mcp.catalog.searchAria":"搜索 MCP 服务器目录","mcp.catalog.searchPlaceholder":"在 npm 上搜索 MCP 服务器(至少 3 个字符)...","mcp.catalog.retry":"重试加载目录","mcp.catalog.noDescription":"暂无描述","mcp.catalog.byAuthor":"作者 {author}","mcp.catalog.installed":"已安装","mcp.catalog.installing":"安装中...","mcp.catalog.install":"安装","mcp.catalog.noPackages":"未找到任何包","mcp.catalog.noMore":"没有更多包了","mcp.catalog.packagesFound":"找到 {count} 个包","mcp.catalog.browseGlama":"在 Glama 上浏览更多","mcp.error.connectFailed":"连接服务器失败","mcp.error.disconnectFailed":"断开服务器失败","mcp.error.deleteFailed":"删除服务器失败","mcp.error.loginFailed":"MCP OAuth 登录失败","mcp.error.logoutFailed":"MCP OAuth 登出失败","mcp.error.loggingLevelFailed":"设置 MCP 日志级别失败","mcp.error.completionFailed":"MCP 补全失败","mcp.add.title":"添加 MCP 服务器","mcp.add.closeAria":"关闭添加 MCP 服务器","mcp.add.modeForm":"表单","mcp.add.jsonConfig":"JSON 配置","mcp.add.jsonConfigAria":"JSON 配置","mcp.add.serverName":"服务器名称","mcp.add.command":"命令","mcp.add.commandAria":"服务器命令","mcp.add.argsLabel":"参数(空格分隔)","mcp.add.argsAria":"服务器参数","mcp.add.invalidJson":"请输入包含服务器名称和传输方式的有效 JSON。","mcp.add.nameCommandRequired":"名称和命令为必填项。","mcp.add.adding":"添加中...","mcp.add.submit":"添加服务器","mcp.install.title":"安装 MCP 服务器","mcp.install.titleWithName":"安装 {name}","mcp.install.closeAria":"关闭 MCP 安装","mcp.install.args":"参数","mcp.install.commandPreview":"命令:npx {args}","mcp.install.nameRequired":"服务器名称为必填项。","skills.title":"技能","skills.action.install":"安装技能","skills.action.installShort":"安装","skills.action.refreshAria":"刷新技能","skills.action.closeAria":"关闭技能","skills.action.dismiss":"忽略","skills.action.retry":"重试","skills.action.cancel":"取消","skills.action.close":"关闭","skills.action.hide":"隐藏","skills.action.enable":"启用","skills.action.disable":"禁用","skills.action.saving":"保存中…","skills.status.enabled":"已启用","skills.status.disabled":"已禁用","skills.status.installed":"已安装","skills.noDescriptionShort":"暂无描述","skills.noDescription":"暂无可用描述","skills.installed.title":"已安装","skills.installed.searchAria":"搜索已安装的技能","skills.installed.searchPlaceholder":"搜索技能…","skills.installed.loading":"正在加载技能…","skills.installed.noMatch":"没有匹配的技能","skills.installed.empty":"尚未安装任何技能","skills.uninstall.managedHint":"仅可卸载 Blade 用户技能","skills.uninstall.managed":"受管理","skills.uninstall.action":"卸载","skills.uninstall.confirmAria":"卸载 {name}","skills.uninstall.confirmPrompt":"从 ~/.blade/skills 中移除此技能?","skills.uninstall.inProgress":"正在卸载…","skills.uninstall.confirm":"卸载技能","skills.details.title":"详情","skills.details.provider":"提供方","skills.details.location":"位置","skills.details.capabilities":"能力","skills.details.allowedTools":"允许的工具({count})","skills.detail.emptyState":"选择一个技能以查看详情","skills.install.title":"安装技能","skills.install.closeAria":"关闭技能安装","skills.install.tab.catalog":"目录","skills.install.tab.repo":"仓库","skills.install.tab.local":"本地","skills.install.catalog.searchAria":"搜索技能目录","skills.install.catalog.searchPlaceholder":"搜索目录…","skills.install.catalog.loading":"正在加载目录…","skills.install.catalog.empty":"未找到技能","skills.install.catalog.byAuthor":"作者:{author}","skills.install.catalog.tag.official":"官方","skills.install.catalog.tag.popular":"热门","skills.install.catalog.tag.community":"社区","skills.install.repo.label":"GitHub URL","skills.install.repo.inputAria":"技能仓库地址","skills.install.repo.credentialsHint":"使用 Blade 进程可用的 Git 凭据","skills.install.local.label":"本地路径","skills.install.local.inputAria":"本地技能路径","skills.status.dialogTitle":"安装状态","skills.status.confirm.title":"确认安装","skills.status.confirm.prompt":"安装所选技能?","skills.status.installing.title":"正在安装","skills.status.installing.description":"正在下载并校验…","skills.status.failed.title":"安装失败","skills.status.failed.fallback":"安装失败。","skills.status.failed.hint":"请检查访问权限后重试。","skills.error.deleteFailed":"删除技能失败","skills.error.toggleFailed":"切换技能状态失败","skills.error.installFailed":"安装技能失败","schedule.title":"定时任务","schedule.description":"按 cron、间隔或一次性触发器自动运行无界面任务提示词。","schedule.new":"新建定时任务","schedule.newAria":"创建新的定时任务","schedule.refresh":"刷新","schedule.reloadAria":"重新加载定时任务","schedule.create":"创建","schedule.save":"保存","schedule.cancel":"取消","schedule.confirmDelete":"确认?","schedule.empty":"暂无定时任务","schedule.enabled":"已启用","schedule.disabled":"已禁用","schedule.never":"从未","schedule.nextRun":"下次运行","schedule.lastRun":"上次运行","schedule.runCount":"已运行 {count} 次","schedule.trigger.kindAria":"触发器类型","schedule.trigger.cron":"Cron","schedule.trigger.interval":"间隔","schedule.trigger.once":"一次性","schedule.field.title":"标题(可选)","schedule.field.cron":"Cron 表达式","schedule.field.interval":"间隔","schedule.field.runAt":"运行时间","schedule.field.prompt":"提示词","schedule.field.project":"项目路径","schedule.field.model":"模型(可选)","schedule.field.permissionMode":"权限模式","schedule.field.isolation":"隔离方式","schedule.placeholder.title":"每晚依赖审查","schedule.placeholder.cron":"0 9 * * 1 (分 时 日 月 周)","schedule.placeholder.interval":"30m / 2h / 1d","schedule.placeholder.prompt":"描述要运行的任务…","schedule.placeholder.project":"/path/to/project","schedule.placeholder.model":"例如 anthropic/claude-sonnet","schedule.model.current":"使用当前模型","schedule.permission.default":"默认","schedule.permission.autoEdit":"自动编辑","schedule.permission.yolo":"Yolo","schedule.permission.plan":"规划","schedule.isolation.local":"本地","schedule.isolation.worktree":"工作树","schedule.cadence.cron":"cron:{expr}","schedule.cadence.interval":"每 {interval}","schedule.cadence.once":"于 {time} 运行一次","schedule.status.queued":"排队中","schedule.status.running":"运行中","schedule.status.completed":"已完成","schedule.status.failed":"失败","schedule.status.cancelled":"已取消","schedule.status.interrupted":"已中断","schedule.status.error":"出错","schedule.status.never":"尚未运行","schedule.runNowAria":"立即运行“{title}”","schedule.editAria":"编辑“{title}”","schedule.deleteAria":"删除“{title}”","schedule.enableAria":"启用“{title}”","schedule.disableAria":"禁用“{title}”","schedule.error.promptRequired":"提示词不能为空。","schedule.error.projectRequired":"项目路径不能为空。","schedule.error.cronRequired":"Cron 表达式不能为空。","schedule.error.invalidInterval":"请输入类似 30m、2h 或 1d 的间隔。","schedule.error.runAtRequired":"请选择有效的运行时间。","schedule.error.loadFailed":"加载定时任务失败。","schedule.error.createFailed":"创建定时任务失败。","schedule.error.updateFailed":"更新定时任务失败。","schedule.error.deleteFailed":"删除定时任务失败。","schedule.error.toggleFailed":"切换定时任务状态失败。","schedule.error.runFailed":"运行定时任务失败。"},Yw=["en","zh"],Ha={en:Jw,zh:Qw},Lf="blade-ui-locale",Gc=typeof window<"u"&&typeof document<"u";function Xw(){var e,t;if(Gc){try{const r=(e=window.localStorage)==null?void 0:e.getItem(Lf);if(r==="en"||r==="zh")return r}catch{}return(typeof navigator<"u"&&(navigator.language||((t=navigator.languages)==null?void 0:t[0]))||"").toLowerCase().startsWith("zh")?"zh":"en"}return"en"}let js=Xw();const ic=new Set;function Zw(){for(const e of ic)e()}function e0(e){var t;if(e!==js){if(js=e,Gc){try{(t=window.localStorage)==null||t.setItem(Lf,e)}catch{}document!=null&&document.documentElement&&(document.documentElement.lang=e==="zh"?"zh-CN":"en")}Zw()}}function Df(e){return ic.add(e),()=>ic.delete(e)}function t0(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>{const s=t[r];return s==null?n:String(s)}):e}function He(e,t){const r=(Ha[js]??Ha.en)[e]??Ha.en[e];return t0(r,t)}function Mt(){return w.useSyncExternalStore(Df,()=>js,()=>"en"),He}function n0(){return{locale:w.useSyncExternalStore(Df,()=>js,()=>"en"),setLocale:e0}}Gc&&(document!=null&&document.documentElement)&&(document.documentElement.lang=js==="zh"?"zh-CN":"en");function ht(e,t){return{...e,...t}}function Lr(e,t,n){return e>=t&&e<=n}function r0(e){return e===8205}function s0(e){return Lr(e,55296,56319)}function bu(e){return Lr(e,127462,127487)}function _f(e){return Lr(e,65024,65039)}function Uf(e){return Lr(e,768,879)||Lr(e,6832,6911)||Lr(e,7616,7679)||Lr(e,65056,65071)}function yi(e){return e>65535?2:1}function ku(e,t){for(;t<e.length;){const n=e.codePointAt(t);if(Uf(n)||_f(n))t+=yi(n);else break}return t}function Wc(e,t){const n=e.codePointAt(t);let r=t+yi(n);for(r=ku(e,r);r<e.length-1&&e[r]==="";){const s=e.codePointAt(r+1);r+=1+yi(s),r=ku(e,r)}return bu(n)&&r<e.length&&bu(e.codePointAt(r))&&(r+=yi(e.codePointAt(r))),r}function Bf(e){return s0(e)||Uf(e)||_f(e)||r0(e)}function o0(e){let t=0,n=0;for(;n<e.length;)n=Wc(e,n),t++;return t}function i0(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=Wc(e,r),n++,n>=t)return!0;return!1}function a0(e,t){let n=0,r=0;for(;r<e.length;)if(r=Wc(e,r),n++,n>t)return!1;return!0}function c0(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(Bf(e.charCodeAt(n)))return i0(e,t);if(n++,n>=t)return!0}return!1}function l0(e,t){let n=0;for(;n<e.length;){if(Bf(e.charCodeAt(n)))return a0(e,t);if(n++,n>t)return!1}return!0}function _(e){return Array.isArray(e)}function et(e){return g(typeof e,"bigint")}function gt(e){return g(typeof e,"boolean")}function Vi(e){if(Ne(e)||!xn(e))return!1;const t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function xn(e){return g(typeof e,"function")}function Vc(e){return Number.isInteger(e)}function Gt(e){return g(e,null)}function ye(e){return Number.isFinite(e)}function ln(e){return ne(e)&&!_(e)}function ne(e){return g(typeof e,"object")&&!Gt(e)}function ae(e){return g(typeof e,"string")}function Jc(e){return g(typeof e,"symbol")}function Ne(e){return g(e,void 0)}function g(e,t){return e===t}function Wr(e,t){return e>t}function xo(e,t){return e<t}function Zn(e,t){return e<=t}function Es(e,t){return e>=t}function Hf(e,t){if(et(e)||et(t))return BigInt(e)%BigInt(t)===0n;const n=1e-10;if(!ye(e)||Vc(e)&&1/t%1===0)return!0;const r=e%t;return Math.min(Math.abs(r),Math.abs(r-t),Math.abs(r+t))<n}function zf(e){if(!ne(e))return!1;const t=globalThis.Object.getPrototypeOf(e);return Gt(t)?!1:g(typeof t.constructor,"function")&&!(g(t.constructor,globalThis.Object)||g(t.constructor.name,"Object"))}function Ts(e){return et(e)||gt(e)||Gt(e)||ye(e)||ae(e)||Ne(e)}function d0(e){return o0(e)}function qf(e,t){return l0(e,t)}function Kf(e,t){return c0(e,t)}function dt(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function jt(e,t,n){let r=!0;for(let s=t;s<e.length;s++)n(e[s],s)||(r=!1);return r}function As(e,t){for(let n=0;n<e.length;n++)if(t(e[n],n))return!0;return!1}function Gf(e,t){let n=!1;for(let r=0;r<e.length;r++)t(e[r],r)&&(n=!0);return n}function Qc(e,t){return e.reduce((n,r,s)=>t(r,s)?++n:n,0)}function ve(e,t,n){return g(e.length,0)?n():t(e[0],e.slice(1))}function Gn(e){return g(e,"__proto__")||g(e,"constructor")||g(e,"prototype")}function E(e,t){return Gn(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function Yc(e){return M(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function tt(e){return Object.entries(e)}function M(e){return Object.getOwnPropertyNames(e)}function Xc(e){return Object.getOwnPropertySymbols(e)}function Zc(e){return Object.values(e)}function u0(e,t){if(!ne(t))return!1;const n=M(e);return g(n.length,M(t).length)&&n.every(r=>Vr(e[r],t[r]))}function f0(e,t){return _(t)&&g(e.length,t.length)&&e.every((n,r)=>Vr(e[r],t[r]))}function Vr(e,t){return _(e)?f0(e,t):ne(e)?u0(e,t):g(e,t)}const Ei=Object.freeze(Object.defineProperty({__proto__:null,Counted:Qc,Entries:tt,EntriesRegExp:Yc,Every:dt,EveryAll:jt,GraphemeCount:d0,HasPropertyKey:E,IsArray:_,IsBigInt:et,IsBoolean:gt,IsClassInstance:zf,IsConstructor:Vi,IsDeepEqual:Vr,IsEqual:g,IsFunction:xn,IsGreaterEqualThan:Es,IsGreaterThan:Wr,IsInteger:Vc,IsLessEqualThan:Zn,IsLessThan:xo,IsMaxLength:qf,IsMinLength:Kf,IsMultipleOf:Hf,IsNull:Gt,IsNumber:ye,IsObject:ne,IsObjectNotArray:ln,IsString:ae,IsSymbol:Jc,IsUndefined:Ne,IsUnsafePropertyKey:Gn,IsValueLike:Ts,Keys:M,ShiftLeft:ve,Some:As,SomeAll:Gf,Symbols:Xc,Values:Zc},Symbol.toStringTag,{value:"Module"})),p0=/^[\p{ID_Start}_$][\p{ID_Continue}_$\u200C\u200D]*$/u;function m0(e){return p0.test(e)}function wt(e,t){return`(${e} && ${t})`}function ze(e,t){return`(${e} || ${t})`}function Pt(e){return`!(${e})`}function Ti(e){return`Array.isArray(${e})`}function Wf(e){return`typeof ${e} === "bigint"`}function h0(e){return`typeof ${e} === "boolean"`}function g0(e){return`Number.isInteger(${e})`}function b0(e){return`${e} === null`}function Vf(e){return`Number.isFinite(${e})`}function Jf(e){return wt(Qf(e),Pt(Ti(e)))}function Qf(e){return`typeof ${e} === "object" && ${e} !== null`}function Yf(e){return`typeof ${e} === "string"`}function k0(e){return`typeof ${e} === "symbol"`}function ac(e){return`${e} === undefined`}function x0(e){return`typeof ${e} === "function"`}function y0(e){return`Guard.IsConstructor(${e})`}function Kt(e,t){return`${e} === ${t}`}function Xf(e,t){return`${e} > ${t}`}function el(e,t){return`${e} < ${t}`}function Jr(e,t){return`${e} <= ${t}`}function yo(e,t){return`${e} >= ${t}`}function w0(e,t){return`Guard.IsMinLength(${e}, ${t})`}function v0(e,t){return`Guard.IsMaxLength(${e}, ${t})`}function Rn(e,t,n,r){return g(t,"0")?`${e}.every((${n[0]}, ${n[1]}) => ${r})`:`((value, callback) => { for(let index = ${t}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${e}, (${n[0]}, ${n[1]}) => ${r})`}function S0(e,t,n){return`${e}.some((${t[0]}, ${t[1]}) => ${n})`}function I0(e,t,n){return`((value, callback) => { let result = false; for(let index = 0; index < value.length; index++) if (callback(value[index], index)) result = true; return result })(${e}, (${t[0]}, ${t[1]}) => ${n})`}function Ji(e,t,n){return`${e}.reduce((result, ${t[0]}, ${t[1]}) => (${n}) ? ++result : result, 0)`}function Zf(e){return`Object.entries(${e})`}function Qr(e){return`Object.getOwnPropertyNames(${e})`}function Br(e,t){return g(t,'"__proto__"')||g(t,'"constructor"')?`Object.prototype.hasOwnProperty.call(${e}, ${t})`:`${t} in ${e}`}function ep(e,t){return`Guard.IsDeepEqual(${e}, ${t})`}function j0(e){return`[${e.join(", ")}]`}function hr(e,t){return`((${e.join(", ")}) => ${t})`}function qe(e,t){return`${e}(${t.join(", ")})`}function tl(e,t){return`new ${e}(${t.join(", ")})`}function ue(e,t){return`${e}${m0(t)?`.${t}`:`[${H(t)}]`}`}function H(e){if(!Ts(e))throw Error("Unsupported Constant");return ae(e)?JSON.stringify(e):`${e}`}function C0(e,t,n){return`(${e} ? ${t} : ${n})`}function Qi(e){return`{ ${e.join("; ")}; }`}function Wn(e,t){return`const ${e} = ${t}`}function tp(e,t){return`if(${e}) { ${t} }`}function Yi(e){return`return ${e}`}function St(e){return g(e.length,0)?"true":e.reduce((t,n)=>wt(t,n))}function nl(e){return g(e.length,0)?"false":e.reduce((t,n)=>ze(t,n))}function E0(e,t){return`Guard.IsMultipleOf(${e}, ${t})`}function T0(e){return e instanceof Boolean}function A0(e){return e instanceof Number}function P0(e){return e instanceof String}function wo(e){return globalThis.ArrayBuffer.isView(e)}function np(e){return e instanceof globalThis.RegExp}function rp(e){return e instanceof globalThis.Date}function sp(e){return e instanceof globalThis.Set}function op(e){return e instanceof globalThis.Map}function N0(e){return E(e,"~kind")||E(e,"~unsafe")}function O0(e){const t={},n=Object.getOwnPropertyDescriptors(e);for(const r of Object.keys(n)){if(Gn(r))continue;const s=n[r];E(s,"value")&&Object.defineProperty(t,r,{...s,value:Hr(s.value)})}return t}function R0(e){const t={};for(const n of M(e))Gn(n)||(t[n]=Hr(e[n]));for(const n of Xc(e))t[n]=Hr(e[n]);return t}function $0(e){return zf(e)?e:N0(e)?O0(e):R0(e)}function M0(e){return e.map(t=>Hr(t))}function F0(e){return e.slice()}function L0(e){return new RegExp(e.source,e.flags)}function D0(e){return new Map(Hr([...e.entries()]))}function _0(e){return new Set(Hr([...e.values()]))}function Hr(e){return wo(e)?F0(e):np(e)?L0(e):op(e)?D0(e):sp(e)?_0(e):_(e)?M0(e):ne(e)?$0(e):e}function rl(e){return Hr(e)}const U0={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function vo(){return U0}function B0(e,t){for(const n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function H0(e,t){return{...e,...t}}function be(e,t,n={}){const r=H0(t,n);return B0(r,e)}function jn(e,t){const n={},r=Object.getOwnPropertyDescriptors(rl(e)),s=new Set(t);for(const o of Object.keys(r))s.has(o)||Object.defineProperty(n,o,r[o]);return n}function fe(e,t,n){const r=vo(),s=rl(e);for(const o of Object.keys(t))Object.defineProperty(s,o,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[o]});for(const o of Object.keys(n))Object.defineProperty(s,o,{configurable:!0,enumerable:!0,writable:!0,value:n[o]});return s}function we(e,t){return ne(e)&&E(e,"~kind")&&g(e["~kind"],t)}function Jt(e){return ne(e)}function je(e,t,n){return be({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Ss(e){return we(e,"Deferred")}function z0(e){return fe(e,{"~readonly":!0},{})}function sl(e,t){return fe(z0(e),{},t)}function q0(e,t,n,r){const s=q(e,t,n);return sl(s,r)}function K0(e){return fe(e,{"~optional":!0},{})}function ol(e,t){return fe(K0(e),{},t)}function G0(e,t,n,r){const s=q(e,t,n);return ol(s,r)}function wr(e,t){return be({"~kind":"Array"},{type:"array",items:e},t)}function ut(e){return we(e,"Array")}function il(e){return jn(e,["~kind","type","items"])}function So(e,t,n={}){return be({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function dn(e){return we(e,"Constructor")}function W0(e){return jn(e,["~kind","type","parameters","instanceType"])}function Io(e,t,n={}){return be({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function un(e){return we(e,"Function")}function V0(e){return jn(e,["~kind","type","parameters","returnType"])}function an(e,t){return be({"~kind":"Ref"},{$ref:e},t)}function bt(e){return we(e,"Ref")}function jo(e,t){return be({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function al(e){return we(e,"Generic")}function cl(e){return be({"~kind":"Any"},{},e)}function Cn(e){return we(e,"Any")}const J0="(?!)";function Ct(e){return be({"~kind":"Never"},{not:{}},e)}function Ps(e){return we(e,"Never")}function Qn(e,t={}){return je("AddOptional",[e],t)}function Ai(e,t={}){return ol(e,t)}function Q0(e){return Ai(e)}function Qt(e){return Jt(e)&&E(e,"~optional")}function Y0(e){return M(e).filter(t=>!Qt(e[t]))}function ip(e){return M(e)}function ap(e){return Zc(e)}function Ae(e,t={}){const n=Y0(e),r=n.length>0?{required:n}:{};return be({"~kind":"Object"},{type:"object",...r,properties:e},t)}function _e(e){return we(e,"Object")}function X0(e){return jn(e,["~kind","type","properties","required"])}function Ut(e){return be({"~kind":"Unknown"},{},e)}function yn(e){return we(e,"Unknown")}function Co(e,t,n){const r=M(e).reduce((s,o)=>({...s,[o]:fe(e[o],{},{$id:o})}),{});return be({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function Bt(e){return we(e,"Cyclic")}function Z0(e){return fe(e,{"~unsafe":null},{})}function cp(e){return ln(e)&&E(e,"~unsafe")&&Gt(e["~unsafe"])}function at(e,t){var n;return((n=t[e.length])==null?void 0:n.call(t,...e))??(()=>{throw Error("Invalid Arguments")})()}function cc(...e){const[t,n]=at(e,{2:(r,s)=>[r,s,s],1:r=>[r,Ut(),Ut()]});return be({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Yt(e){return we(e,"Infer")}function Pi(e,t,n,r={}){return be({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function fn(e){return we(e,"Dependent")}function ev(e){return jn(e,["~kind","if","then","else"])}function tv(e){return ln(e)}function nv(e){return M(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}function rv(e){return ae(e)||ye(e)}function sv(e,t){const n=tv(e)?nv(e):e;return be({"~kind":"Enum"},{enum:n},t)}function pn(e){return we(e,"Enum")}function On(e,t={}){return be({"~kind":"Intersect"},{allOf:e},t)}function Ue(e){return we(e,"Intersect")}function ov(e){return jn(e,["~kind","allOf"])}let za;function iv(){try{return dp("null")(),!0}catch{return!1}}function lp(){return Ne(za)&&(za=iv()),za&&vo().useAcceleration}function dp(...e){return new globalThis.Function(...e)}function Nt(){throw new Error("Unreachable")}function av(e){const t=new Set;let n=e;for(;n&&n!==Object.prototype;){for(const r of Reflect.ownKeys(n))r!=="constructor"&&typeof r!="symbol"&&t.add(r);n=Object.getPrototypeOf(n)}return[...t]}function cv(e){return typeof e=="number"}var Ot;(function(e){e[e.Array=0]="Array",e[e.BigInt=1]="BigInt",e[e.Boolean=2]="Boolean",e[e.Date=3]="Date",e[e.Constructor=4]="Constructor",e[e.Function=5]="Function",e[e.Null=6]="Null",e[e.Number=7]="Number",e[e.Object=8]="Object",e[e.RegExp=9]="RegExp",e[e.String=10]="String",e[e.Symbol=11]="Symbol",e[e.TypeArray=12]="TypeArray",e[e.Undefined=13]="Undefined"})(Ot||(Ot={}));let ys=BigInt("14695981039346656037");const[lv,dv]=[BigInt("1099511628211"),BigInt("18446744073709551616")],uv=Array.from({length:256}).map((e,t)=>BigInt(t)),up=new Float64Array(1),fp=new DataView(up.buffer),pp=new Uint8Array(up.buffer);function kt(e){ys=ys^uv[e],ys=ys*lv%dv}function fv(e){kt(Ot.Array);for(const t of e)gr(t)}function pv(e){kt(Ot.BigInt),fp.setBigInt64(0,e);for(const t of pp)kt(t)}function xu(e){kt(Ot.Boolean),kt(e?1:0)}function mv(e){kt(Ot.Constructor),gr(e.toString())}function hv(e){kt(Ot.Date),gr(e.getTime())}function gv(e){kt(Ot.Function),gr(e.toString())}function bv(e){kt(Ot.Null)}function yu(e){kt(Ot.Number),fp.setFloat64(0,e,!0);for(const t of pp)kt(t)}function kv(e){kt(Ot.Object);for(const t of av(e).sort())gr(t),gr(e[t])}function xv(e){kt(Ot.RegExp),lc(e.toString())}const yv=new TextEncoder;function lc(e){kt(Ot.String);for(const t of yv.encode(e))kt(t)}function wv(e){kt(Ot.Symbol),gr(e.toString())}function vv(e){kt(Ot.TypeArray);const t=new Uint8Array(e.buffer);for(let n=0;n<t.length;n++)kt(t[n])}function Sv(e){return kt(Ot.Undefined)}function gr(e){return wo(e)?vv(e):rp(e)?hv(e):np(e)?xv(e):T0(e)?xu(e.valueOf()):P0(e)?lc(e.valueOf()):A0(e)?yu(e.valueOf()):cv(e)?yu(e):_(e)?fv(e):gt(e)?xu(e):et(e)?pv(e):Vi(e)?mv(e):Gt(e)?bv():ne(e)?kv(e):ae(e)?lc(e):Jc(e)?wv(e):Ne(e)?Sv():xn(e)?gv(e):Nt()}function mp(e){return ys=BigInt("14695981039346656037"),gr(e),ys}function Xi(e){return mp(e).toString(16).padStart(16,"0")}const Iv=Object.freeze(Object.defineProperty({__proto__:null,Hash:Xi,HashCode:mp},Symbol.toStringTag,{value:"Module"}));function jv(e){switch(e.keyword){case"additionalProperties":return"must not have additional properties";case"anyOf":return"must match a schema in anyOf";case"boolean":return"schema is false";case"const":return"must be equal to constant";case"contains":return"must contain at least 1 valid item";case"dependencies":return`must have properties ${e.params.dependencies.join(", ")} when property ${e.params.property} is present`;case"dependentRequired":return`must have properties ${e.params.dependencies.join(", ")} when property ${e.params.property} is present`;case"enum":return"must be equal to one of the allowed values";case"exclusiveMaximum":return`must be ${e.params.comparison} ${e.params.limit}`;case"exclusiveMinimum":return`must be ${e.params.comparison} ${e.params.limit}`;case"format":return`must match format "${e.params.format}"`;case"if":return`must match "${e.params.failingKeyword}" schema`;case"maxItems":return`must not have more than ${e.params.limit} items`;case"maxLength":return`must not have more than ${e.params.limit} characters`;case"maxProperties":return`must not have more than ${e.params.limit} properties`;case"maximum":return`must be ${e.params.comparison} ${e.params.limit}`;case"minItems":return`must not have fewer than ${e.params.limit} items`;case"minLength":return`must not have fewer than ${e.params.limit} characters`;case"minProperties":return`must not have fewer than ${e.params.limit} properties`;case"minimum":return`must be ${e.params.comparison} ${e.params.limit}`;case"multipleOf":return`must be multiple of ${e.params.multipleOf}`;case"not":return"must not be valid";case"oneOf":return"must match exactly one schema in oneOf";case"pattern":return`must match pattern "${e.params.pattern}"`;case"propertyNames":return`property names ${e.params.propertyNames.join(", ")} are invalid`;case"required":return`must have required properties ${e.params.requiredProperties.join(", ")}`;case"type":return typeof e.params.type=="string"?`must be ${e.params.type}`:`must be either ${e.params.type.join(" or ")}`;case"unevaluatedItems":return"must not have unevaluated items";case"unevaluatedProperties":return"must not have unevaluated properties";case"uniqueItems":return"must not have duplicate items";case"~refine":return e.params.message;default:return"an unknown validation error occurred"}}let Cv=jv;function Ev(){return Cv}class hp{constructor(t,n){this.type=t,this.decode=n}Encode(t){const n=this.type,r=Xt(n)?i=>this.decode(n["~codec"].decode(i)):this.decode,s=Xt(n)?i=>n["~codec"].encode(t(i)):t,o={decode:r,encode:s};return fe(this.type,{"~codec":o},{})}}class gp{constructor(t){this.type=t}Decode(t){return new hp(this.type,t)}}function ll(e){return new gp(e)}function Tv(e,t){return ll(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function Av(e,t){return ll(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Xt(e){return Jt(e)&&E(e,"~codec")&&ne(e["~codec"])&&E(e["~codec"],"encode")&&E(e["~codec"],"decode")}function Pv(e){return Yl(e)}function Ni(e){return Jt(e)&&E(e,"~immutable")}function Yn(e,t={}){return je("AddReadonly",[e],t)}function Oi(e,t={}){return sl(e,t)}function Nv(e){return Oi(e)}function Ri(e){return Jt(e)&&E(e,"~readonly")}function Ov(e,t){const n=dl(e)?[...e["~refine"],t]:[t];return fe(e,{"~refine":n},{})}function Rv(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[s,o,()=>"Refine Error"]});return Ov(t,{check:n,error:r})}function $v(e){return ln(e)&&E(e,"check")&&E(e,"error")&&xn(e.check)&&xn(e.error)}function dl(e){return Jt(e)&&E(e,"~refine")&&_(e["~refine"])&&dt(e["~refine"],0,t=>$v(t))}const Mv="-?(?:0|[1-9][0-9]*)n";function ul(e){return be({"~kind":"BigInt"},{type:"bigint"},e)}function Yr(e){return we(e,"BigInt")}function bp(e){return be({"~kind":"Boolean"},{type:"boolean"},e)}function vr(e){return we(e,"Boolean")}function dc(e){return be({"~kind":"Identifier"},{name:e})}function Fv(e){return we(e,"Identifier")}const kp="-?(?:0|[1-9][0-9]*)";function Zi(e){return be({"~kind":"Integer"},{type:"integer"},e)}function $n(e){return we(e,"Integer")}class Lv extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}function Dv(e){return et(e)?"bigint":gt(e)?"boolean":ye(e)?"number":ae(e)?"string":(()=>{throw new Lv(e)})()}function Re(e,t){return be({"~kind":"Literal"},{type:Dv(e),const:e},t)}function xp(e){return et(e)||gt(e)||ye(e)||ae(e)}function _v(e){return Ge(e)&&et(e.const)}function Uv(e){return Ge(e)&>(e.const)}function yp(e){return Ge(e)&&ye(e.const)}function wp(e){return Ge(e)&&ae(e.const)}function Ge(e){return we(e,"Literal")}function fl(e){return be({"~kind":"Null"},{type:"null"},e)}function Eo(e){return we(e,"Null")}const vp="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function br(e){return be({"~kind":"Number"},{type:"number"},e)}function en(e){return we(e,"Number")}function pl(e){return be({"~kind":"Symbol"},{type:"symbol"},e)}function To(e){return we(e,"Symbol")}function Ao(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[s,o,o],1:s=>[s,Ut(),Ut()]});return be({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function Bv(e){return we(e,"Parameter")}const Sp=".*";function Mn(e){return be({"~kind":"String"},{type:"string"},e)}function En(e){return we(e,"String")}function Ke(e,t={}){return be({"~kind":"Union"},{anyOf:e},t)}function ce(e){return we(e,"Union")}function Hv(e){return jn(e,["~kind","anyOf"])}function Ip(e){const t=jE(e);return g(t.length,2)?t[0]:[]}function zv(e){return!0}function jp(e){return ve(e,(t,n)=>qv(t)?jp(n):!1,()=>!0)}function Cp(e){return g(e.length,0)?!1:jp(e)}function qv(e){return ce(e)?Cp(e.anyOf):Ge(e)?zv(e.const):!1}function Ep(e){return Cp(e)}function Tp(e){return be({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}function Ap(e,t,n=[]){return ve(e,(r,s)=>Ap(s,t,[...n,`${r}${t}`]),()=>n)}function Kv(e,t){return g(e.length,0)?[`${t}`]:Ap(e,t)}function Pp(e,t,n=[]){return ve(t,(r,s)=>Pp(e,s,[...n,...Np(e,r)]),()=>n)}function Np(e,t){return ce(t)?Pp(e,t.anyOf):Ge(t)?Kv(e,t.const):Nt()}function Op(e,t){return ve(t,(n,r)=>Op(Np(e,n),r),()=>e)}function Gv(e){return e.map(t=>Re(t))}function Wv(e){const t=Op([],e),n=Gv(t);return Ke(n)}function Vv(e){return g(e.length,0)?Nt():g(e.length,1)&&Ge(e[0])?e[0]:Wv(e)}function Rp(e){const t=Ip(e);return g(t.length,0)?Mn():Ep(t)?Vv(t):Tp(e)}function ml(e){const t=Rp(e);return zt(t)?Mn():t}function kr(e,t){const n="object",r={[e]:t};return be({"~kind":"Record"},{type:n,patternProperties:r})}function Jv(e){return kr(qr,e)}function Qv(e){return Ae({true:e,false:e})}function mn(e,t={}){const[n,r,s]=[e,e.length,!1];return be({"~kind":"Tuple"},{type:"array",additionalItems:s,items:n,minItems:r},t)}function rt(e){return we(e,"Tuple")}function Yv(e){return jn(e,["~kind","type","items","minItems","additionalItems"])}function Xv(e){return jn(e,["~readonly"])}function $p(e,t){return fe(Xv(e),{},t)}function Zv(e,t,n,r){const s=q(e,t,n);return $p(s,r)}function eS(e,t={}){return je("RemoveReadonly",[e],t)}function tS(e,t={}){return $p(e,t)}function nS(e){return jn(e,["~optional"])}function Mp(e,t){return fe(nS(e),{},t)}function rS(e,t,n,r){const s=q(e,t,n);return Mp(s,r)}function sS(e,t={}){return je("RemoveOptional",[e],t)}function Fp(e,t={}){return Mp(e,t)}function Lp(e){return e.reduceRight((n,r,s)=>({[s]:r,...n}),{})}function oS(e){const t=Lp(e.items);return Ae(t)}function iS(e,t){return Ri(e)?!!Ri(t):!1}function aS(e,t){return Qt(e)?!!Qt(t):!1}function cS(e,t){const n=iS(e,t),r=aS(e,t),s=tn([e,t]),o=tS(Fp(s));return n&&r?Oi(Ai(o)):n&&!r?Oi(o):!n&&r?Ai(o):o}function lS(e,t,n){return n in e?n in t?cS(e[n],t[n]):e[n]:n in t?t[n]:Ct()}function dS(e,t){return[...new Set([...M(t),...M(e)])].reduce((r,s)=>({...r,[s]:lS(e,t,s)}),{})}function wu(e){return _e(e)?e.properties:rt(e)?Lp(e.items):Nt()}function uS(e,t){const n=wu(e),r=wu(t),s=dS(n,r);return Ae(s)}function fS(e,t){const n=la(e,t);return g(n,Dl)?e:g(n,_l)||g(n,Ll)?t:Ct()}function vu(e){return _e(e)||rt(e)}function pS(e,t){const n=ce(e),r=ce(t);return n||r}function mS(e,t){const n=zr(e),r=zr(t),s=pS(n,r),o=vu(n),i=vu(r);return s?tn([n,r]):o&&i?uS(n,r):o&&!i?n:!o&&i?r:fS(n,r)}function Dp(e,t,n=[]){return ve(t,(r,s)=>Dp(e,s,[...n,mS(e,r)]),()=>g(n.length,0)?[e]:n)}function _p(e,t,n=[]){return ve(e,(r,s)=>_p(s,t,[...n,...$i([r],t)]),()=>n)}function $i(e,t=[]){return ve(e,(n,r)=>ce(n)?$i(r,_p(n.anyOf,t)):$i(r,Dp(n,t)),()=>t)}function hS(e,t){const n=Xn({},e,t);return qt(n)?[]:[e]}function gS(e,t){return e.reduce((n,r)=>[...n,...hS(r,t)],[])}function Up(e,t){const n=zr(e),r=ce(n)?n.anyOf:[n],s=gS(r,t);return tr(s)}function Ns(e,t,n){const r=On([e,t]),s=Up(n,e);return tr([r,s])}function Sr(e){const t=e.map(n=>Re(n));return tr(t)}function tn(e){const t=$i(e),n=sh(t);return Os(n)}function er(e){const t=ml(e);return zr(t)}function tr(e){const t=sh(e);return Os(t)}function zr(e){return fn(e)?Ns(e.if,e.then,e.else):pn(e)?Sr(e.enum):Ue(e)?tn(e.allOf):zt(e)?er(e.pattern):ce(e)?tr(e.anyOf):e}function Os(e){return g(e.length,1)?e[0]:g(e.length,0)?Ct():Ke(e)}function bS(e,t){const n=Sr(e);return ta(n,t)}function kS(e,t){return kr(Po,t)}function xS(e,t){const n=tn(e);return ta(n,t)}function yS(e,t){return ae(e)||ye(e)?Ae({[e]:t}):g(e,!1)?Ae({false:t}):g(e,!0)?Ae({true:t}):Ae({})}function wS(e,t){return kr(na,t)}function vS(e,t){return E(e,"pattern")&&(ae(e.pattern)||e.pattern instanceof RegExp)?kr(e.pattern.toString(),t):kr(qr,t)}function SS(e,t){const n=Ip(e);return Ep(n)?ta(er(e),t):kr(e,t)}function IS(e){return ce(e)?ea(e.anyOf):[e]}function ea(e){return e.reduce((t,n)=>[...t,...IS(n)],[])}function jS(e){return e.some(t=>En(t)||en(t)||$n(t))}function CS(e,t){return g(jS(e),!0)?kr(qr,t):void 0}function ES(e,t){return e.reduce((n,r)=>Ge(r)&&(ae(r.const)||ye(r.const))?{...n,[r.const]:t}:n,{})}function TS(e,t){const n=ES(e,t);return Ae(n)}function AS(e,t){const n=ea(e),r=CS(n,t);return Jt(r)?r:TS(n,t)}function ta(e,t){return Cn(e)?Jv(t):vr(e)?Qv(t):pn(e)?bS(e.enum,t):$n(e)?kS(e,t):Ue(e)?xS(e.allOf,t):Ge(e)?yS(e.const,t):en(e)?wS(e,t):ce(e)?AS(e.anyOf,t):En(e)?vS(e,t):zt(e)?SS(e.pattern,t):Ae({})}function Bp(e,t,n){return Je([e])?fe(ta(e,t),{},n):Hp(e,t,n)}function PS(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return Bp(o,i,s)}const Po=`^${kp}$`,na=`^${vp}$`,qr=`^${Sp}$`;function Hp(e,t,n={}){return je("Record",[e,t],n)}function hl(e,t,n={}){return Bp(e,t,n)}function NS(e,t){return kr(e,t)}function uc(e){return g(e,qr)?Mn():g(e,Po)?Zi():g(e,na)?br():Rp(e)}function hn(e){return M(e.patternProperties)[0]}function ra(e){const t=hn(e);return uc(t)}function Ht(e){return e.patternProperties[hn(e)]}function Et(e){return we(e,"Record")}function sa(e){return be({"~kind":"Rest"},{type:"rest",items:e},{})}function oa(e){return we(e,"Rest")}function zp(e){return be({"~kind":"This"},{$ref:"#"},e)}function qp(e){return we(e,"This")}function gl(e){return be({"~kind":"Undefined"},{type:"undefined"},e)}function Rs(e){return we(e,"Undefined")}function Kp(e){return be({"~kind":"Void"},{type:"void"},e)}function Xr(e){return we(e,"Void")}function OS(e,t){return g(e,"Array")?wr(t[0]):g(e,"Capitalize")?lh(t[0]):g(e,"ConstructorParameters")?xh(t[0]):g(e,"Evaluate")?jN(t[0]):g(e,"Exclude")?wh(t[0],t[1]):g(e,"Extract")?vh(t[0],t[1]):g(e,"Index")?ql(t[0],t[1]):g(e,"InstanceType")?Ah(t[0]):g(e,"Lowercase")?dh(t[0]):g(e,"NonNullable")?$h(t[0]):g(e,"Omit")?Fh(t[0],t[1]):g(e,"Parameters")?_h(t[0]):g(e,"Partial")?Bh(t[0]):g(e,"Pick")?zh(t[0],t[1]):g(e,"Readonly")?Kh(t[0]):g(e,"KeyOf")?Vl(t[0]):g(e,"Record")?Hp(t[0],t[1]):g(e,"Required")?Vh(t[0]):g(e,"ReturnType")?Qh(t[0]):g(e,"Uncapitalize")?uh(t[0]):g(e,"Uppercase")?fh(t[0]):wc(an(e),t)}function Zr(){throw Error("Unreachable")}function Gp(e,t=[]){return ve(e,(n,r)=>Gp(r,[...t,n[1]]),()=>t)}function nr(e){return g(e.length,3)?[e[0],...Gp(e[1])]:[]}function RS(e){return Ao(e[0],e[2],e[4])}function $S(e){return Ao(e[0],e[2],e[2])}function MS(e){return Ao(e[0],Ut(),e[2])}function FS(e){return Ao(e,Ut(),Ut())}function LS(e){return nr(e)}function DS(e){return e[1]}function _S(e){return nr(e)}function US(e){return e[1]}function BS(e){return OS(e[0],e[1])}function HS(e){return null}function zS(e){return Mn()}function qS(e){return br()}function KS(e){return bp()}function GS(e){return gl()}function WS(e){return fl()}function VS(e){return Zi()}function JS(e){return ul()}function QS(e){return Ut()}function YS(e){return cl()}function XS(e){return Ae({})}function ZS(e){return Ct()}function eI(e){return pl()}function tI(e){return Kp()}function nI(e){return zp()}function rI(e){return Re(BigInt(e))}function sI(e){return Re(g(e,"true"))}function oI(e){return Re(parseFloat(e))}function iI(e){return Re(e)}function aI(e){return e[1]}function cI(e){return Re(e)}function lI(e){return g(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function dI(e){return e[1]}function uI(e){return zm(e)}function fI(e){return g(e.length,6)?Pi(e[1],e[3],e[5]):Pi(e[1],e[3],Ut())}function pI(e){return e.length>0}function mI(e){return e.reduce((t,n)=>g(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function hI(e){return g(e.length,6)?[e[1],e[3],e[5]]:[]}function gI(e){return _(e)&&g(e.length,3)?e[1]:e}function bI(e){return g(e.length,2)?e[1]:[]}function Su(e,t){return t.reduce((n,r)=>{const s=r;return g(s.length,1)?ql(n,s[0]):g(s.length,0)?wr(n):Zr()},e)}function Iu(e,t){return g(t.length,3)?bh(e,t[0],t[1],t[2]):e}function kI(e,t){return _(t)&&g(t.length,0)?e:Xh(e,t)}function xI(e){const[t,n,r,s,o]=e;return kI(Iu(t?Vl(Su(n,r)):Su(n,r),s),o)}function bl(e,t){return g(t.length,3)?(()=>{const[n,r,s]=t,o=bl(r,s);if(g(n,"&"))return Ue(o)?On([e,...o.allOf]):On([e,o]);if(g(n,"|"))return ce(o)?Ke([e,...o.anyOf]):Ke([e,o]);Zr()})():e}function yI(e){const[t,n]=e;return bl(t,n)}function wI(e){const[t,n]=e;return bl(t,n)}function vI(e){return IN(e[1])}function SI(e){return e[1]}function II(e){return jo(e[0],e[2])}function jI(e){return g(e.length,4)?cc(e[1],e[3]):g(e.length,2)?cc(e[1],Ut()):Zr()}function CI(e){return`${e}`}function EI(e){return $n(e[3])?Po:en(e[3])?na:To(e[3])||En(e[3])?qr:Zr()}function TI(e){return e.length>0}function AI(e){return e.length>0}function PI(e){const[t,n,r,s,o]=e;return{[n]:t&&r?Yn(Qn(o)):t&&!r?Yn(o):!t&&r?Qn(o):o}}function NI(e){return nr(e)}function Wp(e){return e.reduce((t,n)=>E(n,Po)||E(n,na)||E(n,qr)?[t[0],ht(t[1],n)]:[ht(t[0],n),t[1]],[{},{}])}function OI(e){return Wp(e[1])}function RI(e){const[t,n]=e,r=g(M(n).length,0)?{}:{patternProperties:n};return Ae(t,r)}function $I(e){return g(e.length,5)?Yn(Qn(e[4])):g(e.length,3)?e[2]:g(e.length,4)?g(e[2],"readonly")?Yn(e[3]):Qn(e[3]):Zr()}function MI(e){if(!_(e)||!g(e.length,3))return e;const[t,n,r]=e;return t&&r?Yn(Qn(n)):t&&!r?Yn(n):!t&&r?Qn(n):n}function FI(e){return g(e.length,2)?sa(e[1]):g(e.length,1)?e[0]:Zr()}function LI(e){return nr(e)}function DI(e){return mn(e[1])}function _I(e){return Yn(Qn(e[4]))}function UI(e){return Yn(e[3])}function BI(e){return Qn(e[3])}function HI(e){return e[2]}function zI(e){return g(e.length,2)?sa(e[1]):g(e.length,1)?e[0]:Zr()}function qI(e){return nr(e)}function KI(e){return Io(e[1],e[4])}function GI(e){return So(e[2],e[5])}function ju(e,t){return g(e,"remove")?eS(t):g(e,"add")?Yn(t):t}function WI(e){return g(e.length,2)&&g(e[0],"-")?"remove":g(e.length,2)&&g(e[0],"+")||g(e.length,1)?"add":"none"}function Cu(e,t){return g(e,"remove")?sS(t):g(e,"add")?Qn(t):t}function VI(e){return g(e.length,2)&&g(e[0],"-")?"remove":g(e.length,2)&&g(e[0],"+")||g(e.length,1)?"add":"none"}function JI(e){return g(e.length,2)?[e[1]]:[]}function QI(e){return _(e[6])&&g(e[6].length,1)?vc(dc(e[3]),e[5],e[6][0],ju(e[1],Cu(e[8],e[10]))):vc(dc(e[3]),e[5],an(e[3]),ju(e[1],Cu(e[8],e[10])))}function YI(e){return an(e)}function XI(e){return BigInt(e)}function ZI(e){return parseFloat(e)}function ej(e){return g(e,"true")}function tj(e){return null}function nj(e){return{[e[0]]:e[2]}}function rj(e){return nr(e)}function sj(e){return e.reduce((t,n)=>ht(t,n),{})}function oj(e){return sj(e[1])}function ij(e){return nr(e)}function aj(e){return e[1]}function cj(e){return ul()}function lj(e){return Mn()}function dj(e){return br()}function uj(e){return Zi()}function fj(e){return Ct()}function pj(e){return Re(e)}function mj(e){return Ke(e[1])}function hj(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function gj(e){return[e[0],...e[1]]}function bj(e){return e[1]}function kj(e){return nr(e)}function xj(e){return g(e.length,2)?e[1]:[]}function yj(e){const t=e[2],n=e[3],[r,s]=e[4],o=g(M(s).length,0)?{}:{patternProperties:s};return{[e[1]]:jo(t,Ml(n,r,o))}}function wj(e){const t=e[2],[n,r]=e[3],s=g(M(r).length,0)?{}:{patternProperties:r};return{[e[1]]:Ml(t,n,s)}}function vj(e){return{[e[1]]:jo(e[2],e[4])}}function Sj(e){return{[e[1]]:e[3]}}function Ij(e){return null}function jj(e){return nr(e)}function Cj(e){return e[1]}function Ej(e){const[t,n]=[e[0],e[1]];return CN(ht(t,Wp(n)[0]))}function kl(e){return g(e.length,2)}function Oe(e,t,n){return kl(e)?t(e[0],e[1]):n()}function Tj(e,t){return g(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Rt(e,t){for(let n=0;n<e.length;n++){const r=Tj(e[n],t);if(kl(r))return r}return[]}function fc(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}const Aj=[...fc(97,122),...fc(65,90)],Vp="0",Jp=fc(49,57),xl=[Vp,...Jp],Pj=" ",yl=`
|
|
3
3
|
`,No="_",wl=".",Nj="$",Qp="-",Yp="//",Xp="/*",Oj="*/";function Zp(e){const t=e.indexOf(Oj);return g(t,-1)?"":e.slice(t+2)}function em(e){const t=e.indexOf(yl);return g(t,-1)?"":e.slice(t)}function Rj(e){return e.replace(/^[ \t\r\f\v]+/,"")}function pc(e){const t=Rj(e);return t.startsWith(Xp)?pc(Zp(t.slice(2))):t.startsWith(Yp)?pc(em(t.slice(2))):t}function wn(e){const t=e.trimStart();return t.startsWith(Xp)?wn(Zp(t.slice(2))):t.startsWith(Yp)?wn(em(t.slice(2))):t}function tm(e,t){return Oe(Rt([e],t),(n,r)=>[n,r],()=>["",t])}function $j(e,t){return e.includes(t)}function Mi(e,t,n,r=""){return Oe(Rt(e,n),(s,o)=>$j(t,s)?Mi(e,t,o,r):Mi(e,t,o,`${r}${s}`),()=>[r,n])}function Mj(e){return Rt(Jp,e)}const Fj=[...xl,No];function Lj(e){return Mi(Fj,[No],e)}function Dj(e){return Oe(Rt([Vp],e),(t,n)=>[t,n],()=>Oe(Mj(e),(t,n)=>Oe(Lj(n),(r,s)=>[`${t}${r}`,s],()=>[]),()=>[]))}function nm(e){return Dj(wn(e))}function _j(e){return tm(Qp,e)}function Uj(e){return Oe(_j(e),(t,n)=>Oe(nm(n),(r,s)=>[`${t}${r}`,s],()=>[]),()=>[])}function Bj(e){return Uj(wn(e))}function Hj(e){return Oe(Bj(e),(t,n)=>Oe(Rt(["n"],n),(r,s)=>[`${t}`,s],()=>[]),()=>[])}function rm(e){return Hj(e)}function qa(e,t){return Rt([e],t)}function S(e,t){return g(e,"")?["",t]:e.startsWith(yl)?qa(e,pc(t)):e.startsWith(Pj)?qa(e,t):qa(e,wn(t))}const sm=[...Aj,No,Nj];function zj(e){return Rt(sm,e)}const qj=[...sm,...xl];function om(e,t=""){return Oe(Rt(qj,e),(n,r)=>om(r,`${t}${n}`),()=>[t,e])}function Kj(e){return Oe(zj(e),(t,n)=>Oe(om(n),(r,s)=>[`${t}${r}`,s],()=>[]),()=>[])}function Ze(e){return Kj(wn(e))}const Gj=[...xl,No];function Wj(e){return kl(Rt([wl],e))}function im(e){return Oe(Mi(Gj,[No],e),(t,n)=>g(t,"")?[]:[t,n],()=>[])}function Vj(e){return Oe(Rt([wl],e),(t,n)=>Oe(im(n),(r,s)=>[`0${t}${r}`,s],()=>[]),()=>[])}function Jj(e){return Oe(nm(e),(t,n)=>Oe(Rt([wl],n),(r,s)=>Oe(im(s),(o,i)=>[`${t}${r}${o}`,i],()=>[`${t}`,s]),()=>[`${t}`,n]),()=>[])}function Qj(e){return Wj(e)?Vj(e):Jj(e)}function Yj(e){return Qj(wn(e))}function Xj(e){return tm(Qp,e)}function Zj(e){return Oe(Xj(e),(t,n)=>Oe(Yj(n),(r,s)=>[`${t}${r}`,s],()=>[]),()=>[])}function vl(e){return Zj(wn(e))}function eC(e){return g(e,"")?[]:[e.slice(0,1),e.slice(1)]}function am(e,t){return ve(e,(n,r)=>t.startsWith(n)?!0:am(r,t),()=>!1)}function Oo(e,t,n=""){return Oe(eC(t),(r,s)=>am(e,t)?[n,t]:Oo(e,s,`${n}${r}`),()=>[])}function tC(e,t,n){return Oe(Rt([e],n),(r,s)=>Oe(Oo([t],s),(o,i)=>Oe(Rt([t],i),(u,p)=>[`${o}`,p],()=>[]),()=>[]),()=>[])}function nC(e,t,n){return Oe(Rt([e],n),(r,s)=>Oe(Oo([yl,t],s),(o,i)=>Oe(Rt([t],i),(u,p)=>[`${o}`,p],()=>[]),()=>[]),()=>[])}function rC(e,t,n,r){return n?tC(e,t,wn(r)):nC(e,t,wn(r))}function sC(e,t){return Rt(e,t)}function oC(e,t){return rC(e,e,!1,t)}function iC(e,t){return Oe(sC(e,t),(n,r)=>oC(n,`${n}${r}`),()=>[])}function Sl(e,t){return iC(e,wn(t))}function aC(e,t){return Oe(Oo(e,t),(n,r)=>g(n,"")?[]:[n,r],()=>[])}const c=(e,t,n=()=>[])=>e.length===2?t(e):n(),cC=e=>c(c(Ze(e),([t,n])=>c(S("extends",n),([r,s])=>c(ge(s),([o,i])=>c(S("=",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[RS(t),n]),lC=e=>c(c(Ze(e),([t,n])=>c(S("extends",n),([r,s])=>c(ge(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[$S(t),n]),dC=e=>c(c(Ze(e),([t,n])=>c(S("=",n),([r,s])=>c(ge(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[MS(t),n]),uC=e=>c(Ze(e),([t,n])=>[FS(t),n]),cm=e=>c(c(cC(e),([t,n])=>[t,n],()=>c(lC(e),([t,n])=>[t,n],()=>c(dC(e),([t,n])=>[t,n],()=>c(uC(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),lm=(e,t=[])=>c(c(S(",",e),([n,r])=>c(cm(r),([s,o])=>[[n,s],o])),([n,r])=>lm(r,[...t,n]),()=>[t,e]),fC=e=>c(c(c(cm(e),([t,n])=>c(lm(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[LS(t),n]),Il=e=>c(c(S("<",e),([t,n])=>c(fC(n),([r,s])=>c(S(">",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[DS(t),n]),dm=(e,t=[])=>c(c(S(",",e),([n,r])=>c(ge(r),([s,o])=>[[n,s],o])),([n,r])=>dm(r,[...t,n]),()=>[t,e]),pC=e=>c(c(c(ge(e),([t,n])=>c(dm(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[_S(t),n]),mC=e=>c(c(S("<",e),([t,n])=>c(pC(n),([r,s])=>c(S(">",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[US(t),n]),hC=e=>c(c(Ze(e),([t,n])=>c(mC(n),([r,s])=>[[t,r],s])),([t,n])=>[BS(t),n]),um=e=>c(c(c(S(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[HS(),n]),fm=e=>c(S("string",e),([t,n])=>[zS(),n]),pm=e=>c(S("number",e),([t,n])=>[qS(),n]),gC=e=>c(S("boolean",e),([t,n])=>[KS(),n]),bC=e=>c(S("undefined",e),([t,n])=>[GS(),n]),kC=e=>c(S("null",e),([t,n])=>[WS(),n]),mm=e=>c(S("integer",e),([t,n])=>[VS(),n]),xC=e=>c(S("bigint",e),([t,n])=>[JS(),n]),yC=e=>c(S("unknown",e),([t,n])=>[QS(),n]),wC=e=>c(S("any",e),([t,n])=>[YS(),n]),vC=e=>c(S("object",e),([t,n])=>[XS(),n]),SC=e=>c(S("never",e),([t,n])=>[ZS(),n]),hm=e=>c(S("symbol",e),([t,n])=>[eI(),n]),IC=e=>c(S("void",e),([t,n])=>[tI(),n]),jC=e=>c(S("this",e),([t,n])=>[nI(),n]),CC=e=>c(c(S("${",e),([t,n])=>c(ge(n),([r,s])=>c(S("}",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[aI(t),n]),Ka=e=>c(Oo(["${","`"],e),([t,n])=>[cI(t),n]),gm=e=>c(c(c(Ka(e),([t,n])=>c(CC(n),([r,s])=>c(gm(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c(c(Ka(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c(c(Ka(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[lI(t),n]),bm=e=>c(c(S("`",e),([t,n])=>c(gm(n),([r,s])=>c(S("`",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[dI(t),n]),EC=e=>c(bm(e),([t,n])=>[uI(t),n]),TC=e=>c(c(c(S("if",e),([t,n])=>c(ge(n),([r,s])=>c(S("then",s),([o,i])=>c(ge(i),([u,p])=>c(S("else",p),([d,f])=>c(ge(f),([m,h])=>[[t,r,o,u,d,m],h])))))),([t,n])=>[t,n],()=>c(c(S("if",e),([t,n])=>c(ge(n),([r,s])=>c(S("then",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[t,n],()=>[])),([t,n])=>[fI(t),n]),AC=e=>c(rm(e),([t,n])=>[rI(t),n]),PC=e=>c(c(S("true",e),([t,n])=>[t,n],()=>c(S("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[sI(t),n]),NC=e=>c(vl(e),([t,n])=>[oI(t),n]),OC=e=>c(Sl(["'",'"'],e),([t,n])=>[iI(t),n]),RC=e=>c(c(c(S("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[pI(t),n]),km=(e,t=[])=>c(c(c(S("[",e),([n,r])=>c(ge(r),([s,o])=>c(S("]",o),([i,u])=>[[n,s,i],u]))),([n,r])=>[n,r],()=>c(c(S("[",e),([n,r])=>c(S("]",r),([s,o])=>[[n,s],o])),([n,r])=>[n,r],()=>[])),([n,r])=>km(r,[...t,n]),()=>[t,e]),$C=e=>c(km(e),([t,n])=>[mI(t),n]),MC=e=>c(c(c(S("extends",e),([t,n])=>c(ge(n),([r,s])=>c(S("?",s),([o,i])=>c(ge(i),([u,p])=>c(S(":",p),([d,f])=>c(ge(f),([m,h])=>[[t,r,o,u,d,m],h])))))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[hI(t),n]),FC=e=>c(c(c(S("(",e),([t,n])=>c(ge(n),([r,s])=>c(S(")",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c(fm(e),([t,n])=>[t,n],()=>c(pm(e),([t,n])=>[t,n],()=>c(gC(e),([t,n])=>[t,n],()=>c(bC(e),([t,n])=>[t,n],()=>c(kC(e),([t,n])=>[t,n],()=>c(mm(e),([t,n])=>[t,n],()=>c(xC(e),([t,n])=>[t,n],()=>c(yC(e),([t,n])=>[t,n],()=>c(wC(e),([t,n])=>[t,n],()=>c(vC(e),([t,n])=>[t,n],()=>c(SC(e),([t,n])=>[t,n],()=>c(hm(e),([t,n])=>[t,n],()=>c(IC(e),([t,n])=>[t,n],()=>c(jC(e),([t,n])=>[t,n],()=>c(AC(e),([t,n])=>[t,n],()=>c(PC(e),([t,n])=>[t,n],()=>c(NC(e),([t,n])=>[t,n],()=>c(OC(e),([t,n])=>[t,n],()=>c(EC(e),([t,n])=>[t,n],()=>c(TC(e),([t,n])=>[t,n],()=>c(WC(e),([t,n])=>[t,n],()=>c(QC(e),([t,n])=>[t,n],()=>c(nE(e),([t,n])=>[t,n],()=>c(tE(e),([t,n])=>[t,n],()=>c(iE(e),([t,n])=>[t,n],()=>c(hC(e),([t,n])=>[t,n],()=>c(aE(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[gI(t),n]),LC=e=>c(c(c(S("with",e),([t,n])=>c(Mm(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[bI(t),n]),xm=e=>c(c(RC(e),([t,n])=>c(FC(n),([r,s])=>c($C(s),([o,i])=>c(MC(i),([u,p])=>c(LC(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[xI(t),n]),ym=e=>c(c(c(S("&",e),([t,n])=>c(xm(n),([r,s])=>c(ym(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),wm=e=>c(c(xm(e),([t,n])=>c(ym(n),([r,s])=>[[t,r],s])),([t,n])=>[yI(t),n]),vm=e=>c(c(c(S("|",e),([t,n])=>c(wm(n),([r,s])=>c(vm(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),ia=e=>c(c(wm(e),([t,n])=>c(vm(n),([r,s])=>[[t,r],s])),([t,n])=>[wI(t),n]),DC=e=>c(c(S("readonly",e),([t,n])=>c(ia(n),([r,s])=>[[t,r],s])),([t,n])=>[vI(t),n]),_C=e=>c(c(S("|",e),([t,n])=>c(ia(n),([r,s])=>[[t,r],s])),([t,n])=>[SI(t),n]),UC=e=>c(c(Il(e),([t,n])=>c(S("=",n),([r,s])=>c(ge(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[II(t),n]),BC=e=>c(c(c(S("infer",e),([t,n])=>c(Ze(n),([r,s])=>c(S("extends",s),([o,i])=>c(ia(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[t,n],()=>c(c(S("infer",e),([t,n])=>c(Ze(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>[])),([t,n])=>[jI(t),n]),ge=e=>c(c(BC(e),([t,n])=>[t,n],()=>c(_C(e),([t,n])=>[t,n],()=>c(DC(e),([t,n])=>[t,n],()=>c(ia(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),HC=e=>c(vl(e),([t,n])=>[CI(t),n]),zC=e=>c(Ze(e),([t,n])=>[t,n]),qC=e=>c(Sl(["'",'"'],e),([t,n])=>[t,n]),KC=e=>c(c(S("[",e),([t,n])=>c(Ze(n),([r,s])=>c(S(":",s),([o,i])=>c(c(mm(i),([u,p])=>[u,p],()=>c(pm(i),([u,p])=>[u,p],()=>c(fm(i),([u,p])=>[u,p],()=>c(hm(i),([u,p])=>[u,p],()=>[])))),([u,p])=>c(S("]",p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[EI(t),n]),Sm=e=>c(c(HC(e),([t,n])=>[t,n],()=>c(zC(e),([t,n])=>[t,n],()=>c(qC(e),([t,n])=>[t,n],()=>c(KC(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Im=e=>c(c(c(S("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[TI(t),n]),jm=e=>c(c(c(S("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[AI(t),n]),Cm=e=>c(c(Im(e),([t,n])=>c(Sm(n),([r,s])=>c(jm(s),([o,i])=>c(S(":",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[PI(t),n]),aa=e=>c(c(c(S(",",e),([t,n])=>c(S(`
|
|
4
4
|
`,n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S(";",e),([t,n])=>c(S(`
|
|
@@ -6,6 +6,6 @@ import{r as w,j as a,c as eo,d as Cy}from"./vendor-react-DG5dkZ_t.js";import{S a
|
|
|
6
6
|
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),Em=(e,t=[])=>c(c(aa(e),([n,r])=>c(Cm(r),([s,o])=>[[n,s],o])),([n,r])=>Em(r,[...t,n]),()=>[t,e]),GC=e=>c(c(c(Cm(e),([t,n])=>c(Em(n),([r,s])=>c(c(aa(s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[NI(t),n]),jl=e=>c(c(S("{",e),([t,n])=>c(GC(n),([r,s])=>c(S("}",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[OI(t),n]),WC=e=>c(jl(e),([t,n])=>[RI(t),n]),VC=e=>c(c(c(Ze(e),([t,n])=>c(S("?",n),([r,s])=>c(S(":",s),([o,i])=>c(S("readonly",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[t,n],()=>c(c(Ze(e),([t,n])=>c(S(":",n),([r,s])=>c(S("readonly",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[t,n],()=>c(c(Ze(e),([t,n])=>c(S("?",n),([r,s])=>c(S(":",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[t,n],()=>c(c(Ze(e),([t,n])=>c(S(":",n),([r,s])=>c(ge(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[$I(t),n]),Eu=e=>c(c(VC(e),([t,n])=>[t,n],()=>c(c(Im(e),([t,n])=>c(ge(n),([r,s])=>c(jm(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>[])),([t,n])=>[MI(t),n]),Tm=e=>c(c(c(S("...",e),([t,n])=>c(Eu(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(Eu(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[FI(t),n]),Am=(e,t=[])=>c(c(S(",",e),([n,r])=>c(Tm(r),([s,o])=>[[n,s],o])),([n,r])=>Am(r,[...t,n]),()=>[t,e]),JC=e=>c(c(c(Tm(e),([t,n])=>c(Am(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[LI(t),n]),QC=e=>c(c(S("[",e),([t,n])=>c(JC(n),([r,s])=>c(S("]",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[DI(t),n]),YC=e=>c(c(Ze(e),([t,n])=>c(S("?",n),([r,s])=>c(S(":",s),([o,i])=>c(S("readonly",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[_I(t),n]),XC=e=>c(c(Ze(e),([t,n])=>c(S(":",n),([r,s])=>c(S("readonly",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[UI(t),n]),ZC=e=>c(c(Ze(e),([t,n])=>c(S("?",n),([r,s])=>c(S(":",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[BI(t),n]),eE=e=>c(c(Ze(e),([t,n])=>c(S(":",n),([r,s])=>c(ge(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[HI(t),n]),Tu=e=>c(c(YC(e),([t,n])=>[t,n],()=>c(XC(e),([t,n])=>[t,n],()=>c(ZC(e),([t,n])=>[t,n],()=>c(eE(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Pm=e=>c(c(c(S("...",e),([t,n])=>c(Tu(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(Tu(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[zI(t),n]),Nm=(e,t=[])=>c(c(S(",",e),([n,r])=>c(Pm(r),([s,o])=>[[n,s],o])),([n,r])=>Nm(r,[...t,n]),()=>[t,e]),Om=e=>c(c(c(Pm(e),([t,n])=>c(Nm(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[qI(t),n]),tE=e=>c(c(S("(",e),([t,n])=>c(Om(n),([r,s])=>c(S(")",s),([o,i])=>c(S("=>",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[KI(t),n]),nE=e=>c(c(S("new",e),([t,n])=>c(S("(",n),([r,s])=>c(Om(s),([o,i])=>c(S(")",i),([u,p])=>c(S("=>",p),([d,f])=>c(ge(f),([m,h])=>[[t,r,o,u,d,m],h])))))),([t,n])=>[GI(t),n]),rE=e=>c(c(c(S("+",e),([t,n])=>c(S("readonly",n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S("-",e),([t,n])=>c(S("readonly",n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[WI(t),n]),sE=e=>c(c(c(S("+",e),([t,n])=>c(S("?",n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S("-",e),([t,n])=>c(S("?",n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[VI(t),n]),oE=e=>c(c(c(S("as",e),([t,n])=>c(ge(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[JI(t),n]),iE=e=>c(c(S("{",e),([t,n])=>c(rE(n),([r,s])=>c(S("[",s),([o,i])=>c(Ze(i),([u,p])=>c(S("in",p),([d,f])=>c(ge(f),([m,h])=>c(oE(h),([k,x])=>c(S("]",x),([C,T])=>c(sE(T),([b,A])=>c(S(":",A),([N,R])=>c(ge(R),([V,j])=>c(um(j),([I,O])=>c(S("}",O),([B,Z])=>[[t,r,o,u,d,m,k,C,b,N,V,I,B],Z]))))))))))))),([t,n])=>[QI(t),n]),aE=e=>c(Ze(e),([t,n])=>[YI(t),n]),cE=e=>c(rm(e),([t,n])=>[XI(t),n]),lE=e=>c(vl(e),([t,n])=>[ZI(t),n]),dE=e=>c(c(S("true",e),([t,n])=>[t,n],()=>c(S("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[ej(t),n]),uE=e=>c(Sl(['"',"'"],e),([t,n])=>[t,n]),fE=e=>c(S("null",e),([t,n])=>[tj(),n]),pE=e=>c(S("undefined",e),([t,n])=>[void 0,n]),Rm=e=>c(c(Sm(e),([t,n])=>c(S(":",n),([r,s])=>c(Cl(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[nj(t),n]),$m=(e,t=[])=>c(c(aa(e),([n,r])=>c(Rm(r),([s,o])=>[[n,s],o])),([n,r])=>$m(r,[...t,n]),()=>[t,e]),mE=e=>c(c(c(Rm(e),([t,n])=>c($m(n),([r,s])=>c(c(aa(s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[rj(t),n]),Mm=e=>c(c(S("{",e),([t,n])=>c(mE(n),([r,s])=>c(S("}",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[oj(t),n]),Fm=(e,t=[])=>c(c(S(",",e),([n,r])=>c(Cl(r),([s,o])=>[[n,s],o])),([n,r])=>Fm(r,[...t,n]),()=>[t,e]),hE=e=>c(c(c(Cl(e),([t,n])=>c(Fm(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ij(t),n]),gE=e=>c(c(S("[",e),([t,n])=>c(hE(n),([r,s])=>c(S("]",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[aj(t),n]),Cl=e=>c(c(cE(e),([t,n])=>[t,n],()=>c(lE(e),([t,n])=>[t,n],()=>c(dE(e),([t,n])=>[t,n],()=>c(uE(e),([t,n])=>[t,n],()=>c(fE(e),([t,n])=>[t,n],()=>c(pE(e),([t,n])=>[t,n],()=>c(Mm(e),([t,n])=>[t,n],()=>c(gE(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),bE=e=>c(S("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[cj(),n]),kE=e=>c(S(".*",e),([t,n])=>[lj(),n]),xE=e=>c(S("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[dj(),n]),yE=e=>c(S("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[uj(),n]),wE=e=>c(S("(?!)",e),([t,n])=>[fj(),n]),vE=e=>c(aC(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[pj(t),n]),SE=e=>c(c(bE(e),([t,n])=>[t,n],()=>c(kE(e),([t,n])=>[t,n],()=>c(xE(e),([t,n])=>[t,n],()=>c(yE(e),([t,n])=>[t,n],()=>c(wE(e),([t,n])=>[t,n],()=>c(IE(e),([t,n])=>[t,n],()=>c(vE(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),IE=e=>c(c(S("(",e),([t,n])=>c(El(n),([r,s])=>c(S(")",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[mj(t),n]),Lm=e=>c(c(c(mc(e),([t,n])=>c(S("|",n),([r,s])=>c(Lm(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c(c(mc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[hj(t),n]),mc=e=>c(c(SE(e),([t,n])=>c(El(n),([r,s])=>[[t,r],s])),([t,n])=>[gj(t),n]),El=e=>c(c(Lm(e),([t,n])=>[t,n],()=>c(mc(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),jE=e=>c(c(S("^",e),([t,n])=>c(El(n),([r,s])=>c(S("$",s),([o,i])=>[[t,r,o],i]))),([t,n])=>[bj(t),n]),Dm=(e,t=[])=>c(c(S(",",e),([n,r])=>c(ge(r),([s,o])=>[[n,s],o])),([n,r])=>Dm(r,[...t,n]),()=>[t,e]),CE=e=>c(c(c(ge(e),([t,n])=>c(Dm(n),([r,s])=>c(c(S(",",s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[kj(t),n]),_m=e=>c(c(c(S("extends",e),([t,n])=>c(CE(n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[xj(t),n]),EE=e=>c(c(S("interface",e),([t,n])=>c(Ze(n),([r,s])=>c(Il(s),([o,i])=>c(_m(i),([u,p])=>c(jl(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[yj(t),n]),TE=e=>c(c(S("interface",e),([t,n])=>c(Ze(n),([r,s])=>c(_m(s),([o,i])=>c(jl(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[wj(t),n]),AE=e=>c(c(S("type",e),([t,n])=>c(Ze(n),([r,s])=>c(Il(s),([o,i])=>c(S("=",i),([u,p])=>c(ge(p),([d,f])=>[[t,r,o,u,d],f]))))),([t,n])=>[vj(t),n]),PE=e=>c(c(S("type",e),([t,n])=>c(Ze(n),([r,s])=>c(S("=",s),([o,i])=>c(ge(i),([u,p])=>[[t,r,o,u],p])))),([t,n])=>[Sj(t),n]),NE=e=>c(c(c(S("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ij(),n]),Um=e=>c(c(c(S(";",e),([t,n])=>c(S(`
|
|
7
7
|
`,n),([r,s])=>[[t,r],s])),([t,n])=>[t,n],()=>c(c(S(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>c(c(S(`
|
|
8
8
|
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),Bm=(e,t=[])=>c(c(Um(e),([n,r])=>c(Tl(r),([s,o])=>[[n,s],o])),([n,r])=>Bm(r,[...t,n]),()=>[t,e]),OE=e=>c(c(c(Tl(e),([t,n])=>c(Bm(n),([r,s])=>c(c(Um(s),([o,i])=>[[o],i],()=>[[],s]),([o,i])=>[[t,r,o],i]))),([t,n])=>[t,n],()=>c([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[jj(t),n]),Tl=e=>c(c(NE(e),([t,n])=>c(c(EE(n),([r,s])=>[r,s],()=>c(TE(n),([r,s])=>[r,s],()=>c(AE(n),([r,s])=>[r,s],()=>c(PE(n),([r,s])=>[r,s],()=>[])))),([r,s])=>c(um(s),([o,i])=>[[t,r,o],i]))),([t,n])=>[Cj(t),n]),RE=e=>c(c(Tl(e),([t,n])=>c(OE(n),([r,s])=>[[t,r],s])),([t,n])=>[Ej(t),n]),$E=e=>c(c(RE(e),([t,n])=>[t,n],()=>c(UC(e),([t,n])=>[t,n],()=>c(ge(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]);function ME(e){const t=bm(`\`${e}\``);return g(t.length,2)?t[0]:Nt()}function FE(e){return e.join("|")}function LE(e){return e.slice(1,e.length-1)}function DE(e,t,n){return Ir(t,`${n}${e}`)}function _E(e,t){return Ir(e,`${t}${Mv}`)}function UE(e,t){return Ir(e,`${t}${kp}`)}function BE(e,t){return Ir(e,`${t}${vp}`)}function HE(e,t){return Ro(Ke([Re("false"),Re("true")]),e,t)}function zE(e,t){return Ir(e,`${t}${Sp}`)}function qE(e,t,n){return Ir(t,`${n}${LE(e)}`)}function KE(e,t,n){const r=Al(e,{});return Ro(r,t,n)}function GE(e,t,n){const r=Sr(e);return Ro(r,t,n)}function Hm(e,t,n,r=[]){return ve(e,(s,o)=>Hm(o,t,n,[...r,Ro(s,[],"")]),()=>Ir(t,`${n}(${FE(r)})`))}function Ro(e,t,n){return pn(e)?GE(e.enum,t,n):$n(e)?UE(t,n):Ge(e)?DE(e.const,t,n):Yr(e)?_E(t,n):vr(e)?HE(t,n):en(e)?BE(t,n):En(e)?zE(t,n):zt(e)?qE(e.pattern,t,n):QE(e)?KE(e.parameters[0],t,n):ce(e)?Hm(e.anyOf,t,n):J0}function Ir(e,t){return ve(e,(n,r)=>Ro(n,r,t),()=>t)}function WE(e){return`^${Ir(e,"")}$`}function VE(e){const t=WE(e);return Tp(t)}function Al(e,t){return Je(e)?fe(VE(e),{},t):zm(e,t)}function JE(e,t,n,r){const s=Kn(e,t,n);return Al(s,r)}function zm(e,t={}){return je("TemplateLiteral",[e],t)}function QE(e){return Jt(e)&&E(e,"action")&&g(e.action,"TemplateLiteral")}function qm(e){return Al(e,{})}function YE(e){const t=ME(e);return qm(t)}function XE(e,t={}){const n=ae(e)?YE(e):qm(e);return fe(n,{},t)}function zt(e){return we(e,"TemplateLiteral")}function Km(e){return be({"~kind":"ExtendsUnion"},{inferred:e})}function Pl(e){return ne(e)&&E(e,"~kind")&&E(e,"inferred")&&g(e["~kind"],"ExtendsUnion")&&ne(e.inferred)}function X(e){return be({"~kind":"ExtendsTrue"},{inferred:e})}function Nl(e){return ne(e)&&E(e,"~kind")&&E(e,"inferred")&&g(e["~kind"],"ExtendsTrue")&&ne(e.inferred)}function xe(){return be({"~kind":"ExtendsFalse"},{})}function hc(e){return ne(e)&&E(e,"~kind")&&g(e["~kind"],"ExtendsFalse")}function qt(e){return Pl(e)||Nl(e)}function yt(e,t,n){return qt(e)?t(e.inferred):n()}const ZE=Object.freeze(Object.defineProperty({__proto__:null,ExtendsFalse:xe,ExtendsTrue:X,ExtendsUnion:Km,IsExtendsFalse:hc,IsExtendsTrue:Nl,IsExtendsTrueLike:qt,IsExtendsUnion:Pl,Match:yt},Symbol.toStringTag,{value:"Module"}));function eT(e,t,n,r){return yt(Ve(e,n,r),s=>X(ht(ht(e,s),{[t]:n})),()=>xe())}function tT(e,t){return X(e)}function nT(e,t,n,r,s){return yt(Ve(e,t,n),o=>yt(Ve(o,t,r),i=>X(i),()=>xe()),()=>yt(Ve(e,t,s),o=>X(o),()=>xe()))}function rT(e,t,n){const r=Sr(n);return Ve(e,t,r)}function Gm(e,t,n){return ve(n,(r,s)=>yt(Ve(e,t,r),o=>Gm(o,t,s),()=>xe()),()=>X(e))}function sT(e,t,n){const r=er(n);return Ve(e,t,r)}function Wm(e,t,n){return ve(n,(r,s)=>yt(Ve(e,t,r),o=>X(o),()=>Wm(e,t,s)),()=>xe())}function xt(e,t,n){return Cn(n)?tT(e):fn(n)?nT(e,t,n.if,n.then,n.else):pn(n)?rT(e,t,n.enum):Yt(n)?eT(e,n.name,t,n.extends):Ue(n)?Gm(e,t,n.allOf):zt(n)?sT(e,t,n.pattern):ce(n)?Wm(e,t,n.anyOf):yn(n)?X(e):xe()}function oT(e,t,n){return Yt(n)?xt(e,t,n):Cn(n)||yn(n)?X(e):Km(e)}function iT(e,t){const n=Ni(e),r=Ni(t);return n&&r||!n&&r?!0:!(n&&!r)}function aT(e,t,n,r){return ut(r)?iT(t,r)?Ve(e,n,r.items):xe():xt(e,t,r)}function cT(e,t,n){return Yr(n)?X(e):xt(e,t,n)}function lT(e,t,n){return vr(n)?X(e):xt(e,t,n)}function dT(e,t,n,r,s){const o=Yt(r)?t:r,i=Yt(r)?r:t,u=Qt(t),p=Qt(r);return!u&&p?xe():yt(Ve(e,o,i),d=>Ol(d,n,s),()=>xe())}function uT(e,t,n,r){return ve(r,(s,o)=>dT(e,t,n,s,o),()=>Qt(t)?X(e):xe())}function fT(e,t,n){return ve(t,(r,s)=>uT(e,r,s,n),()=>X(e))}function Ol(e,t,n){return fT(e,t,n)}function Vm(e,t,n){return Xr(n)?X(e):Ve(e,t,n)}function pT(e,t,n,r){return Cn(r)||yn(r)?X(e):dn(r)?yt(Ol(e,t,r.parameters),s=>Vm(s,n,r.instanceType),()=>xe()):xe()}function mT(e,t,n,r,s){return yt(Ve(e,t,s),()=>Ve(e,n,s),()=>Ve(e,r,s))}function hT(e,t,n){const r=Sr(t);return Ve(e,r,n)}function gT(e,t,n,r){return Cn(r)||yn(r)?X(e):un(r)?yt(Ol(e,t,r.parameters),s=>Vm(s,n,r.returnType),()=>xe()):xe()}function bT(e,t,n){return $n(n)||en(n)?X(e):xt(e,t,n)}function kT(e,t,n){const r=tn(t);return Ve(e,r,n)}function ca(e,t,n){return t===n?X(e):xe()}function xT(e,t,n){return Ge(n)?ca(e,t,n.const):Yr(n)?X(e):xt(e,Re(t),n)}function yT(e,t,n){return Ge(n)?ca(e,t,n.const):vr(n)?X(e):xt(e,Re(t),n)}function wT(e,t,n){return Ge(n)?ca(e,t,n.const):en(n)?X(e):xt(e,Re(t),n)}function vT(e,t,n){return Ge(n)?ca(e,t,n.const):En(n)?X(e):xt(e,Re(t),n)}function ST(e,t,n){return et(t.const)?xT(e,t.const,n):gt(t.const)?yT(e,t.const,n):ye(t.const)?wT(e,t.const,n):ae(t.const)?vT(e,t.const,n):Nt()}function IT(e,t,n){return Yt(n)?xt(e,t,n):X(e)}function jT(e,t,n){return Eo(n)?X(e):xt(e,t,n)}function CT(e,t,n){return en(n)?X(e):xt(e,t,n)}function ET(e,t,n){return Qt(t)?Qt(n)?X(e):xe():X(e)}function TT(e,t,n){return Yt(n)&&Ps(n.extends)?xe():yt(Ve(e,t,n),r=>ET(r,t,n),()=>xe())}function AT(e,t){return e.reduce((n,r)=>r in t&&qt(t[r])?{...n,...t[r].inferred}:Nt(),{})}function PT(e,t,n){const r={};for(const i of M(n))r[i]=i in t?TT({},t[i],n[i]):Qt(n[i])?Yt(n[i])?X(ht(e,{[n[i].name]:n[i].extends})):X(e):xe();const s=Zc(r).every(i=>qt(i)),o=s?AT(M(r),r):{};return s?X(o):xe()}function NT(e,t,n){const r=PT(e,t,n);return qt(r)?X(ht(e,r.inferred)):xe()}function OT(e,t,n){return NT(e,t,n)}function RT(e,t){return M(t).reduce((n,r)=>({...n,[r]:E(e,r)?ce(n[r])?Ke([...n[r].anyOf,t[r]]):Ke([e[r],t[r]]):t[r]}),e)}function Jm(e,t,n,r){return ve(t,(s,o)=>yt(Ve({},e[s],n),i=>Jm(e,o,n,RT(r,i)),()=>xe()),()=>X(r))}function $T(e,t,n,r){const s=M(t);return Jm(t,s,r,e)}function MT(e,t,n){return Et(n)?$T(e,t,hn(n),Ht(n)):_e(n)?OT(e,t,n.properties):xt(e,Ae(t),n)}function FT(e,t){return g(M(t).length,0)?X(e):xe()}function LT(e,t,n,r,s){return Ve(e,n,s)}function DT(e,t,n,r){return Et(r)?LT(e,uc(t),n,uc(hn(r)),Ht(r)):_e(r)?FT(e,r.properties):Cn(r)||yn(r)?X(e):xe()}function _T(e,t,n){return En(n)?X(e):xt(e,t,n)}function UT(e,t,n){return To(n)?X(e):xt(e,t,n)}function BT(e,t,n){const r=er(t);return Ve(e,r,n)}function gc(e,t){return be({"~kind":"Inferrable"},{name:e,type:t},{})}function Rl(e){return ne(e)&&E(e,"~kind")&&E(e,"name")&&E(e,"type")&&g(e["~kind"],"Inferrable")&&ae(e.name)&&ne(e.type)}function Qm(e){return oa(e)?Yt(e.items)?ut(e.items.extends)?gc(e.items.name,e.items.extends.items):yn(e.items.extends)?gc(e.items.name,e.items.extends):void 0:Nt():void 0}function Ym(e){return Yt(e)?gc(e.name,e.extends):void 0}function $l(e,t,n=[]){return ve(e,(r,s)=>yt(Ve({},r,t),()=>$l(s,t,[...n,r]),()=>{}),()=>n)}function HT(e,t,n,r){const s=$l(n,r);return _(s)?X(ht(e,{[t]:mn(s)})):xe()}function Xm(e,t,n,r){const s=$l(n,r);return _(s)?X(ht(e,{[t]:Ke(s)})):xe()}function zT(e){return[...e].reverse()}function bc(e,t){return t?zT(e):e}function qT(e){const t=e.length>0?e[0]:void 0,n=Jt(t)?Qm(t):void 0;return Jt(n)}function KT(e,t,n,r,s,o){return yt(Ve(e,n,s),i=>Zm(i,t,r,o),()=>xe())}function GT(e,t,n,r,s){const o=Qm(r);return Rl(o)?HT(e,o.name,bc(n,t),o.type):ve(n,(i,u)=>KT(e,t,i,u,r,s),()=>xe())}function WT(e,t,n,r){return ve(r,(s,o)=>GT(e,t,n,s,o),()=>g(n.length,0)?X(e):xe())}function Zm(e,t,n,r){return WT(e,t,n,r)}function VT(e,t,n){const r=Do(e,$t([],[]),n),s=qT(r);return Zm(e,s,bc(t,s),bc(r,s))}function eh(e,t,n){const r=Ym(n);return Rl(r)?Xm(e,r.name,t,r.type):ve(t,(s,o)=>yt(Ve(e,s,n),i=>eh(i,o,n),()=>xe()),()=>X(e))}function JT(e,t,n){const r=Do(e,$t([],[]),t);return rt(n)?VT(e,r,n.items):ut(n)?eh(e,r,n.items):xt(e,mn(r),n)}function QT(e,t,n){return Xr(n)||Rs(n)?X(e):xt(e,t,n)}function th(e,t,n){return ve(n,(r,s)=>yt(Ve(e,t,r),o=>X(o),()=>th(e,t,s)),()=>xe())}function kc(e,t,n){return ve(t,(r,s)=>yt(th(e,r,n),o=>kc(o,s,n),()=>xe()),()=>X(e))}function YT(e,t,n){const r=Ym(n);return Rl(r)?Xm(e,r.name,t,r.type):ce(n)?kc(e,t,n.anyOf):kc(e,t,[n])}function XT(e,t,n){return Yt(n)?xt(e,t,n):Cn(n)||yn(n)?X(e):xe()}function ZT(e,t,n){return Xr(n)?X(e):xt(e,t,n)}function Ve(e,t,n){return Cn(t)?oT(e,t,n):ut(t)?aT(e,t,t.items,n):Yr(t)?cT(e,t,n):vr(t)?lT(e,t,n):dn(t)?pT(e,t.parameters,t.instanceType,n):fn(t)?mT(e,t.if,t.then,t.else,n):pn(t)?hT(e,t.enum,n):un(t)?gT(e,t.parameters,t.returnType,n):$n(t)?bT(e,t,n):Ue(t)?kT(e,t.allOf,n):Ge(t)?ST(e,t,n):Ps(t)?IT(e,t,n):Eo(t)?jT(e,t,n):en(t)?CT(e,t,n):_e(t)?MT(e,t.properties,n):Et(t)?DT(e,hn(t),Ht(t),n):En(t)?_T(e,t,n):To(t)?UT(e,t,n):zt(t)?BT(e,t.pattern,n):rt(t)?JT(e,t.items,n):Rs(t)?QT(e,t,n):ce(t)?YT(e,t.anyOf,n):yn(t)?XT(e,t,n):Xr(t)?ZT(e,t,n):xe()}function e1(e,t){return tn([...e,Ae(t)])}function nh(e,t,n){return Je(e)?fe(e1(e,t),{},n):Ml(e,t,n)}function t1(e,t,n,r,s){const o=Kn(e,t,n),i=Jl(e,t,r);return nh(o,i,s)}function Ml(e,t,n={}){return je("Interface",[e,t],n)}function Fl(e){return Jt(e)&&E(e,"action")&&g(e.action,"Interface")}function n1(e,t,n={}){return nh(e,t,n)}function r1(e,t,n){return e.includes(n)?!0:fo([...e,n],t,t[n])}function Au(e,t,n){const r=ap(n);return Fr(e,t,r)}function Fr(e,t,n){return ve(n,(r,s)=>fo(e,t,r)?!0:Fr(e,t,s),()=>!1)}function fo(e,t,n){return bt(n)?r1(e,t,n.$ref):ut(n)?fo(e,t,n.items):dn(n)?Fr(e,t,[...n.parameters,n.instanceType]):un(n)?Fr(e,t,[...n.parameters,n.returnType]):Fl(n)?Au(e,t,n.parameters[1]):Ue(n)?Fr(e,t,n.allOf):_e(n)?Au(e,t,n.properties):ce(n)?Fr(e,t,n.anyOf):rt(n)?Fr(e,t,n.items):Et(n)?fo(e,t,Ht(n)):!1}function s1(e,t,n){return fo(e,t,n)}function o1(e,t){return t.reduce((n,r)=>s1([r],e,e[r])?[...n,r]:n,[])}function i1(e){const t=ip(e);return o1(e,t)}function a1(e,t,n){return n.includes(t)?n:t in e?po(e,e[t],[...n,t]):Nt()}function Pu(e,t,n){const r=ap(t);return ks(e,r,n)}function ks(e,t,n){return t.reduce((r,s)=>po(e,s,r),n)}function po(e,t,n){return bt(t)?a1(e,t.$ref,n):ut(t)?po(e,t.items,n):dn(t)?ks(e,[...t.parameters,t.instanceType],n):un(t)?ks(e,[...t.parameters,t.returnType],n):Fl(t)?Pu(e,t.parameters[1],n):Ue(t)?ks(e,t.allOf,n):_e(t)?Pu(e,t.properties,n):ce(t)?ks(e,t.anyOf,n):rt(t)?ks(e,t.items,n):Et(t)?po(e,Ht(t),n):n}function c1(e,t,n){return po(e,n,[t])}function l1(e){return cl()}function d1(e){return M(e).reduce((t,n)=>({...t,[n]:Dr(e[n])}),{})}function Xs(e){return e.reduce((t,n)=>[...t,Dr(n)],[])}function Dr(e){return bt(e)?l1(e.$ref):ut(e)?wr(Dr(e.items),il(e)):dn(e)?So(Xs(e.parameters),Dr(e.instanceType)):un(e)?Io(Xs(e.parameters),Dr(e.returnType)):Ue(e)?On(Xs(e.allOf)):_e(e)?Ae(d1(e.properties)):Et(e)?hl(ra(e),Dr(Ht(e))):ce(e)?Ke(Xs(e.anyOf)):rt(e)?mn(Xs(e.items)):e}function u1(e,t){return t in e?Dr(e[t]):Ut()}function f1(e){return u1(e.$defs,e.$ref)}function p1(e,t,n){const r=Kn(e,$t([],[]),t),s=Jl({},$t([],[]),n);return tn([...r,Ae(s)])}function m1(e,t){return M(e).filter(r=>t.includes(r)).reduce((r,s)=>{const o=e[s],i=Fl(o)?p1(e,o.parameters[0],o.parameters[1]):o;return{...r,[s]:i}},{})}function h1(e,t,n){const r=c1(e,t,n),s=m1(e,r);return Co(s,t)}function rh(e,t){return t in e?bt(e[t])?rh(e,e[t].$ref):e[t]:Ct()}function $o(e,t){return rh(e,t)}function Nu(e){return Bt(e)?f1(e):cp(e)?Ut():e}function Xn(e,t,n){const r=Nu(t),s=Nu(n);return Ve(e,r,s)}const Ll="equal",g1="disjoint",Dl="left-inside",_l="right-inside";function la(e,t){const n=[yn(e)?xe():Xn({},e,t),yn(e)?X({}):Xn({},t,e)];return qt(n[0])&&qt(n[1])?Ll:qt(n[0])&&hc(n[1])?Dl:hc(n[0])&&qt(n[1])?_l:g1}function b1(e,t){return t.filter(n=>la(e,n)!==_l)}function k1(e,t){const n=t.some(r=>{const s=la(e,r);return g(s,Dl)||g(s,Ll)});return g(n,!1)}function x1(e,t){const n=zr(e);return Cn(n)?[n]:k1(n,t)?[...b1(n,t),n]:t}function y1(e){return e.reduce((t,n)=>_e(n)?[...t,n]:Ps(n)?t:x1(n,t),[])}function sh(e){const t=y1(e);return ea(t)}function oh(e,t){return fe(zr(e),{},t)}function w1(e,t,n,r){const s=q(e,t,n);return oh(s,r)}function to(e,t=[]){return Ss(e)&&g(e.action,"Conditional")?bt(e.parameters[0])?to(e.parameters[2],to(e.parameters[3],[...t,e.parameters[0].$ref])):to(e.parameters[2],to(e.parameters[3],t)):Ss(e)&&g(e.action,"Mapped")&&Ss(e.parameters[1])&&g(e.parameters[1].action,"KeyOf")&&bt(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function v1(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function ih(e,t,n=[]){return ve(e,(r,s)=>ve(t,(o,i)=>ih(s,i,[...n,[o,r]]),()=>n),()=>n)}function S1(e){return zt(e)?er(e.pattern):pn(e)?Sr(e.enum):e}function I1(e){const t=S1(e);return ce(t)?[...t.anyOf]:[t]}function j1(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function Ou(e,t){return t.reduce((n,r)=>[...n,...j1(e,r)],[])}function Ru(e){return e.reduce((t,n)=>g(n[0],!0)?Ou(t,I1(n[1])):Ou(t,[n[1]]),[[]])}function C1(e,t,n){const r=to(n),s=v1(e,r),o=ih(t,s);return Ss(n)&&g(n.action,"Conditional")||Ss(n)&&g(n.action,"Mapped")?Ru(o):[t]}function E1(){return["(not-resolvable)",Ct()]}function T1(){return["(not-generic)",Ct()]}function A1(e,t,n){return[e,jo(t,n)]}function P1(e,t,n){return t in e?ah(e,t,e[t]):E1()}function ah(e,t,n,r){return al(n)?A1(t,n.parameters,n.expression):bt(n)?P1(e,n.$ref):T1()}function N1(e,t,n){return ah(e,"(anonymous)",t)}function O1(e,t,n){if(Yt(t)||Bl(t)||qt(Xn({},t,n)))return;const r={parameter:e,expect:n,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function $u(e,t,n,r,s){const o=q(e,t,s);return O1(n,o,r),ht(e,{[n]:o})}function R1(e,t,n,r,s){const o=q(e,t,n.extends),i=q(e,t,n.equals);return ve(s,(u,p)=>xc($u(e,t,n.name,o,u),t,r,p),()=>xc($u(e,t,n.name,o,i),t,r,[]))}function xc(e,t,n,r){return ve(n,(s,o)=>R1(e,t,s,o,r),()=>e)}function $1(e,t,n,r){return xc(e,t,n,r)}let yc=0,Ul=0;function M1(){if(!xo(Ul,vo().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function F1(){M1(),Ul++,yc++}function L1(){yc--,g(yc,0)&&(Ul=0)}function D1(e){return Wr(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function _1(e,t){return g(D1(e),t)}function U1(e,t,n,r,s,o){F1();try{const i=$1(e,t,r,o),u=q(i,$t([...t.callstack,n.$ref],t.visited),s);return q(i,$t([],[]),u)}finally{L1()}}function B1(e,t,n,r,s,o){return o.reduce((i,u)=>{const p=U1(e,t,n,r,s,u);return[...i,p]},[])}function H1(e,t,n,r,s,o){const i=C1(r,o,s),u=B1(e,t,n,r,s,i);return g(u.length,1)?u[0]:tr(u)}function ch(e,t,n,r){const s=Kn(e,t,r),o=N1(e,n),i=o[0],u=o[1];return al(u)?_1(t,i)?wc(an(i),s):H1(e,t,an(i),u.parameters,u.expression,s):wc(n,s)}function wc(e,t){return be({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function z1(e,t){return ch({},$t([],[]),e,t)}function Bl(e){return we(e,"Call")}function q1(e){return jn(e,["~immutable"])}function K1(e,t){return fe(q1(e),{},t)}function G1(e,t,n,r){const s=q(e,t,n);return K1(s,r)}function W1(e,t){return e(t)}function V1(e,t){return ae(t)?Re(W1(e,t)):Re(t)}function J1(e,t){const n=er(t);return $s(e,n)}function Q1(e,t){const n=t.map(r=>$s(e,r));return Ke(n)}function $s(e,t){return Ge(t)?V1(e,t.const):zt(t)?J1(e,t.pattern):ce(t)?Q1(e,t.anyOf):t}function lh(e,t={}){return je("Capitalize",[e],t)}function Y1(e,t={}){return ph(e,t)}function dh(e,t={}){return je("Lowercase",[e],t)}function X1(e,t={}){return mh(e,t)}function uh(e,t={}){return je("Uncapitalize",[e],t)}function Z1(e,t={}){return hh(e,t)}function fh(e,t={}){return je("Uppercase",[e],t)}function eA(e,t={}){return gh(e,t)}const tA=e=>e[0].toUpperCase()+e.slice(1),nA=e=>e.toLowerCase(),rA=e=>e[0].toLowerCase()+e.slice(1),sA=e=>e.toUpperCase();function ph(e,t){return Je([e])?fe($s(tA,e),{},t):lh(e,t)}function mh(e,t){return Je([e])?fe($s(nA,e),{},t):dh(e,t)}function hh(e,t){return Je([e])?fe($s(rA,e),{},t):uh(e,t)}function gh(e,t){return Je([e])?fe($s(sA,e),{},t):fh(e,t)}function oA(e,t,n,r){const s=q(e,t,n);return ph(s,r)}function iA(e,t,n,r){const s=q(e,t,n);return mh(s,r)}function aA(e,t,n,r){const s=q(e,t,n);return hh(s,r)}function cA(e,t,n,r){const s=q(e,t,n);return gh(s,r)}function bh(e,t,n,r,s={}){return je("Conditional",[e,t,n,r],s)}function lA(e,t,n,r,s={}){return kh({},$t([],[]),e,t,n,r,s)}function dA(e,t,n,r,s,o){const i=Xn(e,n,r);return Pl(i)?Ke([q(i.inferred,t,s),q(e,t,o)]):Nl(i)?q(i.inferred,t,s):q(e,t,o)}function kh(e,t,n,r,s,o,i){return Je([n,r])?fe(dA(e,t,n,r,s,o),{},i):bh(n,r,s,o,i)}function uA(e,t,n,r,s,o,i){const u=q(e,t,n),p=q(e,t,r);return kh(e,t,u,p,s,o,i)}function xh(e,t={}){return je("ConstructorParameters",[e],t)}function fA(e,t={}){return yh(e,t)}function pA(e){const t=dn(e)?e.parameters:[],n=Do({},$t([],[]),t);return mn(n)}function yh(e,t){return Je([e])?fe(pA(e),{},t):xh(e,t)}function mA(e,t,n,r){const s=q(e,t,n);return yh(s,r)}function wh(e,t,n={}){return je("Exclude",[e,t],n)}function hA(e,t,n={}){return Hl(e,t,n)}function Hl(e,t,n){return Je([e,t])?fe(Up(e,t),{},n):wh(e,t,n)}function gA(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return Hl(o,i,s)}function vh(e,t,n={}){return je("Extract",[e,t],n)}function bA(e,t,n={}){return Sh(e,t,n)}function kA(e,t){const n=Xn({},e,t);return qt(n)?[e]:[]}function xA(e,t){return e.reduce((n,r)=>[...n,...kA(r,t)],[])}function yA(e,t){const n=zr(e),r=ce(n)?n.anyOf:[n],s=xA(r,t);return tr(s)}function Sh(e,t,n){return Je([e,t])?fe(yA(e,t),{},n):vh(e,t,n)}function wA(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return Sh(o,i,s)}function vA(e){return e.reduce((t,n)=>xp(n)?[...t,Re(n)]:t,[])}function zl(e){const t=vA(e);return Ke(t)}function ql(e,t,n={}){return je("Index",[e,t],n)}function SA(e,t,n={}){const r=_(t)?zl(t):t;return Th(e,r,n)}function IA(e,t){const n=$o(e,t);return es(n)}function jA(e,t,n){const r=Ns(e,t,n);return es(r)}function CA(e,t){const n=M(e).filter(f=>!E(t,f)),r=M(t).filter(f=>!E(e,f)),s=M(e).filter(f=>E(t,f)),o=n.reduce((f,m)=>({...f,[m]:e[m]}),{}),i=r.reduce((f,m)=>({...f,[m]:t[m]}),{}),u=s.reduce((f,m)=>({...f,[m]:tn([e[m],t[m]])}),{}),p=ht(o,i);return ht(p,u)}function EA(e){return e.reduce((t,n)=>CA(t,es(n)),{})}function TA(e){const t=oS(mn(e));return es(t)}function AA(e,t){return M(e).filter(s=>s in t).reduce((s,o)=>({...s,[o]:tr([e[o],t[o]])}),{})}function Ih(e,t){return ve(e,(n,r)=>Ih(r,AA(t,es(n))),()=>t)}function PA(e){return ve(e,(t,n)=>Ih(n,es(t)),()=>Nt())}function es(e){return Bt(e)?IA(e.$defs,e.$ref):fn(e)?jA(e.if,e.then,e.else):Ue(e)?EA(e.allOf):ce(e)?PA(e.anyOf):rt(e)?TA(e.items):_e(e)?e.properties:{}}function Kl(e){const t=es(e);return Ae(t)}const NA=new RegExp("^(?:0|[1-9][0-9]*)$");function Gl(e){const t=`${e}`;return NA.test(t)?parseInt(t):e}function OA(e){return Re(Gl(e))}function Mu(e){return e.map(t=>jh(t))}function jh(e){return Ue(e)?On(Mu(e.allOf)):ce(e)?Ke(Mu(e.anyOf)):Ge(e)?OA(e.const):e}function RA(e,t){const n=jh(t),r=Xn({},n,br());return qt(r)?e:Ge(t)&&g(t.const,"length")?br():Ct()}function $A(e,t){const n=$o(e,t);return ts(n)}function MA(e,t,n){const r=Ns(e,t,n);return ts(r)}function FA(e){const t=Sr(e);return ts(t)}function LA(e){const t=tn(e);return ts(t)}function DA(e){return[`${e}`]}function _A(e){const t=er(e);return ts(t)}function UA(e){return e.reduce((t,n)=>[...t,...ts(n)],[])}function ts(e){return Bt(e)?$A(e.$defs,e.$ref):fn(e)?MA(e.if,e.then,e.else):pn(e)?FA(e.enum):Ue(e)?LA(e.allOf):Ge(e)?DA(e.const):zt(e)?_A(e.pattern):ce(e)?UA(e.anyOf):[]}function Wl(e){return ts(e)}function Zs(e,t){return t.map(n=>io(e,n))}function io(e,t){return ut(t)?wr(io(e,t.items)):dn(t)?So(Zs(e,t.parameters),io(e,t.instanceType)):un(t)?Io(Zs(e,t.parameters),io(e,t.returnType)):rt(t)?mn(Zs(e,t.items)):ce(t)?Ke(Zs(e,t.anyOf)):Ue(t)?On(Zs(e,t.allOf)):qp(t)?Ae(e):t}function BA(e,t){return io(e,t)}function HA(e,t){const n=t in e?e[t]:Ct();return BA(e,n)}function Ch(e,t){return t.reduce((n,r)=>[...n,HA(e,r)],[])}function zA(e,t){const n=Wl(t),r=Ch(e,n);return tr(r)}const qA=new RegExp(Po);function KA(e){return e.filter(n=>qA.test(n))}function GA(e){const t=ip(e),n=KA(t),r=Ch(e,n);return tr(r)}function WA(e,t){return en(t)?GA(e):zA(e,t)}function VA(e){return Re(Gl(e))}function Fu(e){return e.map(t=>Eh(t))}function Eh(e){return Ue(e)?On(Fu(e.allOf)):ce(e)?Ke(Fu(e.anyOf)):Ge(e)?VA(e.const):e}function JA(e,t){return e.reduceRight((n,r,s)=>{const o=Xn({},Re(s),t);return qt(o)?[r,...n]:n},[])}function QA(e,t){const n=Eh(t),r=JA(e,n);return Os(r)}function YA(e){return Os(e)}function XA(e,t){return Ge(t)&&g(t.const,"length")?Re(e.length):en(t)||$n(t)?YA(e):QA(e,t)}function ZA(e,t){return ut(e)?RA(e.items,t):_e(e)?WA(e.properties,t):rt(e)?XA(e.items,t):Ct()}function eP(e){return Bt(e)||fn(e)||Ue(e)||ce(e)?Kl(e):e}function Th(e,t,n){return Je([e,t])?fe(ZA(eP(e),t),{},n):ql(e,t,n)}function tP(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return Th(o,i,s)}function Ah(e,t={}){return je("InstanceType",[e],t)}function nP(e,t={}){return Ph(e,t)}function rP(e){return dn(e)?e.instanceType:Ct()}function Ph(e,t){return Je([e])?fe(rP(e),{},t):Ah(e,t)}function sP(e,t,n,r={}){const s=q(e,t,n);return Ph(s,r)}function Vl(e,t={}){return je("KeyOf",[e],t)}function oP(e,t={}){return Nh(e,t)}function iP(){return Ke([br(),Mn(),pl()])}function aP(e){return br()}function cP(e){return e.reduce((n,r)=>xp(r)?[...n,Re(Gl(r))]:Nt(),[])}function lP(e){const t=M(e),n=cP(t);return Os(n)}function dP(e){return ra(e)}function uP(e){const t=e.map((n,r)=>Re(r));return Os(t)}function fP(e){return Cn(e)?iP():ut(e)?aP(e.items):_e(e)?lP(e.properties):Et(e)?dP(e):rt(e)?uP(e.items):Ct()}function pP(e){return Bt(e)||fn(e)||Ue(e)||ce(e)?Kl(e):e}function Nh(e,t){return Je([e])?fe(fP(pP(e)),{},t):Vl(e,t)}function mP(e,t,n,r){const s=q(e,t,n);return Nh(s,r)}function vc(e,t,n,r,s={}){return je("Mapped",[e,t,n,r],s)}function hP(e,t,n,r,s={}){return Oh({},$t([],[]),e,t,n,r,s)}function gP(e){const t=er(e);return da(t)}function bP(e){return e.reduce((t,n)=>[...t,...da(n)],[])}function kP(e){const t=Sr(e);return da(t)}function xP(e){return ye(e)?[Re(`${e}`)]:[Re(e)]}function da(e){return pn(e)?kP(e.enum):Ge(e)?xP(e.const):zt(e)?gP(e.pattern):ce(e)?bP(e.anyOf):[e]}function yP(e){return da(e)}function wP(e){return zt(e)?er(e.pattern):e}function vP(e,t,n,r,s,o){const i=ht(e,{[n.name]:r}),u=q(i,t,s),p=wP(u),d=q(i,t,o);return yp(p)||wp(p)?{[p.const]:d}:{}}function SP(e,t,n,r,s,o){return r.reduce((i,u)=>[...i,vP(e,t,n,u,s,o)],[])}function IP(e){return e.reduce((t,n)=>[...t,Ae(n)],[])}function jP(e,t,n,r,s,o){const i=yP(r),u=SP(e,t,n,i,s,o),p=IP(u);return tn(p)}function Oh(e,t,n,r,s,o,i){return Je([r])?fe(jP(e,t,n,r,s,o),{},i):vc(n,r,s,o,i)}function CP(e,t,n,r,s,o,i){const u=q(e,t,r);return Oh(e,t,n,u,s,o,i)}function EP(e,t,n){const r=ht(e,t);return M(t).filter(o=>n.includes(o)).reduce((o,i)=>({...o,[i]:h1(r,i,t[i])}),{})}function TP(e,t,n){const r=ht(e,t);return M(t).filter(o=>!n.includes(o)).reduce((o,i)=>({...o,[i]:q(r,$t([],[]),t[i])}),{})}function AP(e,t,n){const r=i1(t),s=EP(e,t,r),o=TP(e,t,r),i={...s,...o};return fe(i,{},n)}function Rh(e,t,n,r){return AP(e,n,r)}function $h(e,t={}){return je("NonNullable",[e],t)}function PP(e,t={}){return Mh(e,t)}function NP(e){const t=Ke([fl(),gl()]);return Hl(e,t,{})}function Mh(e,t){return Je([e])?fe(NP(e),{},t):$h(e,t)}function OP(e,t,n,r){const s=q(e,t,n);return Mh(s,r)}function Fh(e,t,n={}){return je("Omit",[e,t],n)}function RP(e,t,n={}){const r=_(t)?zl(t):t;return Dh(e,r,n)}function Lh(e){const t=Kl(e);return _e(t)?t.properties:Nt()}function $P(e,t){return M(e).reduce((r,s)=>t.includes(s)?r:{...r,[s]:e[s]},{})}function MP(e,t){const n=Lh(e),r=Wl(t),s=$P(n,r);return Ae(s)}function Dh(e,t,n){return Je([e,t])?fe(MP(e,t),{},n):Fh(e,t,n)}function FP(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return Dh(o,i,s)}function _h(e,t={}){return je("Parameters",[e],t)}function LP(e,t={}){return Uh(e,t)}function DP(e){const t=un(e)?e.parameters:[],n=Do({},$t([],[]),t);return mn(n)}function Uh(e,t){return Je([e])?fe(DP(e),{},t):_h(e,t)}function _P(e,t,n,r){const s=q(e,t,n);return Uh(s,r)}function Bh(e,t={}){return je("Partial",[e],t)}function UP(e,t={}){return Hh(e,t)}function BP(e,t){const n=$o(e,t),r=Mo(n);return Co(ht(e,{[t]:r}),t)}function HP(e,t,n){const r=Ns(e,t,n);return Mo(r)}function zP(e){const t=tn(e);return Mo(t)}function qP(e){const t=e.map(n=>Mo(n));return Ke(t)}function KP(e){const t=M(e).reduce((r,s)=>({...r,[s]:Ai(e[s])}),{});return Ae(t)}function Mo(e){return Bt(e)?BP(e.$defs,e.$ref):fn(e)?HP(e.if,e.then,e.else):Ue(e)?zP(e.allOf):ce(e)?qP(e.anyOf):_e(e)?KP(e.properties):Ae({})}function Hh(e,t){return Je([e])?fe(Mo(e),{},t):Bh(e,t)}function GP(e,t,n,r){const s=q(e,t,n);return Hh(s,r)}function zh(e,t,n={}){return je("Pick",[e,t],n)}function WP(e,t,n={}){const r=_(t)?zl(t):t;return qh(e,r,n)}function VP(e,t){return M(e).reduce((r,s)=>t.includes(s)?ht(r,{[s]:e[s]}):r,{})}function JP(e,t){const n=Lh(e),r=Wl(t),s=VP(n,r);return Ae(s)}function qh(e,t,n){return Je([e,t])?fe(JP(e,t),{},n):zh(e,t,n)}function QP(e,t,n,r,s){const o=q(e,t,n),i=q(e,t,r);return qh(o,i,s)}function Kh(e,t={}){return je("ReadonlyObject",[e],t)}function Gh(e,t={}){return Wh(e,t)}const YP=Gh;function XP(e){return Yl(wr(e))}function ZP(e,t){const n=$o(e,t),r=Fo(n);return Co(ht(e,{[t]:r}),t)}function eN(e,t,n){const r=Ns(e,t,n);return Fo(r)}function tN(e){const t=tn(e);return Fo(t)}function nN(e){const t=M(e).reduce((r,s)=>({...r,[s]:Oi(e[s])}),{});return Ae(t)}function rN(e){return Yl(mn(e))}function sN(e){const t=e.map(n=>Fo(n));return Ke(t)}function Fo(e){return ut(e)?XP(e.items):Bt(e)?ZP(e.$defs,e.$ref):fn(e)?eN(e.if,e.then,e.else):Ue(e)?tN(e.allOf):_e(e)?nN(e.properties):rt(e)?rN(e.items):ce(e)?sN(e.anyOf):e}function Wh(e,t){return Je([e])?fe(Fo(e),{},t):Kh(e)}function oN(e,t,n,r){const s=q(e,t,n);return Wh(s,r)}function iN(e,t,n,r){return t.visited.includes(r)?n:r in e?q(e,$t(t.callstack,[...t.visited,r]),e[r]):n}function aN(e,t){const n=$o(e,t),r=Lo(n);return Co(ht(e,{[t]:r}),t)}function cN(e,t,n){const r=Ns(e,t,n);return Lo(r)}function lN(e){const t=tn(e);return Lo(t)}function dN(e){const t=e.map(n=>Lo(n));return Ke(t)}function uN(e){const t=M(e).reduce((r,s)=>({...r,[s]:Fp(e[s])}),{});return Ae(t)}function Lo(e){return Bt(e)?aN(e.$defs,e.$ref):fn(e)?cN(e.if,e.then,e.else):Ue(e)?lN(e.allOf):ce(e)?dN(e.anyOf):_e(e)?uN(e.properties):Ae({})}function Vh(e,t={}){return je("Required",[e],t)}function fN(e,t={}){return Jh(e,t)}function Jh(e,t){return Je([e])?fe(Lo(e),{},t):Vh(e,t)}function pN(e,t,n,r){const s=q(e,t,n);return Jh(s,r)}function Qh(e,t={}){return je("ReturnType",[e],t)}function mN(e,t={}){return Yh(e,t)}function hN(e){return un(e)?e.returnType:Ct()}function Yh(e,t){return Je([e])?fe(hN(e),{},t):Qh(e,t)}function gN(e,t,n,r={}){const s=q(e,t,n);return Yh(s,r)}function Xh(e,t){return je("With",[e,t],{})}function Zh(e,t){return eg(e,t)}function eg(e,t){return Je([e])?fe(e,{},t):Xh(e,t)}function bN(e,t,n,r){const s=q(e,t,n);return eg(s,r)}function kN(e){return oa(e)?rt(e.items)?tg(e.items.items):Yt(e.items)?[e]:bt(e.items)?[e]:[Ct()]:[e]}function tg(e){return e.reduce((n,r)=>[...n,...kN(r)],[])}function $t(e,t){return{callstack:e,visited:t}}function Je(e){return ve(e,(t,n)=>bt(t)?!1:Je(n),()=>!0)}function Jl(e,t,n){return M(n).reduce((r,s)=>({...r,[s]:q(e,t,n[s])}),{})}function Do(e,t,n){const r=Kn(e,t,n);return tg(r)}function Kn(e,t,n){return n.map(r=>q(e,t,r))}function xN(e,t){const n=Qt(e)?ol(t,{}):t,r=Ri(e)?sl(n,{}):n;return Ni(e)?Ql(r,{}):r}function yN(e,t,n,r,s){return g(n,"AddImmutable")?SN(e,t,r[0],s):g(n,"RemoveImmutable")?G1(e,t,r[0],s):g(n,"AddReadonly")?q0(e,t,r[0],s):g(n,"RemoveReadonly")?Zv(e,t,r[0],s):g(n,"AddOptional")?G0(e,t,r[0],s):g(n,"RemoveOptional")?rS(e,t,r[0],s):g(n,"Capitalize")?oA(e,t,r[0],s):g(n,"Conditional")?uA(e,t,r[0],r[1],r[2],r[3],s):g(n,"ConstructorParameters")?mA(e,t,r[0],s):g(n,"Evaluate")?w1(e,t,r[0],s):g(n,"Exclude")?gA(e,t,r[0],r[1],s):g(n,"Extract")?wA(e,t,r[0],r[1],s):g(n,"Index")?tP(e,t,r[0],r[1],s):g(n,"InstanceType")?sP(e,t,r[0],s):g(n,"Interface")?t1(e,t,r[0],r[1],s):g(n,"KeyOf")?mP(e,t,r[0],s):g(n,"Lowercase")?iA(e,t,r[0],s):g(n,"Mapped")?CP(e,t,r[0],r[1],r[2],r[3],s):g(n,"Module")?Rh(e,t,r[0],s):g(n,"NonNullable")?OP(e,t,r[0],s):g(n,"Pick")?QP(e,t,r[0],r[1],s):g(n,"Parameters")?_P(e,t,r[0],s):g(n,"Partial")?GP(e,t,r[0],s):g(n,"Omit")?FP(e,t,r[0],r[1],s):g(n,"ReadonlyObject")?oN(e,t,r[0],s):g(n,"Record")?PS(e,t,r[0],r[1],s):g(n,"Required")?pN(e,t,r[0],s):g(n,"ReturnType")?gN(e,t,r[0],s):g(n,"TemplateLiteral")?JE(e,t,r[0],s):g(n,"Uncapitalize")?aA(e,t,r[0],s):g(n,"Uppercase")?cA(e,t,r[0],s):g(n,"With")?bN(e,t,r[0],r[1]):je(n,r,s)}function wN(e,t,n){const r=bt(n)?iN(e,t,n,n.$ref):ut(n)?wr(q(e,t,n.items),il(n)):Bl(n)?ch(e,t,n.target,n.arguments):dn(n)?So(Kn(e,t,n.parameters),q(e,t,n.instanceType),W0(n)):un(n)?Io(Kn(e,t,n.parameters),q(e,t,n.returnType),V0(n)):fn(n)?Pi(q(e,t,n.if),q(e,t,n.then),q(e,t,n.else),ev(n)):Ue(n)?On(Kn(e,t,n.allOf),ov(n)):_e(n)?Ae(Jl(e,t,n.properties),X0(n)):Et(n)?NS(hn(n),q(e,t,Ht(n))):oa(n)?sa(q(e,t,n.items)):rt(n)?mn(Do(e,t,n.items),Yv(n)):ce(n)?Ke(Kn(e,t,n.anyOf),Hv(n)):n;return xN(n,r)}function q(e,t,n){return Ss(n)?yN(e,t,n.action,n.parameters,n.options):wN(e,t,n)}function Ms(e,t){return q(e,$t([],[]),t)}function vN(e){return fe(e,{"~immutable":!0},{})}function Ql(e,t){return fe(vN(e),{},t)}function SN(e,t,n,r){const s=q(e,t,n);return Ql(s,r)}function IN(e,t={}){return je("AddImmutable",[e],t)}function Yl(e,t={}){return Ql(e,t)}function jN(e,t={}){return je("Evaluate",[e],t)}function Fn(e,t={}){return oh(e,t)}function CN(e,t={}){return je("Module",[e],t)}function EN(e,t={}){return Rh({},$t([],[]),e,t)}function TN(e,t){const n=la(e,t);return g(n,"right-inside")||g(n,"disjoint")?1:0}function ng(e,t,n=[]){return ve(t,(r,s)=>g(TN(e,r),1)?ng(e,s,[...n,r]):[...n,e,...t],()=>[...n,e])}function rg(e,t=[]){return ve(e,(n,r)=>rg(r,ng(n,t)),()=>t)}function AN(e){return rg(e)}function PN(...e){const[t,n,r]=at(e,{2:(i,u)=>ae(i)?[{},i,u]:[i,u,{}],3:(i,u,p)=>[i,u,p],1:i=>[{},i,{}]}),s=$E(n),o=_(s)&&g(s.length,2)?q(t,$t([],[]),s[0]):Ct();return fe(o,{},r)}const l=Object.freeze(Object.defineProperty({__proto__:null,Any:cl,Array:wr,BigInt:ul,Boolean:bp,Call:z1,Capitalize:Y1,Codec:ll,Conditional:lA,Constructor:So,ConstructorParameters:fA,Cyclic:Co,Decode:Tv,DecodeBuilder:gp,Dependent:Pi,Encode:Av,EncodeBuilder:hp,Enum:sv,Evaluate:Fn,Exclude:hA,Extends:Xn,ExtendsResult:ZE,Extract:bA,Function:Io,Generic:jo,Identifier:dc,Immutable:Pv,Index:SA,Infer:cc,InstanceType:nP,Instantiate:Ms,Integer:Zi,Interface:n1,Intersect:On,IsAny:Cn,IsArray:ut,IsBigInt:Yr,IsBoolean:vr,IsCall:Bl,IsCodec:Xt,IsConstructor:dn,IsCyclic:Bt,IsDependent:fn,IsEnum:pn,IsEnumValue:rv,IsFunction:un,IsGeneric:al,IsIdentifier:Fv,IsImmutable:Ni,IsInfer:Yt,IsInteger:$n,IsIntersect:Ue,IsKind:we,IsLiteral:Ge,IsNever:Ps,IsNull:Eo,IsNumber:en,IsObject:_e,IsOptional:Qt,IsParameter:Bv,IsReadonly:Ri,IsRecord:Et,IsRef:bt,IsRefine:dl,IsRest:oa,IsSchema:Jt,IsString:En,IsSymbol:To,IsTemplateLiteral:zt,IsThis:qp,IsTuple:rt,IsUndefined:Rs,IsUnion:ce,IsUnknown:yn,IsUnsafe:cp,IsVoid:Xr,KeyOf:oP,Literal:Re,Lowercase:X1,Mapped:hP,Module:EN,Never:Ct,NonNullable:PP,Null:fl,Number:br,Object:Ae,Omit:RP,Optional:Q0,Parameter:Ao,Parameters:LP,Partial:UP,Pick:WP,Readonly:Nv,ReadonlyObject:Gh,ReadonlyType:YP,Record:hl,RecordKey:ra,RecordPattern:hn,RecordValue:Ht,Ref:an,Refine:Rv,Required:fN,Rest:sa,ReturnType:mN,Script:PN,String:Mn,Symbol:pl,TemplateLiteral:XE,This:zp,Tuple:mn,Uncapitalize:Z1,Undefined:gl,Union:Ke,Unknown:Ut,Unsafe:Z0,Uppercase:eA,Void:Kp,With:Zh},Symbol.toStringTag,{value:"Module"}));function ua(e){return E(e,"~refine")&&_(e["~refine"])&&dt(e["~refine"],0,t=>ne(t)&&E(t,"check")&&E(t,"error")&&xn(t.check)&&xn(t.error))}function Zt(e){return ne(e)&&!_(e)}function _o(e){return gt(e)}function De(e){return Zt(e)||_o(e)}function Uo(e){return E(e,"additionalItems")&&De(e.additionalItems)}function rr(e){return E(e,"additionalProperties")&&De(e.additionalProperties)}function fa(e){return E(e,"allOf")&&_(e.allOf)&&e.allOf.every(t=>De(t))}function Fi(e){return E(e,"$anchor")&&ae(e.$anchor)}function pa(e){return E(e,"anyOf")&&_(e.anyOf)&&e.anyOf.every(t=>De(t))}function ma(e){return E(e,"const")}function ns(e){return E(e,"contains")&&De(e.contains)}function NN(e){return E(e,"contentEncoding")&&ae(e.contentEncoding)}function ON(e){return E(e,"contentMediaType")&&ae(e.contentMediaType)}function jr(e){return E(e,"default")}function RN(e){return E(e,"$defs")&&ne(e.$defs)&&Object.values(e.$defs).every(t=>De(t))}function Bo(e){return E(e,"dependencies")&&ne(e.dependencies)&&Object.values(e.dependencies).every(t=>De(t)||_(t)&&t.every(n=>ae(n)))}function Ho(e){return E(e,"dependentRequired")&&ne(e.dependentRequired)&&Object.values(e.dependentRequired).every(t=>_(t)&&t.every(n=>ae(n)))}function zo(e){return E(e,"dependentSchemas")&&ne(e.dependentSchemas)&&Object.values(e.dependentSchemas).every(t=>De(t))}function Kr(e){return E(e,"$dynamicAnchor")&&ae(e.$dynamicAnchor)}function ha(e){return E(e,"$dynamicRef")&&ae(e.$dynamicRef)}function ga(e){return E(e,"else")&&De(e.else)}function ba(e){return E(e,"enum")&&_(e.enum)}function qo(e){return E(e,"exclusiveMaximum")&&(ye(e.exclusiveMaximum)||et(e.exclusiveMaximum))}function Cr(e){return E(e,"exclusiveMinimum")&&(ye(e.exclusiveMinimum)||et(e.exclusiveMinimum))}function Fs(e){return E(e,"format")&&ae(e.format)}function xr(e){return E(e,"$id")&&ae(e.$id)}function ka(e){return E(e,"if")&&De(e.if)}function Er(e){return E(e,"items")&&(De(e.items)||_(e.items)&&e.items.every(t=>De(t)))}function xa(e){return Er(e)&&_(e.items)}function $N(e){return Er(e)&&!_(e.items)}function Ko(e){return E(e,"maximum")&&(ye(e.maximum)||et(e.maximum))}function Go(e){return E(e,"maxContains")&&ye(e.maxContains)}function Ls(e){return E(e,"maxItems")&&ye(e.maxItems)}function Wo(e){return E(e,"maxLength")&&ye(e.maxLength)}function Vo(e){return E(e,"maxProperties")&&ye(e.maxProperties)}function Tr(e){return E(e,"minimum")&&(ye(e.minimum)||et(e.minimum))}function rs(e){return E(e,"minContains")&&ye(e.minContains)}function ss(e){return E(e,"minItems")&&ye(e.minItems)}function Ds(e){return E(e,"minLength")&&ye(e.minLength)}function _s(e){return E(e,"minProperties")&&ye(e.minProperties)}function Jo(e){return E(e,"multipleOf")&&(ye(e.multipleOf)||et(e.multipleOf))}function ya(e){return E(e,"not")&&De(e.not)}function wa(e){return E(e,"oneOf")&&_(e.oneOf)&&e.oneOf.every(t=>De(t))}function Us(e){return E(e,"pattern")&&(ae(e.pattern)||e.pattern instanceof RegExp)}function os(e){return E(e,"patternProperties")&&ne(e.patternProperties)&&Object.values(e.patternProperties).every(t=>De(t))}function sr(e){return E(e,"prefixItems")&&_(e.prefixItems)&&e.prefixItems.every(t=>De(t))}function is(e){return E(e,"properties")&&ne(e.properties)&&Object.values(e.properties).every(t=>De(t))}function Qo(e){return E(e,"propertyNames")&&(ne(e.propertyNames)||De(e.propertyNames))}function sg(e){return E(e,"$recursiveAnchor")&>(e.$recursiveAnchor)}function wi(e){return sg(e)&&g(e.$recursiveAnchor,!0)}function va(e){return E(e,"$recursiveRef")&&ae(e.$recursiveRef)}function Sa(e){return E(e,"$ref")&&ae(e.$ref)}function or(e){return E(e,"required")&&_(e.required)&&e.required.every(t=>ae(t))}function Ia(e){return E(e,"then")&&De(e.then)}function Yo(e){return E(e,"type")&&(ae(e.type)||_(e.type)&&e.type.every(t=>ae(t)))}function yr(e){return E(e,"uniqueItems")&>(e.uniqueItems)}function Bs(e){return E(e,"unevaluatedItems")&&De(e.unevaluatedItems)}function Hs(e){return E(e,"unevaluatedProperties")&&De(e.unevaluatedProperties)}function MN(e){return Bs(e)||Hs(e)||As(M(e),t=>Li(e[t]))}function FN(e){return As(e,t=>Li(t))}function Li(e){return _(e)?FN(e):ne(e)?MN(e):!1}function og(e,t){return Li(t)||As(M(e),n=>Li(e[n]))}class ig{constructor(t){this.hasUnevaluated=t}UseUnevaluated(){return this.hasUnevaluated}Push(){return qe(ue("context","Push"),[])}Pop(){return qe(ue("context","Pop"),[])}AddIndex(t){return qe(ue("context","AddIndex"),[t])}AddKey(t){return qe(ue("context","AddKey"),[t])}Merge(t){return qe(ue("context","Merge"),[t])}}class Ln{constructor(){const t=new Set,n=new Set;this.stack=[{indices:t,keys:n}]}Push(){const t=new Set,n=new Set;return this.stack.push({indices:t,keys:n}),!0}Pop(){return this.stack.pop(),!0}AddIndex(t){return this.GetIndices().add(t),!0}AddKey(t){return this.GetKeys().add(t),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(t){for(const n of t)n.GetIndices().forEach(r=>this.GetIndices().add(r)),n.GetKeys().forEach(r=>this.GetKeys().add(r));return!0}}class Xl extends Ln{constructor(t){super(),this.callback=t}AddError(t){return this.callback(t),!1}}class Dn extends Xl{constructor(){super(t=>this.errors.push(t)),this.errors=[]}AddError(t){return this.errors.push(t),!1}GetErrors(){return this.errors}}const Di={identifier:"External",variables:[]};function as(e){const t=`External[${Di.variables.length}]`;return Di.variables.push(e),t}function ag(){Di.variables=[]}function cg(){return{...Di}}function lg(e,t,n,r){const s=as(n["~refine"].map(o=>o));return Rn(s,H(0),["refinement","_"],qe(ue("refinement","check"),[r]))}function dg(e,t,n,r){return dt(n["~refine"],0,(s,o)=>s.check(r))}function ug(e,t,n,r,s,o){return jt(s["~refine"],0,(i,u)=>i.check(o)||t.AddError({keyword:"~refine",schemaPath:n,instancePath:r,params:{index:u,message:i.error(o)}}))}let LN=0;function it(){return`var_${LN++}`}function Zl(e){return Er(e)&&_(e.items)}function DN(e,t,n,r){const[s,o]=[it(),it()],i=Tn(e,t,n.additionalItems,s),u=el(o,H(n.items.length)),p=t.AddIndex(o);return Rn(r,H(0),[s,o],ze(u,wt(i,p)))}function _N(e,t,n,r){const[s,o]=[it(),it()],i=Tn(e,t,n.additionalItems,s),u=el(o,H(n.items.length));return Rn(r,H(0),[s,o],ze(u,i))}function fg(e,t,n,r){return Zl(n)?t.UseUnevaluated()?DN(e,t,n,r):_N(e,t,n,r):H(!0)}function pg(e,t,n,r){return Zl(n)?dt(r,0,(o,i)=>xo(i,n.items.length)||Ar(e,t,n.additionalItems,o)&&t.AddIndex(i)):!0}function mg(e,t,n,r,s,o){return Zl(s)?dt(o,0,(u,p)=>{const d=`${n}/additionalItems`,f=`${r}/${p}`;return xo(p,s.items.length)||Pr(e,t,d,f,s.additionalItems,u)&&t.AddIndex(p)}):!0}function UN(e){return`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`}function ed(e){const t=[];return os(e)&&t.push(...M(e.patternProperties)),is(e)&&t.push(...M(e.properties).map(UN)),g(t.length,0)?"(?!)":`(${t.join("|")})`}function hg(e,t,n){return or(t)&&is(t)&&!os(t)&&g(t.additionalProperties,!1)&&g(M(t.properties).length,t.required.length)}function gg(e,t,n){return Kt(ue(qe(ue("Object","getOwnPropertyNames"),[n]),"length"),H(t.required.length))}function bg(e,t,n,r){const[s,o]=[it(),it()],i=as(new RegExp(ed(n))),u=Tn(e,t,n.additionalProperties,`${r}[${s}]`),p=qe(ue(i,"test"),[s]),d=t.AddKey(s),f=t.UseUnevaluated()?ze(p,wt(u,d)):ze(p,u);return Rn(Qr(r),H(0),[s,o],f)}function kg(e,t,n,r){return hg(t,n)?gg(t,n,r):bg(e,t,n,r)}function xg(e,t,n,r){const s=new RegExp(ed(n));return dt(M(r),0,(i,u)=>s.test(i)||Ar(e,t,n.additionalProperties,r[i])&&t.AddKey(i))}function yg(e,t,n,r,s,o){const i=new RegExp(ed(s)),u=[];return jt(M(o),0,(d,f)=>{const m=`${n}/additionalProperties`,h=`${r}/${d}`,k=new Dn,x=i.test(d)||Pr(e,k,m,h,s.additionalProperties,o[d])&&t.AddKey(d);return x||u.push(d),x})||t.AddError({keyword:"additionalProperties",schemaPath:n,instancePath:r,params:{additionalProperties:u}})}function Xo(e,t,n,r,s){const o=Wn("results","[]"),i=n.map((f,m)=>Wn(`context_${m}`,tl("CheckContext",[]))),u=n.map((f,m)=>Wn(`condition_${m}`,qe(hr(["context"],st(e,t,f,r)),[`context_${m}`]))),p=n.map((f,m)=>tp(`condition_${m}`,qe(ue("results","push"),[`context_${m}`]))),d=Yi(wt(s,t.Merge("results")));return qe(hr([],Qi([o,...i,...u,...p,d])),[])}function BN(e,t,n,r){return Xo(e,t,n.allOf,r,Kt(ue("results","length"),H(n.allOf.length)))}function HN(e,t,n,r){return St(n.allOf.map(s=>st(e,t,s,r)))}function wg(e,t,n,r){return t.UseUnevaluated()?BN(e,t,n,r):HN(e,t,n,r)}function vg(e,t,n,r){const s=n.allOf.reduce((o,i)=>{const u=new Ln;return ot(e,u,i,r)?[...o,u]:o},[]);return g(s.length,n.allOf.length)&&t.Merge(s)}function Sg(e,t,n,r,s,o){const i=[],u=s.allOf.reduce((d,f,m)=>{const h=`${n}/allOf/${m}`,k=new Dn,x=It(e,k,h,r,f,o);return x||i.push(k),x?[...d,k]:d},[]),p=g(u.length,s.allOf.length)&&t.Merge(u);return p||i.forEach(d=>d.GetErrors().forEach(f=>t.AddError(f))),p}function zN(e,t,n,r){return Xo(e,t,n.anyOf,r,Xf(ue("results","length"),H(0)))}function qN(e,t,n,r){return nl(n.anyOf.map(s=>st(e,t,s,r)))}function Ig(e,t,n,r){return t.UseUnevaluated()?zN(e,t,n,r):qN(e,t,n,r)}function jg(e,t,n,r){const s=n.anyOf.reduce((o,i)=>{const u=new Ln;return ot(e,u,i,r)?[...o,u]:o},[]);return Wr(s.length,0)&&t.Merge(s)}function Cg(e,t,n,r,s,o){const i=[],u=s.anyOf.reduce((d,f,m)=>{const h=new Dn,k=`${n}/anyOf/${m}`,x=It(e,h,k,r,f,o);return x||i.push(h),x?[...d,h]:d},[]),p=Wr(u.length,0)&&t.Merge(u);return p||i.forEach(d=>d.GetErrors().forEach(f=>t.AddError(f))),p||t.AddError({keyword:"anyOf",schemaPath:n,instancePath:r,params:{}})}function Eg(e,t,n,r){return H(!!n)}function td(e,t,n,r){return n}function Tg(e,t,n,r,s,o){return td(e,t,s)||t.AddError({keyword:"boolean",schemaPath:n,instancePath:r,params:{}})}function Ag(e,t,n,r){return Ts(n.const)?Kt(r,H(n.const)):ep(r,as(n.const))}function nd(e,t,n,r){return Ts(n.const)?g(r,n.const):Vr(r,n.const)}function Pg(e,t,n,r,s,o){return nd(e,t,s,o)||t.AddError({keyword:"const",schemaPath:n,instancePath:r,params:{allowedValue:s.const}})}function Ng(e){return!(rs(e)&&g(e.minContains,0))}function KN(e,t,n,r){const[s,o]=[it(),it()],i=Pt(Kt(ue(r,"length"),H(0))),u=I0(r,[s,o],wt(st(e,t,n.contains,s),t.AddIndex(o)));return wt(i,u)}function GN(e,t,n,r){const[s]=[it()],o=Pt(Kt(ue(r,"length"),H(0))),i=S0(r,[s,"_"],st(e,t,n.contains,s));return wt(o,i)}function Og(e,t,n,r){return Ng(n)?t.UseUnevaluated()?KN(e,t,n,r):GN(e,t,n,r):H(!0)}function rd(e,t,n,r){return Ng(n)?!g(r.length,0)&&Gf(r,(s,o)=>ot(e,t,n.contains,s)&&t.AddIndex(o)):!0}function Rg(e,t,n,r,s,o){return rd(e,t,s,o)||t.AddError({keyword:"contains",schemaPath:n,instancePath:r,params:{minContains:1}})}function $g(e,t,n,r){const s=Kt(ue(Qr(r),"length"),H(0)),o=St(tt(n.dependencies).map(([i,u])=>{const p=Pt(Br(r,H(i))),d=st(e,t,u,r),f=m=>St(m.map(h=>Br(r,H(h))));return ze(p,_(u)?f(u):d)}));return ze(s,o)}function Mg(e,t,n,r){const s=g(M(r).length,0),o=dt(tt(n.dependencies),0,([i,u])=>!E(r,i)||(_(u)?u.every(p=>E(r,p)):ot(e,t,u,r)));return s||o}function Fg(e,t,n,r,s,o){const i=g(M(o).length,0),u=jt(tt(s.dependencies),0,([p,d])=>{const f=`${n}/dependencies/${p}`;return!E(o,p)||(_(d)?d.every(m=>E(o,m)||t.AddError({keyword:"dependencies",schemaPath:n,instancePath:r,params:{property:p,dependencies:d}})):It(e,t,f,r,d,o))});return i||u}function Lg(e,t,n,r){const s=Kt(ue(Qr(r),"length"),H(0)),o=St(tt(n.dependentRequired).map(([i,u])=>{const p=Pt(Br(r,H(i))),d=St(u.map(f=>Br(r,H(f))));return ze(p,d)}));return ze(s,o)}function Dg(e,t,n,r){const s=g(M(r).length,0),o=dt(tt(n.dependentRequired),0,([i,u])=>!E(r,i)||u.every(p=>E(r,p)));return s||o}function _g(e,t,n,r,s,o){const i=g(M(o).length,0),u=jt(tt(s.dependentRequired),0,([p,d])=>!E(o,p)||jt(d,0,f=>E(o,f)||t.AddError({keyword:"dependentRequired",schemaPath:n,instancePath:r,params:{property:p,dependencies:d}})));return i||u}function Ug(e,t,n,r){const s=Kt(ue(Qr(r),"length"),H(0)),o=St(tt(n.dependentSchemas).map(([i,u])=>{const p=Pt(Br(r,H(i))),d=st(e,t,u,r);return ze(p,d)}));return ze(s,o)}function Bg(e,t,n,r){const s=g(M(r).length,0),o=dt(tt(n.dependentSchemas),0,([i,u])=>!E(r,i)||ot(e,t,u,r));return s||o}function Hg(e,t,n,r,s,o){const i=g(M(o).length,0),u=jt(tt(s.dependentSchemas),0,([p,d])=>{const f=`${n}/dependentSchemas/${p}`;return!E(o,p)||It(e,t,f,r,d,o)});return i||u}function WN(e,t,n,r){const s=e.DynamicRef(n)??!1;return zs(e,t,s,r)}function VN(e,t,n,r){const s=e.DynamicRef(n)??!1;return De(s)&&ot(e,t,s,r)}function JN(e,t,n,r,s,o){const i=e.DynamicRef(s)??!1;return De(i)&&It(e,t,"#",r,i,o)}function zg(e,t,n,r){return nl(n.enum.map(s=>{if(Ts(s))return Kt(r,H(s));const o=as(s);return ep(r,o)}))}function sd(e,t,n,r){return As(n.enum,s=>Ts(s)?g(r,s):Vr(r,s))}function qg(e,t,n,r,s,o){return sd(e,t,s,o)||t.AddError({keyword:"enum",schemaPath:n,instancePath:r,params:{allowedValues:s.enum}})}function Kg(e,t,n,r){return el(r,H(n.exclusiveMaximum))}function od(e,t,n,r){return xo(r,n.exclusiveMaximum)}function Gg(e,t,n,r,s,o){return od(e,t,s,o)||t.AddError({keyword:"exclusiveMaximum",schemaPath:n,instancePath:r,params:{comparison:"<",limit:s.exclusiveMaximum}})}function Wg(e,t,n,r){return Xf(r,H(n.exclusiveMinimum))}function id(e,t,n,r){return Wr(r,n.exclusiveMinimum)}function Vg(e,t,n,r,s,o){return id(e,t,s,o)||t.AddError({keyword:"exclusiveMinimum",schemaPath:n,instancePath:r,params:{comparison:">",limit:s.exclusiveMinimum}})}const QN=[0,31,28,31,30,31,30,31,31,30,31,30,31],YN=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;function XN(e){return e%4===0&&(e%100!==0||e%400===0)}function ad(e){const t=YN.exec(e);if(!t)return!1;const n=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(r===2&&XN(n)?29:QN[r])}const ZN=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(?:Z|([+-])(\d\d):(\d\d))?$/i;function cd(e,t=!0){const n=ZN.exec(e);if(!n)return!1;const r=+n[1],s=+n[2],o=+n[3],i=n[4]==="-"?-1:1,u=+(n[5]||0),p=+(n[6]||0);if(u>23||p>59||t&&!n[4]&&e.toLowerCase().indexOf("z")===-1)return!1;if(r<=23&&s<=59&&o<60)return!0;const d=s-p*i,f=r-u*i-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&o<61}function Jg(e,t=!0){const n=e.split(/T/i);return n.length===2&&ad(n[0])&&cd(n[1],t)}const eO=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;function Qg(e){return eO.test(e)}const tO=/^(?!.*\.\.)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;function Yg(e){return tO.test(e)}const _r=36,vi=1,Sc=26,nO=38,rO=700,sO=72,oO=128;function iO(e,t,n){e=n?Math.floor(e/rO):e>>1,e+=Math.floor(e/t);let r=0;for(;e>(_r-vi)*Sc>>1;)e=Math.floor(e/(_r-vi)),r+=_r;return r+Math.floor((_r-vi+1)*e/(e+nO))}function aO(e){const t=[];let n=oO,r=0,s=sO;const o=e.lastIndexOf("-");if(o>0)for(let u=0;u<o;u++){const p=e.charCodeAt(u);if(p>=128)throw new Error("Invalid punycode: non-basic before delimiter");t.push(p)}let i=o<0?0:o+1;for(;i<e.length;){const u=r;let p=1,d=_r;for(;;){if(i>=e.length)throw new Error("Invalid punycode: unexpected end of input");const m=e.charCodeAt(i++);let h;if(m>=97&&m<=122)h=m-97;else if(m>=48&&m<=57)h=m-48+26;else if(m>=65&&m<=90)Nt();else throw new Error("Invalid punycode: bad digit character");r+=h*p;const k=d<=s?vi:d>=s+Sc?Sc:d-s;if(h<k)break;p*=_r-k,d+=_r}const f=t.length+1;s=iO(r-u,f,u===0),n+=Math.floor(r/f),r%=f,t.splice(r,0,n),r++}return globalThis.String.fromCodePoint(...t)}function cO(e){return new RegExp("\\p{Mn}","u").test(String.fromCodePoint(e))}function lO(e){return new RegExp("\\p{Mc}","u").test(String.fromCodePoint(e))}function dO(e){return new RegExp("\\p{Me}","u").test(String.fromCodePoint(e))}function uO(e){return cO(e)||lO(e)||dO(e)}const fO=new Set([1600,2042,12334,12335,12337,12338,12339,12340,12341,12347]),pO=new Set([2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,6980,7082,7083,43456,69702,69759,69817,69939,69940,70080,70197,70477,70722,70850,71103,71231,71350,72767,73028,73029]);function mO(e){return new RegExp("\\p{Script=Greek}","u").test(String.fromCodePoint(e))}function hO(e){return new RegExp("\\p{Script=Hebrew}","u").test(String.fromCodePoint(e))}function gO(e){return new RegExp("\\p{Script=Hiragana}","u").test(String.fromCodePoint(e))}function bO(e){return new RegExp("\\p{Script=Katakana}","u").test(String.fromCodePoint(e))}function kO(e){return new RegExp("\\p{Script=Han}","u").test(String.fromCodePoint(e))}function xO(e){return e>=1632&&e<=1641}function yO(e){return e>=1776&&e<=1785}function Lu(e){return pO.has(e)}function Xg(e){if(e.length===0)return Nt();const t=[...e].map(i=>i.codePointAt(0)),n=t.length;if(t[0]===45||t[n-1]===45||n>=4&&t[2]===45&&t[3]===45||uO(t[0]))return!1;let r=!1,s=!1,o=!1;for(let i=0;i<n;i++){const u=t[i];if(fO.has(u))return!1;(gO(u)||bO(u)||kO(u))&&(r=!0),xO(u)&&(s=!0),yO(u)&&(o=!0);const p=t[i-1],d=t[i+1];switch(u){case 183:if(p!==108||d!==108)return!1;break;case 885:if(d===void 0||!mO(d))return!1;break;case 1523:case 1524:if(p===void 0||!hO(p))return!1;break;case 8204:if(p===void 0||p<128&&!Lu(p))return!1;break;case 8205:if(p===void 0||!Lu(p))return!1;break}}return!(e.includes("・")&&!r||s&&o)}function wO(e){if(e.charCodeAt(0)===45||e.charCodeAt(e.length-1)===45||e.length>=4&&e.charCodeAt(2)===45&&e.charCodeAt(3)===45)return!1;for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(!(n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||n===45))return!1}return!0}function Zg(e){return e.toLowerCase().startsWith("xn--")}function eb(e){try{const t=e.slice(4).toLowerCase();if(t.lastIndexOf("-")===0)return!1;const r=aO(t);return r?Xg(r):!1}catch{return!1}}function vO(e){return e.length===0||e.length>63?!1:Zg(e)?eb(e):Xg(e)}function SO(e){return e.length===0||e.length>63?!1:Zg(e)?eb(e):wO(e)}function tb(e){if(e.length===0||e.length>253||e.charCodeAt(e.length-1)===46)return!1;for(const t of e.split("."))if(!SO(t))return!1;return!0}const IO=/^(?!.*\.\.)[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+(?:\.[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+)*@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?)*$/iu;function nb(e){return IO.test(e)}function rb(e){if(e.length===0||e.includes(" "))return!1;const t=e.normalize("NFC").replace(/[\u002E\u3002\uFF0E\uFF61]/g,".");if(t.length>253)return!1;for(const n of t.split("."))if(!vO(n))return!1;return!0}function sb(e,t,n){let r=0,s=0,o=0,i=0;for(let u=t;u<n;u++){const p=e.charCodeAt(u);if(p===46){if(o===0||s>255||i===48&&o>1)return!1;r++,s=0,o=0,i=0}else if(p>=48&&p<=57)o===0&&(i=p),s=s*10+(p-48),o++;else return!1}return r===3&&o>0&&s<=255&&!(i===48&&o>1)}function ob(e){return sb(e,0,e.length)}function jO(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function ib(e){const t=e.length;if(t===0)return!1;let n=0,r=!1,s=0;if(e.charCodeAt(0)===58&&e.charCodeAt(1)===58){if(t===2)return!0;r=!0,s=2}for(;s<t;){let o=0;const i=s;for(;s<t&&jO(e.charCodeAt(s));)s++,o++;if(o===0)return!1;const u=e.charCodeAt(s);if(u===46){if(!sb(e,i,t))return!1;n+=2,s=t;break}if(o>4)return!1;if(n++,s===t)break;if(u!==58)return!1;if(s++,e.charCodeAt(s)===58){if(r||e.charCodeAt(s+1)===58)return!1;if(r=!0,s++,s===t)break}}return r?n<=7:n===8}function Du(e){try{return new URL(e,"http://example.com"),!0}catch{return!1}}function ab(e){if(e.includes(" ")||e.includes("\\")||/[\x00-\x1F\x7F]/.test(e)||/%(?![0-9a-fA-F]{2})/.test(e))return!1;if(e==="")return!0;const t=e.indexOf(":");return t>0&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e.substring(0,t))?Du(e):e.match(/^([a-zA-Z][a-zA-Z0-9+\-.]*)(\/\/)/)&&t===-1?!1:Du(e)}function cb(e){try{return new URL(e),!0}catch{return!1}}const CO=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function lb(e){return CO.test(e)}const EO=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function db(e){return EO.test(e)}function ub(e){if(e.length===0)return!1;try{return new RegExp(e),!0}catch{return!1}}const TO=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function fb(e){return TO.test(e)}const AO=/^(?!.*[^\x00-\x7F])(?!.*\\)(?:(?:[a-z][a-z0-9+\-.]*:)?(?:\/\/[^\s[\]{}<>^`|]*)?|[^\s[\]{}<>^`|]*)(?:\?[^\s[\]{}<>^`|]*)?(?:#[^\s[\]{}<>^`|]*)?$/i;function pb(e){return AO.test(e)}const PO=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;function mb(e){return PO.test(e)}function hb(e){return e>=97&&e<=122||e>=65&&e<=90}function gb(e){return hb(e)||e>=48&&e<=57}function gi(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function NO(e){return gb(e)||e===43||e===45||e===46}function Ic(e){return gb(e)||e===45||e===46||e===95||e===126}function jc(e){return e===33||e===36||e===38||e===39||e===40||e===41||e===42||e===43||e===44||e===59||e===61}function OO(e){return Ic(e)||jc(e)||e===58||e===64}function bb(e){const t=e.length;if(t===0||!hb(e.charCodeAt(0)))return!1;let n=1;for(;n<t;){const r=e.charCodeAt(n);if(r===58)break;if(!NO(r))return!1;n++}if(e.charCodeAt(n)!==58)return!1;if(n++,e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47){n+=2;const r=n;let s=-1;for(let o=n;o<t;o++){const i=e.charCodeAt(o);if(i===64){s=o;break}if(i===47||i===63||i===35)break}if(s!==-1){for(let o=r;o<s;o++){const i=e.charCodeAt(o);if(i===91||i===93)return!1;if(i===37){if(o+2>=s||!gi(e.charCodeAt(o+1))||!gi(e.charCodeAt(o+2)))return!1;o+=2}else if(!Ic(i)&&!jc(i)&&i!==58)return!1}n=s+1}if(e.charCodeAt(n)===91){for(n++;n<t&&e.charCodeAt(n)!==93;)n++;if(e.charCodeAt(n)!==93)return!1;n++}else for(;n<t;){const o=e.charCodeAt(n);if(o===47||o===63||o===35||o===58)break;if(o<128&&!Ic(o)&&!jc(o))return!1;n++}if(e.charCodeAt(n)===58)for(n++;n<t;){const o=e.charCodeAt(n);if(o===47||o===63||o===35)break;if(o<48||o>57)return!1;n++}}for(;n<t;){const r=e.charCodeAt(n);if(r===37){if(n+2>=t||!gi(e.charCodeAt(n+1))||!gi(e.charCodeAt(n+2)))return!1;n+=2}else{if(r>127)return!1;if(!(OO(r)||r===47||r===63||r===35))return!1}n++}return!0}const RO=/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu;function kb(e){return RO.test(e)}const $O=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function xb(e){return $O.test(e)}const Be=new Map;function yb(){Be.clear()}function MO(){return[...Be.entries()]}function FO(e,t){Be.set(e,t)}function LO(e){return Be.has(e)}function DO(e){return Be.get(e)}function wb(e,t){var n;return((n=Be.get(e))==null?void 0:n(t))??!0}function vb(){yb(),Be.set("date-time",Jg),Be.set("date",ad),Be.set("duration",Qg),Be.set("email",Yg),Be.set("hostname",tb),Be.set("idn-email",nb),Be.set("idn-hostname",rb),Be.set("ipv4",ob),Be.set("ipv6",ib),Be.set("iri-reference",ab),Be.set("iri",cb),Be.set("json-pointer-uri-fragment",lb),Be.set("json-pointer",db),Be.set("regex",ub),Be.set("relative-json-pointer",fb),Be.set("time",cd),Be.set("uri-reference",pb),Be.set("uri-template",mb),Be.set("uri",bb),Be.set("url",kb),Be.set("uuid",xb)}vb();const _O=Object.freeze(Object.defineProperty({__proto__:null,Clear:yb,Entries:MO,Get:DO,Has:LO,IsDate:ad,IsDateTime:Jg,IsDuration:Qg,IsEmail:Yg,IsHostname:tb,IsIPv4:ob,IsIPv6:ib,IsIdnEmail:nb,IsIdnHostname:rb,IsIri:cb,IsIriReference:ab,IsJsonPointer:db,IsJsonPointerUriFragment:lb,IsRegex:ub,IsRelativeJsonPointer:fb,IsTime:cd,IsUri:bb,IsUriReference:pb,IsUriTemplate:mb,IsUrl:kb,IsUuid:xb,Reset:vb,Set:FO,Test:wb},Symbol.toStringTag,{value:"Module"}));function Sb(e,t,n,r){return qe(ue("Format","Test"),[H(n.format),r])}function ld(e,t,n,r){return wb(n.format,r)}function Ib(e,t,n,r,s,o){return ld(e,t,s,o)||t.AddError({keyword:"format",schemaPath:n,instancePath:r,params:{format:s.format}})}function jb(e,t,n,r){const s=Ia(n)?n.then:!0,o=ga(n)?n.else:!0;return C0(st(e,t,n.if,r),st(e,t,s,r),st(e,t,o,r))}function Cb(e,t,n,r){const s=Ia(n)?n.then:!0,o=ga(n)?n.else:!0;return ot(e,t,n.if,r)?ot(e,t,s,r):ot(e,t,o,r)}function Eb(e,t,n,r,s,o){const i=Ia(s)?s.then:!0,u=ga(s)?s.else:!0,p=new Dn,d=It(e,p,`${n}/if`,r,s.if,o)?It(e,p,`${n}/then`,r,i,o)||t.AddError({keyword:"if",schemaPath:n,instancePath:r,params:{failingKeyword:"then"}}):It(e,t,`${n}/else`,r,u,o)||t.AddError({keyword:"if",schemaPath:n,instancePath:r,params:{failingKeyword:"else"}});return d&&t.Merge([p]),d}function UO(e,t,n,r){return St(n.items.map((s,o)=>{const i=Jr(ue(r,"length"),H(o)),u=Tn(e,t,s,`${r}[${o}]`),p=t.AddIndex(H(o));return ze(i,wt(u,p))}))}function BO(e,t,n,r){return St(n.items.map((s,o)=>{const i=Jr(ue(r,"length"),H(o)),u=Tn(e,t,s,`${r}[${o}]`);return ze(i,u)}))}function HO(e,t,n,r){return t.UseUnevaluated()?UO(e,t,n,r):BO(e,t,n,r)}function zO(e,t,n,r){return dt(n.items,0,(s,o)=>Zn(r.length,o)||Ar(e,t,s,r[o])&&t.AddIndex(o))}function qO(e,t,n,r,s,o){return jt(s.items,0,(i,u)=>{const p=`${n}/items/${u}`,d=`${r}/${u}`;return Zn(o.length,u)||Pr(e,t,p,d,i,o[u])&&t.AddIndex(u)})}function KO(e,t,n,r){const s=sr(n)?n.prefixItems.length:0,o=Tn(e,t,n.items,"element"),i=t.AddIndex("index");return Rn(r,H(s),["element","index"],wt(o,i))}function GO(e,t,n,r){const s=sr(n)?n.prefixItems.length:0,o=Tn(e,t,n.items,"element");return Rn(r,H(s),["element","index"],o)}function WO(e,t,n,r){return t.UseUnevaluated()?KO(e,t,n,r):GO(e,t,n,r)}function VO(e,t,n,r){const s=sr(n)?n.prefixItems.length:0;return dt(r,s,(o,i)=>Ar(e,t,n.items,o)&&t.AddIndex(i))}function JO(e,t,n,r,s,o){const i=sr(s)?s.prefixItems.length:0;return jt(o,i,(u,p)=>{const d=`${n}/items`,f=`${r}/${p}`;return Pr(e,t,d,f,s.items,u)&&t.AddIndex(p)})}function Tb(e,t,n,r){return xa(n)?HO(e,t,n,r):WO(e,t,n,r)}function Ab(e,t,n,r){return xa(n)?zO(e,t,n,r):VO(e,t,n,r)}function Pb(e,t,n,r,s,o){return xa(s)?qO(e,t,n,r,s,o):JO(e,t,n,r,s,o)}function Nb(e){return ns(e)}function Ob(e,t,n,r){if(!Nb(n))return H(!0);const[s]=[it()],o=Ji(r,[s,"_"],st(e,t,n.contains,s));return Jr(o,H(n.maxContains))}function dd(e,t,n,r){if(!Nb(n))return!0;const s=Qc(r,o=>ot(e,t,n.contains,o));return Zn(s,n.maxContains)}function Rb(e,t,n,r,s,o){const i=rs(s)?s.minContains:1;return dd(e,t,s,o)||t.AddError({keyword:"contains",schemaPath:n,instancePath:r,params:{minContains:i,maxContains:s.maxContains}})}function $b(e,t,n,r){return Jr(r,H(n.maximum))}function ud(e,t,n,r){return Zn(r,n.maximum)}function Mb(e,t,n,r,s,o){return ud(e,t,s,o)||t.AddError({keyword:"maximum",schemaPath:n,instancePath:r,params:{comparison:"<=",limit:s.maximum}})}function Fb(e,t,n,r){return Jr(ue(r,"length"),H(n.maxItems))}function fd(e,t,n,r){return Zn(r.length,n.maxItems)}function Lb(e,t,n,r,s,o){return fd(e,t,s,o)||t.AddError({keyword:"maxItems",schemaPath:n,instancePath:r,params:{limit:s.maxItems}})}function Db(e,t,n,r){return v0(r,H(n.maxLength))}function pd(e,t,n,r){return qf(r,n.maxLength)}function _b(e,t,n,r,s,o){return pd(e,t,s,o)||t.AddError({keyword:"maxLength",schemaPath:n,instancePath:r,params:{limit:s.maxLength}})}function Ub(e,t,n,r){return Jr(ue(Qr(r),"length"),H(n.maxProperties))}function md(e,t,n,r){return Zn(M(r).length,n.maxProperties)}function Bb(e,t,n,r,s,o){return md(e,t,s,o)||t.AddError({keyword:"maxProperties",schemaPath:n,instancePath:r,params:{limit:s.maxProperties}})}function Hb(e){return ns(e)}function QO(e,t,n,r){const[s,o]=[it(),it()],i=Ji(r,[s,o],wt(st(e,t,n.contains,s),t.AddIndex(o)));return yo(i,H(n.minContains))}function YO(e,t,n,r){const[s]=[it()],o=Ji(r,[s,"_"],st(e,t,n.contains,s));return yo(o,H(n.minContains))}function zb(e,t,n,r){return Hb(n)?t.UseUnevaluated()?QO(e,t,n,r):YO(e,t,n,r):H(!0)}function hd(e,t,n,r){if(!Hb(n))return!0;const s=Qc(r,(o,i)=>ot(e,t,n.contains,o)&&t.AddIndex(i));return Es(s,n.minContains)}function qb(e,t,n,r,s,o){return hd(e,t,s,o)||t.AddError({keyword:"contains",schemaPath:n,instancePath:r,params:{minContains:s.minContains}})}function Kb(e,t,n,r){return yo(r,H(n.minimum))}function gd(e,t,n,r){return Es(r,n.minimum)}function Gb(e,t,n,r,s,o){return gd(e,t,s,o)||t.AddError({keyword:"minimum",schemaPath:n,instancePath:r,params:{comparison:">=",limit:s.minimum}})}function Wb(e,t,n,r){return yo(ue(r,"length"),H(n.minItems))}function bd(e,t,n,r){return Es(r.length,n.minItems)}function Vb(e,t,n,r,s,o){return bd(e,t,s,o)||t.AddError({keyword:"minItems",schemaPath:n,instancePath:r,params:{limit:s.minItems}})}function Jb(e,t,n,r){return w0(r,H(n.minLength))}function kd(e,t,n,r){return Kf(r,n.minLength)}function Qb(e,t,n,r,s,o){return kd(e,t,s,o)||t.AddError({keyword:"minLength",schemaPath:n,instancePath:r,params:{limit:s.minLength}})}function Yb(e,t,n,r){return yo(ue(Qr(r),"length"),H(n.minProperties))}function xd(e,t,n,r){return Es(M(r).length,n.minProperties)}function Xb(e,t,n,r,s,o){return xd(e,t,s,o)||t.AddError({keyword:"minProperties",schemaPath:n,instancePath:r,params:{limit:s.minProperties}})}function Zb(e,t,n,r){return E0(r,H(n.multipleOf))}function yd(e,t,n,r){return Hf(r,n.multipleOf)}function ek(e,t,n,r,s,o){return yd(e,t,s,o)||t.AddError({keyword:"multipleOf",schemaPath:n,instancePath:r,params:{multipleOf:s.multipleOf}})}function XO(e,t,n,r){return Xo(e,t,[n.not],r,Pt(Kt(ue("results","length"),H(1))))}function ZO(e,t,n,r){return Pt(st(e,t,n.not,r))}function tk(e,t,n,r){return t.UseUnevaluated()?XO(e,t,n,r):ZO(e,t,n,r)}function wd(e,t,n,r){const s=new Ln;return!ot(e,s,n.not,r)&&t.Merge([s])}function nk(e,t,n,r,s,o){return wd(e,t,s,o)||t.AddError({keyword:"not",schemaPath:n,instancePath:r,params:{}})}function eR(e,t,n,r){return Xo(e,t,n.oneOf,r,Kt(ue("results","length"),H(1)))}function tR(e,t,n,r){const[s]=[it()],o=j0(n.oneOf.map(u=>st(e,t,u,r))),i=Ji(o,[s,"_"],Kt(s,H(!0)));return Kt(i,H(1))}function rk(e,t,n,r){return t.UseUnevaluated()?eR(e,t,n,r):tR(e,t,n,r)}function sk(e,t,n,r){const s=n.oneOf.reduce((o,i)=>{const u=new Ln;return ot(e,u,i,r)?[...o,u]:o},[]);return g(s.length,1)&&t.Merge(s)}function ok(e,t,n,r,s,o){const i=[],u=[],p=s.oneOf.reduce((f,m,h)=>{const k=new Dn,x=`${n}/oneOf/${h}`,C=It(e,k,x,r,m,o);return C&&u.push(h),C||i.push(k),C?[...f,k]:f},[]),d=g(p.length,1)&&t.Merge(p);return!d&&g(u.length,0)&&i.forEach(f=>f.GetErrors().forEach(m=>t.AddError(m))),d||t.AddError({keyword:"oneOf",schemaPath:n,instancePath:r,params:{passingSchemas:u}})}function ik(e,t,n,r){const s=as(ae(n.pattern)?new RegExp(n.pattern,"u"):n.pattern);return qe(ue(s,"test"),[r])}function vd(e,t,n,r){return(ae(n.pattern)?new RegExp(n.pattern,"u"):n.pattern).test(r)}function ak(e,t,n,r,s,o){return vd(e,t,s,o)||t.AddError({keyword:"pattern",schemaPath:n,instancePath:r,params:{pattern:s.pattern}})}function ck(e,t,n,r){return St(tt(n.patternProperties).map(([s,o])=>{const[i,u]=[it(),it()],p=as(new RegExp(s,"u")),d=Pt(qe(ue(p,"test"),[i])),f=Tn(e,t,o,u),m=t.AddKey(i),h=t.UseUnevaluated()?ze(d,wt(f,m)):ze(d,f);return Rn(Zf(r),H(0),[`[${i}, ${u}]`,"_"],h)}))}function lk(e,t,n,r){return dt(tt(n.patternProperties),0,([s,o])=>{const i=new RegExp(s,"u");return dt(tt(r),0,([u,p])=>!i.test(u)||Ar(e,t,o,p)&&t.AddKey(u))})}function dk(e,t,n,r,s,o){return jt(tt(s.patternProperties),0,([i,u])=>{const p=`${n}/patternProperties/${i}`,d=new RegExp(i,"u");return jt(tt(o),0,([f,m])=>{const h=`${r}/${f}`;return!d.test(f)||Pr(e,t,p,h,u,m)&&t.AddKey(f)})})}function uk(e,t,n,r){return St(n.prefixItems.map((s,o)=>{const i=Jr(ue(r,"length"),H(o)),u=Tn(e,t,s,`${r}[${o}]`),p=t.AddIndex(H(o)),d=t.UseUnevaluated()?wt(u,p):u;return ze(i,d)}))}function fk(e,t,n,r){return g(r.length,0)||dt(n.prefixItems,0,(s,o)=>Zn(r.length,o)||Ar(e,t,s,r[o])&&t.AddIndex(o))}function pk(e,t,n,r,s,o){return g(o.length,0)||jt(s.prefixItems,0,(i,u)=>{const p=`${n}/prefixItems/${u}`,d=`${r}/${u}`;return Zn(o.length,u)||Pr(e,t,p,d,i,o[u])&&t.AddIndex(u)})}function Sd(e,t){return e.includes(t)||vo().exactOptionalPropertyTypes}function nR(e,t){return ac(ue(e,t))}function mk(e,t){return Ne(e[t])}function hk(e,t,n,r){const s=or(n)?n.required:[],o=tt(n.properties).map(([i,u])=>{const p=Pt(Br(r,H(i))),d=Tn(e,t,u,ue(r,i)),f=t.AddKey(H(i)),m=t.UseUnevaluated()?wt(d,f):d,h=s.includes(i)?m:ze(p,m);return Sd(s,i)?h:ze(nR(r,i),h)});return St(o)}function gk(e,t,n,r){const s=or(n)?n.required:[];return dt(tt(n.properties),0,([i,u])=>{const p=!E(r,i)||Ar(e,t,u,r[i])&&t.AddKey(i);return Sd(s,i)?p:mk(r,i)||p})}function bk(e,t,n,r,s,o){const i=or(s)?s.required:[];return jt(tt(s.properties),0,([p,d])=>{const f=`${n}/properties/${p}`,m=`${r}/${p}`,h=()=>!E(o,p)||Pr(e,t,f,m,d,o[p])&&t.AddKey(p);return Sd(i,p)?h():mk(o,p)||h()})}function kk(e,t,n,r){const[s,o]=[it(),it()];return Rn(Qr(r),H(0),[s,o],st(e,t,n.propertyNames,s))}function xk(e,t,n,r){return dt(M(r),0,(s,o)=>ot(e,t,n.propertyNames,s))}function yk(e,t,n,r,s,o){const i=[];return jt(M(o),0,(p,d)=>{const f=`${r}/${p}`,m=`${n}/propertyNames`,h=new Dn,k=It(e,h,m,f,s.propertyNames,p);return k||i.push(p),k})||t.AddError({keyword:"propertyNames",schemaPath:n,instancePath:r,params:{propertyNames:i}})}function wk(e,t,n,r){const s=e.RecursiveRef(n)??!1;return zs(e,t,s,r)}function vk(e,t,n,r){const s=e.RecursiveRef(n)??!1;return De(s)&&ot(e,t,s,r)}function Sk(e,t,n,r,s,o){const i=e.RecursiveRef(s)??!1;return De(i)&&It(e,t,"#",r,i,o)}function rR(e,t,n,r){const s=hr(["context","value"],zs(e,t,n,"value")),o=hr(["context","value"],Qi([Wn("nextContext",tl("CheckContext",[])),Wn("result",qe(s,["nextContext","value"])),tp("result",t.Merge("[nextContext]")),Yi("result")]));return qe(o,["context",r])}function sR(e,t,n,r){return zs(e,t,n,r)}function Ik(e,t,n,r){const s=e.Ref(n)??!1;return t.UseUnevaluated()?rR(e,t,s,r):sR(e,t,s,r)}function jk(e,t,n,r){const s=e.Ref(n)??!1,o=new Ln,i=De(s)&&ot(e,o,s,r);return i&&t.Merge([o]),i}function Ck(e,t,n,r,s,o){const i=e.Ref(s)??!1,u=new Dn,p=De(i)&&It(e,u,"#",r,i,o);return p&&t.Merge([u]),p||u.GetErrors().forEach(d=>t.AddError(d)),p}function Ek(e,t,n,r){return St(n.required.map(s=>Br(r,H(s))))}function Tk(e,t,n,r){return dt(n.required,0,s=>E(r,s))}function Ak(e,t,n,r,s,o){const i=[];return jt(s.required,0,p=>{const d=E(o,p);return d||i.push(p),d})||t.AddError({keyword:"required",schemaPath:n,instancePath:r,params:{requiredProperties:i}})}function Pk(e,t,n,r){return g(n,"object")?Jf(r):g(n,"array")?Ti(r):g(n,"boolean")?h0(r):g(n,"integer")?g0(r):g(n,"number")?Vf(r):g(n,"null")?b0(r):g(n,"string")?Yf(r):g(n,"bigint")?Wf(r):g(n,"constructor")?y0(r):g(n,"function")?x0(r):g(n,"symbol")?k0(r):g(n,"undefined")||g(n,"void")?ac(r):H(!0)}function Id(e,t,n,r,s){return g(n,"object")?ln(s):g(n,"array")?_(s):g(n,"boolean")?gt(s):g(n,"integer")?Vc(s):g(n,"number")?ye(s):g(n,"null")?Gt(s):g(n,"string")?ae(s):g(n,"bigint")?et(s):g(n,"constructor")?Vi(s):g(n,"function")?xn(s):g(n,"symbol")?Jc(s):g(n,"undefined")||g(n,"void")?Ne(s):!0}function oR(e,t,n,r){return nl(n.map(s=>Pk(e,t,s,r)))}function Nk(e,t,n,r,s){return As(n,o=>Id(e,t,o,r,s))}function Ok(e,t,n,r){return _(n.type)?oR(e,t,n.type,r):Pk(e,t,n.type,r)}function Rk(e,t,n,r){return _(n.type)?Nk(e,t,n.type,n,r):Id(e,t,n.type,n,r)}function $k(e,t,n,r,s,o){return(_(s.type)?Nk(e,t,s.type,s,o):Id(e,t,s.type,s,o))||t.AddError({keyword:"type",schemaPath:n,instancePath:r,params:{type:s.type}})}function Mk(e,t,n,r){const[s,o]=[it(),it()],i=qe(ue("context","GetIndices"),[]),u=qe(ue("indices","has"),[s]),p=st(e,t,n.unevaluatedItems,o),d=qe(ue("context","AddIndex"),[s]),f=Rn(r,H(0),[o,s],wt(ze(u,p),d));return qe(hr(["context"],Qi([Wn("indices",i),Yi(f)])),["context"])}function Fk(e,t,n,r){const s=t.GetIndices();return dt(r,0,(o,i)=>(s.has(i)||ot(e,t,n.unevaluatedItems,o))&&t.AddIndex(i))}function Lk(e,t,n,r,s,o){const i=t.GetIndices(),u=[];return jt(o,0,(d,f)=>{const m=new Dn,h=(i.has(f)||It(e,m,n,r,s.unevaluatedItems,d))&&t.AddIndex(f);return h||u.push(f),h})||t.AddError({keyword:"unevaluatedItems",schemaPath:n,instancePath:r,params:{unevaluatedItems:u}})}function Dk(e,t,n,r){const[s,o]=[it(),it()],i=qe(ue("context","GetKeys"),[]),u=qe(ue("keys","has"),[s]),p=qe(ue("context","AddKey"),[s]),d=st(e,t,n.unevaluatedProperties,o),f=Rn(Zf(r),H(0),[`[${s}, ${o}]`,"_"],ze(u,wt(d,p)));return qe(hr(["context"],Qi([Wn("keys",i),Yi(f)])),["context"])}function _k(e,t,n,r){const s=t.GetKeys();return dt(tt(r),0,([o,i])=>s.has(o)||ot(e,t,n.unevaluatedProperties,i)&&t.AddKey(o))}function Uk(e,t,n,r,s,o){const i=t.GetKeys(),u=[];return jt(tt(o),0,([d,f])=>{const m=new Dn,h=i.has(d)||It(e,m,n,r,s.unevaluatedProperties,f)&&t.AddKey(d);return h||u.push(d),h})||t.AddError({keyword:"unevaluatedProperties",schemaPath:n,instancePath:r,params:{unevaluatedProperties:u}})}function jd(e){return!g(e.uniqueItems,!1)}function Bk(e,t,n,r){if(!jd(n))return H(!0);const s=ue(tl("Set",[qe(ue(r,"map"),[ue("Hashing","Hash")])]),"size"),o=ue(r,"length");return Kt(s,o)}function Hk(e,t,n,r){if(!jd(n))return!0;const s=new Set(r.map(Xi)).size,o=r.length;return g(s,o)}function zk(e,t,n,r,s,o){if(!jd(s))return!0;const i=new Set,u=o.reduce((d,f,m)=>{const h=Xi(f);return i.has(h)?[...d,m]:(i.add(h),d)},[]);return g(u.length,0)||t.AddError({keyword:"uniqueItems",schemaPath:n,instancePath:r,params:{duplicateItems:u}})}function mo(e,t){return Yo(e)&&(_(e.type)&&Wr(e.type.length,0)&&dt(e.type,0,n=>g(n,t))||g(e.type,t))}function iR(e){return mo(e,"object")}function aR(e){return Zt(e)&&(rr(e)||Bo(e)||Ho(e)||zo(e)||is(e)||os(e)||Qo(e)||_s(e)||Vo(e)||or(e)||Hs(e))}function cR(e){return mo(e,"array")}function lR(e){return Zt(e)&&(Uo(e)||Er(e)||ns(e)||Go(e)||Ls(e)||rs(e)||ss(e)||sr(e)||Bs(e)||yr(e))}function dR(e){return mo(e,"string")}function uR(e){return Zt(e)&&(Ds(e)||Wo(e)||Fs(e)||Us(e))}function fR(e){return mo(e,"number")||mo(e,"bigint")}function pR(e){return Zt(e)&&(Tr(e)||Ko(e)||qo(e)||Cr(e)||Jo(e))}function Tn(e,t,n,r){return t.UseUnevaluated()?wt(wt(t.Push(),st(e,t,n,r)),t.Pop()):st(e,t,n,r)}function st(e,t,n,r){e.Push(n);const s=[];if(_o(n))return Eg(e,t,n);if(Yo(n)&&s.push(Ok(e,t,n,r)),aR(n)){const i=[];or(n)&&i.push(Ek(e,t,n,r)),rr(n)&&i.push(kg(e,t,n,r)),Bo(n)&&i.push($g(e,t,n,r)),Ho(n)&&i.push(Lg(e,t,n,r)),zo(n)&&i.push(Ug(e,t,n,r)),os(n)&&i.push(ck(e,t,n,r)),is(n)&&i.push(hk(e,t,n,r)),Qo(n)&&i.push(kk(e,t,n,r)),_s(n)&&i.push(Yb(e,t,n,r)),Vo(n)&&i.push(Ub(e,t,n,r));const u=St(i),p=ze(Pt(Jf(r)),u);s.push(iR(n)?u:p)}if(lR(n)){const i=[];Uo(n)&&i.push(fg(e,t,n,r)),ns(n)&&i.push(Og(e,t,n,r)),Er(n)&&i.push(Tb(e,t,n,r)),Go(n)&&i.push(Ob(e,t,n,r)),Ls(n)&&i.push(Fb(e,t,n,r)),rs(n)&&i.push(zb(e,t,n,r)),ss(n)&&i.push(Wb(e,t,n,r)),sr(n)&&i.push(uk(e,t,n,r)),yr(n)&&i.push(Bk(e,t,n,r));const u=St(i),p=ze(Pt(Ti(r)),u);s.push(cR(n)?u:p)}if(uR(n)){const i=[];Wo(n)&&i.push(Db(e,t,n,r)),Ds(n)&&i.push(Jb(e,t,n,r)),Fs(n)&&i.push(Sb(e,t,n,r)),Us(n)&&i.push(ik(e,t,n,r));const u=St(i),p=ze(Pt(Yf(r)),u);s.push(dR(n)?u:p)}if(pR(n)){const i=[];qo(n)&&i.push(Kg(e,t,n,r)),Cr(n)&&i.push(Wg(e,t,n,r)),Ko(n)&&i.push($b(e,t,n,r)),Tr(n)&&i.push(Kb(e,t,n,r)),Jo(n)&&i.push(Zb(e,t,n,r));const u=St(i),p=ze(Pt(ze(Vf(r),Wf(r))),u);s.push(fR(n)?u:p)}Sa(n)&&s.push(Ik(e,t,n,r)),va(n)&&s.push(wk(e,t,n,r)),ha(n)&&s.push(WN(e,t,n,r)),ma(n)&&s.push(Ag(e,t,n,r)),ba(n)&&s.push(zg(e,t,n,r)),ka(n)&&s.push(jb(e,t,n,r)),ya(n)&&s.push(tk(e,t,n,r)),fa(n)&&s.push(wg(e,t,n,r)),pa(n)&&s.push(Ig(e,t,n,r)),wa(n)&&s.push(rk(e,t,n,r)),Bs(n)&&s.push(ze(Pt(Ti(r)),Mk(e,t,n,r))),Hs(n)&&s.push(ze(Pt(Qf(r)),Dk(e,t,n,r))),ua(n)&&s.push(lg(e,t,n,r));const o=St(s);return e.Pop(n),o}function Ar(e,t,n,r){return t.Push()&&ot(e,t,n,r)&&t.Pop()}function ot(e,t,n,r){e.Push(n);const s=_o(n)?td(e,t,n):(!Yo(n)||Rk(e,t,n,r))&&(!(ne(r)&&!_(r))||(!or(n)||Tk(e,t,n,r))&&(!rr(n)||xg(e,t,n,r))&&(!Bo(n)||Mg(e,t,n,r))&&(!Ho(n)||Dg(e,t,n,r))&&(!zo(n)||Bg(e,t,n,r))&&(!os(n)||lk(e,t,n,r))&&(!is(n)||gk(e,t,n,r))&&(!Qo(n)||xk(e,t,n,r))&&(!_s(n)||xd(e,t,n,r))&&(!Vo(n)||md(e,t,n,r)))&&(!_(r)||(!Uo(n)||pg(e,t,n,r))&&(!ns(n)||rd(e,t,n,r))&&(!Er(n)||Ab(e,t,n,r))&&(!Go(n)||dd(e,t,n,r))&&(!Ls(n)||fd(e,t,n,r))&&(!rs(n)||hd(e,t,n,r))&&(!ss(n)||bd(e,t,n,r))&&(!sr(n)||fk(e,t,n,r))&&(!yr(n)||Hk(e,t,n,r)))&&(!ae(r)||(!Wo(n)||pd(e,t,n,r))&&(!Ds(n)||kd(e,t,n,r))&&(!Fs(n)||ld(e,t,n,r))&&(!Us(n)||vd(e,t,n,r)))&&(!(ye(r)||et(r))||(!qo(n)||od(e,t,n,r))&&(!Cr(n)||id(e,t,n,r))&&(!Ko(n)||ud(e,t,n,r))&&(!Tr(n)||gd(e,t,n,r))&&(!Jo(n)||yd(e,t,n,r)))&&(!Sa(n)||jk(e,t,n,r))&&(!va(n)||vk(e,t,n,r))&&(!ha(n)||VN(e,t,n,r))&&(!ma(n)||nd(e,t,n,r))&&(!ba(n)||sd(e,t,n,r))&&(!ka(n)||Cb(e,t,n,r))&&(!ya(n)||wd(e,t,n,r))&&(!fa(n)||vg(e,t,n,r))&&(!pa(n)||jg(e,t,n,r))&&(!wa(n)||sk(e,t,n,r))&&(!Bs(n)||!_(r)||Fk(e,t,n,r))&&(!Hs(n)||!ne(r)||_k(e,t,n,r))&&(!ua(n)||dg(e,t,n,r));return e.Pop(n),s}function Pr(e,t,n,r,s,o){return t.Push()&&It(e,t,n,r,s,o)&&t.Pop()}function It(e,t,n,r,s,o){e.Push(s);const i=_o(s)?Tg(e,t,n,r,s):!!(+(!Yo(s)||$k(e,t,n,r,s,o))&+(!(ne(o)&&!_(o))||!!(+(!or(s)||Ak(e,t,n,r,s,o))&+(!rr(s)||yg(e,t,n,r,s,o))&+(!Bo(s)||Fg(e,t,n,r,s,o))&+(!Ho(s)||_g(e,t,n,r,s,o))&+(!zo(s)||Hg(e,t,n,r,s,o))&+(!os(s)||dk(e,t,n,r,s,o))&+(!is(s)||bk(e,t,n,r,s,o))&+(!Qo(s)||yk(e,t,n,r,s,o))&+(!_s(s)||Xb(e,t,n,r,s,o))&+(!Vo(s)||Bb(e,t,n,r,s,o))))&+(!_(o)||!!(+(!Uo(s)||mg(e,t,n,r,s,o))&+(!ns(s)||Rg(e,t,n,r,s,o))&+(!Er(s)||Pb(e,t,n,r,s,o))&+(!Go(s)||Rb(e,t,n,r,s,o))&+(!Ls(s)||Lb(e,t,n,r,s,o))&+(!rs(s)||qb(e,t,n,r,s,o))&+(!ss(s)||Vb(e,t,n,r,s,o))&+(!sr(s)||pk(e,t,n,r,s,o))&+(!yr(s)||zk(e,t,n,r,s,o))))&+(!ae(o)||!!(+(!Wo(s)||_b(e,t,n,r,s,o))&+(!Ds(s)||Qb(e,t,n,r,s,o))&+(!Fs(s)||Ib(e,t,n,r,s,o))&+(!Us(s)||ak(e,t,n,r,s,o))))&+(!(ye(o)||et(o))||!!(+(!qo(s)||Gg(e,t,n,r,s,o))&+(!Cr(s)||Vg(e,t,n,r,s,o))&+(!Ko(s)||Mb(e,t,n,r,s,o))&+(!Tr(s)||Gb(e,t,n,r,s,o))&+(!Jo(s)||ek(e,t,n,r,s,o))))&+(!Sa(s)||Ck(e,t,n,r,s,o))&+(!va(s)||Sk(e,t,n,r,s,o))&+(!ha(s)||JN(e,t,n,r,s,o))&+(!ma(s)||Pg(e,t,n,r,s,o))&+(!ba(s)||qg(e,t,n,r,s,o))&+(!ka(s)||Eb(e,t,n,r,s,o))&+(!ya(s)||nk(e,t,n,r,s,o))&+(!fa(s)||Sg(e,t,n,r,s,o))&+(!pa(s)||Cg(e,t,n,r,s,o))&+(!wa(s)||ok(e,t,n,r,s,o))&+(!Bs(s)||!_(o)||Lk(e,t,n,r,s,o))&+(!Hs(s)||!ne(o)||Uk(e,t,n,r,s,o)))&&(!ua(s)||ug(e,t,n,r,s,o));return e.Pop(s),i}const qk=[0],Si=new Map,ao=new Map;function mR(){return`${qk[0]++}`}function hR(e,t){Si.has(e)||Si.set(e,new Map);const n=Si.get(e);if(n.has(t))return n.get(t);const r=mR();return n.set(t,r),r}function gR(e,t,n,r){return e.UseUnevaluated()?qe(`check_${n}`,["context",r]):qe(`check_${n}`,[r])}function bR(e,t,n,r){const s=st(e,t,n,"value");return t.UseUnevaluated()?Wn(`check_${r}`,hr(["context","value"],s)):Wn(`check_${r}`,hr(["value"],s))}function Kk(){qk[0]=0,Si.clear(),ao.clear()}function Gk(){return[...ao.values()]}function zs(e,t,n,r){const s=hR(n,e.BaseURL().href),o=gR(t,n,s,r);return ao.has(s)||(ao.set(s,""),ao.set(s,bR(e,t,n,s))),o}function Wk(e){if(e.length===0)throw Error("Cannot set root")}function Vk(e){if(!ne(e))throw Error("Cannot set value")}function kR(e){if(Gn(e))throw Error("Pointer contains unsafe property key")}function Jk(e){for(const t of e)kR(t)}function xR(e){return/^(0|[1-9]\d*)$/.test(e)}function Qk(e){return[e.slice(0,e.length-1),e.slice(e.length-1)[0]]}function yR(e,t){return ne(t)&&E(t,e)}function wR(e,t){return ne(t)&&!Gn(e)?t[e]:void 0}function Cd(e,t){return e.reduce((n,r)=>wR(r,n),t)}function Zo(e){if(g(e.length,0))return[];const t=e.split("/").map(n=>n.replace(/~1/g,"/").replace(/~0/g,"~"));return t.length>0&&t[0]===""?t.slice(1):t}function vR(e,t){let n=e;return Zo(t).every(r=>yR(r,n)?(n=n[r],!0):!1)}function Yk(e,t){const n=Zo(t);return Cd(n,e)}function Cc(e,t,n){const r=Zo(t);Wk(r),Jk(r);const[s,o]=Qk(r),i=Cd(s,e);return Vk(i),i[o]=n,e}function Xk(e,t){const n=Zo(t);Wk(n),Jk(n);const[r,s]=Qk(n),o=Cd(r,e);return Vk(o),_(o)&&xR(s)?o.splice(+s,1):delete o[s],e}const Zk=Object.freeze(Object.defineProperty({__proto__:null,Delete:Xk,Get:Yk,Has:vR,Indices:Zo,Set:Cc},Symbol.toStringTag,{value:"Module"}));function SR(e,t,n){if(e.$id===n.hash)return e;const r=new URL(e.$id,t.href),s=new URL(n.href,t.href);if(g(r.pathname,s.pathname))return n.hash.startsWith("#")?ex(e,t,n):e}function IR(e,t,n){const r=new URL(`#${e.$anchor}`,t.href),s=new URL(n.href,t.href);return g(r.href,s.href)?e:void 0}function jR(e,t,n){const r=new URL(`#${e.$dynamicAnchor}`,t.href),s=new URL(n.href,t.href);return g(r.href,s.href)?e:void 0}function ex(e,t,n){if(n.href.endsWith("#"))return e;if(!n.hash.startsWith("#"))return;const r=decodeURIComponent(n.hash.slice(1));if(r.startsWith("/"))return Yk(e,r)}function CR(e,t,n){if(xr(e)){const r=SR(e,t,n);if(!Ne(r))return r}if(Fi(e)){const r=IR(e,t,n);if(!Ne(r))return r}if(Kr(e)){const r=jR(e,t,n);if(!Ne(r))return r}return ex(e,t,n)}function ER(e,t,n){return e.reduce((r,s)=>{const o=Ed(s,t,n);return Ne(o)?r:o},void 0)}function TR(e,t,n){return M(e).reduce((r,s)=>{const o=Ed(e[s],t,n);return Ne(o)?r:o},void 0)}function Ed(e,t,n){const r=Zt(e)&&xr(e)?new URL(e.$id,t.href):t;if(Zt(e)){const s=CR(e,r,n);if(!Ne(s))return s}if(_(e))return ER(e,r,n);if(ne(e))return TR(e,r,n)}function Gr(e,t){const n=new URL("http://unknown/"),r=xr(e)?new URL(e.$id,n.href):n,s=new URL(t,r.href);return Ed(e,r,s)}function tx(e,t,n,r){const s=n.$dynamicRef.startsWith("#")?Gr(t,n.$dynamicRef):Gr(e,n.$dynamicRef);return Ne(s)?void 0:!Zt(s)||!Kr(s)||new URL(n.$dynamicRef,"http://unknown/").hash.startsWith("#/")?s:r.find(u=>u.$dynamicAnchor===s.$dynamicAnchor)??s}const AR=Object.freeze(Object.defineProperty({__proto__:null,DynamicRef:tx,Ref:Gr},Symbol.toStringTag,{value:"Module"}));var ws=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},ur,nx,rx,sx,ox;class ei{constructor(t,n){ur.add(this),this.context=t,this.schema=n,this.ids=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[]}BaseURL(){return this.ids.reduce((t,n)=>new URL(n.$id,t),new URL("http://unknown"))}Base(){return this.ids[this.ids.length-1]??this.schema}Push(t){Zt(t)&&(xr(t)&&(this.ids.push(t),ws(this,ur,"m",nx).call(this,t)),Fi(t)&&this.anchors.push(t),wi(t)&&this.recursiveAnchors.push(t),Kr(t)&&this.dynamicAnchors.push(t))}Pop(t){Zt(t)&&(xr(t)&&(this.ids.pop(),ws(this,ur,"m",rx).call(this,t)),Fi(t)&&this.anchors.pop(),wi(t)&&this.recursiveAnchors.pop(),Kr(t)&&this.dynamicAnchors.pop())}Ref(t){return ws(this,ur,"m",sx).call(this,t)??ws(this,ur,"m",ox).call(this,t)}RecursiveRef(t){return wi(this.Base())?Gr(this.recursiveAnchors[0],t.$recursiveRef):Gr(this.Base(),t.$recursiveRef)}DynamicRef(t){const n=this.schema;return tx(n,this.Base(),t,this.dynamicAnchors)}}ur=new WeakSet,nx=function e(t,n=!0){if(!Zt(t))return;const r=t;if(!(!n&&xr(r))){!n&&Kr(r)&&this.dynamicAnchors.push(r);for(const s of M(r))ws(this,ur,"m",e).call(this,r[s],!1)}},rx=function e(t,n=!0){if(!Zt(t))return;const r=t;if(!(!n&&xr(r))){!n&&Kr(r)&&this.dynamicAnchors.pop();for(const s of M(r))ws(this,ur,"m",e).call(this,r[s],!1)}},sx=function(t){return E(this.context,t.$ref)?this.context[t.$ref]:void 0},ox=function(t){const n=this.schema;return t.$ref.startsWith("#")?Gr(this.Base(),t.$ref):Gr(n,t.$ref)};function PR(e){const t=e.Functions().join(`;
|
|
9
|
-
`),n=e.UseUnevaluated()?["const context = new CheckContext({}, {})",`return ${e.Entry()}`]:[`return ${e.Entry()}`];return`${t}; return (value) => { ${n.join("; ")} }`}function NR(e,t){return dp("CheckContext","Guard","Format","Hashing",e.External().identifier,t)(Ln,Ei,_O,Iv,e.External().variables)}function OR(e){const t=new ei(e.Context(),e.Schema()),n=new Ln;return r=>ot(t,n,e.Schema(),r)}function RR(e,t){return lp()?NR(e,t):OR(e)}class ix{constructor(t,n,r){this.isAccelerated=t,this.code=n,this.check=r}IsAccelerated(){return this.isAccelerated}Code(){return this.code}Check(t){return this.check(t)}}class ax{constructor(t,n,r,s,o,i){this.context=t,this.schema=n,this.external=r,this.functions=s,this.entry=o,this.useUnevaluated=i}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Entry(){return this.entry}Evaluate(){const t=PR(this),n=RR(this,t);return new ix(lp(),t,n)}}function cx(...e){const[t,n]=at(e,{2:(p,d)=>[p,d],1:p=>[{},p]});ag(),Kk();const r=new ei(t,n),s=new ig(og(t,n)),o=zs(r,s,n,"value"),i=Gk(),u=cg();return new ax(t,n,u,i,o,s.UseUnevaluated())}function ho(...e){const[t,n,r]=at(e,{3:(f,m,h)=>[f,m,h],2:(f,m)=>[{},f,m]}),s=vo(),o=Ev(),i=[],u=new ei(t,n),p=new Xl(f=>{if(!Es(i.length,s.maxErrors))return i.push({...f,message:o(f)})});return[It(u,p,"#","",n,r),i]}function Td(...e){const[t,n,r]=at(e,{3:(i,u,p)=>[i,u,p],2:(i,u)=>[{},i,u]}),s=new ei(t,n),o=new Ln;return ot(s,o,n,r)}let Ad=class{constructor(t,n,r){this.schema=t,this.value=n,this.errors=r}};function $R(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});if(!Td(t,n,r)){const[s,o]=ho(t,n,r);throw new Ad(n,r,o)}return r}class lx{constructor(t,n){this.buildResult=cx(t,n),this.evaluateResult=this.buildResult.Evaluate()}IsAccelerated(){return this.evaluateResult.IsAccelerated()}Schema(){return this.buildResult.Schema()}Check(t){return this.evaluateResult.Check(t)}Parse(t){if(this.evaluateResult.Check(t))return t;const[n,r]=ho(this.buildResult.Context(),this.buildResult.Schema(),t);throw new Ad(this.buildResult.Schema(),t,r)}Errors(t){return ho(this.buildResult.Context(),this.buildResult.Schema(),t)}}function MR(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return new lx(t,n)}const FR=Object.freeze(Object.defineProperty({__proto__:null,AccumulatedErrorContext:Dn,Build:cx,BuildAdditionalItems:fg,BuildAdditionalProperties:kg,BuildAdditionalPropertiesFast:gg,BuildAdditionalPropertiesStandard:bg,BuildAllOf:wg,BuildAnyOf:Ig,BuildConst:Ag,BuildContains:Og,BuildContext:ig,BuildDependencies:$g,BuildDependentRequired:Lg,BuildDependentSchemas:Ug,BuildEnum:zg,BuildExclusiveMaximum:Kg,BuildExclusiveMinimum:Wg,BuildFormat:Sb,BuildIf:jb,BuildItems:Tb,BuildMaxContains:Ob,BuildMaxItems:Fb,BuildMaxLength:Db,BuildMaxProperties:Ub,BuildMaximum:$b,BuildMinContains:zb,BuildMinItems:Wb,BuildMinLength:Jb,BuildMinProperties:Yb,BuildMinimum:Kb,BuildMultipleOf:Zb,BuildNot:tk,BuildOneOf:rk,BuildPattern:ik,BuildPatternProperties:ck,BuildPrefixItems:uk,BuildProperties:hk,BuildPropertyNames:kk,BuildRecursiveRef:wk,BuildRef:Ik,BuildRefine:lg,BuildRequired:Ek,BuildResult:ax,BuildSchema:st,BuildSchemaBoolean:Eg,BuildSchemaPushStack:Tn,BuildType:Ok,BuildUnevaluatedItems:Mk,BuildUnevaluatedProperties:Dk,BuildUniqueItems:Bk,CanAdditionalPropertiesFast:hg,Check:Td,CheckAdditionalItems:pg,CheckAdditionalProperties:xg,CheckAllOf:vg,CheckAnyOf:jg,CheckConst:nd,CheckContains:rd,CheckContext:Ln,CheckDependencies:Mg,CheckDependentRequired:Dg,CheckDependentSchemas:Bg,CheckEnum:sd,CheckExclusiveMaximum:od,CheckExclusiveMinimum:id,CheckFormat:ld,CheckIf:Cb,CheckItems:Ab,CheckMaxContains:dd,CheckMaxItems:fd,CheckMaxLength:pd,CheckMaxProperties:md,CheckMaximum:ud,CheckMinContains:hd,CheckMinItems:bd,CheckMinLength:kd,CheckMinProperties:xd,CheckMinimum:gd,CheckMultipleOf:yd,CheckNot:wd,CheckOneOf:sk,CheckPattern:vd,CheckPatternProperties:lk,CheckPrefixItems:fk,CheckProperties:gk,CheckPropertyNames:xk,CheckRecursiveRef:vk,CheckRef:jk,CheckRefine:dg,CheckRequired:Tk,CheckSchema:ot,CheckSchemaBoolean:td,CheckSchemaPushStack:Ar,CheckType:Rk,CheckUnevaluatedItems:Fk,CheckUnevaluatedProperties:_k,CheckUniqueItems:Hk,Compile:MR,CreateFunction:zs,CreateVariable:as,ErrorAdditionalItems:mg,ErrorAdditionalProperties:yg,ErrorAllOf:Sg,ErrorAnyOf:Cg,ErrorConst:Pg,ErrorContains:Rg,ErrorContext:Xl,ErrorDependencies:Fg,ErrorDependentRequired:_g,ErrorDependentSchemas:Hg,ErrorEnum:qg,ErrorExclusiveMaximum:Gg,ErrorExclusiveMinimum:Vg,ErrorFormat:Ib,ErrorIf:Eb,ErrorItems:Pb,ErrorMaxContains:Rb,ErrorMaxItems:Lb,ErrorMaxLength:_b,ErrorMaxProperties:Bb,ErrorMaximum:Mb,ErrorMinContains:qb,ErrorMinItems:Vb,ErrorMinLength:Qb,ErrorMinProperties:Xb,ErrorMinimum:Gb,ErrorMultipleOf:ek,ErrorNot:nk,ErrorOneOf:ok,ErrorPattern:ak,ErrorPatternProperties:dk,ErrorPrefixItems:pk,ErrorProperties:bk,ErrorPropertyNames:yk,ErrorRecursiveRef:Sk,ErrorRef:Ck,ErrorRefine:ug,ErrorRequired:Ak,ErrorSchema:It,ErrorSchemaBoolean:Tg,ErrorSchemaPushStack:Pr,ErrorType:$k,ErrorUnevaluatedItems:Lk,ErrorUnevaluatedProperties:Uk,ErrorUniqueItems:zk,Errors:ho,EvaluateResult:ix,GetExternal:cg,GetFunctions:Gk,HasUnevaluated:og,IsAdditionalItems:Uo,IsAdditionalProperties:rr,IsAllOf:fa,IsAnchor:Fi,IsAnyOf:pa,IsConst:ma,IsContains:ns,IsContentEncoding:NN,IsContentMediaType:ON,IsDefault:jr,IsDefs:RN,IsDependencies:Bo,IsDependentRequired:Ho,IsDependentSchemas:zo,IsDynamicAnchor:Kr,IsDynamicRef:ha,IsElse:ga,IsEnum:ba,IsExclusiveMaximum:qo,IsExclusiveMinimum:Cr,IsFormat:Fs,IsId:xr,IsIf:ka,IsItems:Er,IsItemsSized:xa,IsItemsUnsized:$N,IsMaxContains:Go,IsMaxItems:Ls,IsMaxLength:Wo,IsMaxProperties:Vo,IsMaximum:Ko,IsMinContains:rs,IsMinItems:ss,IsMinLength:Ds,IsMinProperties:_s,IsMinimum:Tr,IsMultipleOf:Jo,IsNot:ya,IsOneOf:wa,IsPattern:Us,IsPatternProperties:os,IsPrefixItems:sr,IsProperties:is,IsPropertyNames:Qo,IsRecursiveAnchor:sg,IsRecursiveAnchorTrue:wi,IsRecursiveRef:va,IsRef:Sa,IsRefine:ua,IsRequired:or,IsSchema:De,IsSchemaBoolean:_o,IsSchemaObject:Zt,IsThen:Ia,IsType:Yo,IsUnevaluatedItems:Bs,IsUnevaluatedProperties:Hs,IsUniqueItems:yr,Parse:$R,ParseError:Ad,Pointer:Zk,Reducer:Xo,ResetExternal:ag,ResetFunctions:Kk,Resolve:AR,Stack:ei,Validator:lx},Symbol.toStringTag,{value:"Module"}));function nt(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return Td(t,n,r)}function ti(...e){const[t,n,r]=at(e,{3:(i,u,p)=>[i,u,p],2:(i,u)=>[{},i,u]}),[s,o]=ho(t,n,r);return o}class ja extends Error{constructor(t,n,r){super(t),Object.defineProperty(this,"cause",{value:{source:t,errors:r,value:n},writable:!1,configurable:!1,enumerable:!1})}}function dx(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});if(!nt(t,n,r))throw new ja("Assert",r,ti(t,n,r))}function LR(e,t,n){return _(n)?n.map(r=>vn(e,t.items,r)):n}function DR(e,t,n){return vn({...e,...t.$defs},an(t.$ref),n)}function _R(e,t){const n=E(t,"unevaluatedProperties")?{additionalProperties:t.unevaluatedProperties}:{},r=Ms(e,t),s=Fn(r);return _e(s)?Zh(s,n):s}function UR(e,t,n){const r=_R(e,t);return vn(e,r,n)}function ux(e){return E(e,"additionalProperties")?e.additionalProperties:void 0}function BR(e,t,n){if(!ne(n)||_(n))return n;const r=ux(t);for(const s of M(n)){if(E(t.properties,s)){n[s]=vn(e,t.properties[s],n[s]);continue}if(gt(r)&&g(r,!0)||Jt(r)&&nt(e,r,n[s])){n[s]=vn(e,r,n[s]);continue}delete n[s]}return n}function HR(e,t,n){if(!ne(n))return n;const r=ux(t),[s,o]=[new RegExp(hn(t)),Ht(t)];for(const i of M(n)){if(s.test(i)){n[i]=vn(e,o,n[i]);continue}if(gt(r)&&g(r,!0)||Jt(r)&&nt(e,r,n[i])){n[i]=vn(e,r,n[i]);continue}delete n[i]}return n}function zR(e,t,n){return E(e,t.$ref)?vn(e,e[t.$ref],n):n}function qR(e,t,n){if(!_(n))return n;const r=Math.min(n.length,t.items.length);for(let s=0;s<r;s++)n[s]=vn(e,t.items[s],n[s]);return Wr(n.length,r)?n.slice(0,r):n}function _t(e){return rl(e)}function KR(e,t,n){for(const r of t.anyOf){const s=vn(e,r,_t(n));if(nt(e,r,s))return s}return n}function vn(e,t,n){return ut(t)?LR(e,t,n):Bt(t)?DR(e,t,n):Ue(t)?UR(e,t,n):_e(t)?BR(e,t,n):Et(t)?HR(e,t,n):bt(t)?zR(e,t,n):rt(t)?qR(e,t,n):ce(t)?KR(e,t,n):n}function GR(e,t){for(const n of Ei.Keys(e))Ei.HasPropertyKey(t,n)||(t[n]=e[n]);return t}function WR(e){const t={};for(const n of Ei.Keys(e))t[n]=go(e[n]);return t}function VR(e){return Ec(AN(e))}function Ec(e){return e.map(t=>go(t))}function go(e){const t=ut(e)?wr(go(e.items),il(e)):Ue(e)?On(Ec(e.allOf)):ce(e)?Ke(VR(e.anyOf)):_e(e)?Ae(WR(e.properties)):Et(e)?hl(ra(e),go(Ht(e))):rt(e)?mn(Ec(e.items)):e;return GR(e,t)}function Pd(e){return go(e)}function ni(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]}),s=Pd(n);return vn(t,s,r)}function nn(e){return ne(e)&&E(e,"value")}function te(e){return{value:e}}function JR(e){return _(e)?te(e):te([e])}function QR(e){return g(e,!0)?te(BigInt(1)):te(BigInt(0))}const YR=/^-?(0|[1-9]\d*)n$/,XR=/^-?(0|[1-9]\d*)\.\d+$/,ZR=/^-?(0|[1-9]\d*)$/;function e$(e){return YR.test(e)}function t$(e){return XR.test(e)}function n$(e){return ZR.test(e)}function r$(e){const t=e.toLowerCase();return e$(e)?te(BigInt(e.slice(0,e.length-1))):t$(e)?te(BigInt(e.split(".")[0])):n$(e)?te(BigInt(e)):g(t,"false")?te(BigInt(0)):g(t,"true")?te(BigInt(1)):void 0}function Nd(e){return et(e)?te(e):gt(e)?QR(e):ye(e)?te(BigInt(Math.trunc(e))):Gt(e)?te(BigInt(0)):ae(e)?r$(e):Ne(e)?te(BigInt(0)):void 0}function s$(e){return g(e,BigInt(0))?te(!1):g(e,BigInt(1))?te(!0):void 0}function o$(e){return g(e,0)?te(!1):g(e,1)?te(!0):void 0}function i$(e){return g(e.toLowerCase(),"false")?te(!1):g(e.toLowerCase(),"true")?te(!0):g(e,"0")?te(!1):g(e,"1")?te(!0):void 0}function fx(e){return et(e)?s$(e):gt(e)?te(e):ye(e)?o$(e):Gt(e)?te(!1):ae(e)?i$(e):Ne(e)?te(!1):void 0}function a$(e){return g(e,BigInt(0))?te(null):void 0}function c$(e){return g(e,!1)?te(null):void 0}function l$(e){return g(e,0)?te(null):void 0}function d$(e){const t=e.toLowerCase();return g(t,"undefined")||g(t,"null")||g(e,"")||g(e,"0")?te(null):void 0}function u$(e){return et(e)?a$(e):gt(e)?c$(e):ye(e)?l$(e):Gt(e)?te(null):ae(e)?d$(e):Ne(e)?te(null):void 0}const px=BigInt(Number.MAX_SAFE_INTEGER),mx=BigInt(Number.MIN_SAFE_INTEGER);function f$(e){return e<=px&&e>=mx?te(Number(e)):void 0}function p$(e){return te(e?1:0)}function m$(e){const t=+e;if(ye(t))return te(t);const n=e.toLowerCase();if(g(n,"false"))return te(0);if(g(n,"true"))return te(1);const r=Nd(e);return nn(r)&&r.value<=px&&r.value>=mx?te(Number(r.value)):void 0}function Od(e){return et(e)?f$(e):gt(e)?p$(e):ye(e)?te(e):Gt(e)?te(0):ae(e)?m$(e):Ne(e)?te(0):void 0}function hx(e){return et(e)||gt(e)||ye(e)?te(e.toString()):Gt(e)?te("null"):ae(e)?te(e):Ne(e)?te(""):void 0}function h$(e){return g(e,BigInt(0))?te(void 0):void 0}function g$(e){return g(e,!1)?te(void 0):void 0}function b$(e){return g(e,0)?te(void 0):void 0}function k$(e){const t=e.toLowerCase();return g(t,"undefined")||g(t,"null")||g(e,"")||g(e,"0")?te(void 0):void 0}function gx(e){return et(e)?h$(e):gt(e)?g$(e):ye(e)?b$(e):Gt(e)?te(void 0):ae(e)?k$(e):Ne(e)?te(e):void 0}function x$(e,t,n){return JR(n).value.map(s=>gn(e,t.items,s))}function y$(e,t,n){const r=Nd(n);return nn(r)?r.value:n}function w$(e,t,n){const r=fx(n);return nn(r)?r.value:n}function v$(e,t,n){return gn({...e,...t.$defs},an(t.$ref),n)}function S$(e,t,n){return gn(e,Fn(t),n)}function I$(e,t,n){const r=Od(n);return nn(r)?Math.trunc(r.value):n}function j$(e,t,n){const r=Ms(e,t),s=Fn(r);return gn(e,s,n)}function C$(e,t,n){const r=Nd(n);return nn(r)&&g(t.const,r.value)?r.value:n}function E$(e,t,n){const r=fx(n);return nn(r)&&g(t.const,r.value)?r.value:n}function T$(e,t,n){const r=Od(n);return nn(r)&&g(t.const,r.value)?r.value:n}function A$(e,t,n){const r=hx(n);return nn(r)&&g(t.const,r.value)?r.value:n}function P$(e,t,n){return g(t.const,n)?n:_v(t)?C$(e,t,n):Uv(t)?E$(e,t,n):yp(t)?T$(e,t,n):wp(t)?A$(e,t,n):Nt()}function N$(e,t,n){const r=u$(n);return nn(r)?r.value:n}function O$(e,t,n){const r=Od(n);return nn(r)?r.value:n}function bx(e,t,n,r){const s=M(r);for(const[o,i]of t)for(const u of s)o.test(u)||(r[u]=gn(e,n,r[u]));return r}function Rd(e,t,n){return Qt(e)&&Ne(n[t])}function R$(e,t,n){const r=Yc(t.properties),s=M(n);for(const[o,i]of r)for(const u of s)!o.test(u)||Rd(i,u,n)||(n[u]=gn(e,i,n[u]));return E(t,"additionalProperties")&&ne(t.additionalProperties)?bx(e,r,t.additionalProperties,n):n}function $$(e,t,n){return ln(n)?R$(e,t,n):n}function M$(e,t,n){const r=Yc(t.patternProperties),s=M(n);for(const[o,i]of r)for(const u of s)o.test(u)&&(n[u]=gn(e,i,n[u]));return E(t,"additionalProperties")&&ne(t.additionalProperties)?bx(e,r,t.additionalProperties,n):n}function F$(e,t,n){return ln(n)?M$(e,t,n):n}function L$(e,t,n){return E(e,t.$ref)?gn(e,e[t.$ref],n):n}function D$(e,t,n){const r=hx(n);return nn(r)?r.value:n}function _$(e,t,n){return gn(e,Fn(t),n)}function U$(e,t,n){if(!_(n))return n;for(let r=0;r<Math.min(t.items.length,n.length);r++)n[r]=gn(e,t.items[r],n[r]);return n}function B$(e,t,n){const r=gx(n);return nn(r)?r.value:n}function H$(e,t,n){if(t.anyOf.some(i=>nt(e,i,n)))return n;const o=t.anyOf.map(i=>gn(e,i,_t(n))).find(i=>nt(e,t,i));return Ne(o)?n:o}function z$(e,t,n){const r=gx(n);return nn(r)?void 0:n}function gn(e,t,n){return ut(t)?x$(e,t,n):Yr(t)?y$(e,t,n):vr(t)?w$(e,t,n):Bt(t)?v$(e,t,n):pn(t)?S$(e,t,n):$n(t)?I$(e,t,n):Ue(t)?j$(e,t,n):Ge(t)?P$(e,t,n):Eo(t)?N$(e,t,n):en(t)?O$(e,t,n):_e(t)?$$(e,t,n):Et(t)?F$(e,t,n):bt(t)?L$(e,t,n):En(t)?D$(e,t,n):zt(t)?_$(e,t,n):rt(t)?U$(e,t,n):Rs(t)?B$(e,t,n):ce(t)?H$(e,t,n):Xr(t)?z$(e,t,n):n}function Ca(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return gn(t,n,r)}function q$(e,t,n){if(!_(n))return n;for(let r=0;r<n.length;r++)n[r]=Sn(e,t.items,n[r]);return n}function K$(e,t,n){return Sn({...e,...t.$defs},an(t.$ref),n)}function G$(e,t){return Ne(t)?xn(e.default)?e.default():_t(e.default):t}function W$(e,t,n){const r=Ms(e,t),s=Fn(r);return Sn(e,s,n)}function V$(e,t,n){if(!ne(n))return n;const r=M(t.properties);for(const s of r){const o=Sn(e,t.properties[s],n[s]);Ne(o)&&(Qt(t.properties[s])||!E(t.properties[s],"default"))||(n[s]=o)}if(!rr(t)||gt(t.additionalProperties))return n;for(const s of M(n))r.includes(s)||(n[s]=Sn(e,t.additionalProperties,n[s]));return n}function J$(e,t,n){if(!ne(n))return n;const[r,s]=[new RegExp(hn(t)),Ht(t)];for(const o of M(n))r.test(o)&&jr(s)&&(n[o]=Sn(e,s,n[o]));if(!rr(t))return n;for(const o of M(n))r.test(o)||(n[o]=Sn(e,t.additionalProperties,n[o]));return n}function Q$(e,t,n){return E(e,t.$ref)?Sn(e,e[t.$ref],n):n}function Y$(e,t,n){if(!_(n))return n;const[r,s]=[t.items,Math.max(t.items.length,n.length)];for(let o=0;o<s;o++)o<r.length&&(n[o]=Sn(e,r[o],n[o]));return n}function X$(e,t,n){for(const r of t.anyOf){const s=Sn(e,r,_t(n));if(nt(e,r,s))return s}return n}function Sn(e,t,n){const r=jr(t)?G$(t,n):n;return ut(t)?q$(e,t,r):Bt(t)?K$(e,t,r):Ue(t)?W$(e,t,r):_e(t)?V$(e,t,r):Et(t)?J$(e,t,r):bt(t)?Q$(e,t,r):rt(t)?Y$(e,t,r):ce(t)?X$(e,t,r):r}function $d(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return Sn(t,n,r)}function kx(e){return(...t)=>{const[n,r,s]=at(t,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});return e.reduce((o,i)=>i(n,r,o),s)}}function Z$(e,t,n){return t["~codec"].decode(n)}function eM(e,t,n){return t["~codec"].encode(n)}function vt(e,t,n,r){return Xt(n)?g(e,"Decode")?Z$(t,n,r):eM(t,n,r):r}function tM(e,t,n,r){if(!_(r))return r;for(let s=0;s<r.length;s++)r[s]=Ft(e,t,n.items,r[s]);return vt(e,t,n,r)}function nM(e,t,n,r){const s=vt(e,t,n,r);if(!_(s))return s;for(let o=0;o<s.length;o++)s[o]=Ft(e,t,n.items,s[o]);return s}function rM(e,t,n,r){return g(e,"Decode")?tM(e,t,n,r):nM(e,t,n,r)}function sM(e,t,n,r){return r=Ft(e,{...t,...n.$defs},an(n.$ref),r),vt(e,t,n,r)}function xx(e){return e.reduce((t,n)=>({...t,...n}),{})}function yx(e,t){for(const n of t)if(!Vr(e,n))return n;return e}function oM(e,t,n,r){if(g(n.allOf.length,0))return vt(e,t,n,r);const s=n.allOf.map(u=>Ft(e,t,u,ni(u,_t(r)))),i=s.every(u=>ne(u))?xx(s):yx(r,s);return vt(e,t,n,i)}function iM(e,t,n,r){if(g(n.allOf.length,0))return vt(e,t,n,r);const s=vt(e,t,n,r),o=n.allOf.map(u=>Ft(e,t,u,ni(u,_t(s))));return o.every(u=>ne(u))?xx(o):yx(s,o)}function aM(e,t,n,r){return g(e,"Decode")?oM(e,t,n,r):iM(e,t,n,r)}function cM(e,t,n,r){if(!ln(r))return r;for(const s of M(n.properties))!E(r,s)||Rd(n.properties[s],s,r)||(r[s]=Ft(e,t,n.properties[s],r[s]));return vt(e,t,n,r)}function lM(e,t,n,r){const s=vt(e,t,n,r);if(!ln(s))return s;for(const o of M(n.properties))!E(s,o)||Rd(n.properties[o],o,s)||(s[o]=Ft(e,t,n.properties[o],s[o]));return s}function dM(e,t,n,r){return g(e,"Decode")?cM(e,t,n,r):lM(e,t,n,r)}function uM(e,t,n,r){if(!ln(r))return r;const s=new RegExp(hn(n));for(const o of M(r))s.test(o)&&(r[o]=Ft(e,t,Ht(n),r[o]));return vt(e,t,n,r)}function fM(e,t,n,r){const s=vt(e,t,n,r);if(!ln(s))return s;const o=new RegExp(hn(n));for(const i of M(s))o.test(i)&&(s[i]=Ft(e,t,Ht(n),s[i]));return s}function pM(e,t,n,r){return g(e,"Decode")?uM(e,t,n,r):fM(e,t,n,r)}function _u(e,t,n,r){return E(t,n.$ref)?Ft(e,t,t[n.$ref],r):r}function mM(e,t,n,r){return g(e,"Decode")?vt(e,t,n,_u(e,t,n,r)):_u(e,t,n,vt(e,t,n,r))}function hM(e,t,n,r){if(!_(r))return r;for(let s=0;s<Math.min(n.items.length,r.length);s++)r[s]=Ft(e,t,n.items[s],r[s]);return vt(e,t,n,r)}function gM(e,t,n,r){const s=vt(e,t,n,r);if(!_(s))return r;for(let o=0;o<Math.min(n.items.length,s.length);o++)s[o]=Ft(e,t,n.items[o],s[o]);return s}function bM(e,t,n,r){return g(e,"Decode")?hM(e,t,n,r):gM(e,t,n,r)}function kM(e,t,n,r){for(const s of n.anyOf){if(!nt(t,s,r))continue;const o=Ft(e,t,s,r);return vt(e,t,n,o)}return r}function xM(e,t,n,r){const s=vt(e,t,n,r);for(const o of n.anyOf){const i=Ft(e,t,o,_t(s));if(nt(t,o,i))return i}return s}function yM(e,t,n,r){return g(e,"Decode")?kM(e,t,n,r):xM(e,t,n,r)}function Ft(e,t,n,r){return ut(n)?rM(e,t,n,r):Bt(n)?sM(e,t,n,r):Ue(n)?aM(e,t,n,r):_e(n)?dM(e,t,n,r):Et(n)?pM(e,t,n,r):bt(n)?mM(e,t,n,r):rt(n)?bM(e,t,n,r):ce(n)?yM(e,t,n,r):vt(e,t,n,r)}class wM extends ja{constructor(t,n){super("Decode",t,n)}}function vM(e,t,n){if(!nt(e,t,n))throw new wM(n,ti(e,t,n));return n}function SM(e,t,n){const r=Pd(t);return Ft("Decode",e,r,n)}const IM=kx([(e,t,n)=>_t(n),(e,t,n)=>$d(e,t,n),(e,t,n)=>Ca(e,t,n),(e,t,n)=>ni(e,t,n),(e,t,n)=>vM(e,t,n),(e,t,n)=>SM(e,t,n)]);function jM(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return IM(t,n,r)}class CM extends ja{constructor(t,n){super("Encode",t,n)}}function EM(e,t,n){if(!nt(e,t,n))throw new CM(n,ti(e,t,n));return n}function TM(e,t,n){const r=Pd(t);return Ft("Encode",e,r,n)}const AM=kx([(e,t,n)=>_t(n),(e,t,n)=>TM(e,t,n),(e,t,n)=>$d(e,t,n),(e,t,n)=>Ca(e,t,n),(e,t,n)=>ni(e,t,n),(e,t,n)=>EM(e,t,n)]);function PM(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return AM(t,n,r)}function NM(e,t){return Xt(t)||Nr(e,t.items)}function OM(e,t){return Xt(t)||wx({...e,...t.$defs},an(t.$ref))}function RM(e,t){return Xt(t)||t.allOf.some(n=>Nr(e,n))}function $M(e,t){return Xt(t)||M(t.properties).some(n=>Nr(e,t.properties[n]))}function MM(e,t){return Xt(t)||Nr(e,Ht(t))}function wx(e,t){return Tc.has(t.$ref)?!1:(Tc.add(t.$ref),Xt(t)||E(e,t.$ref)&&Nr(e,e[t.$ref]))}function FM(e,t){return Xt(t)||t.items.some(n=>Nr(e,n))}function LM(e,t){return Xt(t)||t.anyOf.some(n=>Nr(e,n))}function Nr(e,t){return ut(t)?NM(e,t):Bt(t)?OM(e,t):Ue(t)?RM(e,t):_e(t)?$M(e,t):Et(t)?MM(e,t):bt(t)?wx(e,t):rt(t)?FM(e,t):ce(t)?LM(e,t):Xt(t)}const Tc=new Set;function DM(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return Tc.clear(),Nr(t,n)}class ri extends Error{constructor(t,n){super(n),this.type=t}}function _M(e,t){return xn(t.default)?t.default(t):ne(t.default)?_t(t.default):t.default}function UM(e,t){if(yr(t)&&!jr(t))throw new ri(t,"Arrays with uniqueItems constraints must specify a default annotation");const n=ss(t)?t.minItems:0;return Array.from({length:n},()=>bn(e,t.items))}function BM(e,t){return Cr(t)?BigInt(t.exclusiveMinimum)+BigInt(1):Tr(t)?BigInt(t.minimum):BigInt(0)}function HM(e,t){return!1}function zM(e,t){const n=bn(e,t.instanceType);return class{constructor(){Object.assign(this,n)}}}function qM(e,t){return bn({...e,...t.$defs},an(t.$ref))}function KM(e,t){return bn(e,Fn(t))}function GM(e,t){const n=bn(e,t.returnType);return()=>n}function WM(e,t){return Cr(t)&&ye(t.exclusiveMinimum)?t.exclusiveMinimum+1:Tr(t)?t.minimum:0}function VM(e,t){const n=Ms(e,t),r=Fn(n);return bn(e,r)}function JM(e,t){return t.const}function QM(e,t){throw new ri(t,"Cannot create TNever types")}function YM(e,t){return null}function XM(e,t){return Cr(t)&&ye(t.exclusiveMinimum)?t.exclusiveMinimum+1:Tr(t)?t.minimum:0}function ZM(e,t){return(Ne(t.required)?[]:t.required).reduce((r,s)=>({...r,[s]:bn(e,t.properties[s])}),{})}function eF(e,t){if(_s(t)&&!jr(t))throw new ri(t,"Record with the minProperties constraint must have a default annotation");return{}}function tF(e,t){return E(e,t.$ref)?bn(e,e[t.$ref]):(()=>{throw new ri(t,"Unable to deref Ref")})()}function nF(e,t){if((Us(t)||Fs(t))&&!jr(t))throw Error("Strings with format or pattern constraints must specify default");const r=Ds(t)?t.minLength:0;return"".padEnd(r)}function rF(e,t){return Symbol()}function sF(e,t){const n=ml(t.pattern);if(En(n))throw new ri(t,"Unable to create TemplateLiteral due to infinite type expansion");return bn(e,n)}function oF(e,t){return Array.from({length:t.minItems},(n,r)=>bn(e,t.items[r]))}function iF(e,t){if(g(t.anyOf.length,0))throw Error("Unable to create Union with no variants");return bn(e,t.anyOf[0])}function bn(e,t){return jr(t)?_M(e,t):ut(t)?UM(e,t):Yr(t)?BM(e,t):vr(t)?HM():dn(t)?zM(e,t):Bt(t)?qM(e,t):pn(t)?KM(e,t):un(t)?GM(e,t):$n(t)?WM(e,t):Ue(t)?VM(e,t):Ge(t)?JM(e,t):Ps(t)?QM(e,t):Eo(t)?YM():en(t)?XM(e,t):_e(t)?ZM(e,t):Et(t)?eF(e,t):bt(t)?tF(e,t):En(t)?nF(e,t):To(t)?rF():zt(t)?sF(e,t):rt(t)?oF(e,t):Rs(t)?void 0:ce(t)?iF(e,t):Xr(t)?void 0:void 0}function In(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return bn(t,n)}function vx(e,t){return Vr(e,t)}function Sx(e){return Xi(e)}class aF extends ja{constructor(t,n){super("Parse",t,n)}}function cF(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});if(nt(t,n,r))return r;throw new aF(r,ti(t,n,r))}function Ea(e,t){return{type:"update",path:e,value:t}}function Ix(e,t){return{type:"insert",path:e,value:t}}function jx(e){return{type:"delete",path:e}}function Uu(e){if(!(ne(e)&&g(Xc(e).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*lF(e,t,n){if(!ne(n)||_(n))return yield Ea(e,n);Uu(t),Uu(n);const r=M(t),s=M(n);for(const o of s)E(t,o)||Gn(o)||(yield Ix(`${e}/${o}`,n[o]));for(const o of r)E(n,o)&&(Gn(o)||vx(t,n)||(yield*Ta(`${e}/${o}`,t[o],n[o])));for(const o of r)E(n,o)||Gn(o)||(yield jx(`${e}/${o}`))}function*dF(e,t,n){if(!_(n))return yield Ea(e,n);for(let r=0;r<Math.min(t.length,n.length);r++)yield*Ta(`${e}/${r}`,t[r],n[r]);for(let r=0;r<n.length;r++)r<t.length||(yield Ix(`${e}/${r}`,n[r]));for(let r=t.length-1;r>=0;r--)r<n.length||(yield jx(`${e}/${r}`))}function*uF(e,t,n){const r=globalThis.Object.getPrototypeOf(t).constructor.name,s=globalThis.Object.getPrototypeOf(n).constructor.name;if(wo(n)&&g(t.length,n.length)&&g(r,s))for(let i=0;i<Math.min(t.length,n.length);i++)yield*Ta(`${e}/${i}`,t[i],n[i]);else return yield Ea(e,n)}function*fF(e,t,n){t!==n&&(yield Ea(e,n))}function*Ta(e,t,n){return wo(t)?yield*uF(e,t,n):_(t)?yield*dF(e,t,n):ne(t)?yield*lF(e,t,n):yield*fF(e,t,n)}function pF(e,t){return[...Ta("",e,t)]}const mF=Ae({type:Re("insert"),path:Mn(),value:Ut()}),hF=Object({type:Re("update"),path:Mn(),value:Ut()}),gF=Ae({type:Re("delete"),path:Mn()});Ke([mF,hF,gF]);function bF(e){return e.length>0&&e[0].path===""&&e[0].type==="update"}function kF(e){return e.length===0}function xF(e,t){if(bF(t))return _t(t[0].value);if(kF(t))return _t(e);const n=_t(e);for(const r of t)switch(r.type){case"insert":{Cc(n,r.path,r.value);break}case"update":{Cc(n,r.path,r.value);break}case"delete":{Xk(n,r.path);break}}return n}class Aa extends Error{constructor(t,n,r,s){super(s),this.context=t,this.type=n,this.value=r}}function yF(e){const[t,n]=[new Set,[]];for(const r of e){const s=Sx(r);t.has(s)||(t.add(s),n.push(r))}return n}function wF(e,t,n){if(nt(e,t,n))return n;const r=_(n)?n:In(e,t),s=ss(t)&&r.length<t.minItems?[...r,...Array.from({length:t.minItems-r.length},()=>In(e,t))]:r,i=(Ls(t)&&s.length>t.maxItems?s.slice(0,t.maxItems):s).map(p=>cn(e,t.items,p));if(!yr(t)||yr(t)&&!g(t.uniqueItems,!0))return i;const u=yF(i);if(!nt(e,t,u))throw new Aa(e,t,n,"Failed to repair Array due to uniqueItems constraint");return u}function vF(e,t,n){return cn(e,Fn(t),n)}function SF(e,t,n){const r=Ms(e,t),s=Fn(r);return cn(e,s,n)}function IF(e,t,n){if(nt(e,t,n))return n;if(!ln(n))return In(e,t);const r=new Set(Ne(t.required)?[]:t.required),s={};for(const[i,u]of tt(t.properties))!r.has(i)&&Ne(n[i])||(s[i]=i in n?cn(e,u,n[i]):In(e,u));const o=M(t.properties);if(rr(t)&&ne(t.additionalProperties))for(const i of M(n))o.includes(i)||(s[i]=cn(e,t.additionalProperties,n[i]));return s}function jF(e,t,n){if(nt(e,t,n))return n;if(Gt(n)||!ne(n)||_(n))return In(e,t);const r=new RegExp(hn(t)),s=Ht(t),o=new Set,i={};for(const[u,p]of tt(n))r.test(u)&&(i[u]=cn(e,s,p),o.add(u));if(rr(t))for(const u of M(n))o.has(u)||(i[u]=cn(e,t.additionalProperties,n[u]));return i}function CF(e,t,n){return E(e,t.$ref)?cn(e,e[t.$ref],n):(()=>{throw new Aa(e,t,n,"Unable to de-reference target type")})()}function EF(e,t,n){const r=ml(t.pattern);return cn(e,r,n)}function TF(e,t,n){return nt(e,t,n)?n:_(n)?t.items.map((r,s)=>cn(e,r,n[s])):In(e,t)}function Cx(e,t,n){return bt(t)?E(e,t.$ref)?Cx(e,e[t.$ref]):(()=>{throw new Error("Unable to Deref target")})():t}function AF(e,t,n){if(!(_e(t)&&ne(n)))return 0;const r=M(n);return tt(t.properties).reduce((o,[i,u])=>{const p=Ge(u)&&g(u.const,n[i])?100:0,d=nt(e,u,n[i])?10:0,f=r.includes(i)?1:0;return o+(p+d+f)},0)}function PF(e,t,n){const r=t.anyOf.map(i=>Cx(e,i));let[s,o]=[r[0],0];for(const i of r){const u=AF(e,i,n);u>o&&(s=i,o=u)}return s}function NF(e,t,n){const r=Ke(ea(t.anyOf)),s=PF(e,r,n);return cn(e,s,n)}function OF(e,t,n){return nt(e,t,n)?_t(n):jr(t)?In(e,t):NF(e,t,n)}function RF(e,t,n){if(nt(e,t,n))return n;const r=Ca(e,t,n);return nt(e,t,r)?r:In(e,t)}function $F(e,t,n){if(rp(n)||op(n)||sp(n)||wo(n)||Vi(n)||xn(n))throw new Aa(e,t,n,"Value is not repairable")}function MF(e,t,n){if(dn(t)||un(t)||Ps(t))throw new Aa(e,t,n,"Type is not repairable")}function FF(e,t,n){return Ne(n)&&!Rs(t)?In(e,t):n}function LF(e,t,n){return dl(t)?nt(e,t,n)?n:In(e,t):n}function cn(e,t,n){$F(e,t,n),MF(e,t,n);const r=FF(e,t,n),s=ut(t)?wF(e,t,r):pn(t)?vF(e,t,r):Ue(t)?SF(e,t,r):_e(t)?IF(e,t,r):Et(t)?jF(e,t,r):bt(t)?CF(e,t,r):zt(t)?EF(e,t,r):rt(t)?TF(e,t,r):ce(t)?OF(e,t,r):RF(e,t,r);return LF(e,t,s)}function DF(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]}),s=cn(t,n,r);return dx(t,n,s),s}const Ga=Object.freeze(Object.defineProperty({__proto__:null,Assert:dx,Check:nt,Clean:ni,Clone:_t,Convert:Ca,Create:In,Decode:jM,Default:$d,Diff:pF,Encode:PM,Equal:vx,Errors:ti,HasCodec:DM,Hash:Sx,Parse:cF,Patch:xF,Pointer:Zk,Repair:DF},Symbol.toStringTag,{value:"Module"}));class Bu extends Error{constructor(t){super(t.map(n=>`${n.path.length>0?n.path.join("."):"root"}: ${n.message}`).join("; ")),this.issues=t,this.name="SchemaValidationError"}}function _F(e){return e?e.split("/").slice(1).map(t=>t.replace(/~1/g,"/").replace(/~0/g,"~")).map(t=>/^(0|[1-9]\d*)$/.test(t)?Number(t):t):[]}function UF(e,t){let n=e;for(const r of t){if(n===null||typeof n!="object")return;n=n[r]}return n}function Hu(e,t){const[,n]=FR.Errors(e,t);return n.map(r=>{const s=_F(r.instancePath);return{code:r.keyword,path:s,message:r.message,value:UF(t,s)}})}function Ex(e,t){const n=Ga.Default(e,Ga.Clone(t)),r=Hu(e,n);if(r.length>0)return{success:!1,error:new Bu(r)};const s=Ga.Clean(e,n),o=Hu(e,s);return o.length>0?{success:!1,error:new Bu(o)}:{success:!0,data:s}}function lr(e,t){const n=Ex(e,t);if(!n.success)throw n.error;return n.data}function W(e){return Object.defineProperties(e,{parse:{value:t=>lr(e,t),enumerable:!1},safeParse:{value:t=>Ex(e,t),enumerable:!1}}),e}function Vn(e,t){return l.Optional({...e,default:t})}function me(e,t={}){return l.Unsafe({type:"string",enum:[...e],...t})}const Ur=20,co=5*1024*1024,BF=32e3,cs=W(me(["default","autoEdit","yolo","plan"])),fr={DEFAULT:"default",AUTO_EDIT:"autoEdit",YOLO:"yolo",PLAN:"plan"},Md=W(me(["user","assistant","system","tool"])),HF=W(l.Union([l.Object({type:l.Literal("text"),text:l.String()}),l.Object({type:l.Literal("image_url"),image_url:l.Object({url:l.String()})})])),Tx=l.Union([l.String(),l.Array(HF)]);W(l.Object({id:l.String(),role:Md,content:Tx,timestamp:l.Number(),metadata:l.Optional(l.Record(l.String(),l.Unknown())),thinkingContent:l.Optional(l.String()),tool_call_id:l.Optional(l.String()),name:l.Optional(l.String()),tool_calls:l.Optional(l.Unknown())}));const zF=W(me(["queued","running","completed","failed","cancelled","interrupted"])),si=W(me(["local","worktree"])),qF=W(me(["applied","discarded","conflicted"])),KF=W(l.Object({status:qF,updatedAt:l.String(),sourceCommit:l.Optional(l.String()),changedFiles:l.Optional(l.Integer({minimum:0})),message:l.Optional(l.String())})),GF=W(l.Object({changedFiles:l.Integer({minimum:0}),additions:l.Integer({minimum:0}),deletions:l.Integer({minimum:0}),commits:l.Integer({minimum:0})})),WF=W(l.Object({path:l.String({minLength:1}),patch:l.String({maxLength:2*1024*1024}),additions:l.Integer({minimum:0}),deletions:l.Integer({minimum:0}),binary:l.Boolean(),truncated:l.Boolean()})),VF=W(l.Object({sessionId:l.String(),projectPath:l.String(),baseCommit:l.String(),files:l.Array(WF,{maxItems:100}),truncated:l.Boolean()})),JF=l.Union([l.String(),l.Number(),l.Boolean(),l.Array(l.String())]),QF=W(l.Object({name:l.String(),type:me(["string","number","integer","boolean","select","multi-select"]),title:l.String(),description:l.Optional(l.String()),required:l.Boolean(),defaultValue:l.Optional(JF),options:l.Optional(l.Array(l.Object({value:l.String(),label:l.String()}))),format:l.Optional(me(["date","uri","email","date-time"])),minimum:l.Optional(l.Number()),maximum:l.Optional(l.Number()),minLength:l.Optional(l.Number()),maxLength:l.Optional(l.Number()),minItems:l.Optional(l.Number()),maxItems:l.Optional(l.Number())}));W(l.Object({serverName:l.String(),mode:me(["form","url"]),message:l.String(),fields:l.Optional(l.Array(QF)),requestedSchema:l.Optional(l.Record(l.String(),l.Unknown())),url:l.Optional(l.String()),domain:l.Optional(l.String()),elicitationId:l.Optional(l.String())}));const YF=W(l.Object({type:me(["permission","question","elicitation"]),requestId:l.String()})),XF=W(l.Object({code:me(["authentication","permission","rate_limit","timeout","network","model_unavailable","context_limit","unsupported_input","capacity","runtime"]),message:l.String({minLength:1,maxLength:500}),retryable:l.Boolean(),resource:l.Optional(me(["pending_count","pending_bytes"]))})),qs=W(me(["auto","off","minimal","low","medium","high","xhigh","max"])),Ks=W(me(["auto","standard","fast","flex"])),Gs=W(me(["auto","low","medium","high"])),Or=W(l.Union([me(["auto","pragmatic","friendly","explanatory"]),l.String({minLength:7,maxLength:300,pattern:"^(?:(?:user|project):[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3}|plugin:[a-z0-9][a-z0-9._-]{0,63}:[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3})$"})])),Jn=W(l.Object({sessionId:l.String(),projectPath:l.String(),title:l.Optional(l.String()),gitBranch:l.Optional(l.String()),rootId:l.String(),parentId:l.Optional(l.String()),relationType:l.Optional(me(["subagent","fork"])),resumedFrom:l.Optional(l.String()),rootAgentId:l.Optional(l.String()),resumeDepth:l.Optional(l.Integer({minimum:0})),taskStatus:Vn(zF,"completed"),taskStatusReason:l.Optional(l.String()),taskFailure:l.Optional(XF),taskStartedAt:l.Optional(l.String()),taskCompletedAt:l.Optional(l.String()),taskPromptSummary:l.Optional(l.String()),taskModelId:l.Optional(l.String()),selectedModelId:l.Optional(l.String()),permissionMode:l.Optional(cs),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),communicationStyleDigest:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"})),projectInstructionsDigest:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"})),taskRetryAvailable:l.Optional(l.Boolean()),taskRetriedFrom:l.Optional(l.Object({sessionId:l.String(),projectPath:l.String()})),taskDelivery:l.Optional(KF),taskIsolation:l.Optional(si),taskSourceProjectPath:l.Optional(l.String()),taskWorktreePath:l.Optional(l.String()),taskWorktreeBranch:l.Optional(l.String()),taskBaseCommit:l.Optional(l.String()),taskDiffStat:l.Optional(GF),taskQueuePosition:l.Optional(l.Integer({minimum:1})),taskQueueDepth:l.Optional(l.Integer({minimum:0})),taskConcurrencyLimit:l.Optional(l.Integer({minimum:1})),archivedAt:l.Optional(l.String()),archivedBySessionId:l.Optional(l.String()),pendingInteraction:l.Optional(YF),messageCount:l.Number(),firstMessageTime:l.String(),lastMessageTime:l.String(),hasErrors:l.Boolean()})),ZF=W(l.Object({sessions:l.Array(Jn),nextCursor:l.Optional(l.String())})),e2=W(l.Object({session:Jn,archivedSessionIds:l.Array(l.String())})),t2=W(l.Object({session:Jn,restoredSessionIds:l.Array(l.String())}));W(l.Object({version:l.Literal(1),sessionId:l.String(),goalId:l.String(),objective:l.String(),status:me(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"]),tokenBudget:l.Optional(l.Number()),tokensUsed:l.Number(),timeUsedSeconds:l.Number(),continuationCount:l.Number(),statusReason:l.Optional(l.String()),completionVerification:l.Optional(l.Object({attempt:l.Integer({minimum:1}),status:me(["pending","pass","fail","partial"]),requestedAt:l.String(),completedAt:l.Optional(l.String()),verifierSessionId:l.Optional(l.String()),summary:l.Optional(l.String()),evidenceSha256:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"}))})),createdAt:l.String(),updatedAt:l.String()}));const Fd=W(l.Object({role:Md,content:Tx,metadata:l.Optional(l.Unknown()),reasoningContent:l.Optional(l.String()),thinkingContent:l.Optional(l.String()),tool_call_id:l.Optional(l.String()),name:l.Optional(l.String()),tool_calls:l.Optional(l.Unknown())})),n2=W(l.Object({session:Jn,messages:l.Array(Fd)})),Ax=W(me(["conversation","code","both"])),Px=W(l.Object({messageId:l.String(),preview:l.String(),createdAt:l.String(),fileCount:l.Integer({minimum:0})}));W(l.Object({targetMessageId:l.String({minLength:1}),mode:Vn(Ax,"conversation")}));const r2=W(l.Object({checkpoint:Px,mode:Ax,removedTurns:l.Integer({minimum:1}),restoredFiles:l.Array(l.String()),messages:l.Array(Fd)})),s2=me(["running","completed","failed","cancelled"]),Ac=W(l.Object({id:l.String(),subagentType:l.String(),description:l.String(),status:s2,background:l.Boolean(),rootAgentId:l.String(),resumedFrom:l.Optional(l.String()),resumeDepth:l.Integer({minimum:0}),createdAt:l.Number(),lastActiveAt:l.Number(),completedAt:l.Optional(l.Number()),restartRecovery:l.Optional(l.Object({outcome:me(["completed","interrupted","failed"]),recoveredAt:l.Number()})),result:l.Optional(l.Object({success:l.Boolean(),message:l.String(),error:l.Optional(l.String()),verificationCommands:l.Optional(l.Array(l.String())),verificationVerdict:l.Optional(me(["pass","fail","partial"])),modifiedFiles:l.Optional(l.Array(l.String()))})),stats:l.Optional(l.Object({tokens:l.Optional(l.Number()),toolCalls:l.Optional(l.Number()),duration:l.Optional(l.Number())}))}));W(l.Object({prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"})}));const o2=W(l.Object({source:Ac,session:Ac})),Nx=W(l.Object({sessionId:l.String(),projectPath:l.String()})),Ox=W(l.Object({path:l.String(),name:l.String(),gitBranch:l.Optional(l.String()),available:l.Boolean(),isCurrent:l.Boolean(),boundAt:l.String()})),i2=W(l.Union([l.Object({cancelled:l.Literal(!0)}),l.Object({cancelled:l.Literal(!1),path:l.String({minLength:1})})])),zu=W(l.Object({type:l.String(),seq:l.Optional(l.Number()),properties:l.Record(l.String(),l.Unknown())})),Rx=l.Object({type:me(["file","image","url"]),path:l.Optional(l.String()),url:l.Optional(l.String()),content:l.Optional(l.String({maxLength:co})),mimeType:l.Optional(l.String()),name:l.Optional(l.String())}),$x=l.Record(l.String(),l.Unknown());W(l.Object({prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),title:l.Optional(l.String({minLength:1,maxLength:200})),projectPath:l.Optional(l.String()),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default"),attachments:l.Optional(l.Array(Rx,{maxItems:Ur})),outputSchema:l.Optional($x)}));const qu=W(l.Object({session:Jn,runId:l.String(),messageId:l.String(),status:me(["queued","running"]),queuePosition:l.Optional(l.Integer({minimum:1})),queueDepth:l.Optional(l.Integer({minimum:0})),maxConcurrentTasks:l.Optional(l.Integer({minimum:1}))}));W(l.Object({action:me(["apply","discard"])}));const Ld=W(l.Object({kind:me(["cron","interval","once"]),cron:l.Optional(l.String({minLength:1,maxLength:120})),intervalMs:l.Optional(l.Integer({minimum:6e4})),runAt:l.Optional(l.String({minLength:1,maxLength:40})),timezone:l.Optional(l.String({minLength:1,maxLength:80}))})),a2=W(l.Object({modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default")})),xs=W(l.Object({id:l.String(),title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),projectPath:l.String({minLength:1}),trigger:Ld,dispatch:a2,enabled:l.Boolean(),createdAt:l.String(),updatedAt:l.String(),nextRunAt:l.Union([l.String(),l.Null()]),expiresAt:l.Union([l.String(),l.Null()]),lastRunAt:l.Optional(l.String()),lastRunSessionId:l.Optional(l.String()),lastStatus:l.Optional(me(["queued","running","completed","failed","cancelled","interrupted","error"])),lastError:l.Optional(l.String()),runCount:l.Integer({minimum:0})}));W(l.Object({title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),projectPath:l.String({minLength:1}),trigger:Ld,modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default"),enabled:Vn(l.Boolean(),!0)}));W(l.Object({title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.Optional(l.String({minLength:1,maxLength:32e3,pattern:"\\S"})),trigger:l.Optional(Ld),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:l.Optional(si),permissionMode:l.Optional(cs),enabled:l.Optional(l.Boolean())}));const c2=W(l.Object({schedules:l.Array(xs)}));W(l.Object({content:l.String({maxLength:BF}),projectPath:l.Optional(l.String()),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),permissionMode:l.Optional(cs),attachments:l.Optional(l.Array(Rx,{maxItems:Ur})),outputSchema:l.Optional($x)}));const l2=me(["completed","failed","aborted","timed_out","spawn_error"]),d2=W(l.Object({version:l.Literal(1),command:l.String(),status:l2,exitCode:l.Union([l.Integer(),l.Null()]),durationMs:l.Number({minimum:0}),stdout:l.String(),stderr:l.String(),stdoutOmittedBytes:l.Integer({minimum:0}),stderrOmittedBytes:l.Integer({minimum:0}),binaryOutput:l.Boolean(),truncated:l.Boolean()}));W(l.Object({command:l.String({minLength:1,maxLength:32*1024,pattern:"^(?![\\s\\S]*\\u0000)(?=[\\s\\S]*\\S)[\\s\\S]*$"}),projectPath:l.Optional(l.String())}));const u2=W(l.Object({executionId:l.String(),messageId:l.String(),record:d2,auxiliary:l.Boolean(),delivery:l.Optional(me(["current_turn","next_turn"])),queued:l.Optional(l.Integer({minimum:0}))}));W(l.Object({projectPath:l.String(),kind:me(["uncommitted","base","commit"]),ref:l.Optional(l.String({maxLength:200})),instructions:l.Optional(l.String({maxLength:4e3})),modelId:l.Optional(l.String({minLength:1,maxLength:200}))}));const f2=W(l.Object({reviewId:l.String(),status:l.Literal("running")}));W(l.Object({messageId:l.String(),role:Md,content:l.String(),timestamp:l.String()}));W(l.Object({approved:l.Boolean(),remember:l.Optional(l.Boolean()),scope:l.Optional(me(["once","session","project"])),targetMode:l.Optional(cs),feedback:l.Optional(l.String()),answers:l.Optional(l.Record(l.String(),l.Union([l.String(),l.Array(l.String())]))),elicitation:l.Optional(l.Object({action:me(["accept","decline","cancel"]),content:l.Optional(l.Record(l.String(),l.Union([l.String({maxLength:4e3}),l.Number(),l.Boolean(),l.Array(l.String({maxLength:1e3}),{maxItems:100})]),{maxProperties:32}))}))}));const p2=W(l.Object({id:Or,name:l.String({minLength:1,maxLength:80}),description:l.String({minLength:1,maxLength:256}),source:me(["built-in","user","project","plugin"]),contentSha256:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"}))}));W(l.Object({id:l.String(),displayName:l.Optional(l.String()),provider:l.String(),model:l.String(),contextWindow:l.Optional(l.Number()),maxTokens:l.Optional(l.Number()),reasoning:l.Optional(l.Boolean()),supportedReasoningEfforts:l.Optional(l.Array(me(["off","minimal","low","medium","high","xhigh","max"]))),supportedServiceTiers:l.Optional(l.Array(me(["standard","fast","flex"]))),supportedResponseVerbosities:l.Optional(l.Array(me(["low","medium","high"]))),communicationStyles:l.Optional(l.Array(p2,{maxItems:36})),input:l.Optional(l.Array(me(["text","image"]))),overrides:l.Optional(l.Object({baseUrl:l.Optional(l.String()),temperature:l.Optional(l.Number()),maxOutputTokens:l.Optional(l.Number()),timeout:l.Optional(l.Number()),streamIdleTimeout:l.Optional(l.Number({minimum:1e3}))}))}));W(me(["vs-dark","vs-light","hc-black"]));const m2=W(me(["light","dark","system"])),h2=W(l.Object({language:l.String(),codeTheme:l.String(),uiTheme:m2,autoSaveSessions:l.Boolean(),notifyBuild:l.Boolean(),notifyErrors:l.Boolean(),notifySounds:l.Boolean(),privacyTelemetry:l.Boolean(),privacyCrash:l.Boolean(),communicationStyle:l.Optional(Or)}));W(l.Partial(h2));async function dr(e,t){const n=await fetch(e,t),r=await n.json().catch(()=>{});if(!n.ok){const s=r,o=s!=null&&s.error&&typeof s.error=="object"&&!Array.isArray(s.error)?s.error:void 0,i=typeof(s==null?void 0:s.error)=="string"?s.error:typeof(o==null?void 0:o.message)=="string"?o.message:typeof(s==null?void 0:s.message)=="string"?s.message:n.statusText||`Request failed (${n.status})`;throw new Error(i)}return r}const se="",Ku=1e4,g2=l.Array(Jn),b2=l.Array(Ox),k2=l.Array(Fd),x2=l.Array(Px),y2=l.Array(Ac),w2=l.Object({cwd:l.String(),gitBranch:l.Optional(l.String()),taskAdmission:l.Optional(l.Object({inFlight:l.Integer({minimum:0}),queued:l.Integer({minimum:0}),maxConcurrent:l.Integer({minimum:1}),maxQueued:l.Integer({minimum:1})}))}),v2=e=>Array.isArray(e)?e:e==null?"":typeof e=="string"?e:JSON.stringify(e),S2=()=>{const e=new Date,t=String(e.getFullYear()).slice(-2),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`Session ${t}-${n}-${r} ${s}:${o}`};function I2(e){const t=Nx.parse(e);return`projectPath=${encodeURIComponent(t.projectPath)}`}function mt(e,t){const n=I2(t);return`${e}${e.includes("?")?"&":"?"}${n}`}function Gu(e){return{"x-blade-directory":Nx.parse(e).projectPath}}const Wa=(e,t,n)=>({id:`history-${t}-${n}`,role:e.role,content:v2(e.content),timestamp:n,metadata:e.metadata&&typeof e.metadata=="object"?e.metadata:void 0,tool_call_id:e.tool_call_id,name:e.name,tool_calls:e.tool_calls,thinkingContent:e.thinkingContent??e.reasoningContent}),ee={listProjects:async()=>{const e=await fetch(`${se}/projects`);if(!e.ok)throw new Error("Failed to load projects");return lr(b2,await e.json())},bindProject:async e=>{var n;const t=await fetch(`${se}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to bind project")}return Ox.parse(await t.json())},pickProjectDirectory:async()=>lr(i2,await dr(`${se}/projects/pick`,{method:"POST"})),unbindProject:async e=>{if(!(await fetch(`${se}/projects?path=${encodeURIComponent(e)}`,{method:"DELETE"})).ok)throw new Error("Failed to unbind project")},listSessions:async()=>{const e=await fetch(`${se}/sessions`);if(!e.ok)throw new Error("Failed to load sessions");return lr(g2,await e.json())},listSessionPage:async(e,t=50,n=!1)=>{const r=new URLSearchParams({limit:String(t)});e&&r.set("cursor",e),n&&r.set("archived","true");const s=await fetch(`${se}/sessions/catalog?${r.toString()}`);if(!s.ok)throw new Error("Failed to load session catalog");return ZF.parse(await s.json())},getSession:async e=>Jn.parse(await dr(mt(`${se}/sessions/${e.sessionId}`,e))),createSession:async(e,t)=>{const n=await fetch(`${se}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e,title:t||S2()})});if(!n.ok)throw new Error("Failed to create session");return Jn.parse(await n.json())},startCodeReview:async(e,t)=>{var r,s;const n=await fetch(`${se}/sessions/${e.sessionId}/review`,{method:"POST",headers:{"Content-Type":"application/json",...Gu(e)},body:JSON.stringify({projectPath:e.projectPath,...t})});if(!n.ok){const o=await n.json().catch(()=>{}),i=((r=o==null?void 0:o.error)==null?void 0:r.code)==="CONFLICT"?He("taskHome.review.conflict"):((s=o==null?void 0:o.error)==null?void 0:s.code)==="BAD_REQUEST"?He("taskHome.review.invalidTarget"):He("taskHome.review.startFailed");throw new Error(i)}return f2.parse(await n.json())},getWorkspaceInfo:async()=>lr(w2,await dr(`${se}/global/info`)),createTask:async e=>{var n;const t=await fetch(`${se}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to dispatch task")}return qu.parse(await t.json())},retryTask:async e=>{var n;const t=await fetch(mt(`${se}/tasks/${e.sessionId}/retry`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to retry task")}return qu.parse(await t.json())},deliverTask:async(e,t)=>{var r;const n=await fetch(mt(`${se}/tasks/${e.sessionId}/delivery`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t})});if(!n.ok){const s=await n.json().catch(()=>{});throw new Error(((r=s==null?void 0:s.error)==null?void 0:r.message)||"Failed to deliver task changes")}return Jn.parse(await n.json())},getTaskDiff:async e=>{var n;const t=await fetch(mt(`${se}/tasks/${e.sessionId}/diff`,e));if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to load task diff")}return VF.parse(await t.json())},deleteSession:async e=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}`,e),{method:"DELETE"})).ok)throw new Error("Failed to delete session")},archiveSession:async e=>e2.parse(await dr(mt(`${se}/sessions/${e.sessionId}/archive`,e),{method:"POST"})),unarchiveSession:async e=>t2.parse(await dr(mt(`${se}/sessions/${e.sessionId}/unarchive`,e),{method:"POST"})),exportSessionMarkdown:async(e,t=!1)=>{var d,f;const n=mt(`${se}/sessions/${e.sessionId}/export`,e),r=t?`${n}&includeReasoning=true`:n,s=await fetch(r);if(!s.ok){const m=await s.json().catch(()=>{});throw new Error(((d=m==null?void 0:m.error)==null?void 0:d.message)||"Failed to export session")}const o=s.headers.get("content-disposition")??"",i=((f=/filename="([A-Za-z0-9._-]+)"/.exec(o))==null?void 0:f[1])??`blade-session-${e.sessionId.slice(0,12)}.md`,u=s.headers.get("x-blade-content-sha256")??"";if(!/^[a-f0-9]{64}$/.test(u))throw new Error("Session export is missing its integrity hash");const p=m=>{const h=s.headers.get(m);if(h===null)throw new Error(`Session export is missing its ${m} header`);const k=Number(h);if(!Number.isInteger(k)||k<0)throw new Error(`Session export has an invalid ${m} header`);return k};return{filename:i,markdown:await s.text(),contentSha256:u,messageCount:p("x-blade-export-messages"),activityCount:p("x-blade-export-activities"),redactionCount:p("x-blade-export-redactions")}},updateSession:async(e,t)=>{if(!(await fetch(`${se}/sessions/${e.sessionId}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,projectPath:e.projectPath})})).ok)throw new Error("Failed to update session")},getMessages:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/message`,e));if(!t.ok)throw new Error("Failed to load messages");const n=lr(k2,await t.json()),r=Date.now();return n.map((s,o)=>Wa(s,o,r))},sendMessage:async(e,t,n)=>{var s;const r=await fetch(`${se}/sessions/${e.sessionId}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,permissionMode:n,projectPath:e.projectPath})});if(!r.ok){const o=await r.json().catch(()=>{}),i=((s=o==null?void 0:o.error)==null?void 0:s.message)??(o==null?void 0:o.reason);throw new Error(i||"Failed to send message")}return r.json()},executeUserShellCommand:async(e,t)=>u2.parse(await dr(`${se}/sessions/${e.sessionId}/shell`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:t,projectPath:e.projectPath})})),abortSession:async e=>{var n;const t=await fetch(mt(`${se}/sessions/${e.sessionId}/abort`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to stop task")}},getGoal:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e));if(!t.ok)throw new Error("Failed to load goal");return(await t.json()).goal},createGoal:async(e,t,n,r)=>{const s=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({objective:t,tokenBudget:n,permissionMode:r})});if(!s.ok)throw new Error("Failed to create goal");return s.json()},updateGoal:async(e,t)=>{const n=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok)throw new Error("Failed to update goal");return n.json()},clearGoal:async e=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"DELETE"})).ok)throw new Error("Failed to clear goal")},listRewindCheckpoints:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/rewind`,e));if(!t.ok)throw new Error("Failed to load rewind checkpoints");const n=await t.json();return lr(x2,n.checkpoints)},rewindSession:async(e,t,n)=>{const r=await fetch(mt(`${se}/sessions/${e.sessionId}/rewind`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetMessageId:t,mode:n})});if(!r.ok)throw new Error("Failed to rewind session");const s=r2.parse(await r.json()),o=Date.now();return{...s,messages:s.messages.map((i,u)=>Wa(i,u,o))}},listSubagents:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/subagents`,e));if(!t.ok)throw new Error("Failed to load subagents");const n=await t.json();return lr(y2,n.subagents)},resumeSubagent:async(e,t,n)=>{const r=await fetch(mt(`${se}/sessions/${e.sessionId}/subagents/${encodeURIComponent(t)}/resume`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:n})});if(!r.ok){const s=await r.json().catch(()=>{});throw new Error((s==null?void 0:s.message)||"Failed to resume subagent")}return o2.parse(await r.json())},forkSession:async e=>{const t=await fetch(`${se}/sessions/${e.sessionId}/fork`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e.projectPath})});if(!t.ok)throw new Error("Failed to fork session");const n=n2.parse(await t.json()),r=Date.now();return{session:n.session,messages:n.messages.map((s,o)=>Wa(s,o,r))}},openEventSubscription:async(e,t,n)=>{const r=(n==null?void 0:n.maxRetries)??5,s=n==null?void 0:n.onConnectionChange,o=n==null?void 0:n.onConnectionStateChange;let i=null,u=0,p=null,d=Date.now(),f=null,m=null,h=!1,k=!1,x=0,C,T,b=!1;const A=new Promise((P,z)=>{C=P,T=z}),N=()=>{f&&(clearInterval(f),f=null)},R=()=>{m&&(clearTimeout(m),m=null)},V=()=>{i==null||i.close(),i=null},j=()=>{p&&(clearTimeout(p),p=null),N(),R(),V()},I=()=>{b||(b=!0,R(),C())},O=P=>{b||(b=!0,j(),T(P))},B=()=>{if(h||u>=r){u>=r&&(console.error(`SSE max retries (${r}) reached, giving up`),o==null||o("offline"));return}u++,o==null||o("reconnecting");const P=Math.min(1e3*Math.pow(2,u-1),3e4);console.log(`SSE reconnecting in ${P}ms (attempt ${u}/${r})`),p=setTimeout(()=>{re().catch(z=>{console.error("SSE reconnect failed",z),s==null||s(!1),B()})},P)},Z=()=>{u=0,d=Date.now(),s==null||s(!0),o==null||o("connected"),N(),f=setInterval(()=>{Date.now()-d>45e3&&(console.warn("SSE heartbeat timeout, reconnecting..."),N(),V(),s==null||s(!1),o==null||o("reconnecting"),B())},15e3),k||(k=!0,I())},re=async()=>{if(h)return;V();const P=mt(`${se}/sessions/${e.sessionId}/events`,e),z=x>0?`${P}${P.includes("?")?"&":"?"}lastEventId=${x}`:P;i=new EventSource(z),k||(R(),m=setTimeout(()=>{o==null||o("offline"),O(new Error("Timed out waiting for event subscription readiness"))},Ku)),i.onmessage=J=>{try{const he=JSON.parse(J.data);typeof he.seq=="number"&&he.seq>x&&(x=he.seq);const $e=zu.parse(he);if(d=Date.now(),$e.type==="connected"){$e.properties.sessionId===e.sessionId&&$e.properties.projectPath===e.projectPath&&(typeof $e.properties.status=="string"&&t({type:"session.status",properties:$e.properties}),Z());return}if($e.type==="heartbeat")return;t($e)}catch(he){console.error("Failed to parse SSE event:",J.data,he)}},i.onerror=()=>{if(h)return;const J=(i==null?void 0:i.readyState)===EventSource.CLOSED;if(N(),V(),J){s==null||s(!1),o==null||o("offline"),k||O(new Error("Event subscription closed before it was ready"));return}if(!k){o==null||o("offline"),O(new Error("Failed to open event subscription"));return}s==null||s(!1),B()}};return o==null||o("connecting"),re().catch(P=>{o==null||o("offline"),O(P instanceof Error?P:new Error("Failed to open event subscription"))}),await A,()=>{h=!0,p&&(clearTimeout(p),p=null),j(),s==null||s(!1)}},openTaskEventSubscription:async(e,t)=>{const n=t==null?void 0:t.onConnectionChange,r=t==null?void 0:t.onConnectionStateChange,s=new EventSource(`${se}/events`);let o=!1,i=!1,u,p,d;const f=new Promise((h,k)=>{p=h,d=k}),m=()=>{o||(o=!0,u!==void 0&&(clearTimeout(u),u=void 0),s.close(),n==null||n(!1),r==null||r("offline"))};return r==null||r("connecting"),u=setTimeout(()=>{i||o||(m(),d(new Error("Timed out waiting for global task events")))},Ku),s.onmessage=h=>{try{const k=zu.parse(JSON.parse(h.data));if(k.type==="connected"){i||(i=!0,u!==void 0&&(clearTimeout(u),u=void 0),p()),n==null||n(!0),r==null||r("connected");return}if(k.type==="heartbeat")return;e(k)}catch(k){console.error("Failed to parse global task event:",h.data,k)}},s.onerror=()=>{n==null||n(!1),r==null||r(i?"reconnecting":"offline"),!i&&!o&&(m(),d(new Error("Failed to open global task events")))},await f,m},respondPermission:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to permission")}},respondToConfirmation:async(e,t,n)=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}/confirmation/${t}`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:n})})).ok)throw new Error("Failed to respond to confirmation")},respondToQuestion:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!0,answers:n})});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to question")}},respondToElicitation:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:n.action==="accept",elicitation:n})});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to MCP elicitation")}},getGitInfo:async e=>{const t=await fetch(`${se}/suggestions/git-info`,{headers:Gu(e)});if(!t.ok)throw new Error("Failed to get git info");return t.json()},listSchedules:async()=>{var n;const e=await fetch(`${se}/schedules`);if(!e.ok){const r=await e.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.loadFailed"))}return c2.parse(await e.json()).schedules},createSchedule:async e=>{var n;const t=await fetch(`${se}/schedules`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.createFailed"))}return xs.parse(await t.json())},updateSchedule:async(e,t)=>{var r;const n=await fetch(`${se}/schedules/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const s=await n.json().catch(()=>{});throw new Error(((r=s==null?void 0:s.error)==null?void 0:r.message)||He("schedule.error.updateFailed"))}return xs.parse(await n.json())},deleteSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}`,{method:"DELETE"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.deleteFailed"))}},enableSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/enable`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.toggleFailed"))}return xs.parse(await t.json())},disableSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/disable`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.toggleFailed"))}return xs.parse(await t.json())},runSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/run`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.runFailed"))}return xs.parse(await t.json())}},Wu=e=>{let t;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const h=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(k=>k(t,h))}},s=()=>t,u={setState:r,getState:s,getInitialState:()=>p,subscribe:d=>(n.add(d),()=>n.delete(d))},p=t=e(r,s,u);return u},j2=e=>e?Wu(e):Wu,C2=e=>e;function E2(e,t=C2){const n=eo.useSyncExternalStore(e.subscribe,eo.useCallback(()=>t(e.getState()),[e,t]),eo.useCallback(()=>t(e.getInitialState()),[e,t]));return eo.useDebugValue(n),n}const Vu=e=>{const t=j2(e),n=r=>E2(t,r);return Object.assign(n,t),n},oi=e=>e?Vu(e):Vu,T2=(e,t)=>({messages:[],setMessages:n=>e({messages:n}),addMessage:n=>e(r=>({messages:[...r.messages,n]})),updateMessage:(n,r)=>e(s=>({messages:s.messages.map(o=>o.id===n?{...o,...r}:o)})),appendDelta:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent||Bn();return s==="before"?{...i,agentContent:{...du(u,r),textBefore:u.textBefore+r}}:{...i,agentContent:{...du(u,r),textAfter:u.textAfter+r}}})})),appendToolCall:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:lw(i,r)}})})),updateToolCall:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent;return u?{...i,agentContent:{...u,toolCalls:u.toolCalls.map(p=>p.toolCallId===r?{...p,...s}:p)}}:i})})),appendThinking:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...cw(i,r),thinkingContent:i.thinkingContent+r}}})})),setConfirmation:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,confirmation:r}}})})),setQuestion:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,question:r}}})})),setElicitation:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,elicitation:r}}})})),setSubagent:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:r?aw(i,r):lu(i,[])}})})),updateSubagent:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent||Bn(),p=[...iw(u)],d=p.findIndex(h=>h.id===r||h.sessionId===r);if(d===-1)return i;const f=p[d],m=typeof s=="function"?s(f):s;return p[d]={...f,...m,id:f.id},{...i,agentContent:lu(u,p,p[d].id)}})})),setTasks:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,tasks:r}}})})),replaceTemp:(n,r)=>e(s=>{const o=s.messages.findIndex(u=>u.content===n&&u.role==="user");if(o===-1)return s;const i=[...s.messages];return i[o]=r,{messages:i}})}),Va=60,A2=[/<system-reminder>[\s\S]*?<\/system-reminder>/gi,/<file[^>]*>[\s\S]*?<\/file>/gi,/<hooks_context>[\s\S]*?<\/hooks_context>/gi,/<[^>]+>/g];function P2(e){let t=e;for(const p of A2)t=t.replace(p," ");t=t.replace(/^\s*\/[a-zA-Z][\w-]*\s+/,"");const n=t.replace(/\s+/g," ").trim();if(!n)return"";const r=n.match(/^(.+?)(?:[.!?]\s|[。!?](?=\S|$)|$)/);let s=r&&r[1].length>=6?r[1]:n;if(s=s.trim().replace(/[\s.。!!??,,;;::-]+$/,""),s.length<=Va)return s;const o=s.slice(0,Va),i=o.lastIndexOf(" ");return`${(i>Va*.6?o.slice(0,i):o).trimEnd()}…`}const Ii="/.blade/worktrees/",N2=/-[a-f0-9]{8,}$/i,O2=/^(.+?(?:test|config))-[a-z0-9]{6,}$/i;function R2(e){const t=e.indexOf(Ii);if(t<0)return null;const n=e.slice(t+Ii.length).split("/")[0];return n?`${e.slice(0,t+Ii.length)}${n}`:null}function $2(e){if(!e.includes("/tmp/")&&!e.includes("/T/"))return null;const t=e.split("/"),n=t.at(-1),r=n==null?void 0:n.match(O2);return r!=null&&r[1]?(t[t.length-1]=r[1],t.join("/")):null}function Pc(e){const t=e.split("/").filter(Boolean).at(-1)||e;return e.includes(Ii)?t.replace(N2,""):t}function ii(e,t=null){const n=e.taskSourceProjectPath,r=$2(n||e.projectPath);if(r)return r;if(n)return n;const s=R2(e.projectPath);if(!s)return e.projectPath;const o=Pc(s);return t&&o===Pc(t)?t:s}function M2(e,t,n=null){return t?e.filter(r=>ii(r,n)===t):e}const Nc=fr.AUTO_EDIT;let Ja=0;const At=oi((e,t)=>({currentModelId:null,currentMode:Nc,configuredModels:[],availableModels:[],isLoading:!1,hasLoaded:!1,loadedWorkspacePath:null,error:null,loadModels:async n=>{const r=n??null;if(t().isLoading&&t().loadedWorkspacePath===r)return;const s=++Ja;e({isLoading:!0,hasLoaded:!1,loadedWorkspacePath:r,error:null});try{const o=await dr("/models",n?{headers:{"x-blade-directory":n}}:void 0);if(s!==Ja||t().loadedWorkspacePath!==r)return;const i=o.current;e({currentModelId:(i==null?void 0:i.id)||null,configuredModels:o.configured||[],availableModels:o.available||[],isLoading:!1,hasLoaded:!0})}catch(o){if(s!==Ja||t().loadedWorkspacePath!==r)return;e({error:o instanceof Error?o.message:"Failed to load models",isLoading:!1,hasLoaded:!0})}},setCurrentModel:async(n,r)=>{if(e({error:null}),r){e({currentModelId:n});return}try{await dr("/configs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:{currentModelId:n},options:{scope:"global"}})}),e({currentModelId:n})}catch(s){throw e({error:s instanceof Error?s.message:"Failed to set model"}),s}},setMode:n=>e({currentMode:n}),resetMode:()=>e({currentMode:Nc})})),Qa="__temp__",no={inputTokens:0,outputTokens:0,totalTokens:0,maxContextTokens:0,isDefaultMaxTokens:!0,totalInputTokens:0,totalOutputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,estimatedCostUsd:0};function de(e){return{sessionId:e.sessionId,projectPath:e.projectPath}}function Le(e){return JSON.stringify([e.projectPath,e.sessionId])}function oe(e,t){return!e||!t?e===t:e.sessionId===t.sessionId&&e.projectPath===t.projectPath}function Dd(e,t){return e.find(n=>oe(de(n),t))}function kn(e,t){const n=de(t),r=e.findIndex(o=>oe(de(o),n));if(r===-1)return[...e,t];const s=[...e];return s[r]=t,s}function Ju(e,t){return e.filter(n=>!oe(de(n),t))}const Mx="blade.tasks.unread",_i="blade:open-session";function Fx(e){return e==="completed"||e==="failed"||e==="interrupted"}function F2(e,t,n){return!Fx(t)||n?!1:e!==t&&!(e==="completed"||e==="failed"||e==="interrupted"||e==="cancelled")}function L2(e=typeof localStorage>"u"?null:localStorage){if(!e)return[];try{const t=JSON.parse(e.getItem(Mx)??"[]");return Array.isArray(t)?[...new Set(t.filter(n=>typeof n=="string"))]:[]}catch{return[]}}function lo(e,t=typeof localStorage>"u"?null:localStorage){if(t)try{t.setItem(Mx,JSON.stringify([...new Set(e)]))}catch{}}function Qu(e,t){const n=new Set(t.map(r=>Le({sessionId:r.sessionId,projectPath:r.projectPath})));return e.filter(r=>n.has(r))}function Yu(e){if(typeof document>"u"||document.visibilityState!=="hidden"||typeof Notification>"u"||Notification.permission!=="granted")return!1;const t=new Notification(e.title,{body:e.body,icon:"/favicon.svg",tag:`blade-task-${Le(e.ref)}`});return t.onclick=()=>e.onOpen(e.ref),!0}function D2(e){if(typeof window>"u")return!1;const t=window.AudioContext??window.webkitAudioContext;if(!t)return!1;try{const n=new t,r=n.createOscillator(),s=n.createGain();return r.type="sine",r.frequency.value=e==="completed"?660:330,s.gain.setValueAtTime(1e-4,n.currentTime),s.gain.exponentialRampToValueAtTime(.045,n.currentTime+.015),s.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(s),s.connect(n.destination),r.start(),r.stop(n.currentTime+.2),r.onended=()=>void n.close(),!0}catch{return!1}}const _2=e=>{var n;const t=[];e.content.trim()&&t.push({type:"text",text:e.content});for(const r of e.attachments??[])r.type==="image"&&t.push({type:"image_url",image_url:{url:r.content}});return t.length===0?e.content:t.length===1&&((n=t[0])==null?void 0:n.type)==="text"?t[0].text:t},bi=()=>({eventUnsubscribe:null,sessionEventConnectionState:"idle",isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1}),Xu=()=>new Promise(e=>{globalThis.setTimeout(()=>{if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(()=>e(),{timeout:750});return}e()},350)}),U2=(e,t)=>{let n=0,r=0,s=0;const o=new Map,i=()=>(n+=1,n),u=d=>d===n,p=d=>{try{d()}catch(f){console.warn("Failed to clean up stale event subscription",f)}};return{sessions:[],archivedSessions:[],currentSessionId:null,currentSessionRef:null,forkingSessionRef:null,isTemporarySession:!1,isLoading:!1,catalogLoadState:"idle",catalogError:null,archivedCatalogLoadState:"idle",archivedCatalogError:null,error:null,errorContext:null,goal:null,setSessions:d=>e({sessions:d}),addSession:d=>e(f=>({sessions:kn(f.sessions,d)})),removeSession:d=>{const f=t();f.markTaskRead(d);const m=oe(f.currentSessionRef,d),h=oe(f.forkingSessionRef,d);(m||h)&&i(),m&&f.unsubscribeFromEvents(),e(k=>({sessions:Ju(k.sessions,d),currentSessionId:m?null:k.currentSessionId,currentSessionRef:m?null:k.currentSessionRef,messages:m?[]:k.messages,goal:m?null:k.goal,forkingSessionRef:h?null:k.forkingSessionRef,...m?bi():{}}))},setCurrentSession:d=>{i(),e({currentSessionId:(d==null?void 0:d.sessionId)??null,currentSessionRef:d,isTemporarySession:!1})},setTemporarySession:d=>e({isTemporarySession:d}),setLoading:d=>e({isLoading:d}),setError:d=>e({error:d,errorContext:null}),getNavigationVersion:()=>n,clearError:()=>e({error:null,errorContext:null}),setGoal:d=>e({goal:d}),startTemporarySession:d=>{i(),t().unsubscribeFromEvents(),At.getState().resetMode(),d&&t().selectProject(d),e({currentSessionId:Qa,currentSessionRef:null,isTemporarySession:!0,forkingSessionRef:null,isLoading:!1,messages:[],goal:null,tokenUsage:{...no},error:null,errorContext:null,...bi()})},loadSessions:async()=>{const d=++r,f=new Set(t().sessions.map(h=>Le(de(h)))),m=new Set;e({catalogLoadState:"loading",catalogError:null});try{let h,k=!0;do{const T=await ee.listSessionPage(h);if(d!==r)return;for(const b of T.sessions)m.add(Le(de(b)));if(e(b=>{const A=new Set(T.sessions.map(R=>Le(de(R))));return{sessions:k?[...T.sessions,...b.sessions.filter(R=>!A.has(Le(de(R))))]:T.sessions.reduce((R,V)=>kn(R,V),b.sessions),catalogLoadState:T.nextCursor?"hydrating":"ready"}}),k=!1,h=T.nextCursor,h&&(await Xu(),d!==r))return}while(h);if(d!==r)return;const x=t().sessions.filter(T=>{const b=Le(de(T));return m.has(b)||!f.has(b)}),C=Qu(t().unreadTaskKeys,x);lo(C),e({sessions:x,unreadTaskKeys:C,catalogLoadState:"ready",catalogError:null})}catch(h){if(d!==r)return;e({catalogLoadState:"error",catalogError:h.message})}},loadArchivedSessions:async()=>{const d=++s;e({archivedCatalogLoadState:"loading",archivedCatalogError:null});try{let f;const m=[];do{const h=await ee.listSessionPage(f,50,!0);if(d!==s)return;for(const k of h.sessions){const x=m.findIndex(C=>oe(de(C),de(k)));x===-1?m.push(k):m[x]=k}f=h.nextCursor,f&&(e({archivedCatalogLoadState:"hydrating"}),await Xu())}while(f);if(d!==s)return;e({archivedSessions:m,archivedCatalogLoadState:"ready",archivedCatalogError:null})}catch(f){if(d!==s)return;e({archivedCatalogLoadState:"error",archivedCatalogError:f.message})}},selectSession:async d=>{var h;const f=i();e({isLoading:!0,error:null,errorContext:null,forkingSessionRef:null});let m=null;try{const k=Dd(t().sessions,d),x=[];let C=!1;if(m=await t().prepareEventSubscription(d,V=>{C?t().handleEvent(V):x.push(V)}),!u(f)){p(m),m=null;return}const[T,b,A]=await Promise.all([ee.getMessages(d),ee.getGoal(d).catch(()=>null),k?Promise.resolve(k):ee.getSession(d)]);if(!u(f)){p(m),m=null;return}const N=hi(T),R=ii(A,t().selectedProjectPath??((h=t().taskWorkspaceInfo)==null?void 0:h.cwd)??null);t().boundProjects.some(V=>V.available&&V.path===R)&&t().selectProject(R),At.getState().setMode(A.permissionMode??Nc),e(V=>{var j;return{currentSessionId:d.sessionId,currentSessionRef:d,isTemporarySession:!1,messages:N,goal:b,isLoading:!1,tokenUsage:{...no},isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1,error:A.taskStatus==="failed"?((j=A.taskFailure)==null?void 0:j.message)??null:null,errorContext:A.taskStatus==="failed"&&A.taskFailure?{kind:"execution",sessionRef:d,failureCode:A.taskFailure.code}:null,sessions:kn(V.sessions,A)}}),t().markTaskRead(d),C=!0,t().replaceEventSubscription(m),m=null;for(const V of x)t().handleEvent(V)}catch(k){if(m&&p(m),!u(f))return;e({error:k.message,errorContext:{kind:"navigation",sessionRef:d},isLoading:!1})}},resyncSessionMessages:async d=>{const f=Le(d),m=o.get(f);if(m)return m;const h=n,k=Promise.resolve().then(async()=>{try{const x=await ee.getMessages(d);if(!u(h)||!oe(t().currentSessionRef,d))return;const C=hi(x);e(T=>({messages:C,sessions:T.sessions.map(b=>oe(de(b),d)?{...b,messageCount:C.length}:b)}))}catch(x){console.warn("Failed to resync terminal session messages",x)}finally{o.get(f)===k&&o.delete(f)}});return o.set(f,k),k},archiveSession:async d=>{var f;try{const m=await ee.archiveSession(d),h=new Set(m.archivedSessionIds),k=t(),x=((f=k.currentSessionRef)==null?void 0:f.projectPath)===d.projectPath&&h.has(k.currentSessionRef.sessionId);x&&(i(),k.unsubscribeFromEvents()),e(C=>{const T=C.sessions.filter(A=>A.projectPath!==d.projectPath||!h.has(A.sessionId)),b=Qu(C.unreadTaskKeys,T);return lo(b),{sessions:T,archivedSessions:kn(C.archivedSessions,m.session),unreadTaskKeys:b,currentSessionId:x?null:C.currentSessionId,currentSessionRef:x?null:C.currentSessionRef,messages:x?[]:C.messages,goal:x?null:C.goal,...x?bi():{}}}),await t().loadArchivedSessions()}catch(m){e({error:m.message,errorContext:{kind:"task_action",sessionRef:d}})}},unarchiveSession:async d=>{try{const f=await ee.unarchiveSession(d),m=new Set(f.restoredSessionIds);e(h=>({archivedSessions:h.archivedSessions.filter(k=>k.projectPath!==d.projectPath||!m.has(k.sessionId)),sessions:kn(h.sessions,f.session)})),await Promise.all([t().loadSessions(),t().loadArchivedSessions()])}catch(f){e({error:f.message,errorContext:{kind:"task_action",sessionRef:d}})}},deleteSession:async d=>{const f=t(),m=oe(f.currentSessionRef,d),h=oe(f.forkingSessionRef,d),k=m||h?i():null,x=m?k:null;h&&e({forkingSessionRef:null});try{await ee.deleteSession(d),t().markTaskRead(d);const C=t(),T=oe(C.currentSessionRef,d)&&(x===null||u(x));T&&(i(),C.unsubscribeFromEvents()),e(b=>({sessions:Ju(b.sessions,d),currentSessionId:T?null:b.currentSessionId,currentSessionRef:T?null:b.currentSessionRef,messages:T?[]:b.messages,goal:T?null:b.goal,...T?bi():{}}))}catch(C){if(x!==null&&(!u(x)||!oe(t().currentSessionRef,d)))return;e({error:C.message})}},updateSession:async(d,f)=>{try{await ee.updateSession(d,f),e(m=>({sessions:m.sessions.map(h=>h.sessionId===d.sessionId&&h.projectPath===d.projectPath?{...h,title:f}:h)}))}catch(m){e({error:m.message})}},forkSession:async d=>{const f=i(),m=de(d);e({forkingSessionRef:m,isLoading:!1,error:null});let h=null;try{const k=await ee.forkSession(d),x=de(k.session),C=hi(k.messages);if(e(T=>({sessions:kn(T.sessions,k.session)})),!u(f))return;if(h=await t().prepareEventSubscription(x),!u(f)){p(h),h=null;return}e({currentSessionId:x.sessionId,currentSessionRef:x,isTemporarySession:!1,messages:C,goal:null,tokenUsage:{...no},error:null,forkingSessionRef:null}),t().replaceEventSubscription(h),h=null}catch(k){if(h&&p(h),!u(f))return;e({error:k.message,forkingSessionRef:null})}},rewindSession:async(d,f)=>{const{currentSessionRef:m,isTemporarySession:h,isStreaming:k}=t();if(!m||h)return e({error:"No persisted session is available for rewind"}),!1;if(k)return e({error:"Stop the active run before rewinding"}),!1;const x=n;try{const C=await ee.rewindSession(m,d,f);if(!u(x)||!oe(t().currentSessionRef,m))return!1;const T=hi(C.messages);return e(b=>({messages:T,tokenUsage:{...no},error:null,currentRunId:null,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1,sessions:b.sessions.map(A=>A.sessionId===m.sessionId&&A.projectPath===m.projectPath?{...A,messageCount:T.length}:A)})),!0}catch(C){return!u(x)||!oe(t().currentSessionRef,m)||e({error:C.message}),!1}},sendMessage:async d=>{var B,Z,re,P;const{currentSessionId:f,currentSessionRef:m,isTemporarySession:h,isStreaming:k,addSession:x,addMessage:C}=t(),T=n,b=m,A={isStreaming:k,agentPhase:t().agentPhase,currentRunId:t().currentRunId};let N=m,R=f,V=b,j=null,I=null;const O=()=>u(T)&&oe(t().currentSessionRef,V);if(h||!R||R===Qa)try{const z=P2(d.content),J=await ee.createSession(t().selectedProjectPath??((B=t().taskWorkspaceInfo)==null?void 0:B.cwd)??void 0,z||void 0);if(x(J),!O())return!1;N=de(J),R=J.sessionId,e({currentSessionId:J.sessionId,currentSessionRef:N,isTemporarySession:!1}),V=N}catch(z){return O()&&e({error:z.message}),!1}if(!N||!R||R===Qa)return O()&&e({error:"Failed to create session"}),!1;try{if(!k){if(j=await t().prepareEventSubscription(N),!O())return p(j),j=null,!1;t().replaceEventSubscription(j),j=null}if(!O())return!1;const z=d.content.trim();if(z.startsWith("!")){if((((Z=d.attachments)==null?void 0:Z.length)??0)>0)throw new Error("User shell commands do not accept image attachments");const F=z.slice(1).trim();if(!F)throw new Error("User shell command cannot be empty");k||e({isStreaming:!0,agentPhase:"running",error:null,errorContext:null});const Q=await ee.executeUserShellCommand(N,F);return O()?(Q.auxiliary||e({isStreaming:!1,agentPhase:"idle"}),Q.delivery&&e({pendingSteeringCount:Q.queued??0,pendingInputDelivery:Q.delivery==="current_turn"?"current_turn":"next_turn"}),!0):!1}if((((re=d.attachments)==null?void 0:re.length)??0)===0&&(z==="/goal"||z.startsWith("/goal "))){I=`goal-command-${Date.now()}`,C({id:I,role:"user",content:z,timestamp:Date.now()});const F=z.slice(5).trim().split(/\s+/).filter(Boolean),Q=(P=F[0])==null?void 0:P.toLowerCase();if(!Q||Q==="status"){const Se=await ee.getGoal(N);return O()&&e({goal:Se}),O()}if(Q==="clear")return await ee.clearGoal(N),O()&&e({goal:null}),O();let L;if(Q==="pause")L=await ee.updateGoal(N,{action:"pause"});else if(Q==="resume")L=await ee.updateGoal(N,{action:"resume"});else if(Q==="edit"){const Se=F.slice(1).join(" ").trim();if(!Se)throw new Error("Usage: /goal edit <objective>");L=await ee.updateGoal(N,{action:"edit",objective:Se})}else{const Se=F.lastIndexOf("--budget");let Pe;if(Se>=0){const Lt=F[Se+1];if(!Lt||!/^[1-9]\d*$/.test(Lt))throw new Error("--budget requires a positive integer");Pe=Number(Lt),F.splice(Se,2)}const Ee=F.join(" ").trim();if(!Ee)throw new Error("Usage: /goal <objective>");const{currentMode:An}=At.getState();L=await ee.createGoal(N,Ee,Pe,An)}return O()?(e({goal:L.goal,...L.runId?{currentRunId:L.runId,isStreaming:!0,agentPhase:"running"}:{}}),!0):!1}I=`temp-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,C({id:I,role:"user",content:_2(d),timestamp:Date.now()}),e({isStreaming:!0,error:null,errorContext:null,recoveredSteeringCount:k?t().recoveredSteeringCount:0});const{currentMode:J,currentModelId:he}=At.getState(),{modelId:$e,...Ce}=d,ie=$e??he??void 0,Me=d.reasoningEffort,$=d.serviceTier,pe=d.responseVerbosity,ke=d.communicationStyle,Qe=ie&&!k?{...Ce,modelId:ie}:Ce,ct=await ee.sendMessage(N,Qe,J);return O()?(e({currentRunId:ct.runId,pendingSteeringCount:ct.status==="steering_queued"||ct.status==="follow_up_queued"?Math.max(0,ct.queued??1):t().pendingSteeringCount,pendingInputDelivery:ct.status==="steering_queued"?"current_turn":ct.status==="follow_up_queued"?"next_turn":t().pendingInputDelivery,sessions:(ie||Me||$||pe||ke)&&!k?t().sessions.map(F=>F.sessionId===N.sessionId&&F.projectPath===N.projectPath?{...F,...ie?{selectedModelId:ie}:{},...Me?{reasoningEffort:Me}:{},...$?{serviceTier:$}:{},...pe?{responseVerbosity:pe}:{},...ke?{communicationStyle:ke}:{}}:F):t().sessions}),!0):!1}catch(z){return j&&p(j),O()?I&&!t().messages.some(J=>J.id===I)?!0:(e(J=>({error:z.message,errorContext:{kind:"submission",sessionRef:N},messages:I?J.messages.filter(he=>he.id!==I):J.messages,...A})),!1):!1}},abortSession:async()=>{const{currentSessionRef:d,isStopping:f}=t();if(!d||f)return!1;e({isStopping:!0,error:null,errorContext:null});try{return await ee.abortSession(d),oe(t().currentSessionRef,d)?(t().unsubscribeFromEvents(),e({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1}),!0):!1}catch(m){return oe(t().currentSessionRef,d)&&e({isStopping:!1,error:m instanceof Error?m.message:"Failed to stop task",errorContext:{kind:"task_action",sessionRef:d}}),!1}},pauseGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{const m=await ee.updateGoal(d,{action:"pause"});if(!oe(t().currentSessionRef,d))return;e({goal:m.goal,error:null})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}},resumeGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{const m=await ee.updateGoal(d,{action:"resume"});if(!oe(t().currentSessionRef,d))return;e({goal:m.goal,error:null,...m.runId?{currentRunId:m.runId,isStreaming:!0,agentPhase:"running"}:{}})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}},editGoal:async d=>{const{currentSessionRef:f,isTemporarySession:m}=t();if(!f||m){e({error:"No persisted session is available for this goal"});return}try{const h=await ee.updateGoal(f,{action:"edit",objective:d});if(!oe(t().currentSessionRef,f))return;e({goal:h.goal,error:null,...h.runId?{currentRunId:h.runId,isStreaming:!0,agentPhase:"running"}:{}})}catch(h){if(!oe(t().currentSessionRef,f))return;e({error:h.message})}},clearGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{if(await ee.clearGoal(d),!oe(t().currentSessionRef,d))return;e({goal:null,error:null})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}}}},B2=(e,t)=>{const n=new WeakMap;let r=null;return{isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,sessionEventConnectionState:"idle",currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},eventUnsubscribe:null,currentAssistantMessageId:null,hasToolCalls:!1,setStreaming:s=>e({isStreaming:s}),setAgentPhase:s=>e({agentPhase:s}),setRunId:s=>e({currentRunId:s}),prepareEventSubscription:async(s,o)=>{const i=o??uu(t,e);let u=null,p="connecting";return u=await ee.openEventSubscription(s,i,{onConnectionStateChange:d=>{p=d,u&&r===u&&e({sessionEventConnectionState:d})}}),n.set(u,p),u},replaceEventSubscription:s=>{const o=t().eventUnsubscribe;if(r=s,e({eventUnsubscribe:s,sessionEventConnectionState:s?n.get(s)??"connected":"idle"}),Ua.reset(),o&&o!==s)try{o()}catch(i){console.warn("Failed to clean up previous event subscription",i)}},setCurrentAssistantMessageId:s=>e({currentAssistantMessageId:s}),setHasToolCalls:s=>e({hasToolCalls:s}),startAgentResponse:s=>{e({currentAssistantMessageId:s,hasToolCalls:!1,isStreaming:!0,agentPhase:"running",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null})},endAgentResponse:()=>{Ua.drainAll(),e({currentAssistantMessageId:null,hasToolCalls:!1,isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},subscribeToEvents:async s=>{const o=await t().prepareEventSubscription(s);t().replaceEventSubscription(o)},reconnectSessionEvents:async()=>{const s=t().currentSessionRef;if(s){t().unsubscribeFromEvents(),e({sessionEventConnectionState:"connecting"});try{await t().subscribeToEvents(s)}catch(o){throw e({sessionEventConnectionState:"offline"}),o}}},unsubscribeFromEvents:()=>{const{eventUnsubscribe:s}=t();r=null,e({eventUnsubscribe:null,sessionEventConnectionState:"idle"});try{s==null||s()}catch(o){console.warn("Failed to clean up event subscription",o)}finally{Ua.reset()}},handleEvent:s=>{uu(t,e)(s)}}};function H2(e){var t;return((t=e.taskPromptSummary)==null?void 0:t.trimStart().startsWith("/review"))===!0}function _d(e,t){var r;const n=(r=e.taskStatusReason)==null?void 0:r.trim();if(H2(e)){if(e.taskStatus==="running")return t("taskHome.review.running");if(n!=null&&n.startsWith("Code review stale:"))return t("taskHome.review.stale");if(n==="Code review aborted")return t("taskHome.review.aborted");if(n==="Code review interrupted by process restart")return t("taskHome.review.interrupted");if(e.taskStatus==="failed")return t("taskHome.review.failed")}return e.taskFailure?t(Ef(e.taskFailure.code)):n==="user-cancel"?t("session.reason.cancelledByUser"):n||void 0}let Ya=0;function ki(e,t){const n=e.findIndex(s=>s.id===t.id);if(n===-1)return[...e,t];const r=e.slice();return r[n]=t,r}const z2=oi(e=>({schedules:[],isLoading:!1,hasLoaded:!1,error:null,loadSchedules:async()=>{const t=++Ya;e({isLoading:!0,error:null});try{const n=await ee.listSchedules();if(t!==Ya)return;e({schedules:n,isLoading:!1,hasLoaded:!0})}catch(n){if(t!==Ya)return;e({error:n instanceof Error?n.message:He("schedule.error.loadFailed"),isLoading:!1,hasLoaded:!0})}},createSchedule:async t=>{e({error:null});try{const n=await ee.createSchedule(t);return e(r=>({schedules:ki(r.schedules,n)})),n}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.createFailed")}),n}},updateSchedule:async(t,n)=>{e({error:null});try{const r=await ee.updateSchedule(t,n);return e(s=>({schedules:ki(s.schedules,r)})),r}catch(r){throw e({error:r instanceof Error?r.message:He("schedule.error.updateFailed")}),r}},deleteSchedule:async t=>{e({error:null});try{await ee.deleteSchedule(t),e(n=>({schedules:n.schedules.filter(r=>r.id!==t)}))}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.deleteFailed")}),n}},toggleSchedule:async(t,n)=>{e({error:null});try{const r=n?await ee.enableSchedule(t):await ee.disableSchedule(t);return e(s=>({schedules:ki(s.schedules,r)})),r}catch(r){throw e({error:r instanceof Error?r.message:He("schedule.error.toggleFailed")}),r}},runSchedule:async t=>{e({error:null});try{const n=await ee.runSchedule(t);return e(r=>({schedules:ki(r.schedules,n)})),n}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.runFailed")}),n}}})),q2=e=>e==="system"?typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches:e==="dark",ji=e=>{if(typeof document>"u")return;const t=document.documentElement;if(t.classList.remove("light","dark"),e==="system"){const r=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";t.classList.add(r)}else t.classList.add(e)},on={language:"zh-CN",codeTheme:"dracula",uiTheme:"system",autoSaveSessions:!0,notifyBuild:!0,notifyErrors:!1,notifySounds:!1,privacyTelemetry:!1,privacyCrash:!0,communicationStyle:"auto"},bo=oi((e,t)=>({...on,isLoading:!1,error:null,loadSettings:async()=>{e({isLoading:!0,error:null});try{const n=await fetch("/configs");if(!n.ok)throw new Error(He("settings.general.loadError"));const r=await n.json(),s=r.uiTheme??on.uiTheme;e({language:r.language??on.language,codeTheme:r.codeTheme??on.codeTheme,uiTheme:s,autoSaveSessions:r.autoSaveSessions??on.autoSaveSessions,notifyBuild:r.notifyBuild??on.notifyBuild,notifyErrors:r.notifyErrors??on.notifyErrors,notifySounds:r.notifySounds??on.notifySounds,privacyTelemetry:r.privacyTelemetry??on.privacyTelemetry,privacyCrash:r.privacyCrash??on.privacyCrash,communicationStyle:r.communicationStyle??on.communicationStyle,isLoading:!1}),ji(s)}catch(n){e({error:n.message,isLoading:!1})}},updateSettings:async n=>{const r=t();e({...n,error:null}),n.uiTheme&&ji(n.uiTheme);try{if(!(await fetch("/configs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:n,options:{scope:"global"}})})).ok)throw new Error(He("settings.general.saveError"))}catch(s){e({language:r.language,codeTheme:r.codeTheme,uiTheme:r.uiTheme,autoSaveSessions:r.autoSaveSessions,notifyBuild:r.notifyBuild,notifyErrors:r.notifyErrors,notifySounds:r.notifySounds,privacyTelemetry:r.privacyTelemetry,privacyCrash:r.privacyCrash,communicationStyle:r.communicationStyle,error:s.message}),n.uiTheme&&ji(r.uiTheme)}}}));ji(on.uiTheme);const hL=()=>bo(e=>q2(e.uiTheme)),Lx="blade.projects.selected";function Zu(){return typeof localStorage>"u"?null:localStorage.getItem(Lx)}function xi(e){typeof localStorage<"u"&&localStorage.setItem(Lx,e)}const K2=new Set(["queued","running","completed","failed","cancelled","interrupted"]),Xa=new Set(["default","autoEdit","yolo","plan"]),ef=new Set(["auto","off","minimal","low","medium","high","xhigh","max"]),tf=new Set(["auto","standard","fast","flex"]),nf=new Set(["auto","low","medium","high"]),rf=new Set(["auto","pragmatic","friendly","explanatory"]);function G2(e){return typeof e=="string"&&K2.has(e)}function W2(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!["changedFiles","additions","deletions","commits"].some(r=>typeof t[r]!="number"||!Number.isInteger(t[r])||t[r]<0))return{changedFiles:t.changedFiles,additions:t.additions,deletions:t.deletions,commits:t.commits}}function sf(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=dw(t.code);if(!(!n||typeof t.message!="string"||typeof t.retryable!="boolean"))return{code:n,message:He(Ef(n)),retryable:uw(n)}}function V2(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!(!["applied","discarded","conflicted"].includes(String(t.status))||typeof t.updatedAt!="string"))return{status:t.status,updatedAt:t.updatedAt,...typeof t.sourceCommit=="string"?{sourceCommit:t.sourceCommit}:{},...typeof t.changedFiles=="number"&&Number.isInteger(t.changedFiles)&&t.changedFiles>=0?{changedFiles:t.changedFiles}:{},...typeof t.message=="string"?{message:t.message}:{}}}function hs(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:void 0}const J2=(e,t)=>{let n=null,r=!1,s=!1,o=0;const i=new Map,u=d=>{const f=Le(d),m=++o;i.set(f,m),ee.getSession(d).then(h=>{i.get(f)===m&&e(k=>({sessions:kn(k.sessions,h)}))}).catch(()=>{i.get(f)===m&&t().loadSessions()}).finally(()=>{i.get(f)===m&&i.delete(f)})},p=d=>{const f=Le(d),m=++o;i.set(f,m),queueMicrotask(()=>{i.get(f)===m&&i.delete(f)})};return{taskEventsConnected:!1,taskEventConnectionState:"connecting",taskEventUnsubscribe:null,taskWorkspaceInfo:null,isTaskWorkspaceLoading:!1,taskWorkspaceError:null,boundProjects:[],selectedProjectPath:Zu(),isDispatchingTask:!1,isBindingProject:!1,cancellingTaskKeys:[],retryingTaskKeys:[],taskDeliveryActions:{},unreadTaskKeys:L2(),handleTaskEvent:d=>{if(d.type==="session.created"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;u({sessionId:j,projectPath:I});return}if(d.type==="session.deleted"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;const O={sessionId:j,projectPath:I};p(O),t().removeSession(O);return}if(d.type==="session.archived"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;const O={sessionId:j,projectPath:I};p(O),t().removeSession(O),t().loadArchivedSessions();return}if(d.type==="session.unarchived"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;u({sessionId:j,projectPath:I}),t().loadArchivedSessions();return}if(d.type==="session.updated"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.title,B=d.properties.selectedModelId,Z=d.properties.permissionMode,re=d.properties.reasoningEffort,P=d.properties.serviceTier,z=d.properties.responseVerbosity,J=d.properties.communicationStyle;if(typeof j!="string"||typeof I!="string"||!(typeof O=="string"&&O.trim()||typeof B=="string"&&B.trim()||Xa.has(Z)||ef.has(re)||tf.has(P)||nf.has(z)||rf.has(J)))return;const he={sessionId:j,projectPath:I};if(oe(t().currentSessionRef,he)&&Xa.has(Z)&&At.getState().setMode(Z),!t().sessions.some(Ce=>oe(de(Ce),he))){u(he);return}e(Ce=>({sessions:Ce.sessions.map(ie=>oe({sessionId:ie.sessionId,projectPath:ie.projectPath},he)?{...ie,...typeof O=="string"&&O.trim()?{title:O}:{},...typeof B=="string"&&B.trim()?{selectedModelId:B}:{},...Xa.has(Z)?{permissionMode:Z}:{},...ef.has(re)?{reasoningEffort:re}:{},...tf.has(P)?{serviceTier:P}:{},...nf.has(z)?{responseVerbosity:z}:{},...rf.has(J)?{communicationStyle:J}:{}}:ie)}));return}if(d.type==="task.delivery"){const j=d.properties.sessionId,I=d.properties.projectPath,O=V2(d.properties.taskDelivery);if(typeof j!="string"||typeof I!="string"||!O)return;const B={sessionId:j,projectPath:I},Z=d.properties.taskWorktreeRemoved===!0;e(re=>({sessions:re.sessions.map(P=>oe(de(P),B)?{...P,taskDelivery:O,...Z?{taskWorktreePath:void 0,taskWorktreeBranch:void 0}:{},lastMessageTime:typeof d.properties.updatedAt=="string"?d.properties.updatedAt:P.lastMessageTime}:P)}));return}if(d.type==="interaction.pending"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.interactionType,B=d.properties.requestId;if(typeof j!="string"||typeof I!="string"||O!=="permission"&&O!=="question"&&O!=="elicitation"||typeof B!="string"||!B)return;const Z={sessionId:j,projectPath:I},re=t().sessions.find(z=>oe(de(z),Z));if(!re){t().loadSessions();return}if(e(z=>({sessions:z.sessions.map(J=>oe(de(J),Z)?{...J,pendingInteraction:{type:O,requestId:B}}:J)})),!(typeof document<"u"&&document.visibilityState==="visible"&&oe(t().currentSessionRef,Z))&&bo.getState().notifyErrors){const J=re.title??re.sessionId??j;Yu({ref:Z,title:`Blade · ${He(O==="question"?"attention.notification.question":O==="elicitation"?"attention.notification.elicitation":"attention.notification.permission")}`,body:J,onOpen:he=>{typeof window>"u"||(window.focus(),window.dispatchEvent(new CustomEvent(_i,{detail:he})))}})}return}if(d.type==="interaction.resolved"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.requestId;if(typeof j!="string"||typeof I!="string"||typeof O!="string")return;const B={sessionId:j,projectPath:I};e(Z=>({sessions:Z.sessions.map(re=>{var P;return oe(de(re),B)&&((P=re.pendingInteraction)==null?void 0:P.requestId)===O?{...re,pendingInteraction:void 0}:re})}));return}if(d.type==="schedule.fired"){z2.getState().loadSchedules();return}if(d.type!=="task.status")return;const f=d.properties.sessionId,m=d.properties.projectPath,h=d.properties.taskStatus;if(typeof f!="string"||typeof m!="string"||!G2(h))return;const k={sessionId:f,projectPath:m},x=hs(d.properties.taskInFlight,0),C=hs(d.properties.taskQueueDepth,0),T=hs(d.properties.taskConcurrencyLimit,1);x!==void 0&&C!==void 0&&T!==void 0&&e(j=>{var I;return{taskWorkspaceInfo:j.taskWorkspaceInfo?{...j.taskWorkspaceInfo,taskAdmission:{inFlight:x,queued:C,maxConcurrent:T,maxQueued:((I=j.taskWorkspaceInfo.taskAdmission)==null?void 0:I.maxQueued)??100}}:null}});const b=t().sessions.find(j=>oe(de(j),k)),A=typeof document<"u"&&document.visibilityState==="visible"&&oe(t().currentSessionRef,k),N=F2(b==null?void 0:b.taskStatus,h,A),R=Le(k),V=!t().unreadTaskKeys.includes(R);if(N&&V){e(O=>{const B=[...O.unreadTaskKeys,R];return lo(B),{unreadTaskKeys:B}});const j=bo.getState();if(j.notifySounds&&Fx(h)&&D2(h),h==="completed"?j.notifyBuild:j.notifyErrors){const O=He(h==="completed"?"attention.notification.completed":h==="failed"?"attention.notification.failed":"attention.notification.interrupted"),B=sf(d.properties.taskFailure),Z=b?_d({...b,taskStatus:h,taskFailure:B??b.taskFailure,taskStatusReason:typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:b.taskStatusReason,taskPromptSummary:typeof d.properties.taskPromptSummary=="string"?d.properties.taskPromptSummary:b.taskPromptSummary},He):(B==null?void 0:B.message)??(typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:void 0),re=(b==null?void 0:b.title)??(b==null?void 0:b.sessionId)??f;Yu({ref:k,title:`Blade · ${O}`,body:Z?`${re} · ${Z}`:re,onOpen:P=>{typeof window>"u"||(window.focus(),window.dispatchEvent(new CustomEvent(_i,{detail:P})))}})}}if(!b){u(k);return}e(j=>({sessions:j.sessions.map(I=>oe({sessionId:I.sessionId,projectPath:I.projectPath},k)?{...I,taskStatus:h,taskStatusReason:typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:void 0,taskFailure:h==="failed"?sf(d.properties.taskFailure)??I.taskFailure:void 0,taskPromptSummary:typeof d.properties.taskPromptSummary=="string"?d.properties.taskPromptSummary:I.taskPromptSummary,taskStartedAt:typeof d.properties.taskStartedAt=="string"?d.properties.taskStartedAt:h==="queued"?void 0:I.taskStartedAt,taskCompletedAt:typeof d.properties.taskCompletedAt=="string"?d.properties.taskCompletedAt:h==="queued"||h==="running"?void 0:I.taskCompletedAt,taskDiffStat:W2(d.properties.taskDiffStat)??I.taskDiffStat,taskQueuePosition:h==="queued"?hs(d.properties.taskQueuePosition,1)??I.taskQueuePosition:void 0,taskQueueDepth:h==="queued"?hs(d.properties.taskQueueDepth,0)??I.taskQueueDepth:void 0,taskConcurrencyLimit:hs(d.properties.taskConcurrencyLimit,1)??I.taskConcurrencyLimit,lastMessageTime:typeof d.properties.updatedAt=="string"?d.properties.updatedAt:I.lastMessageTime}:I)}))},subscribeToTaskEvents:async()=>{if(r=!0,!t().taskEventUnsubscribe){if(n)return n;e({taskEventsConnected:!1,taskEventConnectionState:"connecting"}),n=(async()=>{try{const d=await ee.openTaskEventSubscription(f=>t().handleTaskEvent(f),{onConnectionChange:f=>{e({taskEventsConnected:f})},onConnectionStateChange:f=>{r&&(f==="reconnecting"||f==="offline")&&(s=!0),e({taskEventsConnected:f==="connected",taskEventConnectionState:f}),f==="connected"&&s&&(s=!1,Promise.all([t().loadSessions(),t().loadTaskWorkspaceInfo(),t().loadBoundProjects(),At.getState().loadModels()]))}});if(!r||t().taskEventUnsubscribe){d();return}e({taskEventUnsubscribe:d})}catch(d){throw s=!0,e({taskEventsConnected:!1,taskEventConnectionState:"offline"}),d}})();try{await n}finally{n=null}}},reconnectTaskEvents:async()=>{s=!0,t().unsubscribeFromTaskEvents(),await t().subscribeToTaskEvents()},unsubscribeFromTaskEvents:()=>{var d,f;r=!1,(f=(d=t()).taskEventUnsubscribe)==null||f.call(d),e({taskEventUnsubscribe:null,taskEventsConnected:!1,taskEventConnectionState:"offline"})},loadTaskWorkspaceInfo:async()=>{e({isTaskWorkspaceLoading:!0,taskWorkspaceError:null});try{const d=await ee.getWorkspaceInfo();e({taskWorkspaceInfo:d,isTaskWorkspaceLoading:!1})}catch(d){e({isTaskWorkspaceLoading:!1,taskWorkspaceError:d instanceof Error?d.message:"Failed to load task workspace"})}},loadBoundProjects:async()=>{try{const d=await ee.listProjects(),f=Zu(),m=d.find(h=>h.available&&h.path===f)??d.find(h=>h.isCurrent)??d.find(h=>h.available);m&&xi(m.path),e({boundProjects:d,selectedProjectPath:(m==null?void 0:m.path)??null})}catch(d){e({error:d instanceof Error?d.message:"Failed to load projects"})}},bindProject:async d=>{e({isBindingProject:!0,error:null});try{const f=await ee.bindProject(d);xi(f.path),e(m=>({boundProjects:[...m.boundProjects.filter(h=>h.path!==f.path),f].sort((h,k)=>h.isCurrent!==k.isCurrent?h.isCurrent?-1:1:h.name.localeCompare(k.name)),selectedProjectPath:f.path,isBindingProject:!1}))}catch(f){throw e({isBindingProject:!1,error:f instanceof Error?f.message:"Failed to bind project"}),f}},unbindProject:async d=>{try{await ee.unbindProject(d),e(f=>{const m=f.boundProjects.filter(k=>k.path!==d||k.isCurrent),h=f.selectedProjectPath===d?m.find(k=>k.isCurrent)??m.find(k=>k.available):void 0;return h&&xi(h.path),{boundProjects:m,...h?{selectedProjectPath:h.path}:{}}})}catch(f){throw e({error:f instanceof Error?f.message:"Failed to unbind project"}),f}},selectProject:d=>{xi(d),e({selectedProjectPath:d})},markTaskRead:d=>{const f=Le(d);e(m=>{const h=m.unreadTaskKeys.filter(k=>k!==f);return lo(h),{unreadTaskKeys:h}})},clearUnreadTasks:()=>{lo([]),e({unreadTaskKeys:[]})},cancelTask:async d=>{const f=Le(d);if(!t().cancellingTaskKeys.includes(f)){e(m=>({cancellingTaskKeys:[...m.cancellingTaskKeys,f],error:null,errorContext:null}));try{await ee.abortSession(d);const m=oe(t().currentSessionRef,d);m&&t().unsubscribeFromEvents(),e(h=>({sessions:h.sessions.map(k=>oe(de(k),d)?{...k,taskStatus:"cancelled",taskQueuePosition:void 0,taskQueueDepth:void 0,taskCompletedAt:k.taskCompletedAt??new Date().toISOString()}:k),...m?{isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1,eventUnsubscribe:null}:{}}))}catch(m){throw e({error:m instanceof Error?m.message:"Failed to stop task",errorContext:{kind:"task_action",sessionRef:d}}),m}finally{e(m=>({cancellingTaskKeys:m.cancellingTaskKeys.filter(h=>h!==f)}))}}},retryTask:async d=>{const f=Le(d);if(t().retryingTaskKeys.includes(f))return;const m=t().getNavigationVersion(),h=t().selectedProjectPath,k=()=>t().getNavigationVersion()===m&&t().selectedProjectPath===h;e(x=>({retryingTaskKeys:[...x.retryingTaskKeys,f],error:null,errorContext:null}));try{const x=await ee.retryTask(d);e(C=>({sessions:kn(C.sessions,x.session)})),t().markTaskRead(d),k()&&await t().selectSession(de(x.session))}catch(x){throw k()&&e({error:x instanceof Error?x.message:"Failed to retry task",errorContext:{kind:"task_action",sessionRef:d}}),x}finally{e(x=>({retryingTaskKeys:x.retryingTaskKeys.filter(C=>C!==f)}))}},deliverTask:async(d,f)=>{const m=Le(d);if(!t().taskDeliveryActions[m]){e(h=>({taskDeliveryActions:{...h.taskDeliveryActions,[m]:f},error:null,errorContext:null}));try{const h=await ee.deliverTask(d,f);e(k=>({sessions:kn(k.sessions,h)})),t().markTaskRead(d)}catch(h){throw e({error:h instanceof Error?h.message:"Failed to deliver task changes",errorContext:{kind:"task_action",sessionRef:d}}),h}finally{e(h=>{const{[m]:k,...x}=h.taskDeliveryActions;return{taskDeliveryActions:x}})}}},dispatchTask:async d=>{const f=t().getNavigationVersion(),m=t().selectedProjectPath,h=d.projectPath??m??void 0,k=()=>t().getNavigationVersion()===f&&t().selectedProjectPath===m;e({isDispatchingTask:!0,error:null,errorContext:null});try{const x=await ee.createTask({...d,projectPath:h});e(C=>({sessions:kn(C.sessions,x.session),isDispatchingTask:!1})),k()&&await t().selectSession(de(x.session))}catch(x){throw e({isDispatchingTask:!1,...k()?{error:x instanceof Error?x.message:"Failed to dispatch task"}:{}}),x}},startCodeReview:async d=>{const f=t().getNavigationVersion(),m=t().selectedProjectPath,h=d.projectPath??m??void 0,k=()=>t().getNavigationVersion()===f&&t().selectedProjectPath===m;e({isDispatchingTask:!0,error:null,errorContext:null});let x,C=!1;try{x=await ee.createSession(h,"Code Review");const T=de(x);await ee.startCodeReview(T,{kind:d.kind,...d.ref?{ref:d.ref}:{},...d.instructions?{instructions:d.instructions}:{},...d.modelId?{modelId:d.modelId}:{}}),C=!0;const b={...x,taskStatus:"running",taskStatusReason:He("taskHome.review.running"),taskPromptSummary:`/review ${d.kind}${d.ref?` ${d.ref}`:""}`};e(A=>({sessions:kn(A.sessions,b),isDispatchingTask:!1})),k()&&await t().selectSession(T)}catch(T){throw x&&!C&&await ee.deleteSession(de(x)).catch(()=>{}),e({isDispatchingTask:!1,...k()?{error:T instanceof Error?T.message:He("taskHome.review.startFailed")}:{}}),T}}}},Q2=e=>({tokenUsage:no,updateTokenUsage:t=>e(n=>{const{costUsd:r,...s}=t;return{tokenUsage:{...n.tokenUsage,...s,totalInputTokens:n.tokenUsage.totalInputTokens+Math.max(0,t.inputTokens??0),totalOutputTokens:n.tokenUsage.totalOutputTokens+Math.max(0,t.outputTokens??0),cacheReadTokens:n.tokenUsage.cacheReadTokens+Math.max(0,t.cacheReadTokens??0),cacheWriteTokens:n.tokenUsage.cacheWriteTokens+Math.max(0,t.cacheWriteTokens??0),estimatedCostUsd:n.tokenUsage.estimatedCostUsd+Math.max(0,r??0)}}}),resetContextUsage:()=>e(t=>({tokenUsage:{...t.tokenUsage,inputTokens:0,outputTokens:0,totalTokens:0}})),setMaxContextTokens:(t,n=!1)=>e(r=>({tokenUsage:{...r.tokenUsage,maxContextTokens:t,isDefaultMaxTokens:n}}))}),D=oi()((...e)=>({...U2(...e),...J2(...e),...T2(...e),...B2(...e),...Q2(...e)}));function Y2(e){const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function X2({open:e,onOpenChange:t}){const n=Mt(),r=D(j=>j.currentSessionRef),s=D(j=>j.isStreaming),o=D(j=>j.isTemporarySession),i=D(j=>j.rewindSession),[u,p]=w.useState([]),[d,f]=w.useState(null),[m,h]=w.useState(!1),[k,x]=w.useState(!1),[C,T]=w.useState(!1),[b,A]=w.useState(null);w.useEffect(()=>{if(!e||!r)return;let j=!1;return x(!0),A(null),p([]),f(null),h(!1),ee.listRewindCheckpoints(r).then(I=>{var O;j||(p(I),f(((O=I[0])==null?void 0:O.messageId)??null))}).catch(I=>{j||A(I instanceof Error?I.message:n("chat.rewind.loadFailed"))}).finally(()=>{j||x(!1)}),()=>{j=!0}},[r,e]);const N=w.useMemo(()=>u.find(j=>j.messageId===d)??null,[u,d]),R=!!N&&!k&&!C&&!s&&!o,V=async()=>{if(!N||!R)return;T(!0),A(null);const j=await i(N.messageId,m?"both":"conversation");T(!1),j?t(!1):A(n("chat.rewind.failed"))};return a.jsx(qc,{open:e,onOpenChange:t,children:a.jsxs(Ki,{className:"max-w-[620px] gap-0 overflow-hidden border-[#E5E7EB] bg-white p-0 dark:border-zinc-800 dark:bg-[#09090b]",children:[a.jsx(Kc,{className:"border-b border-[#E5E7EB] px-6 py-5 dark:border-zinc-800",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-md bg-[#F3F4F6] text-[#4B5563] dark:bg-zinc-800 dark:text-zinc-300",children:a.jsx(ru,{className:"h-4 w-4"})}),a.jsxs("div",{children:[a.jsx(Gi,{className:"text-[15px] font-semibold text-[#111827] dark:text-zinc-100",children:n("chat.rewind.title")}),a.jsx(Wi,{className:"mt-1 text-[12px] text-[#6B7280] dark:text-zinc-400",children:n("chat.rewind.description")})]})]})}),a.jsxs("div",{className:"min-h-[260px] px-6 py-4",children:[k&&a.jsxs("div",{className:"flex h-[220px] items-center justify-center text-[#6B7280] dark:text-zinc-400",children:[a.jsx(lt,{className:"mr-2 h-4 w-4 animate-spin"}),a.jsx("span",{className:"text-xs font-mono",children:n("chat.rewind.loading")})]}),!k&&b&&a.jsx("div",{role:"alert",className:"rounded-md border border-rose-200 bg-rose-50 px-4 py-3 text-xs text-rose-700 dark:border-rose-900/60 dark:bg-rose-950/30 dark:text-rose-300",children:b}),!k&&!b&&u.length===0&&a.jsxs("div",{className:"flex h-[220px] flex-col items-center justify-center text-center",children:[a.jsx(ru,{className:"mb-3 h-5 w-5 text-[#9CA3AF] dark:text-zinc-600"}),a.jsx("p",{className:"text-sm text-[#4B5563] dark:text-zinc-300",children:n("chat.rewind.empty")})]}),!k&&u.length>0&&a.jsx("div",{role:"radiogroup","aria-label":n("chat.rewind.checkpointAria"),className:"max-h-[310px] space-y-1 overflow-y-auto",children:u.map(j=>{const I=j.messageId===d;return a.jsxs("button",{type:"button",role:"radio","aria-checked":I,onClick:()=>f(j.messageId),className:G("w-full rounded-md border px-4 py-3 text-left transition-colors",I?"border-[#22C55E] bg-[#F0FDF4] dark:border-[#22C55E] dark:bg-[#052E16]/50":"border-transparent hover:bg-[#F9FAFB] dark:hover:bg-zinc-900"),children:[a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsx("p",{className:"line-clamp-2 text-[13px] leading-5 text-[#111827] dark:text-zinc-100",children:j.preview||n("chat.rewind.userMessage")}),a.jsx("span",{className:"shrink-0 text-[10px] font-mono text-[#9CA3AF] dark:text-zinc-500",children:Y2(j.createdAt)})]}),a.jsxs("div",{className:"mt-2 flex items-center gap-3 text-[10px] font-mono text-[#6B7280] dark:text-zinc-500",children:[a.jsx("span",{children:j.messageId.slice(0,10)}),j.fileCount>0&&a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(Ly,{className:"h-3 w-3"}),j.fileCount===1?n("chat.rewind.fileCountOne",{count:j.fileCount}):n("chat.rewind.fileCountMany",{count:j.fileCount})]})]})]},j.messageId)})})]}),a.jsx("div",{className:"border-t border-[#E5E7EB] px-6 py-4 dark:border-zinc-800",children:a.jsxs("label",{className:"flex cursor-pointer items-start gap-3",children:[a.jsx("input",{type:"checkbox",checked:m,disabled:!N||N.fileCount===0,onChange:j=>h(j.target.checked),className:"mt-0.5 h-4 w-4 accent-[#16A34A] disabled:opacity-40"}),a.jsxs("span",{children:[a.jsx("span",{className:"block text-[12px] font-medium text-[#374151] dark:text-zinc-200",children:n("chat.rewind.restoreCode")}),a.jsx("span",{className:"mt-0.5 block text-[11px] text-[#6B7280] dark:text-zinc-500",children:n("chat.rewind.restoreCodeHint")})]})]})}),a.jsxs(Ff,{className:"border-t border-[#E5E7EB] px-6 py-4 dark:border-zinc-800",children:[a.jsx(pr,{variant:"ghost",onClick:()=>t(!1),disabled:C,children:n("chat.rewind.cancel")}),a.jsxs(pr,{onClick:()=>void V(),disabled:!R,className:"bg-[#16A34A] text-white hover:bg-[#15803D]",children:[C?a.jsx(lt,{className:"mr-2 h-4 w-4 animate-spin"}):a.jsx(qi,{className:"mr-2 h-4 w-4"}),n("chat.rewind.confirm")]})]})]})})}function Dx({inFlight:e,queued:t,maxConcurrent:n,compact:r=!1,className:s}){const o=Mt(),i=Math.max(1,n),u=Array.from({length:Math.min(i,12)}),p=Math.min(e,i);return a.jsxs("div",{className:G("inline-flex items-center gap-2 font-mono",r?"text-[10.5px]":"text-[11px]",s),title:o("capacity.title",{inFlight:e,queued:t,max:n}),children:[a.jsx("span",{className:G("inline-flex items-center gap-[3px] rounded-sm",r?"px-0":"px-0.5"),children:u.map((d,f)=>{const m=f<p;return a.jsx("span",{className:G("block",r?"h-2.5 w-[3px] rounded-[1px]":"h-3 w-[3px] rounded-[1px]",m?"bg-[hsl(var(--deck-accent))] shadow-[0_0_4px_hsl(var(--deck-accent)/0.65)]":"bg-[hsl(var(--deck-border-strong))]/60")},f)})}),a.jsxs("span",{className:"tabular-nums text-[hsl(var(--deck-ink-muted))]",children:[a.jsx("span",{className:"text-[hsl(var(--deck-ink))]",children:e}),a.jsx("span",{className:"mx-[2px] opacity-40",children:"/"}),a.jsx("span",{children:n}),a.jsx("span",{className:"opacity-60",children:o("capacity.suffix.running")})]}),t>0&&a.jsxs("span",{className:"inline-flex items-center gap-1 rounded-sm border border-amber-300/60 bg-amber-50 px-1.5 py-[1px] text-[10px] text-amber-800 dark:border-amber-800/60 dark:bg-amber-950/40 dark:text-amber-300",children:[a.jsx("span",{className:"h-1 w-1 rounded-full bg-amber-500"}),o("capacity.queued",{queued:t})]})]})}function of(){const e=document.querySelector("textarea[data-blade-composer]:not(:disabled)");if(!e)return!1;e.focus();const t=e.value.length;return e.setSelectionRange(t,t),!0}const _x=[{id:"searchTasks",key:"k",primaryModifier:!0,scope:"Global"},{id:"openCommands",key:"p",primaryModifier:!0,shiftKey:!0,scope:"Global"},{id:"newTask",key:"n",primaryModifier:!1,scope:"Global"},{id:"focusComposer",key:"/",primaryModifier:!1,scope:"Chat"},{id:"toggleSidebar",key:"b",primaryModifier:!0,scope:"Layout"}];function Z2(e){const t=e.key.toLocaleLowerCase();return _x.find(n=>{if(n.key!==t||e.altKey||e.shiftKey!==!!n.shiftKey)return!1;const r=e.metaKey||e.ctrlKey;return n.primaryModifier?r:!r})??null}function e5(e){return e instanceof Element?!!e.closest('input, textarea, select, [contenteditable="true"], [role="textbox"], [role="combobox"]'):!1}function t5(e){var r;const t=typeof navigator>"u"?null:navigator,n=((r=t==null?void 0:t.userAgentData)==null?void 0:r.platform)??(t==null?void 0:t.platform)??"";return/mac|iphone|ipad|ipod/i.test(n)}function n5(e,t){const n=e.key==="/"?"/":e.key.toLocaleUpperCase(),r=t5();return[...e.primaryModifier?[r?"⌘":"Ctrl"]:[],...e.shiftKey?[r?"⇧":"Shift"]:[],n]}function Oc(e,t){const n=_x.find(r=>r.id===e);return n?n5(n).join(""):""}const Ux="blade.sidebar.view",Bx="blade.preview.width",Za=640,r5=360,s5=960,o5=()=>{if(typeof localStorage>"u")return"project";const e=localStorage.getItem(Ux);return e==="status"||e==="project"?e:"project"},Hx=e=>Math.min(s5,Math.max(r5,Math.round(e))),i5=()=>{if(typeof localStorage>"u")return Za;const e=localStorage.getItem(Bx);if(!e)return Za;const t=Number(e);return Number.isFinite(t)?Hx(t):Za},mr=oi(e=>({isSidebarOpen:!0,toggleSidebar:()=>e(t=>({isSidebarOpen:!t.isSidebarOpen})),setSidebarOpen:t=>e({isSidebarOpen:t}),sidebarView:o5(),setSidebarView:t=>{typeof localStorage<"u"&&localStorage.setItem(Ux,t),e({sidebarView:t})},isFilePreviewOpen:!1,toggleFilePreview:()=>e(t=>({isFilePreviewOpen:!t.isFilePreviewOpen})),setFilePreviewOpen:t=>e({isFilePreviewOpen:t}),previewWidth:i5(),setPreviewWidth:t=>{const n=Hx(t);typeof localStorage<"u"&&localStorage.setItem(Bx,String(n)),e({previewWidth:n})},previewTab:"diff",setPreviewTab:t=>e({previewTab:t}),previewTargetPath:null,previewRequestId:0,openFilePreview:t=>e(n=>({isFilePreviewOpen:!0,previewTab:(t==null?void 0:t.tab)??n.previewTab,previewTargetPath:(t==null?void 0:t.targetPath)??null,previewRequestId:n.previewRequestId+1})),isSettingsOpen:!1,settingsSection:"general",toggleSettings:()=>e(t=>({isSettingsOpen:!t.isSettingsOpen,...t.isSettingsOpen?{}:{settingsSection:"general"}})),openSettings:(t="general")=>e({isSettingsOpen:!0,settingsSection:t}),isTerminalOpen:!1,toggleTerminal:()=>e(t=>({isTerminalOpen:!t.isTerminalOpen})),isTaskSwitcherOpen:!1,taskSwitcherMode:"tasks",setTaskSwitcherOpen:(t,n)=>e(r=>({isTaskSwitcherOpen:t,taskSwitcherMode:n??r.taskSwitcherMode})),setTaskSwitcherMode:t=>e({taskSwitcherMode:t})}));function a5(){const e=mr(r=>r.setTaskSwitcherOpen),t=mr(r=>r.toggleSidebar),n=D(r=>r.startTemporarySession);w.useEffect(()=>{const r=s=>{if(s.repeat)return;const o=Z2(s);if(!o)return;const i=mr.getState(),u=i.isTaskSwitcherOpen,p=e5(s.target),d=!!document.querySelector('[role="dialog"]');if(o.id==="searchTasks"||o.id==="openCommands"){if(d&&!u)return;s.preventDefault();const f=o.id==="searchTasks"?"tasks":"commands",m=u&&i.taskSwitcherMode===f;e(!m,f);return}if(!(p||d)){if(o.id==="newTask"){s.preventDefault(),n(),requestAnimationFrame(()=>of());return}if(o.id==="focusComposer"){of()&&s.preventDefault();return}o.id==="toggleSidebar"&&(s.preventDefault(),t())}};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e,n,t])}const Ud=w.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(hf,{ref:r,className:G("overflow-hidden relative",e),...n,children:[a.jsx(Ny,{className:"h-full w-full rounded-[inherit] [&>div]:!block !overflow-auto",children:t}),a.jsx(zx,{}),a.jsx(Oy,{})]}));Ud.displayName=hf.displayName;const zx=w.forwardRef(({className:e,orientation:t="vertical",...n},r)=>a.jsx(gf,{ref:r,orientation:t,className:G("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:a.jsx(Ry,{className:"relative flex-1 rounded-full bg-border"})}));zx.displayName=gf.displayName;function uo(e,t){var s;const n=(s=e.title)==null?void 0:s.trim();if(n==="Code Review")return t("session.title.codeReview");if(n)return n;const r=e.firstMessageTime||e.lastMessageTime;if(r){const o=new Date(r);if(!Number.isNaN(o.getTime()))return t("recent.session.fallbackDated",{y:String(o.getFullYear()).slice(-2),m:String(o.getMonth()+1).padStart(2,"0"),d:String(o.getDate()).padStart(2,"0"),hh:String(o.getHours()).padStart(2,"0"),mm:String(o.getMinutes()).padStart(2,"0")})}return t("recent.session.fallbackShort",{id:e.sessionId.slice(0,6)})}async function qx(e,t=!1){const n=await ee.exportSessionMarkdown(e,t),r=new Blob([n.markdown],{type:"text/markdown;charset=utf-8"}),s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=n.filename,o.hidden=!0,document.body.appendChild(o);try{o.click()}finally{o.remove(),await new Promise(i=>{window.setTimeout(()=>{URL.revokeObjectURL(s),i()},0)})}return n}const zn=My,qn=Fy,Nn=w.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},s)=>a.jsx($y,{children:a.jsx(bf,{ref:s,align:t,sideOffset:n,className:G("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));Nn.displayName=bf.displayName;function c5(){const e=Mt(),t=D(x=>x.archivedSessions),n=D(x=>x.archivedCatalogLoadState),r=D(x=>x.archivedCatalogError),s=D(x=>x.loadArchivedSessions),o=D(x=>x.unarchiveSession),i=D(x=>x.setError),[u,p]=w.useState(!1),[d,f]=w.useState(null),[m,h]=w.useState(null),k=x=>{p(x),x&&s()};return a.jsxs(zn,{open:u,onOpenChange:k,children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex h-8 w-full items-center justify-between rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]","aria-label":e("archive.open"),children:[a.jsxs("span",{className:"flex items-center gap-2.5",children:[a.jsx(kf,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"}),e("archive.title")]}),t.length>0&&a.jsx("span",{className:"rounded-sm bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 text-[9px] text-[hsl(var(--deck-ink-faint))]",children:t.length})]})}),a.jsxs(Nn,{role:"dialog","aria-label":e("archive.title"),side:"right",align:"end",sideOffset:8,className:"w-[340px] overflow-hidden p-0",children:[a.jsxs("div",{className:"flex h-10 items-center justify-between border-b border-[hsl(var(--deck-hairline))] px-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.08em] text-[hsl(var(--deck-ink))]",children:e("archive.title")}),a.jsx("div",{className:"text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:e("archive.subtitle")})]}),a.jsx("button",{type:"button",onClick:()=>void s(),"aria-label":e("archive.refresh"),className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(so,{className:G("h-3 w-3",(n==="loading"||n==="hydrating")&&"animate-spin")})})]}),r?a.jsxs("div",{className:"px-3 py-4 text-[11px] text-red-600 dark:text-red-400",children:[a.jsx("div",{children:r}),a.jsx("button",{type:"button",onClick:()=>void s(),className:"mt-2 font-mono text-[10px] text-[hsl(var(--deck-accent))] focus-visible:outline-none focus-visible:underline",children:e("archive.retry")})]}):t.length===0&&(n==="loading"||n==="hydrating")?a.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(lt,{className:"h-3 w-3 animate-spin"}),e("archive.loading")]}):t.length===0?a.jsx("div",{className:"flex h-24 items-center justify-center px-6 text-center text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:e("archive.empty")}):a.jsx(Ud,{className:"max-h-[340px]",children:a.jsx("div",{className:"divide-y divide-[hsl(var(--deck-hairline))]",children:t.map(x=>{var N;const C=de(x),T=Le(C),b=d===T,A=x.projectPath.split("/").filter(Boolean).at(-1)??x.projectPath;return a.jsxs("div",{className:"flex min-h-[58px] items-center gap-2 px-3 py-2",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-mono text-[11.5px] text-[hsl(var(--deck-ink))]",children:uo(x,e)}),a.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:A}),x.archivedAt&&a.jsxs(a.Fragment,{children:[a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsx("span",{children:new Date(x.archivedAt).toLocaleString()})]})]}),x.archivedBySessionId!==x.sessionId&&a.jsx("div",{className:"mt-0.5 truncate text-[9px] text-[hsl(var(--deck-accent))]",children:e("archive.inherited",{id:((N=x.archivedBySessionId)==null?void 0:N.slice(0,8))??""})})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[a.jsx("button",{type:"button",disabled:m!==null,onClick:async()=>{h(T);try{await qx(C)}catch(R){i(R instanceof Error?R.message:"Session export failed")}finally{h(null)}},"aria-label":e("session.action.export",{title:uo(x,e)}),title:e("session.action.exportShort"),className:"flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-35",children:m===T?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(xf,{className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",disabled:b||x.archivedBySessionId!==x.sessionId,onClick:async()=>{f(T);try{await o(C)}finally{f(null)}},"aria-label":e("archive.restore",{title:uo(x,e)}),title:x.archivedBySessionId!==x.sessionId?e("archive.restoreAncestor"):e("archive.restoreShort"),className:"flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-35",children:b?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Dy,{className:"h-3.5 w-3.5"})})]})]},T)})})})]})]})}function Bd({className:e,size:t=28,pulse:n=!0}){return a.jsxs("span",{className:G("inline-flex relative justify-center items-center","text-[hsl(var(--deck-ink))]",e),style:{width:t,height:t},"aria-hidden":"true",children:[a.jsxs("svg",{viewBox:"0 0 32 32",width:t,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M16 3 L28 16 L16 29 L4 16 Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),a.jsx("path",{d:"M16 8 L24 16 L16 24",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round",opacity:"0.55"}),a.jsx("path",{d:"M16 3 L20 7",stroke:"hsl(var(--deck-accent))",strokeWidth:"2",strokeLinecap:"round"})]}),n&&a.jsx("span",{className:"absolute top-[3px] right-[3px] h-1.5 w-1.5 rounded-full",style:{background:"hsl(var(--deck-accent-glow))",boxShadow:"0 0 6px hsl(var(--deck-accent-glow) / 0.9)"}})]})}const af={en:"sidebar.language.en",zh:"sidebar.language.zh"};function Kx({className:e,variant:t="pill"}){const{locale:n,setLocale:r}=n0(),s=Mt();if(t==="compact"){const o=n==="en"?"zh":"en";return a.jsx("button",{type:"button",onClick:()=>r(o),"aria-label":s("sidebar.language.aria"),title:s("sidebar.language.label"),className:G("flex justify-center items-center w-10 h-10 font-mono font-medium rounded-md transition-colors text-[11px] text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",e),children:s(af[n])})}return a.jsx("div",{role:"group","aria-label":s("sidebar.language.aria"),className:G("inline-flex h-8 items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-[2px] font-mono text-[11px]",e),children:Yw.map(o=>{const i=o===n;return a.jsx("button",{type:"button",onClick:()=>r(o),"aria-pressed":i,className:G("flex justify-center items-center px-2 h-full transition-colors min-w-[28px] rounded-[4px]",i?"bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))]":"text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]"),children:s(af[o])},o)})})}const l5="[data-mobile-navigation-trigger]";function gL(e){return Gx(l5,e)}function Gx(e,t){const n=document.querySelector(e);return!n||n.getClientRects().length===0?!1:(t.preventDefault(),n.focus({preventScroll:!0}),!0)}function Wx({open:e,onOpenChange:t}){const n=Mt(),{boundProjects:r,selectedProjectPath:s,isBindingProject:o,loadBoundProjects:i,bindProject:u,unbindProject:p,selectProject:d,startTemporarySession:f}=D(),[m,h]=w.useState(""),[k,x]=w.useState(null),[C,T]=w.useState(!1),b=w.useRef(0);w.useEffect(()=>{if(e){i();return}b.current+=1,T(!1)},[i,e]);const A=async j=>{await u(j),h(""),f(),t(!1)},N=async j=>{if(j.preventDefault(),!(!m.trim()||o||C)){x(null);try{await A(m.trim())}catch(I){x(I instanceof Error?I.message:n("projects.bind.failed"))}}},R=async()=>{if(C||o)return;const j=++b.current;x(null),T(!0);try{const I=await ee.pickProjectDirectory();if(j!==b.current||I.cancelled)return;h(I.path),await A(I.path)}catch(I){if(j!==b.current)return;x(I instanceof Error?I.message:n("projects.pick.failed"))}finally{j===b.current&&T(!1)}},V=j=>{d(j),f(),t(!1)};return e?a.jsx(qc,{open:e,onOpenChange:t,children:a.jsxs(Ki,{onCloseAutoFocus:j=>Gx("[data-project-setup-trigger]",j),className:"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] sm:max-w-xl",children:[a.jsxs(Kc,{children:[a.jsxs(Gi,{className:"flex items-center gap-2 font-mono text-[16px]",children:[a.jsx(Ci,{className:"h-4 w-4 text-[hsl(var(--deck-accent))]"}),n("projects.dialog.title")]}),a.jsx(Wi,{className:"text-[12px] text-[hsl(var(--deck-ink-muted))]",children:n("projects.dialog.description")})]}),a.jsxs("form",{onSubmit:N,className:"flex gap-2",children:[a.jsx("input",{value:m,onChange:j=>h(j.target.value),disabled:o,placeholder:n("projects.bind.placeholder"),"aria-label":n("projects.bind.pathLabel"),className:"h-9 min-w-0 flex-1 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12px] outline-none placeholder:text-[hsl(var(--deck-ink-faint))] focus:border-[hsl(var(--deck-accent)/0.65)]"}),a.jsxs("button",{type:"button",onClick:()=>void R(),disabled:C||o,title:n("projects.pick.action"),"aria-label":n("projects.pick.action"),className:"inline-flex h-9 shrink-0 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2.5 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))] disabled:cursor-wait disabled:opacity-50",children:[C?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(_y,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"hidden sm:inline",children:n(C?"projects.pick.picking":"projects.pick.actionShort")})]}),a.jsxs("button",{type:"submit",disabled:!m.trim()||o||C,className:"inline-flex h-9 items-center gap-2 rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[12px] text-[hsl(var(--deck-canvas))] transition-opacity disabled:opacity-40",children:[o?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Ci,{className:"h-3.5 w-3.5"}),n("projects.bind.action")]})]}),k&&a.jsx("div",{role:"alert",className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:k}),a.jsx("div",{className:"max-h-72 space-y-1 overflow-y-auto",children:r.map(j=>{const I=j.path===s;return a.jsxs("div",{className:G("group flex items-center gap-3 rounded-md border px-3 py-2",I?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))]":"border-transparent hover:border-[hsl(var(--deck-border))] hover:bg-[hsl(var(--deck-surface))]"),children:[a.jsx(oo,{className:G("h-4 w-4 shrink-0",I?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]")}),a.jsxs("button",{type:"button",disabled:!j.available,onClick:()=>V(j.path),className:"min-w-0 flex-1 text-left disabled:cursor-not-allowed disabled:opacity-50",children:[a.jsx("span",{className:"block truncate font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:j.name}),a.jsxs("span",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[j.gitBranch&&a.jsxs(a.Fragment,{children:[a.jsx(_c,{className:"h-2.5 w-2.5"}),a.jsx("span",{children:j.gitBranch}),a.jsx("span",{children:"·"})]}),a.jsx("span",{className:"truncate",children:j.path}),!j.available&&a.jsxs("span",{className:"shrink-0 text-red-500",children:["· ",n("projects.unavailable")]})]})]}),!j.isCurrent&&a.jsx("button",{type:"button",onClick:()=>void p(j.path).catch(()=>{}),title:n("projects.unbind.action"),"aria-label":n("projects.unbind.action"),className:"rounded p-1.5 text-[hsl(var(--deck-ink-faint))] opacity-0 transition group-hover:opacity-100 hover:bg-red-50 hover:text-red-600 focus-visible:opacity-100 dark:hover:bg-red-950/30",children:a.jsx(yf,{className:"h-3.5 w-3.5"})})]},j.path)})})]})}):null}const d5={running:"bg-blue-500 dark:bg-blue-400 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse",queued:"bg-amber-400 dark:bg-amber-300",interrupted:"bg-orange-500 dark:bg-orange-400",failed:"bg-red-500 dark:bg-red-400",cancelled:"bg-zinc-400 dark:bg-zinc-500",completed:"bg-[hsl(var(--deck-accent))]"};function u5({session:e,isActive:t,isForking:n,isUnread:r,anyForking:s,isEditing:o,editingTitle:i,title:u,context:p,isCancelling:d,isRetrying:f,isExporting:m,onSelect:h,onCancelTask:k,onRetryTask:x,onFork:C,onArchive:T,onExport:b,onStartRename:A,onDelete:N,onEditingTitleChange:R,onSaveRename:V,onCancelRename:j}){const I=Mt(),[O,B]=w.useState(!1),Z=w.useRef(null),re=w.useRef(null);return o?a.jsxs("div",{className:"flex h-9 w-full items-center gap-2 bg-[hsl(var(--deck-surface))] px-3",children:[a.jsx("input",{type:"text",value:i,onChange:P=>R(P.target.value),onKeyDown:P=>{P.key==="Enter"&&V(),P.key==="Escape"&&j()},autoFocus:!0,className:"flex-1 rounded bg-[hsl(var(--deck-canvas))] px-2 py-1 font-mono text-[13px] text-[hsl(var(--deck-ink))] outline-none focus:ring-1 focus:ring-[hsl(var(--deck-accent))]"}),a.jsx("button",{"aria-label":I("session.action.save",{title:u}),onClick:V,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-canvas))]",children:a.jsx(wf,{className:"w-3 h-3"})}),a.jsx("button",{"aria-label":I("session.action.cancel",{title:u}),onClick:j,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-canvas))]",children:a.jsx(ro,{className:"w-3 h-3"})})]}):a.jsxs("div",{className:G("flex relative items-center w-full transition-colors group min-h-[54px]",t?"bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:[t&&a.jsx("span",{className:"absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]"}),a.jsxs("button",{type:"button","aria-label":I("session.action.select",{title:u}),"aria-current":t?"true":void 0,"aria-busy":n?"true":void 0,onClick:h,className:"flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx("span",{className:G("h-1.5 w-1.5 shrink-0 rounded-full",e.pendingInteraction?"animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]":d5[e.taskStatus]),title:e.pendingInteraction?I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"):e.taskStatus}),a.jsxs("span",{className:"flex-1 min-w-0 font-mono",children:[a.jsxs("span",{className:G("flex gap-2 items-center text-left truncate text-[12px]",t?"text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:[a.jsx("span",{className:"truncate",children:u}),r&&a.jsx("span",{title:I("taskSwitcher.new"),className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]"}),e.pendingInteraction&&a.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded bg-amber-100 px-1.5 py-0.5 text-[8.5px] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300",title:I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"),children:[a.jsx(Is,{className:"h-2.5 w-2.5"}),I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission")]}),e.relationType==="fork"&&e.parentId&&a.jsxs("span",{title:`${I("session.forkedFrom")} ${e.parentId.slice(0,6)}`,"aria-label":`${I("session.forkedFrom")} ${e.parentId.slice(0,6)}`,className:"shrink-0 text-[9px] text-[hsl(var(--deck-accent))]",children:[I("session.forkedFrom")," ",e.parentId.slice(0,6)]}),e.taskRetriedFrom&&a.jsx("span",{title:`${I("session.retriedFrom")} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 text-[9px] text-[hsl(var(--deck-accent))]",children:I("session.retryShort")})]}),a.jsxs("span",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:p.project}),a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"truncate",children:p.environment}),p.queue&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"text-amber-700 truncate dark:text-amber-400",children:p.queue})]}),p.diff&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"truncate text-[hsl(var(--deck-accent))]",children:p.diff})]})]}),p.reason&&a.jsx("span",{title:p.reason,className:"mt-0.5 block truncate text-[9.5px] text-red-600 dark:text-red-400",children:p.reason})]}),n&&a.jsx(lt,{className:"h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"})]}),a.jsxs("div",{className:G("flex items-center gap-0.5 pr-2 transition-opacity group-focus-within:opacity-100",e.taskStatus==="running"||e.taskStatus==="queued"||e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled")?"opacity-100":"opacity-50 group-hover:opacity-100"),children:[(e.taskStatus==="running"||e.taskStatus==="queued")&&a.jsx("button",{type:"button","aria-label":I(d?"session.action.stopping":"session.action.stop",{title:u}),disabled:d,onClick:P=>{P.stopPropagation(),k()},className:"flex h-6 w-6 items-center justify-center rounded text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:d?a.jsx(lt,{className:"h-3 w-3 animate-spin"}):a.jsx(Uc,{className:"h-3 w-3"})}),e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled")&&a.jsx("button",{ref:Z,type:"button","aria-label":I(f?"session.action.retrying":"session.action.retry",{title:u}),disabled:f,onClick:P=>{P.stopPropagation(),x()},className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:f?a.jsx(lt,{className:"h-3 w-3 animate-spin"}):a.jsx(qi,{className:"h-3 w-3"})}),a.jsxs(zn,{open:O,onOpenChange:B,children:[a.jsx(qn,{asChild:!0,children:a.jsx("button",{type:"button","aria-label":I("session.action.more",{title:u}),"aria-expanded":O,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-canvas))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(Uy,{className:"h-3.5 w-3.5"})})}),a.jsxs(Nn,{ref:re,role:"menu","aria-label":I("session.action.more",{title:u}),side:"right",align:"start",sideOffset:6,className:"w-40 p-1",onOpenAutoFocus:P=>{var z,J;P.preventDefault(),(J=(z=re.current)==null?void 0:z.querySelector('[role="menuitem"]:not([disabled])'))==null||J.focus()},onKeyDown:P=>{P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),B(!1),window.setTimeout(()=>{var z;return(z=Z.current)==null?void 0:z.focus()},0))},children:[a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.fork",{title:u}),disabled:s,onClick:P=>{P.stopPropagation(),C(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45",children:[a.jsx(By,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.forkShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.rename",{title:u}),onClick:P=>{A(P),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none",children:[a.jsx(Hy,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.renameShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.archive",{title:u}),disabled:e.taskStatus==="running"||e.taskStatus==="queued",onClick:P=>{P.stopPropagation(),T(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-35",children:[a.jsx(kf,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.archiveShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.export",{title:u}),disabled:m,onClick:P=>{P.stopPropagation(),b(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-wait disabled:opacity-45",children:[m?a.jsx(lt,{className:"h-3 w-3 animate-spin","aria-hidden":!0}):a.jsx(xf,{className:"h-3 w-3","aria-hidden":!0}),I(m?"session.action.exportingShort":"session.action.exportShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.delete",{title:u}),onClick:P=>{N(P),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-red-600 transition-colors hover:bg-red-500/10 focus-visible:bg-red-500/10 focus-visible:outline-none dark:text-red-400",children:[a.jsx(yf,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.deleteShort")]})]})]})]})]})}function f5({onExpand:e,onNewChat:t,onOpenTaskSwitcher:n,onToggleTerminal:r,onToggleSettings:s,isTerminalOpen:o,taskEventsConnected:i,unreadCount:u,className:p}){const d=Mt(),f=[{icon:vf,action:s,labelKey:"sidebar.section.settings"}];return a.jsxs("div",{className:G("flex flex-col gap-2 items-center py-5 h-screen border-r w-[64px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]",p),children:[a.jsx("button",{onClick:e,className:"rounded-md p-1 transition-colors hover:bg-[hsl(var(--deck-surface))]","aria-label":d("sidebar.action.expand"),children:a.jsx(Bd,{size:28})}),a.jsx("button",{onClick:t,"aria-label":d("sidebar.action.newTaskShort"),title:d("sidebar.action.newTaskShort"),className:"mt-6 flex h-10 w-10 items-center justify-center rounded-md bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/85",children:a.jsx(Bc,{className:"h-4 w-4 stroke-[2.5]"})}),a.jsx("button",{onClick:r,"aria-label":d("sidebar.action.terminalToggle"),title:d("sidebar.action.terminal"),className:G("flex h-10 w-10 items-center justify-center rounded-md border transition-colors",o?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]"),children:a.jsx(Sf,{className:"w-4 h-4"})}),a.jsxs("button",{onClick:n,"aria-label":d("sidebar.action.searchTasks"),title:`${d("sidebar.action.searchTasks")} (${Oc("searchTasks")})`,className:"relative flex h-10 w-10 items-center justify-center rounded-md border border-transparent text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsx(Hc,{className:"h-4 w-4"}),u>0&&a.jsx("span",{"aria-label":d("sidebar.unreadTasks",{count:u}),className:"absolute right-0.5 top-0.5 flex min-h-4 min-w-4 items-center justify-center rounded-full bg-[hsl(var(--deck-accent))] px-1 font-mono text-[8px] font-semibold text-white",children:u>99?"99+":u})]}),a.jsx("div",{className:"flex-1"}),a.jsx("div",{className:"my-2 h-px w-6 bg-[hsl(var(--deck-hairline))]"}),f.map(({icon:m,action:h,labelKey:k})=>a.jsx("button",{"data-settings-trigger":!0,onClick:h,"aria-label":d(k),title:d(k),className:"flex h-10 w-10 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:a.jsx(m,{className:"w-4 h-4"})},k)),a.jsx(Kx,{variant:"compact"}),a.jsx("div",{className:"mt-1",children:a.jsx("div",{role:"status","aria-label":d(i?"sidebar.status.feedLive":"sidebar.status.feedOffline"),className:G("h-2 w-2 rounded-full",i?"bg-[hsl(var(--deck-accent))] shadow-[0_0_6px_hsl(var(--deck-accent-glow)/0.9)]":"bg-[hsl(var(--deck-ink-faint))]/60"),title:d(i?"sidebar.status.feedLive":"sidebar.status.feedOffline")})})]})}const Vx="blade.sidebar.project-order.v1";function ai(e){const t=new Set,n=[];for(const r of e)typeof r!="string"||!r||t.has(r)||(t.add(r),n.push(r));return n}function p5(){if(typeof window>"u")return[];try{const e=JSON.parse(window.localStorage.getItem(Vx)??"[]");return Array.isArray(e)?ai(e):[]}catch{return[]}}function m5(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Vx,JSON.stringify(ai(e)))}catch{}}function h5(e,t){const n=new Map(ai(t).map((s,o)=>[s,o])),r=n.size;return e.map((s,o)=>({project:s,rank:n.get(s.path)??r+o})).sort((s,o)=>s.rank-o.rank).map(({project:s})=>s)}function g5(e,t,n){const r=ai(e),s=r.indexOf(t),o=r.indexOf(n);if(s<0||o<0||s===o)return r;const[i]=r.splice(s,1);return r.splice(o,0,i),r}function b5(e,t,n){const r=ai(e),s=r.indexOf(t),o=s+n;return s<0||o<0||o>=r.length||([r[s],r[o]]=[r[o],r[s]]),r}function k5({name:e,path:t,count:n,countIsPartial:r=!1,isActive:s,hasRunning:o,unreadCount:i,collapsed:u,onToggle:p,onSelect:d,onCreateTask:f,reorderPosition:m,reorderCount:h,isDragging:k=!1,onDragStart:x,onDragEnd:C,onReorderKeyDown:T}){const b=Mt();return a.jsxs("div",{className:G("group/proj flex w-full items-center gap-2 px-5 pb-1.5 pt-3 text-left transition-colors","hover:bg-[hsl(var(--deck-surface))]/40"),children:[a.jsx("button",{type:"button",draggable:!0,"data-project-drag-handle":t,onDragStart:x,onDragEnd:C,onKeyDown:T,"aria-label":b("sidebar.project.reorder",{name:e,position:m,count:h}),title:b("sidebar.project.reorderHint"),className:G("-ml-2 flex h-6 w-4 shrink-0 cursor-grab items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-45 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink-muted))] hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] active:cursor-grabbing group-hover/proj:opacity-100",k&&"cursor-grabbing opacity-100 text-[hsl(var(--deck-accent))]"),children:a.jsx(zy,{className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",onClick:p,"aria-expanded":!u,"aria-label":b(u?"sidebar.project.expand":"sidebar.project.collapse",{name:e}),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(qy,{className:G("h-3 w-3 text-[hsl(var(--deck-ink-faint))] transition-transform duration-150",!u&&"rotate-90")})}),a.jsxs("button",{type:"button",onClick:d??p,title:t,"aria-current":s?"true":void 0,className:"flex min-h-6 min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx(oo,{className:G("h-3.5 w-3.5 shrink-0",s?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]")}),a.jsx("span",{className:G("flex-1 truncate font-mono text-[11.5px] font-medium tracking-[-0.01em]",s?"text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:e}),o&&a.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse dark:bg-blue-400","aria-hidden":!0}),i>0&&a.jsx("span",{"aria-label":b("sidebar.unreadTasks",{count:i}),className:"shrink-0 rounded-full bg-[hsl(var(--deck-accent))] px-1.5 py-0.5 font-mono text-[8px] font-semibold text-white",children:i}),a.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[n.toString().padStart(2,"0"),r?"+":""]})]}),f&&a.jsx("button",{type:"button",onClick:f,title:b("sidebar.project.newTask",{name:e}),"aria-label":b("sidebar.project.newTask",{name:e}),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-0 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-accent))] focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] group-hover/proj:opacity-100",children:a.jsx(Bc,{className:"h-3.5 w-3.5"})})]})}function Rc(e){const t=e.lastMessageTime||e.firstMessageTime;if(!t)return 0;const n=new Date(t).getTime();return Number.isNaN(n)?0:n}function cf(e){return e.pendingInteraction?0:e.taskStatus==="running"?1:e.taskStatus==="queued"?2:3}function Hd(e,t){return cf(e)-cf(t)||Rc(t)-Rc(e)}const x5=["running","queued","interrupted","failed","cancelled","completed"],y5={running:"RUNNING",queued:"QUEUED",interrupted:"INTERRUPTED",failed:"FAILED",cancelled:"CANCELLED",completed:"DONE"},gs=e=>e.length>1?e.replace(/\/+$/,""):e;function Jx(e){const t=new Map;for(const n of e){if(!n)continue;const r=Le(de(n));t.has(r)||t.set(r,n)}return Array.from(t.values())}function w5(e){const t=Jx(e),n=[];for(const r of x5){const s=t.filter(o=>o.taskStatus===r).sort(Hd);s.length>0&&n.push({code:y5[r],status:r,sessions:s})}return n}function v5(e,t,n=[]){const r=Jx(e),s=new Map,o=n.map(gs),i=new Map(o.map((d,f)=>[d,f]));for(const d of o)s.set(d,[]);for(const d of r){const f=ii(d,t),m=s.get(f);m?m.push(d):s.set(f,[d])}const u=t?gs(t):null,p=Array.from(s.entries()).map(([d,f])=>{const m=[...f].sort(Hd),h=f.reduce((k,x)=>Math.max(k,Rc(x)),0);return{path:d,name:Pc(d),isActive:u?gs(d)===u:!1,isBound:i.has(gs(d)),hasRunning:f.some(k=>k.taskStatus==="running"),lastActivity:h,sessions:m}});return p.sort((d,f)=>d.isBound!==f.isBound?d.isBound?-1:1:d.isBound&&f.isBound?(i.get(gs(d.path))??Number.MAX_SAFE_INTEGER)-(i.get(gs(f.path))??Number.MAX_SAFE_INTEGER):f.lastActivity-d.lastActivity),p}const lf=12,S5={RUNNING:"sidebar.group.running",QUEUED:"sidebar.group.queued",INTERRUPTED:"sidebar.group.interrupted",FAILED:"sidebar.group.failed",CANCELLED:"sidebar.group.cancelled",DONE:"sidebar.group.done"},I5={RUNNING:"text-blue-700 dark:text-blue-400",QUEUED:"text-amber-700 dark:text-amber-400",INTERRUPTED:"text-orange-700 dark:text-orange-400",FAILED:"text-red-700 dark:text-red-400",CANCELLED:"text-[hsl(var(--deck-ink-faint))]",DONE:"text-[hsl(var(--deck-accent))]"};function j5({view:e,sessions:t,activeProjectPath:n,boundProjects:r,currentSessionRef:s,unreadTaskKeys:o,catalogLoadState:i,catalogError:u,onSelectProject:p,onCreateTask:d,onRetryCatalog:f,renderRow:m}){const h=Mt(),[k,x]=w.useState({}),[C,T]=w.useState({}),[b,A]=w.useState(p5),[N,R]=w.useState(null),[V,j]=w.useState(null),[I,O]=w.useState(""),B=i==="loading"||i==="hydrating",Z=B||i==="error",re=w.useMemo(()=>e==="status"?w5(t):[],[t,e]),P=w.useMemo(()=>e==="project"?v5(t,n,r.map($=>$.path)):[],[n,r,t,e]),z=w.useMemo(()=>h5(P,b),[P,b]),J=($,pe)=>{const ke=C[$]??!1,Qe=ke?pe:pe.filter((Q,L)=>{if(L<lf)return!0;const Se=de(Q);return!!Q.pendingInteraction||o.includes(Le(Se))||!!(s&&oe(Se,s))}),ct=pe.length-Qe.length,F=ke?pe.length>lf:ct>0;return a.jsxs(a.Fragment,{children:[Qe.map(m),F&&a.jsx("button",{type:"button",onClick:()=>T(Q=>({...Q,[$]:!ke})),className:"mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]",children:ke?h("sidebar.group.showLess"):h("sidebar.group.showMore",{count:ct})})]})},he=B?a.jsxs("div",{role:"status","aria-live":"polite",className:"mx-4 mt-2 flex items-center gap-2 rounded-md bg-[hsl(var(--deck-surface))]/55 px-3 py-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(lt,{className:"h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"flex-1 min-w-0",children:h("sidebar.catalog.syncing")}),a.jsx("span",{className:"tabular-nums shrink-0",children:h("sidebar.catalog.loaded",{count:t.length})})]}):i==="error"?a.jsxs("div",{role:"alert",title:u??void 0,className:"mx-4 mt-2 flex items-center gap-2 rounded-md bg-amber-50/80 px-3 py-2 font-mono text-[9.5px] text-amber-800 dark:bg-amber-950/35 dark:text-amber-300",children:[a.jsx(Is,{className:"w-3 h-3 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0",children:h("sidebar.catalog.incomplete")}),a.jsxs("button",{type:"button",onClick:f,className:"inline-flex min-h-6 shrink-0 items-center gap-1 rounded px-1.5 font-medium hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 dark:hover:bg-amber-900/50",children:[a.jsx(so,{className:"h-2.5 w-2.5"}),h("sidebar.catalog.retry")]})]}):null;if(e==="status")return a.jsxs("div",{className:"flex flex-col",children:[he,re.map(($,pe)=>a.jsxs("div",{children:[a.jsxs("div",{className:G("flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]",I5[$.code]??"text-[hsl(var(--deck-ink-faint))]",pe===0&&"pt-2"),children:[a.jsx("span",{children:h(S5[$.code])}),a.jsxs("span",{className:"text-[hsl(var(--deck-ink-faint))]",children:[$.sessions.length.toString().padStart(2,"0"),Z?"+":""]})]}),J(`status:${$.code}`,$.sessions)]},$.code))]});const $e=z.some($=>$.isActive),Ce=$=>!!(s&&$.sessions.some(pe=>oe(de(pe),s))),ie=($,pe)=>{if($.join("\0")===z.map(Qe=>Qe.path).join("\0"))return;A($),m5($);const ke=z.find(Qe=>Qe.path===pe);O(h("sidebar.project.reordered",{name:(ke==null?void 0:ke.name)??pe,position:$.indexOf(pe)+1}))},Me=($,pe)=>{const ke=$.sessions.filter(L=>o.includes(Le(de(L)))).length,Qe=Ce($),ct=ke>0,F=$.sessions.some(L=>!!L.pendingInteraction),Q=k[$.path]??($e&&!$.isActive&&!(Qe||$.hasRunning||ct||F));return a.jsxs("div",{"data-project-group":$.path,onDragEnter:L=>{!N||N===$.path||(L.preventDefault(),j($.path))},onDragOver:L=>{!N||N===$.path||(L.preventDefault(),L.dataTransfer.dropEffect="move")},onDrop:L=>{L.preventDefault();const Se=N||L.dataTransfer.getData("text/plain");Se&&Se!==$.path&&ie(g5(z.map(Pe=>Pe.path),Se,$.path),Se),R(null),j(null)},className:G("relative transition-colors",V===$.path&&N!==$.path&&"bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]"),children:[a.jsx(k5,{name:$.name,path:$.path,count:$.sessions.length,countIsPartial:Z,isActive:$.isActive,hasRunning:$.hasRunning,unreadCount:ke,collapsed:Q,onSelect:()=>p($.path),onCreateTask:()=>d($.path),reorderPosition:pe+1,reorderCount:z.length,isDragging:N===$.path,onDragStart:L=>{L.dataTransfer.effectAllowed="move",L.dataTransfer.setData("text/plain",$.path),R($.path)},onDragEnd:()=>{R(null),j(null)},onReorderKeyDown:L=>{if(L.key!=="ArrowUp"&&L.key!=="ArrowDown")return;L.preventDefault();const Se=b5(z.map(Pe=>Pe.path),$.path,L.key==="ArrowUp"?-1:1);ie(Se,$.path)},onToggle:()=>x(L=>({...L,[$.path]:!Q}))}),!Q&&J(`project:${$.path}`,$.sessions)]},$.path)};return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"sr-only","aria-live":"polite",children:I}),he,z.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]",children:h("sidebar.project.projects")}),z.map(Me)]})]})}function C5({className:e,onNavigate:t}){const n=Mt(),{toggleSettings:r,toggleSidebar:s,isSidebarOpen:o,isTerminalOpen:i,toggleTerminal:u,sidebarView:p,setSidebarView:d,setTaskSwitcherOpen:f}=mr(),m=D(y=>y.sessions),h=D(y=>y.catalogLoadState),k=D(y=>y.catalogError),x=D(y=>y.currentSessionRef),C=D(y=>y.forkingSessionRef),T=D(y=>y.selectSession),b=D(y=>y.startTemporarySession),A=D(y=>y.deleteSession),N=D(y=>y.archiveSession),R=D(y=>y.forkSession),V=D(y=>y.updateSession),j=D(y=>y.loadSessions),I=D(y=>y.setError),O=D(y=>y.taskEventsConnected),B=D(y=>y.taskWorkspaceInfo),Z=D(y=>y.boundProjects),re=D(y=>y.selectedProjectPath),P=D(y=>y.bindProject),z=D(y=>y.selectProject),J=D(y=>y.cancelTask),he=D(y=>y.cancellingTaskKeys),$e=D(y=>y.retryTask),Ce=D(y=>y.retryingTaskKeys),ie=D(y=>y.unreadTaskKeys),[Me,$]=w.useState(null),[pe,ke]=w.useState(""),[Qe,ct]=w.useState(null),[F,Q]=w.useState(!1),L=re??(B==null?void 0:B.cwd)??null,Se=y=>uo(y,n),Pe=y=>{const Y=y.taskSourceProjectPath||y.projectPath,Fe=Y.split("/").filter(Boolean).at(-1)||Y,pt=y.taskIsolation==="worktree"?y.taskWorktreeBranch||n("session.env.worktree"):n("session.env.local"),Un=y.taskDiffStat?`+${y.taskDiffStat.additions} −${y.taskDiffStat.deletions}`:void 0,ls=y.taskStatus==="queued"&&y.taskQueuePosition?n("session.queued",{position:y.taskQueuePosition,depth:y.taskQueueDepth??y.taskQueuePosition}):void 0,ds=_d(y,n);return{project:Fe,environment:pt,diff:Un,queue:ls,reason:ds}},Ee=()=>{b(L??void 0),t==null||t()},An=async y=>{Z.some(Y=>Y.path===y)?z(y):await P(y),b(y),t==null||t()},Lt=async y=>{Z.some(Y=>Y.path===y)?z(y):await P(y),b(y),t==null||t()},Ye=y=>{y(),t==null||t()},_n=async(y,Y)=>{y.stopPropagation(),await A(de(Y))},ft=async y=>{const Y=de(y),Fe=Le(Y);if(!Qe){ct(Fe);try{await qx(Y)}catch(pt){I(pt instanceof Error?pt.message:"Session export failed")}finally{ct(null)}}},rn=(y,Y)=>{y.stopPropagation(),$(Le(de(Y))),ke(Se(Y))},Pn=async y=>{if(!pe.trim()){$(null);return}try{await V(de(y),pe.trim()),$(null),await j()}catch(Y){console.error("Failed to rename session:",Y)}},Dt=()=>{$(null),ke("")};return o?a.jsxs("div",{className:G("flex flex-col h-screen border-r w-[260px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]",e),children:[a.jsxs("div",{className:"flex flex-col gap-6 px-5 pt-5 pb-5",children:[a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsxs("div",{className:"flex items-center gap-2.5",children:[a.jsx(Bd,{size:26}),a.jsx("span",{className:"font-mono text-[15px] font-semibold tracking-[-0.01em] text-[hsl(var(--deck-ink))]",children:"Blade"}),a.jsx("span",{className:"ml-1 rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.brand.badge")})]}),a.jsx("button",{onClick:s,"aria-label":n("sidebar.action.collapse"),className:"flex h-8 w-8 items-center justify-center rounded transition-colors hover:bg-[hsl(var(--deck-surface))]",children:a.jsx(Ky,{className:"h-3 w-3 text-[hsl(var(--deck-ink-muted))]"})})]}),a.jsxs("div",{className:"flex flex-col gap-1.5",children:[a.jsxs("button",{onClick:Ee,className:"flex h-9 w-full items-center justify-between rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[13px] font-medium text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/88",children:[a.jsxs("span",{className:"flex gap-2 items-center",children:[a.jsx(Bc,{className:"h-3.5 w-3.5 stroke-[2.5]"}),n("sidebar.action.newTask")]}),a.jsx("span",{className:"rounded-sm bg-white/10 px-1.5 py-[1px] font-mono text-[10px] text-white/80",children:Oc("newTask")})]}),a.jsxs("button",{onClick:()=>Ye(u),className:G("flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors",i?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]"),children:[a.jsx(Sf,{className:"h-3.5 w-3.5"}),n("sidebar.action.terminal")]}),a.jsxs("button",{type:"button",onClick:()=>Ye(()=>f(!0)),className:"flex h-9 w-full items-center justify-between rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(Hc,{className:"h-3.5 w-3.5"}),n("sidebar.action.searchTasks")]}),a.jsx("span",{className:"rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:ie.length>0?ie.length:Oc("searchTasks")})]})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("div",{className:"flex flex-1 items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5",children:["project","status"].map(y=>a.jsx("button",{type:"button",onClick:()=>d(y),"aria-pressed":p===y,"aria-label":n(y==="project"?"sidebar.view.projectAria":"sidebar.view.statusAria"),className:G("flex-1 rounded-[5px] py-1 font-mono text-[11px] tracking-[0.02em] transition-colors",p===y?"bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] shadow-sm":"text-[hsl(var(--deck-ink-faint))] hover:text-[hsl(var(--deck-ink-muted))]"),children:n(y==="project"?"sidebar.view.project":"sidebar.view.status")},y))}),a.jsx("button",{type:"button",onClick:()=>Q(!0),title:n("projects.bind.action"),"aria-label":n("projects.bind.action"),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-faint))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-accent))]",children:a.jsx(Ci,{className:"h-3.5 w-3.5"})})]})]}),a.jsx(Ud,{className:"flex-1 px-0",children:a.jsxs("div",{className:"flex flex-col",children:[(m.length>0||Z.length>0||h==="loading"||h==="hydrating"||h==="error")&&a.jsx(j5,{view:p,sessions:m,activeProjectPath:L,boundProjects:Z,currentSessionRef:x,unreadTaskKeys:ie,catalogLoadState:h,catalogError:k,onRetryCatalog:j,onSelectProject:y=>void An(y).catch(()=>{}),onCreateTask:y=>void Lt(y).catch(()=>{}),renderRow:y=>{const Y=de(y),Fe=Le(Y),pt=oe(Y,x),Un=Me===Fe,ls=oe(Y,C),ds=!!C;return a.jsx(u5,{session:y,sessionRef:Y,isActive:pt,isForking:ls,isUnread:ie.includes(Le(Y)),anyForking:ds,isEditing:Un,editingTitle:pe,title:Se(y),context:Pe(y),isCancelling:he.includes(Le(Y)),isRetrying:Ce.includes(Le(Y)),isExporting:Qe===Fe,onSelect:()=>(t==null||t(),T(Y)),onCancelTask:()=>{J(Y).catch(()=>{})},onRetryTask:()=>{$e(Y).catch(()=>{})},onFork:()=>void R(y),onArchive:()=>void N(Y),onExport:()=>void ft(y),onStartRename:us=>rn(us,y),onDelete:us=>_n(us,y),onEditingTitleChange:ke,onSaveRename:()=>Pn(y),onCancelRename:Dt},Fe)}}),m.length===0&&a.jsx("div",{className:"px-5 mt-6",children:a.jsxs("div",{className:"rounded-md border border-dashed border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/60 px-4 py-6 text-center",children:[a.jsx("div",{className:"mx-auto mb-2 inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))]",children:a.jsx(If,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"})}),a.jsx("div",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:n("sidebar.empty.title")}),a.jsx("div",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.empty.hint")})]})})]})}),a.jsxs("div",{className:"flex flex-col gap-3 px-5 pt-3 pb-5",children:[a.jsxs("div",{className:"flex flex-col gap-0.5 border-t border-[hsl(var(--deck-hairline))] pt-3",children:[a.jsx(c5,{}),[{icon:vf,action:()=>Ye(r),labelKey:"sidebar.section.settings"}].map(({icon:y,action:Y,labelKey:Fe})=>a.jsxs("button",{"data-settings-trigger":!0,onClick:Y,className:"flex h-8 w-full items-center gap-2.5 rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsx(y,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"}),n(Fe)]},Fe))]}),a.jsxs("div",{className:"flex gap-2 justify-between items-center",children:[a.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.language.label")}),a.jsx(Kx,{})]}),a.jsxs("div",{className:"flex items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2",children:[a.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--deck-canvas-veil))]",children:a.jsx("div",{className:"h-2 w-2 rounded-full bg-[hsl(var(--deck-ink))]"})}),a.jsxs("div",{className:"flex flex-1 flex-col gap-[1px]",children:[a.jsx("span",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:n("sidebar.status.user")}),a.jsxs("span",{className:G("flex gap-1 items-center font-mono text-[10px]",O?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]"),children:[a.jsx("span",{className:G("h-1 w-1 rounded-full",O?"bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.9)]":"bg-[hsl(var(--deck-ink-faint))]/60")}),n(O?"sidebar.status.feedLive":"sidebar.status.feedOffline")]})]})]})]}),a.jsx(Wx,{open:F,onOpenChange:Q})]}):a.jsx(f5,{className:e,onExpand:s,onNewChat:Ee,onOpenTaskSwitcher:()=>Ye(()=>f(!0)),onToggleTerminal:()=>Ye(u),onToggleSettings:()=>Ye(r),isTerminalOpen:i,taskEventsConnected:O,unreadCount:ie.length})}const E5=w.lazy(()=>ko(()=>import("./SettingsModal-BM6SPUXW.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.SettingsModal}))),Qx=()=>ko(()=>import("./TaskSwitcher-B5VYY_QG.js"),__vite__mapDeps([5,1,3,2,4])).then(e=>({default:e.TaskSwitcher})),T5=w.lazy(Qx),A5=w.lazy(()=>ko(()=>import("./FilePreview--1qHdJP_.js"),__vite__mapDeps([6,1,3,2,4])).then(e=>({default:e.FilePreview}))),P5=w.lazy(()=>ko(()=>import("./TerminalPanel-XWA1jGs8.js"),__vite__mapDeps([7,1,8,9,3,2,4])).then(e=>({default:e.TerminalPanel}))),ec=e=>{if(e.startsWith("/Users/")){const t=e.split("/");if(t.length>=3)return"~/"+t.slice(3).join("/")}return e},N5=e=>e.replace(/^~\//,"~/§").split("/").filter(Boolean).map((t,n,r)=>{var s;return n===0&&((s=r[0])!=null&&s.startsWith("~"))?"~":t.replace(/^§/,"")});function O5({children:e}){var Qe,ct;const t=Mt();a5();const{isSidebarOpen:n,isFilePreviewOpen:r,isSettingsOpen:s,isTerminalOpen:o,isTaskSwitcherOpen:i,toggleFilePreview:u,openFilePreview:p,previewRequestId:d,setSidebarOpen:f}=mr();w.useEffect(()=>{const F=window.setTimeout(()=>{Qx()},1500);return()=>window.clearTimeout(F)},[]);const m=D(F=>F.currentSessionId),h=D(F=>F.currentSessionRef),k=D(F=>F.sessions),x=D(F=>F.isStreaming),C=D(F=>F.isTemporarySession),T=D(F=>F.taskWorkspaceInfo),b=D(F=>F.boundProjects),A=D(F=>F.selectedProjectPath),[N,R]=w.useState(null),[V,j]=w.useState(!1),[I,O]=w.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 639px)").matches),[B,Z]=w.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 1023px)").matches),re=w.useRef(null),P=w.useRef(null),z=w.useRef(null),J=w.useMemo(()=>k.find(F=>oe({sessionId:F.sessionId,projectPath:F.projectPath},h)),[h,k]),he=(J==null?void 0:J.taskIsolation)==="worktree"&&J.taskSourceProjectPath&&(((Qe=J.taskDelivery)==null?void 0:Qe.status)==="applied"||((ct=J.taskDelivery)==null?void 0:ct.status)==="discarded")?J.taskSourceProjectPath:h==null?void 0:h.projectPath;w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 900px)"),Q=()=>{F.matches&&f(!1)};return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[f]),w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 639px)"),Q=()=>O(F.matches);return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[]),w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 1023px)"),Q=()=>Z(F.matches);return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[]),w.useEffect(()=>{if(!I||!n)return;const F=requestAnimationFrame(()=>{var Q,L;(L=(Q=re.current)==null?void 0:Q.querySelector("button"))==null||L.focus()});return()=>{var Q;cancelAnimationFrame(F),(Q=P.current)==null||Q.focus({preventScroll:!0})}},[I,n]);const $e=F=>{var Pe;if(!I||!n)return;if(F.key==="Escape"){F.preventDefault(),f(!1);return}if(F.key!=="Tab")return;const Q=Array.from(((Pe=re.current)==null?void 0:Pe.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??[]);if(Q.length===0)return;const L=Q[0],Se=Q[Q.length-1];F.shiftKey&&document.activeElement===L?(F.preventDefault(),Se==null||Se.focus()):!F.shiftKey&&document.activeElement===Se&&(F.preventDefault(),L==null||L.focus())},Ce=w.useMemo(()=>!m||C?A?ec(A):null:J!=null&&J.projectPath?ec(J.taskSourceProjectPath||J.projectPath):null,[m,J,C,A]),ie=w.useMemo(()=>Ce?N5(Ce):[],[Ce]);w.useEffect(()=>{var Q;if(!h){R(((Q=b.find(L=>L.path===A))==null?void 0:Q.gitBranch)??null);return}(async()=>{try{const L=await ee.getGitInfo({sessionId:h.sessionId,projectPath:he??h.projectPath});R(L.branch)}catch{R(null)}})()},[b,h,he,A]);const Me=T==null?void 0:T.taskAdmission,$=he??A??(T==null?void 0:T.cwd)??null,pe=h?Le(h):`project:${A??"none"}`,ke=r&&B;return a.jsxs("div",{className:"flex h-screen overflow-hidden bg-[hsl(var(--deck-canvas))]",children:[I&&n&&!ke&&a.jsx("button",{type:"button","aria-label":t("sidebar.action.collapse"),onClick:()=>f(!1),className:"fixed inset-0 z-40 bg-black/25 backdrop-blur-[1px]"}),a.jsx("div",{ref:re,role:I&&n&&!ke?"dialog":void 0,"aria-modal":I&&n&&!ke?!0:void 0,"aria-label":I&&n&&!ke?t("sidebar.navigationAria"):void 0,"aria-hidden":ke||I&&!n?!0:void 0,inert:ke||I&&!n?!0:void 0,onKeyDown:$e,className:G("overflow-hidden",n?"w-[260px]":"w-[64px]",I?"fixed inset-y-0 left-0 z-50 shadow-2xl transition-none":"shrink-0 transition-[width] duration-300 ease-in-out",I&&!n&&"-translate-x-full"),children:a.jsx("div",{className:G("transition-all duration-300 ease-in-out",n?"w-[260px]":"w-[64px]"),children:a.jsx(C5,{onNavigate:()=>{I&&f(!1)}})})}),a.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[a.jsxs("header",{"aria-hidden":ke||void 0,inert:ke||void 0,className:"relative z-10 flex h-14 items-center gap-2 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas))]/90 px-3 backdrop-blur-md sm:gap-4 sm:px-6",children:[I&&a.jsx(pr,{ref:P,"data-mobile-navigation-trigger":!0,variant:"ghost",size:"icon",onClick:()=>f(!0),"aria-label":t("layout.action.openNavigation"),title:t("layout.action.openNavigation"),className:"h-9 w-9 shrink-0 rounded-md text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:a.jsx(Gy,{className:"h-4 w-4"})}),a.jsxs("div",{className:"flex gap-2 items-center min-w-0",children:[ie.length>0?a.jsx("nav",{"aria-label":t("layout.workspace.pathAria"),title:Ce??void 0,className:"flex min-w-0 items-center font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:ie.map((F,Q)=>{const L=Q===ie.length-1,Se=Q===0&&F==="~";return a.jsxs("span",{className:"flex items-center min-w-0",children:[Q>0&&a.jsx("span",{className:"mx-1 text-[hsl(var(--deck-ink-faint))]/70",children:"/"}),Q===0&&!Se&&a.jsx("span",{className:"mr-1 text-[hsl(var(--deck-ink-faint))]/70",children:"/"}),a.jsx("span",{className:G("truncate",L?"font-medium text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:F})]},Q)})}):a.jsx("span",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:T!=null&&T.cwd?ec(T.cwd):t("layout.workspace.empty")}),N&&a.jsxs("span",{className:"ml-2 inline-flex items-center gap-1 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 py-0.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(_c,{className:"h-3 w-3 text-[hsl(var(--deck-accent))]"}),N]})]}),a.jsxs("div",{className:"flex gap-3 items-center ml-auto",children:[Me&&a.jsx("span",{className:"hidden items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2.5 py-1 md:inline-flex",children:a.jsx(Dx,{inFlight:Me.inFlight,queued:Me.queued,maxConcurrent:Me.maxConcurrent,compact:!0})}),a.jsxs("div",{className:"flex items-center gap-0.5",children:[a.jsx(pr,{variant:"ghost",size:"icon","aria-label":t("layout.action.rewind"),title:t("layout.action.rewind"),disabled:!h||C||x,onClick:()=>j(!0),className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] disabled:opacity-35",children:a.jsx(qi,{className:"w-4 h-4"})}),a.jsx(pr,{ref:z,variant:"ghost",size:"icon",onClick:()=>{if(r){u();return}p((!h||C)&&d===0?{tab:"files"}:void 0)},title:t("layout.action.filePreview"),"aria-label":t("layout.action.filePreviewToggle"),className:G("h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",r&&"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-accent-soft))] hover:text-[hsl(var(--deck-accent))]"),children:a.jsx(Wy,{className:"w-4 h-4"})})]})]})]}),a.jsxs("main",{className:"flex-1 overflow-hidden relative flex bg-[hsl(var(--deck-canvas))]",children:[a.jsx("div",{"data-preview-background":"content","aria-hidden":ke||void 0,inert:ke||void 0,className:"flex relative flex-col flex-1 min-w-0",children:s?a.jsx(w.Suspense,{fallback:null,children:a.jsx(E5,{})}):e}),r&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(A5,{returnFocusElement:z.current},pe)})]})]}),o&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(P5,{workspacePath:$},$??"default-workspace")}),i&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(T5,{})}),a.jsx(X2,{open:V,onOpenChange:j})]})}const tc="BladeCode";function R5(){const e=Mt(),t=D(i=>i.unreadTaskKeys),n=D(i=>i.sessions),r=D(i=>i.selectSession),s=D(i=>i.selectProject),o=w.useMemo(()=>{const i=new Set(t);for(const u of n)u.pendingInteraction&&i.add(Le(de(u)));return i.size},[n,t]);return w.useEffect(()=>(document.title=o>0?`(${o}) ${tc}`:tc,()=>{document.title=tc}),[o]),w.useEffect(()=>{const i=u=>{var h;const p=u.detail;if(!(p!=null&&p.sessionId)||!p.projectPath)return;const d=D.getState(),f=Dd(d.sessions,p),m=f?ii(f,d.selectedProjectPath??((h=d.taskWorkspaceInfo)==null?void 0:h.cwd)??null):p.projectPath;d.boundProjects.some(k=>k.available&&k.path===m)&&s(m),r(p)};return window.addEventListener(_i,i),()=>window.removeEventListener(_i,i)},[s,r]),a.jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:o>0?e("attention.unreadAnnouncement",{count:o}):""})}const $c=w.forwardRef(({className:e,...t},n)=>a.jsx("textarea",{className:G("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));$c.displayName="Textarea";const $5=(e,t)=>{const n=[...e.matchAll(/(?:^|\s)(@(?:"[^"]*"|(?:[^\\ ]|\\ )*))/g)];for(const r of n){const s=r[1],o=r.index+(r[0].length-s.length),i=o+s.length;if(t>=o&&t<=i){let u=s.slice(1),p=!1;return u.startsWith('"')&&(p=!0,u=u.slice(1),u.endsWith('"')&&(u=u.slice(0,-1))),{hasQuery:!0,query:u,startIndex:o,endIndex:i,quoted:p}}}return{hasQuery:!1,query:"",startIndex:-1,endIndex:-1,quoted:!1}},M5=(e,t,n={})=>{const{debounceDelay:r=200,maxSuggestions:s=15,workspacePath:o}=n,[i,u]=w.useState([]),[p,d]=w.useState(0),[f,m]=w.useState(!1),h=w.useMemo(()=>t===void 0?{hasQuery:!1,query:"",startIndex:-1,endIndex:-1,quoted:!1}:$5(e,t),[e,t]);w.useEffect(()=>{if(!h.hasQuery){u([]),m(!1);return}let C=!1;m(!0);const b=setTimeout(async()=>{try{const A=await fetch(`/suggestions/files?q=${encodeURIComponent(h.query)}&limit=${s}`,o?{headers:{"x-blade-directory":o}}:void 0);if(!A.ok)throw new Error("Failed to fetch suggestions");const N=await A.json();C||u(N)}catch(A){console.error("Failed to fetch file suggestions:",A),C||u([])}finally{C||m(!1)}},r);return()=>{C=!0,clearTimeout(b)}},[h.hasQuery,h.query,r,s,o]),w.useEffect(()=>{d(0)},[i]);const k=w.useCallback(()=>{d(C=>(C+1)%Math.max(i.length,1))},[i.length]),x=w.useCallback(()=>{d(C=>(C-1+i.length)%Math.max(i.length,1))},[i.length]);return{...h,suggestions:i,selectedIndex:p,loading:f,setSelectedIndex:d,selectNext:k,selectPrevious:x}},F5=(e,t=!1)=>e.includes(" ")||t?`@"${e}"`:`@${e}`,L5=(e,t,n)=>{if(!t.hasQuery)return{newInput:e,newCursorPos:e.length};const r=F5(n,t.quoted),s=e.slice(0,t.startIndex),o=e.slice(t.endIndex),i=s+r+" "+o,u=t.startIndex+r.length+1;return{newInput:i,newCursorPos:u}};function D5(){const[e,t]=w.useState([]),[n,r]=w.useState(-1),s=w.useRef(""),o=w.useCallback(d=>{d.trim()&&(t(f=>f[f.length-1]===d?f:[...f,d]),r(-1),s.current="")},[]),i=w.useCallback(d=>{if(e.length===0)return null;n===-1&&(s.current=d);const f=n===-1?e.length-1:Math.max(0,n-1);return r(f),e[f]??null},[e,n]),u=w.useCallback(()=>{if(n===-1)return null;const d=n+1;return d>=e.length?(r(-1),s.current):(r(d),e[d]??null)},[e,n]),p=w.useCallback(()=>{r(-1),s.current=""},[]);return{addToHistory:o,getPrevious:i,getNext:u,reset:p,historyIndex:n}}const _5=(e,t)=>{if(!e.startsWith("/"))return{hasQuery:!1,query:"",startIndex:-1,endIndex:-1};const n=e.indexOf(" "),r=n===-1?e.length:n;return t<=r?{hasQuery:!0,query:e.slice(1,t),startIndex:0,endIndex:t}:{hasQuery:!1,query:"",startIndex:-1,endIndex:-1}},U5=(e,t,n={})=>{const{debounceDelay:r=150,workspacePath:s}=n,[o,i]=w.useState([]),[u,p]=w.useState(0),[d,f]=w.useState(!1),m=w.useMemo(()=>t===void 0?{hasQuery:!1,query:"",startIndex:-1,endIndex:-1}:_5(e,t),[e,t]);w.useEffect(()=>{if(!m.hasQuery){i([]),f(!1);return}let x=!1;f(!0);const T=setTimeout(async()=>{try{const b=await fetch(`/suggestions/commands?q=${encodeURIComponent(m.query)}`,s?{headers:{"x-blade-directory":s}}:void 0);if(!b.ok)throw new Error("Failed to fetch suggestions");const A=await b.json();x||i(A)}catch(b){console.error("Failed to fetch command suggestions:",b),x||i([])}finally{x||f(!1)}},r);return()=>{x=!0,clearTimeout(T)}},[m.hasQuery,m.query,r,s]),w.useEffect(()=>{p(0)},[o]);const h=w.useCallback(()=>{p(x=>(x+1)%Math.max(o.length,1))},[o.length]),k=w.useCallback(()=>{p(x=>(x-1+o.length)%Math.max(o.length,1))},[o.length]);return{...m,suggestions:o,selectedIndex:u,loading:d,setSelectedIndex:p,selectNext:h,selectPrevious:k}},B5=(e,t,n)=>{if(!t.hasQuery)return{newInput:e,newCursorPos:e.length};const r=e.slice(t.endIndex),s=n.command+" "+r.trimStart(),o=n.command.length+1;return{newInput:s,newCursorPos:o}},H5="blade.composer.draft.",Ui=new Map,Yx=1;function Bi(){return typeof sessionStorage>"u"?null:sessionStorage}function Hi(e){return`${H5}${e}`}function z5(e){var n;if(!e)return{content:"",attachments:[],outputSchema:void 0};const t=Ui.get(e);if(t)return{content:t.content,attachments:[...t.attachments],outputSchema:t.outputSchema};try{const r=((n=Bi())==null?void 0:n.getItem(Hi(e)))??"";if(!r)return{content:"",attachments:[],outputSchema:void 0};try{const s=JSON.parse(r);if(s.version===Yx&&typeof s.content=="string"&&(s.outputSchema===void 0||typeof s.outputSchema=="string"))return{content:s.content,attachments:[],outputSchema:s.outputSchema}}catch{}return{content:r,attachments:[],outputSchema:void 0}}catch{return{content:"",attachments:[],outputSchema:void 0}}}function sn(e,t){var s,o;if(!e)return;const n=Ui.get(e),r=t.outputSchema??(n==null?void 0:n.outputSchema);if(!t.content&&t.attachments.length===0&&!r){Xx(e);return}Ui.set(e,{content:t.content,attachments:[...t.attachments],outputSchema:r});try{t.content||r?(s=Bi())==null||s.setItem(Hi(e),JSON.stringify({version:Yx,content:t.content,...r?{outputSchema:r}:{}})):(o=Bi())==null||o.removeItem(Hi(e))}catch{}}function Xx(e){var t;if(e){Ui.delete(e);try{(t=Bi())==null||t.removeItem(Hi(e))}catch{}}}function Mc(e){return e.reduce((t,n)=>t+n.dataUrl.length,0)}function q5(e){return`data:${e.type||"application/octet-stream"};base64,`.length+4*Math.ceil(e.size/3)}function K5(e,t){const r=Mc(e)+t.reduce((s,o)=>s+q5(o),0);return e.length+t.length>Ur?{accepted:!1,reason:"count",estimatedBytes:r}:r>co?{accepted:!1,reason:"bytes",estimatedBytes:r}:{accepted:!0,estimatedBytes:r}}const G5=e=>typeof e=="object"&&"command"in e,df=({type:e,suggestions:t,selectedIndex:n,loading:r,onSelect:s,onHover:o,visible:i})=>{const u=w.useRef(null),p=w.useRef(null);if(w.useEffect(()=>{if(p.current&&u.current){const f=u.current,m=p.current,h=f.getBoundingClientRect(),k=m.getBoundingClientRect();k.bottom>h.bottom?f.scrollTop+=k.bottom-h.bottom+4:k.top<h.top&&(f.scrollTop-=h.top-k.top+4)}},[n]),!i||t.length===0&&!r)return null;const d=e==="command"?jf:su;return a.jsx("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:a.jsxs("div",{className:"mx-4 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700 rounded-lg shadow-xl overflow-hidden",children:[a.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[#E5E7EB] dark:border-zinc-800 text-xs text-[#6B7280] dark:text-zinc-400",children:[a.jsx(d,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:e==="command"?"Commands":"Files"}),r&&a.jsx(lt,{className:"h-3 w-3 animate-spin ml-auto"})]}),a.jsx("div",{ref:u,className:"max-h-64 overflow-y-auto py-1",children:t.length===0&&r?a.jsx("div",{className:"px-3 py-4 text-center text-[#6B7280] dark:text-zinc-500 text-sm",children:"Loading..."}):t.length===0?a.jsx("div",{className:"px-3 py-4 text-center text-[#6B7280] dark:text-zinc-500 text-sm",children:"No matches found"}):t.map((f,m)=>{const h=m===n,k=G5(f);return a.jsx("button",{ref:h?p:null,className:G("w-full text-left px-3 py-2 flex items-start gap-3 transition-colors",h?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] hover:bg-[#F3F4F6] hover:text-[#111827] dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-300"),onClick:()=>s(m),onMouseEnter:()=>o(m),children:k?a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-mono text-sm text-blue-600 dark:text-blue-400",children:f.command}),f.argumentHint&&a.jsx("span",{className:"text-xs text-[#9CA3AF] dark:text-zinc-500 font-mono",children:f.argumentHint})]}),a.jsx("p",{className:"text-xs text-[#9CA3AF] dark:text-zinc-500 mt-0.5 truncate",children:f.description})]})}):a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(su,{className:"h-4 w-4 flex-shrink-0 text-[#9CA3AF] dark:text-zinc-500"}),a.jsx("span",{className:"font-mono text-sm truncate",children:f})]})},k?f.command:f)})}),a.jsxs("div",{className:"px-3 py-1.5 border-t border-[#E5E7EB] dark:border-zinc-800 text-xs text-[#9CA3AF] dark:text-zinc-500 flex items-center gap-4",children:[a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"↑↓"})," ","Navigate"]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"Tab"})," ","Select"]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"Esc"})," ","Close"]})]})]})})},nc=[{value:fr.DEFAULT,labelKey:"chat.input.mode.default",descriptionKey:"chat.input.mode.default.desc",icon:Vy},{value:fr.AUTO_EDIT,labelKey:"chat.input.mode.autoEdit",descriptionKey:"chat.input.mode.autoEdit.desc",icon:Jy},{value:fr.YOLO,labelKey:"chat.input.mode.yolo",descriptionKey:"chat.input.mode.yolo.desc",icon:Cf,tone:"danger"},{value:fr.PLAN,labelKey:"chat.input.mode.plan",descriptionKey:"chat.input.mode.plan.desc",icon:Qy}],W5=["off"],V5=["standard"],J5=[];function rc(e){return e<1024*1024?`${Math.max(1,Math.ceil(e/1024))} KiB`:`${(e/(1024*1024)).toFixed(1)} MiB`}function Q5({onSend:e,onAbort:t,disabled:n,submitDisabled:r=!1,shellSubmitDisabled:s=!1,isStreaming:o,isStopping:i=!1,pendingSteeringCount:u=0,pendingInputDelivery:p=null,recoveredSteeringCount:d=0,variant:f="chat",draft:m,draftAttachments:h,draftRevision:k,draftKey:x,placeholder:C,workspacePath:T}){var tu;const b=Mt(),A=w.useRef(z5(x)),[N,R]=w.useState(A.current.content),[V,j]=w.useState(A.current.attachments),I=w.useRef(N),O=w.useRef(V),[B,Z]=w.useState(A.current.outputSchema??""),re=w.useRef(B),[P,z]=w.useState(!1),[J,he]=w.useState(null),[$e,Ce]=w.useState(void 0),[ie,Me]=w.useState(!1),[$,pe]=w.useState(!1),[ke,Qe]=w.useState(!1),[ct,F]=w.useState(!1),[Q,L]=w.useState(!1),[Se,Pe]=w.useState(!1),[Ee,An]=w.useState(!1),[Lt,Ye]=w.useState(null),[_n,ft]=w.useState(null),rn=N.trimStart().startsWith("!"),Pn=rn?s:r,Dt=w.useRef(null),y=w.useRef(!1),Y=w.useRef(null),Fe=w.useRef(null),{currentModelId:pt,configuredModels:Un,hasLoaded:ls,loadedWorkspacePath:ds,loadModels:us,setCurrentModel:Zx,currentMode:ci,setMode:zd}=At(),qd=mr(v=>v.isSettingsOpen),ey=bo(v=>v.communicationStyle),Kd=D(v=>v.setMaxContextTokens),Ie=D(v=>v.currentSessionRef),Gd=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.selectedModelId}),ty=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.reasoningEffort}),ny=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.serviceTier}),ry=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.responseVerbosity}),[sy,Wd]=w.useState(null),[oy,Pa]=w.useState(null),[iy,Na]=w.useState(null),[ay,Oa]=w.useState(null),cy=Un.some(v=>v.id===Gd),fs=Ie?sy??(cy?Gd:pt):pt,Xe=Un.find(v=>v.id===fs),Ra=(Xe==null?void 0:Xe.supportedReasoningEfforts)??W5,Vd=["auto",...Ra],Rr=oy??ty??"off",li=(Xe==null?void 0:Xe.supportedServiceTiers)??V5,ly=["auto",...li],$r=iy??ny??"auto",di=(Xe==null?void 0:Xe.supportedResponseVerbosities)??J5,dy=["auto",...di],Mr=ay??ry??"auto",Jd=ey??"auto",uy=Vd.length>1,fy=li.some(v=>v!=="standard"),py=di.length>0,Qd=(Xe==null?void 0:Xe.displayName)||(Xe==null?void 0:Xe.model)||fs||b("chat.input.model.placeholder"),ir=((tu=Xe==null?void 0:Xe.input)==null?void 0:tu.includes("image"))===!0,Ws=Xe?b("chat.input.attachment.modelUnsupported",{model:Qd}):b("chat.input.attachment.modelRequired"),ui=V.length>0&&!ir,Wt=U5(N,$e,{workspacePath:T}),Vt=M5(N,$e,{workspacePath:T}),ps=D5(),Vs=Wt.hasQuery&&Wt.suggestions.length>0,fi=Vt.hasQuery&&Vt.suggestions.length>0,my=Vs||fi;w.useEffect(()=>{!qd&&(!ls||ds!==(T??null))&&us(T??void 0)},[qd,us,ds,ls,T]),w.useEffect(()=>{o&&(Me(!1),pe(!1),Qe(!1),F(!1),z(!1))},[o]),w.useEffect(()=>{Wd(null),Pa(null),Na(null),Oa(null)},[Ie==null?void 0:Ie.projectPath,Ie==null?void 0:Ie.sessionId]),w.useEffect(()=>{Rr!=="auto"&&!Ra.includes(Rr)&&Pa("auto")},[Rr,Ra]),w.useEffect(()=>{$r!=="auto"&&!li.includes($r)&&Na("auto")},[$r,li]),w.useEffect(()=>{Mr!=="auto"&&!di.includes(Mr)&&Oa("auto")},[Mr,di]),w.useEffect(()=>{ft(null)},[fs]),w.useEffect(()=>{if(m!==void 0){const v=h??O.current;I.current=m,O.current=v,R(m),j(v),Ye(null),ft(null),Ce(m.length),sn(x,{content:m,attachments:v}),requestAnimationFrame(()=>{var K;return(K=Y.current)==null?void 0:K.focus()})}},[m,h,x,k]),w.useEffect(()=>()=>{sn(x,{content:I.current,attachments:O.current,outputSchema:re.current})},[x]),w.useEffect(()=>{if(!Xe)return;const v=!!Xe.contextWindow;Kd(Xe.contextWindow||0,!v)},[Xe,Kd]),w.useEffect(()=>{ir&&Ye(v=>v!==Dt.current?v:(Dt.current=null,null))},[ir]);const $a=w.useCallback(async()=>{if(!N.trim()&&V.length===0||n||Pn||ui||y.current)return;let v;if(B.trim()){if(rn){he(b("chat.input.outputSchema.shellUnsupported")),z(!0);return}try{const U=JSON.parse(B);if(!U||typeof U!="object"||Array.isArray(U))throw new Error("schema root must be an object");v=U}catch{he(b("chat.input.outputSchema.invalid")),z(!0);return}}N.trim()&&ps.addToHistory(N),y.current=!0,An(!0);const K=x;try{if(await e({content:N,modelId:fs??void 0,reasoningEffort:Rr,serviceTier:$r,responseVerbosity:Mr,communicationStyle:Jd,attachments:V,...v?{outputSchema:v}:{}})===!1)return;Xx(K),I.current="",O.current=[],re.current="",R(""),j([]),Z(""),he(null),Ye(null),ft(null),Dt.current=null,Ce(void 0)}catch{}finally{y.current=!1,An(!1)}},[V,ui,x,N,rn,n,fs,Rr,Mr,Jd,$r,Pn,e,B,ps,b]),hy=w.useCallback(v=>{Ye(null),ft(null),Dt.current=null,j(K=>{const U=K.filter(Te=>Te.id!==v);return O.current=U,sn(x,{content:I.current,attachments:U}),U})},[x]),Yd=w.useCallback(v=>new Promise((K,U)=>{const Te=new FileReader;Te.onload=()=>{if(typeof Te.result!="string"){U(new Error("Failed to read image"));return}K({id:typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:v.name,mimeType:v.type,dataUrl:Te.result})},Te.onerror=()=>U(Te.error??new Error("Failed to read image")),Te.readAsDataURL(v)}),[]),pi=w.useCallback(async v=>{if(v.length===0)return;if(!ir){Dt.current=Ws,ft(null),Ye(Ws);return}const K=K5(O.current,v),U=Te=>Te==="count"?b("chat.input.attachment.countLimit",{count:Ur}):b("chat.input.attachment.sizeLimit",{size:rc(co)});if(!K.accepted){Dt.current=null,ft(null),Ye(U(K.reason??"bytes"));return}try{const Te=await Promise.all(v.map(ms=>Yd(ms))),Tt=new Set(O.current.map(ms=>ms.dataUrl)),nu=Te.filter(ms=>Tt.has(ms.dataUrl)?!1:(Tt.add(ms.dataUrl),!0));if(nu.length===0){Ye(null),ft(null),Dt.current=null;return}const mi=[...O.current,...nu];if(Mc(mi)>co){Dt.current=null,ft(null),Ye(U("bytes"));return}O.current=mi,j(mi),Ye(null),ft(null),Dt.current=null,sn(x,{content:I.current,attachments:mi})}catch{Dt.current=null,ft(null),Ye(b("chat.input.attachment.readFailed"))}},[x,Ws,ir,Yd,b]),gy=w.useCallback(async v=>{const K=Array.from(v.target.files??[]).filter(U=>U.type.startsWith("image/"));await pi(K),v.target.value=""},[pi]),by=w.useCallback(async v=>{const K=Array.from(v.clipboardData.items).filter(U=>U.type.startsWith("image/")).map(U=>U.getAsFile()).filter(U=>U!==null);K.length!==0&&(v.preventDefault(),await pi(K))},[pi]),Ma=w.useCallback(v=>{const K=Wt.suggestions[v];if(!K)return;const{newInput:U,newCursorPos:Te}=B5(N,Wt,K);I.current=U,R(U),Ce(Te),sn(x,{content:U,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&(Y.current.focus(),Y.current.setSelectionRange(Te,Te))})},[x,N,Wt]),Fa=w.useCallback(v=>{const K=Vt.suggestions[v];if(!K)return;const{newInput:U,newCursorPos:Te}=L5(N,Vt,K);I.current=U,R(U),Ce(Te),sn(x,{content:U,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&(Y.current.focus(),Y.current.setSelectionRange(Te,Te))})},[Vt,x,N]),ky=w.useCallback(v=>{if(Vs){if(v.key==="ArrowDown"){v.preventDefault(),Wt.selectNext();return}if(v.key==="ArrowUp"){v.preventDefault(),Wt.selectPrevious();return}if(v.key==="Tab"||v.key==="Enter"&&!v.shiftKey){v.preventDefault(),Ma(Wt.selectedIndex);return}if(v.key==="Escape"){v.preventDefault(),Ce(void 0);return}}if(fi){if(v.key==="ArrowDown"){v.preventDefault(),Vt.selectNext();return}if(v.key==="ArrowUp"){v.preventDefault(),Vt.selectPrevious();return}if(v.key==="Tab"||v.key==="Enter"&&!v.shiftKey){v.preventDefault(),Fa(Vt.selectedIndex);return}if(v.key==="Escape"){v.preventDefault(),Ce(void 0);return}}if(v.key==="Enter"&&!v.shiftKey){v.preventDefault(),$a();return}if(v.key==="ArrowUp"&&!v.shiftKey){const K=v.target,U=K.selectionStart===0&&K.selectionEnd===0,Te=!N.includes(`
|
|
9
|
+
`),n=e.UseUnevaluated()?["const context = new CheckContext({}, {})",`return ${e.Entry()}`]:[`return ${e.Entry()}`];return`${t}; return (value) => { ${n.join("; ")} }`}function NR(e,t){return dp("CheckContext","Guard","Format","Hashing",e.External().identifier,t)(Ln,Ei,_O,Iv,e.External().variables)}function OR(e){const t=new ei(e.Context(),e.Schema()),n=new Ln;return r=>ot(t,n,e.Schema(),r)}function RR(e,t){return lp()?NR(e,t):OR(e)}class ix{constructor(t,n,r){this.isAccelerated=t,this.code=n,this.check=r}IsAccelerated(){return this.isAccelerated}Code(){return this.code}Check(t){return this.check(t)}}class ax{constructor(t,n,r,s,o,i){this.context=t,this.schema=n,this.external=r,this.functions=s,this.entry=o,this.useUnevaluated=i}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Entry(){return this.entry}Evaluate(){const t=PR(this),n=RR(this,t);return new ix(lp(),t,n)}}function cx(...e){const[t,n]=at(e,{2:(p,d)=>[p,d],1:p=>[{},p]});ag(),Kk();const r=new ei(t,n),s=new ig(og(t,n)),o=zs(r,s,n,"value"),i=Gk(),u=cg();return new ax(t,n,u,i,o,s.UseUnevaluated())}function ho(...e){const[t,n,r]=at(e,{3:(f,m,h)=>[f,m,h],2:(f,m)=>[{},f,m]}),s=vo(),o=Ev(),i=[],u=new ei(t,n),p=new Xl(f=>{if(!Es(i.length,s.maxErrors))return i.push({...f,message:o(f)})});return[It(u,p,"#","",n,r),i]}function Td(...e){const[t,n,r]=at(e,{3:(i,u,p)=>[i,u,p],2:(i,u)=>[{},i,u]}),s=new ei(t,n),o=new Ln;return ot(s,o,n,r)}let Ad=class{constructor(t,n,r){this.schema=t,this.value=n,this.errors=r}};function $R(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});if(!Td(t,n,r)){const[s,o]=ho(t,n,r);throw new Ad(n,r,o)}return r}class lx{constructor(t,n){this.buildResult=cx(t,n),this.evaluateResult=this.buildResult.Evaluate()}IsAccelerated(){return this.evaluateResult.IsAccelerated()}Schema(){return this.buildResult.Schema()}Check(t){return this.evaluateResult.Check(t)}Parse(t){if(this.evaluateResult.Check(t))return t;const[n,r]=ho(this.buildResult.Context(),this.buildResult.Schema(),t);throw new Ad(this.buildResult.Schema(),t,r)}Errors(t){return ho(this.buildResult.Context(),this.buildResult.Schema(),t)}}function MR(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return new lx(t,n)}const FR=Object.freeze(Object.defineProperty({__proto__:null,AccumulatedErrorContext:Dn,Build:cx,BuildAdditionalItems:fg,BuildAdditionalProperties:kg,BuildAdditionalPropertiesFast:gg,BuildAdditionalPropertiesStandard:bg,BuildAllOf:wg,BuildAnyOf:Ig,BuildConst:Ag,BuildContains:Og,BuildContext:ig,BuildDependencies:$g,BuildDependentRequired:Lg,BuildDependentSchemas:Ug,BuildEnum:zg,BuildExclusiveMaximum:Kg,BuildExclusiveMinimum:Wg,BuildFormat:Sb,BuildIf:jb,BuildItems:Tb,BuildMaxContains:Ob,BuildMaxItems:Fb,BuildMaxLength:Db,BuildMaxProperties:Ub,BuildMaximum:$b,BuildMinContains:zb,BuildMinItems:Wb,BuildMinLength:Jb,BuildMinProperties:Yb,BuildMinimum:Kb,BuildMultipleOf:Zb,BuildNot:tk,BuildOneOf:rk,BuildPattern:ik,BuildPatternProperties:ck,BuildPrefixItems:uk,BuildProperties:hk,BuildPropertyNames:kk,BuildRecursiveRef:wk,BuildRef:Ik,BuildRefine:lg,BuildRequired:Ek,BuildResult:ax,BuildSchema:st,BuildSchemaBoolean:Eg,BuildSchemaPushStack:Tn,BuildType:Ok,BuildUnevaluatedItems:Mk,BuildUnevaluatedProperties:Dk,BuildUniqueItems:Bk,CanAdditionalPropertiesFast:hg,Check:Td,CheckAdditionalItems:pg,CheckAdditionalProperties:xg,CheckAllOf:vg,CheckAnyOf:jg,CheckConst:nd,CheckContains:rd,CheckContext:Ln,CheckDependencies:Mg,CheckDependentRequired:Dg,CheckDependentSchemas:Bg,CheckEnum:sd,CheckExclusiveMaximum:od,CheckExclusiveMinimum:id,CheckFormat:ld,CheckIf:Cb,CheckItems:Ab,CheckMaxContains:dd,CheckMaxItems:fd,CheckMaxLength:pd,CheckMaxProperties:md,CheckMaximum:ud,CheckMinContains:hd,CheckMinItems:bd,CheckMinLength:kd,CheckMinProperties:xd,CheckMinimum:gd,CheckMultipleOf:yd,CheckNot:wd,CheckOneOf:sk,CheckPattern:vd,CheckPatternProperties:lk,CheckPrefixItems:fk,CheckProperties:gk,CheckPropertyNames:xk,CheckRecursiveRef:vk,CheckRef:jk,CheckRefine:dg,CheckRequired:Tk,CheckSchema:ot,CheckSchemaBoolean:td,CheckSchemaPushStack:Ar,CheckType:Rk,CheckUnevaluatedItems:Fk,CheckUnevaluatedProperties:_k,CheckUniqueItems:Hk,Compile:MR,CreateFunction:zs,CreateVariable:as,ErrorAdditionalItems:mg,ErrorAdditionalProperties:yg,ErrorAllOf:Sg,ErrorAnyOf:Cg,ErrorConst:Pg,ErrorContains:Rg,ErrorContext:Xl,ErrorDependencies:Fg,ErrorDependentRequired:_g,ErrorDependentSchemas:Hg,ErrorEnum:qg,ErrorExclusiveMaximum:Gg,ErrorExclusiveMinimum:Vg,ErrorFormat:Ib,ErrorIf:Eb,ErrorItems:Pb,ErrorMaxContains:Rb,ErrorMaxItems:Lb,ErrorMaxLength:_b,ErrorMaxProperties:Bb,ErrorMaximum:Mb,ErrorMinContains:qb,ErrorMinItems:Vb,ErrorMinLength:Qb,ErrorMinProperties:Xb,ErrorMinimum:Gb,ErrorMultipleOf:ek,ErrorNot:nk,ErrorOneOf:ok,ErrorPattern:ak,ErrorPatternProperties:dk,ErrorPrefixItems:pk,ErrorProperties:bk,ErrorPropertyNames:yk,ErrorRecursiveRef:Sk,ErrorRef:Ck,ErrorRefine:ug,ErrorRequired:Ak,ErrorSchema:It,ErrorSchemaBoolean:Tg,ErrorSchemaPushStack:Pr,ErrorType:$k,ErrorUnevaluatedItems:Lk,ErrorUnevaluatedProperties:Uk,ErrorUniqueItems:zk,Errors:ho,EvaluateResult:ix,GetExternal:cg,GetFunctions:Gk,HasUnevaluated:og,IsAdditionalItems:Uo,IsAdditionalProperties:rr,IsAllOf:fa,IsAnchor:Fi,IsAnyOf:pa,IsConst:ma,IsContains:ns,IsContentEncoding:NN,IsContentMediaType:ON,IsDefault:jr,IsDefs:RN,IsDependencies:Bo,IsDependentRequired:Ho,IsDependentSchemas:zo,IsDynamicAnchor:Kr,IsDynamicRef:ha,IsElse:ga,IsEnum:ba,IsExclusiveMaximum:qo,IsExclusiveMinimum:Cr,IsFormat:Fs,IsId:xr,IsIf:ka,IsItems:Er,IsItemsSized:xa,IsItemsUnsized:$N,IsMaxContains:Go,IsMaxItems:Ls,IsMaxLength:Wo,IsMaxProperties:Vo,IsMaximum:Ko,IsMinContains:rs,IsMinItems:ss,IsMinLength:Ds,IsMinProperties:_s,IsMinimum:Tr,IsMultipleOf:Jo,IsNot:ya,IsOneOf:wa,IsPattern:Us,IsPatternProperties:os,IsPrefixItems:sr,IsProperties:is,IsPropertyNames:Qo,IsRecursiveAnchor:sg,IsRecursiveAnchorTrue:wi,IsRecursiveRef:va,IsRef:Sa,IsRefine:ua,IsRequired:or,IsSchema:De,IsSchemaBoolean:_o,IsSchemaObject:Zt,IsThen:Ia,IsType:Yo,IsUnevaluatedItems:Bs,IsUnevaluatedProperties:Hs,IsUniqueItems:yr,Parse:$R,ParseError:Ad,Pointer:Zk,Reducer:Xo,ResetExternal:ag,ResetFunctions:Kk,Resolve:AR,Stack:ei,Validator:lx},Symbol.toStringTag,{value:"Module"}));function nt(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return Td(t,n,r)}function ti(...e){const[t,n,r]=at(e,{3:(i,u,p)=>[i,u,p],2:(i,u)=>[{},i,u]}),[s,o]=ho(t,n,r);return o}class ja extends Error{constructor(t,n,r){super(t),Object.defineProperty(this,"cause",{value:{source:t,errors:r,value:n},writable:!1,configurable:!1,enumerable:!1})}}function dx(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});if(!nt(t,n,r))throw new ja("Assert",r,ti(t,n,r))}function LR(e,t,n){return _(n)?n.map(r=>vn(e,t.items,r)):n}function DR(e,t,n){return vn({...e,...t.$defs},an(t.$ref),n)}function _R(e,t){const n=E(t,"unevaluatedProperties")?{additionalProperties:t.unevaluatedProperties}:{},r=Ms(e,t),s=Fn(r);return _e(s)?Zh(s,n):s}function UR(e,t,n){const r=_R(e,t);return vn(e,r,n)}function ux(e){return E(e,"additionalProperties")?e.additionalProperties:void 0}function BR(e,t,n){if(!ne(n)||_(n))return n;const r=ux(t);for(const s of M(n)){if(E(t.properties,s)){n[s]=vn(e,t.properties[s],n[s]);continue}if(gt(r)&&g(r,!0)||Jt(r)&&nt(e,r,n[s])){n[s]=vn(e,r,n[s]);continue}delete n[s]}return n}function HR(e,t,n){if(!ne(n))return n;const r=ux(t),[s,o]=[new RegExp(hn(t)),Ht(t)];for(const i of M(n)){if(s.test(i)){n[i]=vn(e,o,n[i]);continue}if(gt(r)&&g(r,!0)||Jt(r)&&nt(e,r,n[i])){n[i]=vn(e,r,n[i]);continue}delete n[i]}return n}function zR(e,t,n){return E(e,t.$ref)?vn(e,e[t.$ref],n):n}function qR(e,t,n){if(!_(n))return n;const r=Math.min(n.length,t.items.length);for(let s=0;s<r;s++)n[s]=vn(e,t.items[s],n[s]);return Wr(n.length,r)?n.slice(0,r):n}function _t(e){return rl(e)}function KR(e,t,n){for(const r of t.anyOf){const s=vn(e,r,_t(n));if(nt(e,r,s))return s}return n}function vn(e,t,n){return ut(t)?LR(e,t,n):Bt(t)?DR(e,t,n):Ue(t)?UR(e,t,n):_e(t)?BR(e,t,n):Et(t)?HR(e,t,n):bt(t)?zR(e,t,n):rt(t)?qR(e,t,n):ce(t)?KR(e,t,n):n}function GR(e,t){for(const n of Ei.Keys(e))Ei.HasPropertyKey(t,n)||(t[n]=e[n]);return t}function WR(e){const t={};for(const n of Ei.Keys(e))t[n]=go(e[n]);return t}function VR(e){return Ec(AN(e))}function Ec(e){return e.map(t=>go(t))}function go(e){const t=ut(e)?wr(go(e.items),il(e)):Ue(e)?On(Ec(e.allOf)):ce(e)?Ke(VR(e.anyOf)):_e(e)?Ae(WR(e.properties)):Et(e)?hl(ra(e),go(Ht(e))):rt(e)?mn(Ec(e.items)):e;return GR(e,t)}function Pd(e){return go(e)}function ni(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]}),s=Pd(n);return vn(t,s,r)}function nn(e){return ne(e)&&E(e,"value")}function te(e){return{value:e}}function JR(e){return _(e)?te(e):te([e])}function QR(e){return g(e,!0)?te(BigInt(1)):te(BigInt(0))}const YR=/^-?(0|[1-9]\d*)n$/,XR=/^-?(0|[1-9]\d*)\.\d+$/,ZR=/^-?(0|[1-9]\d*)$/;function e$(e){return YR.test(e)}function t$(e){return XR.test(e)}function n$(e){return ZR.test(e)}function r$(e){const t=e.toLowerCase();return e$(e)?te(BigInt(e.slice(0,e.length-1))):t$(e)?te(BigInt(e.split(".")[0])):n$(e)?te(BigInt(e)):g(t,"false")?te(BigInt(0)):g(t,"true")?te(BigInt(1)):void 0}function Nd(e){return et(e)?te(e):gt(e)?QR(e):ye(e)?te(BigInt(Math.trunc(e))):Gt(e)?te(BigInt(0)):ae(e)?r$(e):Ne(e)?te(BigInt(0)):void 0}function s$(e){return g(e,BigInt(0))?te(!1):g(e,BigInt(1))?te(!0):void 0}function o$(e){return g(e,0)?te(!1):g(e,1)?te(!0):void 0}function i$(e){return g(e.toLowerCase(),"false")?te(!1):g(e.toLowerCase(),"true")?te(!0):g(e,"0")?te(!1):g(e,"1")?te(!0):void 0}function fx(e){return et(e)?s$(e):gt(e)?te(e):ye(e)?o$(e):Gt(e)?te(!1):ae(e)?i$(e):Ne(e)?te(!1):void 0}function a$(e){return g(e,BigInt(0))?te(null):void 0}function c$(e){return g(e,!1)?te(null):void 0}function l$(e){return g(e,0)?te(null):void 0}function d$(e){const t=e.toLowerCase();return g(t,"undefined")||g(t,"null")||g(e,"")||g(e,"0")?te(null):void 0}function u$(e){return et(e)?a$(e):gt(e)?c$(e):ye(e)?l$(e):Gt(e)?te(null):ae(e)?d$(e):Ne(e)?te(null):void 0}const px=BigInt(Number.MAX_SAFE_INTEGER),mx=BigInt(Number.MIN_SAFE_INTEGER);function f$(e){return e<=px&&e>=mx?te(Number(e)):void 0}function p$(e){return te(e?1:0)}function m$(e){const t=+e;if(ye(t))return te(t);const n=e.toLowerCase();if(g(n,"false"))return te(0);if(g(n,"true"))return te(1);const r=Nd(e);return nn(r)&&r.value<=px&&r.value>=mx?te(Number(r.value)):void 0}function Od(e){return et(e)?f$(e):gt(e)?p$(e):ye(e)?te(e):Gt(e)?te(0):ae(e)?m$(e):Ne(e)?te(0):void 0}function hx(e){return et(e)||gt(e)||ye(e)?te(e.toString()):Gt(e)?te("null"):ae(e)?te(e):Ne(e)?te(""):void 0}function h$(e){return g(e,BigInt(0))?te(void 0):void 0}function g$(e){return g(e,!1)?te(void 0):void 0}function b$(e){return g(e,0)?te(void 0):void 0}function k$(e){const t=e.toLowerCase();return g(t,"undefined")||g(t,"null")||g(e,"")||g(e,"0")?te(void 0):void 0}function gx(e){return et(e)?h$(e):gt(e)?g$(e):ye(e)?b$(e):Gt(e)?te(void 0):ae(e)?k$(e):Ne(e)?te(e):void 0}function x$(e,t,n){return JR(n).value.map(s=>gn(e,t.items,s))}function y$(e,t,n){const r=Nd(n);return nn(r)?r.value:n}function w$(e,t,n){const r=fx(n);return nn(r)?r.value:n}function v$(e,t,n){return gn({...e,...t.$defs},an(t.$ref),n)}function S$(e,t,n){return gn(e,Fn(t),n)}function I$(e,t,n){const r=Od(n);return nn(r)?Math.trunc(r.value):n}function j$(e,t,n){const r=Ms(e,t),s=Fn(r);return gn(e,s,n)}function C$(e,t,n){const r=Nd(n);return nn(r)&&g(t.const,r.value)?r.value:n}function E$(e,t,n){const r=fx(n);return nn(r)&&g(t.const,r.value)?r.value:n}function T$(e,t,n){const r=Od(n);return nn(r)&&g(t.const,r.value)?r.value:n}function A$(e,t,n){const r=hx(n);return nn(r)&&g(t.const,r.value)?r.value:n}function P$(e,t,n){return g(t.const,n)?n:_v(t)?C$(e,t,n):Uv(t)?E$(e,t,n):yp(t)?T$(e,t,n):wp(t)?A$(e,t,n):Nt()}function N$(e,t,n){const r=u$(n);return nn(r)?r.value:n}function O$(e,t,n){const r=Od(n);return nn(r)?r.value:n}function bx(e,t,n,r){const s=M(r);for(const[o,i]of t)for(const u of s)o.test(u)||(r[u]=gn(e,n,r[u]));return r}function Rd(e,t,n){return Qt(e)&&Ne(n[t])}function R$(e,t,n){const r=Yc(t.properties),s=M(n);for(const[o,i]of r)for(const u of s)!o.test(u)||Rd(i,u,n)||(n[u]=gn(e,i,n[u]));return E(t,"additionalProperties")&&ne(t.additionalProperties)?bx(e,r,t.additionalProperties,n):n}function $$(e,t,n){return ln(n)?R$(e,t,n):n}function M$(e,t,n){const r=Yc(t.patternProperties),s=M(n);for(const[o,i]of r)for(const u of s)o.test(u)&&(n[u]=gn(e,i,n[u]));return E(t,"additionalProperties")&&ne(t.additionalProperties)?bx(e,r,t.additionalProperties,n):n}function F$(e,t,n){return ln(n)?M$(e,t,n):n}function L$(e,t,n){return E(e,t.$ref)?gn(e,e[t.$ref],n):n}function D$(e,t,n){const r=hx(n);return nn(r)?r.value:n}function _$(e,t,n){return gn(e,Fn(t),n)}function U$(e,t,n){if(!_(n))return n;for(let r=0;r<Math.min(t.items.length,n.length);r++)n[r]=gn(e,t.items[r],n[r]);return n}function B$(e,t,n){const r=gx(n);return nn(r)?r.value:n}function H$(e,t,n){if(t.anyOf.some(i=>nt(e,i,n)))return n;const o=t.anyOf.map(i=>gn(e,i,_t(n))).find(i=>nt(e,t,i));return Ne(o)?n:o}function z$(e,t,n){const r=gx(n);return nn(r)?void 0:n}function gn(e,t,n){return ut(t)?x$(e,t,n):Yr(t)?y$(e,t,n):vr(t)?w$(e,t,n):Bt(t)?v$(e,t,n):pn(t)?S$(e,t,n):$n(t)?I$(e,t,n):Ue(t)?j$(e,t,n):Ge(t)?P$(e,t,n):Eo(t)?N$(e,t,n):en(t)?O$(e,t,n):_e(t)?$$(e,t,n):Et(t)?F$(e,t,n):bt(t)?L$(e,t,n):En(t)?D$(e,t,n):zt(t)?_$(e,t,n):rt(t)?U$(e,t,n):Rs(t)?B$(e,t,n):ce(t)?H$(e,t,n):Xr(t)?z$(e,t,n):n}function Ca(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return gn(t,n,r)}function q$(e,t,n){if(!_(n))return n;for(let r=0;r<n.length;r++)n[r]=Sn(e,t.items,n[r]);return n}function K$(e,t,n){return Sn({...e,...t.$defs},an(t.$ref),n)}function G$(e,t){return Ne(t)?xn(e.default)?e.default():_t(e.default):t}function W$(e,t,n){const r=Ms(e,t),s=Fn(r);return Sn(e,s,n)}function V$(e,t,n){if(!ne(n))return n;const r=M(t.properties);for(const s of r){const o=Sn(e,t.properties[s],n[s]);Ne(o)&&(Qt(t.properties[s])||!E(t.properties[s],"default"))||(n[s]=o)}if(!rr(t)||gt(t.additionalProperties))return n;for(const s of M(n))r.includes(s)||(n[s]=Sn(e,t.additionalProperties,n[s]));return n}function J$(e,t,n){if(!ne(n))return n;const[r,s]=[new RegExp(hn(t)),Ht(t)];for(const o of M(n))r.test(o)&&jr(s)&&(n[o]=Sn(e,s,n[o]));if(!rr(t))return n;for(const o of M(n))r.test(o)||(n[o]=Sn(e,t.additionalProperties,n[o]));return n}function Q$(e,t,n){return E(e,t.$ref)?Sn(e,e[t.$ref],n):n}function Y$(e,t,n){if(!_(n))return n;const[r,s]=[t.items,Math.max(t.items.length,n.length)];for(let o=0;o<s;o++)o<r.length&&(n[o]=Sn(e,r[o],n[o]));return n}function X$(e,t,n){for(const r of t.anyOf){const s=Sn(e,r,_t(n));if(nt(e,r,s))return s}return n}function Sn(e,t,n){const r=jr(t)?G$(t,n):n;return ut(t)?q$(e,t,r):Bt(t)?K$(e,t,r):Ue(t)?W$(e,t,r):_e(t)?V$(e,t,r):Et(t)?J$(e,t,r):bt(t)?Q$(e,t,r):rt(t)?Y$(e,t,r):ce(t)?X$(e,t,r):r}function $d(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return Sn(t,n,r)}function kx(e){return(...t)=>{const[n,r,s]=at(t,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});return e.reduce((o,i)=>i(n,r,o),s)}}function Z$(e,t,n){return t["~codec"].decode(n)}function eM(e,t,n){return t["~codec"].encode(n)}function vt(e,t,n,r){return Xt(n)?g(e,"Decode")?Z$(t,n,r):eM(t,n,r):r}function tM(e,t,n,r){if(!_(r))return r;for(let s=0;s<r.length;s++)r[s]=Ft(e,t,n.items,r[s]);return vt(e,t,n,r)}function nM(e,t,n,r){const s=vt(e,t,n,r);if(!_(s))return s;for(let o=0;o<s.length;o++)s[o]=Ft(e,t,n.items,s[o]);return s}function rM(e,t,n,r){return g(e,"Decode")?tM(e,t,n,r):nM(e,t,n,r)}function sM(e,t,n,r){return r=Ft(e,{...t,...n.$defs},an(n.$ref),r),vt(e,t,n,r)}function xx(e){return e.reduce((t,n)=>({...t,...n}),{})}function yx(e,t){for(const n of t)if(!Vr(e,n))return n;return e}function oM(e,t,n,r){if(g(n.allOf.length,0))return vt(e,t,n,r);const s=n.allOf.map(u=>Ft(e,t,u,ni(u,_t(r)))),i=s.every(u=>ne(u))?xx(s):yx(r,s);return vt(e,t,n,i)}function iM(e,t,n,r){if(g(n.allOf.length,0))return vt(e,t,n,r);const s=vt(e,t,n,r),o=n.allOf.map(u=>Ft(e,t,u,ni(u,_t(s))));return o.every(u=>ne(u))?xx(o):yx(s,o)}function aM(e,t,n,r){return g(e,"Decode")?oM(e,t,n,r):iM(e,t,n,r)}function cM(e,t,n,r){if(!ln(r))return r;for(const s of M(n.properties))!E(r,s)||Rd(n.properties[s],s,r)||(r[s]=Ft(e,t,n.properties[s],r[s]));return vt(e,t,n,r)}function lM(e,t,n,r){const s=vt(e,t,n,r);if(!ln(s))return s;for(const o of M(n.properties))!E(s,o)||Rd(n.properties[o],o,s)||(s[o]=Ft(e,t,n.properties[o],s[o]));return s}function dM(e,t,n,r){return g(e,"Decode")?cM(e,t,n,r):lM(e,t,n,r)}function uM(e,t,n,r){if(!ln(r))return r;const s=new RegExp(hn(n));for(const o of M(r))s.test(o)&&(r[o]=Ft(e,t,Ht(n),r[o]));return vt(e,t,n,r)}function fM(e,t,n,r){const s=vt(e,t,n,r);if(!ln(s))return s;const o=new RegExp(hn(n));for(const i of M(s))o.test(i)&&(s[i]=Ft(e,t,Ht(n),s[i]));return s}function pM(e,t,n,r){return g(e,"Decode")?uM(e,t,n,r):fM(e,t,n,r)}function _u(e,t,n,r){return E(t,n.$ref)?Ft(e,t,t[n.$ref],r):r}function mM(e,t,n,r){return g(e,"Decode")?vt(e,t,n,_u(e,t,n,r)):_u(e,t,n,vt(e,t,n,r))}function hM(e,t,n,r){if(!_(r))return r;for(let s=0;s<Math.min(n.items.length,r.length);s++)r[s]=Ft(e,t,n.items[s],r[s]);return vt(e,t,n,r)}function gM(e,t,n,r){const s=vt(e,t,n,r);if(!_(s))return r;for(let o=0;o<Math.min(n.items.length,s.length);o++)s[o]=Ft(e,t,n.items[o],s[o]);return s}function bM(e,t,n,r){return g(e,"Decode")?hM(e,t,n,r):gM(e,t,n,r)}function kM(e,t,n,r){for(const s of n.anyOf){if(!nt(t,s,r))continue;const o=Ft(e,t,s,r);return vt(e,t,n,o)}return r}function xM(e,t,n,r){const s=vt(e,t,n,r);for(const o of n.anyOf){const i=Ft(e,t,o,_t(s));if(nt(t,o,i))return i}return s}function yM(e,t,n,r){return g(e,"Decode")?kM(e,t,n,r):xM(e,t,n,r)}function Ft(e,t,n,r){return ut(n)?rM(e,t,n,r):Bt(n)?sM(e,t,n,r):Ue(n)?aM(e,t,n,r):_e(n)?dM(e,t,n,r):Et(n)?pM(e,t,n,r):bt(n)?mM(e,t,n,r):rt(n)?bM(e,t,n,r):ce(n)?yM(e,t,n,r):vt(e,t,n,r)}class wM extends ja{constructor(t,n){super("Decode",t,n)}}function vM(e,t,n){if(!nt(e,t,n))throw new wM(n,ti(e,t,n));return n}function SM(e,t,n){const r=Pd(t);return Ft("Decode",e,r,n)}const IM=kx([(e,t,n)=>_t(n),(e,t,n)=>$d(e,t,n),(e,t,n)=>Ca(e,t,n),(e,t,n)=>ni(e,t,n),(e,t,n)=>vM(e,t,n),(e,t,n)=>SM(e,t,n)]);function jM(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return IM(t,n,r)}class CM extends ja{constructor(t,n){super("Encode",t,n)}}function EM(e,t,n){if(!nt(e,t,n))throw new CM(n,ti(e,t,n));return n}function TM(e,t,n){const r=Pd(t);return Ft("Encode",e,r,n)}const AM=kx([(e,t,n)=>_t(n),(e,t,n)=>TM(e,t,n),(e,t,n)=>$d(e,t,n),(e,t,n)=>Ca(e,t,n),(e,t,n)=>ni(e,t,n),(e,t,n)=>EM(e,t,n)]);function PM(...e){const[t,n,r]=at(e,{3:(s,o,i)=>[s,o,i],2:(s,o)=>[{},s,o]});return AM(t,n,r)}function NM(e,t){return Xt(t)||Nr(e,t.items)}function OM(e,t){return Xt(t)||wx({...e,...t.$defs},an(t.$ref))}function RM(e,t){return Xt(t)||t.allOf.some(n=>Nr(e,n))}function $M(e,t){return Xt(t)||M(t.properties).some(n=>Nr(e,t.properties[n]))}function MM(e,t){return Xt(t)||Nr(e,Ht(t))}function wx(e,t){return Tc.has(t.$ref)?!1:(Tc.add(t.$ref),Xt(t)||E(e,t.$ref)&&Nr(e,e[t.$ref]))}function FM(e,t){return Xt(t)||t.items.some(n=>Nr(e,n))}function LM(e,t){return Xt(t)||t.anyOf.some(n=>Nr(e,n))}function Nr(e,t){return ut(t)?NM(e,t):Bt(t)?OM(e,t):Ue(t)?RM(e,t):_e(t)?$M(e,t):Et(t)?MM(e,t):bt(t)?wx(e,t):rt(t)?FM(e,t):ce(t)?LM(e,t):Xt(t)}const Tc=new Set;function DM(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return Tc.clear(),Nr(t,n)}class ri extends Error{constructor(t,n){super(n),this.type=t}}function _M(e,t){return xn(t.default)?t.default(t):ne(t.default)?_t(t.default):t.default}function UM(e,t){if(yr(t)&&!jr(t))throw new ri(t,"Arrays with uniqueItems constraints must specify a default annotation");const n=ss(t)?t.minItems:0;return Array.from({length:n},()=>bn(e,t.items))}function BM(e,t){return Cr(t)?BigInt(t.exclusiveMinimum)+BigInt(1):Tr(t)?BigInt(t.minimum):BigInt(0)}function HM(e,t){return!1}function zM(e,t){const n=bn(e,t.instanceType);return class{constructor(){Object.assign(this,n)}}}function qM(e,t){return bn({...e,...t.$defs},an(t.$ref))}function KM(e,t){return bn(e,Fn(t))}function GM(e,t){const n=bn(e,t.returnType);return()=>n}function WM(e,t){return Cr(t)&&ye(t.exclusiveMinimum)?t.exclusiveMinimum+1:Tr(t)?t.minimum:0}function VM(e,t){const n=Ms(e,t),r=Fn(n);return bn(e,r)}function JM(e,t){return t.const}function QM(e,t){throw new ri(t,"Cannot create TNever types")}function YM(e,t){return null}function XM(e,t){return Cr(t)&&ye(t.exclusiveMinimum)?t.exclusiveMinimum+1:Tr(t)?t.minimum:0}function ZM(e,t){return(Ne(t.required)?[]:t.required).reduce((r,s)=>({...r,[s]:bn(e,t.properties[s])}),{})}function eF(e,t){if(_s(t)&&!jr(t))throw new ri(t,"Record with the minProperties constraint must have a default annotation");return{}}function tF(e,t){return E(e,t.$ref)?bn(e,e[t.$ref]):(()=>{throw new ri(t,"Unable to deref Ref")})()}function nF(e,t){if((Us(t)||Fs(t))&&!jr(t))throw Error("Strings with format or pattern constraints must specify default");const r=Ds(t)?t.minLength:0;return"".padEnd(r)}function rF(e,t){return Symbol()}function sF(e,t){const n=ml(t.pattern);if(En(n))throw new ri(t,"Unable to create TemplateLiteral due to infinite type expansion");return bn(e,n)}function oF(e,t){return Array.from({length:t.minItems},(n,r)=>bn(e,t.items[r]))}function iF(e,t){if(g(t.anyOf.length,0))throw Error("Unable to create Union with no variants");return bn(e,t.anyOf[0])}function bn(e,t){return jr(t)?_M(e,t):ut(t)?UM(e,t):Yr(t)?BM(e,t):vr(t)?HM():dn(t)?zM(e,t):Bt(t)?qM(e,t):pn(t)?KM(e,t):un(t)?GM(e,t):$n(t)?WM(e,t):Ue(t)?VM(e,t):Ge(t)?JM(e,t):Ps(t)?QM(e,t):Eo(t)?YM():en(t)?XM(e,t):_e(t)?ZM(e,t):Et(t)?eF(e,t):bt(t)?tF(e,t):En(t)?nF(e,t):To(t)?rF():zt(t)?sF(e,t):rt(t)?oF(e,t):Rs(t)?void 0:ce(t)?iF(e,t):Xr(t)?void 0:void 0}function In(...e){const[t,n]=at(e,{2:(r,s)=>[r,s],1:r=>[{},r]});return bn(t,n)}function vx(e,t){return Vr(e,t)}function Sx(e){return Xi(e)}class aF extends ja{constructor(t,n){super("Parse",t,n)}}function cF(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]});if(nt(t,n,r))return r;throw new aF(r,ti(t,n,r))}function Ea(e,t){return{type:"update",path:e,value:t}}function Ix(e,t){return{type:"insert",path:e,value:t}}function jx(e){return{type:"delete",path:e}}function Uu(e){if(!(ne(e)&&g(Xc(e).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*lF(e,t,n){if(!ne(n)||_(n))return yield Ea(e,n);Uu(t),Uu(n);const r=M(t),s=M(n);for(const o of s)E(t,o)||Gn(o)||(yield Ix(`${e}/${o}`,n[o]));for(const o of r)E(n,o)&&(Gn(o)||vx(t,n)||(yield*Ta(`${e}/${o}`,t[o],n[o])));for(const o of r)E(n,o)||Gn(o)||(yield jx(`${e}/${o}`))}function*dF(e,t,n){if(!_(n))return yield Ea(e,n);for(let r=0;r<Math.min(t.length,n.length);r++)yield*Ta(`${e}/${r}`,t[r],n[r]);for(let r=0;r<n.length;r++)r<t.length||(yield Ix(`${e}/${r}`,n[r]));for(let r=t.length-1;r>=0;r--)r<n.length||(yield jx(`${e}/${r}`))}function*uF(e,t,n){const r=globalThis.Object.getPrototypeOf(t).constructor.name,s=globalThis.Object.getPrototypeOf(n).constructor.name;if(wo(n)&&g(t.length,n.length)&&g(r,s))for(let i=0;i<Math.min(t.length,n.length);i++)yield*Ta(`${e}/${i}`,t[i],n[i]);else return yield Ea(e,n)}function*fF(e,t,n){t!==n&&(yield Ea(e,n))}function*Ta(e,t,n){return wo(t)?yield*uF(e,t,n):_(t)?yield*dF(e,t,n):ne(t)?yield*lF(e,t,n):yield*fF(e,t,n)}function pF(e,t){return[...Ta("",e,t)]}const mF=Ae({type:Re("insert"),path:Mn(),value:Ut()}),hF=Object({type:Re("update"),path:Mn(),value:Ut()}),gF=Ae({type:Re("delete"),path:Mn()});Ke([mF,hF,gF]);function bF(e){return e.length>0&&e[0].path===""&&e[0].type==="update"}function kF(e){return e.length===0}function xF(e,t){if(bF(t))return _t(t[0].value);if(kF(t))return _t(e);const n=_t(e);for(const r of t)switch(r.type){case"insert":{Cc(n,r.path,r.value);break}case"update":{Cc(n,r.path,r.value);break}case"delete":{Xk(n,r.path);break}}return n}class Aa extends Error{constructor(t,n,r,s){super(s),this.context=t,this.type=n,this.value=r}}function yF(e){const[t,n]=[new Set,[]];for(const r of e){const s=Sx(r);t.has(s)||(t.add(s),n.push(r))}return n}function wF(e,t,n){if(nt(e,t,n))return n;const r=_(n)?n:In(e,t),s=ss(t)&&r.length<t.minItems?[...r,...Array.from({length:t.minItems-r.length},()=>In(e,t))]:r,i=(Ls(t)&&s.length>t.maxItems?s.slice(0,t.maxItems):s).map(p=>cn(e,t.items,p));if(!yr(t)||yr(t)&&!g(t.uniqueItems,!0))return i;const u=yF(i);if(!nt(e,t,u))throw new Aa(e,t,n,"Failed to repair Array due to uniqueItems constraint");return u}function vF(e,t,n){return cn(e,Fn(t),n)}function SF(e,t,n){const r=Ms(e,t),s=Fn(r);return cn(e,s,n)}function IF(e,t,n){if(nt(e,t,n))return n;if(!ln(n))return In(e,t);const r=new Set(Ne(t.required)?[]:t.required),s={};for(const[i,u]of tt(t.properties))!r.has(i)&&Ne(n[i])||(s[i]=i in n?cn(e,u,n[i]):In(e,u));const o=M(t.properties);if(rr(t)&&ne(t.additionalProperties))for(const i of M(n))o.includes(i)||(s[i]=cn(e,t.additionalProperties,n[i]));return s}function jF(e,t,n){if(nt(e,t,n))return n;if(Gt(n)||!ne(n)||_(n))return In(e,t);const r=new RegExp(hn(t)),s=Ht(t),o=new Set,i={};for(const[u,p]of tt(n))r.test(u)&&(i[u]=cn(e,s,p),o.add(u));if(rr(t))for(const u of M(n))o.has(u)||(i[u]=cn(e,t.additionalProperties,n[u]));return i}function CF(e,t,n){return E(e,t.$ref)?cn(e,e[t.$ref],n):(()=>{throw new Aa(e,t,n,"Unable to de-reference target type")})()}function EF(e,t,n){const r=ml(t.pattern);return cn(e,r,n)}function TF(e,t,n){return nt(e,t,n)?n:_(n)?t.items.map((r,s)=>cn(e,r,n[s])):In(e,t)}function Cx(e,t,n){return bt(t)?E(e,t.$ref)?Cx(e,e[t.$ref]):(()=>{throw new Error("Unable to Deref target")})():t}function AF(e,t,n){if(!(_e(t)&&ne(n)))return 0;const r=M(n);return tt(t.properties).reduce((o,[i,u])=>{const p=Ge(u)&&g(u.const,n[i])?100:0,d=nt(e,u,n[i])?10:0,f=r.includes(i)?1:0;return o+(p+d+f)},0)}function PF(e,t,n){const r=t.anyOf.map(i=>Cx(e,i));let[s,o]=[r[0],0];for(const i of r){const u=AF(e,i,n);u>o&&(s=i,o=u)}return s}function NF(e,t,n){const r=Ke(ea(t.anyOf)),s=PF(e,r,n);return cn(e,s,n)}function OF(e,t,n){return nt(e,t,n)?_t(n):jr(t)?In(e,t):NF(e,t,n)}function RF(e,t,n){if(nt(e,t,n))return n;const r=Ca(e,t,n);return nt(e,t,r)?r:In(e,t)}function $F(e,t,n){if(rp(n)||op(n)||sp(n)||wo(n)||Vi(n)||xn(n))throw new Aa(e,t,n,"Value is not repairable")}function MF(e,t,n){if(dn(t)||un(t)||Ps(t))throw new Aa(e,t,n,"Type is not repairable")}function FF(e,t,n){return Ne(n)&&!Rs(t)?In(e,t):n}function LF(e,t,n){return dl(t)?nt(e,t,n)?n:In(e,t):n}function cn(e,t,n){$F(e,t,n),MF(e,t,n);const r=FF(e,t,n),s=ut(t)?wF(e,t,r):pn(t)?vF(e,t,r):Ue(t)?SF(e,t,r):_e(t)?IF(e,t,r):Et(t)?jF(e,t,r):bt(t)?CF(e,t,r):zt(t)?EF(e,t,r):rt(t)?TF(e,t,r):ce(t)?OF(e,t,r):RF(e,t,r);return LF(e,t,s)}function DF(...e){const[t,n,r]=at(e,{3:(o,i,u)=>[o,i,u],2:(o,i)=>[{},o,i]}),s=cn(t,n,r);return dx(t,n,s),s}const Ga=Object.freeze(Object.defineProperty({__proto__:null,Assert:dx,Check:nt,Clean:ni,Clone:_t,Convert:Ca,Create:In,Decode:jM,Default:$d,Diff:pF,Encode:PM,Equal:vx,Errors:ti,HasCodec:DM,Hash:Sx,Parse:cF,Patch:xF,Pointer:Zk,Repair:DF},Symbol.toStringTag,{value:"Module"}));class Bu extends Error{constructor(t){super(t.map(n=>`${n.path.length>0?n.path.join("."):"root"}: ${n.message}`).join("; ")),this.issues=t,this.name="SchemaValidationError"}}function _F(e){return e?e.split("/").slice(1).map(t=>t.replace(/~1/g,"/").replace(/~0/g,"~")).map(t=>/^(0|[1-9]\d*)$/.test(t)?Number(t):t):[]}function UF(e,t){let n=e;for(const r of t){if(n===null||typeof n!="object")return;n=n[r]}return n}function Hu(e,t){const[,n]=FR.Errors(e,t);return n.map(r=>{const s=_F(r.instancePath);return{code:r.keyword,path:s,message:r.message,value:UF(t,s)}})}function Ex(e,t){const n=Ga.Default(e,Ga.Clone(t)),r=Hu(e,n);if(r.length>0)return{success:!1,error:new Bu(r)};const s=Ga.Clean(e,n),o=Hu(e,s);return o.length>0?{success:!1,error:new Bu(o)}:{success:!0,data:s}}function lr(e,t){const n=Ex(e,t);if(!n.success)throw n.error;return n.data}function W(e){return Object.defineProperties(e,{parse:{value:t=>lr(e,t),enumerable:!1},safeParse:{value:t=>Ex(e,t),enumerable:!1}}),e}function Vn(e,t){return l.Optional({...e,default:t})}function me(e,t={}){return l.Unsafe({type:"string",enum:[...e],...t})}const Ur=20,co=5*1024*1024,BF=32e3,cs=W(me(["default","autoEdit","yolo","plan"])),fr={DEFAULT:"default",AUTO_EDIT:"autoEdit",YOLO:"yolo",PLAN:"plan"},Md=W(me(["user","assistant","system","tool"])),HF=W(l.Union([l.Object({type:l.Literal("text"),text:l.String()}),l.Object({type:l.Literal("image_url"),image_url:l.Object({url:l.String()})})])),Tx=l.Union([l.String(),l.Array(HF)]);W(l.Object({id:l.String(),role:Md,content:Tx,timestamp:l.Number(),metadata:l.Optional(l.Record(l.String(),l.Unknown())),thinkingContent:l.Optional(l.String()),tool_call_id:l.Optional(l.String()),name:l.Optional(l.String()),tool_calls:l.Optional(l.Unknown())}));const zF=W(me(["queued","running","completed","failed","cancelled","interrupted"])),si=W(me(["local","worktree"])),qF=W(me(["applied","discarded","conflicted"])),KF=W(l.Object({status:qF,updatedAt:l.String(),sourceCommit:l.Optional(l.String()),changedFiles:l.Optional(l.Integer({minimum:0})),message:l.Optional(l.String())})),GF=W(l.Object({changedFiles:l.Integer({minimum:0}),additions:l.Integer({minimum:0}),deletions:l.Integer({minimum:0}),commits:l.Integer({minimum:0})})),WF=W(l.Object({path:l.String({minLength:1}),patch:l.String({maxLength:2*1024*1024}),additions:l.Integer({minimum:0}),deletions:l.Integer({minimum:0}),binary:l.Boolean(),truncated:l.Boolean()})),VF=W(l.Object({sessionId:l.String(),projectPath:l.String(),baseCommit:l.String(),files:l.Array(WF,{maxItems:100}),truncated:l.Boolean()})),JF=l.Union([l.String(),l.Number(),l.Boolean(),l.Array(l.String())]),QF=W(l.Object({name:l.String(),type:me(["string","number","integer","boolean","select","multi-select"]),title:l.String(),description:l.Optional(l.String()),required:l.Boolean(),defaultValue:l.Optional(JF),options:l.Optional(l.Array(l.Object({value:l.String(),label:l.String()}))),format:l.Optional(me(["date","uri","email","date-time"])),minimum:l.Optional(l.Number()),maximum:l.Optional(l.Number()),minLength:l.Optional(l.Number()),maxLength:l.Optional(l.Number()),minItems:l.Optional(l.Number()),maxItems:l.Optional(l.Number())}));W(l.Object({serverName:l.String(),mode:me(["form","url"]),message:l.String(),fields:l.Optional(l.Array(QF)),requestedSchema:l.Optional(l.Record(l.String(),l.Unknown())),url:l.Optional(l.String()),domain:l.Optional(l.String()),elicitationId:l.Optional(l.String())}));const YF=W(l.Object({type:me(["permission","question","elicitation"]),requestId:l.String()})),XF=W(l.Object({code:me(["authentication","permission","rate_limit","timeout","network","model_unavailable","context_limit","unsupported_input","capacity","runtime"]),message:l.String({minLength:1,maxLength:500}),retryable:l.Boolean(),resource:l.Optional(me(["pending_count","pending_bytes","resident_runtimes"]))})),qs=W(me(["auto","off","minimal","low","medium","high","xhigh","max"])),Ks=W(me(["auto","standard","fast","flex"])),Gs=W(me(["auto","low","medium","high"])),Or=W(l.Union([me(["auto","pragmatic","friendly","explanatory"]),l.String({minLength:7,maxLength:300,pattern:"^(?:(?:user|project):[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3}|plugin:[a-z0-9][a-z0-9._-]{0,63}:[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3})$"})])),Jn=W(l.Object({sessionId:l.String(),projectPath:l.String(),title:l.Optional(l.String()),gitBranch:l.Optional(l.String()),rootId:l.String(),parentId:l.Optional(l.String()),relationType:l.Optional(me(["subagent","fork"])),resumedFrom:l.Optional(l.String()),rootAgentId:l.Optional(l.String()),resumeDepth:l.Optional(l.Integer({minimum:0})),taskStatus:Vn(zF,"completed"),taskStatusReason:l.Optional(l.String()),taskFailure:l.Optional(XF),taskStartedAt:l.Optional(l.String()),taskCompletedAt:l.Optional(l.String()),taskPromptSummary:l.Optional(l.String()),taskModelId:l.Optional(l.String()),selectedModelId:l.Optional(l.String()),permissionMode:l.Optional(cs),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),communicationStyleDigest:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"})),projectInstructionsDigest:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"})),taskRetryAvailable:l.Optional(l.Boolean()),taskRetriedFrom:l.Optional(l.Object({sessionId:l.String(),projectPath:l.String()})),taskDelivery:l.Optional(KF),taskIsolation:l.Optional(si),taskSourceProjectPath:l.Optional(l.String()),taskWorktreePath:l.Optional(l.String()),taskWorktreeBranch:l.Optional(l.String()),taskBaseCommit:l.Optional(l.String()),taskDiffStat:l.Optional(GF),taskQueuePosition:l.Optional(l.Integer({minimum:1})),taskQueueDepth:l.Optional(l.Integer({minimum:0})),taskConcurrencyLimit:l.Optional(l.Integer({minimum:1})),archivedAt:l.Optional(l.String()),archivedBySessionId:l.Optional(l.String()),pendingInteraction:l.Optional(YF),messageCount:l.Number(),firstMessageTime:l.String(),lastMessageTime:l.String(),hasErrors:l.Boolean()})),ZF=W(l.Object({sessions:l.Array(Jn),nextCursor:l.Optional(l.String())})),e2=W(l.Object({session:Jn,archivedSessionIds:l.Array(l.String())})),t2=W(l.Object({session:Jn,restoredSessionIds:l.Array(l.String())}));W(l.Object({version:l.Literal(1),sessionId:l.String(),goalId:l.String(),objective:l.String(),status:me(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"]),tokenBudget:l.Optional(l.Number()),tokensUsed:l.Number(),timeUsedSeconds:l.Number(),continuationCount:l.Number(),statusReason:l.Optional(l.String()),completionVerification:l.Optional(l.Object({attempt:l.Integer({minimum:1}),status:me(["pending","pass","fail","partial"]),requestedAt:l.String(),completedAt:l.Optional(l.String()),verifierSessionId:l.Optional(l.String()),summary:l.Optional(l.String()),evidenceSha256:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"}))})),createdAt:l.String(),updatedAt:l.String()}));const Fd=W(l.Object({role:Md,content:Tx,metadata:l.Optional(l.Unknown()),reasoningContent:l.Optional(l.String()),thinkingContent:l.Optional(l.String()),tool_call_id:l.Optional(l.String()),name:l.Optional(l.String()),tool_calls:l.Optional(l.Unknown())})),n2=W(l.Object({session:Jn,messages:l.Array(Fd)})),Ax=W(me(["conversation","code","both"])),Px=W(l.Object({messageId:l.String(),preview:l.String(),createdAt:l.String(),fileCount:l.Integer({minimum:0})}));W(l.Object({targetMessageId:l.String({minLength:1}),mode:Vn(Ax,"conversation")}));const r2=W(l.Object({checkpoint:Px,mode:Ax,removedTurns:l.Integer({minimum:1}),restoredFiles:l.Array(l.String()),messages:l.Array(Fd)})),s2=me(["running","completed","failed","cancelled"]),Ac=W(l.Object({id:l.String(),subagentType:l.String(),description:l.String(),status:s2,background:l.Boolean(),rootAgentId:l.String(),resumedFrom:l.Optional(l.String()),resumeDepth:l.Integer({minimum:0}),createdAt:l.Number(),lastActiveAt:l.Number(),completedAt:l.Optional(l.Number()),restartRecovery:l.Optional(l.Object({outcome:me(["completed","interrupted","failed"]),recoveredAt:l.Number()})),result:l.Optional(l.Object({success:l.Boolean(),message:l.String(),error:l.Optional(l.String()),verificationCommands:l.Optional(l.Array(l.String())),verificationVerdict:l.Optional(me(["pass","fail","partial"])),modifiedFiles:l.Optional(l.Array(l.String()))})),stats:l.Optional(l.Object({tokens:l.Optional(l.Number()),toolCalls:l.Optional(l.Number()),duration:l.Optional(l.Number())}))}));W(l.Object({prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"})}));const o2=W(l.Object({source:Ac,session:Ac})),Nx=W(l.Object({sessionId:l.String(),projectPath:l.String()})),Ox=W(l.Object({path:l.String(),name:l.String(),gitBranch:l.Optional(l.String()),available:l.Boolean(),isCurrent:l.Boolean(),boundAt:l.String()})),i2=W(l.Union([l.Object({cancelled:l.Literal(!0)}),l.Object({cancelled:l.Literal(!1),path:l.String({minLength:1})})])),zu=W(l.Object({type:l.String(),seq:l.Optional(l.Number()),properties:l.Record(l.String(),l.Unknown())})),Rx=l.Object({type:me(["file","image","url"]),path:l.Optional(l.String()),url:l.Optional(l.String()),content:l.Optional(l.String({maxLength:co})),mimeType:l.Optional(l.String()),name:l.Optional(l.String())}),$x=l.Record(l.String(),l.Unknown());W(l.Object({prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),title:l.Optional(l.String({minLength:1,maxLength:200})),projectPath:l.Optional(l.String()),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default"),attachments:l.Optional(l.Array(Rx,{maxItems:Ur})),outputSchema:l.Optional($x)}));const qu=W(l.Object({session:Jn,runId:l.String(),messageId:l.String(),status:me(["queued","running"]),queuePosition:l.Optional(l.Integer({minimum:1})),queueDepth:l.Optional(l.Integer({minimum:0})),maxConcurrentTasks:l.Optional(l.Integer({minimum:1}))}));W(l.Object({action:me(["apply","discard"])}));const Ld=W(l.Object({kind:me(["cron","interval","once"]),cron:l.Optional(l.String({minLength:1,maxLength:120})),intervalMs:l.Optional(l.Integer({minimum:6e4})),runAt:l.Optional(l.String({minLength:1,maxLength:40})),timezone:l.Optional(l.String({minLength:1,maxLength:80}))})),a2=W(l.Object({modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default")})),xs=W(l.Object({id:l.String(),title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),projectPath:l.String({minLength:1}),trigger:Ld,dispatch:a2,enabled:l.Boolean(),createdAt:l.String(),updatedAt:l.String(),nextRunAt:l.Union([l.String(),l.Null()]),expiresAt:l.Union([l.String(),l.Null()]),lastRunAt:l.Optional(l.String()),lastRunSessionId:l.Optional(l.String()),lastStatus:l.Optional(me(["queued","running","completed","failed","cancelled","interrupted","error"])),lastError:l.Optional(l.String()),runCount:l.Integer({minimum:0})}));W(l.Object({title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.String({minLength:1,maxLength:32e3,pattern:"\\S"}),projectPath:l.String({minLength:1}),trigger:Ld,modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:Vn(si,"worktree"),permissionMode:Vn(cs,"default"),enabled:Vn(l.Boolean(),!0)}));W(l.Object({title:l.Optional(l.String({minLength:1,maxLength:200})),prompt:l.Optional(l.String({minLength:1,maxLength:32e3,pattern:"\\S"})),trigger:l.Optional(Ld),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),isolation:l.Optional(si),permissionMode:l.Optional(cs),enabled:l.Optional(l.Boolean())}));const c2=W(l.Object({schedules:l.Array(xs)}));W(l.Object({content:l.String({maxLength:BF}),projectPath:l.Optional(l.String()),modelId:l.Optional(l.String({minLength:1,maxLength:500})),reasoningEffort:l.Optional(qs),serviceTier:l.Optional(Ks),responseVerbosity:l.Optional(Gs),communicationStyle:l.Optional(Or),permissionMode:l.Optional(cs),attachments:l.Optional(l.Array(Rx,{maxItems:Ur})),outputSchema:l.Optional($x)}));const l2=me(["completed","failed","aborted","timed_out","spawn_error"]),d2=W(l.Object({version:l.Literal(1),command:l.String(),status:l2,exitCode:l.Union([l.Integer(),l.Null()]),durationMs:l.Number({minimum:0}),stdout:l.String(),stderr:l.String(),stdoutOmittedBytes:l.Integer({minimum:0}),stderrOmittedBytes:l.Integer({minimum:0}),binaryOutput:l.Boolean(),truncated:l.Boolean()}));W(l.Object({command:l.String({minLength:1,maxLength:32*1024,pattern:"^(?![\\s\\S]*\\u0000)(?=[\\s\\S]*\\S)[\\s\\S]*$"}),projectPath:l.Optional(l.String())}));const u2=W(l.Object({executionId:l.String(),messageId:l.String(),record:d2,auxiliary:l.Boolean(),delivery:l.Optional(me(["current_turn","next_turn"])),queued:l.Optional(l.Integer({minimum:0}))}));W(l.Object({projectPath:l.String(),kind:me(["uncommitted","base","commit"]),ref:l.Optional(l.String({maxLength:200})),instructions:l.Optional(l.String({maxLength:4e3})),modelId:l.Optional(l.String({minLength:1,maxLength:200}))}));const f2=W(l.Object({reviewId:l.String(),status:l.Literal("running")}));W(l.Object({messageId:l.String(),role:Md,content:l.String(),timestamp:l.String()}));W(l.Object({approved:l.Boolean(),remember:l.Optional(l.Boolean()),scope:l.Optional(me(["once","session","project"])),targetMode:l.Optional(cs),feedback:l.Optional(l.String()),answers:l.Optional(l.Record(l.String(),l.Union([l.String(),l.Array(l.String())]))),elicitation:l.Optional(l.Object({action:me(["accept","decline","cancel"]),content:l.Optional(l.Record(l.String(),l.Union([l.String({maxLength:4e3}),l.Number(),l.Boolean(),l.Array(l.String({maxLength:1e3}),{maxItems:100})]),{maxProperties:32}))}))}));const p2=W(l.Object({id:Or,name:l.String({minLength:1,maxLength:80}),description:l.String({minLength:1,maxLength:256}),source:me(["built-in","user","project","plugin"]),contentSha256:l.Optional(l.String({pattern:"^[a-f0-9]{64}$"}))}));W(l.Object({id:l.String(),displayName:l.Optional(l.String()),provider:l.String(),model:l.String(),contextWindow:l.Optional(l.Number()),maxTokens:l.Optional(l.Number()),reasoning:l.Optional(l.Boolean()),supportedReasoningEfforts:l.Optional(l.Array(me(["off","minimal","low","medium","high","xhigh","max"]))),supportedServiceTiers:l.Optional(l.Array(me(["standard","fast","flex"]))),supportedResponseVerbosities:l.Optional(l.Array(me(["low","medium","high"]))),communicationStyles:l.Optional(l.Array(p2,{maxItems:36})),input:l.Optional(l.Array(me(["text","image"]))),overrides:l.Optional(l.Object({baseUrl:l.Optional(l.String()),temperature:l.Optional(l.Number()),maxOutputTokens:l.Optional(l.Number()),timeout:l.Optional(l.Number()),streamIdleTimeout:l.Optional(l.Number({minimum:1e3}))}))}));W(me(["vs-dark","vs-light","hc-black"]));const m2=W(me(["light","dark","system"])),h2=W(l.Object({language:l.String(),codeTheme:l.String(),uiTheme:m2,autoSaveSessions:l.Boolean(),notifyBuild:l.Boolean(),notifyErrors:l.Boolean(),notifySounds:l.Boolean(),privacyTelemetry:l.Boolean(),privacyCrash:l.Boolean(),communicationStyle:l.Optional(Or)}));W(l.Partial(h2));async function dr(e,t){const n=await fetch(e,t),r=await n.json().catch(()=>{});if(!n.ok){const s=r,o=s!=null&&s.error&&typeof s.error=="object"&&!Array.isArray(s.error)?s.error:void 0,i=typeof(s==null?void 0:s.error)=="string"?s.error:typeof(o==null?void 0:o.message)=="string"?o.message:typeof(s==null?void 0:s.message)=="string"?s.message:n.statusText||`Request failed (${n.status})`;throw new Error(i)}return r}const se="",Ku=1e4,g2=l.Array(Jn),b2=l.Array(Ox),k2=l.Array(Fd),x2=l.Array(Px),y2=l.Array(Ac),w2=l.Object({cwd:l.String(),gitBranch:l.Optional(l.String()),taskAdmission:l.Optional(l.Object({inFlight:l.Integer({minimum:0}),queued:l.Integer({minimum:0}),maxConcurrent:l.Integer({minimum:1}),maxQueued:l.Integer({minimum:1})}))}),v2=e=>Array.isArray(e)?e:e==null?"":typeof e=="string"?e:JSON.stringify(e),S2=()=>{const e=new Date,t=String(e.getFullYear()).slice(-2),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`Session ${t}-${n}-${r} ${s}:${o}`};function I2(e){const t=Nx.parse(e);return`projectPath=${encodeURIComponent(t.projectPath)}`}function mt(e,t){const n=I2(t);return`${e}${e.includes("?")?"&":"?"}${n}`}function Gu(e){return{"x-blade-directory":Nx.parse(e).projectPath}}const Wa=(e,t,n)=>({id:`history-${t}-${n}`,role:e.role,content:v2(e.content),timestamp:n,metadata:e.metadata&&typeof e.metadata=="object"?e.metadata:void 0,tool_call_id:e.tool_call_id,name:e.name,tool_calls:e.tool_calls,thinkingContent:e.thinkingContent??e.reasoningContent}),ee={listProjects:async()=>{const e=await fetch(`${se}/projects`);if(!e.ok)throw new Error("Failed to load projects");return lr(b2,await e.json())},bindProject:async e=>{var n;const t=await fetch(`${se}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to bind project")}return Ox.parse(await t.json())},pickProjectDirectory:async()=>lr(i2,await dr(`${se}/projects/pick`,{method:"POST"})),unbindProject:async e=>{if(!(await fetch(`${se}/projects?path=${encodeURIComponent(e)}`,{method:"DELETE"})).ok)throw new Error("Failed to unbind project")},listSessions:async()=>{const e=await fetch(`${se}/sessions`);if(!e.ok)throw new Error("Failed to load sessions");return lr(g2,await e.json())},listSessionPage:async(e,t=50,n=!1)=>{const r=new URLSearchParams({limit:String(t)});e&&r.set("cursor",e),n&&r.set("archived","true");const s=await fetch(`${se}/sessions/catalog?${r.toString()}`);if(!s.ok)throw new Error("Failed to load session catalog");return ZF.parse(await s.json())},getSession:async e=>Jn.parse(await dr(mt(`${se}/sessions/${e.sessionId}`,e))),createSession:async(e,t)=>{const n=await fetch(`${se}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e,title:t||S2()})});if(!n.ok)throw new Error("Failed to create session");return Jn.parse(await n.json())},startCodeReview:async(e,t)=>{var r,s;const n=await fetch(`${se}/sessions/${e.sessionId}/review`,{method:"POST",headers:{"Content-Type":"application/json",...Gu(e)},body:JSON.stringify({projectPath:e.projectPath,...t})});if(!n.ok){const o=await n.json().catch(()=>{}),i=((r=o==null?void 0:o.error)==null?void 0:r.code)==="CONFLICT"?He("taskHome.review.conflict"):((s=o==null?void 0:o.error)==null?void 0:s.code)==="BAD_REQUEST"?He("taskHome.review.invalidTarget"):He("taskHome.review.startFailed");throw new Error(i)}return f2.parse(await n.json())},getWorkspaceInfo:async()=>lr(w2,await dr(`${se}/global/info`)),createTask:async e=>{var n;const t=await fetch(`${se}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to dispatch task")}return qu.parse(await t.json())},retryTask:async e=>{var n;const t=await fetch(mt(`${se}/tasks/${e.sessionId}/retry`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to retry task")}return qu.parse(await t.json())},deliverTask:async(e,t)=>{var r;const n=await fetch(mt(`${se}/tasks/${e.sessionId}/delivery`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:t})});if(!n.ok){const s=await n.json().catch(()=>{});throw new Error(((r=s==null?void 0:s.error)==null?void 0:r.message)||"Failed to deliver task changes")}return Jn.parse(await n.json())},getTaskDiff:async e=>{var n;const t=await fetch(mt(`${se}/tasks/${e.sessionId}/diff`,e));if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to load task diff")}return VF.parse(await t.json())},deleteSession:async e=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}`,e),{method:"DELETE"})).ok)throw new Error("Failed to delete session")},archiveSession:async e=>e2.parse(await dr(mt(`${se}/sessions/${e.sessionId}/archive`,e),{method:"POST"})),unarchiveSession:async e=>t2.parse(await dr(mt(`${se}/sessions/${e.sessionId}/unarchive`,e),{method:"POST"})),exportSessionMarkdown:async(e,t=!1)=>{var d,f;const n=mt(`${se}/sessions/${e.sessionId}/export`,e),r=t?`${n}&includeReasoning=true`:n,s=await fetch(r);if(!s.ok){const m=await s.json().catch(()=>{});throw new Error(((d=m==null?void 0:m.error)==null?void 0:d.message)||"Failed to export session")}const o=s.headers.get("content-disposition")??"",i=((f=/filename="([A-Za-z0-9._-]+)"/.exec(o))==null?void 0:f[1])??`blade-session-${e.sessionId.slice(0,12)}.md`,u=s.headers.get("x-blade-content-sha256")??"";if(!/^[a-f0-9]{64}$/.test(u))throw new Error("Session export is missing its integrity hash");const p=m=>{const h=s.headers.get(m);if(h===null)throw new Error(`Session export is missing its ${m} header`);const k=Number(h);if(!Number.isInteger(k)||k<0)throw new Error(`Session export has an invalid ${m} header`);return k};return{filename:i,markdown:await s.text(),contentSha256:u,messageCount:p("x-blade-export-messages"),activityCount:p("x-blade-export-activities"),redactionCount:p("x-blade-export-redactions")}},updateSession:async(e,t)=>{if(!(await fetch(`${se}/sessions/${e.sessionId}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,projectPath:e.projectPath})})).ok)throw new Error("Failed to update session")},getMessages:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/message`,e));if(!t.ok)throw new Error("Failed to load messages");const n=lr(k2,await t.json()),r=Date.now();return n.map((s,o)=>Wa(s,o,r))},sendMessage:async(e,t,n)=>{var s;const r=await fetch(`${se}/sessions/${e.sessionId}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,permissionMode:n,projectPath:e.projectPath})});if(!r.ok){const o=await r.json().catch(()=>{}),i=((s=o==null?void 0:o.error)==null?void 0:s.message)??(o==null?void 0:o.reason);throw new Error(i||"Failed to send message")}return r.json()},executeUserShellCommand:async(e,t)=>u2.parse(await dr(`${se}/sessions/${e.sessionId}/shell`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({command:t,projectPath:e.projectPath})})),abortSession:async e=>{var n;const t=await fetch(mt(`${se}/sessions/${e.sessionId}/abort`,e),{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||"Failed to stop task")}},getGoal:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e));if(!t.ok)throw new Error("Failed to load goal");return(await t.json()).goal},createGoal:async(e,t,n,r)=>{const s=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({objective:t,tokenBudget:n,permissionMode:r})});if(!s.ok)throw new Error("Failed to create goal");return s.json()},updateGoal:async(e,t)=>{const n=await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok)throw new Error("Failed to update goal");return n.json()},clearGoal:async e=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}/goal`,e),{method:"DELETE"})).ok)throw new Error("Failed to clear goal")},listRewindCheckpoints:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/rewind`,e));if(!t.ok)throw new Error("Failed to load rewind checkpoints");const n=await t.json();return lr(x2,n.checkpoints)},rewindSession:async(e,t,n)=>{const r=await fetch(mt(`${se}/sessions/${e.sessionId}/rewind`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetMessageId:t,mode:n})});if(!r.ok)throw new Error("Failed to rewind session");const s=r2.parse(await r.json()),o=Date.now();return{...s,messages:s.messages.map((i,u)=>Wa(i,u,o))}},listSubagents:async e=>{const t=await fetch(mt(`${se}/sessions/${e.sessionId}/subagents`,e));if(!t.ok)throw new Error("Failed to load subagents");const n=await t.json();return lr(y2,n.subagents)},resumeSubagent:async(e,t,n)=>{const r=await fetch(mt(`${se}/sessions/${e.sessionId}/subagents/${encodeURIComponent(t)}/resume`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:n})});if(!r.ok){const s=await r.json().catch(()=>{});throw new Error((s==null?void 0:s.message)||"Failed to resume subagent")}return o2.parse(await r.json())},forkSession:async e=>{const t=await fetch(`${se}/sessions/${e.sessionId}/fork`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectPath:e.projectPath})});if(!t.ok)throw new Error("Failed to fork session");const n=n2.parse(await t.json()),r=Date.now();return{session:n.session,messages:n.messages.map((s,o)=>Wa(s,o,r))}},openEventSubscription:async(e,t,n)=>{const r=(n==null?void 0:n.maxRetries)??5,s=n==null?void 0:n.onConnectionChange,o=n==null?void 0:n.onConnectionStateChange;let i=null,u=0,p=null,d=Date.now(),f=null,m=null,h=!1,k=!1,x=0,C,T,b=!1;const A=new Promise((P,z)=>{C=P,T=z}),N=()=>{f&&(clearInterval(f),f=null)},R=()=>{m&&(clearTimeout(m),m=null)},V=()=>{i==null||i.close(),i=null},j=()=>{p&&(clearTimeout(p),p=null),N(),R(),V()},I=()=>{b||(b=!0,R(),C())},O=P=>{b||(b=!0,j(),T(P))},B=()=>{if(h||u>=r){u>=r&&(console.error(`SSE max retries (${r}) reached, giving up`),o==null||o("offline"));return}u++,o==null||o("reconnecting");const P=Math.min(1e3*Math.pow(2,u-1),3e4);console.log(`SSE reconnecting in ${P}ms (attempt ${u}/${r})`),p=setTimeout(()=>{re().catch(z=>{console.error("SSE reconnect failed",z),s==null||s(!1),B()})},P)},Z=()=>{u=0,d=Date.now(),s==null||s(!0),o==null||o("connected"),N(),f=setInterval(()=>{Date.now()-d>45e3&&(console.warn("SSE heartbeat timeout, reconnecting..."),N(),V(),s==null||s(!1),o==null||o("reconnecting"),B())},15e3),k||(k=!0,I())},re=async()=>{if(h)return;V();const P=mt(`${se}/sessions/${e.sessionId}/events`,e),z=x>0?`${P}${P.includes("?")?"&":"?"}lastEventId=${x}`:P;i=new EventSource(z),k||(R(),m=setTimeout(()=>{o==null||o("offline"),O(new Error("Timed out waiting for event subscription readiness"))},Ku)),i.onmessage=J=>{try{const he=JSON.parse(J.data);typeof he.seq=="number"&&he.seq>x&&(x=he.seq);const $e=zu.parse(he);if(d=Date.now(),$e.type==="connected"){$e.properties.sessionId===e.sessionId&&$e.properties.projectPath===e.projectPath&&(typeof $e.properties.status=="string"&&t({type:"session.status",properties:$e.properties}),Z());return}if($e.type==="heartbeat")return;t($e)}catch(he){console.error("Failed to parse SSE event:",J.data,he)}},i.onerror=()=>{if(h)return;const J=(i==null?void 0:i.readyState)===EventSource.CLOSED;if(N(),V(),J){s==null||s(!1),o==null||o("offline"),k||O(new Error("Event subscription closed before it was ready"));return}if(!k){o==null||o("offline"),O(new Error("Failed to open event subscription"));return}s==null||s(!1),B()}};return o==null||o("connecting"),re().catch(P=>{o==null||o("offline"),O(P instanceof Error?P:new Error("Failed to open event subscription"))}),await A,()=>{h=!0,p&&(clearTimeout(p),p=null),j(),s==null||s(!1)}},openTaskEventSubscription:async(e,t)=>{const n=t==null?void 0:t.onConnectionChange,r=t==null?void 0:t.onConnectionStateChange,s=new EventSource(`${se}/events`);let o=!1,i=!1,u,p,d;const f=new Promise((h,k)=>{p=h,d=k}),m=()=>{o||(o=!0,u!==void 0&&(clearTimeout(u),u=void 0),s.close(),n==null||n(!1),r==null||r("offline"))};return r==null||r("connecting"),u=setTimeout(()=>{i||o||(m(),d(new Error("Timed out waiting for global task events")))},Ku),s.onmessage=h=>{try{const k=zu.parse(JSON.parse(h.data));if(k.type==="connected"){i||(i=!0,u!==void 0&&(clearTimeout(u),u=void 0),p()),n==null||n(!0),r==null||r("connected");return}if(k.type==="heartbeat")return;e(k)}catch(k){console.error("Failed to parse global task event:",h.data,k)}},s.onerror=()=>{n==null||n(!1),r==null||r(i?"reconnecting":"offline"),!i&&!o&&(m(),d(new Error("Failed to open global task events")))},await f,m},respondPermission:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r.toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to permission")}},respondToConfirmation:async(e,t,n)=>{if(!(await fetch(mt(`${se}/sessions/${e.sessionId}/confirmation/${t}`,e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:n})})).ok)throw new Error("Failed to respond to confirmation")},respondToQuestion:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:!0,answers:n})});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to question")}},respondToElicitation:async(e,t,n)=>{var o;const r=new URLSearchParams({sessionId:e.sessionId,projectPath:e.projectPath}),s=await fetch(`${se}/permissions/${t}?${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({approved:n.action==="accept",elicitation:n})});if(!s.ok){const i=await s.json().catch(()=>{});throw new Error(((o=i==null?void 0:i.error)==null?void 0:o.message)||"Failed to respond to MCP elicitation")}},getGitInfo:async e=>{const t=await fetch(`${se}/suggestions/git-info`,{headers:Gu(e)});if(!t.ok)throw new Error("Failed to get git info");return t.json()},listSchedules:async()=>{var n;const e=await fetch(`${se}/schedules`);if(!e.ok){const r=await e.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.loadFailed"))}return c2.parse(await e.json()).schedules},createSchedule:async e=>{var n;const t=await fetch(`${se}/schedules`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.createFailed"))}return xs.parse(await t.json())},updateSchedule:async(e,t)=>{var r;const n=await fetch(`${se}/schedules/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const s=await n.json().catch(()=>{});throw new Error(((r=s==null?void 0:s.error)==null?void 0:r.message)||He("schedule.error.updateFailed"))}return xs.parse(await n.json())},deleteSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}`,{method:"DELETE"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.deleteFailed"))}},enableSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/enable`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.toggleFailed"))}return xs.parse(await t.json())},disableSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/disable`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.toggleFailed"))}return xs.parse(await t.json())},runSchedule:async e=>{var n;const t=await fetch(`${se}/schedules/${encodeURIComponent(e)}/run`,{method:"POST"});if(!t.ok){const r=await t.json().catch(()=>{});throw new Error(((n=r==null?void 0:r.error)==null?void 0:n.message)||He("schedule.error.runFailed"))}return xs.parse(await t.json())}},Wu=e=>{let t;const n=new Set,r=(d,f)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const h=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(k=>k(t,h))}},s=()=>t,u={setState:r,getState:s,getInitialState:()=>p,subscribe:d=>(n.add(d),()=>n.delete(d))},p=t=e(r,s,u);return u},j2=e=>e?Wu(e):Wu,C2=e=>e;function E2(e,t=C2){const n=eo.useSyncExternalStore(e.subscribe,eo.useCallback(()=>t(e.getState()),[e,t]),eo.useCallback(()=>t(e.getInitialState()),[e,t]));return eo.useDebugValue(n),n}const Vu=e=>{const t=j2(e),n=r=>E2(t,r);return Object.assign(n,t),n},oi=e=>e?Vu(e):Vu,T2=(e,t)=>({messages:[],setMessages:n=>e({messages:n}),addMessage:n=>e(r=>({messages:[...r.messages,n]})),updateMessage:(n,r)=>e(s=>({messages:s.messages.map(o=>o.id===n?{...o,...r}:o)})),appendDelta:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent||Bn();return s==="before"?{...i,agentContent:{...du(u,r),textBefore:u.textBefore+r}}:{...i,agentContent:{...du(u,r),textAfter:u.textAfter+r}}})})),appendToolCall:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:lw(i,r)}})})),updateToolCall:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent;return u?{...i,agentContent:{...u,toolCalls:u.toolCalls.map(p=>p.toolCallId===r?{...p,...s}:p)}}:i})})),appendThinking:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...cw(i,r),thinkingContent:i.thinkingContent+r}}})})),setConfirmation:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,confirmation:r}}})})),setQuestion:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,question:r}}})})),setElicitation:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,elicitation:r}}})})),setSubagent:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:r?aw(i,r):lu(i,[])}})})),updateSubagent:(n,r,s)=>e(o=>({messages:o.messages.map(i=>{if(i.id!==n)return i;const u=i.agentContent||Bn(),p=[...iw(u)],d=p.findIndex(h=>h.id===r||h.sessionId===r);if(d===-1)return i;const f=p[d],m=typeof s=="function"?s(f):s;return p[d]={...f,...m,id:f.id},{...i,agentContent:lu(u,p,p[d].id)}})})),setTasks:(n,r)=>e(s=>({messages:s.messages.map(o=>{if(o.id!==n)return o;const i=o.agentContent||Bn();return{...o,agentContent:{...i,tasks:r}}})})),replaceTemp:(n,r)=>e(s=>{const o=s.messages.findIndex(u=>u.content===n&&u.role==="user");if(o===-1)return s;const i=[...s.messages];return i[o]=r,{messages:i}})}),Va=60,A2=[/<system-reminder>[\s\S]*?<\/system-reminder>/gi,/<file[^>]*>[\s\S]*?<\/file>/gi,/<hooks_context>[\s\S]*?<\/hooks_context>/gi,/<[^>]+>/g];function P2(e){let t=e;for(const p of A2)t=t.replace(p," ");t=t.replace(/^\s*\/[a-zA-Z][\w-]*\s+/,"");const n=t.replace(/\s+/g," ").trim();if(!n)return"";const r=n.match(/^(.+?)(?:[.!?]\s|[。!?](?=\S|$)|$)/);let s=r&&r[1].length>=6?r[1]:n;if(s=s.trim().replace(/[\s.。!!??,,;;::-]+$/,""),s.length<=Va)return s;const o=s.slice(0,Va),i=o.lastIndexOf(" ");return`${(i>Va*.6?o.slice(0,i):o).trimEnd()}…`}const Ii="/.blade/worktrees/",N2=/-[a-f0-9]{8,}$/i,O2=/^(.+?(?:test|config))-[a-z0-9]{6,}$/i;function R2(e){const t=e.indexOf(Ii);if(t<0)return null;const n=e.slice(t+Ii.length).split("/")[0];return n?`${e.slice(0,t+Ii.length)}${n}`:null}function $2(e){if(!e.includes("/tmp/")&&!e.includes("/T/"))return null;const t=e.split("/"),n=t.at(-1),r=n==null?void 0:n.match(O2);return r!=null&&r[1]?(t[t.length-1]=r[1],t.join("/")):null}function Pc(e){const t=e.split("/").filter(Boolean).at(-1)||e;return e.includes(Ii)?t.replace(N2,""):t}function ii(e,t=null){const n=e.taskSourceProjectPath,r=$2(n||e.projectPath);if(r)return r;if(n)return n;const s=R2(e.projectPath);if(!s)return e.projectPath;const o=Pc(s);return t&&o===Pc(t)?t:s}function M2(e,t,n=null){return t?e.filter(r=>ii(r,n)===t):e}const Nc=fr.AUTO_EDIT;let Ja=0;const At=oi((e,t)=>({currentModelId:null,currentMode:Nc,configuredModels:[],availableModels:[],isLoading:!1,hasLoaded:!1,loadedWorkspacePath:null,error:null,loadModels:async n=>{const r=n??null;if(t().isLoading&&t().loadedWorkspacePath===r)return;const s=++Ja;e({isLoading:!0,hasLoaded:!1,loadedWorkspacePath:r,error:null});try{const o=await dr("/models",n?{headers:{"x-blade-directory":n}}:void 0);if(s!==Ja||t().loadedWorkspacePath!==r)return;const i=o.current;e({currentModelId:(i==null?void 0:i.id)||null,configuredModels:o.configured||[],availableModels:o.available||[],isLoading:!1,hasLoaded:!0})}catch(o){if(s!==Ja||t().loadedWorkspacePath!==r)return;e({error:o instanceof Error?o.message:"Failed to load models",isLoading:!1,hasLoaded:!0})}},setCurrentModel:async(n,r)=>{if(e({error:null}),r){e({currentModelId:n});return}try{await dr("/configs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:{currentModelId:n},options:{scope:"global"}})}),e({currentModelId:n})}catch(s){throw e({error:s instanceof Error?s.message:"Failed to set model"}),s}},setMode:n=>e({currentMode:n}),resetMode:()=>e({currentMode:Nc})})),Qa="__temp__",no={inputTokens:0,outputTokens:0,totalTokens:0,maxContextTokens:0,isDefaultMaxTokens:!0,totalInputTokens:0,totalOutputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,estimatedCostUsd:0};function de(e){return{sessionId:e.sessionId,projectPath:e.projectPath}}function Le(e){return JSON.stringify([e.projectPath,e.sessionId])}function oe(e,t){return!e||!t?e===t:e.sessionId===t.sessionId&&e.projectPath===t.projectPath}function Dd(e,t){return e.find(n=>oe(de(n),t))}function kn(e,t){const n=de(t),r=e.findIndex(o=>oe(de(o),n));if(r===-1)return[...e,t];const s=[...e];return s[r]=t,s}function Ju(e,t){return e.filter(n=>!oe(de(n),t))}const Mx="blade.tasks.unread",_i="blade:open-session";function Fx(e){return e==="completed"||e==="failed"||e==="interrupted"}function F2(e,t,n){return!Fx(t)||n?!1:e!==t&&!(e==="completed"||e==="failed"||e==="interrupted"||e==="cancelled")}function L2(e=typeof localStorage>"u"?null:localStorage){if(!e)return[];try{const t=JSON.parse(e.getItem(Mx)??"[]");return Array.isArray(t)?[...new Set(t.filter(n=>typeof n=="string"))]:[]}catch{return[]}}function lo(e,t=typeof localStorage>"u"?null:localStorage){if(t)try{t.setItem(Mx,JSON.stringify([...new Set(e)]))}catch{}}function Qu(e,t){const n=new Set(t.map(r=>Le({sessionId:r.sessionId,projectPath:r.projectPath})));return e.filter(r=>n.has(r))}function Yu(e){if(typeof document>"u"||document.visibilityState!=="hidden"||typeof Notification>"u"||Notification.permission!=="granted")return!1;const t=new Notification(e.title,{body:e.body,icon:"/favicon.svg",tag:`blade-task-${Le(e.ref)}`});return t.onclick=()=>e.onOpen(e.ref),!0}function D2(e){if(typeof window>"u")return!1;const t=window.AudioContext??window.webkitAudioContext;if(!t)return!1;try{const n=new t,r=n.createOscillator(),s=n.createGain();return r.type="sine",r.frequency.value=e==="completed"?660:330,s.gain.setValueAtTime(1e-4,n.currentTime),s.gain.exponentialRampToValueAtTime(.045,n.currentTime+.015),s.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(s),s.connect(n.destination),r.start(),r.stop(n.currentTime+.2),r.onended=()=>void n.close(),!0}catch{return!1}}const _2=e=>{var n;const t=[];e.content.trim()&&t.push({type:"text",text:e.content});for(const r of e.attachments??[])r.type==="image"&&t.push({type:"image_url",image_url:{url:r.content}});return t.length===0?e.content:t.length===1&&((n=t[0])==null?void 0:n.type)==="text"?t[0].text:t},bi=()=>({eventUnsubscribe:null,sessionEventConnectionState:"idle",isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1}),Xu=()=>new Promise(e=>{globalThis.setTimeout(()=>{if(typeof window<"u"&&typeof window.requestIdleCallback=="function"){window.requestIdleCallback(()=>e(),{timeout:750});return}e()},350)}),U2=(e,t)=>{let n=0,r=0,s=0;const o=new Map,i=()=>(n+=1,n),u=d=>d===n,p=d=>{try{d()}catch(f){console.warn("Failed to clean up stale event subscription",f)}};return{sessions:[],archivedSessions:[],currentSessionId:null,currentSessionRef:null,forkingSessionRef:null,isTemporarySession:!1,isLoading:!1,catalogLoadState:"idle",catalogError:null,archivedCatalogLoadState:"idle",archivedCatalogError:null,error:null,errorContext:null,goal:null,setSessions:d=>e({sessions:d}),addSession:d=>e(f=>({sessions:kn(f.sessions,d)})),removeSession:d=>{const f=t();f.markTaskRead(d);const m=oe(f.currentSessionRef,d),h=oe(f.forkingSessionRef,d);(m||h)&&i(),m&&f.unsubscribeFromEvents(),e(k=>({sessions:Ju(k.sessions,d),currentSessionId:m?null:k.currentSessionId,currentSessionRef:m?null:k.currentSessionRef,messages:m?[]:k.messages,goal:m?null:k.goal,forkingSessionRef:h?null:k.forkingSessionRef,...m?bi():{}}))},setCurrentSession:d=>{i(),e({currentSessionId:(d==null?void 0:d.sessionId)??null,currentSessionRef:d,isTemporarySession:!1})},setTemporarySession:d=>e({isTemporarySession:d}),setLoading:d=>e({isLoading:d}),setError:d=>e({error:d,errorContext:null}),getNavigationVersion:()=>n,clearError:()=>e({error:null,errorContext:null}),setGoal:d=>e({goal:d}),startTemporarySession:d=>{i(),t().unsubscribeFromEvents(),At.getState().resetMode(),d&&t().selectProject(d),e({currentSessionId:Qa,currentSessionRef:null,isTemporarySession:!0,forkingSessionRef:null,isLoading:!1,messages:[],goal:null,tokenUsage:{...no},error:null,errorContext:null,...bi()})},loadSessions:async()=>{const d=++r,f=new Set(t().sessions.map(h=>Le(de(h)))),m=new Set;e({catalogLoadState:"loading",catalogError:null});try{let h,k=!0;do{const T=await ee.listSessionPage(h);if(d!==r)return;for(const b of T.sessions)m.add(Le(de(b)));if(e(b=>{const A=new Set(T.sessions.map(R=>Le(de(R))));return{sessions:k?[...T.sessions,...b.sessions.filter(R=>!A.has(Le(de(R))))]:T.sessions.reduce((R,V)=>kn(R,V),b.sessions),catalogLoadState:T.nextCursor?"hydrating":"ready"}}),k=!1,h=T.nextCursor,h&&(await Xu(),d!==r))return}while(h);if(d!==r)return;const x=t().sessions.filter(T=>{const b=Le(de(T));return m.has(b)||!f.has(b)}),C=Qu(t().unreadTaskKeys,x);lo(C),e({sessions:x,unreadTaskKeys:C,catalogLoadState:"ready",catalogError:null})}catch(h){if(d!==r)return;e({catalogLoadState:"error",catalogError:h.message})}},loadArchivedSessions:async()=>{const d=++s;e({archivedCatalogLoadState:"loading",archivedCatalogError:null});try{let f;const m=[];do{const h=await ee.listSessionPage(f,50,!0);if(d!==s)return;for(const k of h.sessions){const x=m.findIndex(C=>oe(de(C),de(k)));x===-1?m.push(k):m[x]=k}f=h.nextCursor,f&&(e({archivedCatalogLoadState:"hydrating"}),await Xu())}while(f);if(d!==s)return;e({archivedSessions:m,archivedCatalogLoadState:"ready",archivedCatalogError:null})}catch(f){if(d!==s)return;e({archivedCatalogLoadState:"error",archivedCatalogError:f.message})}},selectSession:async d=>{var h;const f=i();e({isLoading:!0,error:null,errorContext:null,forkingSessionRef:null});let m=null;try{const k=Dd(t().sessions,d),x=[];let C=!1;if(m=await t().prepareEventSubscription(d,V=>{C?t().handleEvent(V):x.push(V)}),!u(f)){p(m),m=null;return}const[T,b,A]=await Promise.all([ee.getMessages(d),ee.getGoal(d).catch(()=>null),k?Promise.resolve(k):ee.getSession(d)]);if(!u(f)){p(m),m=null;return}const N=hi(T),R=ii(A,t().selectedProjectPath??((h=t().taskWorkspaceInfo)==null?void 0:h.cwd)??null);t().boundProjects.some(V=>V.available&&V.path===R)&&t().selectProject(R),At.getState().setMode(A.permissionMode??Nc),e(V=>{var j;return{currentSessionId:d.sessionId,currentSessionRef:d,isTemporarySession:!1,messages:N,goal:b,isLoading:!1,tokenUsage:{...no},isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1,error:A.taskStatus==="failed"?((j=A.taskFailure)==null?void 0:j.message)??null:null,errorContext:A.taskStatus==="failed"&&A.taskFailure?{kind:"execution",sessionRef:d,failureCode:A.taskFailure.code}:null,sessions:kn(V.sessions,A)}}),t().markTaskRead(d),C=!0,t().replaceEventSubscription(m),m=null;for(const V of x)t().handleEvent(V)}catch(k){if(m&&p(m),!u(f))return;e({error:k.message,errorContext:{kind:"navigation",sessionRef:d},isLoading:!1})}},resyncSessionMessages:async d=>{const f=Le(d),m=o.get(f);if(m)return m;const h=n,k=Promise.resolve().then(async()=>{try{const x=await ee.getMessages(d);if(!u(h)||!oe(t().currentSessionRef,d))return;const C=hi(x);e(T=>({messages:C,sessions:T.sessions.map(b=>oe(de(b),d)?{...b,messageCount:C.length}:b)}))}catch(x){console.warn("Failed to resync terminal session messages",x)}finally{o.get(f)===k&&o.delete(f)}});return o.set(f,k),k},archiveSession:async d=>{var f;try{const m=await ee.archiveSession(d),h=new Set(m.archivedSessionIds),k=t(),x=((f=k.currentSessionRef)==null?void 0:f.projectPath)===d.projectPath&&h.has(k.currentSessionRef.sessionId);x&&(i(),k.unsubscribeFromEvents()),e(C=>{const T=C.sessions.filter(A=>A.projectPath!==d.projectPath||!h.has(A.sessionId)),b=Qu(C.unreadTaskKeys,T);return lo(b),{sessions:T,archivedSessions:kn(C.archivedSessions,m.session),unreadTaskKeys:b,currentSessionId:x?null:C.currentSessionId,currentSessionRef:x?null:C.currentSessionRef,messages:x?[]:C.messages,goal:x?null:C.goal,...x?bi():{}}}),await t().loadArchivedSessions()}catch(m){e({error:m.message,errorContext:{kind:"task_action",sessionRef:d}})}},unarchiveSession:async d=>{try{const f=await ee.unarchiveSession(d),m=new Set(f.restoredSessionIds);e(h=>({archivedSessions:h.archivedSessions.filter(k=>k.projectPath!==d.projectPath||!m.has(k.sessionId)),sessions:kn(h.sessions,f.session)})),await Promise.all([t().loadSessions(),t().loadArchivedSessions()])}catch(f){e({error:f.message,errorContext:{kind:"task_action",sessionRef:d}})}},deleteSession:async d=>{const f=t(),m=oe(f.currentSessionRef,d),h=oe(f.forkingSessionRef,d),k=m||h?i():null,x=m?k:null;h&&e({forkingSessionRef:null});try{await ee.deleteSession(d),t().markTaskRead(d);const C=t(),T=oe(C.currentSessionRef,d)&&(x===null||u(x));T&&(i(),C.unsubscribeFromEvents()),e(b=>({sessions:Ju(b.sessions,d),currentSessionId:T?null:b.currentSessionId,currentSessionRef:T?null:b.currentSessionRef,messages:T?[]:b.messages,goal:T?null:b.goal,...T?bi():{}}))}catch(C){if(x!==null&&(!u(x)||!oe(t().currentSessionRef,d)))return;e({error:C.message})}},updateSession:async(d,f)=>{try{await ee.updateSession(d,f),e(m=>({sessions:m.sessions.map(h=>h.sessionId===d.sessionId&&h.projectPath===d.projectPath?{...h,title:f}:h)}))}catch(m){e({error:m.message})}},forkSession:async d=>{const f=i(),m=de(d);e({forkingSessionRef:m,isLoading:!1,error:null});let h=null;try{const k=await ee.forkSession(d),x=de(k.session),C=hi(k.messages);if(e(T=>({sessions:kn(T.sessions,k.session)})),!u(f))return;if(h=await t().prepareEventSubscription(x),!u(f)){p(h),h=null;return}e({currentSessionId:x.sessionId,currentSessionRef:x,isTemporarySession:!1,messages:C,goal:null,tokenUsage:{...no},error:null,forkingSessionRef:null}),t().replaceEventSubscription(h),h=null}catch(k){if(h&&p(h),!u(f))return;e({error:k.message,forkingSessionRef:null})}},rewindSession:async(d,f)=>{const{currentSessionRef:m,isTemporarySession:h,isStreaming:k}=t();if(!m||h)return e({error:"No persisted session is available for rewind"}),!1;if(k)return e({error:"Stop the active run before rewinding"}),!1;const x=n;try{const C=await ee.rewindSession(m,d,f);if(!u(x)||!oe(t().currentSessionRef,m))return!1;const T=hi(C.messages);return e(b=>({messages:T,tokenUsage:{...no},error:null,currentRunId:null,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1,sessions:b.sessions.map(A=>A.sessionId===m.sessionId&&A.projectPath===m.projectPath?{...A,messageCount:T.length}:A)})),!0}catch(C){return!u(x)||!oe(t().currentSessionRef,m)||e({error:C.message}),!1}},sendMessage:async d=>{var B,Z,re,P;const{currentSessionId:f,currentSessionRef:m,isTemporarySession:h,isStreaming:k,addSession:x,addMessage:C}=t(),T=n,b=m,A={isStreaming:k,agentPhase:t().agentPhase,currentRunId:t().currentRunId};let N=m,R=f,V=b,j=null,I=null;const O=()=>u(T)&&oe(t().currentSessionRef,V);if(h||!R||R===Qa)try{const z=P2(d.content),J=await ee.createSession(t().selectedProjectPath??((B=t().taskWorkspaceInfo)==null?void 0:B.cwd)??void 0,z||void 0);if(x(J),!O())return!1;N=de(J),R=J.sessionId,e({currentSessionId:J.sessionId,currentSessionRef:N,isTemporarySession:!1}),V=N}catch(z){return O()&&e({error:z.message}),!1}if(!N||!R||R===Qa)return O()&&e({error:"Failed to create session"}),!1;try{if(!k){if(j=await t().prepareEventSubscription(N),!O())return p(j),j=null,!1;t().replaceEventSubscription(j),j=null}if(!O())return!1;const z=d.content.trim();if(z.startsWith("!")){if((((Z=d.attachments)==null?void 0:Z.length)??0)>0)throw new Error("User shell commands do not accept image attachments");const F=z.slice(1).trim();if(!F)throw new Error("User shell command cannot be empty");k||e({isStreaming:!0,agentPhase:"running",error:null,errorContext:null});const Q=await ee.executeUserShellCommand(N,F);return O()?(Q.auxiliary||e({isStreaming:!1,agentPhase:"idle"}),Q.delivery&&e({pendingSteeringCount:Q.queued??0,pendingInputDelivery:Q.delivery==="current_turn"?"current_turn":"next_turn"}),!0):!1}if((((re=d.attachments)==null?void 0:re.length)??0)===0&&(z==="/goal"||z.startsWith("/goal "))){I=`goal-command-${Date.now()}`,C({id:I,role:"user",content:z,timestamp:Date.now()});const F=z.slice(5).trim().split(/\s+/).filter(Boolean),Q=(P=F[0])==null?void 0:P.toLowerCase();if(!Q||Q==="status"){const Se=await ee.getGoal(N);return O()&&e({goal:Se}),O()}if(Q==="clear")return await ee.clearGoal(N),O()&&e({goal:null}),O();let L;if(Q==="pause")L=await ee.updateGoal(N,{action:"pause"});else if(Q==="resume")L=await ee.updateGoal(N,{action:"resume"});else if(Q==="edit"){const Se=F.slice(1).join(" ").trim();if(!Se)throw new Error("Usage: /goal edit <objective>");L=await ee.updateGoal(N,{action:"edit",objective:Se})}else{const Se=F.lastIndexOf("--budget");let Pe;if(Se>=0){const Lt=F[Se+1];if(!Lt||!/^[1-9]\d*$/.test(Lt))throw new Error("--budget requires a positive integer");Pe=Number(Lt),F.splice(Se,2)}const Ee=F.join(" ").trim();if(!Ee)throw new Error("Usage: /goal <objective>");const{currentMode:An}=At.getState();L=await ee.createGoal(N,Ee,Pe,An)}return O()?(e({goal:L.goal,...L.runId?{currentRunId:L.runId,isStreaming:!0,agentPhase:"running"}:{}}),!0):!1}I=`temp-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,C({id:I,role:"user",content:_2(d),timestamp:Date.now()}),e({isStreaming:!0,error:null,errorContext:null,recoveredSteeringCount:k?t().recoveredSteeringCount:0});const{currentMode:J,currentModelId:he}=At.getState(),{modelId:$e,...Ce}=d,ie=$e??he??void 0,Me=d.reasoningEffort,$=d.serviceTier,pe=d.responseVerbosity,ke=d.communicationStyle,Qe=ie&&!k?{...Ce,modelId:ie}:Ce,ct=await ee.sendMessage(N,Qe,J);return O()?(e({currentRunId:ct.runId,pendingSteeringCount:ct.status==="steering_queued"||ct.status==="follow_up_queued"?Math.max(0,ct.queued??1):t().pendingSteeringCount,pendingInputDelivery:ct.status==="steering_queued"?"current_turn":ct.status==="follow_up_queued"?"next_turn":t().pendingInputDelivery,sessions:(ie||Me||$||pe||ke)&&!k?t().sessions.map(F=>F.sessionId===N.sessionId&&F.projectPath===N.projectPath?{...F,...ie?{selectedModelId:ie}:{},...Me?{reasoningEffort:Me}:{},...$?{serviceTier:$}:{},...pe?{responseVerbosity:pe}:{},...ke?{communicationStyle:ke}:{}}:F):t().sessions}),!0):!1}catch(z){return j&&p(j),O()?I&&!t().messages.some(J=>J.id===I)?!0:(e(J=>({error:z.message,errorContext:{kind:"submission",sessionRef:N},messages:I?J.messages.filter(he=>he.id!==I):J.messages,...A})),!1):!1}},abortSession:async()=>{const{currentSessionRef:d,isStopping:f}=t();if(!d||f)return!1;e({isStopping:!0,error:null,errorContext:null});try{return await ee.abortSession(d),oe(t().currentSessionRef,d)?(t().unsubscribeFromEvents(),e({isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},currentAssistantMessageId:null,hasToolCalls:!1}),!0):!1}catch(m){return oe(t().currentSessionRef,d)&&e({isStopping:!1,error:m instanceof Error?m.message:"Failed to stop task",errorContext:{kind:"task_action",sessionRef:d}}),!1}},pauseGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{const m=await ee.updateGoal(d,{action:"pause"});if(!oe(t().currentSessionRef,d))return;e({goal:m.goal,error:null})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}},resumeGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{const m=await ee.updateGoal(d,{action:"resume"});if(!oe(t().currentSessionRef,d))return;e({goal:m.goal,error:null,...m.runId?{currentRunId:m.runId,isStreaming:!0,agentPhase:"running"}:{}})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}},editGoal:async d=>{const{currentSessionRef:f,isTemporarySession:m}=t();if(!f||m){e({error:"No persisted session is available for this goal"});return}try{const h=await ee.updateGoal(f,{action:"edit",objective:d});if(!oe(t().currentSessionRef,f))return;e({goal:h.goal,error:null,...h.runId?{currentRunId:h.runId,isStreaming:!0,agentPhase:"running"}:{}})}catch(h){if(!oe(t().currentSessionRef,f))return;e({error:h.message})}},clearGoal:async()=>{const{currentSessionRef:d,isTemporarySession:f}=t();if(!d||f){e({error:"No persisted session is available for this goal"});return}try{if(await ee.clearGoal(d),!oe(t().currentSessionRef,d))return;e({goal:null,error:null})}catch(m){if(!oe(t().currentSessionRef,d))return;e({error:m.message})}}}},B2=(e,t)=>{const n=new WeakMap;let r=null;return{isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,sessionEventConnectionState:"idle",currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,pendingSubagentCompletions:{},eventUnsubscribe:null,currentAssistantMessageId:null,hasToolCalls:!1,setStreaming:s=>e({isStreaming:s}),setAgentPhase:s=>e({agentPhase:s}),setRunId:s=>e({currentRunId:s}),prepareEventSubscription:async(s,o)=>{const i=o??uu(t,e);let u=null,p="connecting";return u=await ee.openEventSubscription(s,i,{onConnectionStateChange:d=>{p=d,u&&r===u&&e({sessionEventConnectionState:d})}}),n.set(u,p),u},replaceEventSubscription:s=>{const o=t().eventUnsubscribe;if(r=s,e({eventUnsubscribe:s,sessionEventConnectionState:s?n.get(s)??"connected":"idle"}),Ua.reset(),o&&o!==s)try{o()}catch(i){console.warn("Failed to clean up previous event subscription",i)}},setCurrentAssistantMessageId:s=>e({currentAssistantMessageId:s}),setHasToolCalls:s=>e({hasToolCalls:s}),startAgentResponse:s=>{e({currentAssistantMessageId:s,hasToolCalls:!1,isStreaming:!0,agentPhase:"running",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null})},endAgentResponse:()=>{Ua.drainAll(),e({currentAssistantMessageId:null,hasToolCalls:!1,isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null})},subscribeToEvents:async s=>{const o=await t().prepareEventSubscription(s);t().replaceEventSubscription(o)},reconnectSessionEvents:async()=>{const s=t().currentSessionRef;if(s){t().unsubscribeFromEvents(),e({sessionEventConnectionState:"connecting"});try{await t().subscribeToEvents(s)}catch(o){throw e({sessionEventConnectionState:"offline"}),o}}},unsubscribeFromEvents:()=>{const{eventUnsubscribe:s}=t();r=null,e({eventUnsubscribe:null,sessionEventConnectionState:"idle"});try{s==null||s()}catch(o){console.warn("Failed to clean up event subscription",o)}finally{Ua.reset()}},handleEvent:s=>{uu(t,e)(s)}}};function H2(e){var t;return((t=e.taskPromptSummary)==null?void 0:t.trimStart().startsWith("/review"))===!0}function _d(e,t){var r;const n=(r=e.taskStatusReason)==null?void 0:r.trim();if(H2(e)){if(e.taskStatus==="running")return t("taskHome.review.running");if(n!=null&&n.startsWith("Code review stale:"))return t("taskHome.review.stale");if(n==="Code review aborted")return t("taskHome.review.aborted");if(n==="Code review interrupted by process restart")return t("taskHome.review.interrupted");if(e.taskStatus==="failed")return t("taskHome.review.failed")}return e.taskFailure?t(Ef(e.taskFailure.code)):n==="user-cancel"?t("session.reason.cancelledByUser"):n||void 0}let Ya=0;function ki(e,t){const n=e.findIndex(s=>s.id===t.id);if(n===-1)return[...e,t];const r=e.slice();return r[n]=t,r}const z2=oi(e=>({schedules:[],isLoading:!1,hasLoaded:!1,error:null,loadSchedules:async()=>{const t=++Ya;e({isLoading:!0,error:null});try{const n=await ee.listSchedules();if(t!==Ya)return;e({schedules:n,isLoading:!1,hasLoaded:!0})}catch(n){if(t!==Ya)return;e({error:n instanceof Error?n.message:He("schedule.error.loadFailed"),isLoading:!1,hasLoaded:!0})}},createSchedule:async t=>{e({error:null});try{const n=await ee.createSchedule(t);return e(r=>({schedules:ki(r.schedules,n)})),n}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.createFailed")}),n}},updateSchedule:async(t,n)=>{e({error:null});try{const r=await ee.updateSchedule(t,n);return e(s=>({schedules:ki(s.schedules,r)})),r}catch(r){throw e({error:r instanceof Error?r.message:He("schedule.error.updateFailed")}),r}},deleteSchedule:async t=>{e({error:null});try{await ee.deleteSchedule(t),e(n=>({schedules:n.schedules.filter(r=>r.id!==t)}))}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.deleteFailed")}),n}},toggleSchedule:async(t,n)=>{e({error:null});try{const r=n?await ee.enableSchedule(t):await ee.disableSchedule(t);return e(s=>({schedules:ki(s.schedules,r)})),r}catch(r){throw e({error:r instanceof Error?r.message:He("schedule.error.toggleFailed")}),r}},runSchedule:async t=>{e({error:null});try{const n=await ee.runSchedule(t);return e(r=>({schedules:ki(r.schedules,n)})),n}catch(n){throw e({error:n instanceof Error?n.message:He("schedule.error.runFailed")}),n}}})),q2=e=>e==="system"?typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches:e==="dark",ji=e=>{if(typeof document>"u")return;const t=document.documentElement;if(t.classList.remove("light","dark"),e==="system"){const r=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";t.classList.add(r)}else t.classList.add(e)},on={language:"zh-CN",codeTheme:"dracula",uiTheme:"system",autoSaveSessions:!0,notifyBuild:!0,notifyErrors:!1,notifySounds:!1,privacyTelemetry:!1,privacyCrash:!0,communicationStyle:"auto"},bo=oi((e,t)=>({...on,isLoading:!1,error:null,loadSettings:async()=>{e({isLoading:!0,error:null});try{const n=await fetch("/configs");if(!n.ok)throw new Error(He("settings.general.loadError"));const r=await n.json(),s=r.uiTheme??on.uiTheme;e({language:r.language??on.language,codeTheme:r.codeTheme??on.codeTheme,uiTheme:s,autoSaveSessions:r.autoSaveSessions??on.autoSaveSessions,notifyBuild:r.notifyBuild??on.notifyBuild,notifyErrors:r.notifyErrors??on.notifyErrors,notifySounds:r.notifySounds??on.notifySounds,privacyTelemetry:r.privacyTelemetry??on.privacyTelemetry,privacyCrash:r.privacyCrash??on.privacyCrash,communicationStyle:r.communicationStyle??on.communicationStyle,isLoading:!1}),ji(s)}catch(n){e({error:n.message,isLoading:!1})}},updateSettings:async n=>{const r=t();e({...n,error:null}),n.uiTheme&&ji(n.uiTheme);try{if(!(await fetch("/configs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:n,options:{scope:"global"}})})).ok)throw new Error(He("settings.general.saveError"))}catch(s){e({language:r.language,codeTheme:r.codeTheme,uiTheme:r.uiTheme,autoSaveSessions:r.autoSaveSessions,notifyBuild:r.notifyBuild,notifyErrors:r.notifyErrors,notifySounds:r.notifySounds,privacyTelemetry:r.privacyTelemetry,privacyCrash:r.privacyCrash,communicationStyle:r.communicationStyle,error:s.message}),n.uiTheme&&ji(r.uiTheme)}}}));ji(on.uiTheme);const hL=()=>bo(e=>q2(e.uiTheme)),Lx="blade.projects.selected";function Zu(){return typeof localStorage>"u"?null:localStorage.getItem(Lx)}function xi(e){typeof localStorage<"u"&&localStorage.setItem(Lx,e)}const K2=new Set(["queued","running","completed","failed","cancelled","interrupted"]),Xa=new Set(["default","autoEdit","yolo","plan"]),ef=new Set(["auto","off","minimal","low","medium","high","xhigh","max"]),tf=new Set(["auto","standard","fast","flex"]),nf=new Set(["auto","low","medium","high"]),rf=new Set(["auto","pragmatic","friendly","explanatory"]);function G2(e){return typeof e=="string"&&K2.has(e)}function W2(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!["changedFiles","additions","deletions","commits"].some(r=>typeof t[r]!="number"||!Number.isInteger(t[r])||t[r]<0))return{changedFiles:t.changedFiles,additions:t.additions,deletions:t.deletions,commits:t.commits}}function sf(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e,n=dw(t.code);if(!(!n||typeof t.message!="string"||typeof t.retryable!="boolean"))return{code:n,message:He(Ef(n)),retryable:uw(n)}}function V2(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t=e;if(!(!["applied","discarded","conflicted"].includes(String(t.status))||typeof t.updatedAt!="string"))return{status:t.status,updatedAt:t.updatedAt,...typeof t.sourceCommit=="string"?{sourceCommit:t.sourceCommit}:{},...typeof t.changedFiles=="number"&&Number.isInteger(t.changedFiles)&&t.changedFiles>=0?{changedFiles:t.changedFiles}:{},...typeof t.message=="string"?{message:t.message}:{}}}function hs(e,t){return typeof e=="number"&&Number.isInteger(e)&&e>=t?e:void 0}const J2=(e,t)=>{let n=null,r=!1,s=!1,o=0;const i=new Map,u=d=>{const f=Le(d),m=++o;i.set(f,m),ee.getSession(d).then(h=>{i.get(f)===m&&e(k=>({sessions:kn(k.sessions,h)}))}).catch(()=>{i.get(f)===m&&t().loadSessions()}).finally(()=>{i.get(f)===m&&i.delete(f)})},p=d=>{const f=Le(d),m=++o;i.set(f,m),queueMicrotask(()=>{i.get(f)===m&&i.delete(f)})};return{taskEventsConnected:!1,taskEventConnectionState:"connecting",taskEventUnsubscribe:null,taskWorkspaceInfo:null,isTaskWorkspaceLoading:!1,taskWorkspaceError:null,boundProjects:[],selectedProjectPath:Zu(),isDispatchingTask:!1,isBindingProject:!1,cancellingTaskKeys:[],retryingTaskKeys:[],taskDeliveryActions:{},unreadTaskKeys:L2(),handleTaskEvent:d=>{if(d.type==="session.created"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;u({sessionId:j,projectPath:I});return}if(d.type==="session.deleted"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;const O={sessionId:j,projectPath:I};p(O),t().removeSession(O);return}if(d.type==="session.archived"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;const O={sessionId:j,projectPath:I};p(O),t().removeSession(O),t().loadArchivedSessions();return}if(d.type==="session.unarchived"){const j=d.properties.sessionId,I=d.properties.projectPath;if(typeof j!="string"||typeof I!="string")return;u({sessionId:j,projectPath:I}),t().loadArchivedSessions();return}if(d.type==="session.updated"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.title,B=d.properties.selectedModelId,Z=d.properties.permissionMode,re=d.properties.reasoningEffort,P=d.properties.serviceTier,z=d.properties.responseVerbosity,J=d.properties.communicationStyle;if(typeof j!="string"||typeof I!="string"||!(typeof O=="string"&&O.trim()||typeof B=="string"&&B.trim()||Xa.has(Z)||ef.has(re)||tf.has(P)||nf.has(z)||rf.has(J)))return;const he={sessionId:j,projectPath:I};if(oe(t().currentSessionRef,he)&&Xa.has(Z)&&At.getState().setMode(Z),!t().sessions.some(Ce=>oe(de(Ce),he))){u(he);return}e(Ce=>({sessions:Ce.sessions.map(ie=>oe({sessionId:ie.sessionId,projectPath:ie.projectPath},he)?{...ie,...typeof O=="string"&&O.trim()?{title:O}:{},...typeof B=="string"&&B.trim()?{selectedModelId:B}:{},...Xa.has(Z)?{permissionMode:Z}:{},...ef.has(re)?{reasoningEffort:re}:{},...tf.has(P)?{serviceTier:P}:{},...nf.has(z)?{responseVerbosity:z}:{},...rf.has(J)?{communicationStyle:J}:{}}:ie)}));return}if(d.type==="task.delivery"){const j=d.properties.sessionId,I=d.properties.projectPath,O=V2(d.properties.taskDelivery);if(typeof j!="string"||typeof I!="string"||!O)return;const B={sessionId:j,projectPath:I},Z=d.properties.taskWorktreeRemoved===!0;e(re=>({sessions:re.sessions.map(P=>oe(de(P),B)?{...P,taskDelivery:O,...Z?{taskWorktreePath:void 0,taskWorktreeBranch:void 0}:{},lastMessageTime:typeof d.properties.updatedAt=="string"?d.properties.updatedAt:P.lastMessageTime}:P)}));return}if(d.type==="interaction.pending"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.interactionType,B=d.properties.requestId;if(typeof j!="string"||typeof I!="string"||O!=="permission"&&O!=="question"&&O!=="elicitation"||typeof B!="string"||!B)return;const Z={sessionId:j,projectPath:I},re=t().sessions.find(z=>oe(de(z),Z));if(!re){t().loadSessions();return}if(e(z=>({sessions:z.sessions.map(J=>oe(de(J),Z)?{...J,pendingInteraction:{type:O,requestId:B}}:J)})),!(typeof document<"u"&&document.visibilityState==="visible"&&oe(t().currentSessionRef,Z))&&bo.getState().notifyErrors){const J=re.title??re.sessionId??j;Yu({ref:Z,title:`Blade · ${He(O==="question"?"attention.notification.question":O==="elicitation"?"attention.notification.elicitation":"attention.notification.permission")}`,body:J,onOpen:he=>{typeof window>"u"||(window.focus(),window.dispatchEvent(new CustomEvent(_i,{detail:he})))}})}return}if(d.type==="interaction.resolved"){const j=d.properties.sessionId,I=d.properties.projectPath,O=d.properties.requestId;if(typeof j!="string"||typeof I!="string"||typeof O!="string")return;const B={sessionId:j,projectPath:I};e(Z=>({sessions:Z.sessions.map(re=>{var P;return oe(de(re),B)&&((P=re.pendingInteraction)==null?void 0:P.requestId)===O?{...re,pendingInteraction:void 0}:re})}));return}if(d.type==="schedule.fired"){z2.getState().loadSchedules();return}if(d.type!=="task.status")return;const f=d.properties.sessionId,m=d.properties.projectPath,h=d.properties.taskStatus;if(typeof f!="string"||typeof m!="string"||!G2(h))return;const k={sessionId:f,projectPath:m},x=hs(d.properties.taskInFlight,0),C=hs(d.properties.taskQueueDepth,0),T=hs(d.properties.taskConcurrencyLimit,1);x!==void 0&&C!==void 0&&T!==void 0&&e(j=>{var I;return{taskWorkspaceInfo:j.taskWorkspaceInfo?{...j.taskWorkspaceInfo,taskAdmission:{inFlight:x,queued:C,maxConcurrent:T,maxQueued:((I=j.taskWorkspaceInfo.taskAdmission)==null?void 0:I.maxQueued)??100}}:null}});const b=t().sessions.find(j=>oe(de(j),k)),A=typeof document<"u"&&document.visibilityState==="visible"&&oe(t().currentSessionRef,k),N=F2(b==null?void 0:b.taskStatus,h,A),R=Le(k),V=!t().unreadTaskKeys.includes(R);if(N&&V){e(O=>{const B=[...O.unreadTaskKeys,R];return lo(B),{unreadTaskKeys:B}});const j=bo.getState();if(j.notifySounds&&Fx(h)&&D2(h),h==="completed"?j.notifyBuild:j.notifyErrors){const O=He(h==="completed"?"attention.notification.completed":h==="failed"?"attention.notification.failed":"attention.notification.interrupted"),B=sf(d.properties.taskFailure),Z=b?_d({...b,taskStatus:h,taskFailure:B??b.taskFailure,taskStatusReason:typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:b.taskStatusReason,taskPromptSummary:typeof d.properties.taskPromptSummary=="string"?d.properties.taskPromptSummary:b.taskPromptSummary},He):(B==null?void 0:B.message)??(typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:void 0),re=(b==null?void 0:b.title)??(b==null?void 0:b.sessionId)??f;Yu({ref:k,title:`Blade · ${O}`,body:Z?`${re} · ${Z}`:re,onOpen:P=>{typeof window>"u"||(window.focus(),window.dispatchEvent(new CustomEvent(_i,{detail:P})))}})}}if(!b){u(k);return}e(j=>({sessions:j.sessions.map(I=>oe({sessionId:I.sessionId,projectPath:I.projectPath},k)?{...I,taskStatus:h,taskStatusReason:typeof d.properties.taskStatusReason=="string"?d.properties.taskStatusReason:void 0,taskFailure:h==="failed"?sf(d.properties.taskFailure)??I.taskFailure:void 0,taskPromptSummary:typeof d.properties.taskPromptSummary=="string"?d.properties.taskPromptSummary:I.taskPromptSummary,taskStartedAt:typeof d.properties.taskStartedAt=="string"?d.properties.taskStartedAt:h==="queued"?void 0:I.taskStartedAt,taskCompletedAt:typeof d.properties.taskCompletedAt=="string"?d.properties.taskCompletedAt:h==="queued"||h==="running"?void 0:I.taskCompletedAt,taskDiffStat:W2(d.properties.taskDiffStat)??I.taskDiffStat,taskQueuePosition:h==="queued"?hs(d.properties.taskQueuePosition,1)??I.taskQueuePosition:void 0,taskQueueDepth:h==="queued"?hs(d.properties.taskQueueDepth,0)??I.taskQueueDepth:void 0,taskConcurrencyLimit:hs(d.properties.taskConcurrencyLimit,1)??I.taskConcurrencyLimit,lastMessageTime:typeof d.properties.updatedAt=="string"?d.properties.updatedAt:I.lastMessageTime}:I)}))},subscribeToTaskEvents:async()=>{if(r=!0,!t().taskEventUnsubscribe){if(n)return n;e({taskEventsConnected:!1,taskEventConnectionState:"connecting"}),n=(async()=>{try{const d=await ee.openTaskEventSubscription(f=>t().handleTaskEvent(f),{onConnectionChange:f=>{e({taskEventsConnected:f})},onConnectionStateChange:f=>{r&&(f==="reconnecting"||f==="offline")&&(s=!0),e({taskEventsConnected:f==="connected",taskEventConnectionState:f}),f==="connected"&&s&&(s=!1,Promise.all([t().loadSessions(),t().loadTaskWorkspaceInfo(),t().loadBoundProjects(),At.getState().loadModels()]))}});if(!r||t().taskEventUnsubscribe){d();return}e({taskEventUnsubscribe:d})}catch(d){throw s=!0,e({taskEventsConnected:!1,taskEventConnectionState:"offline"}),d}})();try{await n}finally{n=null}}},reconnectTaskEvents:async()=>{s=!0,t().unsubscribeFromTaskEvents(),await t().subscribeToTaskEvents()},unsubscribeFromTaskEvents:()=>{var d,f;r=!1,(f=(d=t()).taskEventUnsubscribe)==null||f.call(d),e({taskEventUnsubscribe:null,taskEventsConnected:!1,taskEventConnectionState:"offline"})},loadTaskWorkspaceInfo:async()=>{e({isTaskWorkspaceLoading:!0,taskWorkspaceError:null});try{const d=await ee.getWorkspaceInfo();e({taskWorkspaceInfo:d,isTaskWorkspaceLoading:!1})}catch(d){e({isTaskWorkspaceLoading:!1,taskWorkspaceError:d instanceof Error?d.message:"Failed to load task workspace"})}},loadBoundProjects:async()=>{try{const d=await ee.listProjects(),f=Zu(),m=d.find(h=>h.available&&h.path===f)??d.find(h=>h.isCurrent)??d.find(h=>h.available);m&&xi(m.path),e({boundProjects:d,selectedProjectPath:(m==null?void 0:m.path)??null})}catch(d){e({error:d instanceof Error?d.message:"Failed to load projects"})}},bindProject:async d=>{e({isBindingProject:!0,error:null});try{const f=await ee.bindProject(d);xi(f.path),e(m=>({boundProjects:[...m.boundProjects.filter(h=>h.path!==f.path),f].sort((h,k)=>h.isCurrent!==k.isCurrent?h.isCurrent?-1:1:h.name.localeCompare(k.name)),selectedProjectPath:f.path,isBindingProject:!1}))}catch(f){throw e({isBindingProject:!1,error:f instanceof Error?f.message:"Failed to bind project"}),f}},unbindProject:async d=>{try{await ee.unbindProject(d),e(f=>{const m=f.boundProjects.filter(k=>k.path!==d||k.isCurrent),h=f.selectedProjectPath===d?m.find(k=>k.isCurrent)??m.find(k=>k.available):void 0;return h&&xi(h.path),{boundProjects:m,...h?{selectedProjectPath:h.path}:{}}})}catch(f){throw e({error:f instanceof Error?f.message:"Failed to unbind project"}),f}},selectProject:d=>{xi(d),e({selectedProjectPath:d})},markTaskRead:d=>{const f=Le(d);e(m=>{const h=m.unreadTaskKeys.filter(k=>k!==f);return lo(h),{unreadTaskKeys:h}})},clearUnreadTasks:()=>{lo([]),e({unreadTaskKeys:[]})},cancelTask:async d=>{const f=Le(d);if(!t().cancellingTaskKeys.includes(f)){e(m=>({cancellingTaskKeys:[...m.cancellingTaskKeys,f],error:null,errorContext:null}));try{await ee.abortSession(d);const m=oe(t().currentSessionRef,d);m&&t().unsubscribeFromEvents(),e(h=>({sessions:h.sessions.map(k=>oe(de(k),d)?{...k,taskStatus:"cancelled",taskQueuePosition:void 0,taskQueueDepth:void 0,taskCompletedAt:k.taskCompletedAt??new Date().toISOString()}:k),...m?{isStreaming:!1,isStopping:!1,agentPhase:"idle",providerAdmission:null,providerCircuit:null,providerRetry:null,providerStall:null,actionStationarity:null,currentRunId:null,pendingSteeringCount:0,pendingInputDelivery:null,recoveredSteeringCount:0,currentAssistantMessageId:null,hasToolCalls:!1,eventUnsubscribe:null}:{}}))}catch(m){throw e({error:m instanceof Error?m.message:"Failed to stop task",errorContext:{kind:"task_action",sessionRef:d}}),m}finally{e(m=>({cancellingTaskKeys:m.cancellingTaskKeys.filter(h=>h!==f)}))}}},retryTask:async d=>{const f=Le(d);if(t().retryingTaskKeys.includes(f))return;const m=t().getNavigationVersion(),h=t().selectedProjectPath,k=()=>t().getNavigationVersion()===m&&t().selectedProjectPath===h;e(x=>({retryingTaskKeys:[...x.retryingTaskKeys,f],error:null,errorContext:null}));try{const x=await ee.retryTask(d);e(C=>({sessions:kn(C.sessions,x.session)})),t().markTaskRead(d),k()&&await t().selectSession(de(x.session))}catch(x){throw k()&&e({error:x instanceof Error?x.message:"Failed to retry task",errorContext:{kind:"task_action",sessionRef:d}}),x}finally{e(x=>({retryingTaskKeys:x.retryingTaskKeys.filter(C=>C!==f)}))}},deliverTask:async(d,f)=>{const m=Le(d);if(!t().taskDeliveryActions[m]){e(h=>({taskDeliveryActions:{...h.taskDeliveryActions,[m]:f},error:null,errorContext:null}));try{const h=await ee.deliverTask(d,f);e(k=>({sessions:kn(k.sessions,h)})),t().markTaskRead(d)}catch(h){throw e({error:h instanceof Error?h.message:"Failed to deliver task changes",errorContext:{kind:"task_action",sessionRef:d}}),h}finally{e(h=>{const{[m]:k,...x}=h.taskDeliveryActions;return{taskDeliveryActions:x}})}}},dispatchTask:async d=>{const f=t().getNavigationVersion(),m=t().selectedProjectPath,h=d.projectPath??m??void 0,k=()=>t().getNavigationVersion()===f&&t().selectedProjectPath===m;e({isDispatchingTask:!0,error:null,errorContext:null});try{const x=await ee.createTask({...d,projectPath:h});e(C=>({sessions:kn(C.sessions,x.session),isDispatchingTask:!1})),k()&&await t().selectSession(de(x.session))}catch(x){throw e({isDispatchingTask:!1,...k()?{error:x instanceof Error?x.message:"Failed to dispatch task"}:{}}),x}},startCodeReview:async d=>{const f=t().getNavigationVersion(),m=t().selectedProjectPath,h=d.projectPath??m??void 0,k=()=>t().getNavigationVersion()===f&&t().selectedProjectPath===m;e({isDispatchingTask:!0,error:null,errorContext:null});let x,C=!1;try{x=await ee.createSession(h,"Code Review");const T=de(x);await ee.startCodeReview(T,{kind:d.kind,...d.ref?{ref:d.ref}:{},...d.instructions?{instructions:d.instructions}:{},...d.modelId?{modelId:d.modelId}:{}}),C=!0;const b={...x,taskStatus:"running",taskStatusReason:He("taskHome.review.running"),taskPromptSummary:`/review ${d.kind}${d.ref?` ${d.ref}`:""}`};e(A=>({sessions:kn(A.sessions,b),isDispatchingTask:!1})),k()&&await t().selectSession(T)}catch(T){throw x&&!C&&await ee.deleteSession(de(x)).catch(()=>{}),e({isDispatchingTask:!1,...k()?{error:T instanceof Error?T.message:He("taskHome.review.startFailed")}:{}}),T}}}},Q2=e=>({tokenUsage:no,updateTokenUsage:t=>e(n=>{const{costUsd:r,...s}=t;return{tokenUsage:{...n.tokenUsage,...s,totalInputTokens:n.tokenUsage.totalInputTokens+Math.max(0,t.inputTokens??0),totalOutputTokens:n.tokenUsage.totalOutputTokens+Math.max(0,t.outputTokens??0),cacheReadTokens:n.tokenUsage.cacheReadTokens+Math.max(0,t.cacheReadTokens??0),cacheWriteTokens:n.tokenUsage.cacheWriteTokens+Math.max(0,t.cacheWriteTokens??0),estimatedCostUsd:n.tokenUsage.estimatedCostUsd+Math.max(0,r??0)}}}),resetContextUsage:()=>e(t=>({tokenUsage:{...t.tokenUsage,inputTokens:0,outputTokens:0,totalTokens:0}})),setMaxContextTokens:(t,n=!1)=>e(r=>({tokenUsage:{...r.tokenUsage,maxContextTokens:t,isDefaultMaxTokens:n}}))}),D=oi()((...e)=>({...U2(...e),...J2(...e),...T2(...e),...B2(...e),...Q2(...e)}));function Y2(e){const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function X2({open:e,onOpenChange:t}){const n=Mt(),r=D(j=>j.currentSessionRef),s=D(j=>j.isStreaming),o=D(j=>j.isTemporarySession),i=D(j=>j.rewindSession),[u,p]=w.useState([]),[d,f]=w.useState(null),[m,h]=w.useState(!1),[k,x]=w.useState(!1),[C,T]=w.useState(!1),[b,A]=w.useState(null);w.useEffect(()=>{if(!e||!r)return;let j=!1;return x(!0),A(null),p([]),f(null),h(!1),ee.listRewindCheckpoints(r).then(I=>{var O;j||(p(I),f(((O=I[0])==null?void 0:O.messageId)??null))}).catch(I=>{j||A(I instanceof Error?I.message:n("chat.rewind.loadFailed"))}).finally(()=>{j||x(!1)}),()=>{j=!0}},[r,e]);const N=w.useMemo(()=>u.find(j=>j.messageId===d)??null,[u,d]),R=!!N&&!k&&!C&&!s&&!o,V=async()=>{if(!N||!R)return;T(!0),A(null);const j=await i(N.messageId,m?"both":"conversation");T(!1),j?t(!1):A(n("chat.rewind.failed"))};return a.jsx(qc,{open:e,onOpenChange:t,children:a.jsxs(Ki,{className:"max-w-[620px] gap-0 overflow-hidden border-[#E5E7EB] bg-white p-0 dark:border-zinc-800 dark:bg-[#09090b]",children:[a.jsx(Kc,{className:"border-b border-[#E5E7EB] px-6 py-5 dark:border-zinc-800",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-md bg-[#F3F4F6] text-[#4B5563] dark:bg-zinc-800 dark:text-zinc-300",children:a.jsx(ru,{className:"h-4 w-4"})}),a.jsxs("div",{children:[a.jsx(Gi,{className:"text-[15px] font-semibold text-[#111827] dark:text-zinc-100",children:n("chat.rewind.title")}),a.jsx(Wi,{className:"mt-1 text-[12px] text-[#6B7280] dark:text-zinc-400",children:n("chat.rewind.description")})]})]})}),a.jsxs("div",{className:"min-h-[260px] px-6 py-4",children:[k&&a.jsxs("div",{className:"flex h-[220px] items-center justify-center text-[#6B7280] dark:text-zinc-400",children:[a.jsx(lt,{className:"mr-2 h-4 w-4 animate-spin"}),a.jsx("span",{className:"text-xs font-mono",children:n("chat.rewind.loading")})]}),!k&&b&&a.jsx("div",{role:"alert",className:"rounded-md border border-rose-200 bg-rose-50 px-4 py-3 text-xs text-rose-700 dark:border-rose-900/60 dark:bg-rose-950/30 dark:text-rose-300",children:b}),!k&&!b&&u.length===0&&a.jsxs("div",{className:"flex h-[220px] flex-col items-center justify-center text-center",children:[a.jsx(ru,{className:"mb-3 h-5 w-5 text-[#9CA3AF] dark:text-zinc-600"}),a.jsx("p",{className:"text-sm text-[#4B5563] dark:text-zinc-300",children:n("chat.rewind.empty")})]}),!k&&u.length>0&&a.jsx("div",{role:"radiogroup","aria-label":n("chat.rewind.checkpointAria"),className:"max-h-[310px] space-y-1 overflow-y-auto",children:u.map(j=>{const I=j.messageId===d;return a.jsxs("button",{type:"button",role:"radio","aria-checked":I,onClick:()=>f(j.messageId),className:G("w-full rounded-md border px-4 py-3 text-left transition-colors",I?"border-[#22C55E] bg-[#F0FDF4] dark:border-[#22C55E] dark:bg-[#052E16]/50":"border-transparent hover:bg-[#F9FAFB] dark:hover:bg-zinc-900"),children:[a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsx("p",{className:"line-clamp-2 text-[13px] leading-5 text-[#111827] dark:text-zinc-100",children:j.preview||n("chat.rewind.userMessage")}),a.jsx("span",{className:"shrink-0 text-[10px] font-mono text-[#9CA3AF] dark:text-zinc-500",children:Y2(j.createdAt)})]}),a.jsxs("div",{className:"mt-2 flex items-center gap-3 text-[10px] font-mono text-[#6B7280] dark:text-zinc-500",children:[a.jsx("span",{children:j.messageId.slice(0,10)}),j.fileCount>0&&a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(Ly,{className:"h-3 w-3"}),j.fileCount===1?n("chat.rewind.fileCountOne",{count:j.fileCount}):n("chat.rewind.fileCountMany",{count:j.fileCount})]})]})]},j.messageId)})})]}),a.jsx("div",{className:"border-t border-[#E5E7EB] px-6 py-4 dark:border-zinc-800",children:a.jsxs("label",{className:"flex cursor-pointer items-start gap-3",children:[a.jsx("input",{type:"checkbox",checked:m,disabled:!N||N.fileCount===0,onChange:j=>h(j.target.checked),className:"mt-0.5 h-4 w-4 accent-[#16A34A] disabled:opacity-40"}),a.jsxs("span",{children:[a.jsx("span",{className:"block text-[12px] font-medium text-[#374151] dark:text-zinc-200",children:n("chat.rewind.restoreCode")}),a.jsx("span",{className:"mt-0.5 block text-[11px] text-[#6B7280] dark:text-zinc-500",children:n("chat.rewind.restoreCodeHint")})]})]})}),a.jsxs(Ff,{className:"border-t border-[#E5E7EB] px-6 py-4 dark:border-zinc-800",children:[a.jsx(pr,{variant:"ghost",onClick:()=>t(!1),disabled:C,children:n("chat.rewind.cancel")}),a.jsxs(pr,{onClick:()=>void V(),disabled:!R,className:"bg-[#16A34A] text-white hover:bg-[#15803D]",children:[C?a.jsx(lt,{className:"mr-2 h-4 w-4 animate-spin"}):a.jsx(qi,{className:"mr-2 h-4 w-4"}),n("chat.rewind.confirm")]})]})]})})}function Dx({inFlight:e,queued:t,maxConcurrent:n,compact:r=!1,className:s}){const o=Mt(),i=Math.max(1,n),u=Array.from({length:Math.min(i,12)}),p=Math.min(e,i);return a.jsxs("div",{className:G("inline-flex items-center gap-2 font-mono",r?"text-[10.5px]":"text-[11px]",s),title:o("capacity.title",{inFlight:e,queued:t,max:n}),children:[a.jsx("span",{className:G("inline-flex items-center gap-[3px] rounded-sm",r?"px-0":"px-0.5"),children:u.map((d,f)=>{const m=f<p;return a.jsx("span",{className:G("block",r?"h-2.5 w-[3px] rounded-[1px]":"h-3 w-[3px] rounded-[1px]",m?"bg-[hsl(var(--deck-accent))] shadow-[0_0_4px_hsl(var(--deck-accent)/0.65)]":"bg-[hsl(var(--deck-border-strong))]/60")},f)})}),a.jsxs("span",{className:"tabular-nums text-[hsl(var(--deck-ink-muted))]",children:[a.jsx("span",{className:"text-[hsl(var(--deck-ink))]",children:e}),a.jsx("span",{className:"mx-[2px] opacity-40",children:"/"}),a.jsx("span",{children:n}),a.jsx("span",{className:"opacity-60",children:o("capacity.suffix.running")})]}),t>0&&a.jsxs("span",{className:"inline-flex items-center gap-1 rounded-sm border border-amber-300/60 bg-amber-50 px-1.5 py-[1px] text-[10px] text-amber-800 dark:border-amber-800/60 dark:bg-amber-950/40 dark:text-amber-300",children:[a.jsx("span",{className:"h-1 w-1 rounded-full bg-amber-500"}),o("capacity.queued",{queued:t})]})]})}function of(){const e=document.querySelector("textarea[data-blade-composer]:not(:disabled)");if(!e)return!1;e.focus();const t=e.value.length;return e.setSelectionRange(t,t),!0}const _x=[{id:"searchTasks",key:"k",primaryModifier:!0,scope:"Global"},{id:"openCommands",key:"p",primaryModifier:!0,shiftKey:!0,scope:"Global"},{id:"newTask",key:"n",primaryModifier:!1,scope:"Global"},{id:"focusComposer",key:"/",primaryModifier:!1,scope:"Chat"},{id:"toggleSidebar",key:"b",primaryModifier:!0,scope:"Layout"}];function Z2(e){const t=e.key.toLocaleLowerCase();return _x.find(n=>{if(n.key!==t||e.altKey||e.shiftKey!==!!n.shiftKey)return!1;const r=e.metaKey||e.ctrlKey;return n.primaryModifier?r:!r})??null}function e5(e){return e instanceof Element?!!e.closest('input, textarea, select, [contenteditable="true"], [role="textbox"], [role="combobox"]'):!1}function t5(e){var r;const t=typeof navigator>"u"?null:navigator,n=((r=t==null?void 0:t.userAgentData)==null?void 0:r.platform)??(t==null?void 0:t.platform)??"";return/mac|iphone|ipad|ipod/i.test(n)}function n5(e,t){const n=e.key==="/"?"/":e.key.toLocaleUpperCase(),r=t5();return[...e.primaryModifier?[r?"⌘":"Ctrl"]:[],...e.shiftKey?[r?"⇧":"Shift"]:[],n]}function Oc(e,t){const n=_x.find(r=>r.id===e);return n?n5(n).join(""):""}const Ux="blade.sidebar.view",Bx="blade.preview.width",Za=640,r5=360,s5=960,o5=()=>{if(typeof localStorage>"u")return"project";const e=localStorage.getItem(Ux);return e==="status"||e==="project"?e:"project"},Hx=e=>Math.min(s5,Math.max(r5,Math.round(e))),i5=()=>{if(typeof localStorage>"u")return Za;const e=localStorage.getItem(Bx);if(!e)return Za;const t=Number(e);return Number.isFinite(t)?Hx(t):Za},mr=oi(e=>({isSidebarOpen:!0,toggleSidebar:()=>e(t=>({isSidebarOpen:!t.isSidebarOpen})),setSidebarOpen:t=>e({isSidebarOpen:t}),sidebarView:o5(),setSidebarView:t=>{typeof localStorage<"u"&&localStorage.setItem(Ux,t),e({sidebarView:t})},isFilePreviewOpen:!1,toggleFilePreview:()=>e(t=>({isFilePreviewOpen:!t.isFilePreviewOpen})),setFilePreviewOpen:t=>e({isFilePreviewOpen:t}),previewWidth:i5(),setPreviewWidth:t=>{const n=Hx(t);typeof localStorage<"u"&&localStorage.setItem(Bx,String(n)),e({previewWidth:n})},previewTab:"diff",setPreviewTab:t=>e({previewTab:t}),previewTargetPath:null,previewRequestId:0,openFilePreview:t=>e(n=>({isFilePreviewOpen:!0,previewTab:(t==null?void 0:t.tab)??n.previewTab,previewTargetPath:(t==null?void 0:t.targetPath)??null,previewRequestId:n.previewRequestId+1})),isSettingsOpen:!1,settingsSection:"general",toggleSettings:()=>e(t=>({isSettingsOpen:!t.isSettingsOpen,...t.isSettingsOpen?{}:{settingsSection:"general"}})),openSettings:(t="general")=>e({isSettingsOpen:!0,settingsSection:t}),isTerminalOpen:!1,toggleTerminal:()=>e(t=>({isTerminalOpen:!t.isTerminalOpen})),isTaskSwitcherOpen:!1,taskSwitcherMode:"tasks",setTaskSwitcherOpen:(t,n)=>e(r=>({isTaskSwitcherOpen:t,taskSwitcherMode:n??r.taskSwitcherMode})),setTaskSwitcherMode:t=>e({taskSwitcherMode:t})}));function a5(){const e=mr(r=>r.setTaskSwitcherOpen),t=mr(r=>r.toggleSidebar),n=D(r=>r.startTemporarySession);w.useEffect(()=>{const r=s=>{if(s.repeat)return;const o=Z2(s);if(!o)return;const i=mr.getState(),u=i.isTaskSwitcherOpen,p=e5(s.target),d=!!document.querySelector('[role="dialog"]');if(o.id==="searchTasks"||o.id==="openCommands"){if(d&&!u)return;s.preventDefault();const f=o.id==="searchTasks"?"tasks":"commands",m=u&&i.taskSwitcherMode===f;e(!m,f);return}if(!(p||d)){if(o.id==="newTask"){s.preventDefault(),n(),requestAnimationFrame(()=>of());return}if(o.id==="focusComposer"){of()&&s.preventDefault();return}o.id==="toggleSidebar"&&(s.preventDefault(),t())}};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e,n,t])}const Ud=w.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(hf,{ref:r,className:G("overflow-hidden relative",e),...n,children:[a.jsx(Ny,{className:"h-full w-full rounded-[inherit] [&>div]:!block !overflow-auto",children:t}),a.jsx(zx,{}),a.jsx(Oy,{})]}));Ud.displayName=hf.displayName;const zx=w.forwardRef(({className:e,orientation:t="vertical",...n},r)=>a.jsx(gf,{ref:r,orientation:t,className:G("flex touch-none select-none transition-colors",t==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",t==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:a.jsx(Ry,{className:"relative flex-1 rounded-full bg-border"})}));zx.displayName=gf.displayName;function uo(e,t){var s;const n=(s=e.title)==null?void 0:s.trim();if(n==="Code Review")return t("session.title.codeReview");if(n)return n;const r=e.firstMessageTime||e.lastMessageTime;if(r){const o=new Date(r);if(!Number.isNaN(o.getTime()))return t("recent.session.fallbackDated",{y:String(o.getFullYear()).slice(-2),m:String(o.getMonth()+1).padStart(2,"0"),d:String(o.getDate()).padStart(2,"0"),hh:String(o.getHours()).padStart(2,"0"),mm:String(o.getMinutes()).padStart(2,"0")})}return t("recent.session.fallbackShort",{id:e.sessionId.slice(0,6)})}async function qx(e,t=!1){const n=await ee.exportSessionMarkdown(e,t),r=new Blob([n.markdown],{type:"text/markdown;charset=utf-8"}),s=URL.createObjectURL(r),o=document.createElement("a");o.href=s,o.download=n.filename,o.hidden=!0,document.body.appendChild(o);try{o.click()}finally{o.remove(),await new Promise(i=>{window.setTimeout(()=>{URL.revokeObjectURL(s),i()},0)})}return n}const zn=My,qn=Fy,Nn=w.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},s)=>a.jsx($y,{children:a.jsx(bf,{ref:s,align:t,sideOffset:n,className:G("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]",e),...r})}));Nn.displayName=bf.displayName;function c5(){const e=Mt(),t=D(x=>x.archivedSessions),n=D(x=>x.archivedCatalogLoadState),r=D(x=>x.archivedCatalogError),s=D(x=>x.loadArchivedSessions),o=D(x=>x.unarchiveSession),i=D(x=>x.setError),[u,p]=w.useState(!1),[d,f]=w.useState(null),[m,h]=w.useState(null),k=x=>{p(x),x&&s()};return a.jsxs(zn,{open:u,onOpenChange:k,children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex h-8 w-full items-center justify-between rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]","aria-label":e("archive.open"),children:[a.jsxs("span",{className:"flex items-center gap-2.5",children:[a.jsx(kf,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"}),e("archive.title")]}),t.length>0&&a.jsx("span",{className:"rounded-sm bg-[hsl(var(--deck-surface))] px-1.5 py-0.5 text-[9px] text-[hsl(var(--deck-ink-faint))]",children:t.length})]})}),a.jsxs(Nn,{role:"dialog","aria-label":e("archive.title"),side:"right",align:"end",sideOffset:8,className:"w-[340px] overflow-hidden p-0",children:[a.jsxs("div",{className:"flex h-10 items-center justify-between border-b border-[hsl(var(--deck-hairline))] px-3",children:[a.jsxs("div",{children:[a.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.08em] text-[hsl(var(--deck-ink))]",children:e("archive.title")}),a.jsx("div",{className:"text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:e("archive.subtitle")})]}),a.jsx("button",{type:"button",onClick:()=>void s(),"aria-label":e("archive.refresh"),className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(so,{className:G("h-3 w-3",(n==="loading"||n==="hydrating")&&"animate-spin")})})]}),r?a.jsxs("div",{className:"px-3 py-4 text-[11px] text-red-600 dark:text-red-400",children:[a.jsx("div",{children:r}),a.jsx("button",{type:"button",onClick:()=>void s(),className:"mt-2 font-mono text-[10px] text-[hsl(var(--deck-accent))] focus-visible:outline-none focus-visible:underline",children:e("archive.retry")})]}):t.length===0&&(n==="loading"||n==="hydrating")?a.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(lt,{className:"h-3 w-3 animate-spin"}),e("archive.loading")]}):t.length===0?a.jsx("div",{className:"flex h-24 items-center justify-center px-6 text-center text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:e("archive.empty")}):a.jsx(Ud,{className:"max-h-[340px]",children:a.jsx("div",{className:"divide-y divide-[hsl(var(--deck-hairline))]",children:t.map(x=>{var N;const C=de(x),T=Le(C),b=d===T,A=x.projectPath.split("/").filter(Boolean).at(-1)??x.projectPath;return a.jsxs("div",{className:"flex min-h-[58px] items-center gap-2 px-3 py-2",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"truncate font-mono text-[11.5px] text-[hsl(var(--deck-ink))]",children:uo(x,e)}),a.jsxs("div",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:A}),x.archivedAt&&a.jsxs(a.Fragment,{children:[a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsx("span",{children:new Date(x.archivedAt).toLocaleString()})]})]}),x.archivedBySessionId!==x.sessionId&&a.jsx("div",{className:"mt-0.5 truncate text-[9px] text-[hsl(var(--deck-accent))]",children:e("archive.inherited",{id:((N=x.archivedBySessionId)==null?void 0:N.slice(0,8))??""})})]}),a.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[a.jsx("button",{type:"button",disabled:m!==null,onClick:async()=>{h(T);try{await qx(C)}catch(R){i(R instanceof Error?R.message:"Session export failed")}finally{h(null)}},"aria-label":e("session.action.export",{title:uo(x,e)}),title:e("session.action.exportShort"),className:"flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-35",children:m===T?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(xf,{className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",disabled:b||x.archivedBySessionId!==x.sessionId,onClick:async()=>{f(T);try{await o(C)}finally{f(null)}},"aria-label":e("archive.restore",{title:uo(x,e)}),title:x.archivedBySessionId!==x.sessionId?e("archive.restoreAncestor"):e("archive.restoreShort"),className:"flex h-7 w-7 items-center justify-center rounded text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-35",children:b?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Dy,{className:"h-3.5 w-3.5"})})]})]},T)})})})]})]})}function Bd({className:e,size:t=28,pulse:n=!0}){return a.jsxs("span",{className:G("inline-flex relative justify-center items-center","text-[hsl(var(--deck-ink))]",e),style:{width:t,height:t},"aria-hidden":"true",children:[a.jsxs("svg",{viewBox:"0 0 32 32",width:t,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("path",{d:"M16 3 L28 16 L16 29 L4 16 Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),a.jsx("path",{d:"M16 8 L24 16 L16 24",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round",opacity:"0.55"}),a.jsx("path",{d:"M16 3 L20 7",stroke:"hsl(var(--deck-accent))",strokeWidth:"2",strokeLinecap:"round"})]}),n&&a.jsx("span",{className:"absolute top-[3px] right-[3px] h-1.5 w-1.5 rounded-full",style:{background:"hsl(var(--deck-accent-glow))",boxShadow:"0 0 6px hsl(var(--deck-accent-glow) / 0.9)"}})]})}const af={en:"sidebar.language.en",zh:"sidebar.language.zh"};function Kx({className:e,variant:t="pill"}){const{locale:n,setLocale:r}=n0(),s=Mt();if(t==="compact"){const o=n==="en"?"zh":"en";return a.jsx("button",{type:"button",onClick:()=>r(o),"aria-label":s("sidebar.language.aria"),title:s("sidebar.language.label"),className:G("flex justify-center items-center w-10 h-10 font-mono font-medium rounded-md transition-colors text-[11px] text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",e),children:s(af[n])})}return a.jsx("div",{role:"group","aria-label":s("sidebar.language.aria"),className:G("inline-flex h-8 items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-[2px] font-mono text-[11px]",e),children:Yw.map(o=>{const i=o===n;return a.jsx("button",{type:"button",onClick:()=>r(o),"aria-pressed":i,className:G("flex justify-center items-center px-2 h-full transition-colors min-w-[28px] rounded-[4px]",i?"bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))]":"text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]"),children:s(af[o])},o)})})}const l5="[data-mobile-navigation-trigger]";function gL(e){return Gx(l5,e)}function Gx(e,t){const n=document.querySelector(e);return!n||n.getClientRects().length===0?!1:(t.preventDefault(),n.focus({preventScroll:!0}),!0)}function Wx({open:e,onOpenChange:t}){const n=Mt(),{boundProjects:r,selectedProjectPath:s,isBindingProject:o,loadBoundProjects:i,bindProject:u,unbindProject:p,selectProject:d,startTemporarySession:f}=D(),[m,h]=w.useState(""),[k,x]=w.useState(null),[C,T]=w.useState(!1),b=w.useRef(0);w.useEffect(()=>{if(e){i();return}b.current+=1,T(!1)},[i,e]);const A=async j=>{await u(j),h(""),f(),t(!1)},N=async j=>{if(j.preventDefault(),!(!m.trim()||o||C)){x(null);try{await A(m.trim())}catch(I){x(I instanceof Error?I.message:n("projects.bind.failed"))}}},R=async()=>{if(C||o)return;const j=++b.current;x(null),T(!0);try{const I=await ee.pickProjectDirectory();if(j!==b.current||I.cancelled)return;h(I.path),await A(I.path)}catch(I){if(j!==b.current)return;x(I instanceof Error?I.message:n("projects.pick.failed"))}finally{j===b.current&&T(!1)}},V=j=>{d(j),f(),t(!1)};return e?a.jsx(qc,{open:e,onOpenChange:t,children:a.jsxs(Ki,{onCloseAutoFocus:j=>Gx("[data-project-setup-trigger]",j),className:"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] sm:max-w-xl",children:[a.jsxs(Kc,{children:[a.jsxs(Gi,{className:"flex items-center gap-2 font-mono text-[16px]",children:[a.jsx(Ci,{className:"h-4 w-4 text-[hsl(var(--deck-accent))]"}),n("projects.dialog.title")]}),a.jsx(Wi,{className:"text-[12px] text-[hsl(var(--deck-ink-muted))]",children:n("projects.dialog.description")})]}),a.jsxs("form",{onSubmit:N,className:"flex gap-2",children:[a.jsx("input",{value:m,onChange:j=>h(j.target.value),disabled:o,placeholder:n("projects.bind.placeholder"),"aria-label":n("projects.bind.pathLabel"),className:"h-9 min-w-0 flex-1 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12px] outline-none placeholder:text-[hsl(var(--deck-ink-faint))] focus:border-[hsl(var(--deck-accent)/0.65)]"}),a.jsxs("button",{type:"button",onClick:()=>void R(),disabled:C||o,title:n("projects.pick.action"),"aria-label":n("projects.pick.action"),className:"inline-flex h-9 shrink-0 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2.5 font-mono text-[12px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))] disabled:cursor-wait disabled:opacity-50",children:[C?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(_y,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"hidden sm:inline",children:n(C?"projects.pick.picking":"projects.pick.actionShort")})]}),a.jsxs("button",{type:"submit",disabled:!m.trim()||o||C,className:"inline-flex h-9 items-center gap-2 rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[12px] text-[hsl(var(--deck-canvas))] transition-opacity disabled:opacity-40",children:[o?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Ci,{className:"h-3.5 w-3.5"}),n("projects.bind.action")]})]}),k&&a.jsx("div",{role:"alert",className:"rounded-md border border-red-200 bg-red-50 px-3 py-2 font-mono text-[11px] text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:k}),a.jsx("div",{className:"max-h-72 space-y-1 overflow-y-auto",children:r.map(j=>{const I=j.path===s;return a.jsxs("div",{className:G("group flex items-center gap-3 rounded-md border px-3 py-2",I?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))]":"border-transparent hover:border-[hsl(var(--deck-border))] hover:bg-[hsl(var(--deck-surface))]"),children:[a.jsx(oo,{className:G("h-4 w-4 shrink-0",I?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]")}),a.jsxs("button",{type:"button",disabled:!j.available,onClick:()=>V(j.path),className:"min-w-0 flex-1 text-left disabled:cursor-not-allowed disabled:opacity-50",children:[a.jsx("span",{className:"block truncate font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:j.name}),a.jsxs("span",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[j.gitBranch&&a.jsxs(a.Fragment,{children:[a.jsx(_c,{className:"h-2.5 w-2.5"}),a.jsx("span",{children:j.gitBranch}),a.jsx("span",{children:"·"})]}),a.jsx("span",{className:"truncate",children:j.path}),!j.available&&a.jsxs("span",{className:"shrink-0 text-red-500",children:["· ",n("projects.unavailable")]})]})]}),!j.isCurrent&&a.jsx("button",{type:"button",onClick:()=>void p(j.path).catch(()=>{}),title:n("projects.unbind.action"),"aria-label":n("projects.unbind.action"),className:"rounded p-1.5 text-[hsl(var(--deck-ink-faint))] opacity-0 transition group-hover:opacity-100 hover:bg-red-50 hover:text-red-600 focus-visible:opacity-100 dark:hover:bg-red-950/30",children:a.jsx(yf,{className:"h-3.5 w-3.5"})})]},j.path)})})]})}):null}const d5={running:"bg-blue-500 dark:bg-blue-400 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse",queued:"bg-amber-400 dark:bg-amber-300",interrupted:"bg-orange-500 dark:bg-orange-400",failed:"bg-red-500 dark:bg-red-400",cancelled:"bg-zinc-400 dark:bg-zinc-500",completed:"bg-[hsl(var(--deck-accent))]"};function u5({session:e,isActive:t,isForking:n,isUnread:r,anyForking:s,isEditing:o,editingTitle:i,title:u,context:p,isCancelling:d,isRetrying:f,isExporting:m,onSelect:h,onCancelTask:k,onRetryTask:x,onFork:C,onArchive:T,onExport:b,onStartRename:A,onDelete:N,onEditingTitleChange:R,onSaveRename:V,onCancelRename:j}){const I=Mt(),[O,B]=w.useState(!1),Z=w.useRef(null),re=w.useRef(null);return o?a.jsxs("div",{className:"flex h-9 w-full items-center gap-2 bg-[hsl(var(--deck-surface))] px-3",children:[a.jsx("input",{type:"text",value:i,onChange:P=>R(P.target.value),onKeyDown:P=>{P.key==="Enter"&&V(),P.key==="Escape"&&j()},autoFocus:!0,className:"flex-1 rounded bg-[hsl(var(--deck-canvas))] px-2 py-1 font-mono text-[13px] text-[hsl(var(--deck-ink))] outline-none focus:ring-1 focus:ring-[hsl(var(--deck-accent))]"}),a.jsx("button",{"aria-label":I("session.action.save",{title:u}),onClick:V,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-canvas))]",children:a.jsx(wf,{className:"w-3 h-3"})}),a.jsx("button",{"aria-label":I("session.action.cancel",{title:u}),onClick:j,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-canvas))]",children:a.jsx(ro,{className:"w-3 h-3"})})]}):a.jsxs("div",{className:G("flex relative items-center w-full transition-colors group min-h-[54px]",t?"bg-[hsl(var(--deck-surface))]":"hover:bg-[hsl(var(--deck-surface))]/60"),children:[t&&a.jsx("span",{className:"absolute left-0 top-1/2 h-6 w-[2px] -translate-y-1/2 rounded-r bg-[hsl(var(--deck-accent))]"}),a.jsxs("button",{type:"button","aria-label":I("session.action.select",{title:u}),"aria-current":t?"true":void 0,"aria-busy":n?"true":void 0,onClick:h,className:"flex min-h-[54px] min-w-0 flex-1 cursor-pointer items-center gap-2 py-1.5 pl-4 pr-2 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx("span",{className:G("h-1.5 w-1.5 shrink-0 rounded-full",e.pendingInteraction?"animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]":d5[e.taskStatus]),title:e.pendingInteraction?I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"):e.taskStatus}),a.jsxs("span",{className:"flex-1 min-w-0 font-mono",children:[a.jsxs("span",{className:G("flex gap-2 items-center text-left truncate text-[12px]",t?"text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:[a.jsx("span",{className:"truncate",children:u}),r&&a.jsx("span",{title:I("taskSwitcher.new"),className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]"}),e.pendingInteraction&&a.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded bg-amber-100 px-1.5 py-0.5 text-[8.5px] text-amber-800 dark:bg-amber-950/60 dark:text-amber-300",title:I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission"),children:[a.jsx(Is,{className:"h-2.5 w-2.5"}),I(e.pendingInteraction.type==="question"?"interaction.badge.question":e.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission")]}),e.relationType==="fork"&&e.parentId&&a.jsxs("span",{title:`${I("session.forkedFrom")} ${e.parentId.slice(0,6)}`,"aria-label":`${I("session.forkedFrom")} ${e.parentId.slice(0,6)}`,className:"shrink-0 text-[9px] text-[hsl(var(--deck-accent))]",children:[I("session.forkedFrom")," ",e.parentId.slice(0,6)]}),e.taskRetriedFrom&&a.jsx("span",{title:`${I("session.retriedFrom")} ${e.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 text-[9px] text-[hsl(var(--deck-accent))]",children:I("session.retryShort")})]}),a.jsxs("span",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 truncate text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:p.project}),a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"truncate",children:p.environment}),p.queue&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"text-amber-700 truncate dark:text-amber-400",children:p.queue})]}),p.diff&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"opacity-50",children:"·"}),a.jsx("span",{className:"truncate text-[hsl(var(--deck-accent))]",children:p.diff})]})]}),p.reason&&a.jsx("span",{title:p.reason,className:"mt-0.5 block truncate text-[9.5px] text-red-600 dark:text-red-400",children:p.reason})]}),n&&a.jsx(lt,{className:"h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"})]}),a.jsxs("div",{className:G("flex items-center gap-0.5 pr-2 transition-opacity group-focus-within:opacity-100",e.taskStatus==="running"||e.taskStatus==="queued"||e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled")?"opacity-100":"opacity-50 group-hover:opacity-100"),children:[(e.taskStatus==="running"||e.taskStatus==="queued")&&a.jsx("button",{type:"button","aria-label":I(d?"session.action.stopping":"session.action.stop",{title:u}),disabled:d,onClick:P=>{P.stopPropagation(),k()},className:"flex h-6 w-6 items-center justify-center rounded text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:d?a.jsx(lt,{className:"h-3 w-3 animate-spin"}):a.jsx(Uc,{className:"h-3 w-3"})}),e.taskRetryAvailable&&(e.taskStatus==="failed"||e.taskStatus==="interrupted"||e.taskStatus==="cancelled")&&a.jsx("button",{ref:Z,type:"button","aria-label":I(f?"session.action.retrying":"session.action.retry",{title:u}),disabled:f,onClick:P=>{P.stopPropagation(),x()},className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:f?a.jsx(lt,{className:"h-3 w-3 animate-spin"}):a.jsx(qi,{className:"h-3 w-3"})}),a.jsxs(zn,{open:O,onOpenChange:B,children:[a.jsx(qn,{asChild:!0,children:a.jsx("button",{type:"button","aria-label":I("session.action.more",{title:u}),"aria-expanded":O,className:"flex h-6 w-6 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-canvas))] hover:text-[hsl(var(--deck-ink))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(Uy,{className:"h-3.5 w-3.5"})})}),a.jsxs(Nn,{ref:re,role:"menu","aria-label":I("session.action.more",{title:u}),side:"right",align:"start",sideOffset:6,className:"w-40 p-1",onOpenAutoFocus:P=>{var z,J;P.preventDefault(),(J=(z=re.current)==null?void 0:z.querySelector('[role="menuitem"]:not([disabled])'))==null||J.focus()},onKeyDown:P=>{P.key==="Escape"&&(P.preventDefault(),P.stopPropagation(),B(!1),window.setTimeout(()=>{var z;return(z=Z.current)==null?void 0:z.focus()},0))},children:[a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.fork",{title:u}),disabled:s,onClick:P=>{P.stopPropagation(),C(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-45",children:[a.jsx(By,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.forkShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.rename",{title:u}),onClick:P=>{A(P),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none",children:[a.jsx(Hy,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.renameShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.archive",{title:u}),disabled:e.taskStatus==="running"||e.taskStatus==="queued",onClick:P=>{P.stopPropagation(),T(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-35",children:[a.jsx(kf,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.archiveShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.export",{title:u}),disabled:m,onClick:P=>{P.stopPropagation(),b(),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] focus-visible:bg-[hsl(var(--deck-surface))] focus-visible:text-[hsl(var(--deck-ink))] focus-visible:outline-none disabled:cursor-wait disabled:opacity-45",children:[m?a.jsx(lt,{className:"h-3 w-3 animate-spin","aria-hidden":!0}):a.jsx(xf,{className:"h-3 w-3","aria-hidden":!0}),I(m?"session.action.exportingShort":"session.action.exportShort")]}),a.jsxs("button",{type:"button",role:"menuitem","aria-label":I("session.action.delete",{title:u}),onClick:P=>{N(P),B(!1)},className:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono text-[11px] text-red-600 transition-colors hover:bg-red-500/10 focus-visible:bg-red-500/10 focus-visible:outline-none dark:text-red-400",children:[a.jsx(yf,{className:"h-3 w-3","aria-hidden":!0}),I("session.action.deleteShort")]})]})]})]})]})}function f5({onExpand:e,onNewChat:t,onOpenTaskSwitcher:n,onToggleTerminal:r,onToggleSettings:s,isTerminalOpen:o,taskEventsConnected:i,unreadCount:u,className:p}){const d=Mt(),f=[{icon:vf,action:s,labelKey:"sidebar.section.settings"}];return a.jsxs("div",{className:G("flex flex-col gap-2 items-center py-5 h-screen border-r w-[64px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]",p),children:[a.jsx("button",{onClick:e,className:"rounded-md p-1 transition-colors hover:bg-[hsl(var(--deck-surface))]","aria-label":d("sidebar.action.expand"),children:a.jsx(Bd,{size:28})}),a.jsx("button",{onClick:t,"aria-label":d("sidebar.action.newTaskShort"),title:d("sidebar.action.newTaskShort"),className:"mt-6 flex h-10 w-10 items-center justify-center rounded-md bg-[hsl(var(--deck-ink))] text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/85",children:a.jsx(Bc,{className:"h-4 w-4 stroke-[2.5]"})}),a.jsx("button",{onClick:r,"aria-label":d("sidebar.action.terminalToggle"),title:d("sidebar.action.terminal"),className:G("flex h-10 w-10 items-center justify-center rounded-md border transition-colors",o?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"border-transparent text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]"),children:a.jsx(Sf,{className:"w-4 h-4"})}),a.jsxs("button",{onClick:n,"aria-label":d("sidebar.action.searchTasks"),title:`${d("sidebar.action.searchTasks")} (${Oc("searchTasks")})`,className:"relative flex h-10 w-10 items-center justify-center rounded-md border border-transparent text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsx(Hc,{className:"h-4 w-4"}),u>0&&a.jsx("span",{"aria-label":d("sidebar.unreadTasks",{count:u}),className:"absolute right-0.5 top-0.5 flex min-h-4 min-w-4 items-center justify-center rounded-full bg-[hsl(var(--deck-accent))] px-1 font-mono text-[8px] font-semibold text-white",children:u>99?"99+":u})]}),a.jsx("div",{className:"flex-1"}),a.jsx("div",{className:"my-2 h-px w-6 bg-[hsl(var(--deck-hairline))]"}),f.map(({icon:m,action:h,labelKey:k})=>a.jsx("button",{"data-settings-trigger":!0,onClick:h,"aria-label":d(k),title:d(k),className:"flex h-10 w-10 items-center justify-center rounded-md text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:a.jsx(m,{className:"w-4 h-4"})},k)),a.jsx(Kx,{variant:"compact"}),a.jsx("div",{className:"mt-1",children:a.jsx("div",{role:"status","aria-label":d(i?"sidebar.status.feedLive":"sidebar.status.feedOffline"),className:G("h-2 w-2 rounded-full",i?"bg-[hsl(var(--deck-accent))] shadow-[0_0_6px_hsl(var(--deck-accent-glow)/0.9)]":"bg-[hsl(var(--deck-ink-faint))]/60"),title:d(i?"sidebar.status.feedLive":"sidebar.status.feedOffline")})})]})}const Vx="blade.sidebar.project-order.v1";function ai(e){const t=new Set,n=[];for(const r of e)typeof r!="string"||!r||t.has(r)||(t.add(r),n.push(r));return n}function p5(){if(typeof window>"u")return[];try{const e=JSON.parse(window.localStorage.getItem(Vx)??"[]");return Array.isArray(e)?ai(e):[]}catch{return[]}}function m5(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Vx,JSON.stringify(ai(e)))}catch{}}function h5(e,t){const n=new Map(ai(t).map((s,o)=>[s,o])),r=n.size;return e.map((s,o)=>({project:s,rank:n.get(s.path)??r+o})).sort((s,o)=>s.rank-o.rank).map(({project:s})=>s)}function g5(e,t,n){const r=ai(e),s=r.indexOf(t),o=r.indexOf(n);if(s<0||o<0||s===o)return r;const[i]=r.splice(s,1);return r.splice(o,0,i),r}function b5(e,t,n){const r=ai(e),s=r.indexOf(t),o=s+n;return s<0||o<0||o>=r.length||([r[s],r[o]]=[r[o],r[s]]),r}function k5({name:e,path:t,count:n,countIsPartial:r=!1,isActive:s,hasRunning:o,unreadCount:i,collapsed:u,onToggle:p,onSelect:d,onCreateTask:f,reorderPosition:m,reorderCount:h,isDragging:k=!1,onDragStart:x,onDragEnd:C,onReorderKeyDown:T}){const b=Mt();return a.jsxs("div",{className:G("group/proj flex w-full items-center gap-2 px-5 pb-1.5 pt-3 text-left transition-colors","hover:bg-[hsl(var(--deck-surface))]/40"),children:[a.jsx("button",{type:"button",draggable:!0,"data-project-drag-handle":t,onDragStart:x,onDragEnd:C,onKeyDown:T,"aria-label":b("sidebar.project.reorder",{name:e,position:m,count:h}),title:b("sidebar.project.reorderHint"),className:G("-ml-2 flex h-6 w-4 shrink-0 cursor-grab items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-45 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink-muted))] hover:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] active:cursor-grabbing group-hover/proj:opacity-100",k&&"cursor-grabbing opacity-100 text-[hsl(var(--deck-accent))]"),children:a.jsx(zy,{className:"h-3.5 w-3.5"})}),a.jsx("button",{type:"button",onClick:p,"aria-expanded":!u,"aria-label":b(u?"sidebar.project.expand":"sidebar.project.collapse",{name:e}),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(qy,{className:G("h-3 w-3 text-[hsl(var(--deck-ink-faint))] transition-transform duration-150",!u&&"rotate-90")})}),a.jsxs("button",{type:"button",onClick:d??p,title:t,"aria-current":s?"true":void 0,className:"flex min-h-6 min-w-0 flex-1 items-center gap-2 rounded-sm text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx(oo,{className:G("h-3.5 w-3.5 shrink-0",s?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]")}),a.jsx("span",{className:G("flex-1 truncate font-mono text-[11.5px] font-medium tracking-[-0.01em]",s?"text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:e}),o&&a.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse dark:bg-blue-400","aria-hidden":!0}),i>0&&a.jsx("span",{"aria-label":b("sidebar.unreadTasks",{count:i}),className:"shrink-0 rounded-full bg-[hsl(var(--deck-accent))] px-1.5 py-0.5 font-mono text-[8px] font-semibold text-white",children:i}),a.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-[hsl(var(--deck-ink-faint))]",children:[n.toString().padStart(2,"0"),r?"+":""]})]}),f&&a.jsx("button",{type:"button",onClick:f,title:b("sidebar.project.newTask",{name:e}),"aria-label":b("sidebar.project.newTask",{name:e}),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-sm text-[hsl(var(--deck-ink-faint))] opacity-0 transition-[opacity,color,background-color] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-accent))] focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] group-hover/proj:opacity-100",children:a.jsx(Bc,{className:"h-3.5 w-3.5"})})]})}function Rc(e){const t=e.lastMessageTime||e.firstMessageTime;if(!t)return 0;const n=new Date(t).getTime();return Number.isNaN(n)?0:n}function cf(e){return e.pendingInteraction?0:e.taskStatus==="running"?1:e.taskStatus==="queued"?2:3}function Hd(e,t){return cf(e)-cf(t)||Rc(t)-Rc(e)}const x5=["running","queued","interrupted","failed","cancelled","completed"],y5={running:"RUNNING",queued:"QUEUED",interrupted:"INTERRUPTED",failed:"FAILED",cancelled:"CANCELLED",completed:"DONE"},gs=e=>e.length>1?e.replace(/\/+$/,""):e;function Jx(e){const t=new Map;for(const n of e){if(!n)continue;const r=Le(de(n));t.has(r)||t.set(r,n)}return Array.from(t.values())}function w5(e){const t=Jx(e),n=[];for(const r of x5){const s=t.filter(o=>o.taskStatus===r).sort(Hd);s.length>0&&n.push({code:y5[r],status:r,sessions:s})}return n}function v5(e,t,n=[]){const r=Jx(e),s=new Map,o=n.map(gs),i=new Map(o.map((d,f)=>[d,f]));for(const d of o)s.set(d,[]);for(const d of r){const f=ii(d,t),m=s.get(f);m?m.push(d):s.set(f,[d])}const u=t?gs(t):null,p=Array.from(s.entries()).map(([d,f])=>{const m=[...f].sort(Hd),h=f.reduce((k,x)=>Math.max(k,Rc(x)),0);return{path:d,name:Pc(d),isActive:u?gs(d)===u:!1,isBound:i.has(gs(d)),hasRunning:f.some(k=>k.taskStatus==="running"),lastActivity:h,sessions:m}});return p.sort((d,f)=>d.isBound!==f.isBound?d.isBound?-1:1:d.isBound&&f.isBound?(i.get(gs(d.path))??Number.MAX_SAFE_INTEGER)-(i.get(gs(f.path))??Number.MAX_SAFE_INTEGER):f.lastActivity-d.lastActivity),p}const lf=12,S5={RUNNING:"sidebar.group.running",QUEUED:"sidebar.group.queued",INTERRUPTED:"sidebar.group.interrupted",FAILED:"sidebar.group.failed",CANCELLED:"sidebar.group.cancelled",DONE:"sidebar.group.done"},I5={RUNNING:"text-blue-700 dark:text-blue-400",QUEUED:"text-amber-700 dark:text-amber-400",INTERRUPTED:"text-orange-700 dark:text-orange-400",FAILED:"text-red-700 dark:text-red-400",CANCELLED:"text-[hsl(var(--deck-ink-faint))]",DONE:"text-[hsl(var(--deck-accent))]"};function j5({view:e,sessions:t,activeProjectPath:n,boundProjects:r,currentSessionRef:s,unreadTaskKeys:o,catalogLoadState:i,catalogError:u,onSelectProject:p,onCreateTask:d,onRetryCatalog:f,renderRow:m}){const h=Mt(),[k,x]=w.useState({}),[C,T]=w.useState({}),[b,A]=w.useState(p5),[N,R]=w.useState(null),[V,j]=w.useState(null),[I,O]=w.useState(""),B=i==="loading"||i==="hydrating",Z=B||i==="error",re=w.useMemo(()=>e==="status"?w5(t):[],[t,e]),P=w.useMemo(()=>e==="project"?v5(t,n,r.map($=>$.path)):[],[n,r,t,e]),z=w.useMemo(()=>h5(P,b),[P,b]),J=($,pe)=>{const ke=C[$]??!1,Qe=ke?pe:pe.filter((Q,L)=>{if(L<lf)return!0;const Se=de(Q);return!!Q.pendingInteraction||o.includes(Le(Se))||!!(s&&oe(Se,s))}),ct=pe.length-Qe.length,F=ke?pe.length>lf:ct>0;return a.jsxs(a.Fragment,{children:[Qe.map(m),F&&a.jsx("button",{type:"button",onClick:()=>T(Q=>({...Q,[$]:!ke})),className:"mx-4 my-1 rounded-md px-3 py-1.5 text-left font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink-muted))]",children:ke?h("sidebar.group.showLess"):h("sidebar.group.showMore",{count:ct})})]})},he=B?a.jsxs("div",{role:"status","aria-live":"polite",className:"mx-4 mt-2 flex items-center gap-2 rounded-md bg-[hsl(var(--deck-surface))]/55 px-3 py-2 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(lt,{className:"h-3 w-3 shrink-0 animate-spin text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"flex-1 min-w-0",children:h("sidebar.catalog.syncing")}),a.jsx("span",{className:"tabular-nums shrink-0",children:h("sidebar.catalog.loaded",{count:t.length})})]}):i==="error"?a.jsxs("div",{role:"alert",title:u??void 0,className:"mx-4 mt-2 flex items-center gap-2 rounded-md bg-amber-50/80 px-3 py-2 font-mono text-[9.5px] text-amber-800 dark:bg-amber-950/35 dark:text-amber-300",children:[a.jsx(Is,{className:"w-3 h-3 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0",children:h("sidebar.catalog.incomplete")}),a.jsxs("button",{type:"button",onClick:f,className:"inline-flex min-h-6 shrink-0 items-center gap-1 rounded px-1.5 font-medium hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-amber-500 dark:hover:bg-amber-900/50",children:[a.jsx(so,{className:"h-2.5 w-2.5"}),h("sidebar.catalog.retry")]})]}):null;if(e==="status")return a.jsxs("div",{className:"flex flex-col",children:[he,re.map(($,pe)=>a.jsxs("div",{children:[a.jsxs("div",{className:G("flex items-center justify-between px-5 pb-2 pt-3 font-mono text-[10px] tracking-[0.16em]",I5[$.code]??"text-[hsl(var(--deck-ink-faint))]",pe===0&&"pt-2"),children:[a.jsx("span",{children:h(S5[$.code])}),a.jsxs("span",{className:"text-[hsl(var(--deck-ink-faint))]",children:[$.sessions.length.toString().padStart(2,"0"),Z?"+":""]})]}),J(`status:${$.code}`,$.sessions)]},$.code))]});const $e=z.some($=>$.isActive),Ce=$=>!!(s&&$.sessions.some(pe=>oe(de(pe),s))),ie=($,pe)=>{if($.join("\0")===z.map(Qe=>Qe.path).join("\0"))return;A($),m5($);const ke=z.find(Qe=>Qe.path===pe);O(h("sidebar.project.reordered",{name:(ke==null?void 0:ke.name)??pe,position:$.indexOf(pe)+1}))},Me=($,pe)=>{const ke=$.sessions.filter(L=>o.includes(Le(de(L)))).length,Qe=Ce($),ct=ke>0,F=$.sessions.some(L=>!!L.pendingInteraction),Q=k[$.path]??($e&&!$.isActive&&!(Qe||$.hasRunning||ct||F));return a.jsxs("div",{"data-project-group":$.path,onDragEnter:L=>{!N||N===$.path||(L.preventDefault(),j($.path))},onDragOver:L=>{!N||N===$.path||(L.preventDefault(),L.dataTransfer.dropEffect="move")},onDrop:L=>{L.preventDefault();const Se=N||L.dataTransfer.getData("text/plain");Se&&Se!==$.path&&ie(g5(z.map(Pe=>Pe.path),Se,$.path),Se),R(null),j(null)},className:G("relative transition-colors",V===$.path&&N!==$.path&&"bg-[hsl(var(--deck-accent-soft))]/55 before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-[hsl(var(--deck-accent))]"),children:[a.jsx(k5,{name:$.name,path:$.path,count:$.sessions.length,countIsPartial:Z,isActive:$.isActive,hasRunning:$.hasRunning,unreadCount:ke,collapsed:Q,onSelect:()=>p($.path),onCreateTask:()=>d($.path),reorderPosition:pe+1,reorderCount:z.length,isDragging:N===$.path,onDragStart:L=>{L.dataTransfer.effectAllowed="move",L.dataTransfer.setData("text/plain",$.path),R($.path)},onDragEnd:()=>{R(null),j(null)},onReorderKeyDown:L=>{if(L.key!=="ArrowUp"&&L.key!=="ArrowDown")return;L.preventDefault();const Se=b5(z.map(Pe=>Pe.path),$.path,L.key==="ArrowUp"?-1:1);ie(Se,$.path)},onToggle:()=>x(L=>({...L,[$.path]:!Q}))}),!Q&&J(`project:${$.path}`,$.sessions)]},$.path)};return a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"sr-only","aria-live":"polite",children:I}),he,z.length>0&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"px-5 pb-0.5 pt-2 font-mono text-[9px] uppercase tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]",children:h("sidebar.project.projects")}),z.map(Me)]})]})}function C5({className:e,onNavigate:t}){const n=Mt(),{toggleSettings:r,toggleSidebar:s,isSidebarOpen:o,isTerminalOpen:i,toggleTerminal:u,sidebarView:p,setSidebarView:d,setTaskSwitcherOpen:f}=mr(),m=D(y=>y.sessions),h=D(y=>y.catalogLoadState),k=D(y=>y.catalogError),x=D(y=>y.currentSessionRef),C=D(y=>y.forkingSessionRef),T=D(y=>y.selectSession),b=D(y=>y.startTemporarySession),A=D(y=>y.deleteSession),N=D(y=>y.archiveSession),R=D(y=>y.forkSession),V=D(y=>y.updateSession),j=D(y=>y.loadSessions),I=D(y=>y.setError),O=D(y=>y.taskEventsConnected),B=D(y=>y.taskWorkspaceInfo),Z=D(y=>y.boundProjects),re=D(y=>y.selectedProjectPath),P=D(y=>y.bindProject),z=D(y=>y.selectProject),J=D(y=>y.cancelTask),he=D(y=>y.cancellingTaskKeys),$e=D(y=>y.retryTask),Ce=D(y=>y.retryingTaskKeys),ie=D(y=>y.unreadTaskKeys),[Me,$]=w.useState(null),[pe,ke]=w.useState(""),[Qe,ct]=w.useState(null),[F,Q]=w.useState(!1),L=re??(B==null?void 0:B.cwd)??null,Se=y=>uo(y,n),Pe=y=>{const Y=y.taskSourceProjectPath||y.projectPath,Fe=Y.split("/").filter(Boolean).at(-1)||Y,pt=y.taskIsolation==="worktree"?y.taskWorktreeBranch||n("session.env.worktree"):n("session.env.local"),Un=y.taskDiffStat?`+${y.taskDiffStat.additions} −${y.taskDiffStat.deletions}`:void 0,ls=y.taskStatus==="queued"&&y.taskQueuePosition?n("session.queued",{position:y.taskQueuePosition,depth:y.taskQueueDepth??y.taskQueuePosition}):void 0,ds=_d(y,n);return{project:Fe,environment:pt,diff:Un,queue:ls,reason:ds}},Ee=()=>{b(L??void 0),t==null||t()},An=async y=>{Z.some(Y=>Y.path===y)?z(y):await P(y),b(y),t==null||t()},Lt=async y=>{Z.some(Y=>Y.path===y)?z(y):await P(y),b(y),t==null||t()},Ye=y=>{y(),t==null||t()},_n=async(y,Y)=>{y.stopPropagation(),await A(de(Y))},ft=async y=>{const Y=de(y),Fe=Le(Y);if(!Qe){ct(Fe);try{await qx(Y)}catch(pt){I(pt instanceof Error?pt.message:"Session export failed")}finally{ct(null)}}},rn=(y,Y)=>{y.stopPropagation(),$(Le(de(Y))),ke(Se(Y))},Pn=async y=>{if(!pe.trim()){$(null);return}try{await V(de(y),pe.trim()),$(null),await j()}catch(Y){console.error("Failed to rename session:",Y)}},Dt=()=>{$(null),ke("")};return o?a.jsxs("div",{className:G("flex flex-col h-screen border-r w-[260px] border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))]",e),children:[a.jsxs("div",{className:"flex flex-col gap-6 px-5 pt-5 pb-5",children:[a.jsxs("div",{className:"flex justify-between items-center",children:[a.jsxs("div",{className:"flex items-center gap-2.5",children:[a.jsx(Bd,{size:26}),a.jsx("span",{className:"font-mono text-[15px] font-semibold tracking-[-0.01em] text-[hsl(var(--deck-ink))]",children:"Blade"}),a.jsx("span",{className:"ml-1 rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-1 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.brand.badge")})]}),a.jsx("button",{onClick:s,"aria-label":n("sidebar.action.collapse"),className:"flex h-8 w-8 items-center justify-center rounded transition-colors hover:bg-[hsl(var(--deck-surface))]",children:a.jsx(Ky,{className:"h-3 w-3 text-[hsl(var(--deck-ink-muted))]"})})]}),a.jsxs("div",{className:"flex flex-col gap-1.5",children:[a.jsxs("button",{onClick:Ee,className:"flex h-9 w-full items-center justify-between rounded-md bg-[hsl(var(--deck-ink))] px-3 font-mono text-[13px] font-medium text-[hsl(var(--deck-canvas))] transition-colors hover:bg-[hsl(var(--deck-ink))]/88",children:[a.jsxs("span",{className:"flex gap-2 items-center",children:[a.jsx(Bc,{className:"h-3.5 w-3.5 stroke-[2.5]"}),n("sidebar.action.newTask")]}),a.jsx("span",{className:"rounded-sm bg-white/10 px-1.5 py-[1px] font-mono text-[10px] text-white/80",children:Oc("newTask")})]}),a.jsxs("button",{onClick:()=>Ye(u),className:G("flex h-9 w-full items-center gap-2 rounded-md border px-3 font-mono text-[12.5px] transition-colors",i?"border-[hsl(var(--deck-accent)/0.55)] bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-muted))] hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]"),children:[a.jsx(Sf,{className:"h-3.5 w-3.5"}),n("sidebar.action.terminal")]}),a.jsxs("button",{type:"button",onClick:()=>Ye(()=>f(!0)),className:"flex h-9 w-full items-center justify-between rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsxs("span",{className:"flex items-center gap-2",children:[a.jsx(Hc,{className:"h-3.5 w-3.5"}),n("sidebar.action.searchTasks")]}),a.jsx("span",{className:"rounded-sm border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-1.5 py-[1px] font-mono text-[9px] text-[hsl(var(--deck-ink-faint))]",children:ie.length>0?ie.length:Oc("searchTasks")})]})]}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx("div",{className:"flex flex-1 items-center gap-0.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-0.5",children:["project","status"].map(y=>a.jsx("button",{type:"button",onClick:()=>d(y),"aria-pressed":p===y,"aria-label":n(y==="project"?"sidebar.view.projectAria":"sidebar.view.statusAria"),className:G("flex-1 rounded-[5px] py-1 font-mono text-[11px] tracking-[0.02em] transition-colors",p===y?"bg-[hsl(var(--deck-canvas))] text-[hsl(var(--deck-ink))] shadow-sm":"text-[hsl(var(--deck-ink-faint))] hover:text-[hsl(var(--deck-ink-muted))]"),children:n(y==="project"?"sidebar.view.project":"sidebar.view.status")},y))}),a.jsx("button",{type:"button",onClick:()=>Q(!0),title:n("projects.bind.action"),"aria-label":n("projects.bind.action"),className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] text-[hsl(var(--deck-ink-faint))] transition-colors hover:border-[hsl(var(--deck-border-strong))] hover:text-[hsl(var(--deck-accent))]",children:a.jsx(Ci,{className:"h-3.5 w-3.5"})})]})]}),a.jsx(Ud,{className:"flex-1 px-0",children:a.jsxs("div",{className:"flex flex-col",children:[(m.length>0||Z.length>0||h==="loading"||h==="hydrating"||h==="error")&&a.jsx(j5,{view:p,sessions:m,activeProjectPath:L,boundProjects:Z,currentSessionRef:x,unreadTaskKeys:ie,catalogLoadState:h,catalogError:k,onRetryCatalog:j,onSelectProject:y=>void An(y).catch(()=>{}),onCreateTask:y=>void Lt(y).catch(()=>{}),renderRow:y=>{const Y=de(y),Fe=Le(Y),pt=oe(Y,x),Un=Me===Fe,ls=oe(Y,C),ds=!!C;return a.jsx(u5,{session:y,sessionRef:Y,isActive:pt,isForking:ls,isUnread:ie.includes(Le(Y)),anyForking:ds,isEditing:Un,editingTitle:pe,title:Se(y),context:Pe(y),isCancelling:he.includes(Le(Y)),isRetrying:Ce.includes(Le(Y)),isExporting:Qe===Fe,onSelect:()=>(t==null||t(),T(Y)),onCancelTask:()=>{J(Y).catch(()=>{})},onRetryTask:()=>{$e(Y).catch(()=>{})},onFork:()=>void R(y),onArchive:()=>void N(Y),onExport:()=>void ft(y),onStartRename:us=>rn(us,y),onDelete:us=>_n(us,y),onEditingTitleChange:ke,onSaveRename:()=>Pn(y),onCancelRename:Dt},Fe)}}),m.length===0&&a.jsx("div",{className:"px-5 mt-6",children:a.jsxs("div",{className:"rounded-md border border-dashed border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]/60 px-4 py-6 text-center",children:[a.jsx("div",{className:"mx-auto mb-2 inline-flex h-8 w-8 items-center justify-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))]",children:a.jsx(If,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"})}),a.jsx("div",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:n("sidebar.empty.title")}),a.jsx("div",{className:"mt-1 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.empty.hint")})]})})]})}),a.jsxs("div",{className:"flex flex-col gap-3 px-5 pt-3 pb-5",children:[a.jsxs("div",{className:"flex flex-col gap-0.5 border-t border-[hsl(var(--deck-hairline))] pt-3",children:[a.jsx(c5,{}),[{icon:vf,action:()=>Ye(r),labelKey:"sidebar.section.settings"}].map(({icon:y,action:Y,labelKey:Fe})=>a.jsxs("button",{"data-settings-trigger":!0,onClick:Y,className:"flex h-8 w-full items-center gap-2.5 rounded-md px-2.5 font-mono text-[12.5px] text-[hsl(var(--deck-ink-muted))] transition-colors hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:[a.jsx(y,{className:"h-3.5 w-3.5 text-[hsl(var(--deck-ink-faint))]"}),n(Fe)]},Fe))]}),a.jsxs("div",{className:"flex gap-2 justify-between items-center",children:[a.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.14em] text-[hsl(var(--deck-ink-faint))]",children:n("sidebar.language.label")}),a.jsx(Kx,{})]}),a.jsxs("div",{className:"flex items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2",children:[a.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-md bg-[hsl(var(--deck-canvas-veil))]",children:a.jsx("div",{className:"h-2 w-2 rounded-full bg-[hsl(var(--deck-ink))]"})}),a.jsxs("div",{className:"flex flex-1 flex-col gap-[1px]",children:[a.jsx("span",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink))]",children:n("sidebar.status.user")}),a.jsxs("span",{className:G("flex gap-1 items-center font-mono text-[10px]",O?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-faint))]"),children:[a.jsx("span",{className:G("h-1 w-1 rounded-full",O?"bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.9)]":"bg-[hsl(var(--deck-ink-faint))]/60")}),n(O?"sidebar.status.feedLive":"sidebar.status.feedOffline")]})]})]})]}),a.jsx(Wx,{open:F,onOpenChange:Q})]}):a.jsx(f5,{className:e,onExpand:s,onNewChat:Ee,onOpenTaskSwitcher:()=>Ye(()=>f(!0)),onToggleTerminal:()=>Ye(u),onToggleSettings:()=>Ye(r),isTerminalOpen:i,taskEventsConnected:O,unreadCount:ie.length})}const E5=w.lazy(()=>ko(()=>import("./SettingsModal-4L1nPkh0.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.SettingsModal}))),Qx=()=>ko(()=>import("./TaskSwitcher-DKSqTLK1.js"),__vite__mapDeps([5,1,3,2,4])).then(e=>({default:e.TaskSwitcher})),T5=w.lazy(Qx),A5=w.lazy(()=>ko(()=>import("./FilePreview-BXg9VaTv.js"),__vite__mapDeps([6,1,3,2,4])).then(e=>({default:e.FilePreview}))),P5=w.lazy(()=>ko(()=>import("./TerminalPanel-Bv9PDclr.js"),__vite__mapDeps([7,1,8,9,3,2,4])).then(e=>({default:e.TerminalPanel}))),ec=e=>{if(e.startsWith("/Users/")){const t=e.split("/");if(t.length>=3)return"~/"+t.slice(3).join("/")}return e},N5=e=>e.replace(/^~\//,"~/§").split("/").filter(Boolean).map((t,n,r)=>{var s;return n===0&&((s=r[0])!=null&&s.startsWith("~"))?"~":t.replace(/^§/,"")});function O5({children:e}){var Qe,ct;const t=Mt();a5();const{isSidebarOpen:n,isFilePreviewOpen:r,isSettingsOpen:s,isTerminalOpen:o,isTaskSwitcherOpen:i,toggleFilePreview:u,openFilePreview:p,previewRequestId:d,setSidebarOpen:f}=mr();w.useEffect(()=>{const F=window.setTimeout(()=>{Qx()},1500);return()=>window.clearTimeout(F)},[]);const m=D(F=>F.currentSessionId),h=D(F=>F.currentSessionRef),k=D(F=>F.sessions),x=D(F=>F.isStreaming),C=D(F=>F.isTemporarySession),T=D(F=>F.taskWorkspaceInfo),b=D(F=>F.boundProjects),A=D(F=>F.selectedProjectPath),[N,R]=w.useState(null),[V,j]=w.useState(!1),[I,O]=w.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 639px)").matches),[B,Z]=w.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 1023px)").matches),re=w.useRef(null),P=w.useRef(null),z=w.useRef(null),J=w.useMemo(()=>k.find(F=>oe({sessionId:F.sessionId,projectPath:F.projectPath},h)),[h,k]),he=(J==null?void 0:J.taskIsolation)==="worktree"&&J.taskSourceProjectPath&&(((Qe=J.taskDelivery)==null?void 0:Qe.status)==="applied"||((ct=J.taskDelivery)==null?void 0:ct.status)==="discarded")?J.taskSourceProjectPath:h==null?void 0:h.projectPath;w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 900px)"),Q=()=>{F.matches&&f(!1)};return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[f]),w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 639px)"),Q=()=>O(F.matches);return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[]),w.useEffect(()=>{if(typeof window.matchMedia!="function")return;const F=window.matchMedia("(max-width: 1023px)"),Q=()=>Z(F.matches);return Q(),F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[]),w.useEffect(()=>{if(!I||!n)return;const F=requestAnimationFrame(()=>{var Q,L;(L=(Q=re.current)==null?void 0:Q.querySelector("button"))==null||L.focus()});return()=>{var Q;cancelAnimationFrame(F),(Q=P.current)==null||Q.focus({preventScroll:!0})}},[I,n]);const $e=F=>{var Pe;if(!I||!n)return;if(F.key==="Escape"){F.preventDefault(),f(!1);return}if(F.key!=="Tab")return;const Q=Array.from(((Pe=re.current)==null?void 0:Pe.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), [href], [tabindex]:not([tabindex="-1"])'))??[]);if(Q.length===0)return;const L=Q[0],Se=Q[Q.length-1];F.shiftKey&&document.activeElement===L?(F.preventDefault(),Se==null||Se.focus()):!F.shiftKey&&document.activeElement===Se&&(F.preventDefault(),L==null||L.focus())},Ce=w.useMemo(()=>!m||C?A?ec(A):null:J!=null&&J.projectPath?ec(J.taskSourceProjectPath||J.projectPath):null,[m,J,C,A]),ie=w.useMemo(()=>Ce?N5(Ce):[],[Ce]);w.useEffect(()=>{var Q;if(!h){R(((Q=b.find(L=>L.path===A))==null?void 0:Q.gitBranch)??null);return}(async()=>{try{const L=await ee.getGitInfo({sessionId:h.sessionId,projectPath:he??h.projectPath});R(L.branch)}catch{R(null)}})()},[b,h,he,A]);const Me=T==null?void 0:T.taskAdmission,$=he??A??(T==null?void 0:T.cwd)??null,pe=h?Le(h):`project:${A??"none"}`,ke=r&&B;return a.jsxs("div",{className:"flex h-screen overflow-hidden bg-[hsl(var(--deck-canvas))]",children:[I&&n&&!ke&&a.jsx("button",{type:"button","aria-label":t("sidebar.action.collapse"),onClick:()=>f(!1),className:"fixed inset-0 z-40 bg-black/25 backdrop-blur-[1px]"}),a.jsx("div",{ref:re,role:I&&n&&!ke?"dialog":void 0,"aria-modal":I&&n&&!ke?!0:void 0,"aria-label":I&&n&&!ke?t("sidebar.navigationAria"):void 0,"aria-hidden":ke||I&&!n?!0:void 0,inert:ke||I&&!n?!0:void 0,onKeyDown:$e,className:G("overflow-hidden",n?"w-[260px]":"w-[64px]",I?"fixed inset-y-0 left-0 z-50 shadow-2xl transition-none":"shrink-0 transition-[width] duration-300 ease-in-out",I&&!n&&"-translate-x-full"),children:a.jsx("div",{className:G("transition-all duration-300 ease-in-out",n?"w-[260px]":"w-[64px]"),children:a.jsx(C5,{onNavigate:()=>{I&&f(!1)}})})}),a.jsxs("div",{className:"flex flex-col flex-1 min-w-0",children:[a.jsxs("header",{"aria-hidden":ke||void 0,inert:ke||void 0,className:"relative z-10 flex h-14 items-center gap-2 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas))]/90 px-3 backdrop-blur-md sm:gap-4 sm:px-6",children:[I&&a.jsx(pr,{ref:P,"data-mobile-navigation-trigger":!0,variant:"ghost",size:"icon",onClick:()=>f(!0),"aria-label":t("layout.action.openNavigation"),title:t("layout.action.openNavigation"),className:"h-9 w-9 shrink-0 rounded-md text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",children:a.jsx(Gy,{className:"h-4 w-4"})}),a.jsxs("div",{className:"flex gap-2 items-center min-w-0",children:[ie.length>0?a.jsx("nav",{"aria-label":t("layout.workspace.pathAria"),title:Ce??void 0,className:"flex min-w-0 items-center font-mono text-[12px] text-[hsl(var(--deck-ink-muted))]",children:ie.map((F,Q)=>{const L=Q===ie.length-1,Se=Q===0&&F==="~";return a.jsxs("span",{className:"flex items-center min-w-0",children:[Q>0&&a.jsx("span",{className:"mx-1 text-[hsl(var(--deck-ink-faint))]/70",children:"/"}),Q===0&&!Se&&a.jsx("span",{className:"mr-1 text-[hsl(var(--deck-ink-faint))]/70",children:"/"}),a.jsx("span",{className:G("truncate",L?"font-medium text-[hsl(var(--deck-ink))]":"text-[hsl(var(--deck-ink-muted))]"),children:F})]},Q)})}):a.jsx("span",{className:"font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:T!=null&&T.cwd?ec(T.cwd):t("layout.workspace.empty")}),N&&a.jsxs("span",{className:"ml-2 inline-flex items-center gap-1 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2 py-0.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(_c,{className:"h-3 w-3 text-[hsl(var(--deck-accent))]"}),N]})]}),a.jsxs("div",{className:"flex gap-3 items-center ml-auto",children:[Me&&a.jsx("span",{className:"hidden items-center rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-2.5 py-1 md:inline-flex",children:a.jsx(Dx,{inFlight:Me.inFlight,queued:Me.queued,maxConcurrent:Me.maxConcurrent,compact:!0})}),a.jsxs("div",{className:"flex items-center gap-0.5",children:[a.jsx(pr,{variant:"ghost",size:"icon","aria-label":t("layout.action.rewind"),title:t("layout.action.rewind"),disabled:!h||C||x,onClick:()=>j(!0),className:"h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))] disabled:opacity-35",children:a.jsx(qi,{className:"w-4 h-4"})}),a.jsx(pr,{ref:z,variant:"ghost",size:"icon",onClick:()=>{if(r){u();return}p((!h||C)&&d===0?{tab:"files"}:void 0)},title:t("layout.action.filePreview"),"aria-label":t("layout.action.filePreviewToggle"),className:G("h-8 w-8 rounded-md text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] hover:text-[hsl(var(--deck-ink))]",r&&"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-accent-soft))] hover:text-[hsl(var(--deck-accent))]"),children:a.jsx(Wy,{className:"w-4 h-4"})})]})]})]}),a.jsxs("main",{className:"flex-1 overflow-hidden relative flex bg-[hsl(var(--deck-canvas))]",children:[a.jsx("div",{"data-preview-background":"content","aria-hidden":ke||void 0,inert:ke||void 0,className:"flex relative flex-col flex-1 min-w-0",children:s?a.jsx(w.Suspense,{fallback:null,children:a.jsx(E5,{})}):e}),r&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(A5,{returnFocusElement:z.current},pe)})]})]}),o&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(P5,{workspacePath:$},$??"default-workspace")}),i&&a.jsx(w.Suspense,{fallback:null,children:a.jsx(T5,{})}),a.jsx(X2,{open:V,onOpenChange:j})]})}const tc="BladeCode";function R5(){const e=Mt(),t=D(i=>i.unreadTaskKeys),n=D(i=>i.sessions),r=D(i=>i.selectSession),s=D(i=>i.selectProject),o=w.useMemo(()=>{const i=new Set(t);for(const u of n)u.pendingInteraction&&i.add(Le(de(u)));return i.size},[n,t]);return w.useEffect(()=>(document.title=o>0?`(${o}) ${tc}`:tc,()=>{document.title=tc}),[o]),w.useEffect(()=>{const i=u=>{var h;const p=u.detail;if(!(p!=null&&p.sessionId)||!p.projectPath)return;const d=D.getState(),f=Dd(d.sessions,p),m=f?ii(f,d.selectedProjectPath??((h=d.taskWorkspaceInfo)==null?void 0:h.cwd)??null):p.projectPath;d.boundProjects.some(k=>k.available&&k.path===m)&&s(m),r(p)};return window.addEventListener(_i,i),()=>window.removeEventListener(_i,i)},[s,r]),a.jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:o>0?e("attention.unreadAnnouncement",{count:o}):""})}const $c=w.forwardRef(({className:e,...t},n)=>a.jsx("textarea",{className:G("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t}));$c.displayName="Textarea";const $5=(e,t)=>{const n=[...e.matchAll(/(?:^|\s)(@(?:"[^"]*"|(?:[^\\ ]|\\ )*))/g)];for(const r of n){const s=r[1],o=r.index+(r[0].length-s.length),i=o+s.length;if(t>=o&&t<=i){let u=s.slice(1),p=!1;return u.startsWith('"')&&(p=!0,u=u.slice(1),u.endsWith('"')&&(u=u.slice(0,-1))),{hasQuery:!0,query:u,startIndex:o,endIndex:i,quoted:p}}}return{hasQuery:!1,query:"",startIndex:-1,endIndex:-1,quoted:!1}},M5=(e,t,n={})=>{const{debounceDelay:r=200,maxSuggestions:s=15,workspacePath:o}=n,[i,u]=w.useState([]),[p,d]=w.useState(0),[f,m]=w.useState(!1),h=w.useMemo(()=>t===void 0?{hasQuery:!1,query:"",startIndex:-1,endIndex:-1,quoted:!1}:$5(e,t),[e,t]);w.useEffect(()=>{if(!h.hasQuery){u([]),m(!1);return}let C=!1;m(!0);const b=setTimeout(async()=>{try{const A=await fetch(`/suggestions/files?q=${encodeURIComponent(h.query)}&limit=${s}`,o?{headers:{"x-blade-directory":o}}:void 0);if(!A.ok)throw new Error("Failed to fetch suggestions");const N=await A.json();C||u(N)}catch(A){console.error("Failed to fetch file suggestions:",A),C||u([])}finally{C||m(!1)}},r);return()=>{C=!0,clearTimeout(b)}},[h.hasQuery,h.query,r,s,o]),w.useEffect(()=>{d(0)},[i]);const k=w.useCallback(()=>{d(C=>(C+1)%Math.max(i.length,1))},[i.length]),x=w.useCallback(()=>{d(C=>(C-1+i.length)%Math.max(i.length,1))},[i.length]);return{...h,suggestions:i,selectedIndex:p,loading:f,setSelectedIndex:d,selectNext:k,selectPrevious:x}},F5=(e,t=!1)=>e.includes(" ")||t?`@"${e}"`:`@${e}`,L5=(e,t,n)=>{if(!t.hasQuery)return{newInput:e,newCursorPos:e.length};const r=F5(n,t.quoted),s=e.slice(0,t.startIndex),o=e.slice(t.endIndex),i=s+r+" "+o,u=t.startIndex+r.length+1;return{newInput:i,newCursorPos:u}};function D5(){const[e,t]=w.useState([]),[n,r]=w.useState(-1),s=w.useRef(""),o=w.useCallback(d=>{d.trim()&&(t(f=>f[f.length-1]===d?f:[...f,d]),r(-1),s.current="")},[]),i=w.useCallback(d=>{if(e.length===0)return null;n===-1&&(s.current=d);const f=n===-1?e.length-1:Math.max(0,n-1);return r(f),e[f]??null},[e,n]),u=w.useCallback(()=>{if(n===-1)return null;const d=n+1;return d>=e.length?(r(-1),s.current):(r(d),e[d]??null)},[e,n]),p=w.useCallback(()=>{r(-1),s.current=""},[]);return{addToHistory:o,getPrevious:i,getNext:u,reset:p,historyIndex:n}}const _5=(e,t)=>{if(!e.startsWith("/"))return{hasQuery:!1,query:"",startIndex:-1,endIndex:-1};const n=e.indexOf(" "),r=n===-1?e.length:n;return t<=r?{hasQuery:!0,query:e.slice(1,t),startIndex:0,endIndex:t}:{hasQuery:!1,query:"",startIndex:-1,endIndex:-1}},U5=(e,t,n={})=>{const{debounceDelay:r=150,workspacePath:s}=n,[o,i]=w.useState([]),[u,p]=w.useState(0),[d,f]=w.useState(!1),m=w.useMemo(()=>t===void 0?{hasQuery:!1,query:"",startIndex:-1,endIndex:-1}:_5(e,t),[e,t]);w.useEffect(()=>{if(!m.hasQuery){i([]),f(!1);return}let x=!1;f(!0);const T=setTimeout(async()=>{try{const b=await fetch(`/suggestions/commands?q=${encodeURIComponent(m.query)}`,s?{headers:{"x-blade-directory":s}}:void 0);if(!b.ok)throw new Error("Failed to fetch suggestions");const A=await b.json();x||i(A)}catch(b){console.error("Failed to fetch command suggestions:",b),x||i([])}finally{x||f(!1)}},r);return()=>{x=!0,clearTimeout(T)}},[m.hasQuery,m.query,r,s]),w.useEffect(()=>{p(0)},[o]);const h=w.useCallback(()=>{p(x=>(x+1)%Math.max(o.length,1))},[o.length]),k=w.useCallback(()=>{p(x=>(x-1+o.length)%Math.max(o.length,1))},[o.length]);return{...m,suggestions:o,selectedIndex:u,loading:d,setSelectedIndex:p,selectNext:h,selectPrevious:k}},B5=(e,t,n)=>{if(!t.hasQuery)return{newInput:e,newCursorPos:e.length};const r=e.slice(t.endIndex),s=n.command+" "+r.trimStart(),o=n.command.length+1;return{newInput:s,newCursorPos:o}},H5="blade.composer.draft.",Ui=new Map,Yx=1;function Bi(){return typeof sessionStorage>"u"?null:sessionStorage}function Hi(e){return`${H5}${e}`}function z5(e){var n;if(!e)return{content:"",attachments:[],outputSchema:void 0};const t=Ui.get(e);if(t)return{content:t.content,attachments:[...t.attachments],outputSchema:t.outputSchema};try{const r=((n=Bi())==null?void 0:n.getItem(Hi(e)))??"";if(!r)return{content:"",attachments:[],outputSchema:void 0};try{const s=JSON.parse(r);if(s.version===Yx&&typeof s.content=="string"&&(s.outputSchema===void 0||typeof s.outputSchema=="string"))return{content:s.content,attachments:[],outputSchema:s.outputSchema}}catch{}return{content:r,attachments:[],outputSchema:void 0}}catch{return{content:"",attachments:[],outputSchema:void 0}}}function sn(e,t){var s,o;if(!e)return;const n=Ui.get(e),r=t.outputSchema??(n==null?void 0:n.outputSchema);if(!t.content&&t.attachments.length===0&&!r){Xx(e);return}Ui.set(e,{content:t.content,attachments:[...t.attachments],outputSchema:r});try{t.content||r?(s=Bi())==null||s.setItem(Hi(e),JSON.stringify({version:Yx,content:t.content,...r?{outputSchema:r}:{}})):(o=Bi())==null||o.removeItem(Hi(e))}catch{}}function Xx(e){var t;if(e){Ui.delete(e);try{(t=Bi())==null||t.removeItem(Hi(e))}catch{}}}function Mc(e){return e.reduce((t,n)=>t+n.dataUrl.length,0)}function q5(e){return`data:${e.type||"application/octet-stream"};base64,`.length+4*Math.ceil(e.size/3)}function K5(e,t){const r=Mc(e)+t.reduce((s,o)=>s+q5(o),0);return e.length+t.length>Ur?{accepted:!1,reason:"count",estimatedBytes:r}:r>co?{accepted:!1,reason:"bytes",estimatedBytes:r}:{accepted:!0,estimatedBytes:r}}const G5=e=>typeof e=="object"&&"command"in e,df=({type:e,suggestions:t,selectedIndex:n,loading:r,onSelect:s,onHover:o,visible:i})=>{const u=w.useRef(null),p=w.useRef(null);if(w.useEffect(()=>{if(p.current&&u.current){const f=u.current,m=p.current,h=f.getBoundingClientRect(),k=m.getBoundingClientRect();k.bottom>h.bottom?f.scrollTop+=k.bottom-h.bottom+4:k.top<h.top&&(f.scrollTop-=h.top-k.top+4)}},[n]),!i||t.length===0&&!r)return null;const d=e==="command"?jf:su;return a.jsx("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:a.jsxs("div",{className:"mx-4 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700 rounded-lg shadow-xl overflow-hidden",children:[a.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-[#E5E7EB] dark:border-zinc-800 text-xs text-[#6B7280] dark:text-zinc-400",children:[a.jsx(d,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:e==="command"?"Commands":"Files"}),r&&a.jsx(lt,{className:"h-3 w-3 animate-spin ml-auto"})]}),a.jsx("div",{ref:u,className:"max-h-64 overflow-y-auto py-1",children:t.length===0&&r?a.jsx("div",{className:"px-3 py-4 text-center text-[#6B7280] dark:text-zinc-500 text-sm",children:"Loading..."}):t.length===0?a.jsx("div",{className:"px-3 py-4 text-center text-[#6B7280] dark:text-zinc-500 text-sm",children:"No matches found"}):t.map((f,m)=>{const h=m===n,k=G5(f);return a.jsx("button",{ref:h?p:null,className:G("w-full text-left px-3 py-2 flex items-start gap-3 transition-colors",h?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] hover:bg-[#F3F4F6] hover:text-[#111827] dark:text-zinc-400 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-300"),onClick:()=>s(m),onMouseEnter:()=>o(m),children:k?a.jsx(a.Fragment,{children:a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"font-mono text-sm text-blue-600 dark:text-blue-400",children:f.command}),f.argumentHint&&a.jsx("span",{className:"text-xs text-[#9CA3AF] dark:text-zinc-500 font-mono",children:f.argumentHint})]}),a.jsx("p",{className:"text-xs text-[#9CA3AF] dark:text-zinc-500 mt-0.5 truncate",children:f.description})]})}):a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(su,{className:"h-4 w-4 flex-shrink-0 text-[#9CA3AF] dark:text-zinc-500"}),a.jsx("span",{className:"font-mono text-sm truncate",children:f})]})},k?f.command:f)})}),a.jsxs("div",{className:"px-3 py-1.5 border-t border-[#E5E7EB] dark:border-zinc-800 text-xs text-[#9CA3AF] dark:text-zinc-500 flex items-center gap-4",children:[a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"↑↓"})," ","Navigate"]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"Tab"})," ","Select"]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"px-1.5 py-0.5 bg-[#E5E7EB] dark:bg-zinc-800 rounded text-[#6B7280] dark:text-zinc-400",children:"Esc"})," ","Close"]})]})]})})},nc=[{value:fr.DEFAULT,labelKey:"chat.input.mode.default",descriptionKey:"chat.input.mode.default.desc",icon:Vy},{value:fr.AUTO_EDIT,labelKey:"chat.input.mode.autoEdit",descriptionKey:"chat.input.mode.autoEdit.desc",icon:Jy},{value:fr.YOLO,labelKey:"chat.input.mode.yolo",descriptionKey:"chat.input.mode.yolo.desc",icon:Cf,tone:"danger"},{value:fr.PLAN,labelKey:"chat.input.mode.plan",descriptionKey:"chat.input.mode.plan.desc",icon:Qy}],W5=["off"],V5=["standard"],J5=[];function rc(e){return e<1024*1024?`${Math.max(1,Math.ceil(e/1024))} KiB`:`${(e/(1024*1024)).toFixed(1)} MiB`}function Q5({onSend:e,onAbort:t,disabled:n,submitDisabled:r=!1,shellSubmitDisabled:s=!1,isStreaming:o,isStopping:i=!1,pendingSteeringCount:u=0,pendingInputDelivery:p=null,recoveredSteeringCount:d=0,variant:f="chat",draft:m,draftAttachments:h,draftRevision:k,draftKey:x,placeholder:C,workspacePath:T}){var tu;const b=Mt(),A=w.useRef(z5(x)),[N,R]=w.useState(A.current.content),[V,j]=w.useState(A.current.attachments),I=w.useRef(N),O=w.useRef(V),[B,Z]=w.useState(A.current.outputSchema??""),re=w.useRef(B),[P,z]=w.useState(!1),[J,he]=w.useState(null),[$e,Ce]=w.useState(void 0),[ie,Me]=w.useState(!1),[$,pe]=w.useState(!1),[ke,Qe]=w.useState(!1),[ct,F]=w.useState(!1),[Q,L]=w.useState(!1),[Se,Pe]=w.useState(!1),[Ee,An]=w.useState(!1),[Lt,Ye]=w.useState(null),[_n,ft]=w.useState(null),rn=N.trimStart().startsWith("!"),Pn=rn?s:r,Dt=w.useRef(null),y=w.useRef(!1),Y=w.useRef(null),Fe=w.useRef(null),{currentModelId:pt,configuredModels:Un,hasLoaded:ls,loadedWorkspacePath:ds,loadModels:us,setCurrentModel:Zx,currentMode:ci,setMode:zd}=At(),qd=mr(v=>v.isSettingsOpen),ey=bo(v=>v.communicationStyle),Kd=D(v=>v.setMaxContextTokens),Ie=D(v=>v.currentSessionRef),Gd=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.selectedModelId}),ty=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.reasoningEffort}),ny=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.serviceTier}),ry=D(v=>{var K;return(K=v.sessions.find(U=>U.sessionId===(Ie==null?void 0:Ie.sessionId)&&U.projectPath===(Ie==null?void 0:Ie.projectPath)))==null?void 0:K.responseVerbosity}),[sy,Wd]=w.useState(null),[oy,Pa]=w.useState(null),[iy,Na]=w.useState(null),[ay,Oa]=w.useState(null),cy=Un.some(v=>v.id===Gd),fs=Ie?sy??(cy?Gd:pt):pt,Xe=Un.find(v=>v.id===fs),Ra=(Xe==null?void 0:Xe.supportedReasoningEfforts)??W5,Vd=["auto",...Ra],Rr=oy??ty??"off",li=(Xe==null?void 0:Xe.supportedServiceTiers)??V5,ly=["auto",...li],$r=iy??ny??"auto",di=(Xe==null?void 0:Xe.supportedResponseVerbosities)??J5,dy=["auto",...di],Mr=ay??ry??"auto",Jd=ey??"auto",uy=Vd.length>1,fy=li.some(v=>v!=="standard"),py=di.length>0,Qd=(Xe==null?void 0:Xe.displayName)||(Xe==null?void 0:Xe.model)||fs||b("chat.input.model.placeholder"),ir=((tu=Xe==null?void 0:Xe.input)==null?void 0:tu.includes("image"))===!0,Ws=Xe?b("chat.input.attachment.modelUnsupported",{model:Qd}):b("chat.input.attachment.modelRequired"),ui=V.length>0&&!ir,Wt=U5(N,$e,{workspacePath:T}),Vt=M5(N,$e,{workspacePath:T}),ps=D5(),Vs=Wt.hasQuery&&Wt.suggestions.length>0,fi=Vt.hasQuery&&Vt.suggestions.length>0,my=Vs||fi;w.useEffect(()=>{!qd&&(!ls||ds!==(T??null))&&us(T??void 0)},[qd,us,ds,ls,T]),w.useEffect(()=>{o&&(Me(!1),pe(!1),Qe(!1),F(!1),z(!1))},[o]),w.useEffect(()=>{Wd(null),Pa(null),Na(null),Oa(null)},[Ie==null?void 0:Ie.projectPath,Ie==null?void 0:Ie.sessionId]),w.useEffect(()=>{Rr!=="auto"&&!Ra.includes(Rr)&&Pa("auto")},[Rr,Ra]),w.useEffect(()=>{$r!=="auto"&&!li.includes($r)&&Na("auto")},[$r,li]),w.useEffect(()=>{Mr!=="auto"&&!di.includes(Mr)&&Oa("auto")},[Mr,di]),w.useEffect(()=>{ft(null)},[fs]),w.useEffect(()=>{if(m!==void 0){const v=h??O.current;I.current=m,O.current=v,R(m),j(v),Ye(null),ft(null),Ce(m.length),sn(x,{content:m,attachments:v}),requestAnimationFrame(()=>{var K;return(K=Y.current)==null?void 0:K.focus()})}},[m,h,x,k]),w.useEffect(()=>()=>{sn(x,{content:I.current,attachments:O.current,outputSchema:re.current})},[x]),w.useEffect(()=>{if(!Xe)return;const v=!!Xe.contextWindow;Kd(Xe.contextWindow||0,!v)},[Xe,Kd]),w.useEffect(()=>{ir&&Ye(v=>v!==Dt.current?v:(Dt.current=null,null))},[ir]);const $a=w.useCallback(async()=>{if(!N.trim()&&V.length===0||n||Pn||ui||y.current)return;let v;if(B.trim()){if(rn){he(b("chat.input.outputSchema.shellUnsupported")),z(!0);return}try{const U=JSON.parse(B);if(!U||typeof U!="object"||Array.isArray(U))throw new Error("schema root must be an object");v=U}catch{he(b("chat.input.outputSchema.invalid")),z(!0);return}}N.trim()&&ps.addToHistory(N),y.current=!0,An(!0);const K=x;try{if(await e({content:N,modelId:fs??void 0,reasoningEffort:Rr,serviceTier:$r,responseVerbosity:Mr,communicationStyle:Jd,attachments:V,...v?{outputSchema:v}:{}})===!1)return;Xx(K),I.current="",O.current=[],re.current="",R(""),j([]),Z(""),he(null),Ye(null),ft(null),Dt.current=null,Ce(void 0)}catch{}finally{y.current=!1,An(!1)}},[V,ui,x,N,rn,n,fs,Rr,Mr,Jd,$r,Pn,e,B,ps,b]),hy=w.useCallback(v=>{Ye(null),ft(null),Dt.current=null,j(K=>{const U=K.filter(Te=>Te.id!==v);return O.current=U,sn(x,{content:I.current,attachments:U}),U})},[x]),Yd=w.useCallback(v=>new Promise((K,U)=>{const Te=new FileReader;Te.onload=()=>{if(typeof Te.result!="string"){U(new Error("Failed to read image"));return}K({id:typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:v.name,mimeType:v.type,dataUrl:Te.result})},Te.onerror=()=>U(Te.error??new Error("Failed to read image")),Te.readAsDataURL(v)}),[]),pi=w.useCallback(async v=>{if(v.length===0)return;if(!ir){Dt.current=Ws,ft(null),Ye(Ws);return}const K=K5(O.current,v),U=Te=>Te==="count"?b("chat.input.attachment.countLimit",{count:Ur}):b("chat.input.attachment.sizeLimit",{size:rc(co)});if(!K.accepted){Dt.current=null,ft(null),Ye(U(K.reason??"bytes"));return}try{const Te=await Promise.all(v.map(ms=>Yd(ms))),Tt=new Set(O.current.map(ms=>ms.dataUrl)),nu=Te.filter(ms=>Tt.has(ms.dataUrl)?!1:(Tt.add(ms.dataUrl),!0));if(nu.length===0){Ye(null),ft(null),Dt.current=null;return}const mi=[...O.current,...nu];if(Mc(mi)>co){Dt.current=null,ft(null),Ye(U("bytes"));return}O.current=mi,j(mi),Ye(null),ft(null),Dt.current=null,sn(x,{content:I.current,attachments:mi})}catch{Dt.current=null,ft(null),Ye(b("chat.input.attachment.readFailed"))}},[x,Ws,ir,Yd,b]),gy=w.useCallback(async v=>{const K=Array.from(v.target.files??[]).filter(U=>U.type.startsWith("image/"));await pi(K),v.target.value=""},[pi]),by=w.useCallback(async v=>{const K=Array.from(v.clipboardData.items).filter(U=>U.type.startsWith("image/")).map(U=>U.getAsFile()).filter(U=>U!==null);K.length!==0&&(v.preventDefault(),await pi(K))},[pi]),Ma=w.useCallback(v=>{const K=Wt.suggestions[v];if(!K)return;const{newInput:U,newCursorPos:Te}=B5(N,Wt,K);I.current=U,R(U),Ce(Te),sn(x,{content:U,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&(Y.current.focus(),Y.current.setSelectionRange(Te,Te))})},[x,N,Wt]),Fa=w.useCallback(v=>{const K=Vt.suggestions[v];if(!K)return;const{newInput:U,newCursorPos:Te}=L5(N,Vt,K);I.current=U,R(U),Ce(Te),sn(x,{content:U,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&(Y.current.focus(),Y.current.setSelectionRange(Te,Te))})},[Vt,x,N]),ky=w.useCallback(v=>{if(Vs){if(v.key==="ArrowDown"){v.preventDefault(),Wt.selectNext();return}if(v.key==="ArrowUp"){v.preventDefault(),Wt.selectPrevious();return}if(v.key==="Tab"||v.key==="Enter"&&!v.shiftKey){v.preventDefault(),Ma(Wt.selectedIndex);return}if(v.key==="Escape"){v.preventDefault(),Ce(void 0);return}}if(fi){if(v.key==="ArrowDown"){v.preventDefault(),Vt.selectNext();return}if(v.key==="ArrowUp"){v.preventDefault(),Vt.selectPrevious();return}if(v.key==="Tab"||v.key==="Enter"&&!v.shiftKey){v.preventDefault(),Fa(Vt.selectedIndex);return}if(v.key==="Escape"){v.preventDefault(),Ce(void 0);return}}if(v.key==="Enter"&&!v.shiftKey){v.preventDefault(),$a();return}if(v.key==="ArrowUp"&&!v.shiftKey){const K=v.target,U=K.selectionStart===0&&K.selectionEnd===0,Te=!N.includes(`
|
|
10
10
|
`);if(U||Te){const Tt=ps.getPrevious(N);Tt!==null&&(v.preventDefault(),I.current=Tt,R(Tt),sn(x,{content:Tt,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&Y.current.setSelectionRange(Tt.length,Tt.length)}))}return}if(v.key==="ArrowDown"&&!v.shiftKey){const K=v.target,U=K.selectionStart===N.length&&K.selectionEnd===N.length,Te=!N.includes(`
|
|
11
|
-
`);if((U||Te)&&ps.historyIndex!==-1){const Tt=ps.getNext();Tt!==null&&(v.preventDefault(),I.current=Tt,R(Tt),sn(x,{content:Tt,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&Y.current.setSelectionRange(Tt.length,Tt.length)}))}}},[Vs,fi,Wt,Vt,Ma,Fa,$a,x,N,ps]),xy=w.useCallback(v=>{const K=v.target.value;I.current=K,R(K),Ce(v.target.selectionStart),sn(x,{content:K,attachments:O.current})},[x]),Xd=w.useCallback(v=>{const K=v.target;Ce(K.selectionStart)},[]);w.useEffect(()=>{Y.current&&(Y.current.style.height="inherit",Y.current.style.height=`${Math.min(Y.current.scrollHeight,200)}px`)},[N]);const La=nc.find(v=>v.value===ci)??nc[1],yy=b(La.labelKey),wy=La.icon,vy=!!N.trim()||V.length>0,Zd=V.length>=Ur,Sy=Mc(V),Da=Lt||(ui?Ws:null),eu=Da?null:_n,_a=!!n||Ee,Iy=_a||Zd||!ir,Js=ir?Zd?b("chat.input.attachment.countLimit",{count:Ur}):b("chat.input.attachment.add"):Ws,jy=()=>{_a||(ft(Js),!ir&&!o&&Un.some(v=>{var K;return(K=v.input)==null?void 0:K.includes("image")})&&Me(!0))};return a.jsxs("div",{className:f==="task"?"bg-transparent":"py-2.5 border-t border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas))]",children:[a.jsxs("div",{className:f==="task"?"w-full":"px-4 w-full md:px-6",children:[a.jsxs("div",{className:`relative border rounded-lg bg-[hsl(var(--deck-surface))] transition-all duration-200 flex flex-col ${f==="task"?`min-h-[148px] shadow-[0_18px_60px_-24px_hsl(var(--deck-accent)/0.4)] focus-within:ring-1 ${rn?"border-amber-400/70 focus-within:border-amber-500 focus-within:ring-amber-400/25":"border-[hsl(var(--deck-border))] focus-within:border-[hsl(var(--deck-accent)/0.6)] focus-within:ring-[hsl(var(--deck-accent)/0.25)]"}`:`min-h-[56px] shadow-sm focus-within:ring-1 ${rn?"border-amber-400/70 focus-within:border-amber-500 focus-within:ring-amber-400/25":"border-[hsl(var(--deck-border))] focus-within:border-[hsl(var(--deck-border-strong))] focus-within:ring-[hsl(var(--deck-border-strong))]"}`}`,children:[a.jsx(df,{type:"command",suggestions:Wt.suggestions,selectedIndex:Wt.selectedIndex,loading:Wt.loading,onSelect:Ma,onHover:Wt.setSelectedIndex,visible:Vs}),a.jsx(df,{type:"file",suggestions:Vt.suggestions,selectedIndex:Vt.selectedIndex,loading:Vt.loading,onSelect:Fa,onHover:Vt.setSelectedIndex,visible:fi&&!Vs}),a.jsx($c,{ref:Y,"data-blade-composer":!0,value:N,onChange:xy,onKeyDown:ky,onPaste:by,onSelect:Xd,onClick:Xd,placeholder:C??b(o?"chat.input.placeholder.steering":"chat.input.placeholder.default"),className:`flex-1 w-full resize-none border-0 bg-transparent px-4 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none text-[#111827] dark:text-zinc-300 placeholder:text-[#9CA3AF] dark:placeholder:text-zinc-600 ${f==="task"?"min-h-[84px] py-4 text-[15px]":"py-2.5 text-[14px]"}`,disabled:n||Ee,"aria-busy":Ee}),rn&&a.jsx("div",{className:"px-4 pb-2 font-mono text-[11px] text-amber-600 dark:text-amber-400",children:"$ user shell · runs in this Session workspace"}),o&&a.jsx("div",{className:"px-4 pb-2 text-[11px] font-mono text-amber-600 dark:text-amber-400",children:u>0&&p==="next_turn"?b("chat.input.followUp.queued",{count:u}):u>0?b("chat.input.steering.queued",{count:u}):a.jsxs(a.Fragment,{children:[b("chat.input.steering.status"),b("chat.input.steering.enterHint")]})}),d>0&&a.jsx("div",{className:"px-4 pb-2 text-[11px] font-mono text-cyan-600 dark:text-cyan-400",children:d===1?b("chat.input.steering.recoveredOne",{count:d}):b("chat.input.steering.recoveredMany",{count:d})}),Da&&a.jsxs("div",{role:"alert",className:"mx-4 mb-2 flex min-h-8 items-center gap-2 rounded-md border border-red-200 bg-red-50 px-2.5 py-1.5 text-[11px] text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[a.jsx(Is,{className:"h-3.5 w-3.5 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0",children:Da}),Lt&&a.jsx("button",{type:"button","aria-label":b("chat.error.dismiss"),onClick:()=>{Ye(null),Dt.current=null},className:"flex justify-center items-center w-6 h-6 text-red-500 rounded shrink-0 hover:bg-red-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 dark:hover:bg-red-950",children:a.jsx(ro,{className:"w-3 h-3"})})]}),eu&&a.jsxs("div",{role:"status","aria-live":"polite",className:"mx-4 mb-2 flex min-h-8 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-2.5 py-1.5 text-[11px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(Yy,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"flex-1 min-w-0",children:eu}),a.jsx("button",{type:"button","aria-label":b("chat.notice.dismiss"),onClick:()=>ft(null),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(ro,{className:"w-3 h-3"})})]}),V.length>0&&a.jsxs("div",{className:"px-4 pb-2",children:[a.jsx("div",{className:"mb-1.5 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:b("chat.input.attachment.usage",{count:V.length,limit:Ur,used:rc(Sy),budget:rc(co)})}),a.jsx("div",{className:"flex flex-wrap gap-2",children:V.map(v=>a.jsxs("div",{title:v.name,className:"relative overflow-hidden rounded-md border border-[#E5E7EB] bg-[#F9FAFB] dark:border-zinc-800 dark:bg-zinc-900",children:[a.jsx("img",{src:v.dataUrl,alt:v.name,className:"object-cover w-20 h-20"}),a.jsx("button",{type:"button","aria-label":`${b("chat.input.attachment.remove")} ${v.name}`,title:`${b("chat.input.attachment.remove")} ${v.name}`,onClick:()=>hy(v.id),className:"flex absolute top-1 right-1 justify-center items-center w-6 h-6 text-white rounded transition-colors bg-black/75 hover:bg-black focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white",children:a.jsx(ro,{className:"w-3 h-3"})})]},v.id))})]}),a.jsxs("div",{className:"flex justify-between items-center px-3 py-2 mt-auto",children:[a.jsxs("div",{className:"flex gap-2 items-center",children:[Iy?a.jsx("button",{type:"button",disabled:_a,"aria-disabled":"true","aria-label":Js,title:Js,onClick:jy,className:"flex h-8 w-8 cursor-help items-center justify-center rounded-md text-[#9CA3AF] opacity-55 transition-colors hover:bg-[hsl(var(--deck-surface-2))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed dark:text-zinc-500",children:a.jsx(ou,{className:"w-4 h-4"})}):a.jsxs("label",{title:Js,className:"relative flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[#9CA3AF] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-within:ring-1 focus-within:ring-[hsl(var(--deck-accent))] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-300",children:[a.jsx("input",{ref:Fe,type:"file",accept:"image/*",multiple:!0,"aria-label":Js,className:"absolute inset-0 z-10 w-full h-full opacity-0 cursor-pointer",onChange:gy}),a.jsx(ou,{className:"w-4 h-4"})]}),a.jsxs(zn,{open:ie,onOpenChange:v=>{!o&&!Ee&&Me(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,title:b(o?"chat.input.model.locked":"chat.input.model.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 text-xs text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[Qd,a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsx(Nn,{className:"w-64 p-2 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700",align:"start",children:a.jsx("div",{className:"overflow-y-auto max-h-72",children:Un.length===0?a.jsx("div",{className:"text-xs text-[#6B7280] dark:text-zinc-500 px-2 py-2",children:b("chat.input.model.empty")}):Object.entries(Un.reduce((v,K)=>{const U=K.provider||"unknown";return v[U]||(v[U]=[]),v[U].push(K),v},{})).map(([v,K])=>a.jsxs("div",{className:"mb-2",children:[a.jsx("div",{className:"text-xs text-[#6B7280] dark:text-zinc-500 px-2 py-1 capitalize",children:v.replace(/-/g," ")}),K.map(U=>{var Te;return a.jsx("button",{className:`w-full text-left px-2 py-1.5 text-sm rounded hover:bg-[#E5E7EB] dark:hover:bg-zinc-800 transition-colors ${U.id===fs?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,onClick:()=>{if(ft(null),Ie){Wd(U.id),Me(!1);return}Zx(U.id,T??void 0).then(()=>Me(!1)).catch(()=>{})},children:a.jsxs("span",{className:"flex gap-2 items-center min-w-0",children:[a.jsx("span",{className:"flex-1 min-w-0 truncate",children:U.displayName||U.model}),((Te=U.input)==null?void 0:Te.includes("image"))&&a.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.08em] text-[hsl(var(--deck-accent))]",children:b("chat.input.model.vision")})]})},U.id)})]},v))})})]}),uy&&a.jsxs(zn,{open:$,onOpenChange:v=>{!o&&!Ee&&pe(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.effort.change"),title:b(o?"chat.input.effort.locked":"chat.input.effort.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.effort.label",{effort:Rr}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.effort.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:Vd.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.effort.option",{effort:v}),onClick:()=>{Pa(v),pe(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${Rr===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="auto"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.effort.autoHint")})]},v))})]})]}),fy&&a.jsxs(zn,{open:ke,onOpenChange:v=>{!o&&!Ee&&Qe(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.serviceTier.change"),title:b(o?"chat.input.serviceTier.locked":"chat.input.serviceTier.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.serviceTier.label",{tier:$r}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:ly.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.serviceTier.option",{tier:v}),onClick:()=>{Na(v),Qe(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${$r===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="fast"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.fastHint")}),v==="flex"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.flexHint")})]},v))})]})]}),py&&a.jsxs(zn,{open:ct,onOpenChange:v=>{!o&&!Ee&&F(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.responseVerbosity.change"),title:b(o?"chat.input.responseVerbosity.locked":"chat.input.responseVerbosity.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.responseVerbosity.label",{verbosity:Mr}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.responseVerbosity.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:dy.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.responseVerbosity.option",{verbosity:v}),onClick:()=>{Oa(v),F(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${Mr===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="auto"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.responseVerbosity.autoHint")})]},v))})]})]}),a.jsxs(zn,{open:P,onOpenChange:v=>{!o&&!Ee&&z(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.outputSchema.change"),title:b(o?"chat.input.outputSchema.locked":"chat.input.outputSchema.change"),className:`flex h-7 items-center gap-1 rounded px-1.5 font-mono text-[10.5px] transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 ${B.trim()?"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"text-[#6B7280] hover:bg-[#E5E7EB] hover:text-[#111827] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200"}`,children:[a.jsx(Xy,{className:"h-3.5 w-3.5"}),B.trim()&&"JSON"]})}),a.jsxs(Nn,{className:"w-[min(440px,calc(100vw-24px))] border border-[#E5E7EB] bg-white p-0 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsxs("div",{className:"border-b border-[#E5E7EB] px-3 py-2.5 dark:border-zinc-800",children:[a.jsx("div",{className:"font-mono text-[11px] font-semibold text-[#111827] dark:text-zinc-100",children:b("chat.input.outputSchema.title")}),a.jsx("div",{className:"mt-0.5 text-[10.5px] leading-4 text-[#6B7280] dark:text-zinc-500",children:b("chat.input.outputSchema.description")})]}),a.jsxs("div",{className:"p-3",children:[a.jsx($c,{value:B,onChange:v=>{const K=v.target.value;re.current=K,Z(K),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:K})},spellCheck:!1,"aria-label":b("chat.input.outputSchema.editor"),"aria-invalid":!!J,placeholder:b("chat.input.outputSchema.placeholder"),className:"min-h-[180px] resize-y border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] font-mono text-[11px] leading-5 focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]"}),J&&a.jsxs("div",{role:"alert",className:"mt-2 flex items-center gap-1.5 text-[10.5px] text-red-600 dark:text-red-400",children:[a.jsx(Is,{className:"h-3.5 w-3.5"}),J]}),a.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-2",children:[a.jsx("button",{type:"button",onClick:()=>{const v=JSON.stringify({type:"object",properties:{summary:{type:"string"}},required:["summary"],additionalProperties:!1},null,2);re.current=v,Z(v),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:v})},className:"rounded px-2 py-1 font-mono text-[10.5px] text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-accent-soft))]",children:b("chat.input.outputSchema.example")}),a.jsx("button",{type:"button",onClick:()=>{re.current="",Z(""),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:""})},className:"rounded px-2 py-1 font-mono text-[10.5px] text-[#6B7280] hover:bg-[#F3F4F6] dark:text-zinc-400 dark:hover:bg-zinc-800",children:b("chat.input.outputSchema.clear")})]})]})]})]}),a.jsxs(zn,{open:Q,onOpenChange:L,children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{"data-blade-permission-mode":ci,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs transition-colors ${La.tone==="danger"?"text-amber-600 hover:bg-amber-500/10 dark:text-amber-400":"text-[#6B7280] hover:bg-[#E5E7EB] hover:text-[#111827] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200"}`,children:[a.jsx(wy,{className:"h-3.5 w-3.5"}),yy,a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-72 p-1.5 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700",align:"start",children:[a.jsx("div",{className:"px-2 pb-1.5 pt-1 text-[11px] font-medium text-[#9CA3AF] dark:text-zinc-500",children:b("chat.input.mode.aria")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:nc.map(v=>{const K=v.icon,U=ci===v.value,Te=v.tone==="danger";return a.jsxs("button",{type:"button","data-blade-permission-option":v.value,"aria-pressed":U,className:`flex w-full items-start gap-2.5 rounded-md px-2 py-2 text-left transition-colors ${U?"bg-[#F3F4F6] dark:bg-zinc-800/70":"hover:bg-[#F3F4F6] dark:hover:bg-zinc-800/50"}`,onClick:()=>{v.value===fr.YOLO&&ci!==fr.YOLO?(L(!1),Pe(!0)):(zd(v.value),L(!1))},children:[a.jsx(K,{className:`mt-0.5 h-4 w-4 shrink-0 ${Te?"text-amber-500":U?"text-[#111827] dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:`block text-[13px] font-medium leading-tight ${Te?"text-amber-600 dark:text-amber-400":"text-[#111827] dark:text-zinc-100"}`,children:b(v.labelKey)}),a.jsx("span",{className:"mt-0.5 block text-[11px] leading-snug text-[#6B7280] dark:text-zinc-500",children:b(v.descriptionKey)})]}),U&&a.jsx(wf,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"})]},v.value)})})]})]})]}),a.jsxs("div",{className:"flex gap-2 items-center",children:[o&&a.jsx(pr,{size:"icon",onClick:()=>{t==null||t()},disabled:i,title:b(i?"chat.input.action.stopping":"chat.input.action.stop"),"aria-label":b(i?"chat.input.action.stopping":"chat.input.action.stop"),className:"w-8 h-8 text-white bg-red-500 hover:bg-red-600",children:i?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Uc,{className:"w-3 h-3"})}),a.jsx(pr,{size:"icon","data-blade-submit":!0,onClick:$a,disabled:!vy||n||Pn||ui||Ee||my,title:b(Ee?"chat.input.action.submitting":o?"chat.input.action.steer":"chat.input.action.send"),"aria-label":b(Ee?"chat.input.action.submitting":o?"chat.input.action.steer":"chat.input.action.send"),className:"h-8 w-8 bg-[#111827] text-white hover:bg-[#0F172A] disabled:bg-[#E5E7EB] disabled:text-[#9CA3AF] dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white dark:disabled:bg-zinc-800 dark:disabled:text-zinc-600",children:Ee?a.jsx(lt,{className:"w-4 h-4 animate-spin"}):a.jsx(Zy,{className:"w-4 h-4"})})]})]})]}),f==="chat"&&a.jsx("div",{className:"text-center text-xs text-[#6B7280] dark:text-zinc-600 mt-3 font-mono",children:b("chat.footer.disclaimer")})]}),a.jsx(qc,{open:Se,onOpenChange:Pe,children:a.jsx(Ki,{className:"gap-0 rounded-xl border border-zinc-200 bg-white p-0 dark:border-zinc-800 dark:bg-[#09090b] sm:max-w-[400px]","aria-describedby":"yolo-confirm-desc",hideCloseButton:!0,children:a.jsxs("div",{className:"flex flex-col gap-4 p-5",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-950/40",children:a.jsx(Cf,{className:"h-5 w-5 text-amber-600 dark:text-amber-400"})}),a.jsx(Gi,{className:"font-mono text-sm font-semibold",children:b("chat.input.mode.yolo.confirm.title")})]}),a.jsx(Wi,{id:"yolo-confirm-desc",className:"text-[13px] leading-relaxed text-zinc-600 dark:text-zinc-400",children:b("chat.input.mode.yolo.confirm.desc")}),a.jsxs("div",{className:"flex items-center justify-end gap-2 pt-1",children:[a.jsx("button",{type:"button",onClick:()=>Pe(!1),className:"h-8 rounded-md px-3 font-mono text-[12px] font-medium text-zinc-600 transition-colors hover:bg-zinc-100 dark:text-zinc-400 dark:hover:bg-zinc-800",children:b("chat.input.mode.yolo.confirm.cancel")}),a.jsx("button",{type:"button","data-blade-yolo-confirm":!0,onClick:()=>{zd(fr.YOLO),Pe(!1)},className:"h-8 rounded-md bg-amber-600 px-3 font-mono text-[12px] font-semibold text-white transition-colors hover:bg-amber-700",children:b("chat.input.mode.yolo.confirm.accept")})]})]})})})]})}const Y5={running:{dot:"bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse",labelKey:"recent.status.running",text:"text-blue-700 dark:text-blue-400"},queued:{dot:"bg-amber-400",labelKey:"recent.status.queued",text:"text-amber-700 dark:text-amber-400"},interrupted:{dot:"bg-orange-500",labelKey:"recent.status.paused",text:"text-orange-700 dark:text-orange-400"},failed:{dot:"bg-red-500",labelKey:"recent.status.failed",text:"text-red-700 dark:text-red-400"},cancelled:{dot:"bg-zinc-400",labelKey:"recent.status.cancelled",text:"text-zinc-500"},completed:{dot:"bg-[hsl(var(--deck-accent))]",labelKey:"recent.status.done",text:"text-[hsl(var(--deck-accent))]"}};function X5(e,t){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=Date.now()-n.getTime(),s=Math.floor(r/6e4);if(s<1)return t("recent.time.justNow");if(s<60)return t("recent.time.minutes",{n:s});const o=Math.floor(s/60);if(o<24)return t("recent.time.hours",{n:o});const i=Math.floor(o/24);return t("recent.time.days",{n:i})}function Z5(e){return e.split("/").filter(Boolean).at(-1)||e}function eL({sessions:e,onSelect:t,cancellingTaskKeys:n,retryingTaskKeys:r,unreadTaskKeys:s,onCancel:o,onRetry:i,catalogLoadState:u="ready",className:p}){const d=Mt(),f=[...e].sort(Hd).slice(0,4),m=u==="loading"||u==="hydrating";return f.length===0?!m&&u!=="error"?null:a.jsxs("div",{role:u==="error"?"alert":"status",className:G("mt-7 flex items-center gap-2 rounded-md border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface))]/50 px-3 py-2 font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",p),children:[m?a.jsx(lt,{className:"h-3 w-3 animate-spin text-[hsl(var(--deck-accent))]"}):a.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-amber-500"}),d(m?"sidebar.catalog.syncing":"sidebar.catalog.incomplete")]}):a.jsxs("div",{className:G("mt-7",p),children:[a.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[a.jsx("span",{className:"deck-eyebrow text-[hsl(var(--deck-ink-faint))]",children:d("taskHome.recent.title")}),a.jsx("span",{className:"font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:d(m?"taskHome.recent.partial":u==="error"?"taskHome.recent.incomplete":"taskHome.recent.total",{count:e.length})})]}),a.jsx("div",{className:"grid grid-cols-1 gap-1 sm:grid-cols-2",children:f.map(h=>{const k=Y5[h.taskStatus],x=h.pendingInteraction?h.pendingInteraction.type==="question"?"interaction.badge.question":h.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission":null,C=Z5(h.taskSourceProjectPath||h.projectPath),T=uo(h,d),b=Le(de(h)),A=h.taskStatus==="running"||h.taskStatus==="queued",N=n.includes(b),R=r.includes(b),V=!!h.taskRetryAvailable&&(h.taskStatus==="failed"||h.taskStatus==="interrupted"||h.taskStatus==="cancelled"),j=s.includes(b),I=_d(h,d);return a.jsxs("div",{className:G("group flex items-center gap-3 rounded-md border border-transparent px-3 py-1.5 text-left transition-colors","hover:border-[hsl(var(--deck-border))] hover:bg-[hsl(var(--deck-surface))]"),children:[a.jsxs("button",{type:"button",onClick:()=>t(h),className:"flex min-w-0 flex-1 items-center gap-3 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx("span",{className:G("h-1.5 w-1.5 shrink-0 rounded-full",x?"animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]":k.dot)}),a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsxs("span",{className:"flex items-center gap-1.5 text-[12.5px] text-[hsl(var(--deck-ink))]",children:[a.jsx("span",{className:"truncate",children:T}),j&&a.jsx("span",{title:d("taskSwitcher.new"),className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]"}),h.taskRetriedFrom&&a.jsx("span",{title:`${d("session.retriedFrom")} ${h.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 font-mono text-[8.5px] text-[hsl(var(--deck-accent))]",children:d("session.retryShort")})]}),a.jsxs("span",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:C}),a.jsx("span",{className:"opacity-40",children:"·"}),a.jsx("span",{className:G("shrink-0",x?"text-amber-700 dark:text-amber-400":k.text),children:d(x??k.labelKey)}),a.jsx("span",{className:"opacity-40",children:"·"}),a.jsx("span",{className:"shrink-0",children:X5(h.lastMessageTime||h.firstMessageTime,d)})]}),I&&a.jsx("span",{title:I,className:"mt-0.5 block truncate font-mono text-[9.5px] text-red-600 dark:text-red-400",children:I})]}),a.jsx(ew,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))] opacity-0 transition-opacity group-hover:opacity-100"})]}),A&&a.jsx("button",{type:"button","aria-label":d(N?"session.action.stopping":"session.action.stop",{title:T}),disabled:N,onClick:()=>o(h),className:"rounded p-1.5 text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:N?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Uc,{className:"h-3.5 w-3.5"})}),V&&a.jsx("button",{type:"button","aria-label":d(R?"session.action.retrying":"session.action.retry",{title:T}),disabled:R,onClick:()=>i(h),className:"rounded p-1.5 text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:R?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(qi,{className:"h-3.5 w-3.5"})})]},b)})})]})}function tL({index:e,title:t,description:n,icon:r,hint:s,onClick:o}){const i=String(e+1).padStart(2,"0"),u=`⌘${e+1}`;return a.jsxs("button",{type:"button",onClick:o,className:G("group relative flex min-h-[100px] flex-col justify-between overflow-hidden rounded-lg border p-3.5 text-left transition","border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]","hover:-translate-y-[1px] hover:border-[hsl(var(--deck-accent)/0.55)] hover:shadow-[0_10px_28px_-14px_hsl(var(--deck-accent)/0.35)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--deck-accent))] focus-visible:ring-offset-2 focus-visible:ring-offset-[hsl(var(--deck-canvas))]","dark:bg-[hsl(var(--deck-surface))] dark:hover:shadow-[0_10px_28px_-14px_hsl(var(--deck-accent)/0.55)]"),children:[a.jsx("span",{"aria-hidden":"true",className:G("pointer-events-none absolute right-3 top-3 h-2 w-2","border-r border-t border-[hsl(var(--deck-border-strong))]","transition-colors group-hover:border-[hsl(var(--deck-accent))]")}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:G("inline-flex h-8 w-8 items-center justify-center rounded-md border transition-colors","border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))]","group-hover:border-[hsl(var(--deck-accent)/0.5)] group-hover:bg-[hsl(var(--deck-accent-soft))]"),children:a.jsx(r,{className:"h-4 w-4 text-[hsl(var(--deck-ink-muted))] transition-colors group-hover:text-[hsl(var(--deck-accent))]"})}),a.jsx("span",{className:"font-mono text-[10px] tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]",children:i})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-[13px] font-semibold text-[hsl(var(--deck-ink))]",children:t}),a.jsx("div",{className:"mt-1 line-clamp-2 text-[11.5px] leading-[1.45] text-[hsl(var(--deck-ink-muted))]",children:n}),a.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[a.jsx("span",{className:"truncate font-mono text-[10px] text-[hsl(var(--deck-ink-faint))] opacity-0 transition-opacity group-hover:opacity-100",children:s}),a.jsx("span",{className:"deck-kbd shrink-0 opacity-0 transition-opacity group-hover:opacity-100",children:u})]})]})]})}const sc=[{key:"explore",titleKey:"taskHome.template.explore.title",descriptionKey:"taskHome.template.explore.description",icon:Hc,prompt:"Explore this codebase and explain ",hintKey:"taskHome.template.explore.hint"},{key:"build",titleKey:"taskHome.template.build.title",descriptionKey:"taskHome.template.build.description",icon:tw,prompt:"Build a production-ready ",hintKey:"taskHome.template.build.hint"},{key:"review",titleKey:"taskHome.template.review.title",descriptionKey:"taskHome.template.review.description",icon:nw,prompt:"/review uncommitted",hintKey:"taskHome.template.review.hint"},{key:"fix",titleKey:"taskHome.template.fix.title",descriptionKey:"taskHome.template.fix.description",icon:rw,prompt:"Investigate and fix ",hintKey:"taskHome.template.fix.hint"}];function nL(e,t){return t?t.split("/").filter(Boolean).at(-1)||t:e("taskHome.hero.projectFallback")}function rL(){const e=Mt(),{taskWorkspaceInfo:t,isTaskWorkspaceLoading:n,taskWorkspaceError:r,isDispatchingTask:s,sessions:o,boundProjects:i,selectedProjectPath:u,error:p,selectProject:d,dispatchTask:f,startCodeReview:m,sendMessage:h,startTemporarySession:k,selectSession:x,cancelTask:C,cancellingTaskKeys:T,retryTask:b,retryingTaskKeys:A,unreadTaskKeys:N,taskEventConnectionState:R,catalogLoadState:V,reconnectTaskEvents:j,clearError:I,loadTaskWorkspaceInfo:O,loadBoundProjects:B}=D(),Z=mr(y=>y.openSettings),re=mr(y=>y.isSettingsOpen),P=At(y=>y.currentMode),z=At(y=>y.currentModelId),J=At(y=>y.configuredModels),he=At(y=>y.isLoading),$e=At(y=>y.hasLoaded),Ce=At(y=>y.loadedWorkspacePath),ie=At(y=>y.error),Me=At(y=>y.loadModels),[$,pe]=w.useState("worktree"),[ke,Qe]=w.useState(),[ct,F]=w.useState(!1),Q=e(R==="connected"?"taskHome.eyebrow":R==="reconnecting"?"taskHome.feed.reconnecting":R==="offline"?"taskHome.feed.offline":"taskHome.feed.connecting"),L=w.useMemo(()=>i.find(y=>y.path===u)??i.find(y=>y.isCurrent),[i,u]),Se=w.useMemo(()=>M2(o,u,(t==null?void 0:t.cwd)??null),[u,o,t==null?void 0:t.cwd]),Pe=(L!=null&&L.available?L.path:void 0)??(t==null?void 0:t.cwd),Ee=`task:${Pe??"unavailable"}`;w.useEffect(()=>{!re&&Pe&&(!$e||Ce!==Pe)&&Me(Pe)},[re,Me,Ce,$e,Pe]);const An=!(L!=null&&L.available)&&n,Lt=L!=null&&L.available?null:r,Ye=!!(Pe&&!An&&!Lt),_n=!!(z&&J.some(y=>y.id===z)),ft=!$e||he,rn=Ye&&_n&&!ft&&ie===null,Pn=w.useMemo(()=>({project:nL(e,(L==null?void 0:L.path)??(t==null?void 0:t.cwd)),branch:(L==null?void 0:L.gitBranch)??(t==null?void 0:t.gitBranch)??e("taskHome.context.branchFallback")}),[L,t,e]),Dt=w.useCallback(async y=>{const Y=y.content.trim();if(Y==="/review"||Y.startsWith("/review ")){if(y.attachments.length>0)throw new Error(e("taskHome.review.attachmentsUnsupported"));if(y.outputSchema)throw new Error(e("taskHome.review.outputSchemaUnsupported"));const Fe=Y.split(/\s+/),pt=Fe[1]||"uncommitted";if(pt!=="uncommitted"&&pt!=="base"&&pt!=="commit"||pt==="uncommitted"&&Fe.length!==2&&Fe.length!==1||(pt==="base"||pt==="commit")&&Fe.length!==3)throw new Error(e("taskHome.review.usage"));await m({projectPath:Pe,kind:pt,...Fe[2]?{ref:Fe[2]}:{},modelId:y.modelId??z??void 0});return}if(y.content.trimStart().startsWith("!")){k(Pe),await h({content:y.content,attachments:[]});return}await f({prompt:y.content,projectPath:Pe,isolation:$,permissionMode:P,modelId:y.modelId??z??void 0,reasoningEffort:y.reasoningEffort,serviceTier:y.serviceTier,responseVerbosity:y.responseVerbosity,communicationStyle:y.communicationStyle,...y.outputSchema?{outputSchema:y.outputSchema}:{},attachments:y.attachments.map(Fe=>({type:"image",content:Fe.dataUrl,mimeType:Fe.mimeType,name:Fe.name}))})},[P,z,f,$,h,m,k,Pe,e]);return w.useEffect(()=>{const y=Y=>{if(!(Y.metaKey||Y.ctrlKey))return;const Fe=Number.parseInt(Y.key,10);if(Number.isNaN(Fe)||Fe<1||Fe>sc.length)return;const pt=sc[Fe-1];pt&&(Y.preventDefault(),Qe({key:Ee,content:pt.prompt}))};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[Ee]),a.jsx("main",{className:"deck-canvas relative flex-1 overflow-y-auto text-[hsl(var(--deck-ink))]",children:a.jsxs("div",{className:"mx-auto flex min-h-full w-full max-w-[960px] flex-col px-6 py-8 md:px-8 md:py-10",children:[a.jsxs("div",{className:"flex gap-4 items-start mb-6",children:[a.jsx(Bd,{size:36,className:"hidden mt-1 sm:inline-flex"}),a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:G("deck-eyebrow flex items-center gap-2",R==="offline"?"text-amber-700 dark:text-amber-400":"text-[hsl(var(--deck-accent))]"),children:[R==="offline"?a.jsx(iu,{className:"w-3 h-3"}):a.jsx("span",{className:"deck-pulse-dot"}),Q]}),a.jsxs("h1",{className:"mt-2.5 max-w-3xl text-balance text-[clamp(28px,3vw,34px)] font-medium leading-[1.12] tracking-[-0.028em] text-[hsl(var(--deck-ink))]",children:[e("taskHome.hero.prefix")," ",a.jsx("span",{className:"whitespace-nowrap font-mono text-[0.82em] text-[hsl(var(--deck-accent))]",children:Pn.project}),a.jsx("span",{className:"text-[hsl(var(--deck-ink-muted))]",children:"?"})]}),a.jsx("p",{className:"mt-2 max-w-[46rem] text-[13px] leading-[1.55] text-[hsl(var(--deck-ink-muted))]",children:e("taskHome.hero.subtitle")})]})]}),a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex justify-between items-center mb-2",children:[a.jsx("span",{className:"deck-eyebrow text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.templates.title")}),a.jsxs("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(jf,{className:"w-3 h-3"}),a.jsx("span",{children:e("taskHome.templates.hint")})]})]}),a.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4",children:sc.map((y,Y)=>a.jsx(tL,{index:Y,title:e(y.titleKey),description:e(y.descriptionKey),icon:y.icon,hint:e(y.hintKey),onClick:()=>Qe({key:Ee,content:y.prompt})},y.key))})]}),a.jsxs("div",{className:"rounded-xl border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] shadow-[0_28px_80px_-32px_hsl(var(--deck-accent)/0.28),0_2px_0_hsl(var(--deck-hairline))]",children:[a.jsxs("div",{className:"flex items-center gap-0 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface-2))]/50",children:[a.jsxs("div",{className:"flex flex-1 items-center min-w-0",children:[a.jsxs(zn,{children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button","aria-label":e("taskHome.context.projectSelect"),disabled:i.length===0,className:"group flex h-9 min-w-0 items-center gap-2 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11.5px] text-[hsl(var(--deck-ink))] transition-colors hover:bg-[hsl(var(--deck-surface))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))] disabled:opacity-50",children:[a.jsx(oo,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"font-medium truncate",children:(L==null?void 0:L.name)??Pn.project}),a.jsx(bs,{className:"h-3 w-3 shrink-0 text-[hsl(var(--deck-ink-faint))] transition-transform group-data-[state=open]:rotate-180"})]})}),a.jsx(Nn,{align:"start",sideOffset:4,className:"w-56 rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-1 shadow-xl",children:a.jsxs("div",{className:"flex flex-col",children:[i.map(y=>a.jsxs("button",{type:"button",disabled:!y.available,onClick:()=>{d(y.path)},className:G("flex items-center gap-2 rounded-md px-2.5 py-1.5 text-left font-mono text-[12px] transition-colors",y.path===u?"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))]",!y.available&&"opacity-40"),children:[a.jsx(oo,{className:"w-3 h-3 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0 truncate",children:y.name}),y.path===u&&a.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))]"})]},y.path)),i.length===0&&a.jsx("span",{className:"px-2.5 py-2 text-center font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.setup.workspace.empty")})]})})]}),a.jsxs("button",{type:"button","data-blade-task-isolation":$,"aria-pressed":$==="worktree",onClick:()=>pe(y=>y==="worktree"?"local":"worktree"),className:G("flex h-9 shrink-0 items-center gap-1.5 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11px] transition-colors",$==="worktree"?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]"),title:e("taskHome.context.isolationToggleTitle"),children:[$==="worktree"?a.jsx(sw,{className:"w-3 h-3"}):a.jsx(ow,{className:"w-3 h-3"}),a.jsx("span",{className:"hidden sm:inline",children:e($==="worktree"?"taskHome.context.isolation.worktree":"taskHome.context.isolation.local")})]}),a.jsxs("span",{className:"flex h-9 shrink-0 items-center gap-1.5 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(_c,{className:"w-3 h-3"}),a.jsx("span",{className:"hidden sm:inline",children:Pn.branch})]})]}),a.jsxs("div",{className:"flex gap-2 items-center px-3 shrink-0",children:[(t==null?void 0:t.taskAdmission)&&a.jsx(Dx,{inFlight:t.taskAdmission.inFlight,queued:t.taskAdmission.queued,maxConcurrent:t.taskAdmission.maxConcurrent,compact:!0}),s&&a.jsxs("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] text-[hsl(var(--deck-accent))]",children:[a.jsx(lt,{className:"w-3 h-3 animate-spin"}),a.jsx("span",{className:"hidden sm:inline",children:e("taskHome.context.preparing")})]})]})]}),!rn&&a.jsxs("section",{"aria-label":e("taskHome.setup.aria"),className:"border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))] px-3 py-3",children:[a.jsxs("div",{className:"mb-2.5",children:[a.jsx("h2",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.12em] text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.title")}),a.jsx("p",{className:"mt-0.5 text-[11px] text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.setup.description")})]}),a.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2.5",children:[a.jsx("span",{className:G("flex justify-center items-center w-7 h-7 rounded-md border shrink-0",Ye?"text-emerald-700 bg-emerald-50 border-emerald-300/70 dark:border-emerald-800/70 dark:bg-emerald-950/40 dark:text-emerald-300":Lt?"text-red-700 bg-red-50 border-red-300/70 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-300":"text-amber-700 bg-amber-50 border-amber-300/70 dark:border-amber-800/70 dark:bg-amber-950/40 dark:text-amber-300"),children:An?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):Ye?a.jsx(au,{className:"h-3.5 w-3.5"}):Lt?a.jsx(Is,{className:"h-3.5 w-3.5"}):a.jsx(oo,{className:"h-3.5 w-3.5"})}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:"block font-mono text-[11px] font-medium text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.workspace.title")}),a.jsx("span",{className:"mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:An?e("taskHome.setup.workspace.loading"):Lt||(Ye?e("taskHome.setup.workspace.ready",{project:Pn.project}):e("taskHome.setup.workspace.required"))})]}),!Ye&&a.jsxs("div",{className:"flex gap-1 items-center shrink-0",children:[Lt&&a.jsx("button",{type:"button",onClick:()=>{Promise.all([O(),B()])},"aria-label":e("taskHome.setup.workspace.retry"),title:e("taskHome.setup.workspace.retry"),className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-canvas))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(so,{className:"h-3.5 w-3.5"})}),a.jsxs("button",{type:"button","data-project-setup-trigger":!0,onClick:()=>F(!0),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink))] hover:border-[hsl(var(--deck-accent)/0.55)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx(Ci,{className:"w-3 h-3"}),e("taskHome.setup.workspace.action")]})]})]}),a.jsxs("div",{className:"flex min-w-0 items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2.5",children:[a.jsx("span",{className:G("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border",_n&&!ie?"border-emerald-300/70 bg-emerald-50 text-emerald-700 dark:border-emerald-800/70 dark:bg-emerald-950/40 dark:text-emerald-300":ie?"border-red-300/70 bg-red-50 text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-300":"border-amber-300/70 bg-amber-50 text-amber-700 dark:border-amber-800/70 dark:bg-amber-950/40 dark:text-amber-300"),children:ft?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):_n&&!ie?a.jsx(au,{className:"h-3.5 w-3.5"}):ie?a.jsx(Is,{className:"h-3.5 w-3.5"}):a.jsx(cu,{className:"h-3.5 w-3.5"})}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:"block font-mono text-[11px] font-medium text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.model.title")}),a.jsx("span",{title:ie??void 0,className:G("mt-0.5 block truncate text-[10.5px]",ie?"text-red-600 dark:text-red-400":"text-[hsl(var(--deck-ink-faint))]"),children:ft?e("taskHome.setup.model.loading"):ie||e(_n?"taskHome.setup.model.ready":"taskHome.setup.model.required")})]}),!ft&&(!_n||ie)&&a.jsxs("button",{type:"button","data-model-setup-trigger":!0,onClick:()=>{ie?Me(Pe):Z("models")},className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink))] hover:border-[hsl(var(--deck-accent)/0.55)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[ie?a.jsx(so,{className:"w-3 h-3"}):a.jsx(cu,{className:"w-3 h-3"}),e(ie?"taskHome.setup.model.retry":"taskHome.setup.model.action")]})]})]})]}),a.jsx("div",{className:"px-3 pt-3 pb-3",children:a.jsx(Q5,{variant:"task",draft:(ke==null?void 0:ke.key)===Ee?ke.content:void 0,draftKey:Ee,placeholder:e("taskHome.composer.placeholder"),onSend:async y=>{try{return await Dt(y),Qe(void 0),!0}catch{return!1}},disabled:s,submitDisabled:!rn,shellSubmitDisabled:!rn,workspacePath:Pe},Ee)})]}),R==="offline"&&a.jsxs("div",{role:"alert",className:"flex flex-wrap gap-3 items-center px-3 py-2 mt-4 text-amber-900 rounded-md border border-amber-300/70 bg-amber-50/80 dark:border-amber-800/70 dark:bg-amber-950/35 dark:text-amber-200",children:[a.jsx(iu,{className:"h-3.5 w-3.5 shrink-0"}),a.jsx("span",{className:"min-w-0 flex-1 text-[12px]",children:e("taskHome.feed.offlineDescription")}),a.jsxs("button",{type:"button",onClick:()=>void j().catch(()=>{}),className:"inline-flex min-h-8 items-center gap-1.5 rounded-md border border-amber-400/70 bg-white/60 px-2.5 font-mono text-[10.5px] font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-700 dark:bg-amber-950/50 dark:hover:bg-amber-900/50",children:[a.jsx(so,{className:"w-3 h-3"}),e("taskHome.feed.retry")]})]}),p&&a.jsxs("div",{role:"alert","data-blade-task-error":!0,className:"flex justify-between items-center px-3 py-2 mt-4 font-mono text-xs text-red-700 rounded-md border border-red-200 bg-red-50/80 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[a.jsx("span",{children:p}),a.jsx("button",{type:"button",onClick:I,className:"underline",children:e("taskHome.error.dismiss")})]}),a.jsx(eL,{sessions:Se,catalogLoadState:V,cancellingTaskKeys:T,retryingTaskKeys:A,unreadTaskKeys:N,onSelect:y=>{x(de(y))},onCancel:y=>{C(de(y)).catch(()=>{})},onRetry:y=>{b(de(y)).catch(()=>{})}}),a.jsxs("div",{className:"mt-6 flex items-center justify-center gap-2 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(If,{className:"w-3 h-3"}),a.jsx("span",{className:"font-mono uppercase tracking-[0.14em]",children:e("taskHome.footer.note")})]}),a.jsx(Wx,{open:ct,onOpenChange:F})]})})}const Fc="blade.sessions.last",zi="session",Lc="project",Dc="workspace";function sL(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;return typeof t.sessionId=="string"&&t.sessionId.trim()&&typeof t.projectPath=="string"&&t.projectPath.trim()?{sessionId:t.sessionId,projectPath:t.projectPath}:null}function oL(e){var o,i,u;const t=new URLSearchParams(e),n=((o=t.get(zi))==null?void 0:o.trim())||null,r=((i=t.get(Lc))==null?void 0:i.trim())||null,s=((u=t.get(Dc))==null?void 0:u.trim())||null;return{sessionRef:n&&(s||r)?{sessionId:n,projectPath:s||r}:null,projectPath:r,hasSessionParam:t.has(zi)}}function iL(e=typeof localStorage>"u"?null:localStorage){if(!e)return null;try{const t=e.getItem(Fc);return t?sL(JSON.parse(t)):null}catch{return null}}function aL(e,t,n={}){const r=n.href??(typeof window>"u"?"http://localhost/":window.location.href),s=new URL(r),o=n.displayProjectPath??(e==null?void 0:e.projectPath)??t,i=(e==null?void 0:e.projectPath)??null;e?s.searchParams.set(zi,e.sessionId):s.searchParams.delete(zi),o?s.searchParams.set(Lc,o):s.searchParams.delete(Lc),i&&o&&i!==o?s.searchParams.set(Dc,i):s.searchParams.delete(Dc);const u=n.storage===void 0?typeof localStorage>"u"?null:localStorage:n.storage;try{e?u==null||u.setItem(Fc,JSON.stringify(e)):u==null||u.removeItem(Fc)}catch{}const p=`${s.pathname}${s.search}${s.hash}`,d=n.replaceState??(typeof window>"u"?void 0:f=>window.history.replaceState(null,"",f));return d==null||d(p),p}const cL=w.lazy(()=>ko(()=>import("./ChatView-DBgMoUrW.js"),__vite__mapDeps([10,1,3,4,2])).then(e=>({default:e.ChatView})));function lL(){const e=Mt(),[t,n]=w.useState(!1),r=D(A=>A.subscribeToTaskEvents),s=D(A=>A.unsubscribeFromTaskEvents),o=D(A=>A.currentSessionRef),i=D(A=>A.isTemporarySession),u=D(A=>A.loadTaskWorkspaceInfo),p=D(A=>A.loadBoundProjects),d=D(A=>A.loadSessions),f=D(A=>A.selectSession),m=D(A=>A.selectProject),h=D(A=>A.startTemporarySession),k=D(A=>A.setError),x=D(A=>A.sessions),C=D(A=>A.selectedProjectPath),T=At(A=>A.loadModels),b=bo(A=>A.loadSettings);return w.useEffect(()=>(r().catch(A=>{console.error("Failed to subscribe to task events",A)}),s),[r,s]),w.useEffect(()=>{let A=!1;return(async()=>{var re;d(),b(),T();const R=oL(window.location.search),V=iL(),j=R.hasSessionParam?R.sessionRef:R.projectPath?null:V,I=Promise.all([u(),p()]),O=!j&&!R.projectPath;if(O&&(h(),n(!0)),await I,A)return;const B=D.getState(),Z=R.projectPath?(re=B.boundProjects.find(P=>P.path===R.projectPath&&P.available))==null?void 0:re.path:null;if(Z&&m(Z),!(j&&(await f(j),A))){if(!j||!oe(D.getState().currentSessionRef,j)){const P=j?D.getState().error:null;h(),P&&k(P)}O||n(!0)}})(),()=>{A=!0}},[p,T,d,b,u,m,f,k,h]),w.useEffect(()=>{if(!t)return;const A=o?Dd(x,o):void 0;aL(o,C,{displayProjectPath:A?ii(A,C):C})},[o,t,C,x]),a.jsxs(a.Fragment,{children:[a.jsx(R5,{}),a.jsx(O5,{children:t?!o||i?a.jsx(rL,{}):a.jsx(w.Suspense,{fallback:a.jsx("div",{className:"flex h-full items-center justify-center font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:e("app.restoring")}),children:a.jsx(cL,{})}):a.jsx("div",{className:"flex h-full items-center justify-center font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:e("app.restoring")})})]})}Cy.createRoot(document.getElementById("root")).render(a.jsx(eo.StrictMode,{children:a.jsx(lL,{})}));export{ii as A,Bd as B,Q5 as C,qc as D,Pc as E,He as F,Oc as G,gL as H,Gu as I,pr as J,_x as K,hL as L,zn as P,Ud as S,ko as _,D as a,mr as b,de as c,Le as d,Ki as e,Kc as f,Gi as g,Wi as h,Ff as i,G as j,ee as k,n0 as l,Dd as m,of as n,Gx as o,qn as p,Nn as q,dr as r,oe as s,At as t,Mt as u,z2 as v,bo as w,n5 as x,Hd as y,uo as z};
|
|
11
|
+
`);if((U||Te)&&ps.historyIndex!==-1){const Tt=ps.getNext();Tt!==null&&(v.preventDefault(),I.current=Tt,R(Tt),sn(x,{content:Tt,attachments:O.current}),requestAnimationFrame(()=>{Y.current&&Y.current.setSelectionRange(Tt.length,Tt.length)}))}}},[Vs,fi,Wt,Vt,Ma,Fa,$a,x,N,ps]),xy=w.useCallback(v=>{const K=v.target.value;I.current=K,R(K),Ce(v.target.selectionStart),sn(x,{content:K,attachments:O.current})},[x]),Xd=w.useCallback(v=>{const K=v.target;Ce(K.selectionStart)},[]);w.useEffect(()=>{Y.current&&(Y.current.style.height="inherit",Y.current.style.height=`${Math.min(Y.current.scrollHeight,200)}px`)},[N]);const La=nc.find(v=>v.value===ci)??nc[1],yy=b(La.labelKey),wy=La.icon,vy=!!N.trim()||V.length>0,Zd=V.length>=Ur,Sy=Mc(V),Da=Lt||(ui?Ws:null),eu=Da?null:_n,_a=!!n||Ee,Iy=_a||Zd||!ir,Js=ir?Zd?b("chat.input.attachment.countLimit",{count:Ur}):b("chat.input.attachment.add"):Ws,jy=()=>{_a||(ft(Js),!ir&&!o&&Un.some(v=>{var K;return(K=v.input)==null?void 0:K.includes("image")})&&Me(!0))};return a.jsxs("div",{className:f==="task"?"bg-transparent":"py-2.5 border-t border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas))]",children:[a.jsxs("div",{className:f==="task"?"w-full":"px-4 w-full md:px-6",children:[a.jsxs("div",{className:`relative border rounded-lg bg-[hsl(var(--deck-surface))] transition-all duration-200 flex flex-col ${f==="task"?`min-h-[148px] shadow-[0_18px_60px_-24px_hsl(var(--deck-accent)/0.4)] focus-within:ring-1 ${rn?"border-amber-400/70 focus-within:border-amber-500 focus-within:ring-amber-400/25":"border-[hsl(var(--deck-border))] focus-within:border-[hsl(var(--deck-accent)/0.6)] focus-within:ring-[hsl(var(--deck-accent)/0.25)]"}`:`min-h-[56px] shadow-sm focus-within:ring-1 ${rn?"border-amber-400/70 focus-within:border-amber-500 focus-within:ring-amber-400/25":"border-[hsl(var(--deck-border))] focus-within:border-[hsl(var(--deck-border-strong))] focus-within:ring-[hsl(var(--deck-border-strong))]"}`}`,children:[a.jsx(df,{type:"command",suggestions:Wt.suggestions,selectedIndex:Wt.selectedIndex,loading:Wt.loading,onSelect:Ma,onHover:Wt.setSelectedIndex,visible:Vs}),a.jsx(df,{type:"file",suggestions:Vt.suggestions,selectedIndex:Vt.selectedIndex,loading:Vt.loading,onSelect:Fa,onHover:Vt.setSelectedIndex,visible:fi&&!Vs}),a.jsx($c,{ref:Y,"data-blade-composer":!0,value:N,onChange:xy,onKeyDown:ky,onPaste:by,onSelect:Xd,onClick:Xd,placeholder:C??b(o?"chat.input.placeholder.steering":"chat.input.placeholder.default"),className:`flex-1 w-full resize-none border-0 bg-transparent px-4 focus-visible:ring-0 focus-visible:ring-offset-0 focus:outline-none text-[#111827] dark:text-zinc-300 placeholder:text-[#9CA3AF] dark:placeholder:text-zinc-600 ${f==="task"?"min-h-[84px] py-4 text-[15px]":"py-2.5 text-[14px]"}`,disabled:n||Ee,"aria-busy":Ee}),rn&&a.jsx("div",{className:"px-4 pb-2 font-mono text-[11px] text-amber-600 dark:text-amber-400",children:"$ user shell · runs in this Session workspace"}),o&&a.jsx("div",{className:"px-4 pb-2 text-[11px] font-mono text-amber-600 dark:text-amber-400",children:u>0&&p==="next_turn"?b("chat.input.followUp.queued",{count:u}):u>0?b("chat.input.steering.queued",{count:u}):a.jsxs(a.Fragment,{children:[b("chat.input.steering.status"),b("chat.input.steering.enterHint")]})}),d>0&&a.jsx("div",{className:"px-4 pb-2 text-[11px] font-mono text-cyan-600 dark:text-cyan-400",children:d===1?b("chat.input.steering.recoveredOne",{count:d}):b("chat.input.steering.recoveredMany",{count:d})}),Da&&a.jsxs("div",{role:"alert",className:"mx-4 mb-2 flex min-h-8 items-center gap-2 rounded-md border border-red-200 bg-red-50 px-2.5 py-1.5 text-[11px] text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[a.jsx(Is,{className:"h-3.5 w-3.5 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0",children:Da}),Lt&&a.jsx("button",{type:"button","aria-label":b("chat.error.dismiss"),onClick:()=>{Ye(null),Dt.current=null},className:"flex justify-center items-center w-6 h-6 text-red-500 rounded shrink-0 hover:bg-red-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 dark:hover:bg-red-950",children:a.jsx(ro,{className:"w-3 h-3"})})]}),eu&&a.jsxs("div",{role:"status","aria-live":"polite",className:"mx-4 mb-2 flex min-h-8 items-center gap-2 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))] px-2.5 py-1.5 text-[11px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(Yy,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"flex-1 min-w-0",children:eu}),a.jsx("button",{type:"button","aria-label":b("chat.notice.dismiss"),onClick:()=>ft(null),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded text-[hsl(var(--deck-ink-faint))] hover:bg-[hsl(var(--deck-surface))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(ro,{className:"w-3 h-3"})})]}),V.length>0&&a.jsxs("div",{className:"px-4 pb-2",children:[a.jsx("div",{className:"mb-1.5 font-mono text-[9.5px] text-[hsl(var(--deck-ink-faint))]",children:b("chat.input.attachment.usage",{count:V.length,limit:Ur,used:rc(Sy),budget:rc(co)})}),a.jsx("div",{className:"flex flex-wrap gap-2",children:V.map(v=>a.jsxs("div",{title:v.name,className:"relative overflow-hidden rounded-md border border-[#E5E7EB] bg-[#F9FAFB] dark:border-zinc-800 dark:bg-zinc-900",children:[a.jsx("img",{src:v.dataUrl,alt:v.name,className:"object-cover w-20 h-20"}),a.jsx("button",{type:"button","aria-label":`${b("chat.input.attachment.remove")} ${v.name}`,title:`${b("chat.input.attachment.remove")} ${v.name}`,onClick:()=>hy(v.id),className:"flex absolute top-1 right-1 justify-center items-center w-6 h-6 text-white rounded transition-colors bg-black/75 hover:bg-black focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white",children:a.jsx(ro,{className:"w-3 h-3"})})]},v.id))})]}),a.jsxs("div",{className:"flex justify-between items-center px-3 py-2 mt-auto",children:[a.jsxs("div",{className:"flex gap-2 items-center",children:[Iy?a.jsx("button",{type:"button",disabled:_a,"aria-disabled":"true","aria-label":Js,title:Js,onClick:jy,className:"flex h-8 w-8 cursor-help items-center justify-center rounded-md text-[#9CA3AF] opacity-55 transition-colors hover:bg-[hsl(var(--deck-surface-2))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed dark:text-zinc-500",children:a.jsx(ou,{className:"w-4 h-4"})}):a.jsxs("label",{title:Js,className:"relative flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[#9CA3AF] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-within:ring-1 focus-within:ring-[hsl(var(--deck-accent))] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-300",children:[a.jsx("input",{ref:Fe,type:"file",accept:"image/*",multiple:!0,"aria-label":Js,className:"absolute inset-0 z-10 w-full h-full opacity-0 cursor-pointer",onChange:gy}),a.jsx(ou,{className:"w-4 h-4"})]}),a.jsxs(zn,{open:ie,onOpenChange:v=>{!o&&!Ee&&Me(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,title:b(o?"chat.input.model.locked":"chat.input.model.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 text-xs text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[Qd,a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsx(Nn,{className:"w-64 p-2 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700",align:"start",children:a.jsx("div",{className:"overflow-y-auto max-h-72",children:Un.length===0?a.jsx("div",{className:"text-xs text-[#6B7280] dark:text-zinc-500 px-2 py-2",children:b("chat.input.model.empty")}):Object.entries(Un.reduce((v,K)=>{const U=K.provider||"unknown";return v[U]||(v[U]=[]),v[U].push(K),v},{})).map(([v,K])=>a.jsxs("div",{className:"mb-2",children:[a.jsx("div",{className:"text-xs text-[#6B7280] dark:text-zinc-500 px-2 py-1 capitalize",children:v.replace(/-/g," ")}),K.map(U=>{var Te;return a.jsx("button",{className:`w-full text-left px-2 py-1.5 text-sm rounded hover:bg-[#E5E7EB] dark:hover:bg-zinc-800 transition-colors ${U.id===fs?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,onClick:()=>{if(ft(null),Ie){Wd(U.id),Me(!1);return}Zx(U.id,T??void 0).then(()=>Me(!1)).catch(()=>{})},children:a.jsxs("span",{className:"flex gap-2 items-center min-w-0",children:[a.jsx("span",{className:"flex-1 min-w-0 truncate",children:U.displayName||U.model}),((Te=U.input)==null?void 0:Te.includes("image"))&&a.jsx("span",{className:"shrink-0 rounded bg-[hsl(var(--deck-accent-soft))] px-1.5 py-0.5 font-mono text-[8.5px] uppercase tracking-[0.08em] text-[hsl(var(--deck-accent))]",children:b("chat.input.model.vision")})]})},U.id)})]},v))})})]}),uy&&a.jsxs(zn,{open:$,onOpenChange:v=>{!o&&!Ee&&pe(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.effort.change"),title:b(o?"chat.input.effort.locked":"chat.input.effort.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.effort.label",{effort:Rr}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.effort.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:Vd.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.effort.option",{effort:v}),onClick:()=>{Pa(v),pe(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${Rr===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="auto"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.effort.autoHint")})]},v))})]})]}),fy&&a.jsxs(zn,{open:ke,onOpenChange:v=>{!o&&!Ee&&Qe(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.serviceTier.change"),title:b(o?"chat.input.serviceTier.locked":"chat.input.serviceTier.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.serviceTier.label",{tier:$r}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:ly.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.serviceTier.option",{tier:v}),onClick:()=>{Na(v),Qe(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${$r===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="fast"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.fastHint")}),v==="flex"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.serviceTier.flexHint")})]},v))})]})]}),py&&a.jsxs(zn,{open:ct,onOpenChange:v=>{!o&&!Ee&&F(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.responseVerbosity.change"),title:b(o?"chat.input.responseVerbosity.locked":"chat.input.responseVerbosity.change"),className:"flex cursor-pointer items-center gap-1 rounded px-2 py-1 font-mono text-[11px] text-[#6B7280] transition-colors hover:bg-[#E5E7EB] hover:text-[#111827] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200",children:[b("chat.input.responseVerbosity.label",{verbosity:Mr}),a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-52 border border-[#E5E7EB] bg-white p-1 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsx("div",{className:"px-2 py-1 font-mono text-[9px] uppercase tracking-[0.12em] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.responseVerbosity.heading")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:dy.map(v=>a.jsxs("button",{type:"button","aria-label":b("chat.input.responseVerbosity.option",{verbosity:v}),onClick:()=>{Oa(v),F(!1)},className:`flex w-full items-center justify-between rounded px-2 py-1.5 text-left font-mono text-[11px] transition-colors hover:bg-[#E5E7EB] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] dark:hover:bg-zinc-800 ${Mr===v?"bg-[#E5E7EB] text-[#111827] dark:bg-zinc-800 dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`,children:[a.jsx("span",{className:"capitalize",children:v}),v==="auto"&&a.jsx("span",{className:"text-[9px] text-[#9CA3AF] dark:text-zinc-600",children:b("chat.input.responseVerbosity.autoHint")})]},v))})]})]}),a.jsxs(zn,{open:P,onOpenChange:v=>{!o&&!Ee&&z(v)},children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button",disabled:o||Ee,"aria-label":b("chat.input.outputSchema.change"),title:b(o?"chat.input.outputSchema.locked":"chat.input.outputSchema.change"),className:`flex h-7 items-center gap-1 rounded px-1.5 font-mono text-[10.5px] transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-not-allowed disabled:opacity-55 ${B.trim()?"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"text-[#6B7280] hover:bg-[#E5E7EB] hover:text-[#111827] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200"}`,children:[a.jsx(Xy,{className:"h-3.5 w-3.5"}),B.trim()&&"JSON"]})}),a.jsxs(Nn,{className:"w-[min(440px,calc(100vw-24px))] border border-[#E5E7EB] bg-white p-0 dark:border-zinc-700 dark:bg-zinc-900",align:"start",children:[a.jsxs("div",{className:"border-b border-[#E5E7EB] px-3 py-2.5 dark:border-zinc-800",children:[a.jsx("div",{className:"font-mono text-[11px] font-semibold text-[#111827] dark:text-zinc-100",children:b("chat.input.outputSchema.title")}),a.jsx("div",{className:"mt-0.5 text-[10.5px] leading-4 text-[#6B7280] dark:text-zinc-500",children:b("chat.input.outputSchema.description")})]}),a.jsxs("div",{className:"p-3",children:[a.jsx($c,{value:B,onChange:v=>{const K=v.target.value;re.current=K,Z(K),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:K})},spellCheck:!1,"aria-label":b("chat.input.outputSchema.editor"),"aria-invalid":!!J,placeholder:b("chat.input.outputSchema.placeholder"),className:"min-h-[180px] resize-y border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] font-mono text-[11px] leading-5 focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]"}),J&&a.jsxs("div",{role:"alert",className:"mt-2 flex items-center gap-1.5 text-[10.5px] text-red-600 dark:text-red-400",children:[a.jsx(Is,{className:"h-3.5 w-3.5"}),J]}),a.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-2",children:[a.jsx("button",{type:"button",onClick:()=>{const v=JSON.stringify({type:"object",properties:{summary:{type:"string"}},required:["summary"],additionalProperties:!1},null,2);re.current=v,Z(v),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:v})},className:"rounded px-2 py-1 font-mono text-[10.5px] text-[hsl(var(--deck-accent))] hover:bg-[hsl(var(--deck-accent-soft))]",children:b("chat.input.outputSchema.example")}),a.jsx("button",{type:"button",onClick:()=>{re.current="",Z(""),he(null),sn(x,{content:I.current,attachments:O.current,outputSchema:""})},className:"rounded px-2 py-1 font-mono text-[10.5px] text-[#6B7280] hover:bg-[#F3F4F6] dark:text-zinc-400 dark:hover:bg-zinc-800",children:b("chat.input.outputSchema.clear")})]})]})]})]}),a.jsxs(zn,{open:Q,onOpenChange:L,children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{"data-blade-permission-mode":ci,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs transition-colors ${La.tone==="danger"?"text-amber-600 hover:bg-amber-500/10 dark:text-amber-400":"text-[#6B7280] hover:bg-[#E5E7EB] hover:text-[#111827] dark:text-zinc-500 dark:hover:bg-zinc-800/50 dark:hover:text-zinc-200"}`,children:[a.jsx(wy,{className:"h-3.5 w-3.5"}),yy,a.jsx(bs,{className:"w-3 h-3"})]})}),a.jsxs(Nn,{className:"w-72 p-1.5 bg-white dark:bg-zinc-900 border border-[#E5E7EB] dark:border-zinc-700",align:"start",children:[a.jsx("div",{className:"px-2 pb-1.5 pt-1 text-[11px] font-medium text-[#9CA3AF] dark:text-zinc-500",children:b("chat.input.mode.aria")}),a.jsx("div",{className:"flex flex-col gap-0.5",children:nc.map(v=>{const K=v.icon,U=ci===v.value,Te=v.tone==="danger";return a.jsxs("button",{type:"button","data-blade-permission-option":v.value,"aria-pressed":U,className:`flex w-full items-start gap-2.5 rounded-md px-2 py-2 text-left transition-colors ${U?"bg-[#F3F4F6] dark:bg-zinc-800/70":"hover:bg-[#F3F4F6] dark:hover:bg-zinc-800/50"}`,onClick:()=>{v.value===fr.YOLO&&ci!==fr.YOLO?(L(!1),Pe(!0)):(zd(v.value),L(!1))},children:[a.jsx(K,{className:`mt-0.5 h-4 w-4 shrink-0 ${Te?"text-amber-500":U?"text-[#111827] dark:text-zinc-100":"text-[#6B7280] dark:text-zinc-400"}`}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:`block text-[13px] font-medium leading-tight ${Te?"text-amber-600 dark:text-amber-400":"text-[#111827] dark:text-zinc-100"}`,children:b(v.labelKey)}),a.jsx("span",{className:"mt-0.5 block text-[11px] leading-snug text-[#6B7280] dark:text-zinc-500",children:b(v.descriptionKey)})]}),U&&a.jsx(wf,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"})]},v.value)})})]})]})]}),a.jsxs("div",{className:"flex gap-2 items-center",children:[o&&a.jsx(pr,{size:"icon",onClick:()=>{t==null||t()},disabled:i,title:b(i?"chat.input.action.stopping":"chat.input.action.stop"),"aria-label":b(i?"chat.input.action.stopping":"chat.input.action.stop"),className:"w-8 h-8 text-white bg-red-500 hover:bg-red-600",children:i?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Uc,{className:"w-3 h-3"})}),a.jsx(pr,{size:"icon","data-blade-submit":!0,onClick:$a,disabled:!vy||n||Pn||ui||Ee||my,title:b(Ee?"chat.input.action.submitting":o?"chat.input.action.steer":"chat.input.action.send"),"aria-label":b(Ee?"chat.input.action.submitting":o?"chat.input.action.steer":"chat.input.action.send"),className:"h-8 w-8 bg-[#111827] text-white hover:bg-[#0F172A] disabled:bg-[#E5E7EB] disabled:text-[#9CA3AF] dark:bg-zinc-100 dark:text-zinc-900 dark:hover:bg-white dark:disabled:bg-zinc-800 dark:disabled:text-zinc-600",children:Ee?a.jsx(lt,{className:"w-4 h-4 animate-spin"}):a.jsx(Zy,{className:"w-4 h-4"})})]})]})]}),f==="chat"&&a.jsx("div",{className:"text-center text-xs text-[#6B7280] dark:text-zinc-600 mt-3 font-mono",children:b("chat.footer.disclaimer")})]}),a.jsx(qc,{open:Se,onOpenChange:Pe,children:a.jsx(Ki,{className:"gap-0 rounded-xl border border-zinc-200 bg-white p-0 dark:border-zinc-800 dark:bg-[#09090b] sm:max-w-[400px]","aria-describedby":"yolo-confirm-desc",hideCloseButton:!0,children:a.jsxs("div",{className:"flex flex-col gap-4 p-5",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-amber-100 dark:bg-amber-950/40",children:a.jsx(Cf,{className:"h-5 w-5 text-amber-600 dark:text-amber-400"})}),a.jsx(Gi,{className:"font-mono text-sm font-semibold",children:b("chat.input.mode.yolo.confirm.title")})]}),a.jsx(Wi,{id:"yolo-confirm-desc",className:"text-[13px] leading-relaxed text-zinc-600 dark:text-zinc-400",children:b("chat.input.mode.yolo.confirm.desc")}),a.jsxs("div",{className:"flex items-center justify-end gap-2 pt-1",children:[a.jsx("button",{type:"button",onClick:()=>Pe(!1),className:"h-8 rounded-md px-3 font-mono text-[12px] font-medium text-zinc-600 transition-colors hover:bg-zinc-100 dark:text-zinc-400 dark:hover:bg-zinc-800",children:b("chat.input.mode.yolo.confirm.cancel")}),a.jsx("button",{type:"button","data-blade-yolo-confirm":!0,onClick:()=>{zd(fr.YOLO),Pe(!1)},className:"h-8 rounded-md bg-amber-600 px-3 font-mono text-[12px] font-semibold text-white transition-colors hover:bg-amber-700",children:b("chat.input.mode.yolo.confirm.accept")})]})]})})})]})}const Y5={running:{dot:"bg-blue-500 shadow-[0_0_5px_rgba(59,130,246,0.7)] animate-pulse",labelKey:"recent.status.running",text:"text-blue-700 dark:text-blue-400"},queued:{dot:"bg-amber-400",labelKey:"recent.status.queued",text:"text-amber-700 dark:text-amber-400"},interrupted:{dot:"bg-orange-500",labelKey:"recent.status.paused",text:"text-orange-700 dark:text-orange-400"},failed:{dot:"bg-red-500",labelKey:"recent.status.failed",text:"text-red-700 dark:text-red-400"},cancelled:{dot:"bg-zinc-400",labelKey:"recent.status.cancelled",text:"text-zinc-500"},completed:{dot:"bg-[hsl(var(--deck-accent))]",labelKey:"recent.status.done",text:"text-[hsl(var(--deck-accent))]"}};function X5(e,t){if(!e)return"";const n=new Date(e);if(Number.isNaN(n.getTime()))return"";const r=Date.now()-n.getTime(),s=Math.floor(r/6e4);if(s<1)return t("recent.time.justNow");if(s<60)return t("recent.time.minutes",{n:s});const o=Math.floor(s/60);if(o<24)return t("recent.time.hours",{n:o});const i=Math.floor(o/24);return t("recent.time.days",{n:i})}function Z5(e){return e.split("/").filter(Boolean).at(-1)||e}function eL({sessions:e,onSelect:t,cancellingTaskKeys:n,retryingTaskKeys:r,unreadTaskKeys:s,onCancel:o,onRetry:i,catalogLoadState:u="ready",className:p}){const d=Mt(),f=[...e].sort(Hd).slice(0,4),m=u==="loading"||u==="hydrating";return f.length===0?!m&&u!=="error"?null:a.jsxs("div",{role:u==="error"?"alert":"status",className:G("mt-7 flex items-center gap-2 rounded-md border border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface))]/50 px-3 py-2 font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",p),children:[m?a.jsx(lt,{className:"h-3 w-3 animate-spin text-[hsl(var(--deck-accent))]"}):a.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-amber-500"}),d(m?"sidebar.catalog.syncing":"sidebar.catalog.incomplete")]}):a.jsxs("div",{className:G("mt-7",p),children:[a.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[a.jsx("span",{className:"deck-eyebrow text-[hsl(var(--deck-ink-faint))]",children:d("taskHome.recent.title")}),a.jsx("span",{className:"font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:d(m?"taskHome.recent.partial":u==="error"?"taskHome.recent.incomplete":"taskHome.recent.total",{count:e.length})})]}),a.jsx("div",{className:"grid grid-cols-1 gap-1 sm:grid-cols-2",children:f.map(h=>{const k=Y5[h.taskStatus],x=h.pendingInteraction?h.pendingInteraction.type==="question"?"interaction.badge.question":h.pendingInteraction.type==="elicitation"?"interaction.badge.elicitation":"interaction.badge.permission":null,C=Z5(h.taskSourceProjectPath||h.projectPath),T=uo(h,d),b=Le(de(h)),A=h.taskStatus==="running"||h.taskStatus==="queued",N=n.includes(b),R=r.includes(b),V=!!h.taskRetryAvailable&&(h.taskStatus==="failed"||h.taskStatus==="interrupted"||h.taskStatus==="cancelled"),j=s.includes(b),I=_d(h,d);return a.jsxs("div",{className:G("group flex items-center gap-3 rounded-md border border-transparent px-3 py-1.5 text-left transition-colors","hover:border-[hsl(var(--deck-border))] hover:bg-[hsl(var(--deck-surface))]"),children:[a.jsxs("button",{type:"button",onClick:()=>t(h),className:"flex min-w-0 flex-1 items-center gap-3 text-left focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx("span",{className:G("h-1.5 w-1.5 shrink-0 rounded-full",x?"animate-pulse bg-amber-500 shadow-[0_0_5px_rgba(245,158,11,0.75)]":k.dot)}),a.jsxs("span",{className:"min-w-0 flex-1",children:[a.jsxs("span",{className:"flex items-center gap-1.5 text-[12.5px] text-[hsl(var(--deck-ink))]",children:[a.jsx("span",{className:"truncate",children:T}),j&&a.jsx("span",{title:d("taskSwitcher.new"),className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))] shadow-[0_0_5px_hsl(var(--deck-accent-glow)/0.75)]"}),h.taskRetriedFrom&&a.jsx("span",{title:`${d("session.retriedFrom")} ${h.taskRetriedFrom.sessionId.slice(0,6)}`,className:"shrink-0 font-mono text-[8.5px] text-[hsl(var(--deck-accent))]",children:d("session.retryShort")})]}),a.jsxs("span",{className:"mt-0.5 flex items-center gap-1.5 truncate font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx("span",{className:"truncate",children:C}),a.jsx("span",{className:"opacity-40",children:"·"}),a.jsx("span",{className:G("shrink-0",x?"text-amber-700 dark:text-amber-400":k.text),children:d(x??k.labelKey)}),a.jsx("span",{className:"opacity-40",children:"·"}),a.jsx("span",{className:"shrink-0",children:X5(h.lastMessageTime||h.firstMessageTime,d)})]}),I&&a.jsx("span",{title:I,className:"mt-0.5 block truncate font-mono text-[9.5px] text-red-600 dark:text-red-400",children:I})]}),a.jsx(ew,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-ink-faint))] opacity-0 transition-opacity group-hover:opacity-100"})]}),A&&a.jsx("button",{type:"button","aria-label":d(N?"session.action.stopping":"session.action.stop",{title:T}),disabled:N,onClick:()=>o(h),className:"rounded p-1.5 text-red-500 transition-colors hover:bg-red-500/10 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-red-500 disabled:cursor-wait disabled:opacity-60",children:N?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(Uc,{className:"h-3.5 w-3.5"})}),V&&a.jsx("button",{type:"button","aria-label":d(R?"session.action.retrying":"session.action.retry",{title:T}),disabled:R,onClick:()=>i(h),className:"rounded p-1.5 text-[hsl(var(--deck-accent))] transition-colors hover:bg-[hsl(var(--deck-accent-soft))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))] disabled:cursor-wait disabled:opacity-60",children:R?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):a.jsx(qi,{className:"h-3.5 w-3.5"})})]},b)})})]})}function tL({index:e,title:t,description:n,icon:r,hint:s,onClick:o}){const i=String(e+1).padStart(2,"0"),u=`⌘${e+1}`;return a.jsxs("button",{type:"button",onClick:o,className:G("group relative flex min-h-[100px] flex-col justify-between overflow-hidden rounded-lg border p-3.5 text-left transition","border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))]","hover:-translate-y-[1px] hover:border-[hsl(var(--deck-accent)/0.55)] hover:shadow-[0_10px_28px_-14px_hsl(var(--deck-accent)/0.35)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--deck-accent))] focus-visible:ring-offset-2 focus-visible:ring-offset-[hsl(var(--deck-canvas))]","dark:bg-[hsl(var(--deck-surface))] dark:hover:shadow-[0_10px_28px_-14px_hsl(var(--deck-accent)/0.55)]"),children:[a.jsx("span",{"aria-hidden":"true",className:G("pointer-events-none absolute right-3 top-3 h-2 w-2","border-r border-t border-[hsl(var(--deck-border-strong))]","transition-colors group-hover:border-[hsl(var(--deck-accent))]")}),a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsx("span",{className:G("inline-flex h-8 w-8 items-center justify-center rounded-md border transition-colors","border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface-2))]","group-hover:border-[hsl(var(--deck-accent)/0.5)] group-hover:bg-[hsl(var(--deck-accent-soft))]"),children:a.jsx(r,{className:"h-4 w-4 text-[hsl(var(--deck-ink-muted))] transition-colors group-hover:text-[hsl(var(--deck-accent))]"})}),a.jsx("span",{className:"font-mono text-[10px] tracking-[0.16em] text-[hsl(var(--deck-ink-faint))]",children:i})]}),a.jsxs("div",{children:[a.jsx("div",{className:"text-[13px] font-semibold text-[hsl(var(--deck-ink))]",children:t}),a.jsx("div",{className:"mt-1 line-clamp-2 text-[11.5px] leading-[1.45] text-[hsl(var(--deck-ink-muted))]",children:n}),a.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[a.jsx("span",{className:"truncate font-mono text-[10px] text-[hsl(var(--deck-ink-faint))] opacity-0 transition-opacity group-hover:opacity-100",children:s}),a.jsx("span",{className:"deck-kbd shrink-0 opacity-0 transition-opacity group-hover:opacity-100",children:u})]})]})]})}const sc=[{key:"explore",titleKey:"taskHome.template.explore.title",descriptionKey:"taskHome.template.explore.description",icon:Hc,prompt:"Explore this codebase and explain ",hintKey:"taskHome.template.explore.hint"},{key:"build",titleKey:"taskHome.template.build.title",descriptionKey:"taskHome.template.build.description",icon:tw,prompt:"Build a production-ready ",hintKey:"taskHome.template.build.hint"},{key:"review",titleKey:"taskHome.template.review.title",descriptionKey:"taskHome.template.review.description",icon:nw,prompt:"/review uncommitted",hintKey:"taskHome.template.review.hint"},{key:"fix",titleKey:"taskHome.template.fix.title",descriptionKey:"taskHome.template.fix.description",icon:rw,prompt:"Investigate and fix ",hintKey:"taskHome.template.fix.hint"}];function nL(e,t){return t?t.split("/").filter(Boolean).at(-1)||t:e("taskHome.hero.projectFallback")}function rL(){const e=Mt(),{taskWorkspaceInfo:t,isTaskWorkspaceLoading:n,taskWorkspaceError:r,isDispatchingTask:s,sessions:o,boundProjects:i,selectedProjectPath:u,error:p,selectProject:d,dispatchTask:f,startCodeReview:m,sendMessage:h,startTemporarySession:k,selectSession:x,cancelTask:C,cancellingTaskKeys:T,retryTask:b,retryingTaskKeys:A,unreadTaskKeys:N,taskEventConnectionState:R,catalogLoadState:V,reconnectTaskEvents:j,clearError:I,loadTaskWorkspaceInfo:O,loadBoundProjects:B}=D(),Z=mr(y=>y.openSettings),re=mr(y=>y.isSettingsOpen),P=At(y=>y.currentMode),z=At(y=>y.currentModelId),J=At(y=>y.configuredModels),he=At(y=>y.isLoading),$e=At(y=>y.hasLoaded),Ce=At(y=>y.loadedWorkspacePath),ie=At(y=>y.error),Me=At(y=>y.loadModels),[$,pe]=w.useState("worktree"),[ke,Qe]=w.useState(),[ct,F]=w.useState(!1),Q=e(R==="connected"?"taskHome.eyebrow":R==="reconnecting"?"taskHome.feed.reconnecting":R==="offline"?"taskHome.feed.offline":"taskHome.feed.connecting"),L=w.useMemo(()=>i.find(y=>y.path===u)??i.find(y=>y.isCurrent),[i,u]),Se=w.useMemo(()=>M2(o,u,(t==null?void 0:t.cwd)??null),[u,o,t==null?void 0:t.cwd]),Pe=(L!=null&&L.available?L.path:void 0)??(t==null?void 0:t.cwd),Ee=`task:${Pe??"unavailable"}`;w.useEffect(()=>{!re&&Pe&&(!$e||Ce!==Pe)&&Me(Pe)},[re,Me,Ce,$e,Pe]);const An=!(L!=null&&L.available)&&n,Lt=L!=null&&L.available?null:r,Ye=!!(Pe&&!An&&!Lt),_n=!!(z&&J.some(y=>y.id===z)),ft=!$e||he,rn=Ye&&_n&&!ft&&ie===null,Pn=w.useMemo(()=>({project:nL(e,(L==null?void 0:L.path)??(t==null?void 0:t.cwd)),branch:(L==null?void 0:L.gitBranch)??(t==null?void 0:t.gitBranch)??e("taskHome.context.branchFallback")}),[L,t,e]),Dt=w.useCallback(async y=>{const Y=y.content.trim();if(Y==="/review"||Y.startsWith("/review ")){if(y.attachments.length>0)throw new Error(e("taskHome.review.attachmentsUnsupported"));if(y.outputSchema)throw new Error(e("taskHome.review.outputSchemaUnsupported"));const Fe=Y.split(/\s+/),pt=Fe[1]||"uncommitted";if(pt!=="uncommitted"&&pt!=="base"&&pt!=="commit"||pt==="uncommitted"&&Fe.length!==2&&Fe.length!==1||(pt==="base"||pt==="commit")&&Fe.length!==3)throw new Error(e("taskHome.review.usage"));await m({projectPath:Pe,kind:pt,...Fe[2]?{ref:Fe[2]}:{},modelId:y.modelId??z??void 0});return}if(y.content.trimStart().startsWith("!")){k(Pe),await h({content:y.content,attachments:[]});return}await f({prompt:y.content,projectPath:Pe,isolation:$,permissionMode:P,modelId:y.modelId??z??void 0,reasoningEffort:y.reasoningEffort,serviceTier:y.serviceTier,responseVerbosity:y.responseVerbosity,communicationStyle:y.communicationStyle,...y.outputSchema?{outputSchema:y.outputSchema}:{},attachments:y.attachments.map(Fe=>({type:"image",content:Fe.dataUrl,mimeType:Fe.mimeType,name:Fe.name}))})},[P,z,f,$,h,m,k,Pe,e]);return w.useEffect(()=>{const y=Y=>{if(!(Y.metaKey||Y.ctrlKey))return;const Fe=Number.parseInt(Y.key,10);if(Number.isNaN(Fe)||Fe<1||Fe>sc.length)return;const pt=sc[Fe-1];pt&&(Y.preventDefault(),Qe({key:Ee,content:pt.prompt}))};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[Ee]),a.jsx("main",{className:"deck-canvas relative flex-1 overflow-y-auto text-[hsl(var(--deck-ink))]",children:a.jsxs("div",{className:"mx-auto flex min-h-full w-full max-w-[960px] flex-col px-6 py-8 md:px-8 md:py-10",children:[a.jsxs("div",{className:"flex gap-4 items-start mb-6",children:[a.jsx(Bd,{size:36,className:"hidden mt-1 sm:inline-flex"}),a.jsxs("div",{className:"flex-1",children:[a.jsxs("div",{className:G("deck-eyebrow flex items-center gap-2",R==="offline"?"text-amber-700 dark:text-amber-400":"text-[hsl(var(--deck-accent))]"),children:[R==="offline"?a.jsx(iu,{className:"w-3 h-3"}):a.jsx("span",{className:"deck-pulse-dot"}),Q]}),a.jsxs("h1",{className:"mt-2.5 max-w-3xl text-balance text-[clamp(28px,3vw,34px)] font-medium leading-[1.12] tracking-[-0.028em] text-[hsl(var(--deck-ink))]",children:[e("taskHome.hero.prefix")," ",a.jsx("span",{className:"whitespace-nowrap font-mono text-[0.82em] text-[hsl(var(--deck-accent))]",children:Pn.project}),a.jsx("span",{className:"text-[hsl(var(--deck-ink-muted))]",children:"?"})]}),a.jsx("p",{className:"mt-2 max-w-[46rem] text-[13px] leading-[1.55] text-[hsl(var(--deck-ink-muted))]",children:e("taskHome.hero.subtitle")})]})]}),a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex justify-between items-center mb-2",children:[a.jsx("span",{className:"deck-eyebrow text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.templates.title")}),a.jsxs("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(jf,{className:"w-3 h-3"}),a.jsx("span",{children:e("taskHome.templates.hint")})]})]}),a.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4",children:sc.map((y,Y)=>a.jsx(tL,{index:Y,title:e(y.titleKey),description:e(y.descriptionKey),icon:y.icon,hint:e(y.hintKey),onClick:()=>Qe({key:Ee,content:y.prompt})},y.key))})]}),a.jsxs("div",{className:"rounded-xl border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] shadow-[0_28px_80px_-32px_hsl(var(--deck-accent)/0.28),0_2px_0_hsl(var(--deck-hairline))]",children:[a.jsxs("div",{className:"flex items-center gap-0 border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-surface-2))]/50",children:[a.jsxs("div",{className:"flex flex-1 items-center min-w-0",children:[a.jsxs(zn,{children:[a.jsx(qn,{asChild:!0,children:a.jsxs("button",{type:"button","aria-label":e("taskHome.context.projectSelect"),disabled:i.length===0,className:"group flex h-9 min-w-0 items-center gap-2 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11.5px] text-[hsl(var(--deck-ink))] transition-colors hover:bg-[hsl(var(--deck-surface))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-[hsl(var(--deck-accent))] disabled:opacity-50",children:[a.jsx(oo,{className:"h-3.5 w-3.5 shrink-0 text-[hsl(var(--deck-accent))]"}),a.jsx("span",{className:"font-medium truncate",children:(L==null?void 0:L.name)??Pn.project}),a.jsx(bs,{className:"h-3 w-3 shrink-0 text-[hsl(var(--deck-ink-faint))] transition-transform group-data-[state=open]:rotate-180"})]})}),a.jsx(Nn,{align:"start",sideOffset:4,className:"w-56 rounded-lg border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] p-1 shadow-xl",children:a.jsxs("div",{className:"flex flex-col",children:[i.map(y=>a.jsxs("button",{type:"button",disabled:!y.available,onClick:()=>{d(y.path)},className:G("flex items-center gap-2 rounded-md px-2.5 py-1.5 text-left font-mono text-[12px] transition-colors",y.path===u?"bg-[hsl(var(--deck-accent-soft))] text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-surface-2))] hover:text-[hsl(var(--deck-ink))]",!y.available&&"opacity-40"),children:[a.jsx(oo,{className:"w-3 h-3 shrink-0"}),a.jsx("span",{className:"flex-1 min-w-0 truncate",children:y.name}),y.path===u&&a.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[hsl(var(--deck-accent))]"})]},y.path)),i.length===0&&a.jsx("span",{className:"px-2.5 py-2 text-center font-mono text-[11px] text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.setup.workspace.empty")})]})})]}),a.jsxs("button",{type:"button","data-blade-task-isolation":$,"aria-pressed":$==="worktree",onClick:()=>pe(y=>y==="worktree"?"local":"worktree"),className:G("flex h-9 shrink-0 items-center gap-1.5 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11px] transition-colors",$==="worktree"?"text-[hsl(var(--deck-accent))]":"text-[hsl(var(--deck-ink-muted))] hover:text-[hsl(var(--deck-ink))]"),title:e("taskHome.context.isolationToggleTitle"),children:[$==="worktree"?a.jsx(sw,{className:"w-3 h-3"}):a.jsx(ow,{className:"w-3 h-3"}),a.jsx("span",{className:"hidden sm:inline",children:e($==="worktree"?"taskHome.context.isolation.worktree":"taskHome.context.isolation.local")})]}),a.jsxs("span",{className:"flex h-9 shrink-0 items-center gap-1.5 border-r border-[hsl(var(--deck-hairline))] px-3 font-mono text-[11px] text-[hsl(var(--deck-ink-muted))]",children:[a.jsx(_c,{className:"w-3 h-3"}),a.jsx("span",{className:"hidden sm:inline",children:Pn.branch})]})]}),a.jsxs("div",{className:"flex gap-2 items-center px-3 shrink-0",children:[(t==null?void 0:t.taskAdmission)&&a.jsx(Dx,{inFlight:t.taskAdmission.inFlight,queued:t.taskAdmission.queued,maxConcurrent:t.taskAdmission.maxConcurrent,compact:!0}),s&&a.jsxs("span",{className:"inline-flex items-center gap-1.5 font-mono text-[10.5px] text-[hsl(var(--deck-accent))]",children:[a.jsx(lt,{className:"w-3 h-3 animate-spin"}),a.jsx("span",{className:"hidden sm:inline",children:e("taskHome.context.preparing")})]})]})]}),!rn&&a.jsxs("section",{"aria-label":e("taskHome.setup.aria"),className:"border-b border-[hsl(var(--deck-hairline))] bg-[hsl(var(--deck-canvas-veil))] px-3 py-3",children:[a.jsxs("div",{className:"mb-2.5",children:[a.jsx("h2",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.12em] text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.title")}),a.jsx("p",{className:"mt-0.5 text-[11px] text-[hsl(var(--deck-ink-faint))]",children:e("taskHome.setup.description")})]}),a.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[a.jsxs("div",{className:"flex min-w-0 items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2.5",children:[a.jsx("span",{className:G("flex justify-center items-center w-7 h-7 rounded-md border shrink-0",Ye?"text-emerald-700 bg-emerald-50 border-emerald-300/70 dark:border-emerald-800/70 dark:bg-emerald-950/40 dark:text-emerald-300":Lt?"text-red-700 bg-red-50 border-red-300/70 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-300":"text-amber-700 bg-amber-50 border-amber-300/70 dark:border-amber-800/70 dark:bg-amber-950/40 dark:text-amber-300"),children:An?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):Ye?a.jsx(au,{className:"h-3.5 w-3.5"}):Lt?a.jsx(Is,{className:"h-3.5 w-3.5"}):a.jsx(oo,{className:"h-3.5 w-3.5"})}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:"block font-mono text-[11px] font-medium text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.workspace.title")}),a.jsx("span",{className:"mt-0.5 block truncate text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:An?e("taskHome.setup.workspace.loading"):Lt||(Ye?e("taskHome.setup.workspace.ready",{project:Pn.project}):e("taskHome.setup.workspace.required"))})]}),!Ye&&a.jsxs("div",{className:"flex gap-1 items-center shrink-0",children:[Lt&&a.jsx("button",{type:"button",onClick:()=>{Promise.all([O(),B()])},"aria-label":e("taskHome.setup.workspace.retry"),title:e("taskHome.setup.workspace.retry"),className:"flex h-8 w-8 items-center justify-center rounded-md text-[hsl(var(--deck-ink-muted))] hover:bg-[hsl(var(--deck-canvas))] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:a.jsx(so,{className:"h-3.5 w-3.5"})}),a.jsxs("button",{type:"button","data-project-setup-trigger":!0,onClick:()=>F(!0),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink))] hover:border-[hsl(var(--deck-accent)/0.55)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[a.jsx(Ci,{className:"w-3 h-3"}),e("taskHome.setup.workspace.action")]})]})]}),a.jsxs("div",{className:"flex min-w-0 items-center gap-2.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-surface))] px-3 py-2.5",children:[a.jsx("span",{className:G("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border",_n&&!ie?"border-emerald-300/70 bg-emerald-50 text-emerald-700 dark:border-emerald-800/70 dark:bg-emerald-950/40 dark:text-emerald-300":ie?"border-red-300/70 bg-red-50 text-red-700 dark:border-red-900/70 dark:bg-red-950/40 dark:text-red-300":"border-amber-300/70 bg-amber-50 text-amber-700 dark:border-amber-800/70 dark:bg-amber-950/40 dark:text-amber-300"),children:ft?a.jsx(lt,{className:"h-3.5 w-3.5 animate-spin"}):_n&&!ie?a.jsx(au,{className:"h-3.5 w-3.5"}):ie?a.jsx(Is,{className:"h-3.5 w-3.5"}):a.jsx(cu,{className:"h-3.5 w-3.5"})}),a.jsxs("span",{className:"flex-1 min-w-0",children:[a.jsx("span",{className:"block font-mono text-[11px] font-medium text-[hsl(var(--deck-ink))]",children:e("taskHome.setup.model.title")}),a.jsx("span",{title:ie??void 0,className:G("mt-0.5 block truncate text-[10.5px]",ie?"text-red-600 dark:text-red-400":"text-[hsl(var(--deck-ink-faint))]"),children:ft?e("taskHome.setup.model.loading"):ie||e(_n?"taskHome.setup.model.ready":"taskHome.setup.model.required")})]}),!ft&&(!_n||ie)&&a.jsxs("button",{type:"button","data-model-setup-trigger":!0,onClick:()=>{ie?Me(Pe):Z("models")},className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-[hsl(var(--deck-border))] bg-[hsl(var(--deck-canvas))] px-2.5 font-mono text-[10.5px] text-[hsl(var(--deck-ink))] hover:border-[hsl(var(--deck-accent)/0.55)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--deck-accent))]",children:[ie?a.jsx(so,{className:"w-3 h-3"}):a.jsx(cu,{className:"w-3 h-3"}),e(ie?"taskHome.setup.model.retry":"taskHome.setup.model.action")]})]})]})]}),a.jsx("div",{className:"px-3 pt-3 pb-3",children:a.jsx(Q5,{variant:"task",draft:(ke==null?void 0:ke.key)===Ee?ke.content:void 0,draftKey:Ee,placeholder:e("taskHome.composer.placeholder"),onSend:async y=>{try{return await Dt(y),Qe(void 0),!0}catch{return!1}},disabled:s,submitDisabled:!rn,shellSubmitDisabled:!rn,workspacePath:Pe},Ee)})]}),R==="offline"&&a.jsxs("div",{role:"alert",className:"flex flex-wrap gap-3 items-center px-3 py-2 mt-4 text-amber-900 rounded-md border border-amber-300/70 bg-amber-50/80 dark:border-amber-800/70 dark:bg-amber-950/35 dark:text-amber-200",children:[a.jsx(iu,{className:"h-3.5 w-3.5 shrink-0"}),a.jsx("span",{className:"min-w-0 flex-1 text-[12px]",children:e("taskHome.feed.offlineDescription")}),a.jsxs("button",{type:"button",onClick:()=>void j().catch(()=>{}),className:"inline-flex min-h-8 items-center gap-1.5 rounded-md border border-amber-400/70 bg-white/60 px-2.5 font-mono text-[10.5px] font-medium transition-colors hover:bg-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500 dark:border-amber-700 dark:bg-amber-950/50 dark:hover:bg-amber-900/50",children:[a.jsx(so,{className:"w-3 h-3"}),e("taskHome.feed.retry")]})]}),p&&a.jsxs("div",{role:"alert","data-blade-task-error":!0,className:"flex justify-between items-center px-3 py-2 mt-4 font-mono text-xs text-red-700 rounded-md border border-red-200 bg-red-50/80 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-300",children:[a.jsx("span",{children:p}),a.jsx("button",{type:"button",onClick:I,className:"underline",children:e("taskHome.error.dismiss")})]}),a.jsx(eL,{sessions:Se,catalogLoadState:V,cancellingTaskKeys:T,retryingTaskKeys:A,unreadTaskKeys:N,onSelect:y=>{x(de(y))},onCancel:y=>{C(de(y)).catch(()=>{})},onRetry:y=>{b(de(y)).catch(()=>{})}}),a.jsxs("div",{className:"mt-6 flex items-center justify-center gap-2 text-[10.5px] text-[hsl(var(--deck-ink-faint))]",children:[a.jsx(If,{className:"w-3 h-3"}),a.jsx("span",{className:"font-mono uppercase tracking-[0.14em]",children:e("taskHome.footer.note")})]}),a.jsx(Wx,{open:ct,onOpenChange:F})]})})}const Fc="blade.sessions.last",zi="session",Lc="project",Dc="workspace";function sL(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;return typeof t.sessionId=="string"&&t.sessionId.trim()&&typeof t.projectPath=="string"&&t.projectPath.trim()?{sessionId:t.sessionId,projectPath:t.projectPath}:null}function oL(e){var o,i,u;const t=new URLSearchParams(e),n=((o=t.get(zi))==null?void 0:o.trim())||null,r=((i=t.get(Lc))==null?void 0:i.trim())||null,s=((u=t.get(Dc))==null?void 0:u.trim())||null;return{sessionRef:n&&(s||r)?{sessionId:n,projectPath:s||r}:null,projectPath:r,hasSessionParam:t.has(zi)}}function iL(e=typeof localStorage>"u"?null:localStorage){if(!e)return null;try{const t=e.getItem(Fc);return t?sL(JSON.parse(t)):null}catch{return null}}function aL(e,t,n={}){const r=n.href??(typeof window>"u"?"http://localhost/":window.location.href),s=new URL(r),o=n.displayProjectPath??(e==null?void 0:e.projectPath)??t,i=(e==null?void 0:e.projectPath)??null;e?s.searchParams.set(zi,e.sessionId):s.searchParams.delete(zi),o?s.searchParams.set(Lc,o):s.searchParams.delete(Lc),i&&o&&i!==o?s.searchParams.set(Dc,i):s.searchParams.delete(Dc);const u=n.storage===void 0?typeof localStorage>"u"?null:localStorage:n.storage;try{e?u==null||u.setItem(Fc,JSON.stringify(e)):u==null||u.removeItem(Fc)}catch{}const p=`${s.pathname}${s.search}${s.hash}`,d=n.replaceState??(typeof window>"u"?void 0:f=>window.history.replaceState(null,"",f));return d==null||d(p),p}const cL=w.lazy(()=>ko(()=>import("./ChatView-CyxiCTbL.js"),__vite__mapDeps([10,1,3,4,2])).then(e=>({default:e.ChatView})));function lL(){const e=Mt(),[t,n]=w.useState(!1),r=D(A=>A.subscribeToTaskEvents),s=D(A=>A.unsubscribeFromTaskEvents),o=D(A=>A.currentSessionRef),i=D(A=>A.isTemporarySession),u=D(A=>A.loadTaskWorkspaceInfo),p=D(A=>A.loadBoundProjects),d=D(A=>A.loadSessions),f=D(A=>A.selectSession),m=D(A=>A.selectProject),h=D(A=>A.startTemporarySession),k=D(A=>A.setError),x=D(A=>A.sessions),C=D(A=>A.selectedProjectPath),T=At(A=>A.loadModels),b=bo(A=>A.loadSettings);return w.useEffect(()=>(r().catch(A=>{console.error("Failed to subscribe to task events",A)}),s),[r,s]),w.useEffect(()=>{let A=!1;return(async()=>{var re;d(),b(),T();const R=oL(window.location.search),V=iL(),j=R.hasSessionParam?R.sessionRef:R.projectPath?null:V,I=Promise.all([u(),p()]),O=!j&&!R.projectPath;if(O&&(h(),n(!0)),await I,A)return;const B=D.getState(),Z=R.projectPath?(re=B.boundProjects.find(P=>P.path===R.projectPath&&P.available))==null?void 0:re.path:null;if(Z&&m(Z),!(j&&(await f(j),A))){if(!j||!oe(D.getState().currentSessionRef,j)){const P=j?D.getState().error:null;h(),P&&k(P)}O||n(!0)}})(),()=>{A=!0}},[p,T,d,b,u,m,f,k,h]),w.useEffect(()=>{if(!t)return;const A=o?Dd(x,o):void 0;aL(o,C,{displayProjectPath:A?ii(A,C):C})},[o,t,C,x]),a.jsxs(a.Fragment,{children:[a.jsx(R5,{}),a.jsx(O5,{children:t?!o||i?a.jsx(rL,{}):a.jsx(w.Suspense,{fallback:a.jsx("div",{className:"flex h-full items-center justify-center font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:e("app.restoring")}),children:a.jsx(cL,{})}):a.jsx("div",{className:"flex h-full items-center justify-center font-mono text-[12px] text-[hsl(var(--deck-ink-faint))]",children:e("app.restoring")})})]})}Cy.createRoot(document.getElementById("root")).render(a.jsx(eo.StrictMode,{children:a.jsx(lL,{})}));export{ii as A,Bd as B,Q5 as C,qc as D,Pc as E,He as F,Oc as G,gL as H,Gu as I,pr as J,_x as K,hL as L,zn as P,Ud as S,ko as _,D as a,mr as b,de as c,Le as d,Ki as e,Kc as f,Gi as g,Wi as h,Ff as i,G as j,ee as k,n0 as l,Dd as m,of as n,Gx as o,qn as p,Nn as q,dr as r,oe as s,At as t,Mt as u,z2 as v,bo as w,n5 as x,Hd as y,uo as z};
|