@vibeflow-tools/cli 0.6.1 → 0.8.0
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/CHANGELOG.md +30 -0
- package/README.md +2 -0
- package/dist/cli/index.js +59 -29
- package/dist/client/kanban-browser.js +13 -14
- package/dist/client/overlay-browser.js +34 -4
- package/dist/index.js +59 -29
- package/dist/overlay.css +31 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as A,b as xe,c as ke,d as mt,e as ht,f as we,g as vt,h as
|
|
2
|
+
import{a as A,b as xe,c as ke,d as mt,e as ht,f as we,g as vt,h as Q,i as fe,j as X,k as Y,l as Z,m as $,n as Ee,o as Ke,p as Se,q as Ie,r as yt,t as q,u as xt,v as kt,w as wt,x as Ye}from"./chunk-D6KVQU62.js";import{a as V,b as St,c as Ct}from"./chunk-KJ5LYG6A.js";import{Command as wa}from"commander";import{execSync as gt,execFileSync as qe}from"child_process";import{readFileSync as jr,readdirSync as Tr,statSync as Er,existsSync as ct,writeFileSync as Qt,mkdirSync as Xt,unlinkSync as rn}from"fs";import{createRequire as Ir}from"module";import{join as K,resolve as Pr,basename as J,extname as an,dirname as Nr}from"path";import{createServer as on}from"http";import{spawn as Jt,execSync as _e}from"child_process";import{networkInterfaces as Rr}from"os";import te from"express";import{WebSocketServer as ln,WebSocket as sn}from"ws";import w from"chalk";import{createExpressMiddleware as Lr}from"@trpc/server/adapters/express";import*as qn from"cheerio";import{readdirSync as Ra,statSync as La}from"fs";import{join as za,extname as Oa}from"path";function _t(t,e){let r=`<script data-vibeflow-overlay>${e}</script>`,c=t.lastIndexOf("</body>");return c!==-1?t.slice(0,c)+r+`
|
|
3
3
|
`+t.slice(c):t+`
|
|
4
|
-
`+r}import{watch as Vn}from"chokidar";function Qe(t,e){let r=Vn(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return r.on("change",c=>{e.onChange(c)}),e.onAdd&&r.on("add",e.onAdd),e.onUnlink&&r.on("unlink",e.onUnlink),r}function Ge(t,e){return Qe(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var Xe=`"use strict";(()=>{var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_react_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js"(exports){"use strict";var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){return a===null||typeof a!="object"?null:(a=z&&a[z]||a["@@iterator"],typeof a=="function"?a:null)}var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){if(typeof a!="object"&&typeof a!="function"&&a!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}var H=G.prototype=new F;H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function M(a,b,e){var d,c={},k=null,h=null;if(b!=null)for(d in b.ref!==void 0&&(h=b.ref),b.key!==void 0&&(k=""+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(g===1)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)c[d]===void 0&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}function N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return typeof a=="object"&&a!==null&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a2){return b[a2]})}var P=/\\/+/g;function Q(a,b){return typeof a=="object"&&a!==null&&a.key!=null?escape(""+a.key):b.toString(36)}function R(a,b,e,d,c){var k=typeof a;(k==="undefined"||k==="boolean")&&(a=null);var h=!1;if(a===null)h=!0;else switch(k){case"string":case"number":h=!0;break;case"object":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=d===""?"."+Q(h,0):d,I(c)?(e="",a!=null&&(e=a.replace(P,"$&/")+"/"),R(c,b,e,"",function(a2){return a2})):c!=null&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?"":(""+c.key).replace(P,"$&/")+"/")+a)),b.push(c)),1;if(h=0,d=d===""?".":d+":",I(a))for(var g=0;g<a.length;g++){k=a[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),typeof f=="function")for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(k==="object")throw b=String(a),Error("Objects are not valid as a React child (found: "+(b==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return h}function S(a,b,e){if(a==null)return a;var d=[],c=0;return R(a,d,"","",function(a2){return b.call(e,a2,c++)}),d}function T(a){if(a._status===-1){var b=a._result;b=b(),b.then(function(b2){(a._status===0||a._status===-1)&&(a._status=1,a._result=b2)},function(b2){(a._status===0||a._status===-1)&&(a._status=2,a._result=b2)}),a._status===-1&&(a._status=0,a._result=b)}if(a._status===1)return a._result.default;throw a._result}var U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error("act(...) is not supported in production builds of React.")}exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;return S(a,function(){b++}),b},toArray:function(a){return S(a,function(a2){return a2})||[]},only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;exports.cloneElement=function(a,b,e){if(a==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(b!=null){if(b.ref!==void 0&&(k=b.ref,h=K.current),b.key!==void 0&&(c=""+b.key),a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=b[f]===void 0&&g!==void 0?g[f]:b[f])}var f=arguments.length-2;if(f===1)d.children=e;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){return a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},a.Provider={$$typeof:t,_context:a},a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);return b.type=a,b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:b===void 0?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version="18.3.1"}});var require_react=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js"(exports,module){"use strict";module.exports=require_react_production_min()}});var require_react_jsx_runtime_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js"(exports){"use strict";var f=require_react(),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q}});var require_jsx_runtime=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js"(exports,module){"use strict";module.exports=require_react_jsx_runtime_production_min()}});var require_scheduler_production_min=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js"(exports){"use strict";function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return a.length===0?null:a[0]}function k(a){if(a.length===0)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}function g(a,b){var c=a.sortIndex-b.sortIndex;return c!==0?c:a.id-b.id}typeof performance=="object"&&typeof performance.now=="function"?(l=performance,exports.unstable_now=function(){return l.now()}):(p=Date,q=p.now(),exports.unstable_now=function(){return p.now()-q});var l,p,q,r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);b!==null;){if(b.callback===null)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){if(B=!1,G(a),!A)if(h(r)!==null)A=!0,I(J);else{var b=h(t);b!==null&&K(H,b.startTime-a)}}function J(a,b){A=!1,B&&(B=!1,E(L),L=-1),z=!0;var c=y;try{for(G(b),v=h(r);v!==null&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(typeof d=="function"){v.callback=null,y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now(),typeof e=="function"?v.callback=e:v===h(r)&&k(r),G(b)}else k(r);v=h(r)}if(v!==null)var w=!0;else{var m=h(t);m!==null&&K(H,m.startTime-b),w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;function M(){return!(exports.unstable_now()-Q<P)}function R(){if(O!==null){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;typeof F=="function"?S=function(){F(R)}:typeof MessageChannel<"u"?(T=new MessageChannel,U=T.port2,T.port1.onmessage=R,S=function(){U.postMessage(null)}):S=function(){D(R,0)};var T,U;function I(a){O=a,N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<a?Math.floor(1e3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();switch(typeof c=="object"&&c!==null?(c=c.delay,c=typeof c=="number"&&0<c?d+c:d):c=d,a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1e4;break;default:e=5e3}return e=c+e,a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1},c>d?(a.sortIndex=c,f(t,a),h(r)===null&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J))),a};exports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}}}});var require_scheduler=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js"(exports,module){"use strict";module.exports=require_scheduler_production_min()}});var require_react_dom_production_min=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js"(exports){"use strict";var aa=require_react(),ca=require_scheduler();function p(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var da=new Set,ea={};function fa(a,b){ha(a,b),ha(a+"Capture",b)}function ha(a,b){for(ea[a]=b,a=0;a<b.length;a++)da.add(b[a])}var ia=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la={},ma={};function oa(a){return ja.call(ma,a)?!0:ja.call(la,a)?!1:ka.test(a)?ma[a]=!0:(la[a]=!0,!1)}function pa(a,b,c,d){if(c!==null&&c.type===0)return!1;switch(typeof b){case"function":case"symbol":return!0;case"boolean":return d?!1:c!==null?!c.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function qa(a,b,c,d){if(b===null||typeof b>"u"||pa(a,b,c,d))return!0;if(d)return!1;if(c!==null)switch(c.type){case 3:return!b;case 4:return b===!1;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=b===2||b===3||b===4,this.attributeName=d,this.attributeNamespace=e,this.mustUseProperty=c,this.propertyName=a,this.type=b,this.sanitizeURL=f,this.removeEmptyString=g}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});z.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});function ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;(e!==null?e.type!==0:d||!(2<b.length)||b[0]!=="o"&&b[0]!=="O"||b[1]!=="n"&&b[1]!=="N")&&(qa(b,c,e,d)&&(c=null),d||e===null?oa(b)&&(c===null?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=c===null?e.type===3?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,c===null?a.removeAttribute(b):(e=e.type,c=e===3||e===4&&c===!0?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}var ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for("react.element"),wa=Symbol.for("react.portal"),ya=Symbol.for("react.fragment"),za=Symbol.for("react.strict_mode"),Aa=Symbol.for("react.profiler"),Ba=Symbol.for("react.provider"),Ca=Symbol.for("react.context"),Da=Symbol.for("react.forward_ref"),Ea=Symbol.for("react.suspense"),Fa=Symbol.for("react.suspense_list"),Ga=Symbol.for("react.memo"),Ha=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Ia=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Ja=Symbol.iterator;function Ka(a){return a===null||typeof a!="object"?null:(a=Ja&&a[Ja]||a["@@iterator"],typeof a=="function"?a:null)}var A=Object.assign,La;function Ma(a){if(La===void 0)try{throw Error()}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||""}return\`
|
|
4
|
+
`+r}import{watch as Vn}from"chokidar";function Ge(t,e){let r=Vn(t,{persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}});return r.on("change",c=>{e.onChange(c)}),e.onAdd&&r.on("add",e.onAdd),e.onUnlink&&r.on("unlink",e.onUnlink),r}function Qe(t,e){return Ge(t,{onChange:e.onChanged,onAdd:e.onChanged,onUnlink:e.onDeleted})}var Xe=`"use strict";(()=>{var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_react_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js"(exports){"use strict";var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){return a===null||typeof a!="object"?null:(a=z&&a[z]||a["@@iterator"],typeof a=="function"?a:null)}var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){if(typeof a!="object"&&typeof a!="function"&&a!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e||B}var H=G.prototype=new F;H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};function M(a,b,e){var d,c={},k=null,h=null;if(b!=null)for(d in b.ref!==void 0&&(h=b.ref),b.key!==void 0&&(k=""+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(g===1)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)c[d]===void 0&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}function N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return typeof a=="object"&&a!==null&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a2){return b[a2]})}var P=/\\/+/g;function Q(a,b){return typeof a=="object"&&a!==null&&a.key!=null?escape(""+a.key):b.toString(36)}function R(a,b,e,d,c){var k=typeof a;(k==="undefined"||k==="boolean")&&(a=null);var h=!1;if(a===null)h=!0;else switch(k){case"string":case"number":h=!0;break;case"object":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=d===""?"."+Q(h,0):d,I(c)?(e="",a!=null&&(e=a.replace(P,"$&/")+"/"),R(c,b,e,"",function(a2){return a2})):c!=null&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?"":(""+c.key).replace(P,"$&/")+"/")+a)),b.push(c)),1;if(h=0,d=d===""?".":d+":",I(a))for(var g=0;g<a.length;g++){k=a[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),typeof f=="function")for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(k==="object")throw b=String(a),Error("Objects are not valid as a React child (found: "+(b==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return h}function S(a,b,e){if(a==null)return a;var d=[],c=0;return R(a,d,"","",function(a2){return b.call(e,a2,c++)}),d}function T(a){if(a._status===-1){var b=a._result;b=b(),b.then(function(b2){(a._status===0||a._status===-1)&&(a._status=1,a._result=b2)},function(b2){(a._status===0||a._status===-1)&&(a._status=2,a._result=b2)}),a._status===-1&&(a._status=0,a._result=b)}if(a._status===1)return a._result.default;throw a._result}var U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error("act(...) is not supported in production builds of React.")}exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;return S(a,function(){b++}),b},toArray:function(a){return S(a,function(a2){return a2})||[]},only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;exports.cloneElement=function(a,b,e){if(a==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(b!=null){if(b.ref!==void 0&&(k=b.ref,h=K.current),b.key!==void 0&&(c=""+b.key),a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=b[f]===void 0&&g!==void 0?g[f]:b[f])}var f=arguments.length-2;if(f===1)d.children=e;else if(1<f){g=Array(f);for(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){return a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},a.Provider={$$typeof:t,_context:a},a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);return b.type=a,b};exports.createRef=function(){return{current:null}};exports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:b===void 0?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version="18.3.1"}});var require_react=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js"(exports,module){"use strict";module.exports=require_react_production_min()}});var require_react_jsx_runtime_production_min=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js"(exports){"use strict";var f=require_react(),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q}});var require_jsx_runtime=__commonJS({"../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js"(exports,module){"use strict";module.exports=require_react_jsx_runtime_production_min()}});var require_scheduler_production_min=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js"(exports){"use strict";function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return a.length===0?null:a[0]}function k(a){if(a.length===0)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}function g(a,b){var c=a.sortIndex-b.sortIndex;return c!==0?c:a.id-b.id}typeof performance=="object"&&typeof performance.now=="function"?(l=performance,exports.unstable_now=function(){return l.now()}):(p=Date,q=p.now(),exports.unstable_now=function(){return p.now()-q});var l,p,q,r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);b!==null;){if(b.callback===null)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){if(B=!1,G(a),!A)if(h(r)!==null)A=!0,I(J);else{var b=h(t);b!==null&&K(H,b.startTime-a)}}function J(a,b){A=!1,B&&(B=!1,E(L),L=-1),z=!0;var c=y;try{for(G(b),v=h(r);v!==null&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(typeof d=="function"){v.callback=null,y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now(),typeof e=="function"?v.callback=e:v===h(r)&&k(r),G(b)}else k(r);v=h(r)}if(v!==null)var w=!0;else{var m=h(t);m!==null&&K(H,m.startTime-b),w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;function M(){return!(exports.unstable_now()-Q<P)}function R(){if(O!==null){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;typeof F=="function"?S=function(){F(R)}:typeof MessageChannel<"u"?(T=new MessageChannel,U=T.port2,T.port1.onmessage=R,S=function(){U.postMessage(null)}):S=function(){D(R,0)};var T,U;function I(a){O=a,N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<a?Math.floor(1e3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};exports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();switch(typeof c=="object"&&c!==null?(c=c.delay,c=typeof c=="number"&&0<c?d+c:d):c=d,a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1e4;break;default:e=5e3}return e=c+e,a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1},c>d?(a.sortIndex=c,f(t,a),h(r)===null&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J))),a};exports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}}}});var require_scheduler=__commonJS({"../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js"(exports,module){"use strict";module.exports=require_scheduler_production_min()}});var require_react_dom_production_min=__commonJS({"../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js"(exports){"use strict";var aa=require_react(),ca=require_scheduler();function p(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var da=new Set,ea={};function fa(a,b){ha(a,b),ha(a+"Capture",b)}function ha(a,b){for(ea[a]=b,a=0;a<b.length;a++)da.add(b[a])}var ia=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la={},ma={};function oa(a){return ja.call(ma,a)?!0:ja.call(la,a)?!1:ka.test(a)?ma[a]=!0:(la[a]=!0,!1)}function pa(a,b,c,d){if(c!==null&&c.type===0)return!1;switch(typeof b){case"function":case"symbol":return!0;case"boolean":return d?!1:c!==null?!c.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}function qa(a,b,c,d){if(b===null||typeof b>"u"||pa(a,b,c,d))return!0;if(d)return!1;if(c!==null)switch(c.type){case 3:return!b;case 4:return b===!1;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=b===2||b===3||b===4,this.attributeName=d,this.attributeNamespace=e,this.mustUseProperty=c,this.propertyName=a,this.type=b,this.sanitizeURL=f,this.removeEmptyString=g}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});z.xlinkHref=new v("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});function ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;(e!==null?e.type!==0:d||!(2<b.length)||b[0]!=="o"&&b[0]!=="O"||b[1]!=="n"&&b[1]!=="N")&&(qa(b,c,e,d)&&(c=null),d||e===null?oa(b)&&(c===null?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=c===null?e.type===3?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,c===null?a.removeAttribute(b):(e=e.type,c=e===3||e===4&&c===!0?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}var ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for("react.element"),wa=Symbol.for("react.portal"),ya=Symbol.for("react.fragment"),za=Symbol.for("react.strict_mode"),Aa=Symbol.for("react.profiler"),Ba=Symbol.for("react.provider"),Ca=Symbol.for("react.context"),Da=Symbol.for("react.forward_ref"),Ea=Symbol.for("react.suspense"),Fa=Symbol.for("react.suspense_list"),Ga=Symbol.for("react.memo"),Ha=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Ia=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Ja=Symbol.iterator;function Ka(a){return a===null||typeof a!="object"?null:(a=Ja&&a[Ja]||a["@@iterator"],typeof a=="function"?a:null)}var A=Object.assign,La;function Ma(a){if(La===void 0)try{throw Error()}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||""}return\`
|
|
5
5
|
\`+La+a}var Na=!1;function Oa(a,b){if(!a||Na)return"";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error()},Object.defineProperty(b.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error()}catch(l){d=l}a()}}catch(l){if(l&&d&&typeof l.stack=="string"){for(var e=l.stack.split(\`
|
|
6
6
|
\`),f=d.stack.split(\`
|
|
7
7
|
\`),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(g!==1||h!==1)do if(g--,h--,0>h||e[g]!==f[h]){var k=\`
|
|
@@ -1551,6 +1551,37 @@ Error generating stack: \`+f.message+\`
|
|
|
1551
1551
|
color: rgba(255,255,255,0.7);
|
|
1552
1552
|
}
|
|
1553
1553
|
.rq-btn-secondary:hover { background: #475569; }
|
|
1554
|
+
|
|
1555
|
+
/* \\u2500\\u2500 Corner trigger context menu (right-click to hide overlay) \\u2500\\u2500\\u2500\\u2500\\u2500\\u2500\\u2500 */
|
|
1556
|
+
.vibeflow-trigger-ctx-menu {
|
|
1557
|
+
position: fixed;
|
|
1558
|
+
background: #1e293b;
|
|
1559
|
+
border: 1px solid #334155;
|
|
1560
|
+
border-radius: 6px;
|
|
1561
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
1562
|
+
padding: 2px;
|
|
1563
|
+
z-index: 2147483647;
|
|
1564
|
+
pointer-events: auto;
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
.vibeflow-trigger-ctx-menu button {
|
|
1568
|
+
display: block;
|
|
1569
|
+
width: 100%;
|
|
1570
|
+
text-align: left;
|
|
1571
|
+
padding: 4px 10px;
|
|
1572
|
+
border: none;
|
|
1573
|
+
background: none;
|
|
1574
|
+
color: #e2e8f0;
|
|
1575
|
+
font-size: 12px;
|
|
1576
|
+
font-family: system-ui, sans-serif;
|
|
1577
|
+
cursor: pointer;
|
|
1578
|
+
border-radius: 4px;
|
|
1579
|
+
white-space: nowrap;
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
.vibeflow-trigger-ctx-menu button:hover {
|
|
1583
|
+
background: #334155;
|
|
1584
|
+
}
|
|
1554
1585
|
\`,HOST_PAGE_CSS=\` .vibeflow-overlay-active * {
|
|
1555
1586
|
cursor: crosshair !important;
|
|
1556
1587
|
}
|
|
@@ -1569,14 +1600,14 @@ Error generating stack: \`+f.message+\`
|
|
|
1569
1600
|
\`)){let m=line.match(/^\\s*at\\s+([A-Za-z_$][A-Za-z0-9._$]*)\\s+\\(/);if(m&&!SKIP.test(m[1]))return m[1]}return null}function getReactSource(el2){var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s;let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey],result={},nearestComponent,parentComponent,depth=0;for(;fiber&&depth<20;){if(fiber._debugSource&&!result.file&&(result.file=fiber._debugSource.fileName,result.line=fiber._debugSource.lineNumber,result.col=fiber._debugSource.columnNumber),!result.component){let ownerName=((_b=(_a=fiber._debugOwner)==null?void 0:_a.type)==null?void 0:_b.displayName)??((_d=(_c=fiber._debugOwner)==null?void 0:_c.type)==null?void 0:_d.name);ownerName&&!nearestComponent&&(nearestComponent=ownerName);let ownerParentName=((_h=(_g=(_f=(_e=fiber._debugOwner)==null?void 0:_e.return)==null?void 0:_f._debugOwner)==null?void 0:_g.type)==null?void 0:_h.displayName)??((_l=(_k=(_j=(_i=fiber._debugOwner)==null?void 0:_i.return)==null?void 0:_j._debugOwner)==null?void 0:_k.type)==null?void 0:_l.name)??((_o=(_n=(_m=fiber._debugOwner)==null?void 0:_m._debugOwner)==null?void 0:_n.type)==null?void 0:_o.displayName)??((_r=(_q=(_p=fiber._debugOwner)==null?void 0:_p._debugOwner)==null?void 0:_q.type)==null?void 0:_r.name);ownerParentName&&ownerParentName!==ownerName&&!parentComponent&&(parentComponent=ownerParentName)}if(!result.component){let stack=(_s=fiber._debugStack)==null?void 0:_s.stack;if(stack){let name=parseComponentFromReactStack(stack);name&&!nearestComponent&&(nearestComponent=name);let functionName=parseFunctionFromReactStack(stack);functionName&&(result.functionName=functionName)}}if((result.file||result.component)&&depth>0)break;fiber=fiber.return,depth++}return nearestComponent&&(result.component=parentComponent?\`\${parentComponent} > \${nearestComponent}\`:nearestComponent),result.file!=null||result.component!=null?result:null}function getVue3Source(el2){var _a,_b,_c;let node=el2;for(;node;){let instance=node.__vueParentComponent;if(instance)return{file:((_a=instance.type)==null?void 0:_a.__file)??void 0,component:((_b=instance.type)==null?void 0:_b.name)??((_c=instance.type)==null?void 0:_c.__name)??void 0};node=node.parentElement}return null}function getVue2Source(el2){var _a,_b;let node=el2;for(;node;){let vm=node.__vue__;if(vm)return{file:((_a=vm.$options)==null?void 0:_a.__file)??void 0,component:((_b=vm.$options)==null?void 0:_b.name)??void 0};node=node.parentElement}return null}function getAngularSource(el2){var _a;let ng=window.ng;if(!ng)return null;let node=el2;for(;node;){try{let component=ng.getComponent(node);if(component)return{component:((_a=component.constructor)==null?void 0:_a.name)??void 0}}catch{}node=node.parentElement}return null}function getPreactSource(el2){var _a,_b,_c,_d;let e=el2,children=((_a=e.__P)==null?void 0:_a.__k)??[],GENERIC_NAMES=new Set(["Object","VNode","VNode2"]);for(let vnode of children){if(!vnode||typeof vnode!="object")continue;let v=vnode,typeNameRaw2=(_b=v==null?void 0:v.type)==null?void 0:_b.name,ctorNameRaw=(_c=v==null?void 0:v.constructor)==null?void 0:_c.name,ctorName=ctorNameRaw&&!GENERIC_NAMES.has(ctorNameRaw)?ctorNameRaw:void 0,name=typeNameRaw2??ctorName??void 0;if(name)return{component:name}}let attrNode=e.__preactattr__;if(!attrNode)return null;let typeNameRaw=(_d=attrNode==null?void 0:attrNode.type)==null?void 0:_d.name;return typeNameRaw?{component:typeNameRaw}:null}function resolveFrameworkSource(el2){return getReactSource(el2)??getVue3Source(el2)??getVue2Source(el2)??getAngularSource(el2)??getPreactSource(el2)}function buildSourcePointer(element){let cssSelector=buildCssSelector(element),pointer={selector:cssSelector,display:cssSelector},tier1=resolveFrameworkSource(element);tier1&&(tier1.file!=null&&(pointer.file=tier1.file),tier1.line!=null&&(pointer.line=tier1.line),tier1.col!=null&&(pointer.col=tier1.col),tier1.component!=null&&(pointer.component=tier1.component),tier1.functionName!=null&&(pointer.functionName=tier1.functionName));let protoId=element.getAttribute("data-vibeflow-id");if(protoId)return pointer.selector=\`[data-vibeflow-id="\${protoId}"]\`,pointer.display=protoId,pointer;let testIdResult=resolveTestId(element);if(testIdResult&&(pointer.test_id=testIdResult.value),pointer.file){let fileName=pointer.file.replace(/\\\\/g,"/").split("/").pop()??pointer.file;pointer.selector=pointer.line!=null?\`\${pointer.file}:\${pointer.line}\`:pointer.file,pointer.display=pointer.line!=null?\`\${fileName}:\${pointer.line}\`:fileName}else pointer.component?(pointer.selector=pointer.component,pointer.display=pointer.component):pointer.functionName?(pointer.selector=pointer.functionName,pointer.display=pointer.functionName):testIdResult&&(pointer.selector=testIdResult.attr==="id"?\`#\${testIdResult.value}\`:\`[\${testIdResult.attr}="\${testIdResult.value}"]\`,pointer.display=\`\${testIdResult.attr}:\${testIdResult.value}\`);return pointer}var VLQ_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",VLQ_TABLE={};for(let i=0;i<VLQ_CHARS.length;i++)VLQ_TABLE[VLQ_CHARS.charCodeAt(i)]=i;function vlqDecodeInt(s,pos){let result=0,shift=0,byte=0;do byte=VLQ_TABLE[s.charCodeAt(pos++)]??0,result|=(byte&31)<<shift,shift+=5;while(byte&32);return[result&1?-(result>>1):result>>1,pos]}function vlqDecodeSegment(seg){let out=[],pos=0;for(;pos<seg.length;){let[n,next]=vlqDecodeInt(seg,pos);out.push(n),pos=next}return out}function findFlatMapping(map,genLine,genCol){if(!map.mappings||!map.sources)return null;let lines=map.mappings.split(";"),srcIdx=0,srcLine=0,srcCol=0,best=null;for(let i=0;i<lines.length;i++){let genColAcc=0;for(let seg of lines[i].split(",")){if(!seg)continue;let d=vlqDecodeSegment(seg);if(!(d.length<1)&&(genColAcc+=d[0],d.length>=4&&(srcIdx+=d[1],srcLine+=d[2],srcCol+=d[3],i===genLine&&genColAcc<=genCol&&(best={source:map.sources[srcIdx]??"",line:srcLine+1,col:srcCol+1}),i===genLine&&genColAcc>genCol)))break}if(i>genLine)break}return best}function resolveInMap(map,genLine,genCol){if(map.sections){let best=null;for(let s of map.sections)(s.offset.line<genLine||s.offset.line===genLine&&s.offset.column<=genCol)&&(best=s);if(!best)return null;let relLine=genLine-best.offset.line,relCol=relLine===0?genCol-best.offset.column:genCol;return resolveInMap(best.map,relLine,relCol)}return findFlatMapping(map,genLine,genCol)}var smCache=new Map;function fetchSourceMap(chunkUrl){let p=smCache.get(chunkUrl);return p||(p=fetch(\`\${chunkUrl}.map\`).then(r=>r.ok?r.json():null).catch(()=>null),smCache.set(chunkUrl,p)),p}var SKIP_FRAME_RE=/node_modules|_next\\/dist|react-stack-top-frame|jsxDEV|react_stack_bottom_frame|fakeJSXCallSite|initializeElement/;function parseUserFrame(stack){for(let line of stack.split(\`
|
|
1570
1601
|
\`)){let m=line.match(/at [^(]+ \\((https?:\\/\\/[^)]+):(\\d+):(\\d+)\\)/);if(!m)continue;let[,url,lineStr,colStr]=m;if(!SKIP_FRAME_RE.test(url))return{chunkUrl:url,line:parseInt(lineStr,10),col:parseInt(colStr,10)}}return null}function getDebugStackStr(el2){var _a;let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey];return((_a=fiber==null?void 0:fiber._debugStack)==null?void 0:_a.stack)??null}function cleanSourcePath(raw){return raw.replace(/\\?.*$/,"").replace(/^https?:\\/\\/[^/]+\\/@fs/,"").replace(/^https?:\\/\\/[^/]+/,"").replace(/^file:\\/\\/\\/app\\//,"").replace(/^file:\\/\\/\\//,"").replace(/\\[project\\]\\//g,"").replace(/%28/g,"(").replace(/%29/g,")").replace(/%20/g," ")}var DIRECT_SRC_EXT_RE=/\\.m?[tj]sx?(\\?[^)]*)?$/,BUNDLE_CHUNK_RE=/chunk[-_.][0-9a-f]{6,}|\\.chunk\\.[0-9a-f]|webpack|_next\\/(?:static\\/chunks|dist)|rollup/i;function isDirectSourceUrl(url){return!(!url||!DIRECT_SRC_EXT_RE.test(url)||BUNDLE_CHUNK_RE.test(url)||SKIP_FRAME_RE.test(url))}function captureV8CallSites(err){if(typeof Error.captureStackTrace!="function")return null;let prev=Error.prepareStackTrace,captured=null;try{Error.prepareStackTrace=(_,sites)=>(captured=sites,sites.map(s=>\` at \${s.getFunctionName()??"<anonymous>"} (\${s.getFileName()}:\${s.getLineNumber()}:\${s.getColumnNumber()})\`).join(\`
|
|
1571
1602
|
\`)),err.stack}finally{Error.prepareStackTrace=prev}return captured}function getDebugStackError(el2){let fiberKey=Object.keys(el2).find(k=>k.startsWith("__reactFiber")||k.startsWith("__reactInternalInstance"));if(!fiberKey)return null;let fiber=el2[fiberKey],ds=fiber==null?void 0:fiber._debugStack;return ds instanceof Error?ds:null}function resolveDirectSourceFromStack(el2){var _a,_b,_c,_d;let stackErr=getDebugStackError(el2);if(!stackErr)return null;let callSites=captureV8CallSites(stackErr);if(callSites)for(let site of callSites){let fileName=((_a=site.getFileName)==null?void 0:_a.call(site))??null;if(!(!fileName||SKIP_FRAME_RE.test(fileName))&&isDirectSourceUrl(fileName))return{file:cleanSourcePath(fileName),line:((_b=site.getLineNumber)==null?void 0:_b.call(site))??1,col:((_c=site.getColumnNumber)==null?void 0:_c.call(site))??1,fnName:((_d=site.getFunctionName)==null?void 0:_d.call(site))??void 0}}let stack=typeof stackErr.stack=="string"?stackErr.stack:null;if(!stack)return null;for(let raw of stack.split(\`
|
|
1572
|
-
\`)){let m=raw.match(/^\\s*at [^(]+ \\(([^)]+):(\\d+):(\\d+)\\)$/)??raw.match(/^\\s*at ((?:https?|file):\\/\\/[^:]+):(\\d+):(\\d+)$/);if(!m)continue;let[,url,lineStr,colStr]=m;if(isDirectSourceUrl(url)&&!SKIP_FRAME_RE.test(url))return{file:cleanSourcePath(url),line:parseInt(lineStr,10),col:parseInt(colStr,10)}}return null}async function resolveSourceFromStack(el2){let stack=getDebugStackStr(el2);if(!stack)return null;let frame=parseUserFrame(stack);if(!frame)return null;let map=await fetchSourceMap(frame.chunkUrl);if(!map)return null;let mapped=resolveInMap(map,frame.line-1,frame.col-1);return mapped?{file:cleanSourcePath(mapped.source),line:mapped.line,col:mapped.col}:null}async function buildSourcePointerAsync(element){let pointer=buildSourcePointer(element);if(pointer.file)return pointer;let direct=resolveDirectSourceFromStack(element);if(direct){pointer.file=direct.file,pointer.line=direct.line,pointer.col=direct.col;let fileName2=direct.file.replace(/\\\\/g,"/").split("/").pop()??direct.file;return pointer.selector=\`\${direct.file}:\${direct.line}\`,pointer.display=\`\${fileName2}:\${direct.line}\`,pointer}let resolved=await resolveSourceFromStack(element);if(!resolved)return pointer;pointer.file=resolved.file,pointer.line=resolved.line,pointer.col=resolved.col;let fileName=resolved.file.replace(/\\\\/g,"/").split("/").pop()??resolved.file;return pointer.selector=\`\${resolved.file}:\${resolved.line}\`,pointer.display=\`\${fileName}:\${resolved.line}\`,pointer}var import_react25=__toESM(require_react(),1);var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var import_react3=__toESM(require_react(),1);var import_react2=__toESM(require_react());var toKebabCase=string=>string.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),mergeClasses=(...classes)=>classes.filter((className,index,array)=>!!className&&className.trim()!==""&&array.indexOf(className)===index).join(" ").trim();var import_react=__toESM(require_react());var defaultAttributes={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Icon=(0,import_react.forwardRef)(({color="currentColor",size=24,strokeWidth=2,absoluteStrokeWidth,className="",children,iconNode,...rest},ref)=>(0,import_react.createElement)("svg",{ref,...defaultAttributes,width:size,height:size,stroke:color,strokeWidth:absoluteStrokeWidth?Number(strokeWidth)*24/Number(size):strokeWidth,className:mergeClasses("lucide",className),...rest},[...iconNode.map(([tag,attrs])=>(0,import_react.createElement)(tag,attrs)),...Array.isArray(children)?children:[children]]));var createLucideIcon=(iconName,iconNode)=>{let Component=(0,import_react2.forwardRef)(({className,...props},ref)=>(0,import_react2.createElement)(Icon,{ref,iconNode,className:mergeClasses(\`lucide-\${toKebabCase(iconName)}\`,className),...props}));return Component.displayName=\`\${iconName}\`,Component};var
|
|
1603
|
+
\`)){let m=raw.match(/^\\s*at [^(]+ \\(([^)]+):(\\d+):(\\d+)\\)$/)??raw.match(/^\\s*at ((?:https?|file):\\/\\/[^:]+):(\\d+):(\\d+)$/);if(!m)continue;let[,url,lineStr,colStr]=m;if(isDirectSourceUrl(url)&&!SKIP_FRAME_RE.test(url))return{file:cleanSourcePath(url),line:parseInt(lineStr,10),col:parseInt(colStr,10)}}return null}async function resolveSourceFromStack(el2){let stack=getDebugStackStr(el2);if(!stack)return null;let frame=parseUserFrame(stack);if(!frame)return null;let map=await fetchSourceMap(frame.chunkUrl);if(!map)return null;let mapped=resolveInMap(map,frame.line-1,frame.col-1);return mapped?{file:cleanSourcePath(mapped.source),line:mapped.line,col:mapped.col}:null}async function buildSourcePointerAsync(element){let pointer=buildSourcePointer(element);if(pointer.file)return pointer;let direct=resolveDirectSourceFromStack(element);if(direct){pointer.file=direct.file,pointer.line=direct.line,pointer.col=direct.col;let fileName2=direct.file.replace(/\\\\/g,"/").split("/").pop()??direct.file;return pointer.selector=\`\${direct.file}:\${direct.line}\`,pointer.display=\`\${fileName2}:\${direct.line}\`,pointer}let resolved=await resolveSourceFromStack(element);if(!resolved)return pointer;pointer.file=resolved.file,pointer.line=resolved.line,pointer.col=resolved.col;let fileName=resolved.file.replace(/\\\\/g,"/").split("/").pop()??resolved.file;return pointer.selector=\`\${resolved.file}:\${resolved.line}\`,pointer.display=\`\${fileName}:\${resolved.line}\`,pointer}var import_react25=__toESM(require_react(),1);var import_jsx_runtime=__toESM(require_jsx_runtime(),1);var import_react3=__toESM(require_react(),1);var import_react2=__toESM(require_react());var toKebabCase=string=>string.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),mergeClasses=(...classes)=>classes.filter((className,index,array)=>!!className&&className.trim()!==""&&array.indexOf(className)===index).join(" ").trim();var import_react=__toESM(require_react());var defaultAttributes={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Icon=(0,import_react.forwardRef)(({color="currentColor",size=24,strokeWidth=2,absoluteStrokeWidth,className="",children,iconNode,...rest},ref)=>(0,import_react.createElement)("svg",{ref,...defaultAttributes,width:size,height:size,stroke:color,strokeWidth:absoluteStrokeWidth?Number(strokeWidth)*24/Number(size):strokeWidth,className:mergeClasses("lucide",className),...rest},[...iconNode.map(([tag,attrs])=>(0,import_react.createElement)(tag,attrs)),...Array.isArray(children)?children:[children]]));var createLucideIcon=(iconName,iconNode)=>{let Component=(0,import_react2.forwardRef)(({className,...props},ref)=>(0,import_react2.createElement)(Icon,{ref,iconNode,className:mergeClasses(\`lucide-\${toKebabCase(iconName)}\`,className),...props}));return Component.displayName=\`\${iconName}\`,Component};var CircleCheckBig=createLucideIcon("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var Eye=createLucideIcon("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var Lock=createLucideIcon("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var MessageCircle=createLucideIcon("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var Paperclip=createLucideIcon("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var import_jsx_runtime2=__toESM(require_jsx_runtime(),1),TYPE_BADGE_STYLES={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function TypeBadge({type,style}){let effectiveType=typeof type=="string"&&type.trim()&&type!=="[object Object]"&&TYPE_BADGE_STYLES[type]?type:"Task",colors=TYPE_BADGE_STYLES[effectiveType];return(0,import_jsx_runtime2.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:colors.background,color:colors.color,border:\`1px solid \${colors.border}\`,lineHeight:"1.5",...style},children:effectiveType})}var import_jsx_runtime3=__toESM(require_jsx_runtime(),1),PRIORITY_BADGE_STYLES={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function PriorityBadge({priority,style}){if(!priority||!PRIORITY_BADGE_STYLES[priority])return null;let colors=PRIORITY_BADGE_STYLES[priority];return(0,import_jsx_runtime3.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:colors.background,color:colors.color,border:\`1px solid \${colors.border}\`,lineHeight:"1.5",...style},children:priority})}var import_jsx_runtime4=__toESM(require_jsx_runtime(),1);var import_jsx_runtime5=__toESM(require_jsx_runtime(),1);var import_react6=__toESM(require_react(),1);var import_react4=__toESM(require_react(),1);var TASK_TYPES=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],TASK_TYPE_VALUES=TASK_TYPES.map(t=>t.value),TASK_TYPE_ICONS=Object.fromEntries(TASK_TYPES.map(t=>[t.value,t.icon])),TASK_TYPE_CSS=Object.fromEntries(TASK_TYPES.map(t=>[t.value,t.css])),TASK_TYPE_COLORS={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function getTaskTypeIcon(type){return TASK_TYPE_ICONS[type??"Task"]??"\\u2611"}function getTaskTypeColor(type){return TASK_TYPE_COLORS[type??"Task"]??TASK_TYPE_COLORS.Task}var import_jsx_runtime6=__toESM(require_jsx_runtime(),1);function TypePicker({id,value,onChange,disabled}){let[open,setOpen]=import_react4.default.useState(!1),rootRef=import_react4.default.useRef(null),current=TASK_TYPES.find(t=>t.value===value)??TASK_TYPES[0];return import_react4.default.useEffect(()=>{let handler=e=>{var _a;(_a=rootRef.current)!=null&&_a.contains(e.target)||setOpen(!1)};return document.addEventListener("click",handler),()=>document.removeEventListener("click",handler)},[]),(0,import_jsx_runtime6.jsxs)("div",{id,ref:rootRef,style:{position:"relative",display:"inline-block"},children:[(0,import_jsx_runtime6.jsxs)("button",{type:"button",title:current==null?void 0:current.tooltip,onClick:e=>{e.preventDefault(),disabled||setOpen(o=>!o)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,import_jsx_runtime6.jsx)("span",{style:{fontSize:13},children:current==null?void 0:current.icon}),(0,import_jsx_runtime6.jsx)("span",{children:current==null?void 0:current.label})]}),open&&(0,import_jsx_runtime6.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:TASK_TYPES.map(t=>(0,import_jsx_runtime6.jsxs)("button",{type:"button",title:t.tooltip,onClick:()=>{onChange(t.value),setOpen(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:t.value===value?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:t.value===value?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,import_jsx_runtime6.jsx)("span",{style:{fontSize:14,lineHeight:1},children:t.icon}),(0,import_jsx_runtime6.jsx)("span",{children:t.label})]},t.value))})]})}var import_react5=__toESM(require_react(),1);function splitTableCells(row){return row.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(cell=>cell.trim())}function isTableDivider(line){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(line)}function renderTables(markdown){let lines=markdown.split(\`
|
|
1573
1604
|
\`),out=[],i=0;for(;i<lines.length;){let headerLine=lines[i]??"",dividerLine=lines[i+1]??"";if(headerLine.includes("|")&&isTableDivider(dividerLine)){let headerCells=splitTableCells(headerLine),bodyRows=[];for(i+=2;i<lines.length&&lines[i].includes("|")&&lines[i].trim()!=="";)bodyRows.push(splitTableCells(lines[i])),i+=1;let headHtml=\`<tr>\${headerCells.map(cell=>\`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">\${cell}</th>\`).join("")}</tr>\`,bodyHtml=bodyRows.map(row=>\`<tr>\${row.map(cell=>\`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">\${cell}</td>\`).join("")}</tr>\`).join("");out.push(\`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>\${headHtml}</thead><tbody>\${bodyHtml}</tbody></table></div>\`);continue}out.push(lines[i]),i+=1}return out.join(\`
|
|
1574
|
-
\`)}function renderMarkdown(md){if(!md)return'<span style="color:#475569;font-style:italic;">No description yet</span>';let escaped=md.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return renderTables(escaped).replace(/^### (.+)$/gm,'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>').replace(/^## (.+)$/gm,'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>').replace(/^# (.+)$/gm,'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>').replace(/[*][*]([^\\n]+?)[*][*]/g,'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/__([^\\n]+?)__/g,'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/[*]([^\\n*]+?)[*]/g,'<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,'<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/\`(.+?)\`/g,'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"']+)/g,'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>').replace(/^[-*] (.+)$/gm,'<li style="margin:0.2em 0;display:list-item;">$1</li>').replace(/^---$/gm,'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p style="margin:0.5em 0;">\${line}</p>\`)}var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function MarkdownPreview({markdown,className,style}){let rootRef=import_react5.default.useRef(null),cacheRef=import_react5.default.useRef({}),[hoverPreview,setHoverPreview]=import_react5.default.useState(null);return import_react5.default.useEffect(()=>{let root=rootRef.current;if(!root)return;function clearPreview(){setHoverPreview(null)}async function handleOver(ev){let target=ev.target,link=target==null?void 0:target.closest("a[data-task-ref]");if(!link){clearPreview();return}ev.preventDefault();let id=link.getAttribute("data-task-ref");if(!id)return;let rect=link.getBoundingClientRect(),cached=cacheRef.current[id];if(cached){setHoverPreview({id,title:cached.title,status:cached.status,x:rect.left,y:rect.bottom+6});return}try{let data=await(await fetch(\`/api/tasks/\${id}\`)).json(),info={title:data.title??\`Task \${id}\`,status:data.status??"unknown"};cacheRef.current[id]=info,setHoverPreview({id,title:info.title,status:info.status,x:rect.left,y:rect.bottom+6})}catch{setHoverPreview({id,title:\`Task \${id}\`,status:"unknown",x:rect.left,y:rect.bottom+6})}}function handleRefClick(ev){var _a,_b;let link=(_b=(_a=ev.target)==null?void 0:_a.closest)==null?void 0:_b.call(_a,"a[data-task-ref]");if(!link)return;let refId=link.getAttribute("data-task-ref");refId&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId}}))}return root.addEventListener("mouseover",handleOver),root.addEventListener("mouseleave",clearPreview),root.addEventListener("click",handleRefClick),()=>{root.removeEventListener("mouseover",handleOver),root.removeEventListener("mouseleave",clearPreview),root.removeEventListener("click",handleRefClick)}},[]),(0,import_jsx_runtime7.jsxs)("div",{style:{position:"relative"},children:[(0,import_jsx_runtime7.jsx)("div",{ref:rootRef,className,style,dangerouslySetInnerHTML:{__html:renderMarkdown(markdown)}}),hoverPreview&&(0,import_jsx_runtime7.jsxs)("div",{style:{position:"fixed",left:hoverPreview.x,top:hoverPreview.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",hoverPreview.id]}),(0,import_jsx_runtime7.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:hoverPreview.title}),(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",hoverPreview.status]})]})]})}var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var LS_SEEN_KEY="proto-comments-seen";function isNewComments(taskId,count){try{let raw=localStorage.getItem(LS_SEEN_KEY),seen=raw?JSON.parse(raw):{};return count>(seen[taskId]??0)}catch{return!1}}var KEY_DIGITS=16;var MAX_INT=BigInt("9".repeat(KEY_DIGITS));var import_react8=__toESM(require_react(),1);var import_react7=__toESM(require_react(),1),import_react_dom=__toESM(require_react_dom(),1);var TAG_PALETTE=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function hashTagName(name){let hash=0;for(let i=0;i<name.length;i++)hash=hash*31+name.charCodeAt(i)>>>0;return hash%TAG_PALETTE.length}function getTagColors(name){return TAG_PALETTE[hashTagName(name)]}var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);function TagPills({tags,onRemove,size="sm"}){if(!tags.length)return null;let padding=size==="xs"?"1px 6px":"2px 7px",fontSize=size==="xs"?9:10;return(0,import_jsx_runtime10.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:tags.map(tag=>{let{bg,text,border}=getTagColors(tag);return(0,import_jsx_runtime10.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding,borderRadius:100,background:bg,border:\`1px solid \${border}\`,color:text,fontSize,fontWeight:600,whiteSpace:"nowrap"},children:[tag,onRemove&&(0,import_jsx_runtime10.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),onRemove(tag)},style:{display:"flex",background:"none",border:"none",color:text,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},tag)})})}var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function isImageFileName(name){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(name)}function withHexAlpha(hexColor,alpha){if(!/^#[0-9a-fA-F]{6}$/.test(hexColor))return;let normalized=Math.max(0,Math.min(1,alpha)),alphaHex=Math.round(normalized*255).toString(16).padStart(2,"0");return\`\${hexColor}\${alphaHex}\`}function resolveTaskCardBorderColor(statusColor,priority){return withHexAlpha(statusColor,priority==="Critical"?.36:priority==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function resolveTaskCardBgColor(typeColor){return withHexAlpha(typeColor,.05)??"transparent"}var DONE_ARTICLE_STYLE={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},DONE_INNER_ROW_STYLE={display:"flex",alignItems:"center",gap:5},DONE_CHECK_ICON_STYLE={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},DONE_TITLE_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},CARD_TITLE_ROW_STYLE={display:"flex",alignItems:"center",gap:5,minWidth:0},SPINNER_SHRINK_STYLE={flexShrink:0},CARD_TITLE_TEXT_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},DESC_THUMB_ROW_STYLE={display:"flex",alignItems:"flex-start",gap:8},DESC_TEXT_STYLE={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},THUMB_WRAPPER_STYLE={position:"relative",flexShrink:0},THUMB_IMG_STYLE={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},CARD_FOOTER_STYLE={display:"flex",alignItems:"center",gap:2,marginTop:1},SPACER_STYLE={flex:1},TaskCard=import_react7.default.memo(function({task,col,liveActivity,onOpen,onDragStart,selectMode,selected,onToggleSelect,agentStatus,experimentalAgents,multiDragCount}){var _a;let isInProgress=col.id==="in-progress",isDone=col.id==="done",[showThumbPreview,setShowThumbPreview]=import_react7.default.useState(!1),[thumbRect,setThumbRect]=import_react7.default.useState(null),thumbRef=import_react7.default.useRef(null),commentCount=task.commentCount??0,fileCount=task.fileCount??0,hasNewComments=commentCount>0&&isNewComments(task.id,commentCount),cardBorderColor=resolveTaskCardBorderColor(col.color,task.priority),typeColor=getTaskTypeColor(task.type),cardBgColor=resolveTaskCardBgColor(typeColor),firstImage=(_a=task.files)==null?void 0:_a.find(f=>isImageFileName(f.name)),thumbnailUrl=firstImage?\`/api/tasks/\${task.id}/files/\${encodeURIComponent(firstImage.name)}\`:null;function handleDragStart(e){onDragStart(e,task.id),e.currentTarget.classList.add("dragging")}function handleDragEnd(e){e.currentTarget.classList.remove("dragging")}function handleClick(e){if(selectMode){e.stopPropagation(),onToggleSelect==null||onToggleSelect(task.id);return}onOpen(task)}function handleCheckboxClick(e){e.stopPropagation(),onToggleSelect==null||onToggleSelect(task.id)}let agentBorder=experimentalAgents===!0&&agentStatus==="running"?"1px solid rgba(59,130,246,0.5)":experimentalAgents===!0&&agentStatus==="queued"?"1px solid color-mix(in srgb, var(--p-amber) 45%, transparent)":experimentalAgents===!0&&agentStatus==="done"?"1px solid color-mix(in srgb, var(--p-green) 40%, transparent)":void 0,agentBg=experimentalAgents===!0&&agentStatus==="running"?"color-mix(in srgb, var(--p-blue) 6%, var(--p-card))":experimentalAgents===!0&&agentStatus==="queued"?"color-mix(in srgb, var(--p-amber) 5%, var(--p-card))":experimentalAgents===!0&&agentStatus==="done"?"color-mix(in srgb, var(--p-green) 5%, var(--p-card))":void 0;return isDone?(0,import_jsx_runtime11.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":task.id,style:{...DONE_ARTICLE_STYLE,...selectMode&&selected?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:(0,import_jsx_runtime11.jsxs)("div",{style:DONE_INNER_ROW_STYLE,children:[selectMode&&(0,import_jsx_runtime11.jsx)("span",{onClick:handleCheckboxClick,style:{width:12,height:12,borderRadius:3,border:selected?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:selected?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:selected&&(0,import_jsx_runtime11.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),(0,import_jsx_runtime11.jsx)(CircleCheckBig,{style:DONE_CHECK_ICON_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:DONE_TITLE_STYLE,children:task.title}),multiDragCount!=null&&(0,import_jsx_runtime11.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",multiDragCount-1]})]})}):(0,import_jsx_runtime11.jsxs)("article",{className:\`task-card\${liveActivity?" task-live-edit":""}\`,draggable:!0,"data-task-id":task.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:liveActivity?"rgba(59,130,246,0.08)":agentBg??cardBgColor,border:agentBorder??(liveActivity?"1px solid rgba(59,130,246,0.5)":cardBorderColor?\`1px solid \${cardBorderColor}\`:void 0),...liveActivity?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{},...selectMode&&selected?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onClick:handleClick,children:[(0,import_jsx_runtime11.jsxs)("div",{style:CARD_TITLE_ROW_STYLE,children:[selectMode&&(0,import_jsx_runtime11.jsx)("span",{onClick:handleCheckboxClick,style:{width:14,height:14,borderRadius:3,border:selected?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:selected?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",marginRight:2},children:selected&&(0,import_jsx_runtime11.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),experimentalAgents===!0&&agentStatus==="running"&&!isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:CARD_TITLE_TEXT_STYLE,children:task.title}),multiDragCount!=null&&(0,import_jsx_runtime11.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",multiDragCount-1]})]}),(task.description||thumbnailUrl)&&(0,import_jsx_runtime11.jsxs)("div",{style:DESC_THUMB_ROW_STYLE,children:[task.description&&(0,import_jsx_runtime11.jsx)("div",{style:DESC_TEXT_STYLE,children:task.description}),thumbnailUrl&&(0,import_jsx_runtime11.jsxs)("div",{style:THUMB_WRAPPER_STYLE,onMouseEnter:()=>{if(thumbRef.current){let r=thumbRef.current.getBoundingClientRect();setThumbRect({top:r.top,right:r.right})}setShowThumbPreview(!0)},onMouseLeave:()=>{setShowThumbPreview(!1),setThumbRect(null)},children:[(0,import_jsx_runtime11.jsx)("img",{ref:thumbRef,src:thumbnailUrl,alt:"Task screenshot","data-role":"task-thumb",style:THUMB_IMG_STYLE}),showThumbPreview&&thumbRect&&import_react_dom.default.createPortal((0,import_jsx_runtime11.jsx)("img",{src:thumbnailUrl,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-thumbRect.right,bottom:window.innerHeight-thumbRect.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,import_jsx_runtime11.jsxs)("div",{className:"flex items-center",style:CARD_FOOTER_STYLE,children:[(0,import_jsx_runtime11.jsx)(TypeBadge,{type:task.type}),task.priority&&(0,import_jsx_runtime11.jsx)(PriorityBadge,{priority:task.priority}),experimentalAgents===!0&&agentStatus==="running"&&(0,import_jsx_runtime11.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:[(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:{width:8,height:8,borderWidth:1.5}}),"Agent"]}),experimentalAgents===!0&&agentStatus==="queued"&&(0,import_jsx_runtime11.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(245,158,11,0.12)",color:"var(--p-amber)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u23F3 Queued"}),experimentalAgents===!0&&agentStatus==="done"&&(0,import_jsx_runtime11.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(34,197,94,0.12)",color:"var(--p-green)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u2713 Done"}),experimentalAgents===!0&&!agentStatus&&task.agent&&(0,import_jsx_runtime11.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(139,92,246,0.12)",color:"#a78bfa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},title:\`Agent: \${task.agent}\`,children:[(0,import_jsx_runtime11.jsx)(Bot,{style:{width:8,height:8,flexShrink:0}}),"Agent"]}),isInProgress&&task.assigneeName&&(0,import_jsx_runtime11.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:task.assigneeName}),task.tags&&task.tags.length>0&&(0,import_jsx_runtime11.jsx)(TagPills,{tags:task.tags,size:"xs"}),(0,import_jsx_runtime11.jsx)("div",{style:SPACER_STYLE}),liveActivity&&(0,import_jsx_runtime11.jsx)(LiveActivityBadge,{activity:liveActivity}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(MessageCircle,{style:{width:9,height:9}}),label:commentCount>0?String(commentCount):"",color:hasNewComments?"var(--p-purple)":commentCount>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:hasNewComments?"var(--p-purple-300)":"var(--p-text)",title:commentCount>0?\`\${commentCount} comment(s)\`:"Add comment",badge:hasNewComments,badgeColor:"var(--p-purple)",onClick:e=>{e.stopPropagation(),onOpen(task,"comments")}}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(Paperclip,{style:{width:9,height:9}}),label:fileCount>0?String(fileCount):"",color:fileCount>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:fileCount>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:fileCount>0?\`\${fileCount} file(s) attached\`:"Files",onClick:e=>{e.stopPropagation(),onOpen(task,"files")}})]})]})});function CardIconButton({icon,label,color,hoverColor,title,badge,badgeColor,onClick}){let[hovered,setHovered]=import_react7.default.useState(!1);return(0,import_jsx_runtime11.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:hovered?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:hovered?hoverColor:color,transition:"color .1s, background .1s"},title,onMouseEnter:()=>setHovered(!0),onMouseLeave:()=>setHovered(!1),onClick,children:[icon,label&&(0,import_jsx_runtime11.jsx)("span",{children:label}),badge&&(0,import_jsx_runtime11.jsx)("span",{style:{width:4,height:4,background:badgeColor??color,borderRadius:"50%",flexShrink:0}})]})}function LiveActivityBadge({activity}){let isLocked=activity.state==="locked"||activity.state==="editing",icon=isLocked?(0,import_jsx_runtime11.jsx)(Lock,{style:{width:8,height:8}}):(0,import_jsx_runtime11.jsx)(Eye,{style:{width:8,height:8}}),label=isLocked?\`Locked by \${activity.user}\`:\`\${activity.user} viewing\`;return(0,import_jsx_runtime11.jsxs)("span",{style:isLocked?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:label,"data-testid":"live-activity-badge",children:[icon,(0,import_jsx_runtime11.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:activity.user})]})}var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var import_react9=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var import_react10=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var import_react20=__toESM(require_react(),1);var import_react14=__toESM(require_react(),1);var import_react11=__toESM(require_react(),1),import_jsx_runtime16=__toESM(require_jsx_runtime(),1),AutoExpandTextarea=import_react11.default.forwardRef(function({value,onChange,baseRows=4,maxRows,style,...rest},forwardedRef){let localRef=import_react11.default.useRef(null),resolvedMaxRows=maxRows??baseRows*2,resize=import_react11.default.useCallback(()=>{let el2=localRef.current;if(!el2)return;el2.style.height="auto";let computed=window.getComputedStyle(el2),lineHeight=Number.parseFloat(computed.lineHeight||"0")||18,verticalPadding=Number.parseFloat(computed.paddingTop||"0")+Number.parseFloat(computed.paddingBottom||"0"),border=Number.parseFloat(computed.borderTopWidth||"0")+Number.parseFloat(computed.borderBottomWidth||"0"),minHeight=baseRows*lineHeight+verticalPadding+border,maxHeight=resolvedMaxRows*lineHeight+verticalPadding+border,target=Math.max(minHeight,Math.min(el2.scrollHeight,maxHeight));el2.style.height=\`\${target}px\`,el2.style.overflowY=el2.scrollHeight>maxHeight?"auto":"hidden"},[baseRows,resolvedMaxRows]);return import_react11.default.useLayoutEffect(()=>{resize()},[value,resize]),(0,import_jsx_runtime16.jsx)("textarea",{...rest,ref:el2=>{localRef.current=el2,typeof forwardedRef=="function"?forwardedRef(el2):forwardedRef&&(forwardedRef.current=el2)},rows:baseRows,value,onChange:e=>onChange(e.target.value),style:{...style,resize:"none"}})});var import_react13=__toESM(require_react(),1);var import_react12=__toESM(require_react(),1),import_react_dom2=__toESM(require_react_dom(),1),import_jsx_runtime17=__toESM(require_jsx_runtime(),1);var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);var import_jsx_runtime19=__toESM(require_jsx_runtime(),1);var import_jsx_runtime20=__toESM(require_jsx_runtime(),1);var import_react15=__toESM(require_react(),1);var import_jsx_runtime21=__toESM(require_jsx_runtime(),1);var import_react18=__toESM(require_react(),1);var import_react16=__toESM(require_react(),1),import_react_dom3=__toESM(require_react_dom(),1);var import_jsx_runtime22=__toESM(require_jsx_runtime(),1);var import_react17=__toESM(require_react(),1);var import_jsx_runtime23=__toESM(require_jsx_runtime(),1);var import_jsx_runtime24=__toESM(require_jsx_runtime(),1);var import_jsx_runtime25=__toESM(require_jsx_runtime(),1);var import_react19=__toESM(require_react(),1),import_react_dom4=__toESM(require_react_dom(),1);var import_jsx_runtime26=__toESM(require_jsx_runtime(),1);var import_jsx_runtime27=__toESM(require_jsx_runtime(),1);var MAX_UPLOAD_BYTES=5*1024*1024;var import_react21=__toESM(require_react(),1);var import_jsx_runtime28=__toESM(require_jsx_runtime(),1);var import_react22=__toESM(require_react(),1);var import_jsx_runtime29=__toESM(require_jsx_runtime(),1);var import_react23=__toESM(require_react(),1);var import_jsx_runtime30=__toESM(require_jsx_runtime(),1);var import_react24=__toESM(require_react(),1);var import_jsx_runtime31=__toESM(require_jsx_runtime(),1);var IGNORED_PATTERNS=[/Error evaluating Node\\.js code/i,/nextjs-portal/i],buffer=[],recording=!1;function addEntry(level,args){let message=args.map(a=>{if(typeof a=="string")return a;if(a instanceof Error)return a.message;try{return JSON.stringify(a)}catch{return String(a)}}).join(" ").slice(0,500);!message||IGNORED_PATTERNS.some(pattern=>pattern.test(message))||(buffer.push({level,message,timestamp:new Date().toISOString()}),buffer.length>50&&buffer.splice(0,buffer.length-50))}function startRecording(){if(recording)return;recording=!0;let origError=console.error.bind(console);console.error=(...args)=>{addEntry("error",args),origError(...args)};let origWarn=console.warn.bind(console);console.warn=(...args)=>{addEntry("warn",args),origWarn(...args)},window.addEventListener("error",e=>{let loc=e.filename?\` (\${e.filename.split("/").pop()}:\${e.lineno})\`:"";addEntry("error",[\`\${e.message}\${loc}\`])}),window.addEventListener("unhandledrejection",e=>{let msg=e.reason instanceof Error?e.reason.message:String(e.reason??"Unhandled promise rejection");addEntry("error",[\`Unhandled rejection: \${msg}\`])})}function getRecordedLogs(){if(buffer.length===0)return"";let lines=buffer.map(e=>{let icon=e.level==="error"?"\\u{1F534}":"\\u{1F7E1}",time=e.timestamp.slice(11,19);return\`- \${icon} \\\`\${time}\\\` \${e.message}\`});return\`
|
|
1605
|
+
\`)}function renderMarkdown(md){if(!md)return'<span style="color:#475569;font-style:italic;">No description yet</span>';let escaped=md.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return renderTables(escaped).replace(/^### (.+)$/gm,'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>').replace(/^## (.+)$/gm,'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>').replace(/^# (.+)$/gm,'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>').replace(/[*][*]([^\\n]+?)[*][*]/g,'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/__([^\\n]+?)__/g,'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>').replace(/[*]([^\\n*]+?)[*]/g,'<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,'<em style="font-style:italic;color:#94a3b8;">$1</em>').replace(/\`(.+?)\`/g,'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"']+)/g,'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>').replace(/^[-*] (.+)$/gm,'<li style="margin:0.2em 0;display:list-item;">$1</li>').replace(/^---$/gm,'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p style="margin:0.5em 0;">\${line}</p>\`)}var import_jsx_runtime7=__toESM(require_jsx_runtime(),1);function MarkdownPreview({markdown,className,style}){let rootRef=import_react5.default.useRef(null),cacheRef=import_react5.default.useRef({}),[hoverPreview,setHoverPreview]=import_react5.default.useState(null);return import_react5.default.useEffect(()=>{let root=rootRef.current;if(!root)return;function clearPreview(){setHoverPreview(null)}async function handleOver(ev){let target=ev.target,link=target==null?void 0:target.closest("a[data-task-ref]");if(!link){clearPreview();return}ev.preventDefault();let id=link.getAttribute("data-task-ref");if(!id)return;let rect=link.getBoundingClientRect(),cached=cacheRef.current[id];if(cached){setHoverPreview({id,title:cached.title,status:cached.status,x:rect.left,y:rect.bottom+6});return}try{let data=await(await fetch(\`/api/tasks/\${id}\`)).json(),info={title:data.title??\`Task \${id}\`,status:data.status??"unknown"};cacheRef.current[id]=info,setHoverPreview({id,title:info.title,status:info.status,x:rect.left,y:rect.bottom+6})}catch{setHoverPreview({id,title:\`Task \${id}\`,status:"unknown",x:rect.left,y:rect.bottom+6})}}function handleRefClick(ev){var _a,_b;let link=(_b=(_a=ev.target)==null?void 0:_a.closest)==null?void 0:_b.call(_a,"a[data-task-ref]");if(!link)return;let refId=link.getAttribute("data-task-ref");refId&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId}}))}return root.addEventListener("mouseover",handleOver),root.addEventListener("mouseleave",clearPreview),root.addEventListener("click",handleRefClick),()=>{root.removeEventListener("mouseover",handleOver),root.removeEventListener("mouseleave",clearPreview),root.removeEventListener("click",handleRefClick)}},[]),(0,import_jsx_runtime7.jsxs)("div",{style:{position:"relative"},children:[(0,import_jsx_runtime7.jsx)("div",{ref:rootRef,className,style,dangerouslySetInnerHTML:{__html:renderMarkdown(markdown)}}),hoverPreview&&(0,import_jsx_runtime7.jsxs)("div",{style:{position:"fixed",left:hoverPreview.x,top:hoverPreview.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",hoverPreview.id]}),(0,import_jsx_runtime7.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:hoverPreview.title}),(0,import_jsx_runtime7.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",hoverPreview.status]})]})]})}var import_jsx_runtime8=__toESM(require_jsx_runtime(),1);var import_jsx_runtime9=__toESM(require_jsx_runtime(),1);var LS_SEEN_KEY="proto-comments-seen";function isNewComments(taskId,count){try{let raw=localStorage.getItem(LS_SEEN_KEY),seen=raw?JSON.parse(raw):{};return count>(seen[taskId]??0)}catch{return!1}}var KEY_DIGITS=16;var MAX_INT=BigInt("9".repeat(KEY_DIGITS));var import_react8=__toESM(require_react(),1);var import_react7=__toESM(require_react(),1),import_react_dom=__toESM(require_react_dom(),1);var TAG_PALETTE=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function hashTagName(name){let hash=0;for(let i=0;i<name.length;i++)hash=hash*31+name.charCodeAt(i)>>>0;return hash%TAG_PALETTE.length}function getTagColors(name){return TAG_PALETTE[hashTagName(name)]}var import_jsx_runtime10=__toESM(require_jsx_runtime(),1);function TagPills({tags,onRemove,size="sm"}){if(!tags.length)return null;let padding=size==="xs"?"1px 6px":"2px 7px",fontSize=size==="xs"?9:10;return(0,import_jsx_runtime10.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:tags.map(tag=>{let{bg,text,border}=getTagColors(tag);return(0,import_jsx_runtime10.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding,borderRadius:100,background:bg,border:\`1px solid \${border}\`,color:text,fontSize,fontWeight:600,whiteSpace:"nowrap"},children:[tag,onRemove&&(0,import_jsx_runtime10.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),onRemove(tag)},style:{display:"flex",background:"none",border:"none",color:text,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:e=>{e.currentTarget.style.opacity="1"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},tag)})})}var import_jsx_runtime11=__toESM(require_jsx_runtime(),1);function isImageFileName(name){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(name)}function withHexAlpha(hexColor,alpha){if(!/^#[0-9a-fA-F]{6}$/.test(hexColor))return;let normalized=Math.max(0,Math.min(1,alpha)),alphaHex=Math.round(normalized*255).toString(16).padStart(2,"0");return\`\${hexColor}\${alphaHex}\`}function resolveTaskCardBorderColor(statusColor,priority){return withHexAlpha(statusColor,priority==="Critical"?.36:priority==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function resolveTaskCardBgColor(typeColor){return withHexAlpha(typeColor,.05)??"transparent"}var DONE_ARTICLE_STYLE={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},DONE_INNER_ROW_STYLE={display:"flex",alignItems:"center",gap:5},DONE_CHECK_ICON_STYLE={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},DONE_TITLE_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},CARD_TITLE_ROW_STYLE={display:"flex",alignItems:"center",gap:5,minWidth:0},SPINNER_SHRINK_STYLE={flexShrink:0},CARD_TITLE_TEXT_STYLE={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},DESC_THUMB_ROW_STYLE={display:"flex",alignItems:"flex-start",gap:8},DESC_TEXT_STYLE={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},THUMB_WRAPPER_STYLE={position:"relative",flexShrink:0},THUMB_IMG_STYLE={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},CARD_FOOTER_STYLE={display:"flex",alignItems:"center",gap:2,marginTop:1},SPACER_STYLE={flex:1},TaskCard=import_react7.default.memo(function({task,col,liveActivity,onOpen,onDragStart,selectMode,selected,onToggleSelect,agentStatus,experimentalAgents,multiDragCount,onEnterSelectMode}){var _a;let isInProgress=col.id==="in-progress",isDone=col.id==="done",[showThumbPreview,setShowThumbPreview]=import_react7.default.useState(!1),[thumbRect,setThumbRect]=import_react7.default.useState(null),thumbRef=import_react7.default.useRef(null),longPressTimerRef=import_react7.default.useRef(null),longPressActivatedRef=import_react7.default.useRef(!1),commentCount=task.commentCount??0,fileCount=task.fileCount??0,hasNewComments=commentCount>0&&isNewComments(task.id,commentCount),cardBorderColor=resolveTaskCardBorderColor(col.color,task.priority),typeColor=getTaskTypeColor(task.type),cardBgColor=resolveTaskCardBgColor(typeColor),firstImage=(_a=task.files)==null?void 0:_a.find(f=>isImageFileName(f.name)),thumbnailUrl=firstImage?\`/api/tasks/\${task.id}/files/\${encodeURIComponent(firstImage.name)}\`:null;function handleDragStart(e){onDragStart(e,task.id),e.currentTarget.classList.add("dragging")}function handleDragEnd(e){e.currentTarget.classList.remove("dragging")}function handleMouseDown(){selectMode||(longPressActivatedRef.current=!1,longPressTimerRef.current=setTimeout(()=>{longPressActivatedRef.current=!0,onEnterSelectMode==null||onEnterSelectMode(task.id)},300))}function handleMouseUp(){longPressTimerRef.current&&(clearTimeout(longPressTimerRef.current),longPressTimerRef.current=null)}function handleMouseLeave(){longPressTimerRef.current&&(clearTimeout(longPressTimerRef.current),longPressTimerRef.current=null)}function handleClick(e){if(longPressActivatedRef.current){longPressActivatedRef.current=!1;return}if(selectMode){e.stopPropagation(),onToggleSelect==null||onToggleSelect(task.id);return}onOpen(task)}function handleCheckboxClick(e){e.stopPropagation(),onToggleSelect==null||onToggleSelect(task.id)}let agentBorder=experimentalAgents===!0&&agentStatus==="running"?"1px solid rgba(59,130,246,0.5)":experimentalAgents===!0&&agentStatus==="queued"?"1px solid color-mix(in srgb, var(--p-amber) 45%, transparent)":experimentalAgents===!0&&agentStatus==="done"?"1px solid color-mix(in srgb, var(--p-green) 40%, transparent)":void 0,agentBg=experimentalAgents===!0&&agentStatus==="running"?"color-mix(in srgb, var(--p-blue) 6%, var(--p-card))":experimentalAgents===!0&&agentStatus==="queued"?"color-mix(in srgb, var(--p-amber) 5%, var(--p-card))":experimentalAgents===!0&&agentStatus==="done"?"color-mix(in srgb, var(--p-green) 5%, var(--p-card))":void 0;return isDone?(0,import_jsx_runtime11.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":task.id,style:{...DONE_ARTICLE_STYLE,...selectMode&&selected?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onMouseDown:handleMouseDown,onMouseUp:handleMouseUp,onMouseLeave:handleMouseLeave,onClick:handleClick,children:(0,import_jsx_runtime11.jsxs)("div",{style:DONE_INNER_ROW_STYLE,children:[selectMode&&(0,import_jsx_runtime11.jsx)("span",{onClick:handleCheckboxClick,style:{width:12,height:12,borderRadius:3,border:selected?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:selected?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:selected&&(0,import_jsx_runtime11.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),(0,import_jsx_runtime11.jsx)(CircleCheckBig,{style:DONE_CHECK_ICON_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:DONE_TITLE_STYLE,children:task.title}),multiDragCount!=null&&(0,import_jsx_runtime11.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",multiDragCount-1]})]})}):(0,import_jsx_runtime11.jsxs)("article",{className:\`task-card\${liveActivity?" task-live-edit":""}\`,draggable:!0,"data-task-id":task.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:liveActivity?"rgba(59,130,246,0.08)":agentBg??cardBgColor,border:agentBorder??(liveActivity?"1px solid rgba(59,130,246,0.5)":cardBorderColor?\`1px solid \${cardBorderColor}\`:void 0),...liveActivity?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{},...selectMode&&selected?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:handleDragStart,onDragEnd:handleDragEnd,onMouseDown:handleMouseDown,onMouseUp:handleMouseUp,onMouseLeave:handleMouseLeave,onClick:handleClick,children:[(0,import_jsx_runtime11.jsxs)("div",{style:CARD_TITLE_ROW_STYLE,children:[selectMode&&(0,import_jsx_runtime11.jsx)("span",{onClick:handleCheckboxClick,style:{width:14,height:14,borderRadius:3,border:selected?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:selected?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",marginRight:2},children:selected&&(0,import_jsx_runtime11.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),experimentalAgents===!0&&agentStatus==="running"&&!isInProgress&&(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:SPINNER_SHRINK_STYLE}),(0,import_jsx_runtime11.jsx)("span",{style:CARD_TITLE_TEXT_STYLE,children:task.title}),multiDragCount!=null&&(0,import_jsx_runtime11.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",multiDragCount-1]})]}),(task.description||thumbnailUrl)&&(0,import_jsx_runtime11.jsxs)("div",{style:DESC_THUMB_ROW_STYLE,children:[task.description&&(0,import_jsx_runtime11.jsx)("div",{style:DESC_TEXT_STYLE,children:task.description}),thumbnailUrl&&(0,import_jsx_runtime11.jsxs)("div",{style:THUMB_WRAPPER_STYLE,onMouseEnter:()=>{if(thumbRef.current){let r=thumbRef.current.getBoundingClientRect();setThumbRect({top:r.top,right:r.right})}setShowThumbPreview(!0)},onMouseLeave:()=>{setShowThumbPreview(!1),setThumbRect(null)},children:[(0,import_jsx_runtime11.jsx)("img",{ref:thumbRef,src:thumbnailUrl,alt:"Task screenshot","data-role":"task-thumb",style:THUMB_IMG_STYLE}),showThumbPreview&&thumbRect&&import_react_dom.default.createPortal((0,import_jsx_runtime11.jsx)("img",{src:thumbnailUrl,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-thumbRect.right,bottom:window.innerHeight-thumbRect.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,import_jsx_runtime11.jsxs)("div",{className:"flex items-center",style:CARD_FOOTER_STYLE,children:[(0,import_jsx_runtime11.jsx)(TypeBadge,{type:task.type}),task.priority&&(0,import_jsx_runtime11.jsx)(PriorityBadge,{priority:task.priority}),experimentalAgents===!0&&agentStatus==="running"&&(0,import_jsx_runtime11.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:[(0,import_jsx_runtime11.jsx)("span",{className:"spinner",style:{width:8,height:8,borderWidth:1.5}}),"Agent"]}),experimentalAgents===!0&&agentStatus==="queued"&&(0,import_jsx_runtime11.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(245,158,11,0.12)",color:"var(--p-amber)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u23F3 Queued"}),experimentalAgents===!0&&agentStatus==="done"&&(0,import_jsx_runtime11.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(34,197,94,0.12)",color:"var(--p-green)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u2713 Done"}),isInProgress&&task.assigneeName&&(0,import_jsx_runtime11.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:task.assigneeName}),task.tags&&task.tags.length>0&&(0,import_jsx_runtime11.jsx)(TagPills,{tags:task.tags,size:"xs"}),(0,import_jsx_runtime11.jsx)("div",{style:SPACER_STYLE}),liveActivity&&(0,import_jsx_runtime11.jsx)(LiveActivityBadge,{activity:liveActivity}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(MessageCircle,{style:{width:9,height:9}}),label:commentCount>0?String(commentCount):"",color:hasNewComments?"var(--p-purple)":commentCount>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:hasNewComments?"var(--p-purple-300)":"var(--p-text)",title:commentCount>0?\`\${commentCount} comment(s)\`:"Add comment",badge:hasNewComments,badgeColor:"var(--p-purple)",onClick:e=>{e.stopPropagation(),onOpen(task,"comments")}}),(0,import_jsx_runtime11.jsx)(CardIconButton,{icon:(0,import_jsx_runtime11.jsx)(Paperclip,{style:{width:9,height:9}}),label:fileCount>0?String(fileCount):"",color:fileCount>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:fileCount>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:fileCount>0?\`\${fileCount} file(s) attached\`:"Files",onClick:e=>{e.stopPropagation(),onOpen(task,"files")}})]})]})});function CardIconButton({icon,label,color,hoverColor,title,badge,badgeColor,onClick}){let[hovered,setHovered]=import_react7.default.useState(!1);return(0,import_jsx_runtime11.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:hovered?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:hovered?hoverColor:color,transition:"color .1s, background .1s"},title,onMouseEnter:()=>setHovered(!0),onMouseLeave:()=>setHovered(!1),onClick,children:[icon,label&&(0,import_jsx_runtime11.jsx)("span",{children:label}),badge&&(0,import_jsx_runtime11.jsx)("span",{style:{width:4,height:4,background:badgeColor??color,borderRadius:"50%",flexShrink:0}})]})}function LiveActivityBadge({activity}){let isLocked=activity.state==="locked"||activity.state==="editing",icon=isLocked?(0,import_jsx_runtime11.jsx)(Lock,{style:{width:8,height:8}}):(0,import_jsx_runtime11.jsx)(Eye,{style:{width:8,height:8}}),label=isLocked?\`Locked by \${activity.user}\`:\`\${activity.user} viewing\`;return(0,import_jsx_runtime11.jsxs)("span",{style:isLocked?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:label,"data-testid":"live-activity-badge",children:[icon,(0,import_jsx_runtime11.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:activity.user})]})}var import_jsx_runtime12=__toESM(require_jsx_runtime(),1);var import_react9=__toESM(require_react(),1);var import_jsx_runtime13=__toESM(require_jsx_runtime(),1);var import_react10=__toESM(require_react(),1);var import_jsx_runtime14=__toESM(require_jsx_runtime(),1);var import_jsx_runtime15=__toESM(require_jsx_runtime(),1);var import_react20=__toESM(require_react(),1);var import_react14=__toESM(require_react(),1);var import_react11=__toESM(require_react(),1),import_jsx_runtime16=__toESM(require_jsx_runtime(),1),AutoExpandTextarea=import_react11.default.forwardRef(function({value,onChange,baseRows=4,maxRows,style,...rest},forwardedRef){let localRef=import_react11.default.useRef(null),resolvedMaxRows=maxRows??baseRows*2,resize=import_react11.default.useCallback(()=>{let el2=localRef.current;if(!el2)return;el2.style.height="auto";let computed=window.getComputedStyle(el2),lineHeight=Number.parseFloat(computed.lineHeight||"0")||18,verticalPadding=Number.parseFloat(computed.paddingTop||"0")+Number.parseFloat(computed.paddingBottom||"0"),border=Number.parseFloat(computed.borderTopWidth||"0")+Number.parseFloat(computed.borderBottomWidth||"0"),minHeight=baseRows*lineHeight+verticalPadding+border,maxHeight=resolvedMaxRows*lineHeight+verticalPadding+border,target=Math.max(minHeight,Math.min(el2.scrollHeight,maxHeight));el2.style.height=\`\${target}px\`,el2.style.overflowY=el2.scrollHeight>maxHeight?"auto":"hidden"},[baseRows,resolvedMaxRows]);return import_react11.default.useLayoutEffect(()=>{resize()},[value,resize]),(0,import_jsx_runtime16.jsx)("textarea",{...rest,ref:el2=>{localRef.current=el2,typeof forwardedRef=="function"?forwardedRef(el2):forwardedRef&&(forwardedRef.current=el2)},rows:baseRows,value,onChange:e=>onChange(e.target.value),style:{...style,resize:"none"}})});var import_react13=__toESM(require_react(),1);var import_react12=__toESM(require_react(),1),import_react_dom2=__toESM(require_react_dom(),1),import_jsx_runtime17=__toESM(require_jsx_runtime(),1);var import_jsx_runtime18=__toESM(require_jsx_runtime(),1);var import_jsx_runtime19=__toESM(require_jsx_runtime(),1);var import_jsx_runtime20=__toESM(require_jsx_runtime(),1);var import_react15=__toESM(require_react(),1);var import_jsx_runtime21=__toESM(require_jsx_runtime(),1);var import_react18=__toESM(require_react(),1);var import_react16=__toESM(require_react(),1),import_react_dom3=__toESM(require_react_dom(),1);var import_jsx_runtime22=__toESM(require_jsx_runtime(),1);var import_react17=__toESM(require_react(),1);var import_jsx_runtime23=__toESM(require_jsx_runtime(),1);var import_jsx_runtime24=__toESM(require_jsx_runtime(),1);var import_jsx_runtime25=__toESM(require_jsx_runtime(),1);var import_react19=__toESM(require_react(),1),import_react_dom4=__toESM(require_react_dom(),1);var import_jsx_runtime26=__toESM(require_jsx_runtime(),1);var import_jsx_runtime27=__toESM(require_jsx_runtime(),1);var MAX_UPLOAD_BYTES=5*1024*1024;var import_react21=__toESM(require_react(),1);var import_jsx_runtime28=__toESM(require_jsx_runtime(),1);var import_react22=__toESM(require_react(),1);var import_jsx_runtime29=__toESM(require_jsx_runtime(),1);var import_react23=__toESM(require_react(),1);var import_jsx_runtime30=__toESM(require_jsx_runtime(),1);var import_react24=__toESM(require_react(),1);var import_jsx_runtime31=__toESM(require_jsx_runtime(),1);var IGNORED_PATTERNS=[/Error evaluating Node\\.js code/i,/nextjs-portal/i],buffer=[],recording=!1;function addEntry(level,args){let message=args.map(a=>{if(typeof a=="string")return a;if(a instanceof Error)return a.message;try{return JSON.stringify(a)}catch{return String(a)}}).join(" ").slice(0,500);!message||IGNORED_PATTERNS.some(pattern=>pattern.test(message))||(buffer.push({level,message,timestamp:new Date().toISOString()}),buffer.length>50&&buffer.splice(0,buffer.length-50))}function startRecording(){if(recording)return;recording=!0;let origError=console.error.bind(console);console.error=(...args)=>{addEntry("error",args),origError(...args)};let origWarn=console.warn.bind(console);console.warn=(...args)=>{addEntry("warn",args),origWarn(...args)},window.addEventListener("error",e=>{let loc=e.filename?\` (\${e.filename.split("/").pop()}:\${e.lineno})\`:"";addEntry("error",[\`\${e.message}\${loc}\`])}),window.addEventListener("unhandledrejection",e=>{let msg=e.reason instanceof Error?e.reason.message:String(e.reason??"Unhandled promise rejection");addEntry("error",[\`Unhandled rejection: \${msg}\`])})}function getRecordedLogs(){if(buffer.length===0)return"";let lines=buffer.map(e=>{let icon=e.level==="error"?"\\u{1F534}":"\\u{1F7E1}",time=e.timestamp.slice(11,19);return\`- \${icon} \\\`\${time}\\\` \${e.message}\`});return\`
|
|
1575
1606
|
|
|
1576
1607
|
---
|
|
1577
1608
|
**Console logs** (\${buffer.length} entr\${buffer.length===1?"y":"ies"})
|
|
1578
1609
|
\${lines.join(\`
|
|
1579
|
-
\`)}\`}var import_jsx_runtime32=__toESM(require_jsx_runtime(),1),_externalShowAddModal=null,_externalFlashTrigger=null;function flashFavicon(durationMs=2200){let head=document.head,existing=head.querySelector('link[rel*="icon"]'),originalHref=(existing==null?void 0:existing.href)??"";existing&&existing.remove();let link=document.createElement("link");link.rel="icon",link.type="image/svg+xml";let animatedSvg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" fill="none"><rect width="18" height="18" rx="4" fill="#2563eb"/><rect x="2.5" y="5" width="2" height="8" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/></rect><rect x="6.5" y="2" width="2" height="14" rx="1" fill="white"><animate attributeName="height" values="3;15;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/><animate attributeName="y" values="7.5;1.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/></rect><rect x="10.5" y="6" width="2" height="6" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;12;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/><animate attributeName="y" values="7.5;3;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/></rect><rect x="14.5" y="4" width="2" height="10" rx="1" fill="white" opacity=".85"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/></rect></svg>';link.href=\`data:image/svg+xml,\${encodeURIComponent(animatedSvg)}\`,head.appendChild(link),window.setTimeout(()=>{if(link.remove(),originalHref){let restore=document.createElement("link");restore.rel="icon",restore.type="image/svg+xml",restore.href=originalHref,head.appendChild(restore)}},durationMs)}function flashOverlayTrigger(){_externalFlashTrigger==null||_externalFlashTrigger()}function CornerTrigger({onClick,flashing}){let svgIcon=(0,import_jsx_runtime32.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",children:[(0,import_jsx_runtime32.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime32.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"currentColor"}),(0,import_jsx_runtime32.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime32.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"currentColor",opacity:"0.85"})]}),[pos,setPos]=import_react25.default.useState(null),[isDragging,setIsDragging]=import_react25.default.useState(!1),[isHolding,setIsHolding]=import_react25.default.useState(!1),dragOrigin=import_react25.default.useRef(null),holdTimer=import_react25.default.useRef(null),didDrag=import_react25.default.useRef(!1),buttonRef=import_react25.default.useRef(null),posRef=import_react25.default.useRef(null);posRef.current=pos;function getInitialPos(el2){let rect=el2.getBoundingClientRect();return{x:rect.left,y:rect.top}}function onPointerDown(e){let target=e.currentTarget,pointerId=e.pointerId,clientX=e.clientX,clientY=e.clientY;didDrag.current=!1,holdTimer.current=window.setTimeout(()=>{setIsHolding(!0);let startPos=posRef.current??getInitialPos(target);dragOrigin.current={mouseX:clientX,mouseY:clientY,posX:startPos.x,posY:startPos.y},target.setPointerCapture(pointerId)},300)}function onPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;!isDragging&&(Math.abs(dx)>3||Math.abs(dy)>3)&&setIsDragging(!0),didDrag.current=!0;let bw=window.innerWidth,bh=window.innerHeight,x=Math.max(8,Math.min(bw-64,dragOrigin.current.posX+dx)),y=Math.max(8,Math.min(bh-64,dragOrigin.current.posY+dy));setPos({x,y})}function onPointerUp(e){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null);let wasDragged=didDrag.current;dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1,wasDragged||onClick()}function onPointerCancel(){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null),dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1}let posStyle=pos!==null?{position:"fixed",left:pos.x,top:pos.y,bottom:"auto",right:"auto"}:{},className=["vibeflow-corner-trigger",flashing?"saved-flash":"",isHolding?"trigger-holding":"",isDragging?"trigger-dragging":""].filter(Boolean).join(" ");return(0,import_jsx_runtime32.jsx)("button",{ref:buttonRef,className,title:isDragging?"Drag to reposition":isHolding?"Drag to reposition \\xB7 Release to open":"Open Kanban board \\xB7 Hold to drag",style:posStyle,onPointerDown,onPointerMove,onPointerUp,onPointerCancel,"data-vibeflow-ignore":"true",children:svgIcon})}var STATUS_OPTIONS=["backlog","todo","in-progress","review","done"],STATUS_ACTIVE={backlog:{background:"rgba(100,116,139,0.2)",borderColor:"rgba(100,116,139,0.5)",color:"#94a3b8"},todo:{background:"rgba(245,158,11,0.15)",borderColor:"rgba(245,158,11,0.4)",color:"#fcd34d"},"in-progress":{background:"rgba(59,130,246,0.15)",borderColor:"rgba(59,130,246,0.4)",color:"#93c5fd"},review:{background:"rgba(139,92,246,0.15)",borderColor:"rgba(139,92,246,0.4)",color:"#c4b5fd"},done:{background:"rgba(52,211,153,0.12)",borderColor:"rgba(52,211,153,0.4)",color:"#6ee7b7"}};function OverlayAddModal({opts,onClose,onSubmit}){let[title,setTitle]=import_react25.default.useState(opts.initialTitle??""),[description,setDescription]=import_react25.default.useState(opts.initialDescription??""),[status,setStatus]=import_react25.default.useState("todo"),[type,setType]=import_react25.default.useState("Task"),[showPreview,setShowPreview]=import_react25.default.useState(!1),[titleError,setTitleError]=import_react25.default.useState(!1),titleRef=import_react25.default.useRef(null),[dragPos,setDragPos]=import_react25.default.useState(null),[isDragging,setIsDragging]=import_react25.default.useState(!1),dragOrigin=import_react25.default.useRef(null);function onHeaderPointerDown(e){if(e.target.closest("button, input, select, textarea, a"))return;e.currentTarget.setPointerCapture(e.pointerId);let startX=(dragPos==null?void 0:dragPos.x)??window.innerWidth/2-270,startY=(dragPos==null?void 0:dragPos.y)??window.innerHeight/2-200;dragOrigin.current={mouseX:e.clientX,mouseY:e.clientY,posX:startX,posY:startY},setIsDragging(!0)}function onHeaderPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;setDragPos({x:dragOrigin.current.posX+dx,y:dragOrigin.current.posY+dy})}function onHeaderPointerUp(){dragOrigin.current=null,setIsDragging(!1)}import_react25.default.useEffect(()=>{setTimeout(()=>{var _a;return(_a=titleRef.current)==null?void 0:_a.focus()},50)},[]);function handleBackdropClick(e){e.target===e.currentTarget&&onClose()}function handleKeyDown(e){e.key==="Escape"&&onClose(),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&handleSave()}function handleSave(){var _a;let t=title.trim();if(!t){setTitleError(!0),(_a=titleRef.current)==null||_a.focus();return}setTitleError(!1);let desc=description.trim()||t;if(type==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}onSubmit(opts.selector??location.pathname,opts.cssSelector??location.pathname,t,desc,status,type,{file:opts.file,line:opts.line,col:opts.col,component:opts.component}),onClose()}let statusBtnBase={padding:"2px 8px",borderRadius:4,fontSize:11,cursor:"pointer",border:"1px solid var(--vibeflow-border-strong)",background:"transparent",color:"var(--vibeflow-text-muted)",fontFamily:"inherit",fontWeight:500,transition:"all .12s"},modalStyle=dragPos!==null?{position:"fixed",left:dragPos.x,top:dragPos.y,margin:0}:{};return(0,import_jsx_runtime32.jsx)("div",{className:"vibeflow-modal-backdrop",onClick:handleBackdropClick,onKeyDown:handleKeyDown,children:(0,import_jsx_runtime32.jsxs)("div",{className:"vibeflow-modal overlay-add-modal",role:"dialog","aria-modal":"true",style:modalStyle,children:[(0,import_jsx_runtime32.jsxs)("div",{className:"modal-header overlay-modal-header",style:{cursor:isDragging?"grabbing":"grab",userSelect:"none"},onPointerDown:onHeaderPointerDown,onPointerMove:onHeaderPointerMove,onPointerUp:onHeaderPointerUp,children:[(0,import_jsx_runtime32.jsx)("span",{title:"Drag to move",style:{display:"flex",alignItems:"center",color:"var(--vibeflow-text-muted)",opacity:.5,flexShrink:0,pointerEvents:"none"},children:(0,import_jsx_runtime32.jsxs)("svg",{width:"12",height:"16",viewBox:"0 0 12 16",fill:"currentColor","aria-hidden":"true",children:[(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"3",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"3",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"8",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"8",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"13",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"13",r:"1.5"})]})}),(0,import_jsx_runtime32.jsx)(TypePicker,{value:type,onChange:setType}),(0,import_jsx_runtime32.jsx)("input",{ref:titleRef,type:"text",placeholder:"Task title\\u2026",value:title,onChange:e=>{setTitle(e.target.value),titleError&&e.target.value.trim()&&setTitleError(!1)},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",border:\`1px solid \${titleError?"rgba(239,68,68,0.7)":"transparent"}\`,borderRadius:6,background:titleError?"rgba(239,68,68,0.07)":"transparent",color:"var(--vibeflow-text-primary)",fontFamily:"inherit",outline:"none",cursor:"text"},onFocus:e=>{titleError||(e.currentTarget.style.borderColor="var(--vibeflow-accent-strong)",e.currentTarget.style.background="var(--vibeflow-surface-elevated)")},onBlur:e=>{titleError||(e.currentTarget.style.borderColor="transparent",e.currentTarget.style.background="transparent")},onKeyDown:e=>{e.key==="Enter"&&handleSave(),e.key==="Escape"&&onClose()}}),titleError&&(0,import_jsx_runtime32.jsx)("span",{style:{fontSize:11,color:"rgba(239,68,68,0.9)",flexShrink:0,whiteSpace:"nowrap"},children:"Title is required"}),(0,import_jsx_runtime32.jsx)("button",{type:"button",onClick:onClose,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--vibeflow-text-muted)",cursor:"pointer"},onMouseOver:e=>{e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)"},onMouseOut:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)"},"aria-label":"Close",children:"\\u2715"})]}),(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"8px 16px",borderBottom:"1px solid var(--vibeflow-border-strong)"},children:[(0,import_jsx_runtime32.jsx)("span",{style:{fontSize:10,color:"var(--vibeflow-text-muted)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em",flexShrink:0},children:"Status"}),STATUS_OPTIONS.map(s=>(0,import_jsx_runtime32.jsx)("button",{type:"button",style:{...statusBtnBase,...s===status?STATUS_ACTIVE[s]:{}},onClick:()=>setStatus(s),onMouseOver:e=>{s!==status&&(e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)")},onMouseOut:e=>{s!==status&&(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)")},children:s},s))]}),(opts.file||opts.component)&&(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 16px",background:"var(--vibeflow-surface-elevated)",borderBottom:"1px solid var(--vibeflow-border-subtle)",fontSize:11,color:"var(--vibeflow-text-muted)"},children:[opts.file&&(0,import_jsx_runtime32.jsxs)("a",{href:\`vscode://file\${opts.file}\${opts.line!=null?\`:\${opts.line}\`:""}\`,target:"_blank",rel:"noreferrer",style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"var(--vibeflow-accent-soft)",border:"1px solid var(--vibeflow-accent-border)",color:"var(--vibeflow-accent-strong)",textDecoration:"none",fontSize:11},children:["\\u{1F5CE} ",opts.file.split("/").slice(-2).join("/"),opts.line!=null?\`:\${opts.line}\`:""]}),opts.component&&(0,import_jsx_runtime32.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.25)",color:"#8b5cf6",fontSize:11},children:["\\u2B21 ",opts.component]})]}),(0,import_jsx_runtime32.jsxs)("div",{className:"modal-tabs",children:[(0,import_jsx_runtime32.jsx)("div",{className:\`modal-tab\${showPreview?"":" active"}\`,onClick:()=>setShowPreview(!1),children:"Edit"}),(0,import_jsx_runtime32.jsx)("div",{className:\`modal-tab\${showPreview?" active":""}\`,onClick:()=>setShowPreview(!0),children:"Preview"})]}),(0,import_jsx_runtime32.jsx)("div",{className:"modal-body",children:showPreview?(0,import_jsx_runtime32.jsx)(MarkdownPreview,{markdown:description,className:"modal-preview-pane"}):(0,import_jsx_runtime32.jsx)("div",{className:"modal-editor-pane",children:(0,import_jsx_runtime32.jsx)(AutoExpandTextarea,{className:"dp-textarea",placeholder:"Description (markdown supported)\\u2026",value:description,onChange:setDescription,baseRows:5,maxRows:14})})}),type==="Bug"&&(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 16px",background:"rgba(239,68,68,0.06)",borderTop:"1px solid rgba(239,68,68,0.18)",fontSize:11,color:"rgba(239,68,68,0.75)"},children:[(0,import_jsx_runtime32.jsx)("span",{children:"\\u{1F534}"}),(0,import_jsx_runtime32.jsx)("span",{children:"Console errors & warnings will be attached to this report"})]}),(0,import_jsx_runtime32.jsxs)("div",{className:"modal-footer",children:[(0,import_jsx_runtime32.jsxs)("div",{className:"modal-footer-left",children:[(0,import_jsx_runtime32.jsx)("button",{type:"button",className:"btn-primary",onClick:handleSave,disabled:!title.trim(),style:{opacity:title.trim()?1:.45,cursor:title.trim()?"pointer":"not-allowed"},children:"Add Task"}),(0,import_jsx_runtime32.jsx)("button",{type:"button",className:"btn-ghost",onClick:onClose,children:"Cancel"})]}),(0,import_jsx_runtime32.jsx)("div",{className:"modal-footer-center"})]})]})})}function OverlayApp({onOpenKanban,onSubmitTask}){let[addModalOpts,setAddModalOpts]=import_react25.default.useState(null),[triggerFlashing,setTriggerFlashing]=import_react25.default.useState(!1);import_react25.default.useEffect(()=>(_externalShowAddModal=opts=>setAddModalOpts(opts),_externalFlashTrigger=()=>{setTriggerFlashing(!0),window.setTimeout(()=>setTriggerFlashing(!1),1500),flashFavicon()},()=>{_externalShowAddModal=null,_externalFlashTrigger=null}),[]);let isKanbanPage=typeof document<"u"&&document.body.hasAttribute("data-vibeflow-cli-kanban");return(0,import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment,{children:[!isKanbanPage&&(0,import_jsx_runtime32.jsx)(CornerTrigger,{onClick:onOpenKanban,flashing:triggerFlashing}),addModalOpts!==null&&(0,import_jsx_runtime32.jsx)(OverlayAddModal,{opts:addModalOpts,onClose:()=>setAddModalOpts(null),onSubmit:(selector,cssSelector,title,description,status,type,meta)=>{onSubmitTask(selector,cssSelector,title,description,status,type,meta),setAddModalOpts(null)}})]})}function buildTypePickerEl(initialType="Task"){let selectedType=initialType,detailed=TASK_TYPES,currentInfo=()=>detailed.find(t=>t.value===selectedType)??detailed[0],container=el("div",{className:"type-picker"}),trigger=el("button",{className:"type-picker-trigger",type:"button"}),dropdown=el("div",{className:"type-picker-dropdown"}),refresh=()=>{let info=currentInfo();trigger.title=(info==null?void 0:info.tooltip)??"",trigger.replaceChildren(el("span",{className:"type-picker-icon"},(info==null?void 0:info.icon)??""),el("span",{className:"type-picker-label"},(info==null?void 0:info.label)??"")),dropdown.replaceChildren();for(let t of detailed){let opt=el("button",{className:t.value===selectedType?"type-picker-option type-picker-option--active":"type-picker-option",type:"button",title:t.tooltip},el("span",{className:"type-picker-icon"},t.icon),el("span",{className:"type-picker-label"},t.label));opt.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),selectedType=t.value,refresh(),dropdown.classList.remove("open")}),dropdown.appendChild(opt)}};return trigger.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),dropdown.classList.toggle("open")}),refresh(),container.append(trigger,dropdown),{el:container,getValue:()=>selectedType,setValue:v=>{selectedType=v,refresh()}}}function renderMarkdown2(md){return md?md.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/[*][*](.+?)[*][*]/g,"<strong>$1</strong>").replace(/__(.+?)__/g,"<strong>$1</strong>").replace(/[*](.+?)[*]/g,"<em>$1</em>").replace(/_([^_]+?)_/g,"<em>$1</em>").replace(/\`(.+?)\`/g,"<code>$1</code>").replace(/^[-*] (.+)$/gm,"<li>$1</li>").replace(/^---$/gm,"<hr>").replace(/(<li>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul>\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p>\${line}</p>\`):'<span class="modal-preview-empty">No description yet</span>'}function showEditModal(task){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let titleInput=el("input",{type:"text",placeholder:"Task title..."});titleInput.value=task.title??"";let statusSelect=el("select");for(let s of["backlog","todo","in-progress","review","done"]){let opt=el("option",{value:s},s);s===task.status&&(opt.selected=!0),statusSelect.appendChild(opt)}let typePicker=buildTypePickerEl(task.type??"Task"),header=el("div",{className:"modal-header"},titleInput,typePicker.el,statusSelect),tabEdit=el("div",{className:"modal-tab active"},"Edit"),tabPreview=el("div",{className:"modal-tab"},"Preview"),tabs=el("div",{className:"modal-tabs"},tabEdit,tabPreview),textarea=el("textarea",{placeholder:"Description (markdown supported)..."});textarea.value=task.description??"";let editorPane=el("div",{className:"modal-editor-pane"},textarea),previewPane=el("div",{className:"modal-preview-pane"});previewPane.style.display="none";let refreshPreview=()=>{previewPane.innerHTML=renderMarkdown2(textarea.value)},body=el("div",{className:"modal-body"},editorPane,previewPane);tabEdit.addEventListener("click",()=>{tabEdit.classList.add("active"),tabPreview.classList.remove("active"),editorPane.style.display="",previewPane.style.display="none"}),tabPreview.addEventListener("click",event=>{event.isTrusted&&(tabPreview.classList.add("active"),tabEdit.classList.remove("active"),editorPane.style.display="none",previewPane.style.display="",refreshPreview())});let btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",{className:"btn-ghost"},"Cancel"),footerLeft=el("div",{className:"modal-footer-left"},btnSave,btnCancel),footerRight=el("div",{className:"modal-footer-right"}),footerCenter=buildSourceRow({file:task.file,line:task.line,col:task.col,component:task.component}),footer=el("div",{className:"modal-footer"},footerLeft,footerCenter,footerRight),modal=el("div",{className:"vibeflow-modal"},header,tabs,body,footer),backdrop=el("div",{className:"vibeflow-modal-backdrop"},modal);state.editModal=backdrop,state.root.appendChild(backdrop),titleInput.focus(),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),btnSave.addEventListener("click",()=>{let newTitle=titleInput.value.trim();if(!newTitle)return;let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}/\${task.id}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:\`\${PROTO_CONFIG.apiUrl}/\${task.id}\`;fetch(url,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:newTitle,status:statusSelect.value,type:typePicker.getValue(),description:textarea.value.trim()})}).then(r=>r.json()).then(d=>{d.success&&fetchTasksAndRender()}).catch(err=>console.error("[Vibeflow Studio]",err)),backdrop.remove(),state.editModal=null}),btnCancel.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),document.addEventListener("keydown",function onModalKey(e){if(!state.editModal){document.removeEventListener("keydown",onModalKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onModalKey)),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&(btnSave.click(),document.removeEventListener("keydown",onModalKey))})}function fetchTasksAndRender(){fetchTasks()}function buildSourceRow(src){let row=el("div",{className:"modal-source-row"});if(!src.file&&!src.component)return row;let label="";src.file?(label=src.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/"),src.line!=null&&(label+=\`:\${src.line}\`),src.col!=null&&(label+=\`:\${src.col}\`)):src.component&&(label=\`\\u2B21 \${src.component}\`),src.component&&src.file&&(label+=\` \\xB7 \\u2B21 \${src.component}\`);let sourceEl=el("span",{className:"modal-source-label",title:src.file??""},label);if(src.file&&src.line!=null){let link=el("a",{className:"modal-source-link",title:"Open in editor",href:\`vscode://file\${src.file}:\${src.line}\`,target:"_blank"},"\\u2197");row.append(sourceEl,link)}else row.append(sourceEl);return row}function showInspectModal(element,pointer){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let cssSelector=buildCssSelector(element),tag=element.tagName.toLowerCase(),elId=element.getAttribute("id"),classes=Array.from(element.classList).filter(c=>!c.startsWith("vibeflow-")),dataAttrs=Array.from(element.attributes).filter(a=>a.name.startsWith("data-")&&!a.name.startsWith("data-proto")).map(a=>({name:a.name,value:a.value})),heading=el("div",{className:"inspect-heading"},el("span",{className:"inspect-tag"},\`<\${tag}>\`),el("span",{className:"inspect-title"},"Element Inspector")),closeBtn=el("button",{className:"inspect-close"},"\\u2715");function makeRow(label,value,copyable=!0){let row=el("div",{className:"inspect-row"}),lbl=el("span",{className:"inspect-row-label"},label),val=el("code",{className:"inspect-row-value"},value||"\\u2014");if(row.append(lbl,val),copyable&&value){let btn=el("button",{className:"inspect-copy-btn",title:"Copy"},"\\u2398");btn.addEventListener("click",()=>{var _a;(_a=navigator.clipboard)==null||_a.writeText(value).catch(()=>{}),btn.textContent="\\u2713",setTimeout(()=>{btn.textContent="\\u2398"},1200)}),row.appendChild(btn)}return row}let rows=el("div",{className:"inspect-rows"});if(rows.appendChild(makeRow("Selector",pointer.selector)),cssSelector!==pointer.selector&&rows.appendChild(makeRow("CSS selector",cssSelector)),pointer.test_id&&rows.appendChild(makeRow("Test ID",pointer.test_id)),elId&&rows.appendChild(makeRow("id",elId)),classes.length>0&&rows.appendChild(makeRow("Classes",classes.join(" "))),pointer.file){let fileLine=pointer.file+(pointer.line!=null?\`:\${pointer.line}\`:"")+(pointer.col!=null?\`:\${pointer.col}\`:""),srcRow=makeRow("Source file",fileLine);if(pointer.line!=null){let openLink=el("a",{className:"inspect-copy-btn",title:"Open in VS Code",href:\`vscode://file\${pointer.file}:\${pointer.line}\`,target:"_blank"},"\\u2197");srcRow.appendChild(openLink)}rows.appendChild(srcRow)}pointer.component&&rows.appendChild(makeRow("Component",pointer.component));for(let attr of dataAttrs)rows.appendChild(makeRow(attr.name,attr.value));let copyAllBtn=el("button",{className:"inspect-copy-all-btn"},"\\u2398 Copy all");copyAllBtn.addEventListener("click",()=>{var _a;let lines=[];pointer.file&&lines.push(\`Source: \${pointer.file}\${pointer.line!=null?\`:\${pointer.line}\`:""}\${pointer.col!=null?\`:\${pointer.col}\`:""}\`),pointer.component&&lines.push(\`Component: \${pointer.component}\`),pointer.test_id&&lines.push(\`TestID: \${pointer.test_id}\`),lines.push(\`Selector: \${pointer.selector}\`),cssSelector!==pointer.selector&&lines.push(\`CSS selector: \${cssSelector}\`),elId&&lines.push(\`id: \${elId}\`),classes.length>0&&lines.push(\`Classes: \${classes.join(" ")}\`),(_a=navigator.clipboard)==null||_a.writeText(lines.join(\`
|
|
1610
|
+
\`)}\`}var import_jsx_runtime32=__toESM(require_jsx_runtime(),1),_externalShowAddModal=null,_externalFlashTrigger=null;function flashFavicon(durationMs=2200){let head=document.head,existing=head.querySelector('link[rel*="icon"]'),originalHref=(existing==null?void 0:existing.href)??"";existing&&existing.remove();let link=document.createElement("link");link.rel="icon",link.type="image/svg+xml";let animatedSvg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" fill="none"><rect width="18" height="18" rx="4" fill="#2563eb"/><rect x="2.5" y="5" width="2" height="8" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0s"/></rect><rect x="6.5" y="2" width="2" height="14" rx="1" fill="white"><animate attributeName="height" values="3;15;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/><animate attributeName="y" values="7.5;1.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.15s"/></rect><rect x="10.5" y="6" width="2" height="6" rx="1" fill="white" opacity=".7"><animate attributeName="height" values="3;12;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/><animate attributeName="y" values="7.5;3;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.3s"/></rect><rect x="14.5" y="4" width="2" height="10" rx="1" fill="white" opacity=".85"><animate attributeName="height" values="3;13;3" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/><animate attributeName="y" values="7.5;2.5;7.5" dur="0.8s" repeatCount="3" calcMode="spline" keySplines=".4 0 .2 1;.4 0 .2 1" begin="0.45s"/></rect></svg>';link.href=\`data:image/svg+xml,\${encodeURIComponent(animatedSvg)}\`,head.appendChild(link),window.setTimeout(()=>{if(link.remove(),originalHref){let restore=document.createElement("link");restore.rel="icon",restore.type="image/svg+xml",restore.href=originalHref,head.appendChild(restore)}},durationMs)}function flashOverlayTrigger(){_externalFlashTrigger==null||_externalFlashTrigger()}function CornerTrigger({onClick,flashing,onHide}){let svgIcon=(0,import_jsx_runtime32.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 18 18",fill:"none","aria-hidden":"true",children:[(0,import_jsx_runtime32.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime32.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"currentColor"}),(0,import_jsx_runtime32.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"currentColor",opacity:"0.7"}),(0,import_jsx_runtime32.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"currentColor",opacity:"0.85"})]}),[pos,setPos]=import_react25.default.useState(()=>{try{let saved=localStorage.getItem("vibeflow-trigger-pos");if(saved){let parsed=JSON.parse(saved);if(typeof parsed.x=="number"&&typeof parsed.y=="number")return parsed}}catch{}return null}),[isDragging,setIsDragging]=import_react25.default.useState(!1),[isHolding,setIsHolding]=import_react25.default.useState(!1),dragOrigin=import_react25.default.useRef(null),holdTimer=import_react25.default.useRef(null),didDrag=import_react25.default.useRef(!1),isRightClick=import_react25.default.useRef(!1),buttonRef=import_react25.default.useRef(null),posRef=import_react25.default.useRef(null);posRef.current=pos;let[ctxMenu,setCtxMenu]=import_react25.default.useState(null);import_react25.default.useEffect(()=>{if(pos)try{localStorage.setItem("vibeflow-trigger-pos",JSON.stringify(pos))}catch{}},[pos]),import_react25.default.useEffect(()=>{if(!ctxMenu)return;function onDocClick(){setCtxMenu(null)}return document.addEventListener("click",onDocClick,{once:!0}),()=>document.removeEventListener("click",onDocClick)},[ctxMenu]);function getInitialPos(el2){let rect=el2.getBoundingClientRect();return{x:rect.left,y:rect.top}}function onPointerDown(e){let target=e.currentTarget,pointerId=e.pointerId,clientX=e.clientX,clientY=e.clientY;didDrag.current=!1,isRightClick.current=e.button===2,!isRightClick.current&&(holdTimer.current=window.setTimeout(()=>{setIsHolding(!0);let startPos=posRef.current??getInitialPos(target);dragOrigin.current={mouseX:clientX,mouseY:clientY,posX:startPos.x,posY:startPos.y},target.setPointerCapture(pointerId)},300))}function onPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;!isDragging&&(Math.abs(dx)>3||Math.abs(dy)>3)&&setIsDragging(!0),didDrag.current=!0;let bw=window.innerWidth,bh=window.innerHeight,x=Math.max(8,Math.min(bw-64,dragOrigin.current.posX+dx)),y=Math.max(8,Math.min(bh-64,dragOrigin.current.posY+dy));setPos({x,y})}function onPointerUp(e){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null);let wasDragged=didDrag.current,wasRight=isRightClick.current;dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1,isRightClick.current=!1,!wasDragged&&!wasRight&&onClick()}function onPointerCancel(){holdTimer.current!==null&&(window.clearTimeout(holdTimer.current),holdTimer.current=null),dragOrigin.current=null,setIsDragging(!1),setIsHolding(!1),didDrag.current=!1}let posStyle=pos!==null?{position:"fixed",left:pos.x,top:pos.y,bottom:"auto",right:"auto"}:{},className=["vibeflow-corner-trigger",flashing?"saved-flash":"",isHolding?"trigger-holding":"",isDragging?"trigger-dragging":""].filter(Boolean).join(" "),title=isDragging?"Drag to reposition":isHolding?"Drag to reposition \\xB7 Release to open":"Open Kanban board \\xB7 Hold to drag";function onContextMenu(e){e.preventDefault(),e.stopPropagation();let MENU_W=120,MENU_H=28,PAD=8,x=Math.min(e.clientX,window.innerWidth-MENU_W-PAD),y=Math.min(e.clientY,window.innerHeight-MENU_H-PAD);setCtxMenu({x:Math.max(PAD,x),y:Math.max(PAD,y)})}return(0,import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment,{children:[(0,import_jsx_runtime32.jsx)("button",{ref:buttonRef,className,title,style:posStyle,onPointerDown,onPointerMove,onPointerUp,onPointerCancel,onContextMenu,"data-vibeflow-ignore":"true",children:svgIcon}),ctxMenu&&(0,import_jsx_runtime32.jsx)("div",{className:"vibeflow-trigger-ctx-menu",style:{position:"fixed",left:ctxMenu.x,top:ctxMenu.y},onClick:e=>e.stopPropagation(),children:(0,import_jsx_runtime32.jsx)("button",{type:"button",onClick:()=>{setCtxMenu(null),onHide()},children:"Hide Vibeflow"})})]})}var STATUS_OPTIONS=["backlog","todo","in-progress","review","done"],STATUS_ACTIVE={backlog:{background:"rgba(100,116,139,0.2)",borderColor:"rgba(100,116,139,0.5)",color:"#94a3b8"},todo:{background:"rgba(245,158,11,0.15)",borderColor:"rgba(245,158,11,0.4)",color:"#fcd34d"},"in-progress":{background:"rgba(59,130,246,0.15)",borderColor:"rgba(59,130,246,0.4)",color:"#93c5fd"},review:{background:"rgba(139,92,246,0.15)",borderColor:"rgba(139,92,246,0.4)",color:"#c4b5fd"},done:{background:"rgba(52,211,153,0.12)",borderColor:"rgba(52,211,153,0.4)",color:"#6ee7b7"}};function OverlayAddModal({opts,onClose,onSubmit}){let[title,setTitle]=import_react25.default.useState(opts.initialTitle??""),[description,setDescription]=import_react25.default.useState(opts.initialDescription??""),[status,setStatus]=import_react25.default.useState("todo"),[type,setType]=import_react25.default.useState("Task"),[showPreview,setShowPreview]=import_react25.default.useState(!1),[titleError,setTitleError]=import_react25.default.useState(!1),titleRef=import_react25.default.useRef(null),[dragPos,setDragPos]=import_react25.default.useState(null),[isDragging,setIsDragging]=import_react25.default.useState(!1),dragOrigin=import_react25.default.useRef(null);function onHeaderPointerDown(e){if(e.target.closest("button, input, select, textarea, a"))return;e.currentTarget.setPointerCapture(e.pointerId);let startX=(dragPos==null?void 0:dragPos.x)??window.innerWidth/2-270,startY=(dragPos==null?void 0:dragPos.y)??window.innerHeight/2-200;dragOrigin.current={mouseX:e.clientX,mouseY:e.clientY,posX:startX,posY:startY},setIsDragging(!0)}function onHeaderPointerMove(e){if(!dragOrigin.current)return;let dx=e.clientX-dragOrigin.current.mouseX,dy=e.clientY-dragOrigin.current.mouseY;setDragPos({x:dragOrigin.current.posX+dx,y:dragOrigin.current.posY+dy})}function onHeaderPointerUp(){dragOrigin.current=null,setIsDragging(!1)}import_react25.default.useEffect(()=>{setTimeout(()=>{var _a;return(_a=titleRef.current)==null?void 0:_a.focus()},50)},[]);function handleBackdropClick(e){e.target===e.currentTarget&&onClose()}function handleKeyDown(e){e.key==="Escape"&&onClose(),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&handleSave()}function handleSave(){var _a;let t=title.trim();if(!t){setTitleError(!0),(_a=titleRef.current)==null||_a.focus();return}setTitleError(!1);let desc=description.trim()||t;if(type==="Bug"){let logs=getRecordedLogs();logs&&(desc+=logs)}onSubmit(opts.selector??location.pathname,opts.cssSelector??location.pathname,t,desc,status,type,{file:opts.file,line:opts.line,col:opts.col,component:opts.component}),onClose()}let statusBtnBase={padding:"2px 8px",borderRadius:4,fontSize:11,cursor:"pointer",border:"1px solid var(--vibeflow-border-strong)",background:"transparent",color:"var(--vibeflow-text-muted)",fontFamily:"inherit",fontWeight:500,transition:"all .12s"},modalStyle=dragPos!==null?{position:"fixed",left:dragPos.x,top:dragPos.y,margin:0}:{};return(0,import_jsx_runtime32.jsx)("div",{className:"vibeflow-modal-backdrop",onClick:handleBackdropClick,onKeyDown:handleKeyDown,children:(0,import_jsx_runtime32.jsxs)("div",{className:"vibeflow-modal overlay-add-modal",role:"dialog","aria-modal":"true",style:modalStyle,children:[(0,import_jsx_runtime32.jsxs)("div",{className:"modal-header overlay-modal-header",style:{cursor:isDragging?"grabbing":"grab",userSelect:"none"},onPointerDown:onHeaderPointerDown,onPointerMove:onHeaderPointerMove,onPointerUp:onHeaderPointerUp,children:[(0,import_jsx_runtime32.jsx)("span",{title:"Drag to move",style:{display:"flex",alignItems:"center",color:"var(--vibeflow-text-muted)",opacity:.5,flexShrink:0,pointerEvents:"none"},children:(0,import_jsx_runtime32.jsxs)("svg",{width:"12",height:"16",viewBox:"0 0 12 16",fill:"currentColor","aria-hidden":"true",children:[(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"3",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"3",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"8",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"8",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"3",cy:"13",r:"1.5"}),(0,import_jsx_runtime32.jsx)("circle",{cx:"9",cy:"13",r:"1.5"})]})}),(0,import_jsx_runtime32.jsx)(TypePicker,{value:type,onChange:setType}),(0,import_jsx_runtime32.jsx)("input",{ref:titleRef,type:"text",placeholder:"Task title\\u2026",value:title,onChange:e=>{setTitle(e.target.value),titleError&&e.target.value.trim()&&setTitleError(!1)},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",border:\`1px solid \${titleError?"rgba(239,68,68,0.7)":"transparent"}\`,borderRadius:6,background:titleError?"rgba(239,68,68,0.07)":"transparent",color:"var(--vibeflow-text-primary)",fontFamily:"inherit",outline:"none",cursor:"text"},onFocus:e=>{titleError||(e.currentTarget.style.borderColor="var(--vibeflow-accent-strong)",e.currentTarget.style.background="var(--vibeflow-surface-elevated)")},onBlur:e=>{titleError||(e.currentTarget.style.borderColor="transparent",e.currentTarget.style.background="transparent")},onKeyDown:e=>{e.key==="Enter"&&handleSave(),e.key==="Escape"&&onClose()}}),titleError&&(0,import_jsx_runtime32.jsx)("span",{style:{fontSize:11,color:"rgba(239,68,68,0.9)",flexShrink:0,whiteSpace:"nowrap"},children:"Title is required"}),(0,import_jsx_runtime32.jsx)("button",{type:"button",onClick:onClose,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--vibeflow-text-muted)",cursor:"pointer"},onMouseOver:e=>{e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)"},onMouseOut:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)"},"aria-label":"Close",children:"\\u2715"})]}),(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"8px 16px",borderBottom:"1px solid var(--vibeflow-border-strong)"},children:[(0,import_jsx_runtime32.jsx)("span",{style:{fontSize:10,color:"var(--vibeflow-text-muted)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em",flexShrink:0},children:"Status"}),STATUS_OPTIONS.map(s=>(0,import_jsx_runtime32.jsx)("button",{type:"button",style:{...statusBtnBase,...s===status?STATUS_ACTIVE[s]:{}},onClick:()=>setStatus(s),onMouseOver:e=>{s!==status&&(e.currentTarget.style.background="var(--vibeflow-surface-hover)",e.currentTarget.style.color="var(--vibeflow-text-secondary)")},onMouseOut:e=>{s!==status&&(e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--vibeflow-text-muted)")},children:s},s))]}),(opts.file||opts.component)&&(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 16px",background:"var(--vibeflow-surface-elevated)",borderBottom:"1px solid var(--vibeflow-border-subtle)",fontSize:11,color:"var(--vibeflow-text-muted)"},children:[opts.file&&(0,import_jsx_runtime32.jsxs)("a",{href:\`vscode://file\${opts.file}\${opts.line!=null?\`:\${opts.line}\`:""}\`,target:"_blank",rel:"noreferrer",style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"var(--vibeflow-accent-soft)",border:"1px solid var(--vibeflow-accent-border)",color:"var(--vibeflow-accent-strong)",textDecoration:"none",fontSize:11},children:["\\u{1F5CE} ",opts.file.split("/").slice(-2).join("/"),opts.line!=null?\`:\${opts.line}\`:""]}),opts.component&&(0,import_jsx_runtime32.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 6px",borderRadius:4,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.25)",color:"#8b5cf6",fontSize:11},children:["\\u2B21 ",opts.component]})]}),(0,import_jsx_runtime32.jsxs)("div",{className:"modal-tabs",children:[(0,import_jsx_runtime32.jsx)("div",{className:\`modal-tab\${showPreview?"":" active"}\`,onClick:()=>setShowPreview(!1),children:"Edit"}),(0,import_jsx_runtime32.jsx)("div",{className:\`modal-tab\${showPreview?" active":""}\`,onClick:()=>setShowPreview(!0),children:"Preview"})]}),(0,import_jsx_runtime32.jsx)("div",{className:"modal-body",children:showPreview?(0,import_jsx_runtime32.jsx)(MarkdownPreview,{markdown:description,className:"modal-preview-pane"}):(0,import_jsx_runtime32.jsx)("div",{className:"modal-editor-pane",children:(0,import_jsx_runtime32.jsx)(AutoExpandTextarea,{className:"dp-textarea",placeholder:"Description (markdown supported)\\u2026",value:description,onChange:setDescription,baseRows:5,maxRows:14})})}),type==="Bug"&&(0,import_jsx_runtime32.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 16px",background:"rgba(239,68,68,0.06)",borderTop:"1px solid rgba(239,68,68,0.18)",fontSize:11,color:"rgba(239,68,68,0.75)"},children:[(0,import_jsx_runtime32.jsx)("span",{children:"\\u{1F534}"}),(0,import_jsx_runtime32.jsx)("span",{children:"Console errors & warnings will be attached to this report"})]}),(0,import_jsx_runtime32.jsxs)("div",{className:"modal-footer",children:[(0,import_jsx_runtime32.jsxs)("div",{className:"modal-footer-left",children:[(0,import_jsx_runtime32.jsx)("button",{type:"button",className:"btn-primary",onClick:handleSave,disabled:!title.trim(),style:{opacity:title.trim()?1:.45,cursor:title.trim()?"pointer":"not-allowed"},children:"Add Task"}),(0,import_jsx_runtime32.jsx)("button",{type:"button",className:"btn-ghost",onClick:onClose,children:"Cancel"})]}),(0,import_jsx_runtime32.jsx)("div",{className:"modal-footer-center"})]})]})})}function OverlayApp({onOpenKanban,onSubmitTask}){let[addModalOpts,setAddModalOpts]=import_react25.default.useState(null),[triggerFlashing,setTriggerFlashing]=import_react25.default.useState(!1),[isHidden,setIsHidden]=import_react25.default.useState(!1);import_react25.default.useEffect(()=>(_externalShowAddModal=opts=>setAddModalOpts(opts),_externalFlashTrigger=()=>{setTriggerFlashing(!0),window.setTimeout(()=>setTriggerFlashing(!1),1500),flashFavicon()},()=>{_externalShowAddModal=null,_externalFlashTrigger=null}),[]);let isKanbanPage=typeof document<"u"&&document.body.hasAttribute("data-vibeflow-cli-kanban");return(0,import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment,{children:[!isKanbanPage&&!isHidden&&(0,import_jsx_runtime32.jsx)(CornerTrigger,{onClick:onOpenKanban,flashing:triggerFlashing,onHide:()=>setIsHidden(!0)}),addModalOpts!==null&&(0,import_jsx_runtime32.jsx)(OverlayAddModal,{opts:addModalOpts,onClose:()=>setAddModalOpts(null),onSubmit:(selector,cssSelector,title,description,status,type,meta)=>{onSubmitTask(selector,cssSelector,title,description,status,type,meta),setAddModalOpts(null)}})]})}function buildTypePickerEl(initialType="Task"){let selectedType=initialType,detailed=TASK_TYPES,currentInfo=()=>detailed.find(t=>t.value===selectedType)??detailed[0],container=el("div",{className:"type-picker"}),trigger=el("button",{className:"type-picker-trigger",type:"button"}),dropdown=el("div",{className:"type-picker-dropdown"}),refresh=()=>{let info=currentInfo();trigger.title=(info==null?void 0:info.tooltip)??"",trigger.replaceChildren(el("span",{className:"type-picker-icon"},(info==null?void 0:info.icon)??""),el("span",{className:"type-picker-label"},(info==null?void 0:info.label)??"")),dropdown.replaceChildren();for(let t of detailed){let opt=el("button",{className:t.value===selectedType?"type-picker-option type-picker-option--active":"type-picker-option",type:"button",title:t.tooltip},el("span",{className:"type-picker-icon"},t.icon),el("span",{className:"type-picker-label"},t.label));opt.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),selectedType=t.value,refresh(),dropdown.classList.remove("open")}),dropdown.appendChild(opt)}};return trigger.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),dropdown.classList.toggle("open")}),refresh(),container.append(trigger,dropdown),{el:container,getValue:()=>selectedType,setValue:v=>{selectedType=v,refresh()}}}function renderMarkdown2(md){return md?md.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/[*][*](.+?)[*][*]/g,"<strong>$1</strong>").replace(/__(.+?)__/g,"<strong>$1</strong>").replace(/[*](.+?)[*]/g,"<em>$1</em>").replace(/_([^_]+?)_/g,"<em>$1</em>").replace(/\`(.+?)\`/g,"<code>$1</code>").replace(/^[-*] (.+)$/gm,"<li>$1</li>").replace(/^---$/gm,"<hr>").replace(/(<li>[\\s\\S]*?<\\/li>\\n?)+/g,m=>\`<ul>\${m}</ul>\`).replace(/^(?!<[a-z]|$).+$/gm,line=>\`<p>\${line}</p>\`):'<span class="modal-preview-empty">No description yet</span>'}function showEditModal(task){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let titleInput=el("input",{type:"text",placeholder:"Task title..."});titleInput.value=task.title??"";let statusSelect=el("select");for(let s of["backlog","todo","in-progress","review","done"]){let opt=el("option",{value:s},s);s===task.status&&(opt.selected=!0),statusSelect.appendChild(opt)}let typePicker=buildTypePickerEl(task.type??"Task"),header=el("div",{className:"modal-header"},titleInput,typePicker.el,statusSelect),tabEdit=el("div",{className:"modal-tab active"},"Edit"),tabPreview=el("div",{className:"modal-tab"},"Preview"),tabs=el("div",{className:"modal-tabs"},tabEdit,tabPreview),textarea=el("textarea",{placeholder:"Description (markdown supported)..."});textarea.value=task.description??"";let editorPane=el("div",{className:"modal-editor-pane"},textarea),previewPane=el("div",{className:"modal-preview-pane"});previewPane.style.display="none";let refreshPreview=()=>{previewPane.innerHTML=renderMarkdown2(textarea.value)},body=el("div",{className:"modal-body"},editorPane,previewPane);tabEdit.addEventListener("click",()=>{tabEdit.classList.add("active"),tabPreview.classList.remove("active"),editorPane.style.display="",previewPane.style.display="none"}),tabPreview.addEventListener("click",event=>{event.isTrusted&&(tabPreview.classList.add("active"),tabEdit.classList.remove("active"),editorPane.style.display="none",previewPane.style.display="",refreshPreview())});let btnSave=el("button",{className:"btn-primary"},"Save"),btnCancel=el("button",{className:"btn-ghost"},"Cancel"),footerLeft=el("div",{className:"modal-footer-left"},btnSave,btnCancel),footerRight=el("div",{className:"modal-footer-right"}),footerCenter=buildSourceRow({file:task.file,line:task.line,col:task.col,component:task.component}),footer=el("div",{className:"modal-footer"},footerLeft,footerCenter,footerRight),modal=el("div",{className:"vibeflow-modal"},header,tabs,body,footer),backdrop=el("div",{className:"vibeflow-modal-backdrop"},modal);state.editModal=backdrop,state.root.appendChild(backdrop),titleInput.focus(),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),btnSave.addEventListener("click",()=>{let newTitle=titleInput.value.trim();if(!newTitle)return;let url=PROTO_CONFIG.boardId?\`\${PROTO_CONFIG.apiUrl}/\${task.id}?boardId=\${encodeURIComponent(PROTO_CONFIG.boardId)}\`:\`\${PROTO_CONFIG.apiUrl}/\${task.id}\`;fetch(url,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:newTitle,status:statusSelect.value,type:typePicker.getValue(),description:textarea.value.trim()})}).then(r=>r.json()).then(d=>{d.success&&fetchTasksAndRender()}).catch(err=>console.error("[Vibeflow Studio]",err)),backdrop.remove(),state.editModal=null}),btnCancel.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),document.addEventListener("keydown",function onModalKey(e){if(!state.editModal){document.removeEventListener("keydown",onModalKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onModalKey)),(e.ctrlKey||e.metaKey)&&e.key==="Enter"&&(btnSave.click(),document.removeEventListener("keydown",onModalKey))})}function fetchTasksAndRender(){fetchTasks()}function buildSourceRow(src){let row=el("div",{className:"modal-source-row"});if(!src.file&&!src.component)return row;let label="";src.file?(label=src.file.replace(/\\\\/g,"/").split("/").slice(-2).join("/"),src.line!=null&&(label+=\`:\${src.line}\`),src.col!=null&&(label+=\`:\${src.col}\`)):src.component&&(label=\`\\u2B21 \${src.component}\`),src.component&&src.file&&(label+=\` \\xB7 \\u2B21 \${src.component}\`);let sourceEl=el("span",{className:"modal-source-label",title:src.file??""},label);if(src.file&&src.line!=null){let link=el("a",{className:"modal-source-link",title:"Open in editor",href:\`vscode://file\${src.file}:\${src.line}\`,target:"_blank"},"\\u2197");row.append(sourceEl,link)}else row.append(sourceEl);return row}function showInspectModal(element,pointer){if(!state.root)return;state.editModal&&(state.editModal.remove(),state.editModal=null);let cssSelector=buildCssSelector(element),tag=element.tagName.toLowerCase(),elId=element.getAttribute("id"),classes=Array.from(element.classList).filter(c=>!c.startsWith("vibeflow-")),dataAttrs=Array.from(element.attributes).filter(a=>a.name.startsWith("data-")&&!a.name.startsWith("data-proto")).map(a=>({name:a.name,value:a.value})),heading=el("div",{className:"inspect-heading"},el("span",{className:"inspect-tag"},\`<\${tag}>\`),el("span",{className:"inspect-title"},"Element Inspector")),closeBtn=el("button",{className:"inspect-close"},"\\u2715");function makeRow(label,value,copyable=!0){let row=el("div",{className:"inspect-row"}),lbl=el("span",{className:"inspect-row-label"},label),val=el("code",{className:"inspect-row-value"},value||"\\u2014");if(row.append(lbl,val),copyable&&value){let btn=el("button",{className:"inspect-copy-btn",title:"Copy"},"\\u2398");btn.addEventListener("click",()=>{var _a;(_a=navigator.clipboard)==null||_a.writeText(value).catch(()=>{}),btn.textContent="\\u2713",setTimeout(()=>{btn.textContent="\\u2398"},1200)}),row.appendChild(btn)}return row}let rows=el("div",{className:"inspect-rows"});if(rows.appendChild(makeRow("Selector",pointer.selector)),cssSelector!==pointer.selector&&rows.appendChild(makeRow("CSS selector",cssSelector)),pointer.test_id&&rows.appendChild(makeRow("Test ID",pointer.test_id)),elId&&rows.appendChild(makeRow("id",elId)),classes.length>0&&rows.appendChild(makeRow("Classes",classes.join(" "))),pointer.file){let fileLine=pointer.file+(pointer.line!=null?\`:\${pointer.line}\`:"")+(pointer.col!=null?\`:\${pointer.col}\`:""),srcRow=makeRow("Source file",fileLine);if(pointer.line!=null){let openLink=el("a",{className:"inspect-copy-btn",title:"Open in VS Code",href:\`vscode://file\${pointer.file}:\${pointer.line}\`,target:"_blank"},"\\u2197");srcRow.appendChild(openLink)}rows.appendChild(srcRow)}pointer.component&&rows.appendChild(makeRow("Component",pointer.component));for(let attr of dataAttrs)rows.appendChild(makeRow(attr.name,attr.value));let copyAllBtn=el("button",{className:"inspect-copy-all-btn"},"\\u2398 Copy all");copyAllBtn.addEventListener("click",()=>{var _a;let lines=[];pointer.file&&lines.push(\`Source: \${pointer.file}\${pointer.line!=null?\`:\${pointer.line}\`:""}\${pointer.col!=null?\`:\${pointer.col}\`:""}\`),pointer.component&&lines.push(\`Component: \${pointer.component}\`),pointer.test_id&&lines.push(\`TestID: \${pointer.test_id}\`),lines.push(\`Selector: \${pointer.selector}\`),cssSelector!==pointer.selector&&lines.push(\`CSS selector: \${cssSelector}\`),elId&&lines.push(\`id: \${elId}\`),classes.length>0&&lines.push(\`Classes: \${classes.join(" ")}\`),(_a=navigator.clipboard)==null||_a.writeText(lines.join(\`
|
|
1580
1611
|
\`)).catch(()=>{}),copyAllBtn.textContent="\\u2713 Copied!",setTimeout(()=>{copyAllBtn.textContent="\\u2398 Copy all"},1500)});let box=el("div",{className:"vibeflow-inspect-modal"},el("div",{className:"inspect-header"},heading,closeBtn),rows,el("div",{className:"inspect-footer"},copyAllBtn)),backdrop=el("div",{className:"vibeflow-modal-backdrop"},box);state.editModal=backdrop,state.root.appendChild(backdrop),closeBtn.addEventListener("click",()=>{backdrop.remove(),state.editModal=null}),backdrop.addEventListener("click",e=>{e.target===backdrop&&(backdrop.remove(),state.editModal=null)}),document.addEventListener("keydown",function onInspectKey(e){if(!state.editModal){document.removeEventListener("keydown",onInspectKey);return}e.key==="Escape"&&(backdrop.remove(),state.editModal=null,document.removeEventListener("keydown",onInspectKey))})}function getTaskTypeTooltip(type){var _a;return((_a=TASK_TYPES.find(t=>t.value===(type??"Task")))==null?void 0:_a.tooltip)??""}function buildOverlayTaskCard(task,options){let{currentPath,onOpen,onDone,onDelete,showSelector=!0,showDescription=!0,showActions=!1}=options,statusBadge=el("span",{className:\`status-badge status-\${task.status.replace(" ","-")}\`},task.status),effectiveType=task.type??"Task",typeBadge=el("span",{className:\`type-badge type-badge-\${effectiveType.toLowerCase()}\`,title:getTaskTypeTooltip(effectiveType)},effectiveType),header=el("div",{className:"task-card-header"},statusBadge,typeBadge);task.status==="in-progress"&&header.appendChild(el("span",{className:"task-spinner"})),task.url&&task.url!==currentPath&&header.appendChild(el("span",{className:"task-url-badge"},task.url));let icon=getTaskTypeIcon(task.type),card=el("div",{className:task.status==="in-progress"?"task-card in-progress":"task-card"},el("span",{className:"task-watermark",title:\`Type: \${task.type??"Task"}\`},icon),header,el("div",{className:"task-title"},task.title??"Untitled"));if(showSelector&&card.appendChild(el("div",{className:"task-selector"},task.selector)),showDescription&&task.description&&card.appendChild(el("div",{className:"task-description"},task.description)),card.addEventListener("click",e=>{var _a,_b;(_b=(_a=e.target).closest)!=null&&_b.call(_a,".task-actions")||onOpen(task)}),showActions){let actions=el("div",{className:"task-actions"});if(task.status!=="done"&&onDone){let doneBtn=el("button",{className:"done-btn"},"\\u2713 Done");doneBtn.addEventListener("click",e=>{e.stopPropagation(),onDone(task)}),actions.appendChild(doneBtn)}if(onDelete){let deleteBtn=el("button",{className:"delete-btn"},"\\u2715");deleteBtn.addEventListener("click",e=>{e.stopPropagation(),onDelete(task)}),actions.appendChild(deleteBtn)}card.appendChild(actions)}return card}function renderIndicators(){if(!state.indicatorContainer||(state.indicatorContainer.replaceChildren(),forceHideTooltip(),!state.indicatorsVisible||state.tasks.length===0))return;let currentPath=location.pathname,pageTasks=state.tasks.filter(t=>!t.url||t.url===currentPath);if(pageTasks.length===0)return;let bySelector={};for(let t of pageTasks){let domSel=t.cssSelector||t.selector;bySelector[domSel]||(bySelector[domSel]=[]),bySelector[domSel].push(t)}let vpW=window.innerWidth||document.documentElement.clientWidth,vpH=window.innerHeight||document.documentElement.clientHeight;for(let sel of Object.keys(bySelector)){let group=bySelector[sel],targetEl;try{targetEl=document.querySelector(sel)}catch{continue}if(!targetEl)continue;let rect=targetEl.getBoundingClientRect();if(rect.width===0&&rect.height===0||rect.bottom<0||rect.top>vpH||rect.right<0||rect.left>vpW)continue;let activeTasks=group.filter(t=>t.status!=="done"),allDone=activeTasks.length===0;if(allDone&&!state.sidebarShowDone)continue;let indicator=el("div",{className:"vibeflow-task-indicator"+(allDone?" all-done":"")});indicator.textContent=allDone?"\\u2713":String(activeTasks.length),indicator.style.left=\`\${rect.right-10}px\`,indicator.style.top=\`\${rect.top-10}px\`;let grp=group,capturedAllDone=allDone;indicator.addEventListener("mouseenter",()=>{state.tooltipPinned||showIndicatorTooltip(indicator,grp)}),indicator.addEventListener("mouseleave",e=>{if(state.tooltipPinned)return;let rel=e.relatedTarget;state.activeTooltip&&rel&&(rel===state.activeTooltip||state.activeTooltip.contains(rel))||hideIndicatorTooltip()}),indicator.addEventListener("click",e=>{e.stopPropagation(),grp.length===1?(forceHideTooltip(),showEditModal(grp[0])):(forceHideTooltip(),showIndicatorTooltip(indicator,grp),state.tooltipPinned=!0)}),state.indicatorContainer.appendChild(indicator)}}function scheduleRenderIndicators(){state.indicatorRafId||(state.indicatorRafId=requestAnimationFrame(()=>{state.indicatorRafId=null,renderIndicators()}))}function hideIndicatorTooltip(){state.tooltipPinned||state.activeTooltip&&(state.activeTooltip.remove(),state.activeTooltip=null)}function forceHideTooltip(){state.tooltipPinned=!1,state.activeTooltip&&(state.activeTooltip.remove(),state.activeTooltip=null)}function showIndicatorTooltip(indicator,group){if(!state.root)return;hideIndicatorTooltip();let tooltip=el("div",{className:"vibeflow-task-tooltip"}),closeBtn=el("button",{className:"tooltip-close-btn"},"\\u2715");closeBtn.addEventListener("click",e=>{e.stopPropagation(),forceHideTooltip()}),tooltip.appendChild(closeBtn);for(let task of group){let card=buildOverlayTaskCard(task,{currentPath:location.pathname,showSelector:!1,showDescription:!0,showActions:!1,onOpen:capturedTask=>{forceHideTooltip(),showEditModal(capturedTask)}});tooltip.appendChild(card)}let iRect=indicator.getBoundingClientRect();tooltip.style.left=\`\${Math.min(iRect.right+6,window.innerWidth-330)}px\`,tooltip.style.top=\`\${Math.max(4,Math.min(iRect.top-8,window.innerHeight-420))}px\`,tooltip.addEventListener("mouseleave",hideIndicatorTooltip),state.root.appendChild(tooltip),state.activeTooltip=tooltip}function setupIndicatorScrollRefresh(){window.addEventListener("scroll",scheduleRenderIndicators,!0),window.addEventListener("resize",scheduleRenderIndicators)}function setupInteractionDebounce(host){let interactionDebounce=null;function onUserInteraction(e){e.composedPath().indexOf(host)===-1&&(interactionDebounce&&clearTimeout(interactionDebounce),interactionDebounce=setTimeout(()=>{interactionDebounce=null,renderIndicators()},150))}document.addEventListener("click",onUserInteraction,!0),document.addEventListener("keyup",onUserInteraction,!0)}function setupClickOutsideTooltipClose(host){document.addEventListener("click",e=>{!state.tooltipPinned||!state.activeTooltip||(e.composedPath?e.composedPath():[e.target]).includes(host)||forceHideTooltip()},!0)}function detectReactQuality(root=document){let sampleElements=Array.from(root.querySelectorAll("*")).slice(0,50),hasReact=!1,hasDebugSource=!1,hasDebugOwner=!1;for(let elem of sampleElements){for(let key of Object.keys(elem)){if(!key.startsWith("__reactFiber$")&&!key.startsWith("__reactInternalInstance"))continue;hasReact=!0;let fiber=elem[key];if(fiber!=null&&fiber._debugSource){hasDebugSource=!0;break}if(fiber!=null&&fiber._debugStack){hasDebugSource=!0;break}fiber!=null&&fiber._debugOwner&&(hasDebugOwner=!0)}if(hasDebugSource)break}return hasReact?hasDebugSource?"full":hasDebugOwner?"partial":"none":"not-react"}var SHOWN_KEY="vibeflow-react-quality-shown";function hasShownQualityModal(){try{return!!localStorage.getItem(SHOWN_KEY)}catch{return!1}}function markQualityModalShown(){try{localStorage.setItem(SHOWN_KEY,"1")}catch{}}function showReactQualityModal(quality){if(!state.root)return;closeReactQualityModal(),markQualityModalShown();let levelCards=[{icon:"\\u{1F7E2}",label:"Full context",color:"#4ade80",desc:"React dev mode + source maps. Component name + source file + line.",active:quality==="full"},{icon:"\\u{1F7E1}",label:"Partial",color:"#fbbf24",desc:"React dev mode, but no debug stack found. Component name only.",active:quality==="partial"},{icon:"\\u{1F534}",label:"No context",color:"#f87171",desc:"Production build. DOM selectors only \\u2014 no component or source info.",active:quality==="none"}].map(lv=>{let card=el("div",{className:"rq-level"+(lv.active?" rq-level--active":"")});return card.appendChild(el("div",{className:"rq-level-icon"},lv.icon)),card.appendChild(Object.assign(el("div",{className:"rq-level-label"},lv.label),{style:\`color:\${lv.color}\`})),card.appendChild(el("div",{className:"rq-level-desc"},lv.desc)),card}),levelRow=el("div",{className:"rq-levels"},...levelCards),heading=el("div",{className:"rq-heading"},{full:"You have full context",partial:"You have partial context",none:"No React context available","not-react":"React not detected"}[quality]??"React context"),features=buildFeatureRows(quality),header=el("div",{className:"rq-header"},heading,levelRow),body=el("div",{className:"rq-body"},...features),closeBtn=el("button",{className:"rq-close",title:"Close","aria-label":"Close"},"\\u2715"),btnContinue=el("button",{className:"rq-btn rq-btn-secondary"},"Continue annotating"),footer=el("div",{className:"rq-footer"},btnContinue),modal=el("div",{className:"vibeflow-rq-modal",id:"vibeflow-rq-modal"},closeBtn,header,body,footer),overlay=el("div",{className:"vibeflow-rq-overlay",id:"vibeflow-rq-overlay"},modal);function close(){overlay.remove()}closeBtn.addEventListener("click",close),btnContinue.addEventListener("click",close),overlay.addEventListener("click",e=>{e.target===overlay&&close()}),state.root.appendChild(overlay)}function closeReactQualityModal(){var _a,_b;(_b=(_a=state.root)==null?void 0:_a.querySelector("#vibeflow-rq-overlay"))==null||_b.remove()}function featureRow(icon,text,detail){let row=el("div",{className:"rq-feature"});row.appendChild(el("span",{className:"rq-feature-icon"},icon));let textEl=el("div",{className:"rq-feature-text"});return textEl.appendChild(el("strong",null,text)),textEl.appendChild(el("span",null," \\u2014 "+detail)),row.appendChild(textEl),row}function codeBlock(code){let pre=el("pre",{className:"rq-codeblock"});return pre.appendChild(el("code",null,code)),pre}function sectionTitle(title){return el("div",{className:"rq-section-title"},title)}function buildFeatureRows(quality){let rows=[];return rows.push(sectionTitle("What is captured now")),rows.push(featureRow("\\u2705","CSS selector","always available \\u2014 stable element targeting")),quality==="full"?(rows.push(featureRow("\\u2705","Component name","from React fiber (_debugOwner)")),rows.push(featureRow("\\u2705","Source file + line","resolved via source maps (React 18.3+ _debugStack or legacy _debugSource)")),rows.push(el("div",{className:"rq-note rq-note--success"},"You have the best possible context. Your agent receives component name, source file, and line number for each annotation.")),rows):(quality==="partial"&&(rows.push(featureRow("\\u2705","Component name","from React fiber (_debugOwner)")),rows.push(featureRow("\\u274C","Source file + line","no debug stack found on React fibers")),rows.push(sectionTitle("How to get source file + line")),rows.push(el("div",{className:"rq-note rq-note--amber"},"Source file resolution requires React dev mode with debug stacks (_debugStack / _debugSource) and source maps served by your bundler. Both are enabled by default when running in development mode.")),rows.push(codeBlock(\`# Next.js
|
|
1581
1612
|
next dev (or: npm run dev)
|
|
1582
1613
|
|
|
@@ -1638,7 +1669,6 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
1638
1669
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
1639
1670
|
lucide-react/dist/esm/Icon.js:
|
|
1640
1671
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
1641
|
-
lucide-react/dist/esm/icons/bot.js:
|
|
1642
1672
|
lucide-react/dist/esm/icons/circle-check-big.js:
|
|
1643
1673
|
lucide-react/dist/esm/icons/eye.js:
|
|
1644
1674
|
lucide-react/dist/esm/icons/lock.js:
|
|
@@ -1663,8 +1693,8 @@ var PROTO_CONFIG = {
|
|
|
1663
1693
|
screenshotsUrl: _vfOrigin + '/screenshots/'
|
|
1664
1694
|
};
|
|
1665
1695
|
`+Xe}function jt(t){return`var PROTO_CONFIG = ${JSON.stringify({port:0,wsUrl:"",apiUrl:`${t}/api/overlay/tasks`,pagesUrl:"",screenshotsUrl:""})};
|
|
1666
|
-
`+Xe}import{existsSync as Kn,readFileSync as Yn}from"fs";import{dirname as
|
|
1667
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-bg-2:#0f172a;--p-bg-3:#1e293b;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;gap:5px;padding-bottom:8px}.column-scroll,.task-card{display:flex;flex-direction:column}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var Ze='"use strict";(()=>{var Vg=Object.create;var ff=Object.defineProperty;var Gg=Object.getOwnPropertyDescriptor;var Kg=Object.getOwnPropertyNames;var jg=Object.getPrototypeOf,Xg=Object.prototype.hasOwnProperty;var ka=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Qg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Kg(t))!Xg.call(e,o)&&o!==a&&ff(e,o,{get:()=>t[o],enumerable:!(r=Gg(t,o))||r.enumerable});return e};var E=(e,t,a)=>(a=e!=null?Vg(jg(e)):{},Qg(t||!e||!e.__esModule?ff(a,"default",{value:e,enumerable:!0}):a,e));var Cf=ka(he=>{"use strict";var Jo=Symbol.for("react.element"),Yg=Symbol.for("react.portal"),Zg=Symbol.for("react.fragment"),Jg=Symbol.for("react.strict_mode"),eh=Symbol.for("react.profiler"),th=Symbol.for("react.provider"),ah=Symbol.for("react.context"),rh=Symbol.for("react.forward_ref"),oh=Symbol.for("react.suspense"),nh=Symbol.for("react.memo"),lh=Symbol.for("react.lazy"),cf=Symbol.iterator;function sh(e){return e===null||typeof e!="object"?null:(e=cf&&e[cf]||e["@@iterator"],typeof e=="function"?e:null)}var gf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hf=Object.assign,xf={};function so(e,t,a){this.props=e,this.context=t,this.refs=xf,this.updater=a||gf}so.prototype.isReactComponent={};so.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};so.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function vf(){}vf.prototype=so.prototype;function gi(e,t,a){this.props=e,this.context=t,this.refs=xf,this.updater=a||gf}var hi=gi.prototype=new vf;hi.constructor=gi;hf(hi,so.prototype);hi.isPureReactComponent=!0;var pf=Array.isArray,yf=Object.prototype.hasOwnProperty,xi={current:null},Lf={key:!0,ref:!0,__self:!0,__source:!0};function Sf(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)yf.call(t,r)&&!Lf.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var i=Array(s),d=0;d<s;d++)i[d]=arguments[d+2];o.children=i}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:Jo,type:e,key:n,ref:l,props:o,_owner:xi.current}}function ih(e,t){return{$$typeof:Jo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function vi(e){return typeof e=="object"&&e!==null&&e.$$typeof===Jo}function uh(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var mf=/\\/+/g;function mi(e,t){return typeof e=="object"&&e!==null&&e.key!=null?uh(""+e.key):t.toString(36)}function kl(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Jo:case Yg:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+mi(l,0):r,pf(o)?(a="",e!=null&&(a=e.replace(mf,"$&/")+"/"),kl(o,t,a,"",function(d){return d})):o!=null&&(vi(o)&&(o=ih(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(mf,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",pf(e))for(var s=0;s<e.length;s++){n=e[s];var i=r+mi(n,s);l+=kl(n,t,a,i,o)}else if(i=sh(e),typeof i=="function")for(e=i.call(e),s=0;!(n=e.next()).done;)n=n.value,i=r+mi(n,s++),l+=kl(n,t,a,i,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function wl(e,t,a){if(e==null)return e;var r=[],o=0;return kl(e,r,"","",function(n){return t.call(a,n,o++)}),r}function dh(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gt={current:null},bl={transition:null},fh={ReactCurrentDispatcher:gt,ReactCurrentBatchConfig:bl,ReactCurrentOwner:xi};function If(){throw Error("act(...) is not supported in production builds of React.")}he.Children={map:wl,forEach:function(e,t,a){wl(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return wl(e,function(){t++}),t},toArray:function(e){return wl(e,function(t){return t})||[]},only:function(e){if(!vi(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};he.Component=so;he.Fragment=Zg;he.Profiler=eh;he.PureComponent=gi;he.StrictMode=Jg;he.Suspense=oh;he.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=fh;he.act=If;he.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=hf({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=xi.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(i in t)yf.call(t,i)&&!Lf.hasOwnProperty(i)&&(r[i]=t[i]===void 0&&s!==void 0?s[i]:t[i])}var i=arguments.length-2;if(i===1)r.children=a;else if(1<i){s=Array(i);for(var d=0;d<i;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:Jo,type:e.type,key:o,ref:n,props:r,_owner:l}};he.createContext=function(e){return e={$$typeof:ah,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:th,_context:e},e.Consumer=e};he.createElement=Sf;he.createFactory=function(e){var t=Sf.bind(null,e);return t.type=e,t};he.createRef=function(){return{current:null}};he.forwardRef=function(e){return{$$typeof:rh,render:e}};he.isValidElement=vi;he.lazy=function(e){return{$$typeof:lh,_payload:{_status:-1,_result:e},_init:dh}};he.memo=function(e,t){return{$$typeof:nh,type:e,compare:t===void 0?null:t}};he.startTransition=function(e){var t=bl.transition;bl.transition={};try{e()}finally{bl.transition=t}};he.unstable_act=If;he.useCallback=function(e,t){return gt.current.useCallback(e,t)};he.useContext=function(e){return gt.current.useContext(e)};he.useDebugValue=function(){};he.useDeferredValue=function(e){return gt.current.useDeferredValue(e)};he.useEffect=function(e,t){return gt.current.useEffect(e,t)};he.useId=function(){return gt.current.useId()};he.useImperativeHandle=function(e,t,a){return gt.current.useImperativeHandle(e,t,a)};he.useInsertionEffect=function(e,t){return gt.current.useInsertionEffect(e,t)};he.useLayoutEffect=function(e,t){return gt.current.useLayoutEffect(e,t)};he.useMemo=function(e,t){return gt.current.useMemo(e,t)};he.useReducer=function(e,t,a){return gt.current.useReducer(e,t,a)};he.useRef=function(e){return gt.current.useRef(e)};he.useState=function(e){return gt.current.useState(e)};he.useSyncExternalStore=function(e,t,a){return gt.current.useSyncExternalStore(e,t,a)};he.useTransition=function(){return gt.current.useTransition()};he.version="18.3.1"});var Ee=ka((Sy,wf)=>{"use strict";wf.exports=Cf()});var Ff=ka(Fe=>{"use strict";function Ii(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Tl(o,t))e[r]=t,e[a]=o,a=r;else break e}}function Yt(e){return e.length===0?null:e[0]}function Rl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],i=l+1,d=e[i];if(0>Tl(s,a))i<o&&0>Tl(d,s)?(e[r]=d,e[i]=a,r=i):(e[r]=s,e[l]=a,r=l);else if(i<o&&0>Tl(d,a))e[r]=d,e[i]=a,r=i;else break e}}return t}function Tl(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(kf=performance,Fe.unstable_now=function(){return kf.now()}):(yi=Date,bf=yi.now(),Fe.unstable_now=function(){return yi.now()-bf});var kf,yi,bf,pa=[],Ha=[],ch=1,Ot=null,ut=3,Ml=!1,wr=!1,tn=!1,Rf=typeof setTimeout=="function"?setTimeout:null,Mf=typeof clearTimeout=="function"?clearTimeout:null,Tf=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ci(e){for(var t=Yt(Ha);t!==null;){if(t.callback===null)Rl(Ha);else if(t.startTime<=e)Rl(Ha),t.sortIndex=t.expirationTime,Ii(pa,t);else break;t=Yt(Ha)}}function wi(e){if(tn=!1,Ci(e),!wr)if(Yt(pa)!==null)wr=!0,bi(ki);else{var t=Yt(Ha);t!==null&&Ti(wi,t.startTime-e)}}function ki(e,t){wr=!1,tn&&(tn=!1,Mf(an),an=-1),Ml=!0;var a=ut;try{for(Ci(t),Ot=Yt(pa);Ot!==null&&(!(Ot.expirationTime>t)||e&&!Ef());){var r=Ot.callback;if(typeof r=="function"){Ot.callback=null,ut=Ot.priorityLevel;var o=r(Ot.expirationTime<=t);t=Fe.unstable_now(),typeof o=="function"?Ot.callback=o:Ot===Yt(pa)&&Rl(pa),Ci(t)}else Rl(pa);Ot=Yt(pa)}if(Ot!==null)var n=!0;else{var l=Yt(Ha);l!==null&&Ti(wi,l.startTime-t),n=!1}return n}finally{Ot=null,ut=a,Ml=!1}}var Al=!1,Pl=null,an=-1,Af=5,Df=-1;function Ef(){return!(Fe.unstable_now()-Df<Af)}function Li(){if(Pl!==null){var e=Fe.unstable_now();Df=e;var t=!0;try{t=Pl(!0,e)}finally{t?en():(Al=!1,Pl=null)}}else Al=!1}var en;typeof Tf=="function"?en=function(){Tf(Li)}:typeof MessageChannel<"u"?(Si=new MessageChannel,Pf=Si.port2,Si.port1.onmessage=Li,en=function(){Pf.postMessage(null)}):en=function(){Rf(Li,0)};var Si,Pf;function bi(e){Pl=e,Al||(Al=!0,en())}function Ti(e,t){an=Rf(function(){e(Fe.unstable_now())},t)}Fe.unstable_IdlePriority=5;Fe.unstable_ImmediatePriority=1;Fe.unstable_LowPriority=4;Fe.unstable_NormalPriority=3;Fe.unstable_Profiling=null;Fe.unstable_UserBlockingPriority=2;Fe.unstable_cancelCallback=function(e){e.callback=null};Fe.unstable_continueExecution=function(){wr||Ml||(wr=!0,bi(ki))};Fe.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Af=0<e?Math.floor(1e3/e):5};Fe.unstable_getCurrentPriorityLevel=function(){return ut};Fe.unstable_getFirstCallbackNode=function(){return Yt(pa)};Fe.unstable_next=function(e){switch(ut){case 1:case 2:case 3:var t=3;break;default:t=ut}var a=ut;ut=t;try{return e()}finally{ut=a}};Fe.unstable_pauseExecution=function(){};Fe.unstable_requestPaint=function(){};Fe.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=ut;ut=e;try{return t()}finally{ut=a}};Fe.unstable_scheduleCallback=function(e,t,a){var r=Fe.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:ch++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Ii(Ha,e),Yt(pa)===null&&e===Yt(Ha)&&(tn?(Mf(an),an=-1):tn=!0,Ti(wi,a-r))):(e.sortIndex=o,Ii(pa,e),wr||Ml||(wr=!0,bi(ki))),e};Fe.unstable_shouldYield=Ef;Fe.unstable_wrapCallback=function(e){var t=ut;return function(){var a=ut;ut=t;try{return e.apply(this,arguments)}finally{ut=a}}}});var Of=ka((Cy,Bf)=>{"use strict";Bf.exports=Ff()});var Hm=ka(Bt=>{"use strict";var ph=Ee(),Et=Of();function M(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Wc=new Set,kn={};function zr(e,t){Ro(e,t),Ro(e+"Capture",t)}function Ro(e,t){for(kn[e]=t,e=0;e<t.length;e++)Wc.add(t[e])}var Aa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qi=Object.prototype.hasOwnProperty,mh=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,zf={},Nf={};function gh(e){return Qi.call(Nf,e)?!0:Qi.call(zf,e)?!1:mh.test(e)?Nf[e]=!0:(zf[e]=!0,!1)}function hh(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function xh(e,t,a,r){if(t===null||typeof t>"u"||hh(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function vt(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var st={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){st[e]=new vt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];st[t]=new vt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){st[e]=new vt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){st[e]=new vt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){st[e]=new vt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){st[e]=new vt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){st[e]=new vt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){st[e]=new vt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){st[e]=new vt(e,5,!1,e.toLowerCase(),null,!1,!1)});var _u=/[\\-:]([a-z])/g;function Wu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){st[e]=new vt(e,1,!1,e.toLowerCase(),null,!1,!1)});st.xlinkHref=new vt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){st[e]=new vt(e,1,!1,e.toLowerCase(),null,!0,!0)});function $u(e,t,a,r){var o=st.hasOwnProperty(t)?st[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(xh(t,a,o,r)&&(a=null),r||o===null?gh(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var Ba=ph.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Dl=Symbol.for("react.element"),fo=Symbol.for("react.portal"),co=Symbol.for("react.fragment"),Vu=Symbol.for("react.strict_mode"),Yi=Symbol.for("react.profiler"),$c=Symbol.for("react.provider"),Vc=Symbol.for("react.context"),Gu=Symbol.for("react.forward_ref"),Zi=Symbol.for("react.suspense"),Ji=Symbol.for("react.suspense_list"),Ku=Symbol.for("react.memo"),_a=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Gc=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Uf=Symbol.iterator;function rn(e){return e===null||typeof e!="object"?null:(e=Uf&&e[Uf]||e["@@iterator"],typeof e=="function"?e:null)}var $e=Object.assign,Pi;function cn(e){if(Pi===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Pi=t&&t[1]||""}return`\n`+Pi+e}var Ri=!1;function Mi(e,t){if(!e||Ri)return"";Ri=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var i=`\n`+o[l].replace(" at new "," at ");return e.displayName&&i.includes("<anonymous>")&&(i=i.replace("<anonymous>",e.displayName)),i}while(1<=l&&0<=s);break}}}finally{Ri=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?cn(e):""}function vh(e){switch(e.tag){case 5:return cn(e.type);case 16:return cn("Lazy");case 13:return cn("Suspense");case 19:return cn("SuspenseList");case 0:case 2:case 15:return e=Mi(e.type,!1),e;case 11:return e=Mi(e.type.render,!1),e;case 1:return e=Mi(e.type,!0),e;default:return""}}function eu(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case co:return"Fragment";case fo:return"Portal";case Yi:return"Profiler";case Vu:return"StrictMode";case Zi:return"Suspense";case Ji:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Vc:return(e.displayName||"Context")+".Consumer";case $c:return(e._context.displayName||"Context")+".Provider";case Gu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return t=e.displayName||null,t!==null?t:eu(e.type)||"Memo";case _a:t=e._payload,e=e._init;try{return eu(e(t))}catch{}}return null}function yh(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return eu(t);case 8:return t===Vu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ar(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Kc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Lh(e){var t=Kc(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function El(e){e._valueTracker||(e._valueTracker=Lh(e))}function jc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=Kc(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function ss(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function tu(e,t){var a=t.checked;return $e({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function Hf(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=ar(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Xc(e,t){t=t.checked,t!=null&&$u(e,"checked",t,!1)}function au(e,t){Xc(e,t);var a=ar(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ru(e,t.type,a):t.hasOwnProperty("defaultValue")&&ru(e,t.type,ar(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function qf(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function ru(e,t,a){(t!=="number"||ss(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var pn=Array.isArray;function Co(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+ar(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function ou(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(M(91));return $e({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function _f(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(M(92));if(pn(a)){if(1<a.length)throw Error(M(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:ar(a)}}function Qc(e,t){var a=ar(t.value),r=ar(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function Wf(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Yc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function nu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Yc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Fl,Zc=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Fl=Fl||document.createElement("div"),Fl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Fl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function bn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var hn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Sh=["Webkit","ms","Moz","O"];Object.keys(hn).forEach(function(e){Sh.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),hn[t]=hn[e]})});function Jc(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||hn.hasOwnProperty(e)&&hn[e]?(""+t).trim():t+"px"}function ep(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=Jc(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var Ih=$e({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lu(e,t){if(t){if(Ih[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(M(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(M(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(M(61))}if(t.style!=null&&typeof t.style!="object")throw Error(M(62))}}function su(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var iu=null;function ju(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var uu=null,wo=null,ko=null;function $f(e){if(e=$n(e)){if(typeof uu!="function")throw Error(M(280));var t=e.stateNode;t&&(t=Bs(t),uu(e.stateNode,e.type,t))}}function tp(e){wo?ko?ko.push(e):ko=[e]:wo=e}function ap(){if(wo){var e=wo,t=ko;if(ko=wo=null,$f(e),t)for(e=0;e<t.length;e++)$f(t[e])}}function rp(e,t){return e(t)}function op(){}var Ai=!1;function np(e,t,a){if(Ai)return e(t,a);Ai=!0;try{return rp(e,t,a)}finally{Ai=!1,(wo!==null||ko!==null)&&(op(),ap())}}function Tn(e,t){var a=e.stateNode;if(a===null)return null;var r=Bs(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(M(231,t,typeof a));return a}var du=!1;if(Aa)try{io={},Object.defineProperty(io,"passive",{get:function(){du=!0}}),window.addEventListener("test",io,io),window.removeEventListener("test",io,io)}catch{du=!1}var io;function Ch(e,t,a,r,o,n,l,s,i){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(c){this.onError(c)}}var xn=!1,is=null,us=!1,fu=null,wh={onError:function(e){xn=!0,is=e}};function kh(e,t,a,r,o,n,l,s,i){xn=!1,is=null,Ch.apply(wh,arguments)}function bh(e,t,a,r,o,n,l,s,i){if(kh.apply(this,arguments),xn){if(xn){var d=is;xn=!1,is=null}else throw Error(M(198));us||(us=!0,fu=d)}}function Nr(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function lp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Vf(e){if(Nr(e)!==e)throw Error(M(188))}function Th(e){var t=e.alternate;if(!t){if(t=Nr(e),t===null)throw Error(M(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return Vf(o),e;if(n===r)return Vf(o),t;n=n.sibling}throw Error(M(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(M(189))}}if(a.alternate!==r)throw Error(M(190))}if(a.tag!==3)throw Error(M(188));return a.stateNode.current===a?e:t}function sp(e){return e=Th(e),e!==null?ip(e):null}function ip(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=ip(e);if(t!==null)return t;e=e.sibling}return null}var up=Et.unstable_scheduleCallback,Gf=Et.unstable_cancelCallback,Ph=Et.unstable_shouldYield,Rh=Et.unstable_requestPaint,je=Et.unstable_now,Mh=Et.unstable_getCurrentPriorityLevel,Xu=Et.unstable_ImmediatePriority,dp=Et.unstable_UserBlockingPriority,ds=Et.unstable_NormalPriority,Ah=Et.unstable_LowPriority,fp=Et.unstable_IdlePriority,As=null,xa=null;function Dh(e){if(xa&&typeof xa.onCommitFiberRoot=="function")try{xa.onCommitFiberRoot(As,e,void 0,(e.current.flags&128)===128)}catch{}}var aa=Math.clz32?Math.clz32:Bh,Eh=Math.log,Fh=Math.LN2;function Bh(e){return e>>>=0,e===0?32:31-(Eh(e)/Fh|0)|0}var Bl=64,Ol=4194304;function mn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function fs(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=mn(s):(n&=l,n!==0&&(r=mn(n)))}else l=a&~o,l!==0?r=mn(l):n!==0&&(r=mn(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-aa(t),o=1<<a,r|=e[a],t&=~o;return r}function Oh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function zh(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-aa(n),s=1<<l,i=o[l];i===-1?((s&a)===0||(s&r)!==0)&&(o[l]=Oh(s,t)):i<=t&&(e.expiredLanes|=s),n&=~s}}function cu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function cp(){var e=Bl;return Bl<<=1,(Bl&4194240)===0&&(Bl=64),e}function Di(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function _n(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-aa(t),e[t]=a}function Nh(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-aa(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function Qu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-aa(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var be=0;function pp(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var mp,Yu,gp,hp,xp,pu=!1,zl=[],ja=null,Xa=null,Qa=null,Pn=new Map,Rn=new Map,$a=[],Uh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Kf(e,t){switch(e){case"focusin":case"focusout":ja=null;break;case"dragenter":case"dragleave":Xa=null;break;case"mouseover":case"mouseout":Qa=null;break;case"pointerover":case"pointerout":Pn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rn.delete(t.pointerId)}}function on(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=$n(t),t!==null&&Yu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Hh(e,t,a,r,o){switch(t){case"focusin":return ja=on(ja,e,t,a,r,o),!0;case"dragenter":return Xa=on(Xa,e,t,a,r,o),!0;case"mouseover":return Qa=on(Qa,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Pn.set(n,on(Pn.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,Rn.set(n,on(Rn.get(n)||null,e,t,a,r,o)),!0}return!1}function vp(e){var t=Tr(e.target);if(t!==null){var a=Nr(t);if(a!==null){if(t=a.tag,t===13){if(t=lp(a),t!==null){e.blockedOn=t,xp(e.priority,function(){gp(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=mu(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);iu=r,a.target.dispatchEvent(r),iu=null}else return t=$n(a),t!==null&&Yu(t),e.blockedOn=a,!1;t.shift()}return!0}function jf(e,t,a){Yl(e)&&a.delete(t)}function qh(){pu=!1,ja!==null&&Yl(ja)&&(ja=null),Xa!==null&&Yl(Xa)&&(Xa=null),Qa!==null&&Yl(Qa)&&(Qa=null),Pn.forEach(jf),Rn.forEach(jf)}function nn(e,t){e.blockedOn===t&&(e.blockedOn=null,pu||(pu=!0,Et.unstable_scheduleCallback(Et.unstable_NormalPriority,qh)))}function Mn(e){function t(o){return nn(o,e)}if(0<zl.length){nn(zl[0],e);for(var a=1;a<zl.length;a++){var r=zl[a];r.blockedOn===e&&(r.blockedOn=null)}}for(ja!==null&&nn(ja,e),Xa!==null&&nn(Xa,e),Qa!==null&&nn(Qa,e),Pn.forEach(t),Rn.forEach(t),a=0;a<$a.length;a++)r=$a[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<$a.length&&(a=$a[0],a.blockedOn===null);)vp(a),a.blockedOn===null&&$a.shift()}var bo=Ba.ReactCurrentBatchConfig,cs=!0;function _h(e,t,a,r){var o=be,n=bo.transition;bo.transition=null;try{be=1,Zu(e,t,a,r)}finally{be=o,bo.transition=n}}function Wh(e,t,a,r){var o=be,n=bo.transition;bo.transition=null;try{be=4,Zu(e,t,a,r)}finally{be=o,bo.transition=n}}function Zu(e,t,a,r){if(cs){var o=mu(e,t,a,r);if(o===null)Ui(e,t,r,ps,a),Kf(e,r);else if(Hh(o,e,t,a,r))r.stopPropagation();else if(Kf(e,r),t&4&&-1<Uh.indexOf(e)){for(;o!==null;){var n=$n(o);if(n!==null&&mp(n),n=mu(e,t,a,r),n===null&&Ui(e,t,r,ps,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else Ui(e,t,r,null,a)}}var ps=null;function mu(e,t,a,r){if(ps=null,e=ju(r),e=Tr(e),e!==null)if(t=Nr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=lp(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ps=e,null}function yp(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Mh()){case Xu:return 1;case dp:return 4;case ds:case Ah:return 16;case fp:return 536870912;default:return 16}default:return 16}}var Ga=null,Ju=null,Zl=null;function Lp(){if(Zl)return Zl;var e,t=Ju,a=t.length,r,o="value"in Ga?Ga.value:Ga.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return Zl=o.slice(e,1<r?1-r:void 0)}function Jl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Nl(){return!0}function Xf(){return!1}function Ft(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?Nl:Xf,this.isPropagationStopped=Xf,this}return $e(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Nl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Nl)},persist:function(){},isPersistent:Nl}),t}var Oo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ed=Ft(Oo),Wn=$e({},Oo,{view:0,detail:0}),$h=Ft(Wn),Ei,Fi,ln,Ds=$e({},Wn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:td,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&e.type==="mousemove"?(Ei=e.screenX-ln.screenX,Fi=e.screenY-ln.screenY):Fi=Ei=0,ln=e),Ei)},movementY:function(e){return"movementY"in e?e.movementY:Fi}}),Qf=Ft(Ds),Vh=$e({},Ds,{dataTransfer:0}),Gh=Ft(Vh),Kh=$e({},Wn,{relatedTarget:0}),Bi=Ft(Kh),jh=$e({},Oo,{animationName:0,elapsedTime:0,pseudoElement:0}),Xh=Ft(jh),Qh=$e({},Oo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Yh=Ft(Qh),Zh=$e({},Oo,{data:0}),Yf=Ft(Zh),Jh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ex={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},tx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ax(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=tx[e])?!!t[e]:!1}function td(){return ax}var rx=$e({},Wn,{key:function(e){if(e.key){var t=Jh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Jl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?ex[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:td,charCode:function(e){return e.type==="keypress"?Jl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Jl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),ox=Ft(rx),nx=$e({},Ds,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Zf=Ft(nx),lx=$e({},Wn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:td}),sx=Ft(lx),ix=$e({},Oo,{propertyName:0,elapsedTime:0,pseudoElement:0}),ux=Ft(ix),dx=$e({},Ds,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),fx=Ft(dx),cx=[9,13,27,32],ad=Aa&&"CompositionEvent"in window,vn=null;Aa&&"documentMode"in document&&(vn=document.documentMode);var px=Aa&&"TextEvent"in window&&!vn,Sp=Aa&&(!ad||vn&&8<vn&&11>=vn),Jf=" ",ec=!1;function Ip(e,t){switch(e){case"keyup":return cx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Cp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var po=!1;function mx(e,t){switch(e){case"compositionend":return Cp(t);case"keypress":return t.which!==32?null:(ec=!0,Jf);case"textInput":return e=t.data,e===Jf&&ec?null:e;default:return null}}function gx(e,t){if(po)return e==="compositionend"||!ad&&Ip(e,t)?(e=Lp(),Zl=Ju=Ga=null,po=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Sp&&t.locale!=="ko"?null:t.data;default:return null}}var hx={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!hx[e.type]:t==="textarea"}function wp(e,t,a,r){tp(r),t=ms(t,"onChange"),0<t.length&&(a=new ed("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var yn=null,An=null;function xx(e){Bp(e,0)}function Es(e){var t=ho(e);if(jc(t))return e}function vx(e,t){if(e==="change")return t}var kp=!1;Aa&&(Aa?(Hl="oninput"in document,Hl||(Oi=document.createElement("div"),Oi.setAttribute("oninput","return;"),Hl=typeof Oi.oninput=="function"),Ul=Hl):Ul=!1,kp=Ul&&(!document.documentMode||9<document.documentMode));var Ul,Hl,Oi;function ac(){yn&&(yn.detachEvent("onpropertychange",bp),An=yn=null)}function bp(e){if(e.propertyName==="value"&&Es(An)){var t=[];wp(t,An,e,ju(e)),np(xx,t)}}function yx(e,t,a){e==="focusin"?(ac(),yn=t,An=a,yn.attachEvent("onpropertychange",bp)):e==="focusout"&&ac()}function Lx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Es(An)}function Sx(e,t){if(e==="click")return Es(t)}function Ix(e,t){if(e==="input"||e==="change")return Es(t)}function Cx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var oa=typeof Object.is=="function"?Object.is:Cx;function Dn(e,t){if(oa(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!Qi.call(t,o)||!oa(e[o],t[o]))return!1}return!0}function rc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function oc(e,t){var a=rc(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=rc(a)}}function Tp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Tp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pp(){for(var e=window,t=ss();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=ss(e.document)}return t}function rd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function wx(e){var t=Pp(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Tp(a.ownerDocument.documentElement,a)){if(r!==null&&rd(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=oc(a,n);var l=oc(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var kx=Aa&&"documentMode"in document&&11>=document.documentMode,mo=null,gu=null,Ln=null,hu=!1;function nc(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;hu||mo==null||mo!==ss(r)||(r=mo,"selectionStart"in r&&rd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ln&&Dn(Ln,r)||(Ln=r,r=ms(gu,"onSelect"),0<r.length&&(t=new ed("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=mo)))}function ql(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var go={animationend:ql("Animation","AnimationEnd"),animationiteration:ql("Animation","AnimationIteration"),animationstart:ql("Animation","AnimationStart"),transitionend:ql("Transition","TransitionEnd")},zi={},Rp={};Aa&&(Rp=document.createElement("div").style,"AnimationEvent"in window||(delete go.animationend.animation,delete go.animationiteration.animation,delete go.animationstart.animation),"TransitionEvent"in window||delete go.transitionend.transition);function Fs(e){if(zi[e])return zi[e];if(!go[e])return e;var t=go[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Rp)return zi[e]=t[a];return e}var Mp=Fs("animationend"),Ap=Fs("animationiteration"),Dp=Fs("animationstart"),Ep=Fs("transitionend"),Fp=new Map,lc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function or(e,t){Fp.set(e,t),zr(t,[e])}for(_l=0;_l<lc.length;_l++)Wl=lc[_l],sc=Wl.toLowerCase(),ic=Wl[0].toUpperCase()+Wl.slice(1),or(sc,"on"+ic);var Wl,sc,ic,_l;or(Mp,"onAnimationEnd");or(Ap,"onAnimationIteration");or(Dp,"onAnimationStart");or("dblclick","onDoubleClick");or("focusin","onFocus");or("focusout","onBlur");or(Ep,"onTransitionEnd");Ro("onMouseEnter",["mouseout","mouseover"]);Ro("onMouseLeave",["mouseout","mouseover"]);Ro("onPointerEnter",["pointerout","pointerover"]);Ro("onPointerLeave",["pointerout","pointerover"]);zr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));zr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));zr("onBeforeInput",["compositionend","keypress","textInput","paste"]);zr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));zr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));zr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),bx=new Set("cancel close invalid load scroll toggle".split(" ").concat(gn));function uc(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,bh(r,t,void 0,e),e.currentTarget=null}function Bp(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],i=s.instance,d=s.currentTarget;if(s=s.listener,i!==n&&o.isPropagationStopped())break e;uc(o,s,d),n=i}else for(l=0;l<r.length;l++){if(s=r[l],i=s.instance,d=s.currentTarget,s=s.listener,i!==n&&o.isPropagationStopped())break e;uc(o,s,d),n=i}}}if(us)throw e=fu,us=!1,fu=null,e}function Ne(e,t){var a=t[Su];a===void 0&&(a=t[Su]=new Set);var r=e+"__bubble";a.has(r)||(Op(t,e,2,!1),a.add(r))}function Ni(e,t,a){var r=0;t&&(r|=4),Op(a,e,r,t)}var $l="_reactListening"+Math.random().toString(36).slice(2);function En(e){if(!e[$l]){e[$l]=!0,Wc.forEach(function(a){a!=="selectionchange"&&(bx.has(a)||Ni(a,!1,e),Ni(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[$l]||(t[$l]=!0,Ni("selectionchange",!1,t))}}function Op(e,t,a,r){switch(yp(t)){case 1:var o=_h;break;case 4:o=Wh;break;default:o=Zu}a=o.bind(null,t,a,e),o=void 0,!du||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Ui(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var i=l.tag;if((i===3||i===4)&&(i=l.stateNode.containerInfo,i===o||i.nodeType===8&&i.parentNode===o))return;l=l.return}for(;s!==null;){if(l=Tr(s),l===null)return;if(i=l.tag,i===5||i===6){r=n=l;continue e}s=s.parentNode}}r=r.return}np(function(){var d=n,c=ju(a),p=[];e:{var g=Fp.get(e);if(g!==void 0){var L=ed,x=e;switch(e){case"keypress":if(Jl(a)===0)break e;case"keydown":case"keyup":L=ox;break;case"focusin":x="focus",L=Bi;break;case"focusout":x="blur",L=Bi;break;case"beforeblur":case"afterblur":L=Bi;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":L=Qf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":L=Gh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":L=sx;break;case Mp:case Ap:case Dp:L=Xh;break;case Ep:L=ux;break;case"scroll":L=$h;break;case"wheel":L=fx;break;case"copy":case"cut":case"paste":L=Yh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":L=Zf}var I=(t&4)!==0,N=!I&&e==="scroll",m=I?g!==null?g+"Capture":null:g;I=[];for(var u=d,f;u!==null;){f=u;var v=f.stateNode;if(f.tag===5&&v!==null&&(f=v,m!==null&&(v=Tn(u,m),v!=null&&I.push(Fn(u,v,f)))),N)break;u=u.return}0<I.length&&(g=new L(g,x,null,a,c),p.push({event:g,listeners:I}))}}if((t&7)===0){e:{if(g=e==="mouseover"||e==="pointerover",L=e==="mouseout"||e==="pointerout",g&&a!==iu&&(x=a.relatedTarget||a.fromElement)&&(Tr(x)||x[Da]))break e;if((L||g)&&(g=c.window===c?c:(g=c.ownerDocument)?g.defaultView||g.parentWindow:window,L?(x=a.relatedTarget||a.toElement,L=d,x=x?Tr(x):null,x!==null&&(N=Nr(x),x!==N||x.tag!==5&&x.tag!==6)&&(x=null)):(L=null,x=d),L!==x)){if(I=Qf,v="onMouseLeave",m="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(I=Zf,v="onPointerLeave",m="onPointerEnter",u="pointer"),N=L==null?g:ho(L),f=x==null?g:ho(x),g=new I(v,u+"leave",L,a,c),g.target=N,g.relatedTarget=f,v=null,Tr(c)===d&&(I=new I(m,u+"enter",x,a,c),I.target=f,I.relatedTarget=N,v=I),N=v,L&&x)t:{for(I=L,m=x,u=0,f=I;f;f=uo(f))u++;for(f=0,v=m;v;v=uo(v))f++;for(;0<u-f;)I=uo(I),u--;for(;0<f-u;)m=uo(m),f--;for(;u--;){if(I===m||m!==null&&I===m.alternate)break t;I=uo(I),m=uo(m)}I=null}else I=null;L!==null&&dc(p,g,L,I,!1),x!==null&&N!==null&&dc(p,N,x,I,!0)}}e:{if(g=d?ho(d):window,L=g.nodeName&&g.nodeName.toLowerCase(),L==="select"||L==="input"&&g.type==="file")var C=vx;else if(tc(g))if(kp)C=Ix;else{C=Lx;var k=yx}else(L=g.nodeName)&&L.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(C=Sx);if(C&&(C=C(e,d))){wp(p,C,a,c);break e}k&&k(e,g,d),e==="focusout"&&(k=g._wrapperState)&&k.controlled&&g.type==="number"&&ru(g,"number",g.value)}switch(k=d?ho(d):window,e){case"focusin":(tc(k)||k.contentEditable==="true")&&(mo=k,gu=d,Ln=null);break;case"focusout":Ln=gu=mo=null;break;case"mousedown":hu=!0;break;case"contextmenu":case"mouseup":case"dragend":hu=!1,nc(p,a,c);break;case"selectionchange":if(kx)break;case"keydown":case"keyup":nc(p,a,c)}var y;if(ad)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else po?Ip(e,a)&&(b="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(b="onCompositionStart");b&&(Sp&&a.locale!=="ko"&&(po||b!=="onCompositionStart"?b==="onCompositionEnd"&&po&&(y=Lp()):(Ga=c,Ju="value"in Ga?Ga.value:Ga.textContent,po=!0)),k=ms(d,b),0<k.length&&(b=new Yf(b,e,null,a,c),p.push({event:b,listeners:k}),y?b.data=y:(y=Cp(a),y!==null&&(b.data=y)))),(y=px?mx(e,a):gx(e,a))&&(d=ms(d,"onBeforeInput"),0<d.length&&(c=new Yf("onBeforeInput","beforeinput",null,a,c),p.push({event:c,listeners:d}),c.data=y))}Bp(p,t)})}function Fn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function ms(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Tn(e,a),n!=null&&r.unshift(Fn(e,n,o)),n=Tn(e,t),n!=null&&r.push(Fn(e,n,o))),e=e.return}return r}function uo(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function dc(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,i=s.alternate,d=s.stateNode;if(i!==null&&i===r)break;s.tag===5&&d!==null&&(s=d,o?(i=Tn(a,n),i!=null&&l.unshift(Fn(a,i,s))):o||(i=Tn(a,n),i!=null&&l.push(Fn(a,i,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var Tx=/\\r\\n?/g,Px=/\\u0000|\\uFFFD/g;function fc(e){return(typeof e=="string"?e:""+e).replace(Tx,`\n`).replace(Px,"")}function Vl(e,t,a){if(t=fc(t),fc(e)!==t&&a)throw Error(M(425))}function gs(){}var xu=null,vu=null;function yu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Lu=typeof setTimeout=="function"?setTimeout:void 0,Rx=typeof clearTimeout=="function"?clearTimeout:void 0,cc=typeof Promise=="function"?Promise:void 0,Mx=typeof queueMicrotask=="function"?queueMicrotask:typeof cc<"u"?function(e){return cc.resolve(null).then(e).catch(Ax)}:Lu;function Ax(e){setTimeout(function(){throw e})}function Hi(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),Mn(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);Mn(t)}function Ya(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function pc(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var zo=Math.random().toString(36).slice(2),ha="__reactFiber$"+zo,Bn="__reactProps$"+zo,Da="__reactContainer$"+zo,Su="__reactEvents$"+zo,Dx="__reactListeners$"+zo,Ex="__reactHandles$"+zo;function Tr(e){var t=e[ha];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Da]||a[ha]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=pc(e);e!==null;){if(a=e[ha])return a;e=pc(e)}return t}e=a,a=e.parentNode}return null}function $n(e){return e=e[ha]||e[Da],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function ho(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(M(33))}function Bs(e){return e[Bn]||null}var Iu=[],xo=-1;function nr(e){return{current:e}}function Ue(e){0>xo||(e.current=Iu[xo],Iu[xo]=null,xo--)}function Be(e,t){xo++,Iu[xo]=e.current,e.current=t}var rr={},pt=nr(rr),kt=nr(!1),Dr=rr;function Mo(e,t){var a=e.type.contextTypes;if(!a)return rr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function bt(e){return e=e.childContextTypes,e!=null}function hs(){Ue(kt),Ue(pt)}function mc(e,t,a){if(pt.current!==rr)throw Error(M(168));Be(pt,t),Be(kt,a)}function zp(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(M(108,yh(e)||"Unknown",o));return $e({},a,r)}function xs(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rr,Dr=pt.current,Be(pt,e),Be(kt,kt.current),!0}function gc(e,t,a){var r=e.stateNode;if(!r)throw Error(M(169));a?(e=zp(e,t,Dr),r.__reactInternalMemoizedMergedChildContext=e,Ue(kt),Ue(pt),Be(pt,e)):Ue(kt),Be(kt,a)}var Ta=null,Os=!1,qi=!1;function Np(e){Ta===null?Ta=[e]:Ta.push(e)}function Fx(e){Os=!0,Np(e)}function lr(){if(!qi&&Ta!==null){qi=!0;var e=0,t=be;try{var a=Ta;for(be=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}Ta=null,Os=!1}catch(o){throw Ta!==null&&(Ta=Ta.slice(e+1)),up(Xu,lr),o}finally{be=t,qi=!1}}return null}var vo=[],yo=0,vs=null,ys=0,zt=[],Nt=0,Er=null,Pa=1,Ra="";function kr(e,t){vo[yo++]=ys,vo[yo++]=vs,vs=e,ys=t}function Up(e,t,a){zt[Nt++]=Pa,zt[Nt++]=Ra,zt[Nt++]=Er,Er=e;var r=Pa;e=Ra;var o=32-aa(r)-1;r&=~(1<<o),a+=1;var n=32-aa(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,Pa=1<<32-aa(t)+o|a<<o|r,Ra=n+e}else Pa=1<<n|a<<o|r,Ra=e}function od(e){e.return!==null&&(kr(e,1),Up(e,1,0))}function nd(e){for(;e===vs;)vs=vo[--yo],vo[yo]=null,ys=vo[--yo],vo[yo]=null;for(;e===Er;)Er=zt[--Nt],zt[Nt]=null,Ra=zt[--Nt],zt[Nt]=null,Pa=zt[--Nt],zt[Nt]=null}var Dt=null,At=null,qe=!1,ta=null;function Hp(e,t){var a=Ut(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function hc(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Dt=e,At=Ya(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Dt=e,At=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=Er!==null?{id:Pa,overflow:Ra}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=Ut(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,Dt=e,At=null,!0):!1;default:return!1}}function Cu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function wu(e){if(qe){var t=At;if(t){var a=t;if(!hc(e,t)){if(Cu(e))throw Error(M(418));t=Ya(a.nextSibling);var r=Dt;t&&hc(e,t)?Hp(r,a):(e.flags=e.flags&-4097|2,qe=!1,Dt=e)}}else{if(Cu(e))throw Error(M(418));e.flags=e.flags&-4097|2,qe=!1,Dt=e}}}function xc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Dt=e}function Gl(e){if(e!==Dt)return!1;if(!qe)return xc(e),qe=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!yu(e.type,e.memoizedProps)),t&&(t=At)){if(Cu(e))throw qp(),Error(M(418));for(;t;)Hp(e,t),t=Ya(t.nextSibling)}if(xc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(M(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){At=Ya(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}At=null}}else At=Dt?Ya(e.stateNode.nextSibling):null;return!0}function qp(){for(var e=At;e;)e=Ya(e.nextSibling)}function Ao(){At=Dt=null,qe=!1}function ld(e){ta===null?ta=[e]:ta.push(e)}var Bx=Ba.ReactCurrentBatchConfig;function sn(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(M(309));var r=a.stateNode}if(!r)throw Error(M(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(M(284));if(!a._owner)throw Error(M(290,e))}return e}function Kl(e,t){throw e=Object.prototype.toString.call(t),Error(M(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function vc(e){var t=e._init;return t(e._payload)}function _p(e){function t(m,u){if(e){var f=m.deletions;f===null?(m.deletions=[u],m.flags|=16):f.push(u)}}function a(m,u){if(!e)return null;for(;u!==null;)t(m,u),u=u.sibling;return null}function r(m,u){for(m=new Map;u!==null;)u.key!==null?m.set(u.key,u):m.set(u.index,u),u=u.sibling;return m}function o(m,u){return m=tr(m,u),m.index=0,m.sibling=null,m}function n(m,u,f){return m.index=f,e?(f=m.alternate,f!==null?(f=f.index,f<u?(m.flags|=2,u):f):(m.flags|=2,u)):(m.flags|=1048576,u)}function l(m){return e&&m.alternate===null&&(m.flags|=2),m}function s(m,u,f,v){return u===null||u.tag!==6?(u=ji(f,m.mode,v),u.return=m,u):(u=o(u,f),u.return=m,u)}function i(m,u,f,v){var C=f.type;return C===co?c(m,u,f.props.children,v,f.key):u!==null&&(u.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===_a&&vc(C)===u.type)?(v=o(u,f.props),v.ref=sn(m,u,f),v.return=m,v):(v=ls(f.type,f.key,f.props,null,m.mode,v),v.ref=sn(m,u,f),v.return=m,v)}function d(m,u,f,v){return u===null||u.tag!==4||u.stateNode.containerInfo!==f.containerInfo||u.stateNode.implementation!==f.implementation?(u=Xi(f,m.mode,v),u.return=m,u):(u=o(u,f.children||[]),u.return=m,u)}function c(m,u,f,v,C){return u===null||u.tag!==7?(u=Ar(f,m.mode,v,C),u.return=m,u):(u=o(u,f),u.return=m,u)}function p(m,u,f){if(typeof u=="string"&&u!==""||typeof u=="number")return u=ji(""+u,m.mode,f),u.return=m,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case Dl:return f=ls(u.type,u.key,u.props,null,m.mode,f),f.ref=sn(m,null,u),f.return=m,f;case fo:return u=Xi(u,m.mode,f),u.return=m,u;case _a:var v=u._init;return p(m,v(u._payload),f)}if(pn(u)||rn(u))return u=Ar(u,m.mode,f,null),u.return=m,u;Kl(m,u)}return null}function g(m,u,f,v){var C=u!==null?u.key:null;if(typeof f=="string"&&f!==""||typeof f=="number")return C!==null?null:s(m,u,""+f,v);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Dl:return f.key===C?i(m,u,f,v):null;case fo:return f.key===C?d(m,u,f,v):null;case _a:return C=f._init,g(m,u,C(f._payload),v)}if(pn(f)||rn(f))return C!==null?null:c(m,u,f,v,null);Kl(m,f)}return null}function L(m,u,f,v,C){if(typeof v=="string"&&v!==""||typeof v=="number")return m=m.get(f)||null,s(u,m,""+v,C);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case Dl:return m=m.get(v.key===null?f:v.key)||null,i(u,m,v,C);case fo:return m=m.get(v.key===null?f:v.key)||null,d(u,m,v,C);case _a:var k=v._init;return L(m,u,f,k(v._payload),C)}if(pn(v)||rn(v))return m=m.get(f)||null,c(u,m,v,C,null);Kl(u,v)}return null}function x(m,u,f,v){for(var C=null,k=null,y=u,b=u=0,z=null;y!==null&&b<f.length;b++){y.index>b?(z=y,y=null):z=y.sibling;var U=g(m,y,f[b],v);if(U===null){y===null&&(y=z);break}e&&y&&U.alternate===null&&t(m,y),u=n(U,u,b),k===null?C=U:k.sibling=U,k=U,y=z}if(b===f.length)return a(m,y),qe&&kr(m,b),C;if(y===null){for(;b<f.length;b++)y=p(m,f[b],v),y!==null&&(u=n(y,u,b),k===null?C=y:k.sibling=y,k=y);return qe&&kr(m,b),C}for(y=r(m,y);b<f.length;b++)z=L(y,m,b,f[b],v),z!==null&&(e&&z.alternate!==null&&y.delete(z.key===null?b:z.key),u=n(z,u,b),k===null?C=z:k.sibling=z,k=z);return e&&y.forEach(function(B){return t(m,B)}),qe&&kr(m,b),C}function I(m,u,f,v){var C=rn(f);if(typeof C!="function")throw Error(M(150));if(f=C.call(f),f==null)throw Error(M(151));for(var k=C=null,y=u,b=u=0,z=null,U=f.next();y!==null&&!U.done;b++,U=f.next()){y.index>b?(z=y,y=null):z=y.sibling;var B=g(m,y,U.value,v);if(B===null){y===null&&(y=z);break}e&&y&&B.alternate===null&&t(m,y),u=n(B,u,b),k===null?C=B:k.sibling=B,k=B,y=z}if(U.done)return a(m,y),qe&&kr(m,b),C;if(y===null){for(;!U.done;b++,U=f.next())U=p(m,U.value,v),U!==null&&(u=n(U,u,b),k===null?C=U:k.sibling=U,k=U);return qe&&kr(m,b),C}for(y=r(m,y);!U.done;b++,U=f.next())U=L(y,m,b,U.value,v),U!==null&&(e&&U.alternate!==null&&y.delete(U.key===null?b:U.key),u=n(U,u,b),k===null?C=U:k.sibling=U,k=U);return e&&y.forEach(function(J){return t(m,J)}),qe&&kr(m,b),C}function N(m,u,f,v){if(typeof f=="object"&&f!==null&&f.type===co&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Dl:e:{for(var C=f.key,k=u;k!==null;){if(k.key===C){if(C=f.type,C===co){if(k.tag===7){a(m,k.sibling),u=o(k,f.props.children),u.return=m,m=u;break e}}else if(k.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===_a&&vc(C)===k.type){a(m,k.sibling),u=o(k,f.props),u.ref=sn(m,k,f),u.return=m,m=u;break e}a(m,k);break}else t(m,k);k=k.sibling}f.type===co?(u=Ar(f.props.children,m.mode,v,f.key),u.return=m,m=u):(v=ls(f.type,f.key,f.props,null,m.mode,v),v.ref=sn(m,u,f),v.return=m,m=v)}return l(m);case fo:e:{for(k=f.key;u!==null;){if(u.key===k)if(u.tag===4&&u.stateNode.containerInfo===f.containerInfo&&u.stateNode.implementation===f.implementation){a(m,u.sibling),u=o(u,f.children||[]),u.return=m,m=u;break e}else{a(m,u);break}else t(m,u);u=u.sibling}u=Xi(f,m.mode,v),u.return=m,m=u}return l(m);case _a:return k=f._init,N(m,u,k(f._payload),v)}if(pn(f))return x(m,u,f,v);if(rn(f))return I(m,u,f,v);Kl(m,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,u!==null&&u.tag===6?(a(m,u.sibling),u=o(u,f),u.return=m,m=u):(a(m,u),u=ji(f,m.mode,v),u.return=m,m=u),l(m)):a(m,u)}return N}var Do=_p(!0),Wp=_p(!1),Ls=nr(null),Ss=null,Lo=null,sd=null;function id(){sd=Lo=Ss=null}function ud(e){var t=Ls.current;Ue(Ls),e._currentValue=t}function ku(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function To(e,t){Ss=e,sd=Lo=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(wt=!0),e.firstContext=null)}function qt(e){var t=e._currentValue;if(sd!==e)if(e={context:e,memoizedValue:t,next:null},Lo===null){if(Ss===null)throw Error(M(308));Lo=e,Ss.dependencies={lanes:0,firstContext:e}}else Lo=Lo.next=e;return t}var Pr=null;function dd(e){Pr===null?Pr=[e]:Pr.push(e)}function $p(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,dd(t)):(a.next=o.next,o.next=a),t.interleaved=a,Ea(e,r)}function Ea(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var Wa=!1;function fd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Vp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ma(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Za(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ve&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ea(e,a)}return o=r.interleaved,o===null?(t.next=t,dd(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ea(e,a)}function es(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Qu(e,a)}}function yc(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Is(e,t,a,r){var o=e.updateQueue;Wa=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var i=s,d=i.next;i.next=null,l===null?n=d:l.next=d,l=i;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==l&&(s===null?c.firstBaseUpdate=d:s.next=d,c.lastBaseUpdate=i))}if(n!==null){var p=o.baseState;l=0,c=d=i=null,s=n;do{var g=s.lane,L=s.eventTime;if((r&g)===g){c!==null&&(c=c.next={eventTime:L,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var x=e,I=s;switch(g=t,L=a,I.tag){case 1:if(x=I.payload,typeof x=="function"){p=x.call(L,p,g);break e}p=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=I.payload,g=typeof x=="function"?x.call(L,p,g):x,g==null)break e;p=$e({},p,g);break e;case 2:Wa=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,g=o.effects,g===null?o.effects=[s]:g.push(s))}else L={eventTime:L,lane:g,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(d=c=L,i=p):c=c.next=L,l|=g;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;g=s,s=g.next,g.next=null,o.lastBaseUpdate=g,o.shared.pending=null}}while(!0);if(c===null&&(i=p),o.baseState=i,o.firstBaseUpdate=d,o.lastBaseUpdate=c,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);Br|=l,e.lanes=l,e.memoizedState=p}}function Lc(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(M(191,o));o.call(r)}}}var Vn={},va=nr(Vn),On=nr(Vn),zn=nr(Vn);function Rr(e){if(e===Vn)throw Error(M(174));return e}function cd(e,t){switch(Be(zn,t),Be(On,e),Be(va,Vn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:nu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=nu(t,e)}Ue(va),Be(va,t)}function Eo(){Ue(va),Ue(On),Ue(zn)}function Gp(e){Rr(zn.current);var t=Rr(va.current),a=nu(t,e.type);t!==a&&(Be(On,e),Be(va,a))}function pd(e){On.current===e&&(Ue(va),Ue(On))}var _e=nr(0);function Cs(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _i=[];function md(){for(var e=0;e<_i.length;e++)_i[e]._workInProgressVersionPrimary=null;_i.length=0}var ts=Ba.ReactCurrentDispatcher,Wi=Ba.ReactCurrentBatchConfig,Fr=0,We=null,Je=null,tt=null,ws=!1,Sn=!1,Nn=0,Ox=0;function dt(){throw Error(M(321))}function gd(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!oa(e[a],t[a]))return!1;return!0}function hd(e,t,a,r,o,n){if(Fr=n,We=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ts.current=e===null||e.memoizedState===null?Hx:qx,e=a(r,o),Sn){n=0;do{if(Sn=!1,Nn=0,25<=n)throw Error(M(301));n+=1,tt=Je=null,t.updateQueue=null,ts.current=_x,e=a(r,o)}while(Sn)}if(ts.current=ks,t=Je!==null&&Je.next!==null,Fr=0,tt=Je=We=null,ws=!1,t)throw Error(M(300));return e}function xd(){var e=Nn!==0;return Nn=0,e}function ga(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return tt===null?We.memoizedState=tt=e:tt=tt.next=e,tt}function _t(){if(Je===null){var e=We.alternate;e=e!==null?e.memoizedState:null}else e=Je.next;var t=tt===null?We.memoizedState:tt.next;if(t!==null)tt=t,Je=e;else{if(e===null)throw Error(M(310));Je=e,e={memoizedState:Je.memoizedState,baseState:Je.baseState,baseQueue:Je.baseQueue,queue:Je.queue,next:null},tt===null?We.memoizedState=tt=e:tt=tt.next=e}return tt}function Un(e,t){return typeof t=="function"?t(e):t}function $i(e){var t=_t(),a=t.queue;if(a===null)throw Error(M(311));a.lastRenderedReducer=e;var r=Je,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,i=null,d=n;do{var c=d.lane;if((Fr&c)===c)i!==null&&(i=i.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var p={lane:c,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};i===null?(s=i=p,l=r):i=i.next=p,We.lanes|=c,Br|=c}d=d.next}while(d!==null&&d!==n);i===null?l=r:i.next=s,oa(r,t.memoizedState)||(wt=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=i,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,We.lanes|=n,Br|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Vi(e){var t=_t(),a=t.queue;if(a===null)throw Error(M(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);oa(n,t.memoizedState)||(wt=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function Kp(){}function jp(e,t){var a=We,r=_t(),o=t(),n=!oa(r.memoizedState,o);if(n&&(r.memoizedState=o,wt=!0),r=r.queue,vd(Yp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||tt!==null&&tt.memoizedState.tag&1){if(a.flags|=2048,Hn(9,Qp.bind(null,a,r,o,t),void 0,null),at===null)throw Error(M(349));(Fr&30)!==0||Xp(a,t,o)}return o}function Xp(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=We.updateQueue,t===null?(t={lastEffect:null,stores:null},We.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Qp(e,t,a,r){t.value=a,t.getSnapshot=r,Zp(t)&&Jp(e)}function Yp(e,t,a){return a(function(){Zp(t)&&Jp(e)})}function Zp(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!oa(e,a)}catch{return!0}}function Jp(e){var t=Ea(e,1);t!==null&&ra(t,e,1,-1)}function Sc(e){var t=ga();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:e},t.queue=e,e=e.dispatch=Ux.bind(null,We,e),[t.memoizedState,e]}function Hn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=We.updateQueue,t===null?(t={lastEffect:null,stores:null},We.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function em(){return _t().memoizedState}function as(e,t,a,r){var o=ga();We.flags|=e,o.memoizedState=Hn(1|t,a,void 0,r===void 0?null:r)}function zs(e,t,a,r){var o=_t();r=r===void 0?null:r;var n=void 0;if(Je!==null){var l=Je.memoizedState;if(n=l.destroy,r!==null&&gd(r,l.deps)){o.memoizedState=Hn(t,a,n,r);return}}We.flags|=e,o.memoizedState=Hn(1|t,a,n,r)}function Ic(e,t){return as(8390656,8,e,t)}function vd(e,t){return zs(2048,8,e,t)}function tm(e,t){return zs(4,2,e,t)}function am(e,t){return zs(4,4,e,t)}function rm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function om(e,t,a){return a=a!=null?a.concat([e]):null,zs(4,4,rm.bind(null,t,e),a)}function yd(){}function nm(e,t){var a=_t();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&gd(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function lm(e,t){var a=_t();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&gd(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function sm(e,t,a){return(Fr&21)===0?(e.baseState&&(e.baseState=!1,wt=!0),e.memoizedState=a):(oa(a,t)||(a=cp(),We.lanes|=a,Br|=a,e.baseState=!0),t)}function zx(e,t){var a=be;be=a!==0&&4>a?a:4,e(!0);var r=Wi.transition;Wi.transition={};try{e(!1),t()}finally{be=a,Wi.transition=r}}function im(){return _t().memoizedState}function Nx(e,t,a){var r=er(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},um(e))dm(t,a);else if(a=$p(e,t,a,r),a!==null){var o=xt();ra(a,e,r,o),fm(a,t,r)}}function Ux(e,t,a){var r=er(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(um(e))dm(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,oa(s,l)){var i=t.interleaved;i===null?(o.next=o,dd(t)):(o.next=i.next,i.next=o),t.interleaved=o;return}}catch{}finally{}a=$p(e,t,o,r),a!==null&&(o=xt(),ra(a,e,r,o),fm(a,t,r))}}function um(e){var t=e.alternate;return e===We||t!==null&&t===We}function dm(e,t){Sn=ws=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function fm(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Qu(e,a)}}var ks={readContext:qt,useCallback:dt,useContext:dt,useEffect:dt,useImperativeHandle:dt,useInsertionEffect:dt,useLayoutEffect:dt,useMemo:dt,useReducer:dt,useRef:dt,useState:dt,useDebugValue:dt,useDeferredValue:dt,useTransition:dt,useMutableSource:dt,useSyncExternalStore:dt,useId:dt,unstable_isNewReconciler:!1},Hx={readContext:qt,useCallback:function(e,t){return ga().memoizedState=[e,t===void 0?null:t],e},useContext:qt,useEffect:Ic,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,as(4194308,4,rm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){return as(4,2,e,t)},useMemo:function(e,t){var a=ga();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=ga();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Nx.bind(null,We,e),[r.memoizedState,e]},useRef:function(e){var t=ga();return e={current:e},t.memoizedState=e},useState:Sc,useDebugValue:yd,useDeferredValue:function(e){return ga().memoizedState=e},useTransition:function(){var e=Sc(!1),t=e[0];return e=zx.bind(null,e[1]),ga().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=We,o=ga();if(qe){if(a===void 0)throw Error(M(407));a=a()}else{if(a=t(),at===null)throw Error(M(349));(Fr&30)!==0||Xp(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,Ic(Yp.bind(null,r,n,e),[e]),r.flags|=2048,Hn(9,Qp.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=ga(),t=at.identifierPrefix;if(qe){var a=Ra,r=Pa;a=(r&~(1<<32-aa(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=Nn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=Ox++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},qx={readContext:qt,useCallback:nm,useContext:qt,useEffect:vd,useImperativeHandle:om,useInsertionEffect:tm,useLayoutEffect:am,useMemo:lm,useReducer:$i,useRef:em,useState:function(){return $i(Un)},useDebugValue:yd,useDeferredValue:function(e){var t=_t();return sm(t,Je.memoizedState,e)},useTransition:function(){var e=$i(Un)[0],t=_t().memoizedState;return[e,t]},useMutableSource:Kp,useSyncExternalStore:jp,useId:im,unstable_isNewReconciler:!1},_x={readContext:qt,useCallback:nm,useContext:qt,useEffect:vd,useImperativeHandle:om,useInsertionEffect:tm,useLayoutEffect:am,useMemo:lm,useReducer:Vi,useRef:em,useState:function(){return Vi(Un)},useDebugValue:yd,useDeferredValue:function(e){var t=_t();return Je===null?t.memoizedState=e:sm(t,Je.memoizedState,e)},useTransition:function(){var e=Vi(Un)[0],t=_t().memoizedState;return[e,t]},useMutableSource:Kp,useSyncExternalStore:jp,useId:im,unstable_isNewReconciler:!1};function Jt(e,t){if(e&&e.defaultProps){t=$e({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function bu(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:$e({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Ns={isMounted:function(e){return(e=e._reactInternals)?Nr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=xt(),o=er(e),n=Ma(r,o);n.payload=t,a!=null&&(n.callback=a),t=Za(e,n,o),t!==null&&(ra(t,e,o,r),es(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=xt(),o=er(e),n=Ma(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=Za(e,n,o),t!==null&&(ra(t,e,o,r),es(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=xt(),r=er(e),o=Ma(a,r);o.tag=2,t!=null&&(o.callback=t),t=Za(e,o,r),t!==null&&(ra(t,e,r,a),es(t,e,r))}};function Cc(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!Dn(a,r)||!Dn(o,n):!0}function cm(e,t,a){var r=!1,o=rr,n=t.contextType;return typeof n=="object"&&n!==null?n=qt(n):(o=bt(t)?Dr:pt.current,r=t.contextTypes,n=(r=r!=null)?Mo(e,o):rr),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ns,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function wc(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Ns.enqueueReplaceState(t,t.state,null)}function Tu(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},fd(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=qt(n):(n=bt(t)?Dr:pt.current,o.context=Mo(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(bu(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&Ns.enqueueReplaceState(o,o.state,null),Is(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Fo(e,t){try{var a="",r=t;do a+=vh(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function Gi(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Pu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var Wx=typeof WeakMap=="function"?WeakMap:Map;function pm(e,t,a){a=Ma(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Ts||(Ts=!0,Nu=r),Pu(e,t)},a}function mm(e,t,a){a=Ma(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Pu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Pu(e,t),typeof r!="function"&&(Ja===null?Ja=new Set([this]):Ja.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function kc(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new Wx;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=rv.bind(null,e,t,a),t.then(e,e))}function bc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Tc(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=Ma(-1,1),t.tag=2,Za(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var $x=Ba.ReactCurrentOwner,wt=!1;function ht(e,t,a,r){t.child=e===null?Wp(t,null,a,r):Do(t,e.child,a,r)}function Pc(e,t,a,r,o){a=a.render;var n=t.ref;return To(t,o),r=hd(e,t,a,r,n,o),a=xd(),e!==null&&!wt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Fa(e,t,o)):(qe&&a&&od(t),t.flags|=1,ht(e,t,r,o),t.child)}function Rc(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Td(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,gm(e,t,n,r,o)):(e=ls(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:Dn,a(l,r)&&e.ref===t.ref)return Fa(e,t,o)}return t.flags|=1,e=tr(n,r),e.ref=t.ref,e.return=t,t.child=e}function gm(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(Dn(n,r)&&e.ref===t.ref)if(wt=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(wt=!0);else return t.lanes=e.lanes,Fa(e,t,o)}return Ru(e,t,a,r,o)}function hm(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Be(Io,Mt),Mt|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Be(Io,Mt),Mt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,Be(Io,Mt),Mt|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,Be(Io,Mt),Mt|=r;return ht(e,t,o,a),t.child}function xm(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Ru(e,t,a,r,o){var n=bt(a)?Dr:pt.current;return n=Mo(t,n),To(t,o),a=hd(e,t,a,r,n,o),r=xd(),e!==null&&!wt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Fa(e,t,o)):(qe&&r&&od(t),t.flags|=1,ht(e,t,a,o),t.child)}function Mc(e,t,a,r,o){if(bt(a)){var n=!0;xs(t)}else n=!1;if(To(t,o),t.stateNode===null)rs(e,t),cm(t,a,r),Tu(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var i=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=qt(d):(d=bt(a)?Dr:pt.current,d=Mo(t,d));var c=a.getDerivedStateFromProps,p=typeof c=="function"||typeof l.getSnapshotBeforeUpdate=="function";p||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||i!==d)&&wc(t,l,r,d),Wa=!1;var g=t.memoizedState;l.state=g,Is(t,r,l,o),i=t.memoizedState,s!==r||g!==i||kt.current||Wa?(typeof c=="function"&&(bu(t,a,c,r),i=t.memoizedState),(s=Wa||Cc(t,a,s,r,g,i,d))?(p||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=i),l.props=r,l.state=i,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,Vp(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:Jt(t.type,s),l.props=d,p=t.pendingProps,g=l.context,i=a.contextType,typeof i=="object"&&i!==null?i=qt(i):(i=bt(a)?Dr:pt.current,i=Mo(t,i));var L=a.getDerivedStateFromProps;(c=typeof L=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==p||g!==i)&&wc(t,l,r,i),Wa=!1,g=t.memoizedState,l.state=g,Is(t,r,l,o);var x=t.memoizedState;s!==p||g!==x||kt.current||Wa?(typeof L=="function"&&(bu(t,a,L,r),x=t.memoizedState),(d=Wa||Cc(t,a,d,r,g,x,i)||!1)?(c||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,x,i),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,x,i)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=x),l.props=r,l.state=x,l.context=i,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),r=!1)}return Mu(e,t,a,r,n,o)}function Mu(e,t,a,r,o,n){xm(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&gc(t,a,!1),Fa(e,t,n);r=t.stateNode,$x.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Do(t,e.child,null,n),t.child=Do(t,null,s,n)):ht(e,t,s,n),t.memoizedState=r.state,o&&gc(t,a,!0),t.child}function vm(e){var t=e.stateNode;t.pendingContext?mc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&mc(e,t.context,!1),cd(e,t.containerInfo)}function Ac(e,t,a,r,o){return Ao(),ld(o),t.flags|=256,ht(e,t,a,r),t.child}var Au={dehydrated:null,treeContext:null,retryLane:0};function Du(e){return{baseLanes:e,cachePool:null,transitions:null}}function ym(e,t,a){var r=t.pendingProps,o=_e.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),Be(_e,o&1),e===null)return wu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=qs(l,r,0,null),e=Ar(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=Du(a),t.memoizedState=Au,e):Ld(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Vx(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var i={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=i,t.deletions=null):(r=tr(o,i),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=tr(s,n):(n=Ar(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?Du(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=Au,r}return n=e.child,e=n.sibling,r=tr(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function Ld(e,t){return t=qs({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jl(e,t,a,r){return r!==null&&ld(r),Do(t,e.child,null,a),e=Ld(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=Gi(Error(M(422))),jl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=qs({mode:"visible",children:r.children},o,0,null),n=Ar(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Do(t,e.child,null,l),t.child.memoizedState=Du(l),t.memoizedState=Au,n);if((t.mode&1)===0)return jl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(M(419)),r=Gi(n,r,void 0),jl(e,t,l,r)}if(s=(l&e.childLanes)!==0,wt||s){if(r=at,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,Ea(e,o),ra(r,e,o,-1))}return bd(),r=Gi(Error(M(421))),jl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=ov.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,At=Ya(o.nextSibling),Dt=t,qe=!0,ta=null,e!==null&&(zt[Nt++]=Pa,zt[Nt++]=Ra,zt[Nt++]=Er,Pa=e.id,Ra=e.overflow,Er=t),t=Ld(t,r.children),t.flags|=4096,t)}function Dc(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ku(e.return,t,a)}function Ki(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function Lm(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(ht(e,t,r.children,a),r=_e.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Dc(e,a,t);else if(e.tag===19)Dc(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Be(_e,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Cs(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),Ki(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Cs(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}Ki(t,!0,a,null,n);break;case"together":Ki(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function rs(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Fa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Br|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(M(153));if(t.child!==null){for(e=t.child,a=tr(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=tr(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Gx(e,t,a){switch(t.tag){case 3:vm(t),Ao();break;case 5:Gp(t);break;case 1:bt(t.type)&&xs(t);break;case 4:cd(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;Be(Ls,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(Be(_e,_e.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?ym(e,t,a):(Be(_e,_e.current&1),e=Fa(e,t,a),e!==null?e.sibling:null);Be(_e,_e.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Lm(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Be(_e,_e.current),r)break;return null;case 22:case 23:return t.lanes=0,hm(e,t,a)}return Fa(e,t,a)}var Sm,Eu,Im,Cm;Sm=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};Eu=function(){};Im=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Rr(va.current);var n=null;switch(a){case"input":o=tu(e,o),r=tu(e,r),n=[];break;case"select":o=$e({},o,{value:void 0}),r=$e({},r,{value:void 0}),n=[];break;case"textarea":o=ou(e,o),r=ou(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=gs)}lu(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(kn.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var i=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&i!==s&&(i!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||i&&i.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in i)i.hasOwnProperty(l)&&s[l]!==i[l]&&(a||(a={}),a[l]=i[l])}else a||(n||(n=[]),n.push(d,a)),a=i;else d==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,s=s?s.__html:void 0,i!=null&&s!==i&&(n=n||[]).push(d,i)):d==="children"?typeof i!="string"&&typeof i!="number"||(n=n||[]).push(d,""+i):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(kn.hasOwnProperty(d)?(i!=null&&d==="onScroll"&&Ne("scroll",e),n||s===i||(n=[])):(n=n||[]).push(d,i))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};Cm=function(e,t,a,r){a!==r&&(t.flags|=4)};function un(e,t){if(!qe)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ft(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function Kx(e,t,a){var r=t.pendingProps;switch(nd(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ft(t),null;case 1:return bt(t.type)&&hs(),ft(t),null;case 3:return r=t.stateNode,Eo(),Ue(kt),Ue(pt),md(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Gl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,ta!==null&&(qu(ta),ta=null))),Eu(e,t),ft(t),null;case 5:pd(t);var o=Rr(zn.current);if(a=t.type,e!==null&&t.stateNode!=null)Im(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(M(166));return ft(t),null}if(e=Rr(va.current),Gl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[ha]=t,r[Bn]=n,e=(t.mode&1)!==0,a){case"dialog":Ne("cancel",r),Ne("close",r);break;case"iframe":case"object":case"embed":Ne("load",r);break;case"video":case"audio":for(o=0;o<gn.length;o++)Ne(gn[o],r);break;case"source":Ne("error",r);break;case"img":case"image":case"link":Ne("error",r),Ne("load",r);break;case"details":Ne("toggle",r);break;case"input":Hf(r,n),Ne("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Ne("invalid",r);break;case"textarea":_f(r,n),Ne("invalid",r)}lu(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&Vl(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&Vl(r.textContent,s,e),o=["children",""+s]):kn.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Ne("scroll",r)}switch(a){case"input":El(r),qf(r,n,!0);break;case"textarea":El(r),Wf(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=gs)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Yc(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[ha]=t,e[Bn]=r,Sm(e,t,!1,!1),t.stateNode=e;e:{switch(l=su(a,r),a){case"dialog":Ne("cancel",e),Ne("close",e),o=r;break;case"iframe":case"object":case"embed":Ne("load",e),o=r;break;case"video":case"audio":for(o=0;o<gn.length;o++)Ne(gn[o],e);o=r;break;case"source":Ne("error",e),o=r;break;case"img":case"image":case"link":Ne("error",e),Ne("load",e),o=r;break;case"details":Ne("toggle",e),o=r;break;case"input":Hf(e,r),o=tu(e,r),Ne("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=$e({},r,{value:void 0}),Ne("invalid",e);break;case"textarea":_f(e,r),o=ou(e,r),Ne("invalid",e);break;default:o=r}lu(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var i=s[n];n==="style"?ep(e,i):n==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,i!=null&&Zc(e,i)):n==="children"?typeof i=="string"?(a!=="textarea"||i!=="")&&bn(e,i):typeof i=="number"&&bn(e,""+i):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(kn.hasOwnProperty(n)?i!=null&&n==="onScroll"&&Ne("scroll",e):i!=null&&$u(e,n,i,l))}switch(a){case"input":El(e),qf(e,r,!1);break;case"textarea":El(e),Wf(e);break;case"option":r.value!=null&&e.setAttribute("value",""+ar(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?Co(e,!!r.multiple,n,!1):r.defaultValue!=null&&Co(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=gs)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ft(t),null;case 6:if(e&&t.stateNode!=null)Cm(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(M(166));if(a=Rr(zn.current),Rr(va.current),Gl(t)){if(r=t.stateNode,a=t.memoizedProps,r[ha]=t,(n=r.nodeValue!==a)&&(e=Dt,e!==null))switch(e.tag){case 3:Vl(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Vl(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[ha]=t,t.stateNode=r}return ft(t),null;case 13:if(Ue(_e),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(qe&&At!==null&&(t.mode&1)!==0&&(t.flags&128)===0)qp(),Ao(),t.flags|=98560,n=!1;else if(n=Gl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(M(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(M(317));n[ha]=t}else Ao(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ft(t),n=!1}else ta!==null&&(qu(ta),ta=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(_e.current&1)!==0?et===0&&(et=3):bd())),t.updateQueue!==null&&(t.flags|=4),ft(t),null);case 4:return Eo(),Eu(e,t),e===null&&En(t.stateNode.containerInfo),ft(t),null;case 10:return ud(t.type._context),ft(t),null;case 17:return bt(t.type)&&hs(),ft(t),null;case 19:if(Ue(_e),n=t.memoizedState,n===null)return ft(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)un(n,!1);else{if(et!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=Cs(e),l!==null){for(t.flags|=128,un(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return Be(_e,_e.current&1|2),t.child}e=e.sibling}n.tail!==null&&je()>Bo&&(t.flags|=128,r=!0,un(n,!1),t.lanes=4194304)}else{if(!r)if(e=Cs(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),un(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!qe)return ft(t),null}else 2*je()-n.renderingStartTime>Bo&&a!==1073741824&&(t.flags|=128,r=!0,un(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=je(),t.sibling=null,a=_e.current,Be(_e,r?a&1|2:a&1),t):(ft(t),null);case 22:case 23:return kd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Mt&1073741824)!==0&&(ft(t),t.subtreeFlags&6&&(t.flags|=8192)):ft(t),null;case 24:return null;case 25:return null}throw Error(M(156,t.tag))}function jx(e,t){switch(nd(t),t.tag){case 1:return bt(t.type)&&hs(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Eo(),Ue(kt),Ue(pt),md(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return pd(t),null;case 13:if(Ue(_e),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(M(340));Ao()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ue(_e),null;case 4:return Eo(),null;case 10:return ud(t.type._context),null;case 22:case 23:return kd(),null;case 24:return null;default:return null}}var Xl=!1,ct=!1,Xx=typeof WeakSet=="function"?WeakSet:Set,$=null;function So(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Ve(e,t,r)}else a.current=null}function Fu(e,t,a){try{a()}catch(r){Ve(e,t,r)}}var Ec=!1;function Qx(e,t){if(xu=cs,e=Pp(),rd(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,i=-1,d=0,c=0,p=e,g=null;t:for(;;){for(var L;p!==a||o!==0&&p.nodeType!==3||(s=l+o),p!==n||r!==0&&p.nodeType!==3||(i=l+r),p.nodeType===3&&(l+=p.nodeValue.length),(L=p.firstChild)!==null;)g=p,p=L;for(;;){if(p===e)break t;if(g===a&&++d===o&&(s=l),g===n&&++c===r&&(i=l),(L=p.nextSibling)!==null)break;p=g,g=p.parentNode}p=L}a=s===-1||i===-1?null:{start:s,end:i}}else a=null}a=a||{start:0,end:0}}else a=null;for(vu={focusedElem:e,selectionRange:a},cs=!1,$=t;$!==null;)if(t=$,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$=e;else for(;$!==null;){t=$;try{var x=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var I=x.memoizedProps,N=x.memoizedState,m=t.stateNode,u=m.getSnapshotBeforeUpdate(t.elementType===t.type?I:Jt(t.type,I),N);m.__reactInternalSnapshotBeforeUpdate=u}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(M(163))}}catch(v){Ve(t,t.return,v)}if(e=t.sibling,e!==null){e.return=t.return,$=e;break}$=t.return}return x=Ec,Ec=!1,x}function In(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&Fu(t,a,n)}o=o.next}while(o!==r)}}function Us(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function Bu(e){var t=e.ref;if(t!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof t=="function"?t(e):t.current=e}}function wm(e){var t=e.alternate;t!==null&&(e.alternate=null,wm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ha],delete t[Bn],delete t[Su],delete t[Dx],delete t[Ex])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function km(e){return e.tag===5||e.tag===3||e.tag===4}function Fc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||km(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ou(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=gs));else if(r!==4&&(e=e.child,e!==null))for(Ou(e,t,a),e=e.sibling;e!==null;)Ou(e,t,a),e=e.sibling}function zu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(zu(e,t,a),e=e.sibling;e!==null;)zu(e,t,a),e=e.sibling}var nt=null,ea=!1;function qa(e,t,a){for(a=a.child;a!==null;)bm(e,t,a),a=a.sibling}function bm(e,t,a){if(xa&&typeof xa.onCommitFiberUnmount=="function")try{xa.onCommitFiberUnmount(As,a)}catch{}switch(a.tag){case 5:ct||So(a,t);case 6:var r=nt,o=ea;nt=null,qa(e,t,a),nt=r,ea=o,nt!==null&&(ea?(e=nt,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):nt.removeChild(a.stateNode));break;case 18:nt!==null&&(ea?(e=nt,a=a.stateNode,e.nodeType===8?Hi(e.parentNode,a):e.nodeType===1&&Hi(e,a),Mn(e)):Hi(nt,a.stateNode));break;case 4:r=nt,o=ea,nt=a.stateNode.containerInfo,ea=!0,qa(e,t,a),nt=r,ea=o;break;case 0:case 11:case 14:case 15:if(!ct&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&Fu(a,t,l),o=o.next}while(o!==r)}qa(e,t,a);break;case 1:if(!ct&&(So(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Ve(a,t,s)}qa(e,t,a);break;case 21:qa(e,t,a);break;case 22:a.mode&1?(ct=(r=ct)||a.memoizedState!==null,qa(e,t,a),ct=r):qa(e,t,a);break;default:qa(e,t,a)}}function Bc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new Xx),t.forEach(function(r){var o=nv.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function Zt(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:nt=s.stateNode,ea=!1;break e;case 3:nt=s.stateNode.containerInfo,ea=!0;break e;case 4:nt=s.stateNode.containerInfo,ea=!0;break e}s=s.return}if(nt===null)throw Error(M(160));bm(n,l,o),nt=null,ea=!1;var i=o.alternate;i!==null&&(i.return=null),o.return=null}catch(d){Ve(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Tm(t,e),t=t.sibling}function Tm(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Zt(t,e),ma(e),r&4){try{In(3,e,e.return),Us(3,e)}catch(I){Ve(e,e.return,I)}try{In(5,e,e.return)}catch(I){Ve(e,e.return,I)}}break;case 1:Zt(t,e),ma(e),r&512&&a!==null&&So(a,a.return);break;case 5:if(Zt(t,e),ma(e),r&512&&a!==null&&So(a,a.return),e.flags&32){var o=e.stateNode;try{bn(o,"")}catch(I){Ve(e,e.return,I)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,i=e.updateQueue;if(e.updateQueue=null,i!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&Xc(o,n),su(s,l);var d=su(s,n);for(l=0;l<i.length;l+=2){var c=i[l],p=i[l+1];c==="style"?ep(o,p):c==="dangerouslySetInnerHTML"?Zc(o,p):c==="children"?bn(o,p):$u(o,c,p,d)}switch(s){case"input":au(o,n);break;case"textarea":Qc(o,n);break;case"select":var g=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var L=n.value;L!=null?Co(o,!!n.multiple,L,!1):g!==!!n.multiple&&(n.defaultValue!=null?Co(o,!!n.multiple,n.defaultValue,!0):Co(o,!!n.multiple,n.multiple?[]:"",!1))}o[Bn]=n}catch(I){Ve(e,e.return,I)}}break;case 6:if(Zt(t,e),ma(e),r&4){if(e.stateNode===null)throw Error(M(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(I){Ve(e,e.return,I)}}break;case 3:if(Zt(t,e),ma(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{Mn(t.containerInfo)}catch(I){Ve(e,e.return,I)}break;case 4:Zt(t,e),ma(e);break;case 13:Zt(t,e),ma(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Cd=je())),r&4&&Bc(e);break;case 22:if(c=a!==null&&a.memoizedState!==null,e.mode&1?(ct=(d=ct)||c,Zt(t,e),ct=d):Zt(t,e),ma(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!c&&(e.mode&1)!==0)for($=e,c=e.child;c!==null;){for(p=$=c;$!==null;){switch(g=$,L=g.child,g.tag){case 0:case 11:case 14:case 15:In(4,g,g.return);break;case 1:So(g,g.return);var x=g.stateNode;if(typeof x.componentWillUnmount=="function"){r=g,a=g.return;try{t=r,x.props=t.memoizedProps,x.state=t.memoizedState,x.componentWillUnmount()}catch(I){Ve(r,a,I)}}break;case 5:So(g,g.return);break;case 22:if(g.memoizedState!==null){zc(p);continue}}L!==null?(L.return=g,$=L):zc(p)}c=c.sibling}e:for(c=null,p=e;;){if(p.tag===5){if(c===null){c=p;try{o=p.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=p.stateNode,i=p.memoizedProps.style,l=i!=null&&i.hasOwnProperty("display")?i.display:null,s.style.display=Jc("display",l))}catch(I){Ve(e,e.return,I)}}}else if(p.tag===6){if(c===null)try{p.stateNode.nodeValue=d?"":p.memoizedProps}catch(I){Ve(e,e.return,I)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;c===p&&(c=null),p=p.return}c===p&&(c=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:Zt(t,e),ma(e),r&4&&Bc(e);break;case 21:break;default:Zt(t,e),ma(e)}}function ma(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(km(a)){var r=a;break e}a=a.return}throw Error(M(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(bn(o,""),r.flags&=-33);var n=Fc(e);zu(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Fc(e);Ou(e,s,l);break;default:throw Error(M(161))}}catch(i){Ve(e,e.return,i)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Yx(e,t,a){$=e,Pm(e,t,a)}function Pm(e,t,a){for(var r=(e.mode&1)!==0;$!==null;){var o=$,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||Xl;if(!l){var s=o.alternate,i=s!==null&&s.memoizedState!==null||ct;s=Xl;var d=ct;if(Xl=l,(ct=i)&&!d)for($=o;$!==null;)l=$,i=l.child,l.tag===22&&l.memoizedState!==null?Nc(o):i!==null?(i.return=l,$=i):Nc(o);for(;n!==null;)$=n,Pm(n,t,a),n=n.sibling;$=o,Xl=s,ct=d}Oc(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,$=n):Oc(e,t,a)}}function Oc(e){for(;$!==null;){var t=$;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:ct||Us(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ct)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:Jt(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&Lc(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}Lc(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var i=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":i.autoFocus&&a.focus();break;case"img":i.src&&(a.src=i.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var c=d.memoizedState;if(c!==null){var p=c.dehydrated;p!==null&&Mn(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(M(163))}ct||t.flags&512&&Bu(t)}catch(g){Ve(t,t.return,g)}}if(t===e){$=null;break}if(a=t.sibling,a!==null){a.return=t.return,$=a;break}$=t.return}}function zc(e){for(;$!==null;){var t=$;if(t===e){$=null;break}var a=t.sibling;if(a!==null){a.return=t.return,$=a;break}$=t.return}}function Nc(e){for(;$!==null;){var t=$;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{Us(4,t)}catch(i){Ve(t,a,i)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(i){Ve(t,o,i)}}var n=t.return;try{Bu(t)}catch(i){Ve(t,n,i)}break;case 5:var l=t.return;try{Bu(t)}catch(i){Ve(t,l,i)}}}catch(i){Ve(t,t.return,i)}if(t===e){$=null;break}var s=t.sibling;if(s!==null){s.return=t.return,$=s;break}$=t.return}}var Zx=Math.ceil,bs=Ba.ReactCurrentDispatcher,Sd=Ba.ReactCurrentOwner,Ht=Ba.ReactCurrentBatchConfig,ve=0,at=null,Qe=null,lt=0,Mt=0,Io=nr(0),et=0,qn=null,Br=0,Hs=0,Id=0,Cn=null,Ct=null,Cd=0,Bo=1/0,ba=null,Ts=!1,Nu=null,Ja=null,Ql=!1,Ka=null,Ps=0,wn=0,Uu=null,os=-1,ns=0;function xt(){return(ve&6)!==0?je():os!==-1?os:os=je()}function er(e){return(e.mode&1)===0?1:(ve&2)!==0&<!==0?lt&-lt:Bx.transition!==null?(ns===0&&(ns=cp()),ns):(e=be,e!==0||(e=window.event,e=e===void 0?16:yp(e.type)),e)}function ra(e,t,a,r){if(50<wn)throw wn=0,Uu=null,Error(M(185));_n(e,a,r),((ve&2)===0||e!==at)&&(e===at&&((ve&2)===0&&(Hs|=a),et===4&&Va(e,lt)),Tt(e,r),a===1&&ve===0&&(t.mode&1)===0&&(Bo=je()+500,Os&&lr()))}function Tt(e,t){var a=e.callbackNode;zh(e,t);var r=fs(e,e===at?lt:0);if(r===0)a!==null&&Gf(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&Gf(a),t===1)e.tag===0?Fx(Uc.bind(null,e)):Np(Uc.bind(null,e)),Mx(function(){(ve&6)===0&&lr()}),a=null;else{switch(pp(r)){case 1:a=Xu;break;case 4:a=dp;break;case 16:a=ds;break;case 536870912:a=fp;break;default:a=ds}a=Om(a,Rm.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function Rm(e,t){if(os=-1,ns=0,(ve&6)!==0)throw Error(M(327));var a=e.callbackNode;if(Po()&&e.callbackNode!==a)return null;var r=fs(e,e===at?lt:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Rs(e,r);else{t=r;var o=ve;ve|=2;var n=Am();(at!==e||lt!==t)&&(ba=null,Bo=je()+500,Mr(e,t));do try{tv();break}catch(s){Mm(e,s)}while(!0);id(),bs.current=n,ve=o,Qe!==null?t=0:(at=null,lt=0,t=et)}if(t!==0){if(t===2&&(o=cu(e),o!==0&&(r=o,t=Hu(e,o))),t===1)throw a=qn,Mr(e,0),Va(e,r),Tt(e,je()),a;if(t===6)Va(e,r);else{if(o=e.current.alternate,(r&30)===0&&!Jx(o)&&(t=Rs(e,r),t===2&&(n=cu(e),n!==0&&(r=n,t=Hu(e,n))),t===1))throw a=qn,Mr(e,0),Va(e,r),Tt(e,je()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(M(345));case 2:br(e,Ct,ba);break;case 3:if(Va(e,r),(r&130023424)===r&&(t=Cd+500-je(),10<t)){if(fs(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){xt(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Lu(br.bind(null,e,Ct,ba),t);break}br(e,Ct,ba);break;case 4:if(Va(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-aa(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=je()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Zx(r/1960))-r,10<r){e.timeoutHandle=Lu(br.bind(null,e,Ct,ba),r);break}br(e,Ct,ba);break;case 5:br(e,Ct,ba);break;default:throw Error(M(329))}}}return Tt(e,je()),e.callbackNode===a?Rm.bind(null,e):null}function Hu(e,t){var a=Cn;return e.current.memoizedState.isDehydrated&&(Mr(e,t).flags|=256),e=Rs(e,t),e!==2&&(t=Ct,Ct=a,t!==null&&qu(t)),e}function qu(e){Ct===null?Ct=e:Ct.push.apply(Ct,e)}function Jx(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!oa(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Va(e,t){for(t&=~Id,t&=~Hs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-aa(t),r=1<<a;e[a]=-1,t&=~r}}function Uc(e){if((ve&6)!==0)throw Error(M(327));Po();var t=fs(e,0);if((t&1)===0)return Tt(e,je()),null;var a=Rs(e,t);if(e.tag!==0&&a===2){var r=cu(e);r!==0&&(t=r,a=Hu(e,r))}if(a===1)throw a=qn,Mr(e,0),Va(e,t),Tt(e,je()),a;if(a===6)throw Error(M(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,br(e,Ct,ba),Tt(e,je()),null}function wd(e,t){var a=ve;ve|=1;try{return e(t)}finally{ve=a,ve===0&&(Bo=je()+500,Os&&lr())}}function Or(e){Ka!==null&&Ka.tag===0&&(ve&6)===0&&Po();var t=ve;ve|=1;var a=Ht.transition,r=be;try{if(Ht.transition=null,be=1,e)return e()}finally{be=r,Ht.transition=a,ve=t,(ve&6)===0&&lr()}}function kd(){Mt=Io.current,Ue(Io)}function Mr(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,Rx(a)),Qe!==null)for(a=Qe.return;a!==null;){var r=a;switch(nd(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&hs();break;case 3:Eo(),Ue(kt),Ue(pt),md();break;case 5:pd(r);break;case 4:Eo();break;case 13:Ue(_e);break;case 19:Ue(_e);break;case 10:ud(r.type._context);break;case 22:case 23:kd()}a=a.return}if(at=e,Qe=e=tr(e.current,null),lt=Mt=t,et=0,qn=null,Id=Hs=Br=0,Ct=Cn=null,Pr!==null){for(t=0;t<Pr.length;t++)if(a=Pr[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}Pr=null}return e}function Mm(e,t){do{var a=Qe;try{if(id(),ts.current=ks,ws){for(var r=We.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}ws=!1}if(Fr=0,tt=Je=We=null,Sn=!1,Nn=0,Sd.current=null,a===null||a.return===null){et=1,qn=t,Qe=null;break}e:{var n=e,l=a.return,s=a,i=t;if(t=lt,s.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){var d=i,c=s,p=c.tag;if((c.mode&1)===0&&(p===0||p===11||p===15)){var g=c.alternate;g?(c.updateQueue=g.updateQueue,c.memoizedState=g.memoizedState,c.lanes=g.lanes):(c.updateQueue=null,c.memoizedState=null)}var L=bc(l);if(L!==null){L.flags&=-257,Tc(L,l,s,n,t),L.mode&1&&kc(n,d,t),t=L,i=d;var x=t.updateQueue;if(x===null){var I=new Set;I.add(i),t.updateQueue=I}else x.add(i);break e}else{if((t&1)===0){kc(n,d,t),bd();break e}i=Error(M(426))}}else if(qe&&s.mode&1){var N=bc(l);if(N!==null){(N.flags&65536)===0&&(N.flags|=256),Tc(N,l,s,n,t),ld(Fo(i,s));break e}}n=i=Fo(i,s),et!==4&&(et=2),Cn===null?Cn=[n]:Cn.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var m=pm(n,i,t);yc(n,m);break e;case 1:s=i;var u=n.type,f=n.stateNode;if((n.flags&128)===0&&(typeof u.getDerivedStateFromError=="function"||f!==null&&typeof f.componentDidCatch=="function"&&(Ja===null||!Ja.has(f)))){n.flags|=65536,t&=-t,n.lanes|=t;var v=mm(n,s,t);yc(n,v);break e}}n=n.return}while(n!==null)}Em(a)}catch(C){t=C,Qe===a&&a!==null&&(Qe=a=a.return);continue}break}while(!0)}function Am(){var e=bs.current;return bs.current=ks,e===null?ks:e}function bd(){(et===0||et===3||et===2)&&(et=4),at===null||(Br&268435455)===0&&(Hs&268435455)===0||Va(at,lt)}function Rs(e,t){var a=ve;ve|=2;var r=Am();(at!==e||lt!==t)&&(ba=null,Mr(e,t));do try{ev();break}catch(o){Mm(e,o)}while(!0);if(id(),ve=a,bs.current=r,Qe!==null)throw Error(M(261));return at=null,lt=0,et}function ev(){for(;Qe!==null;)Dm(Qe)}function tv(){for(;Qe!==null&&!Ph();)Dm(Qe)}function Dm(e){var t=Bm(e.alternate,e,Mt);e.memoizedProps=e.pendingProps,t===null?Em(e):Qe=t,Sd.current=null}function Em(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=Kx(a,t,Mt),a!==null){Qe=a;return}}else{if(a=jx(a,t),a!==null){a.flags&=32767,Qe=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{et=6,Qe=null;return}}if(t=t.sibling,t!==null){Qe=t;return}Qe=t=e}while(t!==null);et===0&&(et=5)}function br(e,t,a){var r=be,o=Ht.transition;try{Ht.transition=null,be=1,av(e,t,a,r)}finally{Ht.transition=o,be=r}return null}function av(e,t,a,r){do Po();while(Ka!==null);if((ve&6)!==0)throw Error(M(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(M(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(Nh(e,n),e===at&&(Qe=at=null,lt=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||Ql||(Ql=!0,Om(ds,function(){return Po(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=Ht.transition,Ht.transition=null;var l=be;be=1;var s=ve;ve|=4,Sd.current=null,Qx(e,a),Tm(a,e),wx(vu),cs=!!xu,vu=xu=null,e.current=a,Yx(a,e,o),Rh(),ve=s,be=l,Ht.transition=n}else e.current=a;if(Ql&&(Ql=!1,Ka=e,Ps=o),n=e.pendingLanes,n===0&&(Ja=null),Dh(a.stateNode,r),Tt(e,je()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Ts)throw Ts=!1,e=Nu,Nu=null,e;return(Ps&1)!==0&&e.tag!==0&&Po(),n=e.pendingLanes,(n&1)!==0?e===Uu?wn++:(wn=0,Uu=e):wn=0,lr(),null}function Po(){if(Ka!==null){var e=pp(Ps),t=Ht.transition,a=be;try{if(Ht.transition=null,be=16>e?16:e,Ka===null)var r=!1;else{if(e=Ka,Ka=null,Ps=0,(ve&6)!==0)throw Error(M(331));var o=ve;for(ve|=4,$=e.current;$!==null;){var n=$,l=n.child;if(($.flags&16)!==0){var s=n.deletions;if(s!==null){for(var i=0;i<s.length;i++){var d=s[i];for($=d;$!==null;){var c=$;switch(c.tag){case 0:case 11:case 15:In(8,c,n)}var p=c.child;if(p!==null)p.return=c,$=p;else for(;$!==null;){c=$;var g=c.sibling,L=c.return;if(wm(c),c===d){$=null;break}if(g!==null){g.return=L,$=g;break}$=L}}}var x=n.alternate;if(x!==null){var I=x.child;if(I!==null){x.child=null;do{var N=I.sibling;I.sibling=null,I=N}while(I!==null)}}$=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,$=l;else e:for(;$!==null;){if(n=$,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:In(9,n,n.return)}var m=n.sibling;if(m!==null){m.return=n.return,$=m;break e}$=n.return}}var u=e.current;for($=u;$!==null;){l=$;var f=l.child;if((l.subtreeFlags&2064)!==0&&f!==null)f.return=l,$=f;else e:for(l=u;$!==null;){if(s=$,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:Us(9,s)}}catch(C){Ve(s,s.return,C)}if(s===l){$=null;break e}var v=s.sibling;if(v!==null){v.return=s.return,$=v;break e}$=s.return}}if(ve=o,lr(),xa&&typeof xa.onPostCommitFiberRoot=="function")try{xa.onPostCommitFiberRoot(As,e)}catch{}r=!0}return r}finally{be=a,Ht.transition=t}}return!1}function Hc(e,t,a){t=Fo(a,t),t=pm(e,t,1),e=Za(e,t,1),t=xt(),e!==null&&(_n(e,1,t),Tt(e,t))}function Ve(e,t,a){if(e.tag===3)Hc(e,e,a);else for(;t!==null;){if(t.tag===3){Hc(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Ja===null||!Ja.has(r))){e=Fo(a,e),e=mm(t,e,1),t=Za(t,e,1),e=xt(),t!==null&&(_n(t,1,e),Tt(t,e));break}}t=t.return}}function rv(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=xt(),e.pingedLanes|=e.suspendedLanes&a,at===e&&(lt&a)===a&&(et===4||et===3&&(lt&130023424)===lt&&500>je()-Cd?Mr(e,0):Id|=a),Tt(e,t)}function Fm(e,t){t===0&&((e.mode&1)===0?t=1:(t=Ol,Ol<<=1,(Ol&130023424)===0&&(Ol=4194304)));var a=xt();e=Ea(e,t),e!==null&&(_n(e,t,a),Tt(e,a))}function ov(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Fm(e,a)}function nv(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(M(314))}r!==null&&r.delete(t),Fm(e,a)}var Bm;Bm=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||kt.current)wt=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return wt=!1,Gx(e,t,a);wt=(e.flags&131072)!==0}else wt=!1,qe&&(t.flags&1048576)!==0&&Up(t,ys,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;rs(e,t),e=t.pendingProps;var o=Mo(t,pt.current);To(t,a),o=hd(null,t,r,e,o,a);var n=xd();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,bt(r)?(n=!0,xs(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,fd(t),o.updater=Ns,t.stateNode=o,o._reactInternals=t,Tu(t,r,e,a),t=Mu(null,t,r,!0,n,a)):(t.tag=0,qe&&n&&od(t),ht(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(rs(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=sv(r),e=Jt(r,e),o){case 0:t=Ru(null,t,r,e,a);break e;case 1:t=Mc(null,t,r,e,a);break e;case 11:t=Pc(null,t,r,e,a);break e;case 14:t=Rc(null,t,r,Jt(r.type,e),a);break e}throw Error(M(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Jt(r,o),Ru(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Jt(r,o),Mc(e,t,r,o,a);case 3:e:{if(vm(t),e===null)throw Error(M(387));r=t.pendingProps,n=t.memoizedState,o=n.element,Vp(e,t),Is(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=Fo(Error(M(423)),t),t=Ac(e,t,r,a,o);break e}else if(r!==o){o=Fo(Error(M(424)),t),t=Ac(e,t,r,a,o);break e}else for(At=Ya(t.stateNode.containerInfo.firstChild),Dt=t,qe=!0,ta=null,a=Wp(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Ao(),r===o){t=Fa(e,t,a);break e}ht(e,t,r,a)}t=t.child}return t;case 5:return Gp(t),e===null&&wu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,yu(r,o)?l=null:n!==null&&yu(r,n)&&(t.flags|=32),xm(e,t),ht(e,t,l,a),t.child;case 6:return e===null&&wu(t),null;case 13:return ym(e,t,a);case 4:return cd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Do(t,null,r,a):ht(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Jt(r,o),Pc(e,t,r,o,a);case 7:return ht(e,t,t.pendingProps,a),t.child;case 8:return ht(e,t,t.pendingProps.children,a),t.child;case 12:return ht(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,Be(Ls,r._currentValue),r._currentValue=l,n!==null)if(oa(n.value,l)){if(n.children===o.children&&!kt.current){t=Fa(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var i=s.firstContext;i!==null;){if(i.context===r){if(n.tag===1){i=Ma(-1,a&-a),i.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var c=d.pending;c===null?i.next=i:(i.next=c.next,c.next=i),d.pending=i}}n.lanes|=a,i=n.alternate,i!==null&&(i.lanes|=a),ku(n.return,a,t),s.lanes|=a;break}i=i.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(M(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),ku(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}ht(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,To(t,a),o=qt(o),r=r(o),t.flags|=1,ht(e,t,r,a),t.child;case 14:return r=t.type,o=Jt(r,t.pendingProps),o=Jt(r.type,o),Rc(e,t,r,o,a);case 15:return gm(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Jt(r,o),rs(e,t),t.tag=1,bt(r)?(e=!0,xs(t)):e=!1,To(t,a),cm(t,r,o),Tu(t,r,o,a),Mu(null,t,r,!0,e,a);case 19:return Lm(e,t,a);case 22:return hm(e,t,a)}throw Error(M(156,t.tag))};function Om(e,t){return up(e,t)}function lv(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ut(e,t,a,r){return new lv(e,t,a,r)}function Td(e){return e=e.prototype,!(!e||!e.isReactComponent)}function sv(e){if(typeof e=="function")return Td(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Gu)return 11;if(e===Ku)return 14}return 2}function tr(e,t){var a=e.alternate;return a===null?(a=Ut(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function ls(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Td(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case co:return Ar(a.children,o,n,t);case Vu:l=8,o|=8;break;case Yi:return e=Ut(12,a,t,o|2),e.elementType=Yi,e.lanes=n,e;case Zi:return e=Ut(13,a,t,o),e.elementType=Zi,e.lanes=n,e;case Ji:return e=Ut(19,a,t,o),e.elementType=Ji,e.lanes=n,e;case Gc:return qs(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case $c:l=10;break e;case Vc:l=9;break e;case Gu:l=11;break e;case Ku:l=14;break e;case _a:l=16,r=null;break e}throw Error(M(130,e==null?e:typeof e,""))}return t=Ut(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function Ar(e,t,a,r){return e=Ut(7,e,r,t),e.lanes=a,e}function qs(e,t,a,r){return e=Ut(22,e,r,t),e.elementType=Gc,e.lanes=a,e.stateNode={isHidden:!1},e}function ji(e,t,a){return e=Ut(6,e,null,t),e.lanes=a,e}function Xi(e,t,a){return t=Ut(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function iv(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Di(0),this.expirationTimes=Di(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Di(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Pd(e,t,a,r,o,n,l,s,i){return e=new iv(e,t,a,s,i),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Ut(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},fd(n),e}function uv(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:fo,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function zm(e){if(!e)return rr;e=e._reactInternals;e:{if(Nr(e)!==e||e.tag!==1)throw Error(M(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(bt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(M(171))}if(e.tag===1){var a=e.type;if(bt(a))return zp(e,a,t)}return t}function Nm(e,t,a,r,o,n,l,s,i){return e=Pd(a,r,!0,e,o,n,l,s,i),e.context=zm(null),a=e.current,r=xt(),o=er(a),n=Ma(r,o),n.callback=t??null,Za(a,n,o),e.current.lanes=o,_n(e,o,r),Tt(e,r),e}function _s(e,t,a,r){var o=t.current,n=xt(),l=er(o);return a=zm(a),t.context===null?t.context=a:t.pendingContext=a,t=Ma(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=Za(o,t,l),e!==null&&(ra(e,o,l,n),es(e,o,l)),l}function Ms(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function qc(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Rd(e,t){qc(e,t),(e=e.alternate)&&qc(e,t)}function dv(){return null}var Um=typeof reportError=="function"?reportError:function(e){console.error(e)};function Md(e){this._internalRoot=e}Ws.prototype.render=Md.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(M(409));_s(e,t,null,null)};Ws.prototype.unmount=Md.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Or(function(){_s(null,e,null,null)}),t[Da]=null}};function Ws(e){this._internalRoot=e}Ws.prototype.unstable_scheduleHydration=function(e){if(e){var t=hp();e={blockedOn:null,target:e,priority:t};for(var a=0;a<$a.length&&t!==0&&t<$a[a].priority;a++);$a.splice(a,0,e),a===0&&vp(e)}};function Ad(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function $s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function _c(){}function fv(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=Ms(l);n.call(d)}}var l=Nm(t,r,e,0,null,!1,!1,"",_c);return e._reactRootContainer=l,e[Da]=l.current,En(e.nodeType===8?e.parentNode:e),Or(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Ms(i);s.call(d)}}var i=Pd(e,0,!1,null,null,!1,!1,"",_c);return e._reactRootContainer=i,e[Da]=i.current,En(e.nodeType===8?e.parentNode:e),Or(function(){_s(t,i,a,r)}),i}function Vs(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var i=Ms(l);s.call(i)}}_s(t,l,e,o)}else l=fv(a,t,e,o,r);return Ms(l)}mp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=mn(t.pendingLanes);a!==0&&(Qu(t,a|1),Tt(t,je()),(ve&6)===0&&(Bo=je()+500,lr()))}break;case 13:Or(function(){var r=Ea(e,1);if(r!==null){var o=xt();ra(r,e,1,o)}}),Rd(e,1)}};Yu=function(e){if(e.tag===13){var t=Ea(e,134217728);if(t!==null){var a=xt();ra(t,e,134217728,a)}Rd(e,134217728)}};gp=function(e){if(e.tag===13){var t=er(e),a=Ea(e,t);if(a!==null){var r=xt();ra(a,e,t,r)}Rd(e,t)}};hp=function(){return be};xp=function(e,t){var a=be;try{return be=e,t()}finally{be=a}};uu=function(e,t,a){switch(t){case"input":if(au(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=Bs(r);if(!o)throw Error(M(90));jc(r),au(r,o)}}}break;case"textarea":Qc(e,a);break;case"select":t=a.value,t!=null&&Co(e,!!a.multiple,t,!1)}};rp=wd;op=Or;var cv={usingClientEntryPoint:!1,Events:[$n,ho,Bs,tp,ap,wd]},dn={findFiberByHostInstance:Tr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},pv={bundleType:dn.bundleType,version:dn.version,rendererPackageName:dn.rendererPackageName,rendererConfig:dn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ba.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=sp(e),e===null?null:e.stateNode},findFiberByHostInstance:dn.findFiberByHostInstance||dv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(fn=__REACT_DEVTOOLS_GLOBAL_HOOK__,!fn.isDisabled&&fn.supportsFiber))try{As=fn.inject(pv),xa=fn}catch{}var fn;Bt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=cv;Bt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ad(t))throw Error(M(200));return uv(e,t,null,a)};Bt.createRoot=function(e,t){if(!Ad(e))throw Error(M(299));var a=!1,r="",o=Um;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Pd(e,1,!1,null,null,a,!1,r,o),e[Da]=t.current,En(e.nodeType===8?e.parentNode:e),new Md(t)};Bt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(M(188)):(e=Object.keys(e).join(","),Error(M(268,e)));return e=sp(t),e=e===null?null:e.stateNode,e};Bt.flushSync=function(e){return Or(e)};Bt.hydrate=function(e,t,a){if(!$s(t))throw Error(M(200));return Vs(null,e,t,!0,a)};Bt.hydrateRoot=function(e,t,a){if(!Ad(e))throw Error(M(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=Um;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=Nm(t,null,e,1,a??null,o,!1,n,l),e[Da]=t.current,En(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new Ws(t)};Bt.render=function(e,t,a){if(!$s(t))throw Error(M(200));return Vs(null,e,t,!1,a)};Bt.unmountComponentAtNode=function(e){if(!$s(e))throw Error(M(40));return e._reactRootContainer?(Or(function(){Vs(null,null,e,!1,function(){e._reactRootContainer=null,e[Da]=null})}),!0):!1};Bt.unstable_batchedUpdates=wd;Bt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!$s(a))throw Error(M(200));if(e==null||e._reactInternals===void 0)throw Error(M(38));return Vs(e,t,a,!1,r)};Bt.version="18.3.1-next-f1338f8080-20240426"});var Ur=ka((ky,_m)=>{"use strict";function qm(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qm)}catch(e){console.error(e)}}qm(),_m.exports=Hm()});var $m=ka(Dd=>{"use strict";var Wm=Ur();Dd.createRoot=Wm.createRoot,Dd.hydrateRoot=Wm.hydrateRoot;var by});var Qm=ka(Zs=>{"use strict";var xv=Ee(),vv=Symbol.for("react.element"),yv=Symbol.for("react.fragment"),Lv=Object.prototype.hasOwnProperty,Sv=xv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Iv={key:!0,ref:!0,__self:!0,__source:!0};function Xm(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)Lv.call(t,r)&&!Iv.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:vv,type:e,key:n,ref:l,props:o,_owner:Sv.current}}Zs.Fragment=yv;Zs.jsx=Xm;Zs.jsxs=Xm});var K=ka((CL,Ym)=>{"use strict";Ym.exports=Qm()});var Dg=E($m(),1);var ne=E(Ee(),1),Pg=E(Ur(),1);function Vm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function mv(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function gv(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&mv(n)){let l=Vm(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(Vm(t[r])),r+=1;let i=`<tr>${l.map(c=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${c}</th>`).join("")}</tr>`,d=s.map(c=>`<tr>${c.map(p=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${p}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${i}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function Gs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return gv(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var hv="proto-comments-seen";function Ed(e,t){try{let a=localStorage.getItem(hv),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function Fd(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function Pt(e){try{return new Date(e).toLocaleString()}catch{return e}}var Bd=16,No=1000000n,Xs=BigInt("9".repeat(Bd));function Wt(e){return(e<0n?0n:e>Xs?Xs:e).toString().padStart(Bd,"0")}function Ks(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):Xs}function js(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function Oa(e,t){if(t===null){if(e===null)return Wt(No);let l=Ks(e);if(l<Xs-No)return Wt(l+No);let s=js(e)??"0".repeat(Bd);return Wt(l)+"."+Oa(s,null)}if(e===null){let l=Ks(t),s=js(t);return l>No?Wt(l-No):s!==null?Wt(l)+"."+Oa(null,s):l>0n?Wt(l/2n):Wt(0n)+".0"}let a=Ks(e),r=Ks(t),o=js(e),n=js(t);return r>a+1n?Wt((a+r)/2n):r===a+1n?Wt(a)+"."+Oa(o,null):o===null&&n===null?Wt(a)+"."+Wt(No):Wt(a)+"."+Oa(o,n)}function Hr(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(e.updatedAt??e.createdAt??"").localeCompare(t.updatedAt??t.createdAt??"")}function Od(e,t,a,r){let o=new Map,n=null;for(let p of e)p.sortKey&&p.sortKey!=="n"&&(o.set(p.id,p.sortKey),n=p.sortKey);let l=[],s=e.filter(p=>!p.sortKey||p.sortKey==="n");if(s.length>0){let p=n;for(let g of s){let L=Oa(p,null);o.set(g.id,L),p=L,g.id!==t&&l.push({id:g.id,sortKey:L})}}let i=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:Oa(i,d),normalizationPatches:l}}var $t=E(Ee(),1);var Ys=E(Ee());var Gm=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Qs=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Gn=E(Ee());var Km={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var jm=(0,Gn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},i)=>(0,Gn.createElement)("svg",{ref:i,...Km,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Qs("lucide",o),...s},[...l.map(([d,c])=>(0,Gn.createElement)(d,c)),...Array.isArray(n)?n:[n]]));var V=(e,t)=>{let a=(0,Ys.forwardRef)(({className:r,...o},n)=>(0,Ys.createElement)(jm,{ref:n,iconNode:t,className:Qs(`lucide-${Gm(e)}`,r),...o}));return a.displayName=`${e}`,a};var mt=V("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var ya=V("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var Kn=V("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var sr=V("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var ir=V("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var qr=V("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var jn=V("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var Uo=V("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var Xn=V("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var Qn=V("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);var Yn=V("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var Zn=V("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var Jn=V("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var el=V("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var _r=V("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var ur=V("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var Wr=V("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var $r=V("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var tl=V("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var Vr=V("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var Gr=V("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var al=V("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var dr=V("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var Kr=V("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var Ho=V("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var rl=V("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var fr=V("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var qo=V("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var ol=V("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var Ge=V("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var _o=E(Ee(),1),ug=E(Ur(),1);var eg=E(K(),1),Zm={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function Jm({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&Zm[e]?e:"Task",r=Zm[a];return(0,eg.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var rg=E(K(),1),tg={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function ag({priority:e,style:t}){if(!e||!tg[e])return null;let a=tg[e];return(0,rg.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var jr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],bL=jr.map(e=>e.value),ng=Object.fromEntries(jr.map(e=>[e.value,e.icon])),TL=Object.fromEntries(jr.map(e=>[e.value,e.css])),og={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function nl(e){return og[e??"Task"]??og.Task}var lg=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function Cv(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%lg.length}function na(e){return lg[Cv(e)]}var ll=E(K(),1);function sl({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,ll.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:i}=na(n);return(0,ll.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${i}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,ll.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var se=E(K(),1);function wv(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function dg(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function fg(e,t){return dg(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function kv(e){return dg(e,.05)??"transparent"}var bv={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},Tv={display:"flex",alignItems:"center",gap:5},Pv={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},Rv={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Mv={display:"flex",alignItems:"center",gap:5,minWidth:0},sg={flexShrink:0},Av={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Dv={display:"flex",alignItems:"flex-start",gap:8},Ev={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},Fv={position:"relative",flexShrink:0},Bv={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},Ov={display:"flex",alignItems:"center",gap:2,marginTop:1},zv={flex:1},zd=_o.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n,selectMode:l,selected:s,onToggleSelect:i,agentStatus:d,experimentalAgents:c,multiDragCount:p}){var we;let g=a.id==="in-progress",L=a.id==="done",[x,I]=_o.default.useState(!1),[N,m]=_o.default.useState(null),u=_o.default.useRef(null),f=t.commentCount??0,v=t.fileCount??0,C=f>0&&Ed(t.id,f),k=fg(a.color,t.priority),y=nl(t.type),b=kv(y),z=(we=t.files)==null?void 0:we.find(ue=>wv(ue.name)),U=z?`/api/tasks/${t.id}/files/${encodeURIComponent(z.name)}`:null;function B(ue){n(ue,t.id),ue.currentTarget.classList.add("dragging")}function J(ue){ue.currentTarget.classList.remove("dragging")}function re(ue){if(l){ue.stopPropagation(),i==null||i(t.id);return}o(t)}function de(ue){ue.stopPropagation(),i==null||i(t.id)}let Se=c===!0&&d==="running"?"1px solid rgba(59,130,246,0.5)":c===!0&&d==="queued"?"1px solid color-mix(in srgb, var(--p-amber) 45%, transparent)":c===!0&&d==="done"?"1px solid color-mix(in srgb, var(--p-green) 40%, transparent)":void 0,ee=c===!0&&d==="running"?"color-mix(in srgb, var(--p-blue) 6%, var(--p-card))":c===!0&&d==="queued"?"color-mix(in srgb, var(--p-amber) 5%, var(--p-card))":c===!0&&d==="done"?"color-mix(in srgb, var(--p-green) 5%, var(--p-card))":void 0;return L?(0,se.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:{...bv,...l&&s?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:B,onDragEnd:J,onClick:re,children:(0,se.jsxs)("div",{style:Tv,children:[l&&(0,se.jsx)("span",{onClick:de,style:{width:12,height:12,borderRadius:3,border:s?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:s?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:s&&(0,se.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),(0,se.jsx)(sr,{style:Pv}),(0,se.jsx)("span",{style:Rv,children:t.title}),p!=null&&(0,se.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",p-1]})]})}):(0,se.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":ee??b,border:Se??(r?"1px solid rgba(59,130,246,0.5)":k?`1px solid ${k}`:void 0),...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{},...l&&s?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:B,onDragEnd:J,onClick:re,children:[(0,se.jsxs)("div",{style:Mv,children:[l&&(0,se.jsx)("span",{onClick:de,style:{width:14,height:14,borderRadius:3,border:s?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:s?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",marginRight:2},children:s&&(0,se.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),g&&(0,se.jsx)("span",{className:"spinner",style:sg}),c===!0&&d==="running"&&!g&&(0,se.jsx)("span",{className:"spinner",style:sg}),(0,se.jsx)("span",{style:Av,children:t.title}),p!=null&&(0,se.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",p-1]})]}),(t.description||U)&&(0,se.jsxs)("div",{style:Dv,children:[t.description&&(0,se.jsx)("div",{style:Ev,children:t.description}),U&&(0,se.jsxs)("div",{style:Fv,onMouseEnter:()=>{if(u.current){let ue=u.current.getBoundingClientRect();m({top:ue.top,right:ue.right})}I(!0)},onMouseLeave:()=>{I(!1),m(null)},children:[(0,se.jsx)("img",{ref:u,src:U,alt:"Task screenshot","data-role":"task-thumb",style:Bv}),x&&N&&ug.default.createPortal((0,se.jsx)("img",{src:U,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-N.right,bottom:window.innerHeight-N.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,se.jsxs)("div",{className:"flex items-center",style:Ov,children:[(0,se.jsx)(Jm,{type:t.type}),t.priority&&(0,se.jsx)(ag,{priority:t.priority}),c===!0&&d==="running"&&(0,se.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:[(0,se.jsx)("span",{className:"spinner",style:{width:8,height:8,borderWidth:1.5}}),"Agent"]}),c===!0&&d==="queued"&&(0,se.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(245,158,11,0.12)",color:"var(--p-amber)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u23F3 Queued"}),c===!0&&d==="done"&&(0,se.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(34,197,94,0.12)",color:"var(--p-green)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u2713 Done"}),c===!0&&!d&&t.agent&&(0,se.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(139,92,246,0.12)",color:"#a78bfa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},title:`Agent: ${t.agent}`,children:[(0,se.jsx)(mt,{style:{width:8,height:8,flexShrink:0}}),"Agent"]}),g&&t.assigneeName&&(0,se.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,se.jsx)(sl,{tags:t.tags,size:"xs"}),(0,se.jsx)("div",{style:zv}),r&&(0,se.jsx)(Nd,{activity:r}),(0,se.jsx)(ig,{icon:(0,se.jsx)(_r,{style:{width:9,height:9}}),label:f>0?String(f):"",color:C?"var(--p-purple)":f>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:C?"var(--p-purple-300)":"var(--p-text)",title:f>0?`${f} comment(s)`:"Add comment",badge:C,badgeColor:"var(--p-purple)",onClick:ue=>{ue.stopPropagation(),o(t,"comments")}}),(0,se.jsx)(ig,{icon:(0,se.jsx)(Wr,{style:{width:9,height:9}}),label:v>0?String(v):"",color:v>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:v>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:v>0?`${v} file(s) attached`:"Files",onClick:ue=>{ue.stopPropagation(),o(t,"files")}})]})]})});function ig({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[i,d]=_o.default.useState(!1);return(0,se.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:i?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:i?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,se.jsx)("span",{children:t}),n&&(0,se.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function Nd({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,se.jsx)(el,{style:{width:8,height:8}}):(0,se.jsx)(jn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,se.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,se.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ce=E(K(),1),cr=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 20%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 12%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 12%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 12%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 10%, transparent)"}];var Nv=3;function Uv(){return(0,ce.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ce.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,ce.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,ce.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,ce.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,ce.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function Ud({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,onOpenPanel:n,onDrop:l,onReorder:s,selectMode:i,selectedTaskIds:d,onToggleSelect:c,agentStatuses:p,onRunSelectedAgents:g,onExitSelectMode:L,experimentalAgents:x}){let I=$t.default.useRef(null),N=$t.default.useRef(null),[m,u]=$t.default.useState(null),[f,v]=$t.default.useState(null),[C,k]=$t.default.useState(null),y=$t.default.useRef(null),b=$t.default.useRef(null),[z,U]=$t.default.useState([]),B=$t.default.useRef([]),J=a?e.filter(w=>(w.title??"").toLowerCase().includes(a.toLowerCase())||(w.description??"").toLowerCase().includes(a.toLowerCase())):e,re=cr.filter(w=>t.includes(w.id));$t.default.useEffect(()=>{let w=I.current,X=N.current;if(!w||!X)return;function O(){if(!w||!X)return;let Ze=w.scrollWidth>w.clientWidth?w.clientWidth/w.scrollWidth:1,Re=Math.max(40,w.clientWidth*Ze);X.style.width=`${Re}px`;let De=w.scrollWidth-w.clientWidth,me=w.clientWidth-Re;X.style.left=`${De>0?w.scrollLeft/De*me:0}px`,X.style.opacity=Ze<1?"1":"0"}w.addEventListener("scroll",O);let R=new ResizeObserver(O);R.observe(w),O();let pe=!1,ze=0,Te=0;function Ae(Ze){pe=!0,ze=Ze.clientX,Te=w.scrollLeft,X.classList.add("dragging"),document.addEventListener("mousemove",Ke),document.addEventListener("mouseup",ke)}function Ke(Ze){if(!pe||!w||!X)return;let Re=w.scrollWidth>w.clientWidth?w.scrollWidth/w.clientWidth:1;w.scrollLeft=Te+(Ze.clientX-ze)*Re}function ke(){pe=!1,X==null||X.classList.remove("dragging"),document.removeEventListener("mousemove",Ke),document.removeEventListener("mouseup",ke)}return X.addEventListener("mousedown",Ae),()=>{w.removeEventListener("scroll",O),R.disconnect(),X.removeEventListener("mousedown",Ae)}},[re.length]);function de(w,X){if(y.current=X,u(X),w.dataTransfer.effectAllowed="move",i&&(d!=null&&d.has(X))&&(d.size??0)>1){let O=Array.from(d);B.current=O,U(O)}else B.current=[],U([])}function Se(w,X){w.preventDefault(),v(X)}function ee(w,X){w.preventDefault(),w.stopPropagation();let O=w.currentTarget.getBoundingClientRect(),R=w.clientY<O.top+O.height/2?"before":"after",pe={taskId:X,position:R};b.current=pe,k(ze=>(ze==null?void 0:ze.taskId)===X&&ze.position===R?ze:pe)}function we(w,X,O){w.preventDefault(),v(null);let R=b.current;b.current=null,k(null);let pe=y.current;y.current=null,u(null);let ze=B.current;if(B.current=[],U([]),!!pe){if(ze.length>1&&s){let Te=ze.map(me=>e.find(rt=>rt.id===me)).filter(Boolean).sort(Hr).map(me=>me.id),Ke=e.filter(me=>me.status===X).sort(Hr).filter(me=>!ze.includes(me.id)),ke;if(R){let me=Ke.findIndex(rt=>rt.id===R.taskId);ke=R.position==="before"?me:me+1}else ke=Ke.length;let Ze=Te.map(me=>e.find(rt=>rt.id===me)),Re=[...Ke.slice(0,ke),...Ze,...Ke.slice(ke)],De=new Map;for(let me of Re)De.set(me.id,me.sortKey??null);for(let me=0;me<Re.length;me++){let rt=Re[me];if(!ze.includes(rt.id))continue;let St=me>0?Re[me-1].id:null,ot=me<Re.length-1?Re[me+1].id:null,Kt=St?De.get(St)??null:null,ia=ot?De.get(ot)??null:null,jt=Oa(Kt,ia);De.set(rt.id,jt),s(rt.id,X,St,ot,jt)}return}if(s&&R){let Te=O.findIndex(ke=>ke.id===R.taskId),Ae=null,Ke=null;R.position==="before"?(Ke=R.taskId,Ae=Te>0?O[Te-1].id:null):(Ae=R.taskId,Ke=Te<O.length-1?O[Te+1].id:null),s(pe,X,Ae,Ke)}else l(pe,X)}}function ue(){y.current=null,u(null),v(null),b.current=null,k(null),B.current=[],U([])}let ye=(d==null?void 0:d.size)??0;return(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsx)("main",{id:"kanban-board",ref:I,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:ue,children:re.map(w=>{let X=r?[]:J.filter(R=>R.status===w.id).sort(Hr),O=w.id==="done"?[...X].reverse():X;return(0,ce.jsx)(Hv,{col:w,tasks:O,isLoading:r,liveActivities:o,isDragOver:f===w.id&&!C,onDragOver:R=>Se(R,w.id),onDrop:R=>we(R,w.id,X),onDragLeave:R=>{let pe=R.relatedTarget;pe&&R.currentTarget.contains(pe)||(v(null),b.current=null,k(null))},onStatusChange:(R,pe)=>l(R,pe),onAddTask:()=>n(null,"details",w.id),onOpenTask:n,onDragStart:de,onCardDragOver:ee,cardDropTarget:C,selectMode:i,selectedTaskIds:d,onToggleSelect:c,agentStatuses:x===!0?p:void 0,experimentalAgents:x,multiDragIds:z},w.id)})}),x===!0&&i&&ye>0&&(0,ce.jsxs)("div",{style:{position:"fixed",bottom:14,left:"50%",transform:"translateX(-50%)",zIndex:45,display:"flex",alignItems:"center",gap:10,background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:10,padding:"8px 14px",boxShadow:"0 -4px 24px rgba(0,0,0,0.4)"},children:[(0,ce.jsxs)("span",{style:{fontSize:12,color:"var(--p-text-m)",fontWeight:500},children:[(0,ce.jsx)("strong",{style:{color:"var(--p-text)"},children:ye})," task",ye!==1?"s":""," selected"]}),(0,ce.jsx)("div",{style:{width:1,height:16,background:"var(--p-border)"}}),(0,ce.jsxs)("button",{onClick:()=>g==null?void 0:g(Array.from(d)),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:"var(--p-purple)",color:"#fff",fontSize:11,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:w=>{w.currentTarget.style.background="#9333ea"},onMouseLeave:w=>{w.currentTarget.style.background="var(--p-purple)"},children:[(0,ce.jsx)($r,{style:{width:10,height:10}}),"Run Agents (",ye,")"]}),(0,ce.jsxs)("button",{onClick:L,style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-m)",fontSize:11,cursor:"pointer",transition:"all .12s"},onMouseEnter:w=>{w.currentTarget.style.borderColor="var(--p-border-s)",w.currentTarget.style.color="var(--p-text)"},onMouseLeave:w=>{w.currentTarget.style.borderColor="var(--p-border)",w.currentTarget.style.color="var(--p-text-m)"},children:[(0,ce.jsx)(Ge,{style:{width:10,height:10}}),"Clear"]})]}),(0,ce.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,ce.jsx)("div",{id:"kanban-scroll-thumb",ref:N,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:w=>{w.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:w=>{w.currentTarget.classList.contains("dragging")||(w.currentTarget.style.background="var(--p-border-t)")}})})]})}function Hv({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:i,onAddTask:d,onOpenTask:c,onDragStart:p,onCardDragOver:g,cardDropTarget:L,selectMode:x,selectedTaskIds:I,onToggleSelect:N,agentStatuses:m,experimentalAgents:u,multiDragIds:f}){let[v,C]=$t.default.useState(!1),k=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,y=20,b=e.id==="done",z=b&&t.length>y?t.length-y:0,U=b?t.slice(0,y):t;return(0,ce.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,ce.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,ce.jsx)("div",{className:`status-dot ${k}`}),(0,ce.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,ce.jsx)("span",{style:{marginLeft:"auto"}}),(0,ce.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:v?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),onClick:d,children:(0,ce.jsx)(tl,{style:{width:14,height:14}})})]}),(0,ce.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:Nv}).map((B,J)=>(0,ce.jsx)(Uv,{},J)):t.length===0?(0,ce.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,ce.jsxs)(ce.Fragment,{children:[U.map(B=>(0,ce.jsxs)("div",{style:{position:"relative"},onDragOver:J=>g(J,B.id),children:[(L==null?void 0:L.taskId)===B.id&&L.position==="before"&&(0,ce.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ce.jsx)(zd,{task:B,col:e,liveActivity:r==null?void 0:r.get(B.id),onOpen:c,onDragStart:p,selectMode:x,selected:I==null?void 0:I.has(B.id),onToggleSelect:N,agentStatus:m==null?void 0:m.get(B.id),experimentalAgents:u,multiDragCount:f&&f.length>1&&f[0]===B.id?f.length:void 0}),(L==null?void 0:L.taskId)===B.id&&L.position==="after"&&(0,ce.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},B.id)),z>0&&(0,ce.jsxs)("div",{style:{margin:"4px 0 2px",padding:"6px 8px",borderRadius:6,border:"1px dashed var(--p-border-t)",fontSize:11,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4},children:["+",z," older ",z===1?"task":"tasks"," not shown"]})]})})]})}var Xr=E(Ee(),1);var fe=E(K(),1),cg={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},qv=ng,pg={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},Hd=["in-progress","review","todo","backlog","done"];function _v(){return(0,fe.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,fe.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,fe.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,fe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,fe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function qd({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l,experimentalAgents:s}){let[i,d]=Xr.default.useState(null),[c,p]=Xr.default.useState(null),[g,L]=Xr.default.useState(null),[x,I]=Xr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),N=t?e.filter(u=>(u.title??"").toLowerCase().includes(t.toLowerCase())||(u.description??"").toLowerCase().includes(t.toLowerCase())):e,m=Xr.default.useMemo(()=>{let u=new Map;for(let f of Hd)u.set(f,[]);for(let f of N)(u.get(f.status)??[]).push(f);return u},[N]);return(0,fe.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?Hd.slice(0,3).map(u=>{let f=cg[u];return(0,fe.jsxs)("div",{style:{marginBottom:24},children:[(0,fe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,fe.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,fe.jsx)("div",{style:{height:18,borderRadius:6,background:f.bg,border:`1px solid ${f.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,fe.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,fe.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((v,C)=>(0,fe.jsx)(_v,{},C))})]},u)}):Hd.map(u=>{let f=m.get(u)??[];if(f.length===0)return null;let v=cg[u];return(0,fe.jsxs)("div",{style:{marginBottom:24},children:[(0,fe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:c===u?v.bg:"transparent",outline:c===u?`1px dashed ${v.border}`:void 0},onDragOver:C=>{C.preventDefault(),p(u)},onDragLeave:()=>p(null),onDrop:C=>{C.preventDefault(),p(null),L(null),i&&l(i,u),d(null)},children:[(0,fe.jsx)("button",{type:"button",title:x[u]?"Expand":"Collapse",onClick:C=>{C.stopPropagation(),I(k=>({...k,[u]:!k[u]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:x[u]?"+":"\\u2212"}),(0,fe.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:v.bg,border:`1px solid ${v.border}`,color:v.text},children:u}),(0,fe.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:f.length}),(0,fe.jsx)("button",{type:"button",title:`Add task to ${u}`,onClick:C=>{C.stopPropagation(),n(u)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${v.border}`,background:v.bg,color:v.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,fe.jsx)("div",{style:{display:x[u]?"none":"flex",flexDirection:"column",gap:2},children:f.map(C=>(0,fe.jsx)(Wv,{task:C,liveActivity:r==null?void 0:r.get(C.id),onOpen:o,onDragStart:k=>d(k),dragOver:g===C.id,onDragOver:()=>L(C.id),onDragLeave:()=>L(k=>k===C.id?null:k),onDropToStatus:()=>{i&&l(i,C.status),d(null),L(null)},experimentalAgents:s},C.id))})]},u)}),!a&&N.length===0&&(0,fe.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function Wv({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s,experimentalAgents:i}){let[d,c]=Xr.default.useState(!1),p=qv[e.type??"Task"]??"\\u2611",g=e.commentCount??0,L=e.fileCount??0;return(0,fe.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":d?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":d?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),onClick:()=>a(e),onDragStart:x=>{x.dataTransfer.effectAllowed="move",r(e.id),x.currentTarget.style.opacity="0.4"},onDragEnd:x=>{x.currentTarget.style.opacity="1"},onDragOver:x=>{x.preventDefault(),n()},onDragLeave:l,onDrop:x=>{x.preventDefault(),s()},children:[(0,fe.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:p}),(0,fe.jsxs)("div",{style:{minWidth:0},children:[(0,fe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,fe.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&pg[e.priority]&&(0,fe.jsx)(Xn,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:pg[e.priority]}}),e.component&&(0,fe.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component}),i===!0&&e.agent&&(0,fe.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(139,92,246,0.12)",color:"#a78bfa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90,flexShrink:0},title:`Agent: ${e.agent}`,children:[(0,fe.jsx)(mt,{style:{width:8,height:8,flexShrink:0}}),"Agent"]})]}),e.description&&(0,fe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,fe.jsxs)("button",{title:g>0?`${g} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:g>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:x=>{x.stopPropagation(),a(e,"comments")},children:[(0,fe.jsx)(_r,{className:"w-3 h-3"}),g>0&&(0,fe.jsx)("span",{children:g})]}),L>0&&(0,fe.jsxs)("button",{title:`${L} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:x=>{x.stopPropagation(),a(e,"files")},children:[(0,fe.jsx)(Wr,{className:"w-3 h-3"}),(0,fe.jsx)("span",{children:L})]}),t&&(0,fe.jsx)(Nd,{activity:t})]})}var $o=E(Ee(),1);var pr=E(K(),1);function mg({size:e=32,style:t,className:a}){return(0,pr.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,pr.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,pr.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,pr.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,pr.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,pr.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var Js=E(K(),1);function Wo({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,Js.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,Js.jsx)("span",{children:r})]})}var j=E(K(),1);function _d({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:i,allTags:d,onToggleTag:c,backHref:p,backLabel:g,onSearchChange:L,onSettings:x,extraActions:I,taskSummary:N,agentRuns:m,selectMode:u,onToggleSelectMode:f,agentQueueCount:v,onOpenAgentQueue:C,experimentalAgents:k}){let[y,b]=$o.default.useState(!1),[z,U]=$o.default.useState(0),B=$o.default.useRef(null),J=$o.default.useRef(null),re=n.match(/(?:^|\\s)#(\\S*)$/),de=re?re[1]:null,Se=i??[],ee=(d??[]).filter(R=>!Se.includes(R)),we=de!==null?ee.filter(R=>R.toLowerCase().includes(de.toLowerCase())):[];$o.default.useEffect(()=>{U(0)},[we.length]);function ue(R){var ze;let pe=n.replace(/\\s*#\\S*$/,"");L(pe),c==null||c(R),(ze=B.current)==null||ze.focus()}function ye(R){if(R.key==="Backspace"&&n===""&&Se.length>0){R.preventDefault(),c==null||c(Se[Se.length-1]);return}if(!(de===null||we.length===0)){if(R.key==="ArrowDown")R.preventDefault(),U(pe=>Math.min(pe+1,we.length-1));else if(R.key==="ArrowUp")R.preventDefault(),U(pe=>Math.max(pe-1,0));else if(R.key==="Enter")R.preventDefault(),we[z]&&ue(we[z]);else if(R.key==="Escape"){let pe=n.replace(/\\s*#\\S*$/,"");L(pe)}}}let w=(t??"").trim(),X=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",O=n||Se.length>0;return(0,j.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,j.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[p&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("a",{id:"header-back-link",href:p,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:g??"Back"}),(0,j.jsx)(Kn,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,j.jsx)("div",{className:"flex-shrink-0",style:w?{fontSize:20}:void 0,children:w||(a==="vibeflow"?(0,j.jsx)(mg,{size:32}):(0,j.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:X,children:X.charAt(0).toUpperCase()}))}),(0,j.jsxs)("div",{children:[(0,j.jsxs)("div",{className:"flex items-center gap-2",children:[(0,j.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:X}),r&&(0,j.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,j.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,j.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,j.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[N,s&&(0,j.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,j.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,j.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,j.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var R;return(R=B.current)==null?void 0:R.focus()},children:[(0,j.jsx)(Vr,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),Se.map(R=>{let{bg:pe,text:ze,border:Te}=na(R);return(0,j.jsxs)("span",{style:{background:pe,color:ze,border:`1px solid ${Te}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[R,(0,j.jsx)("button",{onClick:Ae=>{Ae.stopPropagation(),c==null||c(R)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,j.jsx)(Ge,{style:{width:9,height:9}})})]},R)}),(0,j.jsx)("input",{ref:B,id:"global-search",type:"text",placeholder:Se.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:R=>L(R.target.value),onKeyDown:ye,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),O&&(0,j.jsx)("button",{id:"global-search-clear",onClick:()=>{L(""),Se.forEach(R=>c==null?void 0:c(R))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,j.jsx)(Ge,{className:"w-3.5 h-3.5"})})]}),de!==null&&we.length>0&&(0,j.jsxs)("div",{ref:J,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,j.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),we.map((R,pe)=>{let{bg:ze,text:Te,border:Ae}=na(R);return(0,j.jsxs)("button",{onMouseDown:Ke=>{Ke.preventDefault(),ue(R)},onMouseEnter:()=>U(pe),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:pe===z?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,j.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:Te,flexShrink:0}}),(0,j.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:R}),(0,j.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:ze,color:Te,border:`1px solid ${Ae}`},children:"tag"})]},R)}),(0,j.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,j.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[I,k===!0&&m&&m.length>0&&(0,j.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:999,fontSize:10,fontWeight:600,border:"1px solid color-mix(in srgb, var(--p-blue) 40%, transparent)",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)",flexShrink:0},title:`${m.filter(R=>R.status==="running").length} running \\xB7 ${m.filter(R=>R.status==="queued").length} queued`,children:[(0,j.jsx)("span",{className:"spinner",style:{width:9,height:9,borderWidth:1.5}}),m.filter(R=>R.status==="running").length," running",m.filter(R=>R.status==="queued").length>0&&(0,j.jsxs)(j.Fragment,{children:[" \\xB7 ",m.filter(R=>R.status==="queued").length," queued"]})]}),k===!0&&C&&v!==void 0&&v>0&&(0,j.jsx)(Wo,{id:"btn-agent-queue",title:"Agent Queue",onClick:C,label:`\\u{1F916} Queue ${v}`,icon:(0,j.jsx)(mt,{className:"w-3.5 h-3.5"})}),f&&(0,j.jsx)(Wo,{id:"btn-select-tasks",title:u?"Exit selection mode":"Select multiple tasks",onClick:f,label:u?"\\u2715 Done":"\\u2611 Select",icon:(0,j.jsx)(dr,{className:"w-3.5 h-3.5"})}),(0,j.jsx)(Wo,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>b(!0),label:"? shortcuts"}),(0,j.jsx)(Wo,{id:"btn-settings",title:"Settings",onClick:x,icon:(0,j.jsx)(Gr,{className:"w-3.5 h-3.5"})})]}),y&&(0,j.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>b(!1),children:(0,j.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:R=>R.stopPropagation(),children:[(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,j.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,j.jsx)("button",{onClick:()=>b(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,j.jsx)(Ge,{style:{width:14,height:14}})})]}),(0,j.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([R,pe])=>(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,j.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:R}),(0,j.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:pe})]},R))})]})})]})}var Q=E(Ee(),1);var ei=E(Ee(),1);var La=E(K(),1);function ti({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ei.default.useState(!1),l=ei.default.useRef(null),s=jr.find(i=>i.value===t)??jr[0];return ei.default.useEffect(()=>{let i=d=>{var c;(c=l.current)!=null&&c.contains(d.target)||n(!1)};return document.addEventListener("click",i),()=>document.removeEventListener("click",i)},[]),(0,La.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,La.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:i=>{i.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,La.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,La.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,La.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:jr.map(i=>(0,La.jsxs)("button",{type:"button",title:i.tooltip,onClick:()=>{a(i.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:i.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:i.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,La.jsx)("span",{style:{fontSize:14,lineHeight:1},children:i.icon}),(0,La.jsx)("span",{children:i.label})]},i.value))})]})}var yt=E(Ee(),1);var il=E(Ee(),1);var mr=E(K(),1);function gr({markdown:e,className:t,style:a}){let r=il.default.useRef(null),o=il.default.useRef({}),[n,l]=il.default.useState(null);return il.default.useEffect(()=>{let s=r.current;if(!s)return;function i(){l(null)}async function d(p){let g=p.target,L=g==null?void 0:g.closest("a[data-task-ref]");if(!L){i();return}p.preventDefault();let x=L.getAttribute("data-task-ref");if(!x)return;let I=L.getBoundingClientRect(),N=o.current[x];if(N){l({id:x,title:N.title,status:N.status,x:I.left,y:I.bottom+6});return}try{let u=await(await fetch(`/api/tasks/${x}`)).json(),f={title:u.title??`Task ${x}`,status:u.status??"unknown"};o.current[x]=f,l({id:x,title:f.title,status:f.status,x:I.left,y:I.bottom+6})}catch{l({id:x,title:`Task ${x}`,status:"unknown",x:I.left,y:I.bottom+6})}}function c(p){var x,I;let g=(I=(x=p.target)==null?void 0:x.closest)==null?void 0:I.call(x,"a[data-task-ref]");if(!g)return;let L=g.getAttribute("data-task-ref");L&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:L}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",i),s.addEventListener("click",c),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",i),s.removeEventListener("click",c)}},[]),(0,mr.jsxs)("div",{style:{position:"relative"},children:[(0,mr.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:Gs(e)}}),n&&(0,mr.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,mr.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,mr.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,mr.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var ul=E(Ee(),1),gg=E(K(),1),Vo=ul.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let i=ul.default.useRef(null),d=o??r*2,c=ul.default.useCallback(()=>{let p=i.current;if(!p)return;p.style.height="auto";let g=window.getComputedStyle(p),L=Number.parseFloat(g.lineHeight||"0")||18,x=Number.parseFloat(g.paddingTop||"0")+Number.parseFloat(g.paddingBottom||"0"),I=Number.parseFloat(g.borderTopWidth||"0")+Number.parseFloat(g.borderBottomWidth||"0"),N=r*L+x+I,m=d*L+x+I,u=Math.max(N,Math.min(p.scrollHeight,m));p.style.height=`${u}px`,p.style.overflowY=p.scrollHeight>m?"auto":"hidden"},[r,d]);return ul.default.useLayoutEffect(()=>{c()},[t,c]),(0,gg.jsx)("textarea",{...l,ref:p=>{i.current=p,typeof s=="function"?s(p):s&&(s.current=p)},rows:r,value:t,onChange:p=>a(p.target.value),style:{...n,resize:"none"}})});var vg=E(Ee(),1);var hg=E(Ee(),1),xg=E(Ur(),1),za=E(K(),1);function Qr({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:i,footer:d,boxStyle:c,onKeyDown:p}){if(hg.default.useEffect(()=>{if(!e)return;function x(I){I.key==="Escape"&&t(),p==null||p(I)}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[e,t,p]),!e)return null;let g=!!(a||r||o),L=(0,za.jsx)("div",{id:s,className:"modal-backdrop",onClick:x=>{x.target===x.currentTarget&&t()},onMouseDown:x=>x.stopPropagation(),children:(0,za.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...c},children:[g&&(0,za.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,za.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,za.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,za.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),i,d&&(0,za.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,xg.createPortal)(L,document.body)}var Vt=E(K(),1);function Sa({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:i}){let d=vg.default.useCallback(c=>{c.key==="Enter"&&s()},[s]);return(0,Vt.jsx)(Qr,{open:e,onClose:i,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,Vt.jsx)(fr,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,Vt.jsxs)(Vt.Fragment,{children:[(0,Vt.jsx)("button",{id:"confirm-modal-cancel",onClick:i,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,Vt.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,Vt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,Vt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,Vt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ye=E(K(),1);function yg(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function $v(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Vv(e){return/\\.html?$/i.test(e.name)}function ai({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=$v(e),l=Vv(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ye.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ye.jsx)("span",{style:{fontSize:14,flexShrink:0},children:yg(e)}),(0,Ye.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ye.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ye.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?Pt(e.createdAt):"attached"}),(0,Ye.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ye.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ye.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ye.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ye.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ye.jsx)("span",{style:{fontSize:18,flexShrink:0},children:yg(e)}),(0,Ye.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ye.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ye.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:Fd(e.size??0)})]}),(0,Ye.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ye.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ye.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ye.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var q=E(K(),1);function Lg({source:e}){return e!=="cli"?null:(0,q.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function Gv(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function Kv(e,t){let a=[];for(let r of e){let o=Gv(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function Wd({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:i,taskCreatedAt:d,taskUpdatedAt:c,onEdit:p,onDelete:g,onDeleteFile:L,onFilePreview:x}){let I=yt.default.useRef(null),N=yt.default.useRef(null),[m,u]=yt.default.useState(null),[f,v]=yt.default.useState(""),[C,k]=yt.default.useState(null),[y,b]=yt.default.useState(null),[z,U]=yt.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),B=yt.default.useRef(r),J=yt.default.useMemo(()=>{let ee=[];d&&ee.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),c&&c!==d&&ee.push({kind:"lifecycle",sortKey:c,label:"Task edited",icon:"\\u270E"});let we=e.map(w=>({kind:"comment",sortKey:w.createdAt,comment:w})),ue=t.map(w=>{let X=w.url.startsWith("http")?w.url:`${s}${w.url}`;return{kind:"file",sortKey:w.createdAt??"9999",file:w,url:X}}),ye=a.map(w=>({kind:"change",sortKey:w.timestamp,field:w.field,from:w.from,to:w.to,actor:w.actor,source:w.source}));return[...ee,...we,...ue,...ye].sort((w,X)=>X.sortKey.localeCompare(w.sortKey))},[e,t,a,s,d,c]),re=yt.default.useMemo(()=>J.filter(ee=>ee.kind==="lifecycle"||ee.kind==="change").length,[J]),de=yt.default.useMemo(()=>z?J:J.filter(ee=>ee.kind==="comment"||ee.kind==="file"),[J,z]),Se=yt.default.useMemo(()=>Kv(de,n),[de,n]);return yt.default.useEffect(()=>{let ee=B.current&&!r;B.current=r,I.current&&ee&&requestAnimationFrame(()=>{I.current&&(I.current.scrollTop=0)})},[r]),yt.default.useEffect(()=>{m&&N.current&&(N.current.focus(),N.current.scrollIntoView({block:"nearest"}))},[m]),r?(0,q.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,q.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):J.length===0?(0,q.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,q.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[re>0&&(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,q.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:z?"":`${re} system event${re!==1?"s":""} hidden`}),(0,q.jsx)("button",{id:"dp-toggle-updates",onClick:()=>U(ee=>{let we=!ee;try{localStorage.setItem("vibeflow-show-updates",String(we))}catch{}return we}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:z?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:z?"Hide system events":`Show ${re} system event${re!==1?"s":""}`,onMouseEnter:ee=>{ee.currentTarget.style.color="var(--p-text)",ee.currentTarget.style.background="var(--p-hover)"},onMouseLeave:ee=>{ee.currentTarget.style.color=z?"var(--p-text-m)":"var(--p-text-g)",ee.currentTarget.style.background="transparent"},children:z?(0,q.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,q.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,q.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,q.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,q.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,q.jsx)("div",{ref:I,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:Se.map((ee,we)=>{let ue=ee.author!==null&&ee.items.length>1,ye=ue,w=ee.author==="\\u{1F916} Agent";return(0,q.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[ye&&(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,q.jsx)("span",{style:{fontSize:11,fontWeight:600,color:w?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:ee.author}),(0,q.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${Pt(ee.oldestSortKey)} \\u2013 ${Pt(ee.newestSortKey)}`}),(0,q.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",ee.items.length," activities)"]})]}),(0,q.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:ue?4:8,paddingLeft:ue?8:0,borderLeft:ue?"1.5px solid var(--p-border)":"none",marginLeft:ue?4:0},children:ee.items.map((X,O)=>jv(X,O,we,ue,n,m,f,N,u,v,p,k,L?b:null,x))})]},`group-${we}`)})}),(0,q.jsx)(Sa,{open:C!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{C&&g(C),k(null)},onCancel:()=>k(null)}),L&&(0,q.jsx)(Sa,{open:y!==null,message:y?`Delete "${y.name}"? This action cannot be undone.`:"",onConfirm:()=>{y&&L(y),b(null)},onCancel:()=>b(null)})]})}function jv(e,t,a,r,o,n,l,s,i,d,c,p,g,L){if(e.kind==="lifecycle")return(0,q.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,q.jsx)("div",{style:{flex:1,minWidth:0},children:(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,q.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:Pt(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let C=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,k=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,y=e.from.length>28||e.to.length>28;return(0,q.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,q.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,q.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,q.jsx)(Lg,{source:e.source}),(0,q.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,q.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,q.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:Pt(e.sortKey)})]}),(0,q.jsxs)("div",{title:y?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:y?"help":"default"},children:[(0,q.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:C}),(0,q.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,q.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:v,url:C}=e;return(0,q.jsx)(ai,{file:v,url:C,variant:"compact",onPreview:L?(k,y)=>L(k.name,y):void 0,onDelete:g?k=>(g(k),Promise.resolve()):void 0},`file-${v.name}-${a}-${t}`)}let x=e.comment,I=x.author==="agent",N=x.type==="system",m=x.deleted===!0,u=!!x.id&&!I&&!N&&!m&&x.isOwnComment!==!1,f=n===x.id;return N?(0,q.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,q.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,q.jsx)("span",{children:x.text}),!r&&(0,q.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:Pt(x.createdAt)})]},x.id):(0,q.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,q.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,q.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,q.jsx)("span",{style:{color:m?"var(--p-text-g)":I?"var(--p-purple)":"var(--p-blue-300)"},children:I?"\\u{1F916} Agent":`\\u{1F464} ${x.authorName??o}`}),(0,q.jsx)(Lg,{source:x.source}),(0,q.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[Pt(x.createdAt),!m&&x.updatedAt?" \\xB7 edited":"",m?" \\xB7 deleted":""]})]}),u&&(0,q.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,q.jsx)("button",{onClick:()=>{i(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,q.jsx)("button",{onClick:()=>p(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,q.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,q.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[Pt(x.createdAt),!m&&x.updatedAt?" \\xB7 edited":"",m?" \\xB7 deleted":""]}),u&&(0,q.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,q.jsx)("button",{onClick:()=>{i(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,q.jsx)("button",{onClick:()=>p(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,q.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),f?(0,q.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,q.jsx)(Vo,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:v=>{v.key==="Enter"&&(v.ctrlKey||v.metaKey)&&(v.preventDefault(),c(x,l).then(()=>i(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,q.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,q.jsx)("button",{onClick:()=>i(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,q.jsx)("button",{onClick:async()=>{await c(x,l),i(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):m?(0,q.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,q.jsx)(gr,{markdown:x.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},x.id)}var Sg=E(Ee(),1);var hr=E(K(),1);function $d({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=Sg.default.useState(null);return t?(0,hr.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,hr.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,hr.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,hr.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.map(i=>{let d=i.url??`${r}/api/files/${encodeURIComponent(i.name)}`;return(0,hr.jsx)(ai,{file:i,url:d,variant:"normal",onPreview:c=>o(c),onDelete:n?c=>(s(c),Promise.resolve()):void 0},i.name)}),n&&(0,hr.jsx)(Sa,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var Gd=E(Ee(),1);var Go=E(Ee(),1),Ig=E(Ur(),1);var la=E(K(),1);function dl({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:i,previewMinHeight:d=54,previewMaxHeight:c=220,baseRows:p=5,maxRows:g=12,autoFocus:L=!1,textareaRef:x,onKeyDown:I,afterTextarea:N,onBlur:m}){let u=Go.default.useRef(null),[f,v]=Go.default.useState([]),[C,k]=Go.default.useState(null),[y,b]=Go.default.useState(null);Go.default.useEffect(()=>{let B=!0;return fetch("/api/tasks").then(J=>J.json()).then(J=>{if(!B)return;let re=(J.tasks??[]).map(de=>({id:String(de.id??""),title:String(de.title??"")})).filter(de=>de.id.length>0);v(re)}).catch(()=>{}),()=>{B=!1}},[]);function z(B){let J=u.current;if(!J){k(null);return}let re=J.selectionStart??B.length,de=B.slice(0,re),Se=-1;for(let ye=de.length-1;ye>=0;ye--){if(de[ye]!=="#")continue;let w=ye>0?de[ye-1]:"";if(w&&!/\\s/.test(w))continue;let X=de.slice(ye+1);if(!X.includes("#")){if(X.length>80)return;Se=ye;break}}if(Se===-1){k(null);return}let ee=de.slice(Se+1).trim().toLowerCase(),we=f.filter(ye=>{if(!ee)return!0;let w=ye.id.toLowerCase(),X=ye.title.toLowerCase();return w.includes(ee)||X.includes(ee)}).sort((ye,w)=>{let X=ye.id.toLowerCase().startsWith(ee)?1:0,O=w.id.toLowerCase().startsWith(ee)?1:0;if(X!==O)return O-X;let R=ye.title.toLowerCase().startsWith(ee)?1:0,pe=w.title.toLowerCase().startsWith(ee)?1:0;return R!==pe?pe-R:ye.id.localeCompare(w.id)}).slice(0,6);if(!we.length){k(null),b(null);return}let ue=J.getBoundingClientRect();b({top:ue.top,left:ue.left,width:ue.width}),k({queryStart:Se,queryEnd:re,items:we})}function U(B){let J=C;if(!J)return;let re=`${e.slice(0,J.queryStart)}#${B} ${e.slice(J.queryEnd)}`;t(re),k(null),b(null),requestAnimationFrame(()=>{let de=u.current;if(!de)return;let Se=J.queryStart+B.length+2;de.focus(),de.setSelectionRange(Se,Se)})}return r?(0,la.jsx)("div",{id:n,onClick:B=>{B.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:c},children:(a??e).trim()?(0,la.jsx)(gr,{markdown:a??e}):(0,la.jsx)("span",{style:{color:"var(--p-border-t)"},children:i??s})}):(0,la.jsxs)("div",{style:{position:"relative"},children:[(0,la.jsx)(Vo,{id:l,ref:B=>{u.current=B,x&&(x.current=B)},className:"dp-textarea",placeholder:s,value:e,onChange:B=>{t(B),z(B)},onFocus:()=>o(!1),onBlur:()=>{k(null),b(null),o(!0),m==null||m()},baseRows:p,maxRows:g,autoFocus:L,onKeyDown:B=>{B.key==="Escape"&&(k(null),b(null)),I==null||I(B)}}),C&&y&&(0,Ig.createPortal)((0,la.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:y.left+8,width:y.width-16,top:y.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:C.items.map(B=>(0,la.jsxs)("button",{type:"button",onMouseDown:J=>{J.preventDefault(),U(B.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:J=>{J.currentTarget.style.background="var(--p-hover)"},onMouseLeave:J=>{J.currentTarget.style.background="transparent"},children:[(0,la.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",B.id]}),(0,la.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:B.title})]},B.id))}),document.body),N]})}var Yr=E(Ee(),1);var Gt=E(K(),1);function Vd({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=Yr.default.useState(""),[l,s]=Yr.default.useState(!1),i=Yr.default.useRef(null),d=Yr.default.useRef(null),c=o.trim().toLowerCase(),p=Yr.default.useMemo(()=>t.filter(f=>!e.includes(f)&&f.toLowerCase().includes(c)).slice(0,8),[t,e,c]),g=c.length>0&&!t.some(u=>u.toLowerCase()===c)&&!e.some(u=>u.toLowerCase()===c),L=c.length>0&&t.some(u=>u.toLowerCase()===c)&&!e.some(u=>u.toLowerCase()===c);function x(u){var v;let f=u.trim();!f||e.includes(f)||(a([...e,f]),n(""),s(!1),(v=i.current)==null||v.focus())}function I(u){a(e.filter(f=>f!==u))}function N(u){if(u.key==="Enter")if(u.preventDefault(),g||L){let f=t.find(v=>v.toLowerCase()===c);x(f??o.trim())}else p.length>0&&x(p[0]);u.key==="Escape"&&(s(!1),n("")),u.key==="Backspace"&&!o&&e.length>0&&I(e[e.length-1])}Yr.default.useEffect(()=>{function u(f){d.current&&!d.current.contains(f.target)&&s(!1)}return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);let m=l&&(p.length>0||g);return(0,Gt.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,Gt.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var u;r||(u=i.current)==null||u.focus()},children:[(0,Gt.jsx)(sl,{tags:e,onRemove:r?void 0:I,size:"sm"}),!r&&(0,Gt.jsx)("input",{ref:i,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:u=>{n(u.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:N,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),m&&(0,Gt.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:u=>u.preventDefault(),children:[p.map(u=>{let{bg:f,text:v,border:C}=na(u);return(0,Gt.jsxs)("button",{type:"button",onClick:()=>x(u),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:k=>{k.currentTarget.style.background="var(--p-hover)"},onMouseLeave:k=>{k.currentTarget.style.background="none"},children:[(0,Gt.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:v,border:`1px solid ${C}`,flexShrink:0}}),u]},u)}),g&&(0,Gt.jsxs)("button",{type:"button",onClick:()=>x(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:p.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:u=>{u.currentTarget.style.background="var(--p-hover)",u.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:u=>{u.currentTarget.style.background="none",u.currentTarget.style.color="var(--p-text-g)"},children:[(0,Gt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,Gt.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var G=E(K(),1);function Kd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:i,originalDescription:d,onPriorityChange:c,githubUrl:p,onFilePreview:g,onPatch:L,onDeleteScreenshot:x,liveFiles:I,allTags:N=[],overrideTags:m,onTagsChange:u}){var J;let f=(e==null?void 0:e.files)??[],v=I?I.map(re=>({name:re.name,linkedPath:re.linkedPath,addedAt:re.createdAt,url:re.url})):f,C=v==null?void 0:v.find(re=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(re.name)),k=e&&C?C.url||`/api/tasks/${e.id}/files/${encodeURIComponent(C.name)}`:null,y=Gd.default.useRef(null),[b,z]=Gd.default.useState(null),{userPart:U,consolePart:B}=Yv(t);return(0,G.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,G.jsxs)("div",{children:[(0,G.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,G.jsx)(dl,{value:t,previewValue:B?U:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:y,afterTextarea:i&&d!==void 0&&t!==d?(0,G.jsx)("button",{type:"button",onMouseDown:re=>{re.preventDefault(),i()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:re=>{re.currentTarget.style.color="var(--p-amber-300)",re.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:re=>{re.currentTarget.style.color="var(--p-text-g)",re.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),B&&(0,G.jsx)(Zv,{logs:B}),e&&C&&k&&(0,G.jsxs)("div",{children:[(0,G.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,G.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,G.jsx)("button",{onClick:()=>g(C.name,k),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,G.jsx)("img",{src:k,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,G.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,G.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:C.addedAt?`Captured ${Pt(C.addedAt)}`:"Screenshot attached"}),(0,G.jsx)("button",{onClick:()=>g(C.name,k),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,G.jsx)("button",{onClick:()=>z(C.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,G.jsxs)("div",{children:[(0,G.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,G.jsx)(Vd,{tags:m??(e==null?void 0:e.tags)??[],allTags:N,disabled:!e&&!u,onChange:re=>{u?u(re):e&&L(e.id,{tags:re})}})]}),(0,G.jsxs)("div",{children:[(0,G.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,G.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:re=>{let de=re.target.value;l(de),c==null||c(de)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,G.jsx)("option",{value:"",children:"\\u2014"}),(0,G.jsx)("option",{value:"Critical",children:"Critical"}),(0,G.jsx)("option",{value:"High",children:"High"}),(0,G.jsx)("option",{value:"Medium",children:"Medium"}),(0,G.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,G.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,G.jsx)(ri,{label:"Created",id:"dp-created",children:e.createdAt?Pt(e.createdAt):"\\u2014"}),(0,G.jsx)(ri,{label:"ID",id:"dp-id",children:(0,G.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,G.jsx)(ri,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),e.agent&&(0,G.jsx)(ri,{label:"Agent",id:"dp-agent",children:(0,G.jsx)("span",{style:{color:"#a78bfa"},children:e.agent})}),(e.commit||((J=e.commits)==null?void 0:J.length))&&(0,G.jsx)(Xv,{task:e,githubUrl:p}),e.branchName&&(0,G.jsx)(Qv,{branchName:e.branchName}),e.annotatedElementText&&(0,G.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,G.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,G.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,G.jsx)(Sa,{open:b!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{b&&x(b),z(null)},onCancel:()=>z(null)})]})}function ri({label:e,id:t,children:a}){return(0,G.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,G.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,G.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function Xv({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,G.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,G.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,G.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,G.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,G.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,G.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function Qv({branchName:e}){return(0,G.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,G.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,G.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function Yv(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function Zv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,G.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,G.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,G.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,G.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,G.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,G.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,G.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var Ko=E(K(),1);function jd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,Ko.jsx)("div",{id:"dp-comment-input-area",children:(0,Ko.jsx)(dl,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,Ko.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,Ko.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,Ko.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var Oe=E(Ee(),1),Xd=E(Ur(),1);var A=E(K(),1),fl=[{id:"opencode/hy3-preview-free",label:"Hy3 Preview (Free)",provider:"OpenCode",recommended:!0},{id:"opencode/minimax-m2.5-free",label:"MiniMax M2.5 (Free)",provider:"OpenCode",recommended:!0},{id:"opencode/nemotron-3-super-free",label:"Nemotron 3 Super (Free)",provider:"OpenCode",recommended:!0},{id:"opencode-go/deepseek-v4-flash",label:"DeepSeek V4 Flash",provider:"OpenCode Go",recommended:!0},{id:"opencode-go/qwen3.5-plus",label:"Qwen 3.5 Plus",provider:"OpenCode Go",recommended:!0},{id:"opencode-go/qwen3.6-plus",label:"Qwen 3.6 Plus",provider:"OpenCode Go"},{id:"opencode-go/minimax-m2.5",label:"MiniMax M2.5",provider:"OpenCode Go"},{id:"opencode-go/minimax-m2.7",label:"MiniMax M2.7",provider:"OpenCode Go"},{id:"opencode-go/kimi-k2.5",label:"Kimi K2.5",provider:"OpenCode Go"},{id:"opencode-go/glm-5",label:"GLM 5",provider:"OpenCode Go"},{id:"github-copilot/gpt-4o",label:"GPT-4o (Copilot)",provider:"GitHub Copilot",recommended:!0},{id:"github-copilot/gpt-4.1",label:"GPT-4.1 (Copilot)",provider:"GitHub Copilot"},{id:"github-copilot/claude-haiku-4.5",label:"Claude Haiku 4.5 (Copilot)",provider:"GitHub Copilot"},{id:"github-copilot/gpt-5-mini",label:"GPT-5 Mini (Copilot)",provider:"GitHub Copilot"},{id:"openrouter/google/gemma-3-12b-it:free",label:"Gemma 3 12B (Free)",provider:"OpenRouter"},{id:"openrouter/anthropic/claude-3.5-haiku",label:"Claude 3.5 Haiku",provider:"OpenRouter"},{id:"openrouter/anthropic/claude-3.7-sonnet",label:"Claude 3.7 Sonnet",provider:"OpenRouter"},{id:"anthropic/claude-sonnet-4-20250514",label:"Claude Sonnet 4",provider:"Anthropic"},{id:"anthropic/claude-opus-4-20250514",label:"Claude Opus 4",provider:"Anthropic"},{id:"openai/gpt-4o",label:"GPT-4o",provider:"OpenAI"},{id:"openai/gpt-4-turbo",label:"GPT-4 Turbo",provider:"OpenAI"},{id:"google/gemini-2-5-pro",label:"Gemini 2.5 Pro",provider:"Google"},{id:"google/gemini-2-0-flash-exp",label:"Gemini 2.0 Flash",provider:"Google"},{id:"ollama/llama-3-1-8b",label:"Llama 3.1 8B",provider:"Ollama"},{id:"ollama/qwen2-5-coder",label:"Qwen 2.5 Coder",provider:"Ollama"}];function Cg(e){if(!e)return"";let t=Date.now()-new Date(e).getTime(),a=Math.floor(t/6e4),r=Math.floor(t%6e4/1e3);return`${a}m ${r.toString().padStart(2,"0")}s`}function oi({value:e,onChange:t,disabled:a=!1,models:r=fl}){let[o,n]=Oe.default.useState(!1),[l,s]=Oe.default.useState(""),i=Oe.default.useRef(null),d=Oe.default.useRef(null),c=r.length>0?r:fl,p=c.find(f=>f.id===e),g=Oe.default.useMemo(()=>{if(!l)return c;let f=l.toLowerCase();return c.filter(v=>v.label.toLowerCase().includes(f)||v.provider.toLowerCase().includes(f)||v.id.toLowerCase().includes(f))},[l,c]),L=Oe.default.useMemo(()=>{let f={};for(let v of g)f[v.provider]||(f[v.provider]=[]),f[v.provider].push(v);return f},[g,c]),[x,I]=Oe.default.useState(null);function N(){a||(n(f=>!f),requestAnimationFrame(()=>{if(i.current){let f=i.current.getBoundingClientRect();I(f)}}))}function m(){n(!1),s(""),I(null)}Oe.default.useEffect(()=>{if(!o)return;function f(v){let C=v.target;i.current&&i.current.contains(C)||d.current&&d.current.contains(C)||m()}return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[o]),Oe.default.useEffect(()=>{if(!o)return;function f(v){v.key==="Escape"&&m()}return document.addEventListener("keydown",f,!0),()=>document.removeEventListener("keydown",f,!0)},[o]);let u=o&&x?(0,Xd.createPortal)((0,A.jsxs)("div",{ref:d,"data-model-picker-dropdown":!0,style:{position:"fixed",left:x.left,bottom:window.innerHeight-x.top+4,width:x.width,background:"var(--p-surface)",border:"1px solid var(--p-border)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",zIndex:1e5,maxHeight:320,overflowY:"auto",display:"flex",flexDirection:"column"},children:[(0,A.jsx)("div",{style:{padding:8,borderBottom:"1px solid var(--p-border)",flexShrink:0},children:(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",background:"var(--p-bg-2)",borderRadius:6,border:"1px solid var(--p-border)"},children:[(0,A.jsx)(Vr,{style:{width:12,height:12,color:"var(--p-text-g)",flexShrink:0}}),(0,A.jsx)("input",{type:"text",placeholder:"Filter models...",value:l,onChange:f=>s(f.target.value),autoFocus:!0,style:{flex:1,border:"none",background:"transparent",fontSize:12,color:"var(--p-text)",outline:"none"}})]})}),(0,A.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:4},children:[Object.entries(L).map(([f,v])=>(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{padding:"6px 10px 4px",fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:f}),v.map(C=>(0,A.jsxs)("button",{type:"button",onClick:()=>{t(C.id),m()},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 10px",borderRadius:5,border:"none",background:e===C.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent",color:e===C.id?"var(--p-purple-300)":"var(--p-text-m)",fontSize:12,cursor:"pointer",textAlign:"left",transition:"background .1s"},onMouseEnter:k=>{k.currentTarget.style.background=e===C.id?"color-mix(in srgb, var(--p-purple) 15%, transparent)":"var(--p-hover)"},onMouseLeave:k=>{k.currentTarget.style.background=e===C.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent"},children:[(0,A.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:C.label}),C.recommended&&(0,A.jsx)("span",{style:{fontSize:8,fontWeight:600,padding:"1px 4px",borderRadius:3,background:"var(--p-purple)",color:"#fff",flexShrink:0},children:"Rec"})]},C.id))]},f)),g.length===0&&(0,A.jsxs)("div",{style:{padding:16,textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:[\'No models match "\',l,\'"\']})]})]}),document.body):null;return(0,A.jsxs)("div",{ref:i,style:{position:"relative"},children:[(0,A.jsxs)("button",{type:"button",onClick:N,disabled:a,style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderRadius:7,border:`1px solid ${o?"var(--p-purple-300)":"var(--p-border)"}`,background:"var(--p-bg-2)",color:"var(--p-text-m)",fontSize:12,cursor:a?"not-allowed":"pointer",transition:"all .12s",opacity:a?.6:1},onMouseEnter:f=>{a||(f.currentTarget.style.borderColor="var(--p-purple-300)")},onMouseLeave:f=>{a||(f.currentTarget.style.borderColor=o?"var(--p-purple-300)":"var(--p-border)")},children:[(0,A.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,overflow:"hidden"},children:[(0,A.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(p==null?void 0:p.label)||"Select model"}),(p==null?void 0:p.recommended)&&(0,A.jsx)("span",{style:{fontSize:9,fontWeight:600,padding:"1px 5px",borderRadius:3,background:"var(--p-purple)",color:"#fff",flexShrink:0},children:"Recommended"})]}),(0,A.jsx)(ya,{style:{width:14,height:14,color:"var(--p-text-g)",flexShrink:0,transition:"transform .15s",transform:o?"rotate(180deg)":void 0}})]}),u]})}function Qd({value:e,onChange:t,disabled:a=!1,agents:r}){var p,g,L;let[o,n]=Oe.default.useState(!1),l=Oe.default.useRef(null),s=Oe.default.useRef(null),i=r.find(x=>x.id===e);function d(){a||n(x=>!x)}function c(){n(!1)}return Oe.default.useEffect(()=>{if(!o)return;function x(I){let N=I.target;l.current&&l.current.contains(N)||s.current&&s.current.contains(N)||c()}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[o]),(0,A.jsxs)("div",{ref:l,style:{position:"relative"},children:[(0,A.jsxs)("button",{type:"button",onClick:d,disabled:a,style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderRadius:7,border:`1px solid ${o?"var(--p-purple-300)":"var(--p-border)"}`,background:"var(--p-bg-2)",color:i?"var(--p-text)":"var(--p-text-m)",fontSize:12,cursor:a?"not-allowed":"pointer",transition:"all .12s",opacity:a?.6:1},children:[(0,A.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,overflow:"hidden"},children:[(0,A.jsx)(mt,{style:{width:14,height:14,flexShrink:0,color:"var(--p-purple-300)"}}),(0,A.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(i==null?void 0:i.name)||"Select agent"}),i&&(0,A.jsx)("span",{style:{fontSize:9,fontWeight:500,padding:"1px 5px",borderRadius:3,background:"var(--p-border)",color:"var(--p-text-g)",flexShrink:0},children:i.scope})]}),(0,A.jsx)(ya,{style:{width:14,height:14,color:"var(--p-text-g)",flexShrink:0,transition:"transform .15s",transform:o?"rotate(180deg)":void 0}})]}),o&&(0,Xd.createPortal)((0,A.jsx)("div",{ref:s,"data-agent-picker-dropdown":!0,style:{position:"fixed",left:((p=l.current)==null?void 0:p.getBoundingClientRect().left)??0,bottom:window.innerHeight-(((g=l.current)==null?void 0:g.getBoundingClientRect().top)??0)+4,width:((L=l.current)==null?void 0:L.getBoundingClientRect().width)??200,background:"var(--p-surface)",border:"1px solid var(--p-border)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",zIndex:1e5,maxHeight:240,overflowY:"auto",display:"flex",flexDirection:"column"},children:r.map(x=>(0,A.jsxs)("button",{type:"button",onClick:()=>{t(x.id),c()},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderRadius:5,border:"none",background:e===x.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent",color:e===x.id?"var(--p-purple-300)":"var(--p-text-m)",fontSize:12,cursor:"pointer",textAlign:"left",transition:"background .1s"},onMouseEnter:I=>{I.currentTarget.style.background=e===x.id?"color-mix(in srgb, var(--p-purple) 15%, transparent)":"var(--p-hover)"},onMouseLeave:I=>{I.currentTarget.style.background=e===x.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent"},children:[(0,A.jsx)(mt,{style:{width:14,height:14,flexShrink:0,color:"var(--p-purple-300)"}}),(0,A.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:x.name}),(0,A.jsx)("span",{style:{fontSize:9,fontWeight:500,padding:"1px 4px",borderRadius:3,background:"var(--p-border)",color:"var(--p-text-g)",flexShrink:0},children:x.scope})]},x.id))}),document.body)]})}function Jv({status:e}){let t={idle:"var(--p-text-g)",queued:"var(--p-amber)",running:"var(--p-blue)",done:"var(--p-green)",failed:"var(--p-red)"},a={idle:"Idle",queued:"Queued",running:"Running",done:"Completed",failed:"Failed"},[r,o]=Oe.default.useState(!0);return Oe.default.useEffect(()=>{if(e!=="running")return;let n=setInterval(()=>o(l=>!l),800);return()=>{clearInterval(n),o(!0)}},[e]),(0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,color:t[e]},children:[(0,A.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:t[e],opacity:e==="running"?r?1:.3:1,transition:"opacity 0.3s ease"}}),a[e]]})}function ey(e){var a;let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let r=JSON.parse(t);if(r.type==="text"&&typeof r.part=="object"&&r.part){let o=r.part,n=typeof o.text=="string"?o.text:"";return n?(0,A.jsx)("span",{style:{color:"#e2e8f0"},children:n}):null}if(r.type==="tool_use"&&typeof r.part=="object"&&r.part){let o=r.part;if(o.type==="tool"){let n=typeof o.tool=="string"?o.tool:"tool",l=typeof o.state=="object"&&o.state?o.state:{},s=typeof l.input=="object"&&l.input?l.input:{},i=l.output??((a=l.metadata)==null?void 0:a.output),d=l.error,c=typeof l.status=="string"?l.status:"";return(0,A.jsxs)("div",{style:{color:"#94a3b8"},children:[(0,A.jsxs)("div",{children:[(0,A.jsxs)("span",{style:{color:"#60a5fa"},children:["\\u2192 ",n]}),typeof s.description=="string"&&s.description&&(0,A.jsxs)("span",{children:[": ",s.description]}),typeof s.command=="string"&&s.command&&!s.description&&(0,A.jsxs)("span",{children:[": ",s.command]}),typeof s.filePath=="string"&&s.filePath&&(0,A.jsxs)("span",{children:[": ",s.filePath]}),typeof s.url=="string"&&s.url&&(0,A.jsxs)("span",{children:[": ",s.url]})]}),d!==void 0&&(0,A.jsx)("div",{style:{marginLeft:12,color:"#ef4444",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:9},children:String(d).slice(0,2e3)}),i!==void 0&&d===void 0&&(0,A.jsx)("div",{style:{marginLeft:12,color:c==="error"?"#ef4444":"#22c55e",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:9},children:String(i).slice(0,2e3)})]})}}if(r.type==="step_start"||r.type==="step_finish")return null;if(r.type==="error"){let o=typeof r.message=="string"?r.message:JSON.stringify(r);return(0,A.jsxs)("span",{style:{color:"#ef4444"},children:["Error: ",o]})}return(0,A.jsxs)("span",{style:{color:"#64748b",fontSize:9},children:["[",String(r.type),"]"]})}catch{}return t.startsWith("opencode run")?(0,A.jsxs)("span",{style:{color:"#64748b",fontSize:9},children:["$ ",t.split(`\n`)[0]]}):t.startsWith("\\u2713")||t.startsWith("\\u2717")||t.startsWith("\\u25B6")?(0,A.jsx)("span",{children:t}):(0,A.jsx)("span",{style:{color:"#94a3b8"},children:t})}function ty({logs:e,status:t}){let a=Oe.default.useRef(null),r=e.join(""),o=Oe.default.useMemo(()=>r.split(`\n`).filter(n=>n.trim().length>0),[r]);return Oe.default.useEffect(()=>{a.current&&t==="running"&&(a.current.scrollTop=a.current.scrollHeight)},[o.length,t]),(0,A.jsxs)("div",{ref:a,style:{background:"#0a0c10",border:"1px solid var(--p-border)",borderRadius:7,padding:"10px 12px",fontFamily:"\'SF Mono\', \'Fira Code\', monospace",fontSize:10,lineHeight:1.65,color:"#a3e635",maxHeight:200,overflowY:"auto"},children:[o.map((n,l)=>{let s=ey(n);return s===null?null:(0,A.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:s},l)}).filter(Boolean),t==="running"&&(0,A.jsx)("span",{style:{color:"#a3e635"},children:"\\u258C"})]})}function Yd({task:e,run:t,onRun:a,onStop:r,onDequeue:o,models:n,defaultModel:l,onModelChange:s,agents:i,onAgentChange:d}){var y,b;let c=n&&n.length>0?n:fl,[p,g]=Oe.default.useState(e.model??l??((y=c[0])==null?void 0:y.id)),[L,x]=Oe.default.useState(e.agent??((b=i==null?void 0:i[0])==null?void 0:b.id)??"");function I(z){g(z),s==null||s(z)}function N(z){x(z),d==null||d(z)}function m(){a(e.id,p,L||void 0)}Oe.default.useEffect(()=>{s==null||s(p)},[]),Oe.default.useEffect(()=>{L&&(d==null||d(L))},[]),Oe.default.useEffect(()=>{e.model&&e.model!==p&&g(e.model),e.agent&&e.agent!==L&&x(e.agent)},[e.model,e.agent]);let[u,f]=Oe.default.useState("");Oe.default.useEffect(()=>{if((t==null?void 0:t.status)!=="running")return;let z=setInterval(()=>f(Cg(t.startedAt)),1e3);return f(Cg(t.startedAt)),()=>clearInterval(z)},[t==null?void 0:t.status,t==null?void 0:t.startedAt]);let v=(t==null?void 0:t.status)??"idle",C=(t==null?void 0:t.worktree)??`wt/task-${e.id.slice(0,8)}`,k=(t==null?void 0:t.branch)??`agent/task-${e.id.slice(0,8)}`;return(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:14},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,A.jsx)(Jv,{status:v}),v==="running"&&u&&(0,A.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-g)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,A.jsx)(ir,{style:{width:10,height:10}}),u]}),v==="queued"&&(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:"Waiting for current run to finish\\u2026"})]}),v==="idle"&&(0,A.jsxs)("div",{style:{borderRadius:8,padding:12,fontSize:12,lineHeight:1.6,background:"color-mix(in srgb, var(--p-purple) 6%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 25%, transparent)",color:"var(--p-purple-300)"},children:[(0,A.jsx)("strong",{children:"Ready to run."})," The agent will create an isolated worktree, read the task description, and implement a solution. When done, you\'ll review the diff and merge."]}),v==="queued"&&(0,A.jsxs)("div",{style:{borderRadius:8,padding:12,fontSize:12,lineHeight:1.6,background:"color-mix(in srgb, var(--p-amber) 6%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 25%, transparent)",color:"var(--p-amber-300)"},children:[(0,A.jsx)("strong",{children:"\\u23F3 Queued"})," \\u2014 another task is currently running. This task will start automatically when the queue is free."]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em",marginBottom:6},children:"Model"}),(0,A.jsx)(oi,{value:p,onChange:I,disabled:v==="running"||v==="queued",models:c})]}),i&&i.length>0&&(0,A.jsxs)("div",{children:[(0,A.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em",marginBottom:6},children:"Agent"}),(0,A.jsx)(Qd,{value:L,onChange:N,disabled:v==="running"||v==="queued",agents:i})]}),(0,A.jsxs)("div",{style:{border:"1px solid var(--p-border)",borderRadius:8,padding:10,background:"var(--p-bg-2)",display:"flex",flexDirection:"column",gap:6},children:[(0,A.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Worktree"}),(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--p-text-m)"},children:[(0,A.jsx)(Qn,{style:{width:10,height:10,color:"var(--p-text-g)",flexShrink:0}}),(0,A.jsx)("span",{style:{fontFamily:"monospace",fontSize:10},children:C})]}),(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--p-text-m)"},children:[(0,A.jsx)(Yn,{style:{width:10,height:10,color:"var(--p-text-g)",flexShrink:0}}),(0,A.jsx)("span",{style:{fontFamily:"monospace",fontSize:10},children:k})]})]}),t&&t.logs.length>0&&(0,A.jsxs)("div",{children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,A.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Live Output"}),v==="running"&&(0,A.jsxs)("span",{style:{fontSize:10,color:"var(--p-blue-300)",display:"flex",alignItems:"center",gap:4},children:[(0,A.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--p-blue)",animation:"pulse 1s ease-in-out infinite"}}),"Streaming..."]})]}),(0,A.jsx)(ty,{logs:t.logs,status:v})]}),e.agent&&!t&&(0,A.jsxs)("div",{style:{fontSize:11,color:"var(--p-text-g)"},children:["Last agent: ",(0,A.jsx)("span",{style:{color:"var(--p-purple-300)"},children:e.agent}),e.model&&(0,A.jsxs)(A.Fragment,{children:[" \\xB7 model ",(0,A.jsx)("span",{style:{color:"var(--p-purple-300)"},children:e.model})]})]}),t&&(t.status==="done"||t.status==="failed")&&(0,A.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:10,display:"flex",flexWrap:"wrap",gap:"10px 16px",fontSize:10,color:"var(--p-text-g)"},children:[t.durationMs!=null&&(0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[(0,A.jsx)(ir,{style:{width:10,height:10}}),ay(t.durationMs)]}),t.totalTokens!=null&&t.totalTokens>0&&(0,A.jsxs)("span",{title:`${t.inputTokens??0} input \\xB7 ${t.outputTokens??0} output${t.reasoningTokens?` \\xB7 ${t.reasoningTokens} reasoning`:""}`,children:[ry(t.totalTokens)," tokens"]}),t.cost!=null&&t.cost>0&&(0,A.jsxs)("span",{style:{color:"var(--p-green)"},children:["$",t.cost.toFixed(4)]})]})]})}function ay(e){let t=Math.floor(e/6e4),a=Math.floor(e%6e4/1e3);return t>0?`${t}m ${a.toString().padStart(2,"0")}s`:`${a}s`}function ry(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`}var D=E(K(),1),oy="vibeflow-paste-hint-dismissed";function ny({storageKey:e=oy}){let[t,a]=Q.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,D.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,D.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,D.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,D.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,D.jsx)(Ge,{style:{width:12,height:12}})})]})}var ly=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],sy=5*1024*1024;function Zd(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(i=>{i?a(i):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function Jd({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:i,onClose:d,onSave:c,onCreate:p,onDelete:g,onPatch:L,onFilePreview:x,onActivityChange:I,externalLocalChanges:N=[],showLockIndicator:m=!0,lockedByUser:u,onGoBack:f,navBackLabel:v,commentVersion:C,allTasks:k=[],agentRun:y,onRunAgent:b,onStopAgent:z,onDequeueAgent:U,models:B,defaultModel:J,perTypeModels:re,defaultModelBug:de,defaultModelResearch:Se,defaultModelTask:ee,agents:we,experimentalAgents:ue,createBranch:ye}){let w=!t,X=t?nl(t.type):nl("Task"),O=Q.default.useRef(null),[R,pe]=Q.default.useState([]),ze=Q.default.useRef(!1),Te=Q.default.useRef(""),Ae=Q.default.useRef(""),Ke=Q.default.useMemo(()=>{let S=new Set;for(let W of k)for(let Z of W.tags??[])S.add(Z);return[...S].sort()},[k]),[ke,Ze]=Q.default.useState(a),[Re,De]=Q.default.useState(""),[me,rt]=Q.default.useState(""),[St,ot]=Q.default.useState(r),[Kt,ia]=Q.default.useState("Task"),[jt,Ia]=Q.default.useState(""),[ii,vr]=Q.default.useState(!1),[pl,Jr]=Q.default.useState(!1),[jo,Ca]=Q.default.useState(!1),[Rt,eo]=Q.default.useState(""),[ua,yr]=Q.default.useState(!1),wa=Q.default.useRef(null),ml=B&&B.length>0?B[0].id:"",Lr=Q.default.useMemo(()=>{if(re&&(t!=null&&t.type)){if(t.type==="Bug"&&de)return de;if(t.type==="Research"&&Se)return Se;if(t.type==="Task"&&ee)return ee}return J??ml},[re,t==null?void 0:t.type,J,de,Se,ee,ml]),[to,ao]=Q.default.useState((t==null?void 0:t.model)??Lr),[gl,ro]=Q.default.useState((t==null?void 0:t.agent)??"");Q.default.useEffect(()=>{!to&&Lr&&ao(Lr)},[Lr,to]);let Sr=Q.default.useCallback(S=>{ao(S),t&&S!==t.model&&L(t.id,{model:S})},[t,L]),ui=Q.default.useCallback(S=>{ro(S),t&&S!==t.agent&&L(t.id,{agent:S})},[t,L]),[di,hl]=Q.default.useState([]),[Ir,xl]=Q.default.useState(!1),[fi,vl]=Q.default.useState(null),[da,oo]=Q.default.useState(""),[ci,Xo]=Q.default.useState(!1),[no,yl]=Q.default.useState([]),[Qo,Yo]=Q.default.useState(!1),[h,T]=Q.default.useState(null),[F,Y]=Q.default.useState(0),ie=Q.default.useRef(0),[le,H]=Q.default.useState(0),[te,Le]=Q.default.useState(null),[xe,ge]=Q.default.useState([]),[P,He]=Q.default.useState([]),It=Q.default.useRef(null),Xe=Q.default.useRef(()=>{}),fa=Q.default.useRef(""),Cr=Q.default.useRef(!1);Q.default.useEffect(()=>{fa.current=da},[da]),Q.default.useEffect(()=>{Cr.current=jo},[jo]),Q.default.useEffect(()=>{ze.current=s??!1},[s]),Q.default.useEffect(()=>{e||I==null||I(null,"viewing")},[e]),Q.default.useEffect(()=>{if(!e||!t)return;Re!==Te.current||me!==Ae.current?I==null||I(t.id,"locked"):I==null||I(t.id,"viewing")},[Re,me,e,t==null?void 0:t.id]),Q.default.useEffect(()=>{if(!e)return;function S(W){var Z,Pe,Ie,Xt,Qt,Il,lo,Cl;if(!ze.current&&!((Pe=(Z=W.target)==null?void 0:Z.closest)!=null&&Pe.call(Z,"[data-task-ref-suggest]"))&&!((Xt=(Ie=W.target)==null?void 0:Ie.closest)!=null&&Xt.call(Ie,".modal-backdrop"))&&!((Il=(Qt=W.target)==null?void 0:Qt.closest)!=null&&Il.call(Qt,"[data-model-picker-dropdown]"))&&!((Cl=(lo=W.target)==null?void 0:lo.closest)!=null&&Cl.call(lo,"[data-agent-picker-dropdown]"))&&O.current&&!O.current.contains(W.target)){if(Cr.current)return;if(fa.current.trim().length>0){Xe.current(),Ca(!0);return}Xe.current(),d()}}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[e,d]),Q.default.useEffect(()=>{if(!e)return;function S(W){if(W.key==="Escape"){if(Cr.current){Ca(!1),W.stopPropagation();return}if(fa.current.trim().length>0){W.stopPropagation(),Xe.current(),Ca(!0);return}}}return document.addEventListener("keydown",S,{capture:!0}),()=>document.removeEventListener("keydown",S,{capture:!0})},[e]),Q.default.useEffect(()=>{if(e){if(Ze(a),vr(!!t),oo(""),hl([]),yl([]),Y(0),H(0),ge([]),He([]),ao((t==null?void 0:t.model)??Lr),ro((t==null?void 0:t.agent)??""),eo((t==null?void 0:t.branchName)??""),yr(!1),wa.current=null,t){let S=(t.title??"").trim(),W=(t.description??"").trim();De(S),rt(W),ot(t.status),ia(t.type??"Task"),Ia(t.priority??""),Te.current=S,Ae.current=W,I==null||I(t.id,"viewing")}else De(""),rt(""),ot(r),ia("Task"),Ia("");t&&(ca(t.id),Na(t.id)),setTimeout(()=>{var S;return(S=It.current)==null?void 0:S.focus()},50)}},[e,t==null?void 0:t.id,a]),Q.default.useEffect(()=>{!e||!t||(ke==="comments"?(Zo(t.id),Na(t.id)):ke==="files"&&Na(t.id))},[ke,e,t==null?void 0:t.id]),Q.default.useEffect(()=>{if(!e||!t||Re!==Te.current||me!==Ae.current)return;let W=(t.title??"").trim(),Z=(t.description??"").trim();(W!==Te.current||Z!==Ae.current)&&(De(W),rt(Z),Te.current=W,Ae.current=Z),t.status&&t.status!==St&&ot(t.status),t.type&&t.type!==Kt&&ia(t.type),t.priority!==void 0&&t.priority!==jt&&Ia(t.priority??""),t.model&&t.model!==to&&ao(t.model),t.agent&&t.agent!==gl&&ro(t.agent);let Pe=t.branchName??"";Pe!==Rt&&eo(Pe)},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority,t==null?void 0:t.model,t==null?void 0:t.agent,t==null?void 0:t.branchName]),Q.default.useEffect(()=>{!e||!t||C===void 0||(ke==="comments"?Zo(t.id):ca(t.id))},[C]);async function ca(S){var W,Z;try{let[Pe,Ie]=await Promise.all([i.getComments(S),i.getFiles(S)]);Y(((W=Pe.comments)==null?void 0:W.length)??0),H(((Z=Ie.files)==null?void 0:Z.length)??0)}catch{}}async function Zo(S){var Z;let W=++ie.current;xl(!0),vl(null);try{let Pe=await i.getComments(S);if(ie.current!==W)return;hl(Pe.comments??[]),Y(((Z=Pe.comments)==null?void 0:Z.length)??0)}catch{if(ie.current!==W)return;vl("failed")}finally{ie.current===W&&xl(!1)}}async function Na(S){var W;Yo(!0),T(null);try{let Z=await i.getFiles(S);yl(Z.files??[]),H(((W=Z.files)==null?void 0:W.length)??0)}catch{T("failed")}finally{Yo(!1)}}async function nf(){var S;if(!Re.trim()){(S=It.current)==null||S.focus();return}if(!w&&da.trim()&&await pi(),w){let W=await p({title:Re.trim(),description:me.trim()||Re.trim(),status:St,type:Kt,priority:jt||void 0,selector:"/",tags:P.length>0?P:void 0});if(W&&R.length>0){for(let Z of R)await i.uploadFile(W,Z).catch(()=>null);pe([])}d()}else Ll()}function Ll(){if(!t||w)return;let S=Re.trim();if(!S)return;let W=Te.current,Z=Ae.current,Pe=S!==W,Ie=me.trim()!==Z;!Pe&&!Ie||(Pe&&Sl("title",W,S),Ie&&Sl("description",Z,me.trim()),L(t.id,{title:S,description:me.trim(),type:Kt,priority:jt||void 0}),Te.current=S,Ae.current=me.trim())}Xe.current=Ll;function Sl(S,W,Z){W!==Z&&ge(Pe=>[...Pe,{field:S,from:W,to:Z,actor:o,timestamp:new Date().toISOString()}])}async function pi(){if(!(!t||!da.trim())){Xo(!0);try{await i.addComment(t.id,da.trim()),oo(""),await Zo(t.id)}finally{Xo(!1)}}}async function Fg(S,W){t&&(await i.updateComment(t.id,S.id,W),await Zo(t.id))}async function Bg(S){t&&(await i.deleteComment(t.id,S.id),await Zo(t.id))}async function Og(S){if(!t)return;let W=t.id;Le(null);for(let Z of Array.from(S.target.files??[])){if(!Z.type.startsWith("image/")&&Z.size>sy){Le(`"${Z.name}" exceeds the 5 MB limit and was skipped.`);continue}let Pe;if(Z.type.startsWith("image/")){let Ie=await Zd(Z),Xt=Z.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");Pe=new File([Ie],Xt,{type:"image/jpeg"})}else Pe=Z;await i.uploadFile(W,Pe)}S.target.value="",await Na(W),ca(W)}async function zg(S){if(!t)return;Le(null);let W=await Zd(S),Pe=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,Ie=new File([W],Pe,{type:"image/jpeg"});await i.uploadFile(t.id,Ie),await Na(t.id),ca(t.id)}async function Ng(S){if(!t)return;let W=Array.from(S.items),Z=W.find(Ie=>Ie.type.startsWith("image/"));if(Z){let Ie=Z.getAsFile();Ie&&await zg(Ie);return}let Pe=W.filter(Ie=>Ie.kind==="file"&&!Ie.type.startsWith("image/"));if(Pe.length>0){for(let Ie of Pe){let Xt=Ie.getAsFile();Xt&&await i.uploadFile(t.id,Xt)}await Na(t.id),ca(t.id);return}}Q.default.useEffect(()=>{if(!e)return;function S(W){if(!W.clipboardData)return;let Z=W.target;if(!((Z.tagName==="TEXTAREA"||Z.tagName==="INPUT"||Z.isContentEditable)&&!Array.from(W.clipboardData.items).some(Qt=>Qt.kind==="file"))){if(W.preventDefault(),!t){let Xt=Array.from(W.clipboardData.items).find(Qt=>Qt.type.startsWith("image/"));if(Xt){let Qt=Xt.getAsFile();Qt&&(async()=>{let Il=await Zd(Qt),lo=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),Cl=new File([Il],`paste-${lo}.jpg`,{type:"image/jpeg"});pe($g=>[...$g,Cl])})()}return}Ng(W.clipboardData)}}return document.addEventListener("paste",S),()=>document.removeEventListener("paste",S)},[e,t==null?void 0:t.id]);async function lf(S){t&&(await i.deleteFile(t.id,S.name),await Na(t.id),ca(t.id))}async function Ug(S){if(!t)return;await i.deleteFile(t.id,S);let W=(t.files??[]).filter(Z=>Z.name!==S);L(t.id,{files:W}),await Na(t.id),ca(t.id)}function Hg(S){if(ua&&S!=="review"&&(yr(!1),wa.current=null),ot(S),w||!t)return;if(ye&&S==="review"&&!Rt.trim()){wa.current={taskId:t.id,patch:{status:S}},yr(!0);return}let W={status:S};Rt.trim()&&(W.branchName=Rt.trim()),L(t.id,W)}function sf(){if(!wa.current||!t||!Rt.trim())return;let S={...wa.current.patch,branchName:Rt.trim()};L(t.id,S),yr(!1),wa.current=null}function uf(){yr(!1),wa.current=null,t&&ot(t.status)}let qg=S=>S!==St?"dp-status-btn":`dp-status-btn active-${S}`;function df(){if(!Cr.current){if(fa.current.trim().length>0){Xe.current(),Ca(!0);return}Xe.current(),d()}}let _g=e&&t!=null&&(Re!==Te.current||me!==Ae.current),Wg=Q.default.useMemo(()=>{let S=[...N,...xe].sort((Z,Pe)=>new Date(Z.timestamp).getTime()-new Date(Pe.timestamp).getTime()),W=[];for(let Z of S)W.some(Ie=>Ie.field===Z.field&&Ie.from.toLowerCase()===Z.from.toLowerCase()&&Ie.to.toLowerCase()===Z.to.toLowerCase()&&Ie.actor===Z.actor&&Math.abs(new Date(Ie.timestamp).getTime()-new Date(Z.timestamp).getTime())<=3e3)||W.push(Z);return W},[N,xe]),Ua=!w&&!!u;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)("aside",{id:"detail-panel",className:"open",ref:O,children:[Ua&&(0,D.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,D.jsx)("strong",{children:u})," \\u2014 editing disabled until they finish."]}),(0,D.jsxs)("div",{className:"dp-header",children:[(0,D.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[f&&(0,D.jsx)("button",{id:"dp-back",onClick:f,title:v?`Back to: ${v}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-blue-300)",S.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,D.jsx)(ti,{id:"dp-type-picker",value:Kt,disabled:Ua,onChange:S=>{!w&&t&&S!==Kt&&Sl("type",Kt,S),ia(S),!w&&t&&L(t.id,{type:S})}}),(0,D.jsx)("input",{id:"dp-title",ref:It,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:Re,readOnly:Ua,onChange:S=>De(S.target.value),onKeyDown:S=>{S.key==="Escape"&&(S.stopPropagation(),df()),S.key==="Enter"&&w&&nf()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:S=>{S.currentTarget.style.borderColor="var(--p-blue)",S.currentTarget.style.background="var(--p-input)"},onBlur:S=>{S.currentTarget.style.borderColor="transparent",S.currentTarget.style.background="transparent",w||Ll()}}),!w&&Re!==Te.current&&Re.trim()!==""&&(0,D.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:S=>{S.preventDefault(),De(Te.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:S=>{S.currentTarget.style.color="var(--p-amber-300)",S.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:S=>{S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,D.jsx)("button",{id:"dp-close",onClick:df,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)"},children:(0,D.jsx)(Ge,{style:{width:14,height:14}})}),m&&_g&&t&&(0,D.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,D.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",...Ua?{pointerEvents:"none",opacity:.6}:{}},children:[(0,D.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),ly.map(S=>(0,D.jsx)("button",{className:qg(S.id),"data-status":S.id,onClick:()=>Hg(S.id),children:S.label},S.id))]}),ua&&!Ua&&(0,D.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,padding:"8px 10px",borderRadius:8,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.2)",fontSize:12},children:[(0,D.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,D.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:Rt,onChange:S=>eo(S.target.value),onKeyDown:S=>{S.key==="Enter"&&Rt.trim()&&sf(),S.key==="Escape"&&uf()},autoFocus:!0,style:{flex:1,fontSize:12,padding:"4px 8px",borderRadius:6,border:"1px solid var(--p-border)",background:"var(--p-input)",color:"var(--p-text)",fontFamily:"monospace"}}),(0,D.jsx)("button",{onClick:sf,disabled:!Rt.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:Rt.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:Rt.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,D.jsx)("button",{onClick:uf,style:{padding:"4px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-g)",fontSize:11,cursor:"pointer"},children:"Cancel"})]})]}),!w&&(0,D.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,D.jsx)("button",{className:`dp-tab${ke==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>Ze("details"),children:"Details"}),(0,D.jsxs)("button",{className:`dp-tab${ke==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>Ze("comments"),children:["Activity ",F>0&&(0,D.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",F,")"]})]}),(0,D.jsxs)("button",{className:`dp-tab${ke==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>Ze("files"),children:["Files ",le>0&&(0,D.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",le,")"]})]}),ue===!0&&(0,D.jsxs)("button",{className:`dp-tab${ke==="agent"?" active":""}`,id:"dp-tab-agent",onClick:()=>Ze("agent"),style:{color:ke==="agent"?"#c4b5fd":void 0,borderBottomColor:ke==="agent"?"#a78bfa":void 0},children:["\\u{1F916} Agent",y&&y.status!=="idle"&&(0,D.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:14,height:12,borderRadius:10,fontSize:9,fontWeight:700,background:"#a78bfa",color:"#fff",marginLeft:4},children:y.status==="running"?"\\u25CF":y.status==="queued"?"\\u23F3":"\\u2713"})]})]}),(0,D.jsxs)("div",{className:"dp-body",children:[!w&&(0,D.jsx)(ny,{}),(0,D.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||ke==="details"?"":"none"},children:[(0,D.jsx)("div",{style:Ua?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,D.jsx)(Kd,{task:t,description:me,setDescription:rt,showDescPreview:ii,setShowDescPreview:vr,priority:jt,setPriority:Ia,onDescriptionBlur:w?void 0:Ll,onDescriptionDiscard:w?void 0:()=>{rt(Ae.current),vr(!0)},originalDescription:w?void 0:Ae.current,onPriorityChange:w?void 0:S=>{t&&(S!==jt&&Sl("priority",jt||"\\u2014",S||"\\u2014"),L(t.id,{priority:S||void 0}))},githubUrl:n,onFilePreview:x,onDeleteScreenshot:Ug,onPatch:L,liveFiles:no.length>0||Qo?no:void 0,allTags:Ke,overrideTags:w?P:void 0,onTagsChange:w?He:void 0})}),!w&&t&&(0,D.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,D.jsx)(iy,{task:t})})]}),(0,D.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:ke==="comments"&&!w?"":"none"},children:[(0,D.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,D.jsx)(jd,{commentInput:da,setCommentInput:oo,commentSubmitting:ci,onSubmit:()=>void pi(),baseRows:2})}),(0,D.jsx)(Wd,{comments:di,files:no,localChanges:Wg,loading:Ir,error:fi,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:Fg,onDelete:Bg,onDeleteFile:lf,onFilePreview:x})]}),(0,D.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:ke==="files"&&!w?"":"none"},children:[(0,D.jsx)($d,{files:no,loading:Qo,error:h,baseUrl:l,onPreview:S=>x(S.name,S.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(S.name)}`:`${l}${S.url}`),onDelete:Ua?void 0:lf}),(0,D.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",...Ua?{pointerEvents:"none",opacity:.5}:{}},children:[te&&(0,D.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:te}),(0,D.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-border-t)",S.currentTarget.style.color="var(--p-text)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},children:[(0,D.jsx)(qo,{style:{width:12,height:12}}),"Upload",(0,D.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:Og})]}),(0,D.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]}),ue===!0&&(0,D.jsx)("div",{className:"dp-pane",id:"dp-agent-pane",style:{display:ke==="agent"&&!w&&t?"":"none"},children:t&&(0,D.jsx)(Yd,{task:t,run:y,onRun:(S,W,Z)=>b==null?void 0:b(S,W,Z),onStop:z??(()=>{}),onDequeue:U??(()=>{}),models:B,defaultModel:J,onModelChange:Sr,agents:we,onAgentChange:ui})})]}),(0,D.jsxs)("div",{className:"dp-footer",children:[!w&&(0,D.jsx)("button",{id:"dp-delete",onClick:()=>Jr(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,D.jsx)("div",{style:{flex:1}}),w?(0,D.jsxs)(D.Fragment,{children:[R.length>0&&(0,D.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",R.length," screenshot",R.length!==1?"s":""," will attach on save"]}),(0,D.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,D.jsx)("button",{id:"dp-save",onClick:()=>void nf(),style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:S=>{S.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:S=>{S.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):ue===!0&&ke==="agent"&&t?(0,D.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",justifyContent:"flex-end",flex:1},children:[(!y||y.status==="idle")&&(0,D.jsxs)("button",{id:"dp-run-agent",onClick:()=>b==null?void 0:b(t.id,to,gl||void 0),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-purple)",background:"var(--p-purple)",color:"#fff",fontSize:12,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:S=>{S.currentTarget.style.background="#9333ea"},onMouseLeave:S=>{S.currentTarget.style.background="var(--p-purple)"},children:[(0,D.jsx)($r,{style:{width:12,height:12}}),"Run Agent"]}),(y==null?void 0:y.status)==="running"&&(0,D.jsxs)("button",{id:"dp-stop-agent",onClick:()=>z==null?void 0:z(t.id),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:12,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 25%, transparent)"},onMouseLeave:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 15%, transparent)"},children:[(0,D.jsx)(Kr,{style:{width:12,height:12}}),"Stop"]}),(y==null?void 0:y.status)==="queued"&&(0,D.jsxs)("button",{id:"dp-dequeue-agent",onClick:()=>U==null?void 0:U(t.id),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:12,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 25%, transparent)"},onMouseLeave:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 15%, transparent)"},children:[(0,D.jsx)(rl,{style:{width:12,height:12}}),"Dequeue"]})]}):(0,D.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,D.jsx)(Sa,{open:pl,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{Jr(!1),g(t.id),d()},onCancel:()=>Jr(!1)})]}),jo&&(0,D.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,D.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,D.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,D.jsx)(qo,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,D.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,D.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,D.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,D.jsx)("button",{onClick:()=>{Ca(!1),pi().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,D.jsx)("button",{type:"button",onClick:()=>{Ca(!1),oo(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,D.jsx)("button",{type:"button",onClick:()=>Ca(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function iy({task:e}){let t=[];if(e.component&&t.push((0,D.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,D.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,D.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,D.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,D.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,D.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,D.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var Zr=E(Ee(),1);var oe=E(K(),1),uy=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],dy={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function ef({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=Zr.default.useState(!1),[i,d]=Zr.default.useState(!1),[c,p]=Zr.default.useState(!1),g=Zr.default.useMemo(()=>[...new Set(e.map(y=>y.type).filter(Boolean))].sort(),[e]),L=Zr.default.useMemo(()=>[...new Set(e.map(y=>y.author).filter(Boolean))].sort(),[e]),x=Zr.default.useMemo(()=>{let y=new Set;for(let b of e)for(let z of b.tags??[])y.add(z);return[...y].sort()},[e]);function I(y){return e.filter(b=>b.status===y).length}function N(y){a({...t,status:y}),s(!1),d(!1),p(!1)}function m(y){a({...t,type:y}),s(!1)}function u(y){a({...t,user:y}),d(!1)}function f(y){let b=t.tags??[],z=b.includes(y)?b.filter(U=>U!==y):[...b,y];a({...t,tags:z})}function v(y){y.stopPropagation();let b=y.currentTarget.dataset.status;b&&N(b)}let C={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},k={...C,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,oe.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),p(!1)},children:[(0,oe.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:uy.map(y=>{let b=t.status===y.id,z=y.id!=="all"?I(y.id):null,U=b?dy[y.id]:{};return(0,oe.jsxs)("button",{"data-status":y.id,style:{...C,...U},onMouseOver:B=>{b||(B.currentTarget.style.background="var(--p-hover)",B.currentTarget.style.color="var(--p-text-m)")},onMouseOut:B=>{b||(B.currentTarget.style.background="transparent",B.currentTarget.style.color="var(--p-text-f)")},onClick:v,children:[y.dot&&(0,oe.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:y.dot,flexShrink:0,display:"inline-block"}}),y.label,z!=null&&(0,oe.jsx)("span",{style:{color:b?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:z})]},y.id)})}),(0,oe.jsx)("div",{style:{flex:1}}),n,t.user&&(0,oe.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,oe.jsx)("button",{onClick:()=>u(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,oe.jsx)(Ge,{style:{width:10,height:10}})})]}),t.type&&(0,oe.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,oe.jsx)("button",{onClick:()=>m(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,oe.jsx)(Ge,{style:{width:10,height:10}})})]}),(t.tags??[]).map(y=>{let{bg:b,text:z,border:U}=na(y);return(0,oe.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:b,border:`1px solid ${U}`,fontSize:10,color:z,fontWeight:600},children:[y,(0,oe.jsx)("button",{onClick:()=>f(y),style:{display:"flex",background:"none",border:"none",color:z,cursor:"pointer",padding:0,lineHeight:1},children:(0,oe.jsx)(Ge,{style:{width:10,height:10}})})]},y)}),(0,oe.jsxs)("div",{style:{position:"relative"},children:[(0,oe.jsxs)("button",{style:{...k,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:x.length?1:.55},onClick:y=>{y.stopPropagation(),x.length&&(d(!1),s(!1),p(b=>!b))},children:[(0,oe.jsx)(Ho,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,oe.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,oe.jsx)(ya,{style:{width:12,height:12}})]}),c&&x.length>0&&(0,oe.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:y=>y.stopPropagation(),children:[(t.tags??[]).length>0&&(0,oe.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),x.map(y=>{let{bg:b,text:z,border:U}=na(y),B=(t.tags??[]).includes(y);return(0,oe.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:B?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:J=>{J.currentTarget.style.background="var(--p-hover)"},onMouseLeave:J=>{J.currentTarget.style.background=B?"var(--p-hover)":"none"},onClick:()=>f(y),children:[(0,oe.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:z,border:`1px solid ${U}`,flexShrink:0}}),(0,oe.jsx)("span",{style:{flex:1},children:y}),B&&(0,oe.jsx)("span",{style:{color:z,fontSize:12,lineHeight:1},children:"\\u2713"})]},y)})]})]}),(0,oe.jsxs)("div",{style:{position:"relative"},children:[(0,oe.jsxs)("button",{style:{...k,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:L.length?1:.55},onClick:y=>{y.stopPropagation(),L.length&&(s(!1),d(b=>!b))},children:[(0,oe.jsx)(ol,{style:{width:12,height:12}}),"User",(0,oe.jsx)(ya,{style:{width:12,height:12}})]}),i&&L.length>0&&(0,oe.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:y=>y.stopPropagation(),children:[(0,oe.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>u(null),children:"All users"}),L.map(y=>(0,oe.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===y?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===y?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:b=>{t.user!==y&&(b.currentTarget.style.background="var(--p-hover)")},onMouseOut:b=>{t.user!==y&&(b.currentTarget.style.background="none")},onClick:()=>u(y),children:y},y))]})]}),(0,oe.jsxs)("div",{style:{position:"relative"},children:[(0,oe.jsxs)("button",{style:{...k,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:g.length?1:.55},onClick:y=>{y.stopPropagation(),g.length&&s(b=>!b)},children:[(0,oe.jsx)(Ho,{style:{width:12,height:12}}),"Type",(0,oe.jsx)(ya,{style:{width:12,height:12}})]}),l&&g.length>0&&(0,oe.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:y=>y.stopPropagation(),children:[(0,oe.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>m(null),children:"All types"}),g.map(y=>(0,oe.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===y?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===y?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:b=>{t.type!==y&&(b.currentTarget.style.background="var(--p-hover)")},onMouseOut:b=>{t.type!==y&&(b.currentTarget.style.background="none")},onClick:()=>m(y),children:y},y))]})]}),(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,oe.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:y=>{y.stopPropagation(),o==null||o("board")},children:(0,oe.jsx)(Zn,{style:{width:13,height:13}})}),(0,oe.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:y=>{y.stopPropagation(),o==null||o("list")},children:(0,oe.jsx)(Jn,{style:{width:13,height:13}})})]})]})}var Lt=E(Ee(),1);var _=E(K(),1),fy=[{id:"board",label:"Board",icon:(0,_.jsx)(ur,{className:"w-3.5 h-3.5"})},{id:"enforcement",label:"Enforcement",icon:(0,_.jsx)(al,{className:"w-3.5 h-3.5"})},{id:"agent",label:"Agent",icon:(0,_.jsx)(mt,{className:"w-3.5 h-3.5"})}];function af({open:e,visibleCols:t,settings:a,onClose:r,onSave:o,models:n,agents:l}){var w,X;let s=n&&n.length>0?n:fl,[i,d]=Lt.default.useState("board"),[c,p]=Lt.default.useState({}),[g,L]=Lt.default.useState(a.autoCommit??!1),[x,I]=Lt.default.useState(a.autoComment??!1),[N,m]=Lt.default.useState(a.autoPush??!1),[u,f]=Lt.default.useState(a.createBranch??!1),[v,C]=Lt.default.useState(a.defaultModel??""),[k,y]=Lt.default.useState(a.defaultAgent??"build"),[b,z]=Lt.default.useState(a.perTypeModels??!1),[U,B]=Lt.default.useState(a.defaultModelBug??""),[J,re]=Lt.default.useState(a.defaultModelResearch??""),[de,Se]=Lt.default.useState(a.defaultModelTask??""),[ee,we]=Lt.default.useState(a.experimentalAgents??!1);Lt.default.useEffect(()=>{if(!e)return;let O={};cr.forEach(R=>{O[R.id]=t.includes(R.id)}),p(O),L(a.autoCommit??!1),I(a.autoComment??!1),m(a.autoPush??!1),f(a.createBranch??!1),C(a.defaultModel??""),y(a.defaultAgent??"build"),z(a.perTypeModels??!1),B(a.defaultModelBug??""),re(a.defaultModelResearch??""),Se(a.defaultModelTask??""),we(a.experimentalAgents??!1),d("board")},[e,t,a]);function ue(){let O=cr.filter(R=>c[R.id]).map(R=>R.id);o(O,{autoCommit:g,autoComment:x,autoPush:N,createBranch:u,defaultModel:v,defaultAgent:k,perTypeModels:b,defaultModelBug:U,defaultModelResearch:J,defaultModelTask:de,experimentalAgents:ee}),r()}function ye(O){p(R=>({...R,[O]:!R[O]}))}return(0,_.jsxs)(Qr,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,_.jsx)(Gr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,_.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:O=>{O.currentTarget.style.background="var(--p-surface)",O.currentTarget.style.color="var(--p-text-m)"},onMouseOut:O=>{O.currentTarget.style.background="transparent",O.currentTarget.style.color="var(--p-text-g)"},children:(0,_.jsx)(Ge,{style:{width:14,height:14}})}),footer:(0,_.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,_.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,_.jsx)("button",{id:"settings-apply",onClick:ue,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:O=>{O.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:O=>{O.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,_.jsx)("div",{className:"dp-tabs",children:fy.map(O=>(0,_.jsxs)("button",{onClick:()=>d(O.id),className:`dp-tab${i===O.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[O.icon,O.label]},O.id))}),i==="board"&&(0,_.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,_.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),cr.map(O=>(0,_.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,_.jsx)("input",{id:`settings-col-${O.id}`,type:"checkbox",checked:c[O.id]??!0,onChange:()=>ye(O.id),style:{width:14,height:14,accentColor:O.color,cursor:"pointer"}}),(0,_.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:O.color,flexShrink:0}}),(0,_.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:O.label})]},O.id))]}),i==="enforcement"&&(0,_.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,_.jsx)(ni,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:x,onChange:I}),(0,_.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,_.jsx)(ni,{id:"settings-create-branch",label:"Require branch per task",description:"CLI enforces a dedicated branch name when setting task status to review.",value:u,onChange:f}),(0,_.jsx)(ni,{id:"settings-auto-commit",label:"Auto-commit on review",description:"CLI automatically commits staged changes when setting task status to review.",value:g,onChange:L}),(0,_.jsx)(ni,{id:"settings-auto-push",label:"Auto-push after commit",description:`CLI pushes after auto-commit. Requires \'Auto-commit\' to be ON.${g?"":" (Enable Auto-commit first)"}`,value:N&&g,onChange:O=>m(O&&g)})]}),i==="agent"&&(0,_.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:14},children:[(0,_.jsxs)("div",{children:[(0,_.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none",marginBottom:4},children:[(0,_.jsx)("input",{id:"settings-experimental-agents",type:"checkbox",checked:ee,onChange:()=>we(!ee),style:{width:14,height:14,accentColor:"var(--p-purple)",cursor:"pointer"}}),(0,_.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text-m)"},children:"Enable agent features (experimental)"})]}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginLeft:24},children:"Agent runs, queue, and model selection are experimental and may change."})]}),!ee&&(0,_.jsx)("div",{style:{padding:16,borderRadius:8,background:"var(--p-bg-2)",border:"1px dashed var(--p-border)",textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:"Agent features are disabled. Toggle above to enable."}),ee&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",style:{marginBottom:6},children:"Default Model"}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:"This model will be pre-selected when running the agent on a task."}),(0,_.jsx)(oi,{value:v,onChange:O=>C(O===v?"":O),models:s})]}),v&&(0,_.jsxs)("div",{style:{padding:10,borderRadius:7,background:"color-mix(in srgb, var(--p-green) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 30%, transparent)",fontSize:11,color:"var(--p-green-300)"},children:["\\u2713 Default model set to: ",(0,_.jsx)("strong",{children:(w=s.find(O=>O.id===v))==null?void 0:w.label})]}),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",style:{marginBottom:6},children:"Default Agent"}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:"This agent will be used when running agent on a task without a specific agent set."}),(0,_.jsx)(Qd,{value:k,onChange:O=>y(O),agents:l??[]})]}),k&&(0,_.jsxs)("div",{style:{padding:10,borderRadius:7,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",fontSize:11,color:"var(--p-purple-300)"},children:["\\u2713 Default agent set to: ",(0,_.jsx)("strong",{children:((X=l==null?void 0:l.find(O=>O.id===k))==null?void 0:X.name)??k})]}),(0,_.jsx)("div",{style:{height:1,background:"var(--p-border)",margin:"4px 0"}}),(0,_.jsxs)("div",{children:[(0,_.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none",marginBottom:4},children:[(0,_.jsx)("input",{id:"settings-per-type-models",type:"checkbox",checked:b,onChange:()=>z(!b),style:{width:14,height:14,accentColor:"var(--p-purple)",cursor:"pointer"}}),(0,_.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text-m)"},children:"Use different models per task type"})]}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginLeft:24},children:"Override the default model for specific task types."})]}),b&&(0,_.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,paddingLeft:24},children:[(0,_.jsx)(tf,{id:"dp-type-model-picker-bug",label:"Bug",color:"var(--p-red)",value:U,onChange:O=>B(O===U?"":O),models:s}),(0,_.jsx)(tf,{id:"dp-type-model-picker-research",label:"Research",color:"var(--p-blue)",value:J,onChange:O=>re(O===J?"":O),models:s}),(0,_.jsx)(tf,{id:"dp-type-model-picker-task",label:"Task",color:"var(--p-green)",value:de,onChange:O=>Se(O===de?"":O),models:s})]})]})]})]})}function ni({id:e,label:t,description:a,value:r,onChange:o}){return(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,_.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,_.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,_.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,_.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,_.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,_.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}function tf({id:e,label:t,color:a,value:r,onChange:o,models:n}){let l=n.find(s=>s.id===r);return(0,_.jsxs)("div",{id:e,children:[(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,_.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:a,flexShrink:0}}),(0,_.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-text-m)"},children:t})]}),(0,_.jsx)(oi,{value:r,onChange:o,models:n}),l&&(0,_.jsxs)("div",{style:{fontSize:10,color:"var(--p-text-g)",marginTop:4,paddingLeft:4},children:["\\u2192 ",l.label]})]})}var si=E(Ee(),1);var Me=E(K(),1);function wg(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function li(e){return/\\.md$/i.test(e)}function rf({open:e,name:t,url:a,onClose:r}){let[o,n]=si.default.useState(null),[l,s]=si.default.useState(!1);return si.default.useEffect(()=>{!e||!a||(li(t)?(s(!0),n(null),fetch(a).then(i=>i.text()).then(i=>{n(i),s(!1)}).catch(()=>{n("Error loading file."),s(!1)})):n(null))},[e,t,a]),(0,Me.jsx)(Qr,{open:e,onClose:r,id:"file-preview-modal",width:"min(700px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,Me.jsx)(Uo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,Me.jsxs)(Me.Fragment,{children:[(0,Me.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,Me.jsx)(qr,{className:"w-4 h-4"})}),(0,Me.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,Me.jsx)(Ge,{className:"w-4 h-4"})})]}),footer:(0,Me.jsxs)(Me.Fragment,{children:[(0,Me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,Me.jsx)(qr,{className:"w-3.5 h-3.5"}),"Download"]}),(0,Me.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,Me.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[wg(t)&&(0,Me.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,Me.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),li(t)&&l&&(0,Me.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),li(t)&&!l&&o!==null&&(0,Me.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,Me.jsx)(gr,{markdown:o})}),!wg(t)&&!li(t)&&(0,Me.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,Me.jsx)(Uo,{className:"w-10 h-10 opacity-40"}),(0,Me.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,Me.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,Me.jsx)(qr,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var cl=E(Ee(),1);var Ce=E(K(),1);function cy(e){if(!e)return"";let t=Date.now()-new Date(e).getTime(),a=Math.floor(t/6e4),r=Math.floor(t%6e4/1e3);return`${a}m ${r.toString().padStart(2,"0")}s`}var kg={running:"var(--p-blue)",queued:"var(--p-amber)",done:"var(--p-green)",failed:"var(--p-red)"},py={running:"Running",queued:"Queued",done:"Completed",failed:"Failed"};function of({open:e,runs:t,onStop:a,onOpenTask:r,onClose:o}){let n=cl.default.useRef(null),[l,s]=cl.default.useState({});if(cl.default.useEffect(()=>{if(!e)return;let c=setInterval(()=>{let p={};for(let g of t)g.status==="running"&&g.startedAt&&(p[g.taskId]=cy(g.startedAt));s(p)},1e3);return()=>clearInterval(c)},[e,t]),cl.default.useEffect(()=>{if(!e)return;function c(p){n.current&&!n.current.contains(p.target)&&o()}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[e,o]),!e)return null;let i=t.filter(c=>c.status==="running"||c.status==="queued"),d=t.filter(c=>c.status==="done"||c.status==="failed");return(0,Ce.jsxs)("div",{ref:n,id:"agent-queue-panel",style:{position:"fixed",top:0,right:0,bottom:0,width:"min(420px, 90vw)",background:"var(--p-surface)",borderLeft:"1px solid var(--p-border)",zIndex:40,display:"flex",flexDirection:"column",boxShadow:"var(--p-shadow-lg)"},children:[(0,Ce.jsxs)("div",{style:{padding:"14px 16px",borderBottom:"1px solid var(--p-border)",display:"flex",alignItems:"center",gap:10},children:[(0,Ce.jsx)(mt,{style:{width:16,height:16,color:"var(--p-purple-300)"}}),(0,Ce.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1},children:"Agent Queue"}),(0,Ce.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-g)",background:"var(--p-bg-2)",padding:"2px 8px",borderRadius:10},children:[i.length," active \\xB7 ",d.length," completed"]}),(0,Ce.jsx)("button",{id:"agent-queue-close",onClick:o,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer"},onMouseEnter:c=>{c.currentTarget.style.background="var(--p-surface)",c.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:c=>{c.currentTarget.style.background="transparent",c.currentTarget.style.color="var(--p-text-g)"},children:(0,Ce.jsx)(Ge,{style:{width:14,height:14}})})]}),(0,Ce.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:12,display:"flex",flexDirection:"column",gap:8},children:[t.length===0&&(0,Ce.jsx)("div",{style:{padding:24,textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:"No agent runs yet. Open a task and click the Agent tab to start."}),t.map(c=>(0,Ce.jsxs)("div",{style:{padding:"10px 12px",borderRadius:8,border:`1px solid ${c.status==="running"?"color-mix(in srgb, var(--p-blue) 30%, transparent)":"var(--p-border)"}`,background:c.status==="running"?"color-mix(in srgb, var(--p-blue) 6%, transparent)":"var(--p-bg-2)",cursor:"pointer",transition:"background .12s"},onClick:()=>r(c.taskId),onMouseEnter:p=>{p.currentTarget.style.background=c.status==="running"?"color-mix(in srgb, var(--p-blue) 10%, transparent)":"var(--p-hover)"},onMouseLeave:p=>{p.currentTarget.style.background=c.status==="running"?"color-mix(in srgb, var(--p-blue) 6%, transparent)":"var(--p-bg-2)"},children:[(0,Ce.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[c.status==="running"&&(0,Ce.jsx)("span",{className:"spinner",style:{width:12,height:12,borderWidth:1.5}}),c.status==="queued"&&(0,Ce.jsx)("span",{style:{color:"var(--p-amber)",fontSize:12},children:"\\u23F3"}),c.status==="done"&&(0,Ce.jsx)("span",{style:{color:"var(--p-green)",fontSize:12},children:"\\u2713"}),c.status==="failed"&&(0,Ce.jsx)("span",{style:{color:"var(--p-red)",fontSize:12},children:"\\u2717"}),(0,Ce.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text)",flex:1},children:c.taskTitle}),(0,Ce.jsx)("span",{style:{fontSize:10,fontWeight:500,color:kg[c.status]??"var(--p-text-g)",padding:"1px 6px",borderRadius:4,background:`${kg[c.status]??"var(--p-text-g)"}15`},children:py[c.status]??c.status})]}),(0,Ce.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:10,color:"var(--p-text-g)"},children:[c.model&&(0,Ce.jsxs)("span",{children:["Model: ",c.model]}),c.status==="running"&&l[c.taskId]&&(0,Ce.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:3},children:[(0,Ce.jsx)(ir,{style:{width:9,height:9}}),l[c.taskId]]})]}),c.logs.length>0&&(0,Ce.jsx)("div",{style:{marginTop:8,padding:"6px 8px",background:"#0a0c10",borderRadius:6,fontFamily:"\'SF Mono\', \'Fira Code\', monospace",fontSize:9,lineHeight:1.5,color:"#a3e635",maxHeight:80,overflowY:"auto"},children:c.logs.slice(-3).map((p,g)=>(0,Ce.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:p.startsWith("$")?(0,Ce.jsx)("span",{style:{color:"var(--p-text-g)"},children:p}):p.startsWith("\\u2713")?(0,Ce.jsx)("span",{style:{color:"var(--p-green)"},children:p}):p.startsWith("\\u25B6")||p.startsWith("\\u2192")?(0,Ce.jsx)("span",{style:{color:"var(--p-blue-300)"},children:p}):p.startsWith("\\u2717")||p.startsWith("Error")?(0,Ce.jsx)("span",{style:{color:"var(--p-red)"},children:p}):p},g))}),c.status==="running"&&(0,Ce.jsxs)("button",{onClick:p=>{p.stopPropagation(),a(c.taskId)},style:{marginTop:8,display:"inline-flex",alignItems:"center",gap:4,padding:"3px 10px",borderRadius:5,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:10,fontWeight:600,cursor:"pointer"},children:[(0,Ce.jsx)(Kr,{style:{width:8,height:8}}),"Stop"]})]},c.taskId))]})]})}var xr=window.location.origin,sa=`${xr}/api/tasks`,it={async getTasks(){return(await fetch(`${sa}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(sa,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${sa}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${sa}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${sa}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${sa}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${sa}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${sa}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${sa}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${sa}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${sa}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${xr}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${xr}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${xr}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${xr}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${xr}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`},async getModels(){var a;let t=await(await fetch(`${xr}/trpc/models`,{cache:"no-store"})).json();return((a=t==null?void 0:t.result)==null?void 0:a.data)??{models:[],error:"Invalid response"}},async getAgents(){return{agents:(await(await fetch(`${xr}/api/agent/agents`,{cache:"no-store"})).json()).agents??[],error:null}}};var ae=E(K(),1),my=window.__PORT__??3700,gy=window.__SAAS_MODE__??!1,bg=window.__BOARD_URL__??"",hy=window.__BOARD_NAME__??"",Rg=window.__IS_ADMIN__??!1;function xy({onClose:e}){let t=window.location.origin,[a,r]=ne.default.useState("idle"),[o,n]=ne.default.useState(!0),[l,s]=ne.default.useState(null),[i,d]=ne.default.useState("");async function c(){r("pushing"),d("");try{let g=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),L=await g.json();if(!g.ok){d(L.error??"Push failed"),r("error");return}s({imported:L.imported??0,skipped:L.skipped}),r("done")}catch(g){d(g instanceof Error?g.message:"Network error"),r("error")}}let p=a==="pushing";return(0,ae.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,ae.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,ae.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,ae.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,ae.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,ae.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,ae.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,ae.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,ae.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,ae.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,ae.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,ae.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,ae.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,ae.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:hy||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,ae.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,ae.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,ae.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported!==1?"s":""," pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&i&&(0,ae.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:i}),(0,ae.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[bg&&(0,ae.jsx)("a",{href:bg,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:g=>{g.currentTarget.style.background="#3b82f6",g.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:g=>{g.currentTarget.style.background="#2563eb",g.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,ae.jsx)("button",{onClick:()=>void c(),disabled:p,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:p?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:p?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:g=>{p||(g.currentTarget.style.borderColor="rgba(255,255,255,0.15)",g.currentTarget.style.color="rgba(255,255,255,0.65)",g.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:g=>{p||(g.currentTarget.style.borderColor="rgba(255,255,255,0.08)",g.currentTarget.style.color="rgba(255,255,255,0.4)",g.currentTarget.style.background="transparent")},children:p?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,ae.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,ae.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,ae.jsx)("input",{type:"checkbox",checked:o,onChange:g=>n(g.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,ae.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),Rg&&e&&(0,ae.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:g=>{g.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:g=>{g.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var Tg={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function vy(e,t,a){let r=a?e.filter(s=>{var i,d;return((i=s.title)==null?void 0:i.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function Mg(){var Qo,Yo;let[e,t]=ne.default.useState([]),[a,r]=ne.default.useState(!0),[o,n]=ne.default.useState(!1),[l,s]=ne.default.useState({open:!1,task:null,tab:"details"}),[i,d]=ne.default.useState("board"),[c,p]=ne.default.useState(!1),[g,L]=ne.default.useState({open:!1,name:"",url:""}),[x,I]=ne.default.useState(420),[N,m]=ne.default.useState(!1),[u,f]=ne.default.useState(""),[v,C]=ne.default.useState(cr.map(h=>h.id)),[k,y]=ne.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[b,z]=ne.default.useState("Proto Board"),[U,B]=ne.default.useState(!1),[J,re]=ne.default.useState(!1),[de,Se]=ne.default.useState("You"),[ee,we]=ne.default.useState(null),[ue,ye]=ne.default.useState(""),[w,X]=ne.default.useState({}),[O,R]=ne.default.useState([]),[pe,ze]=ne.default.useState([]),Te=ne.default.useRef(null),Ae=ne.default.useRef(null),Ke=ne.default.useRef(null),[ke,Ze]=ne.default.useState([]),Re=ne.default.useRef(!1),De=ne.default.useRef([]),[me,rt]=ne.default.useState([]),[St,ot]=ne.default.useState([]),[Kt,ia]=ne.default.useState(!1),[jt,Ia]=ne.default.useState(new Set),[ii,vr]=ne.default.useState(!1);function pl(h,T,F){let Y=De.current.find(le=>le.id===h);if(!Y)return;Y.status!=="in-progress"&&Sr(h,{status:"in-progress"});let ie=F||Y.agent||w.defaultAgent||"build";fetch(`${da}/api/agent/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:h,model:T,agent:ie})}).then(async le=>{if(!le.ok){let H=await le.json().catch(()=>({error:"Failed to start agent"}));ot(te=>te.map(Le=>Le.taskId===h?{...Le,status:"failed",logs:[...Le.logs,`\\u2717 ${H.error??"Failed to start agent"}`]}:Le))}}).catch(le=>{ot(H=>H.map(te=>te.taskId===h?{...te,status:"failed",logs:[...te.logs,`\\u2717 Network error: ${le.message}`]}:te))})}function Jr(h){fetch(`${da}/api/agent/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:h})}).catch(()=>{}),ot(T=>{let F=T.some(ie=>ie.taskId===h&&ie.status==="running"),Y=T.map(ie=>ie.taskId===h&&ie.status==="running"?{...ie,status:"failed",logs:[...ie.logs,"\\u2717 Stopped by user"]}:ie);if(F){let ie=Y.find(le=>le.status==="queued");if(ie)return Y.map(le=>le.taskId===ie.taskId?{...le,status:"running",startedAt:new Date().toISOString(),logs:[...le.logs,"\\u25B6 Starting agent run\\u2026"]}:le)}return Y})}function jo(h){ot(T=>T.filter(F=>F.taskId!==h))}function Ca(h){Ia(T=>{let F=new Set(T);return F.has(h)?F.delete(h):F.add(h),F})}function Rt(h){for(let T of h)pl(T,"claude-sonnet-4-5");ia(!1),Ia(new Set)}ne.default.useEffect(()=>(ua(),wa(),Lr(),to(),ml(),ao(),gl(),ro(),()=>{var h;Ae.current&&clearTimeout(Ae.current),(h=Te.current)==null||h.close()}),[]),ne.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),ne.default.useEffect(()=>{function h(){let Y=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!Y){Ke.current=null;return}let ie=Y[1].toLowerCase();if(Ke.current===ie)return;let le=e.find(H=>H.id.toLowerCase()===ie);le&&(Ke.current=ie,Re.current?s(H=>({...H,open:!0,task:le,tab:"details"})):s(H=>(H.task&&H.task.id!==le.id&&Ze(te=>[...te,H.task]),{...H,open:!0,task:le,tab:"details"})),Re.current=!1)}function T(){}h();let F=()=>{Ke.current=null,h()};return window.addEventListener("hashchange",F),window.addEventListener("vibeflow-task-ref-click",T),()=>{window.removeEventListener("hashchange",F),window.removeEventListener("vibeflow-task-ref-click",T)}},[e]),ne.default.useEffect(()=>{if(!l.open||!l.task)return;let h=e.find(Y=>Y.id===l.task.id);if(!h)return;let T=l.task;Object.keys(h).some(Y=>h[Y]!==T[Y])&&s(Y=>({...Y,task:h}))},[e,l.open,(Qo=l.task)==null?void 0:Qo.id]),ne.default.useEffect(()=>{function h(T){var ie,le,H;let F=(ie=T.target)==null?void 0:ie.tagName,Y=F==="INPUT"||F==="TEXTAREA"||((le=T.target)==null?void 0:le.isContentEditable);if(T.key==="Escape"){if(g.open){L(te=>({...te,open:!1}));return}if(l.open){s(te=>({...te,open:!1}));return}if(c){p(!1);return}}if(!Y&&((T.key==="?"||T.key==="/"&&T.shiftKey)&&((H=document.getElementById("header-shortcuts-hint"))==null||H.click()),T.altKey&&!T.ctrlKey&&!T.metaKey&&(T.key==="n"||T.key==="N")&&(T.preventDefault(),Ir(null,"details")),T.altKey&&!T.ctrlKey&&!T.metaKey&&(T.key==="f"||T.key==="F"))){T.preventDefault();let te=document.getElementById("global-search");te==null||te.focus(),te==null||te.select()}}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[g.open,l.open,c]);function eo(h,T,F,Y,ie){let le=new Date().toISOString(),H=Tg[T]??T,te=Tg[F]??F,Le=Date.now()-3e3;rt(xe=>xe.some(P=>P.taskId===h&&P.to===te&&new Date(P.timestamp).getTime()>Le)?xe:[...xe,{taskId:h,field:"status",from:H,to:te,actor:Y,timestamp:le,source:ie}].slice(-500))}async function ua(){try{let h=await it.getTasks();De.current=h.tasks??[],t(h.tasks??[])}catch{}finally{r(!1)}}let yr=ne.default.useCallback((h,T,F)=>{let Y=String(h.id??"");if(!Y)return;let ie=h.created??h.createdAt,le=h.updated?String(h.updated):void 0,H=Array.isArray(h.comments)?h.comments.length:void 0,te=Array.isArray(h.files)?h.files.length:void 0,Le=h.status?String(h.status):void 0,xe=De.current.find(ge=>ge.id===Y);Le&&xe&&xe.status!==Le&&eo(Y,xe.status,Le,T??"Someone",F),t(ge=>{let P=ge.find(Xe=>Xe.id===Y),He={id:Y,title:h.title?String(h.title):(P==null?void 0:P.title)??"Untitled",description:h.description!=null?String(h.description):(P==null?void 0:P.description)??"",status:Le??(P==null?void 0:P.status)??"todo",type:h.type?String(h.type):P==null?void 0:P.type,priority:h.priority?String(h.priority):P==null?void 0:P.priority,agent:h.agent?String(h.agent):P==null?void 0:P.agent,model:h.model?String(h.model):P==null?void 0:P.model,selector:h.selector?String(h.selector):P==null?void 0:P.selector,cssSelector:h.cssSelector?String(h.cssSelector):P==null?void 0:P.cssSelector,file:h.file?String(h.file):P==null?void 0:P.file,line:typeof h.line=="number"?h.line:P==null?void 0:P.line,col:typeof h.col=="number"?h.col:P==null?void 0:P.col,component:h.component?String(h.component):P==null?void 0:P.component,url:h.url?String(h.url):P==null?void 0:P.url,reportBack:h.reportBack===!0||(P==null?void 0:P.reportBack)===!0,commit:h.commit?String(h.commit):P==null?void 0:P.commit,commits:Array.isArray(h.commits)?h.commits:P==null?void 0:P.commits,commentCount:H??(P==null?void 0:P.commentCount),fileCount:te??(P==null?void 0:P.fileCount),createdAt:ie?String(ie):(P==null?void 0:P.createdAt)??new Date().toISOString(),updatedAt:le??(P==null?void 0:P.updatedAt),author:h.author?String(h.author):P==null?void 0:P.author,tags:Array.isArray(h.tags)?h.tags:P==null?void 0:P.tags,sortKey:h.sortKey?String(h.sortKey):P==null?void 0:P.sortKey},It=ge.filter(Xe=>Xe.id!==Y);return It.push(He),It.sort((Xe,fa)=>{let Cr=new Date(Xe.updatedAt??Xe.createdAt??"").getTime(),ca=new Date(fa.updatedAt??fa.createdAt??"").getTime();return Cr===ca?Xe.id.localeCompare(fa.id):ca-Cr}),De.current=It,It})},[]);async function wa(){try{let h=await it.getProject();h.name&&z(h.name),h.gitUserName&&Se(h.gitUserName)}catch{}}async function ml(){try{let h=await fetch("/api/github-url").then(T=>T.json());we(h.githubUrl??null)}catch{}}async function Lr(){var h;try{let F=await it.getSettings();F.experimentalAgents===void 0&&(F.experimentalAgents=!0),X(F),(h=F.visibleCols)!=null&&h.length&&C(F.visibleCols),F.viewMode&&d(F.viewMode),F.panelWidth&&F.panelWidth>=280&&F.panelWidth<=900&&I(F.panelWidth)}catch{}}async function to(){try{let h=await it.getCopilotStatus();h!=null&&h.authenticated&&(h!=null&&h.username)?ye(`Copilot: ${h.username}`):ye("Copilot: not logged in")}catch{}}async function ao(){try{if(it.getModels){let h=await it.getModels();h.models&&h.models.length>0&&R(h.models)}}catch{}}async function gl(){try{if(it.getAgents){let h=await it.getAgents();h.agents&&h.agents.length>0&&ze(h.agents)}}catch{}}function ro(){let T=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,F=new WebSocket(T);Te.current=F,F.addEventListener("open",()=>{B(!0),re(!0),ua()}),F.addEventListener("close",()=>{B(!1),Ae.current=setTimeout(ro,1500)}),F.addEventListener("message",ie=>{var le;try{let H=JSON.parse(ie.data);if(H.type==="tasks-updated"||(le=H.type)!=null&&le.startsWith("task:")){ua();return}if(H.type==="task-changed"&&H.task){let te=H.task,Le=typeof te.alteredBy=="string"?te.alteredBy:typeof te.author=="string"?te.author:"Someone",xe=H.source==="cli"?"cli":void 0;yr(te,Le,xe);return}if(H.type==="task-deleted"&&H.taskId){let te=String(H.taskId);t(Le=>{let xe=Le.filter(ge=>ge.id!==te);return De.current=xe,xe})}if(H.type==="agent-run-started"){ot(te=>{if(te.find(He=>He.taskId===H.taskId&&(He.status==="running"||He.status==="queued")))return te;let xe=De.current.find(He=>He.id===H.taskId),ge=te.some(He=>He.status==="running"),P={taskId:H.taskId,taskTitle:(xe==null?void 0:xe.title)??H.taskId.slice(0,8),status:ge?"queued":"running",model:H.model,worktree:`wt/task-${H.taskId.slice(0,8)}`,branch:`agent/task-${H.taskId.slice(0,8)}`,startedAt:ge?void 0:new Date().toISOString(),logs:[H.command??"\\u25B6 Starting agent run\\u2026"]};return[...te,P]});return}if(H.type==="agent-run-log"){ot(te=>te.map(Le=>{if(Le.taskId!==H.taskId)return Le;let xe={...Le,logs:[...Le.logs,H.log]};for(let ge of H.log.split(`\n`)){let P=ge.trim();if(!(!P||!P.startsWith("{")))try{let He=JSON.parse(P);if(He.type==="step_finish"&&typeof He.part=="object"&&He.part){let It=He.part,Xe=It.tokens,fa=typeof It.cost=="number"?It.cost:0;Xe&&(xe.inputTokens=(xe.inputTokens??0)+(Xe.input??0),xe.outputTokens=(xe.outputTokens??0)+(Xe.output??0),xe.totalTokens=(xe.totalTokens??0)+(Xe.total??0),xe.reasoningTokens=(xe.reasoningTokens??0)+(Xe.reasoning??0),xe.cost=(xe.cost??0)+fa)}}catch{}}return xe}));return}if(H.type==="agent-run-finished"){ot(te=>{let Le=te.map(ge=>ge.taskId===H.taskId?{...ge,status:H.success?"done":"failed",completedAt:new Date().toISOString(),logs:[...ge.logs,H.success?"\\u2713 Agent run completed":`\\u2717 Agent run failed (exit ${H.exitCode})`],inputTokens:typeof H.inputTokens=="number"?H.inputTokens:ge.inputTokens,outputTokens:typeof H.outputTokens=="number"?H.outputTokens:ge.outputTokens,totalTokens:typeof H.totalTokens=="number"?H.totalTokens:ge.totalTokens,reasoningTokens:typeof H.reasoningTokens=="number"?H.reasoningTokens:ge.reasoningTokens,cost:typeof H.cost=="number"?H.cost:ge.cost,durationMs:ge.startedAt?Date.now()-new Date(ge.startedAt).getTime():void 0}:ge);if(!Le.find(ge=>ge.status==="running")){let ge=Le.find(P=>P.status==="queued");if(ge)return Le.map(P=>P.taskId===ge.taskId?{...P,status:"running",startedAt:new Date().toISOString(),logs:[...P.logs,"\\u25B6 Starting agent run\\u2026"]}:P)}return Le});return}}catch{}});let Y=setInterval(()=>{F.readyState===WebSocket.OPEN&&F.send(JSON.stringify({type:"ping"}))},2e4);F.addEventListener("close",()=>clearInterval(Y))}async function Sr(h,T){let F=De.current.find(Y=>Y.id===h);t(Y=>{let ie=Y.map(le=>le.id===h?{...le,...T}:le);return De.current=ie,ie}),T.status&&(F!=null&&F.status)&&T.status!==F.status&&eo(h,F.status,T.status,de);try{let Y=await it.updateTask(h,T);Y.task&&t(ie=>{let le=ie.map(H=>H.id===h?Y.task:H);return De.current=le,le})}catch{ua()}}async function ui(h,T,F,Y,ie){let le=De.current.filter(xe=>xe.status===T).sort(Hr),H=Od(le,h,F,Y),te=ie??H.newSortKey,Le=H.normalizationPatches;t(xe=>{let ge=new Map;for(let{id:He,sortKey:It}of Le)ge.set(He,{sortKey:It});ge.set(h,{status:T,sortKey:te});let P=xe.map(He=>ge.has(He.id)?{...He,...ge.get(He.id)}:He);return De.current=P,P}),await it.updateTask(h,{status:T,sortKey:te}).catch(()=>{ua()})}async function di(h){t(T=>{let F=T.filter(Y=>Y.id!==h);return De.current=F,F});try{await it.deleteTask(h)}catch{ua()}}async function hl(h){var T;try{let F=await it.createTask(h);return await ua(),(T=F==null?void 0:F.task)==null?void 0:T.id}catch{}}function Ir(h,T="details",F){Ze([]),s({open:!0,task:h,tab:T,addColumnId:F})}function xl(){Ze(h=>{if(h.length===0)return h;let T=h[h.length-1],F=h.slice(0,-1);return Re.current=!0,Ke.current=null,window.location.hash=`#task-${T.id}`,s(Y=>({...Y,open:!0,task:T,tab:"details"})),F})}function fi(h,T){if(/\\.html?$/i.test(h)){window.open(T,"_blank","noopener,noreferrer");return}L({open:!0,name:h,url:T})}let vl=vy(e,v,u.toLowerCase()),da=window.location.origin,oo=ne.default.useMemo(()=>{let h=new Set;return e.forEach(T=>(T.tags??[]).forEach(F=>h.add(F))),Array.from(h).sort()},[e]),ci=ne.default.useMemo(()=>{var T;let h=(T=l.task)==null?void 0:T.id;return h?me.filter(F=>F.taskId===h).map(({field:F,from:Y,to:ie,actor:le,timestamp:H,source:te})=>({field:F,from:Y,to:ie,actor:le,timestamp:H,source:te})):[]},[(Yo=l.task)==null?void 0:Yo.id,me]),Xo=ne.default.useMemo(()=>{let h=e;return k.status!=="all"&&(h=h.filter(T=>T.status===k.status)),k.component&&(h=h.filter(T=>T.component===k.component)),k.type&&(h=h.filter(T=>T.type===k.type)),k.user&&(h=h.filter(T=>T.author===k.user)),k.tags&&k.tags.length>0&&(h=h.filter(T=>k.tags.every(F=>(T.tags??[]).includes(F)))),h},[e,k]),no=ne.default.useMemo(()=>new Map(St.map(h=>[h.taskId,h.status])),[St]),yl=J&&!U;return(0,ae.jsxs)(ae.Fragment,{children:[gy&&!o&&(0,ae.jsx)(xy,{onClose:Rg?()=>n(!0):void 0}),(0,ae.jsx)(_d,{projectName:b,missingProjectIconStyle:"vibeflow",wsConnected:U,port:my,searchQuery:u,filterTags:k.tags,allTags:oo,onToggleTag:h=>{let T=k.tags??[],F=T.includes(h)?T.filter(Y=>Y!==h):[...T,h];y(Y=>({...Y,tags:F}))},premiumUsage:ue,isLoading:a,taskSummary:vl,onSearchChange:f,onSettings:()=>p(!0),agentRuns:St,selectMode:Kt,onToggleSelectMode:()=>{ia(h=>!h),Ia(new Set)},agentQueueCount:St.filter(h=>h.status==="running"||h.status==="queued").length,onOpenAgentQueue:()=>vr(!0),experimentalAgents:w.experimentalAgents}),(0,ae.jsx)(ef,{tasks:e,filter:k,view:i,onFilter:y,onViewChange:h=>{d(h),it.saveSettings({...w,viewMode:h}),X(T=>({...T,viewMode:h}))}}),(0,ae.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[i==="list"?(0,ae.jsx)(qd,{tasks:Xo,searchQuery:u,isLoading:a,onOpenPanel:(h,T)=>Ir(h,T),onAddTask:h=>Ir(null,"details",h),onDrop:(h,T)=>Sr(h,{status:T}),experimentalAgents:w.experimentalAgents}):(0,ae.jsx)(Ud,{tasks:Xo,visibleCols:v,searchQuery:u,isLoading:a,onOpenPanel:(h,T,F)=>Ir(h,T,F),onDrop:(h,T)=>Sr(h,{status:T}),onReorder:ui,selectMode:Kt,selectedTaskIds:jt,onToggleSelect:Ca,agentStatuses:w.experimentalAgents===!0?no:void 0,onRunSelectedAgents:w.experimentalAgents===!0?Rt:void 0,onExitSelectMode:()=>{ia(!1),Ia(new Set)},experimentalAgents:w.experimentalAgents}),l.open&&(0,ae.jsxs)("div",{id:"detail-panel-container",style:{width:x,zIndex:N?30:10},className:N?"resizing":"",children:[(0,ae.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:h=>{h.preventDefault(),m(!0),document.body.classList.add("vibeflow-resizing-panel");let T=h.clientX,F=x,Y=le=>{let H=F-(le.clientX-T);I(Math.max(360,Math.min(860,H)))},ie=le=>{m(!1),document.body.classList.remove("vibeflow-resizing-panel");let H=Math.max(360,Math.min(860,F-(le.clientX-T)));it.saveSettings({...w,panelWidth:H}),X(te=>({...te,panelWidth:H})),window.removeEventListener("mousemove",Y),window.removeEventListener("mouseup",ie)};window.addEventListener("mousemove",Y),window.addEventListener("mouseup",ie)}}),(0,ae.jsx)(Jd,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:de,githubUrl:ee,baseUrl:da,isResizing:N,api:it,onClose:()=>{Ze([]),s(h=>({...h,open:!1}))},onSave:async h=>{l.task&&await Sr(l.task.id,h),s(T=>({...T,open:!1}))},onCreate:async h=>{let T=await hl(h);return s(F=>({...F,open:!1})),T},onDelete:async h=>{await di(h),s(T=>({...T,open:!1}))},onPatch:Sr,onFilePreview:fi,onGoBack:ke.length>0?xl:void 0,navBackLabel:ke.length>0?ke[ke.length-1].title:void 0,externalLocalChanges:ci,allTasks:e,agentRun:St.find(h=>{var T;return h.taskId===((T=l.task)==null?void 0:T.id)}),onRunAgent:pl,onStopAgent:Jr,onDequeueAgent:jo,models:O,defaultModel:w.defaultModel,perTypeModels:w.perTypeModels,defaultModelBug:w.defaultModelBug,defaultModelResearch:w.defaultModelResearch,defaultModelTask:w.defaultModelTask,agents:pe,experimentalAgents:w.experimentalAgents,createBranch:w.createBranch})]})]}),w.experimentalAgents===!0&&(0,ae.jsx)(of,{open:ii,runs:St,onStop:Jr,onOpenTask:h=>{let T=e.find(F=>F.id===h);T&&(Ir(T,"agent"),vr(!1))},onClose:()=>vr(!1)}),yl&&(0,Pg.createPortal)((0,ae.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,ae.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,ae.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,ae.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,ae.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,ae.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,ae.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,ae.jsx)(af,{open:c,visibleCols:v,settings:w,models:O,agents:pe,onClose:()=>p(!1),onSave:(h,T)=>{C(h);let F={...w,...T,visibleCols:h};X(F),it.saveSettings(F)}}),(0,ae.jsx)(rf,{open:g.open,name:g.name,url:g.url,onClose:()=>L(h=>({...h,open:!1}))})]})}var Eg=E(K(),1),Ag=document.getElementById("root");Ag&&(0,Dg.createRoot)(Ag).render((0,Eg.jsx)(Mg,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/bot.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/clock.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/folder-tree.js:\nlucide-react/dist/esm/icons/git-branch.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/play.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield-check.js:\nlucide-react/dist/esm/icons/square-check-big.js:\nlucide-react/dist/esm/icons/square.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/trash-2.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Xn=Gn(import.meta.url),Jn=Qn(Xn),Zn=[et(Jn,"kanban-template.html"),et(process.cwd(),"src","server","kanban-template.html"),et(process.cwd(),"dist","server","kanban-template.html")];function er(t){let e=Zn.find(r=>Kn(r));if(!e)throw new Error("kanban-template.html not found in expected locations");return Yn(e,"utf8").replaceAll("__PORT__",String(t))}function tr(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var nr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function rr(t){return`<!DOCTYPE html>
|
|
1696
|
+
`+Xe}import{existsSync as Kn,readFileSync as Yn}from"fs";import{dirname as Gn,join as et}from"path";import{fileURLToPath as Qn}from"url";var Tt=`*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
1697
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mb-0\\.5{margin-bottom:.125rem}.ml-1\\.5{margin-left:.375rem}.mr-0\\.5{margin-right:.125rem}.mt-0\\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-\\[100px\\]{min-width:100px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-text{cursor:text}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity,1))}.border-slate-700\\/60{border-color:rgba(51,65,85,.6)}.border-slate-800\\/60{border-color:rgba(30,41,59,.6)}.border-violet-700\\/50{border-color:rgba(109,40,217,.5)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-900\\/30{background-color:rgba(76,29,149,.3)}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\\[10px\\]{font-size:10px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-tight{line-height:1.25}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity:1;color:rgb(100 116 139/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-40{opacity:.4}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--p-bg:#020c1b;--p-surface:#080f1e;--p-card:#0a0f1e;--p-input:#050d1a;--p-hover:#0d1f38;--p-border:#1e293b;--p-border-s:#1e3a5f;--p-border-t:#334155;--p-text:#e2e8f0;--p-text-sub:#cbd5e1;--p-text-m:#94a3b8;--p-text-f:#64748b;--p-text-g:#475569;--p-white:#fff;--p-blue:#2563eb;--p-blue-700:#1d4ed8;--p-blue-300:#60a5fa;--p-blue-200:#93c5fd;--p-purple:#a78bfa;--p-purple-300:#c4b5fd;--p-cyan-300:#7dd3fc;--p-amber:#f59e0b;--p-amber-300:#fcd34d;--p-green:#22c55e;--p-green-300:#6ee7b7;--p-red:#f87171;--p-red-500:#ef4444;--p-bg-2:#0f172a;--p-bg-3:#1e293b;--p-shadow-lg:0 8px 24px rgba(2,6,23,.28);--p-overlay:rgba(15,23,42,.2)}body,html{height:100%;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--p-bg);color:var(--p-text)}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--p-border-t) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--p-border-t);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--p-text-g)}#kanban-board{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden}#kanban-board::-webkit-scrollbar{display:none}#kanban-scroll-track{position:fixed;bottom:0;left:0;right:0;height:6px;background:transparent;z-index:40;pointer-events:none}#kanban-scroll-thumb{position:absolute;top:1px;height:4px;border-radius:2px;background:var(--p-border-t);cursor:pointer;pointer-events:auto;transition:background .15s}#kanban-scroll-thumb.dragging,#kanban-scroll-thumb:hover{background:var(--p-text-g)}.board-column{flex:0 0 280px;width:280px;display:flex;flex-direction:column;gap:6px;min-height:0}.column-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--p-surface);border:1px solid var(--p-border)}.column-scroll{flex:1;overflow-y:auto;min-height:0;gap:5px;padding-bottom:8px}.column-scroll,.task-card{display:flex;flex-direction:column}.task-card{background:var(--p-card);border:1px solid var(--p-border);border-radius:10px;padding:11px 13px;cursor:grab;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s;gap:7px}.task-card:hover{border-color:var(--p-border-s);background:var(--p-hover);box-shadow:0 4px 16px rgba(0,0,0,.3);transform:translateY(-1px)}.task-card:active{cursor:grabbing;transform:scale(.98)}.task-card.dragging{opacity:.4}.drag-over{outline:2px dashed rgba(59,130,246,.5);outline-offset:-3px;border-radius:10px;background:rgba(59,130,246,.04)}.file-compact-actions{opacity:0}.group\\/file-compact:hover .file-compact-actions{opacity:1}.file-normal-actions,.group\\/file-compact:hover .file-compact-ts{opacity:0}.group\\/file:hover .file-normal-actions{opacity:1}.group\\/file:hover{background:rgba(30,41,59,.6)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sd-backlog{background:#475569}.sd-todo{background:#f59e0b}.sd-inprogress{background:#3b82f6;animation:pulse-prog 2s ease-in-out infinite}.sd-review{background:#a855f7}.sd-done{background:#22c55e}@keyframes pulse-prog{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.5)}50%{box-shadow:0 0 0 4px rgba(59,130,246,0)}}.type-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:10px;font-weight:500;border:1px solid}.type-bug{color:#fca5a5;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25)}.type-feature{color:#86efac;background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}.type-enhancement{color:#93c5fd;background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2)}.type-task{color:#cbd5e1;background:rgba(148,163,184,.08);border-color:rgba(148,163,184,.2)}.type-research{color:#c4b5fd;background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2)}.source-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:JetBrains Mono,monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;cursor:pointer;text-decoration:none;transition:background .1s,border-color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:11px;height:11px;border:2px solid rgba(96,165,250,.3);border-top-color:#60a5fa;border-radius:50%;animation:spin .7s linear infinite}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--p-card);border:1px solid var(--p-border);border-radius:14px;width:520px;max-width:95vw;overflow:hidden}.type-picker{display:flex;align-items:center;gap:6px}.type-picker-trigger{display:flex;align-items:center;gap:4px;width:auto;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);font-size:13px;cursor:pointer;white-space:nowrap}.type-picker-label{font-size:11px;font-weight:500;color:var(--p-text-m);letter-spacing:.02em}.type-picker-trigger:hover{border-color:var(--p-text-g);color:var(--p-text)}.type-picker-options{display:none;align-items:center;gap:4px}.type-picker-options.open{display:flex}.type-picker-option{width:28px;height:28px;border-radius:7px;border:1px solid var(--p-border-t);background:var(--p-card);color:var(--p-text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px}.type-picker-option:hover{border-color:#60a5fa;color:#bfdbfe}#detail-panel-container{min-width:360px;max-width:min(860px,100%);position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid #1e293b;animation:panel-slide-in .18s ease-out}#detail-panel-container.resizing{box-shadow:-12px 0 32px rgba(2,8,23,.6)}#detail-panel-resize-handle{position:absolute;left:0;top:0;width:12px;height:100%;cursor:ew-resize;z-index:5}#detail-panel-resize-handle:hover{background:linear-gradient(90deg,rgba(59,130,246,.22),rgba(59,130,246,0))}body.proto-resizing-panel{cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}#detail-panel{flex:1;background:var(--p-card);display:flex;flex-direction:column;overflow:hidden}@keyframes panel-slide-in{0%{width:0;opacity:0}to{width:420px;opacity:1}}.dp-header{padding:14px 16px 10px}.dp-header,.dp-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0}.dp-tabs{display:flex;gap:0}.dp-tab{padding:8px 14px;font-size:12px;font-weight:500;color:var(--p-text-g);cursor:pointer;transition:color .12s,border-color .12s;background:none;border:none;border-bottom:2px solid transparent}.dp-tab:hover{color:var(--p-text-m)}.dp-tab.active{color:#93c5fd;border-bottom-color:#3b82f6}.dp-body{overflow:hidden}.dp-body,.dp-body>.dp-pane{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.dp-body>.dp-pane{padding:14px 16px}#dp-details-pane,.dp-body>.dp-pane{overflow-y:auto;background:var(--p-card)}.dp-footer{padding:10px 16px 12px;border-top:1px solid var(--p-border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--p-card)}.dp-source-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:10px;font-family:monospace;background:rgba(59,130,246,.06);border:1px solid rgba(59,130,246,.15);color:#60a5fa;white-space:nowrap}.dp-source-pill:hover{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3)}.dp-status-btn{padding:3px 10px;border-radius:6px;font-size:10px;font-weight:500;border:1px solid var(--p-border-t);color:var(--p-text-f);background:transparent;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dp-status-btn:hover{border-color:var(--p-text-g);color:var(--p-text-m)}.dp-status-btn.active-backlog{border-color:#475569;background:rgba(100,116,139,.1);color:#94a3b8}.dp-status-btn.active-todo{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.1);color:#f59e0b}.dp-status-btn.active-in-progress{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.1);color:#60a5fa}.dp-status-btn.active-review{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1);color:#a855f7}.dp-status-btn.active-done{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08);color:#22c55e}.dp-input{width:100%;padding:7px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:13px;font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s;box-sizing:border-box}.dp-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-input::-moz-placeholder{color:var(--p-border-t)}.dp-input::placeholder{color:var(--p-border-t)}.dp-textarea{width:100%;padding:8px 10px;border:1px solid var(--p-border-s);border-radius:8px;background:var(--p-input);color:var(--p-text);font-size:12px;font-family:monospace;line-height:1.6;resize:vertical;outline:none;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.dp-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dp-textarea::-moz-placeholder{color:var(--p-border-t)}.dp-textarea::placeholder{color:var(--p-border-t)}.dp-meta-label{font-size:10px;font-weight:600;color:var(--p-text-g);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 4px rgba(74,222,128,0)}}@keyframes agent-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes away-glow{0%,to{box-shadow:0 0 0 0 rgba(37,99,235,.45),0 0 24px rgba(37,99,235,.1);border-color:rgba(37,99,235,.35)}50%{box-shadow:0 0 0 14px rgba(37,99,235,0),0 0 48px rgba(37,99,235,.2);border-color:rgba(96,165,250,.6)}}@keyframes away-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.focus-within\\:border-blue-500:focus-within{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\\:bg-red-900\\/40:hover{background-color:rgba(127,29,29,.4)}.hover\\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity,1))}.hover\\:bg-slate-700\\/50:hover{background-color:rgba(51,65,85,.5)}.hover\\:bg-slate-700\\/60:hover{background-color:rgba(51,65,85,.6)}.hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\\:bg-violet-800\\/30:hover{background-color:rgba(91,33,182,.3)}.hover\\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.hover\\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.hover\\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.hover\\:underline:hover{text-decoration-line:underline}.group\\/comment:hover .group-hover\\/comment\\:opacity-100{opacity:1}`;var Ze='"use strict";(()=>{var Gg=Object.create;var cf=Object.defineProperty;var Kg=Object.getOwnPropertyDescriptor;var jg=Object.getOwnPropertyNames;var Xg=Object.getPrototypeOf,Qg=Object.prototype.hasOwnProperty;var wa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Yg=(e,t,a,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of jg(t))!Qg.call(e,o)&&o!==a&&cf(e,o,{get:()=>t[o],enumerable:!(r=Kg(t,o))||r.enumerable});return e};var E=(e,t,a)=>(a=e!=null?Gg(Xg(e)):{},Yg(t||!e||!e.__esModule?cf(a,"default",{value:e,enumerable:!0}):a,e));var wf=wa(ge=>{"use strict";var Jo=Symbol.for("react.element"),Zg=Symbol.for("react.portal"),Jg=Symbol.for("react.fragment"),eh=Symbol.for("react.strict_mode"),th=Symbol.for("react.profiler"),ah=Symbol.for("react.provider"),rh=Symbol.for("react.context"),oh=Symbol.for("react.forward_ref"),nh=Symbol.for("react.suspense"),lh=Symbol.for("react.memo"),sh=Symbol.for("react.lazy"),pf=Symbol.iterator;function ih(e){return e===null||typeof e!="object"?null:(e=pf&&e[pf]||e["@@iterator"],typeof e=="function"?e:null)}var hf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xf=Object.assign,vf={};function uo(e,t,a){this.props=e,this.context=t,this.refs=vf,this.updater=a||hf}uo.prototype.isReactComponent={};uo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};uo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function yf(){}yf.prototype=uo.prototype;function gi(e,t,a){this.props=e,this.context=t,this.refs=vf,this.updater=a||hf}var hi=gi.prototype=new yf;hi.constructor=gi;xf(hi,uo.prototype);hi.isPureReactComponent=!0;var mf=Array.isArray,Lf=Object.prototype.hasOwnProperty,xi={current:null},Sf={key:!0,ref:!0,__self:!0,__source:!0};function If(e,t,a){var r,o={},n=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(n=""+t.key),t)Lf.call(t,r)&&!Sf.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=a;else if(1<s){for(var i=Array(s),d=0;d<s;d++)i[d]=arguments[d+2];o.children=i}if(e&&e.defaultProps)for(r in s=e.defaultProps,s)o[r]===void 0&&(o[r]=s[r]);return{$$typeof:Jo,type:e,key:n,ref:l,props:o,_owner:xi.current}}function uh(e,t){return{$$typeof:Jo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function vi(e){return typeof e=="object"&&e!==null&&e.$$typeof===Jo}function dh(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return t[a]})}var gf=/\\/+/g;function mi(e,t){return typeof e=="object"&&e!==null&&e.key!=null?dh(""+e.key):t.toString(36)}function kl(e,t,a,r,o){var n=typeof e;(n==="undefined"||n==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(n){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Jo:case Zg:l=!0}}if(l)return l=e,o=o(l),e=r===""?"."+mi(l,0):r,mf(o)?(a="",e!=null&&(a=e.replace(gf,"$&/")+"/"),kl(o,t,a,"",function(d){return d})):o!=null&&(vi(o)&&(o=uh(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(gf,"$&/")+"/")+e)),t.push(o)),1;if(l=0,r=r===""?".":r+":",mf(e))for(var s=0;s<e.length;s++){n=e[s];var i=r+mi(n,s);l+=kl(n,t,a,i,o)}else if(i=ih(e),typeof i=="function")for(e=i.call(e),s=0;!(n=e.next()).done;)n=n.value,i=r+mi(n,s++),l+=kl(n,t,a,i,o);else if(n==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function wl(e,t,a){if(e==null)return e;var r=[],o=0;return kl(e,r,"","",function(n){return t.call(a,n,o++)}),r}function fh(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var gt={current:null},bl={transition:null},ch={ReactCurrentDispatcher:gt,ReactCurrentBatchConfig:bl,ReactCurrentOwner:xi};function Cf(){throw Error("act(...) is not supported in production builds of React.")}ge.Children={map:wl,forEach:function(e,t,a){wl(e,function(){t.apply(this,arguments)},a)},count:function(e){var t=0;return wl(e,function(){t++}),t},toArray:function(e){return wl(e,function(t){return t})||[]},only:function(e){if(!vi(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};ge.Component=uo;ge.Fragment=Jg;ge.Profiler=th;ge.PureComponent=gi;ge.StrictMode=eh;ge.Suspense=nh;ge.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ch;ge.act=Cf;ge.cloneElement=function(e,t,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=xf({},e.props),o=e.key,n=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(n=t.ref,l=xi.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(i in t)Lf.call(t,i)&&!Sf.hasOwnProperty(i)&&(r[i]=t[i]===void 0&&s!==void 0?s[i]:t[i])}var i=arguments.length-2;if(i===1)r.children=a;else if(1<i){s=Array(i);for(var d=0;d<i;d++)s[d]=arguments[d+2];r.children=s}return{$$typeof:Jo,type:e.type,key:o,ref:n,props:r,_owner:l}};ge.createContext=function(e){return e={$$typeof:rh,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ah,_context:e},e.Consumer=e};ge.createElement=If;ge.createFactory=function(e){var t=If.bind(null,e);return t.type=e,t};ge.createRef=function(){return{current:null}};ge.forwardRef=function(e){return{$$typeof:oh,render:e}};ge.isValidElement=vi;ge.lazy=function(e){return{$$typeof:sh,_payload:{_status:-1,_result:e},_init:fh}};ge.memo=function(e,t){return{$$typeof:lh,type:e,compare:t===void 0?null:t}};ge.startTransition=function(e){var t=bl.transition;bl.transition={};try{e()}finally{bl.transition=t}};ge.unstable_act=Cf;ge.useCallback=function(e,t){return gt.current.useCallback(e,t)};ge.useContext=function(e){return gt.current.useContext(e)};ge.useDebugValue=function(){};ge.useDeferredValue=function(e){return gt.current.useDeferredValue(e)};ge.useEffect=function(e,t){return gt.current.useEffect(e,t)};ge.useId=function(){return gt.current.useId()};ge.useImperativeHandle=function(e,t,a){return gt.current.useImperativeHandle(e,t,a)};ge.useInsertionEffect=function(e,t){return gt.current.useInsertionEffect(e,t)};ge.useLayoutEffect=function(e,t){return gt.current.useLayoutEffect(e,t)};ge.useMemo=function(e,t){return gt.current.useMemo(e,t)};ge.useReducer=function(e,t,a){return gt.current.useReducer(e,t,a)};ge.useRef=function(e){return gt.current.useRef(e)};ge.useState=function(e){return gt.current.useState(e)};ge.useSyncExternalStore=function(e,t,a){return gt.current.useSyncExternalStore(e,t,a)};ge.useTransition=function(){return gt.current.useTransition()};ge.version="18.3.1"});var Be=wa((Iy,kf)=>{"use strict";kf.exports=wf()});var Bf=wa(Oe=>{"use strict";function Ii(e,t){var a=e.length;e.push(t);e:for(;0<a;){var r=a-1>>>1,o=e[r];if(0<Tl(o,t))e[r]=t,e[a]=o,a=r;else break e}}function ta(e){return e.length===0?null:e[0]}function Rl(e){if(e.length===0)return null;var t=e[0],a=e.pop();if(a!==t){e[0]=a;e:for(var r=0,o=e.length,n=o>>>1;r<n;){var l=2*(r+1)-1,s=e[l],i=l+1,d=e[i];if(0>Tl(s,a))i<o&&0>Tl(d,s)?(e[r]=d,e[i]=a,r=i):(e[r]=s,e[l]=a,r=l);else if(i<o&&0>Tl(d,a))e[r]=d,e[i]=a,r=i;else break e}}return t}function Tl(e,t){var a=e.sortIndex-t.sortIndex;return a!==0?a:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(bf=performance,Oe.unstable_now=function(){return bf.now()}):(yi=Date,Tf=yi.now(),Oe.unstable_now=function(){return yi.now()-Tf});var bf,yi,Tf,pa=[],Wa=[],ph=1,Ut=null,dt=3,Ml=!1,Tr=!1,tn=!1,Mf=typeof setTimeout=="function"?setTimeout:null,Af=typeof clearTimeout=="function"?clearTimeout:null,Pf=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Ci(e){for(var t=ta(Wa);t!==null;){if(t.callback===null)Rl(Wa);else if(t.startTime<=e)Rl(Wa),t.sortIndex=t.expirationTime,Ii(pa,t);else break;t=ta(Wa)}}function wi(e){if(tn=!1,Ci(e),!Tr)if(ta(pa)!==null)Tr=!0,bi(ki);else{var t=ta(Wa);t!==null&&Ti(wi,t.startTime-e)}}function ki(e,t){Tr=!1,tn&&(tn=!1,Af(an),an=-1),Ml=!0;var a=dt;try{for(Ci(t),Ut=ta(pa);Ut!==null&&(!(Ut.expirationTime>t)||e&&!Ff());){var r=Ut.callback;if(typeof r=="function"){Ut.callback=null,dt=Ut.priorityLevel;var o=r(Ut.expirationTime<=t);t=Oe.unstable_now(),typeof o=="function"?Ut.callback=o:Ut===ta(pa)&&Rl(pa),Ci(t)}else Rl(pa);Ut=ta(pa)}if(Ut!==null)var n=!0;else{var l=ta(Wa);l!==null&&Ti(wi,l.startTime-t),n=!1}return n}finally{Ut=null,dt=a,Ml=!1}}var Al=!1,Pl=null,an=-1,Df=5,Ef=-1;function Ff(){return!(Oe.unstable_now()-Ef<Df)}function Li(){if(Pl!==null){var e=Oe.unstable_now();Ef=e;var t=!0;try{t=Pl(!0,e)}finally{t?en():(Al=!1,Pl=null)}}else Al=!1}var en;typeof Pf=="function"?en=function(){Pf(Li)}:typeof MessageChannel<"u"?(Si=new MessageChannel,Rf=Si.port2,Si.port1.onmessage=Li,en=function(){Rf.postMessage(null)}):en=function(){Mf(Li,0)};var Si,Rf;function bi(e){Pl=e,Al||(Al=!0,en())}function Ti(e,t){an=Mf(function(){e(Oe.unstable_now())},t)}Oe.unstable_IdlePriority=5;Oe.unstable_ImmediatePriority=1;Oe.unstable_LowPriority=4;Oe.unstable_NormalPriority=3;Oe.unstable_Profiling=null;Oe.unstable_UserBlockingPriority=2;Oe.unstable_cancelCallback=function(e){e.callback=null};Oe.unstable_continueExecution=function(){Tr||Ml||(Tr=!0,bi(ki))};Oe.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Df=0<e?Math.floor(1e3/e):5};Oe.unstable_getCurrentPriorityLevel=function(){return dt};Oe.unstable_getFirstCallbackNode=function(){return ta(pa)};Oe.unstable_next=function(e){switch(dt){case 1:case 2:case 3:var t=3;break;default:t=dt}var a=dt;dt=t;try{return e()}finally{dt=a}};Oe.unstable_pauseExecution=function(){};Oe.unstable_requestPaint=function(){};Oe.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=dt;dt=e;try{return t()}finally{dt=a}};Oe.unstable_scheduleCallback=function(e,t,a){var r=Oe.unstable_now();switch(typeof a=="object"&&a!==null?(a=a.delay,a=typeof a=="number"&&0<a?r+a:r):a=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=a+o,e={id:ph++,callback:t,priorityLevel:e,startTime:a,expirationTime:o,sortIndex:-1},a>r?(e.sortIndex=a,Ii(Wa,e),ta(pa)===null&&e===ta(Wa)&&(tn?(Af(an),an=-1):tn=!0,Ti(wi,a-r))):(e.sortIndex=o,Ii(pa,e),Tr||Ml||(Tr=!0,bi(ki))),e};Oe.unstable_shouldYield=Ff;Oe.unstable_wrapCallback=function(e){var t=dt;return function(){var a=dt;dt=t;try{return e.apply(this,arguments)}finally{dt=a}}}});var zf=wa((wy,Of)=>{"use strict";Of.exports=Bf()});var qm=wa(Bt=>{"use strict";var mh=Be(),Et=zf();function M(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var $c=new Set,kn={};function Hr(e,t){Ao(e,t),Ao(e+"Capture",t)}function Ao(e,t){for(kn[e]=t,e=0;e<t.length;e++)$c.add(t[e])}var Ma=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qi=Object.prototype.hasOwnProperty,gh=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Nf={},Uf={};function hh(e){return Qi.call(Uf,e)?!0:Qi.call(Nf,e)?!1:gh.test(e)?Uf[e]=!0:(Nf[e]=!0,!1)}function xh(e,t,a,r){if(a!==null&&a.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function vh(e,t,a,r){if(t===null||typeof t>"u"||xh(e,t,a,r))return!0;if(r)return!1;if(a!==null)switch(a.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function vt(e,t,a,r,o,n,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=a,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=l}var st={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){st[e]=new vt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];st[t]=new vt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){st[e]=new vt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){st[e]=new vt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){st[e]=new vt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){st[e]=new vt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){st[e]=new vt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){st[e]=new vt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){st[e]=new vt(e,5,!1,e.toLowerCase(),null,!1,!1)});var _u=/[\\-:]([a-z])/g;function Wu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(_u,Wu);st[t]=new vt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){st[e]=new vt(e,1,!1,e.toLowerCase(),null,!1,!1)});st.xlinkHref=new vt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){st[e]=new vt(e,1,!1,e.toLowerCase(),null,!0,!0)});function $u(e,t,a,r){var o=st.hasOwnProperty(t)?st[t]:null;(o!==null?o.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(vh(t,a,o,r)&&(a=null),r||o===null?hh(t)&&(a===null?e.removeAttribute(t):e.setAttribute(t,""+a)):o.mustUseProperty?e[o.propertyName]=a===null?o.type===3?!1:"":a:(t=o.attributeName,r=o.attributeNamespace,a===null?e.removeAttribute(t):(o=o.type,a=o===3||o===4&&a===!0?"":""+a,r?e.setAttributeNS(r,t,a):e.setAttribute(t,a))))}var Fa=mh.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Dl=Symbol.for("react.element"),po=Symbol.for("react.portal"),mo=Symbol.for("react.fragment"),Vu=Symbol.for("react.strict_mode"),Yi=Symbol.for("react.profiler"),Vc=Symbol.for("react.provider"),Gc=Symbol.for("react.context"),Gu=Symbol.for("react.forward_ref"),Zi=Symbol.for("react.suspense"),Ji=Symbol.for("react.suspense_list"),Ku=Symbol.for("react.memo"),Va=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Kc=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Hf=Symbol.iterator;function rn(e){return e===null||typeof e!="object"?null:(e=Hf&&e[Hf]||e["@@iterator"],typeof e=="function"?e:null)}var Ve=Object.assign,Pi;function cn(e){if(Pi===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\\n( *(at )?)/);Pi=t&&t[1]||""}return`\n`+Pi+e}var Ri=!1;function Mi(e,t){if(!e||Ri)return"";Ri=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(d){var r=d}Reflect.construct(e,[],t)}else{try{t.call()}catch(d){r=d}e.call(t.prototype)}else{try{throw Error()}catch(d){r=d}e()}}catch(d){if(d&&r&&typeof d.stack=="string"){for(var o=d.stack.split(`\n`),n=r.stack.split(`\n`),l=o.length-1,s=n.length-1;1<=l&&0<=s&&o[l]!==n[s];)s--;for(;1<=l&&0<=s;l--,s--)if(o[l]!==n[s]){if(l!==1||s!==1)do if(l--,s--,0>s||o[l]!==n[s]){var i=`\n`+o[l].replace(" at new "," at ");return e.displayName&&i.includes("<anonymous>")&&(i=i.replace("<anonymous>",e.displayName)),i}while(1<=l&&0<=s);break}}}finally{Ri=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?cn(e):""}function yh(e){switch(e.tag){case 5:return cn(e.type);case 16:return cn("Lazy");case 13:return cn("Suspense");case 19:return cn("SuspenseList");case 0:case 2:case 15:return e=Mi(e.type,!1),e;case 11:return e=Mi(e.type.render,!1),e;case 1:return e=Mi(e.type,!0),e;default:return""}}function eu(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case mo:return"Fragment";case po:return"Portal";case Yi:return"Profiler";case Vu:return"StrictMode";case Zi:return"Suspense";case Ji:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Gc:return(e.displayName||"Context")+".Consumer";case Vc:return(e._context.displayName||"Context")+".Provider";case Gu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return t=e.displayName||null,t!==null?t:eu(e.type)||"Memo";case Va:t=e._payload,e=e._init;try{return eu(e(t))}catch{}}return null}function Lh(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return eu(t);case 8:return t===Vu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function nr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function jc(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Sh(e){var t=jc(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var o=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function El(e){e._valueTracker||(e._valueTracker=Sh(e))}function Xc(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),r="";return e&&(r=jc(e)?e.checked?"true":"false":e.value),e=r,e!==a?(t.setValue(e),!0):!1}function ss(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function tu(e,t){var a=t.checked;return Ve({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function qf(e,t){var a=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;a=nr(t.value!=null?t.value:a),e._wrapperState={initialChecked:r,initialValue:a,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Qc(e,t){t=t.checked,t!=null&&$u(e,"checked",t,!1)}function au(e,t){Qc(e,t);var a=nr(t.value),r=t.type;if(a!=null)r==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ru(e,t.type,a):t.hasOwnProperty("defaultValue")&&ru(e,t.type,nr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function _f(e,t,a){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,a||t===e.value||(e.value=t),e.defaultValue=t}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function ru(e,t,a){(t!=="number"||ss(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var pn=Array.isArray;function ko(e,t,a,r){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&r&&(e[a].defaultSelected=!0)}else{for(a=""+nr(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function ou(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(M(91));return Ve({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Wf(e,t){var a=t.value;if(a==null){if(a=t.children,t=t.defaultValue,a!=null){if(t!=null)throw Error(M(92));if(pn(a)){if(1<a.length)throw Error(M(93));a=a[0]}t=a}t==null&&(t=""),a=t}e._wrapperState={initialValue:nr(a)}}function Yc(e,t){var a=nr(t.value),r=nr(t.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),t.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),r!=null&&(e.defaultValue=""+r)}function $f(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Zc(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function nu(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Zc(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Fl,Jc=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,a,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,a,r,o)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Fl=Fl||document.createElement("div"),Fl.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Fl.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function bn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var hn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ih=["Webkit","ms","Moz","O"];Object.keys(hn).forEach(function(e){Ih.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),hn[t]=hn[e]})});function ep(e,t,a){return t==null||typeof t=="boolean"||t===""?"":a||typeof t!="number"||t===0||hn.hasOwnProperty(e)&&hn[e]?(""+t).trim():t+"px"}function tp(e,t){e=e.style;for(var a in t)if(t.hasOwnProperty(a)){var r=a.indexOf("--")===0,o=ep(a,t[a],r);a==="float"&&(a="cssFloat"),r?e.setProperty(a,o):e[a]=o}}var Ch=Ve({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lu(e,t){if(t){if(Ch[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(M(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(M(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(M(61))}if(t.style!=null&&typeof t.style!="object")throw Error(M(62))}}function su(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var iu=null;function ju(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var uu=null,bo=null,To=null;function Vf(e){if(e=$n(e)){if(typeof uu!="function")throw Error(M(280));var t=e.stateNode;t&&(t=Bs(t),uu(e.stateNode,e.type,t))}}function ap(e){bo?To?To.push(e):To=[e]:bo=e}function rp(){if(bo){var e=bo,t=To;if(To=bo=null,Vf(e),t)for(e=0;e<t.length;e++)Vf(t[e])}}function op(e,t){return e(t)}function np(){}var Ai=!1;function lp(e,t,a){if(Ai)return e(t,a);Ai=!0;try{return op(e,t,a)}finally{Ai=!1,(bo!==null||To!==null)&&(np(),rp())}}function Tn(e,t){var a=e.stateNode;if(a===null)return null;var r=Bs(a);if(r===null)return null;a=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(M(231,t,typeof a));return a}var du=!1;if(Ma)try{fo={},Object.defineProperty(fo,"passive",{get:function(){du=!0}}),window.addEventListener("test",fo,fo),window.removeEventListener("test",fo,fo)}catch{du=!1}var fo;function wh(e,t,a,r,o,n,l,s,i){var d=Array.prototype.slice.call(arguments,3);try{t.apply(a,d)}catch(f){this.onError(f)}}var xn=!1,is=null,us=!1,fu=null,kh={onError:function(e){xn=!0,is=e}};function bh(e,t,a,r,o,n,l,s,i){xn=!1,is=null,wh.apply(kh,arguments)}function Th(e,t,a,r,o,n,l,s,i){if(bh.apply(this,arguments),xn){if(xn){var d=is;xn=!1,is=null}else throw Error(M(198));us||(us=!0,fu=d)}}function qr(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function sp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Gf(e){if(qr(e)!==e)throw Error(M(188))}function Ph(e){var t=e.alternate;if(!t){if(t=qr(e),t===null)throw Error(M(188));return t!==e?null:e}for(var a=e,r=t;;){var o=a.return;if(o===null)break;var n=o.alternate;if(n===null){if(r=o.return,r!==null){a=r;continue}break}if(o.child===n.child){for(n=o.child;n;){if(n===a)return Gf(o),e;if(n===r)return Gf(o),t;n=n.sibling}throw Error(M(188))}if(a.return!==r.return)a=o,r=n;else{for(var l=!1,s=o.child;s;){if(s===a){l=!0,a=o,r=n;break}if(s===r){l=!0,r=o,a=n;break}s=s.sibling}if(!l){for(s=n.child;s;){if(s===a){l=!0,a=n,r=o;break}if(s===r){l=!0,r=n,a=o;break}s=s.sibling}if(!l)throw Error(M(189))}}if(a.alternate!==r)throw Error(M(190))}if(a.tag!==3)throw Error(M(188));return a.stateNode.current===a?e:t}function ip(e){return e=Ph(e),e!==null?up(e):null}function up(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=up(e);if(t!==null)return t;e=e.sibling}return null}var dp=Et.unstable_scheduleCallback,Kf=Et.unstable_cancelCallback,Rh=Et.unstable_shouldYield,Mh=Et.unstable_requestPaint,Xe=Et.unstable_now,Ah=Et.unstable_getCurrentPriorityLevel,Xu=Et.unstable_ImmediatePriority,fp=Et.unstable_UserBlockingPriority,ds=Et.unstable_NormalPriority,Dh=Et.unstable_LowPriority,cp=Et.unstable_IdlePriority,As=null,xa=null;function Eh(e){if(xa&&typeof xa.onCommitFiberRoot=="function")try{xa.onCommitFiberRoot(As,e,void 0,(e.current.flags&128)===128)}catch{}}var la=Math.clz32?Math.clz32:Oh,Fh=Math.log,Bh=Math.LN2;function Oh(e){return e>>>=0,e===0?32:31-(Fh(e)/Bh|0)|0}var Bl=64,Ol=4194304;function mn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function fs(e,t){var a=e.pendingLanes;if(a===0)return 0;var r=0,o=e.suspendedLanes,n=e.pingedLanes,l=a&268435455;if(l!==0){var s=l&~o;s!==0?r=mn(s):(n&=l,n!==0&&(r=mn(n)))}else l=a&~o,l!==0?r=mn(l):n!==0&&(r=mn(n));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,n=t&-t,o>=n||o===16&&(n&4194240)!==0))return t;if((r&4)!==0&&(r|=a&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)a=31-la(t),o=1<<a,r|=e[a],t&=~o;return r}function zh(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Nh(e,t){for(var a=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,n=e.pendingLanes;0<n;){var l=31-la(n),s=1<<l,i=o[l];i===-1?((s&a)===0||(s&r)!==0)&&(o[l]=zh(s,t)):i<=t&&(e.expiredLanes|=s),n&=~s}}function cu(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function pp(){var e=Bl;return Bl<<=1,(Bl&4194240)===0&&(Bl=64),e}function Di(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function _n(e,t,a){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-la(t),e[t]=a}function Uh(e,t){var a=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<a;){var o=31-la(a),n=1<<o;t[o]=0,r[o]=-1,e[o]=-1,a&=~n}}function Qu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var r=31-la(a),o=1<<r;o&t|e[r]&t&&(e[r]|=t),a&=~o}}var Te=0;function mp(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var gp,Yu,hp,xp,vp,pu=!1,zl=[],Ya=null,Za=null,Ja=null,Pn=new Map,Rn=new Map,Ka=[],Hh="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function jf(e,t){switch(e){case"focusin":case"focusout":Ya=null;break;case"dragenter":case"dragleave":Za=null;break;case"mouseover":case"mouseout":Ja=null;break;case"pointerover":case"pointerout":Pn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Rn.delete(t.pointerId)}}function on(e,t,a,r,o,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:a,eventSystemFlags:r,nativeEvent:n,targetContainers:[o]},t!==null&&(t=$n(t),t!==null&&Yu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function qh(e,t,a,r,o){switch(t){case"focusin":return Ya=on(Ya,e,t,a,r,o),!0;case"dragenter":return Za=on(Za,e,t,a,r,o),!0;case"mouseover":return Ja=on(Ja,e,t,a,r,o),!0;case"pointerover":var n=o.pointerId;return Pn.set(n,on(Pn.get(n)||null,e,t,a,r,o)),!0;case"gotpointercapture":return n=o.pointerId,Rn.set(n,on(Rn.get(n)||null,e,t,a,r,o)),!0}return!1}function yp(e){var t=Mr(e.target);if(t!==null){var a=qr(t);if(a!==null){if(t=a.tag,t===13){if(t=sp(a),t!==null){e.blockedOn=t,vp(e.priority,function(){hp(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Yl(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=mu(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var r=new a.constructor(a.type,a);iu=r,a.target.dispatchEvent(r),iu=null}else return t=$n(a),t!==null&&Yu(t),e.blockedOn=a,!1;t.shift()}return!0}function Xf(e,t,a){Yl(e)&&a.delete(t)}function _h(){pu=!1,Ya!==null&&Yl(Ya)&&(Ya=null),Za!==null&&Yl(Za)&&(Za=null),Ja!==null&&Yl(Ja)&&(Ja=null),Pn.forEach(Xf),Rn.forEach(Xf)}function nn(e,t){e.blockedOn===t&&(e.blockedOn=null,pu||(pu=!0,Et.unstable_scheduleCallback(Et.unstable_NormalPriority,_h)))}function Mn(e){function t(o){return nn(o,e)}if(0<zl.length){nn(zl[0],e);for(var a=1;a<zl.length;a++){var r=zl[a];r.blockedOn===e&&(r.blockedOn=null)}}for(Ya!==null&&nn(Ya,e),Za!==null&&nn(Za,e),Ja!==null&&nn(Ja,e),Pn.forEach(t),Rn.forEach(t),a=0;a<Ka.length;a++)r=Ka[a],r.blockedOn===e&&(r.blockedOn=null);for(;0<Ka.length&&(a=Ka[0],a.blockedOn===null);)yp(a),a.blockedOn===null&&Ka.shift()}var Po=Fa.ReactCurrentBatchConfig,cs=!0;function Wh(e,t,a,r){var o=Te,n=Po.transition;Po.transition=null;try{Te=1,Zu(e,t,a,r)}finally{Te=o,Po.transition=n}}function $h(e,t,a,r){var o=Te,n=Po.transition;Po.transition=null;try{Te=4,Zu(e,t,a,r)}finally{Te=o,Po.transition=n}}function Zu(e,t,a,r){if(cs){var o=mu(e,t,a,r);if(o===null)Ui(e,t,r,ps,a),jf(e,r);else if(qh(o,e,t,a,r))r.stopPropagation();else if(jf(e,r),t&4&&-1<Hh.indexOf(e)){for(;o!==null;){var n=$n(o);if(n!==null&&gp(n),n=mu(e,t,a,r),n===null&&Ui(e,t,r,ps,a),n===o)break;o=n}o!==null&&r.stopPropagation()}else Ui(e,t,r,null,a)}}var ps=null;function mu(e,t,a,r){if(ps=null,e=ju(r),e=Mr(e),e!==null)if(t=qr(e),t===null)e=null;else if(a=t.tag,a===13){if(e=sp(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return ps=e,null}function Lp(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ah()){case Xu:return 1;case fp:return 4;case ds:case Dh:return 16;case cp:return 536870912;default:return 16}default:return 16}}var Xa=null,Ju=null,Zl=null;function Sp(){if(Zl)return Zl;var e,t=Ju,a=t.length,r,o="value"in Xa?Xa.value:Xa.textContent,n=o.length;for(e=0;e<a&&t[e]===o[e];e++);var l=a-e;for(r=1;r<=l&&t[a-r]===o[n-r];r++);return Zl=o.slice(e,1<r?1-r:void 0)}function Jl(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Nl(){return!0}function Qf(){return!1}function Ft(e){function t(a,r,o,n,l){this._reactName=a,this._targetInst=o,this.type=r,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(a=e[s],this[s]=a?a(n):n[s]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?Nl:Qf,this.isPropagationStopped=Qf,this}return Ve(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Nl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Nl)},persist:function(){},isPersistent:Nl}),t}var No={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ed=Ft(No),Wn=Ve({},No,{view:0,detail:0}),Vh=Ft(Wn),Ei,Fi,ln,Ds=Ve({},Wn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:td,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&e.type==="mousemove"?(Ei=e.screenX-ln.screenX,Fi=e.screenY-ln.screenY):Fi=Ei=0,ln=e),Ei)},movementY:function(e){return"movementY"in e?e.movementY:Fi}}),Yf=Ft(Ds),Gh=Ve({},Ds,{dataTransfer:0}),Kh=Ft(Gh),jh=Ve({},Wn,{relatedTarget:0}),Bi=Ft(jh),Xh=Ve({},No,{animationName:0,elapsedTime:0,pseudoElement:0}),Qh=Ft(Xh),Yh=Ve({},No,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Zh=Ft(Yh),Jh=Ve({},No,{data:0}),Zf=Ft(Jh),ex={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},tx={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ax={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function rx(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ax[e])?!!t[e]:!1}function td(){return rx}var ox=Ve({},Wn,{key:function(e){if(e.key){var t=ex[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Jl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?tx[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:td,charCode:function(e){return e.type==="keypress"?Jl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Jl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),nx=Ft(ox),lx=Ve({},Ds,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jf=Ft(lx),sx=Ve({},Wn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:td}),ix=Ft(sx),ux=Ve({},No,{propertyName:0,elapsedTime:0,pseudoElement:0}),dx=Ft(ux),fx=Ve({},Ds,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),cx=Ft(fx),px=[9,13,27,32],ad=Ma&&"CompositionEvent"in window,vn=null;Ma&&"documentMode"in document&&(vn=document.documentMode);var mx=Ma&&"TextEvent"in window&&!vn,Ip=Ma&&(!ad||vn&&8<vn&&11>=vn),ec=" ",tc=!1;function Cp(e,t){switch(e){case"keyup":return px.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wp(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var go=!1;function gx(e,t){switch(e){case"compositionend":return wp(t);case"keypress":return t.which!==32?null:(tc=!0,ec);case"textInput":return e=t.data,e===ec&&tc?null:e;default:return null}}function hx(e,t){if(go)return e==="compositionend"||!ad&&Cp(e,t)?(e=Sp(),Zl=Ju=Xa=null,go=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ip&&t.locale!=="ko"?null:t.data;default:return null}}var xx={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ac(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!xx[e.type]:t==="textarea"}function kp(e,t,a,r){ap(r),t=ms(t,"onChange"),0<t.length&&(a=new ed("onChange","change",null,a,r),e.push({event:a,listeners:t}))}var yn=null,An=null;function vx(e){Op(e,0)}function Es(e){var t=vo(e);if(Xc(t))return e}function yx(e,t){if(e==="change")return t}var bp=!1;Ma&&(Ma?(Hl="oninput"in document,Hl||(Oi=document.createElement("div"),Oi.setAttribute("oninput","return;"),Hl=typeof Oi.oninput=="function"),Ul=Hl):Ul=!1,bp=Ul&&(!document.documentMode||9<document.documentMode));var Ul,Hl,Oi;function rc(){yn&&(yn.detachEvent("onpropertychange",Tp),An=yn=null)}function Tp(e){if(e.propertyName==="value"&&Es(An)){var t=[];kp(t,An,e,ju(e)),lp(vx,t)}}function Lx(e,t,a){e==="focusin"?(rc(),yn=t,An=a,yn.attachEvent("onpropertychange",Tp)):e==="focusout"&&rc()}function Sx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Es(An)}function Ix(e,t){if(e==="click")return Es(t)}function Cx(e,t){if(e==="input"||e==="change")return Es(t)}function wx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ia=typeof Object.is=="function"?Object.is:wx;function Dn(e,t){if(ia(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),r=Object.keys(t);if(a.length!==r.length)return!1;for(r=0;r<a.length;r++){var o=a[r];if(!Qi.call(t,o)||!ia(e[o],t[o]))return!1}return!0}function oc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function nc(e,t){var a=oc(e);e=0;for(var r;a;){if(a.nodeType===3){if(r=e+a.textContent.length,e<=t&&r>=t)return{node:a,offset:t-e};e=r}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=oc(a)}}function Pp(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pp(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Rp(){for(var e=window,t=ss();t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=ss(e.document)}return t}function rd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function kx(e){var t=Rp(),a=e.focusedElem,r=e.selectionRange;if(t!==a&&a&&a.ownerDocument&&Pp(a.ownerDocument.documentElement,a)){if(r!==null&&rd(a)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in a)a.selectionStart=t,a.selectionEnd=Math.min(e,a.value.length);else if(e=(t=a.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=a.textContent.length,n=Math.min(r.start,o);r=r.end===void 0?n:Math.min(r.end,o),!e.extend&&n>r&&(o=r,r=n,n=o),o=nc(a,n);var l=nc(a,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),n>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=a;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<t.length;a++)e=t[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var bx=Ma&&"documentMode"in document&&11>=document.documentMode,ho=null,gu=null,Ln=null,hu=!1;function lc(e,t,a){var r=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;hu||ho==null||ho!==ss(r)||(r=ho,"selectionStart"in r&&rd(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ln&&Dn(Ln,r)||(Ln=r,r=ms(gu,"onSelect"),0<r.length&&(t=new ed("onSelect","select",null,t,a),e.push({event:t,listeners:r}),t.target=ho)))}function ql(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var xo={animationend:ql("Animation","AnimationEnd"),animationiteration:ql("Animation","AnimationIteration"),animationstart:ql("Animation","AnimationStart"),transitionend:ql("Transition","TransitionEnd")},zi={},Mp={};Ma&&(Mp=document.createElement("div").style,"AnimationEvent"in window||(delete xo.animationend.animation,delete xo.animationiteration.animation,delete xo.animationstart.animation),"TransitionEvent"in window||delete xo.transitionend.transition);function Fs(e){if(zi[e])return zi[e];if(!xo[e])return e;var t=xo[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Mp)return zi[e]=t[a];return e}var Ap=Fs("animationend"),Dp=Fs("animationiteration"),Ep=Fs("animationstart"),Fp=Fs("transitionend"),Bp=new Map,sc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function sr(e,t){Bp.set(e,t),Hr(t,[e])}for(_l=0;_l<sc.length;_l++)Wl=sc[_l],ic=Wl.toLowerCase(),uc=Wl[0].toUpperCase()+Wl.slice(1),sr(ic,"on"+uc);var Wl,ic,uc,_l;sr(Ap,"onAnimationEnd");sr(Dp,"onAnimationIteration");sr(Ep,"onAnimationStart");sr("dblclick","onDoubleClick");sr("focusin","onFocus");sr("focusout","onBlur");sr(Fp,"onTransitionEnd");Ao("onMouseEnter",["mouseout","mouseover"]);Ao("onMouseLeave",["mouseout","mouseover"]);Ao("onPointerEnter",["pointerout","pointerover"]);Ao("onPointerLeave",["pointerout","pointerover"]);Hr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Hr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Hr("onBeforeInput",["compositionend","keypress","textInput","paste"]);Hr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Hr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Hr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Tx=new Set("cancel close invalid load scroll toggle".split(" ").concat(gn));function dc(e,t,a){var r=e.type||"unknown-event";e.currentTarget=a,Th(r,t,void 0,e),e.currentTarget=null}function Op(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var r=e[a],o=r.event;r=r.listeners;e:{var n=void 0;if(t)for(var l=r.length-1;0<=l;l--){var s=r[l],i=s.instance,d=s.currentTarget;if(s=s.listener,i!==n&&o.isPropagationStopped())break e;dc(o,s,d),n=i}else for(l=0;l<r.length;l++){if(s=r[l],i=s.instance,d=s.currentTarget,s=s.listener,i!==n&&o.isPropagationStopped())break e;dc(o,s,d),n=i}}}if(us)throw e=fu,us=!1,fu=null,e}function Ue(e,t){var a=t[Su];a===void 0&&(a=t[Su]=new Set);var r=e+"__bubble";a.has(r)||(zp(t,e,2,!1),a.add(r))}function Ni(e,t,a){var r=0;t&&(r|=4),zp(a,e,r,t)}var $l="_reactListening"+Math.random().toString(36).slice(2);function En(e){if(!e[$l]){e[$l]=!0,$c.forEach(function(a){a!=="selectionchange"&&(Tx.has(a)||Ni(a,!1,e),Ni(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[$l]||(t[$l]=!0,Ni("selectionchange",!1,t))}}function zp(e,t,a,r){switch(Lp(t)){case 1:var o=Wh;break;case 4:o=$h;break;default:o=Zu}a=o.bind(null,t,a,e),o=void 0,!du||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Ui(e,t,a,r,o){var n=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var l=r.tag;if(l===3||l===4){var s=r.stateNode.containerInfo;if(s===o||s.nodeType===8&&s.parentNode===o)break;if(l===4)for(l=r.return;l!==null;){var i=l.tag;if((i===3||i===4)&&(i=l.stateNode.containerInfo,i===o||i.nodeType===8&&i.parentNode===o))return;l=l.return}for(;s!==null;){if(l=Mr(s),l===null)return;if(i=l.tag,i===5||i===6){r=n=l;continue e}s=s.parentNode}}r=r.return}lp(function(){var d=n,f=ju(a),m=[];e:{var g=Bp.get(e);if(g!==void 0){var L=ed,x=e;switch(e){case"keypress":if(Jl(a)===0)break e;case"keydown":case"keyup":L=nx;break;case"focusin":x="focus",L=Bi;break;case"focusout":x="blur",L=Bi;break;case"beforeblur":case"afterblur":L=Bi;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":L=Yf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":L=Kh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":L=ix;break;case Ap:case Dp:case Ep:L=Qh;break;case Fp:L=dx;break;case"scroll":L=Vh;break;case"wheel":L=cx;break;case"copy":case"cut":case"paste":L=Zh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":L=Jf}var C=(t&4)!==0,N=!C&&e==="scroll",p=C?g!==null?g+"Capture":null:g;C=[];for(var u=d,c;u!==null;){c=u;var y=c.stateNode;if(c.tag===5&&y!==null&&(c=y,p!==null&&(y=Tn(u,p),y!=null&&C.push(Fn(u,y,c)))),N)break;u=u.return}0<C.length&&(g=new L(g,x,null,a,f),m.push({event:g,listeners:C}))}}if((t&7)===0){e:{if(g=e==="mouseover"||e==="pointerover",L=e==="mouseout"||e==="pointerout",g&&a!==iu&&(x=a.relatedTarget||a.fromElement)&&(Mr(x)||x[Aa]))break e;if((L||g)&&(g=f.window===f?f:(g=f.ownerDocument)?g.defaultView||g.parentWindow:window,L?(x=a.relatedTarget||a.toElement,L=d,x=x?Mr(x):null,x!==null&&(N=qr(x),x!==N||x.tag!==5&&x.tag!==6)&&(x=null)):(L=null,x=d),L!==x)){if(C=Yf,y="onMouseLeave",p="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(C=Jf,y="onPointerLeave",p="onPointerEnter",u="pointer"),N=L==null?g:vo(L),c=x==null?g:vo(x),g=new C(y,u+"leave",L,a,f),g.target=N,g.relatedTarget=c,y=null,Mr(f)===d&&(C=new C(p,u+"enter",x,a,f),C.target=c,C.relatedTarget=N,y=C),N=y,L&&x)t:{for(C=L,p=x,u=0,c=C;c;c=co(c))u++;for(c=0,y=p;y;y=co(y))c++;for(;0<u-c;)C=co(C),u--;for(;0<c-u;)p=co(p),c--;for(;u--;){if(C===p||p!==null&&C===p.alternate)break t;C=co(C),p=co(p)}C=null}else C=null;L!==null&&fc(m,g,L,C,!1),x!==null&&N!==null&&fc(m,N,x,C,!0)}}e:{if(g=d?vo(d):window,L=g.nodeName&&g.nodeName.toLowerCase(),L==="select"||L==="input"&&g.type==="file")var w=yx;else if(ac(g))if(bp)w=Cx;else{w=Sx;var I=Lx}else(L=g.nodeName)&&L.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(w=Ix);if(w&&(w=w(e,d))){kp(m,w,a,f);break e}I&&I(e,g,d),e==="focusout"&&(I=g._wrapperState)&&I.controlled&&g.type==="number"&&ru(g,"number",g.value)}switch(I=d?vo(d):window,e){case"focusin":(ac(I)||I.contentEditable==="true")&&(ho=I,gu=d,Ln=null);break;case"focusout":Ln=gu=ho=null;break;case"mousedown":hu=!0;break;case"contextmenu":case"mouseup":case"dragend":hu=!1,lc(m,a,f);break;case"selectionchange":if(bx)break;case"keydown":case"keyup":lc(m,a,f)}var v;if(ad)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else go?Cp(e,a)&&(k="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(k="onCompositionStart");k&&(Ip&&a.locale!=="ko"&&(go||k!=="onCompositionStart"?k==="onCompositionEnd"&&go&&(v=Sp()):(Xa=f,Ju="value"in Xa?Xa.value:Xa.textContent,go=!0)),I=ms(d,k),0<I.length&&(k=new Zf(k,e,null,a,f),m.push({event:k,listeners:I}),v?k.data=v:(v=wp(a),v!==null&&(k.data=v)))),(v=mx?gx(e,a):hx(e,a))&&(d=ms(d,"onBeforeInput"),0<d.length&&(f=new Zf("onBeforeInput","beforeinput",null,a,f),m.push({event:f,listeners:d}),f.data=v))}Op(m,t)})}function Fn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function ms(e,t){for(var a=t+"Capture",r=[];e!==null;){var o=e,n=o.stateNode;o.tag===5&&n!==null&&(o=n,n=Tn(e,a),n!=null&&r.unshift(Fn(e,n,o)),n=Tn(e,t),n!=null&&r.push(Fn(e,n,o))),e=e.return}return r}function co(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function fc(e,t,a,r,o){for(var n=t._reactName,l=[];a!==null&&a!==r;){var s=a,i=s.alternate,d=s.stateNode;if(i!==null&&i===r)break;s.tag===5&&d!==null&&(s=d,o?(i=Tn(a,n),i!=null&&l.unshift(Fn(a,i,s))):o||(i=Tn(a,n),i!=null&&l.push(Fn(a,i,s)))),a=a.return}l.length!==0&&e.push({event:t,listeners:l})}var Px=/\\r\\n?/g,Rx=/\\u0000|\\uFFFD/g;function cc(e){return(typeof e=="string"?e:""+e).replace(Px,`\n`).replace(Rx,"")}function Vl(e,t,a){if(t=cc(t),cc(e)!==t&&a)throw Error(M(425))}function gs(){}var xu=null,vu=null;function yu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Lu=typeof setTimeout=="function"?setTimeout:void 0,Mx=typeof clearTimeout=="function"?clearTimeout:void 0,pc=typeof Promise=="function"?Promise:void 0,Ax=typeof queueMicrotask=="function"?queueMicrotask:typeof pc<"u"?function(e){return pc.resolve(null).then(e).catch(Dx)}:Lu;function Dx(e){setTimeout(function(){throw e})}function Hi(e,t){var a=t,r=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"){if(r===0){e.removeChild(o),Mn(t);return}r--}else a!=="$"&&a!=="$?"&&a!=="$!"||r++;a=o}while(a);Mn(t)}function er(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function mc(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(t===0)return e;t--}else a==="/$"&&t++}e=e.previousSibling}return null}var Uo=Math.random().toString(36).slice(2),ha="__reactFiber$"+Uo,Bn="__reactProps$"+Uo,Aa="__reactContainer$"+Uo,Su="__reactEvents$"+Uo,Ex="__reactListeners$"+Uo,Fx="__reactHandles$"+Uo;function Mr(e){var t=e[ha];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Aa]||a[ha]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=mc(e);e!==null;){if(a=e[ha])return a;e=mc(e)}return t}e=a,a=e.parentNode}return null}function $n(e){return e=e[ha]||e[Aa],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function vo(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(M(33))}function Bs(e){return e[Bn]||null}var Iu=[],yo=-1;function ir(e){return{current:e}}function He(e){0>yo||(e.current=Iu[yo],Iu[yo]=null,yo--)}function ze(e,t){yo++,Iu[yo]=e.current,e.current=t}var lr={},mt=ir(lr),wt=ir(!1),Br=lr;function Do(e,t){var a=e.type.contextTypes;if(!a)return lr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},n;for(n in a)o[n]=t[n];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function kt(e){return e=e.childContextTypes,e!=null}function hs(){He(wt),He(mt)}function gc(e,t,a){if(mt.current!==lr)throw Error(M(168));ze(mt,t),ze(wt,a)}function Np(e,t,a){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return a;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(M(108,Lh(e)||"Unknown",o));return Ve({},a,r)}function xs(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lr,Br=mt.current,ze(mt,e),ze(wt,wt.current),!0}function hc(e,t,a){var r=e.stateNode;if(!r)throw Error(M(169));a?(e=Np(e,t,Br),r.__reactInternalMemoizedMergedChildContext=e,He(wt),He(mt),ze(mt,e)):He(wt),ze(wt,a)}var ba=null,Os=!1,qi=!1;function Up(e){ba===null?ba=[e]:ba.push(e)}function Bx(e){Os=!0,Up(e)}function ur(){if(!qi&&ba!==null){qi=!0;var e=0,t=Te;try{var a=ba;for(Te=1;e<a.length;e++){var r=a[e];do r=r(!0);while(r!==null)}ba=null,Os=!1}catch(o){throw ba!==null&&(ba=ba.slice(e+1)),dp(Xu,ur),o}finally{Te=t,qi=!1}}return null}var Lo=[],So=0,vs=null,ys=0,Ht=[],qt=0,Or=null,Ta=1,Pa="";function Pr(e,t){Lo[So++]=ys,Lo[So++]=vs,vs=e,ys=t}function Hp(e,t,a){Ht[qt++]=Ta,Ht[qt++]=Pa,Ht[qt++]=Or,Or=e;var r=Ta;e=Pa;var o=32-la(r)-1;r&=~(1<<o),a+=1;var n=32-la(t)+o;if(30<n){var l=o-o%5;n=(r&(1<<l)-1).toString(32),r>>=l,o-=l,Ta=1<<32-la(t)+o|a<<o|r,Pa=n+e}else Ta=1<<n|a<<o|r,Pa=e}function od(e){e.return!==null&&(Pr(e,1),Hp(e,1,0))}function nd(e){for(;e===vs;)vs=Lo[--So],Lo[So]=null,ys=Lo[--So],Lo[So]=null;for(;e===Or;)Or=Ht[--qt],Ht[qt]=null,Pa=Ht[--qt],Ht[qt]=null,Ta=Ht[--qt],Ht[qt]=null}var Dt=null,At=null,_e=!1,na=null;function qp(e,t){var a=_t(5,null,null,0);a.elementType="DELETED",a.stateNode=t,a.return=e,t=e.deletions,t===null?(e.deletions=[a],e.flags|=16):t.push(a)}function xc(e,t){switch(e.tag){case 5:var a=e.type;return t=t.nodeType!==1||a.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Dt=e,At=er(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Dt=e,At=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(a=Or!==null?{id:Ta,overflow:Pa}:null,e.memoizedState={dehydrated:t,treeContext:a,retryLane:1073741824},a=_t(18,null,null,0),a.stateNode=t,a.return=e,e.child=a,Dt=e,At=null,!0):!1;default:return!1}}function Cu(e){return(e.mode&1)!==0&&(e.flags&128)===0}function wu(e){if(_e){var t=At;if(t){var a=t;if(!xc(e,t)){if(Cu(e))throw Error(M(418));t=er(a.nextSibling);var r=Dt;t&&xc(e,t)?qp(r,a):(e.flags=e.flags&-4097|2,_e=!1,Dt=e)}}else{if(Cu(e))throw Error(M(418));e.flags=e.flags&-4097|2,_e=!1,Dt=e}}}function vc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Dt=e}function Gl(e){if(e!==Dt)return!1;if(!_e)return vc(e),_e=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!yu(e.type,e.memoizedProps)),t&&(t=At)){if(Cu(e))throw _p(),Error(M(418));for(;t;)qp(e,t),t=er(t.nextSibling)}if(vc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(M(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(t===0){At=er(e.nextSibling);break e}t--}else a!=="$"&&a!=="$!"&&a!=="$?"||t++}e=e.nextSibling}At=null}}else At=Dt?er(e.stateNode.nextSibling):null;return!0}function _p(){for(var e=At;e;)e=er(e.nextSibling)}function Eo(){At=Dt=null,_e=!1}function ld(e){na===null?na=[e]:na.push(e)}var Ox=Fa.ReactCurrentBatchConfig;function sn(e,t,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(M(309));var r=a.stateNode}if(!r)throw Error(M(147,e));var o=r,n=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===n?t.ref:(t=function(l){var s=o.refs;l===null?delete s[n]:s[n]=l},t._stringRef=n,t)}if(typeof e!="string")throw Error(M(284));if(!a._owner)throw Error(M(290,e))}return e}function Kl(e,t){throw e=Object.prototype.toString.call(t),Error(M(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function yc(e){var t=e._init;return t(e._payload)}function Wp(e){function t(p,u){if(e){var c=p.deletions;c===null?(p.deletions=[u],p.flags|=16):c.push(u)}}function a(p,u){if(!e)return null;for(;u!==null;)t(p,u),u=u.sibling;return null}function r(p,u){for(p=new Map;u!==null;)u.key!==null?p.set(u.key,u):p.set(u.index,u),u=u.sibling;return p}function o(p,u){return p=or(p,u),p.index=0,p.sibling=null,p}function n(p,u,c){return p.index=c,e?(c=p.alternate,c!==null?(c=c.index,c<u?(p.flags|=2,u):c):(p.flags|=2,u)):(p.flags|=1048576,u)}function l(p){return e&&p.alternate===null&&(p.flags|=2),p}function s(p,u,c,y){return u===null||u.tag!==6?(u=ji(c,p.mode,y),u.return=p,u):(u=o(u,c),u.return=p,u)}function i(p,u,c,y){var w=c.type;return w===mo?f(p,u,c.props.children,y,c.key):u!==null&&(u.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Va&&yc(w)===u.type)?(y=o(u,c.props),y.ref=sn(p,u,c),y.return=p,y):(y=ls(c.type,c.key,c.props,null,p.mode,y),y.ref=sn(p,u,c),y.return=p,y)}function d(p,u,c,y){return u===null||u.tag!==4||u.stateNode.containerInfo!==c.containerInfo||u.stateNode.implementation!==c.implementation?(u=Xi(c,p.mode,y),u.return=p,u):(u=o(u,c.children||[]),u.return=p,u)}function f(p,u,c,y,w){return u===null||u.tag!==7?(u=Fr(c,p.mode,y,w),u.return=p,u):(u=o(u,c),u.return=p,u)}function m(p,u,c){if(typeof u=="string"&&u!==""||typeof u=="number")return u=ji(""+u,p.mode,c),u.return=p,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case Dl:return c=ls(u.type,u.key,u.props,null,p.mode,c),c.ref=sn(p,null,u),c.return=p,c;case po:return u=Xi(u,p.mode,c),u.return=p,u;case Va:var y=u._init;return m(p,y(u._payload),c)}if(pn(u)||rn(u))return u=Fr(u,p.mode,c,null),u.return=p,u;Kl(p,u)}return null}function g(p,u,c,y){var w=u!==null?u.key:null;if(typeof c=="string"&&c!==""||typeof c=="number")return w!==null?null:s(p,u,""+c,y);if(typeof c=="object"&&c!==null){switch(c.$$typeof){case Dl:return c.key===w?i(p,u,c,y):null;case po:return c.key===w?d(p,u,c,y):null;case Va:return w=c._init,g(p,u,w(c._payload),y)}if(pn(c)||rn(c))return w!==null?null:f(p,u,c,y,null);Kl(p,c)}return null}function L(p,u,c,y,w){if(typeof y=="string"&&y!==""||typeof y=="number")return p=p.get(c)||null,s(u,p,""+y,w);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Dl:return p=p.get(y.key===null?c:y.key)||null,i(u,p,y,w);case po:return p=p.get(y.key===null?c:y.key)||null,d(u,p,y,w);case Va:var I=y._init;return L(p,u,c,I(y._payload),w)}if(pn(y)||rn(y))return p=p.get(c)||null,f(u,p,y,w,null);Kl(u,y)}return null}function x(p,u,c,y){for(var w=null,I=null,v=u,k=u=0,U=null;v!==null&&k<c.length;k++){v.index>k?(U=v,v=null):U=v.sibling;var H=g(p,v,c[k],y);if(H===null){v===null&&(v=U);break}e&&v&&H.alternate===null&&t(p,v),u=n(H,u,k),I===null?w=H:I.sibling=H,I=H,v=U}if(k===c.length)return a(p,v),_e&&Pr(p,k),w;if(v===null){for(;k<c.length;k++)v=m(p,c[k],y),v!==null&&(u=n(v,u,k),I===null?w=v:I.sibling=v,I=v);return _e&&Pr(p,k),w}for(v=r(p,v);k<c.length;k++)U=L(v,p,k,c[k],y),U!==null&&(e&&U.alternate!==null&&v.delete(U.key===null?k:U.key),u=n(U,u,k),I===null?w=U:I.sibling=U,I=U);return e&&v.forEach(function(z){return t(p,z)}),_e&&Pr(p,k),w}function C(p,u,c,y){var w=rn(c);if(typeof w!="function")throw Error(M(150));if(c=w.call(c),c==null)throw Error(M(151));for(var I=w=null,v=u,k=u=0,U=null,H=c.next();v!==null&&!H.done;k++,H=c.next()){v.index>k?(U=v,v=null):U=v.sibling;var z=g(p,v,H.value,y);if(z===null){v===null&&(v=U);break}e&&v&&z.alternate===null&&t(p,v),u=n(z,u,k),I===null?w=z:I.sibling=z,I=z,v=U}if(H.done)return a(p,v),_e&&Pr(p,k),w;if(v===null){for(;!H.done;k++,H=c.next())H=m(p,H.value,y),H!==null&&(u=n(H,u,k),I===null?w=H:I.sibling=H,I=H);return _e&&Pr(p,k),w}for(v=r(p,v);!H.done;k++,H=c.next())H=L(v,p,k,H.value,y),H!==null&&(e&&H.alternate!==null&&v.delete(H.key===null?k:H.key),u=n(H,u,k),I===null?w=H:I.sibling=H,I=H);return e&&v.forEach(function(q){return t(p,q)}),_e&&Pr(p,k),w}function N(p,u,c,y){if(typeof c=="object"&&c!==null&&c.type===mo&&c.key===null&&(c=c.props.children),typeof c=="object"&&c!==null){switch(c.$$typeof){case Dl:e:{for(var w=c.key,I=u;I!==null;){if(I.key===w){if(w=c.type,w===mo){if(I.tag===7){a(p,I.sibling),u=o(I,c.props.children),u.return=p,p=u;break e}}else if(I.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Va&&yc(w)===I.type){a(p,I.sibling),u=o(I,c.props),u.ref=sn(p,I,c),u.return=p,p=u;break e}a(p,I);break}else t(p,I);I=I.sibling}c.type===mo?(u=Fr(c.props.children,p.mode,y,c.key),u.return=p,p=u):(y=ls(c.type,c.key,c.props,null,p.mode,y),y.ref=sn(p,u,c),y.return=p,p=y)}return l(p);case po:e:{for(I=c.key;u!==null;){if(u.key===I)if(u.tag===4&&u.stateNode.containerInfo===c.containerInfo&&u.stateNode.implementation===c.implementation){a(p,u.sibling),u=o(u,c.children||[]),u.return=p,p=u;break e}else{a(p,u);break}else t(p,u);u=u.sibling}u=Xi(c,p.mode,y),u.return=p,p=u}return l(p);case Va:return I=c._init,N(p,u,I(c._payload),y)}if(pn(c))return x(p,u,c,y);if(rn(c))return C(p,u,c,y);Kl(p,c)}return typeof c=="string"&&c!==""||typeof c=="number"?(c=""+c,u!==null&&u.tag===6?(a(p,u.sibling),u=o(u,c),u.return=p,p=u):(a(p,u),u=ji(c,p.mode,y),u.return=p,p=u),l(p)):a(p,u)}return N}var Fo=Wp(!0),$p=Wp(!1),Ls=ir(null),Ss=null,Io=null,sd=null;function id(){sd=Io=Ss=null}function ud(e){var t=Ls.current;He(Ls),e._currentValue=t}function ku(e,t,a){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===a)break;e=e.return}}function Ro(e,t){Ss=e,sd=Io=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ct=!0),e.firstContext=null)}function $t(e){var t=e._currentValue;if(sd!==e)if(e={context:e,memoizedValue:t,next:null},Io===null){if(Ss===null)throw Error(M(308));Io=e,Ss.dependencies={lanes:0,firstContext:e}}else Io=Io.next=e;return t}var Ar=null;function dd(e){Ar===null?Ar=[e]:Ar.push(e)}function Vp(e,t,a,r){var o=t.interleaved;return o===null?(a.next=a,dd(t)):(a.next=o.next,o.next=a),t.interleaved=a,Da(e,r)}function Da(e,t){e.lanes|=t;var a=e.alternate;for(a!==null&&(a.lanes|=t),a=e,e=e.return;e!==null;)e.childLanes|=t,a=e.alternate,a!==null&&(a.childLanes|=t),a=e,e=e.return;return a.tag===3?a.stateNode:null}var Ga=!1;function fd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Gp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ra(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function tr(e,t,a){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ye&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Da(e,a)}return o=r.interleaved,o===null?(t.next=t,dd(r)):(t.next=o.next,o.next=t),r.interleaved=t,Da(e,a)}function es(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Qu(e,a)}}function Lc(e,t){var a=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,a===r)){var o=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var l={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};n===null?o=n=l:n=n.next=l,a=a.next}while(a!==null);n===null?o=n=t:n=n.next=t}else o=n=t;a={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:n,shared:r.shared,effects:r.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}function Is(e,t,a,r){var o=e.updateQueue;Ga=!1;var n=o.firstBaseUpdate,l=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var i=s,d=i.next;i.next=null,l===null?n=d:l.next=d,l=i;var f=e.alternate;f!==null&&(f=f.updateQueue,s=f.lastBaseUpdate,s!==l&&(s===null?f.firstBaseUpdate=d:s.next=d,f.lastBaseUpdate=i))}if(n!==null){var m=o.baseState;l=0,f=d=i=null,s=n;do{var g=s.lane,L=s.eventTime;if((r&g)===g){f!==null&&(f=f.next={eventTime:L,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var x=e,C=s;switch(g=t,L=a,C.tag){case 1:if(x=C.payload,typeof x=="function"){m=x.call(L,m,g);break e}m=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=C.payload,g=typeof x=="function"?x.call(L,m,g):x,g==null)break e;m=Ve({},m,g);break e;case 2:Ga=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,g=o.effects,g===null?o.effects=[s]:g.push(s))}else L={eventTime:L,lane:g,tag:s.tag,payload:s.payload,callback:s.callback,next:null},f===null?(d=f=L,i=m):f=f.next=L,l|=g;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;g=s,s=g.next,g.next=null,o.lastBaseUpdate=g,o.shared.pending=null}}while(!0);if(f===null&&(i=m),o.baseState=i,o.firstBaseUpdate=d,o.lastBaseUpdate=f,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else n===null&&(o.shared.lanes=0);Nr|=l,e.lanes=l,e.memoizedState=m}}function Sc(e,t,a){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(o!==null){if(r.callback=null,r=a,typeof o!="function")throw Error(M(191,o));o.call(r)}}}var Vn={},va=ir(Vn),On=ir(Vn),zn=ir(Vn);function Dr(e){if(e===Vn)throw Error(M(174));return e}function cd(e,t){switch(ze(zn,t),ze(On,e),ze(va,Vn),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:nu(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=nu(t,e)}He(va),ze(va,t)}function Bo(){He(va),He(On),He(zn)}function Kp(e){Dr(zn.current);var t=Dr(va.current),a=nu(t,e.type);t!==a&&(ze(On,e),ze(va,a))}function pd(e){On.current===e&&(He(va),He(On))}var We=ir(0);function Cs(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var _i=[];function md(){for(var e=0;e<_i.length;e++)_i[e]._workInProgressVersionPrimary=null;_i.length=0}var ts=Fa.ReactCurrentDispatcher,Wi=Fa.ReactCurrentBatchConfig,zr=0,$e=null,Je=null,at=null,ws=!1,Sn=!1,Nn=0,zx=0;function ft(){throw Error(M(321))}function gd(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!ia(e[a],t[a]))return!1;return!0}function hd(e,t,a,r,o,n){if(zr=n,$e=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ts.current=e===null||e.memoizedState===null?qx:_x,e=a(r,o),Sn){n=0;do{if(Sn=!1,Nn=0,25<=n)throw Error(M(301));n+=1,at=Je=null,t.updateQueue=null,ts.current=Wx,e=a(r,o)}while(Sn)}if(ts.current=ks,t=Je!==null&&Je.next!==null,zr=0,at=Je=$e=null,ws=!1,t)throw Error(M(300));return e}function xd(){var e=Nn!==0;return Nn=0,e}function ga(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return at===null?$e.memoizedState=at=e:at=at.next=e,at}function Vt(){if(Je===null){var e=$e.alternate;e=e!==null?e.memoizedState:null}else e=Je.next;var t=at===null?$e.memoizedState:at.next;if(t!==null)at=t,Je=e;else{if(e===null)throw Error(M(310));Je=e,e={memoizedState:Je.memoizedState,baseState:Je.baseState,baseQueue:Je.baseQueue,queue:Je.queue,next:null},at===null?$e.memoizedState=at=e:at=at.next=e}return at}function Un(e,t){return typeof t=="function"?t(e):t}function $i(e){var t=Vt(),a=t.queue;if(a===null)throw Error(M(311));a.lastRenderedReducer=e;var r=Je,o=r.baseQueue,n=a.pending;if(n!==null){if(o!==null){var l=o.next;o.next=n.next,n.next=l}r.baseQueue=o=n,a.pending=null}if(o!==null){n=o.next,r=r.baseState;var s=l=null,i=null,d=n;do{var f=d.lane;if((zr&f)===f)i!==null&&(i=i.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var m={lane:f,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};i===null?(s=i=m,l=r):i=i.next=m,$e.lanes|=f,Nr|=f}d=d.next}while(d!==null&&d!==n);i===null?l=r:i.next=s,ia(r,t.memoizedState)||(Ct=!0),t.memoizedState=r,t.baseState=l,t.baseQueue=i,a.lastRenderedState=r}if(e=a.interleaved,e!==null){o=e;do n=o.lane,$e.lanes|=n,Nr|=n,o=o.next;while(o!==e)}else o===null&&(a.lanes=0);return[t.memoizedState,a.dispatch]}function Vi(e){var t=Vt(),a=t.queue;if(a===null)throw Error(M(311));a.lastRenderedReducer=e;var r=a.dispatch,o=a.pending,n=t.memoizedState;if(o!==null){a.pending=null;var l=o=o.next;do n=e(n,l.action),l=l.next;while(l!==o);ia(n,t.memoizedState)||(Ct=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),a.lastRenderedState=n}return[n,r]}function jp(){}function Xp(e,t){var a=$e,r=Vt(),o=t(),n=!ia(r.memoizedState,o);if(n&&(r.memoizedState=o,Ct=!0),r=r.queue,vd(Zp.bind(null,a,r,e),[e]),r.getSnapshot!==t||n||at!==null&&at.memoizedState.tag&1){if(a.flags|=2048,Hn(9,Yp.bind(null,a,r,o,t),void 0,null),rt===null)throw Error(M(349));(zr&30)!==0||Qp(a,t,o)}return o}function Qp(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=$e.updateQueue,t===null?(t={lastEffect:null,stores:null},$e.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Yp(e,t,a,r){t.value=a,t.getSnapshot=r,Jp(t)&&em(e)}function Zp(e,t,a){return a(function(){Jp(t)&&em(e)})}function Jp(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!ia(e,a)}catch{return!0}}function em(e){var t=Da(e,1);t!==null&&sa(t,e,1,-1)}function Ic(e){var t=ga();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:e},t.queue=e,e=e.dispatch=Hx.bind(null,$e,e),[t.memoizedState,e]}function Hn(e,t,a,r){return e={tag:e,create:t,destroy:a,deps:r,next:null},t=$e.updateQueue,t===null?(t={lastEffect:null,stores:null},$e.updateQueue=t,t.lastEffect=e.next=e):(a=t.lastEffect,a===null?t.lastEffect=e.next=e:(r=a.next,a.next=e,e.next=r,t.lastEffect=e)),e}function tm(){return Vt().memoizedState}function as(e,t,a,r){var o=ga();$e.flags|=e,o.memoizedState=Hn(1|t,a,void 0,r===void 0?null:r)}function zs(e,t,a,r){var o=Vt();r=r===void 0?null:r;var n=void 0;if(Je!==null){var l=Je.memoizedState;if(n=l.destroy,r!==null&&gd(r,l.deps)){o.memoizedState=Hn(t,a,n,r);return}}$e.flags|=e,o.memoizedState=Hn(1|t,a,n,r)}function Cc(e,t){return as(8390656,8,e,t)}function vd(e,t){return zs(2048,8,e,t)}function am(e,t){return zs(4,2,e,t)}function rm(e,t){return zs(4,4,e,t)}function om(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function nm(e,t,a){return a=a!=null?a.concat([e]):null,zs(4,4,om.bind(null,t,e),a)}function yd(){}function lm(e,t){var a=Vt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&gd(t,r[1])?r[0]:(a.memoizedState=[e,t],e)}function sm(e,t){var a=Vt();t=t===void 0?null:t;var r=a.memoizedState;return r!==null&&t!==null&&gd(t,r[1])?r[0]:(e=e(),a.memoizedState=[e,t],e)}function im(e,t,a){return(zr&21)===0?(e.baseState&&(e.baseState=!1,Ct=!0),e.memoizedState=a):(ia(a,t)||(a=pp(),$e.lanes|=a,Nr|=a,e.baseState=!0),t)}function Nx(e,t){var a=Te;Te=a!==0&&4>a?a:4,e(!0);var r=Wi.transition;Wi.transition={};try{e(!1),t()}finally{Te=a,Wi.transition=r}}function um(){return Vt().memoizedState}function Ux(e,t,a){var r=rr(e);if(a={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null},dm(e))fm(t,a);else if(a=Vp(e,t,a,r),a!==null){var o=xt();sa(a,e,r,o),cm(a,t,r)}}function Hx(e,t,a){var r=rr(e),o={lane:r,action:a,hasEagerState:!1,eagerState:null,next:null};if(dm(e))fm(t,o);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,s=n(l,a);if(o.hasEagerState=!0,o.eagerState=s,ia(s,l)){var i=t.interleaved;i===null?(o.next=o,dd(t)):(o.next=i.next,i.next=o),t.interleaved=o;return}}catch{}finally{}a=Vp(e,t,o,r),a!==null&&(o=xt(),sa(a,e,r,o),cm(a,t,r))}}function dm(e){var t=e.alternate;return e===$e||t!==null&&t===$e}function fm(e,t){Sn=ws=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function cm(e,t,a){if((a&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,a|=r,t.lanes=a,Qu(e,a)}}var ks={readContext:$t,useCallback:ft,useContext:ft,useEffect:ft,useImperativeHandle:ft,useInsertionEffect:ft,useLayoutEffect:ft,useMemo:ft,useReducer:ft,useRef:ft,useState:ft,useDebugValue:ft,useDeferredValue:ft,useTransition:ft,useMutableSource:ft,useSyncExternalStore:ft,useId:ft,unstable_isNewReconciler:!1},qx={readContext:$t,useCallback:function(e,t){return ga().memoizedState=[e,t===void 0?null:t],e},useContext:$t,useEffect:Cc,useImperativeHandle:function(e,t,a){return a=a!=null?a.concat([e]):null,as(4194308,4,om.bind(null,t,e),a)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){return as(4,2,e,t)},useMemo:function(e,t){var a=ga();return t=t===void 0?null:t,e=e(),a.memoizedState=[e,t],e},useReducer:function(e,t,a){var r=ga();return t=a!==void 0?a(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ux.bind(null,$e,e),[r.memoizedState,e]},useRef:function(e){var t=ga();return e={current:e},t.memoizedState=e},useState:Ic,useDebugValue:yd,useDeferredValue:function(e){return ga().memoizedState=e},useTransition:function(){var e=Ic(!1),t=e[0];return e=Nx.bind(null,e[1]),ga().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,a){var r=$e,o=ga();if(_e){if(a===void 0)throw Error(M(407));a=a()}else{if(a=t(),rt===null)throw Error(M(349));(zr&30)!==0||Qp(r,t,a)}o.memoizedState=a;var n={value:a,getSnapshot:t};return o.queue=n,Cc(Zp.bind(null,r,n,e),[e]),r.flags|=2048,Hn(9,Yp.bind(null,r,n,a,t),void 0,null),a},useId:function(){var e=ga(),t=rt.identifierPrefix;if(_e){var a=Pa,r=Ta;a=(r&~(1<<32-la(r)-1)).toString(32)+a,t=":"+t+"R"+a,a=Nn++,0<a&&(t+="H"+a.toString(32)),t+=":"}else a=zx++,t=":"+t+"r"+a.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},_x={readContext:$t,useCallback:lm,useContext:$t,useEffect:vd,useImperativeHandle:nm,useInsertionEffect:am,useLayoutEffect:rm,useMemo:sm,useReducer:$i,useRef:tm,useState:function(){return $i(Un)},useDebugValue:yd,useDeferredValue:function(e){var t=Vt();return im(t,Je.memoizedState,e)},useTransition:function(){var e=$i(Un)[0],t=Vt().memoizedState;return[e,t]},useMutableSource:jp,useSyncExternalStore:Xp,useId:um,unstable_isNewReconciler:!1},Wx={readContext:$t,useCallback:lm,useContext:$t,useEffect:vd,useImperativeHandle:nm,useInsertionEffect:am,useLayoutEffect:rm,useMemo:sm,useReducer:Vi,useRef:tm,useState:function(){return Vi(Un)},useDebugValue:yd,useDeferredValue:function(e){var t=Vt();return Je===null?t.memoizedState=e:im(t,Je.memoizedState,e)},useTransition:function(){var e=Vi(Un)[0],t=Vt().memoizedState;return[e,t]},useMutableSource:jp,useSyncExternalStore:Xp,useId:um,unstable_isNewReconciler:!1};function ra(e,t){if(e&&e.defaultProps){t=Ve({},t),e=e.defaultProps;for(var a in e)t[a]===void 0&&(t[a]=e[a]);return t}return t}function bu(e,t,a,r){t=e.memoizedState,a=a(r,t),a=a==null?t:Ve({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Ns={isMounted:function(e){return(e=e._reactInternals)?qr(e)===e:!1},enqueueSetState:function(e,t,a){e=e._reactInternals;var r=xt(),o=rr(e),n=Ra(r,o);n.payload=t,a!=null&&(n.callback=a),t=tr(e,n,o),t!==null&&(sa(t,e,o,r),es(t,e,o))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var r=xt(),o=rr(e),n=Ra(r,o);n.tag=1,n.payload=t,a!=null&&(n.callback=a),t=tr(e,n,o),t!==null&&(sa(t,e,o,r),es(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=xt(),r=rr(e),o=Ra(a,r);o.tag=2,t!=null&&(o.callback=t),t=tr(e,o,r),t!==null&&(sa(t,e,r,a),es(t,e,r))}};function wc(e,t,a,r,o,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,n,l):t.prototype&&t.prototype.isPureReactComponent?!Dn(a,r)||!Dn(o,n):!0}function pm(e,t,a){var r=!1,o=lr,n=t.contextType;return typeof n=="object"&&n!==null?n=$t(n):(o=kt(t)?Br:mt.current,r=t.contextTypes,n=(r=r!=null)?Do(e,o):lr),t=new t(a,n),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ns,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=n),t}function kc(e,t,a,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,r),t.state!==e&&Ns.enqueueReplaceState(t,t.state,null)}function Tu(e,t,a,r){var o=e.stateNode;o.props=a,o.state=e.memoizedState,o.refs={},fd(e);var n=t.contextType;typeof n=="object"&&n!==null?o.context=$t(n):(n=kt(t)?Br:mt.current,o.context=Do(e,n)),o.state=e.memoizedState,n=t.getDerivedStateFromProps,typeof n=="function"&&(bu(e,t,n,a),o.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(t=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),t!==o.state&&Ns.enqueueReplaceState(o,o.state,null),Is(e,a,o,r),o.state=e.memoizedState),typeof o.componentDidMount=="function"&&(e.flags|=4194308)}function Oo(e,t){try{var a="",r=t;do a+=yh(r),r=r.return;while(r);var o=a}catch(n){o=`\nError generating stack: `+n.message+`\n`+n.stack}return{value:e,source:t,stack:o,digest:null}}function Gi(e,t,a){return{value:e,source:null,stack:a??null,digest:t??null}}function Pu(e,t){try{console.error(t.value)}catch(a){setTimeout(function(){throw a})}}var $x=typeof WeakMap=="function"?WeakMap:Map;function mm(e,t,a){a=Ra(-1,a),a.tag=3,a.payload={element:null};var r=t.value;return a.callback=function(){Ts||(Ts=!0,Nu=r),Pu(e,t)},a}function gm(e,t,a){a=Ra(-1,a),a.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;a.payload=function(){return r(o)},a.callback=function(){Pu(e,t)}}var n=e.stateNode;return n!==null&&typeof n.componentDidCatch=="function"&&(a.callback=function(){Pu(e,t),typeof r!="function"&&(ar===null?ar=new Set([this]):ar.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),a}function bc(e,t,a){var r=e.pingCache;if(r===null){r=e.pingCache=new $x;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(a)||(o.add(a),e=ov.bind(null,e,t,a),t.then(e,e))}function Tc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Pc(e,t,a,r,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(t=Ra(-1,1),t.tag=2,tr(a,t,1))),a.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var Vx=Fa.ReactCurrentOwner,Ct=!1;function ht(e,t,a,r){t.child=e===null?$p(t,null,a,r):Fo(t,e.child,a,r)}function Rc(e,t,a,r,o){a=a.render;var n=t.ref;return Ro(t,o),r=hd(e,t,a,r,n,o),a=xd(),e!==null&&!Ct?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ea(e,t,o)):(_e&&a&&od(t),t.flags|=1,ht(e,t,r,o),t.child)}function Mc(e,t,a,r,o){if(e===null){var n=a.type;return typeof n=="function"&&!Td(n)&&n.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(t.tag=15,t.type=n,hm(e,t,n,r,o)):(e=ls(a.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,(e.lanes&o)===0){var l=n.memoizedProps;if(a=a.compare,a=a!==null?a:Dn,a(l,r)&&e.ref===t.ref)return Ea(e,t,o)}return t.flags|=1,e=or(n,r),e.ref=t.ref,e.return=t,t.child=e}function hm(e,t,a,r,o){if(e!==null){var n=e.memoizedProps;if(Dn(n,r)&&e.ref===t.ref)if(Ct=!1,t.pendingProps=r=n,(e.lanes&o)!==0)(e.flags&131072)!==0&&(Ct=!0);else return t.lanes=e.lanes,Ea(e,t,o)}return Ru(e,t,a,r,o)}function xm(e,t,a){var r=t.pendingProps,o=r.children,n=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ze(wo,Mt),Mt|=a;else{if((a&1073741824)===0)return e=n!==null?n.baseLanes|a:a,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ze(wo,Mt),Mt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=n!==null?n.baseLanes:a,ze(wo,Mt),Mt|=r}else n!==null?(r=n.baseLanes|a,t.memoizedState=null):r=a,ze(wo,Mt),Mt|=r;return ht(e,t,o,a),t.child}function vm(e,t){var a=t.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(t.flags|=512,t.flags|=2097152)}function Ru(e,t,a,r,o){var n=kt(a)?Br:mt.current;return n=Do(t,n),Ro(t,o),a=hd(e,t,a,r,n,o),r=xd(),e!==null&&!Ct?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Ea(e,t,o)):(_e&&r&&od(t),t.flags|=1,ht(e,t,a,o),t.child)}function Ac(e,t,a,r,o){if(kt(a)){var n=!0;xs(t)}else n=!1;if(Ro(t,o),t.stateNode===null)rs(e,t),pm(t,a,r),Tu(t,a,r,o),r=!0;else if(e===null){var l=t.stateNode,s=t.memoizedProps;l.props=s;var i=l.context,d=a.contextType;typeof d=="object"&&d!==null?d=$t(d):(d=kt(a)?Br:mt.current,d=Do(t,d));var f=a.getDerivedStateFromProps,m=typeof f=="function"||typeof l.getSnapshotBeforeUpdate=="function";m||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==r||i!==d)&&kc(t,l,r,d),Ga=!1;var g=t.memoizedState;l.state=g,Is(t,r,l,o),i=t.memoizedState,s!==r||g!==i||wt.current||Ga?(typeof f=="function"&&(bu(t,a,f,r),i=t.memoizedState),(s=Ga||wc(t,a,s,r,g,i,d))?(m||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=i),l.props=r,l.state=i,l.context=d,r=s):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{l=t.stateNode,Gp(e,t),s=t.memoizedProps,d=t.type===t.elementType?s:ra(t.type,s),l.props=d,m=t.pendingProps,g=l.context,i=a.contextType,typeof i=="object"&&i!==null?i=$t(i):(i=kt(a)?Br:mt.current,i=Do(t,i));var L=a.getDerivedStateFromProps;(f=typeof L=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(s!==m||g!==i)&&kc(t,l,r,i),Ga=!1,g=t.memoizedState,l.state=g,Is(t,r,l,o);var x=t.memoizedState;s!==m||g!==x||wt.current||Ga?(typeof L=="function"&&(bu(t,a,L,r),x=t.memoizedState),(d=Ga||wc(t,a,d,r,g,x,i)||!1)?(f||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(r,x,i),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(r,x,i)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=x),l.props=r,l.state=x,l.context=i,r=d):(typeof l.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),r=!1)}return Mu(e,t,a,r,n,o)}function Mu(e,t,a,r,o,n){vm(e,t);var l=(t.flags&128)!==0;if(!r&&!l)return o&&hc(t,a,!1),Ea(e,t,n);r=t.stateNode,Vx.current=t;var s=l&&typeof a.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&l?(t.child=Fo(t,e.child,null,n),t.child=Fo(t,null,s,n)):ht(e,t,s,n),t.memoizedState=r.state,o&&hc(t,a,!0),t.child}function ym(e){var t=e.stateNode;t.pendingContext?gc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&gc(e,t.context,!1),cd(e,t.containerInfo)}function Dc(e,t,a,r,o){return Eo(),ld(o),t.flags|=256,ht(e,t,a,r),t.child}var Au={dehydrated:null,treeContext:null,retryLane:0};function Du(e){return{baseLanes:e,cachePool:null,transitions:null}}function Lm(e,t,a){var r=t.pendingProps,o=We.current,n=!1,l=(t.flags&128)!==0,s;if((s=l)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(n=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),ze(We,o&1),e===null)return wu(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(l=r.children,e=r.fallback,n?(r=t.mode,n=t.child,l={mode:"hidden",children:l},(r&1)===0&&n!==null?(n.childLanes=0,n.pendingProps=l):n=qs(l,r,0,null),e=Fr(e,r,a,null),n.return=t,e.return=t,n.sibling=e,t.child=n,t.child.memoizedState=Du(a),t.memoizedState=Au,e):Ld(t,l));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return Gx(e,t,l,r,s,o,a);if(n){n=r.fallback,l=t.mode,o=e.child,s=o.sibling;var i={mode:"hidden",children:r.children};return(l&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=i,t.deletions=null):(r=or(o,i),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?n=or(s,n):(n=Fr(n,l,a,null),n.flags|=2),n.return=t,r.return=t,r.sibling=n,t.child=r,r=n,n=t.child,l=e.child.memoizedState,l=l===null?Du(a):{baseLanes:l.baseLanes|a,cachePool:null,transitions:l.transitions},n.memoizedState=l,n.childLanes=e.childLanes&~a,t.memoizedState=Au,r}return n=e.child,e=n.sibling,r=or(n,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=a),r.return=t,r.sibling=null,e!==null&&(a=t.deletions,a===null?(t.deletions=[e],t.flags|=16):a.push(e)),t.child=r,t.memoizedState=null,r}function Ld(e,t){return t=qs({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function jl(e,t,a,r){return r!==null&&ld(r),Fo(t,e.child,null,a),e=Ld(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Gx(e,t,a,r,o,n,l){if(a)return t.flags&256?(t.flags&=-257,r=Gi(Error(M(422))),jl(e,t,l,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(n=r.fallback,o=t.mode,r=qs({mode:"visible",children:r.children},o,0,null),n=Fr(n,o,l,null),n.flags|=2,r.return=t,n.return=t,r.sibling=n,t.child=r,(t.mode&1)!==0&&Fo(t,e.child,null,l),t.child.memoizedState=Du(l),t.memoizedState=Au,n);if((t.mode&1)===0)return jl(e,t,l,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,n=Error(M(419)),r=Gi(n,r,void 0),jl(e,t,l,r)}if(s=(l&e.childLanes)!==0,Ct||s){if(r=rt,r!==null){switch(l&-l){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|l))!==0?0:o,o!==0&&o!==n.retryLane&&(n.retryLane=o,Da(e,o),sa(r,e,o,-1))}return bd(),r=Gi(Error(M(421))),jl(e,t,l,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=nv.bind(null,e),o._reactRetry=t,null):(e=n.treeContext,At=er(o.nextSibling),Dt=t,_e=!0,na=null,e!==null&&(Ht[qt++]=Ta,Ht[qt++]=Pa,Ht[qt++]=Or,Ta=e.id,Pa=e.overflow,Or=t),t=Ld(t,r.children),t.flags|=4096,t)}function Ec(e,t,a){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ku(e.return,t,a)}function Ki(e,t,a,r,o){var n=e.memoizedState;n===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:a,tailMode:o}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=r,n.tail=a,n.tailMode=o)}function Sm(e,t,a){var r=t.pendingProps,o=r.revealOrder,n=r.tail;if(ht(e,t,r.children,a),r=We.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ec(e,a,t);else if(e.tag===19)Ec(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ze(We,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Cs(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),Ki(t,!1,o,a,n);break;case"backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Cs(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}Ki(t,!0,a,null,n);break;case"together":Ki(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function rs(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ea(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Nr|=t.lanes,(a&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(M(153));if(t.child!==null){for(e=t.child,a=or(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=or(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Kx(e,t,a){switch(t.tag){case 3:ym(t),Eo();break;case 5:Kp(t);break;case 1:kt(t.type)&&xs(t);break;case 4:cd(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;ze(Ls,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ze(We,We.current&1),t.flags|=128,null):(a&t.child.childLanes)!==0?Lm(e,t,a):(ze(We,We.current&1),e=Ea(e,t,a),e!==null?e.sibling:null);ze(We,We.current&1);break;case 19:if(r=(a&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Sm(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),ze(We,We.current),r)break;return null;case 22:case 23:return t.lanes=0,xm(e,t,a)}return Ea(e,t,a)}var Im,Eu,Cm,wm;Im=function(e,t){for(var a=t.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===t)break;for(;a.sibling===null;){if(a.return===null||a.return===t)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};Eu=function(){};Cm=function(e,t,a,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Dr(va.current);var n=null;switch(a){case"input":o=tu(e,o),r=tu(e,r),n=[];break;case"select":o=Ve({},o,{value:void 0}),r=Ve({},r,{value:void 0}),n=[];break;case"textarea":o=ou(e,o),r=ou(e,r),n=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=gs)}lu(a,r);var l;a=null;for(d in o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&o[d]!=null)if(d==="style"){var s=o[d];for(l in s)s.hasOwnProperty(l)&&(a||(a={}),a[l]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(kn.hasOwnProperty(d)?n||(n=[]):(n=n||[]).push(d,null));for(d in r){var i=r[d];if(s=o!=null?o[d]:void 0,r.hasOwnProperty(d)&&i!==s&&(i!=null||s!=null))if(d==="style")if(s){for(l in s)!s.hasOwnProperty(l)||i&&i.hasOwnProperty(l)||(a||(a={}),a[l]="");for(l in i)i.hasOwnProperty(l)&&s[l]!==i[l]&&(a||(a={}),a[l]=i[l])}else a||(n||(n=[]),n.push(d,a)),a=i;else d==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,s=s?s.__html:void 0,i!=null&&s!==i&&(n=n||[]).push(d,i)):d==="children"?typeof i!="string"&&typeof i!="number"||(n=n||[]).push(d,""+i):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(kn.hasOwnProperty(d)?(i!=null&&d==="onScroll"&&Ue("scroll",e),n||s===i||(n=[])):(n=n||[]).push(d,i))}a&&(n=n||[]).push("style",a);var d=n;(t.updateQueue=d)&&(t.flags|=4)}};wm=function(e,t,a,r){a!==r&&(t.flags|=4)};function un(e,t){if(!_e)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ct(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,r=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=a,t}function jx(e,t,a){var r=t.pendingProps;switch(nd(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ct(t),null;case 1:return kt(t.type)&&hs(),ct(t),null;case 3:return r=t.stateNode,Bo(),He(wt),He(mt),md(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Gl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,na!==null&&(qu(na),na=null))),Eu(e,t),ct(t),null;case 5:pd(t);var o=Dr(zn.current);if(a=t.type,e!==null&&t.stateNode!=null)Cm(e,t,a,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(M(166));return ct(t),null}if(e=Dr(va.current),Gl(t)){r=t.stateNode,a=t.type;var n=t.memoizedProps;switch(r[ha]=t,r[Bn]=n,e=(t.mode&1)!==0,a){case"dialog":Ue("cancel",r),Ue("close",r);break;case"iframe":case"object":case"embed":Ue("load",r);break;case"video":case"audio":for(o=0;o<gn.length;o++)Ue(gn[o],r);break;case"source":Ue("error",r);break;case"img":case"image":case"link":Ue("error",r),Ue("load",r);break;case"details":Ue("toggle",r);break;case"input":qf(r,n),Ue("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!n.multiple},Ue("invalid",r);break;case"textarea":Wf(r,n),Ue("invalid",r)}lu(a,n),o=null;for(var l in n)if(n.hasOwnProperty(l)){var s=n[l];l==="children"?typeof s=="string"?r.textContent!==s&&(n.suppressHydrationWarning!==!0&&Vl(r.textContent,s,e),o=["children",s]):typeof s=="number"&&r.textContent!==""+s&&(n.suppressHydrationWarning!==!0&&Vl(r.textContent,s,e),o=["children",""+s]):kn.hasOwnProperty(l)&&s!=null&&l==="onScroll"&&Ue("scroll",r)}switch(a){case"input":El(r),_f(r,n,!0);break;case"textarea":El(r),$f(r);break;case"select":case"option":break;default:typeof n.onClick=="function"&&(r.onclick=gs)}r=o,t.updateQueue=r,r!==null&&(t.flags|=4)}else{l=o.nodeType===9?o:o.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Zc(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=l.createElement("div"),e.innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(a,{is:r.is}):(e=l.createElement(a),a==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,a),e[ha]=t,e[Bn]=r,Im(e,t,!1,!1),t.stateNode=e;e:{switch(l=su(a,r),a){case"dialog":Ue("cancel",e),Ue("close",e),o=r;break;case"iframe":case"object":case"embed":Ue("load",e),o=r;break;case"video":case"audio":for(o=0;o<gn.length;o++)Ue(gn[o],e);o=r;break;case"source":Ue("error",e),o=r;break;case"img":case"image":case"link":Ue("error",e),Ue("load",e),o=r;break;case"details":Ue("toggle",e),o=r;break;case"input":qf(e,r),o=tu(e,r),Ue("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=Ve({},r,{value:void 0}),Ue("invalid",e);break;case"textarea":Wf(e,r),o=ou(e,r),Ue("invalid",e);break;default:o=r}lu(a,o),s=o;for(n in s)if(s.hasOwnProperty(n)){var i=s[n];n==="style"?tp(e,i):n==="dangerouslySetInnerHTML"?(i=i?i.__html:void 0,i!=null&&Jc(e,i)):n==="children"?typeof i=="string"?(a!=="textarea"||i!=="")&&bn(e,i):typeof i=="number"&&bn(e,""+i):n!=="suppressContentEditableWarning"&&n!=="suppressHydrationWarning"&&n!=="autoFocus"&&(kn.hasOwnProperty(n)?i!=null&&n==="onScroll"&&Ue("scroll",e):i!=null&&$u(e,n,i,l))}switch(a){case"input":El(e),_f(e,r,!1);break;case"textarea":El(e),$f(e);break;case"option":r.value!=null&&e.setAttribute("value",""+nr(r.value));break;case"select":e.multiple=!!r.multiple,n=r.value,n!=null?ko(e,!!r.multiple,n,!1):r.defaultValue!=null&&ko(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=gs)}switch(a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ct(t),null;case 6:if(e&&t.stateNode!=null)wm(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(M(166));if(a=Dr(zn.current),Dr(va.current),Gl(t)){if(r=t.stateNode,a=t.memoizedProps,r[ha]=t,(n=r.nodeValue!==a)&&(e=Dt,e!==null))switch(e.tag){case 3:Vl(r.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Vl(r.nodeValue,a,(e.mode&1)!==0)}n&&(t.flags|=4)}else r=(a.nodeType===9?a:a.ownerDocument).createTextNode(r),r[ha]=t,t.stateNode=r}return ct(t),null;case 13:if(He(We),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(_e&&At!==null&&(t.mode&1)!==0&&(t.flags&128)===0)_p(),Eo(),t.flags|=98560,n=!1;else if(n=Gl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!n)throw Error(M(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(M(317));n[ha]=t}else Eo(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ct(t),n=!1}else na!==null&&(qu(na),na=null),n=!0;if(!n)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=a,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(We.current&1)!==0?et===0&&(et=3):bd())),t.updateQueue!==null&&(t.flags|=4),ct(t),null);case 4:return Bo(),Eu(e,t),e===null&&En(t.stateNode.containerInfo),ct(t),null;case 10:return ud(t.type._context),ct(t),null;case 17:return kt(t.type)&&hs(),ct(t),null;case 19:if(He(We),n=t.memoizedState,n===null)return ct(t),null;if(r=(t.flags&128)!==0,l=n.rendering,l===null)if(r)un(n,!1);else{if(et!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=Cs(e),l!==null){for(t.flags|=128,un(n,!1),r=l.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=a,a=t.child;a!==null;)n=a,e=r,n.flags&=14680066,l=n.alternate,l===null?(n.childLanes=0,n.lanes=e,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=l.childLanes,n.lanes=l.lanes,n.child=l.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=l.memoizedProps,n.memoizedState=l.memoizedState,n.updateQueue=l.updateQueue,n.type=l.type,e=l.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ze(We,We.current&1|2),t.child}e=e.sibling}n.tail!==null&&Xe()>zo&&(t.flags|=128,r=!0,un(n,!1),t.lanes=4194304)}else{if(!r)if(e=Cs(l),e!==null){if(t.flags|=128,r=!0,a=e.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),un(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!_e)return ct(t),null}else 2*Xe()-n.renderingStartTime>zo&&a!==1073741824&&(t.flags|=128,r=!0,un(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(a=n.last,a!==null?a.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xe(),t.sibling=null,a=We.current,ze(We,r?a&1|2:a&1),t):(ct(t),null);case 22:case 23:return kd(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Mt&1073741824)!==0&&(ct(t),t.subtreeFlags&6&&(t.flags|=8192)):ct(t),null;case 24:return null;case 25:return null}throw Error(M(156,t.tag))}function Xx(e,t){switch(nd(t),t.tag){case 1:return kt(t.type)&&hs(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bo(),He(wt),He(mt),md(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return pd(t),null;case 13:if(He(We),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(M(340));Eo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return He(We),null;case 4:return Bo(),null;case 10:return ud(t.type._context),null;case 22:case 23:return kd(),null;case 24:return null;default:return null}}var Xl=!1,pt=!1,Qx=typeof WeakSet=="function"?WeakSet:Set,K=null;function Co(e,t){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(r){Ke(e,t,r)}else a.current=null}function Fu(e,t,a){try{a()}catch(r){Ke(e,t,r)}}var Fc=!1;function Yx(e,t){if(xu=cs,e=Rp(),rd(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var r=a.getSelection&&a.getSelection();if(r&&r.rangeCount!==0){a=r.anchorNode;var o=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break e}var l=0,s=-1,i=-1,d=0,f=0,m=e,g=null;t:for(;;){for(var L;m!==a||o!==0&&m.nodeType!==3||(s=l+o),m!==n||r!==0&&m.nodeType!==3||(i=l+r),m.nodeType===3&&(l+=m.nodeValue.length),(L=m.firstChild)!==null;)g=m,m=L;for(;;){if(m===e)break t;if(g===a&&++d===o&&(s=l),g===n&&++f===r&&(i=l),(L=m.nextSibling)!==null)break;m=g,g=m.parentNode}m=L}a=s===-1||i===-1?null:{start:s,end:i}}else a=null}a=a||{start:0,end:0}}else a=null;for(vu={focusedElem:e,selectionRange:a},cs=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var x=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var C=x.memoizedProps,N=x.memoizedState,p=t.stateNode,u=p.getSnapshotBeforeUpdate(t.elementType===t.type?C:ra(t.type,C),N);p.__reactInternalSnapshotBeforeUpdate=u}break;case 3:var c=t.stateNode.containerInfo;c.nodeType===1?c.textContent="":c.nodeType===9&&c.documentElement&&c.removeChild(c.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(M(163))}}catch(y){Ke(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return x=Fc,Fc=!1,x}function In(e,t,a){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var n=o.destroy;o.destroy=void 0,n!==void 0&&Fu(t,a,n)}o=o.next}while(o!==r)}}function Us(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var a=t=t.next;do{if((a.tag&e)===e){var r=a.create;a.destroy=r()}a=a.next}while(a!==t)}}function Bu(e){var t=e.ref;if(t!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof t=="function"?t(e):t.current=e}}function km(e){var t=e.alternate;t!==null&&(e.alternate=null,km(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ha],delete t[Bn],delete t[Su],delete t[Ex],delete t[Fx])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function bm(e){return e.tag===5||e.tag===3||e.tag===4}function Bc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||bm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ou(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.nodeType===8?a.parentNode.insertBefore(e,t):a.insertBefore(e,t):(a.nodeType===8?(t=a.parentNode,t.insertBefore(e,a)):(t=a,t.appendChild(e)),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=gs));else if(r!==4&&(e=e.child,e!==null))for(Ou(e,t,a),e=e.sibling;e!==null;)Ou(e,t,a),e=e.sibling}function zu(e,t,a){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(zu(e,t,a),e=e.sibling;e!==null;)zu(e,t,a),e=e.sibling}var nt=null,oa=!1;function $a(e,t,a){for(a=a.child;a!==null;)Tm(e,t,a),a=a.sibling}function Tm(e,t,a){if(xa&&typeof xa.onCommitFiberUnmount=="function")try{xa.onCommitFiberUnmount(As,a)}catch{}switch(a.tag){case 5:pt||Co(a,t);case 6:var r=nt,o=oa;nt=null,$a(e,t,a),nt=r,oa=o,nt!==null&&(oa?(e=nt,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):nt.removeChild(a.stateNode));break;case 18:nt!==null&&(oa?(e=nt,a=a.stateNode,e.nodeType===8?Hi(e.parentNode,a):e.nodeType===1&&Hi(e,a),Mn(e)):Hi(nt,a.stateNode));break;case 4:r=nt,o=oa,nt=a.stateNode.containerInfo,oa=!0,$a(e,t,a),nt=r,oa=o;break;case 0:case 11:case 14:case 15:if(!pt&&(r=a.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var n=o,l=n.destroy;n=n.tag,l!==void 0&&((n&2)!==0||(n&4)!==0)&&Fu(a,t,l),o=o.next}while(o!==r)}$a(e,t,a);break;case 1:if(!pt&&(Co(a,t),r=a.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=a.memoizedProps,r.state=a.memoizedState,r.componentWillUnmount()}catch(s){Ke(a,t,s)}$a(e,t,a);break;case 21:$a(e,t,a);break;case 22:a.mode&1?(pt=(r=pt)||a.memoizedState!==null,$a(e,t,a),pt=r):$a(e,t,a);break;default:$a(e,t,a)}}function Oc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new Qx),t.forEach(function(r){var o=lv.bind(null,e,r);a.has(r)||(a.add(r),r.then(o,o))})}}function aa(e,t){var a=t.deletions;if(a!==null)for(var r=0;r<a.length;r++){var o=a[r];try{var n=e,l=t,s=l;e:for(;s!==null;){switch(s.tag){case 5:nt=s.stateNode,oa=!1;break e;case 3:nt=s.stateNode.containerInfo,oa=!0;break e;case 4:nt=s.stateNode.containerInfo,oa=!0;break e}s=s.return}if(nt===null)throw Error(M(160));Tm(n,l,o),nt=null,oa=!1;var i=o.alternate;i!==null&&(i.return=null),o.return=null}catch(d){Ke(o,t,d)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Pm(t,e),t=t.sibling}function Pm(e,t){var a=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(aa(t,e),ma(e),r&4){try{In(3,e,e.return),Us(3,e)}catch(C){Ke(e,e.return,C)}try{In(5,e,e.return)}catch(C){Ke(e,e.return,C)}}break;case 1:aa(t,e),ma(e),r&512&&a!==null&&Co(a,a.return);break;case 5:if(aa(t,e),ma(e),r&512&&a!==null&&Co(a,a.return),e.flags&32){var o=e.stateNode;try{bn(o,"")}catch(C){Ke(e,e.return,C)}}if(r&4&&(o=e.stateNode,o!=null)){var n=e.memoizedProps,l=a!==null?a.memoizedProps:n,s=e.type,i=e.updateQueue;if(e.updateQueue=null,i!==null)try{s==="input"&&n.type==="radio"&&n.name!=null&&Qc(o,n),su(s,l);var d=su(s,n);for(l=0;l<i.length;l+=2){var f=i[l],m=i[l+1];f==="style"?tp(o,m):f==="dangerouslySetInnerHTML"?Jc(o,m):f==="children"?bn(o,m):$u(o,f,m,d)}switch(s){case"input":au(o,n);break;case"textarea":Yc(o,n);break;case"select":var g=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!n.multiple;var L=n.value;L!=null?ko(o,!!n.multiple,L,!1):g!==!!n.multiple&&(n.defaultValue!=null?ko(o,!!n.multiple,n.defaultValue,!0):ko(o,!!n.multiple,n.multiple?[]:"",!1))}o[Bn]=n}catch(C){Ke(e,e.return,C)}}break;case 6:if(aa(t,e),ma(e),r&4){if(e.stateNode===null)throw Error(M(162));o=e.stateNode,n=e.memoizedProps;try{o.nodeValue=n}catch(C){Ke(e,e.return,C)}}break;case 3:if(aa(t,e),ma(e),r&4&&a!==null&&a.memoizedState.isDehydrated)try{Mn(t.containerInfo)}catch(C){Ke(e,e.return,C)}break;case 4:aa(t,e),ma(e);break;case 13:aa(t,e),ma(e),o=e.child,o.flags&8192&&(n=o.memoizedState!==null,o.stateNode.isHidden=n,!n||o.alternate!==null&&o.alternate.memoizedState!==null||(Cd=Xe())),r&4&&Oc(e);break;case 22:if(f=a!==null&&a.memoizedState!==null,e.mode&1?(pt=(d=pt)||f,aa(t,e),pt=d):aa(t,e),ma(e),r&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!f&&(e.mode&1)!==0)for(K=e,f=e.child;f!==null;){for(m=K=f;K!==null;){switch(g=K,L=g.child,g.tag){case 0:case 11:case 14:case 15:In(4,g,g.return);break;case 1:Co(g,g.return);var x=g.stateNode;if(typeof x.componentWillUnmount=="function"){r=g,a=g.return;try{t=r,x.props=t.memoizedProps,x.state=t.memoizedState,x.componentWillUnmount()}catch(C){Ke(r,a,C)}}break;case 5:Co(g,g.return);break;case 22:if(g.memoizedState!==null){Nc(m);continue}}L!==null?(L.return=g,K=L):Nc(m)}f=f.sibling}e:for(f=null,m=e;;){if(m.tag===5){if(f===null){f=m;try{o=m.stateNode,d?(n=o.style,typeof n.setProperty=="function"?n.setProperty("display","none","important"):n.display="none"):(s=m.stateNode,i=m.memoizedProps.style,l=i!=null&&i.hasOwnProperty("display")?i.display:null,s.style.display=ep("display",l))}catch(C){Ke(e,e.return,C)}}}else if(m.tag===6){if(f===null)try{m.stateNode.nodeValue=d?"":m.memoizedProps}catch(C){Ke(e,e.return,C)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;f===m&&(f=null),m=m.return}f===m&&(f=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:aa(t,e),ma(e),r&4&&Oc(e);break;case 21:break;default:aa(t,e),ma(e)}}function ma(e){var t=e.flags;if(t&2){try{e:{for(var a=e.return;a!==null;){if(bm(a)){var r=a;break e}a=a.return}throw Error(M(160))}switch(r.tag){case 5:var o=r.stateNode;r.flags&32&&(bn(o,""),r.flags&=-33);var n=Bc(e);zu(e,n,o);break;case 3:case 4:var l=r.stateNode.containerInfo,s=Bc(e);Ou(e,s,l);break;default:throw Error(M(161))}}catch(i){Ke(e,e.return,i)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Zx(e,t,a){K=e,Rm(e,t,a)}function Rm(e,t,a){for(var r=(e.mode&1)!==0;K!==null;){var o=K,n=o.child;if(o.tag===22&&r){var l=o.memoizedState!==null||Xl;if(!l){var s=o.alternate,i=s!==null&&s.memoizedState!==null||pt;s=Xl;var d=pt;if(Xl=l,(pt=i)&&!d)for(K=o;K!==null;)l=K,i=l.child,l.tag===22&&l.memoizedState!==null?Uc(o):i!==null?(i.return=l,K=i):Uc(o);for(;n!==null;)K=n,Rm(n,t,a),n=n.sibling;K=o,Xl=s,pt=d}zc(e,t,a)}else(o.subtreeFlags&8772)!==0&&n!==null?(n.return=o,K=n):zc(e,t,a)}}function zc(e){for(;K!==null;){var t=K;if((t.flags&8772)!==0){var a=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:pt||Us(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!pt)if(a===null)r.componentDidMount();else{var o=t.elementType===t.type?a.memoizedProps:ra(t.type,a.memoizedProps);r.componentDidUpdate(o,a.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var n=t.updateQueue;n!==null&&Sc(t,n,r);break;case 3:var l=t.updateQueue;if(l!==null){if(a=null,t.child!==null)switch(t.child.tag){case 5:a=t.child.stateNode;break;case 1:a=t.child.stateNode}Sc(t,l,a)}break;case 5:var s=t.stateNode;if(a===null&&t.flags&4){a=s;var i=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":i.autoFocus&&a.focus();break;case"img":i.src&&(a.src=i.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var d=t.alternate;if(d!==null){var f=d.memoizedState;if(f!==null){var m=f.dehydrated;m!==null&&Mn(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(M(163))}pt||t.flags&512&&Bu(t)}catch(g){Ke(t,t.return,g)}}if(t===e){K=null;break}if(a=t.sibling,a!==null){a.return=t.return,K=a;break}K=t.return}}function Nc(e){for(;K!==null;){var t=K;if(t===e){K=null;break}var a=t.sibling;if(a!==null){a.return=t.return,K=a;break}K=t.return}}function Uc(e){for(;K!==null;){var t=K;try{switch(t.tag){case 0:case 11:case 15:var a=t.return;try{Us(4,t)}catch(i){Ke(t,a,i)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var o=t.return;try{r.componentDidMount()}catch(i){Ke(t,o,i)}}var n=t.return;try{Bu(t)}catch(i){Ke(t,n,i)}break;case 5:var l=t.return;try{Bu(t)}catch(i){Ke(t,l,i)}}}catch(i){Ke(t,t.return,i)}if(t===e){K=null;break}var s=t.sibling;if(s!==null){s.return=t.return,K=s;break}K=t.return}}var Jx=Math.ceil,bs=Fa.ReactCurrentDispatcher,Sd=Fa.ReactCurrentOwner,Wt=Fa.ReactCurrentBatchConfig,ye=0,rt=null,Ye=null,lt=0,Mt=0,wo=ir(0),et=0,qn=null,Nr=0,Hs=0,Id=0,Cn=null,It=null,Cd=0,zo=1/0,ka=null,Ts=!1,Nu=null,ar=null,Ql=!1,Qa=null,Ps=0,wn=0,Uu=null,os=-1,ns=0;function xt(){return(ye&6)!==0?Xe():os!==-1?os:os=Xe()}function rr(e){return(e.mode&1)===0?1:(ye&2)!==0&<!==0?lt&-lt:Ox.transition!==null?(ns===0&&(ns=pp()),ns):(e=Te,e!==0||(e=window.event,e=e===void 0?16:Lp(e.type)),e)}function sa(e,t,a,r){if(50<wn)throw wn=0,Uu=null,Error(M(185));_n(e,a,r),((ye&2)===0||e!==rt)&&(e===rt&&((ye&2)===0&&(Hs|=a),et===4&&ja(e,lt)),bt(e,r),a===1&&ye===0&&(t.mode&1)===0&&(zo=Xe()+500,Os&&ur()))}function bt(e,t){var a=e.callbackNode;Nh(e,t);var r=fs(e,e===rt?lt:0);if(r===0)a!==null&&Kf(a),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(a!=null&&Kf(a),t===1)e.tag===0?Bx(Hc.bind(null,e)):Up(Hc.bind(null,e)),Ax(function(){(ye&6)===0&&ur()}),a=null;else{switch(mp(r)){case 1:a=Xu;break;case 4:a=fp;break;case 16:a=ds;break;case 536870912:a=cp;break;default:a=ds}a=zm(a,Mm.bind(null,e))}e.callbackPriority=t,e.callbackNode=a}}function Mm(e,t){if(os=-1,ns=0,(ye&6)!==0)throw Error(M(327));var a=e.callbackNode;if(Mo()&&e.callbackNode!==a)return null;var r=fs(e,e===rt?lt:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Rs(e,r);else{t=r;var o=ye;ye|=2;var n=Dm();(rt!==e||lt!==t)&&(ka=null,zo=Xe()+500,Er(e,t));do try{av();break}catch(s){Am(e,s)}while(!0);id(),bs.current=n,ye=o,Ye!==null?t=0:(rt=null,lt=0,t=et)}if(t!==0){if(t===2&&(o=cu(e),o!==0&&(r=o,t=Hu(e,o))),t===1)throw a=qn,Er(e,0),ja(e,r),bt(e,Xe()),a;if(t===6)ja(e,r);else{if(o=e.current.alternate,(r&30)===0&&!ev(o)&&(t=Rs(e,r),t===2&&(n=cu(e),n!==0&&(r=n,t=Hu(e,n))),t===1))throw a=qn,Er(e,0),ja(e,r),bt(e,Xe()),a;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(M(345));case 2:Rr(e,It,ka);break;case 3:if(ja(e,r),(r&130023424)===r&&(t=Cd+500-Xe(),10<t)){if(fs(e,0)!==0)break;if(o=e.suspendedLanes,(o&r)!==r){xt(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=Lu(Rr.bind(null,e,It,ka),t);break}Rr(e,It,ka);break;case 4:if(ja(e,r),(r&4194240)===r)break;for(t=e.eventTimes,o=-1;0<r;){var l=31-la(r);n=1<<l,l=t[l],l>o&&(o=l),r&=~n}if(r=o,r=Xe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Jx(r/1960))-r,10<r){e.timeoutHandle=Lu(Rr.bind(null,e,It,ka),r);break}Rr(e,It,ka);break;case 5:Rr(e,It,ka);break;default:throw Error(M(329))}}}return bt(e,Xe()),e.callbackNode===a?Mm.bind(null,e):null}function Hu(e,t){var a=Cn;return e.current.memoizedState.isDehydrated&&(Er(e,t).flags|=256),e=Rs(e,t),e!==2&&(t=It,It=a,t!==null&&qu(t)),e}function qu(e){It===null?It=e:It.push.apply(It,e)}function ev(e){for(var t=e;;){if(t.flags&16384){var a=t.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var r=0;r<a.length;r++){var o=a[r],n=o.getSnapshot;o=o.value;try{if(!ia(n(),o))return!1}catch{return!1}}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ja(e,t){for(t&=~Id,t&=~Hs,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var a=31-la(t),r=1<<a;e[a]=-1,t&=~r}}function Hc(e){if((ye&6)!==0)throw Error(M(327));Mo();var t=fs(e,0);if((t&1)===0)return bt(e,Xe()),null;var a=Rs(e,t);if(e.tag!==0&&a===2){var r=cu(e);r!==0&&(t=r,a=Hu(e,r))}if(a===1)throw a=qn,Er(e,0),ja(e,t),bt(e,Xe()),a;if(a===6)throw Error(M(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Rr(e,It,ka),bt(e,Xe()),null}function wd(e,t){var a=ye;ye|=1;try{return e(t)}finally{ye=a,ye===0&&(zo=Xe()+500,Os&&ur())}}function Ur(e){Qa!==null&&Qa.tag===0&&(ye&6)===0&&Mo();var t=ye;ye|=1;var a=Wt.transition,r=Te;try{if(Wt.transition=null,Te=1,e)return e()}finally{Te=r,Wt.transition=a,ye=t,(ye&6)===0&&ur()}}function kd(){Mt=wo.current,He(wo)}function Er(e,t){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,Mx(a)),Ye!==null)for(a=Ye.return;a!==null;){var r=a;switch(nd(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&hs();break;case 3:Bo(),He(wt),He(mt),md();break;case 5:pd(r);break;case 4:Bo();break;case 13:He(We);break;case 19:He(We);break;case 10:ud(r.type._context);break;case 22:case 23:kd()}a=a.return}if(rt=e,Ye=e=or(e.current,null),lt=Mt=t,et=0,qn=null,Id=Hs=Nr=0,It=Cn=null,Ar!==null){for(t=0;t<Ar.length;t++)if(a=Ar[t],r=a.interleaved,r!==null){a.interleaved=null;var o=r.next,n=a.pending;if(n!==null){var l=n.next;n.next=o,r.next=l}a.pending=r}Ar=null}return e}function Am(e,t){do{var a=Ye;try{if(id(),ts.current=ks,ws){for(var r=$e.memoizedState;r!==null;){var o=r.queue;o!==null&&(o.pending=null),r=r.next}ws=!1}if(zr=0,at=Je=$e=null,Sn=!1,Nn=0,Sd.current=null,a===null||a.return===null){et=1,qn=t,Ye=null;break}e:{var n=e,l=a.return,s=a,i=t;if(t=lt,s.flags|=32768,i!==null&&typeof i=="object"&&typeof i.then=="function"){var d=i,f=s,m=f.tag;if((f.mode&1)===0&&(m===0||m===11||m===15)){var g=f.alternate;g?(f.updateQueue=g.updateQueue,f.memoizedState=g.memoizedState,f.lanes=g.lanes):(f.updateQueue=null,f.memoizedState=null)}var L=Tc(l);if(L!==null){L.flags&=-257,Pc(L,l,s,n,t),L.mode&1&&bc(n,d,t),t=L,i=d;var x=t.updateQueue;if(x===null){var C=new Set;C.add(i),t.updateQueue=C}else x.add(i);break e}else{if((t&1)===0){bc(n,d,t),bd();break e}i=Error(M(426))}}else if(_e&&s.mode&1){var N=Tc(l);if(N!==null){(N.flags&65536)===0&&(N.flags|=256),Pc(N,l,s,n,t),ld(Oo(i,s));break e}}n=i=Oo(i,s),et!==4&&(et=2),Cn===null?Cn=[n]:Cn.push(n),n=l;do{switch(n.tag){case 3:n.flags|=65536,t&=-t,n.lanes|=t;var p=mm(n,i,t);Lc(n,p);break e;case 1:s=i;var u=n.type,c=n.stateNode;if((n.flags&128)===0&&(typeof u.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(ar===null||!ar.has(c)))){n.flags|=65536,t&=-t,n.lanes|=t;var y=gm(n,s,t);Lc(n,y);break e}}n=n.return}while(n!==null)}Fm(a)}catch(w){t=w,Ye===a&&a!==null&&(Ye=a=a.return);continue}break}while(!0)}function Dm(){var e=bs.current;return bs.current=ks,e===null?ks:e}function bd(){(et===0||et===3||et===2)&&(et=4),rt===null||(Nr&268435455)===0&&(Hs&268435455)===0||ja(rt,lt)}function Rs(e,t){var a=ye;ye|=2;var r=Dm();(rt!==e||lt!==t)&&(ka=null,Er(e,t));do try{tv();break}catch(o){Am(e,o)}while(!0);if(id(),ye=a,bs.current=r,Ye!==null)throw Error(M(261));return rt=null,lt=0,et}function tv(){for(;Ye!==null;)Em(Ye)}function av(){for(;Ye!==null&&!Rh();)Em(Ye)}function Em(e){var t=Om(e.alternate,e,Mt);e.memoizedProps=e.pendingProps,t===null?Fm(e):Ye=t,Sd.current=null}function Fm(e){var t=e;do{var a=t.alternate;if(e=t.return,(t.flags&32768)===0){if(a=jx(a,t,Mt),a!==null){Ye=a;return}}else{if(a=Xx(a,t),a!==null){a.flags&=32767,Ye=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{et=6,Ye=null;return}}if(t=t.sibling,t!==null){Ye=t;return}Ye=t=e}while(t!==null);et===0&&(et=5)}function Rr(e,t,a){var r=Te,o=Wt.transition;try{Wt.transition=null,Te=1,rv(e,t,a,r)}finally{Wt.transition=o,Te=r}return null}function rv(e,t,a,r){do Mo();while(Qa!==null);if((ye&6)!==0)throw Error(M(327));a=e.finishedWork;var o=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(M(177));e.callbackNode=null,e.callbackPriority=0;var n=a.lanes|a.childLanes;if(Uh(e,n),e===rt&&(Ye=rt=null,lt=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||Ql||(Ql=!0,zm(ds,function(){return Mo(),null})),n=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||n){n=Wt.transition,Wt.transition=null;var l=Te;Te=1;var s=ye;ye|=4,Sd.current=null,Yx(e,a),Pm(a,e),kx(vu),cs=!!xu,vu=xu=null,e.current=a,Zx(a,e,o),Mh(),ye=s,Te=l,Wt.transition=n}else e.current=a;if(Ql&&(Ql=!1,Qa=e,Ps=o),n=e.pendingLanes,n===0&&(ar=null),Eh(a.stateNode,r),bt(e,Xe()),t!==null)for(r=e.onRecoverableError,a=0;a<t.length;a++)o=t[a],r(o.value,{componentStack:o.stack,digest:o.digest});if(Ts)throw Ts=!1,e=Nu,Nu=null,e;return(Ps&1)!==0&&e.tag!==0&&Mo(),n=e.pendingLanes,(n&1)!==0?e===Uu?wn++:(wn=0,Uu=e):wn=0,ur(),null}function Mo(){if(Qa!==null){var e=mp(Ps),t=Wt.transition,a=Te;try{if(Wt.transition=null,Te=16>e?16:e,Qa===null)var r=!1;else{if(e=Qa,Qa=null,Ps=0,(ye&6)!==0)throw Error(M(331));var o=ye;for(ye|=4,K=e.current;K!==null;){var n=K,l=n.child;if((K.flags&16)!==0){var s=n.deletions;if(s!==null){for(var i=0;i<s.length;i++){var d=s[i];for(K=d;K!==null;){var f=K;switch(f.tag){case 0:case 11:case 15:In(8,f,n)}var m=f.child;if(m!==null)m.return=f,K=m;else for(;K!==null;){f=K;var g=f.sibling,L=f.return;if(km(f),f===d){K=null;break}if(g!==null){g.return=L,K=g;break}K=L}}}var x=n.alternate;if(x!==null){var C=x.child;if(C!==null){x.child=null;do{var N=C.sibling;C.sibling=null,C=N}while(C!==null)}}K=n}}if((n.subtreeFlags&2064)!==0&&l!==null)l.return=n,K=l;else e:for(;K!==null;){if(n=K,(n.flags&2048)!==0)switch(n.tag){case 0:case 11:case 15:In(9,n,n.return)}var p=n.sibling;if(p!==null){p.return=n.return,K=p;break e}K=n.return}}var u=e.current;for(K=u;K!==null;){l=K;var c=l.child;if((l.subtreeFlags&2064)!==0&&c!==null)c.return=l,K=c;else e:for(l=u;K!==null;){if(s=K,(s.flags&2048)!==0)try{switch(s.tag){case 0:case 11:case 15:Us(9,s)}}catch(w){Ke(s,s.return,w)}if(s===l){K=null;break e}var y=s.sibling;if(y!==null){y.return=s.return,K=y;break e}K=s.return}}if(ye=o,ur(),xa&&typeof xa.onPostCommitFiberRoot=="function")try{xa.onPostCommitFiberRoot(As,e)}catch{}r=!0}return r}finally{Te=a,Wt.transition=t}}return!1}function qc(e,t,a){t=Oo(a,t),t=mm(e,t,1),e=tr(e,t,1),t=xt(),e!==null&&(_n(e,1,t),bt(e,t))}function Ke(e,t,a){if(e.tag===3)qc(e,e,a);else for(;t!==null;){if(t.tag===3){qc(t,e,a);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ar===null||!ar.has(r))){e=Oo(a,e),e=gm(t,e,1),t=tr(t,e,1),e=xt(),t!==null&&(_n(t,1,e),bt(t,e));break}}t=t.return}}function ov(e,t,a){var r=e.pingCache;r!==null&&r.delete(t),t=xt(),e.pingedLanes|=e.suspendedLanes&a,rt===e&&(lt&a)===a&&(et===4||et===3&&(lt&130023424)===lt&&500>Xe()-Cd?Er(e,0):Id|=a),bt(e,t)}function Bm(e,t){t===0&&((e.mode&1)===0?t=1:(t=Ol,Ol<<=1,(Ol&130023424)===0&&(Ol=4194304)));var a=xt();e=Da(e,t),e!==null&&(_n(e,t,a),bt(e,a))}function nv(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Bm(e,a)}function lv(e,t){var a=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(M(314))}r!==null&&r.delete(t),Bm(e,a)}var Om;Om=function(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps||wt.current)Ct=!0;else{if((e.lanes&a)===0&&(t.flags&128)===0)return Ct=!1,Kx(e,t,a);Ct=(e.flags&131072)!==0}else Ct=!1,_e&&(t.flags&1048576)!==0&&Hp(t,ys,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;rs(e,t),e=t.pendingProps;var o=Do(t,mt.current);Ro(t,a),o=hd(null,t,r,e,o,a);var n=xd();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,kt(r)?(n=!0,xs(t)):n=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,fd(t),o.updater=Ns,t.stateNode=o,o._reactInternals=t,Tu(t,r,e,a),t=Mu(null,t,r,!0,n,a)):(t.tag=0,_e&&n&&od(t),ht(null,t,o,a),t=t.child),t;case 16:r=t.elementType;e:{switch(rs(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=iv(r),e=ra(r,e),o){case 0:t=Ru(null,t,r,e,a);break e;case 1:t=Ac(null,t,r,e,a);break e;case 11:t=Rc(null,t,r,e,a);break e;case 14:t=Mc(null,t,r,ra(r.type,e),a);break e}throw Error(M(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ra(r,o),Ru(e,t,r,o,a);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ra(r,o),Ac(e,t,r,o,a);case 3:e:{if(ym(t),e===null)throw Error(M(387));r=t.pendingProps,n=t.memoizedState,o=n.element,Gp(e,t),Is(t,r,null,a);var l=t.memoizedState;if(r=l.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){o=Oo(Error(M(423)),t),t=Dc(e,t,r,a,o);break e}else if(r!==o){o=Oo(Error(M(424)),t),t=Dc(e,t,r,a,o);break e}else for(At=er(t.stateNode.containerInfo.firstChild),Dt=t,_e=!0,na=null,a=$p(t,null,r,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Eo(),r===o){t=Ea(e,t,a);break e}ht(e,t,r,a)}t=t.child}return t;case 5:return Kp(t),e===null&&wu(t),r=t.type,o=t.pendingProps,n=e!==null?e.memoizedProps:null,l=o.children,yu(r,o)?l=null:n!==null&&yu(r,n)&&(t.flags|=32),vm(e,t),ht(e,t,l,a),t.child;case 6:return e===null&&wu(t),null;case 13:return Lm(e,t,a);case 4:return cd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Fo(t,null,r,a):ht(e,t,r,a),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ra(r,o),Rc(e,t,r,o,a);case 7:return ht(e,t,t.pendingProps,a),t.child;case 8:return ht(e,t,t.pendingProps.children,a),t.child;case 12:return ht(e,t,t.pendingProps.children,a),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,n=t.memoizedProps,l=o.value,ze(Ls,r._currentValue),r._currentValue=l,n!==null)if(ia(n.value,l)){if(n.children===o.children&&!wt.current){t=Ea(e,t,a);break e}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var s=n.dependencies;if(s!==null){l=n.child;for(var i=s.firstContext;i!==null;){if(i.context===r){if(n.tag===1){i=Ra(-1,a&-a),i.tag=2;var d=n.updateQueue;if(d!==null){d=d.shared;var f=d.pending;f===null?i.next=i:(i.next=f.next,f.next=i),d.pending=i}}n.lanes|=a,i=n.alternate,i!==null&&(i.lanes|=a),ku(n.return,a,t),s.lanes|=a;break}i=i.next}}else if(n.tag===10)l=n.type===t.type?null:n.child;else if(n.tag===18){if(l=n.return,l===null)throw Error(M(341));l.lanes|=a,s=l.alternate,s!==null&&(s.lanes|=a),ku(l,a,t),l=n.sibling}else l=n.child;if(l!==null)l.return=n;else for(l=n;l!==null;){if(l===t){l=null;break}if(n=l.sibling,n!==null){n.return=l.return,l=n;break}l=l.return}n=l}ht(e,t,o.children,a),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ro(t,a),o=$t(o),r=r(o),t.flags|=1,ht(e,t,r,a),t.child;case 14:return r=t.type,o=ra(r,t.pendingProps),o=ra(r.type,o),Mc(e,t,r,o,a);case 15:return hm(e,t,t.type,t.pendingProps,a);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ra(r,o),rs(e,t),t.tag=1,kt(r)?(e=!0,xs(t)):e=!1,Ro(t,a),pm(t,r,o),Tu(t,r,o,a),Mu(null,t,r,!0,e,a);case 19:return Sm(e,t,a);case 22:return xm(e,t,a)}throw Error(M(156,t.tag))};function zm(e,t){return dp(e,t)}function sv(e,t,a,r){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _t(e,t,a,r){return new sv(e,t,a,r)}function Td(e){return e=e.prototype,!(!e||!e.isReactComponent)}function iv(e){if(typeof e=="function")return Td(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Gu)return 11;if(e===Ku)return 14}return 2}function or(e,t){var a=e.alternate;return a===null?(a=_t(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function ls(e,t,a,r,o,n){var l=2;if(r=e,typeof e=="function")Td(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case mo:return Fr(a.children,o,n,t);case Vu:l=8,o|=8;break;case Yi:return e=_t(12,a,t,o|2),e.elementType=Yi,e.lanes=n,e;case Zi:return e=_t(13,a,t,o),e.elementType=Zi,e.lanes=n,e;case Ji:return e=_t(19,a,t,o),e.elementType=Ji,e.lanes=n,e;case Kc:return qs(a,o,n,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Vc:l=10;break e;case Gc:l=9;break e;case Gu:l=11;break e;case Ku:l=14;break e;case Va:l=16,r=null;break e}throw Error(M(130,e==null?e:typeof e,""))}return t=_t(l,a,t,o),t.elementType=e,t.type=r,t.lanes=n,t}function Fr(e,t,a,r){return e=_t(7,e,r,t),e.lanes=a,e}function qs(e,t,a,r){return e=_t(22,e,r,t),e.elementType=Kc,e.lanes=a,e.stateNode={isHidden:!1},e}function ji(e,t,a){return e=_t(6,e,null,t),e.lanes=a,e}function Xi(e,t,a){return t=_t(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function uv(e,t,a,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Di(0),this.expirationTimes=Di(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Di(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Pd(e,t,a,r,o,n,l,s,i){return e=new uv(e,t,a,s,i),t===1?(t=1,n===!0&&(t|=8)):t=0,n=_t(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:r,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},fd(n),e}function dv(e,t,a){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:po,key:r==null?null:""+r,children:e,containerInfo:t,implementation:a}}function Nm(e){if(!e)return lr;e=e._reactInternals;e:{if(qr(e)!==e||e.tag!==1)throw Error(M(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(kt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(M(171))}if(e.tag===1){var a=e.type;if(kt(a))return Np(e,a,t)}return t}function Um(e,t,a,r,o,n,l,s,i){return e=Pd(a,r,!0,e,o,n,l,s,i),e.context=Nm(null),a=e.current,r=xt(),o=rr(a),n=Ra(r,o),n.callback=t??null,tr(a,n,o),e.current.lanes=o,_n(e,o,r),bt(e,r),e}function _s(e,t,a,r){var o=t.current,n=xt(),l=rr(o);return a=Nm(a),t.context===null?t.context=a:t.pendingContext=a,t=Ra(n,l),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=tr(o,t,l),e!==null&&(sa(e,o,l,n),es(e,o,l)),l}function Ms(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function _c(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Rd(e,t){_c(e,t),(e=e.alternate)&&_c(e,t)}function fv(){return null}var Hm=typeof reportError=="function"?reportError:function(e){console.error(e)};function Md(e){this._internalRoot=e}Ws.prototype.render=Md.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(M(409));_s(e,t,null,null)};Ws.prototype.unmount=Md.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ur(function(){_s(null,e,null,null)}),t[Aa]=null}};function Ws(e){this._internalRoot=e}Ws.prototype.unstable_scheduleHydration=function(e){if(e){var t=xp();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ka.length&&t!==0&&t<Ka[a].priority;a++);Ka.splice(a,0,e),a===0&&yp(e)}};function Ad(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function $s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Wc(){}function cv(e,t,a,r,o){if(o){if(typeof r=="function"){var n=r;r=function(){var d=Ms(l);n.call(d)}}var l=Um(t,r,e,0,null,!1,!1,"",Wc);return e._reactRootContainer=l,e[Aa]=l.current,En(e.nodeType===8?e.parentNode:e),Ur(),l}for(;o=e.lastChild;)e.removeChild(o);if(typeof r=="function"){var s=r;r=function(){var d=Ms(i);s.call(d)}}var i=Pd(e,0,!1,null,null,!1,!1,"",Wc);return e._reactRootContainer=i,e[Aa]=i.current,En(e.nodeType===8?e.parentNode:e),Ur(function(){_s(t,i,a,r)}),i}function Vs(e,t,a,r,o){var n=a._reactRootContainer;if(n){var l=n;if(typeof o=="function"){var s=o;o=function(){var i=Ms(l);s.call(i)}}_s(t,l,e,o)}else l=cv(a,t,e,o,r);return Ms(l)}gp=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var a=mn(t.pendingLanes);a!==0&&(Qu(t,a|1),bt(t,Xe()),(ye&6)===0&&(zo=Xe()+500,ur()))}break;case 13:Ur(function(){var r=Da(e,1);if(r!==null){var o=xt();sa(r,e,1,o)}}),Rd(e,1)}};Yu=function(e){if(e.tag===13){var t=Da(e,134217728);if(t!==null){var a=xt();sa(t,e,134217728,a)}Rd(e,134217728)}};hp=function(e){if(e.tag===13){var t=rr(e),a=Da(e,t);if(a!==null){var r=xt();sa(a,e,t,r)}Rd(e,t)}};xp=function(){return Te};vp=function(e,t){var a=Te;try{return Te=e,t()}finally{Te=a}};uu=function(e,t,a){switch(t){case"input":if(au(e,a),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<a.length;t++){var r=a[t];if(r!==e&&r.form===e.form){var o=Bs(r);if(!o)throw Error(M(90));Xc(r),au(r,o)}}}break;case"textarea":Yc(e,a);break;case"select":t=a.value,t!=null&&ko(e,!!a.multiple,t,!1)}};op=wd;np=Ur;var pv={usingClientEntryPoint:!1,Events:[$n,vo,Bs,ap,rp,wd]},dn={findFiberByHostInstance:Mr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},mv={bundleType:dn.bundleType,version:dn.version,rendererPackageName:dn.rendererPackageName,rendererConfig:dn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Fa.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=ip(e),e===null?null:e.stateNode},findFiberByHostInstance:dn.findFiberByHostInstance||fv,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(fn=__REACT_DEVTOOLS_GLOBAL_HOOK__,!fn.isDisabled&&fn.supportsFiber))try{As=fn.inject(mv),xa=fn}catch{}var fn;Bt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pv;Bt.createPortal=function(e,t){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ad(t))throw Error(M(200));return dv(e,t,null,a)};Bt.createRoot=function(e,t){if(!Ad(e))throw Error(M(299));var a=!1,r="",o=Hm;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=Pd(e,1,!1,null,null,a,!1,r,o),e[Aa]=t.current,En(e.nodeType===8?e.parentNode:e),new Md(t)};Bt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(M(188)):(e=Object.keys(e).join(","),Error(M(268,e)));return e=ip(t),e=e===null?null:e.stateNode,e};Bt.flushSync=function(e){return Ur(e)};Bt.hydrate=function(e,t,a){if(!$s(t))throw Error(M(200));return Vs(null,e,t,!0,a)};Bt.hydrateRoot=function(e,t,a){if(!Ad(e))throw Error(M(405));var r=a!=null&&a.hydratedSources||null,o=!1,n="",l=Hm;if(a!=null&&(a.unstable_strictMode===!0&&(o=!0),a.identifierPrefix!==void 0&&(n=a.identifierPrefix),a.onRecoverableError!==void 0&&(l=a.onRecoverableError)),t=Um(t,null,e,1,a??null,o,!1,n,l),e[Aa]=t.current,En(e),r)for(e=0;e<r.length;e++)a=r[e],o=a._getVersion,o=o(a._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[a,o]:t.mutableSourceEagerHydrationData.push(a,o);return new Ws(t)};Bt.render=function(e,t,a){if(!$s(t))throw Error(M(200));return Vs(null,e,t,!1,a)};Bt.unmountComponentAtNode=function(e){if(!$s(e))throw Error(M(40));return e._reactRootContainer?(Ur(function(){Vs(null,null,e,!1,function(){e._reactRootContainer=null,e[Aa]=null})}),!0):!1};Bt.unstable_batchedUpdates=wd;Bt.unstable_renderSubtreeIntoContainer=function(e,t,a,r){if(!$s(a))throw Error(M(200));if(e==null||e._reactInternals===void 0)throw Error(M(38));return Vs(e,t,a,!1,r)};Bt.version="18.3.1-next-f1338f8080-20240426"});var _r=wa((by,Wm)=>{"use strict";function _m(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_m)}catch(e){console.error(e)}}_m(),Wm.exports=qm()});var Vm=wa(Dd=>{"use strict";var $m=_r();Dd.createRoot=$m.createRoot,Dd.hydrateRoot=$m.hydrateRoot;var Ty});var Ym=wa(Zs=>{"use strict";var vv=Be(),yv=Symbol.for("react.element"),Lv=Symbol.for("react.fragment"),Sv=Object.prototype.hasOwnProperty,Iv=vv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Cv={key:!0,ref:!0,__self:!0,__source:!0};function Qm(e,t,a){var r,o={},n=null,l=null;a!==void 0&&(n=""+a),t.key!==void 0&&(n=""+t.key),t.ref!==void 0&&(l=t.ref);for(r in t)Sv.call(t,r)&&!Cv.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:yv,type:e,key:n,ref:l,props:o,_owner:Iv.current}}Zs.Fragment=Lv;Zs.jsx=Qm;Zs.jsxs=Qm});var j=wa((SL,Zm)=>{"use strict";Zm.exports=Ym()});var Eg=E(Vm(),1);var se=E(Be(),1),Rg=E(_r(),1);function Gm(e){return e.trim().replace(/^\\|/,"").replace(/\\|$/,"").split("|").map(a=>a.trim())}function gv(e){return/^\\s*\\|?\\s*:?-{3,}:?\\s*(\\|\\s*:?-{3,}:?\\s*)+\\|?\\s*$/.test(e)}function hv(e){let t=e.split(`\n`),a=[],r=0;for(;r<t.length;){let o=t[r]??"",n=t[r+1]??"";if(o.includes("|")&&gv(n)){let l=Gm(o),s=[];for(r+=2;r<t.length&&t[r].includes("|")&&t[r].trim()!=="";)s.push(Gm(t[r])),r+=1;let i=`<tr>${l.map(f=>`<th style="text-align:left;padding:7px 10px;border:1px solid #334155;color:#e2e8f0;background:#0f172a;">${f}</th>`).join("")}</tr>`,d=s.map(f=>`<tr>${f.map(m=>`<td style="padding:7px 10px;border:1px solid #334155;color:#cbd5e1;vertical-align:top;">${m}</td>`).join("")}</tr>`).join("");a.push(`<div style="overflow-x:auto;margin:0.65em 0;"><table style="border-collapse:collapse;min-width:360px;width:100%;font-size:12px;"><thead>${i}</thead><tbody>${d}</tbody></table></div>`);continue}a.push(t[r]),r+=1}return a.join(`\n`)}function Gs(e){if(!e)return\'<span style="color:#475569;font-style:italic;">No description yet</span>\';let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""");return hv(t).replace(/^### (.+)$/gm,\'<h3 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.05em;color:#cbd5e1;">$1</h3>\').replace(/^## (.+)$/gm,\'<h2 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.2em;color:#f1f5f9;">$1</h2>\').replace(/^# (.+)$/gm,\'<h1 style="font-weight:700;margin:0.8em 0 0.3em;font-size:1.4em;color:#f1f5f9;">$1</h1>\').replace(/[*][*]([^\\n]+?)[*][*]/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/__([^\\n]+?)__/g,\'<strong style="font-weight:700;color:#f1f5f9;">$1</strong>\').replace(/[*]([^\\n*]+?)[*]/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/(?<![a-zA-Z0-9])_([^_\\n]+?)_(?![a-zA-Z0-9])/g,\'<em style="font-style:italic;color:#94a3b8;">$1</em>\').replace(/`(.+?)`/g,\'<code style="font-family:Menlo,monospace;font-size:12px;background:#1e293b;padding:1px 5px;border-radius:3px;color:#7dd3fc;">$1</code>\').replace(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^)]+)\\)/g,\'<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;">$1</a>\').replace(/(^|[\\s(>])((https?:\\/\\/)[^\\s<>"\']+)/g,\'$1<a href="$2" target="_blank" rel="noopener noreferrer" style="color:#60a5fa;text-decoration:underline;word-break:break-all;">$2</a>\').replace(/(^|[^\\w])#([a-f0-9]{30})(?![a-f0-9])/gi,\'$1<a href="#task-$2" data-task-ref="$2" style="color:#60a5fa;text-decoration:underline;font-family:Menlo,monospace;">#$2</a>\').replace(/^[-*] (.+)$/gm,\'<li style="margin:0.2em 0;display:list-item;">$1</li>\').replace(/^---$/gm,\'<hr style="border:none;border-top:1px solid #334155;margin:0.8em 0;">\').replace(/(<li[^>]*>[\\s\\S]*?<\\/li>\\n?)+/g,r=>`<ul style="padding-left:1.5em;margin:0.4em 0;list-style-type:disc;">${r}</ul>`).replace(/^(?!<[a-z]|$).+$/gm,r=>`<p style="margin:0.5em 0;">${r}</p>`)}var xv="proto-comments-seen";function Ed(e,t){try{let a=localStorage.getItem(xv),r=a?JSON.parse(a):{};return t>(r[e]??0)}catch{return!1}}function Fd(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function Tt(e){try{return new Date(e).toLocaleString()}catch{return e}}var Bd=16,Ho=1000000n,Xs=BigInt("9".repeat(Bd));function Gt(e){return(e<0n?0n:e>Xs?Xs:e).toString().padStart(Bd,"0")}function Ks(e){let t=e.split(".")[0];return/^\\d+$/.test(t)?BigInt(t):Xs}function js(e){let t=e.indexOf(".");return t>=0?e.slice(t+1):null}function Ba(e,t){if(t===null){if(e===null)return Gt(Ho);let l=Ks(e);if(l<Xs-Ho)return Gt(l+Ho);let s=js(e)??"0".repeat(Bd);return Gt(l)+"."+Ba(s,null)}if(e===null){let l=Ks(t),s=js(t);return l>Ho?Gt(l-Ho):s!==null?Gt(l)+"."+Ba(null,s):l>0n?Gt(l/2n):Gt(0n)+".0"}let a=Ks(e),r=Ks(t),o=js(e),n=js(t);return r>a+1n?Gt((a+r)/2n):r===a+1n?Gt(a)+"."+Ba(o,null):o===null&&n===null?Gt(a)+"."+Gt(Ho):Gt(a)+"."+Ba(o,n)}function Wr(e,t){return e.sortKey&&t.sortKey?e.sortKey<t.sortKey?-1:e.sortKey>t.sortKey?1:0:e.sortKey?-1:t.sortKey?1:(e.updatedAt??e.createdAt??"").localeCompare(t.updatedAt??t.createdAt??"")}function Od(e,t,a,r){let o=new Map,n=null;for(let m of e)m.sortKey&&m.sortKey!=="n"&&(o.set(m.id,m.sortKey),n=m.sortKey);let l=[],s=e.filter(m=>!m.sortKey||m.sortKey==="n");if(s.length>0){let m=n;for(let g of s){let L=Ba(m,null);o.set(g.id,L),m=L,g.id!==t&&l.push({id:g.id,sortKey:L})}}let i=a?o.get(a)??null:null,d=r?o.get(r)??null:null;return{newSortKey:Ba(i,d),normalizationPatches:l}}var jt=E(Be(),1);var Ys=E(Be());var Km=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Qs=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Gn=E(Be());var jm={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Xm=(0,Gn.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:l,...s},i)=>(0,Gn.createElement)("svg",{ref:i,...jm,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Qs("lucide",o),...s},[...l.map(([d,f])=>(0,Gn.createElement)(d,f)),...Array.isArray(n)?n:[n]]));var Q=(e,t)=>{let a=(0,Ys.forwardRef)(({className:r,...o},n)=>(0,Ys.createElement)(Xm,{ref:n,iconNode:t,className:Qs(`lucide-${Km(e)}`,r),...o}));return a.displayName=`${e}`,a};var Kt=Q("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var ya=Q("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var Kn=Q("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var dr=Q("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var fr=Q("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);var $r=Q("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var jn=Q("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var qo=Q("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var Xn=Q("Flag",[["path",{d:"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",key:"i9b6wo"}],["line",{x1:"4",x2:"4",y1:"22",y2:"15",key:"1cm3nv"}]]);var Qn=Q("FolderTree",[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]]);var Yn=Q("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var Zn=Q("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);var Jn=Q("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);var el=Q("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var Vr=Q("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]);var cr=Q("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);var Gr=Q("Paperclip",[["path",{d:"M13.234 20.252 21 12.3",key:"1cbrk9"}],["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486",key:"1pkts6"}]]);var Kr=Q("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var tl=Q("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var jr=Q("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);var Xr=Q("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var al=Q("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var Qr=Q("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var _o=Q("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var rl=Q("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var pr=Q("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var Wo=Q("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var ol=Q("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var je=Q("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var mr=E(Be(),1),dg=E(_r(),1);var tg=E(j(),1),Jm={Bug:{background:"rgba(239,68,68,0.12)",color:"#f87171",border:"rgba(239,68,68,0.25)"},Research:{background:"rgba(192,132,252,0.12)",color:"#c084fc",border:"rgba(139,92,246,0.2)"},Task:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function eg({type:e,style:t}){let a=typeof e=="string"&&e.trim()&&e!=="[object Object]"&&Jm[e]?e:"Task",r=Jm[a];return(0,tg.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:r.background,color:r.color,border:`1px solid ${r.border}`,lineHeight:"1.5",...t},children:a})}var og=E(j(),1),ag={Critical:{background:"rgba(239,68,68,0.15)",color:"#f87171",border:"rgba(239,68,68,0.3)"},High:{background:"rgba(249,115,22,0.12)",color:"#fb923c",border:"rgba(249,115,22,0.25)"},Medium:{background:"rgba(234,179,8,0.12)",color:"#facc15",border:"rgba(234,179,8,0.25)"},Low:{background:"rgba(148,163,184,0.1)",color:"#94a3b8",border:"rgba(148,163,184,0.2)"}};function rg({priority:e,style:t}){if(!e||!ag[e])return null;let a=ag[e];return(0,og.jsx)("span",{style:{fontSize:9,fontWeight:700,letterSpacing:"0.04em",padding:"1px 5px",borderRadius:3,flexShrink:0,textTransform:"uppercase",background:a.background,color:a.color,border:`1px solid ${a.border}`,lineHeight:"1.5",...t},children:e})}var Yr=[{value:"Task",icon:"\\u2611",label:"Task",css:"type-task",tooltip:"A general task or feature to implement."},{value:"Bug",icon:"\\u{1F41E}",label:"Bug",css:"type-bug",tooltip:"A defect \\u2014 annotator collects page errors and console logs to help reproduce it."},{value:"Research",icon:"\\u{1F52C}",label:"Research",css:"type-research",tooltip:"A research task \\u2014 agent will NOT write code but must attach a findings report."}],wL=Yr.map(e=>e.value),lg=Object.fromEntries(Yr.map(e=>[e.value,e.icon])),kL=Object.fromEntries(Yr.map(e=>[e.value,e.css])),ng={Task:"#94a3b8",Bug:"#ef4444",Research:"#a855f7"};function nl(e){return ng[e??"Task"]??ng.Task}var sg=[{bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",text:"var(--p-blue-200)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-green) 14%, transparent)",text:"var(--p-green-300)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",text:"var(--p-purple-300)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",text:"var(--p-amber-300)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},{bg:"color-mix(in srgb, #f472b6 14%, transparent)",text:"#f9a8d4",border:"color-mix(in srgb, #f472b6 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-cyan) 14%, transparent)",text:"var(--p-cyan-300)",border:"color-mix(in srgb, var(--p-cyan) 30%, transparent)"},{bg:"color-mix(in srgb, #f87171 14%, transparent)",text:"#fca5a5",border:"color-mix(in srgb, #f87171 30%, transparent)"},{bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",text:"var(--p-text-m)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"}];function wv(e){let t=0;for(let a=0;a<e.length;a++)t=t*31+e.charCodeAt(a)>>>0;return t%sg.length}function ua(e){return sg[wv(e)]}var ll=E(j(),1);function sl({tags:e,onRemove:t,size:a="sm"}){if(!e.length)return null;let r=a==="xs"?"1px 6px":"2px 7px",o=a==="xs"?9:10;return(0,ll.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:3,alignItems:"center"},children:e.map(n=>{let{bg:l,text:s,border:i}=ua(n);return(0,ll.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,padding:r,borderRadius:100,background:l,border:`1px solid ${i}`,color:s,fontSize:o,fontWeight:600,whiteSpace:"nowrap"},children:[n,t&&(0,ll.jsx)("button",{type:"button",onClick:d=>{d.stopPropagation(),t(n)},style:{display:"flex",background:"none",border:"none",color:s,cursor:"pointer",padding:0,lineHeight:1,opacity:.7},onMouseEnter:d=>{d.currentTarget.style.opacity="1"},onMouseLeave:d=>{d.currentTarget.style.opacity="0.7"},children:"\\xD7"})]},n)})})}var ue=E(j(),1);function kv(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function fg(e,t){if(!/^#[0-9a-fA-F]{6}$/.test(e))return;let a=Math.max(0,Math.min(1,t)),r=Math.round(a*255).toString(16).padStart(2,"0");return`${e}${r}`}function cg(e,t){return fg(e,t==="Critical"?.36:t==="High"?.3:.24)??"color-mix(in srgb, var(--p-text-g) 40%, transparent)"}function bv(e){return fg(e,.05)??"transparent"}var Tv={padding:"7px 8px",gap:4,opacity:.45,userSelect:"none"},Pv={display:"flex",alignItems:"center",gap:5},Rv={width:12,height:12,color:"color-mix(in srgb, var(--p-green) 55%, transparent)",flexShrink:0},Mv={fontSize:11.5,fontWeight:600,color:"var(--p-text-g)",textDecoration:"line-through",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Av={display:"flex",alignItems:"center",gap:5,minWidth:0},ig={flexShrink:0},Dv={fontSize:11.5,fontWeight:600,color:"var(--p-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},Ev={display:"flex",alignItems:"flex-start",gap:8},Fv={fontSize:10,color:"var(--p-text-g)",lineHeight:"1.45",overflow:"hidden",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,flex:1,minWidth:0},Bv={position:"relative",flexShrink:0},Ov={width:52,height:34,borderRadius:6,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 90%, transparent)",display:"block",cursor:"pointer"},zv={display:"flex",alignItems:"center",gap:2,marginTop:1},Nv={flex:1},zd=mr.default.memo(function({task:t,col:a,liveActivity:r,onOpen:o,onDragStart:n,selectMode:l,selected:s,onToggleSelect:i,agentStatus:d,experimentalAgents:f,multiDragCount:m,onEnterSelectMode:g}){var B;let L=a.id==="in-progress",x=a.id==="done",[C,N]=mr.default.useState(!1),[p,u]=mr.default.useState(null),c=mr.default.useRef(null),y=mr.default.useRef(null),w=mr.default.useRef(!1),I=t.commentCount??0,v=t.fileCount??0,k=I>0&&Ed(t.id,I),U=cg(a.color,t.priority),H=nl(t.type),z=bv(H),q=(B=t.files)==null?void 0:B.find(V=>kv(V.name)),ae=q?`/api/tasks/${t.id}/files/${encodeURIComponent(q.name)}`:null;function fe(V){n(V,t.id),V.currentTarget.classList.add("dragging")}function Le(V){V.currentTarget.classList.remove("dragging")}function te(){l||(w.current=!1,y.current=setTimeout(()=>{w.current=!0,g==null||g(t.id)},300))}function Ce(){y.current&&(clearTimeout(y.current),y.current=null)}function we(){y.current&&(clearTimeout(y.current),y.current=null)}function xe(V){if(w.current){w.current=!1;return}if(l){V.stopPropagation(),i==null||i(t.id);return}o(t)}function W(V){V.stopPropagation(),i==null||i(t.id)}let D=f===!0&&d==="running"?"1px solid rgba(59,130,246,0.5)":f===!0&&d==="queued"?"1px solid color-mix(in srgb, var(--p-amber) 45%, transparent)":f===!0&&d==="done"?"1px solid color-mix(in srgb, var(--p-green) 40%, transparent)":void 0,b=f===!0&&d==="running"?"color-mix(in srgb, var(--p-blue) 6%, var(--p-card))":f===!0&&d==="queued"?"color-mix(in srgb, var(--p-amber) 5%, var(--p-card))":f===!0&&d==="done"?"color-mix(in srgb, var(--p-green) 5%, var(--p-card))":void 0;return x?(0,ue.jsx)("article",{className:"task-card",draggable:!0,"data-task-id":t.id,style:{...Tv,...l&&s?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:fe,onDragEnd:Le,onMouseDown:te,onMouseUp:Ce,onMouseLeave:we,onClick:xe,children:(0,ue.jsxs)("div",{style:Pv,children:[l&&(0,ue.jsx)("span",{onClick:W,style:{width:12,height:12,borderRadius:3,border:s?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:s?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center"},children:s&&(0,ue.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),(0,ue.jsx)(dr,{style:Rv}),(0,ue.jsx)("span",{style:Mv,children:t.title}),m!=null&&(0,ue.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",m-1]})]})}):(0,ue.jsxs)("article",{className:`task-card${r?" task-live-edit":""}`,draggable:!0,"data-task-id":t.id,style:{padding:"7px 8px",gap:4,userSelect:"none",background:r?"rgba(59,130,246,0.08)":b??z,border:D??(r?"1px solid rgba(59,130,246,0.5)":U?`1px solid ${U}`:void 0),...r?{boxShadow:"0 0 0 2px rgba(59,130,246,0.14)"}:{},...l&&s?{borderColor:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 10%, var(--p-card))"}:{}},onDragStart:fe,onDragEnd:Le,onMouseDown:te,onMouseUp:Ce,onMouseLeave:we,onClick:xe,children:[(0,ue.jsxs)("div",{style:Av,children:[l&&(0,ue.jsx)("span",{onClick:W,style:{width:14,height:14,borderRadius:3,border:s?"1px solid var(--p-blue)":"1px solid var(--p-border-s)",background:s?"var(--p-blue)":"var(--p-input)",flexShrink:0,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",marginRight:2},children:s&&(0,ue.jsx)("span",{style:{color:"#fff",fontSize:9,fontWeight:700},children:"\\u2713"})}),L&&(0,ue.jsx)("span",{className:"spinner",style:ig}),f===!0&&d==="running"&&!L&&(0,ue.jsx)("span",{className:"spinner",style:ig}),(0,ue.jsx)("span",{style:Dv,children:t.title}),m!=null&&(0,ue.jsxs)("span",{style:{fontSize:9,fontWeight:700,padding:"1px 5px",borderRadius:4,background:"var(--p-blue)",color:"#fff",flexShrink:0,marginLeft:4},children:["+",m-1]})]}),(t.description||ae)&&(0,ue.jsxs)("div",{style:Ev,children:[t.description&&(0,ue.jsx)("div",{style:Fv,children:t.description}),ae&&(0,ue.jsxs)("div",{style:Bv,onMouseEnter:()=>{if(c.current){let V=c.current.getBoundingClientRect();u({top:V.top,right:V.right})}N(!0)},onMouseLeave:()=>{N(!1),u(null)},children:[(0,ue.jsx)("img",{ref:c,src:ae,alt:"Task screenshot","data-role":"task-thumb",style:Ov}),C&&p&&dg.default.createPortal((0,ue.jsx)("img",{src:ae,alt:"Task screenshot enlarged preview","data-role":"task-thumb-preview",style:{position:"fixed",right:window.innerWidth-p.right,bottom:window.innerHeight-p.top+8,width:220,height:138,borderRadius:8,objectFit:"cover",border:"1px solid color-mix(in srgb, var(--p-border) 96%, transparent)",boxShadow:"0 10px 24px color-mix(in srgb, var(--p-bg) 75%, transparent)",pointerEvents:"none",zIndex:9999,background:"var(--p-bg)"}}),document.body)]})]}),(0,ue.jsxs)("div",{className:"flex items-center",style:zv,children:[(0,ue.jsx)(eg,{type:t.type}),t.priority&&(0,ue.jsx)(rg,{priority:t.priority}),f===!0&&d==="running"&&(0,ue.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:[(0,ue.jsx)("span",{className:"spinner",style:{width:8,height:8,borderWidth:1.5}}),"Agent"]}),f===!0&&d==="queued"&&(0,ue.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(245,158,11,0.12)",color:"var(--p-amber)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u23F3 Queued"}),f===!0&&d==="done"&&(0,ue.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:3,fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(34,197,94,0.12)",color:"var(--p-green)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:90},children:"\\u2713 Done"}),L&&t.assigneeName&&(0,ue.jsx)("span",{style:{fontSize:10,fontWeight:600,padding:"1px 6px",borderRadius:6,background:"rgba(59,130,246,0.12)",color:"#60a5fa",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:80},children:t.assigneeName}),t.tags&&t.tags.length>0&&(0,ue.jsx)(sl,{tags:t.tags,size:"xs"}),(0,ue.jsx)("div",{style:Nv}),r&&(0,ue.jsx)(Nd,{activity:r}),(0,ue.jsx)(ug,{icon:(0,ue.jsx)(Vr,{style:{width:9,height:9}}),label:I>0?String(I):"",color:k?"var(--p-purple)":I>0?"var(--p-text-m)":"var(--p-border-t)",hoverColor:k?"var(--p-purple-300)":"var(--p-text)",title:I>0?`${I} comment(s)`:"Add comment",badge:k,badgeColor:"var(--p-purple)",onClick:V=>{V.stopPropagation(),o(t,"comments")}}),(0,ue.jsx)(ug,{icon:(0,ue.jsx)(Gr,{style:{width:9,height:9}}),label:v>0?String(v):"",color:v>0?"var(--p-blue-300)":"var(--p-border-t)",hoverColor:v>0?"var(--p-cyan-300)":"var(--p-text-sub)",title:v>0?`${v} file(s) attached`:"Files",onClick:V=>{V.stopPropagation(),o(t,"files")}})]})]})});function ug({icon:e,label:t,color:a,hoverColor:r,title:o,badge:n,badgeColor:l,onClick:s}){let[i,d]=mr.default.useState(!1);return(0,ue.jsxs)("button",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 3px",borderRadius:3,border:"none",background:i?"color-mix(in srgb, var(--p-text-m) 10%, transparent)":"transparent",cursor:"pointer",fontSize:9,color:i?r:a,transition:"color .1s, background .1s"},title:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onClick:s,children:[e,t&&(0,ue.jsx)("span",{children:t}),n&&(0,ue.jsx)("span",{style:{width:4,height:4,background:l??a,borderRadius:"50%",flexShrink:0}})]})}function Nd({activity:e}){let t=e.state==="locked"||e.state==="editing",a=t?(0,ue.jsx)(el,{style:{width:8,height:8}}):(0,ue.jsx)(jn,{style:{width:8,height:8}}),r=t?`Locked by ${e.user}`:`${e.user} viewing`;return(0,ue.jsxs)("span",{style:t?{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"}:{display:"inline-flex",alignItems:"center",gap:3,borderRadius:999,padding:"1px 5px",fontSize:9,fontWeight:600,border:"1px solid rgba(59,130,246,0.35)",color:"#93c5fd",background:"rgba(30,58,138,0.28)",flexShrink:0,maxWidth:110,overflow:"hidden",whiteSpace:"nowrap",flexWrap:"nowrap"},title:r,"data-testid":"live-activity-badge",children:[a,(0,ue.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",minWidth:0,flex:"1 1 0"},children:e.user})]})}var ce=E(j(),1),gr=[{id:"backlog",label:"Backlog",color:"var(--p-text-f)",accent:"color-mix(in srgb, var(--p-text-g) 20%, transparent)"},{id:"todo",label:"Todo",color:"var(--p-amber)",accent:"color-mix(in srgb, var(--p-amber) 12%, transparent)"},{id:"in-progress",label:"In Progress",color:"var(--p-blue)",accent:"color-mix(in srgb, var(--p-blue) 12%, transparent)",glow:!0},{id:"review",label:"Review",color:"var(--p-purple)",accent:"color-mix(in srgb, var(--p-purple) 12%, transparent)"},{id:"done",label:"Done",color:"var(--p-green)",accent:"color-mix(in srgb, var(--p-green) 10%, transparent)"}];var Uv=3;function Hv(){return(0,ce.jsxs)("div",{style:{borderRadius:8,border:"1px solid var(--p-border-t)",padding:"10px 12px",background:"var(--p-bg-2)",marginBottom:6,animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,ce.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"75%",marginBottom:8}}),(0,ce.jsx)("div",{style:{height:10,borderRadius:4,background:"var(--p-border-s)",width:"50%",marginBottom:8}}),(0,ce.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,ce.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:48}}),(0,ce.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})]})}function Ud({tasks:e,visibleCols:t,searchQuery:a,isLoading:r,liveActivities:o,onOpenPanel:n,onDrop:l,onReorder:s,selectMode:i,selectedTaskIds:d,onToggleSelect:f,onEnterSelectMode:m,agentStatuses:g,onRunSelectedAgents:L,onExitSelectMode:x,experimentalAgents:C}){let N=jt.default.useRef(null),p=jt.default.useRef(null),[u,c]=jt.default.useState(null),[y,w]=jt.default.useState(null),[I,v]=jt.default.useState(null),k=jt.default.useRef(null),U=jt.default.useRef(null),[H,z]=jt.default.useState([]),q=jt.default.useRef([]),ae=a?e.filter(D=>(D.title??"").toLowerCase().includes(a.toLowerCase())||(D.description??"").toLowerCase().includes(a.toLowerCase())):e,fe=gr.filter(D=>t.includes(D.id));jt.default.useEffect(()=>{let D=N.current,b=p.current;if(!D||!b)return;function B(){if(!D||!b)return;let Pe=D.scrollWidth>D.clientWidth?D.clientWidth/D.scrollWidth:1,be=Math.max(40,D.clientWidth*Pe);b.style.width=`${be}px`;let Ge=D.scrollWidth-D.clientWidth,ve=D.clientWidth-be;b.style.left=`${Ge>0?D.scrollLeft/Ge*ve:0}px`,b.style.opacity=Pe<1?"1":"0"}D.addEventListener("scroll",B);let V=new ResizeObserver(B);V.observe(D),B();let ke=!1,qe=0,Qe=0;function Fe(Pe){ke=!0,qe=Pe.clientX,Qe=D.scrollLeft,b.classList.add("dragging"),document.addEventListener("mousemove",Me),document.addEventListener("mouseup",ut)}function Me(Pe){if(!ke||!D||!b)return;let be=D.scrollWidth>D.clientWidth?D.scrollWidth/D.clientWidth:1;D.scrollLeft=Qe+(Pe.clientX-qe)*be}function ut(){ke=!1,b==null||b.classList.remove("dragging"),document.removeEventListener("mousemove",Me),document.removeEventListener("mouseup",ut)}return b.addEventListener("mousedown",Fe),()=>{D.removeEventListener("scroll",B),V.disconnect(),b.removeEventListener("mousedown",Fe)}},[fe.length]);function Le(D,b){if(k.current=b,c(b),D.dataTransfer.effectAllowed="move",i&&(d!=null&&d.has(b))&&(d.size??0)>1){let B=Array.from(d);q.current=B,z(B)}else q.current=[],z([])}function te(D,b){D.preventDefault(),w(b)}function Ce(D,b){D.preventDefault(),D.stopPropagation();let B=D.currentTarget.getBoundingClientRect(),V=D.clientY<B.top+B.height/2?"before":"after",ke={taskId:b,position:V};U.current=ke,v(qe=>(qe==null?void 0:qe.taskId)===b&&qe.position===V?qe:ke)}function we(D,b,B){D.preventDefault(),w(null);let V=U.current;U.current=null,v(null);let ke=k.current;k.current=null,c(null);let qe=q.current;if(q.current=[],z([]),!!ke){if(qe.length>1&&s){let Qe=qe.map(ve=>e.find(Ae=>Ae.id===ve)).filter(Boolean).sort(Wr).map(ve=>ve.id),Me=e.filter(ve=>ve.status===b).sort(Wr).filter(ve=>!qe.includes(ve.id)),ut;if(V){let ve=Me.findIndex(Ae=>Ae.id===V.taskId);ut=V.position==="before"?ve:ve+1}else ut=Me.length;let Pe=Qe.map(ve=>e.find(Ae=>Ae.id===ve)),be=[...Me.slice(0,ut),...Pe,...Me.slice(ut)],Ge=new Map;for(let ve of be)Ge.set(ve.id,ve.sortKey??null);for(let ve=0;ve<be.length;ve++){let Ae=be[ve];if(!qe.includes(Ae.id))continue;let tt=ve>0?be[ve-1].id:null,Ot=ve<be.length-1?be[ve+1].id:null,zt=tt?Ge.get(tt)??null:null,Yt=Ot?Ge.get(Ot)??null:null,Pt=Ba(zt,Yt);Ge.set(Ae.id,Pt),s(Ae.id,b,tt,Ot,Pt)}return}if(s&&V){let Qe=B.findIndex(ut=>ut.id===V.taskId),Fe=null,Me=null;V.position==="before"?(Me=V.taskId,Fe=Qe>0?B[Qe-1].id:null):(Fe=V.taskId,Me=Qe<B.length-1?B[Qe+1].id:null),s(ke,b,Fe,Me)}else l(ke,b)}}function xe(){k.current=null,c(null),w(null),U.current=null,v(null),q.current=[],z([])}let W=(d==null?void 0:d.size)??0;return(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsx)("main",{id:"kanban-board",ref:N,className:"flex-1 flex overflow-x-auto overflow-y-hidden",style:{padding:"16px 20px",gap:16},onDragEnd:xe,children:fe.map(D=>{let b=r?[]:ae.filter(V=>V.status===D.id).sort(Wr),B=D.id==="done"?[...b].reverse():b;return(0,ce.jsx)(qv,{col:D,tasks:B,isLoading:r,liveActivities:o,isDragOver:y===D.id&&!I,onDragOver:V=>te(V,D.id),onDrop:V=>we(V,D.id,b),onDragLeave:V=>{let ke=V.relatedTarget;ke&&V.currentTarget.contains(ke)||(w(null),U.current=null,v(null))},onStatusChange:(V,ke)=>l(V,ke),onAddTask:()=>n(null,"details",D.id),onOpenTask:n,onDragStart:Le,onCardDragOver:Ce,cardDropTarget:I,selectMode:i,selectedTaskIds:d,onToggleSelect:f,onEnterSelectMode:m,agentStatuses:C===!0?g:void 0,experimentalAgents:C,multiDragIds:H},D.id)})}),C===!0&&i&&W>0&&(0,ce.jsxs)("div",{style:{position:"fixed",bottom:14,left:"50%",transform:"translateX(-50%)",zIndex:45,display:"flex",alignItems:"center",gap:10,background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:10,padding:"8px 14px",boxShadow:"0 -4px 24px rgba(0,0,0,0.4)"},children:[(0,ce.jsxs)("span",{style:{fontSize:12,color:"var(--p-text-m)",fontWeight:500},children:[(0,ce.jsx)("strong",{style:{color:"var(--p-text)"},children:W})," task",W!==1?"s":""," selected"]}),(0,ce.jsx)("div",{style:{width:1,height:16,background:"var(--p-border)"}}),(0,ce.jsxs)("button",{onClick:()=>L==null?void 0:L(Array.from(d)),style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:"var(--p-purple)",color:"#fff",fontSize:11,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:D=>{D.currentTarget.style.background="#9333ea"},onMouseLeave:D=>{D.currentTarget.style.background="var(--p-purple)"},children:[(0,ce.jsx)(Kr,{style:{width:10,height:10}}),"Run Agents (",W,")"]}),(0,ce.jsxs)("button",{onClick:x,style:{display:"inline-flex",alignItems:"center",gap:5,padding:"5px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-m)",fontSize:11,cursor:"pointer",transition:"all .12s"},onMouseEnter:D=>{D.currentTarget.style.borderColor="var(--p-border-s)",D.currentTarget.style.color="var(--p-text)"},onMouseLeave:D=>{D.currentTarget.style.borderColor="var(--p-border)",D.currentTarget.style.color="var(--p-text-m)"},children:[(0,ce.jsx)(je,{style:{width:10,height:10}}),"Clear"]})]}),(0,ce.jsx)("div",{id:"kanban-scroll-track",style:{position:"fixed",bottom:0,left:0,right:0,height:6,background:"transparent",zIndex:40,pointerEvents:"none"},children:(0,ce.jsx)("div",{id:"kanban-scroll-thumb",ref:p,style:{position:"absolute",top:1,height:4,borderRadius:2,background:"var(--p-border-t)",cursor:"pointer",pointerEvents:"auto",transition:"background 0.15s",opacity:0},onMouseEnter:D=>{D.currentTarget.style.background="var(--p-text-g)"},onMouseLeave:D=>{D.currentTarget.classList.contains("dragging")||(D.currentTarget.style.background="var(--p-border-t)")}})})]})}function qv({col:e,tasks:t,isLoading:a,liveActivities:r,isDragOver:o,onDragOver:n,onDrop:l,onDragLeave:s,onStatusChange:i,onAddTask:d,onOpenTask:f,onDragStart:m,onCardDragOver:g,cardDropTarget:L,selectMode:x,selectedTaskIds:C,onToggleSelect:N,onEnterSelectMode:p,agentStatuses:u,experimentalAgents:c,multiDragIds:y}){let[w,I]=jt.default.useState(!1),v=e.id==="in-progress"?"sd-inprogress":`sd-${e.id}`,k=20,U=e.id==="done",H=U&&t.length>k?t.length-k:0,z=U?t.slice(0,k):t;return(0,ce.jsxs)("section",{className:"board-column","data-column-id":e.id,style:{outline:o?`2px dashed ${e.color}66`:void 0,outlineOffset:-2,borderRadius:8},onDragOver:n,onDragLeave:s,onDrop:l,children:[(0,ce.jsxs)("div",{className:"column-header",style:{background:e.accent,borderColor:`color-mix(in srgb, ${e.color} 30%, transparent)`},children:[(0,ce.jsx)("div",{className:`status-dot ${v}`}),(0,ce.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:e.id==="done"?`${e.color}b3`:e.color},children:[e.label,a?"":` \\xB7 ${t.length}`]}),(0,ce.jsx)("span",{style:{marginLeft:"auto"}}),(0,ce.jsx)("button",{type:"button",title:`Add task to ${e.label}`,style:{width:20,height:20,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"none",background:"transparent",color:w?e.color:"var(--p-text-g)",cursor:"pointer",transition:"color .15s",padding:0},onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1),onClick:d,children:(0,ce.jsx)(tl,{style:{width:14,height:14}})})]}),(0,ce.jsx)("div",{className:"column-scroll","data-status":e.id,children:a?Array.from({length:Uv}).map((q,ae)=>(0,ce.jsx)(Hv,{},ae)):t.length===0?(0,ce.jsxs)("div",{style:{border:"1px dashed var(--p-border-t)",borderRadius:8,padding:"10px 8px",fontSize:11,color:"var(--p-text-f)",textAlign:"center"},children:["No tasks in ",e.label.toLowerCase(),"."]}):(0,ce.jsxs)(ce.Fragment,{children:[z.map(q=>(0,ce.jsxs)("div",{style:{position:"relative"},onDragOver:ae=>g(ae,q.id),children:[(L==null?void 0:L.taskId)===q.id&&L.position==="before"&&(0,ce.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}}),(0,ce.jsx)(zd,{task:q,col:e,liveActivity:r==null?void 0:r.get(q.id),onOpen:f,onDragStart:m,selectMode:x,selected:C==null?void 0:C.has(q.id),onToggleSelect:N,onEnterSelectMode:p,agentStatus:u==null?void 0:u.get(q.id),experimentalAgents:c,multiDragCount:y&&y.length>1&&y[0]===q.id?y.length:void 0}),(L==null?void 0:L.taskId)===q.id&&L.position==="after"&&(0,ce.jsx)("div",{style:{height:2,borderRadius:1,background:e.color,margin:"2px 0"}})]},q.id)),H>0&&(0,ce.jsxs)("div",{style:{margin:"4px 0 2px",padding:"6px 8px",borderRadius:6,border:"1px dashed var(--p-border-t)",fontSize:11,color:"var(--p-text-g)",textAlign:"center",lineHeight:1.4},children:["+",H," older ",H===1?"task":"tasks"," not shown"]})]})})]})}var Zr=E(Be(),1);var pe=E(j(),1),pg={backlog:{text:"var(--p-text-m)",bg:"color-mix(in srgb, var(--p-text-g) 14%, transparent)",border:"color-mix(in srgb, var(--p-text-g) 30%, transparent)"},todo:{text:"var(--p-amber-300)",bg:"color-mix(in srgb, var(--p-amber) 14%, transparent)",border:"color-mix(in srgb, var(--p-amber) 30%, transparent)"},"in-progress":{text:"var(--p-blue-200)",bg:"color-mix(in srgb, var(--p-blue) 14%, transparent)",border:"color-mix(in srgb, var(--p-blue) 30%, transparent)"},review:{text:"var(--p-purple-300)",bg:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"color-mix(in srgb, var(--p-purple) 30%, transparent)"},done:{text:"var(--p-green-300)",bg:"color-mix(in srgb, var(--p-green) 12%, transparent)",border:"color-mix(in srgb, var(--p-green) 30%, transparent)"}},_v=lg,mg={Critical:"var(--p-red)",High:"var(--p-amber-300)",Medium:"var(--p-text-m)",Low:"var(--p-text-f)"},Hd=["in-progress","review","todo","backlog","done"];function Wv(){return(0,pe.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,border:"1px solid var(--p-border-t)",background:"var(--p-bg-2)",animation:"skeleton-pulse 1.5s ease-in-out infinite"},children:[(0,pe.jsx)("div",{style:{width:14,height:14,borderRadius:3,background:"var(--p-border-s)"}}),(0,pe.jsx)("div",{style:{height:12,borderRadius:4,background:"var(--p-border-s)",width:"60%"}}),(0,pe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:44}}),(0,pe.jsx)("div",{style:{height:18,borderRadius:10,background:"var(--p-border-s)",width:36}})]})}function qd({tasks:e,searchQuery:t,isLoading:a,liveActivities:r,onOpenPanel:o,onAddTask:n,onDrop:l,experimentalAgents:s}){let[i,d]=Zr.default.useState(null),[f,m]=Zr.default.useState(null),[g,L]=Zr.default.useState(null),[x,C]=Zr.default.useState({backlog:!1,todo:!1,"in-progress":!1,review:!1,done:!1}),N=t?e.filter(u=>(u.title??"").toLowerCase().includes(t.toLowerCase())||(u.description??"").toLowerCase().includes(t.toLowerCase())):e,p=Zr.default.useMemo(()=>{let u=new Map;for(let c of Hd)u.set(c,[]);for(let c of N)(u.get(c.status)??[]).push(c);return u},[N]);return(0,pe.jsxs)("div",{id:"kanban-list-view",style:{flex:1,overflowY:"auto",padding:"16px 24px",minHeight:0},children:[a?Hd.slice(0,3).map(u=>{let c=pg[u];return(0,pe.jsxs)("div",{style:{marginBottom:24},children:[(0,pe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,pe.jsx)("div",{style:{width:18,height:18,borderRadius:5,background:"var(--p-border-s)",animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,pe.jsx)("div",{style:{height:18,borderRadius:6,background:c.bg,border:`1px solid ${c.border}`,width:72,animation:"skeleton-pulse 1.5s ease-in-out infinite"}}),(0,pe.jsx)("div",{style:{height:14,borderRadius:4,background:"var(--p-border-s)",width:16,animation:"skeleton-pulse 1.5s ease-in-out infinite"}})]}),(0,pe.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:3}).map((y,w)=>(0,pe.jsx)(Wv,{},w))})]},u)}):Hd.map(u=>{let c=p.get(u)??[];if(c.length===0)return null;let y=pg[u];return(0,pe.jsxs)("div",{style:{marginBottom:24},children:[(0,pe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8,padding:"4px 6px",borderRadius:6,transition:"background .1s",background:f===u?y.bg:"transparent",outline:f===u?`1px dashed ${y.border}`:void 0},onDragOver:w=>{w.preventDefault(),m(u)},onDragLeave:()=>m(null),onDrop:w=>{w.preventDefault(),m(null),L(null),i&&l(i,u),d(null)},children:[(0,pe.jsx)("button",{type:"button",title:x[u]?"Expand":"Collapse",onClick:w=>{w.stopPropagation(),C(I=>({...I,[u]:!I[u]}))},style:{width:18,height:18,borderRadius:5,border:"1px solid var(--p-border-t)",background:"var(--p-surface)",color:"var(--p-text-m)",fontSize:10,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:x[u]?"+":"\\u2212"}),(0,pe.jsx)("span",{style:{fontSize:11,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.05em",padding:"2px 8px",borderRadius:6,background:y.bg,border:`1px solid ${y.border}`,color:y.text},children:u}),(0,pe.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:c.length}),(0,pe.jsx)("button",{type:"button",title:`Add task to ${u}`,onClick:w=>{w.stopPropagation(),n(u)},style:{marginLeft:"auto",width:22,height:22,borderRadius:7,border:`1px solid ${y.border}`,background:y.bg,color:y.text,cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:14,fontWeight:600},children:"+"})]}),(0,pe.jsx)("div",{style:{display:x[u]?"none":"flex",flexDirection:"column",gap:2},children:c.map(w=>(0,pe.jsx)($v,{task:w,liveActivity:r==null?void 0:r.get(w.id),onOpen:o,onDragStart:I=>d(I),dragOver:g===w.id,onDragOver:()=>L(w.id),onDragLeave:()=>L(I=>I===w.id?null:I),onDropToStatus:()=>{i&&l(i,w.status),d(null),L(null)},experimentalAgents:s},w.id))})]},u)}),!a&&N.length===0&&(0,pe.jsx)("div",{style:{textAlign:"center",color:"var(--p-text-g)",fontSize:13,marginTop:60},children:"No tasks found"})]})}function $v({task:e,liveActivity:t,onOpen:a,onDragStart:r,dragOver:o,onDragOver:n,onDragLeave:l,onDropToStatus:s,experimentalAgents:i}){let[d,f]=Zr.default.useState(!1),m=_v[e.type??"Task"]??"\\u2611",g=e.commentCount??0,L=e.fileCount??0;return(0,pe.jsxs)("div",{"data-task-id":e.id,"data-proto-id":"list-row",draggable:!0,style:{display:"grid",gridTemplateColumns:"18px 1fr auto auto auto",alignItems:"center",gap:10,padding:"6px 10px",borderRadius:8,background:o?"color-mix(in srgb, var(--p-blue) 10%, transparent)":d?"var(--p-hover)":"transparent",border:`1px solid ${o?"color-mix(in srgb, var(--p-blue) 40%, transparent)":d?"var(--p-border)":"transparent"}`,cursor:"grab",transition:"background .1s,border-color .1s",userSelect:"none"},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),onClick:()=>a(e),onDragStart:x=>{x.dataTransfer.effectAllowed="move",r(e.id),x.currentTarget.style.opacity="0.4"},onDragEnd:x=>{x.currentTarget.style.opacity="1"},onDragOver:x=>{x.preventDefault(),n()},onDragLeave:l,onDrop:x=>{x.preventDefault(),s()},children:[(0,pe.jsx)("span",{style:{fontSize:12,textAlign:"center",flexShrink:0},children:m}),(0,pe.jsxs)("div",{style:{minWidth:0},children:[(0,pe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,pe.jsx)("span",{style:{fontSize:13,fontWeight:500,color:"var(--p-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.title}),e.priority&&mg[e.priority]&&(0,pe.jsx)(Xn,{className:"w-2.5 h-2.5 flex-shrink-0",style:{color:mg[e.priority]}}),e.component&&(0,pe.jsx)("span",{style:{fontSize:10,padding:"1px 6px",borderRadius:10,background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",color:"var(--p-purple-300)",flexShrink:0,fontFamily:"monospace"},children:e.component})]}),e.description&&(0,pe.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginTop:1,maxWidth:"100%"},children:e.description.replace(/\\s+/g," ").trim()})]}),(0,pe.jsxs)("button",{title:g>0?`${g} comment(s)`:"Add comment",style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:g>0?"var(--p-text-m)":"var(--p-border-t)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:x=>{x.stopPropagation(),a(e,"comments")},children:[(0,pe.jsx)(Vr,{className:"w-3 h-3"}),g>0&&(0,pe.jsx)("span",{children:g})]}),L>0&&(0,pe.jsxs)("button",{title:`${L} file(s)`,style:{display:"flex",alignItems:"center",gap:3,fontSize:11,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:"0 2px",flexShrink:0},onClick:x=>{x.stopPropagation(),a(e,"files")},children:[(0,pe.jsx)(Gr,{className:"w-3 h-3"}),(0,pe.jsx)("span",{children:L})]}),t&&(0,pe.jsx)(Nd,{activity:t})]})}var $o=E(Be(),1);var hr=E(j(),1);function gg({size:e=32,style:t,className:a}){return(0,hr.jsxs)("svg",{width:e,height:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,className:a,"aria-label":"Vibeflow",children:[(0,hr.jsx)("rect",{width:"32",height:"32",rx:"7",fill:"#2563eb"}),(0,hr.jsx)("rect",{x:"7",y:"13",width:"3.5",height:"10",rx:"1.5",fill:"white",opacity:"0.75"}),(0,hr.jsx)("rect",{x:"12.25",y:"8.5",width:"3.5",height:"15",rx:"1.5",fill:"white"}),(0,hr.jsx)("rect",{x:"17.5",y:"14.5",width:"3.5",height:"8",rx:"1.5",fill:"white",opacity:"0.75"}),(0,hr.jsx)("rect",{x:"22.5",y:"11",width:"2.5",height:"11",rx:"1.25",fill:"white",opacity:"0.85"})]})}var Js=E(j(),1);function il({id:e,title:t,onClick:a,label:r,icon:o,variant:n="neutral"}){return(0,Js.jsxs)("button",{id:e,onClick:a,title:t,className:`h-7 inline-flex items-center justify-center rounded-lg border transition-colors ${n==="accent"?"border-violet-700/50 bg-violet-900/30 text-violet-300 hover:bg-violet-800/30":"border-slate-700/60 bg-slate-800 text-slate-400 hover:bg-slate-700/50 hover:text-slate-200"} ${r?"gap-1.5 px-3 text-xs font-medium":"w-7"}`,type:"button",children:[o,r&&(0,Js.jsx)("span",{children:r})]})}var X=E(j(),1);function _d({projectName:e,projectIcon:t,missingProjectIconStyle:a="initial",wsConnected:r,port:o,searchQuery:n,premiumUsage:l,isLoading:s,filterTags:i,allTags:d,onToggleTag:f,backHref:m,backLabel:g,onSearchChange:L,onSettings:x,extraActions:C,taskSummary:N,agentRuns:p,selectMode:u,selectedCount:c,agentQueueCount:y,onOpenAgentQueue:w,experimentalAgents:I}){let[v,k]=$o.default.useState(!1),[U,H]=$o.default.useState(0),z=$o.default.useRef(null),q=$o.default.useRef(null),ae=n.match(/(?:^|\\s)#(\\S*)$/),fe=ae?ae[1]:null,Le=i??[],te=(d??[]).filter(B=>!Le.includes(B)),Ce=fe!==null?te.filter(B=>B.toLowerCase().includes(fe.toLowerCase())):[];$o.default.useEffect(()=>{H(0)},[Ce.length]);function we(B){var ke;let V=n.replace(/\\s*#\\S*$/,"");L(V),f==null||f(B),(ke=z.current)==null||ke.focus()}function xe(B){if(B.key==="Backspace"&&n===""&&Le.length>0){B.preventDefault(),f==null||f(Le[Le.length-1]);return}if(!(fe===null||Ce.length===0)){if(B.key==="ArrowDown")B.preventDefault(),H(V=>Math.min(V+1,Ce.length-1));else if(B.key==="ArrowUp")B.preventDefault(),H(V=>Math.max(V-1,0));else if(B.key==="Enter")B.preventDefault(),Ce[U]&&we(Ce[U]);else if(B.key==="Escape"){let V=n.replace(/\\s*#\\S*$/,"");L(V)}}}let W=(t??"").trim(),D=e?e.charAt(0).toUpperCase()+e.slice(1):"Vibeflow Board",b=n||Le.length>0;return(0,X.jsxs)("header",{className:"px-5 py-3 flex items-center gap-3 border-b border-slate-800/60 flex-shrink-0",children:[(0,X.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[m&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)("a",{id:"header-back-link",href:m,className:"text-xs text-slate-400 hover:text-slate-200 transition-colors no-underline",style:{textDecoration:"none",fontWeight:500},children:g??"Back"}),(0,X.jsx)(Kn,{className:"w-3 h-3 text-slate-600 flex-shrink-0"})]}),(0,X.jsx)("div",{className:"flex-shrink-0",style:{width:32,height:32,display:"flex",alignItems:"center",justifyContent:"center",...W?{fontSize:20}:void 0},children:W||(a==="vibeflow"?(0,X.jsx)(gg,{size:32}):(0,X.jsx)("div",{style:{width:32,height:32,borderRadius:8,flexShrink:0,background:"linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%)",border:"1px solid rgba(37,99,235,0.3)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:13,fontWeight:700,color:"#93c5fd",letterSpacing:"-0.01em"},title:D,children:D.charAt(0).toUpperCase()}))}),(0,X.jsxs)("div",{children:[(0,X.jsxs)("div",{className:"flex items-center gap-2",children:[(0,X.jsx)("h1",{id:"header-project-name",className:"text-sm font-semibold text-white leading-tight",children:D}),r&&(0,X.jsxs)("div",{id:"header-live-pill",className:"flex items-center gap-1.5 rounded-full px-2 py-0.5",style:{background:"color-mix(in srgb, var(--p-green) 30%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 28%, transparent)"},children:[(0,X.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-green-400",style:{animation:"pulse-live 2s ease-in-out infinite"}}),(0,X.jsxs)("span",{className:"text-[10px] font-medium text-green-400",children:["live \\xB7 :",o]})]})]}),(0,X.jsxs)("p",{className:"text-[10px] text-slate-500 font-mono mt-0.5",children:[N,s&&(0,X.jsx)("span",{id:"header-loading-indicator",className:"inline-block ml-1.5 w-1 h-1 rounded-full bg-blue-400",style:{animation:"pulse-live 1.4s ease-in-out infinite",verticalAlign:"middle"}})]})]})]}),(0,X.jsx)("div",{className:"flex-1 flex justify-center px-4",children:(0,X.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,X.jsxs)("div",{className:"flex flex-wrap items-center gap-1 w-full min-h-[30px] rounded-lg bg-slate-800 border border-slate-700/60 px-2 py-1 cursor-text transition-colors focus-within:border-blue-500",onClick:()=>{var B;return(B=z.current)==null?void 0:B.focus()},children:[(0,X.jsx)(jr,{className:"w-3.5 h-3.5 text-slate-500 flex-shrink-0 mr-0.5"}),Le.map(B=>{let{bg:V,text:ke,border:qe}=ua(B);return(0,X.jsxs)("span",{style:{background:V,color:ke,border:`1px solid ${qe}`,display:"inline-flex",alignItems:"center",gap:3,padding:"1px 7px",borderRadius:100,fontSize:11,fontWeight:500,whiteSpace:"nowrap"},children:[B,(0,X.jsx)("button",{onClick:Qe=>{Qe.stopPropagation(),f==null||f(B)},style:{background:"none",border:"none",cursor:"pointer",padding:0,lineHeight:1,color:"inherit",opacity:.7,display:"flex"},children:(0,X.jsx)(je,{style:{width:9,height:9}})})]},B)}),(0,X.jsx)("input",{ref:z,id:"global-search",type:"text",placeholder:Le.length===0?"Search\\u2026 or type #tag":"#tag or search\\u2026",value:n,onChange:B=>L(B.target.value),onKeyDown:xe,className:"flex-1 min-w-[100px] bg-transparent border-none outline-none text-xs text-slate-200 placeholder-slate-500",autoComplete:"off",spellCheck:!1}),b&&(0,X.jsx)("button",{id:"global-search-clear",onClick:()=>{L(""),Le.forEach(B=>f==null?void 0:f(B))},className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 flex",title:"Clear search and tag filters",children:(0,X.jsx)(je,{className:"w-3.5 h-3.5"})})]}),fe!==null&&Ce.length>0&&(0,X.jsxs)("div",{ref:q,style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.3)",zIndex:50,overflow:"hidden"},children:[(0,X.jsx)("div",{style:{padding:"5px 10px",fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em",color:"var(--p-text-g)",borderBottom:"1px solid var(--p-border)"},children:"Tags"}),Ce.map((B,V)=>{let{bg:ke,text:qe,border:Qe}=ua(B);return(0,X.jsxs)("button",{onMouseDown:Fe=>{Fe.preventDefault(),we(B)},onMouseEnter:()=>H(V),style:{width:"100%",textAlign:"left",display:"flex",alignItems:"center",gap:8,padding:"7px 12px",background:V===U?"var(--p-hover)":"none",border:"none",cursor:"pointer"},children:[(0,X.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:qe,flexShrink:0}}),(0,X.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:B}),(0,X.jsx)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",padding:"1px 7px",borderRadius:100,fontSize:10,background:ke,color:qe,border:`1px solid ${Qe}`},children:"tag"})]},B)}),(0,X.jsx)("div",{style:{padding:"5px 10px",fontSize:10,color:"var(--p-text-g)",borderTop:"1px solid var(--p-border)"},children:"\\u2191\\u2193 navigate \\xB7 Enter select \\xB7 Esc close"})]})]})}),(0,X.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[C,I===!0&&p&&p.length>0&&(0,X.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:999,fontSize:10,fontWeight:600,border:"1px solid color-mix(in srgb, var(--p-blue) 40%, transparent)",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)",flexShrink:0},title:`${p.filter(B=>B.status==="running").length} running \\xB7 ${p.filter(B=>B.status==="queued").length} queued`,children:[(0,X.jsx)("span",{className:"spinner",style:{width:9,height:9,borderWidth:1.5}}),p.filter(B=>B.status==="running").length," running",p.filter(B=>B.status==="queued").length>0&&(0,X.jsxs)(X.Fragment,{children:[" \\xB7 ",p.filter(B=>B.status==="queued").length," queued"]})]}),I===!0&&w&&y!==void 0&&y>0&&(0,X.jsx)(il,{id:"btn-agent-queue",title:"Agent Queue",onClick:w,label:`\\u{1F916} Queue ${y}`,icon:(0,X.jsx)(Kt,{className:"w-3.5 h-3.5"})}),u&&(0,X.jsxs)("span",{id:"select-mode-indicator",style:{display:"inline-flex",alignItems:"center",gap:6,padding:"2px 10px",borderRadius:999,fontSize:11,fontWeight:500,border:"1px solid color-mix(in srgb, var(--p-blue) 35%, transparent)",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)",flexShrink:0},children:[(0,X.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--p-blue)",animation:"pulse-live 1.5s ease-in-out infinite"}}),"select",c!=null&&c>0?` \\xB7 ${c}`:""]}),(0,X.jsx)(il,{id:"header-shortcuts-hint",title:"Click to see keyboard shortcuts",onClick:()=>k(!0),label:"? shortcuts"}),(0,X.jsx)(il,{id:"btn-settings",title:"Settings",onClick:x,icon:(0,X.jsx)(Xr,{className:"w-3.5 h-3.5"})})]}),v&&(0,X.jsx)("div",{style:{position:"fixed",inset:0,background:"rgba(2,12,27,0.80)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",zIndex:200,display:"flex",alignItems:"center",justifyContent:"center"},onClick:()=>k(!1),children:(0,X.jsxs)("div",{id:"shortcuts-modal",style:{background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:14,padding:"20px 24px",minWidth:320,maxWidth:420,boxShadow:"var(--p-shadow-lg)"},onClick:B=>B.stopPropagation(),children:[(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[(0,X.jsx)("span",{style:{fontSize:13,fontWeight:700,color:"var(--p-text)"},children:"Keyboard Shortcuts"}),(0,X.jsx)("button",{onClick:()=>k(!1),style:{background:"none",border:"none",cursor:"pointer",color:"var(--p-text-f)",padding:2},children:(0,X.jsx)(je,{style:{width:14,height:14}})})]}),(0,X.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[["Alt+N","Open new task panel"],["Esc","Close panel / modal"],["?","Show this shortcuts overlay"],["Alt+F","Focus task search"]].map(([B,V])=>(0,X.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,X.jsx)("kbd",{style:{fontSize:10,fontFamily:"monospace",background:"var(--p-surface)",border:"1px solid var(--p-border-t)",borderRadius:4,padding:"2px 7px",color:"var(--p-text-sub)",flexShrink:0},children:B}),(0,X.jsx)("span",{style:{fontSize:12,color:"var(--p-text-m)"},children:V})]},B))})]})})]})}var Z=E(Be(),1);var ei=E(Be(),1);var La=E(j(),1);function ti({id:e,value:t,onChange:a,disabled:r}){let[o,n]=ei.default.useState(!1),l=ei.default.useRef(null),s=Yr.find(i=>i.value===t)??Yr[0];return ei.default.useEffect(()=>{let i=d=>{var f;(f=l.current)!=null&&f.contains(d.target)||n(!1)};return document.addEventListener("click",i),()=>document.removeEventListener("click",i)},[]),(0,La.jsxs)("div",{id:e,ref:l,style:{position:"relative",display:"inline-block"},children:[(0,La.jsxs)("button",{type:"button",title:s==null?void 0:s.tooltip,onClick:i=>{i.preventDefault(),r||n(d=>!d)},style:{display:"inline-flex",alignItems:"center",gap:5,padding:"3px 8px",borderRadius:6,border:"1px solid var(--p-border, rgba(255,255,255,0.08))",background:"var(--p-hover, rgba(255,255,255,0.05))",color:"var(--p-text-m, rgba(255,255,255,0.7))",fontSize:12,cursor:"pointer",whiteSpace:"nowrap"},children:[(0,La.jsx)("span",{style:{fontSize:13},children:s==null?void 0:s.icon}),(0,La.jsx)("span",{children:s==null?void 0:s.label})]}),o&&(0,La.jsx)("div",{style:{position:"absolute",top:"100%",left:0,marginTop:4,background:"var(--p-card, #1e293b)",border:"1px solid var(--p-border-s, rgba(255,255,255,0.12))",borderRadius:8,padding:"4px 0",zIndex:200,minWidth:140,boxShadow:"0 8px 24px rgba(0,0,0,0.4)"},children:Yr.map(i=>(0,La.jsxs)("button",{type:"button",title:i.tooltip,onClick:()=>{a(i.value),n(!1)},style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"6px 12px",border:"none",background:i.value===t?"var(--p-hover, rgba(255,255,255,0.06))":"transparent",color:i.value===t?"var(--p-text, #fff)":"var(--p-text-f, rgba(255,255,255,0.55))",fontSize:12,cursor:"pointer",textAlign:"left"},children:[(0,La.jsx)("span",{style:{fontSize:14,lineHeight:1},children:i.icon}),(0,La.jsx)("span",{children:i.label})]},i.value))})]})}var yt=E(Be(),1);var ul=E(Be(),1);var xr=E(j(),1);function vr({markdown:e,className:t,style:a}){let r=ul.default.useRef(null),o=ul.default.useRef({}),[n,l]=ul.default.useState(null);return ul.default.useEffect(()=>{let s=r.current;if(!s)return;function i(){l(null)}async function d(m){let g=m.target,L=g==null?void 0:g.closest("a[data-task-ref]");if(!L){i();return}m.preventDefault();let x=L.getAttribute("data-task-ref");if(!x)return;let C=L.getBoundingClientRect(),N=o.current[x];if(N){l({id:x,title:N.title,status:N.status,x:C.left,y:C.bottom+6});return}try{let u=await(await fetch(`/api/tasks/${x}`)).json(),c={title:u.title??`Task ${x}`,status:u.status??"unknown"};o.current[x]=c,l({id:x,title:c.title,status:c.status,x:C.left,y:C.bottom+6})}catch{l({id:x,title:`Task ${x}`,status:"unknown",x:C.left,y:C.bottom+6})}}function f(m){var x,C;let g=(C=(x=m.target)==null?void 0:x.closest)==null?void 0:C.call(x,"a[data-task-ref]");if(!g)return;let L=g.getAttribute("data-task-ref");L&&window.dispatchEvent(new CustomEvent("vibeflow-task-ref-click",{detail:{refId:L}}))}return s.addEventListener("mouseover",d),s.addEventListener("mouseleave",i),s.addEventListener("click",f),()=>{s.removeEventListener("mouseover",d),s.removeEventListener("mouseleave",i),s.removeEventListener("click",f)}},[]),(0,xr.jsxs)("div",{style:{position:"relative"},children:[(0,xr.jsx)("div",{ref:r,className:t,style:a,dangerouslySetInnerHTML:{__html:Gs(e)}}),n&&(0,xr.jsxs)("div",{style:{position:"fixed",left:n.x,top:n.y,background:"#0f172a",border:"1px solid rgba(59,130,246,0.4)",color:"#e2e8f0",borderRadius:8,padding:"8px 10px",fontSize:11,boxShadow:"0 10px 24px rgba(2,6,23,0.55)",zIndex:60,pointerEvents:"none",minWidth:180},children:[(0,xr.jsxs)("div",{style:{color:"#60a5fa",fontFamily:"Menlo,monospace",marginBottom:3},children:["#",n.id]}),(0,xr.jsx)("div",{style:{fontWeight:600,marginBottom:3},children:n.title}),(0,xr.jsxs)("div",{style:{color:"#94a3b8"},children:["status: ",n.status]})]})]})}var dl=E(Be(),1),hg=E(j(),1),Vo=dl.default.forwardRef(function({value:t,onChange:a,baseRows:r=4,maxRows:o,style:n,...l},s){let i=dl.default.useRef(null),d=o??r*2,f=dl.default.useCallback(()=>{let m=i.current;if(!m)return;m.style.height="auto";let g=window.getComputedStyle(m),L=Number.parseFloat(g.lineHeight||"0")||18,x=Number.parseFloat(g.paddingTop||"0")+Number.parseFloat(g.paddingBottom||"0"),C=Number.parseFloat(g.borderTopWidth||"0")+Number.parseFloat(g.borderBottomWidth||"0"),N=r*L+x+C,p=d*L+x+C,u=Math.max(N,Math.min(m.scrollHeight,p));m.style.height=`${u}px`,m.style.overflowY=m.scrollHeight>p?"auto":"hidden"},[r,d]);return dl.default.useLayoutEffect(()=>{f()},[t,f]),(0,hg.jsx)("textarea",{...l,ref:m=>{i.current=m,typeof s=="function"?s(m):s&&(s.current=m)},rows:r,value:t,onChange:m=>a(m.target.value),style:{...n,resize:"none"}})});var yg=E(Be(),1);var xg=E(Be(),1),vg=E(_r(),1),Oa=E(j(),1);function Jr({open:e,onClose:t,icon:a,title:r,headerActions:o,width:n,maxHeight:l,id:s,children:i,footer:d,boxStyle:f,onKeyDown:m}){if(xg.default.useEffect(()=>{if(!e)return;function x(C){C.key==="Escape"&&t(),m==null||m(C)}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[e,t,m]),!e)return null;let g=!!(a||r||o),L=(0,Oa.jsx)("div",{id:s,className:"modal-backdrop",onClick:x=>{x.target===x.currentTarget&&t()},onMouseDown:x=>x.stopPropagation(),children:(0,Oa.jsxs)("div",{className:"modal-box",style:{width:n??"min(420px, 95vw)",maxHeight:l,...f},children:[g&&(0,Oa.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"14px 18px",borderBottom:"1px solid var(--p-border)",flexShrink:0},children:[a&&(0,Oa.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a}),r&&(0,Oa.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1,minWidth:0},children:r}),o&&(0,Oa.jsx)("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0,marginLeft:"auto"},children:o})]}),i,d&&(0,Oa.jsx)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:8,padding:"10px 18px",borderTop:"1px solid var(--p-border)",flexShrink:0},children:d})]})});return(0,vg.createPortal)(L,document.body)}var Xt=E(j(),1);function Sa({open:e,message:t,title:a="Confirm",confirmLabel:r="Delete",cancelLabel:o="Cancel",loading:n,error:l,onConfirm:s,onCancel:i}){let d=yg.default.useCallback(f=>{f.key==="Enter"&&s()},[s]);return(0,Xt.jsx)(Jr,{open:e,onClose:i,id:"confirm-modal",width:"min(380px, 95vw)",icon:(0,Xt.jsx)(pr,{style:{width:20,height:20,color:"#f87171"}}),title:a,onKeyDown:d,footer:(0,Xt.jsxs)(Xt.Fragment,{children:[(0,Xt.jsx)("button",{id:"confirm-modal-cancel",onClick:i,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer",transition:"background 0.15s"},children:o}),(0,Xt.jsx)("button",{id:"confirm-modal-confirm",onClick:s,disabled:n,style:{padding:"7px 16px",borderRadius:8,background:"#dc2626",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:n?"wait":"pointer",opacity:n?.6:1,transition:"background 0.15s"},children:n?"Deleting\\u2026":r})]}),children:(0,Xt.jsxs)("div",{style:{padding:"16px 18px"},children:[typeof t=="string"?(0,Xt.jsx)("p",{style:{margin:0,fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:t}):t,l&&(0,Xt.jsx)("p",{style:{margin:"8px 0 0",fontSize:12,color:"var(--p-red)"},children:l})]})})}var Ze=E(j(),1);function Lg(e){return e.linkedPath?"\\u{1F517}":/\\.(png|jpe?g|gif|webp|svg)$/i.test(e.name)?"\\u{1F5BC}\\uFE0F":/\\.html?$/i.test(e.name)?"\\u{1F310}":/\\.md$/i.test(e.name)||/\\.pdf$/i.test(e.name)?"\\u{1F4C4}":"\\u{1F4CE}"}function Vv(e){return/\\.(png|jpe?g|gif|webp|svg|html?)$/i.test(e.name)}function Gv(e){return/\\.html?$/i.test(e.name)}function ai({file:e,url:t,variant:a,onPreview:r,onDelete:o}){let n=Vv(e),l=Gv(e);function s(){r?r(e,t):window.open(t,"_blank")}return a==="compact"?(0,Ze.jsxs)("div",{className:"group/file-compact",style:{display:"flex",alignItems:"center",gap:8,padding:"4px 8px",borderRadius:8,background:"var(--p-card)",border:"1px solid var(--p-border)",position:"relative"},children:[(0,Ze.jsx)("span",{style:{fontSize:14,flexShrink:0},children:Lg(e)}),(0,Ze.jsx)("div",{style:{flex:1,minWidth:0},children:(0,Ze.jsx)("button",{onClick:s,style:{fontSize:12,color:"var(--p-blue-300)",background:"none",border:"none",cursor:"pointer",padding:0,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},title:e.name,children:e.name})}),(0,Ze.jsx)("span",{className:"file-compact-ts",style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:e.createdAt?Tt(e.createdAt):"attached"}),(0,Ze.jsxs)("div",{className:"file-compact-actions",style:{position:"absolute",right:6,top:0,bottom:0,display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s",background:"var(--p-card)",paddingLeft:8},children:[n&&(0,Ze.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ze.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ze.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]}):(0,Ze.jsxs)("div",{className:"group/file",style:{display:"flex",alignItems:"center",gap:10,padding:8,borderRadius:8,border:"1px solid var(--p-border)",transition:"background 0.15s",position:"relative"},children:[(0,Ze.jsx)("span",{style:{fontSize:18,flexShrink:0},children:Lg(e)}),(0,Ze.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,Ze.jsx)("p",{style:{fontSize:12,fontWeight:500,color:"var(--p-text)",margin:0,cursor:"pointer",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e.name,onClick:s,children:e.name}),(0,Ze.jsx)("p",{style:{fontSize:10,color:"var(--p-text-f)",margin:0},children:e.linkedPath?`linked: ${e.linkedPath}`:Fd(e.size??0)})]}),(0,Ze.jsxs)("div",{className:"file-normal-actions",style:{display:"flex",alignItems:"center",gap:4,transition:"opacity 0.15s"},children:[n&&(0,Ze.jsx)("button",{onClick:s,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:l?"Open in new tab":"Preview",children:l?"\\u2197":"\\u{1F441}"}),(0,Ze.jsx)("a",{href:t,download:e.name,style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)",textDecoration:"none"},title:"Download",onClick:i=>i.stopPropagation(),children:"\\u2193"}),o&&(0,Ze.jsx)("button",{onClick:()=>void o(e),style:{background:"none",border:"none",cursor:"pointer",padding:"4px",borderRadius:4,fontSize:11,color:"var(--p-text-m)"},title:"Delete",children:"\\u2715"})]})]})}var _=E(j(),1);function Sg({source:e}){return e!=="cli"?null:(0,_.jsx)("span",{title:"Via CLI (agent)",style:{fontSize:9,color:"var(--p-green-300)",background:"rgba(34,197,94,0.1)",border:"1px solid rgba(34,197,94,0.2)",borderRadius:4,padding:"0 4px",fontFamily:"monospace",lineHeight:"16px",flexShrink:0},children:">_"})}function Kv(e,t){if(e.kind==="lifecycle")return e.author??null;if(e.kind==="comment"){let a=e.comment;return a.type==="system"?null:a.author==="agent"?"\\u{1F916} Agent":a.authorName??t}return e.kind==="change"?e.actor:null}function jv(e,t){let a=[];for(let r of e){let o=Kv(r,t),n=a[a.length-1];o&&n&&n.author===o?(n.items.push(r),r.sortKey>n.newestSortKey&&(n.newestSortKey=r.sortKey),r.sortKey<n.oldestSortKey&&(n.oldestSortKey=r.sortKey)):a.push({author:o,newestSortKey:r.sortKey,oldestSortKey:r.sortKey,items:[r]})}return a}function Wd({comments:e,files:t=[],localChanges:a=[],loading:r,error:o,gitUserName:n="You",taskAuthorName:l,baseUrl:s="",taskId:i,taskCreatedAt:d,taskUpdatedAt:f,onEdit:m,onDelete:g,onDeleteFile:L,onFilePreview:x}){let C=yt.default.useRef(null),N=yt.default.useRef(null),[p,u]=yt.default.useState(null),[c,y]=yt.default.useState(""),[w,I]=yt.default.useState(null),[v,k]=yt.default.useState(null),[U,H]=yt.default.useState(()=>{try{return localStorage.getItem("vibeflow-show-updates")!=="false"}catch{return!0}}),z=yt.default.useRef(r),q=yt.default.useMemo(()=>{let te=[];d&&te.push({kind:"lifecycle",sortKey:d,label:"Task created",icon:"\\u2726",author:l??n}),f&&f!==d&&te.push({kind:"lifecycle",sortKey:f,label:"Task edited",icon:"\\u270E"});let Ce=e.map(W=>({kind:"comment",sortKey:W.createdAt,comment:W})),we=t.map(W=>{let D=W.url.startsWith("http")?W.url:`${s}${W.url}`;return{kind:"file",sortKey:W.createdAt??"9999",file:W,url:D}}),xe=a.map(W=>({kind:"change",sortKey:W.timestamp,field:W.field,from:W.from,to:W.to,actor:W.actor,source:W.source}));return[...te,...Ce,...we,...xe].sort((W,D)=>D.sortKey.localeCompare(W.sortKey))},[e,t,a,s,d,f]),ae=yt.default.useMemo(()=>q.filter(te=>te.kind==="lifecycle"||te.kind==="change").length,[q]),fe=yt.default.useMemo(()=>U?q:q.filter(te=>te.kind==="comment"||te.kind==="file"),[q,U]),Le=yt.default.useMemo(()=>jv(fe,n),[fe,n]);return yt.default.useEffect(()=>{let te=z.current&&!r;z.current=r,C.current&&te&&requestAnimationFrame(()=>{C.current&&(C.current.scrollTop=0)})},[r]),yt.default.useEffect(()=>{p&&N.current&&(N.current.focus(),N.current.scrollIntoView({block:"nearest"}))},[p]),r?(0,_.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):o?(0,_.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):q.length===0?(0,_.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No activity yet."}):(0,_.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",minHeight:0},children:[ae>0&&(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"4px 0 4px",flexShrink:0,borderBottom:"1px solid var(--p-border)",marginBottom:4},children:[(0,_.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",flex:1,letterSpacing:"0.04em"},children:U?"":`${ae} system event${ae!==1?"s":""} hidden`}),(0,_.jsx)("button",{id:"dp-toggle-updates",onClick:()=>H(te=>{let Ce=!te;try{localStorage.setItem("vibeflow-show-updates",String(Ce))}catch{}return Ce}),style:{all:"unset",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:5,color:U?"var(--p-text-m)":"var(--p-text-g)",transition:"color .12s, background .12s"},title:U?"Hide system events":`Show ${ae} system event${ae!==1?"s":""}`,onMouseEnter:te=>{te.currentTarget.style.color="var(--p-text)",te.currentTarget.style.background="var(--p-hover)"},onMouseLeave:te=>{te.currentTarget.style.color=U?"var(--p-text-m)":"var(--p-text-g)",te.currentTarget.style.background="transparent"},children:U?(0,_.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,_.jsx)("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),(0,_.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,_.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,_.jsx)("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"}),(0,_.jsx)("line",{x1:"1",y1:"1",x2:"23",y2:"23"})]})})]}),(0,_.jsx)("div",{ref:C,style:{flex:1,overflowY:"auto",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:Le.map((te,Ce)=>{let we=te.author!==null&&te.items.length>1,xe=we,W=te.author==="\\u{1F916} Agent";return(0,_.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:0},children:[xe&&(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 0 2px",marginTop:4},children:[(0,_.jsx)("span",{style:{fontSize:11,fontWeight:600,color:W?"var(--p-purple)":"var(--p-blue-300)",flexShrink:0},children:te.author}),(0,_.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",flexShrink:0},children:`${Tt(te.oldestSortKey)} \\u2013 ${Tt(te.newestSortKey)}`}),(0,_.jsxs)("span",{style:{fontSize:10,color:"var(--p-border-t)",flexShrink:0,marginLeft:2},children:["(",te.items.length," activities)"]})]}),(0,_.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:we?4:8,paddingLeft:we?8:0,borderLeft:we?"1.5px solid var(--p-border)":"none",marginLeft:we?4:0},children:te.items.map((D,b)=>Xv(D,b,Ce,we,n,p,c,N,u,y,m,I,L?k:null,x))})]},`group-${Ce}`)})}),(0,_.jsx)(Sa,{open:w!==null,message:"Delete this comment? This action cannot be undone.",onConfirm:()=>{w&&g(w),I(null)},onCancel:()=>I(null)}),L&&(0,_.jsx)(Sa,{open:v!==null,message:v?`Delete "${v.name}"? This action cannot be undone.`:"",onConfirm:()=>{v&&L(v),k(null)},onCancel:()=>k(null)})]})}function Xv(e,t,a,r,o,n,l,s,i,d,f,m,g,L){if(e.kind==="lifecycle")return(0,_.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-purple)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:e.icon}),(0,_.jsx)("div",{style:{flex:1,minWidth:0},children:(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)",fontStyle:"italic"},children:e.label}),!r&&(0,_.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:Tt(e.sortKey)})]})})]},`lifecycle-${e.sortKey}-${a}-${t}`);if(e.kind==="change"){let w=e.from.length>28?e.from.slice(0,28)+"\\u2026":e.from,I=e.to.length>28?e.to.slice(0,28)+"\\u2026":e.to,v=e.from.length>28||e.to.length>28;return(0,_.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:6,padding:"2px 0"},children:[(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-blue)",fontWeight:600,flexShrink:0,minWidth:18,paddingTop:1},children:"\\u270E"}),(0,_.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[!r&&(0,_.jsxs)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-blue-300)"},children:["\\u{1F464} ",e.actor]}),!r&&(0,_.jsx)(Sg,{source:e.source}),(0,_.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:["changed ",(0,_.jsx)("strong",{style:{color:"var(--p-text)"},children:e.field})]}),!r&&(0,_.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",marginLeft:"auto",flexShrink:0},children:Tt(e.sortKey)})]}),(0,_.jsxs)("div",{title:v?`${e.from} \\u2192 ${e.to}`:void 0,style:{marginTop:2,fontSize:11,color:"var(--p-text-g)",display:"flex",alignItems:"center",gap:4,cursor:v?"help":"default"},children:[(0,_.jsx)("span",{style:{color:"var(--p-red)",background:"rgba(239,68,68,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w}),(0,_.jsx)("span",{style:{color:"var(--p-text-g)"},children:"\\u2192"}),(0,_.jsx)("span",{style:{color:"var(--p-green)",background:"rgba(34,197,94,0.1)",borderRadius:4,padding:"1px 5px",maxWidth:120,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:I})]})]})]},`change-${e.sortKey}-${a}-${t}`)}if(e.kind==="file"){let{file:y,url:w}=e;return(0,_.jsx)(ai,{file:y,url:w,variant:"compact",onPreview:L?(I,v)=>L(I.name,v):void 0,onDelete:g?I=>(g(I),Promise.resolve()):void 0},`file-${y.name}-${a}-${t}`)}let x=e.comment,C=x.author==="agent",N=x.type==="system",p=x.deleted===!0,u=!!x.id&&!C&&!N&&!p&&x.isOwnComment!==!1,c=n===x.id;return N?(0,_.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"2px 0",fontSize:11,color:"var(--p-text-g)",fontStyle:"italic"},children:[(0,_.jsx)("span",{style:{opacity:.6},children:"\\u2B21"}),(0,_.jsx)("span",{children:x.text}),!r&&(0,_.jsx)("span",{style:{marginLeft:"auto",flexShrink:0,opacity:.6},children:Tt(x.createdAt)})]},x.id):(0,_.jsxs)("div",{className:"flex flex-col gap-1 group/comment",style:{paddingTop:r?2:4},children:[!r&&(0,_.jsxs)("div",{className:"flex items-center justify-between gap-1.5 text-xs mb-0.5",children:[(0,_.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,_.jsx)("span",{style:{color:p?"var(--p-text-g)":C?"var(--p-purple)":"var(--p-blue-300)"},children:C?"\\u{1F916} Agent":`\\u{1F464} ${x.authorName??o}`}),(0,_.jsx)(Sg,{source:x.source}),(0,_.jsxs)("span",{style:{color:"var(--p-text-g)"},children:[Tt(x.createdAt),!p&&x.updatedAt?" \\xB7 edited":"",p?" \\xB7 deleted":""]})]}),u&&(0,_.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,_.jsx)("button",{onClick:()=>{i(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,_.jsx)("button",{onClick:()=>m(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),r&&(0,_.jsxs)("div",{className:"flex items-center justify-between gap-1.5",style:{marginBottom:2},children:[(0,_.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-g)"},children:[Tt(x.createdAt),!p&&x.updatedAt?" \\xB7 edited":"",p?" \\xB7 deleted":""]}),u&&(0,_.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/comment:opacity-100 transition-opacity",children:[(0,_.jsx)("button",{onClick:()=>{i(x.id),d(x.text)},className:"p-1 rounded hover:bg-slate-700 transition-colors",title:"Edit",children:(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u270E"})}),(0,_.jsx)("button",{onClick:()=>m(x),className:"p-1 rounded hover:bg-red-900/40 transition-colors",title:"Delete",children:(0,_.jsx)("span",{style:{fontSize:11,color:"var(--p-text-m)"},children:"\\u2715"})})]})]}),c?(0,_.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,_.jsx)(Vo,{ref:s,value:l,onChange:d,baseRows:4,maxRows:12,onKeyDown:y=>{y.key==="Enter"&&(y.ctrlKey||y.metaKey)&&(y.preventDefault(),f(x,l).then(()=>i(null)))},style:{width:"100%",background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:6,padding:"8px 10px",fontSize:12,color:"var(--p-text)",outline:"none",fontFamily:"inherit",boxSizing:"border-box"}}),(0,_.jsxs)("div",{style:{display:"flex",gap:6,justifyContent:"flex-end"},children:[(0,_.jsx)("button",{onClick:()=>i(null),style:{padding:"4px 10px",background:"var(--p-surface)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-text-sub)",cursor:"pointer"},children:"Cancel"}),(0,_.jsx)("button",{onClick:async()=>{await f(x,l),i(null)},style:{padding:"4px 10px",background:"var(--p-blue)",border:"none",borderRadius:5,fontSize:11,color:"var(--p-white)",cursor:"pointer"},children:"Save"})]})]}):p?(0,_.jsx)("div",{style:{padding:"8px 14px",fontSize:12,color:"var(--p-text-g)",fontStyle:"italic",background:"var(--p-input)",border:"1px dashed var(--p-border)",borderRadius:8},children:"Comment deleted"}):(0,_.jsx)(vr,{markdown:x.text,style:{background:"var(--p-input)",border:"1px solid var(--p-border)",borderRadius:8,padding:"10px 14px",fontSize:12,color:"var(--p-text-sub)",lineHeight:1.6}})]},x.id)}var Ig=E(Be(),1);var yr=E(j(),1);function $d({files:e,loading:t,error:a,baseUrl:r,onPreview:o,onDelete:n}){let[l,s]=Ig.default.useState(null);return t?(0,yr.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"Loading\\u2026"}):a?(0,yr.jsx)("p",{style:{color:"var(--p-red-500)",fontSize:12,textAlign:"center",padding:"8px 0"},children:"Failed to load."}):e.length===0?(0,yr.jsx)("p",{style:{color:"var(--p-text-g)",fontSize:12,textAlign:"center",padding:"16px 0"},children:"No files attached."}):(0,yr.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[e.map(i=>{let d=i.url??`${r}/api/files/${encodeURIComponent(i.name)}`;return(0,yr.jsx)(ai,{file:i,url:d,variant:"normal",onPreview:f=>o(f),onDelete:n?f=>(s(f),Promise.resolve()):void 0},i.name)}),n&&(0,yr.jsx)(Sa,{open:l!==null,message:l?`Delete "${l.name}"? This action cannot be undone.`:"",onConfirm:()=>{l&&n(l),s(null)},onCancel:()=>s(null)})]})}var Kd=E(Be(),1);var Go=E(Be(),1),Cg=E(_r(),1);var da=E(j(),1);function fl({value:e,onChange:t,previewValue:a,showPreview:r,setShowPreview:o,previewId:n,textareaId:l,placeholder:s,previewEmptyText:i,previewMinHeight:d=54,previewMaxHeight:f=220,baseRows:m=5,maxRows:g=12,autoFocus:L=!1,textareaRef:x,onKeyDown:C,afterTextarea:N,onBlur:p}){let u=Go.default.useRef(null),[c,y]=Go.default.useState([]),[w,I]=Go.default.useState(null),[v,k]=Go.default.useState(null);Go.default.useEffect(()=>{let z=!0;return fetch("/api/tasks").then(q=>q.json()).then(q=>{if(!z)return;let ae=(q.tasks??[]).map(fe=>({id:String(fe.id??""),title:String(fe.title??"")})).filter(fe=>fe.id.length>0);y(ae)}).catch(()=>{}),()=>{z=!1}},[]);function U(z){let q=u.current;if(!q){I(null);return}let ae=q.selectionStart??z.length,fe=z.slice(0,ae),Le=-1;for(let xe=fe.length-1;xe>=0;xe--){if(fe[xe]!=="#")continue;let W=xe>0?fe[xe-1]:"";if(W&&!/\\s/.test(W))continue;let D=fe.slice(xe+1);if(!D.includes("#")){if(D.length>80)return;Le=xe;break}}if(Le===-1){I(null);return}let te=fe.slice(Le+1).trim().toLowerCase(),Ce=c.filter(xe=>{if(!te)return!0;let W=xe.id.toLowerCase(),D=xe.title.toLowerCase();return W.includes(te)||D.includes(te)}).sort((xe,W)=>{let D=xe.id.toLowerCase().startsWith(te)?1:0,b=W.id.toLowerCase().startsWith(te)?1:0;if(D!==b)return b-D;let B=xe.title.toLowerCase().startsWith(te)?1:0,V=W.title.toLowerCase().startsWith(te)?1:0;return B!==V?V-B:xe.id.localeCompare(W.id)}).slice(0,6);if(!Ce.length){I(null),k(null);return}let we=q.getBoundingClientRect();k({top:we.top,left:we.left,width:we.width}),I({queryStart:Le,queryEnd:ae,items:Ce})}function H(z){let q=w;if(!q)return;let ae=`${e.slice(0,q.queryStart)}#${z} ${e.slice(q.queryEnd)}`;t(ae),I(null),k(null),requestAnimationFrame(()=>{let fe=u.current;if(!fe)return;let Le=q.queryStart+z.length+2;fe.focus(),fe.setSelectionRange(Le,Le)})}return r?(0,da.jsx)("div",{id:n,onClick:z=>{z.target.closest("a")||o(!1)},title:"Click to edit",style:{cursor:"text",minHeight:d,background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:10,fontSize:12,color:"var(--p-text-sub)",lineHeight:1.7,overflow:"auto",maxHeight:f},children:(a??e).trim()?(0,da.jsx)(vr,{markdown:a??e}):(0,da.jsx)("span",{style:{color:"var(--p-border-t)"},children:i??s})}):(0,da.jsxs)("div",{style:{position:"relative"},children:[(0,da.jsx)(Vo,{id:l,ref:z=>{u.current=z,x&&(x.current=z)},className:"dp-textarea",placeholder:s,value:e,onChange:z=>{t(z),U(z)},onFocus:()=>o(!1),onBlur:()=>{I(null),k(null),o(!0),p==null||p()},baseRows:m,maxRows:g,autoFocus:L,onKeyDown:z=>{z.key==="Escape"&&(I(null),k(null)),C==null||C(z)}}),w&&v&&(0,Cg.createPortal)((0,da.jsx)("div",{"data-task-ref-suggest":"true",style:{position:"fixed",left:v.left+8,width:v.width-16,top:v.top,transform:"translateY(-100%)",border:"1px solid var(--p-border-s)",background:"var(--p-card)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",overflow:"hidden",zIndex:9999},children:w.items.map(z=>(0,da.jsxs)("button",{type:"button",onMouseDown:q=>{q.preventDefault(),H(z.id)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,textAlign:"left",border:"none",borderBottom:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-sub)",padding:"7px 10px",fontSize:11,cursor:"pointer"},onMouseEnter:q=>{q.currentTarget.style.background="var(--p-hover)"},onMouseLeave:q=>{q.currentTarget.style.background="transparent"},children:[(0,da.jsxs)("span",{style:{fontFamily:"monospace",color:"var(--p-blue-300)"},children:["#",z.id]}),(0,da.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:z.title})]},z.id))}),document.body),N]})}var eo=E(Be(),1);var Qt=E(j(),1);function Vd({tags:e,allTags:t,onChange:a,disabled:r}){let[o,n]=eo.default.useState(""),[l,s]=eo.default.useState(!1),i=eo.default.useRef(null),d=eo.default.useRef(null),f=o.trim().toLowerCase(),m=eo.default.useMemo(()=>t.filter(c=>!e.includes(c)&&c.toLowerCase().includes(f)).slice(0,8),[t,e,f]),g=f.length>0&&!t.some(u=>u.toLowerCase()===f)&&!e.some(u=>u.toLowerCase()===f),L=f.length>0&&t.some(u=>u.toLowerCase()===f)&&!e.some(u=>u.toLowerCase()===f);function x(u){var y;let c=u.trim();!c||e.includes(c)||(a([...e,c]),n(""),s(!1),(y=i.current)==null||y.focus())}function C(u){a(e.filter(c=>c!==u))}function N(u){if(u.key==="Enter")if(u.preventDefault(),g||L){let c=t.find(y=>y.toLowerCase()===f);x(c??o.trim())}else m.length>0&&x(m[0]);u.key==="Escape"&&(s(!1),n("")),u.key==="Backspace"&&!o&&e.length>0&&C(e[e.length-1])}eo.default.useEffect(()=>{function u(c){d.current&&!d.current.contains(c.target)&&s(!1)}return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]);let p=l&&(m.length>0||g);return(0,Qt.jsxs)("div",{ref:d,style:{position:"relative"},children:[(0,Qt.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignItems:"center",padding:"5px 8px",borderRadius:8,border:`1px solid ${l?"var(--p-blue)":"var(--p-border)"}`,background:"var(--p-input)",cursor:r?"not-allowed":"text",opacity:r?.6:1,minHeight:34,transition:"border-color .12s"},onClick:()=>{var u;r||(u=i.current)==null||u.focus()},children:[(0,Qt.jsx)(sl,{tags:e,onRemove:r?void 0:C,size:"sm"}),!r&&(0,Qt.jsx)("input",{ref:i,type:"text",value:o,placeholder:e.length?"":"Add tags\\u2026",onChange:u=>{n(u.target.value),s(!0)},onFocus:()=>s(!0),onKeyDown:N,style:{background:"none",border:"none",outline:"none",fontSize:12,color:"var(--p-text)",minWidth:80,flex:1,padding:0,lineHeight:"1.4"}})]}),p&&(0,Qt.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onMouseDown:u=>u.preventDefault(),children:[m.map(u=>{let{bg:c,text:y,border:w}=ua(u);return(0,Qt.jsxs)("button",{type:"button",onClick:()=>x(u),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-m)"},onMouseEnter:I=>{I.currentTarget.style.background="var(--p-hover)"},onMouseLeave:I=>{I.currentTarget.style.background="none"},children:[(0,Qt.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:y,border:`1px solid ${w}`,flexShrink:0}}),u]},u)}),g&&(0,Qt.jsxs)("button",{type:"button",onClick:()=>x(o.trim()),style:{width:"100%",textAlign:"left",padding:"6px 10px",display:"flex",alignItems:"center",gap:6,background:"none",border:m.length>0?"1px solid var(--p-border)":"none",borderLeft:"none",borderRight:"none",borderBottom:"none",cursor:"pointer",fontSize:12,color:"var(--p-text-g)"},onMouseEnter:u=>{u.currentTarget.style.background="var(--p-hover)",u.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:u=>{u.currentTarget.style.background="none",u.currentTarget.style.color="var(--p-text-g)"},children:[(0,Qt.jsx)("span",{style:{fontSize:14,lineHeight:1},children:"+"}),\'Create "\',(0,Qt.jsx)("strong",{style:{color:"var(--p-text)"},children:o.trim()}),\'"\']})]})]})}var Y=E(j(),1);function jd({task:e,description:t,setDescription:a,showDescPreview:r,setShowDescPreview:o,priority:n,setPriority:l,onDescriptionBlur:s,onDescriptionDiscard:i,originalDescription:d,onPriorityChange:f,githubUrl:m,onFilePreview:g,onPatch:L,onDeleteScreenshot:x,liveFiles:C,allTags:N=[],overrideTags:p,onTagsChange:u}){var q;let c=(e==null?void 0:e.files)??[],y=C?C.map(ae=>({name:ae.name,linkedPath:ae.linkedPath,addedAt:ae.createdAt,url:ae.url})):c,w=y==null?void 0:y.find(ae=>/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(ae.name)),I=e&&w?w.url||`/api/tasks/${e.id}/files/${encodeURIComponent(w.name)}`:null,v=Kd.default.useRef(null),[k,U]=Kd.default.useState(null),{userPart:H,consolePart:z}=Zv(t);return(0,Y.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[(0,Y.jsxs)("div",{children:[(0,Y.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:"Description"}),(0,Y.jsx)(fl,{value:t,previewValue:z?H:void 0,onChange:a,onBlur:s,showPreview:r,setShowPreview:o,previewId:"dp-desc-preview",textareaId:"dp-desc",placeholder:"Description (markdown)\\u2026",previewMinHeight:80,previewMaxHeight:220,baseRows:6,maxRows:12,autoFocus:!0,textareaRef:v,afterTextarea:i&&d!==void 0&&t!==d?(0,Y.jsx)("button",{type:"button",onMouseDown:ae=>{ae.preventDefault(),i()},title:"Discard changes and restore saved description",style:{marginTop:4,display:"flex",alignItems:"center",gap:4,fontSize:11,color:"var(--p-text-g)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:6,padding:"3px 8px",cursor:"pointer",transition:"color .12s, border-color .12s"},onMouseEnter:ae=>{ae.currentTarget.style.color="var(--p-amber-300)",ae.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:ae=>{ae.currentTarget.style.color="var(--p-text-g)",ae.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9 Discard changes"}):void 0})]}),z&&(0,Y.jsx)(Jv,{logs:z}),e&&w&&I&&(0,Y.jsxs)("div",{children:[(0,Y.jsx)("div",{className:"dp-meta-label",children:"Screenshot"}),(0,Y.jsxs)("div",{id:"dp-screenshot-preview",style:{border:"1px solid color-mix(in srgb, var(--p-border-t) 70%, transparent)",borderRadius:10,overflow:"hidden",background:"var(--p-card)"},children:[(0,Y.jsx)("button",{onClick:()=>g(w.name,I),style:{width:"100%",height:112,border:"none",padding:0,background:"linear-gradient(135deg, var(--p-border), var(--p-bg))",cursor:"pointer",display:"block",overflow:"hidden"},title:"Preview screenshot",children:(0,Y.jsx)("img",{src:I,alt:"Task screenshot",style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})}),(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 10px",borderTop:"1px solid var(--p-border)",background:"var(--p-surface)"},children:[(0,Y.jsx)("span",{style:{fontSize:10,color:"var(--p-text-f)",flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w.addedAt?`Captured ${Tt(w.addedAt)}`:"Screenshot attached"}),(0,Y.jsx)("button",{onClick:()=>g(w.name,I),style:{fontSize:10,color:"var(--p-text-m)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Preview screenshot",children:"Preview"}),(0,Y.jsx)("button",{onClick:()=>U(w.name),style:{fontSize:10,color:"var(--p-red)",background:"transparent",border:"none",cursor:"pointer",padding:0},title:"Remove screenshot",children:"Remove"})]})]})]}),(0,Y.jsxs)("div",{children:[(0,Y.jsx)("div",{className:"dp-meta-label",children:"Tags"}),(0,Y.jsx)(Vd,{tags:p??(e==null?void 0:e.tags)??[],allTags:N,disabled:!e&&!u,onChange:ae=>{u?u(ae):e&&L(e.id,{tags:ae})}})]}),(0,Y.jsxs)("div",{children:[(0,Y.jsx)("div",{className:"dp-meta-label",children:"Priority"}),(0,Y.jsxs)("select",{id:"dp-priority",className:"dp-input",value:n,onChange:ae=>{let fe=ae.target.value;l(fe),f==null||f(fe)},style:{padding:"5px 8px",fontSize:12,cursor:"pointer",width:"auto"},children:[(0,Y.jsx)("option",{value:"",children:"\\u2014"}),(0,Y.jsx)("option",{value:"Critical",children:"Critical"}),(0,Y.jsx)("option",{value:"High",children:"High"}),(0,Y.jsx)("option",{value:"Medium",children:"Medium"}),(0,Y.jsx)("option",{value:"Low",children:"Low"})]})]}),e&&(0,Y.jsxs)("div",{id:"dp-metadata",style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[(0,Y.jsx)(Gd,{label:"Created",id:"dp-created",children:e.createdAt?Tt(e.createdAt):"\\u2014"}),(0,Y.jsx)(Gd,{label:"ID",id:"dp-id",children:(0,Y.jsx)("span",{style:{fontFamily:"monospace"},children:e.id})}),(0,Y.jsx)(Gd,{label:"Author",id:"dp-author",children:e.authorName??e.author??"\\u2014"}),(e.commit||((q=e.commits)==null?void 0:q.length))&&(0,Y.jsx)(Qv,{task:e,githubUrl:m}),e.branchName&&(0,Y.jsx)(Yv,{branchName:e.branchName}),e.annotatedElementText&&(0,Y.jsxs)("div",{id:"dp-annotated-text",style:{gridColumn:"1 / -1",background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,Y.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Annotated element text"}),(0,Y.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",fontStyle:"italic",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e.annotatedElementText})]})]}),(0,Y.jsx)(Sa,{open:k!==null,message:"Remove this screenshot? This action cannot be undone.",confirmLabel:"Remove",onConfirm:()=>{k&&x(k),U(null)},onCancel:()=>U(null)})]})}function Gd({label:e,id:t,children:a}){return(0,Y.jsxs)("div",{id:t,style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px"},children:[(0,Y.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:e}),(0,Y.jsx)("div",{style:{fontSize:11,color:"var(--p-text-f)",borderBottom:"1px solid var(--p-border)",paddingBottom:4,display:"flex",alignItems:"center",minHeight:16},children:a})]})}function Qv({task:e,githubUrl:t}){var n;let a=(n=e.commits)!=null&&n.length?e.commits:[{sha:e.commit,message:e.title??"",timestamp:e.createdAt??""}],r=a[a.length-1],o=a.map(l=>`${l.sha.slice(0,8)} ${l.timestamp?new Date(l.timestamp).toLocaleString():""} ${l.message.slice(0,60)}`).join(`\n`);return(0,Y.jsxs)("div",{id:"dp-commit",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:a.length>1?`All commits:\n${o}`:`${r.sha}\n${r.message}`,children:[(0,Y.jsxs)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:["Commit",a.length>1?"s":""]}),(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5},children:[t&&e.commitPushed!==!1?(0,Y.jsxs)("a",{href:`${t}/commit/${r.sha}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:10,color:"var(--p-blue-300)",fontFamily:"monospace",textDecoration:"none"},title:"Open diff on GitHub",onClick:l=>l.stopPropagation(),children:[r.sha.slice(0,8)," \\u2197"]}):(0,Y.jsxs)("span",{style:{fontSize:10,color:"var(--p-text-f)",fontFamily:"monospace"},title:e.commitPushed===!1?"Commit not pushed to remote yet":void 0,children:[r.sha.slice(0,8),e.commitPushed===!1?" \\u23F3":""]}),a.length>1&&(0,Y.jsxs)("span",{style:{fontSize:9,color:"var(--p-blue)",background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 25%, transparent)",borderRadius:10,padding:"0 5px",fontWeight:600},children:["+",a.length-1]})]})]})}function Yv({branchName:e}){return(0,Y.jsxs)("div",{id:"dp-branch",style:{background:"var(--p-card)",borderRadius:8,padding:"8px 10px",cursor:"default"},title:`Branch: ${e}`,children:[(0,Y.jsx)("div",{style:{fontSize:9,color:"var(--p-border-t)",marginBottom:2,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Branch"}),(0,Y.jsxs)("div",{style:{fontSize:10,color:"var(--p-green-300)",fontFamily:"monospace"},children:["\\u2387 ",e]})]})}function Zv(e){let a=e.indexOf(`\n---\n**Console logs**`);return a===-1?{userPart:e,consolePart:null}:{userPart:e.slice(0,a).trim(),consolePart:e.slice(a+1).trim()}}function Jv({logs:e}){let t=e.replace(/^---\\s*\\n/,"").split(`\n`).filter(a=>a.trim());return(0,Y.jsxs)("div",{id:"dp-console-logs",style:{borderRadius:8,border:"1px solid color-mix(in srgb, var(--p-red) 30%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 4%, var(--p-card))",overflow:"hidden"},children:[(0,Y.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 10px",borderBottom:"1px solid color-mix(in srgb, var(--p-red) 20%, var(--p-border))",background:"color-mix(in srgb, var(--p-red) 8%, var(--p-card))"},children:[(0,Y.jsx)("span",{style:{fontSize:10,fontWeight:700,color:"color-mix(in srgb, var(--p-red) 80%, var(--p-text-sub))",letterSpacing:"0.05em",textTransform:"uppercase"},children:"Console Logs"}),(0,Y.jsx)("span",{style:{fontSize:9,color:"var(--p-text-g)",marginLeft:"auto"},children:"captured at submission"})]}),(0,Y.jsxs)("div",{style:{padding:"6px 10px",maxHeight:200,overflowY:"auto",display:"flex",flexDirection:"column",gap:3},children:[t.map((a,r)=>{let o=a.includes("\\u{1F534}"),n=a.includes("\\u{1F7E1}"),l=a.replace(/^[-*]\\s*/,"");return(0,Y.jsx)("div",{style:{fontFamily:"Menlo, monospace",fontSize:10,lineHeight:1.5,color:o?"var(--p-red)":n?"var(--p-amber-300)":"var(--p-text-f)",wordBreak:"break-all"},children:l},r)}),t.length===0&&(0,Y.jsx)("div",{style:{fontSize:10,color:"var(--p-text-g)",fontStyle:"italic"},children:"No log entries captured."})]})]})}var Ko=E(j(),1);function Xd({commentInput:e,setCommentInput:t,commentSubmitting:a,onSubmit:r,baseRows:o=4}){return(0,Ko.jsx)("div",{id:"dp-comment-input-area",children:(0,Ko.jsx)(fl,{value:e,onChange:t,showPreview:!1,setShowPreview:()=>{},previewId:"dp-comment-tab-edit",textareaId:"dp-comment-input",placeholder:"Add a comment\\u2026 (markdown)",previewEmptyText:"Leave a comment (markdown)\\u2026",previewMinHeight:o<=2?36:54,previewMaxHeight:140,baseRows:o,maxRows:10,autoFocus:!0,onKeyDown:n=>{n.key==="Enter"&&(n.ctrlKey||n.metaKey)&&(n.preventDefault(),r())},afterTextarea:(0,Ko.jsx)("button",{id:"dp-comment-submit",disabled:a,onMouseDown:n=>{n.preventDefault(),r()},title:"Send (Ctrl+Enter)",style:{position:"absolute",bottom:16,right:8,width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--p-blue)",border:"none",borderRadius:6,cursor:"pointer",color:"var(--p-white)",transition:"background .15s"},children:(0,Ko.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block"},children:(0,Ko.jsx)("path",{d:"M2 8L14 2L10 8L14 14L2 8Z",fill:"currentColor"})})})})})}var De=E(Be(),1),Qd=E(_r(),1);var P=E(j(),1),cl=[{id:"opencode/hy3-preview-free",label:"Hy3 Preview (Free)",provider:"OpenCode",recommended:!0},{id:"opencode/minimax-m2.5-free",label:"MiniMax M2.5 (Free)",provider:"OpenCode",recommended:!0},{id:"opencode/nemotron-3-super-free",label:"Nemotron 3 Super (Free)",provider:"OpenCode",recommended:!0},{id:"opencode-go/deepseek-v4-flash",label:"DeepSeek V4 Flash",provider:"OpenCode Go",recommended:!0},{id:"opencode-go/qwen3.5-plus",label:"Qwen 3.5 Plus",provider:"OpenCode Go",recommended:!0},{id:"opencode-go/qwen3.6-plus",label:"Qwen 3.6 Plus",provider:"OpenCode Go"},{id:"opencode-go/minimax-m2.5",label:"MiniMax M2.5",provider:"OpenCode Go"},{id:"opencode-go/minimax-m2.7",label:"MiniMax M2.7",provider:"OpenCode Go"},{id:"opencode-go/kimi-k2.5",label:"Kimi K2.5",provider:"OpenCode Go"},{id:"opencode-go/glm-5",label:"GLM 5",provider:"OpenCode Go"},{id:"github-copilot/gpt-4o",label:"GPT-4o (Copilot)",provider:"GitHub Copilot",recommended:!0},{id:"github-copilot/gpt-4.1",label:"GPT-4.1 (Copilot)",provider:"GitHub Copilot"},{id:"github-copilot/claude-haiku-4.5",label:"Claude Haiku 4.5 (Copilot)",provider:"GitHub Copilot"},{id:"github-copilot/gpt-5-mini",label:"GPT-5 Mini (Copilot)",provider:"GitHub Copilot"},{id:"openrouter/google/gemma-3-12b-it:free",label:"Gemma 3 12B (Free)",provider:"OpenRouter"},{id:"openrouter/anthropic/claude-3.5-haiku",label:"Claude 3.5 Haiku",provider:"OpenRouter"},{id:"openrouter/anthropic/claude-3.7-sonnet",label:"Claude 3.7 Sonnet",provider:"OpenRouter"},{id:"anthropic/claude-sonnet-4-20250514",label:"Claude Sonnet 4",provider:"Anthropic"},{id:"anthropic/claude-opus-4-20250514",label:"Claude Opus 4",provider:"Anthropic"},{id:"openai/gpt-4o",label:"GPT-4o",provider:"OpenAI"},{id:"openai/gpt-4-turbo",label:"GPT-4 Turbo",provider:"OpenAI"},{id:"google/gemini-2-5-pro",label:"Gemini 2.5 Pro",provider:"Google"},{id:"google/gemini-2-0-flash-exp",label:"Gemini 2.0 Flash",provider:"Google"},{id:"ollama/llama-3-1-8b",label:"Llama 3.1 8B",provider:"Ollama"},{id:"ollama/qwen2-5-coder",label:"Qwen 2.5 Coder",provider:"Ollama"}];function wg(e){if(!e)return"";let t=Date.now()-new Date(e).getTime(),a=Math.floor(t/6e4),r=Math.floor(t%6e4/1e3);return`${a}m ${r.toString().padStart(2,"0")}s`}function ri({value:e,onChange:t,disabled:a=!1,models:r=cl}){let[o,n]=De.default.useState(!1),[l,s]=De.default.useState(""),i=De.default.useRef(null),d=De.default.useRef(null),f=r.length>0?r:cl,m=f.find(c=>c.id===e),g=De.default.useMemo(()=>{if(!l)return f;let c=l.toLowerCase();return f.filter(y=>y.label.toLowerCase().includes(c)||y.provider.toLowerCase().includes(c)||y.id.toLowerCase().includes(c))},[l,f]),L=De.default.useMemo(()=>{let c={};for(let y of g)c[y.provider]||(c[y.provider]=[]),c[y.provider].push(y);return c},[g,f]),[x,C]=De.default.useState(null);function N(){a||(n(c=>!c),requestAnimationFrame(()=>{if(i.current){let c=i.current.getBoundingClientRect();C(c)}}))}function p(){n(!1),s(""),C(null)}De.default.useEffect(()=>{if(!o)return;function c(y){let w=y.target;i.current&&i.current.contains(w)||d.current&&d.current.contains(w)||p()}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]),De.default.useEffect(()=>{if(!o)return;function c(y){y.key==="Escape"&&p()}return document.addEventListener("keydown",c,!0),()=>document.removeEventListener("keydown",c,!0)},[o]);let u=o&&x?(0,Qd.createPortal)((0,P.jsxs)("div",{ref:d,"data-model-picker-dropdown":!0,style:{position:"fixed",left:x.left,bottom:window.innerHeight-x.top+4,width:x.width,background:"var(--p-surface)",border:"1px solid var(--p-border)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",zIndex:1e5,maxHeight:320,overflowY:"auto",display:"flex",flexDirection:"column"},children:[(0,P.jsx)("div",{style:{padding:8,borderBottom:"1px solid var(--p-border)",flexShrink:0},children:(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",background:"var(--p-bg-2)",borderRadius:6,border:"1px solid var(--p-border)"},children:[(0,P.jsx)(jr,{style:{width:12,height:12,color:"var(--p-text-g)",flexShrink:0}}),(0,P.jsx)("input",{type:"text",placeholder:"Filter models...",value:l,onChange:c=>s(c.target.value),autoFocus:!0,style:{flex:1,border:"none",background:"transparent",fontSize:12,color:"var(--p-text)",outline:"none"}})]})}),(0,P.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:4},children:[Object.entries(L).map(([c,y])=>(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{style:{padding:"6px 10px 4px",fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:c}),y.map(w=>(0,P.jsxs)("button",{type:"button",onClick:()=>{t(w.id),p()},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 10px",borderRadius:5,border:"none",background:e===w.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent",color:e===w.id?"var(--p-purple-300)":"var(--p-text-m)",fontSize:12,cursor:"pointer",textAlign:"left",transition:"background .1s"},onMouseEnter:I=>{I.currentTarget.style.background=e===w.id?"color-mix(in srgb, var(--p-purple) 15%, transparent)":"var(--p-hover)"},onMouseLeave:I=>{I.currentTarget.style.background=e===w.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent"},children:[(0,P.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:w.label}),w.recommended&&(0,P.jsx)("span",{style:{fontSize:8,fontWeight:600,padding:"1px 4px",borderRadius:3,background:"var(--p-purple)",color:"#fff",flexShrink:0},children:"Rec"})]},w.id))]},c)),g.length===0&&(0,P.jsxs)("div",{style:{padding:16,textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:[\'No models match "\',l,\'"\']})]})]}),document.body):null;return(0,P.jsxs)("div",{ref:i,style:{position:"relative"},children:[(0,P.jsxs)("button",{type:"button",onClick:N,disabled:a,style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderRadius:7,border:`1px solid ${o?"var(--p-purple-300)":"var(--p-border)"}`,background:"var(--p-bg-2)",color:"var(--p-text-m)",fontSize:12,cursor:a?"not-allowed":"pointer",transition:"all .12s",opacity:a?.6:1},onMouseEnter:c=>{a||(c.currentTarget.style.borderColor="var(--p-purple-300)")},onMouseLeave:c=>{a||(c.currentTarget.style.borderColor=o?"var(--p-purple-300)":"var(--p-border)")},children:[(0,P.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,overflow:"hidden"},children:[(0,P.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(m==null?void 0:m.label)||"Select model"}),(m==null?void 0:m.recommended)&&(0,P.jsx)("span",{style:{fontSize:9,fontWeight:600,padding:"1px 5px",borderRadius:3,background:"var(--p-purple)",color:"#fff",flexShrink:0},children:"Recommended"})]}),(0,P.jsx)(ya,{style:{width:14,height:14,color:"var(--p-text-g)",flexShrink:0,transition:"transform .15s",transform:o?"rotate(180deg)":void 0}})]}),u]})}function Yd({value:e,onChange:t,disabled:a=!1,agents:r}){var m,g,L;let[o,n]=De.default.useState(!1),l=De.default.useRef(null),s=De.default.useRef(null),i=r.find(x=>x.id===e);function d(){a||n(x=>!x)}function f(){n(!1)}return De.default.useEffect(()=>{if(!o)return;function x(C){let N=C.target;l.current&&l.current.contains(N)||s.current&&s.current.contains(N)||f()}return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[o]),(0,P.jsxs)("div",{ref:l,style:{position:"relative"},children:[(0,P.jsxs)("button",{type:"button",onClick:d,disabled:a,style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"8px 12px",borderRadius:7,border:`1px solid ${o?"var(--p-purple-300)":"var(--p-border)"}`,background:"var(--p-bg-2)",color:i?"var(--p-text)":"var(--p-text-m)",fontSize:12,cursor:a?"not-allowed":"pointer",transition:"all .12s",opacity:a?.6:1},children:[(0,P.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:8,overflow:"hidden"},children:[(0,P.jsx)(Kt,{style:{width:14,height:14,flexShrink:0,color:"var(--p-purple-300)"}}),(0,P.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:(i==null?void 0:i.name)||"Select agent"}),i&&(0,P.jsx)("span",{style:{fontSize:9,fontWeight:500,padding:"1px 5px",borderRadius:3,background:"var(--p-border)",color:"var(--p-text-g)",flexShrink:0},children:i.scope})]}),(0,P.jsx)(ya,{style:{width:14,height:14,color:"var(--p-text-g)",flexShrink:0,transition:"transform .15s",transform:o?"rotate(180deg)":void 0}})]}),o&&(0,Qd.createPortal)((0,P.jsx)("div",{ref:s,"data-agent-picker-dropdown":!0,style:{position:"fixed",left:((m=l.current)==null?void 0:m.getBoundingClientRect().left)??0,bottom:window.innerHeight-(((g=l.current)==null?void 0:g.getBoundingClientRect().top)??0)+4,width:((L=l.current)==null?void 0:L.getBoundingClientRect().width)??200,background:"var(--p-surface)",border:"1px solid var(--p-border)",borderRadius:8,boxShadow:"var(--p-shadow-lg)",zIndex:1e5,maxHeight:240,overflowY:"auto",display:"flex",flexDirection:"column"},children:r.map(x=>(0,P.jsxs)("button",{type:"button",onClick:()=>{t(x.id),f()},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderRadius:5,border:"none",background:e===x.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent",color:e===x.id?"var(--p-purple-300)":"var(--p-text-m)",fontSize:12,cursor:"pointer",textAlign:"left",transition:"background .1s"},onMouseEnter:C=>{C.currentTarget.style.background=e===x.id?"color-mix(in srgb, var(--p-purple) 15%, transparent)":"var(--p-hover)"},onMouseLeave:C=>{C.currentTarget.style.background=e===x.id?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"transparent"},children:[(0,P.jsx)(Kt,{style:{width:14,height:14,flexShrink:0,color:"var(--p-purple-300)"}}),(0,P.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:x.name}),(0,P.jsx)("span",{style:{fontSize:9,fontWeight:500,padding:"1px 4px",borderRadius:3,background:"var(--p-border)",color:"var(--p-text-g)",flexShrink:0},children:x.scope})]},x.id))}),document.body)]})}function ey({status:e}){let t={idle:"var(--p-text-g)",queued:"var(--p-amber)",running:"var(--p-blue)",done:"var(--p-green)",failed:"var(--p-red)"},a={idle:"Idle",queued:"Queued",running:"Running",done:"Completed",failed:"Failed"},[r,o]=De.default.useState(!0);return De.default.useEffect(()=>{if(e!=="running")return;let n=setInterval(()=>o(l=>!l),800);return()=>{clearInterval(n),o(!0)}},[e]),(0,P.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:6,fontSize:11,fontWeight:500,color:t[e]},children:[(0,P.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:t[e],opacity:e==="running"?r?1:.3:1,transition:"opacity 0.3s ease"}}),a[e]]})}function ty(e){var a;let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let r=JSON.parse(t);if(r.type==="text"&&typeof r.part=="object"&&r.part){let o=r.part,n=typeof o.text=="string"?o.text:"";return n?(0,P.jsx)("span",{style:{color:"#e2e8f0"},children:n}):null}if(r.type==="tool_use"&&typeof r.part=="object"&&r.part){let o=r.part;if(o.type==="tool"){let n=typeof o.tool=="string"?o.tool:"tool",l=typeof o.state=="object"&&o.state?o.state:{},s=typeof l.input=="object"&&l.input?l.input:{},i=l.output??((a=l.metadata)==null?void 0:a.output),d=l.error,f=typeof l.status=="string"?l.status:"";return(0,P.jsxs)("div",{style:{color:"#94a3b8"},children:[(0,P.jsxs)("div",{children:[(0,P.jsxs)("span",{style:{color:"#60a5fa"},children:["\\u2192 ",n]}),typeof s.description=="string"&&s.description&&(0,P.jsxs)("span",{children:[": ",s.description]}),typeof s.command=="string"&&s.command&&!s.description&&(0,P.jsxs)("span",{children:[": ",s.command]}),typeof s.filePath=="string"&&s.filePath&&(0,P.jsxs)("span",{children:[": ",s.filePath]}),typeof s.url=="string"&&s.url&&(0,P.jsxs)("span",{children:[": ",s.url]})]}),d!==void 0&&(0,P.jsx)("div",{style:{marginLeft:12,color:"#ef4444",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:9},children:String(d).slice(0,2e3)}),i!==void 0&&d===void 0&&(0,P.jsx)("div",{style:{marginLeft:12,color:f==="error"?"#ef4444":"#22c55e",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:9},children:String(i).slice(0,2e3)})]})}}if(r.type==="step_start"||r.type==="step_finish")return null;if(r.type==="error"){let o=typeof r.message=="string"?r.message:JSON.stringify(r);return(0,P.jsxs)("span",{style:{color:"#ef4444"},children:["Error: ",o]})}return(0,P.jsxs)("span",{style:{color:"#64748b",fontSize:9},children:["[",String(r.type),"]"]})}catch{}return t.startsWith("opencode run")?(0,P.jsxs)("span",{style:{color:"#64748b",fontSize:9},children:["$ ",t.split(`\n`)[0]]}):t.startsWith("\\u2713")||t.startsWith("\\u2717")||t.startsWith("\\u25B6")?(0,P.jsx)("span",{children:t}):(0,P.jsx)("span",{style:{color:"#94a3b8"},children:t})}function ay({logs:e,status:t}){let a=De.default.useRef(null),r=e.join(""),o=De.default.useMemo(()=>r.split(`\n`).filter(n=>n.trim().length>0),[r]);return De.default.useEffect(()=>{a.current&&t==="running"&&(a.current.scrollTop=a.current.scrollHeight)},[o.length,t]),(0,P.jsxs)("div",{ref:a,style:{background:"#0a0c10",border:"1px solid var(--p-border)",borderRadius:7,padding:"10px 12px",fontFamily:"\'SF Mono\', \'Fira Code\', monospace",fontSize:10,lineHeight:1.65,color:"#a3e635",maxHeight:200,overflowY:"auto"},children:[o.map((n,l)=>{let s=ty(n);return s===null?null:(0,P.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:s},l)}).filter(Boolean),t==="running"&&(0,P.jsx)("span",{style:{color:"#a3e635"},children:"\\u258C"})]})}function Zd({task:e,run:t,onRun:a,onStop:r,onDequeue:o,models:n,defaultModel:l,defaultAgent:s,onModelChange:i,agents:d,onAgentChange:f,cliAvailable:m=!0}){var U,H,z;let g=n&&n.length>0?n:cl,[L,x]=De.default.useState(e.model??l??((U=g[0])==null?void 0:U.id)),[C,N]=De.default.useState(e.agent??s??((H=d==null?void 0:d[0])==null?void 0:H.id)??"");function p(q){x(q),i==null||i(q)}function u(q){N(q),f==null||f(q)}function c(){a(e.id,L,C||void 0)}De.default.useEffect(()=>{i==null||i(L)},[]),De.default.useEffect(()=>{C&&(f==null||f(C))},[]),De.default.useEffect(()=>{e.model&&e.model!==L&&x(e.model),e.agent&&e.agent!==C&&N(e.agent)},[e.model,e.agent]),De.default.useEffect(()=>{!C&&s&&N(s)},[s]);let[y,w]=De.default.useState("");De.default.useEffect(()=>{if((t==null?void 0:t.status)!=="running")return;let q=setInterval(()=>w(wg(t.startedAt)),1e3);return w(wg(t.startedAt)),()=>clearInterval(q)},[t==null?void 0:t.status,t==null?void 0:t.startedAt]);let I=(t==null?void 0:t.status)??"idle",v=(t==null?void 0:t.worktree)??`wt/task-${e.id.slice(0,8)}`,k=(t==null?void 0:t.branch)??`agent/task-${e.id.slice(0,8)}`;return(0,P.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:14},children:[(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[(0,P.jsx)(ey,{status:I}),I==="running"&&y&&(0,P.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-g)",display:"inline-flex",alignItems:"center",gap:4},children:[(0,P.jsx)(fr,{style:{width:10,height:10}}),y]}),I==="queued"&&(0,P.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)"},children:"Waiting for current run to finish\\u2026"})]}),I==="idle"&&!m&&(0,P.jsxs)("div",{style:{borderRadius:8,padding:12,fontSize:12,lineHeight:1.6,background:"color-mix(in srgb, var(--p-red) 6%, transparent)",border:"1px solid color-mix(in srgb, var(--p-red) 25%, transparent)",color:"var(--p-red-300)"},children:[(0,P.jsx)("strong",{children:"Local CLI not connected."})," Agent runs require the local CLI server to be running. Start it with ",(0,P.jsx)("code",{style:{background:"rgba(0,0,0,0.3)",padding:"1px 5px",borderRadius:4},children:"vibeflow serve"})," and refresh this page."]}),I==="idle"&&m&&(0,P.jsxs)("div",{style:{borderRadius:8,padding:12,fontSize:12,lineHeight:1.6,background:"color-mix(in srgb, var(--p-purple) 6%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 25%, transparent)",color:"var(--p-purple-300)"},children:[(0,P.jsx)("strong",{children:"Ready to run."})," The agent will create an isolated worktree, read the task description, and implement a solution. When done, you\'ll review the diff and merge."]}),I==="queued"&&(0,P.jsxs)("div",{style:{borderRadius:8,padding:12,fontSize:12,lineHeight:1.6,background:"color-mix(in srgb, var(--p-amber) 6%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 25%, transparent)",color:"var(--p-amber-300)"},children:[(0,P.jsx)("strong",{children:"\\u23F3 Queued"})," \\u2014 another task is currently running. This task will start automatically when the queue is free."]}),(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em",marginBottom:6},children:"Model"}),(0,P.jsx)(ri,{value:L,onChange:p,disabled:I==="running"||I==="queued",models:g})]}),d&&d.length>0&&(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em",marginBottom:6},children:"Agent"}),(0,P.jsx)(Yd,{value:C,onChange:u,disabled:I==="running"||I==="queued",agents:d})]}),(0,P.jsxs)("div",{style:{border:"1px solid var(--p-border)",borderRadius:8,padding:10,background:"var(--p-bg-2)",display:"flex",flexDirection:"column",gap:6},children:[(0,P.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Worktree"}),(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--p-text-m)"},children:[(0,P.jsx)(Qn,{style:{width:10,height:10,color:"var(--p-text-g)",flexShrink:0}}),(0,P.jsx)("span",{style:{fontFamily:"monospace",fontSize:10},children:v})]}),(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:11,color:"var(--p-text-m)"},children:[(0,P.jsx)(Yn,{style:{width:10,height:10,color:"var(--p-text-g)",flexShrink:0}}),(0,P.jsx)("span",{style:{fontFamily:"monospace",fontSize:10},children:k})]})]}),t&&t.logs.length>0&&(0,P.jsxs)("div",{children:[(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:6},children:[(0,P.jsx)("div",{style:{fontSize:10,fontWeight:600,color:"var(--p-text-g)",textTransform:"uppercase",letterSpacing:"0.04em"},children:"Live Output"}),I==="running"&&(0,P.jsxs)("span",{style:{fontSize:10,color:"var(--p-blue-300)",display:"flex",alignItems:"center",gap:4},children:[(0,P.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:"var(--p-blue)",animation:"pulse 1s ease-in-out infinite"}}),"Streaming..."]})]}),(0,P.jsx)(ay,{logs:t.logs,status:I})]}),e.agent&&!t&&(((z=e.commits)==null?void 0:z.length)??0)>0&&(0,P.jsxs)("div",{style:{fontSize:11,color:"var(--p-text-g)"},children:["Last agent: ",(0,P.jsx)("span",{style:{color:"var(--p-purple-300)"},children:e.agent}),e.model&&(0,P.jsxs)(P.Fragment,{children:[" \\xB7 model ",(0,P.jsx)("span",{style:{color:"var(--p-purple-300)"},children:e.model})]})]}),t&&(t.status==="done"||t.status==="failed")&&(0,P.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:10,display:"flex",flexWrap:"wrap",gap:"10px 16px",fontSize:10,color:"var(--p-text-g)"},children:[t.durationMs!=null&&(0,P.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[(0,P.jsx)(fr,{style:{width:10,height:10}}),ry(t.durationMs)]}),t.totalTokens!=null&&t.totalTokens>0&&(0,P.jsxs)("span",{title:`${t.inputTokens??0} input \\xB7 ${t.outputTokens??0} output${t.reasoningTokens?` \\xB7 ${t.reasoningTokens} reasoning`:""}`,children:[oy(t.totalTokens)," tokens"]}),t.cost!=null&&t.cost>0&&(0,P.jsxs)("span",{style:{color:"var(--p-green)"},children:["$",t.cost.toFixed(4)]})]})]})}function ry(e){let t=Math.floor(e/6e4),a=Math.floor(e%6e4/1e3);return t>0?`${t}m ${a.toString().padStart(2,"0")}s`:`${a}s`}function oy(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`}var A=E(j(),1),ny="vibeflow-paste-hint-dismissed";function ly({storageKey:e=ny}){let[t,a]=Z.default.useState(()=>{try{return!localStorage.getItem(e)}catch{return!0}});if(!t)return null;function r(){try{localStorage.setItem(e,"1")}catch{}a(!1)}return(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",margin:"0 0 6px",borderRadius:6,background:"rgba(37,99,235,0.08)",border:"1px solid rgba(37,99,235,0.18)",fontSize:11,color:"var(--p-blue-300)",flexShrink:0},children:[(0,A.jsxs)("span",{style:{flex:1,lineHeight:1.4},children:["\\u{1F4A1} ",(0,A.jsx)("strong",{children:"Tip:"})," Paste screenshots or files anywhere in this panel \\u2014 they attach automatically."]}),(0,A.jsx)("button",{onClick:r,title:"Dismiss",style:{flexShrink:0,background:"none",border:"none",cursor:"pointer",padding:2,color:"var(--p-blue-300)",opacity:.7,display:"flex",alignItems:"center"},onMouseEnter:o=>{o.currentTarget.style.opacity="1"},onMouseLeave:o=>{o.currentTarget.style.opacity="0.7"},children:(0,A.jsx)(je,{style:{width:12,height:12}})})]})}var sy=[{id:"backlog",label:"backlog"},{id:"todo",label:"todo"},{id:"in-progress",label:"in-progress"},{id:"review",label:"review"},{id:"done",label:"done"}],iy=5*1024*1024;function Jd(e,t=.8){return new Promise((a,r)=>{let o=new Image,n=URL.createObjectURL(e);o.onload=()=>{let l=document.createElement("canvas");l.width=o.naturalWidth,l.height=o.naturalHeight;let s=l.getContext("2d");if(!s){URL.revokeObjectURL(n),r(new Error("canvas unavailable"));return}s.drawImage(o,0,0),URL.revokeObjectURL(n),l.toBlob(i=>{i?a(i):r(new Error("canvas.toBlob failed"))},"image/jpeg",t)},o.onerror=()=>{URL.revokeObjectURL(n),r(new Error("image load failed"))},o.src=n})}function ef({open:e,task:t,tab:a,addColumnId:r="todo",gitUserName:o="You",githubUrl:n,baseUrl:l,isResizing:s,api:i,onClose:d,onSave:f,onCreate:m,onDelete:g,onPatch:L,onFilePreview:x,onActivityChange:C,externalLocalChanges:N=[],showLockIndicator:p=!0,lockedByUser:u,onGoBack:c,navBackLabel:y,commentVersion:w,allTasks:I=[],agentRun:v,onRunAgent:k,onStopAgent:U,onDequeueAgent:H,models:z,defaultModel:q,perTypeModels:ae,defaultModelBug:fe,defaultModelResearch:Le,defaultModelTask:te,agents:Ce,defaultAgent:we,experimentalAgents:xe,cliBaseUrl:W,createBranch:D}){let b=!t,B=t?nl(t.type):nl("Task"),V=Z.default.useRef(null),[ke,qe]=Z.default.useState([]),Qe=Z.default.useRef(!1),Fe=Z.default.useRef(""),Me=Z.default.useRef(""),ut=Z.default.useMemo(()=>{let S=new Set;for(let G of I)for(let ee of G.tags??[])S.add(ee);return[...S].sort()},[I]),[Pe,be]=Z.default.useState(a),[Ge,ve]=Z.default.useState(""),[Ae,tt]=Z.default.useState(""),[Ot,zt]=Z.default.useState(r),[Yt,Pt]=Z.default.useState("Task"),[za,Na]=Z.default.useState(""),[ml,ao]=Z.default.useState(!1),[si,jo]=Z.default.useState(!1),[Xo,Ia]=Z.default.useState(!1),[St,Zt]=Z.default.useState(""),[gl,Sr]=Z.default.useState(!1),Ca=Z.default.useRef(null),hl=z&&z.length>0?z[0].id:"",Ir=Z.default.useMemo(()=>{if(ae&&(t!=null&&t.type)){if(t.type==="Bug"&&fe)return fe;if(t.type==="Research"&&Le)return Le;if(t.type==="Task"&&te)return te}return q??hl},[ae,t==null?void 0:t.type,q,fe,Le,te,hl]),[ro,oo]=Z.default.useState((t==null?void 0:t.model)??Ir),[Cr,ca]=Z.default.useState((t==null?void 0:t.agent)??we??"");Z.default.useEffect(()=>{!ro&&Ir&&oo(Ir)},[Ir,ro]),Z.default.useEffect(()=>{!Cr&&we&&ca(we)},[we,Cr]);let ii=Z.default.useCallback(S=>{oo(S),t&&S!==t.model&&L(t.id,{model:S})},[t,L]),ui=Z.default.useCallback(S=>{ca(S),t&&S!==t.agent&&L(t.id,{agent:S})},[t,L]),[di,Ua]=Z.default.useState([]),[fi,xl]=Z.default.useState(!1),[ci,no]=Z.default.useState(null),[Ha,lo]=Z.default.useState(""),[vl,yl]=Z.default.useState(!1),[so,Qo]=Z.default.useState([]),[Yo,h]=Z.default.useState(!1),[T,F]=Z.default.useState(null),[J,ie]=Z.default.useState(0),de=Z.default.useRef(0),[O,re]=Z.default.useState(0),[he,ne]=Z.default.useState(null),[me,R]=Z.default.useState([]),[Ne,Rt]=Z.default.useState([]),ot=Z.default.useRef(null),Nt=Z.default.useRef(()=>{}),wr=Z.default.useRef(""),kr=Z.default.useRef(!1);Z.default.useEffect(()=>{wr.current=Ha},[Ha]),Z.default.useEffect(()=>{kr.current=Xo},[Xo]),Z.default.useEffect(()=>{Qe.current=s??!1},[s]),Z.default.useEffect(()=>{e||C==null||C(null,"viewing")},[e]),Z.default.useEffect(()=>{if(!e||!t)return;Ge!==Fe.current||Ae!==Me.current?C==null||C(t.id,"locked"):C==null||C(t.id,"viewing")},[Ge,Ae,e,t==null?void 0:t.id]),Z.default.useEffect(()=>{if(!e)return;function S(G){var ee,Re,Se,Jt,ea,Il,io,Cl;if(!Qe.current&&!((Re=(ee=G.target)==null?void 0:ee.closest)!=null&&Re.call(ee,"[data-task-ref-suggest]"))&&!((Jt=(Se=G.target)==null?void 0:Se.closest)!=null&&Jt.call(Se,".modal-backdrop"))&&!((Il=(ea=G.target)==null?void 0:ea.closest)!=null&&Il.call(ea,"[data-model-picker-dropdown]"))&&!((Cl=(io=G.target)==null?void 0:io.closest)!=null&&Cl.call(io,"[data-agent-picker-dropdown]"))&&V.current&&!V.current.contains(G.target)){if(kr.current)return;if(wr.current.trim().length>0){Nt.current(),Ia(!0);return}Nt.current(),d()}}return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[e,d]),Z.default.useEffect(()=>{if(!e)return;function S(G){if(G.key==="Escape"){if(kr.current){Ia(!1),G.stopPropagation();return}if(wr.current.trim().length>0){G.stopPropagation(),Nt.current(),Ia(!0);return}}}return document.addEventListener("keydown",S,{capture:!0}),()=>document.removeEventListener("keydown",S,{capture:!0})},[e]),Z.default.useEffect(()=>{if(e){if(be(a),ao(!!t),lo(""),Ua([]),Qo([]),ie(0),re(0),R([]),Rt([]),oo((t==null?void 0:t.model)??Ir),ca((t==null?void 0:t.agent)??""),Zt((t==null?void 0:t.branchName)??""),Sr(!1),Ca.current=null,t){let S=(t.title??"").trim(),G=(t.description??"").trim();ve(S),tt(G),zt(t.status),Pt(t.type??"Task"),Na(t.priority??""),Fe.current=S,Me.current=G,C==null||C(t.id,"viewing")}else ve(""),tt(""),zt(r),Pt("Task"),Na("");t&&(br(t.id),qa(t.id)),setTimeout(()=>{var S;return(S=ot.current)==null?void 0:S.focus()},50)}},[e,t==null?void 0:t.id,a]),Z.default.useEffect(()=>{!e||!t||(Pe==="comments"?(Zo(t.id),qa(t.id)):Pe==="files"&&qa(t.id))},[Pe,e,t==null?void 0:t.id]),Z.default.useEffect(()=>{if(!e||!t||Ge!==Fe.current||Ae!==Me.current)return;let G=(t.title??"").trim(),ee=(t.description??"").trim();(G!==Fe.current||ee!==Me.current)&&(ve(G),tt(ee),Fe.current=G,Me.current=ee),t.status&&t.status!==Ot&&zt(t.status),t.type&&t.type!==Yt&&Pt(t.type),t.priority!==void 0&&t.priority!==za&&Na(t.priority??""),t.model&&t.model!==ro&&oo(t.model),t.agent&&t.agent!==Cr&&ca(t.agent);let Re=t.branchName??"";Re!==St&&Zt(Re)},[t==null?void 0:t.title,t==null?void 0:t.description,t==null?void 0:t.status,t==null?void 0:t.type,t==null?void 0:t.priority,t==null?void 0:t.model,t==null?void 0:t.agent,t==null?void 0:t.branchName]),Z.default.useEffect(()=>{!e||!t||w===void 0||(Pe==="comments"?Zo(t.id):br(t.id))},[w]);async function br(S){var G,ee;try{let[Re,Se]=await Promise.all([i.getComments(S),i.getFiles(S)]);ie(((G=Re.comments)==null?void 0:G.length)??0),re(((ee=Se.files)==null?void 0:ee.length)??0)}catch{}}async function Zo(S){var ee;let G=++de.current;xl(!0),no(null);try{let Re=await i.getComments(S);if(de.current!==G)return;Ua(Re.comments??[]),ie(((ee=Re.comments)==null?void 0:ee.length)??0)}catch{if(de.current!==G)return;no("failed")}finally{de.current===G&&xl(!1)}}async function qa(S){var G;h(!0),F(null);try{let ee=await i.getFiles(S);Qo(ee.files??[]),re(((G=ee.files)==null?void 0:G.length)??0)}catch{F("failed")}finally{h(!1)}}async function lf(){var S;if(!Ge.trim()){(S=ot.current)==null||S.focus();return}if(!b&&Ha.trim()&&await pi(),b){let G=await m({title:Ge.trim(),description:Ae.trim()||Ge.trim(),status:Ot,type:Yt,priority:za||void 0,selector:"/",tags:Ne.length>0?Ne:void 0});if(G&&ke.length>0){for(let ee of ke)await i.uploadFile(G,ee).catch(()=>null);qe([])}d()}else Ll()}function Ll(){if(!t||b)return;let S=Ge.trim();if(!S)return;let G=Fe.current,ee=Me.current,Re=S!==G,Se=Ae.trim()!==ee;!Re&&!Se||(Re&&Sl("title",G,S),Se&&Sl("description",ee,Ae.trim()),L(t.id,{title:S,description:Ae.trim(),type:Yt,priority:za||void 0}),Fe.current=S,Me.current=Ae.trim())}Nt.current=Ll;function Sl(S,G,ee){G!==ee&&R(Re=>[...Re,{field:S,from:G,to:ee,actor:o,timestamp:new Date().toISOString()}])}async function pi(){if(!(!t||!Ha.trim())){yl(!0);try{await i.addComment(t.id,Ha.trim()),lo(""),await Zo(t.id)}finally{yl(!1)}}}async function Bg(S,G){t&&(await i.updateComment(t.id,S.id,G),await Zo(t.id))}async function Og(S){t&&(await i.deleteComment(t.id,S.id),await Zo(t.id))}async function zg(S){if(!t)return;let G=t.id;ne(null);for(let ee of Array.from(S.target.files??[])){if(!ee.type.startsWith("image/")&&ee.size>iy){ne(`"${ee.name}" exceeds the 5 MB limit and was skipped.`);continue}let Re;if(ee.type.startsWith("image/")){let Se=await Jd(ee),Jt=ee.name.replace(/\\.(png|bmp|gif|webp|tiff?)$/i,".jpg");Re=new File([Se],Jt,{type:"image/jpeg"})}else Re=ee;await i.uploadFile(G,Re)}S.target.value="",await qa(G),br(G)}async function Ng(S){if(!t)return;ne(null);let G=await Jd(S),Re=`paste-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.jpg`,Se=new File([G],Re,{type:"image/jpeg"});await i.uploadFile(t.id,Se),await qa(t.id),br(t.id)}async function Ug(S){if(!t)return;let G=Array.from(S.items),ee=G.find(Se=>Se.type.startsWith("image/"));if(ee){let Se=ee.getAsFile();Se&&await Ng(Se);return}let Re=G.filter(Se=>Se.kind==="file"&&!Se.type.startsWith("image/"));if(Re.length>0){for(let Se of Re){let Jt=Se.getAsFile();Jt&&await i.uploadFile(t.id,Jt)}await qa(t.id),br(t.id);return}}Z.default.useEffect(()=>{if(!e)return;function S(G){if(!G.clipboardData)return;let ee=G.target;if(!((ee.tagName==="TEXTAREA"||ee.tagName==="INPUT"||ee.isContentEditable)&&!Array.from(G.clipboardData.items).some(ea=>ea.kind==="file"))){if(G.preventDefault(),!t){let Jt=Array.from(G.clipboardData.items).find(ea=>ea.type.startsWith("image/"));if(Jt){let ea=Jt.getAsFile();ea&&(async()=>{let Il=await Jd(ea),io=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),Cl=new File([Il],`paste-${io}.jpg`,{type:"image/jpeg"});qe(Vg=>[...Vg,Cl])})()}return}Ug(G.clipboardData)}}return document.addEventListener("paste",S),()=>document.removeEventListener("paste",S)},[e,t==null?void 0:t.id]);async function sf(S){t&&(await i.deleteFile(t.id,S.name),await qa(t.id),br(t.id))}async function Hg(S){if(!t)return;await i.deleteFile(t.id,S);let G=(t.files??[]).filter(ee=>ee.name!==S);L(t.id,{files:G}),await qa(t.id),br(t.id)}function qg(S){if(gl&&S!=="review"&&(Sr(!1),Ca.current=null),zt(S),b||!t)return;if(D&&S==="review"&&!St.trim()){Ca.current={taskId:t.id,patch:{status:S}},Sr(!0);return}let G={status:S};St.trim()&&(G.branchName=St.trim()),L(t.id,G)}function uf(){if(!Ca.current||!t||!St.trim())return;let S={...Ca.current.patch,branchName:St.trim()};L(t.id,S),Sr(!1),Ca.current=null}function df(){Sr(!1),Ca.current=null,t&&zt(t.status)}let _g=S=>S!==Ot?"dp-status-btn":`dp-status-btn active-${S}`;function ff(){if(!kr.current){if(wr.current.trim().length>0){Nt.current(),Ia(!0);return}Nt.current(),d()}}let Wg=e&&t!=null&&(Ge!==Fe.current||Ae!==Me.current),$g=Z.default.useMemo(()=>{let S=[...N,...me].sort((ee,Re)=>new Date(ee.timestamp).getTime()-new Date(Re.timestamp).getTime()),G=[];for(let ee of S)G.some(Se=>Se.field===ee.field&&Se.from.toLowerCase()===ee.from.toLowerCase()&&Se.to.toLowerCase()===ee.to.toLowerCase()&&Se.actor===ee.actor&&Math.abs(new Date(Se.timestamp).getTime()-new Date(ee.timestamp).getTime())<=3e3)||G.push(ee);return G},[N,me]),_a=!b&&!!u;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("aside",{id:"detail-panel",className:"open",ref:V,children:[_a&&(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"rgba(234,88,12,0.12)",border:"1px solid rgba(234,88,12,0.25)",borderRadius:6,margin:"8px 12px 0",fontSize:12,color:"#f97316",fontWeight:500},children:["\\u{1F512} Locked by ",(0,A.jsx)("strong",{children:u})," \\u2014 editing disabled until they finish."]}),(0,A.jsxs)("div",{className:"dp-header",children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[c&&(0,A.jsx)("button",{id:"dp-back",onClick:c,title:y?`Back to: ${y}`:"Go back",style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"1px solid var(--p-border-t)",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",fontSize:14,lineHeight:1},onMouseOver:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-blue-300)",S.currentTarget.style.borderColor="var(--p-blue)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u2190"}),(0,A.jsx)(ti,{id:"dp-type-picker",value:Yt,disabled:_a,onChange:S=>{!b&&t&&S!==Yt&&Sl("type",Yt,S),Pt(S),!b&&t&&L(t.id,{type:S})}}),(0,A.jsx)("input",{id:"dp-title",ref:ot,className:"dp-input",type:"text",placeholder:"Task title\\u2026",value:Ge,readOnly:_a,onChange:S=>ve(S.target.value),onKeyDown:S=>{S.key==="Escape"&&(S.stopPropagation(),ff()),S.key==="Enter"&&b&&lf()},style:{flex:1,fontSize:14,fontWeight:600,padding:"4px 8px",borderColor:"transparent",background:"transparent"},onFocus:S=>{S.currentTarget.style.borderColor="var(--p-blue)",S.currentTarget.style.background="var(--p-input)"},onBlur:S=>{S.currentTarget.style.borderColor="transparent",S.currentTarget.style.background="transparent",b||Ll()}}),!b&&Ge!==Fe.current&&Ge.trim()!==""&&(0,A.jsx)("button",{type:"button",title:"Discard title changes",onMouseDown:S=>{S.preventDefault(),ve(Fe.current)},style:{width:20,height:20,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:4,border:"1px solid var(--p-border-t)",background:"none",color:"var(--p-text-g)",cursor:"pointer",fontSize:13,lineHeight:1},onMouseEnter:S=>{S.currentTarget.style.color="var(--p-amber-300)",S.currentTarget.style.borderColor="var(--p-amber-300)"},onMouseLeave:S=>{S.currentTarget.style.color="var(--p-text-g)",S.currentTarget.style.borderColor="var(--p-border-t)"},children:"\\u21A9"}),(0,A.jsx)("button",{id:"dp-close",onClick:ff,style:{width:26,height:26,flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s",pointerEvents:"auto"},onMouseOver:S=>{S.currentTarget.style.background="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},onMouseOut:S=>{S.currentTarget.style.background="transparent",S.currentTarget.style.color="var(--p-text-g)"},children:(0,A.jsx)(je,{style:{width:14,height:14}})}),p&&Wg&&t&&(0,A.jsx)("span",{id:"dp-lock-indicator",title:`Locked by ${o} \\u2014 unsaved changes`,style:{display:"inline-flex",alignItems:"center",gap:3,flexShrink:0,borderRadius:999,padding:"2px 7px",fontSize:10,fontWeight:600,border:"1px solid rgba(244,114,182,0.35)",color:"#f9a8d4",background:"rgba(157,23,77,0.28)"},children:"\\u{1F512} Locked"})]}),(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",..._a?{pointerEvents:"none",opacity:.6}:{}},children:[(0,A.jsx)("span",{style:{fontSize:10,color:"var(--p-text-g)",fontWeight:500,textTransform:"uppercase",letterSpacing:"0.04em"},children:"Status"}),sy.map(S=>(0,A.jsx)("button",{className:_g(S.id),"data-status":S.id,onClick:()=>qg(S.id),children:S.label},S.id))]}),gl&&!_a&&(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8,padding:"8px 10px",borderRadius:8,background:"rgba(139,92,246,0.08)",border:"1px solid rgba(139,92,246,0.2)",fontSize:12},children:[(0,A.jsx)("span",{style:{color:"var(--p-purple-300)",fontWeight:500,whiteSpace:"nowrap"},children:"Branch name:"}),(0,A.jsx)("input",{id:"dp-branch-name",type:"text",placeholder:"e.g. feat/add-hover-effect",value:St,onChange:S=>Zt(S.target.value),onKeyDown:S=>{S.key==="Enter"&&St.trim()&&uf(),S.key==="Escape"&&df()},autoFocus:!0,style:{flex:1,fontSize:12,padding:"4px 8px",borderRadius:6,border:"1px solid var(--p-border)",background:"var(--p-input)",color:"var(--p-text)",fontFamily:"monospace"}}),(0,A.jsx)("button",{onClick:uf,disabled:!St.trim(),style:{padding:"4px 12px",borderRadius:6,border:"1px solid var(--p-purple)",background:St.trim()?"var(--p-purple)":"var(--p-border)",color:"#fff",fontSize:11,fontWeight:600,cursor:St.trim()?"pointer":"not-allowed",transition:"background .12s"},children:"Apply & Review"}),(0,A.jsx)("button",{onClick:df,style:{padding:"4px 10px",borderRadius:6,border:"1px solid var(--p-border)",background:"transparent",color:"var(--p-text-g)",fontSize:11,cursor:"pointer"},children:"Cancel"})]})]}),!b&&(0,A.jsxs)("div",{className:"dp-tabs",id:"dp-tabs-row",children:[(0,A.jsx)("button",{className:`dp-tab${Pe==="details"?" active":""}`,id:"dp-tab-details",onClick:()=>be("details"),children:"Details"}),(0,A.jsxs)("button",{className:`dp-tab${Pe==="comments"?" active":""}`,id:"dp-tab-activity",onClick:()=>be("comments"),children:["Activity ",J>0&&(0,A.jsxs)("span",{id:"dp-activity-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",J,")"]})]}),(0,A.jsxs)("button",{className:`dp-tab${Pe==="files"?" active":""}`,id:"dp-tab-files",onClick:()=>be("files"),children:["Files ",O>0&&(0,A.jsxs)("span",{id:"dp-file-count",style:{color:"var(--p-text-g)",fontSize:10},children:["(",O,")"]})]}),xe===!0&&(0,A.jsxs)("button",{className:`dp-tab${Pe==="agent"?" active":""}`,id:"dp-tab-agent",onClick:()=>be("agent"),style:{color:Pe==="agent"?"#c4b5fd":void 0,borderBottomColor:Pe==="agent"?"#a78bfa":void 0},children:["\\u{1F916} Agent",v&&v.status!=="idle"&&(0,A.jsx)("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:14,height:12,borderRadius:10,fontSize:9,fontWeight:700,background:"#a78bfa",color:"#fff",marginLeft:4},children:v.status==="running"?"\\u25CF":v.status==="queued"?"\\u23F3":"\\u2713"})]})]}),(0,A.jsxs)("div",{className:"dp-body",children:[!b&&(0,A.jsx)(ly,{}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-details-pane",style:{display:!t||Pe==="details"?"":"none"},children:[(0,A.jsx)("div",{style:_a?{pointerEvents:"none",opacity:.6,flexShrink:0}:{flexShrink:0},children:(0,A.jsx)(jd,{task:t,description:Ae,setDescription:tt,showDescPreview:ml,setShowDescPreview:ao,priority:za,setPriority:Na,onDescriptionBlur:b?void 0:Ll,onDescriptionDiscard:b?void 0:()=>{tt(Me.current),ao(!0)},originalDescription:b?void 0:Me.current,onPriorityChange:b?void 0:S=>{t&&(S!==za&&Sl("priority",za||"\\u2014",S||"\\u2014"),L(t.id,{priority:S||void 0}))},githubUrl:n,onFilePreview:x,onDeleteScreenshot:Hg,onPatch:L,liveFiles:so.length>0||Yo?so:void 0,allTags:ut,overrideTags:b?Ne:void 0,onTagsChange:b?Rt:void 0})}),!b&&t&&(0,A.jsx)("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",flexShrink:0,marginTop:12,borderTop:"1px solid var(--p-border)",paddingTop:10},children:(0,A.jsx)(uy,{task:t})})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-activity-pane",style:{display:Pe==="comments"&&!b?"":"none"},children:[(0,A.jsx)("div",{style:{borderBottom:"1px solid var(--p-border)",paddingBottom:8,flexShrink:0},children:(0,A.jsx)(Xd,{commentInput:Ha,setCommentInput:lo,commentSubmitting:vl,onSubmit:()=>void pi(),baseRows:2})}),(0,A.jsx)(Wd,{comments:di,files:so,localChanges:$g,loading:fi,error:ci,gitUserName:o,taskAuthorName:t==null?void 0:t.authorName,baseUrl:l,taskId:t==null?void 0:t.id,taskCreatedAt:t==null?void 0:t.createdAt,taskUpdatedAt:t==null?void 0:t.updatedAt,onEdit:Bg,onDelete:Og,onDeleteFile:sf,onFilePreview:x})]}),(0,A.jsxs)("div",{className:"dp-pane",id:"dp-files-pane",style:{display:Pe==="files"&&!b?"":"none"},children:[(0,A.jsx)($d,{files:so,loading:Yo,error:T,baseUrl:l,onPreview:S=>x(S.name,S.linkedPath?`${l}/api/tasks/${t==null?void 0:t.id}/files/${encodeURIComponent(S.name)}`:`${l}${S.url}`),onDelete:_a?void 0:sf}),(0,A.jsxs)("div",{style:{borderTop:"1px solid var(--p-border)",paddingTop:8,flexShrink:0,display:"flex",gap:8,flexWrap:"wrap",alignItems:"center",..._a?{pointerEvents:"none",opacity:.5}:{}},children:[he&&(0,A.jsx)("div",{style:{width:"100%",fontSize:11,color:"var(--p-red)",background:"rgba(255,80,80,0.08)",border:"1px solid rgba(255,80,80,0.2)",borderRadius:5,padding:"4px 8px"},children:he}),(0,A.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:6,cursor:"pointer",padding:"6px 10px",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,color:"var(--p-text-m)",fontSize:12,transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-border-t)",S.currentTarget.style.color="var(--p-text)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border)",S.currentTarget.style.color="var(--p-text-m)"},children:[(0,A.jsx)(Wo,{style:{width:12,height:12}}),"Upload",(0,A.jsx)("input",{id:"dp-file-upload",type:"file",style:{display:"none"},multiple:!0,onChange:zg})]}),(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-border-t)",marginLeft:"auto"},children:"or paste image"})]})]}),xe===!0&&(0,A.jsx)("div",{className:"dp-pane",id:"dp-agent-pane",style:{display:Pe==="agent"&&!b&&t?"":"none"},children:t&&(0,A.jsx)(Zd,{task:t,run:v,onRun:(S,G,ee)=>k==null?void 0:k(S,G,ee),onStop:U??(()=>{}),onDequeue:H??(()=>{}),models:z,defaultModel:q,defaultAgent:we,onModelChange:ii,agents:Ce,onAgentChange:ui,cliAvailable:!!W})})]}),(0,A.jsxs)("div",{className:"dp-footer",children:[!b&&(0,A.jsx)("button",{id:"dp-delete",onClick:()=>jo(!0),style:{color:"var(--p-red)",background:"none",border:"1px solid var(--p-border-t)",borderRadius:7,padding:"5px 12px",fontSize:12,cursor:"pointer",fontFamily:"inherit",transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-red)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Delete"}),(0,A.jsx)("div",{style:{flex:1}}),b?(0,A.jsxs)(A.Fragment,{children:[ke.length>0&&(0,A.jsxs)("span",{style:{fontSize:11,color:"var(--p-blue-300)",marginRight:8,background:"rgba(37,99,235,0.1)",border:"1px solid rgba(37,99,235,0.25)",borderRadius:6,padding:"3px 8px"},children:["\\u{1F4CE} ",ke.length," screenshot",ke.length!==1?"s":""," will attach on save"]}),(0,A.jsx)("button",{id:"dp-cancel",onClick:d,style:{padding:"5px 14px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-border-t)",background:"var(--p-border)",color:"var(--p-text-sub)",fontFamily:"inherit",transition:"all .15s"},onMouseOver:S=>{S.currentTarget.style.borderColor="var(--p-text-g)"},onMouseOut:S=>{S.currentTarget.style.borderColor="var(--p-border-t)"},children:"Cancel"}),(0,A.jsx)("button",{id:"dp-save",onClick:()=>void lf(),style:{padding:"5px 18px",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",border:"1px solid var(--p-blue-700)",background:"var(--p-blue)",color:"var(--p-white)",fontFamily:"inherit",transition:"background .15s"},onMouseOver:S=>{S.currentTarget.style.background="var(--p-blue-700)"},onMouseOut:S=>{S.currentTarget.style.background="var(--p-blue)"},children:"Add Task"})]}):xe===!0&&Pe==="agent"&&t?(0,A.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",justifyContent:"flex-end",flex:1},children:[(!v||v.status==="idle")&&(0,A.jsxs)("button",{id:"dp-run-agent",disabled:!W,onClick:()=>k==null?void 0:k(t.id,ro,Cr||void 0),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-purple)",background:W?"var(--p-purple)":"var(--p-surface)",color:W?"#fff":"var(--p-text-g)",fontSize:12,fontWeight:600,cursor:W?"pointer":"not-allowed",transition:"background .12s"},onMouseEnter:S=>{W&&(S.currentTarget.style.background="#9333ea")},onMouseLeave:S=>{W&&(S.currentTarget.style.background="var(--p-purple)")},title:W?void 0:\'Local CLI server not connected. Run "vibeflow serve" and refresh.\',children:[(0,A.jsx)(Kr,{style:{width:12,height:12}}),"Run Agent"]}),(v==null?void 0:v.status)==="running"&&(0,A.jsxs)("button",{id:"dp-stop-agent",onClick:()=>U==null?void 0:U(t.id),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:12,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 25%, transparent)"},onMouseLeave:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 15%, transparent)"},children:[(0,A.jsx)(Qr,{style:{width:12,height:12}}),"Stop"]}),(v==null?void 0:v.status)==="queued"&&(0,A.jsxs)("button",{id:"dp-dequeue-agent",onClick:()=>H==null?void 0:H(t.id),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"5px 14px",borderRadius:7,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:12,fontWeight:600,cursor:"pointer",transition:"background .12s"},onMouseEnter:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 25%, transparent)"},onMouseLeave:S=>{S.currentTarget.style.background="color-mix(in srgb, var(--p-red) 15%, transparent)"},children:[(0,A.jsx)(rl,{style:{width:12,height:12}}),"Dequeue"]})]}):(0,A.jsx)("span",{style:{fontSize:11,color:"var(--p-text-g)",padding:"5px 4px"},children:"Changes are saved automatically"})]}),(0,A.jsx)(Sa,{open:si,title:"Delete task?",message:`You are about to permanently delete "${(t==null?void 0:t.title)||"this task"}". This action cannot be undone.`,confirmLabel:"Delete task",onConfirm:()=>{jo(!1),g(t.id),d()},onCancel:()=>jo(!1)})]}),Xo&&(0,A.jsx)("div",{style:{position:"fixed",inset:0,zIndex:201,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",background:"rgba(2,12,27,0.80)"},children:(0,A.jsxs)("div",{style:{background:"var(--p-surface)",border:"1px solid var(--p-border-s)",borderRadius:16,padding:"28px 32px",width:"100%",maxWidth:480,boxShadow:"var(--p-shadow-lg)",position:"relative"},children:[(0,A.jsx)("div",{style:{width:44,height:44,borderRadius:12,background:"rgba(139,92,246,0.12)",border:"1px solid rgba(139,92,246,0.25)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:16},children:(0,A.jsx)(Wo,{style:{width:20,height:20,color:"var(--p-purple)"}})}),(0,A.jsx)("h2",{style:{margin:"0 0 8px",fontSize:17,fontWeight:700,color:"var(--p-text)"},children:"Send comment?"}),(0,A.jsx)("p",{style:{margin:"0 0 22px",fontSize:13,color:"var(--p-text-f)",lineHeight:1.6},children:"You have an unsent comment. Do you want to send it before closing?"}),(0,A.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,A.jsx)("button",{onClick:()=>{Ia(!1),pi().then(()=>d())},style:{flex:1,padding:"9px 14px",borderRadius:8,background:"var(--p-purple)",border:"none",color:"#fff",fontSize:13,fontWeight:600,cursor:"pointer",whiteSpace:"nowrap"},children:"Send & Close"}),(0,A.jsx)("button",{type:"button",onClick:()=>{Ia(!1),lo(""),d()},style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Discard & Close"}),(0,A.jsx)("button",{type:"button",onClick:()=>Ia(!1),style:{padding:"9px 16px",borderRadius:8,background:"var(--p-hover)",border:"1px solid var(--p-border)",color:"var(--p-text-m)",fontSize:13,cursor:"pointer"},children:"Keep editing"})]})]})})]})}function uy({task:e}){let t=[];if(e.component&&t.push((0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 36%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)",fontFamily:"monospace"},children:["\\u2B21 ",e.component]},"component")),e.file||e.selector&&e.selector!=="/"||e.cssSelector){let r=e.file??"";e.line!=null&&(r+=`:${e.line}`),e.col!=null&&(r+=`:${e.col}`);let o=e.cssSelector??(e.selector&&e.selector!=="/"?e.selector:""),n=r||o;if(n){let l=n.length>40?`\\u2026${n.slice(-40)}`:n,s=e.url?e.url.length>30?`\\u2026${e.url.slice(-30)}`:e.url:"";t.push((0,A.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:0,borderRadius:6,overflow:"hidden",border:"1px solid color-mix(in srgb, var(--p-blue) 15%, transparent)",fontSize:10,fontFamily:"monospace",whiteSpace:"nowrap"},children:[(0,A.jsx)("span",{title:[r,o].filter(Boolean).join(" \\xB7 "),style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",color:"var(--p-blue-300)"},children:l}),s&&(0,A.jsx)("span",{title:e.url,style:{padding:"2px 6px",background:"color-mix(in srgb, var(--p-border) 72%, transparent)",color:"var(--p-text-g)",borderLeft:"1px solid color-mix(in srgb, var(--p-blue) 18%, transparent)"},children:s})]},"source"))}}else if(e.url){let r=e.url.length>40?`\\u2026${e.url.slice(-40)}`:e.url;t.push((0,A.jsx)("span",{className:"dp-source-pill",title:e.url,children:r},"url"))}return e.reportBack&&t.push((0,A.jsx)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",borderRadius:100,fontSize:10,color:"var(--p-purple-300)"},children:"\\u21A9 report back"},"rb")),(0,A.jsx)("div",{id:"dp-meta-row",style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",flex:1},children:t})}var to=E(Be(),1);var le=E(j(),1),dy=[{id:"all",label:"All",dot:""},{id:"todo",label:"Todo",dot:"var(--p-amber)"},{id:"in-progress",label:"In Progress",dot:"var(--p-blue)"},{id:"review",label:"Review",dot:"var(--p-purple)"}],fy={todo:{background:"color-mix(in srgb, var(--p-amber) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-amber) 38%, transparent)",color:"var(--p-amber-300)"},"in-progress":{background:"color-mix(in srgb, var(--p-blue) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 38%, transparent)",color:"var(--p-blue-200)"},review:{background:"color-mix(in srgb, var(--p-purple) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 38%, transparent)",color:"var(--p-purple-300)"},done:{background:"color-mix(in srgb, var(--p-green) 14%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 32%, transparent)",color:"var(--p-green-300)"},backlog:{background:"color-mix(in srgb, var(--p-text-g) 16%, transparent)",border:"1px solid color-mix(in srgb, var(--p-text-g) 32%, transparent)",color:"var(--p-text-m)"},all:{background:"color-mix(in srgb, var(--p-blue) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 32%, transparent)",color:"var(--p-blue-200)"}};function tf({tasks:e,filter:t,onFilter:a,view:r="board",onViewChange:o,activityCounter:n}){let[l,s]=to.default.useState(!1),[i,d]=to.default.useState(!1),[f,m]=to.default.useState(!1),g=to.default.useMemo(()=>[...new Set(e.map(v=>v.type).filter(Boolean))].sort(),[e]),L=to.default.useMemo(()=>[...new Set(e.map(v=>v.author).filter(Boolean))].sort(),[e]),x=to.default.useMemo(()=>{let v=new Set;for(let k of e)for(let U of k.tags??[])v.add(U);return[...v].sort()},[e]);function C(v){return e.filter(k=>k.status===v).length}function N(v){a({...t,status:v}),s(!1),d(!1),m(!1)}function p(v){a({...t,type:v}),s(!1)}function u(v){a({...t,user:v}),d(!1)}function c(v){let k=t.tags??[],U=k.includes(v)?k.filter(H=>H!==v):[...k,v];a({...t,tags:U})}function y(v){v.stopPropagation();let k=v.currentTarget.dataset.status;k&&N(k)}let w={display:"flex",alignItems:"center",gap:5,padding:"3px 10px",borderRadius:6,fontSize:11,cursor:"pointer",border:"1px solid transparent",background:"transparent",color:"var(--p-text-f)",transition:"all .12s",fontFamily:"inherit",fontWeight:500},I={...w,background:"var(--p-card)",border:"1px solid var(--p-border)",color:"var(--p-text-f)",padding:"3px 10px",position:"relative"};return(0,le.jsxs)("div",{"data-proto-id":"filter-bar",style:{display:"flex",alignItems:"center",gap:6,padding:"7px 16px",background:"var(--p-surface)",borderBottom:"1px solid var(--p-border)",flexShrink:0},onClick:()=>{s(!1),d(!1),m(!1)},children:[(0,le.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2},children:dy.map(v=>{let k=t.status===v.id,U=v.id!=="all"?C(v.id):null,H=k?fy[v.id]:{};return(0,le.jsxs)("button",{"data-status":v.id,style:{...w,...H},onMouseOver:z=>{k||(z.currentTarget.style.background="var(--p-hover)",z.currentTarget.style.color="var(--p-text-m)")},onMouseOut:z=>{k||(z.currentTarget.style.background="transparent",z.currentTarget.style.color="var(--p-text-f)")},onClick:y,children:[v.dot&&(0,le.jsx)("span",{style:{width:6,height:6,borderRadius:"50%",background:v.dot,flexShrink:0,display:"inline-block"}}),v.label,U!=null&&(0,le.jsx)("span",{style:{color:k?"inherit":"var(--p-border-t)",fontSize:10,opacity:.8},children:U})]},v.id)})}),(0,le.jsx)("div",{style:{flex:1}}),n,t.user&&(0,le.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 24%, transparent)",fontSize:10,color:"var(--p-purple-300)"},children:[t.user,(0,le.jsx)("button",{onClick:()=>u(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-purple-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,le.jsx)(je,{style:{width:10,height:10}})})]}),t.type&&(0,le.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:"color-mix(in srgb, var(--p-blue) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-blue) 24%, transparent)",fontSize:10,color:"var(--p-cyan-300)"},children:[t.type,(0,le.jsx)("button",{onClick:()=>p(null),style:{display:"flex",background:"none",border:"none",color:"var(--p-cyan-300)",cursor:"pointer",padding:0,lineHeight:1},children:(0,le.jsx)(je,{style:{width:10,height:10}})})]}),(t.tags??[]).map(v=>{let{bg:k,text:U,border:H}=ua(v);return(0,le.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4,padding:"2px 8px",borderRadius:100,background:k,border:`1px solid ${H}`,fontSize:10,color:U,fontWeight:600},children:[v,(0,le.jsx)("button",{onClick:()=>c(v),style:{display:"flex",background:"none",border:"none",color:U,cursor:"pointer",padding:0,lineHeight:1},children:(0,le.jsx)(je,{style:{width:10,height:10}})})]},v)}),(0,le.jsxs)("div",{style:{position:"relative"},children:[(0,le.jsxs)("button",{style:{...I,color:(t.tags??[]).length?"var(--p-green-300)":"var(--p-text-f)",borderColor:(t.tags??[]).length?"color-mix(in srgb, var(--p-green) 36%, transparent)":"var(--p-border)",opacity:x.length?1:.55},onClick:v=>{v.stopPropagation(),x.length&&(d(!1),s(!1),m(k=>!k))},children:[(0,le.jsx)(_o,{style:{width:12,height:12}}),"Tags",(t.tags??[]).length>0&&(0,le.jsx)("span",{style:{fontSize:9,background:"color-mix(in srgb, var(--p-green) 20%, transparent)",color:"var(--p-green-300)",borderRadius:100,padding:"0 4px"},children:(t.tags??[]).length}),(0,le.jsx)(ya,{style:{width:12,height:12}})]}),f&&x.length>0&&(0,le.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(t.tags??[]).length>0&&(0,le.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>a({...t,tags:[]}),children:"Clear tag filters"}),x.map(v=>{let{bg:k,text:U,border:H}=ua(v),z=(t.tags??[]).includes(v);return(0,le.jsxs)("button",{style:{width:"100%",textAlign:"left",padding:"6px 12px",fontSize:11,color:"var(--p-text-m)",background:z?"var(--p-hover)":"none",border:"none",cursor:"pointer",display:"flex",alignItems:"center",gap:6},onMouseEnter:q=>{q.currentTarget.style.background="var(--p-hover)"},onMouseLeave:q=>{q.currentTarget.style.background=z?"var(--p-hover)":"none"},onClick:()=>c(v),children:[(0,le.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:U,border:`1px solid ${H}`,flexShrink:0}}),(0,le.jsx)("span",{style:{flex:1},children:v}),z&&(0,le.jsx)("span",{style:{color:U,fontSize:12,lineHeight:1},children:"\\u2713"})]},v)})]})]}),(0,le.jsxs)("div",{style:{position:"relative"},children:[(0,le.jsxs)("button",{style:{...I,color:t.user?"var(--p-purple-300)":"var(--p-text-f)",borderColor:t.user?"color-mix(in srgb, var(--p-purple) 36%, transparent)":"var(--p-border)",opacity:L.length?1:.55},onClick:v=>{v.stopPropagation(),L.length&&(s(!1),d(k=>!k))},children:[(0,le.jsx)(ol,{style:{width:12,height:12}}),"User",(0,le.jsx)(ya,{style:{width:12,height:12}})]}),i&&L.length>0&&(0,le.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:160,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,le.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>u(null),children:"All users"}),L.map(v=>(0,le.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.user===v?"var(--p-purple-300)":"var(--p-text-m)",background:t.user===v?"color-mix(in srgb, var(--p-purple) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:k=>{t.user!==v&&(k.currentTarget.style.background="var(--p-hover)")},onMouseOut:k=>{t.user!==v&&(k.currentTarget.style.background="none")},onClick:()=>u(v),children:v},v))]})]}),(0,le.jsxs)("div",{style:{position:"relative"},children:[(0,le.jsxs)("button",{style:{...I,color:t.type?"var(--p-cyan-300)":"var(--p-text-f)",borderColor:t.type?"color-mix(in srgb, var(--p-blue) 36%, transparent)":"var(--p-border)",opacity:g.length?1:.55},onClick:v=>{v.stopPropagation(),g.length&&s(k=>!k)},children:[(0,le.jsx)(_o,{style:{width:12,height:12}}),"Type",(0,le.jsx)(ya,{style:{width:12,height:12}})]}),l&&g.length>0&&(0,le.jsxs)("div",{style:{position:"absolute",top:"calc(100% + 4px)",right:0,minWidth:140,background:"var(--p-card)",border:"1px solid var(--p-border-s)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.25)",zIndex:50,overflow:"hidden"},onClick:v=>v.stopPropagation(),children:[(0,le.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:"var(--p-text-f)",background:"none",border:"none",cursor:"pointer",borderBottom:"1px solid var(--p-border)"},onClick:()=>p(null),children:"All types"}),g.map(v=>(0,le.jsx)("button",{style:{width:"100%",textAlign:"left",padding:"7px 12px",fontSize:11,color:t.type===v?"var(--p-cyan-300)":"var(--p-text-m)",background:t.type===v?"color-mix(in srgb, var(--p-blue) 12%, transparent)":"none",border:"none",cursor:"pointer"},onMouseOver:k=>{t.type!==v&&(k.currentTarget.style.background="var(--p-hover)")},onMouseOut:k=>{t.type!==v&&(k.currentTarget.style.background="none")},onClick:()=>p(v),children:v},v))]})]}),(0,le.jsxs)("div",{style:{display:"flex",alignItems:"center",background:"var(--p-card)",border:"1px solid var(--p-border)",borderRadius:8,padding:2,gap:0},children:[(0,le.jsx)("button",{title:"Board view",style:{padding:"4px 7px",borderRadius:5,background:r==="board"?"var(--p-surface)":"none",color:r==="board"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("board")},children:(0,le.jsx)(Zn,{style:{width:13,height:13}})}),(0,le.jsx)("button",{title:"List view",style:{padding:"4px 7px",borderRadius:5,background:r==="list"?"var(--p-surface)":"none",color:r==="list"?"var(--p-text-sub)":"var(--p-text-g)",border:"none",cursor:"pointer",display:"flex",alignItems:"center",transition:"background .12s,color .12s"},onClick:v=>{v.stopPropagation(),o==null||o("list")},children:(0,le.jsx)(Jn,{style:{width:13,height:13}})})]})]})}var Lt=E(Be(),1);var $=E(j(),1),cy=[{id:"board",label:"Board",icon:(0,$.jsx)(cr,{className:"w-3.5 h-3.5"})},{id:"enforcement",label:"Enforcement",icon:(0,$.jsx)(al,{className:"w-3.5 h-3.5"})},{id:"agent",label:"Agent",icon:(0,$.jsx)(Kt,{className:"w-3.5 h-3.5"})}];function rf({open:e,visibleCols:t,settings:a,onClose:r,onSave:o,models:n,agents:l}){var W,D;let s=n&&n.length>0?n:cl,[i,d]=Lt.default.useState("board"),[f,m]=Lt.default.useState({}),[g,L]=Lt.default.useState(a.autoCommit??!1),[x,C]=Lt.default.useState(a.autoComment??!1),[N,p]=Lt.default.useState(a.autoPush??!1),[u,c]=Lt.default.useState(a.createBranch??!1),[y,w]=Lt.default.useState(a.defaultModel??""),[I,v]=Lt.default.useState(a.defaultAgent??"build"),[k,U]=Lt.default.useState(a.perTypeModels??!1),[H,z]=Lt.default.useState(a.defaultModelBug??""),[q,ae]=Lt.default.useState(a.defaultModelResearch??""),[fe,Le]=Lt.default.useState(a.defaultModelTask??""),[te,Ce]=Lt.default.useState(a.experimentalAgents??!1);Lt.default.useEffect(()=>{if(!e)return;let b={};gr.forEach(B=>{b[B.id]=t.includes(B.id)}),m(b),L(a.autoCommit??!1),C(a.autoComment??!1),p(a.autoPush??!1),c(a.createBranch??!1),w(a.defaultModel??""),v(a.defaultAgent??"build"),U(a.perTypeModels??!1),z(a.defaultModelBug??""),ae(a.defaultModelResearch??""),Le(a.defaultModelTask??""),Ce(a.experimentalAgents??!1),d("board")},[e,t,a]);function we(){let b=gr.filter(B=>f[B.id]).map(B=>B.id);o(b,{autoCommit:g,autoComment:x,autoPush:N,createBranch:u,defaultModel:y,defaultAgent:I,perTypeModels:k,defaultModelBug:H,defaultModelResearch:q,defaultModelTask:fe,experimentalAgents:te}),r()}function xe(b){m(B=>({...B,[b]:!B[b]}))}return(0,$.jsxs)(Jr,{open:e,onClose:r,id:"settings-modal",width:"min(460px, 95vw)",icon:(0,$.jsx)(Xr,{style:{width:14,height:14,color:"var(--p-text-g)"}}),title:"Settings",headerActions:(0,$.jsx)("button",{id:"settings-close",onClick:r,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer",transition:"background .12s,color .12s"},onMouseOver:b=>{b.currentTarget.style.background="var(--p-surface)",b.currentTarget.style.color="var(--p-text-m)"},onMouseOut:b=>{b.currentTarget.style.background="transparent",b.currentTarget.style.color="var(--p-text-g)"},children:(0,$.jsx)(je,{style:{width:14,height:14}})}),footer:(0,$.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,$.jsx)("button",{id:"settings-cancel",onClick:r,className:"dp-status-btn",style:{padding:"5px 14px",fontSize:12},children:"Cancel"}),(0,$.jsx)("button",{id:"settings-apply",onClick:we,style:{padding:"5px 14px",fontSize:12,fontWeight:500,borderRadius:6,border:"1px solid color-mix(in srgb, var(--p-purple) 55%, transparent)",background:"color-mix(in srgb, var(--p-purple) 18%, transparent)",color:"var(--p-purple-300)",cursor:"pointer",transition:"background .12s"},onMouseOver:b=>{b.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 28%, transparent)"},onMouseOut:b=>{b.currentTarget.style.background="color-mix(in srgb, var(--p-purple) 18%, transparent)"},children:"Apply"})]}),children:[(0,$.jsx)("div",{className:"dp-tabs",children:cy.map(b=>(0,$.jsxs)("button",{onClick:()=>d(b.id),className:`dp-tab${i===b.id?" active":""}`,style:{display:"flex",alignItems:"center",gap:6},children:[b.icon,b.label]},b.id))}),i==="board"&&(0,$.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:10},children:[(0,$.jsx)("div",{className:"dp-meta-label",children:"Visible Columns"}),gr.map(b=>(0,$.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none"},children:[(0,$.jsx)("input",{id:`settings-col-${b.id}`,type:"checkbox",checked:f[b.id]??!0,onChange:()=>xe(b.id),style:{width:14,height:14,accentColor:b.color,cursor:"pointer"}}),(0,$.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:b.color,flexShrink:0}}),(0,$.jsx)("span",{style:{fontSize:13,color:"var(--p-text-m)"},children:b.label})]},b.id))]}),i==="enforcement"&&(0,$.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:16},children:[(0,$.jsx)(oi,{id:"settings-auto-comment",label:"Require comment on review",description:"CLI enforces an implementation report when setting task status to review.",value:x,onChange:C}),(0,$.jsx)("div",{style:{height:1,background:"var(--p-border)",marginTop:-4,marginBottom:-4}}),(0,$.jsx)(oi,{id:"settings-create-branch",label:"Require branch per task",description:"CLI enforces a dedicated branch name when setting task status to review.",value:u,onChange:c}),(0,$.jsx)(oi,{id:"settings-auto-commit",label:"Auto-commit on review",description:"CLI automatically commits staged changes when setting task status to review.",value:g,onChange:L}),(0,$.jsx)(oi,{id:"settings-auto-push",label:"Auto-push after commit",description:`CLI pushes after auto-commit. Requires \'Auto-commit\' to be ON.${g?"":" (Enable Auto-commit first)"}`,value:N&&g,onChange:b=>p(b&&g)})]}),i==="agent"&&(0,$.jsxs)("div",{style:{padding:"14px 16px",display:"flex",flexDirection:"column",gap:14},children:[(0,$.jsxs)("div",{children:[(0,$.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none",marginBottom:4},children:[(0,$.jsx)("input",{id:"settings-experimental-agents",type:"checkbox",checked:te,onChange:()=>Ce(!te),style:{width:14,height:14,accentColor:"var(--p-purple)",cursor:"pointer"}}),(0,$.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text-m)"},children:"Enable agent features (experimental)"})]}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginLeft:24},children:"Agent runs, queue, and model selection are experimental and may change."})]}),!te&&(0,$.jsx)("div",{style:{padding:16,borderRadius:8,background:"var(--p-bg-2)",border:"1px dashed var(--p-border)",textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:"Agent features are disabled. Toggle above to enable."}),te&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",style:{marginBottom:6},children:"Default Model"}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:"This model will be pre-selected when running the agent on a task."}),(0,$.jsx)(ri,{value:y,onChange:b=>w(b===y?"":b),models:s})]}),y&&(0,$.jsxs)("div",{style:{padding:10,borderRadius:7,background:"color-mix(in srgb, var(--p-green) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-green) 30%, transparent)",fontSize:11,color:"var(--p-green-300)"},children:["\\u2713 Default model set to: ",(0,$.jsx)("strong",{children:(W=s.find(b=>b.id===y))==null?void 0:W.label})]}),(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",style:{marginBottom:6},children:"Default Agent"}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:"This agent will be used when running agent on a task without a specific agent set."}),(0,$.jsx)(Yd,{value:I,onChange:b=>v(b),agents:l??[]})]}),I&&(0,$.jsxs)("div",{style:{padding:10,borderRadius:7,background:"color-mix(in srgb, var(--p-purple) 10%, transparent)",border:"1px solid color-mix(in srgb, var(--p-purple) 30%, transparent)",fontSize:11,color:"var(--p-purple-300)"},children:["\\u2713 Default agent set to: ",(0,$.jsx)("strong",{children:((D=l==null?void 0:l.find(b=>b.id===I))==null?void 0:D.name)??I})]}),(0,$.jsx)("div",{style:{height:1,background:"var(--p-border)",margin:"4px 0"}}),(0,$.jsxs)("div",{children:[(0,$.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer",userSelect:"none",marginBottom:4},children:[(0,$.jsx)("input",{id:"settings-per-type-models",type:"checkbox",checked:k,onChange:()=>U(!k),style:{width:14,height:14,accentColor:"var(--p-purple)",cursor:"pointer"}}),(0,$.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text-m)"},children:"Use different models per task type"})]}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginLeft:24},children:"Override the default model for specific task types."})]}),k&&(0,$.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:12,paddingLeft:24},children:[(0,$.jsx)(af,{id:"dp-type-model-picker-bug",label:"Bug",color:"var(--p-red)",value:H,onChange:b=>z(b===H?"":b),models:s}),(0,$.jsx)(af,{id:"dp-type-model-picker-research",label:"Research",color:"var(--p-blue)",value:q,onChange:b=>ae(b===q?"":b),models:s}),(0,$.jsx)(af,{id:"dp-type-model-picker-task",label:"Task",color:"var(--p-green)",value:fe,onChange:b=>Le(b===fe?"":b),models:s})]})]})]})]})}function oi({id:e,label:t,description:a,value:r,onChange:o}){return(0,$.jsxs)("div",{children:[(0,$.jsx)("div",{className:"dp-meta-label",style:{marginBottom:4},children:t}),(0,$.jsx)("div",{style:{fontSize:11,color:"var(--p-text-g)",marginBottom:10},children:a}),(0,$.jsxs)("div",{id:e,style:{display:"flex",alignItems:"center",gap:10,cursor:"pointer"},onClick:()=>o(!r),children:[(0,$.jsxs)("div",{style:{position:"relative",width:36,height:20,flexShrink:0},children:[(0,$.jsx)("div",{style:{width:36,height:20,borderRadius:10,background:r?"var(--p-purple)":"var(--p-card)",border:`1px solid ${r?"var(--p-purple-300)":"var(--p-border)"}`,transition:"all .15s"}}),(0,$.jsx)("div",{style:{position:"absolute",top:3,left:r?18:3,width:14,height:14,borderRadius:"50%",background:r?"var(--p-purple-300)":"var(--p-text-muted)",transition:"all .15s"}})]}),(0,$.jsx)("span",{style:{fontSize:12,color:"var(--p-text-g)"},children:r?"On":"Off"})]})]})}function af({id:e,label:t,color:a,value:r,onChange:o,models:n}){let l=n.find(s=>s.id===r);return(0,$.jsxs)("div",{id:e,children:[(0,$.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,$.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:a,flexShrink:0}}),(0,$.jsx)("span",{style:{fontSize:11,fontWeight:600,color:"var(--p-text-m)"},children:t})]}),(0,$.jsx)(ri,{value:r,onChange:o,models:n}),l&&(0,$.jsxs)("div",{style:{fontSize:10,color:"var(--p-text-g)",marginTop:4,paddingLeft:4},children:["\\u2192 ",l.label]})]})}var li=E(Be(),1);var Ee=E(j(),1);function kg(e){return/\\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function ni(e){return/\\.md$/i.test(e)}function of({open:e,name:t,url:a,onClose:r}){let[o,n]=li.default.useState(null),[l,s]=li.default.useState(!1);return li.default.useEffect(()=>{!e||!a||(ni(t)?(s(!0),n(null),fetch(a).then(i=>i.text()).then(i=>{n(i),s(!1)}).catch(()=>{n("Error loading file."),s(!1)})):n(null))},[e,t,a]),(0,Ee.jsx)(Jr,{open:e,onClose:r,id:"file-preview-modal",width:"min(1100px, 95vw)",maxHeight:"88vh",boxStyle:{display:"flex",flexDirection:"column"},icon:(0,Ee.jsx)(qo,{className:"w-4 h-4 text-slate-400"}),title:t,headerActions:(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsx)("a",{href:a,download:t,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Download",children:(0,Ee.jsx)($r,{className:"w-4 h-4"})}),(0,Ee.jsx)("button",{id:"file-preview-close",onClick:r,className:"text-slate-400 hover:text-slate-200 transition-colors p-1.5 rounded-md hover:bg-slate-700/60",title:"Close",children:(0,Ee.jsx)(je,{className:"w-4 h-4"})})]}),footer:(0,Ee.jsxs)(Ee.Fragment,{children:[(0,Ee.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-3 py-1.5 rounded-lg transition-colors",children:[(0,Ee.jsx)($r,{className:"w-3.5 h-3.5"}),"Download"]}),(0,Ee.jsx)("button",{id:"file-preview-close-footer",onClick:r,className:"border border-slate-700 hover:bg-slate-800 text-slate-300 text-sm px-4 py-1.5 rounded-lg transition-colors",children:"Close"})]}),children:(0,Ee.jsxs)("div",{className:"flex-1 overflow-auto",style:{minHeight:0,padding:"16px 20px"},children:[kg(t)&&(0,Ee.jsx)("div",{style:{borderRadius:8,overflow:"hidden",border:"1px solid var(--p-border)",background:"var(--p-card)",display:"inline-block",width:"100%"},children:(0,Ee.jsx)("img",{src:a,alt:t,style:{maxWidth:"100%",display:"block",margin:"0 auto",objectFit:"contain"}})}),ni(t)&&l&&(0,Ee.jsx)("p",{className:"text-xs text-slate-500 py-4",children:"Loading\\u2026"}),ni(t)&&!l&&o!==null&&(0,Ee.jsx)("div",{id:"file-preview-md",style:{background:"var(--p-input)",border:"1px solid var(--p-border-s)",borderRadius:8,padding:"10px 14px",fontSize:13,color:"var(--p-text-sub)",lineHeight:1.65},children:(0,Ee.jsx)(vr,{markdown:o})}),!kg(t)&&!ni(t)&&(0,Ee.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-12 text-slate-500",children:[(0,Ee.jsx)(qo,{className:"w-10 h-10 opacity-40"}),(0,Ee.jsx)("p",{className:"text-sm",children:"Preview not available for this file type."}),(0,Ee.jsxs)("a",{href:a,download:t,className:"flex items-center gap-1.5 text-violet-400 hover:text-violet-300 hover:underline text-sm transition-colors",children:[(0,Ee.jsx)($r,{className:"w-3.5 h-3.5"}),"Download file"]})]})]})})}var pl=E(Be(),1);var Ie=E(j(),1);function py(e){if(!e)return"";let t=Date.now()-new Date(e).getTime(),a=Math.floor(t/6e4),r=Math.floor(t%6e4/1e3);return`${a}m ${r.toString().padStart(2,"0")}s`}var bg={running:"var(--p-blue)",queued:"var(--p-amber)",done:"var(--p-green)",failed:"var(--p-red)"},my={running:"Running",queued:"Queued",done:"Completed",failed:"Failed"};function nf({open:e,runs:t,onStop:a,onOpenTask:r,onClose:o}){let n=pl.default.useRef(null),[l,s]=pl.default.useState({});if(pl.default.useEffect(()=>{if(!e)return;let f=setInterval(()=>{let m={};for(let g of t)g.status==="running"&&g.startedAt&&(m[g.taskId]=py(g.startedAt));s(m)},1e3);return()=>clearInterval(f)},[e,t]),pl.default.useEffect(()=>{if(!e)return;function f(m){n.current&&!n.current.contains(m.target)&&o()}return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[e,o]),!e)return null;let i=t.filter(f=>f.status==="running"||f.status==="queued"),d=t.filter(f=>f.status==="done"||f.status==="failed");return(0,Ie.jsxs)("div",{ref:n,id:"agent-queue-panel",style:{position:"fixed",top:0,right:0,bottom:0,width:"min(420px, 90vw)",background:"var(--p-surface)",borderLeft:"1px solid var(--p-border)",zIndex:40,display:"flex",flexDirection:"column",boxShadow:"var(--p-shadow-lg)"},children:[(0,Ie.jsxs)("div",{style:{padding:"14px 16px",borderBottom:"1px solid var(--p-border)",display:"flex",alignItems:"center",gap:10},children:[(0,Ie.jsx)(Kt,{style:{width:16,height:16,color:"var(--p-purple-300)"}}),(0,Ie.jsx)("span",{style:{fontSize:14,fontWeight:600,color:"var(--p-text)",flex:1},children:"Agent Queue"}),(0,Ie.jsxs)("span",{style:{fontSize:11,color:"var(--p-text-g)",background:"var(--p-bg-2)",padding:"2px 8px",borderRadius:10},children:[i.length," active \\xB7 ",d.length," completed"]}),(0,Ie.jsx)("button",{id:"agent-queue-close",onClick:o,style:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:6,border:"none",background:"transparent",color:"var(--p-text-g)",cursor:"pointer"},onMouseEnter:f=>{f.currentTarget.style.background="var(--p-surface)",f.currentTarget.style.color="var(--p-text-m)"},onMouseLeave:f=>{f.currentTarget.style.background="transparent",f.currentTarget.style.color="var(--p-text-g)"},children:(0,Ie.jsx)(je,{style:{width:14,height:14}})})]}),(0,Ie.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:12,display:"flex",flexDirection:"column",gap:8},children:[t.length===0&&(0,Ie.jsx)("div",{style:{padding:24,textAlign:"center",fontSize:12,color:"var(--p-text-g)"},children:"No agent runs yet. Open a task and click the Agent tab to start."}),t.map(f=>(0,Ie.jsxs)("div",{style:{padding:"10px 12px",borderRadius:8,border:`1px solid ${f.status==="running"?"color-mix(in srgb, var(--p-blue) 30%, transparent)":"var(--p-border)"}`,background:f.status==="running"?"color-mix(in srgb, var(--p-blue) 6%, transparent)":"var(--p-bg-2)",cursor:"pointer",transition:"background .12s"},onClick:()=>r(f.taskId),onMouseEnter:m=>{m.currentTarget.style.background=f.status==="running"?"color-mix(in srgb, var(--p-blue) 10%, transparent)":"var(--p-hover)"},onMouseLeave:m=>{m.currentTarget.style.background=f.status==="running"?"color-mix(in srgb, var(--p-blue) 6%, transparent)":"var(--p-bg-2)"},children:[(0,Ie.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[f.status==="running"&&(0,Ie.jsx)("span",{className:"spinner",style:{width:12,height:12,borderWidth:1.5}}),f.status==="queued"&&(0,Ie.jsx)("span",{style:{color:"var(--p-amber)",fontSize:12},children:"\\u23F3"}),f.status==="done"&&(0,Ie.jsx)("span",{style:{color:"var(--p-green)",fontSize:12},children:"\\u2713"}),f.status==="failed"&&(0,Ie.jsx)("span",{style:{color:"var(--p-red)",fontSize:12},children:"\\u2717"}),(0,Ie.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--p-text)",flex:1},children:f.taskTitle}),(0,Ie.jsx)("span",{style:{fontSize:10,fontWeight:500,color:bg[f.status]??"var(--p-text-g)",padding:"1px 6px",borderRadius:4,background:`${bg[f.status]??"var(--p-text-g)"}15`},children:my[f.status]??f.status})]}),(0,Ie.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:10,color:"var(--p-text-g)"},children:[f.model&&(0,Ie.jsxs)("span",{children:["Model: ",f.model]}),f.status==="running"&&l[f.taskId]&&(0,Ie.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:3},children:[(0,Ie.jsx)(fr,{style:{width:9,height:9}}),l[f.taskId]]})]}),f.logs.length>0&&(0,Ie.jsx)("div",{style:{marginTop:8,padding:"6px 8px",background:"#0a0c10",borderRadius:6,fontFamily:"\'SF Mono\', \'Fira Code\', monospace",fontSize:9,lineHeight:1.5,color:"#a3e635",maxHeight:80,overflowY:"auto"},children:f.logs.slice(-3).map((m,g)=>(0,Ie.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:m.startsWith("$")?(0,Ie.jsx)("span",{style:{color:"var(--p-text-g)"},children:m}):m.startsWith("\\u2713")?(0,Ie.jsx)("span",{style:{color:"var(--p-green)"},children:m}):m.startsWith("\\u25B6")||m.startsWith("\\u2192")?(0,Ie.jsx)("span",{style:{color:"var(--p-blue-300)"},children:m}):m.startsWith("\\u2717")||m.startsWith("Error")?(0,Ie.jsx)("span",{style:{color:"var(--p-red)"},children:m}):m},g))}),f.status==="running"&&(0,Ie.jsxs)("button",{onClick:m=>{m.stopPropagation(),a(f.taskId)},style:{marginTop:8,display:"inline-flex",alignItems:"center",gap:4,padding:"3px 10px",borderRadius:5,border:"1px solid var(--p-red)",background:"color-mix(in srgb, var(--p-red) 15%, transparent)",color:"var(--p-red)",fontSize:10,fontWeight:600,cursor:"pointer"},children:[(0,Ie.jsx)(Qr,{style:{width:8,height:8}}),"Stop"]})]},f.taskId))]})]})}var Lr=window.location.origin,fa=`${Lr}/api/tasks`,it={async getTasks(){return(await fetch(`${fa}?_=${Date.now()}`,{cache:"no-store"})).json()},async createTask(e){return(await fetch(fa,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()},async updateTask(e,t){return(await fetch(`${fa}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()},async deleteTask(e){await fetch(`${fa}/${e}`,{method:"DELETE"})},async getComments(e){return(await fetch(`${fa}/${e}/comments`)).json()},async addComment(e,t){await fetch(`${fa}/${e}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"user",text:t,source:"web"})})},async updateComment(e,t,a){await fetch(`${fa}/${e}/comments/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})})},async deleteComment(e,t){await fetch(`${fa}/${e}/comments/${t}`,{method:"DELETE"})},async getFiles(e){return(await fetch(`${fa}/${e}/files`)).json()},async uploadFile(e,t){let a=await t.arrayBuffer();await fetch(`${fa}/${e}/files/${encodeURIComponent(t.name)}`,{method:"POST",headers:{"Content-Type":"application/octet-stream"},body:a})},async deleteFile(e,t){await fetch(`${fa}/${e}/files/${encodeURIComponent(t)}`,{method:"DELETE"})},async getProject(){return(await fetch(`${Lr}/api/project`)).json()},async getCopilotStatus(){return(await fetch(`${Lr}/api/copilot/status`)).json()},async copilotLogin(){return(await fetch(`${Lr}/api/copilot/login`,{method:"POST"})).json().catch(()=>({}))},async getSettings(){return(await fetch(`${Lr}/api/settings`,{cache:"no-store"})).json()},async saveSettings(e){await fetch(`${Lr}/api/settings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})},wsUrl(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`},async getModels(){var a;let t=await(await fetch(`${Lr}/trpc/models`,{cache:"no-store"})).json();return((a=t==null?void 0:t.result)==null?void 0:a.data)??{models:[],error:"Invalid response"}},async getAgents(){return{agents:(await(await fetch(`${Lr}/api/agent/agents`,{cache:"no-store"})).json()).agents??[],error:null}}};var oe=E(j(),1),gy=window.__PORT__??3700,hy=window.__SAAS_MODE__??!1,Tg=window.__BOARD_URL__??"",xy=window.__BOARD_NAME__??"",Mg=window.__IS_ADMIN__??!1;function vy({onClose:e}){let t=window.location.origin,[a,r]=se.default.useState("idle"),[o,n]=se.default.useState(!0),[l,s]=se.default.useState(null),[i,d]=se.default.useState("");async function f(){r("pushing"),d("");try{let g=await fetch(`${t}/api/push`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepLocalFiles:o})}),L=await g.json();if(!g.ok){d(L.error??"Push failed"),r("error");return}s({imported:L.imported??0,skipped:L.skipped}),r("done")}catch(g){d(g instanceof Error?g.message:"Network error"),r("error")}}let m=a==="pushing";return(0,oe.jsx)("div",{style:{position:"fixed",inset:0,zIndex:9999,background:"rgba(5, 8, 18, 0.72)",backdropFilter:"blur(10px)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,fontFamily:"Inter, system-ui, -apple-system, sans-serif"},children:(0,oe.jsxs)("div",{style:{background:"#101827",border:"1px solid rgba(255,255,255,0.07)",borderRadius:24,maxWidth:380,width:"100%",boxShadow:"0 0 0 1px rgba(59,130,246,0.07), 0 40px 80px rgba(0,0,0,0.75)",overflow:"hidden",position:"relative"},children:[(0,oe.jsx)("div",{style:{position:"absolute",top:0,left:"20%",right:"20%",height:1,background:"linear-gradient(90deg, transparent, rgba(59,130,246,0.5), transparent)"}}),(0,oe.jsxs)("div",{style:{padding:"36px 36px 20px",display:"flex",flexDirection:"column",alignItems:"center",textAlign:"center"},children:[(0,oe.jsx)("div",{style:{position:"relative",width:52,height:52,marginBottom:22},children:(0,oe.jsxs)("svg",{width:"52",height:"52",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,oe.jsx)("rect",{width:"18",height:"18",rx:"4",fill:"#2563eb"}),(0,oe.jsx)("rect",{x:"2.5",y:"5",width:"2",height:"8",rx:"1",fill:"white",opacity:"0.7"}),(0,oe.jsx)("rect",{x:"6.5",y:"2",width:"2",height:"14",rx:"1",fill:"white"}),(0,oe.jsx)("rect",{x:"10.5",y:"6",width:"2",height:"6",rx:"1",fill:"white",opacity:"0.7"}),(0,oe.jsx)("rect",{x:"14.5",y:"4",width:"2",height:"10",rx:"1",fill:"white",opacity:"0.85"})]})}),(0,oe.jsx)("h1",{style:{fontSize:18,fontWeight:700,color:"#f1f5f9",letterSpacing:"-0.3px",margin:"0 0 7px"},children:"Online Mode Active"}),(0,oe.jsxs)("p",{style:{fontSize:12,color:"rgba(255,255,255,0.36)",lineHeight:1.5,margin:0},children:["Connected to"," ",(0,oe.jsx)("strong",{style:{color:"rgba(255,255,255,0.55)",fontWeight:500},children:xy||"Vibeflow SaaS"})]})]}),a==="done"&&l&&(0,oe.jsxs)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(16,185,129,0.08)",border:"1px solid rgba(16,185,129,0.18)",color:"#34d399"},children:[(0,oe.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",children:(0,oe.jsx)("path",{d:"M13 5L6.5 11.5 3 8",stroke:"#34d399",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),l.imported," task",l.imported!==1?"s":""," pushed to board",l.skipped!=null&&l.skipped>0?` \\xB7 ${l.skipped} already existed`:""]}),a==="error"&&i&&(0,oe.jsx)("div",{style:{margin:"0 28px 0",padding:"10px 14px",borderRadius:9,fontSize:12,display:"flex",alignItems:"center",gap:9,background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.18)",color:"#f87171"},children:i}),(0,oe.jsxs)("div",{style:{padding:"20px 24px 28px",display:"flex",flexDirection:"column",gap:8},children:[Tg&&(0,oe.jsx)("a",{href:Tg,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:14,background:"#2563eb",border:"none",borderRadius:12,color:"#fff",fontSize:14,fontWeight:600,cursor:"pointer",textDecoration:"none",letterSpacing:"-0.1px",transition:"background 0.15s, transform 0.1s"},onMouseEnter:g=>{g.currentTarget.style.background="#3b82f6",g.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:g=>{g.currentTarget.style.background="#2563eb",g.currentTarget.style.transform="none"},children:"Open Web App \\u2192"}),a!=="done"&&(0,oe.jsx)("button",{onClick:()=>void f(),disabled:m,style:{display:"flex",alignItems:"center",justifyContent:"center",gap:9,padding:12,background:"transparent",border:"1px solid rgba(255,255,255,0.08)",borderRadius:12,color:m?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.4)",fontSize:13,fontWeight:500,cursor:m?"not-allowed":"pointer",transition:"border-color 0.15s, color 0.15s, background 0.15s"},onMouseEnter:g=>{m||(g.currentTarget.style.borderColor="rgba(255,255,255,0.15)",g.currentTarget.style.color="rgba(255,255,255,0.65)",g.currentTarget.style.background="rgba(255,255,255,0.03)")},onMouseLeave:g=>{m||(g.currentTarget.style.borderColor="rgba(255,255,255,0.08)",g.currentTarget.style.color="rgba(255,255,255,0.4)",g.currentTarget.style.background="transparent")},children:m?"\\u23F3 Pushing\\u2026":"\\u2191 Push local tasks"})]}),(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 24px 20px"},children:[(0,oe.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:7,cursor:"pointer"},children:[(0,oe.jsx)("input",{type:"checkbox",checked:o,onChange:g=>n(g.target.checked),style:{accentColor:"#2563eb",width:13,height:13,cursor:"pointer"}}),(0,oe.jsx)("span",{style:{fontSize:11.5,color:"rgba(255,255,255,0.28)"},children:"Keep local files"})]}),Mg&&e&&(0,oe.jsx)("button",{onClick:e,style:{fontSize:11,color:"rgba(255,255,255,0.2)",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",textUnderlineOffset:2,transition:"color 0.15s"},onMouseEnter:g=>{g.currentTarget.style.color="rgba(255,255,255,0.45)"},onMouseLeave:g=>{g.currentTarget.style.color="rgba(255,255,255,0.2)"},children:"Dismiss (admin)"})]})]})})}var Pg={backlog:"Backlog",todo:"Todo","in-progress":"In Progress",review:"Review",done:"Done"};function yy(e,t,a){let r=a?e.filter(s=>{var i,d;return((i=s.title)==null?void 0:i.toLowerCase().includes(a))||((d=s.description)==null?void 0:d.toLowerCase().includes(a))}):e;if(a)return`${r.length} of ${e.length} tasks`;let o=r.filter(s=>s.status!=="done").length,n=r.filter(s=>s.status==="in-progress").length,l=r.filter(s=>s.status==="review").length;return`${o} open \\xB7 ${n} in-progress \\xB7 ${l} in review`}function Ag(){var Qo,Yo;let[e,t]=se.default.useState([]),[a,r]=se.default.useState(!0),[o,n]=se.default.useState(!1),[l,s]=se.default.useState({open:!1,task:null,tab:"details"}),[i,d]=se.default.useState("board"),[f,m]=se.default.useState(!1),[g,L]=se.default.useState({open:!1,name:"",url:""}),[x,C]=se.default.useState(420),[N,p]=se.default.useState(!1),[u,c]=se.default.useState(""),[y,w]=se.default.useState(gr.map(h=>h.id)),[I,v]=se.default.useState({status:"all",component:null,type:null,user:null,tags:[]}),[k,U]=se.default.useState("Proto Board"),[H,z]=se.default.useState(!1),[q,ae]=se.default.useState(!1),[fe,Le]=se.default.useState("You"),[te,Ce]=se.default.useState(null),[we,xe]=se.default.useState(""),[W,D]=se.default.useState({}),[b,B]=se.default.useState([]),[V,ke]=se.default.useState([]),qe=se.default.useRef(null),Qe=se.default.useRef(null),Fe=se.default.useRef(null),[Me,ut]=se.default.useState([]),Pe=se.default.useRef(!1),be=se.default.useRef([]),[Ge,ve]=se.default.useState([]),[Ae,tt]=se.default.useState([]),[Ot,zt]=se.default.useState(!1),[Yt,Pt]=se.default.useState(new Set),[za,Na]=se.default.useState(!1);function ml(h,T,F){let J=be.current.find(O=>O.id===h);if(!J)return;J.status!=="in-progress"&&ca(h,{status:"in-progress"});let ie=F||J.agent||W.defaultAgent||"build",de=`opencode run --model ${T} --agent ${ie} --dangerously-skip-permissions --format json -- ...`;tt(O=>{if(O.some(ne=>ne.taskId===h&&(ne.status==="running"||ne.status==="queued")))return O;let re=O.some(ne=>ne.status==="running"),he={taskId:h,taskTitle:J.title,status:re?"queued":"running",model:T,worktree:`wt/task-${h.slice(0,8)}`,branch:`agent/task-${h.slice(0,8)}`,startedAt:re?void 0:new Date().toISOString(),logs:re?["\\u23F3 Queued \\u2014 waiting for current run to finish"]:["\\u25B6 Starting agent run\\u2026",`$ ${de}`]};return[...O,he]}),fetch(`${no}/api/agent/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:h,model:T,agent:ie})}).then(async O=>{if(!O.ok){let re=await O.json().catch(()=>({error:"Failed to start agent"}));tt(he=>he.map(ne=>ne.taskId===h?{...ne,status:"failed",logs:[...ne.logs,`\\u2717 ${re.error??"Failed to start agent"}`]}:ne))}}).catch(O=>{tt(re=>re.map(he=>he.taskId===h?{...he,status:"failed",logs:[...he.logs,`\\u2717 Network error: ${O.message}`]}:he))})}function ao(h){fetch(`${no}/api/agent/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:h})}).catch(()=>{}),tt(T=>{let F=T.some(ie=>ie.taskId===h&&ie.status==="running"),J=T.map(ie=>ie.taskId===h&&ie.status==="running"?{...ie,status:"failed",logs:[...ie.logs,"\\u2717 Stopped by user"]}:ie);if(F){let ie=J.find(de=>de.status==="queued");if(ie)return J.map(de=>de.taskId===ie.taskId?{...de,status:"running",startedAt:new Date().toISOString(),logs:[...de.logs,"\\u25B6 Starting agent run\\u2026"]}:de)}return J})}function si(h){tt(T=>T.filter(F=>F.taskId!==h))}function jo(h){Pt(T=>{let F=new Set(T);return F.has(h)?F.delete(h):F.add(h),F})}function Xo(h){zt(!0),Pt(new Set([h]))}function Ia(h){for(let T of h)ml(T,"claude-sonnet-4-5");zt(!1),Pt(new Set)}se.default.useEffect(()=>(Zt(),Sr(),hl(),Ir(),Ca(),ro(),oo(),Cr(),()=>{var h;Qe.current&&clearTimeout(Qe.current),(h=qe.current)==null||h.close()}),[]),se.default.useEffect(()=>{document.body.setAttribute("data-theme","dark")},[]),se.default.useEffect(()=>{function h(){let J=window.location.hash.match(/^#task-([a-f0-9]{30})$/i);if(!J){Fe.current=null;return}let ie=J[1].toLowerCase();if(Fe.current===ie)return;let de=e.find(O=>O.id.toLowerCase()===ie);de&&(Fe.current=ie,Pe.current?s(O=>({...O,open:!0,task:de,tab:"details"})):s(O=>(O.task&&O.task.id!==de.id&&ut(re=>[...re,O.task]),{...O,open:!0,task:de,tab:"details"})),Pe.current=!1)}function T(){}h();let F=()=>{Fe.current=null,h()};return window.addEventListener("hashchange",F),window.addEventListener("vibeflow-task-ref-click",T),()=>{window.removeEventListener("hashchange",F),window.removeEventListener("vibeflow-task-ref-click",T)}},[e]),se.default.useEffect(()=>{if(!l.open||!l.task)return;let h=e.find(J=>J.id===l.task.id);if(!h)return;let T=l.task;Object.keys(h).some(J=>h[J]!==T[J])&&s(J=>({...J,task:h}))},[e,l.open,(Qo=l.task)==null?void 0:Qo.id]),se.default.useEffect(()=>{function h(T){var ie,de,O;let F=(ie=T.target)==null?void 0:ie.tagName,J=F==="INPUT"||F==="TEXTAREA"||((de=T.target)==null?void 0:de.isContentEditable);if(T.key==="Escape"){if(Ot){zt(!1),Pt(new Set);return}if(g.open){L(re=>({...re,open:!1}));return}if(l.open){s(re=>({...re,open:!1}));return}if(f){m(!1);return}}if(!J&&((T.key==="?"||T.key==="/"&&T.shiftKey)&&((O=document.getElementById("header-shortcuts-hint"))==null||O.click()),T.altKey&&!T.ctrlKey&&!T.metaKey&&(T.key==="n"||T.key==="N")&&(T.preventDefault(),Ua(null,"details")),T.altKey&&!T.ctrlKey&&!T.metaKey&&(T.key==="f"||T.key==="F"))){T.preventDefault();let re=document.getElementById("global-search");re==null||re.focus(),re==null||re.select()}}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[g.open,l.open,f,Ot]);function St(h,T,F,J,ie){let de=new Date().toISOString(),O=Pg[T]??T,re=Pg[F]??F,he=Date.now()-3e3;ve(ne=>ne.some(R=>R.taskId===h&&R.to===re&&new Date(R.timestamp).getTime()>he)?ne:[...ne,{taskId:h,field:"status",from:O,to:re,actor:J,timestamp:de,source:ie}].slice(-500))}async function Zt(){try{let h=await it.getTasks();be.current=h.tasks??[],t(h.tasks??[])}catch{}finally{r(!1)}}let gl=se.default.useCallback((h,T,F)=>{let J=String(h.id??"");if(!J)return;let ie=h.created??h.createdAt,de=h.updated?String(h.updated):void 0,O=Array.isArray(h.comments)?h.comments.length:void 0,re=Array.isArray(h.files)?h.files.length:void 0,he=h.status?String(h.status):void 0,ne=be.current.find(me=>me.id===J);he&&ne&&ne.status!==he&&St(J,ne.status,he,T??"Someone",F),t(me=>{let R=me.find(ot=>ot.id===J),Ne={id:J,title:h.title?String(h.title):(R==null?void 0:R.title)??"Untitled",description:h.description!=null?String(h.description):(R==null?void 0:R.description)??"",status:he??(R==null?void 0:R.status)??"todo",type:h.type?String(h.type):R==null?void 0:R.type,priority:h.priority?String(h.priority):R==null?void 0:R.priority,agent:h.agent?String(h.agent):R==null?void 0:R.agent,model:h.model?String(h.model):R==null?void 0:R.model,selector:h.selector?String(h.selector):R==null?void 0:R.selector,cssSelector:h.cssSelector?String(h.cssSelector):R==null?void 0:R.cssSelector,file:h.file?String(h.file):R==null?void 0:R.file,line:typeof h.line=="number"?h.line:R==null?void 0:R.line,col:typeof h.col=="number"?h.col:R==null?void 0:R.col,component:h.component?String(h.component):R==null?void 0:R.component,url:h.url?String(h.url):R==null?void 0:R.url,reportBack:h.reportBack===!0||(R==null?void 0:R.reportBack)===!0,commit:h.commit?String(h.commit):R==null?void 0:R.commit,commits:Array.isArray(h.commits)?h.commits:R==null?void 0:R.commits,commentCount:O??(R==null?void 0:R.commentCount),fileCount:re??(R==null?void 0:R.fileCount),createdAt:ie?String(ie):(R==null?void 0:R.createdAt)??new Date().toISOString(),updatedAt:de??(R==null?void 0:R.updatedAt),author:h.author?String(h.author):R==null?void 0:R.author,tags:Array.isArray(h.tags)?h.tags:R==null?void 0:R.tags,sortKey:h.sortKey?String(h.sortKey):R==null?void 0:R.sortKey},Rt=me.filter(ot=>ot.id!==J);return Rt.push(Ne),Rt.sort((ot,Nt)=>{let wr=new Date(ot.updatedAt??ot.createdAt??"").getTime(),kr=new Date(Nt.updatedAt??Nt.createdAt??"").getTime();return wr===kr?ot.id.localeCompare(Nt.id):kr-wr}),be.current=Rt,Rt})},[]);async function Sr(){try{let h=await it.getProject();h.name&&U(h.name),h.gitUserName&&Le(h.gitUserName)}catch{}}async function Ca(){try{let h=await fetch("/api/github-url").then(T=>T.json());Ce(h.githubUrl??null)}catch{}}async function hl(){var h;try{let F=await it.getSettings();F.experimentalAgents===void 0&&(F.experimentalAgents=!0),D(F),(h=F.visibleCols)!=null&&h.length&&w(F.visibleCols),F.viewMode&&d(F.viewMode),F.panelWidth&&F.panelWidth>=280&&F.panelWidth<=900&&C(F.panelWidth)}catch{}}async function Ir(){try{let h=await it.getCopilotStatus();h!=null&&h.authenticated&&(h!=null&&h.username)?xe(`Copilot: ${h.username}`):xe("Copilot: not logged in")}catch{}}async function ro(){try{if(it.getModels){let h=await it.getModels();h.models&&h.models.length>0&&B(h.models)}}catch{}}async function oo(){try{if(it.getAgents){let h=await it.getAgents();h.agents&&h.agents.length>0&&ke(h.agents)}}catch{}}function Cr(){let T=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,F=new WebSocket(T);qe.current=F,F.addEventListener("open",()=>{z(!0),ae(!0),Zt()}),F.addEventListener("close",()=>{z(!1),Qe.current=setTimeout(Cr,1500)}),F.addEventListener("message",ie=>{var de;try{let O=JSON.parse(ie.data);if(O.type==="tasks-updated"||(de=O.type)!=null&&de.startsWith("task:")){Zt();return}if(O.type==="task-changed"&&O.task){let re=O.task,he=typeof re.alteredBy=="string"?re.alteredBy:typeof re.author=="string"?re.author:"Someone",ne=O.source==="cli"?"cli":void 0;gl(re,he,ne);return}if(O.type==="task-deleted"&&O.taskId){let re=String(O.taskId);t(he=>{let ne=he.filter(me=>me.id!==re);return be.current=ne,ne})}if(O.type==="agent-run-started"){tt(re=>{if(re.find(Ne=>Ne.taskId===O.taskId&&(Ne.status==="running"||Ne.status==="queued")))return re;let ne=be.current.find(Ne=>Ne.id===O.taskId),me=re.some(Ne=>Ne.status==="running"),R={taskId:O.taskId,taskTitle:(ne==null?void 0:ne.title)??O.taskId.slice(0,8),status:me?"queued":"running",model:O.model,worktree:`wt/task-${O.taskId.slice(0,8)}`,branch:`agent/task-${O.taskId.slice(0,8)}`,startedAt:me?void 0:new Date().toISOString(),logs:[O.command??"\\u25B6 Starting agent run\\u2026"]};return[...re,R]});return}if(O.type==="agent-run-log"){tt(re=>re.map(he=>{if(he.taskId!==O.taskId)return he;let ne={...he,logs:[...he.logs,O.log]};for(let me of O.log.split(`\n`)){let R=me.trim();if(!(!R||!R.startsWith("{")))try{let Ne=JSON.parse(R);if(Ne.type==="step_finish"&&typeof Ne.part=="object"&&Ne.part){let Rt=Ne.part,ot=Rt.tokens,Nt=typeof Rt.cost=="number"?Rt.cost:0;ot&&(ne.inputTokens=(ne.inputTokens??0)+(ot.input??0),ne.outputTokens=(ne.outputTokens??0)+(ot.output??0),ne.totalTokens=(ne.totalTokens??0)+(ot.total??0),ne.reasoningTokens=(ne.reasoningTokens??0)+(ot.reasoning??0),ne.cost=(ne.cost??0)+Nt)}}catch{}}return ne}));return}if(O.type==="agent-run-finished"){tt(re=>{let he=re.map(me=>me.taskId===O.taskId?{...me,status:O.success?"done":"failed",completedAt:new Date().toISOString(),logs:[...me.logs,O.success?"\\u2713 Agent run completed":`\\u2717 Agent run failed (exit ${O.exitCode})`],inputTokens:typeof O.inputTokens=="number"?O.inputTokens:me.inputTokens,outputTokens:typeof O.outputTokens=="number"?O.outputTokens:me.outputTokens,totalTokens:typeof O.totalTokens=="number"?O.totalTokens:me.totalTokens,reasoningTokens:typeof O.reasoningTokens=="number"?O.reasoningTokens:me.reasoningTokens,cost:typeof O.cost=="number"?O.cost:me.cost,durationMs:me.startedAt?Date.now()-new Date(me.startedAt).getTime():void 0}:me);if(!he.find(me=>me.status==="running")){let me=he.find(R=>R.status==="queued");if(me)return he.map(R=>R.taskId===me.taskId?{...R,status:"running",startedAt:new Date().toISOString(),logs:[...R.logs,"\\u25B6 Starting agent run\\u2026"]}:R)}return he});return}}catch{}});let J=setInterval(()=>{F.readyState===WebSocket.OPEN&&F.send(JSON.stringify({type:"ping"}))},2e4);F.addEventListener("close",()=>clearInterval(J))}async function ca(h,T){let F=be.current.find(J=>J.id===h);t(J=>{let ie=J.map(de=>de.id===h?{...de,...T}:de);return be.current=ie,ie}),T.status&&(F!=null&&F.status)&&T.status!==F.status&&St(h,F.status,T.status,fe);try{let J=await it.updateTask(h,T);J.task&&t(ie=>{let de=ie.map(O=>O.id===h?J.task:O);return be.current=de,de})}catch{Zt()}}async function ii(h,T,F,J,ie){let de=be.current.filter(ne=>ne.status===T).sort(Wr),O=Od(de,h,F,J),re=ie??O.newSortKey,he=O.normalizationPatches;t(ne=>{let me=new Map;for(let{id:Ne,sortKey:Rt}of he)me.set(Ne,{sortKey:Rt});me.set(h,{status:T,sortKey:re});let R=ne.map(Ne=>me.has(Ne.id)?{...Ne,...me.get(Ne.id)}:Ne);return be.current=R,R}),await it.updateTask(h,{status:T,sortKey:re}).catch(()=>{Zt()})}async function ui(h){t(T=>{let F=T.filter(J=>J.id!==h);return be.current=F,F});try{await it.deleteTask(h)}catch{Zt()}}async function di(h){var T;try{let F=await it.createTask(h);return await Zt(),(T=F==null?void 0:F.task)==null?void 0:T.id}catch{}}function Ua(h,T="details",F){ut([]),s({open:!0,task:h,tab:T,addColumnId:F})}function fi(){ut(h=>{if(h.length===0)return h;let T=h[h.length-1],F=h.slice(0,-1);return Pe.current=!0,Fe.current=null,window.location.hash=`#task-${T.id}`,s(J=>({...J,open:!0,task:T,tab:"details"})),F})}function xl(h,T){if(/\\.html?$/i.test(h)){window.open(T,"_blank","noopener,noreferrer");return}L({open:!0,name:h,url:T})}let ci=yy(e,y,u.toLowerCase()),no=window.location.origin,Ha=se.default.useMemo(()=>{let h=new Set;return e.forEach(T=>(T.tags??[]).forEach(F=>h.add(F))),Array.from(h).sort()},[e]),lo=se.default.useMemo(()=>{var T;let h=(T=l.task)==null?void 0:T.id;return h?Ge.filter(F=>F.taskId===h).map(({field:F,from:J,to:ie,actor:de,timestamp:O,source:re})=>({field:F,from:J,to:ie,actor:de,timestamp:O,source:re})):[]},[(Yo=l.task)==null?void 0:Yo.id,Ge]),vl=se.default.useMemo(()=>{let h=e;return I.status!=="all"&&(h=h.filter(T=>T.status===I.status)),I.component&&(h=h.filter(T=>T.component===I.component)),I.type&&(h=h.filter(T=>T.type===I.type)),I.user&&(h=h.filter(T=>T.author===I.user)),I.tags&&I.tags.length>0&&(h=h.filter(T=>I.tags.every(F=>(T.tags??[]).includes(F)))),h},[e,I]),yl=se.default.useMemo(()=>new Map(Ae.map(h=>[h.taskId,h.status])),[Ae]),so=q&&!H;return(0,oe.jsxs)(oe.Fragment,{children:[hy&&!o&&(0,oe.jsx)(vy,{onClose:Mg?()=>n(!0):void 0}),(0,oe.jsx)(_d,{projectName:k,missingProjectIconStyle:"vibeflow",wsConnected:H,port:gy,searchQuery:u,filterTags:I.tags,allTags:Ha,onToggleTag:h=>{let T=I.tags??[],F=T.includes(h)?T.filter(J=>J!==h):[...T,h];v(J=>({...J,tags:F}))},premiumUsage:we,isLoading:a,taskSummary:ci,onSearchChange:c,onSettings:()=>m(!0),agentRuns:Ae,selectMode:Ot,selectedCount:Yt.size,agentQueueCount:Ae.filter(h=>h.status==="running"||h.status==="queued").length,onOpenAgentQueue:()=>Na(!0),experimentalAgents:W.experimentalAgents}),(0,oe.jsx)(tf,{tasks:e,filter:I,view:i,onFilter:v,onViewChange:h=>{d(h),it.saveSettings({...W,viewMode:h}),D(T=>({...T,viewMode:h}))}}),(0,oe.jsxs)("div",{className:"flex flex-1 overflow-hidden",style:{minHeight:0,position:"relative"},children:[i==="list"?(0,oe.jsx)(qd,{tasks:vl,searchQuery:u,isLoading:a,onOpenPanel:(h,T)=>Ua(h,T),onAddTask:h=>Ua(null,"details",h),onDrop:(h,T)=>ca(h,{status:T}),experimentalAgents:W.experimentalAgents}):(0,oe.jsx)(Ud,{tasks:vl,visibleCols:y,searchQuery:u,isLoading:a,onOpenPanel:(h,T,F)=>Ua(h,T,F),onDrop:(h,T)=>ca(h,{status:T}),onReorder:ii,selectMode:Ot,selectedTaskIds:Yt,onToggleSelect:jo,onEnterSelectMode:Xo,agentStatuses:W.experimentalAgents===!0?yl:void 0,onRunSelectedAgents:W.experimentalAgents===!0?Ia:void 0,onExitSelectMode:()=>{zt(!1),Pt(new Set)},experimentalAgents:W.experimentalAgents}),l.open&&(0,oe.jsxs)("div",{id:"detail-panel-container",style:{width:x,zIndex:N?30:10},className:N?"resizing":"",children:[(0,oe.jsx)("div",{id:"detail-panel-resize-handle",onMouseDown:h=>{h.preventDefault(),p(!0),document.body.classList.add("vibeflow-resizing-panel");let T=h.clientX,F=x,J=de=>{let O=F-(de.clientX-T);C(Math.max(360,Math.min(860,O)))},ie=de=>{p(!1),document.body.classList.remove("vibeflow-resizing-panel");let O=Math.max(360,Math.min(860,F-(de.clientX-T)));it.saveSettings({...W,panelWidth:O}),D(re=>({...re,panelWidth:O})),window.removeEventListener("mousemove",J),window.removeEventListener("mouseup",ie)};window.addEventListener("mousemove",J),window.addEventListener("mouseup",ie)}}),(0,oe.jsx)(ef,{open:l.open,task:l.task,tab:l.tab,showLockIndicator:!1,addColumnId:l.addColumnId,gitUserName:fe,githubUrl:te,baseUrl:no,isResizing:N,api:it,onClose:()=>{ut([]),s(h=>({...h,open:!1}))},onSave:async h=>{l.task&&await ca(l.task.id,h),s(T=>({...T,open:!1}))},onCreate:async h=>{let T=await di(h);return s(F=>({...F,open:!1})),T},onDelete:async h=>{await ui(h),s(T=>({...T,open:!1}))},onPatch:ca,onFilePreview:xl,onGoBack:Me.length>0?fi:void 0,navBackLabel:Me.length>0?Me[Me.length-1].title:void 0,externalLocalChanges:lo,allTasks:e,agentRun:Ae.find(h=>{var T;return h.taskId===((T=l.task)==null?void 0:T.id)}),onRunAgent:ml,onStopAgent:ao,onDequeueAgent:si,models:b,defaultModel:W.defaultModel,perTypeModels:W.perTypeModels,defaultModelBug:W.defaultModelBug,defaultModelResearch:W.defaultModelResearch,defaultModelTask:W.defaultModelTask,agents:V,defaultAgent:W.defaultAgent,experimentalAgents:W.experimentalAgents,createBranch:W.createBranch})]})]}),W.experimentalAgents===!0&&(0,oe.jsx)(nf,{open:za,runs:Ae,onStop:ao,onOpenTask:h=>{let T=e.find(F=>F.id===h);T&&(Ua(T,"agent"),Na(!1))},onClose:()=>Na(!1)}),so&&(0,Rg.createPortal)((0,oe.jsx)("div",{id:"ws-lost-overlay",style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:99999,background:"rgba(2, 6, 23, 0.88)",backdropFilter:"blur(4px)",WebkitBackdropFilter:"blur(4px)",display:"flex",alignItems:"center",justifyContent:"center",padding:16,pointerEvents:"all",cursor:"not-allowed"},children:(0,oe.jsxs)("div",{style:{width:"min(420px, 92vw)",borderRadius:14,border:"1px solid var(--p-border-s)",background:"var(--p-card)",boxShadow:"0 16px 40px rgba(2,6,23,0.7)",padding:"20px 22px",display:"flex",flexDirection:"column",gap:10,cursor:"default",pointerEvents:"auto"},children:[(0,oe.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,oe.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"var(--p-text-m)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{animation:"spin 1.1s linear infinite",flexShrink:0},children:(0,oe.jsx)("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}),(0,oe.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"var(--p-text)"},children:"Connection Lost"})]}),(0,oe.jsx)("div",{style:{fontSize:12,color:"var(--p-text-m)",lineHeight:1.6},children:"Real-time connection to the server was interrupted. Reconnecting in the background\\u2026"})]})}),document.body),(0,oe.jsx)(rf,{open:f,visibleCols:y,settings:W,models:b,agents:V,onClose:()=>m(!1),onSave:(h,T)=>{w(h);let F={...W,...T,visibleCols:h};D(F),it.saveSettings(F)}}),(0,oe.jsx)(of,{open:g.open,name:g.name,url:g.url,onClose:()=>L(h=>({...h,open:!1}))})]})}var Fg=E(j(),1),Dg=document.getElementById("root");Dg&&(0,Eg.createRoot)(Dg).render((0,Fg.jsx)(Ag,{}));})();\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact/cjs/react-jsx-runtime.production.min.js:\n (**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nlucide-react/dist/esm/shared/src/utils.js:\nlucide-react/dist/esm/defaultAttributes.js:\nlucide-react/dist/esm/Icon.js:\nlucide-react/dist/esm/createLucideIcon.js:\nlucide-react/dist/esm/icons/bot.js:\nlucide-react/dist/esm/icons/chevron-down.js:\nlucide-react/dist/esm/icons/chevron-right.js:\nlucide-react/dist/esm/icons/circle-check-big.js:\nlucide-react/dist/esm/icons/clock.js:\nlucide-react/dist/esm/icons/download.js:\nlucide-react/dist/esm/icons/eye.js:\nlucide-react/dist/esm/icons/file-text.js:\nlucide-react/dist/esm/icons/flag.js:\nlucide-react/dist/esm/icons/folder-tree.js:\nlucide-react/dist/esm/icons/git-branch.js:\nlucide-react/dist/esm/icons/layout-dashboard.js:\nlucide-react/dist/esm/icons/list.js:\nlucide-react/dist/esm/icons/lock.js:\nlucide-react/dist/esm/icons/message-circle.js:\nlucide-react/dist/esm/icons/panels-top-left.js:\nlucide-react/dist/esm/icons/paperclip.js:\nlucide-react/dist/esm/icons/play.js:\nlucide-react/dist/esm/icons/plus.js:\nlucide-react/dist/esm/icons/search.js:\nlucide-react/dist/esm/icons/settings.js:\nlucide-react/dist/esm/icons/shield-check.js:\nlucide-react/dist/esm/icons/square.js:\nlucide-react/dist/esm/icons/tag.js:\nlucide-react/dist/esm/icons/trash-2.js:\nlucide-react/dist/esm/icons/triangle-alert.js:\nlucide-react/dist/esm/icons/upload.js:\nlucide-react/dist/esm/icons/user.js:\nlucide-react/dist/esm/icons/x.js:\nlucide-react/dist/esm/lucide-react.js:\n (**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n *)\n*/\n';var Xn=Qn(import.meta.url),Jn=Gn(Xn),Zn=[et(Jn,"kanban-template.html"),et(process.cwd(),"src","server","kanban-template.html"),et(process.cwd(),"dist","server","kanban-template.html")];function er(t){let e=Zn.find(r=>Kn(r));if(!e)throw new Error("kanban-template.html not found in expected locations");return Yn(e,"utf8").replaceAll("__PORT__",String(t))}function tr(t){return t.saasMode?`window.__SAAS_MODE__ = true; window.__BOARD_URL__ = ${JSON.stringify(t.boardUrl??"")}; window.__BOARD_NAME__ = ${JSON.stringify(t.boardName??"")}; window.__IS_ADMIN__ = ${t.isAdmin?"true":"false"};`:""}var nr="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iNCIgZmlsbD0iIzI1NjNlYiIvPjxyZWN0IHg9IjIuNSIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iOCIgcng9IjEiIGZpbGw9IndoaXRlIiBvcGFjaXR5PSIwLjciLz48cmVjdCB4PSI2LjUiIHk9IjIiIHdpZHRoPSIyIiBoZWlnaHQ9IjE0IiByeD0iMSIgZmlsbD0id2hpdGUiLz48cmVjdCB4PSIxMC41IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSI2IiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuNyIvPjxyZWN0IHg9IjE0LjUiIHk9IjQiIHdpZHRoPSIyIiBoZWlnaHQ9IjEwIiByeD0iMSIgZmlsbD0id2hpdGUiIG9wYWNpdHk9IjAuODUiLz48L3N2Zz4=";function rr(t){return`<!DOCTYPE html>
|
|
1668
1698
|
<html lang="en" class="dark">
|
|
1669
1699
|
<head>
|
|
1670
1700
|
<meta charset="UTF-8">
|
|
@@ -1679,13 +1709,13 @@ var PROTO_CONFIG = {
|
|
|
1679
1709
|
<script>window.__PORT__ = ${t.port}; ${tr(t)}</script>
|
|
1680
1710
|
<script>${Ze}</script>
|
|
1681
1711
|
</body>
|
|
1682
|
-
</html>`}function tt(t){let e=typeof t=="number"?{port:t}:t;return Ze?rr(e):er(e.port)}import{readFileSync as It,writeFileSync as Ja,mkdirSync as Za,existsSync as
|
|
1683
|
-
`;case"t":return" ";case"r":return"\r";case"\\":return"\\";default:return r}})}function oe(t,e,r,c,d,i,o){c=
|
|
1684
|
-
`).map(d=>d.trim()).filter(d=>d.length>0&&!d.startsWith("#")).map(d=>{let i=d.split("/"),o=i[0]||"other",a=(i.slice(1).join("/")||d).replace(/-/g," ").replace(/(\d+\.\d+)/,"v$1").replace(/\b\w/g,s=>s.toUpperCase());return{id:d,label:a,provider:o}}),error:null}}catch(t){let e=t instanceof Error?t.message:"Unknown error";return{models:[],error:`OpenCode not found: ${e}`}}})});import{execSync as
|
|
1685
|
-
`):[]);return Zt.set(t,{shas:d,fetchedAt:Date.now()}),d}catch{return new Set}}function tn(t,e){return t?e.has(t):null}function dn(t,e,r){t.get("/api/project",(i,o)=>{o.json({name:Re(e),projectDir:e,branch:Pt(e)})}),t.get("/api/tasks",(i,o)=>{let l=Y(e),a=en(e),s=l.map(u=>{let f=u.commits?.length?u.commits[u.commits.length-1].sha:void 0;return{...u,createdAt:u.created,commentCount:(u.comments??[]).filter(k=>!k.deleted).length,fileCount:u.files?.length??0,commitPushed:tn(f,a)}});o.json({tasks:s})}),t.param("id",(i,o,l,a)=>{if(!Ae(a)){o.status(400).json({error:"Invalid task id"});return}l()}),t.get("/api/tasks/:id",(i,o)=>{let{id:l}=i.params,a=G(e,l),s=a?X(a):null;if(!s){o.status(404).json({error:"Task not found"});return}let u=en(e),f=s.commits?.length?s.commits[s.commits.length-1].sha:void 0;o.json({...s,commitPushed:tn(f,u)})}),t.post("/api/tasks",(i,o)=>{let{title:l,description:a,selector:s,cssSelector:u,url:f,type:k,priority:y,file:b,line:h,col:p,component:g,status:x,agent:m,model:S,screenshot:v,annotatedElementText:_,tags:C,sortKey:N}=i.body;if(!l||!s){o.status(400).json({error:"Missing required fields: title, selector"});return}let M=lt(e),R=fe(e,{title:l,description:a||"",selector:s,cssSelector:u||void 0,url:f||void 0,status:["backlog","todo","in-progress","review","done"].includes(x)?x:"todo",file:b||void 0,line:h!=null?Number(h):void 0,col:p!=null?Number(p):void 0,component:g||void 0,type:k||void 0,priority:y||void 0,author:M.name,agent:m||void 0,model:S||void 0,annotatedElementText:_?String(_).slice(0,300):void 0,tags:Array.isArray(C)?C.filter(T=>typeof T=="string"&&T.length>0):void 0,sortKey:N?String(N):void 0});if(v){let T=K(e,A,ke);Xt(T,{recursive:!0});let L=`${R.id}.png`;Gt(K(T,L),Buffer.from(v,"base64")),$(e,R.id,{screenshot:L}),R.screenshot=L}console.log(`[Proto] Task created: "${R.title}" (${R.id})`),r({type:"tasks-updated"}),o.json({success:!0,task:R})}),t.patch("/api/tasks/:id",(i,o)=>{let{id:l}=i.params,a=i.body,s=["backlog","todo","in-progress","review","done"];if(a.status!==void 0&&!s.includes(a.status)){o.status(400).json({error:`Invalid status: ${a.status}`});return}let u=$(e,l,a);if(!u){o.status(404).json({error:"Task not found"});return}console.log(`[Proto] Task updated: "${u.title}" (${u.id}) \u2192 status:${u.status}`),r({type:"task-changed",taskId:u.id,action:"update",task:u}),o.json({success:!0,task:u})}),t.delete("/api/tasks/:id",(i,o)=>{let{id:l}=i.params;if(!Ee(e,l)){o.status(404).json({error:"Task not found"});return}console.log(`[Proto] Task deleted: ${l}`),r({type:"task-deleted",taskId:l}),o.json({success:!0})}),t.get("/api/tasks/:id/comments",(i,o)=>{let{id:l}=i.params,a=ee(e,l);o.json({comments:a})}),t.post("/api/tasks/:id/comments",(i,o)=>{let{id:l}=i.params,{author:a,text:s,files:u,source:f}=i.body;if(!s||!s.trim()){o.status(400).json({error:"Missing required field: text"});return}let k=a==="agent"?"agent":"user",y=f==="cli"?"cli":"web",b=oe(e,l,k,s.trim(),Array.isArray(u)?u:void 0,void 0,y);r({type:"tasks-updated"}),o.json({success:!0,comment:b})}),t.patch("/api/tasks/:id/comments/:commentId",(i,o)=>{let{id:l,commentId:a}=i.params,{text:s}=i.body;if(!s||!s.trim()){o.status(400).json({error:"Missing required field: text"});return}let u=Ne(e,l,a,s.trim());if(!u){o.status(404).json({error:"Comment not found"});return}o.json({success:!0,comment:u})}),t.delete("/api/tasks/:id/comments/:commentId",(i,o)=>{let{id:l,commentId:a}=i.params;if(!Pe(e,l,a)){o.status(404).json({error:"Comment not found"});return}r({type:"tasks-updated"}),o.json({success:!0})}),t.get("/api/tasks/:id/files",(i,o)=>{let{id:l}=i.params,a=q(e,l);o.json({files:a})}),t.get("/api/tasks/:id/files/:filename",(i,o)=>{let{id:l,filename:a}=i.params,s=wt(e,l,a);if(!s){o.status(404).json({error:"File not found"});return}o.sendFile(s)});let c=new Set([".png",".jpg",".jpeg",".gif",".webp",".pdf",".txt",".md",".json",".csv",".svg",".mp4",".mov",".zip"]);t.post("/api/tasks/:id/files/:filename",te.raw({type:"*/*",limit:"50mb"}),(i,o)=>{let{id:l,filename:a}=i.params;if(!a||a.includes("/")||a.includes("\\")){o.status(400).json({error:"Invalid filename"});return}let s=an(decodeURIComponent(a)).toLowerCase();if(!c.has(s)){o.status(415).json({error:"File type not allowed"});return}let u=i.body;if(!Buffer.isBuffer(u)||u.length===0){o.status(400).json({error:"Empty file body"});return}let f=xt(e,l,decodeURIComponent(a),u);r({type:"tasks-updated"}),o.json({success:!0,file:f})}),t.delete("/api/tasks/:id/files/:filename",(i,o)=>{let{id:l,filename:a}=i.params;if(!kt(e,l,a)){o.status(404).json({error:"File not found"});return}oe(e,l,"user",`\u{1F5D1}\uFE0F File removed: \`${a}\``,void 0,"system","web"),r({type:"tasks-updated"}),o.json({success:!0})});let d=K(e,A,ke);t.post("/api/tasks/:id/screenshot",te.json(),(i,o)=>{let{id:l}=i.params,{screenshot:a}=i.body;if(!G(e,l)){o.status(404).json({error:"Task not found"});return}if(!a){o.status(400).json({error:"Missing screenshot"});return}Xt(d,{recursive:!0});let s=`${l}.png`;Gt(K(d,s),Buffer.from(a,"base64")),$(e,l,{screenshot:s}),r({type:"tasks-updated"}),o.json({success:!0,screenshot:s})}),t.delete("/api/tasks/:id/screenshot",(i,o)=>{let{id:l}=i.params;if(!G(e,l)){o.status(404).json({error:"Task not found"});return}let a=`${l}.png`,s=K(d,a);ct(s)&&rn(s),$(e,l,{screenshot:void 0}),r({type:"tasks-updated"}),o.json({success:!0})})}function pn(t,e,r){t.get("/api/user",(l,a)=>{a.json(lt(e))}),t.get("/api/settings",(l,a)=>{a.json(B(e))}),t.post("/api/settings",(l,a)=>{if(!be(l,a))return;let s=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch","defaultModel","defaultAgent","perTypeModels","defaultModelBug","defaultModelResearch","defaultModelTask","experimentalAgents"]),u=Object.fromEntries(Object.entries(l.body).filter(([k])=>s.has(k))),f=Ut(e,u);a.json({success:!0,settings:f})}),t.get("/api/push/workspaces",async(l,a)=>{let s=await W().catch(()=>null);if(!s){a.status(401).json({error:"Not logged in"});return}let u=process.env.VIBEFLOW_API_URL??"http://localhost:3000";try{let f=await fetch(`${u}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${s}`}});if(!f.ok){let y=(await f.json().catch(()=>({}))).error??`HTTP ${f.status} from ${u}`;console.error(`[Proto] GET /api/push/workspaces failed: ${y}`),a.status(f.status).json({error:y});return}a.json(await f.json())}catch(f){let k=f instanceof Error?f.message:String(f);console.error(`[Proto] GET /api/push/workspaces network error: ${k}`),a.status(502).json({error:`Network error contacting SaaS API: ${k}`})}}),t.post("/api/push",te.json(),async(l,a)=>{let{workspaceId:s,keepLocalFiles:u}=l.body,f=await W().catch(()=>null);if(!f){a.status(401).json({error:"Not logged in"});return}let k=Z(e);if(k.length===0){a.json({imported:0,message:"No local tasks found"});return}let y=process.env.VIBEFLOW_API_URL??"http://localhost:3000",b={tasks:k};try{let h=await fetch(`${y}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${f}`},body:JSON.stringify(b)});if(!h.ok){let g=await h.json().catch(()=>({}));a.status(h.status).json({error:g.error??"Import failed"});return}let p=await h.json();if(!u){for(let g of k)try{rn(g.filePath)}catch{}r?.({type:"tasks-updated"})}a.json({imported:p.imported,skipped:p.skipped??0,workspaceId:p.workspaceId,boardId:p.boardId})}catch(h){let p=h instanceof Error?h.message:String(h);console.error(`[Proto] POST /api/push network error: ${p}`),a.status(502).json({error:`Network error contacting SaaS API: ${p}`})}}),t.get("/api/copilot/status",(l,a)=>{Ce(e).then(s=>a.json(s)).catch(s=>{console.error(`[Proto] GET /api/copilot/status error: ${s instanceof Error?s.message:String(s)}`),a.json({authenticated:!1,source:null,tokenHint:null,username:null})})}),t.post("/api/copilot/login",async(l,a)=>{if(be(l,a))try{let s=await Ce(e);if(s.authenticated){a.json({launched:!1,alreadyAuthenticated:!0,username:s.username??null});return}if(!Le()){a.status(400).json({launched:!1,error:"GitHub CLI is not installed. Install gh and authenticate with 'gh auth login'."});return}Jt("gh",["auth","login","--web","--hostname","github.com","--git-protocol","https","--scopes","read:user,copilot"],{cwd:e,detached:!0,stdio:"ignore"}).unref(),a.json({launched:!0})}catch(s){let u=s instanceof Error?s.message:String(s);console.error(`[Proto] POST /api/copilot/login error: ${u}`),a.status(500).json({launched:!1,error:u})}});let c=null;t.get("/api/agent-status",(l,a)=>{a.json(c??{message:"",active:!1,updatedAt:null})}),t.post("/api/agent-status",(l,a)=>{if(!be(l,a))return;let{message:s,active:u}=l.body;c={message:(s??"").slice(0,200),active:u!==!1,updatedAt:new Date().toISOString()},r?.({type:"agent-status",...c}),a.json({ok:!0})}),t.delete("/api/agent-status",(l,a)=>{be(l,a)&&(c=null,r?.({type:"agent-status",message:"",active:!1,updatedAt:null}),a.json({ok:!0}))});let d=new Map,i=new Map;function o(l,a){try{let s=JSON.parse(a);if(s.type==="step_finish"&&typeof s.part=="object"&&s.part){let u=s.part,f=u.tokens,k=typeof u.cost=="number"?u.cost:0;if(f){let y=i.get(l)??{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cost:0};i.set(l,{inputTokens:y.inputTokens+(f.input??0),outputTokens:y.outputTokens+(f.output??0),totalTokens:y.totalTokens+(f.total??0),reasoningTokens:y.reasoningTokens+(f.reasoning??0),cost:y.cost+k})}}}catch{}}t.post("/api/agent/run",te.json(),async(l,a)=>{if(!be(l,a))return;let{taskId:s,model:u,agent:f}=l.body;if(!s){a.status(400).json({error:"taskId is required"});return}if(!Ae(s)){a.status(400).json({error:"Invalid task ID"});return}let k=G(e,s);if(!k){a.status(404).json({error:"Task not found"});return}let y=X(k);if(!y){a.status(404).json({error:"Task not found"});return}let b=ee(e,s).filter(P=>!P.deleted),h=ge(e),p=q(e,s).map(P=>({...P,url:`http://localhost:${h.port}${P.url}`})),g=B(e),x=(y.type??"").toLowerCase()==="research",m=(y.type??"").toLowerCase()==="bug",S=Se(y,k,b,p,e),v=Ie({hasResearchTasks:x,hasBugTasks:m,autoCommit:g.autoCommit,autoPush:g.autoPush,autoComment:g.autoComment,createBranch:g.createBranch}),_=`${S}
|
|
1712
|
+
</html>`}function tt(t){let e=typeof t=="number"?{port:t}:t;return Ze?rr(e):er(e.port)}import{readFileSync as It,writeFileSync as Ja,mkdirSync as Za,existsSync as Pt}from"fs";import{join as Nt,basename as ar}from"path";import{execSync as or}from"child_process";var Et={port:3700};function ir(t){return Nt(t,A,mt)}function ge(t){let e=ir(t);if(!Pt(e))return{...Et};let r=It(e,"utf-8"),c=JSON.parse(r);return{...Et,...c}}function Pe(t){let e=Nt(t,"package.json");if(Pt(e))try{let r=JSON.parse(It(e,"utf-8"));if(r.name)return r.name}catch{}return ar(t)}function Rt(t){try{return or("git branch --show-current",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}import{mkdirSync as lr,writeFileSync as sr}from"fs";import{dirname as cr}from"path";import{randomBytes as ur}from"crypto";function Lt(t){let e=t;return{...t,text:t.text||e.body||"",author:t.author??"agent"}}function ee(t,e){let r=Q(t,e);return((r?X(r):null)?.comments??[]).filter(d=>!d.deleted).map(Lt)}function Mt(t){return t.replace(/\\(n|t|r|\\)/g,(e,r)=>{switch(r){case"n":return`
|
|
1713
|
+
`;case"t":return" ";case"r":return"\r";case"\\":return"\\";default:return r}})}function oe(t,e,r,c,d,i,o){c=Mt(c);let l=Q(t,e),s=(l?X(l):null)?.comments??[],u={id:ur(8).toString("hex"),author:r,text:c,...d&&d.length>0?{files:d}:{},...i&&i!=="comment"?{type:i}:{},createdAt:new Date().toISOString(),source:o??"cli"},f=[...s,u];if(!$(t,e,{comments:f})){let y=vt(t,e,new Date().toISOString());lr(cr(y),{recursive:!0}),sr(y,JSON.stringify({id:e,comments:f},null,2),"utf-8")}return u}function Ne(t,e,r,c){let d=Q(t,e),o=(d?X(d):null)?.comments??[],l=o.find(a=>a.id===r&&!a.deleted);return l?(l.text=Mt(c),l.updatedAt=new Date().toISOString(),$(t,e,{comments:o}),Lt(l)):null}function Re(t,e,r){let c=Q(t,e),i=(c?X(c):null)?.comments??[],o=i.findIndex(l=>l.id===r&&!l.deleted);return o===-1?!1:(i[o]={...i[o],deleted:!0,text:"[Comment deleted]",updatedAt:new Date().toISOString()},$(t,e,{comments:i}),!0)}import{execSync as zt}from"child_process";import{existsSync as dr,readFileSync as pr,writeFileSync as po,mkdirSync as fo}from"fs";import{join as fr}from"path";var gr="config.json";function br(t){return fr(t,A,gr)}function mr(t){let e=br(t);if(!dr(e))return{};try{return JSON.parse(pr(e,"utf-8"))}catch{return{}}}function hr(t){return t.length<=8?"***":t.slice(0,6)+"..."+t.slice(-4)}function vr(){try{return zt("gh auth token --hostname github.com",{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}async function yr(t){try{let e=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${t}`,"User-Agent":"proto-studio-cli",Accept:"application/vnd.github+json"},signal:AbortSignal.timeout(5e3)});return e.ok?(await e.json()).login??null:null}catch{return null}}function xr(t){let e=process.env.GITHUB_TOKEN;if(e?.trim())return{token:e.trim(),source:"env"};let c=mr(t).copilotToken;if(typeof c=="string"&&c.trim())return{token:c.trim(),source:"config"};let d=vr();return d?{token:d,source:"gh-cli"}:null}async function Ce(t){let e=xr(t);if(!e)return{authenticated:!1,source:null,tokenHint:null,username:null};let r=await yr(e.token).catch(()=>null);return{authenticated:!0,source:e.source,tokenHint:hr(e.token),username:r}}function Le(){try{return zt("gh --version",{encoding:"utf-8",timeout:3e3,stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}import{existsSync as nt,readFileSync as Ot,writeFileSync as At,mkdirSync as $t}from"fs";import{join as Me}from"path";import Dt from"os";var kr="settings.json";function Ft(){return Me(Dt.homedir(),".vibeflow","settings.json")}function Bt(t){return Me(t,A,kr)}function rt(){try{return JSON.parse(Ot(Ft(),"utf-8"))}catch{return{}}}function Wt(t){let e=Me(Dt.homedir(),".vibeflow");nt(e)||$t(e,{recursive:!0}),At(Ft(),JSON.stringify(t,null,2),"utf-8")}function B(t){let e=rt(),r=Bt(t);if(!nt(r))return e;try{let c=JSON.parse(Ot(r,"utf-8"));return{...e,...c}}catch{return e}}function Ut(t,e){let r=Me(t,A);nt(r)||$t(r,{recursive:!0});let c=Bt(t),i={...B(t),...e};return At(c,JSON.stringify(i,null,2),"utf-8"),i}import ze from"fs/promises";import wr from"os";import at from"path";var Sr=at.join(wr.homedir(),".vibeflow"),Oe=at.join(Sr,"token");async function W(){try{return(await ze.readFile(Oe,"utf8")).trim()||null}catch{return null}}async function Ht(t){await ze.mkdir(at.dirname(Oe),{recursive:!0}),await ze.writeFile(Oe,t,{mode:384})}async function qt(){try{await ze.unlink(Oe)}catch{}}import{initTRPC as Cr,TRPCError as ot}from"@trpc/server";import{z as j}from"zod";var Kt=Cr.context().create(),_r=Kt.router,U=Kt.procedure,Vt=j.enum(["backlog","todo","in-progress","review","done"]),it=j.object({id:j.string().min(1)}),Yt=_r({project:U.query(({ctx:t})=>({name:Pe(t.projectDir),projectDir:t.projectDir})),copilotStatus:U.query(async({ctx:t})=>await Le()?await Ce(t.projectDir):{authenticated:!1,reason:"gh CLI not found"}),tasks:U.query(({ctx:t})=>({tasks:Y(t.projectDir).map(c=>({...c,createdAt:c.created,commentCount:(c.comments??[]).length,fileCount:Ye(t.projectDir,c.id)}))})),searchTasks:U.input(j.object({query:j.string().min(1),limit:j.number().int().min(1).max(100).optional(),pageScope:j.string().optional()})).query(({ctx:t,input:e})=>{let r=Y(t.projectDir),c=Math.max(1,e.limit??10),d=e.query.toLowerCase();return{results:r.filter(o=>`${o.title} ${o.description??""} ${o.type??""} ${o.component??""}`.toLowerCase().includes(d)).slice(0,c).map(o=>({score:1,task:o,commentCount:(o.comments??[]).length,fileCount:Ye(t.projectDir,o.id)}))}}),createTask:U.input(j.object({title:j.string().min(1),selector:j.string().min(1),description:j.string().optional(),cssSelector:j.string().optional(),url:j.string().optional(),type:j.string().optional(),priority:j.string().optional(),file:j.string().optional(),line:j.number().int().positive().optional(),col:j.number().int().positive().optional(),component:j.string().optional(),status:Vt.optional(),agent:j.string().optional(),model:j.string().optional(),author:j.string().optional(),annotatedElementText:j.string().max(300).optional()})).mutation(({ctx:t,input:e})=>{let r=fe(t.projectDir,{title:e.title,description:e.description??"",selector:e.selector,cssSelector:e.cssSelector,url:e.url,status:e.status??"todo",screenshot:void 0,file:e.file,line:e.line,col:e.col,component:e.component,type:e.type,priority:e.priority,author:e.author??"Unknown",agent:e.agent,model:e.model,annotatedElementText:e.annotatedElementText});return t.broadcast({type:"tasks-updated"}),{success:!0,task:r}}),updateTask:U.input(j.object({id:j.string().min(1),updates:j.object({status:Vt.optional(),title:j.string().min(1).optional(),description:j.string().optional(),type:j.string().optional(),priority:j.string().optional(),reportBack:j.boolean().optional(),agent:j.string().optional(),model:j.string().optional()})})).mutation(({ctx:t,input:e})=>{let r=$(t.projectDir,e.id,e.updates);if(!r)throw new ot({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0,task:r}}),deleteTask:U.input(it).mutation(({ctx:t,input:e})=>{if(!Ee(t.projectDir,e.id))throw new ot({code:"NOT_FOUND",message:"Task not found"});return t.broadcast({type:"tasks-updated"}),{success:!0}}),comments:U.input(it).query(({ctx:t,input:e})=>({comments:ee(t.projectDir,e.id)})),addComment:U.input(j.object({taskId:j.string().min(1),text:j.string().min(1),author:j.enum(["user","agent"]).optional().default("user"),files:j.array(j.string()).optional(),source:j.enum(["cli","web"]).optional().default("web")})).mutation(({ctx:t,input:e})=>{let r=oe(t.projectDir,e.taskId,e.author,e.text.trim(),e.files,void 0,e.source);return t.broadcast({type:"tasks-updated"}),{success:!0,comment:r}}),updateComment:U.input(j.object({taskId:j.string().min(1),commentId:j.string().min(1),text:j.string().min(1)})).mutation(({ctx:t,input:e})=>{let r=Ne(t.projectDir,e.taskId,e.commentId,e.text.trim());if(!r)throw new ot({code:"NOT_FOUND",message:"Comment not found"});return{success:!0,comment:r}}),deleteComment:U.input(j.object({taskId:j.string().min(1),commentId:j.string().min(1)})).mutation(({ctx:t,input:e})=>(Re(t.projectDir,e.taskId,e.commentId),t.broadcast({type:"tasks-updated"}),{success:!0})),files:U.input(it).query(({ctx:t,input:e})=>({files:q(t.projectDir,e.id)})),models:U.query(async()=>{try{let{execSync:t}=await import("child_process");return{models:t("opencode models",{encoding:"utf-8",timeout:1e4}).split(`
|
|
1714
|
+
`).map(d=>d.trim()).filter(d=>d.length>0&&!d.startsWith("#")).map(d=>{let i=d.split("/"),o=i[0]||"other",a=(i.slice(1).join("/")||d).replace(/-/g," ").replace(/(\d+\.\d+)/,"v$1").replace(/\b\w/g,s=>s.toUpperCase());return{id:d,label:a,provider:o}}),error:null}}catch(t){let e=t instanceof Error?t.message:"Unknown error";return{models:[],error:`OpenCode not found: ${e}`}}})});import{execSync as Gt}from"child_process";function lt(t){try{let e=Gt("git config user.name",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim(),r=Gt("git config user.email",{cwd:t,encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();return{name:e||"Unknown",email:r||""}}catch{return{name:"Unknown",email:""}}}function Ae(t){return/^[a-f0-9]{30}$/.test(t)}function be(t,e){let r=t.headers.origin;return r&&!r.startsWith("http://localhost")?(e.status(403).json({error:"Forbidden"}),!1):!0}var Mr=new Set(["https://app.vibeflow.tools"]);function zr(t){if(!t)return null;try{let e=new URL(t).origin;return Mr.has(e)?e:null}catch{return null}}var li=Ir(import.meta.url);function cn(){for(let t of Object.values(Rr()))for(let e of t??[])if(e.family==="IPv4"&&!e.internal)return e.address;return null}function un(t,e){t.get("/api/pages",(r,c)=>{c.json({pages:e})})}var Zt=new Map;function en(t){let r=Zt.get(t);if(r&&Date.now()-r.fetchedAt<3e5)return r.shas;try{let c=_e("git log --remotes --format=%H",{cwd:t,timeout:5e3}).toString().trim(),d=new Set(c?c.split(`
|
|
1715
|
+
`):[]);return Zt.set(t,{shas:d,fetchedAt:Date.now()}),d}catch{return new Set}}function tn(t,e){return t?e.has(t):null}function dn(t,e,r){t.get("/api/project",(i,o)=>{o.json({name:Pe(e),projectDir:e,branch:Rt(e)})}),t.get("/api/tasks",(i,o)=>{let l=Y(e),a=en(e),s=l.map(u=>{let f=u.commits?.length?u.commits[u.commits.length-1].sha:void 0;return{...u,createdAt:u.created,commentCount:(u.comments??[]).filter(k=>!k.deleted).length,fileCount:u.files?.length??0,commitPushed:tn(f,a)}});o.json({tasks:s})}),t.param("id",(i,o,l,a)=>{if(!Ae(a)){o.status(400).json({error:"Invalid task id"});return}l()}),t.get("/api/tasks/:id",(i,o)=>{let{id:l}=i.params,a=Q(e,l),s=a?X(a):null;if(!s){o.status(404).json({error:"Task not found"});return}let u=en(e),f=s.commits?.length?s.commits[s.commits.length-1].sha:void 0;o.json({...s,commitPushed:tn(f,u)})}),t.post("/api/tasks",(i,o)=>{let{title:l,description:a,selector:s,cssSelector:u,url:f,type:k,priority:y,file:b,line:h,col:p,component:g,status:x,agent:m,model:S,screenshot:v,annotatedElementText:_,tags:C,sortKey:N}=i.body;if(!l||!s){o.status(400).json({error:"Missing required fields: title, selector"});return}let z=lt(e),P=fe(e,{title:l,description:a||"",selector:s,cssSelector:u||void 0,url:f||void 0,status:["backlog","todo","in-progress","review","done"].includes(x)?x:"todo",file:b||void 0,line:h!=null?Number(h):void 0,col:p!=null?Number(p):void 0,component:g||void 0,type:k||void 0,priority:y||void 0,author:z.name,agent:m||void 0,model:S||void 0,annotatedElementText:_?String(_).slice(0,300):void 0,tags:Array.isArray(C)?C.filter(T=>typeof T=="string"&&T.length>0):void 0,sortKey:N?String(N):void 0});if(v){let T=K(e,A,ke);Xt(T,{recursive:!0});let L=`${P.id}.png`;Qt(K(T,L),Buffer.from(v,"base64")),$(e,P.id,{screenshot:L}),P.screenshot=L}console.log(`[Vibeflow] Task created: "${P.title}" (${P.id})`),r({type:"tasks-updated"}),o.json({success:!0,task:P})}),t.patch("/api/tasks/:id",(i,o)=>{let{id:l}=i.params,a=i.body,s=["backlog","todo","in-progress","review","done"];if(a.status!==void 0&&!s.includes(a.status)){o.status(400).json({error:`Invalid status: ${a.status}`});return}let u=$(e,l,a);if(!u){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task updated: "${u.title}" (${u.id}) \u2192 status:${u.status}`),r({type:"task-changed",taskId:u.id,action:"update",task:u}),o.json({success:!0,task:u})}),t.delete("/api/tasks/:id",(i,o)=>{let{id:l}=i.params;if(!Ee(e,l)){o.status(404).json({error:"Task not found"});return}console.log(`[Vibeflow] Task deleted: ${l}`),r({type:"task-deleted",taskId:l}),o.json({success:!0})}),t.get("/api/tasks/:id/comments",(i,o)=>{let{id:l}=i.params,a=ee(e,l);o.json({comments:a})}),t.post("/api/tasks/:id/comments",(i,o)=>{let{id:l}=i.params,{author:a,text:s,files:u,source:f}=i.body;if(!s||!s.trim()){o.status(400).json({error:"Missing required field: text"});return}let k=a==="agent"?"agent":"user",y=f==="cli"?"cli":"web",b=oe(e,l,k,s.trim(),Array.isArray(u)?u:void 0,void 0,y);r({type:"tasks-updated"}),o.json({success:!0,comment:b})}),t.patch("/api/tasks/:id/comments/:commentId",(i,o)=>{let{id:l,commentId:a}=i.params,{text:s}=i.body;if(!s||!s.trim()){o.status(400).json({error:"Missing required field: text"});return}let u=Ne(e,l,a,s.trim());if(!u){o.status(404).json({error:"Comment not found"});return}o.json({success:!0,comment:u})}),t.delete("/api/tasks/:id/comments/:commentId",(i,o)=>{let{id:l,commentId:a}=i.params;if(!Re(e,l,a)){o.status(404).json({error:"Comment not found"});return}r({type:"tasks-updated"}),o.json({success:!0})}),t.get("/api/tasks/:id/files",(i,o)=>{let{id:l}=i.params,a=q(e,l);o.json({files:a})}),t.get("/api/tasks/:id/files/:filename",(i,o)=>{let{id:l,filename:a}=i.params,s=wt(e,l,a);if(!s){o.status(404).json({error:"File not found"});return}o.sendFile(s)});let c=new Set([".png",".jpg",".jpeg",".gif",".webp",".pdf",".txt",".md",".json",".csv",".svg",".mp4",".mov",".zip"]);t.post("/api/tasks/:id/files/:filename",te.raw({type:"*/*",limit:"50mb"}),(i,o)=>{let{id:l,filename:a}=i.params;if(!a||a.includes("/")||a.includes("\\")){o.status(400).json({error:"Invalid filename"});return}let s=an(decodeURIComponent(a)).toLowerCase();if(!c.has(s)){o.status(415).json({error:"File type not allowed"});return}let u=i.body;if(!Buffer.isBuffer(u)||u.length===0){o.status(400).json({error:"Empty file body"});return}let f=xt(e,l,decodeURIComponent(a),u);r({type:"tasks-updated"}),o.json({success:!0,file:f})}),t.delete("/api/tasks/:id/files/:filename",(i,o)=>{let{id:l,filename:a}=i.params;if(!kt(e,l,a)){o.status(404).json({error:"File not found"});return}oe(e,l,"user",`\u{1F5D1}\uFE0F File removed: \`${a}\``,void 0,"system","web"),r({type:"tasks-updated"}),o.json({success:!0})});let d=K(e,A,ke);t.post("/api/tasks/:id/screenshot",te.json(),(i,o)=>{let{id:l}=i.params,{screenshot:a}=i.body;if(!Q(e,l)){o.status(404).json({error:"Task not found"});return}if(!a){o.status(400).json({error:"Missing screenshot"});return}Xt(d,{recursive:!0});let s=`${l}.png`;Qt(K(d,s),Buffer.from(a,"base64")),$(e,l,{screenshot:s}),r({type:"tasks-updated"}),o.json({success:!0,screenshot:s})}),t.delete("/api/tasks/:id/screenshot",(i,o)=>{let{id:l}=i.params;if(!Q(e,l)){o.status(404).json({error:"Task not found"});return}let a=`${l}.png`,s=K(d,a);ct(s)&&rn(s),$(e,l,{screenshot:void 0}),r({type:"tasks-updated"}),o.json({success:!0})})}function pn(t,e,r){t.get("/api/user",(l,a)=>{a.json(lt(e))}),t.get("/api/settings",(l,a)=>{a.json(B(e))}),t.post("/api/settings",(l,a)=>{if(!be(l,a))return;let s=new Set(["visibleCols","viewMode","panelWidth","autoCommit","autoComment","autoPush","createBranch","defaultModel","defaultAgent","perTypeModels","defaultModelBug","defaultModelResearch","defaultModelTask","experimentalAgents"]),u=Object.fromEntries(Object.entries(l.body).filter(([k])=>s.has(k))),f=Ut(e,u);a.json({success:!0,settings:f})}),t.get("/api/push/workspaces",async(l,a)=>{let s=await W().catch(()=>null);if(!s){a.status(401).json({error:"Not logged in"});return}let u=process.env.VIBEFLOW_API_URL??"http://localhost:3000";try{let f=await fetch(`${u}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${s}`}});if(!f.ok){let y=(await f.json().catch(()=>({}))).error??`HTTP ${f.status} from ${u}`;console.error(`[Vibeflow] GET /api/push/workspaces failed: ${y}`),a.status(f.status).json({error:y});return}a.json(await f.json())}catch(f){let k=f instanceof Error?f.message:String(f);console.error(`[Vibeflow] GET /api/push/workspaces network error: ${k}`),a.status(502).json({error:`Network error contacting SaaS API: ${k}`})}}),t.post("/api/push",te.json(),async(l,a)=>{let{workspaceId:s,keepLocalFiles:u}=l.body,f=await W().catch(()=>null);if(!f){a.status(401).json({error:"Not logged in"});return}let k=Z(e);if(k.length===0){a.json({imported:0,message:"No local tasks found"});return}let y=process.env.VIBEFLOW_API_URL??"http://localhost:3000",b={tasks:k};try{let h=await fetch(`${y}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${f}`},body:JSON.stringify(b)});if(!h.ok){let g=await h.json().catch(()=>({}));a.status(h.status).json({error:g.error??"Import failed"});return}let p=await h.json();if(!u){for(let g of k)try{rn(g.filePath)}catch{}r?.({type:"tasks-updated"})}a.json({imported:p.imported,skipped:p.skipped??0,workspaceId:p.workspaceId,boardId:p.boardId})}catch(h){let p=h instanceof Error?h.message:String(h);console.error(`[Vibeflow] POST /api/push network error: ${p}`),a.status(502).json({error:`Network error contacting SaaS API: ${p}`})}}),t.get("/api/copilot/status",(l,a)=>{Ce(e).then(s=>a.json(s)).catch(s=>{console.error(`[Vibeflow] GET /api/copilot/status error: ${s instanceof Error?s.message:String(s)}`),a.json({authenticated:!1,source:null,tokenHint:null,username:null})})}),t.post("/api/copilot/login",async(l,a)=>{if(be(l,a))try{let s=await Ce(e);if(s.authenticated){a.json({launched:!1,alreadyAuthenticated:!0,username:s.username??null});return}if(!Le()){a.status(400).json({launched:!1,error:"GitHub CLI is not installed. Install gh and authenticate with 'gh auth login'."});return}Jt("gh",["auth","login","--web","--hostname","github.com","--git-protocol","https","--scopes","read:user,copilot"],{cwd:e,detached:!0,stdio:"ignore"}).unref(),a.json({launched:!0})}catch(s){let u=s instanceof Error?s.message:String(s);console.error(`[Vibeflow] POST /api/copilot/login error: ${u}`),a.status(500).json({launched:!1,error:u})}});let c=null;t.get("/api/agent-status",(l,a)=>{a.json(c??{message:"",active:!1,updatedAt:null})}),t.post("/api/agent-status",(l,a)=>{if(!be(l,a))return;let{message:s,active:u}=l.body;c={message:(s??"").slice(0,200),active:u!==!1,updatedAt:new Date().toISOString()},r?.({type:"agent-status",...c}),a.json({ok:!0})}),t.delete("/api/agent-status",(l,a)=>{be(l,a)&&(c=null,r?.({type:"agent-status",message:"",active:!1,updatedAt:null}),a.json({ok:!0}))});let d=new Map,i=new Map;function o(l,a){try{let s=JSON.parse(a);if(s.type==="step_finish"&&typeof s.part=="object"&&s.part){let u=s.part,f=u.tokens,k=typeof u.cost=="number"?u.cost:0;if(f){let y=i.get(l)??{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cost:0};i.set(l,{inputTokens:y.inputTokens+(f.input??0),outputTokens:y.outputTokens+(f.output??0),totalTokens:y.totalTokens+(f.total??0),reasoningTokens:y.reasoningTokens+(f.reasoning??0),cost:y.cost+k})}}}catch{}}t.post("/api/agent/run",te.json(),async(l,a)=>{if(!be(l,a))return;let{taskId:s,model:u,agent:f}=l.body;if(!s){a.status(400).json({error:"taskId is required"});return}if(!Ae(s)){a.status(400).json({error:"Invalid task ID"});return}let k=Q(e,s);if(!k){a.status(404).json({error:"Task not found"});return}let y=X(k);if(!y){a.status(404).json({error:"Task not found"});return}let b=ee(e,s).filter(R=>!R.deleted),h=ge(e),p=q(e,s).map(R=>({...R,url:`http://localhost:${h.port}${R.url}`})),g=B(e),x=(y.type??"").toLowerCase()==="research",m=(y.type??"").toLowerCase()==="bug",S=Se(y,k,b,p,e),v=Ie({hasResearchTasks:x,hasBugTasks:m,autoCommit:g.autoCommit,autoPush:g.autoPush,autoComment:g.autoComment,createBranch:g.createBranch}),_=`${S}
|
|
1686
1716
|
|
|
1687
|
-
${v}`;try{_e("which opencode",{timeout:5e3})}catch{a.status(500).json({error:"opencode is not installed. Install it to run agents."});return}if(d.has(s)){a.status(409).json({error:"Agent already running for this task"});return}let C=["run","--dangerously-skip-permissions","--format","json","--",_];u&&C.splice(2,0,"--model",u),f&&C.splice(2,0,"--agent",f),r?.({type:"agent-run-started",taskId:s,model:u,agent:f,command:`opencode ${C.join(" ")}`});let N=Jt("opencode",C,{cwd:e,env:{...process.env,FORCE_COLOR:"0"}});d.set(s,N),i.set(s,{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cost:0});let
|
|
1688
|
-
`))T.trim()&&o(s,T.trim());r?.({type:"agent-run-log",taskId:s,log:
|
|
1717
|
+
${v}`;try{_e("which opencode",{timeout:5e3})}catch{a.status(500).json({error:"opencode is not installed. Install it to run agents."});return}if(d.has(s)){a.status(409).json({error:"Agent already running for this task"});return}let C=["run","--dangerously-skip-permissions","--format","json","--",_];u&&C.splice(2,0,"--model",u),f&&C.splice(2,0,"--agent",f),r?.({type:"agent-run-started",taskId:s,model:u,agent:f,command:`opencode ${C.join(" ")}`});let N=Jt("opencode",C,{cwd:e,env:{...process.env,FORCE_COLOR:"0"}});d.set(s,N),i.set(s,{inputTokens:0,outputTokens:0,totalTokens:0,reasoningTokens:0,cost:0});let z="";N.stdout?.on("data",R=>{let P=R.toString();z+=P;for(let T of P.split(`
|
|
1718
|
+
`))T.trim()&&o(s,T.trim());r?.({type:"agent-run-log",taskId:s,log:P})}),N.stderr?.on("data",R=>{let P=R.toString();z+=P,r?.({type:"agent-run-log",taskId:s,log:P})}),N.on("close",R=>{d.delete(s);let P=i.get(s);i.delete(s),r?.({type:"agent-run-finished",taskId:s,exitCode:R,success:R===0,...P??{}})}),N.on("error",R=>{d.delete(s);let P=i.get(s);i.delete(s),r?.({type:"agent-run-finished",taskId:s,exitCode:1,success:!1,error:R.message,...P??{}})}),a.json({ok:!0,taskId:s,command:`opencode ${C.join(" ")}`})}),t.post("/api/agent/stop",te.json(),(l,a)=>{if(!be(l,a))return;let{taskId:s}=l.body;if(!s){a.status(400).json({error:"taskId is required"});return}let u=d.get(s);if(!u){a.status(404).json({error:"No active agent run for this task"});return}u.kill("SIGINT"),a.json({ok:!0,taskId:s})}),t.get("/api/agent/agents",(l,a)=>{try{let u=_e("opencode agent list",{cwd:e,timeout:1e4,env:{...process.env,FORCE_COLOR:"0"}}).toString().split(`
|
|
1689
1719
|
`).map(f=>f.trim()).filter(f=>/^[A-Za-z][A-Za-z0-9_-]+ \(/.test(f)).map(f=>{let k=f.match(/^([A-Za-z][A-Za-z0-9_-]+)\s+\((.+)\)$/);return k?{id:k[1],name:k[1],scope:k[2]}:null}).filter(Boolean);a.json({agents:u})}catch{a.json({agents:[]})}}),t.get("/api/agent/models",async(l,a)=>{try{let s=_e("opencode models",{cwd:e,timeout:15e3,env:{...process.env,FORCE_COLOR:"0"}}).toString(),u=[];for(let f of s.split(`
|
|
1690
1720
|
`)){let y=f.trim().match(/^([a-z0-9-]+)\/([a-z0-9._-]+)\s+(.+)$/i);y&&u.push({id:`${y[1]}/${y[2]}`,label:y[3].trim(),provider:y[1]})}a.json({models:u})}catch{a.json({models:[]})}}),t.get("/api/github-url",(l,a)=>{try{let s=_e("git remote get-url origin",{cwd:e,timeout:3e3}).toString().trim(),u=s.match(/^git@github\.com:(.+?)(?:\.git)?$/);if(u){a.json({githubUrl:`https://github.com/${u[1]}`});return}let f=s.match(/^(https?:\/\/github\.com\/[^/]+\/[^/]+?)(?:\.git)?$/);if(f){a.json({githubUrl:f[1]});return}}catch{}a.json({githubUrl:null})})}function fn(t,e){let r=process.env.VIBEFLOW_ADMIN_EMAIL??"",c=process.env.VIBEFLOW_API_URL??"http://localhost:3000";t.get("/kanban",async(d,i)=>{let o=await W().catch(()=>null);if(!o){i.type("html").send(tt({port:e}));return}let l=await V().catch(()=>null),a=!1;if(r)try{let u=await fetch(`${c}/api/cli/profile`,{headers:{Authorization:`Bearer ${o}`}}).catch(()=>null);u?.ok&&(a=(await u.json()).email===r)}catch{}let s={port:e,saasMode:!0,boardUrl:l?.url??`${c}/kanban`,boardName:l?.name,isAdmin:a};i.type("html").send(tt(s))})}var Or=`*{box-sizing:border-box;margin:0;padding:0}
|
|
1691
1721
|
body{font-family:system-ui,sans-serif;background:#0f172a;color:#e2e8f0;padding:32px;max-width:700px;margin:0 auto}
|
|
@@ -1725,24 +1755,24 @@ ${e.join(`
|
|
|
1725
1755
|
<pre>${st(l)}</pre>
|
|
1726
1756
|
<div class="note">Requires the proto server to be running at port ${e}. Works without the Chrome extension.</div></div>`,`<h2>Option 3 \u2014 Browser console</h2>
|
|
1727
1757
|
<div class="card"><p>Open browser DevTools console and paste:</p>
|
|
1728
|
-
<pre>var s=document.createElement('script');s.src='${i}';s.setAttribute('data-vibeflow-overlay','');${d?`s.setAttribute('data-board-id','${d}');`:""}document.head.appendChild(s);</pre></div>`,'<div class="note" style="margin-top:20px">\u2699\uFE0F <strong>CSP note:</strong> If your app sets a strict Content-Security-Policy, use the Chrome extension instead \u2014 it bypasses CSP by injecting in the main world.</div>']))})}function bn(t,e,r){t.use("/trpc",Lr({router:Yt,createContext:()=>({projectDir:e,broadcast:r})}))}function mn(t){t.use((e,r,c,d)=>{console.error("[
|
|
1758
|
+
<pre>var s=document.createElement('script');s.src='${i}';s.setAttribute('data-vibeflow-overlay','');${d?`s.setAttribute('data-board-id','${d}');`:""}document.head.appendChild(s);</pre></div>`,'<div class="note" style="margin-top:20px">\u2699\uFE0F <strong>CSP note:</strong> If your app sets a strict Content-Security-Policy, use the Chrome extension instead \u2014 it bypasses CSP by injecting in the main world.</div>']))})}function bn(t,e,r){t.use("/trpc",Lr({router:Yt,createContext:()=>({projectDir:e,broadcast:r})}))}function mn(t){t.use((e,r,c,d)=>{console.error("[Vibeflow] Unhandled error:",e.message),c.status(500).json({error:"Internal server error"})})}function hn(t){t.use((e,r,c)=>{if(r.setHeader("Access-Control-Allow-Origin","*"),r.setHeader("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),e.method==="OPTIONS"){r.status(204).end();return}c()})}function vn(t){t.disable("x-powered-by"),t.use((e,r,c)=>{r.setHeader("Content-Security-Policy",["default-src 'self'","script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https://cdn.tailwindcss.com https://unpkg.com","style-src 'self' 'unsafe-inline' https://fonts.googleapis.com","font-src 'self' https://fonts.gstatic.com","img-src 'self' data: blob:","connect-src 'self' ws://localhost:* ws://127.0.0.1:* wss://localhost:* wss://127.0.0.1:*","frame-ancestors 'none'","object-src 'none'","base-uri 'self'","form-action 'self'","worker-src 'self' blob:"].join("; ")),r.setHeader("Permissions-Policy","camera=(), microphone=(), geolocation=()"),r.setHeader("X-Content-Type-Options","nosniff"),r.setHeader("X-Frame-Options","DENY"),r.setHeader("Referrer-Policy","strict-origin-when-cross-origin"),r.setHeader("Cross-Origin-Embedder-Policy","unsafe-none"),r.setHeader("Cross-Origin-Opener-Policy","same-origin"),c()})}async function $r(t,e){let r=e._testToken!==void 0?e._testToken:await W().catch(()=>null),c=e._testWorkspace!==void 0?e._testWorkspace:r?await V().catch(()=>null):null,d=!!(r&&c),i=te();hn(i),vn(i),i.use(te.json({limit:"10mb"}));let o=on(i),l=new ln({server:o}),a=f=>{let k=JSON.stringify(f);for(let y of l.clients)y.readyState===sn.OPEN&&y.send(k)};l.on("connection",f=>{f.on("message",k=>{try{JSON.parse(k.toString()).type==="ping"&&f.send(JSON.stringify({type:"pong"}))}catch{}})});let s=zr(c?.url)??process.env.VIBEFLOW_API_URL??"http://localhost:3000";if(d){i.use(["/api/tasks","/api/push","/trpc"],(k,y)=>{y.status(503).json({error:"Online mode active \u2014 local task API is disabled. All task operations go through the SaaS backend."})});let f=jt(s);i.get("/vibeflow-overlay.js",(k,y)=>{y.type("application/javascript").send(f)})}else{we(t);let f=Je(e.port);i.get("/vibeflow-overlay.js",(y,b)=>{b.type("application/javascript").send(f)});let k=K(t,A,ke);i.get("/screenshots/:filename",(y,b)=>{let{filename:h}=y.params,p=J(h,".png");if(!Ae(p)){b.status(400).end();return}let g=K(k,`${p}.png`);if(!ct(g)){b.status(404).end();return}b.sendFile(g)}),un(i,[]),dn(i,t,a),bn(i,t,a),pn(i,t,a)}fn(i,e.port),gn(i,e.port,d?c?.id:void 0,d?s:void 0);let u=d?null:Qe(K(t,A,xe),{onChanged:f=>{let k=X(f);a(k?{type:"task-changed",taskId:k.id,action:"update",task:k,source:"cli"}:{type:"tasks-updated"})},onDeleted:f=>{let k=J(f,".json");a({type:"task-deleted",taskId:k})}});return mn(i),new Promise((f,k)=>{let y=e.host??"localhost";o.listen(e.port,y,()=>{let h=`http://${y==="0.0.0.0"?cn()??"localhost":y}:${e.port}`,p=y==="0.0.0.0"?`http://localhost:${e.port}`:null,g=w.dim(" "+"\u2500".repeat(62));console.log(),console.log(w.green(" \u2713 Vibeflow running")+w.dim(" \xB7 ")+w.cyan(h)),p&&console.log(w.dim(" Local: ")+w.cyan(p)),console.log(g),d?(console.log(w.dim(" Mode: ")+w.green("\u25CF Online")+w.dim(" \u2014 connected to Vibeflow SaaS")),console.log(w.dim(" Board: ")+w.white(c.name??"your board")),console.log(w.dim(" Web: ")+w.cyan(c.url)),console.log(g),console.log(w.dim(" Overlay script: ")+w.cyan(`${h}/vibeflow-overlay.js`)),console.log(),console.log(w.dim(" \u250C\u2500 Add to your HTML ")+w.dim("\u2500".repeat(43)+"\u2510")),console.log(w.dim(" \u2502 ")+w.yellow(`<script src="${h}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)+w.dim(" \u2502")),console.log(w.dim(" \u2502 ")+w.dim("Or drag the bookmarklet: ")+w.cyan(`${h}/inject`)+w.dim(" \u2502")),console.log(w.dim(" \u2514"+"\u2500".repeat(63)+"\u2518"))):(console.log(w.dim(" Mode: ")+w.yellow("\u25CE Local")+w.dim(" \u2014 no account needed")),console.log(g),console.log(w.bold.white(" BOARDS & APIS")),console.log(w.dim(" Kanban board ")+w.cyan(`${h}/kanban`)),console.log(w.dim(" Task API ")+w.cyan(`${h}/api/tasks`)),console.log(g),console.log(w.bold.white(" INTEGRATE INTO YOUR APP")+w.dim(` (full guide: ${h}/inject)`)),console.log(w.dim(" 1. Add this script tag to your HTML:")),console.log(w.dim(" ")+w.yellow(`<script src="${h}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(w.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(w.dim(" 3. Click anything to annotate it.")),console.log(g),console.log(w.dim(" Bookmarklet \u2014 no code changes needed:")),console.log(w.dim(" Visit and drag the bookmarklet from ")+w.cyan(`${h}/inject`)+w.dim(" to your bookmarks bar."))),console.log(),e.noCtrlCHint||(console.log(w.dim(" Press Ctrl+C to stop")),console.log()),f({url:h,close:async()=>{u&&await u.close(),l.close(),await new Promise(x=>o.close(()=>x()))}})}),o.on("error",k)})}async function ut(t,e){if(!t)return $r(e.projectDir??process.cwd(),e);if(t.startsWith("http://")||t.startsWith("https://"))throw new Error(`Proxy mode is no longer supported.
|
|
1729
1759
|
To annotate an existing app, run: proto serve (API-only mode)
|
|
1730
|
-
Then install the Chrome extension and navigate to your app.`);let r=
|
|
1760
|
+
Then install the Chrome extension and navigate to your app.`);let r=Pr(t),d=Er(r).isDirectory(),i=d?Tr(r).filter(g=>an(g)===".html").map(g=>K(r,g)):[r];if(i.length===0)throw new Error("No HTML files found at "+t);let o=d?r:Nr(r);we(o);let l=te();hn(l),vn(l),l.use(te.json({limit:"10mb"}));let a=on(l),s=new ln({server:a}),u=g=>{let x=JSON.stringify(g);for(let m of s.clients)m.readyState===sn.OPEN&&m.send(x)};s.on("connection",g=>{g.on("message",x=>{try{JSON.parse(x.toString()).type==="ping"&&g.send(JSON.stringify({type:"pong"}))}catch{}})});let f=e.noOverlay?null:Je(e.port);f&&l.get("/vibeflow-overlay.js",(g,x)=>{x.type("application/javascript").send(f)});let k=K(o,A,ke);l.get("/screenshots/:filename",(g,x)=>{let{filename:m}=g.params,S=J(m,".png");if(!Ae(S)){x.status(400).end();return}let v=K(k,`${S}.png`);if(!ct(v)){x.status(404).end();return}x.sendFile(v)}),d&&l.get("/",(g,x)=>{let m=i.map(S=>{let v=J(S);return`<li><a href="/${v}">${v}</a></li>`}).join(`
|
|
1731
1761
|
`);x.send(`<!DOCTYPE html><html><head><title>Vibeflow Studio</title>
|
|
1732
1762
|
<style>body{font-family:system-ui;max-width:600px;margin:40px auto;padding:0 20px}
|
|
1733
1763
|
a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
|
|
1734
1764
|
li{margin:8px 0}</style></head>
|
|
1735
1765
|
<body><h1>Vibeflow Studio</h1>
|
|
1736
1766
|
<p>Select a prototype to review:</p>
|
|
1737
|
-
<ul>${m}</ul></body></html>`)});for(let g of i){let x=d?`/${J(g)}`:"/";l.get(x,(m,S)=>{let v=jr(g,"utf-8"),_=f?_t(v,f):v;S.type("html").send(_)})}let y=i.map(g=>`/${J(g)}`);un(l,d?y:[]),dn(l,o,u),bn(l,o,u),pn(l,o,u),fn(l,e.port),gn(l,e.port);let b=null;b=
|
|
1738
|
-
Push them to your board now? [Y/n]: `),async k=>{if(f.close(),k.trim().toLowerCase()==="n"){console.log(
|
|
1739
|
-
Login timed out. Please try again.`)),process.exitCode=1}import
|
|
1767
|
+
<ul>${m}</ul></body></html>`)});for(let g of i){let x=d?`/${J(g)}`:"/";l.get(x,(m,S)=>{let v=jr(g,"utf-8"),_=f?_t(v,f):v;S.type("html").send(_)})}let y=i.map(g=>`/${J(g)}`);un(l,d?y:[]),dn(l,o,u),bn(l,o,u),pn(l,o,u),fn(l,e.port),gn(l,e.port);let b=null;b=Ge(r,{onChange:g=>{let x=J(g);console.log(w.dim(` File changed: ${x}`)),u({type:"reload",file:x})}});let h=K(o,A,xe),p=Qe(h,{onChanged:g=>{let x=X(g);u(x?{type:"task-changed",taskId:x.id,action:"update",task:x,source:"cli"}:{type:"tasks-updated"})},onDeleted:g=>{let x=J(g,".json");u({type:"task-deleted",taskId:x})}});return mn(l),new Promise((g,x)=>{let m=e.host??"localhost";a.listen(e.port,m,()=>{let v=`http://${m==="0.0.0.0"?cn()??"localhost":m}:${e.port}`,_=m==="0.0.0.0"?`http://localhost:${e.port}`:null,C=w.dim(" "+"\u2500".repeat(62));console.log(),console.log(w.green(" \u2713 Vibeflow running")+w.dim(" \xB7 ")+w.cyan(v)),_&&console.log(w.dim(" Local: ")+w.cyan(_)),console.log(C);for(let N of i){let z=d?`/${J(N)}`:"/";console.log(w.dim(" File: ")+w.cyan(`${v}${z}`)+w.dim(` (${J(N)})`))}console.log(w.dim(" Kanban board: ")+w.cyan(`${v}/kanban`)),console.log(w.dim(" Task API: ")+w.cyan(`${v}/api/tasks`)),console.log(C),console.log(w.bold.white(" INTEGRATE INTO YOUR APP")+w.dim(` (full guide: ${v}/inject)`)),console.log(w.dim(" 1. Add this script tag to your HTML:")),console.log(w.dim(" ")+w.yellow(`<script src="${v}/vibeflow-overlay.js" data-vibeflow-overlay></script>`)),console.log(w.dim(" 2. Reload your page \u2014 the overlay appears automatically.")),console.log(w.dim(" 3. Click anything to annotate it.")),console.log(),console.log(w.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(N=>N.default(v)).catch(()=>{}),g({url:v,close:async()=>{b&&await b.close(),await p.close(),s.close(),await new Promise(N=>a.close(()=>N()))}})}),a.on("error",x)})}async function ie(){return await W()?"saas":"local"}import M from"chalk";import Dr from"open";import yn from"readline";import Fr from"@inquirer/select";import{existsSync as Br,readdirSync as xn,readFileSync as Wr}from"fs";import{join as dt,resolve as Ur}from"path";var Hr="https://app.vibeflow.tools",qr=300*1e3;function kn(){return process.env.VIBEFLOW_API_URL??Hr}async function Vr(t){return new Promise(e=>setTimeout(e,t))}async function Kr(t){return t.length===1?(console.log(M.dim(` Using board: ${t[0].icon??""} ${t[0].name}`)),t[0]):await Fr({message:"Select a board to use:",choices:t.map(r=>({name:`${r.icon??""} ${r.name}`,value:r}))})}async function wn(t,e){try{let r=await fetch(`${t}/api/cli/settings`,{headers:{Authorization:`Bearer ${e}`}});if(!r.ok)return;let c=await r.json();c.settings&&Object.keys(c.settings).length>0&&Wt({...c.settings,_settingsRefreshedAt:Date.now()})}catch{}}async function Sn(){try{let t=await W();if(!t)return;let r=rt()._settingsRefreshedAt??0;if(Date.now()-r<qr)return;let c=kn();wn(c,t)}catch{}}async function Yr(t,e){try{let[r,c]=await Promise.all([fetch(`${t}/api/cli/workspaces`,{headers:{Authorization:`Bearer ${e}`}}),fetch(`${t}/api/cli/profile`,{headers:{Authorization:`Bearer ${e}`}})]);if(!r.ok)return;let d=await r.json();if(!d.workspaces?.length){console.log(M.yellow(" No boards found. Create a board in the web app first."));return}let i=c.ok?await c.json():null,o=await Kr(d.workspaces);await St({...o,email:i?.email??null}),console.log(M.green(` Board set: ${o.icon??""} ${o.name}`)),console.log(M.dim(` Open at: ${o.url}`))}catch{}}async function Gr(t,e,r,c){let d=dt(t,A,xe);if(!Br(d))return;let i=[];try{for(let u of xn(d))if(!u.startsWith(".")){let f=dt(d,u);for(let k of xn(f).filter(y=>y.endsWith(".json")))i.push(dt(f,k))}}catch{return}if(i.length===0)return;let o=i.flatMap(u=>{try{return[JSON.parse(Wr(u,"utf-8"))]}catch{return[]}}),l=new Set;try{let u=await fetch(`${e}/api/cli/tasks?boardId=${c.id}`,{headers:{Authorization:`Bearer ${r}`}}).catch(()=>null);if(u?.ok){let f=await u.json();l=new Set((f.tasks??[]).flatMap(k=>[k.id,...k.cliId?[k.cliId]:[]]))}}catch{}let a=o.filter(u=>!l.has(u.id));if(a.length===0)return;console.log(),console.log(M.bold(` ${a.length} local task${a.length!==1?"s are":" is"} not yet synced to the board:`));let s=a.slice(0,10);for(let u of s){let f=u.status?M.dim(` [${u.status}]`):"";console.log(M.dim(` \u2022 ${u.title??u.id}${f}`))}return a.length>10&&console.log(M.dim(` \u2026 and ${a.length-10} more`)),new Promise(u=>{let f=yn.createInterface({input:process.stdin,output:process.stdout});f.question(M.cyan(`
|
|
1768
|
+
Push them to your board now? [Y/n]: `),async k=>{if(f.close(),k.trim().toLowerCase()==="n"){console.log(M.dim(" Skipped. You can push later with: vibeflow push")),u();return}let y=yn.createInterface({input:process.stdin,output:process.stdout});y.question(M.cyan(" Delete local task files after push? [y/N]: "),async b=>{y.close();let h=b.trim().toLowerCase()!=="y";try{let p=await fetch(`${e}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({boardId:c.id,tasks:a,keepLocalFiles:h})}),g={};try{g=await p.json()}catch{}p.ok?(console.log(M.green(` \u2713 Pushed ${g.imported??0} task${(g.imported??0)!==1?"s":""} to ${c.name}`)),(g.skipped??0)>0&&console.log(M.dim(` (${g.skipped} already existed and were skipped)`))):console.log(M.red(` Push failed: ${g.error??`HTTP ${p.status}`}`))}catch(p){console.log(M.red(` Push failed: ${p instanceof Error?p.message:"Network error"}`))}u()})})})}async function $e(t=Ur(".")){let e=kn();console.log(M.cyan(" Initiating device login flow..."));let r=await fetch(`${e}/api/cli/auth/device-init`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!r.ok){console.error(M.red(` Failed to initiate login: ${r.status} ${r.statusText}`)),process.exitCode=1;return}let{deviceCode:c,userCode:d,verificationUrl:i,expiresIn:o}=await r.json();console.log(),console.log(M.bold(" Open this URL in your browser to authorize:")),console.log(M.underline(` ${i}`)),console.log();try{await Dr(i),console.log(M.dim(" (Browser opened automatically)"))}catch{}let l=Date.now()+o*1e3,a=3e3;for(;Date.now()<l;){await Vr(a);let s=await fetch(`${e}/api/cli/auth/device-poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:c})});if(!s.ok){console.error(M.red(" Poll request failed. Retrying..."));continue}let u=await s.json();if("token"in u){await Ht(u.token),console.log(),console.log(M.green(" Logged in successfully. Now operating in SaaS mode.")),await Promise.all([Yr(e,u.token),wn(e,u.token)]);let{readWorkspace:f}=await import("./workspace-KGOQ67YV.js"),k=await f();k&&await Gr(t,e,u.token,k);return}if("expired"in u){console.error(M.red(" Device code expired. Please try again.")),process.exitCode=1;return}process.stdout.write(M.dim("."))}console.error(M.red(`
|
|
1769
|
+
Login timed out. Please try again.`)),process.exitCode=1}import Qr from"chalk";async function Cn(){await Promise.all([qt(),Ct()]),console.log(Qr.green(" Logged out. Now operating in local mode."))}import D from"chalk";import{unlinkSync as Xr,readFileSync as Jr,existsSync as Zr}from"fs";import{resolve as ea,join as ta}from"path";var na="https://app.vibeflow.tools";function ra(){return process.env.VIBEFLOW_API_URL??na}function aa(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function _n(t,e,r=24){let c=Math.round(t/e*r);return`[${"\u2588".repeat(c)+"\u2591".repeat(r-c)}]`}async function oa(t,e,r,c){let d=[];for(let{localId:y,remoteId:b}of c){let h=q(r,y);for(let p of h){let g=p.linkedPath??ta(yt(r,y),p.name);Zr(g)&&d.push({remoteId:b,name:p.name,filePath:g,size:p.size})}}if(d.length===0)return{uploaded:0,failed:0,failedFiles:[]};let i=d.length,o=d.reduce((y,b)=>y+b.size,0);console.log(D.cyan(`
|
|
1740
1770
|
Uploading ${i} file(s) (${aa(o)})...`));let l=0,a=0,s=0,u=Date.now(),f=[];for(let y of d){let b=Math.round(l/i*100),h=_n(l,i),p=(Date.now()-u)/1e3,g=s/Math.max(p,.01),x=o-s,m=g>0?Math.ceil(x/g):0,S=m>60?`${Math.ceil(m/60)}m`:`${m}s`;process.stdout.write(`\r ${h} ${b}% ${y.name.slice(0,28)} ETA: ${S} `);try{let v=Jr(y.filePath),_=await fetch(`${t}/api/tasks/${encodeURIComponent(y.remoteId)}/files`,{method:"POST",headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/octet-stream","x-filename":encodeURIComponent(y.name)},body:v});_.ok?(l++,s+=y.size):(a++,f.push({name:y.name,reason:`HTTP ${_.status}`}))}catch(v){a++,f.push({name:y.name,reason:v instanceof Error?v.message:String(v)})}}let k=_n(i,i);return process.stdout.write(`\r ${k} 100% Done${" ".repeat(40)}
|
|
1741
|
-
`),{uploaded:l,failed:a,failedFiles:f}}async function jn(t,e){let r=ea(t),c=await W();if(!c&&(console.log(D.yellow(" Not logged in. Starting login flow...")),await $e(),c=await W(),!c)){console.error(D.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=1;return}let d=Z(r);if(d.length===0){console.log(D.dim(" No local tasks found. Nothing to push."));return}console.log(D.cyan(` Found ${d.length} local task(s). Pushing to SaaS...`));let i=ra(),o=e.workspace;if(!o){let p=await V();p&&(o=p.id,console.log(D.dim(` Using board: ${p.icon??""} ${p.name}`)))}let l={tasks:d};o&&(l.workspaceId=o);let a;try{let p=await fetch(`${i}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(l)});if(!p.ok){let g=await p.json().catch(()=>({}));console.error(D.red(` Import failed: ${p.status} ${g.error??p.statusText}`)),process.exitCode=1;return}a=await p.json()}catch(p){let g=p instanceof Error?p.message:String(p);console.error(D.red(` Network error: ${g}`)),process.exitCode=1;return}console.log(D.green(` \u2713 Pushed ${a.imported} task(s) to SaaS`)),a.skipped&&a.skipped>0&&console.log(D.dim(` Skipped ${a.skipped} already-imported task(s).`));let s=(await V())?.name??a.workspaceId;console.log(D.dim(` Board: ${s}`));let u=a.idMap??{},f=d.filter(p=>p.id&&u[p.id]).map(p=>({localId:p.id,remoteId:u[p.id]})),{uploaded:k,failed:y,failedFiles:b}=await oa(i,c,r,f);if(k>0&&console.log(D.green(` \u2713 Uploaded ${k} file(s) to storage`)),y>0){console.log(D.yellow(` \u26A0 ${y} file(s) failed to upload`));for(let p of b)console.log(D.dim(` - ${p.name}: ${p.reason}`))}if(e.keepLocalFiles){console.log(D.dim(" Local task files kept (--keep-local-files)."));return}let h=0;for(let p of d)try{Xr(p.filePath),h++}catch{}console.log(D.dim(` Deleted ${h} local task file(s).`))}var ia="https://app.vibeflow.tools";function De(){return process.env.VIBEFLOW_API_URL??ia}var la={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},sa={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function ne(t){return sa[t]??"todo"}function ca(t){return la[t]??"todo"}async function Fe(){let t=await W();return t?{Authorization:`Bearer ${t}`}:null}async function me(t){let e=await Fe();if(!e)return null;let r=new URL(`${De()}/api/cli/tasks`);t&&r.searchParams.set("boardId",t);try{let c=await fetch(r.toString(),{headers:e});return c.ok?c.json():null}catch{return null}}async function Tn(t){let e=await me();return e?e.tasks.find(r=>r.id===t)??null:null}async function pt(t,e){let r=await Fe();if(!r)return null;let c={};e.status!==void 0&&(c.status=ca(e.status)),e.title!==void 0&&(c.title=e.title),e.description!==void 0&&(c.description=e.description),e.priority!==void 0&&(c.priority=e.priority),e.branchName!==void 0&&(c.branchName=e.branchName);try{let d=await fetch(`${De()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)return null;let i=await d.json();return{task:i.task,warning:i.warning}}catch{return null}}async function En(t,e){let r=await Fe();if(!r)return null;try{let c=await fetch(`${De()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return c.ok?(await c.json()).comment:null}catch{return null}}async function In(t){let e=await Fe();if(!e)return null;try{let r=await fetch(`${De()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?(await r.json()).task:null}catch{return null}}import{readFileSync as Un,existsSync as Hn,unlinkSync as Sa}from"fs";import{resolve as F,join as Ca,basename as An}from"path";import n from"chalk";import{createHash as ua,randomUUID as da}from"crypto";import{existsSync as pa,readFileSync as fa,writeFileSync as ga,mkdirSync as ba}from"fs";import{join as
|
|
1742
|
-
`))r.startsWith("Agent instructions")?console.log(n.bold(r)):r.startsWith(" \u26A0")?console.log(n.yellow(r)):r.startsWith(" CRITICAL:")?console.log(n.red(r)):console.log(n.dim(r))}var Bn=["Task","Bug","Feature","Enhancement","Research"],Wn=t=>t.trim().toLowerCase();function ve(t,e){let r=Wn(e);return r?Wn(t??"")===r:!0}function Ia(t){return[...new Set(t.map(e=>e.author?.trim()).filter(e=>!!e))].sort((e,r)=>e.localeCompare(r))}function He(t){return Bn.map(e=>e.toLowerCase()).includes(t.toLowerCase())?!0:(console.log(n.red(`\u2717 Invalid type filter: "${t}"`)),console.log(n.yellow(` Available types: ${Bn.join(" | ")}`)),console.log(n.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=1,!1)}function Te(t,e){let r=Ia(e);return r.length===0?(console.log(n.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=1,!1):r.some(c=>ve(c,t))?!0:(console.log(n.red(`\u2717 User not found: "${t}"`)),console.log(n.yellow(` Available users: ${r.join(" | ")}`)),console.log(n.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=1,!1)}function
|
|
1771
|
+
`),{uploaded:l,failed:a,failedFiles:f}}async function jn(t,e){let r=ea(t),c=await W();if(!c&&(console.log(D.yellow(" Not logged in. Starting login flow...")),await $e(),c=await W(),!c)){console.error(D.red(" Login failed. Please run `vibeflow login` and try again.")),process.exitCode=1;return}let d=Z(r);if(d.length===0){console.log(D.dim(" No local tasks found. Nothing to push."));return}console.log(D.cyan(` Found ${d.length} local task(s). Pushing to SaaS...`));let i=ra(),o=e.workspace;if(!o){let p=await V();p&&(o=p.id,console.log(D.dim(` Using board: ${p.icon??""} ${p.name}`)))}let l={tasks:d};o&&(l.workspaceId=o);let a;try{let p=await fetch(`${i}/api/cli/import`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(l)});if(!p.ok){let g=await p.json().catch(()=>({}));console.error(D.red(` Import failed: ${p.status} ${g.error??p.statusText}`)),process.exitCode=1;return}a=await p.json()}catch(p){let g=p instanceof Error?p.message:String(p);console.error(D.red(` Network error: ${g}`)),process.exitCode=1;return}console.log(D.green(` \u2713 Pushed ${a.imported} task(s) to SaaS`)),a.skipped&&a.skipped>0&&console.log(D.dim(` Skipped ${a.skipped} already-imported task(s).`));let s=(await V())?.name??a.workspaceId;console.log(D.dim(` Board: ${s}`));let u=a.idMap??{},f=d.filter(p=>p.id&&u[p.id]).map(p=>({localId:p.id,remoteId:u[p.id]})),{uploaded:k,failed:y,failedFiles:b}=await oa(i,c,r,f);if(k>0&&console.log(D.green(` \u2713 Uploaded ${k} file(s) to storage`)),y>0){console.log(D.yellow(` \u26A0 ${y} file(s) failed to upload`));for(let p of b)console.log(D.dim(` - ${p.name}: ${p.reason}`))}if(e.keepLocalFiles){console.log(D.dim(" Local task files kept (--keep-local-files)."));return}let h=0;for(let p of d)try{Xr(p.filePath),h++}catch{}console.log(D.dim(` Deleted ${h} local task file(s).`))}var ia="https://app.vibeflow.tools";function De(){return process.env.VIBEFLOW_API_URL??ia}var la={backlog:"backlog",todo:"todo","in-progress":"in_progress",review:"review",done:"done"},sa={backlog:"backlog",todo:"todo",in_progress:"in-progress",review:"review",done:"done",cancelled:"done"};function ne(t){return sa[t]??"todo"}function ca(t){return la[t]??"todo"}async function Fe(){let t=await W();return t?{Authorization:`Bearer ${t}`}:null}async function me(t){let e=await Fe();if(!e)return null;let r=new URL(`${De()}/api/cli/tasks`);t&&r.searchParams.set("boardId",t);try{let c=await fetch(r.toString(),{headers:e});return c.ok?c.json():null}catch{return null}}async function Tn(t){let e=await me();return e?e.tasks.find(r=>r.id===t)??null:null}async function pt(t,e){let r=await Fe();if(!r)return null;let c={};e.status!==void 0&&(c.status=ca(e.status)),e.title!==void 0&&(c.title=e.title),e.description!==void 0&&(c.description=e.description),e.priority!==void 0&&(c.priority=e.priority),e.branchName!==void 0&&(c.branchName=e.branchName);try{let d=await fetch(`${De()}/api/cli/tasks/${encodeURIComponent(t)}`,{method:"PATCH",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)return null;let i=await d.json();return{task:i.task,warning:i.warning}}catch{return null}}async function En(t,e){let r=await Fe();if(!r)return null;try{let c=await fetch(`${De()}/api/cli/tasks/${encodeURIComponent(t)}/comments`,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify({body:e})});return c.ok?(await c.json()).comment:null}catch{return null}}async function In(t){let e=await Fe();if(!e)return null;try{let r=await fetch(`${De()}/api/cli/tasks`,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?(await r.json()).task:null}catch{return null}}import{readFileSync as Un,existsSync as Hn,unlinkSync as Sa}from"fs";import{resolve as F,join as Ca,basename as An}from"path";import n from"chalk";import{createHash as ua,randomUUID as da}from"crypto";import{existsSync as pa,readFileSync as fa,writeFileSync as ga,mkdirSync as ba}from"fs";import{join as Pn}from"path";import Nn from"os";import{PostHog as ma}from"posthog-node";var ha="phc_C9AUV3rnayLfVvxgHtvj6AXcwsd8FKWUfJ9262zWsCvM",va="https://eu.i.posthog.com";function Rn(){return Pn(process.env.HOME??Nn.homedir(),".vibeflow")}function Ln(){return Pn(Rn(),"config.json")}function Be(){try{return JSON.parse(fa(Ln(),"utf-8"))}catch{return{}}}function Mn(t){let e=Rn();pa(e)||ba(e,{recursive:!0});let r=Be();ga(Ln(),JSON.stringify({...r,...t},null,2),"utf-8")}function zn(){return process.env.VIBEFLOW_TELEMETRY==="0"?!1:Be().disabled!==!0}function ft(t){Mn({disabled:!t})}function On(){let t=zn(),e=Be();return{enabled:t,anonymousId:e.anonymousId??null}}function ya(){let t=Be();if(t.anonymousId)return t.anonymousId;let e=da();return Mn({anonymousId:e}),e}function xa(){let t=Nn.userInfo().username;return ua("sha256").update(t).digest("hex").slice(0,16)}var je=null;function ka(){return zn()?(je||(je=new ma(ha,{host:va,flushAt:1,flushInterval:0})),je):null}function le(t,e){let r=ka();if(!r)return;let c=ya();r.capture({distinctId:c,event:t,properties:{...e,$user_id:xa()}})}async function se(){if(je)try{await je.shutdown()}catch{}}function _a(t,e){let r=s=>s.replace(/[^0-9.]/g,"").split(".").map(Number),[c=0,d=0,i=0]=r(t),[o=0,l=0,a=0]=r(e);return c!==o?c>o:d!==l?d>l:i>a}function ja(){let t="0.8.0";if(!t)return;let e="@vibeflow-tools/cli";import("https").then(({default:r})=>{let c=r.get(`https://registry.npmjs.org/${encodeURIComponent(e)}/latest`,{timeout:5e3},d=>{let i="";d.on("data",o=>{i+=o.toString()}),d.on("end",()=>{try{let{version:o}=JSON.parse(i);o&&_a(o,t)&&(console.log(),console.log(n.bgYellow.black.bold(` \u2191 Update available: ${t} \u2192 ${o} `)),console.log(n.dim(" Run: ")+n.cyan(`npm install -g ${e}@${o}`)+n.dim(" to update")),console.log())}catch{}})});c.on("error",()=>{}),c.on("timeout",()=>{c.destroy()})}).catch(()=>{})}Sn();var ue={backlog:n.gray,todo:n.yellow,"in-progress":n.blue,review:n.magenta,done:n.green},Ta=new Set(["Task","Bug","Research"]),We=["backlog","todo","in-progress","review","done"],ce=(t,e)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime();function $n(t){let e=r=>t.filter(c=>c.status===r).length;return` Total: ${t.length} | Backlog: ${e("backlog")} | Todo: ${e("todo")} | In Progress: ${e("in-progress")} | Review: ${e("review")} | Done: ${e("done")}`}function Ea(t){if(t){for(let e of Ta)if(e.toLowerCase()===t.toLowerCase())return e}}function ae(t){let e=(t??"Medium").trim().toLowerCase();return e==="critical"?0:e==="high"?1:e==="low"?3:2}var Dn=["in-progress","review","todo","backlog","done"];function Ue(t){let e=Dn.indexOf(t);return e===-1?Dn.length:e}function Fn(t){try{return qe("git",["push"],{cwd:t,stdio:"inherit"}),{ok:!0}}catch{try{let e=gt("git rev-parse --abbrev-ref HEAD",{cwd:t}).toString().trim();return qe("git",["push","--set-upstream","origin",e],{cwd:t,stdio:"inherit"}),{ok:!0}}catch(e){return{ok:!1,error:(e instanceof Error?e.message:String(e)).slice(0,220)}}}}function he(t){let e=Ie(t);for(let r of e.split(`
|
|
1772
|
+
`))r.startsWith("Agent instructions")?console.log(n.bold(r)):r.startsWith(" \u26A0")?console.log(n.yellow(r)):r.startsWith(" CRITICAL:")?console.log(n.red(r)):console.log(n.dim(r))}var Bn=["Task","Bug","Feature","Enhancement","Research"],Wn=t=>t.trim().toLowerCase();function ve(t,e){let r=Wn(e);return r?Wn(t??"")===r:!0}function Ia(t){return[...new Set(t.map(e=>e.author?.trim()).filter(e=>!!e))].sort((e,r)=>e.localeCompare(r))}function He(t){return Bn.map(e=>e.toLowerCase()).includes(t.toLowerCase())?!0:(console.log(n.red(`\u2717 Invalid type filter: "${t}"`)),console.log(n.yellow(` Available types: ${Bn.join(" | ")}`)),console.log(n.dim(" Type filter is exact (example: --type Bug)")),process.exitCode=1,!1)}function Te(t,e){let r=Ia(e);return r.length===0?(console.log(n.red("\u2717 Cannot filter by user: no task authors are available on this board.")),process.exitCode=1,!1):r.some(c=>ve(c,t))?!0:(console.log(n.red(`\u2717 User not found: "${t}"`)),console.log(n.yellow(` Available users: ${r.join(" | ")}`)),console.log(n.dim(" User filter is exact email match (case-insensitive).")),process.exitCode=1,!1)}function Pa(t,e,r,c,d){let i=ue[t.status]??n.white;if(console.log(` ${n.dim(`${r+1}.`)} ${i(`[${e.status}]`)} ${e.title}`),console.log(n.dim(` id: ${e.id}`)),console.log(n.dim(` file: ${t.filePath}`)),e.file&&console.log(n.dim(` source: ${e.file}${e.line!=null?`:${e.line}`:""}${e.col!=null?`:${e.col}`:""}`)),e.component&&console.log(n.dim(` component: ${e.component}`)),console.log(n.dim(` selector: ${e.selector}`)),t.cssSelector&&console.log(n.dim(` css: ${t.cssSelector}`)),e.url&&console.log(n.dim(` url: ${e.url}`)),t.screenshot&&console.log(n.dim(` screenshot: http://localhost:${c}/screenshots/${t.screenshot}`)),t.commits&&t.commits.length>0)if(t.commits.length===1)console.log(n.dim(` commit: ${t.commits[0].sha}`));else{console.log(n.dim(` commits (${t.commits.length}):`));for(let o of t.commits)console.log(n.dim(` ${o.sha.slice(0,8)} ${o.timestamp} ${o.message.slice(0,60)}`))}if(t.branchName&&console.log(n.dim(` branch: ${t.branchName}`)),console.log(n.dim(` created: ${e.created}`)),e.type&&console.log(n.dim(` type: ${e.type}`)),e.priority&&console.log(n.dim(` priority: ${e.priority}`)),e.description){console.log(n.dim(" description:"));for(let o of e.description.split(`
|
|
1743
1773
|
`))console.log(n.dim(` ${o}`))}if(e.structuredComments&&e.structuredComments.length>0){console.log(n.dim(` comments (${e.structuredComments.length}):`));for(let o of e.structuredComments){let l=o.updatedAt?` (edited ${o.updatedAt})`:"";console.log(n.dim(` [${o.author??"agent"}] ${o.createdAt}${l}`));for(let a of o.text.split(`
|
|
1744
1774
|
`))console.log(n.dim(` ${a}`))}}if(e.linkedFiles&&e.linkedFiles.length>0){console.log(n.dim(` linked files (${e.linkedFiles.length}):`));for(let o of e.linkedFiles){let l=o.linkedPath??Ca(d,".vibeflow","files",t.id,o.name);if(console.log(n.dim(` - ${o.name} ${o.url}`)),/\.(md|txt)$/i.test(o.name)&&o.size<1e5&&Hn(l))try{let a=Un(l,"utf-8");console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let s of a.split(`
|
|
1745
|
-
`))console.log(n.dim(` \u2502 ${s}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var
|
|
1775
|
+
`))console.log(n.dim(` \u2502 ${s}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}catch{}}}console.log()}var G=new wa;G.name("vibeflow").description("Vibeflow \u2014 CLI tool for frontend prototyping with LLM assistance").version("0.8.0");G.addHelpText("after",`
|
|
1746
1776
|
${"\u2500".repeat(60)}
|
|
1747
1777
|
For coding agents \u2014 quick reference:
|
|
1748
1778
|
|
|
@@ -1774,14 +1804,14 @@ File attachments:
|
|
|
1774
1804
|
<file binary body>
|
|
1775
1805
|
List: GET /api/tasks/<id>/files
|
|
1776
1806
|
Delete: DELETE /api/tasks/<id>/files/<filename>
|
|
1777
|
-
`);
|
|
1807
|
+
`);G.command("serve").description("Serve HTML prototype(s) with live overlay, or start API-only task server for existing apps").argument("[target]","HTML file or directory of HTML files").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").action(async(t,e)=>{le("command_run",{command:"serve"}),await se(),await ut(t,{port:parseInt(e.port,10),host:e.host,open:e.open})});G.command("kanban").description("Start the Vibeflow server and open the live Kanban board in the browser").argument("[dir]","Project root directory",".").option("-p, --port <port>","Port number","3700").option("--host <host>","Bind hostname (default: localhost; use 0.0.0.0 for LAN sharing)").option("--no-open","Do not open browser automatically").action(async(t,e)=>{le("command_run",{command:"kanban"}),await se();let r=parseInt(e.port,10),d=(await ut(void 0,{port:r,host:e.host,open:!1,projectDir:F(t),noCtrlCHint:!0})).url+"/kanban";console.log(),console.log(n.green(" \u2713 Kanban board ready")),console.log(n.dim(" ")+n.cyan(d)),console.log(),console.log(n.bold("Agent prompt:")),console.log(n.dim(" Get new tasks and implement them, once done check again for new ones:")),console.log(n.dim(" ")+n.green("npx @vibeflow-tools/cli tasks --next")),console.log(),console.log(n.dim(" Press Ctrl+C to stop")),console.log(),e.open&&import("open").then(i=>i.default(d)).catch(()=>{console.log(n.dim(" Visit: ")+n.cyan(d))}),ja()});G.command("tasks").description("List or edit tasks in the project").argument("[dir]","Project root directory",".").option("--status <status>","Filter by status (backlog, todo, in-progress, review, done)").option("--type <type>","Filter by type (Task, Bug, Feature, Enhancement, Research)").option("--user <user>","Filter by exact task author email (case-insensitive)").option("--edit [task-id]","Edit a task by ID (LLM-friendly). Omit task-id to see usage instructions.").option("--add","Create a task (requires --title)").option("--title <title>","New title for the task (use with --edit)").option("--set-status <status>","New status: backlog | todo | in-progress | review | done (use with --edit)").option("--description <text>","New description for the task (use with --edit)").option("--json","Output machine-readable JSON").option("--commit","Commit staged changes and link the commit SHA to a task (use with --task)").option("--task <task-id>","Task ID to link with the commit (use with --commit)").option("--message <msg>","Commit message (use with --commit; task ID is appended automatically)").option("--comment <text>","Implementation report comment (required when setting status to review)").option("--commit-message <msg>","Commit message for auto-commit on review (required when auto-commit setting is ON)").option("--get <task-id>","Get full details of a single task by ID (supports partial ID prefix)").option("--next","Pick the next available todo task, move it to in-progress, and output it ready to work on").option("--tag <tag>","Filter by tag (can be specified multiple times for AND matching)",(t,e)=>[...e,t],[]).option("--report-file <path>","Path to a local .md file to upload as the research report (use with --set-status review on Research tasks; file is uploaded and deleted locally)").option("--branch <name>","Git branch name for the task (required when createBranch setting is ON and setting status to review)").option("--limit <n>","Limit how many tasks are returned in list mode (default: 5; use 0 for unlimited)").action((t,e)=>{(async()=>{let r=e.add?"add":e.next?"next":e.edit?"edit":e.get?"get":"list";if(le("command_run",{command:"tasks",subcommand:r}),e.get){if(await ie()==="saas"){let T=await V(),L=await me(T?.id);if(!L){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=1;return}let E=L.tasks.find(I=>I.id===e.get||I.id.startsWith(e.get));if(!E){console.log(n.red(`\u2717 Task not found: ${e.get}`)),process.exitCode=1;return}let O=ne(E.status);if(e.json){console.log(JSON.stringify({...E,status:O},null,2));return}let bt=ue[O]??n.white;if(console.log(` ${bt(`[${O}]`)} ${n.bold(E.title)}`),console.log(n.dim(` id: ${E.id}`)),console.log(n.dim(" selector: /")),E.type&&console.log(n.dim(` type: ${E.type}`)),E.priority&&console.log(n.dim(` priority: ${E.priority}`)),console.log(n.dim(` created: ${E.createdAt}`)),E.description){console.log(n.dim(" description:"));for(let I of E.description.split(`
|
|
1778
1808
|
`))console.log(n.dim(` ${I}`))}E.annotatedElementText&&console.log(n.dim(` element text: ${E.annotatedElementText}`)),E.branchName&&console.log(n.dim(` branch: ${E.branchName}`));let re=[...E.comments??[]].sort(ce);if(re.length>0){console.log(n.dim(` comments (${re.length}):`));for(let I of re){console.log(n.dim(` [${I.author??"agent"}] ${I.createdAt}`));for(let H of I.body.split(`
|
|
1779
1809
|
`))console.log(n.dim(` ${H}`))}}if(E.files&&E.files.length>0){console.log(n.dim(` linked files (${E.files.length}):`));for(let I of E.files){let H=I.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${E.id}/files/${encodeURIComponent(I.name)}`;if(console.log(n.dim(` - ${I.name} ${H}`)),I.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let pe of I.content.split(`
|
|
1780
1810
|
`))console.log(n.dim(` \u2502 ${pe}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}let de=B(F(t)),Ve=(E.type??"").toLowerCase()==="research",ye=(E.type??"").toLowerCase()==="bug";he({hasResearchTasks:Ve,hasBugTasks:ye,autoCommit:de.autoCommit,autoPush:de.autoPush,autoComment:de.autoComment,createBranch:de.createBranch});return}let h=F(t),p=ge(h),x=Z(h).find(T=>T.id===e.get||T.id.startsWith(e.get));if(!x){console.log(n.red(`\u2717 Task not found: ${e.get}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let m=ee(h,x.id).sort(ce),S=q(h,x.id).map(T=>({...T,url:`http://localhost:${p.port}${T.url}`})),v=Ke(x,m,S);if(e.json){console.log(JSON.stringify({...x,comments:m,files:S},null,2));return}let _=ue[x.status]??n.white,N=Se(x,x.filePath,m,S,h).split(`
|
|
1781
|
-
`);if(N.length>0){let T=N[0],L=T.match(/^\[(\w+)\]\s+(.+)$/);console.log(L?` ${_(`[${L[1]}]`)} ${n.bold(L[2])}`:n.dim(T));for(let E=1;E<N.length;E++)console.log(n.dim(N[E]))}let
|
|
1811
|
+
`);if(N.length>0){let T=N[0],L=T.match(/^\[(\w+)\]\s+(.+)$/);console.log(L?` ${_(`[${L[1]}]`)} ${n.bold(L[2])}`:n.dim(T));for(let E=1;E<N.length;E++)console.log(n.dim(N[E]))}let z=B(h),R=(x.type??"").toLowerCase()==="research",P=(x.type??"").toLowerCase()==="bug";he({hasResearchTasks:R,hasBugTasks:P,autoCommit:z.autoCommit,autoPush:z.autoPush,autoComment:z.autoComment,createBranch:z.createBranch});return}if(e.next){if(await ie()==="saas"){let T=await V(),L=await me(T?.id);if(!L){console.log(n.red("\u2717 Unable to reach the online backend.")),process.exitCode=1;return}if(e.type&&!He(e.type))return;let E=L.tasks.map(I=>({...I,status:ne(I.status)})).filter(I=>I.status==="todo");if(e.type&&(E=E.filter(I=>(I.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,E))return;if(e.user&&(E=E.filter(I=>ve(I.author,e.user))),e.tag&&e.tag.length>0&&(E=E.filter(I=>e.tag.every(H=>(I.tags??[]).includes(H)))),E=E.sort((I,H)=>{let pe=ae(I.priority??void 0)-ae(H.priority??void 0);return pe!==0?pe:ce(I,H)}),E.length===0){let I=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),H=I.length>0?` matching ${I.join(" ")}`:"";console.log(n.dim(`No todo tasks found${H}. Nothing to work on.`));return}let O=E[0];if(!await pt(O.id,{status:"in-progress"})){console.log(n.red(`\u2717 Failed to move task to in-progress: ${O.id}`)),process.exitCode=1;return}if(e.json){console.log(JSON.stringify({...O,status:"in-progress"},null,2));return}let re=B(F(t)),de=(O.type??"").toLowerCase()==="research",Ve=(O.type??"").toLowerCase()==="bug";if(he({hasResearchTasks:de,hasBugTasks:Ve,autoCommit:re.autoCommit,autoPush:re.autoPush,autoComment:re.autoComment,createBranch:re.createBranch}),console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log(),console.log(` ${n.blue("[in-progress]")} ${n.bold(O.title)}`),console.log(n.dim(` id: ${O.id}`)),O.type&&console.log(n.dim(` type: ${O.type}`)),O.priority&&console.log(n.dim(` priority: ${O.priority}`)),console.log(n.dim(` created: ${O.createdAt}`)),O.description){console.log(n.dim(" description:"));for(let I of O.description.split(`
|
|
1782
1812
|
`))console.log(n.dim(` ${I}`))}let ye=[...O.comments??[]].sort(ce);if(ye.length>0){console.log(n.dim(` comments (${ye.length}):`));for(let I of ye){let H=I.authorId?`user:${I.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${H}] ${I.createdAt}`));for(let pe of I.body.split(`
|
|
1783
|
-
`))console.log(n.dim(` ${pe}`))}}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}let h=F(t),p=Z(h);if(e.type&&!He(e.type))return;let g=p.filter(T=>T.status==="todo");if(e.type&&(g=g.filter(T=>(T.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,g))return;if(e.user&&(g=g.filter(T=>ve(T.author,e.user))),e.tag&&e.tag.length>0&&(g=g.filter(T=>e.tag.every(L=>(T.tags??[]).includes(L)))),g=g.sort((T,L)=>{let E=ae(T.priority)-ae(L.priority);return E!==0?E:new Date(T.created).getTime()-new Date(L.created).getTime()}),g.length===0){let T=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),L=T.length>0?` matching ${T.join(" ")}`:"";console.log(n.dim(`No todo tasks found${L}. Nothing to work on.`));return}let x=g[0],m=$(h,x.id,{status:"in-progress"});if(!m){console.log(n.red(`\u2717 Failed to update task: ${x.id}`)),process.exitCode=1;return}if(e.json){console.log(JSON.stringify({...m,filePath:x.filePath},null,2));return}let S=B(h),v=(m.type??"").toLowerCase()==="research",_=(m.type??"").toLowerCase()==="bug";he({hasResearchTasks:v,hasBugTasks:_,autoCommit:S.autoCommit,autoPush:S.autoPush,autoComment:S.autoComment,createBranch:S.createBranch});let C=ge(h),N=ee(h,m.id).sort(ce),
|
|
1784
|
-
`);if(R.length>0){let T=R[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(T?` ${n.blue(`[${T[1]}]`)} ${n.bold(T[2])}`:n.dim(R[0]));for(let L=1;L<R.length;L++)console.log(n.dim(R[L]))}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}if(e.add){if(!e.title?.trim()){console.log(n.red("\u2717 --title is required with --add")),console.log(n.dim(' Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"')),process.exitCode=1;return}if(await ie()==="saas"){let m=await V(),v=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",_=ht(),C=await In({id:_,title:e.title.trim(),description:e.description?.trim(),status:v,boardId:m?.id});if(!C){console.log(n.red("\u2717 Failed to create task in online board.")),console.log(n.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=1;return}e.json?console.log(JSON.stringify(C,null,2)):(console.log(n.green(`\u2713 Task created: ${C.title}`)),console.log(n.dim(` id: ${C.id} | status: ${ne(C.status)}`)));return}let h=F(t);we(h);let g=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",x=fe(h,{title:e.title.trim(),description:e.description?.trim()??"",status:g,selector:"/"});e.json?console.log(JSON.stringify(x,null,2)):(console.log(n.green(`\u2713 Task created: ${x.title}`)),console.log(n.dim(` id: ${x.id} | status: ${x.status}`)));return}if(e.commit){if(!e.task){console.log(n.red("\u2717 --task <task-id> is required with --commit")),console.log(n.dim(' Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"')),process.exitCode=1;return}let b=F(t),p=Y(b).find(m=>m.id===e.task||m.id.startsWith(e.task));if(!p){console.log(n.red(`\u2717 Task not found: ${e.task}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let g=e.message?.trim()||p.title;(p.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(n.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let x=`${g} [proto:${p.id}]`;try{qe("git",["commit","-m",x],{cwd:b,stdio:"inherit"});let m=gt("git rev-parse HEAD",{cwd:b}).toString().trim(),S={sha:m,message:g,timestamp:new Date().toISOString()},v=p.commits??[];if($(b,p.id,{commits:[...v,S]}),console.log(n.green(`\u2713 Committed and linked to task: ${p.title}`)),console.log(n.dim(` commit: ${m}`)),console.log(n.dim(` proto: ${p.id}`)),B(b).autoPush){console.log(n.dim(" auto-push: pushing commit to remote..."));let C=Fn(b);C.ok?console.log(n.green("\u2713 Auto-push complete")):(console.log(n.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),C.error&&console.log(n.dim(` reason: ${C.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}return}if(e.edit!==void 0){let b=typeof e.edit=="string"?e.edit:void 0,h=e.title||e.setStatus||e.description;if(!b||!h){if(e.type&&!He(e.type))return;let m=Y(t);if(e.status&&(m=m.filter(S=>S.status===e.status)),e.type&&(m=m.filter(S=>(S.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,m))return;if(e.user&&(m=m.filter(S=>ve(S.author,e.user))),e.tag&&e.tag.length>0&&(m=m.filter(S=>e.tag.every(v=>(S.tags??[]).includes(v)))),console.log(n.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(n.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(n.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),m.length===0)console.log(n.dim("No tasks found."));else{console.log("Available tasks:");for(let S of m){let v=ue[S.status]??n.white;console.log(` ${v(`[${S.status}]`)} ${n.bold(S.id)} \u2014 ${S.title}`)}}return}if(e.setStatus==="done"&&(console.log(n.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(n.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(n.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!We.includes(e.setStatus)){console.log(n.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(n.yellow(` Valid statuses: ${We.join(" | ")}`)),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status in-progress`)),process.exitCode=1;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required when setting status to review")),console.log(n.dim(" Provide a concise implementation report explaining:")),console.log(n.dim(" \xB7 what was changed and why")),console.log(n.dim(" \xB7 key decisions and trade-offs")),console.log(n.dim(" \xB7 anything future agents should know")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=1;return}let p=await ie();if(e.setStatus==="review"){let m=F(t),S=B(m);if(S.autoComment&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(n.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=1;return}if(S.autoCommit&&!e.commitMessage?.trim()){console.log(n.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(n.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=1;return}if(S.createBranch&&!e.branch?.trim()){console.log(n.red("\u2717 --branch is required (create-branch setting is ON)")),console.log(n.dim(" Provide the git branch name created for this task.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --branch feat/add-hover-effect --comment "..."`)),process.exitCode=1;return}}if(p==="saas"){let m={};if(e.setStatus&&(m.status=e.setStatus),e.title&&(m.title=e.title),e.description&&(m.description=e.description),e.branch&&(m.branchName=e.branch),e.setStatus==="in-progress"){let v=await Tn(b);if(v&&ne(v.status)==="in-progress"){let _=v.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (last updated by: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let S=await pt(b,m);if(!S){console.log(n.red(`\u2717 Failed to update task: ${b}`)),console.log(n.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=1;return}S.warning&&console.log(n.yellow(`\u26A0 Server warning: ${S.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await En(b,e.comment.trim())&&console.log(n.dim(" comment: added")),console.log(n.green(`\u2713 Task updated: ${S.task.title}`)),console.log(n.dim(` id: ${S.task.id} | status: ${ne(S.task.status)}`));return}let g={};if(e.title&&(g.title=e.title),e.setStatus&&(g.status=e.setStatus),e.description&&(g.description=e.description),e.branch&&(g.branchName=e.branch),e.setStatus==="in-progress"){let m=F(t),v=Y(m).find(_=>_.id===b||_.id.startsWith(b));if(v&&((v.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(n.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),v.status==="in-progress")){let _=v.updated?new Date(v.updated).toLocaleString():"unknown",C=v.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (author: ${C}, last updated: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let m=F(t),v=Y(m).find(_=>_.id===b||_.id.startsWith(b));if(v&&(v.type??"").toLowerCase()==="research"){if(e.reportFile){let _=F(e.reportFile);if(!Hn(_)){console.log(n.red(`\u2717 Report file not found: ${_}`)),process.exitCode=1;return}if(!/\.md$/i.test(_)){console.log(n.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=1;return}let C=Un(_),{saveFile:N}=await import("./files-TKEFFLPI.js");N(m,v.id,An(_),C),Sa(_),console.log(n.green(`\u2713 Report uploaded: ${An(_)} (local file removed)`))}else if(!q(m,v.id).some(N=>/\.md$/i.test(N.name))){console.log(n.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(n.dim(" Provide a research report:")),console.log(n.dim(` vibeflow tasks --edit ${b} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=1;return}}}let x=$(t,b,g);if(!x){console.log(n.red(`\u2717 Task not found: ${b}`)),console.log(n.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}if(e.setStatus==="review"&&e.comment?.trim()&&(oe(F(t),b,"agent",e.comment.trim()),console.log(n.dim(" comment: added"))),console.log(n.green(`\u2713 Task updated: ${x.title}`)),console.log(n.dim(` id: ${x.id} | status: ${x.status}`)),e.setStatus==="review"){let m=F(t),S=B(m);if(S.autoCommit&&e.commitMessage?.trim()){let _=Y(m).find(C=>C.id===b||C.id.startsWith(b));if(_){let C=`${e.commitMessage.trim()} [proto:${_.id}]`;try{qe("git",["commit","-m",C],{cwd:m,stdio:"inherit"});let N=gt("git rev-parse HEAD",{cwd:m}).toString().trim(),M={sha:N,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},P=_.commits??[];if($(m,_.id,{commits:[...P,M]}),console.log(n.green(`\u2713 Committed: ${C}`)),console.log(n.dim(` sha: ${N}`)),S.autoPush){console.log(n.dim(" pushing..."));let R=Fn(m);R.ok?console.log(n.green("\u2713 Pushed")):(console.log(n.yellow("\u26A0 Push failed. Run 'git push' manually.")),R.error&&console.log(n.dim(` reason: ${R.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}}}}return}if(e.status&&!We.includes(e.status)){console.log(n.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(n.yellow(` Valid statuses: ${We.join(" | ")}`)),console.log(n.dim(" Example: vibeflow tasks --status todo")),process.exitCode=1;return}if(e.type&&!He(e.type))return;if(await ie()==="saas"){let b=await V(),h=await me(b?.id);if(!h){console.log(n.red("\u2717 Unable to reach the online backend.")),console.log(n.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=1;return}let p=h.tasks.map(v=>({...v,status:ne(v.status)}));if(e.status&&(p=p.filter(v=>v.status===e.status)),e.type&&(p=p.filter(v=>(v.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,p))return;e.user&&(p=p.filter(v=>ve(v.author,e.user))),e.tag&&e.tag.length>0&&(p=p.filter(v=>e.tag.every(_=>(v.tags??[]).includes(_))));let g=e.limit!==void 0?parseInt(e.limit,10):20;if(!isNaN(g)&&g>0&&(p=p.slice(0,g)),e.json){console.log(JSON.stringify(p,null,2));return}let x=p.some(v=>(v.type??"").toLowerCase()==="research"),m=p.some(v=>(v.type??"").toLowerCase()==="bug"),S=B(F(t));if(he({hasResearchTasks:x,hasBugTasks:m,autoCommit:S.autoCommit,autoPush:S.autoPush,autoComment:S.autoComment,createBranch:S.createBranch}),p.length===0)console.log(n.dim("No tasks found."));else{p=p.sort((_,C)=>{let N=Ue(_.status)-Ue(C.status);if(N!==0)return N;let M=ae(_.priority??void 0)-ae(C.priority??void 0);return M!==0?M:new Date(C.updatedAt).getTime()-new Date(_.updatedAt).getTime()});for(let[_,C]of p.entries()){let N=ue[C.status]??n.white,M=Ea(C.type);if(console.log(` ${n.dim(`${_+1}.`)} ${N(`[${C.status}]`)} ${C.title}`),console.log(n.dim(` id: ${C.id}`)),console.log(n.dim(" selector: /")),M&&console.log(n.dim(` type: ${M}`)),C.priority&&console.log(n.dim(` priority: ${C.priority}`)),console.log(n.dim(` created: ${C.createdAt}`)),C.description){console.log(n.dim(" description:"));for(let P of C.description.split(`
|
|
1785
|
-
`))console.log(n.dim(` ${
|
|
1786
|
-
`))console.log(n.dim(` ${L}`))}}if(C.files&&C.files.length>0){console.log(n.dim(` linked files (${C.files.length}):`));for(let
|
|
1787
|
-
`))console.log(n.dim(` \u2502 ${T}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let v=h.tasks.map(_=>({..._,status:ne(_.status)}));console.log(n.dim($n(v)))}return}let d=Z(t);if(e.user&&!Te(e.user,d))return;let i=e.status?d.filter(b=>b.status===e.status):d;e.type&&(i=i.filter(b=>(b.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(i=i.filter(b=>ve(b.author,e.user))),e.tag&&e.tag.length>0&&(i=i.filter(b=>e.tag.every(h=>(b.tags??[]).includes(h))));let o=e.limit!==void 0?parseInt(e.limit,10):
|
|
1813
|
+
`))console.log(n.dim(` ${pe}`))}}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}let h=F(t),p=Z(h);if(e.type&&!He(e.type))return;let g=p.filter(T=>T.status==="todo");if(e.type&&(g=g.filter(T=>(T.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,g))return;if(e.user&&(g=g.filter(T=>ve(T.author,e.user))),e.tag&&e.tag.length>0&&(g=g.filter(T=>e.tag.every(L=>(T.tags??[]).includes(L)))),g=g.sort((T,L)=>{let E=ae(T.priority)-ae(L.priority);return E!==0?E:new Date(T.created).getTime()-new Date(L.created).getTime()}),g.length===0){let T=[e.type&&`type=${e.type}`,e.user&&`user=${e.user}`,e.tag?.length&&`tag=${e.tag.join(",")}`].filter(Boolean),L=T.length>0?` matching ${T.join(" ")}`:"";console.log(n.dim(`No todo tasks found${L}. Nothing to work on.`));return}let x=g[0],m=$(h,x.id,{status:"in-progress"});if(!m){console.log(n.red(`\u2717 Failed to update task: ${x.id}`)),process.exitCode=1;return}if(e.json){console.log(JSON.stringify({...m,filePath:x.filePath},null,2));return}let S=B(h),v=(m.type??"").toLowerCase()==="research",_=(m.type??"").toLowerCase()==="bug";he({hasResearchTasks:v,hasBugTasks:_,autoCommit:S.autoCommit,autoPush:S.autoPush,autoComment:S.autoComment,createBranch:S.createBranch});let C=ge(h),N=ee(h,m.id).sort(ce),z=q(h,m.id).map(T=>({...T,url:`http://localhost:${C.port}${T.url}`})),R=Se(m,x.filePath,N,z,h);console.log(n.green.bold("\u25B6 NEXT TASK \u2014 Status moved to in-progress. Implement this now:")),console.log();let P=R.split(`
|
|
1814
|
+
`);if(P.length>0){let T=P[0].match(/^\[(\w+)\]\s+(.+)$/);console.log(T?` ${n.blue(`[${T[1]}]`)} ${n.bold(T[2])}`:n.dim(P[0]));for(let L=1;L<P.length;L++)console.log(n.dim(P[L]))}console.log(),console.log(n.yellow(" \u26A1 This task is already in-progress. Implement it now and mark as review when done."));return}if(e.add){if(!e.title?.trim()){console.log(n.red("\u2717 --title is required with --add")),console.log(n.dim(' Example: vibeflow tasks --add --title "Fix CTA spacing" --description "Button overflows on mobile"')),process.exitCode=1;return}if(await ie()==="saas"){let m=await V(),v=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",_=ht(),C=await In({id:_,title:e.title.trim(),description:e.description?.trim(),status:v,boardId:m?.id});if(!C){console.log(n.red("\u2717 Failed to create task in online board.")),console.log(n.yellow(" Check your connection or run 'vibeflow login'.")),process.exitCode=1;return}e.json?console.log(JSON.stringify(C,null,2)):(console.log(n.green(`\u2713 Task created: ${C.title}`)),console.log(n.dim(` id: ${C.id} | status: ${ne(C.status)}`)));return}let h=F(t);we(h);let g=["backlog","todo","in-progress","review","done"].includes(e.setStatus??"")?e.setStatus:"todo",x=fe(h,{title:e.title.trim(),description:e.description?.trim()??"",status:g,selector:"/"});e.json?console.log(JSON.stringify(x,null,2)):(console.log(n.green(`\u2713 Task created: ${x.title}`)),console.log(n.dim(` id: ${x.id} | status: ${x.status}`)));return}if(e.commit){if(!e.task){console.log(n.red("\u2717 --task <task-id> is required with --commit")),console.log(n.dim(' Example: vibeflow tasks --commit --task abc12345 --message "fix button alignment"')),process.exitCode=1;return}let b=F(t),p=Y(b).find(m=>m.id===e.task||m.id.startsWith(e.task));if(!p){console.log(n.red(`\u2717 Task not found: ${e.task}`)),console.log(n.dim(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}let g=e.message?.trim()||p.title;(p.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Research tasks must NOT produce code changes.")),console.log(n.yellow(" Only commit research report files (.md). Do not commit code changes.")),console.log());let x=`${g} [proto:${p.id}]`;try{qe("git",["commit","-m",x],{cwd:b,stdio:"inherit"});let m=gt("git rev-parse HEAD",{cwd:b}).toString().trim(),S={sha:m,message:g,timestamp:new Date().toISOString()},v=p.commits??[];if($(b,p.id,{commits:[...v,S]}),console.log(n.green(`\u2713 Committed and linked to task: ${p.title}`)),console.log(n.dim(` commit: ${m}`)),console.log(n.dim(` proto: ${p.id}`)),B(b).autoPush){console.log(n.dim(" auto-push: pushing commit to remote..."));let C=Fn(b);C.ok?console.log(n.green("\u2713 Auto-push complete")):(console.log(n.yellow("\u26A0 Auto-push failed. Commit is local; run 'git push' manually.")),C.error&&console.log(n.dim(` reason: ${C.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}return}if(e.edit!==void 0){let b=typeof e.edit=="string"?e.edit:void 0,h=e.title||e.setStatus||e.description;if(!b||!h){if(e.type&&!He(e.type))return;let m=Y(t);if(e.status&&(m=m.filter(S=>S.status===e.status)),e.type&&(m=m.filter(S=>(S.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,m))return;if(e.user&&(m=m.filter(S=>ve(S.author,e.user))),e.tag&&e.tag.length>0&&(m=m.filter(S=>e.tag.every(v=>(S.tags??[]).includes(v)))),console.log(n.bold("vibeflow tasks --edit \u2014 LLM Usage Instructions")),console.log(),console.log("Edit a task:"),console.log(n.cyan(' vibeflow tasks [dir] --edit <task-id> [--title "new title"] [--set-status backlog|todo|in-progress|review|done] [--description "new description"]')),console.log(),console.log("Examples:"),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status done")),console.log(n.dim(" vibeflow tasks --edit abc12345 --set-status in-progress")),console.log(n.dim(' vibeflow tasks --edit abc12345 --title "Updated title" --description "More detail"')),console.log(),m.length===0)console.log(n.dim("No tasks found."));else{console.log("Available tasks:");for(let S of m){let v=ue[S.status]??n.white;console.log(` ${v(`[${S.status}]`)} ${n.bold(S.id)} \u2014 ${S.title}`)}}return}if(e.setStatus==="done"&&(console.log(n.yellow('\u26A0 WARNING: Agents should NEVER set a task status to "done".')),console.log(n.yellow(" Only humans should mark tasks as done after reviewing.")),console.log(n.dim(" If you are an agent, use --set-status review instead.")),console.log()),e.setStatus&&!We.includes(e.setStatus)){console.log(n.red(`\u2717 Invalid status: "${e.setStatus}"`)),console.log(n.yellow(` Valid statuses: ${We.join(" | ")}`)),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status in-progress`)),process.exitCode=1;return}if(e.setStatus==="review"&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required when setting status to review")),console.log(n.dim(" Provide a concise implementation report explaining:")),console.log(n.dim(" \xB7 what was changed and why")),console.log(n.dim(" \xB7 key decisions and trade-offs")),console.log(n.dim(" \xB7 anything future agents should know")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --comment "Implemented X by doing Y. Key decision: Z."`)),process.exitCode=1;return}let p=await ie();if(e.setStatus==="review"){let m=F(t),S=B(m);if(S.autoComment&&!e.comment?.trim()){console.log(n.red("\u2717 --comment is required (auto-comment setting is ON)")),console.log(n.dim(" Provide: what changed, why, key decisions, anything future agents should know.")),console.log(n.dim(" Plain text for short notes; Markdown for multi-section reports.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --comment "Implemented X by doing Y."`)),process.exitCode=1;return}if(S.autoCommit&&!e.commitMessage?.trim()){console.log(n.red("\u2717 --commit-message is required (auto-commit setting is ON)")),console.log(n.dim(" Stage your changes first, then provide a one-line commit summary.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --commit-message "fix: add hover effect" --comment "..."`)),process.exitCode=1;return}if(S.createBranch&&!e.branch?.trim()){console.log(n.red("\u2717 --branch is required (create-branch setting is ON)")),console.log(n.dim(" Provide the git branch name created for this task.")),console.log(n.dim(` Example: vibeflow tasks --edit ${b} --set-status review --branch feat/add-hover-effect --comment "..."`)),process.exitCode=1;return}}if(p==="saas"){let m={};if(e.setStatus&&(m.status=e.setStatus),e.title&&(m.title=e.title),e.description&&(m.description=e.description),e.branch&&(m.branchName=e.branch),e.setStatus==="in-progress"){let v=await Tn(b);if(v&&ne(v.status)==="in-progress"){let _=v.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (last updated by: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}let S=await pt(b,m);if(!S){console.log(n.red(`\u2717 Failed to update task: ${b}`)),console.log(n.yellow(" Ensure you are connected and the task ID exists in the online board.")),process.exitCode=1;return}S.warning&&console.log(n.yellow(`\u26A0 Server warning: ${S.warning}`)),e.setStatus==="review"&&e.comment?.trim()&&await En(b,e.comment.trim())&&console.log(n.dim(" comment: added")),console.log(n.green(`\u2713 Task updated: ${S.task.title}`)),console.log(n.dim(` id: ${S.task.id} | status: ${ne(S.task.status)}`));return}let g={};if(e.title&&(g.title=e.title),e.setStatus&&(g.status=e.setStatus),e.description&&(g.description=e.description),e.branch&&(g.branchName=e.branch),e.setStatus==="in-progress"){let m=F(t),v=Y(m).find(_=>_.id===b||_.id.startsWith(b));if(v&&((v.type??"").toLowerCase()==="research"&&(console.log(n.yellow("\u26A0 WARNING: This is a Research task. Policy: do NOT implement code.")),console.log(n.yellow(" Research only \u2014 attach a .md report file, leave a summary comment, mark as review.")),console.log()),v.status==="in-progress")){let _=v.updated?new Date(v.updated).toLocaleString():"unknown",C=v.author??"another user";console.log(n.yellow(`\u26A0 Task is already in-progress (author: ${C}, last updated: ${_})`)),console.log(n.yellow(" Another agent or user may be working on this task.")),console.log(n.yellow(" Proceeding \u2014 but verify the task is not being worked on elsewhere.")),console.log()}}if(e.setStatus==="review"){let m=F(t),v=Y(m).find(_=>_.id===b||_.id.startsWith(b));if(v&&(v.type??"").toLowerCase()==="research"){if(e.reportFile){let _=F(e.reportFile);if(!Hn(_)){console.log(n.red(`\u2717 Report file not found: ${_}`)),process.exitCode=1;return}if(!/\.md$/i.test(_)){console.log(n.red("\u2717 Report file must be a Markdown (.md) file")),process.exitCode=1;return}let C=Un(_),{saveFile:N}=await import("./files-TKEFFLPI.js");N(m,v.id,An(_),C),Sa(_),console.log(n.green(`\u2713 Report uploaded: ${An(_)} (local file removed)`))}else if(!q(m,v.id).some(N=>/\.md$/i.test(N.name))){console.log(n.red("\u2717 Cannot mark Research task as review: no .md report file attached.")),console.log(n.dim(" Provide a research report:")),console.log(n.dim(` vibeflow tasks --edit ${b} --set-status review --report-file ./my-research.md --comment "..."`)),process.exitCode=1;return}}}let x=$(t,b,g);if(!x){console.log(n.red(`\u2717 Task not found: ${b}`)),console.log(n.yellow(" Run 'vibeflow tasks' to see available task IDs.")),process.exitCode=1;return}if(e.setStatus==="review"&&e.comment?.trim()&&(oe(F(t),b,"agent",e.comment.trim()),console.log(n.dim(" comment: added"))),console.log(n.green(`\u2713 Task updated: ${x.title}`)),console.log(n.dim(` id: ${x.id} | status: ${x.status}`)),e.setStatus==="review"){let m=F(t),S=B(m);if(S.autoCommit&&e.commitMessage?.trim()){let _=Y(m).find(C=>C.id===b||C.id.startsWith(b));if(_){let C=`${e.commitMessage.trim()} [proto:${_.id}]`;try{qe("git",["commit","-m",C],{cwd:m,stdio:"inherit"});let N=gt("git rev-parse HEAD",{cwd:m}).toString().trim(),z={sha:N,message:e.commitMessage.trim(),timestamp:new Date().toISOString()},R=_.commits??[];if($(m,_.id,{commits:[...R,z]}),console.log(n.green(`\u2713 Committed: ${C}`)),console.log(n.dim(` sha: ${N}`)),S.autoPush){console.log(n.dim(" pushing..."));let P=Fn(m);P.ok?console.log(n.green("\u2713 Pushed")):(console.log(n.yellow("\u26A0 Push failed. Run 'git push' manually.")),P.error&&console.log(n.dim(` reason: ${P.error}`)))}}catch{console.log(n.red("\u2717 git commit failed \u2014 ensure changes are staged with 'git add'")),process.exitCode=1}}}}return}if(e.status&&!We.includes(e.status)){console.log(n.red(`\u2717 Invalid status filter: "${e.status}"`)),console.log(n.yellow(` Valid statuses: ${We.join(" | ")}`)),console.log(n.dim(" Example: vibeflow tasks --status todo")),process.exitCode=1;return}if(e.type&&!He(e.type))return;if(await ie()==="saas"){let b=await V(),h=await me(b?.id);if(!h){console.log(n.red("\u2717 Unable to reach the online backend.")),console.log(n.yellow(" Check your connection or run 'vibeflow login' if your session expired.")),process.exitCode=1;return}let p=h.tasks.map(v=>({...v,status:ne(v.status)}));if(e.status&&(p=p.filter(v=>v.status===e.status)),e.type&&(p=p.filter(v=>(v.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&!Te(e.user,p))return;e.user&&(p=p.filter(v=>ve(v.author,e.user))),e.tag&&e.tag.length>0&&(p=p.filter(v=>e.tag.every(_=>(v.tags??[]).includes(_))));let g=e.limit!==void 0?parseInt(e.limit,10):5;if(!isNaN(g)&&g>0&&(p=p.slice(0,g)),e.json){console.log(JSON.stringify(p,null,2));return}let x=p.some(v=>(v.type??"").toLowerCase()==="research"),m=p.some(v=>(v.type??"").toLowerCase()==="bug"),S=B(F(t));if(he({hasResearchTasks:x,hasBugTasks:m,autoCommit:S.autoCommit,autoPush:S.autoPush,autoComment:S.autoComment,createBranch:S.createBranch}),p.length===0)console.log(n.dim("No tasks found."));else{p=p.sort((_,C)=>{let N=Ue(_.status)-Ue(C.status);if(N!==0)return N;let z=ae(_.priority??void 0)-ae(C.priority??void 0);return z!==0?z:new Date(C.updatedAt).getTime()-new Date(_.updatedAt).getTime()});for(let[_,C]of p.entries()){let N=ue[C.status]??n.white,z=Ea(C.type);if(console.log(` ${n.dim(`${_+1}.`)} ${N(`[${C.status}]`)} ${C.title}`),console.log(n.dim(` id: ${C.id}`)),console.log(n.dim(" selector: /")),z&&console.log(n.dim(` type: ${z}`)),C.priority&&console.log(n.dim(` priority: ${C.priority}`)),console.log(n.dim(` created: ${C.createdAt}`)),C.description){console.log(n.dim(" description:"));for(let R of C.description.split(`
|
|
1815
|
+
`))console.log(n.dim(` ${R}`))}if(C.comments&&C.comments.length>0){let R=[...C.comments].sort(ce);console.log(n.dim(` comments (${R.length}):`));for(let P of R){let T=P.authorId?`user:${P.authorId.slice(0,8)}`:"agent";console.log(n.dim(` [${T}] ${P.createdAt}`));for(let L of P.body.split(`
|
|
1816
|
+
`))console.log(n.dim(` ${L}`))}}if(C.files&&C.files.length>0){console.log(n.dim(` linked files (${C.files.length}):`));for(let R of C.files){let P=R.url??`${process.env.VIBEFLOW_API_URL??"https://app.vibeflow.tools"}/api/tasks/${C.id}/files/${encodeURIComponent(R.name)}`;if(console.log(n.dim(` - ${R.name} ${P}`)),R.content){console.log(n.dim(" \u250C\u2500\u2500 content \u2500\u2500"));for(let T of R.content.split(`
|
|
1817
|
+
`))console.log(n.dim(` \u2502 ${T}`));console.log(n.dim(" \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"))}}}console.log()}let v=h.tasks.map(_=>({..._,status:ne(_.status)}));console.log(n.dim($n(v)))}return}let d=Z(t);if(e.user&&!Te(e.user,d))return;let i=e.status?d.filter(b=>b.status===e.status):d;e.type&&(i=i.filter(b=>(b.type??"Task").toLowerCase()===e.type.toLowerCase())),e.user&&(i=i.filter(b=>ve(b.author,e.user))),e.tag&&e.tag.length>0&&(i=i.filter(b=>e.tag.every(h=>(b.tags??[]).includes(h))));let o=e.limit!==void 0?parseInt(e.limit,10):5;if(e.json){console.log(JSON.stringify(i,null,2));return}i=i.sort((b,h)=>{let p=Ue(b.status)-Ue(h.status);if(p!==0)return p;let g=ae(b.priority)-ae(h.priority);if(g!==0)return g;let x=new Date(b.updated??b.created).getTime(),m=new Date(h.updated??h.created).getTime();return x!==m?m-x:b.id.localeCompare(h.id)});let l=i.length;if(!isNaN(o)&&o>0&&(i=i.slice(0,o)),i.length===0){console.log(n.dim("No tasks found."));return}let a=F(t),s=i.some(b=>(b.type??"").toLowerCase()==="research"),u=i.some(b=>(b.type??"").toLowerCase()==="bug"),f=B(a);he({hasResearchTasks:s,hasBugTasks:u,autoCommit:f.autoCommit,autoPush:f.autoPush,autoComment:f.autoComment,createBranch:f.createBranch});let k=ge(a);for(let[b,h]of i.entries()){let p=ee(a,h.id).sort(ce),g=q(a,h.id).map(m=>({...m,url:`http://localhost:${k.port}${m.url}`})),x=Ke(h,p,g);Pa(h,x,b,k.port,a)}let y=!isNaN(o)&&o>0&&l>o?n.yellow(` (showing ${o} of ${l} matching \u2014 use --limit 0 for all)`):"";console.log(n.dim($n(d))+y),await se()})()});G.command("login",{hidden:!0}).description("Authenticate CLI against the Vibeflow SaaS backend (device flow)").action(async()=>{le("command_run",{command:"login"}),await se(),await $e()});G.command("logout",{hidden:!0}).description("Remove stored auth token and switch to local mode").action(async()=>{le("command_run",{command:"logout"}),await se(),await Cn()});G.command("status",{hidden:!0}).description("Show login status, connection info, and task statistics").action(async()=>{if(await ie()==="local"){console.log(n.yellow("\u25CF Not logged in")+n.dim(" (local mode)")),console.log(n.dim(" Run ")+n.cyan("vibeflow login")+n.dim(" to connect to the Vibeflow cloud.")),console.log();let i=F("."),o=Z(i);if(o.length>0){let l=o.reduce((a,s)=>(a[s.status]=(a[s.status]??0)+1,a),{});console.log(n.bold(" Local task statistics:"));for(let[a,s]of Object.entries(l)){let u=ue[a]??n.white;console.log(` ${u(a.padEnd(12))} ${s}`)}console.log(n.dim(` ${"total".padEnd(12)} ${o.length}`))}else console.log(n.dim(" No local tasks found."));return}let e=await V();console.log(n.green("\u25CF Online")+n.dim(" (SaaS mode)")),e&&(console.log(n.dim(` Board: ${e.icon?e.icon+" ":""}${e.name}`)),e.email&&console.log(n.dim(` Email: ${e.email}`)),console.log(n.dim(" URL: ")+n.cyan(e.url))),console.log();let r=await me(e?.id);if(!r){console.log(n.yellow(" \u26A0 Could not reach SaaS backend. Check your connection."));return}let c=r.tasks.map(i=>({...i,status:ne(i.status)}));if(c.length===0){console.log(n.dim(" No tasks found."));return}let d=c.reduce((i,o)=>(i[o.status]=(i[o.status]??0)+1,i),{});console.log(n.bold(" Task statistics:"));for(let[i,o]of Object.entries(d)){let l=ue[i]??n.white;console.log(` ${l(i.padEnd(12))} ${o}`)}console.log(n.dim(` ${"total".padEnd(12)} ${c.length}`))});G.command("push",{hidden:!0}).description("Push all local tasks to the Vibeflow SaaS app and delete them locally").argument("[dir]","Project root directory",".").option("--workspace <id>","Target workspace ID (defaults to your first workspace)").option("--keep-local-files","Keep local task files after pushing (do not delete them)").action(async(t,e)=>{le("command_run",{command:"push"}),await jn(t,e),await se()});G.command("telemetry").description("Manage CLI usage telemetry (opt-out at any time)").option("--enable","Enable usage telemetry (default)").option("--disable","Disable usage telemetry").option("--status","Show current telemetry status").action(async t=>{if(t.disable){ft(!1),console.log(n.yellow("Telemetry disabled. No usage data will be collected.")),console.log(n.dim("Run `vibeflow telemetry --enable` to re-enable at any time."));return}if(t.enable){ft(!0),console.log(n.green("Telemetry enabled. Thank you for helping improve Vibeflow!"));return}let{enabled:e,anonymousId:r}=On(),c=process.env.VIBEFLOW_TELEMETRY==="0";console.log(n.bold("Telemetry status:")),console.log(` Enabled: ${e?n.green("yes"):n.yellow("no")}`),c&&console.log(n.dim(" (disabled via VIBEFLOW_TELEMETRY=0 environment variable)")),r&&console.log(n.dim(` Anonymous ID: ${r}`)),console.log(),console.log(n.dim(" vibeflow telemetry --disable Opt out of usage tracking")),console.log(n.dim(" vibeflow telemetry --enable Opt back in")),console.log(n.dim(" No PII is ever collected. User identity is hashed."))});G.parse();
|