@abstractframework/observer 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -4
- package/dist/assets/index-CAHIX5pe.css +1 -0
- package/dist/assets/index-bs9O5NZX.js +143 -0
- package/dist/assets/index-bs9O5NZX.js.map +1 -0
- package/dist/index.html +2 -2
- package/package.json +2 -1
- package/dist/assets/index-CvWzMSqL.css +0 -1
- package/dist/assets/index-DvFDLf0J.js +0 -136
- package/dist/assets/index-DvFDLf0J.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
var xx=Object.defineProperty;var vx=(e,t,r)=>t in e?xx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var gu=(e,t,r)=>vx(e,typeof t!="symbol"?t+"":t,r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const c of u.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&o(c)}).observe(document,{childList:!0,subtree:!0});function r(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(l){if(l.ep)return;l.ep=!0;const u=r(l);fetch(l.href,u)}})();function Xm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Uf={exports:{}},_u={},Wf={exports:{}},un={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var cp;function wx(){if(cp)return un;cp=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),_=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.iterator;function v($){return $===null||typeof $!="object"?null:($=x&&$[x]||$["@@iterator"],typeof $=="function"?$:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,b={};function T($,D,ne){this.props=$,this.context=D,this.refs=b,this.updater=ne||w}T.prototype.isReactComponent={},T.prototype.setState=function($,D){if(typeof $!="object"&&typeof $!="function"&&$!=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,$,D,"setState")},T.prototype.forceUpdate=function($){this.updater.enqueueForceUpdate(this,$,"forceUpdate")};function A(){}A.prototype=T.prototype;function W($,D,ne){this.props=$,this.context=D,this.refs=b,this.updater=ne||w}var H=W.prototype=new A;H.constructor=W,j(H,T.prototype),H.isPureReactComponent=!0;var M=Array.isArray,G=Object.prototype.hasOwnProperty,te={current:null},V={key:!0,ref:!0,__self:!0,__source:!0};function Z($,D,ne){var ae,ve={},$e=null,ue=null;if(D!=null)for(ae in D.ref!==void 0&&(ue=D.ref),D.key!==void 0&&($e=""+D.key),D)G.call(D,ae)&&!V.hasOwnProperty(ae)&&(ve[ae]=D[ae]);var he=arguments.length-2;if(he===1)ve.children=ne;else if(1<he){for(var Fe=Array(he),K=0;K<he;K++)Fe[K]=arguments[K+2];ve.children=Fe}if($&&$.defaultProps)for(ae in he=$.defaultProps,he)ve[ae]===void 0&&(ve[ae]=he[ae]);return{$$typeof:e,type:$,key:$e,ref:ue,props:ve,_owner:te.current}}function ge($,D){return{$$typeof:e,type:$.type,key:D,ref:$.ref,props:$.props,_owner:$._owner}}function xe($){return typeof $=="object"&&$!==null&&$.$$typeof===e}function ke($){var D={"=":"=0",":":"=2"};return"$"+$.replace(/[=:]/g,function(ne){return D[ne]})}var Te=/\/+/g;function oe($,D){return typeof $=="object"&&$!==null&&$.key!=null?ke(""+$.key):D.toString(36)}function I($,D,ne,ae,ve){var $e=typeof $;($e==="undefined"||$e==="boolean")&&($=null);var ue=!1;if($===null)ue=!0;else switch($e){case"string":case"number":ue=!0;break;case"object":switch($.$$typeof){case e:case t:ue=!0}}if(ue)return ue=$,ve=ve(ue),$=ae===""?"."+oe(ue,0):ae,M(ve)?(ne="",$!=null&&(ne=$.replace(Te,"$&/")+"/"),I(ve,D,ne,"",function(K){return K})):ve!=null&&(xe(ve)&&(ve=ge(ve,ne+(!ve.key||ue&&ue.key===ve.key?"":(""+ve.key).replace(Te,"$&/")+"/")+$)),D.push(ve)),1;if(ue=0,ae=ae===""?".":ae+":",M($))for(var he=0;he<$.length;he++){$e=$[he];var Fe=ae+oe($e,he);ue+=I($e,D,ne,Fe,ve)}else if(Fe=v($),typeof Fe=="function")for($=Fe.call($),he=0;!($e=$.next()).done;)$e=$e.value,Fe=ae+oe($e,he++),ue+=I($e,D,ne,Fe,ve);else if($e==="object")throw D=String($),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys($).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.");return ue}function se($,D,ne){if($==null)return $;var ae=[],ve=0;return I($,ae,"","",function($e){return D.call(ne,$e,ve++)}),ae}function Q($){if($._status===-1){var D=$._result;D=D(),D.then(function(ne){($._status===0||$._status===-1)&&($._status=1,$._result=ne)},function(ne){($._status===0||$._status===-1)&&($._status=2,$._result=ne)}),$._status===-1&&($._status=0,$._result=D)}if($._status===1)return $._result.default;throw $._result}var ce={current:null},R={transition:null},L={ReactCurrentDispatcher:ce,ReactCurrentBatchConfig:R,ReactCurrentOwner:te};function O(){throw Error("act(...) is not supported in production builds of React.")}return un.Children={map:se,forEach:function($,D,ne){se($,function(){D.apply(this,arguments)},ne)},count:function($){var D=0;return se($,function(){D++}),D},toArray:function($){return se($,function(D){return D})||[]},only:function($){if(!xe($))throw Error("React.Children.only expected to receive a single React element child.");return $}},un.Component=T,un.Fragment=r,un.Profiler=l,un.PureComponent=W,un.StrictMode=o,un.Suspense=m,un.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=L,un.act=O,un.cloneElement=function($,D,ne){if($==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+$+".");var ae=j({},$.props),ve=$.key,$e=$.ref,ue=$._owner;if(D!=null){if(D.ref!==void 0&&($e=D.ref,ue=te.current),D.key!==void 0&&(ve=""+D.key),$.type&&$.type.defaultProps)var he=$.type.defaultProps;for(Fe in D)G.call(D,Fe)&&!V.hasOwnProperty(Fe)&&(ae[Fe]=D[Fe]===void 0&&he!==void 0?he[Fe]:D[Fe])}var Fe=arguments.length-2;if(Fe===1)ae.children=ne;else if(1<Fe){he=Array(Fe);for(var K=0;K<Fe;K++)he[K]=arguments[K+2];ae.children=he}return{$$typeof:e,type:$.type,key:ve,ref:$e,props:ae,_owner:ue}},un.createContext=function($){return $={$$typeof:c,_currentValue:$,_currentValue2:$,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},$.Provider={$$typeof:u,_context:$},$.Consumer=$},un.createElement=Z,un.createFactory=function($){var D=Z.bind(null,$);return D.type=$,D},un.createRef=function(){return{current:null}},un.forwardRef=function($){return{$$typeof:f,render:$}},un.isValidElement=xe,un.lazy=function($){return{$$typeof:g,_payload:{_status:-1,_result:$},_init:Q}},un.memo=function($,D){return{$$typeof:_,type:$,compare:D===void 0?null:D}},un.startTransition=function($){var D=R.transition;R.transition={};try{$()}finally{R.transition=D}},un.unstable_act=O,un.useCallback=function($,D){return ce.current.useCallback($,D)},un.useContext=function($){return ce.current.useContext($)},un.useDebugValue=function(){},un.useDeferredValue=function($){return ce.current.useDeferredValue($)},un.useEffect=function($,D){return ce.current.useEffect($,D)},un.useId=function(){return ce.current.useId()},un.useImperativeHandle=function($,D,ne){return ce.current.useImperativeHandle($,D,ne)},un.useInsertionEffect=function($,D){return ce.current.useInsertionEffect($,D)},un.useLayoutEffect=function($,D){return ce.current.useLayoutEffect($,D)},un.useMemo=function($,D){return ce.current.useMemo($,D)},un.useReducer=function($,D,ne){return ce.current.useReducer($,D,ne)},un.useRef=function($){return ce.current.useRef($)},un.useState=function($){return ce.current.useState($)},un.useSyncExternalStore=function($,D,ne){return ce.current.useSyncExternalStore($,D,ne)},un.useTransition=function(){return ce.current.useTransition()},un.version="18.3.1",un}var up;function Uu(){return up||(up=1,Wf.exports=wx()),Wf.exports}/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.production.min.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var dp;function bx(){if(dp)return _u;dp=1;var e=Uu(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,l=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};function c(f,m,_){var g,x={},v=null,w=null;_!==void 0&&(v=""+_),m.key!==void 0&&(v=""+m.key),m.ref!==void 0&&(w=m.ref);for(g in m)o.call(m,g)&&!u.hasOwnProperty(g)&&(x[g]=m[g]);if(f&&f.defaultProps)for(g in m=f.defaultProps,m)x[g]===void 0&&(x[g]=m[g]);return{$$typeof:t,type:f,key:v,ref:w,props:x,_owner:l.current}}return _u.Fragment=r,_u.jsx=c,_u.jsxs=c,_u}var fp;function Sx(){return fp||(fp=1,Uf.exports=bx()),Uf.exports}var s=Sx(),p=Uu();const Se=Xm(p);var gd={},Hf={exports:{}},pi={},qf={exports:{}},Vf={};/**
|
|
18
|
-
* @license React
|
|
19
|
-
* scheduler.production.min.js
|
|
20
|
-
*
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/var mp;function jx(){return mp||(mp=1,(function(e){function t(R,L){var O=R.length;R.push(L);e:for(;0<O;){var $=O-1>>>1,D=R[$];if(0<l(D,L))R[$]=L,R[O]=D,O=$;else break e}}function r(R){return R.length===0?null:R[0]}function o(R){if(R.length===0)return null;var L=R[0],O=R.pop();if(O!==L){R[0]=O;e:for(var $=0,D=R.length,ne=D>>>1;$<ne;){var ae=2*($+1)-1,ve=R[ae],$e=ae+1,ue=R[$e];if(0>l(ve,O))$e<D&&0>l(ue,ve)?(R[$]=ue,R[$e]=O,$=$e):(R[$]=ve,R[ae]=O,$=ae);else if($e<D&&0>l(ue,O))R[$]=ue,R[$e]=O,$=$e;else break e}}return L}function l(R,L){var O=R.sortIndex-L.sortIndex;return O!==0?O:R.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var c=Date,f=c.now();e.unstable_now=function(){return c.now()-f}}var m=[],_=[],g=1,x=null,v=3,w=!1,j=!1,b=!1,T=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,W=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function H(R){for(var L=r(_);L!==null;){if(L.callback===null)o(_);else if(L.startTime<=R)o(_),L.sortIndex=L.expirationTime,t(m,L);else break;L=r(_)}}function M(R){if(b=!1,H(R),!j)if(r(m)!==null)j=!0,Q(G);else{var L=r(_);L!==null&&ce(M,L.startTime-R)}}function G(R,L){j=!1,b&&(b=!1,A(Z),Z=-1),w=!0;var O=v;try{for(H(L),x=r(m);x!==null&&(!(x.expirationTime>L)||R&&!ke());){var $=x.callback;if(typeof $=="function"){x.callback=null,v=x.priorityLevel;var D=$(x.expirationTime<=L);L=e.unstable_now(),typeof D=="function"?x.callback=D:x===r(m)&&o(m),H(L)}else o(m);x=r(m)}if(x!==null)var ne=!0;else{var ae=r(_);ae!==null&&ce(M,ae.startTime-L),ne=!1}return ne}finally{x=null,v=O,w=!1}}var te=!1,V=null,Z=-1,ge=5,xe=-1;function ke(){return!(e.unstable_now()-xe<ge)}function Te(){if(V!==null){var R=e.unstable_now();xe=R;var L=!0;try{L=V(!0,R)}finally{L?oe():(te=!1,V=null)}}else te=!1}var oe;if(typeof W=="function")oe=function(){W(Te)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,se=I.port2;I.port1.onmessage=Te,oe=function(){se.postMessage(null)}}else oe=function(){T(Te,0)};function Q(R){V=R,te||(te=!0,oe())}function ce(R,L){Z=T(function(){R(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(R){R.callback=null},e.unstable_continueExecution=function(){j||w||(j=!0,Q(G))},e.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ge=0<R?Math.floor(1e3/R):5},e.unstable_getCurrentPriorityLevel=function(){return v},e.unstable_getFirstCallbackNode=function(){return r(m)},e.unstable_next=function(R){switch(v){case 1:case 2:case 3:var L=3;break;default:L=v}var O=v;v=L;try{return R()}finally{v=O}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(R,L){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var O=v;v=R;try{return L()}finally{v=O}},e.unstable_scheduleCallback=function(R,L,O){var $=e.unstable_now();switch(typeof O=="object"&&O!==null?(O=O.delay,O=typeof O=="number"&&0<O?$+O:$):O=$,R){case 1:var D=-1;break;case 2:D=250;break;case 5:D=1073741823;break;case 4:D=1e4;break;default:D=5e3}return D=O+D,R={id:g++,callback:L,priorityLevel:R,startTime:O,expirationTime:D,sortIndex:-1},O>$?(R.sortIndex=O,t(_,R),r(m)===null&&R===r(_)&&(b?(A(Z),Z=-1):b=!0,ce(M,O-$))):(R.sortIndex=D,t(m,R),j||w||(j=!0,Q(G))),R},e.unstable_shouldYield=ke,e.unstable_wrapCallback=function(R){var L=v;return function(){var O=v;v=L;try{return R.apply(this,arguments)}finally{v=O}}}})(Vf)),Vf}var hp;function kx(){return hp||(hp=1,qf.exports=jx()),qf.exports}/**
|
|
26
|
-
* @license React
|
|
27
|
-
* react-dom.production.min.js
|
|
28
|
-
*
|
|
29
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
-
*
|
|
31
|
-
* This source code is licensed under the MIT license found in the
|
|
32
|
-
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var pp;function Nx(){if(pp)return pi;pp=1;var e=Uu(),t=kx();function r(n){for(var i="https://reactjs.org/docs/error-decoder.html?invariant="+n,a=1;a<arguments.length;a++)i+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+n+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,l={};function u(n,i){c(n,i),c(n+"Capture",i)}function c(n,i){for(l[n]=i,n=0;n<i.length;n++)o.add(i[n])}var f=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,_=/^[: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]*$/,g={},x={};function v(n){return m.call(x,n)?!0:m.call(g,n)?!1:_.test(n)?x[n]=!0:(g[n]=!0,!1)}function w(n,i,a,d){if(a!==null&&a.type===0)return!1;switch(typeof i){case"function":case"symbol":return!0;case"boolean":return d?!1:a!==null?!a.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function j(n,i,a,d){if(i===null||typeof i>"u"||w(n,i,a,d))return!0;if(d)return!1;if(a!==null)switch(a.type){case 3:return!i;case 4:return i===!1;case 5:return isNaN(i);case 6:return isNaN(i)||1>i}return!1}function b(n,i,a,d,h,y,E){this.acceptsBooleans=i===2||i===3||i===4,this.attributeName=d,this.attributeNamespace=h,this.mustUseProperty=a,this.propertyName=n,this.type=i,this.sanitizeURL=y,this.removeEmptyString=E}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){T[n]=new b(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var i=n[0];T[i]=new b(i,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){T[n]=new b(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){T[n]=new b(n,2,!1,n,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(n){T[n]=new b(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){T[n]=new b(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){T[n]=new b(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){T[n]=new b(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){T[n]=new b(n,5,!1,n.toLowerCase(),null,!1,!1)});var A=/[\-:]([a-z])/g;function W(n){return n[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(n){var i=n.replace(A,W);T[i]=new b(i,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var i=n.replace(A,W);T[i]=new b(i,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var i=n.replace(A,W);T[i]=new b(i,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){T[n]=new b(n,1,!1,n.toLowerCase(),null,!1,!1)}),T.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){T[n]=new b(n,1,!1,n.toLowerCase(),null,!0,!0)});function H(n,i,a,d){var h=T.hasOwnProperty(i)?T[i]:null;(h!==null?h.type!==0:d||!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(j(i,a,h,d)&&(a=null),d||h===null?v(i)&&(a===null?n.removeAttribute(i):n.setAttribute(i,""+a)):h.mustUseProperty?n[h.propertyName]=a===null?h.type===3?!1:"":a:(i=h.attributeName,d=h.attributeNamespace,a===null?n.removeAttribute(i):(h=h.type,a=h===3||h===4&&a===!0?"":""+a,d?n.setAttributeNS(d,i,a):n.setAttribute(i,a))))}var M=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,G=Symbol.for("react.element"),te=Symbol.for("react.portal"),V=Symbol.for("react.fragment"),Z=Symbol.for("react.strict_mode"),ge=Symbol.for("react.profiler"),xe=Symbol.for("react.provider"),ke=Symbol.for("react.context"),Te=Symbol.for("react.forward_ref"),oe=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),se=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),ce=Symbol.for("react.offscreen"),R=Symbol.iterator;function L(n){return n===null||typeof n!="object"?null:(n=R&&n[R]||n["@@iterator"],typeof n=="function"?n:null)}var O=Object.assign,$;function D(n){if($===void 0)try{throw Error()}catch(a){var i=a.stack.trim().match(/\n( *(at )?)/);$=i&&i[1]||""}return`
|
|
34
|
-
`+$+n}var ne=!1;function ae(n,i){if(!n||ne)return"";ne=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(i)if(i=function(){throw Error()},Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(ye){var d=ye}Reflect.construct(n,[],i)}else{try{i.call()}catch(ye){d=ye}n.call(i.prototype)}else{try{throw Error()}catch(ye){d=ye}n()}}catch(ye){if(ye&&d&&typeof ye.stack=="string"){for(var h=ye.stack.split(`
|
|
35
|
-
`),y=d.stack.split(`
|
|
36
|
-
`),E=h.length-1,q=y.length-1;1<=E&&0<=q&&h[E]!==y[q];)q--;for(;1<=E&&0<=q;E--,q--)if(h[E]!==y[q]){if(E!==1||q!==1)do if(E--,q--,0>q||h[E]!==y[q]){var J=`
|
|
37
|
-
`+h[E].replace(" at new "," at ");return n.displayName&&J.includes("<anonymous>")&&(J=J.replace("<anonymous>",n.displayName)),J}while(1<=E&&0<=q);break}}}finally{ne=!1,Error.prepareStackTrace=a}return(n=n?n.displayName||n.name:"")?D(n):""}function ve(n){switch(n.tag){case 5:return D(n.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return n=ae(n.type,!1),n;case 11:return n=ae(n.type.render,!1),n;case 1:return n=ae(n.type,!0),n;default:return""}}function $e(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case V:return"Fragment";case te:return"Portal";case ge:return"Profiler";case Z:return"StrictMode";case oe:return"Suspense";case I:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case ke:return(n.displayName||"Context")+".Consumer";case xe:return(n._context.displayName||"Context")+".Provider";case Te:var i=n.render;return n=n.displayName,n||(n=i.displayName||i.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case se:return i=n.displayName||null,i!==null?i:$e(n.type)||"Memo";case Q:i=n._payload,n=n._init;try{return $e(n(i))}catch{}}return null}function ue(n){var i=n.type;switch(n.tag){case 24:return"Cache";case 9:return(i.displayName||"Context")+".Consumer";case 10:return(i._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=i.render,n=n.displayName||n.name||"",i.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return i;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $e(i);case 8:return i===Z?"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 i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i}return null}function he(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function Fe(n){var i=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function K(n){var i=Fe(n)?"checked":"value",a=Object.getOwnPropertyDescriptor(n.constructor.prototype,i),d=""+n[i];if(!n.hasOwnProperty(i)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var h=a.get,y=a.set;return Object.defineProperty(n,i,{configurable:!0,get:function(){return h.call(this)},set:function(E){d=""+E,y.call(this,E)}}),Object.defineProperty(n,i,{enumerable:a.enumerable}),{getValue:function(){return d},setValue:function(E){d=""+E},stopTracking:function(){n._valueTracker=null,delete n[i]}}}}function Me(n){n._valueTracker||(n._valueTracker=K(n))}function Ne(n){if(!n)return!1;var i=n._valueTracker;if(!i)return!0;var a=i.getValue(),d="";return n&&(d=Fe(n)?n.checked?"true":"false":n.value),n=d,n!==a?(i.setValue(n),!0):!1}function Ye(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function Le(n,i){var a=i.checked;return O({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??n._wrapperState.initialChecked})}function mt(n,i){var a=i.defaultValue==null?"":i.defaultValue,d=i.checked!=null?i.checked:i.defaultChecked;a=he(i.value!=null?i.value:a),n._wrapperState={initialChecked:d,initialValue:a,controlled:i.type==="checkbox"||i.type==="radio"?i.checked!=null:i.value!=null}}function gt(n,i){i=i.checked,i!=null&&H(n,"checked",i,!1)}function ze(n,i){gt(n,i);var a=he(i.value),d=i.type;if(a!=null)d==="number"?(a===0&&n.value===""||n.value!=a)&&(n.value=""+a):n.value!==""+a&&(n.value=""+a);else if(d==="submit"||d==="reset"){n.removeAttribute("value");return}i.hasOwnProperty("value")?Ct(n,i.type,a):i.hasOwnProperty("defaultValue")&&Ct(n,i.type,he(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(n.defaultChecked=!!i.defaultChecked)}function Ae(n,i,a){if(i.hasOwnProperty("value")||i.hasOwnProperty("defaultValue")){var d=i.type;if(!(d!=="submit"&&d!=="reset"||i.value!==void 0&&i.value!==null))return;i=""+n._wrapperState.initialValue,a||i===n.value||(n.value=i),n.defaultValue=i}a=n.name,a!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,a!==""&&(n.name=a)}function Ct(n,i,a){(i!=="number"||Ye(n.ownerDocument)!==n)&&(a==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+a&&(n.defaultValue=""+a))}var kt=Array.isArray;function Ot(n,i,a,d){if(n=n.options,i){i={};for(var h=0;h<a.length;h++)i["$"+a[h]]=!0;for(a=0;a<n.length;a++)h=i.hasOwnProperty("$"+n[a].value),n[a].selected!==h&&(n[a].selected=h),h&&d&&(n[a].defaultSelected=!0)}else{for(a=""+he(a),i=null,h=0;h<n.length;h++){if(n[h].value===a){n[h].selected=!0,d&&(n[h].defaultSelected=!0);return}i!==null||n[h].disabled||(i=n[h])}i!==null&&(i.selected=!0)}}function lt(n,i){if(i.dangerouslySetInnerHTML!=null)throw Error(r(91));return O({},i,{value:void 0,defaultValue:void 0,children:""+n._wrapperState.initialValue})}function me(n,i){var a=i.value;if(a==null){if(a=i.children,i=i.defaultValue,a!=null){if(i!=null)throw Error(r(92));if(kt(a)){if(1<a.length)throw Error(r(93));a=a[0]}i=a}i==null&&(i=""),a=i}n._wrapperState={initialValue:he(a)}}function tn(n,i){var a=he(i.value),d=he(i.defaultValue);a!=null&&(a=""+a,a!==n.value&&(n.value=a),i.defaultValue==null&&n.defaultValue!==a&&(n.defaultValue=a)),d!=null&&(n.defaultValue=""+d)}function we(n){var i=n.textContent;i===n._wrapperState.initialValue&&i!==""&&i!==null&&(n.value=i)}function Xe(n){switch(n){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 Ke(n,i){return n==null||n==="http://www.w3.org/1999/xhtml"?Xe(i):n==="http://www.w3.org/2000/svg"&&i==="foreignObject"?"http://www.w3.org/1999/xhtml":n}var St,$n=(function(n){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(i,a,d,h){MSApp.execUnsafeLocalFunction(function(){return n(i,a,d,h)})}:n})(function(n,i){if(n.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in n)n.innerHTML=i;else{for(St=St||document.createElement("div"),St.innerHTML="<svg>"+i.valueOf().toString()+"</svg>",i=St.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;i.firstChild;)n.appendChild(i.firstChild)}});function Yt(n,i){if(i){var a=n.firstChild;if(a&&a===n.lastChild&&a.nodeType===3){a.nodeValue=i;return}}n.textContent=i}var Xt={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},pn=["Webkit","ms","Moz","O"];Object.keys(Xt).forEach(function(n){pn.forEach(function(i){i=i+n.charAt(0).toUpperCase()+n.substring(1),Xt[i]=Xt[n]})});function fn(n,i,a){return i==null||typeof i=="boolean"||i===""?"":a||typeof i!="number"||i===0||Xt.hasOwnProperty(n)&&Xt[n]?(""+i).trim():i+"px"}function Vn(n,i){n=n.style;for(var a in i)if(i.hasOwnProperty(a)){var d=a.indexOf("--")===0,h=fn(a,i[a],d);a==="float"&&(a="cssFloat"),d?n.setProperty(a,h):n[a]=h}}var Dn=O({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 Tn(n,i){if(i){if(Dn[n]&&(i.children!=null||i.dangerouslySetInnerHTML!=null))throw Error(r(137,n));if(i.dangerouslySetInnerHTML!=null){if(i.children!=null)throw Error(r(60));if(typeof i.dangerouslySetInnerHTML!="object"||!("__html"in i.dangerouslySetInnerHTML))throw Error(r(61))}if(i.style!=null&&typeof i.style!="object")throw Error(r(62))}}function ar(n,i){if(n.indexOf("-")===-1)return typeof i.is=="string";switch(n){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 er=null;function In(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var de=null,je=null,qe=null;function ot(n){if(n=ai(n)){if(typeof de!="function")throw Error(r(280));var i=n.stateNode;i&&(i=lc(i),de(n.stateNode,n.type,i))}}function ft(n){je?qe?qe.push(n):qe=[n]:je=n}function Nt(){if(je){var n=je,i=qe;if(qe=je=null,ot(n),i)for(n=0;n<i.length;n++)ot(i[n])}}function Mt(n,i){return n(i)}function Ft(){}var nn=!1;function Rt(n,i,a){if(nn)return n(i,a);nn=!0;try{return Mt(n,i,a)}finally{nn=!1,(je!==null||qe!==null)&&(Ft(),Nt())}}function Qt(n,i){var a=n.stateNode;if(a===null)return null;var d=lc(a);if(d===null)return null;a=d[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(d=!d.disabled)||(n=n.type,d=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!d;break e;default:n=!1}if(n)return null;if(a&&typeof a!="function")throw Error(r(231,i,typeof a));return a}var ln=!1;if(f)try{var Bt={};Object.defineProperty(Bt,"passive",{get:function(){ln=!0}}),window.addEventListener("test",Bt,Bt),window.removeEventListener("test",Bt,Bt)}catch{ln=!1}function gn(n,i,a,d,h,y,E,q,J){var ye=Array.prototype.slice.call(arguments,3);try{i.apply(a,ye)}catch(Oe){this.onError(Oe)}}var Kt=!1,st=null,rn=!1,tr=null,xn={onError:function(n){Kt=!0,st=n}};function kn(n,i,a,d,h,y,E,q,J){Kt=!1,st=null,gn.apply(xn,arguments)}function On(n,i,a,d,h,y,E,q,J){if(kn.apply(this,arguments),Kt){if(Kt){var ye=st;Kt=!1,st=null}else throw Error(r(198));rn||(rn=!0,tr=ye)}}function Bn(n){var i=n,a=n;if(n.alternate)for(;i.return;)i=i.return;else{n=i;do i=n,(i.flags&4098)!==0&&(a=i.return),n=i.return;while(n)}return i.tag===3?a:null}function Un(n){if(n.tag===13){var i=n.memoizedState;if(i===null&&(n=n.alternate,n!==null&&(i=n.memoizedState)),i!==null)return i.dehydrated}return null}function xr(n){if(Bn(n)!==n)throw Error(r(188))}function dr(n){var i=n.alternate;if(!i){if(i=Bn(n),i===null)throw Error(r(188));return i!==n?null:n}for(var a=n,d=i;;){var h=a.return;if(h===null)break;var y=h.alternate;if(y===null){if(d=h.return,d!==null){a=d;continue}break}if(h.child===y.child){for(y=h.child;y;){if(y===a)return xr(h),n;if(y===d)return xr(h),i;y=y.sibling}throw Error(r(188))}if(a.return!==d.return)a=h,d=y;else{for(var E=!1,q=h.child;q;){if(q===a){E=!0,a=h,d=y;break}if(q===d){E=!0,d=h,a=y;break}q=q.sibling}if(!E){for(q=y.child;q;){if(q===a){E=!0,a=y,d=h;break}if(q===d){E=!0,d=y,a=h;break}q=q.sibling}if(!E)throw Error(r(189))}}if(a.alternate!==d)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?n:i}function Rr(n){return n=dr(n),n!==null?ds(n):null}function ds(n){if(n.tag===5||n.tag===6)return n;for(n=n.child;n!==null;){var i=ds(n);if(i!==null)return i;n=n.sibling}return null}var ht=t.unstable_scheduleCallback,Mn=t.unstable_cancelCallback,zi=t.unstable_shouldYield,Qr=t.unstable_requestPaint,Nn=t.unstable_now,ws=t.unstable_getCurrentPriorityLevel,_i=t.unstable_ImmediatePriority,As=t.unstable_UserBlockingPriority,wn=t.unstable_NormalPriority,lr=t.unstable_LowPriority,fr=t.unstable_IdlePriority,Hr=null,tt=null;function nr(n){if(tt&&typeof tt.onCommitFiberRoot=="function")try{tt.onCommitFiberRoot(Hr,n,void 0,(n.current.flags&128)===128)}catch{}}var Rn=Math.clz32?Math.clz32:fs,Cr=Math.log,Er=Math.LN2;function fs(n){return n>>>=0,n===0?32:31-(Cr(n)/Er|0)|0}var cr=64,yi=4194304;function Zr(n){switch(n&-n){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 n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function ms(n,i){var a=n.pendingLanes;if(a===0)return 0;var d=0,h=n.suspendedLanes,y=n.pingedLanes,E=a&268435455;if(E!==0){var q=E&~h;q!==0?d=Zr(q):(y&=E,y!==0&&(d=Zr(y)))}else E=a&~h,E!==0?d=Zr(E):y!==0&&(d=Zr(y));if(d===0)return 0;if(i!==0&&i!==d&&(i&h)===0&&(h=d&-d,y=i&-i,h>=y||h===16&&(y&4194240)!==0))return i;if((d&4)!==0&&(d|=a&16),i=n.entangledLanes,i!==0)for(n=n.entanglements,i&=d;0<i;)a=31-Rn(i),h=1<<a,d|=n[a],i&=~h;return d}function Js(n,i){switch(n){case 1:case 2:case 4:return i+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 i+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 ia(n,i){for(var a=n.suspendedLanes,d=n.pingedLanes,h=n.expirationTimes,y=n.pendingLanes;0<y;){var E=31-Rn(y),q=1<<E,J=h[E];J===-1?((q&a)===0||(q&d)!==0)&&(h[E]=Js(q,i)):J<=i&&(n.expiredLanes|=q),y&=~q}}function be(n){return n=n.pendingLanes&-1073741825,n!==0?n:n&1073741824?1073741824:0}function Gn(){var n=cr;return cr<<=1,(cr&4194240)===0&&(cr=64),n}function Qe(n){for(var i=[],a=0;31>a;a++)i.push(n);return i}function mr(n,i,a){n.pendingLanes|=i,i!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,i=31-Rn(i),n[i]=a}function zs(n,i){var a=n.pendingLanes&~i;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=i,n.mutableReadLanes&=i,n.entangledLanes&=i,i=n.entanglements;var d=n.eventTimes;for(n=n.expirationTimes;0<a;){var h=31-Rn(a),y=1<<h;i[h]=0,d[h]=-1,n[h]=-1,a&=~y}}function es(n,i){var a=n.entangledLanes|=i;for(n=n.entanglements;a;){var d=31-Rn(a),h=1<<d;h&i|n[d]&i&&(n[d]|=i),a&=~h}}var cn=0;function Lr(n){return n&=-n,1<n?4<n?(n&268435455)!==0?16:536870912:4:1}var Ri,bs,qr,Qs,rr,Sr=!1,Yn=[],hs=null,Vr=null,vr=null,Ss=new Map,js=new Map,Pr=[],ks="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 so(n,i){switch(n){case"focusin":case"focusout":hs=null;break;case"dragenter":case"dragleave":Vr=null;break;case"mouseover":case"mouseout":vr=null;break;case"pointerover":case"pointerout":Ss.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":js.delete(i.pointerId)}}function ts(n,i,a,d,h,y){return n===null||n.nativeEvent!==y?(n={blockedOn:i,domEventName:a,eventSystemFlags:d,nativeEvent:y,targetContainers:[h]},i!==null&&(i=ai(i),i!==null&&bs(i)),n):(n.eventSystemFlags|=d,i=n.targetContainers,h!==null&&i.indexOf(h)===-1&&i.push(h),n)}function P(n,i,a,d,h){switch(i){case"focusin":return hs=ts(hs,n,i,a,d,h),!0;case"dragenter":return Vr=ts(Vr,n,i,a,d,h),!0;case"mouseover":return vr=ts(vr,n,i,a,d,h),!0;case"pointerover":var y=h.pointerId;return Ss.set(y,ts(Ss.get(y)||null,n,i,a,d,h)),!0;case"gotpointercapture":return y=h.pointerId,js.set(y,ts(js.get(y)||null,n,i,a,d,h)),!0}return!1}function ie(n){var i=Es(n.target);if(i!==null){var a=Bn(i);if(a!==null){if(i=a.tag,i===13){if(i=Un(a),i!==null){n.blockedOn=i,rr(n.priority,function(){qr(a)});return}}else if(i===3&&a.stateNode.current.memoizedState.isDehydrated){n.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}n.blockedOn=null}function Ee(n){if(n.blockedOn!==null)return!1;for(var i=n.targetContainers;0<i.length;){var a=Xn(n.domEventName,n.eventSystemFlags,i[0],n.nativeEvent);if(a===null){a=n.nativeEvent;var d=new a.constructor(a.type,a);er=d,a.target.dispatchEvent(d),er=null}else return i=ai(a),i!==null&&bs(i),n.blockedOn=a,!1;i.shift()}return!0}function Be(n,i,a){Ee(n)&&a.delete(i)}function De(){Sr=!1,hs!==null&&Ee(hs)&&(hs=null),Vr!==null&&Ee(Vr)&&(Vr=null),vr!==null&&Ee(vr)&&(vr=null),Ss.forEach(Be),js.forEach(Be)}function nt(n,i){n.blockedOn===i&&(n.blockedOn=null,Sr||(Sr=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,De)))}function Et(n){function i(h){return nt(h,n)}if(0<Yn.length){nt(Yn[0],n);for(var a=1;a<Yn.length;a++){var d=Yn[a];d.blockedOn===n&&(d.blockedOn=null)}}for(hs!==null&&nt(hs,n),Vr!==null&&nt(Vr,n),vr!==null&&nt(vr,n),Ss.forEach(i),js.forEach(i),a=0;a<Pr.length;a++)d=Pr[a],d.blockedOn===n&&(d.blockedOn=null);for(;0<Pr.length&&(a=Pr[0],a.blockedOn===null);)ie(a),a.blockedOn===null&&Pr.shift()}var $t=M.ReactCurrentBatchConfig,At=!0;function Vt(n,i,a,d){var h=cn,y=$t.transition;$t.transition=null;try{cn=1,Gr(n,i,a,d)}finally{cn=h,$t.transition=y}}function Wn(n,i,a,d){var h=cn,y=$t.transition;$t.transition=null;try{cn=4,Gr(n,i,a,d)}finally{cn=h,$t.transition=y}}function Gr(n,i,a,d){if(At){var h=Xn(n,i,a,d);if(h===null)jl(n,i,d,sn,a),so(n,d);else if(P(h,n,i,a,d))d.stopPropagation();else if(so(n,d),i&4&&-1<ks.indexOf(n)){for(;h!==null;){var y=ai(h);if(y!==null&&Ri(y),y=Xn(n,i,a,d),y===null&&jl(n,i,d,sn,a),y===h)break;h=y}h!==null&&d.stopPropagation()}else jl(n,i,d,null,a)}}var sn=null;function Xn(n,i,a,d){if(sn=null,n=In(d),n=Es(n),n!==null)if(i=Bn(n),i===null)n=null;else if(a=i.tag,a===13){if(n=Un(i),n!==null)return n;n=null}else if(a===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null);return sn=n,null}function An(n){switch(n){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(ws()){case _i:return 1;case As:return 4;case wn:case lr:return 16;case fr:return 536870912;default:return 16}default:return 16}}var hn=null,Ir=null,xi=null;function Li(){if(xi)return xi;var n,i=Ir,a=i.length,d,h="value"in hn?hn.value:hn.textContent,y=h.length;for(n=0;n<a&&i[n]===h[n];n++);var E=a-n;for(d=1;d<=E&&i[a-d]===h[y-d];d++);return xi=h.slice(n,1<d?1-d:void 0)}function Or(n){var i=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&i===13&&(n=13)):n=i,n===10&&(n=13),32<=n||n===13?n:0}function Jt(){return!0}function jr(){return!1}function hr(n){function i(a,d,h,y,E){this._reactName=a,this._targetInst=h,this.type=d,this.nativeEvent=y,this.target=E,this.currentTarget=null;for(var q in n)n.hasOwnProperty(q)&&(a=n[q],this[q]=a?a(y):y[q]);return this.isDefaultPrevented=(y.defaultPrevented!=null?y.defaultPrevented:y.returnValue===!1)?Jt:jr,this.isPropagationStopped=jr,this}return O(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Jt)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Jt)},persist:function(){},isPersistent:Jt}),i}var Rs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},io=hr(Rs),Yr=O({},Rs,{view:0,detail:0}),Pi=hr(Yr),oa,oo,Ls,Eo=O({},Yr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Zs,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==Ls&&(Ls&&n.type==="mousemove"?(oa=n.screenX-Ls.screenX,oo=n.screenY-Ls.screenY):oo=oa=0,Ls=n),oa)},movementY:function(n){return"movementY"in n?n.movementY:oo}}),aa=hr(Eo),la=O({},Eo,{dataTransfer:0}),ca=hr(la),pl=O({},Yr,{relatedTarget:0}),ao=hr(pl),ua=O({},Rs,{animationName:0,elapsedTime:0,pseudoElement:0}),Ra=hr(ua),La=O({},Rs,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),$o=hr(La),Ql=O({},Rs,{data:0}),vi=hr(Ql),lo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},To={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"},da={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Mo(n){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(n):(n=da[n])?!!i[n]:!1}function Zs(){return Mo}var wi=O({},Yr,{key:function(n){if(n.key){var i=lo[n.key]||n.key;if(i!=="Unidentified")return i}return n.type==="keypress"?(n=Or(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?To[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Zs,charCode:function(n){return n.type==="keypress"?Or(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?Or(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),Ps=hr(wi),Ns=O({},Eo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ii=hr(Ns),fa=O({},Yr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Zs}),Pa=hr(fa),gl=O({},Rs,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ao=hr(gl),_l=O({},Eo,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),zo=hr(_l),Ro=[9,13,27,32],Ia=f&&"CompositionEvent"in window,Oi=null;f&&"documentMode"in document&&(Oi=document.documentMode);var Zl=f&&"TextEvent"in window&&!Oi,yl=f&&(!Ia||Oi&&8<Oi&&11>=Oi),Lo=" ",Is=!1;function Fi(n,i){switch(n){case"keyup":return Ro.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xl(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var ei=!1;function ec(n,i){switch(n){case"compositionend":return xl(i);case"keypress":return i.which!==32?null:(Is=!0,Lo);case"textInput":return n=i.data,n===Lo&&Is?null:n;default:return null}}function Oa(n,i){if(ei)return n==="compositionend"||!Ia&&Fi(n,i)?(n=Li(),xi=Ir=hn=null,ei=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return yl&&i.locale!=="ko"?null:i.data;default:return null}}var Po={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 ns(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i==="input"?!!Po[n.type]:i==="textarea"}function Os(n,i,a,d){ft(d),i=uo(i,"onChange"),0<i.length&&(a=new io("onChange","change",null,a,d),n.push({event:a,listeners:i}))}var ti=null,ni=null;function Io(n){pr(n,0)}function Di(n){var i=Wi(n);if(Ne(i))return n}function ri(n,i){if(n==="change")return i}var ma=!1;if(f){var bi;if(f){var Si="oninput"in document;if(!Si){var Fs=document.createElement("div");Fs.setAttribute("oninput","return;"),Si=typeof Fs.oninput=="function"}bi=Si}else bi=!1;ma=bi&&(!document.documentMode||9<document.documentMode)}function wr(){ti&&(ti.detachEvent("onpropertychange",si),ni=ti=null)}function si(n){if(n.propertyName==="value"&&Di(ni)){var i=[];Os(i,ni,n,In(n)),Rt(Io,i)}}function mn(n,i,a){n==="focusin"?(wr(),ti=i,ni=a,ti.attachEvent("onpropertychange",si)):n==="focusout"&&wr()}function Cs(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return Di(ni)}function kr(n,i){if(n==="click")return Di(i)}function Ds(n,i){if(n==="input"||n==="change")return Di(i)}function Fa(n,i){return n===i&&(n!==0||1/n===1/i)||n!==n&&i!==i}var Kn=typeof Object.is=="function"?Object.is:Fa;function rs(n,i){if(Kn(n,i))return!0;if(typeof n!="object"||n===null||typeof i!="object"||i===null)return!1;var a=Object.keys(n),d=Object.keys(i);if(a.length!==d.length)return!1;for(d=0;d<a.length;d++){var h=a[d];if(!m.call(i,h)||!Kn(n[h],i[h]))return!1}return!0}function $r(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function Oo(n,i){var a=$r(n);n=0;for(var d;a;){if(a.nodeType===3){if(d=n+a.textContent.length,n<=i&&d>=i)return{node:a,offset:i-n};n=d}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=$r(a)}}function co(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?co(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function Fo(){for(var n=window,i=Ye();i instanceof n.HTMLIFrameElement;){try{var a=typeof i.contentWindow.location.href=="string"}catch{a=!1}if(a)n=i.contentWindow;else break;i=Ye(n.document)}return i}function ur(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}function jt(n){var i=Fo(),a=n.focusedElem,d=n.selectionRange;if(i!==a&&a&&a.ownerDocument&&co(a.ownerDocument.documentElement,a)){if(d!==null&&ur(a)){if(i=d.start,n=d.end,n===void 0&&(n=i),"selectionStart"in a)a.selectionStart=i,a.selectionEnd=Math.min(n,a.value.length);else if(n=(i=a.ownerDocument||document)&&i.defaultView||window,n.getSelection){n=n.getSelection();var h=a.textContent.length,y=Math.min(d.start,h);d=d.end===void 0?y:Math.min(d.end,h),!n.extend&&y>d&&(h=d,d=y,y=h),h=Oo(a,y);var E=Oo(a,d);h&&E&&(n.rangeCount!==1||n.anchorNode!==h.node||n.anchorOffset!==h.offset||n.focusNode!==E.node||n.focusOffset!==E.offset)&&(i=i.createRange(),i.setStart(h.node,h.offset),n.removeAllRanges(),y>d?(n.addRange(i),n.extend(E.node,E.offset)):(i.setEnd(E.node,E.offset),n.addRange(i)))}}for(i=[],n=a;n=n.parentNode;)n.nodeType===1&&i.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<i.length;a++)n=i[a],n.element.scrollLeft=n.left,n.element.scrollTop=n.top}}var Bi=f&&"documentMode"in document&&11>=document.documentMode,Tr=null,on=null,vn=null,ha=!1;function vl(n,i,a){var d=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;ha||Tr==null||Tr!==Ye(d)||(d=Tr,"selectionStart"in d&&ur(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),vn&&rs(vn,d)||(vn=d,d=uo(on,"onSelect"),0<d.length&&(i=new io("onSelect","select",null,i,a),n.push({event:i,listeners:d}),i.target=Tr)))}function ii(n,i){var a={};return a[n.toLowerCase()]=i.toLowerCase(),a["Webkit"+n]="webkit"+i,a["Moz"+n]="moz"+i,a}var Ui={animationend:ii("Animation","AnimationEnd"),animationiteration:ii("Animation","AnimationIteration"),animationstart:ii("Animation","AnimationStart"),transitionend:ii("Transition","TransitionEnd")},Zt={},pa={};f&&(pa=document.createElement("div").style,"AnimationEvent"in window||(delete Ui.animationend.animation,delete Ui.animationiteration.animation,delete Ui.animationstart.animation),"TransitionEvent"in window||delete Ui.transitionend.transition);function Do(n){if(Zt[n])return Zt[n];if(!Ui[n])return n;var i=Ui[n],a;for(a in i)if(i.hasOwnProperty(a)&&a in pa)return Zt[n]=i[a];return n}var Da=Do("animationend"),tc=Do("animationiteration"),nc=Do("animationstart"),rc=Do("transitionend"),Ba=new Map,wl="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 ji(n,i){Ba.set(n,i),u(i,[n])}for(var Bo=0;Bo<wl.length;Bo++){var bl=wl[Bo],Xc=bl.toLowerCase(),Kc=bl[0].toUpperCase()+bl.slice(1);ji(Xc,"on"+Kc)}ji(Da,"onAnimationEnd"),ji(tc,"onAnimationIteration"),ji(nc,"onAnimationStart"),ji("dblclick","onDoubleClick"),ji("focusin","onFocus"),ji("focusout","onBlur"),ji(rc,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Uo="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(" "),Sl=new Set("cancel close invalid load scroll toggle".split(" ").concat(Uo));function sc(n,i,a){var d=n.type||"unknown-event";n.currentTarget=a,On(d,i,void 0,n),n.currentTarget=null}function pr(n,i){i=(i&4)!==0;for(var a=0;a<n.length;a++){var d=n[a],h=d.event;d=d.listeners;e:{var y=void 0;if(i)for(var E=d.length-1;0<=E;E--){var q=d[E],J=q.instance,ye=q.currentTarget;if(q=q.listener,J!==y&&h.isPropagationStopped())break e;sc(h,q,ye),y=J}else for(E=0;E<d.length;E++){if(q=d[E],J=q.instance,ye=q.currentTarget,q=q.listener,J!==y&&h.isPropagationStopped())break e;sc(h,q,ye),y=J}}}if(rn)throw n=tr,rn=!1,tr=null,n}function Ln(n,i){var a=i[Dr];a===void 0&&(a=i[Dr]=new Set);var d=n+"__bubble";a.has(d)||(Ua(i,n,2,!1),a.add(d))}function ga(n,i,a){var d=0;i&&(d|=4),Ua(a,n,d,i)}var oi="_reactListening"+Math.random().toString(36).slice(2);function ki(n){if(!n[oi]){n[oi]=!0,o.forEach(function(a){a!=="selectionchange"&&(Sl.has(a)||ga(a,!1,n),ga(a,!0,n))});var i=n.nodeType===9?n:n.ownerDocument;i===null||i[oi]||(i[oi]=!0,ga("selectionchange",!1,i))}}function Ua(n,i,a,d){switch(An(i)){case 1:var h=Vt;break;case 4:h=Wn;break;default:h=Gr}a=h.bind(null,i,a,n),h=void 0,!ln||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(h=!0),d?h!==void 0?n.addEventListener(i,a,{capture:!0,passive:h}):n.addEventListener(i,a,!0):h!==void 0?n.addEventListener(i,a,{passive:h}):n.addEventListener(i,a,!1)}function jl(n,i,a,d,h){var y=d;if((i&1)===0&&(i&2)===0&&d!==null)e:for(;;){if(d===null)return;var E=d.tag;if(E===3||E===4){var q=d.stateNode.containerInfo;if(q===h||q.nodeType===8&&q.parentNode===h)break;if(E===4)for(E=d.return;E!==null;){var J=E.tag;if((J===3||J===4)&&(J=E.stateNode.containerInfo,J===h||J.nodeType===8&&J.parentNode===h))return;E=E.return}for(;q!==null;){if(E=Es(q),E===null)return;if(J=E.tag,J===5||J===6){d=y=E;continue e}q=q.parentNode}}d=d.return}Rt(function(){var ye=y,Oe=In(a),We=[];e:{var Ie=Ba.get(n);if(Ie!==void 0){var ct=io,yt=n;switch(n){case"keypress":if(Or(a)===0)break e;case"keydown":case"keyup":ct=Ps;break;case"focusin":yt="focus",ct=ao;break;case"focusout":yt="blur",ct=ao;break;case"beforeblur":case"afterblur":ct=ao;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":ct=aa;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ct=ca;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ct=Pa;break;case Da:case tc:case nc:ct=Ra;break;case rc:ct=Ao;break;case"scroll":ct=Pi;break;case"wheel":ct=zo;break;case"copy":case"cut":case"paste":ct=$o;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ct=Ii}var wt=(i&4)!==0,zr=!wt&&n==="scroll",fe=wt?Ie!==null?Ie+"Capture":null:Ie;wt=[];for(var ee=ye,pe;ee!==null;){pe=ee;var Ge=pe.stateNode;if(pe.tag===5&&Ge!==null&&(pe=Ge,fe!==null&&(Ge=Qt(ee,fe),Ge!=null&&wt.push(_a(ee,Ge,pe)))),zr)break;ee=ee.return}0<wt.length&&(Ie=new ct(Ie,yt,null,a,Oe),We.push({event:Ie,listeners:wt}))}}if((i&7)===0){e:{if(Ie=n==="mouseover"||n==="pointerover",ct=n==="mouseout"||n==="pointerout",Ie&&a!==er&&(yt=a.relatedTarget||a.fromElement)&&(Es(yt)||yt[Mr]))break e;if((ct||Ie)&&(Ie=Oe.window===Oe?Oe:(Ie=Oe.ownerDocument)?Ie.defaultView||Ie.parentWindow:window,ct?(yt=a.relatedTarget||a.toElement,ct=ye,yt=yt?Es(yt):null,yt!==null&&(zr=Bn(yt),yt!==zr||yt.tag!==5&&yt.tag!==6)&&(yt=null)):(ct=null,yt=ye),ct!==yt)){if(wt=aa,Ge="onMouseLeave",fe="onMouseEnter",ee="mouse",(n==="pointerout"||n==="pointerover")&&(wt=Ii,Ge="onPointerLeave",fe="onPointerEnter",ee="pointer"),zr=ct==null?Ie:Wi(ct),pe=yt==null?Ie:Wi(yt),Ie=new wt(Ge,ee+"leave",ct,a,Oe),Ie.target=zr,Ie.relatedTarget=pe,Ge=null,Es(Oe)===ye&&(wt=new wt(fe,ee+"enter",yt,a,Oe),wt.target=pe,wt.relatedTarget=zr,Ge=wt),zr=Ge,ct&&yt)t:{for(wt=ct,fe=yt,ee=0,pe=wt;pe;pe=ss(pe))ee++;for(pe=0,Ge=fe;Ge;Ge=ss(Ge))pe++;for(;0<ee-pe;)wt=ss(wt),ee--;for(;0<pe-ee;)fe=ss(fe),pe--;for(;ee--;){if(wt===fe||fe!==null&&wt===fe.alternate)break t;wt=ss(wt),fe=ss(fe)}wt=null}else wt=null;ct!==null&&ic(We,Ie,ct,wt,!1),yt!==null&&zr!==null&&ic(We,zr,yt,wt,!0)}}e:{if(Ie=ye?Wi(ye):window,ct=Ie.nodeName&&Ie.nodeName.toLowerCase(),ct==="select"||ct==="input"&&Ie.type==="file")var bt=ri;else if(ns(Ie))if(ma)bt=Ds;else{bt=Cs;var Lt=mn}else(ct=Ie.nodeName)&&ct.toLowerCase()==="input"&&(Ie.type==="checkbox"||Ie.type==="radio")&&(bt=kr);if(bt&&(bt=bt(n,ye))){Os(We,bt,a,Oe);break e}Lt&&Lt(n,Ie,ye),n==="focusout"&&(Lt=Ie._wrapperState)&&Lt.controlled&&Ie.type==="number"&&Ct(Ie,"number",Ie.value)}switch(Lt=ye?Wi(ye):window,n){case"focusin":(ns(Lt)||Lt.contentEditable==="true")&&(Tr=Lt,on=ye,vn=null);break;case"focusout":vn=on=Tr=null;break;case"mousedown":ha=!0;break;case"contextmenu":case"mouseup":case"dragend":ha=!1,vl(We,a,Oe);break;case"selectionchange":if(Bi)break;case"keydown":case"keyup":vl(We,a,Oe)}var Pt;if(Ia)e:{switch(n){case"compositionstart":var Ht="onCompositionStart";break e;case"compositionend":Ht="onCompositionEnd";break e;case"compositionupdate":Ht="onCompositionUpdate";break e}Ht=void 0}else ei?Fi(n,a)&&(Ht="onCompositionEnd"):n==="keydown"&&a.keyCode===229&&(Ht="onCompositionStart");Ht&&(yl&&a.locale!=="ko"&&(ei||Ht!=="onCompositionStart"?Ht==="onCompositionEnd"&&ei&&(Pt=Li()):(hn=Oe,Ir="value"in hn?hn.value:hn.textContent,ei=!0)),Lt=uo(ye,Ht),0<Lt.length&&(Ht=new vi(Ht,n,null,a,Oe),We.push({event:Ht,listeners:Lt}),Pt?Ht.data=Pt:(Pt=xl(a),Pt!==null&&(Ht.data=Pt)))),(Pt=Zl?ec(n,a):Oa(n,a))&&(ye=uo(ye,"onBeforeInput"),0<ye.length&&(Oe=new vi("onBeforeInput","beforeinput",null,a,Oe),We.push({event:Oe,listeners:ye}),Oe.data=Pt))}pr(We,i)})}function _a(n,i,a){return{instance:n,listener:i,currentTarget:a}}function uo(n,i){for(var a=i+"Capture",d=[];n!==null;){var h=n,y=h.stateNode;h.tag===5&&y!==null&&(h=y,y=Qt(n,a),y!=null&&d.unshift(_a(n,y,h)),y=Qt(n,i),y!=null&&d.push(_a(n,y,h))),n=n.return}return d}function ss(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5);return n||null}function ic(n,i,a,d,h){for(var y=i._reactName,E=[];a!==null&&a!==d;){var q=a,J=q.alternate,ye=q.stateNode;if(J!==null&&J===d)break;q.tag===5&&ye!==null&&(q=ye,h?(J=Qt(a,y),J!=null&&E.unshift(_a(a,J,q))):h||(J=Qt(a,y),J!=null&&E.push(_a(a,J,q)))),a=a.return}E.length!==0&&n.push({event:i,listeners:E})}var oc=/\r\n?/g,Jc=/\u0000|\uFFFD/g;function ac(n){return(typeof n=="string"?n:""+n).replace(oc,`
|
|
38
|
-
`).replace(Jc,"")}function bn(n,i,a){if(i=ac(i),ac(n)!==i&&a)throw Error(r(425))}function Fr(){}var N=null,U=null;function F(n,i){return n==="textarea"||n==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var le=typeof setTimeout=="function"?setTimeout:void 0,_e=typeof clearTimeout=="function"?clearTimeout:void 0,He=typeof Promise=="function"?Promise:void 0,Re=typeof queueMicrotask=="function"?queueMicrotask:typeof He<"u"?function(n){return He.resolve(null).then(n).catch(Ue)}:le;function Ue(n){setTimeout(function(){throw n})}function et(n,i){var a=i,d=0;do{var h=a.nextSibling;if(n.removeChild(a),h&&h.nodeType===8)if(a=h.data,a==="/$"){if(d===0){n.removeChild(h),Et(i);return}d--}else a!=="$"&&a!=="$?"&&a!=="$!"||d++;a=h}while(a);Et(i)}function It(n){for(;n!=null;n=n.nextSibling){var i=n.nodeType;if(i===1||i===3)break;if(i===8){if(i=n.data,i==="$"||i==="$!"||i==="$?")break;if(i==="/$")return null}}return n}function zn(n){n=n.previousSibling;for(var i=0;n;){if(n.nodeType===8){var a=n.data;if(a==="$"||a==="$!"||a==="$?"){if(i===0)return n;i--}else a==="/$"&&i++}n=n.previousSibling}return null}var _n=Math.random().toString(36).slice(2),Jn="__reactFiber$"+_n,is="__reactProps$"+_n,Mr="__reactContainer$"+_n,Dr="__reactEvents$"+_n,ya="__reactListeners$"+_n,Wo="__reactHandles$"+_n;function Es(n){var i=n[Jn];if(i)return i;for(var a=n.parentNode;a;){if(i=a[Mr]||a[Jn]){if(a=i.alternate,i.child!==null||a!==null&&a.child!==null)for(n=zn(n);n!==null;){if(a=n[Jn])return a;n=zn(n)}return i}n=a,a=n.parentNode}return null}function ai(n){return n=n[Jn]||n[Mr],!n||n.tag!==5&&n.tag!==6&&n.tag!==13&&n.tag!==3?null:n}function Wi(n){if(n.tag===5||n.tag===6)return n.stateNode;throw Error(r(33))}function lc(n){return n[is]||null}var Qc=[],Ho=-1;function qo(n){return{current:n}}function Pn(n){0>Ho||(n.current=Qc[Ho],Qc[Ho]=null,Ho--)}function yn(n,i){Ho++,Qc[Ho]=n.current,n.current=i}var sr={},Hn=qo(sr),$s=qo(!1),Vo=sr;function Wa(n,i){var a=n.type.contextTypes;if(!a)return sr;var d=n.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===i)return d.__reactInternalMemoizedMaskedChildContext;var h={},y;for(y in a)h[y]=i[y];return d&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=i,n.__reactInternalMemoizedMaskedChildContext=h),h}function os(n){return n=n.childContextTypes,n!=null}function cc(){Pn($s),Pn(Hn)}function Vu(n,i,a){if(Hn.current!==sr)throw Error(r(168));yn(Hn,i),yn($s,a)}function Gu(n,i,a){var d=n.stateNode;if(i=i.childContextTypes,typeof d.getChildContext!="function")return a;d=d.getChildContext();for(var h in d)if(!(h in i))throw Error(r(108,ue(n)||"Unknown",h));return O({},a,d)}function Hi(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||sr,Vo=Hn.current,yn(Hn,n),yn($s,$s.current),!0}function Go(n,i,a){var d=n.stateNode;if(!d)throw Error(r(169));a?(n=Gu(n,i,Vo),d.__reactInternalMemoizedMergedChildContext=n,Pn($s),Pn(Hn),yn(Hn,n)):Pn($s),yn($s,a)}var Xr=null,Ni=!1,ps=!1;function fo(n){Xr===null?Xr=[n]:Xr.push(n)}function cf(n){Ni=!0,fo(n)}function mo(){if(!ps&&Xr!==null){ps=!0;var n=0,i=cn;try{var a=Xr;for(cn=1;n<a.length;n++){var d=a[n];do d=d(!0);while(d!==null)}Xr=null,Ni=!1}catch(h){throw Xr!==null&&(Xr=Xr.slice(n+1)),ht(_i,mo),h}finally{cn=i,ps=!1}}return null}var gs=[],qi=0,kl=null,Nl=0,li=[],ci=0,Ar=null,Bs=1,Vi="";function Yo(n,i){gs[qi++]=Nl,gs[qi++]=kl,kl=n,Nl=i}function Ut(n,i,a){li[ci++]=Bs,li[ci++]=Vi,li[ci++]=Ar,Ar=n;var d=Bs;n=Vi;var h=32-Rn(d)-1;d&=~(1<<h),a+=1;var y=32-Rn(i)+h;if(30<y){var E=h-h%5;y=(d&(1<<E)-1).toString(32),d>>=E,h-=E,Bs=1<<32-Rn(i)+h|a<<h|d,Vi=y+n}else Bs=1<<y|a<<h|d,Vi=n}function uc(n){n.return!==null&&(Yo(n,1),Ut(n,1,0))}function Us(n){for(;n===kl;)kl=gs[--qi],gs[qi]=null,Nl=gs[--qi],gs[qi]=null;for(;n===Ar;)Ar=li[--ci],li[ci]=null,Vi=li[--ci],li[ci]=null,Bs=li[--ci],li[ci]=null}var Ws=null,Hs=null,Qn=!1,ui=null;function xa(n,i){var a=Qi(5,null,null,0);a.elementType="DELETED",a.stateNode=i,a.return=n,i=n.deletions,i===null?(n.deletions=[a],n.flags|=16):i.push(a)}function Cl(n,i){switch(n.tag){case 5:var a=n.type;return i=i.nodeType!==1||a.toLowerCase()!==i.nodeName.toLowerCase()?null:i,i!==null?(n.stateNode=i,Ws=n,Hs=It(i.firstChild),!0):!1;case 6:return i=n.pendingProps===""||i.nodeType!==3?null:i,i!==null?(n.stateNode=i,Ws=n,Hs=null,!0):!1;case 13:return i=i.nodeType!==8?null:i,i!==null?(a=Ar!==null?{id:Bs,overflow:Vi}:null,n.memoizedState={dehydrated:i,treeContext:a,retryLane:1073741824},a=Qi(18,null,null,0),a.stateNode=i,a.return=n,n.child=a,Ws=n,Hs=null,!0):!1;default:return!1}}function Zc(n){return(n.mode&1)!==0&&(n.flags&128)===0}function Gi(n){if(Qn){var i=Hs;if(i){var a=i;if(!Cl(n,i)){if(Zc(n))throw Error(r(418));i=It(a.nextSibling);var d=Ws;i&&Cl(n,i)?xa(d,a):(n.flags=n.flags&-4097|2,Qn=!1,Ws=n)}}else{if(Zc(n))throw Error(r(418));n.flags=n.flags&-4097|2,Qn=!1,Ws=n}}}function dc(n){for(n=n.return;n!==null&&n.tag!==5&&n.tag!==3&&n.tag!==13;)n=n.return;Ws=n}function Ha(n){if(n!==Ws)return!1;if(!Qn)return dc(n),Qn=!0,!1;var i;if((i=n.tag!==3)&&!(i=n.tag!==5)&&(i=n.type,i=i!=="head"&&i!=="body"&&!F(n.type,n.memoizedProps)),i&&(i=Hs)){if(Zc(n))throw qn(),Error(r(418));for(;i;)xa(n,i),i=It(i.nextSibling)}if(dc(n),n.tag===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(r(317));e:{for(n=n.nextSibling,i=0;n;){if(n.nodeType===8){var a=n.data;if(a==="/$"){if(i===0){Hs=It(n.nextSibling);break e}i--}else a!=="$"&&a!=="$!"&&a!=="$?"||i++}n=n.nextSibling}Hs=null}}else Hs=Ws?It(n.stateNode.nextSibling):null;return!0}function qn(){for(var n=Hs;n;)n=It(n.nextSibling)}function qa(){Hs=Ws=null,Qn=!1}function ho(n){ui===null?ui=[n]:ui.push(n)}var uf=M.ReactCurrentBatchConfig;function va(n,i,a){if(n=a.ref,n!==null&&typeof n!="function"&&typeof n!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(r(309));var d=a.stateNode}if(!d)throw Error(r(147,n));var h=d,y=""+n;return i!==null&&i.ref!==null&&typeof i.ref=="function"&&i.ref._stringRef===y?i.ref:(i=function(E){var q=h.refs;E===null?delete q[y]:q[y]=E},i._stringRef=y,i)}if(typeof n!="string")throw Error(r(284));if(!a._owner)throw Error(r(290,n))}return n}function El(n,i){throw n=Object.prototype.toString.call(i),Error(r(31,n==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":n))}function fc(n){var i=n._init;return i(n._payload)}function Va(n){function i(fe,ee){if(n){var pe=fe.deletions;pe===null?(fe.deletions=[ee],fe.flags|=16):pe.push(ee)}}function a(fe,ee){if(!n)return null;for(;ee!==null;)i(fe,ee),ee=ee.sibling;return null}function d(fe,ee){for(fe=new Map;ee!==null;)ee.key!==null?fe.set(ee.key,ee):fe.set(ee.index,ee),ee=ee.sibling;return fe}function h(fe,ee){return fe=sl(fe,ee),fe.index=0,fe.sibling=null,fe}function y(fe,ee,pe){return fe.index=pe,n?(pe=fe.alternate,pe!==null?(pe=pe.index,pe<ee?(fe.flags|=2,ee):pe):(fe.flags|=2,ee)):(fe.flags|=1048576,ee)}function E(fe){return n&&fe.alternate===null&&(fe.flags|=2),fe}function q(fe,ee,pe,Ge){return ee===null||ee.tag!==6?(ee=Pf(pe,fe.mode,Ge),ee.return=fe,ee):(ee=h(ee,pe),ee.return=fe,ee)}function J(fe,ee,pe,Ge){var bt=pe.type;return bt===V?Oe(fe,ee,pe.props.children,Ge,pe.key):ee!==null&&(ee.elementType===bt||typeof bt=="object"&&bt!==null&&bt.$$typeof===Q&&fc(bt)===ee.type)?(Ge=h(ee,pe.props),Ge.ref=va(fe,ee,pe),Ge.return=fe,Ge):(Ge=ld(pe.type,pe.key,pe.props,null,fe.mode,Ge),Ge.ref=va(fe,ee,pe),Ge.return=fe,Ge)}function ye(fe,ee,pe,Ge){return ee===null||ee.tag!==4||ee.stateNode.containerInfo!==pe.containerInfo||ee.stateNode.implementation!==pe.implementation?(ee=If(pe,fe.mode,Ge),ee.return=fe,ee):(ee=h(ee,pe.children||[]),ee.return=fe,ee)}function Oe(fe,ee,pe,Ge,bt){return ee===null||ee.tag!==7?(ee=Bl(pe,fe.mode,Ge,bt),ee.return=fe,ee):(ee=h(ee,pe),ee.return=fe,ee)}function We(fe,ee,pe){if(typeof ee=="string"&&ee!==""||typeof ee=="number")return ee=Pf(""+ee,fe.mode,pe),ee.return=fe,ee;if(typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case G:return pe=ld(ee.type,ee.key,ee.props,null,fe.mode,pe),pe.ref=va(fe,null,ee),pe.return=fe,pe;case te:return ee=If(ee,fe.mode,pe),ee.return=fe,ee;case Q:var Ge=ee._init;return We(fe,Ge(ee._payload),pe)}if(kt(ee)||L(ee))return ee=Bl(ee,fe.mode,pe,null),ee.return=fe,ee;El(fe,ee)}return null}function Ie(fe,ee,pe,Ge){var bt=ee!==null?ee.key:null;if(typeof pe=="string"&&pe!==""||typeof pe=="number")return bt!==null?null:q(fe,ee,""+pe,Ge);if(typeof pe=="object"&&pe!==null){switch(pe.$$typeof){case G:return pe.key===bt?J(fe,ee,pe,Ge):null;case te:return pe.key===bt?ye(fe,ee,pe,Ge):null;case Q:return bt=pe._init,Ie(fe,ee,bt(pe._payload),Ge)}if(kt(pe)||L(pe))return bt!==null?null:Oe(fe,ee,pe,Ge,null);El(fe,pe)}return null}function ct(fe,ee,pe,Ge,bt){if(typeof Ge=="string"&&Ge!==""||typeof Ge=="number")return fe=fe.get(pe)||null,q(ee,fe,""+Ge,bt);if(typeof Ge=="object"&&Ge!==null){switch(Ge.$$typeof){case G:return fe=fe.get(Ge.key===null?pe:Ge.key)||null,J(ee,fe,Ge,bt);case te:return fe=fe.get(Ge.key===null?pe:Ge.key)||null,ye(ee,fe,Ge,bt);case Q:var Lt=Ge._init;return ct(fe,ee,pe,Lt(Ge._payload),bt)}if(kt(Ge)||L(Ge))return fe=fe.get(pe)||null,Oe(ee,fe,Ge,bt,null);El(ee,Ge)}return null}function yt(fe,ee,pe,Ge){for(var bt=null,Lt=null,Pt=ee,Ht=ee=0,ls=null;Pt!==null&&Ht<pe.length;Ht++){Pt.index>Ht?(ls=Pt,Pt=null):ls=Pt.sibling;var En=Ie(fe,Pt,pe[Ht],Ge);if(En===null){Pt===null&&(Pt=ls);break}n&&Pt&&En.alternate===null&&i(fe,Pt),ee=y(En,ee,Ht),Lt===null?bt=En:Lt.sibling=En,Lt=En,Pt=ls}if(Ht===pe.length)return a(fe,Pt),Qn&&Yo(fe,Ht),bt;if(Pt===null){for(;Ht<pe.length;Ht++)Pt=We(fe,pe[Ht],Ge),Pt!==null&&(ee=y(Pt,ee,Ht),Lt===null?bt=Pt:Lt.sibling=Pt,Lt=Pt);return Qn&&Yo(fe,Ht),bt}for(Pt=d(fe,Pt);Ht<pe.length;Ht++)ls=ct(Pt,fe,Ht,pe[Ht],Ge),ls!==null&&(n&&ls.alternate!==null&&Pt.delete(ls.key===null?Ht:ls.key),ee=y(ls,ee,Ht),Lt===null?bt=ls:Lt.sibling=ls,Lt=ls);return n&&Pt.forEach(function(il){return i(fe,il)}),Qn&&Yo(fe,Ht),bt}function wt(fe,ee,pe,Ge){var bt=L(pe);if(typeof bt!="function")throw Error(r(150));if(pe=bt.call(pe),pe==null)throw Error(r(151));for(var Lt=bt=null,Pt=ee,Ht=ee=0,ls=null,En=pe.next();Pt!==null&&!En.done;Ht++,En=pe.next()){Pt.index>Ht?(ls=Pt,Pt=null):ls=Pt.sibling;var il=Ie(fe,Pt,En.value,Ge);if(il===null){Pt===null&&(Pt=ls);break}n&&Pt&&il.alternate===null&&i(fe,Pt),ee=y(il,ee,Ht),Lt===null?bt=il:Lt.sibling=il,Lt=il,Pt=ls}if(En.done)return a(fe,Pt),Qn&&Yo(fe,Ht),bt;if(Pt===null){for(;!En.done;Ht++,En=pe.next())En=We(fe,En.value,Ge),En!==null&&(ee=y(En,ee,Ht),Lt===null?bt=En:Lt.sibling=En,Lt=En);return Qn&&Yo(fe,Ht),bt}for(Pt=d(fe,Pt);!En.done;Ht++,En=pe.next())En=ct(Pt,fe,Ht,En.value,Ge),En!==null&&(n&&En.alternate!==null&&Pt.delete(En.key===null?Ht:En.key),ee=y(En,ee,Ht),Lt===null?bt=En:Lt.sibling=En,Lt=En);return n&&Pt.forEach(function(yx){return i(fe,yx)}),Qn&&Yo(fe,Ht),bt}function zr(fe,ee,pe,Ge){if(typeof pe=="object"&&pe!==null&&pe.type===V&&pe.key===null&&(pe=pe.props.children),typeof pe=="object"&&pe!==null){switch(pe.$$typeof){case G:e:{for(var bt=pe.key,Lt=ee;Lt!==null;){if(Lt.key===bt){if(bt=pe.type,bt===V){if(Lt.tag===7){a(fe,Lt.sibling),ee=h(Lt,pe.props.children),ee.return=fe,fe=ee;break e}}else if(Lt.elementType===bt||typeof bt=="object"&&bt!==null&&bt.$$typeof===Q&&fc(bt)===Lt.type){a(fe,Lt.sibling),ee=h(Lt,pe.props),ee.ref=va(fe,Lt,pe),ee.return=fe,fe=ee;break e}a(fe,Lt);break}else i(fe,Lt);Lt=Lt.sibling}pe.type===V?(ee=Bl(pe.props.children,fe.mode,Ge,pe.key),ee.return=fe,fe=ee):(Ge=ld(pe.type,pe.key,pe.props,null,fe.mode,Ge),Ge.ref=va(fe,ee,pe),Ge.return=fe,fe=Ge)}return E(fe);case te:e:{for(Lt=pe.key;ee!==null;){if(ee.key===Lt)if(ee.tag===4&&ee.stateNode.containerInfo===pe.containerInfo&&ee.stateNode.implementation===pe.implementation){a(fe,ee.sibling),ee=h(ee,pe.children||[]),ee.return=fe,fe=ee;break e}else{a(fe,ee);break}else i(fe,ee);ee=ee.sibling}ee=If(pe,fe.mode,Ge),ee.return=fe,fe=ee}return E(fe);case Q:return Lt=pe._init,zr(fe,ee,Lt(pe._payload),Ge)}if(kt(pe))return yt(fe,ee,pe,Ge);if(L(pe))return wt(fe,ee,pe,Ge);El(fe,pe)}return typeof pe=="string"&&pe!==""||typeof pe=="number"?(pe=""+pe,ee!==null&&ee.tag===6?(a(fe,ee.sibling),ee=h(ee,pe),ee.return=fe,fe=ee):(a(fe,ee),ee=Pf(pe,fe.mode,Ge),ee.return=fe,fe=ee),E(fe)):a(fe,ee)}return zr}var po=Va(!0),Ga=Va(!1),$l=qo(null),Tl=null,Ya=null,eu=null;function mc(){eu=Ya=Tl=null}function hc(n){var i=$l.current;Pn($l),n._currentValue=i}function pc(n,i,a){for(;n!==null;){var d=n.alternate;if((n.childLanes&i)!==i?(n.childLanes|=i,d!==null&&(d.childLanes|=i)):d!==null&&(d.childLanes&i)!==i&&(d.childLanes|=i),n===a)break;n=n.return}}function wa(n,i){Tl=n,eu=Ya=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&i)!==0&&(fi=!0),n.firstContext=null)}function qs(n){var i=n._currentValue;if(eu!==n)if(n={context:n,memoizedValue:i,next:null},Ya===null){if(Tl===null)throw Error(r(308));Ya=n,Tl.dependencies={lanes:0,firstContext:n}}else Ya=Ya.next=n;return i}var Xo=null;function gc(n){Xo===null?Xo=[n]:Xo.push(n)}function tu(n,i,a,d){var h=i.interleaved;return h===null?(a.next=a,gc(i)):(a.next=h.next,h.next=a),i.interleaved=a,Yi(n,d)}function Yi(n,i){n.lanes|=i;var a=n.alternate;for(a!==null&&(a.lanes|=i),a=n,n=n.return;n!==null;)n.childLanes|=i,a=n.alternate,a!==null&&(a.childLanes|=i),a=n,n=n.return;return a.tag===3?a.stateNode:null}var go=!1;function _c(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function nu(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Xi(n,i){return{eventTime:n,lane:i,tag:0,payload:null,callback:null,next:null}}function _o(n,i,a){var d=n.updateQueue;if(d===null)return null;if(d=d.shared,(Sn&2)!==0){var h=d.pending;return h===null?i.next=i:(i.next=h.next,h.next=i),d.pending=i,Yi(n,a)}return h=d.interleaved,h===null?(i.next=i,gc(d)):(i.next=h.next,h.next=i),d.interleaved=i,Yi(n,a)}function Ml(n,i,a){if(i=i.updateQueue,i!==null&&(i=i.shared,(a&4194240)!==0)){var d=i.lanes;d&=n.pendingLanes,a|=d,i.lanes=a,es(n,a)}}function ru(n,i){var a=n.updateQueue,d=n.alternate;if(d!==null&&(d=d.updateQueue,a===d)){var h=null,y=null;if(a=a.firstBaseUpdate,a!==null){do{var E={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};y===null?h=y=E:y=y.next=E,a=a.next}while(a!==null);y===null?h=y=i:y=y.next=i}else h=y=i;a={baseState:d.baseState,firstBaseUpdate:h,lastBaseUpdate:y,shared:d.shared,effects:d.effects},n.updateQueue=a;return}n=a.lastBaseUpdate,n===null?a.firstBaseUpdate=i:n.next=i,a.lastBaseUpdate=i}function Al(n,i,a,d){var h=n.updateQueue;go=!1;var y=h.firstBaseUpdate,E=h.lastBaseUpdate,q=h.shared.pending;if(q!==null){h.shared.pending=null;var J=q,ye=J.next;J.next=null,E===null?y=ye:E.next=ye,E=J;var Oe=n.alternate;Oe!==null&&(Oe=Oe.updateQueue,q=Oe.lastBaseUpdate,q!==E&&(q===null?Oe.firstBaseUpdate=ye:q.next=ye,Oe.lastBaseUpdate=J))}if(y!==null){var We=h.baseState;E=0,Oe=ye=J=null,q=y;do{var Ie=q.lane,ct=q.eventTime;if((d&Ie)===Ie){Oe!==null&&(Oe=Oe.next={eventTime:ct,lane:0,tag:q.tag,payload:q.payload,callback:q.callback,next:null});e:{var yt=n,wt=q;switch(Ie=i,ct=a,wt.tag){case 1:if(yt=wt.payload,typeof yt=="function"){We=yt.call(ct,We,Ie);break e}We=yt;break e;case 3:yt.flags=yt.flags&-65537|128;case 0:if(yt=wt.payload,Ie=typeof yt=="function"?yt.call(ct,We,Ie):yt,Ie==null)break e;We=O({},We,Ie);break e;case 2:go=!0}}q.callback!==null&&q.lane!==0&&(n.flags|=64,Ie=h.effects,Ie===null?h.effects=[q]:Ie.push(q))}else ct={eventTime:ct,lane:Ie,tag:q.tag,payload:q.payload,callback:q.callback,next:null},Oe===null?(ye=Oe=ct,J=We):Oe=Oe.next=ct,E|=Ie;if(q=q.next,q===null){if(q=h.shared.pending,q===null)break;Ie=q,q=Ie.next,Ie.next=null,h.lastBaseUpdate=Ie,h.shared.pending=null}}while(!0);if(Oe===null&&(J=We),h.baseState=J,h.firstBaseUpdate=ye,h.lastBaseUpdate=Oe,i=h.shared.interleaved,i!==null){h=i;do E|=h.lane,h=h.next;while(h!==i)}else y===null&&(h.shared.lanes=0);Il|=E,n.lanes=E,n.memoizedState=We}}function su(n,i,a){if(n=i.effects,i.effects=null,n!==null)for(i=0;i<n.length;i++){var d=n[i],h=d.callback;if(h!==null){if(d.callback=null,d=a,typeof h!="function")throw Error(r(191,h));h.call(d)}}}var Xa={},Ci=qo(Xa),Ka=qo(Xa),Ja=qo(Xa);function Ko(n){if(n===Xa)throw Error(r(174));return n}function yc(n,i){switch(yn(Ja,i),yn(Ka,n),yn(Ci,Xa),n=i.nodeType,n){case 9:case 11:i=(i=i.documentElement)?i.namespaceURI:Ke(null,"");break;default:n=n===8?i.parentNode:i,i=n.namespaceURI||null,n=n.tagName,i=Ke(i,n)}Pn(Ci),yn(Ci,i)}function ba(){Pn(Ci),Pn(Ka),Pn(Ja)}function iu(n){Ko(Ja.current);var i=Ko(Ci.current),a=Ke(i,n.type);i!==a&&(yn(Ka,n),yn(Ci,a))}function xc(n){Ka.current===n&&(Pn(Ci),Pn(Ka))}var ir=qo(0);function zl(n){for(var i=n;i!==null;){if(i.tag===13){var a=i.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return i}else if(i.tag===19&&i.memoizedProps.revealOrder!==void 0){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===n)break;for(;i.sibling===null;){if(i.return===null||i.return===n)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var vc=[];function wc(){for(var n=0;n<vc.length;n++)vc[n]._workInProgressVersionPrimary=null;vc.length=0}var Rl=M.ReactCurrentDispatcher,S=M.ReactCurrentBatchConfig,C=0,z=null,k=null,B=null,Y=!1,X=!1,re=0,Pe=0;function Ce(){throw Error(r(321))}function Je(n,i){if(i===null)return!1;for(var a=0;a<i.length&&a<n.length;a++)if(!Kn(n[a],i[a]))return!1;return!0}function Tt(n,i,a,d,h,y){if(C=y,z=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,Rl.current=n===null||n.memoizedState===null?_s:yo,n=a(d,h),X){y=0;do{if(X=!1,re=0,25<=y)throw Error(r(301));y+=1,B=k=null,i.updateQueue=null,Rl.current=xo,n=a(d,h)}while(X)}if(Rl.current=br,i=k!==null&&k.next!==null,C=0,B=k=z=null,Y=!1,i)throw Error(r(300));return n}function Ze(){var n=re!==0;return re=0,n}function Ve(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return B===null?z.memoizedState=B=n:B=B.next=n,B}function _t(){if(k===null){var n=z.alternate;n=n!==null?n.memoizedState:null}else n=k.next;var i=B===null?z.memoizedState:B.next;if(i!==null)B=i,k=n;else{if(n===null)throw Error(r(310));k=n,n={memoizedState:k.memoizedState,baseState:k.baseState,baseQueue:k.baseQueue,queue:k.queue,next:null},B===null?z.memoizedState=B=n:B=B.next=n}return B}function it(n,i){return typeof i=="function"?i(n):i}function ut(n){var i=_t(),a=i.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=n;var d=k,h=d.baseQueue,y=a.pending;if(y!==null){if(h!==null){var E=h.next;h.next=y.next,y.next=E}d.baseQueue=h=y,a.pending=null}if(h!==null){y=h.next,d=d.baseState;var q=E=null,J=null,ye=y;do{var Oe=ye.lane;if((C&Oe)===Oe)J!==null&&(J=J.next={lane:0,action:ye.action,hasEagerState:ye.hasEagerState,eagerState:ye.eagerState,next:null}),d=ye.hasEagerState?ye.eagerState:n(d,ye.action);else{var We={lane:Oe,action:ye.action,hasEagerState:ye.hasEagerState,eagerState:ye.eagerState,next:null};J===null?(q=J=We,E=d):J=J.next=We,z.lanes|=Oe,Il|=Oe}ye=ye.next}while(ye!==null&&ye!==y);J===null?E=d:J.next=q,Kn(d,i.memoizedState)||(fi=!0),i.memoizedState=d,i.baseState=E,i.baseQueue=J,a.lastRenderedState=d}if(n=a.interleaved,n!==null){h=n;do y=h.lane,z.lanes|=y,Il|=y,h=h.next;while(h!==n)}else h===null&&(a.lanes=0);return[i.memoizedState,a.dispatch]}function Dt(n){var i=_t(),a=i.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=n;var d=a.dispatch,h=a.pending,y=i.memoizedState;if(h!==null){a.pending=null;var E=h=h.next;do y=n(y,E.action),E=E.next;while(E!==h);Kn(y,i.memoizedState)||(fi=!0),i.memoizedState=y,i.baseQueue===null&&(i.baseState=y),a.lastRenderedState=y}return[y,d]}function Fn(){}function rt(n,i){var a=z,d=_t(),h=i(),y=!Kn(d.memoizedState,h);if(y&&(d.memoizedState=h,fi=!0),d=d.queue,Sc(Cn.bind(null,a,d,n),[n]),d.getSnapshot!==i||y||B!==null&&B.memoizedState.tag&1){if(a.flags|=2048,Vs(9,Gt.bind(null,a,d,h,i),void 0,null),as===null)throw Error(r(349));(C&30)!==0||at(a,i,h)}return h}function at(n,i,a){n.flags|=16384,n={getSnapshot:i,value:a},i=z.updateQueue,i===null?(i={lastEffect:null,stores:null},z.updateQueue=i,i.stores=[n]):(a=i.stores,a===null?i.stores=[n]:a.push(n))}function Gt(n,i,a,d){i.value=a,i.getSnapshot=d,Wt(i)&&Br(n)}function Cn(n,i,a){return a(function(){Wt(i)&&Br(n)})}function Wt(n){var i=n.getSnapshot;n=n.value;try{var a=i();return!Kn(n,a)}catch{return!0}}function Br(n){var i=Yi(n,1);i!==null&&bo(i,n,1,-1)}function Ei(n){var i=Ve();return typeof n=="function"&&(n=n()),i.memoizedState=i.baseState=n,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:it,lastRenderedState:n},i.queue=n,n=n.dispatch=Xu.bind(null,z,n),[i.memoizedState,n]}function Vs(n,i,a,d){return n={tag:n,create:i,destroy:a,deps:d,next:null},i=z.updateQueue,i===null?(i={lastEffect:null,stores:null},z.updateQueue=i,i.lastEffect=n.next=n):(a=i.lastEffect,a===null?i.lastEffect=n.next=n:(d=a.next,a.next=n,n.next=d,i.lastEffect=n)),n}function di(){return _t().memoizedState}function gr(n,i,a,d){var h=Ve();z.flags|=n,h.memoizedState=Vs(1|i,a,void 0,d===void 0?null:d)}function bc(n,i,a,d){var h=_t();d=d===void 0?null:d;var y=void 0;if(k!==null){var E=k.memoizedState;if(y=E.destroy,d!==null&&Je(d,E.deps)){h.memoizedState=Vs(i,a,y,d);return}}z.flags|=n,h.memoizedState=Vs(1|i,a,y,d)}function Yu(n,i){return gr(8390656,8,n,i)}function Sc(n,i){return bc(2048,8,n,i)}function ou(n,i){return bc(4,2,n,i)}function au(n,i){return bc(4,4,n,i)}function dt(n,i){if(typeof i=="function")return n=n(),i(n),function(){i(null)};if(i!=null)return n=n(),i.current=n,function(){i.current=null}}function Ki(n,i,a){return a=a!=null?a.concat([n]):null,bc(4,4,dt.bind(null,i,n),a)}function Jo(){}function $i(n,i){var a=_t();i=i===void 0?null:i;var d=a.memoizedState;return d!==null&&i!==null&&Je(i,d[1])?d[0]:(a.memoizedState=[n,i],n)}function Ti(n,i){var a=_t();i=i===void 0?null:i;var d=a.memoizedState;return d!==null&&i!==null&&Je(i,d[1])?d[0]:(n=n(),a.memoizedState=[n,i],n)}function Sa(n,i,a){return(C&21)===0?(n.baseState&&(n.baseState=!1,fi=!0),n.memoizedState=a):(Kn(a,i)||(a=Gn(),z.lanes|=a,Il|=a,n.baseState=!0),i)}function lu(n,i){var a=cn;cn=a!==0&&4>a?a:4,n(!0);var d=S.transition;S.transition={};try{n(!1),i()}finally{cn=a,S.transition=d}}function cu(){return _t().memoizedState}function jc(n,i,a){var d=nl(n);if(a={lane:d,action:a,hasEagerState:!1,eagerState:null,next:null},kc(n))Ll(i,a);else if(a=tu(n,i,a,d),a!==null){var h=Ys();bo(a,n,d,h),_r(a,i,d)}}function Xu(n,i,a){var d=nl(n),h={lane:d,action:a,hasEagerState:!1,eagerState:null,next:null};if(kc(n))Ll(i,h);else{var y=n.alternate;if(n.lanes===0&&(y===null||y.lanes===0)&&(y=i.lastRenderedReducer,y!==null))try{var E=i.lastRenderedState,q=y(E,a);if(h.hasEagerState=!0,h.eagerState=q,Kn(q,E)){var J=i.interleaved;J===null?(h.next=h,gc(i)):(h.next=J.next,J.next=h),i.interleaved=h;return}}catch{}finally{}a=tu(n,i,h,d),a!==null&&(h=Ys(),bo(a,n,d,h),_r(a,i,d))}}function kc(n){var i=n.alternate;return n===z||i!==null&&i===z}function Ll(n,i){X=Y=!0;var a=n.pending;a===null?i.next=i:(i.next=a.next,a.next=i),n.pending=i}function _r(n,i,a){if((a&4194240)!==0){var d=i.lanes;d&=n.pendingLanes,a|=d,i.lanes=a,es(n,a)}}var br={readContext:qs,useCallback:Ce,useContext:Ce,useEffect:Ce,useImperativeHandle:Ce,useInsertionEffect:Ce,useLayoutEffect:Ce,useMemo:Ce,useReducer:Ce,useRef:Ce,useState:Ce,useDebugValue:Ce,useDeferredValue:Ce,useTransition:Ce,useMutableSource:Ce,useSyncExternalStore:Ce,useId:Ce,unstable_isNewReconciler:!1},_s={readContext:qs,useCallback:function(n,i){return Ve().memoizedState=[n,i===void 0?null:i],n},useContext:qs,useEffect:Yu,useImperativeHandle:function(n,i,a){return a=a!=null?a.concat([n]):null,gr(4194308,4,dt.bind(null,i,n),a)},useLayoutEffect:function(n,i){return gr(4194308,4,n,i)},useInsertionEffect:function(n,i){return gr(4,2,n,i)},useMemo:function(n,i){var a=Ve();return i=i===void 0?null:i,n=n(),a.memoizedState=[n,i],n},useReducer:function(n,i,a){var d=Ve();return i=a!==void 0?a(i):i,d.memoizedState=d.baseState=i,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:i},d.queue=n,n=n.dispatch=jc.bind(null,z,n),[d.memoizedState,n]},useRef:function(n){var i=Ve();return n={current:n},i.memoizedState=n},useState:Ei,useDebugValue:Jo,useDeferredValue:function(n){return Ve().memoizedState=n},useTransition:function(){var n=Ei(!1),i=n[0];return n=lu.bind(null,n[1]),Ve().memoizedState=n,[i,n]},useMutableSource:function(){},useSyncExternalStore:function(n,i,a){var d=z,h=Ve();if(Qn){if(a===void 0)throw Error(r(407));a=a()}else{if(a=i(),as===null)throw Error(r(349));(C&30)!==0||at(d,i,a)}h.memoizedState=a;var y={value:a,getSnapshot:i};return h.queue=y,Yu(Cn.bind(null,d,y,n),[n]),d.flags|=2048,Vs(9,Gt.bind(null,d,y,a,i),void 0,null),a},useId:function(){var n=Ve(),i=as.identifierPrefix;if(Qn){var a=Vi,d=Bs;a=(d&~(1<<32-Rn(d)-1)).toString(32)+a,i=":"+i+"R"+a,a=re++,0<a&&(i+="H"+a.toString(32)),i+=":"}else a=Pe++,i=":"+i+"r"+a.toString(32)+":";return n.memoizedState=i},unstable_isNewReconciler:!1},yo={readContext:qs,useCallback:$i,useContext:qs,useEffect:Sc,useImperativeHandle:Ki,useInsertionEffect:ou,useLayoutEffect:au,useMemo:Ti,useReducer:ut,useRef:di,useState:function(){return ut(it)},useDebugValue:Jo,useDeferredValue:function(n){var i=_t();return Sa(i,k.memoizedState,n)},useTransition:function(){var n=ut(it)[0],i=_t().memoizedState;return[n,i]},useMutableSource:Fn,useSyncExternalStore:rt,useId:cu,unstable_isNewReconciler:!1},xo={readContext:qs,useCallback:$i,useContext:qs,useEffect:Sc,useImperativeHandle:Ki,useInsertionEffect:ou,useLayoutEffect:au,useMemo:Ti,useReducer:Dt,useRef:di,useState:function(){return Dt(it)},useDebugValue:Jo,useDeferredValue:function(n){var i=_t();return k===null?i.memoizedState=n:Sa(i,k.memoizedState,n)},useTransition:function(){var n=Dt(it)[0],i=_t().memoizedState;return[n,i]},useMutableSource:Fn,useSyncExternalStore:rt,useId:cu,unstable_isNewReconciler:!1};function yr(n,i){if(n&&n.defaultProps){i=O({},i),n=n.defaultProps;for(var a in n)i[a]===void 0&&(i[a]=n[a]);return i}return i}function Pl(n,i,a,d){i=n.memoizedState,a=a(d,i),a=a==null?i:O({},i,a),n.memoizedState=a,n.lanes===0&&(n.updateQueue.baseState=a)}var Qa={isMounted:function(n){return(n=n._reactInternals)?Bn(n)===n:!1},enqueueSetState:function(n,i,a){n=n._reactInternals;var d=Ys(),h=nl(n),y=Xi(d,h);y.payload=i,a!=null&&(y.callback=a),i=_o(n,y,h),i!==null&&(bo(i,n,h,d),Ml(i,n,h))},enqueueReplaceState:function(n,i,a){n=n._reactInternals;var d=Ys(),h=nl(n),y=Xi(d,h);y.tag=1,y.payload=i,a!=null&&(y.callback=a),i=_o(n,y,h),i!==null&&(bo(i,n,h,d),Ml(i,n,h))},enqueueForceUpdate:function(n,i){n=n._reactInternals;var a=Ys(),d=nl(n),h=Xi(a,d);h.tag=2,i!=null&&(h.callback=i),i=_o(n,h,d),i!==null&&(bo(i,n,d,a),Ml(i,n,d))}};function Qo(n,i,a,d,h,y,E){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(d,y,E):i.prototype&&i.prototype.isPureReactComponent?!rs(a,d)||!rs(h,y):!0}function ja(n,i,a){var d=!1,h=sr,y=i.contextType;return typeof y=="object"&&y!==null?y=qs(y):(h=os(i)?Vo:Hn.current,d=i.contextTypes,y=(d=d!=null)?Wa(n,h):sr),i=new i(a,y),n.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Qa,n.stateNode=i,i._reactInternals=n,d&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=h,n.__reactInternalMemoizedMaskedChildContext=y),i}function ka(n,i,a,d){n=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(a,d),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(a,d),i.state!==n&&Qa.enqueueReplaceState(i,i.state,null)}function df(n,i,a,d){var h=n.stateNode;h.props=a,h.state=n.memoizedState,h.refs={},_c(n);var y=i.contextType;typeof y=="object"&&y!==null?h.context=qs(y):(y=os(i)?Vo:Hn.current,h.context=Wa(n,y)),h.state=n.memoizedState,y=i.getDerivedStateFromProps,typeof y=="function"&&(Pl(n,i,y,a),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(i=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),i!==h.state&&Qa.enqueueReplaceState(h,h.state,null),Al(n,a,h,d),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308)}function Nc(n,i){try{var a="",d=i;do a+=ve(d),d=d.return;while(d);var h=a}catch(y){h=`
|
|
39
|
-
Error generating stack: `+y.message+`
|
|
40
|
-
`+y.stack}return{value:n,source:i,stack:h,digest:null}}function ff(n,i,a){return{value:n,source:null,stack:a??null,digest:i??null}}function mf(n,i){try{console.error(i.value)}catch(a){setTimeout(function(){throw a})}}var Gy=typeof WeakMap=="function"?WeakMap:Map;function yh(n,i,a){a=Xi(-1,a),a.tag=3,a.payload={element:null};var d=i.value;return a.callback=function(){nd||(nd=!0,Ef=d),mf(n,i)},a}function xh(n,i,a){a=Xi(-1,a),a.tag=3;var d=n.type.getDerivedStateFromError;if(typeof d=="function"){var h=i.value;a.payload=function(){return d(h)},a.callback=function(){mf(n,i)}}var y=n.stateNode;return y!==null&&typeof y.componentDidCatch=="function"&&(a.callback=function(){mf(n,i),typeof d!="function"&&(el===null?el=new Set([this]):el.add(this));var E=i.stack;this.componentDidCatch(i.value,{componentStack:E!==null?E:""})}),a}function vh(n,i,a){var d=n.pingCache;if(d===null){d=n.pingCache=new Gy;var h=new Set;d.set(i,h)}else h=d.get(i),h===void 0&&(h=new Set,d.set(i,h));h.has(a)||(h.add(a),n=ax.bind(null,n,i,a),i.then(n,n))}function wh(n){do{var i;if((i=n.tag===13)&&(i=n.memoizedState,i=i!==null?i.dehydrated!==null:!0),i)return n;n=n.return}while(n!==null);return null}function bh(n,i,a,d,h){return(n.mode&1)===0?(n===i?n.flags|=65536:(n.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(i=Xi(-1,1),i.tag=2,_o(a,i,1))),a.lanes|=1),n):(n.flags|=65536,n.lanes=h,n)}var Yy=M.ReactCurrentOwner,fi=!1;function Gs(n,i,a,d){i.child=n===null?Ga(i,null,a,d):po(i,n.child,a,d)}function Sh(n,i,a,d,h){a=a.render;var y=i.ref;return wa(i,h),d=Tt(n,i,a,d,y,h),a=Ze(),n!==null&&!fi?(i.updateQueue=n.updateQueue,i.flags&=-2053,n.lanes&=~h,Na(n,i,h)):(Qn&&a&&uc(i),i.flags|=1,Gs(n,i,d,h),i.child)}function jh(n,i,a,d,h){if(n===null){var y=a.type;return typeof y=="function"&&!Lf(y)&&y.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(i.tag=15,i.type=y,kh(n,i,y,d,h)):(n=ld(a.type,null,d,i,i.mode,h),n.ref=i.ref,n.return=i,i.child=n)}if(y=n.child,(n.lanes&h)===0){var E=y.memoizedProps;if(a=a.compare,a=a!==null?a:rs,a(E,d)&&n.ref===i.ref)return Na(n,i,h)}return i.flags|=1,n=sl(y,d),n.ref=i.ref,n.return=i,i.child=n}function kh(n,i,a,d,h){if(n!==null){var y=n.memoizedProps;if(rs(y,d)&&n.ref===i.ref)if(fi=!1,i.pendingProps=d=y,(n.lanes&h)!==0)(n.flags&131072)!==0&&(fi=!0);else return i.lanes=n.lanes,Na(n,i,h)}return hf(n,i,a,d,h)}function Nh(n,i,a){var d=i.pendingProps,h=d.children,y=n!==null?n.memoizedState:null;if(d.mode==="hidden")if((i.mode&1)===0)i.memoizedState={baseLanes:0,cachePool:null,transitions:null},yn(Ec,Mi),Mi|=a;else{if((a&1073741824)===0)return n=y!==null?y.baseLanes|a:a,i.lanes=i.childLanes=1073741824,i.memoizedState={baseLanes:n,cachePool:null,transitions:null},i.updateQueue=null,yn(Ec,Mi),Mi|=n,null;i.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=y!==null?y.baseLanes:a,yn(Ec,Mi),Mi|=d}else y!==null?(d=y.baseLanes|a,i.memoizedState=null):d=a,yn(Ec,Mi),Mi|=d;return Gs(n,i,h,a),i.child}function Ch(n,i){var a=i.ref;(n===null&&a!==null||n!==null&&n.ref!==a)&&(i.flags|=512,i.flags|=2097152)}function hf(n,i,a,d,h){var y=os(a)?Vo:Hn.current;return y=Wa(i,y),wa(i,h),a=Tt(n,i,a,d,y,h),d=Ze(),n!==null&&!fi?(i.updateQueue=n.updateQueue,i.flags&=-2053,n.lanes&=~h,Na(n,i,h)):(Qn&&d&&uc(i),i.flags|=1,Gs(n,i,a,h),i.child)}function Eh(n,i,a,d,h){if(os(a)){var y=!0;Hi(i)}else y=!1;if(wa(i,h),i.stateNode===null)Ju(n,i),ja(i,a,d),df(i,a,d,h),d=!0;else if(n===null){var E=i.stateNode,q=i.memoizedProps;E.props=q;var J=E.context,ye=a.contextType;typeof ye=="object"&&ye!==null?ye=qs(ye):(ye=os(a)?Vo:Hn.current,ye=Wa(i,ye));var Oe=a.getDerivedStateFromProps,We=typeof Oe=="function"||typeof E.getSnapshotBeforeUpdate=="function";We||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(q!==d||J!==ye)&&ka(i,E,d,ye),go=!1;var Ie=i.memoizedState;E.state=Ie,Al(i,d,E,h),J=i.memoizedState,q!==d||Ie!==J||$s.current||go?(typeof Oe=="function"&&(Pl(i,a,Oe,d),J=i.memoizedState),(q=go||Qo(i,a,q,d,Ie,J,ye))?(We||typeof E.UNSAFE_componentWillMount!="function"&&typeof E.componentWillMount!="function"||(typeof E.componentWillMount=="function"&&E.componentWillMount(),typeof E.UNSAFE_componentWillMount=="function"&&E.UNSAFE_componentWillMount()),typeof E.componentDidMount=="function"&&(i.flags|=4194308)):(typeof E.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=d,i.memoizedState=J),E.props=d,E.state=J,E.context=ye,d=q):(typeof E.componentDidMount=="function"&&(i.flags|=4194308),d=!1)}else{E=i.stateNode,nu(n,i),q=i.memoizedProps,ye=i.type===i.elementType?q:yr(i.type,q),E.props=ye,We=i.pendingProps,Ie=E.context,J=a.contextType,typeof J=="object"&&J!==null?J=qs(J):(J=os(a)?Vo:Hn.current,J=Wa(i,J));var ct=a.getDerivedStateFromProps;(Oe=typeof ct=="function"||typeof E.getSnapshotBeforeUpdate=="function")||typeof E.UNSAFE_componentWillReceiveProps!="function"&&typeof E.componentWillReceiveProps!="function"||(q!==We||Ie!==J)&&ka(i,E,d,J),go=!1,Ie=i.memoizedState,E.state=Ie,Al(i,d,E,h);var yt=i.memoizedState;q!==We||Ie!==yt||$s.current||go?(typeof ct=="function"&&(Pl(i,a,ct,d),yt=i.memoizedState),(ye=go||Qo(i,a,ye,d,Ie,yt,J)||!1)?(Oe||typeof E.UNSAFE_componentWillUpdate!="function"&&typeof E.componentWillUpdate!="function"||(typeof E.componentWillUpdate=="function"&&E.componentWillUpdate(d,yt,J),typeof E.UNSAFE_componentWillUpdate=="function"&&E.UNSAFE_componentWillUpdate(d,yt,J)),typeof E.componentDidUpdate=="function"&&(i.flags|=4),typeof E.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof E.componentDidUpdate!="function"||q===n.memoizedProps&&Ie===n.memoizedState||(i.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||q===n.memoizedProps&&Ie===n.memoizedState||(i.flags|=1024),i.memoizedProps=d,i.memoizedState=yt),E.props=d,E.state=yt,E.context=J,d=ye):(typeof E.componentDidUpdate!="function"||q===n.memoizedProps&&Ie===n.memoizedState||(i.flags|=4),typeof E.getSnapshotBeforeUpdate!="function"||q===n.memoizedProps&&Ie===n.memoizedState||(i.flags|=1024),d=!1)}return pf(n,i,a,d,y,h)}function pf(n,i,a,d,h,y){Ch(n,i);var E=(i.flags&128)!==0;if(!d&&!E)return h&&Go(i,a,!1),Na(n,i,y);d=i.stateNode,Yy.current=i;var q=E&&typeof a.getDerivedStateFromError!="function"?null:d.render();return i.flags|=1,n!==null&&E?(i.child=po(i,n.child,null,y),i.child=po(i,null,q,y)):Gs(n,i,q,y),i.memoizedState=d.state,h&&Go(i,a,!0),i.child}function $h(n){var i=n.stateNode;i.pendingContext?Vu(n,i.pendingContext,i.pendingContext!==i.context):i.context&&Vu(n,i.context,!1),yc(n,i.containerInfo)}function Th(n,i,a,d,h){return qa(),ho(h),i.flags|=256,Gs(n,i,a,d),i.child}var gf={dehydrated:null,treeContext:null,retryLane:0};function _f(n){return{baseLanes:n,cachePool:null,transitions:null}}function Mh(n,i,a){var d=i.pendingProps,h=ir.current,y=!1,E=(i.flags&128)!==0,q;if((q=E)||(q=n!==null&&n.memoizedState===null?!1:(h&2)!==0),q?(y=!0,i.flags&=-129):(n===null||n.memoizedState!==null)&&(h|=1),yn(ir,h&1),n===null)return Gi(i),n=i.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?((i.mode&1)===0?i.lanes=1:n.data==="$!"?i.lanes=8:i.lanes=1073741824,null):(E=d.children,n=d.fallback,y?(d=i.mode,y=i.child,E={mode:"hidden",children:E},(d&1)===0&&y!==null?(y.childLanes=0,y.pendingProps=E):y=cd(E,d,0,null),n=Bl(n,d,a,null),y.return=i,n.return=i,y.sibling=n,i.child=y,i.child.memoizedState=_f(a),i.memoizedState=gf,n):yf(i,E));if(h=n.memoizedState,h!==null&&(q=h.dehydrated,q!==null))return Xy(n,i,E,d,q,h,a);if(y){y=d.fallback,E=i.mode,h=n.child,q=h.sibling;var J={mode:"hidden",children:d.children};return(E&1)===0&&i.child!==h?(d=i.child,d.childLanes=0,d.pendingProps=J,i.deletions=null):(d=sl(h,J),d.subtreeFlags=h.subtreeFlags&14680064),q!==null?y=sl(q,y):(y=Bl(y,E,a,null),y.flags|=2),y.return=i,d.return=i,d.sibling=y,i.child=d,d=y,y=i.child,E=n.child.memoizedState,E=E===null?_f(a):{baseLanes:E.baseLanes|a,cachePool:null,transitions:E.transitions},y.memoizedState=E,y.childLanes=n.childLanes&~a,i.memoizedState=gf,d}return y=n.child,n=y.sibling,d=sl(y,{mode:"visible",children:d.children}),(i.mode&1)===0&&(d.lanes=a),d.return=i,d.sibling=null,n!==null&&(a=i.deletions,a===null?(i.deletions=[n],i.flags|=16):a.push(n)),i.child=d,i.memoizedState=null,d}function yf(n,i){return i=cd({mode:"visible",children:i},n.mode,0,null),i.return=n,n.child=i}function Ku(n,i,a,d){return d!==null&&ho(d),po(i,n.child,null,a),n=yf(i,i.pendingProps.children),n.flags|=2,i.memoizedState=null,n}function Xy(n,i,a,d,h,y,E){if(a)return i.flags&256?(i.flags&=-257,d=ff(Error(r(422))),Ku(n,i,E,d)):i.memoizedState!==null?(i.child=n.child,i.flags|=128,null):(y=d.fallback,h=i.mode,d=cd({mode:"visible",children:d.children},h,0,null),y=Bl(y,h,E,null),y.flags|=2,d.return=i,y.return=i,d.sibling=y,i.child=d,(i.mode&1)!==0&&po(i,n.child,null,E),i.child.memoizedState=_f(E),i.memoizedState=gf,y);if((i.mode&1)===0)return Ku(n,i,E,null);if(h.data==="$!"){if(d=h.nextSibling&&h.nextSibling.dataset,d)var q=d.dgst;return d=q,y=Error(r(419)),d=ff(y,d,void 0),Ku(n,i,E,d)}if(q=(E&n.childLanes)!==0,fi||q){if(d=as,d!==null){switch(E&-E){case 4:h=2;break;case 16:h=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:h=32;break;case 536870912:h=268435456;break;default:h=0}h=(h&(d.suspendedLanes|E))!==0?0:h,h!==0&&h!==y.retryLane&&(y.retryLane=h,Yi(n,h),bo(d,n,h,-1))}return Rf(),d=ff(Error(r(421))),Ku(n,i,E,d)}return h.data==="$?"?(i.flags|=128,i.child=n.child,i=lx.bind(null,n),h._reactRetry=i,null):(n=y.treeContext,Hs=It(h.nextSibling),Ws=i,Qn=!0,ui=null,n!==null&&(li[ci++]=Bs,li[ci++]=Vi,li[ci++]=Ar,Bs=n.id,Vi=n.overflow,Ar=i),i=yf(i,d.children),i.flags|=4096,i)}function Ah(n,i,a){n.lanes|=i;var d=n.alternate;d!==null&&(d.lanes|=i),pc(n.return,i,a)}function xf(n,i,a,d,h){var y=n.memoizedState;y===null?n.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:d,tail:a,tailMode:h}:(y.isBackwards=i,y.rendering=null,y.renderingStartTime=0,y.last=d,y.tail=a,y.tailMode=h)}function zh(n,i,a){var d=i.pendingProps,h=d.revealOrder,y=d.tail;if(Gs(n,i,d.children,a),d=ir.current,(d&2)!==0)d=d&1|2,i.flags|=128;else{if(n!==null&&(n.flags&128)!==0)e:for(n=i.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&Ah(n,a,i);else if(n.tag===19)Ah(n,a,i);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===i)break e;for(;n.sibling===null;){if(n.return===null||n.return===i)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}d&=1}if(yn(ir,d),(i.mode&1)===0)i.memoizedState=null;else switch(h){case"forwards":for(a=i.child,h=null;a!==null;)n=a.alternate,n!==null&&zl(n)===null&&(h=a),a=a.sibling;a=h,a===null?(h=i.child,i.child=null):(h=a.sibling,a.sibling=null),xf(i,!1,h,a,y);break;case"backwards":for(a=null,h=i.child,i.child=null;h!==null;){if(n=h.alternate,n!==null&&zl(n)===null){i.child=h;break}n=h.sibling,h.sibling=a,a=h,h=n}xf(i,!0,a,null,y);break;case"together":xf(i,!1,null,null,void 0);break;default:i.memoizedState=null}return i.child}function Ju(n,i){(i.mode&1)===0&&n!==null&&(n.alternate=null,i.alternate=null,i.flags|=2)}function Na(n,i,a){if(n!==null&&(i.dependencies=n.dependencies),Il|=i.lanes,(a&i.childLanes)===0)return null;if(n!==null&&i.child!==n.child)throw Error(r(153));if(i.child!==null){for(n=i.child,a=sl(n,n.pendingProps),i.child=a,a.return=i;n.sibling!==null;)n=n.sibling,a=a.sibling=sl(n,n.pendingProps),a.return=i;a.sibling=null}return i.child}function Ky(n,i,a){switch(i.tag){case 3:$h(i),qa();break;case 5:iu(i);break;case 1:os(i.type)&&Hi(i);break;case 4:yc(i,i.stateNode.containerInfo);break;case 10:var d=i.type._context,h=i.memoizedProps.value;yn($l,d._currentValue),d._currentValue=h;break;case 13:if(d=i.memoizedState,d!==null)return d.dehydrated!==null?(yn(ir,ir.current&1),i.flags|=128,null):(a&i.child.childLanes)!==0?Mh(n,i,a):(yn(ir,ir.current&1),n=Na(n,i,a),n!==null?n.sibling:null);yn(ir,ir.current&1);break;case 19:if(d=(a&i.childLanes)!==0,(n.flags&128)!==0){if(d)return zh(n,i,a);i.flags|=128}if(h=i.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),yn(ir,ir.current),d)break;return null;case 22:case 23:return i.lanes=0,Nh(n,i,a)}return Na(n,i,a)}var Rh,vf,Lh,Ph;Rh=function(n,i){for(var a=i.child;a!==null;){if(a.tag===5||a.tag===6)n.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===i)break;for(;a.sibling===null;){if(a.return===null||a.return===i)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},vf=function(){},Lh=function(n,i,a,d){var h=n.memoizedProps;if(h!==d){n=i.stateNode,Ko(Ci.current);var y=null;switch(a){case"input":h=Le(n,h),d=Le(n,d),y=[];break;case"select":h=O({},h,{value:void 0}),d=O({},d,{value:void 0}),y=[];break;case"textarea":h=lt(n,h),d=lt(n,d),y=[];break;default:typeof h.onClick!="function"&&typeof d.onClick=="function"&&(n.onclick=Fr)}Tn(a,d);var E;a=null;for(ye in h)if(!d.hasOwnProperty(ye)&&h.hasOwnProperty(ye)&&h[ye]!=null)if(ye==="style"){var q=h[ye];for(E in q)q.hasOwnProperty(E)&&(a||(a={}),a[E]="")}else ye!=="dangerouslySetInnerHTML"&&ye!=="children"&&ye!=="suppressContentEditableWarning"&&ye!=="suppressHydrationWarning"&&ye!=="autoFocus"&&(l.hasOwnProperty(ye)?y||(y=[]):(y=y||[]).push(ye,null));for(ye in d){var J=d[ye];if(q=h!=null?h[ye]:void 0,d.hasOwnProperty(ye)&&J!==q&&(J!=null||q!=null))if(ye==="style")if(q){for(E in q)!q.hasOwnProperty(E)||J&&J.hasOwnProperty(E)||(a||(a={}),a[E]="");for(E in J)J.hasOwnProperty(E)&&q[E]!==J[E]&&(a||(a={}),a[E]=J[E])}else a||(y||(y=[]),y.push(ye,a)),a=J;else ye==="dangerouslySetInnerHTML"?(J=J?J.__html:void 0,q=q?q.__html:void 0,J!=null&&q!==J&&(y=y||[]).push(ye,J)):ye==="children"?typeof J!="string"&&typeof J!="number"||(y=y||[]).push(ye,""+J):ye!=="suppressContentEditableWarning"&&ye!=="suppressHydrationWarning"&&(l.hasOwnProperty(ye)?(J!=null&&ye==="onScroll"&&Ln("scroll",n),y||q===J||(y=[])):(y=y||[]).push(ye,J))}a&&(y=y||[]).push("style",a);var ye=y;(i.updateQueue=ye)&&(i.flags|=4)}},Ph=function(n,i,a,d){a!==d&&(i.flags|=4)};function uu(n,i){if(!Qn)switch(n.tailMode){case"hidden":i=n.tail;for(var a=null;i!==null;)i.alternate!==null&&(a=i),i=i.sibling;a===null?n.tail=null:a.sibling=null;break;case"collapsed":a=n.tail;for(var d=null;a!==null;)a.alternate!==null&&(d=a),a=a.sibling;d===null?i||n.tail===null?n.tail=null:n.tail.sibling=null:d.sibling=null}}function Ts(n){var i=n.alternate!==null&&n.alternate.child===n.child,a=0,d=0;if(i)for(var h=n.child;h!==null;)a|=h.lanes|h.childLanes,d|=h.subtreeFlags&14680064,d|=h.flags&14680064,h.return=n,h=h.sibling;else for(h=n.child;h!==null;)a|=h.lanes|h.childLanes,d|=h.subtreeFlags,d|=h.flags,h.return=n,h=h.sibling;return n.subtreeFlags|=d,n.childLanes=a,i}function Jy(n,i,a){var d=i.pendingProps;switch(Us(i),i.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ts(i),null;case 1:return os(i.type)&&cc(),Ts(i),null;case 3:return d=i.stateNode,ba(),Pn($s),Pn(Hn),wc(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(n===null||n.child===null)&&(Ha(i)?i.flags|=4:n===null||n.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,ui!==null&&(Mf(ui),ui=null))),vf(n,i),Ts(i),null;case 5:xc(i);var h=Ko(Ja.current);if(a=i.type,n!==null&&i.stateNode!=null)Lh(n,i,a,d,h),n.ref!==i.ref&&(i.flags|=512,i.flags|=2097152);else{if(!d){if(i.stateNode===null)throw Error(r(166));return Ts(i),null}if(n=Ko(Ci.current),Ha(i)){d=i.stateNode,a=i.type;var y=i.memoizedProps;switch(d[Jn]=i,d[is]=y,n=(i.mode&1)!==0,a){case"dialog":Ln("cancel",d),Ln("close",d);break;case"iframe":case"object":case"embed":Ln("load",d);break;case"video":case"audio":for(h=0;h<Uo.length;h++)Ln(Uo[h],d);break;case"source":Ln("error",d);break;case"img":case"image":case"link":Ln("error",d),Ln("load",d);break;case"details":Ln("toggle",d);break;case"input":mt(d,y),Ln("invalid",d);break;case"select":d._wrapperState={wasMultiple:!!y.multiple},Ln("invalid",d);break;case"textarea":me(d,y),Ln("invalid",d)}Tn(a,y),h=null;for(var E in y)if(y.hasOwnProperty(E)){var q=y[E];E==="children"?typeof q=="string"?d.textContent!==q&&(y.suppressHydrationWarning!==!0&&bn(d.textContent,q,n),h=["children",q]):typeof q=="number"&&d.textContent!==""+q&&(y.suppressHydrationWarning!==!0&&bn(d.textContent,q,n),h=["children",""+q]):l.hasOwnProperty(E)&&q!=null&&E==="onScroll"&&Ln("scroll",d)}switch(a){case"input":Me(d),Ae(d,y,!0);break;case"textarea":Me(d),we(d);break;case"select":case"option":break;default:typeof y.onClick=="function"&&(d.onclick=Fr)}d=h,i.updateQueue=d,d!==null&&(i.flags|=4)}else{E=h.nodeType===9?h:h.ownerDocument,n==="http://www.w3.org/1999/xhtml"&&(n=Xe(a)),n==="http://www.w3.org/1999/xhtml"?a==="script"?(n=E.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild)):typeof d.is=="string"?n=E.createElement(a,{is:d.is}):(n=E.createElement(a),a==="select"&&(E=n,d.multiple?E.multiple=!0:d.size&&(E.size=d.size))):n=E.createElementNS(n,a),n[Jn]=i,n[is]=d,Rh(n,i,!1,!1),i.stateNode=n;e:{switch(E=ar(a,d),a){case"dialog":Ln("cancel",n),Ln("close",n),h=d;break;case"iframe":case"object":case"embed":Ln("load",n),h=d;break;case"video":case"audio":for(h=0;h<Uo.length;h++)Ln(Uo[h],n);h=d;break;case"source":Ln("error",n),h=d;break;case"img":case"image":case"link":Ln("error",n),Ln("load",n),h=d;break;case"details":Ln("toggle",n),h=d;break;case"input":mt(n,d),h=Le(n,d),Ln("invalid",n);break;case"option":h=d;break;case"select":n._wrapperState={wasMultiple:!!d.multiple},h=O({},d,{value:void 0}),Ln("invalid",n);break;case"textarea":me(n,d),h=lt(n,d),Ln("invalid",n);break;default:h=d}Tn(a,h),q=h;for(y in q)if(q.hasOwnProperty(y)){var J=q[y];y==="style"?Vn(n,J):y==="dangerouslySetInnerHTML"?(J=J?J.__html:void 0,J!=null&&$n(n,J)):y==="children"?typeof J=="string"?(a!=="textarea"||J!=="")&&Yt(n,J):typeof J=="number"&&Yt(n,""+J):y!=="suppressContentEditableWarning"&&y!=="suppressHydrationWarning"&&y!=="autoFocus"&&(l.hasOwnProperty(y)?J!=null&&y==="onScroll"&&Ln("scroll",n):J!=null&&H(n,y,J,E))}switch(a){case"input":Me(n),Ae(n,d,!1);break;case"textarea":Me(n),we(n);break;case"option":d.value!=null&&n.setAttribute("value",""+he(d.value));break;case"select":n.multiple=!!d.multiple,y=d.value,y!=null?Ot(n,!!d.multiple,y,!1):d.defaultValue!=null&&Ot(n,!!d.multiple,d.defaultValue,!0);break;default:typeof h.onClick=="function"&&(n.onclick=Fr)}switch(a){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break e;case"img":d=!0;break e;default:d=!1}}d&&(i.flags|=4)}i.ref!==null&&(i.flags|=512,i.flags|=2097152)}return Ts(i),null;case 6:if(n&&i.stateNode!=null)Ph(n,i,n.memoizedProps,d);else{if(typeof d!="string"&&i.stateNode===null)throw Error(r(166));if(a=Ko(Ja.current),Ko(Ci.current),Ha(i)){if(d=i.stateNode,a=i.memoizedProps,d[Jn]=i,(y=d.nodeValue!==a)&&(n=Ws,n!==null))switch(n.tag){case 3:bn(d.nodeValue,a,(n.mode&1)!==0);break;case 5:n.memoizedProps.suppressHydrationWarning!==!0&&bn(d.nodeValue,a,(n.mode&1)!==0)}y&&(i.flags|=4)}else d=(a.nodeType===9?a:a.ownerDocument).createTextNode(d),d[Jn]=i,i.stateNode=d}return Ts(i),null;case 13:if(Pn(ir),d=i.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(Qn&&Hs!==null&&(i.mode&1)!==0&&(i.flags&128)===0)qn(),qa(),i.flags|=98560,y=!1;else if(y=Ha(i),d!==null&&d.dehydrated!==null){if(n===null){if(!y)throw Error(r(318));if(y=i.memoizedState,y=y!==null?y.dehydrated:null,!y)throw Error(r(317));y[Jn]=i}else qa(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Ts(i),y=!1}else ui!==null&&(Mf(ui),ui=null),y=!0;if(!y)return i.flags&65536?i:null}return(i.flags&128)!==0?(i.lanes=a,i):(d=d!==null,d!==(n!==null&&n.memoizedState!==null)&&d&&(i.child.flags|=8192,(i.mode&1)!==0&&(n===null||(ir.current&1)!==0?Kr===0&&(Kr=3):Rf())),i.updateQueue!==null&&(i.flags|=4),Ts(i),null);case 4:return ba(),vf(n,i),n===null&&ki(i.stateNode.containerInfo),Ts(i),null;case 10:return hc(i.type._context),Ts(i),null;case 17:return os(i.type)&&cc(),Ts(i),null;case 19:if(Pn(ir),y=i.memoizedState,y===null)return Ts(i),null;if(d=(i.flags&128)!==0,E=y.rendering,E===null)if(d)uu(y,!1);else{if(Kr!==0||n!==null&&(n.flags&128)!==0)for(n=i.child;n!==null;){if(E=zl(n),E!==null){for(i.flags|=128,uu(y,!1),d=E.updateQueue,d!==null&&(i.updateQueue=d,i.flags|=4),i.subtreeFlags=0,d=a,a=i.child;a!==null;)y=a,n=d,y.flags&=14680066,E=y.alternate,E===null?(y.childLanes=0,y.lanes=n,y.child=null,y.subtreeFlags=0,y.memoizedProps=null,y.memoizedState=null,y.updateQueue=null,y.dependencies=null,y.stateNode=null):(y.childLanes=E.childLanes,y.lanes=E.lanes,y.child=E.child,y.subtreeFlags=0,y.deletions=null,y.memoizedProps=E.memoizedProps,y.memoizedState=E.memoizedState,y.updateQueue=E.updateQueue,y.type=E.type,n=E.dependencies,y.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),a=a.sibling;return yn(ir,ir.current&1|2),i.child}n=n.sibling}y.tail!==null&&Nn()>$c&&(i.flags|=128,d=!0,uu(y,!1),i.lanes=4194304)}else{if(!d)if(n=zl(E),n!==null){if(i.flags|=128,d=!0,a=n.updateQueue,a!==null&&(i.updateQueue=a,i.flags|=4),uu(y,!0),y.tail===null&&y.tailMode==="hidden"&&!E.alternate&&!Qn)return Ts(i),null}else 2*Nn()-y.renderingStartTime>$c&&a!==1073741824&&(i.flags|=128,d=!0,uu(y,!1),i.lanes=4194304);y.isBackwards?(E.sibling=i.child,i.child=E):(a=y.last,a!==null?a.sibling=E:i.child=E,y.last=E)}return y.tail!==null?(i=y.tail,y.rendering=i,y.tail=i.sibling,y.renderingStartTime=Nn(),i.sibling=null,a=ir.current,yn(ir,d?a&1|2:a&1),i):(Ts(i),null);case 22:case 23:return zf(),d=i.memoizedState!==null,n!==null&&n.memoizedState!==null!==d&&(i.flags|=8192),d&&(i.mode&1)!==0?(Mi&1073741824)!==0&&(Ts(i),i.subtreeFlags&6&&(i.flags|=8192)):Ts(i),null;case 24:return null;case 25:return null}throw Error(r(156,i.tag))}function Qy(n,i){switch(Us(i),i.tag){case 1:return os(i.type)&&cc(),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return ba(),Pn($s),Pn(Hn),wc(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 5:return xc(i),null;case 13:if(Pn(ir),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(r(340));qa()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return Pn(ir),null;case 4:return ba(),null;case 10:return hc(i.type._context),null;case 22:case 23:return zf(),null;case 24:return null;default:return null}}var Qu=!1,Ms=!1,Zy=typeof WeakSet=="function"?WeakSet:Set,pt=null;function Cc(n,i){var a=n.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(d){Nr(n,i,d)}else a.current=null}function wf(n,i,a){try{a()}catch(d){Nr(n,i,d)}}var Ih=!1;function ex(n,i){if(N=At,n=Fo(),ur(n)){if("selectionStart"in n)var a={start:n.selectionStart,end:n.selectionEnd};else e:{a=(a=n.ownerDocument)&&a.defaultView||window;var d=a.getSelection&&a.getSelection();if(d&&d.rangeCount!==0){a=d.anchorNode;var h=d.anchorOffset,y=d.focusNode;d=d.focusOffset;try{a.nodeType,y.nodeType}catch{a=null;break e}var E=0,q=-1,J=-1,ye=0,Oe=0,We=n,Ie=null;t:for(;;){for(var ct;We!==a||h!==0&&We.nodeType!==3||(q=E+h),We!==y||d!==0&&We.nodeType!==3||(J=E+d),We.nodeType===3&&(E+=We.nodeValue.length),(ct=We.firstChild)!==null;)Ie=We,We=ct;for(;;){if(We===n)break t;if(Ie===a&&++ye===h&&(q=E),Ie===y&&++Oe===d&&(J=E),(ct=We.nextSibling)!==null)break;We=Ie,Ie=We.parentNode}We=ct}a=q===-1||J===-1?null:{start:q,end:J}}else a=null}a=a||{start:0,end:0}}else a=null;for(U={focusedElem:n,selectionRange:a},At=!1,pt=i;pt!==null;)if(i=pt,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,pt=n;else for(;pt!==null;){i=pt;try{var yt=i.alternate;if((i.flags&1024)!==0)switch(i.tag){case 0:case 11:case 15:break;case 1:if(yt!==null){var wt=yt.memoizedProps,zr=yt.memoizedState,fe=i.stateNode,ee=fe.getSnapshotBeforeUpdate(i.elementType===i.type?wt:yr(i.type,wt),zr);fe.__reactInternalSnapshotBeforeUpdate=ee}break;case 3:var pe=i.stateNode.containerInfo;pe.nodeType===1?pe.textContent="":pe.nodeType===9&&pe.documentElement&&pe.removeChild(pe.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(Ge){Nr(i,i.return,Ge)}if(n=i.sibling,n!==null){n.return=i.return,pt=n;break}pt=i.return}return yt=Ih,Ih=!1,yt}function du(n,i,a){var d=i.updateQueue;if(d=d!==null?d.lastEffect:null,d!==null){var h=d=d.next;do{if((h.tag&n)===n){var y=h.destroy;h.destroy=void 0,y!==void 0&&wf(i,a,y)}h=h.next}while(h!==d)}}function Zu(n,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var a=i=i.next;do{if((a.tag&n)===n){var d=a.create;a.destroy=d()}a=a.next}while(a!==i)}}function bf(n){var i=n.ref;if(i!==null){var a=n.stateNode;switch(n.tag){case 5:n=a;break;default:n=a}typeof i=="function"?i(n):i.current=n}}function Oh(n){var i=n.alternate;i!==null&&(n.alternate=null,Oh(i)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(i=n.stateNode,i!==null&&(delete i[Jn],delete i[is],delete i[Dr],delete i[ya],delete i[Wo])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function Fh(n){return n.tag===5||n.tag===3||n.tag===4}function Dh(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Fh(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Sf(n,i,a){var d=n.tag;if(d===5||d===6)n=n.stateNode,i?a.nodeType===8?a.parentNode.insertBefore(n,i):a.insertBefore(n,i):(a.nodeType===8?(i=a.parentNode,i.insertBefore(n,a)):(i=a,i.appendChild(n)),a=a._reactRootContainer,a!=null||i.onclick!==null||(i.onclick=Fr));else if(d!==4&&(n=n.child,n!==null))for(Sf(n,i,a),n=n.sibling;n!==null;)Sf(n,i,a),n=n.sibling}function jf(n,i,a){var d=n.tag;if(d===5||d===6)n=n.stateNode,i?a.insertBefore(n,i):a.appendChild(n);else if(d!==4&&(n=n.child,n!==null))for(jf(n,i,a),n=n.sibling;n!==null;)jf(n,i,a),n=n.sibling}var ys=null,vo=!1;function Za(n,i,a){for(a=a.child;a!==null;)Bh(n,i,a),a=a.sibling}function Bh(n,i,a){if(tt&&typeof tt.onCommitFiberUnmount=="function")try{tt.onCommitFiberUnmount(Hr,a)}catch{}switch(a.tag){case 5:Ms||Cc(a,i);case 6:var d=ys,h=vo;ys=null,Za(n,i,a),ys=d,vo=h,ys!==null&&(vo?(n=ys,a=a.stateNode,n.nodeType===8?n.parentNode.removeChild(a):n.removeChild(a)):ys.removeChild(a.stateNode));break;case 18:ys!==null&&(vo?(n=ys,a=a.stateNode,n.nodeType===8?et(n.parentNode,a):n.nodeType===1&&et(n,a),Et(n)):et(ys,a.stateNode));break;case 4:d=ys,h=vo,ys=a.stateNode.containerInfo,vo=!0,Za(n,i,a),ys=d,vo=h;break;case 0:case 11:case 14:case 15:if(!Ms&&(d=a.updateQueue,d!==null&&(d=d.lastEffect,d!==null))){h=d=d.next;do{var y=h,E=y.destroy;y=y.tag,E!==void 0&&((y&2)!==0||(y&4)!==0)&&wf(a,i,E),h=h.next}while(h!==d)}Za(n,i,a);break;case 1:if(!Ms&&(Cc(a,i),d=a.stateNode,typeof d.componentWillUnmount=="function"))try{d.props=a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(q){Nr(a,i,q)}Za(n,i,a);break;case 21:Za(n,i,a);break;case 22:a.mode&1?(Ms=(d=Ms)||a.memoizedState!==null,Za(n,i,a),Ms=d):Za(n,i,a);break;default:Za(n,i,a)}}function Uh(n){var i=n.updateQueue;if(i!==null){n.updateQueue=null;var a=n.stateNode;a===null&&(a=n.stateNode=new Zy),i.forEach(function(d){var h=cx.bind(null,n,d);a.has(d)||(a.add(d),d.then(h,h))})}}function wo(n,i){var a=i.deletions;if(a!==null)for(var d=0;d<a.length;d++){var h=a[d];try{var y=n,E=i,q=E;e:for(;q!==null;){switch(q.tag){case 5:ys=q.stateNode,vo=!1;break e;case 3:ys=q.stateNode.containerInfo,vo=!0;break e;case 4:ys=q.stateNode.containerInfo,vo=!0;break e}q=q.return}if(ys===null)throw Error(r(160));Bh(y,E,h),ys=null,vo=!1;var J=h.alternate;J!==null&&(J.return=null),h.return=null}catch(ye){Nr(h,i,ye)}}if(i.subtreeFlags&12854)for(i=i.child;i!==null;)Wh(i,n),i=i.sibling}function Wh(n,i){var a=n.alternate,d=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:if(wo(i,n),Zo(n),d&4){try{du(3,n,n.return),Zu(3,n)}catch(wt){Nr(n,n.return,wt)}try{du(5,n,n.return)}catch(wt){Nr(n,n.return,wt)}}break;case 1:wo(i,n),Zo(n),d&512&&a!==null&&Cc(a,a.return);break;case 5:if(wo(i,n),Zo(n),d&512&&a!==null&&Cc(a,a.return),n.flags&32){var h=n.stateNode;try{Yt(h,"")}catch(wt){Nr(n,n.return,wt)}}if(d&4&&(h=n.stateNode,h!=null)){var y=n.memoizedProps,E=a!==null?a.memoizedProps:y,q=n.type,J=n.updateQueue;if(n.updateQueue=null,J!==null)try{q==="input"&&y.type==="radio"&&y.name!=null&>(h,y),ar(q,E);var ye=ar(q,y);for(E=0;E<J.length;E+=2){var Oe=J[E],We=J[E+1];Oe==="style"?Vn(h,We):Oe==="dangerouslySetInnerHTML"?$n(h,We):Oe==="children"?Yt(h,We):H(h,Oe,We,ye)}switch(q){case"input":ze(h,y);break;case"textarea":tn(h,y);break;case"select":var Ie=h._wrapperState.wasMultiple;h._wrapperState.wasMultiple=!!y.multiple;var ct=y.value;ct!=null?Ot(h,!!y.multiple,ct,!1):Ie!==!!y.multiple&&(y.defaultValue!=null?Ot(h,!!y.multiple,y.defaultValue,!0):Ot(h,!!y.multiple,y.multiple?[]:"",!1))}h[is]=y}catch(wt){Nr(n,n.return,wt)}}break;case 6:if(wo(i,n),Zo(n),d&4){if(n.stateNode===null)throw Error(r(162));h=n.stateNode,y=n.memoizedProps;try{h.nodeValue=y}catch(wt){Nr(n,n.return,wt)}}break;case 3:if(wo(i,n),Zo(n),d&4&&a!==null&&a.memoizedState.isDehydrated)try{Et(i.containerInfo)}catch(wt){Nr(n,n.return,wt)}break;case 4:wo(i,n),Zo(n);break;case 13:wo(i,n),Zo(n),h=n.child,h.flags&8192&&(y=h.memoizedState!==null,h.stateNode.isHidden=y,!y||h.alternate!==null&&h.alternate.memoizedState!==null||(Cf=Nn())),d&4&&Uh(n);break;case 22:if(Oe=a!==null&&a.memoizedState!==null,n.mode&1?(Ms=(ye=Ms)||Oe,wo(i,n),Ms=ye):wo(i,n),Zo(n),d&8192){if(ye=n.memoizedState!==null,(n.stateNode.isHidden=ye)&&!Oe&&(n.mode&1)!==0)for(pt=n,Oe=n.child;Oe!==null;){for(We=pt=Oe;pt!==null;){switch(Ie=pt,ct=Ie.child,Ie.tag){case 0:case 11:case 14:case 15:du(4,Ie,Ie.return);break;case 1:Cc(Ie,Ie.return);var yt=Ie.stateNode;if(typeof yt.componentWillUnmount=="function"){d=Ie,a=Ie.return;try{i=d,yt.props=i.memoizedProps,yt.state=i.memoizedState,yt.componentWillUnmount()}catch(wt){Nr(d,a,wt)}}break;case 5:Cc(Ie,Ie.return);break;case 22:if(Ie.memoizedState!==null){Vh(We);continue}}ct!==null?(ct.return=Ie,pt=ct):Vh(We)}Oe=Oe.sibling}e:for(Oe=null,We=n;;){if(We.tag===5){if(Oe===null){Oe=We;try{h=We.stateNode,ye?(y=h.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none"):(q=We.stateNode,J=We.memoizedProps.style,E=J!=null&&J.hasOwnProperty("display")?J.display:null,q.style.display=fn("display",E))}catch(wt){Nr(n,n.return,wt)}}}else if(We.tag===6){if(Oe===null)try{We.stateNode.nodeValue=ye?"":We.memoizedProps}catch(wt){Nr(n,n.return,wt)}}else if((We.tag!==22&&We.tag!==23||We.memoizedState===null||We===n)&&We.child!==null){We.child.return=We,We=We.child;continue}if(We===n)break e;for(;We.sibling===null;){if(We.return===null||We.return===n)break e;Oe===We&&(Oe=null),We=We.return}Oe===We&&(Oe=null),We.sibling.return=We.return,We=We.sibling}}break;case 19:wo(i,n),Zo(n),d&4&&Uh(n);break;case 21:break;default:wo(i,n),Zo(n)}}function Zo(n){var i=n.flags;if(i&2){try{e:{for(var a=n.return;a!==null;){if(Fh(a)){var d=a;break e}a=a.return}throw Error(r(160))}switch(d.tag){case 5:var h=d.stateNode;d.flags&32&&(Yt(h,""),d.flags&=-33);var y=Dh(n);jf(n,y,h);break;case 3:case 4:var E=d.stateNode.containerInfo,q=Dh(n);Sf(n,q,E);break;default:throw Error(r(161))}}catch(J){Nr(n,n.return,J)}n.flags&=-3}i&4096&&(n.flags&=-4097)}function tx(n,i,a){pt=n,Hh(n)}function Hh(n,i,a){for(var d=(n.mode&1)!==0;pt!==null;){var h=pt,y=h.child;if(h.tag===22&&d){var E=h.memoizedState!==null||Qu;if(!E){var q=h.alternate,J=q!==null&&q.memoizedState!==null||Ms;q=Qu;var ye=Ms;if(Qu=E,(Ms=J)&&!ye)for(pt=h;pt!==null;)E=pt,J=E.child,E.tag===22&&E.memoizedState!==null?Gh(h):J!==null?(J.return=E,pt=J):Gh(h);for(;y!==null;)pt=y,Hh(y),y=y.sibling;pt=h,Qu=q,Ms=ye}qh(n)}else(h.subtreeFlags&8772)!==0&&y!==null?(y.return=h,pt=y):qh(n)}}function qh(n){for(;pt!==null;){var i=pt;if((i.flags&8772)!==0){var a=i.alternate;try{if((i.flags&8772)!==0)switch(i.tag){case 0:case 11:case 15:Ms||Zu(5,i);break;case 1:var d=i.stateNode;if(i.flags&4&&!Ms)if(a===null)d.componentDidMount();else{var h=i.elementType===i.type?a.memoizedProps:yr(i.type,a.memoizedProps);d.componentDidUpdate(h,a.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var y=i.updateQueue;y!==null&&su(i,y,d);break;case 3:var E=i.updateQueue;if(E!==null){if(a=null,i.child!==null)switch(i.child.tag){case 5:a=i.child.stateNode;break;case 1:a=i.child.stateNode}su(i,E,a)}break;case 5:var q=i.stateNode;if(a===null&&i.flags&4){a=q;var J=i.memoizedProps;switch(i.type){case"button":case"input":case"select":case"textarea":J.autoFocus&&a.focus();break;case"img":J.src&&(a.src=J.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(i.memoizedState===null){var ye=i.alternate;if(ye!==null){var Oe=ye.memoizedState;if(Oe!==null){var We=Oe.dehydrated;We!==null&&Et(We)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}Ms||i.flags&512&&bf(i)}catch(Ie){Nr(i,i.return,Ie)}}if(i===n){pt=null;break}if(a=i.sibling,a!==null){a.return=i.return,pt=a;break}pt=i.return}}function Vh(n){for(;pt!==null;){var i=pt;if(i===n){pt=null;break}var a=i.sibling;if(a!==null){a.return=i.return,pt=a;break}pt=i.return}}function Gh(n){for(;pt!==null;){var i=pt;try{switch(i.tag){case 0:case 11:case 15:var a=i.return;try{Zu(4,i)}catch(J){Nr(i,a,J)}break;case 1:var d=i.stateNode;if(typeof d.componentDidMount=="function"){var h=i.return;try{d.componentDidMount()}catch(J){Nr(i,h,J)}}var y=i.return;try{bf(i)}catch(J){Nr(i,y,J)}break;case 5:var E=i.return;try{bf(i)}catch(J){Nr(i,E,J)}}}catch(J){Nr(i,i.return,J)}if(i===n){pt=null;break}var q=i.sibling;if(q!==null){q.return=i.return,pt=q;break}pt=i.return}}var nx=Math.ceil,ed=M.ReactCurrentDispatcher,kf=M.ReactCurrentOwner,Ji=M.ReactCurrentBatchConfig,Sn=0,as=null,Ur=null,xs=0,Mi=0,Ec=qo(0),Kr=0,fu=null,Il=0,td=0,Nf=0,mu=null,mi=null,Cf=0,$c=1/0,Ca=null,nd=!1,Ef=null,el=null,rd=!1,tl=null,sd=0,hu=0,$f=null,id=-1,od=0;function Ys(){return(Sn&6)!==0?Nn():id!==-1?id:id=Nn()}function nl(n){return(n.mode&1)===0?1:(Sn&2)!==0&&xs!==0?xs&-xs:uf.transition!==null?(od===0&&(od=Gn()),od):(n=cn,n!==0||(n=window.event,n=n===void 0?16:An(n.type)),n)}function bo(n,i,a,d){if(50<hu)throw hu=0,$f=null,Error(r(185));mr(n,a,d),((Sn&2)===0||n!==as)&&(n===as&&((Sn&2)===0&&(td|=a),Kr===4&&rl(n,xs)),hi(n,d),a===1&&Sn===0&&(i.mode&1)===0&&($c=Nn()+500,Ni&&mo()))}function hi(n,i){var a=n.callbackNode;ia(n,i);var d=ms(n,n===as?xs:0);if(d===0)a!==null&&Mn(a),n.callbackNode=null,n.callbackPriority=0;else if(i=d&-d,n.callbackPriority!==i){if(a!=null&&Mn(a),i===1)n.tag===0?cf(Xh.bind(null,n)):fo(Xh.bind(null,n)),Re(function(){(Sn&6)===0&&mo()}),a=null;else{switch(Lr(d)){case 1:a=_i;break;case 4:a=As;break;case 16:a=wn;break;case 536870912:a=fr;break;default:a=wn}a=rp(a,Yh.bind(null,n))}n.callbackPriority=i,n.callbackNode=a}}function Yh(n,i){if(id=-1,od=0,(Sn&6)!==0)throw Error(r(327));var a=n.callbackNode;if(Tc()&&n.callbackNode!==a)return null;var d=ms(n,n===as?xs:0);if(d===0)return null;if((d&30)!==0||(d&n.expiredLanes)!==0||i)i=ad(n,d);else{i=d;var h=Sn;Sn|=2;var y=Jh();(as!==n||xs!==i)&&(Ca=null,$c=Nn()+500,Fl(n,i));do try{ix();break}catch(q){Kh(n,q)}while(!0);mc(),ed.current=y,Sn=h,Ur!==null?i=0:(as=null,xs=0,i=Kr)}if(i!==0){if(i===2&&(h=be(n),h!==0&&(d=h,i=Tf(n,h))),i===1)throw a=fu,Fl(n,0),rl(n,d),hi(n,Nn()),a;if(i===6)rl(n,d);else{if(h=n.current.alternate,(d&30)===0&&!rx(h)&&(i=ad(n,d),i===2&&(y=be(n),y!==0&&(d=y,i=Tf(n,y))),i===1))throw a=fu,Fl(n,0),rl(n,d),hi(n,Nn()),a;switch(n.finishedWork=h,n.finishedLanes=d,i){case 0:case 1:throw Error(r(345));case 2:Dl(n,mi,Ca);break;case 3:if(rl(n,d),(d&130023424)===d&&(i=Cf+500-Nn(),10<i)){if(ms(n,0)!==0)break;if(h=n.suspendedLanes,(h&d)!==d){Ys(),n.pingedLanes|=n.suspendedLanes&h;break}n.timeoutHandle=le(Dl.bind(null,n,mi,Ca),i);break}Dl(n,mi,Ca);break;case 4:if(rl(n,d),(d&4194240)===d)break;for(i=n.eventTimes,h=-1;0<d;){var E=31-Rn(d);y=1<<E,E=i[E],E>h&&(h=E),d&=~y}if(d=h,d=Nn()-d,d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3e3>d?3e3:4320>d?4320:1960*nx(d/1960))-d,10<d){n.timeoutHandle=le(Dl.bind(null,n,mi,Ca),d);break}Dl(n,mi,Ca);break;case 5:Dl(n,mi,Ca);break;default:throw Error(r(329))}}}return hi(n,Nn()),n.callbackNode===a?Yh.bind(null,n):null}function Tf(n,i){var a=mu;return n.current.memoizedState.isDehydrated&&(Fl(n,i).flags|=256),n=ad(n,i),n!==2&&(i=mi,mi=a,i!==null&&Mf(i)),n}function Mf(n){mi===null?mi=n:mi.push.apply(mi,n)}function rx(n){for(var i=n;;){if(i.flags&16384){var a=i.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var d=0;d<a.length;d++){var h=a[d],y=h.getSnapshot;h=h.value;try{if(!Kn(y(),h))return!1}catch{return!1}}}if(a=i.child,i.subtreeFlags&16384&&a!==null)a.return=i,i=a;else{if(i===n)break;for(;i.sibling===null;){if(i.return===null||i.return===n)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function rl(n,i){for(i&=~Nf,i&=~td,n.suspendedLanes|=i,n.pingedLanes&=~i,n=n.expirationTimes;0<i;){var a=31-Rn(i),d=1<<a;n[a]=-1,i&=~d}}function Xh(n){if((Sn&6)!==0)throw Error(r(327));Tc();var i=ms(n,0);if((i&1)===0)return hi(n,Nn()),null;var a=ad(n,i);if(n.tag!==0&&a===2){var d=be(n);d!==0&&(i=d,a=Tf(n,d))}if(a===1)throw a=fu,Fl(n,0),rl(n,i),hi(n,Nn()),a;if(a===6)throw Error(r(345));return n.finishedWork=n.current.alternate,n.finishedLanes=i,Dl(n,mi,Ca),hi(n,Nn()),null}function Af(n,i){var a=Sn;Sn|=1;try{return n(i)}finally{Sn=a,Sn===0&&($c=Nn()+500,Ni&&mo())}}function Ol(n){tl!==null&&tl.tag===0&&(Sn&6)===0&&Tc();var i=Sn;Sn|=1;var a=Ji.transition,d=cn;try{if(Ji.transition=null,cn=1,n)return n()}finally{cn=d,Ji.transition=a,Sn=i,(Sn&6)===0&&mo()}}function zf(){Mi=Ec.current,Pn(Ec)}function Fl(n,i){n.finishedWork=null,n.finishedLanes=0;var a=n.timeoutHandle;if(a!==-1&&(n.timeoutHandle=-1,_e(a)),Ur!==null)for(a=Ur.return;a!==null;){var d=a;switch(Us(d),d.tag){case 1:d=d.type.childContextTypes,d!=null&&cc();break;case 3:ba(),Pn($s),Pn(Hn),wc();break;case 5:xc(d);break;case 4:ba();break;case 13:Pn(ir);break;case 19:Pn(ir);break;case 10:hc(d.type._context);break;case 22:case 23:zf()}a=a.return}if(as=n,Ur=n=sl(n.current,null),xs=Mi=i,Kr=0,fu=null,Nf=td=Il=0,mi=mu=null,Xo!==null){for(i=0;i<Xo.length;i++)if(a=Xo[i],d=a.interleaved,d!==null){a.interleaved=null;var h=d.next,y=a.pending;if(y!==null){var E=y.next;y.next=h,d.next=E}a.pending=d}Xo=null}return n}function Kh(n,i){do{var a=Ur;try{if(mc(),Rl.current=br,Y){for(var d=z.memoizedState;d!==null;){var h=d.queue;h!==null&&(h.pending=null),d=d.next}Y=!1}if(C=0,B=k=z=null,X=!1,re=0,kf.current=null,a===null||a.return===null){Kr=1,fu=i,Ur=null;break}e:{var y=n,E=a.return,q=a,J=i;if(i=xs,q.flags|=32768,J!==null&&typeof J=="object"&&typeof J.then=="function"){var ye=J,Oe=q,We=Oe.tag;if((Oe.mode&1)===0&&(We===0||We===11||We===15)){var Ie=Oe.alternate;Ie?(Oe.updateQueue=Ie.updateQueue,Oe.memoizedState=Ie.memoizedState,Oe.lanes=Ie.lanes):(Oe.updateQueue=null,Oe.memoizedState=null)}var ct=wh(E);if(ct!==null){ct.flags&=-257,bh(ct,E,q,y,i),ct.mode&1&&vh(y,ye,i),i=ct,J=ye;var yt=i.updateQueue;if(yt===null){var wt=new Set;wt.add(J),i.updateQueue=wt}else yt.add(J);break e}else{if((i&1)===0){vh(y,ye,i),Rf();break e}J=Error(r(426))}}else if(Qn&&q.mode&1){var zr=wh(E);if(zr!==null){(zr.flags&65536)===0&&(zr.flags|=256),bh(zr,E,q,y,i),ho(Nc(J,q));break e}}y=J=Nc(J,q),Kr!==4&&(Kr=2),mu===null?mu=[y]:mu.push(y),y=E;do{switch(y.tag){case 3:y.flags|=65536,i&=-i,y.lanes|=i;var fe=yh(y,J,i);ru(y,fe);break e;case 1:q=J;var ee=y.type,pe=y.stateNode;if((y.flags&128)===0&&(typeof ee.getDerivedStateFromError=="function"||pe!==null&&typeof pe.componentDidCatch=="function"&&(el===null||!el.has(pe)))){y.flags|=65536,i&=-i,y.lanes|=i;var Ge=xh(y,q,i);ru(y,Ge);break e}}y=y.return}while(y!==null)}Zh(a)}catch(bt){i=bt,Ur===a&&a!==null&&(Ur=a=a.return);continue}break}while(!0)}function Jh(){var n=ed.current;return ed.current=br,n===null?br:n}function Rf(){(Kr===0||Kr===3||Kr===2)&&(Kr=4),as===null||(Il&268435455)===0&&(td&268435455)===0||rl(as,xs)}function ad(n,i){var a=Sn;Sn|=2;var d=Jh();(as!==n||xs!==i)&&(Ca=null,Fl(n,i));do try{sx();break}catch(h){Kh(n,h)}while(!0);if(mc(),Sn=a,ed.current=d,Ur!==null)throw Error(r(261));return as=null,xs=0,Kr}function sx(){for(;Ur!==null;)Qh(Ur)}function ix(){for(;Ur!==null&&!zi();)Qh(Ur)}function Qh(n){var i=np(n.alternate,n,Mi);n.memoizedProps=n.pendingProps,i===null?Zh(n):Ur=i,kf.current=null}function Zh(n){var i=n;do{var a=i.alternate;if(n=i.return,(i.flags&32768)===0){if(a=Jy(a,i,Mi),a!==null){Ur=a;return}}else{if(a=Qy(a,i),a!==null){a.flags&=32767,Ur=a;return}if(n!==null)n.flags|=32768,n.subtreeFlags=0,n.deletions=null;else{Kr=6,Ur=null;return}}if(i=i.sibling,i!==null){Ur=i;return}Ur=i=n}while(i!==null);Kr===0&&(Kr=5)}function Dl(n,i,a){var d=cn,h=Ji.transition;try{Ji.transition=null,cn=1,ox(n,i,a,d)}finally{Ji.transition=h,cn=d}return null}function ox(n,i,a,d){do Tc();while(tl!==null);if((Sn&6)!==0)throw Error(r(327));a=n.finishedWork;var h=n.finishedLanes;if(a===null)return null;if(n.finishedWork=null,n.finishedLanes=0,a===n.current)throw Error(r(177));n.callbackNode=null,n.callbackPriority=0;var y=a.lanes|a.childLanes;if(zs(n,y),n===as&&(Ur=as=null,xs=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||rd||(rd=!0,rp(wn,function(){return Tc(),null})),y=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||y){y=Ji.transition,Ji.transition=null;var E=cn;cn=1;var q=Sn;Sn|=4,kf.current=null,ex(n,a),Wh(a,n),jt(U),At=!!N,U=N=null,n.current=a,tx(a),Qr(),Sn=q,cn=E,Ji.transition=y}else n.current=a;if(rd&&(rd=!1,tl=n,sd=h),y=n.pendingLanes,y===0&&(el=null),nr(a.stateNode),hi(n,Nn()),i!==null)for(d=n.onRecoverableError,a=0;a<i.length;a++)h=i[a],d(h.value,{componentStack:h.stack,digest:h.digest});if(nd)throw nd=!1,n=Ef,Ef=null,n;return(sd&1)!==0&&n.tag!==0&&Tc(),y=n.pendingLanes,(y&1)!==0?n===$f?hu++:(hu=0,$f=n):hu=0,mo(),null}function Tc(){if(tl!==null){var n=Lr(sd),i=Ji.transition,a=cn;try{if(Ji.transition=null,cn=16>n?16:n,tl===null)var d=!1;else{if(n=tl,tl=null,sd=0,(Sn&6)!==0)throw Error(r(331));var h=Sn;for(Sn|=4,pt=n.current;pt!==null;){var y=pt,E=y.child;if((pt.flags&16)!==0){var q=y.deletions;if(q!==null){for(var J=0;J<q.length;J++){var ye=q[J];for(pt=ye;pt!==null;){var Oe=pt;switch(Oe.tag){case 0:case 11:case 15:du(8,Oe,y)}var We=Oe.child;if(We!==null)We.return=Oe,pt=We;else for(;pt!==null;){Oe=pt;var Ie=Oe.sibling,ct=Oe.return;if(Oh(Oe),Oe===ye){pt=null;break}if(Ie!==null){Ie.return=ct,pt=Ie;break}pt=ct}}}var yt=y.alternate;if(yt!==null){var wt=yt.child;if(wt!==null){yt.child=null;do{var zr=wt.sibling;wt.sibling=null,wt=zr}while(wt!==null)}}pt=y}}if((y.subtreeFlags&2064)!==0&&E!==null)E.return=y,pt=E;else e:for(;pt!==null;){if(y=pt,(y.flags&2048)!==0)switch(y.tag){case 0:case 11:case 15:du(9,y,y.return)}var fe=y.sibling;if(fe!==null){fe.return=y.return,pt=fe;break e}pt=y.return}}var ee=n.current;for(pt=ee;pt!==null;){E=pt;var pe=E.child;if((E.subtreeFlags&2064)!==0&&pe!==null)pe.return=E,pt=pe;else e:for(E=ee;pt!==null;){if(q=pt,(q.flags&2048)!==0)try{switch(q.tag){case 0:case 11:case 15:Zu(9,q)}}catch(bt){Nr(q,q.return,bt)}if(q===E){pt=null;break e}var Ge=q.sibling;if(Ge!==null){Ge.return=q.return,pt=Ge;break e}pt=q.return}}if(Sn=h,mo(),tt&&typeof tt.onPostCommitFiberRoot=="function")try{tt.onPostCommitFiberRoot(Hr,n)}catch{}d=!0}return d}finally{cn=a,Ji.transition=i}}return!1}function ep(n,i,a){i=Nc(a,i),i=yh(n,i,1),n=_o(n,i,1),i=Ys(),n!==null&&(mr(n,1,i),hi(n,i))}function Nr(n,i,a){if(n.tag===3)ep(n,n,a);else for(;i!==null;){if(i.tag===3){ep(i,n,a);break}else if(i.tag===1){var d=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(el===null||!el.has(d))){n=Nc(a,n),n=xh(i,n,1),i=_o(i,n,1),n=Ys(),i!==null&&(mr(i,1,n),hi(i,n));break}}i=i.return}}function ax(n,i,a){var d=n.pingCache;d!==null&&d.delete(i),i=Ys(),n.pingedLanes|=n.suspendedLanes&a,as===n&&(xs&a)===a&&(Kr===4||Kr===3&&(xs&130023424)===xs&&500>Nn()-Cf?Fl(n,0):Nf|=a),hi(n,i)}function tp(n,i){i===0&&((n.mode&1)===0?i=1:(i=yi,yi<<=1,(yi&130023424)===0&&(yi=4194304)));var a=Ys();n=Yi(n,i),n!==null&&(mr(n,i,a),hi(n,a))}function lx(n){var i=n.memoizedState,a=0;i!==null&&(a=i.retryLane),tp(n,a)}function cx(n,i){var a=0;switch(n.tag){case 13:var d=n.stateNode,h=n.memoizedState;h!==null&&(a=h.retryLane);break;case 19:d=n.stateNode;break;default:throw Error(r(314))}d!==null&&d.delete(i),tp(n,a)}var np;np=function(n,i,a){if(n!==null)if(n.memoizedProps!==i.pendingProps||$s.current)fi=!0;else{if((n.lanes&a)===0&&(i.flags&128)===0)return fi=!1,Ky(n,i,a);fi=(n.flags&131072)!==0}else fi=!1,Qn&&(i.flags&1048576)!==0&&Ut(i,Nl,i.index);switch(i.lanes=0,i.tag){case 2:var d=i.type;Ju(n,i),n=i.pendingProps;var h=Wa(i,Hn.current);wa(i,a),h=Tt(null,i,d,n,h,a);var y=Ze();return i.flags|=1,typeof h=="object"&&h!==null&&typeof h.render=="function"&&h.$$typeof===void 0?(i.tag=1,i.memoizedState=null,i.updateQueue=null,os(d)?(y=!0,Hi(i)):y=!1,i.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,_c(i),h.updater=Qa,i.stateNode=h,h._reactInternals=i,df(i,d,n,a),i=pf(null,i,d,!0,y,a)):(i.tag=0,Qn&&y&&uc(i),Gs(null,i,h,a),i=i.child),i;case 16:d=i.elementType;e:{switch(Ju(n,i),n=i.pendingProps,h=d._init,d=h(d._payload),i.type=d,h=i.tag=dx(d),n=yr(d,n),h){case 0:i=hf(null,i,d,n,a);break e;case 1:i=Eh(null,i,d,n,a);break e;case 11:i=Sh(null,i,d,n,a);break e;case 14:i=jh(null,i,d,yr(d.type,n),a);break e}throw Error(r(306,d,""))}return i;case 0:return d=i.type,h=i.pendingProps,h=i.elementType===d?h:yr(d,h),hf(n,i,d,h,a);case 1:return d=i.type,h=i.pendingProps,h=i.elementType===d?h:yr(d,h),Eh(n,i,d,h,a);case 3:e:{if($h(i),n===null)throw Error(r(387));d=i.pendingProps,y=i.memoizedState,h=y.element,nu(n,i),Al(i,d,null,a);var E=i.memoizedState;if(d=E.element,y.isDehydrated)if(y={element:d,isDehydrated:!1,cache:E.cache,pendingSuspenseBoundaries:E.pendingSuspenseBoundaries,transitions:E.transitions},i.updateQueue.baseState=y,i.memoizedState=y,i.flags&256){h=Nc(Error(r(423)),i),i=Th(n,i,d,a,h);break e}else if(d!==h){h=Nc(Error(r(424)),i),i=Th(n,i,d,a,h);break e}else for(Hs=It(i.stateNode.containerInfo.firstChild),Ws=i,Qn=!0,ui=null,a=Ga(i,null,d,a),i.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(qa(),d===h){i=Na(n,i,a);break e}Gs(n,i,d,a)}i=i.child}return i;case 5:return iu(i),n===null&&Gi(i),d=i.type,h=i.pendingProps,y=n!==null?n.memoizedProps:null,E=h.children,F(d,h)?E=null:y!==null&&F(d,y)&&(i.flags|=32),Ch(n,i),Gs(n,i,E,a),i.child;case 6:return n===null&&Gi(i),null;case 13:return Mh(n,i,a);case 4:return yc(i,i.stateNode.containerInfo),d=i.pendingProps,n===null?i.child=po(i,null,d,a):Gs(n,i,d,a),i.child;case 11:return d=i.type,h=i.pendingProps,h=i.elementType===d?h:yr(d,h),Sh(n,i,d,h,a);case 7:return Gs(n,i,i.pendingProps,a),i.child;case 8:return Gs(n,i,i.pendingProps.children,a),i.child;case 12:return Gs(n,i,i.pendingProps.children,a),i.child;case 10:e:{if(d=i.type._context,h=i.pendingProps,y=i.memoizedProps,E=h.value,yn($l,d._currentValue),d._currentValue=E,y!==null)if(Kn(y.value,E)){if(y.children===h.children&&!$s.current){i=Na(n,i,a);break e}}else for(y=i.child,y!==null&&(y.return=i);y!==null;){var q=y.dependencies;if(q!==null){E=y.child;for(var J=q.firstContext;J!==null;){if(J.context===d){if(y.tag===1){J=Xi(-1,a&-a),J.tag=2;var ye=y.updateQueue;if(ye!==null){ye=ye.shared;var Oe=ye.pending;Oe===null?J.next=J:(J.next=Oe.next,Oe.next=J),ye.pending=J}}y.lanes|=a,J=y.alternate,J!==null&&(J.lanes|=a),pc(y.return,a,i),q.lanes|=a;break}J=J.next}}else if(y.tag===10)E=y.type===i.type?null:y.child;else if(y.tag===18){if(E=y.return,E===null)throw Error(r(341));E.lanes|=a,q=E.alternate,q!==null&&(q.lanes|=a),pc(E,a,i),E=y.sibling}else E=y.child;if(E!==null)E.return=y;else for(E=y;E!==null;){if(E===i){E=null;break}if(y=E.sibling,y!==null){y.return=E.return,E=y;break}E=E.return}y=E}Gs(n,i,h.children,a),i=i.child}return i;case 9:return h=i.type,d=i.pendingProps.children,wa(i,a),h=qs(h),d=d(h),i.flags|=1,Gs(n,i,d,a),i.child;case 14:return d=i.type,h=yr(d,i.pendingProps),h=yr(d.type,h),jh(n,i,d,h,a);case 15:return kh(n,i,i.type,i.pendingProps,a);case 17:return d=i.type,h=i.pendingProps,h=i.elementType===d?h:yr(d,h),Ju(n,i),i.tag=1,os(d)?(n=!0,Hi(i)):n=!1,wa(i,a),ja(i,d,h),df(i,d,h,a),pf(null,i,d,!0,n,a);case 19:return zh(n,i,a);case 22:return Nh(n,i,a)}throw Error(r(156,i.tag))};function rp(n,i){return ht(n,i)}function ux(n,i,a,d){this.tag=n,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Qi(n,i,a,d){return new ux(n,i,a,d)}function Lf(n){return n=n.prototype,!(!n||!n.isReactComponent)}function dx(n){if(typeof n=="function")return Lf(n)?1:0;if(n!=null){if(n=n.$$typeof,n===Te)return 11;if(n===se)return 14}return 2}function sl(n,i){var a=n.alternate;return a===null?(a=Qi(n.tag,i,n.key,n.mode),a.elementType=n.elementType,a.type=n.type,a.stateNode=n.stateNode,a.alternate=n,n.alternate=a):(a.pendingProps=i,a.type=n.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=n.flags&14680064,a.childLanes=n.childLanes,a.lanes=n.lanes,a.child=n.child,a.memoizedProps=n.memoizedProps,a.memoizedState=n.memoizedState,a.updateQueue=n.updateQueue,i=n.dependencies,a.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},a.sibling=n.sibling,a.index=n.index,a.ref=n.ref,a}function ld(n,i,a,d,h,y){var E=2;if(d=n,typeof n=="function")Lf(n)&&(E=1);else if(typeof n=="string")E=5;else e:switch(n){case V:return Bl(a.children,h,y,i);case Z:E=8,h|=8;break;case ge:return n=Qi(12,a,i,h|2),n.elementType=ge,n.lanes=y,n;case oe:return n=Qi(13,a,i,h),n.elementType=oe,n.lanes=y,n;case I:return n=Qi(19,a,i,h),n.elementType=I,n.lanes=y,n;case ce:return cd(a,h,y,i);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case xe:E=10;break e;case ke:E=9;break e;case Te:E=11;break e;case se:E=14;break e;case Q:E=16,d=null;break e}throw Error(r(130,n==null?n:typeof n,""))}return i=Qi(E,a,i,h),i.elementType=n,i.type=d,i.lanes=y,i}function Bl(n,i,a,d){return n=Qi(7,n,d,i),n.lanes=a,n}function cd(n,i,a,d){return n=Qi(22,n,d,i),n.elementType=ce,n.lanes=a,n.stateNode={isHidden:!1},n}function Pf(n,i,a){return n=Qi(6,n,null,i),n.lanes=a,n}function If(n,i,a){return i=Qi(4,n.children!==null?n.children:[],n.key,i),i.lanes=a,i.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},i}function fx(n,i,a,d,h){this.tag=i,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qe(0),this.expirationTimes=Qe(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qe(0),this.identifierPrefix=d,this.onRecoverableError=h,this.mutableSourceEagerHydrationData=null}function Of(n,i,a,d,h,y,E,q,J){return n=new fx(n,i,a,q,J),i===1?(i=1,y===!0&&(i|=8)):i=0,y=Qi(3,null,null,i),n.current=y,y.stateNode=n,y.memoizedState={element:d,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},_c(y),n}function mx(n,i,a){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:te,key:d==null?null:""+d,children:n,containerInfo:i,implementation:a}}function sp(n){if(!n)return sr;n=n._reactInternals;e:{if(Bn(n)!==n||n.tag!==1)throw Error(r(170));var i=n;do{switch(i.tag){case 3:i=i.stateNode.context;break e;case 1:if(os(i.type)){i=i.stateNode.__reactInternalMemoizedMergedChildContext;break e}}i=i.return}while(i!==null);throw Error(r(171))}if(n.tag===1){var a=n.type;if(os(a))return Gu(n,a,i)}return i}function ip(n,i,a,d,h,y,E,q,J){return n=Of(a,d,!0,n,h,y,E,q,J),n.context=sp(null),a=n.current,d=Ys(),h=nl(a),y=Xi(d,h),y.callback=i??null,_o(a,y,h),n.current.lanes=h,mr(n,h,d),hi(n,d),n}function ud(n,i,a,d){var h=i.current,y=Ys(),E=nl(h);return a=sp(a),i.context===null?i.context=a:i.pendingContext=a,i=Xi(y,E),i.payload={element:n},d=d===void 0?null:d,d!==null&&(i.callback=d),n=_o(h,i,E),n!==null&&(bo(n,h,E,y),Ml(n,h,E)),E}function dd(n){if(n=n.current,!n.child)return null;switch(n.child.tag){case 5:return n.child.stateNode;default:return n.child.stateNode}}function op(n,i){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var a=n.retryLane;n.retryLane=a!==0&&a<i?a:i}}function Ff(n,i){op(n,i),(n=n.alternate)&&op(n,i)}function hx(){return null}var ap=typeof reportError=="function"?reportError:function(n){console.error(n)};function Df(n){this._internalRoot=n}fd.prototype.render=Df.prototype.render=function(n){var i=this._internalRoot;if(i===null)throw Error(r(409));ud(n,i,null,null)},fd.prototype.unmount=Df.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var i=n.containerInfo;Ol(function(){ud(null,n,null,null)}),i[Mr]=null}};function fd(n){this._internalRoot=n}fd.prototype.unstable_scheduleHydration=function(n){if(n){var i=Qs();n={blockedOn:null,target:n,priority:i};for(var a=0;a<Pr.length&&i!==0&&i<Pr[a].priority;a++);Pr.splice(a,0,n),a===0&&ie(n)}};function Bf(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function md(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11&&(n.nodeType!==8||n.nodeValue!==" react-mount-point-unstable "))}function lp(){}function px(n,i,a,d,h){if(h){if(typeof d=="function"){var y=d;d=function(){var ye=dd(E);y.call(ye)}}var E=ip(i,d,n,0,null,!1,!1,"",lp);return n._reactRootContainer=E,n[Mr]=E.current,ki(n.nodeType===8?n.parentNode:n),Ol(),E}for(;h=n.lastChild;)n.removeChild(h);if(typeof d=="function"){var q=d;d=function(){var ye=dd(J);q.call(ye)}}var J=Of(n,0,!1,null,null,!1,!1,"",lp);return n._reactRootContainer=J,n[Mr]=J.current,ki(n.nodeType===8?n.parentNode:n),Ol(function(){ud(i,J,a,d)}),J}function hd(n,i,a,d,h){var y=a._reactRootContainer;if(y){var E=y;if(typeof h=="function"){var q=h;h=function(){var J=dd(E);q.call(J)}}ud(i,E,n,h)}else E=px(a,i,n,h,d);return dd(E)}Ri=function(n){switch(n.tag){case 3:var i=n.stateNode;if(i.current.memoizedState.isDehydrated){var a=Zr(i.pendingLanes);a!==0&&(es(i,a|1),hi(i,Nn()),(Sn&6)===0&&($c=Nn()+500,mo()))}break;case 13:Ol(function(){var d=Yi(n,1);if(d!==null){var h=Ys();bo(d,n,1,h)}}),Ff(n,1)}},bs=function(n){if(n.tag===13){var i=Yi(n,134217728);if(i!==null){var a=Ys();bo(i,n,134217728,a)}Ff(n,134217728)}},qr=function(n){if(n.tag===13){var i=nl(n),a=Yi(n,i);if(a!==null){var d=Ys();bo(a,n,i,d)}Ff(n,i)}},Qs=function(){return cn},rr=function(n,i){var a=cn;try{return cn=n,i()}finally{cn=a}},de=function(n,i,a){switch(i){case"input":if(ze(n,a),i=a.name,a.type==="radio"&&i!=null){for(a=n;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),i=0;i<a.length;i++){var d=a[i];if(d!==n&&d.form===n.form){var h=lc(d);if(!h)throw Error(r(90));Ne(d),ze(d,h)}}}break;case"textarea":tn(n,a);break;case"select":i=a.value,i!=null&&Ot(n,!!a.multiple,i,!1)}},Mt=Af,Ft=Ol;var gx={usingClientEntryPoint:!1,Events:[ai,Wi,lc,ft,Nt,Af]},pu={findFiberByHostInstance:Es,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},_x={bundleType:pu.bundleType,version:pu.version,rendererPackageName:pu.rendererPackageName,rendererConfig:pu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:M.ReactCurrentDispatcher,findHostInstanceByFiber:function(n){return n=Rr(n),n===null?null:n.stateNode},findFiberByHostInstance:pu.findFiberByHostInstance||hx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var pd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!pd.isDisabled&&pd.supportsFiber)try{Hr=pd.inject(_x),tt=pd}catch{}}return pi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=gx,pi.createPortal=function(n,i){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Bf(i))throw Error(r(200));return mx(n,i,null,a)},pi.createRoot=function(n,i){if(!Bf(n))throw Error(r(299));var a=!1,d="",h=ap;return i!=null&&(i.unstable_strictMode===!0&&(a=!0),i.identifierPrefix!==void 0&&(d=i.identifierPrefix),i.onRecoverableError!==void 0&&(h=i.onRecoverableError)),i=Of(n,1,!1,null,null,a,!1,d,h),n[Mr]=i.current,ki(n.nodeType===8?n.parentNode:n),new Df(i)},pi.findDOMNode=function(n){if(n==null)return null;if(n.nodeType===1)return n;var i=n._reactInternals;if(i===void 0)throw typeof n.render=="function"?Error(r(188)):(n=Object.keys(n).join(","),Error(r(268,n)));return n=Rr(i),n=n===null?null:n.stateNode,n},pi.flushSync=function(n){return Ol(n)},pi.hydrate=function(n,i,a){if(!md(i))throw Error(r(200));return hd(null,n,i,!0,a)},pi.hydrateRoot=function(n,i,a){if(!Bf(n))throw Error(r(405));var d=a!=null&&a.hydratedSources||null,h=!1,y="",E=ap;if(a!=null&&(a.unstable_strictMode===!0&&(h=!0),a.identifierPrefix!==void 0&&(y=a.identifierPrefix),a.onRecoverableError!==void 0&&(E=a.onRecoverableError)),i=ip(i,null,n,1,a??null,h,!1,y,E),n[Mr]=i.current,ki(n),d)for(n=0;n<d.length;n++)a=d[n],h=a._getVersion,h=h(a._source),i.mutableSourceEagerHydrationData==null?i.mutableSourceEagerHydrationData=[a,h]:i.mutableSourceEagerHydrationData.push(a,h);return new fd(i)},pi.render=function(n,i,a){if(!md(i))throw Error(r(200));return hd(null,n,i,!1,a)},pi.unmountComponentAtNode=function(n){if(!md(n))throw Error(r(40));return n._reactRootContainer?(Ol(function(){hd(null,null,n,!1,function(){n._reactRootContainer=null,n[Mr]=null})}),!0):!1},pi.unstable_batchedUpdates=Af,pi.unstable_renderSubtreeIntoContainer=function(n,i,a,d){if(!md(a))throw Error(r(200));if(n==null||n._reactInternals===void 0)throw Error(r(38));return hd(n,i,a,!1,d)},pi.version="18.3.1-next-f1338f8080-20240426",pi}var gp;function Bg(){if(gp)return Hf.exports;gp=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Hf.exports=Nx(),Hf.exports}var _p;function Cx(){if(_p)return gd;_p=1;var e=Bg();return gd.createRoot=e.createRoot,gd.hydrateRoot=e.hydrateRoot,gd}var Ex=Cx();const $x=Xm(Ex);function Ug(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Wg(e){return Array.isArray(e)}function Tx(e){const t=e.trim();if(!t)return e;if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e}function Mx(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}async function Ax(e){const t=String(e||"");if(t)try{await navigator.clipboard.writeText(t)}catch{const r=document.createElement("textarea");r.value=t,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Oc({kind:e,children:t}){return s.jsx("span",{className:`json-token ${e}`,children:t})}function zx(e){return e===null?s.jsx(Oc,{kind:"null",children:"null"}):typeof e=="string"?s.jsx(Oc,{kind:"string",children:JSON.stringify(e)}):typeof e=="number"?s.jsx(Oc,{kind:"number",children:String(e)}):typeof e=="boolean"?s.jsx(Oc,{kind:"boolean",children:e?"true":"false"}):s.jsx(Oc,{kind:"string",children:JSON.stringify(String(e))})}function Rx(e){return Wg(e)?e.length===1?"1 item":`${e.length} items`:Ug(e)?Object.keys(e).length===1?"1 key":`${Object.keys(e).length} keys`:""}function Hg(e){const{label:t,value:r,depth:o,collapse_after_depth:l,trailing_comma:u}=e,c=o*14,f=Ug(r),m=Wg(r),_=f||m,g=o<l,[x,v]=p.useState(g),w=t?s.jsxs(s.Fragment,{children:[s.jsx(Oc,{kind:"key",children:JSON.stringify(t)}),": "]}):null;if(!_)return s.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:c},children:[w,zx(r),u?",":""]});const j=m?"[":"{",b=m?"]":"}",T=Rx(r),A=x?`${j}`:`${j}…${b}${T?` (${T})`:""}`,W=m?r.map((H,M)=>({key:String(M),label:void 0,value:H})):Object.entries(r).map(([H,M])=>({key:H,label:H,value:M}));return s.jsxs("details",{className:"json-viewer__details",open:x,onToggle:H=>v(H.currentTarget.open),children:[s.jsxs("summary",{className:"json-viewer__summary",style:{paddingLeft:c},children:[w,s.jsx("span",{className:"json-viewer__caret","aria-hidden":"true",children:x?"▾":"▸"}),s.jsx("span",{className:"json-viewer__punct",children:A}),!x&&u?s.jsx("span",{className:"json-viewer__punct",children:","}):null]}),x?s.jsx("div",{className:"json-viewer__children",children:W.length===0?s.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:c},children:[s.jsx("span",{className:"json-viewer__punct",children:b}),u?",":""]}):s.jsxs(s.Fragment,{children:[W.map((H,M)=>{const G=M===W.length-1;return s.jsx(Hg,{label:H.label,value:H.value,depth:o+1,collapse_after_depth:l,trailing_comma:!G},`${o}:${t||"root"}:${H.key}`)}),s.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:c},children:[s.jsx("span",{className:"json-viewer__punct",children:b}),u?",":""]})]})}):null]})}function qg(e){const{value:t,className:r,showCopy:o=!0}=e,l=Number.isFinite(e.collapseAfterDepth??NaN)?Number(e.collapseAfterDepth):3,u=p.useMemo(()=>typeof t=="string"?Tx(t):t,[t]),c=p.useMemo(()=>Mx(t),[t]),f=["json-viewer","run-details-output",r].filter(Boolean).join(" ");return s.jsxs("div",{className:f,children:[o?s.jsx("div",{className:"json-viewer__toolbar",children:s.jsx("button",{type:"button",className:"modal-button json-viewer__copy",onClick:()=>void Ax(c),children:"Copy"})}):null,s.jsx("div",{className:"json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:s.jsx(Hg,{value:u,depth:0,collapse_after_depth:l,trailing_comma:!1})})]})}function Gf(e){const t=[],r=String(e??"");let o=0,l="";const u=()=>{l&&(t.push(l),l="")};for(;o<r.length;){const c=r[o];if(c==="`"){const f=r.indexOf("`",o+1);if(f!==-1){u(),t.push(s.jsx("code",{children:r.slice(o+1,f)},`code:${o}`)),o=f+1;continue}}if(c==="*"&&r[o+1]==="*"){const f=r.indexOf("**",o+2);if(f!==-1){u(),t.push(s.jsx("strong",{children:r.slice(o+2,f)},`bold:${o}`)),o=f+2;continue}}l+=c,o+=1}return u(),t}function Lx(e){return String(e??"").replace(/\r\n/g,`
|
|
41
|
-
`).replace(/\r/g,`
|
|
42
|
-
`).split(`
|
|
43
|
-
`)}function Px({text:e,className:t}){const r=Lx(e),o=[];let l=0;for(;l<r.length;){const c=r[l],f=String(c??"");if(!f.trim()){l+=1;continue}if(f.trim().startsWith("```")){const v=f.trim().replace(/```/g,"").trim(),w=[];for(l+=1;l<r.length&&!String(r[l]??"").trim().startsWith("```");)w.push(String(r[l]??"")),l+=1;l<r.length&&(l+=1);const j=w.join(`
|
|
44
|
-
`);o.push(s.jsx("pre",{className:"mf-md_pre",children:s.jsx("code",{className:v?`language-${v}`:void 0,children:j})},`pre:${l}`));continue}const m=f.match(/^(#{1,3})\s+(.*)$/);if(m){const x=m[1].length,v=m[2]||"",w=Gf(v);x===1?o.push(s.jsx("h1",{children:w},`h1:${l}`)):x===2?o.push(s.jsx("h2",{children:w},`h2:${l}`)):o.push(s.jsx("h3",{children:w},`h3:${l}`)),l+=1;continue}const _=x=>{const v=x.trimStart();return v.startsWith("- ")||v.startsWith("* ")};if(_(f)){const x=[];for(;l<r.length&&_(String(r[l]??""));){const v=String(r[l]??"").trimStart();x.push(v.slice(2)),l+=1}o.push(s.jsx("ul",{className:"mf-md_ul",children:x.map((v,w)=>s.jsx("li",{children:Gf(v)},`li:${l}:${w}`))},`ul:${l}`));continue}const g=[];for(;l<r.length&&String(r[l]??"").trim();)g.push(String(r[l]??"")),l+=1;o.push(s.jsx("p",{className:"mf-md_p",children:g.map((x,v)=>s.jsxs(Se.Fragment,{children:[Gf(x),v<g.length-1?s.jsx("br",{}):null]},`pl:${l}:${v}`))},`p:${l}`))}const u=["mf-md",t].filter(Boolean).join(" ");return s.jsx("div",{className:u,children:o})}async function Ix(e){const t=String(e||"");if(t)try{await navigator.clipboard.writeText(t)}catch{const r=document.createElement("textarea");r.value=t,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Ks(e){return!e||typeof e!="object"?null:e}function bm(e,t){const r=String(e||"").replace(/\s+/g," ").trim();return r?r.length<=t?r:`${r.slice(0,Math.max(0,t-1)).trimEnd()}…`:""}function yp(e){const t=Ks(e);if(!t)return null;const r=typeof t.role=="string"?String(t.role).trim():"",o=typeof t.content=="string"?String(t.content):"";if(!r||o==="")return null;const l=typeof t.name=="string"?String(t.name).trim():"";return{role:r,content:o,name:l||void 0}}function Ox(e){if(Array.isArray(e)){if(e.length===0)return null;const r=[];for(const o of e){const l=yp(o);if(!l)return null;r.push(l)}return r}const t=yp(e);return t?[t]:null}function Fx(e){const t=String(e||"").trim();if(!t)return null;const r=t[0],o=t[t.length-1];if(!(r==="{"&&o==="}"||r==="["&&o==="]"))return null;try{const u=JSON.parse(t);return u&&typeof u=="object"||Array.isArray(u)?u:null}catch{return null}}function Dx(e){const t=String(e||"");return t.trim()?!!(t.includes("```")||/\n\s*#{1,3}\s+/.test(t)||/\n\s*[-*]\s+/.test(t)||/\n\s*\d+[\.\)]\s+/.test(t)||t.includes("**")||t.includes("`")):!1}function xp({text:e}){const t=String(e||""),r=Fx(t);if(r!==null)return s.jsx(qg,{value:r});const o=t.trim();return o.startsWith("{")||o.startsWith("[")?s.jsx("pre",{className:"run-details-output",children:t||"(none)"}):t.includes(`
|
|
45
|
-
`)||Dx(t)?s.jsx("div",{className:"run-details-output",children:s.jsx(Px,{text:t})}):s.jsx("pre",{className:"run-details-output",children:t||"(none)"})}function Vg({value:e}){if(e==null)return s.jsx("pre",{className:"run-details-output",children:"(none)"});const t=Ox(e);return t?s.jsx("div",{className:"mf-msg-list",children:t.map((r,o)=>s.jsxs("div",{className:"mf-msg",children:[s.jsxs("div",{className:"mf-msg-meta",children:[s.jsx("span",{className:`mf-msg-role ${r.role}`,children:r.role}),r.name?s.jsx("span",{className:"mf-msg-name",children:r.name}):null]}),s.jsx("div",{className:"mf-msg-content",children:s.jsx(xp,{text:r.content})})]},`${r.role}:${o}`))}):typeof e=="string"?s.jsx(xp,{text:e}):s.jsx(qg,{value:e})}function Gg(e){const t=e.effect;return!t||typeof t!="object"?null:t}function Jl(e){const t=Gg(e);return(t&&typeof t.type=="string"?t.type:"")||"effect"}function Qd(e){const t=Gg(e),r=t==null?void 0:t.payload;return!r||typeof r!="object"?null:r}function Km(e){const t=e.result;return!t||typeof t!="object"?null:t}function Yg(e){if(Jl(e)!=="tool_calls")return[];const r=Km(e),o=r&&Array.isArray(r.results)?r.results:null;if(!o)return[];const l=[];for(const u of o){const c=Ks(u);if(!c)continue;const f=typeof c.name=="string"?c.name.trim():"";f&&l.push({call_id:typeof c.call_id=="string"?c.call_id:void 0,name:f,success:!!c.success,output:c.output,error:c.error})}return l}function Xg(e){if(Jl(e)!=="tool_calls")return[];const r=Qd(e),o=r&&Array.isArray(r.tool_calls)?r.tool_calls:null;if(!o)return[];const l=[];for(const u of o){const c=Ks(u);if(!c)continue;const f=typeof c.name=="string"?c.name.trim():"";if(!f)continue;const m=Ks(c.args)||Ks(c.arguments)||{};l.push({call_id:typeof c.call_id=="string"?c.call_id:void 0,name:f,args:m})}return l}function Zd(e){const t=e.error;if(typeof t=="string")return t.trim();const r=Ks(t);if(r){const o=typeof r.message=="string"?r.message.trim():"",l=typeof r.stack=="string"?r.stack.trim():"";return o||l||""}return""}function Kg(e){if(!e)return"";const t=e.reasoning;if(typeof t=="string")return t.trim();const r=Ks(t);return r&&typeof r.text=="string"?r.text.trim():""}function Jg(e){const t=Jl(e),r=Qd(e),o=Km(e),l=(u,c)=>{const f=String(u||"").replace(/\s+/g," ").trim();return f?f.length<=c?f:`${f.slice(0,Math.max(0,c-1)).trimEnd()}…`:""};if(t==="llm_call"){const u=o==null?void 0:o.content,c=typeof u=="string"?u.replace(/\s+/g," ").trim():"",f=Kg(o),m=Array.isArray(o==null?void 0:o.tool_calls)?o.tool_calls:null,g=!!(m&&m.length>0)?f||c:c||f;return l(g,220)}if(t==="tool_calls"){const u=o&&Array.isArray(o.results)?o.results:null;if(!u)return"";const c=u.filter(f=>{var m;return((m=Ks(f))==null?void 0:m.success)===!1});return c.length>0?`${c.length} tool call(s) failed`:`${u.length} tool call(s) executed`}return t==="ask_user"&&r&&typeof r.prompt=="string"?String(r.prompt).trim():""}function Dd(e){const t=typeof e.status=="string"?e.status:"unknown";return t==="failed"||Zd(e.step)?"failed":t}function Bx(e){const t=e.map(r=>Dd(r));return t.some(r=>r==="failed")?"failed":t.some(r=>r==="waiting")?"waiting":t.some(r=>r==="running")?"running":"completed"}function Yf(e){return e.filter(t=>!t.hidden)}function Ux(e){const t=Jl(e),r=Zd(e);return Yf(t==="llm_call"?[{id:"system",label:"System"},{id:"user",label:"User"},{id:"tools",label:"Tools"},{id:"response",label:"Response"},{id:"reasoning",label:"Reasoning"},{id:"errors",label:"Errors",hidden:!r},{id:"raw",label:"Raw"}]:t==="tool_calls"?[{id:"tools",label:"Tools"},{id:"errors",label:"Errors",hidden:!r},{id:"raw",label:"Raw"}]:[{id:"errors",label:"Errors",hidden:!r},{id:"raw",label:"Raw"}])}function Wx(e){const t=Jl(e);return t==="llm_call"?"user":t==="tool_calls"?"tools":Zd(e)?"errors":"raw"}function Hx(e){const t=new Map,r=Qd(e),o=r&&Array.isArray(r.tools)?r.tools:null;if(!o)return t;for(const l of o){const u=Ks(l);if(!u)continue;const c=typeof u.name=="string"?u.name.trim():"";if(!c)continue;const m=(Array.isArray(u.parameters)?u.parameters:[]).map(_=>{const g=Ks(_);return(g&&typeof g.id=="string"?g.id.trim():"")||""}).filter(Boolean);t.set(c,m)}return t}function Qg(e,t,r){const o=Object.keys(t||{}),l=r&&r.length?r.filter(m=>o.includes(m)):[],u=o.filter(m=>!l.includes(m)).sort(),c=[...l,...u],f=c.slice(0,5).map(m=>{const _=t[m];return typeof _=="string"?`${m}=${JSON.stringify(bm(_,42))}`:typeof _=="number"||typeof _=="boolean"?`${m}=${String(_)}`:_==null?`${m}=null`:`${m}=${bm(JSON.stringify(_),42)}`});return`${e}(${f.join(", ")}${c.length>5?", …":""})`}function qx(e){const t=e.ts?String(e.ts):"";if(!t)return"";try{const r=new Date(t);return Number.isFinite(r.getTime())?r.toLocaleTimeString():""}catch{return""}}function Xf({item:e,label:t,toolDefs:r}){const o=e.step,l=Jl(o),u=Ux(o),c=Wx(o),[f,m]=p.useState(c),_=Qd(o),g=Km(o),x=Zd(o),v=qx(e),w=e.nodeId?String(e.nodeId):"",j=e.runId?String(e.runId):"",b=l==="tool_calls"?Xg(o):[],T=l==="tool_calls"?Yg(o):[],A=b.map(V=>Qg(V.name,V.args,r.get(V.name)||null)),H=(()=>{if(f==="raw")return o;if(f==="errors")return x||null;if(l==="llm_call"){const V=_||{},Z=typeof V.system_prompt=="string"?String(V.system_prompt):"",ge=typeof V.prompt=="string"?String(V.prompt):"",xe=Ks(g==null?void 0:g.metadata),ke=xe?Ks(xe._runtime_observability):null,Te=ke?Ks(ke.llm_generate_kwargs):null,oe=Te&&Array.isArray(Te.messages)?Te.messages:null,I=xe?Ks(xe._provider_request):null,se=I?Ks(I.payload):null,Q=se&&Array.isArray(se.messages)?se.messages:null,ce=Array.isArray(V.messages)?V.messages:[],R=oe||Q||ce,L=R.filter($=>String(($==null?void 0:$.role)||"").trim()==="system"),O=R.filter($=>String(($==null?void 0:$.role)||"").trim()==="user");if(f==="system"){const $=[],D=Z.trim(),ne=!!D&&L.some(ae=>typeof(ae==null?void 0:ae.content)=="string"&&String(ae.content).trim()===D);return D&&!ne&&$.push({role:"system",name:"system_prompt",content:Z}),$.push(...L),$}if(f==="user"){const $=[],D=ge.trim(),ne=!!D&&O.some(ae=>typeof(ae==null?void 0:ae.content)=="string"&&String(ae.content).trim()===D);return D&&!ne&&$.push({role:"user",name:"prompt",content:ge}),$.push(...O),$}if(f==="tools")return V.tools||[];if(f==="response"){const $=g==null?void 0:g.content;if(typeof $=="string"&&$.trim())return $;const D=g==null?void 0:g.output;if(D!==void 0)return D;const ne=Array.isArray(g==null?void 0:g.tool_calls)?g.tool_calls:null;return ne&&ne.length?{tool_calls:ne}:g}if(f==="reasoning")return Kg(g)||null}return l==="tool_calls"&&f==="tools"?{tool_calls:b,tool_signatures:A,results:T}:o})(),M=Jg(o),G=Dd(e),te=G==="completed"?"OK":G==="failed"?"ERROR":G==="waiting"?"WAITING":G.toUpperCase();return s.jsxs("details",{className:`agent-trace-entry ${G}`,open:!1,children:[s.jsxs("summary",{className:"agent-trace-summary",children:[s.jsx("span",{className:`agent-trace-status ${G}`,children:te}),s.jsx("span",{className:"agent-cycle-stage",children:t}),s.jsx("span",{className:"agent-trace-kind",children:l}),v?s.jsx("span",{className:"agent-trace-node",children:v}):null,w?s.jsx("span",{className:"agent-trace-node",children:w}):null,j?s.jsx("span",{className:"agent-trace-run",children:j}):null]}),M?s.jsx("div",{className:"agent-trace-preview",children:M}):null,s.jsxs("div",{className:"agent-trace-body",children:[s.jsx("div",{className:"agent-trace-tabs",children:u.map(V=>s.jsx("button",{type:"button",className:`agent-trace-tab ${V.id===f?"active":""}`,onClick:()=>m(V.id),children:V.label},V.id))}),s.jsx(Vg,{value:H})]})]})}function Vx({acts:e}){const t=e.flatMap(u=>Yg(u.step)),r=t.filter(u=>u.success===!1),o=r.length?`${r.length} error(s)`:t.length?`${t.length} tool result(s)`:"(none)",l=r.length?"failed":"completed";return s.jsxs("details",{className:`agent-trace-entry ${l}`,open:!1,children:[s.jsxs("summary",{className:"agent-trace-summary",children:[s.jsx("span",{className:`agent-trace-status ${l}`,children:r.length?"ERROR":"OK"}),s.jsx("span",{className:"agent-cycle-stage",children:"observe"}),s.jsx("span",{className:"agent-trace-kind",children:"OBSERVATIONS"}),s.jsx("span",{className:"agent-trace-preview-inline",children:o})]}),s.jsx("div",{className:"agent-observe-body",children:t.length===0?s.jsx("div",{className:"agent-observe-empty",children:"(no tool results)"}):s.jsx("div",{className:"agent-observe-results",children:t.map((u,c)=>{const f=u.success?"completed":"failed",m=u.success?"OK":"ERROR",_=u.success?u.output:u.error??u.output;return s.jsxs("details",{className:`agent-observe-result ${f}`,open:!1,children:[s.jsxs("summary",{className:"agent-observe-summary",children:[s.jsx("span",{className:`agent-trace-status ${f}`,children:m}),s.jsx("span",{className:"agent-observe-name",children:u.name}),u.call_id?s.jsx("span",{className:"agent-observe-callid",children:u.call_id}):null]}),s.jsx(Vg,{value:_})]},`${u.name}:${u.call_id||""}:${c}`)})})})]})}function Gx({items:e,subRunId:t,title:r,subtitle:o,onOpenSubRun:l,defaultOpenLatest:u=!0}){const c=p.useMemo(()=>{const x=Array.isArray(e)?e.slice():[];return x.sort((v,w)=>{const j=v.ts?new Date(v.ts).getTime():NaN,b=w.ts?new Date(w.ts).getTime():NaN;return Number.isFinite(j)&&Number.isFinite(b)?j-b:0}),x},[e]),f=p.useMemo(()=>{const x=[];let v=null,w=0;for(const j of c){const b=Jl(j.step);if(b==="llm_call"){w+=1,v={id:`cycle:${j.runId}:${w}:${j.ts||""}`,index:w,items:[j],think:j,acts:[],others:[],status:Dd(j),ts:j.ts},x.push(v);continue}v||(w+=1,v={id:`cycle:${j.runId}:${w}:${j.ts||""}`,index:w,items:[],think:null,acts:[],others:[],status:Dd(j),ts:j.ts},x.push(v)),v.items.push(j),b==="tool_calls"?v.acts.push(j):v.others.push(j),v.status=Bx(v.items)}return x},[c]),m=typeof r=="string"&&r.trim()?r.trim():"Agent calls",_=typeof o=="string"&&o.trim()?o.trim():"Live per-effect trace (LLM/tool calls).",g=typeof t=="string"?t.trim():"";return s.jsxs("div",{className:"agent-trace-panel",children:[s.jsxs("div",{className:"agent-trace-header",children:[s.jsx("div",{className:"agent-trace-title",children:m}),s.jsxs("div",{className:"agent-trace-subtitle",children:[_,g?s.jsxs("span",{className:"agent-trace-subrun",children:[" ","sub_run_id: ",g,s.jsx("button",{type:"button",className:"agent-trace-copy",onClick:x=>{x.stopPropagation(),Ix(g)},title:`Copy sub_run_id: ${g}`,"aria-label":"Copy sub run id",children:"⧉"}),l?s.jsx("button",{type:"button",className:"agent-trace-open",onClick:x=>{x.stopPropagation(),l()},title:"Open sub-run",children:"Open"}):null]}):null]})]}),c.length===0?s.jsx("div",{className:"agent-trace-empty",children:"No trace entries yet."}):s.jsxs("div",{className:"agent-cycle-list",children:[s.jsxs("div",{className:"agent-cycle-meta",children:[f.length," cycle(s)"]}),f.map(x=>{const v=x.status,w=v==="completed"?"OK":v==="failed"?"ERROR":v==="waiting"?"WAITING":v.toUpperCase(),j=v==="completed"?"✓":v==="failed"?"✗":"",b=j?`${j} ${w}`:w,T=x.think?Jg(x.think.step):"",A=x.think?Hx(x.think.step):new Map,H=x.acts.flatMap(G=>Xg(G.step)).map(G=>Qg(G.name,G.args,A.get(G.name)||null)),M=u&&x.index===f.length;return s.jsxs("details",{className:`agent-cycle ${v}`,open:M,children:[s.jsxs("summary",{className:"agent-cycle-summary",children:[s.jsx("span",{className:`agent-trace-status ${v}`,children:b}),s.jsx("span",{className:"agent-cycle-label",children:"cycle"}),s.jsxs("span",{className:"agent-cycle-index",children:["#",x.index]}),H.length?s.jsxs("span",{className:"agent-trace-badges",children:[H.slice(0,3).map(G=>s.jsx("span",{className:"run-metric-badge metric-tool",title:G,children:bm(G,62)},G)),H.length>3?s.jsxs("span",{className:"run-metric-badge metric-tool",children:["+",H.length-3]}):null]}):null,s.jsx("span",{className:"agent-cycle-spacer"}),T?s.jsx("span",{className:"agent-cycle-preview",children:T}):null]}),s.jsxs("div",{className:"agent-cycle-body",children:[x.think?s.jsx(Xf,{item:x.think,label:"think",toolDefs:A}):null,x.acts.map(G=>s.jsx(Xf,{item:G,label:"act",toolDefs:A},G.id)),s.jsx(Vx,{acts:x.acts}),x.others.length?s.jsxs("div",{className:"agent-cycle-others",children:[s.jsx("div",{className:"agent-cycle-others-title",children:"other"}),x.others.map(G=>s.jsx(Xf,{item:G,label:"other",toolDefs:A},G.id))]}):null]})]},x.id)})]})]})}function No(e){return typeof e=="string"?e.trim():""}function Yx(e){var t;return No(e.run_id)||No((t=e.record)==null?void 0:t.run_id)}function Sm(e){return No(e==null?void 0:e.node_id)}const Xx=new Set(["reason","act","observe","thought","think"]);function jm(e){const t=No(e);if(!t.includes("::"))return t;const r=t.split("::");if(r.length<2)return t;const o=String(r[r.length-1]||"").trim().toLowerCase();return Xx.has(o)?r.slice(0,-1).join("::"):t}function Zg(e){var t;return No((t=e==null?void 0:e.effect)==null?void 0:t.type)}function Kx(e){return No(e==null?void 0:e.status)||"unknown"}function vp(e){return No(e==null?void 0:e.step_id)}function Jx(e){return No(e==null?void 0:e.ended_at)||No(e==null?void 0:e.started_at)}function Qx(e){const t=new Map,r=new Map;for(const l of e){const u=jm(Sm(l));if(!u)continue;const c=Zg(l);c==="llm_call"?t.set(u,(t.get(u)||0)+1):c==="tool_calls"&&r.set(u,(r.get(u)||0)+1)}const o=l=>{let u="",c=-1;for(const[f,m]of l)m>c&&(u=f,c=m);return u};return o(t)||o(r)||""}function Zx(e,t){const r=No(t.run_id);if(!r)return{run_id:"",node_id:"",items:[]};const o=(Array.isArray(e)?e:[]).filter(w=>w&&w.record&&Yx(w)===r).map(w=>({cursor:w.cursor,record:w.record})).sort((w,j)=>(w.cursor||0)-(j.cursor||0)),l=o.map(w=>w.record),u=jm(No(t.node_id)),c=u||Qx(l),f=new Set(["llm_call","tool_calls","ask_user","answer_user"]);let m=o.filter(w=>f.has(Zg(w.record)));u&&(m=m.filter(w=>jm(Sm(w.record))===u));const _=new Map,g=[];for(const w of m){const j=vp(w.record);if(!j){g.push(w);continue}const b=_.get(j);(!b||(w.cursor||0)>(b.cursor||0))&&_.set(j,w)}const v=[...g,...Array.from(_.values())].sort((w,j)=>(w.cursor||0)-(j.cursor||0)).map(w=>{const j=w.record,b=Sm(j)||"(node?)",T=Jx(j),A=vp(j);return{id:`ledger:${r}:${w.cursor}:${A||""}`,runId:r,nodeId:b,ts:T||void 0,status:Kx(j),step:j}});return{run_id:r,node_id:c,items:v}}function e_(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function t_(e){return Array.isArray(e)}function ev(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}async function tv(e){const t=String(e||"");if(t)try{await navigator.clipboard.writeText(t)}catch{const r=document.createElement("textarea");r.value=t,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Fc({kind:e,children:t}){return s.jsx("span",{className:`pc-json-token ${e}`,children:t})}function nv(e){return e===null?s.jsx(Fc,{kind:"null",children:"null"}):typeof e=="string"?s.jsx(Fc,{kind:"string",children:JSON.stringify(e)}):typeof e=="number"?s.jsx(Fc,{kind:"number",children:String(e)}):typeof e=="boolean"?s.jsx(Fc,{kind:"boolean",children:e?"true":"false"}):s.jsx(Fc,{kind:"string",children:JSON.stringify(String(e))})}function rv(e){return t_(e)?e.length===1?"1 item":`${e.length} items`:e_(e)?Object.keys(e).length===1?"1 key":`${Object.keys(e).length} keys`:""}function n_(e){const{label:t,value:r,depth:o,collapseAfterDepth:l,trailingComma:u}=e,c=o*14,f=e_(r),m=t_(r),_=f||m,g=o<l,[x,v]=p.useState(g),w=t?s.jsxs(s.Fragment,{children:[s.jsx(Fc,{kind:"key",children:JSON.stringify(t)}),": "]}):null;if(!_)return s.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:c},children:[w,nv(r),u?",":""]});const j=m?"[":"{",b=m?"]":"}",T=rv(r),A=x?`${j}`:`${j}…${b}${T?` (${T})`:""}`,W=m?r.map((H,M)=>({key:String(M),label:void 0,value:H})):Object.entries(r).map(([H,M])=>({key:H,label:H,value:M}));return s.jsxs("details",{className:"pc-json-viewer__details",open:x,onToggle:H=>v(H.currentTarget.open),children:[s.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:c},children:[w,s.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:x?"▾":"▸"}),s.jsx("span",{className:"pc-json-viewer__punct",children:A}),!x&&u?s.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),x?s.jsx("div",{className:"pc-json-viewer__children",children:W.length===0?s.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:c},children:[s.jsx("span",{className:"pc-json-viewer__punct",children:b}),u?",":""]}):s.jsxs(s.Fragment,{children:[W.map((H,M)=>{const G=M===W.length-1;return s.jsx(n_,{label:H.label,value:H.value,depth:o+1,collapseAfterDepth:l,trailingComma:!G},`${o}:${t||"root"}:${H.key}`)}),s.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:c},children:[s.jsx("span",{className:"pc-json-viewer__punct",children:b}),u?",":""]})]})}):null]})}function sv(e){const{value:t,className:r,showCopy:o=!0}=e,l=Number.isFinite(e.collapseAfterDepth??NaN)?Number(e.collapseAfterDepth):3,u=p.useMemo(()=>ev(t),[t]),c=["pc-json-viewer",r].filter(Boolean).join(" ");return s.jsxs("div",{className:c,children:[o?s.jsx("div",{className:"pc-json-viewer__toolbar",children:s.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void tv(u),children:"Copy"})}):null,s.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:s.jsx(n_,{value:t,depth:0,collapseAfterDepth:l,trailingComma:!1})})]})}function _d(e,t){const r=String(e??"");if(!t||!t.needles.length)return[r];const o=[],l=r.toLowerCase();let u=0;for(;u<r.length;){let c=-1,f="";for(let g=0;g<t.needlesLower.length;g++){const x=t.needlesLower[g];if(!x)continue;const v=l.indexOf(x,u);if(v===-1)continue;const w=t.needles[g]||"";w&&(c===-1||v<c||v===c&&w.length>f.length)&&(c=v,f=w)}if(c===-1||!f){o.push(r.slice(u));break}c>u&&o.push(r.slice(u,c));const m=t.hits===0&&t.id?t.id:void 0,_=r.slice(c,c+f.length);o.push(s.jsx("span",{id:m,className:t.className,children:_},`hl:${t.hits}`)),t.hits+=1,u=c+f.length}return o}function Ul(e,t){const r=[],o=String(e??"");let l=0,u="";const c=()=>{if(u){for(const f of _d(u,t))r.push(f);u=""}};for(;l<o.length;){const f=o[l];if(f==="`"){const m=o.indexOf("`",l+1);if(m!==-1){c();const _=o.slice(l+1,m);r.push(s.jsx("code",{children:t?_d(_,t):_},`code:${l}`)),l=m+1;continue}}if(f==="*"&&o[l+1]==="*"){const m=o.indexOf("**",l+2);if(m!==-1){c();const _=o.slice(l+2,m);r.push(s.jsx("strong",{children:t?_d(_,t):_},`bold:${l}`)),l=m+2;continue}}if(f==="*"&&o[l+1]!=="*"){const m=o.indexOf("*",l+1);if(m!==-1){c();const _=o.slice(l+1,m);r.push(s.jsx("em",{children:t?_d(_,t):_},`em:${l}`)),l=m+1;continue}}u+=f,l+=1}return c(),r}function iv(e){return String(e??"").replace(/\r\n/g,`
|
|
46
|
-
`).replace(/\r/g,`
|
|
47
|
-
`).split(`
|
|
48
|
-
`)}function wp(e){let t=String(e??"").trim();return t?(t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1)),t.split("|").map(r=>String(r??"").trim())):[]}function ov(e){let t=String(e??"").trim();if(!t)return!1;t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1));const r=t.split("|").map(o=>String(o??"").trim());return r.length<2?!1:r.every(o=>/^:?-{3,}:?$/.test(o))}function ro({text:e,className:t,highlight:r,highlights:o,highlightClassName:l,highlightId:u}){const c=iv(e),f=[],m=[];Array.isArray(o)&&m.push(...o),typeof r=="string"&&r.trim()&&m.push(r);const _=Array.from(new Set(m.map(w=>String(w??"").trim()).filter(Boolean))).filter(w=>w.length>=4),g=_.length?{needles:_,needlesLower:_.map(w=>w.toLowerCase()),className:l||"pc-md_hl",id:u,hits:0}:null;let x=0;for(;x<c.length;){const w=String(c[x]??"");if(!w.trim()){x+=1;continue}const j=w.trim();if(j==="---"||j==="___"||j==="***"||/^(-{3,}|_{3,}|\*{3,})$/.test(j)){f.push(s.jsx("hr",{className:"pc-md_hr"},`hr:${x}`)),x+=1;continue}if(w.trim().startsWith("```")){const M=w.trim().replace(/```/g,"").trim(),G=[];for(x+=1;x<c.length&&!String(c[x]??"").trim().startsWith("```");)G.push(String(c[x]??"")),x+=1;x<c.length&&(x+=1);const te=G.join(`
|
|
49
|
-
`);f.push(s.jsx("pre",{className:"pc-md_pre",children:s.jsx("code",{className:M?`language-${M}`:void 0,children:te})},`pre:${x}`));continue}const b=w.match(/^(#{1,3})\s+(.*)$/);if(b){const H=b[1].length,M=b[2]||"",G=Ul(M,g);H===1?f.push(s.jsx("h1",{children:G},`h1:${x}`)):H===2?f.push(s.jsx("h2",{children:G},`h2:${x}`)):f.push(s.jsx("h3",{children:G},`h3:${x}`)),x+=1;continue}if(w.trimStart().startsWith(">")){const H=[];for(;x<c.length&&String(c[x]??"").trimStart().startsWith(">");){const G=String(c[x]??"").trimStart();H.push(G.replace(/^>\s?/,"")),x+=1}f.push(s.jsx("blockquote",{className:"pc-md_quote",children:H.map((M,G)=>s.jsxs(Se.Fragment,{children:[Ul(M,g),G<H.length-1?s.jsx("br",{}):null]},`q:${x}:${G}`))},`quote:${x}`));continue}if(w.includes("|")&&x+1<c.length&&ov(String(c[x+1]??""))){const H=wp(w),M=Math.max(1,H.length),G=[];for(x+=2;x<c.length;){const te=String(c[x]??"");if(!te.trim()||!te.includes("|"))break;const V=wp(te),Z=[];for(let ge=0;ge<M;ge++)Z.push(V[ge]??"");G.push(Z),x+=1}f.push(s.jsx("div",{className:"pc-md_table_wrap",children:s.jsxs("table",{className:"pc-md_table",children:[s.jsx("thead",{children:s.jsx("tr",{children:H.slice(0,M).map((te,V)=>s.jsx("th",{children:Ul(te,g)},`th:${x}:${V}`))})}),s.jsx("tbody",{children:G.map((te,V)=>s.jsx("tr",{children:te.map((Z,ge)=>s.jsx("td",{children:Ul(Z,g)},`td:${x}:${V}:${ge}`))},`tr:${x}:${V}`))})]})},`table:${x}`));continue}const T=H=>/^\s*\d+\.\s+/.test(H);if(T(w)){const H=[];for(;x<c.length&&T(String(c[x]??""));){const M=String(c[x]??"");H.push(M.replace(/^\s*\d+\.\s+/,"")),x+=1}f.push(s.jsx("ol",{className:"pc-md_ol",children:H.map((M,G)=>s.jsx("li",{children:Ul(M,g)},`oli:${x}:${G}`))},`ol:${x}`));continue}const A=H=>{const M=H.trimStart();return M.startsWith("- ")||M.startsWith("* ")};if(A(w)){const H=[];for(;x<c.length&&A(String(c[x]??""));){const M=String(c[x]??"").trimStart();H.push(M.slice(2)),x+=1}f.push(s.jsx("ul",{className:"pc-md_ul",children:H.map((M,G)=>s.jsx("li",{children:Ul(M,g)},`li:${x}:${G}`))},`ul:${x}`));continue}const W=[];for(;x<c.length&&String(c[x]??"").trim();)W.push(String(c[x]??"")),x+=1;f.push(s.jsx("p",{className:"pc-md_p",children:W.map((H,M)=>s.jsxs(Se.Fragment,{children:[Ul(H,g),M<W.length-1?s.jsx("br",{}):null]},`pl:${x}:${M}`))},`p:${x}`))}const v=["pc-md",t].filter(Boolean).join(" ");return s.jsx("div",{className:v,children:f})}function r_(e){const t=String(e??"").trim();if(!t||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return null;try{return JSON.parse(t)}catch{return null}}function av(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function lv(e){const t=String(e.role||"message").trim()||"message",r=String(e.title||"").trim(),o=String(e.ts||"").trim(),l=[t];return r&&l.push(r),o&&l.push(o),l.join(" · ")}function cv(e){return e.endsWith(`
|
|
50
|
-
`)?e:`${e}
|
|
51
|
-
`}function uv(e){return String(e||"").trimStart().startsWith("```")}function dv(e,t){const o=[`# ${String((t==null?void 0:t.heading)||"Chat").trim()||"Chat"}`,""];for(const l of e){const u=lv(l);o.push(`## ${u}`,"");const c=String(l.content||""),f=r_(c);f!==null&&!uv(c)?o.push("```json",av(f).trimEnd(),"```",""):o.push(cv(c).trimEnd(),""),o.push("---","")}for(;o.length&&!o[o.length-1].trim();)o.pop();return o.length&&o[o.length-1]==="---"&&o.pop(),`${o.join(`
|
|
52
|
-
`).trimEnd()}
|
|
53
|
-
`}async function Xs(e){const t=String(e||"");if(!t)return!1;try{return await navigator.clipboard.writeText(t),!0}catch{try{const r=document.createElement("textarea");return r.value=t,r.style.position="fixed",r.style.left="-9999px",document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r),!0}catch{return!1}}}function fv(e){const t=String(e.filename||"").trim()||"export.txt",r=String(e.text||""),o=String(e.mime),l=new Blob([r],{type:o}),u=URL.createObjectURL(l),c=document.createElement("a");c.href=u,c.download=t,document.body.appendChild(c),c.click(),c.remove(),window.setTimeout(()=>URL.revokeObjectURL(u),1e3)}function mv(e){const t=String(e.text??""),r=r_(t),o=["pc-chat-content",e.className].filter(Boolean).join(" ");return r!==null?s.jsx("div",{className:o,children:s.jsx(sv,{value:r,collapseAfterDepth:e.jsonCollapseAfterDepth})}):e.renderMarkdown?s.jsx("div",{className:o,children:e.renderMarkdown(t)}):s.jsx("div",{className:o,children:s.jsx(ro,{text:t})})}const Rd=Se.forwardRef(function(t,r){const o=typeof t.rows=="number"&&Number.isFinite(t.rows)?Math.max(1,Math.trunc(t.rows)):3,l=!!t.disabled,u=!!t.busy,c=!l&&!u&&!!String(t.value||"").trim();return s.jsxs("div",{className:["pc-composer",t.className].filter(Boolean).join(" "),children:[s.jsx("textarea",{ref:r,className:["pc-composer__textarea",t.textareaClassName].filter(Boolean).join(" "),value:t.value,onChange:f=>t.onChange(f.target.value),rows:o,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",placeholder:t.placeholder||"",disabled:l,autoFocus:!!t.autoFocus,onKeyDown:f=>{f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),t.onSubmit())}}),s.jsxs("div",{className:"pc-composer__row",children:[s.jsx("div",{className:"pc-composer__actions",children:t.actions}),s.jsx("button",{type:"button",className:t.sendButtonClassName||"pc-btn",disabled:!c,onClick:()=>t.onSubmit(),children:u?t.busyLabel||"Thinking…":t.sendLabel||"Send"})]})]})}),s_=[{id:"dark",label:"Dark (Abstract)",group:"dark",swatches:["#1a1a2e","#16213e","#0f3460","#e94560","#60a5fa","#27ae60"]},{id:"catppuccin-mocha",label:"Catppuccin Mocha",group:"dark",swatches:["#1e1e2e","#181825","#313244","#cba6f7","#89b4fa","#a6e3a1"]},{id:"catppuccin-macchiato",label:"Catppuccin Macchiato",group:"dark",swatches:["#24273a","#1e2030","#363a4f","#c6a0f6","#8aadf4","#a6da95"]},{id:"catppuccin-frappe",label:"Catppuccin Frappe",group:"dark",swatches:["#303446","#292c3c","#414559","#ca9ee6","#8caaee","#a6d189"]},{id:"rose-pine",label:"Rose Pine",group:"dark",swatches:["#191724","#1f1d2e","#26233a","#c4a7e7","#31748f","#9ccfd8"]},{id:"rose-pine-moon",label:"Rose Pine Moon",group:"dark",swatches:["#232136","#2a273f","#393552","#c4a7e7","#3e8fb0","#9ccfd8"]},{id:"tokyo-night",label:"Tokyo Night",group:"dark",swatches:["#1a1b26","#24283b","#414868","#7aa2f7","#2ac3de","#9ece6a"]},{id:"nord",label:"Nord",group:"dark",swatches:["#2e3440","#3b4252","#434c5e","#88c0d0","#5e81ac","#a3be8c"]},{id:"one-dark",label:"One Dark",group:"dark",swatches:["#282c34","#21252b","#3a3f4b","#61afef","#c678dd","#98c379"]},{id:"dracula",label:"Dracula",group:"dark",swatches:["#282a36","#343746","#44475a","#ff79c6","#8be9fd","#50fa7b"]},{id:"monokai",label:"Monokai",group:"dark",swatches:["#272822","#2d2e27","#3e3d32","#66d9ef","#a1efe4","#a6e22e"]},{id:"gruvbox",label:"Gruvbox",group:"dark",swatches:["#282828","#3c3836","#504945","#fe8019","#83a598","#b8bb26"]},{id:"solarized-dark",label:"Solarized Dark",group:"dark",swatches:["#002b36","#073642","#0b4b5a","#268bd2","#2aa198","#859900"]},{id:"everforest-dark",label:"Everforest Dark",group:"dark",swatches:["#2b3339","#323c41","#3a464c","#a7c080","#7fbbb3","#a7c080"]},{id:"catppuccin-latte",label:"Catppuccin Latte",group:"light",swatches:["#eff1f5","#e6e9ef","#ccd0da","#8839ef","#1e66f5","#40a02b"]},{id:"rose-pine-dawn",label:"Rose Pine Dawn",group:"light",swatches:["#faf4ed","#fffaf3","#f2e9e1","#907aa9","#56949f","#286983"]},{id:"one-light",label:"One Light",group:"light",swatches:["#fafafa","#ffffff","#e5e5e6","#4078f2","#a626a4","#50a14f"]},{id:"everforest-light",label:"Everforest Light",group:"light",swatches:["#fdf6e3","#fffbef","#e8e0cc","#4f8f5a","#3a94c5","#4f8f5a"]},{id:"solarized-light",label:"Solarized Light",group:"light",swatches:["#fdf6e3","#eee8d5","#e3ddc9","#268bd2","#2aa198","#859900"]},{id:"light",label:"Light",group:"light",swatches:["#f7f7fb","#ffffff","#e6e8f0","#e94560","#2563eb","#16a34a"]}];s_.map(e=>({id:e.id,label:e.label}));function hv(e){return`theme-${String(e||"").trim()||"dark"}`}function pv(e){try{const t=document.documentElement,r=Array.from(t.classList).filter(o=>o.startsWith("theme-"));for(const o of r)t.classList.remove(o);t.classList.add(hv(e))}catch{}}const km=[{id:"sm",label:"Small",scale:.9},{id:"md",label:"Medium",scale:1},{id:"lg",label:"Large",scale:1.1},{id:"xl",label:"Extra Large",scale:1.2}],Nm=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function gv(e){const t=String(e).trim();return km.find(r=>r.id===t)||km[1]}function _v(e){const t=String(e).trim();return Nm.find(r=>r.id===t)||Nm[1]}function yv(e){try{const t=document.documentElement,r=gv(e.font_scale||"md"),o=_v(e.header_density||"standard");t.style.setProperty("--font-scale",String(r.scale)),t.style.setProperty("--header-density",String(o.density))}catch{}}var xv=Bg();function Mc(...e){return e.filter(Boolean).join(" ")}function qc({value:e,options:t,placeholder:r="Select…",disabled:o=!1,loading:l=!1,searchable:u=!0,searchPlaceholder:c="Search…",allowCustom:f=!1,clearable:m=!1,minPopoverWidth:_=240,variant:g="panel",className:x,triggerClassName:v,onChange:w,renderOption:j,renderValue:b}){const T=p.useRef(null),A=p.useRef(null),W=p.useRef(null),[H,M]=p.useState(!1),[G,te]=p.useState(""),[V,Z]=p.useState(0),[ge,xe]=p.useState("bottom"),[ke,Te]=p.useState({left:0,top:0,width:0}),oe=p.useMemo(()=>{const ue=String(e??"");return t.find(he=>he.value===ue)||null},[t,e]),I=p.useMemo(()=>(oe==null?void 0:oe.label)||String(e||"").trim()||"",[oe,e]),se=p.useMemo(()=>{const ue=G.trim().toLowerCase();return ue?t.filter(he=>he.label.toLowerCase().includes(ue)||he.value.toLowerCase().includes(ue)):t},[t,G]),Q=p.useMemo(()=>{if(!f)return null;const ue=G.trim();return!ue||t.some(Fe=>Fe.value===ue)?null:{value:ue,label:`Use "${ue}"`}},[f,t,G]),ce=p.useMemo(()=>Q?[Q,...se]:se,[Q,se]),R=p.useCallback(()=>{const ue=T.current;if(!ue)return;const he=ue.getBoundingClientRect(),Fe=Math.max(he.width,_),K=Math.max(8,Math.min(he.left,window.innerWidth-Fe-8)),Me=window.innerHeight-he.bottom,Ne=he.top,Ye=Me>=220||Me>=Ne?"bottom":"top";xe(Ye);const Le=Ye==="bottom"?he.bottom+6:he.top-6;Te({left:K,top:Le,width:Fe})},[_]),L=p.useCallback(()=>{M(!1),te("")},[]);p.useEffect(()=>{if(!H)return;R();const ue=()=>R();return window.addEventListener("resize",ue),window.addEventListener("scroll",ue,!0),()=>{window.removeEventListener("resize",ue),window.removeEventListener("scroll",ue,!0)}},[H,R]),p.useEffect(()=>{if(!H)return;const ue=he=>{var K,Me;const Fe=he.target;Fe&&((K=T.current)!=null&&K.contains(Fe)||(Me=A.current)!=null&&Me.contains(Fe)||L())};return document.addEventListener("mousedown",ue,!0),()=>document.removeEventListener("mousedown",ue,!0)},[H,L]),p.useEffect(()=>{if(!H)return;const ue=Math.max(0,ce.findIndex(he=>he.value===e));Z(ue===-1?0:ue),u&&setTimeout(()=>{var he;return(he=W.current)==null?void 0:he.focus()},0)},[H,u,e,ce]);const O=ue=>{w(ue),L()},$=ue=>{o||(ue.key==="Enter"||ue.key===" "?(ue.preventDefault(),M(he=>!he)):ue.key==="ArrowDown"&&(ue.preventDefault(),M(!0)))},D=ue=>{if(ue.key==="Escape"){ue.preventDefault(),L();return}if(ue.key==="ArrowDown"){ue.preventDefault(),Z(he=>Math.min(he+1,Math.max(0,ce.length-1)));return}if(ue.key==="ArrowUp"){ue.preventDefault(),Z(he=>Math.max(he-1,0));return}if(ue.key==="Enter"){ue.preventDefault();const he=ce[V];he&&O(he.value)}},ne=!!String(e||"").trim(),ae=ne?I:r,ve=s.jsx("span",{className:Mc("af-select-value",!ne&&"af-select-value--placeholder"),children:l?"Loading…":ae}),$e=b?b(oe,String(e||"")):ve;return s.jsxs("span",{className:Mc("af-select",g==="pin"?"af-select--pin":"af-select--panel",x),children:[s.jsxs("button",{ref:T,type:"button",className:Mc("af-select-trigger",v),disabled:o,onMouseDown:ue=>ue.stopPropagation(),onClick:ue=>{ue.stopPropagation(),!o&&M(he=>!he)},onKeyDown:$,"aria-haspopup":"listbox","aria-expanded":H,children:[$e,m&&ne?s.jsx("span",{className:"af-select-clear",role:"button",tabIndex:-1,onMouseDown:ue=>{ue.preventDefault(),ue.stopPropagation()},onClick:ue=>{ue.preventDefault(),ue.stopPropagation(),w(""),L()},title:"Clear",children:"×"}):null,s.jsx("span",{className:Mc("af-select-caret",H&&"af-select-caret--open"),children:"▾"})]}),H?xv.createPortal(s.jsxs("div",{ref:A,className:Mc("af-select-popover",ge==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${ke.left}px`,top:`${ke.top}px`,width:`${ke.width}px`},onMouseDown:ue=>ue.stopPropagation(),onClick:ue=>ue.stopPropagation(),onKeyDown:D,role:"listbox",tabIndex:-1,children:[u?s.jsx("div",{className:"af-select-search",children:s.jsx("input",{ref:W,className:"af-select-search-input",value:G,onChange:ue=>te(ue.target.value),placeholder:c,onKeyDown:D})}):null,s.jsx("div",{className:"af-select-options",children:ce.length===0?s.jsx("div",{className:"af-select-empty",children:"No results"}):ce.map((ue,he)=>{var Le;const Fe=ue.value===e,K=he===V,Me=String(ue.group||"").trim(),Ne=he>0?String(((Le=ce[he-1])==null?void 0:Le.group)||"").trim():"",Ye=!!Me&&Me!==Ne;return s.jsxs(Se.Fragment,{children:[Ye?s.jsx("div",{className:"af-select-group",children:Me}):null,s.jsx("div",{className:Mc("af-select-option",Fe&&"af-select-option--selected",K&&"af-select-option--highlighted"),onMouseEnter:()=>Z(he),onMouseDown:mt=>{mt.preventDefault(),mt.stopPropagation()},onClick:()=>O(ue.value),children:j?j(ue,{selected:Fe,highlighted:K}):s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"af-select-option-label",children:ue.label}),Fe?s.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},ue.value)})})]}),document.body):null]})}function vv(e){const t=new Set,r=[];for(const o of e||[]){if(!o||typeof o!="object")continue;const l=String(o.name||"").trim();!l||t.has(l)||(t.add(l),r.push({name:l,display_name:typeof o.display_name=="string"?o.display_name:void 0}))}return r.sort((o,l)=>o.name.localeCompare(l.name)),r}function wv(e){const t=new Set,r=[];for(const o of e||[]){const l=String(o||"").trim();!l||t.has(l)||(t.add(l),r.push(l))}return r.sort(),r}function bv(e){const t=e.disabled===!0,r=e.layout||"stack",o=e.allowGatewayDefault!==!1,l=String(e.gatewayDefaultLabel||"(gateway default)"),u=String(e.providerLabel||"Provider"),c=String(e.modelLabel||"Model"),f=String(e.providerPlaceholder||"(select)"),m=String(e.modelPlaceholder||"(select)"),_=String(e.provider||"").trim(),g=String(e.model||"").trim(),x=vv(e.providers),v=wv(e.models),w=t||!!e.loadingProviders,j=t||!!e.loadingModels,b=[...o?[{value:"",label:l}]:[],...x.map(A=>({value:A.name,label:A.display_name?`${A.display_name} (${A.name})`:A.name}))],T=[...o?[{value:"",label:l}]:[],...v.map(A=>({value:A,label:A}))];return s.jsxs("div",{className:e.className,style:r==="row"?{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-start"}:{display:"flex",flexDirection:"column",gap:"10px"},children:[s.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[s.jsx("label",{children:u}),s.jsx(qc,{value:_,options:b,placeholder:o?l:f,disabled:w,loading:!!e.loadingProviders,searchable:!0,allowCustom:e.allowCustomProvider===!0,clearable:o,variant:"panel",triggerClassName:e.selectClassName,onChange:A=>e.onChange({provider:String(A||"").trim(),model:""})}),e.loadingProviders?s.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading providers…"}):null,e.providerError?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:e.providerError}):null]}),s.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[s.jsx("label",{children:c}),s.jsx(qc,{value:g,options:T,placeholder:o?l:m,disabled:j,loading:!!e.loadingModels,searchable:!0,allowCustom:e.allowCustomModel===!0,clearable:o,variant:"panel",triggerClassName:e.selectClassName,onChange:A=>e.onChange({provider:_,model:String(A||"").trim()})}),e.loadingModels?s.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading models…"}):null,e.modelError?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:e.modelError}):null]})]})}function Sv(e){return e==="light"?"Light":"Dark"}function jv(e){const t=e.themes&&e.themes.length?e.themes:s_,r=e.showSwatches!==!1,o=e.variant||"panel",l=p.useMemo(()=>{const c={};for(const f of t)c[f.id]=f;return c},[t]),u=p.useMemo(()=>t.map(c=>({value:c.id,label:c.label,group:Sv(c.group)})),[t]);return s.jsx(qc,{value:e.value,options:u,placeholder:e.placeholder||"Select theme…",disabled:e.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:o,className:e.className,triggerClassName:e.triggerClassName,onChange:c=>e.onChange(String(c||"").trim()),renderValue:(c,f)=>{const m=String(f||"").trim(),_=l[m],g=(_==null?void 0:_.label)||m||e.placeholder||"Select theme…",x=(_==null?void 0:_.swatches)||null,v=!m;return s.jsxs("span",{className:"af-theme-value",children:[s.jsx("span",{className:`af-theme-label ${v?"af-theme-label--placeholder":""}`.trim(),children:g}),r&&x?s.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:x.map((w,j)=>s.jsx("span",{className:"af-theme-swatch",style:{background:w}},`${m}:${j}`))}):null]})},renderOption:(c,f)=>{const m=String(c.value||"").trim(),_=l[m],g=(_==null?void 0:_.swatches)||null;return s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"af-theme-option-label",children:c.label}),s.jsxs("span",{className:"af-theme-option-right",children:[r&&g?s.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:g.map((x,v)=>s.jsx("span",{className:"af-theme-swatch",style:{background:x}},`${m}:${v}`))}):null,f.selected?s.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function kv(e){const t=e.scales&&e.scales.length?e.scales:km,r=e.variant||"panel",o=p.useMemo(()=>t.map(l=>({value:l.id,label:l.label})),[t]);return s.jsx(qc,{value:e.value,options:o,placeholder:e.placeholder||"Font size…",disabled:e.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:e.className,triggerClassName:e.triggerClassName,onChange:l=>e.onChange(String(l||"").trim())})}function Nv(e){const t=e.densities&&e.densities.length?e.densities:Nm,r=e.variant||"panel",o=p.useMemo(()=>t.map(l=>({value:l.id,label:l.label})),[t]);return s.jsx(qc,{value:e.value,options:o,placeholder:e.placeholder||"Header size…",disabled:e.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:e.className,triggerClassName:e.triggerClassName,onChange:l=>e.onChange(String(l||"").trim())})}function Cv(e){switch(e){case"chat":return s.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H8l-5 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"});case"plus":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 5v14"}),s.jsx("path",{d:"M5 12h14"})]});case"history":return s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"9"}),s.jsx("path",{d:"M12 7v5l3 3"})]});case"refresh":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M21 12a9 9 0 0 0-15.5-6.4L3 8"}),s.jsx("path",{d:"M3 3v5h5"}),s.jsx("path",{d:"M3 12a9 9 0 0 0 15.5 6.4L21 16"}),s.jsx("path",{d:"M21 21v-5h-5"})]});case"settings":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 6h16"}),s.jsx("circle",{cx:"8",cy:"6",r:"2"}),s.jsx("path",{d:"M4 12h16"}),s.jsx("circle",{cx:"16",cy:"12",r:"2"}),s.jsx("path",{d:"M4 18h16"}),s.jsx("circle",{cx:"10",cy:"18",r:"2"})]});case"user":return s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"8",r:"4"}),s.jsx("path",{d:"M4 21a8 8 0 0 1 16 0"})]});case"bot":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 2v3"}),s.jsx("rect",{x:"5",y:"6",width:"14",height:"14",rx:"3"}),s.jsx("circle",{cx:"9",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),s.jsx("circle",{cx:"15",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),s.jsx("path",{d:"M9 17h6"})]});case"paperclip":return s.jsx("path",{d:"M21.44 11.05l-9.19 9.19a5.5 5.5 0 0 1-7.78-7.78l9.19-9.19a3.5 3.5 0 0 1 4.95 4.95l-9.2 9.19a1.5 1.5 0 0 1-2.12-2.12l8.49-8.48"});case"mic":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3z"}),s.jsx("path",{d:"M19 11a7 7 0 0 1-14 0"}),s.jsx("path",{d:"M12 18v4"}),s.jsx("path",{d:"M8 22h8"})]});case"speaker":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),s.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),s.jsx("path",{d:"M18 6a9 9 0 0 1 0 12"})]});case"pause":return s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"}),s.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"})]});case"terminal":return s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2",ry:"2"}),s.jsx("path",{d:"M7 9l3 3-3 3"}),s.jsx("path",{d:"M12 15h5"})]});case"edit":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 20h9"}),s.jsx("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})]});case"download":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),s.jsx("path",{d:"M7 10l5 5 5-5"}),s.jsx("path",{d:"M12 15V3"})]});case"loader":return s.jsx("path",{d:"M21 12a9 9 0 1 1-3.3-6.9"});case"info":return s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"10"}),s.jsx("path",{d:"M12 16v-4"}),s.jsx("circle",{cx:"12",cy:"8",r:"0.75",fill:"currentColor",stroke:"none"})]});case"warning":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M12 3l10 18H2L12 3z"}),s.jsx("path",{d:"M12 9v4"}),s.jsx("circle",{cx:"12",cy:"17",r:"0.75",fill:"currentColor",stroke:"none"})]});case"error":return s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"12",cy:"12",r:"10"}),s.jsx("path",{d:"M15 9l-6 6"}),s.jsx("path",{d:"M9 9l6 6"})]});case"copy":return s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),s.jsx("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]});case"check":return s.jsx("path",{d:"M20 6L9 17l-5-5"});case"x":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M18 6L6 18"}),s.jsx("path",{d:"M6 6l12 12"})]});case"chevronDown":return s.jsx("path",{d:"M6 9l6 6 6-6"});case"chevronRight":return s.jsx("path",{d:"M9 18l6-6-6-6"});case"trash":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h18"}),s.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),s.jsx("path",{d:"M6 6l1 16h10l1-16"}),s.jsx("path",{d:"M10 11v6"}),s.jsx("path",{d:"M14 11v6"})]});case"send":return s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M22 2L11 13"}),s.jsx("path",{d:"M22 2L15 22l-4-9-9-4 20-7z"})]});default:return null}}function Zn({name:e,size:t=16,className:r,title:o,...l}){const u=o?void 0:!0;return s.jsxs("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:r,"aria-hidden":u,role:o?"img":"presentation",...l,children:[o?s.jsx("title",{children:o}):null,Cv(e)]})}function Ev(e){const t=String(e.role||"").trim().toLowerCase()||"system",r=String(e.kind||"").trim().toLowerCase(),o=String(e.level||"").trim().toLowerCase();return t==="system"&&r==="report_bug"?{label:String(e.title||"").trim()||"Bug report",icon:"warning",variant:"report_bug"}:t==="system"&&r==="report_feature"?{label:String(e.title||"").trim()||"Feature request",icon:"check",variant:"report_feature"}:t==="user"?{label:"You",icon:"user",variant:"user"}:t==="assistant"?{label:"Agent",icon:"bot",variant:"assistant"}:{label:String(e.title||"").trim()||(o==="error"?"Error":o==="warn"?"Warning":"System"),icon:o==="error"?"error":o==="warn"?"warning":"info",variant:o==="error"?"error":o==="warn"?"warn":"status"}}function $v(e){var j;const t=e.message,r=p.useMemo(()=>Ev(t),[t.kind,t.level,t.role,t.title]),o=String(t.ts||"").trim(),l=o?new Date(o).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",[u,c]=p.useState("idle"),f=typeof e.onSpeakToggle=="function"&&r.variant==="assistant"&&!!String(t.content||"").trim(),m=f&&((j=e.getSpeakState)==null?void 0:j.call(e,t))||"idle",_=m==="loading"?"loader":m==="playing"?"pause":"speaker",g=m==="loading"?"Generating audio…":m==="playing"?"Pause":m==="paused"?"Resume":"Speak (TTS)",x=e.showCopy!==!1,v=Array.isArray(e.attachments)?e.attachments:[],w=Array.isArray(e.stats)?e.stats:[];return s.jsxs("div",{className:["pc-chat-item",`pc-chat-item--${r.variant}`,e.className].filter(Boolean).join(" "),children:[s.jsxs("div",{className:"pc-chat-header",children:[s.jsx("div",{className:"pc-chat-avatar","aria-hidden":"true",children:s.jsx(Zn,{name:r.icon,size:14})}),s.jsx("span",{className:"pc-chat-role",children:r.label}),s.jsx("span",{className:"pc-chat-header-spacer"}),l?s.jsx("span",{className:"pc-chat-time",children:l}):null,s.jsxs("div",{className:"pc-chat-header-actions",children:[f?s.jsx("button",{className:"pc-chat-icon-btn",type:"button","aria-label":g,title:g,onClick:()=>{var b;return(b=e.onSpeakToggle)==null?void 0:b.call(e,t)},children:s.jsx(Zn,{name:_,size:22})}):null,x?s.jsx("button",{className:`pc-chat-icon-btn ${u!=="idle"?`pc-chat-icon-btn--${u}`:""}`.trim(),type:"button","aria-label":"Copy message",title:u==="idle"?"Copy":u==="copied"?"Copied":"Copy failed",onClick:async()=>{const b=await Xs(String(t.content||""));c(b?"copied":"failed"),window.setTimeout(()=>c("idle"),900)},children:s.jsx(Zn,{name:"copy",size:22})}):null]})]}),s.jsx("div",{className:"pc-chat-body",children:s.jsx(mv,{text:String(t.content||""),renderMarkdown:e.renderMarkdown,jsonCollapseAfterDepth:e.jsonCollapseAfterDepth})}),v.length?s.jsx("div",{className:"pc-chat-attachments","aria-label":"Attachments",children:v.slice(0,24).map((b,T)=>{const A=String(b.label||"").trim()||"attachment",W=String(b.target||"").trim(),H=String(b.title||"").trim(),M=!!b.disabled||typeof b.onClick!="function";return s.jsxs("button",{type:"button",className:"pc-chat-attachment-chip",title:H||A,onClick:M?void 0:b.onClick,disabled:M,children:[s.jsx(Zn,{name:"paperclip",size:14}),W?s.jsx("span",{className:`pc-chat-attachment-target pc-chat-attachment-target--${W}`,children:W}):null,s.jsx("span",{className:"pc-chat-attachment-name",children:A})]},b.id||`${A}:${T}`)})}):null,w.length?s.jsx("div",{className:"pc-chat-stats","aria-label":"Stats",children:w.slice(0,12).map((b,T)=>{const A=String(b.label||"").trim();if(!A)return null;const W=String(b.title||"").trim(),H=typeof b.onClick=="function";return s.jsxs("button",{type:"button",className:["pc-chat-stat",H?"pc-chat-stat--clickable":""].filter(Boolean).join(" "),title:W||void 0,onClick:H?()=>{var M;return(M=b.onClick)==null?void 0:M.call(b)}:void 0,disabled:!H,children:[b.icon?s.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:b.icon}):null,s.jsx("span",{className:"pc-chat-stat-label",children:A})]},b.id||`${A}:${T}`)})}):null]})}function Tv(e,t){const r=Math.max(0,Math.trunc(t));return e.scrollHeight-e.scrollTop-e.clientHeight<=r}function Ld(e){const t=typeof e.autoScrollThresholdPx=="number"&&Number.isFinite(e.autoScrollThresholdPx)?e.autoScrollThresholdPx:120,r=e.autoScroll!==!1,o=p.useRef(null),l=p.useRef(null),[u,c]=p.useState(!0),f=p.useMemo(()=>Array.isArray(e.messages)?e.messages:[],[e.messages]);return p.useEffect(()=>{if(!r)return;const m=o.current;if(!m)return;const _=()=>{c(Tv(m,t))};return m.addEventListener("scroll",_,{passive:!0}),_(),()=>m.removeEventListener("scroll",_)},[r,t]),p.useEffect(()=>{var m;r&&u&&((m=l.current)==null||m.scrollIntoView({block:"end"}))},[r,u,f.length]),s.jsxs("div",{ref:o,className:["pc-chat-thread",e.className].filter(Boolean).join(" "),children:[f.length?null:e.empty||null,f.map((m,_)=>s.jsx($v,{message:m,...e.messageProps||{}},String(m.id||"")||String(m.ts||"")+":"+String(m.role||"")+":"+_)),s.jsx("div",{ref:l})]})}class Bd{constructor(t){this._maxSize=Bd._normalizeMaxSize(t),this._values=[]}get maxSize(){return this._maxSize}get size(){return this._values.length}static _normalizeMaxSize(t){const r=Number(t);return!Number.isFinite(r)||r<=0?1:Math.min(1e3,Math.floor(r))}setMaxSize(t){const r=Bd._normalizeMaxSize(t);this._maxSize=r,this._values.length>r&&(this._values=this._values.slice(this._values.length-r))}clear(){this._values=[]}push(t){const r=Number(t),o=Number.isFinite(r)?r:null;this._values.push(o),this._values.length>this._maxSize&&this._values.splice(0,this._values.length-this._maxSize)}values(){return this._values.slice()}last(){return this._values.length?this._values[this._values.length-1]:null}}function Mv(e){try{return new URL(String(e)),!0}catch{return!1}}function Av({baseUrl:e,endpoint:t}){const r=String(t||"/api/gateway/host/metrics/gpu");return Mv(r)?r:e&&String(e).trim()?new URL(r,String(e)).toString():r}async function zv({token:e,getToken:t}){if(typeof t=="function"){const r=await t();return r==null?"":String(r)}return e==null?"":String(e)}function Rv({token:e}){const t=String(e||"").trim();return t?{Authorization:`Bearer ${t}`}:{}}function Lv(e){if(!e||typeof e!="object")return null;const t=Number(e.utilization_gpu_pct);if(Number.isFinite(t))return t;const r=e.gpus;if(Array.isArray(r)&&r.length){const o=r.map(u=>Number(u&&u.utilization_gpu_pct)).filter(u=>Number.isFinite(u));return o.length?o.reduce((u,c)=>u+c,0)/o.length:null}return null}async function Pv({baseUrl:e,endpoint:t,token:r,getToken:o,signal:l,fetchImpl:u}={}){const c=Av({baseUrl:e,endpoint:t}),f=await zv({token:r,getToken:o}),m=u||globalThis.fetch;if(typeof m!="function")return{ok:!1,status:0,error:"fetch_unavailable",payload:null};let _;try{_=await m(c,{method:"GET",headers:{Accept:"application/json",...Rv({token:f})},signal:l})}catch(x){return{ok:!1,status:0,error:"network_error",detail:x instanceof Error?x.message:String(x),payload:null}}let g=null;try{g=await _.json()}catch{g=null}return{ok:_.ok,status:_.status,error:_.ok?null:"http_error",payload:g}}const yu=Object.freeze({tickMs:1500,historySize:20,endpoint:"/api/gateway/host/metrics/gpu",baseUrl:"",mode:"full"});function Iv(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function bp(e,t,r){return Number.isFinite(e)?Math.min(r,Math.max(t,e)):t}function Sp(e,t){const r=Number(e);return Number.isFinite(r)?Math.floor(r):t}function Kf(e,t=1){const r=bp(Number(e)/100,0,1),o=Math.round(140-140*r),l=bp(Number(t),0,1);return l>=1?`hsl(${o} 85% 55%)`:`hsl(${o} 85% 55% / ${l})`}function jp(e){const t={...yu,...e||{}};return t.tickMs=Math.max(250,Sp(t.tickMs,yu.tickMs)),t.historySize=Math.max(1,Math.min(200,Sp(t.historySize,yu.historySize))),t.endpoint=String(t.endpoint||yu.endpoint),t.baseUrl=String(t.baseUrl||""),t.mode=String(t.mode||yu.mode).trim().toLowerCase(),t.mode!=="icon"&&(t.mode="full"),t}function Ov(){return`
|
|
54
|
-
:host{display:inline-block;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1}
|
|
55
|
-
.wrap{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:var(--monitor-gpu-padding,8px 10px);border:1px solid var(--monitor-gpu-border,#2a2f3a);border-radius:var(--monitor-gpu-radius,10px);background:var(--monitor-gpu-bg,#0b1020);color:var(--monitor-gpu-fg,#e7eaf0);width:var(--monitor-gpu-width,180px)}
|
|
56
|
-
.wrap.icon{gap:var(--monitor-gpu-gap,4px);padding:var(--monitor-gpu-padding,4px);border-radius:var(--monitor-gpu-radius,999px);width:var(--monitor-gpu-width,30px);background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(255,255,255,0.02)),var(--monitor-gpu-bg,#0b1020);box-shadow:0 0 14px var(--monitor-gpu-accent-glow, rgba(76,195,255,0.18))}
|
|
57
|
-
.wrap.icon .top{display:none}
|
|
58
|
-
.wrap.icon .bars{height:var(--monitor-gpu-bars-height,18px)}
|
|
59
|
-
.top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
|
|
60
|
-
.label{font-size:var(--monitor-gpu-font-size,var(--font-size-sm,12px));opacity:.9}
|
|
61
|
-
.value{font-variant-numeric:tabular-nums;font-size:var(--monitor-gpu-font-size,var(--font-size-sm,12px));opacity:.95}
|
|
62
|
-
.bars{display:flex;align-items:flex-end;gap:2px;height:var(--monitor-gpu-bars-height,34px);overflow:hidden}
|
|
63
|
-
.bar{flex:1;min-width:0;border-radius:2px;background:var(--monitor-gpu-bar,#4cc3ff);height:2px;opacity:.9;transition:height .25s ease, background .25s ease, opacity .25s ease}
|
|
64
|
-
.bar.missing{background:var(--monitor-gpu-bar-missing,#62708a);opacity:.35}
|
|
65
|
-
.bar.error{background:var(--monitor-gpu-bar-error,#ff6b6b);opacity:.7}
|
|
66
|
-
.muted{opacity:.6}
|
|
67
|
-
`}class Fv{constructor(t,r={}){if(!t||typeof t!="object")throw new TypeError("target element is required");this._target=t,this._opts=jp(r),this._buffer=new Bd(this._opts.historySize),this._timer=null,this._timer_gen=0,this._running=!1,this._abort=null,this._resumeTimer=null,this._mounted=!1,this._els=null,this._token=r.token,this._getToken=r.getToken,this._stoppedForAuth=!1}get options(){return{...this._opts}}set token(t){this._token=t,String(this._token||"").trim()&&this._stoppedForAuth&&(this._stoppedForAuth=!1,this.start())}get token(){return this._token}set getToken(t){this._getToken=t}get getToken(){return this._getToken}mount(){if(this._mounted)return;if(typeof document>"u")throw new Error("MonitorGpuWidget requires a browser DOM");const t=this._target;t.textContent="";const r=document.createElement("style");r.textContent=Ov();const o=document.createElement("div");o.className=this._opts.mode==="icon"?"wrap icon":"wrap";const l=document.createElement("div");l.className="top";const u=document.createElement("div");u.className="label",u.textContent="GPU";const c=document.createElement("div");c.className="value muted",c.textContent="—",l.appendChild(u),l.appendChild(c);const f=document.createElement("div");f.className="bars",o.appendChild(l),o.appendChild(f),t.appendChild(r),t.appendChild(o),this._els={wrap:o,value:c,bars:f},this._mounted=!0,this._rebuildBars(),this._render()}start(){this.mount(),!this._running&&(this._running=!0,this._timer_gen+=1,this._poll_loop(this._timer_gen))}stop(){this._running=!1,this._timer_gen+=1,this._timer&&(clearTimeout(this._timer),this._timer=null),this._resumeTimer&&(clearTimeout(this._resumeTimer),this._resumeTimer=null),this._abort&&(this._abort.abort(),this._abort=null)}destroy(){this.stop(),this._target&&this._mounted&&(this._target.textContent=""),this._mounted=!1,this._els=null}setOptions(t){const r=jp({...this._opts,...t||{}}),o=r.historySize!==this._opts.historySize,l=r.tickMs!==this._opts.tickMs,u=r.mode!==this._opts.mode;this._opts=r,u&&this._mounted&&this._els&&this._els.wrap&&(this._els.wrap.className=r.mode==="icon"?"wrap icon":"wrap"),o&&(this._buffer.setMaxSize(r.historySize),this._mounted&&this._rebuildBars()),l&&this._running?(this.stop(),this.start()):this._mounted&&this._render()}push(t){this._buffer.push(t),this._render()}_rebuildBars(){if(!this._els)return;const{bars:t}=this._els;t.textContent="";for(let r=0;r<this._opts.historySize;r+=1){const o=document.createElement("div");o.className="bar missing",o.style.height="2px",t.appendChild(o)}}_render({error:t=!1}={}){if(!this._els)return;const{wrap:r,value:o,bars:l}=this._els,u=this._buffer.values(),c=this._buffer.last(),f=Number.isFinite(c)?Math.max(0,Math.min(100,c)):null;f==null?(o.textContent=t?"N/A":"—",o.classList.add("muted")):(o.textContent=`${f.toFixed(0)}%`,o.classList.remove("muted")),r&&(r.title=f==null?"GPU —":`GPU ${f.toFixed(0)}%`,f==null?(r.style.removeProperty("--monitor-gpu-accent"),r.style.removeProperty("--monitor-gpu-accent-glow")):(r.style.setProperty("--monitor-gpu-accent",Kf(f,.95)),r.style.setProperty("--monitor-gpu-accent-glow",Kf(f,.35))));const m=Array.from(l.children),_=Math.max(0,m.length-u.length),g=Math.max(2,l&&typeof l.clientHeight=="number"&&l.clientHeight>0?l.clientHeight:34);for(let x=0;x<m.length;x+=1){const v=m[x],w=x-_,j=w>=0?u[w]:null,b=Number.isFinite(j)?j:null,T=b==null?0:Iv(b/100),A=Math.max(2,Math.min(g,Math.round(T*g)));v.style.height=`${A}px`,v.style.background=b==null?"":Kf(b),v.className="bar",b==null&&v.classList.add("missing"),t&&v.classList.add("error")}}async _tick(){const t=String(this._token||"").trim(),r=this._getToken,o=!!t||typeof r=="function";this._abort&&this._abort.abort(),this._abort=new AbortController;const l=await Pv({baseUrl:this._opts.baseUrl,endpoint:this._opts.endpoint,token:t,getToken:r,signal:this._abort.signal}),u=l&&l.payload,c=u&&typeof u=="object"?u.supported!==!1:!0,f=Lv(u);if(!l.ok){if(this._buffer.push(null),this._render({error:!0}),l.status===401||l.status===403){const m=String(this._token||"").trim(),_=typeof this._getToken=="function";if(!o&&(!!m||_))return;this._stoppedForAuth=!0,this.stop()}else l.status===429&&(this.stop(),this._resumeTimer=setTimeout(()=>{this._resumeTimer=null,this._mounted&&this.start()},3e4));return}if(!c||f==null){this._buffer.push(null),this._render();return}this._buffer.push(f),this._render()}async _poll_loop(t){!this._running||t!==this._timer_gen||(await this._tick(),!(!this._running||t!==this._timer_gen)&&(this._timer=setTimeout(()=>{this._timer=null,this._poll_loop(t)},this._opts.tickMs)))}}function Dv(e="monitor-gpu"){if(typeof globalThis>"u"||typeof globalThis.customElements>"u"||globalThis.customElements.get(e))return;const t=globalThis.HTMLElement||class{};class r extends t{static get observedAttributes(){return["tick-ms","history-size","endpoint","base-url","mode"]}constructor(){super(),this._shadow=this.attachShadow?this.attachShadow({mode:"open"}):null;const l=this._shadow||this;this._controller=new Fv(l,{}),this._upgradeProperty("token"),this._upgradeProperty("getToken"),this._upgradeProperty("mode")}_upgradeProperty(l){if(!Object.prototype.hasOwnProperty.call(this,l))return;const u=this[l];try{delete this[l]}catch{}this[l]=u}connectedCallback(){this._controller.setOptions(this._readAttrs());const l=()=>{this.isConnected&&this._controller.start()};typeof queueMicrotask=="function"?queueMicrotask(l):Promise.resolve().then(l)}disconnectedCallback(){this._controller.destroy()}attributeChangedCallback(){this._controller.setOptions(this._readAttrs())}_readAttrs(){const l=this.getAttribute("tick-ms"),u=this.getAttribute("history-size"),c=this.getAttribute("endpoint"),f=this.getAttribute("base-url"),m=this.getAttribute("mode");return{...l!=null?{tickMs:l}:{},...u!=null?{historySize:u}:{},...c!=null?{endpoint:c}:{},...f!=null?{baseUrl:f}:{},...m!=null?{mode:m}:{}}}set token(l){this._controller.token=l}get token(){return this._controller.token}set getToken(l){this._controller.getToken=l}get getToken(){return this._controller.getToken}set tickMs(l){this._controller.setOptions({tickMs:l})}get tickMs(){return this._controller.options.tickMs}set historySize(l){this._controller.setOptions({historySize:l})}get historySize(){return this._controller.options.historySize}set endpoint(l){this._controller.setOptions({endpoint:l})}get endpoint(){return this._controller.options.endpoint}set baseUrl(l){this._controller.setOptions({baseUrl:l})}get baseUrl(){return this._controller.options.baseUrl}set mode(l){this._controller.setOptions({mode:l})}get mode(){return this._controller.options.mode}}globalThis.customElements.define(e,r)}class Bv{constructor(){gu(this,"_buffer","");gu(this,"_current",{data_lines:[]})}push(t,r){for(this._buffer+=t;;){const o=this._buffer.indexOf(`
|
|
68
|
-
`);if(o===-1)return;const l=this._buffer.slice(0,o);this._buffer=this._buffer.slice(o+1);const u=l.endsWith("\r")?l.slice(0,-1):l;if(u.startsWith(":"))continue;if(u===""){if(this._current.data_lines.length>0||this._current.event||this._current.id){const _={id:this._current.id,event:this._current.event,data:this._current.data_lines.join(`
|
|
69
|
-
`)};r(_)}this._current={data_lines:[]};continue}const c=u.indexOf(":"),f=c===-1?u:u.slice(0,c),m=c===-1?"":u.slice(c+1).trimStart();if(f==="id"){this._current.id=m;continue}if(f==="event"){this._current.event=m;continue}if(f==="data"){this._current.data_lines.push(m);continue}}}}function xt(e,t){const r=(e||"").trim().replace(/\/+$/,"");return r?`${r}${t}`:t}function vt(e){const t=(e||"").trim();return t?{Authorization:`Bearer ${t}`}:{}}async function qt(e){try{const t=await e.text();return t!=null&&t.trim()?t.trim():`${e.status}`}catch{return`${e.status}`}}class Uv{constructor(t){gu(this,"_cfg");this._cfg={...t,base_url:(t.base_url||"").trim()}}async start_run(t,r,o){const l=String((o==null?void 0:o.bundle_id)||"").trim(),u=(o==null?void 0:o.session_id)===null||(o==null?void 0:o.session_id)===void 0?"":String(o.session_id||"").trim(),c=String(t||"").trim(),f={input_data:r||{}};l&&(f.bundle_id=l),c&&(f.flow_id=c),u&&(f.session_id=u);const m=await fetch(xt(this._cfg.base_url,"/api/gateway/runs/start"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(f)});if(!m.ok)throw new Error(`start_run failed: ${m.status}`);const _=await m.json(),g=_==null?void 0:_.run_id;if(typeof g!="string"||!g)throw new Error("start_run: missing run_id");return g}async schedule_run(t){const r=String((t==null?void 0:t.bundle_id)||"").trim(),o=String((t==null?void 0:t.flow_id)||"").trim();if(!r)throw new Error("schedule_run: bundle_id is required");if(!o)throw new Error("schedule_run: flow_id is required");const l={bundle_id:r,flow_id:o,input_data:(t==null?void 0:t.input_data)||{}},u=(t==null?void 0:t.start_at)===null||(t==null?void 0:t.start_at)===void 0?"":String(t.start_at||"").trim();u&&(l.start_at=u);const c=(t==null?void 0:t.interval)===null||(t==null?void 0:t.interval)===void 0?"":String(t.interval||"").trim();c&&(l.interval=c),typeof(t==null?void 0:t.repeat_count)=="number"&&Number.isFinite(t.repeat_count)&&(l.repeat_count=Number(t.repeat_count));const f=(t==null?void 0:t.repeat_until)===null||(t==null?void 0:t.repeat_until)===void 0?"":String(t.repeat_until||"").trim();f&&(l.repeat_until=f),typeof(t==null?void 0:t.share_context)=="boolean"&&(l.share_context=!!t.share_context);const m=(t==null?void 0:t.session_id)===null||(t==null?void 0:t.session_id)===void 0?"":String(t.session_id||"").trim();m&&(l.session_id=m);const _=await fetch(xt(this._cfg.base_url,"/api/gateway/runs/schedule"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!_.ok)throw new Error(`schedule_run failed: ${_.status}`);const g=await _.json(),x=g==null?void 0:g.run_id;if(typeof x!="string"||!x)throw new Error("schedule_run: missing run_id");return x}async get_run(t){const r=await fetch(xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(t)}`),{headers:{...vt(this._cfg.auth_token)}});if(!r.ok)throw new Error(`get_run failed: ${await qt(r)}`);return await r.json()}async list_runs(t){const r=typeof(t==null?void 0:t.limit)=="number"?t.limit:50,o=String((t==null?void 0:t.status)||"").trim(),l=String((t==null?void 0:t.workflow_id)||"").trim(),u=String((t==null?void 0:t.session_id)||"").trim(),c=(t==null?void 0:t.root_only)===!0,f=new URLSearchParams;f.set("limit",String(r)),o&&f.set("status",o),l&&f.set("workflow_id",l),u&&f.set("session_id",u),c&&f.set("root_only","true");const m=xt(this._cfg.base_url,`/api/gateway/runs?${f.toString()}`),_=await fetch(m,{headers:{...vt(this._cfg.auth_token)}});if(!_.ok)throw new Error(`list_runs failed: ${await qt(_)}`);return await _.json()}async list_processes(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/processes"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`list_processes failed: ${await qt(t)}`);return await t.json()}async list_process_env_vars(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/processes/env"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`list_process_env_vars failed: ${await qt(t)}`);return await t.json()}async update_process_env_vars(t){const r={},o=t!=null&&t.set&&typeof t.set=="object"?t.set:{},l=Array.isArray(t==null?void 0:t.unset)?t==null?void 0:t.unset:[];o&&Object.keys(o).length&&(r.set=o),l&&l.length&&(r.unset=l);const u=await fetch(xt(this._cfg.base_url,"/api/gateway/processes/env"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(r)});if(!u.ok)throw new Error(`update_process_env_vars failed: ${await qt(u)}`);return await u.json()}async start_process(t){const r=String(t||"").trim(),o=await fetch(xt(this._cfg.base_url,`/api/gateway/processes/${encodeURIComponent(r)}/start`),{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`start_process failed: ${await qt(o)}`);return await o.json()}async stop_process(t){const r=String(t||"").trim(),o=await fetch(xt(this._cfg.base_url,`/api/gateway/processes/${encodeURIComponent(r)}/stop`),{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`stop_process failed: ${await qt(o)}`);return await o.json()}async restart_process(t){const r=String(t||"").trim(),o=await fetch(xt(this._cfg.base_url,`/api/gateway/processes/${encodeURIComponent(r)}/restart`),{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`restart_process failed: ${await qt(o)}`);return await o.json()}async redeploy_process(t){const r=String(t||"").trim(),o=await fetch(xt(this._cfg.base_url,`/api/gateway/processes/${encodeURIComponent(r)}/redeploy`),{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`redeploy_process failed: ${await qt(o)}`);return await o.json()}async process_log_tail(t,r){const o=String(t||"").trim(),l=typeof(r==null?void 0:r.max_bytes)=="number"?Math.max(1024,Math.min(4e5,Math.floor(r.max_bytes))):8e4,u=xt(this._cfg.base_url,`/api/gateway/processes/${encodeURIComponent(o)}/logs/tail?max_bytes=${encodeURIComponent(String(l))}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`process_log_tail failed: ${await qt(c)}`);return await c.json()}async get_run_input_data(t){const r=String(t||"").trim();if(!r)throw new Error("get_run_input_data: run_id is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(r)}/input_data`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`get_run_input_data failed: ${await qt(o)}`);return await o.json()}async list_run_artifacts(t,r){const o=String(t||"").trim();if(!o)throw new Error("list_run_artifacts: run_id is required");const l=typeof(r==null?void 0:r.limit)=="number"?r.limit:200,u=xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/artifacts?limit=${encodeURIComponent(String(l))}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`list_run_artifacts failed: ${await qt(c)}`);return await c.json()}async download_run_artifact_content(t,r){const o=String(t||"").trim(),l=String(r||"").trim();if(!o)throw new Error("download_run_artifact_content: run_id is required");if(!l)throw new Error("download_run_artifact_content: artifact_id is required");const u=xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/artifacts/${encodeURIComponent(l)}/content`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`download_run_artifact_content failed: ${await qt(c)}`);return await c.blob()}async get_ledger(t,r){const o=Number((r==null?void 0:r.after)||0),l=Number((r==null?void 0:r.limit)||0),u=xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(t)}/ledger?after=${encodeURIComponent(String(o))}&limit=${encodeURIComponent(String(l))}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`get_ledger failed: ${c.status}`);const f=await c.json(),m=Array.isArray(f==null?void 0:f.items)?f.items:[],_=typeof(f==null?void 0:f.next_after)=="number"?f.next_after:o;return{items:m,next_after:_}}async get_ledger_batch(t){const r=Array.isArray(t==null?void 0:t.runs)?t.runs:[],o=Number((t==null?void 0:t.limit)||0),l=await fetch(xt(this._cfg.base_url,"/api/gateway/runs/ledger/batch"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify({runs:r,limit:o})});if(!l.ok)throw new Error(`get_ledger_batch failed: ${l.status}`);const u=await l.json(),f=(u&&typeof u=="object"?u:{}).runs;return{runs:f&&typeof f=="object"?f:{}}}async generate_run_summary(t,r){const o=String(t||"").trim();if(!o)throw new Error("generate_run_summary: run_id is required");const l={include_subruns:(r==null?void 0:r.include_subruns)!==!1},u=typeof(r==null?void 0:r.provider)=="string"?String(r.provider).trim():"";u&&(l.provider=u);const c=typeof(r==null?void 0:r.model)=="string"?String(r.model).trim():"";c&&(l.model=c);const f=await fetch(xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/summary`),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!f.ok)throw new Error(`generate_run_summary failed: ${f.status}`);return await f.json()}async run_chat(t,r){const o=String(t||"").trim();if(!o)throw new Error("run_chat: run_id is required");const l={include_subruns:(r==null?void 0:r.include_subruns)!==!1,messages:Array.isArray(r==null?void 0:r.messages)?r.messages:[],persist:!!(r!=null&&r.persist)},u=typeof(r==null?void 0:r.provider)=="string"?String(r.provider).trim():"";u&&(l.provider=u);const c=typeof(r==null?void 0:r.model)=="string"?String(r.model).trim():"";c&&(l.model=c);const f=await fetch(xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/chat`),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!f.ok)throw new Error(`run_chat failed: ${f.status}`);return await f.json()}async save_chat_thread(t,r){const o=String(t||"").trim();if(!o)throw new Error("save_chat_thread: run_id is required");const l={include_subruns:(r==null?void 0:r.include_subruns)!==!1,messages:Array.isArray(r==null?void 0:r.messages)?r.messages:[]},u=typeof(r==null?void 0:r.provider)=="string"?String(r.provider).trim():"";u&&(l.provider=u);const c=typeof(r==null?void 0:r.model)=="string"?String(r.model).trim():"";c&&(l.model=c);const f=typeof(r==null?void 0:r.title)=="string"?String(r.title).trim():"";f&&(l.title=f);const m=await fetch(xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/chat_threads`),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!m.ok)throw new Error(`save_chat_thread failed: ${await qt(m)}`);return await m.json()}async list_bundles(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/bundles"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`list_bundles failed: ${t.status}`);return await t.json()}async reload_bundles(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/bundles/reload"),{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`reload_bundles failed: ${t.status}`);return await t.json()}async upload_bundle(t,r){const o=(r==null?void 0:r.overwrite)===!0,l=(r==null?void 0:r.reload)!==!1,u=new FormData;u.set("overwrite",o?"true":"false"),u.set("reload",l?"true":"false"),u.set("file",t,t.name||"upload.flow");const c=await fetch(xt(this._cfg.base_url,"/api/gateway/bundles/upload"),{method:"POST",headers:{...vt(this._cfg.auth_token)},body:u});if(!c.ok)throw new Error(`upload_bundle failed: ${await qt(c)}`);return await c.json()}async remove_bundle(t,r){const o=String(t||"").trim();if(!o)throw new Error("remove_bundle: bundle_id is required");const l=new URLSearchParams,u=String((r==null?void 0:r.bundle_version)||"").trim();u&&l.set("bundle_version",u),l.set("reload",(r==null?void 0:r.reload)===!1?"false":"true");const c=xt(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(o)}?${l.toString()}`),f=await fetch(c,{method:"DELETE",headers:{...vt(this._cfg.auth_token)}});if(!f.ok)throw new Error(`remove_bundle failed: ${await qt(f)}`);return await f.json()}async discovery_tools(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/discovery/tools"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`discovery_tools failed: ${t.status}`);return await t.json()}async discovery_providers(t){const r=(t==null?void 0:t.include_models)===!0,o=xt(this._cfg.base_url,`/api/gateway/discovery/providers?include_models=${encodeURIComponent(String(r))}`),l=await fetch(o,{headers:{...vt(this._cfg.auth_token)}});if(!l.ok)throw new Error(`discovery_providers failed: ${l.status}`);return await l.json()}async discovery_provider_models(t){const r=String(t||"").trim();if(!r)throw new Error("discovery_provider_models: provider_name is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/discovery/providers/${encodeURIComponent(r)}/models`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`discovery_provider_models failed: ${o.status}`);return await o.json()}async get_bundle(t){const r=String(t||"").trim();if(!r)throw new Error("get_bundle: bundle_id is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(r)}`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`get_bundle failed: ${o.status}`);return await o.json()}async get_bundle_flow(t,r){const o=String(t||"").trim(),l=String(r||"").trim();if(!o)throw new Error("get_bundle_flow: bundle_id is required");if(!l)throw new Error("get_bundle_flow: flow_id is required");const u=await fetch(xt(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(o)}/flows/${encodeURIComponent(l)}`),{headers:{...vt(this._cfg.auth_token)}});if(!u.ok)throw new Error(`get_bundle_flow failed: ${u.status}`);return await u.json()}async get_workflow_flow(t){const r=String(t||"").trim();if(!r)throw new Error("get_workflow_flow: workflow_id is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/workflows/${encodeURIComponent(r)}/flow`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`get_workflow_flow failed: ${o.status}`);return await o.json()}async submit_command(t){const r=await fetch(xt(this._cfg.base_url,"/api/gateway/commands"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(t)});if(!r.ok)throw new Error(`submit_command failed: ${r.status}`);return await r.json()}async kg_query(t){const r=String((t==null?void 0:t.scope)||"session").trim().toLowerCase(),o=String((t==null?void 0:t.order)||"desc").trim().toLowerCase(),l=typeof(t==null?void 0:t.limit)=="number"&&Number.isFinite(t.limit)?Number(t.limit):500,u={scope:r,order:o,limit:l},c=String((t==null?void 0:t.run_id)||"").trim();c&&(u.run_id=c);const f=String((t==null?void 0:t.session_id)||"").trim();f&&(u.session_id=f);const m=String((t==null?void 0:t.owner_id)||"").trim();m&&(u.owner_id=m),t!=null&&t.all_owners&&(u.all_owners=!0);const _=String((t==null?void 0:t.subject)||"").trim();_&&(u.subject=_);const g=String((t==null?void 0:t.predicate)||"").trim();g&&(u.predicate=g);const x=String((t==null?void 0:t.object)||"").trim();x&&(u.object=x);const v=String((t==null?void 0:t.since)||"").trim();v&&(u.since=v);const w=String((t==null?void 0:t.until)||"").trim();w&&(u.until=w);const j=String((t==null?void 0:t.active_at)||"").trim();j&&(u.active_at=j);const b=String((t==null?void 0:t.query_text)||"").trim();b&&(u.query_text=b),typeof(t==null?void 0:t.min_score)=="number"&&Number.isFinite(t.min_score)&&(u.min_score=Number(t.min_score));const T=await fetch(xt(this._cfg.base_url,"/api/gateway/kg/query"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(u)});if(!T.ok)throw new Error(`kg_query failed: ${await qt(T)}`);return await T.json()}async list_bug_reports(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/reports/bugs"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`list_bug_reports failed: ${await qt(t)}`);return await t.json()}async list_feature_requests(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/reports/features"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`list_feature_requests failed: ${await qt(t)}`);return await t.json()}async get_bug_report_content(t){const r=String(t||"").trim();if(!r)throw new Error("get_bug_report_content: filename is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/reports/bugs/${encodeURIComponent(r)}/content`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`get_bug_report_content failed: ${await qt(o)}`);return await o.json()}async get_feature_request_content(t){const r=String(t||"").trim();if(!r)throw new Error("get_feature_request_content: filename is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/reports/features/${encodeURIComponent(r)}/content`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`get_feature_request_content failed: ${await qt(o)}`);return await o.json()}async triage_run(t){const r={};typeof(t==null?void 0:t.write_drafts)=="boolean"&&(r.write_drafts=!!t.write_drafts),typeof(t==null?void 0:t.enable_llm)=="boolean"&&(r.enable_llm=!!t.enable_llm);const o=await fetch(xt(this._cfg.base_url,"/api/gateway/triage/run"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(r)});if(!o.ok)throw new Error(`triage_run failed: ${await qt(o)}`);return await o.json()}async list_triage_decisions(t){const r=new URLSearchParams,o=String((t==null?void 0:t.status)||"").trim();o&&r.set("status",o);const l=typeof(t==null?void 0:t.limit)=="number"&&Number.isFinite(t.limit)?Number(t.limit):200;r.set("limit",String(l));const u=xt(this._cfg.base_url,`/api/gateway/triage/decisions?${r.toString()}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`list_triage_decisions failed: ${await qt(c)}`);return await c.json()}async apply_triage_decision(t,r){const o=String(t||"").trim();if(!o)throw new Error("apply_triage_decision: decision_id is required");const l=String((r==null?void 0:r.action)||"").trim();if(!l)throw new Error("apply_triage_decision: action is required");const u={action:l};if(l==="defer"){const f=r==null?void 0:r.defer_days;typeof f=="number"&&Number.isFinite(f)&&f>0&&(u.defer_days=Number(f))}const c=await fetch(xt(this._cfg.base_url,`/api/gateway/triage/decisions/${encodeURIComponent(o)}/apply`),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(u)});if(!c.ok)throw new Error(`apply_triage_decision failed: ${await qt(c)}`);return await c.json()}async backlog_list(t){const r=String(t||"").trim();if(!r)throw new Error("backlog_list: kind is required");const o=await fetch(xt(this._cfg.base_url,`/api/gateway/backlog/${encodeURIComponent(r)}`),{headers:{...vt(this._cfg.auth_token)}});if(!o.ok)throw new Error(`backlog_list failed: ${await qt(o)}`);return await o.json()}async backlog_content(t,r){const o=String(t||"").trim(),l=String(r||"").trim();if(!o)throw new Error("backlog_content: kind is required");if(!l)throw new Error("backlog_content: filename is required");const u=await fetch(xt(this._cfg.base_url,`/api/gateway/backlog/${encodeURIComponent(o)}/${encodeURIComponent(l)}/content`),{headers:{...vt(this._cfg.auth_token)}});if(!u.ok)throw new Error(`backlog_content failed: ${await qt(u)}`);return await u.json()}async backlog_template(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/template"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`backlog_template failed: ${await qt(t)}`);return await t.json()}async backlog_move(t){const r=String((t==null?void 0:t.from_kind)||"").trim(),o=String((t==null?void 0:t.to_kind)||"").trim(),l=String((t==null?void 0:t.filename)||"").trim();if(!r)throw new Error("backlog_move: from_kind is required");if(!o)throw new Error("backlog_move: to_kind is required");if(!l)throw new Error("backlog_move: filename is required");const u=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/move"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify({from_kind:r,to_kind:o,filename:l})});if(!u.ok)throw new Error(`backlog_move failed: ${await qt(u)}`);return await u.json()}async backlog_update(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.filename)||"").trim();if(!r)throw new Error("backlog_update: kind is required");if(!o)throw new Error("backlog_update: filename is required");const u={content:String((t==null?void 0:t.content)??"")},c=String((t==null?void 0:t.expected_sha256)||"").trim();c&&(u.expected_sha256=c);const f=await fetch(xt(this._cfg.base_url,`/api/gateway/backlog/${encodeURIComponent(r)}/${encodeURIComponent(o)}/update`),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(u)});if(!f.ok)throw new Error(`backlog_update failed: ${await qt(f)}`);return await f.json()}async backlog_create(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.package)||"").trim(),l=String((t==null?void 0:t.title)||"").trim();if(!r)throw new Error("backlog_create: kind is required");if(!o)throw new Error("backlog_create: package is required");if(!l)throw new Error("backlog_create: title is required");const u={kind:r,package:o,title:l},c=String((t==null?void 0:t.task_type)||"").trim();c&&(u.task_type=c);const f=String((t==null?void 0:t.summary)||"").trim();f&&(u.summary=f);const m=(t==null?void 0:t.content)==null?"":String((t==null?void 0:t.content)??"");m.trim()&&(u.content=m);const _=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/create"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(u)});if(!_.ok)throw new Error(`backlog_create failed: ${await qt(_)}`);return await _.json()}async backlog_execute(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.filename)||"").trim();if(!r)throw new Error("backlog_execute: kind is required");if(!o)throw new Error("backlog_execute: filename is required");const l=new URLSearchParams,u=String((t==null?void 0:t.execution_mode)||"").trim();u&&l.set("execution_mode",u);const c=xt(this._cfg.base_url,`/api/gateway/backlog/${encodeURIComponent(r)}/${encodeURIComponent(o)}/execute${l.toString()?`?${l.toString()}`:""}`),f=await fetch(c,{method:"POST",headers:{...vt(this._cfg.auth_token)}});if(!f.ok)throw new Error(`backlog_execute failed: ${await qt(f)}`);return await f.json()}async backlog_execute_batch(t){const r=Array.isArray(t==null?void 0:t.items)?t.items:[];if(!r.length)throw new Error("backlog_execute_batch: items are required");const o={items:r.map(c=>({kind:String((c==null?void 0:c.kind)||"").trim(),filename:String((c==null?void 0:c.filename)||"").trim()}))},l=String((t==null?void 0:t.execution_mode)||"").trim();l&&(o.execution_mode=l);const u=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/execute_batch"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(o)});if(!u.ok)throw new Error(`backlog_execute_batch failed: ${await qt(u)}`);return await u.json()}async backlog_merge(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.package)||"").trim(),l=String((t==null?void 0:t.title)||"").trim(),u=Array.isArray(t==null?void 0:t.items)?t.items:[];if(!r)throw new Error("backlog_merge: kind is required");if(!o)throw new Error("backlog_merge: package is required");if(!l)throw new Error("backlog_merge: title is required");if(u.length<2)throw new Error("backlog_merge: at least 2 items are required");const c={kind:r,package:o,title:l,items:u.map(g=>({kind:String((g==null?void 0:g.kind)||"").trim(),filename:String((g==null?void 0:g.filename)||"").trim()}))},f=String((t==null?void 0:t.task_type)||"").trim();f&&(c.task_type=f);const m=String((t==null?void 0:t.summary)||"").trim();m&&(c.summary=m);const _=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/merge"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(c)});if(!_.ok)throw new Error(`backlog_merge failed: ${await qt(_)}`);return await _.json()}async backlog_exec_config(){const t=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/exec/config"),{headers:{...vt(this._cfg.auth_token)}});if(!t.ok)throw new Error(`backlog_exec_config failed: ${await qt(t)}`);return await t.json()}async backlog_exec_requests(t){const r=new URLSearchParams,o=String((t==null?void 0:t.status)||"").trim();o&&r.set("status",o);const l=typeof(t==null?void 0:t.limit)=="number"&&Number.isFinite(t.limit)?Number(t.limit):200;r.set("limit",String(l));const u=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests?${r.toString()}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`backlog_exec_requests failed: ${await qt(c)}`);return await c.json()}async backlog_exec_request(t,r){const o=String(t||"").trim();if(!o)throw new Error("backlog_exec_request: request_id is required");const l=new URLSearchParams;(r==null?void 0:r.include_prompt)===!0&&l.set("include_prompt","true");const u=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests/${encodeURIComponent(o)}?${l.toString()}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`backlog_exec_request failed: ${await qt(c)}`);return await c.json()}async backlog_exec_feedback(t){const r=String((t==null?void 0:t.request_id)||"").trim();if(!r)throw new Error("backlog_exec_feedback: request_id is required");const o=String((t==null?void 0:t.feedback)??"");if(!o.trim())throw new Error("backlog_exec_feedback: feedback is required");const l={feedback:o},u=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests/${encodeURIComponent(r)}/feedback`),c=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!c.ok)throw new Error(`backlog_exec_feedback failed: ${await qt(c)}`);return await c.json()}async backlog_exec_promote(t){const r=String((t==null?void 0:t.request_id)||"").trim();if(!r)throw new Error("backlog_exec_promote: request_id is required");const o={};(t==null?void 0:t.redeploy)===!0&&(o.redeploy=!0);const l=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests/${encodeURIComponent(r)}/promote`),u=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(o)});if(!u.ok)throw new Error(`backlog_exec_promote failed: ${await qt(u)}`);return await u.json()}async backlog_exec_deploy_uat(t){const r=String((t==null?void 0:t.request_id)||"").trim();if(!r)throw new Error("backlog_exec_deploy_uat: request_id is required");const o=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests/${encodeURIComponent(r)}/uat/deploy`),l=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:"{}"});if(!l.ok)throw new Error(`backlog_exec_deploy_uat failed: ${await qt(l)}`);return await l.json()}async backlog_exec_log_tail(t){const r=String((t==null?void 0:t.request_id)||"").trim();if(!r)throw new Error("backlog_exec_log_tail: request_id is required");const o=new URLSearchParams,l=String((t==null?void 0:t.name)||"").trim();l&&o.set("name",l);const u=typeof(t==null?void 0:t.max_bytes)=="number"&&Number.isFinite(t.max_bytes)?Number(t.max_bytes):0;u>0&&o.set("max_bytes",String(Math.floor(u)));const c=xt(this._cfg.base_url,`/api/gateway/backlog/exec/requests/${encodeURIComponent(r)}/logs/tail?${o.toString()}`),f=await fetch(c,{headers:{...vt(this._cfg.auth_token)}});if(!f.ok)throw new Error(`backlog_exec_log_tail failed: ${await qt(f)}`);return await f.json()}async backlog_exec_active_items(t){const r=new URLSearchParams,o=String((t==null?void 0:t.status)||"").trim();o&&r.set("status",o);const l=typeof(t==null?void 0:t.limit)=="number"&&Number.isFinite(t.limit)?Number(t.limit):600;r.set("limit",String(l));const u=xt(this._cfg.base_url,`/api/gateway/backlog/exec/active_items?${r.toString()}`),c=await fetch(u,{headers:{...vt(this._cfg.auth_token)}});if(!c.ok)throw new Error(`backlog_exec_active_items failed: ${await qt(c)}`);return await c.json()}async backlog_upload_attachment(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.filename)||"").trim(),l=t==null?void 0:t.file;if(!r)throw new Error("backlog_upload_attachment: kind is required");if(!o)throw new Error("backlog_upload_attachment: filename is required");if(!l)throw new Error("backlog_upload_attachment: file is required");const u=(t==null?void 0:t.overwrite)===!0,c=new FormData;c.set("overwrite",u?"true":"false"),c.set("file",l,l.name||"attachment");const f=await fetch(xt(this._cfg.base_url,`/api/gateway/backlog/${encodeURIComponent(r)}/${encodeURIComponent(o)}/attachments/upload`),{method:"POST",headers:{...vt(this._cfg.auth_token)},body:c});if(!f.ok)throw new Error(`backlog_upload_attachment failed: ${await qt(f)}`);return await f.json()}async backlog_assist(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.package)||"").trim(),l=String((t==null?void 0:t.title)||"").trim();if(!r)throw new Error("backlog_assist: kind is required");if(!o)throw new Error("backlog_assist: package is required");if(!l)throw new Error("backlog_assist: title is required");const u=Array.isArray(t==null?void 0:t.messages)?t.messages:[],c={kind:r,package:o,title:l,messages:u},f=String((t==null?void 0:t.summary)||"").trim();f&&(c.summary=f);const m=(t==null?void 0:t.draft_markdown)==null?"":String(t.draft_markdown??"");m.trim()&&(c.draft_markdown=m);const _=String((t==null?void 0:t.provider)||"").trim();_&&(c.provider=_);const g=String((t==null?void 0:t.model)||"").trim();g&&(c.model=g);const x=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/assist"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(c)});if(!x.ok)throw new Error(`backlog_assist failed: ${await qt(x)}`);return await x.json()}async backlog_maintain(t){const r=String((t==null?void 0:t.kind)||"").trim(),o=String((t==null?void 0:t.filename)||"").trim(),l=String((t==null?void 0:t.package)||"").trim(),u=String((t==null?void 0:t.title)||"").trim();if(!r)throw new Error("backlog_maintain: kind is required");if(!o)throw new Error("backlog_maintain: filename is required");if(!l)throw new Error("backlog_maintain: package is required");if(!u)throw new Error("backlog_maintain: title is required");const c=Array.isArray(t==null?void 0:t.messages)?t.messages:[],f={kind:r,filename:o,package:l,title:u,messages:c},m=String((t==null?void 0:t.summary)||"").trim();m&&(f.summary=m);const _=(t==null?void 0:t.draft_markdown)==null?"":String(t.draft_markdown??"");_.trim()&&(f.draft_markdown=_);const g=String((t==null?void 0:t.provider)||"").trim();g&&(f.provider=g);const x=String((t==null?void 0:t.model)||"").trim();x&&(f.model=x);const v=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/maintain"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(f)});if(!v.ok)throw new Error(`backlog_maintain failed: ${await qt(v)}`);return await v.json()}async backlog_advisor(t){const o={messages:Array.isArray(t==null?void 0:t.messages)?t.messages:[]},l=String((t==null?void 0:t.provider)||"").trim();l&&(o.provider=l);const u=String((t==null?void 0:t.model)||"").trim();u&&(o.model=u);const c=String((t==null?void 0:t.agent)||"").trim();c&&(o.agent=c),(t==null?void 0:t.include_trace)===!0&&(o.include_trace=!0);const f=String((t==null?void 0:t.focus_kind)||"").trim();f&&(o.focus_kind=f);const m=String((t==null?void 0:t.focus_type)||"").trim();m&&(o.focus_type=m);const _=await fetch(xt(this._cfg.base_url,"/api/gateway/backlog/advisor"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(o)});if(!_.ok)throw new Error(`backlog_advisor failed: ${await qt(_)}`);return await _.json()}async bug_report_create(t){const r=String((t==null?void 0:t.session_id)||"").trim();if(!r)throw new Error("bug_report_create: session_id is required");const o=String((t==null?void 0:t.description)||"").trim();if(!o)throw new Error("bug_report_create: description is required");const l={session_id:r,description:o},u=String((t==null?void 0:t.active_run_id)||"").trim();u&&(l.active_run_id=u);const c=String((t==null?void 0:t.workflow_id)||"").trim();c&&(l.workflow_id=c);const f=String((t==null?void 0:t.client)||"").trim();f&&(l.client=f);const m=String((t==null?void 0:t.client_version)||"").trim();m&&(l.client_version=m);const _=String((t==null?void 0:t.user_agent)||"").trim();_&&(l.user_agent=_);const g=String((t==null?void 0:t.url)||"").trim();g&&(l.url=g);const x=String((t==null?void 0:t.provider)||"").trim();x&&(l.provider=x);const v=String((t==null?void 0:t.model)||"").trim();v&&(l.model=v);const w=String((t==null?void 0:t.template)||"").trim();w&&(l.template=w);const j=t==null?void 0:t.context;j&&typeof j=="object"&&(l.context=j);const b=await fetch(xt(this._cfg.base_url,"/api/gateway/bugs/report"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!b.ok)throw new Error(`bug_report_create failed: ${await qt(b)}`);return await b.json()}async feature_report_create(t){const r=String((t==null?void 0:t.session_id)||"").trim();if(!r)throw new Error("feature_report_create: session_id is required");const o=String((t==null?void 0:t.description)||"").trim();if(!o)throw new Error("feature_report_create: description is required");const l={session_id:r,description:o},u=String((t==null?void 0:t.active_run_id)||"").trim();u&&(l.active_run_id=u);const c=String((t==null?void 0:t.workflow_id)||"").trim();c&&(l.workflow_id=c);const f=String((t==null?void 0:t.client)||"").trim();f&&(l.client=f);const m=String((t==null?void 0:t.client_version)||"").trim();m&&(l.client_version=m);const _=String((t==null?void 0:t.user_agent)||"").trim();_&&(l.user_agent=_);const g=String((t==null?void 0:t.url)||"").trim();g&&(l.url=g);const x=String((t==null?void 0:t.provider)||"").trim();x&&(l.provider=x);const v=String((t==null?void 0:t.model)||"").trim();v&&(l.model=v);const w=String((t==null?void 0:t.template)||"").trim();w&&(l.template=w);const j=t==null?void 0:t.context;j&&typeof j=="object"&&(l.context=j);const b=await fetch(xt(this._cfg.base_url,"/api/gateway/features/report"),{method:"POST",headers:{"Content-Type":"application/json",...vt(this._cfg.auth_token)},body:JSON.stringify(l)});if(!b.ok)throw new Error(`feature_report_create failed: ${await qt(b)}`);return await b.json()}async stream_ledger(t,r){const o=Number((r==null?void 0:r.after)||0),l=r.on_step,u=r.signal,c=xt(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(t)}/ledger/stream?after=${encodeURIComponent(String(o))}`),f=await fetch(c,{headers:{Accept:"text/event-stream",...vt(this._cfg.auth_token)},signal:u});if(!f.ok)throw new Error(`stream_ledger failed: ${f.status}`);if(!f.body)throw new Error("stream_ledger: response body is missing");const m=f.body.getReader(),_=new TextDecoder("utf-8"),g=new Bv;for(;;){const{value:x,done:v}=await m.read();if(v)return;const w=_.decode(x,{stream:!0});g.push(w,j=>{if(!(j.event!=="step"||!j.data))try{const b=JSON.parse(j.data);b&&typeof b.cursor=="number"&&b.record&&l(b)}catch{}})}}}function cs(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`id_${Date.now()}_${Math.random().toString(16).slice(2)}`}function Wv(e){const t=(e||"").trim();return t?{Authorization:`Bearer ${t}`}:{}}class Hv{constructor(t){gu(this,"_cfg");this._cfg={...t,url:(t.url||"").trim()}}async call_tool(t){const r=String((t==null?void 0:t.name)||"").trim(),o=String((t==null?void 0:t.call_id)||(t==null?void 0:t.id)||cs()),l=t!=null&&t.arguments&&typeof t.arguments=="object"?t.arguments:{};if(!r)return{call_id:o,name:"",success:!1,output:null,error:"Missing tool name"};const u={jsonrpc:"2.0",id:cs(),method:"tools/call",params:{name:r,arguments:l}},c=await fetch(this._cfg.url,{method:"POST",headers:{"Content-Type":"application/json",...Wv(this._cfg.auth_token)},body:JSON.stringify(u)});if(!c.ok)return{call_id:o,name:r,success:!1,output:null,error:`Worker HTTP ${c.status}`};const f=await c.json().catch(()=>null),m=f==null?void 0:f.result,_=!!(m!=null&&m.isError),x=(Array.isArray(m==null?void 0:m.content)?m.content:[]).find(w=>w&&w.type==="text"&&typeof w.text=="string"),v=(x==null?void 0:x.text)??"";return _?{call_id:o,name:r,success:!1,output:null,error:v||"Tool failed"}:{call_id:o,name:r,success:!0,output:v,error:null}}}function ll(e){var o;const t=e,r=(o=t==null?void 0:t.result)==null?void 0:o.wait;return!r||typeof r!="object"?null:r}function yd(e){var u,c,f;const t=e,r=t==null?void 0:t.effect;if(!r||typeof r!="object"||String(r.type||"")!=="emit_event")return null;const o=String(((u=r==null?void 0:r.payload)==null?void 0:u.name)||((c=r==null?void 0:r.payload)==null?void 0:c.event_name)||"").trim();if(!o)return null;const l=(f=r==null?void 0:r.payload)==null?void 0:f.payload;return{name:o,payload:l}}function i_(e){const t=e,r=t==null?void 0:t.details;if(!r||typeof r!="object")return[];const o=r==null?void 0:r.tool_calls;return Array.isArray(o)?o:[]}const qv={execution:"#FFFFFF",string:"#FF00FF",number:"#00FF00",boolean:"#FF0000",object:"#00FFFF",array:"#FF8800",tools:"#FF8800",provider:"#00D2FF",model:"#9D4EDD",agent:"#4488FF",any:"#888888"},Vv=[{type:"execution",label:"Execution",shape:"▷",description:"Controls flow order"},{type:"string",label:"String",shape:"●",description:"Text data"},{type:"number",label:"Number",shape:"●",description:"Integer or float"},{type:"boolean",label:"Boolean",shape:"◇",description:"True/False"},{type:"object",label:"Object",shape:"●",description:"JSON objects"},{type:"array",label:"Array",shape:"■",description:"Collections"},{type:"tools",label:"Tools",shape:"■",description:"Tool allowlist (string[])"},{type:"provider",label:"Provider",shape:"●",description:"LLM provider id/name (string-like)"},{type:"model",label:"Model",shape:"●",description:"LLM model id/name (string-like)"},{type:"agent",label:"Agent",shape:"⬢",description:"Agent reference"},{type:"any",label:"Any",shape:"●",description:"Accepts any type"}];function Gv(){const[e,t]=p.useState(!0);return s.jsxs("div",{className:"pin-legend",children:[s.jsxs("button",{className:"pin-legend-toggle mono",type:"button",onClick:()=>t(r=>!r),title:"Pin Type Legend",children:[e?"?":"×"," Pin Types"]}),e?null:s.jsxs("div",{className:"pin-legend-content",children:[Vv.map(r=>s.jsxs("div",{className:"pin-legend-row",children:[s.jsx("span",{className:"pin-legend-shape",style:{color:qv[r.type]},children:r.shape}),s.jsx("span",{className:"pin-legend-label mono",children:r.label}),s.jsx("span",{className:"pin-legend-desc mono",children:r.description})]},r.type)),s.jsxs("div",{className:"pin-legend-rules mono",children:[s.jsx("strong",{children:"Connection Rules:"}),s.jsxs("ul",{children:[s.jsx("li",{children:"Execution connects to Execution only"}),s.jsx("li",{children:'"Any" type accepts all data types'}),s.jsx("li",{children:"Same types always compatible"}),s.jsx("li",{children:"Array and Object are interchangeable"}),s.jsx("li",{children:'"Tools" is compatible with Array (specialized string[])'})]})]})]})]})}function jn(e){return typeof e=="string"?e:e==null?"":String(e)}function kp(e,t){const r=jn(e).trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}function o_(e){const t=jn(e==null?void 0:e.targetHandle),r=jn(e==null?void 0:e.sourceHandle);return!!(t==="exec-in"||r==="exec-out"||t.includes("exec")||r.includes("exec"))}function a_(e){if(!e||typeof e!="object")return"";const t=e!=null&&e.data&&typeof e.data=="object"?e.data:{};return jn((t==null?void 0:t.nodeType)||(e==null?void 0:e.type)||"").trim()}function l_(e){if(!e||typeof e!="object")return"";const t=e!=null&&e.data&&typeof e.data=="object"?e.data:{},r=(t==null?void 0:t.subflowId)||(t==null?void 0:t.flowId),o=jn(r).trim();if(!o)return"";if(o.includes(":")){const l=o.split(":",2);if(l.length===2&&l[1])return l[1].trim()}return o}function Yv(e){const t=jn(e==null?void 0:e.entryNode).trim();if(t)return t;const r=Array.isArray(e==null?void 0:e.nodes)?e.nodes:[];for(const o of r)if(a_(o)==="on_flow_start"){const l=jn(o==null?void 0:o.id).trim();if(l)return l}return""}function Jf(e){const t=e!=null&&e.position&&typeof e.position=="object"?e.position:{},r=typeof t.x=="number"?t.x:0,o=typeof t.y=="number"?t.y:0;return{x:r,y:o}}function xu(e,t){const r=jn(e).trim(),o=jn(t).trim();return o?r?`${r}::${o}`:o:""}function Xv(e){const t=e.root&&typeof e.root=="object"?e.root:{};if(!e.expand_subflows)return t;const r=[],o=[],l=new Set,u=(c,f,m,_)=>{if(!c||typeof c!="object"||r.length>=e.max_nodes||o.length>=e.max_edges)return;const g=Array.isArray(c.nodes)?c.nodes:[],x=Array.isArray(c.edges)?c.edges:[];for(const v of g){const w=jn(v==null?void 0:v.id).trim();if(!w)continue;const j=xu(f,w);if(!j||l.has(j))continue;const b=Jf(v),T={...v,id:j,position:{x:b.x+m.x,y:b.y+m.y}};if(r.push(T),l.add(j),r.length>=e.max_nodes)break}for(const v of x){if(!o_(v))continue;const w=jn(v==null?void 0:v.source).trim(),j=jn(v==null?void 0:v.target).trim();if(!w||!j)continue;const b=xu(f,w),T=xu(f,j);if(!b||!T)continue;const A=jn(v==null?void 0:v.id).trim(),W=A?`${b}->${T}::${A}`:`${b}->${T}`;if(o.push({...v,id:W,source:b,target:T}),o.length>=e.max_edges)break}if(!(_>=e.max_depth))for(const v of g){if(r.length>=e.max_nodes||o.length>=e.max_edges)return;if(a_(v)!=="subflow")continue;const w=l_(v);if(!w)continue;const j=e.flow_by_id[w];if(!j||typeof j!="object")continue;const b=xu(f,jn(v==null?void 0:v.id));if(!b)continue;const T=Yv(j);if(!T)continue;const W=(Array.isArray(j.nodes)?j.nodes:[]).find(ge=>jn(ge==null?void 0:ge.id).trim()===T)||null;if(!W)continue;const H=Jf(v),M=Jf(W),V={x:H.x+m.x+240-M.x,y:H.y+m.y+0-M.y},Z=xu(b,T);o.push({id:`${b}=>${Z}`,source:b,target:Z,sourceHandle:"exec-out",targetHandle:"exec-in"}),u(j,b,V,_+1)}};return u(t,"",{x:0,y:0},0),{...t,id:jn(t.id),nodes:r,edges:o}}function Kv(e){const t=jn(e).trim().toLowerCase();return t?!!(t.startsWith("literal")||t.includes("literal")||t==="concat"||t==="join"||t==="cast"||t==="parse_json"||t==="stringify_json"||t==="break_object"||t==="get_property"||t==="set_property"||t.includes("get_property")||t.includes("set_property")||t==="get_variable"||t==="set_variable"||t.includes("get_variable")||t.includes("set_variable")||t==="json_schema"):!1}function Jv(e){const t=e.nodes.filter(u=>e.keep_id(u.id)),r=new Set(t.map(u=>u.id)),o={};for(const u of e.edges)o[u.source]||(o[u.source]=[]),o[u.source].push(u.target);const l=new Map;for(const u of t){const c=new Set,f=(o[u.id]||[]).slice();for(;f.length;){const m=f.pop();if(!m||c.has(m))continue;if(c.add(m),r.has(m)){const g=`${u.id}->${m}`;l.has(g)||l.set(g,{id:g,source:u.id,target:m});continue}const _=o[m]||[];for(const g of _)c.has(g)||f.push(g);if(l.size>=e.max_edges)break}if(l.size>=e.max_edges)break}return{nodes:t,edges:Array.from(l.values())}}function Np(e,t){const l=Math.max(t.w*8,160),u=Math.max(t.h*8,120),c=Math.max(160,Math.min(l,e.w)),f=Math.max(120,Math.min(u,e.h));return{x:e.x,y:e.y,w:c,h:f}}function Qv(e){const t=typeof e.now_ms=="number"?e.now_ms:Date.now(),r=e.flow,o=jn(e.active_node_id),l=e.recent_nodes||{},u=e.visited_nodes||{},c=e.highlight_path===!0,f=typeof e.vertical_compact=="number"?Math.max(.4,Math.min(1,e.vertical_compact)):.78,{nodes:m,edges:_,bounds:g}=p.useMemo(()=>{const R=Xv({root:r||{},flow_by_id:e.flow_by_id||{},expand_subflows:e.expand_subflows===!0,max_depth:3,max_nodes:700,max_edges:900}),L=Array.isArray(R.nodes)?R.nodes:[],O=Array.isArray(R.edges)?R.edges:[];let $=[];for(const ze of L){const Ae=jn(ze==null?void 0:ze.id).trim();if(!Ae)continue;const Ct=ze!=null&&ze.position&&typeof ze.position=="object"?ze.position:{},kt=typeof Ct.x=="number"?Ct.x:0,Ot=typeof Ct.y=="number"?Ct.y:0,lt=ze!=null&&ze.data&&typeof ze.data=="object"?ze.data:{},me=jn((lt==null?void 0:lt.label)||(ze==null?void 0:ze.label)||Ae)||Ae,tn=jn((lt==null?void 0:lt.nodeType)||(ze==null?void 0:ze.type)||"unknown")||"unknown",we=jn((lt==null?void 0:lt.headerColor)||(ze==null?void 0:ze.headerColor)||"")||"",Xe=lt!=null&<.eventConfig&&typeof lt.eventConfig=="object"?lt.eventConfig:null,Ke=Xe&&typeof Xe.schedule=="string"?jn(Xe.schedule).trim():"",St=Xe&&typeof Xe.recurrent=="boolean"?!!Xe.recurrent:void 0,$n=tn==="subflow"?l_(ze):"",Yt=Ke||St!==void 0||$n?{schedule:Ke||void 0,recurrent:St,subflow_id:$n||void 0}:void 0;$.push({id:Ae,x:kt,y:Ot,label:me,type:tn,color:we,meta:Yt})}const D={};for(const ze of $)D[ze.id]=ze;let ne=[];for(const ze of O){if(!o_(ze))continue;const Ae=jn(ze==null?void 0:ze.source).trim(),Ct=jn(ze==null?void 0:ze.target).trim();!Ae||!Ct||ne.push({id:jn((ze==null?void 0:ze.id)||`${Ae}->${Ct}`),source:Ae,target:Ct})}const ae=new Set($.map(ze=>ze.id));if(ne=ne.filter(ze=>ae.has(ze.source)&&ae.has(ze.target)),e.simplify===!0){const Ae=Jv({nodes:$,edges:ne,keep_id:Ct=>{if(o&&Ct===o)return!0;const kt=D[Ct];if(!kt)return!1;const Ot=jn(kt.type).trim().toLowerCase();return Ot==="on_flow_start"||Ot==="on_flow_end"||Ot==="subflow"?!0:!Kv(Ot)},max_edges:900});$=Ae.nodes,ne=Ae.edges}if(e.prefer_vertical===!0&&$.length>=2){const ze=$.map(lt=>lt.x),Ae=$.map(lt=>lt.y),Ct=Math.max(...ze)-Math.min(...ze),kt=Math.max(...Ae)-Math.min(...Ae);Ct>=kt&&($=$.map(lt=>({...lt,x:lt.y,y:lt.x})));const Ot=Math.min(...$.map(lt=>lt.y));$=$.map(lt=>({...lt,y:Ot+(lt.y-Ot)*f}))}const ve={};for(const ze of $)ve[ze.id]=ze;const $e=160,ue=56,he=$e/2,Fe=ue/2;let K=0,Me=0,Ne=0,Ye=0;$.length&&(K=Math.min(...$.map(ze=>ze.x)),Me=Math.min(...$.map(ze=>ze.y)),Ne=Math.max(...$.map(ze=>ze.x+$e)),Ye=Math.max(...$.map(ze=>ze.y+ue)));let Le=0;if(ne.length){const ze=new Set(ne.map(Ae=>`${Ae.source}->${Ae.target}`));for(const Ae of ne){if(!ze.has(`${Ae.target}->${Ae.source}`))continue;const Ct=ve[Ae.source],kt=ve[Ae.target];if(!Ct||!kt)continue;const Ot=Ct.x+he,lt=Ct.y+Fe,me=kt.x+he,tn=kt.y+Fe,we=Math.max(1,Math.hypot(me-Ot,tn-lt)),Xe=Math.max(28,Math.min(72,we*.14)),Ke=Math.min(200,Xe*3.5);Ke>Le&&(Le=Ke)}}const mt=60+Le,gt={x:K-mt,y:Me-mt,w:Ne-K+mt*2,h:Ye-Me+mt*2,node_w:$e,node_h:ue};return{nodes:$,edges:ne,bounds:gt}},[r,e.flow_by_id,e.expand_subflows,e.simplify,e.prefer_vertical,o,f]);if(!r)return s.jsx("div",{className:"graph_empty mono",children:"(no graph loaded)"});const x=p.useRef(null),[v,w]=p.useState(()=>({x:g.x,y:g.y,w:g.w,h:g.h})),j=p.useRef(v);j.current=v,p.useEffect(()=>{w({x:g.x,y:g.y,w:g.w,h:g.h})},[g.x,g.y,g.w,g.h]);const b=p.useRef(new Map),T=p.useRef(null),A=`${v.x} ${v.y} ${v.w} ${v.h}`,W={};for(const R of m)W[R.id]=R;const H=R=>{let L=jn(R).trim();if(!L)return"";if(W[L])return L;for(;L.includes("::");)if(L=L.slice(0,Math.max(0,L.lastIndexOf("::"))),W[L])return L;return""},M=H(o),G={};for(const[R,L]of Object.entries(l)){if(typeof L!="number")continue;const O=H(R);O&&(G[O]=Math.max(G[O]||0,L))}const te={};if(c)for(const[R,L]of Object.entries(u)){if(typeof L!="number")continue;const O=H(R);O&&(te[O]=typeof te[O]=="number"?Math.min(te[O],L):L)}const V=jn(e.schedule_next_in).trim(),Z=jn(e.schedule_interval).trim(),ge=e.node_last_ms&&typeof e.node_last_ms=="object"?e.node_last_ms:{},xe=R=>{try{const L=new Date(R),O=String(L.getHours()).padStart(2,"0"),$=String(L.getMinutes()).padStart(2,"0");return`${O}:${$}`}catch{return""}},ke=(R,L)=>{var ne,ae;const O=jn((ne=R.meta)==null?void 0:ne.schedule).trim();if(!(((ae=R.meta)==null?void 0:ae.recurrent)===!0))return L&&V?`next ${V}`:O&&O.length<=12&&!O.includes("T")?`in ${O}`:"scheduled";const D=O||Z;return D?L&&V?`${D} • next ${V}`:`every ${D}`:L&&V?`next ${V}`:"scheduled"},Te=R=>{var $e;const L=jn(($e=R.meta)==null?void 0:$e.subflow_id).trim(),O=L&&e.flow_by_id?e.flow_by_id[L]:null,D=jn(O==null?void 0:O.name).trim()||L||R.label||R.id,ne=typeof ge[R.id]=="number"?Number(ge[R.id]):null,ae=ne!==null?xe(ne):"",ve=ae?`last ${ae}`:"subflow";return{label:D,sub:ve}},oe=(R,L,O)=>{const $=O||j.current,D=x.current;if(!D)return{x:R,y:L};const ne=D.getBoundingClientRect(),ae=ne.width>0?(R-ne.left)/ne.width:0,ve=ne.height>0?(L-ne.top)/ne.height:0;return{x:$.x+ae*$.w,y:$.y+ve*$.h}},I=(R,L,O)=>{const $=O||j.current,D=Math.max(.12,Math.min(8,L)),ne=$.w*D,ae=$.h*D,ve=$.w>0?(R.x-$.x)/$.w:.5,$e=$.h>0?(R.y-$.y)/$.h:.5,ue=R.x-ve*ne,he=R.y-$e*ae;w(Np({x:ue,y:he,w:ne,h:ae},g))},se=(R,L,O)=>{const $=O||j.current,D=x.current;if(!D)return;const ne=D.getBoundingClientRect(),ae=.88,ve=ne.width>0?R/ne.width*$.w*ae:0,$e=ne.height>0?L/ne.height*$.h*ae:0;w(ue=>Np({x:(O||ue).x-ve,y:(O||ue).y-$e,w:(O||ue).w,h:(O||ue).h},g))},Q=p.useMemo(()=>{const R=new Set;for(const L of _)R.add(`${L.source}->${L.target}`);return R},[_]),ce=(R,L,O,$)=>{const D=g.node_w,ne=g.node_h,ae=Math.abs(O),ve=Math.abs($);if(ae<1e-6&&ve<1e-6)return{x:R,y:L};const $e=ae>1e-6?D/2/ae:Number.POSITIVE_INFINITY,ue=ve>1e-6?ne/2/ve:Number.POSITIVE_INFINITY,he=Math.min($e,ue);return{x:R+O*he,y:L+$*he}};return s.jsxs("div",{className:"graph_wrap",children:[s.jsxs("div",{className:"graph_corner",children:[s.jsxs("div",{className:"graph_corner_buttons",children:[s.jsx("button",{className:"btn graph_corner_btn",type:"button",onClick:()=>w({x:g.x,y:g.y,w:g.w,h:g.h}),title:"Recenter",children:"⤢"}),s.jsx("button",{className:"btn graph_corner_btn",type:"button",onClick:()=>{const R=x.current;if(!R)return;const L=R.getBoundingClientRect(),O=oe(L.left+L.width/2,L.top+L.height/2);I(O,.84)},title:"Zoom in",children:"+"}),s.jsx("button",{className:"btn graph_corner_btn",type:"button",onClick:()=>{const R=x.current;if(!R)return;const L=R.getBoundingClientRect(),O=oe(L.left+L.width/2,L.top+L.height/2);I(O,1.18)},title:"Zoom out",children:"−"})]}),s.jsx(Gv,{})]}),s.jsxs("svg",{ref:x,className:"graph_svg",viewBox:A,role:"img","aria-label":"Workflow execution graph",onWheel:R=>{R.preventDefault();const L=oe(R.clientX,R.clientY),O=typeof R.deltaY=="number"?R.deltaY:0,$=typeof R.deltaMode=="number"?Number(R.deltaMode):0,D=$===1?O*24:$===2?O*800:O,ne=45e-5*1.15*1.1;let ae=Math.exp(D*ne);ae=Math.max(.86,Math.min(1.16,ae)),I(L,ae)},onPointerDown:R=>{var O,$;($=(O=R.currentTarget).setPointerCapture)==null||$.call(O,R.pointerId),b.current.set(R.pointerId,{x:R.clientX,y:R.clientY});const L=Array.from(b.current.values());if(L.length===1)T.current={mode:"pan",start_view:j.current,start_client:{x:R.clientX,y:R.clientY},start_dist:0,anchor_svg:{x:0,y:0}};else if(L.length>=2){const D=L[0],ne=L[1],ae=D.x-ne.x,ve=D.y-ne.y,$e=Math.max(1,Math.hypot(ae,ve)),ue={x:(D.x+ne.x)/2,y:(D.y+ne.y)/2},he=j.current;T.current={mode:"pinch",start_view:he,start_client:ue,start_dist:$e,anchor_svg:oe(ue.x,ue.y,he)}}},onPointerMove:R=>{if(!b.current.has(R.pointerId))return;b.current.set(R.pointerId,{x:R.clientX,y:R.clientY});const L=T.current;if(!L)return;const O=Array.from(b.current.values());if(L.mode==="pan"&&O.length===1){const $=R.clientX-L.start_client.x,D=R.clientY-L.start_client.y;se($,D,L.start_view)}else if(L.mode==="pinch"&&O.length>=2){const $=O[0],D=O[1],ne=$.x-D.x,ae=$.y-D.y,ve=Math.max(1,Math.hypot(ne,ae)),$e=L.start_dist/ve;I(L.anchor_svg,$e,L.start_view)}},onPointerUp:R=>{b.current.delete(R.pointerId),b.current.size===0&&(T.current=null)},onPointerCancel:R=>{b.current.delete(R.pointerId),b.current.size===0&&(T.current=null)},children:[s.jsxs("defs",{children:[s.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:s.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"rgba(148,163,184,0.55)"})}),s.jsxs("filter",{id:"glow",children:[s.jsx("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"}),s.jsxs("feMerge",{children:[s.jsx("feMergeNode",{in:"coloredBlur"}),s.jsx("feMergeNode",{in:"SourceGraphic"})]})]})]}),_.map(R=>{const L=W[R.source],O=W[R.target];if(!L||!O)return null;const $=L.x+g.node_w/2,D=L.y+g.node_h/2,ne=O.x+g.node_w/2,ae=O.y+g.node_h/2,ve=ne-$,$e=ae-D,ue=ce($,D,ve,$e),he=ce(ne,ae,-ve,-$e),Fe=R.source!==R.target&&Q.has(`${R.target}->${R.source}`),K=Math.max(1,Math.hypot(ve,$e)),Me=-$e/K,Ne=ve/K,Ye=String(R.source)<String(R.target)?1:-1,mt=Math.abs(ve)>=Math.abs($e)?ve>=0:$e>=0,gt=!Fe||mt,ze=Math.max(28,Math.min(72,K*.14)),Ae=Math.min(200,ze*3.5),Ct=Fe&&!gt?Ae*Ye:0,kt=(ue.x+he.x)/2+Me*Ct,Ot=(ue.y+he.y)/2+Ne*Ct,lt=Fe&&!gt?`M ${ue.x} ${ue.y} Q ${kt} ${Ot} ${he.x} ${he.y}`:`M ${ue.x} ${ue.y} L ${he.x} ${he.y}`,me=c&&te&&te[R.source]!==void 0&&te[R.target]!==void 0;return s.jsx("path",{d:lt,className:`graph_edge ${me?"visited":""}`,markerEnd:"url(#arrow)",fill:"none"},R.id)}),m.map(R=>{const O=(typeof G[R.id]=="number"?G[R.id]:0)>t,$=M&&R.id===M,D=c&&te&&te[R.id]!==void 0,ne=`graph_node ${$?"active":O?"recent":""} ${D?"visited":""}`,ae=R.color||"rgba(255,255,255,0.16)";let ve=R.label||R.id,$e=R.type;if(R.type==="on_schedule")$e=ke(R,!!$);else if(R.type==="subflow"){const Fe=Te(R);ve=Fe.label,$e=Fe.sub}const ue=kp(ve,22),he=kp($e,22);return s.jsxs("g",{className:ne,transform:`translate(${R.x}, ${R.y})`,children:[s.jsx("rect",{className:"graph_node_bg",width:g.node_w,height:g.node_h,rx:12,ry:12}),s.jsx("rect",{className:"graph_node_bar",width:g.node_w,height:6,rx:12,ry:12,fill:ae}),s.jsx("text",{className:"graph_node_label",x:12,y:28,children:ue}),s.jsx("text",{className:"graph_node_type",x:12,y:46,children:he}),R.type==="on_schedule"?s.jsx("text",{className:"graph_node_icon",x:g.node_w-18,y:18,children:"⏰"}):null]},R.id)})]})]})}function Jm(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function c_(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:Jm(e)?`Object(${Object.keys(e).length})`:typeof e}function Cp(e,t){const r={},o=(l,u,c)=>{if(Array.isArray(l)){c>=t.depth_threshold&&l.length>=t.min_items&&(r[u]=!0),l.forEach((f,m)=>o(f,`${u}[${m}]`,c+1));return}if(Jm(l)){const f=Object.keys(l);c>=t.depth_threshold&&f.length>=t.min_items&&(r[u]=!0),f.forEach(m=>o(l[m],`${u}.${m}`,c+1))}};return o(e,"$",0),r}function u_(e){const t=typeof e.max_string_len=="number"?e.max_string_len:240,r=p.useMemo(()=>e.value,[e.value]),[o,l]=p.useState(()=>Cp(r,{depth_threshold:2,min_items:6})),[u,c]=p.useState({});p.useEffect(()=>{l(Cp(r,{depth_threshold:2,min_items:6})),c({})},[r]);const f=_=>l(g=>({...g,[_]:!g[_]})),m=_=>c(g=>({...g,[_]:!g[_]}));return s.jsx("div",{className:"json_viewer",children:Qm({value:r,path:"$",depth:0,is_last:!0,collapsed:o,expanded_string:u,toggle_collapse:f,toggle_string:m,max_string_len:t})})}function Qm(e){const t=e.value,r=e.prefix||null;return t===null?Zi(e.depth,r,s.jsx("span",{className:"json_null",children:"null"}),e.is_last):t===void 0?Zi(e.depth,r,s.jsx("span",{className:"json_null",children:"undefined"}),e.is_last):typeof t=="string"?Zi(e.depth,r,Zv(t,e),e.is_last):typeof t=="number"?Zi(e.depth,r,s.jsx("span",{className:"json_number",children:String(t)}),e.is_last):typeof t=="boolean"?Zi(e.depth,r,s.jsx("span",{className:"json_bool",children:String(t)}),e.is_last):Array.isArray(t)?ew(t,e):Jm(t)?tw(t,e):Zi(e.depth,r,s.jsx("span",{className:"json_string",children:JSON.stringify(String(t))}),e.is_last)}function Zv(e,t){const r=t.expanded_string[t.path]===!0,o=e.length>t.max_string_len,l=o&&!r?e.slice(0,t.max_string_len):e,u=JSON.stringify(l);return s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"json_string",children:u}),o?s.jsxs(s.Fragment,{children:[r?null:s.jsx("span",{className:"json_ellipsis",children:"…"}),s.jsx("button",{className:"json_toggle json_toggle_inline",onClick:()=>t.toggle_string(t.path),title:r?"Collapse string":"Expand string",children:r?"−":"+"}),s.jsxs("span",{className:"json_hint",children:[e.length," chars"]})]}):null]})}function ew(e,t){const r=t.collapsed[t.path]===!0,o=e.length;return r?Zi(t.depth,t.prefix,s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"json_toggle",onClick:()=>t.toggle_collapse(t.path),title:"Expand",children:"▶"}),s.jsx("span",{className:"json_brace",children:"["}),s.jsx("span",{className:"json_hint",children:c_(e)}),s.jsx("span",{className:"json_brace",children:"]"}),s.jsxs("span",{className:"json_hint",children:[" ",o]})]}),t.is_last):s.jsxs(s.Fragment,{children:[Zi(t.depth,t.prefix,s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"json_toggle",onClick:()=>t.toggle_collapse(t.path),title:"Collapse",children:"▼"}),s.jsx("span",{className:"json_brace",children:"["})]}),!0),e.map((l,u)=>Qm({...t,value:l,path:`${t.path}[${u}]`,depth:t.depth+1,is_last:u===e.length-1,prefix:null})),Zi(t.depth,null,s.jsx("span",{className:"json_brace",children:"]"}),t.is_last)]})}function tw(e,t){const r=t.collapsed[t.path]===!0,o=Object.keys(e),l=o.length;return r?Zi(t.depth,t.prefix,s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"json_toggle",onClick:()=>t.toggle_collapse(t.path),title:"Expand",children:"▶"}),s.jsx("span",{className:"json_brace",children:"{"}),s.jsx("span",{className:"json_hint",children:c_(e)}),s.jsx("span",{className:"json_brace",children:"}"}),s.jsxs("span",{className:"json_hint",children:[" ",l]})]}),t.is_last):s.jsxs(s.Fragment,{children:[Zi(t.depth,t.prefix,s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"json_toggle",onClick:()=>t.toggle_collapse(t.path),title:"Collapse",children:"▼"}),s.jsx("span",{className:"json_brace",children:"{"})]}),!0),o.map((u,c)=>{const f=`${t.path}.${u}`,m=c===o.length-1,_=e[u],g=s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"json_key",children:JSON.stringify(u)}),s.jsx("span",{className:"json_colon",children:": "})]});return Qm({...t,value:_,path:f,depth:t.depth+1,is_last:m,prefix:g})}),Zi(t.depth,null,s.jsx("span",{className:"json_brace",children:"}"}),t.is_last)]})}function Zi(e,t,r,o){return s.jsxs("div",{className:"json_line",style:{paddingLeft:`${e*14}px`},children:[t?s.jsx("span",{className:"json_prefix",children:t}):null,r,o?null:s.jsx("span",{className:"json_comma",children:","})]})}function Qf(e,t){const r=String(e||"").replace(/\r/g,"").trim();if(!r)return"";const l=(r.split(`
|
|
70
|
-
`,1)[0]||"").trim();return l.length<=t?l:`${l.slice(0,Math.max(0,t-1))}…`}function nw(e){const t=String(e||"").trim();if(t.length<2)return t;const r=t[0],o=t[t.length-1];return r==="'"&&o==="'"||r==='"'&&o==='"'?t.slice(1,-1):t}function d_(e){const t=String(e||"").trim();if(!t)return"";const r=t.match(/^(?:\/bin\/)?(?:zsh|bash)\s+-lc\s+([\s\S]+)$/);return r?nw(String(r[1]||"").trim()):t}function rw(e,t){const r=String(e||"").trim().toLowerCase();if(r==="error"||r==="turn.failed")return"error";if(r==="turn.completed"||r==="turn.succeeded"||r==="turn.success")return"ok";const o=t&&typeof t=="object"?t:null,l=o&&typeof o.item=="object"?o.item:null;if(l&&String(l.type||"").trim()==="command_execution"){const u=String(l.status||"").trim().toLowerCase();if(u==="failed")return"error";const c=l.exit_code,f=typeof c=="number"?c:Number.isFinite(Number(c))?Number(c):null;if(f!=null)return f===0?"ok":"error";if(u==="completed")return"ok"}return"info"}function sw(e,t){var _;const r=t&&typeof t=="object"?t:{},o=r.item&&typeof r.item=="object"?r.item:null,l=o?String(o.type||"").trim():"",u=o?String(o.text||"").trim():"",c=o?String(o.command||"").trim():"",f=o&&Array.isArray(o.items)?o.items:[],m=String((r==null?void 0:r.message)||((_=r==null?void 0:r.error)==null?void 0:_.message)||"").trim();if(l==="command_execution"&&c)return d_(c)||c;if(l==="todo_list"&&f.length>0){const g=f.length,x=f.filter(A=>(A&&A.completed)===!0).length,v=f.find(A=>(A&&A.completed)!==!0),w=String((v==null?void 0:v.text)||"").trim(),j=g>1?` (+${g-1})`:"",b=g>0?` (${x}/${g})`:"",T=w?`todo: ${w}${j}`:`todo list (${g})`;return Qf(`${T}${b}`,96)}return u?Qf(u,96)||u:m?Qf(m,96)||m:l||String(e||"").trim()||"event"}function Ep(e){const t=new Date(e),r=o=>String(o).padStart(2,"0");return`${r(t.getHours())}:${r(t.getMinutes())}`}function iw(e){var o,l,u;const t=e&&typeof e=="object"?e:{},r=[t.at,t.created_at,t.timestamp,t.time,t.ts,t.datetime,(o=t.item)==null?void 0:o.at,(l=t.item)==null?void 0:l.created_at,(u=t.item)==null?void 0:u.timestamp];for(const c of r)if(c!=null){if(typeof c=="number"&&Number.isFinite(c)){const f=c>1e11?c:c*1e3;return Ep(f)}if(typeof c=="string"){const f=c.trim();if(!f)continue;const m=Date.parse(f.replace(/(\.\d{3})\d+/,"$1"));if(Number.isFinite(m))return Ep(m)}}return null}function $p(e){const t=Array.from(new Set(e.map(r=>String(r||"").trim()).filter(Boolean)));return t.sort((r,o)=>r.localeCompare(o)),t}function f_(e){const t=e.disabled===!0,r=p.useMemo(()=>$p(e.options||[]),[e.options]),o=p.useMemo(()=>$p(e.value||[]),[e.value]),[l,u]=p.useState(!1),[c,f]=p.useState(""),m=p.useMemo(()=>{const v=c.trim().toLowerCase();return v?r.filter(w=>w.toLowerCase().includes(v)):r},[r,c]),_=p.useMemo(()=>new Set(o),[o]),g=typeof e.max_list_height_px=="number"?e.max_list_height_px:220,x=o.length>0?`${o.length} selected: ${o.slice(0,3).join(", ")}${o.length>3?"…":""}`:e.placeholder||"(none)";return s.jsxs("div",{className:"multi_select",children:[s.jsxs("div",{className:"multi_select_row",children:[s.jsxs("button",{className:"btn",type:"button",onClick:()=>u(v=>!v),disabled:t||!r.length,"aria-expanded":l,children:[l?"Hide":"Select"," • ",x]}),s.jsx("button",{className:"btn",type:"button",onClick:()=>e.onChange([]),disabled:t||o.length===0,title:"Clear selection",children:"Clear"})]}),l?s.jsxs("div",{className:"multi_select_panel",children:[s.jsx("input",{className:"mono",value:c,onChange:v=>f(String(v.target.value||"")),placeholder:"filter…",disabled:t}),s.jsxs("div",{className:"multi_select_list",style:{maxHeight:`${g}px`},children:[m.map(v=>{const w=_.has(v);return s.jsxs("label",{className:`multi_select_item mono ${w?"checked":""}`,children:[s.jsx("input",{type:"checkbox",checked:w,disabled:t,onChange:j=>{const b=new Set(_);j.target.checked?b.add(v):b.delete(v),e.onChange(Array.from(b.values()))}}),s.jsx("span",{children:v})]},v)}),m.length?null:s.jsx("div",{className:"mono muted",children:"(no matches)"})]})]}):null]})}function eo({open:e,title:t,children:r,actions:o,variant:l="default",onClose:u}){if(p.useEffect(()=>{if(!e)return;const f=m=>{m.key==="Escape"&&u()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,u]),!e)return null;const c=l==="fullscreen";return s.jsx("div",{className:`modal_backdrop${c?" fullscreen":""}`,onMouseDown:f=>{f.target===f.currentTarget&&u()},children:s.jsxs("div",{className:`modal_panel${c?" fullscreen":""}`,children:[s.jsxs("div",{className:"modal_header",children:[s.jsx("div",{className:"modal_title",children:t}),s.jsx("button",{className:"btn",onClick:u,children:"Close"})]}),s.jsx("div",{className:"modal_body",children:r}),o?s.jsx("div",{className:"modal_footer",children:o}):null]})})}function ea(e){return e!=="processing"&&e!=="failed"}function Mu(e){const t=String(e||"").trim().toLowerCase();return t==="bug"||t==="feature"||t==="task"?t:"task"}function m_(e){return e.toUpperCase()}function Tp(e){return e==="bug"?"danger":e==="feature"?"ok":"task"}function h_(e){const t=String(e||"").trim();return t.replace(/^\[(bug|feature|task)\]\s*/i,"").trim()||t}function ta(e,t){const r=String(e||"");return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}function Zf(e){return typeof(e==null?void 0:e.parsed)=="boolean"?!!e.parsed:typeof e.item_id=="number"&&e.item_id>0}function ow(e){const t=String((e==null?void 0:e.package)||"").trim();if(t)return t;const o=String((e==null?void 0:e.filename)||"").trim().split("-");return o.length>=2?String(o[1]||"").trim():""}function Cm(e=new Date){const t=f=>String(f).padStart(2,"0"),r=-e.getTimezoneOffset(),o=r>=0?"+":"-",l=Math.abs(r),u=t(Math.floor(l/60)),c=t(l%60);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())} ${o}${u}${c}`}function aw(e){try{return JSON.parse(e)}catch{return null}}function Mp(e,t){return e.scrollHeight-e.scrollTop-e.clientHeight<=t}function lw(e){const t=String(e||"").replace(/\r/g,"").trim();if(!t)return"";const r=t.split(`
|
|
71
|
-
`),o=[];for(const l of r){const u=String(l||"");if(!u.trim()){if(o.length)break;continue}if(o.push(u),o.length>=6)break}return o.join(`
|
|
72
|
-
`).trim()}function em(e){const t=typeof e=="string"?e.trim():"";if(!t)return null;const r=t.replace(/(\.\d{3})\d+/,"$1"),o=Date.parse(r);return Number.isFinite(o)?o:null}function xd(e){if(!Number.isFinite(e))return"";const t=Math.max(0,Math.floor(e/1e3)),r=t%60,o=Math.floor(t/60),l=o%60,u=Math.floor(o/60),c=u%24,f=Math.floor(u/24);return f>0?`${f}d ${c}h`:u>0?`${u}h ${l}m`:o>0?`${o}m ${r}s`:`${t}s`}async function Ap(e){const t=String(e||""),r=new TextEncoder().encode(t),o=globalThis.crypto;if(!o||!o.subtle||typeof o.subtle.digest!="function")return"";const l=await o.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(l)).map(u=>u.toString(16).padStart(2,"0")).join("")}function cw(e){const t=()=>typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia(e).matches,[r,o]=p.useState(t);return p.useEffect(()=>{var c;if(typeof window>"u"||typeof window.matchMedia!="function")return;const l=window.matchMedia(e),u=()=>o(l.matches);return u(),typeof l.addEventListener=="function"?l.addEventListener("change",u):(c=l.addListener)==null||c.call(l,u),()=>{var f;typeof l.removeEventListener=="function"?l.removeEventListener("change",u):(f=l.removeListener)==null||f.call(l,u)}},[e]),r}function uw(e,t){const r=String(t.package_name).trim()||"{Package}",o=h_(String(t.title||"").trim()||"{Title}"),l=String(t.summary||"").trim(),u=Mu(t.task_type),c=`# {ID}-${r}: [${m_(u)}] ${o}`.trim();let f=String(e||"");f=f.split("{Package}").join(r).split("{Title}").join(o);const m=f.split(/\r?\n/);let _=!1;for(let j=0;j<m.length;j+=1){const b=String(m[j]||"");if(b.trim().startsWith("# ")){m[j]=c,_=!0;break}if(b.trim())break}_||(m.unshift("",c),m.shift());const g=`> Created: ${String(t.created_at||"").trim()}`.trim();let x=!1;for(let j=0;j<Math.min(m.length,40);j+=1)if(String(m[j]||"").trim().toLowerCase().startsWith("> created:")){m[j]=g,x=!0;break}if(!x){const j=m.length>1&&!String(m[1]||"").trim()?2:1;m.splice(j,0,g,"")}const v=`> Type: ${u}`.trim();let w=!1;for(let j=0;j<Math.min(m.length,60);j+=1)if(String(m[j]||"").trim().toLowerCase().startsWith("> type:")){m[j]=v,w=!0;break}if(!w){let j=-1;for(let b=0;b<Math.min(m.length,60);b+=1)if(String(m[b]||"").trim().toLowerCase().startsWith("> created:")){j=b;break}if(j>=0){const b=j+1;b<m.length&&!String(m[b]||"").trim()?m.splice(b,0,v):m.splice(b,0,v,"")}else{const b=m.length>1&&!String(m[1]||"").trim()?2:1;m.splice(b,0,v,"")}}if(l){for(let j=0;j<m.length;j+=1)if(String(m[j]||"").trim().toLowerCase()==="## summary"){let b=j+1;for(;b<m.length&&!String(m[b]||"").trim();)b+=1;(b<m.length?String(m[b]||""):"").trim().toLowerCase().startsWith("one paragraph describing")?m[b]=l:m.splice(j+1,0,l,"");break}}return f=m.join(`
|
|
73
|
-
`),f.endsWith(`
|
|
74
|
-
`)||(f+=`
|
|
75
|
-
`),f}function ol(e){return String(e||"").split(/\r?\n/).map(t=>t.trim()).filter(Boolean)}function dw(e){const t=String(e.package_name||"").trim()||"{Package}",r=h_(String(e.title||"").trim()||"{Title}"),o=Mu(e.task_type),l=String(e.created_at||"").trim()||Cm(),u=String(e.diagram||"").trim(),c=String(e.context||"").trim(),f=[];return f.push(`# {ID}-${t}: [${m_(o)}] ${r}`),f.push(""),f.push(`> Created: ${l}`),f.push(`> Type: ${o}`),f.push(""),f.push("## Summary"),f.push(e.summary.trim()||"One paragraph describing what this task accomplishes (user value + outcome)."),f.push(""),f.push("## Diagram"),f.push("```"),f.push(u||`ASCII diagram of the system change.
|
|
76
|
-
Show inputs/outputs and where code lives.`),f.push("```"),f.push(""),f.push("## Context"),f.push(c||"(why is this needed? link to evidence: bug/feature report paths, discussions, etc.)"),f.push(""),f.push("## Scope"),f.push("### Included"),e.included.length?f.push(...e.included.map(m=>`- ${m}`)):f.push("- "),f.push(""),f.push("### Excluded"),e.excluded.length?f.push(...e.excluded.map(m=>`- ${m}`)):f.push("- "),f.push(""),f.push("## Implementation Plan"),e.plan.length?f.push(...e.plan.map((m,_)=>`${_+1}. ${m}`)):f.push("1. "),f.push(""),f.push("## Dependencies"),e.dependencies.length?f.push(...e.dependencies.map(m=>`- ${m}`)):f.push("- Related backlog items / ADRs"),f.push(""),f.push("## Acceptance Criteria"),e.acceptance.length?f.push(...e.acceptance.map(m=>`- [ ] ${m}`)):f.push("- [ ] Criterion 1 (clear, testable)"),f.push(""),f.push("## Testing (ADR-0019)"),f.push("- Level A:"),e.tests_a.length?f.push(...e.tests_a.map(m=>` - \`${m}\``)):f.push(" - `...`"),f.push("- Level B:"),e.tests_b.length?f.push(...e.tests_b.map(m=>` - \`${m}\``)):f.push(" - `...`"),f.push("- Level C (optional / opt-in):"),e.tests_c.length?f.push(...e.tests_c.map(m=>` - \`${m}\``)):f.push(" - n/a"),f.push(""),f.push("## Related"),f.push("- ADRs:"),f.push("- Code:"),f.push("- Reports:"),e.attachments.length&&(f.push("- Attachments:"),f.push(...e.attachments.map(m=>` - ${m}`))),f.push(""),f.push("---"),f.push("## Report (added when completed)"),f.push(""),f.push("> Completed: YYYY-MM-DD"),f.push(""),f.push("### What changed"),f.push("- "),f.push(""),f.push("### Security / hardening"),f.push("- "),f.push(""),f.push("### Testing (ADR-0019)"),f.push("Levels executed:"),f.push("- A:"),f.push("- B:"),f.push("- C (if any):"),f.push(""),f.push("Commands run:"),f.push("- `...`"),f.push(""),f.push("### Follow-ups"),f.push("- "),f.push(""),f.join(`
|
|
77
|
-
`)}function zp(e,t){const r=t.map(m=>String(m||"").trim()).filter(Boolean);if(!r.length)return e;const o=String(e||"").split(/\r?\n/),l=o.map(m=>m.toLowerCase()),u=l.findIndex(m=>m.trim()==="## related");if(u<0)return`${String(e||"").trimEnd()}
|
|
78
|
-
|
|
79
|
-
## Related
|
|
80
|
-
- Attachments:
|
|
81
|
-
${r.map(_=>` - ${_}`).join(`
|
|
82
|
-
`)}
|
|
83
|
-
`;let c=-1;for(let m=u+1;m<o.length;m+=1){const _=l[m].trim();if(_.startsWith("## ")||_.startsWith("---"))break;if(_.startsWith("- attachments:")){c=m;break}}const f=["- Attachments:",...r.map(m=>` - ${m}`)];if(c>=0){let m=c+1;for(;m<o.length&&l[m].trim().startsWith(" -");)m+=1;o.splice(m,0,...r.map(_=>` - ${_}`))}else{let m=u+1;for(let _=u+1;_<o.length;_+=1){const g=l[_].trim();if(g.startsWith("## ")||g.startsWith("---")){m=_;break}m=_+1}o.splice(m,0,...f,"")}return o.join(`
|
|
84
|
-
`)}function fw(e){var Fr;const t=e.gateway,r=e.gateway_connected,o=String(e.maintenance_ai_provider||"").trim(),l=String(e.maintenance_ai_model||"").trim(),u=String(e.backlog_advisor_agent||"").trim(),[c,f]=p.useState("planned"),m=cw("(max-width: 900px)"),[_,g]=p.useState("list"),[x,v]=p.useState([]),[w,j]=p.useState(!1),[b,T]=p.useState(""),[A,W]=p.useState([]),[H,M]=p.useState(""),[G,te]=p.useState("all"),[V,Z]=p.useState(null),[ge,xe]=p.useState(""),[ke,Te]=p.useState(""),[oe,I]=p.useState(!1),[se,Q]=p.useState(""),[ce,R]=p.useState(!1),[L,O]=p.useState(""),[$,D]=p.useState(!1),[ne,ae]=p.useState(""),[ve,$e]=p.useState(!1),[ue,he]=p.useState(""),[Fe,K]=p.useState([]),[Me,Ne]=p.useState(""),[Ye,Le]=p.useState(!1),[mt,gt]=p.useState(""),[ze,Ae]=p.useState(!1),[Ct,kt]=p.useState([]),[Ot,lt]=p.useState(""),[me,tn]=p.useState(!1),[we,Xe]=p.useState(""),[Ke,St]=p.useState(!1),[$n,Yt]=p.useState([]),Xt=p.useRef(null),pn=p.useRef(null),fn=typeof window<"u"&&typeof window.speechSynthesis=="object",Vn=typeof window<"u"?window.SpeechRecognition||window.webkitSpeechRecognition:null,Dn=typeof Vn=="function",Tn=p.useRef(null),[ar,er]=p.useState(!1),In=p.useRef(null),[de,je]=p.useState(0),qe=p.useRef(null),[ot,ft]=p.useState(!1),[Nt,Mt]=p.useState(""),[Ft,nn]=p.useState([]),[Rt,Qt]=p.useState(!1),[ln,Bt]=p.useState(null),[gn,Kt]=p.useState("uat"),[st,rn]=p.useState([]),[tr,xn]=p.useState(!1),[kn,On]=p.useState(!1),[Bn,Un]=p.useState(""),[xr,dr]=p.useState("uat"),[Rr,ds]=p.useState(!1),[ht,Mn]=p.useState(""),[zi,Qr]=p.useState("framework"),[Nn,ws]=p.useState("task"),[_i,As]=p.useState(""),[wn,lr]=p.useState(!1),[fr,Hr]=p.useState(""),[tt,nr]=p.useState(null),[Rn,Cr]=p.useState(!1),[Er,fs]=p.useState(""),[cr,yi]=p.useState([]),[Zr,ms]=p.useState(!1),[Js,ia]=p.useState(""),[be,Gn]=p.useState(null),[Qe,mr]=p.useState(null),[zs,es]=p.useState(!1),[cn,Lr]=p.useState(""),[Ri,bs]=p.useState(""),[qr,Qs]=p.useState(!1),[rr,Sr]=p.useState(""),[Yn,hs]=p.useState("events"),[Vr,vr]=p.useState(""),[Ss,js]=p.useState(!1),[Pr,ks]=p.useState(""),[so,ts]=p.useState(!1),[P,ie]=p.useState(!0),Ee=p.useRef(null),Be=p.useRef(!0),[De,nt]=p.useState(!1),[Et,$t]=p.useState(""),[At,Vt]=p.useState([]),[Wn,Gr]=p.useState(""),[sn,Xn]=p.useState("events"),[An,hn]=p.useState(""),[Ir,xi]=p.useState(!1),[Li,Or]=p.useState(""),[Jt,jr]=p.useState(!1),[hr,Rs]=p.useState(""),io=p.useRef(null),[Yr,Pi]=p.useState("tasks"),[oa,oo]=p.useState(!1),[Ls,Eo]=p.useState(""),[aa,la]=p.useState(!1),[ca,pl]=p.useState(""),[ao,ua]=p.useState("proposed"),[Ra,La]=p.useState("feature"),[$o,Ql]=p.useState("framework"),[vi,lo]=p.useState(""),[To,da]=p.useState(""),[Mo,Zs]=p.useState(""),[wi,Ps]=p.useState(""),[Ns,Ii]=p.useState(!1),[fa,Pa]=p.useState(""),[gl,Ao]=p.useState(""),[_l,zo]=p.useState(""),[Ro,Ia]=p.useState(""),[Oi,Zl]=p.useState(""),[yl,Lo]=p.useState(""),[Is,Fi]=p.useState(""),[xl,ei]=p.useState(""),[ec,Oa]=p.useState(""),[Po,ns]=p.useState(""),[Os,ti]=p.useState([]),[ni,Io]=p.useState(!1),[Di,ri]=p.useState(""),[ma,bi]=p.useState([]),[Si,Fs]=p.useState(""),[wr,si]=p.useState(!1),mn=c==="processing"||c==="failed"||c==="completed"&&Yr==="runs";p.useEffect(()=>{m&&g("list")},[m,c,Yr]),p.useEffect(()=>{if(!ze)return;const N=U=>{U.key==="Escape"&&Ae(!1)};return window.addEventListener("keydown",N),setTimeout(()=>{var U;return(U=Xt.current)==null?void 0:U.focus()},0),()=>window.removeEventListener("keydown",N)},[ze]);const Cs=p.useMemo(()=>{if(Yn!=="events")return null;const N=String(Vr||""),U=N.split(/\r?\n/).filter(_e=>String(_e||"").trim().length>0),F=[];let le=0;for(let _e=0;_e<U.length;_e+=1){const He=String(U[_e]||"").trim(),Re=aw(He);if(!Re||typeof Re!="object"){le+=1,F.push({idx:_e,type:"raw",payload:null,raw:He});continue}const Ue=String(Re.type||Re.event||"event");F.push({idx:_e,type:Ue,payload:Re,raw:He})}return{total:U.length,bad:le,events:F,raw:N}},[Vr,Yn]),kr=p.useMemo(()=>{if(!Cs)return null;let N=0,U=0,F=0,le=0,_e=0;for(const Re of Cs.events){const Ue=Re.payload,et=Ue&&typeof Ue.usage=="object"?Ue.usage:null;et&&(Number.isFinite(Number(et.input_tokens))&&(N+=Number(et.input_tokens)),Number.isFinite(Number(et.cached_input_tokens))&&(U+=Number(et.cached_input_tokens)),Number.isFinite(Number(et.output_tokens))&&(F+=Number(et.output_tokens)));const It=Ue&&typeof Ue.item=="object"?Ue.item:null;It&&String(It.type||"").trim()==="command_execution"&&(le+=1,String(It.status||"").trim().toLowerCase()==="failed"&&(_e+=1))}return{has_tokens:N>0||F>0||U>0,input_tokens:N,cached_input_tokens:U,output_tokens:F,total_tokens:N+F,command_count:le,command_fail_count:_e}},[Cs]),Ds=p.useMemo(()=>{const N=em(be==null?void 0:be.created_at),U=em(be==null?void 0:be.started_at),F=em(be==null?void 0:be.finished_at),le=Date.now(),_e=String((be==null?void 0:be.status)||"").trim().toLowerCase(),He=F??(_e==="running"?le:null),Re=F!=null,Ue=N!=null&&U!=null?Math.max(0,U-N):null,et=U!=null&&He!=null?Math.max(0,He-U):null,It=N!=null&&He!=null?Math.max(0,He-N):null,zn=!Re&&N!=null?Math.max(0,le-N):null;return{is_done:Re,queue_delay_ms:Ue,run_ms:et,total_ms:It,age_ms:zn}},[be==null?void 0:be.created_at,be==null?void 0:be.started_at,be==null?void 0:be.finished_at,be==null?void 0:be.status]);function Fa(N){return N==="processing"?"queued,running,awaiting_qa":N==="failed"?"failed":N==="completed"&&Yr==="runs"?"completed,promoted":""}function Kn(N,U){const F=N&&typeof N=="object"?N:{},le=F.backlog&&typeof F.backlog=="object"?F.backlog:{},_e=F.result&&typeof F.result=="object"?F.result:{},He=F.executor&&typeof F.executor=="object"?F.executor:{},Re=String(_e.last_message||"").trim(),Ue=String(F.target_model||He.model||"").trim(),et=String(F.target_reasoning_effort||He.reasoning_effort||"").trim();return{request_id:U,status:String(F.status||"unknown"),created_at:F.created_at??null,started_at:F.started_at??null,finished_at:F.finished_at??null,backlog_relpath:le.relpath??null,backlog_kind:le.kind??null,backlog_filename:le.filename??null,target_agent:F.target_agent??null,target_model:Ue||null,target_reasoning_effort:et||null,executor_type:He.type??null,ok:typeof _e.ok=="boolean"?_e.ok:null,exit_code:typeof _e.exit_code=="number"?_e.exit_code:_e.exit_code??null,error:typeof _e.error=="string"?_e.error:_e.error??null,run_dir_relpath:F.run_dir_relpath??null,last_message:Re?Re.slice(0,1200):null}}async function rs(N){const U=N||(ea(c)?c:"planned"),F=await t.backlog_list(U);let le=Array.isArray(F==null?void 0:F.items)?F.items:[];if(U==="planned")try{const _e=await t.backlog_exec_active_items({status:"queued,running,awaiting_qa",limit:1200}),He=Array.isArray(_e==null?void 0:_e.items)?_e.items:[],Re=new Set(He.filter(et=>String((et==null?void 0:et.kind)||"").trim()==="planned").map(et=>String((et==null?void 0:et.filename)||"").trim()).filter(Boolean)),Ue=Array.from(Re);Ue.sort(),W(Ue),Re.size&&(le=le.filter(et=>!Re.has(String(et.filename||"").trim())))}catch{W([])}else W([]);return v(le),V&&N===void 0&&!le.some(_e=>_e.filename===V.filename)&&(Z(null),xe(""),Te(""),Q(""),D(!1),ae(""),he("")),le}async function $r(N){if(Zr)return cr;ia(""),ms(!0);const U=N||c;try{const F=Fa(U),le=await t.backlog_exec_requests({status:F,limit:200}),_e=Array.isArray(le==null?void 0:le.requests)?le.requests:[];if(yi(_e),U==="processing"&&(be!=null&&be.request_id)&&!_e.some(He=>He.request_id===be.request_id))try{const He=await t.backlog_exec_request(be.request_id),Re=He==null?void 0:He.payload,Ue=String((Re==null?void 0:Re.status)||"").trim().toLowerCase();Ue==="failed"?f("failed"):(Ue==="completed"||Ue==="promoted")&&(Pi("runs"),f("completed")),(Ue==="failed"||Ue==="completed"||Ue==="promoted")&&(mr(Re),Gn(Kn(Re,be.request_id)))}catch{}if(be!=null&&be.request_id){const He=_e.find(Re=>Re.request_id===be.request_id)||null;He&&Gn(He)}return _e}catch(F){return yi([]),ia(String((F==null?void 0:F.message)||F||"Failed to load backlog exec requests")),[]}finally{ms(!1)}}async function Oo(){if(r){if(mn){await $r();return}if(!w){T(""),j(!0);try{await rs()}catch(N){v([]),T(String((N==null?void 0:N.message)||N||"Failed to load backlog list"))}finally{j(!1)}}}}p.useEffect(()=>{Oo()},[c,Yr,r]),p.useEffect(()=>{if(c!=="planned"){rn([]);return}const N=new Set(x.map(U=>String(U.filename||"").trim()).filter(Boolean));rn(U=>U.filter(F=>N.has(F)))},[c,x]),p.useEffect(()=>{oa&&r&&ji()},[oa,r]),p.useEffect(()=>{Rt&&r&&on()},[Rt,r]),p.useEffect(()=>{tr&&r&&on()},[tr,r]),p.useEffect(()=>{r&&mn&&on()},[mn,r]),p.useEffect(()=>{if(!r||!mn)return;const U=setInterval(()=>void $r(c),c==="processing"?2e3:5e3);return()=>clearInterval(U)},[c,Yr,r,mn,be==null?void 0:be.request_id]),p.useEffect(()=>{r&&mn&&be!=null&&be.request_id&&Ui({request_id:be.request_id,name:Yn})},[be==null?void 0:be.request_id,Yn,mn,r]),p.useEffect(()=>{Be.current=!0},[be==null?void 0:be.request_id,Yn]),p.useEffect(()=>{if(!Ee.current||!Be.current)return;const U=window.requestAnimationFrame(()=>{const F=Ee.current;F&&(F.scrollTop=F.scrollHeight)});return()=>window.cancelAnimationFrame(U)},[Vr,Yn,be==null?void 0:be.request_id]),p.useEffect(()=>{if(!r||!mn||!(be!=null&&be.request_id))return;const N=String(be.status||"").trim().toLowerCase();if(N!=="running"&&P!==!0)return;const F=setInterval(()=>{Ui({request_id:be.request_id,name:Yn})},N==="running"?1500:2500);return()=>clearInterval(F)},[be==null?void 0:be.request_id,be==null?void 0:be.status,Yn,mn,r,P]),p.useEffect(()=>{g("list"),mn?V&&(Z(null),xe(""),Te(""),Q(""),D(!1),ae(""),he(""),K([]),Ne(""),Le(!1),gt(""),ft(!1),Mt(""),nn([])):be&&(Gn(null),mr(null),Lr(""),vr(""),ks(""),ts(!1))},[mn]);async function co(N,U){const F=(U==null?void 0:U.kind)||(ea(c)?c:"planned");Z(N),m&&g("detail"),D(!1),ae(""),he(""),K([]),Ne(""),Le(!1),gt(""),ft(!1),Mt(""),nn([]),O(""),xe(""),Te(""),Q(""),I(!0);try{const le=await t.backlog_content(F,N.filename),_e=String((le==null?void 0:le.content)||"");xe(_e),Te(await Ap(_e))}catch(le){Q(String((le==null?void 0:le.message)||le||"Failed to load backlog item"))}finally{I(!1)}}const Fo=p.useMemo(()=>{const N=String(H||"").trim().toLowerCase(),U=String(G||"all").trim().toLowerCase();return x.filter(F=>U&&U!=="all"&&Mu(F.task_type)!==U?!1:N?`${F.item_id||""} ${F.package||""} ${F.title||""} ${F.task_type||""} ${F.summary||""} ${F.filename||""}`.toLowerCase().includes(N):!0)},[x,H,G]),ur=p.useMemo(()=>{if(c!=="planned")return[];const N=new Set(st.map(F=>String(F||"").trim()).filter(Boolean)),U=x.filter(F=>N.has(String(F.filename||"").trim()));return U.sort((F,le)=>String(F.filename||"").localeCompare(String(le.filename||""))),U},[x,st,c]),jt=p.useMemo(()=>{const N=String(H||"").trim().toLowerCase();return N?cr.filter(U=>`${U.request_id||""} ${U.status||""} ${U.backlog_filename||""} ${U.backlog_relpath||""} ${U.target_model||""} ${U.target_reasoning_effort||""} ${U.error||""} ${U.last_message||""}`.toLowerCase().includes(N)):cr},[cr,H]);async function Bi(N){if(V&&ea(c)&&!ce){O(""),R(!0);try{await t.backlog_move({from_kind:c,to_kind:N,filename:V.filename}),f(N),M("");const F=(await rs(N)).find(le=>le.filename===V.filename)||null;Z(F),xe(""),Te(""),Q(""),F&&await co(F,{kind:N})}catch(U){O(String((U==null?void 0:U.message)||U||"Backlog move failed"))}finally{R(!1)}}}async function Tr(){if(V&&ea(c)&&!ve){he(""),$e(!0);try{const N=await t.backlog_update({kind:c,filename:V.filename,content:ne,expected_sha256:ke||null}),U=ne.endsWith(`
|
|
85
|
-
`)?ne:`${ne}
|
|
86
|
-
`;xe(U),Te(String((N==null?void 0:N.sha256)||"")),D(!1),await Oo()}catch(N){he(String((N==null?void 0:N.message)||N||"Save failed"))}finally{$e(!1)}}}async function on(){if(!r)return null;if(Rn)return tt;fs(""),Cr(!0);try{const N=await t.backlog_exec_config();return nr(N),N}catch(N){const U=String((N==null?void 0:N.message)||N||"Failed to load backlog exec config");return fs(U),nr(null),null}finally{Cr(!1)}}async function vn(N){if(r){Gn(N),m&&g("detail"),mr(null),Lr(""),es(!0),Sr(""),bs(""),vr(""),ks(""),ts(!1);try{const U=await t.backlog_exec_request(N.request_id);mr((U==null?void 0:U.payload)??null)}catch(U){Lr(String((U==null?void 0:U.message)||U||"Failed to load request"))}finally{es(!1)}}}async function ha(){if(!r)return;const N=String((be==null?void 0:be.request_id)||"").trim();if(!N||qr)return;const U=String(Ri||"");if(!U.trim()){Sr("Feedback is required.");return}Sr(""),Qs(!0);try{const F=await t.backlog_exec_feedback({request_id:N,feedback:U}),le=(F==null?void 0:F.payload)??null;mr(le),le&&Gn(Kn(le,N)),bs(""),f("processing"),await $r("processing")}catch(F){Sr(String((F==null?void 0:F.message)||F||"Failed to send feedback"))}finally{Qs(!1)}}async function vl(){if(!r)return;const N=String((be==null?void 0:be.request_id)||"").trim();if(N&&!qr){Sr(""),Qs(!0);try{const U=await t.backlog_exec_promote({request_id:N,redeploy:!0}),F=(U==null?void 0:U.payload)??null;mr(F),F&&Gn(Kn(F,N)),bs(""),Pi("runs"),f("completed"),await $r("completed"),await $r("processing")}catch(U){Sr(String((U==null?void 0:U.message)||U||"Failed to promote to prod"))}finally{Qs(!1)}}}async function ii(){if(!r)return;const N=String((be==null?void 0:be.request_id)||"").trim();if(N&&!qr){Sr(""),Qs(!0);try{const U=await t.backlog_exec_deploy_uat({request_id:N}),F=(U==null?void 0:U.payload)??null;mr(F),F&&Gn(Kn(F,N)),f("processing"),await $r("processing")}catch(U){Sr(String((U==null?void 0:U.message)||U||"Failed to deploy to UAT"))}finally{Qs(!1)}}}async function Ui(N){if(!r)return;const U=String((N==null?void 0:N.request_id)||(be==null?void 0:be.request_id)||"").trim();if(!U)return;const F=(N==null?void 0:N.name)||Yn,le=typeof(N==null?void 0:N.max_bytes)=="number"&&Number.isFinite(N.max_bytes)?Number(N.max_bytes):16e4;if(!Ss){ks(""),js(!0);try{const _e=await t.backlog_exec_log_tail({request_id:U,name:String(F),max_bytes:le});vr(String((_e==null?void 0:_e.content)||"")),ts(!!(_e!=null&&_e.truncated))}catch(_e){ks(String((_e==null?void 0:_e.message)||_e||"Failed to load logs"))}finally{js(!1)}}}function Zt(N){if(!N||typeof N!="object")return"";const U=N.$artifact;return typeof U=="string"?U.trim():""}async function pa(N){var le;if(!r)return;const U=String((N==null?void 0:N.request_id)||Wn||"").trim();if(!U)return;const F=(N==null?void 0:N.name)||sn;if(!Ir){Or(""),xi(!0),jr(!1);try{const _e=await t.backlog_exec_request(U),He=_e==null?void 0:_e.payload,Re=(le=He==null?void 0:He.result)==null?void 0:le.ledger,Ue=String((Re==null?void 0:Re.ledger_run_id)||"").trim(),et=Re==null?void 0:Re.log_artifacts,It=et?et[String(F)]:null,zn=Zt(It);if(Ue&&zn){const is=await(await t.download_run_artifact_content(Ue,zn)).text();hn(is);return}const _n=await t.backlog_exec_log_tail({request_id:U,name:String(F),max_bytes:4e5});hn(String((_n==null?void 0:_n.content)||"")),jr(!!(_n!=null&&_n.truncated)),_n!=null&&_n.truncated&&Or("Legacy fallback: log is truncated (this exec request predates ledger log capture).")}catch(_e){Or(String((_e==null?void 0:_e.message)||_e||"Failed to load execution log"))}finally{xi(!1)}}}async function Do(N){if(!r)return;const U=String(N||"").trim();if(U){nt(!0),$t(U),Vt([]),Gr(""),Xn("events"),hn(""),Or(""),jr(!1),Rs("");try{const F=await t.backlog_exec_requests({status:"completed,failed",limit:500}),_e=(Array.isArray(F==null?void 0:F.requests)?F.requests:[]).filter(Re=>String(Re.backlog_filename||"").trim()===U);if(_e.sort((Re,Ue)=>{const et=String(Re.finished_at||Re.started_at||Re.created_at||"");return String(Ue.finished_at||Ue.started_at||Ue.created_at||"").localeCompare(et)}),Vt(_e),!_e.length){Or("No execution logs found for this backlog item.");return}const He=String(_e[0].request_id||"").trim();Gr(He),await pa({request_id:He,name:"events"}),setTimeout(()=>{var Re;return(Re=io.current)==null?void 0:Re.focus()},0)}catch(F){Or(String((F==null?void 0:F.message)||F||"Failed to load execution logs"))}}}function Da(N){const U=String(hr||"");if(!U)return;const F=String(An||"");if(!F)return;const le=io.current;if(!le)return;const _e=typeof le.selectionStart=="number"?le.selectionStart:0,He=typeof le.selectionEnd=="number"?le.selectionEnd:0;let Re=-1;if(N===1){const Ue=Math.min(F.length,Math.max(0,He));Re=F.indexOf(U,Ue),Re<0&&Ue>0&&(Re=F.indexOf(U,0))}else{const Ue=Math.min(F.length,Math.max(0,_e-1));Re=F.lastIndexOf(U,Ue),Re<0&&Ue<F.length-1&&(Re=F.lastIndexOf(U,F.length))}if(!(Re<0))try{le.focus(),le.setSelectionRange(Re,Re+U.length)}catch{}}async function tc(){if(ln&&!ce){O(""),R(!0);try{const N=tt||await on();if(!N){O("Could not load gateway exec config.");return}const U=N.runner_alive!==!1,F=N.codex_available!==!1;if(N.runner_enabled!==!0){O("Backlog exec runner is disabled on this gateway.");return}if(!U){O(N.runner_error?`Backlog exec runner not running: ${N.runner_error}`:"Backlog exec runner is not running.");return}if(!F){const et=String(N.codex_bin||"codex");O(`Codex not found on gateway: ${et}`);return}if(N.can_execute!==!0){O("Backlog exec is not available on this gateway (misconfigured executor).");return}const le=await t.backlog_execute({kind:ln.kind,filename:ln.filename,execution_mode:gn}),_e=String((le==null?void 0:le.request_id)||"").trim();if(!_e)throw new Error("No request_id returned");Qt(!1),Bt(null),f("processing"),Pi("tasks"),M(""),Z(null),xe(""),Te(""),Q(""),D(!1),ae(""),he(""),K([]),Ne(""),Le(!1),gt(""),ft(!1),Mt(""),nn([]);const He={request_id:_e,status:"queued"};Gn(He),mr(null),Lr("");const Ue=(await $r("processing")).find(et=>et.request_id===_e)||null;Ue?await vn(Ue):await vn(He)}catch(N){O(String((N==null?void 0:N.message)||N||"Execute failed"))}finally{R(!1)}}}async function nc(){if(!kn&&ur.length){if(ur.length<2){Un("Select at least 2 planned backlog items.");return}Un(""),On(!0);try{const N=tt||await on();if(!N){Un("Could not load gateway exec config.");return}const U=N.runner_alive!==!1,F=N.codex_available!==!1;if(N.runner_enabled!==!0){Un("Backlog exec runner is disabled on this gateway.");return}if(!U){Un(N.runner_error?`Backlog exec runner not running: ${N.runner_error}`:"Backlog exec runner is not running.");return}if(!F){const et=String(N.codex_bin||"codex");Un(`Codex not found on gateway: ${et}`);return}if(N.can_execute!==!0){Un("Backlog exec is not available on this gateway (misconfigured executor).");return}const le=await t.backlog_execute_batch({items:ur.map(et=>({kind:"planned",filename:et.filename})),execution_mode:xr}),_e=String((le==null?void 0:le.request_id)||"").trim();if(!_e)throw new Error("No request_id returned");xn(!1),rn([]),f("processing"),Pi("tasks"),M(""),Z(null),xe(""),Te(""),Q(""),D(!1),ae(""),he("");const He={request_id:_e,status:"queued"};Gn(He),mr(null),Lr("");const Ue=(await $r("processing")).find(et=>et.request_id===_e)||null;Ue?await vn(Ue):await vn(He)}catch(N){Un(String((N==null?void 0:N.message)||N||"Execute batch failed"))}finally{On(!1)}}}async function rc(){if(wn)return;if(ur.length<2){Hr("Select at least 2 planned backlog items.");return}const N=ht.trim();if(!N){Hr("Title is required.");return}const U=zi.trim().toLowerCase();if(!U){Hr("Package is required.");return}Hr(""),lr(!0);try{const F=await t.backlog_merge({kind:"planned",package:U,title:N,task_type:Nn,summary:_i.trim()||null,items:ur.map(Ue=>({kind:"planned",filename:Ue.filename}))}),le=String((F==null?void 0:F.kind)||"").trim(),_e=String((F==null?void 0:F.filename)||"").trim();if(!le||!_e)throw new Error("Merge succeeded but returned an invalid response");ds(!1),Mn(""),As(""),rn([]),f(le),M("");const Re=(await rs(le)).find(Ue=>Ue.filename===_e)||null;Re&&await co(Re,{kind:le})}catch(F){Hr(String((F==null?void 0:F.message)||F||"Merge failed"))}finally{lr(!1)}}function Ba(){ua("proposed"),La("feature"),Ql("framework"),lo(""),da(""),Zs(""),Ps(""),Ii(!1),Pa(""),Ao(""),zo(""),Ia(""),Zl(""),Lo(""),Fi(""),ei(""),Oa(""),ns(""),ti([]),Io(!1),ri(""),bi([]),Fs(""),si(!1)}async function wl(){const N=String(Ls||"").trim();if(N)return N;if(aa)return"";pl(""),la(!0);try{const U=await t.backlog_template(),F=String((U==null?void 0:U.content)||"");return Eo(F),F}catch(U){return pl(String((U==null?void 0:U.message)||U||"Failed to load backlog template")),""}finally{la(!1)}}async function ji(N){if(!r)return;const U=(N==null?void 0:N.force)===!0;if(!U&&Mo.trim())return;const F=await wl();if(!F.trim())return;const le=String($o||"").trim().toLowerCase()||"{Package}",_e=Cm(),He=uw(F,{package_name:le,title:vi,task_type:Ra,summary:To,created_at:_e});Zs(Re=>U||!String(Re||"").trim()?He:Re)}function Bo(N){if(Mo.trim()&&!globalThis.confirm("Overwrite the current draft markdown with a guided draft?"))return;const U=String($o||"").trim().toLowerCase()||"{Package}",F=Cm(),le=dw({package_name:U,title:vi,task_type:Ra,summary:To,diagram:fa,context:gl,included:ol(_l),excluded:ol(Ro),plan:ol(Oi),dependencies:ol(yl),acceptance:ol(Is),tests_a:ol(xl),tests_b:ol(ec),tests_c:ol(Po),created_at:F,attachments:[]});Zs(le)}async function bl(){var U;if(Ns)return;Ps(""),Ii(!0),ri("");let N="";try{const F=String($o||"").trim().toLowerCase(),le=await t.backlog_create({kind:ao,package:F,title:vi,task_type:Ra,summary:To||null,content:Mo||null}),_e=String((le==null?void 0:le.kind)||"").trim(),He=String((le==null?void 0:le.filename)||"").trim(),Re=[...Os||[]];if(_e&&He&&Re.length){Io(!0);try{const It=[];for(const zn of Re){const _n=await t.backlog_upload_attachment({kind:_e,filename:He,file:zn,overwrite:!1}),Jn=String(((U=_n==null?void 0:_n.stored)==null?void 0:U.relpath)||"").trim();Jn&&It.push(Jn)}if(It.length){const zn=await t.backlog_content(_e,He),_n=String((zn==null?void 0:zn.content)||""),Jn=await Ap(_n),is=zp(_n,It);await t.backlog_update({kind:_e,filename:He,content:is,expected_sha256:Jn||null})}}catch(It){N=String((It==null?void 0:It.message)||It||"Attachment upload failed"),ri(N)}finally{Io(!1)}}oo(!1),Ba(),_e&&f(_e);const et=(await rs(_e)).find(It=>It.filename===He)||null;et&&await co(et,{kind:_e}),N&&O(`Created task, but attachments failed: ${N}`)}catch(F){Ps(String((F==null?void 0:F.message)||F||"Create failed"))}finally{Ii(!1)}}async function Xc(){if(wr)return;Ps("");const N=Si.trim();if(!N)return;if(!vi.trim()){Ps("Title is required before using AI assist.");return}const U=String($o||"").trim().toLowerCase();if(!U){Ps("Package is required before using AI assist.");return}const F={id:cs(),role:"user",content:N,ts:new Date().toISOString()},le=[...ma,F];bi(le),Fs(""),si(!0);try{const _e=await t.backlog_assist({kind:ao,package:U,title:vi,summary:To||null,draft_markdown:Mo||null,messages:le.map(Ue=>({role:Ue.role,content:Ue.content})),provider:o||null,model:l||null}),He=String((_e==null?void 0:_e.reply)||"").trim(),Re=String((_e==null?void 0:_e.draft_markdown)||"").trim();He&&bi(Ue=>[...Ue,{id:cs(),role:"assistant",content:He,ts:new Date().toISOString()}]),Re&&Zs(Re)}catch(_e){Ps(String((_e==null?void 0:_e.message)||_e||"AI assist failed"))}finally{si(!1)}}async function Kc(N){var U;if(V&&ea(c)&&N.length&&r&&!ot){Mt(""),ft(!0);try{const F=[];for(const le of N){const _e=await t.backlog_upload_attachment({kind:c,filename:V.filename,file:le,overwrite:!1}),He=String(((U=_e==null?void 0:_e.stored)==null?void 0:U.relpath)||"").trim();He&&F.push(He)}F.length&&(nn(le=>[...F,...le].slice(0,12)),ae(le=>zp(String(le||""),F)))}catch(F){Mt(String((F==null?void 0:F.message)||F||"Attachment upload failed"))}finally{ft(!1)}}}async function Uo(){if(Ye||!V||!ea(c)||!r)return;if(!(c==="planned"||c==="proposed"||c==="recurrent"||c==="deprecated")){gt("Maintenance chat is only available for planned/proposed/recurrent/deprecated items.");return}gt("");const U=Me.trim();if(!U)return;const F={id:cs(),role:"user",content:U,ts:new Date().toISOString()},le=[...Fe,F];K(le),Ne(""),Le(!0);try{const _e=ow(V);if(!_e)throw new Error("Backlog item missing package (cannot maintain)");const He=await t.backlog_maintain({kind:c,filename:V.filename,package:_e,title:V.title||V.filename,summary:V.summary||null,draft_markdown:ne||null,messages:le.map(et=>({role:et.role,content:et.content})),provider:o||null,model:l||null}),Re=String((He==null?void 0:He.reply)||"").trim(),Ue=String((He==null?void 0:He.draft_markdown)||"").trim();Re&&K(et=>[...et,{id:cs(),role:"assistant",content:Re,ts:new Date().toISOString()}]),Ue&&ae(Ue)}catch(_e){gt(String((_e==null?void 0:_e.message)||_e||"Maintenance AI failed"))}finally{Le(!1)}}async function Sl(){if(me||!r)return;Xe("");const N=Ot.trim();if(!N)return;const U={id:cs(),role:"user",content:N,ts:new Date().toISOString()},F=[...Ct,U];kt(F),lt(""),tn(!0);try{const le=await t.backlog_advisor({messages:F.map(Ue=>({role:Ue.role,content:Ue.content})),provider:o||null,model:l||null,agent:u||null,include_trace:Ke,focus_kind:c,focus_type:G}),_e=Ke&&Array.isArray(le==null?void 0:le.tool_trace)?le.tool_trace:[],He=String((le==null?void 0:le.run_id)||"").trim(),Re=String((le==null?void 0:le.reply)||"").trim();if(Ke&&_e.length){const Ue={id:cs(),role:"system",title:"Tool execution",level:"info",ts:new Date().toISOString(),content:JSON.stringify({run_id:He||null,tool_trace:_e},null,2)};kt(et=>[...et,Ue])}Re&&kt(Ue=>[...Ue,{id:cs(),role:"assistant",content:Re,ts:new Date().toISOString()}])}catch(le){Xe(String((le==null?void 0:le.message)||le||"Backlog advisor failed"))}finally{tn(!1)}}async function sc(N){var Re;const U=Array.from(N||[]);if(!U.length)return;const F=[],le=[],_e=6,He=2e4;for(const Ue of U.slice(0,_e)){const et=String((Ue==null?void 0:Ue.name)||"").trim()||"attachment";le.push(et);try{const It=await Ue.text(),zn=It.length>He?`${It.slice(0,He)}
|
|
87
|
-
…(truncated)…
|
|
88
|
-
`:It;F.push(`[attached file: ${et}]
|
|
89
|
-
|
|
90
|
-
\`\`\`
|
|
91
|
-
${zn}
|
|
92
|
-
\`\`\``)}catch{F.push(`[attached file: ${et}] (unreadable in browser)`)}}Yt(Ue=>[...le,...Ue].slice(0,12)),lt(Ue=>{const et=String(Ue||"").trim(),It=F.join(`
|
|
93
|
-
|
|
94
|
-
`);return et?`${et}
|
|
95
|
-
|
|
96
|
-
${It}`:It});try{(Re=Xt.current)==null||Re.focus()}catch{}}function pr(N){if(!fn){Xe("TTS is not supported in this browser.");return}const U=window.speechSynthesis||null;if(!U){Xe("TTS is not supported in this browser.");return}const F=String(N.id||N.ts||"").trim(),le=String(N.content||"").trim();if(!F||!le)return;const _e=In.current;if(_e&&_e.key===F){if(_e.status==="playing"){try{U.pause(),In.current={key:F,status:"paused"},je(Re=>Re+1)}catch{}return}if(_e.status==="paused"){try{U.resume(),In.current={key:F,status:"playing"},je(Re=>Re+1)}catch{}return}}try{U.cancel()}catch{}const He=new SpeechSynthesisUtterance(le);He.onend=()=>{In.current=null,je(Re=>Re+1)},He.onerror=()=>{In.current=null,je(Re=>Re+1)},In.current={key:F,status:"playing"},je(Re=>Re+1);try{U.speak(He)}catch(Re){In.current=null,je(Ue=>Ue+1),Xe(String((Re==null?void 0:Re.message)||Re||"TTS failed"))}}function Ln(N){const U=String(N.id||N.ts||"").trim(),F=In.current;return!F||!U||F.key!==U?"idle":F.status==="paused"?"paused":"playing"}function ga(){if(!Dn){Xe("Voice input is not supported in this browser.");return}const N=Tn.current;if(ar&&N){try{N.stop()}catch{}return}try{Xe("");const U=Vn,F=new U;Tn.current=F,F.continuous=!1,F.interimResults=!1,F.lang="en-US",F.onresult=le=>{var _e;try{let He="";const Re=le==null?void 0:le.results,Ue=typeof(le==null?void 0:le.resultIndex)=="number"?le.resultIndex:0;if(Re&&typeof Re.length=="number")for(let et=Ue;et<Re.length;et+=1){const It=(_e=Re[et])==null?void 0:_e[0],zn=String((It==null?void 0:It.transcript)||"").trim();zn&&(He=He?`${He} ${zn}`:zn)}He&<(et=>String(et||"").trim()?`${String(et).trim()} ${He}`:He)}catch{}},F.onerror=le=>{const _e=String((le==null?void 0:le.error)||(le==null?void 0:le.message)||"").trim();_e&&Xe(`Voice input error: ${_e}`)},F.onend=()=>{Tn.current=null,er(!1)},er(!0),F.start()}catch(U){Tn.current=null,er(!1),Xe(String((U==null?void 0:U.message)||U||"Voice input failed"))}}function oi(){var N,U;try{(U=(N=Tn.current)==null?void 0:N.stop)==null||U.call(N)}catch{}Tn.current=null,er(!1)}function ki(){var N,U;if(fn){try{(U=(N=window.speechSynthesis)==null?void 0:N.cancel)==null||U.call(N)}catch{}In.current=null,je(F=>F+1)}}p.useEffect(()=>()=>{var N,U;try{(U=(N=Tn.current)==null?void 0:N.stop)==null||U.call(N)}catch{}},[]);const Ua=V&&Zf(V)?Mu(V.task_type):null,jl=!!(V&&c==="planned"),_a=!!(V&&c==="proposed"),uo=!!(V&&c==="planned"),ss=!!(V&&ea(c)&&c!=="deprecated"&&c!=="trash"),ic=!!(V&&ea(c)&&c!=="trash"),oc=!!(V&&c==="trash"),Jc=!!(V&&c==="deprecated"),ac=!m||_==="list",bn=!m||_==="detail";return s.jsxs("div",{className:"page backlog_page",children:[s.jsxs("div",{className:"page_inner",children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"title",children:[s.jsx("h1",{children:"Backlog"}),r&&tt?s.jsxs("span",{className:"badge",style:{background:tt.runner_alive?"rgba(34, 197, 94, 0.14)":"rgba(239, 68, 68, 0.14)",borderColor:tt.runner_alive?"rgba(34, 197, 94, 0.35)":"rgba(239, 68, 68, 0.35)"},title:tt.codex_model||tt.codex_reasoning_effort?`codex: ${String(tt.codex_model||"").trim()||"?"}${tt.codex_reasoning_effort?` (reasoning ${tt.codex_reasoning_effort})`:""}`:void 0,children:["exec worker ",tt.runner_alive?"on":"off",!m&&tt.codex_model?` · ${tt.codex_model}`:"",!m&&tt.codex_reasoning_effort?` · ${tt.codex_reasoning_effort}`:""]}):null]}),s.jsxs("div",{className:"row backlog_toolbar",style:{alignItems:"center",justifyContent:"space-between"},children:[s.jsxs("div",{className:"tab_bar backlog_tabs",style:{paddingBottom:0,borderBottom:"none"},children:[s.jsx("button",{className:`tab ${c==="processing"?"active":""}`,onClick:()=>f("processing"),children:"Processing"}),s.jsx("button",{className:`tab ${c==="planned"?"active":""}`,onClick:()=>f("planned"),children:"Planned"}),s.jsx("button",{className:`tab ${c==="proposed"?"active":""}`,onClick:()=>f("proposed"),children:"Proposed"}),s.jsx("button",{className:`tab ${c==="recurrent"?"active":""}`,onClick:()=>f("recurrent"),children:"Recurrent"}),s.jsx("button",{className:`tab ${c==="completed"?"active":""}`,onClick:()=>f("completed"),children:"Completed"}),s.jsx("button",{className:`tab ${c==="failed"?"active":""}`,onClick:()=>f("failed"),children:"Failed"}),s.jsx("button",{className:`tab ${c==="deprecated"?"active":""}`,onClick:()=>f("deprecated"),children:"Deprecated"}),s.jsx("button",{className:`tab ${c==="trash"?"active":""}`,onClick:()=>f("trash"),children:"Trash"})]}),s.jsxs("div",{className:"row backlog_toolbar_actions",style:{gap:"8px",justifyContent:"flex-end"},children:[s.jsxs("button",{className:"btn btn_icon",onClick:()=>oo(!0),disabled:!r,title:"New task","aria-label":"New task",children:[s.jsx(Zn,{name:"plus",size:16}),s.jsx("span",{className:"btn_label",children:"New"})]}),s.jsxs("button",{className:`btn btn_icon ${(mn?Zr:w)?"is_loading":""}`,onClick:()=>void Oo(),disabled:!r||(mn?Zr:w),title:"Refresh","aria-label":"Refresh",children:[s.jsx(Zn,{name:"refresh",size:16}),s.jsx("span",{className:"btn_label",children:mn?Zr?"Refreshing":"Refresh":w?"Refreshing":"Refresh"})]})]})]}),s.jsx("div",{className:`row backlog_filters ${c==="completed"?"backlog_filters_completed":""}`,style:{marginTop:"10px",alignItems:c==="completed"?"flex-start":"center",justifyContent:"space-between"},children:c==="completed"?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"backlog_filters_left",children:s.jsx("div",{className:"field backlog_search_field",children:s.jsx("input",{value:H,onChange:N=>M(N.target.value),placeholder:mn?"Search exec requests (id/status/backlog/error…)":"Search backlog (id/title/package/filename…)"})})}),s.jsxs("div",{className:"backlog_filters_right",children:[s.jsxs("div",{className:"tab_bar backlog_completed_view_tabs",style:{paddingBottom:0,borderBottom:"none"},children:[s.jsx("button",{className:`tab ${Yr==="tasks"?"active":""}`,onClick:()=>Pi("tasks"),children:"Tasks"}),s.jsx("button",{className:`tab ${Yr==="runs"?"active":""}`,onClick:()=>Pi("runs"),children:"Runs"})]}),s.jsxs("div",{className:"backlog_completed_meta_row",children:[mn?null:s.jsx("div",{className:"field backlog_type_filter_field",children:s.jsxs("select",{value:G,onChange:N=>te(N.target.value),title:"Filter by type",children:[s.jsx("option",{value:"all",children:"all"}),s.jsx("option",{value:"task",children:"task"}),s.jsx("option",{value:"bug",children:"bug"}),s.jsx("option",{value:"feature",children:"feature"})]})}),s.jsx("div",{className:"mono muted backlog_count",style:{fontSize:"var(--font-size-sm)"},children:mn?`${jt.length}/${cr.length}`:`${Fo.length}/${x.length}`})]})]})]}):s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"field backlog_search_field",children:s.jsx("input",{value:H,onChange:N=>M(N.target.value),placeholder:mn?"Search exec requests (id/status/backlog/error…)":"Search backlog (id/title/package/filename…)"})}),mn?null:s.jsx("div",{className:"field backlog_type_filter_field",children:s.jsxs("select",{value:G,onChange:N=>te(N.target.value),title:"Filter by type",children:[s.jsx("option",{value:"all",children:"all"}),s.jsx("option",{value:"task",children:"task"}),s.jsx("option",{value:"bug",children:"bug"}),s.jsx("option",{value:"feature",children:"feature"})]})}),s.jsx("div",{className:"mono muted backlog_count",style:{fontSize:"var(--font-size-sm)"},children:mn?`${jt.length}/${cr.length}`:`${Fo.length}/${x.length}`})]})}),!mn&&c==="planned"&&A.length?s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:[A.length," planned item",A.length===1?"":"s"," hidden while queued/running."," ",s.jsx("button",{className:"btn",style:{padding:"4px 10px",marginLeft:"6px"},onClick:()=>f("processing"),disabled:!r,children:"View processing"})]}):null,!mn&&c==="planned"?s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer",fontSize:"var(--font-size-sm)"},children:"Batch actions (shared context)"}),s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Select multiple planned backlog items to either execute them sequentially in a single exec worker (one Codex run) or merge them into a master backlog item."}),s.jsx("div",{style:{marginTop:"10px"},children:s.jsx(f_,{options:x.map(N=>String(N.filename||"").trim()).filter(Boolean),value:st,disabled:!r||w,placeholder:"(no items selected)",onChange:N=>rn(N)})}),s.jsxs("div",{className:"row",style:{gap:"8px",marginTop:"10px",flexWrap:"wrap"},children:[s.jsx("button",{className:"btn primary",disabled:!r||ur.length<2,onClick:()=>{Un(""),dr("uat"),xn(!0)},children:"Execute batch"}),s.jsx("button",{className:"btn",disabled:!r||ur.length<2,onClick:()=>{const N=(()=>{const U=ur.map(le=>String(le.package||"").trim()).filter(Boolean);if(!U.length)return"framework";const F=U[0];return U.every(le=>le===F)?F:"framework"})();Qr(N),ws("task"),Mn(`Master backlog (${ur.length} items)`),As(""),Hr(""),ds(!0)},children:"Merge → master"})]})]})]}):null,!mn&&b?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",marginTop:"8px",fontSize:"var(--font-size-sm)"},children:b}):null,mn&&Js?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",marginTop:"8px",fontSize:"var(--font-size-sm)"},children:Js}):null,!mn&&!b&&!w&&!x.length?s.jsx("div",{className:"mono muted",style:{marginTop:"8px",fontSize:"var(--font-size-sm)"},children:"No items (or backlog browsing not configured on this gateway)."}):null,mn&&!Js&&!Zr&&!cr.length?s.jsx("div",{className:"mono muted",style:{marginTop:"8px",fontSize:"var(--font-size-sm)"},children:"No exec requests found."}):null]}),s.jsxs("div",{className:"inbox_layout",children:[ac?s.jsx("div",{className:"card inbox_sidebar",children:s.jsx("div",{className:"inbox_list",children:mn?jt.length?jt.map(N=>{const U=(be==null?void 0:be.request_id)===N.request_id,F=String(N.status||"").trim().toLowerCase(),le=F==="completed"||F==="promoted"?"ok":F==="failed"?"danger":F==="running"?"info":F==="queued"||F==="awaiting_qa"?"warn":"muted";return s.jsxs("button",{className:`inbox_item ${U?"active":""}`,onClick:()=>void vn(N),children:[s.jsxs("div",{className:"inbox_item_title",children:[s.jsx("span",{className:`chip ${le} mono`,children:F||"unknown"}),s.jsx("span",{className:"item_title_text",children:ta(N.backlog_filename||N.backlog_relpath||"request",56)})]}),s.jsx("div",{className:"inbox_item_meta mono muted",children:ta(N.request_id,80)}),N.error?s.jsx("div",{className:"inbox_item_meta mono",style:{color:"rgba(239, 68, 68, 0.9)"},children:ta(N.error,180)}):null]},`exec:${N.request_id}`)}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No requests."}):Fo.length?Fo.map(N=>{const U=(V==null?void 0:V.filename)===N.filename,F=Zf(N),le=Mu(N.task_type);return s.jsxs("button",{className:`inbox_item ${U?"active":""}`,onClick:()=>void co(N),children:[s.jsxs("div",{className:"inbox_item_title",children:[F?null:s.jsx("span",{className:"pill unparsed",children:"unparsed"}),N.item_id?s.jsxs("span",{className:"chip info mono",children:["#",N.item_id]}):null,F?s.jsx("span",{className:`chip ${Tp(le)} mono`,children:le}):null,N.package?s.jsx("span",{className:"chip muted mono",children:N.package}):null,s.jsx("span",{className:"item_title_text",children:ta(N.title||N.filename,56)})]}),N.summary?s.jsx("div",{className:"item_summary_text",children:s.jsx(ro,{text:lw(N.summary),className:"backlog_summary_md"})}):null,s.jsx("div",{className:"inbox_item_meta mono muted",children:N.filename})]},`${c}:${N.filename}`)}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No items."})})}):null,bn?s.jsx("div",{className:"card inbox_viewer",children:mn?be?s.jsxs("div",{className:"inbox_detail",children:[s.jsxs("div",{className:"inbox_detail_header",children:[s.jsxs("div",{className:"inbox_detail_title",children:[s.jsx("span",{className:"mono",style:{fontWeight:700},children:be.backlog_filename||be.backlog_relpath||be.request_id}),(()=>{const N=String(be.status||"").trim().toLowerCase(),U=N==="completed"||N==="promoted"?"ok":N==="failed"?"danger":N==="running"?"info":N==="queued"||N==="awaiting_qa"?"warn":"muted";return s.jsx("span",{className:`chip mono ${U}`,children:N||"unknown"})})(),s.jsx("span",{className:"chip mono muted",children:ta(be.request_id,16)})]}),s.jsxs("div",{className:"inbox_detail_actions",children:[m?s.jsx("button",{className:"btn",onClick:()=>g("list"),disabled:zs,children:"Back"}):null,s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(be.request_id),disabled:zs,"aria-label":"Copy request id",title:"Copy request id",children:[s.jsx(Zn,{name:"copy",size:16}),m?null:"Copy request id"]}),be.backlog_relpath?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(be.backlog_relpath||""),disabled:zs,"aria-label":"Copy backlog path",title:"Copy backlog path",children:[s.jsx(Zn,{name:"copy",size:16}),m?null:"Copy backlog path"]}):null,(()=>{var F;const U=(Array.isArray((F=Qe==null?void 0:Qe.backlog_queue)==null?void 0:F.items)?Qe.backlog_queue.items:[]).map(le=>String((le==null?void 0:le.relpath)||"").trim()).filter(Boolean);return U.length?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(U.join(`
|
|
97
|
-
`)),disabled:zs,"aria-label":"Copy backlog paths",title:"Copy backlog paths",children:[s.jsx(Zn,{name:"copy",size:16}),m?null:"Copy backlog paths"]}):null})(),be.run_dir_relpath?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(be.run_dir_relpath||""),disabled:zs,"aria-label":"Copy run dir",title:"Copy run dir",children:[s.jsx(Zn,{name:"copy",size:16}),m?null:"Copy run dir"]}):null]})]}),s.jsxs("div",{className:"inbox_detail_meta mono muted",style:{fontSize:"var(--font-size-sm)"},children:[be.created_at?`created ${new Date(be.created_at).toLocaleString()}`:"",be.started_at?` • started ${new Date(be.started_at).toLocaleString()}`:"",be.finished_at?` • finished ${new Date(be.finished_at).toLocaleString()}`:""]}),be.error?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:be.error}):null,cn?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:cn}):null,s.jsx("div",{style:{marginTop:"12px"},children:zs?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Loading…"}):s.jsxs(s.Fragment,{children:[(()=>{if(String(be.status||"").trim().toLowerCase()!=="awaiting_qa")return null;const U=String((Qe==null?void 0:Qe.execution_mode)||"").trim().toLowerCase()||"uat",F=String((Qe==null?void 0:Qe.candidate_relpath)||"").trim(),le=String((Qe==null?void 0:Qe.candidate_patch_relpath)||"").trim(),_e=String((Qe==null?void 0:Qe.candidate_manifest_relpath)||"").trim(),He=String((Qe==null?void 0:Qe.uat_current_relpath)||"").trim(),Re=String((Qe==null?void 0:Qe.uat_lock_owner_request_id)||"").trim(),Ue=!!(Qe!=null&&Qe.uat_lock_acquired),et=!!(Qe!=null&&Qe.uat_pending),It=(Qe==null?void 0:Qe.uat_deploy)??null,zn=String((Qe==null?void 0:Qe.uat_deploy_error)||"").trim(),_n=Qe==null?void 0:Qe.attempt;let Jn="",is="";const Mr=[];try{const Dr=It==null?void 0:It.processes;if(Dr&&typeof Dr=="object"&&!Array.isArray(Dr)){typeof Dr.status=="string"&&(Jn=String(Dr.status||"").trim()),typeof Dr.reason=="string"&&(is=String(Dr.reason||"").trim());for(const[ya,Wo]of Object.entries(Dr)){if(!Wo||typeof Wo!="object"||Array.isArray(Wo))continue;const Es=Wo.probe;!Es||typeof Es!="object"||Es.ok===!1&&Mr.push(String(ya))}}}catch{}return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_title",children:"QA decision"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"mode:"})," ",U]}),typeof _n=="number"?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"attempt:"})," ",_n]}):null,F?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"candidate:"})," ",F]}):null,_e?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"manifest:"})," ",_e]}):null,le?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"patch:"})," ",le]}):null,He?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"uat_current:"})," ",He]}):null,U==="uat"&&Re?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"uat_lock:"})," ",Re,Ue?" (owned)":et?" (pending)":""]}):null]}),U==="inplace"?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Inplace mode: prod may already be mutated. Approving only finalizes the request status."}):U==="uat"&&et&&Re&&!Ue?s.jsxs("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:["UAT currently points to ",ta(Re,16),". Click “Deploy to UAT” to switch the shared UAT stack to this request."]}):U==="uat"&&Ue?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"UAT URLs: gateway `http://localhost:6081`, observer `http://localhost:6082`, code `http://localhost:6083`, flow `http://localhost:6084`"}),Mr.length?s.jsxs("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:["UAT may be unreachable: URL probe failed for ",Mr.slice(0,4).join(", "),Mr.length>4?"…":"",". Click “Restart UAT” and check process logs."]}):null]}):null,U==="uat"&&Jn==="skipped"&&is==="process_manager_disabled"?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"UAT services were not started: process manager is disabled. Restart the gateway with `ABSTRACTGATEWAY_ENABLE_PROCESS_MANAGER=1` (default when using `./agw.sh`)."}):null,zn?s.jsxs("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:["UAT deploy failed: ",zn]}):null,s.jsxs("div",{className:"row",style:{flexWrap:"wrap",gap:"6px",marginTop:"8px"},children:[le?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(le),disabled:qr,children:[s.jsx(Zn,{name:"copy",size:16}),"Copy patch path"]}):null,_e?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(_e),disabled:qr,children:[s.jsx(Zn,{name:"copy",size:16}),"Copy manifest path"]}):null,F?s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(F),disabled:qr,children:[s.jsx(Zn,{name:"copy",size:16}),"Copy candidate path"]}):null]}),s.jsx("div",{style:{marginTop:"10px"},children:s.jsx("textarea",{value:Ri,onChange:Dr=>bs(Dr.target.value),rows:3,placeholder:"QA feedback (what to change / fix)…",style:{width:"100%",resize:"vertical",minHeight:"72px"},disabled:qr})}),rr?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:rr}):null,s.jsxs("div",{className:"row",style:{flexWrap:"wrap",gap:"8px",marginTop:"10px"},children:[U==="uat"?s.jsx("button",{className:"btn",onClick:()=>void ii(),disabled:qr,children:Ue?"Restart UAT":"Deploy to UAT"}):null,s.jsx("button",{className:"btn primary",onClick:()=>void vl(),disabled:qr,children:U==="inplace"?"Approve (finalize)":"Approve → promote to prod"}),s.jsx("button",{className:"btn",onClick:()=>void ha(),disabled:qr,children:"Iterate (send feedback)"})]}),s.jsx("div",{className:"section_divider"})]})})(),(()=>{if(String(be.status||"").trim().toLowerCase()!=="promoted")return null;const U=String((Qe==null?void 0:Qe.promoted_at)||"").trim(),F=(Qe==null?void 0:Qe.promotion)??null,le=(Qe==null?void 0:Qe.promotion_report)??null,_e=typeof(F==null?void 0:F.copied)=="number"?Number(F==null?void 0:F.copied):null,He=typeof(F==null?void 0:F.deleted)=="number"?Number(F==null?void 0:F.deleted):null,Re=String((F==null?void 0:F.manifest_sha256)||"").trim(),Ue=String((F==null?void 0:F.mode)||"").trim(),et=(le==null?void 0:le.redeploy)??null,It=String((et==null?void 0:et.status)||"").trim(),zn=String((et==null?void 0:et.reason)||"").trim(),_n=String((le==null?void 0:le.redeploy_error)||"").trim();return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_title",children:"Promotion"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[U?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"promoted_at:"})," ",new Date(U).toLocaleString()]}):null,Ue?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"mode:"})," ",Ue]}):null,Re?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"manifest_sha256:"})," ",Re.slice(0,16),"…"]}):null,_e!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"files_copied:"})," ",_e]}):null,He!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"files_deleted:"})," ",He]}):null,It?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"redeploy:"})," ",It,zn?` (${zn})`:""]}):null,_n?s.jsxs("div",{style:{color:"rgba(239, 68, 68, 0.9)"},children:[s.jsx("span",{className:"mono muted",children:"redeploy_error:"})," ",_n]}):null]}),s.jsx("div",{className:"section_divider"})]})})(),s.jsx("div",{className:"section_title",children:"Execution"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"status:"})," ",be.status||"unknown"]}),be.executor_type?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"executor:"})," ",be.executor_type]}):null,be.target_agent?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"target_agent:"})," ",be.target_agent]}):null,be.target_model?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"model:"})," ",be.target_model,be.target_reasoning_effort?` (reasoning ${be.target_reasoning_effort})`:""]}):null,be.exit_code!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"exit_code:"})," ",String(be.exit_code)]}):null,be.run_dir_relpath?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"run_dir:"})," ",be.run_dir_relpath]}):null,Ds.age_ms!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"age:"})," ",xd(Ds.age_ms)]}):null,Ds.queue_delay_ms!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"queue_delay:"})," ",xd(Ds.queue_delay_ms)]}):null,Ds.run_ms!=null?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"run_time:"})," ",xd(Ds.run_ms)]}):null,Ds.total_ms!=null&&Ds.is_done?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"total_time:"})," ",xd(Ds.total_ms)]}):null,kr?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"commands:"})," ",kr.command_count.toLocaleString(),kr.command_fail_count?` (${kr.command_fail_count.toLocaleString()} failed)`:""]}):null,s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"tokens:"})," ",kr!=null&&kr.has_tokens?s.jsxs(s.Fragment,{children:["in ",kr.input_tokens.toLocaleString(),kr.cached_input_tokens?` (cached ${kr.cached_input_tokens.toLocaleString()})`:"",", out ",kr.output_tokens.toLocaleString(),", total ",kr.total_tokens.toLocaleString()]}):s.jsx("span",{className:"mono muted",children:Yn==="events"?"n/a":'select "events"'})]})]}),(()=>{const N=Qe&&typeof Qe.promotion=="object"?Qe.promotion:null;if(!N)return null;const U=Qe&&typeof Qe.promotion_report=="object"?Qe.promotion_report:null,F=String((N==null?void 0:N.mode)||"").trim(),le=(N==null?void 0:N.copied)!=null?String(N.copied):"",_e=(N==null?void 0:N.deleted)!=null?String(N.deleted):"",He=String((N==null?void 0:N.manifest_sha256)||"").trim(),Re=U&&typeof U.redeploy=="object"?U.redeploy:null,Ue=Re?String(Re.status||"").trim():"";return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Promotion"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[F?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"mode:"})," ",F]}):null,le?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"copied:"})," ",le," files"]}):null,_e?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"deleted:"})," ",_e," files"]}):null,He?s.jsxs("div",{className:"row",style:{gap:"8px",alignItems:"center",flexWrap:"wrap"},children:[s.jsxs("div",{style:{minWidth:"180px"},children:[s.jsx("span",{className:"mono muted",children:"manifest_sha256:"})," ",He.slice(0,16),"…"]}),s.jsxs("button",{className:"btn btn_icon",onClick:()=>Xs(He),disabled:qr,children:[s.jsx(Zn,{name:"copy",size:16}),"Copy sha"]})]}):null,Ue?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"redeploy:"})," ",Ue]}):null]})]})})(),(()=>{var F;const U=(Array.isArray((F=Qe==null?void 0:Qe.backlog_queue)==null?void 0:F.items)?Qe.backlog_queue.items:[]).map(le=>String((le==null?void 0:le.relpath)||"").trim()).filter(Boolean);return U.length?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Backlog queue"}),s.jsx("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:U.map(le=>s.jsx("div",{children:le},`bq:${le}`))})]}):null})(),(()=>{var U;const N=String(((U=Qe==null?void 0:Qe.result)==null?void 0:U.last_message)||be.last_message||"").trim();return N?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Last message"}),s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:N})]}):null})(),s.jsx("div",{className:"section_divider"}),s.jsxs("div",{className:"row",style:{alignItems:"center",justifyContent:"space-between",gap:"8px",marginTop:"8px"},children:[s.jsx("div",{className:"section_title",style:{marginTop:0},children:"Live logs"}),s.jsxs("div",{style:{display:"flex",gap:"6px",alignItems:"center",justifyContent:"flex-end",flexWrap:"wrap"},children:[s.jsxs("select",{value:Yn,onChange:N=>hs(N.target.value),children:[s.jsx("option",{value:"events",children:"events"}),s.jsx("option",{value:"stderr",children:"stderr"}),s.jsx("option",{value:"last_message",children:"last message"})]}),s.jsx("button",{className:`btn ${P?"primary":""}`,onClick:()=>ie(N=>!N),disabled:!(be!=null&&be.request_id),children:P?"Auto on":"Auto off"}),s.jsxs("button",{className:`btn btn_icon ${Ss?"is_loading":""}`,onClick:()=>void Ui(),disabled:Ss||!(be!=null&&be.request_id),"aria-label":"Refresh logs",title:"Refresh logs",children:[s.jsx(Zn,{name:"refresh",size:16}),m?null:Ss?"Loading…":"Refresh"]})]})]}),Pr?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:Pr}):null,!Pr&&so?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:"(tail truncated)"}):null,Yn==="events"&&Cs?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"exec_log_scroll",ref:Ee,onScroll:N=>{Be.current=Mp(N.currentTarget,12)},children:Cs.events.length===0?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"(no events yet)"}):Cs.events.map(N=>{var Es;const U=N.payload,F=U&&typeof U.item=="object"?U.item:null,le=F?String(F.type||"").trim():"",_e=F?String(F.id||"").trim():"",He=U?String(U.thread_id||"").trim():"",Re=rw(N.type,U),Ue=Re==="error"?"danger":Re==="ok"?"ok":"info",et=iw(U),It=sw(N.type,U),zn=String((U==null?void 0:U.message)||((Es=U==null?void 0:U.error)==null?void 0:Es.message)||"").trim(),_n=F?String(F.text||"").trim():"",Jn=F?String(F.command||"").trim():"",is=F?String(F.status||"").trim():"",Mr=F&&F.exit_code!=null?String(F.exit_code):"",Dr=F?String(F.aggregated_output||"").trim():"",ya=F&&Array.isArray(F.items)?F.items:[],Wo=Jn?d_(Jn)||Jn:"";return s.jsxs("details",{className:`exec_event ${Re}`,children:[s.jsxs("summary",{className:"exec_event_summary",children:[et?s.jsx("span",{className:"exec_event_when mono muted",children:et}):null,et?s.jsx("span",{className:"exec_event_sep mono muted",children:"|"}):null,s.jsx("span",{className:"exec_event_main mono",title:It,children:It}),s.jsx("span",{className:`chip mono ${Ue}`,children:le||N.type}),Mr?s.jsxs("span",{className:"mono muted exec_event_right",children:["exit=",Mr]}):null]}),s.jsxs("div",{className:"exec_event_body",children:[s.jsxs("div",{className:"row exec_event_meta",children:[s.jsx("span",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:N.type}),_e?s.jsx("span",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:_e}):null,He?s.jsxs("span",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:["thread ",ta(He,18)]}):null]}),zn?s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:zn}):null,ya&&ya.length>0?s.jsx("div",{className:"mono",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:ya.map((ai,Wi)=>s.jsxs("div",{children:[(ai&&ai.completed)===!0?"✓":"○"," ",String((ai==null?void 0:ai.text)||"").trim()]},`${N.idx}-todo-${Wi}`))}):null,Jn?s.jsxs("div",{style:{marginTop:"8px"},children:[s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:["command_execution ",is?`(${is})`:""," ",Mr?`exit=${Mr}`:""]}),s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"6px"},children:Wo})]}):null,Dr?s.jsxs("details",{style:{marginTop:"8px"},children:[s.jsxs("summary",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",cursor:"pointer"},children:["output (",Dr.length.toLocaleString()," chars)"]}),s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:Dr})]}):null,_n?s.jsx("div",{style:{marginTop:"8px"},children:s.jsx(ro,{text:_n})}):null]})]},`${_e||N.idx}-${N.type}`)})}),s.jsxs("details",{style:{marginTop:"8px"},children:[s.jsxs("summary",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",cursor:"pointer"},children:["Raw JSONL",Cs.bad?` (${Cs.bad} unparsable line(s))`:""]}),s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"8px",maxHeight:"240px",overflow:"auto"},children:Cs.raw||""})]})]}):s.jsx("div",{className:"exec_log_scroll",ref:Ee,onScroll:N=>{Be.current=Mp(N.currentTarget,12)},children:s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)"},children:(()=>{var U;if(String(Vr||"").trim())return Vr;if(Yn==="last_message"){const F=String(((U=Qe==null?void 0:Qe.result)==null?void 0:U.last_message)||be.last_message||"").trim();if(F)return F;const le=String(be.status||"").trim().toLowerCase();return le==="queued"||le==="running"?"(last message is written when the run finishes — use events for live output)":"(no last message yet)"}return Yn==="stderr"?"(no stderr yet)":"(no logs yet)"})()})}),(Fr=Qe==null?void 0:Qe.result)!=null&&Fr.logs?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Logs"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[Qe.result.logs.events_relpath?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"events:"})," ",Qe.result.logs.events_relpath]}):null,Qe.result.logs.stderr_relpath?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"stderr:"})," ",Qe.result.logs.stderr_relpath]}):null,Qe.result.logs.last_message_relpath?s.jsxs("div",{children:[s.jsx("span",{className:"mono muted",children:"last_message:"})," ",Qe.result.logs.last_message_relpath]}):null]})]}):null]})})]}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Select an exec request."}):V?s.jsxs("div",{className:"inbox_detail",children:[s.jsxs("div",{className:"inbox_detail_header",children:[s.jsxs("div",{className:"inbox_detail_title",children:[s.jsx("span",{className:"mono",style:{fontWeight:700},children:V.title||V.filename}),V.item_id?s.jsxs("span",{className:"chip mono muted",children:["#",V.item_id]}):null,V.package?s.jsx("span",{className:"chip mono muted",children:V.package}):null,Ua?s.jsx("span",{className:`chip ${Tp(Ua)} mono`,children:Ua}):null,Zf(V)?null:s.jsx("span",{className:"chip mono muted",children:"unparsed"}),s.jsxs("span",{className:"chip mono muted backlog_path_chip",children:[s.jsx("span",{className:"mono",children:V.filename}),s.jsx("button",{className:"chip_icon_btn",type:"button",onClick:()=>Xs(`docs/backlog/${String(c)}/${V.filename}`),"aria-label":"Copy path",title:"Copy path",disabled:ce,children:s.jsx(Zn,{name:"copy",size:14})})]})]}),s.jsxs("div",{className:"inbox_detail_actions",children:[m?s.jsx("button",{className:"btn",onClick:()=>g("list"),disabled:ce,children:"Back"}):null,c==="completed"&&Yr==="tasks"?s.jsx("button",{className:"btn",onClick:()=>void Do(V.filename),disabled:ce||!r,children:"Execution log"}):null,jl?s.jsx("button",{className:"btn primary",onClick:()=>{O(""),Kt("uat"),Bt({kind:"planned",filename:V.filename,title:V.title||V.filename}),Qt(!0)},disabled:ce,children:"Execute"}):null,_a?s.jsx("button",{className:"btn primary",onClick:()=>void Bi("planned"),disabled:ce,children:"Elevate → planned"}):null,uo?s.jsx("button",{className:"btn",onClick:()=>void Bi("proposed"),disabled:ce,children:"Downgrade → proposed"}):null,Jc?s.jsx("button",{className:"btn",onClick:()=>void Bi("proposed"),disabled:ce,children:"Restore → proposed"}):null,oc?s.jsx("button",{className:"btn",onClick:()=>void Bi("proposed"),disabled:ce,children:"Restore → proposed"}):null,ss?s.jsx("button",{className:"btn",onClick:()=>void Bi("deprecated"),disabled:ce,children:"Deprecate"}):null,ic?s.jsxs("button",{className:"btn btn_icon",onClick:()=>void Bi("trash"),disabled:ce,"aria-label":"Trash",title:"Trash",children:[s.jsx(Zn,{name:"trash",size:16}),m?null:"Trash"]}):null,$?s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>D(!1),disabled:ve,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void Tr(),disabled:ve,children:ve?"Saving…":"Save"})]}):s.jsxs("button",{className:"btn btn_icon",onClick:()=>{D(!0),ae(ge),he(""),K([]),Ne(""),gt(""),Mt(""),nn([])},disabled:oe||ve,"aria-label":"Edit",title:"Edit",children:[s.jsx(Zn,{name:"edit",size:16}),m?null:"Edit"]})]})]}),s.jsxs("div",{className:"inbox_detail_meta mono muted",style:{fontSize:"var(--font-size-sm)"},children:[String(c),ke?` • sha ${ta(ke,10)}`:""]}),L?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:L}):null,ue?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:ue}):null,se?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:se}):null,oe?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Loading…"}):$?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"field",style:{marginTop:"8px"},children:s.jsx("textarea",{value:ne,onChange:N=>ae(N.target.value),rows:18,className:"mono"})}),s.jsxs("div",{className:"backlog_edit_sticky",children:[s.jsx("div",{className:"section_title",style:{marginTop:0},children:"Maintenance AI (chat)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Ask the maintainer to refine this backlog item. Provider/model can be set in Settings (blank = gateway default)."}),s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-xs)",marginTop:"6px"},children:["Using:"," ",s.jsxs("span",{className:"mono",children:[o||"(gateway default)"," / ",l||"(gateway default)"]})]}),s.jsxs("div",{className:"row",style:{marginTop:"10px",justifyContent:"space-between",gap:"10px",flexWrap:"wrap"},children:[s.jsx("input",{ref:qe,type:"file",multiple:!0,style:{display:"none"},onChange:N=>{const U=Array.from(N.target.files||[]);U.length&&(Kc(U),N.currentTarget.value="")}}),s.jsx("button",{type:"button",className:"btn",onClick:()=>{var N;return(N=qe.current)==null?void 0:N.click()},disabled:!r||!V||!ea(c)||ot,children:ot?"Uploading…":"Attach files"}),Ft.length?s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:["Last attached: ",Ft[0]]}):null]}),Nt?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:Nt}):null,s.jsx("div",{className:"section_divider",style:{marginTop:"10px"}}),s.jsx(Ld,{messages:Fe,className:"backlog_chat_thread_small",empty:s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No messages yet."})}),s.jsx("div",{style:{marginTop:"10px"},children:s.jsx(Rd,{value:Me,onChange:Ne,onSubmit:()=>void Uo(),placeholder:"Message to maintainer (e.g. improve acceptance criteria…)",disabled:!r||Ye||!V||!ea(c),busy:Ye,rows:3,sendButtonClassName:"btn primary"})}),mt?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:mt}):null]})]}):ge?s.jsx(ro,{text:ge}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No content loaded."})]}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Select a backlog item."})}):null]})]}),s.jsxs(eo,{open:Rt,title:"Execute backlog item?",onClose:()=>{Qt(!1),Bt(null)},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{Qt(!1),Bt(null)},disabled:ce,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void tc(),disabled:ce||Rn||!ln||(tt==null?void 0:tt.can_execute)!==!0,children:ce?"Executing…":"Execute"})]}),children:[s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:["Target:"," ",s.jsx("span",{className:"mono",style:{fontWeight:700},children:ln?ln.title:"(unknown)"})]}),s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"6px"},children:"Execution mode"}),s.jsxs("select",{className:"input",value:gn,onChange:N=>Kt(N.target.value),disabled:ce,style:{width:"100%"},children:[s.jsx("option",{value:"uat",children:"UAT (staged, safe)"}),s.jsx("option",{value:"inplace",children:"Inplace (dangerous, edits prod)"})]}),gn==="inplace"?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Warning: inplace runs directly in the prod workspace. Use only when you understand the risk."}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"The run will execute in a candidate workspace. When it reaches “awaiting QA”, click “Restart UAT” to deploy it to the shared UAT stack."})]}),Rn?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:"Checking worker…"}):null,!Rn&&(tt==null?void 0:tt.can_execute)!==!0?s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:(tt==null?void 0:tt.runner_enabled)!==!0?"Backlog exec runner is disabled on this gateway.":(tt==null?void 0:tt.runner_alive)===!1?"Backlog exec runner is not running on this gateway.":(tt==null?void 0:tt.codex_available)===!1?`Codex not found on gateway: ${String((tt==null?void 0:tt.codex_bin)||"codex")}`:"Backlog exec is not available on this gateway."}),tt!=null&&tt.runner_error?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:tt.runner_error}):null,s.jsxs("details",{style:{marginTop:"8px"},children:[s.jsx("summary",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",cursor:"pointer"},children:"Setup"}),s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:[s.jsx("div",{children:"Docs: `docs/backlog/README.md`"}),s.jsx("div",{style:{marginTop:"6px"},children:"Required env (example):"}),s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",fontSize:"var(--font-size-sm)",marginTop:"6px"},children:["ABSTRACTGATEWAY_BACKLOG_EXEC_RUNNER=1","ABSTRACTGATEWAY_BACKLOG_EXECUTOR=codex_cli","ABSTRACTGATEWAY_BACKLOG_CODEX_BIN=codex","ABSTRACTGATEWAY_BACKLOG_CODEX_MODEL=gpt-5.2"].join(`
|
|
98
|
-
`)}),s.jsx("button",{className:"btn",style:{marginTop:"8px"},onClick:()=>Xs(["ABSTRACTGATEWAY_BACKLOG_EXEC_RUNNER=1","ABSTRACTGATEWAY_BACKLOG_EXECUTOR=codex_cli","ABSTRACTGATEWAY_BACKLOG_CODEX_BIN=codex","ABSTRACTGATEWAY_BACKLOG_CODEX_MODEL=gpt-5.2"].join(`
|
|
99
|
-
`)),children:"Copy setup"})]})]})]}):null,Er?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:Er}):null,L?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:L}):null]}),s.jsxs(eo,{open:tr,title:"Execute batch (single context)?",onClose:()=>{xn(!1),Un("")},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{xn(!1),Un("")},disabled:kn,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void nc(),disabled:kn||Rn||ur.length<2||(tt==null?void 0:tt.can_execute)!==!0,children:kn?"Executing…":"Execute batch"})]}),children:[s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:["Items:"," ",s.jsx("span",{className:"mono",style:{fontWeight:700},children:ur.length})]}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"This queues a single exec request whose prompt includes all selected backlog items (in order), so the agent keeps a shared growing context."}),s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"6px"},children:"Execution mode"}),s.jsxs("select",{className:"input",value:xr,onChange:N=>dr(N.target.value),disabled:kn,style:{width:"100%"},children:[s.jsx("option",{value:"uat",children:"UAT (staged, safe)"}),s.jsx("option",{value:"inplace",children:"Inplace (dangerous, edits prod)"})]}),xr==="inplace"?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Warning: inplace runs directly in the prod workspace (for the entire batch). Use only when you understand the risk."}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"The batch will execute in a candidate workspace. When it reaches “awaiting QA”, click “Restart UAT” to deploy it to the shared UAT stack."})]}),ur.length?s.jsx("div",{className:"mono",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:ur.map(N=>s.jsxs("div",{children:["- docs/backlog/planned/",N.filename]},`batchitem:${N.filename}`))}):null,Rn?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:"Checking worker…"}):null,!Rn&&(tt==null?void 0:tt.can_execute)!==!0?s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:(tt==null?void 0:tt.runner_enabled)!==!0?"Backlog exec runner is disabled on this gateway.":(tt==null?void 0:tt.runner_alive)===!1?"Backlog exec runner is not running on this gateway.":(tt==null?void 0:tt.codex_available)===!1?`Codex not found on gateway: ${String((tt==null?void 0:tt.codex_bin)||"codex")}`:"Backlog exec is not available on this gateway."}),tt!=null&&tt.runner_error?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:tt.runner_error}):null]}):null,Er?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:Er}):null,Bn?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:Bn}):null]}),s.jsxs(eo,{open:Rr,title:"Merge planned items into master backlog?",onClose:()=>{ds(!1),Hr("")},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{ds(!1),Hr("")},disabled:wn,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void rc(),disabled:wn||ur.length<2||!ht.trim()||!zi.trim(),children:wn?"Merging…":"Create master"})]}),children:[s.jsxs("div",{className:"row",style:{gap:"10px",flexWrap:"wrap"},children:[s.jsx("div",{className:"col",style:{minWidth:220},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Package"}),s.jsx("input",{value:zi,onChange:N=>Qr(N.target.value),placeholder:"framework"})]})}),s.jsx("div",{className:"col",style:{minWidth:220},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Type"}),s.jsxs("select",{value:Nn,onChange:N=>ws(N.target.value),children:[s.jsx("option",{value:"task",children:"task"}),s.jsx("option",{value:"feature",children:"feature"}),s.jsx("option",{value:"bug",children:"bug"})]})]})})]}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Title"}),s.jsx("input",{value:ht,onChange:N=>Mn(N.target.value),placeholder:"Master backlog"})]}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Summary (optional)"}),s.jsx("textarea",{value:_i,onChange:N=>As(N.target.value),rows:3})]}),ur.length?s.jsxs("div",{style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Referenced backlog items:"}),s.jsx("div",{className:"mono",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:ur.map(N=>s.jsxs("div",{children:["- docs/backlog/planned/",N.filename]},`mergeitem:${N.filename}`))})]}):null,fr?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:fr}):null]}),s.jsx(eo,{open:De,title:Et?`Execution log — ${Et}`:"Execution log",variant:"fullscreen",onClose:()=>{nt(!1),$t(""),Vt([]),Gr(""),hn(""),Or(""),jr(!1),Rs("")},children:s.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[s.jsxs("div",{className:"row",style:{alignItems:"flex-end",gap:"10px",flexWrap:"wrap"},children:[s.jsx("div",{className:"col",style:{minWidth:420,flex:"0 0 auto"},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Execution"}),s.jsxs("select",{value:Wn,onChange:N=>{const U=String(N.target.value||"").trim();Gr(U),hn(""),Or(""),jr(!1),U&&pa({request_id:U,name:sn}),setTimeout(()=>{var F;return(F=io.current)==null?void 0:F.focus()},0)},disabled:Ir||!At.length,children:[At.length?null:s.jsx("option",{value:"",children:"(none)"}),At.map(N=>{const U=String(N.finished_at||N.started_at||N.created_at||"").trim(),F=U?`${U} • ${ta(N.request_id,16)} • ${String(N.status||"").trim()}`:`${ta(N.request_id,16)} • ${String(N.status||"").trim()}`;return s.jsx("option",{value:N.request_id,children:F},`execfull:${N.request_id}`)})]})]})}),s.jsx("div",{className:"col",style:{minWidth:180,flex:"0 0 auto"},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Log"}),s.jsxs("select",{value:sn,onChange:N=>{const U=N.target.value;Xn(U),hn(""),Or(""),jr(!1),Wn&&pa({request_id:Wn,name:U}),setTimeout(()=>{var F;return(F=io.current)==null?void 0:F.focus()},0)},disabled:Ir||!Wn,children:[s.jsx("option",{value:"events",children:"events"}),s.jsx("option",{value:"stderr",children:"stderr"}),s.jsx("option",{value:"last_message",children:"last_message"})]})]})}),s.jsx("div",{className:"col",style:{minWidth:240,flex:"1 1 240px"},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Search"}),s.jsx("input",{value:hr,onChange:N=>Rs(N.target.value),placeholder:"Find…",onKeyDown:N=>{N.key==="Enter"&&(N.preventDefault(),Da(N.shiftKey?-1:1))}})]})}),s.jsxs("div",{className:"col",style:{flex:"0 0 auto",display:"flex",gap:"6px"},children:[s.jsx("button",{className:"btn",onClick:()=>Da(-1),disabled:!hr.trim()||!An.trim(),children:"Prev"}),s.jsx("button",{className:"btn",onClick:()=>Da(1),disabled:!hr.trim()||!An.trim(),children:"Next"}),s.jsx("button",{className:"btn",onClick:()=>void pa(),disabled:Ir||!Wn,children:Ir?"Loading…":"Refresh"}),s.jsx("button",{className:"btn",onClick:()=>Xs(An),disabled:!An.trim(),children:"Copy"})]})]}),Li?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"10px"},children:Li}):null,!Li&&Jt?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:"Showing only the tail of this log."}):null,s.jsx("div",{style:{flex:"1 1 auto",marginTop:"10px"},children:s.jsx("textarea",{ref:io,value:An||"(no log loaded)",readOnly:!0,className:"mono",style:{width:"100%",height:"100%",resize:"none",borderRadius:"12px",border:"1px solid var(--border)",background:"rgba(0, 0, 0, 0.18)",color:"var(--text)",padding:"12px",fontSize:"var(--font-size-sm)",lineHeight:"16px"}})})]})}),s.jsxs(eo,{open:oa,title:"New backlog task",onClose:()=>{oo(!1),Ba()},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{oo(!1),Ba()},disabled:Ns||wr,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void bl(),disabled:Ns||!vi.trim()||!$o.trim(),children:Ns?"Creating…":"Create"})]}),children:[s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",style:{minWidth:220},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Kind"}),s.jsxs("select",{value:ao,onChange:N=>ua(N.target.value),children:[s.jsx("option",{value:"proposed",children:"proposed"}),s.jsx("option",{value:"planned",children:"planned"}),s.jsx("option",{value:"recurrent",children:"recurrent"})]})]})}),s.jsx("div",{className:"col",style:{minWidth:220},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Type"}),s.jsxs("select",{value:Ra,onChange:N=>La(N.target.value),children:[s.jsx("option",{value:"feature",children:"feature"}),s.jsx("option",{value:"bug",children:"bug"}),s.jsx("option",{value:"task",children:"task"})]})]})}),s.jsx("div",{className:"col",style:{minWidth:220},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Package"}),s.jsx("input",{value:$o,onChange:N=>Ql(N.target.value),placeholder:"framework"})]})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Title"}),s.jsx("input",{value:vi,onChange:N=>lo(N.target.value),placeholder:"Short descriptive title"})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Summary (optional)"}),s.jsx("textarea",{value:To,onChange:N=>da(N.target.value),rows:3,placeholder:"One paragraph summary"})]}),s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Guided fields (optional)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Use this to generate a structured draft without editing markdown directly. One item per line for list fields."}),s.jsx("div",{style:{marginTop:"8px"},children:s.jsxs("details",{children:[s.jsx("summary",{className:"mono",style:{cursor:"pointer"},children:"Show guided fields"}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Diagram (ASCII)"}),s.jsx("textarea",{value:fa,onChange:N=>Pa(N.target.value),rows:4,className:"mono",placeholder:"(optional) ascii diagram"})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Context"}),s.jsx("textarea",{value:gl,onChange:N=>Ao(N.target.value),rows:4,placeholder:"Why is this needed? Link to evidence (reports, discussions, etc.)."})]}),s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",style:{minWidth:260},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Scope: Included (1 per line)"}),s.jsx("textarea",{value:_l,onChange:N=>zo(N.target.value),rows:4,className:"mono",placeholder:"..."})]})}),s.jsx("div",{className:"col",style:{minWidth:260},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Scope: Excluded (1 per line)"}),s.jsx("textarea",{value:Ro,onChange:N=>Ia(N.target.value),rows:4,className:"mono",placeholder:"..."})]})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Implementation Plan (1 per line)"}),s.jsx("textarea",{value:Oi,onChange:N=>Zl(N.target.value),rows:4,className:"mono",placeholder:"..."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Dependencies (1 per line)"}),s.jsx("textarea",{value:yl,onChange:N=>Lo(N.target.value),rows:3,className:"mono",placeholder:"Related backlog items / ADRs / external libs…"})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Acceptance Criteria (1 per line)"}),s.jsx("textarea",{value:Is,onChange:N=>Fi(N.target.value),rows:4,className:"mono",placeholder:"..."})]}),s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",style:{minWidth:260},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Testing Level A (1 per line)"}),s.jsx("textarea",{value:xl,onChange:N=>ei(N.target.value),rows:3,className:"mono",placeholder:"cd pkg && pytest -q ..."})]})}),s.jsx("div",{className:"col",style:{minWidth:260},children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Testing Level B (1 per line)"}),s.jsx("textarea",{value:ec,onChange:N=>Oa(N.target.value),rows:3,className:"mono",placeholder:"run local gateway + manual verification..."})]})})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Testing Level C (1 per line)"}),s.jsx("textarea",{value:Po,onChange:N=>ns(N.target.value),rows:2,className:"mono",placeholder:"(optional / opt-in)"})]}),s.jsx("div",{className:"row",style:{marginTop:"10px",justifyContent:"flex-end"},children:s.jsx("button",{className:"btn",onClick:()=>Bo(),disabled:Ns||wr,children:"Generate draft from guided fields"})})]})}),s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Attachments (optional)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Upload screenshots/diagrams to `docs/backlog/assets/<id>/` and link them under `## Related` after the task is created."}),s.jsx("div",{className:"field",style:{marginTop:"8px"},children:s.jsx("input",{type:"file",multiple:!0,onChange:N=>{const U=Array.from(N.target.files||[]);U.length&&(ti(F=>[...F,...U]),N.currentTarget.value="")}})}),Os.length?s.jsx("div",{className:"mono",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:Os.map((N,U)=>s.jsxs("div",{className:"row",style:{alignItems:"center",justifyContent:"space-between",marginTop:"4px"},children:[s.jsxs("span",{className:"mono muted",style:{paddingRight:"10px"},children:[N.name," (",Math.round(N.size/1024)," KB)"]}),s.jsx("button",{className:"btn",onClick:()=>ti(F=>F.filter((le,_e)=>_e!==U)),disabled:Ns||ni,children:"Remove"})]},`${N.name}_${N.size}_${U}`))}):null,ni?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Uploading attachments…"}):null,Di?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:Di}):null,s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Draft (Markdown)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Prefilled from `docs/backlog/template.md` (editable). AI assist can also refine the draft."}),aa?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Loading template…"}):null,ca?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:ca}):null,s.jsx("div",{className:"row",style:{marginTop:"10px",justifyContent:"flex-end",gap:"8px"},children:s.jsx("button",{className:"btn",onClick:()=>{Mo.trim()&&!globalThis.confirm("Reset the draft markdown to the backlog template?")||ji({force:!0})},disabled:Ns||wr||aa||!r,children:"Reset from template"})}),s.jsx("div",{className:"field",children:s.jsx("textarea",{value:Mo,onChange:N=>Zs(N.target.value),rows:10,className:"mono",placeholder:"(optional) full markdown draft"})}),s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"AI Assist (chat)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Use this to iteratively refine a backlog draft; assistant replies can also update the draft markdown."}),s.jsx(Ld,{messages:ma,className:"backlog_chat_thread_small",empty:s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No messages yet."})}),s.jsx("div",{style:{marginTop:"10px"},children:s.jsx(Rd,{value:Si,onChange:Fs,onSubmit:()=>void Xc(),placeholder:"Message to AI (e.g. refine acceptance criteria…)",disabled:!r||!vi.trim(),busy:wr,rows:3,sendButtonClassName:"btn primary"})}),wi?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:wi}):null]}),s.jsx("button",{className:`advisor_toggle ${ze?"open":""}`,onClick:()=>{Ae(N=>{const U=!N;return U||(oi(),ki()),U})},title:"Open backlog advisor (read-only)","aria-label":"Open backlog advisor",children:s.jsx("span",{className:"advisor_toggle_label",children:"Advisor"})}),ze?s.jsx("div",{className:"drawer_backdrop",onMouseDown:N=>{N.target===N.currentTarget&&(oi(),ki(),Ae(!1))},children:s.jsxs("div",{className:"drawer_panel",children:[s.jsxs("div",{className:"drawer_header",children:[s.jsxs("div",{className:"col",style:{gap:2},children:[s.jsx("div",{className:"drawer_title",children:"Backlog advisor"}),s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-xs)"},children:["Read-only. Agent: ",u||"basic-agent"," • Using: ",o||"(gateway default)"," / ",l||"(gateway default)"]})]}),s.jsxs("div",{className:"row",style:{gap:8,justifyContent:"flex-end"},children:[s.jsxs("button",{className:`btn btn_icon ${Ke?"primary":""}`,onClick:()=>St(N=>!N),disabled:me,title:Ke?"Hide tool execution":"Show tool execution","aria-label":Ke?"Hide tool execution":"Show tool execution",children:[s.jsx(Zn,{name:"terminal",size:16}),m?null:Ke?"Tools on":"Tools"]}),s.jsx("button",{className:"btn",onClick:()=>kt([]),disabled:me||!Ct.length,children:"Clear"}),s.jsx("button",{className:"btn",onClick:()=>{oi(),ki(),Ae(!1)},children:"Close"})]})]}),s.jsxs("div",{className:"drawer_body",children:[s.jsx(Ld,{messages:Ct,className:"drawer_chat_thread",messageProps:fn?{onSpeakToggle:pr,getSpeakState:Ln,jsonCollapseAfterDepth:4}:{jsonCollapseAfterDepth:4},empty:s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Ask about the backlog, e.g. “What are the top 5 planned items to focus on next and why?”"})}),s.jsxs("div",{className:"drawer_footer",children:[s.jsx("input",{ref:pn,type:"file",multiple:!0,style:{display:"none"},onChange:N=>{const U=Array.from(N.currentTarget.files||[]);N.currentTarget.value="",U.length&&sc(U)}}),s.jsx(Rd,{ref:Xt,value:Ot,onChange:lt,onSubmit:()=>void Sl(),placeholder:"Message to backlog advisor…",disabled:!r,busy:me,rows:3,sendButtonClassName:"btn primary",actions:s.jsxs(s.Fragment,{children:[s.jsxs("button",{className:`btn btn_icon ${ar?"danger":""}`,type:"button",onClick:()=>ga(),disabled:me||!Dn,title:Dn?ar?"Stop voice input":"Voice input (STT)":"Voice input is not supported in this browser","aria-label":"Voice input",children:[s.jsx(Zn,{name:"mic",size:16}),m?null:ar?"Listening…":"Voice"]}),s.jsxs("button",{className:"btn btn_icon",type:"button",onClick:()=>{var N;return(N=pn.current)==null?void 0:N.click()},disabled:me,title:"Attach a local file to your message","aria-label":"Attach file",children:[s.jsx(Zn,{name:"paperclip",size:16}),m?null:"Attach"]})]})}),$n.length?s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:["Last attached: ",$n[0]]}):null,we?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:we}):null,r?null:s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Connect the gateway in Settings to use the advisor."})]})]})]})}):null]})}function vs(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,o;r<e.length;r++)(o=vs(e[r]))!==""&&(t+=(t&&" ")+o);else for(let r in e)e[r]&&(t+=(t&&" ")+r);return t}var tm={exports:{}},nm={},rm={exports:{}},sm={};/**
|
|
100
|
-
* @license React
|
|
101
|
-
* use-sync-external-store-shim.production.js
|
|
102
|
-
*
|
|
103
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
104
|
-
*
|
|
105
|
-
* This source code is licensed under the MIT license found in the
|
|
106
|
-
* LICENSE file in the root directory of this source tree.
|
|
107
|
-
*/var Rp;function mw(){if(Rp)return sm;Rp=1;var e=Uu();function t(x,v){return x===v&&(x!==0||1/x===1/v)||x!==x&&v!==v}var r=typeof Object.is=="function"?Object.is:t,o=e.useState,l=e.useEffect,u=e.useLayoutEffect,c=e.useDebugValue;function f(x,v){var w=v(),j=o({inst:{value:w,getSnapshot:v}}),b=j[0].inst,T=j[1];return u(function(){b.value=w,b.getSnapshot=v,m(b)&&T({inst:b})},[x,w,v]),l(function(){return m(b)&&T({inst:b}),x(function(){m(b)&&T({inst:b})})},[x]),c(w),w}function m(x){var v=x.getSnapshot;x=x.value;try{var w=v();return!r(x,w)}catch{return!0}}function _(x,v){return v()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?_:f;return sm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:g,sm}var Lp;function hw(){return Lp||(Lp=1,rm.exports=mw()),rm.exports}/**
|
|
108
|
-
* @license React
|
|
109
|
-
* use-sync-external-store-shim/with-selector.production.js
|
|
110
|
-
*
|
|
111
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
112
|
-
*
|
|
113
|
-
* This source code is licensed under the MIT license found in the
|
|
114
|
-
* LICENSE file in the root directory of this source tree.
|
|
115
|
-
*/var Pp;function pw(){if(Pp)return nm;Pp=1;var e=Uu(),t=hw();function r(_,g){return _===g&&(_!==0||1/_===1/g)||_!==_&&g!==g}var o=typeof Object.is=="function"?Object.is:r,l=t.useSyncExternalStore,u=e.useRef,c=e.useEffect,f=e.useMemo,m=e.useDebugValue;return nm.useSyncExternalStoreWithSelector=function(_,g,x,v,w){var j=u(null);if(j.current===null){var b={hasValue:!1,value:null};j.current=b}else b=j.current;j=f(function(){function A(te){if(!W){if(W=!0,H=te,te=v(te),w!==void 0&&b.hasValue){var V=b.value;if(w(V,te))return M=V}return M=te}if(V=M,o(H,te))return V;var Z=v(te);return w!==void 0&&w(V,Z)?(H=te,V):(H=te,M=Z)}var W=!1,H,M,G=x===void 0?null:x;return[function(){return A(g())},G===null?void 0:function(){return A(G())}]},[g,x,v,w]);var T=l(_,j[0],j[1]);return c(function(){b.hasValue=!0,b.value=T},[T]),m(T),T},nm}var Ip;function gw(){return Ip||(Ip=1,tm.exports=pw()),tm.exports}var _w=gw();const yw=Xm(_w),xw={},Op=e=>{let t;const r=new Set,o=(g,x)=>{const v=typeof g=="function"?g(t):g;if(!Object.is(v,t)){const w=t;t=x??(typeof v!="object"||v===null)?v:Object.assign({},t,v),r.forEach(j=>j(t,w))}},l=()=>t,m={setState:o,getState:l,getInitialState:()=>_,subscribe:g=>(r.add(g),()=>r.delete(g)),destroy:()=>{(xw?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},_=t=e(o,l,m);return m},vw=e=>e?Op(e):Op,{useDebugValue:ww}=Se,{useSyncExternalStoreWithSelector:bw}=yw,Sw=e=>e;function p_(e,t=Sw,r){const o=bw(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return ww(o),o}const Fp=(e,t)=>{const r=vw(e),o=(l,u=t)=>p_(r,l,u);return Object.assign(o,r),o},jw=(e,t)=>e?Fp(e,t):Fp;function us(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,l]of e)if(!Object.is(l,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const o of r)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var kw={value:()=>{}};function ef(){for(var e=0,t=arguments.length,r={},o;e<t;++e){if(!(o=arguments[e]+"")||o in r||/[\s.]/.test(o))throw new Error("illegal type: "+o);r[o]=[]}return new Pd(r)}function Pd(e){this._=e}function Nw(e,t){return e.trim().split(/^|\s+/).map(function(r){var o="",l=r.indexOf(".");if(l>=0&&(o=r.slice(l+1),r=r.slice(0,l)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}Pd.prototype=ef.prototype={constructor:Pd,on:function(e,t){var r=this._,o=Nw(e+"",r),l,u=-1,c=o.length;if(arguments.length<2){for(;++u<c;)if((l=(e=o[u]).type)&&(l=Cw(r[l],e.name)))return l;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++u<c;)if(l=(e=o[u]).type)r[l]=Dp(r[l],e.name,t);else if(t==null)for(l in r)r[l]=Dp(r[l],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new Pd(e)},call:function(e,t){if((l=arguments.length-2)>0)for(var r=new Array(l),o=0,l,u;o<l;++o)r[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(u=this._[e],o=0,l=u.length;o<l;++o)u[o].value.apply(t,r)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],l=0,u=o.length;l<u;++l)o[l].value.apply(t,r)}};function Cw(e,t){for(var r=0,o=e.length,l;r<o;++r)if((l=e[r]).name===t)return l.value}function Dp(e,t,r){for(var o=0,l=e.length;o<l;++o)if(e[o].name===t){e[o]=kw,e=e.slice(0,o).concat(e.slice(o+1));break}return r!=null&&e.push({name:t,value:r}),e}var Em="http://www.w3.org/1999/xhtml";const Bp={svg:"http://www.w3.org/2000/svg",xhtml:Em,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function tf(e){var t=e+="",r=t.indexOf(":");return r>=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Bp.hasOwnProperty(t)?{space:Bp[t],local:e}:e}function Ew(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Em&&t.documentElement.namespaceURI===Em?t.createElement(e):t.createElementNS(r,e)}}function $w(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function g_(e){var t=tf(e);return(t.local?$w:Ew)(t)}function Tw(){}function Zm(e){return e==null?Tw:function(){return this.querySelector(e)}}function Mw(e){typeof e!="function"&&(e=Zm(e));for(var t=this._groups,r=t.length,o=new Array(r),l=0;l<r;++l)for(var u=t[l],c=u.length,f=o[l]=new Array(c),m,_,g=0;g<c;++g)(m=u[g])&&(_=e.call(m,m.__data__,g,u))&&("__data__"in m&&(_.__data__=m.__data__),f[g]=_);return new Ai(o,this._parents)}function Aw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function zw(){return[]}function __(e){return e==null?zw:function(){return this.querySelectorAll(e)}}function Rw(e){return function(){return Aw(e.apply(this,arguments))}}function Lw(e){typeof e=="function"?e=Rw(e):e=__(e);for(var t=this._groups,r=t.length,o=[],l=[],u=0;u<r;++u)for(var c=t[u],f=c.length,m,_=0;_<f;++_)(m=c[_])&&(o.push(e.call(m,m.__data__,_,c)),l.push(m));return new Ai(o,l)}function y_(e){return function(){return this.matches(e)}}function x_(e){return function(t){return t.matches(e)}}var Pw=Array.prototype.find;function Iw(e){return function(){return Pw.call(this.children,e)}}function Ow(){return this.firstElementChild}function Fw(e){return this.select(e==null?Ow:Iw(typeof e=="function"?e:x_(e)))}var Dw=Array.prototype.filter;function Bw(){return Array.from(this.children)}function Uw(e){return function(){return Dw.call(this.children,e)}}function Ww(e){return this.selectAll(e==null?Bw:Uw(typeof e=="function"?e:x_(e)))}function Hw(e){typeof e!="function"&&(e=y_(e));for(var t=this._groups,r=t.length,o=new Array(r),l=0;l<r;++l)for(var u=t[l],c=u.length,f=o[l]=[],m,_=0;_<c;++_)(m=u[_])&&e.call(m,m.__data__,_,u)&&f.push(m);return new Ai(o,this._parents)}function v_(e){return new Array(e.length)}function qw(){return new Ai(this._enter||this._groups.map(v_),this._parents)}function Ud(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ud.prototype={constructor:Ud,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Vw(e){return function(){return e}}function Gw(e,t,r,o,l,u){for(var c=0,f,m=t.length,_=u.length;c<_;++c)(f=t[c])?(f.__data__=u[c],o[c]=f):r[c]=new Ud(e,u[c]);for(;c<m;++c)(f=t[c])&&(l[c]=f)}function Yw(e,t,r,o,l,u,c){var f,m,_=new Map,g=t.length,x=u.length,v=new Array(g),w;for(f=0;f<g;++f)(m=t[f])&&(v[f]=w=c.call(m,m.__data__,f,t)+"",_.has(w)?l[f]=m:_.set(w,m));for(f=0;f<x;++f)w=c.call(e,u[f],f,u)+"",(m=_.get(w))?(o[f]=m,m.__data__=u[f],_.delete(w)):r[f]=new Ud(e,u[f]);for(f=0;f<g;++f)(m=t[f])&&_.get(v[f])===m&&(l[f]=m)}function Xw(e){return e.__data__}function Kw(e,t){if(!arguments.length)return Array.from(this,Xw);var r=t?Yw:Gw,o=this._parents,l=this._groups;typeof e!="function"&&(e=Vw(e));for(var u=l.length,c=new Array(u),f=new Array(u),m=new Array(u),_=0;_<u;++_){var g=o[_],x=l[_],v=x.length,w=Jw(e.call(g,g&&g.__data__,_,o)),j=w.length,b=f[_]=new Array(j),T=c[_]=new Array(j),A=m[_]=new Array(v);r(g,x,b,T,A,w,t);for(var W=0,H=0,M,G;W<j;++W)if(M=b[W]){for(W>=H&&(H=W+1);!(G=T[H])&&++H<j;);M._next=G||null}}return c=new Ai(c,o),c._enter=f,c._exit=m,c}function Jw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Qw(){return new Ai(this._exit||this._groups.map(v_),this._parents)}function Zw(e,t,r){var o=this.enter(),l=this,u=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(l=t(l),l&&(l=l.selection())),r==null?u.remove():r(u),o&&l?o.merge(l).order():l}function e0(e){for(var t=e.selection?e.selection():e,r=this._groups,o=t._groups,l=r.length,u=o.length,c=Math.min(l,u),f=new Array(l),m=0;m<c;++m)for(var _=r[m],g=o[m],x=_.length,v=f[m]=new Array(x),w,j=0;j<x;++j)(w=_[j]||g[j])&&(v[j]=w);for(;m<l;++m)f[m]=r[m];return new Ai(f,this._parents)}function t0(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var o=e[t],l=o.length-1,u=o[l],c;--l>=0;)(c=o[l])&&(u&&c.compareDocumentPosition(u)^4&&u.parentNode.insertBefore(c,u),u=c);return this}function n0(e){e||(e=r0);function t(x,v){return x&&v?e(x.__data__,v.__data__):!x-!v}for(var r=this._groups,o=r.length,l=new Array(o),u=0;u<o;++u){for(var c=r[u],f=c.length,m=l[u]=new Array(f),_,g=0;g<f;++g)(_=c[g])&&(m[g]=_);m.sort(t)}return new Ai(l,this._parents).order()}function r0(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function s0(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function i0(){return Array.from(this)}function o0(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var o=e[t],l=0,u=o.length;l<u;++l){var c=o[l];if(c)return c}return null}function a0(){let e=0;for(const t of this)++e;return e}function l0(){return!this.node()}function c0(e){for(var t=this._groups,r=0,o=t.length;r<o;++r)for(var l=t[r],u=0,c=l.length,f;u<c;++u)(f=l[u])&&e.call(f,f.__data__,u,l);return this}function u0(e){return function(){this.removeAttribute(e)}}function d0(e){return function(){this.removeAttributeNS(e.space,e.local)}}function f0(e,t){return function(){this.setAttribute(e,t)}}function m0(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function h0(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function p0(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function g0(e,t){var r=tf(e);if(arguments.length<2){var o=this.node();return r.local?o.getAttributeNS(r.space,r.local):o.getAttribute(r)}return this.each((t==null?r.local?d0:u0:typeof t=="function"?r.local?p0:h0:r.local?m0:f0)(r,t))}function w_(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function _0(e){return function(){this.style.removeProperty(e)}}function y0(e,t,r){return function(){this.style.setProperty(e,t,r)}}function x0(e,t,r){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,r)}}function v0(e,t,r){return arguments.length>1?this.each((t==null?_0:typeof t=="function"?x0:y0)(e,t,r??"")):Vc(this.node(),e)}function Vc(e,t){return e.style.getPropertyValue(t)||w_(e).getComputedStyle(e,null).getPropertyValue(t)}function w0(e){return function(){delete this[e]}}function b0(e,t){return function(){this[e]=t}}function S0(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function j0(e,t){return arguments.length>1?this.each((t==null?w0:typeof t=="function"?S0:b0)(e,t)):this.node()[e]}function b_(e){return e.trim().split(/^|\s+/)}function eh(e){return e.classList||new S_(e)}function S_(e){this._node=e,this._names=b_(e.getAttribute("class")||"")}S_.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function j_(e,t){for(var r=eh(e),o=-1,l=t.length;++o<l;)r.add(t[o])}function k_(e,t){for(var r=eh(e),o=-1,l=t.length;++o<l;)r.remove(t[o])}function k0(e){return function(){j_(this,e)}}function N0(e){return function(){k_(this,e)}}function C0(e,t){return function(){(t.apply(this,arguments)?j_:k_)(this,e)}}function E0(e,t){var r=b_(e+"");if(arguments.length<2){for(var o=eh(this.node()),l=-1,u=r.length;++l<u;)if(!o.contains(r[l]))return!1;return!0}return this.each((typeof t=="function"?C0:t?k0:N0)(r,t))}function $0(){this.textContent=""}function T0(e){return function(){this.textContent=e}}function M0(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function A0(e){return arguments.length?this.each(e==null?$0:(typeof e=="function"?M0:T0)(e)):this.node().textContent}function z0(){this.innerHTML=""}function R0(e){return function(){this.innerHTML=e}}function L0(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function P0(e){return arguments.length?this.each(e==null?z0:(typeof e=="function"?L0:R0)(e)):this.node().innerHTML}function I0(){this.nextSibling&&this.parentNode.appendChild(this)}function O0(){return this.each(I0)}function F0(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function D0(){return this.each(F0)}function B0(e){var t=typeof e=="function"?e:g_(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function U0(){return null}function W0(e,t){var r=typeof e=="function"?e:g_(e),o=t==null?U0:typeof t=="function"?t:Zm(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),o.apply(this,arguments)||null)})}function H0(){var e=this.parentNode;e&&e.removeChild(this)}function q0(){return this.each(H0)}function V0(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function G0(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Y0(e){return this.select(e?G0:V0)}function X0(e){return arguments.length?this.property("__data__",e):this.node().__data__}function K0(e){return function(t){e.call(this,t,this.__data__)}}function J0(e){return e.trim().split(/^|\s+/).map(function(t){var r="",o=t.indexOf(".");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{type:t,name:r}})}function Q0(e){return function(){var t=this.__on;if(t){for(var r=0,o=-1,l=t.length,u;r<l;++r)u=t[r],(!e.type||u.type===e.type)&&u.name===e.name?this.removeEventListener(u.type,u.listener,u.options):t[++o]=u;++o?t.length=o:delete this.__on}}}function Z0(e,t,r){return function(){var o=this.__on,l,u=K0(t);if(o){for(var c=0,f=o.length;c<f;++c)if((l=o[c]).type===e.type&&l.name===e.name){this.removeEventListener(l.type,l.listener,l.options),this.addEventListener(l.type,l.listener=u,l.options=r),l.value=t;return}}this.addEventListener(e.type,u,r),l={type:e.type,name:e.name,value:t,listener:u,options:r},o?o.push(l):this.__on=[l]}}function eb(e,t,r){var o=J0(e+""),l,u=o.length,c;if(arguments.length<2){var f=this.node().__on;if(f){for(var m=0,_=f.length,g;m<_;++m)for(l=0,g=f[m];l<u;++l)if((c=o[l]).type===g.type&&c.name===g.name)return g.value}return}for(f=t?Z0:Q0,l=0;l<u;++l)this.each(f(o[l],t,r));return this}function N_(e,t,r){var o=w_(e),l=o.CustomEvent;typeof l=="function"?l=new l(t,r):(l=o.document.createEvent("Event"),r?(l.initEvent(t,r.bubbles,r.cancelable),l.detail=r.detail):l.initEvent(t,!1,!1)),e.dispatchEvent(l)}function tb(e,t){return function(){return N_(this,e,t)}}function nb(e,t){return function(){return N_(this,e,t.apply(this,arguments))}}function rb(e,t){return this.each((typeof t=="function"?nb:tb)(e,t))}function*sb(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var o=e[t],l=0,u=o.length,c;l<u;++l)(c=o[l])&&(yield c)}var C_=[null];function Ai(e,t){this._groups=e,this._parents=t}function Wu(){return new Ai([[document.documentElement]],C_)}function ib(){return this}Ai.prototype=Wu.prototype={constructor:Ai,select:Mw,selectAll:Lw,selectChild:Fw,selectChildren:Ww,filter:Hw,data:Kw,enter:qw,exit:Qw,join:Zw,merge:e0,selection:ib,order:t0,sort:n0,call:s0,nodes:i0,node:o0,size:a0,empty:l0,each:c0,attr:g0,style:v0,property:j0,classed:E0,text:A0,html:P0,raise:O0,lower:D0,append:B0,insert:W0,remove:q0,clone:Y0,datum:X0,on:eb,dispatch:rb,[Symbol.iterator]:sb};function to(e){return typeof e=="string"?new Ai([[document.querySelector(e)]],[document.documentElement]):new Ai([[e]],C_)}function ob(e){let t;for(;t=e.sourceEvent;)e=t;return e}function So(e,t){if(e=ob(e),t===void 0&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var o=r.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var l=t.getBoundingClientRect();return[e.clientX-l.left-t.clientLeft,e.clientY-l.top-t.clientTop]}}return[e.pageX,e.pageY]}const ab={passive:!1},Au={capture:!0,passive:!1};function im(e){e.stopImmediatePropagation()}function Uc(e){e.preventDefault(),e.stopImmediatePropagation()}function E_(e){var t=e.document.documentElement,r=to(e).on("dragstart.drag",Uc,Au);"onselectstart"in t?r.on("selectstart.drag",Uc,Au):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function $_(e,t){var r=e.document.documentElement,o=to(e).on("dragstart.drag",null);t&&(o.on("click.drag",Uc,Au),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in r?o.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const vd=e=>()=>e;function $m(e,{sourceEvent:t,subject:r,target:o,identifier:l,active:u,x:c,y:f,dx:m,dy:_,dispatch:g}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:l,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:c,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:m,enumerable:!0,configurable:!0},dy:{value:_,enumerable:!0,configurable:!0},_:{value:g}})}$m.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function lb(e){return!e.ctrlKey&&!e.button}function cb(){return this.parentNode}function ub(e,t){return t??{x:e.x,y:e.y}}function db(){return navigator.maxTouchPoints||"ontouchstart"in this}function fb(){var e=lb,t=cb,r=ub,o=db,l={},u=ef("start","drag","end"),c=0,f,m,_,g,x=0;function v(M){M.on("mousedown.drag",w).filter(o).on("touchstart.drag",T).on("touchmove.drag",A,ab).on("touchend.drag touchcancel.drag",W).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function w(M,G){if(!(g||!e.call(this,M,G))){var te=H(this,t.call(this,M,G),M,G,"mouse");te&&(to(M.view).on("mousemove.drag",j,Au).on("mouseup.drag",b,Au),E_(M.view),im(M),_=!1,f=M.clientX,m=M.clientY,te("start",M))}}function j(M){if(Uc(M),!_){var G=M.clientX-f,te=M.clientY-m;_=G*G+te*te>x}l.mouse("drag",M)}function b(M){to(M.view).on("mousemove.drag mouseup.drag",null),$_(M.view,_),Uc(M),l.mouse("end",M)}function T(M,G){if(e.call(this,M,G)){var te=M.changedTouches,V=t.call(this,M,G),Z=te.length,ge,xe;for(ge=0;ge<Z;++ge)(xe=H(this,V,M,G,te[ge].identifier,te[ge]))&&(im(M),xe("start",M,te[ge]))}}function A(M){var G=M.changedTouches,te=G.length,V,Z;for(V=0;V<te;++V)(Z=l[G[V].identifier])&&(Uc(M),Z("drag",M,G[V]))}function W(M){var G=M.changedTouches,te=G.length,V,Z;for(g&&clearTimeout(g),g=setTimeout(function(){g=null},500),V=0;V<te;++V)(Z=l[G[V].identifier])&&(im(M),Z("end",M,G[V]))}function H(M,G,te,V,Z,ge){var xe=u.copy(),ke=So(ge||te,G),Te,oe,I;if((I=r.call(M,new $m("beforestart",{sourceEvent:te,target:v,identifier:Z,active:c,x:ke[0],y:ke[1],dx:0,dy:0,dispatch:xe}),V))!=null)return Te=I.x-ke[0]||0,oe=I.y-ke[1]||0,function se(Q,ce,R){var L=ke,O;switch(Q){case"start":l[Z]=se,O=c++;break;case"end":delete l[Z],--c;case"drag":ke=So(R||ce,G),O=c;break}xe.call(Q,M,new $m(Q,{sourceEvent:ce,subject:I,target:v,identifier:Z,active:O,x:ke[0]+Te,y:ke[1]+oe,dx:ke[0]-L[0],dy:ke[1]-L[1],dispatch:xe}),V)}}return v.filter=function(M){return arguments.length?(e=typeof M=="function"?M:vd(!!M),v):e},v.container=function(M){return arguments.length?(t=typeof M=="function"?M:vd(M),v):t},v.subject=function(M){return arguments.length?(r=typeof M=="function"?M:vd(M),v):r},v.touchable=function(M){return arguments.length?(o=typeof M=="function"?M:vd(!!M),v):o},v.on=function(){var M=u.on.apply(u,arguments);return M===u?v:M},v.clickDistance=function(M){return arguments.length?(x=(M=+M)*M,v):Math.sqrt(x)},v}function th(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function T_(e,t){var r=Object.create(e.prototype);for(var o in t)r[o]=t[o];return r}function Hu(){}var zu=.7,Wd=1/zu,Wc="\\s*([+-]?\\d+)\\s*",Ru="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ra="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mb=/^#([0-9a-f]{3,8})$/,hb=new RegExp(`^rgb\\(${Wc},${Wc},${Wc}\\)$`),pb=new RegExp(`^rgb\\(${ra},${ra},${ra}\\)$`),gb=new RegExp(`^rgba\\(${Wc},${Wc},${Wc},${Ru}\\)$`),_b=new RegExp(`^rgba\\(${ra},${ra},${ra},${Ru}\\)$`),yb=new RegExp(`^hsl\\(${Ru},${ra},${ra}\\)$`),xb=new RegExp(`^hsla\\(${Ru},${ra},${ra},${Ru}\\)$`),Up={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};th(Hu,Lu,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Wp,formatHex:Wp,formatHex8:vb,formatHsl:wb,formatRgb:Hp,toString:Hp});function Wp(){return this.rgb().formatHex()}function vb(){return this.rgb().formatHex8()}function wb(){return M_(this).formatHsl()}function Hp(){return this.rgb().formatRgb()}function Lu(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=mb.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?qp(t):r===3?new gi(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?wd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?wd(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=hb.exec(e))?new gi(t[1],t[2],t[3],1):(t=pb.exec(e))?new gi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=gb.exec(e))?wd(t[1],t[2],t[3],t[4]):(t=_b.exec(e))?wd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=yb.exec(e))?Yp(t[1],t[2]/100,t[3]/100,1):(t=xb.exec(e))?Yp(t[1],t[2]/100,t[3]/100,t[4]):Up.hasOwnProperty(e)?qp(Up[e]):e==="transparent"?new gi(NaN,NaN,NaN,0):null}function qp(e){return new gi(e>>16&255,e>>8&255,e&255,1)}function wd(e,t,r,o){return o<=0&&(e=t=r=NaN),new gi(e,t,r,o)}function bb(e){return e instanceof Hu||(e=Lu(e)),e?(e=e.rgb(),new gi(e.r,e.g,e.b,e.opacity)):new gi}function Tm(e,t,r,o){return arguments.length===1?bb(e):new gi(e,t,r,o??1)}function gi(e,t,r,o){this.r=+e,this.g=+t,this.b=+r,this.opacity=+o}th(gi,Tm,T_(Hu,{brighter(e){return e=e==null?Wd:Math.pow(Wd,e),new gi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zu:Math.pow(zu,e),new gi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gi(Gl(this.r),Gl(this.g),Gl(this.b),Hd(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vp,formatHex:Vp,formatHex8:Sb,formatRgb:Gp,toString:Gp}));function Vp(){return`#${ql(this.r)}${ql(this.g)}${ql(this.b)}`}function Sb(){return`#${ql(this.r)}${ql(this.g)}${ql(this.b)}${ql((isNaN(this.opacity)?1:this.opacity)*255)}`}function Gp(){const e=Hd(this.opacity);return`${e===1?"rgb(":"rgba("}${Gl(this.r)}, ${Gl(this.g)}, ${Gl(this.b)}${e===1?")":`, ${e})`}`}function Hd(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Gl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ql(e){return e=Gl(e),(e<16?"0":"")+e.toString(16)}function Yp(e,t,r,o){return o<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new jo(e,t,r,o)}function M_(e){if(e instanceof jo)return new jo(e.h,e.s,e.l,e.opacity);if(e instanceof Hu||(e=Lu(e)),!e)return new jo;if(e instanceof jo)return e;e=e.rgb();var t=e.r/255,r=e.g/255,o=e.b/255,l=Math.min(t,r,o),u=Math.max(t,r,o),c=NaN,f=u-l,m=(u+l)/2;return f?(t===u?c=(r-o)/f+(r<o)*6:r===u?c=(o-t)/f+2:c=(t-r)/f+4,f/=m<.5?u+l:2-u-l,c*=60):f=m>0&&m<1?0:c,new jo(c,f,m,e.opacity)}function jb(e,t,r,o){return arguments.length===1?M_(e):new jo(e,t,r,o??1)}function jo(e,t,r,o){this.h=+e,this.s=+t,this.l=+r,this.opacity=+o}th(jo,jb,T_(Hu,{brighter(e){return e=e==null?Wd:Math.pow(Wd,e),new jo(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zu:Math.pow(zu,e),new jo(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*t,l=2*r-o;return new gi(om(e>=240?e-240:e+120,l,o),om(e,l,o),om(e<120?e+240:e-120,l,o),this.opacity)},clamp(){return new jo(Xp(this.h),bd(this.s),bd(this.l),Hd(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Hd(this.opacity);return`${e===1?"hsl(":"hsla("}${Xp(this.h)}, ${bd(this.s)*100}%, ${bd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Xp(e){return e=(e||0)%360,e<0?e+360:e}function bd(e){return Math.max(0,Math.min(1,e||0))}function om(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const A_=e=>()=>e;function kb(e,t){return function(r){return e+r*t}}function Nb(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(o){return Math.pow(e+o*t,r)}}function Cb(e){return(e=+e)==1?z_:function(t,r){return r-t?Nb(t,r,e):A_(isNaN(t)?r:t)}}function z_(e,t){var r=t-e;return r?kb(e,r):A_(isNaN(e)?t:e)}const Kp=(function e(t){var r=Cb(t);function o(l,u){var c=r((l=Tm(l)).r,(u=Tm(u)).r),f=r(l.g,u.g),m=r(l.b,u.b),_=z_(l.opacity,u.opacity);return function(g){return l.r=c(g),l.g=f(g),l.b=m(g),l.opacity=_(g),l+""}}return o.gamma=e,o})(1);function dl(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var Mm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,am=new RegExp(Mm.source,"g");function Eb(e){return function(){return e}}function $b(e){return function(t){return e(t)+""}}function Tb(e,t){var r=Mm.lastIndex=am.lastIndex=0,o,l,u,c=-1,f=[],m=[];for(e=e+"",t=t+"";(o=Mm.exec(e))&&(l=am.exec(t));)(u=l.index)>r&&(u=t.slice(r,u),f[c]?f[c]+=u:f[++c]=u),(o=o[0])===(l=l[0])?f[c]?f[c]+=l:f[++c]=l:(f[++c]=null,m.push({i:c,x:dl(o,l)})),r=am.lastIndex;return r<t.length&&(u=t.slice(r),f[c]?f[c]+=u:f[++c]=u),f.length<2?m[0]?$b(m[0].x):Eb(t):(t=m.length,function(_){for(var g=0,x;g<t;++g)f[(x=m[g]).i]=x.x(_);return f.join("")})}var Jp=180/Math.PI,Am={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function R_(e,t,r,o,l,u){var c,f,m;return(c=Math.sqrt(e*e+t*t))&&(e/=c,t/=c),(m=e*r+t*o)&&(r-=e*m,o-=t*m),(f=Math.sqrt(r*r+o*o))&&(r/=f,o/=f,m/=f),e*o<t*r&&(e=-e,t=-t,m=-m,c=-c),{translateX:l,translateY:u,rotate:Math.atan2(t,e)*Jp,skewX:Math.atan(m)*Jp,scaleX:c,scaleY:f}}var Sd;function Mb(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Am:R_(t.a,t.b,t.c,t.d,t.e,t.f)}function Ab(e){return e==null||(Sd||(Sd=document.createElementNS("http://www.w3.org/2000/svg","g")),Sd.setAttribute("transform",e),!(e=Sd.transform.baseVal.consolidate()))?Am:(e=e.matrix,R_(e.a,e.b,e.c,e.d,e.e,e.f))}function L_(e,t,r,o){function l(_){return _.length?_.pop()+" ":""}function u(_,g,x,v,w,j){if(_!==x||g!==v){var b=w.push("translate(",null,t,null,r);j.push({i:b-4,x:dl(_,x)},{i:b-2,x:dl(g,v)})}else(x||v)&&w.push("translate("+x+t+v+r)}function c(_,g,x,v){_!==g?(_-g>180?g+=360:g-_>180&&(_+=360),v.push({i:x.push(l(x)+"rotate(",null,o)-2,x:dl(_,g)})):g&&x.push(l(x)+"rotate("+g+o)}function f(_,g,x,v){_!==g?v.push({i:x.push(l(x)+"skewX(",null,o)-2,x:dl(_,g)}):g&&x.push(l(x)+"skewX("+g+o)}function m(_,g,x,v,w,j){if(_!==x||g!==v){var b=w.push(l(w)+"scale(",null,",",null,")");j.push({i:b-4,x:dl(_,x)},{i:b-2,x:dl(g,v)})}else(x!==1||v!==1)&&w.push(l(w)+"scale("+x+","+v+")")}return function(_,g){var x=[],v=[];return _=e(_),g=e(g),u(_.translateX,_.translateY,g.translateX,g.translateY,x,v),c(_.rotate,g.rotate,x,v),f(_.skewX,g.skewX,x,v),m(_.scaleX,_.scaleY,g.scaleX,g.scaleY,x,v),_=g=null,function(w){for(var j=-1,b=v.length,T;++j<b;)x[(T=v[j]).i]=T.x(w);return x.join("")}}}var zb=L_(Mb,"px, ","px)","deg)"),Rb=L_(Ab,", ",")",")"),Lb=1e-12;function Qp(e){return((e=Math.exp(e))+1/e)/2}function Pb(e){return((e=Math.exp(e))-1/e)/2}function Ib(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ob=(function e(t,r,o){function l(u,c){var f=u[0],m=u[1],_=u[2],g=c[0],x=c[1],v=c[2],w=g-f,j=x-m,b=w*w+j*j,T,A;if(b<Lb)A=Math.log(v/_)/t,T=function(V){return[f+V*w,m+V*j,_*Math.exp(t*V*A)]};else{var W=Math.sqrt(b),H=(v*v-_*_+o*b)/(2*_*r*W),M=(v*v-_*_-o*b)/(2*v*r*W),G=Math.log(Math.sqrt(H*H+1)-H),te=Math.log(Math.sqrt(M*M+1)-M);A=(te-G)/t,T=function(V){var Z=V*A,ge=Qp(G),xe=_/(r*W)*(ge*Ib(t*Z+G)-Pb(G));return[f+xe*w,m+xe*j,_*ge/Qp(t*Z+G)]}}return T.duration=A*1e3*t/Math.SQRT2,T}return l.rho=function(u){var c=Math.max(.001,+u),f=c*c,m=f*f;return e(c,f,m)},l})(Math.SQRT2,2,4);var Gc=0,Eu=0,vu=0,P_=1e3,qd,$u,Vd=0,Xl=0,nf=0,Pu=typeof performance=="object"&&performance.now?performance:Date,I_=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function nh(){return Xl||(I_(Fb),Xl=Pu.now()+nf)}function Fb(){Xl=0}function Gd(){this._call=this._time=this._next=null}Gd.prototype=O_.prototype={constructor:Gd,restart:function(e,t,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?nh():+r)+(t==null?0:+t),!this._next&&$u!==this&&($u?$u._next=this:qd=this,$u=this),this._call=e,this._time=r,zm()},stop:function(){this._call&&(this._call=null,this._time=1/0,zm())}};function O_(e,t,r){var o=new Gd;return o.restart(e,t,r),o}function Db(){nh(),++Gc;for(var e=qd,t;e;)(t=Xl-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Gc}function Zp(){Xl=(Vd=Pu.now())+nf,Gc=Eu=0;try{Db()}finally{Gc=0,Ub(),Xl=0}}function Bb(){var e=Pu.now(),t=e-Vd;t>P_&&(nf-=t,Vd=e)}function Ub(){for(var e,t=qd,r,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:qd=r);$u=e,zm(o)}function zm(e){if(!Gc){Eu&&(Eu=clearTimeout(Eu));var t=e-Xl;t>24?(e<1/0&&(Eu=setTimeout(Zp,e-Pu.now()-nf)),vu&&(vu=clearInterval(vu))):(vu||(Vd=Pu.now(),vu=setInterval(Bb,P_)),Gc=1,I_(Zp))}}function eg(e,t,r){var o=new Gd;return t=t==null?0:+t,o.restart(l=>{o.stop(),e(l+t)},t,r),o}var Wb=ef("start","end","cancel","interrupt"),Hb=[],F_=0,tg=1,Rm=2,Id=3,ng=4,Lm=5,Od=6;function rf(e,t,r,o,l,u){var c=e.__transition;if(!c)e.__transition={};else if(r in c)return;qb(e,r,{name:t,index:o,group:l,on:Wb,tween:Hb,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:F_})}function rh(e,t){var r=Co(e,t);if(r.state>F_)throw new Error("too late; already scheduled");return r}function sa(e,t){var r=Co(e,t);if(r.state>Id)throw new Error("too late; already running");return r}function Co(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function qb(e,t,r){var o=e.__transition,l;o[t]=r,r.timer=O_(u,0,r.time);function u(_){r.state=tg,r.timer.restart(c,r.delay,r.time),r.delay<=_&&c(_-r.delay)}function c(_){var g,x,v,w;if(r.state!==tg)return m();for(g in o)if(w=o[g],w.name===r.name){if(w.state===Id)return eg(c);w.state===ng?(w.state=Od,w.timer.stop(),w.on.call("interrupt",e,e.__data__,w.index,w.group),delete o[g]):+g<t&&(w.state=Od,w.timer.stop(),w.on.call("cancel",e,e.__data__,w.index,w.group),delete o[g])}if(eg(function(){r.state===Id&&(r.state=ng,r.timer.restart(f,r.delay,r.time),f(_))}),r.state=Rm,r.on.call("start",e,e.__data__,r.index,r.group),r.state===Rm){for(r.state=Id,l=new Array(v=r.tween.length),g=0,x=-1;g<v;++g)(w=r.tween[g].value.call(e,e.__data__,r.index,r.group))&&(l[++x]=w);l.length=x+1}}function f(_){for(var g=_<r.duration?r.ease.call(null,_/r.duration):(r.timer.restart(m),r.state=Lm,1),x=-1,v=l.length;++x<v;)l[x].call(e,g);r.state===Lm&&(r.on.call("end",e,e.__data__,r.index,r.group),m())}function m(){r.state=Od,r.timer.stop(),delete o[t];for(var _ in o)return;delete e.__transition}}function Fd(e,t){var r=e.__transition,o,l,u=!0,c;if(r){t=t==null?null:t+"";for(c in r){if((o=r[c]).name!==t){u=!1;continue}l=o.state>Rm&&o.state<Lm,o.state=Od,o.timer.stop(),o.on.call(l?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete r[c]}u&&delete e.__transition}}function Vb(e){return this.each(function(){Fd(this,e)})}function Gb(e,t){var r,o;return function(){var l=sa(this,e),u=l.tween;if(u!==r){o=r=u;for(var c=0,f=o.length;c<f;++c)if(o[c].name===t){o=o.slice(),o.splice(c,1);break}}l.tween=o}}function Yb(e,t,r){var o,l;if(typeof r!="function")throw new Error;return function(){var u=sa(this,e),c=u.tween;if(c!==o){l=(o=c).slice();for(var f={name:t,value:r},m=0,_=l.length;m<_;++m)if(l[m].name===t){l[m]=f;break}m===_&&l.push(f)}u.tween=l}}function Xb(e,t){var r=this._id;if(e+="",arguments.length<2){for(var o=Co(this.node(),r).tween,l=0,u=o.length,c;l<u;++l)if((c=o[l]).name===e)return c.value;return null}return this.each((t==null?Gb:Yb)(r,e,t))}function sh(e,t,r){var o=e._id;return e.each(function(){var l=sa(this,o);(l.value||(l.value={}))[t]=r.apply(this,arguments)}),function(l){return Co(l,o).value[t]}}function D_(e,t){var r;return(typeof t=="number"?dl:t instanceof Lu?Kp:(r=Lu(t))?(t=r,Kp):Tb)(e,t)}function Kb(e){return function(){this.removeAttribute(e)}}function Jb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Qb(e,t,r){var o,l=r+"",u;return function(){var c=this.getAttribute(e);return c===l?null:c===o?u:u=t(o=c,r)}}function Zb(e,t,r){var o,l=r+"",u;return function(){var c=this.getAttributeNS(e.space,e.local);return c===l?null:c===o?u:u=t(o=c,r)}}function eS(e,t,r){var o,l,u;return function(){var c,f=r(this),m;return f==null?void this.removeAttribute(e):(c=this.getAttribute(e),m=f+"",c===m?null:c===o&&m===l?u:(l=m,u=t(o=c,f)))}}function tS(e,t,r){var o,l,u;return function(){var c,f=r(this),m;return f==null?void this.removeAttributeNS(e.space,e.local):(c=this.getAttributeNS(e.space,e.local),m=f+"",c===m?null:c===o&&m===l?u:(l=m,u=t(o=c,f)))}}function nS(e,t){var r=tf(e),o=r==="transform"?Rb:D_;return this.attrTween(e,typeof t=="function"?(r.local?tS:eS)(r,o,sh(this,"attr."+e,t)):t==null?(r.local?Jb:Kb)(r):(r.local?Zb:Qb)(r,o,t))}function rS(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function sS(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function iS(e,t){var r,o;function l(){var u=t.apply(this,arguments);return u!==o&&(r=(o=u)&&sS(e,u)),r}return l._value=t,l}function oS(e,t){var r,o;function l(){var u=t.apply(this,arguments);return u!==o&&(r=(o=u)&&rS(e,u)),r}return l._value=t,l}function aS(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;var o=tf(e);return this.tween(r,(o.local?iS:oS)(o,t))}function lS(e,t){return function(){rh(this,e).delay=+t.apply(this,arguments)}}function cS(e,t){return t=+t,function(){rh(this,e).delay=t}}function uS(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?lS:cS)(t,e)):Co(this.node(),t).delay}function dS(e,t){return function(){sa(this,e).duration=+t.apply(this,arguments)}}function fS(e,t){return t=+t,function(){sa(this,e).duration=t}}function mS(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?dS:fS)(t,e)):Co(this.node(),t).duration}function hS(e,t){if(typeof t!="function")throw new Error;return function(){sa(this,e).ease=t}}function pS(e){var t=this._id;return arguments.length?this.each(hS(t,e)):Co(this.node(),t).ease}function gS(e,t){return function(){var r=t.apply(this,arguments);if(typeof r!="function")throw new Error;sa(this,e).ease=r}}function _S(e){if(typeof e!="function")throw new Error;return this.each(gS(this._id,e))}function yS(e){typeof e!="function"&&(e=y_(e));for(var t=this._groups,r=t.length,o=new Array(r),l=0;l<r;++l)for(var u=t[l],c=u.length,f=o[l]=[],m,_=0;_<c;++_)(m=u[_])&&e.call(m,m.__data__,_,u)&&f.push(m);return new Aa(o,this._parents,this._name,this._id)}function xS(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,r=e._groups,o=t.length,l=r.length,u=Math.min(o,l),c=new Array(o),f=0;f<u;++f)for(var m=t[f],_=r[f],g=m.length,x=c[f]=new Array(g),v,w=0;w<g;++w)(v=m[w]||_[w])&&(x[w]=v);for(;f<o;++f)c[f]=t[f];return new Aa(c,this._parents,this._name,this._id)}function vS(e){return(e+"").trim().split(/^|\s+/).every(function(t){var r=t.indexOf(".");return r>=0&&(t=t.slice(0,r)),!t||t==="start"})}function wS(e,t,r){var o,l,u=vS(t)?rh:sa;return function(){var c=u(this,e),f=c.on;f!==o&&(l=(o=f).copy()).on(t,r),c.on=l}}function bS(e,t){var r=this._id;return arguments.length<2?Co(this.node(),r).on.on(e):this.each(wS(r,e,t))}function SS(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function jS(){return this.on("end.remove",SS(this._id))}function kS(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Zm(e));for(var o=this._groups,l=o.length,u=new Array(l),c=0;c<l;++c)for(var f=o[c],m=f.length,_=u[c]=new Array(m),g,x,v=0;v<m;++v)(g=f[v])&&(x=e.call(g,g.__data__,v,f))&&("__data__"in g&&(x.__data__=g.__data__),_[v]=x,rf(_[v],t,r,v,_,Co(g,r)));return new Aa(u,this._parents,t,r)}function NS(e){var t=this._name,r=this._id;typeof e!="function"&&(e=__(e));for(var o=this._groups,l=o.length,u=[],c=[],f=0;f<l;++f)for(var m=o[f],_=m.length,g,x=0;x<_;++x)if(g=m[x]){for(var v=e.call(g,g.__data__,x,m),w,j=Co(g,r),b=0,T=v.length;b<T;++b)(w=v[b])&&rf(w,t,r,b,v,j);u.push(v),c.push(g)}return new Aa(u,c,t,r)}var CS=Wu.prototype.constructor;function ES(){return new CS(this._groups,this._parents)}function $S(e,t){var r,o,l;return function(){var u=Vc(this,e),c=(this.style.removeProperty(e),Vc(this,e));return u===c?null:u===r&&c===o?l:l=t(r=u,o=c)}}function B_(e){return function(){this.style.removeProperty(e)}}function TS(e,t,r){var o,l=r+"",u;return function(){var c=Vc(this,e);return c===l?null:c===o?u:u=t(o=c,r)}}function MS(e,t,r){var o,l,u;return function(){var c=Vc(this,e),f=r(this),m=f+"";return f==null&&(m=f=(this.style.removeProperty(e),Vc(this,e))),c===m?null:c===o&&m===l?u:(l=m,u=t(o=c,f))}}function AS(e,t){var r,o,l,u="style."+t,c="end."+u,f;return function(){var m=sa(this,e),_=m.on,g=m.value[u]==null?f||(f=B_(t)):void 0;(_!==r||l!==g)&&(o=(r=_).copy()).on(c,l=g),m.on=o}}function zS(e,t,r){var o=(e+="")=="transform"?zb:D_;return t==null?this.styleTween(e,$S(e,o)).on("end.style."+e,B_(e)):typeof t=="function"?this.styleTween(e,MS(e,o,sh(this,"style."+e,t))).each(AS(this._id,e)):this.styleTween(e,TS(e,o,t),r).on("end.style."+e,null)}function RS(e,t,r){return function(o){this.style.setProperty(e,t.call(this,o),r)}}function LS(e,t,r){var o,l;function u(){var c=t.apply(this,arguments);return c!==l&&(o=(l=c)&&RS(e,c,r)),o}return u._value=t,u}function PS(e,t,r){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,LS(e,t,r??""))}function IS(e){return function(){this.textContent=e}}function OS(e){return function(){var t=e(this);this.textContent=t??""}}function FS(e){return this.tween("text",typeof e=="function"?OS(sh(this,"text",e)):IS(e==null?"":e+""))}function DS(e){return function(t){this.textContent=e.call(this,t)}}function BS(e){var t,r;function o(){var l=e.apply(this,arguments);return l!==r&&(t=(r=l)&&DS(l)),t}return o._value=e,o}function US(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,BS(e))}function WS(){for(var e=this._name,t=this._id,r=U_(),o=this._groups,l=o.length,u=0;u<l;++u)for(var c=o[u],f=c.length,m,_=0;_<f;++_)if(m=c[_]){var g=Co(m,t);rf(m,e,r,_,c,{time:g.time+g.delay+g.duration,delay:0,duration:g.duration,ease:g.ease})}return new Aa(o,this._parents,e,r)}function HS(){var e,t,r=this,o=r._id,l=r.size();return new Promise(function(u,c){var f={value:c},m={value:function(){--l===0&&u()}};r.each(function(){var _=sa(this,o),g=_.on;g!==e&&(t=(e=g).copy(),t._.cancel.push(f),t._.interrupt.push(f),t._.end.push(m)),_.on=t}),l===0&&u()})}var qS=0;function Aa(e,t,r,o){this._groups=e,this._parents=t,this._name=r,this._id=o}function U_(){return++qS}var Ea=Wu.prototype;Aa.prototype={constructor:Aa,select:kS,selectAll:NS,selectChild:Ea.selectChild,selectChildren:Ea.selectChildren,filter:yS,merge:xS,selection:ES,transition:WS,call:Ea.call,nodes:Ea.nodes,node:Ea.node,size:Ea.size,empty:Ea.empty,each:Ea.each,on:bS,attr:nS,attrTween:aS,style:zS,styleTween:PS,text:FS,textTween:US,remove:jS,tween:Xb,delay:uS,duration:mS,ease:pS,easeVarying:_S,end:HS,[Symbol.iterator]:Ea[Symbol.iterator]};function VS(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var GS={time:null,delay:0,duration:250,ease:VS};function YS(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function XS(e){var t,r;e instanceof Aa?(t=e._id,e=e._name):(t=U_(),(r=GS).time=nh(),e=e==null?null:e+"");for(var o=this._groups,l=o.length,u=0;u<l;++u)for(var c=o[u],f=c.length,m,_=0;_<f;++_)(m=c[_])&&rf(m,e,t,_,c,r||YS(m,t));return new Aa(o,this._parents,e,t)}Wu.prototype.interrupt=Vb;Wu.prototype.transition=XS;const jd=e=>()=>e;function KS(e,{sourceEvent:t,target:r,transform:o,dispatch:l}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:l}})}function Ta(e,t,r){this.k=e,this.x=t,this.y=r}Ta.prototype={constructor:Ta,scale:function(e){return e===1?this:new Ta(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Ta(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ma=new Ta(1,0,0);Ta.prototype;function lm(e){e.stopImmediatePropagation()}function wu(e){e.preventDefault(),e.stopImmediatePropagation()}function JS(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function QS(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function rg(){return this.__zoom||Ma}function ZS(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ej(){return navigator.maxTouchPoints||"ontouchstart"in this}function tj(e,t,r){var o=e.invertX(t[0][0])-r[0][0],l=e.invertX(t[1][0])-r[1][0],u=e.invertY(t[0][1])-r[0][1],c=e.invertY(t[1][1])-r[1][1];return e.translate(l>o?(o+l)/2:Math.min(0,o)||Math.max(0,l),c>u?(u+c)/2:Math.min(0,u)||Math.max(0,c))}function W_(){var e=JS,t=QS,r=tj,o=ZS,l=ej,u=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],f=250,m=Ob,_=ef("start","zoom","end"),g,x,v,w=500,j=150,b=0,T=10;function A(I){I.property("__zoom",rg).on("wheel.zoom",Z,{passive:!1}).on("mousedown.zoom",ge).on("dblclick.zoom",xe).filter(l).on("touchstart.zoom",ke).on("touchmove.zoom",Te).on("touchend.zoom touchcancel.zoom",oe).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}A.transform=function(I,se,Q,ce){var R=I.selection?I.selection():I;R.property("__zoom",rg),I!==R?G(I,se,Q,ce):R.interrupt().each(function(){te(this,arguments).event(ce).start().zoom(null,typeof se=="function"?se.apply(this,arguments):se).end()})},A.scaleBy=function(I,se,Q,ce){A.scaleTo(I,function(){var R=this.__zoom.k,L=typeof se=="function"?se.apply(this,arguments):se;return R*L},Q,ce)},A.scaleTo=function(I,se,Q,ce){A.transform(I,function(){var R=t.apply(this,arguments),L=this.__zoom,O=Q==null?M(R):typeof Q=="function"?Q.apply(this,arguments):Q,$=L.invert(O),D=typeof se=="function"?se.apply(this,arguments):se;return r(H(W(L,D),O,$),R,c)},Q,ce)},A.translateBy=function(I,se,Q,ce){A.transform(I,function(){return r(this.__zoom.translate(typeof se=="function"?se.apply(this,arguments):se,typeof Q=="function"?Q.apply(this,arguments):Q),t.apply(this,arguments),c)},null,ce)},A.translateTo=function(I,se,Q,ce,R){A.transform(I,function(){var L=t.apply(this,arguments),O=this.__zoom,$=ce==null?M(L):typeof ce=="function"?ce.apply(this,arguments):ce;return r(Ma.translate($[0],$[1]).scale(O.k).translate(typeof se=="function"?-se.apply(this,arguments):-se,typeof Q=="function"?-Q.apply(this,arguments):-Q),L,c)},ce,R)};function W(I,se){return se=Math.max(u[0],Math.min(u[1],se)),se===I.k?I:new Ta(se,I.x,I.y)}function H(I,se,Q){var ce=se[0]-Q[0]*I.k,R=se[1]-Q[1]*I.k;return ce===I.x&&R===I.y?I:new Ta(I.k,ce,R)}function M(I){return[(+I[0][0]+ +I[1][0])/2,(+I[0][1]+ +I[1][1])/2]}function G(I,se,Q,ce){I.on("start.zoom",function(){te(this,arguments).event(ce).start()}).on("interrupt.zoom end.zoom",function(){te(this,arguments).event(ce).end()}).tween("zoom",function(){var R=this,L=arguments,O=te(R,L).event(ce),$=t.apply(R,L),D=Q==null?M($):typeof Q=="function"?Q.apply(R,L):Q,ne=Math.max($[1][0]-$[0][0],$[1][1]-$[0][1]),ae=R.__zoom,ve=typeof se=="function"?se.apply(R,L):se,$e=m(ae.invert(D).concat(ne/ae.k),ve.invert(D).concat(ne/ve.k));return function(ue){if(ue===1)ue=ve;else{var he=$e(ue),Fe=ne/he[2];ue=new Ta(Fe,D[0]-he[0]*Fe,D[1]-he[1]*Fe)}O.zoom(null,ue)}})}function te(I,se,Q){return!Q&&I.__zooming||new V(I,se)}function V(I,se){this.that=I,this.args=se,this.active=0,this.sourceEvent=null,this.extent=t.apply(I,se),this.taps=0}V.prototype={event:function(I){return I&&(this.sourceEvent=I),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(I,se){return this.mouse&&I!=="mouse"&&(this.mouse[1]=se.invert(this.mouse[0])),this.touch0&&I!=="touch"&&(this.touch0[1]=se.invert(this.touch0[0])),this.touch1&&I!=="touch"&&(this.touch1[1]=se.invert(this.touch1[0])),this.that.__zoom=se,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(I){var se=to(this.that).datum();_.call(I,this.that,new KS(I,{sourceEvent:this.sourceEvent,target:A,transform:this.that.__zoom,dispatch:_}),se)}};function Z(I,...se){if(!e.apply(this,arguments))return;var Q=te(this,se).event(I),ce=this.__zoom,R=Math.max(u[0],Math.min(u[1],ce.k*Math.pow(2,o.apply(this,arguments)))),L=So(I);if(Q.wheel)(Q.mouse[0][0]!==L[0]||Q.mouse[0][1]!==L[1])&&(Q.mouse[1]=ce.invert(Q.mouse[0]=L)),clearTimeout(Q.wheel);else{if(ce.k===R)return;Q.mouse=[L,ce.invert(L)],Fd(this),Q.start()}wu(I),Q.wheel=setTimeout(O,j),Q.zoom("mouse",r(H(W(ce,R),Q.mouse[0],Q.mouse[1]),Q.extent,c));function O(){Q.wheel=null,Q.end()}}function ge(I,...se){if(v||!e.apply(this,arguments))return;var Q=I.currentTarget,ce=te(this,se,!0).event(I),R=to(I.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",ne,!0),L=So(I,Q),O=I.clientX,$=I.clientY;E_(I.view),lm(I),ce.mouse=[L,this.__zoom.invert(L)],Fd(this),ce.start();function D(ae){if(wu(ae),!ce.moved){var ve=ae.clientX-O,$e=ae.clientY-$;ce.moved=ve*ve+$e*$e>b}ce.event(ae).zoom("mouse",r(H(ce.that.__zoom,ce.mouse[0]=So(ae,Q),ce.mouse[1]),ce.extent,c))}function ne(ae){R.on("mousemove.zoom mouseup.zoom",null),$_(ae.view,ce.moved),wu(ae),ce.event(ae).end()}}function xe(I,...se){if(e.apply(this,arguments)){var Q=this.__zoom,ce=So(I.changedTouches?I.changedTouches[0]:I,this),R=Q.invert(ce),L=Q.k*(I.shiftKey?.5:2),O=r(H(W(Q,L),ce,R),t.apply(this,se),c);wu(I),f>0?to(this).transition().duration(f).call(G,O,ce,I):to(this).call(A.transform,O,ce,I)}}function ke(I,...se){if(e.apply(this,arguments)){var Q=I.touches,ce=Q.length,R=te(this,se,I.changedTouches.length===ce).event(I),L,O,$,D;for(lm(I),O=0;O<ce;++O)$=Q[O],D=So($,this),D=[D,this.__zoom.invert(D),$.identifier],R.touch0?!R.touch1&&R.touch0[2]!==D[2]&&(R.touch1=D,R.taps=0):(R.touch0=D,L=!0,R.taps=1+!!g);g&&(g=clearTimeout(g)),L&&(R.taps<2&&(x=D[0],g=setTimeout(function(){g=null},w)),Fd(this),R.start())}}function Te(I,...se){if(this.__zooming){var Q=te(this,se).event(I),ce=I.changedTouches,R=ce.length,L,O,$,D;for(wu(I),L=0;L<R;++L)O=ce[L],$=So(O,this),Q.touch0&&Q.touch0[2]===O.identifier?Q.touch0[0]=$:Q.touch1&&Q.touch1[2]===O.identifier&&(Q.touch1[0]=$);if(O=Q.that.__zoom,Q.touch1){var ne=Q.touch0[0],ae=Q.touch0[1],ve=Q.touch1[0],$e=Q.touch1[1],ue=(ue=ve[0]-ne[0])*ue+(ue=ve[1]-ne[1])*ue,he=(he=$e[0]-ae[0])*he+(he=$e[1]-ae[1])*he;O=W(O,Math.sqrt(ue/he)),$=[(ne[0]+ve[0])/2,(ne[1]+ve[1])/2],D=[(ae[0]+$e[0])/2,(ae[1]+$e[1])/2]}else if(Q.touch0)$=Q.touch0[0],D=Q.touch0[1];else return;Q.zoom("touch",r(H(O,$,D),Q.extent,c))}}function oe(I,...se){if(this.__zooming){var Q=te(this,se).event(I),ce=I.changedTouches,R=ce.length,L,O;for(lm(I),v&&clearTimeout(v),v=setTimeout(function(){v=null},w),L=0;L<R;++L)O=ce[L],Q.touch0&&Q.touch0[2]===O.identifier?delete Q.touch0:Q.touch1&&Q.touch1[2]===O.identifier&&delete Q.touch1;if(Q.touch1&&!Q.touch0&&(Q.touch0=Q.touch1,delete Q.touch1),Q.touch0)Q.touch0[1]=this.__zoom.invert(Q.touch0[0]);else if(Q.end(),Q.taps===2&&(O=So(O,this),Math.hypot(x[0]-O[0],x[1]-O[1])<T)){var $=to(this).on("dblclick.zoom");$&&$.apply(this,arguments)}}}return A.wheelDelta=function(I){return arguments.length?(o=typeof I=="function"?I:jd(+I),A):o},A.filter=function(I){return arguments.length?(e=typeof I=="function"?I:jd(!!I),A):e},A.touchable=function(I){return arguments.length?(l=typeof I=="function"?I:jd(!!I),A):l},A.extent=function(I){return arguments.length?(t=typeof I=="function"?I:jd([[+I[0][0],+I[0][1]],[+I[1][0],+I[1][1]]]),A):t},A.scaleExtent=function(I){return arguments.length?(u[0]=+I[0],u[1]=+I[1],A):[u[0],u[1]]},A.translateExtent=function(I){return arguments.length?(c[0][0]=+I[0][0],c[1][0]=+I[1][0],c[0][1]=+I[0][1],c[1][1]=+I[1][1],A):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},A.constrain=function(I){return arguments.length?(r=I,A):r},A.duration=function(I){return arguments.length?(f=+I,A):f},A.interpolate=function(I){return arguments.length?(m=I,A):m},A.on=function(){var I=_.on.apply(_,arguments);return I===_?A:I},A.clickDistance=function(I){return arguments.length?(b=(I=+I)*I,A):Math.sqrt(b)},A.tapDistance=function(I){return arguments.length?(T=+I,A):T},A}const sf=p.createContext(null),nj=sf.Provider,za={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},H_=za.error001();function or(e,t){const r=p.useContext(sf);if(r===null)throw new Error(H_);return p_(r,e,t)}const Jr=()=>{const e=p.useContext(sf);if(e===null)throw new Error(H_);return p.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},rj=e=>e.userSelectionActive?"none":"all";function of({position:e,children:t,className:r,style:o,...l}){const u=or(rj),c=`${e}`.split("-");return Se.createElement("div",{className:vs(["react-flow__panel",r,...c]),style:{...o,pointerEvents:u},...l},t)}function sj({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:Se.createElement(of,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},Se.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const ij=({x:e,y:t,label:r,labelStyle:o={},labelShowBg:l=!0,labelBgStyle:u={},labelBgPadding:c=[2,4],labelBgBorderRadius:f=2,children:m,className:_,...g})=>{const x=p.useRef(null),[v,w]=p.useState({x:0,y:0,width:0,height:0}),j=vs(["react-flow__edge-textwrapper",_]);return p.useEffect(()=>{if(x.current){const b=x.current.getBBox();w({x:b.x,y:b.y,width:b.width,height:b.height})}},[r]),typeof r>"u"||!r?null:Se.createElement("g",{transform:`translate(${e-v.width/2} ${t-v.height/2})`,className:j,visibility:v.width?"visible":"hidden",...g},l&&Se.createElement("rect",{width:v.width+2*c[0],x:-c[0],y:-c[1],height:v.height+2*c[1],className:"react-flow__edge-textbg",style:u,rx:f,ry:f}),Se.createElement("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:x,style:o},r),m)};var oj=p.memo(ij);const ih=e=>({width:e.offsetWidth,height:e.offsetHeight}),Yc=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),oh=(e={x:0,y:0},t)=>({x:Yc(e.x,t[0][0],t[1][0]),y:Yc(e.y,t[0][1],t[1][1])}),sg=(e,t,r)=>e<t?Yc(Math.abs(e-t),1,50)/50:e>r?-Yc(Math.abs(e-r),1,50)/50:0,q_=(e,t)=>{const r=sg(e.x,35,t.width-35)*20,o=sg(e.y,35,t.height-35)*20;return[r,o]},V_=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},G_=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Iu=({x:e,y:t,width:r,height:o})=>({x:e,y:t,x2:e+r,y2:t+o}),Y_=({x:e,y:t,x2:r,y2:o})=>({x:e,y:t,width:r-e,height:o-t}),ig=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),aj=(e,t)=>Y_(G_(Iu(e),Iu(t))),Pm=(e,t)=>{const r=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(r*o)},lj=e=>no(e.width)&&no(e.height)&&no(e.x)&&no(e.y),no=e=>!isNaN(e)&&isFinite(e),Wr=Symbol.for("internals"),X_=["Enter"," ","Escape"],cj=(e,t)=>{},uj=e=>"nativeEvent"in e;function Im(e){var l,u;const t=uj(e)?e.nativeEvent:e,r=((u=(l=t.composedPath)==null?void 0:l.call(t))==null?void 0:u[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(r==null?void 0:r.nodeName)||(r==null?void 0:r.hasAttribute("contenteditable"))||!!(r!=null&&r.closest(".nokey"))}const K_=e=>"clientX"in e,hl=(e,t)=>{var u,c;const r=K_(e),o=r?e.clientX:(u=e.touches)==null?void 0:u[0].clientX,l=r?e.clientY:(c=e.touches)==null?void 0:c[0].clientY;return{x:o-((t==null?void 0:t.left)??0),y:l-((t==null?void 0:t.top)??0)}},Yd=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},qu=({id:e,path:t,labelX:r,labelY:o,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_,style:g,markerEnd:x,markerStart:v,interactionWidth:w=20})=>Se.createElement(Se.Fragment,null,Se.createElement("path",{id:e,style:g,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:x,markerStart:v}),w&&Se.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:w,className:"react-flow__edge-interaction"}),l&&no(r)&&no(o)?Se.createElement(oj,{x:r,y:o,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_}):null);qu.displayName="BaseEdge";function bu(e,t,r){return r===void 0?r:o=>{const l=t().edges.find(u=>u.id===e);l&&r(o,{...l})}}function J_({sourceX:e,sourceY:t,targetX:r,targetY:o}){const l=Math.abs(r-e)/2,u=r<e?r+l:r-l,c=Math.abs(o-t)/2,f=o<t?o+c:o-c;return[u,f,l,c]}function Q_({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:l,sourceControlY:u,targetControlX:c,targetControlY:f}){const m=e*.125+l*.375+c*.375+r*.125,_=t*.125+u*.375+f*.375+o*.125,g=Math.abs(m-e),x=Math.abs(_-t);return[m,_,g,x]}var Kl;(function(e){e.Strict="strict",e.Loose="loose"})(Kl||(Kl={}));var Vl;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Vl||(Vl={}));var Ou;(function(e){e.Partial="partial",e.Full="full"})(Ou||(Ou={}));var ml;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ml||(ml={}));var Fu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Fu||(Fu={}));var zt;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(zt||(zt={}));function og({pos:e,x1:t,y1:r,x2:o,y2:l}){return e===zt.Left||e===zt.Right?[.5*(t+o),r]:[t,.5*(r+l)]}function Z_({sourceX:e,sourceY:t,sourcePosition:r=zt.Bottom,targetX:o,targetY:l,targetPosition:u=zt.Top}){const[c,f]=og({pos:r,x1:e,y1:t,x2:o,y2:l}),[m,_]=og({pos:u,x1:o,y1:l,x2:e,y2:t}),[g,x,v,w]=Q_({sourceX:e,sourceY:t,targetX:o,targetY:l,sourceControlX:c,sourceControlY:f,targetControlX:m,targetControlY:_});return[`M${e},${t} C${c},${f} ${m},${_} ${o},${l}`,g,x,v,w]}const ah=p.memo(({sourceX:e,sourceY:t,targetX:r,targetY:o,sourcePosition:l=zt.Bottom,targetPosition:u=zt.Top,label:c,labelStyle:f,labelShowBg:m,labelBgStyle:_,labelBgPadding:g,labelBgBorderRadius:x,style:v,markerEnd:w,markerStart:j,interactionWidth:b})=>{const[T,A,W]=Z_({sourceX:e,sourceY:t,sourcePosition:l,targetX:r,targetY:o,targetPosition:u});return Se.createElement(qu,{path:T,labelX:A,labelY:W,label:c,labelStyle:f,labelShowBg:m,labelBgStyle:_,labelBgPadding:g,labelBgBorderRadius:x,style:v,markerEnd:w,markerStart:j,interactionWidth:b})});ah.displayName="SimpleBezierEdge";const ag={[zt.Left]:{x:-1,y:0},[zt.Right]:{x:1,y:0},[zt.Top]:{x:0,y:-1},[zt.Bottom]:{x:0,y:1}},dj=({source:e,sourcePosition:t=zt.Bottom,target:r})=>t===zt.Left||t===zt.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},lg=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function fj({source:e,sourcePosition:t=zt.Bottom,target:r,targetPosition:o=zt.Top,center:l,offset:u}){const c=ag[t],f=ag[o],m={x:e.x+c.x*u,y:e.y+c.y*u},_={x:r.x+f.x*u,y:r.y+f.y*u},g=dj({source:m,sourcePosition:t,target:_}),x=g.x!==0?"x":"y",v=g[x];let w=[],j,b;const T={x:0,y:0},A={x:0,y:0},[W,H,M,G]=J_({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(c[x]*f[x]===-1){j=l.x||W,b=l.y||H;const V=[{x:j,y:m.y},{x:j,y:_.y}],Z=[{x:m.x,y:b},{x:_.x,y:b}];c[x]===v?w=x==="x"?V:Z:w=x==="x"?Z:V}else{const V=[{x:m.x,y:_.y}],Z=[{x:_.x,y:m.y}];if(x==="x"?w=c.x===v?Z:V:w=c.y===v?V:Z,t===o){const oe=Math.abs(e[x]-r[x]);if(oe<=u){const I=Math.min(u-1,u-oe);c[x]===v?T[x]=(m[x]>e[x]?-1:1)*I:A[x]=(_[x]>r[x]?-1:1)*I}}if(t!==o){const oe=x==="x"?"y":"x",I=c[x]===f[oe],se=m[oe]>_[oe],Q=m[oe]<_[oe];(c[x]===1&&(!I&&se||I&&Q)||c[x]!==1&&(!I&&Q||I&&se))&&(w=x==="x"?V:Z)}const ge={x:m.x+T.x,y:m.y+T.y},xe={x:_.x+A.x,y:_.y+A.y},ke=Math.max(Math.abs(ge.x-w[0].x),Math.abs(xe.x-w[0].x)),Te=Math.max(Math.abs(ge.y-w[0].y),Math.abs(xe.y-w[0].y));ke>=Te?(j=(ge.x+xe.x)/2,b=w[0].y):(j=w[0].x,b=(ge.y+xe.y)/2)}return[[e,{x:m.x+T.x,y:m.y+T.y},...w,{x:_.x+A.x,y:_.y+A.y},r],j,b,M,G]}function mj(e,t,r,o){const l=Math.min(lg(e,t)/2,lg(t,r)/2,o),{x:u,y:c}=t;if(e.x===u&&u===r.x||e.y===c&&c===r.y)return`L${u} ${c}`;if(e.y===c){const _=e.x<r.x?-1:1,g=e.y<r.y?1:-1;return`L ${u+l*_},${c}Q ${u},${c} ${u},${c+l*g}`}const f=e.x<r.x?1:-1,m=e.y<r.y?-1:1;return`L ${u},${c+l*m}Q ${u},${c} ${u+l*f},${c}`}function Om({sourceX:e,sourceY:t,sourcePosition:r=zt.Bottom,targetX:o,targetY:l,targetPosition:u=zt.Top,borderRadius:c=5,centerX:f,centerY:m,offset:_=20}){const[g,x,v,w,j]=fj({source:{x:e,y:t},sourcePosition:r,target:{x:o,y:l},targetPosition:u,center:{x:f,y:m},offset:_});return[g.reduce((T,A,W)=>{let H="";return W>0&&W<g.length-1?H=mj(g[W-1],A,g[W+1],c):H=`${W===0?"M":"L"}${A.x} ${A.y}`,T+=H,T},""),x,v,w,j]}const af=p.memo(({sourceX:e,sourceY:t,targetX:r,targetY:o,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_,style:g,sourcePosition:x=zt.Bottom,targetPosition:v=zt.Top,markerEnd:w,markerStart:j,pathOptions:b,interactionWidth:T})=>{const[A,W,H]=Om({sourceX:e,sourceY:t,sourcePosition:x,targetX:r,targetY:o,targetPosition:v,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset});return Se.createElement(qu,{path:A,labelX:W,labelY:H,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_,style:g,markerEnd:w,markerStart:j,interactionWidth:T})});af.displayName="SmoothStepEdge";const lh=p.memo(e=>{var t;return Se.createElement(af,{...e,pathOptions:p.useMemo(()=>{var r;return{borderRadius:0,offset:(r=e.pathOptions)==null?void 0:r.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});lh.displayName="StepEdge";function hj({sourceX:e,sourceY:t,targetX:r,targetY:o}){const[l,u,c,f]=J_({sourceX:e,sourceY:t,targetX:r,targetY:o});return[`M ${e},${t}L ${r},${o}`,l,u,c,f]}const ch=p.memo(({sourceX:e,sourceY:t,targetX:r,targetY:o,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_,style:g,markerEnd:x,markerStart:v,interactionWidth:w})=>{const[j,b,T]=hj({sourceX:e,sourceY:t,targetX:r,targetY:o});return Se.createElement(qu,{path:j,labelX:b,labelY:T,label:l,labelStyle:u,labelShowBg:c,labelBgStyle:f,labelBgPadding:m,labelBgBorderRadius:_,style:g,markerEnd:x,markerStart:v,interactionWidth:w})});ch.displayName="StraightEdge";function kd(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function cg({pos:e,x1:t,y1:r,x2:o,y2:l,c:u}){switch(e){case zt.Left:return[t-kd(t-o,u),r];case zt.Right:return[t+kd(o-t,u),r];case zt.Top:return[t,r-kd(r-l,u)];case zt.Bottom:return[t,r+kd(l-r,u)]}}function ey({sourceX:e,sourceY:t,sourcePosition:r=zt.Bottom,targetX:o,targetY:l,targetPosition:u=zt.Top,curvature:c=.25}){const[f,m]=cg({pos:r,x1:e,y1:t,x2:o,y2:l,c}),[_,g]=cg({pos:u,x1:o,y1:l,x2:e,y2:t,c}),[x,v,w,j]=Q_({sourceX:e,sourceY:t,targetX:o,targetY:l,sourceControlX:f,sourceControlY:m,targetControlX:_,targetControlY:g});return[`M${e},${t} C${f},${m} ${_},${g} ${o},${l}`,x,v,w,j]}const Xd=p.memo(({sourceX:e,sourceY:t,targetX:r,targetY:o,sourcePosition:l=zt.Bottom,targetPosition:u=zt.Top,label:c,labelStyle:f,labelShowBg:m,labelBgStyle:_,labelBgPadding:g,labelBgBorderRadius:x,style:v,markerEnd:w,markerStart:j,pathOptions:b,interactionWidth:T})=>{const[A,W,H]=ey({sourceX:e,sourceY:t,sourcePosition:l,targetX:r,targetY:o,targetPosition:u,curvature:b==null?void 0:b.curvature});return Se.createElement(qu,{path:A,labelX:W,labelY:H,label:c,labelStyle:f,labelShowBg:m,labelBgStyle:_,labelBgPadding:g,labelBgBorderRadius:x,style:v,markerEnd:w,markerStart:j,interactionWidth:T})});Xd.displayName="BezierEdge";const uh=p.createContext(null),pj=uh.Provider;uh.Consumer;const gj=()=>p.useContext(uh),_j=e=>"id"in e&&"source"in e&&"target"in e,yj=({source:e,sourceHandle:t,target:r,targetHandle:o})=>`reactflow__edge-${e}${t||""}-${r}${o||""}`,Fm=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`,xj=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),vj=(e,t)=>{if(!e.source||!e.target)return t;let r;return _j(e)?r={...e}:r={...e,id:yj(e)},xj(r,t)?t:t.concat(r)},Dm=({x:e,y:t},[r,o,l],u,[c,f])=>{const m={x:(e-r)/l,y:(t-o)/l};return u?{x:c*Math.round(m.x/c),y:f*Math.round(m.y/f)}:m},ty=({x:e,y:t},[r,o,l])=>({x:e*l+r,y:t*l+o}),Yl=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const r=(e.width??0)*t[0],o=(e.height??0)*t[1],l={x:e.position.x-r,y:e.position.y-o};return{...l,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-r,y:e.positionAbsolute.y-o}:l}},lf=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((o,l)=>{const{x:u,y:c}=Yl(l,t).positionAbsolute;return G_(o,Iu({x:u,y:c,width:l.width||0,height:l.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Y_(r)},ny=(e,t,[r,o,l]=[0,0,1],u=!1,c=!1,f=[0,0])=>{const m={x:(t.x-r)/l,y:(t.y-o)/l,width:t.width/l,height:t.height/l},_=[];return e.forEach(g=>{const{width:x,height:v,selectable:w=!0,hidden:j=!1}=g;if(c&&!w||j)return!1;const{positionAbsolute:b}=Yl(g,f),T={x:b.x,y:b.y,width:x||0,height:v||0},A=Pm(m,T),W=typeof x>"u"||typeof v>"u"||x===null||v===null,H=u&&A>0,M=(x||0)*(v||0);(W||H||A>=M||g.dragging)&&_.push(g)}),_},ry=(e,t)=>{const r=e.map(o=>o.id);return t.filter(o=>r.includes(o.source)||r.includes(o.target))},sy=(e,t,r,o,l,u=.1)=>{const c=t/(e.width*(1+u)),f=r/(e.height*(1+u)),m=Math.min(c,f),_=Yc(m,o,l),g=e.x+e.width/2,x=e.y+e.height/2,v=t/2-g*_,w=r/2-x*_;return{x:v,y:w,zoom:_}},Wl=(e,t=0)=>e.transition().duration(t);function ug(e,t,r,o){return(t[r]||[]).reduce((l,u)=>{var c,f;return`${e.id}-${u.id}-${r}`!==o&&l.push({id:u.id||null,type:r,nodeId:e.id,x:(((c=e.positionAbsolute)==null?void 0:c.x)??0)+u.x+u.width/2,y:(((f=e.positionAbsolute)==null?void 0:f.y)??0)+u.y+u.height/2}),l},[])}function wj(e,t,r,o,l,u){const{x:c,y:f}=hl(e),_=t.elementsFromPoint(c,f).find(j=>j.classList.contains("react-flow__handle"));if(_){const j=_.getAttribute("data-nodeid");if(j){const b=dh(void 0,_),T=_.getAttribute("data-handleid"),A=u({nodeId:j,id:T,type:b});if(A){const W=l.find(H=>H.nodeId===j&&H.type===b&&H.id===T);return{handle:{id:T,type:b,nodeId:j,x:(W==null?void 0:W.x)||r.x,y:(W==null?void 0:W.y)||r.y},validHandleResult:A}}}}let g=[],x=1/0;if(l.forEach(j=>{const b=Math.sqrt((j.x-r.x)**2+(j.y-r.y)**2);if(b<=o){const T=u(j);b<=x&&(b<x?g=[{handle:j,validHandleResult:T}]:b===x&&g.push({handle:j,validHandleResult:T}),x=b)}}),!g.length)return{handle:null,validHandleResult:iy()};if(g.length===1)return g[0];const v=g.some(({validHandleResult:j})=>j.isValid),w=g.some(({handle:j})=>j.type==="target");return g.find(({handle:j,validHandleResult:b})=>w?j.type==="target":v?b.isValid:!0)||g[0]}const bj={source:null,target:null,sourceHandle:null,targetHandle:null},iy=()=>({handleDomNode:null,isValid:!1,connection:bj,endHandle:null});function oy(e,t,r,o,l,u,c){const f=l==="target",m=c.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),_={...iy(),handleDomNode:m};if(m){const g=dh(void 0,m),x=m.getAttribute("data-nodeid"),v=m.getAttribute("data-handleid"),w=m.classList.contains("connectable"),j=m.classList.contains("connectableend"),b={source:f?x:r,sourceHandle:f?v:o,target:f?r:x,targetHandle:f?o:v};_.connection=b,w&&j&&(t===Kl.Strict?f&&g==="source"||!f&&g==="target":x!==r||v!==o)&&(_.endHandle={nodeId:x,handleId:v,type:g},_.isValid=u(b))}return _}function Sj({nodes:e,nodeId:t,handleId:r,handleType:o}){return e.reduce((l,u)=>{if(u[Wr]){const{handleBounds:c}=u[Wr];let f=[],m=[];c&&(f=ug(u,c,"source",`${t}-${r}-${o}`),m=ug(u,c,"target",`${t}-${r}-${o}`)),l.push(...f,...m)}return l},[])}function dh(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function cm(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function jj(e,t){let r=null;return t?r="valid":e&&!t&&(r="invalid"),r}function ay({event:e,handleId:t,nodeId:r,onConnect:o,isTarget:l,getState:u,setState:c,isValidConnection:f,edgeUpdaterType:m,onEdgeUpdateEnd:_}){const g=V_(e.target),{connectionMode:x,domNode:v,autoPanOnConnect:w,connectionRadius:j,onConnectStart:b,panBy:T,getNodes:A,cancelConnection:W}=u();let H=0,M;const{x:G,y:te}=hl(e),V=g==null?void 0:g.elementFromPoint(G,te),Z=dh(m,V),ge=v==null?void 0:v.getBoundingClientRect();if(!ge||!Z)return;let xe,ke=hl(e,ge),Te=!1,oe=null,I=!1,se=null;const Q=Sj({nodes:A(),nodeId:r,handleId:t,handleType:Z}),ce=()=>{if(!w)return;const[O,$]=q_(ke,ge);T({x:O,y:$}),H=requestAnimationFrame(ce)};c({connectionPosition:ke,connectionStatus:null,connectionNodeId:r,connectionHandleId:t,connectionHandleType:Z,connectionStartHandle:{nodeId:r,handleId:t,type:Z},connectionEndHandle:null}),b==null||b(e,{nodeId:r,handleId:t,handleType:Z});function R(O){const{transform:$}=u();ke=hl(O,ge);const{handle:D,validHandleResult:ne}=wj(O,g,Dm(ke,$,!1,[1,1]),j,Q,ae=>oy(ae,x,r,t,l?"target":"source",f,g));if(M=D,Te||(ce(),Te=!0),se=ne.handleDomNode,oe=ne.connection,I=ne.isValid,c({connectionPosition:M&&I?ty({x:M.x,y:M.y},$):ke,connectionStatus:jj(!!M,I),connectionEndHandle:ne.endHandle}),!M&&!I&&!se)return cm(xe);oe.source!==oe.target&&se&&(cm(xe),xe=se,se.classList.add("connecting","react-flow__handle-connecting"),se.classList.toggle("valid",I),se.classList.toggle("react-flow__handle-valid",I))}function L(O){var $,D;(M||se)&&oe&&I&&(o==null||o(oe)),(D=($=u()).onConnectEnd)==null||D.call($,O),m&&(_==null||_(O)),cm(xe),W(),cancelAnimationFrame(H),Te=!1,I=!1,oe=null,se=null,g.removeEventListener("mousemove",R),g.removeEventListener("mouseup",L),g.removeEventListener("touchmove",R),g.removeEventListener("touchend",L)}g.addEventListener("mousemove",R),g.addEventListener("mouseup",L),g.addEventListener("touchmove",R),g.addEventListener("touchend",L)}const dg=()=>!0,kj=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Nj=(e,t,r)=>o=>{const{connectionStartHandle:l,connectionEndHandle:u,connectionClickStartHandle:c}=o;return{connecting:(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.handleId)===t&&(l==null?void 0:l.type)===r||(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===t&&(u==null?void 0:u.type)===r,clickConnecting:(c==null?void 0:c.nodeId)===e&&(c==null?void 0:c.handleId)===t&&(c==null?void 0:c.type)===r}},ly=p.forwardRef(({type:e="source",position:t=zt.Top,isValidConnection:r,isConnectable:o=!0,isConnectableStart:l=!0,isConnectableEnd:u=!0,id:c,onConnect:f,children:m,className:_,onMouseDown:g,onTouchStart:x,...v},w)=>{var ge,xe;const j=c||null,b=e==="target",T=Jr(),A=gj(),{connectOnClick:W,noPanClassName:H}=or(kj,us),{connecting:M,clickConnecting:G}=or(Nj(A,j,e),us);A||(xe=(ge=T.getState()).onError)==null||xe.call(ge,"010",za.error010());const te=ke=>{const{defaultEdgeOptions:Te,onConnect:oe,hasDefaultEdges:I}=T.getState(),se={...Te,...ke};if(I){const{edges:Q,setEdges:ce}=T.getState();ce(vj(se,Q))}oe==null||oe(se),f==null||f(se)},V=ke=>{if(!A)return;const Te=K_(ke);l&&(Te&&ke.button===0||!Te)&&ay({event:ke,handleId:j,nodeId:A,onConnect:te,isTarget:b,getState:T.getState,setState:T.setState,isValidConnection:r||T.getState().isValidConnection||dg}),Te?g==null||g(ke):x==null||x(ke)},Z=ke=>{const{onClickConnectStart:Te,onClickConnectEnd:oe,connectionClickStartHandle:I,connectionMode:se,isValidConnection:Q}=T.getState();if(!A||!I&&!l)return;if(!I){Te==null||Te(ke,{nodeId:A,handleId:j,handleType:e}),T.setState({connectionClickStartHandle:{nodeId:A,type:e,handleId:j}});return}const ce=V_(ke.target),R=r||Q||dg,{connection:L,isValid:O}=oy({nodeId:A,id:j,type:e},se,I.nodeId,I.handleId||null,I.type,R,ce);O&&te(L),oe==null||oe(ke),T.setState({connectionClickStartHandle:null})};return Se.createElement("div",{"data-handleid":j,"data-nodeid":A,"data-handlepos":t,"data-id":`${A}-${j}-${e}`,className:vs(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",H,_,{source:!b,target:b,connectable:o,connectablestart:l,connectableend:u,connecting:G,connectionindicator:o&&(l&&!M||u&&M)}]),onMouseDown:V,onTouchStart:V,onClick:W?Z:void 0,ref:w,...v},m)});ly.displayName="Handle";var Kd=p.memo(ly);const cy=({data:e,isConnectable:t,targetPosition:r=zt.Top,sourcePosition:o=zt.Bottom})=>Se.createElement(Se.Fragment,null,Se.createElement(Kd,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,Se.createElement(Kd,{type:"source",position:o,isConnectable:t}));cy.displayName="DefaultNode";var Bm=p.memo(cy);const uy=({data:e,isConnectable:t,sourcePosition:r=zt.Bottom})=>Se.createElement(Se.Fragment,null,e==null?void 0:e.label,Se.createElement(Kd,{type:"source",position:r,isConnectable:t}));uy.displayName="InputNode";var dy=p.memo(uy);const fy=({data:e,isConnectable:t,targetPosition:r=zt.Top})=>Se.createElement(Se.Fragment,null,Se.createElement(Kd,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label);fy.displayName="OutputNode";var my=p.memo(fy);const fh=()=>null;fh.displayName="GroupNode";const Cj=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Nd=e=>e.id;function Ej(e,t){return us(e.selectedNodes.map(Nd),t.selectedNodes.map(Nd))&&us(e.selectedEdges.map(Nd),t.selectedEdges.map(Nd))}const hy=p.memo(({onSelectionChange:e})=>{const t=Jr(),{selectedNodes:r,selectedEdges:o}=or(Cj,Ej);return p.useEffect(()=>{const l={nodes:r,edges:o};e==null||e(l),t.getState().onSelectionChange.forEach(u=>u(l))},[r,o,e]),null});hy.displayName="SelectionListener";const $j=e=>!!e.onSelectionChange;function Tj({onSelectionChange:e}){const t=or($j);return e||t?Se.createElement(hy,{onSelectionChange:e}):null}const Mj=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Ac(e,t){p.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function dn(e,t,r){p.useEffect(()=>{typeof t<"u"&&r({[e]:t})},[t])}const Aj=({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,onConnect:l,onConnectStart:u,onConnectEnd:c,onClickConnectStart:f,onClickConnectEnd:m,nodesDraggable:_,nodesConnectable:g,nodesFocusable:x,edgesFocusable:v,edgesUpdatable:w,elevateNodesOnSelect:j,minZoom:b,maxZoom:T,nodeExtent:A,onNodesChange:W,onEdgesChange:H,elementsSelectable:M,connectionMode:G,snapGrid:te,snapToGrid:V,translateExtent:Z,connectOnClick:ge,defaultEdgeOptions:xe,fitView:ke,fitViewOptions:Te,onNodesDelete:oe,onEdgesDelete:I,onNodeDrag:se,onNodeDragStart:Q,onNodeDragStop:ce,onSelectionDrag:R,onSelectionDragStart:L,onSelectionDragStop:O,noPanClassName:$,nodeOrigin:D,rfId:ne,autoPanOnConnect:ae,autoPanOnNodeDrag:ve,onError:$e,connectionRadius:ue,isValidConnection:he,nodeDragThreshold:Fe})=>{const{setNodes:K,setEdges:Me,setDefaultNodesAndEdges:Ne,setMinZoom:Ye,setMaxZoom:Le,setTranslateExtent:mt,setNodeExtent:gt,reset:ze}=or(Mj,us),Ae=Jr();return p.useEffect(()=>{const Ct=o==null?void 0:o.map(kt=>({...kt,...xe}));return Ne(r,Ct),()=>{ze()}},[]),dn("defaultEdgeOptions",xe,Ae.setState),dn("connectionMode",G,Ae.setState),dn("onConnect",l,Ae.setState),dn("onConnectStart",u,Ae.setState),dn("onConnectEnd",c,Ae.setState),dn("onClickConnectStart",f,Ae.setState),dn("onClickConnectEnd",m,Ae.setState),dn("nodesDraggable",_,Ae.setState),dn("nodesConnectable",g,Ae.setState),dn("nodesFocusable",x,Ae.setState),dn("edgesFocusable",v,Ae.setState),dn("edgesUpdatable",w,Ae.setState),dn("elementsSelectable",M,Ae.setState),dn("elevateNodesOnSelect",j,Ae.setState),dn("snapToGrid",V,Ae.setState),dn("snapGrid",te,Ae.setState),dn("onNodesChange",W,Ae.setState),dn("onEdgesChange",H,Ae.setState),dn("connectOnClick",ge,Ae.setState),dn("fitViewOnInit",ke,Ae.setState),dn("fitViewOnInitOptions",Te,Ae.setState),dn("onNodesDelete",oe,Ae.setState),dn("onEdgesDelete",I,Ae.setState),dn("onNodeDrag",se,Ae.setState),dn("onNodeDragStart",Q,Ae.setState),dn("onNodeDragStop",ce,Ae.setState),dn("onSelectionDrag",R,Ae.setState),dn("onSelectionDragStart",L,Ae.setState),dn("onSelectionDragStop",O,Ae.setState),dn("noPanClassName",$,Ae.setState),dn("nodeOrigin",D,Ae.setState),dn("rfId",ne,Ae.setState),dn("autoPanOnConnect",ae,Ae.setState),dn("autoPanOnNodeDrag",ve,Ae.setState),dn("onError",$e,Ae.setState),dn("connectionRadius",ue,Ae.setState),dn("isValidConnection",he,Ae.setState),dn("nodeDragThreshold",Fe,Ae.setState),Ac(e,K),Ac(t,Me),Ac(b,Ye),Ac(T,Le),Ac(Z,mt),Ac(A,gt),null},fg={display:"none"},zj={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},py="react-flow__node-desc",gy="react-flow__edge-desc",Rj="react-flow__aria-live",Lj=e=>e.ariaLiveMessage;function Pj({rfId:e}){const t=or(Lj);return Se.createElement("div",{id:`${Rj}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:zj},t)}function Ij({rfId:e,disableKeyboardA11y:t}){return Se.createElement(Se.Fragment,null,Se.createElement("div",{id:`${py}-${e}`,style:fg},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),Se.createElement("div",{id:`${gy}-${e}`,style:fg},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&Se.createElement(Pj,{rfId:e}))}var Du=(e=null,t={actInsideInputWithModifier:!0})=>{const[r,o]=p.useState(!1),l=p.useRef(!1),u=p.useRef(new Set([])),[c,f]=p.useMemo(()=>{if(e!==null){const _=(Array.isArray(e)?e:[e]).filter(x=>typeof x=="string").map(x=>x.split("+")),g=_.reduce((x,v)=>x.concat(...v),[]);return[_,g]}return[[],[]]},[e]);return p.useEffect(()=>{const m=typeof document<"u"?document:null,_=(t==null?void 0:t.target)||m;if(e!==null){const g=w=>{if(l.current=w.ctrlKey||w.metaKey||w.shiftKey,(!l.current||l.current&&!t.actInsideInputWithModifier)&&Im(w))return!1;const b=hg(w.code,f);u.current.add(w[b]),mg(c,u.current,!1)&&(w.preventDefault(),o(!0))},x=w=>{if((!l.current||l.current&&!t.actInsideInputWithModifier)&&Im(w))return!1;const b=hg(w.code,f);mg(c,u.current,!0)?(o(!1),u.current.clear()):u.current.delete(w[b]),w.key==="Meta"&&u.current.clear(),l.current=!1},v=()=>{u.current.clear(),o(!1)};return _==null||_.addEventListener("keydown",g),_==null||_.addEventListener("keyup",x),window.addEventListener("blur",v),()=>{_==null||_.removeEventListener("keydown",g),_==null||_.removeEventListener("keyup",x),window.removeEventListener("blur",v)}}},[e,o]),r};function mg(e,t,r){return e.filter(o=>r||o.length===t.size).some(o=>o.every(l=>t.has(l)))}function hg(e,t){return t.includes(e)?"code":"key"}function _y(e,t,r,o){var c,f;if(!e.parentNode)return r;const l=t.get(e.parentNode),u=Yl(l,o);return _y(l,t,{x:(r.x??0)+u.x,y:(r.y??0)+u.y,z:(((c=l[Wr])==null?void 0:c.z)??0)>(r.z??0)?((f=l[Wr])==null?void 0:f.z)??0:r.z??0},o)}function yy(e,t,r){e.forEach(o=>{var l;if(o.parentNode&&!e.has(o.parentNode))throw new Error(`Parent node ${o.parentNode} not found`);if(o.parentNode||r!=null&&r[o.id]){const{x:u,y:c,z:f}=_y(o,e,{...o.position,z:((l=o[Wr])==null?void 0:l.z)??0},t);o.positionAbsolute={x:u,y:c},o[Wr].z=f,r!=null&&r[o.id]&&(o[Wr].isParent=!0)}})}function um(e,t,r,o){const l=new Map,u={},c=o?1e3:0;return e.forEach(f=>{var v;const m=(no(f.zIndex)?f.zIndex:0)+(f.selected?c:0),_=t.get(f.id),g={...f,positionAbsolute:{x:f.position.x,y:f.position.y}};f.parentNode&&(u[f.parentNode]=!0);const x=(_==null?void 0:_.type)&&(_==null?void 0:_.type)!==f.type;Object.defineProperty(g,Wr,{enumerable:!1,value:{handleBounds:x||(v=_==null?void 0:_[Wr])==null?void 0:v.handleBounds,z:m}}),l.set(f.id,g)}),yy(l,r,u),l}function xy(e,t={}){const{getNodes:r,width:o,height:l,minZoom:u,maxZoom:c,d3Zoom:f,d3Selection:m,fitViewOnInitDone:_,fitViewOnInit:g,nodeOrigin:x}=e(),v=t.initial&&!_&&g;if(f&&m&&(v||!t.initial)){const j=r().filter(T=>{var W;const A=t.includeHiddenNodes?T.width&&T.height:!T.hidden;return(W=t.nodes)!=null&&W.length?A&&t.nodes.some(H=>H.id===T.id):A}),b=j.every(T=>T.width&&T.height);if(j.length>0&&b){const T=lf(j,x),{x:A,y:W,zoom:H}=sy(T,o,l,t.minZoom??u,t.maxZoom??c,t.padding??.1),M=Ma.translate(A,W).scale(H);return typeof t.duration=="number"&&t.duration>0?f.transform(Wl(m,t.duration),M):f.transform(m,M),!0}}return!1}function Oj(e,t){return e.forEach(r=>{const o=t.get(r.id);o&&t.set(o.id,{...o,[Wr]:o[Wr],selected:r.selected})}),new Map(t)}function Fj(e,t){return t.map(r=>{const o=e.find(l=>l.id===r.id);return o&&(r.selected=o.selected),r})}function Cd({changedNodes:e,changedEdges:t,get:r,set:o}){const{nodeInternals:l,edges:u,onNodesChange:c,onEdgesChange:f,hasDefaultNodes:m,hasDefaultEdges:_}=r();e!=null&&e.length&&(m&&o({nodeInternals:Oj(e,l)}),c==null||c(e)),t!=null&&t.length&&(_&&o({edges:Fj(t,u)}),f==null||f(t))}const zc=()=>{},Dj={zoomIn:zc,zoomOut:zc,zoomTo:zc,getZoom:()=>1,setViewport:zc,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:zc,fitBounds:zc,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},Bj=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),Uj=()=>{const e=Jr(),{d3Zoom:t,d3Selection:r}=or(Bj,us);return p.useMemo(()=>r&&t?{zoomIn:l=>t.scaleBy(Wl(r,l==null?void 0:l.duration),1.2),zoomOut:l=>t.scaleBy(Wl(r,l==null?void 0:l.duration),1/1.2),zoomTo:(l,u)=>t.scaleTo(Wl(r,u==null?void 0:u.duration),l),getZoom:()=>e.getState().transform[2],setViewport:(l,u)=>{const[c,f,m]=e.getState().transform,_=Ma.translate(l.x??c,l.y??f).scale(l.zoom??m);t.transform(Wl(r,u==null?void 0:u.duration),_)},getViewport:()=>{const[l,u,c]=e.getState().transform;return{x:l,y:u,zoom:c}},fitView:l=>xy(e.getState,l),setCenter:(l,u,c)=>{const{width:f,height:m,maxZoom:_}=e.getState(),g=typeof(c==null?void 0:c.zoom)<"u"?c.zoom:_,x=f/2-l*g,v=m/2-u*g,w=Ma.translate(x,v).scale(g);t.transform(Wl(r,c==null?void 0:c.duration),w)},fitBounds:(l,u)=>{const{width:c,height:f,minZoom:m,maxZoom:_}=e.getState(),{x:g,y:x,zoom:v}=sy(l,c,f,m,_,(u==null?void 0:u.padding)??.1),w=Ma.translate(g,x).scale(v);t.transform(Wl(r,u==null?void 0:u.duration),w)},project:l=>{const{transform:u,snapToGrid:c,snapGrid:f}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Dm(l,u,c,f)},screenToFlowPosition:l=>{const{transform:u,snapToGrid:c,snapGrid:f,domNode:m}=e.getState();if(!m)return l;const{x:_,y:g}=m.getBoundingClientRect(),x={x:l.x-_,y:l.y-g};return Dm(x,u,c,f)},flowToScreenPosition:l=>{const{transform:u,domNode:c}=e.getState();if(!c)return l;const{x:f,y:m}=c.getBoundingClientRect(),_=ty(l,u);return{x:_.x+f,y:_.y+m}},viewportInitialized:!0}:Dj,[t,r])};function mh(){const e=Uj(),t=Jr(),r=p.useCallback(()=>t.getState().getNodes().map(b=>({...b})),[]),o=p.useCallback(b=>t.getState().nodeInternals.get(b),[]),l=p.useCallback(()=>{const{edges:b=[]}=t.getState();return b.map(T=>({...T}))},[]),u=p.useCallback(b=>{const{edges:T=[]}=t.getState();return T.find(A=>A.id===b)},[]),c=p.useCallback(b=>{const{getNodes:T,setNodes:A,hasDefaultNodes:W,onNodesChange:H}=t.getState(),M=T(),G=typeof b=="function"?b(M):b;if(W)A(G);else if(H){const te=G.length===0?M.map(V=>({type:"remove",id:V.id})):G.map(V=>({item:V,type:"reset"}));H(te)}},[]),f=p.useCallback(b=>{const{edges:T=[],setEdges:A,hasDefaultEdges:W,onEdgesChange:H}=t.getState(),M=typeof b=="function"?b(T):b;if(W)A(M);else if(H){const G=M.length===0?T.map(te=>({type:"remove",id:te.id})):M.map(te=>({item:te,type:"reset"}));H(G)}},[]),m=p.useCallback(b=>{const T=Array.isArray(b)?b:[b],{getNodes:A,setNodes:W,hasDefaultNodes:H,onNodesChange:M}=t.getState();if(H){const te=[...A(),...T];W(te)}else if(M){const G=T.map(te=>({item:te,type:"add"}));M(G)}},[]),_=p.useCallback(b=>{const T=Array.isArray(b)?b:[b],{edges:A=[],setEdges:W,hasDefaultEdges:H,onEdgesChange:M}=t.getState();if(H)W([...A,...T]);else if(M){const G=T.map(te=>({item:te,type:"add"}));M(G)}},[]),g=p.useCallback(()=>{const{getNodes:b,edges:T=[],transform:A}=t.getState(),[W,H,M]=A;return{nodes:b().map(G=>({...G})),edges:T.map(G=>({...G})),viewport:{x:W,y:H,zoom:M}}},[]),x=p.useCallback(({nodes:b,edges:T})=>{const{nodeInternals:A,getNodes:W,edges:H,hasDefaultNodes:M,hasDefaultEdges:G,onNodesDelete:te,onEdgesDelete:V,onNodesChange:Z,onEdgesChange:ge}=t.getState(),xe=(b||[]).map(se=>se.id),ke=(T||[]).map(se=>se.id),Te=W().reduce((se,Q)=>{const ce=!xe.includes(Q.id)&&Q.parentNode&&se.find(L=>L.id===Q.parentNode);return(typeof Q.deletable=="boolean"?Q.deletable:!0)&&(xe.includes(Q.id)||ce)&&se.push(Q),se},[]),oe=H.filter(se=>typeof se.deletable=="boolean"?se.deletable:!0),I=oe.filter(se=>ke.includes(se.id));if(Te||I){const se=ry(Te,oe),Q=[...I,...se],ce=Q.reduce((R,L)=>(R.includes(L.id)||R.push(L.id),R),[]);if((G||M)&&(G&&t.setState({edges:H.filter(R=>!ce.includes(R.id))}),M&&(Te.forEach(R=>{A.delete(R.id)}),t.setState({nodeInternals:new Map(A)}))),ce.length>0&&(V==null||V(Q),ge&&ge(ce.map(R=>({id:R,type:"remove"})))),Te.length>0&&(te==null||te(Te),Z)){const R=Te.map(L=>({id:L.id,type:"remove"}));Z(R)}}},[]),v=p.useCallback(b=>{const T=lj(b),A=T?null:t.getState().nodeInternals.get(b.id);return!T&&!A?[null,null,T]:[T?b:ig(A),A,T]},[]),w=p.useCallback((b,T=!0,A)=>{const[W,H,M]=v(b);return W?(A||t.getState().getNodes()).filter(G=>{if(!M&&(G.id===H.id||!G.positionAbsolute))return!1;const te=ig(G),V=Pm(te,W);return T&&V>0||V>=W.width*W.height}):[]},[]),j=p.useCallback((b,T,A=!0)=>{const[W]=v(b);if(!W)return!1;const H=Pm(W,T);return A&&H>0||H>=W.width*W.height},[]);return p.useMemo(()=>({...e,getNodes:r,getNode:o,getEdges:l,getEdge:u,setNodes:c,setEdges:f,addNodes:m,addEdges:_,toObject:g,deleteElements:x,getIntersectingNodes:w,isNodeIntersecting:j}),[e,r,o,l,u,c,f,m,_,g,x,w,j])}const Wj={actInsideInputWithModifier:!1};var Hj=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const r=Jr(),{deleteElements:o}=mh(),l=Du(e,Wj),u=Du(t);p.useEffect(()=>{if(l){const{edges:c,getNodes:f}=r.getState(),m=f().filter(g=>g.selected),_=c.filter(g=>g.selected);o({nodes:m,edges:_}),r.setState({nodesSelectionActive:!1})}},[l]),p.useEffect(()=>{r.setState({multiSelectionActive:u})},[u])};function qj(e){const t=Jr();p.useEffect(()=>{let r;const o=()=>{var u,c;if(!e.current)return;const l=ih(e.current);(l.height===0||l.width===0)&&((c=(u=t.getState()).onError)==null||c.call(u,"004",za.error004())),t.setState({width:l.width||500,height:l.height||500})};return o(),window.addEventListener("resize",o),e.current&&(r=new ResizeObserver(()=>o()),r.observe(e.current)),()=>{window.removeEventListener("resize",o),r&&e.current&&r.unobserve(e.current)}},[])}const hh={position:"absolute",width:"100%",height:"100%",top:0,left:0},Vj=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Ed=e=>({x:e.x,y:e.y,zoom:e.k}),Rc=(e,t)=>e.target.closest(`.${t}`),pg=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),gg=e=>{const t=e.ctrlKey&&Yd()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},Gj=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),Yj=({onMove:e,onMoveStart:t,onMoveEnd:r,onPaneContextMenu:o,zoomOnScroll:l=!0,zoomOnPinch:u=!0,panOnScroll:c=!1,panOnScrollSpeed:f=.5,panOnScrollMode:m=Vl.Free,zoomOnDoubleClick:_=!0,elementsSelectable:g,panOnDrag:x=!0,defaultViewport:v,translateExtent:w,minZoom:j,maxZoom:b,zoomActivationKeyCode:T,preventScrolling:A=!0,children:W,noWheelClassName:H,noPanClassName:M})=>{const G=p.useRef(),te=Jr(),V=p.useRef(!1),Z=p.useRef(!1),ge=p.useRef(null),xe=p.useRef({x:0,y:0,zoom:0}),{d3Zoom:ke,d3Selection:Te,d3ZoomHandler:oe,userSelectionActive:I}=or(Gj,us),se=Du(T),Q=p.useRef(0),ce=p.useRef(!1),R=p.useRef();return qj(ge),p.useEffect(()=>{if(ge.current){const L=ge.current.getBoundingClientRect(),O=W_().scaleExtent([j,b]).translateExtent(w),$=to(ge.current).call(O),D=Ma.translate(v.x,v.y).scale(Yc(v.zoom,j,b)),ne=[[0,0],[L.width,L.height]],ae=O.constrain()(D,ne,w);O.transform($,ae),O.wheelDelta(gg),te.setState({d3Zoom:O,d3Selection:$,d3ZoomHandler:$.on("wheel.zoom"),transform:[ae.x,ae.y,ae.k],domNode:ge.current.closest(".react-flow")})}},[]),p.useEffect(()=>{Te&&ke&&(c&&!se&&!I?Te.on("wheel.zoom",L=>{if(Rc(L,H))return!1;L.preventDefault(),L.stopImmediatePropagation();const O=Te.property("__zoom").k||1,$=Yd();if(L.ctrlKey&&u&&$){const Fe=So(L),K=gg(L),Me=O*Math.pow(2,K);ke.scaleTo(Te,Me,Fe,L);return}const D=L.deltaMode===1?20:1;let ne=m===Vl.Vertical?0:L.deltaX*D,ae=m===Vl.Horizontal?0:L.deltaY*D;!$&&L.shiftKey&&m!==Vl.Vertical&&(ne=L.deltaY*D,ae=0),ke.translateBy(Te,-(ne/O)*f,-(ae/O)*f,{internal:!0});const ve=Ed(Te.property("__zoom")),{onViewportChangeStart:$e,onViewportChange:ue,onViewportChangeEnd:he}=te.getState();clearTimeout(R.current),ce.current||(ce.current=!0,t==null||t(L,ve),$e==null||$e(ve)),ce.current&&(e==null||e(L,ve),ue==null||ue(ve),R.current=setTimeout(()=>{r==null||r(L,ve),he==null||he(ve),ce.current=!1},150))},{passive:!1}):typeof oe<"u"&&Te.on("wheel.zoom",function(L,O){if(!A||Rc(L,H))return null;L.preventDefault(),oe.call(this,L,O)},{passive:!1}))},[I,c,m,Te,ke,oe,se,u,A,H,t,e,r]),p.useEffect(()=>{ke&&ke.on("start",L=>{var D,ne;if(!L.sourceEvent||L.sourceEvent.internal)return null;Q.current=(D=L.sourceEvent)==null?void 0:D.button;const{onViewportChangeStart:O}=te.getState(),$=Ed(L.transform);V.current=!0,xe.current=$,((ne=L.sourceEvent)==null?void 0:ne.type)==="mousedown"&&te.setState({paneDragging:!0}),O==null||O($),t==null||t(L.sourceEvent,$)})},[ke,t]),p.useEffect(()=>{ke&&(I&&!V.current?ke.on("zoom",null):I||ke.on("zoom",L=>{var $;const{onViewportChange:O}=te.getState();if(te.setState({transform:[L.transform.x,L.transform.y,L.transform.k]}),Z.current=!!(o&&pg(x,Q.current??0)),(e||O)&&!(($=L.sourceEvent)!=null&&$.internal)){const D=Ed(L.transform);O==null||O(D),e==null||e(L.sourceEvent,D)}}))},[I,ke,e,x,o]),p.useEffect(()=>{ke&&ke.on("end",L=>{if(!L.sourceEvent||L.sourceEvent.internal)return null;const{onViewportChangeEnd:O}=te.getState();if(V.current=!1,te.setState({paneDragging:!1}),o&&pg(x,Q.current??0)&&!Z.current&&o(L.sourceEvent),Z.current=!1,(r||O)&&Vj(xe.current,L.transform)){const $=Ed(L.transform);xe.current=$,clearTimeout(G.current),G.current=setTimeout(()=>{O==null||O($),r==null||r(L.sourceEvent,$)},c?150:0)}})},[ke,c,x,r,o]),p.useEffect(()=>{ke&&ke.filter(L=>{const O=se||l,$=u&&L.ctrlKey;if((x===!0||Array.isArray(x)&&x.includes(1))&&L.button===1&&L.type==="mousedown"&&(Rc(L,"react-flow__node")||Rc(L,"react-flow__edge")))return!0;if(!x&&!O&&!c&&!_&&!u||I||!_&&L.type==="dblclick"||Rc(L,H)&&L.type==="wheel"||Rc(L,M)&&(L.type!=="wheel"||c&&L.type==="wheel"&&!se)||!u&&L.ctrlKey&&L.type==="wheel"||!O&&!c&&!$&&L.type==="wheel"||!x&&(L.type==="mousedown"||L.type==="touchstart")||Array.isArray(x)&&!x.includes(L.button)&&(L.type==="mousedown"||L.type==="touchstart"))return!1;const D=Array.isArray(x)&&x.includes(L.button)||!L.button||L.button<=1;return(!L.ctrlKey||L.type==="wheel")&&D})},[I,ke,l,u,c,_,x,g,se]),Se.createElement("div",{className:"react-flow__renderer",ref:ge,style:hh},W)},Xj=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Kj(){const{userSelectionActive:e,userSelectionRect:t}=or(Xj,us);return e&&t?Se.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function _g(e,t){const r=e.find(o=>o.id===t.parentNode);if(r){const o=t.position.x+t.width-r.width,l=t.position.y+t.height-r.height;if(o>0||l>0||t.position.x<0||t.position.y<0){if(r.style={...r.style},r.style.width=r.style.width??r.width,r.style.height=r.style.height??r.height,o>0&&(r.style.width+=o),l>0&&(r.style.height+=l),t.position.x<0){const u=Math.abs(t.position.x);r.position.x=r.position.x-u,r.style.width+=u,t.position.x=0}if(t.position.y<0){const u=Math.abs(t.position.y);r.position.y=r.position.y-u,r.style.height+=u,t.position.y=0}r.width=r.style.width,r.height=r.style.height}}}function Jj(e,t){if(e.some(o=>o.type==="reset"))return e.filter(o=>o.type==="reset").map(o=>o.item);const r=e.filter(o=>o.type==="add").map(o=>o.item);return t.reduce((o,l)=>{const u=e.filter(f=>f.id===l.id);if(u.length===0)return o.push(l),o;const c={...l};for(const f of u)if(f)switch(f.type){case"select":{c.selected=f.selected;break}case"position":{typeof f.position<"u"&&(c.position=f.position),typeof f.positionAbsolute<"u"&&(c.positionAbsolute=f.positionAbsolute),typeof f.dragging<"u"&&(c.dragging=f.dragging),c.expandParent&&_g(o,c);break}case"dimensions":{typeof f.dimensions<"u"&&(c.width=f.dimensions.width,c.height=f.dimensions.height),typeof f.updateStyle<"u"&&(c.style={...c.style||{},...f.dimensions}),typeof f.resizing=="boolean"&&(c.resizing=f.resizing),c.expandParent&&_g(o,c);break}case"remove":return o}return o.push(c),o},r)}function Qj(e,t){return Jj(e,t)}const fl=(e,t)=>({id:e,type:"select",selected:t});function Bc(e,t){return e.reduce((r,o)=>{const l=t.includes(o.id);return!o.selected&&l?(o.selected=!0,r.push(fl(o.id,!0))):o.selected&&!l&&(o.selected=!1,r.push(fl(o.id,!1))),r},[])}const dm=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},Zj=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),vy=p.memo(({isSelecting:e,selectionMode:t=Ou.Full,panOnDrag:r,onSelectionStart:o,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:f,onPaneMouseEnter:m,onPaneMouseMove:_,onPaneMouseLeave:g,children:x})=>{const v=p.useRef(null),w=Jr(),j=p.useRef(0),b=p.useRef(0),T=p.useRef(),{userSelectionActive:A,elementsSelectable:W,dragging:H}=or(Zj,us),M=()=>{w.setState({userSelectionActive:!1,userSelectionRect:null}),j.current=0,b.current=0},G=oe=>{u==null||u(oe),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},te=oe=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){oe.preventDefault();return}c==null||c(oe)},V=f?oe=>f(oe):void 0,Z=oe=>{const{resetSelectedElements:I,domNode:se}=w.getState();if(T.current=se==null?void 0:se.getBoundingClientRect(),!W||!e||oe.button!==0||oe.target!==v.current||!T.current)return;const{x:Q,y:ce}=hl(oe,T.current);I(),w.setState({userSelectionRect:{width:0,height:0,startX:Q,startY:ce,x:Q,y:ce}}),o==null||o(oe)},ge=oe=>{const{userSelectionRect:I,nodeInternals:se,edges:Q,transform:ce,onNodesChange:R,onEdgesChange:L,nodeOrigin:O,getNodes:$}=w.getState();if(!e||!T.current||!I)return;w.setState({userSelectionActive:!0,nodesSelectionActive:!1});const D=hl(oe,T.current),ne=I.startX??0,ae=I.startY??0,ve={...I,x:D.x<ne?D.x:ne,y:D.y<ae?D.y:ae,width:Math.abs(D.x-ne),height:Math.abs(D.y-ae)},$e=$(),ue=ny(se,ve,ce,t===Ou.Partial,!0,O),he=ry(ue,Q).map(K=>K.id),Fe=ue.map(K=>K.id);if(j.current!==Fe.length){j.current=Fe.length;const K=Bc($e,Fe);K.length&&(R==null||R(K))}if(b.current!==he.length){b.current=he.length;const K=Bc(Q,he);K.length&&(L==null||L(K))}w.setState({userSelectionRect:ve})},xe=oe=>{if(oe.button!==0)return;const{userSelectionRect:I}=w.getState();!A&&I&&oe.target===v.current&&(G==null||G(oe)),w.setState({nodesSelectionActive:j.current>0}),M(),l==null||l(oe)},ke=oe=>{A&&(w.setState({nodesSelectionActive:j.current>0}),l==null||l(oe)),M()},Te=W&&(e||A);return Se.createElement("div",{className:vs(["react-flow__pane",{dragging:H,selection:e}]),onClick:Te?void 0:dm(G,v),onContextMenu:dm(te,v),onWheel:dm(V,v),onMouseEnter:Te?void 0:m,onMouseDown:Te?Z:void 0,onMouseMove:Te?ge:_,onMouseUp:Te?xe:void 0,onMouseLeave:Te?ke:g,ref:v,style:hh},x,Se.createElement(Kj,null))});vy.displayName="Pane";function wy(e,t){if(!e.parentNode)return!1;const r=t.get(e.parentNode);return r?r.selected?!0:wy(r,t):!1}function yg(e,t,r){let o=e;do{if(o!=null&&o.matches(t))return!0;if(o===r.current)return!1;o=o.parentElement}while(o);return!1}function ek(e,t,r,o){return Array.from(e.values()).filter(l=>(l.selected||l.id===o)&&(!l.parentNode||!wy(l,e))&&(l.draggable||t&&typeof l.draggable>"u")).map(l=>{var u,c;return{id:l.id,position:l.position||{x:0,y:0},positionAbsolute:l.positionAbsolute||{x:0,y:0},distance:{x:r.x-(((u=l.positionAbsolute)==null?void 0:u.x)??0),y:r.y-(((c=l.positionAbsolute)==null?void 0:c.y)??0)},delta:{x:0,y:0},extent:l.extent,parentNode:l.parentNode,width:l.width,height:l.height,expandParent:l.expandParent}})}function tk(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function by(e,t,r,o,l=[0,0],u){const c=tk(e,e.extent||o);let f=c;if(e.extent==="parent"&&!e.expandParent)if(e.parentNode&&e.width&&e.height){const g=r.get(e.parentNode),{x,y:v}=Yl(g,l).positionAbsolute;f=g&&no(x)&&no(v)&&no(g.width)&&no(g.height)?[[x+e.width*l[0],v+e.height*l[1]],[x+g.width-e.width+e.width*l[0],v+g.height-e.height+e.height*l[1]]]:f}else u==null||u("005",za.error005()),f=c;else if(e.extent&&e.parentNode&&e.extent!=="parent"){const g=r.get(e.parentNode),{x,y:v}=Yl(g,l).positionAbsolute;f=[[e.extent[0][0]+x,e.extent[0][1]+v],[e.extent[1][0]+x,e.extent[1][1]+v]]}let m={x:0,y:0};if(e.parentNode){const g=r.get(e.parentNode);m=Yl(g,l).positionAbsolute}const _=f&&f!=="parent"?oh(t,f):t;return{position:{x:_.x-m.x,y:_.y-m.y},positionAbsolute:_}}function fm({nodeId:e,dragItems:t,nodeInternals:r}){const o=t.map(l=>({...r.get(l.id),position:l.position,positionAbsolute:l.positionAbsolute}));return[e?o.find(l=>l.id===e):o[0],o]}const xg=(e,t,r,o)=>{const l=t.querySelectorAll(e);if(!l||!l.length)return null;const u=Array.from(l),c=t.getBoundingClientRect(),f={x:c.width*o[0],y:c.height*o[1]};return u.map(m=>{const _=m.getBoundingClientRect();return{id:m.getAttribute("data-handleid"),position:m.getAttribute("data-handlepos"),x:(_.left-c.left-f.x)/r,y:(_.top-c.top-f.y)/r,...ih(m)}})};function Su(e,t,r){return r===void 0?r:o=>{const l=t().nodeInternals.get(e);l&&r(o,{...l})}}function Um({id:e,store:t,unselect:r=!1,nodeRef:o}){const{addSelectedNodes:l,unselectNodesAndEdges:u,multiSelectionActive:c,nodeInternals:f,onError:m}=t.getState(),_=f.get(e);if(!_){m==null||m("012",za.error012(e));return}t.setState({nodesSelectionActive:!1}),_.selected?(r||_.selected&&c)&&(u({nodes:[_],edges:[]}),requestAnimationFrame(()=>{var g;return(g=o==null?void 0:o.current)==null?void 0:g.blur()})):l([e])}function nk(){const e=Jr();return p.useCallback(({sourceEvent:r})=>{const{transform:o,snapGrid:l,snapToGrid:u}=e.getState(),c=r.touches?r.touches[0].clientX:r.clientX,f=r.touches?r.touches[0].clientY:r.clientY,m={x:(c-o[0])/o[2],y:(f-o[1])/o[2]};return{xSnapped:u?l[0]*Math.round(m.x/l[0]):m.x,ySnapped:u?l[1]*Math.round(m.y/l[1]):m.y,...m}},[])}function mm(e){return(t,r,o)=>e==null?void 0:e(t,o)}function Sy({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:o,nodeId:l,isSelectable:u,selectNodesOnDrag:c}){const f=Jr(),[m,_]=p.useState(!1),g=p.useRef([]),x=p.useRef({x:null,y:null}),v=p.useRef(0),w=p.useRef(null),j=p.useRef({x:0,y:0}),b=p.useRef(null),T=p.useRef(!1),A=p.useRef(!1),W=nk();return p.useEffect(()=>{if(e!=null&&e.current){const H=to(e.current),M=({x:V,y:Z})=>{const{nodeInternals:ge,onNodeDrag:xe,onSelectionDrag:ke,updateNodePositions:Te,nodeExtent:oe,snapGrid:I,snapToGrid:se,nodeOrigin:Q,onError:ce}=f.getState();x.current={x:V,y:Z};let R=!1,L={x:0,y:0,x2:0,y2:0};if(g.current.length>1&&oe){const $=lf(g.current,Q);L=Iu($)}if(g.current=g.current.map($=>{const D={x:V-$.distance.x,y:Z-$.distance.y};se&&(D.x=I[0]*Math.round(D.x/I[0]),D.y=I[1]*Math.round(D.y/I[1]));const ne=[[oe[0][0],oe[0][1]],[oe[1][0],oe[1][1]]];g.current.length>1&&oe&&!$.extent&&(ne[0][0]=$.positionAbsolute.x-L.x+oe[0][0],ne[1][0]=$.positionAbsolute.x+($.width??0)-L.x2+oe[1][0],ne[0][1]=$.positionAbsolute.y-L.y+oe[0][1],ne[1][1]=$.positionAbsolute.y+($.height??0)-L.y2+oe[1][1]);const ae=by($,D,ge,ne,Q,ce);return R=R||$.position.x!==ae.position.x||$.position.y!==ae.position.y,$.position=ae.position,$.positionAbsolute=ae.positionAbsolute,$}),!R)return;Te(g.current,!0,!0),_(!0);const O=l?xe:mm(ke);if(O&&b.current){const[$,D]=fm({nodeId:l,dragItems:g.current,nodeInternals:ge});O(b.current,$,D)}},G=()=>{if(!w.current)return;const[V,Z]=q_(j.current,w.current);if(V!==0||Z!==0){const{transform:ge,panBy:xe}=f.getState();x.current.x=(x.current.x??0)-V/ge[2],x.current.y=(x.current.y??0)-Z/ge[2],xe({x:V,y:Z})&&M(x.current)}v.current=requestAnimationFrame(G)},te=V=>{var Q;const{nodeInternals:Z,multiSelectionActive:ge,nodesDraggable:xe,unselectNodesAndEdges:ke,onNodeDragStart:Te,onSelectionDragStart:oe}=f.getState();A.current=!0;const I=l?Te:mm(oe);(!c||!u)&&!ge&&l&&((Q=Z.get(l))!=null&&Q.selected||ke()),l&&u&&c&&Um({id:l,store:f,nodeRef:e});const se=W(V);if(x.current=se,g.current=ek(Z,xe,se,l),I&&g.current){const[ce,R]=fm({nodeId:l,dragItems:g.current,nodeInternals:Z});I(V.sourceEvent,ce,R)}};if(t)H.on(".drag",null);else{const V=fb().on("start",Z=>{const{domNode:ge,nodeDragThreshold:xe}=f.getState();xe===0&&te(Z);const ke=W(Z);x.current=ke,w.current=(ge==null?void 0:ge.getBoundingClientRect())||null,j.current=hl(Z.sourceEvent,w.current)}).on("drag",Z=>{var Te,oe;const ge=W(Z),{autoPanOnNodeDrag:xe,nodeDragThreshold:ke}=f.getState();if(!T.current&&A.current&&xe&&(T.current=!0,G()),!A.current){const I=ge.xSnapped-(((Te=x==null?void 0:x.current)==null?void 0:Te.x)??0),se=ge.ySnapped-(((oe=x==null?void 0:x.current)==null?void 0:oe.y)??0);Math.sqrt(I*I+se*se)>ke&&te(Z)}(x.current.x!==ge.xSnapped||x.current.y!==ge.ySnapped)&&g.current&&A.current&&(b.current=Z.sourceEvent,j.current=hl(Z.sourceEvent,w.current),M(ge))}).on("end",Z=>{if(A.current&&(_(!1),T.current=!1,A.current=!1,cancelAnimationFrame(v.current),g.current)){const{updateNodePositions:ge,nodeInternals:xe,onNodeDragStop:ke,onSelectionDragStop:Te}=f.getState(),oe=l?ke:mm(Te);if(ge(g.current,!1,!1),oe){const[I,se]=fm({nodeId:l,dragItems:g.current,nodeInternals:xe});oe(Z.sourceEvent,I,se)}}}).filter(Z=>{const ge=Z.target;return!Z.button&&(!r||!yg(ge,`.${r}`,e))&&(!o||yg(ge,o,e))});return H.call(V),()=>{H.on(".drag",null)}}}},[e,t,r,o,u,f,l,c,W]),m}function jy(){const e=Jr();return p.useCallback(r=>{const{nodeInternals:o,nodeExtent:l,updateNodePositions:u,getNodes:c,snapToGrid:f,snapGrid:m,onError:_,nodesDraggable:g}=e.getState(),x=c().filter(W=>W.selected&&(W.draggable||g&&typeof W.draggable>"u")),v=f?m[0]:5,w=f?m[1]:5,j=r.isShiftPressed?4:1,b=r.x*v*j,T=r.y*w*j,A=x.map(W=>{if(W.positionAbsolute){const H={x:W.positionAbsolute.x+b,y:W.positionAbsolute.y+T};f&&(H.x=m[0]*Math.round(H.x/m[0]),H.y=m[1]*Math.round(H.y/m[1]));const{positionAbsolute:M,position:G}=by(W,H,o,l,void 0,_);W.position=G,W.positionAbsolute=M}return W});u(A,!0,!1)},[])}const Hc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var ju=e=>{const t=({id:r,type:o,data:l,xPos:u,yPos:c,xPosOrigin:f,yPosOrigin:m,selected:_,onClick:g,onMouseEnter:x,onMouseMove:v,onMouseLeave:w,onContextMenu:j,onDoubleClick:b,style:T,className:A,isDraggable:W,isSelectable:H,isConnectable:M,isFocusable:G,selectNodesOnDrag:te,sourcePosition:V,targetPosition:Z,hidden:ge,resizeObserver:xe,dragHandle:ke,zIndex:Te,isParent:oe,noDragClassName:I,noPanClassName:se,initialized:Q,disableKeyboardA11y:ce,ariaLabel:R,rfId:L,hasHandleBounds:O})=>{const $=Jr(),D=p.useRef(null),ne=p.useRef(V),ae=p.useRef(Z),ve=p.useRef(o),$e=H||W||g||x||v||w,ue=jy(),he=Su(r,$.getState,x),Fe=Su(r,$.getState,v),K=Su(r,$.getState,w),Me=Su(r,$.getState,j),Ne=Su(r,$.getState,b),Ye=gt=>{const{nodeDragThreshold:ze}=$.getState();if(H&&(!te||!W||ze>0)&&Um({id:r,store:$,nodeRef:D}),g){const Ae=$.getState().nodeInternals.get(r);Ae&&g(gt,{...Ae})}},Le=gt=>{if(!Im(gt))if(X_.includes(gt.key)&&H){const ze=gt.key==="Escape";Um({id:r,store:$,unselect:ze,nodeRef:D})}else!ce&&W&&_&&Object.prototype.hasOwnProperty.call(Hc,gt.key)&&($.setState({ariaLiveMessage:`Moved selected node ${gt.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~u}, y: ${~~c}`}),ue({x:Hc[gt.key].x,y:Hc[gt.key].y,isShiftPressed:gt.shiftKey}))};p.useEffect(()=>()=>{D.current&&(xe==null||xe.unobserve(D.current))},[]),p.useEffect(()=>{if(D.current&&!ge){const gt=D.current;(!Q||!O)&&(xe==null||xe.unobserve(gt),xe==null||xe.observe(gt))}},[ge,Q,O]),p.useEffect(()=>{const gt=ve.current!==o,ze=ne.current!==V,Ae=ae.current!==Z;D.current&&(gt||ze||Ae)&&(gt&&(ve.current=o),ze&&(ne.current=V),Ae&&(ae.current=Z),$.getState().updateNodeDimensions([{id:r,nodeElement:D.current,forceUpdate:!0}]))},[r,o,V,Z]);const mt=Sy({nodeRef:D,disabled:ge||!W,noDragClassName:I,handleSelector:ke,nodeId:r,isSelectable:H,selectNodesOnDrag:te});return ge?null:Se.createElement("div",{className:vs(["react-flow__node",`react-flow__node-${o}`,{[se]:W},A,{selected:_,selectable:H,parent:oe,dragging:mt}]),ref:D,style:{zIndex:Te,transform:`translate(${f}px,${m}px)`,pointerEvents:$e?"all":"none",visibility:Q?"visible":"hidden",...T},"data-id":r,"data-testid":`rf__node-${r}`,onMouseEnter:he,onMouseMove:Fe,onMouseLeave:K,onContextMenu:Me,onClick:Ye,onDoubleClick:Ne,onKeyDown:G?Le:void 0,tabIndex:G?0:void 0,role:G?"button":void 0,"aria-describedby":ce?void 0:`${py}-${L}`,"aria-label":R},Se.createElement(pj,{value:r},Se.createElement(e,{id:r,data:l,type:o,xPos:u,yPos:c,selected:_,isConnectable:M,sourcePosition:V,targetPosition:Z,dragging:mt,dragHandle:ke,zIndex:Te})))};return t.displayName="NodeWrapper",p.memo(t)};const rk=e=>{const t=e.getNodes().filter(r=>r.selected);return{...lf(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function sk({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const o=Jr(),{width:l,height:u,x:c,y:f,transformString:m,userSelectionActive:_}=or(rk,us),g=jy(),x=p.useRef(null);if(p.useEffect(()=>{var j;r||(j=x.current)==null||j.focus({preventScroll:!0})},[r]),Sy({nodeRef:x}),_||!l||!u)return null;const v=e?j=>{const b=o.getState().getNodes().filter(T=>T.selected);e(j,b)}:void 0,w=j=>{Object.prototype.hasOwnProperty.call(Hc,j.key)&&g({x:Hc[j.key].x,y:Hc[j.key].y,isShiftPressed:j.shiftKey})};return Se.createElement("div",{className:vs(["react-flow__nodesselection","react-flow__container",t]),style:{transform:m}},Se.createElement("div",{ref:x,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:r?void 0:-1,onKeyDown:r?void 0:w,style:{width:l,height:u,top:f,left:c}}))}var ik=p.memo(sk);const ok=e=>e.nodesSelectionActive,ky=({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:l,onPaneContextMenu:u,onPaneScroll:c,deleteKeyCode:f,onMove:m,onMoveStart:_,onMoveEnd:g,selectionKeyCode:x,selectionOnDrag:v,selectionMode:w,onSelectionStart:j,onSelectionEnd:b,multiSelectionKeyCode:T,panActivationKeyCode:A,zoomActivationKeyCode:W,elementsSelectable:H,zoomOnScroll:M,zoomOnPinch:G,panOnScroll:te,panOnScrollSpeed:V,panOnScrollMode:Z,zoomOnDoubleClick:ge,panOnDrag:xe,defaultViewport:ke,translateExtent:Te,minZoom:oe,maxZoom:I,preventScrolling:se,onSelectionContextMenu:Q,noWheelClassName:ce,noPanClassName:R,disableKeyboardA11y:L})=>{const O=or(ok),$=Du(x),D=Du(A),ne=D||xe,ae=D||te,ve=$||v&&ne!==!0;return Hj({deleteKeyCode:f,multiSelectionKeyCode:T}),Se.createElement(Yj,{onMove:m,onMoveStart:_,onMoveEnd:g,onPaneContextMenu:u,elementsSelectable:H,zoomOnScroll:M,zoomOnPinch:G,panOnScroll:ae,panOnScrollSpeed:V,panOnScrollMode:Z,zoomOnDoubleClick:ge,panOnDrag:!$&&ne,defaultViewport:ke,translateExtent:Te,minZoom:oe,maxZoom:I,zoomActivationKeyCode:W,preventScrolling:se,noWheelClassName:ce,noPanClassName:R},Se.createElement(vy,{onSelectionStart:j,onSelectionEnd:b,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:l,onPaneContextMenu:u,onPaneScroll:c,panOnDrag:ne,isSelecting:!!ve,selectionMode:w},e,O&&Se.createElement(ik,{onSelectionContextMenu:Q,noPanClassName:R,disableKeyboardA11y:L})))};ky.displayName="FlowRenderer";var ak=p.memo(ky);function lk(e){return or(p.useCallback(r=>e?ny(r.nodeInternals,{x:0,y:0,width:r.width,height:r.height},r.transform,!0):r.getNodes(),[e]))}function ck(e){const t={input:ju(e.input||dy),default:ju(e.default||Bm),output:ju(e.output||my),group:ju(e.group||fh)},r={},o=Object.keys(e).filter(l=>!["input","default","output","group"].includes(l)).reduce((l,u)=>(l[u]=ju(e[u]||Bm),l),r);return{...t,...o}}const uk=({x:e,y:t,width:r,height:o,origin:l})=>!r||!o?{x:e,y:t}:l[0]<0||l[1]<0||l[0]>1||l[1]>1?{x:e,y:t}:{x:e-r*l[0],y:t-o*l[1]},dk=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Ny=e=>{const{nodesDraggable:t,nodesConnectable:r,nodesFocusable:o,elementsSelectable:l,updateNodeDimensions:u,onError:c}=or(dk,us),f=lk(e.onlyRenderVisibleElements),m=p.useRef(),_=p.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const g=new ResizeObserver(x=>{const v=x.map(w=>({id:w.target.getAttribute("data-id"),nodeElement:w.target,forceUpdate:!0}));u(v)});return m.current=g,g},[]);return p.useEffect(()=>()=>{var g;(g=m==null?void 0:m.current)==null||g.disconnect()},[]),Se.createElement("div",{className:"react-flow__nodes",style:hh},f.map(g=>{var G,te,V;let x=g.type||"default";e.nodeTypes[x]||(c==null||c("003",za.error003(x)),x="default");const v=e.nodeTypes[x]||e.nodeTypes.default,w=!!(g.draggable||t&&typeof g.draggable>"u"),j=!!(g.selectable||l&&typeof g.selectable>"u"),b=!!(g.connectable||r&&typeof g.connectable>"u"),T=!!(g.focusable||o&&typeof g.focusable>"u"),A=e.nodeExtent?oh(g.positionAbsolute,e.nodeExtent):g.positionAbsolute,W=(A==null?void 0:A.x)??0,H=(A==null?void 0:A.y)??0,M=uk({x:W,y:H,width:g.width??0,height:g.height??0,origin:e.nodeOrigin});return Se.createElement(v,{key:g.id,id:g.id,className:g.className,style:g.style,type:x,data:g.data,sourcePosition:g.sourcePosition||zt.Bottom,targetPosition:g.targetPosition||zt.Top,hidden:g.hidden,xPos:W,yPos:H,xPosOrigin:M.x,yPosOrigin:M.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!g.selected,isDraggable:w,isSelectable:j,isConnectable:b,isFocusable:T,resizeObserver:_,dragHandle:g.dragHandle,zIndex:((G=g[Wr])==null?void 0:G.z)??0,isParent:!!((te=g[Wr])!=null&&te.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!g.width&&!!g.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:g.ariaLabel,hasHandleBounds:!!((V=g[Wr])!=null&&V.handleBounds)})}))};Ny.displayName="NodeRenderer";var fk=p.memo(Ny);const mk=(e,t,r)=>r===zt.Left?e-t:r===zt.Right?e+t:e,hk=(e,t,r)=>r===zt.Top?e-t:r===zt.Bottom?e+t:e,vg="react-flow__edgeupdater",wg=({position:e,centerX:t,centerY:r,radius:o=10,onMouseDown:l,onMouseEnter:u,onMouseOut:c,type:f})=>Se.createElement("circle",{onMouseDown:l,onMouseEnter:u,onMouseOut:c,className:vs([vg,`${vg}-${f}`]),cx:mk(t,o,e),cy:hk(r,o,e),r:o,stroke:"transparent",fill:"transparent"}),pk=()=>!0;var Lc=e=>{const t=({id:r,className:o,type:l,data:u,onClick:c,onEdgeDoubleClick:f,selected:m,animated:_,label:g,labelStyle:x,labelShowBg:v,labelBgStyle:w,labelBgPadding:j,labelBgBorderRadius:b,style:T,source:A,target:W,sourceX:H,sourceY:M,targetX:G,targetY:te,sourcePosition:V,targetPosition:Z,elementsSelectable:ge,hidden:xe,sourceHandleId:ke,targetHandleId:Te,onContextMenu:oe,onMouseEnter:I,onMouseMove:se,onMouseLeave:Q,edgeUpdaterRadius:ce,onEdgeUpdate:R,onEdgeUpdateStart:L,onEdgeUpdateEnd:O,markerEnd:$,markerStart:D,rfId:ne,ariaLabel:ae,isFocusable:ve,isUpdatable:$e,pathOptions:ue,interactionWidth:he})=>{const Fe=p.useRef(null),[K,Me]=p.useState(!1),[Ne,Ye]=p.useState(!1),Le=Jr(),mt=p.useMemo(()=>`url('#${Fm(D,ne)}')`,[D,ne]),gt=p.useMemo(()=>`url('#${Fm($,ne)}')`,[$,ne]);if(xe)return null;const ze=Yt=>{var Tn;const{edges:Xt,addSelectedEdges:pn,unselectNodesAndEdges:fn,multiSelectionActive:Vn}=Le.getState(),Dn=Xt.find(ar=>ar.id===r);Dn&&(ge&&(Le.setState({nodesSelectionActive:!1}),Dn.selected&&Vn?(fn({nodes:[],edges:[Dn]}),(Tn=Fe.current)==null||Tn.blur()):pn([r])),c&&c(Yt,Dn))},Ae=bu(r,Le.getState,f),Ct=bu(r,Le.getState,oe),kt=bu(r,Le.getState,I),Ot=bu(r,Le.getState,se),lt=bu(r,Le.getState,Q),me=(Yt,Xt)=>{if(Yt.button!==0)return;const{edges:pn,isValidConnection:fn}=Le.getState(),Vn=Xt?W:A,Dn=(Xt?Te:ke)||null,Tn=Xt?"target":"source",ar=fn||pk,er=Xt,In=pn.find(qe=>qe.id===r);Ye(!0),L==null||L(Yt,In,Tn);const de=qe=>{Ye(!1),O==null||O(qe,In,Tn)};ay({event:Yt,handleId:Dn,nodeId:Vn,onConnect:qe=>R==null?void 0:R(In,qe),isTarget:er,getState:Le.getState,setState:Le.setState,isValidConnection:ar,edgeUpdaterType:Tn,onEdgeUpdateEnd:de})},tn=Yt=>me(Yt,!0),we=Yt=>me(Yt,!1),Xe=()=>Me(!0),Ke=()=>Me(!1),St=!ge&&!c,$n=Yt=>{var Xt;if(X_.includes(Yt.key)&&ge){const{unselectNodesAndEdges:pn,addSelectedEdges:fn,edges:Vn}=Le.getState();Yt.key==="Escape"?((Xt=Fe.current)==null||Xt.blur(),pn({edges:[Vn.find(Tn=>Tn.id===r)]})):fn([r])}};return Se.createElement("g",{className:vs(["react-flow__edge",`react-flow__edge-${l}`,o,{selected:m,animated:_,inactive:St,updating:K}]),onClick:ze,onDoubleClick:Ae,onContextMenu:Ct,onMouseEnter:kt,onMouseMove:Ot,onMouseLeave:lt,onKeyDown:ve?$n:void 0,tabIndex:ve?0:void 0,role:ve?"button":"img","data-testid":`rf__edge-${r}`,"aria-label":ae===null?void 0:ae||`Edge from ${A} to ${W}`,"aria-describedby":ve?`${gy}-${ne}`:void 0,ref:Fe},!Ne&&Se.createElement(e,{id:r,source:A,target:W,selected:m,animated:_,label:g,labelStyle:x,labelShowBg:v,labelBgStyle:w,labelBgPadding:j,labelBgBorderRadius:b,data:u,style:T,sourceX:H,sourceY:M,targetX:G,targetY:te,sourcePosition:V,targetPosition:Z,sourceHandleId:ke,targetHandleId:Te,markerStart:mt,markerEnd:gt,pathOptions:ue,interactionWidth:he}),$e&&Se.createElement(Se.Fragment,null,($e==="source"||$e===!0)&&Se.createElement(wg,{position:V,centerX:H,centerY:M,radius:ce,onMouseDown:tn,onMouseEnter:Xe,onMouseOut:Ke,type:"source"}),($e==="target"||$e===!0)&&Se.createElement(wg,{position:Z,centerX:G,centerY:te,radius:ce,onMouseDown:we,onMouseEnter:Xe,onMouseOut:Ke,type:"target"})))};return t.displayName="EdgeWrapper",p.memo(t)};function gk(e){const t={default:Lc(e.default||Xd),straight:Lc(e.bezier||ch),step:Lc(e.step||lh),smoothstep:Lc(e.step||af),simplebezier:Lc(e.simplebezier||ah)},r={},o=Object.keys(e).filter(l=>!["default","bezier"].includes(l)).reduce((l,u)=>(l[u]=Lc(e[u]||Xd),l),r);return{...t,...o}}function bg(e,t,r=null){const o=((r==null?void 0:r.x)||0)+t.x,l=((r==null?void 0:r.y)||0)+t.y,u=(r==null?void 0:r.width)||t.width,c=(r==null?void 0:r.height)||t.height;switch(e){case zt.Top:return{x:o+u/2,y:l};case zt.Right:return{x:o+u,y:l+c/2};case zt.Bottom:return{x:o+u/2,y:l+c};case zt.Left:return{x:o,y:l+c/2}}}function Sg(e,t){return e?e.length===1||!t?e[0]:t&&e.find(r=>r.id===t)||null:null}const _k=(e,t,r,o,l,u)=>{const c=bg(r,e,t),f=bg(u,o,l);return{sourceX:c.x,sourceY:c.y,targetX:f.x,targetY:f.y}};function yk({sourcePos:e,targetPos:t,sourceWidth:r,sourceHeight:o,targetWidth:l,targetHeight:u,width:c,height:f,transform:m}){const _={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+r,t.x+l),y2:Math.max(e.y+o,t.y+u)};_.x===_.x2&&(_.x2+=1),_.y===_.y2&&(_.y2+=1);const g=Iu({x:(0-m[0])/m[2],y:(0-m[1])/m[2],width:c/m[2],height:f/m[2]}),x=Math.max(0,Math.min(g.x2,_.x2)-Math.max(g.x,_.x)),v=Math.max(0,Math.min(g.y2,_.y2)-Math.max(g.y,_.y));return Math.ceil(x*v)>0}function jg(e){var o,l,u,c,f;const t=((o=e==null?void 0:e[Wr])==null?void 0:o.handleBounds)||null,r=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.x)<"u"&&typeof((u=e==null?void 0:e.positionAbsolute)==null?void 0:u.y)<"u";return[{x:((c=e==null?void 0:e.positionAbsolute)==null?void 0:c.x)||0,y:((f=e==null?void 0:e.positionAbsolute)==null?void 0:f.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!r]}const xk=[{level:0,isMaxLevel:!0,edges:[]}];function vk(e,t,r=!1){let o=-1;const l=e.reduce((c,f)=>{var g,x;const m=no(f.zIndex);let _=m?f.zIndex:0;if(r){const v=t.get(f.target),w=t.get(f.source),j=f.selected||(v==null?void 0:v.selected)||(w==null?void 0:w.selected),b=Math.max(((g=w==null?void 0:w[Wr])==null?void 0:g.z)||0,((x=v==null?void 0:v[Wr])==null?void 0:x.z)||0,1e3);_=(m?f.zIndex:0)+(j?b:0)}return c[_]?c[_].push(f):c[_]=[f],o=_>o?_:o,c},{}),u=Object.entries(l).map(([c,f])=>{const m=+c;return{edges:f,level:m,isMaxLevel:m===o}});return u.length===0?xk:u}function wk(e,t,r){const o=or(p.useCallback(l=>e?l.edges.filter(u=>{const c=t.get(u.source),f=t.get(u.target);return(c==null?void 0:c.width)&&(c==null?void 0:c.height)&&(f==null?void 0:f.width)&&(f==null?void 0:f.height)&&yk({sourcePos:c.positionAbsolute||{x:0,y:0},targetPos:f.positionAbsolute||{x:0,y:0},sourceWidth:c.width,sourceHeight:c.height,targetWidth:f.width,targetHeight:f.height,width:l.width,height:l.height,transform:l.transform})}):l.edges,[e,t]));return vk(o,t,r)}const bk=({color:e="none",strokeWidth:t=1})=>Se.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),Sk=({color:e="none",strokeWidth:t=1})=>Se.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),kg={[Fu.Arrow]:bk,[Fu.ArrowClosed]:Sk};function jk(e){const t=Jr();return p.useMemo(()=>{var l,u;return Object.prototype.hasOwnProperty.call(kg,e)?kg[e]:((u=(l=t.getState()).onError)==null||u.call(l,"009",za.error009(e)),null)},[e])}const kk=({id:e,type:t,color:r,width:o=12.5,height:l=12.5,markerUnits:u="strokeWidth",strokeWidth:c,orient:f="auto-start-reverse"})=>{const m=jk(t);return m?Se.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${l}`,viewBox:"-10 -10 20 20",markerUnits:u,orient:f,refX:"0",refY:"0"},Se.createElement(m,{color:r,strokeWidth:c})):null},Nk=({defaultColor:e,rfId:t})=>r=>{const o=[];return r.edges.reduce((l,u)=>([u.markerStart,u.markerEnd].forEach(c=>{if(c&&typeof c=="object"){const f=Fm(c,t);o.includes(f)||(l.push({id:f,color:c.color||e,...c}),o.push(f))}}),l),[]).sort((l,u)=>l.id.localeCompare(u.id))},Cy=({defaultColor:e,rfId:t})=>{const r=or(p.useCallback(Nk({defaultColor:e,rfId:t}),[e,t]),(o,l)=>!(o.length!==l.length||o.some((u,c)=>u.id!==l[c].id)));return Se.createElement("defs",null,r.map(o=>Se.createElement(kk,{id:o.id,key:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient})))};Cy.displayName="MarkerDefinitions";var Ck=p.memo(Cy);const Ek=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),Ey=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:r,rfId:o,edgeTypes:l,noPanClassName:u,onEdgeUpdate:c,onEdgeContextMenu:f,onEdgeMouseEnter:m,onEdgeMouseMove:_,onEdgeMouseLeave:g,onEdgeClick:x,edgeUpdaterRadius:v,onEdgeDoubleClick:w,onEdgeUpdateStart:j,onEdgeUpdateEnd:b,children:T})=>{const{edgesFocusable:A,edgesUpdatable:W,elementsSelectable:H,width:M,height:G,connectionMode:te,nodeInternals:V,onError:Z}=or(Ek,us),ge=wk(t,V,r);return M?Se.createElement(Se.Fragment,null,ge.map(({level:xe,edges:ke,isMaxLevel:Te})=>Se.createElement("svg",{key:xe,style:{zIndex:xe},width:M,height:G,className:"react-flow__edges react-flow__container"},Te&&Se.createElement(Ck,{defaultColor:e,rfId:o}),Se.createElement("g",null,ke.map(oe=>{const[I,se,Q]=jg(V.get(oe.source)),[ce,R,L]=jg(V.get(oe.target));if(!Q||!L)return null;let O=oe.type||"default";l[O]||(Z==null||Z("011",za.error011(O)),O="default");const $=l[O]||l.default,D=te===Kl.Strict?R.target:(R.target??[]).concat(R.source??[]),ne=Sg(se.source,oe.sourceHandle),ae=Sg(D,oe.targetHandle),ve=(ne==null?void 0:ne.position)||zt.Bottom,$e=(ae==null?void 0:ae.position)||zt.Top,ue=!!(oe.focusable||A&&typeof oe.focusable>"u"),he=typeof c<"u"&&(oe.updatable||W&&typeof oe.updatable>"u");if(!ne||!ae)return Z==null||Z("008",za.error008(ne,oe)),null;const{sourceX:Fe,sourceY:K,targetX:Me,targetY:Ne}=_k(I,ne,ve,ce,ae,$e);return Se.createElement($,{key:oe.id,id:oe.id,className:vs([oe.className,u]),type:O,data:oe.data,selected:!!oe.selected,animated:!!oe.animated,hidden:!!oe.hidden,label:oe.label,labelStyle:oe.labelStyle,labelShowBg:oe.labelShowBg,labelBgStyle:oe.labelBgStyle,labelBgPadding:oe.labelBgPadding,labelBgBorderRadius:oe.labelBgBorderRadius,style:oe.style,source:oe.source,target:oe.target,sourceHandleId:oe.sourceHandle,targetHandleId:oe.targetHandle,markerEnd:oe.markerEnd,markerStart:oe.markerStart,sourceX:Fe,sourceY:K,targetX:Me,targetY:Ne,sourcePosition:ve,targetPosition:$e,elementsSelectable:H,onEdgeUpdate:c,onContextMenu:f,onMouseEnter:m,onMouseMove:_,onMouseLeave:g,onClick:x,edgeUpdaterRadius:v,onEdgeDoubleClick:w,onEdgeUpdateStart:j,onEdgeUpdateEnd:b,rfId:o,ariaLabel:oe.ariaLabel,isFocusable:ue,isUpdatable:he,pathOptions:"pathOptions"in oe?oe.pathOptions:void 0,interactionWidth:oe.interactionWidth})})))),T):null};Ey.displayName="EdgeRenderer";var $k=p.memo(Ey);const Tk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Mk({children:e}){const t=or(Tk);return Se.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}function Ak(e){const t=mh(),r=p.useRef(!1);p.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const zk={[zt.Left]:zt.Right,[zt.Right]:zt.Left,[zt.Top]:zt.Bottom,[zt.Bottom]:zt.Top},$y=({nodeId:e,handleType:t,style:r,type:o=ml.Bezier,CustomComponent:l,connectionStatus:u})=>{var te,V,Z;const{fromNode:c,handleId:f,toX:m,toY:_,connectionMode:g}=or(p.useCallback(ge=>({fromNode:ge.nodeInternals.get(e),handleId:ge.connectionHandleId,toX:(ge.connectionPosition.x-ge.transform[0])/ge.transform[2],toY:(ge.connectionPosition.y-ge.transform[1])/ge.transform[2],connectionMode:ge.connectionMode}),[e]),us),x=(te=c==null?void 0:c[Wr])==null?void 0:te.handleBounds;let v=x==null?void 0:x[t];if(g===Kl.Loose&&(v=v||(x==null?void 0:x[t==="source"?"target":"source"])),!c||!v)return null;const w=f?v.find(ge=>ge.id===f):v[0],j=w?w.x+w.width/2:(c.width??0)/2,b=w?w.y+w.height/2:c.height??0,T=(((V=c.positionAbsolute)==null?void 0:V.x)??0)+j,A=(((Z=c.positionAbsolute)==null?void 0:Z.y)??0)+b,W=w==null?void 0:w.position,H=W?zk[W]:null;if(!W||!H)return null;if(l)return Se.createElement(l,{connectionLineType:o,connectionLineStyle:r,fromNode:c,fromHandle:w,fromX:T,fromY:A,toX:m,toY:_,fromPosition:W,toPosition:H,connectionStatus:u});let M="";const G={sourceX:T,sourceY:A,sourcePosition:W,targetX:m,targetY:_,targetPosition:H};return o===ml.Bezier?[M]=ey(G):o===ml.Step?[M]=Om({...G,borderRadius:0}):o===ml.SmoothStep?[M]=Om(G):o===ml.SimpleBezier?[M]=Z_(G):M=`M${T},${A} ${m},${_}`,Se.createElement("path",{d:M,fill:"none",className:"react-flow__connection-path",style:r})};$y.displayName="ConnectionLine";const Rk=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function Lk({containerStyle:e,style:t,type:r,component:o}){const{nodeId:l,handleType:u,nodesConnectable:c,width:f,height:m,connectionStatus:_}=or(Rk,us);return!(l&&u&&f&&c)?null:Se.createElement("svg",{style:e,width:f,height:m,className:"react-flow__edges react-flow__connectionline react-flow__container"},Se.createElement("g",{className:vs(["react-flow__connection",_])},Se.createElement($y,{nodeId:l,handleType:u,style:t,type:r,CustomComponent:o,connectionStatus:_})))}function Ng(e,t){return p.useRef(null),Jr(),p.useMemo(()=>t(e),[e])}const Ty=({nodeTypes:e,edgeTypes:t,onMove:r,onMoveStart:o,onMoveEnd:l,onInit:u,onNodeClick:c,onEdgeClick:f,onNodeDoubleClick:m,onEdgeDoubleClick:_,onNodeMouseEnter:g,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:w,onSelectionContextMenu:j,onSelectionStart:b,onSelectionEnd:T,connectionLineType:A,connectionLineStyle:W,connectionLineComponent:H,connectionLineContainerStyle:M,selectionKeyCode:G,selectionOnDrag:te,selectionMode:V,multiSelectionKeyCode:Z,panActivationKeyCode:ge,zoomActivationKeyCode:xe,deleteKeyCode:ke,onlyRenderVisibleElements:Te,elementsSelectable:oe,selectNodesOnDrag:I,defaultViewport:se,translateExtent:Q,minZoom:ce,maxZoom:R,preventScrolling:L,defaultMarkerColor:O,zoomOnScroll:$,zoomOnPinch:D,panOnScroll:ne,panOnScrollSpeed:ae,panOnScrollMode:ve,zoomOnDoubleClick:$e,panOnDrag:ue,onPaneClick:he,onPaneMouseEnter:Fe,onPaneMouseMove:K,onPaneMouseLeave:Me,onPaneScroll:Ne,onPaneContextMenu:Ye,onEdgeUpdate:Le,onEdgeContextMenu:mt,onEdgeMouseEnter:gt,onEdgeMouseMove:ze,onEdgeMouseLeave:Ae,edgeUpdaterRadius:Ct,onEdgeUpdateStart:kt,onEdgeUpdateEnd:Ot,noDragClassName:lt,noWheelClassName:me,noPanClassName:tn,elevateEdgesOnSelect:we,disableKeyboardA11y:Xe,nodeOrigin:Ke,nodeExtent:St,rfId:$n})=>{const Yt=Ng(e,ck),Xt=Ng(t,gk);return Ak(u),Se.createElement(ak,{onPaneClick:he,onPaneMouseEnter:Fe,onPaneMouseMove:K,onPaneMouseLeave:Me,onPaneContextMenu:Ye,onPaneScroll:Ne,deleteKeyCode:ke,selectionKeyCode:G,selectionOnDrag:te,selectionMode:V,onSelectionStart:b,onSelectionEnd:T,multiSelectionKeyCode:Z,panActivationKeyCode:ge,zoomActivationKeyCode:xe,elementsSelectable:oe,onMove:r,onMoveStart:o,onMoveEnd:l,zoomOnScroll:$,zoomOnPinch:D,zoomOnDoubleClick:$e,panOnScroll:ne,panOnScrollSpeed:ae,panOnScrollMode:ve,panOnDrag:ue,defaultViewport:se,translateExtent:Q,minZoom:ce,maxZoom:R,onSelectionContextMenu:j,preventScrolling:L,noDragClassName:lt,noWheelClassName:me,noPanClassName:tn,disableKeyboardA11y:Xe},Se.createElement(Mk,null,Se.createElement($k,{edgeTypes:Xt,onEdgeClick:f,onEdgeDoubleClick:_,onEdgeUpdate:Le,onlyRenderVisibleElements:Te,onEdgeContextMenu:mt,onEdgeMouseEnter:gt,onEdgeMouseMove:ze,onEdgeMouseLeave:Ae,onEdgeUpdateStart:kt,onEdgeUpdateEnd:Ot,edgeUpdaterRadius:Ct,defaultMarkerColor:O,noPanClassName:tn,elevateEdgesOnSelect:!!we,disableKeyboardA11y:Xe,rfId:$n},Se.createElement(Lk,{style:W,type:A,component:H,containerStyle:M})),Se.createElement("div",{className:"react-flow__edgelabel-renderer"}),Se.createElement(fk,{nodeTypes:Yt,onNodeClick:c,onNodeDoubleClick:m,onNodeMouseEnter:g,onNodeMouseMove:x,onNodeMouseLeave:v,onNodeContextMenu:w,selectNodesOnDrag:I,onlyRenderVisibleElements:Te,noPanClassName:tn,noDragClassName:lt,disableKeyboardA11y:Xe,nodeOrigin:Ke,nodeExtent:St,rfId:$n})))};Ty.displayName="GraphView";var Pk=p.memo(Ty);const Wm=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],al={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Wm,nodeExtent:Wm,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Kl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:cj,isValidConnection:void 0},Ik=()=>jw((e,t)=>({...al,setNodes:r=>{const{nodeInternals:o,nodeOrigin:l,elevateNodesOnSelect:u}=t();e({nodeInternals:um(r,o,l,u)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:r=>{const{defaultEdgeOptions:o={}}=t();e({edges:r.map(l=>({...o,...l}))})},setDefaultNodesAndEdges:(r,o)=>{const l=typeof r<"u",u=typeof o<"u",c=l?um(r,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:c,edges:u?o:[],hasDefaultNodes:l,hasDefaultEdges:u})},updateNodeDimensions:r=>{const{onNodesChange:o,nodeInternals:l,fitViewOnInit:u,fitViewOnInitDone:c,fitViewOnInitOptions:f,domNode:m,nodeOrigin:_}=t(),g=m==null?void 0:m.querySelector(".react-flow__viewport");if(!g)return;const x=window.getComputedStyle(g),{m22:v}=new window.DOMMatrixReadOnly(x.transform),w=r.reduce((b,T)=>{const A=l.get(T.id);if(A){const W=ih(T.nodeElement);!!(W.width&&W.height&&(A.width!==W.width||A.height!==W.height||T.forceUpdate))&&(l.set(A.id,{...A,[Wr]:{...A[Wr],handleBounds:{source:xg(".source",T.nodeElement,v,_),target:xg(".target",T.nodeElement,v,_)}},...W}),b.push({id:A.id,type:"dimensions",dimensions:W}))}return b},[]);yy(l,_);const j=c||u&&!c&&xy(t,{initial:!0,...f});e({nodeInternals:new Map(l),fitViewOnInitDone:j}),(w==null?void 0:w.length)>0&&(o==null||o(w))},updateNodePositions:(r,o=!0,l=!1)=>{const{triggerNodeChanges:u}=t(),c=r.map(f=>{const m={id:f.id,type:"position",dragging:l};return o&&(m.positionAbsolute=f.positionAbsolute,m.position=f.position),m});u(c)},triggerNodeChanges:r=>{const{onNodesChange:o,nodeInternals:l,hasDefaultNodes:u,nodeOrigin:c,getNodes:f,elevateNodesOnSelect:m}=t();if(r!=null&&r.length){if(u){const _=Qj(r,f()),g=um(_,l,c,m);e({nodeInternals:g})}o==null||o(r)}},addSelectedNodes:r=>{const{multiSelectionActive:o,edges:l,getNodes:u}=t();let c,f=null;o?c=r.map(m=>fl(m,!0)):(c=Bc(u(),r),f=Bc(l,[])),Cd({changedNodes:c,changedEdges:f,get:t,set:e})},addSelectedEdges:r=>{const{multiSelectionActive:o,edges:l,getNodes:u}=t();let c,f=null;o?c=r.map(m=>fl(m,!0)):(c=Bc(l,r),f=Bc(u(),[])),Cd({changedNodes:f,changedEdges:c,get:t,set:e})},unselectNodesAndEdges:({nodes:r,edges:o}={})=>{const{edges:l,getNodes:u}=t(),c=r||u(),f=o||l,m=c.map(g=>(g.selected=!1,fl(g.id,!1))),_=f.map(g=>fl(g.id,!1));Cd({changedNodes:m,changedEdges:_,get:t,set:e})},setMinZoom:r=>{const{d3Zoom:o,maxZoom:l}=t();o==null||o.scaleExtent([r,l]),e({minZoom:r})},setMaxZoom:r=>{const{d3Zoom:o,minZoom:l}=t();o==null||o.scaleExtent([l,r]),e({maxZoom:r})},setTranslateExtent:r=>{var o;(o=t().d3Zoom)==null||o.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{const{edges:r,getNodes:o}=t(),u=o().filter(f=>f.selected).map(f=>fl(f.id,!1)),c=r.filter(f=>f.selected).map(f=>fl(f.id,!1));Cd({changedNodes:u,changedEdges:c,get:t,set:e})},setNodeExtent:r=>{const{nodeInternals:o}=t();o.forEach(l=>{l.positionAbsolute=oh(l.position,r)}),e({nodeExtent:r,nodeInternals:new Map(o)})},panBy:r=>{const{transform:o,width:l,height:u,d3Zoom:c,d3Selection:f,translateExtent:m}=t();if(!c||!f||!r.x&&!r.y)return!1;const _=Ma.translate(o[0]+r.x,o[1]+r.y).scale(o[2]),g=[[0,0],[l,u]],x=c==null?void 0:c.constrain()(_,g,m);return c.transform(f,x),o[0]!==x.x||o[1]!==x.y||o[2]!==x.k},cancelConnection:()=>e({connectionNodeId:al.connectionNodeId,connectionHandleId:al.connectionHandleId,connectionHandleType:al.connectionHandleType,connectionStatus:al.connectionStatus,connectionStartHandle:al.connectionStartHandle,connectionEndHandle:al.connectionEndHandle}),reset:()=>e({...al})}),Object.is),ph=({children:e})=>{const t=p.useRef(null);return t.current||(t.current=Ik()),Se.createElement(nj,{value:t.current},e)};ph.displayName="ReactFlowProvider";const My=({children:e})=>p.useContext(sf)?Se.createElement(Se.Fragment,null,e):Se.createElement(ph,null,e);My.displayName="ReactFlowWrapper";const Ok={input:dy,default:Bm,output:my,group:fh},Fk={default:Xd,straight:ch,step:lh,smoothstep:af,simplebezier:ah},Dk=[0,0],Bk=[15,15],Uk={x:0,y:0,zoom:1},Wk={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Ay=p.forwardRef(({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,className:l,nodeTypes:u=Ok,edgeTypes:c=Fk,onNodeClick:f,onEdgeClick:m,onInit:_,onMove:g,onMoveStart:x,onMoveEnd:v,onConnect:w,onConnectStart:j,onConnectEnd:b,onClickConnectStart:T,onClickConnectEnd:A,onNodeMouseEnter:W,onNodeMouseMove:H,onNodeMouseLeave:M,onNodeContextMenu:G,onNodeDoubleClick:te,onNodeDragStart:V,onNodeDrag:Z,onNodeDragStop:ge,onNodesDelete:xe,onEdgesDelete:ke,onSelectionChange:Te,onSelectionDragStart:oe,onSelectionDrag:I,onSelectionDragStop:se,onSelectionContextMenu:Q,onSelectionStart:ce,onSelectionEnd:R,connectionMode:L=Kl.Strict,connectionLineType:O=ml.Bezier,connectionLineStyle:$,connectionLineComponent:D,connectionLineContainerStyle:ne,deleteKeyCode:ae="Backspace",selectionKeyCode:ve="Shift",selectionOnDrag:$e=!1,selectionMode:ue=Ou.Full,panActivationKeyCode:he="Space",multiSelectionKeyCode:Fe=Yd()?"Meta":"Control",zoomActivationKeyCode:K=Yd()?"Meta":"Control",snapToGrid:Me=!1,snapGrid:Ne=Bk,onlyRenderVisibleElements:Ye=!1,selectNodesOnDrag:Le=!0,nodesDraggable:mt,nodesConnectable:gt,nodesFocusable:ze,nodeOrigin:Ae=Dk,edgesFocusable:Ct,edgesUpdatable:kt,elementsSelectable:Ot,defaultViewport:lt=Uk,minZoom:me=.5,maxZoom:tn=2,translateExtent:we=Wm,preventScrolling:Xe=!0,nodeExtent:Ke,defaultMarkerColor:St="#b1b1b7",zoomOnScroll:$n=!0,zoomOnPinch:Yt=!0,panOnScroll:Xt=!1,panOnScrollSpeed:pn=.5,panOnScrollMode:fn=Vl.Free,zoomOnDoubleClick:Vn=!0,panOnDrag:Dn=!0,onPaneClick:Tn,onPaneMouseEnter:ar,onPaneMouseMove:er,onPaneMouseLeave:In,onPaneScroll:de,onPaneContextMenu:je,children:qe,onEdgeUpdate:ot,onEdgeContextMenu:ft,onEdgeDoubleClick:Nt,onEdgeMouseEnter:Mt,onEdgeMouseMove:Ft,onEdgeMouseLeave:nn,onEdgeUpdateStart:Rt,onEdgeUpdateEnd:Qt,edgeUpdaterRadius:ln=10,onNodesChange:Bt,onEdgesChange:gn,noDragClassName:Kt="nodrag",noWheelClassName:st="nowheel",noPanClassName:rn="nopan",fitView:tr=!1,fitViewOptions:xn,connectOnClick:kn=!0,attributionPosition:On,proOptions:Bn,defaultEdgeOptions:Un,elevateNodesOnSelect:xr=!0,elevateEdgesOnSelect:dr=!1,disableKeyboardA11y:Rr=!1,autoPanOnConnect:ds=!0,autoPanOnNodeDrag:ht=!0,connectionRadius:Mn=20,isValidConnection:zi,onError:Qr,style:Nn,id:ws,nodeDragThreshold:_i,...As},wn)=>{const lr=ws||"1";return Se.createElement("div",{...As,style:{...Nn,...Wk},ref:wn,className:vs(["react-flow",l]),"data-testid":"rf__wrapper",id:ws},Se.createElement(My,null,Se.createElement(Pk,{onInit:_,onMove:g,onMoveStart:x,onMoveEnd:v,onNodeClick:f,onEdgeClick:m,onNodeMouseEnter:W,onNodeMouseMove:H,onNodeMouseLeave:M,onNodeContextMenu:G,onNodeDoubleClick:te,nodeTypes:u,edgeTypes:c,connectionLineType:O,connectionLineStyle:$,connectionLineComponent:D,connectionLineContainerStyle:ne,selectionKeyCode:ve,selectionOnDrag:$e,selectionMode:ue,deleteKeyCode:ae,multiSelectionKeyCode:Fe,panActivationKeyCode:he,zoomActivationKeyCode:K,onlyRenderVisibleElements:Ye,selectNodesOnDrag:Le,defaultViewport:lt,translateExtent:we,minZoom:me,maxZoom:tn,preventScrolling:Xe,zoomOnScroll:$n,zoomOnPinch:Yt,zoomOnDoubleClick:Vn,panOnScroll:Xt,panOnScrollSpeed:pn,panOnScrollMode:fn,panOnDrag:Dn,onPaneClick:Tn,onPaneMouseEnter:ar,onPaneMouseMove:er,onPaneMouseLeave:In,onPaneScroll:de,onPaneContextMenu:je,onSelectionContextMenu:Q,onSelectionStart:ce,onSelectionEnd:R,onEdgeUpdate:ot,onEdgeContextMenu:ft,onEdgeDoubleClick:Nt,onEdgeMouseEnter:Mt,onEdgeMouseMove:Ft,onEdgeMouseLeave:nn,onEdgeUpdateStart:Rt,onEdgeUpdateEnd:Qt,edgeUpdaterRadius:ln,defaultMarkerColor:St,noDragClassName:Kt,noWheelClassName:st,noPanClassName:rn,elevateEdgesOnSelect:dr,rfId:lr,disableKeyboardA11y:Rr,nodeOrigin:Ae,nodeExtent:Ke}),Se.createElement(Aj,{nodes:e,edges:t,defaultNodes:r,defaultEdges:o,onConnect:w,onConnectStart:j,onConnectEnd:b,onClickConnectStart:T,onClickConnectEnd:A,nodesDraggable:mt,nodesConnectable:gt,nodesFocusable:ze,edgesFocusable:Ct,edgesUpdatable:kt,elementsSelectable:Ot,elevateNodesOnSelect:xr,minZoom:me,maxZoom:tn,nodeExtent:Ke,onNodesChange:Bt,onEdgesChange:gn,snapToGrid:Me,snapGrid:Ne,connectionMode:L,translateExtent:we,connectOnClick:kn,defaultEdgeOptions:Un,fitView:tr,fitViewOptions:xn,onNodesDelete:xe,onEdgesDelete:ke,onNodeDragStart:V,onNodeDrag:Z,onNodeDragStop:ge,onSelectionDrag:I,onSelectionDragStart:oe,onSelectionDragStop:se,noPanClassName:rn,nodeOrigin:Ae,rfId:lr,autoPanOnConnect:ds,autoPanOnNodeDrag:ht,onError:Qr,connectionRadius:Mn,isValidConnection:zi,nodeDragThreshold:_i}),Se.createElement(Tj,{onSelectionChange:Te}),qe,Se.createElement(sj,{proOptions:Bn,position:On}),Se.createElement(Ij,{rfId:lr,disableKeyboardA11y:Rr})))});Ay.displayName="ReactFlow";const zy=({id:e,x:t,y:r,width:o,height:l,style:u,color:c,strokeColor:f,strokeWidth:m,className:_,borderRadius:g,shapeRendering:x,onClick:v,selected:w})=>{const{background:j,backgroundColor:b}=u||{},T=c||j||b;return Se.createElement("rect",{className:vs(["react-flow__minimap-node",{selected:w},_]),x:t,y:r,rx:g,ry:g,width:o,height:l,fill:T,stroke:f,strokeWidth:m,shapeRendering:x,onClick:v?A=>v(A,e):void 0})};zy.displayName="MiniMapNode";var Hk=p.memo(zy);const qk=e=>e.nodeOrigin,Vk=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),hm=e=>e instanceof Function?e:()=>e;function Gk({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:r="",nodeBorderRadius:o=5,nodeStrokeWidth:l=2,nodeComponent:u=Hk,onClick:c}){const f=or(Vk,us),m=or(qk),_=hm(t),g=hm(e),x=hm(r),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return Se.createElement(Se.Fragment,null,f.map(w=>{const{x:j,y:b}=Yl(w,m).positionAbsolute;return Se.createElement(u,{key:w.id,x:j,y:b,width:w.width,height:w.height,style:w.style,selected:w.selected,className:x(w),color:_(w),borderRadius:o,strokeColor:g(w),strokeWidth:l,shapeRendering:v,onClick:c,id:w.id})}))}var Yk=p.memo(Gk);const Xk=200,Kk=150,Jk=e=>{const t=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:t.length>0?aj(lf(t,e.nodeOrigin),r):r,rfId:e.rfId}},Qk="react-flow__minimap-desc";function Ry({style:e,className:t,nodeStrokeColor:r="transparent",nodeColor:o="#e2e2e2",nodeClassName:l="",nodeBorderRadius:u=5,nodeStrokeWidth:c=2,nodeComponent:f,maskColor:m="rgb(240, 240, 240, 0.6)",maskStrokeColor:_="none",maskStrokeWidth:g=1,position:x="bottom-right",onClick:v,onNodeClick:w,pannable:j=!1,zoomable:b=!1,ariaLabel:T="React Flow mini map",inversePan:A=!1,zoomStep:W=10,offsetScale:H=5}){const M=Jr(),G=p.useRef(null),{boundingRect:te,viewBB:V,rfId:Z}=or(Jk,us),ge=(e==null?void 0:e.width)??Xk,xe=(e==null?void 0:e.height)??Kk,ke=te.width/ge,Te=te.height/xe,oe=Math.max(ke,Te),I=oe*ge,se=oe*xe,Q=H*oe,ce=te.x-(I-te.width)/2-Q,R=te.y-(se-te.height)/2-Q,L=I+Q*2,O=se+Q*2,$=`${Qk}-${Z}`,D=p.useRef(0);D.current=oe,p.useEffect(()=>{if(G.current){const ve=to(G.current),$e=Fe=>{const{transform:K,d3Selection:Me,d3Zoom:Ne}=M.getState();if(Fe.sourceEvent.type!=="wheel"||!Me||!Ne)return;const Ye=-Fe.sourceEvent.deltaY*(Fe.sourceEvent.deltaMode===1?.05:Fe.sourceEvent.deltaMode?1:.002)*W,Le=K[2]*Math.pow(2,Ye);Ne.scaleTo(Me,Le)},ue=Fe=>{const{transform:K,d3Selection:Me,d3Zoom:Ne,translateExtent:Ye,width:Le,height:mt}=M.getState();if(Fe.sourceEvent.type!=="mousemove"||!Me||!Ne)return;const gt=D.current*Math.max(1,K[2])*(A?-1:1),ze={x:K[0]-Fe.sourceEvent.movementX*gt,y:K[1]-Fe.sourceEvent.movementY*gt},Ae=[[0,0],[Le,mt]],Ct=Ma.translate(ze.x,ze.y).scale(K[2]),kt=Ne.constrain()(Ct,Ae,Ye);Ne.transform(Me,kt)},he=W_().on("zoom",j?ue:null).on("zoom.wheel",b?$e:null);return ve.call(he),()=>{ve.on("zoom",null)}}},[j,b,A,W]);const ne=v?ve=>{const $e=So(ve);v(ve,{x:$e[0],y:$e[1]})}:void 0,ae=w?(ve,$e)=>{const ue=M.getState().nodeInternals.get($e);w(ve,ue)}:void 0;return Se.createElement(of,{position:x,style:e,className:vs(["react-flow__minimap",t]),"data-testid":"rf__minimap"},Se.createElement("svg",{width:ge,height:xe,viewBox:`${ce} ${R} ${L} ${O}`,role:"img","aria-labelledby":$,ref:G,onClick:ne},T&&Se.createElement("title",{id:$},T),Se.createElement(Yk,{onClick:ae,nodeColor:o,nodeStrokeColor:r,nodeBorderRadius:u,nodeClassName:l,nodeStrokeWidth:c,nodeComponent:f}),Se.createElement("path",{className:"react-flow__minimap-mask",d:`M${ce-Q},${R-Q}h${L+Q*2}v${O+Q*2}h${-L-Q*2}z
|
|
116
|
-
M${V.x},${V.y}h${V.width}v${V.height}h${-V.width}z`,fill:m,fillRule:"evenodd",stroke:_,strokeWidth:g,pointerEvents:"none"})))}Ry.displayName="MiniMap";var Zk=p.memo(Ry);function e1(){return Se.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},Se.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function t1(){return Se.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},Se.createElement("path",{d:"M0 0h32v4.2H0z"}))}function n1(){return Se.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},Se.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function r1(){return Se.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},Se.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function s1(){return Se.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},Se.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Tu=({children:e,className:t,...r})=>Se.createElement("button",{type:"button",className:vs(["react-flow__controls-button",t]),...r},e);Tu.displayName="ControlButton";const i1=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),Ly=({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:o=!0,fitViewOptions:l,onZoomIn:u,onZoomOut:c,onFitView:f,onInteractiveChange:m,className:_,children:g,position:x="bottom-left"})=>{const v=Jr(),[w,j]=p.useState(!1),{isInteractive:b,minZoomReached:T,maxZoomReached:A}=or(i1,us),{zoomIn:W,zoomOut:H,fitView:M}=mh();if(p.useEffect(()=>{j(!0)},[]),!w)return null;const G=()=>{W(),u==null||u()},te=()=>{H(),c==null||c()},V=()=>{M(l),f==null||f()},Z=()=>{v.setState({nodesDraggable:!b,nodesConnectable:!b,elementsSelectable:!b}),m==null||m(!b)};return Se.createElement(of,{className:vs(["react-flow__controls",_]),position:x,style:e,"data-testid":"rf__controls"},t&&Se.createElement(Se.Fragment,null,Se.createElement(Tu,{onClick:G,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:A},Se.createElement(e1,null)),Se.createElement(Tu,{onClick:te,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:T},Se.createElement(t1,null))),r&&Se.createElement(Tu,{className:"react-flow__controls-fitview",onClick:V,title:"fit view","aria-label":"fit view"},Se.createElement(n1,null)),o&&Se.createElement(Tu,{className:"react-flow__controls-interactive",onClick:Z,title:"toggle interactivity","aria-label":"toggle interactivity"},b?Se.createElement(s1,null):Se.createElement(r1,null)),g)};Ly.displayName="Controls";var o1=p.memo(Ly),ko;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ko||(ko={}));function a1({color:e,dimensions:t,lineWidth:r}){return Se.createElement("path",{stroke:e,strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function l1({color:e,radius:t}){return Se.createElement("circle",{cx:t,cy:t,r:t,fill:e})}const c1={[ko.Dots]:"#91919a",[ko.Lines]:"#eee",[ko.Cross]:"#e2e2e2"},u1={[ko.Dots]:1,[ko.Lines]:1,[ko.Cross]:6},d1=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Py({id:e,variant:t=ko.Dots,gap:r=20,size:o,lineWidth:l=1,offset:u=2,color:c,style:f,className:m}){const _=p.useRef(null),{transform:g,patternId:x}=or(d1,us),v=c||c1[t],w=o||u1[t],j=t===ko.Dots,b=t===ko.Cross,T=Array.isArray(r)?r:[r,r],A=[T[0]*g[2]||1,T[1]*g[2]||1],W=w*g[2],H=b?[W,W]:A,M=j?[W/u,W/u]:[H[0]/u,H[1]/u];return Se.createElement("svg",{className:vs(["react-flow__background",m]),style:{...f,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:_,"data-testid":"rf__background"},Se.createElement("pattern",{id:x+e,x:g[0]%A[0],y:g[1]%A[1],width:A[0],height:A[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${M[0]},-${M[1]})`},j?Se.createElement(l1,{color:v,radius:W/u}):Se.createElement(a1,{dimensions:H,color:v,lineWidth:l})),Se.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${x+e})`}))}Py.displayName="Background";var f1=p.memo(Py);function Iy(e,t={}){const r=e&&typeof e=="object"&&!Array.isArray(e)?e:null;if(!r)return null;const o=typeof r.x=="number"&&Number.isFinite(r.x)?r.x:null,l=typeof r.y=="number"&&Number.isFinite(r.y)?r.y:null,u=typeof r.zoom=="number"&&Number.isFinite(r.zoom)?r.zoom:null;if(o===null||l===null||u===null)return null;const c=typeof t.maxAbsTranslate=="number"&&Number.isFinite(t.maxAbsTranslate)?Math.abs(t.maxAbsTranslate):1e6;if(Math.abs(o)>c||Math.abs(l)>c)return null;const f=typeof t.minZoom=="number"&&Number.isFinite(t.minZoom)?t.minZoom:.025,m=typeof t.maxZoom=="number"&&Number.isFinite(t.maxZoom)?t.maxZoom:6,_=Math.min(f,m),g=Math.max(f,m);return{x:o,y:l,zoom:Math.min(g,Math.max(_,u))}}function Jd(e){const t=String(e||"").trim();if(!t)return"";const r=t.indexOf(":");return r!==-1&&r<t.length-1?t.slice(r+1):t}function m1(e){const t=String(e||"").trim();if(!t)return"entity";const r=t.indexOf(":");if(r<=0||r>=t.length-1)return"entity";const o=t.slice(0,r).toLowerCase(),l=t.slice(r+1).toLowerCase();if(o==="ex"){const u=l.indexOf("-"),c=u>0?l.slice(0,u):l;return c==="person"?"person":c==="org"?"org":c==="concept"?"concept":c==="claim"?"claim":c==="event"?"event":c==="doc"?"doc":c==="thing"?"thing":"entity"}return o==="schema"||o==="skos"||o==="dcterms"||o==="rdf"||o==="cito"?"vocab":"entity"}function h1(e){const t=String(e||"").trim();if(!t)return"";const r=t.indexOf(":");if(r<=0||r>=t.length-1)return Jd(t);const o=t.slice(0,r).toLowerCase(),l=t.slice(r+1);if(o==="ex"){const u=l.indexOf("-");if(u>0&&u<l.length-1)return l.slice(u+1)}return Jd(t)}function Hm(e){const o=Math.max(1,Math.ceil(Math.sqrt(e.length))),l={};for(let u=0;u<e.length;u++){const c=Math.floor(u/o),f=u%o;l[e[u]]={x:f*240,y:c*120}}return l}function qm(e){const t=String(e??"");let r=2166136261;for(let o=0;o<t.length;o++)r^=t.charCodeAt(o),r=Math.imul(r,16777619);return r>>>0}function Oy(e){let t=e>>>0;return()=>{t+=1831565813;let r=Math.imul(t^t>>>15,1|t);return r^=r+Math.imul(r^r>>>7,61|r),((r^r>>>14)>>>0)/4294967296}}function p1(e,t){const r={},o=e.length;if(!o)return r;const l=Math.max(260,Math.sqrt(o)*150),u=t%360*Math.PI/180;for(let c=0;c<o;c++){const f=u+2*Math.PI*c/o;r[e[c]]={x:l*Math.cos(f),y:l*Math.sin(f)}}return r}function Cg(e,t,r){var j;const o={};if(!e.length)return o;const l=new Map;for(const b of e)l.set(b,new Set);for(const b of t){const T=String((b==null?void 0:b.source)||"").trim(),A=String((b==null?void 0:b.target)||"").trim();if(!T||!A||T===A)continue;const W=l.get(T),H=l.get(A);W&&W.add(A),H&&H.add(T)}let u=e[0],c=-1;for(const b of e){const T=((j=l.get(b))==null?void 0:j.size)??0;(T>c||T===c&&b.localeCompare(u)<0)&&(u=b,c=T)}const f=new Map,m=[];for(f.set(u,0),m.push(u);m.length;){const b=m.shift(),T=f.get(b)??0,A=Array.from(l.get(b)??[]);A.sort((W,H)=>W.localeCompare(H));for(const W of A)f.has(W)||(f.set(W,T+1),m.push(W))}let _=0;for(const b of f.values())_=Math.max(_,b);for(const b of e)f.has(b)||f.set(b,_+1);const g=new Map;for(const b of e){const T=f.get(b)??0,A=g.get(T);A?A.push(b):g.set(T,[b])}const x=Array.from(g.keys()).sort((b,T)=>b-T),v=260,w=r%360*Math.PI/180;for(const b of x){const T=g.get(b)||[];if(T.sort((M,G)=>M.localeCompare(G)),b===0){if(T.length===1)o[T[0]]={x:0,y:0};else for(let G=0;G<T.length;G++){const te=w+2*Math.PI*G/T.length;o[T[G]]={x:80*Math.cos(te),y:80*Math.sin(te)}}continue}const A=v*b,W=T.length;if(W===1){o[T[0]]={x:A,y:0};continue}const H=w+b*.35;for(let M=0;M<W;M++){const G=H+2*Math.PI*M/W;o[T[M]]={x:A*Math.cos(G),y:A*Math.sin(G)}}}return o}function Dc(e,t={}){const r=t.kind??"grid",o=typeof t.seed=="number"&&Number.isFinite(t.seed)?Math.trunc(t.seed):0,l=e.nodes.map(u=>u.id);if(r==="grid")return Hm(l);if(r==="circle")return p1(l,o);if(r==="radial")return Cg(l,e.edges,o);if(r==="force"){const u=Cg(l,e.edges,o),c=Oy(o||1),f=Math.max(10,Math.min(42,Math.sqrt(l.length)*2.75)),m={};for(const _ of l){const g=u[_]||{x:0,y:0};m[_]={x:g.x+(c()-.5)*f,y:g.y+(c()-.5)*f}}return m}return Hm(l)}function g1(e){return Array.isArray(e)?e.filter(t=>t&&typeof t=="object"&&typeof t.subject=="string"&&typeof t.predicate=="string"&&typeof t.object=="string"):[]}function _1(e,t={}){const r=!!(t.groupEdges??!0),o=Math.max(1,t.maxEdgeLabelPredicates??3),l=g1(e),u=new Set;for(const v of l){const w=String(v.subject||"").trim(),j=String(v.object||"").trim();w&&u.add(w),j&&u.add(j)}const c=Array.from(u);c.sort((v,w)=>v.localeCompare(w));const f=Hm(c),m=c.map(v=>({id:v,type:"default",data:{label:h1(v),kind:m1(v)},position:f[v]||{x:0,y:0}})),_=new Map,g=(v,w)=>{const j=String(v.subject||"").trim(),b=String(v.object||"").trim(),T=String(v.predicate||"").trim();return r?`edge:${j}:${b}`:`edge:${w}:${j}:${T}:${b}`};for(let v=0;v<l.length;v++){const w=l[v],j=g(w,v),b=_.get(j);b?b.push(w):_.set(j,[w])}const x=[];for(const[v,w]of _.entries()){const j=w[0],b=String(j.subject||"").trim(),T=String(j.object||"").trim();if(!b||!T)continue;const A=new Map;for(const V of w){const Z=String(V.predicate||"").trim();Z&&A.set(Z,(A.get(Z)||0)+1)}const W=Array.from(A.entries());W.sort((V,Z)=>Z[1]-V[1]||V[0].localeCompare(Z[0]));const M=W.slice(0,o).map(([V,Z])=>Z>1?`${Jd(V)}×${Z}`:Jd(V)).join(" | "),G=W.length>o?` +${W.length-o}`:"",te=`${M}${G}`.trim();x.push({id:v,source:b,target:T,label:te,animated:!1,data:{assertions:w,predicateSummary:te}})}return{nodes:m,edges:x}}function y1(e,t,r,o={}){const l=o.directed!==!1,u=String(t||"").trim(),c=String(r||"").trim();if(!u||!c)return null;if(u===c)return{nodeIds:[u],edgeIds:[]};const f=new Map,m=(b,T,A)=>{const W=f.get(b);W?W.push({to:T,edgeId:A}):f.set(b,[{to:T,edgeId:A}])};for(const b of e.edges)m(b.source,b.target,b.id),l||m(b.target,b.source,b.id);const _=[u],g=new Map,x=new Map;for(g.set(u,null),x.set(u,null);_.length;){const b=_.shift(),T=f.get(b)||[];for(const A of T)if(!g.has(A.to)){if(g.set(A.to,b),x.set(A.to,A.edgeId),A.to===c){_.length=0;break}_.push(A.to)}}if(!g.has(c))return null;const v=[],w=[];let j=c;for(;j;){v.push(j);const b=x.get(j);b&&w.push(b),j=g.get(j)||null}return v.reverse(),w.reverse(),{nodeIds:v,edgeIds:w}}const Eg={seed:1,dt:1,springLength:240,springStrength:.03,repulsionStrength:9e3,centeringStrength:.003,damping:.85,maxSpeed:90,maxRepulsionNodes:320};function $d(e,t={}){const r={...Eg,...t,seed:typeof t.seed=="number"&&Number.isFinite(t.seed)?Math.trunc(t.seed):Eg.seed},o=e.nodes.map(w=>w.id),l=o.length,u=new Float64Array(2*l),c=new Float64Array(2*l),f=new Float64Array(2*l),m=new Map;for(let w=0;w<l;w++)m.set(o[w],w);const _=t.positions??Dc(e,{kind:"force",seed:r.seed}),g=Oy(r.seed||1),x=Math.max(8,Math.min(38,Math.sqrt(l)*2.25));for(let w=0;w<l;w++){const j=o[w],b=_[j],T=typeof(b==null?void 0:b.x)=="number"&&Number.isFinite(b.x)?b.x:(g()-.5)*500,A=typeof(b==null?void 0:b.y)=="number"&&Number.isFinite(b.y)?b.y:(g()-.5)*500;u[2*w]=T+(g()-.5)*x,u[2*w+1]=A+(g()-.5)*x,c[2*w]=0,c[2*w+1]=0}const v=[];for(const w of e.edges){const j=m.get(String((w==null?void 0:w.source)||"").trim()),b=m.get(String((w==null?void 0:w.target)||"").trim());typeof j!="number"||typeof b!="number"||j===b||v.push(j,b)}return{nodeIds:o,pos:u,vel:c,acc:f,edges:new Uint32Array(v),options:r,tick:0}}function x1(e,t=1){const r=e.nodeIds.length;if(!r)return;const o=e.options,l=o.dt;for(let u=0;u<Math.max(1,Math.trunc(t));u++){if(e.acc.fill(0),r<=o.maxRepulsionNodes){const w=o.repulsionStrength;for(let j=0;j<r;j++){const b=e.pos[2*j],T=e.pos[2*j+1];for(let A=j+1;A<r;A++){const W=e.pos[2*A]-b,H=e.pos[2*A+1]-T,M=W*W+H*H+1e-6,G=1/Math.sqrt(M),te=w/M,V=te*W*G,Z=te*H*G;e.acc[2*j]-=V,e.acc[2*j+1]-=Z,e.acc[2*A]+=V,e.acc[2*A+1]+=Z}}}const f=o.springLength,m=o.springStrength,_=e.edges;for(let w=0;w<_.length;w+=2){const j=_[w],b=_[w+1],T=e.pos[2*j],A=e.pos[2*j+1],W=e.pos[2*b],H=e.pos[2*b+1],M=W-T,G=H-A,te=M*M+G*G+1e-6,V=Math.sqrt(te),Z=m*(V-f),ge=Z*M/V,xe=Z*G/V;e.acc[2*j]+=ge,e.acc[2*j+1]+=xe,e.acc[2*b]-=ge,e.acc[2*b+1]-=xe}const g=o.centeringStrength;for(let w=0;w<r;w++)e.acc[2*w]+=-g*e.pos[2*w],e.acc[2*w+1]+=-g*e.pos[2*w+1];const x=o.damping,v=o.maxSpeed;for(let w=0;w<r;w++){let j=(e.vel[2*w]+e.acc[2*w]*l)*x,b=(e.vel[2*w+1]+e.acc[2*w+1]*l)*x;const T=Math.sqrt(j*j+b*b);if(T>v){const A=v/T;j*=A,b*=A}e.vel[2*w]=j,e.vel[2*w+1]=b,e.pos[2*w]+=j*l,e.pos[2*w+1]+=b*l}e.tick+=1}}function v1(e){const t=e.nodeIds.length;if(!t)return 0;let r=0;for(let o=0;o<t;o++){const l=e.vel[2*o],u=e.vel[2*o+1];r+=Math.sqrt(l*l+u*u)}return r/t}function w1(e){const t={},r=e.nodeIds.length;for(let o=0;o<r;o++)t[e.nodeIds[o]]={x:e.pos[2*o],y:e.pos[2*o+1]};return t}function $g(e,t="session"){const r=String(e??"").trim().toLowerCase();return r==="run"||r==="session"||r==="global"||r==="all"?r:t}function b1(){if(typeof window>"u"||typeof window.matchMedia!="function")return!1;try{return window.matchMedia("(pointer: coarse)").matches||window.matchMedia("(max-width: 720px)").matches}catch{return!1}}const Bu="abstractuic_amx_saved_layouts_v1",Vm=.025,Gm=6,Fy=1e6;function gh(){if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function Dy(e,t="grid"){const r=String(e??"").trim().toLowerCase();return r==="grid"||r==="circle"||r==="radial"||r==="force"?r:t}function S1(e){const t=e&&typeof e=="object"&&!Array.isArray(e)?e:null;if(!t)return null;const r=typeof t.x=="number"&&Number.isFinite(t.x)?t.x:null,o=typeof t.y=="number"&&Number.isFinite(t.y)?t.y:null;return r===null||o===null?null:{x:r,y:o}}function Tg(e){const t=gh();if(!t)return null;const r=String(e??"").trim();if(!r)return null;try{const o=t.getItem(Bu);if(!o)return null;const l=JSON.parse(o),u=l&&typeof l=="object"&&!Array.isArray(l)?l:null;if(!u)return null;const c=u[r],f=c&&typeof c=="object"&&!Array.isArray(c)?c:null;if(!f)return null;const m=f.version===1?1:null;if(m===null)return null;const _=Dy(f.kind,"grid"),g=typeof f.seed=="number"&&Number.isFinite(f.seed)?Math.trunc(f.seed):qm(r),x=f.positions&&typeof f.positions=="object"&&!Array.isArray(f.positions)?f.positions:null,v={};if(x)for(const[b,T]of Object.entries(x)){const A=S1(T);A&&(v[String(b)]=A)}const w=Iy(f.viewport,{minZoom:Vm,maxZoom:Gm,maxAbsTranslate:Fy})??void 0,j=typeof f.saved_at=="string"&&f.saved_at.trim()?f.saved_at.trim():"";return{version:m,kind:_,seed:g,positions:v,viewport:w,saved_at:j}}catch{return null}}function j1(e,t){const r=gh();if(!r)return;const o=String(e??"").trim();if(o)try{const l=r.getItem(Bu),u=l?JSON.parse(l):null,c=u&&typeof u=="object"&&!Array.isArray(u)?{...u}:{};c[o]=t,r.setItem(Bu,JSON.stringify(c))}catch{}}function k1(e){const t=gh();if(!t)return;const r=String(e??"").trim();if(r)try{const o=t.getItem(Bu);if(!o)return;const l=JSON.parse(o),u=l&&typeof l=="object"&&!Array.isArray(l)?{...l}:null;if(!u||!(r in u))return;delete u[r],t.setItem(Bu,JSON.stringify(u))}catch{}}function N1(e){const t=String(e??"").trim();if(!t)return;const r=Number(t);if(Number.isFinite(r))return r}function pm(e,t){const r=!!(t!=null&&t.allowZero),o=!!(t!=null&&t.allowNegativeOne),l=String(e??"").trim();if(!l)return;const u=Number(l);if(!Number.isFinite(u))return;const c=Math.trunc(u);if(o&&c===-1)return-1;if(!(!r&&c<=0)&&!(r&&c<0))return c}function C1(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,r=typeof t.recall_level=="string"?t.recall_level:"",o=t.applied&&typeof t.applied=="object"&&!Array.isArray(t.applied)?t.applied:null,l=[];return r&&l.push(`recall_level=${r}`),o&&(typeof o.limit=="number"&&l.push(`limit=${o.limit}`),typeof o.min_score=="number"&&l.push(`min_score=${o.min_score}`),typeof o.max_input_tokens=="number"&&l.push(`max_input_tokens=${o.max_input_tokens}`)),l.length?l.join(" · "):null}function E1(e){if(!e||typeof e!="object")return null;const t=[],r=typeof e.scope=="string"?e.scope.trim():"",o=typeof e.owner_id=="string"?e.owner_id.trim():"";r&&t.push(`scope=${r}`),o&&t.push(`owner_id=${o}`);const l=typeof e.confidence=="number"&&Number.isFinite(e.confidence)?e.confidence:null;l!==null&&t.push(`confidence=${l.toFixed(3)}`);const u=e.provenance&&typeof e.provenance=="object"&&!Array.isArray(e.provenance)?e.provenance:null;if(u){const _=typeof u.writer_run_id=="string"?u.writer_run_id.trim():"",g=typeof u.writer_workflow_id=="string"?u.writer_workflow_id.trim():"";_&&t.push(`writer_run_id=${_}`),g&&t.push(`writer_workflow_id=${g}`)}const c=e.attributes&&typeof e.attributes=="object"&&!Array.isArray(e.attributes)?e.attributes:null,f=c&&c._retrieval&&typeof c._retrieval=="object"&&!Array.isArray(c._retrieval)?c._retrieval:null,m=f&&typeof f.score=="number"&&Number.isFinite(f.score)?f.score:null;return m!==null&&t.push(`score=${m.toFixed(3)}`),t.length?t.join(" · "):null}function $1(e,t){const r=String(e??""),o=String(t??"").trim();if(!o)return r;const l=r.toLowerCase().indexOf(o.toLowerCase());if(l<0)return r;const u=r.slice(0,l),c=r.slice(l,l+o.length),f=r.slice(l+o.length);return s.jsxs(s.Fragment,{children:[u,s.jsx("span",{className:"amx-hl",children:c}),f]})}function ku(e){const t=String(e??"").trim().toLowerCase();return t==="person"?{stroke:"rgba(96, 165, 250, 0.82)",bg:"rgba(96, 165, 250, 0.10)",minimap:"rgba(96, 165, 250, 0.85)"}:t==="org"?{stroke:"rgba(34, 197, 94, 0.78)",bg:"rgba(34, 197, 94, 0.10)",minimap:"rgba(34, 197, 94, 0.82)"}:t==="concept"?{stroke:"rgba(168, 85, 247, 0.78)",bg:"rgba(168, 85, 247, 0.10)",minimap:"rgba(168, 85, 247, 0.82)"}:t==="claim"?{stroke:"rgba(251, 191, 36, 0.78)",bg:"rgba(251, 191, 36, 0.10)",minimap:"rgba(251, 191, 36, 0.82)"}:t==="event"?{stroke:"rgba(239, 68, 68, 0.74)",bg:"rgba(239, 68, 68, 0.10)",minimap:"rgba(239, 68, 68, 0.80)"}:t==="doc"?{stroke:"rgba(14, 165, 233, 0.74)",bg:"rgba(14, 165, 233, 0.10)",minimap:"rgba(14, 165, 233, 0.80)"}:t==="vocab"?{stroke:"rgba(148, 163, 184, 0.55)",bg:"rgba(148, 163, 184, 0.06)",minimap:"rgba(148, 163, 184, 0.70)"}:t==="thing"?{stroke:"rgba(255, 255, 255, 0.20)",bg:"rgba(255, 255, 255, 0.04)",minimap:"rgba(255, 255, 255, 0.30)"}:{stroke:"rgba(255, 255, 255, 0.14)",bg:"rgba(0, 0, 0, 0.18)",minimap:"rgba(255, 255, 255, 0.24)"}}function T1(e){const t=typeof e=="string"?e.trim():"";if(!t)return null;const r=t.replace(/(\.\d{3})\d+/,"$1"),o=Date.parse(r);return Number.isFinite(o)?o:null}function Nu(e){const t=T1(e);if(t===null)return"";const r=new Date(t),o=r.getUTCFullYear(),l=String(r.getUTCMonth()+1).padStart(2,"0"),u=String(r.getUTCDate()).padStart(2,"0"),c=String(r.getUTCHours()).padStart(2,"0"),f=String(r.getUTCMinutes()).padStart(2,"0");return`${o}/${l}/${u} ${c}:${f}`}function By(e){const t=String(e??"").trim();if(!t)return"";const r=t.indexOf(":");return r!==-1&&r<t.length-1?t.slice(r+1):t}function gm(e,t){const r=String(e??"").trim().toLowerCase();return!!(r&&t.has(r))}function M1(e,t={}){const r=Math.max(1,t.maxPredicates??3),o=new Map;for(const m of e){const _=String((m==null?void 0:m.predicate)||"").trim();_&&o.set(_,(o.get(_)||0)+1)}const l=Array.from(o.entries());l.sort((m,_)=>_[1]-m[1]||m[0].localeCompare(_[0]));const c=l.slice(0,r).map(([m,_])=>{const g=By(m);return _>1?`${g}×${_}`:g}).join(" | "),f=l.length>r?` +${l.length-r}`:"";return`${c}${f}`.trim()}function A1({title:e,resetKey:t,queryMode:r,items:o,activeMemoryText:l,packets:u,packetsVersion:c,packedCount:f,dropped:m,estimatedTokens:_,effort:g,warnings:x,onQuery:v,onItemsReplace:w,onOpenSpan:j,onOpenTranscript:b}){var ts;const T=p.useRef(null),A=p.useMemo(()=>{const P=o==null?void 0:o[0],ie=o==null?void 0:o[o.length-1],Ee=P?`${P.subject}|${P.predicate}|${P.object}`:"",Be=ie?`${ie.subject}|${ie.predicate}|${ie.object}`:"";return`${(o==null?void 0:o.length)||0}:${Ee}:${Be}`},[o]),W=String(t??A),H=r==="replace"?"replace":"override",[M,G]=p.useState(null),[te,V]=p.useState(null),[Z,ge]=p.useState(!1),[xe,ke]=p.useState(""),[Te,oe]=p.useState(!1),[I,se]=p.useState("");p.useEffect(()=>{G(null),V(null),ke(""),ge(!1),se(""),oe(!1)},[W]);const[Q,ce]=p.useState(""),[R,L]=p.useState(!0),[O,$]=p.useState(!1),[D,ne]=p.useState(!0),[ae]=p.useState(()=>({compact:b1(),show:!1})),ve=ae.compact,[$e,ue]=p.useState(ae.show),he=W,Fe=p.useMemo(()=>qm(he),[he]),[K,Me]=p.useState("grid"),[Ne,Ye]=p.useState(Fe),[Le,mt]=p.useState(!1),gt=p.useRef(null),ze=p.useRef(null),Ae=p.useRef(!1),[Ct,kt]=p.useState(!1),[Ot,lt]=p.useState(""),[me,tn]=p.useState({}),we=p.useRef({});p.useEffect(()=>{we.current=me},[me]);const[Xe,Ke]=p.useState(""),[St,$n]=p.useState(""),Yt=p.useMemo(()=>{var ie;const P=(ie=o==null?void 0:o[0])==null?void 0:ie.scope;return $g(P,"session")},[o]),[Xt,pn]=p.useState(Yt),[fn,Vn]=p.useState("standard"),[Dn,Tn]=p.useState(""),[ar,er]=p.useState(""),[In,de]=p.useState(""),[je,qe]=p.useState(""),[ot,ft]=p.useState(""),[Nt,Mt]=p.useState(""),[Ft,nn]=p.useState(""),[Rt,Qt]=p.useState("qwen/qwen3-next-80b");p.useEffect(()=>{pn(Yt)},[W]);const ln=Array.isArray(o)?o:[],Bt=typeof l=="string"?l:"",gn=Array.isArray(u)?u:[],Kt=typeof c=="number"?c:void 0,st=typeof f=="number"?f:void 0,rn=typeof m=="number"?m:void 0,tr=typeof _=="number"?_:void 0,xn=g,kn=x,On=H==="override"&&(M!=null&&M.items)&&Array.isArray(M.items)?M.items:ln,Bn=typeof(M==null?void 0:M.active_memory_text)=="string"&&M.active_memory_text.trim()?M.active_memory_text:Bt,Un=(M==null?void 0:M.effort)??xn,xr=(M==null?void 0:M.warnings)??kn,dr=p.useMemo(()=>new Set(["rdf:type","schema:name","skos:preflabel","skos:altlabel","dcterms:title","dcterms:identifier"]),[]),Rr=p.useMemo(()=>D?On:(On||[]).filter(P=>!gm(P==null?void 0:P.predicate,dr)),[On,D,dr]),ds=p.useMemo(()=>_1(On,{groupEdges:R}),[On,R]),ht=p.useMemo(()=>{if(D)return ds;const P=[];for(const ie of ds.edges){const Be=(ie&&ie.data&&Array.isArray(ie.data.assertions)?ie.data.assertions:[]).filter(nt=>!gm(nt==null?void 0:nt.predicate,dr));if(!Be.length)continue;const De=M1(Be);P.push({...ie,label:De,data:{...ie.data,assertions:Be,predicateSummary:De}})}return{nodes:ds.nodes,edges:P}},[ds,D,dr]),Mn=p.useMemo(()=>ht.nodes.map(P=>P.id),[ht.nodes]),zi=p.useMemo(()=>{const P=Mn[0]||"",ie=Mn[Mn.length-1]||"";return`${Mn.length}:${P}:${ie}`},[Mn]),Qr=p.useMemo(()=>{var ie;const P=new Map;for(const Ee of ht.nodes)P.set(Ee.id,String(((ie=Ee.data)==null?void 0:ie.label)||Ee.id));return P},[ht.nodes]),Nn=p.useMemo(()=>{var ie;const P=new Map;for(const Ee of ht.nodes)P.set(Ee.id,String(((ie=Ee.data)==null?void 0:ie.kind)||""));return P},[ht.nodes]),ws=Q.trim().toLowerCase(),_i=p.useMemo(()=>{var ie;if(!ws)return new Set;const P=new Set;for(const Ee of ht.nodes){const Be=String(Ee.id||"").toLowerCase(),De=String(((ie=Ee.data)==null?void 0:ie.label)||"").toLowerCase();(Be.includes(ws)||De.includes(ws))&&P.add(Ee.id)}return P},[ht.nodes,ws]),As=p.useCallback((P,ie)=>{const Ee={};for(const Be of Mn){const De=P[Be]||ie[Be];Ee[Be]=De?{x:De.x,y:De.y}:{x:0,y:0}}return Ee},[Mn]);p.useEffect(()=>{tn(P=>{const ie=Dc(ht,{kind:K,seed:Ne}),Ee={};for(const Be of Mn){const De=P[Be]||ie[Be];Ee[Be]=De?{x:De.x,y:De.y}:{x:0,y:0}}return Ee})},[ht,K,Ne,Mn,zi]),p.useEffect(()=>{if(!Ae.current)return;const P=T.current;if(!(!P||typeof P.fitView!="function")&&Mn.length){Ae.current=!1;try{P.fitView({padding:.2,duration:0})}catch{try{P.fitView({padding:.2})}catch{}}}},[Mn.length,zi,me]),p.useEffect(()=>{mt(!1),gt.current=null,ze.current=null,Ae.current=!1;const P=Tg(he);if(P&&Object.keys(P.positions||{}).length){if(Me(P.kind),Ye(P.seed),kt(!0),lt(P.saved_at||""),P.viewport){ze.current=P.viewport;const De=T.current;if(De&&typeof De.setViewport=="function"){try{De.setViewport(P.viewport,{duration:0})}catch{try{De.setViewport(P.viewport)}catch{}}ze.current=null}}else Ae.current=!0;const Be=Dc(ht,{kind:P.kind,seed:P.seed});tn(As(P.positions,Be));return}kt(!1),lt("");const ie=qm(he);Ye(ie);const Ee=Dc(ht,{kind:K,seed:ie});tn(Ee),K==="force"&&ht.nodes.length>0&&ht.nodes.length<=320&&(gt.current=$d(ht,{seed:ie,positions:Ee}),mt(!0))},[he]);const wn=p.useMemo(()=>{const P=String(Xe||"").trim(),ie=String(St||"").trim();return!P||!ie?null:y1(ht,P,ie,{directed:O})},[ht,Xe,St,O]),lr=!!(wn&&String(Xe||"").trim()&&String(St||"").trim()),fr=p.useMemo(()=>{const P=String(Xe||"").trim(),ie=String(St||"").trim();if(!P||!ie)return null;const Ee=O,Be=new Map,De=($t,At)=>{const Vt=Be.get($t);Vt?Vt.push(At):Be.set($t,[At])};for(const $t of ht.edges)De($t.source,$t.target),Ee||De($t.target,$t.source);const nt=new Set,Et=[];for(nt.add(P),Et.push(P);Et.length;){const $t=Et.shift(),At=Be.get($t)||[];for(const Vt of At)nt.has(Vt)||(nt.add(Vt),Et.push(Vt))}return{reachableFromStart:nt.size,endReachable:nt.has(ie),nodes:ht.nodes.length,edges:ht.edges.length,assertions:Rr.length}},[O,ht.edges,ht.nodes.length,St,Xe,Rr.length]),Hr=p.useMemo(()=>new Set((wn==null?void 0:wn.nodeIds)||[]),[wn]),tt=p.useMemo(()=>new Set((wn==null?void 0:wn.edgeIds)||[]),[wn]),[nr,Rn]=p.useState(""),[Cr,Er]=p.useState(""),fs=!!(String(nr||"").trim()||String(Cr||"").trim()),cr=p.useMemo(()=>{const P=new Set,ie=new Set,Ee=String(nr||"").trim(),Be=String(Cr||"").trim();if(Ee){P.add(Ee);for(const De of ht.edges)(De.source===Ee||De.target===Ee)&&(ie.add(De.id),P.add(De.source),P.add(De.target));return{nodes:P,edges:ie}}if(Be){const De=ht.edges.find(nt=>nt.id===Be);De&&(ie.add(De.id),P.add(De.source),P.add(De.target))}return{nodes:P,edges:ie}},[ht.edges,Cr,nr]);p.useEffect(()=>{Rn(""),Er(""),Ke(""),$n("")},[W]);const[yi,Zr]=p.useState(!1);p.useEffect(()=>{Zr(!1)},[W]),p.useEffect(()=>{Le||(gt.current=null)},[Le]),p.useEffect(()=>{K!=="force"&&Le&&mt(!1)},[K,Le]),p.useEffect(()=>{if(!Le||K!=="force"||ht.nodes.length===0||typeof window>"u"||typeof window.requestAnimationFrame!="function")return;gt.current||(gt.current=$d(ht,{seed:Ne,positions:we.current}));let P=0,ie=0,Ee=0;const Be=ht.nodes.length<=140?2:1,De=1600,nt=.08,Et=$t=>{if(P=window.requestAnimationFrame(Et),$t-ie<33)return;ie=$t;const At=gt.current;if(!At){mt(!1);return}x1(At,Be),Ee+=Be,tn(w1(At)),(v1(At)<=nt||Ee>=De)&&mt(!1)};return P=window.requestAnimationFrame(Et),()=>{window.cancelAnimationFrame(P)}},[ht,K,Le,Ne]);const ms=p.useMemo(()=>ht.nodes.map(P=>{var Xn;const ie=Hr.has(P.id),Ee=_i.has(P.id),Be=nr===P.id,De=fs&&cr.nodes.has(P.id),nt=ku((Xn=P.data)==null?void 0:Xn.kind),Et="rgba(34, 211, 238, 0.88)",$t=Ee?"0 0 0 1px rgba(34, 211, 238, 0.34), 0 0 16px rgba(34, 211, 238, 0.26), 0 0 44px rgba(34, 211, 238, 0.14)":"",At=ie?"rgba(168, 85, 247, 0.9)":Ee?Et:nt.stroke,Vt=Be?"0 0 0 2px rgba(255,255,255,0.20), 0 18px 46px rgba(0,0,0,0.55)":De?"0 0 0 1px rgba(96, 165, 250, 0.28), 0 12px 34px rgba(0,0,0,0.45)":void 0,Wn=$t&&Vt?`${$t}, ${Vt}`:Vt||$t||void 0,Gr=ie?"rgba(168, 85, 247, 0.10)":Ee?"rgba(34, 211, 238, 0.08)":nt.bg,sn=lr?ie||Be?1:.16:fs?De||Be?1:.1:1;return{...P,position:me[P.id]?{x:me[P.id].x,y:me[P.id].y}:P.position,style:{...P.style||{},border:`1px solid ${At}`,borderRadius:10,background:Gr,color:"rgba(255,255,255,0.92)",opacity:sn,padding:8,fontSize:12,boxShadow:Wn,width:180,cursor:"pointer"}}}),[ht.nodes,lr,_i,me,nr,Hr,fs,cr.nodes]),Js=p.useMemo(()=>ht.edges.map(P=>{const ie=tt.has(P.id),Ee=Cr===P.id,Be=fs&&cr.edges.has(P.id),De=ie?"rgba(168, 85, 247, 0.9)":fs?Be||Ee?"rgba(96, 165, 250, 0.55)":"rgba(255,255,255,0.14)":"rgba(255,255,255,0.18)",nt=ie?2.75:fs?Be||Ee?2.25:1.25:1.5,Et=Ee?"drop-shadow(0 0 10px rgba(168, 85, 247, 0.25))":void 0,$t=ie?"rgba(168, 85, 247, 0.9)":lr?"rgba(255,255,255,0.10)":"rgba(255,255,255,0.28)",At=lr?ie||Ee?1:.1:fs?Be||Ee?1:.08:1,Vt=lr?ie||Ee?1:0:fs?Be||Ee?1:0:1,Wn=lr?ie||Ee?String(P.label||""):"":String(P.label||"");return{...P,label:Wn,style:{...P.style||{},stroke:De,strokeWidth:nt,filter:Et,opacity:At},animated:!1,markerEnd:{type:Fu.ArrowClosed,color:$t,width:20,height:20},labelShowBg:!0,labelBgPadding:[6,3],labelBgBorderRadius:10,labelBgStyle:{fill:`rgba(0, 0, 0, ${.38*Vt})`,stroke:`rgba(255, 255, 255, ${.14*Vt})`,strokeWidth:1},labelStyle:{fill:`rgba(255, 255, 255, ${.92*Vt})`,fontSize:10,fontWeight:600,letterSpacing:.2,textTransform:"lowercase"}}}),[ht.edges,lr,Cr,tt,fs,cr.edges]),ia=p.useMemo(()=>{if(!Cr)return[];const P=ht.edges.find(Ee=>Ee.id===Cr),ie=P&&P.data&&Array.isArray(P.data.assertions)?P.data.assertions:[];return Array.isArray(ie)?ie:[]},[ht.edges,Cr]),be=p.useMemo(()=>Cr&&ht.edges.find(P=>P.id===Cr)||null,[ht.edges,Cr]),Gn=p.useMemo(()=>{const P=String(nr||"").trim();return P?On.filter(ie=>!ie||typeof ie!="object"||!(ie.subject===P||ie.object===P)?!1:D?!0:!gm(ie.predicate,dr)):[]},[On,nr,D,dr]),Qe=p.useMemo(()=>Cr?ia:Gn,[ia,Cr,Gn]),mr=p.useMemo(()=>{const P=new Map;for(const ie of Qe){if(!ie||typeof ie!="object")continue;const Ee=ie.provenance&&typeof ie.provenance=="object"&&!Array.isArray(ie.provenance)?ie.provenance:null,Be=Ee&&typeof Ee.span_id=="string"?Ee.span_id.trim():"",De=Ee&&typeof Ee.writer_run_id=="string"?Ee.writer_run_id.trim():"",nt=typeof ie.owner_id=="string"?ie.owner_id.trim():"",Et=De||nt;if(!Et||!Be)continue;const $t=`${Et}|${Be}`,At=P.get($t),Vt=typeof ie.observed_at=="string"?ie.observed_at.trim():"";At?(At.count+=1,Vt&&(!At.last_observed_at||Vt>At.last_observed_at)&&(At.last_observed_at=Vt,At.last_observed_at_fmt=Nu(Vt),At.assertion=ie)):P.set($t,{span_run_id:Et,span_id:Be,writer_run_id:De,count:1,last_observed_at:Vt,last_observed_at_fmt:Nu(Vt),assertion:ie})}return Array.from(P.values()).sort((ie,Ee)=>String(Ee.last_observed_at||"").localeCompare(String(ie.last_observed_at||"")))},[Qe]),zs=p.useMemo(()=>{const P=new Map;for(const ie of Qe){if(!ie||typeof ie!="object")continue;const Ee=ie.provenance&&typeof ie.provenance=="object"&&!Array.isArray(ie.provenance)?ie.provenance:null,Be=Ee&&typeof Ee.span_id=="string"?Ee.span_id.trim():"",De=Ee&&typeof Ee.writer_run_id=="string"?Ee.writer_run_id.trim():"";if(!De||Be)continue;const nt=P.get(De),Et=typeof ie.observed_at=="string"?ie.observed_at.trim():"";nt?(nt.count+=1,Et&&(!nt.last_observed_at||Et>nt.last_observed_at)&&(nt.last_observed_at=Et,nt.last_observed_at_fmt=Nu(Et),nt.assertion=ie)):P.set(De,{run_id:De,count:1,last_observed_at:Et,last_observed_at_fmt:Nu(Et),assertion:ie})}return Array.from(P.values()).sort((ie,Ee)=>String(Ee.last_observed_at||"").localeCompare(String(ie.last_observed_at||"")))},[Qe]),es=p.useCallback(P=>{const ie=String(P.run_id||"").trim(),Ee=typeof P.span_id=="string"?String(P.span_id).trim():"";if(ie){if(b){try{b({run_id:ie,span_id:Ee||void 0,assertion:P.assertion})}catch{}return}if(j&&Ee)try{j({run_id:ie,span_id:Ee,assertion:P.assertion})}catch{}}},[j,b]),cn=p.useCallback(async P=>{const ie=String(P??"");if(ie)try{await navigator.clipboard.writeText(ie)}catch{}},[]),Lr=p.useCallback(()=>{const P=T.current;if(!(!P||typeof P.fitView!="function")){if(nr&&typeof P.getNode=="function"){const ie=P.getNode(nr);if(ie){P.fitView({nodes:[ie],padding:.55,duration:350});return}}P.fitView({padding:.2,duration:350})}},[nr]),Ri=p.useCallback(P=>{const ie=P.kind,Ee=Math.trunc(P.seed);mt(!1),gt.current=null,ze.current=null,Me(ie),Ye(Ee);const Be=Dc(ht,{kind:ie,seed:Ee});tn(Be),ie==="force"&&(P.autoPlay??!0)&&ht.nodes.length>0&&ht.nodes.length<=320&&(gt.current=$d(ht,{seed:Ee,positions:Be}),mt(!0))},[ht]),bs=p.useCallback(()=>{if(K==="force"){if(Le){mt(!1);return}gt.current=$d(ht,{seed:Ne,positions:we.current}),mt(!0)}},[ht,K,Le,Ne]),qr=p.useCallback(()=>{const P=new Date().toISOString(),ie={};for(const Et of Mn){const $t=we.current[Et];$t&&typeof $t.x=="number"&&typeof $t.y=="number"&&(ie[Et]={x:$t.x,y:$t.y})}const Ee=T.current,Be=Ee&&typeof Ee.toObject=="function"?Ee.toObject():null,De=Be&&Be.viewport?Be.viewport:Ee&&typeof Ee.getViewport=="function"?Ee.getViewport():null,nt=Iy(De,{minZoom:Vm,maxZoom:Gm,maxAbsTranslate:Fy})??void 0;j1(he,{version:1,kind:K,seed:Ne,positions:ie,viewport:nt,saved_at:P}),kt(!0),lt(P),mt(!1)},[he,K,Ne,Mn]),Qs=p.useCallback(()=>{const P=Tg(he);if(!P)return;mt(!1),gt.current=null,Me(P.kind),Ye(P.seed),kt(!0),lt(P.saved_at||""),ze.current=P.viewport||null,Ae.current=!P.viewport;const ie=Dc(ht,{kind:P.kind,seed:P.seed});if(tn(As(P.positions,ie)),P.viewport){const Ee=T.current;if(Ee&&typeof Ee.setViewport=="function"){try{Ee.setViewport(P.viewport,{duration:0})}catch{try{Ee.setViewport(P.viewport)}catch{}}ze.current=null}}},[As,ht,he]),rr=p.useCallback(()=>{k1(he),kt(!1),lt("")},[he]),Sr=p.useCallback(P=>{if(!Array.isArray(P)||P.length===0)return;let ie=!1;tn(Ee=>{let Be=Ee,De=!1;for(const nt of P){const Et=nt&&typeof nt=="object"&&"id"in nt&&typeof nt.id=="string"?String(nt.id):"",$t=(nt==null?void 0:nt.type)==="position"?nt==null?void 0:nt.position:null;Et&&$t&&typeof $t.x=="number"&&typeof $t.y=="number"&&(De||(Be={...Ee},De=!0),Be[Et]={x:$t.x,y:$t.y},nt!=null&&nt.dragging&&(ie=!0))}return De?Be:Ee}),ie&&Le&&mt(!1)},[Le]),Yn=p.useMemo(()=>{const P=new Map;for(const ie of ht.edges)P.set(ie.id,ie);return P},[ht.edges]),hs=p.useMemo(()=>{var Be;if(!wn)return[];const P=wn.nodeIds||[],ie=wn.edgeIds||[],Ee=[];for(let De=0;De<Math.min(P.length-1,ie.length);De++){const nt=P[De],Et=P[De+1],$t=ie[De],At=Yn.get($t),Vt=String(((Be=At==null?void 0:At.data)==null?void 0:Be.predicateSummary)||(At==null?void 0:At.label)||"").trim(),Wn=At&&At.source===nt&&At.target===Et?"forward":At&&At.source===Et&&At.target===nt?"reverse":"unknown";Ee.push({from:nt,to:Et,edgeId:$t,predicate:Vt,dir:Wn})}return Ee},[Yn,wn]),Vr=p.useCallback(async()=>{if(v){ke(""),se(""),ge(!0);try{const P=N1(ot),ie=pm(Nt,{allowZero:!0,allowNegativeOne:!0}),Ee=pm(Ft,{allowZero:!0}),Be=await v({scope:Xt,owner_id:void 0,recall_level:fn,query_text:Dn||void 0,subject:ar||void 0,predicate:In||void 0,object:je||void 0,min_score:P,limit:ie,max_input_tokens:Ee,model:Rt||void 0});G(Be),V("live query"),H==="replace"&&w&&Be&&Array.isArray(Be.items)&&w(Be.items,{kind:"live query",result:Be})}catch(P){const ie=P instanceof Error?P.message:String(P);ke(ie||"Query failed")}finally{ge(!1)}}},[Nt,Ft,ot,Rt,je,w,v,In,H,Dn,fn,Xt,ar]),vr=p.useCallback(async()=>{if(!v)return;const P=String(Xe||"").trim(),ie=String(St||"").trim();if(!P||!ie)return;const Ee=Math.max(200,pm(Nt)??80),Be=60;se(""),ke(""),oe(!0);try{const De=[],nt=new Set,Et=sn=>{if(!sn||typeof sn!="object"||typeof sn.subject!="string"||typeof sn.predicate!="string"||typeof sn.object!="string")return;const Xn=`${sn.subject}|${sn.predicate}|${sn.object}|${String(sn.observed_at||"")}|${String(sn.scope||"")}|${String(sn.owner_id||"")}`;nt.has(Xn)||(nt.add(Xn),De.push(sn))};for(const sn of On)Et(sn);const $t=O,At=new Set,Vt=[P],Wn=new Set([P]),Gr=async sn=>{const Xn=await v({scope:Xt,recall_level:fn,min_score:0,limit:Ee,subject:sn,query_text:void 0,max_input_tokens:0,model:void 0});if(Xn&&Array.isArray(Xn.items)){for(const An of Xn.items)if(Et(An),typeof An.subject=="string"&&An.subject.trim()===sn&&typeof An.object=="string"){const hn=An.object.trim();hn&&!Wn.has(hn)&&(Wn.add(hn),Vt.push(hn))}}if(!$t){const An=await v({scope:Xt,recall_level:fn,min_score:0,limit:Ee,object:sn,query_text:void 0,max_input_tokens:0,model:void 0});if(An&&Array.isArray(An.items)){for(const hn of An.items)if(Et(hn),typeof hn.object=="string"&&hn.object.trim()===sn&&typeof hn.subject=="string"){const Ir=hn.subject.trim();Ir&&!Wn.has(Ir)&&(Wn.add(Ir),Vt.push(Ir))}}}};for(;Vt.length&&At.size<Be&&!Wn.has(ie);){const sn=Vt.shift();!sn||At.has(sn)||(At.add(sn),await Gr(sn))}G({ok:!0,count:De.length,items:De,active_memory_text:Bn,raw:{expanded_for_path:!0,expanded_nodes:At.size,discovered_nodes:Wn.size,merged:De.length,directed:$t}}),V("expanded neighborhood"),H==="replace"&&w&&w(De,{kind:"expanded neighborhood",result:{ok:!0,count:De.length,items:De,active_memory_text:Bn,raw:{expanded_for_path:!0,expanded_nodes:At.size,discovered_nodes:Wn.size,merged:De.length,directed:$t}}})}catch(De){const nt=De instanceof Error?De.message:String(De);se(nt||"Expand neighborhood failed")}finally{oe(!1)}},[O,Bn,On,Nt,w,v,St,Xe,H,fn,Xt]),Ss=p.useCallback(()=>{G(null),V(null),ke(""),ge(!1),se(""),oe(!1),Ke(""),$n(""),Rn(""),Er("")},[]),js=e?`KG snapshot (${e})`:"KG snapshot",Pr=ht.nodes.length,ks=ht.edges.length,so=Rr.length;return s.jsxs("div",{className:"amx-root",children:[s.jsxs("div",{className:"amx-left",children:[s.jsx("div",{className:"amx-graph","aria-label":"Knowledge graph",children:s.jsx(ph,{children:s.jsxs(Ay,{nodes:ms,edges:Js,defaultViewport:{x:0,y:0,zoom:1},minZoom:Vm,maxZoom:Gm,onInit:P=>{T.current=P;const ie=ze.current;if(ie&&typeof P.setViewport=="function")try{P.setViewport(ie,{duration:0})}catch{try{P.setViewport(ie)}catch{}}if(Ae.current&&typeof P.fitView=="function")try{P.fitView({padding:.2,duration:0})}catch{try{P.fitView({padding:.2})}catch{}}ze.current=null,Ae.current=!1},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,onNodesChange:Sr,onNodeClick:(P,ie)=>{Er(""),Rn(ie.id)},onEdgeClick:(P,ie)=>{Rn(""),Er(ie.id)},onPaneClick:()=>{Rn(""),Er("")},children:[s.jsx(o1,{}),s.jsx(of,{position:"top-right",children:s.jsxs("div",{className:"amx-panel-toggles",children:[s.jsx("button",{type:"button",className:"amx-minimap-toggle",onClick:()=>ue(P=>!P),title:$e?"Hide minimap preview":"Show minimap preview","aria-label":$e?"Hide minimap preview":"Show minimap preview",children:$e?"minimap on":"minimap off"}),K==="force"?s.jsx("button",{type:"button",className:"amx-minimap-toggle",onClick:bs,title:Le?"Pause force layout simulation":"Play force layout simulation","aria-label":Le?"Pause simulation":"Play simulation",children:Le?"sim pause":"sim play"}):null]})}),$e?s.jsx(Zk,{pannable:!0,zoomable:!0,maskColor:"rgba(0,0,0,0.45)",style:{background:"rgba(12, 18, 34, 0.88)",border:"1px solid rgba(255,255,255,0.12)",borderRadius:10,width:ve?120:160,height:ve?80:110},nodeColor:P=>{var ie;return ku((ie=P.data)==null?void 0:ie.kind).minimap}}):null,s.jsx(f1,{gap:20,size:1,color:"rgba(255,255,255,0.06)"})]})})}),s.jsxs("details",{className:"amx-panel amx-controls",children:[s.jsxs("summary",{children:[s.jsx("span",{className:"amx-controls-title",children:js}),s.jsxs("span",{className:"amx-small",children:[so," assertions · ",Pr," nodes · ",ks," edges"]})]}),s.jsxs("div",{className:"amx-toolbar",style:{marginTop:10},children:[s.jsxs("div",{className:"amx-toolbar-grid",children:[s.jsxs("label",{children:["search / highlight",s.jsx("input",{value:Q,onChange:P=>ce(P.target.value),placeholder:"filter nodes by id/label"})]}),s.jsxs("label",{children:["group edges",s.jsxs("select",{value:String(R),onChange:P=>L(P.target.value==="true"),children:[s.jsx("option",{value:"true",children:"group (subject→object)"}),s.jsx("option",{value:"false",children:"no grouping"})]})]}),s.jsxs("label",{children:["view",s.jsxs("select",{value:String(D),onChange:P=>ne(P.target.value==="true"),children:[s.jsx("option",{value:"true",children:"all assertions"}),s.jsx("option",{value:"false",children:"hide rdf:type / labels"})]})]}),s.jsxs("label",{children:["path mode",s.jsxs("select",{value:String(O),onChange:P=>$(P.target.value==="true"),children:[s.jsx("option",{value:"false",children:"undirected"}),s.jsx("option",{value:"true",children:"directed"})]})]})]}),s.jsxs("details",{className:"amx-details",children:[s.jsx("summary",{children:"layout"}),s.jsxs("div",{className:"amx-toolbar-grid",style:{marginTop:10},children:[s.jsxs("label",{children:["layout",s.jsxs("select",{value:K,onChange:P=>Me(Dy(P.target.value,K)),children:[s.jsx("option",{value:"grid",children:"grid (deterministic)"}),s.jsx("option",{value:"radial",children:"radial (bfs)"}),s.jsx("option",{value:"circle",children:"circle"}),s.jsx("option",{value:"force",children:"force (simulation)"})]})]}),s.jsxs("label",{children:["seed",s.jsx("input",{type:"number",step:"1",value:Ne,onChange:P=>Ye(Math.trunc(Number(P.target.value||0)||0))})]})]}),s.jsxs("div",{className:"amx-actions",style:{marginTop:10},children:[s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>Ri({kind:K,seed:Ne}),disabled:!Mn.length,children:"Apply layout"}),K==="force"?s.jsx("button",{type:"button",className:"amx-btn",onClick:bs,disabled:!Mn.length,children:Le?"Pause simulation":"Play simulation"}):null,s.jsx("button",{type:"button",className:"amx-btn",onClick:qr,disabled:!Mn.length,children:"Save layout"}),Ct?s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"amx-btn",onClick:Qs,children:"Load saved"}),s.jsx("button",{type:"button",className:"amx-btn",onClick:rr,children:"Clear saved"})]}):null]}),s.jsxs("div",{className:"amx-small",style:{marginTop:10,opacity:.9},children:["Drag nodes to adjust manually; use ",s.jsx("span",{className:"amx-mono",children:"Save layout"})," for a stable, replayable view.",Ct?s.jsxs("span",{children:[" ","(saved",Ot?`: ${Ot}`:"",")"]}):s.jsx("span",{children:" (no saved layout)"})]})]}),s.jsxs("details",{className:"amx-details",children:[s.jsx("summary",{children:"path"}),s.jsxs("div",{className:"amx-toolbar-grid",style:{marginTop:10},children:[s.jsxs("label",{children:["path start",s.jsxs("select",{value:Xe,onChange:P=>Ke(P.target.value),children:[s.jsx("option",{value:"",children:"(none)"}),Mn.map(P=>s.jsx("option",{value:P,children:(()=>{const ie=Qr.get(P)||P;return ie===P?ie:`${ie} (${P})`})()},P))]})]}),s.jsxs("label",{children:["path end",s.jsxs("select",{value:St,onChange:P=>$n(P.target.value),children:[s.jsx("option",{value:"",children:"(none)"}),Mn.map(P=>s.jsx("option",{value:P,children:(()=>{const ie=Qr.get(P)||P;return ie===P?ie:`${ie} (${P})`})()},P))]})]})]}),wn?s.jsx("div",{className:"amx-small",style:{marginTop:10},children:hs.map((P,ie)=>{const Ee=Qr.get(P.from)||P.from,Be=Qr.get(P.to)||P.to,De=P.dir==="reverse"?" ← ":" → ",nt=P.predicate?` (${P.predicate})`:"";return s.jsxs("div",{children:[ie===0?s.jsx("span",{children:Ee}):null,De,s.jsxs("span",{children:[Be,nt]})]},`${P.edgeId}:${ie}`)})}):Xe&&St?s.jsxs("div",{className:"amx-small",style:{marginTop:10,opacity:.9},children:["No path found in the current subgraph (",(fr==null?void 0:fr.assertions)??so," assertions · ",(fr==null?void 0:fr.nodes)??ht.nodes.length," nodes ·"," ",(fr==null?void 0:fr.edges)??ht.edges.length," edges). Start reaches ",(fr==null?void 0:fr.reachableFromStart)??0," nodes.",v?s.jsx("div",{style:{marginTop:10},children:s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>void vr(),disabled:Te,children:Te?"Expanding…":"Expand neighborhood"})}):null]}):s.jsx("div",{className:"amx-small",style:{marginTop:10},children:"(no path)"})]}),s.jsxs("details",{className:"amx-details",children:[s.jsx("summary",{children:"query"}),s.jsxs("div",{className:"amx-toolbar-grid",style:{marginTop:10},children:[s.jsxs("label",{children:["query_text (semantic)",s.jsx("input",{value:Dn,onChange:P=>Tn(P.target.value),placeholder:"e.g. emotion chip"})]}),s.jsxs("label",{children:["subject (exact)",s.jsx("input",{value:ar,onChange:P=>er(P.target.value),placeholder:"e.g. ex:person-data"})]}),s.jsxs("label",{children:["predicate (exact)",s.jsx("input",{value:In,onChange:P=>de(P.target.value),placeholder:"e.g. schema:about"})]}),s.jsxs("label",{children:["object (exact)",s.jsx("input",{value:je,onChange:P=>qe(P.target.value),placeholder:"e.g. ex:concept-emotion-chip"})]}),s.jsxs("label",{children:["min_score",s.jsx("input",{type:"number",step:"any",value:ot,onChange:P=>ft(P.target.value),placeholder:"(auto)"})]}),s.jsxs("label",{children:["limit",s.jsx("input",{type:"number",min:"-1",step:"1",value:Nt,onChange:P=>Mt(P.target.value),placeholder:"0/-1 = unlimited (if supported)"})]})]})]}),s.jsxs("details",{className:"amx-details",children:[s.jsx("summary",{children:"advanced"}),s.jsxs("div",{className:"amx-toolbar-grid",style:{marginTop:10},children:[s.jsxs("label",{children:["scope",s.jsxs("select",{value:Xt,onChange:P=>pn($g(P.target.value,Xt)),children:[s.jsx("option",{value:"run",children:"run"}),s.jsx("option",{value:"session",children:"session"}),s.jsx("option",{value:"global",children:"global"}),s.jsx("option",{value:"all",children:"all"})]})]}),s.jsxs("label",{children:["recall level",s.jsxs("select",{value:fn,onChange:P=>Vn(P.target.value||"standard"),children:[s.jsx("option",{value:"urgent",children:"urgent"}),s.jsx("option",{value:"standard",children:"standard"}),s.jsx("option",{value:"deep",children:"deep"})]})]}),s.jsxs("label",{children:["max_input_tokens",s.jsx("input",{type:"number",min:"0",step:"1",value:Ft,onChange:P=>nn(P.target.value),placeholder:"(auto)"})]}),s.jsxs("label",{children:["model (budgeting)",s.jsx("input",{value:Rt,onChange:P=>Qt(P.target.value),placeholder:"qwen/qwen3-next-80b"})]})]})]}),s.jsxs("div",{className:"amx-actions",children:[s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>void Vr(),disabled:!v||Z,children:Z?"Querying…":"Query store"}),s.jsx("button",{type:"button",className:"amx-btn",onClick:Ss,disabled:!M&&!xe&&!Z,children:"Reset to step output"}),M?s.jsxs("span",{className:"amx-small",children:["showing: ",te||"live query"]}):s.jsx("span",{className:"amx-small",children:"showing: step output"}),xe?s.jsx("span",{className:"amx-small",style:{color:"rgba(255, 80, 80, 0.95)"},children:xe}):null,I?s.jsx("span",{className:"amx-small",style:{color:"rgba(255, 80, 80, 0.95)"},children:I}):null]}),s.jsxs("details",{className:"amx-details",children:[s.jsx("summary",{children:"node colors"}),s.jsx("div",{className:"amx-legend",style:{marginTop:10},children:[{k:"person",label:"person"},{k:"org",label:"org"},{k:"concept",label:"concept"},{k:"claim",label:"claim"},{k:"event",label:"event"},{k:"doc",label:"doc"},{k:"vocab",label:"vocab"}].map(({k:P,label:ie})=>s.jsx("span",{className:"amx-legend-item",style:{borderColor:ku(P).stroke},children:ie},P))})]})]})]})]}),s.jsxs("div",{className:"amx-right",children:[s.jsxs("div",{className:"amx-panel",children:[s.jsx("h3",{children:"Details"}),s.jsx("div",{className:"amx-small",style:{marginBottom:8},children:"Derived from `memory_kg_query` packetization (max_input_tokens); safe to inject into an LLM system prompt."}),(()=>{const P=C1(Un);return P?s.jsx("div",{className:"amx-small",style:{marginBottom:8,opacity:.9},children:P}):null})(),(()=>{const P=xr;if(!P)return null;const ie=typeof P=="string"?P:Array.isArray(P)?P.map(Ee=>String(Ee)).join(" · "):JSON.stringify(P);return!ie||!ie.trim()?null:s.jsx("div",{className:"amx-small",style:{marginBottom:8,color:"rgba(255, 180, 90, 0.95)"},children:ie})})(),s.jsx("div",{className:"amx-small",style:{marginBottom:8,opacity:.9},children:(()=>{const P=(M==null?void 0:M.packets_version)??Kt,ie=(M==null?void 0:M.packed_count)??st,Ee=(M==null?void 0:M.dropped)??rn,Be=(M==null?void 0:M.estimated_tokens)??tr,De=[];return typeof P=="number"&&De.push(`packets_v${P}`),typeof ie=="number"&&De.push(`packed=${ie}`),typeof Ee=="number"&&De.push(`dropped=${Ee}`),typeof Be=="number"&&De.push(`est_tokens=${Be}`),De.length?De.join(" · "):"No packetization stats (set max_input_tokens > 0)."})()}),s.jsx("div",{className:"amx-active-memory",children:$1(Bn||"(empty)",Q)}),(()=>{const P=M!=null&&M.packets&&Array.isArray(M.packets)?M.packets:gn;return!Array.isArray(P)||P.length===0?null:s.jsxs("div",{style:{marginTop:10},children:[s.jsxs("button",{type:"button",className:"amx-btn",onClick:()=>Zr(ie=>!ie),children:[yi?"Hide":"Show"," packets (",P.length,")"]}),yi?s.jsx("div",{className:"amx-list",style:{marginTop:10},children:P.slice(0,120).map((ie,Ee)=>{const Be=ie&&typeof ie=="object"&&!Array.isArray(ie)?ie:null,De=Be&&typeof Be.statement=="string"?Be.statement:typeof ie=="string"?ie:"",nt=Be&&(typeof Be.retrieval_score=="number"||typeof Be.retrieval_score=="string")?Be.retrieval_score:null,Et=Be&&typeof Be.observed_at=="string"?Be.observed_at:null;return s.jsxs("div",{className:"amx-item",children:[s.jsx("div",{className:"amx-mono",children:De||"(packet)"}),Et||nt!==null?s.jsxs("div",{className:"amx-small",children:[Et?`[${Et}]`:null,Et&&nt!==null?" ":null,nt!==null?`score:${nt}`:null]}):null]},Ee)})}):null]})})(),s.jsx("div",{style:{marginTop:14,marginBottom:12,borderTop:"1px solid rgba(255,255,255,0.08)"}}),s.jsx("div",{className:"amx-small",style:{marginBottom:8,fontWeight:700,opacity:.9},children:"Inspect"}),s.jsx("div",{className:"amx-small",style:{marginBottom:8},children:"Click a node or edge to inspect its assertions."}),nr?s.jsxs("div",{className:"amx-item",style:{marginBottom:10,display:"flex",justifyContent:"space-between",gap:10,alignItems:"center"},children:[s.jsxs("div",{style:{minWidth:0},children:[s.jsx("div",{className:"amx-mono",style:{fontSize:11,opacity:.95},children:Qr.get(nr)||nr}),s.jsxs("div",{className:"amx-small",children:["kind=",Nn.get(nr)||"entity"," · id=",nr]})]}),s.jsxs("div",{className:"amx-actions",children:[s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>void cn(nr),children:"Copy id"}),s.jsx("button",{type:"button",className:"amx-btn",onClick:Lr,children:"Focus"})]})]}):be&&be.source&&be.target?s.jsxs("div",{className:"amx-item",style:{marginBottom:10,display:"flex",justifyContent:"space-between",gap:10,alignItems:"center"},children:[s.jsxs("div",{style:{minWidth:0},children:[s.jsxs("div",{className:"amx-mono",style:{fontSize:11,opacity:.95},children:[be.source," —",String(be.label||((ts=be.data)==null?void 0:ts.predicateSummary)||"").trim()||"?","→ ",be.target]}),s.jsxs("div",{className:"amx-small",children:["edge_id=",be.id]})]}),s.jsxs("div",{className:"amx-actions",children:[s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>void cn(be.id),children:"Copy id"}),s.jsx("button",{type:"button",className:"amx-btn",onClick:Lr,children:"Fit"})]})]}):s.jsx("div",{className:"amx-small",style:{marginBottom:10,opacity:.9},children:"(no selection)"}),s.jsx("div",{className:"amx-list",children:Qe.slice(0,80).map((P,ie)=>{const Ee=String(P.subject||"").trim(),Be=String(P.predicate||"").trim(),De=String(P.object||"").trim(),nt=Qr.get(Ee)||Ee,Et=Qr.get(De)||De,$t=Nn.get(Ee)||"entity",At=Nn.get(De)||"entity",Vt=ku($t),Wn=ku(At),Gr=Nu(P.observed_at),sn=E1(P),Xn=P.provenance&&typeof P.provenance=="object"&&!Array.isArray(P.provenance)?P.provenance:null,An=Xn&&typeof Xn.span_id=="string"?Xn.span_id.trim():"",hn=Xn&&typeof Xn.writer_run_id=="string"?Xn.writer_run_id.trim():"",Ir=typeof P.owner_id=="string"?P.owner_id.trim():"",xi=hn||Ir,Li=!!((b||j)&&An&&xi),Or=!!(b&&hn&&!An),Jt=Li||Or;return s.jsxs("div",{className:"amx-item amx-triple-card",children:[s.jsxs("div",{className:"amx-triple-row",children:[s.jsx("button",{type:"button",className:"amx-term",style:{borderColor:Vt.stroke,background:Vt.bg},title:Ee,onClick:()=>{Ee&&(Er(""),Rn(Ee))},children:nt||Ee||"(subject)"}),s.jsx("span",{className:"amx-arrow",children:"—"}),s.jsx("span",{className:"amx-predicate",title:Be,children:By(Be)||"(predicate)"}),s.jsx("span",{className:"amx-arrow",children:"→"}),s.jsx("button",{type:"button",className:"amx-term",style:{borderColor:Wn.stroke,background:Wn.bg},title:De,onClick:()=>{De&&(Er(""),Rn(De))},children:Et||De||"(object)"})]}),s.jsxs("div",{className:"amx-triple-meta",children:[Gr?s.jsxs("span",{className:"amx-small",title:String(P.observed_at||""),children:["[",Gr,"]"]}):null,sn?s.jsx("span",{className:"amx-small",children:sn}):null]}),An||hn?s.jsxs("div",{className:"amx-triple-actions",children:[An?s.jsxs("span",{className:"amx-small",children:["span:",An]}):null,hn?s.jsxs("span",{className:"amx-small",children:["run:",hn]}):null,Jt?s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>{if(Li&&An&&xi){es({run_id:xi,span_id:An,assertion:P});return}Or&&hn&&es({run_id:hn,assertion:P})},children:"Open transcript"}):null]}):null]},ie)})})]}),s.jsxs("div",{className:"amx-panel",children:[s.jsx("h3",{children:"Transcript"}),s.jsx("div",{className:"amx-small",style:{marginBottom:8},children:"Pivot from a triple to its provenance transcript (span/note artifact, or run input fallback)."}),mr.length?s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("div",{className:"amx-small",style:{marginBottom:6,opacity:.85},children:"spans"}),s.jsx("div",{className:"amx-list",style:{maxHeight:320},children:mr.slice(0,60).map(P=>s.jsxs("div",{className:"amx-item",style:{display:"flex",justifyContent:"space-between",gap:10,alignItems:"center"},children:[s.jsxs("div",{style:{minWidth:0},children:[s.jsxs("div",{className:"amx-mono",style:{fontSize:11,opacity:.95},children:["span:",P.span_id]}),s.jsxs("div",{className:"amx-small",children:["run_id=",P.span_run_id," · assertions=",P.count,P.last_observed_at_fmt?` · last=[${P.last_observed_at_fmt}]`:""]})]}),j||b?s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>es({run_id:P.span_run_id,span_id:P.span_id,assertion:P.assertion}),children:"Open transcript"}):null]},`${P.span_run_id}|${P.span_id}`))})]}):null,b&&zs.length?s.jsxs("div",{style:{marginBottom:12},children:[s.jsx("div",{className:"amx-small",style:{marginBottom:6,opacity:.85},children:"runs (fallback)"}),s.jsx("div",{className:"amx-list",style:{maxHeight:240},children:zs.slice(0,40).map(P=>s.jsxs("div",{className:"amx-item",style:{display:"flex",justifyContent:"space-between",gap:10,alignItems:"center"},children:[s.jsxs("div",{style:{minWidth:0},children:[s.jsxs("div",{className:"amx-mono",style:{fontSize:11,opacity:.95},children:["run:",P.run_id]}),s.jsxs("div",{className:"amx-small",children:["assertions=",P.count,P.last_observed_at_fmt?` · last=[${P.last_observed_at_fmt}]`:""]})]}),s.jsx("button",{type:"button",className:"amx-btn",onClick:()=>es({run_id:P.run_id,assertion:P.assertion}),children:"Open transcript"})]},P.run_id))})]}):null,!mr.length&&!(b&&zs.length)?s.jsx("div",{className:"amx-small",children:"(no provenance)"}):null]})]})]})}function _m(e,t="session"){const r=String(e||"").trim().toLowerCase();return r==="run"||r==="session"||r==="global"||r==="all"?r:t}function cl(e){const t=typeof e=="string"?e.trim():"";if(!t)return null;const r=t.replace(/(\.\d{3})\d+/,"$1"),o=Date.parse(r);return Number.isFinite(o)?o:null}function Hl(e){if(typeof e!="number"||!Number.isFinite(e))return"—";const t=new Date(e),r=t.getUTCFullYear(),o=String(t.getUTCMonth()+1).padStart(2,"0"),l=String(t.getUTCDate()).padStart(2,"0"),u=String(t.getUTCHours()).padStart(2,"0"),c=String(t.getUTCMinutes()).padStart(2,"0");return`${r}/${o}/${l} ${u}:${c}`}function z1(e){const t=String(e??"").trim();if(!t)return"";if(/^\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}$/.test(t))return t;const r=cl(t);return r!==null?Hl(r):t}function _h(e){const t=typeof e=="string"?e:String(e??"");return t?!t.includes("\\n")&&!t.includes("\\r")&&!t.includes("\\t")?t:t.replace(/\\r\\n/g,`
|
|
117
|
-
`).replace(/\\n/g,`
|
|
118
|
-
`).replace(/\\t/g," "):""}function Uy(e){return String(e??"").replace(/[*_`~]/g,"")}function Td(e,t){const r=!!(t!=null&&t.strip_punct),o=_h(e);let l=Uy(o).replace(/\s+/g," ").trim().toLowerCase();return r&&(l=l.replace(/[^\p{L}\p{N}\s]+/gu,"").replace(/\s+/g," ").trim()),l}function Md(e,t){const r=String(t??"").trim();if(!r)return!1;const o=Td(r,{strip_punct:!1});if(!o)return!1;if(Td(String(e??""),{strip_punct:!1}).includes(o))return!0;const u=Td(r,{strip_punct:!0});return u?Td(String(e??""),{strip_punct:!0}).includes(u):!1}function Mg(e){const t=_h(e).trim();if(!t)return[];const r=[],o=c=>{const f=String(c??"").replace(/\s+/g," ").trim();f&&(f.length<6||r.includes(f)||r.push(f))},l=t.search(/[`*_~]/);if(l>0){const c=t.slice(0,l);c.replace(/\s+/g," ").trim().length>=10&&o(c)}const u=[/`([^`]+)`/g,/\*\*([^*]+)\*\*/g,/__([^_]+)__/g,/\*([^*]+)\*/g,/_([^_]+)_/g];for(const c of u){let f;for(;(f=c.exec(t))!==null;){const m=String(f[1]??"").trim();m&&o(m)}}return o(Uy(t)),r}function R1(e){const t=String(e??"").replace(/\r\n/g,`
|
|
119
|
-
`).replace(/\r/g,`
|
|
120
|
-
`);if(!t)return null;const r=t.split(`
|
|
121
|
-
`);let o;const l=[],u=[];let c=null,f=[],m=!1;const _=()=>{if(!c)return;const v=f.join(`
|
|
122
|
-
`).trim();v&&u.push({role:c,lines:[v]}),c=null,f=[]};for(const v of r){const w=o?null:v.match(/^\s*created_at\s*=\s*(.+)\s*$/i);if(w&&w[1]){o=w[1].trim();continue}const j=v.match(/^\s*(USER|ASSISTANT|SYSTEM)\s*:\s*(.*)$/i);if(j){m=!0,_();const b=String(j[1]||"").trim().toLowerCase();c=b==="user"?"user":b==="assistant"?"assistant":"system";const T=String(j[2]??"");f=T?[T]:[];continue}c?f.push(v):l.push(v)}if(_(),!m||!u.length)return null;const g=l.join(`
|
|
123
|
-
`).trim(),x={messages:[]};o&&(x.created_at=o),g&&x.messages.push({role:"system",content:g});for(const v of u)x.messages.push({role:v.role,content:v.lines.join(`
|
|
124
|
-
`)});return x.messages.length?x:null}function Ag(e,t){const r=String(e||""),o=String(t||"");return o>r?o:r}function zg(e){const t=String((e==null?void 0:e.subject)||"").trim(),r=String((e==null?void 0:e.predicate)||"").trim(),o=String((e==null?void 0:e.object)||"").trim(),l=String((e==null?void 0:e.observed_at)||"").trim(),u=String((e==null?void 0:e.scope)||"").trim(),c=String((e==null?void 0:e.owner_id)||"").trim();return`${t}|${r}|${o}|${l}|${u}|${c}`}function L1(e){const t=String((e==null?void 0:e.observed_at)||"").trim(),r=String((e==null?void 0:e.subject)||"").trim(),o=String((e==null?void 0:e.predicate)||"").trim(),l=String((e==null?void 0:e.object)||"").trim(),u=String((e==null?void 0:e.scope)||"").trim(),c=String((e==null?void 0:e.owner_id)||"").trim(),f=[];u&&f.push(`scope=${u}`),c&&f.push(`owner=${c}`);const m=f.length?` (${f.join(", ")})`:"";return`${t?`[${t}] `:""}${r} --${o}--> ${l}${m}`}function P1({gateway:e,selected_run_id:t,selected_session_id:r}){const[o,l]=p.useState(String(t||"").trim()),[u,c]=p.useState(String(r||"").trim()),[f,m]=p.useState("all"),_=f==="all",[g,x]=p.useState(!0),[v,w]=p.useState(750),[j,b]=p.useState(5e3),[T,A]=p.useState([]),[W,H]=p.useState(void 0),[M,G]=p.useState(""),[te,V]=p.useState(!1),[Z,ge]=p.useState([]),[xe,ke]=p.useState(!1),[Te,oe]=p.useState(!1),[I,se]=p.useState(""),[Q,ce]=p.useState(""),[R,L]=p.useState(""),[O,$]=p.useState(""),[D,ne]=p.useState("artifact"),[ae,ve]=p.useState(null),[$e,ue]=p.useState(""),[he,Fe]=p.useState(null),K=p.useRef(!1),Me=p.useMemo(()=>{const de=he,je=de!=null&&de.attributes&&typeof de.attributes=="object"&&!Array.isArray(de.attributes)?de.attributes:null;return(je&&typeof je.evidence_quote=="string"?String(je.evidence_quote):"").trim()},[he]),Ne=p.useMemo(()=>{const de=ae,je=de&&typeof de=="object"&&!Array.isArray(de)?de:null,qe=je&&typeof je.note=="string"?String(je.note):"";return _h(qe).trim()},[ae]),Ye=p.useMemo(()=>{const de=ae&&typeof ae=="object"&&!Array.isArray(ae)?ae:null,je=de&&Array.isArray(de.messages)?de.messages:null;return Array.isArray(je)?je:null},[ae]),Le=p.useMemo(()=>{const de=Ne,je=Me;return!de||!je?!1:Md(de,je)},[Me,Ne]),mt=p.useMemo(()=>{const de=Ye,je=Me;if(!de||!je)return[];const qe=[];for(let ot=0;ot<Math.min(de.length,500);ot++){const ft=de[ot],Nt=(ft==null?void 0:ft.content)==null?"":String(ft.content);Md(Nt,je)&&qe.push(ot)}return qe},[Me,Ye]),gt=p.useMemo(()=>new Set(mt),[mt]),ze=mt.length?mt[0]:null,Ae=p.useCallback(de=>{const je=document.getElementById(`source_msg_${de}`);je&&typeof je.scrollIntoView=="function"&&je.scrollIntoView({block:"center",behavior:"smooth"})},[]),Ct=p.useCallback(()=>{const de=document.getElementById("source_note_hit_0")||document.getElementById("source_note_msg_hit_0");de&&typeof de.scrollIntoView=="function"&&de.scrollIntoView({block:"center",behavior:"smooth"})},[]);p.useEffect(()=>{if(xe&&!(Te||I)&&!K.current){if(ze!==null){K.current=!0,window.setTimeout(()=>Ae(ze),0);return}if(Le){K.current=!0,window.setTimeout(()=>Ct(),0);return}}},[Ae,Ct,I,ze,Te,Le,xe]);const kt=p.useRef(new Set),Ot=p.useRef(""),lt=p.useRef(null),me=p.useRef(null);p.useEffect(()=>{l(String(t||"").trim())},[t]),p.useEffect(()=>{c(String(r||"").trim())},[r]);const tn=p.useMemo(()=>{const de=String(o||"").trim(),je=String(u||"").trim();return`mindmap:${f}:${de}:${je}`},[o,u,f]),we=p.useMemo(()=>{let de=null,je=null;for(const qe of T){const ot=cl(qe==null?void 0:qe.observed_at);ot!==null&&(de=de===null?ot:Math.min(de,ot),je=je===null?ot:Math.max(je,ot))}return{min_ms:de,max_ms:je}},[T]),[Xe,Ke]=p.useState(!0),[St,$n]=p.useState(null);p.useEffect(()=>{Xe&&typeof we.max_ms=="number"&&$n(we.max_ms)},[Xe,we.max_ms]);const Yt=p.useMemo(()=>{const de=typeof St=="number"?St:null;return de===null?T:T.filter(je=>{const qe=cl(je==null?void 0:je.observed_at);return qe===null?!0:qe<=de})},[T,St]),Xt=p.useCallback((de,je)=>{const qe=Array.isArray(de)?de:[],ot=String(Ot.current||"").trim(),ft=new Set,Nt=[];let Mt="";for(const Ft of qe){if(!Ft||typeof Ft!="object"||typeof Ft.subject!="string"||typeof Ft.predicate!="string"||typeof Ft.object!="string")continue;const nn=zg(Ft);if(ft.has(nn))continue;ft.add(nn),Nt.push(Ft);const Rt=String(Ft.observed_at||"").trim();Rt&&(Mt=Ag(Mt,Rt))}A(Nt),H(je==null?void 0:je.warnings),kt.current=ft,Ot.current=Mt||ot},[]),pn=p.useCallback(async de=>{const je=_m(de.scope,"session"),qe=String(de.subject||"").trim(),ot=String(de.predicate||"").trim(),ft=String(de.object||"").trim(),Nt=String(de.since||"").trim(),Mt=String(de.until||"").trim(),Ft=String(de.active_at||"").trim(),nn=String(de.query_text||"").trim(),Rt=typeof de.min_score=="number"&&Number.isFinite(de.min_score)?Number(de.min_score):void 0,Qt=de.order==="asc"?"asc":"desc",ln=typeof de.limit=="number"&&Number.isFinite(de.limit)?Number(de.limit):0,Bt=String(o||"").trim(),gn=String(u||"").trim(),Kt={scope:je,all_owners:_,limit:ln,order:Qt};qe&&(Kt.subject=qe),ot&&(Kt.predicate=ot),ft&&(Kt.object=ft),Nt&&(Kt.since=Nt),Mt&&(Kt.until=Mt),Ft&&(Kt.active_at=Ft),nn&&(Kt.query_text=nn),typeof Rt=="number"&&(Kt.min_score=Rt),_||(je==="run"?Bt&&(Kt.run_id=Bt):je==="session"?gn?Kt.session_id=gn:Bt&&(Kt.run_id=Bt):je==="all"&&(Bt?Kt.run_id=Bt:gn&&(Kt.session_id=gn)));try{const st=await e.kg_query(Kt),rn=Array.isArray(st==null?void 0:st.items)?st.items:[],tr=st==null?void 0:st.warnings;return{ok:(st==null?void 0:st.ok)!==!1,count:Number((st==null?void 0:st.count)||rn.length),items:rn,warnings:tr,raw:st}}catch(st){const rn=st instanceof Error?st.message:String(st);if(rn.includes("Run '")&&rn.includes("not found")&&!gn&&(je==="session"||je==="all")&&Bt){const xn=await e.kg_query({...Kt,run_id:void 0,session_id:Bt}),kn=Array.isArray(xn==null?void 0:xn.items)?xn.items:[],On=xn==null?void 0:xn.warnings;return{ok:(xn==null?void 0:xn.ok)!==!1,count:Number((xn==null?void 0:xn.count)||kn.length),items:kn,warnings:On,raw:xn}}throw new Error(rn||"KG query failed")}},[_,e,o,u]),fn=p.useCallback(async de=>{var ot;const je=String(de.run_id||"").trim(),qe=String(de.span_id||"").trim();if(!(!je||!qe)){ke(!0),oe(!0),se(""),L(je),$(qe),ne("artifact"),ce(`source span:${qe}`),ve(null),ue(""),Fe(de.assertion&&typeof de.assertion=="object"?de.assertion:null),K.current=!1;try{const ft=[je],Nt=typeof((ot=de.assertion)==null?void 0:ot.owner_id)=="string"?String(de.assertion.owner_id).trim():"";Nt&&Nt!==je&&ft.push(Nt);let Mt=null,Ft=null;for(const nn of ft)try{Ft=await(await e.download_run_artifact_content(nn,qe)).text(),nn!==je&&L(nn);break}catch(Rt){Mt=Rt instanceof Error?Rt.message:String(Rt)}if(Ft==null)throw new Error(Mt||"Failed to load source span");ue(Ft);try{const nn=JSON.parse(Ft);ve(nn)}catch{ve(null)}}catch(ft){const Nt=ft instanceof Error?ft.message:String(ft);se(Nt||"Failed to load source span")}finally{oe(!1)}}},[e]),Vn=p.useCallback(async de=>{const je=String(de.run_id||"").trim();if(!je)return null;try{const qe=await e.list_run_artifacts(je,{limit:200}),ft=(Array.isArray(qe==null?void 0:qe.items)?qe.items:[]).map(Rt=>{const Qt=typeof(Rt==null?void 0:Rt.artifact_id)=="string"?String(Rt.artifact_id).trim():"",ln=Rt!=null&&Rt.tags&&typeof Rt.tags=="object"&&!Array.isArray(Rt.tags)?Rt.tags:null,Bt=ln&&typeof ln.kind=="string"?String(ln.kind).trim():"";return{artifact_id:Qt,kind:Bt}}).filter(Rt=>!!(Rt.artifact_id&&(Rt.kind==="conversation_span"||Rt.kind==="memory_note")));if(!ft.length)return null;if(ft.length===1)return ft[0].artifact_id;const Nt=de.assertion,Mt=Nt!=null&&Nt.attributes&&typeof Nt.attributes=="object"&&!Array.isArray(Nt.attributes)?Nt.attributes:null,nn=(Mt&&typeof Mt.evidence_quote=="string"?String(Mt.evidence_quote):"").trim();if(!nn)return null;for(const Rt of ft.slice(0,10))try{const ln=await(await e.download_run_artifact_content(je,Rt.artifact_id)).text(),Bt=JSON.parse(ln);if(Bt&&typeof Bt=="object"){const gn=typeof Bt.note=="string"?String(Bt.note):"";if(gn&&gn.includes(nn))return Rt.artifact_id;const Kt=Array.isArray(Bt.messages)?Bt.messages:null;if(Kt){for(const st of Kt.slice(0,200))if(((st==null?void 0:st.content)==null?"":String(st.content)).includes(nn))return Rt.artifact_id}}}catch{}}catch{}return null},[e]),Dn=p.useCallback(async de=>{const je=String(de.run_id||"").trim();if(je){ke(!0),oe(!0),se(""),L(je),$(""),ne("run_input"),ce(`transcript run:${je}`),ve(null),ue(""),Fe(de.assertion&&typeof de.assertion=="object"?de.assertion:null),K.current=!1;try{const qe=await Vn({run_id:je,assertion:de.assertion});if(qe){await fn({run_id:je,span_id:qe,assertion:de.assertion});return}const ot=await e.get_run_input_data(je),ft=ot&&typeof ot=="object"&&!Array.isArray(ot)?ot.input_data:null,Nt={kind:"run_input_data",run_id:je};if(ot&&typeof(ot==null?void 0:ot.workflow_id)=="string"&&(Nt.workflow_id=String(ot.workflow_id)),ft&&typeof ft=="object"&&!Array.isArray(ft)){const Mt=ft.context,nn=(Mt&&typeof Mt=="object"&&Array.isArray(Mt.messages)?Mt.messages:null)||(Array.isArray(ft.messages)?ft.messages:null);Array.isArray(nn)&&(Nt.messages=nn);const Rt=["text","prompt","task","message"];for(const Qt of Rt){const ln=ft[Qt];if(typeof ln=="string"&&ln.trim()){Nt.note=ln.trim();break}}Nt.input_data=ft}!Nt.messages&&!Nt.note&&(Nt.note=JSON.stringify(ft??ot??{},null,2));try{const Mt=await e.get_run(je),Ft=Mt&&typeof(Mt==null?void 0:Mt.created_at)=="string"?String(Mt.created_at):"";Ft&&(Nt.created_at=Ft)}catch{}ve(Nt),ue(JSON.stringify(ot,null,2))}catch(qe){const ot=qe instanceof Error?qe.message:String(qe);se(ot||"Failed to load run input transcript")}finally{oe(!1)}}},[e,fn,Vn]),Tn=p.useCallback(async()=>{G(""),V(!0);try{const de=f==="all"?"all":f,je=await pn({scope:de,limit:0,order:"desc"});Xt(je.items||[],{warnings:je.warnings}),lt.current={scope:de}}catch(de){const je=de instanceof Error?de.message:String(de);G(je||"Load failed")}finally{V(!1)}},[pn,Xt,f]);p.useEffect(()=>{T.length||Tn()},[]);const ar=p.useCallback(async de=>{const je=_m(de.scope,"session");return me.current=de,await pn({scope:je,subject:de.subject,predicate:de.predicate,object:de.object,query_text:de.query_text,min_score:de.min_score,since:de.since,until:de.until,active_at:de.active_at,limit:typeof de.limit=="number"?de.limit:0,order:"desc"})},[pn]),er=p.useCallback((de,je)=>{var qe;if((je==null?void 0:je.kind)==="live query"){const ot=me.current;ot&&(lt.current={scope:_m(ot.scope,"session"),subject:typeof ot.subject=="string"?ot.subject:void 0,predicate:typeof ot.predicate=="string"?ot.predicate:void 0,object:typeof ot.object=="string"?ot.object:void 0})}Xt(de,{warnings:(qe=je==null?void 0:je.result)==null?void 0:qe.warnings})},[Xt]),In=p.useCallback(async()=>{const de=lt.current;if(!de)return;const je=String(Ot.current||"").trim(),qe=await pn({scope:de.scope,subject:de.subject,predicate:de.predicate,object:de.object,since:je||void 0,order:"asc",limit:0}),ot=Array.isArray(qe.items)?qe.items:[];if(!ot.length)return;const Nt=Date.now()+Math.max(250,Math.min(2e4,j)),Mt=kt.current,Ft=[],nn=[];let Rt=String(Ot.current||"").trim();for(const Qt of ot){if(!Qt||typeof Qt!="object"||typeof Qt.subject!="string"||typeof Qt.predicate!="string"||typeof Qt.object!="string")continue;const ln=zg(Qt);if(Mt.has(ln))continue;Mt.add(ln),Ft.push(Qt),nn.push({id:ln,assertion:Qt,expires_at_ms:Nt});const Bt=String(Qt.observed_at||"").trim();Bt&&(Rt=Ag(Rt,Bt))}Ft.length&&(Ot.current=Rt,A(Qt=>{const ln=Qt.concat(Ft);return ln.sort((Bt,gn)=>String((gn==null?void 0:gn.observed_at)||"").localeCompare(String((Bt==null?void 0:Bt.observed_at)||""))),ln}),ge(Qt=>{const ln=Qt.concat(nn);return ln.sort((Bt,gn)=>gn.expires_at_ms-Bt.expires_at_ms),ln.slice(0,30)}))},[j,pn]);return p.useEffect(()=>{if(!g)return;let de=!1,je=null;const qe=async()=>{if(!de){try{await In()}catch{}de||(je=window.setTimeout(()=>void qe(),Math.max(250,Math.min(6e4,v))))}};return qe(),()=>{de=!0,je!==null&&window.clearTimeout(je)}},[g,v,In]),p.useEffect(()=>{if(!Z.length)return;const de=window.setInterval(()=>{const je=Date.now();ge(qe=>qe.filter(ot=>ot.expires_at_ms>je))},250);return()=>window.clearInterval(de)},[Z.length]),s.jsxs("div",{className:"mindmap_root",children:[s.jsxs("div",{className:"mindmap_bar",children:[s.jsx("button",{className:"btn",onClick:()=>void Tn(),disabled:te,children:te?"Loading…":"Load snapshot"}),s.jsxs("label",{className:"field_inline",children:[s.jsx("span",{className:"mono muted",children:"source"}),s.jsxs("select",{value:f,onChange:de=>{const je=String(de.target.value||"").trim();(je==="all"||je==="global"||je==="session"||je==="run")&&m(je)},children:[s.jsx("option",{value:"all",children:"all memory"}),s.jsx("option",{value:"global",children:"global"}),s.jsx("option",{value:"session",children:"session"}),s.jsx("option",{value:"run",children:"run"})]})]}),s.jsxs("label",{className:"field_inline",children:[s.jsx("span",{className:"mono muted",children:"live"}),s.jsx("input",{type:"checkbox",checked:g,onChange:de=>x(!!de.target.checked)})]}),f==="session"?s.jsxs("label",{className:"field_inline",children:[s.jsx("span",{className:"mono muted",children:"session_id"}),s.jsx("input",{className:"mono",value:u,onChange:de=>c(String(de.target.value||"")),placeholder:"(required)"})]}):null,f==="run"?s.jsxs("label",{className:"field_inline",children:[s.jsx("span",{className:"mono muted",children:"run_id"}),s.jsx("input",{className:"mono",value:o,onChange:de=>l(String(de.target.value||"")),placeholder:"(required)"})]}):null,s.jsxs("details",{className:"mindmap_details",children:[s.jsx("summary",{className:"mono muted",children:"advanced"}),s.jsx("div",{className:"mindmap_advanced",children:s.jsxs("div",{className:"field_inline",children:[s.jsx("span",{className:"mono muted",style:{width:84},children:"poll_ms"}),s.jsx("input",{type:"number",min:250,max:6e4,step:50,value:v,onChange:de=>w(Math.max(250,Number(de.target.value||0)||750))}),s.jsx("span",{className:"mono muted",children:"highlight_ms"}),s.jsx("input",{type:"number",min:250,max:2e4,step:250,value:j,onChange:de=>b(Math.max(250,Number(de.target.value||0)||5e3))})]})})]})]}),M?s.jsx("div",{className:"mindmap_error mono",children:M}):null,s.jsxs("div",{className:"mindmap_explorer",children:[s.jsx(A1,{title:"mindmap",resetKey:tn,queryMode:"replace",items:Yt,warnings:W,onQuery:ar,onItemsReplace:er,onOpenSpan:({run_id:de,span_id:je,assertion:qe})=>{fn({run_id:de,span_id:je,assertion:qe})},onOpenTranscript:({run_id:de,span_id:je,assertion:qe})=>{const ot=String(de||"").trim(),ft=typeof je=="string"?String(je).trim():"";ot&&(ft?fn({run_id:ot,span_id:ft,assertion:qe}):Dn({run_id:ot,assertion:qe}))}}),Z.length?s.jsxs("div",{className:"mindmap_recent mindmap_overlay mindmap_overlay_recent",children:[s.jsx("div",{className:"mindmap_recent_title mono muted",children:"new assertions"}),s.jsx("div",{className:"mindmap_recent_list",children:Z.slice().sort((de,je)=>je.expires_at_ms-de.expires_at_ms).slice(0,12).map(de=>s.jsx("div",{className:"mindmap_recent_item mono",children:L1(de.assertion)},de.id))})]}):null,typeof we.min_ms=="number"&&typeof we.max_ms=="number"?s.jsx("div",{className:"mindmap_timeline mindmap_overlay mindmap_overlay_timeline",children:s.jsxs("div",{className:"mindmap_timeline_row",children:[s.jsx("button",{className:`btn mindmap_timeline_btn ${Xe?"primary":""}`,onClick:()=>{Ke(!0),typeof we.max_ms=="number"&&$n(we.max_ms)},children:"follow"}),s.jsx("div",{className:"mindmap_timeline_label mono muted",children:Hl(St)}),s.jsx("input",{className:"mindmap_slider",type:"range",min:we.min_ms,max:we.max_ms,step:1e3,value:typeof St=="number"?St:we.max_ms,onChange:de=>{Ke(!1),$n(Number(de.target.value||0))}}),s.jsxs("div",{className:"mindmap_timeline_counts mono muted",children:[Yt.length.toLocaleString(),"/",T.length.toLocaleString()]})]})}):null]}),s.jsxs(eo,{open:xe,title:Q||"source",onClose:()=>{ke(!1)},children:[Te?s.jsx("div",{className:"mono muted",children:"Loading…"}):null,I?s.jsx("div",{className:"mindmap_error mono",children:I}):null,!Te&&!I?s.jsxs("div",{className:"source_span",children:[(()=>{const de=he;if(!de)return null;const je=String(de.subject||"").trim(),qe=String(de.predicate||"").trim(),ot=String(de.object||"").trim(),ft=Hl(cl(de.observed_at)),Nt=de.attributes&&typeof de.attributes=="object"&&!Array.isArray(de.attributes)?de.attributes:null,Mt=Nt&&typeof Nt.evidence_quote=="string"?String(Nt.evidence_quote):"",Ft=Nt&&typeof Nt.original_context=="string"?String(Nt.original_context):"";return s.jsxs("div",{className:"source_header",children:[s.jsxs("div",{className:"mono source_triple",title:`${je} --${qe}--> ${ot}`,children:[je," ",s.jsxs("span",{className:"muted",children:["—",qe,"→"]})," ",ot," ",ft?s.jsxs("span",{className:"muted",children:["[",ft,"]"]}):null]}),Mt?s.jsxs("div",{className:"source_evidence",children:[s.jsx("div",{className:"mono muted",style:{fontSize:11,marginBottom:6},children:"evidence_quote"}),s.jsx("pre",{className:"mono source_evidence_quote",children:Mt}),Ft?s.jsxs("details",{className:"source_evidence_more",children:[s.jsx("summary",{className:"mono muted",children:"original_context"}),s.jsx("pre",{className:"mono source_evidence_quote",children:Ft})]}):null]}):null]})})(),s.jsxs("div",{className:"mono muted",style:{marginBottom:10},children:["run_id=",R," · ",D==="artifact"?`span_id=${O}`:"source=input_data"]}),s.jsxs("div",{className:"source_actions",children:[ze!==null?s.jsx("button",{className:"btn",onClick:()=>Ae(ze),children:"Jump to evidence"}):null,ze===null&&Le?s.jsx("button",{className:"btn",onClick:()=>Ct(),children:"Jump to evidence"}):null]}),(()=>{const de=ae,je=de&&typeof de=="object"&&!Array.isArray(de)?de:null,qe=Ye,ot=Ne,ft=je&&typeof je.created_at=="string"?String(je.created_at):"",Nt=ft?cl(ft):null,Mt=Nt!==null?Hl(Nt):ft,Ft=je&&je.span&&typeof je.span=="object"&&!Array.isArray(je.span)?je.span:null,nn=Ft&&typeof Ft.from_timestamp=="string"?String(Ft.from_timestamp):"",Rt=Ft&&typeof Ft.to_timestamp=="string"?String(Ft.to_timestamp):"",Qt=nn?cl(nn):null,ln=Rt?cl(Rt):null,Bt=Qt!==null&&ln!==null?`${Hl(Qt)} → ${Hl(ln)}`:"";if(ot){const gn=R1(ot);if(gn){const Kt=Me,st=Kt?gn.messages.findIndex(kn=>Md(kn.content,Kt)):-1,rn=Kt?Mg(Kt):[],tr=gn.created_at||ft,xn=tr?z1(tr):ft?Mt:"";return s.jsx("div",{className:"source_chat",children:gn.messages.map((kn,On)=>{const Bn=kn.role,Un=!!(Kt&&Md(kn.content,Kt)),xr=Bn==="user"?"USER":Bn==="assistant"?"ASSISTANT":"SYSTEM";return s.jsxs("div",{id:On===st?"source_note_msg_hit_0":void 0,className:`source_msg source_${Bn} ${Un?"source_match":""}`,children:[s.jsxs("div",{className:"source_msg_meta mono muted",children:[s.jsxs("span",{children:["#",On+1," · ",xr,Un?s.jsx("span",{className:"source_match_badge",children:"evidence"}):null]}),xn?s.jsx("span",{title:tr||"",children:xn}):null]}),s.jsx("div",{className:"source_msg_body",children:s.jsx(ro,{text:kn.content,highlights:Un&&rn.length?rn:void 0,highlightClassName:"source_note_hit",highlightId:On===st?"source_note_hit_0":void 0})})]},`note_msg:${On}`)})})}return s.jsxs("div",{className:"source_note",children:[ft?s.jsx("div",{className:"mono muted",style:{marginBottom:10},children:s.jsxs("span",{title:ft,children:["created_at=",Mt]})}):null,s.jsx(ro,{text:ot,highlights:Me?Mg(Me):void 0,highlightClassName:"source_note_hit",highlightId:"source_note_hit_0"})]})}if(qe){const gn=new Map;for(const st of qe){const rn=typeof(st==null?void 0:st.role)=="string"?String(st.role):"unknown";gn.set(rn,(gn.get(rn)||0)+1)}const Kt=Array.from(gn.entries()).sort((st,rn)=>rn[1]-st[1]||st[0].localeCompare(rn[0])).map(([st,rn])=>`${st}×${rn}`).join(" · ");return s.jsxs("div",{className:"source_chat",children:[ft?s.jsxs("div",{className:"mono muted",style:{marginBottom:10},children:[s.jsxs("span",{title:ft,children:["created_at=",Mt]})," · messages=",qe.length]}):null,Bt?s.jsxs("div",{className:"mono muted",style:{marginBottom:10},children:["span=",Bt]}):null,Kt?s.jsxs("div",{className:"mono muted",style:{marginBottom:10},children:["participants: ",Kt]}):null,qe.slice(0,200).map((st,rn)=>{var dr,Rr;const tr=typeof(st==null?void 0:st.role)=="string"?String(st.role):"unknown",xn=(st==null?void 0:st.content)==null?"":String(st.content),kn=typeof(st==null?void 0:st.timestamp)=="string"?String(st.timestamp):"",On=kn?cl(kn):null,Bn=On!==null?Hl(On):kn,Un=typeof(st==null?void 0:st.message_id)=="string"?String(st.message_id):typeof((dr=st==null?void 0:st.metadata)==null?void 0:dr.message_id)=="string"?String(st.metadata.message_id):typeof((Rr=st==null?void 0:st.metadata)==null?void 0:Rr.id)=="string"?String(st.metadata.id):"",xr=gt.has(rn);return s.jsxs("div",{id:`source_msg_${rn}`,className:`source_msg source_${tr} ${xr?"source_match":""}`,children:[s.jsxs("div",{className:"source_msg_meta mono muted",children:[s.jsxs("span",{children:["#",rn+1," · ",tr,xr?s.jsx("span",{className:"source_match_badge",children:"evidence"}):null,Un?s.jsx("span",{className:"source_msg_id",children:Un}):null]}),kn?s.jsx("span",{title:kn,children:Bn}):null]}),s.jsx("div",{className:"source_msg_body",children:s.jsx(ro,{text:xn})})]},rn)})]})}return s.jsx("pre",{className:"mono source_raw",style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:(typeof de=="string"?de:$e)||"(empty)"})})()]}):null]})]})}function ym(e,t){const r=String(e||"");return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}function I1(e){const t=String(e||"").trim().toLowerCase();return t==="running"?{cls:"ok",label:"running"}:t==="stopped"?{cls:"muted",label:"stopped"}:t.includes("restart")?{cls:"warn",label:t}:t.includes("error")||t.includes("failed")?{cls:"danger",label:t||"error"}:{cls:"warn",label:t||"unknown"}}function O1(e){const t=r=>{const o=String((r==null?void 0:r.id)||"").trim();return o==="gateway"?0:o==="build"?1:10};return[...e||[]].sort((r,o)=>{const l=t(r),u=t(o);if(l!==u)return l-u;const c=String((r==null?void 0:r.label)||(r==null?void 0:r.id)||"").toLowerCase(),f=String((o==null?void 0:o.label)||(o==null?void 0:o.id)||"").toLowerCase();return c<f?-1:c>f?1:0})}function F1(e){const t=String(e||"").trim().toLowerCase();return t==="override"?{cls:"ok",label:"override"}:t.startsWith("inherited")?{cls:"info",label:t}:t==="unset"?{cls:"warn",label:"unset"}:!t||t==="missing"?{cls:"muted",label:"missing"}:{cls:"muted",label:t}}function D1({gateway:e,gateway_connected:t}){const[r,o]=p.useState("processes"),[l,u]=p.useState(null),[c,f]=p.useState([]),[m,_]=p.useState(!1),[g,x]=p.useState(""),[v,w]=p.useState(!1),[j,b]=p.useState(null),[T,A]=p.useState([]),[W,H]=p.useState(!1),[M,G]=p.useState(""),[te,V]=p.useState({}),[Z,ge]=p.useState(!1),[xe,ke]=p.useState(null),[Te,oe]=p.useState(""),[I,se]=p.useState(""),[Q,ce]=p.useState(!1),R=p.useRef(null),L=p.useMemo(()=>O1(c),[c]),O=p.useCallback(async()=>{if(t){_(!0),x("");try{const K=await e.list_processes();u(!!(K!=null&&K.enabled));const Me=Array.isArray(K==null?void 0:K.processes)?K.processes:[];f(Me)}catch(K){x(String((K==null?void 0:K.message)||K||"Failed to list processes"))}finally{_(!1)}}},[e,t]),$=p.useCallback(async()=>{if(t){H(!0),G("");try{const K=await e.list_process_env_vars();b(!!(K!=null&&K.enabled));const Me=Array.isArray(K==null?void 0:K.vars)?K.vars:[];A(Me);const Ne=String((K==null?void 0:K.error)||"").trim();Ne&&G(Ne)}catch(K){G(String((K==null?void 0:K.message)||K||"Failed to list env vars"))}finally{H(!1)}}},[e,t]),D=p.useCallback(async()=>{if(!t)return;const K=xe;if(K){ce(!0);try{const Me=await e.process_log_tail(String(K.id||""),{max_bytes:16e4}),Ne=String((Me==null?void 0:Me.content)||""),Ye=typeof(Me==null?void 0:Me.bytes)=="number"?Number(Me.bytes):0,Le=!!(Me!=null&&Me.truncated),mt=String((Me==null?void 0:Me.log_relpath)||"");oe(Ne),se(`${Ye.toLocaleString()} bytes${Le?" (tail)":""}${mt?` • ${mt}`:""}`)}catch(Me){oe(""),se(""),x(String((Me==null?void 0:Me.message)||Me||"Failed to read logs"))}finally{ce(!1)}}},[e,t,xe]),ne=p.useCallback(async K=>{ke(K),ge(!0)},[]),ae=p.useCallback(()=>{ge(!1),ke(null),oe(""),se("")},[]);p.useEffect(()=>{t&&O()},[t,O]),p.useEffect(()=>{if(!t||r!=="processes"||!v)return;const K=window.setInterval(()=>void O(),2e3);return()=>window.clearInterval(K)},[t,r,v,O]),p.useEffect(()=>{t&&r==="env_vars"&&$()},[t,r,$]),p.useEffect(()=>{if(t&&Z)return D(),R.current&&window.clearInterval(R.current),R.current=window.setInterval(()=>void D(),1500),()=>{R.current&&window.clearInterval(R.current),R.current=null}},[t,Z,D]);async function ve(K,Me){x("");try{Me==="start"?await e.start_process(K.id):Me==="stop"?await e.stop_process(K.id):Me==="restart"?await e.restart_process(K.id):Me==="redeploy"&&await e.redeploy_process(K.id),await O()}catch(Ne){x(String((Ne==null?void 0:Ne.message)||Ne||`Failed to ${Me}`))}}async function $e(K){const Me=String(K||"").trim();if(Me){G("");try{const Ne=String((te==null?void 0:te[Me])??""),Ye=await e.update_process_env_vars({set:{[Me]:Ne}});b(!!(Ye!=null&&Ye.enabled)),A(Array.isArray(Ye==null?void 0:Ye.vars)?Ye.vars:[]),V(mt=>({...mt||{},[Me]:""}));const Le=String((Ye==null?void 0:Ye.error)||"").trim();Le&&G(Le)}catch(Ne){G(String((Ne==null?void 0:Ne.message)||Ne||"Failed to set env var"))}}}async function ue(K){const Me=String(K||"").trim();if(Me){G("");try{const Ne=await e.update_process_env_vars({unset:[Me]});b(!!(Ne!=null&&Ne.enabled)),A(Array.isArray(Ne==null?void 0:Ne.vars)?Ne.vars:[]),V(Le=>({...Le||{},[Me]:""}));const Ye=String((Ne==null?void 0:Ne.error)||"").trim();Ye&&G(Ye)}catch(Ne){G(String((Ne==null?void 0:Ne.message)||Ne||"Failed to unset env var"))}}}const he=l===null?"…":l?"enabled":"disabled",Fe=j===null?"…":j?"enabled":"disabled";return s.jsx("div",{className:"page page_scroll",children:s.jsxs("div",{className:"page_inner constrained",children:[s.jsxs("div",{className:"card",children:[s.jsxs("div",{className:"title",children:[s.jsx("h1",{children:"Process manager"}),s.jsxs("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginTop:"10px"},children:[s.jsx("button",{className:`nav_tab ${r==="processes"?"active":""}`,onClick:()=>o("processes"),children:"Processes"}),s.jsx("button",{className:`nav_tab ${r==="env_vars"?"active":""}`,onClick:()=>o("env_vars"),children:"Env vars"})]})]}),t?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"mono muted",style:{marginTop:"6px"},children:["Process manager: ",he]}),l===!1?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"hint"}),s.jsx("span",{className:"mono",children:"server"})]}),s.jsxs("div",{className:"body mono",children:["Set ",s.jsx("span",{className:"mono",children:"ABSTRACTGATEWAY_ENABLE_PROCESS_MANAGER=1"})," and"," ",s.jsx("span",{className:"mono",children:"ABSTRACTGATEWAY_TRIAGE_REPO_ROOT"})," on the gateway host."]})]}):null,r==="processes"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"actions",style:{marginTop:"10px"},children:[s.jsxs("button",{className:`btn btn_icon ${m?"is_loading":""}`,onClick:()=>void O(),disabled:!t||m,children:[s.jsx(Zn,{name:"refresh",size:16}),m?"Refreshing…":"Refresh"]}),s.jsxs("label",{className:"btn",style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s.jsx("input",{type:"checkbox",checked:v,onChange:K=>w(!!K.target.checked)}),"auto"]})]}),g?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:"processes"})]}),s.jsx("div",{className:"body mono",children:g})]}):null,s.jsx("div",{style:{marginTop:"12px"},children:L.map(K=>{const Me=String(K.id||"").trim(),Ne=String(K.label||Me).trim()||Me,Ye=I1(String(K.status||"")),Le=Array.isArray(K==null?void 0:K.actions)?K.actions.map(Ke=>String(Ke||"").trim()):[],mt=Le.includes("start"),gt=Le.includes("stop"),ze=Le.includes("restart"),Ae=Le.includes("redeploy"),Ct=Le.includes("logs"),kt=typeof(K==null?void 0:K.pid)=="number"?Number(K.pid):null,Ot=String((K==null?void 0:K.url)||"").trim(),lt=String((K==null?void 0:K.description)||"").trim(),me=String((K==null?void 0:K.last_error)||"").trim(),tn=typeof(K==null?void 0:K.exit_code)=="number"?Number(K.exit_code):null,we=[];kt&&we.push(`pid ${kt}`),tn!==null&&we.push(`exit ${tn}`),Ot&&we.push(Ot);const Xe=we.join(" • ");return s.jsxs("div",{className:"log_item",style:{marginBottom:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:Me}),s.jsx("span",{className:`tag ${Ye.cls}`,children:Ye.label})]}),s.jsxs("div",{className:"body",children:[s.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:"10px",flexWrap:"wrap"},children:s.jsxs("div",{children:[s.jsx("div",{style:{fontWeight:700},children:Ne}),lt?s.jsx("div",{className:"mono muted",style:{marginTop:"4px"},children:ym(lt,220)}):null,Xe?s.jsx("div",{className:"mono muted",style:{marginTop:"6px",fontSize:"var(--font-size-sm)"},children:Xe}):null]})}),me?s.jsx("div",{className:"mono",style:{marginTop:"8px",color:"var(--error)"},children:ym(me,360)}):null,s.jsxs("div",{className:"actions",style:{marginTop:"10px"},children:[mt?s.jsx("button",{className:"btn primary",onClick:()=>void ve(K,"start"),disabled:m,children:"Start"}):null,gt?s.jsx("button",{className:"btn danger",onClick:()=>void ve(K,"stop"),disabled:m,children:"Stop"}):null,ze?s.jsx("button",{className:"btn",onClick:()=>void ve(K,"restart"),disabled:m,children:"Restart"}):null,Ae?s.jsx("button",{className:"btn",onClick:()=>void ve(K,"redeploy"),disabled:m,children:"Redeploy"}):null,Ct?s.jsx("button",{className:"btn",onClick:()=>void ne(K),disabled:m,children:"Logs"}):null]})]})]},Me)})})]}):s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:"Write-only: the gateway will never return env var values to the browser. Use this for integration config (email, notifications, …)."}),s.jsxs("div",{className:"mono muted",style:{marginTop:"6px"},children:["Env vars: ",Fe]}),s.jsx("div",{className:"actions",style:{marginTop:"10px"},children:s.jsxs("button",{className:`btn btn_icon ${W?"is_loading":""}`,onClick:()=>void $(),disabled:!t||W,children:[s.jsx(Zn,{name:"refresh",size:16}),W?"Refreshing…":"Refresh"]})}),M?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:"env"})]}),s.jsx("div",{className:"body mono",children:M})]}):null,s.jsxs("div",{style:{marginTop:"12px"},children:[T.map(K=>{const Me=String((K==null?void 0:K.key)||"").trim();if(!Me)return null;const Ne=String((K==null?void 0:K.label)||Me).trim()||Me,Ye=String((K==null?void 0:K.description)||"").trim(),Le=String((K==null?void 0:K.source)||"").trim(),mt=!!(K!=null&&K.secret),gt=String((K==null?void 0:K.updated_at)||"").trim(),ze=F1(Le),Ae=String((te==null?void 0:te[Me])??"");return s.jsxs("div",{className:"log_item",style:{marginBottom:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:Me}),s.jsx("span",{className:`chip mono ${ze.cls}`,children:ze.label})]}),s.jsxs("div",{className:"body",children:[s.jsx("div",{style:{fontWeight:700},children:Ne}),Ye?s.jsx("div",{className:"mono muted",style:{marginTop:"4px"},children:ym(Ye,280)}):null,gt?s.jsxs("div",{className:"mono muted",style:{marginTop:"6px",fontSize:"var(--font-size-sm)"},children:["updated ",gt]}):null,s.jsxs("div",{className:"actions",style:{marginTop:"10px",alignItems:"center"},children:[s.jsx("input",{className:"input",value:Ae,onChange:Ct=>V(kt=>({...kt||{},[Me]:String(Ct.target.value||"")})),placeholder:mt?"••••••••":"value",type:mt?"password":"text",style:{flex:"1 1 320px",minWidth:"220px"},autoComplete:"off",spellCheck:!1}),s.jsx("button",{className:"btn primary",onClick:()=>void $e(Me),disabled:W,children:"Set"}),s.jsx("button",{className:"btn",onClick:()=>void ue(Me),disabled:W,children:"Unset"})]})]})]},`env:${Me}`)}),T.length?null:s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No env vars available (process manager must be enabled)."})]})]})]}):s.jsxs("div",{className:"mono muted",children:["Not connected. Open"," ",s.jsx("span",{className:"mono",style:{opacity:.9},children:"Settings"})," ","to connect to a gateway."]})]}),Z&&xe?s.jsxs(eo,{open:Z,title:`${String(xe.label||xe.id||"logs").trim()||"Logs"}`,onClose:ae,children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:I}),s.jsxs("div",{className:"actions",style:{marginTop:"10px"},children:[s.jsxs("button",{className:`btn btn_icon ${Q?"is_loading":""}`,onClick:()=>void D(),disabled:Q,children:[s.jsx(Zn,{name:"refresh",size:16}),Q?"Refreshing…":"Refresh"]}),s.jsxs("button",{className:"btn btn_icon",onClick:()=>{try{navigator.clipboard.writeText(Te||"")}catch{}},disabled:!Te,children:[s.jsx(Zn,{name:"copy",size:16}),"Copy"]})]}),s.jsx("pre",{className:"mono",style:{marginTop:"10px",padding:"10px",borderRadius:"10px",border:"1px solid rgba(255,255,255,0.12)",background:"rgba(0,0,0,0.22)",overflowX:"auto",maxHeight:"55vh",whiteSpace:"pre-wrap"},children:Te||"(no logs yet)"})]}):null]})})}function Rg(e){const t=String(e||"").trim();if(!t)return"";const r=t.split("/").filter(Boolean);return r.length?r[r.length-1]:""}function Ad(e){const t=String(e||"").trim();if(!t)return"";const r=Date.parse(t);return Number.isFinite(r)?new Date(r).toLocaleString():t}function Pc(e,t){const r=String(e||"");return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}function B1(e){const t=e.gateway,[r,o]=p.useState("messages"),[l,u]=p.useState([]),[c,f]=p.useState([]),[m,_]=p.useState([]),[g,x]=p.useState(!1),[v,w]=p.useState(""),[j,b]=p.useState(null),[T,A]=p.useState(""),[W,H]=p.useState(!1),[M,G]=p.useState(""),[te,V]=p.useState("pending"),[Z,ge]=p.useState(null),[xe,ke]=p.useState(""),[Te,oe]=p.useState(null),[I,se]=p.useState(""),[Q,ce]=p.useState(!1),[R,L]=p.useState(!1),[O,$]=p.useState(""),[D,ne]=p.useState(""),ae=!!D,[ve,$e]=p.useState(""),[ue,he]=p.useState(""),[Fe,K]=p.useState(""),[Me,Ne]=p.useState(!1),Ye=e.gateway_connected,Le=p.useMemo(()=>r==="bugs"?l:r==="features"?c:[],[r,l,c]);async function mt(){const we=await t.list_bug_reports();u(Array.isArray(we==null?void 0:we.items)?we.items:[])}async function gt(){const we=await t.list_feature_requests();f(Array.isArray(we==null?void 0:we.items)?we.items:[])}async function ze(){const we=await t.list_triage_decisions({status:te||void 0,limit:500}),Xe=Array.isArray(we==null?void 0:we.decisions)?we.decisions:[];_(Xe),Z&&!Xe.some(Ke=>Ke.decision_id===Z.decision_id)&&(ge(null),ke(""),oe(null),se(""))}async function Ae(){if(Ye){w(""),x(!0);try{r==="bugs"?await mt():r==="features"?await gt():await ze()}catch(we){w(String((we==null?void 0:we.message)||we||"Refresh failed"))}finally{x(!1)}}}p.useEffect(()=>{Ae()},[r,Ye,te]);async function Ct(we){b(we),A(""),G(""),H(!0);try{if(we.report_type==="bug"){const Xe=await t.get_bug_report_content(we.filename);A(String((Xe==null?void 0:Xe.content)||""))}else{const Xe=await t.get_feature_request_content(we.filename);A(String((Xe==null?void 0:Xe.content)||""))}}catch(Xe){G(String((Xe==null?void 0:Xe.message)||Xe||"Failed to load report"))}finally{H(!1)}}async function kt(we){ge(we),ke(""),oe(null),se("");const Xe=Rg(we.report_relpath);if(Xe)try{if(we.report_type==="bug"){const Ke=await t.get_bug_report_content(Xe);ke(String((Ke==null?void 0:Ke.content)||""))}else if(we.report_type==="feature"){const Ke=await t.get_feature_request_content(Xe);ke(String((Ke==null?void 0:Ke.content)||""))}}catch(Ke){se(String((Ke==null?void 0:Ke.message)||Ke||"Failed to load report"))}}async function Ot(we){se(""),oe(null);const Xe=String(we.draft_relpath||"").trim();if(!Xe)return;const Ke=Rg(Xe);if(Ke)try{const St=await t.backlog_content("proposed",Ke);oe(St)}catch(St){se(String((St==null?void 0:St.message)||St||"Failed to load draft (is repo root configured on gateway?)"))}}async function lt(we,Xe){if(Z&&!Q){se(""),ce(!0);try{const Ke=await t.apply_triage_decision(Z.decision_id,{action:we,defer_days:Xe??null});await ze();const St=String(te||"").trim().toLowerCase(),$n=String((Ke==null?void 0:Ke.status)||"").trim().toLowerCase();if(!(!St||St===$n))ge(null),ke(""),oe(null);else if(ge(Ke),String(Ke.draft_relpath||"").trim())try{await Ot(Ke)}catch{}}catch(Ke){se(String((Ke==null?void 0:Ke.message)||Ke||"Decision action failed"))}finally{ce(!1)}}}async function me(){if(!R){w(""),L(!0);try{const we=await t.triage_run({write_drafts:!1,enable_llm:!1});$(`Scanned ${(we==null?void 0:we.reports)??0} report(s); updated ${(we==null?void 0:we.updated_decisions)??0} decision(s).`),await ze()}catch(we){w(String((we==null?void 0:we.message)||we||"Triage failed"))}finally{L(!1)}}}p.useEffect(()=>{ae&&(K(""),he(""),Ne(!1),$e(String(e.default_session_id||"").trim()))},[ae,e.default_session_id]);async function tn(){var we,Xe;if(D&&!Me){K(""),Ne(!0);try{const Ke=String(ve||"").trim();if(!Ke)throw new Error("session_id is required");const St=String(ue||"").trim();if(!St)throw new Error("description is required");const $n={session_id:Ke,description:St,active_run_id:String(e.default_active_run_id||"").trim()||void 0,workflow_id:String(e.default_workflow_id||"").trim()||void 0,client:"abstractobserver/web",client_version:"",user_agent:String(((we=globalThis==null?void 0:globalThis.navigator)==null?void 0:we.userAgent)||""),url:String(((Xe=globalThis==null?void 0:globalThis.location)==null?void 0:Xe.href)||"")};if(D==="bug"){const Yt=await t.bug_report_create($n),Xt=String((Yt==null?void 0:Yt.filename)||"").trim();ne(""),o("bugs");const pn=await t.list_bug_reports(),fn=Array.isArray(pn==null?void 0:pn.items)?pn.items:[];u(fn);const Vn=fn.find(Dn=>Dn.filename===Xt)||null;Vn&&await Ct(Vn)}else{const Yt=await t.feature_report_create($n),Xt=String((Yt==null?void 0:Yt.filename)||"").trim();ne(""),o("features");const pn=await t.list_feature_requests(),fn=Array.isArray(pn==null?void 0:pn.items)?pn.items:[];f(fn);const Vn=fn.find(Dn=>Dn.filename===Xt)||null;Vn&&await Ct(Vn)}}catch(Ke){K(String((Ke==null?void 0:Ke.message)||Ke||"Failed to create report"))}finally{Ne(!1)}}}return s.jsxs("div",{className:"page",children:[s.jsxs("div",{className:"page_inner",children:[s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"title",children:s.jsx("h1",{children:"Inbox"})}),s.jsxs("div",{className:"row",style:{alignItems:"center",justifyContent:"space-between"},children:[s.jsxs("div",{className:"tab_bar",style:{paddingBottom:0,borderBottom:"none"},children:[s.jsx("button",{className:`tab ${r==="messages"?"active":""}`,onClick:()=>o("messages"),children:"Messages"}),s.jsx("button",{className:`tab ${r==="bugs"?"active":""}`,onClick:()=>o("bugs"),children:"Bugs"}),s.jsx("button",{className:`tab ${r==="features"?"active":""}`,onClick:()=>o("features"),children:"Features"})]}),s.jsxs("div",{className:"row",style:{gap:"8px",justifyContent:"flex-end"},children:[r==="messages"?s.jsxs(s.Fragment,{children:[s.jsxs("select",{value:te,onChange:we=>V(String(we.target.value)),title:"Filter triage decisions by status",children:[s.jsx("option",{value:"pending",children:"pending"}),s.jsx("option",{value:"approved",children:"approved"}),s.jsx("option",{value:"deferred",children:"deferred"}),s.jsx("option",{value:"rejected",children:"rejected"}),s.jsx("option",{value:"",children:"all"})]}),s.jsx("button",{className:"btn",onClick:()=>void Ae(),disabled:!Ye||g,children:g?"Refreshing…":"Refresh"}),s.jsx("button",{className:"btn primary",onClick:()=>void me(),disabled:!Ye||R,children:R?"Running…":"Run triage"})]}):s.jsx("button",{className:"btn",onClick:()=>void Ae(),disabled:!Ye||g,children:g?"Refreshing…":"Refresh"}),s.jsx("button",{className:"btn",onClick:()=>ne("bug"),disabled:!Ye,children:"File bug"}),s.jsx("button",{className:"btn",onClick:()=>ne("feature"),disabled:!Ye,children:"File feature"})]})]}),O?s.jsx("div",{className:"mono muted",style:{marginTop:"8px",fontSize:"var(--font-size-sm)"},children:O}):null,v?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",marginTop:"8px",fontSize:"var(--font-size-sm)"},children:v}):null]}),s.jsxs("div",{className:"inbox_layout",children:[s.jsx("div",{className:"card inbox_sidebar",children:r==="messages"?s.jsx("div",{className:"inbox_list",children:m.length?m.map(we=>{const Xe=(Z==null?void 0:Z.decision_id)===we.decision_id,Ke=Array.isArray(we.missing_fields)?we.missing_fields.length:0;return s.jsxs("button",{className:`inbox_item ${Xe?"active":""}`,onClick:()=>void kt(we),children:[s.jsxs("div",{className:"inbox_item_title",children:[s.jsx("span",{className:`pill ${String(we.status||"").toLowerCase()}`,children:String(we.status||"pending")}),s.jsx("span",{className:"mono",children:we.report_type}),s.jsx("span",{className:"mono muted",children:Pc(we.decision_id,10)})]}),s.jsxs("div",{className:"inbox_item_meta mono muted",children:[Ke?`${Ke} missing`:"complete"," • ",Ad(we.updated_at||we.created_at)||"(time?)"]}),s.jsx("div",{className:"inbox_item_meta mono",children:Pc(we.report_relpath||"",46)})]},we.decision_id)}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No decisions."})}):s.jsx("div",{className:"inbox_list",children:Le.length?Le.map(we=>{const Xe=(j==null?void 0:j.filename)===we.filename&&(j==null?void 0:j.report_type)===we.report_type,Ke=String(we.triage_status||"").trim().toLowerCase();return s.jsxs("button",{className:`inbox_item ${Xe?"active":""}`,onClick:()=>void Ct(we),children:[s.jsxs("div",{className:"inbox_item_title",children:[Ke?s.jsx("span",{className:`pill ${Ke}`,children:Ke}):null,s.jsx("span",{className:"mono",children:Pc(we.title||we.filename,46)})]}),s.jsxs("div",{className:"inbox_item_meta mono muted",children:[Ad(we.created_at)||"(time?)"," • ",we.session_id?Pc(we.session_id,12):"session?"]}),s.jsx("div",{className:"inbox_item_meta mono",children:we.filename})]},we.relpath)}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No reports."})})}),s.jsx("div",{className:"card inbox_viewer",children:r==="messages"?Z?s.jsxs("div",{className:"inbox_detail",children:[s.jsxs("div",{className:"inbox_detail_header",children:[s.jsxs("div",{className:"inbox_detail_title",children:[s.jsx("span",{className:"mono",style:{fontWeight:700},children:"Triage decision"}),s.jsx("span",{className:"chip mono muted",children:Z.report_type}),s.jsx("span",{className:"chip mono muted",children:Z.status}),s.jsx("span",{className:"chip mono muted",children:Pc(Z.decision_id,16)})]}),s.jsxs("div",{className:"inbox_detail_actions",children:[s.jsx("button",{className:"btn",onClick:()=>{Xs(Z.report_relpath||"")},children:"Copy report path"}),Z.draft_relpath?s.jsx("button",{className:"btn",onClick:()=>void Ot(Z),children:"Load draft"}):null,s.jsx("button",{className:"btn primary",onClick:()=>void lt("approve"),disabled:Q,children:"Approve"}),s.jsx("button",{className:"btn",onClick:()=>void lt("defer",1),disabled:Q,children:"Defer 1d"}),s.jsx("button",{className:"btn",onClick:()=>void lt("defer",7),disabled:Q,children:"Defer 7d"}),s.jsx("button",{className:"btn",onClick:()=>void lt("reject"),disabled:Q,children:"Reject"})]})]}),s.jsxs("div",{className:"inbox_detail_meta mono muted",style:{fontSize:"var(--font-size-sm)"},children:[Z.updated_at?`updated ${Ad(Z.updated_at)}`:null,Z.created_at?`${Z.updated_at?" • ":""}created ${Ad(Z.created_at)}`:null,Z.defer_until?` • defer until ${Z.defer_until}`:null]}),I?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:I}):null,s.jsxs("div",{className:"row",style:{gap:"12px"},children:[s.jsxs("div",{className:"col",style:{minWidth:240},children:[s.jsx("div",{className:"section_title",children:"Missing fields"}),Z.missing_fields&&Z.missing_fields.length?s.jsx("ul",{className:"inbox_list_ul mono",children:Z.missing_fields.map(we=>s.jsx("li",{children:we},we))}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"None."}),s.jsx("div",{className:"section_title",style:{marginTop:"10px"},children:"Possible duplicates"}),Z.duplicates&&Z.duplicates.length?s.jsx("ul",{className:"inbox_list_ul mono",children:Z.duplicates.slice(0,20).map((we,Xe)=>{const Ke=String((we==null?void 0:we.title)||(we==null?void 0:we.ref)||(we==null?void 0:we.kind)||"duplicate").trim(),St=typeof(we==null?void 0:we.score)=="number"&&Number.isFinite(we.score)?` (score ${we.score.toFixed(2)})`:"";return s.jsxs("li",{children:[Ke,St]},`${Ke}_${Xe}`)})}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"None."})]}),s.jsxs("div",{className:"col",style:{minWidth:240},children:[s.jsx("div",{className:"section_title",children:"Draft"}),Z.draft_relpath?s.jsxs("div",{className:"mono",style:{fontSize:"var(--font-size-sm)"},children:[s.jsx("div",{className:"mono muted",children:"path"}),s.jsx("div",{className:"mono",children:Z.draft_relpath})]}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No draft yet. Approve to generate one (requires repo mounted on gateway host)."})]})]}),Te?s.jsxs("div",{className:"inbox_markdown",children:[s.jsx("div",{className:"section_title",children:"Draft content"}),s.jsx(ro,{text:String(Te.content||"")})]}):null,s.jsxs("div",{className:"inbox_markdown",children:[s.jsx("div",{className:"section_title",children:"Source report"}),xe?s.jsx(ro,{text:xe}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No report preview loaded."})]})]}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Select a decision."}):j?s.jsxs("div",{className:"inbox_detail",children:[s.jsxs("div",{className:"inbox_detail_header",children:[s.jsxs("div",{className:"inbox_detail_title",children:[s.jsx("span",{className:"mono",style:{fontWeight:700},children:j.report_type==="bug"?"Bug report":"Feature request"}),j.triage_status?s.jsx("span",{className:`pill ${j.triage_status}`,children:j.triage_status}):null,s.jsx("span",{className:"chip mono muted",children:j.filename}),j.session_id?s.jsx("span",{className:"chip mono muted",children:Pc(j.session_id,16)}):null]}),s.jsx("div",{className:"inbox_detail_actions",children:s.jsx("button",{className:"btn",onClick:()=>{Xs(j.relpath||"")},children:"Copy path"})})]}),M?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:M}):null,W?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Loading…"}):T?s.jsx(ro,{text:T}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No content loaded."})]}):s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Select a report."})})]})]}),s.jsxs(eo,{open:ae,title:D==="bug"?"File bug report":"File feature request",onClose:()=>ne(""),actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>ne(""),disabled:Me,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:()=>void tn(),disabled:Me,children:Me?"Submitting…":"Submit"})]}),children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Session ID"}),s.jsx("input",{value:ve,onChange:we=>$e(we.target.value),placeholder:"session id (required)"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"This correlates runs + attachments (via the session memory run)."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:D==="bug"?"Bug description":"Feature description"}),s.jsx("textarea",{value:ue,onChange:we=>he(we.target.value),placeholder:D==="bug"?"What is broken? What did you expect?":"What do you want to be able to do?",rows:6})]}),Fe?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:Fe}):null]})]})}function U1(e){const t=typeof e=="string"?e.trim():"";if(!t)return null;const r=Date.parse(t);return Number.isFinite(r)?r:null}function W1(e){const t=Date.now(),r=e.getTime(),o=t-r,l=Math.floor(o/1e3),u=Math.floor(l/60),c=Math.floor(u/60),f=Math.floor(c/24);return l<60?"Just now":u<60?`${u}m ago`:c<24?`${c}h ago`:f<=3?`${f}d ago`:e.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function Wy(e){const t=U1(e);return t===null?"—":W1(new Date(t))}function H1(e,t){const r=String(e||"");return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}function Hy(e){const t=typeof e.workflow_id=="string"?String(e.workflow_id).trim():"",r=String(e.status||"").trim().toLowerCase(),o=String(e.waiting_reason||"").trim().toLowerCase(),l=!!e.is_scheduled||t&&t.startsWith("scheduled:"),u=!!e.paused,c={completed:{label:"Completed",cls:"success"},failed:{label:"Failed",cls:"error"},cancelled:{label:"Cancelled",cls:"muted"},waiting:{label:"Waiting",cls:"warning"},running:{label:"Running",cls:"info"}};return l&&u?{label:"Suspended",cls:"scheduled"}:r==="waiting"&&l?{label:"Scheduled",cls:"scheduled"}:r==="running"&&l&&o==="until"?{label:"Scheduled",cls:"scheduled"}:c[r]||{label:e.status||"Unknown",cls:"muted"}}function qy(e,t){const r=String(e||"").trim();if(r){const o=t[r];if(o){const u=o.split(/[·:]/);return u.length>1?u[u.length-1].trim():o.trim()}const l=r.indexOf(":");if(l>0)return r.slice(l+1).trim()||r.slice(0,l).trim();if(/[a-z]/i.test(r))return r}return"(unknown workflow)"}function q1({run:e,workflow_label_by_id:t,selected:r,onClick:o}){const l=typeof e.workflow_id=="string"?String(e.workflow_id):"",u=typeof e.schedule_target_workflow_id=="string"?String(e.schedule_target_workflow_id):"",c=u.trim()?u:l,f=qy(c,t),m=Hy(e),_=Wy(e.updated_at||e.created_at),g=typeof e.ledger_len=="number"&&e.ledger_len>0?e.ledger_len:null,x=!!e.is_scheduled||l&&l.startsWith("scheduled:"),v=String(e.schedule_interval||"").trim(),w=[];x&&w.push(v?`every ${v}`:"scheduled"),g!==null&&w.push(`${g} steps`);const j=w.join(" • ");return s.jsxs("button",{className:`run_card ${r?"selected":""}`,onClick:o,type:"button",children:[s.jsxs("div",{className:"run_card_header",children:[s.jsx("span",{className:"run_card_name",children:f}),s.jsx("span",{className:`run_card_status ${m.cls}`,children:m.label})]}),s.jsxs("div",{className:"run_card_time",children:[s.jsx("span",{children:_}),s.jsx("span",{className:"run_card_sep",children:"•"}),s.jsx("span",{className:"mono",children:H1(e.run_id,8)})]}),j?s.jsx("div",{className:"run_card_meta",children:j}):null]})}function V1({run:e,workflow_label_by_id:t}){const r=typeof e.workflow_id=="string"?String(e.workflow_id):"",o=typeof e.schedule_target_workflow_id=="string"?String(e.schedule_target_workflow_id):"",l=o.trim()?o:r,u=qy(l,t),c=Hy(e),f=Wy(e.updated_at||e.created_at);return s.jsxs("div",{className:"run_selected_badge",children:[s.jsx("span",{className:"run_selected_name",children:u}),s.jsx("span",{className:`run_selected_status ${c.cls}`,children:c.label}),s.jsx("span",{className:"run_selected_time",children:f})]})}function G1({runs:e,selected_run_id:t,workflow_label_by_id:r,disabled:o,loading:l,onSelect:u}){const[c,f]=p.useState(!1),[m,_]=p.useState(""),[g,x]=p.useState(null),v=p.useRef(null),w=p.useRef(null);p.useEffect(()=>{if(!c)return;const T=A=>{v.current&&(v.current.contains(A.target)||f(!1))};return window.addEventListener("mousedown",T),()=>window.removeEventListener("mousedown",T)},[c]),p.useEffect(()=>{if(!c)return;const T=()=>{if(!w.current)return;const A=w.current.getBoundingClientRect(),W=12,H=Math.min(720,window.innerWidth-W*2);let M=A.left,G=Math.max(A.width,H);G>window.innerWidth-W*2&&(G=window.innerWidth-W*2),M+G>window.innerWidth-W&&(M=Math.max(W,window.innerWidth-W-G)),M<W&&(M=W);const te=320,V=520,Z=window.innerHeight-A.bottom-W,ge=A.top-W,xe=Z<te&&ge>Z;let ke=Math.max(te,xe?ge:Z);ke=Math.min(ke,V,window.innerHeight-W*2);let Te=xe?A.top-8-ke:A.bottom+8;Te=Math.min(Te,window.innerHeight-W-ke),Te=Math.max(W,Te),x({left:M,width:G,height:ke,top:Te})};return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[c]);const j=p.useMemo(()=>{const T=String(t||"").trim();return T?e.find(A=>String(A.run_id||"").trim()===T)||{run_id:T}:null},[e,t]),b=p.useMemo(()=>{const T=String(m||"").trim().toLowerCase();return T?e.filter(A=>{const W=String(A.run_id||"").toLowerCase(),H=typeof A.workflow_id=="string"?String(A.workflow_id).toLowerCase():"",M=typeof A.schedule_target_workflow_id=="string"?String(A.schedule_target_workflow_id).toLowerCase():"",G=H?String(r[String(A.workflow_id)]||"").toLowerCase():"",te=M?String(r[String(A.schedule_target_workflow_id)]||"").toLowerCase():"",V=typeof A.status=="string"?String(A.status).toLowerCase():"";return W.includes(T)||H.includes(T)||G.includes(T)||M.includes(T)||te.includes(T)||V.includes(T)}):e},[e,m,r]);return s.jsxs("div",{className:"run_picker",ref:v,children:[s.jsxs("button",{className:"run_picker_btn",ref:w,onClick:()=>{o||f(T=>!T)},disabled:o,type:"button",children:[l?s.jsx("span",{className:"muted",children:"Loading runs…"}):j?s.jsx(V1,{run:j,workflow_label_by_id:r}):s.jsx("span",{className:"run_picker_placeholder",children:"Select a run to observe"}),s.jsx("span",{className:"run_picker_chevron",children:c?"▲":"▼"})]}),c?s.jsxs("div",{className:"run_picker_panel",style:g?{left:`${g.left}px`,width:`${g.width}px`,height:`${g.height}px`,top:`${g.top}px`}:void 0,children:[s.jsx("div",{className:"run_picker_header",children:s.jsx("input",{className:"run_picker_filter",value:m,onChange:T=>_(T.target.value),placeholder:"Search runs by name, status..."})}),s.jsx("div",{className:"run_picker_grid",children:b.length?b.map(T=>{const A=String(T.run_id||"").trim();if(!A)return null;const W=String(t||"").trim()===A;return s.jsx(q1,{run:T,workflow_label_by_id:r,selected:W,onClick:()=>{f(!1),u(A)}},A)}):s.jsxs("div",{className:"run_picker_empty",children:[s.jsx("span",{className:"run_picker_empty_icon",children:"◇"}),s.jsx("span",{children:"No runs found"})]})})]}):null]})}function en(){return new Date().toISOString()}function zd(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function na(e,t){try{const r=JSON.stringify(e);return typeof r!="string"?String(e):r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}catch{const r=String(e);return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}}function xm(e){const t=String(e||"").trim(),r=t.indexOf(":");return r<=0||r>=t.length-1?null:{bundle_id:t.slice(0,r),flow_id:t.slice(r+1)}}function Cu(e){const t=String(e||"").trim();return t.startsWith("abstractcode.")?`abstract.${t.slice(13)}`:t}function vm(e){const t=String(e||"").trim();return t.startsWith("abstract.")||t.startsWith("abstractcode.")}function Y1(e){const t=String(e||"").trim();if(t.startsWith("evt:")){const r=t.split(":",4);if(r.length===4&&r[3])return String(r[3]).trim()}return t}function X1(e){if(!e||typeof e!="object")return[];const t=Array.isArray(e.nodes)?e.nodes:[];if(!t.length)return[];let r=null;for(const f of t){if(!f||typeof f!="object")continue;const m=f.data&&typeof f.data=="object"?f.data:{};if(String(m.nodeType||f.type||"").trim()==="on_flow_start"){r=f;break}}if(!r)return[];const o=r.data&&typeof r.data=="object"?r.data:{},l=Array.isArray(o.outputs)?o.outputs:[],u=o.pinDefaults&&typeof o.pinDefaults=="object"?o.pinDefaults:{},c=[];for(const f of l){if(!f||typeof f!="object")continue;const m=String(f.id||"").trim();if(!m)continue;const _=String(f.type||"").trim();if(_==="execution"||m==="exec-out"||m==="exec")continue;const g=String(f.label||m).trim()||m,x={id:m,label:g,type:_||"unknown"};u&&Object.prototype.hasOwnProperty.call(u,m)&&(x.default=u[m]),c.push(x)}return c}function an(e,t){const r=typeof(t==null?void 0:t.max_chars)=="number"?t.max_chars:360,o=typeof(t==null?void 0:t.max_lines)=="number"?t.max_lines:2,u=String(e||"").replace(/\r\n/g,`
|
|
125
|
-
`).replace(/\r/g,`
|
|
126
|
-
`).split(`
|
|
127
|
-
`),c=u.slice(0,Math.max(1,o)).join(`
|
|
128
|
-
`),f=u.length>o,m=c.length>r?`${c.slice(0,Math.max(0,r-1))}…`:c;return f&&m===c?`${c}…`:m}function $a(e,t){const r=String(e||"");return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}…`}const K1=/^[a-zA-Z0-9_-]+$/;function Lg(e){return K1.test(String(e||"").trim())}async function J1(e){const t=String(e||""),r=new TextEncoder().encode(t),o=globalThis.crypto;if(!o||!o.subtle||typeof o.subtle.digest!="function")throw new Error("crypto.subtle.digest not available");const l=await o.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(l)).map(u=>u.toString(16).padStart(2,"0")).join("")}async function Q1(e){const t=String(e||"").trim();if(!t)throw new Error("session_id is required");if(Lg(t)){const o=`session_memory_${t}`;if(Lg(o))return o}return`session_memory_sha_${(await J1(t)).slice(0,32)}`}function Pg(e){const t=String(e||"").trim();return t&&t.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")||"untitled"}function Ic(e){if(typeof e=="string")return{text:e,duration:-1};if(e&&typeof e=="object"){const t=typeof e.text=="string"?String(e.text):typeof e.value=="string"?String(e.value):typeof e.message=="string"?String(e.message):na(e,320),r=typeof e.duration=="number"?Number(e.duration):-1;return{text:t,duration:r}}return{text:na(e,320),duration:-1}}function Vy(e){var c,f,m,_,g,x,v,w,j;if(!e||typeof e!="object")return"";const t=String(((c=e==null?void 0:e.effect)==null?void 0:c.type)||"").trim(),r=e==null?void 0:e.result,o=b=>typeof b=="string"?b.trim():b==null?"":typeof b=="number"||typeof b=="boolean"?String(b):"",l=b=>{if(!b||typeof b!="object")return"";const T=b,A=[T.response,T.answer,T.message,T.text,T.content];for(const W of A){const H=o(W);if(H)return H}return""};if(t==="answer_user"){const b=o(r==null?void 0:r.message)||o((f=r==null?void 0:r.output)==null?void 0:f.message)||o((m=r==null?void 0:r.output)==null?void 0:m.response)||o((g=(_=e==null?void 0:e.effect)==null?void 0:_.payload)==null?void 0:g.message)||o((v=(x=e==null?void 0:e.effect)==null?void 0:x.payload)==null?void 0:v.text)||o((j=(w=e==null?void 0:e.effect)==null?void 0:w.payload)==null?void 0:j.content);if(b)return b}if(t==="llm_call"){const b=l(r)||o(r==null?void 0:r.output)||l(r==null?void 0:r.output)||o(r==null?void 0:r.response);if(b)return b}return o(r==null?void 0:r.output)||l(r==null?void 0:r.output)||l(r)||o(r==null?void 0:r.response)}const Ig=new Set(["abstract.status","abstract.summary","abstract.chat"]);function Z1(e){if(!e)return!1;if(e.kind==="error")return!0;if(e.kind==="info")return!1;const t=String(e.emit_name||"").trim();if((e.kind==="event"||e.kind==="message")&&t)return!Ig.has(t);const r=String(e.effect_type||"").trim();if(r){if(r==="tool_calls"||r==="llm_call"||r==="ask_user"||r==="answer_user"||r==="memory_compact"||r==="start_subworkflow")return!0;if(r==="emit_event")return!(t&&Ig.has(t))}if(String(e.status||"").trim()==="waiting"){const u=ll(e.data),c=String((u==null?void 0:u.reason)||"").trim();return!!(c==="user"||c==="event"||i_(u).length)}return!!Vy(e.data)}function eN(){try{const e=localStorage.getItem("abstractobserver_settings");if(!e)throw new Error("missing");const t=JSON.parse(e);return{gateway_url:String((t==null?void 0:t.gateway_url)||""),auth_token:String((t==null?void 0:t.auth_token)||""),worker_url:String((t==null?void 0:t.worker_url)||""),worker_token:String((t==null?void 0:t.worker_token)||""),theme:String((t==null?void 0:t.theme)||"dark"),font_scale:String((t==null?void 0:t.font_scale)||(t==null?void 0:t.fontScale)||"md").trim()||"md",header_density:String((t==null?void 0:t.header_density)||(t==null?void 0:t.headerDensity)||"standard").trim()||"standard",auto_connect_gateway:(t==null?void 0:t.auto_connect_gateway)!==!1,maintenance_ai_provider:String((t==null?void 0:t.maintenance_ai_provider)||""),maintenance_ai_model:String((t==null?void 0:t.maintenance_ai_model)||""),backlog_advisor_agent:String((t==null?void 0:t.backlog_advisor_agent)||(t==null?void 0:t.backlogAdvisorAgent)||"")}}catch{return{gateway_url:"",auth_token:"",worker_url:"",worker_token:"",theme:"dark",font_scale:"md",header_density:"standard",auto_connect_gateway:!0,maintenance_ai_provider:"",maintenance_ai_model:"",backlog_advisor_agent:""}}}function tN(e){localStorage.setItem("abstractobserver_settings",JSON.stringify(e))}function wm(e){var l;const t=String((e==null?void 0:e.node_id)||""),r=String((e==null?void 0:e.status)||""),o=String(((l=e==null?void 0:e.effect)==null?void 0:l.type)||"");return`${t||"(node?)"} • ${r||"(status?)"} • ${o||"(effect?)"}`}function nN(e){return!!(e&&String(e.status||"")==="waiting")}function ul(e){const t=typeof e=="string"?e.trim():"";if(!t)return null;const r=t.replace(/(\.\d{3})\d+/,"$1"),o=Date.parse(r);return Number.isFinite(o)?o:null}function rN(e){const t=Date.now()-e,r=Math.floor(t/1e3),o=Math.floor(r/60),l=Math.floor(o/60),u=Math.floor(l/24);return r<60?"just now":o<60?`${o}m ago`:l<24?`${l}h ago`:u<=3?`${u}d ago`:new Date(e).toLocaleDateString(void 0,{month:"short",day:"numeric"})}function Ym(e){const t=ul(e);return t===null?"—":rN(t)}function Og(e){if(!Number.isFinite(e))return"";const t=Math.floor(e/1e3);if(t<=0)return"now";const r=Math.floor(t/60),o=Math.floor(r/60),l=Math.floor(o/24),u=t%60,c=r%60,f=o%24;return l>0?`${l}d ${f}h`:o>0?`${o}h ${c}m`:r>0?`${r}m ${u}s`:`${t}s`}function sN(e){const t=String(e||"").trim();return t?t.length<=8?t:`${t.slice(0,7)}…`:""}function Fg(e,t){const r=typeof e=="string"?String(e).trim():"";if(!r)return"Unknown workflow";const o=t[r];if(o){const u=o.split(/[·:]/);return u.length>1?u[u.length-1].trim():o.trim()}const l=r.indexOf(":");return l>0?r.slice(l+1).trim()||r.slice(0,l).trim():/[a-z]/i.test(r)?r:"Unknown workflow"}function Dg(e){const t=String(e||"").trim();return t?/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t):!1}function iN(){try{const t=String(window.location.hash||"").replace(/^#/,"").split("/").filter(Boolean),r=t.length?String(t[t.length-1]||"").trim():"";if(Dg(r))return r;const l=String(window.location.pathname||"").split("/").filter(Boolean),u=l.length?String(l[l.length-1]||"").trim():"";if(Dg(u))return u}catch{}return""}function oN(){try{const e="abstractobserver_session_id_v1",t=window.sessionStorage.getItem(e);if(t&&t.trim())return t.trim();const r=globalThis.crypto,l=`obs_${r&&typeof r.randomUUID=="function"?r.randomUUID():`${Math.random().toString(16).slice(2)}_${Date.now().toString(16)}`}`;return window.sessionStorage.setItem(e,l),l}catch{return""}}function aN(){var mc,hc,pc,wa,qs,Xo,gc,tu,Yi,go,_c,nu,Xi,_o,Ml,ru,Al,su,Xa,Ci,Ka,Ja,Ko,yc,ba,iu,xc,ir,zl,vc,wc,Rl;const[e,t]=p.useState("observe"),[r,o]=p.useState(()=>eN()),l=typeof window<"u"&&((mc=window.__ABSTRACT_UI_CONFIG__)==null?void 0:mc.monitor_gpu)===!0,u=p.useRef(null),[c,f]=p.useState(""),[m,_]=p.useState(""),[g,x]=p.useState(()=>iN()),[v,w]=p.useState(""),[j,b]=p.useState(""),[T,A]=p.useState("{}"),[W,H]=p.useState(()=>oN()),[M,G]=p.useState(null),[te,V]=p.useState(!1),[Z,ge]=p.useState(""),[xe,ke]=p.useState(!1),[Te,oe]=p.useState(""),[I,se]=p.useState(!1),[Q,ce]=p.useState([]),[R,L]=p.useState([]),[O,$]=p.useState(!1),[D,ne]=p.useState(!1),[ae,ve]=p.useState([]),[$e,ue]=p.useState([]),[he,Fe]=p.useState({}),[K,Me]=p.useState(!1),[Ne,Ye]=p.useState(!1),[Le,mt]=p.useState(!1),[gt,ze]=p.useState(0),[Ae,Ct]=p.useState([]),[kt,Ot]=p.useState([]),lt=p.useRef(0),[me,tn]=p.useState(null),[we,Xe]=p.useState(""),[Ke,St]=p.useState(""),[$n,Yt]=p.useState(!1),[Xt,pn]=p.useState(!1),fn=p.useRef(null),[Vn,Dn]=p.useState({}),[Tn,ar]=p.useState({}),[er,In]=p.useState("now"),[de,je]=p.useState(""),[qe,ot]=p.useState("once"),[ft,Nt]=p.useState(1),[Mt,Ft]=p.useState("days"),[nn,Rt]=p.useState(2),[Qt,ln]=p.useState(""),[Bt,gn]=p.useState("23:59"),[Kt,st]=p.useState(!0),[rn,tr]=p.useState(!1),[xn,kn]=p.useState(""),[On,Bn]=p.useState(!0),[Un,xr]=p.useState(""),[dr,Rr]=p.useState(!1),[ds,ht]=p.useState(!1),[Mn,zi]=p.useState(6),[Qr,Nn]=p.useState("standard"),[ws,_i]=p.useState(""),[As,wn]=p.useState(""),[lr,fr]=p.useState(!1),[Hr,tt]=p.useState(!1),[nr,Rn]=p.useState("pause"),[Cr,Er]=p.useState(""),[fs,cr]=p.useState(""),[yi,Zr]=p.useState(""),ms=p.useRef(null),Js=p.useRef(null),[ia,be]=p.useState(!1),Gn=p.useRef(null),[Qe,mr]=p.useState(""),[zs,es]=p.useState(""),[cn,Lr]=p.useState(""),[Ri,bs]=p.useState(!1),[qr,Qs]=p.useState("idle"),[rr,Sr]=p.useState([]),[Yn,hs]=p.useState(!1),[Vr,vr]=p.useState(""),[Ss,js]=p.useState(""),[Pr,ks]=p.useState(""),[so,ts]=p.useState([]),[P,ie]=p.useState(!1),[Ee,Be]=p.useState(""),[De,nt]=p.useState(""),[Et,$t]=p.useState(!1),[At,Vt]=p.useState(""),Wn=p.useMemo(()=>{if(!rr.length)return"";try{return JSON.stringify(rr.map(S=>({role:S.role,content:S.content,ts:S.ts})))}catch{return"1"}},[rr]),Gr=p.useMemo(()=>rr.length?Pr?Wn!==Pr:!0:!1,[Wn,rr.length,Pr]),sn=p.useMemo(()=>so.map(S=>{const C=String(S.title||"").trim()||`Chat ${String(S.thread_id||"").slice(0,8)}`,z=String(S.created_at||"").trim(),k=z?z.replace("T"," ").slice(0,19):"",B=String(S.run_id||"").trim()?String(S.run_id).slice(0,8):"",Y=[C,k&&`(${k})`,B&&`run ${B}`].filter(Boolean).join(" • ");return{value:String(S.thread_id||""),label:Y}}),[so]);p.useEffect(()=>{l&&Dv()},[l]),p.useEffect(()=>{if(!l)return;const S=u.current;S&&(S.token=r.auth_token||"")},[l,r.auth_token]);const[Xn,An]=p.useState([]),[hn,Ir]=p.useState({}),[xi,Li]=p.useState({}),[Or,Jt]=p.useState(""),[jr,hr]=p.useState("ledger"),[Rs,io]=p.useState(!0),[Yr,Pi]=p.useState("steps"),[oa,oo]=p.useState(""),[Ls,Eo]=p.useState(""),[aa,la]=p.useState([]),[ca,pl]=p.useState(!1),[ao,ua]=p.useState(""),[Ra,La]=p.useState(!1),[$o,Ql]=p.useState(""),[vi,lo]=p.useState(""),[To,da]=p.useState(""),[Mo,Zs]=p.useState(!1),[wi,Ps]=p.useState(""),[Ns,Ii]=p.useState(null),[fa,Pa]=p.useState({}),[gl,Ao]=p.useState(!1),[_l,zo]=p.useState(""),[Ro,Ia]=p.useState(!1),[Oi,Zl]=p.useState(!1),[yl,Lo]=p.useState(()=>Date.now()),[Is,Fi]=p.useState(""),[xl,ei]=p.useState({}),[ec,Oa]=p.useState({}),Po=p.useRef([]),ns=p.useRef(null),Os=p.useRef(""),ti=p.useRef({}),ni=p.useRef({}),Io=p.useRef({}),Di=p.useRef(new Set),[ri,ma]=p.useState([]),bi=p.useRef(""),Si=p.useRef({}),Fs=p.useRef(null),wr=p.useRef(null),si=p.useRef(0),mn=p.useRef({}),Cs=p.useRef(!1),kr=p.useRef(new Set),[Ds,Fa]=p.useState(""),[Kn,rs]=p.useState(""),$r=p.useRef(""),[Oo,co]=p.useState(!1),[Fo,ur]=p.useState(""),jt=p.useMemo(()=>new Uv({base_url:r.gateway_url,auth_token:r.auth_token}),[r]),Bi=p.useMemo(()=>r.worker_url.trim()?new Hv({url:r.worker_url.trim(),auth_token:r.worker_token}):null,[r.worker_url,r.worker_token]),Tr=Ae.length?Ae[Ae.length-1].record:null,on=p.useMemo(()=>ll(Tr),[Tr]),vn=p.useMemo(()=>{const S=j.trim();if(!M||!S||String(M.bundle_id||"").trim()&&String(M.bundle_id||"").trim()!==S)return null;const C=Array.isArray(M.entrypoints)?M.entrypoints:[];if(!C.length)return null;const z=v.trim();if(z)return C.find(B=>String(B.flow_id||"").trim()===z)||null;if(C.length===1)return C[0];const k=String(M.default_entrypoint||"").trim();return k&&C.find(B=>String(B.flow_id||"").trim()===k)||null},[M,j,v]),ha=p.useMemo(()=>{const S=vn==null?void 0:vn.inputs;return Array.isArray(S)?S:[]},[vn]),vl=p.useMemo(()=>X1(Ns),[Ns]),ii=p.useMemo(()=>ha.length?ha:vl,[ha,vl]),Ui=p.useMemo(()=>{const S=typeof(me==null?void 0:me.workflow_id)=="string"?String(me.workflow_id):"",C=xm(S);if(C&&M&&String(M.bundle_id||"").trim()===C.bundle_id){const B=(Array.isArray(M.entrypoints)?M.entrypoints:[]).find(Y=>String((Y==null?void 0:Y.flow_id)||"").trim()===C.flow_id);if(B&&B.node_index&&typeof B.node_index=="object")return B.node_index}const z=vn==null?void 0:vn.node_index;return z&&typeof z=="object"?z:{}},[me,M,vn]);p.useEffect(()=>{tN(r)},[r]),p.useEffect(()=>{pv(r.theme)},[r.theme]),p.useEffect(()=>{yv({font_scale:r.font_scale,header_density:r.header_density})},[r.font_scale,r.header_density]),p.useEffect(()=>()=>{Fs.current&&Fs.current.abort(),wr.current&&wr.current.abort(),ms.current&&window.clearTimeout(ms.current),Js.current&&window.clearTimeout(Js.current),ns.current&&window.clearTimeout(ns.current),Gn.current&&window.clearTimeout(Gn.current)},[]),p.useEffect(()=>{var S;r.auto_connect_gateway&&(!r.gateway_url.trim()&&typeof window<"u"&&!((S=window.location)!=null&&S.origin)||ki())},[r.auto_connect_gateway]);const Zt=p.useMemo(()=>{const S=T.trim();if(!S)return{};try{const C=JSON.parse(S);return typeof C!="object"||C===null||Array.isArray(C)?null:C}catch{return null}},[T]),pa=typeof(Zt==null?void 0:Zt.prompt)=="string"?String(Zt.prompt):"",Do=typeof(Zt==null?void 0:Zt.provider)=="string"?String(Zt.provider):"",Da=typeof(Zt==null?void 0:Zt.model)=="string"?String(Zt.model):"",tc=typeof(Zt==null?void 0:Zt.workspace_root)=="string"?String(Zt.workspace_root):"",nc=typeof(Zt==null?void 0:Zt.workspace_access_mode)=="string"?String(Zt.workspace_access_mode):"",rc=p.useMemo(()=>{const S=Zt==null?void 0:Zt.workspace_ignored_paths;return Array.isArray(S)?S.map(C=>String(C||"").trim()).filter(Boolean).join(`
|
|
129
|
-
`):typeof S=="string"?String(S):""},[Zt]),Ba=ii.length>0&&!!j.trim(),wl=S=>{const C=String(S||"").trim().toLowerCase();return C==="object"||C==="memory"||C==="assertion"||C==="assertions"||C==="any"};p.useEffect(()=>{ar({})},[j,v]),p.useEffect(()=>{Zt!==null&&Dn(S=>{const C={};for(const z of ii){if(!z||typeof z!="object")continue;const k=String(z.id||"").trim();if(!k)continue;const B=String(z.type||"").trim();if(!wl(B))continue;if(String(Tn[k]||"").trim()){C[k]=typeof S[k]=="string"?S[k]:"";continue}const X=Zt==null?void 0:Zt[k];X===void 0?C[k]="":C[k]=zd(X)}return C})},[ii,Zt,Tn]);const ji=j.trim()&&v.trim()?`${j.trim()}:${v.trim()}`:"",Bo=p.useMemo(()=>{const S={};for(const C of Q){const z=String(C.workflow_id||"").trim(),k=String(C.label||"").trim();z&&k&&(S[z]=k)}return S},[Q]),bl=p.useMemo(()=>{const S=new Set;for(const C of Array.isArray($e)?$e:[]){const z=String((C==null?void 0:C.name)||"").trim();z&&S.add(z)}return Array.from(S).sort()},[$e]),Xc=p.useMemo(()=>{const S=[];for(const C of Array.isArray($e)?$e:[]){const z=String((C==null?void 0:C.name)||"").trim();if(!z)continue;const k=String((C==null?void 0:C.display_name)||"").trim();S.push({name:z,display_name:k||void 0})}return S},[$e]),Kc=p.useMemo(()=>{const S=new Set;for(const C of ae||[]){if(!C||typeof C!="object")continue;const z=String(C.name||"").trim();z&&S.add(z)}return Array.from(S).sort()},[ae]),Uo=p.useMemo(()=>{const S=r.maintenance_ai_provider.trim();if(!S)return{models:[],error:""};const C=he[S];return C?{models:(Array.isArray(C.models)?C.models:[]).map(k=>String(k||"").trim()).filter(Boolean),error:String(C.error||"")}:{models:[],error:""}},[he,r.maintenance_ai_provider]),Sl=r.maintenance_ai_provider.trim(),sc=!!(Sl&&I&&!Object.prototype.hasOwnProperty.call(he,Sl));p.useEffect(()=>{const S=Do.trim();if(!S||he[S]||Si.current[S])return;Si.current[S]=!0;let C=!1;return(async()=>{try{const k=await jt.discovery_provider_models(S);if(C)return;const B=Array.isArray(k==null?void 0:k.models)?k.models:[],Y=typeof(k==null?void 0:k.error)=="string"?String(k.error):"";Fe(X=>({...X,[S]:{models:B,error:Y||void 0}}))}catch(k){if(C)return;Fe(B=>({...B,[S]:{models:[],error:String((k==null?void 0:k.message)||k||"Failed to load models")}}))}finally{delete Si.current[S]}})(),()=>{C=!0}},[Do,he,jt]),p.useEffect(()=>{const S=r.maintenance_ai_provider.trim();if(!S||!I||he[S]||Si.current[S])return;Si.current[S]=!0;let C=!1;return(async()=>{try{const k=await jt.discovery_provider_models(S);if(C)return;const B=Array.isArray(k==null?void 0:k.models)?k.models:[],Y=typeof(k==null?void 0:k.error)=="string"?String(k.error):"";Fe(X=>({...X,[S]:{models:B,error:Y||void 0}}))}catch(k){if(C)return;Fe(B=>({...B,[S]:{models:[],error:String((k==null?void 0:k.message)||k||"Failed to load models")}}))}finally{delete Si.current[S]}})(),()=>{C=!0}},[r.maintenance_ai_provider,he,jt,I]);function pr(S,C){const z=String(S||"").trim();if(!z)return;let k={};try{const B=JSON.parse(T||"{}");typeof B=="object"&&B!==null&&!Array.isArray(B)&&(k=B)}catch{k={}}if(C==null){delete k[z],A(JSON.stringify(k,null,2));return}if(typeof C=="string"){const B=String(C||"").trim();B?k[z]=B:delete k[z]}else if(Array.isArray(C)){const B=C.map(Y=>Y).filter(Y=>Y!=null);B.length?k[z]=B:delete k[z]}else k[z]=C;A(JSON.stringify(k,null,2))}async function Ln(S){const C=String(S||"").trim();if(!C)return ge("Missing bundle_id"),null;ge(""),V(!0);try{const z=await jt.get_bundle(C);return G(z),bn({ts:en(),kind:"info",title:`Loaded bundle ${C}`}),z}catch(z){return G(null),ge(String((z==null?void 0:z.message)||z||"Failed to load bundle")),null}finally{V(!1)}}function ga(S){const C=[],z=Array.isArray(S==null?void 0:S.items)?S.items:[];for(const k of z){const B=String((k==null?void 0:k.bundle_id)||"").trim();if(!B)continue;const Y=Array.isArray(k==null?void 0:k.entrypoints)?k.entrypoints:[];if(Y.length)for(const X of Y){const re=String((X==null?void 0:X.flow_id)||"").trim();if(!re)continue;const Pe=`${B}:${re}`,Ce=String((X==null?void 0:X.name)||"").trim(),Je=Ce?`${B} · ${Ce}`:`${B} · ${re}`,Tt=String((X==null?void 0:X.description)||"").trim();C.push({workflow_id:Pe,bundle_id:B,flow_id:re,label:Je,description:Tt||void 0})}}return C.sort((k,B)=>k.label.localeCompare(B.label)),C}async function oi(){if(!O){$(!0);try{const S=await jt.list_runs({limit:200,root_only:!0}),z=(Array.isArray(S==null?void 0:S.items)?S.items:[]).map(k=>{var B,Y,X,re,Pe,Ce;return{run_id:String((k==null?void 0:k.run_id)||"").trim(),workflow_id:typeof(k==null?void 0:k.workflow_id)=="string"?String(k.workflow_id):(k==null?void 0:k.workflow_id)??null,status:typeof(k==null?void 0:k.status)=="string"?String(k.status):"",created_at:typeof(k==null?void 0:k.created_at)=="string"?String(k.created_at):(k==null?void 0:k.created_at)??null,updated_at:typeof(k==null?void 0:k.updated_at)=="string"?String(k.updated_at):(k==null?void 0:k.updated_at)??null,ledger_len:typeof(k==null?void 0:k.ledger_len)=="number"?Number(k.ledger_len):(k==null?void 0:k.ledger_len)??null,parent_run_id:typeof(k==null?void 0:k.parent_run_id)=="string"?String(k.parent_run_id):(k==null?void 0:k.parent_run_id)??null,session_id:typeof(k==null?void 0:k.session_id)=="string"?String(k.session_id):(k==null?void 0:k.session_id)??null,is_scheduled:typeof(k==null?void 0:k.is_scheduled)=="boolean"?!!k.is_scheduled:(k==null?void 0:k.is_scheduled)??null,paused:typeof(k==null?void 0:k.paused)=="boolean"?!!k.paused:(k==null?void 0:k.paused)??null,waiting_reason:typeof((B=k==null?void 0:k.waiting)==null?void 0:B.reason)=="string"?String(k.waiting.reason):((Y=k==null?void 0:k.waiting)==null?void 0:Y.reason)??null,schedule_interval:typeof((X=k==null?void 0:k.schedule)==null?void 0:X.interval)=="string"?String(k.schedule.interval).trim():((re=k==null?void 0:k.schedule)==null?void 0:re.interval)??null,schedule_target_workflow_id:typeof((Pe=k==null?void 0:k.schedule)==null?void 0:Pe.target_workflow_id)=="string"?String(k.schedule.target_workflow_id).trim():((Ce=k==null?void 0:k.schedule)==null?void 0:Ce.target_workflow_id)??null}}).filter(k=>!!k.run_id).filter(k=>!String(k.parent_run_id||"").trim());L(z)}catch(S){bn({ts:en(),kind:"error",title:"Refresh runs failed",preview:an(String((S==null?void 0:S.message)||S||""))})}finally{$(!1)}}}async function ki(){var S,C,z,k;oe(""),se(!1),ke(!0);try{const B=String(r.gateway_url||"").trim();if(B){const Ce=B.toLowerCase();if(!Ce.startsWith("http://")&&!Ce.startsWith("https://"))throw new Error("Gateway URL must start with http:// or https:// (or leave it blank to use same origin / dev proxy).");try{if(String(((S=window==null?void 0:window.location)==null?void 0:S.protocol)||"")==="https:"&&Ce.startsWith("http://"))throw new Error("Gateway URL is http:// but this page is https:// (mixed content is blocked). Use https:// or leave Gateway URL blank to use same origin /api proxy.");const Tt=new URL(B),Ze=String(((C=window==null?void 0:window.location)==null?void 0:C.hostname)||"").trim().toLowerCase(),Ve=String(Tt.hostname||"").trim().toLowerCase(),_t=it=>it==="localhost"||it==="127.0.0.1"||it==="::1";if(_t(Ve)&&Ze&&!_t(Ze))throw new Error("Gateway URL points to localhost, which from this device is not your machine. Use the gateway's public URL (e.g. an ngrok https URL) or leave Gateway URL blank to use same origin /api proxy.")}catch(Je){throw new Error(String((Je==null?void 0:Je.message)||Je||"Invalid Gateway URL"))}}const Y=await jt.list_bundles(),X=ga(Y);ce(X);try{await oi()}catch(Ce){L([]),bn({ts:en(),kind:"error",title:"Discovery runs failed",preview:an(String((Ce==null?void 0:Ce.message)||Ce||""))})}const[re,Pe]=await Promise.allSettled([jt.discovery_tools(),jt.discovery_providers({include_models:!1})]);if(re.status==="fulfilled"){const Ce=Array.isArray((z=re.value)==null?void 0:z.items)?re.value.items:[];ve(Ce)}else ve([]),bn({ts:en(),kind:"error",title:"Discovery tools failed",preview:an(String(re.reason||""))});if(Pe.status==="fulfilled"){const Ce=Array.isArray((k=Pe.value)==null?void 0:k.items)?Pe.value.items:[];ue(Ce)}else ue([]),bn({ts:en(),kind:"error",title:"Discovery providers failed",preview:an(String(Pe.reason||""))});Fe({}),se(!0),bn({ts:en(),kind:"info",title:"Gateway discovery loaded",preview:an(`workflows: ${X.length}`)})}catch(B){oe(String((B==null?void 0:B.message)||B||"Discovery failed"))}finally{ke(!1)}}async function Ua(){if(!(D||xe)){ne(!0);try{await jt.reload_bundles();const S=await jt.list_bundles(),C=ga(S);ce(C),bn({ts:en(),kind:"info",title:"Bundles reloaded",preview:an(`workflows: ${C.length}`)})}catch(S){const C=String((S==null?void 0:S.message)||S||"Bundle reload failed");bn({ts:en(),kind:"error",title:"Bundle reload failed",preview:an(C),data:{error:C}})}finally{ne(!1)}}}async function jl(S){if(Xt||xe||!I)return;const C=S;if(C){pn(!0),Jt("");try{const z=await jt.upload_bundle(C,{overwrite:!1,reload:!0});bn({ts:en(),kind:"info",title:"Bundle uploaded",preview:an(String((z==null?void 0:z.bundle_ref)||""))});const k=await jt.list_bundles(),B=ga(k);ce(B)}catch(z){const k=String((z==null?void 0:z.message)||z||"Upload failed");Jt(k),bn({ts:en(),kind:"error",title:"Upload .flow failed",preview:an(k),data:{error:k}})}finally{pn(!1);try{fn.current&&(fn.current.value="")}catch{}}}}function _a(){Jn(),b(""),w(""),Ps(""),G(null),ge(""),V(!1),ce([]),L([]),ve([]),ue([]),Fe({}),oe(""),se(!1),bn({ts:en(),kind:"info",title:"Gateway disconnected"})}async function uo(S){const C=String(S??"");if(C){try{await navigator.clipboard.writeText(C),Fr("Copied to clipboard",2);return}catch{}try{const z=document.createElement("textarea");z.value=C,z.style.position="fixed",z.style.left="-9999px",z.style.top="0",z.style.opacity="0",document.body.appendChild(z),z.focus(),z.select(),document.execCommand("copy"),document.body.removeChild(z),Fr("Copied to clipboard",2)}catch{Fr("Copy failed",2)}}}p.useEffect(()=>{const S=c.trim();if(!K||!S)return;let C=!1;const z=async()=>{try{const B=await jt.get_run(S);C||tn(B)}catch{}};z();const k=window.setInterval(z,2e3);return()=>{C=!0,window.clearInterval(k)}},[K,c,jt]);const ss=p.useMemo(()=>{const S=me==null?void 0:me.session_id;return typeof S=="string"?S.trim():S==null?"":String(S||"").trim()},[me]);function ic(S,C){try{const z=URL.createObjectURL(S),k=document.createElement("a");k.href=z,k.download=C||"download",k.rel="noreferrer",document.body.appendChild(k),k.click(),document.body.removeChild(k),window.setTimeout(()=>URL.revokeObjectURL(z),5e3)}catch{}}async function oc(){if(!ca){if(!I||!ss){Eo(""),la([]),ua("");return}pl(!0),ua("");try{const S=await Q1(ss);Eo(S);const C=await jt.list_run_artifacts(S,{limit:800}),k=(Array.isArray(C==null?void 0:C.items)?C.items:[]).filter(B=>{const Y=B==null?void 0:B.tags;return Y&&typeof Y=="object"&&String(Y.kind||"").trim()==="attachment"});la(k)}catch(S){const C=String((S==null?void 0:S.message)||S||"Failed to load session attachments"),z=C.toLowerCase();C.includes("404")||z.includes("session_memory_")&&z.includes("not found")||z.includes('"detail"')&&z.includes("not found")&&z.includes("session_memory_")?(la([]),ua("")):(la([]),ua(C)),Eo("")}finally{pl(!1)}}}async function Jc(S){const C=String(Ls||"").trim();if(!C){Fr("No session attachment store yet",2);return}const z=String((S==null?void 0:S.artifact_id)||"").trim();if(!z)return;const k=S!=null&&S.tags&&typeof S.tags=="object"?S.tags:{},B=String(k.filename||"").trim(),Y=String(k.path||"").trim(),X=B||(Y?Y.split("/").pop():"")||z,re=Pg(X);try{const Pe=await jt.download_run_artifact_content(C,z);ic(Pe,re),Fr("Downloaded attachment",2)}catch(Pe){Fr(String((Pe==null?void 0:Pe.message)||Pe||"Download failed"),3)}}async function ac(S){const C=String(Ls||"").trim(),z=String((S==null?void 0:S.artifact_id)||"").trim();if(!C||!z)return;const k=S!=null&&S.tags&&typeof S.tags=="object"?S.tags:{},B=String(k.filename||"").trim(),Y=String(k.path||"").trim(),X=Y?`@${Y}`:B||z,re=typeof(S==null?void 0:S.size_bytes)=="number"?Number(S.size_bytes):null,Pe=String((S==null?void 0:S.content_type)||k.content_type||"").trim().toLowerCase();if(Ql(X),lo(""),da(""),La(!0),typeof re=="number"&&re>1e6){lo(`(Attachment is ${re.toLocaleString()} bytes; download to view.)`);return}if(!(!Pe||Pe.startsWith("text/")||Pe.includes("json")||Pe.includes("yaml")||Pe.includes("toml")||Pe.includes("xml"))){lo(`(Binary attachment: ${Pe||"unknown"}; download to view.)`);return}Zs(!0);try{const Tt=await(await jt.download_run_artifact_content(C,z)).text(),Ze=14e3,Ve=Tt.length>Ze?`${Tt.slice(0,Math.max(0,Ze-1))}…`:Tt;lo(Ve)}catch(Je){da(String((Je==null?void 0:Je.message)||Je||"Preview failed"))}finally{Zs(!1)}}p.useEffect(()=>{oc()},[jt,I,ss]);function bn(S){const C=String(S.id||"").trim()||cs();An(z=>[{...S,id:C},...z].slice(0,800))}function Fr(S,C){Zr(S),Js.current&&window.clearTimeout(Js.current),be(!1),window.requestAnimationFrame(()=>be(!0)),Js.current=window.setTimeout(()=>{be(!1),Js.current=null},1500),ms.current&&(window.clearTimeout(ms.current),ms.current=null),C>0&&(ms.current=window.setTimeout(()=>{Zr(""),ms.current=null},Math.max(1,C)*1e3))}function N(S,C){const z=String(S||"").trim(),k=String(C||"").trim();if(!k)return"";const B=z?String(ti.current[z]||"").trim():"";return B?`${B}::${k}`:k}function U(S,C,z){const k=String(S||"").trim(),B=String(C||"").trim(),Y=String(z||"").trim();if(!k||!B||!Y)return;const X=N(k,B);X&&(ti.current[Y]=X,ni.current[Y]=k,Io.current[Y]={parent_run_id:k,parent_node_id:B},Di.current.has(Y)||(Di.current.add(Y),ma(re=>re.includes(Y)?re:[...re,Y])))}function F(S){const C=String(S||"").trim();if(!C)return;const z=Date.now(),k=Os.current;Os.current=C,Lo(z),ei(B=>{const Y={};for(const[Ce,Je]of Object.entries(B))typeof Je=="number"&&Je>z&&(Y[Ce]=Je);Y[C]=Math.max(Y[C]||0,z+2e3),k&&k!==C&&(Y[k]=Math.max(Y[k]||0,z+2e3));const X=Object.keys(Y);if(X.length<=200)return Y;const re=X.sort((Ce,Je)=>(Y[Je]||0)-(Y[Ce]||0)).slice(0,200),Pe={};for(const Ce of re)Pe[Ce]=Y[Ce]||0;return Pe}),Oa(B=>{if(typeof B[C]=="number")return B;const Y={...B,[C]:z};if(Po.current.push(C),Po.current.length>8e3){const X=Po.current.splice(0,1500);for(const re of X)delete Y[re]}return Y}),ns.current&&window.clearTimeout(ns.current),ns.current=window.setTimeout(()=>{const B=Date.now();ei(Y=>{const X={};for(const[re,Pe]of Object.entries(Y))typeof Pe=="number"&&Pe>B&&(X[re]=Pe);return X}),Lo(B),ns.current=null},2200)}function le(S){var Ve,_t;lt.current=S.cursor,ze(S.cursor),Ct(it=>[...it,{cursor:S.cursor,record:S.record}]),c.trim()&&kr.current.add(`${c.trim()}:${S.cursor}`);const C=yd(S.record),z=C&&C.name?Cu(C.name):"",k=S.record,B=typeof(k==null?void 0:k.node_id)=="string"?k.node_id:"",Y=typeof(k==null?void 0:k.status)=="string"?k.status:"",X=typeof((Ve=k==null?void 0:k.effect)==null?void 0:Ve.type)=="string"?k.effect.type:"",re=typeof(k==null?void 0:k.run_id)=="string"?k.run_id:"",Pe=re||c.trim();if(z==="abstract.status"&&Pe===c.trim()){const{text:it,duration:ut}=Ic(C==null?void 0:C.payload);Fr(it,ut)}const Ce=B?N(Pe,B):"";if(Y==="waiting"){const it=ll(k);if(String((it==null?void 0:it.reason)||"").trim()==="subworkflow"){const Dt=typeof((_t=it==null?void 0:it.details)==null?void 0:_t.sub_run_id)=="string"?String(it.details.sub_run_id):"";Dt&&B&&U(Pe,B,Dt)}}if(B&&(F(N(Pe,B)),Y==="waiting"||Y==="running")){const it=N(Pe,B);it&&(Os.current=it,Fi(it))}let Je="step",Tt=Ce||B||"(node?)",Ze="";if(C&&C.name&&vm(C.name))Je=z==="abstract.message"?"message":"event",Tt=z||C.name,Ze=an(Ic(C==null?void 0:C.payload).text);else if(k!=null&&k.error)Je="error",Tt="error",Ze=an(na(k.error,360));else if(Y==="waiting"){const it=ll(k),ut=String((it==null?void 0:it.reason)||"").trim();Ze=an(ut?`waiting • ${ut}`:"waiting")}else k!=null&&k.result?Ze=an(na(k.result,360)):X?Ze=an(X):Ze=an(wm(k));bn({id:`step:${re||c.trim()||"?"}:${S.cursor}`,ts:String((k==null?void 0:k.ended_at)||(k==null?void 0:k.started_at)||en()),kind:Je,title:Tt,preview:Ze,data:k,cursor:S.cursor,run_id:re||c.trim()||void 0,node_id:Ce||B,status:Y,effect_type:X,emit_name:z||(C==null?void 0:C.name)||void 0})}function _e(S,C){var _t,it;si.current=Math.max(si.current,C.cursor);const z=`${S}:${C.cursor}`;if(!!kr.current.has(z))return;kr.current.add(z),Ot(ut=>[...ut,{run_id:S,cursor:C.cursor,record:C.record}]);const B=yd(C.record),Y=B&&B.name?Cu(B.name):"",X=C.record,re=typeof(X==null?void 0:X.node_id)=="string"?X.node_id:"",Pe=re?N(S,re):"",Ce=typeof(X==null?void 0:X.status)=="string"?X.status:"",Je=typeof((_t=X==null?void 0:X.effect)==null?void 0:_t.type)=="string"?X.effect.type:"";if(Ce==="waiting"){const ut=ll(X);if(String((ut==null?void 0:ut.reason)||"").trim()==="subworkflow"){const Fn=typeof((it=ut==null?void 0:ut.details)==null?void 0:it.sub_run_id)=="string"?String(ut.details.sub_run_id):"";Fn&&re&&U(S,re,Fn),Fn&&$r.current.trim()===String(S||"").trim()&&($r.current=Fn,rs(Fn))}}if(re&&(F(N(S,re)),Ce==="waiting"||Ce==="running")){const ut=N(S,re);ut&&(Os.current=ut,Fi(ut))}if((Ce==="completed"||Ce==="failed")&&$r.current.trim()===String(S||"").trim()){const ut=String(ni.current[String(S||"").trim()]||"").trim();ut&&ut!==c.trim()?($r.current=ut,rs(ut)):($r.current="",rs(""))}if(Y==="abstract.status"&&S===c.trim()){const{text:ut,duration:Dt}=Ic(B==null?void 0:B.payload);Fr(ut,Dt)}let Tt="step",Ze=Pe||re||"(node?)",Ve="";if(B&&B.name&&vm(B.name))Tt=Y==="abstract.message"?"message":"event",Ze=`subrun • ${Y||B.name}`,Ve=an(Ic(B==null?void 0:B.payload).text);else if(X!=null&&X.error)Tt="error",Ze="error",Ve=an(na(X.error,360));else if(Ce==="waiting"){const ut=ll(X),Dt=String((ut==null?void 0:ut.reason)||"").trim();Ve=an(Dt?`waiting • ${Dt}`:"waiting")}else X!=null&&X.result?Ve=an(na(X.result,360)):Je?Ve=an(Je):Ve=an(wm(X));bn({id:`step:${S}:${C.cursor}`,ts:String((X==null?void 0:X.ended_at)||(X==null?void 0:X.started_at)||en()),kind:Tt,title:Ze,preview:Ve,data:X,cursor:C.cursor,run_id:S,node_id:Pe||re,status:Ce,effect_type:Je,emit_name:Y||(B==null?void 0:B.name)||""})}function He(S,C){var it,ut;const z=String(S||"").trim();if(!z)return;const k=`${z}:${C.cursor}`;if(!!kr.current.has(k))return;kr.current.add(k),Ot(Dt=>[...Dt,{run_id:z,cursor:C.cursor,record:C.record}]);const Y=yd(C.record),X=Y&&Y.name?Cu(Y.name):"",re=C.record,Pe=typeof(re==null?void 0:re.node_id)=="string"?re.node_id:"",Ce=Pe?N(z,Pe):"",Je=typeof(re==null?void 0:re.status)=="string"?re.status:"",Tt=typeof((it=re==null?void 0:re.effect)==null?void 0:it.type)=="string"?re.effect.type:"";if(Je==="waiting"){const Dt=ll(re);if(String((Dt==null?void 0:Dt.reason)||"").trim()==="subworkflow"){const rt=typeof((ut=Dt==null?void 0:Dt.details)==null?void 0:ut.sub_run_id)=="string"?String(Dt.details.sub_run_id):"";rt&&Pe&&U(z,Pe,rt)}}if(Pe&&(F(N(z,Pe)),Je==="waiting"||Je==="running")){const Dt=N(z,Pe);Dt&&(Os.current=Dt,Fi(Dt))}if(X==="abstract.status"&&z===c.trim()){const{text:Dt,duration:Fn}=Ic(Y==null?void 0:Y.payload);Fr(Dt,Fn)}let Ze="step",Ve=Ce||Pe||"(node?)",_t="";if(Y&&Y.name&&vm(Y.name))Ze=X==="abstract.message"?"message":"event",Ve=`subrun • ${X||Y.name}`,_t=an(Ic(Y==null?void 0:Y.payload).text);else if(re!=null&&re.error)Ze="error",Ve="error",_t=an(na(re.error,360));else if(Je==="waiting"){const Dt=ll(re),Fn=String((Dt==null?void 0:Dt.reason)||"").trim();_t=an(Fn?`waiting • ${Fn}`:"waiting")}else re!=null&&re.result?_t=an(na(re.result,360)):Tt?_t=an(Tt):_t=an(wm(re));bn({id:`step:${z}:${C.cursor}`,ts:String((re==null?void 0:re.ended_at)||(re==null?void 0:re.started_at)||en()),kind:Ze,title:Ve,preview:_t,data:re,cursor:C.cursor,run_id:z,node_id:Ce||Pe,status:Je,effect_type:Tt,emit_name:X||(Y==null?void 0:Y.name)||""})}async function Re(S,C){let z=C.after;for(;;){const k=await jt.get_ledger(S,{after:z,limit:200}),B=Array.isArray(k.items)?k.items:[];if(!B.length)return ze(z),lt.current=z,z;const Y=z;for(let X=0;X<B.length;X++){const re=B[X];le({cursor:Y+X+1,record:re})}z=typeof k.next_after=="number"?k.next_after:z}}async function Ue(S){const C=String(S||"").trim();Jt(""),Ye(!0),Me(!1),Ct([]),ze(0),lt.current=0,Ot([]),kr.current=new Set,An([]),Ir({}),Li({}),Pi("steps"),oo(""),Zr(""),tn(null),mr(""),Fi(""),Os.current="",ei({}),Oa({}),Po.current=[],Lo(Date.now()),ti.current=C?{[C]:""}:{},ni.current={},Io.current={},Di.current=new Set,ma([]),bi.current="",$r.current="",rs(""),mn.current={},ns.current&&window.clearTimeout(ns.current),ns.current=null,Gn.current&&window.clearTimeout(Gn.current),Gn.current=null,Fs.current&&Fs.current.abort(),wr.current&&wr.current.abort(),wr.current=null,si.current=0,Fa("");const z=new AbortController;Fs.current=z;let k=!1;try{let Y="",X="";try{const re=await jt.get_run(C);tn(re);const Pe=typeof(re==null?void 0:re.workflow_id)=="string"?String(re.workflow_id):"",Ce=xm(Pe);Ce&&(Y=Ce.bundle_id,X=Ce.flow_id)}catch{}try{const re=await jt.get_run_input_data(C);typeof(re==null?void 0:re.bundle_id)=="string"&&(Y=String(re.bundle_id||"").trim()||Y),typeof(re==null?void 0:re.flow_id)=="string"&&(X=String(re.flow_id||"").trim()||X);const Pe=re&&typeof re.input_data=="object"&&re.input_data&&!Array.isArray(re.input_data)?re.input_data:null;Pe&&A(JSON.stringify(Pe,null,2))}catch{}Y&&X&&(b(Y),w(X),Ps(X),await Ln(Y)),await Re(C,{after:0}),Me(!0),bn({ts:en(),kind:"info",title:`Attached to run ${C}`,data:{run_id:C}}),k=!0}catch(Y){const X=String((Y==null?void 0:Y.message)||Y||"unknown error");Jt(X),bn({ts:en(),kind:"error",title:"Connection error",preview:an(X),data:{error:X}}),Me(!1)}finally{Ye(!1)}if(!k||z.signal.aborted)return;(async()=>{let Y=250;for(;!z.signal.aborted;){try{const X=await Re(C,{after:lt.current});await jt.stream_ledger(C,{after:X,on_step:le,signal:z.signal})}catch(X){if(z.signal.aborted)break;const re=String((X==null?void 0:X.message)||X||"stream error");bn({ts:en(),kind:"error",title:"Ledger stream error (will retry)",preview:an(re),data:{error:re}})}if(z.signal.aborted)break;await new Promise(X=>setTimeout(X,Y)),Y=Math.min(5e3,Math.floor(Y*1.6))}})()}async function et(){const S=v.trim(),C=j.trim();if(!S||!C){const z="Select a workflow first (Start Workflow → pick a workflow).";return Jt(z),z}Jt(""),Ye(!0);try{let z={};const k=T.trim();if(k)try{if(z=JSON.parse(k),typeof z!="object"||z===null||Array.isArray(z))throw new Error("input_data must be a JSON object")}catch(Ce){const Je=`Invalid input_data JSON: ${String((Ce==null?void 0:Ce.message)||Ce)}`;return Jt(Je),Je}const B=(ii||[]).find(Ce=>Ce&&typeof Ce=="object"&&Ce.id==="prompt"),Y=B&&typeof B=="object"&&Object.prototype.hasOwnProperty.call(B,"default"),X=z==null?void 0:z.prompt,re=typeof X=="string"?X.trim():"";if(B&&!Y&&!re){const Ce="Missing required input_data.prompt";return Jt(Ce),Ce}const Pe=await jt.start_run(S,z,{bundle_id:C,session_id:String(W||"").trim()||null});return _(Pe),f(Pe),Xe(""),await Ue(Pe),oi(),null}catch(z){const k=String((z==null?void 0:z.message)||z||"start failed");return Jt(k),k}finally{Ye(!1)}}async function It(S){const C=v.trim(),z=j.trim();if(!C||!z){const k="Select a workflow first (Start Workflow → pick a workflow).";return Jt(k),k}if($n)return"Schedule already in progress";St(""),Jt(""),Yt(!0),Ye(!0);try{let k={};const B=T.trim();if(B)try{if(k=JSON.parse(B),typeof k!="object"||k===null||Array.isArray(k))throw new Error("input_data must be a JSON object")}catch(at){const Gt=`Invalid input_data JSON: ${String((at==null?void 0:at.message)||at)}`;return St(Gt),Gt}const Y=(ii||[]).find(at=>at&&typeof at=="object"&&at.id==="prompt"),X=Y&&typeof Y=="object"&&Object.prototype.hasOwnProperty.call(Y,"default"),re=k==null?void 0:k.prompt,Pe=typeof re=="string"?re.trim():"";if(Y&&!X&&!Pe){const at="Missing required input_data.prompt";return St(at),at}let Ce=null,Je=null;if(S.start_mode==="now")Ce="now",Je=new Date;else{const at=String(S.start_at_local||"").trim();if(!at){const Cn="Pick a start date/time (or choose 'now').";return St(Cn),Cn}const Gt=new Date(at);if(!Number.isFinite(Gt.getTime())){const Cn="Invalid start date/time";return St(Cn),Cn}Ce=Gt.toISOString(),Je=new Date(Ce)}const Tt=Number.isFinite(S.every_n)?S.every_n:1,Ze=Math.max(1,Math.min(1e4,Math.floor(Tt))),Ve=String(S.every_unit||"").trim();let _t="1d";Ve==="minutes"?_t=`${Ze}m`:Ve==="hours"?_t=`${Ze}h`:Ve==="days"?_t=`${Ze}d`:Ve==="weeks"?_t=`${Ze*7}d`:Ve==="months"&&(_t=`${Ze*30}d`);const it=S.repeat_mode,ut=it==="once"?null:_t,Dt=it==="count"?Math.max(1,Math.floor(Number.isFinite(S.repeat_count)?S.repeat_count:1)):null;let Fn=null;if(it==="until"){const at=String(S.repeat_until_date_local||"").trim(),Gt=String(S.repeat_until_time_local||"").trim()||"23:59";if(!at){const Wt="Pick an end date (Until).";return St(Wt),Wt}const Cn=new Date(`${at}T${Gt}`);if(!Number.isFinite(Cn.getTime())){const Wt="Invalid end date/time";return St(Wt),Wt}if(Fn=Cn.toISOString(),Je&&Number.isFinite(Je.getTime())&&Cn.getTime()<Je.getTime()){const Wt="End date must be after the start date.";return St(Wt),Wt}}const rt=await jt.schedule_run({bundle_id:z,flow_id:C,input_data:k,start_at:Ce,interval:ut,repeat_count:Dt,repeat_until:Fn,share_context:!!S.share_context,session_id:String(W||"").trim()||null});return _(rt),f(rt),St(""),await Ue(rt),oi(),null}catch(k){const B=String((k==null?void 0:k.message)||k||"schedule failed");return St(B),Jt(B),B}finally{Ye(!1),Yt(!1)}}async function zn(){Xe(""),St("");const C=er!=="now"||qe!=="once"?await It({start_mode:er,start_at_local:de,repeat_mode:qe,every_n:ft,every_unit:Mt,repeat_count:nn,repeat_until_date_local:Qt,repeat_until_time_local:Bt,share_context:Kt}):await et();C&&Xe(C)}async function _n(S){const C=String(S||"").trim();C&&(Jt(""),_(C),f(C),await Ue(C))}p.useEffect(()=>{const S=String(g||"").trim();if(!S)return;let C=!1;return(async()=>{try{if(I||await ki(),C)return;await _n(S)}catch(z){C||Jt(String((z==null?void 0:z.message)||z||"Failed to attach run from URL"))}finally{C||x("")}})(),()=>{C=!0}},[g]);function Jn(){Fs.current&&Fs.current.abort(),Fs.current=null,wr.current&&wr.current.abort(),wr.current=null,si.current=0,Fa(""),f(""),_(""),ti.current={},ni.current={},Io.current={},Di.current=new Set,ma([]),bi.current="",$r.current="",rs(""),mn.current={},mr(""),ns.current&&window.clearTimeout(ns.current),ns.current=null,Gn.current&&window.clearTimeout(Gn.current),Gn.current=null,Me(!1),Ye(!1),mt(!1),lt.current=0,ze(0),Ct([]),Ot([]),kr.current=new Set,tn(null),An([]),Ir({}),Fi(""),Os.current="",ei({}),Oa({}),Po.current=[],Lo(Date.now()),Fr("",-1),Jt(""),co(!1),ur(""),Sr([]),es(""),Lr(""),bs(!1),hs(!1),vr(""),js(""),ks(""),ts([]),ie(!1),Be(""),nt(""),$t(!1),Vt("")}p.useEffect(()=>{Sr([]),es(""),Lr(""),bs(!1),hs(!1),vr(""),js(""),ks(""),ts([]),ie(!1),Be(""),nt(""),$t(!1),Vt("")},[c]),p.useEffect(()=>{jr==="chat"&&c.trim()&&I&&Wi()},[jr,c,I,me==null?void 0:me.workflow_id]);async function is(S,C){const z=c.trim();if(!z)return Jt("Missing run_id"),"Missing run_id";Jt("");try{const k={},B=String((C==null?void 0:C.reason)||"").trim();B&&(k.reason=B),await jt.submit_command({command_id:cs(),run_id:z,type:S,payload:k,client_id:"web_pwa"}),bn({ts:en(),kind:"info",title:`${S} submitted`,preview:B?`reason: ${B}`:"",data:{type:S,reason:B}});try{const Y=await jt.get_run(z);tn(Y)}catch{}return null}catch(k){const B=String((k==null?void 0:k.message)||k||`${S} failed`);return Jt(B),B}}async function Mr(){var z;const S=c.trim();if(!S){Jt("Select a run first.");return}if(!I){Jt("Connect to the gateway first.");return}if(Le)return;const C=String(((z=me==null?void 0:me.waiting)==null?void 0:z.reason)||"").trim().toLowerCase()||String(sr||"").trim().toLowerCase();if(!gs||Ni||Xr||Go.toLowerCase()!=="waiting"||C!=="until"){Jt("This run is not a scheduled wait that can be triggered now.");return}Jt(""),mt(!0);try{const k={payload:{mode:"run_now",requested_at:en()}},B=String(yn||"").trim();B&&(k.wait_key=B),await jt.submit_command({command_id:cs(),run_id:S,type:"resume",payload:k,client_id:"web_pwa"}),bn({ts:en(),kind:"info",title:"Scheduled run triggered",preview:an(`run ${S}`),data:{run_id:S,until:Hn||null}});try{const Y=await jt.get_run(S);tn(Y)}catch{}}catch(k){Jt(String((k==null?void 0:k.message)||k||"Failed to trigger scheduled run"))}finally{mt(!1)}}async function Dr(S){const C=c.trim();if(!C)return Jt("Missing run_id"),"Missing run_id";if(dr)return"Schedule update already in progress";const z=String(S.interval||"").trim();if(!/^\s*(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)\s*$/i.test(z)){const B="Invalid interval (expected like '20m', '1h', '0.5s', '250ms')";return xr(B),B}xr(""),Jt(""),Rr(!0),Ye(!0);try{await jt.submit_command({command_id:cs(),run_id:C,type:"update_schedule",payload:{interval:z,apply_immediately:S.apply_immediately!==!1},client_id:"web_pwa"}),bn({ts:en(),kind:"info",title:"Schedule updated",preview:an(`interval: ${z}`),data:{interval:z},run_id:C});try{const B=await jt.get_run(C);tn(B)}catch{}return null}catch(B){const Y=String((B==null?void 0:B.message)||B||"update_schedule failed");return xr(Y),Jt(Y),Y}finally{Ye(!1),Rr(!1)}}async function ya(S){const C=c.trim();if(!C)return Jt("Missing run_id"),"Missing run_id";if(lr)return"Compaction already in progress";const z=typeof(S==null?void 0:S.preserve_recent)=="number"?S.preserve_recent:Mn,k=Math.max(0,Math.min(500,Math.floor(Number.isFinite(z)?z:6))),B=(S==null?void 0:S.compression_mode)||Qr,Y=String((S==null?void 0:S.focus)??ws??"").trim();wn(""),Jt(""),fr(!0),Ye(!0);try{const X={preserve_recent:k,compression_mode:B};return Y&&(X.focus=Y),await jt.submit_command({command_id:cs(),run_id:C,type:"compact_memory",payload:X,client_id:"web_pwa"}),bn({ts:en(),kind:"info",title:"Compaction requested",preview:an(`mode: ${B} • preserve_recent: ${k}`),data:X,run_id:C}),null}catch(X){const re=String((X==null?void 0:X.message)||X||"compact_memory failed");return wn(re),Jt(re),re}finally{Ye(!1),fr(!1)}}async function Wo(){const S=c.trim();if(!S){ur("Missing run_id");return}if(!Oo){ur(""),co(!0);try{const C=r.maintenance_ai_provider.trim(),z=r.maintenance_ai_model.trim();await jt.generate_run_summary(S,{provider:C||void 0,model:z||void 0,include_subruns:!0}),bn({ts:en(),kind:"info",title:"Summary generation requested",preview:an(`run ${S}`)})}catch(C){ur(String((C==null?void 0:C.message)||C||"Failed to generate summary"))}finally{co(!1)}}}async function Es(){const S=c.trim();if(!S){Lr("Select a run first.");return}if(!I){Lr("Connect to the gateway first.");return}const C=zs.trim();if(!C||Ri)return;Lr(""),bs(!0);const k={id:`local:${cs()}`,role:"user",content:C,ts:en()};Sr(B=>[...B,k]),es("");try{const B=[...rr,k].slice(-20).map(Je=>({role:Je.role,content:Je.content})),Y=r.maintenance_ai_provider.trim(),X=r.maintenance_ai_model.trim(),re=await jt.run_chat(S,{provider:Y||void 0,model:X||void 0,include_subruns:!0,messages:B}),Pe=String((re==null?void 0:re.answer)||"").trim()||"(empty response)",Ce=String((re==null?void 0:re.generated_at)||"").trim()||en();Sr(Je=>[...Je,{id:`local:${cs()}`,role:"assistant",content:Pe,ts:Ce}])}catch(B){Lr(String((B==null?void 0:B.message)||B||"Chat failed")),Sr(Y=>[...Y,{id:`local:${cs()}`,role:"assistant",content:"(error: failed to generate answer)",ts:en()}])}finally{bs(!1)}}function ai(S){if(!rr.length)return;const C=c.trim(),z=C?`Run ${C}`:"Chat",k=dv(rr.map(B=>({role:B.role,content:B.content,ts:B.ts})),{heading:z});if(S==="download"){const B=new Date().toISOString().slice(0,19).replace(/[:T]/g,"-"),Y=`abstractobserver-chat-${Pg(C||"run")}-${B}.md`;fv({filename:Y,text:k,mime:"text/markdown;charset=utf-8"});return}(async()=>{const B=await Xs(k);Qs(B?"copied":"failed"),window.setTimeout(()=>Qs("idle"),900)})()}async function Wi(){const S=typeof(me==null?void 0:me.workflow_id)=="string"?String(me.workflow_id).trim():"";if(!S){ts([]);return}if(I&&!P){Be(""),ie(!0);try{const C=await jt.list_runs({limit:200,workflow_id:S,root_only:!0}),z=Array.isArray(C==null?void 0:C.items)?C.items:[],k=[];for(const Ce of z){const Je=typeof(Ce==null?void 0:Ce.run_id)=="string"?String(Ce.run_id).trim():"";if(!Je)continue;const Tt=typeof(Ce==null?void 0:Ce.ledger_len)=="number"?Number(Ce.ledger_len):0;k.push({run_id:Je,ledger_len:Number.isFinite(Tt)?Tt:0})}if(!k.length){ts([]);return}const B=400,Y=k.map(Ce=>({run_id:Ce.run_id,after:Math.max(0,(Ce.ledger_len||0)-B)})),X=await jt.get_ledger_batch({runs:Y,limit:B}),re=[],Pe=new Set;for(const Ce of k){const Je=X!=null&&X.runs&&typeof X.runs=="object"?X.runs[Ce.run_id]:null,Tt=Array.isArray(Je==null?void 0:Je.items)?Je.items:[];for(const Ze of Tt){const Ve=Ze==null?void 0:Ze.effect;if(!Ve||typeof Ve!="object"||String(Ve.type||"")!=="emit_event")continue;const _t=Ve.payload;if(!_t||typeof _t!="object"||String(_t.name||"")!=="abstract.chat.thread")continue;const it=_t.payload;if(!it||typeof it!="object")continue;const ut=typeof it.thread_id=="string"?String(it.thread_id).trim():"";if(!ut||Pe.has(ut))continue;Pe.add(ut);const Dt=typeof it.created_at=="string"?String(it.created_at):"",Fn=typeof it.title=="string"?String(it.title):"",rt=typeof it.workflow_id=="string"?String(it.workflow_id):S,at=typeof it.run_id=="string"?String(it.run_id):Ce.run_id,Gt=typeof it.provider=="string"?String(it.provider):"",Cn=typeof it.model=="string"?String(it.model):"",Wt=typeof it.message_count=="number"?Number(it.message_count):null,Br=it.chat_artifact,Ei=Br&&typeof Br=="object"&&typeof Br.$artifact=="string"?String(Br.$artifact):"";Ei&&re.push({thread_id:ut,created_at:Dt,title:Fn||`Chat ${ut.slice(0,8)}`,run_id:at,workflow_id:rt,message_count:Wt,provider:Gt,model:Cn,artifact_id:Ei})}}re.sort((Ce,Je)=>String(Je.created_at||"").localeCompare(String(Ce.created_at||""))),ts(re)}catch(C){Be(String((C==null?void 0:C.message)||C||"Failed to load saved discussions"))}finally{ie(!1)}}}async function lc(){const S=c.trim();if(!S){vr("Select a run first.");return}if(!I){vr("Connect to the gateway first.");return}if(rr.length&&!Yn){vr(""),hs(!0);try{const C=r.maintenance_ai_provider.trim(),z=r.maintenance_ai_model.trim(),k=await jt.save_chat_thread(S,{provider:C||void 0,model:z||void 0,include_subruns:!0,messages:rr.map(X=>({role:X.role,content:X.content,ts:X.ts}))}),B=typeof(k==null?void 0:k.created_at)=="string"?String(k.created_at):en();js(B);try{const X=JSON.stringify(rr.map(re=>({role:re.role,content:re.content,ts:re.ts})));ks(X)}catch{ks("1")}typeof(k==null?void 0:k.thread_id)=="string"&&String(k.thread_id).trim()&&nt(String(k.thread_id).trim());const Y=!!(k!=null&&k.duplicate);Fr(Y?"Already saved":"Saved discussion",2),await Wi()}catch(C){vr(String((C==null?void 0:C.message)||C||"Failed to save discussion"))}finally{hs(!1)}}}async function Qc(){const S=String(De||"").trim();if(!S)return;const C=so.find(B=>String(B.thread_id||"").trim()===S)||null;if(!C){Vt("Saved discussion not found (refresh list).");return}if(!I){Vt("Connect to the gateway first.");return}if(Et)return;const z=rr.length>0,k=(()=>{if(!z)return!1;if(!Pr)return!0;try{return JSON.stringify(rr.map(Y=>({role:Y.role,content:Y.content,ts:Y.ts})))!==Pr}catch{return!0}})();if(!(z&&k&&!window.confirm("Replace the current chat with the selected saved discussion? Unsaved changes will be lost."))){Vt(""),$t(!0);try{const Y=await(await jt.download_run_artifact_content(C.run_id,C.artifact_id)).text(),X=JSON.parse(Y),re=Array.isArray(X==null?void 0:X.messages)?X.messages:[],Pe=typeof(X==null?void 0:X.created_at)=="string"?String(X.created_at):String(C.created_at||""),Ce=[];for(let Je=0;Je<re.length;Je++){const Tt=re[Je];if(!Tt||typeof Tt!="object")continue;const Ze=String(Tt.role||"").trim()==="assistant"?"assistant":"user",Ve=typeof Tt.content=="string"?String(Tt.content):"";if(!Ve.trim())continue;const _t=typeof Tt.ts=="string"?String(Tt.ts):Pe||en();Ce.push({id:`thread:${S}:${Je}`,role:Ze,content:Ve.trim(),ts:_t})}Sr(Ce),es(""),Lr(""),vr(""),js(Pe||"");try{const Je=JSON.stringify(Ce.map(Tt=>({role:Tt.role,content:Tt.content,ts:Tt.ts})));ks(Je)}catch{ks("1")}Fr("Loaded discussion",2)}catch(B){Vt(String((B==null?void 0:B.message)||B||"Failed to load saved discussion"))}finally{$t(!1)}}}async function Ho(S){const C=c.trim(),z=String((on==null?void 0:on.wait_key)||"").trim();if(!C||!z){Jt("No active wait to resume");return}if(String((on==null?void 0:on.reason)||"").trim()==="subworkflow"){Jt("This run is waiting on a subworkflow; attach to the child run instead of resuming manually.");return}Jt(""),mt(!0);try{await jt.submit_command({command_id:cs(),run_id:C,type:"resume",payload:{wait_key:z,payload:S||{}},client_id:"web_pwa"}),bn({ts:en(),kind:"info",title:"Resume submitted",preview:an(`wait_key: ${z}`),data:{wait_key:z,payload:S||{}}}),mr(z),Gn.current&&window.clearTimeout(Gn.current),Gn.current=window.setTimeout(()=>{mr(k=>k===z?"":k)},2e3)}catch(k){Jt(String((k==null?void 0:k.message)||k||"resume failed"))}finally{mt(!1)}}async function qo(S){if(!Bi){Jt("No worker configured");return}if(!Le){Jt(""),mt(!0);try{const C=[];for(const z of S){const k=await Bi.call_tool(z);C.push(k)}await Ho({mode:"executed",results:C})}finally{mt(!1)}}}const Pn=p.useMemo(()=>i_(on),[on]),yn=String((on==null?void 0:on.wait_key)||"").trim(),sr=String((on==null?void 0:on.reason)||"").trim(),Hn=typeof(on==null?void 0:on.until)=="string"?String(on.until):"",$s=sr==="until"&&!!Hn,Vo=nN(Tr)&&(!!yn||$s),Wa=sr==="user",os=sr==="event"?Cu(Y1(yn)):"",cc=sr==="event"&&os==="abstract.ask",Vu=Pn.length>0,Gu=Vo&&yn&&(Wa||cc||Vu)&&Qe!==yn,Hi=typeof((hc=on==null?void 0:on.details)==null?void 0:hc.sub_run_id)=="string"?String(on.details.sub_run_id):"",Go=typeof(me==null?void 0:me.status)=="string"?String(me.status):"",Xr=!!(me!=null&&me.paused),Ni=Go==="completed"||Go==="failed"||Go==="cancelled",ps=me!=null&&me.schedule&&typeof me.schedule=="object"?me.schedule:null,fo=typeof(ps==null?void 0:ps.interval)=="string"?String(ps.interval).trim():"",cf=typeof(ps==null?void 0:ps.share_context)=="boolean"?!!ps.share_context:null,mo=typeof(ps==null?void 0:ps.repeat_count)=="number"?Number(ps.repeat_count):null,gs=!!(me!=null&&me.is_scheduled)||!!ps||typeof(me==null?void 0:me.workflow_id)=="string"&&String(me.workflow_id).startsWith("scheduled:"),qi=gs&&!!fo,kl=gs?Xr?"Resume schedule":"Suspend schedule":Go==="running"&&!Xr?"Pause":"Resume",Nl=gs?Xr?"resume":"pause":kl==="Pause"?"pause":"resume",li=gs?!c.trim()||Ne||Le||Ni:!c.trim()||Ne||Le||Ni||Nl==="resume"&&!Xr,ci=gs&&!Xr&&!Ni&&!Ne&&!Le&&Go.toLowerCase()==="waiting"&&(String(((pc=me==null?void 0:me.waiting)==null?void 0:pc.reason)||"").trim().toLowerCase()==="until"||sr==="until")&&!!String(Hn||"").trim(),Ar=(wa=me==null?void 0:me.limits)==null?void 0:wa.tokens,Bs=typeof(Ar==null?void 0:Ar.pct)=="number"?Number(Ar.pct):null,Vi=Ar==null?void 0:Ar.estimated_used,Yo=(Ar==null?void 0:Ar.max_input_tokens)??(Ar==null?void 0:Ar.max_tokens),Ut=p.useMemo(()=>{var Fn;const S={};for(const rt of ae||[]){if(!rt||typeof rt!="object")continue;const at=String(rt.name||"").trim();at&&(S[at]=rt)}const C=rt=>{const at=S[String(rt||"").trim()],Gt=at&&typeof at=="object"?at.toolset:"";return typeof Gt=="string"?Gt.trim():""},z=rt=>rt==null?"":typeof rt=="boolean"?rt?"true":"false":typeof rt=="number"?String(rt):typeof rt=="string"?an(rt,{max_chars:160,max_lines:2}):an(na(rt,160),{max_chars:160,max_lines:2}),k=(rt,at)=>{const Gt=String(rt||"").trim(),Cn=at&&typeof at=="object"?at:{},Wt=S[Gt],Br=Wt&&typeof Wt=="object"?Wt.parameters:null,Ei=Object.keys(Br&&typeof Br=="object"?Br:Cn),Vs=[],di=new Set;for(const gr of Ei)typeof gr!="string"||!gr.trim()||di.has(gr)||(di.add(gr),Object.prototype.hasOwnProperty.call(Cn,gr)&&Vs.push([gr,Cn[gr]]));for(const gr of Object.keys(Cn))di.has(gr)||Vs.push([gr,Cn[gr]]);return Vs},B=(rt,at)=>{const Gt=k(rt,at);return Gt.length?z(Gt[0][1]):""},Y=(rt,at)=>{const Gt=String(rt||"").trim()||"tool",Wt=k(Gt,at).slice(0,2);if(!Wt.length)return`${Gt}()`;if(Wt.length===1)return`${Gt}(${z(Wt[0][1])})`;const Br=Wt.map(([Ei,Vs])=>`${Ei}=${z(Vs)}`).join(", ");return`${Gt}(${Br})`},X=rt=>{var Sc,ou,au;const at={steps:rt.length,tool_calls_effects:0,tool_calls:0,unique_tools:0,llm_calls:0,llm_missing_responses:0,prompt_tokens:0,completion_tokens:0,total_tokens:0,started_at:"",ended_at:"",duration_s:0,errors:0},Gt=[],Cn=[],Wt=[],Br=new Set,Ei=[],Vs=[];let di=null,gr=null;const bc=dt=>{if(!dt||typeof dt!="object")return"";const Ki=dt.prompt;if(typeof Ki=="string"&&Ki.trim())return Ki.trim();const Jo=dt.messages;if(Array.isArray(Jo))for(let $i=Jo.length-1;$i>=0;$i--){const Ti=Jo[$i];if(!Ti||typeof Ti!="object"||String(Ti.role||"")!=="user")continue;const Sa=Ti.content;if(typeof Sa=="string"&&Sa.trim())return Sa.trim()}return""},Yu=dt=>dt==null?"":typeof dt=="string"?an(dt,{max_chars:2400,max_lines:32}):an(zd(dt),{max_chars:2400,max_lines:32});for(const dt of rt){const Ki=typeof(dt==null?void 0:dt.run_id)=="string"?String(dt.run_id):"",Jo=typeof(dt==null?void 0:dt.node_id)=="string"?String(dt.node_id):"",$i=String((dt==null?void 0:dt.ended_at)||(dt==null?void 0:dt.started_at)||"").trim(),Ti=ul($i);Ti!==null&&((di===null||Ti<di)&&(di=Ti),(gr===null||Ti>gr)&&(gr=Ti)),dt!=null&&dt.error&&(at.errors+=1);const Sa=typeof((Sc=dt==null?void 0:dt.effect)==null?void 0:Sc.type)=="string"?String(dt.effect.type):"";if(Sa==="llm_call"){at.llm_calls+=1;const _r=(ou=dt==null?void 0:dt.effect)==null?void 0:ou.payload,br=dt!=null&&dt.result&&typeof dt.result=="object"?dt.result.usage||dt.result.token_usage:null;let _s=0,yo=0,xo=0;br&&typeof br=="object"&&(_s=Number(br.prompt_tokens??br.input_tokens??0),yo=Number(br.completion_tokens??br.output_tokens??0),xo=Number(br.total_tokens??_s+yo),Number.isFinite(_s)&&(at.prompt_tokens+=_s),Number.isFinite(yo)&&(at.completion_tokens+=yo),Number.isFinite(xo)&&(at.total_tokens+=xo));const yr=_r&&typeof _r=="object"&&typeof _r.provider=="string"?String(_r.provider):"",Pl=_r&&typeof _r=="object"&&typeof _r.model=="string"?String(_r.model):"",Qa=bc(_r),Qo=dt!=null&&dt.result&&typeof dt.result=="object"&&typeof dt.result.content=="string"?String(dt.result.content):dt!=null&&dt.result&&typeof dt.result=="object"&&typeof dt.result.response=="string"?String(dt.result.response):typeof(dt==null?void 0:dt.result)=="string"?String(dt.result):"",ja=!String(Qo||"").trim();ja&&(at.llm_missing_responses+=1),Vs.length<80&&Vs.push({ts:$i,run_id:Ki,node_id:Jo,provider:yr,model:Pl,prompt_preview:an(Qa,{max_chars:1800,max_lines:24}),response_preview:an(String(Qo||""),{max_chars:1800,max_lines:24}),missing_response:ja,tokens:{prompt:Number.isFinite(_s)?_s:0,completion:Number.isFinite(yo)?yo:0,total:Number.isFinite(xo)?xo:0}})}if(Sa!=="tool_calls")continue;at.tool_calls_effects+=1;const lu=(au=dt==null?void 0:dt.effect)==null?void 0:au.payload,cu=lu&&typeof lu=="object"?lu.tool_calls:null,jc=Array.isArray(cu)?cu:[];if(!jc.length)continue;at.tool_calls+=jc.length;const Xu=dt!=null&&dt.result&&typeof dt.result=="object"?dt.result.results:null,kc=Array.isArray(Xu)?Xu:[],Ll=new Map;for(const _r of kc){if(!_r||typeof _r!="object")continue;const br=String(_r.call_id||_r.id||"").trim();br&&!Ll.has(br)&&Ll.set(br,_r)}for(let _r=0;_r<jc.length;_r++){const br=jc[_r];if(!br||typeof br!="object")continue;const _s=String(br.name||"").trim();if(!_s)continue;Br.add(_s);const yo=br.arguments,xo=String(br.call_id||br.id||"").trim(),yr=xo&&Ll.has(xo)?Ll.get(xo):_r<kc.length?kc[_r]:null,Pl=yr&&typeof yr=="object"&&typeof yr.success=="boolean"?!!yr.success:null,Qa=yr&&typeof yr=="object"?yr.output:null,Qo=yr&&typeof yr=="object"?yr.error:null;Ei.length<240&&Ei.push({ts:$i,run_id:Ki,node_id:Jo,name:_s,signature:Y(_s,yo),success:Pl,output_preview:Yu(Qa),error:typeof Qo=="string"||Qo?String(Qo):""});const ja=C(_s),ka=B(_s,yo);ja==="files"&&ka?Gt.push({tool:_s,file_path:ka,run_id:Ki,ts:$i}):ja==="system"&&ka?Cn.push({command:ka,run_id:Ki,ts:$i}):ja==="web"&&ka&&Wt.push({tool:_s,value:ka,run_id:Ki,ts:$i})}}return at.unique_tools=Br.size,di!==null&&(at.started_at=new Date(di).toISOString()),gr!==null&&(at.ended_at=new Date(gr).toISOString()),di!==null&&gr!==null&&(at.duration_s=Math.max(0,Math.round((gr-di)/1e3))),{stats:at,files:Gt,commands:Cn,web:Wt,tools_used:Array.from(Br).sort(),tool_calls_detail:Ei,llm_calls_detail:Vs}},re=[],Pe={},Ce=c.trim(),Je=rt=>{if(!rt)return;re.push(rt);const Gt=(typeof(rt==null?void 0:rt.run_id)=="string"?String(rt.run_id||"").trim():"")||Ce||"unknown";Pe[Gt]||(Pe[Gt]=[]),Pe[Gt].push(rt)};for(const rt of Ae)rt&&rt.record&&Je(rt.record);for(const rt of kt)rt&&rt.record&&Je(rt.record);const Tt=X(re),Ze={};for(const[rt,at]of Object.entries(Pe))Ze[rt]=X(at);const Ve=ri.map(rt=>{const at=String(rt||"").trim();if(!at)return null;const Gt=String(ni.current[at]||"").trim(),Cn=Io.current[at],Wt=Cn?String(Cn.parent_node_id||"").trim():"";return{run_id:at,parent_run_id:Gt,parent_node_id:Wt,digest:Ze[at]||null}}).filter(Boolean);Ve.sort((rt,at)=>rt.run_id<at.run_id?-1:rt.run_id>at.run_id?1:0);let _t=null;for(const rt of Ae){const at=rt.record,Gt=yd(at);if((Gt&&Gt.name?Cu(Gt.name):"")!=="abstract.summary")continue;const Wt=Gt!=null&&Gt.payload&&typeof Gt.payload=="object"?Gt.payload:{},Br=typeof(Wt==null?void 0:Wt.text)=="string"?String(Wt.text):"";Br.trim()&&(_t={cursor:rt.cursor,ts:String((at==null?void 0:at.ended_at)||(at==null?void 0:at.started_at)||""),text:Br,provider:typeof(Wt==null?void 0:Wt.provider)=="string"?String(Wt.provider):void 0,model:typeof(Wt==null?void 0:Wt.model)=="string"?String(Wt.model):void 0,generated_at:typeof(Wt==null?void 0:Wt.generated_at)=="string"?String(Wt.generated_at):void 0,source:Wt==null?void 0:Wt.source})}const it=_t?ul(_t.generated_at||_t.ts):null;let ut=null;for(const rt of re){if((typeof((Fn=rt==null?void 0:rt.effect)==null?void 0:Fn.type)=="string"?String(rt.effect.type):"")==="emit_event")continue;const Gt=String((rt==null?void 0:rt.ended_at)||(rt==null?void 0:rt.started_at)||"").trim(),Cn=ul(Gt);Cn!==null&&(ut===null||Cn>ut)&&(ut=Cn)}const Dt=it!==null&&ut!==null?ut>it:!1;return{overall:Tt,per_run:Ze,subruns:Ve,latest_summary:_t,summary_outdated:Dt}},[Ae,kt,c,ri,ae]);p.useEffect(()=>{$r.current=Kn.trim()},[Kn]),p.useEffect(()=>{const S=c.trim(),C=Hi.trim();if(!(K&&sr==="subworkflow"&&!!C&&C!==S)){bi.current="",Kn.trim()&&rs("");return}bi.current!==C&&(bi.current=C,$r.current=C,rs(C))},[K,c,sr,Hi,Kn]),p.useEffect(()=>{Pa({})},[j]);const uc=p.useMemo(()=>((Array.isArray(M==null?void 0:M.entrypoints)?M==null?void 0:M.entrypoints:[])||[]).map(C=>String((C==null?void 0:C.flow_id)||"").trim()).filter(Boolean),[M]),Us=p.useMemo(()=>{const S=String((me==null?void 0:me.workflow_id)||"").trim();return K&&S.startsWith("scheduled:")?S:""},[K,me==null?void 0:me.workflow_id]),Ws=p.useMemo(()=>{var X;if(!K||!c.trim()||!Us.trim())return Is;const S=String((me==null?void 0:me.status)||"").trim().toLowerCase(),C=String((me==null?void 0:me.current_node)||"").trim();if(S!=="waiting"&&S!=="running"||!C)return Is;const z=N(c.trim(),C);if(!z)return Is;const k=String(sr||((X=me==null?void 0:me.waiting)==null?void 0:X.reason)||"").trim().toLowerCase(),B=typeof(Tr==null?void 0:Tr.node_id)=="string"?String(Tr.node_id).trim():"",Y=typeof(Tr==null?void 0:Tr.status)=="string"?String(Tr.status).trim().toLowerCase():"";return S==="waiting"&&k==="until"||!Is.trim()||(Y==="waiting"||Y==="running")&&!B?z:Is},[K,c,Us,me==null?void 0:me.status,me==null?void 0:me.current_node,(qs=me==null?void 0:me.waiting)==null?void 0:qs.reason,sr,Is,Tr]),Hs=p.useMemo(()=>{const S={},C=c.trim(),z=(k,B)=>{if(!B)return;const Y=typeof(B==null?void 0:B.node_id)=="string"?String(B.node_id).trim():"";if(!Y)return;const X=N(k,Y);if(!X)return;const re=String((B==null?void 0:B.ended_at)||(B==null?void 0:B.started_at)||"").trim(),Pe=ul(re);Pe!==null&&(S[X]=Math.max(S[X]||0,Pe))};for(const k of Ae)k&&k.record&&z(C,k.record);for(const k of kt)k&&k.record&&z(String(k.run_id||"").trim(),k.record);return S},[Ae,kt,c,ri]);p.useEffect(()=>{var z;if(!K||!c.trim()||!Us.trim())return;const S=String((me==null?void 0:me.current_node)||"").trim();!S||String(((z=me==null?void 0:me.waiting)==null?void 0:z.reason)||"").trim()==="subworkflow"||F(N(c.trim(),S))},[K,c,Us,me==null?void 0:me.current_node,(Xo=me==null?void 0:me.waiting)==null?void 0:Xo.reason]),p.useEffect(()=>{const S=String((vn==null?void 0:vn.flow_id)||"").trim();S&&(wi.trim()||Ps(S))},[vn,wi]),p.useEffect(()=>{const S=Us.trim(),C=j.trim(),z=wi.trim();if(S){let B=!1;return Ao(!0),zo(""),jt.get_workflow_flow(S).then(Y=>{if(B)return;const X=Y==null?void 0:Y.flow;Ii(X&&typeof X=="object"?X:null)}).catch(Y=>{B||(Ii(null),zo(String((Y==null?void 0:Y.message)||Y||"Failed to load workflow flow")))}).finally(()=>{B||Ao(!1)}),()=>{B=!0}}if(!C||!z){Ii(null),zo(""),Ao(!1);return}let k=!1;return Ao(!0),zo(""),jt.get_bundle_flow(C,z).then(B=>{if(k)return;const Y=B==null?void 0:B.flow,X=Y&&typeof Y=="object"?Y:null;Ii(X),X&&Pa(re=>({...re,[z]:X}))}).catch(B=>{k||(Ii(null),zo(String((B==null?void 0:B.message)||B||"Failed to load flow")))}).finally(()=>{k||Ao(!1)}),()=>{k=!0}},[Us,j,wi,jt]),p.useEffect(()=>{const S=j.trim();if(!Ro||!S||!Ns)return;let C=!1;const z=3,k=Ce=>{const Je=Array.isArray(Ce==null?void 0:Ce.nodes)?Ce.nodes:[],Tt=[];for(const Ze of Je){const Ve=Ze!=null&&Ze.data&&typeof Ze.data=="object"?Ze.data:{};if(String((Ve==null?void 0:Ve.nodeType)||(Ze==null?void 0:Ze.type)||"").trim()!=="subflow")continue;const it=(Ve==null?void 0:Ve.subflowId)||(Ve==null?void 0:Ve.flowId),ut=typeof it=="string"?it.trim():"";ut&&Tt.push(ut.includes(":")?ut.split(":",2)[1]:ut)}return Tt},B=new Set,Y=new Set,X=(Ce,Je)=>{if(!(!Ce||Je>=z))for(const Tt of k(Ce)){const Ze=String(Tt||"").trim();if(!Ze||B.has(Ze))continue;B.add(Ze),Y.add(Ze);const Ve=fa[Ze];Ve&&X(Ve,Je+1)}};X(Ns,0);const re=Array.from(Y).filter(Ce=>!fa[Ce]).slice(0,20);return re.length?((async()=>{for(const Ce of re){if(C)return;try{const Je=await jt.get_bundle_flow(S,Ce),Tt=Je==null?void 0:Je.flow,Ze=Tt&&typeof Tt=="object"?Tt:null;if(!Ze)continue;Pa(Ve=>Ve[Ce]?Ve:{...Ve,[Ce]:Ze})}catch{}}})(),()=>{C=!0}):void 0},[Ro,j,Ns,fa,jt]);const Qn=p.useMemo(()=>{const C=(Array.isArray(M==null?void 0:M.flows)?M==null?void 0:M.flows:[]).map(z=>String(z||"").trim()).filter(Boolean);return C.length?Array.from(new Set(C)).sort():Array.from(new Set(uc)).sort()},[M,uc]);p.useEffect(()=>{Ni&&Is.trim()&&(Fi(""),Os.current="")},[Ni,c,Is]),p.useEffect(()=>{const S=Kn.trim(),C=c.trim();if(!(K&&!!S&&S!==C)){wr.current&&wr.current.abort(),wr.current=null,si.current=0,Ds&&Fa("");return}if(Ds===S)return;wr.current&&wr.current.abort();const k=new AbortController;wr.current=k,si.current=0,Fa(S),bn({ts:en(),kind:"info",title:`Following run ${S} (status/events)`});let B=250;return(async()=>{for(;!k.signal.aborted;){try{await jt.stream_ledger(S,{after:si.current,on_step:X=>_e(S,X),signal:k.signal});return}catch(X){if(k.signal.aborted)break;const re=String((X==null?void 0:X.message)||X||"stream error");bn({ts:en(),kind:"error",title:"Child ledger stream error (will retry)",preview:an(re),data:{child_run_id:S,error:re}})}if(k.signal.aborted)break;await new Promise(X=>setTimeout(X,B)),B=Math.min(5e3,Math.floor(B*1.6))}})(),()=>{k.abort()}},[K,Kn,c,jt,Ds]),p.useEffect(()=>{if(!K||!c.trim())return;let S=!1;const C=async()=>{if(!S&&!Cs.current&&ri.length){Cs.current=!0;try{const k=ri.map(re=>String(re||"").trim()).filter(Boolean);if(!k.length)return;const B=k.map(re=>({run_id:re,after:Number(mn.current[re]||0)})),Y=await jt.get_ledger_batch({runs:B,limit:200}),X=Y&&typeof Y=="object"?Y.runs:{};for(const re of k){if(S)return;const Pe=X&&typeof X=="object"?X[re]:null,Ce=Array.isArray(Pe==null?void 0:Pe.items)?Pe.items:[],Je=typeof(Pe==null?void 0:Pe.next_after)=="number"?Pe.next_after:Number(mn.current[re]||0),Tt=Number(mn.current[re]||0);for(let Ze=0;Ze<Ce.length;Ze++){const Ve=Ce[Ze];He(re,{cursor:Tt+Ze+1,record:Ve})}mn.current[re]=Je}}catch(k){if(S)return;bn({ts:en(),kind:"error",title:"Subrun digest poll failed",preview:an(String((k==null?void 0:k.message)||k||""))})}finally{Cs.current=!1}}};C();const z=window.setInterval(()=>void C(),2e3);return()=>{S=!0,window.clearInterval(z),Cs.current=!1}},[K,c,ri,jt]);const ui=p.useMemo(()=>Rs?Xn.filter(Z1):Xn,[Rs,Xn]),xa=p.useMemo(()=>{const S=c.trim(),C=[];for(const z of Ae)!z||!z.record||C.push({run_id:S,cursor:z.cursor,record:z.record});for(const z of kt)!z||!z.record||C.push({run_id:String(z.run_id||"").trim(),cursor:z.cursor,record:z.record});return C},[Ae,kt,c]),Cl=p.useMemo(()=>{var C,z,k;const S={};for(const B of xa){const Y=String(B.run_id||((C=B.record)==null?void 0:C.run_id)||"").trim();!Y||String(((k=(z=B.record)==null?void 0:z.effect)==null?void 0:k.type)||"").trim()!=="llm_call"||(S[Y]=(S[Y]||0)+1)}return S},[xa]),Zc=p.useMemo(()=>{const S=Kn.trim();if(S)return S;let C="",z=-1;for(const[k,B]of Object.entries(Cl))B>z&&(C=k,z=B);return C||c.trim()},[Cl,Kn,c]),Gi=(oa.trim()||Zc).trim(),dc=p.useMemo(()=>{var B;const S=new Set,C=c.trim(),z=Kn.trim();C&&S.add(C),z&&S.add(z);for(const Y of ri){const X=String(Y||"").trim();X&&S.add(X)}for(const Y of xa){const X=String(Y.run_id||((B=Y.record)==null?void 0:B.run_id)||"").trim();X&&S.add(X)}const k=Array.from(S);return k.sort((Y,X)=>C&&Y===C&&X!==C?-1:C&&X===C&&Y!==C?1:z&&Y===z&&X!==z?-1:z&&X===z&&Y!==z?1:Y<X?-1:Y>X?1:0),k},[c,Kn,ri,xa]),Ha=p.useMemo(()=>Zx(xa,{run_id:Gi}),[xa,Gi]),qn=p.useMemo(()=>{const S=c.trim();return S&&R.find(C=>String(C.run_id||"").trim()===S)||null},[R,c]),qa=p.useMemo(()=>{var C;const S=typeof((C=me==null?void 0:me.schedule)==null?void 0:C.target_workflow_id)=="string"?String(me.schedule.target_workflow_id).trim():"";return Fg(S||(qn==null?void 0:qn.workflow_id),Bo)},[me,qn,Bo]),ho=String((me==null?void 0:me.status)||(qn==null?void 0:qn.status)||"").trim(),uf=String(sr||((gc=me==null?void 0:me.waiting)==null?void 0:gc.reason)||(qn==null?void 0:qn.waiting_reason)||"").trim().toLowerCase(),va=!!(me!=null&&me.is_scheduled||qn!=null&&qn.is_scheduled),El=!!(me!=null&&me.paused||qn!=null&&qn.paused),fc=va&&ho.toLowerCase()==="waiting",Va=fc&&uf==="until",po=ul(Hn),Ga=Va&&po!==null?Og(po-Date.now()):"",$l=Va&&po!==null?new Date(po).toLocaleString():Va?String(Hn||"").trim():"",Tl=va&&El?"Suspended":fc?"Scheduled":ho,Ya=va&&(El||fc)?"scheduled":ho.toLowerCase()==="completed"?"ok":ho.toLowerCase()==="failed"?"danger":ho.toLowerCase()==="waiting"||ho.toLowerCase()==="running"?"warn":"muted",eu=Ym((qn==null?void 0:qn.updated_at)||(qn==null?void 0:qn.created_at));return s.jsxs("div",{className:"app-shell",children:[s.jsxs("div",{className:"app-header",children:[s.jsxs("div",{className:"logo",title:"AbstractObserver (Web/PWA)",children:[s.jsx("span",{className:"logo-icon","aria-hidden":"true",children:s.jsxs("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[s.jsx("ellipse",{cx:"12",cy:"12",rx:"9",ry:"4.2",transform:"rotate(-18 12 12)",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",opacity:"0.75"}),s.jsx("circle",{cx:"12",cy:"12",r:"4.7",fill:"currentColor",opacity:"0.95"}),s.jsx("circle",{cx:"10.3",cy:"10.7",r:"1.6",fill:"#ffffff",opacity:"0.18"}),s.jsx("circle",{cx:"19",cy:"13.6",r:"1.2",fill:"currentColor"})]})}),s.jsx("span",{className:"logo_name",children:"AbstractObserver"}),s.jsx("span",{className:`gateway_led ${I?"ok":xe?"warn":"err"}`,title:`Gateway: ${I?"connected":xe?"connecting":"disconnected"}`,"aria-hidden":"true"})]}),s.jsxs("div",{className:"app_nav",children:[s.jsx("button",{className:`nav_tab ${e==="observe"?"active":""}`,onClick:()=>t("observe"),children:"Observe"}),s.jsx("button",{className:`nav_tab ${e==="launch"?"active":""}`,onClick:()=>t("launch"),children:"Launch"}),s.jsx("button",{className:`nav_tab ${e==="mindmap"?"active":""}`,onClick:()=>t("mindmap"),children:"Mindmap"}),s.jsx("button",{className:`nav_tab ${e==="backlog"?"active":""}`,onClick:()=>t("backlog"),children:"Backlog"}),s.jsx("button",{className:`nav_tab ${e==="inbox"?"active":""}`,onClick:()=>t("inbox"),children:"Inbox"})]}),s.jsxs("div",{className:"status_pills",children:[e==="observe"?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:`status_pill ${K?"ok":Ne?"warn":"muted"}`,children:["run ",K?"ok":Ne?"…":"off"]}),s.jsxs("span",{className:"status_pill muted status_pill_cursor",children:["cursor ",gt]})]}):null,l?s.jsx("monitor-gpu",{ref:u,mode:"icon","history-size":"5","tick-ms":"1500","base-url":r.gateway_url,title:"GPU usage (host)",style:{"--monitor-gpu-width":"34px","--monitor-gpu-bars-height":"22px","--monitor-gpu-padding":"2px 4px","--monitor-gpu-radius":"999px","--monitor-gpu-bg":"rgba(0,0,0,0.22)","--monitor-gpu-border":"rgba(255,255,255,0.16)",flexShrink:0}}):null,s.jsx("button",{className:`header_icon_btn ${e==="processes"?"active":""}`,title:"Processes","aria-label":"Processes",type:"button",onClick:()=>t("processes"),children:s.jsx(Zn,{name:"terminal",size:16})}),s.jsx("button",{className:`header_icon_btn ${e==="settings"?"active":""}`,title:"Settings","aria-label":"Settings",type:"button",onClick:()=>t("settings"),children:s.jsx(Zn,{name:"settings",size:16})})]})]}),s.jsxs("div",{className:"app-body",children:[e==="settings"?s.jsx("div",{className:"page page_scroll",children:s.jsx("div",{className:"page_inner constrained",children:s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"title",children:s.jsx("h1",{children:"Settings"})}),s.jsx("div",{className:"section_title",children:"Appearance"}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Theme"}),s.jsx(jv,{value:r.theme,onChange:S=>o(C=>({...C,theme:S}))}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:"Stored locally in this browser (no server round-trip)."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Font size"}),s.jsx(kv,{value:r.font_scale,onChange:S=>o(C=>({...C,font_scale:S}))})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Header size"}),s.jsx(Nv,{value:r.header_density,onChange:S=>o(C=>({...C,header_density:S}))})]}),s.jsx("div",{className:"section_title",children:"Gateway"}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Gateway URL (blank = same origin / dev proxy)"}),s.jsxs("div",{className:"field_inline",children:[s.jsx("input",{value:r.gateway_url,onChange:S=>o(C=>({...C,gateway_url:S.target.value})),placeholder:"https://your-gateway-host"}),s.jsx("button",{className:"btn",onClick:I?_a:ki,disabled:xe,children:xe?"Connecting…":I?"Disconnect":"Connect"})]}),Te?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:Te}):null]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Auto-connect to gateway on load"}),s.jsxs("select",{value:r.auto_connect_gateway?"on":"off",onChange:S=>o(C=>({...C,auto_connect_gateway:S.target.value==="on"})),children:[s.jsx("option",{value:"on",children:"On"}),s.jsx("option",{value:"off",children:"Off"})]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Gateway token (Authorization: Bearer …)"}),s.jsx("input",{type:"password",value:r.auth_token,onChange:S=>o(C=>({...C,auth_token:S.target.value})),placeholder:"(optional for localhost dev)"})]}),s.jsx("div",{className:"section_title",children:"Maintenance AI"}),s.jsx(bv,{className:"field",providerLabel:"Provider (blank = gateway default)",modelLabel:"Model (blank = gateway default)",providerPlaceholder:"lmstudio",modelPlaceholder:"qwen/qwen3-next-80b",provider:r.maintenance_ai_provider,model:r.maintenance_ai_model,providers:Xc,models:Uo.models,loadingProviders:xe,loadingModels:sc,modelError:Sl?Uo.error:"",allowCustomProvider:!0,allowCustomModel:!0,allowGatewayDefault:!0,gatewayDefaultLabel:"(gateway default)",selectClassName:"mono",onChange:S=>o(C=>({...C,maintenance_ai_provider:S.provider,maintenance_ai_model:S.model}))}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:"Used for backlog AI assist and in-editor maintenance chat. Defaults follow `ABSTRACTGATEWAY_PROVIDER` / `ABSTRACTGATEWAY_MODEL`."}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Backlog advisor agent (bundle id; blank = basic-agent)"}),s.jsx("input",{className:"mono",value:r.backlog_advisor_agent,onChange:S=>o(C=>({...C,backlog_advisor_agent:String(S.target.value||"")})),placeholder:"basic-agent"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:"Used by Backlog → Advisor drawer. Must be a bundle available on the gateway (e.g. `basic-agent`, `advanced-agent`)."})]}),s.jsx("div",{className:"section_divider"}),s.jsx("div",{className:"section_title",children:"Remote Tool Worker (MCP)"}),s.jsxs("details",{children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Advanced"}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Tool worker endpoint (MCP HTTP)"}),s.jsx("input",{className:"mono",value:r.worker_url,onChange:S=>o(C=>({...C,worker_url:S.target.value})),placeholder:"https://your-mcp-worker-endpoint"})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Tool worker token (Authorization: Bearer …)"}),s.jsx("input",{className:"mono",type:"password",value:r.worker_token,onChange:S=>o(C=>({...C,worker_token:S.target.value})),placeholder:"(optional)"})]}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Used to execute tool waits from the UI (advanced / potentially dangerous)."})]})]})})}):null,e==="launch"?s.jsx("div",{className:"page page_scroll",children:s.jsx("div",{className:"page_inner constrained",children:s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"title",children:s.jsx("h1",{children:"Launch"})}),I?null:s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(245, 158, 11, 0.35)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"gateway"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsxs("div",{className:"body mono",children:["Not connected. Open"," ",s.jsx("button",{className:"btn",onClick:()=>t("settings"),children:"Settings"})," ","to connect to a gateway."]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Workflow (discovered)"}),s.jsxs("select",{value:ji,onChange:async S=>{const C=String(S.target.value||"").trim();if(!C)return;const z=xm(C);z&&(b(z.bundle_id),w(z.flow_id),Ps(z.flow_id),await Ln(z.bundle_id))},disabled:xe||!Q.length,children:[s.jsx("option",{value:"",children:Q.length?"(select)":"(empty — connect in Settings)"}),Q.map(S=>s.jsx("option",{value:S.workflow_id,children:S.label},S.workflow_id))]}),s.jsxs("div",{className:"actions",style:{justifyContent:"flex-start",gap:"8px",flexWrap:"wrap",marginTop:"8px"},children:[s.jsx("input",{ref:fn,type:"file",accept:".flow",style:{display:"none"},onChange:S=>{const C=S.target.files&&S.target.files.length?S.target.files[0]:null;C&&jl(C)}}),s.jsx("button",{type:"button",className:"btn",onClick:()=>{var S;return(S=fn.current)==null?void 0:S.click()},disabled:!I||xe||Xt||Ne||Le,children:Xt?"Uploading…":"Upload .flow"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>void Ua(),disabled:!I||xe||D||Ne||Le,children:D?"Reloading…":"Reload bundles"}),s.jsx("button",{type:"button",className:"btn",onClick:()=>void oi(),disabled:!I||O||xe,children:O?"Refreshing…":"Refresh runs"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Use Upload for remote installs. Reload picks up server-side edits (dev)."})]}),vn!=null&&vn.description?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:String(vn.description)}):null,te?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Loading workflow…"}):null,Z?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:Z}):null]}),M&&vn?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"workflow"}),s.jsx("span",{className:"mono",children:String(M.bundle_ref||`${j.trim()}:${v.trim()}`)})]}),s.jsxs("div",{className:"body",children:[vn.name?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"name"}),": ",String(vn.name)]}):null,vn.interfaces&&vn.interfaces.length?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"interfaces"}),": ",vn.interfaces.join(", ")]}):null,s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"inputs"}),": ",ii.length]}),M.created_at?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"created"}),": ",String(M.created_at)]}):null]})]}):null,s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"session_id (scope=session)"}),s.jsx("input",{className:"mono",value:W,onChange:S=>H(S.target.value),placeholder:"(optional; empty ⇒ scope=session behaves like per-run)",disabled:Ne||Le}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Shared across runs when the same session_id is sent to the gateway."})]}),s.jsxs("div",{className:"actions",style:{justifyContent:"flex-start",flexWrap:"wrap",gap:"10px"},children:[s.jsx("button",{className:"btn primary",onClick:()=>void zn(),disabled:Ne||Le||xe||te||$n||!I||!j.trim()||!v.trim()||Zt===null,children:er!=="now"||qe!=="once"?"Launch (scheduled)":"Launch now"}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",alignSelf:"center"},children:er!=="now"||qe!=="once"?"Uses the schedule settings below.":"Starts immediately (no schedule)."})]}),we?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:we})]}):null,s.jsxs("details",{style:{marginTop:"10px"},open:!0,children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Inputs"}),!j.trim()||!v.trim()?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"8px"},children:"Select a workflow above to configure inputs."}):Zt===null?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"input error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:"Invalid input JSON. Fix it in Advanced JSON."})]}):Ba?s.jsxs("div",{style:{marginTop:"10px"},children:[ii.map(S=>{if(!S||typeof S!="object")return null;const C=String(S.id||"").trim();if(!C)return null;const z=String(S.label||C).trim()||C,k=String(S.type||"").trim().toLowerCase(),B=Object.prototype.hasOwnProperty.call(S,"default"),Y=B?na(S.default,160):"",X=Ne||Le,re=Zt==null?void 0:Zt[C],Pe=k&&k!=="unknown"?`${z} (${k})`:z,Ce=Y?`default: ${Y}`:"";if(k==="tools"){const Ze=Array.isArray(re)?re.map(Ve=>String(Ve||"").trim()).filter(Boolean):[];return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsx(f_,{options:Kc,value:Ze,disabled:X,placeholder:"(no tools selected)",onChange:Ve=>pr(C,Ve)}),Ce?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:Ce}):null]},C)}if(k==="provider"){const Ze=typeof re=="string"?String(re):"";return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsxs("select",{value:Ze,onChange:Ve=>pr(C,Ve.target.value),disabled:X,children:[s.jsx("option",{value:"",children:B?`(default: ${Y||"…"})`:"(unset)"}),bl.map(Ve=>s.jsx("option",{value:Ve,children:Ve},Ve))]})]},C)}if(k==="model"){const Ze=typeof re=="string"?String(re):"",Ve=String((Zt==null?void 0:Zt.provider)||"").trim(),_t=Ve?he[Ve]:void 0,it=_t&&Array.isArray(_t.models)?_t.models.map(ut=>String(ut||"").trim()).filter(Boolean):[];return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),it.length?s.jsxs("select",{value:Ze,onChange:ut=>pr(C,ut.target.value),disabled:X,children:[s.jsx("option",{value:"",children:B?`(default: ${Y||"…"})`:"(unset)"}),it.map(ut=>s.jsx("option",{value:ut,children:ut},ut))]}):s.jsx("input",{className:"mono",value:Ze,onChange:ut=>pr(C,ut.target.value),placeholder:B?`(default: ${Y||"…"})`:"model id",disabled:X})]},C)}if(k==="boolean"){const Ze=typeof re=="boolean"?re?"true":"false":"";return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsxs("select",{value:Ze,onChange:Ve=>{const _t=String(Ve.target.value||"").trim();_t?pr(C,_t==="true"):pr(C,void 0)},disabled:X,children:[s.jsx("option",{value:"",children:B?`(default: ${Y||"…"})`:"(unset)"}),s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]},C)}if(k==="number"){const Ze=typeof re=="number"&&Number.isFinite(re)?String(re):"";return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsx("input",{type:"number",value:Ze,onChange:Ve=>{const _t=String(Ve.target.value||"").trim();if(!_t){pr(C,void 0);return}const it=Number(_t);Number.isFinite(it)&&pr(C,it)},placeholder:B?`(default: ${Y||"…"})`:"",disabled:X})]},C)}if(k==="array"){const Ze=Array.isArray(re)?re.map(Ve=>String(Ve||"").trim()).filter(Boolean).join(`
|
|
130
|
-
`):"";return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsx("textarea",{className:"mono",value:Ze,onChange:Ve=>{const _t=String(Ve.target.value||"").split(/\r?\n/g).map(it=>String(it||"").trim()).filter(Boolean);pr(C,_t.length?_t:void 0)},placeholder:B?`(default: ${Y||"…"})`:"(one item per line)",rows:3,disabled:X})]},C)}if(wl(k)){const Ze=typeof Vn[C]=="string"?Vn[C]:"",Ve=String(Tn[C]||"").trim();return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),s.jsx("textarea",{className:"mono",value:Ze,onChange:_t=>{const it=String(_t.target.value??"");Dn(Dt=>({...Dt,[C]:it}));const ut=it.trim();if(!ut){ar(Dt=>{const Fn={...Dt};return delete Fn[C],Fn}),pr(C,void 0);return}try{const Dt=JSON.parse(ut);ar(Fn=>{const rt={...Fn};return delete rt[C],rt}),pr(C,Dt)}catch(Dt){ar(Fn=>({...Fn,[C]:String((Dt==null?void 0:Dt.message)||Dt||"Invalid JSON")}))}},placeholder:B?`(default: ${Y||"…"})`:"{...}",rows:5,disabled:X}),Ve?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)"},children:Ve}):Ce?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:Ce}):null]},C)}const Je=typeof re=="string"?String(re):"",Tt=C==="prompt";return s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:Pe}),Tt?s.jsx("textarea",{className:"mono",value:Je,onChange:Ze=>pr(C,Ze.target.value),placeholder:B?`(default: ${Y||"…"})`:"prompt",rows:3,disabled:X}):s.jsx("input",{className:"mono",value:Je,onChange:Ze=>pr(C,Ze.target.value),placeholder:B?`(default: ${Y||"…"})`:"",disabled:X}),Ce?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:Ce}):null]},C)}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"10px"},children:"Advanced JSON below is the source of truth for full `input_data`."})]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Prompt (common)"}),s.jsx("textarea",{className:"mono",value:pa,onChange:S=>pr("prompt",S.target.value),placeholder:"What do you want the workflow/agent to do?",rows:3,disabled:Ne||Le})]}),s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Provider (common)"}),s.jsx("input",{className:"mono",value:Do,onChange:S=>pr("provider",S.target.value),placeholder:"lmstudio / ollama / openai / ...",disabled:Ne||Le})]})}),s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Model (common)"}),s.jsx("input",{className:"mono",value:Da,onChange:S=>pr("model",S.target.value),placeholder:"qwen/qwen3-next-80b / gpt-4.1 / ...",disabled:Ne||Le})]})})]})]}),s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Advanced: input_data JSON"}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Input data (JSON)"}),s.jsx("textarea",{className:"mono",value:T,onChange:S=>A(S.target.value),placeholder:'{"prompt":"...","provider":"lmstudio","model":"qwen/qwen3-next-80b"}',rows:10,disabled:Ne||Le})]})]}),s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Workspace policy (filesystem)"}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Workspace root (workspace_root)"}),s.jsx("input",{className:"mono",value:tc,onChange:S=>pr("workspace_root",S.target.value),placeholder:"(leave blank to auto-generate a per-run workspace on the gateway)",disabled:Ne||Le}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Relative tool paths resolve under this directory."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Filesystem access mode (workspace_access_mode)"}),s.jsxs("select",{className:"mono",value:(nc||"workspace_only").trim()||"workspace_only",onChange:S=>pr("workspace_access_mode",S.target.value),disabled:Ne||Le,children:[s.jsx("option",{value:"workspace_only",children:"workspace_only (restrict absolute paths to workspace_root)"}),s.jsx("option",{value:"all_except_ignored",children:"all_except_ignored (allow absolute paths outside workspace_root)"})]}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"This only affects absolute paths; relative paths still stay under workspace_root."})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Ignored folders (workspace_ignored_paths)"}),s.jsx("textarea",{className:"mono",value:rc,onChange:S=>pr("workspace_ignored_paths",S.target.value),placeholder:`.git
|
|
131
|
-
node_modules
|
|
132
|
-
.venv
|
|
133
|
-
~/Library
|
|
134
|
-
/Users/albou/.ssh`,rows:5,disabled:Ne||Le}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"One path per line. Relative entries are resolved under workspace_root."})]})]})]}),s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Schedule"}),(()=>{const S=Mt==="weeks"?"week":Mt==="months"?"month":Mt.slice(0,-1),C=Math.max(1,Math.floor(ft||1)),z=`${C} ${S}${C===1?"":"s"}`,k=er==="now"?"now":de?(()=>{const re=new Date(de);return Number.isFinite(re.getTime())?re.toLocaleString():"at …"})():"at …",B=qe==="until"&&Qt?(()=>{const re=Bt||"23:59",Pe=new Date(`${Qt}T${re}`);return Number.isFinite(Pe.getTime())?Pe.toLocaleString():"…"})():"",Y=qe==="once"?"":qe==="forever"?"forever":qe==="count"?`${Math.max(1,Math.floor(nn||1))} runs`:B?`until ${B}`:"until …",X=qe==="once"?`Runs once • starts ${k}`:`Repeats every ${z} • starts ${k} • ${Y}`;return s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"schedule"}),s.jsx("span",{className:"mono",children:qe})]}),s.jsx("div",{className:"body",children:X})]})})(),Ke?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginTop:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:Ke})]}):null,s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Start"}),s.jsxs("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"center"},children:[s.jsxs("label",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[s.jsx("input",{type:"radio",name:"schedule_start",checked:er==="now",onChange:()=>In("now")}),"now"]}),s.jsxs("label",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[s.jsx("input",{type:"radio",name:"schedule_start",checked:er==="at",onChange:()=>In("at")}),"at"]}),er==="at"?s.jsx("input",{type:"datetime-local",value:de,onChange:S=>je(S.target.value)}):null]}),er==="at"?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Uses your device time; the gateway stores UTC."}):null]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Cadence"}),s.jsxs("select",{value:qe,onChange:S=>ot(S.target.value),children:[s.jsx("option",{value:"once",children:"Once"}),s.jsx("option",{value:"forever",children:"Repeat"}),s.jsx("option",{value:"count",children:"Repeat • N times"}),s.jsx("option",{value:"until",children:"Repeat • until date"})]})]}),qe!=="once"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Every"}),s.jsx("input",{type:"number",min:1,value:String(ft),onChange:S=>Nt(Math.max(1,parseInt(S.target.value||"1",10)||1))})]})}),s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Unit"}),s.jsxs("select",{value:Mt,onChange:S=>Ft(S.target.value),children:[s.jsx("option",{value:"minutes",children:"minutes"}),s.jsx("option",{value:"hours",children:"hours"}),s.jsx("option",{value:"days",children:"days"}),s.jsx("option",{value:"weeks",children:"weeks (≈7d)"}),s.jsx("option",{value:"months",children:"months (≈30d)"})]})]})})]}),Mt==="months"||Mt==="weeks"?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Note: weeks/months are implemented as fixed day intervals (calendar-aware scheduling is planned)."}):null]}):null,qe==="count"?s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Runs"}),s.jsx("input",{type:"number",min:1,value:String(nn),onChange:S=>Rt(Math.max(1,parseInt(S.target.value||"1",10)||1))})]}):null,qe==="until"?s.jsxs("div",{className:"row",children:[s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Until (date)"}),s.jsx("input",{type:"date",value:Qt,onChange:S=>ln(S.target.value)})]})}),s.jsx("div",{className:"col",children:s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Until (time)"}),s.jsx("input",{type:"time",value:Bt,onChange:S=>gn(S.target.value)})]})})]}):null,s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Context"}),s.jsxs("label",{style:{display:"flex",gap:"10px",alignItems:"center"},children:[s.jsx("input",{type:"checkbox",checked:Kt,onChange:S=>st(!!S.target.checked)}),"Share context over time/calls"]}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"When disabled, each execution runs in its own session (isolated memory)."})]}),s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Tip: set cadence to Once + now for an immediate launch."})]})]})})}):null,e==="backlog"?s.jsx(fw,{gateway:jt,gateway_connected:I,maintenance_ai_provider:r.maintenance_ai_provider,maintenance_ai_model:r.maintenance_ai_model,backlog_advisor_agent:r.backlog_advisor_agent}):null,e==="inbox"?s.jsx(B1,{gateway:jt,gateway_connected:I,default_session_id:ss||c||W,default_active_run_id:c,default_workflow_id:(me==null?void 0:me.workflow_id)??(qn==null?void 0:qn.workflow_id)??null}):null,e==="processes"?s.jsx(D1,{gateway:jt,gateway_connected:I}):null,e==="mindmap"?s.jsx("div",{className:"page mindmap_page",children:I?s.jsx("div",{className:"mindmap_full",children:s.jsx(P1,{gateway:jt,selected_run_id:c,selected_session_id:ss||W})}):s.jsx("div",{className:"page_inner constrained",children:s.jsxs("div",{className:"card",children:[s.jsx("div",{className:"title",children:s.jsx("h1",{children:"Mindmap"})}),s.jsxs("div",{className:"mono muted",children:["Not connected. Open"," ",s.jsx("button",{className:"btn",onClick:()=>t("settings"),children:"Settings"})," ","to connect to a gateway."]})]})})}):null,e==="observe"?s.jsx("div",{className:"page observe_page",children:s.jsxs("div",{className:"observe_layout",children:[s.jsxs("div",{className:"card panel_card scroll_y observe_sidebar",children:[s.jsx("div",{className:"section_title",children:"Runs"}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Runs (parent — select to observe)"}),s.jsxs("div",{className:"field_inline",children:[s.jsx(G1,{runs:R,selected_run_id:c,workflow_label_by_id:Bo,disabled:!I||O||xe||Ne||Le,loading:O,onSelect:S=>void _n(S)}),s.jsx("button",{className:"btn",onClick:oi,disabled:!I||O||xe,children:O?"Refreshing…":"Refresh"}),s.jsx("button",{className:"btn",onClick:Jn,disabled:!c.trim()&&!K,children:"Disconnect"})]})]}),s.jsxs("div",{className:"actions",style:{justifyContent:"flex-start"},children:[s.jsx("button",{className:"btn",onClick:()=>{if(Nl==="pause"){Rn("pause"),Er(""),cr(""),tt(!0);return}is("resume")},disabled:li,children:kl}),ci?s.jsx("button",{className:"btn primary",onClick:()=>void Mr(),disabled:!c.trim()||Ne||Le||Ni||Xr,children:"Run now"}):null,s.jsx("button",{className:"btn danger",onClick:()=>{Rn("cancel"),Er(""),cr(""),tt(!0)},disabled:!c.trim()||Ne||Le||Ni,children:"Cancel"}),s.jsx("button",{className:"btn",onClick:()=>t("launch"),disabled:!I||xe,children:"Launch…"})]}),Vo?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(96, 165, 250, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:gs?Xr?"suspended":"scheduled":"waiting"}),s.jsx("span",{className:"mono",children:sr||"unknown"})]}),s.jsxs("div",{className:"body",children:[yn?s.jsxs("div",{className:"mono",title:yn,children:[s.jsx("span",{className:"muted",children:"wait_key"}),": ",$a(yn,46)]}):null,sr==="event"&&os?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"event"}),": ",os]}):null,sr==="subworkflow"&&Hi?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"child run"}),": ",$a(Hi,18)]}):null,sr==="until"&&Hn?s.jsxs("div",{className:"mono",title:Hn,children:[s.jsx("span",{className:"muted",children:"until"}),": ",$a(Hn,46)]}):null]}),sr==="until"&&Hn?s.jsx("div",{className:"mono muted",style:{marginTop:"10px",fontSize:"var(--font-size-sm)"},children:(()=>{const S=ul(Hn),C=S!==null?new Date(S).toLocaleString():Hn,z=S!==null?Og(S-Date.now()):"";return`Next execution at ${C}${z?` (in ${z})`:""}`})()}):null,sr==="subworkflow"&&Hi?s.jsxs("div",{className:"actions",children:[s.jsx("button",{className:"btn primary",onClick:async()=>{f(Hi),await Ue(Hi)},disabled:Ne,children:"Attach to child run"}),m.trim()&&m.trim()!==c.trim()?s.jsx("button",{className:"btn",onClick:async()=>{f(m.trim()),await Ue(m.trim())},disabled:Ne,children:"Back to root"}):null]}):null]}):null,gs?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"schedule"}),s.jsx("span",{className:"mono",children:qi?`every ${fo}`:"once"})]}),s.jsxs("div",{className:"body",children:[fo?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"interval"}),": ",fo]}):null,s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"share context"}),": ",cf?"true":"false"]}),typeof mo=="number"?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"repeat count"}),": ",mo]}):null]}),Bs!==null?s.jsxs("div",{className:"body",style:{marginTop:"10px"},children:[s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"6px"},children:"Context budget"}),s.jsxs("div",{className:"mono",style:{marginBottom:"6px"},children:[typeof Vi=="number"&&typeof Yo=="number"?`${Vi.toLocaleString()} / ${Yo.toLocaleString()}`:"",` • ${Math.round(Math.max(0,Math.min(1,Bs))*100)}%`]}),s.jsx("div",{style:{height:"6px",borderRadius:"999px",background:"rgba(148, 163, 184, 0.25)",overflow:"hidden"},children:s.jsx("div",{style:{height:"100%",width:`${Math.round(Math.max(0,Math.min(1,Bs))*100)}%`,background:Bs>=.9?"rgba(239, 68, 68, 0.9)":Bs>=.75?"rgba(245, 158, 11, 0.9)":"rgba(34, 197, 94, 0.9)"}})}),qi?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginTop:"6px"},children:"Auto-compaction triggers at ~90% for recurrent schedules."}):null]}):null,s.jsxs("div",{className:"actions",children:[qi?s.jsx("button",{className:"btn",onClick:()=>{kn(fo||""),Bn(!0),xr(""),tr(!0)},disabled:Ne||dr,children:"Edit schedule"}):null,qi?s.jsx("button",{className:"btn primary",onClick:()=>{wn(""),ht(!0)},disabled:Ne||lr,children:"Compact context"}):null]})]}):null,me?s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsxs("summary",{className:"mono",style:{color:"var(--muted)",cursor:"pointer"},children:["Run state • ",Go||"unknown",Xr?" • paused":""]}),s.jsx("div",{className:"log_item",style:{marginTop:"10px"},children:s.jsx("div",{className:"body mono",children:zd({status:me==null?void 0:me.status,paused:me==null?void 0:me.paused,current_node:me==null?void 0:me.current_node,waiting:me!=null&&me.waiting?{reason:me.waiting.reason,wait_key:me.waiting.wait_key,prompt:me.waiting.prompt,details:me.waiting.details}:null,error:me==null?void 0:me.error})})})]}):null,Or?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:Or})]}):null]}),s.jsxs("div",{className:"card panel_card card_scroll observe_viewer",children:[s.jsxs("div",{className:"tab_bar",children:[s.jsx("button",{className:`tab mono ${jr==="ledger"?"active":""}`,onClick:()=>hr("ledger"),children:"Ledger"}),s.jsx("button",{className:`tab mono ${jr==="graph"?"active":""}`,onClick:()=>hr("graph"),children:"Graph"}),s.jsx("button",{className:`tab mono ${jr==="digest"?"active":""}`,onClick:()=>hr("digest"),children:"Digest"}),s.jsx("button",{className:`tab mono ${jr==="attachments"?"active":""}`,onClick:()=>hr("attachments"),children:"Attachments"}),s.jsx("button",{className:`tab mono ${jr==="chat"?"active":""}`,onClick:()=>hr("chat"),children:"Chat"})]}),s.jsxs("div",{className:"viewer_header",children:[s.jsxs("div",{className:"viewer_header_left",children:[s.jsx("div",{className:"viewer_run_title",children:c.trim()?qa:"No run selected"}),s.jsx("span",{className:`chip mono ${Ya}`,children:Tl||"—"}),Va&&Ga?s.jsxs("span",{className:"chip mono scheduled",title:$l?`Next at ${$l}`:void 0,children:["next in ",Ga]}):null,qi&&fo?s.jsxs("span",{className:"chip mono muted",children:["every ",fo]}):null]}),s.jsxs("div",{className:"viewer_header_right",children:[c.trim()?s.jsx("span",{className:"mono muted",children:sN(c.trim())}):null,c.trim()?s.jsx("span",{className:"muted",children:eu}):null]})]}),jr==="ledger"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"log_actions",style:{marginTop:"6px",flexWrap:"wrap"},children:[s.jsx("button",{className:`btn ${Yr==="steps"?"primary":""}`,onClick:()=>Pi("steps"),children:"Steps"}),s.jsx("button",{className:`btn ${Yr==="cycles"?"primary":""}`,onClick:()=>Pi("cycles"),children:"Cycles"}),Yr==="steps"?s.jsx("button",{className:`btn ${Rs?"primary":""}`,onClick:()=>io(S=>!S),children:Rs?"Condensed":"All"}):s.jsxs("div",{className:"field_inline",style:{alignItems:"center",flexWrap:"wrap"},children:[s.jsx("span",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"Run"}),s.jsxs("select",{className:"mono",value:Gi,onChange:S=>oo(String(S.target.value||"")),disabled:!dc.length,children:[dc.length?null:s.jsx("option",{value:"",children:"(no runs)"}),dc.map(S=>{const C=typeof Cl[S]=="number"?Number(Cl[S]):0,z=`${$a(S,18)}${C?` • ${C} llm`:""}`;return s.jsx("option",{value:S,children:z},S)})]})]}),s.jsx("button",{className:"btn",disabled:!Ae.length&&!kt.length,onClick:()=>{const z=[...Ae.map(Y=>({run_id:c.trim()||Y.record.run_id||"",cursor:Y.cursor,record:Y.record})),...kt.map(Y=>({run_id:Y.run_id,cursor:Y.cursor,record:Y.record}))].map(Y=>{var Pe,Ce;const X=String(((Pe=Y.record)==null?void 0:Pe.ended_at)||((Ce=Y.record)==null?void 0:Ce.started_at)||"").trim(),re=ul(X);return{...Y,_ms:re??0}});z.sort((Y,X)=>(Y._ms||0)-(X._ms||0));const B=(z.length>5e3?z.slice(z.length-5e3):z).map(({_ms:Y,...X})=>JSON.stringify(X)).join(`
|
|
135
|
-
`);uo(B)},children:"Copy ledger (JSONL)"})]}),Yr==="steps"?s.jsxs("div",{className:"log log_scroll",children:[ui.map(S=>s.jsx(cN,{item:S,open:hn[S.id]===!0,on_toggle:()=>Ir(C=>({...C,[S.id]:!C[S.id]})),response_open:xi[S.id]===!0,on_toggle_response:()=>Li(C=>({...C,[S.id]:!C[S.id]})),node_index:Ui,on_copy:C=>void uo(C)},S.id)),ui.length?null:s.jsx("div",{className:"mono muted",style:{padding:"10px 12px"},children:"(no ledger items)"})]}):s.jsx("div",{className:"log log_scroll",children:s.jsx(Gx,{items:Ha.items,title:"Agent",subtitle:Ha.node_id?`node_id: ${Ha.node_id}`:"Live per-effect trace (LLM/tool calls).",subRunId:Gi,onOpenSubRun:Gi&&Gi!==c.trim()?()=>{f(Gi),Ue(Gi)}:void 0})})]}):null,jr==="graph"?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"log_actions",style:{marginTop:"6px",flexWrap:"wrap"},children:[s.jsx("button",{className:`btn ${Ro?"primary":""}`,onClick:()=>Ia(S=>!S),children:Ro?"Subflows: on":"Subflows: off"}),s.jsx("button",{className:`btn ${Oi?"primary":""}`,onClick:()=>Zl(S=>!S),children:Oi?"Path: on":"Path: off"}),Qn.length?s.jsx("select",{className:"mono",value:wi,onChange:S=>Ps(String(S.target.value||"")),disabled:!!Us.trim()||!j.trim()||gl,children:Qn.map(S=>s.jsx("option",{value:S,children:S},S))}):null,s.jsx("span",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:Us.trim()?Us.trim():wi?`flow ${wi}`:""})]}),_l?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"graph error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:_l})]}):null,gl?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(96, 165, 250, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"loading"}),s.jsx("span",{className:"mono",children:Us.trim()?Us.trim():wi})]}),s.jsx("div",{className:"body mono",children:"Loading graph…"})]}):null,s.jsx("div",{className:"graph_panel",children:s.jsx(Qv,{flow:Ns,flow_by_id:fa,expand_subflows:Ro,simplify:!0,prefer_vertical:!0,vertical_compact:.78,schedule_next_in:Ga,schedule_interval:fo,node_last_ms:Hs,active_node_id:Ws,recent_nodes:xl,visited_nodes:ec,highlight_path:Oi,now_ms:yl})})]}):null,jr==="digest"?s.jsxs("div",{className:"log log_scroll",style:{marginTop:"6px"},children:[s.jsx("div",{className:"log_actions",style:{marginTop:"6px",flexWrap:"wrap"},children:s.jsx("button",{className:"btn",onClick:()=>{uo(JSON.stringify(Ut,null,2))},disabled:!((Yi=(tu=Ut==null?void 0:Ut.overall)==null?void 0:tu.stats)!=null&&Yi.steps),children:"Copy JSON"})}),s.jsxs("div",{className:"log_item",style:{borderColor:Ut!=null&&Ut.latest_summary?Ut!=null&&Ut.summary_outdated?"rgba(239, 68, 68, 0.45)":"rgba(34, 197, 94, 0.35)":"rgba(96, 165, 250, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"summary"}),s.jsx("span",{className:"mono",children:Ut!=null&&Ut.latest_summary?Ut!=null&&Ut.summary_outdated?"outdated":"current":"(none)"})]}),s.jsx("div",{className:"body",style:{whiteSpace:"pre-wrap"},children:Ut!=null&&Ut.latest_summary?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"8px"},children:[Ut.latest_summary.generated_at||Ut.latest_summary.ts||""," •"," ",Ut.latest_summary.provider||"provider?"," • ",Ut.latest_summary.model||"model?"]}),s.jsx(ro,{text:Ut.latest_summary.text})]}):s.jsx("div",{className:"mono muted",children:"No summary yet."})}),s.jsx("div",{className:"actions",children:s.jsx("button",{className:"btn primary",onClick:()=>void Wo(),disabled:!c.trim()||Oo,children:Oo?"Generating…":Ut!=null&&Ut.latest_summary?"Regenerate":"Generate"})}),Fo?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginTop:"8px"},children:Fo}):null]}),Ut?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"overall"}),s.jsxs("span",{className:"mono",children:[((_c=(go=Ut.overall)==null?void 0:go.stats)==null?void 0:_c.steps)??0," steps"]})]}),s.jsxs("div",{className:"body mono",children:[s.jsxs("div",{children:["tools: ",((Xi=(nu=Ut.overall)==null?void 0:nu.stats)==null?void 0:Xi.tool_calls)??0," calls • ",((Ml=(_o=Ut.overall)==null?void 0:_o.stats)==null?void 0:Ml.unique_tools)??0," unique"]}),s.jsxs("div",{children:["llm: ",((Al=(ru=Ut.overall)==null?void 0:ru.stats)==null?void 0:Al.llm_calls)??0," calls • missing ",((Xa=(su=Ut.overall)==null?void 0:su.stats)==null?void 0:Xa.llm_missing_responses)??0]}),s.jsxs("div",{children:["tokens: ",((Ka=(Ci=Ut.overall)==null?void 0:Ci.stats)==null?void 0:Ka.prompt_tokens)??0," / ",((Ko=(Ja=Ut.overall)==null?void 0:Ja.stats)==null?void 0:Ko.completion_tokens)??0," • total"," ",((ba=(yc=Ut.overall)==null?void 0:yc.stats)==null?void 0:ba.total_tokens)??0]}),s.jsxs("div",{children:["duration:"," ",typeof((xc=(iu=Ut.overall)==null?void 0:iu.stats)==null?void 0:xc.duration_s)=="number"?`${Math.round(Ut.overall.stats.duration_s)}s`:((zl=(ir=Ut.overall)==null?void 0:ir.stats)==null?void 0:zl.duration_s)??0," • ","errors: ",((wc=(vc=Ut.overall)==null?void 0:vc.stats)==null?void 0:wc.errors)??0]})]})]}),Array.isArray((Rl=Ut.overall)==null?void 0:Rl.tools_used)&&Ut.overall.tools_used.length?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"tools used"}),s.jsx("span",{className:"mono",children:Ut.overall.tools_used.length})]}),s.jsx("div",{className:"body mono",children:Ut.overall.tools_used.join(", ")})]}):null,s.jsxs("details",{style:{marginTop:"10px"},children:[s.jsx("summary",{className:"mono muted",style:{cursor:"pointer"},children:"Advanced: digest JSON"}),s.jsx("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)",marginTop:"10px"},children:s.jsx("div",{className:"body mono",children:s.jsx(u_,{value:Ut,max_string_len:240})})})]})]}):s.jsx("div",{className:"mono muted",style:{padding:"10px 12px"},children:"(no digest)"})]}):null,jr==="attachments"?s.jsxs("div",{className:"log log_scroll",style:{marginTop:"6px"},children:[s.jsxs("div",{className:"log_actions",style:{marginTop:"6px",flexWrap:"wrap"},children:[s.jsx("button",{className:"btn",onClick:()=>void oc(),disabled:!I||ca||!ss,children:ca?"Refreshing…":"Refresh"}),ss?s.jsxs("span",{className:"chip mono muted",title:ss,children:["session ",$a(ss,18)]}):s.jsx("span",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:"No session id (pick a run)"}),Ls.trim()?s.jsxs("span",{className:"chip mono muted",title:Ls,children:["store ",$a(Ls,18)]}):null]}),ao?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:ao})]}):null,s.jsxs("div",{className:"log",style:{marginTop:"10px"},children:[!ca&&!ao&&!aa.length?s.jsx("div",{className:"chat_empty_hint",children:"No session attachments."}):null,aa.map(S=>{const C=String((S==null?void 0:S.artifact_id)||"").trim();if(!C)return null;const z=S!=null&&S.tags&&typeof S.tags=="object"?S.tags:{},k=String((z==null?void 0:z.filename)||"").trim(),B=String((z==null?void 0:z.path)||"").trim(),Y=String((z==null?void 0:z.sha256)||"").trim(),X=String((S==null?void 0:S.content_type)||"").trim(),re=typeof(S==null?void 0:S.size_bytes)=="number"?Number(S.size_bytes):null,Pe=B?`@${B}`:k||C;return s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(148, 163, 184, 0.25)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:Pe}),s.jsx("span",{className:"mono",children:$a(C,18)})]}),s.jsxs("div",{className:"body",children:[Y?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"sha256"}),": ",$a(Y,18)]}):null,X?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"type"}),": ",X]}):null,typeof re=="number"?s.jsxs("div",{className:"mono",children:[s.jsx("span",{className:"muted",children:"size"}),": ",re.toLocaleString()," bytes"]}):null]}),s.jsxs("div",{className:"actions",children:[s.jsx("button",{className:"btn",onClick:()=>void uo(C),children:"Copy id"}),s.jsx("button",{className:"btn",onClick:()=>void ac(S),disabled:!Ls.trim(),children:"Preview"}),s.jsx("button",{className:"btn",onClick:()=>void Jc(S),disabled:!Ls.trim(),children:"Download"})]})]},C)}),s.jsxs(eo,{open:Ra,title:$o||"Attachment",onClose:()=>{La(!1),lo(""),da(""),Zs(!1)},actions:s.jsx(s.Fragment,{children:s.jsx("button",{className:"btn",onClick:()=>{La(!1),lo(""),da(""),Zs(!1)},children:"Close"})}),children:[Mo?s.jsx("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"8px"},children:"Loading…"}):null,To?s.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"var(--font-size-sm)",marginBottom:"8px"},children:To}):null,s.jsx("pre",{className:"mono",style:{whiteSpace:"pre-wrap",maxHeight:"62vh",overflow:"auto",margin:0},children:vi||"(empty)"})]})]})]}):null,jr==="chat"?s.jsxs("div",{className:"log log_scroll",style:{marginTop:"6px"},children:[s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)",marginBottom:"6px"},children:["Using Maintenance AI from Settings: ",r.maintenance_ai_provider.trim()||"(gateway default)"," /"," ",r.maintenance_ai_model.trim()||"(gateway default)"]}),s.jsxs("div",{className:"field",style:{marginTop:"10px"},children:[s.jsx("label",{children:"Saved discussions"}),s.jsxs("div",{className:"actions",style:{justifyContent:"space-between",alignItems:"center",gap:"10px",flexWrap:"wrap",marginTop:0},children:[s.jsx("div",{style:{flex:1,minWidth:260},children:s.jsx(qc,{value:De,options:sn,placeholder:P?"Loading…":sn.length?"Select a saved discussion…":"(none saved)",disabled:!c.trim()||!I||!sn.length,loading:P,searchable:!0,clearable:!0,onChange:S=>{nt(S),Vt("")}})}),s.jsxs("div",{className:"actions",style:{justifyContent:"flex-end",marginTop:0},children:[s.jsx("button",{className:"btn",type:"button",disabled:!De.trim()||!I||Et,onClick:()=>void Qc(),children:Et?"Loading…":"Load"}),s.jsx("button",{className:"btn",type:"button",disabled:!rr.length||Ri||Yn||Et,onClick:()=>{Sr([]),es(""),Lr(""),vr(""),js(""),ks("")},children:"Clear"}),s.jsx("button",{className:"btn",type:"button",onClick:()=>void Wi(),disabled:!c.trim()||!I||P,children:P?"Refreshing…":"Refresh"})]})]}),s.jsxs("div",{className:"actions",style:{justifyContent:"flex-end",marginTop:"8px",flexWrap:"wrap"},children:[s.jsx("button",{className:"btn",type:"button",disabled:!rr.length||!c.trim()||!I||Yn||!Gr,onClick:()=>void lc(),title:Gr?"":"No changes since last save",children:Yn?"Saving…":!Gr&&Ss?"Saved":"Save discussion"}),s.jsx("button",{className:"btn",type:"button",disabled:!rr.length,onClick:()=>ai("download"),children:"Export Markdown"}),s.jsx("button",{className:"btn",type:"button",disabled:!rr.length,onClick:()=>ai("copy"),children:qr==="copied"?"Copied":qr==="failed"?"Copy failed":"Copy Markdown"})]}),s.jsx("div",{className:"chat_hint",children:"Read-only. No tools. Grounded in the parent run + subflows ledger."}),Ss?s.jsxs("div",{className:"chat_hint",children:["Last saved: ",Ym(Ss)]}):null,Vr?s.jsx("div",{className:"chat_hint",style:{color:"rgba(239, 68, 68, 0.9)"},children:Vr}):null,At?s.jsx("div",{className:"chat_hint",style:{color:"rgba(239, 68, 68, 0.9)"},children:At}):null,Ee?s.jsx("div",{className:"chat_hint",style:{color:"rgba(239, 68, 68, 0.9)"},children:Ee}):null]}),cn?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:cn})]}):null,s.jsx("div",{className:"chat_messages",style:{marginTop:"10px"},children:s.jsx(Ld,{messages:rr,className:"log_scroll",empty:s.jsx("div",{className:"chat_empty_hint",children:"Ask about this run (why failed, which tools, what happened in subflows)."})})}),s.jsx("div",{className:"chat_composer",style:{marginTop:"10px"},children:s.jsx(Rd,{value:zs,onChange:es,onSubmit:()=>void Es(),placeholder:"Ask about this run…",disabled:!c.trim()||!I||Ri,busy:Ri,rows:3,sendButtonClassName:"btn primary"})})]}):null,s.jsxs("div",{className:`status_bar ${ia?"pulse":""}`,children:[s.jsx("strong",{children:"Run"}),":"," ",c.trim()?s.jsx("span",{className:"mono",children:Tl||ho||"unknown"}):s.jsx("span",{className:"mono",children:"(none)"}),c.trim()&&Va&&Ga?s.jsxs("span",{className:"mono muted",children:[" • next in ",Ga]}):null,yi?s.jsxs("span",{className:"mono muted",children:[" • ",yi]}):null]})]})]})}):null,rn?s.jsxs(eo,{open:rn,title:"Edit schedule",onClose:()=>{tr(!1),kn(""),Bn(!0),xr(""),Rr(!1)},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{tr(!1),kn(""),Bn(!0),xr(""),Rr(!1)},disabled:Ne||dr,children:"Back"}),s.jsx("button",{className:"btn primary",onClick:async()=>{await Dr({interval:xn,apply_immediately:On})||(tr(!1),xr(""),Rr(!1))},disabled:Ne||dr||!xn.trim(),children:"Save"})]}),children:[Un?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginBottom:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:Un})]}):null,s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Interval"}),s.jsx("input",{className:"mono",value:xn,onChange:S=>kn(String(S.target.value||"")),placeholder:"20m / 1h / 0.5s / 250ms",disabled:Ne||dr}),s.jsxs("div",{className:"mono muted",style:{fontSize:"var(--font-size-sm)"},children:["Accepted units: ",s.jsx("span",{className:"mono",children:"ms"}),", ",s.jsx("span",{className:"mono",children:"s"}),", ",s.jsx("span",{className:"mono",children:"m"}),","," ",s.jsx("span",{className:"mono",children:"h"}),", ",s.jsx("span",{className:"mono",children:"d"}),". This updates the existing scheduled run in place (no context loss)."]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Quick picks"}),s.jsx("div",{className:"actions",style:{gap:"8px",flexWrap:"wrap"},children:["15m","30m","1h","2h","6h","1d"].map(S=>s.jsx("button",{className:"btn",onClick:()=>kn(S),disabled:Ne||dr,children:S},S))})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Apply"}),s.jsxs("label",{style:{display:"flex",gap:"10px",alignItems:"center"},children:[s.jsx("input",{type:"checkbox",checked:On,onChange:S=>Bn(!!S.target.checked),disabled:Ne||dr}),"Apply immediately (recompute next run from now if waiting)"]})]})]}):null,ds?s.jsxs(eo,{open:ds,title:"Compact scheduled context",onClose:()=>{ht(!1),wn(""),fr(!1)},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{ht(!1),wn(""),fr(!1)},disabled:Ne||lr,children:"Cancel"}),s.jsx("button",{className:"btn primary",onClick:async()=>{await ya({preserve_recent:Mn,compression_mode:Qr,focus:ws})||(ht(!1),wn(""),fr(!1))},disabled:Ne||lr,children:lr?"Compacting…":"Compact"})]}),children:[As?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginBottom:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:As})]}):null,s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Preserve recent turns"}),s.jsx("input",{type:"number",min:1,value:String(Mn),onChange:S=>zi(Math.max(1,parseInt(S.target.value||"6",10)||6)),disabled:Ne||lr})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Mode"}),s.jsxs("select",{value:Qr,onChange:S=>Nn(S.target.value),disabled:Ne||lr,children:[s.jsx("option",{value:"light",children:"light"}),s.jsx("option",{value:"standard",children:"standard"}),s.jsx("option",{value:"heavy",children:"heavy"})]})]}),s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Focus (optional)"}),s.jsx("input",{className:"mono",value:ws,onChange:S=>_i(String(S.target.value||"")),placeholder:"e.g. important decisions, next steps…",disabled:Ne||lr})]})]}):null,Hr?s.jsxs(eo,{open:Hr,title:nr==="cancel"?"Cancel run":gs?"Suspend schedule":"Pause run",onClose:()=>{tt(!1),Er(""),cr("")},actions:s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:()=>{tt(!1),Er(""),cr("")},disabled:Ne||Le,children:"Back"}),s.jsx("button",{className:`btn ${nr==="cancel"?"danger":"primary"}`,onClick:async()=>{cr("");const S=await is(nr,{reason:Cr});if(S){cr(S);return}tt(!1),Er(""),cr("")},disabled:Ne||Le,children:nr==="pause"?gs?"Suspend":"Pause":"Cancel"})]}),children:[fs?s.jsxs("div",{className:"log_item",style:{borderColor:"rgba(239, 68, 68, 0.35)",marginBottom:"10px"},children:[s.jsxs("div",{className:"meta",children:[s.jsx("span",{className:"mono",children:"error"}),s.jsx("span",{className:"mono",children:en()})]}),s.jsx("div",{className:"body mono",children:fs})]}):null,s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Reason (optional)"}),s.jsx("input",{className:"mono",value:Cr,onChange:S=>Er(S.target.value),placeholder:"reason…"})]})]}):null,Gu?s.jsx("div",{className:"overlay",children:s.jsxs("div",{className:"modal",children:[s.jsxs("h2",{className:"mono",children:["Run is waiting (",String((on==null?void 0:on.reason)||"unknown"),")"]}),s.jsxs("p",{className:"mono",children:["wait_key: ",String((on==null?void 0:on.wait_key)||"")]}),Pn.length?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Tool calls (from wait.details.tool_calls)"}),s.jsx("textarea",{className:"mono",readOnly:!0,value:zd(Pn)})]}),s.jsxs("div",{className:"actions",children:[s.jsx("button",{className:"btn primary",disabled:!Bi||Le,onClick:()=>qo(Pn),children:"Execute via tool worker + resume"}),s.jsx("button",{className:"btn",disabled:Le,onClick:()=>Ho({approved:!0}),children:"Resume (manual / advanced)"})]})]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Prompt"}),s.jsx("textarea",{className:"mono",readOnly:!0,value:String((on==null?void 0:on.prompt)||"")||"(no prompt provided)"})]}),s.jsx(lN,{wait:on,disabled:Le,on_submit:S=>Ho({response:S})})]})]})}):null]})]})}function lN(e){const[t,r]=p.useState(""),o=Array.isArray(e.wait.choices)?e.wait.choices:[],l=e.wait.allow_free_text!==!1,u=e.disabled===!0;return s.jsxs(s.Fragment,{children:[o.length?s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Choices"}),s.jsxs("select",{className:"mono",value:t,onChange:c=>r(c.target.value),children:[s.jsx("option",{value:"",children:"(select)"}),o.map((c,f)=>s.jsx("option",{value:String(c),children:String(c)},f))]})]}):null,l?s.jsxs("div",{className:"field",children:[s.jsx("label",{children:"Response"}),s.jsx("input",{className:"mono",value:t,onChange:c=>r(c.target.value),placeholder:"Type response…"})]}):null,s.jsx("div",{className:"actions",children:s.jsx("button",{className:"btn primary",disabled:u||!t.trim(),onClick:()=>e.on_submit(t.trim()),children:"Submit response"})})]})}function cN(e){const t=e.item,r=String(t.node_id||"").trim(),o=r&&e.node_index&&typeof e.node_index=="object"?e.node_index[r]:null,l=typeof(o==null?void 0:o.label)=="string"&&o.label.trim()?o.label.trim():r||t.title,u=typeof(o==null?void 0:o.type)=="string"&&o.type.trim()?o.type.trim():"",c=typeof(o==null?void 0:o.headerColor)=="string"&&o.headerColor.trim()?o.headerColor.trim():"",f=t.kind==="step"?l:t.title,m=c||(t.kind==="error"?"rgba(239, 68, 68, 0.85)":t.kind==="message"?"rgba(167, 139, 250, 0.85)":t.kind==="event"?"rgba(96, 165, 250, 0.85)":t.status==="waiting"?"rgba(96, 165, 250, 0.65)":t.status==="completed"?"rgba(34, 197, 94, 0.65)":"rgba(255, 255, 255, 0.14)"),_=String(t.status||"").trim(),g=_.toLowerCase(),x=g==="completed"?"chip ok":g==="failed"?"chip danger":g==="waiting"?"chip warn":g==="running"?"chip info":"chip muted",v=Vy(t.data),w=!!(v&&v.trim()),j=Ym(t.ts);return s.jsxs("div",{className:"log_item card",style:{"--card-accent":m},children:[s.jsxs("div",{className:"meta",children:[s.jsxs("span",{className:"mono",children:[t.kind," • ",f]}),s.jsx("span",{className:"mono muted",title:t.ts,children:j})]}),s.jsxs("div",{className:"meta2",children:[_?s.jsx("span",{className:`mono ${x}`,children:_}):null,u?s.jsx("span",{className:"chip mono muted",children:u}):null,t.effect_type?s.jsx("span",{className:"chip mono muted",children:String(t.effect_type)}):null,t.cursor?s.jsxs("span",{className:"chip mono muted",children:["#",t.cursor]}):null,t.run_id?s.jsx("span",{className:"chip mono muted",children:$a(String(t.run_id),10)}):null,t.kind!=="step"&&r?s.jsx("span",{className:"chip mono muted",children:r}):null]}),t.preview?s.jsx("div",{className:"log_preview mono",children:t.preview}):null,t.data?s.jsxs("div",{className:"log_actions",children:[w?s.jsxs(s.Fragment,{children:[s.jsx("button",{className:"btn",onClick:e.on_toggle_response,children:e.response_open?"Fold Response":"Unfold Response"}),s.jsx("button",{className:"btn",onClick:()=>e.on_copy(String(v||"")),children:"Copy Response"})]}):null,s.jsx("button",{className:"btn",onClick:e.on_toggle,children:e.open?"Fold JSON":"Unfold JSON"}),s.jsx("button",{className:"btn",onClick:()=>{try{e.on_copy(JSON.stringify(t.data,null,2))}catch{e.on_copy(String(t.data))}},children:"Copy JSON"})]}):null,e.response_open&&w?s.jsx("div",{className:"body",children:s.jsx(ro,{text:String(v||"")})}):null,e.open&&t.data?s.jsx("div",{className:"body mono",children:s.jsx(u_,{value:t.data,max_string_len:220})}):null]})}if("serviceWorker"in navigator){window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").then(t=>t.update()).catch(()=>{})});let e=!1;navigator.serviceWorker.addEventListener("controllerchange",()=>{e||(e=!0,window.location.reload())})}$x.createRoot(document.getElementById("root")).render(s.jsx(Se.StrictMode,{children:s.jsx(aN,{})}));
|
|
136
|
-
//# sourceMappingURL=index-DvFDLf0J.js.map
|