@abstractframework/code 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -6,7 +6,7 @@ var qh=Object.defineProperty;var eg=(s,n,r)=>n in s?qh(s,n,{enumerable:!0,config
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Df;function tg(){if(Df)return Ke;Df=1;var s=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),f=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),w=Symbol.iterator;function N(k){return k===null||typeof k!="object"?null:(k=w&&k[w]||k["@@iterator"],typeof k=="function"?k:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,I={};function U(k,B,le){this.props=k,this.context=B,this.refs=I,this.updater=le||b}U.prototype.isReactComponent={},U.prototype.setState=function(k,B){if(typeof k!="object"&&typeof k!="function"&&k!=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,k,B,"setState")},U.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function
|
|
9
|
+
*/var Df;function tg(){if(Df)return Ke;Df=1;var s=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),f=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),w=Symbol.iterator;function N(k){return k===null||typeof k!="object"?null:(k=w&&k[w]||k["@@iterator"],typeof k=="function"?k:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,I={};function U(k,B,le){this.props=k,this.context=B,this.refs=I,this.updater=le||b}U.prototype.isReactComponent={},U.prototype.setState=function(k,B){if(typeof k!="object"&&typeof k!="function"&&k!=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,k,B,"setState")},U.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function z(){}z.prototype=U.prototype;function D(k,B,le){this.props=k,this.context=B,this.refs=I,this.updater=le||b}var $=D.prototype=new z;$.constructor=D,T($,U.prototype),$.isPureReactComponent=!0;var O=Array.isArray,P=Object.prototype.hasOwnProperty,V={current:null},re={key:!0,ref:!0,__self:!0,__source:!0};function L(k,B,le){var ge,ve={},ee=null,G=null;if(B!=null)for(ge in B.ref!==void 0&&(G=B.ref),B.key!==void 0&&(ee=""+B.key),B)P.call(B,ge)&&!re.hasOwnProperty(ge)&&(ve[ge]=B[ge]);var _e=arguments.length-2;if(_e===1)ve.children=le;else if(1<_e){for(var Re=Array(_e),He=0;He<_e;He++)Re[He]=arguments[He+2];ve.children=Re}if(k&&k.defaultProps)for(ge in _e=k.defaultProps,_e)ve[ge]===void 0&&(ve[ge]=_e[ge]);return{$$typeof:s,type:k,key:ee,ref:G,props:ve,_owner:V.current}}function xe(k,B){return{$$typeof:s,type:k.type,key:B,ref:k.ref,props:k.props,_owner:k._owner}}function W(k){return typeof k=="object"&&k!==null&&k.$$typeof===s}function se(k){var B={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(le){return B[le]})}var J=/\/+/g;function pe(k,B){return typeof k=="object"&&k!==null&&k.key!=null?se(""+k.key):B.toString(36)}function Ce(k,B,le,ge,ve){var ee=typeof k;(ee==="undefined"||ee==="boolean")&&(k=null);var G=!1;if(k===null)G=!0;else switch(ee){case"string":case"number":G=!0;break;case"object":switch(k.$$typeof){case s:case n:G=!0}}if(G)return G=k,ve=ve(G),k=ge===""?"."+pe(G,0):ge,O(ve)?(le="",k!=null&&(le=k.replace(J,"$&/")+"/"),Ce(ve,B,le,"",function(He){return He})):ve!=null&&(W(ve)&&(ve=xe(ve,le+(!ve.key||G&&G.key===ve.key?"":(""+ve.key).replace(J,"$&/")+"/")+k)),B.push(ve)),1;if(G=0,ge=ge===""?".":ge+":",O(k))for(var _e=0;_e<k.length;_e++){ee=k[_e];var Re=ge+pe(ee,_e);G+=Ce(ee,B,le,Re,ve)}else if(Re=N(k),typeof Re=="function")for(k=Re.call(k),_e=0;!(ee=k.next()).done;)ee=ee.value,Re=ge+pe(ee,_e++),G+=Ce(ee,B,le,Re,ve);else if(ee==="object")throw B=String(k),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(k).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.");return G}function Q(k,B,le){if(k==null)return k;var ge=[],ve=0;return Ce(k,ge,"","",function(ee){return B.call(le,ee,ve++)}),ge}function ke(k){if(k._status===-1){var B=k._result;B=B(),B.then(function(le){(k._status===0||k._status===-1)&&(k._status=1,k._result=le)},function(le){(k._status===0||k._status===-1)&&(k._status=2,k._result=le)}),k._status===-1&&(k._status=0,k._result=B)}if(k._status===1)return k._result.default;throw k._result}var Se={current:null},te={transition:null},we={ReactCurrentDispatcher:Se,ReactCurrentBatchConfig:te,ReactCurrentOwner:V};function he(){throw Error("act(...) is not supported in production builds of React.")}return Ke.Children={map:Q,forEach:function(k,B,le){Q(k,function(){B.apply(this,arguments)},le)},count:function(k){var B=0;return Q(k,function(){B++}),B},toArray:function(k){return Q(k,function(B){return B})||[]},only:function(k){if(!W(k))throw Error("React.Children.only expected to receive a single React element child.");return k}},Ke.Component=U,Ke.Fragment=r,Ke.Profiler=a,Ke.PureComponent=D,Ke.StrictMode=l,Ke.Suspense=h,Ke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=we,Ke.act=he,Ke.cloneElement=function(k,B,le){if(k==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+k+".");var ge=T({},k.props),ve=k.key,ee=k.ref,G=k._owner;if(B!=null){if(B.ref!==void 0&&(ee=B.ref,G=V.current),B.key!==void 0&&(ve=""+B.key),k.type&&k.type.defaultProps)var _e=k.type.defaultProps;for(Re in B)P.call(B,Re)&&!re.hasOwnProperty(Re)&&(ge[Re]=B[Re]===void 0&&_e!==void 0?_e[Re]:B[Re])}var Re=arguments.length-2;if(Re===1)ge.children=le;else if(1<Re){_e=Array(Re);for(var He=0;He<Re;He++)_e[He]=arguments[He+2];ge.children=_e}return{$$typeof:s,type:k.type,key:ve,ref:ee,props:ge,_owner:G}},Ke.createContext=function(k){return k={$$typeof:f,_currentValue:k,_currentValue2:k,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},k.Provider={$$typeof:d,_context:k},k.Consumer=k},Ke.createElement=L,Ke.createFactory=function(k){var B=L.bind(null,k);return B.type=k,B},Ke.createRef=function(){return{current:null}},Ke.forwardRef=function(k){return{$$typeof:p,render:k}},Ke.isValidElement=W,Ke.lazy=function(k){return{$$typeof:v,_payload:{_status:-1,_result:k},_init:ke}},Ke.memo=function(k,B){return{$$typeof:y,type:k,compare:B===void 0?null:B}},Ke.startTransition=function(k){var B=te.transition;te.transition={};try{k()}finally{te.transition=B}},Ke.unstable_act=he,Ke.useCallback=function(k,B){return Se.current.useCallback(k,B)},Ke.useContext=function(k){return Se.current.useContext(k)},Ke.useDebugValue=function(){},Ke.useDeferredValue=function(k){return Se.current.useDeferredValue(k)},Ke.useEffect=function(k,B){return Se.current.useEffect(k,B)},Ke.useId=function(){return Se.current.useId()},Ke.useImperativeHandle=function(k,B,le){return Se.current.useImperativeHandle(k,B,le)},Ke.useInsertionEffect=function(k,B){return Se.current.useInsertionEffect(k,B)},Ke.useLayoutEffect=function(k,B){return Se.current.useLayoutEffect(k,B)},Ke.useMemo=function(k,B){return Se.current.useMemo(k,B)},Ke.useReducer=function(k,B,le){return Se.current.useReducer(k,B,le)},Ke.useRef=function(k){return Se.current.useRef(k)},Ke.useState=function(k){return Se.current.useState(k)},Ke.useSyncExternalStore=function(k,B,le){return Se.current.useSyncExternalStore(k,B,le)},Ke.useTransition=function(){return Se.current.useTransition()},Ke.version="18.3.1",Ke}var If;function pu(){return If||(If=1,Pc.exports=tg()),Pc.exports}/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.production.min.js
|
|
12
12
|
*
|
|
@@ -22,7 +22,7 @@ var qh=Object.defineProperty;var eg=(s,n,r)=>n in s?qh(s,n,{enumerable:!0,config
|
|
|
22
22
|
*
|
|
23
23
|
* This source code is licensed under the MIT license found in the
|
|
24
24
|
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/var Bf;function sg(){return Bf||(Bf=1,(function(s){function n(te,we){var he=te.length;te.push(we);e:for(;0<he;){var k=he-1>>>1,B=te[k];if(0<a(B,we))te[k]=we,te[he]=B,he=k;else break e}}function r(te){return te.length===0?null:te[0]}function l(te){if(te.length===0)return null;var we=te[0],he=te.pop();if(he!==we){te[0]=he;e:for(var k=0,B=te.length,le=B>>>1;k<le;){var ge=2*(k+1)-1,ve=te[ge],ee=ge+1,G=te[ee];if(0>a(ve,he))ee<B&&0>a(G,ve)?(te[k]=G,te[ee]=he,k=ee):(te[k]=ve,te[ge]=he,k=ge);else if(ee<B&&0>a(G,he))te[k]=G,te[ee]=he,k=ee;else break e}}return we}function a(te,we){var he=te.sortIndex-we.sortIndex;return he!==0?he:te.id-we.id}if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;s.unstable_now=function(){return d.now()}}else{var f=Date,p=f.now();s.unstable_now=function(){return f.now()-p}}var h=[],y=[],v=1,w=null,N=3,b=!1,T=!1,I=!1,U=typeof setTimeout=="function"?setTimeout:null,
|
|
25
|
+
*/var Bf;function sg(){return Bf||(Bf=1,(function(s){function n(te,we){var he=te.length;te.push(we);e:for(;0<he;){var k=he-1>>>1,B=te[k];if(0<a(B,we))te[k]=we,te[he]=B,he=k;else break e}}function r(te){return te.length===0?null:te[0]}function l(te){if(te.length===0)return null;var we=te[0],he=te.pop();if(he!==we){te[0]=he;e:for(var k=0,B=te.length,le=B>>>1;k<le;){var ge=2*(k+1)-1,ve=te[ge],ee=ge+1,G=te[ee];if(0>a(ve,he))ee<B&&0>a(G,ve)?(te[k]=G,te[ee]=he,k=ee):(te[k]=ve,te[ge]=he,k=ge);else if(ee<B&&0>a(G,he))te[k]=G,te[ee]=he,k=ee;else break e}}return we}function a(te,we){var he=te.sortIndex-we.sortIndex;return he!==0?he:te.id-we.id}if(typeof performance=="object"&&typeof performance.now=="function"){var d=performance;s.unstable_now=function(){return d.now()}}else{var f=Date,p=f.now();s.unstable_now=function(){return f.now()-p}}var h=[],y=[],v=1,w=null,N=3,b=!1,T=!1,I=!1,U=typeof setTimeout=="function"?setTimeout:null,z=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function $(te){for(var we=r(y);we!==null;){if(we.callback===null)l(y);else if(we.startTime<=te)l(y),we.sortIndex=we.expirationTime,n(h,we);else break;we=r(y)}}function O(te){if(I=!1,$(te),!T)if(r(h)!==null)T=!0,ke(P);else{var we=r(y);we!==null&&Se(O,we.startTime-te)}}function P(te,we){T=!1,I&&(I=!1,z(L),L=-1),b=!0;var he=N;try{for($(we),w=r(h);w!==null&&(!(w.expirationTime>we)||te&&!se());){var k=w.callback;if(typeof k=="function"){w.callback=null,N=w.priorityLevel;var B=k(w.expirationTime<=we);we=s.unstable_now(),typeof B=="function"?w.callback=B:w===r(h)&&l(h),$(we)}else l(h);w=r(h)}if(w!==null)var le=!0;else{var ge=r(y);ge!==null&&Se(O,ge.startTime-we),le=!1}return le}finally{w=null,N=he,b=!1}}var V=!1,re=null,L=-1,xe=5,W=-1;function se(){return!(s.unstable_now()-W<xe)}function J(){if(re!==null){var te=s.unstable_now();W=te;var we=!0;try{we=re(!0,te)}finally{we?pe():(V=!1,re=null)}}else V=!1}var pe;if(typeof D=="function")pe=function(){D(J)};else if(typeof MessageChannel<"u"){var Ce=new MessageChannel,Q=Ce.port2;Ce.port1.onmessage=J,pe=function(){Q.postMessage(null)}}else pe=function(){U(J,0)};function ke(te){re=te,V||(V=!0,pe())}function Se(te,we){L=U(function(){te(s.unstable_now())},we)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(te){te.callback=null},s.unstable_continueExecution=function(){T||b||(T=!0,ke(P))},s.unstable_forceFrameRate=function(te){0>te||125<te?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):xe=0<te?Math.floor(1e3/te):5},s.unstable_getCurrentPriorityLevel=function(){return N},s.unstable_getFirstCallbackNode=function(){return r(h)},s.unstable_next=function(te){switch(N){case 1:case 2:case 3:var we=3;break;default:we=N}var he=N;N=we;try{return te()}finally{N=he}},s.unstable_pauseExecution=function(){},s.unstable_requestPaint=function(){},s.unstable_runWithPriority=function(te,we){switch(te){case 1:case 2:case 3:case 4:case 5:break;default:te=3}var he=N;N=te;try{return we()}finally{N=he}},s.unstable_scheduleCallback=function(te,we,he){var k=s.unstable_now();switch(typeof he=="object"&&he!==null?(he=he.delay,he=typeof he=="number"&&0<he?k+he:k):he=k,te){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=he+B,te={id:v++,callback:we,priorityLevel:te,startTime:he,expirationTime:B,sortIndex:-1},he>k?(te.sortIndex=he,n(y,te),r(h)===null&&te===r(y)&&(I?(z(L),L=-1):I=!0,Se(O,he-k))):(te.sortIndex=B,n(h,te),T||b||(T=!0,ke(P))),te},s.unstable_shouldYield=se,s.unstable_wrapCallback=function(te){var we=N;return function(){var he=N;N=we;try{return te.apply(this,arguments)}finally{N=he}}}})(Ic)),Ic}var Wf;function ig(){return Wf||(Wf=1,Dc.exports=sg()),Dc.exports}/**
|
|
26
26
|
* @license React
|
|
27
27
|
* react-dom.production.min.js
|
|
28
28
|
*
|
|
@@ -30,25 +30,25 @@ var qh=Object.defineProperty;var eg=(s,n,r)=>n in s?qh(s,n,{enumerable:!0,config
|
|
|
30
30
|
*
|
|
31
31
|
* This source code is licensed under the MIT license found in the
|
|
32
32
|
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var Hf;function og(){if(Hf)return Dn;Hf=1;var s=pu(),n=ig();function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l=new Set,a={};function d(e,t){f(e,t),f(e+"Capture",t)}function f(e,t){for(a[e]=t,e=0;e<t.length;e++)l.add(t[e])}var p=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,y=/^[: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]*$/,v={},w={};function N(e){return h.call(w,e)?!0:h.call(v,e)?!1:y.test(e)?w[e]=!0:(v[e]=!0,!1)}function b(e,t,i,o){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function T(e,t,i,o){if(t===null||typeof t>"u"||b(e,t,i,o))return!0;if(o)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function I(e,t,i,o,u,m,g){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=m,this.removeEmptyString=g}var U={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){U[e]=new I(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];U[t]=new I(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){U[e]=new I(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){U[e]=new I(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){U[e]=new I(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){U[e]=new I(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){U[e]=new I(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){U[e]=new I(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){U[e]=new I(e,5,!1,e.toLowerCase(),null,!1,!1)});var
|
|
33
|
+
*/var Hf;function og(){if(Hf)return Dn;Hf=1;var s=pu(),n=ig();function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l=new Set,a={};function d(e,t){f(e,t),f(e+"Capture",t)}function f(e,t){for(a[e]=t,e=0;e<t.length;e++)l.add(t[e])}var p=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,y=/^[: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]*$/,v={},w={};function N(e){return h.call(w,e)?!0:h.call(v,e)?!1:y.test(e)?w[e]=!0:(v[e]=!0,!1)}function b(e,t,i,o){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return o?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function T(e,t,i,o){if(t===null||typeof t>"u"||b(e,t,i,o))return!0;if(o)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function I(e,t,i,o,u,m,g){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=o,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=m,this.removeEmptyString=g}var U={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){U[e]=new I(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];U[t]=new I(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){U[e]=new I(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){U[e]=new I(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){U[e]=new I(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){U[e]=new I(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){U[e]=new I(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){U[e]=new I(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){U[e]=new I(e,5,!1,e.toLowerCase(),null,!1,!1)});var z=/[\-:]([a-z])/g;function D(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(z,D);U[t]=new I(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(z,D);U[t]=new I(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(z,D);U[t]=new I(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){U[e]=new I(e,1,!1,e.toLowerCase(),null,!1,!1)}),U.xlinkHref=new I("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){U[e]=new I(e,1,!1,e.toLowerCase(),null,!0,!0)});function $(e,t,i,o){var u=U.hasOwnProperty(t)?U[t]:null;(u!==null?u.type!==0:o||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(T(t,i,u,o)&&(i=null),o||u===null?N(t)&&(i===null?e.removeAttribute(t):e.setAttribute(t,""+i)):u.mustUseProperty?e[u.propertyName]=i===null?u.type===3?!1:"":i:(t=u.attributeName,o=u.attributeNamespace,i===null?e.removeAttribute(t):(u=u.type,i=u===3||u===4&&i===!0?"":""+i,o?e.setAttributeNS(o,t,i):e.setAttribute(t,i))))}var O=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,P=Symbol.for("react.element"),V=Symbol.for("react.portal"),re=Symbol.for("react.fragment"),L=Symbol.for("react.strict_mode"),xe=Symbol.for("react.profiler"),W=Symbol.for("react.provider"),se=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),pe=Symbol.for("react.suspense"),Ce=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),ke=Symbol.for("react.lazy"),Se=Symbol.for("react.offscreen"),te=Symbol.iterator;function we(e){return e===null||typeof e!="object"?null:(e=te&&e[te]||e["@@iterator"],typeof e=="function"?e:null)}var he=Object.assign,k;function B(e){if(k===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);k=t&&t[1]||""}return`
|
|
34
34
|
`+k+e}var le=!1;function ge(e,t){if(!e||le)return"";le=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(K){var o=K}Reflect.construct(e,[],t)}else{try{t.call()}catch(K){o=K}e.call(t.prototype)}else{try{throw Error()}catch(K){o=K}e()}}catch(K){if(K&&o&&typeof K.stack=="string"){for(var u=K.stack.split(`
|
|
35
35
|
`),m=o.stack.split(`
|
|
36
36
|
`),g=u.length-1,j=m.length-1;1<=g&&0<=j&&u[g]!==m[j];)j--;for(;1<=g&&0<=j;g--,j--)if(u[g]!==m[j]){if(g!==1||j!==1)do if(g--,j--,0>j||u[g]!==m[j]){var C=`
|
|
37
37
|
`+u[g].replace(" at new "," at ");return e.displayName&&C.includes("<anonymous>")&&(C=C.replace("<anonymous>",e.displayName)),C}while(1<=g&&0<=j);break}}}finally{le=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?B(e):""}function ve(e){switch(e.tag){case 5:return B(e.type);case 16:return B("Lazy");case 13:return B("Suspense");case 19:return B("SuspenseList");case 0:case 2:case 15:return e=ge(e.type,!1),e;case 11:return e=ge(e.type.render,!1),e;case 1:return e=ge(e.type,!0),e;default:return""}}function ee(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case re:return"Fragment";case V:return"Portal";case xe:return"Profiler";case L:return"StrictMode";case pe:return"Suspense";case Ce:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case se:return(e.displayName||"Context")+".Consumer";case W:return(e._context.displayName||"Context")+".Provider";case J:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Q:return t=e.displayName||null,t!==null?t:ee(e.type)||"Memo";case ke:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}function G(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(t);case 8:return t===L?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function _e(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Re(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function He(e){var t=Re(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),o=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var u=i.get,m=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return u.call(this)},set:function(g){o=""+g,m.call(this,g)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return o},setValue:function(g){o=""+g},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ge(e){e._valueTracker||(e._valueTracker=He(e))}function Je(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),o="";return e&&(o=Re(e)?e.checked?"true":"false":e.value),e=o,e!==i?(t.setValue(e),!0):!1}function st(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function kt(e,t){var i=t.checked;return he({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Qt(e,t){var i=t.defaultValue==null?"":t.defaultValue,o=t.checked!=null?t.checked:t.defaultChecked;i=_e(t.value!=null?t.value:i),e._wrapperState={initialChecked:o,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ft(e,t){t=t.checked,t!=null&&$(e,"checked",t,!1)}function Kt(e,t){Ft(e,t);var i=_e(t.value),o=t.type;if(i!=null)o==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?fn(e,t.type,i):t.hasOwnProperty("defaultValue")&&fn(e,t.type,_e(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ut(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var o=t.type;if(!(o!=="submit"&&o!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function fn(e,t,i){(t!=="number"||st(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Lt=Array.isArray;function Nt(e,t,i,o){if(e=e.options,t){t={};for(var u=0;u<i.length;u++)t["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=t.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&o&&(e[i].defaultSelected=!0)}else{for(i=""+_e(i),t=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,o&&(e[u].defaultSelected=!0);return}t!==null||e[u].disabled||(t=e[u])}t!==null&&(t.selected=!0)}}function mn(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(r(91));return he({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Yt(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(r(92));if(Lt(i)){if(1<i.length)throw Error(r(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:_e(i)}}function pn(e,t){var i=_e(t.value),o=_e(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),o!=null&&(e.defaultValue=""+o)}function hn(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Jt(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Mt(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Jt(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Bt,Jn=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,o,u){MSApp.execUnsafeLocalFunction(function(){return e(t,i,o,u)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Bt=Bt||document.createElement("div"),Bt.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Bt.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function rn(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var Xn={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},Xt=["Webkit","ms","Moz","O"];Object.keys(Xn).forEach(function(e){Xt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Xn[t]=Xn[e]})});function In(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Xn.hasOwnProperty(e)&&Xn[e]?(""+t).trim():t+"px"}function gt(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var o=i.indexOf("--")===0,u=In(i,t[i],o);i==="float"&&(i="cssFloat"),o?e.setProperty(i,u):e[i]=u}}var Fn=he({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 gn(e,t){if(t){if(Fn[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(r(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(r(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(r(61))}if(t.style!=null&&typeof t.style!="object")throw Error(r(62))}}function Ot(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var dt=null;function Un(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Bn=null,Zt=null,sn=null;function fr(e){if(e=Xi(e)){if(typeof Bn!="function")throw Error(r(280));var t=e.stateNode;t&&(t=qo(t),Bn(e.stateNode,e.type,t))}}function kr(e){Zt?sn?sn.push(e):sn=[e]:Zt=e}function lt(){if(Zt){var e=Zt,t=sn;if(sn=Zt=null,fr(e),t)for(e=0;e<t.length;e++)fr(t[e])}}function Zn(e,t){return e(t)}function br(){}var qn=!1;function Xr(e,t,i){if(qn)return e(t,i);qn=!0;try{return Zn(e,t,i)}finally{qn=!1,(Zt!==null||sn!==null)&&(br(),lt())}}function _n(e,t){var i=e.stateNode;if(i===null)return null;var o=qo(i);if(o===null)return null;i=o[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(r(231,t,typeof i));return i}var Zr=!1;if(p)try{var er={};Object.defineProperty(er,"passive",{get:function(){Zr=!0}}),window.addEventListener("test",er,er),window.removeEventListener("test",er,er)}catch{Zr=!1}function Tn(e,t,i,o,u,m,g,j,C){var K=Array.prototype.slice.call(arguments,3);try{t.apply(i,K)}catch(ce){this.onError(ce)}}var qt=!1,jr=null,wt=!1,yn=null,qr={onError:function(e){qt=!0,jr=e}};function wn(e,t,i,o,u,m,g,j,C){qt=!1,jr=null,Tn.apply(qr,arguments)}function en(e,t,i,o,u,m,g,j,C){if(wn.apply(this,arguments),qt){if(qt){var K=jr;qt=!1,jr=null}else throw Error(r(198));wt||(wt=!0,yn=K)}}function tr(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function es(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Mn(e){if(tr(e)!==e)throw Error(r(188))}function Wn(e){var t=e.alternate;if(!t){if(t=tr(e),t===null)throw Error(r(188));return t!==e?null:e}for(var i=e,o=t;;){var u=i.return;if(u===null)break;var m=u.alternate;if(m===null){if(o=u.return,o!==null){i=o;continue}break}if(u.child===m.child){for(m=u.child;m;){if(m===i)return Mn(u),e;if(m===o)return Mn(u),t;m=m.sibling}throw Error(r(188))}if(i.return!==o.return)i=u,o=m;else{for(var g=!1,j=u.child;j;){if(j===i){g=!0,i=u,o=m;break}if(j===o){g=!0,o=u,i=m;break}j=j.sibling}if(!g){for(j=m.child;j;){if(j===i){g=!0,i=m,o=u;break}if(j===o){g=!0,o=m,i=u;break}j=j.sibling}if(!g)throw Error(r(189))}}if(i.alternate!==o)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?e:t}function Le(e){return e=Wn(e),e!==null?A(e):null}function A(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=A(e);if(t!==null)return t;e=e.sibling}return null}var me=n.unstable_scheduleCallback,$e=n.unstable_cancelCallback,ct=n.unstable_shouldYield,At=n.unstable_requestPaint,Ue=n.unstable_now,Pt=n.unstable_getCurrentPriorityLevel,on=n.unstable_ImmediatePriority,An=n.unstable_UserBlockingPriority,vn=n.unstable_NormalPriority,mt=n.unstable_LowPriority,ts=n.unstable_IdlePriority,Wt=null,Et=null;function ma(e){if(Et&&typeof Et.onCommitFiberRoot=="function")try{Et.onCommitFiberRoot(Wt,e,void 0,(e.current.flags&128)===128)}catch{}}var ft=Math.clz32?Math.clz32:pa,Do=Math.log,Io=Math.LN2;function pa(e){return e>>>=0,e===0?32:31-(Do(e)/Io|0)|0}var Ts=64,ns=4194304;function Ms(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function As(e,t){var i=e.pendingLanes;if(i===0)return 0;var o=0,u=e.suspendedLanes,m=e.pingedLanes,g=i&268435455;if(g!==0){var j=g&~u;j!==0?o=Ms(j):(m&=g,m!==0&&(o=Ms(m)))}else g=i&~u,g!==0?o=Ms(g):m!==0&&(o=Ms(m));if(o===0)return 0;if(t!==0&&t!==o&&(t&u)===0&&(u=o&-o,m=t&-t,u>=m||u===16&&(m&4194240)!==0))return t;if((o&4)!==0&&(o|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=o;0<t;)i=31-ft(t),u=1<<i,o|=e[i],t&=~u;return o}function Li(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function rs(e,t){for(var i=e.suspendedLanes,o=e.pingedLanes,u=e.expirationTimes,m=e.pendingLanes;0<m;){var g=31-ft(m),j=1<<g,C=u[g];C===-1?((j&i)===0||(j&o)!==0)&&(u[g]=Li(j,t)):C<=t&&(e.expiredLanes|=j),m&=~j}}function ei(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ti(){var e=Ts;return Ts<<=1,(Ts&4194240)===0&&(Ts=64),e}function Dr(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function nr(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-ft(t),e[t]=i}function ni(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<i;){var u=31-ft(i),m=1<<u;t[u]=0,o[u]=-1,e[u]=-1,i&=~m}}function Ir(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var o=31-ft(i),u=1<<o;u&t|e[o]&t&&(e[o]|=t),i&=~u}}var Xe=0;function $s(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var ss,is,Fr,Rs,Oi,os=!1,ri=[],mr=null,Nr=null,rr=null,Ls=new Map,Os=new Map,xn=[],Fo="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 Pi(e,t){switch(e){case"focusin":case"focusout":mr=null;break;case"dragenter":case"dragleave":Nr=null;break;case"mouseover":case"mouseout":rr=null;break;case"pointerover":case"pointerout":Ls.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Os.delete(t.pointerId)}}function ls(e,t,i,o,u,m){return e===null||e.nativeEvent!==m?(e={blockedOn:t,domEventName:i,eventSystemFlags:o,nativeEvent:m,targetContainers:[u]},t!==null&&(t=Xi(t),t!==null&&is(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,u!==null&&t.indexOf(u)===-1&&t.push(u),e)}function zi(e,t,i,o,u){switch(t){case"focusin":return mr=ls(mr,e,t,i,o,u),!0;case"dragenter":return Nr=ls(Nr,e,t,i,o,u),!0;case"mouseover":return rr=ls(rr,e,t,i,o,u),!0;case"pointerover":var m=u.pointerId;return Ls.set(m,ls(Ls.get(m)||null,e,t,i,o,u)),!0;case"gotpointercapture":return m=u.pointerId,Os.set(m,ls(Os.get(m)||null,e,t,i,o,u)),!0}return!1}function Uo(e){var t=Ds(e.target);if(t!==null){var i=tr(t);if(i!==null){if(t=i.tag,t===13){if(t=es(i),t!==null){e.blockedOn=t,Oi(e.priority,function(){Fr(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function as(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=Ii(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var o=new i.constructor(i.type,i);dt=o,i.target.dispatchEvent(o),dt=null}else return t=Xi(i),t!==null&&is(t),e.blockedOn=i,!1;t.shift()}return!0}function Di(e,t,i){as(e)&&i.delete(t)}function Ur(){os=!1,mr!==null&&as(mr)&&(mr=null),Nr!==null&&as(Nr)&&(Nr=null),rr!==null&&as(rr)&&(rr=null),Ls.forEach(Di),Os.forEach(Di)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,os||(os=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,Ur)))}function Er(e){function t(u){return $t(u,e)}if(0<ri.length){$t(ri[0],e);for(var i=1;i<ri.length;i++){var o=ri[i];o.blockedOn===e&&(o.blockedOn=null)}}for(mr!==null&&$t(mr,e),Nr!==null&&$t(Nr,e),rr!==null&&$t(rr,e),Ls.forEach(t),Os.forEach(t),i=0;i<xn.length;i++)o=xn[i],o.blockedOn===e&&(o.blockedOn=null);for(;0<xn.length&&(i=xn[0],i.blockedOn===null);)Uo(i),i.blockedOn===null&&xn.shift()}var Sn=O.ReactCurrentBatchConfig,Ps=!0;function Bo(e,t,i,o){var u=Xe,m=Sn.transition;Sn.transition=null;try{Xe=1,zs(e,t,i,o)}finally{Xe=u,Sn.transition=m}}function Wo(e,t,i,o){var u=Xe,m=Sn.transition;Sn.transition=null;try{Xe=4,zs(e,t,i,o)}finally{Xe=u,Sn.transition=m}}function zs(e,t,i,o){if(Ps){var u=Ii(e,t,i,o);if(u===null)ja(e,t,o,cs,i),Pi(e,o);else if(zi(u,e,t,i,o))o.stopPropagation();else if(Pi(e,o),t&4&&-1<Fo.indexOf(e)){for(;u!==null;){var m=Xi(u);if(m!==null&&ss(m),m=Ii(e,t,i,o),m===null&&ja(e,t,o,cs,i),m===u)break;u=m}u!==null&&o.stopPropagation()}else ja(e,t,o,null,i)}}var cs=null;function Ii(e,t,i,o){if(cs=null,e=Un(o),e=Ds(e),e!==null)if(t=tr(e),t===null)e=null;else if(i=t.tag,i===13){if(e=es(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return cs=e,null}function Fi(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Pt()){case on:return 1;case An:return 4;case vn:case mt:return 16;case ts:return 536870912;default:return 16}default:return 16}}var Cr=null,Ui=null,us=null;function Ho(){if(us)return us;var e,t=Ui,i=t.length,o,u="value"in Cr?Cr.value:Cr.textContent,m=u.length;for(e=0;e<i&&t[e]===u[e];e++);var g=i-e;for(o=1;o<=g&&t[i-o]===u[m-o];o++);return us=u.slice(e,1<o?1-o:void 0)}function si(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ii(){return!0}function oi(){return!1}function ln(e){function t(i,o,u,m,g){this._reactName=i,this._targetInst=u,this.type=o,this.nativeEvent=m,this.target=g,this.currentTarget=null;for(var j in e)e.hasOwnProperty(j)&&(i=e[j],this[j]=i?i(m):m[j]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?ii:oi,this.isPropagationStopped=oi,this}return he(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=ii)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=ii)},persist:function(){},isPersistent:ii}),t}var _={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},x=ln(_),E=he({},_,{view:0,detail:0}),M=ln(E),ne,Y,de,q=he({},E,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:tt,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==de&&(de&&e.type==="mousemove"?(ne=e.screenX-de.screenX,Y=e.screenY-de.screenY):Y=ne=0,de=e),ne)},movementY:function(e){return"movementY"in e?e.movementY:Y}}),Z=ln(q),Me=he({},q,{dataTransfer:0}),De=ln(Me),je=he({},E,{relatedTarget:0}),Be=ln(je),oe=he({},_,{animationName:0,elapsedTime:0,pseudoElement:0}),ue=ln(oe),X=he({},_,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Te=ln(X),Ve=he({},_,{data:0}),Ne=ln(Ve),ie={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},be={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"},Qe={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ot(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Qe[e])?!!t[e]:!1}function tt(){return ot}var Ct=he({},E,{key:function(e){if(e.key){var t=ie[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=si(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?be[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:tt,charCode:function(e){return e.type==="keypress"?si(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?si(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),zt=ln(Ct),sr=he({},q,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),$n=ln(sr),Tr=he({},E,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:tt}),Vo=ln(Tr),Hp=he({},_,{propertyName:0,elapsedTime:0,pseudoElement:0}),Vp=ln(Hp),Gp=he({},q,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Qp=ln(Gp),Kp=[9,13,27,32],ha=p&&"CompositionEvent"in window,Bi=null;p&&"documentMode"in document&&(Bi=document.documentMode);var Yp=p&&"TextEvent"in window&&!Bi,Tu=p&&(!ha||Bi&&8<Bi&&11>=Bi),Mu=" ",Au=!1;function $u(e,t){switch(e){case"keyup":return Kp.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ru(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var li=!1;function Jp(e,t){switch(e){case"compositionend":return Ru(t);case"keypress":return t.which!==32?null:(Au=!0,Mu);case"textInput":return e=t.data,e===Mu&&Au?null:e;default:return null}}function Xp(e,t){if(li)return e==="compositionend"||!ha&&$u(e,t)?(e=Ho(),us=Ui=Cr=null,li=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Tu&&t.locale!=="ko"?null:t.data;default:return null}}var Zp={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 Lu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Zp[e.type]:t==="textarea"}function Ou(e,t,i,o){kr(o),t=Jo(t,"onChange"),0<t.length&&(i=new x("onChange","change",null,i,o),e.push({event:i,listeners:t}))}var Wi=null,Hi=null;function qp(e){qu(e,0)}function Go(e){var t=fi(e);if(Je(t))return e}function eh(e,t){if(e==="change")return t}var Pu=!1;if(p){var ga;if(p){var _a="oninput"in document;if(!_a){var zu=document.createElement("div");zu.setAttribute("oninput","return;"),_a=typeof zu.oninput=="function"}ga=_a}else ga=!1;Pu=ga&&(!document.documentMode||9<document.documentMode)}function Du(){Wi&&(Wi.detachEvent("onpropertychange",Iu),Hi=Wi=null)}function Iu(e){if(e.propertyName==="value"&&Go(Hi)){var t=[];Ou(t,Hi,e,Un(e)),Xr(qp,t)}}function th(e,t,i){e==="focusin"?(Du(),Wi=t,Hi=i,Wi.attachEvent("onpropertychange",Iu)):e==="focusout"&&Du()}function nh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Go(Hi)}function rh(e,t){if(e==="click")return Go(t)}function sh(e,t){if(e==="input"||e==="change")return Go(t)}function ih(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var pr=typeof Object.is=="function"?Object.is:ih;function Vi(e,t){if(pr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(o=0;o<i.length;o++){var u=i[o];if(!h.call(t,u)||!pr(e[u],t[u]))return!1}return!0}function Fu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Uu(e,t){var i=Fu(e);e=0;for(var o;i;){if(i.nodeType===3){if(o=e+i.textContent.length,e<=t&&o>=t)return{node:i,offset:t-e};e=o}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Fu(i)}}function Bu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Bu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Wu(){for(var e=window,t=st();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=st(e.document)}return t}function ya(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function oh(e){var t=Wu(),i=e.focusedElem,o=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&Bu(i.ownerDocument.documentElement,i)){if(o!==null&&ya(i)){if(t=o.start,e=o.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var u=i.textContent.length,m=Math.min(o.start,u);o=o.end===void 0?m:Math.min(o.end,u),!e.extend&&m>o&&(u=o,o=m,m=u),u=Uu(i,m);var g=Uu(i,o);u&&g&&(e.rangeCount!==1||e.anchorNode!==u.node||e.anchorOffset!==u.offset||e.focusNode!==g.node||e.focusOffset!==g.offset)&&(t=t.createRange(),t.setStart(u.node,u.offset),e.removeAllRanges(),m>o?(e.addRange(t),e.extend(g.node,g.offset)):(t.setEnd(g.node,g.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<t.length;i++)e=t[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var lh=p&&"documentMode"in document&&11>=document.documentMode,ai=null,wa=null,Gi=null,va=!1;function Hu(e,t,i){var o=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;va||ai==null||ai!==st(o)||(o=ai,"selectionStart"in o&&ya(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Gi&&Vi(Gi,o)||(Gi=o,o=Jo(wa,"onSelect"),0<o.length&&(t=new x("onSelect","select",null,t,i),e.push({event:t,listeners:o}),t.target=ai)))}function Qo(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var ci={animationend:Qo("Animation","AnimationEnd"),animationiteration:Qo("Animation","AnimationIteration"),animationstart:Qo("Animation","AnimationStart"),transitionend:Qo("Transition","TransitionEnd")},xa={},Vu={};p&&(Vu=document.createElement("div").style,"AnimationEvent"in window||(delete ci.animationend.animation,delete ci.animationiteration.animation,delete ci.animationstart.animation),"TransitionEvent"in window||delete ci.transitionend.transition);function Ko(e){if(xa[e])return xa[e];if(!ci[e])return e;var t=ci[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in Vu)return xa[e]=t[i];return e}var Gu=Ko("animationend"),Qu=Ko("animationiteration"),Ku=Ko("animationstart"),Yu=Ko("transitionend"),Ju=new Map,Xu="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 ds(e,t){Ju.set(e,t),d(t,[e])}for(var Sa=0;Sa<Xu.length;Sa++){var ka=Xu[Sa],ah=ka.toLowerCase(),ch=ka[0].toUpperCase()+ka.slice(1);ds(ah,"on"+ch)}ds(Gu,"onAnimationEnd"),ds(Qu,"onAnimationIteration"),ds(Ku,"onAnimationStart"),ds("dblclick","onDoubleClick"),ds("focusin","onFocus"),ds("focusout","onBlur"),ds(Yu,"onTransitionEnd"),f("onMouseEnter",["mouseout","mouseover"]),f("onMouseLeave",["mouseout","mouseover"]),f("onPointerEnter",["pointerout","pointerover"]),f("onPointerLeave",["pointerout","pointerover"]),d("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),d("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),d("onBeforeInput",["compositionend","keypress","textInput","paste"]),d("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Qi="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(" "),uh=new Set("cancel close invalid load scroll toggle".split(" ").concat(Qi));function Zu(e,t,i){var o=e.type||"unknown-event";e.currentTarget=i,en(o,t,void 0,e),e.currentTarget=null}function qu(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var o=e[i],u=o.event;o=o.listeners;e:{var m=void 0;if(t)for(var g=o.length-1;0<=g;g--){var j=o[g],C=j.instance,K=j.currentTarget;if(j=j.listener,C!==m&&u.isPropagationStopped())break e;Zu(u,j,K),m=C}else for(g=0;g<o.length;g++){if(j=o[g],C=j.instance,K=j.currentTarget,j=j.listener,C!==m&&u.isPropagationStopped())break e;Zu(u,j,K),m=C}}}if(wt)throw e=yn,wt=!1,yn=null,e}function _t(e,t){var i=t[Aa];i===void 0&&(i=t[Aa]=new Set);var o=e+"__bubble";i.has(o)||(ed(t,e,2,!1),i.add(o))}function ba(e,t,i){var o=0;t&&(o|=4),ed(i,e,o,t)}var Yo="_reactListening"+Math.random().toString(36).slice(2);function Ki(e){if(!e[Yo]){e[Yo]=!0,l.forEach(function(i){i!=="selectionchange"&&(uh.has(i)||ba(i,!1,e),ba(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Yo]||(t[Yo]=!0,ba("selectionchange",!1,t))}}function ed(e,t,i,o){switch(Fi(t)){case 1:var u=Bo;break;case 4:u=Wo;break;default:u=zs}i=u.bind(null,t,i,e),u=void 0,!Zr||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(u=!0),o?u!==void 0?e.addEventListener(t,i,{capture:!0,passive:u}):e.addEventListener(t,i,!0):u!==void 0?e.addEventListener(t,i,{passive:u}):e.addEventListener(t,i,!1)}function ja(e,t,i,o,u){var m=o;if((t&1)===0&&(t&2)===0&&o!==null)e:for(;;){if(o===null)return;var g=o.tag;if(g===3||g===4){var j=o.stateNode.containerInfo;if(j===u||j.nodeType===8&&j.parentNode===u)break;if(g===4)for(g=o.return;g!==null;){var C=g.tag;if((C===3||C===4)&&(C=g.stateNode.containerInfo,C===u||C.nodeType===8&&C.parentNode===u))return;g=g.return}for(;j!==null;){if(g=Ds(j),g===null)return;if(C=g.tag,C===5||C===6){o=m=g;continue e}j=j.parentNode}}o=o.return}Xr(function(){var K=m,ce=Un(i),fe=[];e:{var ae=Ju.get(e);if(ae!==void 0){var Ee=x,Oe=e;switch(e){case"keypress":if(si(i)===0)break e;case"keydown":case"keyup":Ee=zt;break;case"focusin":Oe="focus",Ee=Be;break;case"focusout":Oe="blur",Ee=Be;break;case"beforeblur":case"afterblur":Ee=Be;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Ee=Z;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Ee=De;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Ee=Vo;break;case Gu:case Qu:case Ku:Ee=ue;break;case Yu:Ee=Vp;break;case"scroll":Ee=M;break;case"wheel":Ee=Qp;break;case"copy":case"cut":case"paste":Ee=Te;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Ee=$n}var Pe=(t&4)!==0,Tt=!Pe&&e==="scroll",F=Pe?ae!==null?ae+"Capture":null:ae;Pe=[];for(var R=K,H;R!==null;){H=R;var ye=H.stateNode;if(H.tag===5&&ye!==null&&(H=ye,F!==null&&(ye=_n(R,F),ye!=null&&Pe.push(Yi(R,ye,H)))),Tt)break;R=R.return}0<Pe.length&&(ae=new Ee(ae,Oe,null,i,ce),fe.push({event:ae,listeners:Pe}))}}if((t&7)===0){e:{if(ae=e==="mouseover"||e==="pointerover",Ee=e==="mouseout"||e==="pointerout",ae&&i!==dt&&(Oe=i.relatedTarget||i.fromElement)&&(Ds(Oe)||Oe[Br]))break e;if((Ee||ae)&&(ae=ce.window===ce?ce:(ae=ce.ownerDocument)?ae.defaultView||ae.parentWindow:window,Ee?(Oe=i.relatedTarget||i.toElement,Ee=K,Oe=Oe?Ds(Oe):null,Oe!==null&&(Tt=tr(Oe),Oe!==Tt||Oe.tag!==5&&Oe.tag!==6)&&(Oe=null)):(Ee=null,Oe=K),Ee!==Oe)){if(Pe=Z,ye="onMouseLeave",F="onMouseEnter",R="mouse",(e==="pointerout"||e==="pointerover")&&(Pe=$n,ye="onPointerLeave",F="onPointerEnter",R="pointer"),Tt=Ee==null?ae:fi(Ee),H=Oe==null?ae:fi(Oe),ae=new Pe(ye,R+"leave",Ee,i,ce),ae.target=Tt,ae.relatedTarget=H,ye=null,Ds(ce)===K&&(Pe=new Pe(F,R+"enter",Oe,i,ce),Pe.target=H,Pe.relatedTarget=Tt,ye=Pe),Tt=ye,Ee&&Oe)t:{for(Pe=Ee,F=Oe,R=0,H=Pe;H;H=ui(H))R++;for(H=0,ye=F;ye;ye=ui(ye))H++;for(;0<R-H;)Pe=ui(Pe),R--;for(;0<H-R;)F=ui(F),H--;for(;R--;){if(Pe===F||F!==null&&Pe===F.alternate)break t;Pe=ui(Pe),F=ui(F)}Pe=null}else Pe=null;Ee!==null&&td(fe,ae,Ee,Pe,!1),Oe!==null&&Tt!==null&&td(fe,Tt,Oe,Pe,!0)}}e:{if(ae=K?fi(K):window,Ee=ae.nodeName&&ae.nodeName.toLowerCase(),Ee==="select"||Ee==="input"&&ae.type==="file")var ze=eh;else if(Lu(ae))if(Pu)ze=sh;else{ze=nh;var Ie=th}else(Ee=ae.nodeName)&&Ee.toLowerCase()==="input"&&(ae.type==="checkbox"||ae.type==="radio")&&(ze=rh);if(ze&&(ze=ze(e,K))){Ou(fe,ze,i,ce);break e}Ie&&Ie(e,ae,K),e==="focusout"&&(Ie=ae._wrapperState)&&Ie.controlled&&ae.type==="number"&&fn(ae,"number",ae.value)}switch(Ie=K?fi(K):window,e){case"focusin":(Lu(Ie)||Ie.contentEditable==="true")&&(ai=Ie,wa=K,Gi=null);break;case"focusout":Gi=wa=ai=null;break;case"mousedown":va=!0;break;case"contextmenu":case"mouseup":case"dragend":va=!1,Hu(fe,i,ce);break;case"selectionchange":if(lh)break;case"keydown":case"keyup":Hu(fe,i,ce)}var Fe;if(ha)e:{switch(e){case"compositionstart":var We="onCompositionStart";break e;case"compositionend":We="onCompositionEnd";break e;case"compositionupdate":We="onCompositionUpdate";break e}We=void 0}else li?$u(e,i)&&(We="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(We="onCompositionStart");We&&(Tu&&i.locale!=="ko"&&(li||We!=="onCompositionStart"?We==="onCompositionEnd"&&li&&(Fe=Ho()):(Cr=ce,Ui="value"in Cr?Cr.value:Cr.textContent,li=!0)),Ie=Jo(K,We),0<Ie.length&&(We=new Ne(We,e,null,i,ce),fe.push({event:We,listeners:Ie}),Fe?We.data=Fe:(Fe=Ru(i),Fe!==null&&(We.data=Fe)))),(Fe=Yp?Jp(e,i):Xp(e,i))&&(K=Jo(K,"onBeforeInput"),0<K.length&&(ce=new Ne("onBeforeInput","beforeinput",null,i,ce),fe.push({event:ce,listeners:K}),ce.data=Fe))}qu(fe,t)})}function Yi(e,t,i){return{instance:e,listener:t,currentTarget:i}}function Jo(e,t){for(var i=t+"Capture",o=[];e!==null;){var u=e,m=u.stateNode;u.tag===5&&m!==null&&(u=m,m=_n(e,i),m!=null&&o.unshift(Yi(e,m,u)),m=_n(e,t),m!=null&&o.push(Yi(e,m,u))),e=e.return}return o}function ui(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function td(e,t,i,o,u){for(var m=t._reactName,g=[];i!==null&&i!==o;){var j=i,C=j.alternate,K=j.stateNode;if(C!==null&&C===o)break;j.tag===5&&K!==null&&(j=K,u?(C=_n(i,m),C!=null&&g.unshift(Yi(i,C,j))):u||(C=_n(i,m),C!=null&&g.push(Yi(i,C,j)))),i=i.return}g.length!==0&&e.push({event:t,listeners:g})}var dh=/\r\n?/g,fh=/\u0000|\uFFFD/g;function nd(e){return(typeof e=="string"?e:""+e).replace(dh,`
|
|
38
|
-
`).replace(fh,"")}function Xo(e,t,i){if(t=nd(t),nd(e)!==t&&i)throw Error(r(425))}function Zo(){}var Na=null,Ea=null;function Ca(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ta=typeof setTimeout=="function"?setTimeout:void 0,mh=typeof clearTimeout=="function"?clearTimeout:void 0,rd=typeof Promise=="function"?Promise:void 0,ph=typeof queueMicrotask=="function"?queueMicrotask:typeof rd<"u"?function(e){return rd.resolve(null).then(e).catch(hh)}:Ta;function hh(e){setTimeout(function(){throw e})}function Ma(e,t){var i=t,o=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"){if(o===0){e.removeChild(u),Er(t);return}o--}else i!=="$"&&i!=="$?"&&i!=="$!"||o++;i=u}while(i);Er(t)}function fs(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function sd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var di=Math.random().toString(36).slice(2),Mr="__reactFiber$"+di,Ji="__reactProps$"+di,Br="__reactContainer$"+di,Aa="__reactEvents$"+di,gh="__reactListeners$"+di,_h="__reactHandles$"+di;function Ds(e){var t=e[Mr];if(t)return t;for(var i=e.parentNode;i;){if(t=i[Br]||i[Mr]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=sd(e);e!==null;){if(i=e[Mr])return i;e=sd(e)}return t}e=i,i=e.parentNode}return null}function Xi(e){return e=e[Mr]||e[Br],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function fi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function qo(e){return e[Ji]||null}var $a=[],mi=-1;function ms(e){return{current:e}}function yt(e){0>mi||(e.current=$a[mi],$a[mi]=null,mi--)}function pt(e,t){mi++,$a[mi]=e.current,e.current=t}var ps={},an=ms(ps),Rn=ms(!1),Is=ps;function pi(e,t){var i=e.type.contextTypes;if(!i)return ps;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var u={},m;for(m in i)u[m]=t[m];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=u),u}function Ln(e){return e=e.childContextTypes,e!=null}function el(){yt(Rn),yt(an)}function id(e,t,i){if(an.current!==ps)throw Error(r(168));pt(an,t),pt(Rn,i)}function od(e,t,i){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return i;o=o.getChildContext();for(var u in o)if(!(u in t))throw Error(r(108,G(e)||"Unknown",u));return he({},i,o)}function tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ps,Is=an.current,pt(an,e),pt(Rn,Rn.current),!0}function ld(e,t,i){var o=e.stateNode;if(!o)throw Error(r(169));i?(e=od(e,t,Is),o.__reactInternalMemoizedMergedChildContext=e,yt(Rn),yt(an),pt(an,e)):yt(Rn),pt(Rn,i)}var Wr=null,nl=!1,Ra=!1;function ad(e){Wr===null?Wr=[e]:Wr.push(e)}function yh(e){nl=!0,ad(e)}function hs(){if(!Ra&&Wr!==null){Ra=!0;var e=0,t=Xe;try{var i=Wr;for(Xe=1;e<i.length;e++){var o=i[e];do o=o(!0);while(o!==null)}Wr=null,nl=!1}catch(u){throw Wr!==null&&(Wr=Wr.slice(e+1)),me(on,hs),u}finally{Xe=t,Ra=!1}}return null}var hi=[],gi=0,rl=null,sl=0,ir=[],or=0,Fs=null,Hr=1,Vr="";function Us(e,t){hi[gi++]=sl,hi[gi++]=rl,rl=e,sl=t}function cd(e,t,i){ir[or++]=Hr,ir[or++]=Vr,ir[or++]=Fs,Fs=e;var o=Hr;e=Vr;var u=32-ft(o)-1;o&=~(1<<u),i+=1;var m=32-ft(t)+u;if(30<m){var g=u-u%5;m=(o&(1<<g)-1).toString(32),o>>=g,u-=g,Hr=1<<32-ft(t)+u|i<<u|o,Vr=m+e}else Hr=1<<m|i<<u|o,Vr=e}function La(e){e.return!==null&&(Us(e,1),cd(e,1,0))}function Oa(e){for(;e===rl;)rl=hi[--gi],hi[gi]=null,sl=hi[--gi],hi[gi]=null;for(;e===Fs;)Fs=ir[--or],ir[or]=null,Vr=ir[--or],ir[or]=null,Hr=ir[--or],ir[or]=null}var Hn=null,Vn=null,vt=!1,hr=null;function ud(e,t){var i=ur(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function dd(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Hn=e,Vn=fs(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Hn=e,Vn=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=Fs!==null?{id:Hr,overflow:Vr}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=ur(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Hn=e,Vn=null,!0):!1;default:return!1}}function Pa(e){return(e.mode&1)!==0&&(e.flags&128)===0}function za(e){if(vt){var t=Vn;if(t){var i=t;if(!dd(e,t)){if(Pa(e))throw Error(r(418));t=fs(i.nextSibling);var o=Hn;t&&dd(e,t)?ud(o,i):(e.flags=e.flags&-4097|2,vt=!1,Hn=e)}}else{if(Pa(e))throw Error(r(418));e.flags=e.flags&-4097|2,vt=!1,Hn=e}}}function fd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Hn=e}function il(e){if(e!==Hn)return!1;if(!vt)return fd(e),vt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Ca(e.type,e.memoizedProps)),t&&(t=Vn)){if(Pa(e))throw md(),Error(r(418));for(;t;)ud(e,t),t=fs(t.nextSibling)}if(fd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){Vn=fs(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}Vn=null}}else Vn=Hn?fs(e.stateNode.nextSibling):null;return!0}function md(){for(var e=Vn;e;)e=fs(e.nextSibling)}function _i(){Vn=Hn=null,vt=!1}function Da(e){hr===null?hr=[e]:hr.push(e)}var wh=O.ReactCurrentBatchConfig;function Zi(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(r(309));var o=i.stateNode}if(!o)throw Error(r(147,e));var u=o,m=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===m?t.ref:(t=function(g){var j=u.refs;g===null?delete j[m]:j[m]=g},t._stringRef=m,t)}if(typeof e!="string")throw Error(r(284));if(!i._owner)throw Error(r(290,e))}return e}function ol(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function pd(e){var t=e._init;return t(e._payload)}function hd(e){function t(F,R){if(e){var H=F.deletions;H===null?(F.deletions=[R],F.flags|=16):H.push(R)}}function i(F,R){if(!e)return null;for(;R!==null;)t(F,R),R=R.sibling;return null}function o(F,R){for(F=new Map;R!==null;)R.key!==null?F.set(R.key,R):F.set(R.index,R),R=R.sibling;return F}function u(F,R){return F=ks(F,R),F.index=0,F.sibling=null,F}function m(F,R,H){return F.index=H,e?(H=F.alternate,H!==null?(H=H.index,H<R?(F.flags|=2,R):H):(F.flags|=2,R)):(F.flags|=1048576,R)}function g(F){return e&&F.alternate===null&&(F.flags|=2),F}function j(F,R,H,ye){return R===null||R.tag!==6?(R=Tc(H,F.mode,ye),R.return=F,R):(R=u(R,H),R.return=F,R)}function C(F,R,H,ye){var ze=H.type;return ze===re?ce(F,R,H.props.children,ye,H.key):R!==null&&(R.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===ke&&pd(ze)===R.type)?(ye=u(R,H.props),ye.ref=Zi(F,R,H),ye.return=F,ye):(ye=Ml(H.type,H.key,H.props,null,F.mode,ye),ye.ref=Zi(F,R,H),ye.return=F,ye)}function K(F,R,H,ye){return R===null||R.tag!==4||R.stateNode.containerInfo!==H.containerInfo||R.stateNode.implementation!==H.implementation?(R=Mc(H,F.mode,ye),R.return=F,R):(R=u(R,H.children||[]),R.return=F,R)}function ce(F,R,H,ye,ze){return R===null||R.tag!==7?(R=Ys(H,F.mode,ye,ze),R.return=F,R):(R=u(R,H),R.return=F,R)}function fe(F,R,H){if(typeof R=="string"&&R!==""||typeof R=="number")return R=Tc(""+R,F.mode,H),R.return=F,R;if(typeof R=="object"&&R!==null){switch(R.$$typeof){case z:return H=Ml(R.type,R.key,R.props,null,F.mode,H),H.ref=Zi(F,null,R),H.return=F,H;case V:return R=Mc(R,F.mode,H),R.return=F,R;case ke:var ye=R._init;return fe(F,ye(R._payload),H)}if(Lt(R)||we(R))return R=Ys(R,F.mode,H,null),R.return=F,R;ol(F,R)}return null}function ae(F,R,H,ye){var ze=R!==null?R.key:null;if(typeof H=="string"&&H!==""||typeof H=="number")return ze!==null?null:j(F,R,""+H,ye);if(typeof H=="object"&&H!==null){switch(H.$$typeof){case z:return H.key===ze?C(F,R,H,ye):null;case V:return H.key===ze?K(F,R,H,ye):null;case ke:return ze=H._init,ae(F,R,ze(H._payload),ye)}if(Lt(H)||we(H))return ze!==null?null:ce(F,R,H,ye,null);ol(F,H)}return null}function Ee(F,R,H,ye,ze){if(typeof ye=="string"&&ye!==""||typeof ye=="number")return F=F.get(H)||null,j(R,F,""+ye,ze);if(typeof ye=="object"&&ye!==null){switch(ye.$$typeof){case z:return F=F.get(ye.key===null?H:ye.key)||null,C(R,F,ye,ze);case V:return F=F.get(ye.key===null?H:ye.key)||null,K(R,F,ye,ze);case ke:var Ie=ye._init;return Ee(F,R,H,Ie(ye._payload),ze)}if(Lt(ye)||we(ye))return F=F.get(H)||null,ce(R,F,ye,ze,null);ol(R,ye)}return null}function Oe(F,R,H,ye){for(var ze=null,Ie=null,Fe=R,We=R=0,Gt=null;Fe!==null&&We<H.length;We++){Fe.index>We?(Gt=Fe,Fe=null):Gt=Fe.sibling;var it=ae(F,Fe,H[We],ye);if(it===null){Fe===null&&(Fe=Gt);break}e&&Fe&&it.alternate===null&&t(F,Fe),R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it,Fe=Gt}if(We===H.length)return i(F,Fe),vt&&Us(F,We),ze;if(Fe===null){for(;We<H.length;We++)Fe=fe(F,H[We],ye),Fe!==null&&(R=m(Fe,R,We),Ie===null?ze=Fe:Ie.sibling=Fe,Ie=Fe);return vt&&Us(F,We),ze}for(Fe=o(F,Fe);We<H.length;We++)Gt=Ee(Fe,F,We,H[We],ye),Gt!==null&&(e&&Gt.alternate!==null&&Fe.delete(Gt.key===null?We:Gt.key),R=m(Gt,R,We),Ie===null?ze=Gt:Ie.sibling=Gt,Ie=Gt);return e&&Fe.forEach(function(bs){return t(F,bs)}),vt&&Us(F,We),ze}function Pe(F,R,H,ye){var ze=we(H);if(typeof ze!="function")throw Error(r(150));if(H=ze.call(H),H==null)throw Error(r(151));for(var Ie=ze=null,Fe=R,We=R=0,Gt=null,it=H.next();Fe!==null&&!it.done;We++,it=H.next()){Fe.index>We?(Gt=Fe,Fe=null):Gt=Fe.sibling;var bs=ae(F,Fe,it.value,ye);if(bs===null){Fe===null&&(Fe=Gt);break}e&&Fe&&bs.alternate===null&&t(F,Fe),R=m(bs,R,We),Ie===null?ze=bs:Ie.sibling=bs,Ie=bs,Fe=Gt}if(it.done)return i(F,Fe),vt&&Us(F,We),ze;if(Fe===null){for(;!it.done;We++,it=H.next())it=fe(F,it.value,ye),it!==null&&(R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it);return vt&&Us(F,We),ze}for(Fe=o(F,Fe);!it.done;We++,it=H.next())it=Ee(Fe,F,We,it.value,ye),it!==null&&(e&&it.alternate!==null&&Fe.delete(it.key===null?We:it.key),R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it);return e&&Fe.forEach(function(Zh){return t(F,Zh)}),vt&&Us(F,We),ze}function Tt(F,R,H,ye){if(typeof H=="object"&&H!==null&&H.type===re&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case z:e:{for(var ze=H.key,Ie=R;Ie!==null;){if(Ie.key===ze){if(ze=H.type,ze===re){if(Ie.tag===7){i(F,Ie.sibling),R=u(Ie,H.props.children),R.return=F,F=R;break e}}else if(Ie.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===ke&&pd(ze)===Ie.type){i(F,Ie.sibling),R=u(Ie,H.props),R.ref=Zi(F,Ie,H),R.return=F,F=R;break e}i(F,Ie);break}else t(F,Ie);Ie=Ie.sibling}H.type===re?(R=Ys(H.props.children,F.mode,ye,H.key),R.return=F,F=R):(ye=Ml(H.type,H.key,H.props,null,F.mode,ye),ye.ref=Zi(F,R,H),ye.return=F,F=ye)}return g(F);case V:e:{for(Ie=H.key;R!==null;){if(R.key===Ie)if(R.tag===4&&R.stateNode.containerInfo===H.containerInfo&&R.stateNode.implementation===H.implementation){i(F,R.sibling),R=u(R,H.children||[]),R.return=F,F=R;break e}else{i(F,R);break}else t(F,R);R=R.sibling}R=Mc(H,F.mode,ye),R.return=F,F=R}return g(F);case ke:return Ie=H._init,Tt(F,R,Ie(H._payload),ye)}if(Lt(H))return Oe(F,R,H,ye);if(we(H))return Pe(F,R,H,ye);ol(F,H)}return typeof H=="string"&&H!==""||typeof H=="number"?(H=""+H,R!==null&&R.tag===6?(i(F,R.sibling),R=u(R,H),R.return=F,F=R):(i(F,R),R=Tc(H,F.mode,ye),R.return=F,F=R),g(F)):i(F,R)}return Tt}var yi=hd(!0),gd=hd(!1),ll=ms(null),al=null,wi=null,Ia=null;function Fa(){Ia=wi=al=null}function Ua(e){var t=ll.current;yt(ll),e._currentValue=t}function Ba(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function vi(e,t){al=e,Ia=wi=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(On=!0),e.firstContext=null)}function lr(e){var t=e._currentValue;if(Ia!==e)if(e={context:e,memoizedValue:t,next:null},wi===null){if(al===null)throw Error(r(308));wi=e,al.dependencies={lanes:0,firstContext:e}}else wi=wi.next=e;return t}var Bs=null;function Wa(e){Bs===null?Bs=[e]:Bs.push(e)}function _d(e,t,i,o){var u=t.interleaved;return u===null?(i.next=i,Wa(t)):(i.next=u.next,u.next=i),t.interleaved=i,Gr(e,o)}function Gr(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var gs=!1;function Ha(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yd(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function _s(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(nt&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,Gr(e,i)}return u=o.interleaved,u===null?(t.next=t,Wa(o)):(t.next=u.next,u.next=t),o.interleaved=t,Gr(e,i)}function cl(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Ir(e,i)}}function wd(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var g={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};m===null?u=m=g:m=m.next=g,i=i.next}while(i!==null);m===null?u=m=t:m=m.next=t}else u=m=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:m,shared:o.shared,effects:o.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function ul(e,t,i,o){var u=e.updateQueue;gs=!1;var m=u.firstBaseUpdate,g=u.lastBaseUpdate,j=u.shared.pending;if(j!==null){u.shared.pending=null;var C=j,K=C.next;C.next=null,g===null?m=K:g.next=K,g=C;var ce=e.alternate;ce!==null&&(ce=ce.updateQueue,j=ce.lastBaseUpdate,j!==g&&(j===null?ce.firstBaseUpdate=K:j.next=K,ce.lastBaseUpdate=C))}if(m!==null){var fe=u.baseState;g=0,ce=K=C=null,j=m;do{var ae=j.lane,Ee=j.eventTime;if((o&ae)===ae){ce!==null&&(ce=ce.next={eventTime:Ee,lane:0,tag:j.tag,payload:j.payload,callback:j.callback,next:null});e:{var Oe=e,Pe=j;switch(ae=t,Ee=i,Pe.tag){case 1:if(Oe=Pe.payload,typeof Oe=="function"){fe=Oe.call(Ee,fe,ae);break e}fe=Oe;break e;case 3:Oe.flags=Oe.flags&-65537|128;case 0:if(Oe=Pe.payload,ae=typeof Oe=="function"?Oe.call(Ee,fe,ae):Oe,ae==null)break e;fe=he({},fe,ae);break e;case 2:gs=!0}}j.callback!==null&&j.lane!==0&&(e.flags|=64,ae=u.effects,ae===null?u.effects=[j]:ae.push(j))}else Ee={eventTime:Ee,lane:ae,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ce===null?(K=ce=Ee,C=fe):ce=ce.next=Ee,g|=ae;if(j=j.next,j===null){if(j=u.shared.pending,j===null)break;ae=j,j=ae.next,ae.next=null,u.lastBaseUpdate=ae,u.shared.pending=null}}while(!0);if(ce===null&&(C=fe),u.baseState=C,u.firstBaseUpdate=K,u.lastBaseUpdate=ce,t=u.shared.interleaved,t!==null){u=t;do g|=u.lane,u=u.next;while(u!==t)}else m===null&&(u.shared.lanes=0);Vs|=g,e.lanes=g,e.memoizedState=fe}}function vd(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var o=e[t],u=o.callback;if(u!==null){if(o.callback=null,o=i,typeof u!="function")throw Error(r(191,u));u.call(o)}}}var qi={},Ar=ms(qi),eo=ms(qi),to=ms(qi);function Ws(e){if(e===qi)throw Error(r(174));return e}function Va(e,t){switch(pt(to,t),pt(eo,e),pt(Ar,qi),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Mt(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Mt(t,e)}yt(Ar),pt(Ar,t)}function xi(){yt(Ar),yt(eo),yt(to)}function xd(e){Ws(to.current);var t=Ws(Ar.current),i=Mt(t,e.type);t!==i&&(pt(eo,e),pt(Ar,i))}function Ga(e){eo.current===e&&(yt(Ar),yt(eo))}var xt=ms(0);function dl(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Qa=[];function Ka(){for(var e=0;e<Qa.length;e++)Qa[e]._workInProgressVersionPrimary=null;Qa.length=0}var fl=O.ReactCurrentDispatcher,Ya=O.ReactCurrentBatchConfig,Hs=0,St=null,Dt=null,Ht=null,ml=!1,no=!1,ro=0,vh=0;function cn(){throw Error(r(321))}function Ja(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!pr(e[i],t[i]))return!1;return!0}function Xa(e,t,i,o,u,m){if(Hs=m,St=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,fl.current=e===null||e.memoizedState===null?bh:jh,e=i(o,u),no){m=0;do{if(no=!1,ro=0,25<=m)throw Error(r(301));m+=1,Ht=Dt=null,t.updateQueue=null,fl.current=Nh,e=i(o,u)}while(no)}if(fl.current=gl,t=Dt!==null&&Dt.next!==null,Hs=0,Ht=Dt=St=null,ml=!1,t)throw Error(r(300));return e}function Za(){var e=ro!==0;return ro=0,e}function $r(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ht===null?St.memoizedState=Ht=e:Ht=Ht.next=e,Ht}function ar(){if(Dt===null){var e=St.alternate;e=e!==null?e.memoizedState:null}else e=Dt.next;var t=Ht===null?St.memoizedState:Ht.next;if(t!==null)Ht=t,Dt=e;else{if(e===null)throw Error(r(310));Dt=e,e={memoizedState:Dt.memoizedState,baseState:Dt.baseState,baseQueue:Dt.baseQueue,queue:Dt.queue,next:null},Ht===null?St.memoizedState=Ht=e:Ht=Ht.next=e}return Ht}function so(e,t){return typeof t=="function"?t(e):t}function qa(e){var t=ar(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=Dt,u=o.baseQueue,m=i.pending;if(m!==null){if(u!==null){var g=u.next;u.next=m.next,m.next=g}o.baseQueue=u=m,i.pending=null}if(u!==null){m=u.next,o=o.baseState;var j=g=null,C=null,K=m;do{var ce=K.lane;if((Hs&ce)===ce)C!==null&&(C=C.next={lane:0,action:K.action,hasEagerState:K.hasEagerState,eagerState:K.eagerState,next:null}),o=K.hasEagerState?K.eagerState:e(o,K.action);else{var fe={lane:ce,action:K.action,hasEagerState:K.hasEagerState,eagerState:K.eagerState,next:null};C===null?(j=C=fe,g=o):C=C.next=fe,St.lanes|=ce,Vs|=ce}K=K.next}while(K!==null&&K!==m);C===null?g=o:C.next=j,pr(o,t.memoizedState)||(On=!0),t.memoizedState=o,t.baseState=g,t.baseQueue=C,i.lastRenderedState=o}if(e=i.interleaved,e!==null){u=e;do m=u.lane,St.lanes|=m,Vs|=m,u=u.next;while(u!==e)}else u===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function ec(e){var t=ar(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=i.dispatch,u=i.pending,m=t.memoizedState;if(u!==null){i.pending=null;var g=u=u.next;do m=e(m,g.action),g=g.next;while(g!==u);pr(m,t.memoizedState)||(On=!0),t.memoizedState=m,t.baseQueue===null&&(t.baseState=m),i.lastRenderedState=m}return[m,o]}function Sd(){}function kd(e,t){var i=St,o=ar(),u=t(),m=!pr(o.memoizedState,u);if(m&&(o.memoizedState=u,On=!0),o=o.queue,tc(Nd.bind(null,i,o,e),[e]),o.getSnapshot!==t||m||Ht!==null&&Ht.memoizedState.tag&1){if(i.flags|=2048,io(9,jd.bind(null,i,o,u,t),void 0,null),Vt===null)throw Error(r(349));(Hs&30)!==0||bd(i,t,u)}return u}function bd(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function jd(e,t,i,o){t.value=i,t.getSnapshot=o,Ed(t)&&Cd(e)}function Nd(e,t,i){return i(function(){Ed(t)&&Cd(e)})}function Ed(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!pr(e,i)}catch{return!0}}function Cd(e){var t=Gr(e,1);t!==null&&wr(t,e,1,-1)}function Td(e){var t=$r();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:so,lastRenderedState:e},t.queue=e,e=e.dispatch=kh.bind(null,St,e),[t.memoizedState,e]}function io(e,t,i,o){return e={tag:e,create:t,destroy:i,deps:o,next:null},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(o=i.next,i.next=e,e.next=o,t.lastEffect=e)),e}function Md(){return ar().memoizedState}function pl(e,t,i,o){var u=$r();St.flags|=e,u.memoizedState=io(1|t,i,void 0,o===void 0?null:o)}function hl(e,t,i,o){var u=ar();o=o===void 0?null:o;var m=void 0;if(Dt!==null){var g=Dt.memoizedState;if(m=g.destroy,o!==null&&Ja(o,g.deps)){u.memoizedState=io(t,i,m,o);return}}St.flags|=e,u.memoizedState=io(1|t,i,m,o)}function Ad(e,t){return pl(8390656,8,e,t)}function tc(e,t){return hl(2048,8,e,t)}function $d(e,t){return hl(4,2,e,t)}function Rd(e,t){return hl(4,4,e,t)}function Ld(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Od(e,t,i){return i=i!=null?i.concat([e]):null,hl(4,4,Ld.bind(null,t,e),i)}function nc(){}function Pd(e,t){var i=ar();t=t===void 0?null:t;var o=i.memoizedState;return o!==null&&t!==null&&Ja(t,o[1])?o[0]:(i.memoizedState=[e,t],e)}function zd(e,t){var i=ar();t=t===void 0?null:t;var o=i.memoizedState;return o!==null&&t!==null&&Ja(t,o[1])?o[0]:(e=e(),i.memoizedState=[e,t],e)}function Dd(e,t,i){return(Hs&21)===0?(e.baseState&&(e.baseState=!1,On=!0),e.memoizedState=i):(pr(i,t)||(i=ti(),St.lanes|=i,Vs|=i,e.baseState=!0),t)}function xh(e,t){var i=Xe;Xe=i!==0&&4>i?i:4,e(!0);var o=Ya.transition;Ya.transition={};try{e(!1),t()}finally{Xe=i,Ya.transition=o}}function Id(){return ar().memoizedState}function Sh(e,t,i){var o=xs(e);if(i={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null},Fd(e))Ud(t,i);else if(i=_d(e,t,i,o),i!==null){var u=bn();wr(i,e,o,u),Bd(i,t,o)}}function kh(e,t,i){var o=xs(e),u={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null};if(Fd(e))Ud(t,u);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=t.lastRenderedReducer,m!==null))try{var g=t.lastRenderedState,j=m(g,i);if(u.hasEagerState=!0,u.eagerState=j,pr(j,g)){var C=t.interleaved;C===null?(u.next=u,Wa(t)):(u.next=C.next,C.next=u),t.interleaved=u;return}}catch{}finally{}i=_d(e,t,u,o),i!==null&&(u=bn(),wr(i,e,o,u),Bd(i,t,o))}}function Fd(e){var t=e.alternate;return e===St||t!==null&&t===St}function Ud(e,t){no=ml=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Bd(e,t,i){if((i&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Ir(e,i)}}var gl={readContext:lr,useCallback:cn,useContext:cn,useEffect:cn,useImperativeHandle:cn,useInsertionEffect:cn,useLayoutEffect:cn,useMemo:cn,useReducer:cn,useRef:cn,useState:cn,useDebugValue:cn,useDeferredValue:cn,useTransition:cn,useMutableSource:cn,useSyncExternalStore:cn,useId:cn,unstable_isNewReconciler:!1},bh={readContext:lr,useCallback:function(e,t){return $r().memoizedState=[e,t===void 0?null:t],e},useContext:lr,useEffect:Ad,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,pl(4194308,4,Ld.bind(null,t,e),i)},useLayoutEffect:function(e,t){return pl(4194308,4,e,t)},useInsertionEffect:function(e,t){return pl(4,2,e,t)},useMemo:function(e,t){var i=$r();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var o=$r();return t=i!==void 0?i(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Sh.bind(null,St,e),[o.memoizedState,e]},useRef:function(e){var t=$r();return e={current:e},t.memoizedState=e},useState:Td,useDebugValue:nc,useDeferredValue:function(e){return $r().memoizedState=e},useTransition:function(){var e=Td(!1),t=e[0];return e=xh.bind(null,e[1]),$r().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var o=St,u=$r();if(vt){if(i===void 0)throw Error(r(407));i=i()}else{if(i=t(),Vt===null)throw Error(r(349));(Hs&30)!==0||bd(o,t,i)}u.memoizedState=i;var m={value:i,getSnapshot:t};return u.queue=m,Ad(Nd.bind(null,o,m,e),[e]),o.flags|=2048,io(9,jd.bind(null,o,m,i,t),void 0,null),i},useId:function(){var e=$r(),t=Vt.identifierPrefix;if(vt){var i=Vr,o=Hr;i=(o&~(1<<32-ft(o)-1)).toString(32)+i,t=":"+t+"R"+i,i=ro++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=vh++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},jh={readContext:lr,useCallback:Pd,useContext:lr,useEffect:tc,useImperativeHandle:Od,useInsertionEffect:$d,useLayoutEffect:Rd,useMemo:zd,useReducer:qa,useRef:Md,useState:function(){return qa(so)},useDebugValue:nc,useDeferredValue:function(e){var t=ar();return Dd(t,Dt.memoizedState,e)},useTransition:function(){var e=qa(so)[0],t=ar().memoizedState;return[e,t]},useMutableSource:Sd,useSyncExternalStore:kd,useId:Id,unstable_isNewReconciler:!1},Nh={readContext:lr,useCallback:Pd,useContext:lr,useEffect:tc,useImperativeHandle:Od,useInsertionEffect:$d,useLayoutEffect:Rd,useMemo:zd,useReducer:ec,useRef:Md,useState:function(){return ec(so)},useDebugValue:nc,useDeferredValue:function(e){var t=ar();return Dt===null?t.memoizedState=e:Dd(t,Dt.memoizedState,e)},useTransition:function(){var e=ec(so)[0],t=ar().memoizedState;return[e,t]},useMutableSource:Sd,useSyncExternalStore:kd,useId:Id,unstable_isNewReconciler:!1};function gr(e,t){if(e&&e.defaultProps){t=he({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function rc(e,t,i,o){t=e.memoizedState,i=i(o,t),i=i==null?t:he({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var _l={isMounted:function(e){return(e=e._reactInternals)?tr(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var o=bn(),u=xs(e),m=Qr(o,u);m.payload=t,i!=null&&(m.callback=i),t=_s(e,m,u),t!==null&&(wr(t,e,u,o),cl(t,e,u))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var o=bn(),u=xs(e),m=Qr(o,u);m.tag=1,m.payload=t,i!=null&&(m.callback=i),t=_s(e,m,u),t!==null&&(wr(t,e,u,o),cl(t,e,u))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=bn(),o=xs(e),u=Qr(i,o);u.tag=2,t!=null&&(u.callback=t),t=_s(e,u,o),t!==null&&(wr(t,e,o,i),cl(t,e,o))}};function Wd(e,t,i,o,u,m,g){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,m,g):t.prototype&&t.prototype.isPureReactComponent?!Vi(i,o)||!Vi(u,m):!0}function Hd(e,t,i){var o=!1,u=ps,m=t.contextType;return typeof m=="object"&&m!==null?m=lr(m):(u=Ln(t)?Is:an.current,o=t.contextTypes,m=(o=o!=null)?pi(e,u):ps),t=new t(i,m),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=_l,e.stateNode=t,t._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=u,e.__reactInternalMemoizedMaskedChildContext=m),t}function Vd(e,t,i,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,o),t.state!==e&&_l.enqueueReplaceState(t,t.state,null)}function sc(e,t,i,o){var u=e.stateNode;u.props=i,u.state=e.memoizedState,u.refs={},Ha(e);var m=t.contextType;typeof m=="object"&&m!==null?u.context=lr(m):(m=Ln(t)?Is:an.current,u.context=pi(e,m)),u.state=e.memoizedState,m=t.getDerivedStateFromProps,typeof m=="function"&&(rc(e,t,m,i),u.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(t=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),t!==u.state&&_l.enqueueReplaceState(u,u.state,null),ul(e,i,u,o),u.state=e.memoizedState),typeof u.componentDidMount=="function"&&(e.flags|=4194308)}function Si(e,t){try{var i="",o=t;do i+=ve(o),o=o.return;while(o);var u=i}catch(m){u=`
|
|
38
|
+
`).replace(fh,"")}function Xo(e,t,i){if(t=nd(t),nd(e)!==t&&i)throw Error(r(425))}function Zo(){}var Na=null,Ea=null;function Ca(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ta=typeof setTimeout=="function"?setTimeout:void 0,mh=typeof clearTimeout=="function"?clearTimeout:void 0,rd=typeof Promise=="function"?Promise:void 0,ph=typeof queueMicrotask=="function"?queueMicrotask:typeof rd<"u"?function(e){return rd.resolve(null).then(e).catch(hh)}:Ta;function hh(e){setTimeout(function(){throw e})}function Ma(e,t){var i=t,o=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"){if(o===0){e.removeChild(u),Er(t);return}o--}else i!=="$"&&i!=="$?"&&i!=="$!"||o++;i=u}while(i);Er(t)}function fs(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function sd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var di=Math.random().toString(36).slice(2),Mr="__reactFiber$"+di,Ji="__reactProps$"+di,Br="__reactContainer$"+di,Aa="__reactEvents$"+di,gh="__reactListeners$"+di,_h="__reactHandles$"+di;function Ds(e){var t=e[Mr];if(t)return t;for(var i=e.parentNode;i;){if(t=i[Br]||i[Mr]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=sd(e);e!==null;){if(i=e[Mr])return i;e=sd(e)}return t}e=i,i=e.parentNode}return null}function Xi(e){return e=e[Mr]||e[Br],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function fi(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(r(33))}function qo(e){return e[Ji]||null}var $a=[],mi=-1;function ms(e){return{current:e}}function yt(e){0>mi||(e.current=$a[mi],$a[mi]=null,mi--)}function pt(e,t){mi++,$a[mi]=e.current,e.current=t}var ps={},an=ms(ps),Rn=ms(!1),Is=ps;function pi(e,t){var i=e.type.contextTypes;if(!i)return ps;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===t)return o.__reactInternalMemoizedMaskedChildContext;var u={},m;for(m in i)u[m]=t[m];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=u),u}function Ln(e){return e=e.childContextTypes,e!=null}function el(){yt(Rn),yt(an)}function id(e,t,i){if(an.current!==ps)throw Error(r(168));pt(an,t),pt(Rn,i)}function od(e,t,i){var o=e.stateNode;if(t=t.childContextTypes,typeof o.getChildContext!="function")return i;o=o.getChildContext();for(var u in o)if(!(u in t))throw Error(r(108,G(e)||"Unknown",u));return he({},i,o)}function tl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ps,Is=an.current,pt(an,e),pt(Rn,Rn.current),!0}function ld(e,t,i){var o=e.stateNode;if(!o)throw Error(r(169));i?(e=od(e,t,Is),o.__reactInternalMemoizedMergedChildContext=e,yt(Rn),yt(an),pt(an,e)):yt(Rn),pt(Rn,i)}var Wr=null,nl=!1,Ra=!1;function ad(e){Wr===null?Wr=[e]:Wr.push(e)}function yh(e){nl=!0,ad(e)}function hs(){if(!Ra&&Wr!==null){Ra=!0;var e=0,t=Xe;try{var i=Wr;for(Xe=1;e<i.length;e++){var o=i[e];do o=o(!0);while(o!==null)}Wr=null,nl=!1}catch(u){throw Wr!==null&&(Wr=Wr.slice(e+1)),me(on,hs),u}finally{Xe=t,Ra=!1}}return null}var hi=[],gi=0,rl=null,sl=0,ir=[],or=0,Fs=null,Hr=1,Vr="";function Us(e,t){hi[gi++]=sl,hi[gi++]=rl,rl=e,sl=t}function cd(e,t,i){ir[or++]=Hr,ir[or++]=Vr,ir[or++]=Fs,Fs=e;var o=Hr;e=Vr;var u=32-ft(o)-1;o&=~(1<<u),i+=1;var m=32-ft(t)+u;if(30<m){var g=u-u%5;m=(o&(1<<g)-1).toString(32),o>>=g,u-=g,Hr=1<<32-ft(t)+u|i<<u|o,Vr=m+e}else Hr=1<<m|i<<u|o,Vr=e}function La(e){e.return!==null&&(Us(e,1),cd(e,1,0))}function Oa(e){for(;e===rl;)rl=hi[--gi],hi[gi]=null,sl=hi[--gi],hi[gi]=null;for(;e===Fs;)Fs=ir[--or],ir[or]=null,Vr=ir[--or],ir[or]=null,Hr=ir[--or],ir[or]=null}var Hn=null,Vn=null,vt=!1,hr=null;function ud(e,t){var i=ur(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function dd(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Hn=e,Vn=fs(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Hn=e,Vn=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=Fs!==null?{id:Hr,overflow:Vr}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=ur(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Hn=e,Vn=null,!0):!1;default:return!1}}function Pa(e){return(e.mode&1)!==0&&(e.flags&128)===0}function za(e){if(vt){var t=Vn;if(t){var i=t;if(!dd(e,t)){if(Pa(e))throw Error(r(418));t=fs(i.nextSibling);var o=Hn;t&&dd(e,t)?ud(o,i):(e.flags=e.flags&-4097|2,vt=!1,Hn=e)}}else{if(Pa(e))throw Error(r(418));e.flags=e.flags&-4097|2,vt=!1,Hn=e}}}function fd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Hn=e}function il(e){if(e!==Hn)return!1;if(!vt)return fd(e),vt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Ca(e.type,e.memoizedProps)),t&&(t=Vn)){if(Pa(e))throw md(),Error(r(418));for(;t;)ud(e,t),t=fs(t.nextSibling)}if(fd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){Vn=fs(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}Vn=null}}else Vn=Hn?fs(e.stateNode.nextSibling):null;return!0}function md(){for(var e=Vn;e;)e=fs(e.nextSibling)}function _i(){Vn=Hn=null,vt=!1}function Da(e){hr===null?hr=[e]:hr.push(e)}var wh=O.ReactCurrentBatchConfig;function Zi(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(r(309));var o=i.stateNode}if(!o)throw Error(r(147,e));var u=o,m=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===m?t.ref:(t=function(g){var j=u.refs;g===null?delete j[m]:j[m]=g},t._stringRef=m,t)}if(typeof e!="string")throw Error(r(284));if(!i._owner)throw Error(r(290,e))}return e}function ol(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function pd(e){var t=e._init;return t(e._payload)}function hd(e){function t(F,R){if(e){var H=F.deletions;H===null?(F.deletions=[R],F.flags|=16):H.push(R)}}function i(F,R){if(!e)return null;for(;R!==null;)t(F,R),R=R.sibling;return null}function o(F,R){for(F=new Map;R!==null;)R.key!==null?F.set(R.key,R):F.set(R.index,R),R=R.sibling;return F}function u(F,R){return F=ks(F,R),F.index=0,F.sibling=null,F}function m(F,R,H){return F.index=H,e?(H=F.alternate,H!==null?(H=H.index,H<R?(F.flags|=2,R):H):(F.flags|=2,R)):(F.flags|=1048576,R)}function g(F){return e&&F.alternate===null&&(F.flags|=2),F}function j(F,R,H,ye){return R===null||R.tag!==6?(R=Tc(H,F.mode,ye),R.return=F,R):(R=u(R,H),R.return=F,R)}function C(F,R,H,ye){var ze=H.type;return ze===re?ce(F,R,H.props.children,ye,H.key):R!==null&&(R.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===ke&&pd(ze)===R.type)?(ye=u(R,H.props),ye.ref=Zi(F,R,H),ye.return=F,ye):(ye=Ml(H.type,H.key,H.props,null,F.mode,ye),ye.ref=Zi(F,R,H),ye.return=F,ye)}function K(F,R,H,ye){return R===null||R.tag!==4||R.stateNode.containerInfo!==H.containerInfo||R.stateNode.implementation!==H.implementation?(R=Mc(H,F.mode,ye),R.return=F,R):(R=u(R,H.children||[]),R.return=F,R)}function ce(F,R,H,ye,ze){return R===null||R.tag!==7?(R=Ys(H,F.mode,ye,ze),R.return=F,R):(R=u(R,H),R.return=F,R)}function fe(F,R,H){if(typeof R=="string"&&R!==""||typeof R=="number")return R=Tc(""+R,F.mode,H),R.return=F,R;if(typeof R=="object"&&R!==null){switch(R.$$typeof){case P:return H=Ml(R.type,R.key,R.props,null,F.mode,H),H.ref=Zi(F,null,R),H.return=F,H;case V:return R=Mc(R,F.mode,H),R.return=F,R;case ke:var ye=R._init;return fe(F,ye(R._payload),H)}if(Lt(R)||we(R))return R=Ys(R,F.mode,H,null),R.return=F,R;ol(F,R)}return null}function ae(F,R,H,ye){var ze=R!==null?R.key:null;if(typeof H=="string"&&H!==""||typeof H=="number")return ze!==null?null:j(F,R,""+H,ye);if(typeof H=="object"&&H!==null){switch(H.$$typeof){case P:return H.key===ze?C(F,R,H,ye):null;case V:return H.key===ze?K(F,R,H,ye):null;case ke:return ze=H._init,ae(F,R,ze(H._payload),ye)}if(Lt(H)||we(H))return ze!==null?null:ce(F,R,H,ye,null);ol(F,H)}return null}function Ee(F,R,H,ye,ze){if(typeof ye=="string"&&ye!==""||typeof ye=="number")return F=F.get(H)||null,j(R,F,""+ye,ze);if(typeof ye=="object"&&ye!==null){switch(ye.$$typeof){case P:return F=F.get(ye.key===null?H:ye.key)||null,C(R,F,ye,ze);case V:return F=F.get(ye.key===null?H:ye.key)||null,K(R,F,ye,ze);case ke:var Ie=ye._init;return Ee(F,R,H,Ie(ye._payload),ze)}if(Lt(ye)||we(ye))return F=F.get(H)||null,ce(R,F,ye,ze,null);ol(R,ye)}return null}function Oe(F,R,H,ye){for(var ze=null,Ie=null,Fe=R,We=R=0,Gt=null;Fe!==null&&We<H.length;We++){Fe.index>We?(Gt=Fe,Fe=null):Gt=Fe.sibling;var it=ae(F,Fe,H[We],ye);if(it===null){Fe===null&&(Fe=Gt);break}e&&Fe&&it.alternate===null&&t(F,Fe),R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it,Fe=Gt}if(We===H.length)return i(F,Fe),vt&&Us(F,We),ze;if(Fe===null){for(;We<H.length;We++)Fe=fe(F,H[We],ye),Fe!==null&&(R=m(Fe,R,We),Ie===null?ze=Fe:Ie.sibling=Fe,Ie=Fe);return vt&&Us(F,We),ze}for(Fe=o(F,Fe);We<H.length;We++)Gt=Ee(Fe,F,We,H[We],ye),Gt!==null&&(e&&Gt.alternate!==null&&Fe.delete(Gt.key===null?We:Gt.key),R=m(Gt,R,We),Ie===null?ze=Gt:Ie.sibling=Gt,Ie=Gt);return e&&Fe.forEach(function(bs){return t(F,bs)}),vt&&Us(F,We),ze}function Pe(F,R,H,ye){var ze=we(H);if(typeof ze!="function")throw Error(r(150));if(H=ze.call(H),H==null)throw Error(r(151));for(var Ie=ze=null,Fe=R,We=R=0,Gt=null,it=H.next();Fe!==null&&!it.done;We++,it=H.next()){Fe.index>We?(Gt=Fe,Fe=null):Gt=Fe.sibling;var bs=ae(F,Fe,it.value,ye);if(bs===null){Fe===null&&(Fe=Gt);break}e&&Fe&&bs.alternate===null&&t(F,Fe),R=m(bs,R,We),Ie===null?ze=bs:Ie.sibling=bs,Ie=bs,Fe=Gt}if(it.done)return i(F,Fe),vt&&Us(F,We),ze;if(Fe===null){for(;!it.done;We++,it=H.next())it=fe(F,it.value,ye),it!==null&&(R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it);return vt&&Us(F,We),ze}for(Fe=o(F,Fe);!it.done;We++,it=H.next())it=Ee(Fe,F,We,it.value,ye),it!==null&&(e&&it.alternate!==null&&Fe.delete(it.key===null?We:it.key),R=m(it,R,We),Ie===null?ze=it:Ie.sibling=it,Ie=it);return e&&Fe.forEach(function(Zh){return t(F,Zh)}),vt&&Us(F,We),ze}function Tt(F,R,H,ye){if(typeof H=="object"&&H!==null&&H.type===re&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case P:e:{for(var ze=H.key,Ie=R;Ie!==null;){if(Ie.key===ze){if(ze=H.type,ze===re){if(Ie.tag===7){i(F,Ie.sibling),R=u(Ie,H.props.children),R.return=F,F=R;break e}}else if(Ie.elementType===ze||typeof ze=="object"&&ze!==null&&ze.$$typeof===ke&&pd(ze)===Ie.type){i(F,Ie.sibling),R=u(Ie,H.props),R.ref=Zi(F,Ie,H),R.return=F,F=R;break e}i(F,Ie);break}else t(F,Ie);Ie=Ie.sibling}H.type===re?(R=Ys(H.props.children,F.mode,ye,H.key),R.return=F,F=R):(ye=Ml(H.type,H.key,H.props,null,F.mode,ye),ye.ref=Zi(F,R,H),ye.return=F,F=ye)}return g(F);case V:e:{for(Ie=H.key;R!==null;){if(R.key===Ie)if(R.tag===4&&R.stateNode.containerInfo===H.containerInfo&&R.stateNode.implementation===H.implementation){i(F,R.sibling),R=u(R,H.children||[]),R.return=F,F=R;break e}else{i(F,R);break}else t(F,R);R=R.sibling}R=Mc(H,F.mode,ye),R.return=F,F=R}return g(F);case ke:return Ie=H._init,Tt(F,R,Ie(H._payload),ye)}if(Lt(H))return Oe(F,R,H,ye);if(we(H))return Pe(F,R,H,ye);ol(F,H)}return typeof H=="string"&&H!==""||typeof H=="number"?(H=""+H,R!==null&&R.tag===6?(i(F,R.sibling),R=u(R,H),R.return=F,F=R):(i(F,R),R=Tc(H,F.mode,ye),R.return=F,F=R),g(F)):i(F,R)}return Tt}var yi=hd(!0),gd=hd(!1),ll=ms(null),al=null,wi=null,Ia=null;function Fa(){Ia=wi=al=null}function Ua(e){var t=ll.current;yt(ll),e._currentValue=t}function Ba(e,t,i){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===i)break;e=e.return}}function vi(e,t){al=e,Ia=wi=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(On=!0),e.firstContext=null)}function lr(e){var t=e._currentValue;if(Ia!==e)if(e={context:e,memoizedValue:t,next:null},wi===null){if(al===null)throw Error(r(308));wi=e,al.dependencies={lanes:0,firstContext:e}}else wi=wi.next=e;return t}var Bs=null;function Wa(e){Bs===null?Bs=[e]:Bs.push(e)}function _d(e,t,i,o){var u=t.interleaved;return u===null?(i.next=i,Wa(t)):(i.next=u.next,u.next=i),t.interleaved=i,Gr(e,o)}function Gr(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var gs=!1;function Ha(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function yd(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Qr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function _s(e,t,i){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(nt&2)!==0){var u=o.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),o.pending=t,Gr(e,i)}return u=o.interleaved,u===null?(t.next=t,Wa(o)):(t.next=u.next,u.next=t),o.interleaved=t,Gr(e,i)}function cl(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Ir(e,i)}}function wd(e,t){var i=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,i===o)){var u=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var g={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};m===null?u=m=g:m=m.next=g,i=i.next}while(i!==null);m===null?u=m=t:m=m.next=t}else u=m=t;i={baseState:o.baseState,firstBaseUpdate:u,lastBaseUpdate:m,shared:o.shared,effects:o.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function ul(e,t,i,o){var u=e.updateQueue;gs=!1;var m=u.firstBaseUpdate,g=u.lastBaseUpdate,j=u.shared.pending;if(j!==null){u.shared.pending=null;var C=j,K=C.next;C.next=null,g===null?m=K:g.next=K,g=C;var ce=e.alternate;ce!==null&&(ce=ce.updateQueue,j=ce.lastBaseUpdate,j!==g&&(j===null?ce.firstBaseUpdate=K:j.next=K,ce.lastBaseUpdate=C))}if(m!==null){var fe=u.baseState;g=0,ce=K=C=null,j=m;do{var ae=j.lane,Ee=j.eventTime;if((o&ae)===ae){ce!==null&&(ce=ce.next={eventTime:Ee,lane:0,tag:j.tag,payload:j.payload,callback:j.callback,next:null});e:{var Oe=e,Pe=j;switch(ae=t,Ee=i,Pe.tag){case 1:if(Oe=Pe.payload,typeof Oe=="function"){fe=Oe.call(Ee,fe,ae);break e}fe=Oe;break e;case 3:Oe.flags=Oe.flags&-65537|128;case 0:if(Oe=Pe.payload,ae=typeof Oe=="function"?Oe.call(Ee,fe,ae):Oe,ae==null)break e;fe=he({},fe,ae);break e;case 2:gs=!0}}j.callback!==null&&j.lane!==0&&(e.flags|=64,ae=u.effects,ae===null?u.effects=[j]:ae.push(j))}else Ee={eventTime:Ee,lane:ae,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ce===null?(K=ce=Ee,C=fe):ce=ce.next=Ee,g|=ae;if(j=j.next,j===null){if(j=u.shared.pending,j===null)break;ae=j,j=ae.next,ae.next=null,u.lastBaseUpdate=ae,u.shared.pending=null}}while(!0);if(ce===null&&(C=fe),u.baseState=C,u.firstBaseUpdate=K,u.lastBaseUpdate=ce,t=u.shared.interleaved,t!==null){u=t;do g|=u.lane,u=u.next;while(u!==t)}else m===null&&(u.shared.lanes=0);Vs|=g,e.lanes=g,e.memoizedState=fe}}function vd(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var o=e[t],u=o.callback;if(u!==null){if(o.callback=null,o=i,typeof u!="function")throw Error(r(191,u));u.call(o)}}}var qi={},Ar=ms(qi),eo=ms(qi),to=ms(qi);function Ws(e){if(e===qi)throw Error(r(174));return e}function Va(e,t){switch(pt(to,t),pt(eo,e),pt(Ar,qi),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Mt(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Mt(t,e)}yt(Ar),pt(Ar,t)}function xi(){yt(Ar),yt(eo),yt(to)}function xd(e){Ws(to.current);var t=Ws(Ar.current),i=Mt(t,e.type);t!==i&&(pt(eo,e),pt(Ar,i))}function Ga(e){eo.current===e&&(yt(Ar),yt(eo))}var xt=ms(0);function dl(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Qa=[];function Ka(){for(var e=0;e<Qa.length;e++)Qa[e]._workInProgressVersionPrimary=null;Qa.length=0}var fl=O.ReactCurrentDispatcher,Ya=O.ReactCurrentBatchConfig,Hs=0,St=null,Dt=null,Ht=null,ml=!1,no=!1,ro=0,vh=0;function cn(){throw Error(r(321))}function Ja(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!pr(e[i],t[i]))return!1;return!0}function Xa(e,t,i,o,u,m){if(Hs=m,St=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,fl.current=e===null||e.memoizedState===null?bh:jh,e=i(o,u),no){m=0;do{if(no=!1,ro=0,25<=m)throw Error(r(301));m+=1,Ht=Dt=null,t.updateQueue=null,fl.current=Nh,e=i(o,u)}while(no)}if(fl.current=gl,t=Dt!==null&&Dt.next!==null,Hs=0,Ht=Dt=St=null,ml=!1,t)throw Error(r(300));return e}function Za(){var e=ro!==0;return ro=0,e}function $r(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ht===null?St.memoizedState=Ht=e:Ht=Ht.next=e,Ht}function ar(){if(Dt===null){var e=St.alternate;e=e!==null?e.memoizedState:null}else e=Dt.next;var t=Ht===null?St.memoizedState:Ht.next;if(t!==null)Ht=t,Dt=e;else{if(e===null)throw Error(r(310));Dt=e,e={memoizedState:Dt.memoizedState,baseState:Dt.baseState,baseQueue:Dt.baseQueue,queue:Dt.queue,next:null},Ht===null?St.memoizedState=Ht=e:Ht=Ht.next=e}return Ht}function so(e,t){return typeof t=="function"?t(e):t}function qa(e){var t=ar(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=Dt,u=o.baseQueue,m=i.pending;if(m!==null){if(u!==null){var g=u.next;u.next=m.next,m.next=g}o.baseQueue=u=m,i.pending=null}if(u!==null){m=u.next,o=o.baseState;var j=g=null,C=null,K=m;do{var ce=K.lane;if((Hs&ce)===ce)C!==null&&(C=C.next={lane:0,action:K.action,hasEagerState:K.hasEagerState,eagerState:K.eagerState,next:null}),o=K.hasEagerState?K.eagerState:e(o,K.action);else{var fe={lane:ce,action:K.action,hasEagerState:K.hasEagerState,eagerState:K.eagerState,next:null};C===null?(j=C=fe,g=o):C=C.next=fe,St.lanes|=ce,Vs|=ce}K=K.next}while(K!==null&&K!==m);C===null?g=o:C.next=j,pr(o,t.memoizedState)||(On=!0),t.memoizedState=o,t.baseState=g,t.baseQueue=C,i.lastRenderedState=o}if(e=i.interleaved,e!==null){u=e;do m=u.lane,St.lanes|=m,Vs|=m,u=u.next;while(u!==e)}else u===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function ec(e){var t=ar(),i=t.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=e;var o=i.dispatch,u=i.pending,m=t.memoizedState;if(u!==null){i.pending=null;var g=u=u.next;do m=e(m,g.action),g=g.next;while(g!==u);pr(m,t.memoizedState)||(On=!0),t.memoizedState=m,t.baseQueue===null&&(t.baseState=m),i.lastRenderedState=m}return[m,o]}function Sd(){}function kd(e,t){var i=St,o=ar(),u=t(),m=!pr(o.memoizedState,u);if(m&&(o.memoizedState=u,On=!0),o=o.queue,tc(Nd.bind(null,i,o,e),[e]),o.getSnapshot!==t||m||Ht!==null&&Ht.memoizedState.tag&1){if(i.flags|=2048,io(9,jd.bind(null,i,o,u,t),void 0,null),Vt===null)throw Error(r(349));(Hs&30)!==0||bd(i,t,u)}return u}function bd(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function jd(e,t,i,o){t.value=i,t.getSnapshot=o,Ed(t)&&Cd(e)}function Nd(e,t,i){return i(function(){Ed(t)&&Cd(e)})}function Ed(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!pr(e,i)}catch{return!0}}function Cd(e){var t=Gr(e,1);t!==null&&wr(t,e,1,-1)}function Td(e){var t=$r();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:so,lastRenderedState:e},t.queue=e,e=e.dispatch=kh.bind(null,St,e),[t.memoizedState,e]}function io(e,t,i,o){return e={tag:e,create:t,destroy:i,deps:o,next:null},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(o=i.next,i.next=e,e.next=o,t.lastEffect=e)),e}function Md(){return ar().memoizedState}function pl(e,t,i,o){var u=$r();St.flags|=e,u.memoizedState=io(1|t,i,void 0,o===void 0?null:o)}function hl(e,t,i,o){var u=ar();o=o===void 0?null:o;var m=void 0;if(Dt!==null){var g=Dt.memoizedState;if(m=g.destroy,o!==null&&Ja(o,g.deps)){u.memoizedState=io(t,i,m,o);return}}St.flags|=e,u.memoizedState=io(1|t,i,m,o)}function Ad(e,t){return pl(8390656,8,e,t)}function tc(e,t){return hl(2048,8,e,t)}function $d(e,t){return hl(4,2,e,t)}function Rd(e,t){return hl(4,4,e,t)}function Ld(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Od(e,t,i){return i=i!=null?i.concat([e]):null,hl(4,4,Ld.bind(null,t,e),i)}function nc(){}function Pd(e,t){var i=ar();t=t===void 0?null:t;var o=i.memoizedState;return o!==null&&t!==null&&Ja(t,o[1])?o[0]:(i.memoizedState=[e,t],e)}function zd(e,t){var i=ar();t=t===void 0?null:t;var o=i.memoizedState;return o!==null&&t!==null&&Ja(t,o[1])?o[0]:(e=e(),i.memoizedState=[e,t],e)}function Dd(e,t,i){return(Hs&21)===0?(e.baseState&&(e.baseState=!1,On=!0),e.memoizedState=i):(pr(i,t)||(i=ti(),St.lanes|=i,Vs|=i,e.baseState=!0),t)}function xh(e,t){var i=Xe;Xe=i!==0&&4>i?i:4,e(!0);var o=Ya.transition;Ya.transition={};try{e(!1),t()}finally{Xe=i,Ya.transition=o}}function Id(){return ar().memoizedState}function Sh(e,t,i){var o=xs(e);if(i={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null},Fd(e))Ud(t,i);else if(i=_d(e,t,i,o),i!==null){var u=bn();wr(i,e,o,u),Bd(i,t,o)}}function kh(e,t,i){var o=xs(e),u={lane:o,action:i,hasEagerState:!1,eagerState:null,next:null};if(Fd(e))Ud(t,u);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=t.lastRenderedReducer,m!==null))try{var g=t.lastRenderedState,j=m(g,i);if(u.hasEagerState=!0,u.eagerState=j,pr(j,g)){var C=t.interleaved;C===null?(u.next=u,Wa(t)):(u.next=C.next,C.next=u),t.interleaved=u;return}}catch{}finally{}i=_d(e,t,u,o),i!==null&&(u=bn(),wr(i,e,o,u),Bd(i,t,o))}}function Fd(e){var t=e.alternate;return e===St||t!==null&&t===St}function Ud(e,t){no=ml=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function Bd(e,t,i){if((i&4194240)!==0){var o=t.lanes;o&=e.pendingLanes,i|=o,t.lanes=i,Ir(e,i)}}var gl={readContext:lr,useCallback:cn,useContext:cn,useEffect:cn,useImperativeHandle:cn,useInsertionEffect:cn,useLayoutEffect:cn,useMemo:cn,useReducer:cn,useRef:cn,useState:cn,useDebugValue:cn,useDeferredValue:cn,useTransition:cn,useMutableSource:cn,useSyncExternalStore:cn,useId:cn,unstable_isNewReconciler:!1},bh={readContext:lr,useCallback:function(e,t){return $r().memoizedState=[e,t===void 0?null:t],e},useContext:lr,useEffect:Ad,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,pl(4194308,4,Ld.bind(null,t,e),i)},useLayoutEffect:function(e,t){return pl(4194308,4,e,t)},useInsertionEffect:function(e,t){return pl(4,2,e,t)},useMemo:function(e,t){var i=$r();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var o=$r();return t=i!==void 0?i(t):t,o.memoizedState=o.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},o.queue=e,e=e.dispatch=Sh.bind(null,St,e),[o.memoizedState,e]},useRef:function(e){var t=$r();return e={current:e},t.memoizedState=e},useState:Td,useDebugValue:nc,useDeferredValue:function(e){return $r().memoizedState=e},useTransition:function(){var e=Td(!1),t=e[0];return e=xh.bind(null,e[1]),$r().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var o=St,u=$r();if(vt){if(i===void 0)throw Error(r(407));i=i()}else{if(i=t(),Vt===null)throw Error(r(349));(Hs&30)!==0||bd(o,t,i)}u.memoizedState=i;var m={value:i,getSnapshot:t};return u.queue=m,Ad(Nd.bind(null,o,m,e),[e]),o.flags|=2048,io(9,jd.bind(null,o,m,i,t),void 0,null),i},useId:function(){var e=$r(),t=Vt.identifierPrefix;if(vt){var i=Vr,o=Hr;i=(o&~(1<<32-ft(o)-1)).toString(32)+i,t=":"+t+"R"+i,i=ro++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=vh++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},jh={readContext:lr,useCallback:Pd,useContext:lr,useEffect:tc,useImperativeHandle:Od,useInsertionEffect:$d,useLayoutEffect:Rd,useMemo:zd,useReducer:qa,useRef:Md,useState:function(){return qa(so)},useDebugValue:nc,useDeferredValue:function(e){var t=ar();return Dd(t,Dt.memoizedState,e)},useTransition:function(){var e=qa(so)[0],t=ar().memoizedState;return[e,t]},useMutableSource:Sd,useSyncExternalStore:kd,useId:Id,unstable_isNewReconciler:!1},Nh={readContext:lr,useCallback:Pd,useContext:lr,useEffect:tc,useImperativeHandle:Od,useInsertionEffect:$d,useLayoutEffect:Rd,useMemo:zd,useReducer:ec,useRef:Md,useState:function(){return ec(so)},useDebugValue:nc,useDeferredValue:function(e){var t=ar();return Dt===null?t.memoizedState=e:Dd(t,Dt.memoizedState,e)},useTransition:function(){var e=ec(so)[0],t=ar().memoizedState;return[e,t]},useMutableSource:Sd,useSyncExternalStore:kd,useId:Id,unstable_isNewReconciler:!1};function gr(e,t){if(e&&e.defaultProps){t=he({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function rc(e,t,i,o){t=e.memoizedState,i=i(o,t),i=i==null?t:he({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var _l={isMounted:function(e){return(e=e._reactInternals)?tr(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var o=bn(),u=xs(e),m=Qr(o,u);m.payload=t,i!=null&&(m.callback=i),t=_s(e,m,u),t!==null&&(wr(t,e,u,o),cl(t,e,u))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var o=bn(),u=xs(e),m=Qr(o,u);m.tag=1,m.payload=t,i!=null&&(m.callback=i),t=_s(e,m,u),t!==null&&(wr(t,e,u,o),cl(t,e,u))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=bn(),o=xs(e),u=Qr(i,o);u.tag=2,t!=null&&(u.callback=t),t=_s(e,u,o),t!==null&&(wr(t,e,o,i),cl(t,e,o))}};function Wd(e,t,i,o,u,m,g){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,m,g):t.prototype&&t.prototype.isPureReactComponent?!Vi(i,o)||!Vi(u,m):!0}function Hd(e,t,i){var o=!1,u=ps,m=t.contextType;return typeof m=="object"&&m!==null?m=lr(m):(u=Ln(t)?Is:an.current,o=t.contextTypes,m=(o=o!=null)?pi(e,u):ps),t=new t(i,m),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=_l,e.stateNode=t,t._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=u,e.__reactInternalMemoizedMaskedChildContext=m),t}function Vd(e,t,i,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,o),t.state!==e&&_l.enqueueReplaceState(t,t.state,null)}function sc(e,t,i,o){var u=e.stateNode;u.props=i,u.state=e.memoizedState,u.refs={},Ha(e);var m=t.contextType;typeof m=="object"&&m!==null?u.context=lr(m):(m=Ln(t)?Is:an.current,u.context=pi(e,m)),u.state=e.memoizedState,m=t.getDerivedStateFromProps,typeof m=="function"&&(rc(e,t,m,i),u.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(t=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),t!==u.state&&_l.enqueueReplaceState(u,u.state,null),ul(e,i,u,o),u.state=e.memoizedState),typeof u.componentDidMount=="function"&&(e.flags|=4194308)}function Si(e,t){try{var i="",o=t;do i+=ve(o),o=o.return;while(o);var u=i}catch(m){u=`
|
|
39
39
|
Error generating stack: `+m.message+`
|
|
40
40
|
`+m.stack}return{value:e,source:t,stack:u,digest:null}}function ic(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function oc(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var Eh=typeof WeakMap=="function"?WeakMap:Map;function Gd(e,t,i){i=Qr(-1,i),i.tag=3,i.payload={element:null};var o=t.value;return i.callback=function(){bl||(bl=!0,xc=o),oc(e,t)},i}function Qd(e,t,i){i=Qr(-1,i),i.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var u=t.value;i.payload=function(){return o(u)},i.callback=function(){oc(e,t)}}var m=e.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(i.callback=function(){oc(e,t),typeof o!="function"&&(ws===null?ws=new Set([this]):ws.add(this));var g=t.stack;this.componentDidCatch(t.value,{componentStack:g!==null?g:""})}),i}function Kd(e,t,i){var o=e.pingCache;if(o===null){o=e.pingCache=new Eh;var u=new Set;o.set(t,u)}else u=o.get(t),u===void 0&&(u=new Set,o.set(t,u));u.has(i)||(u.add(i),e=Uh.bind(null,e,t,i),t.then(e,e))}function Yd(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Jd(e,t,i,o,u){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=Qr(-1,1),t.tag=2,_s(i,t,1))),i.lanes|=1),e):(e.flags|=65536,e.lanes=u,e)}var Ch=O.ReactCurrentOwner,On=!1;function kn(e,t,i,o){t.child=e===null?gd(t,null,i,o):yi(t,e.child,i,o)}function Xd(e,t,i,o,u){i=i.render;var m=t.ref;return vi(t,u),o=Xa(e,t,i,o,m,u),i=Za(),e!==null&&!On?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~u,Kr(e,t,u)):(vt&&i&&La(t),t.flags|=1,kn(e,t,o,u),t.child)}function Zd(e,t,i,o,u){if(e===null){var m=i.type;return typeof m=="function"&&!Cc(m)&&m.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=m,qd(e,t,m,o,u)):(e=Ml(i.type,null,o,t,t.mode,u),e.ref=t.ref,e.return=t,t.child=e)}if(m=e.child,(e.lanes&u)===0){var g=m.memoizedProps;if(i=i.compare,i=i!==null?i:Vi,i(g,o)&&e.ref===t.ref)return Kr(e,t,u)}return t.flags|=1,e=ks(m,o),e.ref=t.ref,e.return=t,t.child=e}function qd(e,t,i,o,u){if(e!==null){var m=e.memoizedProps;if(Vi(m,o)&&e.ref===t.ref)if(On=!1,t.pendingProps=o=m,(e.lanes&u)!==0)(e.flags&131072)!==0&&(On=!0);else return t.lanes=e.lanes,Kr(e,t,u)}return lc(e,t,i,o,u)}function ef(e,t,i){var o=t.pendingProps,u=o.children,m=e!==null?e.memoizedState:null;if(o.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},pt(bi,Gn),Gn|=i;else{if((i&1073741824)===0)return e=m!==null?m.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,pt(bi,Gn),Gn|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=m!==null?m.baseLanes:i,pt(bi,Gn),Gn|=o}else m!==null?(o=m.baseLanes|i,t.memoizedState=null):o=i,pt(bi,Gn),Gn|=o;return kn(e,t,u,i),t.child}function tf(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function lc(e,t,i,o,u){var m=Ln(i)?Is:an.current;return m=pi(t,m),vi(t,u),i=Xa(e,t,i,o,m,u),o=Za(),e!==null&&!On?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~u,Kr(e,t,u)):(vt&&o&&La(t),t.flags|=1,kn(e,t,i,u),t.child)}function nf(e,t,i,o,u){if(Ln(i)){var m=!0;tl(t)}else m=!1;if(vi(t,u),t.stateNode===null)wl(e,t),Hd(t,i,o),sc(t,i,o,u),o=!0;else if(e===null){var g=t.stateNode,j=t.memoizedProps;g.props=j;var C=g.context,K=i.contextType;typeof K=="object"&&K!==null?K=lr(K):(K=Ln(i)?Is:an.current,K=pi(t,K));var ce=i.getDerivedStateFromProps,fe=typeof ce=="function"||typeof g.getSnapshotBeforeUpdate=="function";fe||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(j!==o||C!==K)&&Vd(t,g,o,K),gs=!1;var ae=t.memoizedState;g.state=ae,ul(t,o,g,u),C=t.memoizedState,j!==o||ae!==C||Rn.current||gs?(typeof ce=="function"&&(rc(t,i,ce,o),C=t.memoizedState),(j=gs||Wd(t,i,j,o,ae,C,K))?(fe||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount()),typeof g.componentDidMount=="function"&&(t.flags|=4194308)):(typeof g.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=C),g.props=o,g.state=C,g.context=K,o=j):(typeof g.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{g=t.stateNode,yd(e,t),j=t.memoizedProps,K=t.type===t.elementType?j:gr(t.type,j),g.props=K,fe=t.pendingProps,ae=g.context,C=i.contextType,typeof C=="object"&&C!==null?C=lr(C):(C=Ln(i)?Is:an.current,C=pi(t,C));var Ee=i.getDerivedStateFromProps;(ce=typeof Ee=="function"||typeof g.getSnapshotBeforeUpdate=="function")||typeof g.UNSAFE_componentWillReceiveProps!="function"&&typeof g.componentWillReceiveProps!="function"||(j!==fe||ae!==C)&&Vd(t,g,o,C),gs=!1,ae=t.memoizedState,g.state=ae,ul(t,o,g,u);var Oe=t.memoizedState;j!==fe||ae!==Oe||Rn.current||gs?(typeof Ee=="function"&&(rc(t,i,Ee,o),Oe=t.memoizedState),(K=gs||Wd(t,i,K,o,ae,Oe,C)||!1)?(ce||typeof g.UNSAFE_componentWillUpdate!="function"&&typeof g.componentWillUpdate!="function"||(typeof g.componentWillUpdate=="function"&&g.componentWillUpdate(o,Oe,C),typeof g.UNSAFE_componentWillUpdate=="function"&&g.UNSAFE_componentWillUpdate(o,Oe,C)),typeof g.componentDidUpdate=="function"&&(t.flags|=4),typeof g.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof g.componentDidUpdate!="function"||j===e.memoizedProps&&ae===e.memoizedState||(t.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||j===e.memoizedProps&&ae===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=Oe),g.props=o,g.state=Oe,g.context=C,o=K):(typeof g.componentDidUpdate!="function"||j===e.memoizedProps&&ae===e.memoizedState||(t.flags|=4),typeof g.getSnapshotBeforeUpdate!="function"||j===e.memoizedProps&&ae===e.memoizedState||(t.flags|=1024),o=!1)}return ac(e,t,i,o,m,u)}function ac(e,t,i,o,u,m){tf(e,t);var g=(t.flags&128)!==0;if(!o&&!g)return u&&ld(t,i,!1),Kr(e,t,m);o=t.stateNode,Ch.current=t;var j=g&&typeof i.getDerivedStateFromError!="function"?null:o.render();return t.flags|=1,e!==null&&g?(t.child=yi(t,e.child,null,m),t.child=yi(t,null,j,m)):kn(e,t,j,m),t.memoizedState=o.state,u&&ld(t,i,!0),t.child}function rf(e){var t=e.stateNode;t.pendingContext?id(e,t.pendingContext,t.pendingContext!==t.context):t.context&&id(e,t.context,!1),Va(e,t.containerInfo)}function sf(e,t,i,o,u){return _i(),Da(u),t.flags|=256,kn(e,t,i,o),t.child}var cc={dehydrated:null,treeContext:null,retryLane:0};function uc(e){return{baseLanes:e,cachePool:null,transitions:null}}function of(e,t,i){var o=t.pendingProps,u=xt.current,m=!1,g=(t.flags&128)!==0,j;if((j=g)||(j=e!==null&&e.memoizedState===null?!1:(u&2)!==0),j?(m=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(u|=1),pt(xt,u&1),e===null)return za(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(g=o.children,e=o.fallback,m?(o=t.mode,m=t.child,g={mode:"hidden",children:g},(o&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=g):m=Al(g,o,0,null),e=Ys(e,o,i,null),m.return=t,e.return=t,m.sibling=e,t.child=m,t.child.memoizedState=uc(i),t.memoizedState=cc,e):dc(t,g));if(u=e.memoizedState,u!==null&&(j=u.dehydrated,j!==null))return Th(e,t,g,o,j,u,i);if(m){m=o.fallback,g=t.mode,u=e.child,j=u.sibling;var C={mode:"hidden",children:o.children};return(g&1)===0&&t.child!==u?(o=t.child,o.childLanes=0,o.pendingProps=C,t.deletions=null):(o=ks(u,C),o.subtreeFlags=u.subtreeFlags&14680064),j!==null?m=ks(j,m):(m=Ys(m,g,i,null),m.flags|=2),m.return=t,o.return=t,o.sibling=m,t.child=o,o=m,m=t.child,g=e.child.memoizedState,g=g===null?uc(i):{baseLanes:g.baseLanes|i,cachePool:null,transitions:g.transitions},m.memoizedState=g,m.childLanes=e.childLanes&~i,t.memoizedState=cc,o}return m=e.child,e=m.sibling,o=ks(m,{mode:"visible",children:o.children}),(t.mode&1)===0&&(o.lanes=i),o.return=t,o.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=o,t.memoizedState=null,o}function dc(e,t){return t=Al({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function yl(e,t,i,o){return o!==null&&Da(o),yi(t,e.child,null,i),e=dc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Th(e,t,i,o,u,m,g){if(i)return t.flags&256?(t.flags&=-257,o=ic(Error(r(422))),yl(e,t,g,o)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(m=o.fallback,u=t.mode,o=Al({mode:"visible",children:o.children},u,0,null),m=Ys(m,u,g,null),m.flags|=2,o.return=t,m.return=t,o.sibling=m,t.child=o,(t.mode&1)!==0&&yi(t,e.child,null,g),t.child.memoizedState=uc(g),t.memoizedState=cc,m);if((t.mode&1)===0)return yl(e,t,g,null);if(u.data==="$!"){if(o=u.nextSibling&&u.nextSibling.dataset,o)var j=o.dgst;return o=j,m=Error(r(419)),o=ic(m,o,void 0),yl(e,t,g,o)}if(j=(g&e.childLanes)!==0,On||j){if(o=Vt,o!==null){switch(g&-g){case 4:u=2;break;case 16:u=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:u=32;break;case 536870912:u=268435456;break;default:u=0}u=(u&(o.suspendedLanes|g))!==0?0:u,u!==0&&u!==m.retryLane&&(m.retryLane=u,Gr(e,u),wr(o,e,u,-1))}return Ec(),o=ic(Error(r(421))),yl(e,t,g,o)}return u.data==="$?"?(t.flags|=128,t.child=e.child,t=Bh.bind(null,e),u._reactRetry=t,null):(e=m.treeContext,Vn=fs(u.nextSibling),Hn=t,vt=!0,hr=null,e!==null&&(ir[or++]=Hr,ir[or++]=Vr,ir[or++]=Fs,Hr=e.id,Vr=e.overflow,Fs=t),t=dc(t,o.children),t.flags|=4096,t)}function lf(e,t,i){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),Ba(e.return,t,i)}function fc(e,t,i,o,u){var m=e.memoizedState;m===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:i,tailMode:u}:(m.isBackwards=t,m.rendering=null,m.renderingStartTime=0,m.last=o,m.tail=i,m.tailMode=u)}function af(e,t,i){var o=t.pendingProps,u=o.revealOrder,m=o.tail;if(kn(e,t,o.children,i),o=xt.current,(o&2)!==0)o=o&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&lf(e,i,t);else if(e.tag===19)lf(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(pt(xt,o),(t.mode&1)===0)t.memoizedState=null;else switch(u){case"forwards":for(i=t.child,u=null;i!==null;)e=i.alternate,e!==null&&dl(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=t.child,t.child=null):(u=i.sibling,i.sibling=null),fc(t,!1,u,i,m);break;case"backwards":for(i=null,u=t.child,t.child=null;u!==null;){if(e=u.alternate,e!==null&&dl(e)===null){t.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}fc(t,!0,i,null,m);break;case"together":fc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function wl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Kr(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),Vs|=t.lanes,(i&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,i=ks(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=ks(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function Mh(e,t,i){switch(t.tag){case 3:rf(t),_i();break;case 5:xd(t);break;case 1:Ln(t.type)&&tl(t);break;case 4:Va(t,t.stateNode.containerInfo);break;case 10:var o=t.type._context,u=t.memoizedProps.value;pt(ll,o._currentValue),o._currentValue=u;break;case 13:if(o=t.memoizedState,o!==null)return o.dehydrated!==null?(pt(xt,xt.current&1),t.flags|=128,null):(i&t.child.childLanes)!==0?of(e,t,i):(pt(xt,xt.current&1),e=Kr(e,t,i),e!==null?e.sibling:null);pt(xt,xt.current&1);break;case 19:if(o=(i&t.childLanes)!==0,(e.flags&128)!==0){if(o)return af(e,t,i);t.flags|=128}if(u=t.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),pt(xt,xt.current),o)break;return null;case 22:case 23:return t.lanes=0,ef(e,t,i)}return Kr(e,t,i)}var cf,mc,uf,df;cf=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},mc=function(){},uf=function(e,t,i,o){var u=e.memoizedProps;if(u!==o){e=t.stateNode,Ws(Ar.current);var m=null;switch(i){case"input":u=kt(e,u),o=kt(e,o),m=[];break;case"select":u=he({},u,{value:void 0}),o=he({},o,{value:void 0}),m=[];break;case"textarea":u=mn(e,u),o=mn(e,o),m=[];break;default:typeof u.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=Zo)}gn(i,o);var g;i=null;for(K in u)if(!o.hasOwnProperty(K)&&u.hasOwnProperty(K)&&u[K]!=null)if(K==="style"){var j=u[K];for(g in j)j.hasOwnProperty(g)&&(i||(i={}),i[g]="")}else K!=="dangerouslySetInnerHTML"&&K!=="children"&&K!=="suppressContentEditableWarning"&&K!=="suppressHydrationWarning"&&K!=="autoFocus"&&(a.hasOwnProperty(K)?m||(m=[]):(m=m||[]).push(K,null));for(K in o){var C=o[K];if(j=u!=null?u[K]:void 0,o.hasOwnProperty(K)&&C!==j&&(C!=null||j!=null))if(K==="style")if(j){for(g in j)!j.hasOwnProperty(g)||C&&C.hasOwnProperty(g)||(i||(i={}),i[g]="");for(g in C)C.hasOwnProperty(g)&&j[g]!==C[g]&&(i||(i={}),i[g]=C[g])}else i||(m||(m=[]),m.push(K,i)),i=C;else K==="dangerouslySetInnerHTML"?(C=C?C.__html:void 0,j=j?j.__html:void 0,C!=null&&j!==C&&(m=m||[]).push(K,C)):K==="children"?typeof C!="string"&&typeof C!="number"||(m=m||[]).push(K,""+C):K!=="suppressContentEditableWarning"&&K!=="suppressHydrationWarning"&&(a.hasOwnProperty(K)?(C!=null&&K==="onScroll"&&_t("scroll",e),m||j===C||(m=[])):(m=m||[]).push(K,C))}i&&(m=m||[]).push("style",i);var K=m;(t.updateQueue=K)&&(t.flags|=4)}},df=function(e,t,i,o){i!==o&&(t.flags|=4)};function oo(e,t){if(!vt)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var o=null;i!==null;)i.alternate!==null&&(o=i),i=i.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function un(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,o=0;if(t)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags&14680064,o|=u.flags&14680064,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,o|=u.subtreeFlags,o|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=o,e.childLanes=i,t}function Ah(e,t,i){var o=t.pendingProps;switch(Oa(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return un(t),null;case 1:return Ln(t.type)&&el(),un(t),null;case 3:return o=t.stateNode,xi(),yt(Rn),yt(an),Ka(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(il(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,hr!==null&&(bc(hr),hr=null))),mc(e,t),un(t),null;case 5:Ga(t);var u=Ws(to.current);if(i=t.type,e!==null&&t.stateNode!=null)uf(e,t,i,o,u),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!o){if(t.stateNode===null)throw Error(r(166));return un(t),null}if(e=Ws(Ar.current),il(t)){o=t.stateNode,i=t.type;var m=t.memoizedProps;switch(o[Mr]=t,o[Ji]=m,e=(t.mode&1)!==0,i){case"dialog":_t("cancel",o),_t("close",o);break;case"iframe":case"object":case"embed":_t("load",o);break;case"video":case"audio":for(u=0;u<Qi.length;u++)_t(Qi[u],o);break;case"source":_t("error",o);break;case"img":case"image":case"link":_t("error",o),_t("load",o);break;case"details":_t("toggle",o);break;case"input":Qt(o,m),_t("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!m.multiple},_t("invalid",o);break;case"textarea":Yt(o,m),_t("invalid",o)}gn(i,m),u=null;for(var g in m)if(m.hasOwnProperty(g)){var j=m[g];g==="children"?typeof j=="string"?o.textContent!==j&&(m.suppressHydrationWarning!==!0&&Xo(o.textContent,j,e),u=["children",j]):typeof j=="number"&&o.textContent!==""+j&&(m.suppressHydrationWarning!==!0&&Xo(o.textContent,j,e),u=["children",""+j]):a.hasOwnProperty(g)&&j!=null&&g==="onScroll"&&_t("scroll",o)}switch(i){case"input":Ge(o),Ut(o,m,!0);break;case"textarea":Ge(o),hn(o);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(o.onclick=Zo)}o=u,t.updateQueue=o,o!==null&&(t.flags|=4)}else{g=u.nodeType===9?u:u.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Jt(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=g.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=g.createElement(i,{is:o.is}):(e=g.createElement(i),i==="select"&&(g=e,o.multiple?g.multiple=!0:o.size&&(g.size=o.size))):e=g.createElementNS(e,i),e[Mr]=t,e[Ji]=o,cf(e,t,!1,!1),t.stateNode=e;e:{switch(g=Ot(i,o),i){case"dialog":_t("cancel",e),_t("close",e),u=o;break;case"iframe":case"object":case"embed":_t("load",e),u=o;break;case"video":case"audio":for(u=0;u<Qi.length;u++)_t(Qi[u],e);u=o;break;case"source":_t("error",e),u=o;break;case"img":case"image":case"link":_t("error",e),_t("load",e),u=o;break;case"details":_t("toggle",e),u=o;break;case"input":Qt(e,o),u=kt(e,o),_t("invalid",e);break;case"option":u=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},u=he({},o,{value:void 0}),_t("invalid",e);break;case"textarea":Yt(e,o),u=mn(e,o),_t("invalid",e);break;default:u=o}gn(i,u),j=u;for(m in j)if(j.hasOwnProperty(m)){var C=j[m];m==="style"?gt(e,C):m==="dangerouslySetInnerHTML"?(C=C?C.__html:void 0,C!=null&&Jn(e,C)):m==="children"?typeof C=="string"?(i!=="textarea"||C!=="")&&rn(e,C):typeof C=="number"&&rn(e,""+C):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(a.hasOwnProperty(m)?C!=null&&m==="onScroll"&&_t("scroll",e):C!=null&&$(e,m,C,g))}switch(i){case"input":Ge(e),Ut(e,o,!1);break;case"textarea":Ge(e),hn(e);break;case"option":o.value!=null&&e.setAttribute("value",""+_e(o.value));break;case"select":e.multiple=!!o.multiple,m=o.value,m!=null?Nt(e,!!o.multiple,m,!1):o.defaultValue!=null&&Nt(e,!!o.multiple,o.defaultValue,!0);break;default:typeof u.onClick=="function"&&(e.onclick=Zo)}switch(i){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return un(t),null;case 6:if(e&&t.stateNode!=null)df(e,t,e.memoizedProps,o);else{if(typeof o!="string"&&t.stateNode===null)throw Error(r(166));if(i=Ws(to.current),Ws(Ar.current),il(t)){if(o=t.stateNode,i=t.memoizedProps,o[Mr]=t,(m=o.nodeValue!==i)&&(e=Hn,e!==null))switch(e.tag){case 3:Xo(o.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Xo(o.nodeValue,i,(e.mode&1)!==0)}m&&(t.flags|=4)}else o=(i.nodeType===9?i:i.ownerDocument).createTextNode(o),o[Mr]=t,t.stateNode=o}return un(t),null;case 13:if(yt(xt),o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(vt&&Vn!==null&&(t.mode&1)!==0&&(t.flags&128)===0)md(),_i(),t.flags|=98560,m=!1;else if(m=il(t),o!==null&&o.dehydrated!==null){if(e===null){if(!m)throw Error(r(318));if(m=t.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(r(317));m[Mr]=t}else _i(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;un(t),m=!1}else hr!==null&&(bc(hr),hr=null),m=!0;if(!m)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=i,t):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(xt.current&1)!==0?It===0&&(It=3):Ec())),t.updateQueue!==null&&(t.flags|=4),un(t),null);case 4:return xi(),mc(e,t),e===null&&Ki(t.stateNode.containerInfo),un(t),null;case 10:return Ua(t.type._context),un(t),null;case 17:return Ln(t.type)&&el(),un(t),null;case 19:if(yt(xt),m=t.memoizedState,m===null)return un(t),null;if(o=(t.flags&128)!==0,g=m.rendering,g===null)if(o)oo(m,!1);else{if(It!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(g=dl(e),g!==null){for(t.flags|=128,oo(m,!1),o=g.updateQueue,o!==null&&(t.updateQueue=o,t.flags|=4),t.subtreeFlags=0,o=i,i=t.child;i!==null;)m=i,e=o,m.flags&=14680066,g=m.alternate,g===null?(m.childLanes=0,m.lanes=e,m.child=null,m.subtreeFlags=0,m.memoizedProps=null,m.memoizedState=null,m.updateQueue=null,m.dependencies=null,m.stateNode=null):(m.childLanes=g.childLanes,m.lanes=g.lanes,m.child=g.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=g.memoizedProps,m.memoizedState=g.memoizedState,m.updateQueue=g.updateQueue,m.type=g.type,e=g.dependencies,m.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return pt(xt,xt.current&1|2),t.child}e=e.sibling}m.tail!==null&&Ue()>ji&&(t.flags|=128,o=!0,oo(m,!1),t.lanes=4194304)}else{if(!o)if(e=dl(g),e!==null){if(t.flags|=128,o=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),oo(m,!0),m.tail===null&&m.tailMode==="hidden"&&!g.alternate&&!vt)return un(t),null}else 2*Ue()-m.renderingStartTime>ji&&i!==1073741824&&(t.flags|=128,o=!0,oo(m,!1),t.lanes=4194304);m.isBackwards?(g.sibling=t.child,t.child=g):(i=m.last,i!==null?i.sibling=g:t.child=g,m.last=g)}return m.tail!==null?(t=m.tail,m.rendering=t,m.tail=t.sibling,m.renderingStartTime=Ue(),t.sibling=null,i=xt.current,pt(xt,o?i&1|2:i&1),t):(un(t),null);case 22:case 23:return Nc(),o=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(t.flags|=8192),o&&(t.mode&1)!==0?(Gn&1073741824)!==0&&(un(t),t.subtreeFlags&6&&(t.flags|=8192)):un(t),null;case 24:return null;case 25:return null}throw Error(r(156,t.tag))}function $h(e,t){switch(Oa(t),t.tag){case 1:return Ln(t.type)&&el(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xi(),yt(Rn),yt(an),Ka(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return Ga(t),null;case 13:if(yt(xt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));_i()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return yt(xt),null;case 4:return xi(),null;case 10:return Ua(t.type._context),null;case 22:case 23:return Nc(),null;case 24:return null;default:return null}}var vl=!1,dn=!1,Rh=typeof WeakSet=="function"?WeakSet:Set,Ae=null;function ki(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(o){bt(e,t,o)}else i.current=null}function pc(e,t,i){try{i()}catch(o){bt(e,t,o)}}var ff=!1;function Lh(e,t){if(Na=Ps,e=Wu(),ya(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var o=i.getSelection&&i.getSelection();if(o&&o.rangeCount!==0){i=o.anchorNode;var u=o.anchorOffset,m=o.focusNode;o=o.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var g=0,j=-1,C=-1,K=0,ce=0,fe=e,ae=null;t:for(;;){for(var Ee;fe!==i||u!==0&&fe.nodeType!==3||(j=g+u),fe!==m||o!==0&&fe.nodeType!==3||(C=g+o),fe.nodeType===3&&(g+=fe.nodeValue.length),(Ee=fe.firstChild)!==null;)ae=fe,fe=Ee;for(;;){if(fe===e)break t;if(ae===i&&++K===u&&(j=g),ae===m&&++ce===o&&(C=g),(Ee=fe.nextSibling)!==null)break;fe=ae,ae=fe.parentNode}fe=Ee}i=j===-1||C===-1?null:{start:j,end:C}}else i=null}i=i||{start:0,end:0}}else i=null;for(Ea={focusedElem:e,selectionRange:i},Ps=!1,Ae=t;Ae!==null;)if(t=Ae,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ae=e;else for(;Ae!==null;){t=Ae;try{var Oe=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(Oe!==null){var Pe=Oe.memoizedProps,Tt=Oe.memoizedState,F=t.stateNode,R=F.getSnapshotBeforeUpdate(t.elementType===t.type?Pe:gr(t.type,Pe),Tt);F.__reactInternalSnapshotBeforeUpdate=R}break;case 3:var H=t.stateNode.containerInfo;H.nodeType===1?H.textContent="":H.nodeType===9&&H.documentElement&&H.removeChild(H.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ye){bt(t,t.return,ye)}if(e=t.sibling,e!==null){e.return=t.return,Ae=e;break}Ae=t.return}return Oe=ff,ff=!1,Oe}function lo(e,t,i){var o=t.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var u=o=o.next;do{if((u.tag&e)===e){var m=u.destroy;u.destroy=void 0,m!==void 0&&pc(t,i,m)}u=u.next}while(u!==o)}}function xl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var o=i.create;i.destroy=o()}i=i.next}while(i!==t)}}function hc(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function mf(e){var t=e.alternate;t!==null&&(e.alternate=null,mf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Mr],delete t[Ji],delete t[Aa],delete t[gh],delete t[_h])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function pf(e){return e.tag===5||e.tag===3||e.tag===4}function hf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||pf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function gc(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Zo));else if(o!==4&&(e=e.child,e!==null))for(gc(e,t,i),e=e.sibling;e!==null;)gc(e,t,i),e=e.sibling}function _c(e,t,i){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(_c(e,t,i),e=e.sibling;e!==null;)_c(e,t,i),e=e.sibling}var tn=null,_r=!1;function ys(e,t,i){for(i=i.child;i!==null;)gf(e,t,i),i=i.sibling}function gf(e,t,i){if(Et&&typeof Et.onCommitFiberUnmount=="function")try{Et.onCommitFiberUnmount(Wt,i)}catch{}switch(i.tag){case 5:dn||ki(i,t);case 6:var o=tn,u=_r;tn=null,ys(e,t,i),tn=o,_r=u,tn!==null&&(_r?(e=tn,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):tn.removeChild(i.stateNode));break;case 18:tn!==null&&(_r?(e=tn,i=i.stateNode,e.nodeType===8?Ma(e.parentNode,i):e.nodeType===1&&Ma(e,i),Er(e)):Ma(tn,i.stateNode));break;case 4:o=tn,u=_r,tn=i.stateNode.containerInfo,_r=!0,ys(e,t,i),tn=o,_r=u;break;case 0:case 11:case 14:case 15:if(!dn&&(o=i.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){u=o=o.next;do{var m=u,g=m.destroy;m=m.tag,g!==void 0&&((m&2)!==0||(m&4)!==0)&&pc(i,t,g),u=u.next}while(u!==o)}ys(e,t,i);break;case 1:if(!dn&&(ki(i,t),o=i.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=i.memoizedProps,o.state=i.memoizedState,o.componentWillUnmount()}catch(j){bt(i,t,j)}ys(e,t,i);break;case 21:ys(e,t,i);break;case 22:i.mode&1?(dn=(o=dn)||i.memoizedState!==null,ys(e,t,i),dn=o):ys(e,t,i);break;default:ys(e,t,i)}}function _f(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new Rh),t.forEach(function(o){var u=Wh.bind(null,e,o);i.has(o)||(i.add(o),o.then(u,u))})}}function yr(e,t){var i=t.deletions;if(i!==null)for(var o=0;o<i.length;o++){var u=i[o];try{var m=e,g=t,j=g;e:for(;j!==null;){switch(j.tag){case 5:tn=j.stateNode,_r=!1;break e;case 3:tn=j.stateNode.containerInfo,_r=!0;break e;case 4:tn=j.stateNode.containerInfo,_r=!0;break e}j=j.return}if(tn===null)throw Error(r(160));gf(m,g,u),tn=null,_r=!1;var C=u.alternate;C!==null&&(C.return=null),u.return=null}catch(K){bt(u,t,K)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)yf(t,e),t=t.sibling}function yf(e,t){var i=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(yr(t,e),Rr(e),o&4){try{lo(3,e,e.return),xl(3,e)}catch(Pe){bt(e,e.return,Pe)}try{lo(5,e,e.return)}catch(Pe){bt(e,e.return,Pe)}}break;case 1:yr(t,e),Rr(e),o&512&&i!==null&&ki(i,i.return);break;case 5:if(yr(t,e),Rr(e),o&512&&i!==null&&ki(i,i.return),e.flags&32){var u=e.stateNode;try{rn(u,"")}catch(Pe){bt(e,e.return,Pe)}}if(o&4&&(u=e.stateNode,u!=null)){var m=e.memoizedProps,g=i!==null?i.memoizedProps:m,j=e.type,C=e.updateQueue;if(e.updateQueue=null,C!==null)try{j==="input"&&m.type==="radio"&&m.name!=null&&Ft(u,m),Ot(j,g);var K=Ot(j,m);for(g=0;g<C.length;g+=2){var ce=C[g],fe=C[g+1];ce==="style"?gt(u,fe):ce==="dangerouslySetInnerHTML"?Jn(u,fe):ce==="children"?rn(u,fe):$(u,ce,fe,K)}switch(j){case"input":Kt(u,m);break;case"textarea":pn(u,m);break;case"select":var ae=u._wrapperState.wasMultiple;u._wrapperState.wasMultiple=!!m.multiple;var Ee=m.value;Ee!=null?Nt(u,!!m.multiple,Ee,!1):ae!==!!m.multiple&&(m.defaultValue!=null?Nt(u,!!m.multiple,m.defaultValue,!0):Nt(u,!!m.multiple,m.multiple?[]:"",!1))}u[Ji]=m}catch(Pe){bt(e,e.return,Pe)}}break;case 6:if(yr(t,e),Rr(e),o&4){if(e.stateNode===null)throw Error(r(162));u=e.stateNode,m=e.memoizedProps;try{u.nodeValue=m}catch(Pe){bt(e,e.return,Pe)}}break;case 3:if(yr(t,e),Rr(e),o&4&&i!==null&&i.memoizedState.isDehydrated)try{Er(t.containerInfo)}catch(Pe){bt(e,e.return,Pe)}break;case 4:yr(t,e),Rr(e);break;case 13:yr(t,e),Rr(e),u=e.child,u.flags&8192&&(m=u.memoizedState!==null,u.stateNode.isHidden=m,!m||u.alternate!==null&&u.alternate.memoizedState!==null||(vc=Ue())),o&4&&_f(e);break;case 22:if(ce=i!==null&&i.memoizedState!==null,e.mode&1?(dn=(K=dn)||ce,yr(t,e),dn=K):yr(t,e),Rr(e),o&8192){if(K=e.memoizedState!==null,(e.stateNode.isHidden=K)&&!ce&&(e.mode&1)!==0)for(Ae=e,ce=e.child;ce!==null;){for(fe=Ae=ce;Ae!==null;){switch(ae=Ae,Ee=ae.child,ae.tag){case 0:case 11:case 14:case 15:lo(4,ae,ae.return);break;case 1:ki(ae,ae.return);var Oe=ae.stateNode;if(typeof Oe.componentWillUnmount=="function"){o=ae,i=ae.return;try{t=o,Oe.props=t.memoizedProps,Oe.state=t.memoizedState,Oe.componentWillUnmount()}catch(Pe){bt(o,i,Pe)}}break;case 5:ki(ae,ae.return);break;case 22:if(ae.memoizedState!==null){xf(fe);continue}}Ee!==null?(Ee.return=ae,Ae=Ee):xf(fe)}ce=ce.sibling}e:for(ce=null,fe=e;;){if(fe.tag===5){if(ce===null){ce=fe;try{u=fe.stateNode,K?(m=u.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(j=fe.stateNode,C=fe.memoizedProps.style,g=C!=null&&C.hasOwnProperty("display")?C.display:null,j.style.display=In("display",g))}catch(Pe){bt(e,e.return,Pe)}}}else if(fe.tag===6){if(ce===null)try{fe.stateNode.nodeValue=K?"":fe.memoizedProps}catch(Pe){bt(e,e.return,Pe)}}else if((fe.tag!==22&&fe.tag!==23||fe.memoizedState===null||fe===e)&&fe.child!==null){fe.child.return=fe,fe=fe.child;continue}if(fe===e)break e;for(;fe.sibling===null;){if(fe.return===null||fe.return===e)break e;ce===fe&&(ce=null),fe=fe.return}ce===fe&&(ce=null),fe.sibling.return=fe.return,fe=fe.sibling}}break;case 19:yr(t,e),Rr(e),o&4&&_f(e);break;case 21:break;default:yr(t,e),Rr(e)}}function Rr(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(pf(i)){var o=i;break e}i=i.return}throw Error(r(160))}switch(o.tag){case 5:var u=o.stateNode;o.flags&32&&(rn(u,""),o.flags&=-33);var m=hf(e);_c(e,m,u);break;case 3:case 4:var g=o.stateNode.containerInfo,j=hf(e);gc(e,j,g);break;default:throw Error(r(161))}}catch(C){bt(e,e.return,C)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Oh(e,t,i){Ae=e,wf(e)}function wf(e,t,i){for(var o=(e.mode&1)!==0;Ae!==null;){var u=Ae,m=u.child;if(u.tag===22&&o){var g=u.memoizedState!==null||vl;if(!g){var j=u.alternate,C=j!==null&&j.memoizedState!==null||dn;j=vl;var K=dn;if(vl=g,(dn=C)&&!K)for(Ae=u;Ae!==null;)g=Ae,C=g.child,g.tag===22&&g.memoizedState!==null?Sf(u):C!==null?(C.return=g,Ae=C):Sf(u);for(;m!==null;)Ae=m,wf(m),m=m.sibling;Ae=u,vl=j,dn=K}vf(e)}else(u.subtreeFlags&8772)!==0&&m!==null?(m.return=u,Ae=m):vf(e)}}function vf(e){for(;Ae!==null;){var t=Ae;if((t.flags&8772)!==0){var i=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:dn||xl(5,t);break;case 1:var o=t.stateNode;if(t.flags&4&&!dn)if(i===null)o.componentDidMount();else{var u=t.elementType===t.type?i.memoizedProps:gr(t.type,i.memoizedProps);o.componentDidUpdate(u,i.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var m=t.updateQueue;m!==null&&vd(t,m,o);break;case 3:var g=t.updateQueue;if(g!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}vd(t,g,i)}break;case 5:var j=t.stateNode;if(i===null&&t.flags&4){i=j;var C=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":C.autoFocus&&i.focus();break;case"img":C.src&&(i.src=C.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var K=t.alternate;if(K!==null){var ce=K.memoizedState;if(ce!==null){var fe=ce.dehydrated;fe!==null&&Er(fe)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}dn||t.flags&512&&hc(t)}catch(ae){bt(t,t.return,ae)}}if(t===e){Ae=null;break}if(i=t.sibling,i!==null){i.return=t.return,Ae=i;break}Ae=t.return}}function xf(e){for(;Ae!==null;){var t=Ae;if(t===e){Ae=null;break}var i=t.sibling;if(i!==null){i.return=t.return,Ae=i;break}Ae=t.return}}function Sf(e){for(;Ae!==null;){var t=Ae;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{xl(4,t)}catch(C){bt(t,i,C)}break;case 1:var o=t.stateNode;if(typeof o.componentDidMount=="function"){var u=t.return;try{o.componentDidMount()}catch(C){bt(t,u,C)}}var m=t.return;try{hc(t)}catch(C){bt(t,m,C)}break;case 5:var g=t.return;try{hc(t)}catch(C){bt(t,g,C)}}}catch(C){bt(t,t.return,C)}if(t===e){Ae=null;break}var j=t.sibling;if(j!==null){j.return=t.return,Ae=j;break}Ae=t.return}}var Ph=Math.ceil,Sl=O.ReactCurrentDispatcher,yc=O.ReactCurrentOwner,cr=O.ReactCurrentBatchConfig,nt=0,Vt=null,Rt=null,nn=0,Gn=0,bi=ms(0),It=0,ao=null,Vs=0,kl=0,wc=0,co=null,Pn=null,vc=0,ji=1/0,Yr=null,bl=!1,xc=null,ws=null,jl=!1,vs=null,Nl=0,uo=0,Sc=null,El=-1,Cl=0;function bn(){return(nt&6)!==0?Ue():El!==-1?El:El=Ue()}function xs(e){return(e.mode&1)===0?1:(nt&2)!==0&&nn!==0?nn&-nn:wh.transition!==null?(Cl===0&&(Cl=ti()),Cl):(e=Xe,e!==0||(e=window.event,e=e===void 0?16:Fi(e.type)),e)}function wr(e,t,i,o){if(50<uo)throw uo=0,Sc=null,Error(r(185));nr(e,i,o),((nt&2)===0||e!==Vt)&&(e===Vt&&((nt&2)===0&&(kl|=i),It===4&&Ss(e,nn)),zn(e,o),i===1&&nt===0&&(t.mode&1)===0&&(ji=Ue()+500,nl&&hs()))}function zn(e,t){var i=e.callbackNode;rs(e,t);var o=As(e,e===Vt?nn:0);if(o===0)i!==null&&$e(i),e.callbackNode=null,e.callbackPriority=0;else if(t=o&-o,e.callbackPriority!==t){if(i!=null&&$e(i),t===1)e.tag===0?yh(bf.bind(null,e)):ad(bf.bind(null,e)),ph(function(){(nt&6)===0&&hs()}),i=null;else{switch($s(o)){case 1:i=on;break;case 4:i=An;break;case 16:i=vn;break;case 536870912:i=ts;break;default:i=vn}i=$f(i,kf.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function kf(e,t){if(El=-1,Cl=0,(nt&6)!==0)throw Error(r(327));var i=e.callbackNode;if(Ni()&&e.callbackNode!==i)return null;var o=As(e,e===Vt?nn:0);if(o===0)return null;if((o&30)!==0||(o&e.expiredLanes)!==0||t)t=Tl(e,o);else{t=o;var u=nt;nt|=2;var m=Nf();(Vt!==e||nn!==t)&&(Yr=null,ji=Ue()+500,Qs(e,t));do try{Ih();break}catch(j){jf(e,j)}while(!0);Fa(),Sl.current=m,nt=u,Rt!==null?t=0:(Vt=null,nn=0,t=It)}if(t!==0){if(t===2&&(u=ei(e),u!==0&&(o=u,t=kc(e,u))),t===1)throw i=ao,Qs(e,0),Ss(e,o),zn(e,Ue()),i;if(t===6)Ss(e,o);else{if(u=e.current.alternate,(o&30)===0&&!zh(u)&&(t=Tl(e,o),t===2&&(m=ei(e),m!==0&&(o=m,t=kc(e,m))),t===1))throw i=ao,Qs(e,0),Ss(e,o),zn(e,Ue()),i;switch(e.finishedWork=u,e.finishedLanes=o,t){case 0:case 1:throw Error(r(345));case 2:Ks(e,Pn,Yr);break;case 3:if(Ss(e,o),(o&130023424)===o&&(t=vc+500-Ue(),10<t)){if(As(e,0)!==0)break;if(u=e.suspendedLanes,(u&o)!==o){bn(),e.pingedLanes|=e.suspendedLanes&u;break}e.timeoutHandle=Ta(Ks.bind(null,e,Pn,Yr),t);break}Ks(e,Pn,Yr);break;case 4:if(Ss(e,o),(o&4194240)===o)break;for(t=e.eventTimes,u=-1;0<o;){var g=31-ft(o);m=1<<g,g=t[g],g>u&&(u=g),o&=~m}if(o=u,o=Ue()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Ph(o/1960))-o,10<o){e.timeoutHandle=Ta(Ks.bind(null,e,Pn,Yr),o);break}Ks(e,Pn,Yr);break;case 5:Ks(e,Pn,Yr);break;default:throw Error(r(329))}}}return zn(e,Ue()),e.callbackNode===i?kf.bind(null,e):null}function kc(e,t){var i=co;return e.current.memoizedState.isDehydrated&&(Qs(e,t).flags|=256),e=Tl(e,t),e!==2&&(t=Pn,Pn=i,t!==null&&bc(t)),e}function bc(e){Pn===null?Pn=e:Pn.push.apply(Pn,e)}function zh(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var o=0;o<i.length;o++){var u=i[o],m=u.getSnapshot;u=u.value;try{if(!pr(m(),u))return!1}catch{return!1}}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ss(e,t){for(t&=~wc,t&=~kl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-ft(t),o=1<<i;e[i]=-1,t&=~o}}function bf(e){if((nt&6)!==0)throw Error(r(327));Ni();var t=As(e,0);if((t&1)===0)return zn(e,Ue()),null;var i=Tl(e,t);if(e.tag!==0&&i===2){var o=ei(e);o!==0&&(t=o,i=kc(e,o))}if(i===1)throw i=ao,Qs(e,0),Ss(e,t),zn(e,Ue()),i;if(i===6)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ks(e,Pn,Yr),zn(e,Ue()),null}function jc(e,t){var i=nt;nt|=1;try{return e(t)}finally{nt=i,nt===0&&(ji=Ue()+500,nl&&hs())}}function Gs(e){vs!==null&&vs.tag===0&&(nt&6)===0&&Ni();var t=nt;nt|=1;var i=cr.transition,o=Xe;try{if(cr.transition=null,Xe=1,e)return e()}finally{Xe=o,cr.transition=i,nt=t,(nt&6)===0&&hs()}}function Nc(){Gn=bi.current,yt(bi)}function Qs(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,mh(i)),Rt!==null)for(i=Rt.return;i!==null;){var o=i;switch(Oa(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&el();break;case 3:xi(),yt(Rn),yt(an),Ka();break;case 5:Ga(o);break;case 4:xi();break;case 13:yt(xt);break;case 19:yt(xt);break;case 10:Ua(o.type._context);break;case 22:case 23:Nc()}i=i.return}if(Vt=e,Rt=e=ks(e.current,null),nn=Gn=t,It=0,ao=null,wc=kl=Vs=0,Pn=co=null,Bs!==null){for(t=0;t<Bs.length;t++)if(i=Bs[t],o=i.interleaved,o!==null){i.interleaved=null;var u=o.next,m=i.pending;if(m!==null){var g=m.next;m.next=u,o.next=g}i.pending=o}Bs=null}return e}function jf(e,t){do{var i=Rt;try{if(Fa(),fl.current=gl,ml){for(var o=St.memoizedState;o!==null;){var u=o.queue;u!==null&&(u.pending=null),o=o.next}ml=!1}if(Hs=0,Ht=Dt=St=null,no=!1,ro=0,yc.current=null,i===null||i.return===null){It=1,ao=t,Rt=null;break}e:{var m=e,g=i.return,j=i,C=t;if(t=nn,j.flags|=32768,C!==null&&typeof C=="object"&&typeof C.then=="function"){var K=C,ce=j,fe=ce.tag;if((ce.mode&1)===0&&(fe===0||fe===11||fe===15)){var ae=ce.alternate;ae?(ce.updateQueue=ae.updateQueue,ce.memoizedState=ae.memoizedState,ce.lanes=ae.lanes):(ce.updateQueue=null,ce.memoizedState=null)}var Ee=Yd(g);if(Ee!==null){Ee.flags&=-257,Jd(Ee,g,j,m,t),Ee.mode&1&&Kd(m,K,t),t=Ee,C=K;var Oe=t.updateQueue;if(Oe===null){var Pe=new Set;Pe.add(C),t.updateQueue=Pe}else Oe.add(C);break e}else{if((t&1)===0){Kd(m,K,t),Ec();break e}C=Error(r(426))}}else if(vt&&j.mode&1){var Tt=Yd(g);if(Tt!==null){(Tt.flags&65536)===0&&(Tt.flags|=256),Jd(Tt,g,j,m,t),Da(Si(C,j));break e}}m=C=Si(C,j),It!==4&&(It=2),co===null?co=[m]:co.push(m),m=g;do{switch(m.tag){case 3:m.flags|=65536,t&=-t,m.lanes|=t;var F=Gd(m,C,t);wd(m,F);break e;case 1:j=C;var R=m.type,H=m.stateNode;if((m.flags&128)===0&&(typeof R.getDerivedStateFromError=="function"||H!==null&&typeof H.componentDidCatch=="function"&&(ws===null||!ws.has(H)))){m.flags|=65536,t&=-t,m.lanes|=t;var ye=Qd(m,j,t);wd(m,ye);break e}}m=m.return}while(m!==null)}Cf(i)}catch(ze){t=ze,Rt===i&&i!==null&&(Rt=i=i.return);continue}break}while(!0)}function Nf(){var e=Sl.current;return Sl.current=gl,e===null?gl:e}function Ec(){(It===0||It===3||It===2)&&(It=4),Vt===null||(Vs&268435455)===0&&(kl&268435455)===0||Ss(Vt,nn)}function Tl(e,t){var i=nt;nt|=2;var o=Nf();(Vt!==e||nn!==t)&&(Yr=null,Qs(e,t));do try{Dh();break}catch(u){jf(e,u)}while(!0);if(Fa(),nt=i,Sl.current=o,Rt!==null)throw Error(r(261));return Vt=null,nn=0,It}function Dh(){for(;Rt!==null;)Ef(Rt)}function Ih(){for(;Rt!==null&&!ct();)Ef(Rt)}function Ef(e){var t=Af(e.alternate,e,Gn);e.memoizedProps=e.pendingProps,t===null?Cf(e):Rt=t,yc.current=null}function Cf(e){var t=e;do{var i=t.alternate;if(e=t.return,(t.flags&32768)===0){if(i=Ah(i,t,Gn),i!==null){Rt=i;return}}else{if(i=$h(i,t),i!==null){i.flags&=32767,Rt=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{It=6,Rt=null;return}}if(t=t.sibling,t!==null){Rt=t;return}Rt=t=e}while(t!==null);It===0&&(It=5)}function Ks(e,t,i){var o=Xe,u=cr.transition;try{cr.transition=null,Xe=1,Fh(e,t,i,o)}finally{cr.transition=u,Xe=o}return null}function Fh(e,t,i,o){do Ni();while(vs!==null);if((nt&6)!==0)throw Error(r(327));i=e.finishedWork;var u=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var m=i.lanes|i.childLanes;if(ni(e,m),e===Vt&&(Rt=Vt=null,nn=0),(i.subtreeFlags&2064)===0&&(i.flags&2064)===0||jl||(jl=!0,$f(vn,function(){return Ni(),null})),m=(i.flags&15990)!==0,(i.subtreeFlags&15990)!==0||m){m=cr.transition,cr.transition=null;var g=Xe;Xe=1;var j=nt;nt|=4,yc.current=null,Lh(e,i),yf(i,e),oh(Ea),Ps=!!Na,Ea=Na=null,e.current=i,Oh(i),At(),nt=j,Xe=g,cr.transition=m}else e.current=i;if(jl&&(jl=!1,vs=e,Nl=u),m=e.pendingLanes,m===0&&(ws=null),ma(i.stateNode),zn(e,Ue()),t!==null)for(o=e.onRecoverableError,i=0;i<t.length;i++)u=t[i],o(u.value,{componentStack:u.stack,digest:u.digest});if(bl)throw bl=!1,e=xc,xc=null,e;return(Nl&1)!==0&&e.tag!==0&&Ni(),m=e.pendingLanes,(m&1)!==0?e===Sc?uo++:(uo=0,Sc=e):uo=0,hs(),null}function Ni(){if(vs!==null){var e=$s(Nl),t=cr.transition,i=Xe;try{if(cr.transition=null,Xe=16>e?16:e,vs===null)var o=!1;else{if(e=vs,vs=null,Nl=0,(nt&6)!==0)throw Error(r(331));var u=nt;for(nt|=4,Ae=e.current;Ae!==null;){var m=Ae,g=m.child;if((Ae.flags&16)!==0){var j=m.deletions;if(j!==null){for(var C=0;C<j.length;C++){var K=j[C];for(Ae=K;Ae!==null;){var ce=Ae;switch(ce.tag){case 0:case 11:case 15:lo(8,ce,m)}var fe=ce.child;if(fe!==null)fe.return=ce,Ae=fe;else for(;Ae!==null;){ce=Ae;var ae=ce.sibling,Ee=ce.return;if(mf(ce),ce===K){Ae=null;break}if(ae!==null){ae.return=Ee,Ae=ae;break}Ae=Ee}}}var Oe=m.alternate;if(Oe!==null){var Pe=Oe.child;if(Pe!==null){Oe.child=null;do{var Tt=Pe.sibling;Pe.sibling=null,Pe=Tt}while(Pe!==null)}}Ae=m}}if((m.subtreeFlags&2064)!==0&&g!==null)g.return=m,Ae=g;else e:for(;Ae!==null;){if(m=Ae,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:lo(9,m,m.return)}var F=m.sibling;if(F!==null){F.return=m.return,Ae=F;break e}Ae=m.return}}var R=e.current;for(Ae=R;Ae!==null;){g=Ae;var H=g.child;if((g.subtreeFlags&2064)!==0&&H!==null)H.return=g,Ae=H;else e:for(g=R;Ae!==null;){if(j=Ae,(j.flags&2048)!==0)try{switch(j.tag){case 0:case 11:case 15:xl(9,j)}}catch(ze){bt(j,j.return,ze)}if(j===g){Ae=null;break e}var ye=j.sibling;if(ye!==null){ye.return=j.return,Ae=ye;break e}Ae=j.return}}if(nt=u,hs(),Et&&typeof Et.onPostCommitFiberRoot=="function")try{Et.onPostCommitFiberRoot(Wt,e)}catch{}o=!0}return o}finally{Xe=i,cr.transition=t}}return!1}function Tf(e,t,i){t=Si(i,t),t=Gd(e,t,1),e=_s(e,t,1),t=bn(),e!==null&&(nr(e,1,t),zn(e,t))}function bt(e,t,i){if(e.tag===3)Tf(e,e,i);else for(;t!==null;){if(t.tag===3){Tf(t,e,i);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(ws===null||!ws.has(o))){e=Si(i,e),e=Qd(t,e,1),t=_s(t,e,1),e=bn(),t!==null&&(nr(t,1,e),zn(t,e));break}}t=t.return}}function Uh(e,t,i){var o=e.pingCache;o!==null&&o.delete(t),t=bn(),e.pingedLanes|=e.suspendedLanes&i,Vt===e&&(nn&i)===i&&(It===4||It===3&&(nn&130023424)===nn&&500>Ue()-vc?Qs(e,0):wc|=i),zn(e,t)}function Mf(e,t){t===0&&((e.mode&1)===0?t=1:(t=ns,ns<<=1,(ns&130023424)===0&&(ns=4194304)));var i=bn();e=Gr(e,t),e!==null&&(nr(e,t,i),zn(e,i))}function Bh(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Mf(e,i)}function Wh(e,t){var i=0;switch(e.tag){case 13:var o=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(r(314))}o!==null&&o.delete(t),Mf(e,i)}var Af;Af=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rn.current)On=!0;else{if((e.lanes&i)===0&&(t.flags&128)===0)return On=!1,Mh(e,t,i);On=(e.flags&131072)!==0}else On=!1,vt&&(t.flags&1048576)!==0&&cd(t,sl,t.index);switch(t.lanes=0,t.tag){case 2:var o=t.type;wl(e,t),e=t.pendingProps;var u=pi(t,an.current);vi(t,i),u=Xa(null,t,o,e,u,i);var m=Za();return t.flags|=1,typeof u=="object"&&u!==null&&typeof u.render=="function"&&u.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ln(o)?(m=!0,tl(t)):m=!1,t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,Ha(t),u.updater=_l,t.stateNode=u,u._reactInternals=t,sc(t,o,e,i),t=ac(null,t,o,!0,m,i)):(t.tag=0,vt&&m&&La(t),kn(null,t,u,i),t=t.child),t;case 16:o=t.elementType;e:{switch(wl(e,t),e=t.pendingProps,u=o._init,o=u(o._payload),t.type=o,u=t.tag=Vh(o),e=gr(o,e),u){case 0:t=lc(null,t,o,e,i);break e;case 1:t=nf(null,t,o,e,i);break e;case 11:t=Xd(null,t,o,e,i);break e;case 14:t=Zd(null,t,o,gr(o.type,e),i);break e}throw Error(r(306,o,""))}return t;case 0:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:gr(o,u),lc(e,t,o,u,i);case 1:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:gr(o,u),nf(e,t,o,u,i);case 3:e:{if(rf(t),e===null)throw Error(r(387));o=t.pendingProps,m=t.memoizedState,u=m.element,yd(e,t),ul(t,o,null,i);var g=t.memoizedState;if(o=g.element,m.isDehydrated)if(m={element:o,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},t.updateQueue.baseState=m,t.memoizedState=m,t.flags&256){u=Si(Error(r(423)),t),t=sf(e,t,o,i,u);break e}else if(o!==u){u=Si(Error(r(424)),t),t=sf(e,t,o,i,u);break e}else for(Vn=fs(t.stateNode.containerInfo.firstChild),Hn=t,vt=!0,hr=null,i=gd(t,null,o,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(_i(),o===u){t=Kr(e,t,i);break e}kn(e,t,o,i)}t=t.child}return t;case 5:return xd(t),e===null&&za(t),o=t.type,u=t.pendingProps,m=e!==null?e.memoizedProps:null,g=u.children,Ca(o,u)?g=null:m!==null&&Ca(o,m)&&(t.flags|=32),tf(e,t),kn(e,t,g,i),t.child;case 6:return e===null&&za(t),null;case 13:return of(e,t,i);case 4:return Va(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=yi(t,null,o,i):kn(e,t,o,i),t.child;case 11:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:gr(o,u),Xd(e,t,o,u,i);case 7:return kn(e,t,t.pendingProps,i),t.child;case 8:return kn(e,t,t.pendingProps.children,i),t.child;case 12:return kn(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(o=t.type._context,u=t.pendingProps,m=t.memoizedProps,g=u.value,pt(ll,o._currentValue),o._currentValue=g,m!==null)if(pr(m.value,g)){if(m.children===u.children&&!Rn.current){t=Kr(e,t,i);break e}}else for(m=t.child,m!==null&&(m.return=t);m!==null;){var j=m.dependencies;if(j!==null){g=m.child;for(var C=j.firstContext;C!==null;){if(C.context===o){if(m.tag===1){C=Qr(-1,i&-i),C.tag=2;var K=m.updateQueue;if(K!==null){K=K.shared;var ce=K.pending;ce===null?C.next=C:(C.next=ce.next,ce.next=C),K.pending=C}}m.lanes|=i,C=m.alternate,C!==null&&(C.lanes|=i),Ba(m.return,i,t),j.lanes|=i;break}C=C.next}}else if(m.tag===10)g=m.type===t.type?null:m.child;else if(m.tag===18){if(g=m.return,g===null)throw Error(r(341));g.lanes|=i,j=g.alternate,j!==null&&(j.lanes|=i),Ba(g,i,t),g=m.sibling}else g=m.child;if(g!==null)g.return=m;else for(g=m;g!==null;){if(g===t){g=null;break}if(m=g.sibling,m!==null){m.return=g.return,g=m;break}g=g.return}m=g}kn(e,t,u.children,i),t=t.child}return t;case 9:return u=t.type,o=t.pendingProps.children,vi(t,i),u=lr(u),o=o(u),t.flags|=1,kn(e,t,o,i),t.child;case 14:return o=t.type,u=gr(o,t.pendingProps),u=gr(o.type,u),Zd(e,t,o,u,i);case 15:return qd(e,t,t.type,t.pendingProps,i);case 17:return o=t.type,u=t.pendingProps,u=t.elementType===o?u:gr(o,u),wl(e,t),t.tag=1,Ln(o)?(e=!0,tl(t)):e=!1,vi(t,i),Hd(t,o,u),sc(t,o,u,i),ac(null,t,o,!0,e,i);case 19:return af(e,t,i);case 22:return ef(e,t,i)}throw Error(r(156,t.tag))};function $f(e,t){return me(e,t)}function Hh(e,t,i,o){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ur(e,t,i,o){return new Hh(e,t,i,o)}function Cc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Vh(e){if(typeof e=="function")return Cc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===J)return 11;if(e===Q)return 14}return 2}function ks(e,t){var i=e.alternate;return i===null?(i=ur(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ml(e,t,i,o,u,m){var g=2;if(o=e,typeof e=="function")Cc(e)&&(g=1);else if(typeof e=="string")g=5;else e:switch(e){case re:return Ys(i.children,u,m,t);case L:g=8,u|=8;break;case xe:return e=ur(12,i,t,u|2),e.elementType=xe,e.lanes=m,e;case pe:return e=ur(13,i,t,u),e.elementType=pe,e.lanes=m,e;case Ce:return e=ur(19,i,t,u),e.elementType=Ce,e.lanes=m,e;case Se:return Al(i,u,m,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case W:g=10;break e;case se:g=9;break e;case J:g=11;break e;case Q:g=14;break e;case ke:g=16,o=null;break e}throw Error(r(130,e==null?e:typeof e,""))}return t=ur(g,i,t,u),t.elementType=e,t.type=o,t.lanes=m,t}function Ys(e,t,i,o){return e=ur(7,e,o,t),e.lanes=i,e}function Al(e,t,i,o){return e=ur(22,e,o,t),e.elementType=Se,e.lanes=i,e.stateNode={isHidden:!1},e}function Tc(e,t,i){return e=ur(6,e,null,t),e.lanes=i,e}function Mc(e,t,i){return t=ur(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Gh(e,t,i,o,u){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Dr(0),this.expirationTimes=Dr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dr(0),this.identifierPrefix=o,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function Ac(e,t,i,o,u,m,g,j,C){return e=new Gh(e,t,i,j,C),t===1?(t=1,m===!0&&(t|=8)):t=0,m=ur(3,null,null,t),e.current=m,m.stateNode=e,m.memoizedState={element:o,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ha(m),e}function Qh(e,t,i){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:V,key:o==null?null:""+o,children:e,containerInfo:t,implementation:i}}function Rf(e){if(!e)return ps;e=e._reactInternals;e:{if(tr(e)!==e||e.tag!==1)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ln(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(r(171))}if(e.tag===1){var i=e.type;if(Ln(i))return od(e,i,t)}return t}function Lf(e,t,i,o,u,m,g,j,C){return e=Ac(i,o,!0,e,u,m,g,j,C),e.context=Rf(null),i=e.current,o=bn(),u=xs(i),m=Qr(o,u),m.callback=t??null,_s(i,m,u),e.current.lanes=u,nr(e,u,o),zn(e,o),e}function $l(e,t,i,o){var u=t.current,m=bn(),g=xs(u);return i=Rf(i),t.context===null?t.context=i:t.pendingContext=i,t=Qr(m,g),t.payload={element:e},o=o===void 0?null:o,o!==null&&(t.callback=o),e=_s(u,t,g),e!==null&&(wr(e,u,g,m),cl(e,u,g)),g}function Rl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Of(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function $c(e,t){Of(e,t),(e=e.alternate)&&Of(e,t)}function Kh(){return null}var Pf=typeof reportError=="function"?reportError:function(e){console.error(e)};function Rc(e){this._internalRoot=e}Ll.prototype.render=Rc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));$l(e,t,null,null)},Ll.prototype.unmount=Rc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Gs(function(){$l(null,e,null,null)}),t[Br]=null}};function Ll(e){this._internalRoot=e}Ll.prototype.unstable_scheduleHydration=function(e){if(e){var t=Rs();e={blockedOn:null,target:e,priority:t};for(var i=0;i<xn.length&&t!==0&&t<xn[i].priority;i++);xn.splice(i,0,e),i===0&&Uo(e)}};function Lc(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Ol(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function zf(){}function Yh(e,t,i,o,u){if(u){if(typeof o=="function"){var m=o;o=function(){var K=Rl(g);m.call(K)}}var g=Lf(t,o,e,0,null,!1,!1,"",zf);return e._reactRootContainer=g,e[Br]=g.current,Ki(e.nodeType===8?e.parentNode:e),Gs(),g}for(;u=e.lastChild;)e.removeChild(u);if(typeof o=="function"){var j=o;o=function(){var K=Rl(C);j.call(K)}}var C=Ac(e,0,!1,null,null,!1,!1,"",zf);return e._reactRootContainer=C,e[Br]=C.current,Ki(e.nodeType===8?e.parentNode:e),Gs(function(){$l(t,C,i,o)}),C}function Pl(e,t,i,o,u){var m=i._reactRootContainer;if(m){var g=m;if(typeof u=="function"){var j=u;u=function(){var C=Rl(g);j.call(C)}}$l(t,g,e,u)}else g=Yh(i,t,e,u,o);return Rl(g)}ss=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=Ms(t.pendingLanes);i!==0&&(Ir(t,i|1),zn(t,Ue()),(nt&6)===0&&(ji=Ue()+500,hs()))}break;case 13:Gs(function(){var o=Gr(e,1);if(o!==null){var u=bn();wr(o,e,1,u)}}),$c(e,1)}},is=function(e){if(e.tag===13){var t=Gr(e,134217728);if(t!==null){var i=bn();wr(t,e,134217728,i)}$c(e,134217728)}},Fr=function(e){if(e.tag===13){var t=xs(e),i=Gr(e,t);if(i!==null){var o=bn();wr(i,e,t,o)}$c(e,t)}},Rs=function(){return Xe},Oi=function(e,t){var i=Xe;try{return Xe=e,t()}finally{Xe=i}},Bn=function(e,t,i){switch(t){case"input":if(Kt(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var o=i[t];if(o!==e&&o.form===e.form){var u=qo(o);if(!u)throw Error(r(90));Je(o),Kt(o,u)}}}break;case"textarea":pn(e,i);break;case"select":t=i.value,t!=null&&Nt(e,!!i.multiple,t,!1)}},Zn=jc,br=Gs;var Jh={usingClientEntryPoint:!1,Events:[Xi,fi,qo,kr,lt,jc]},fo={findFiberByHostInstance:Ds,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Xh={bundleType:fo.bundleType,version:fo.version,rendererPackageName:fo.rendererPackageName,rendererConfig:fo.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:O.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Le(e),e===null?null:e.stateNode},findFiberByHostInstance:fo.findFiberByHostInstance||Kh,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 zl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zl.isDisabled&&zl.supportsFiber)try{Wt=zl.inject(Xh),Et=zl}catch{}}return Dn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Jh,Dn.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Lc(t))throw Error(r(200));return Qh(e,t,null,i)},Dn.createRoot=function(e,t){if(!Lc(e))throw Error(r(299));var i=!1,o="",u=Pf;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=Ac(e,1,!1,null,null,i,!1,o,u),e[Br]=t.current,Ki(e.nodeType===8?e.parentNode:e),new Rc(t)},Dn.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=Le(t),e=e===null?null:e.stateNode,e},Dn.flushSync=function(e){return Gs(e)},Dn.hydrate=function(e,t,i){if(!Ol(t))throw Error(r(200));return Pl(null,e,t,!0,i)},Dn.hydrateRoot=function(e,t,i){if(!Lc(e))throw Error(r(405));var o=i!=null&&i.hydratedSources||null,u=!1,m="",g=Pf;if(i!=null&&(i.unstable_strictMode===!0&&(u=!0),i.identifierPrefix!==void 0&&(m=i.identifierPrefix),i.onRecoverableError!==void 0&&(g=i.onRecoverableError)),t=Lf(t,null,e,1,i??null,u,!1,m,g),e[Br]=t.current,Ki(e),o)for(e=0;e<o.length;e++)i=o[e],u=i._getVersion,u=u(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,u]:t.mutableSourceEagerHydrationData.push(i,u);return new Ll(t)},Dn.render=function(e,t,i){if(!Ol(t))throw Error(r(200));return Pl(null,e,t,!1,i)},Dn.unmountComponentAtNode=function(e){if(!Ol(e))throw Error(r(40));return e._reactRootContainer?(Gs(function(){Pl(null,null,e,!1,function(){e._reactRootContainer=null,e[Br]=null})}),!0):!1},Dn.unstable_batchedUpdates=jc,Dn.unstable_renderSubtreeIntoContainer=function(e,t,i,o){if(!Ol(i))throw Error(r(200));if(e==null||e._reactInternals===void 0)throw Error(r(38));return Pl(e,t,i,!1,o)},Dn.version="18.3.1-next-f1338f8080-20240426",Dn}var Vf;function Wm(){if(Vf)return zc.exports;Vf=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(n){console.error(n)}}return s(),zc.exports=og(),zc.exports}var Gf;function lg(){if(Gf)return Dl;Gf=1;var s=Wm();return Dl.createRoot=s.createRoot,Dl.hydrateRoot=s.hydrateRoot,Dl}var ag=lg();const cg=Bm(ag);class ug{constructor(){rt(this,"_buffer","");rt(this,"_current",{data_lines:[]})}push(n,r){for(this._buffer+=n;;){const l=this._buffer.indexOf(`
|
|
41
41
|
`);if(l===-1)return;const a=this._buffer.slice(0,l);this._buffer=this._buffer.slice(l+1);const d=a.endsWith("\r")?a.slice(0,-1):a;if(d.startsWith(":"))continue;if(d===""){(this._current.data_lines.length>0||this._current.event||this._current.id)&&r({id:this._current.id,event:this._current.event,data:this._current.data_lines.join(`
|
|
42
|
-
`)}),this._current={data_lines:[]};continue}const f=d.indexOf(":"),p=f===-1?d:d.slice(0,f),h=f===-1?"":d.slice(f+1).trimStart();if(p==="id"){this._current.id=h;continue}if(p==="event"){this._current.event=h;continue}if(p==="data"){this._current.data_lines.push(h);continue}}}}function Ze(s,n){const r=(s||"").trim().replace(/\/+$/,"");return r?`${r}${n}`:n}function qe(s){const n=(s||"").trim();return n?{Authorization:`Bearer ${n}`}:{}}async function et(s){try{const n=await s.text(),r=n==null?void 0:n.trim();if(!r)return`${s.status}`;try{const l=JSON.parse(r),a=l&&typeof l=="object"?l.detail:null,d=typeof a=="string"?a.trim():"";if(d)return d}catch{}return r}catch{return`${s.status}`}}function Ei(s){try{const n=s.headers.get("retry-after");if(!n)return null;const r=Number(String(n).trim());return!Number.isFinite(r)||r<=0?null:Math.ceil(r)}catch{return null}}class Lr extends Error{constructor(r,l,a=null){super(r);rt(this,"status");rt(this,"retry_after_s");this.name="GatewayHttpError",this.status=l,this.retry_after_s=a}}class dg{constructor(n){rt(this,"_cfg");rt(this,"_memo_list_bundles");rt(this,"_memo_discovery_tools");this._cfg={...n,base_url:(n.base_url||"").trim()},this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},this._memo_discovery_tools={ts:0,value:null,promise:null,err_until:0,err:null}}async list_bundles(n){const r=(n==null?void 0:n.refresh)===!0,l=Date.now(),a=5e3,d=2e3;if(!r){if(this._memo_list_bundles.value&&l-this._memo_list_bundles.ts<a)return this._memo_list_bundles.value;if(this._memo_list_bundles.promise)return await this._memo_list_bundles.promise;if(this._memo_list_bundles.err&&l<this._memo_list_bundles.err_until)throw this._memo_list_bundles.err}const f=(async()=>{const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles"),{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Lr(`list_bundles failed: ${await et(p)}`,p.status,Ei(p));return await p.json()})();this._memo_list_bundles.promise=f;try{const p=await f;return this._memo_list_bundles={ts:Date.now(),value:p,promise:null,err_until:0,err:null},p}catch(p){const h=p instanceof Error?p:new Error(String(p)),y=h instanceof Lr&&h.status===429&&typeof h.retry_after_s=="number"&&Number.isFinite(h.retry_after_s)?Math.max(0,Math.trunc(h.retry_after_s)*1e3):0;throw this._memo_list_bundles={ts:0,value:null,promise:null,err_until:Date.now()+Math.max(d,y),err:h},h}finally{this._memo_list_bundles.promise===f&&(this._memo_list_bundles.promise=null)}}async reload_bundles(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles/reload"),{method:"POST",headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`reload_bundles failed: ${await et(n)}`);const r=await n.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},r}async upload_bundle(n,r){const l=(r==null?void 0:r.overwrite)===!0,a=(r==null?void 0:r.reload)!==!1,d=new FormData;d.set("overwrite",l?"true":"false"),d.set("reload",a?"true":"false"),d.set("file",n,n.name||"upload.flow");const f=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles/upload"),{method:"POST",headers:{...qe(this._cfg.auth_token)},body:d});if(!f.ok)throw new Error(`upload_bundle failed: ${await et(f)}`);const p=await f.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},p}async remove_bundle(n,r){const l=String(n||"").trim();if(!l)throw new Error("remove_bundle: bundle_id is required");const a=new URLSearchParams,d=String((r==null?void 0:r.bundle_version)||"").trim();d&&a.set("bundle_version",d),a.set("reload",(r==null?void 0:r.reload)===!1?"false":"true");const f=Ze(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(l)}?${a.toString()}`),p=await fetch(f,{method:"DELETE",headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`remove_bundle failed: ${await et(p)}`);const h=await p.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},h}async discovery_tools(n){const r=(n==null?void 0:n.refresh)===!0,l=Date.now(),a=3e4,d=2e3;if(!r){if(this._memo_discovery_tools.value&&l-this._memo_discovery_tools.ts<a)return this._memo_discovery_tools.value;if(this._memo_discovery_tools.promise)return await this._memo_discovery_tools.promise;if(this._memo_discovery_tools.err&&l<this._memo_discovery_tools.err_until)throw this._memo_discovery_tools.err}const f=(async()=>{const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/tools"),{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`discovery_tools failed: ${await et(p)}`);return await p.json()})();this._memo_discovery_tools.promise=f;try{const p=await f;return this._memo_discovery_tools={ts:Date.now(),value:p,promise:null,err_until:0,err:null},p}catch(p){const h=p instanceof Error?p:new Error(String(p));throw this._memo_discovery_tools={ts:0,value:null,promise:null,err_until:Date.now()+d,err:h},h}finally{this._memo_discovery_tools.promise===f&&(this._memo_discovery_tools.promise=null)}}async discovery_capabilities(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/capabilities"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`discovery_capabilities failed: ${await et(n)}`);return await n.json()}async discovery_providers(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/providers?include_models=false"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`discovery_providers failed: ${await et(n)}`);return await n.json()}async discovery_provider_models(n){const r=String(n||"").trim();if(!r)throw new Error("discovery_provider_models: provider_name is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/discovery/providers/${encodeURIComponent(r)}/models`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`discovery_provider_models failed: ${await et(l)}`);return await l.json()}async discovery_model_capabilities(n){const r=String(n||"").trim();if(!r)throw new Error("discovery_model_capabilities: model_name is required");const l=Ze(this._cfg.base_url,`/api/gateway/discovery/models/capabilities?model_name=${encodeURIComponent(r)}`),a=await fetch(l,{headers:{...qe(this._cfg.auth_token)}});if(!a.ok)throw new Error(`discovery_model_capabilities failed: ${await et(a)}`);return await a.json()}async prompt_cache_stats(n,r){const l=String(n||"").trim(),a=String(r||"").trim();if(!l)throw new Error("prompt_cache_stats: provider is required");if(!a)throw new Error("prompt_cache_stats: model is required");const d=new URLSearchParams;d.set("provider",l),d.set("model",a);const f=Ze(this._cfg.base_url,`/api/gateway/prompt_cache/stats?${d.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`prompt_cache_stats failed: ${await et(p)}`);return await p.json()}async prompt_cache_saved(n,r){const l=String(n||"").trim(),a=String(r||"").trim();if(!l)throw new Error("prompt_cache_saved: provider is required");if(!a)throw new Error("prompt_cache_saved: model is required");const d=new URLSearchParams;d.set("provider",l),d.set("model",a);const f=Ze(this._cfg.base_url,`/api/gateway/prompt_cache/saved?${d.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`prompt_cache_saved failed: ${await et(p)}`);return await p.json()}async prompt_cache_clear(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim();if(!r)throw new Error("prompt_cache_clear: provider is required");if(!l)throw new Error("prompt_cache_clear: model is required");const a={provider:r,model:l},d=String((n==null?void 0:n.key)||"").trim();d&&(a.key=d);const f=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/clear"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!f.ok)throw new Error(`prompt_cache_clear failed: ${await et(f)}`);return await f.json()}async prompt_cache_save(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim(),a=String((n==null?void 0:n.name)||"").trim(),d=String((n==null?void 0:n.key)||"").trim();if(!r)throw new Error("prompt_cache_save: provider is required");if(!l)throw new Error("prompt_cache_save: model is required");if(!a)throw new Error("prompt_cache_save: name is required");if(!d)throw new Error("prompt_cache_save: key is required");const f={provider:r,model:l,name:a,key:d,q8:!!(n!=null&&n.q8)},p=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/save"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!p.ok)throw new Error(`prompt_cache_save failed: ${await et(p)}`);return await p.json()}async prompt_cache_load(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim(),a=String((n==null?void 0:n.name)||"").trim();if(!r)throw new Error("prompt_cache_load: provider is required");if(!l)throw new Error("prompt_cache_load: model is required");if(!a)throw new Error("prompt_cache_load: name is required");const d={provider:r,model:l,name:a,clear_existing:!!(n!=null&&n.clear_existing)},f=String((n==null?void 0:n.key)||"").trim();f&&(d.key=f);const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/load"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(d)});if(!p.ok)throw new Error(`prompt_cache_load failed: ${await et(p)}`);return await p.json()}async bug_report_create(n){const r=String((n==null?void 0:n.session_id)||"").trim();if(!r)throw new Error("bug_report_create: session_id is required");const l=String((n==null?void 0:n.description)||"").trim();if(!l)throw new Error("bug_report_create: description is required");const a={session_id:r,description:l},d=String((n==null?void 0:n.active_run_id)||"").trim();d&&(a.active_run_id=d);const f=String((n==null?void 0:n.workflow_id)||"").trim();f&&(a.workflow_id=f);const p=String((n==null?void 0:n.client)||"").trim();p&&(a.client=p);const h=String((n==null?void 0:n.client_version)||"").trim();h&&(a.client_version=h);const y=String((n==null?void 0:n.user_agent)||"").trim();y&&(a.user_agent=y);const v=String((n==null?void 0:n.url)||"").trim();v&&(a.url=v);const w=String((n==null?void 0:n.provider)||"").trim();w&&(a.provider=w);const N=String((n==null?void 0:n.model)||"").trim();N&&(a.model=N);const b=String((n==null?void 0:n.template)||"").trim();b&&(a.template=b);const T=n==null?void 0:n.context;T&&typeof T=="object"&&(a.context=T);const I=await fetch(Ze(this._cfg.base_url,"/api/gateway/bugs/report"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!I.ok)throw new Lr(`bug_report_create failed: ${await et(I)}`,I.status,Ei(I));return await I.json()}async feature_report_create(n){const r=String((n==null?void 0:n.session_id)||"").trim();if(!r)throw new Error("feature_report_create: session_id is required");const l=String((n==null?void 0:n.description)||"").trim();if(!l)throw new Error("feature_report_create: description is required");const a={session_id:r,description:l},d=String((n==null?void 0:n.active_run_id)||"").trim();d&&(a.active_run_id=d);const f=String((n==null?void 0:n.workflow_id)||"").trim();f&&(a.workflow_id=f);const p=String((n==null?void 0:n.client)||"").trim();p&&(a.client=p);const h=String((n==null?void 0:n.client_version)||"").trim();h&&(a.client_version=h);const y=String((n==null?void 0:n.user_agent)||"").trim();y&&(a.user_agent=y);const v=String((n==null?void 0:n.url)||"").trim();v&&(a.url=v);const w=String((n==null?void 0:n.provider)||"").trim();w&&(a.provider=w);const N=String((n==null?void 0:n.model)||"").trim();N&&(a.model=N);const b=String((n==null?void 0:n.template)||"").trim();b&&(a.template=b);const T=n==null?void 0:n.context;T&&typeof T=="object"&&(a.context=T);const I=await fetch(Ze(this._cfg.base_url,"/api/gateway/features/report"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!I.ok)throw new Lr(`feature_report_create failed: ${await et(I)}`,I.status,Ei(I));return await I.json()}async workspace_policy(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/workspace/policy"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`workspace_policy failed: ${await et(n)}`);return await n.json()}async files_search(n,r){const l=String(n||"").trim(),a=typeof(r==null?void 0:r.limit)=="number"?r.limit:20,d=r==null?void 0:r.signal;if(!l)return{items:[]};const f=new URLSearchParams;f.set("query",l),f.set("limit",String(a));const p=r==null?void 0:r.scope;if(p){const v=String(p.workspace_root||"").trim(),w=String(p.workspace_access_mode||"").trim(),N=String(p.workspace_allowed_paths||"").trim(),b=String(p.workspace_ignored_paths||"").trim();v&&f.set("workspace_root",v),w&&f.set("workspace_access_mode",w),N&&f.set("workspace_allowed_paths",N),b&&f.set("workspace_ignored_paths",b)}const h=Ze(this._cfg.base_url,`/api/gateway/files/search?${f.toString()}`),y=await fetch(h,{headers:{...qe(this._cfg.auth_token)},signal:d});if(!y.ok)throw new Lr(`files_search failed: ${await et(y)}`,y.status,Ei(y));return await y.json()}async files_read(n,r){const l=String(n||"").trim();if(!l)throw new Error("files_read: path is required");const a=new URLSearchParams;a.set("path",l),typeof(r==null?void 0:r.start_line)=="number"&&Number.isFinite(r.start_line)&&a.set("start_line",String(Math.max(1,Math.trunc(r.start_line)))),typeof(r==null?void 0:r.end_line)=="number"&&Number.isFinite(r.end_line)&&a.set("end_line",String(Math.max(1,Math.trunc(r.end_line))));const d=r==null?void 0:r.scope;if(d){const h=String(d.workspace_root||"").trim(),y=String(d.workspace_access_mode||"").trim(),v=String(d.workspace_allowed_paths||"").trim(),w=String(d.workspace_ignored_paths||"").trim();h&&a.set("workspace_root",h),y&&a.set("workspace_access_mode",y),v&&a.set("workspace_allowed_paths",v),w&&a.set("workspace_ignored_paths",w)}const f=Ze(this._cfg.base_url,`/api/gateway/files/read?${a.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`files_read failed: ${await et(p)}`);return await p.json()}async attachments_ingest(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("attachments_ingest: session_id is required");const d=String(r||"").trim();if(!d)throw new Error("attachments_ingest: path is required");const f={session_id:a,path:d},p=String((l==null?void 0:l.filename)||"").trim(),h=String((l==null?void 0:l.content_type)||"").trim();p&&(f.filename=p),h&&(f.content_type=h);const y=l==null?void 0:l.scope;if(y){const T=String(y.workspace_root||"").trim(),I=String(y.workspace_access_mode||"").trim(),U=String(y.workspace_allowed_paths||"").trim(),P=String(y.workspace_ignored_paths||"").trim();T&&(f.workspace_root=T),I&&(f.workspace_access_mode=I),U&&(f.workspace_allowed_paths=U),P&&(f.workspace_ignored_paths=P)}const v=await fetch(Ze(this._cfg.base_url,"/api/gateway/attachments/ingest"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!v.ok)throw new Error(`attachments_ingest failed: ${await et(v)}`);const w=await v.json(),N=w==null?void 0:w.attachment;if(!N||typeof N!="object")throw new Error("attachments_ingest: missing attachment");if(!String(N.$artifact||"").trim())throw new Error("attachments_ingest: missing attachment.$artifact");return N}async attachments_upload(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("attachments_upload: session_id is required");if(!r)throw new Error("attachments_upload: file is required");const d=String((l==null?void 0:l.filename)||"").trim()||String((r==null?void 0:r.name)||"").trim()||"upload.bin",f=String((l==null?void 0:l.content_type)||"").trim()||String((r==null?void 0:r.type)||"").trim(),p=new FormData;p.append("session_id",a),p.append("file",r,d),p.append("filename",d),f&&p.append("content_type",f);const h=await fetch(Ze(this._cfg.base_url,"/api/gateway/attachments/upload"),{method:"POST",headers:{...qe(this._cfg.auth_token)},body:p});if(!h.ok)throw new Error(`attachments_upload failed: ${await et(h)}`);const y=await h.json(),v=y==null?void 0:y.attachment;if(!v||typeof v!="object")throw new Error("attachments_upload: missing attachment");if(!String(v.$artifact||"").trim())throw new Error("attachments_upload: missing attachment.$artifact");return v}async get_run_artifact_text(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("get_run_artifact_text: run_id is required");const d=String(r||"").trim();if(!d)throw new Error("get_run_artifact_text: artifact_id is required");const f=Number.isFinite(Number(l==null?void 0:l.max_bytes))?Math.max(1,Math.trunc(Number(l==null?void 0:l.max_bytes))):4e5,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(a)}/artifacts/${encodeURIComponent(d)}/content`),h=await fetch(p,{headers:{...qe(this._cfg.auth_token)}});if(!h.ok)throw new Error(`get_run_artifact_text failed: ${await et(h)}`);try{const v=h.headers.get("content-length");if(v){const w=Number(v);if(Number.isFinite(w)&&w>f)throw new Error(`Artifact too large to preview (${w.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`)}}catch(v){throw new Error(String((v==null?void 0:v.message)||v||"Artifact too large to preview"))}const y=await h.arrayBuffer();if(y.byteLength>f)throw new Error(`Artifact too large to preview (${y.byteLength.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`);try{return new TextDecoder("utf-8").decode(new Uint8Array(y))}catch{throw new Error("Failed to decode artifact as UTF-8 text")}}async get_run_artifact_blob(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("get_run_artifact_blob: run_id is required");const d=String(r||"").trim();if(!d)throw new Error("get_run_artifact_blob: artifact_id is required");const f=Number.isFinite(Number(l==null?void 0:l.max_bytes))?Math.max(1,Math.trunc(Number(l==null?void 0:l.max_bytes))):25e6,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(a)}/artifacts/${encodeURIComponent(d)}/content`),h=await fetch(p,{headers:{...qe(this._cfg.auth_token)}});if(!h.ok)throw new Error(`get_run_artifact_blob failed: ${await et(h)}`);const y=String(h.headers.get("content-type")||"").trim()||"application/octet-stream";try{const N=h.headers.get("content-length");if(N){const b=Number(N);if(Number.isFinite(b)&&b>f)throw new Error(`Artifact too large (${b.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`)}}catch(N){throw new Error(String((N==null?void 0:N.message)||N||"Artifact too large"))}const v=await h.arrayBuffer();if(v.byteLength>f)throw new Error(`Artifact too large (${v.byteLength.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`);return{blob:new Blob([v],{type:y}),content_type:y}}async list_run_artifacts(n,r){const l=String(n||"").trim();if(!l)throw new Error("list_run_artifacts: run_id is required");const a=Number.isFinite(Number(r==null?void 0:r.limit))?Math.max(1,Math.min(2e3,Math.trunc(Number(r==null?void 0:r.limit)))):200,d=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/artifacts?limit=${encodeURIComponent(String(a))}`),f=await fetch(d,{headers:{...qe(this._cfg.auth_token)}});if(!f.ok)throw new Error(`list_run_artifacts failed: ${await et(f)}`);return await f.json()}async get_bundle(n){const r=String(n||"").trim();if(!r)throw new Error("get_bundle: bundle_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(r)}`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_bundle failed: ${await et(l)}`);return await l.json()}async start_run(n,r,l){const a=String((l==null?void 0:l.bundle_id)||"").trim(),d=String((l==null?void 0:l.session_id)||"").trim(),f=String(n||"").trim(),p={input_data:r||{}};a&&(p.bundle_id=a),f&&(p.flow_id=f),d&&(p.session_id=d);const h=await fetch(Ze(this._cfg.base_url,"/api/gateway/runs/start"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(p)});if(!h.ok)throw new Error(`start_run failed: ${await et(h)}`);const y=await h.json(),v=y==null?void 0:y.run_id;if(typeof v!="string"||!v)throw new Error("start_run: missing run_id");return v}async audio_transcribe(n,r){const l=String(n||"").trim();if(!l)throw new Error("audio_transcribe: run_id is required");const a=r==null?void 0:r.audio_artifact;if(!a||typeof a!="object")throw new Error("audio_transcribe: audio_artifact is required");if(!String(a.$artifact||"").trim())throw new Error("audio_transcribe: audio_artifact.$artifact is required");const f={audio_artifact:a},p=String((r==null?void 0:r.language)||"").trim();p&&(f.language=p);const h=String((r==null?void 0:r.request_id)||"").trim();h&&(f.request_id=h);const y=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/audio/transcribe`),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!y.ok)throw new Lr(`audio_transcribe failed: ${await et(y)}`,y.status,Ei(y));const v=await y.json(),w=String((v==null?void 0:v.text)||"");return{ok:!!(v!=null&&v.ok),run_id:String((v==null?void 0:v.run_id)||""),request_id:String((v==null?void 0:v.request_id)||""),text:w,transcript_artifact:v==null?void 0:v.transcript_artifact}}async voice_tts(n,r){const l=String(n||"").trim();if(!l)throw new Error("voice_tts: run_id is required");const a=String((r==null?void 0:r.text)||"").trim();if(!a)throw new Error("voice_tts: text is required");const d={text:a},f=String((r==null?void 0:r.voice)||"").trim();f&&(d.voice=f);const p=String((r==null?void 0:r.format)||"").trim();p&&(d.format=p);const h=String((r==null?void 0:r.request_id)||"").trim();h&&(d.request_id=h);const y=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/voice/tts`),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(d)});if(!y.ok)throw new Lr(`voice_tts failed: ${await et(y)}`,y.status,Ei(y));const v=await y.json();return{ok:!!(v!=null&&v.ok),run_id:String((v==null?void 0:v.run_id)||""),request_id:String((v==null?void 0:v.request_id)||""),audio_artifact:v==null?void 0:v.audio_artifact}}async get_run(n){const r=String(n||"").trim();if(!r)throw new Error("get_run: run_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(r)}`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_run failed: ${await et(l)}`);return await l.json()}async get_run_input_data(n){const r=String(n||"").trim();if(!r)throw new Error("get_run_input_data: run_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(r)}/input_data`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_run_input_data failed: ${await et(l)}`);return await l.json()}async list_runs(n){const r=typeof(n==null?void 0:n.limit)=="number"?n.limit:50,l=String((n==null?void 0:n.status)||"").trim(),a=String((n==null?void 0:n.workflow_id)||"").trim(),d=String((n==null?void 0:n.session_id)||"").trim(),f=typeof(n==null?void 0:n.root_only)=="boolean"?n.root_only:void 0,p=typeof(n==null?void 0:n.include_ledger_len)=="boolean"?n.include_ledger_len:void 0,h=typeof(n==null?void 0:n.include_metrics)=="boolean"?n.include_metrics:void 0,y=new URLSearchParams;y.set("limit",String(r)),l&&y.set("status",l),a&&y.set("workflow_id",a),d&&y.set("session_id",d),typeof f=="boolean"&&y.set("root_only",f?"true":"false"),typeof p=="boolean"&&y.set("include_ledger_len",p?"true":"false"),typeof h=="boolean"&&y.set("include_metrics",h?"true":"false");const v=Ze(this._cfg.base_url,`/api/gateway/runs?${y.toString()}`),w=await fetch(v,{headers:{...qe(this._cfg.auth_token)}});if(!w.ok)throw new Error(`list_runs failed: ${await et(w)}`);return await w.json()}async get_ledger(n,r){const l=String(n||"").trim();if(!l)throw new Error("get_ledger: run_id is required");const a=Number((r==null?void 0:r.after)||0),d=Number((r==null?void 0:r.limit)||0),f=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/ledger?after=${encodeURIComponent(String(a))}&limit=${encodeURIComponent(String(d))}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`get_ledger failed: ${await et(p)}`);const h=await p.json(),y=Array.isArray(h==null?void 0:h.items)?h.items:[],v=typeof(h==null?void 0:h.next_after)=="number"?h.next_after:a;return{items:y,next_after:v}}async get_run_history_bundle(n,r){const l=String(n||"").trim();if(!l)throw new Error("get_run_history_bundle: run_id is required");const a=new URLSearchParams;typeof(r==null?void 0:r.include_subruns)=="boolean"&&a.set("include_subruns",r.include_subruns?"true":"false"),typeof(r==null?void 0:r.include_session)=="boolean"&&a.set("include_session",r.include_session?"true":"false"),typeof(r==null?void 0:r.session_turn_limit)=="number"&&Number.isFinite(r.session_turn_limit)&&a.set("session_turn_limit",String(Math.max(1,Math.trunc(r.session_turn_limit)))),r!=null&&r.ledger_mode&&a.set("ledger_mode",String(r.ledger_mode)),typeof(r==null?void 0:r.ledger_max_items)=="number"&&Number.isFinite(r.ledger_max_items)&&a.set("ledger_max_items",String(Math.max(0,Math.trunc(r.ledger_max_items))));const d=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/history_bundle?${a.toString()}`),f=await fetch(d,{headers:{...qe(this._cfg.auth_token)}});if(!f.ok)throw new Error(`get_run_history_bundle failed: ${await et(f)}`);return await f.json()}async submit_command(n){const r=await fetch(Ze(this._cfg.base_url,"/api/gateway/commands"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(n)});if(!r.ok)throw new Error(`submit_command failed: ${await et(r)}`);return await r.json()}async stream_ledger(n,r){const l=String(n||"").trim();if(!l)throw new Error("stream_ledger: run_id is required");const a=Number((r==null?void 0:r.after)||0),d=r.on_step,f=r.signal,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/ledger/stream?after=${encodeURIComponent(String(a))}`),h=await fetch(p,{headers:{Accept:"text/event-stream",...qe(this._cfg.auth_token)},signal:f});if(!h.ok)throw new Error(`stream_ledger failed: ${await et(h)}`);if(!h.body)throw new Error("stream_ledger: response body is missing");const y=h.body.getReader(),v=new TextDecoder("utf-8"),w=new ug;for(;;){const{value:N,done:b}=await y.read();if(b)return;const T=v.decode(N,{stream:!0});w.push(T,I=>{if(!(I.event!=="step"||!I.data))try{const U=JSON.parse(I.data);U&&typeof U.cursor=="number"&&U.record&&d(U)}catch{}})}}}function Il(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`id_${Date.now()}_${Math.random().toString(16).slice(2)}`}function nu(s){var l;const n=s,r=(l=n==null?void 0:n.result)==null?void 0:l.wait;return!r||typeof r!="object"?null:r}function Fl(s){const n=s,r=n==null?void 0:n.details;if(!r||typeof r!="object")return[];const l=r==null?void 0:r.tool_calls;return Array.isArray(l)?l:[]}function ru(s){const n=s;if(!n||typeof n!="object")return"unknown";const r=n.details&&typeof n.details=="object"?n.details:null,l=String((r==null?void 0:r.sub_workflow_id)||"").trim(),a=String(n.resume_to_node||"").trim(),d=String(n.result_key||"").trim();return l.startsWith("visual_react_agent_")||l.endsWith("_agent")||a==="agent"||d.startsWith("_temp.agent")||d.includes(".agent.")||(r==null?void 0:r.include_traces)===!0?"user_facing":"background"}function fg(s,n){const r=String(n.run_id||"").trim();if(!r)return s;const l=String(s.run_id||"").trim();return l?l===r?s.kind==="unknown"&&n.kind!=="unknown"?{run_id:l,kind:n.kind}:s:n.kind==="user_facing"&&s.kind!=="user_facing"?{run_id:r,kind:n.kind}:s:{run_id:r,kind:n.kind}}function mg(s){const n=s;if(!n||typeof n!="object")return"";const r=n.details,l=String((r==null?void 0:r.sub_run_id)||(r==null?void 0:r.subworkflow_run_id)||(r==null?void 0:r.subRunId)||(r==null?void 0:r.subRunID)||"").trim();if(l)return l;const a=String(n.wait_key||"").trim();return a.startsWith("subworkflow:")?String(a.split(":",2)[1]||"").trim():""}function pg(s,n){var l;const r=String(n||"").trim();if(!r)return null;for(let a=s.length-1;a>=0;a--){const d=(l=s[a])==null?void 0:l.record;if(!d||typeof d!="object")continue;const f=String(d.run_id||"").trim();if(f&&f===r)return d}return null}function hg(s){const n=String(s.root_run_id||"").trim(),r=s.root_wait??null,l=n?[n]:[],a=String((r==null?void 0:r.reason)||"").trim();if(!n||!r||a!=="subworkflow")return{wait:r,wait_run_id:n||null,chain:l,tool_calls:Fl(r)};const d=mg(r);if(!d)return{wait:r,wait_run_id:n,chain:l,tool_calls:Fl(r)};l.push(d);const f=pg(s.records||[],d),p=nu(f);return p?{wait:p,wait_run_id:d,chain:l,tool_calls:Fl(p)}:{wait:r,wait_run_id:n,chain:l,tool_calls:Fl(r)}}function Hm(s){return!!s&&typeof s=="object"&&!Array.isArray(s)}function Vm(s){return Array.isArray(s)}function gg(s){if(s==null)return"";if(typeof s=="string")return s;try{return JSON.stringify(s,null,2)}catch{return String(s)}}async function _g(s){const n=String(s||"");if(n)try{await navigator.clipboard.writeText(n)}catch{const r=document.createElement("textarea");r.value=n,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Ti({kind:s,children:n}){return c.jsx("span",{className:`pc-json-token ${s}`,children:n})}function yg(s){return s===null?c.jsx(Ti,{kind:"null",children:"null"}):typeof s=="string"?c.jsx(Ti,{kind:"string",children:JSON.stringify(s)}):typeof s=="number"?c.jsx(Ti,{kind:"number",children:String(s)}):typeof s=="boolean"?c.jsx(Ti,{kind:"boolean",children:s?"true":"false"}):c.jsx(Ti,{kind:"string",children:JSON.stringify(String(s))})}function wg(s){return Vm(s)?s.length===1?"1 item":`${s.length} items`:Hm(s)?Object.keys(s).length===1?"1 key":`${Object.keys(s).length} keys`:""}function Gm(s){const{label:n,value:r,depth:l,collapseAfterDepth:a,trailingComma:d}=s,f=l*14,p=Hm(r),h=Vm(r),y=p||h,v=l<a,[w,N]=S.useState(v),b=n?c.jsxs(c.Fragment,{children:[c.jsx(Ti,{kind:"key",children:JSON.stringify(n)}),": "]}):null;if(!y)return c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[b,yg(r),d?",":""]});const T=h?"[":"{",I=h?"]":"}",U=wg(r),P=w?`${T}`:`${T}…${I}${U?` (${U})`:""}`,D=h?r.map(($,O)=>({key:String(O),label:void 0,value:$})):Object.entries(r).map(([$,O])=>({key:$,label:$,value:O}));return c.jsxs("details",{className:"pc-json-viewer__details",open:w,onToggle:$=>N($.currentTarget.open),children:[c.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:f},children:[b,c.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:w?"▾":"▸"}),c.jsx("span",{className:"pc-json-viewer__punct",children:P}),!w&&d?c.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),w?c.jsx("div",{className:"pc-json-viewer__children",children:D.length===0?c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"pc-json-viewer__punct",children:I}),d?",":""]}):c.jsxs(c.Fragment,{children:[D.map(($,O)=>{const z=O===D.length-1;return c.jsx(Gm,{label:$.label,value:$.value,depth:l+1,collapseAfterDepth:a,trailingComma:!z},`${l}:${n||"root"}:${$.key}`)}),c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"pc-json-viewer__punct",children:I}),d?",":""]})]})}):null]})}function vg(s){const{value:n,className:r,showCopy:l=!0}=s,a=Number.isFinite(s.collapseAfterDepth??NaN)?Number(s.collapseAfterDepth):3,d=S.useMemo(()=>gg(n),[n]),f=["pc-json-viewer",r].filter(Boolean).join(" ");return c.jsxs("div",{className:f,children:[l?c.jsx("div",{className:"pc-json-viewer__toolbar",children:c.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void _g(d),children:"Copy"})}):null,c.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:c.jsx(Gm,{value:n,depth:0,collapseAfterDepth:a,trailingComma:!1})})]})}function Ul(s,n){const r=String(s??"");if(!n||!n.needles.length)return[r];const l=[],a=r.toLowerCase();let d=0;for(;d<r.length;){let f=-1,p="";for(let v=0;v<n.needlesLower.length;v++){const w=n.needlesLower[v];if(!w)continue;const N=a.indexOf(w,d);if(N===-1)continue;const b=n.needles[v]||"";b&&(f===-1||N<f||N===f&&b.length>p.length)&&(f=N,p=b)}if(f===-1||!p){l.push(r.slice(d));break}f>d&&l.push(r.slice(d,f));const h=n.hits===0&&n.id?n.id:void 0,y=r.slice(f,f+p.length);l.push(c.jsx("span",{id:h,className:n.className,children:y},`hl:${n.hits}`)),n.hits+=1,d=f+p.length}return l}function Js(s,n){const r=[],l=String(s??"");let a=0,d="";const f=()=>{if(d){for(const p of Ul(d,n))r.push(p);d=""}};for(;a<l.length;){const p=l[a];if(p==="`"){const h=l.indexOf("`",a+1);if(h!==-1){f();const y=l.slice(a+1,h);r.push(c.jsx("code",{children:n?Ul(y,n):y},`code:${a}`)),a=h+1;continue}}if(p==="*"&&l[a+1]==="*"){const h=l.indexOf("**",a+2);if(h!==-1){f();const y=l.slice(a+2,h);r.push(c.jsx("strong",{children:n?Ul(y,n):y},`bold:${a}`)),a=h+2;continue}}if(p==="*"&&l[a+1]!=="*"){const h=l.indexOf("*",a+1);if(h!==-1){f();const y=l.slice(a+1,h);r.push(c.jsx("em",{children:n?Ul(y,n):y},`em:${a}`)),a=h+1;continue}}d+=p,a+=1}return f(),r}function xg(s){return String(s??"").replace(/\r\n/g,`
|
|
42
|
+
`)}),this._current={data_lines:[]};continue}const f=d.indexOf(":"),p=f===-1?d:d.slice(0,f),h=f===-1?"":d.slice(f+1).trimStart();if(p==="id"){this._current.id=h;continue}if(p==="event"){this._current.event=h;continue}if(p==="data"){this._current.data_lines.push(h);continue}}}}function Ze(s,n){const r=(s||"").trim().replace(/\/+$/,"");return r?`${r}${n}`:n}function qe(s){const n=(s||"").trim();return n?{Authorization:`Bearer ${n}`}:{}}async function et(s){try{const n=await s.text(),r=n==null?void 0:n.trim();if(!r)return`${s.status}`;try{const l=JSON.parse(r),a=l&&typeof l=="object"?l.detail:null,d=typeof a=="string"?a.trim():"";if(d)return d}catch{}return r}catch{return`${s.status}`}}function Ei(s){try{const n=s.headers.get("retry-after");if(!n)return null;const r=Number(String(n).trim());return!Number.isFinite(r)||r<=0?null:Math.ceil(r)}catch{return null}}class Lr extends Error{constructor(r,l,a=null){super(r);rt(this,"status");rt(this,"retry_after_s");this.name="GatewayHttpError",this.status=l,this.retry_after_s=a}}class dg{constructor(n){rt(this,"_cfg");rt(this,"_memo_list_bundles");rt(this,"_memo_discovery_tools");this._cfg={...n,base_url:(n.base_url||"").trim()},this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},this._memo_discovery_tools={ts:0,value:null,promise:null,err_until:0,err:null}}async list_bundles(n){const r=(n==null?void 0:n.refresh)===!0,l=Date.now(),a=5e3,d=2e3;if(!r){if(this._memo_list_bundles.value&&l-this._memo_list_bundles.ts<a)return this._memo_list_bundles.value;if(this._memo_list_bundles.promise)return await this._memo_list_bundles.promise;if(this._memo_list_bundles.err&&l<this._memo_list_bundles.err_until)throw this._memo_list_bundles.err}const f=(async()=>{const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles"),{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Lr(`list_bundles failed: ${await et(p)}`,p.status,Ei(p));return await p.json()})();this._memo_list_bundles.promise=f;try{const p=await f;return this._memo_list_bundles={ts:Date.now(),value:p,promise:null,err_until:0,err:null},p}catch(p){const h=p instanceof Error?p:new Error(String(p)),y=h instanceof Lr&&h.status===429&&typeof h.retry_after_s=="number"&&Number.isFinite(h.retry_after_s)?Math.max(0,Math.trunc(h.retry_after_s)*1e3):0;throw this._memo_list_bundles={ts:0,value:null,promise:null,err_until:Date.now()+Math.max(d,y),err:h},h}finally{this._memo_list_bundles.promise===f&&(this._memo_list_bundles.promise=null)}}async reload_bundles(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles/reload"),{method:"POST",headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`reload_bundles failed: ${await et(n)}`);const r=await n.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},r}async upload_bundle(n,r){const l=(r==null?void 0:r.overwrite)===!0,a=(r==null?void 0:r.reload)!==!1,d=new FormData;d.set("overwrite",l?"true":"false"),d.set("reload",a?"true":"false"),d.set("file",n,n.name||"upload.flow");const f=await fetch(Ze(this._cfg.base_url,"/api/gateway/bundles/upload"),{method:"POST",headers:{...qe(this._cfg.auth_token)},body:d});if(!f.ok)throw new Error(`upload_bundle failed: ${await et(f)}`);const p=await f.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},p}async remove_bundle(n,r){const l=String(n||"").trim();if(!l)throw new Error("remove_bundle: bundle_id is required");const a=new URLSearchParams,d=String((r==null?void 0:r.bundle_version)||"").trim();d&&a.set("bundle_version",d),a.set("reload",(r==null?void 0:r.reload)===!1?"false":"true");const f=Ze(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(l)}?${a.toString()}`),p=await fetch(f,{method:"DELETE",headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`remove_bundle failed: ${await et(p)}`);const h=await p.json();return this._memo_list_bundles={ts:0,value:null,promise:null,err_until:0,err:null},h}async discovery_tools(n){const r=(n==null?void 0:n.refresh)===!0,l=Date.now(),a=3e4,d=2e3;if(!r){if(this._memo_discovery_tools.value&&l-this._memo_discovery_tools.ts<a)return this._memo_discovery_tools.value;if(this._memo_discovery_tools.promise)return await this._memo_discovery_tools.promise;if(this._memo_discovery_tools.err&&l<this._memo_discovery_tools.err_until)throw this._memo_discovery_tools.err}const f=(async()=>{const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/tools"),{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`discovery_tools failed: ${await et(p)}`);return await p.json()})();this._memo_discovery_tools.promise=f;try{const p=await f;return this._memo_discovery_tools={ts:Date.now(),value:p,promise:null,err_until:0,err:null},p}catch(p){const h=p instanceof Error?p:new Error(String(p));throw this._memo_discovery_tools={ts:0,value:null,promise:null,err_until:Date.now()+d,err:h},h}finally{this._memo_discovery_tools.promise===f&&(this._memo_discovery_tools.promise=null)}}async discovery_capabilities(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/capabilities"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`discovery_capabilities failed: ${await et(n)}`);return await n.json()}async discovery_providers(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/discovery/providers?include_models=false"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`discovery_providers failed: ${await et(n)}`);return await n.json()}async discovery_provider_models(n){const r=String(n||"").trim();if(!r)throw new Error("discovery_provider_models: provider_name is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/discovery/providers/${encodeURIComponent(r)}/models`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`discovery_provider_models failed: ${await et(l)}`);return await l.json()}async discovery_model_capabilities(n){const r=String(n||"").trim();if(!r)throw new Error("discovery_model_capabilities: model_name is required");const l=Ze(this._cfg.base_url,`/api/gateway/discovery/models/capabilities?model_name=${encodeURIComponent(r)}`),a=await fetch(l,{headers:{...qe(this._cfg.auth_token)}});if(!a.ok)throw new Error(`discovery_model_capabilities failed: ${await et(a)}`);return await a.json()}async prompt_cache_stats(n,r){const l=String(n||"").trim(),a=String(r||"").trim();if(!l)throw new Error("prompt_cache_stats: provider is required");if(!a)throw new Error("prompt_cache_stats: model is required");const d=new URLSearchParams;d.set("provider",l),d.set("model",a);const f=Ze(this._cfg.base_url,`/api/gateway/prompt_cache/stats?${d.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`prompt_cache_stats failed: ${await et(p)}`);return await p.json()}async prompt_cache_saved(n,r){const l=String(n||"").trim(),a=String(r||"").trim();if(!l)throw new Error("prompt_cache_saved: provider is required");if(!a)throw new Error("prompt_cache_saved: model is required");const d=new URLSearchParams;d.set("provider",l),d.set("model",a);const f=Ze(this._cfg.base_url,`/api/gateway/prompt_cache/saved?${d.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`prompt_cache_saved failed: ${await et(p)}`);return await p.json()}async prompt_cache_clear(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim();if(!r)throw new Error("prompt_cache_clear: provider is required");if(!l)throw new Error("prompt_cache_clear: model is required");const a={provider:r,model:l},d=String((n==null?void 0:n.key)||"").trim();d&&(a.key=d);const f=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/clear"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!f.ok)throw new Error(`prompt_cache_clear failed: ${await et(f)}`);return await f.json()}async prompt_cache_save(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim(),a=String((n==null?void 0:n.name)||"").trim(),d=String((n==null?void 0:n.key)||"").trim();if(!r)throw new Error("prompt_cache_save: provider is required");if(!l)throw new Error("prompt_cache_save: model is required");if(!a)throw new Error("prompt_cache_save: name is required");if(!d)throw new Error("prompt_cache_save: key is required");const f={provider:r,model:l,name:a,key:d,q8:!!(n!=null&&n.q8)},p=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/save"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!p.ok)throw new Error(`prompt_cache_save failed: ${await et(p)}`);return await p.json()}async prompt_cache_load(n){const r=String((n==null?void 0:n.provider)||"").trim(),l=String((n==null?void 0:n.model)||"").trim(),a=String((n==null?void 0:n.name)||"").trim();if(!r)throw new Error("prompt_cache_load: provider is required");if(!l)throw new Error("prompt_cache_load: model is required");if(!a)throw new Error("prompt_cache_load: name is required");const d={provider:r,model:l,name:a,clear_existing:!!(n!=null&&n.clear_existing)},f=String((n==null?void 0:n.key)||"").trim();f&&(d.key=f);const p=await fetch(Ze(this._cfg.base_url,"/api/gateway/prompt_cache/load"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(d)});if(!p.ok)throw new Error(`prompt_cache_load failed: ${await et(p)}`);return await p.json()}async bug_report_create(n){const r=String((n==null?void 0:n.session_id)||"").trim();if(!r)throw new Error("bug_report_create: session_id is required");const l=String((n==null?void 0:n.description)||"").trim();if(!l)throw new Error("bug_report_create: description is required");const a={session_id:r,description:l},d=String((n==null?void 0:n.active_run_id)||"").trim();d&&(a.active_run_id=d);const f=String((n==null?void 0:n.workflow_id)||"").trim();f&&(a.workflow_id=f);const p=String((n==null?void 0:n.client)||"").trim();p&&(a.client=p);const h=String((n==null?void 0:n.client_version)||"").trim();h&&(a.client_version=h);const y=String((n==null?void 0:n.user_agent)||"").trim();y&&(a.user_agent=y);const v=String((n==null?void 0:n.url)||"").trim();v&&(a.url=v);const w=String((n==null?void 0:n.provider)||"").trim();w&&(a.provider=w);const N=String((n==null?void 0:n.model)||"").trim();N&&(a.model=N);const b=String((n==null?void 0:n.template)||"").trim();b&&(a.template=b);const T=n==null?void 0:n.context;T&&typeof T=="object"&&(a.context=T);const I=await fetch(Ze(this._cfg.base_url,"/api/gateway/bugs/report"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!I.ok)throw new Lr(`bug_report_create failed: ${await et(I)}`,I.status,Ei(I));return await I.json()}async feature_report_create(n){const r=String((n==null?void 0:n.session_id)||"").trim();if(!r)throw new Error("feature_report_create: session_id is required");const l=String((n==null?void 0:n.description)||"").trim();if(!l)throw new Error("feature_report_create: description is required");const a={session_id:r,description:l},d=String((n==null?void 0:n.active_run_id)||"").trim();d&&(a.active_run_id=d);const f=String((n==null?void 0:n.workflow_id)||"").trim();f&&(a.workflow_id=f);const p=String((n==null?void 0:n.client)||"").trim();p&&(a.client=p);const h=String((n==null?void 0:n.client_version)||"").trim();h&&(a.client_version=h);const y=String((n==null?void 0:n.user_agent)||"").trim();y&&(a.user_agent=y);const v=String((n==null?void 0:n.url)||"").trim();v&&(a.url=v);const w=String((n==null?void 0:n.provider)||"").trim();w&&(a.provider=w);const N=String((n==null?void 0:n.model)||"").trim();N&&(a.model=N);const b=String((n==null?void 0:n.template)||"").trim();b&&(a.template=b);const T=n==null?void 0:n.context;T&&typeof T=="object"&&(a.context=T);const I=await fetch(Ze(this._cfg.base_url,"/api/gateway/features/report"),{method:"POST",headers:{"content-type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(a)});if(!I.ok)throw new Lr(`feature_report_create failed: ${await et(I)}`,I.status,Ei(I));return await I.json()}async workspace_policy(){const n=await fetch(Ze(this._cfg.base_url,"/api/gateway/workspace/policy"),{headers:{...qe(this._cfg.auth_token)}});if(!n.ok)throw new Error(`workspace_policy failed: ${await et(n)}`);return await n.json()}async files_search(n,r){const l=String(n||"").trim(),a=typeof(r==null?void 0:r.limit)=="number"?r.limit:20,d=r==null?void 0:r.signal;if(!l)return{items:[]};const f=new URLSearchParams;f.set("query",l),f.set("limit",String(a));const p=r==null?void 0:r.scope;if(p){const v=String(p.workspace_root||"").trim(),w=String(p.workspace_access_mode||"").trim(),N=String(p.workspace_allowed_paths||"").trim(),b=String(p.workspace_ignored_paths||"").trim();v&&f.set("workspace_root",v),w&&f.set("workspace_access_mode",w),N&&f.set("workspace_allowed_paths",N),b&&f.set("workspace_ignored_paths",b)}const h=Ze(this._cfg.base_url,`/api/gateway/files/search?${f.toString()}`),y=await fetch(h,{headers:{...qe(this._cfg.auth_token)},signal:d});if(!y.ok)throw new Lr(`files_search failed: ${await et(y)}`,y.status,Ei(y));return await y.json()}async files_read(n,r){const l=String(n||"").trim();if(!l)throw new Error("files_read: path is required");const a=new URLSearchParams;a.set("path",l),typeof(r==null?void 0:r.start_line)=="number"&&Number.isFinite(r.start_line)&&a.set("start_line",String(Math.max(1,Math.trunc(r.start_line)))),typeof(r==null?void 0:r.end_line)=="number"&&Number.isFinite(r.end_line)&&a.set("end_line",String(Math.max(1,Math.trunc(r.end_line))));const d=r==null?void 0:r.scope;if(d){const h=String(d.workspace_root||"").trim(),y=String(d.workspace_access_mode||"").trim(),v=String(d.workspace_allowed_paths||"").trim(),w=String(d.workspace_ignored_paths||"").trim();h&&a.set("workspace_root",h),y&&a.set("workspace_access_mode",y),v&&a.set("workspace_allowed_paths",v),w&&a.set("workspace_ignored_paths",w)}const f=Ze(this._cfg.base_url,`/api/gateway/files/read?${a.toString()}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`files_read failed: ${await et(p)}`);return await p.json()}async attachments_ingest(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("attachments_ingest: session_id is required");const d=String(r||"").trim();if(!d)throw new Error("attachments_ingest: path is required");const f={session_id:a,path:d},p=String((l==null?void 0:l.filename)||"").trim(),h=String((l==null?void 0:l.content_type)||"").trim();p&&(f.filename=p),h&&(f.content_type=h);const y=l==null?void 0:l.scope;if(y){const T=String(y.workspace_root||"").trim(),I=String(y.workspace_access_mode||"").trim(),U=String(y.workspace_allowed_paths||"").trim(),z=String(y.workspace_ignored_paths||"").trim();T&&(f.workspace_root=T),I&&(f.workspace_access_mode=I),U&&(f.workspace_allowed_paths=U),z&&(f.workspace_ignored_paths=z)}const v=await fetch(Ze(this._cfg.base_url,"/api/gateway/attachments/ingest"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!v.ok)throw new Error(`attachments_ingest failed: ${await et(v)}`);const w=await v.json(),N=w==null?void 0:w.attachment;if(!N||typeof N!="object")throw new Error("attachments_ingest: missing attachment");if(!String(N.$artifact||"").trim())throw new Error("attachments_ingest: missing attachment.$artifact");return N}async attachments_upload(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("attachments_upload: session_id is required");if(!r)throw new Error("attachments_upload: file is required");const d=String((l==null?void 0:l.filename)||"").trim()||String((r==null?void 0:r.name)||"").trim()||"upload.bin",f=String((l==null?void 0:l.content_type)||"").trim()||String((r==null?void 0:r.type)||"").trim(),p=new FormData;p.append("session_id",a),p.append("file",r,d),p.append("filename",d),f&&p.append("content_type",f);const h=await fetch(Ze(this._cfg.base_url,"/api/gateway/attachments/upload"),{method:"POST",headers:{...qe(this._cfg.auth_token)},body:p});if(!h.ok)throw new Error(`attachments_upload failed: ${await et(h)}`);const y=await h.json(),v=y==null?void 0:y.attachment;if(!v||typeof v!="object")throw new Error("attachments_upload: missing attachment");if(!String(v.$artifact||"").trim())throw new Error("attachments_upload: missing attachment.$artifact");return v}async get_run_artifact_text(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("get_run_artifact_text: run_id is required");const d=String(r||"").trim();if(!d)throw new Error("get_run_artifact_text: artifact_id is required");const f=Number.isFinite(Number(l==null?void 0:l.max_bytes))?Math.max(1,Math.trunc(Number(l==null?void 0:l.max_bytes))):4e5,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(a)}/artifacts/${encodeURIComponent(d)}/content`),h=await fetch(p,{headers:{...qe(this._cfg.auth_token)}});if(!h.ok)throw new Error(`get_run_artifact_text failed: ${await et(h)}`);try{const v=h.headers.get("content-length");if(v){const w=Number(v);if(Number.isFinite(w)&&w>f)throw new Error(`Artifact too large to preview (${w.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`)}}catch(v){throw new Error(String((v==null?void 0:v.message)||v||"Artifact too large to preview"))}const y=await h.arrayBuffer();if(y.byteLength>f)throw new Error(`Artifact too large to preview (${y.byteLength.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`);try{return new TextDecoder("utf-8").decode(new Uint8Array(y))}catch{throw new Error("Failed to decode artifact as UTF-8 text")}}async get_run_artifact_blob(n,r,l){const a=String(n||"").trim();if(!a)throw new Error("get_run_artifact_blob: run_id is required");const d=String(r||"").trim();if(!d)throw new Error("get_run_artifact_blob: artifact_id is required");const f=Number.isFinite(Number(l==null?void 0:l.max_bytes))?Math.max(1,Math.trunc(Number(l==null?void 0:l.max_bytes))):25e6,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(a)}/artifacts/${encodeURIComponent(d)}/content`),h=await fetch(p,{headers:{...qe(this._cfg.auth_token)}});if(!h.ok)throw new Error(`get_run_artifact_blob failed: ${await et(h)}`);const y=String(h.headers.get("content-type")||"").trim()||"application/octet-stream";try{const N=h.headers.get("content-length");if(N){const b=Number(N);if(Number.isFinite(b)&&b>f)throw new Error(`Artifact too large (${b.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`)}}catch(N){throw new Error(String((N==null?void 0:N.message)||N||"Artifact too large"))}const v=await h.arrayBuffer();if(v.byteLength>f)throw new Error(`Artifact too large (${v.byteLength.toLocaleString()} bytes > ${f.toLocaleString()} bytes).`);return{blob:new Blob([v],{type:y}),content_type:y}}async list_run_artifacts(n,r){const l=String(n||"").trim();if(!l)throw new Error("list_run_artifacts: run_id is required");const a=Number.isFinite(Number(r==null?void 0:r.limit))?Math.max(1,Math.min(2e3,Math.trunc(Number(r==null?void 0:r.limit)))):200,d=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/artifacts?limit=${encodeURIComponent(String(a))}`),f=await fetch(d,{headers:{...qe(this._cfg.auth_token)}});if(!f.ok)throw new Error(`list_run_artifacts failed: ${await et(f)}`);return await f.json()}async get_bundle(n){const r=String(n||"").trim();if(!r)throw new Error("get_bundle: bundle_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/bundles/${encodeURIComponent(r)}`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_bundle failed: ${await et(l)}`);return await l.json()}async start_run(n,r,l){const a=String((l==null?void 0:l.bundle_id)||"").trim(),d=String((l==null?void 0:l.session_id)||"").trim(),f=String(n||"").trim(),p={input_data:r||{}};a&&(p.bundle_id=a),f&&(p.flow_id=f),d&&(p.session_id=d);const h=await fetch(Ze(this._cfg.base_url,"/api/gateway/runs/start"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(p)});if(!h.ok)throw new Error(`start_run failed: ${await et(h)}`);const y=await h.json(),v=y==null?void 0:y.run_id;if(typeof v!="string"||!v)throw new Error("start_run: missing run_id");return v}async audio_transcribe(n,r){const l=String(n||"").trim();if(!l)throw new Error("audio_transcribe: run_id is required");const a=r==null?void 0:r.audio_artifact;if(!a||typeof a!="object")throw new Error("audio_transcribe: audio_artifact is required");if(!String(a.$artifact||"").trim())throw new Error("audio_transcribe: audio_artifact.$artifact is required");const f={audio_artifact:a},p=String((r==null?void 0:r.language)||"").trim();p&&(f.language=p);const h=String((r==null?void 0:r.request_id)||"").trim();h&&(f.request_id=h);const y=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/audio/transcribe`),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(f)});if(!y.ok)throw new Lr(`audio_transcribe failed: ${await et(y)}`,y.status,Ei(y));const v=await y.json(),w=String((v==null?void 0:v.text)||"");return{ok:!!(v!=null&&v.ok),run_id:String((v==null?void 0:v.run_id)||""),request_id:String((v==null?void 0:v.request_id)||""),text:w,transcript_artifact:v==null?void 0:v.transcript_artifact}}async voice_tts(n,r){const l=String(n||"").trim();if(!l)throw new Error("voice_tts: run_id is required");const a=String((r==null?void 0:r.text)||"").trim();if(!a)throw new Error("voice_tts: text is required");const d={text:a},f=String((r==null?void 0:r.voice)||"").trim();f&&(d.voice=f);const p=String((r==null?void 0:r.format)||"").trim();p&&(d.format=p);const h=String((r==null?void 0:r.request_id)||"").trim();h&&(d.request_id=h);const y=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/voice/tts`),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(d)});if(!y.ok)throw new Lr(`voice_tts failed: ${await et(y)}`,y.status,Ei(y));const v=await y.json();return{ok:!!(v!=null&&v.ok),run_id:String((v==null?void 0:v.run_id)||""),request_id:String((v==null?void 0:v.request_id)||""),audio_artifact:v==null?void 0:v.audio_artifact}}async get_run(n){const r=String(n||"").trim();if(!r)throw new Error("get_run: run_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(r)}`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_run failed: ${await et(l)}`);return await l.json()}async get_run_input_data(n){const r=String(n||"").trim();if(!r)throw new Error("get_run_input_data: run_id is required");const l=await fetch(Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(r)}/input_data`),{headers:{...qe(this._cfg.auth_token)}});if(!l.ok)throw new Error(`get_run_input_data failed: ${await et(l)}`);return await l.json()}async list_runs(n){const r=typeof(n==null?void 0:n.limit)=="number"?n.limit:50,l=String((n==null?void 0:n.status)||"").trim(),a=String((n==null?void 0:n.workflow_id)||"").trim(),d=String((n==null?void 0:n.session_id)||"").trim(),f=typeof(n==null?void 0:n.root_only)=="boolean"?n.root_only:void 0,p=typeof(n==null?void 0:n.include_ledger_len)=="boolean"?n.include_ledger_len:void 0,h=typeof(n==null?void 0:n.include_metrics)=="boolean"?n.include_metrics:void 0,y=new URLSearchParams;y.set("limit",String(r)),l&&y.set("status",l),a&&y.set("workflow_id",a),d&&y.set("session_id",d),typeof f=="boolean"&&y.set("root_only",f?"true":"false"),typeof p=="boolean"&&y.set("include_ledger_len",p?"true":"false"),typeof h=="boolean"&&y.set("include_metrics",h?"true":"false");const v=Ze(this._cfg.base_url,`/api/gateway/runs?${y.toString()}`),w=await fetch(v,{headers:{...qe(this._cfg.auth_token)}});if(!w.ok)throw new Error(`list_runs failed: ${await et(w)}`);return await w.json()}async get_ledger(n,r){const l=String(n||"").trim();if(!l)throw new Error("get_ledger: run_id is required");const a=Number((r==null?void 0:r.after)||0),d=Number((r==null?void 0:r.limit)||0),f=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/ledger?after=${encodeURIComponent(String(a))}&limit=${encodeURIComponent(String(d))}`),p=await fetch(f,{headers:{...qe(this._cfg.auth_token)}});if(!p.ok)throw new Error(`get_ledger failed: ${await et(p)}`);const h=await p.json(),y=Array.isArray(h==null?void 0:h.items)?h.items:[],v=typeof(h==null?void 0:h.next_after)=="number"?h.next_after:a;return{items:y,next_after:v}}async get_run_history_bundle(n,r){const l=String(n||"").trim();if(!l)throw new Error("get_run_history_bundle: run_id is required");const a=new URLSearchParams;typeof(r==null?void 0:r.include_subruns)=="boolean"&&a.set("include_subruns",r.include_subruns?"true":"false"),typeof(r==null?void 0:r.include_session)=="boolean"&&a.set("include_session",r.include_session?"true":"false"),typeof(r==null?void 0:r.session_turn_limit)=="number"&&Number.isFinite(r.session_turn_limit)&&a.set("session_turn_limit",String(Math.max(1,Math.trunc(r.session_turn_limit)))),r!=null&&r.ledger_mode&&a.set("ledger_mode",String(r.ledger_mode)),typeof(r==null?void 0:r.ledger_max_items)=="number"&&Number.isFinite(r.ledger_max_items)&&a.set("ledger_max_items",String(Math.max(0,Math.trunc(r.ledger_max_items))));const d=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/history_bundle?${a.toString()}`),f=await fetch(d,{headers:{...qe(this._cfg.auth_token)}});if(!f.ok)throw new Error(`get_run_history_bundle failed: ${await et(f)}`);return await f.json()}async submit_command(n){const r=await fetch(Ze(this._cfg.base_url,"/api/gateway/commands"),{method:"POST",headers:{"Content-Type":"application/json",...qe(this._cfg.auth_token)},body:JSON.stringify(n)});if(!r.ok)throw new Error(`submit_command failed: ${await et(r)}`);return await r.json()}async stream_ledger(n,r){const l=String(n||"").trim();if(!l)throw new Error("stream_ledger: run_id is required");const a=Number((r==null?void 0:r.after)||0),d=r.on_step,f=r.signal,p=Ze(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/ledger/stream?after=${encodeURIComponent(String(a))}`),h=await fetch(p,{headers:{Accept:"text/event-stream",...qe(this._cfg.auth_token)},signal:f});if(!h.ok)throw new Error(`stream_ledger failed: ${await et(h)}`);if(!h.body)throw new Error("stream_ledger: response body is missing");const y=h.body.getReader(),v=new TextDecoder("utf-8"),w=new ug;for(;;){const{value:N,done:b}=await y.read();if(b)return;const T=v.decode(N,{stream:!0});w.push(T,I=>{if(!(I.event!=="step"||!I.data))try{const U=JSON.parse(I.data);U&&typeof U.cursor=="number"&&U.record&&d(U)}catch{}})}}}function Il(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`id_${Date.now()}_${Math.random().toString(16).slice(2)}`}function nu(s){var l;const n=s,r=(l=n==null?void 0:n.result)==null?void 0:l.wait;return!r||typeof r!="object"?null:r}function Fl(s){const n=s,r=n==null?void 0:n.details;if(!r||typeof r!="object")return[];const l=r==null?void 0:r.tool_calls;return Array.isArray(l)?l:[]}function ru(s){const n=s;if(!n||typeof n!="object")return"unknown";const r=n.details&&typeof n.details=="object"?n.details:null,l=String((r==null?void 0:r.sub_workflow_id)||"").trim(),a=String(n.resume_to_node||"").trim(),d=String(n.result_key||"").trim();return l.startsWith("visual_react_agent_")||l.endsWith("_agent")||a==="agent"||d.startsWith("_temp.agent")||d.includes(".agent.")||(r==null?void 0:r.include_traces)===!0?"user_facing":"background"}function fg(s,n){const r=String(n.run_id||"").trim();if(!r)return s;const l=String(s.run_id||"").trim();return l?l===r?s.kind==="unknown"&&n.kind!=="unknown"?{run_id:l,kind:n.kind}:s:n.kind==="user_facing"&&s.kind!=="user_facing"?{run_id:r,kind:n.kind}:s:{run_id:r,kind:n.kind}}function mg(s){const n=s;if(!n||typeof n!="object")return"";const r=n.details,l=String((r==null?void 0:r.sub_run_id)||(r==null?void 0:r.subworkflow_run_id)||(r==null?void 0:r.subRunId)||(r==null?void 0:r.subRunID)||"").trim();if(l)return l;const a=String(n.wait_key||"").trim();return a.startsWith("subworkflow:")?String(a.split(":",2)[1]||"").trim():""}function pg(s,n){var l;const r=String(n||"").trim();if(!r)return null;for(let a=s.length-1;a>=0;a--){const d=(l=s[a])==null?void 0:l.record;if(!d||typeof d!="object")continue;const f=String(d.run_id||"").trim();if(f&&f===r)return d}return null}function hg(s){const n=String(s.root_run_id||"").trim(),r=s.root_wait??null,l=n?[n]:[],a=String((r==null?void 0:r.reason)||"").trim();if(!n||!r||a!=="subworkflow")return{wait:r,wait_run_id:n||null,chain:l,tool_calls:Fl(r)};const d=mg(r);if(!d)return{wait:r,wait_run_id:n,chain:l,tool_calls:Fl(r)};l.push(d);const f=pg(s.records||[],d),p=nu(f);return p?{wait:p,wait_run_id:d,chain:l,tool_calls:Fl(p)}:{wait:r,wait_run_id:n,chain:l,tool_calls:Fl(r)}}function Hm(s){return!!s&&typeof s=="object"&&!Array.isArray(s)}function Vm(s){return Array.isArray(s)}function gg(s){if(s==null)return"";if(typeof s=="string")return s;try{return JSON.stringify(s,null,2)}catch{return String(s)}}async function _g(s){const n=String(s||"");if(n)try{await navigator.clipboard.writeText(n)}catch{const r=document.createElement("textarea");r.value=n,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Ti({kind:s,children:n}){return c.jsx("span",{className:`pc-json-token ${s}`,children:n})}function yg(s){return s===null?c.jsx(Ti,{kind:"null",children:"null"}):typeof s=="string"?c.jsx(Ti,{kind:"string",children:JSON.stringify(s)}):typeof s=="number"?c.jsx(Ti,{kind:"number",children:String(s)}):typeof s=="boolean"?c.jsx(Ti,{kind:"boolean",children:s?"true":"false"}):c.jsx(Ti,{kind:"string",children:JSON.stringify(String(s))})}function wg(s){return Vm(s)?s.length===1?"1 item":`${s.length} items`:Hm(s)?Object.keys(s).length===1?"1 key":`${Object.keys(s).length} keys`:""}function Gm(s){const{label:n,value:r,depth:l,collapseAfterDepth:a,trailingComma:d}=s,f=l*14,p=Hm(r),h=Vm(r),y=p||h,v=l<a,[w,N]=S.useState(v),b=n?c.jsxs(c.Fragment,{children:[c.jsx(Ti,{kind:"key",children:JSON.stringify(n)}),": "]}):null;if(!y)return c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[b,yg(r),d?",":""]});const T=h?"[":"{",I=h?"]":"}",U=wg(r),z=w?`${T}`:`${T}…${I}${U?` (${U})`:""}`,D=h?r.map(($,O)=>({key:String(O),label:void 0,value:$})):Object.entries(r).map(([$,O])=>({key:$,label:$,value:O}));return c.jsxs("details",{className:"pc-json-viewer__details",open:w,onToggle:$=>N($.currentTarget.open),children:[c.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:f},children:[b,c.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:w?"▾":"▸"}),c.jsx("span",{className:"pc-json-viewer__punct",children:z}),!w&&d?c.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),w?c.jsx("div",{className:"pc-json-viewer__children",children:D.length===0?c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"pc-json-viewer__punct",children:I}),d?",":""]}):c.jsxs(c.Fragment,{children:[D.map(($,O)=>{const P=O===D.length-1;return c.jsx(Gm,{label:$.label,value:$.value,depth:l+1,collapseAfterDepth:a,trailingComma:!P},`${l}:${n||"root"}:${$.key}`)}),c.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"pc-json-viewer__punct",children:I}),d?",":""]})]})}):null]})}function vg(s){const{value:n,className:r,showCopy:l=!0}=s,a=Number.isFinite(s.collapseAfterDepth??NaN)?Number(s.collapseAfterDepth):3,d=S.useMemo(()=>gg(n),[n]),f=["pc-json-viewer",r].filter(Boolean).join(" ");return c.jsxs("div",{className:f,children:[l?c.jsx("div",{className:"pc-json-viewer__toolbar",children:c.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void _g(d),children:"Copy"})}):null,c.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:c.jsx(Gm,{value:n,depth:0,collapseAfterDepth:a,trailingComma:!1})})]})}function Ul(s,n){const r=String(s??"");if(!n||!n.needles.length)return[r];const l=[],a=r.toLowerCase();let d=0;for(;d<r.length;){let f=-1,p="";for(let v=0;v<n.needlesLower.length;v++){const w=n.needlesLower[v];if(!w)continue;const N=a.indexOf(w,d);if(N===-1)continue;const b=n.needles[v]||"";b&&(f===-1||N<f||N===f&&b.length>p.length)&&(f=N,p=b)}if(f===-1||!p){l.push(r.slice(d));break}f>d&&l.push(r.slice(d,f));const h=n.hits===0&&n.id?n.id:void 0,y=r.slice(f,f+p.length);l.push(c.jsx("span",{id:h,className:n.className,children:y},`hl:${n.hits}`)),n.hits+=1,d=f+p.length}return l}function Js(s,n){const r=[],l=String(s??"");let a=0,d="";const f=()=>{if(d){for(const p of Ul(d,n))r.push(p);d=""}};for(;a<l.length;){const p=l[a];if(p==="`"){const h=l.indexOf("`",a+1);if(h!==-1){f();const y=l.slice(a+1,h);r.push(c.jsx("code",{children:n?Ul(y,n):y},`code:${a}`)),a=h+1;continue}}if(p==="*"&&l[a+1]==="*"){const h=l.indexOf("**",a+2);if(h!==-1){f();const y=l.slice(a+2,h);r.push(c.jsx("strong",{children:n?Ul(y,n):y},`bold:${a}`)),a=h+2;continue}}if(p==="*"&&l[a+1]!=="*"){const h=l.indexOf("*",a+1);if(h!==-1){f();const y=l.slice(a+1,h);r.push(c.jsx("em",{children:n?Ul(y,n):y},`em:${a}`)),a=h+1;continue}}d+=p,a+=1}return f(),r}function xg(s){return String(s??"").replace(/\r\n/g,`
|
|
43
43
|
`).replace(/\r/g,`
|
|
44
44
|
`).split(`
|
|
45
|
-
`)}function Qf(s){let n=String(s??"").trim();return n?(n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1)),n.split("|").map(r=>String(r??"").trim())):[]}function Sg(s){let n=String(s??"").trim();if(!n)return!1;n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1));const r=n.split("|").map(l=>String(l??"").trim());return r.length<2?!1:r.every(l=>/^:?-{3,}:?$/.test(l))}function kg({text:s,className:n,highlight:r,highlights:l,highlightClassName:a,highlightId:d}){const f=xg(s),p=[],h=[];Array.isArray(l)&&h.push(...l),typeof r=="string"&&r.trim()&&h.push(r);const y=Array.from(new Set(h.map(b=>String(b??"").trim()).filter(Boolean))).filter(b=>b.length>=4),v=y.length?{needles:y,needlesLower:y.map(b=>b.toLowerCase()),className:a||"pc-md_hl",id:d,hits:0}:null;let w=0;for(;w<f.length;){const b=String(f[w]??"");if(!b.trim()){w+=1;continue}const T=b.trim();if(T==="---"||T==="___"||T==="***"||/^(-{3,}|_{3,}|\*{3,})$/.test(T)){p.push(c.jsx("hr",{className:"pc-md_hr"},`hr:${w}`)),w+=1;continue}if(b.trim().startsWith("```")){const O=b.trim().replace(/```/g,"").trim(),
|
|
46
|
-
`);p.push(c.jsx("pre",{className:"pc-md_pre",children:c.jsx("code",{className:O?`language-${O}`:void 0,children:V})},`pre:${w}`));continue}const I=b.match(/^(#{1,3})\s+(.*)$/);if(I){const $=I[1].length,O=I[2]||"",z=Js(O,v);$===1?p.push(c.jsx("h1",{children:z},`h1:${w}`)):$===2?p.push(c.jsx("h2",{children:z},`h2:${w}`)):p.push(c.jsx("h3",{children:z},`h3:${w}`)),w+=1;continue}if(b.trimStart().startsWith(">")){const $=[];for(;w<f.length&&String(f[w]??"").trimStart().startsWith(">");){const z=String(f[w]??"").trimStart();$.push(z.replace(/^>\s?/,"")),w+=1}p.push(c.jsx("blockquote",{className:"pc-md_quote",children:$.map((O,z)=>c.jsxs(xr.Fragment,{children:[Js(O,v),z<$.length-1?c.jsx("br",{}):null]},`q:${w}:${z}`))},`quote:${w}`));continue}if(b.includes("|")&&w+1<f.length&&Sg(String(f[w+1]??""))){const $=Qf(b),O=Math.max(1,$.length),z=[];for(w+=2;w<f.length;){const V=String(f[w]??"");if(!V.trim()||!V.includes("|"))break;const re=Qf(V),L=[];for(let xe=0;xe<O;xe++)L.push(re[xe]??"");z.push(L),w+=1}p.push(c.jsx("div",{className:"pc-md_table_wrap",children:c.jsxs("table",{className:"pc-md_table",children:[c.jsx("thead",{children:c.jsx("tr",{children:$.slice(0,O).map((V,re)=>c.jsx("th",{children:Js(V,v)},`th:${w}:${re}`))})}),c.jsx("tbody",{children:z.map((V,re)=>c.jsx("tr",{children:V.map((L,xe)=>c.jsx("td",{children:Js(L,v)},`td:${w}:${re}:${xe}`))},`tr:${w}:${re}`))})]})},`table:${w}`));continue}const U=$=>/^\s*\d+\.\s+/.test($);if(U(b)){const $=[];for(;w<f.length&&U(String(f[w]??""));){const O=String(f[w]??"");$.push(O.replace(/^\s*\d+\.\s+/,"")),w+=1}p.push(c.jsx("ol",{className:"pc-md_ol",children:$.map((O,z)=>c.jsx("li",{children:Js(O,v)},`oli:${w}:${z}`))},`ol:${w}`));continue}const P=$=>{const O=$.trimStart();return O.startsWith("- ")||O.startsWith("* ")};if(P(b)){const $=[];for(;w<f.length&&P(String(f[w]??""));){const O=String(f[w]??"").trimStart();$.push(O.slice(2)),w+=1}p.push(c.jsx("ul",{className:"pc-md_ul",children:$.map((O,z)=>c.jsx("li",{children:Js(O,v)},`li:${w}:${z}`))},`ul:${w}`));continue}const D=[];for(;w<f.length&&String(f[w]??"").trim();)D.push(String(f[w]??"")),w+=1;p.push(c.jsx("p",{className:"pc-md_p",children:D.map(($,O)=>c.jsxs(xr.Fragment,{children:[Js($,v),O<D.length-1?c.jsx("br",{}):null]},`pl:${w}:${O}`))},`p:${w}`))}const N=["pc-md",n].filter(Boolean).join(" ");return c.jsx("div",{className:N,children:p})}function bg(s){const n=String(s??"").trim();if(!n||!(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]")))return null;try{return JSON.parse(n)}catch{return null}}function jg(s){const n=String(s.text??""),r=bg(n),l=["pc-chat-content",s.className].filter(Boolean).join(" ");return r!==null?c.jsx("div",{className:l,children:c.jsx(vg,{value:r,collapseAfterDepth:s.jsonCollapseAfterDepth})}):s.renderMarkdown?c.jsx("div",{className:l,children:s.renderMarkdown(n)}):c.jsx("div",{className:l,children:c.jsx(kg,{text:n})})}var Ng=Wm();const Qm=[{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"]}];Qm.map(s=>({id:s.id,label:s.label}));function Eg(s){return`theme-${String(s||"").trim()||"dark"}`}function Cg(s){try{const n=document.documentElement,r=Array.from(n.classList).filter(l=>l.startsWith("theme-"));for(const l of r)n.classList.remove(l);n.classList.add(Eg(s))}catch{}}const su=[{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}],iu=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function Tg(s){const n=String(s).trim();return su.find(r=>r.id===n)||su[1]}function Mg(s){const n=String(s).trim();return iu.find(r=>r.id===n)||iu[1]}function Ag(s){try{const n=document.documentElement,r=Tg(s.font_scale||"md"),l=Mg(s.header_density||"standard");n.style.setProperty("--font-scale",String(r.scale)),n.style.setProperty("--header-density",String(l.density))}catch{}}function Ci(...s){return s.filter(Boolean).join(" ")}function Co({value:s,options:n,placeholder:r="Select…",disabled:l=!1,loading:a=!1,searchable:d=!0,searchPlaceholder:f="Search…",allowCustom:p=!1,clearable:h=!1,minPopoverWidth:y=240,variant:v="panel",className:w,triggerClassName:N,onChange:b,renderOption:T,renderValue:I}){const U=S.useRef(null),P=S.useRef(null),D=S.useRef(null),[$,O]=S.useState(!1),[z,V]=S.useState(""),[re,L]=S.useState(0),[xe,W]=S.useState("bottom"),[se,J]=S.useState({left:0,top:0,width:0}),pe=S.useMemo(()=>{const G=String(s??"");return n.find(_e=>_e.value===G)||null},[n,s]),Ce=S.useMemo(()=>(pe==null?void 0:pe.label)||String(s||"").trim()||"",[pe,s]),Q=S.useMemo(()=>{const G=z.trim().toLowerCase();return G?n.filter(_e=>_e.label.toLowerCase().includes(G)||_e.value.toLowerCase().includes(G)):n},[n,z]),ke=S.useMemo(()=>{if(!p)return null;const G=z.trim();return!G||n.some(Re=>Re.value===G)?null:{value:G,label:`Use "${G}"`}},[p,n,z]),Se=S.useMemo(()=>ke?[ke,...Q]:Q,[ke,Q]),te=S.useCallback(()=>{const G=U.current;if(!G)return;const _e=G.getBoundingClientRect(),Re=Math.max(_e.width,y),He=Math.max(8,Math.min(_e.left,window.innerWidth-Re-8)),Ge=window.innerHeight-_e.bottom,Je=_e.top,st=Ge>=220||Ge>=Je?"bottom":"top";W(st);const kt=st==="bottom"?_e.bottom+6:_e.top-6;J({left:He,top:kt,width:Re})},[y]),we=S.useCallback(()=>{O(!1),V("")},[]);S.useEffect(()=>{if(!$)return;te();const G=()=>te();return window.addEventListener("resize",G),window.addEventListener("scroll",G,!0),()=>{window.removeEventListener("resize",G),window.removeEventListener("scroll",G,!0)}},[$,te]),S.useEffect(()=>{if(!$)return;const G=_e=>{var He,Ge;const Re=_e.target;Re&&((He=U.current)!=null&&He.contains(Re)||(Ge=P.current)!=null&&Ge.contains(Re)||we())};return document.addEventListener("mousedown",G,!0),()=>document.removeEventListener("mousedown",G,!0)},[$,we]),S.useEffect(()=>{if(!$)return;const G=Math.max(0,Se.findIndex(_e=>_e.value===s));L(G===-1?0:G),d&&setTimeout(()=>{var _e;return(_e=D.current)==null?void 0:_e.focus()},0)},[$,d,s,Se]);const he=G=>{b(G),we()},k=G=>{l||(G.key==="Enter"||G.key===" "?(G.preventDefault(),O(_e=>!_e)):G.key==="ArrowDown"&&(G.preventDefault(),O(!0)))},B=G=>{if(G.key==="Escape"){G.preventDefault(),we();return}if(G.key==="ArrowDown"){G.preventDefault(),L(_e=>Math.min(_e+1,Math.max(0,Se.length-1)));return}if(G.key==="ArrowUp"){G.preventDefault(),L(_e=>Math.max(_e-1,0));return}if(G.key==="Enter"){G.preventDefault();const _e=Se[re];_e&&he(_e.value)}},le=!!String(s||"").trim(),ge=le?Ce:r,ve=c.jsx("span",{className:Ci("af-select-value",!le&&"af-select-value--placeholder"),children:a?"Loading…":ge}),ee=I?I(pe,String(s||"")):ve;return c.jsxs("span",{className:Ci("af-select",v==="pin"?"af-select--pin":"af-select--panel",w),children:[c.jsxs("button",{ref:U,type:"button",className:Ci("af-select-trigger",N),disabled:l,onMouseDown:G=>G.stopPropagation(),onClick:G=>{G.stopPropagation(),!l&&O(_e=>!_e)},onKeyDown:k,"aria-haspopup":"listbox","aria-expanded":$,children:[ee,h&&le?c.jsx("span",{className:"af-select-clear",role:"button",tabIndex:-1,onMouseDown:G=>{G.preventDefault(),G.stopPropagation()},onClick:G=>{G.preventDefault(),G.stopPropagation(),b(""),we()},title:"Clear",children:"×"}):null,c.jsx("span",{className:Ci("af-select-caret",$&&"af-select-caret--open"),children:"▾"})]}),$?Ng.createPortal(c.jsxs("div",{ref:P,className:Ci("af-select-popover",xe==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${se.left}px`,top:`${se.top}px`,width:`${se.width}px`},onMouseDown:G=>G.stopPropagation(),onClick:G=>G.stopPropagation(),onKeyDown:B,role:"listbox",tabIndex:-1,children:[d?c.jsx("div",{className:"af-select-search",children:c.jsx("input",{ref:D,className:"af-select-search-input",value:z,onChange:G=>V(G.target.value),placeholder:f,onKeyDown:B})}):null,c.jsx("div",{className:"af-select-options",children:Se.length===0?c.jsx("div",{className:"af-select-empty",children:"No results"}):Se.map((G,_e)=>{var kt;const Re=G.value===s,He=_e===re,Ge=String(G.group||"").trim(),Je=_e>0?String(((kt=Se[_e-1])==null?void 0:kt.group)||"").trim():"",st=!!Ge&&Ge!==Je;return c.jsxs(xr.Fragment,{children:[st?c.jsx("div",{className:"af-select-group",children:Ge}):null,c.jsx("div",{className:Ci("af-select-option",Re&&"af-select-option--selected",He&&"af-select-option--highlighted"),onMouseEnter:()=>L(_e),onMouseDown:Qt=>{Qt.preventDefault(),Qt.stopPropagation()},onClick:()=>he(G.value),children:T?T(G,{selected:Re,highlighted:He}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"af-select-option-label",children:G.label}),Re?c.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},G.value)})})]}),document.body):null]})}function $g(s){const n=new Set,r=[];for(const l of s||[]){if(!l||typeof l!="object")continue;const a=String(l.name||"").trim();!a||n.has(a)||(n.add(a),r.push({name:a,display_name:typeof l.display_name=="string"?l.display_name:void 0}))}return r.sort((l,a)=>l.name.localeCompare(a.name)),r}function Rg(s){const n=new Set,r=[];for(const l of s||[]){const a=String(l||"").trim();!a||n.has(a)||(n.add(a),r.push(a))}return r.sort(),r}function Lg(s){const n=s.disabled===!0,r=s.layout||"stack",l=s.allowGatewayDefault!==!1,a=String(s.gatewayDefaultLabel||"(gateway default)"),d=String(s.providerLabel||"Provider"),f=String(s.modelLabel||"Model"),p=String(s.providerPlaceholder||"(select)"),h=String(s.modelPlaceholder||"(select)"),y=String(s.provider||"").trim(),v=String(s.model||"").trim(),w=$g(s.providers),N=Rg(s.models),b=n||!!s.loadingProviders,T=n||!!s.loadingModels,I=[...l?[{value:"",label:a}]:[],...w.map(P=>({value:P.name,label:P.display_name?`${P.display_name} (${P.name})`:P.name}))],U=[...l?[{value:"",label:a}]:[],...N.map(P=>({value:P,label:P}))];return c.jsxs("div",{className:s.className,style:r==="row"?{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-start"}:{display:"flex",flexDirection:"column",gap:"10px"},children:[c.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[c.jsx("label",{children:d}),c.jsx(Co,{value:y,options:I,placeholder:l?a:p,disabled:b,loading:!!s.loadingProviders,searchable:!0,allowCustom:s.allowCustomProvider===!0,clearable:l,variant:"panel",triggerClassName:s.selectClassName,onChange:P=>s.onChange({provider:String(P||"").trim(),model:""})}),s.loadingProviders?c.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading providers…"}):null,s.providerError?c.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:s.providerError}):null]}),c.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[c.jsx("label",{children:f}),c.jsx(Co,{value:v,options:U,placeholder:l?a:h,disabled:T,loading:!!s.loadingModels,searchable:!0,allowCustom:s.allowCustomModel===!0,clearable:l,variant:"panel",triggerClassName:s.selectClassName,onChange:P=>s.onChange({provider:y,model:String(P||"").trim()})}),s.loadingModels?c.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading models…"}):null,s.modelError?c.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:s.modelError}):null]})]})}function Og(s){return s==="light"?"Light":"Dark"}function Pg(s){const n=s.themes&&s.themes.length?s.themes:Qm,r=s.showSwatches!==!1,l=s.variant||"panel",a=S.useMemo(()=>{const f={};for(const p of n)f[p.id]=p;return f},[n]),d=S.useMemo(()=>n.map(f=>({value:f.id,label:f.label,group:Og(f.group)})),[n]);return c.jsx(Co,{value:s.value,options:d,placeholder:s.placeholder||"Select theme…",disabled:s.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:l,className:s.className,triggerClassName:s.triggerClassName,onChange:f=>s.onChange(String(f||"").trim()),renderValue:(f,p)=>{const h=String(p||"").trim(),y=a[h],v=(y==null?void 0:y.label)||h||s.placeholder||"Select theme…",w=(y==null?void 0:y.swatches)||null,N=!h;return c.jsxs("span",{className:"af-theme-value",children:[c.jsx("span",{className:`af-theme-label ${N?"af-theme-label--placeholder":""}`.trim(),children:v}),r&&w?c.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:w.map((b,T)=>c.jsx("span",{className:"af-theme-swatch",style:{background:b}},`${h}:${T}`))}):null]})},renderOption:(f,p)=>{const h=String(f.value||"").trim(),y=a[h],v=(y==null?void 0:y.swatches)||null;return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"af-theme-option-label",children:f.label}),c.jsxs("span",{className:"af-theme-option-right",children:[r&&v?c.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:v.map((w,N)=>c.jsx("span",{className:"af-theme-swatch",style:{background:w}},`${h}:${N}`))}):null,p.selected?c.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function zg(s){const n=s.scales&&s.scales.length?s.scales:su,r=s.variant||"panel",l=S.useMemo(()=>n.map(a=>({value:a.id,label:a.label})),[n]);return c.jsx(Co,{value:s.value,options:l,placeholder:s.placeholder||"Font size…",disabled:s.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:s.className,triggerClassName:s.triggerClassName,onChange:a=>s.onChange(String(a||"").trim())})}function Dg(s){const n=s.densities&&s.densities.length?s.densities:iu,r=s.variant||"panel",l=S.useMemo(()=>n.map(a=>({value:a.id,label:a.label})),[n]);return c.jsx(Co,{value:s.value,options:l,placeholder:s.placeholder||"Header size…",disabled:s.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:s.className,triggerClassName:s.triggerClassName,onChange:a=>s.onChange(String(a||"").trim())})}function Ig(s){switch(s){case"chat":return c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 5v14"}),c.jsx("path",{d:"M5 12h14"})]});case"history":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"9"}),c.jsx("path",{d:"M12 7v5l3 3"})]});case"refresh":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M21 12a9 9 0 0 0-15.5-6.4L3 8"}),c.jsx("path",{d:"M3 3v5h5"}),c.jsx("path",{d:"M3 12a9 9 0 0 0 15.5 6.4L21 16"}),c.jsx("path",{d:"M21 21v-5h-5"})]});case"settings":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M4 6h16"}),c.jsx("circle",{cx:"8",cy:"6",r:"2"}),c.jsx("path",{d:"M4 12h16"}),c.jsx("circle",{cx:"16",cy:"12",r:"2"}),c.jsx("path",{d:"M4 18h16"}),c.jsx("circle",{cx:"10",cy:"18",r:"2"})]});case"user":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"8",r:"4"}),c.jsx("path",{d:"M4 21a8 8 0 0 1 16 0"})]});case"bot":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 2v3"}),c.jsx("rect",{x:"5",y:"6",width:"14",height:"14",rx:"3"}),c.jsx("circle",{cx:"9",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"15",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),c.jsx("path",{d:"M9 17h6"})]});case"paperclip":return c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3z"}),c.jsx("path",{d:"M19 11a7 7 0 0 1-14 0"}),c.jsx("path",{d:"M12 18v4"}),c.jsx("path",{d:"M8 22h8"})]});case"speaker":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),c.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),c.jsx("path",{d:"M18 6a9 9 0 0 1 0 12"})]});case"pause":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"}),c.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"})]});case"terminal":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2",ry:"2"}),c.jsx("path",{d:"M7 9l3 3-3 3"}),c.jsx("path",{d:"M12 15h5"})]});case"edit":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 20h9"}),c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),c.jsx("path",{d:"M7 10l5 5 5-5"}),c.jsx("path",{d:"M12 15V3"})]});case"loader":return c.jsx("path",{d:"M21 12a9 9 0 1 1-3.3-6.9"});case"info":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("path",{d:"M12 16v-4"}),c.jsx("circle",{cx:"12",cy:"8",r:"0.75",fill:"currentColor",stroke:"none"})]});case"warning":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 3l10 18H2L12 3z"}),c.jsx("path",{d:"M12 9v4"}),c.jsx("circle",{cx:"12",cy:"17",r:"0.75",fill:"currentColor",stroke:"none"})]});case"error":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("path",{d:"M15 9l-6 6"}),c.jsx("path",{d:"M9 9l6 6"})]});case"copy":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),c.jsx("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]});case"check":return c.jsx("path",{d:"M20 6L9 17l-5-5"});case"x":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M18 6L6 18"}),c.jsx("path",{d:"M6 6l12 12"})]});case"chevronDown":return c.jsx("path",{d:"M6 9l6 6 6-6"});case"chevronRight":return c.jsx("path",{d:"M9 18l6-6-6-6"});case"trash":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M3 6h18"}),c.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),c.jsx("path",{d:"M6 6l1 16h10l1-16"}),c.jsx("path",{d:"M10 11v6"}),c.jsx("path",{d:"M14 11v6"})]});case"send":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M22 2L11 13"}),c.jsx("path",{d:"M22 2L15 22l-4-9-9-4 20-7z"})]});default:return null}}function jt({name:s,size:n=16,className:r,title:l,...a}){const d=l?void 0:!0;return c.jsxs("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:r,"aria-hidden":d,role:l?"img":"presentation",...a,children:[l?c.jsx("title",{children:l}):null,Ig(s)]})}function Km(s){return!!s&&typeof s=="object"&&!Array.isArray(s)}function Ym(s){return Array.isArray(s)}function Fg(s){const n=s.trim();if(!n)return s;if(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]"))try{return JSON.parse(n)}catch{return s}return s}function Ug(s){if(s==null)return"";if(typeof s=="string")return s;try{return JSON.stringify(s,null,2)}catch{return String(s)}}async function Bg(s){const n=String(s||"");if(n)try{await navigator.clipboard.writeText(n)}catch{const r=document.createElement("textarea");r.value=n,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Mi({kind:s,children:n}){return c.jsx("span",{className:`json-token ${s}`,children:n})}function Wg(s){return s===null?c.jsx(Mi,{kind:"null",children:"null"}):typeof s=="string"?c.jsx(Mi,{kind:"string",children:JSON.stringify(s)}):typeof s=="number"?c.jsx(Mi,{kind:"number",children:String(s)}):typeof s=="boolean"?c.jsx(Mi,{kind:"boolean",children:s?"true":"false"}):c.jsx(Mi,{kind:"string",children:JSON.stringify(String(s))})}function Hg(s){return Ym(s)?s.length===1?"1 item":`${s.length} items`:Km(s)?Object.keys(s).length===1?"1 key":`${Object.keys(s).length} keys`:""}function Jm(s){const{label:n,value:r,depth:l,collapse_after_depth:a,trailing_comma:d}=s,f=l*14,p=Km(r),h=Ym(r),y=p||h,v=l<a,[w,N]=S.useState(v),b=n?c.jsxs(c.Fragment,{children:[c.jsx(Mi,{kind:"key",children:JSON.stringify(n)}),": "]}):null;if(!y)return c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[b,Wg(r),d?",":""]});const T=h?"[":"{",I=h?"]":"}",U=Hg(r),P=w?`${T}`:`${T}…${I}${U?` (${U})`:""}`,D=h?r.map(($,O)=>({key:String(O),label:void 0,value:$})):Object.entries(r).map(([$,O])=>({key:$,label:$,value:O}));return c.jsxs("details",{className:"json-viewer__details",open:w,onToggle:$=>N($.currentTarget.open),children:[c.jsxs("summary",{className:"json-viewer__summary",style:{paddingLeft:f},children:[b,c.jsx("span",{className:"json-viewer__caret","aria-hidden":"true",children:w?"▾":"▸"}),c.jsx("span",{className:"json-viewer__punct",children:P}),!w&&d?c.jsx("span",{className:"json-viewer__punct",children:","}):null]}),w?c.jsx("div",{className:"json-viewer__children",children:D.length===0?c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"json-viewer__punct",children:I}),d?",":""]}):c.jsxs(c.Fragment,{children:[D.map(($,O)=>{const z=O===D.length-1;return c.jsx(Jm,{label:$.label,value:$.value,depth:l+1,collapse_after_depth:a,trailing_comma:!z},`${l}:${n||"root"}:${$.key}`)}),c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"json-viewer__punct",children:I}),d?",":""]})]})}):null]})}function Xm(s){const{value:n,className:r,showCopy:l=!0}=s,a=Number.isFinite(s.collapseAfterDepth??NaN)?Number(s.collapseAfterDepth):3,d=S.useMemo(()=>typeof n=="string"?Fg(n):n,[n]),f=S.useMemo(()=>Ug(n),[n]),p=["json-viewer","run-details-output",r].filter(Boolean).join(" ");return c.jsxs("div",{className:p,children:[l?c.jsx("div",{className:"json-viewer__toolbar",children:c.jsx("button",{type:"button",className:"modal-button json-viewer__copy",onClick:()=>void Bg(f),children:"Copy"})}):null,c.jsx("div",{className:"json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:c.jsx(Jm,{value:d,depth:0,collapse_after_depth:a,trailing_comma:!1})})]})}function Fc(s){const n=[],r=String(s??"");let l=0,a="";const d=()=>{a&&(n.push(a),a="")};for(;l<r.length;){const f=r[l];if(f==="`"){const p=r.indexOf("`",l+1);if(p!==-1){d(),n.push(c.jsx("code",{children:r.slice(l+1,p)},`code:${l}`)),l=p+1;continue}}if(f==="*"&&r[l+1]==="*"){const p=r.indexOf("**",l+2);if(p!==-1){d(),n.push(c.jsx("strong",{children:r.slice(l+2,p)},`bold:${l}`)),l=p+2;continue}}a+=f,l+=1}return d(),n}function Vg(s){return String(s??"").replace(/\r\n/g,`
|
|
45
|
+
`)}function Qf(s){let n=String(s??"").trim();return n?(n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1)),n.split("|").map(r=>String(r??"").trim())):[]}function Sg(s){let n=String(s??"").trim();if(!n)return!1;n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1));const r=n.split("|").map(l=>String(l??"").trim());return r.length<2?!1:r.every(l=>/^:?-{3,}:?$/.test(l))}function kg({text:s,className:n,highlight:r,highlights:l,highlightClassName:a,highlightId:d}){const f=xg(s),p=[],h=[];Array.isArray(l)&&h.push(...l),typeof r=="string"&&r.trim()&&h.push(r);const y=Array.from(new Set(h.map(b=>String(b??"").trim()).filter(Boolean))).filter(b=>b.length>=4),v=y.length?{needles:y,needlesLower:y.map(b=>b.toLowerCase()),className:a||"pc-md_hl",id:d,hits:0}:null;let w=0;for(;w<f.length;){const b=String(f[w]??"");if(!b.trim()){w+=1;continue}const T=b.trim();if(T==="---"||T==="___"||T==="***"||/^(-{3,}|_{3,}|\*{3,})$/.test(T)){p.push(c.jsx("hr",{className:"pc-md_hr"},`hr:${w}`)),w+=1;continue}if(b.trim().startsWith("```")){const O=b.trim().replace(/```/g,"").trim(),P=[];for(w+=1;w<f.length&&!String(f[w]??"").trim().startsWith("```");)P.push(String(f[w]??"")),w+=1;w<f.length&&(w+=1);const V=P.join(`
|
|
46
|
+
`);p.push(c.jsx("pre",{className:"pc-md_pre",children:c.jsx("code",{className:O?`language-${O}`:void 0,children:V})},`pre:${w}`));continue}const I=b.match(/^(#{1,5})\s+(.*)$/);if(I){const $=I[1].length,O=I[2]||"",P=Js(O,v);$===1?p.push(c.jsx("h1",{children:P},`h1:${w}`)):$===2?p.push(c.jsx("h2",{children:P},`h2:${w}`)):$===3?p.push(c.jsx("h3",{children:P},`h3:${w}`)):$===4?p.push(c.jsx("h4",{children:P},`h4:${w}`)):p.push(c.jsx("h5",{children:P},`h5:${w}`)),w+=1;continue}if(b.trimStart().startsWith(">")){const $=[];for(;w<f.length&&String(f[w]??"").trimStart().startsWith(">");){const P=String(f[w]??"").trimStart();$.push(P.replace(/^>\s?/,"")),w+=1}p.push(c.jsx("blockquote",{className:"pc-md_quote",children:$.map((O,P)=>c.jsxs(xr.Fragment,{children:[Js(O,v),P<$.length-1?c.jsx("br",{}):null]},`q:${w}:${P}`))},`quote:${w}`));continue}if(b.includes("|")&&w+1<f.length&&Sg(String(f[w+1]??""))){const $=Qf(b),O=Math.max(1,$.length),P=[];for(w+=2;w<f.length;){const V=String(f[w]??"");if(!V.trim()||!V.includes("|"))break;const re=Qf(V),L=[];for(let xe=0;xe<O;xe++)L.push(re[xe]??"");P.push(L),w+=1}p.push(c.jsx("div",{className:"pc-md_table_wrap",children:c.jsxs("table",{className:"pc-md_table",children:[c.jsx("thead",{children:c.jsx("tr",{children:$.slice(0,O).map((V,re)=>c.jsx("th",{children:Js(V,v)},`th:${w}:${re}`))})}),c.jsx("tbody",{children:P.map((V,re)=>c.jsx("tr",{children:V.map((L,xe)=>c.jsx("td",{children:Js(L,v)},`td:${w}:${re}:${xe}`))},`tr:${w}:${re}`))})]})},`table:${w}`));continue}const U=$=>/^\s*\d+\.\s+/.test($);if(U(b)){const $=[];for(;w<f.length&&U(String(f[w]??""));){const O=String(f[w]??"");$.push(O.replace(/^\s*\d+\.\s+/,"")),w+=1}p.push(c.jsx("ol",{className:"pc-md_ol",children:$.map((O,P)=>c.jsx("li",{children:Js(O,v)},`oli:${w}:${P}`))},`ol:${w}`));continue}const z=$=>{const O=$.trimStart();return O.startsWith("- ")||O.startsWith("* ")};if(z(b)){const $=[];for(;w<f.length&&z(String(f[w]??""));){const O=String(f[w]??"").trimStart();$.push(O.slice(2)),w+=1}p.push(c.jsx("ul",{className:"pc-md_ul",children:$.map((O,P)=>c.jsx("li",{children:Js(O,v)},`li:${w}:${P}`))},`ul:${w}`));continue}const D=[];for(;w<f.length&&String(f[w]??"").trim();)D.push(String(f[w]??"")),w+=1;p.push(c.jsx("p",{className:"pc-md_p",children:D.map(($,O)=>c.jsxs(xr.Fragment,{children:[Js($,v),O<D.length-1?c.jsx("br",{}):null]},`pl:${w}:${O}`))},`p:${w}`))}const N=["pc-md",n].filter(Boolean).join(" ");return c.jsx("div",{className:N,children:p})}function bg(s){const n=String(s??"").trim();if(!n||!(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]")))return null;try{return JSON.parse(n)}catch{return null}}function jg(s){const n=String(s.text??""),r=bg(n),l=["pc-chat-content",s.className].filter(Boolean).join(" ");return r!==null?c.jsx("div",{className:l,children:c.jsx(vg,{value:r,collapseAfterDepth:s.jsonCollapseAfterDepth})}):s.renderMarkdown?c.jsx("div",{className:l,children:s.renderMarkdown(n)}):c.jsx("div",{className:l,children:c.jsx(kg,{text:n})})}var Ng=Wm();const Qm=[{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"]}];Qm.map(s=>({id:s.id,label:s.label}));function Eg(s){return`theme-${String(s||"").trim()||"dark"}`}function Cg(s){try{const n=document.documentElement,r=Array.from(n.classList).filter(l=>l.startsWith("theme-"));for(const l of r)n.classList.remove(l);n.classList.add(Eg(s))}catch{}}const su=[{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}],iu=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function Tg(s){const n=String(s).trim();return su.find(r=>r.id===n)||su[1]}function Mg(s){const n=String(s).trim();return iu.find(r=>r.id===n)||iu[1]}function Ag(s){try{const n=document.documentElement,r=Tg(s.font_scale||"md"),l=Mg(s.header_density||"standard");n.style.setProperty("--font-scale",String(r.scale)),n.style.setProperty("--header-density",String(l.density))}catch{}}function Ci(...s){return s.filter(Boolean).join(" ")}function Co({value:s,options:n,placeholder:r="Select…",disabled:l=!1,loading:a=!1,searchable:d=!0,searchPlaceholder:f="Search…",allowCustom:p=!1,clearable:h=!1,minPopoverWidth:y=240,variant:v="panel",className:w,triggerClassName:N,onChange:b,renderOption:T,renderValue:I}){const U=S.useRef(null),z=S.useRef(null),D=S.useRef(null),[$,O]=S.useState(!1),[P,V]=S.useState(""),[re,L]=S.useState(0),[xe,W]=S.useState("bottom"),[se,J]=S.useState({left:0,top:0,width:0}),pe=S.useMemo(()=>{const G=String(s??"");return n.find(_e=>_e.value===G)||null},[n,s]),Ce=S.useMemo(()=>(pe==null?void 0:pe.label)||String(s||"").trim()||"",[pe,s]),Q=S.useMemo(()=>{const G=P.trim().toLowerCase();return G?n.filter(_e=>_e.label.toLowerCase().includes(G)||_e.value.toLowerCase().includes(G)):n},[n,P]),ke=S.useMemo(()=>{if(!p)return null;const G=P.trim();return!G||n.some(Re=>Re.value===G)?null:{value:G,label:`Use "${G}"`}},[p,n,P]),Se=S.useMemo(()=>ke?[ke,...Q]:Q,[ke,Q]),te=S.useCallback(()=>{const G=U.current;if(!G)return;const _e=G.getBoundingClientRect(),Re=Math.max(_e.width,y),He=Math.max(8,Math.min(_e.left,window.innerWidth-Re-8)),Ge=window.innerHeight-_e.bottom,Je=_e.top,st=Ge>=220||Ge>=Je?"bottom":"top";W(st);const kt=st==="bottom"?_e.bottom+6:_e.top-6;J({left:He,top:kt,width:Re})},[y]),we=S.useCallback(()=>{O(!1),V("")},[]);S.useEffect(()=>{if(!$)return;te();const G=()=>te();return window.addEventListener("resize",G),window.addEventListener("scroll",G,!0),()=>{window.removeEventListener("resize",G),window.removeEventListener("scroll",G,!0)}},[$,te]),S.useEffect(()=>{if(!$)return;const G=_e=>{var He,Ge;const Re=_e.target;Re&&((He=U.current)!=null&&He.contains(Re)||(Ge=z.current)!=null&&Ge.contains(Re)||we())};return document.addEventListener("mousedown",G,!0),()=>document.removeEventListener("mousedown",G,!0)},[$,we]),S.useEffect(()=>{if(!$)return;const G=Math.max(0,Se.findIndex(_e=>_e.value===s));L(G===-1?0:G),d&&setTimeout(()=>{var _e;return(_e=D.current)==null?void 0:_e.focus()},0)},[$,d,s,Se]);const he=G=>{b(G),we()},k=G=>{l||(G.key==="Enter"||G.key===" "?(G.preventDefault(),O(_e=>!_e)):G.key==="ArrowDown"&&(G.preventDefault(),O(!0)))},B=G=>{if(G.key==="Escape"){G.preventDefault(),we();return}if(G.key==="ArrowDown"){G.preventDefault(),L(_e=>Math.min(_e+1,Math.max(0,Se.length-1)));return}if(G.key==="ArrowUp"){G.preventDefault(),L(_e=>Math.max(_e-1,0));return}if(G.key==="Enter"){G.preventDefault();const _e=Se[re];_e&&he(_e.value)}},le=!!String(s||"").trim(),ge=le?Ce:r,ve=c.jsx("span",{className:Ci("af-select-value",!le&&"af-select-value--placeholder"),children:a?"Loading…":ge}),ee=I?I(pe,String(s||"")):ve;return c.jsxs("span",{className:Ci("af-select",v==="pin"?"af-select--pin":"af-select--panel",w),children:[c.jsxs("button",{ref:U,type:"button",className:Ci("af-select-trigger",N),disabled:l,onMouseDown:G=>G.stopPropagation(),onClick:G=>{G.stopPropagation(),!l&&O(_e=>!_e)},onKeyDown:k,"aria-haspopup":"listbox","aria-expanded":$,children:[ee,h&&le?c.jsx("span",{className:"af-select-clear",role:"button",tabIndex:-1,onMouseDown:G=>{G.preventDefault(),G.stopPropagation()},onClick:G=>{G.preventDefault(),G.stopPropagation(),b(""),we()},title:"Clear",children:"×"}):null,c.jsx("span",{className:Ci("af-select-caret",$&&"af-select-caret--open"),children:"▾"})]}),$?Ng.createPortal(c.jsxs("div",{ref:z,className:Ci("af-select-popover",xe==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${se.left}px`,top:`${se.top}px`,width:`${se.width}px`},onMouseDown:G=>G.stopPropagation(),onClick:G=>G.stopPropagation(),onKeyDown:B,role:"listbox",tabIndex:-1,children:[d?c.jsx("div",{className:"af-select-search",children:c.jsx("input",{ref:D,className:"af-select-search-input",value:P,onChange:G=>V(G.target.value),placeholder:f,onKeyDown:B})}):null,c.jsx("div",{className:"af-select-options",children:Se.length===0?c.jsx("div",{className:"af-select-empty",children:"No results"}):Se.map((G,_e)=>{var kt;const Re=G.value===s,He=_e===re,Ge=String(G.group||"").trim(),Je=_e>0?String(((kt=Se[_e-1])==null?void 0:kt.group)||"").trim():"",st=!!Ge&&Ge!==Je;return c.jsxs(xr.Fragment,{children:[st?c.jsx("div",{className:"af-select-group",children:Ge}):null,c.jsx("div",{className:Ci("af-select-option",Re&&"af-select-option--selected",He&&"af-select-option--highlighted"),onMouseEnter:()=>L(_e),onMouseDown:Qt=>{Qt.preventDefault(),Qt.stopPropagation()},onClick:()=>he(G.value),children:T?T(G,{selected:Re,highlighted:He}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"af-select-option-label",children:G.label}),Re?c.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},G.value)})})]}),document.body):null]})}function $g(s){const n=new Set,r=[];for(const l of s||[]){if(!l||typeof l!="object")continue;const a=String(l.name||"").trim();!a||n.has(a)||(n.add(a),r.push({name:a,display_name:typeof l.display_name=="string"?l.display_name:void 0}))}return r.sort((l,a)=>l.name.localeCompare(a.name)),r}function Rg(s){const n=new Set,r=[];for(const l of s||[]){const a=String(l||"").trim();!a||n.has(a)||(n.add(a),r.push(a))}return r.sort(),r}function Lg(s){const n=s.disabled===!0,r=s.layout||"stack",l=s.allowGatewayDefault!==!1,a=String(s.gatewayDefaultLabel||"(gateway default)"),d=String(s.providerLabel||"Provider"),f=String(s.modelLabel||"Model"),p=String(s.providerPlaceholder||"(select)"),h=String(s.modelPlaceholder||"(select)"),y=String(s.provider||"").trim(),v=String(s.model||"").trim(),w=$g(s.providers),N=Rg(s.models),b=n||!!s.loadingProviders,T=n||!!s.loadingModels,I=[...l?[{value:"",label:a}]:[],...w.map(z=>({value:z.name,label:z.display_name?`${z.display_name} (${z.name})`:z.name}))],U=[...l?[{value:"",label:a}]:[],...N.map(z=>({value:z,label:z}))];return c.jsxs("div",{className:s.className,style:r==="row"?{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-start"}:{display:"flex",flexDirection:"column",gap:"10px"},children:[c.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[c.jsx("label",{children:d}),c.jsx(Co,{value:y,options:I,placeholder:l?a:p,disabled:b,loading:!!s.loadingProviders,searchable:!0,allowCustom:s.allowCustomProvider===!0,clearable:l,variant:"panel",triggerClassName:s.selectClassName,onChange:z=>s.onChange({provider:String(z||"").trim(),model:""})}),s.loadingProviders?c.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading providers…"}):null,s.providerError?c.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:s.providerError}):null]}),c.jsxs("div",{style:r==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[c.jsx("label",{children:f}),c.jsx(Co,{value:v,options:U,placeholder:l?a:h,disabled:T,loading:!!s.loadingModels,searchable:!0,allowCustom:s.allowCustomModel===!0,clearable:l,variant:"panel",triggerClassName:s.selectClassName,onChange:z=>s.onChange({provider:y,model:String(z||"").trim()})}),s.loadingModels?c.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading models…"}):null,s.modelError?c.jsx("div",{className:"mono",style:{color:"rgba(239, 68, 68, 0.9)",fontSize:"12px",marginTop:"6px"},children:s.modelError}):null]})]})}function Og(s){return s==="light"?"Light":"Dark"}function Pg(s){const n=s.themes&&s.themes.length?s.themes:Qm,r=s.showSwatches!==!1,l=s.variant||"panel",a=S.useMemo(()=>{const f={};for(const p of n)f[p.id]=p;return f},[n]),d=S.useMemo(()=>n.map(f=>({value:f.id,label:f.label,group:Og(f.group)})),[n]);return c.jsx(Co,{value:s.value,options:d,placeholder:s.placeholder||"Select theme…",disabled:s.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:l,className:s.className,triggerClassName:s.triggerClassName,onChange:f=>s.onChange(String(f||"").trim()),renderValue:(f,p)=>{const h=String(p||"").trim(),y=a[h],v=(y==null?void 0:y.label)||h||s.placeholder||"Select theme…",w=(y==null?void 0:y.swatches)||null,N=!h;return c.jsxs("span",{className:"af-theme-value",children:[c.jsx("span",{className:`af-theme-label ${N?"af-theme-label--placeholder":""}`.trim(),children:v}),r&&w?c.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:w.map((b,T)=>c.jsx("span",{className:"af-theme-swatch",style:{background:b}},`${h}:${T}`))}):null]})},renderOption:(f,p)=>{const h=String(f.value||"").trim(),y=a[h],v=(y==null?void 0:y.swatches)||null;return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"af-theme-option-label",children:f.label}),c.jsxs("span",{className:"af-theme-option-right",children:[r&&v?c.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:v.map((w,N)=>c.jsx("span",{className:"af-theme-swatch",style:{background:w}},`${h}:${N}`))}):null,p.selected?c.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function zg(s){const n=s.scales&&s.scales.length?s.scales:su,r=s.variant||"panel",l=S.useMemo(()=>n.map(a=>({value:a.id,label:a.label})),[n]);return c.jsx(Co,{value:s.value,options:l,placeholder:s.placeholder||"Font size…",disabled:s.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:s.className,triggerClassName:s.triggerClassName,onChange:a=>s.onChange(String(a||"").trim())})}function Dg(s){const n=s.densities&&s.densities.length?s.densities:iu,r=s.variant||"panel",l=S.useMemo(()=>n.map(a=>({value:a.id,label:a.label})),[n]);return c.jsx(Co,{value:s.value,options:l,placeholder:s.placeholder||"Header size…",disabled:s.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:r,className:s.className,triggerClassName:s.triggerClassName,onChange:a=>s.onChange(String(a||"").trim())})}function Ig(s){switch(s){case"chat":return c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 5v14"}),c.jsx("path",{d:"M5 12h14"})]});case"history":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"9"}),c.jsx("path",{d:"M12 7v5l3 3"})]});case"refresh":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M21 12a9 9 0 0 0-15.5-6.4L3 8"}),c.jsx("path",{d:"M3 3v5h5"}),c.jsx("path",{d:"M3 12a9 9 0 0 0 15.5 6.4L21 16"}),c.jsx("path",{d:"M21 21v-5h-5"})]});case"settings":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M4 6h16"}),c.jsx("circle",{cx:"8",cy:"6",r:"2"}),c.jsx("path",{d:"M4 12h16"}),c.jsx("circle",{cx:"16",cy:"12",r:"2"}),c.jsx("path",{d:"M4 18h16"}),c.jsx("circle",{cx:"10",cy:"18",r:"2"})]});case"user":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"8",r:"4"}),c.jsx("path",{d:"M4 21a8 8 0 0 1 16 0"})]});case"bot":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 2v3"}),c.jsx("rect",{x:"5",y:"6",width:"14",height:"14",rx:"3"}),c.jsx("circle",{cx:"9",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),c.jsx("circle",{cx:"15",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),c.jsx("path",{d:"M9 17h6"})]});case"paperclip":return c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3z"}),c.jsx("path",{d:"M19 11a7 7 0 0 1-14 0"}),c.jsx("path",{d:"M12 18v4"}),c.jsx("path",{d:"M8 22h8"})]});case"speaker":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),c.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),c.jsx("path",{d:"M18 6a9 9 0 0 1 0 12"})]});case"pause":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"}),c.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"})]});case"terminal":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2",ry:"2"}),c.jsx("path",{d:"M7 9l3 3-3 3"}),c.jsx("path",{d:"M12 15h5"})]});case"edit":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 20h9"}),c.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 c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),c.jsx("path",{d:"M7 10l5 5 5-5"}),c.jsx("path",{d:"M12 15V3"})]});case"loader":return c.jsx("path",{d:"M21 12a9 9 0 1 1-3.3-6.9"});case"info":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("path",{d:"M12 16v-4"}),c.jsx("circle",{cx:"12",cy:"8",r:"0.75",fill:"currentColor",stroke:"none"})]});case"warning":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M12 3l10 18H2L12 3z"}),c.jsx("path",{d:"M12 9v4"}),c.jsx("circle",{cx:"12",cy:"17",r:"0.75",fill:"currentColor",stroke:"none"})]});case"error":return c.jsxs(c.Fragment,{children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("path",{d:"M15 9l-6 6"}),c.jsx("path",{d:"M9 9l6 6"})]});case"copy":return c.jsxs(c.Fragment,{children:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),c.jsx("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]});case"check":return c.jsx("path",{d:"M20 6L9 17l-5-5"});case"x":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M18 6L6 18"}),c.jsx("path",{d:"M6 6l12 12"})]});case"chevronDown":return c.jsx("path",{d:"M6 9l6 6 6-6"});case"chevronRight":return c.jsx("path",{d:"M9 18l6-6-6-6"});case"trash":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M3 6h18"}),c.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),c.jsx("path",{d:"M6 6l1 16h10l1-16"}),c.jsx("path",{d:"M10 11v6"}),c.jsx("path",{d:"M14 11v6"})]});case"send":return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:"M22 2L11 13"}),c.jsx("path",{d:"M22 2L15 22l-4-9-9-4 20-7z"})]});default:return null}}function jt({name:s,size:n=16,className:r,title:l,...a}){const d=l?void 0:!0;return c.jsxs("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:r,"aria-hidden":d,role:l?"img":"presentation",...a,children:[l?c.jsx("title",{children:l}):null,Ig(s)]})}function Km(s){return!!s&&typeof s=="object"&&!Array.isArray(s)}function Ym(s){return Array.isArray(s)}function Fg(s){const n=s.trim();if(!n)return s;if(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]"))try{return JSON.parse(n)}catch{return s}return s}function Ug(s){if(s==null)return"";if(typeof s=="string")return s;try{return JSON.stringify(s,null,2)}catch{return String(s)}}async function Bg(s){const n=String(s||"");if(n)try{await navigator.clipboard.writeText(n)}catch{const r=document.createElement("textarea");r.value=n,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Mi({kind:s,children:n}){return c.jsx("span",{className:`json-token ${s}`,children:n})}function Wg(s){return s===null?c.jsx(Mi,{kind:"null",children:"null"}):typeof s=="string"?c.jsx(Mi,{kind:"string",children:JSON.stringify(s)}):typeof s=="number"?c.jsx(Mi,{kind:"number",children:String(s)}):typeof s=="boolean"?c.jsx(Mi,{kind:"boolean",children:s?"true":"false"}):c.jsx(Mi,{kind:"string",children:JSON.stringify(String(s))})}function Hg(s){return Ym(s)?s.length===1?"1 item":`${s.length} items`:Km(s)?Object.keys(s).length===1?"1 key":`${Object.keys(s).length} keys`:""}function Jm(s){const{label:n,value:r,depth:l,collapse_after_depth:a,trailing_comma:d}=s,f=l*14,p=Km(r),h=Ym(r),y=p||h,v=l<a,[w,N]=S.useState(v),b=n?c.jsxs(c.Fragment,{children:[c.jsx(Mi,{kind:"key",children:JSON.stringify(n)}),": "]}):null;if(!y)return c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[b,Wg(r),d?",":""]});const T=h?"[":"{",I=h?"]":"}",U=Hg(r),z=w?`${T}`:`${T}…${I}${U?` (${U})`:""}`,D=h?r.map(($,O)=>({key:String(O),label:void 0,value:$})):Object.entries(r).map(([$,O])=>({key:$,label:$,value:O}));return c.jsxs("details",{className:"json-viewer__details",open:w,onToggle:$=>N($.currentTarget.open),children:[c.jsxs("summary",{className:"json-viewer__summary",style:{paddingLeft:f},children:[b,c.jsx("span",{className:"json-viewer__caret","aria-hidden":"true",children:w?"▾":"▸"}),c.jsx("span",{className:"json-viewer__punct",children:z}),!w&&d?c.jsx("span",{className:"json-viewer__punct",children:","}):null]}),w?c.jsx("div",{className:"json-viewer__children",children:D.length===0?c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"json-viewer__punct",children:I}),d?",":""]}):c.jsxs(c.Fragment,{children:[D.map(($,O)=>{const P=O===D.length-1;return c.jsx(Jm,{label:$.label,value:$.value,depth:l+1,collapse_after_depth:a,trailing_comma:!P},`${l}:${n||"root"}:${$.key}`)}),c.jsxs("div",{className:"json-viewer__line",style:{paddingLeft:f},children:[c.jsx("span",{className:"json-viewer__punct",children:I}),d?",":""]})]})}):null]})}function Xm(s){const{value:n,className:r,showCopy:l=!0}=s,a=Number.isFinite(s.collapseAfterDepth??NaN)?Number(s.collapseAfterDepth):3,d=S.useMemo(()=>typeof n=="string"?Fg(n):n,[n]),f=S.useMemo(()=>Ug(n),[n]),p=["json-viewer","run-details-output",r].filter(Boolean).join(" ");return c.jsxs("div",{className:p,children:[l?c.jsx("div",{className:"json-viewer__toolbar",children:c.jsx("button",{type:"button",className:"modal-button json-viewer__copy",onClick:()=>void Bg(f),children:"Copy"})}):null,c.jsx("div",{className:"json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:c.jsx(Jm,{value:d,depth:0,collapse_after_depth:a,trailing_comma:!1})})]})}function Fc(s){const n=[],r=String(s??"");let l=0,a="";const d=()=>{a&&(n.push(a),a="")};for(;l<r.length;){const f=r[l];if(f==="`"){const p=r.indexOf("`",l+1);if(p!==-1){d(),n.push(c.jsx("code",{children:r.slice(l+1,p)},`code:${l}`)),l=p+1;continue}}if(f==="*"&&r[l+1]==="*"){const p=r.indexOf("**",l+2);if(p!==-1){d(),n.push(c.jsx("strong",{children:r.slice(l+2,p)},`bold:${l}`)),l=p+2;continue}}a+=f,l+=1}return d(),n}function Vg(s){return String(s??"").replace(/\r\n/g,`
|
|
47
47
|
`).replace(/\r/g,`
|
|
48
48
|
`).split(`
|
|
49
49
|
`)}function Gg({text:s,className:n}){const r=Vg(s),l=[];let a=0;for(;a<r.length;){const f=r[a],p=String(f??"");if(!p.trim()){a+=1;continue}if(p.trim().startsWith("```")){const N=p.trim().replace(/```/g,"").trim(),b=[];for(a+=1;a<r.length&&!String(r[a]??"").trim().startsWith("```");)b.push(String(r[a]??"")),a+=1;a<r.length&&(a+=1);const T=b.join(`
|
|
50
50
|
`);l.push(c.jsx("pre",{className:"mf-md_pre",children:c.jsx("code",{className:N?`language-${N}`:void 0,children:T})},`pre:${a}`));continue}const h=p.match(/^(#{1,3})\s+(.*)$/);if(h){const w=h[1].length,N=h[2]||"",b=Fc(N);w===1?l.push(c.jsx("h1",{children:b},`h1:${a}`)):w===2?l.push(c.jsx("h2",{children:b},`h2:${a}`)):l.push(c.jsx("h3",{children:b},`h3:${a}`)),a+=1;continue}const y=w=>{const N=w.trimStart();return N.startsWith("- ")||N.startsWith("* ")};if(y(p)){const w=[];for(;a<r.length&&y(String(r[a]??""));){const N=String(r[a]??"").trimStart();w.push(N.slice(2)),a+=1}l.push(c.jsx("ul",{className:"mf-md_ul",children:w.map((N,b)=>c.jsx("li",{children:Fc(N)},`li:${a}:${b}`))},`ul:${a}`));continue}const v=[];for(;a<r.length&&String(r[a]??"").trim();)v.push(String(r[a]??"")),a+=1;l.push(c.jsx("p",{className:"mf-md_p",children:v.map((w,N)=>c.jsxs(xr.Fragment,{children:[Fc(w),N<v.length-1?c.jsx("br",{}):null]},`pl:${a}:${N}`))},`p:${a}`))}const d=["mf-md",n].filter(Boolean).join(" ");return c.jsx("div",{className:d,children:l})}async function Qg(s){const n=String(s||"");if(n)try{await navigator.clipboard.writeText(n)}catch{const r=document.createElement("textarea");r.value=n,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)}}function Nn(s){return!s||typeof s!="object"?null:s}function ou(s,n){const r=String(s||"").replace(/\s+/g," ").trim();return r?r.length<=n?r:`${r.slice(0,Math.max(0,n-1)).trimEnd()}…`:""}function Kf(s){const n=Nn(s);if(!n)return null;const r=typeof n.role=="string"?String(n.role).trim():"",l=typeof n.content=="string"?String(n.content):"";if(!r||l==="")return null;const a=typeof n.name=="string"?String(n.name).trim():"";return{role:r,content:l,name:a||void 0}}function Kg(s){if(Array.isArray(s)){if(s.length===0)return null;const r=[];for(const l of s){const a=Kf(l);if(!a)return null;r.push(a)}return r}const n=Kf(s);return n?[n]:null}function Yg(s){const n=String(s||"").trim();if(!n)return null;const r=n[0],l=n[n.length-1];if(!(r==="{"&&l==="}"||r==="["&&l==="]"))return null;try{const d=JSON.parse(n);return d&&typeof d=="object"||Array.isArray(d)?d:null}catch{return null}}function Jg(s){const n=String(s||"");return n.trim()?!!(n.includes("```")||/\n\s*#{1,3}\s+/.test(n)||/\n\s*[-*]\s+/.test(n)||/\n\s*\d+[\.\)]\s+/.test(n)||n.includes("**")||n.includes("`")):!1}function Yf({text:s}){const n=String(s||""),r=Yg(n);if(r!==null)return c.jsx(Xm,{value:r});const l=n.trim();return l.startsWith("{")||l.startsWith("[")?c.jsx("pre",{className:"run-details-output",children:n||"(none)"}):n.includes(`
|
|
51
|
-
`)||Jg(n)?c.jsx("div",{className:"run-details-output",children:c.jsx(Gg,{text:n})}):c.jsx("pre",{className:"run-details-output",children:n||"(none)"})}function Zm({value:s}){if(s==null)return c.jsx("pre",{className:"run-details-output",children:"(none)"});const n=Kg(s);return n?c.jsx("div",{className:"mf-msg-list",children:n.map((r,l)=>c.jsxs("div",{className:"mf-msg",children:[c.jsxs("div",{className:"mf-msg-meta",children:[c.jsx("span",{className:`mf-msg-role ${r.role}`,children:r.role}),r.name?c.jsx("span",{className:"mf-msg-name",children:r.name}):null]}),c.jsx("div",{className:"mf-msg-content",children:c.jsx(Yf,{text:r.content})})]},`${r.role}:${l}`))}):typeof s=="string"?c.jsx(Yf,{text:s}):c.jsx(Xm,{value:s})}function qm(s){const n=s.effect;return!n||typeof n!="object"?null:n}function Es(s){const n=qm(s);return(n&&typeof n.type=="string"?n.type:"")||"effect"}function aa(s){const n=qm(s),r=n==null?void 0:n.payload;return!r||typeof r!="object"?null:r}function hu(s){const n=s.result;return!n||typeof n!="object"?null:n}function ep(s){if(Es(s)!=="tool_calls")return[];const r=hu(s),l=r&&Array.isArray(r.results)?r.results:null;if(!l)return[];const a=[];for(const d of l){const f=Nn(d);if(!f)continue;const p=typeof f.name=="string"?f.name.trim():"";p&&a.push({call_id:typeof f.call_id=="string"?f.call_id:void 0,name:p,success:!!f.success,output:f.output,error:f.error})}return a}function tp(s){if(Es(s)!=="tool_calls")return[];const r=aa(s),l=r&&Array.isArray(r.tool_calls)?r.tool_calls:null;if(!l)return[];const a=[];for(const d of l){const f=Nn(d);if(!f)continue;const p=typeof f.name=="string"?f.name.trim():"";if(!p)continue;const h=Nn(f.args)||Nn(f.arguments)||{};a.push({call_id:typeof f.call_id=="string"?f.call_id:void 0,name:p,args:h})}return a}function ca(s){const n=s.error;if(typeof n=="string")return n.trim();const r=Nn(n);if(r){const l=typeof r.message=="string"?r.message.trim():"",a=typeof r.stack=="string"?r.stack.trim():"";return l||a||""}return""}function np(s){if(!s)return"";const n=s.reasoning;if(typeof n=="string")return n.trim();const r=Nn(n);return r&&typeof r.text=="string"?r.text.trim():""}function rp(s){const n=Es(s),r=aa(s),l=hu(s),a=(d,f)=>{const p=String(d||"").replace(/\s+/g," ").trim();return p?p.length<=f?p:`${p.slice(0,Math.max(0,f-1)).trimEnd()}…`:""};if(n==="llm_call"){const d=l==null?void 0:l.content,f=typeof d=="string"?d.replace(/\s+/g," ").trim():"",p=np(l),h=Array.isArray(l==null?void 0:l.tool_calls)?l.tool_calls:null,v=!!(h&&h.length>0)?p||f:f||p;return a(v,220)}if(n==="tool_calls"){const d=l&&Array.isArray(l.results)?l.results:null;if(!d)return"";const f=d.filter(p=>{var h;return((h=Nn(p))==null?void 0:h.success)===!1});return f.length>0?`${f.length} tool call(s) failed`:`${d.length} tool call(s) executed`}return n==="ask_user"&&r&&typeof r.prompt=="string"?String(r.prompt).trim():""}function Xl(s){const n=typeof s.status=="string"?s.status:"unknown";return n==="failed"||ca(s.step)?"failed":n}function Xg(s){const n=s.map(r=>Xl(r));return n.some(r=>r==="failed")?"failed":n.some(r=>r==="waiting")?"waiting":n.some(r=>r==="running")?"running":"completed"}function Uc(s){return s.filter(n=>!n.hidden)}function Zg(s){const n=Es(s),r=ca(s);return Uc(n==="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"}]:n==="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 qg(s){const n=Es(s);return n==="llm_call"?"user":n==="tool_calls"?"tools":ca(s)?"errors":"raw"}function e_(s){const n=new Map,r=aa(s),l=r&&Array.isArray(r.tools)?r.tools:null;if(!l)return n;for(const a of l){const d=Nn(a);if(!d)continue;const f=typeof d.name=="string"?d.name.trim():"";if(!f)continue;const h=(Array.isArray(d.parameters)?d.parameters:[]).map(y=>{const v=Nn(y);return(v&&typeof v.id=="string"?v.id.trim():"")||""}).filter(Boolean);n.set(f,h)}return n}function sp(s,n,r){const l=Object.keys(n||{}),a=r&&r.length?r.filter(h=>l.includes(h)):[],d=l.filter(h=>!a.includes(h)).sort(),f=[...a,...d],p=f.slice(0,5).map(h=>{const y=n[h];return typeof y=="string"?`${h}=${JSON.stringify(ou(y,42))}`:typeof y=="number"||typeof y=="boolean"?`${h}=${String(y)}`:y==null?`${h}=null`:`${h}=${ou(JSON.stringify(y),42)}`});return`${s}(${p.join(", ")}${f.length>5?", …":""})`}function t_(s){const n=s.ts?String(s.ts):"";if(!n)return"";try{const r=new Date(n);return Number.isFinite(r.getTime())?r.toLocaleTimeString():""}catch{return""}}function Bc({item:s,label:n,toolDefs:r,defaultOpen:l=!1}){const a=s.step,d=Es(a),f=Zg(a),p=qg(a),[h,y]=S.useState(p),[v,w]=S.useState(!!l),N=aa(a),b=hu(a),T=ca(a),I=t_(s),U=s.nodeId?String(s.nodeId):"",P=s.runId?String(s.runId):"",D=d==="tool_calls"?tp(a):[],$=d==="tool_calls"?ep(a):[],O=D.map(W=>sp(W.name,W.args,r.get(W.name)||null)),V=(()=>{if(h==="raw")return a;if(h==="errors")return T||null;if(d==="llm_call"){const W=N||{},se=typeof W.system_prompt=="string"?String(W.system_prompt):"",J=typeof W.prompt=="string"?String(W.prompt):"",pe=Nn(b==null?void 0:b.metadata),Ce=pe?Nn(pe._runtime_observability):null,Q=Ce?Nn(Ce.llm_generate_kwargs):null,ke=Q&&Array.isArray(Q.messages)?Q.messages:null,Se=pe?Nn(pe._provider_request):null,te=Se?Nn(Se.payload):null,we=te&&Array.isArray(te.messages)?te.messages:null,he=Array.isArray(W.messages)?W.messages:[],k=ke||we||he,B=k.filter(ge=>String((ge==null?void 0:ge.role)||"").trim()==="system"),le=k.filter(ge=>String((ge==null?void 0:ge.role)||"").trim()==="user");if(h==="system"){const ge=[],ve=se.trim(),ee=!!ve&&B.some(G=>typeof(G==null?void 0:G.content)=="string"&&String(G.content).trim()===ve);return ve&&!ee&&ge.push({role:"system",name:"system_prompt",content:se}),ge.push(...B),ge}if(h==="user"){const ge=[],ve=J.trim(),ee=!!ve&&le.some(G=>typeof(G==null?void 0:G.content)=="string"&&String(G.content).trim()===ve);return ve&&!ee&&ge.push({role:"user",name:"prompt",content:J}),ge.push(...le),ge}if(h==="tools")return W.tools||[];if(h==="response"){const ge=b==null?void 0:b.content;if(typeof ge=="string"&&ge.trim())return ge;const ve=b==null?void 0:b.output;if(ve!==void 0)return ve;const ee=Array.isArray(b==null?void 0:b.tool_calls)?b.tool_calls:null;return ee&&ee.length?{tool_calls:ee}:b}if(h==="reasoning")return np(b)||null}return d==="tool_calls"&&h==="tools"?{tool_calls:D,tool_signatures:O,results:$}:a})(),re=rp(a),L=Xl(s),xe=L==="completed"?"OK":L==="failed"?"ERROR":L==="waiting"?"WAITING":L.toUpperCase();return c.jsxs("details",{className:`agent-trace-entry ${L}`,open:v,onToggle:W=>w(W.currentTarget.open),children:[c.jsxs("summary",{className:"agent-trace-summary",children:[c.jsx("span",{className:`agent-trace-status ${L}`,children:xe}),c.jsx("span",{className:"agent-cycle-stage",children:n}),c.jsx("span",{className:"agent-trace-kind",children:d}),I?c.jsx("span",{className:"agent-trace-node",children:I}):null,U?c.jsx("span",{className:"agent-trace-node",children:U}):null,P?c.jsx("span",{className:"agent-trace-run",children:P}):null]}),re?c.jsx("div",{className:"agent-trace-preview",children:re}):null,c.jsxs("div",{className:"agent-trace-body",children:[c.jsx("div",{className:"agent-trace-tabs",children:f.map(W=>c.jsx("button",{type:"button",className:`agent-trace-tab ${W.id===h?"active":""}`,onClick:()=>y(W.id),children:W.label},W.id))}),c.jsx(Zm,{value:V})]})]})}function n_({acts:s}){const n=s.flatMap(d=>ep(d.step)),r=n.filter(d=>d.success===!1),l=r.length?`${r.length} error(s)`:n.length?`${n.length} tool result(s)`:"(none)",a=r.length?"failed":"completed";return c.jsxs("details",{className:`agent-trace-entry ${a}`,open:!1,children:[c.jsxs("summary",{className:"agent-trace-summary",children:[c.jsx("span",{className:`agent-trace-status ${a}`,children:r.length?"ERROR":"OK"}),c.jsx("span",{className:"agent-cycle-stage",children:"observe"}),c.jsx("span",{className:"agent-trace-kind",children:"OBSERVATIONS"}),c.jsx("span",{className:"agent-trace-preview-inline",children:l})]}),c.jsx("div",{className:"agent-observe-body",children:n.length===0?c.jsx("div",{className:"agent-observe-empty",children:"(no tool results)"}):c.jsx("div",{className:"agent-observe-results",children:n.map((d,f)=>{const p=d.success?"completed":"failed",h=d.success?"OK":"ERROR",y=d.success?d.output:d.error??d.output;return c.jsxs("details",{className:`agent-observe-result ${p}`,open:!1,children:[c.jsxs("summary",{className:"agent-observe-summary",children:[c.jsx("span",{className:`agent-trace-status ${p}`,children:h}),c.jsx("span",{className:"agent-observe-name",children:d.name}),d.call_id?c.jsx("span",{className:"agent-observe-callid",children:d.call_id}):null]}),c.jsx(Zm,{value:y})]},`${d.name}:${d.call_id||""}:${f}`)})})})]})}function r_({items:s,subRunId:n,title:r,subtitle:l,onOpenSubRun:a,defaultOpenLatest:d=!0}){const f=S.useMemo(()=>{const w=Array.isArray(s)?s.slice():[];return w.sort((N,b)=>{const T=N.ts?new Date(N.ts).getTime():NaN,I=b.ts?new Date(b.ts).getTime():NaN;return Number.isFinite(T)&&Number.isFinite(I)?T-I:0}),w},[s]),p=S.useMemo(()=>{const w=[];let N=null,b=0;for(const T of f){const I=Es(T.step);if(I==="llm_call"){b+=1,N={id:`cycle:${T.runId}:${b}:${T.ts||""}`,index:b,items:[T],think:T,acts:[],others:[],status:Xl(T),ts:T.ts},w.push(N);continue}N||(b+=1,N={id:`cycle:${T.runId}:${b}:${T.ts||""}`,index:b,items:[],think:null,acts:[],others:[],status:Xl(T),ts:T.ts},w.push(N)),N.items.push(T),I==="tool_calls"?N.acts.push(T):N.others.push(T),N.status=Xg(N.items)}return w},[f]),h=typeof r=="string"&&r.trim()?r.trim():"Agent calls",y=typeof l=="string"&&l.trim()?l.trim():"Live per-effect trace (LLM/tool calls).",v=typeof n=="string"?n.trim():"";return c.jsxs("div",{className:"agent-trace-panel",children:[c.jsxs("div",{className:"agent-trace-header",children:[c.jsx("div",{className:"agent-trace-title",children:h}),c.jsxs("div",{className:"agent-trace-subtitle",children:[y,v?c.jsxs("span",{className:"agent-trace-subrun",children:[" ","sub_run_id: ",v,c.jsx("button",{type:"button",className:"agent-trace-copy",onClick:w=>{w.stopPropagation(),Qg(v)},title:`Copy sub_run_id: ${v}`,"aria-label":"Copy sub run id",children:"⧉"}),a?c.jsx("button",{type:"button",className:"agent-trace-open",onClick:w=>{w.stopPropagation(),a()},title:"Open sub-run",children:"Open"}):null]}):null]})]}),f.length===0?c.jsx("div",{className:"agent-trace-empty",children:"No trace entries yet."}):c.jsxs("div",{className:"agent-cycle-list",children:[c.jsxs("div",{className:"agent-cycle-meta",children:[p.length," cycle(s)"]}),p.map(w=>{const N=w.status,b=N==="completed"?"OK":N==="failed"?"ERROR":N==="waiting"?"WAITING":N.toUpperCase(),T=N==="completed"?"✓":N==="failed"?"✗":"",I=T?`${T} ${b}`:b,U=w.think?rp(w.think.step):"",P=w.think?e_(w.think.step):new Map,$=w.acts.flatMap(z=>tp(z.step)).map(z=>sp(z.name,z.args,P.get(z.name)||null)),O=d&&w.index===p.length;return c.jsxs("details",{className:`agent-cycle ${N}`,open:O,children:[c.jsxs("summary",{className:"agent-cycle-summary",children:[c.jsx("span",{className:`agent-trace-status ${N}`,children:I}),c.jsx("span",{className:"agent-cycle-label",children:"cycle"}),c.jsxs("span",{className:"agent-cycle-index",children:["#",w.index]}),$.length?c.jsxs("span",{className:"agent-trace-badges",children:[$.slice(0,3).map(z=>c.jsx("span",{className:"run-metric-badge metric-tool",title:z,children:ou(z,62)},z)),$.length>3?c.jsxs("span",{className:"run-metric-badge metric-tool",children:["+",$.length-3]}):null]}):null,c.jsx("span",{className:"agent-cycle-spacer"}),U?c.jsx("span",{className:"agent-cycle-preview",children:U}):null]}),c.jsxs("div",{className:"agent-cycle-body",children:[w.think?c.jsx(Bc,{item:w.think,label:"think",toolDefs:P,defaultOpen:O}):null,w.acts.map(z=>c.jsx(Bc,{item:z,label:"act",toolDefs:P},z.id)),c.jsx(n_,{acts:w.acts}),w.others.length?c.jsxs("div",{className:"agent-cycle-others",children:[c.jsx("div",{className:"agent-cycle-others-title",children:"other"}),w.others.map(z=>{const V=O&&Es(z.step)==="answer_user";return c.jsx(Bc,{item:z,label:"other",toolDefs:P,defaultOpen:V},z.id)})]}):null]})]},w.id)})]})]})}function Sr(s){return typeof s=="string"?s.trim():""}function s_(s){var n;return Sr(s.run_id)||Sr((n=s.record)==null?void 0:n.run_id)}function lu(s){return Sr(s==null?void 0:s.node_id)}const i_=new Set(["reason","act","observe","thought","think"]);function au(s){const n=Sr(s);if(!n.includes("::"))return n;const r=n.split("::");if(r.length<2)return n;const l=String(r[r.length-1]||"").trim().toLowerCase();return i_.has(l)?r.slice(0,-1).join("::"):n}function ip(s){var n;return Sr((n=s==null?void 0:s.effect)==null?void 0:n.type)}function o_(s){return Sr(s==null?void 0:s.status)||"unknown"}function Jf(s){return Sr(s==null?void 0:s.step_id)}function l_(s){return Sr(s==null?void 0:s.ended_at)||Sr(s==null?void 0:s.started_at)}function a_(s){const n=new Map,r=new Map;for(const a of s){const d=au(lu(a));if(!d)continue;const f=ip(a);f==="llm_call"?n.set(d,(n.get(d)||0)+1):f==="tool_calls"&&r.set(d,(r.get(d)||0)+1)}const l=a=>{let d="",f=-1;for(const[p,h]of a)h>f&&(d=p,f=h);return d};return l(n)||l(r)||""}function c_(s,n){const r=Sr(n.run_id);if(!r)return{run_id:"",node_id:"",items:[]};const l=(Array.isArray(s)?s:[]).filter(b=>b&&b.record&&s_(b)===r).map(b=>({cursor:b.cursor,record:b.record})).sort((b,T)=>(b.cursor||0)-(T.cursor||0)),a=l.map(b=>b.record),d=au(Sr(n.node_id)),f=d||a_(a),p=new Set(["llm_call","tool_calls","ask_user","answer_user"]);let h=l.filter(b=>p.has(ip(b.record)));d&&(h=h.filter(b=>au(lu(b.record))===d));const y=new Map,v=[];for(const b of h){const T=Jf(b.record);if(!T){v.push(b);continue}const I=y.get(T);(!I||(b.cursor||0)>(I.cursor||0))&&y.set(T,b)}const N=[...v,...Array.from(y.values())].sort((b,T)=>(b.cursor||0)-(T.cursor||0)).map(b=>{const T=b.record,I=lu(T)||"(node?)",U=l_(T),P=Jf(T);return{id:`ledger:${r}:${b.cursor}:${P||""}`,runId:r,nodeId:I,ts:U||void 0,status:o_(T),step:T}});return{run_id:r,node_id:f,items:N}}class Zl{constructor(n){this._maxSize=Zl._normalizeMaxSize(n),this._values=[]}get maxSize(){return this._maxSize}get size(){return this._values.length}static _normalizeMaxSize(n){const r=Number(n);return!Number.isFinite(r)||r<=0?1:Math.min(1e3,Math.floor(r))}setMaxSize(n){const r=Zl._normalizeMaxSize(n);this._maxSize=r,this._values.length>r&&(this._values=this._values.slice(this._values.length-r))}clear(){this._values=[]}push(n){const r=Number(n),l=Number.isFinite(r)?r:null;this._values.push(l),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 u_(s){try{return new URL(String(s)),!0}catch{return!1}}function d_({baseUrl:s,endpoint:n}){const r=String(n||"/api/gateway/host/metrics/gpu");return u_(r)?r:s&&String(s).trim()?new URL(r,String(s)).toString():r}async function f_({token:s,getToken:n}){if(typeof n=="function"){const r=await n();return r==null?"":String(r)}return s==null?"":String(s)}function m_({token:s}){const n=String(s||"").trim();return n?{Authorization:`Bearer ${n}`}:{}}function p_(s){if(!s||typeof s!="object")return null;const n=Number(s.utilization_gpu_pct);if(Number.isFinite(n))return n;const r=s.gpus;if(Array.isArray(r)&&r.length){const l=r.map(d=>Number(d&&d.utilization_gpu_pct)).filter(d=>Number.isFinite(d));return l.length?l.reduce((d,f)=>d+f,0)/l.length:null}return null}async function h_({baseUrl:s,endpoint:n,token:r,getToken:l,signal:a,fetchImpl:d}={}){const f=d_({baseUrl:s,endpoint:n}),p=await f_({token:r,getToken:l}),h=d||globalThis.fetch;if(typeof h!="function")return{ok:!1,status:0,error:"fetch_unavailable",payload:null};let y;try{y=await h(f,{method:"GET",headers:{Accept:"application/json",...m_({token:p})},signal:a})}catch(w){return{ok:!1,status:0,error:"network_error",detail:w instanceof Error?w.message:String(w),payload:null}}let v=null;try{v=await y.json()}catch{v=null}return{ok:y.ok,status:y.status,error:y.ok?null:"http_error",payload:v}}const po=Object.freeze({tickMs:1500,historySize:20,endpoint:"/api/gateway/host/metrics/gpu",baseUrl:"",mode:"full"});function g_(s){return Number.isFinite(s)?Math.min(1,Math.max(0,s)):0}function Xf(s,n,r){return Number.isFinite(s)?Math.min(r,Math.max(n,s)):n}function Zf(s,n){const r=Number(s);return Number.isFinite(r)?Math.floor(r):n}function Wc(s,n=1){const r=Xf(Number(s)/100,0,1),l=Math.round(140-140*r),a=Xf(Number(n),0,1);return a>=1?`hsl(${l} 85% 55%)`:`hsl(${l} 85% 55% / ${a})`}function qf(s){const n={...po,...s||{}};return n.tickMs=Math.max(250,Zf(n.tickMs,po.tickMs)),n.historySize=Math.max(1,Math.min(200,Zf(n.historySize,po.historySize))),n.endpoint=String(n.endpoint||po.endpoint),n.baseUrl=String(n.baseUrl||""),n.mode=String(n.mode||po.mode).trim().toLowerCase(),n.mode!=="icon"&&(n.mode="full"),n}function __(){return`
|
|
51
|
+
`)||Jg(n)?c.jsx("div",{className:"run-details-output",children:c.jsx(Gg,{text:n})}):c.jsx("pre",{className:"run-details-output",children:n||"(none)"})}function Zm({value:s}){if(s==null)return c.jsx("pre",{className:"run-details-output",children:"(none)"});const n=Kg(s);return n?c.jsx("div",{className:"mf-msg-list",children:n.map((r,l)=>c.jsxs("div",{className:"mf-msg",children:[c.jsxs("div",{className:"mf-msg-meta",children:[c.jsx("span",{className:`mf-msg-role ${r.role}`,children:r.role}),r.name?c.jsx("span",{className:"mf-msg-name",children:r.name}):null]}),c.jsx("div",{className:"mf-msg-content",children:c.jsx(Yf,{text:r.content})})]},`${r.role}:${l}`))}):typeof s=="string"?c.jsx(Yf,{text:s}):c.jsx(Xm,{value:s})}function qm(s){const n=s.effect;return!n||typeof n!="object"?null:n}function Es(s){const n=qm(s);return(n&&typeof n.type=="string"?n.type:"")||"effect"}function aa(s){const n=qm(s),r=n==null?void 0:n.payload;return!r||typeof r!="object"?null:r}function hu(s){const n=s.result;return!n||typeof n!="object"?null:n}function ep(s){if(Es(s)!=="tool_calls")return[];const r=hu(s),l=r&&Array.isArray(r.results)?r.results:null;if(!l)return[];const a=[];for(const d of l){const f=Nn(d);if(!f)continue;const p=typeof f.name=="string"?f.name.trim():"";p&&a.push({call_id:typeof f.call_id=="string"?f.call_id:void 0,name:p,success:!!f.success,output:f.output,error:f.error})}return a}function tp(s){if(Es(s)!=="tool_calls")return[];const r=aa(s),l=r&&Array.isArray(r.tool_calls)?r.tool_calls:null;if(!l)return[];const a=[];for(const d of l){const f=Nn(d);if(!f)continue;const p=typeof f.name=="string"?f.name.trim():"";if(!p)continue;const h=Nn(f.args)||Nn(f.arguments)||{};a.push({call_id:typeof f.call_id=="string"?f.call_id:void 0,name:p,args:h})}return a}function ca(s){const n=s.error;if(typeof n=="string")return n.trim();const r=Nn(n);if(r){const l=typeof r.message=="string"?r.message.trim():"",a=typeof r.stack=="string"?r.stack.trim():"";return l||a||""}return""}function np(s){if(!s)return"";const n=s.reasoning;if(typeof n=="string")return n.trim();const r=Nn(n);return r&&typeof r.text=="string"?r.text.trim():""}function rp(s){const n=Es(s),r=aa(s),l=hu(s),a=(d,f)=>{const p=String(d||"").replace(/\s+/g," ").trim();return p?p.length<=f?p:`${p.slice(0,Math.max(0,f-1)).trimEnd()}…`:""};if(n==="llm_call"){const d=l==null?void 0:l.content,f=typeof d=="string"?d.replace(/\s+/g," ").trim():"",p=np(l),h=Array.isArray(l==null?void 0:l.tool_calls)?l.tool_calls:null,v=!!(h&&h.length>0)?p||f:f||p;return a(v,220)}if(n==="tool_calls"){const d=l&&Array.isArray(l.results)?l.results:null;if(!d)return"";const f=d.filter(p=>{var h;return((h=Nn(p))==null?void 0:h.success)===!1});return f.length>0?`${f.length} tool call(s) failed`:`${d.length} tool call(s) executed`}return n==="ask_user"&&r&&typeof r.prompt=="string"?String(r.prompt).trim():""}function Xl(s){const n=typeof s.status=="string"?s.status:"unknown";return n==="failed"||ca(s.step)?"failed":n}function Xg(s){const n=s.map(r=>Xl(r));return n.some(r=>r==="failed")?"failed":n.some(r=>r==="waiting")?"waiting":n.some(r=>r==="running")?"running":"completed"}function Uc(s){return s.filter(n=>!n.hidden)}function Zg(s){const n=Es(s),r=ca(s);return Uc(n==="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"}]:n==="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 qg(s){const n=Es(s);return n==="llm_call"?"user":n==="tool_calls"?"tools":ca(s)?"errors":"raw"}function e_(s){const n=new Map,r=aa(s),l=r&&Array.isArray(r.tools)?r.tools:null;if(!l)return n;for(const a of l){const d=Nn(a);if(!d)continue;const f=typeof d.name=="string"?d.name.trim():"";if(!f)continue;const h=(Array.isArray(d.parameters)?d.parameters:[]).map(y=>{const v=Nn(y);return(v&&typeof v.id=="string"?v.id.trim():"")||""}).filter(Boolean);n.set(f,h)}return n}function sp(s,n,r){const l=Object.keys(n||{}),a=r&&r.length?r.filter(h=>l.includes(h)):[],d=l.filter(h=>!a.includes(h)).sort(),f=[...a,...d],p=f.slice(0,5).map(h=>{const y=n[h];return typeof y=="string"?`${h}=${JSON.stringify(ou(y,42))}`:typeof y=="number"||typeof y=="boolean"?`${h}=${String(y)}`:y==null?`${h}=null`:`${h}=${ou(JSON.stringify(y),42)}`});return`${s}(${p.join(", ")}${f.length>5?", …":""})`}function t_(s){const n=s.ts?String(s.ts):"";if(!n)return"";try{const r=new Date(n);return Number.isFinite(r.getTime())?r.toLocaleTimeString():""}catch{return""}}function Bc({item:s,label:n,toolDefs:r,defaultOpen:l=!1}){const a=s.step,d=Es(a),f=Zg(a),p=qg(a),[h,y]=S.useState(p),[v,w]=S.useState(!!l),N=aa(a),b=hu(a),T=ca(a),I=t_(s),U=s.nodeId?String(s.nodeId):"",z=s.runId?String(s.runId):"",D=d==="tool_calls"?tp(a):[],$=d==="tool_calls"?ep(a):[],O=D.map(W=>sp(W.name,W.args,r.get(W.name)||null)),V=(()=>{if(h==="raw")return a;if(h==="errors")return T||null;if(d==="llm_call"){const W=N||{},se=typeof W.system_prompt=="string"?String(W.system_prompt):"",J=typeof W.prompt=="string"?String(W.prompt):"",pe=Nn(b==null?void 0:b.metadata),Ce=pe?Nn(pe._runtime_observability):null,Q=Ce?Nn(Ce.llm_generate_kwargs):null,ke=Q&&Array.isArray(Q.messages)?Q.messages:null,Se=pe?Nn(pe._provider_request):null,te=Se?Nn(Se.payload):null,we=te&&Array.isArray(te.messages)?te.messages:null,he=Array.isArray(W.messages)?W.messages:[],k=ke||we||he,B=k.filter(ge=>String((ge==null?void 0:ge.role)||"").trim()==="system"),le=k.filter(ge=>String((ge==null?void 0:ge.role)||"").trim()==="user");if(h==="system"){const ge=[],ve=se.trim(),ee=!!ve&&B.some(G=>typeof(G==null?void 0:G.content)=="string"&&String(G.content).trim()===ve);return ve&&!ee&&ge.push({role:"system",name:"system_prompt",content:se}),ge.push(...B),ge}if(h==="user"){const ge=[],ve=J.trim(),ee=!!ve&&le.some(G=>typeof(G==null?void 0:G.content)=="string"&&String(G.content).trim()===ve);return ve&&!ee&&ge.push({role:"user",name:"prompt",content:J}),ge.push(...le),ge}if(h==="tools")return W.tools||[];if(h==="response"){const ge=b==null?void 0:b.content;if(typeof ge=="string"&&ge.trim())return ge;const ve=b==null?void 0:b.output;if(ve!==void 0)return ve;const ee=Array.isArray(b==null?void 0:b.tool_calls)?b.tool_calls:null;return ee&&ee.length?{tool_calls:ee}:b}if(h==="reasoning")return np(b)||null}return d==="tool_calls"&&h==="tools"?{tool_calls:D,tool_signatures:O,results:$}:a})(),re=rp(a),L=Xl(s),xe=L==="completed"?"OK":L==="failed"?"ERROR":L==="waiting"?"WAITING":L.toUpperCase();return c.jsxs("details",{className:`agent-trace-entry ${L}`,open:v,onToggle:W=>w(W.currentTarget.open),children:[c.jsxs("summary",{className:"agent-trace-summary",children:[c.jsx("span",{className:`agent-trace-status ${L}`,children:xe}),c.jsx("span",{className:"agent-cycle-stage",children:n}),c.jsx("span",{className:"agent-trace-kind",children:d}),I?c.jsx("span",{className:"agent-trace-node",children:I}):null,U?c.jsx("span",{className:"agent-trace-node",children:U}):null,z?c.jsx("span",{className:"agent-trace-run",children:z}):null]}),re?c.jsx("div",{className:"agent-trace-preview",children:re}):null,c.jsxs("div",{className:"agent-trace-body",children:[c.jsx("div",{className:"agent-trace-tabs",children:f.map(W=>c.jsx("button",{type:"button",className:`agent-trace-tab ${W.id===h?"active":""}`,onClick:()=>y(W.id),children:W.label},W.id))}),c.jsx(Zm,{value:V})]})]})}function n_({acts:s}){const n=s.flatMap(d=>ep(d.step)),r=n.filter(d=>d.success===!1),l=r.length?`${r.length} error(s)`:n.length?`${n.length} tool result(s)`:"(none)",a=r.length?"failed":"completed";return c.jsxs("details",{className:`agent-trace-entry ${a}`,open:!1,children:[c.jsxs("summary",{className:"agent-trace-summary",children:[c.jsx("span",{className:`agent-trace-status ${a}`,children:r.length?"ERROR":"OK"}),c.jsx("span",{className:"agent-cycle-stage",children:"observe"}),c.jsx("span",{className:"agent-trace-kind",children:"OBSERVATIONS"}),c.jsx("span",{className:"agent-trace-preview-inline",children:l})]}),c.jsx("div",{className:"agent-observe-body",children:n.length===0?c.jsx("div",{className:"agent-observe-empty",children:"(no tool results)"}):c.jsx("div",{className:"agent-observe-results",children:n.map((d,f)=>{const p=d.success?"completed":"failed",h=d.success?"OK":"ERROR",y=d.success?d.output:d.error??d.output;return c.jsxs("details",{className:`agent-observe-result ${p}`,open:!1,children:[c.jsxs("summary",{className:"agent-observe-summary",children:[c.jsx("span",{className:`agent-trace-status ${p}`,children:h}),c.jsx("span",{className:"agent-observe-name",children:d.name}),d.call_id?c.jsx("span",{className:"agent-observe-callid",children:d.call_id}):null]}),c.jsx(Zm,{value:y})]},`${d.name}:${d.call_id||""}:${f}`)})})})]})}function r_({items:s,subRunId:n,title:r,subtitle:l,onOpenSubRun:a,defaultOpenLatest:d=!0}){const f=S.useMemo(()=>{const w=Array.isArray(s)?s.slice():[];return w.sort((N,b)=>{const T=N.ts?new Date(N.ts).getTime():NaN,I=b.ts?new Date(b.ts).getTime():NaN;return Number.isFinite(T)&&Number.isFinite(I)?T-I:0}),w},[s]),p=S.useMemo(()=>{const w=[];let N=null,b=0;for(const T of f){const I=Es(T.step);if(I==="llm_call"){b+=1,N={id:`cycle:${T.runId}:${b}:${T.ts||""}`,index:b,items:[T],think:T,acts:[],others:[],status:Xl(T),ts:T.ts},w.push(N);continue}N||(b+=1,N={id:`cycle:${T.runId}:${b}:${T.ts||""}`,index:b,items:[],think:null,acts:[],others:[],status:Xl(T),ts:T.ts},w.push(N)),N.items.push(T),I==="tool_calls"?N.acts.push(T):N.others.push(T),N.status=Xg(N.items)}return w},[f]),h=typeof r=="string"&&r.trim()?r.trim():"Agent calls",y=typeof l=="string"&&l.trim()?l.trim():"Live per-effect trace (LLM/tool calls).",v=typeof n=="string"?n.trim():"";return c.jsxs("div",{className:"agent-trace-panel",children:[c.jsxs("div",{className:"agent-trace-header",children:[c.jsx("div",{className:"agent-trace-title",children:h}),c.jsxs("div",{className:"agent-trace-subtitle",children:[y,v?c.jsxs("span",{className:"agent-trace-subrun",children:[" ","sub_run_id: ",v,c.jsx("button",{type:"button",className:"agent-trace-copy",onClick:w=>{w.stopPropagation(),Qg(v)},title:`Copy sub_run_id: ${v}`,"aria-label":"Copy sub run id",children:"⧉"}),a?c.jsx("button",{type:"button",className:"agent-trace-open",onClick:w=>{w.stopPropagation(),a()},title:"Open sub-run",children:"Open"}):null]}):null]})]}),f.length===0?c.jsx("div",{className:"agent-trace-empty",children:"No trace entries yet."}):c.jsxs("div",{className:"agent-cycle-list",children:[c.jsxs("div",{className:"agent-cycle-meta",children:[p.length," cycle(s)"]}),p.map(w=>{const N=w.status,b=N==="completed"?"OK":N==="failed"?"ERROR":N==="waiting"?"WAITING":N.toUpperCase(),T=N==="completed"?"✓":N==="failed"?"✗":"",I=T?`${T} ${b}`:b,U=w.think?rp(w.think.step):"",z=w.think?e_(w.think.step):new Map,$=w.acts.flatMap(P=>tp(P.step)).map(P=>sp(P.name,P.args,z.get(P.name)||null)),O=d&&w.index===p.length;return c.jsxs("details",{className:`agent-cycle ${N}`,open:O,children:[c.jsxs("summary",{className:"agent-cycle-summary",children:[c.jsx("span",{className:`agent-trace-status ${N}`,children:I}),c.jsx("span",{className:"agent-cycle-label",children:"cycle"}),c.jsxs("span",{className:"agent-cycle-index",children:["#",w.index]}),$.length?c.jsxs("span",{className:"agent-trace-badges",children:[$.slice(0,3).map(P=>c.jsx("span",{className:"run-metric-badge metric-tool",title:P,children:ou(P,62)},P)),$.length>3?c.jsxs("span",{className:"run-metric-badge metric-tool",children:["+",$.length-3]}):null]}):null,c.jsx("span",{className:"agent-cycle-spacer"}),U?c.jsx("span",{className:"agent-cycle-preview",children:U}):null]}),c.jsxs("div",{className:"agent-cycle-body",children:[w.think?c.jsx(Bc,{item:w.think,label:"think",toolDefs:z,defaultOpen:O}):null,w.acts.map(P=>c.jsx(Bc,{item:P,label:"act",toolDefs:z},P.id)),c.jsx(n_,{acts:w.acts}),w.others.length?c.jsxs("div",{className:"agent-cycle-others",children:[c.jsx("div",{className:"agent-cycle-others-title",children:"other"}),w.others.map(P=>{const V=O&&Es(P.step)==="answer_user";return c.jsx(Bc,{item:P,label:"other",toolDefs:z,defaultOpen:V},P.id)})]}):null]})]},w.id)})]})]})}function Sr(s){return typeof s=="string"?s.trim():""}function s_(s){var n;return Sr(s.run_id)||Sr((n=s.record)==null?void 0:n.run_id)}function lu(s){return Sr(s==null?void 0:s.node_id)}const i_=new Set(["reason","act","observe","thought","think"]);function au(s){const n=Sr(s);if(!n.includes("::"))return n;const r=n.split("::");if(r.length<2)return n;const l=String(r[r.length-1]||"").trim().toLowerCase();return i_.has(l)?r.slice(0,-1).join("::"):n}function ip(s){var n;return Sr((n=s==null?void 0:s.effect)==null?void 0:n.type)}function o_(s){return Sr(s==null?void 0:s.status)||"unknown"}function Jf(s){return Sr(s==null?void 0:s.step_id)}function l_(s){return Sr(s==null?void 0:s.ended_at)||Sr(s==null?void 0:s.started_at)}function a_(s){const n=new Map,r=new Map;for(const a of s){const d=au(lu(a));if(!d)continue;const f=ip(a);f==="llm_call"?n.set(d,(n.get(d)||0)+1):f==="tool_calls"&&r.set(d,(r.get(d)||0)+1)}const l=a=>{let d="",f=-1;for(const[p,h]of a)h>f&&(d=p,f=h);return d};return l(n)||l(r)||""}function c_(s,n){const r=Sr(n.run_id);if(!r)return{run_id:"",node_id:"",items:[]};const l=(Array.isArray(s)?s:[]).filter(b=>b&&b.record&&s_(b)===r).map(b=>({cursor:b.cursor,record:b.record})).sort((b,T)=>(b.cursor||0)-(T.cursor||0)),a=l.map(b=>b.record),d=au(Sr(n.node_id)),f=d||a_(a),p=new Set(["llm_call","tool_calls","ask_user","answer_user"]);let h=l.filter(b=>p.has(ip(b.record)));d&&(h=h.filter(b=>au(lu(b.record))===d));const y=new Map,v=[];for(const b of h){const T=Jf(b.record);if(!T){v.push(b);continue}const I=y.get(T);(!I||(b.cursor||0)>(I.cursor||0))&&y.set(T,b)}const N=[...v,...Array.from(y.values())].sort((b,T)=>(b.cursor||0)-(T.cursor||0)).map(b=>{const T=b.record,I=lu(T)||"(node?)",U=l_(T),z=Jf(T);return{id:`ledger:${r}:${b.cursor}:${z||""}`,runId:r,nodeId:I,ts:U||void 0,status:o_(T),step:T}});return{run_id:r,node_id:f,items:N}}class Zl{constructor(n){this._maxSize=Zl._normalizeMaxSize(n),this._values=[]}get maxSize(){return this._maxSize}get size(){return this._values.length}static _normalizeMaxSize(n){const r=Number(n);return!Number.isFinite(r)||r<=0?1:Math.min(1e3,Math.floor(r))}setMaxSize(n){const r=Zl._normalizeMaxSize(n);this._maxSize=r,this._values.length>r&&(this._values=this._values.slice(this._values.length-r))}clear(){this._values=[]}push(n){const r=Number(n),l=Number.isFinite(r)?r:null;this._values.push(l),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 u_(s){try{return new URL(String(s)),!0}catch{return!1}}function d_({baseUrl:s,endpoint:n}){const r=String(n||"/api/gateway/host/metrics/gpu");return u_(r)?r:s&&String(s).trim()?new URL(r,String(s)).toString():r}async function f_({token:s,getToken:n}){if(typeof n=="function"){const r=await n();return r==null?"":String(r)}return s==null?"":String(s)}function m_({token:s}){const n=String(s||"").trim();return n?{Authorization:`Bearer ${n}`}:{}}function p_(s){if(!s||typeof s!="object")return null;const n=Number(s.utilization_gpu_pct);if(Number.isFinite(n))return n;const r=s.gpus;if(Array.isArray(r)&&r.length){const l=r.map(d=>Number(d&&d.utilization_gpu_pct)).filter(d=>Number.isFinite(d));return l.length?l.reduce((d,f)=>d+f,0)/l.length:null}return null}async function h_({baseUrl:s,endpoint:n,token:r,getToken:l,signal:a,fetchImpl:d}={}){const f=d_({baseUrl:s,endpoint:n}),p=await f_({token:r,getToken:l}),h=d||globalThis.fetch;if(typeof h!="function")return{ok:!1,status:0,error:"fetch_unavailable",payload:null};let y;try{y=await h(f,{method:"GET",headers:{Accept:"application/json",...m_({token:p})},signal:a})}catch(w){return{ok:!1,status:0,error:"network_error",detail:w instanceof Error?w.message:String(w),payload:null}}let v=null;try{v=await y.json()}catch{v=null}return{ok:y.ok,status:y.status,error:y.ok?null:"http_error",payload:v}}const po=Object.freeze({tickMs:1500,historySize:20,endpoint:"/api/gateway/host/metrics/gpu",baseUrl:"",mode:"full"});function g_(s){return Number.isFinite(s)?Math.min(1,Math.max(0,s)):0}function Xf(s,n,r){return Number.isFinite(s)?Math.min(r,Math.max(n,s)):n}function Zf(s,n){const r=Number(s);return Number.isFinite(r)?Math.floor(r):n}function Wc(s,n=1){const r=Xf(Number(s)/100,0,1),l=Math.round(140-140*r),a=Xf(Number(n),0,1);return a>=1?`hsl(${l} 85% 55%)`:`hsl(${l} 85% 55% / ${a})`}function qf(s){const n={...po,...s||{}};return n.tickMs=Math.max(250,Zf(n.tickMs,po.tickMs)),n.historySize=Math.max(1,Math.min(200,Zf(n.historySize,po.historySize))),n.endpoint=String(n.endpoint||po.endpoint),n.baseUrl=String(n.baseUrl||""),n.mode=String(n.mode||po.mode).trim().toLowerCase(),n.mode!=="icon"&&(n.mode="full"),n}function __(){return`
|
|
52
52
|
: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}
|
|
53
53
|
.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)}
|
|
54
54
|
.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))}
|
|
@@ -62,7 +62,7 @@ Error generating stack: `+m.message+`
|
|
|
62
62
|
.bar.missing{background:var(--monitor-gpu-bar-missing,#62708a);opacity:.35}
|
|
63
63
|
.bar.error{background:var(--monitor-gpu-bar-error,#ff6b6b);opacity:.7}
|
|
64
64
|
.muted{opacity:.6}
|
|
65
|
-
`}class y_{constructor(n,r={}){if(!n||typeof n!="object")throw new TypeError("target element is required");this._target=n,this._opts=qf(r),this._buffer=new Zl(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(n){this._token=n,String(this._token||"").trim()&&this._stoppedForAuth&&(this._stoppedForAuth=!1,this.start())}get token(){return this._token}set getToken(n){this._getToken=n}get getToken(){return this._getToken}mount(){if(this._mounted)return;if(typeof document>"u")throw new Error("MonitorGpuWidget requires a browser DOM");const n=this._target;n.textContent="";const r=document.createElement("style");r.textContent=__();const l=document.createElement("div");l.className=this._opts.mode==="icon"?"wrap icon":"wrap";const a=document.createElement("div");a.className="top";const d=document.createElement("div");d.className="label",d.textContent="GPU";const f=document.createElement("div");f.className="value muted",f.textContent="—",a.appendChild(d),a.appendChild(f);const p=document.createElement("div");p.className="bars",l.appendChild(a),l.appendChild(p),n.appendChild(r),n.appendChild(l),this._els={wrap:l,value:f,bars:p},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(n){const r=qf({...this._opts,...n||{}}),l=r.historySize!==this._opts.historySize,a=r.tickMs!==this._opts.tickMs,d=r.mode!==this._opts.mode;this._opts=r,d&&this._mounted&&this._els&&this._els.wrap&&(this._els.wrap.className=r.mode==="icon"?"wrap icon":"wrap"),l&&(this._buffer.setMaxSize(r.historySize),this._mounted&&this._rebuildBars()),a&&this._running?(this.stop(),this.start()):this._mounted&&this._render()}push(n){this._buffer.push(n),this._render()}_rebuildBars(){if(!this._els)return;const{bars:n}=this._els;n.textContent="";for(let r=0;r<this._opts.historySize;r+=1){const l=document.createElement("div");l.className="bar missing",l.style.height="2px",n.appendChild(l)}}_render({error:n=!1}={}){if(!this._els)return;const{wrap:r,value:l,bars:a}=this._els,d=this._buffer.values(),f=this._buffer.last(),p=Number.isFinite(f)?Math.max(0,Math.min(100,f)):null;p==null?(l.textContent=n?"N/A":"—",l.classList.add("muted")):(l.textContent=`${p.toFixed(0)}%`,l.classList.remove("muted")),r&&(r.title=p==null?"GPU —":`GPU ${p.toFixed(0)}%`,p==null?(r.style.removeProperty("--monitor-gpu-accent"),r.style.removeProperty("--monitor-gpu-accent-glow")):(r.style.setProperty("--monitor-gpu-accent",Wc(p,.95)),r.style.setProperty("--monitor-gpu-accent-glow",Wc(p,.35))));const h=Array.from(a.children),y=Math.max(0,h.length-d.length),v=Math.max(2,a&&typeof a.clientHeight=="number"&&a.clientHeight>0?a.clientHeight:34);for(let w=0;w<h.length;w+=1){const N=h[w],b=w-y,T=b>=0?d[b]:null,I=Number.isFinite(T)?T:null,U=I==null?0:g_(I/100),P=Math.max(2,Math.min(v,Math.round(U*v)));N.style.height=`${P}px`,N.style.background=I==null?"":Wc(I),N.className="bar",I==null&&N.classList.add("missing"),n&&N.classList.add("error")}}async _tick(){const n=String(this._token||"").trim(),r=this._getToken,l=!!n||typeof r=="function";this._abort&&this._abort.abort(),this._abort=new AbortController;const a=await h_({baseUrl:this._opts.baseUrl,endpoint:this._opts.endpoint,token:n,getToken:r,signal:this._abort.signal}),d=a&&a.payload,f=d&&typeof d=="object"?d.supported!==!1:!0,p=p_(d);if(!a.ok){if(this._buffer.push(null),this._render({error:!0}),a.status===401||a.status===403){const h=String(this._token||"").trim(),y=typeof this._getToken=="function";if(!l&&(!!h||y))return;this._stoppedForAuth=!0,this.stop()}else a.status===429&&(this.stop(),this._resumeTimer=setTimeout(()=>{this._resumeTimer=null,this._mounted&&this.start()},3e4));return}if(!f||p==null){this._buffer.push(null),this._render();return}this._buffer.push(p),this._render()}async _poll_loop(n){!this._running||n!==this._timer_gen||(await this._tick(),!(!this._running||n!==this._timer_gen)&&(this._timer=setTimeout(()=>{this._timer=null,this._poll_loop(n)},this._opts.tickMs)))}}function w_(s="monitor-gpu"){if(typeof globalThis>"u"||typeof globalThis.customElements>"u"||globalThis.customElements.get(s))return;const n=globalThis.HTMLElement||class{};class r extends n{static get observedAttributes(){return["tick-ms","history-size","endpoint","base-url","mode"]}constructor(){super(),this._shadow=this.attachShadow?this.attachShadow({mode:"open"}):null;const a=this._shadow||this;this._controller=new y_(a,{}),this._upgradeProperty("token"),this._upgradeProperty("getToken"),this._upgradeProperty("mode")}_upgradeProperty(a){if(!Object.prototype.hasOwnProperty.call(this,a))return;const d=this[a];try{delete this[a]}catch{}this[a]=d}connectedCallback(){this._controller.setOptions(this._readAttrs());const a=()=>{this.isConnected&&this._controller.start()};typeof queueMicrotask=="function"?queueMicrotask(a):Promise.resolve().then(a)}disconnectedCallback(){this._controller.destroy()}attributeChangedCallback(){this._controller.setOptions(this._readAttrs())}_readAttrs(){const a=this.getAttribute("tick-ms"),d=this.getAttribute("history-size"),f=this.getAttribute("endpoint"),p=this.getAttribute("base-url"),h=this.getAttribute("mode");return{...a!=null?{tickMs:a}:{},...d!=null?{historySize:d}:{},...f!=null?{endpoint:f}:{},...p!=null?{baseUrl:p}:{},...h!=null?{mode:h}:{}}}set token(a){this._controller.token=a}get token(){return this._controller.token}set getToken(a){this._controller.getToken=a}get getToken(){return this._controller.getToken}set tickMs(a){this._controller.setOptions({tickMs:a})}get tickMs(){return this._controller.options.tickMs}set historySize(a){this._controller.setOptions({historySize:a})}get historySize(){return this._controller.options.historySize}set endpoint(a){this._controller.setOptions({endpoint:a})}get endpoint(){return this._controller.options.endpoint}set baseUrl(a){this._controller.setOptions({baseUrl:a})}get baseUrl(){return this._controller.options.baseUrl}set mode(a){this._controller.setOptions({mode:a})}get mode(){return this._controller.options.mode}}globalThis.customElements.define(s,r)}/*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */const{entries:op,setPrototypeOf:em,isFrozen:v_,getPrototypeOf:x_,getOwnPropertyDescriptor:S_}=Object;let{freeze:En,seal:dr,create:lp}=Object,{apply:cu,construct:uu}=typeof Reflect<"u"&&Reflect;En||(En=function(n){return n});dr||(dr=function(n){return n});cu||(cu=function(n,r){for(var l=arguments.length,a=new Array(l>2?l-2:0),d=2;d<l;d++)a[d-2]=arguments[d];return n.apply(r,a)});uu||(uu=function(n){for(var r=arguments.length,l=new Array(r>1?r-1:0),a=1;a<r;a++)l[a-1]=arguments[a];return new n(...l)});const Bl=Cn(Array.prototype.forEach),k_=Cn(Array.prototype.lastIndexOf),tm=Cn(Array.prototype.pop),ho=Cn(Array.prototype.push),b_=Cn(Array.prototype.splice),Jl=Cn(String.prototype.toLowerCase),Hc=Cn(String.prototype.toString),Vc=Cn(String.prototype.match),go=Cn(String.prototype.replace),j_=Cn(String.prototype.indexOf),N_=Cn(String.prototype.trim),vr=Cn(Object.prototype.hasOwnProperty),jn=Cn(RegExp.prototype.test),_o=E_(TypeError);function Cn(s){return function(n){n instanceof RegExp&&(n.lastIndex=0);for(var r=arguments.length,l=new Array(r>1?r-1:0),a=1;a<r;a++)l[a-1]=arguments[a];return cu(s,n,l)}}function E_(s){return function(){for(var n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return uu(s,r)}}function Ye(s,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Jl;em&&em(s,null);let l=n.length;for(;l--;){let a=n[l];if(typeof a=="string"){const d=r(a);d!==a&&(v_(n)||(n[l]=d),a=d)}s[a]=!0}return s}function C_(s){for(let n=0;n<s.length;n++)vr(s,n)||(s[n]=null);return s}function Jr(s){const n=lp(null);for(const[r,l]of op(s))vr(s,r)&&(Array.isArray(l)?n[r]=C_(l):l&&typeof l=="object"&&l.constructor===Object?n[r]=Jr(l):n[r]=l);return n}function yo(s,n){for(;s!==null;){const l=S_(s,n);if(l){if(l.get)return Cn(l.get);if(typeof l.value=="function")return Cn(l.value)}s=x_(s)}function r(){return null}return r}const nm=En(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Gc=En(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Qc=En(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),T_=En(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Kc=En(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),M_=En(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),rm=En(["#text"]),sm=En(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Yc=En(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),im=En(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Wl=En(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),A_=dr(/\{\{[\w\W]*|[\w\W]*\}\}/gm),$_=dr(/<%[\w\W]*|[\w\W]*%>/gm),R_=dr(/\$\{[\w\W]*/gm),L_=dr(/^data-[\-\w.\u00B7-\uFFFF]+$/),O_=dr(/^aria-[\-\w]+$/),ap=dr(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),P_=dr(/^(?:\w+script|data):/i),z_=dr(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),cp=dr(/^html$/i),D_=dr(/^[a-z][.\w]*(-[.\w]+)+$/i);var om=Object.freeze({__proto__:null,ARIA_ATTR:O_,ATTR_WHITESPACE:z_,CUSTOM_ELEMENT:D_,DATA_ATTR:L_,DOCTYPE_NAME:cp,ERB_EXPR:$_,IS_ALLOWED_URI:ap,IS_SCRIPT_OR_DATA:P_,MUSTACHE_EXPR:A_,TMPLIT_EXPR:R_});const wo={element:1,text:3,progressingInstruction:7,comment:8,document:9},I_=function(){return typeof window>"u"?null:window},F_=function(n,r){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let l=null;const a="data-tt-policy-suffix";r&&r.hasAttribute(a)&&(l=r.getAttribute(a));const d="dompurify"+(l?"#"+l:"");try{return n.createPolicy(d,{createHTML(f){return f},createScriptURL(f){return f}})}catch{return console.warn("TrustedTypes policy "+d+" could not be created."),null}},lm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function up(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:I_();const n=Le=>up(Le);if(n.version="3.2.7",n.removed=[],!s||!s.document||s.document.nodeType!==wo.document||!s.Element)return n.isSupported=!1,n;let{document:r}=s;const l=r,a=l.currentScript,{DocumentFragment:d,HTMLTemplateElement:f,Node:p,Element:h,NodeFilter:y,NamedNodeMap:v=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:w,DOMParser:N,trustedTypes:b}=s,T=h.prototype,I=yo(T,"cloneNode"),U=yo(T,"remove"),P=yo(T,"nextSibling"),D=yo(T,"childNodes"),$=yo(T,"parentNode");if(typeof f=="function"){const Le=r.createElement("template");Le.content&&Le.content.ownerDocument&&(r=Le.content.ownerDocument)}let O,z="";const{implementation:V,createNodeIterator:re,createDocumentFragment:L,getElementsByTagName:xe}=r,{importNode:W}=l;let se=lm();n.isSupported=typeof op=="function"&&typeof $=="function"&&V&&V.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:J,ERB_EXPR:pe,TMPLIT_EXPR:Ce,DATA_ATTR:Q,ARIA_ATTR:ke,IS_SCRIPT_OR_DATA:Se,ATTR_WHITESPACE:te,CUSTOM_ELEMENT:we}=om;let{IS_ALLOWED_URI:he}=om,k=null;const B=Ye({},[...nm,...Gc,...Qc,...Kc,...rm]);let le=null;const ge=Ye({},[...sm,...Yc,...im,...Wl]);let ve=Object.seal(lp(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,G=null,_e=!0,Re=!0,He=!1,Ge=!0,Je=!1,st=!0,kt=!1,Qt=!1,Ft=!1,Kt=!1,Ut=!1,fn=!1,Lt=!0,Nt=!1;const mn="user-content-";let Yt=!0,pn=!1,hn={},Jt=null;const Mt=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Bt=null;const Jn=Ye({},["audio","video","img","source","image","track"]);let rn=null;const Xn=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Xt="http://www.w3.org/1998/Math/MathML",In="http://www.w3.org/2000/svg",gt="http://www.w3.org/1999/xhtml";let Fn=gt,gn=!1,Ot=null;const dt=Ye({},[Xt,In,gt],Hc);let Un=Ye({},["mi","mo","mn","ms","mtext"]),Bn=Ye({},["annotation-xml"]);const Zt=Ye({},["title","style","font","a","script"]);let sn=null;const fr=["application/xhtml+xml","text/html"],kr="text/html";let lt=null,Zn=null;const br=r.createElement("form"),qn=function(A){return A instanceof RegExp||A instanceof Function},Xr=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Zn&&Zn===A)){if((!A||typeof A!="object")&&(A={}),A=Jr(A),sn=fr.indexOf(A.PARSER_MEDIA_TYPE)===-1?kr:A.PARSER_MEDIA_TYPE,lt=sn==="application/xhtml+xml"?Hc:Jl,k=vr(A,"ALLOWED_TAGS")?Ye({},A.ALLOWED_TAGS,lt):B,le=vr(A,"ALLOWED_ATTR")?Ye({},A.ALLOWED_ATTR,lt):ge,Ot=vr(A,"ALLOWED_NAMESPACES")?Ye({},A.ALLOWED_NAMESPACES,Hc):dt,rn=vr(A,"ADD_URI_SAFE_ATTR")?Ye(Jr(Xn),A.ADD_URI_SAFE_ATTR,lt):Xn,Bt=vr(A,"ADD_DATA_URI_TAGS")?Ye(Jr(Jn),A.ADD_DATA_URI_TAGS,lt):Jn,Jt=vr(A,"FORBID_CONTENTS")?Ye({},A.FORBID_CONTENTS,lt):Mt,ee=vr(A,"FORBID_TAGS")?Ye({},A.FORBID_TAGS,lt):Jr({}),G=vr(A,"FORBID_ATTR")?Ye({},A.FORBID_ATTR,lt):Jr({}),hn=vr(A,"USE_PROFILES")?A.USE_PROFILES:!1,_e=A.ALLOW_ARIA_ATTR!==!1,Re=A.ALLOW_DATA_ATTR!==!1,He=A.ALLOW_UNKNOWN_PROTOCOLS||!1,Ge=A.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Je=A.SAFE_FOR_TEMPLATES||!1,st=A.SAFE_FOR_XML!==!1,kt=A.WHOLE_DOCUMENT||!1,Kt=A.RETURN_DOM||!1,Ut=A.RETURN_DOM_FRAGMENT||!1,fn=A.RETURN_TRUSTED_TYPE||!1,Ft=A.FORCE_BODY||!1,Lt=A.SANITIZE_DOM!==!1,Nt=A.SANITIZE_NAMED_PROPS||!1,Yt=A.KEEP_CONTENT!==!1,pn=A.IN_PLACE||!1,he=A.ALLOWED_URI_REGEXP||ap,Fn=A.NAMESPACE||gt,Un=A.MATHML_TEXT_INTEGRATION_POINTS||Un,Bn=A.HTML_INTEGRATION_POINTS||Bn,ve=A.CUSTOM_ELEMENT_HANDLING||{},A.CUSTOM_ELEMENT_HANDLING&&qn(A.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ve.tagNameCheck=A.CUSTOM_ELEMENT_HANDLING.tagNameCheck),A.CUSTOM_ELEMENT_HANDLING&&qn(A.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ve.attributeNameCheck=A.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),A.CUSTOM_ELEMENT_HANDLING&&typeof A.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ve.allowCustomizedBuiltInElements=A.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Je&&(Re=!1),Ut&&(Kt=!0),hn&&(k=Ye({},rm),le=[],hn.html===!0&&(Ye(k,nm),Ye(le,sm)),hn.svg===!0&&(Ye(k,Gc),Ye(le,Yc),Ye(le,Wl)),hn.svgFilters===!0&&(Ye(k,Qc),Ye(le,Yc),Ye(le,Wl)),hn.mathMl===!0&&(Ye(k,Kc),Ye(le,im),Ye(le,Wl))),A.ADD_TAGS&&(k===B&&(k=Jr(k)),Ye(k,A.ADD_TAGS,lt)),A.ADD_ATTR&&(le===ge&&(le=Jr(le)),Ye(le,A.ADD_ATTR,lt)),A.ADD_URI_SAFE_ATTR&&Ye(rn,A.ADD_URI_SAFE_ATTR,lt),A.FORBID_CONTENTS&&(Jt===Mt&&(Jt=Jr(Jt)),Ye(Jt,A.FORBID_CONTENTS,lt)),Yt&&(k["#text"]=!0),kt&&Ye(k,["html","head","body"]),k.table&&(Ye(k,["tbody"]),delete ee.tbody),A.TRUSTED_TYPES_POLICY){if(typeof A.TRUSTED_TYPES_POLICY.createHTML!="function")throw _o('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof A.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw _o('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');O=A.TRUSTED_TYPES_POLICY,z=O.createHTML("")}else O===void 0&&(O=F_(b,a)),O!==null&&typeof z=="string"&&(z=O.createHTML(""));En&&En(A),Zn=A}},_n=Ye({},[...Gc,...Qc,...T_]),Zr=Ye({},[...Kc,...M_]),er=function(A){let me=$(A);(!me||!me.tagName)&&(me={namespaceURI:Fn,tagName:"template"});const $e=Jl(A.tagName),ct=Jl(me.tagName);return Ot[A.namespaceURI]?A.namespaceURI===In?me.namespaceURI===gt?$e==="svg":me.namespaceURI===Xt?$e==="svg"&&(ct==="annotation-xml"||Un[ct]):!!_n[$e]:A.namespaceURI===Xt?me.namespaceURI===gt?$e==="math":me.namespaceURI===In?$e==="math"&&Bn[ct]:!!Zr[$e]:A.namespaceURI===gt?me.namespaceURI===In&&!Bn[ct]||me.namespaceURI===Xt&&!Un[ct]?!1:!Zr[$e]&&(Zt[$e]||!_n[$e]):!!(sn==="application/xhtml+xml"&&Ot[A.namespaceURI]):!1},Tn=function(A){ho(n.removed,{element:A});try{$(A).removeChild(A)}catch{U(A)}},qt=function(A,me){try{ho(n.removed,{attribute:me.getAttributeNode(A),from:me})}catch{ho(n.removed,{attribute:null,from:me})}if(me.removeAttribute(A),A==="is")if(Kt||Ut)try{Tn(me)}catch{}else try{me.setAttribute(A,"")}catch{}},jr=function(A){let me=null,$e=null;if(Ft)A="<remove></remove>"+A;else{const Ue=Vc(A,/^[\r\n\t ]+/);$e=Ue&&Ue[0]}sn==="application/xhtml+xml"&&Fn===gt&&(A='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+A+"</body></html>");const ct=O?O.createHTML(A):A;if(Fn===gt)try{me=new N().parseFromString(ct,sn)}catch{}if(!me||!me.documentElement){me=V.createDocument(Fn,"template",null);try{me.documentElement.innerHTML=gn?z:ct}catch{}}const At=me.body||me.documentElement;return A&&$e&&At.insertBefore(r.createTextNode($e),At.childNodes[0]||null),Fn===gt?xe.call(me,kt?"html":"body")[0]:kt?me.documentElement:At},wt=function(A){return re.call(A.ownerDocument||A,A,y.SHOW_ELEMENT|y.SHOW_COMMENT|y.SHOW_TEXT|y.SHOW_PROCESSING_INSTRUCTION|y.SHOW_CDATA_SECTION,null)},yn=function(A){return A instanceof w&&(typeof A.nodeName!="string"||typeof A.textContent!="string"||typeof A.removeChild!="function"||!(A.attributes instanceof v)||typeof A.removeAttribute!="function"||typeof A.setAttribute!="function"||typeof A.namespaceURI!="string"||typeof A.insertBefore!="function"||typeof A.hasChildNodes!="function")},qr=function(A){return typeof p=="function"&&A instanceof p};function wn(Le,A,me){Bl(Le,$e=>{$e.call(n,A,me,Zn)})}const en=function(A){let me=null;if(wn(se.beforeSanitizeElements,A,null),yn(A))return Tn(A),!0;const $e=lt(A.nodeName);if(wn(se.uponSanitizeElement,A,{tagName:$e,allowedTags:k}),st&&A.hasChildNodes()&&!qr(A.firstElementChild)&&jn(/<[/\w!]/g,A.innerHTML)&&jn(/<[/\w!]/g,A.textContent)||A.nodeType===wo.progressingInstruction||st&&A.nodeType===wo.comment&&jn(/<[/\w]/g,A.data))return Tn(A),!0;if(!k[$e]||ee[$e]){if(!ee[$e]&&es($e)&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,$e)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck($e)))return!1;if(Yt&&!Jt[$e]){const ct=$(A)||A.parentNode,At=D(A)||A.childNodes;if(At&&ct){const Ue=At.length;for(let Pt=Ue-1;Pt>=0;--Pt){const on=I(At[Pt],!0);on.__removalCount=(A.__removalCount||0)+1,ct.insertBefore(on,P(A))}}}return Tn(A),!0}return A instanceof h&&!er(A)||($e==="noscript"||$e==="noembed"||$e==="noframes")&&jn(/<\/no(script|embed|frames)/i,A.innerHTML)?(Tn(A),!0):(Je&&A.nodeType===wo.text&&(me=A.textContent,Bl([J,pe,Ce],ct=>{me=go(me,ct," ")}),A.textContent!==me&&(ho(n.removed,{element:A.cloneNode()}),A.textContent=me)),wn(se.afterSanitizeElements,A,null),!1)},tr=function(A,me,$e){if(Lt&&(me==="id"||me==="name")&&($e in r||$e in br))return!1;if(!(Re&&!G[me]&&jn(Q,me))){if(!(_e&&jn(ke,me))){if(!le[me]||G[me]){if(!(es(A)&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,A)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck(A))&&(ve.attributeNameCheck instanceof RegExp&&jn(ve.attributeNameCheck,me)||ve.attributeNameCheck instanceof Function&&ve.attributeNameCheck(me,A))||me==="is"&&ve.allowCustomizedBuiltInElements&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,$e)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck($e))))return!1}else if(!rn[me]){if(!jn(he,go($e,te,""))){if(!((me==="src"||me==="xlink:href"||me==="href")&&A!=="script"&&j_($e,"data:")===0&&Bt[A])){if(!(He&&!jn(Se,go($e,te,"")))){if($e)return!1}}}}}}return!0},es=function(A){return A!=="annotation-xml"&&Vc(A,we)},Mn=function(A){wn(se.beforeSanitizeAttributes,A,null);const{attributes:me}=A;if(!me||yn(A))return;const $e={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:le,forceKeepAttr:void 0};let ct=me.length;for(;ct--;){const At=me[ct],{name:Ue,namespaceURI:Pt,value:on}=At,An=lt(Ue),vn=on;let mt=Ue==="value"?vn:N_(vn);if($e.attrName=An,$e.attrValue=mt,$e.keepAttr=!0,$e.forceKeepAttr=void 0,wn(se.uponSanitizeAttribute,A,$e),mt=$e.attrValue,Nt&&(An==="id"||An==="name")&&(qt(Ue,A),mt=mn+mt),st&&jn(/((--!?|])>)|<\/(style|title|textarea)/i,mt)){qt(Ue,A);continue}if(An==="attributename"&&Vc(mt,"href")){qt(Ue,A);continue}if($e.forceKeepAttr)continue;if(!$e.keepAttr){qt(Ue,A);continue}if(!Ge&&jn(/\/>/i,mt)){qt(Ue,A);continue}Je&&Bl([J,pe,Ce],Wt=>{mt=go(mt,Wt," ")});const ts=lt(A.nodeName);if(!tr(ts,An,mt)){qt(Ue,A);continue}if(O&&typeof b=="object"&&typeof b.getAttributeType=="function"&&!Pt)switch(b.getAttributeType(ts,An)){case"TrustedHTML":{mt=O.createHTML(mt);break}case"TrustedScriptURL":{mt=O.createScriptURL(mt);break}}if(mt!==vn)try{Pt?A.setAttributeNS(Pt,Ue,mt):A.setAttribute(Ue,mt),yn(A)?Tn(A):tm(n.removed)}catch{qt(Ue,A)}}wn(se.afterSanitizeAttributes,A,null)},Wn=function Le(A){let me=null;const $e=wt(A);for(wn(se.beforeSanitizeShadowDOM,A,null);me=$e.nextNode();)wn(se.uponSanitizeShadowNode,me,null),en(me),Mn(me),me.content instanceof d&&Le(me.content);wn(se.afterSanitizeShadowDOM,A,null)};return n.sanitize=function(Le){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},me=null,$e=null,ct=null,At=null;if(gn=!Le,gn&&(Le="<!-->"),typeof Le!="string"&&!qr(Le))if(typeof Le.toString=="function"){if(Le=Le.toString(),typeof Le!="string")throw _o("dirty is not a string, aborting")}else throw _o("toString is not a function");if(!n.isSupported)return Le;if(Qt||Xr(A),n.removed=[],typeof Le=="string"&&(pn=!1),pn){if(Le.nodeName){const on=lt(Le.nodeName);if(!k[on]||ee[on])throw _o("root node is forbidden and cannot be sanitized in-place")}}else if(Le instanceof p)me=jr("<!---->"),$e=me.ownerDocument.importNode(Le,!0),$e.nodeType===wo.element&&$e.nodeName==="BODY"||$e.nodeName==="HTML"?me=$e:me.appendChild($e);else{if(!Kt&&!Je&&!kt&&Le.indexOf("<")===-1)return O&&fn?O.createHTML(Le):Le;if(me=jr(Le),!me)return Kt?null:fn?z:""}me&&Ft&&Tn(me.firstChild);const Ue=wt(pn?Le:me);for(;ct=Ue.nextNode();)en(ct),Mn(ct),ct.content instanceof d&&Wn(ct.content);if(pn)return Le;if(Kt){if(Ut)for(At=L.call(me.ownerDocument);me.firstChild;)At.appendChild(me.firstChild);else At=me;return(le.shadowroot||le.shadowrootmode)&&(At=W.call(l,At,!0)),At}let Pt=kt?me.outerHTML:me.innerHTML;return kt&&k["!doctype"]&&me.ownerDocument&&me.ownerDocument.doctype&&me.ownerDocument.doctype.name&&jn(cp,me.ownerDocument.doctype.name)&&(Pt="<!DOCTYPE "+me.ownerDocument.doctype.name+`>
|
|
65
|
+
`}class y_{constructor(n,r={}){if(!n||typeof n!="object")throw new TypeError("target element is required");this._target=n,this._opts=qf(r),this._buffer=new Zl(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(n){this._token=n,String(this._token||"").trim()&&this._stoppedForAuth&&(this._stoppedForAuth=!1,this.start())}get token(){return this._token}set getToken(n){this._getToken=n}get getToken(){return this._getToken}mount(){if(this._mounted)return;if(typeof document>"u")throw new Error("MonitorGpuWidget requires a browser DOM");const n=this._target;n.textContent="";const r=document.createElement("style");r.textContent=__();const l=document.createElement("div");l.className=this._opts.mode==="icon"?"wrap icon":"wrap";const a=document.createElement("div");a.className="top";const d=document.createElement("div");d.className="label",d.textContent="GPU";const f=document.createElement("div");f.className="value muted",f.textContent="—",a.appendChild(d),a.appendChild(f);const p=document.createElement("div");p.className="bars",l.appendChild(a),l.appendChild(p),n.appendChild(r),n.appendChild(l),this._els={wrap:l,value:f,bars:p},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(n){const r=qf({...this._opts,...n||{}}),l=r.historySize!==this._opts.historySize,a=r.tickMs!==this._opts.tickMs,d=r.mode!==this._opts.mode;this._opts=r,d&&this._mounted&&this._els&&this._els.wrap&&(this._els.wrap.className=r.mode==="icon"?"wrap icon":"wrap"),l&&(this._buffer.setMaxSize(r.historySize),this._mounted&&this._rebuildBars()),a&&this._running?(this.stop(),this.start()):this._mounted&&this._render()}push(n){this._buffer.push(n),this._render()}_rebuildBars(){if(!this._els)return;const{bars:n}=this._els;n.textContent="";for(let r=0;r<this._opts.historySize;r+=1){const l=document.createElement("div");l.className="bar missing",l.style.height="2px",n.appendChild(l)}}_render({error:n=!1}={}){if(!this._els)return;const{wrap:r,value:l,bars:a}=this._els,d=this._buffer.values(),f=this._buffer.last(),p=Number.isFinite(f)?Math.max(0,Math.min(100,f)):null;p==null?(l.textContent=n?"N/A":"—",l.classList.add("muted")):(l.textContent=`${p.toFixed(0)}%`,l.classList.remove("muted")),r&&(r.title=p==null?"GPU —":`GPU ${p.toFixed(0)}%`,p==null?(r.style.removeProperty("--monitor-gpu-accent"),r.style.removeProperty("--monitor-gpu-accent-glow")):(r.style.setProperty("--monitor-gpu-accent",Wc(p,.95)),r.style.setProperty("--monitor-gpu-accent-glow",Wc(p,.35))));const h=Array.from(a.children),y=Math.max(0,h.length-d.length),v=Math.max(2,a&&typeof a.clientHeight=="number"&&a.clientHeight>0?a.clientHeight:34);for(let w=0;w<h.length;w+=1){const N=h[w],b=w-y,T=b>=0?d[b]:null,I=Number.isFinite(T)?T:null,U=I==null?0:g_(I/100),z=Math.max(2,Math.min(v,Math.round(U*v)));N.style.height=`${z}px`,N.style.background=I==null?"":Wc(I),N.className="bar",I==null&&N.classList.add("missing"),n&&N.classList.add("error")}}async _tick(){const n=String(this._token||"").trim(),r=this._getToken,l=!!n||typeof r=="function";this._abort&&this._abort.abort(),this._abort=new AbortController;const a=await h_({baseUrl:this._opts.baseUrl,endpoint:this._opts.endpoint,token:n,getToken:r,signal:this._abort.signal}),d=a&&a.payload,f=d&&typeof d=="object"?d.supported!==!1:!0,p=p_(d);if(!a.ok){if(this._buffer.push(null),this._render({error:!0}),a.status===401||a.status===403){const h=String(this._token||"").trim(),y=typeof this._getToken=="function";if(!l&&(!!h||y))return;this._stoppedForAuth=!0,this.stop()}else a.status===429&&(this.stop(),this._resumeTimer=setTimeout(()=>{this._resumeTimer=null,this._mounted&&this.start()},3e4));return}if(!f||p==null){this._buffer.push(null),this._render();return}this._buffer.push(p),this._render()}async _poll_loop(n){!this._running||n!==this._timer_gen||(await this._tick(),!(!this._running||n!==this._timer_gen)&&(this._timer=setTimeout(()=>{this._timer=null,this._poll_loop(n)},this._opts.tickMs)))}}function w_(s="monitor-gpu"){if(typeof globalThis>"u"||typeof globalThis.customElements>"u"||globalThis.customElements.get(s))return;const n=globalThis.HTMLElement||class{};class r extends n{static get observedAttributes(){return["tick-ms","history-size","endpoint","base-url","mode"]}constructor(){super(),this._shadow=this.attachShadow?this.attachShadow({mode:"open"}):null;const a=this._shadow||this;this._controller=new y_(a,{}),this._upgradeProperty("token"),this._upgradeProperty("getToken"),this._upgradeProperty("mode")}_upgradeProperty(a){if(!Object.prototype.hasOwnProperty.call(this,a))return;const d=this[a];try{delete this[a]}catch{}this[a]=d}connectedCallback(){this._controller.setOptions(this._readAttrs());const a=()=>{this.isConnected&&this._controller.start()};typeof queueMicrotask=="function"?queueMicrotask(a):Promise.resolve().then(a)}disconnectedCallback(){this._controller.destroy()}attributeChangedCallback(){this._controller.setOptions(this._readAttrs())}_readAttrs(){const a=this.getAttribute("tick-ms"),d=this.getAttribute("history-size"),f=this.getAttribute("endpoint"),p=this.getAttribute("base-url"),h=this.getAttribute("mode");return{...a!=null?{tickMs:a}:{},...d!=null?{historySize:d}:{},...f!=null?{endpoint:f}:{},...p!=null?{baseUrl:p}:{},...h!=null?{mode:h}:{}}}set token(a){this._controller.token=a}get token(){return this._controller.token}set getToken(a){this._controller.getToken=a}get getToken(){return this._controller.getToken}set tickMs(a){this._controller.setOptions({tickMs:a})}get tickMs(){return this._controller.options.tickMs}set historySize(a){this._controller.setOptions({historySize:a})}get historySize(){return this._controller.options.historySize}set endpoint(a){this._controller.setOptions({endpoint:a})}get endpoint(){return this._controller.options.endpoint}set baseUrl(a){this._controller.setOptions({baseUrl:a})}get baseUrl(){return this._controller.options.baseUrl}set mode(a){this._controller.setOptions({mode:a})}get mode(){return this._controller.options.mode}}globalThis.customElements.define(s,r)}/*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */const{entries:op,setPrototypeOf:em,isFrozen:v_,getPrototypeOf:x_,getOwnPropertyDescriptor:S_}=Object;let{freeze:En,seal:dr,create:lp}=Object,{apply:cu,construct:uu}=typeof Reflect<"u"&&Reflect;En||(En=function(n){return n});dr||(dr=function(n){return n});cu||(cu=function(n,r){for(var l=arguments.length,a=new Array(l>2?l-2:0),d=2;d<l;d++)a[d-2]=arguments[d];return n.apply(r,a)});uu||(uu=function(n){for(var r=arguments.length,l=new Array(r>1?r-1:0),a=1;a<r;a++)l[a-1]=arguments[a];return new n(...l)});const Bl=Cn(Array.prototype.forEach),k_=Cn(Array.prototype.lastIndexOf),tm=Cn(Array.prototype.pop),ho=Cn(Array.prototype.push),b_=Cn(Array.prototype.splice),Jl=Cn(String.prototype.toLowerCase),Hc=Cn(String.prototype.toString),Vc=Cn(String.prototype.match),go=Cn(String.prototype.replace),j_=Cn(String.prototype.indexOf),N_=Cn(String.prototype.trim),vr=Cn(Object.prototype.hasOwnProperty),jn=Cn(RegExp.prototype.test),_o=E_(TypeError);function Cn(s){return function(n){n instanceof RegExp&&(n.lastIndex=0);for(var r=arguments.length,l=new Array(r>1?r-1:0),a=1;a<r;a++)l[a-1]=arguments[a];return cu(s,n,l)}}function E_(s){return function(){for(var n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return uu(s,r)}}function Ye(s,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Jl;em&&em(s,null);let l=n.length;for(;l--;){let a=n[l];if(typeof a=="string"){const d=r(a);d!==a&&(v_(n)||(n[l]=d),a=d)}s[a]=!0}return s}function C_(s){for(let n=0;n<s.length;n++)vr(s,n)||(s[n]=null);return s}function Jr(s){const n=lp(null);for(const[r,l]of op(s))vr(s,r)&&(Array.isArray(l)?n[r]=C_(l):l&&typeof l=="object"&&l.constructor===Object?n[r]=Jr(l):n[r]=l);return n}function yo(s,n){for(;s!==null;){const l=S_(s,n);if(l){if(l.get)return Cn(l.get);if(typeof l.value=="function")return Cn(l.value)}s=x_(s)}function r(){return null}return r}const nm=En(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Gc=En(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Qc=En(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),T_=En(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Kc=En(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),M_=En(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),rm=En(["#text"]),sm=En(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Yc=En(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),im=En(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Wl=En(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),A_=dr(/\{\{[\w\W]*|[\w\W]*\}\}/gm),$_=dr(/<%[\w\W]*|[\w\W]*%>/gm),R_=dr(/\$\{[\w\W]*/gm),L_=dr(/^data-[\-\w.\u00B7-\uFFFF]+$/),O_=dr(/^aria-[\-\w]+$/),ap=dr(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),P_=dr(/^(?:\w+script|data):/i),z_=dr(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),cp=dr(/^html$/i),D_=dr(/^[a-z][.\w]*(-[.\w]+)+$/i);var om=Object.freeze({__proto__:null,ARIA_ATTR:O_,ATTR_WHITESPACE:z_,CUSTOM_ELEMENT:D_,DATA_ATTR:L_,DOCTYPE_NAME:cp,ERB_EXPR:$_,IS_ALLOWED_URI:ap,IS_SCRIPT_OR_DATA:P_,MUSTACHE_EXPR:A_,TMPLIT_EXPR:R_});const wo={element:1,text:3,progressingInstruction:7,comment:8,document:9},I_=function(){return typeof window>"u"?null:window},F_=function(n,r){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let l=null;const a="data-tt-policy-suffix";r&&r.hasAttribute(a)&&(l=r.getAttribute(a));const d="dompurify"+(l?"#"+l:"");try{return n.createPolicy(d,{createHTML(f){return f},createScriptURL(f){return f}})}catch{return console.warn("TrustedTypes policy "+d+" could not be created."),null}},lm=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function up(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:I_();const n=Le=>up(Le);if(n.version="3.2.7",n.removed=[],!s||!s.document||s.document.nodeType!==wo.document||!s.Element)return n.isSupported=!1,n;let{document:r}=s;const l=r,a=l.currentScript,{DocumentFragment:d,HTMLTemplateElement:f,Node:p,Element:h,NodeFilter:y,NamedNodeMap:v=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:w,DOMParser:N,trustedTypes:b}=s,T=h.prototype,I=yo(T,"cloneNode"),U=yo(T,"remove"),z=yo(T,"nextSibling"),D=yo(T,"childNodes"),$=yo(T,"parentNode");if(typeof f=="function"){const Le=r.createElement("template");Le.content&&Le.content.ownerDocument&&(r=Le.content.ownerDocument)}let O,P="";const{implementation:V,createNodeIterator:re,createDocumentFragment:L,getElementsByTagName:xe}=r,{importNode:W}=l;let se=lm();n.isSupported=typeof op=="function"&&typeof $=="function"&&V&&V.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:J,ERB_EXPR:pe,TMPLIT_EXPR:Ce,DATA_ATTR:Q,ARIA_ATTR:ke,IS_SCRIPT_OR_DATA:Se,ATTR_WHITESPACE:te,CUSTOM_ELEMENT:we}=om;let{IS_ALLOWED_URI:he}=om,k=null;const B=Ye({},[...nm,...Gc,...Qc,...Kc,...rm]);let le=null;const ge=Ye({},[...sm,...Yc,...im,...Wl]);let ve=Object.seal(lp(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,G=null,_e=!0,Re=!0,He=!1,Ge=!0,Je=!1,st=!0,kt=!1,Qt=!1,Ft=!1,Kt=!1,Ut=!1,fn=!1,Lt=!0,Nt=!1;const mn="user-content-";let Yt=!0,pn=!1,hn={},Jt=null;const Mt=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Bt=null;const Jn=Ye({},["audio","video","img","source","image","track"]);let rn=null;const Xn=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Xt="http://www.w3.org/1998/Math/MathML",In="http://www.w3.org/2000/svg",gt="http://www.w3.org/1999/xhtml";let Fn=gt,gn=!1,Ot=null;const dt=Ye({},[Xt,In,gt],Hc);let Un=Ye({},["mi","mo","mn","ms","mtext"]),Bn=Ye({},["annotation-xml"]);const Zt=Ye({},["title","style","font","a","script"]);let sn=null;const fr=["application/xhtml+xml","text/html"],kr="text/html";let lt=null,Zn=null;const br=r.createElement("form"),qn=function(A){return A instanceof RegExp||A instanceof Function},Xr=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Zn&&Zn===A)){if((!A||typeof A!="object")&&(A={}),A=Jr(A),sn=fr.indexOf(A.PARSER_MEDIA_TYPE)===-1?kr:A.PARSER_MEDIA_TYPE,lt=sn==="application/xhtml+xml"?Hc:Jl,k=vr(A,"ALLOWED_TAGS")?Ye({},A.ALLOWED_TAGS,lt):B,le=vr(A,"ALLOWED_ATTR")?Ye({},A.ALLOWED_ATTR,lt):ge,Ot=vr(A,"ALLOWED_NAMESPACES")?Ye({},A.ALLOWED_NAMESPACES,Hc):dt,rn=vr(A,"ADD_URI_SAFE_ATTR")?Ye(Jr(Xn),A.ADD_URI_SAFE_ATTR,lt):Xn,Bt=vr(A,"ADD_DATA_URI_TAGS")?Ye(Jr(Jn),A.ADD_DATA_URI_TAGS,lt):Jn,Jt=vr(A,"FORBID_CONTENTS")?Ye({},A.FORBID_CONTENTS,lt):Mt,ee=vr(A,"FORBID_TAGS")?Ye({},A.FORBID_TAGS,lt):Jr({}),G=vr(A,"FORBID_ATTR")?Ye({},A.FORBID_ATTR,lt):Jr({}),hn=vr(A,"USE_PROFILES")?A.USE_PROFILES:!1,_e=A.ALLOW_ARIA_ATTR!==!1,Re=A.ALLOW_DATA_ATTR!==!1,He=A.ALLOW_UNKNOWN_PROTOCOLS||!1,Ge=A.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Je=A.SAFE_FOR_TEMPLATES||!1,st=A.SAFE_FOR_XML!==!1,kt=A.WHOLE_DOCUMENT||!1,Kt=A.RETURN_DOM||!1,Ut=A.RETURN_DOM_FRAGMENT||!1,fn=A.RETURN_TRUSTED_TYPE||!1,Ft=A.FORCE_BODY||!1,Lt=A.SANITIZE_DOM!==!1,Nt=A.SANITIZE_NAMED_PROPS||!1,Yt=A.KEEP_CONTENT!==!1,pn=A.IN_PLACE||!1,he=A.ALLOWED_URI_REGEXP||ap,Fn=A.NAMESPACE||gt,Un=A.MATHML_TEXT_INTEGRATION_POINTS||Un,Bn=A.HTML_INTEGRATION_POINTS||Bn,ve=A.CUSTOM_ELEMENT_HANDLING||{},A.CUSTOM_ELEMENT_HANDLING&&qn(A.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ve.tagNameCheck=A.CUSTOM_ELEMENT_HANDLING.tagNameCheck),A.CUSTOM_ELEMENT_HANDLING&&qn(A.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ve.attributeNameCheck=A.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),A.CUSTOM_ELEMENT_HANDLING&&typeof A.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ve.allowCustomizedBuiltInElements=A.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Je&&(Re=!1),Ut&&(Kt=!0),hn&&(k=Ye({},rm),le=[],hn.html===!0&&(Ye(k,nm),Ye(le,sm)),hn.svg===!0&&(Ye(k,Gc),Ye(le,Yc),Ye(le,Wl)),hn.svgFilters===!0&&(Ye(k,Qc),Ye(le,Yc),Ye(le,Wl)),hn.mathMl===!0&&(Ye(k,Kc),Ye(le,im),Ye(le,Wl))),A.ADD_TAGS&&(k===B&&(k=Jr(k)),Ye(k,A.ADD_TAGS,lt)),A.ADD_ATTR&&(le===ge&&(le=Jr(le)),Ye(le,A.ADD_ATTR,lt)),A.ADD_URI_SAFE_ATTR&&Ye(rn,A.ADD_URI_SAFE_ATTR,lt),A.FORBID_CONTENTS&&(Jt===Mt&&(Jt=Jr(Jt)),Ye(Jt,A.FORBID_CONTENTS,lt)),Yt&&(k["#text"]=!0),kt&&Ye(k,["html","head","body"]),k.table&&(Ye(k,["tbody"]),delete ee.tbody),A.TRUSTED_TYPES_POLICY){if(typeof A.TRUSTED_TYPES_POLICY.createHTML!="function")throw _o('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof A.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw _o('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');O=A.TRUSTED_TYPES_POLICY,P=O.createHTML("")}else O===void 0&&(O=F_(b,a)),O!==null&&typeof P=="string"&&(P=O.createHTML(""));En&&En(A),Zn=A}},_n=Ye({},[...Gc,...Qc,...T_]),Zr=Ye({},[...Kc,...M_]),er=function(A){let me=$(A);(!me||!me.tagName)&&(me={namespaceURI:Fn,tagName:"template"});const $e=Jl(A.tagName),ct=Jl(me.tagName);return Ot[A.namespaceURI]?A.namespaceURI===In?me.namespaceURI===gt?$e==="svg":me.namespaceURI===Xt?$e==="svg"&&(ct==="annotation-xml"||Un[ct]):!!_n[$e]:A.namespaceURI===Xt?me.namespaceURI===gt?$e==="math":me.namespaceURI===In?$e==="math"&&Bn[ct]:!!Zr[$e]:A.namespaceURI===gt?me.namespaceURI===In&&!Bn[ct]||me.namespaceURI===Xt&&!Un[ct]?!1:!Zr[$e]&&(Zt[$e]||!_n[$e]):!!(sn==="application/xhtml+xml"&&Ot[A.namespaceURI]):!1},Tn=function(A){ho(n.removed,{element:A});try{$(A).removeChild(A)}catch{U(A)}},qt=function(A,me){try{ho(n.removed,{attribute:me.getAttributeNode(A),from:me})}catch{ho(n.removed,{attribute:null,from:me})}if(me.removeAttribute(A),A==="is")if(Kt||Ut)try{Tn(me)}catch{}else try{me.setAttribute(A,"")}catch{}},jr=function(A){let me=null,$e=null;if(Ft)A="<remove></remove>"+A;else{const Ue=Vc(A,/^[\r\n\t ]+/);$e=Ue&&Ue[0]}sn==="application/xhtml+xml"&&Fn===gt&&(A='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+A+"</body></html>");const ct=O?O.createHTML(A):A;if(Fn===gt)try{me=new N().parseFromString(ct,sn)}catch{}if(!me||!me.documentElement){me=V.createDocument(Fn,"template",null);try{me.documentElement.innerHTML=gn?P:ct}catch{}}const At=me.body||me.documentElement;return A&&$e&&At.insertBefore(r.createTextNode($e),At.childNodes[0]||null),Fn===gt?xe.call(me,kt?"html":"body")[0]:kt?me.documentElement:At},wt=function(A){return re.call(A.ownerDocument||A,A,y.SHOW_ELEMENT|y.SHOW_COMMENT|y.SHOW_TEXT|y.SHOW_PROCESSING_INSTRUCTION|y.SHOW_CDATA_SECTION,null)},yn=function(A){return A instanceof w&&(typeof A.nodeName!="string"||typeof A.textContent!="string"||typeof A.removeChild!="function"||!(A.attributes instanceof v)||typeof A.removeAttribute!="function"||typeof A.setAttribute!="function"||typeof A.namespaceURI!="string"||typeof A.insertBefore!="function"||typeof A.hasChildNodes!="function")},qr=function(A){return typeof p=="function"&&A instanceof p};function wn(Le,A,me){Bl(Le,$e=>{$e.call(n,A,me,Zn)})}const en=function(A){let me=null;if(wn(se.beforeSanitizeElements,A,null),yn(A))return Tn(A),!0;const $e=lt(A.nodeName);if(wn(se.uponSanitizeElement,A,{tagName:$e,allowedTags:k}),st&&A.hasChildNodes()&&!qr(A.firstElementChild)&&jn(/<[/\w!]/g,A.innerHTML)&&jn(/<[/\w!]/g,A.textContent)||A.nodeType===wo.progressingInstruction||st&&A.nodeType===wo.comment&&jn(/<[/\w]/g,A.data))return Tn(A),!0;if(!k[$e]||ee[$e]){if(!ee[$e]&&es($e)&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,$e)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck($e)))return!1;if(Yt&&!Jt[$e]){const ct=$(A)||A.parentNode,At=D(A)||A.childNodes;if(At&&ct){const Ue=At.length;for(let Pt=Ue-1;Pt>=0;--Pt){const on=I(At[Pt],!0);on.__removalCount=(A.__removalCount||0)+1,ct.insertBefore(on,z(A))}}}return Tn(A),!0}return A instanceof h&&!er(A)||($e==="noscript"||$e==="noembed"||$e==="noframes")&&jn(/<\/no(script|embed|frames)/i,A.innerHTML)?(Tn(A),!0):(Je&&A.nodeType===wo.text&&(me=A.textContent,Bl([J,pe,Ce],ct=>{me=go(me,ct," ")}),A.textContent!==me&&(ho(n.removed,{element:A.cloneNode()}),A.textContent=me)),wn(se.afterSanitizeElements,A,null),!1)},tr=function(A,me,$e){if(Lt&&(me==="id"||me==="name")&&($e in r||$e in br))return!1;if(!(Re&&!G[me]&&jn(Q,me))){if(!(_e&&jn(ke,me))){if(!le[me]||G[me]){if(!(es(A)&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,A)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck(A))&&(ve.attributeNameCheck instanceof RegExp&&jn(ve.attributeNameCheck,me)||ve.attributeNameCheck instanceof Function&&ve.attributeNameCheck(me,A))||me==="is"&&ve.allowCustomizedBuiltInElements&&(ve.tagNameCheck instanceof RegExp&&jn(ve.tagNameCheck,$e)||ve.tagNameCheck instanceof Function&&ve.tagNameCheck($e))))return!1}else if(!rn[me]){if(!jn(he,go($e,te,""))){if(!((me==="src"||me==="xlink:href"||me==="href")&&A!=="script"&&j_($e,"data:")===0&&Bt[A])){if(!(He&&!jn(Se,go($e,te,"")))){if($e)return!1}}}}}}return!0},es=function(A){return A!=="annotation-xml"&&Vc(A,we)},Mn=function(A){wn(se.beforeSanitizeAttributes,A,null);const{attributes:me}=A;if(!me||yn(A))return;const $e={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:le,forceKeepAttr:void 0};let ct=me.length;for(;ct--;){const At=me[ct],{name:Ue,namespaceURI:Pt,value:on}=At,An=lt(Ue),vn=on;let mt=Ue==="value"?vn:N_(vn);if($e.attrName=An,$e.attrValue=mt,$e.keepAttr=!0,$e.forceKeepAttr=void 0,wn(se.uponSanitizeAttribute,A,$e),mt=$e.attrValue,Nt&&(An==="id"||An==="name")&&(qt(Ue,A),mt=mn+mt),st&&jn(/((--!?|])>)|<\/(style|title|textarea)/i,mt)){qt(Ue,A);continue}if(An==="attributename"&&Vc(mt,"href")){qt(Ue,A);continue}if($e.forceKeepAttr)continue;if(!$e.keepAttr){qt(Ue,A);continue}if(!Ge&&jn(/\/>/i,mt)){qt(Ue,A);continue}Je&&Bl([J,pe,Ce],Wt=>{mt=go(mt,Wt," ")});const ts=lt(A.nodeName);if(!tr(ts,An,mt)){qt(Ue,A);continue}if(O&&typeof b=="object"&&typeof b.getAttributeType=="function"&&!Pt)switch(b.getAttributeType(ts,An)){case"TrustedHTML":{mt=O.createHTML(mt);break}case"TrustedScriptURL":{mt=O.createScriptURL(mt);break}}if(mt!==vn)try{Pt?A.setAttributeNS(Pt,Ue,mt):A.setAttribute(Ue,mt),yn(A)?Tn(A):tm(n.removed)}catch{qt(Ue,A)}}wn(se.afterSanitizeAttributes,A,null)},Wn=function Le(A){let me=null;const $e=wt(A);for(wn(se.beforeSanitizeShadowDOM,A,null);me=$e.nextNode();)wn(se.uponSanitizeShadowNode,me,null),en(me),Mn(me),me.content instanceof d&&Le(me.content);wn(se.afterSanitizeShadowDOM,A,null)};return n.sanitize=function(Le){let A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},me=null,$e=null,ct=null,At=null;if(gn=!Le,gn&&(Le="<!-->"),typeof Le!="string"&&!qr(Le))if(typeof Le.toString=="function"){if(Le=Le.toString(),typeof Le!="string")throw _o("dirty is not a string, aborting")}else throw _o("toString is not a function");if(!n.isSupported)return Le;if(Qt||Xr(A),n.removed=[],typeof Le=="string"&&(pn=!1),pn){if(Le.nodeName){const on=lt(Le.nodeName);if(!k[on]||ee[on])throw _o("root node is forbidden and cannot be sanitized in-place")}}else if(Le instanceof p)me=jr("<!---->"),$e=me.ownerDocument.importNode(Le,!0),$e.nodeType===wo.element&&$e.nodeName==="BODY"||$e.nodeName==="HTML"?me=$e:me.appendChild($e);else{if(!Kt&&!Je&&!kt&&Le.indexOf("<")===-1)return O&&fn?O.createHTML(Le):Le;if(me=jr(Le),!me)return Kt?null:fn?P:""}me&&Ft&&Tn(me.firstChild);const Ue=wt(pn?Le:me);for(;ct=Ue.nextNode();)en(ct),Mn(ct),ct.content instanceof d&&Wn(ct.content);if(pn)return Le;if(Kt){if(Ut)for(At=L.call(me.ownerDocument);me.firstChild;)At.appendChild(me.firstChild);else At=me;return(le.shadowroot||le.shadowrootmode)&&(At=W.call(l,At,!0)),At}let Pt=kt?me.outerHTML:me.innerHTML;return kt&&k["!doctype"]&&me.ownerDocument&&me.ownerDocument.doctype&&me.ownerDocument.doctype.name&&jn(cp,me.ownerDocument.doctype.name)&&(Pt="<!DOCTYPE "+me.ownerDocument.doctype.name+`>
|
|
66
66
|
`+Pt),Je&&Bl([J,pe,Ce],on=>{Pt=go(Pt,on," ")}),O&&fn?O.createHTML(Pt):Pt},n.setConfig=function(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xr(Le),Qt=!0},n.clearConfig=function(){Zn=null,Qt=!1},n.isValidAttribute=function(Le,A,me){Zn||Xr({});const $e=lt(Le),ct=lt(A);return tr($e,ct,me)},n.addHook=function(Le,A){typeof A=="function"&&ho(se[Le],A)},n.removeHook=function(Le,A){if(A!==void 0){const me=k_(se[Le],A);return me===-1?void 0:b_(se[Le],me,1)[0]}return tm(se[Le])},n.removeHooks=function(Le){se[Le]=[]},n.removeAllHooks=function(){se=lm()},n}var U_=up();function gu(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Zs=gu();function dp(s){Zs=s}const fp=/[&<>"']/,B_=new RegExp(fp.source,"g"),mp=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,W_=new RegExp(mp.source,"g"),H_={"&":"&","<":"<",">":">",'"':""","'":"'"},am=s=>H_[s];function Qn(s,n){if(n){if(fp.test(s))return s.replace(B_,am)}else if(mp.test(s))return s.replace(W_,am);return s}const V_=/(^|[^\[])\^/g;function ut(s,n){let r=typeof s=="string"?s:s.source;n=n||"";const l={replace:(a,d)=>{let f=typeof d=="string"?d:d.source;return f=f.replace(V_,"$1"),r=r.replace(a,f),l},getRegex:()=>new RegExp(r,n)};return l}function cm(s){try{s=encodeURI(s).replace(/%25/g,"%")}catch{return null}return s}const jo={exec:()=>null};function um(s,n){const r=s.replace(/\|/g,(d,f,p)=>{let h=!1,y=f;for(;--y>=0&&p[y]==="\\";)h=!h;return h?"|":" |"}),l=r.split(/ \|/);let a=0;if(l[0].trim()||l.shift(),l.length>0&&!l[l.length-1].trim()&&l.pop(),n)if(l.length>n)l.splice(n);else for(;l.length<n;)l.push("");for(;a<l.length;a++)l[a]=l[a].trim().replace(/\\\|/g,"|");return l}function vo(s,n,r){const l=s.length;if(l===0)return"";let a=0;for(;a<l&&s.charAt(l-a-1)===n;)a++;return s.slice(0,l-a)}function G_(s,n){if(s.indexOf(n[1])===-1)return-1;let r=0;for(let l=0;l<s.length;l++)if(s[l]==="\\")l++;else if(s[l]===n[0])r++;else if(s[l]===n[1]&&(r--,r<0))return l;return-1}function dm(s,n,r,l){const a=n.href,d=n.title?Qn(n.title):null,f=s[1].replace(/\\([\[\]])/g,"$1");if(s[0].charAt(0)!=="!"){l.state.inLink=!0;const p={type:"link",raw:r,href:a,title:d,text:f,tokens:l.inlineTokens(f)};return l.state.inLink=!1,p}return{type:"image",raw:r,href:a,title:d,text:Qn(f)}}function Q_(s,n){const r=s.match(/^(\s+)(?:```)/);if(r===null)return n;const l=r[1];return n.split(`
|
|
67
67
|
`).map(a=>{const d=a.match(/^\s+/);if(d===null)return a;const[f]=d;return f.length>=l.length?a.slice(l.length):a}).join(`
|
|
68
68
|
`)}class ql{constructor(n){rt(this,"options");rt(this,"rules");rt(this,"lexer");this.options=n||Zs}space(n){const r=this.rules.block.newline.exec(n);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(n){const r=this.rules.block.code.exec(n);if(r){const l=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?l:vo(l,`
|
|
@@ -79,13 +79,13 @@ ${w}`:w;const N=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.block
|
|
|
79
79
|
`+l.join(`
|
|
80
80
|
`),U=this.list(I);f[f.length-1]=U,a=a.substring(0,a.length-b.raw.length)+U.raw,d=d.substring(0,d.length-T.raw.length)+U.raw,l=I.substring(f[f.length-1].raw.length).split(`
|
|
81
81
|
`);continue}}return{type:"blockquote",raw:a,tokens:f,text:d}}}list(n){let r=this.rules.block.list.exec(n);if(r){let l=r[1].trim();const a=l.length>1,d={type:"list",raw:"",ordered:a,start:a?+l.slice(0,-1):"",loose:!1,items:[]};l=a?`\\d{1,9}\\${l.slice(-1)}`:`\\${l}`,this.options.pedantic&&(l=a?l:"[*+-]");const f=new RegExp(`^( {0,3}${l})((?:[ ][^\\n]*)?(?:\\n|$))`);let p=!1;for(;n;){let h=!1,y="",v="";if(!(r=f.exec(n))||this.rules.block.hr.test(n))break;y=r[0],n=n.substring(y.length);let w=r[2].split(`
|
|
82
|
-
`,1)[0].replace(/^\t+/,
|
|
82
|
+
`,1)[0].replace(/^\t+/,z=>" ".repeat(3*z.length)),N=n.split(`
|
|
83
83
|
`,1)[0],b=!w.trim(),T=0;if(this.options.pedantic?(T=2,v=w.trimStart()):b?T=r[1].length+1:(T=r[2].search(/[^ ]/),T=T>4?1:T,v=w.slice(T),T+=r[1].length),b&&/^ *$/.test(N)&&(y+=N+`
|
|
84
|
-
`,n=n.substring(N.length+1),h=!0),!h){const
|
|
85
|
-
`,1)[0];if(N=
|
|
84
|
+
`,n=n.substring(N.length+1),h=!0),!h){const z=new RegExp(`^ {0,${Math.min(3,T-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),D=new RegExp(`^ {0,${Math.min(3,T-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),$=new RegExp(`^ {0,${Math.min(3,T-1)}}(?:\`\`\`|~~~)`),O=new RegExp(`^ {0,${Math.min(3,T-1)}}#`);for(;n;){const P=n.split(`
|
|
85
|
+
`,1)[0];if(N=P,this.options.pedantic&&(N=N.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),$.test(N)||O.test(N)||z.test(N)||D.test(n))break;if(N.search(/[^ ]/)>=T||!N.trim())v+=`
|
|
86
86
|
`+N.slice(T);else{if(b||w.search(/[^ ]/)>=4||$.test(w)||O.test(w)||D.test(w))break;v+=`
|
|
87
|
-
`+N}!b&&!N.trim()&&(b=!0),y+=
|
|
88
|
-
`,n=n.substring(
|
|
87
|
+
`+N}!b&&!N.trim()&&(b=!0),y+=P+`
|
|
88
|
+
`,n=n.substring(P.length+1),w=N.slice(T)}}d.loose||(p?d.loose=!0:/\n *\n *$/.test(y)&&(p=!0));let I=null,U;this.options.gfm&&(I=/^\[[ xX]\] /.exec(v),I&&(U=I[0]!=="[ ] ",v=v.replace(/^\[[ xX]\] +/,""))),d.items.push({type:"list_item",raw:y,task:!!I,checked:U,loose:!1,text:v,tokens:[]}),d.raw+=y}d.items[d.items.length-1].raw=d.items[d.items.length-1].raw.trimEnd(),d.items[d.items.length-1].text=d.items[d.items.length-1].text.trimEnd(),d.raw=d.raw.trimEnd();for(let h=0;h<d.items.length;h++)if(this.lexer.state.top=!1,d.items[h].tokens=this.lexer.blockTokens(d.items[h].text,[]),!d.loose){const y=d.items[h].tokens.filter(w=>w.type==="space"),v=y.length>0&&y.some(w=>/\n.*\n/.test(w.raw));d.loose=v}if(d.loose)for(let h=0;h<d.items.length;h++)d.items[h].loose=!0;return d}}html(n){const r=this.rules.block.html.exec(n);if(r)return{type:"html",block:!0,raw:r[0],pre:r[1]==="pre"||r[1]==="script"||r[1]==="style",text:r[0]}}def(n){const r=this.rules.block.def.exec(n);if(r){const l=r[1].toLowerCase().replace(/\s+/g," "),a=r[2]?r[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",d=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:l,raw:r[0],href:a,title:d}}}table(n){const r=this.rules.block.table.exec(n);if(!r||!/[:|]/.test(r[2]))return;const l=um(r[1]),a=r[2].replace(/^\||\| *$/g,"").split("|"),d=r[3]&&r[3].trim()?r[3].replace(/\n[ \t]*$/,"").split(`
|
|
89
89
|
`):[],f={type:"table",raw:r[0],header:[],align:[],rows:[]};if(l.length===a.length){for(const p of a)/^ *-+: *$/.test(p)?f.align.push("right"):/^ *:-+: *$/.test(p)?f.align.push("center"):/^ *:-+ *$/.test(p)?f.align.push("left"):f.align.push(null);for(let p=0;p<l.length;p++)f.header.push({text:l[p],tokens:this.lexer.inline(l[p]),header:!0,align:f.align[p]});for(const p of d)f.rows.push(um(p,f.header.length).map((h,y)=>({text:h,tokens:this.lexer.inline(h),header:!1,align:f.align[y]})));return f}}lheading(n){const r=this.rules.block.lheading.exec(n);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(n){const r=this.rules.block.paragraph.exec(n);if(r){const l=r[1].charAt(r[1].length-1)===`
|
|
90
90
|
`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:l,tokens:this.lexer.inline(l)}}}text(n){const r=this.rules.block.text.exec(n);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(n){const r=this.rules.inline.escape.exec(n);if(r)return{type:"escape",raw:r[0],text:Qn(r[1])}}tag(n){const r=this.rules.inline.tag.exec(n);if(r)return!this.lexer.state.inLink&&/^<a /i.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(n){const r=this.rules.inline.link.exec(n);if(r){const l=r[2].trim();if(!this.options.pedantic&&/^</.test(l)){if(!/>$/.test(l))return;const f=vo(l.slice(0,-1),"\\");if((l.length-f.length)%2===0)return}else{const f=G_(r[2],"()");if(f>-1){const h=(r[0].indexOf("!")===0?5:4)+r[1].length+f;r[2]=r[2].substring(0,f),r[0]=r[0].substring(0,h).trim(),r[3]=""}}let a=r[2],d="";if(this.options.pedantic){const f=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);f&&(a=f[1],d=f[3])}else d=r[3]?r[3].slice(1,-1):"";return a=a.trim(),/^</.test(a)&&(this.options.pedantic&&!/>$/.test(l)?a=a.slice(1):a=a.slice(1,-1)),dm(r,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:d&&d.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer)}}reflink(n,r){let l;if((l=this.rules.inline.reflink.exec(n))||(l=this.rules.inline.nolink.exec(n))){const a=(l[2]||l[1]).replace(/\s+/g," "),d=r[a.toLowerCase()];if(!d){const f=l[0].charAt(0);return{type:"text",raw:f,text:f}}return dm(l,d,l[0],this.lexer)}}emStrong(n,r,l=""){let a=this.rules.inline.emStrongLDelim.exec(n);if(!a||a[3]&&l.match(/[\p{L}\p{N}]/u))return;if(!(a[1]||a[2]||"")||!l||this.rules.inline.punctuation.exec(l)){const f=[...a[0]].length-1;let p,h,y=f,v=0;const w=a[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(w.lastIndex=0,r=r.slice(-1*n.length+f);(a=w.exec(r))!=null;){if(p=a[1]||a[2]||a[3]||a[4]||a[5]||a[6],!p)continue;if(h=[...p].length,a[3]||a[4]){y+=h;continue}else if((a[5]||a[6])&&f%3&&!((f+h)%3)){v+=h;continue}if(y-=h,y>0)continue;h=Math.min(h,h+y+v);const N=[...a[0]][0].length,b=n.slice(0,f+a.index+N+h);if(Math.min(f,h)%2){const I=b.slice(1,-1);return{type:"em",raw:b,text:I,tokens:this.lexer.inlineTokens(I)}}const T=b.slice(2,-2);return{type:"strong",raw:b,text:T,tokens:this.lexer.inlineTokens(T)}}}}codespan(n){const r=this.rules.inline.code.exec(n);if(r){let l=r[2].replace(/\n/g," ");const a=/[^ ]/.test(l),d=/^ /.test(l)&&/ $/.test(l);return a&&d&&(l=l.substring(1,l.length-1)),l=Qn(l,!0),{type:"codespan",raw:r[0],text:l}}}br(n){const r=this.rules.inline.br.exec(n);if(r)return{type:"br",raw:r[0]}}del(n){const r=this.rules.inline.del.exec(n);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(n){const r=this.rules.inline.autolink.exec(n);if(r){let l,a;return r[2]==="@"?(l=Qn(r[1]),a="mailto:"+l):(l=Qn(r[1]),a=l),{type:"link",raw:r[0],text:l,href:a,tokens:[{type:"text",raw:l,text:l}]}}}url(n){var l;let r;if(r=this.rules.inline.url.exec(n)){let a,d;if(r[2]==="@")a=Qn(r[0]),d="mailto:"+a;else{let f;do f=r[0],r[0]=((l=this.rules.inline._backpedal.exec(r[0]))==null?void 0:l[0])??"";while(f!==r[0]);a=Qn(r[0]),r[1]==="www."?d="http://"+r[0]:d=r[0]}return{type:"link",raw:r[0],text:a,href:d,tokens:[{type:"text",raw:a,text:a}]}}}inlineText(n){const r=this.rules.inline.text.exec(n);if(r){let l;return this.lexer.state.inRawBlock?l=r[0]:l=Qn(r[0]),{type:"text",raw:r[0],text:l}}}}const K_=/^(?: *(?:\n|$))+/,Y_=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,J_=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Lo=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,X_=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pp=/(?:[*+-]|\d{1,9}[.)])/,hp=ut(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,pp).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),_u=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Z_=/^[^\n]+/,yu=/(?!\s*\])(?:\\.|[^\[\]\\])+/,q_=ut(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",yu).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ey=ut(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pp).getRegex(),ua="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",wu=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ty=ut("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",wu).replace("tag",ua).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),gp=ut(_u).replace("hr",Lo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ua).getRegex(),ny=ut(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",gp).getRegex(),vu={blockquote:ny,code:Y_,def:q_,fences:J_,heading:X_,hr:Lo,html:ty,lheading:hp,list:ey,newline:K_,paragraph:gp,table:jo,text:Z_},fm=ut("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Lo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ua).getRegex(),ry={...vu,table:fm,paragraph:ut(_u).replace("hr",Lo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",fm).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ua).getRegex()},sy={...vu,html:ut(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",wu).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:jo,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ut(_u).replace("hr",Lo).replace("heading",` *#{1,6} *[^
|
|
91
91
|
]`).replace("lheading",hp).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},_p=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,iy=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,yp=/^( {2,}|\\)\n(?!\s*$)/,oy=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Oo="\\p{P}\\p{S}",ly=ut(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Oo).getRegex(),ay=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,cy=ut(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Oo).getRegex(),uy=ut("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Oo).getRegex(),dy=ut("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Oo).getRegex(),fy=ut(/\\([punct])/,"gu").replace(/punct/g,Oo).getRegex(),my=ut(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),py=ut(wu).replace("(?:-->|$)","-->").getRegex(),hy=ut("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",py).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ea=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,gy=ut(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ea).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),wp=ut(/^!?\[(label)\]\[(ref)\]/).replace("label",ea).replace("ref",yu).getRegex(),vp=ut(/^!?\[(ref)\](?:\[\])?/).replace("ref",yu).getRegex(),_y=ut("reflink|nolink(?!\\()","g").replace("reflink",wp).replace("nolink",vp).getRegex(),xu={_backpedal:jo,anyPunctuation:fy,autolink:my,blockSkip:ay,br:yp,code:iy,del:jo,emStrongLDelim:cy,emStrongRDelimAst:uy,emStrongRDelimUnd:dy,escape:_p,link:gy,nolink:vp,punctuation:ly,reflink:wp,reflinkSearch:_y,tag:hy,text:oy,url:jo},yy={...xu,link:ut(/^!?\[(label)\]\((.*?)\)/).replace("label",ea).getRegex(),reflink:ut(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ea).getRegex()},du={...xu,escape:ut(_p).replace("])","~|])").getRegex(),url:ut(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},wy={...du,br:ut(yp).replace("{2,}","*").getRegex(),text:ut(du.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Hl={normal:vu,gfm:ry,pedantic:sy},xo={normal:xu,gfm:du,breaks:wy,pedantic:yy};class Pr{constructor(n){rt(this,"tokens");rt(this,"options");rt(this,"state");rt(this,"tokenizer");rt(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=n||Zs,this.options.tokenizer=this.options.tokenizer||new ql,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const r={block:Hl.normal,inline:xo.normal};this.options.pedantic?(r.block=Hl.pedantic,r.inline=xo.pedantic):this.options.gfm&&(r.block=Hl.gfm,this.options.breaks?r.inline=xo.breaks:r.inline=xo.gfm),this.tokenizer.rules=r}static get rules(){return{block:Hl,inline:xo}}static lex(n,r){return new Pr(r).lex(n)}static lexInline(n,r){return new Pr(r).inlineTokens(n)}lex(n){n=n.replace(/\r\n|\r/g,`
|
|
@@ -128,32 +128,32 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
128
128
|
monaco.config({ paths: { vs: '...' } })
|
|
129
129
|
|
|
130
130
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
131
|
-
`},ym=Qy(Xy)(xp),Zy={config:Yy},qy=function(){for(var n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return function(a){return r.reduceRight(function(d,f){return f(d)},a)}};function Sp(s,n){return Object.keys(n).forEach(function(r){n[r]instanceof Object&&s[r]&&Object.assign(n[r],Sp(s[r],n[r]))}),hm(hm({},s),n)}var ew={type:"cancelation",msg:"operation is manually canceled"};function Jc(s){var n=!1,r=new Promise(function(l,a){s.then(function(d){return n?a(ew):l(d)}),s.catch(a)});return r.cancel=function(){return n=!0},r}var tw=["monaco"],nw=Vy.create({config:Gy,isInitialized:!1,resolve:null,reject:null,monaco:null}),kp=Ey(nw,2),Po=kp[0],da=kp[1];function rw(s){var n=Zy.config(s),r=n.monaco,l=jy(n,tw);da(function(a){return{config:Sp(a.config,l),monaco:r}})}function sw(){var s=Po(function(n){var r=n.monaco,l=n.isInitialized,a=n.resolve;return{monaco:r,isInitialized:l,resolve:a}});if(!s.isInitialized){if(da({isInitialized:!0}),s.monaco)return s.resolve(s.monaco),Jc(Xc);if(window.monaco&&window.monaco.editor)return bp(window.monaco),s.resolve(window.monaco),Jc(Xc);qy(iw,lw)(aw)}return Jc(Xc)}function iw(s){return document.body.appendChild(s)}function ow(s){var n=document.createElement("script");return s&&(n.src=s),n}function lw(s){var n=Po(function(l){var a=l.config,d=l.reject;return{config:a,reject:d}}),r=ow("".concat(n.config.paths.vs,"/loader.js"));return r.onload=function(){return s()},r.onerror=n.reject,r}function aw(){var s=Po(function(r){var l=r.config,a=r.resolve,d=r.reject;return{config:l,resolve:a,reject:d}}),n=window.require;n.config(s.config),n(["vs/editor/editor.main"],function(r){var l=r.m||r;bp(l),s.resolve(l)},function(r){s.reject(r)})}function bp(s){Po().monaco||da({monaco:s})}function cw(){return Po(function(s){var n=s.monaco;return n})}var Xc=new Promise(function(s,n){return da({resolve:s,reject:n})}),ra={config:rw,init:sw,__getMonacoInstance:cw},uw={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},Zc=uw,dw={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},fw=dw;function mw({children:s}){return xr.createElement("div",{style:fw.container},s)}var pw=mw,hw=pw;function gw({width:s,height:n,isEditorReady:r,loading:l,_ref:a,className:d,wrapperProps:f}){return xr.createElement("section",{style:{...Zc.wrapper,width:s,height:n},...f},!r&&xr.createElement(hw,null,l),xr.createElement("div",{ref:a,style:{...Zc.fullWidth,...!r&&Zc.hide},className:d}))}var _w=gw,jp=S.memo(_w);function yw(s){S.useEffect(s,[])}var ku=yw;function ww(s,n,r=!0){let l=S.useRef(!0);S.useEffect(l.current||!r?()=>{l.current=!1}:s,n)}var Kn=ww;function Eo(){}function Ai(s,n,r,l){return vw(s,l)||xw(s,n,r,l)}function vw(s,n){return s.editor.getModel(Np(s,n))}function xw(s,n,r,l){return s.editor.createModel(n,r,l?Np(s,l):void 0)}function Np(s,n){return s.Uri.parse(n)}function Sw({original:s,modified:n,language:r,originalLanguage:l,modifiedLanguage:a,originalModelPath:d,modifiedModelPath:f,keepCurrentOriginalModel:p=!1,keepCurrentModifiedModel:h=!1,theme:y="light",loading:v="Loading...",options:w={},height:N="100%",width:b="100%",className:T,wrapperProps:I={},beforeMount:U=Eo,onMount:P=Eo}){let[D,$]=S.useState(!1),[O,z]=S.useState(!0),V=S.useRef(null),re=S.useRef(null),L=S.useRef(null),xe=S.useRef(P),W=S.useRef(U),se=S.useRef(!1);ku(()=>{let Q=ra.init();return Q.then(ke=>(re.current=ke)&&z(!1)).catch(ke=>(ke==null?void 0:ke.type)!=="cancelation"&&console.error("Monaco initialization: error:",ke)),()=>V.current?Ce():Q.cancel()}),Kn(()=>{if(V.current&&re.current){let Q=V.current.getOriginalEditor(),ke=Ai(re.current,s||"",l||r||"text",d||"");ke!==Q.getModel()&&Q.setModel(ke)}},[d],D),Kn(()=>{if(V.current&&re.current){let Q=V.current.getModifiedEditor(),ke=Ai(re.current,n||"",a||r||"text",f||"");ke!==Q.getModel()&&Q.setModel(ke)}},[f],D),Kn(()=>{let Q=V.current.getModifiedEditor();Q.getOption(re.current.editor.EditorOption.readOnly)?Q.setValue(n||""):n!==Q.getValue()&&(Q.executeEdits("",[{range:Q.getModel().getFullModelRange(),text:n||"",forceMoveMarkers:!0}]),Q.pushUndoStop())},[n],D),Kn(()=>{var Q,ke;(ke=(Q=V.current)==null?void 0:Q.getModel())==null||ke.original.setValue(s||"")},[s],D),Kn(()=>{let{original:Q,modified:ke}=V.current.getModel();re.current.editor.setModelLanguage(Q,l||r||"text"),re.current.editor.setModelLanguage(ke,a||r||"text")},[r,l,a],D),Kn(()=>{var Q;(Q=re.current)==null||Q.editor.setTheme(y)},[y],D),Kn(()=>{var Q;(Q=V.current)==null||Q.updateOptions(w)},[w],D);let J=S.useCallback(()=>{var Se;if(!re.current)return;W.current(re.current);let Q=Ai(re.current,s||"",l||r||"text",d||""),ke=Ai(re.current,n||"",a||r||"text",f||"");(Se=V.current)==null||Se.setModel({original:Q,modified:ke})},[r,n,a,s,l,d,f]),pe=S.useCallback(()=>{var Q;!se.current&&L.current&&(V.current=re.current.editor.createDiffEditor(L.current,{automaticLayout:!0,...w}),J(),(Q=re.current)==null||Q.editor.setTheme(y),$(!0),se.current=!0)},[w,y,J]);S.useEffect(()=>{D&&xe.current(V.current,re.current)},[D]),S.useEffect(()=>{!O&&!D&&pe()},[O,D,pe]);function Ce(){var ke,Se,te,we;let Q=(ke=V.current)==null?void 0:ke.getModel();p||((Se=Q==null?void 0:Q.original)==null||Se.dispose()),h||((te=Q==null?void 0:Q.modified)==null||te.dispose()),(we=V.current)==null||we.dispose()}return xr.createElement(jp,{width:b,height:N,isEditorReady:D,loading:v,_ref:L,className:T,wrapperProps:I})}var kw=Sw;S.memo(kw);function bw(){let[s,n]=S.useState(ra.__getMonacoInstance());return ku(()=>{let r;return s||(r=ra.init(),r.then(l=>{n(l)})),()=>r==null?void 0:r.cancel()}),s}var jw=bw;function Nw(s){let n=S.useRef();return S.useEffect(()=>{n.current=s},[s]),n.current}var Ew=Nw,Gl=new Map;function Cw({defaultValue:s,defaultLanguage:n,defaultPath:r,value:l,language:a,path:d,theme:f="light",line:p,loading:h="Loading...",options:y={},overrideServices:v={},saveViewState:w=!0,keepCurrentModel:N=!1,width:b="100%",height:T="100%",className:I,wrapperProps:U={},beforeMount:P=Eo,onMount:D=Eo,onChange:$,onValidate:O=Eo}){let[z,V]=S.useState(!1),[re,L]=S.useState(!0),xe=S.useRef(null),W=S.useRef(null),se=S.useRef(null),J=S.useRef(D),pe=S.useRef(P),Ce=S.useRef(),Q=S.useRef(l),ke=Ew(d),Se=S.useRef(!1),te=S.useRef(!1);ku(()=>{let k=ra.init();return k.then(B=>(xe.current=B)&&L(!1)).catch(B=>(B==null?void 0:B.type)!=="cancelation"&&console.error("Monaco initialization: error:",B)),()=>W.current?he():k.cancel()}),Kn(()=>{var B,le,ge,ve;let k=Ai(xe.current,s||l||"",n||a||"",d||r||"");k!==((B=W.current)==null?void 0:B.getModel())&&(w&&Gl.set(ke,(le=W.current)==null?void 0:le.saveViewState()),(ge=W.current)==null||ge.setModel(k),w&&((ve=W.current)==null||ve.restoreViewState(Gl.get(d))))},[d],z),Kn(()=>{var k;(k=W.current)==null||k.updateOptions(y)},[y],z),Kn(()=>{!W.current||l===void 0||(W.current.getOption(xe.current.editor.EditorOption.readOnly)?W.current.setValue(l):l!==W.current.getValue()&&(te.current=!0,W.current.executeEdits("",[{range:W.current.getModel().getFullModelRange(),text:l,forceMoveMarkers:!0}]),W.current.pushUndoStop(),te.current=!1))},[l],z),Kn(()=>{var B,le;let k=(B=W.current)==null?void 0:B.getModel();k&&a&&((le=xe.current)==null||le.editor.setModelLanguage(k,a))},[a],z),Kn(()=>{var k;p!==void 0&&((k=W.current)==null||k.revealLine(p))},[p],z),Kn(()=>{var k;(k=xe.current)==null||k.editor.setTheme(f)},[f],z);let we=S.useCallback(()=>{var k;if(!(!se.current||!xe.current)&&!Se.current){pe.current(xe.current);let B=d||r,le=Ai(xe.current,l||s||"",n||a||"",B||"");W.current=(k=xe.current)==null?void 0:k.editor.create(se.current,{model:le,automaticLayout:!0,...y},v),w&&W.current.restoreViewState(Gl.get(B)),xe.current.editor.setTheme(f),p!==void 0&&W.current.revealLine(p),V(!0),Se.current=!0}},[s,n,r,l,a,d,y,v,w,f,p]);S.useEffect(()=>{z&&J.current(W.current,xe.current)},[z]),S.useEffect(()=>{!re&&!z&&we()},[re,z,we]),Q.current=l,S.useEffect(()=>{var k,B;z&&$&&((k=Ce.current)==null||k.dispose(),Ce.current=(B=W.current)==null?void 0:B.onDidChangeModelContent(le=>{te.current||$(W.current.getValue(),le)}))},[z,$]),S.useEffect(()=>{if(z){let k=xe.current.editor.onDidChangeMarkers(B=>{var ge;let le=(ge=W.current.getModel())==null?void 0:ge.uri;if(le&&B.find(ve=>ve.path===le.path)){let ve=xe.current.editor.getModelMarkers({resource:le});O==null||O(ve)}});return()=>{k==null||k.dispose()}}return()=>{}},[z,O]);function he(){var k,B;(k=Ce.current)==null||k.dispose(),N?w&&Gl.set(d,W.current.saveViewState()):(B=W.current.getModel())==null||B.dispose(),W.current.dispose()}return xr.createElement(jp,{width:b,height:T,isEditorReady:z,loading:h,_ref:se,className:I,wrapperProps:U})}var Tw=Cw;S.memo(Tw);async function bu(s){var r,l;const n=String(s??"");if(!n)return!1;try{if(globalThis.isSecureContext&&((l=(r=globalThis.navigator)==null?void 0:r.clipboard)!=null&&l.writeText))return await globalThis.navigator.clipboard.writeText(n),!0}catch{}try{const a=document.createElement("textarea");a.value=n,a.setAttribute("readonly","true"),a.style.position="fixed",a.style.top="-1000px",a.style.left="-1000px",a.style.opacity="0",document.body.appendChild(a),a.focus(),a.select();try{a.setSelectionRange(0,a.value.length)}catch{}const d=document.execCommand("copy");return document.body.removeChild(a),d}catch{return!1}}function Mw(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\"/g,""").replace(/'/g,"'")}function wm(s){const n=(s||"").trim().toLowerCase();return!n||!/^[a-z0-9_+-]+$/.test(n)?"plaintext":n}function sa({markdown:s,className:n}){const r=jw(),l=S.useRef(null),a=S.useRef(new WeakMap),d=S.useMemo(()=>{const p=typeof s=="string"?s:String(s??""),h=new at.Renderer;h.code=({text:v,lang:w})=>{const N=wm((w||"").split(/\s+/)[0]||""),b=Mw(v||"");return`<div class="md-code-block" data-lang="${N}"><div class="md-code-toolbar"><span class="md-code-lang">${N}</span><button type="button" class="md-code-copy" data-md-copy="true">Copy</button></div><pre><code data-lang="${N}" class="language-${N}">${b}</code></pre></div>`};const y=at.parse(p,{gfm:!0,breaks:!0,renderer:h});return U_.sanitize(y,{USE_PROFILES:{html:!0},ADD_TAGS:["button","span"],ADD_ATTR:["data-lang","data-md-copy","style","class"]})},[s]);S.useEffect(()=>{const p=l.current;if(!p||!r)return;try{r.editor.setTheme("vs-dark")}catch{}let h=!1;const y=Array.from(p.querySelectorAll("pre code[data-lang]"));return(async()=>{for(const v of y){if(h)return;const w=wm(v.dataset.lang||""),N=v.textContent||"";if(N.trim()){a.current.set(v,N);try{const b=await r.editor.colorize(N,w,{tabSize:2});if(h)return;v.innerHTML=b}catch{}}}})(),()=>{h=!0}},[r,d]);const f=async p=>{var T;const h=p.target,y=(T=h==null?void 0:h.closest)==null?void 0:T.call(h,"[data-md-copy]");if(!y)return;const v=y.closest(".md-code-block"),w=v==null?void 0:v.querySelector("pre code"),N=(w?a.current.get(w):null)||(w==null?void 0:w.textContent)||"";if(!N)return;const b=await bu(N);y.textContent=b?"Copied":"Copy failed",window.setTimeout(()=>{y&&(y.textContent="Copy")},900)};return c.jsx("div",{ref:l,className:n?`markdown-body ${n}`:"markdown-body",onClick:f,dangerouslySetInnerHTML:{__html:d}})}function vm(s){const n=Array.from(new Set(s.map(r=>String(r||"").trim()).filter(Boolean)));return n.sort((r,l)=>r.localeCompare(l)),n}function Aw(s){const n=String(s||"").trim().toLowerCase();return n?n==="files"?"Files":n==="web"?"Web":n==="system"?"System":n.charAt(0).toUpperCase()+n.slice(1):"Other"}function $w(s){const n=s.disabled===!0,[r,l]=S.useState(""),a=S.useMemo(()=>{const y=new Map;for(const v of s.tools||[]){const w=String((v==null?void 0:v.name)||"").trim();w&&(y.has(w)||y.set(w,v))}return y},[s.tools]),d=S.useMemo(()=>vm(Array.from(a.keys())),[a]),f=S.useMemo(()=>new Set(vm(s.selected||[])),[s.selected]),p=S.useMemo(()=>{const y=r.trim().toLowerCase();return y?d.filter(v=>v.toLowerCase().includes(y)):d},[d,r]),h=S.useMemo(()=>{const y=new Map;for(const N of p){const b=a.get(N),T=String((b==null?void 0:b.toolset)||"").trim().toLowerCase()||"other";y.has(T)||y.set(T,[]),y.get(T).push(N)}for(const[N,b]of y.entries())b.sort((T,I)=>T.localeCompare(I)),y.set(N,b);const v=["files","web","system","other"];return Array.from(y.keys()).sort((N,b)=>{const T=v.indexOf(N),I=v.indexOf(b),U=T===-1?999:T,P=I===-1?999:I;return U!==P?U-P:N.localeCompare(b)}).map(N=>({key:N,label:Aw(N),names:y.get(N)||[]}))},[a,p]);return c.jsxs("div",{className:"tool_picker",children:[c.jsx("div",{className:"tool_picker_top",children:c.jsx("input",{className:"tool_picker_filter mono",value:r,onChange:y=>l(String(y.target.value||"")),placeholder:"Filter tools…",disabled:n})}),c.jsxs("div",{className:"tool_picker_list","aria-label":"Tool allowlist",children:[d.length?null:c.jsx("div",{className:"muted mono",children:"(no tools)"}),d.length&&!p.length?c.jsx("div",{className:"muted mono",children:"(no matches)"}):null,h.map(y=>c.jsxs("div",{className:"tool_group",children:[c.jsx("div",{className:"tool_group_header",children:y.label}),c.jsx("div",{className:"tool_group_list",children:y.names.map(v=>{const w=f.has(v),N=a.get(v),b=String((N==null?void 0:N.description)||"").trim();return c.jsxs("label",{className:`tool_row ${w?"checked":""}`,"data-toolset":y.key,children:[c.jsx("input",{type:"checkbox",checked:w,disabled:n,onChange:T=>{const I=new Set(f);T.target.checked?I.add(v):I.delete(v),s.onChange(Array.from(I.values()))}}),c.jsx("span",{className:"mono tool_name",children:v}),b?c.jsx("span",{className:"muted tool_desc",children:b}):null]},v)})})]},y.key))]})]})}function Rw(s){const n=Array.isArray(s)?s.map(a=>String(a||"").trim()).filter(Boolean):[],r=[],l=new Set;for(const a of n)l.has(a)||(l.add(a),r.push(a));return r}function Lw(s){let n=2166136261;const r=String(s||"");for(let l=0;l<r.length;l++)n^=r.charCodeAt(l),n=Math.imul(n,16777619)>>>0;return n.toString(16).padStart(8,"0")}function So(s,n){const r=String(s||"").trim();return r?r.replace(/[^a-zA-Z0-9._-]+/g,"_").slice(0,Math.max(1,n)).replace(/^_+|_+$/g,""):""}function Ep(s){const n=So(s.namespace||"acode",24)||"acode",r=So(s.session_id,64),l=So(s.provider,32),a=Lw(String(s.model||""));if(!r||!l||!a)return null;const d=s.template||null,f=d?So(d.bundle_id,40):"",p=d?So(d.flow_id,60):"",h=[n,r];return f&&h.push(f),p&&h.push(p),h.push(l,a),h.join(":")}function Ow(s){var L,xe;const n=String(s.prompt||"").trim(),r=s.settings,l=Rw(r.tools),a=(s.repl_messages||[]).filter(W=>W.role==="user"||W.role==="assistant"||W.role==="system"),d=a.filter(W=>W.role==="user"||W.role==="assistant").map(W=>({role:W.role,content:W.content})),f=[];let p=null,h=[];for(const W of a){if(W.role==="user"){p=String(W.content||""),h=[];continue}if(W.role==="system"){if(String(((L=W.meta)==null?void 0:L._kind)||"").trim()==="tool"){const J=(xe=W.meta)==null?void 0:xe.tool,pe=String((J==null?void 0:J.name)||"").trim(),Ce=J==null?void 0:J.arguments,Q=typeof(J==null?void 0:J.success)=="boolean"?J.success:null,ke={name:pe||"tool",ok:Q};if(Ce&&typeof Ce=="object"){const Se=typeof Ce.path=="string"?String(Ce.path).trim():"",te=typeof Ce.query=="string"?String(Ce.query).trim():"",we=typeof Ce.command=="string"?String(Ce.command).trim():"";Se&&(ke.path=Se),te&&(ke.query=te),we&&(ke.command=we)}h.push(ke)}continue}if(W.role==="assistant"&&p){const se=W.meta&&typeof W.meta=="object"?W.meta._repl:null;f.push({prompt:p,answer:String(W.content||""),run_id:W.run_id||null,stats:se&&typeof se=="object"?se:null,tools:h.slice(0,50)}),p=null,h=[]}}let y=null;for(let W=a.length-1;W>=0;W--){const se=a[W];if(se.role!=="assistant")continue;const J=String(se.run_id||"").trim();if(J){y=J;break}}const v=(s.attached_files||[]).filter(W=>!W.loading&&!W.error&&W.attachment&&typeof W.attachment=="object").map(W=>({...W.attachment}));function w(W){if(String((W==null?void 0:W.content_type)||"").trim().toLowerCase().startsWith("audio/"))return!0;const J=String((W==null?void 0:W.filename)||(W==null?void 0:W.source_path)||"").trim().toLowerCase(),pe=J.split("/").pop()||J,Ce=(pe.includes(".")?pe.split(".").pop():"")||"";return Ce?new Set(["wav","mp3","m4a","aac","flac","ogg","opus","webm","mp4","mpga","mpeg"]).has(Ce):!1}const N=v.some(w);if(f.length){const W=f.slice(-3),se=[];for(let pe=0;pe<W.length;pe++){const Ce=W[pe]||{},Q=Array.isArray(Ce.tools)?Ce.tools:[],ke=[],Se=[],te=[];for(const B of Q){if(!B||typeof B!="object")continue;const le=String(B.name||"").trim();le&&!ke.includes(le)&&ke.push(le);const ge=String(B.path||"").trim();ge&&!Se.includes(ge)&&Se.push(ge);const ve=String(B.command||"").trim();ve&&!te.includes(ve)&&te.push(ve)}const we=ke.length?ke.slice(0,8).join(", "):"—",he=Se.length?`; files: ${Se.slice(0,6).join(", ")}`:"",k=te.length?`; commands: ${te.slice(0,3).join(" | ")}`:"";se.push(`- turn ${Math.max(1,f.length-W.length+pe+1)}: tools: ${we}${he}${k}`)}const J=`Recent tool activity (auto):
|
|
131
|
+
`},ym=Qy(Xy)(xp),Zy={config:Yy},qy=function(){for(var n=arguments.length,r=new Array(n),l=0;l<n;l++)r[l]=arguments[l];return function(a){return r.reduceRight(function(d,f){return f(d)},a)}};function Sp(s,n){return Object.keys(n).forEach(function(r){n[r]instanceof Object&&s[r]&&Object.assign(n[r],Sp(s[r],n[r]))}),hm(hm({},s),n)}var ew={type:"cancelation",msg:"operation is manually canceled"};function Jc(s){var n=!1,r=new Promise(function(l,a){s.then(function(d){return n?a(ew):l(d)}),s.catch(a)});return r.cancel=function(){return n=!0},r}var tw=["monaco"],nw=Vy.create({config:Gy,isInitialized:!1,resolve:null,reject:null,monaco:null}),kp=Ey(nw,2),Po=kp[0],da=kp[1];function rw(s){var n=Zy.config(s),r=n.monaco,l=jy(n,tw);da(function(a){return{config:Sp(a.config,l),monaco:r}})}function sw(){var s=Po(function(n){var r=n.monaco,l=n.isInitialized,a=n.resolve;return{monaco:r,isInitialized:l,resolve:a}});if(!s.isInitialized){if(da({isInitialized:!0}),s.monaco)return s.resolve(s.monaco),Jc(Xc);if(window.monaco&&window.monaco.editor)return bp(window.monaco),s.resolve(window.monaco),Jc(Xc);qy(iw,lw)(aw)}return Jc(Xc)}function iw(s){return document.body.appendChild(s)}function ow(s){var n=document.createElement("script");return s&&(n.src=s),n}function lw(s){var n=Po(function(l){var a=l.config,d=l.reject;return{config:a,reject:d}}),r=ow("".concat(n.config.paths.vs,"/loader.js"));return r.onload=function(){return s()},r.onerror=n.reject,r}function aw(){var s=Po(function(r){var l=r.config,a=r.resolve,d=r.reject;return{config:l,resolve:a,reject:d}}),n=window.require;n.config(s.config),n(["vs/editor/editor.main"],function(r){var l=r.m||r;bp(l),s.resolve(l)},function(r){s.reject(r)})}function bp(s){Po().monaco||da({monaco:s})}function cw(){return Po(function(s){var n=s.monaco;return n})}var Xc=new Promise(function(s,n){return da({resolve:s,reject:n})}),ra={config:rw,init:sw,__getMonacoInstance:cw},uw={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},Zc=uw,dw={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},fw=dw;function mw({children:s}){return xr.createElement("div",{style:fw.container},s)}var pw=mw,hw=pw;function gw({width:s,height:n,isEditorReady:r,loading:l,_ref:a,className:d,wrapperProps:f}){return xr.createElement("section",{style:{...Zc.wrapper,width:s,height:n},...f},!r&&xr.createElement(hw,null,l),xr.createElement("div",{ref:a,style:{...Zc.fullWidth,...!r&&Zc.hide},className:d}))}var _w=gw,jp=S.memo(_w);function yw(s){S.useEffect(s,[])}var ku=yw;function ww(s,n,r=!0){let l=S.useRef(!0);S.useEffect(l.current||!r?()=>{l.current=!1}:s,n)}var Kn=ww;function Eo(){}function Ai(s,n,r,l){return vw(s,l)||xw(s,n,r,l)}function vw(s,n){return s.editor.getModel(Np(s,n))}function xw(s,n,r,l){return s.editor.createModel(n,r,l?Np(s,l):void 0)}function Np(s,n){return s.Uri.parse(n)}function Sw({original:s,modified:n,language:r,originalLanguage:l,modifiedLanguage:a,originalModelPath:d,modifiedModelPath:f,keepCurrentOriginalModel:p=!1,keepCurrentModifiedModel:h=!1,theme:y="light",loading:v="Loading...",options:w={},height:N="100%",width:b="100%",className:T,wrapperProps:I={},beforeMount:U=Eo,onMount:z=Eo}){let[D,$]=S.useState(!1),[O,P]=S.useState(!0),V=S.useRef(null),re=S.useRef(null),L=S.useRef(null),xe=S.useRef(z),W=S.useRef(U),se=S.useRef(!1);ku(()=>{let Q=ra.init();return Q.then(ke=>(re.current=ke)&&P(!1)).catch(ke=>(ke==null?void 0:ke.type)!=="cancelation"&&console.error("Monaco initialization: error:",ke)),()=>V.current?Ce():Q.cancel()}),Kn(()=>{if(V.current&&re.current){let Q=V.current.getOriginalEditor(),ke=Ai(re.current,s||"",l||r||"text",d||"");ke!==Q.getModel()&&Q.setModel(ke)}},[d],D),Kn(()=>{if(V.current&&re.current){let Q=V.current.getModifiedEditor(),ke=Ai(re.current,n||"",a||r||"text",f||"");ke!==Q.getModel()&&Q.setModel(ke)}},[f],D),Kn(()=>{let Q=V.current.getModifiedEditor();Q.getOption(re.current.editor.EditorOption.readOnly)?Q.setValue(n||""):n!==Q.getValue()&&(Q.executeEdits("",[{range:Q.getModel().getFullModelRange(),text:n||"",forceMoveMarkers:!0}]),Q.pushUndoStop())},[n],D),Kn(()=>{var Q,ke;(ke=(Q=V.current)==null?void 0:Q.getModel())==null||ke.original.setValue(s||"")},[s],D),Kn(()=>{let{original:Q,modified:ke}=V.current.getModel();re.current.editor.setModelLanguage(Q,l||r||"text"),re.current.editor.setModelLanguage(ke,a||r||"text")},[r,l,a],D),Kn(()=>{var Q;(Q=re.current)==null||Q.editor.setTheme(y)},[y],D),Kn(()=>{var Q;(Q=V.current)==null||Q.updateOptions(w)},[w],D);let J=S.useCallback(()=>{var Se;if(!re.current)return;W.current(re.current);let Q=Ai(re.current,s||"",l||r||"text",d||""),ke=Ai(re.current,n||"",a||r||"text",f||"");(Se=V.current)==null||Se.setModel({original:Q,modified:ke})},[r,n,a,s,l,d,f]),pe=S.useCallback(()=>{var Q;!se.current&&L.current&&(V.current=re.current.editor.createDiffEditor(L.current,{automaticLayout:!0,...w}),J(),(Q=re.current)==null||Q.editor.setTheme(y),$(!0),se.current=!0)},[w,y,J]);S.useEffect(()=>{D&&xe.current(V.current,re.current)},[D]),S.useEffect(()=>{!O&&!D&&pe()},[O,D,pe]);function Ce(){var ke,Se,te,we;let Q=(ke=V.current)==null?void 0:ke.getModel();p||((Se=Q==null?void 0:Q.original)==null||Se.dispose()),h||((te=Q==null?void 0:Q.modified)==null||te.dispose()),(we=V.current)==null||we.dispose()}return xr.createElement(jp,{width:b,height:N,isEditorReady:D,loading:v,_ref:L,className:T,wrapperProps:I})}var kw=Sw;S.memo(kw);function bw(){let[s,n]=S.useState(ra.__getMonacoInstance());return ku(()=>{let r;return s||(r=ra.init(),r.then(l=>{n(l)})),()=>r==null?void 0:r.cancel()}),s}var jw=bw;function Nw(s){let n=S.useRef();return S.useEffect(()=>{n.current=s},[s]),n.current}var Ew=Nw,Gl=new Map;function Cw({defaultValue:s,defaultLanguage:n,defaultPath:r,value:l,language:a,path:d,theme:f="light",line:p,loading:h="Loading...",options:y={},overrideServices:v={},saveViewState:w=!0,keepCurrentModel:N=!1,width:b="100%",height:T="100%",className:I,wrapperProps:U={},beforeMount:z=Eo,onMount:D=Eo,onChange:$,onValidate:O=Eo}){let[P,V]=S.useState(!1),[re,L]=S.useState(!0),xe=S.useRef(null),W=S.useRef(null),se=S.useRef(null),J=S.useRef(D),pe=S.useRef(z),Ce=S.useRef(),Q=S.useRef(l),ke=Ew(d),Se=S.useRef(!1),te=S.useRef(!1);ku(()=>{let k=ra.init();return k.then(B=>(xe.current=B)&&L(!1)).catch(B=>(B==null?void 0:B.type)!=="cancelation"&&console.error("Monaco initialization: error:",B)),()=>W.current?he():k.cancel()}),Kn(()=>{var B,le,ge,ve;let k=Ai(xe.current,s||l||"",n||a||"",d||r||"");k!==((B=W.current)==null?void 0:B.getModel())&&(w&&Gl.set(ke,(le=W.current)==null?void 0:le.saveViewState()),(ge=W.current)==null||ge.setModel(k),w&&((ve=W.current)==null||ve.restoreViewState(Gl.get(d))))},[d],P),Kn(()=>{var k;(k=W.current)==null||k.updateOptions(y)},[y],P),Kn(()=>{!W.current||l===void 0||(W.current.getOption(xe.current.editor.EditorOption.readOnly)?W.current.setValue(l):l!==W.current.getValue()&&(te.current=!0,W.current.executeEdits("",[{range:W.current.getModel().getFullModelRange(),text:l,forceMoveMarkers:!0}]),W.current.pushUndoStop(),te.current=!1))},[l],P),Kn(()=>{var B,le;let k=(B=W.current)==null?void 0:B.getModel();k&&a&&((le=xe.current)==null||le.editor.setModelLanguage(k,a))},[a],P),Kn(()=>{var k;p!==void 0&&((k=W.current)==null||k.revealLine(p))},[p],P),Kn(()=>{var k;(k=xe.current)==null||k.editor.setTheme(f)},[f],P);let we=S.useCallback(()=>{var k;if(!(!se.current||!xe.current)&&!Se.current){pe.current(xe.current);let B=d||r,le=Ai(xe.current,l||s||"",n||a||"",B||"");W.current=(k=xe.current)==null?void 0:k.editor.create(se.current,{model:le,automaticLayout:!0,...y},v),w&&W.current.restoreViewState(Gl.get(B)),xe.current.editor.setTheme(f),p!==void 0&&W.current.revealLine(p),V(!0),Se.current=!0}},[s,n,r,l,a,d,y,v,w,f,p]);S.useEffect(()=>{P&&J.current(W.current,xe.current)},[P]),S.useEffect(()=>{!re&&!P&&we()},[re,P,we]),Q.current=l,S.useEffect(()=>{var k,B;P&&$&&((k=Ce.current)==null||k.dispose(),Ce.current=(B=W.current)==null?void 0:B.onDidChangeModelContent(le=>{te.current||$(W.current.getValue(),le)}))},[P,$]),S.useEffect(()=>{if(P){let k=xe.current.editor.onDidChangeMarkers(B=>{var ge;let le=(ge=W.current.getModel())==null?void 0:ge.uri;if(le&&B.find(ve=>ve.path===le.path)){let ve=xe.current.editor.getModelMarkers({resource:le});O==null||O(ve)}});return()=>{k==null||k.dispose()}}return()=>{}},[P,O]);function he(){var k,B;(k=Ce.current)==null||k.dispose(),N?w&&Gl.set(d,W.current.saveViewState()):(B=W.current.getModel())==null||B.dispose(),W.current.dispose()}return xr.createElement(jp,{width:b,height:T,isEditorReady:P,loading:h,_ref:se,className:I,wrapperProps:U})}var Tw=Cw;S.memo(Tw);async function bu(s){var r,l;const n=String(s??"");if(!n)return!1;try{if(globalThis.isSecureContext&&((l=(r=globalThis.navigator)==null?void 0:r.clipboard)!=null&&l.writeText))return await globalThis.navigator.clipboard.writeText(n),!0}catch{}try{const a=document.createElement("textarea");a.value=n,a.setAttribute("readonly","true"),a.style.position="fixed",a.style.top="-1000px",a.style.left="-1000px",a.style.opacity="0",document.body.appendChild(a),a.focus(),a.select();try{a.setSelectionRange(0,a.value.length)}catch{}const d=document.execCommand("copy");return document.body.removeChild(a),d}catch{return!1}}function Mw(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\"/g,""").replace(/'/g,"'")}function wm(s){const n=(s||"").trim().toLowerCase();return!n||!/^[a-z0-9_+-]+$/.test(n)?"plaintext":n}function sa({markdown:s,className:n}){const r=jw(),l=S.useRef(null),a=S.useRef(new WeakMap),d=S.useMemo(()=>{const p=typeof s=="string"?s:String(s??""),h=new at.Renderer;h.code=({text:v,lang:w})=>{const N=wm((w||"").split(/\s+/)[0]||""),b=Mw(v||"");return`<div class="md-code-block" data-lang="${N}"><div class="md-code-toolbar"><span class="md-code-lang">${N}</span><button type="button" class="md-code-copy" data-md-copy="true">Copy</button></div><pre><code data-lang="${N}" class="language-${N}">${b}</code></pre></div>`};const y=at.parse(p,{gfm:!0,breaks:!0,renderer:h});return U_.sanitize(y,{USE_PROFILES:{html:!0},ADD_TAGS:["button","span"],ADD_ATTR:["data-lang","data-md-copy","style","class"]})},[s]);S.useEffect(()=>{const p=l.current;if(!p||!r)return;try{r.editor.setTheme("vs-dark")}catch{}let h=!1;const y=Array.from(p.querySelectorAll("pre code[data-lang]"));return(async()=>{for(const v of y){if(h)return;const w=wm(v.dataset.lang||""),N=v.textContent||"";if(N.trim()){a.current.set(v,N);try{const b=await r.editor.colorize(N,w,{tabSize:2});if(h)return;v.innerHTML=b}catch{}}}})(),()=>{h=!0}},[r,d]);const f=async p=>{var T;const h=p.target,y=(T=h==null?void 0:h.closest)==null?void 0:T.call(h,"[data-md-copy]");if(!y)return;const v=y.closest(".md-code-block"),w=v==null?void 0:v.querySelector("pre code"),N=(w?a.current.get(w):null)||(w==null?void 0:w.textContent)||"";if(!N)return;const b=await bu(N);y.textContent=b?"Copied":"Copy failed",window.setTimeout(()=>{y&&(y.textContent="Copy")},900)};return c.jsx("div",{ref:l,className:n?`markdown-body ${n}`:"markdown-body",onClick:f,dangerouslySetInnerHTML:{__html:d}})}function vm(s){const n=Array.from(new Set(s.map(r=>String(r||"").trim()).filter(Boolean)));return n.sort((r,l)=>r.localeCompare(l)),n}function Aw(s){const n=String(s||"").trim().toLowerCase();return n?n==="files"?"Files":n==="web"?"Web":n==="system"?"System":n.charAt(0).toUpperCase()+n.slice(1):"Other"}function $w(s){const n=s.disabled===!0,[r,l]=S.useState(""),a=S.useMemo(()=>{const y=new Map;for(const v of s.tools||[]){const w=String((v==null?void 0:v.name)||"").trim();w&&(y.has(w)||y.set(w,v))}return y},[s.tools]),d=S.useMemo(()=>vm(Array.from(a.keys())),[a]),f=S.useMemo(()=>new Set(vm(s.selected||[])),[s.selected]),p=S.useMemo(()=>{const y=r.trim().toLowerCase();return y?d.filter(v=>v.toLowerCase().includes(y)):d},[d,r]),h=S.useMemo(()=>{const y=new Map;for(const N of p){const b=a.get(N),T=String((b==null?void 0:b.toolset)||"").trim().toLowerCase()||"other";y.has(T)||y.set(T,[]),y.get(T).push(N)}for(const[N,b]of y.entries())b.sort((T,I)=>T.localeCompare(I)),y.set(N,b);const v=["files","web","system","other"];return Array.from(y.keys()).sort((N,b)=>{const T=v.indexOf(N),I=v.indexOf(b),U=T===-1?999:T,z=I===-1?999:I;return U!==z?U-z:N.localeCompare(b)}).map(N=>({key:N,label:Aw(N),names:y.get(N)||[]}))},[a,p]);return c.jsxs("div",{className:"tool_picker",children:[c.jsx("div",{className:"tool_picker_top",children:c.jsx("input",{className:"tool_picker_filter mono",value:r,onChange:y=>l(String(y.target.value||"")),placeholder:"Filter tools…",disabled:n})}),c.jsxs("div",{className:"tool_picker_list","aria-label":"Tool allowlist",children:[d.length?null:c.jsx("div",{className:"muted mono",children:"(no tools)"}),d.length&&!p.length?c.jsx("div",{className:"muted mono",children:"(no matches)"}):null,h.map(y=>c.jsxs("div",{className:"tool_group",children:[c.jsx("div",{className:"tool_group_header",children:y.label}),c.jsx("div",{className:"tool_group_list",children:y.names.map(v=>{const w=f.has(v),N=a.get(v),b=String((N==null?void 0:N.description)||"").trim();return c.jsxs("label",{className:`tool_row ${w?"checked":""}`,"data-toolset":y.key,children:[c.jsx("input",{type:"checkbox",checked:w,disabled:n,onChange:T=>{const I=new Set(f);T.target.checked?I.add(v):I.delete(v),s.onChange(Array.from(I.values()))}}),c.jsx("span",{className:"mono tool_name",children:v}),b?c.jsx("span",{className:"muted tool_desc",children:b}):null]},v)})})]},y.key))]})]})}function Rw(s){const n=Array.isArray(s)?s.map(a=>String(a||"").trim()).filter(Boolean):[],r=[],l=new Set;for(const a of n)l.has(a)||(l.add(a),r.push(a));return r}function Lw(s){let n=2166136261;const r=String(s||"");for(let l=0;l<r.length;l++)n^=r.charCodeAt(l),n=Math.imul(n,16777619)>>>0;return n.toString(16).padStart(8,"0")}function So(s,n){const r=String(s||"").trim();return r?r.replace(/[^a-zA-Z0-9._-]+/g,"_").slice(0,Math.max(1,n)).replace(/^_+|_+$/g,""):""}function Ep(s){const n=So(s.namespace||"acode",24)||"acode",r=So(s.session_id,64),l=So(s.provider,32),a=Lw(String(s.model||""));if(!r||!l||!a)return null;const d=s.template||null,f=d?So(d.bundle_id,40):"",p=d?So(d.flow_id,60):"",h=[n,r];return f&&h.push(f),p&&h.push(p),h.push(l,a),h.join(":")}function Ow(s){var L,xe;const n=String(s.prompt||"").trim(),r=s.settings,l=Rw(r.tools),a=(s.repl_messages||[]).filter(W=>W.role==="user"||W.role==="assistant"||W.role==="system"),d=a.filter(W=>W.role==="user"||W.role==="assistant").map(W=>({role:W.role,content:W.content})),f=[];let p=null,h=[];for(const W of a){if(W.role==="user"){p=String(W.content||""),h=[];continue}if(W.role==="system"){if(String(((L=W.meta)==null?void 0:L._kind)||"").trim()==="tool"){const J=(xe=W.meta)==null?void 0:xe.tool,pe=String((J==null?void 0:J.name)||"").trim(),Ce=J==null?void 0:J.arguments,Q=typeof(J==null?void 0:J.success)=="boolean"?J.success:null,ke={name:pe||"tool",ok:Q};if(Ce&&typeof Ce=="object"){const Se=typeof Ce.path=="string"?String(Ce.path).trim():"",te=typeof Ce.query=="string"?String(Ce.query).trim():"",we=typeof Ce.command=="string"?String(Ce.command).trim():"";Se&&(ke.path=Se),te&&(ke.query=te),we&&(ke.command=we)}h.push(ke)}continue}if(W.role==="assistant"&&p){const se=W.meta&&typeof W.meta=="object"?W.meta._repl:null;f.push({prompt:p,answer:String(W.content||""),run_id:W.run_id||null,stats:se&&typeof se=="object"?se:null,tools:h.slice(0,50)}),p=null,h=[]}}let y=null;for(let W=a.length-1;W>=0;W--){const se=a[W];if(se.role!=="assistant")continue;const J=String(se.run_id||"").trim();if(J){y=J;break}}const v=(s.attached_files||[]).filter(W=>!W.loading&&!W.error&&W.attachment&&typeof W.attachment=="object").map(W=>({...W.attachment}));function w(W){if(String((W==null?void 0:W.content_type)||"").trim().toLowerCase().startsWith("audio/"))return!0;const J=String((W==null?void 0:W.filename)||(W==null?void 0:W.source_path)||"").trim().toLowerCase(),pe=J.split("/").pop()||J,Ce=(pe.includes(".")?pe.split(".").pop():"")||"";return Ce?new Set(["wav","mp3","m4a","aac","flac","ogg","opus","webm","mp4","mpga","mpeg"]).has(Ce):!1}const N=v.some(w);if(f.length){const W=f.slice(-3),se=[];for(let pe=0;pe<W.length;pe++){const Ce=W[pe]||{},Q=Array.isArray(Ce.tools)?Ce.tools:[],ke=[],Se=[],te=[];for(const B of Q){if(!B||typeof B!="object")continue;const le=String(B.name||"").trim();le&&!ke.includes(le)&&ke.push(le);const ge=String(B.path||"").trim();ge&&!Se.includes(ge)&&Se.push(ge);const ve=String(B.command||"").trim();ve&&!te.includes(ve)&&te.push(ve)}const we=ke.length?ke.slice(0,8).join(", "):"—",he=Se.length?`; files: ${Se.slice(0,6).join(", ")}`:"",k=te.length?`; commands: ${te.slice(0,3).join(" | ")}`:"";se.push(`- turn ${Math.max(1,f.length-W.length+pe+1)}: tools: ${we}${he}${k}`)}const J=`Recent tool activity (auto):
|
|
132
132
|
${se.join(`
|
|
133
|
-
`)}`;d.push({role:"system",content:J.length>1500?`${J.slice(0,1500)}…`:J})}const b=String(r.system||"").trim(),T=Number.isFinite(Number(r.max_in_tokens))?Math.max(0,Number(r.max_in_tokens)):0,I=String(r.resp_schema||"").trim();let U=null;if(I){try{U=JSON.parse(I)}catch{throw new Error("resp_schema must be valid JSON (object)")}if(!U||typeof U!="object"||Array.isArray(U))throw new Error("resp_schema must be a JSON object (JSON Schema)")}const
|
|
134
|
-
… (truncated, ${r.length.toLocaleString()} chars total)`,a=Math.max(0,n-l.length);return a<200?r.slice(0,n):`${r.slice(0,a).trimEnd()}${l}`}function Uw(s){try{return JSON.stringify(s,null,2)}catch{return String(s)}}function Bw(s,n,r){const l=[],a=String((s==null?void 0:s.ended_at)||(s==null?void 0:s.started_at)||n).trim()||n,d=Cp(s);if(d&&String(d.reason||"").trim()==="event"){const f=d.details&&typeof d.details=="object"?d.details:null,p=Array.isArray(f==null?void 0:f.tool_calls)?f==null?void 0:f.tool_calls:[];for(const h of p.slice(0,50)){if(!h||typeof h!="object")continue;const y=String((h==null?void 0:h.name)||"").trim(),v=String((h==null?void 0:h.call_id)||(h==null?void 0:h.id)||"").trim();if(v&&r.has(v))continue;v&&r.add(v);const w=(h==null?void 0:h.arguments)??(h==null?void 0:h.args)??(h==null?void 0:h.params)??(h==null?void 0:h.parameters)??null;l.push({role:"system",level:"info",title:y?`Tool: ${y}`:"Tool",content:"",ts:a,meta:{_kind:"tool",tool:{name:y||void 0,call_id:v||void 0,arguments:w??void 0,output_preview:"",pending:!0}}})}}return l}function Ww(s,n,r){var b,T;const l=[],a=String((s==null?void 0:s.status)||"").trim(),d=String((s==null?void 0:s.ended_at)||(s==null?void 0:s.started_at)||n).trim()||n,f=s==null?void 0:s.effect;if(String((f==null?void 0:f.type)||"").trim()!=="tool_calls"||a!=="completed")return l;const h=f!=null&&f.payload&&typeof f.payload=="object"?f.payload:null,y=Array.isArray(h==null?void 0:h.tool_calls)?h.tool_calls:[];if(!y.length)return l;const v=Array.isArray((b=s==null?void 0:s.result)==null?void 0:b.results)?(T=s==null?void 0:s.result)==null?void 0:T.results:[],w=new Map;for(const I of v){if(!I||typeof I!="object")continue;const U=String(I.call_id||I.id||"").trim();U&&w.set(U,I)}const N=2e4;for(let I=0;I<y.length;I++){const U=y[I];if(!U||typeof U!="object")continue;const P=String(U.name||"").trim(),D=String(U.call_id||U.id||"").trim();if(D&&r.has(D))continue;D&&r.add(D);const $=U.arguments??null,O=(D&&w.has(D)?w.get(D):null)||v[I]||null,z=O&&typeof O=="object"&&typeof O.success=="boolean"?O.success:null,V=O&&typeof O=="object"?String(O.error||"").trim():"",re=O&&typeof O=="object"?O.output??O.result??null:null,L=re&&typeof re=="object"&&!Array.isArray(re)?re.rendered:null,xe=typeof L=="string"&&L.trim()?String(L):re==null?"":typeof re=="string"?re:Uw(re),W=Fw(xe,N);l.push({role:"system",level:V?"error":z===!1?"warn":"info",title:P?`Tool: ${P}`:"Tool",content:"",ts:d,meta:{_kind:"tool",tool:{name:P||void 0,call_id:D||void 0,success:z,error:V||void 0,arguments:$??void 0,output_preview:W}}})}return l}function km(s,n,r){var P;const l=String(r||"").trim();if(!l)return s;const a=n==null?void 0:n.ledgers,d=a&&typeof a=="object"?a==null?void 0:a[l]:null,f=Array.isArray(d==null?void 0:d.items)?d.items:[];if(!f.length)return s;const p=[];for(const D of f){const $=D&&typeof D=="object"?D.record:null;if(!$)continue;const O=Cp($);if(!O||String(O.reason||"").trim()!=="subworkflow")continue;const z=O.details&&typeof O.details=="object"?O.details:null,V=String((z==null?void 0:z.sub_run_id)||"").trim();!V||ru(O)!=="user_facing"||p.push(V)}const h=p.length?p[p.length-1]:"";if(!h)return s;const y=a==null?void 0:a[h],v=Array.isArray(y==null?void 0:y.items)?y.items:[];if(!v.length)return s;const w=new Set;for(const D of s){if(!D||typeof D!="object")continue;const $=D.meta;if(!$||typeof $!="object"||$._kind!=="tool")continue;const O=String(((P=$==null?void 0:$.tool)==null?void 0:P.call_id)||"").trim();O&&w.add(O)}const N=[];for(const D of v){const $=D&&typeof D=="object"?D.record:null;$&&N.push(...Ww($,fu(),w))}for(const D of v){const $=D&&typeof D=="object"?D.record:null;$&&N.push(...Bw($,fu(),w))}if(!N.length)return s;let b=-1;for(let D=0;D<s.length;D++){const $=s[D];$.role==="user"&&String($.run_id||"").trim()===l&&(b=D)}let T=-1;if(b>=0)for(let D=b+1;D<s.length;D++){const $=s[D];if($.role==="assistant"&&String($.run_id||"").trim()===l){T=D;break}}const I=T>=0?T:b>=0?b+1:s.length;return[...s.slice(0,I),...N,...s.slice(I)]}function Hw(s,n){var w,N;const r=typeof(n==null?void 0:n.now_iso)=="function"?n.now_iso:fu,l=[],a=(w=s==null?void 0:s.session)==null?void 0:w.turns;if(Array.isArray(a)&&a.length){const b=a.filter(V=>V&&typeof V=="object"),I=b.some(V=>String(V.kind||"").trim()==="chat")?b.filter(V=>String(V.kind||"").trim()==="chat"):b,U=new Set,P=[];for(const V of I){const re=String(V.run_id||"").trim();re&&(U.has(re)||(U.add(re),P.push(V)))}const D=V=>{const re=Date.parse(String(V.created_at||"").trim());if(Number.isFinite(re))return re;const L=Date.parse(String(V.updated_at||"").trim());return Number.isFinite(L)?L:0};P.sort((V,re)=>D(V)-D(re));for(const V of P){const re=String(V.run_id||"").trim()||void 0,L=String(V.prompt??"").trim(),xe=Iw(V.attachments),W=xm(V.created_at||V.updated_at,r);L&&l.push({role:"user",content:L,ts:W,run_id:re,meta:xe.length?{attachments:xe.map(pe=>({...pe}))}:void 0});const se=String(V.answer??"").trim(),J=xm(V.updated_at||V.created_at,r);if(se){const pe={};V.answer_meta&&typeof V.answer_meta=="object"&&(pe.workflow_meta={...V.answer_meta}),V.stats&&typeof V.stats=="object"&&(pe._repl={...V.stats}),l.push({role:"assistant",content:se,ts:J,run_id:re,meta:Object.keys(pe).length?pe:void 0})}}const $=Sm(l),O=String((n==null?void 0:n.include_tool_calls_for_run_id)||"").trim();return(O?km($,s,O):$).slice(-200)}const d=s==null?void 0:s.input_data,f=String(zw(d)||"").trim(),p=Dw(d);f&&l.push({role:"user",content:f,ts:r(),run_id:String((s==null?void 0:s.root_run_id)||((N=s==null?void 0:s.run)==null?void 0:N.run_id)||"").trim()||void 0,meta:p.length?{attachments:p.map(b=>({...b}))}:void 0});const h=Sm(l),y=String((n==null?void 0:n.include_tool_calls_for_run_id)||"").trim();return(y?km(h,s,y):h).slice(-200)}const Vw=/^[a-zA-Z0-9_-]+$/;function bm(s){return Vw.test(String(s||"").trim())}async function Gw(s){const n=String(s||""),r=new TextEncoder().encode(n),l=globalThis.crypto;if(!l||!l.subtle||typeof l.subtle.digest!="function")throw new Error("crypto.subtle.digest not available");const a=await l.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(a)).map(d=>d.toString(16).padStart(2,"0")).join("")}async function bo(s){const n=String(s||"").trim();if(!n)throw new Error("session_id is required");if(bm(n)){const l=`session_memory_${n}`;if(bm(l))return l}return`session_memory_sha_${(await Gw(n)).slice(0,32)}`}const Tp="abstractcode_web_settings_v1",Qw="abstractcode_web_active_run_v1:",Kw="abstractcode_web_run_cursor_v1:",Yw="abstractcode_web_repl_v1",Mp="abstractcode_web_repl_sessions_index_v1",Ap="abstractcode_web_repl_current_session_v1",Jw="abstractcode_web_repl_session_v1:";function jm(){try{const s=globalThis==null?void 0:globalThis.location,n=typeof(s==null?void 0:s.origin)=="string"?String(s.origin):"",r=typeof(s==null?void 0:s.protocol)=="string"?String(s.protocol):"";return!n||n==="null"||r==="file:"?"http://127.0.0.1:8081":""}catch{return"http://127.0.0.1:8081"}}function ia(){try{const s=globalThis==null?void 0:globalThis.crypto;if(s&&typeof s.randomUUID=="function")return s.randomUUID()}catch{}return`s_${Math.random().toString(16).slice(2)}_${Date.now().toString(16)}`}function $p(s){return`${Jw}${String(s||"").trim()}`}function ju(s){return`${Qw}${String(s||"").trim()}`}function Nu(s){return`${Kw}${String(s||"").trim()}`}const Eu=new Map;let js=null;function Nm(s){try{const n=globalThis==null?void 0:globalThis[s];return n?(n.getItem("__abstractcode_web_probe__"),n):null}catch{return null}}function Em(s){try{const n="__abstractcode_web_probe_write__";return s.setItem(n,"1"),s.removeItem(n),!0}catch{return!1}}function fa(){if(js)return js;const s=Nm("localStorage"),n=Nm("sessionStorage"),r=s!=null&&Em(s),l=n!=null&&Em(n);return r?(js={mode:"localStorage",primary:s,secondary:n},js):l?(js={mode:"sessionStorage",primary:n,secondary:s},js):(js={mode:"memory",primary:null,secondary:s||n||null},js)}function Xw(){return fa().mode}function qs(s){const{primary:n,secondary:r}=fa();if(n)try{const l=n.getItem(s);if(l!=null)return l}catch{}if(r)try{const l=r.getItem(s);if(l!=null)return l}catch{}return Eu.get(s)??null}function Ri(s,n){const{primary:r,secondary:l}=fa();if(r)try{r.setItem(s,n);return}catch{}if(l)try{l.setItem(s,n);return}catch{}Eu.set(s,n)}function Rp(s){const{primary:n,secondary:r}=fa();if(n)try{n.removeItem(s)}catch{}if(r)try{r.removeItem(s)}catch{}Eu.delete(s)}function Zw(){try{const s=qs(Tp);if(!s)throw new Error("no settings");const n=JSON.parse(s);if(!n||typeof n!="object")throw new Error("bad settings");const r=(()=>{const a=n.tools;if(Array.isArray(a))return a.map(f=>String(f||"").trim()).filter(Boolean);const d=String(a||"").trim();return d?d.split(/[\n,]/g).map(f=>f.trim()).filter(Boolean):[]})(),l=typeof n.tools_initialized=="boolean"?!!n.tools_initialized:typeof n.toolsInitialized=="boolean"?!!n.toolsInitialized:r.length>0;return{gateway_url:typeof n.gateway_url=="string"?String(n.gateway_url):typeof n.gatewayUrl=="string"?String(n.gatewayUrl):jm(),auth_token:String(n.auth_token||""),client_id:String(n.client_id||"abstractcode_web"),provider:String(n.provider||"").trim(),model:String(n.model||"").trim(),theme:String(n.theme||n.theme_id||n.themeId||"dark").trim()||"dark",font_scale:String(n.font_scale||n.fontScale||"md").trim()||"md",header_density:String(n.header_density||n.headerDensity||"standard").trim()||"standard",use_context:typeof n.use_context=="boolean"?!!n.use_context:typeof n.useContext=="boolean"?!!n.useContext:!0,prompt_cache:typeof n.prompt_cache=="boolean"?!!n.prompt_cache:typeof n.promptCache=="boolean"?!!n.promptCache:!1,prompt_cache_key:String(n.prompt_cache_key||n.promptCacheKey||"").trim(),max_iterations:Number.isFinite(Number(n.max_iterations))?Number(n.max_iterations):10,max_in_tokens:(()=>{const a=n.max_in_tokens??n.maxInTokens??n.max_input_tokens??null,d=Number(a);return Number.isFinite(d)&&d>0?d:0})(),temperature:Number.isFinite(Number(n.temperature))?Number(n.temperature):.7,seed:Number.isFinite(Number(n.seed))?Number(n.seed):-1,system:String(n.system||""),resp_schema:String(n.resp_schema||n.respSchema||""),tools:r,tools_initialized:l,gateway_was_connected:!!n.gateway_was_connected,files_keep:!!(n.files_keep??n.filesKeep??!1),workspace_root:String(n.workspace_root||n.workspaceRoot||""),workspace_access_mode:String(n.workspace_access_mode||n.workspaceAccessMode||"workspace_only").trim()||"workspace_only",workspace_allowed_paths:(()=>{const a=n.workspace_allowed_paths??n.workspaceAllowedPaths??"";return Array.isArray(a)?a.map(d=>String(d||"").trim()).filter(Boolean).join(`
|
|
133
|
+
`)}`;d.push({role:"system",content:J.length>1500?`${J.slice(0,1500)}…`:J})}const b=String(r.system||"").trim(),T=Number.isFinite(Number(r.max_in_tokens))?Math.max(0,Number(r.max_in_tokens)):0,I=String(r.resp_schema||"").trim();let U=null;if(I){try{U=JSON.parse(I)}catch{throw new Error("resp_schema must be valid JSON (object)")}if(!U||typeof U!="object"||Array.isArray(U))throw new Error("resp_schema must be a JSON object (JSON Schema)")}const z=String(s.session_id||"").trim(),D=String(r.workspace_root||"").trim(),$=String(r.workspace_access_mode||"").trim(),O=String(r.workspace_allowed_paths||"").trim(),P=String(r.workspace_ignored_paths||"").trim(),V={prompt:n,use_context:!!r.use_context,provider:r.provider||null,model:r.model||null,system:b||null,tools:l.length?l:null,context:{messages:d,attachments:v,session:{id:z||null,last_run_id:y,turns:f.slice(-12)}},max_iterations:Number.isFinite(Number(r.max_iterations))?Number(r.max_iterations):20,max_in_tokens:T>0?T:null,temperature:Number.isFinite(Number(r.temperature))?Number(r.temperature):.7,seed:Number.isFinite(Number(r.seed))?Number(r.seed):-1,resp_schema:U||null},re={};if(r.prompt_cache){const W=String(r.prompt_cache_key||"").trim()||Ep({namespace:"acode",session_id:z,provider:String(r.provider||"").trim(),model:String(r.model||"").trim(),template:s.template||null});re.prompt_cache={enabled:!0,namespace:"acode",...W?{key:W}:{}}}return N&&(re.audio_policy="auto"),Object.keys(re).length&&(V._runtime=re),D&&(V.workspace_root=D),$&&(V.workspace_access_mode=$),O&&(V.workspace_allowed_paths=O),P&&(V.workspace_ignored_paths=P),V}function Pw(s){const n=s.current,r=(s.discovered_providers||[]).map(h=>String((h==null?void 0:h.name)||"").trim()).filter(Boolean),l=String(s.default_provider||"").trim(),a=String(n.provider||"").trim();let d=a;(!d||!r.includes(d))&&(l&&r.includes(l)?d=l:d=r[0]||"");const f={...n,gateway_was_connected:!0};d&&d!==a&&(f.provider=d,f.model="");const p=f.gateway_was_connected!==n.gateway_was_connected||f.provider!==n.provider||f.model!==n.model;return{next:f,changed:p}}function zw(s){var d,f,p;if(!s||typeof s!="object")return null;const n=s,r=n!=null&&n.input_data&&typeof n.input_data=="object"?n.input_data:n,l=[r==null?void 0:r.prompt,r==null?void 0:r.message,r==null?void 0:r.task,(d=r==null?void 0:r.context)==null?void 0:d.task,(f=r==null?void 0:r.context)==null?void 0:f.message];for(const h of l)if(typeof h=="string"&&h.trim())return h.trim();const a=(p=r==null?void 0:r.context)==null?void 0:p.messages;if(Array.isArray(a))for(const h of a){if(!h||typeof h!="object")continue;const y=String(h.role||"").trim(),v=h.content;if(y==="user"&&typeof v=="string"&&v.trim())return v.trim()}return null}function Dw(s){if(!s||typeof s!="object")return[];const n=s,r=n!=null&&n.input_data&&typeof n.input_data=="object"?n.input_data:n,l=r==null?void 0:r.context,a=l&&typeof l=="object"?l.attachments:null;if(!Array.isArray(a))return[];const d=[];for(const f of a)!f||typeof f!="object"||d.push({...f});return d}function fu(){return new Date().toISOString()}function xm(s,n){const r=String(s||"").trim();return r||n()}function Iw(s){if(!Array.isArray(s))return[];const n=[];for(const r of s){if(!r||typeof r!="object")continue;const l=String(r.$artifact||"").trim(),a=String(r.filename||"").trim(),d=String(r.content_type||r.contentType||"").trim();!l||!a||!d||n.push({...r})}return n}function Sm(s){const n=[];for(const r of s||[]){const l=n.length?n[n.length-1]:null;l&&l.role===r.role&&String(l.content||"").trim()===String(r.content||"").trim()||n.push(r)}return n}function Cp(s){var l;const n=s,r=(l=n==null?void 0:n.result)==null?void 0:l.wait;return!r||typeof r!="object"?null:r}function Fw(s,n){const r=String(s||"");if(r.length<=n)return r;const l=`
|
|
134
|
+
… (truncated, ${r.length.toLocaleString()} chars total)`,a=Math.max(0,n-l.length);return a<200?r.slice(0,n):`${r.slice(0,a).trimEnd()}${l}`}function Uw(s){try{return JSON.stringify(s,null,2)}catch{return String(s)}}function Bw(s,n,r){const l=[],a=String((s==null?void 0:s.ended_at)||(s==null?void 0:s.started_at)||n).trim()||n,d=Cp(s);if(d&&String(d.reason||"").trim()==="event"){const f=d.details&&typeof d.details=="object"?d.details:null,p=Array.isArray(f==null?void 0:f.tool_calls)?f==null?void 0:f.tool_calls:[];for(const h of p.slice(0,50)){if(!h||typeof h!="object")continue;const y=String((h==null?void 0:h.name)||"").trim(),v=String((h==null?void 0:h.call_id)||(h==null?void 0:h.id)||"").trim();if(v&&r.has(v))continue;v&&r.add(v);const w=(h==null?void 0:h.arguments)??(h==null?void 0:h.args)??(h==null?void 0:h.params)??(h==null?void 0:h.parameters)??null;l.push({role:"system",level:"info",title:y?`Tool: ${y}`:"Tool",content:"",ts:a,meta:{_kind:"tool",tool:{name:y||void 0,call_id:v||void 0,arguments:w??void 0,output_preview:"",pending:!0}}})}}return l}function Ww(s,n,r){var b,T;const l=[],a=String((s==null?void 0:s.status)||"").trim(),d=String((s==null?void 0:s.ended_at)||(s==null?void 0:s.started_at)||n).trim()||n,f=s==null?void 0:s.effect;if(String((f==null?void 0:f.type)||"").trim()!=="tool_calls"||a!=="completed")return l;const h=f!=null&&f.payload&&typeof f.payload=="object"?f.payload:null,y=Array.isArray(h==null?void 0:h.tool_calls)?h.tool_calls:[];if(!y.length)return l;const v=Array.isArray((b=s==null?void 0:s.result)==null?void 0:b.results)?(T=s==null?void 0:s.result)==null?void 0:T.results:[],w=new Map;for(const I of v){if(!I||typeof I!="object")continue;const U=String(I.call_id||I.id||"").trim();U&&w.set(U,I)}const N=2e4;for(let I=0;I<y.length;I++){const U=y[I];if(!U||typeof U!="object")continue;const z=String(U.name||"").trim(),D=String(U.call_id||U.id||"").trim();if(D&&r.has(D))continue;D&&r.add(D);const $=U.arguments??null,O=(D&&w.has(D)?w.get(D):null)||v[I]||null,P=O&&typeof O=="object"&&typeof O.success=="boolean"?O.success:null,V=O&&typeof O=="object"?String(O.error||"").trim():"",re=O&&typeof O=="object"?O.output??O.result??null:null,L=re&&typeof re=="object"&&!Array.isArray(re)?re.rendered:null,xe=typeof L=="string"&&L.trim()?String(L):re==null?"":typeof re=="string"?re:Uw(re),W=Fw(xe,N);l.push({role:"system",level:V?"error":P===!1?"warn":"info",title:z?`Tool: ${z}`:"Tool",content:"",ts:d,meta:{_kind:"tool",tool:{name:z||void 0,call_id:D||void 0,success:P,error:V||void 0,arguments:$??void 0,output_preview:W}}})}return l}function km(s,n,r){var z;const l=String(r||"").trim();if(!l)return s;const a=n==null?void 0:n.ledgers,d=a&&typeof a=="object"?a==null?void 0:a[l]:null,f=Array.isArray(d==null?void 0:d.items)?d.items:[];if(!f.length)return s;const p=[];for(const D of f){const $=D&&typeof D=="object"?D.record:null;if(!$)continue;const O=Cp($);if(!O||String(O.reason||"").trim()!=="subworkflow")continue;const P=O.details&&typeof O.details=="object"?O.details:null,V=String((P==null?void 0:P.sub_run_id)||"").trim();!V||ru(O)!=="user_facing"||p.push(V)}const h=p.length?p[p.length-1]:"";if(!h)return s;const y=a==null?void 0:a[h],v=Array.isArray(y==null?void 0:y.items)?y.items:[];if(!v.length)return s;const w=new Set;for(const D of s){if(!D||typeof D!="object")continue;const $=D.meta;if(!$||typeof $!="object"||$._kind!=="tool")continue;const O=String(((z=$==null?void 0:$.tool)==null?void 0:z.call_id)||"").trim();O&&w.add(O)}const N=[];for(const D of v){const $=D&&typeof D=="object"?D.record:null;$&&N.push(...Ww($,fu(),w))}for(const D of v){const $=D&&typeof D=="object"?D.record:null;$&&N.push(...Bw($,fu(),w))}if(!N.length)return s;let b=-1;for(let D=0;D<s.length;D++){const $=s[D];$.role==="user"&&String($.run_id||"").trim()===l&&(b=D)}let T=-1;if(b>=0)for(let D=b+1;D<s.length;D++){const $=s[D];if($.role==="assistant"&&String($.run_id||"").trim()===l){T=D;break}}const I=T>=0?T:b>=0?b+1:s.length;return[...s.slice(0,I),...N,...s.slice(I)]}function Hw(s,n){var w,N;const r=typeof(n==null?void 0:n.now_iso)=="function"?n.now_iso:fu,l=[],a=(w=s==null?void 0:s.session)==null?void 0:w.turns;if(Array.isArray(a)&&a.length){const b=a.filter(V=>V&&typeof V=="object"),I=b.some(V=>String(V.kind||"").trim()==="chat")?b.filter(V=>String(V.kind||"").trim()==="chat"):b,U=new Set,z=[];for(const V of I){const re=String(V.run_id||"").trim();re&&(U.has(re)||(U.add(re),z.push(V)))}const D=V=>{const re=Date.parse(String(V.created_at||"").trim());if(Number.isFinite(re))return re;const L=Date.parse(String(V.updated_at||"").trim());return Number.isFinite(L)?L:0};z.sort((V,re)=>D(V)-D(re));for(const V of z){const re=String(V.run_id||"").trim()||void 0,L=String(V.prompt??"").trim(),xe=Iw(V.attachments),W=xm(V.created_at||V.updated_at,r);L&&l.push({role:"user",content:L,ts:W,run_id:re,meta:xe.length?{attachments:xe.map(pe=>({...pe}))}:void 0});const se=String(V.answer??"").trim(),J=xm(V.updated_at||V.created_at,r);if(se){const pe={};V.answer_meta&&typeof V.answer_meta=="object"&&(pe.workflow_meta={...V.answer_meta}),V.stats&&typeof V.stats=="object"&&(pe._repl={...V.stats}),l.push({role:"assistant",content:se,ts:J,run_id:re,meta:Object.keys(pe).length?pe:void 0})}}const $=Sm(l),O=String((n==null?void 0:n.include_tool_calls_for_run_id)||"").trim();return(O?km($,s,O):$).slice(-200)}const d=s==null?void 0:s.input_data,f=String(zw(d)||"").trim(),p=Dw(d);f&&l.push({role:"user",content:f,ts:r(),run_id:String((s==null?void 0:s.root_run_id)||((N=s==null?void 0:s.run)==null?void 0:N.run_id)||"").trim()||void 0,meta:p.length?{attachments:p.map(b=>({...b}))}:void 0});const h=Sm(l),y=String((n==null?void 0:n.include_tool_calls_for_run_id)||"").trim();return(y?km(h,s,y):h).slice(-200)}const Vw=/^[a-zA-Z0-9_-]+$/;function bm(s){return Vw.test(String(s||"").trim())}async function Gw(s){const n=String(s||""),r=new TextEncoder().encode(n),l=globalThis.crypto;if(!l||!l.subtle||typeof l.subtle.digest!="function")throw new Error("crypto.subtle.digest not available");const a=await l.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(a)).map(d=>d.toString(16).padStart(2,"0")).join("")}async function bo(s){const n=String(s||"").trim();if(!n)throw new Error("session_id is required");if(bm(n)){const l=`session_memory_${n}`;if(bm(l))return l}return`session_memory_sha_${(await Gw(n)).slice(0,32)}`}const Tp="abstractcode_web_settings_v1",Qw="abstractcode_web_active_run_v1:",Kw="abstractcode_web_run_cursor_v1:",Yw="abstractcode_web_repl_v1",Mp="abstractcode_web_repl_sessions_index_v1",Ap="abstractcode_web_repl_current_session_v1",Jw="abstractcode_web_repl_session_v1:";function jm(){try{const s=globalThis==null?void 0:globalThis.location,n=typeof(s==null?void 0:s.origin)=="string"?String(s.origin):"",r=typeof(s==null?void 0:s.protocol)=="string"?String(s.protocol):"";return!n||n==="null"||r==="file:"?"http://127.0.0.1:8081":""}catch{return"http://127.0.0.1:8081"}}function ia(){try{const s=globalThis==null?void 0:globalThis.crypto;if(s&&typeof s.randomUUID=="function")return s.randomUUID()}catch{}return`s_${Math.random().toString(16).slice(2)}_${Date.now().toString(16)}`}function $p(s){return`${Jw}${String(s||"").trim()}`}function ju(s){return`${Qw}${String(s||"").trim()}`}function Nu(s){return`${Kw}${String(s||"").trim()}`}const Eu=new Map;let js=null;function Nm(s){try{const n=globalThis==null?void 0:globalThis[s];return n?(n.getItem("__abstractcode_web_probe__"),n):null}catch{return null}}function Em(s){try{const n="__abstractcode_web_probe_write__";return s.setItem(n,"1"),s.removeItem(n),!0}catch{return!1}}function fa(){if(js)return js;const s=Nm("localStorage"),n=Nm("sessionStorage"),r=s!=null&&Em(s),l=n!=null&&Em(n);return r?(js={mode:"localStorage",primary:s,secondary:n},js):l?(js={mode:"sessionStorage",primary:n,secondary:s},js):(js={mode:"memory",primary:null,secondary:s||n||null},js)}function Xw(){return fa().mode}function qs(s){const{primary:n,secondary:r}=fa();if(n)try{const l=n.getItem(s);if(l!=null)return l}catch{}if(r)try{const l=r.getItem(s);if(l!=null)return l}catch{}return Eu.get(s)??null}function Ri(s,n){const{primary:r,secondary:l}=fa();if(r)try{r.setItem(s,n);return}catch{}if(l)try{l.setItem(s,n);return}catch{}Eu.set(s,n)}function Rp(s){const{primary:n,secondary:r}=fa();if(n)try{n.removeItem(s)}catch{}if(r)try{r.removeItem(s)}catch{}Eu.delete(s)}function Zw(){try{const s=qs(Tp);if(!s)throw new Error("no settings");const n=JSON.parse(s);if(!n||typeof n!="object")throw new Error("bad settings");const r=(()=>{const a=n.tools;if(Array.isArray(a))return a.map(f=>String(f||"").trim()).filter(Boolean);const d=String(a||"").trim();return d?d.split(/[\n,]/g).map(f=>f.trim()).filter(Boolean):[]})(),l=typeof n.tools_initialized=="boolean"?!!n.tools_initialized:typeof n.toolsInitialized=="boolean"?!!n.toolsInitialized:r.length>0;return{gateway_url:typeof n.gateway_url=="string"?String(n.gateway_url):typeof n.gatewayUrl=="string"?String(n.gatewayUrl):jm(),auth_token:String(n.auth_token||""),client_id:String(n.client_id||"abstractcode_web"),provider:String(n.provider||"").trim(),model:String(n.model||"").trim(),theme:String(n.theme||n.theme_id||n.themeId||"dark").trim()||"dark",font_scale:String(n.font_scale||n.fontScale||"md").trim()||"md",header_density:String(n.header_density||n.headerDensity||"standard").trim()||"standard",use_context:typeof n.use_context=="boolean"?!!n.use_context:typeof n.useContext=="boolean"?!!n.useContext:!0,prompt_cache:typeof n.prompt_cache=="boolean"?!!n.prompt_cache:typeof n.promptCache=="boolean"?!!n.promptCache:!1,prompt_cache_key:String(n.prompt_cache_key||n.promptCacheKey||"").trim(),max_iterations:Number.isFinite(Number(n.max_iterations))?Number(n.max_iterations):10,max_in_tokens:(()=>{const a=n.max_in_tokens??n.maxInTokens??n.max_input_tokens??null,d=Number(a);return Number.isFinite(d)&&d>0?d:0})(),temperature:Number.isFinite(Number(n.temperature))?Number(n.temperature):.7,seed:Number.isFinite(Number(n.seed))?Number(n.seed):-1,system:String(n.system||""),resp_schema:String(n.resp_schema||n.respSchema||""),tools:r,tools_initialized:l,gateway_was_connected:!!n.gateway_was_connected,files_keep:!!(n.files_keep??n.filesKeep??!1),workspace_root:String(n.workspace_root||n.workspaceRoot||""),workspace_access_mode:String(n.workspace_access_mode||n.workspaceAccessMode||"workspace_only").trim()||"workspace_only",workspace_allowed_paths:(()=>{const a=n.workspace_allowed_paths??n.workspaceAllowedPaths??"";return Array.isArray(a)?a.map(d=>String(d||"").trim()).filter(Boolean).join(`
|
|
135
135
|
`):String(a||"")})(),workspace_ignored_paths:(()=>{const a=n.workspace_ignored_paths??n.workspaceIgnoredPaths??"";return Array.isArray(a)?a.map(d=>String(d||"").trim()).filter(Boolean).join(`
|
|
136
136
|
`):String(a||"")})()}}catch{return{gateway_url:jm(),auth_token:"",client_id:"abstractcode_web",provider:"",model:"",theme:"dark",font_scale:"md",header_density:"standard",use_context:!0,prompt_cache:!1,prompt_cache_key:"",max_iterations:10,max_in_tokens:0,temperature:.7,seed:-1,system:"",resp_schema:"",tools:[],tools_initialized:!1,gateway_was_connected:!1,files_keep:!1,workspace_root:"",workspace_access_mode:"workspace_only",workspace_allowed_paths:"",workspace_ignored_paths:""}}}function qw(s){Ri(Tp,JSON.stringify(s))}function Lp(s){const n=s==null?void 0:s.template,r=n&&typeof n=="object"?{bundle_id:String((n==null?void 0:n.bundle_id)||"").trim(),flow_id:String((n==null?void 0:n.flow_id)||"").trim(),name:String((n==null?void 0:n.name)||"").trim()||void 0}:null,a=(Array.isArray(s==null?void 0:s.messages)?s.messages:[]).map(f=>({role:(f==null?void 0:f.role)==="assistant"||(f==null?void 0:f.role)==="system"?f.role:"user",content:String((f==null?void 0:f.content)||"").trim(),ts:String((f==null?void 0:f.ts)||"").trim()||new Date().toISOString(),level:(f==null?void 0:f.level)==="error"?"error":(f==null?void 0:f.level)==="warn"?"warn":(f==null?void 0:f.level)==="info"?"info":void 0,title:String((f==null?void 0:f.title)||"").trim()||void 0,meta:f==null?void 0:f.meta,run_id:String((f==null?void 0:f.run_id)||"").trim()||void 0})).filter(f=>!!f.content||f.meta!=null),d=String((s==null?void 0:s.updated_at)||"").trim()||new Date().toISOString();return{template:r&&r.bundle_id&&r.flow_id?r:null,messages:a.slice(Math.max(0,a.length-200)),updated_at:d}}function ev(s){const n=(s.messages||[]).find(d=>d.role==="user"&&String(d.content||"").trim()),r=n?String(n.content||"").trim():"";if(r)return r.length>60?`${r.slice(0,60)}…`:r;const l=s.template;return(l==null?void 0:l.name)||(l?`${l.bundle_id}:${l.flow_id}`:"")||"New chat"}function Cu(){try{const s=qs(Mp);if(!s)return[];const n=JSON.parse(s);return Array.isArray(n)?n.map(r=>({session_id:String((r==null?void 0:r.session_id)||(r==null?void 0:r.sessionId)||"").trim(),title:String((r==null?void 0:r.title)||"").trim()||"Chat",template:r!=null&&r.template&&typeof r.template=="object"?{bundle_id:String(r.template.bundle_id||"").trim(),flow_id:String(r.template.flow_id||"").trim(),name:String(r.template.name||"").trim()||void 0}:null,updated_at:String((r==null?void 0:r.updated_at)||(r==null?void 0:r.updatedAt)||"").trim()||new Date().toISOString()})).filter(r=>!!r.session_id):[]}catch{return[]}}function tv(s){const n=(Array.isArray(s)?s:[]).slice(0,200);Ri(Mp,JSON.stringify(n))}function Op(){const s=qs(Ap),n=String(s||"").trim();return n||null}function Mo(s){const n=String(s||"").trim();n&&Ri(Ap,n)}function Pp(s){try{const n=qs($p(s));if(!n)throw new Error("missing session");return Lp(JSON.parse(n))}catch{return{template:null,messages:[],updated_at:new Date().toISOString()}}}function Ao(s,n){const r=String(s||"").trim();if(!r)return;const l={template:n.template,messages:(Array.isArray(n.messages)?n.messages:[]).slice(-200),updated_at:new Date().toISOString()};Ri($p(r),JSON.stringify(l));const a=ev(l),d=Cu().filter(f=>f.session_id!==r);d.unshift({session_id:r,title:a,template:l.template,updated_at:l.updated_at}),d.sort((f,p)=>String(p.updated_at).localeCompare(String(f.updated_at))),tv(d)}function zo(){if(Cu().length)return;const n=qs(Yw);if(n)try{const l=Lp(JSON.parse(n)),a=ia();Ao(a,l),Mo(a);return}catch{}const r=ia();Ao(r,{template:null,messages:[],updated_at:new Date().toISOString()}),Mo(r)}function zp(){var n;zo();const s=Op()||((n=Cu()[0])==null?void 0:n.session_id)||ia();return Mo(s),{session_id:s,state:Pp(s)}}function nv(s){zo();const n=String(s||"").trim();return n?(Mo(n),{session_id:n,state:Pp(n)}):zp()}function rv(s){zo();const n=ia(),r={template:s,messages:[],updated_at:new Date().toISOString()};return Ao(n,r),Mo(n),{session_id:n,state:r}}function sv(s,n){zo(),Ao(s,n)}function Dp(s,n){zo();const r=String(n||Op()||"").trim(),l={template:(s==null?void 0:s.template)??null,messages:[],updated_at:new Date().toISOString()};return r&&Ao(r,l),l}function qc(s){const n=String(s||"").trim();if(!n)return null;const r=qs(ju(n)),l=String(r||"").trim();return l||null}function Cm(s,n){const r=String(s||"").trim(),l=String(n||"").trim();!r||!l||Ri(ju(r),l)}function Ql(s){const n=String(s||"").trim();n&&Rp(ju(n))}function Tm(s){const n=String(s||"").trim();if(!n)return null;const r=qs(Nu(n)),l=Number(r);return Number.isFinite(l)?Math.max(0,Math.trunc(l)):null}function eu(s,n){const r=String(s||"").trim(),l=Number(n);r&&Number.isFinite(l)&&Ri(Nu(r),String(Math.max(0,Math.trunc(l))))}function Kl(s){const n=String(s||"").trim();n&&Rp(Nu(n))}const tu={};function Mm(){const n=String(window.location.hash||"").replace(/^#/,"").split("/").filter(Boolean);return n.length?n[0]==="session"&&n[1]?{name:"console",session_id:String(n[1]||"").trim()}:n[0]==="new"?{name:"new"}:n[0]==="sessions"?{name:"sessions"}:n[0]==="settings"?{name:"settings"}:{name:"console"}:{name:"console"}}function Or(s){s.name==="console"?window.location.hash=s.session_id?`#/session/${encodeURIComponent(s.session_id)}`:"#/":s.name==="new"?window.location.hash="#/new":s.name==="sessions"?window.location.hash="#/sessions":s.name==="settings"&&(window.location.hash="#/settings")}function oa(s){try{return JSON.stringify(s,null,2)}catch{return String(s)}}function Am(s,n){const r=String(s||"");if(r.length<=n)return r;const l=`
|
|
137
|
-
… (truncated, ${r.length.toLocaleString()} chars total)`,a=Math.max(0,n-l.length);return a<200?r.slice(0,n):`${r.slice(0,a).trimEnd()}${l}`}function $i(s){const n=String(s||"").trim();if(!n)return null;const r=Date.parse(n);return Number.isFinite(r)?r:null}function iv(s,n,r){const l=typeof s=="string"?s:String(s??""),a=Number.isFinite(Number(n))?Math.max(0,Math.min(l.length,Math.trunc(n))):l.length,d=String(r).trim();if(!d)return null;const p=l.slice(0,a).lastIndexOf(d);if(p<0||p>0&&!/\s/.test(l[p-1]||""))return null;const h=l.slice(p+d.length,a);return/\s/.test(h)?null:{start:p,end:a,query:h}}function ov(s){const n=String(s||"").trim();if(!n)return{target:"server",query:""};const r=n.toLowerCase();return r==="client"?{target:"client",query:""}:r.startsWith("client:")?{target:"client",query:n.slice(7)}:r==="server"?{target:"server",query:""}:r.startsWith("server:")?{target:"server",query:n.slice(7)}:{target:"server",query:n}}function ht(){return new Date().toISOString()}function $m(s){const n=String(s??"").trim().toLowerCase();return n==="1"||n==="true"||n==="yes"||n==="on"}function lv(){var s;if(typeof window>"u")return!1;if(((s=window.__ABSTRACT_UI_CONFIG__)==null?void 0:s.monitor_gpu)===!0||$m(tu==null?void 0:tu.VITE_MONITOR_GPU))return!0;try{const n=new URLSearchParams(window.location.search);return $m(n.get("monitor-gpu"))}catch{return!1}}function Ip(s){if(!s||typeof s!="object")return null;const n=s,r=Number(n.input_tokens??n.prompt_tokens??n.prompt??n.input??n.in??0),l=Number(n.output_tokens??n.completion_tokens??n.completion??n.output??n.out??0),a=Number(n.total_tokens??n.total??(Number.isFinite(r)&&Number.isFinite(l)?r+l:0));if(!Number.isFinite(r)&&!Number.isFinite(l)&&!Number.isFinite(a))return null;const d={input_tokens:Number.isFinite(r)?Math.max(0,Math.trunc(r)):0,output_tokens:Number.isFinite(l)?Math.max(0,Math.trunc(l)):0,total_tokens:Number.isFinite(a)?Math.max(0,Math.trunc(a)):0};return d.input_tokens===0&&d.output_tokens===0&&d.total_tokens===0?null:d}function Rm(s){var a,d;const n={duration_ms:0,llm_calls:0,tool_calls:0,usage:{input_tokens:0,output_tokens:0,total_tokens:0}};let r=null,l=null;for(const f of s){const p=f==null?void 0:f.record;if(!p||typeof p!="object")continue;const h=String((p==null?void 0:p.status)||"").trim(),y=$i(String((p==null?void 0:p.started_at)||"")),w=$i(String((p==null?void 0:p.ended_at)||""))??y;w!==null&&((r===null||w<r)&&(r=w),(l===null||w>l)&&(l=w));const N=String(((a=p==null?void 0:p.effect)==null?void 0:a.type)||"").trim();if(N==="llm_call"&&h==="completed"){n.llm_calls+=1;const b=p!=null&&p.result&&typeof p.result=="object"?p.result:null,T=(b?b.usage||b.token_usage||b.tokens:null)||(b&&b.output&&typeof b.output=="object"?b.output.usage||b.output.token_usage||b.output.tokens:null)||null,I=Ip(T);I&&(n.usage.input_tokens+=I.input_tokens,n.usage.output_tokens+=I.output_tokens,n.usage.total_tokens+=I.total_tokens||I.input_tokens+I.output_tokens)}if(N==="tool_calls"&&h==="completed"){const b=(d=p==null?void 0:p.effect)==null?void 0:d.payload,T=b&&typeof b=="object"?b.tool_calls:null;Array.isArray(T)&&(n.tool_calls+=T.length)}}return r!==null&&l!==null&&(n.duration_ms=Math.max(0,l-r)),n}function av(s,n){var p;const r=String(n||"").trim();if(!r)return{completed:0,in_flight:!1,current:0};const l=new Map;for(const h of s){const y=h==null?void 0:h.record;if(!y||typeof y!="object"||String((y==null?void 0:y.run_id)||"").trim()!==r||String(((p=y==null?void 0:y.effect)==null?void 0:p.type)||"").trim()!=="llm_call")continue;const w=String((y==null?void 0:y.step_id)||"").trim();if(!w)continue;const N=String((y==null?void 0:y.status)||"").trim();l.set(w,N)}let a=0,d=!1;for(const h of l.values())h==="completed"?a+=1:(h==="started"||h==="waiting")&&(d=!0);const f=a+(d?1:0);return{completed:a,in_flight:d,current:f}}function mu(s){const n=Number(s);if(!Number.isFinite(n)||n<0)return"—";if(n<1e3)return`${Math.round(n)}ms`;const r=n/1e3;if(r<60)return`${r.toFixed(1)}s`;const l=Math.floor(r/60),a=Math.round(r%60);return`${l}m${a}s`}function Lm(s){const n=Number(s);if(!Number.isFinite(n)||n<=0)return"0k";const r=Math.max(0,Math.trunc(n)),l=r/1e3,a=r>=1e4?0:1;let d=l.toFixed(a);return a>0&&(d=d.replace(/\.0$/,"")),`${d}k`}function $o(s,n){const r=String(s||"");return r.length<=n?r:`${r.slice(0,Math.max(0,n-1))}…`}function Fp(s){return s===null?"null":s===void 0?"undefined":typeof s=="string"?JSON.stringify($o(s,80)):typeof s=="number"||typeof s=="boolean"?String(s):Array.isArray(s)?"[…]":typeof s=="object"?"{…}":JSON.stringify($o(String(s),80))}function cv(s,n,r){const l=String(s).trim()||"tool";if(n==null)return`${l}()`;if(typeof n!="object"||Array.isArray(n))return`${l}(${$o(String(n),120)})`;const a=r&&typeof r=="object"?r.parameters:null,d=a&&typeof a=="object"&&!Array.isArray(a)?Object.keys(a):Object.keys(n);let f=null;for(const p of d){if(!p||!(p in n))continue;const h=n[p];if(h!=null&&!(typeof h=="string"&&!h.trim())&&(typeof h=="string"||typeof h=="number"||typeof h=="boolean")){f=p;break}}if(!f)for(const p of d){if(!p||!(p in n))continue;const h=n[p];if(h!=null){f=p;break}}return f?`${l}(${Fp(n[f])})`:`${l}()`}function uv(s,n){const r=String(s||"").trim()||"tool";if(n==null)return`${r}()`;if(typeof n!="object"||Array.isArray(n))return`${r}(${$o(String(n),120)})`;const l=Object.entries(n).map(([f,p])=>[String(f||"").trim(),p]).filter(([f])=>!!f).sort(([f],[p])=>f.localeCompare(p)),a=[];for(const[f,p]of l){if(a.length>=3)break;a.push(`${f}=${Fp(p)}`)}const d=$o(a.join(", "),160);return d?`${r}(${d})`:`${r}()`}function Om(s){const n=[],r=new Set;for(const l of s){const a=l==null?void 0:l.record,d=a==null?void 0:a.effect;if(!d||typeof d!="object"||String(d.type||"")!=="tool_calls"||String((a==null?void 0:a.status)||"")!=="completed")continue;const f=d!=null&&d.payload&&typeof d.payload=="object"?d.payload.tool_calls:null;if(Array.isArray(f))for(const p of f){if(!p||typeof p!="object")continue;const h=uv(String(p.name||"").trim(),p.arguments);!h||r.has(h)||(r.add(h),n.push(h))}}return n}function Cs(s){const n=String(s||"").trim();return n.startsWith("abstractcode.")?`abstract.${n.slice(13)}`:n}function Pm(s){const n=String(s||"").trim();if(n.startsWith("evt:")){const r=n.split(":",4);if(r.length===4&&r[3])return String(r[3]).trim()}return n}function dv(s){return Cs(s)==="abstract.status"}function fv(s){return Cs(s)==="abstract.message"}function mv(s){return Cs(s)==="abstract.tool_execution"}function pv(s){return Cs(s)==="abstract.tool_result"}function hv(s){return Cs(s)==="abstract.audio.transcript"}function gv(s){return Cs(s)==="abstract.voice.tts"}function _v(s){if(s==null)return null;if(typeof s=="string"){const p=s.trim();return p?{level:"info",text:p}:null}if(typeof s!="object"){const p=String(s).trim();return p?{level:"info",text:p}:null}const n=s,r=String(n.level||"info").trim().toLowerCase(),l=r==="error"?"error":r==="warn"||r==="warning"?"warn":"info",a=String(n.title||"").trim()||void 0,d=n.text??n.message??n.value??"",f=typeof d=="string"?d.trim():String(d??"").trim();return f?{level:l,title:a,text:f}:null}function yv(s){var f,p,h,y;const n=s,r=n==null?void 0:n.effect;if(!r||typeof r!="object"||String(r.type||"")!=="emit_event")return null;const l=String(((f=r==null?void 0:r.payload)==null?void 0:f.name)||((p=r==null?void 0:r.payload)==null?void 0:p.event_name)||"").trim();if(!l)return null;const a=(h=r==null?void 0:r.payload)==null?void 0:h.payload,d=(y=r==null?void 0:r.payload)==null?void 0:y.scope;return{name:l,payload:a,scope:typeof d=="string"?d:void 0}}function wv(s){if(typeof s=="string")return{text:s.trim(),duration_s:-1};if(!s||typeof s!="object")return{text:String(s??"").trim(),duration_s:-1};const n=String((s==null?void 0:s.text)??(s==null?void 0:s.value)??"").trim(),r=(s==null?void 0:s.duration)??(s==null?void 0:s.duration_s),l=Number.isFinite(Number(r))?Number(r):-1;return{text:n,duration_s:l}}function vv(s){var l;const n=s,r=(l=n==null?void 0:n.result)==null?void 0:l.output;if(typeof r=="string"){const a=r.trim();if(a)return{response:a,meta:null}}if(r&&typeof r=="object"){const a=f=>typeof f=="string"?f.trim():f==null?"":typeof f=="number"||typeof f=="boolean"?String(f):"",d=a(r==null?void 0:r.answer)||a(r==null?void 0:r.response)||a(r==null?void 0:r.message)||a(r==null?void 0:r.text)||a(r==null?void 0:r.content);if(d){const f=(r==null?void 0:r.meta)??null;return{response:d,meta:f&&typeof f=="object"?f:null}}}return null}function xv(s){const n=String(s||"").trim();if(!n)return{base:"",version:""};const r=n.indexOf("@");return r<=0?{base:n,version:""}:{base:n.slice(0,r).trim(),version:n.slice(r+1).trim()}}function Ro(s){const n=String(s||"").trim();if(!n)return null;if(n.includes(":")){const[l,a]=n.split(":",2),{base:d,version:f}=xv(l);if(d&&(a!=null&&a.trim()))return{bundle_id:d,bundle_version:f||void 0,flow_id:a.trim(),kind:"bundle"}}const r="visual_react_agent_";if(n.startsWith(r)){const a=n.slice(r.length).split("_");if(a.length>=2){const d=String(a[0]||"").trim(),f=String(a[1]||"").trim();if(d&&f)return{bundle_id:d,flow_id:f,kind:"visual_react"}}}return null}function zm(s,n){const r=Ro(s);return r&&n.find(l=>l.bundle_id===r.bundle_id&&l.flow_id===r.flow_id)||null}async function la(s){const n=await s.list_bundles(),r=Array.isArray(n==null?void 0:n.items)?n.items:[],l=[];for(const a of r){const d=String((a==null?void 0:a.bundle_id)||"").trim(),f=Array.isArray(a==null?void 0:a.entrypoints)?a.entrypoints:[];for(const p of f){const h=String((p==null?void 0:p.flow_id)||"").trim();if(!d||!h)continue;const y=Array.isArray(p==null?void 0:p.interfaces)?p.interfaces.map(N=>String(N||"").trim()).filter(Boolean):[],v=String((p==null?void 0:p.name)||"").trim()||`${d}:${h}`,w=String((p==null?void 0:p.description)||"").trim();y.includes("abstractcode.agent.v1")&&l.push({bundle_id:d,flow_id:h,name:v,description:w,interfaces:y})}}return l.sort((a,d)=>`${a.bundle_id}:${a.flow_id}`.localeCompare(`${d.bundle_id}:${d.flow_id}`)),l}function Sv(){const[s,n]=S.useState(()=>Zw()),r=lv(),l=S.useRef(null),[a,d]=S.useState(()=>Mm()),[f,p]=S.useState(()=>zp()),[h,y]=S.useState(null),v=S.useRef(""),w=f.state,N=f.session_id,b=S.useMemo(()=>new dg({base_url:s.gateway_url,auth_token:s.auth_token}),[s.gateway_url,s.auth_token]);return S.useLayoutEffect(()=>{Cg(s.theme)},[s.theme]),S.useLayoutEffect(()=>{Ag({font_scale:s.font_scale,header_density:s.header_density})},[s.font_scale,s.header_density]),S.useEffect(()=>{qw(s)},[s]),S.useLayoutEffect(()=>{if(!r)return;const T=l.current;T&&(T.token=s.auth_token||""),w_()},[r,s.auth_token,a.name]),S.useEffect(()=>{sv(N,w)},[N,w]),S.useEffect(()=>{const T=()=>d(Mm());return window.addEventListener("hashchange",T),()=>window.removeEventListener("hashchange",T)},[]),S.useEffect(()=>{if(a.name!=="console")return;const T=String((a==null?void 0:a.session_id)||"").trim();T&&T!==f.session_id&&p(nv(T))},[a.name,a==null?void 0:a.session_id]),S.useEffect(()=>{if(a.name!=="console")return;const T=f.session_id,I=`#/session/${encodeURIComponent(T)}`,U=String(window.location.hash||"");if(U!==I&&(U==="#/"||U===""||U==="#"))try{window.history.replaceState(null,"",I)}catch{window.location.hash=I}},[a.name,f.session_id]),c.jsx("div",{className:"app",children:c.jsxs("div",{className:"content",children:[a.name==="console"?c.jsx(Nv,{gateway:b,settings:s,on_settings:n,session_id:N,repl:w,attach_run_id:(h==null?void 0:h.run_id)||null,on_attach_consumed:()=>y(null),on_repl:(T,I)=>p(U=>U.session_id!==T?U:{session_id:T,state:I(U.state)}),on_nav:T=>{Or(T==="console"?{name:"console",session_id:f.session_id}:{name:T})},monitor_gpu_enabled:r,monitor_gpu_ref:l,gateway_url:s.gateway_url}):null,a.name!=="console"?c.jsx("div",{className:"repl",children:c.jsxs("div",{className:"panel repl_frame",children:[c.jsx(Up,{active:a.name,on_nav:T=>{Or(T==="console"?{name:"console",session_id:f.session_id}:{name:T})},monitor_gpu_enabled:r,monitor_gpu_ref:l,gateway_url:s.gateway_url}),c.jsx("div",{className:"repl_panel",children:c.jsxs("div",{className:"repl_inset",children:[a.name==="new"?c.jsx(jv,{gateway:b,repl:w,on_start:T=>{const I=rv(T);v.current=I.session_id,p({session_id:I.session_id,state:I.state})},on_done:()=>{const T=v.current||f.session_id;v.current="",Or({name:"console",session_id:T})}}):null,a.name==="sessions"?c.jsx(kv,{gateway:b,on_open_session:(T,I,U)=>{const P=String(T||"").trim()||String(I||"").trim();P&&(p({session_id:P,state:Dp({template:U},P)}),y({run_id:I,template:U}),Or({name:"console",session_id:P}))}}):null,a.name==="settings"?c.jsx(bv,{gateway:b,settings:s,on_change:n,on_done:()=>Or({name:"console",session_id:f.session_id})}):null]})})]})}):null]})})}function Up(s){const n=[{name:"console",label:"Chat",icon:"chat"},{name:"new",label:"New",icon:"plus"},{name:"sessions",label:"History",icon:"history"},{name:"settings",label:"Settings",icon:"settings"}];return c.jsxs("header",{className:"header header_integrated",children:[c.jsxs("div",{className:"brand","aria-label":"AbstractCode",children:[c.jsx("span",{className:"brand_mark","aria-hidden":"true",children:c.jsxs("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("path",{d:"M7 10 12 17 17 10",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M7 10h10",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"}),c.jsx("circle",{cx:"7",cy:"10",r:"1.55",fill:"currentColor"}),c.jsx("circle",{cx:"17",cy:"10",r:"1.55",fill:"currentColor"}),c.jsx("circle",{cx:"12",cy:"17",r:"1.55",fill:"currentColor"}),c.jsx("path",{d:"M12 4.85 13.05 6.9 15.1 7.95 13.05 9 12 11.05 10.95 9 8.9 7.95 10.95 6.9Z",fill:"currentColor"})]})}),c.jsx("span",{className:"brand_name",children:"AbstractCode"})]}),s.center?s.center:null,c.jsxs("div",{className:"header_right",children:[c.jsx("nav",{className:"nav",role:"navigation","aria-label":"Main navigation",children:n.map(r=>{const l=s.active===r.name;return c.jsxs("button",{className:"btn",onClick:()=>{l||s.on_nav(r.name)},"aria-current":l?"page":void 0,title:r.label,type:"button",children:[c.jsx(jt,{name:r.icon,className:"nav-icon"}),c.jsx("span",{className:"nav-label",children:r.label})]},r.name)})}),s.monitor_gpu_enabled?c.jsx("monitor-gpu",{ref:s.monitor_gpu_ref,mode:"icon","history-size":"5","tick-ms":"2000","base-url":String(s.gateway_url||"").trim(),title:"GPU usage (host)",style:{"--monitor-gpu-width":"34px","--monitor-gpu-bars-height":"28px","--monitor-gpu-padding":"0px 4px","--monitor-gpu-radius":"999px","--monitor-gpu-bg":"rgba(0,0,0,0.18)","--monitor-gpu-border":"rgba(255,255,255,0.16)",flexShrink:0}}):null]})]})}function Yn(s){const n=s.variant,l=`${n==="error"?"error":"warn"}${n==="info"?" info":""}${s.className?` ${s.className}`:""}`,a=n==="error"?"error":n==="warn"?"warning":"info";return c.jsxs("div",{className:l,style:s.style,title:s.title,onClick:s.onClick,role:"status",children:[c.jsx("span",{className:"notice_icon","aria-hidden":"true",children:c.jsx(jt,{name:a,size:14})}),c.jsx("div",{className:"notice_content",children:s.children})]})}function kv(s){const[n,r]=S.useState([]),[l,a]=S.useState([]),[d,f]=S.useState(0),[p,h]=S.useState(!1),[y,v]=S.useState(""),[w,N]=S.useState(""),b=50,T=S.useMemo(()=>{const P=new Map;for(const D of n)P.set(`${D.bundle_id}:${D.flow_id}`,D);return P},[n]),I=S.useMemo(()=>{const P=new Map;for(const D of n)P.has(D.bundle_id)||P.set(D.bundle_id,D);return P},[n]),U=async()=>{h(!0),v("");try{const[P,D]=await Promise.all([la(s.gateway),s.gateway.list_runs({limit:300,root_only:!0,include_ledger_len:!1,include_metrics:!0})]),$=Array.isArray(D==null?void 0:D.items)?D.items:[];r(P),f(0);const O=new Set(P.map(L=>L.bundle_id)),z=$.map(L=>({run_id:String((L==null?void 0:L.run_id)||"").trim(),workflow_id:typeof(L==null?void 0:L.workflow_id)=="string"?L.workflow_id:(L==null?void 0:L.workflow_id)??null,status:typeof(L==null?void 0:L.status)=="string"?L.status:(L==null?void 0:L.status)??null,created_at:typeof(L==null?void 0:L.created_at)=="string"?L.created_at:(L==null?void 0:L.created_at)??null,updated_at:typeof(L==null?void 0:L.updated_at)=="string"?L.updated_at:(L==null?void 0:L.updated_at)??null,session_id:typeof(L==null?void 0:L.session_id)=="string"?L.session_id:(L==null?void 0:L.session_id)??null,parent_run_id:typeof(L==null?void 0:L.parent_run_id)=="string"?L.parent_run_id:(L==null?void 0:L.parent_run_id)??null,ledger_len:typeof(L==null?void 0:L.ledger_len)=="number"?L.ledger_len:(L==null?void 0:L.ledger_len)??null,steps:typeof(L==null?void 0:L.steps)=="number"?L.steps:(L==null?void 0:L.steps)??null,llm_calls:typeof(L==null?void 0:L.llm_calls)=="number"?L.llm_calls:(L==null?void 0:L.llm_calls)??null,tool_calls:typeof(L==null?void 0:L.tool_calls)=="number"?L.tool_calls:(L==null?void 0:L.tool_calls)??null,tokens_total:typeof(L==null?void 0:L.tokens_total)=="number"?L.tokens_total:(L==null?void 0:L.tokens_total)??null,limits:(L==null?void 0:L.limits)??null})).filter(L=>{if(!L.run_id)return!1;const xe=String(L.workflow_id||"").trim(),W=Ro(xe);return!(!W||W.kind==="visual_react"||!O.has(W.bundle_id)||String(L.parent_run_id||"").trim())}),V=new Map;for(const L of z){const xe=String(L.session_id||L.run_id).trim();if(!xe)continue;const W=V.get(xe);if(!W){V.set(xe,L);continue}const se=$i(String(L.updated_at||L.created_at||""))??0,J=$i(String(W.updated_at||W.created_at||""))??0;se>=J&&V.set(xe,L)}const re=Array.from(V.values());re.sort((L,xe)=>{const W=$i(String(L.updated_at||L.created_at||""))??0;return($i(String(xe.updated_at||xe.created_at||""))??0)-W}),a(re)}catch(P){a([]),r([]),v(String((P==null?void 0:P.message)||P||"Failed to load runs"))}finally{h(!1)}};return S.useEffect(()=>{U()},[s.gateway]),c.jsxs("div",{className:"sessions_page",children:[c.jsx("h2",{children:"Sessions"}),c.jsx("div",{className:"muted",children:"Sessions retrieved from the Gateway (durable runtime source of truth)."}),c.jsxs("div",{style:{display:"flex",gap:10,marginTop:12,alignItems:"center",flexWrap:"wrap"},children:[c.jsx("button",{className:"btn",type:"button",onClick:()=>void U(),disabled:p,children:p?"Loading…":"Refresh"}),c.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flex:1,minWidth:260},children:[c.jsx("input",{className:"input mono",placeholder:"attach run_id…",value:w,onChange:P=>N(P.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"}),c.jsx("button",{className:"btn",type:"button",onClick:()=>void(async()=>{const P=String(w||"").trim();if(!P)return;let D=P;try{const $=await s.gateway.get_run(P),O=String(($==null?void 0:$.session_id)||"").trim();O&&(D=O)}catch{}s.on_open_session(D,P,null)})(),disabled:!String(w||"").trim(),children:"Open"})]})]}),y?c.jsx(Yn,{variant:"error",style:{marginTop:12},children:y}):null,!y&&l.length?c.jsxs("div",{style:{display:"flex",gap:10,alignItems:"center",marginTop:12,flexWrap:"wrap"},children:[c.jsxs("span",{className:"muted mono",children:["showing ",Math.min(l.length,d*b+1),"-",Math.min(l.length,(d+1)*b)," of ",l.length]}),c.jsx("button",{className:"btn mini",type:"button",onClick:()=>f(P=>Math.max(0,P-1)),disabled:d<=0,children:"Prev"}),c.jsx("button",{className:"btn mini",type:"button",onClick:()=>f(P=>(P+1)*b<l.length?P+1:P),disabled:(d+1)*b>=l.length,children:"Next"})]}):null,!p&&!y&&!l.length?c.jsxs("div",{className:"sessions_empty",children:[c.jsx("span",{className:"sessions_empty_icon",children:"◇"}),c.jsx("div",{children:"No sessions yet"}),c.jsx("div",{className:"muted",children:"Start a new chat to create your first session"})]}):null,c.jsx("div",{className:"sessions_grid",children:l.slice(d*b,d*b+b).map(P=>{var le,ge;const D=String(P.workflow_id||"").trim(),$=Ro(D),O=$?`${$.bundle_id}:${$.flow_id}`:"",z=O?T.get(O):void 0,V=!z&&($!=null&&$.bundle_id)?I.get($.bundle_id):void 0,re=(z==null?void 0:z.name)||(V==null?void 0:V.name)||($==null?void 0:$.bundle_id)||"Agent",L=String(P.updated_at||P.created_at||"").trim(),xe=String(P.status||"").toLowerCase().trim(),W=$?{bundle_id:$.bundle_id,flow_id:$.flow_id,name:(z==null?void 0:z.name)||(V==null?void 0:V.name)}:null,se=String(P.session_id||P.run_id).trim();L&&Dm(new Date(L));const pe={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"}}[xe]||{label:xe||"Unknown",cls:"muted"},Ce=P.created_at?new Date(P.created_at):null,Q=P.updated_at?new Date(P.updated_at):null,ke=Ce?Ce.toLocaleDateString(void 0,{month:"short",day:"numeric",year:Ce.getFullYear()!==new Date().getFullYear()?"numeric":void 0}):"—",Se=Q?Dm(Q):"—",te=(P==null?void 0:P.tokens_total)??((ge=(le=P==null?void 0:P.limits)==null?void 0:le.tokens)==null?void 0:ge.estimated_used),we=Number.isFinite(Number(te))?Math.max(0,Math.trunc(Number(te))):null,he=Number.isFinite(Number(P.llm_calls))?Math.max(0,Math.trunc(Number(P.llm_calls))):null,k=Number.isFinite(Number(P.tool_calls))?Math.max(0,Math.trunc(Number(P.tool_calls))):null,B=Number.isFinite(Number(P.ledger_len))?Math.max(0,Math.trunc(Number(P.ledger_len))):Number.isFinite(Number(P.steps))?Math.max(0,Math.trunc(Number(P.steps))):0;return c.jsxs("button",{className:"session_card",onClick:()=>s.on_open_session(se||P.run_id,P.run_id,W),type:"button",children:[c.jsxs("div",{className:"session_card_header",children:[c.jsx("span",{className:"session_card_agent",children:re}),c.jsx("span",{className:`session_card_status ${pe.cls}`,children:pe.label})]}),c.jsxs("div",{className:"session_card_stats",children:[c.jsxs("span",{className:"stat_item",title:"Steps (best-effort)",children:[c.jsx("span",{className:"stat_icon",children:"≡"}),B]}),we!==null?c.jsxs("span",{className:"stat_item",title:"Context tokens (estimated)",children:[c.jsx("span",{className:"stat_icon",children:"◈"}),we]}):null,he!==null?c.jsxs("span",{className:"stat_item",title:"LLM calls",children:[c.jsx("span",{className:"stat_icon",children:"◉"}),he]}):null,k!==null?c.jsxs("span",{className:"stat_item",title:"Tool calls",children:[c.jsx("span",{className:"stat_icon",children:"⚙"}),k]}):null,c.jsx("span",{className:"session_card_sep",children:"•"}),c.jsxs("span",{title:"Created date",children:["created ",ke]}),c.jsx("span",{className:"session_card_sep",children:"•"}),c.jsxs("span",{title:"Last activity",children:["updated ",Se]})]})]},se||P.run_id)})})]})}function Dm(s){const n=Date.now(),r=s.getTime(),l=n-r,a=Math.floor(l/1e3),d=Math.floor(a/60),f=Math.floor(d/60),p=Math.floor(f/24);return a<60?"Just now":d<60?`${d}m ago`:f<24?`${f}h ago`:p<7?`${p}d ago`:s.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function bv(s){const n=s.settings,r=S.useRef(n);S.useEffect(()=>{r.current=s.settings},[s.settings]);const l=Xw(),[a,d]=S.useState(!1),[f,p]=S.useState(!1),[h,y]=S.useState(""),[v,w]=S.useState(null),[N,b]=S.useState(""),[T,I]=S.useState({provider:"",model:""}),[U,P]=S.useState([]),[D,$]=S.useState([]),[O,z]=S.useState([]),[V,re]=S.useState(!1),[L,xe]=S.useState(!1),[W,se]=S.useState(!1),[J,pe]=S.useState(""),[Ce,Q]=S.useState(""),[ke,Se]=S.useState("");S.useEffect(()=>{n.gateway_was_connected&&n.gateway_url&&!a&&!f&&te()},[]),S.useEffect(()=>{d(!1),p(!1),y(""),w(null),b(""),I({provider:"",model:""}),P([]),$([]),z([]),re(!1),xe(!1),se(!1),pe(""),Q(""),Se("")},[s.gateway]);async function te(){var ee,G,_e,Re;p(!0),y(""),w(null),b(""),re(!0),se(!0),pe(""),Se("");try{const He=String(n.gateway_url||"").trim();if(He){const Nt=He.toLowerCase();if(!Nt.startsWith("http://")&&!Nt.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(((ee=window==null?void 0:window.location)==null?void 0:ee.protocol)||"")==="https:"&&Nt.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 Yt=new URL(He),pn=String(((G=window==null?void 0:window.location)==null?void 0:G.hostname)||"").trim().toLowerCase(),hn=String(Yt.hostname||"").trim().toLowerCase(),Jt=Mt=>Mt==="localhost"||Mt==="127.0.0.1"||Mt==="::1";if(Jt(hn)&&pn&&!Jt(pn))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(mn){throw new Error(String((mn==null?void 0:mn.message)||mn||"Invalid Gateway URL"))}}const[Ge,Je,st]=await Promise.all([s.gateway.discovery_providers(),s.gateway.discovery_tools(),s.gateway.workspace_policy().catch(Nt=>({ok:!1,error:String((Nt==null?void 0:Nt.message)||Nt||"Failed to load workspace policy")}))]),kt=Array.isArray(Ge==null?void 0:Ge.items)?Ge.items:[],Qt=Array.isArray(Je==null?void 0:Je.items)?Je.items:[],Ft=String((Ge==null?void 0:Ge.default_provider)||((_e=Ge==null?void 0:Ge.defaults)==null?void 0:_e.provider)||"").trim(),Kt=String((Ge==null?void 0:Ge.default_model)||((Re=Ge==null?void 0:Ge.defaults)==null?void 0:Re.model)||"").trim();I({provider:Ft,model:Kt});const Ut=r.current,{next:fn,changed:Lt}=Pw({current:Ut,discovered_providers:kt,default_provider:Ft});Lt&&s.on_change(fn),P(kt),z(Qt),st&&typeof st=="object"&&(st.ok&&st.policy?w(st.policy):st.error&&b(String(st.error))),d(!0)}catch(He){y(String((He==null?void 0:He.message)||He||"Failed to connect to gateway")),d(!1),w(null),b(""),P([]),z([])}finally{p(!1),re(!1),se(!1)}}function we(){d(!1),y(""),w(null),b(""),P([]),$([]),z([]),pe(""),Q(""),Se(""),s.on_change({...r.current,gateway_was_connected:!1})}S.useEffect(()=>{let ee=!1;const G=String(n.provider||"").trim();if(!a){$([]);return}if(!G){$([]);return}return(async()=>{xe(!0),Q("");try{const Re=await s.gateway.discovery_provider_models(G);if(ee)return;Array.isArray(Re==null?void 0:Re.models)?$(Re.models.map(He=>String(He||"").trim()).filter(Boolean)):($([]),Re!=null&&Re.error&&Q(String(Re.error)))}catch(Re){if(ee)return;Q(String((Re==null?void 0:Re.message)||Re||"Failed to load models")),$([])}finally{ee||xe(!1)}})(),()=>{ee=!0}},[a,s.gateway,n.provider]),S.useEffect(()=>{if(!D.length)return;const ee=String(r.current.model||"").trim(),G=String(r.current.provider||"").trim(),_e=G&&T.provider&&G===T.provider?String(T.model||"").trim():"",Re=_e&&D.includes(_e)?_e:D[0];(!ee||!D.includes(ee))&&s.on_change({...r.current,model:Re})},[D,T.provider,T.model]),S.useEffect(()=>{if(!O.length||n.tools_initialized)return;const ee=O.map(G=>String((G==null?void 0:G.name)||"").trim()).filter(Boolean);ee.length&&s.on_change({...r.current,tools:ee,tools_initialized:!0})},[O]);const he=S.useMemo(()=>{const ee=U.map(G=>({name:String((G==null?void 0:G.name)||"").trim(),display_name:String((G==null?void 0:G.display_name)||(G==null?void 0:G.displayName)||"").trim()||void 0})).filter(G=>!!G.name);return ee.sort((G,_e)=>G.name.localeCompare(_e.name)),ee},[U]),k=S.useMemo(()=>{const ee=O.map(G=>String((G==null?void 0:G.name)||"").trim()).filter(Boolean);return ee.sort((G,_e)=>G.localeCompare(_e)),ee},[O]),B=S.useMemo(()=>{const ee=new Set;for(const G of(n.tools||[]).map(_e=>String(_e||"").trim()).filter(Boolean))ee.add(G);return ee},[n.tools]),le=S.useMemo(()=>{if(!k.length)return!1;for(const ee of k)if(!B.has(ee))return!1;return B.size===k.length},[k,B]),[ge,ve]=S.useState(!1);return S.useEffect(()=>{a&&k.length&&(le||ve(!0))},[a,k.length,le]),c.jsx("div",{className:"settings_page",children:c.jsxs("div",{className:"settings_grid",children:[c.jsxs("div",{className:"panel settings_card settings_card_appearance",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Appearance"})}),c.jsx("div",{className:"muted",children:"Shared AbstractUIC theme + typography (saved locally)."}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Theme"}),c.jsx(Pg,{value:n.theme,onChange:ee=>s.on_change({...n,theme:ee})})]}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Font size"}),c.jsx(zg,{value:n.font_scale,onChange:ee=>s.on_change({...n,font_scale:ee})})]}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Header size"}),c.jsx(Dg,{value:n.header_density,onChange:ee=>s.on_change({...n,header_density:ee})})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_gateway",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Gateway"})}),c.jsxs("div",{className:"settings_card_header",style:{marginTop:6},children:[c.jsx("div",{className:"muted",children:"Connect once to discover providers/models/tools. Settings are saved locally."}),c.jsx("span",{className:`chip ${a?"ok":f?"info":"muted"}`,children:f?"connecting":a?"connected":"disconnected"})]}),l!=="localStorage"?c.jsx(Yn,{variant:"warn",className:"inline",style:{marginTop:10},children:l==="sessionStorage"?"Browser storage is limited (sessionStorage). Settings persist for this tab but may reset when the tab closes.":"Browser storage is blocked (memory-only). Settings will reset on refresh; check privacy/storage settings."}):null,c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Gateway URL (blank = same origin / dev proxy)"}),c.jsxs("div",{className:"row",style:{marginTop:0},children:[c.jsx("input",{style:{flex:1,minWidth:0},value:n.gateway_url,onChange:ee=>s.on_change({...n,gateway_url:ee.target.value}),placeholder:"http://127.0.0.1:8081"}),c.jsx("button",{className:"btn",type:"button",onClick:a?we:()=>void te(),disabled:f,children:f?"Connecting…":a?"Disconnect":"Connect"})]}),h?c.jsx(Yn,{variant:"error",className:"inline",children:h}):null]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Auth token"}),c.jsx("input",{type:"password",value:n.auth_token,onChange:ee=>s.on_change({...n,auth_token:ee.target.value}),placeholder:"Bearer token (optional)"})]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Client id"}),c.jsx("input",{value:n.client_id,onChange:ee=>s.on_change({...n,client_id:ee.target.value}),placeholder:"abstractcode_web"})]}),c.jsx("div",{className:"settings_section_divider"}),c.jsxs("div",{className:"settings_section_header",children:[c.jsx("h3",{children:"Workspace"}),c.jsx("span",{className:"muted mono",children:"files/tools"})]}),c.jsx("div",{className:"muted",children:"Controls what the agent can access via filesystem tools and what appears in @file search."}),v?c.jsxs("div",{className:"muted mono",style:{marginTop:6},children:["server: overrides=",v.client_workspace_scope_overrides?"on":"off",Array.isArray(v.mounts)&&v.mounts.length?`; mounts=${v.mounts.map(ee=>String((ee==null?void 0:ee.name)||"").trim()).filter(Boolean).join(", ")}`:""]}):N?c.jsxs("div",{className:"muted",style:{marginTop:6},children:["server: workspace policy unavailable (",N,")"]}):null,c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_root"}),c.jsx("span",{className:"field_hint",children:"Empty = gateway default (typically an isolated per-run workspace)"})]}),c.jsx("input",{className:"mono",value:String(n.workspace_root||""),onChange:ee=>s.on_change({...n,workspace_root:ee.target.value}),placeholder:"/Users/albou/abstractframework"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_access_mode"}),c.jsx("span",{className:"field_hint",children:"Controls absolute path access"})]}),(()=>{const ee=Array.isArray(v==null?void 0:v.allowed_access_modes)?v.allowed_access_modes.map(_e=>String(_e||"").trim()).filter(Boolean):null,G=!ee||ee.includes("all_except_ignored");return c.jsxs("select",{className:"mono",value:String(n.workspace_access_mode||"workspace_only"),onChange:_e=>s.on_change({...n,workspace_access_mode:_e.target.value}),children:[c.jsx("option",{value:"workspace_only",children:"workspace_only"}),c.jsx("option",{value:"workspace_or_allowed",children:"workspace_or_allowed"}),c.jsxs("option",{value:"all_except_ignored",disabled:!G,children:["all_except_ignored",G?"":" (disabled by gateway)"]})]})})(),c.jsx("div",{className:"field_hint",children:"workspace_only: absolute paths must stay under workspace_root. workspace_or_allowed: allow additional roots from workspace_allowed_paths."})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_allowed_paths"}),c.jsx("span",{className:"field_hint",children:"Newline-separated directories (absolute or relative to workspace_root)"})]}),c.jsx("textarea",{className:"mono",rows:3,value:String(n.workspace_allowed_paths||""),onChange:ee=>s.on_change({...n,workspace_allowed_paths:ee.target.value}),placeholder:`/Users/albou/projects/mnemosyne
|
|
138
|
-
/
|
|
137
|
+
… (truncated, ${r.length.toLocaleString()} chars total)`,a=Math.max(0,n-l.length);return a<200?r.slice(0,n):`${r.slice(0,a).trimEnd()}${l}`}function $i(s){const n=String(s||"").trim();if(!n)return null;const r=Date.parse(n);return Number.isFinite(r)?r:null}function iv(s,n,r){const l=typeof s=="string"?s:String(s??""),a=Number.isFinite(Number(n))?Math.max(0,Math.min(l.length,Math.trunc(n))):l.length,d=String(r).trim();if(!d)return null;const p=l.slice(0,a).lastIndexOf(d);if(p<0||p>0&&!/\s/.test(l[p-1]||""))return null;const h=l.slice(p+d.length,a);return/\s/.test(h)?null:{start:p,end:a,query:h}}function ov(s){const n=String(s||"").trim();if(!n)return{target:"server",query:""};const r=n.toLowerCase();return r==="client"?{target:"client",query:""}:r.startsWith("client:")?{target:"client",query:n.slice(7)}:r==="server"?{target:"server",query:""}:r.startsWith("server:")?{target:"server",query:n.slice(7)}:{target:"server",query:n}}function ht(){return new Date().toISOString()}function $m(s){const n=String(s??"").trim().toLowerCase();return n==="1"||n==="true"||n==="yes"||n==="on"}function lv(){var s;if(typeof window>"u")return!1;if(((s=window.__ABSTRACT_UI_CONFIG__)==null?void 0:s.monitor_gpu)===!0||$m(tu==null?void 0:tu.VITE_MONITOR_GPU))return!0;try{const n=new URLSearchParams(window.location.search);return $m(n.get("monitor-gpu"))}catch{return!1}}function Ip(s){if(!s||typeof s!="object")return null;const n=s,r=Number(n.input_tokens??n.prompt_tokens??n.prompt??n.input??n.in??0),l=Number(n.output_tokens??n.completion_tokens??n.completion??n.output??n.out??0),a=Number(n.total_tokens??n.total??(Number.isFinite(r)&&Number.isFinite(l)?r+l:0));if(!Number.isFinite(r)&&!Number.isFinite(l)&&!Number.isFinite(a))return null;const d={input_tokens:Number.isFinite(r)?Math.max(0,Math.trunc(r)):0,output_tokens:Number.isFinite(l)?Math.max(0,Math.trunc(l)):0,total_tokens:Number.isFinite(a)?Math.max(0,Math.trunc(a)):0};return d.input_tokens===0&&d.output_tokens===0&&d.total_tokens===0?null:d}function Rm(s){var a,d;const n={duration_ms:0,llm_calls:0,tool_calls:0,usage:{input_tokens:0,output_tokens:0,total_tokens:0}};let r=null,l=null;for(const f of s){const p=f==null?void 0:f.record;if(!p||typeof p!="object")continue;const h=String((p==null?void 0:p.status)||"").trim(),y=$i(String((p==null?void 0:p.started_at)||"")),w=$i(String((p==null?void 0:p.ended_at)||""))??y;w!==null&&((r===null||w<r)&&(r=w),(l===null||w>l)&&(l=w));const N=String(((a=p==null?void 0:p.effect)==null?void 0:a.type)||"").trim();if(N==="llm_call"&&h==="completed"){n.llm_calls+=1;const b=p!=null&&p.result&&typeof p.result=="object"?p.result:null,T=(b?b.usage||b.token_usage||b.tokens:null)||(b&&b.output&&typeof b.output=="object"?b.output.usage||b.output.token_usage||b.output.tokens:null)||null,I=Ip(T);I&&(n.usage.input_tokens+=I.input_tokens,n.usage.output_tokens+=I.output_tokens,n.usage.total_tokens+=I.total_tokens||I.input_tokens+I.output_tokens)}if(N==="tool_calls"&&h==="completed"){const b=(d=p==null?void 0:p.effect)==null?void 0:d.payload,T=b&&typeof b=="object"?b.tool_calls:null;Array.isArray(T)&&(n.tool_calls+=T.length)}}return r!==null&&l!==null&&(n.duration_ms=Math.max(0,l-r)),n}function av(s,n){var p;const r=String(n||"").trim();if(!r)return{completed:0,in_flight:!1,current:0};const l=new Map;for(const h of s){const y=h==null?void 0:h.record;if(!y||typeof y!="object"||String((y==null?void 0:y.run_id)||"").trim()!==r||String(((p=y==null?void 0:y.effect)==null?void 0:p.type)||"").trim()!=="llm_call")continue;const w=String((y==null?void 0:y.step_id)||"").trim();if(!w)continue;const N=String((y==null?void 0:y.status)||"").trim();l.set(w,N)}let a=0,d=!1;for(const h of l.values())h==="completed"?a+=1:(h==="started"||h==="waiting")&&(d=!0);const f=a+(d?1:0);return{completed:a,in_flight:d,current:f}}function mu(s){const n=Number(s);if(!Number.isFinite(n)||n<0)return"—";if(n<1e3)return`${Math.round(n)}ms`;const r=n/1e3;if(r<60)return`${r.toFixed(1)}s`;const l=Math.floor(r/60),a=Math.round(r%60);return`${l}m${a}s`}function Lm(s){const n=Number(s);if(!Number.isFinite(n)||n<=0)return"0k";const r=Math.max(0,Math.trunc(n)),l=r/1e3,a=r>=1e4?0:1;let d=l.toFixed(a);return a>0&&(d=d.replace(/\.0$/,"")),`${d}k`}function $o(s,n){const r=String(s||"");return r.length<=n?r:`${r.slice(0,Math.max(0,n-1))}…`}function Fp(s){return s===null?"null":s===void 0?"undefined":typeof s=="string"?JSON.stringify($o(s,80)):typeof s=="number"||typeof s=="boolean"?String(s):Array.isArray(s)?"[…]":typeof s=="object"?"{…}":JSON.stringify($o(String(s),80))}function cv(s,n,r){const l=String(s).trim()||"tool";if(n==null)return`${l}()`;if(typeof n!="object"||Array.isArray(n))return`${l}(${$o(String(n),120)})`;const a=r&&typeof r=="object"?r.parameters:null,d=a&&typeof a=="object"&&!Array.isArray(a)?Object.keys(a):Object.keys(n);let f=null;for(const p of d){if(!p||!(p in n))continue;const h=n[p];if(h!=null&&!(typeof h=="string"&&!h.trim())&&(typeof h=="string"||typeof h=="number"||typeof h=="boolean")){f=p;break}}if(!f)for(const p of d){if(!p||!(p in n))continue;const h=n[p];if(h!=null){f=p;break}}return f?`${l}(${Fp(n[f])})`:`${l}()`}function uv(s,n){const r=String(s||"").trim()||"tool";if(n==null)return`${r}()`;if(typeof n!="object"||Array.isArray(n))return`${r}(${$o(String(n),120)})`;const l=Object.entries(n).map(([f,p])=>[String(f||"").trim(),p]).filter(([f])=>!!f).sort(([f],[p])=>f.localeCompare(p)),a=[];for(const[f,p]of l){if(a.length>=3)break;a.push(`${f}=${Fp(p)}`)}const d=$o(a.join(", "),160);return d?`${r}(${d})`:`${r}()`}function Om(s){const n=[],r=new Set;for(const l of s){const a=l==null?void 0:l.record,d=a==null?void 0:a.effect;if(!d||typeof d!="object"||String(d.type||"")!=="tool_calls"||String((a==null?void 0:a.status)||"")!=="completed")continue;const f=d!=null&&d.payload&&typeof d.payload=="object"?d.payload.tool_calls:null;if(Array.isArray(f))for(const p of f){if(!p||typeof p!="object")continue;const h=uv(String(p.name||"").trim(),p.arguments);!h||r.has(h)||(r.add(h),n.push(h))}}return n}function Cs(s){const n=String(s||"").trim();return n.startsWith("abstractcode.")?`abstract.${n.slice(13)}`:n}function Pm(s){const n=String(s||"").trim();if(n.startsWith("evt:")){const r=n.split(":",4);if(r.length===4&&r[3])return String(r[3]).trim()}return n}function dv(s){return Cs(s)==="abstract.status"}function fv(s){return Cs(s)==="abstract.message"}function mv(s){return Cs(s)==="abstract.tool_execution"}function pv(s){return Cs(s)==="abstract.tool_result"}function hv(s){return Cs(s)==="abstract.audio.transcript"}function gv(s){return Cs(s)==="abstract.voice.tts"}function _v(s){if(s==null)return null;if(typeof s=="string"){const p=s.trim();return p?{level:"info",text:p}:null}if(typeof s!="object"){const p=String(s).trim();return p?{level:"info",text:p}:null}const n=s,r=String(n.level||"info").trim().toLowerCase(),l=r==="error"?"error":r==="warn"||r==="warning"?"warn":"info",a=String(n.title||"").trim()||void 0,d=n.text??n.message??n.value??"",f=typeof d=="string"?d.trim():String(d??"").trim();return f?{level:l,title:a,text:f}:null}function yv(s){var f,p,h,y;const n=s,r=n==null?void 0:n.effect;if(!r||typeof r!="object"||String(r.type||"")!=="emit_event")return null;const l=String(((f=r==null?void 0:r.payload)==null?void 0:f.name)||((p=r==null?void 0:r.payload)==null?void 0:p.event_name)||"").trim();if(!l)return null;const a=(h=r==null?void 0:r.payload)==null?void 0:h.payload,d=(y=r==null?void 0:r.payload)==null?void 0:y.scope;return{name:l,payload:a,scope:typeof d=="string"?d:void 0}}function wv(s){if(typeof s=="string")return{text:s.trim(),duration_s:-1};if(!s||typeof s!="object")return{text:String(s??"").trim(),duration_s:-1};const n=String((s==null?void 0:s.text)??(s==null?void 0:s.value)??"").trim(),r=(s==null?void 0:s.duration)??(s==null?void 0:s.duration_s),l=Number.isFinite(Number(r))?Number(r):-1;return{text:n,duration_s:l}}function vv(s){var l;const n=s,r=(l=n==null?void 0:n.result)==null?void 0:l.output;if(typeof r=="string"){const a=r.trim();if(a)return{response:a,meta:null}}if(r&&typeof r=="object"){const a=f=>typeof f=="string"?f.trim():f==null?"":typeof f=="number"||typeof f=="boolean"?String(f):"",d=a(r==null?void 0:r.answer)||a(r==null?void 0:r.response)||a(r==null?void 0:r.message)||a(r==null?void 0:r.text)||a(r==null?void 0:r.content);if(d){const f=(r==null?void 0:r.meta)??null;return{response:d,meta:f&&typeof f=="object"?f:null}}}return null}function xv(s){const n=String(s||"").trim();if(!n)return{base:"",version:""};const r=n.indexOf("@");return r<=0?{base:n,version:""}:{base:n.slice(0,r).trim(),version:n.slice(r+1).trim()}}function Ro(s){const n=String(s||"").trim();if(!n)return null;if(n.includes(":")){const[l,a]=n.split(":",2),{base:d,version:f}=xv(l);if(d&&(a!=null&&a.trim()))return{bundle_id:d,bundle_version:f||void 0,flow_id:a.trim(),kind:"bundle"}}const r="visual_react_agent_";if(n.startsWith(r)){const a=n.slice(r.length).split("_");if(a.length>=2){const d=String(a[0]||"").trim(),f=String(a[1]||"").trim();if(d&&f)return{bundle_id:d,flow_id:f,kind:"visual_react"}}}return null}function zm(s,n){const r=Ro(s);return r&&n.find(l=>l.bundle_id===r.bundle_id&&l.flow_id===r.flow_id)||null}async function la(s){const n=await s.list_bundles(),r=Array.isArray(n==null?void 0:n.items)?n.items:[],l=[];for(const a of r){const d=String((a==null?void 0:a.bundle_id)||"").trim(),f=Array.isArray(a==null?void 0:a.entrypoints)?a.entrypoints:[];for(const p of f){const h=String((p==null?void 0:p.flow_id)||"").trim();if(!d||!h)continue;const y=Array.isArray(p==null?void 0:p.interfaces)?p.interfaces.map(N=>String(N||"").trim()).filter(Boolean):[],v=String((p==null?void 0:p.name)||"").trim()||`${d}:${h}`,w=String((p==null?void 0:p.description)||"").trim();y.includes("abstractcode.agent.v1")&&l.push({bundle_id:d,flow_id:h,name:v,description:w,interfaces:y})}}return l.sort((a,d)=>`${a.bundle_id}:${a.flow_id}`.localeCompare(`${d.bundle_id}:${d.flow_id}`)),l}function Sv(){const[s,n]=S.useState(()=>Zw()),r=lv(),l=S.useRef(null),[a,d]=S.useState(()=>Mm()),[f,p]=S.useState(()=>zp()),[h,y]=S.useState(null),v=S.useRef(""),w=f.state,N=f.session_id,b=S.useMemo(()=>new dg({base_url:s.gateway_url,auth_token:s.auth_token}),[s.gateway_url,s.auth_token]);return S.useLayoutEffect(()=>{Cg(s.theme)},[s.theme]),S.useLayoutEffect(()=>{Ag({font_scale:s.font_scale,header_density:s.header_density})},[s.font_scale,s.header_density]),S.useEffect(()=>{qw(s)},[s]),S.useLayoutEffect(()=>{if(!r)return;const T=l.current;T&&(T.token=s.auth_token||""),w_()},[r,s.auth_token,a.name]),S.useEffect(()=>{sv(N,w)},[N,w]),S.useEffect(()=>{const T=()=>d(Mm());return window.addEventListener("hashchange",T),()=>window.removeEventListener("hashchange",T)},[]),S.useEffect(()=>{if(a.name!=="console")return;const T=String((a==null?void 0:a.session_id)||"").trim();T&&T!==f.session_id&&p(nv(T))},[a.name,a==null?void 0:a.session_id]),S.useEffect(()=>{if(a.name!=="console")return;const T=f.session_id,I=`#/session/${encodeURIComponent(T)}`,U=String(window.location.hash||"");if(U!==I&&(U==="#/"||U===""||U==="#"))try{window.history.replaceState(null,"",I)}catch{window.location.hash=I}},[a.name,f.session_id]),c.jsx("div",{className:"app",children:c.jsxs("div",{className:"content",children:[a.name==="console"?c.jsx(Nv,{gateway:b,settings:s,on_settings:n,session_id:N,repl:w,attach_run_id:(h==null?void 0:h.run_id)||null,on_attach_consumed:()=>y(null),on_repl:(T,I)=>p(U=>U.session_id!==T?U:{session_id:T,state:I(U.state)}),on_nav:T=>{Or(T==="console"?{name:"console",session_id:f.session_id}:{name:T})},monitor_gpu_enabled:r,monitor_gpu_ref:l,gateway_url:s.gateway_url}):null,a.name!=="console"?c.jsx("div",{className:"repl",children:c.jsxs("div",{className:"panel repl_frame",children:[c.jsx(Up,{active:a.name,on_nav:T=>{Or(T==="console"?{name:"console",session_id:f.session_id}:{name:T})},monitor_gpu_enabled:r,monitor_gpu_ref:l,gateway_url:s.gateway_url}),c.jsx("div",{className:"repl_panel",children:c.jsxs("div",{className:"repl_inset",children:[a.name==="new"?c.jsx(jv,{gateway:b,repl:w,on_start:T=>{const I=rv(T);v.current=I.session_id,p({session_id:I.session_id,state:I.state})},on_done:()=>{const T=v.current||f.session_id;v.current="",Or({name:"console",session_id:T})}}):null,a.name==="sessions"?c.jsx(kv,{gateway:b,on_open_session:(T,I,U)=>{const z=String(T||"").trim()||String(I||"").trim();z&&(p({session_id:z,state:Dp({template:U},z)}),y({run_id:I,template:U}),Or({name:"console",session_id:z}))}}):null,a.name==="settings"?c.jsx(bv,{gateway:b,settings:s,on_change:n,on_done:()=>Or({name:"console",session_id:f.session_id})}):null]})})]})}):null]})})}function Up(s){const n=[{name:"console",label:"Chat",icon:"chat"},{name:"new",label:"New",icon:"plus"},{name:"sessions",label:"History",icon:"history"},{name:"settings",label:"Settings",icon:"settings"}];return c.jsxs("header",{className:"header header_integrated",children:[c.jsxs("div",{className:"brand","aria-label":"AbstractCode",children:[c.jsx("span",{className:"brand_mark","aria-hidden":"true",children:c.jsxs("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("path",{d:"M7 10 12 17 17 10",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M7 10h10",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"}),c.jsx("circle",{cx:"7",cy:"10",r:"1.55",fill:"currentColor"}),c.jsx("circle",{cx:"17",cy:"10",r:"1.55",fill:"currentColor"}),c.jsx("circle",{cx:"12",cy:"17",r:"1.55",fill:"currentColor"}),c.jsx("path",{d:"M12 4.85 13.05 6.9 15.1 7.95 13.05 9 12 11.05 10.95 9 8.9 7.95 10.95 6.9Z",fill:"currentColor"})]})}),c.jsx("span",{className:"brand_name",children:"AbstractCode"})]}),s.center?s.center:null,c.jsxs("div",{className:"header_right",children:[c.jsx("nav",{className:"nav",role:"navigation","aria-label":"Main navigation",children:n.map(r=>{const l=s.active===r.name;return c.jsxs("button",{className:"btn",onClick:()=>{l||s.on_nav(r.name)},"aria-current":l?"page":void 0,title:r.label,type:"button",children:[c.jsx(jt,{name:r.icon,className:"nav-icon"}),c.jsx("span",{className:"nav-label",children:r.label})]},r.name)})}),s.monitor_gpu_enabled?c.jsx("monitor-gpu",{ref:s.monitor_gpu_ref,mode:"icon","history-size":"5","tick-ms":"2000","base-url":String(s.gateway_url||"").trim(),title:"GPU usage (host)",style:{"--monitor-gpu-width":"34px","--monitor-gpu-bars-height":"28px","--monitor-gpu-padding":"0px 4px","--monitor-gpu-radius":"999px","--monitor-gpu-bg":"rgba(0,0,0,0.18)","--monitor-gpu-border":"rgba(255,255,255,0.16)",flexShrink:0}}):null]})]})}function Yn(s){const n=s.variant,l=`${n==="error"?"error":"warn"}${n==="info"?" info":""}${s.className?` ${s.className}`:""}`,a=n==="error"?"error":n==="warn"?"warning":"info";return c.jsxs("div",{className:l,style:s.style,title:s.title,onClick:s.onClick,role:"status",children:[c.jsx("span",{className:"notice_icon","aria-hidden":"true",children:c.jsx(jt,{name:a,size:14})}),c.jsx("div",{className:"notice_content",children:s.children})]})}function kv(s){const[n,r]=S.useState([]),[l,a]=S.useState([]),[d,f]=S.useState(0),[p,h]=S.useState(!1),[y,v]=S.useState(""),[w,N]=S.useState(""),b=50,T=S.useMemo(()=>{const z=new Map;for(const D of n)z.set(`${D.bundle_id}:${D.flow_id}`,D);return z},[n]),I=S.useMemo(()=>{const z=new Map;for(const D of n)z.has(D.bundle_id)||z.set(D.bundle_id,D);return z},[n]),U=async()=>{h(!0),v("");try{const[z,D]=await Promise.all([la(s.gateway),s.gateway.list_runs({limit:300,root_only:!0,include_ledger_len:!1,include_metrics:!0})]),$=Array.isArray(D==null?void 0:D.items)?D.items:[];r(z),f(0);const O=new Set(z.map(L=>L.bundle_id)),P=$.map(L=>({run_id:String((L==null?void 0:L.run_id)||"").trim(),workflow_id:typeof(L==null?void 0:L.workflow_id)=="string"?L.workflow_id:(L==null?void 0:L.workflow_id)??null,status:typeof(L==null?void 0:L.status)=="string"?L.status:(L==null?void 0:L.status)??null,created_at:typeof(L==null?void 0:L.created_at)=="string"?L.created_at:(L==null?void 0:L.created_at)??null,updated_at:typeof(L==null?void 0:L.updated_at)=="string"?L.updated_at:(L==null?void 0:L.updated_at)??null,session_id:typeof(L==null?void 0:L.session_id)=="string"?L.session_id:(L==null?void 0:L.session_id)??null,parent_run_id:typeof(L==null?void 0:L.parent_run_id)=="string"?L.parent_run_id:(L==null?void 0:L.parent_run_id)??null,ledger_len:typeof(L==null?void 0:L.ledger_len)=="number"?L.ledger_len:(L==null?void 0:L.ledger_len)??null,steps:typeof(L==null?void 0:L.steps)=="number"?L.steps:(L==null?void 0:L.steps)??null,llm_calls:typeof(L==null?void 0:L.llm_calls)=="number"?L.llm_calls:(L==null?void 0:L.llm_calls)??null,tool_calls:typeof(L==null?void 0:L.tool_calls)=="number"?L.tool_calls:(L==null?void 0:L.tool_calls)??null,tokens_total:typeof(L==null?void 0:L.tokens_total)=="number"?L.tokens_total:(L==null?void 0:L.tokens_total)??null,limits:(L==null?void 0:L.limits)??null})).filter(L=>{if(!L.run_id)return!1;const xe=String(L.workflow_id||"").trim(),W=Ro(xe);return!(!W||W.kind==="visual_react"||!O.has(W.bundle_id)||String(L.parent_run_id||"").trim())}),V=new Map;for(const L of P){const xe=String(L.session_id||L.run_id).trim();if(!xe)continue;const W=V.get(xe);if(!W){V.set(xe,L);continue}const se=$i(String(L.updated_at||L.created_at||""))??0,J=$i(String(W.updated_at||W.created_at||""))??0;se>=J&&V.set(xe,L)}const re=Array.from(V.values());re.sort((L,xe)=>{const W=$i(String(L.updated_at||L.created_at||""))??0;return($i(String(xe.updated_at||xe.created_at||""))??0)-W}),a(re)}catch(z){a([]),r([]),v(String((z==null?void 0:z.message)||z||"Failed to load runs"))}finally{h(!1)}};return S.useEffect(()=>{U()},[s.gateway]),c.jsxs("div",{className:"sessions_page",children:[c.jsx("h2",{children:"Sessions"}),c.jsx("div",{className:"muted",children:"Sessions retrieved from the Gateway (durable runtime source of truth)."}),c.jsxs("div",{style:{display:"flex",gap:10,marginTop:12,alignItems:"center",flexWrap:"wrap"},children:[c.jsx("button",{className:"btn",type:"button",onClick:()=>void U(),disabled:p,children:p?"Loading…":"Refresh"}),c.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flex:1,minWidth:260},children:[c.jsx("input",{className:"input mono",placeholder:"attach run_id…",value:w,onChange:z=>N(z.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"}),c.jsx("button",{className:"btn",type:"button",onClick:()=>void(async()=>{const z=String(w||"").trim();if(!z)return;let D=z;try{const $=await s.gateway.get_run(z),O=String(($==null?void 0:$.session_id)||"").trim();O&&(D=O)}catch{}s.on_open_session(D,z,null)})(),disabled:!String(w||"").trim(),children:"Open"})]})]}),y?c.jsx(Yn,{variant:"error",style:{marginTop:12},children:y}):null,!y&&l.length?c.jsxs("div",{style:{display:"flex",gap:10,alignItems:"center",marginTop:12,flexWrap:"wrap"},children:[c.jsxs("span",{className:"muted mono",children:["showing ",Math.min(l.length,d*b+1),"-",Math.min(l.length,(d+1)*b)," of ",l.length]}),c.jsx("button",{className:"btn mini",type:"button",onClick:()=>f(z=>Math.max(0,z-1)),disabled:d<=0,children:"Prev"}),c.jsx("button",{className:"btn mini",type:"button",onClick:()=>f(z=>(z+1)*b<l.length?z+1:z),disabled:(d+1)*b>=l.length,children:"Next"})]}):null,!p&&!y&&!l.length?c.jsxs("div",{className:"sessions_empty",children:[c.jsx("span",{className:"sessions_empty_icon",children:"◇"}),c.jsx("div",{children:"No sessions yet"}),c.jsx("div",{className:"muted",children:"Start a new chat to create your first session"})]}):null,c.jsx("div",{className:"sessions_grid",children:l.slice(d*b,d*b+b).map(z=>{var le,ge;const D=String(z.workflow_id||"").trim(),$=Ro(D),O=$?`${$.bundle_id}:${$.flow_id}`:"",P=O?T.get(O):void 0,V=!P&&($!=null&&$.bundle_id)?I.get($.bundle_id):void 0,re=(P==null?void 0:P.name)||(V==null?void 0:V.name)||($==null?void 0:$.bundle_id)||"Agent",L=String(z.updated_at||z.created_at||"").trim(),xe=String(z.status||"").toLowerCase().trim(),W=$?{bundle_id:$.bundle_id,flow_id:$.flow_id,name:(P==null?void 0:P.name)||(V==null?void 0:V.name)}:null,se=String(z.session_id||z.run_id).trim();L&&Dm(new Date(L));const pe={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"}}[xe]||{label:xe||"Unknown",cls:"muted"},Ce=z.created_at?new Date(z.created_at):null,Q=z.updated_at?new Date(z.updated_at):null,ke=Ce?Ce.toLocaleDateString(void 0,{month:"short",day:"numeric",year:Ce.getFullYear()!==new Date().getFullYear()?"numeric":void 0}):"—",Se=Q?Dm(Q):"—",te=(z==null?void 0:z.tokens_total)??((ge=(le=z==null?void 0:z.limits)==null?void 0:le.tokens)==null?void 0:ge.estimated_used),we=Number.isFinite(Number(te))?Math.max(0,Math.trunc(Number(te))):null,he=Number.isFinite(Number(z.llm_calls))?Math.max(0,Math.trunc(Number(z.llm_calls))):null,k=Number.isFinite(Number(z.tool_calls))?Math.max(0,Math.trunc(Number(z.tool_calls))):null,B=Number.isFinite(Number(z.ledger_len))?Math.max(0,Math.trunc(Number(z.ledger_len))):Number.isFinite(Number(z.steps))?Math.max(0,Math.trunc(Number(z.steps))):0;return c.jsxs("button",{className:"session_card",onClick:()=>s.on_open_session(se||z.run_id,z.run_id,W),type:"button",children:[c.jsxs("div",{className:"session_card_header",children:[c.jsx("span",{className:"session_card_agent",children:re}),c.jsx("span",{className:`session_card_status ${pe.cls}`,children:pe.label})]}),c.jsxs("div",{className:"session_card_stats",children:[c.jsxs("span",{className:"stat_item",title:"Steps (best-effort)",children:[c.jsx("span",{className:"stat_icon",children:"≡"}),B]}),we!==null?c.jsxs("span",{className:"stat_item",title:"Context tokens (estimated)",children:[c.jsx("span",{className:"stat_icon",children:"◈"}),we]}):null,he!==null?c.jsxs("span",{className:"stat_item",title:"LLM calls",children:[c.jsx("span",{className:"stat_icon",children:"◉"}),he]}):null,k!==null?c.jsxs("span",{className:"stat_item",title:"Tool calls",children:[c.jsx("span",{className:"stat_icon",children:"⚙"}),k]}):null,c.jsx("span",{className:"session_card_sep",children:"•"}),c.jsxs("span",{title:"Created date",children:["created ",ke]}),c.jsx("span",{className:"session_card_sep",children:"•"}),c.jsxs("span",{title:"Last activity",children:["updated ",Se]})]})]},se||z.run_id)})})]})}function Dm(s){const n=Date.now(),r=s.getTime(),l=n-r,a=Math.floor(l/1e3),d=Math.floor(a/60),f=Math.floor(d/60),p=Math.floor(f/24);return a<60?"Just now":d<60?`${d}m ago`:f<24?`${f}h ago`:p<7?`${p}d ago`:s.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function bv(s){const n=s.settings,r=S.useRef(n);S.useEffect(()=>{r.current=s.settings},[s.settings]);const l=Xw(),[a,d]=S.useState(!1),[f,p]=S.useState(!1),[h,y]=S.useState(""),[v,w]=S.useState(null),[N,b]=S.useState(""),[T,I]=S.useState({provider:"",model:""}),[U,z]=S.useState([]),[D,$]=S.useState([]),[O,P]=S.useState([]),[V,re]=S.useState(!1),[L,xe]=S.useState(!1),[W,se]=S.useState(!1),[J,pe]=S.useState(""),[Ce,Q]=S.useState(""),[ke,Se]=S.useState("");S.useEffect(()=>{n.gateway_was_connected&&n.gateway_url&&!a&&!f&&te()},[]),S.useEffect(()=>{d(!1),p(!1),y(""),w(null),b(""),I({provider:"",model:""}),z([]),$([]),P([]),re(!1),xe(!1),se(!1),pe(""),Q(""),Se("")},[s.gateway]);async function te(){var ee,G,_e,Re;p(!0),y(""),w(null),b(""),re(!0),se(!0),pe(""),Se("");try{const He=String(n.gateway_url||"").trim();if(He){const Nt=He.toLowerCase();if(!Nt.startsWith("http://")&&!Nt.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(((ee=window==null?void 0:window.location)==null?void 0:ee.protocol)||"")==="https:"&&Nt.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 Yt=new URL(He),pn=String(((G=window==null?void 0:window.location)==null?void 0:G.hostname)||"").trim().toLowerCase(),hn=String(Yt.hostname||"").trim().toLowerCase(),Jt=Mt=>Mt==="localhost"||Mt==="127.0.0.1"||Mt==="::1";if(Jt(hn)&&pn&&!Jt(pn))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(mn){throw new Error(String((mn==null?void 0:mn.message)||mn||"Invalid Gateway URL"))}}const[Ge,Je,st]=await Promise.all([s.gateway.discovery_providers(),s.gateway.discovery_tools(),s.gateway.workspace_policy().catch(Nt=>({ok:!1,error:String((Nt==null?void 0:Nt.message)||Nt||"Failed to load workspace policy")}))]),kt=Array.isArray(Ge==null?void 0:Ge.items)?Ge.items:[],Qt=Array.isArray(Je==null?void 0:Je.items)?Je.items:[],Ft=String((Ge==null?void 0:Ge.default_provider)||((_e=Ge==null?void 0:Ge.defaults)==null?void 0:_e.provider)||"").trim(),Kt=String((Ge==null?void 0:Ge.default_model)||((Re=Ge==null?void 0:Ge.defaults)==null?void 0:Re.model)||"").trim();I({provider:Ft,model:Kt});const Ut=r.current,{next:fn,changed:Lt}=Pw({current:Ut,discovered_providers:kt,default_provider:Ft});Lt&&s.on_change(fn),z(kt),P(Qt),st&&typeof st=="object"&&(st.ok&&st.policy?w(st.policy):st.error&&b(String(st.error))),d(!0)}catch(He){y(String((He==null?void 0:He.message)||He||"Failed to connect to gateway")),d(!1),w(null),b(""),z([]),P([])}finally{p(!1),re(!1),se(!1)}}function we(){d(!1),y(""),w(null),b(""),z([]),$([]),P([]),pe(""),Q(""),Se(""),s.on_change({...r.current,gateway_was_connected:!1})}S.useEffect(()=>{let ee=!1;const G=String(n.provider||"").trim();if(!a){$([]);return}if(!G){$([]);return}return(async()=>{xe(!0),Q("");try{const Re=await s.gateway.discovery_provider_models(G);if(ee)return;Array.isArray(Re==null?void 0:Re.models)?$(Re.models.map(He=>String(He||"").trim()).filter(Boolean)):($([]),Re!=null&&Re.error&&Q(String(Re.error)))}catch(Re){if(ee)return;Q(String((Re==null?void 0:Re.message)||Re||"Failed to load models")),$([])}finally{ee||xe(!1)}})(),()=>{ee=!0}},[a,s.gateway,n.provider]),S.useEffect(()=>{if(!D.length)return;const ee=String(r.current.model||"").trim(),G=String(r.current.provider||"").trim(),_e=G&&T.provider&&G===T.provider?String(T.model||"").trim():"",Re=_e&&D.includes(_e)?_e:D[0];(!ee||!D.includes(ee))&&s.on_change({...r.current,model:Re})},[D,T.provider,T.model]),S.useEffect(()=>{if(!O.length||n.tools_initialized)return;const ee=O.map(G=>String((G==null?void 0:G.name)||"").trim()).filter(Boolean);ee.length&&s.on_change({...r.current,tools:ee,tools_initialized:!0})},[O]);const he=S.useMemo(()=>{const ee=U.map(G=>({name:String((G==null?void 0:G.name)||"").trim(),display_name:String((G==null?void 0:G.display_name)||(G==null?void 0:G.displayName)||"").trim()||void 0})).filter(G=>!!G.name);return ee.sort((G,_e)=>G.name.localeCompare(_e.name)),ee},[U]),k=S.useMemo(()=>{const ee=O.map(G=>String((G==null?void 0:G.name)||"").trim()).filter(Boolean);return ee.sort((G,_e)=>G.localeCompare(_e)),ee},[O]),B=S.useMemo(()=>{const ee=new Set;for(const G of(n.tools||[]).map(_e=>String(_e||"").trim()).filter(Boolean))ee.add(G);return ee},[n.tools]),le=S.useMemo(()=>{if(!k.length)return!1;for(const ee of k)if(!B.has(ee))return!1;return B.size===k.length},[k,B]),[ge,ve]=S.useState(!1);return S.useEffect(()=>{a&&k.length&&(le||ve(!0))},[a,k.length,le]),c.jsx("div",{className:"settings_page",children:c.jsxs("div",{className:"settings_grid",children:[c.jsxs("div",{className:"panel settings_card settings_card_appearance",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Appearance"})}),c.jsx("div",{className:"muted",children:"Shared AbstractUIC theme + typography (saved locally)."}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Theme"}),c.jsx(Pg,{value:n.theme,onChange:ee=>s.on_change({...n,theme:ee})})]}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Font size"}),c.jsx(zg,{value:n.font_scale,onChange:ee=>s.on_change({...n,font_scale:ee})})]}),c.jsxs("div",{className:"field",style:{marginTop:10},children:[c.jsx("label",{children:"Header size"}),c.jsx(Dg,{value:n.header_density,onChange:ee=>s.on_change({...n,header_density:ee})})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_gateway",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Gateway"})}),c.jsxs("div",{className:"settings_card_header",style:{marginTop:6},children:[c.jsx("div",{className:"muted",children:"Connect once to discover providers/models/tools. Settings are saved locally."}),c.jsx("span",{className:`chip ${a?"ok":f?"info":"muted"}`,children:f?"connecting":a?"connected":"disconnected"})]}),l!=="localStorage"?c.jsx(Yn,{variant:"warn",className:"inline",style:{marginTop:10},children:l==="sessionStorage"?"Browser storage is limited (sessionStorage). Settings persist for this tab but may reset when the tab closes.":"Browser storage is blocked (memory-only). Settings will reset on refresh; check privacy/storage settings."}):null,c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Gateway URL (blank = same origin / dev proxy)"}),c.jsxs("div",{className:"row",style:{marginTop:0},children:[c.jsx("input",{style:{flex:1,minWidth:0},value:n.gateway_url,onChange:ee=>s.on_change({...n,gateway_url:ee.target.value}),placeholder:"http://127.0.0.1:8081"}),c.jsx("button",{className:"btn",type:"button",onClick:a?we:()=>void te(),disabled:f,children:f?"Connecting…":a?"Disconnect":"Connect"})]}),h?c.jsx(Yn,{variant:"error",className:"inline",children:h}):null]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Auth token"}),c.jsx("input",{type:"password",value:n.auth_token,onChange:ee=>s.on_change({...n,auth_token:ee.target.value}),placeholder:"Bearer token (optional)"})]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Client id"}),c.jsx("input",{value:n.client_id,onChange:ee=>s.on_change({...n,client_id:ee.target.value}),placeholder:"abstractcode_web"})]}),c.jsx("div",{className:"settings_section_divider"}),c.jsxs("div",{className:"settings_section_header",children:[c.jsx("h3",{children:"Workspace"}),c.jsx("span",{className:"muted mono",children:"files/tools"})]}),c.jsx("div",{className:"muted",children:"Controls what the agent can access via filesystem tools and what appears in @file search."}),v?c.jsxs("div",{className:"muted mono",style:{marginTop:6},children:["server: overrides=",v.client_workspace_scope_overrides?"on":"off",Array.isArray(v.mounts)&&v.mounts.length?`; mounts=${v.mounts.map(ee=>String((ee==null?void 0:ee.name)||"").trim()).filter(Boolean).join(", ")}`:""]}):N?c.jsxs("div",{className:"muted",style:{marginTop:6},children:["server: workspace policy unavailable (",N,")"]}):null,c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_root"}),c.jsx("span",{className:"field_hint",children:"Empty = gateway default (typically an isolated per-run workspace)"})]}),c.jsx("input",{className:"mono",value:String(n.workspace_root||""),onChange:ee=>s.on_change({...n,workspace_root:ee.target.value}),placeholder:"/path/to/workspace"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_access_mode"}),c.jsx("span",{className:"field_hint",children:"Controls absolute path access"})]}),(()=>{const ee=Array.isArray(v==null?void 0:v.allowed_access_modes)?v.allowed_access_modes.map(_e=>String(_e||"").trim()).filter(Boolean):null,G=!ee||ee.includes("all_except_ignored");return c.jsxs("select",{className:"mono",value:String(n.workspace_access_mode||"workspace_only"),onChange:_e=>s.on_change({...n,workspace_access_mode:_e.target.value}),children:[c.jsx("option",{value:"workspace_only",children:"workspace_only"}),c.jsx("option",{value:"workspace_or_allowed",children:"workspace_or_allowed"}),c.jsxs("option",{value:"all_except_ignored",disabled:!G,children:["all_except_ignored",G?"":" (disabled by gateway)"]})]})})(),c.jsx("div",{className:"field_hint",children:"workspace_only: absolute paths must stay under workspace_root. workspace_or_allowed: allow additional roots from workspace_allowed_paths."})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_allowed_paths"}),c.jsx("span",{className:"field_hint",children:"Newline-separated directories (absolute or relative to workspace_root)"})]}),c.jsx("textarea",{className:"mono",rows:3,value:String(n.workspace_allowed_paths||""),onChange:ee=>s.on_change({...n,workspace_allowed_paths:ee.target.value}),placeholder:`/path/to/project
|
|
138
|
+
/path/to/workspace`,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"workspace_ignored_paths"}),c.jsx("span",{className:"field_hint",children:"Newline-separated paths to block (absolute or relative to workspace_root)"})]}),c.jsx("textarea",{className:"mono",rows:3,value:String(n.workspace_ignored_paths||""),onChange:ee=>s.on_change({...n,workspace_ignored_paths:ee.target.value}),placeholder:`node_modules
|
|
139
139
|
runtime
|
|
140
|
-
secret`,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_model",children:[c.jsxs("div",{className:"settings_card_header",children:[c.jsx("h2",{children:"Model"}),c.jsx("span",{className:"muted mono",children:a?"discovered":"connect first"})]}),c.jsx("div",{className:"muted",children:"Choose provider/model and runtime parameters."}),c.jsx(Lg,{className:"field",selectClassName:"mono",providerLabel:"Provider",modelLabel:"Model",providerPlaceholder:a?"(select)":"(click Connect)",modelPlaceholder:a?n.provider?"(select)":"(select provider first)":"(click Connect)",provider:n.provider,model:n.model,providers:he,models:D,loadingProviders:V,loadingModels:L,providerError:J,modelError:Ce,disabled:!a,allowGatewayDefault:!1,onChange:ee=>s.on_change({...n,provider:ee.provider,model:ee.model})}),c.jsxs("div",{className:"settings_row2",children:[c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Max iterations"}),c.jsx("input",{value:String(n.max_iterations),onChange:ee=>s.on_change({...n,max_iterations:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):10}),placeholder:"10"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"Max in tokens"}),c.jsx("span",{className:"field_hint",children:"0 = unset"})]}),c.jsx("input",{value:String(n.max_in_tokens||0),onChange:ee=>s.on_change({...n,max_in_tokens:Number.isFinite(Number(ee.target.value))?Math.max(0,Number(ee.target.value)):0}),placeholder:"0"})]})]}),c.jsxs("div",{className:"settings_row2",children:[c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Temperature"}),c.jsx("input",{value:String(n.temperature),onChange:ee=>s.on_change({...n,temperature:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):.7}),placeholder:"0.7"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"Seed"}),c.jsx("span",{className:"field_hint",children:"-1 = random/unset; ≥ 0 = deterministic (provider permitting)"})]}),c.jsx("input",{value:String(n.seed),onChange:ee=>s.on_change({...n,seed:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):-1}),placeholder:"-1"})]})]}),c.jsxs("div",{className:"field",children:[c.jsxs("label",{className:"checkbox_row",children:[c.jsx("input",{type:"checkbox",checked:!!n.use_context,onChange:ee=>s.on_change({...n,use_context:!!ee.target.checked})}),c.jsx("span",{children:"Use context"})]}),c.jsx("div",{className:"field_hint",children:"When enabled, workflows can include context.messages as history (Agent/LLM Call use_context)."})]}),c.jsxs("div",{className:"field",children:[c.jsxs("label",{className:"checkbox_row",children:[c.jsx("input",{type:"checkbox",checked:!!n.prompt_cache,onChange:ee=>s.on_change({...n,prompt_cache:!!ee.target.checked})}),c.jsx("span",{children:"Prompt caching"})]}),c.jsx("div",{className:"field_hint",children:"Session-scoped prefix/KV caching (provider-dependent). First request after enabling “warms” the cache; later turns can reuse it. Manual control: use `/cache` in chat (list/save/load/clear)."})]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"System"}),c.jsx("textarea",{className:"mono",rows:3,placeholder:"Optional system prompt (high priority instructions)…",value:String(n.system||""),onChange:ee=>s.on_change({...n,system:ee.target.value}),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"resp_schema"}),c.jsx("span",{className:"field_hint",children:"Optional JSON Schema object (JSON)"})]}),c.jsx("textarea",{className:"mono",rows:6,placeholder:'{"type":"object","properties":{"answer":{"type":"string"}},"required":["answer"]}',value:String(n.resp_schema||""),onChange:ee=>s.on_change({...n,resp_schema:ee.target.value}),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_tools",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Tools"})}),c.jsx("div",{className:"muted",children:"Default is all tools. Switch to a custom allowlist only when needed."}),c.jsxs("div",{className:"tool_mode_row",children:[c.jsxs("div",{className:"segmented",role:"group","aria-label":"Tools mode",children:[c.jsx("button",{className:`seg_btn ${ge?"":"active"}`,type:"button",disabled:!a||W||!k.length,onClick:()=>{ve(!1),s.on_change({...n,tools:k,tools_initialized:!0})},children:"All tools"}),c.jsx("button",{className:`seg_btn ${ge?"active":""}`,type:"button",disabled:!a||W||!k.length,onClick:()=>{ge||(ve(!0),s.on_change({...n,tools:[],tools_initialized:!0}))},children:"Custom allowlist"})]}),a&&k.length>0?c.jsx("span",{className:"tools_counter",children:le?c.jsxs(c.Fragment,{children:["✓ All ",k.length," tools"]}):c.jsxs(c.Fragment,{children:["✓ ",B.size," of ",k.length," selected"]})}):null]}),ge?c.jsx($w,{tools:O,selected:n.tools,disabled:!a||W||!k.length,onChange:ee=>s.on_change({...n,tools:ee,tools_initialized:!0})}):null,W?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Loading tools…"}):null,ke?c.jsx(Yn,{variant:"error",children:ke}):null]})]})})}function jv(s){const[n,r]=S.useState([]),[l,a]=S.useState(!1),[d,f]=S.useState(!1),[p,h]=S.useState(!1),[y,v]=S.useState(""),[w,N]=S.useState(null),b=S.useRef(null),T=async D=>{a(!0),v("");try{const $=await la(s.gateway);r($);const O=D!=null&&D.preserve_selection?s.repl.template:null;if(O&&$.some(z=>z.bundle_id===O.bundle_id&&z.flow_id===O.flow_id)){const z=$.find(V=>V.bundle_id===O.bundle_id&&V.flow_id===O.flow_id)||null;N(z)}else N($.find(z=>z.bundle_id==="basic-agent")||$[0]||null)}catch($){v(String(($==null?void 0:$.message)||$||"Failed to load agents"))}finally{a(!1)}},I=async()=>{f(!0),v("");try{await s.gateway.reload_bundles(),await T({preserve_selection:!0})}catch(D){v(String((D==null?void 0:D.message)||D||"Bundle reload failed"))}finally{f(!1)}},U=async D=>{h(!0),v("");try{await s.gateway.upload_bundle(D,{overwrite:!1,reload:!0}),await T({preserve_selection:!0})}catch($){v(String(($==null?void 0:$.message)||$||"Bundle upload failed"))}finally{h(!1),b.current&&(b.current.value="")}};S.useEffect(()=>{let D=!1;const $=async()=>{try{const O=await la(s.gateway);if(D)return;r(O);const z=s.repl.template;if(z&&O.some(V=>V.bundle_id===z.bundle_id&&V.flow_id===z.flow_id)){const V=O.find(re=>re.bundle_id===z.bundle_id&&re.flow_id===z.flow_id)||null;N(V)}else N(O.find(V=>V.bundle_id==="basic-agent")||O[0]||null)}catch(O){if(D)return;v(String((O==null?void 0:O.message)||O||"Failed to load agents"))}finally{D||a(!1)}};return a(!0),v(""),$(),()=>{D=!0}},[s.gateway]);function P(){const D=w;D&&(s.on_start({bundle_id:D.bundle_id,flow_id:D.flow_id,name:D.name}),s.on_done())}return c.jsxs("div",{className:"new_chat_page",children:[c.jsx("h2",{children:"Agents"}),c.jsx("div",{className:"muted",children:"Pick a RunnableFlow workflow (must implement `abstractcode.agent.v1`)."}),l?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Loading…"}):null,y?c.jsx(Yn,{variant:"error",children:y}):null,c.jsx("div",{className:"grid",children:n.slice(0,200).map(D=>{const $=(w==null?void 0:w.bundle_id)===D.bundle_id&&(w==null?void 0:w.flow_id)===D.flow_id;return c.jsxs("button",{className:`card ${$?"active":""}`,onClick:()=>N(D),children:[c.jsxs("div",{className:"card_title",children:[c.jsx("span",{className:"mono",children:D.name}),c.jsx("span",{className:"pill",children:"agent"})]}),c.jsxs("div",{className:"muted mono",children:[D.bundle_id,":",D.flow_id]}),D.description?c.jsx("div",{className:"card_desc",children:D.description}):null]},`${D.bundle_id}:${D.flow_id}`)})}),c.jsxs("div",{className:"actions",children:[c.jsx("input",{ref:b,type:"file",accept:".flow",style:{display:"none"},onChange:D=>{var O;const $=(O=D.target.files)==null?void 0:O[0];$&&U($)}}),c.jsx("button",{className:"btn",type:"button",disabled:l||d||p,onClick:()=>void I(),title:"Reload the gateway’s in-memory .flow bundles (useful after updating bundles on disk).",children:d?"Reloading…":"Reload bundles"}),c.jsx("button",{className:"btn",type:"button",disabled:l||d||p,onClick:()=>{var D;return(D=b.current)==null?void 0:D.click()},title:"Upload a .flow bundle to the gateway.",children:p?"Uploading…":"Upload .flow"}),c.jsx("button",{className:"btn primary",disabled:!w,onClick:()=>P(),children:"Start new chat"})]})]})}function Nv(s){var ln;const[n,r]=S.useState([]),[l,a]=S.useState(""),[d,f]=S.useState(null),[p,h]=S.useState(""),[y,v]=S.useState({}),[w,N]=S.useState(""),[b,T]=S.useState(0),[I,U]=S.useState(""),[P,D]=S.useState(0),[$,O]=S.useState(0),[z,V]=S.useState(null),[re,L]=S.useState([]),xe=S.useRef([]),W=S.useRef([]),se=S.useRef(""),J=S.useRef(""),[pe,Ce]=S.useState(null),[Q,ke]=S.useState(""),Se=S.useRef(null),[te,we]=S.useState(!1),[he,k]=S.useState(!1),B=S.useRef(null),le=S.useRef(null),ge=S.useRef(null),ve=S.useRef(null),ee=S.useRef(null),G=S.useRef(!0),[_e,Re]=S.useState(!0),He=S.useRef(null),Ge=S.useRef(null),[Je,st]=S.useState([]),[kt,Qt]=S.useState(null),[Ft,Kt]=S.useState(null),[Ut,fn]=S.useState(!1),[Lt,Nt]=S.useState(!1),mn=S.useRef(null),Yt=S.useRef(null),pn=S.useRef([]),hn=S.useRef(""),Jt=Je.some(_=>_.loading),[Mt,Bt]=S.useState([]),[Jn,rn]=S.useState({}),[Xn,Xt]=S.useState(!1),[In,gt]=S.useState(""),Fn=S.useRef(0),gn=S.useRef(null),Ot=S.useRef(null),dt=S.useRef({}),Un=S.useRef(new Set),Bn=S.useRef(new Set),Zt=S.useRef(new Set),sn=S.useRef(""),fr=S.useRef(null),kr=S.useRef({}),[lt,Zn]=S.useState(""),br=S.useRef(""),qn=S.useRef("unknown"),[Xr,_n]=S.useState(""),[Zr,er]=S.useState(!1);S.useEffect(()=>{br.current=String(lt||"").trim(),br.current||(qn.current="unknown")},[lt]);const Tn=(_,x)=>{const E=String(_||"").trim();E&&(br.current=E,qn.current=x,Zn(E))},qt=()=>{br.current="",qn.current="unknown",Zn("")},jr=(_,x)=>{const E={run_id:br.current,kind:qn.current},M=fg(E,{run_id:_,kind:x}),ne=String(M.run_id||"").trim();ne&&(ne===E.run_id&&M.kind===E.kind||Tn(ne,M.kind))},wt=S.useMemo(()=>nu(pe),[pe]),yn=String((wt==null?void 0:wt.reason)||"").trim(),qr=String((wt==null?void 0:wt.wait_key)||"").trim(),wn=S.useMemo(()=>hg({root_run_id:z,root_wait:wt,records:re}),[z,re,wt]),en=wn.wait,tr=String(wn.wait_run_id||"").trim(),es=wn.tool_calls,Mn=String((en==null?void 0:en.reason)||"").trim(),Wn=String((en==null?void 0:en.wait_key)||"").trim(),Le=Mn==="event"?Cs(Pm(Wn)):"",$e=Mn==="user"||Mn==="event"&&Le==="abstract.ask",ct=!!z&&!en&&!te&&!!Q.trim(),At=wt&&yn==="subworkflow"||!wt&&ct,Ue=S.useMemo(()=>{const _=String(z||"").trim();if(yn==="subworkflow"){const x=String(lt||"").trim();if(x)return x}return _},[z,lt,yn]),Pt=S.useMemo(()=>av(re,Ue),[re,Ue]),on=S.useMemo(()=>{const _=Number(s.settings.max_iterations);return Number.isFinite(_)&&_>0?Math.trunc(_):25},[s.settings.max_iterations]),An=S.useMemo(()=>{if(!Ue)return"";const _=on;if(!Number.isFinite(_)||_<=0)return"";const x=Math.max(0,Math.trunc(Pt.current||0));return`(${Math.min(x,_)}/${_})`},[Ue,Pt.current,on]),vn=S.useMemo(()=>{var x;if(yn!=="subworkflow")return"";const _=String(((x=wt==null?void 0:wt.details)==null?void 0:x.sub_run_id)||"").trim();return _||(qr.startsWith("subworkflow:")?String(qr.split(":",2)[1]||"").trim():"")},[yn,qr,wt]);S.useEffect(()=>{if(yn!=="subworkflow"){qn.current!=="user_facing"&&qt(),_n("");return}if(vn){const _=ru(wt);jr(vn,_==="unknown"?"background":_)}},[yn,wt,vn]),S.useEffect(()=>{if(!vn)return;let _=!1;return _n(""),(async()=>{try{const x=await s.gateway.get_run(vn);if(_)return;const E=String((x==null?void 0:x.workflow_id)||"").trim();_n(E||"subflow")}catch{_||_n("subflow")}})(),()=>{_=!0}},[s.gateway,vn]);const mt=s.repl.template,ts=(mt==null?void 0:mt.name)||(mt?`${mt.bundle_id}:${mt.flow_id}`:"");S.useEffect(()=>{W.current=s.repl.messages||[]},[s.repl.messages]),S.useEffect(()=>{const _=String(s.attach_run_id||"").trim();_&&(s.on_attach_consumed(),sn.current=_,Wt(x=>({...x,messages:[],updated_at:ht()})),st([]),Bt([]),gt(""),Xt(!1),N(""),U(""),Et(),se.current="",_!==z&&V(_))},[s.attach_run_id]);function Wt(_){s.on_repl(s.session_id,_)}S.useEffect(()=>{let _=!1;const x=String(s.settings.model||"").trim();if(!x){f(null),h("");return}return(async()=>{h("");try{const M=await s.gateway.discovery_model_capabilities(x);if(_)return;f(M),M!=null&&M.error&&h(String(M.error))}catch(M){if(_)return;f(null),h(String((M==null?void 0:M.message)||M||"Failed to load model capabilities"))}})(),()=>{_=!0}},[s.gateway,s.settings.provider,s.settings.model]),S.useEffect(()=>{let _=!1;return v({}),(async()=>{try{const x=await s.gateway.discovery_tools(),E=Array.isArray(x==null?void 0:x.items)?x.items:[],M={};for(const ne of E){if(!ne||typeof ne!="object")continue;const Y=String(ne.name||"").trim();Y&&(M[Y]=ne)}_||v(M)}catch{_||v({})}})(),()=>{_=!0}},[s.gateway]),S.useEffect(()=>{let _=!1;return(async()=>{a("");try{const E=await la(s.gateway);if(_)return;if(r(E),s.repl.template){const M=s.repl.template;if(M&&!E.some(ne=>ne.bundle_id===M.bundle_id&&ne.flow_id===M.flow_id)){const ne=E.find(Y=>Y.bundle_id===M.bundle_id)||E.find(Y=>Y.bundle_id==="basic-agent")||E[0];ne?(Wt(Y=>({...Y,template:{bundle_id:ne.bundle_id,flow_id:ne.flow_id,name:ne.name},updated_at:ht()})),a(`Agent "${M.name||M.bundle_id}" was updated or unavailable — switched to "${ne.name}".`)):a(`Agent "${M.name||M.bundle_id}" unavailable. Select an agent in New.`)}}}catch(E){if(_)return;a(String((E==null?void 0:E.message)||E||"Failed to load agents"))}})(),()=>{_=!0}},[s.gateway]),S.useEffect(()=>{if(!l||!l.includes("switched to"))return;const _=setTimeout(()=>a(""),6e3);return()=>clearTimeout(_)},[l]),S.useEffect(()=>{if(s.repl.template||z||(s.repl.messages||[]).length)return;const _=n.find(x=>x.bundle_id==="basic-agent")||n[0]||null;_&&Wt(x=>({...x,template:{bundle_id:_.bundle_id,flow_id:_.flow_id,name:_.name},updated_at:ht()}))},[n,s.repl.template,z,s.repl.messages]),S.useEffect(()=>{const _=String(s.session_id||"").trim();if(!_||z)return;const x=qc(_);if(x){if((s.repl.messages||[]).some(q=>q.role==="assistant"&&String(q.run_id||"").trim()===x&&String(q.content||"").trim())){Ql(_),Kl(x);return}V(x);return}const E=s.repl.messages||[],M=E.length?E[E.length-1]:null,ne=M&&M.role==="user"?String(M.run_id||"").trim():"";!ne||E.some(de=>de.role==="assistant"&&String(de.run_id||"").trim()===ne&&String(de.content||"").trim())||(Cm(_,ne),V(ne))},[z,s.session_id,s.repl.messages]);function Et(){ke(""),Se.current!==null&&(window.clearTimeout(Se.current),Se.current=null)}function ma(_,x){const E=String(_||"").trim();if(!E||E.toLowerCase()==="completed"||E.toLowerCase()==="done"){Et();return}ke(E),Se.current!==null&&(window.clearTimeout(Se.current),Se.current=null),Number.isFinite(x)&&x>0&&(Se.current=window.setTimeout(()=>Et(),Math.floor(x*1e3)))}function ft(_){Wt(x=>({...x,messages:[...x.messages||[],_].slice(-200),updated_at:ht()}))}function Do(_,x){const E=String(_||"").trim(),M=Number(x);E&&Number.isFinite(M)&&(kr.current[E]=Math.max(Number(kr.current[E]||0),Math.max(0,Math.trunc(M))),fr.current===null&&(fr.current=window.setTimeout(()=>{const ne=kr.current;kr.current={},fr.current=null;for(const[Y,de]of Object.entries(ne))eu(Y,de)},250)))}S.useEffect(()=>()=>{fr.current!==null&&(window.clearTimeout(fr.current),fr.current=null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null),Ge.current!==null&&(window.cancelAnimationFrame(Ge.current),Ge.current=null),kr.current={}},[]);function Io(){He.current!==null||Ge.current!==null||(He.current=window.requestAnimationFrame(()=>{He.current=null,Ge.current=window.requestAnimationFrame(()=>{var x;Ge.current=null;const _=ge.current;if(_){_.scrollTop=_.scrollHeight;try{(x=ee.current)==null||x.scrollIntoView({block:"end"})}catch{}G.current=!0,Re(!0)}})}))}S.useEffect(()=>{const _=ge.current;if(!_)return;const E=_.scrollTop+_.clientHeight>=_.scrollHeight-80;!G.current&&!E||Io()},[s.repl.updated_at]),S.useEffect(()=>{const _=ve.current;if(!_||typeof ResizeObserver>"u")return;const x=new ResizeObserver(()=>{G.current&&Io()});return x.observe(_),()=>x.disconnect()},[]);function pa(_){var q;const x=(q=_==null?void 0:_.effect)==null?void 0:q.payload;if(!x||typeof x!="object")return;const E=Array.isArray(x.tool_calls)?x.tool_calls:[];if(!E.length)return;const M=_==null?void 0:_.result,ne=M&&typeof M=="object"?M.results:null,Y=Array.isArray(ne)?ne:[],de=new Map;for(const Z of Y){if(!Z||typeof Z!="object")continue;const Me=String(Z.call_id||Z.id||"").trim();Me&&de.set(Me,Z)}for(let Z=0;Z<E.length;Z++){const Me=E[Z];if(!Me||typeof Me!="object")continue;const De=String(Me.name||"").trim(),je=String(Me.call_id||Me.id||"").trim();if(je&&Zt.current.has(je))continue;je&&Zt.current.add(je);const Be=Me.arguments,oe=(je&&de.has(je)?de.get(je):null)||Y[Z]||null,ue=oe&&typeof oe=="object"?!!oe.success:null,X=oe&&typeof oe=="object"?String(oe.error||"").trim():"",Te=oe&&typeof oe=="object"?oe.output??oe.result??null:null;let Ve=Te==null?"":typeof Te=="string"?Te:oa(Te);if(Te&&typeof Te=="object"&&!Array.isArray(Te)){const Ne=Te.rendered;typeof Ne=="string"&&Ne.trim()&&(Ve=Ne)}Ve=Am(Ve,2e4),ft({role:"system",level:X?"error":ue===!1?"warn":"info",title:De?`Tool: ${De}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:De,call_id:je||void 0,success:ue,error:X||void 0,arguments:Be,output_preview:Ve}}})}}async function Ts(_){const x=String(_||"").trim();if(!x||z)return;if(Jt){U("Wait for attached files to finish loading.");return}if(!s.repl.template){U("Pick an agent in New.");return}if(!s.settings.provider.trim()||!s.settings.model.trim()){U("Set provider + model in Settings.");return}U(""),Et(),xe.current=[],L([]),J.current="",Ce(null),dt.current={},Un.current=new Set,Bn.current=new Set,Zt.current=new Set,qt(),_n("");const E=ht();se.current="";const M=Je.filter(Z=>!Z.loading&&!String(Z.error||"").trim()&&Z.attachment&&typeof Z.attachment=="object").map(Z=>Z.attachment).slice(0,16).map(Z=>({...Z})),ne=Ft&&typeof Ft=="object"?{...Ft}:null,Y=[...M,...ne?[ne]:[]].slice(0,16),de={role:"user",content:x,ts:E,meta:Y.length?{attachments:Y}:void 0};ft(de),ne&&Kt(null);const q=Je.filter(Z=>!Z.loading&&String(Z.error||"").trim());q.length&&ft({role:"system",level:"warn",title:"Attachments",content:["Some attached files could not be included:",...q.map(Z=>`- @${Z.path}: ${Z.error}`)].join(`
|
|
140
|
+
secret`,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_model",children:[c.jsxs("div",{className:"settings_card_header",children:[c.jsx("h2",{children:"Model"}),c.jsx("span",{className:"muted mono",children:a?"discovered":"connect first"})]}),c.jsx("div",{className:"muted",children:"Choose provider/model and runtime parameters."}),c.jsx(Lg,{className:"field",selectClassName:"mono",providerLabel:"Provider",modelLabel:"Model",providerPlaceholder:a?"(select)":"(click Connect)",modelPlaceholder:a?n.provider?"(select)":"(select provider first)":"(click Connect)",provider:n.provider,model:n.model,providers:he,models:D,loadingProviders:V,loadingModels:L,providerError:J,modelError:Ce,disabled:!a,allowGatewayDefault:!1,onChange:ee=>s.on_change({...n,provider:ee.provider,model:ee.model})}),c.jsxs("div",{className:"settings_row2",children:[c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Max iterations"}),c.jsx("input",{value:String(n.max_iterations),onChange:ee=>s.on_change({...n,max_iterations:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):10}),placeholder:"10"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"Max in tokens"}),c.jsx("span",{className:"field_hint",children:"0 = unset"})]}),c.jsx("input",{value:String(n.max_in_tokens||0),onChange:ee=>s.on_change({...n,max_in_tokens:Number.isFinite(Number(ee.target.value))?Math.max(0,Number(ee.target.value)):0}),placeholder:"0"})]})]}),c.jsxs("div",{className:"settings_row2",children:[c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"Temperature"}),c.jsx("input",{value:String(n.temperature),onChange:ee=>s.on_change({...n,temperature:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):.7}),placeholder:"0.7"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"Seed"}),c.jsx("span",{className:"field_hint",children:"-1 = random/unset; ≥ 0 = deterministic (provider permitting)"})]}),c.jsx("input",{value:String(n.seed),onChange:ee=>s.on_change({...n,seed:Number.isFinite(Number(ee.target.value))?Number(ee.target.value):-1}),placeholder:"-1"})]})]}),c.jsxs("div",{className:"field",children:[c.jsxs("label",{className:"checkbox_row",children:[c.jsx("input",{type:"checkbox",checked:!!n.use_context,onChange:ee=>s.on_change({...n,use_context:!!ee.target.checked})}),c.jsx("span",{children:"Use context"})]}),c.jsx("div",{className:"field_hint",children:"When enabled, workflows can include context.messages as history (Agent/LLM Call use_context)."})]}),c.jsxs("div",{className:"field",children:[c.jsxs("label",{className:"checkbox_row",children:[c.jsx("input",{type:"checkbox",checked:!!n.prompt_cache,onChange:ee=>s.on_change({...n,prompt_cache:!!ee.target.checked})}),c.jsx("span",{children:"Prompt caching"})]}),c.jsx("div",{className:"field_hint",children:"Session-scoped prefix/KV caching (provider-dependent). First request after enabling “warms” the cache; later turns can reuse it. Manual control: use `/cache` in chat (list/save/load/clear)."})]}),c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"System"}),c.jsx("textarea",{className:"mono",rows:3,placeholder:"Optional system prompt (high priority instructions)…",value:String(n.system||""),onChange:ee=>s.on_change({...n,system:ee.target.value}),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]}),c.jsxs("div",{className:"field",children:[c.jsxs("div",{className:"field_label_with_hint",children:[c.jsx("label",{children:"resp_schema"}),c.jsx("span",{className:"field_hint",children:"Optional JSON Schema object (JSON)"})]}),c.jsx("textarea",{className:"mono",rows:6,placeholder:'{"type":"object","properties":{"answer":{"type":"string"}},"required":["answer"]}',value:String(n.resp_schema||""),onChange:ee=>s.on_change({...n,resp_schema:ee.target.value}),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off"})]})]}),c.jsxs("div",{className:"panel settings_card settings_card_tools",children:[c.jsx("div",{className:"settings_card_header",children:c.jsx("h2",{children:"Tools"})}),c.jsx("div",{className:"muted",children:"Default is all tools. Switch to a custom allowlist only when needed."}),c.jsxs("div",{className:"tool_mode_row",children:[c.jsxs("div",{className:"segmented",role:"group","aria-label":"Tools mode",children:[c.jsx("button",{className:`seg_btn ${ge?"":"active"}`,type:"button",disabled:!a||W||!k.length,onClick:()=>{ve(!1),s.on_change({...n,tools:k,tools_initialized:!0})},children:"All tools"}),c.jsx("button",{className:`seg_btn ${ge?"active":""}`,type:"button",disabled:!a||W||!k.length,onClick:()=>{ge||(ve(!0),s.on_change({...n,tools:[],tools_initialized:!0}))},children:"Custom allowlist"})]}),a&&k.length>0?c.jsx("span",{className:"tools_counter",children:le?c.jsxs(c.Fragment,{children:["✓ All ",k.length," tools"]}):c.jsxs(c.Fragment,{children:["✓ ",B.size," of ",k.length," selected"]})}):null]}),ge?c.jsx($w,{tools:O,selected:n.tools,disabled:!a||W||!k.length,onChange:ee=>s.on_change({...n,tools:ee,tools_initialized:!0})}):null,W?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Loading tools…"}):null,ke?c.jsx(Yn,{variant:"error",children:ke}):null]})]})})}function jv(s){const[n,r]=S.useState([]),[l,a]=S.useState(!1),[d,f]=S.useState(!1),[p,h]=S.useState(!1),[y,v]=S.useState(""),[w,N]=S.useState(null),b=S.useRef(null),T=async D=>{a(!0),v("");try{const $=await la(s.gateway);r($);const O=D!=null&&D.preserve_selection?s.repl.template:null;if(O&&$.some(P=>P.bundle_id===O.bundle_id&&P.flow_id===O.flow_id)){const P=$.find(V=>V.bundle_id===O.bundle_id&&V.flow_id===O.flow_id)||null;N(P)}else N($.find(P=>P.bundle_id==="basic-agent")||$[0]||null)}catch($){v(String(($==null?void 0:$.message)||$||"Failed to load agents"))}finally{a(!1)}},I=async()=>{f(!0),v("");try{await s.gateway.reload_bundles(),await T({preserve_selection:!0})}catch(D){v(String((D==null?void 0:D.message)||D||"Bundle reload failed"))}finally{f(!1)}},U=async D=>{h(!0),v("");try{await s.gateway.upload_bundle(D,{overwrite:!1,reload:!0}),await T({preserve_selection:!0})}catch($){v(String(($==null?void 0:$.message)||$||"Bundle upload failed"))}finally{h(!1),b.current&&(b.current.value="")}};S.useEffect(()=>{let D=!1;const $=async()=>{try{const O=await la(s.gateway);if(D)return;r(O);const P=s.repl.template;if(P&&O.some(V=>V.bundle_id===P.bundle_id&&V.flow_id===P.flow_id)){const V=O.find(re=>re.bundle_id===P.bundle_id&&re.flow_id===P.flow_id)||null;N(V)}else N(O.find(V=>V.bundle_id==="basic-agent")||O[0]||null)}catch(O){if(D)return;v(String((O==null?void 0:O.message)||O||"Failed to load agents"))}finally{D||a(!1)}};return a(!0),v(""),$(),()=>{D=!0}},[s.gateway]);function z(){const D=w;D&&(s.on_start({bundle_id:D.bundle_id,flow_id:D.flow_id,name:D.name}),s.on_done())}return c.jsxs("div",{className:"new_chat_page",children:[c.jsx("h2",{children:"Agents"}),c.jsx("div",{className:"muted",children:"Pick a RunnableFlow workflow (must implement `abstractcode.agent.v1`)."}),l?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Loading…"}):null,y?c.jsx(Yn,{variant:"error",children:y}):null,c.jsx("div",{className:"grid",children:n.slice(0,200).map(D=>{const $=(w==null?void 0:w.bundle_id)===D.bundle_id&&(w==null?void 0:w.flow_id)===D.flow_id;return c.jsxs("button",{className:`card ${$?"active":""}`,onClick:()=>N(D),children:[c.jsxs("div",{className:"card_title",children:[c.jsx("span",{className:"mono",children:D.name}),c.jsx("span",{className:"pill",children:"agent"})]}),c.jsxs("div",{className:"muted mono",children:[D.bundle_id,":",D.flow_id]}),D.description?c.jsx("div",{className:"card_desc",children:D.description}):null]},`${D.bundle_id}:${D.flow_id}`)})}),c.jsxs("div",{className:"actions",children:[c.jsx("input",{ref:b,type:"file",accept:".flow",style:{display:"none"},onChange:D=>{var O;const $=(O=D.target.files)==null?void 0:O[0];$&&U($)}}),c.jsx("button",{className:"btn",type:"button",disabled:l||d||p,onClick:()=>void I(),title:"Reload the gateway’s in-memory .flow bundles (useful after updating bundles on disk).",children:d?"Reloading…":"Reload bundles"}),c.jsx("button",{className:"btn",type:"button",disabled:l||d||p,onClick:()=>{var D;return(D=b.current)==null?void 0:D.click()},title:"Upload a .flow bundle to the gateway.",children:p?"Uploading…":"Upload .flow"}),c.jsx("button",{className:"btn primary",disabled:!w,onClick:()=>z(),children:"Start new chat"})]})]})}function Nv(s){var ln;const[n,r]=S.useState([]),[l,a]=S.useState(""),[d,f]=S.useState(null),[p,h]=S.useState(""),[y,v]=S.useState({}),[w,N]=S.useState(""),[b,T]=S.useState(0),[I,U]=S.useState(""),[z,D]=S.useState(0),[$,O]=S.useState(0),[P,V]=S.useState(null),[re,L]=S.useState([]),xe=S.useRef([]),W=S.useRef([]),se=S.useRef(""),J=S.useRef(""),[pe,Ce]=S.useState(null),[Q,ke]=S.useState(""),Se=S.useRef(null),[te,we]=S.useState(!1),[he,k]=S.useState(!1),B=S.useRef(null),le=S.useRef(null),ge=S.useRef(null),ve=S.useRef(null),ee=S.useRef(null),G=S.useRef(!0),[_e,Re]=S.useState(!0),He=S.useRef(null),Ge=S.useRef(null),[Je,st]=S.useState([]),[kt,Qt]=S.useState(null),[Ft,Kt]=S.useState(null),[Ut,fn]=S.useState(!1),[Lt,Nt]=S.useState(!1),mn=S.useRef(null),Yt=S.useRef(null),pn=S.useRef([]),hn=S.useRef(""),Jt=Je.some(_=>_.loading),[Mt,Bt]=S.useState([]),[Jn,rn]=S.useState({}),[Xn,Xt]=S.useState(!1),[In,gt]=S.useState(""),Fn=S.useRef(0),gn=S.useRef(null),Ot=S.useRef(null),dt=S.useRef({}),Un=S.useRef(new Set),Bn=S.useRef(new Set),Zt=S.useRef(new Set),sn=S.useRef(""),fr=S.useRef(null),kr=S.useRef({}),[lt,Zn]=S.useState(""),br=S.useRef(""),qn=S.useRef("unknown"),[Xr,_n]=S.useState(""),[Zr,er]=S.useState(!1);S.useEffect(()=>{br.current=String(lt||"").trim(),br.current||(qn.current="unknown")},[lt]);const Tn=(_,x)=>{const E=String(_||"").trim();E&&(br.current=E,qn.current=x,Zn(E))},qt=()=>{br.current="",qn.current="unknown",Zn("")},jr=(_,x)=>{const E={run_id:br.current,kind:qn.current},M=fg(E,{run_id:_,kind:x}),ne=String(M.run_id||"").trim();ne&&(ne===E.run_id&&M.kind===E.kind||Tn(ne,M.kind))},wt=S.useMemo(()=>nu(pe),[pe]),yn=String((wt==null?void 0:wt.reason)||"").trim(),qr=String((wt==null?void 0:wt.wait_key)||"").trim(),wn=S.useMemo(()=>hg({root_run_id:P,root_wait:wt,records:re}),[P,re,wt]),en=wn.wait,tr=String(wn.wait_run_id||"").trim(),es=wn.tool_calls,Mn=String((en==null?void 0:en.reason)||"").trim(),Wn=String((en==null?void 0:en.wait_key)||"").trim(),Le=Mn==="event"?Cs(Pm(Wn)):"",$e=Mn==="user"||Mn==="event"&&Le==="abstract.ask",ct=!!P&&!en&&!te&&!!Q.trim(),At=wt&&yn==="subworkflow"||!wt&&ct,Ue=S.useMemo(()=>{const _=String(P||"").trim();if(yn==="subworkflow"){const x=String(lt||"").trim();if(x)return x}return _},[P,lt,yn]),Pt=S.useMemo(()=>av(re,Ue),[re,Ue]),on=S.useMemo(()=>{const _=Number(s.settings.max_iterations);return Number.isFinite(_)&&_>0?Math.trunc(_):25},[s.settings.max_iterations]),An=S.useMemo(()=>{if(!Ue)return"";const _=on;if(!Number.isFinite(_)||_<=0)return"";const x=Math.max(0,Math.trunc(Pt.current||0));return`(${Math.min(x,_)}/${_})`},[Ue,Pt.current,on]),vn=S.useMemo(()=>{var x;if(yn!=="subworkflow")return"";const _=String(((x=wt==null?void 0:wt.details)==null?void 0:x.sub_run_id)||"").trim();return _||(qr.startsWith("subworkflow:")?String(qr.split(":",2)[1]||"").trim():"")},[yn,qr,wt]);S.useEffect(()=>{if(yn!=="subworkflow"){qn.current!=="user_facing"&&qt(),_n("");return}if(vn){const _=ru(wt);jr(vn,_==="unknown"?"background":_)}},[yn,wt,vn]),S.useEffect(()=>{if(!vn)return;let _=!1;return _n(""),(async()=>{try{const x=await s.gateway.get_run(vn);if(_)return;const E=String((x==null?void 0:x.workflow_id)||"").trim();_n(E||"subflow")}catch{_||_n("subflow")}})(),()=>{_=!0}},[s.gateway,vn]);const mt=s.repl.template,ts=(mt==null?void 0:mt.name)||(mt?`${mt.bundle_id}:${mt.flow_id}`:"");S.useEffect(()=>{W.current=s.repl.messages||[]},[s.repl.messages]),S.useEffect(()=>{const _=String(s.attach_run_id||"").trim();_&&(s.on_attach_consumed(),sn.current=_,Wt(x=>({...x,messages:[],updated_at:ht()})),st([]),Bt([]),gt(""),Xt(!1),N(""),U(""),Et(),se.current="",_!==P&&V(_))},[s.attach_run_id]);function Wt(_){s.on_repl(s.session_id,_)}S.useEffect(()=>{let _=!1;const x=String(s.settings.model||"").trim();if(!x){f(null),h("");return}return(async()=>{h("");try{const M=await s.gateway.discovery_model_capabilities(x);if(_)return;f(M),M!=null&&M.error&&h(String(M.error))}catch(M){if(_)return;f(null),h(String((M==null?void 0:M.message)||M||"Failed to load model capabilities"))}})(),()=>{_=!0}},[s.gateway,s.settings.provider,s.settings.model]),S.useEffect(()=>{let _=!1;return v({}),(async()=>{try{const x=await s.gateway.discovery_tools(),E=Array.isArray(x==null?void 0:x.items)?x.items:[],M={};for(const ne of E){if(!ne||typeof ne!="object")continue;const Y=String(ne.name||"").trim();Y&&(M[Y]=ne)}_||v(M)}catch{_||v({})}})(),()=>{_=!0}},[s.gateway]),S.useEffect(()=>{let _=!1;return(async()=>{a("");try{const E=await la(s.gateway);if(_)return;if(r(E),s.repl.template){const M=s.repl.template;if(M&&!E.some(ne=>ne.bundle_id===M.bundle_id&&ne.flow_id===M.flow_id)){const ne=E.find(Y=>Y.bundle_id===M.bundle_id)||E.find(Y=>Y.bundle_id==="basic-agent")||E[0];ne?(Wt(Y=>({...Y,template:{bundle_id:ne.bundle_id,flow_id:ne.flow_id,name:ne.name},updated_at:ht()})),a(`Agent "${M.name||M.bundle_id}" was updated or unavailable — switched to "${ne.name}".`)):a(`Agent "${M.name||M.bundle_id}" unavailable. Select an agent in New.`)}}}catch(E){if(_)return;a(String((E==null?void 0:E.message)||E||"Failed to load agents"))}})(),()=>{_=!0}},[s.gateway]),S.useEffect(()=>{if(!l||!l.includes("switched to"))return;const _=setTimeout(()=>a(""),6e3);return()=>clearTimeout(_)},[l]),S.useEffect(()=>{if(s.repl.template||P||(s.repl.messages||[]).length)return;const _=n.find(x=>x.bundle_id==="basic-agent")||n[0]||null;_&&Wt(x=>({...x,template:{bundle_id:_.bundle_id,flow_id:_.flow_id,name:_.name},updated_at:ht()}))},[n,s.repl.template,P,s.repl.messages]),S.useEffect(()=>{const _=String(s.session_id||"").trim();if(!_||P)return;const x=qc(_);if(x){if((s.repl.messages||[]).some(q=>q.role==="assistant"&&String(q.run_id||"").trim()===x&&String(q.content||"").trim())){Ql(_),Kl(x);return}V(x);return}const E=s.repl.messages||[],M=E.length?E[E.length-1]:null,ne=M&&M.role==="user"?String(M.run_id||"").trim():"";!ne||E.some(de=>de.role==="assistant"&&String(de.run_id||"").trim()===ne&&String(de.content||"").trim())||(Cm(_,ne),V(ne))},[P,s.session_id,s.repl.messages]);function Et(){ke(""),Se.current!==null&&(window.clearTimeout(Se.current),Se.current=null)}function ma(_,x){const E=String(_||"").trim();if(!E||E.toLowerCase()==="completed"||E.toLowerCase()==="done"){Et();return}ke(E),Se.current!==null&&(window.clearTimeout(Se.current),Se.current=null),Number.isFinite(x)&&x>0&&(Se.current=window.setTimeout(()=>Et(),Math.floor(x*1e3)))}function ft(_){Wt(x=>({...x,messages:[...x.messages||[],_].slice(-200),updated_at:ht()}))}function Do(_,x){const E=String(_||"").trim(),M=Number(x);E&&Number.isFinite(M)&&(kr.current[E]=Math.max(Number(kr.current[E]||0),Math.max(0,Math.trunc(M))),fr.current===null&&(fr.current=window.setTimeout(()=>{const ne=kr.current;kr.current={},fr.current=null;for(const[Y,de]of Object.entries(ne))eu(Y,de)},250)))}S.useEffect(()=>()=>{fr.current!==null&&(window.clearTimeout(fr.current),fr.current=null),He.current!==null&&(window.cancelAnimationFrame(He.current),He.current=null),Ge.current!==null&&(window.cancelAnimationFrame(Ge.current),Ge.current=null),kr.current={}},[]);function Io(){He.current!==null||Ge.current!==null||(He.current=window.requestAnimationFrame(()=>{He.current=null,Ge.current=window.requestAnimationFrame(()=>{var x;Ge.current=null;const _=ge.current;if(_){_.scrollTop=_.scrollHeight;try{(x=ee.current)==null||x.scrollIntoView({block:"end"})}catch{}G.current=!0,Re(!0)}})}))}S.useEffect(()=>{const _=ge.current;if(!_)return;const E=_.scrollTop+_.clientHeight>=_.scrollHeight-80;!G.current&&!E||Io()},[s.repl.updated_at]),S.useEffect(()=>{const _=ve.current;if(!_||typeof ResizeObserver>"u")return;const x=new ResizeObserver(()=>{G.current&&Io()});return x.observe(_),()=>x.disconnect()},[]);function pa(_){var q;const x=(q=_==null?void 0:_.effect)==null?void 0:q.payload;if(!x||typeof x!="object")return;const E=Array.isArray(x.tool_calls)?x.tool_calls:[];if(!E.length)return;const M=_==null?void 0:_.result,ne=M&&typeof M=="object"?M.results:null,Y=Array.isArray(ne)?ne:[],de=new Map;for(const Z of Y){if(!Z||typeof Z!="object")continue;const Me=String(Z.call_id||Z.id||"").trim();Me&&de.set(Me,Z)}for(let Z=0;Z<E.length;Z++){const Me=E[Z];if(!Me||typeof Me!="object")continue;const De=String(Me.name||"").trim(),je=String(Me.call_id||Me.id||"").trim();if(je&&Zt.current.has(je))continue;je&&Zt.current.add(je);const Be=Me.arguments,oe=(je&&de.has(je)?de.get(je):null)||Y[Z]||null,ue=oe&&typeof oe=="object"?!!oe.success:null,X=oe&&typeof oe=="object"?String(oe.error||"").trim():"",Te=oe&&typeof oe=="object"?oe.output??oe.result??null:null;let Ve=Te==null?"":typeof Te=="string"?Te:oa(Te);if(Te&&typeof Te=="object"&&!Array.isArray(Te)){const Ne=Te.rendered;typeof Ne=="string"&&Ne.trim()&&(Ve=Ne)}Ve=Am(Ve,2e4),ft({role:"system",level:X?"error":ue===!1?"warn":"info",title:De?`Tool: ${De}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:De,call_id:je||void 0,success:ue,error:X||void 0,arguments:Be,output_preview:Ve}}})}}async function Ts(_){const x=String(_||"").trim();if(!x||P)return;if(Jt){U("Wait for attached files to finish loading.");return}if(!s.repl.template){U("Pick an agent in New.");return}if(!s.settings.provider.trim()||!s.settings.model.trim()){U("Set provider + model in Settings.");return}U(""),Et(),xe.current=[],L([]),J.current="",Ce(null),dt.current={},Un.current=new Set,Bn.current=new Set,Zt.current=new Set,qt(),_n("");const E=ht();se.current="";const M=Je.filter(Z=>!Z.loading&&!String(Z.error||"").trim()&&Z.attachment&&typeof Z.attachment=="object").map(Z=>Z.attachment).slice(0,16).map(Z=>({...Z})),ne=Ft&&typeof Ft=="object"?{...Ft}:null,Y=[...M,...ne?[ne]:[]].slice(0,16),de={role:"user",content:x,ts:E,meta:Y.length?{attachments:Y}:void 0};ft(de),ne&&Kt(null);const q=Je.filter(Z=>!Z.loading&&String(Z.error||"").trim());q.length&&ft({role:"system",level:"warn",title:"Attachments",content:["Some attached files could not be included:",...q.map(Z=>`- @${Z.path}: ${Z.error}`)].join(`
|
|
141
141
|
`),ts:ht()});try{const Z=Ow({prompt:x,settings:s.settings,repl_messages:[...s.repl.messages||[],de],session_id:s.session_id,attached_files:Je,template:s.repl.template}),Me=await s.gateway.start_run(s.repl.template.flow_id,Z,{bundle_id:s.repl.template.bundle_id,session_id:String(s.session_id||"").trim()||void 0});Cm(s.session_id,Me),eu(Me,0),Wt(De=>({...De,messages:(De.messages||[]).map(je=>je.role!=="user"||je.ts!==E||String(je.content||"").trim()!==x?je:{...je,run_id:Me}),updated_at:ht()})),V(Me),s.settings.files_keep||st([])}catch(Z){Et(),U(String((Z==null?void 0:Z.message)||Z||"Failed to start run"))}}function ns(){gn.current&&gn.current.abort(),gn.current=null,Ot.current&&Ot.current.abort(),Ot.current=null}function Ms(_,x){const E=String(x||"").trim();if(E&&se.current===E)return;E&&(se.current=E);const M=Rm(xe.current),ne=Om(xe.current),Y={};_.meta!==null&&_.meta!==void 0&&(Y.workflow_meta=_.meta),Y._repl={duration_ms:M.duration_ms,llm_calls:M.llm_calls,tool_calls:M.tool_calls,usage:M.usage,tok_s:M.duration_ms>0&&M.usage.total_tokens>0?M.usage.total_tokens/(M.duration_ms/1e3):null};const de=String(_.response||"").trim(),q=W.current||[];let Z=null;for(let je=q.length-1;je>=0;je--){const Be=q[je];if(Be.role==="assistant"&&String(Be.content||"").trim()){Z=Be;break}}!!(Z&&String(Z.content||"").trim()===de)?Wt(je=>{const Be=[...je.messages||[]];for(let oe=Be.length-1;oe>=0;oe--){const ue=Be[oe];if(ue.role!=="assistant"||String(ue.content||"").trim()!==de)continue;const X=ue.meta&&typeof ue.meta=="object"?{...ue.meta}:{};Y.workflow_meta!=null&&X.workflow_meta==null&&(X.workflow_meta=Y.workflow_meta),X._repl=Y._repl,Be[oe]={...ue,run_id:String(ue.run_id||"").trim()?ue.run_id:E,meta:X};break}return{...je,messages:Be.slice(-200),updated_at:ht()}}):ft({role:"assistant",content:de||String(_.response||""),ts:ht(),meta:Y,run_id:E});const De=[];De.push("**outcome:** completed"),De.push(`- duration: ${mu(M.duration_ms)}`),De.push(`- llm calls: ${M.llm_calls}`),De.push(`- tool calls: ${M.tool_calls}`),De.push(M.usage.total_tokens?`- tokens: in ${M.usage.input_tokens} • out ${M.usage.output_tokens} • total ${M.usage.total_tokens}`:"- tokens: —"),De.push(Y._repl.tok_s!=null&&Number.isFinite(Number(Y._repl.tok_s))?`- speed: ${Number(Y._repl.tok_s).toFixed(1)} tok/s`:"- speed: —"),ne.length&&(De.push(""),De.push("**tools used:**"),De.push(...ne.slice(0,40).map(je=>`- \`${je}\``)),ne.length>40&&De.push(`- …and ${ne.length-40} more`)),ft({role:"system",level:"info",title:"Digest",ts:ht(),run_id:x,content:De.join(`
|
|
142
|
-
`)}),qc(s.session_id)===x&&Ql(s.session_id),Kl(x),Et(),ns(),V(null)}function As(_,x){const E=String(x||"").trim();if(E&&se.current===E)return;E&&(se.current=E);const M=Rm(xe.current),ne=Om(xe.current);ft({role:"system",level:_==="failed"?"error":_==="cancelled"?"warn":"info",title:"Digest",ts:ht(),run_id:x,content:"",meta:{_kind:"run_digest",digest:{outcome:_,duration_ms:M.duration_ms,llm_calls:M.llm_calls,tool_calls:M.tool_calls,tokens:M.usage.total_tokens?{input:M.usage.input_tokens,output:M.usage.output_tokens,total:M.usage.total_tokens}:null,speed_tok_s:M.duration_ms>0&&M.usage.total_tokens>0?M.usage.total_tokens/(M.duration_ms/1e3):null,tools:ne.slice(0,200)}}}),qc(s.session_id)===x&&Ql(s.session_id),Kl(x),Et(),ns(),V(null)}function Li(_,x){var De,je,Be,oe;const E=_.record,M=String(x||(E==null?void 0:E.run_id)||"").trim();if(!M)return;const ne=M.startsWith("session_memory_"),Y=`${M}:${_.cursor}`;if(Un.current.has(Y))return;Un.current.add(Y),dt.current[M]=Math.max(Number(dt.current[M]||0),Number(_.cursor||0)),Do(M,dt.current[M]),ne||(xe.current=[...xe.current,_].slice(-4e3),L(xe.current),M===J.current&&Ce(E));const de=String((E==null?void 0:E.status)||"").trim(),q=String(((De=E==null?void 0:E.effect)==null?void 0:De.type)||"").trim(),Z=yv(E);if(Z&&dv(Z.name)){const{text:ue,duration_s:X}=wv(Z.payload);ma(ue,X)}if(Z&&fv(Z.name)){const ue=_v(Z.payload);ue&&ft({role:"system",content:ue.text,ts:ht(),level:ue.level,title:ue.title})}if(Z&&mv(Z.name)){const ue=Array.isArray(Z.payload)?Z.payload:Z.payload!=null?[Z.payload]:[];for(const X of ue.slice(0,30)){const Te=String((X==null?void 0:X.tool)||(X==null?void 0:X.name)||"").trim(),Ve=String((X==null?void 0:X.call_id)||(X==null?void 0:X.id)||"").trim();if(Ve&&Zt.current.has(Ve))continue;const Ne=(X==null?void 0:X.arguments)??(X==null?void 0:X.args)??(X==null?void 0:X.params)??(X==null?void 0:X.parameters)??null;ft({role:"system",level:"info",title:Te?`Tool: ${Te}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:Te||void 0,call_id:Ve||void 0,arguments:Ne??void 0,output_preview:"",pending:!0}}})}}if(Z&&pv(Z.name)){const ue=Array.isArray(Z.payload)?Z.payload:Z.payload!=null?[Z.payload]:[];for(const X of ue.slice(0,30)){const Te=String((X==null?void 0:X.tool)||(X==null?void 0:X.name)||"").trim(),Ve=String((X==null?void 0:X.call_id)||(X==null?void 0:X.id)||"").trim();if(Ve&&Zt.current.has(Ve))continue;const Ne=(X==null?void 0:X.arguments)??(X==null?void 0:X.args)??(X==null?void 0:X.params)??(X==null?void 0:X.parameters)??null,ie=X==null?void 0:X.success,be=typeof ie=="boolean"?ie:null,Qe=String((X==null?void 0:X.error)||"").trim(),ot=(X==null?void 0:X.output)??(X==null?void 0:X.result)??(X==null?void 0:X.response)??(X==null?void 0:X.value)??null,tt=ot==null?"":typeof ot=="string"?ot:oa(ot),Ct=Am(tt,2e4);Ve&&Zt.current.add(Ve),ft({role:"system",level:Qe?"error":be===!1?"warn":"info",title:Te?`Tool: ${Te}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:Te||void 0,call_id:Ve||void 0,arguments:Ne??void 0,output_preview:Ct,success:be,error:Qe||void 0}}})}}if(Z&&hv(Z.name),Z&&gv(Z.name),q==="tool_calls"&&de==="completed"&&pa(E),q==="answer_user"&&de==="completed"){const ue=(je=E==null?void 0:E.effect)==null?void 0:je.payload,X=E==null?void 0:E.result,Te=(X&&typeof X=="object"?X.message:null)??(ue==null?void 0:ue.message)??(ue==null?void 0:ue.text)??(ue==null?void 0:ue.content)??"",Ve=String(Te??"").trim();if(Ve){const Ne=(X&&typeof X=="object"?X.level:null)??(ue==null?void 0:ue.level)??"message",ie=String(Ne||"").trim().toLowerCase(),be=ie==="error"?"error":ie==="warning"||ie==="warn"?"warn":"info",Qe=be==="error"?"ERROR":be==="warn"?"WARNING":"MESSAGE";ft({role:"system",content:Ve,ts:ht(),level:be,title:Qe})}}if(String((E==null?void 0:E.status)||"").trim()==="waiting"){const ue=nu(E),X=String((ue==null?void 0:ue.reason)||"").trim(),Te=String((ue==null?void 0:ue.wait_key)||"").trim(),Ve=String((ue==null?void 0:ue.prompt)||"").trim(),Ne=ue==null?void 0:ue.details,ie=Ne&&typeof Ne=="object"?Ne==null?void 0:Ne.tool_calls:null,be=Array.isArray(ie)&&ie.length>0,Qe=X==="event"?Cs(Pm(Te)):"",ot=X==="event"&&Qe==="abstract.ask",tt=X==="user";if(M===J.current&&X==="subworkflow"){const Ct=String(((Be=ue==null?void 0:ue.details)==null?void 0:Be.sub_run_id)||"").trim()||(Te.startsWith("subworkflow:")?String(Te.split(":",2)[1]||"").trim():"");if(Ct){const zt=ru(ue);jr(Ct,zt==="unknown"?"background":zt)}}Te&&Ve&&(tt||ot)&&!be&&!Bn.current.has(Te)&&(Et(),Bn.current.add(Te),ft({role:"assistant",content:Ve,ts:ht(),meta:{kind:"ask",wait_key:Te}}))}const Me=vv(E);if(Me&&z&&(M===String(z||"").trim()||M===String(lt||"").trim())&&Ms(Me,String(z||"").trim()),de==="failed"&&z&&(M===String(z||"").trim()||M===String(lt||"").trim())){const ue=String((E==null?void 0:E.error)||((oe=E==null?void 0:E.result)==null?void 0:oe.error)||"step failed").trim();ft({role:"assistant",content:`Error: ${ue}`,ts:ht(),run_id:z}),As("failed",z)}}const rs=async(_,x)=>{const E=await s.gateway.get_ledger(_,{after:x,limit:2e3}),M=Array.isArray(E.items)?E.items:[],ne=x+1;for(let de=0;de<M.length;de++){const q=M[de];Li({cursor:ne+de,record:q},_)}const Y=typeof E.next_after=="number"?E.next_after:x+M.length;return dt.current[_]=Math.max(Number(dt.current[_]||0),Number(Y||0)),Do(_,dt.current[_]),Y},ei=_=>{const x=String(_||"").trim();return x?(typeof dt.current[x]!="number"&&(dt.current[x]=Tm(x)??0),Number(dt.current[x]||0)):0},ti=async()=>{const _=await bo(s.session_id),x=ei(_);await rs(_,x)},[Dr,nr]=S.useState({key:"",status:"idle"}),ni=S.useRef(""),Ir=S.useRef(""),Xe=S.useRef(null),$s=S.useRef(null),ss=S.useRef(null),is=S.useRef(null),Fr=S.useRef(0),Rs=S.useRef(0),Oi=()=>{try{const _=globalThis,x=(_==null?void 0:_.AudioContext)||(_==null?void 0:_.webkitAudioContext);if(!x)return null;if(!Xe.current){const ne=new x,Y=ne.createGain();Y.gain.value=1,Y.connect(ne.destination),Xe.current=ne,$s.current=Y}const E=Xe.current,M=$s.current;if(!E||!M)return null;try{E.state==="suspended"&&E.resume()}catch{}return{ctx:E,gain:M}}catch{return null}},os=()=>{const _=ss.current;if(ss.current=null,!!_){try{_.onended=null}catch{}try{_.stop()}catch{}try{_.disconnect()}catch{}}};S.useEffect(()=>()=>{var _,x;os();try{(_=$s.current)==null||_.disconnect()}catch{}try{(x=Xe.current)==null||x.close()}catch{}Xe.current=null,$s.current=null,is.current=null},[]);const ri=async(_,x)=>{var ne;const E=x.slice(0),M=(ne=_.decodeAudioData)==null?void 0:ne.bind(_);if(typeof M!="function")throw new Error("decodeAudioData not available");try{const Y=M(E);if(Y&&typeof Y.then=="function")return await Y}catch{}return await new Promise((Y,de)=>{try{M(E,Y,de)}catch(q){de(q)}})},mr=async(_,x,E)=>{const M=Oi();if(!M)throw new Error("TTS playback is not supported in this browser");const{ctx:ne,gain:Y}=M;try{ne.state==="suspended"&&await ne.resume()}catch{}os();const de=ne.createBufferSource();de.buffer=x,de.connect(Y);const q=Number.isFinite(Number(x.duration))?Number(x.duration):0,Z=Math.max(0,Math.min(Number(E||0),q>0?Math.max(0,q-.01):0));Rs.current=ne.currentTime-Z,Fr.current=Z,ss.current=de,ni.current=_,de.onended=()=>{ss.current===de&&(ss.current=null,Fr.current=0,Rs.current=0,ni.current="",nr({key:"",status:"idle"}))};try{de.start(0,Z),nr({key:_,status:"playing"})}catch(Me){throw new Error(String((Me==null?void 0:Me.message)||Me||"Failed to start audio playback"))}},Nr=async(_,x)=>{const E=String(_||"").trim(),M=String(x||"").trim();if(!E||!M)return;const ne=Oi();if(!ne){U("TTS playback is not supported in this browser");return}const Y=ne.ctx,de=Dr.key===E;if(de&&Dr.status==="playing"){const q=Math.max(0,Y.currentTime-Number(Rs.current||0));Fr.current=q,os(),nr({key:E,status:"paused"});return}if(de&&Dr.status==="paused"){const q=is.current;if(q){U("");try{await mr(E,q,Fr.current)}catch(Z){U(String((Z==null?void 0:Z.message)||Z||"TTS play failed")),nr({key:"",status:"idle"})}return}}if(!(de&&Dr.status==="loading")){os(),is.current=null,Fr.current=0,Rs.current=0,ni.current=E,Ir.current=E,nr({key:E,status:"loading"}),U("");try{const q=await bo(s.session_id);ei(q);const Z=await s.gateway.voice_tts(q,{text:M,request_id:Il()}),Me=Z==null?void 0:Z.audio_artifact,De=Me&&typeof Me=="object"&&!Array.isArray(Me)?String(Me.$artifact||"").trim():"";if(!De)throw new Error("TTS failed: missing audio artifact");const{blob:je}=await s.gateway.get_run_artifact_blob(q,De,{max_bytes:25e6}),Be=await je.arrayBuffer();if(Ir.current!==E)return;const oe=await ri(Y,Be);if(Ir.current!==E)return;is.current=oe,Fr.current=0,await mr(E,oe,0);try{await ti()}catch{}}catch(q){Ir.current===E&&(Ir.current="",ni.current="",nr({key:"",status:"idle"})),U(String((q==null?void 0:q.message)||q||"TTS failed"))}}};S.useEffect(()=>{(async()=>{try{await ti()}catch{}})()},[s.session_id]),S.useEffect(()=>{const _=String(z||"").trim();if(!_)return;let x=!1;return U(""),Et(),xe.current=[],L([]),J.current=_,Ce(null),dt.current={[_]:Tm(_)??0},sn.current===_&&(dt.current={[_]:0},eu(_,0),sn.current=""),Un.current=new Set,Bn.current=new Set((s.repl.messages||[]).map(M=>{var ne;return String(((ne=M==null?void 0:M.meta)==null?void 0:ne.wait_key)||"").trim()}).filter(Boolean)),Zt.current=new Set((s.repl.messages||[]).map(M=>{var ne,Y,de;return String(((ne=M==null?void 0:M.meta)==null?void 0:ne._kind)==="tool"&&((de=(Y=M==null?void 0:M.meta)==null?void 0:Y.tool)==null?void 0:de.call_id)||"").trim()}).filter(Boolean)),qt(),_n(""),gn.current&&gn.current.abort(),gn.current=new AbortController,Ot.current&&Ot.current.abort(),Ot.current=null,(async()=>{var M,ne,Y;try{if(s.repl.messages.length)try{const q=await s.gateway.get_run_history_bundle(_,{include_subruns:!1,include_session:!1,ledger_mode:"tail",ledger_max_items:1});if(x)return;const Z=String(((ne=q==null?void 0:q.run)==null?void 0:ne.workflow_id)||"").trim(),Me=Ro(Z);if(Me){const De=zm(Z,n);(!s.repl.template||s.repl.template.bundle_id!==Me.bundle_id||s.repl.template.flow_id!==Me.flow_id)&&Wt(je=>{var Be;return{...je,template:{bundle_id:Me.bundle_id,flow_id:Me.flow_id,name:(De==null?void 0:De.name)||((Be=je.template)==null?void 0:Be.name)||Me.bundle_id},updated_at:ht()}})}}catch{}else try{const q=await s.gateway.get_run_history_bundle(_,{include_subruns:!0,include_session:!0,session_turn_limit:200,ledger_mode:"tail",ledger_max_items:2e3});if(x)return;const Z=String(((M=q==null?void 0:q.run)==null?void 0:M.workflow_id)||"").trim(),Me=Ro(Z);if(Me){const je=zm(Z,n);Wt(Be=>{var oe;return{...Be,template:{bundle_id:Me.bundle_id,flow_id:Me.flow_id,name:(je==null?void 0:je.name)||((oe=Be.template)==null?void 0:oe.name)||Me.bundle_id},updated_at:ht()}})}const De=Hw(q,{now_iso:ht,include_tool_calls_for_run_id:_});try{Zt.current=new Set(De.map(je=>{var Be,oe,ue;return String(((Be=je==null?void 0:je.meta)==null?void 0:Be._kind)==="tool"&&((ue=(oe=je==null?void 0:je.meta)==null?void 0:oe.tool)==null?void 0:ue.call_id)||"").trim()}).filter(Boolean))}catch{}De.length&&Wt(je=>({...je,messages:De,updated_at:ht()}))}catch{}const de=Math.max(0,Number(dt.current[_]||0));if(await rs(_,Math.max(0,de-1)),x)return;for(;!x;){try{await s.gateway.stream_ledger(_,{after:Number(dt.current[_]||0),signal:(Y=gn.current)==null?void 0:Y.signal,on_step:Z=>{x||Li(Z,_)}})}catch(Z){if(x||String((Z==null?void 0:Z.name)||"")==="AbortError")return;throw Z}if(x)return;try{await rs(_,Number(dt.current[_]||0))}catch{}if(x)return;let q="";try{const Z=await s.gateway.get_run(_);if(x)return;q=String((Z==null?void 0:Z.status)||"").trim().toLowerCase()}catch{q=""}if(q==="completed"||q==="failed"||q==="cancelled"){As(q,_);return}await new Promise(Z=>window.setTimeout(Z,900))}}catch(de){if(x||String((de==null?void 0:de.name)||"")==="AbortError")return;U(String((de==null?void 0:de.message)||de||"Failed to attach"))}})(),()=>{x=!0,ns()}},[z,s.gateway]),S.useEffect(()=>{const _=String(z||"").trim(),x=String(lt||"").trim();if(!_||!x||x===_)return;let E=!1;Ot.current&&Ot.current.abort();const M=new AbortController;return Ot.current=M,(async()=>{try{(()=>{typeof dt.current[x]!="number"&&(dt.current[x]=0)})();try{await rs(x,Number(dt.current[x]||0))}catch{}if(E||M.signal.aborted)return;for(;!E&&!M.signal.aborted;){try{await s.gateway.stream_ledger(x,{after:Number(dt.current[x]||0),signal:M.signal,on_step:q=>{E||Li(q,x)}})}catch(q){if(E||String((q==null?void 0:q.name)||"")==="AbortError")return}if(E||M.signal.aborted)return;try{await rs(x,Number(dt.current[x]||0))}catch{}if(E||M.signal.aborted)return;let de="";try{const q=await s.gateway.get_run(x);if(E)return;de=String((q==null?void 0:q.status)||"").trim().toLowerCase()}catch{de=""}if(de==="completed"||de==="failed"||de==="cancelled")return;await new Promise(q=>window.setTimeout(q,900))}}catch{}})(),()=>{E=!0,M.abort(),Ot.current===M&&(Ot.current=null)}},[z,lt,s.gateway]);async function rr(_){const x=String(tr||z||"").trim();if(!(!x||!Wn)){U(""),we(!0);try{await s.gateway.submit_command({command_id:Il(),run_id:x,type:"resume",payload:{wait_key:Wn,payload:_||{}},client_id:s.settings.client_id||"abstractcode_web"});try{const E=Number(dt.current[x]||0);await rs(x,E)}catch{}}catch(E){U(String((E==null?void 0:E.message)||E||"resume failed"))}finally{we(!1)}}}async function Ls(){const _=String(J.current||z||"").trim();if(_){U(""),k(!0);try{await s.gateway.submit_command({command_id:Il(),run_id:_,type:"cancel",payload:{},client_id:s.settings.client_id||"abstractcode_web"})}catch(x){U(String((x==null?void 0:x.message)||x||"cancel failed"))}finally{k(!1)}}}async function Os(_){const x=String(_||"").trim();x&&(ft({role:"user",content:x,ts:ht()}),await rr({response:x}))}const xn=S.useMemo(()=>{const x=(s.repl.messages||[]).filter(oe=>oe.role==="user"||oe.role==="assistant").map(oe=>`${oe.role}: ${oe.content}`).join(`
|
|
142
|
+
`)}),qc(s.session_id)===x&&Ql(s.session_id),Kl(x),Et(),ns(),V(null)}function As(_,x){const E=String(x||"").trim();if(E&&se.current===E)return;E&&(se.current=E);const M=Rm(xe.current),ne=Om(xe.current);ft({role:"system",level:_==="failed"?"error":_==="cancelled"?"warn":"info",title:"Digest",ts:ht(),run_id:x,content:"",meta:{_kind:"run_digest",digest:{outcome:_,duration_ms:M.duration_ms,llm_calls:M.llm_calls,tool_calls:M.tool_calls,tokens:M.usage.total_tokens?{input:M.usage.input_tokens,output:M.usage.output_tokens,total:M.usage.total_tokens}:null,speed_tok_s:M.duration_ms>0&&M.usage.total_tokens>0?M.usage.total_tokens/(M.duration_ms/1e3):null,tools:ne.slice(0,200)}}}),qc(s.session_id)===x&&Ql(s.session_id),Kl(x),Et(),ns(),V(null)}function Li(_,x){var De,je,Be,oe;const E=_.record,M=String(x||(E==null?void 0:E.run_id)||"").trim();if(!M)return;const ne=M.startsWith("session_memory_"),Y=`${M}:${_.cursor}`;if(Un.current.has(Y))return;Un.current.add(Y),dt.current[M]=Math.max(Number(dt.current[M]||0),Number(_.cursor||0)),Do(M,dt.current[M]),ne||(xe.current=[...xe.current,_].slice(-4e3),L(xe.current),M===J.current&&Ce(E));const de=String((E==null?void 0:E.status)||"").trim(),q=String(((De=E==null?void 0:E.effect)==null?void 0:De.type)||"").trim(),Z=yv(E);if(Z&&dv(Z.name)){const{text:ue,duration_s:X}=wv(Z.payload);ma(ue,X)}if(Z&&fv(Z.name)){const ue=_v(Z.payload);ue&&ft({role:"system",content:ue.text,ts:ht(),level:ue.level,title:ue.title})}if(Z&&mv(Z.name)){const ue=Array.isArray(Z.payload)?Z.payload:Z.payload!=null?[Z.payload]:[];for(const X of ue.slice(0,30)){const Te=String((X==null?void 0:X.tool)||(X==null?void 0:X.name)||"").trim(),Ve=String((X==null?void 0:X.call_id)||(X==null?void 0:X.id)||"").trim();if(Ve&&Zt.current.has(Ve))continue;const Ne=(X==null?void 0:X.arguments)??(X==null?void 0:X.args)??(X==null?void 0:X.params)??(X==null?void 0:X.parameters)??null;ft({role:"system",level:"info",title:Te?`Tool: ${Te}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:Te||void 0,call_id:Ve||void 0,arguments:Ne??void 0,output_preview:"",pending:!0}}})}}if(Z&&pv(Z.name)){const ue=Array.isArray(Z.payload)?Z.payload:Z.payload!=null?[Z.payload]:[];for(const X of ue.slice(0,30)){const Te=String((X==null?void 0:X.tool)||(X==null?void 0:X.name)||"").trim(),Ve=String((X==null?void 0:X.call_id)||(X==null?void 0:X.id)||"").trim();if(Ve&&Zt.current.has(Ve))continue;const Ne=(X==null?void 0:X.arguments)??(X==null?void 0:X.args)??(X==null?void 0:X.params)??(X==null?void 0:X.parameters)??null,ie=X==null?void 0:X.success,be=typeof ie=="boolean"?ie:null,Qe=String((X==null?void 0:X.error)||"").trim(),ot=(X==null?void 0:X.output)??(X==null?void 0:X.result)??(X==null?void 0:X.response)??(X==null?void 0:X.value)??null,tt=ot==null?"":typeof ot=="string"?ot:oa(ot),Ct=Am(tt,2e4);Ve&&Zt.current.add(Ve),ft({role:"system",level:Qe?"error":be===!1?"warn":"info",title:Te?`Tool: ${Te}`:"Tool",content:"",ts:ht(),meta:{_kind:"tool",tool:{name:Te||void 0,call_id:Ve||void 0,arguments:Ne??void 0,output_preview:Ct,success:be,error:Qe||void 0}}})}}if(Z&&hv(Z.name),Z&&gv(Z.name),q==="tool_calls"&&de==="completed"&&pa(E),q==="answer_user"&&de==="completed"){const ue=(je=E==null?void 0:E.effect)==null?void 0:je.payload,X=E==null?void 0:E.result,Te=(X&&typeof X=="object"?X.message:null)??(ue==null?void 0:ue.message)??(ue==null?void 0:ue.text)??(ue==null?void 0:ue.content)??"",Ve=String(Te??"").trim();if(Ve){const Ne=(X&&typeof X=="object"?X.level:null)??(ue==null?void 0:ue.level)??"message",ie=String(Ne||"").trim().toLowerCase(),be=ie==="error"?"error":ie==="warning"||ie==="warn"?"warn":"info",Qe=be==="error"?"ERROR":be==="warn"?"WARNING":"MESSAGE";ft({role:"system",content:Ve,ts:ht(),level:be,title:Qe})}}if(String((E==null?void 0:E.status)||"").trim()==="waiting"){const ue=nu(E),X=String((ue==null?void 0:ue.reason)||"").trim(),Te=String((ue==null?void 0:ue.wait_key)||"").trim(),Ve=String((ue==null?void 0:ue.prompt)||"").trim(),Ne=ue==null?void 0:ue.details,ie=Ne&&typeof Ne=="object"?Ne==null?void 0:Ne.tool_calls:null,be=Array.isArray(ie)&&ie.length>0,Qe=X==="event"?Cs(Pm(Te)):"",ot=X==="event"&&Qe==="abstract.ask",tt=X==="user";if(M===J.current&&X==="subworkflow"){const Ct=String(((Be=ue==null?void 0:ue.details)==null?void 0:Be.sub_run_id)||"").trim()||(Te.startsWith("subworkflow:")?String(Te.split(":",2)[1]||"").trim():"");if(Ct){const zt=ru(ue);jr(Ct,zt==="unknown"?"background":zt)}}Te&&Ve&&(tt||ot)&&!be&&!Bn.current.has(Te)&&(Et(),Bn.current.add(Te),ft({role:"assistant",content:Ve,ts:ht(),meta:{kind:"ask",wait_key:Te}}))}const Me=vv(E);if(Me&&P&&(M===String(P||"").trim()||M===String(lt||"").trim())&&Ms(Me,String(P||"").trim()),de==="failed"&&P&&(M===String(P||"").trim()||M===String(lt||"").trim())){const ue=String((E==null?void 0:E.error)||((oe=E==null?void 0:E.result)==null?void 0:oe.error)||"step failed").trim();ft({role:"assistant",content:`Error: ${ue}`,ts:ht(),run_id:P}),As("failed",P)}}const rs=async(_,x)=>{const E=await s.gateway.get_ledger(_,{after:x,limit:2e3}),M=Array.isArray(E.items)?E.items:[],ne=x+1;for(let de=0;de<M.length;de++){const q=M[de];Li({cursor:ne+de,record:q},_)}const Y=typeof E.next_after=="number"?E.next_after:x+M.length;return dt.current[_]=Math.max(Number(dt.current[_]||0),Number(Y||0)),Do(_,dt.current[_]),Y},ei=_=>{const x=String(_||"").trim();return x?(typeof dt.current[x]!="number"&&(dt.current[x]=Tm(x)??0),Number(dt.current[x]||0)):0},ti=async()=>{const _=await bo(s.session_id),x=ei(_);await rs(_,x)},[Dr,nr]=S.useState({key:"",status:"idle"}),ni=S.useRef(""),Ir=S.useRef(""),Xe=S.useRef(null),$s=S.useRef(null),ss=S.useRef(null),is=S.useRef(null),Fr=S.useRef(0),Rs=S.useRef(0),Oi=()=>{try{const _=globalThis,x=(_==null?void 0:_.AudioContext)||(_==null?void 0:_.webkitAudioContext);if(!x)return null;if(!Xe.current){const ne=new x,Y=ne.createGain();Y.gain.value=1,Y.connect(ne.destination),Xe.current=ne,$s.current=Y}const E=Xe.current,M=$s.current;if(!E||!M)return null;try{E.state==="suspended"&&E.resume()}catch{}return{ctx:E,gain:M}}catch{return null}},os=()=>{const _=ss.current;if(ss.current=null,!!_){try{_.onended=null}catch{}try{_.stop()}catch{}try{_.disconnect()}catch{}}};S.useEffect(()=>()=>{var _,x;os();try{(_=$s.current)==null||_.disconnect()}catch{}try{(x=Xe.current)==null||x.close()}catch{}Xe.current=null,$s.current=null,is.current=null},[]);const ri=async(_,x)=>{var ne;const E=x.slice(0),M=(ne=_.decodeAudioData)==null?void 0:ne.bind(_);if(typeof M!="function")throw new Error("decodeAudioData not available");try{const Y=M(E);if(Y&&typeof Y.then=="function")return await Y}catch{}return await new Promise((Y,de)=>{try{M(E,Y,de)}catch(q){de(q)}})},mr=async(_,x,E)=>{const M=Oi();if(!M)throw new Error("TTS playback is not supported in this browser");const{ctx:ne,gain:Y}=M;try{ne.state==="suspended"&&await ne.resume()}catch{}os();const de=ne.createBufferSource();de.buffer=x,de.connect(Y);const q=Number.isFinite(Number(x.duration))?Number(x.duration):0,Z=Math.max(0,Math.min(Number(E||0),q>0?Math.max(0,q-.01):0));Rs.current=ne.currentTime-Z,Fr.current=Z,ss.current=de,ni.current=_,de.onended=()=>{ss.current===de&&(ss.current=null,Fr.current=0,Rs.current=0,ni.current="",nr({key:"",status:"idle"}))};try{de.start(0,Z),nr({key:_,status:"playing"})}catch(Me){throw new Error(String((Me==null?void 0:Me.message)||Me||"Failed to start audio playback"))}},Nr=async(_,x)=>{const E=String(_||"").trim(),M=String(x||"").trim();if(!E||!M)return;const ne=Oi();if(!ne){U("TTS playback is not supported in this browser");return}const Y=ne.ctx,de=Dr.key===E;if(de&&Dr.status==="playing"){const q=Math.max(0,Y.currentTime-Number(Rs.current||0));Fr.current=q,os(),nr({key:E,status:"paused"});return}if(de&&Dr.status==="paused"){const q=is.current;if(q){U("");try{await mr(E,q,Fr.current)}catch(Z){U(String((Z==null?void 0:Z.message)||Z||"TTS play failed")),nr({key:"",status:"idle"})}return}}if(!(de&&Dr.status==="loading")){os(),is.current=null,Fr.current=0,Rs.current=0,ni.current=E,Ir.current=E,nr({key:E,status:"loading"}),U("");try{const q=await bo(s.session_id);ei(q);const Z=await s.gateway.voice_tts(q,{text:M,request_id:Il()}),Me=Z==null?void 0:Z.audio_artifact,De=Me&&typeof Me=="object"&&!Array.isArray(Me)?String(Me.$artifact||"").trim():"";if(!De)throw new Error("TTS failed: missing audio artifact");const{blob:je}=await s.gateway.get_run_artifact_blob(q,De,{max_bytes:25e6}),Be=await je.arrayBuffer();if(Ir.current!==E)return;const oe=await ri(Y,Be);if(Ir.current!==E)return;is.current=oe,Fr.current=0,await mr(E,oe,0);try{await ti()}catch{}}catch(q){Ir.current===E&&(Ir.current="",ni.current="",nr({key:"",status:"idle"})),U(String((q==null?void 0:q.message)||q||"TTS failed"))}}};S.useEffect(()=>{(async()=>{try{await ti()}catch{}})()},[s.session_id]),S.useEffect(()=>{const _=String(P||"").trim();if(!_)return;let x=!1;return U(""),Et(),xe.current=[],L([]),J.current=_,Ce(null),dt.current={[_]:Tm(_)??0},sn.current===_&&(dt.current={[_]:0},eu(_,0),sn.current=""),Un.current=new Set,Bn.current=new Set((s.repl.messages||[]).map(M=>{var ne;return String(((ne=M==null?void 0:M.meta)==null?void 0:ne.wait_key)||"").trim()}).filter(Boolean)),Zt.current=new Set((s.repl.messages||[]).map(M=>{var ne,Y,de;return String(((ne=M==null?void 0:M.meta)==null?void 0:ne._kind)==="tool"&&((de=(Y=M==null?void 0:M.meta)==null?void 0:Y.tool)==null?void 0:de.call_id)||"").trim()}).filter(Boolean)),qt(),_n(""),gn.current&&gn.current.abort(),gn.current=new AbortController,Ot.current&&Ot.current.abort(),Ot.current=null,(async()=>{var M,ne,Y;try{if(s.repl.messages.length)try{const q=await s.gateway.get_run_history_bundle(_,{include_subruns:!1,include_session:!1,ledger_mode:"tail",ledger_max_items:1});if(x)return;const Z=String(((ne=q==null?void 0:q.run)==null?void 0:ne.workflow_id)||"").trim(),Me=Ro(Z);if(Me){const De=zm(Z,n);(!s.repl.template||s.repl.template.bundle_id!==Me.bundle_id||s.repl.template.flow_id!==Me.flow_id)&&Wt(je=>{var Be;return{...je,template:{bundle_id:Me.bundle_id,flow_id:Me.flow_id,name:(De==null?void 0:De.name)||((Be=je.template)==null?void 0:Be.name)||Me.bundle_id},updated_at:ht()}})}}catch{}else try{const q=await s.gateway.get_run_history_bundle(_,{include_subruns:!0,include_session:!0,session_turn_limit:200,ledger_mode:"tail",ledger_max_items:2e3});if(x)return;const Z=String(((M=q==null?void 0:q.run)==null?void 0:M.workflow_id)||"").trim(),Me=Ro(Z);if(Me){const je=zm(Z,n);Wt(Be=>{var oe;return{...Be,template:{bundle_id:Me.bundle_id,flow_id:Me.flow_id,name:(je==null?void 0:je.name)||((oe=Be.template)==null?void 0:oe.name)||Me.bundle_id},updated_at:ht()}})}const De=Hw(q,{now_iso:ht,include_tool_calls_for_run_id:_});try{Zt.current=new Set(De.map(je=>{var Be,oe,ue;return String(((Be=je==null?void 0:je.meta)==null?void 0:Be._kind)==="tool"&&((ue=(oe=je==null?void 0:je.meta)==null?void 0:oe.tool)==null?void 0:ue.call_id)||"").trim()}).filter(Boolean))}catch{}De.length&&Wt(je=>({...je,messages:De,updated_at:ht()}))}catch{}const de=Math.max(0,Number(dt.current[_]||0));if(await rs(_,Math.max(0,de-1)),x)return;for(;!x;){try{await s.gateway.stream_ledger(_,{after:Number(dt.current[_]||0),signal:(Y=gn.current)==null?void 0:Y.signal,on_step:Z=>{x||Li(Z,_)}})}catch(Z){if(x||String((Z==null?void 0:Z.name)||"")==="AbortError")return;throw Z}if(x)return;try{await rs(_,Number(dt.current[_]||0))}catch{}if(x)return;let q="";try{const Z=await s.gateway.get_run(_);if(x)return;q=String((Z==null?void 0:Z.status)||"").trim().toLowerCase()}catch{q=""}if(q==="completed"||q==="failed"||q==="cancelled"){As(q,_);return}await new Promise(Z=>window.setTimeout(Z,900))}}catch(de){if(x||String((de==null?void 0:de.name)||"")==="AbortError")return;U(String((de==null?void 0:de.message)||de||"Failed to attach"))}})(),()=>{x=!0,ns()}},[P,s.gateway]),S.useEffect(()=>{const _=String(P||"").trim(),x=String(lt||"").trim();if(!_||!x||x===_)return;let E=!1;Ot.current&&Ot.current.abort();const M=new AbortController;return Ot.current=M,(async()=>{try{(()=>{typeof dt.current[x]!="number"&&(dt.current[x]=0)})();try{await rs(x,Number(dt.current[x]||0))}catch{}if(E||M.signal.aborted)return;for(;!E&&!M.signal.aborted;){try{await s.gateway.stream_ledger(x,{after:Number(dt.current[x]||0),signal:M.signal,on_step:q=>{E||Li(q,x)}})}catch(q){if(E||String((q==null?void 0:q.name)||"")==="AbortError")return}if(E||M.signal.aborted)return;try{await rs(x,Number(dt.current[x]||0))}catch{}if(E||M.signal.aborted)return;let de="";try{const q=await s.gateway.get_run(x);if(E)return;de=String((q==null?void 0:q.status)||"").trim().toLowerCase()}catch{de=""}if(de==="completed"||de==="failed"||de==="cancelled")return;await new Promise(q=>window.setTimeout(q,900))}}catch{}})(),()=>{E=!0,M.abort(),Ot.current===M&&(Ot.current=null)}},[P,lt,s.gateway]);async function rr(_){const x=String(tr||P||"").trim();if(!(!x||!Wn)){U(""),we(!0);try{await s.gateway.submit_command({command_id:Il(),run_id:x,type:"resume",payload:{wait_key:Wn,payload:_||{}},client_id:s.settings.client_id||"abstractcode_web"});try{const E=Number(dt.current[x]||0);await rs(x,E)}catch{}}catch(E){U(String((E==null?void 0:E.message)||E||"resume failed"))}finally{we(!1)}}}async function Ls(){const _=String(J.current||P||"").trim();if(_){U(""),k(!0);try{await s.gateway.submit_command({command_id:Il(),run_id:_,type:"cancel",payload:{},client_id:s.settings.client_id||"abstractcode_web"})}catch(x){U(String((x==null?void 0:x.message)||x||"cancel failed"))}finally{k(!1)}}}async function Os(_){const x=String(_||"").trim();x&&(ft({role:"user",content:x,ts:ht()}),await rr({response:x}))}const xn=S.useMemo(()=>{const x=(s.repl.messages||[]).filter(oe=>oe.role==="user"||oe.role==="assistant").map(oe=>`${oe.role}: ${oe.content}`).join(`
|
|
143
143
|
|
|
144
144
|
`),E=w.trim()?`${x}
|
|
145
145
|
|
|
146
|
-
user: ${w.trim()}`:x,M=Math.max(0,Math.ceil(E.length/4)),ne=(Je||[]).filter(oe=>!String(oe.error||"").trim()).slice(0,16),Y=ne.filter(oe=>!(typeof oe.size_bytes=="number"&&Number.isFinite(oe.size_bytes)&&oe.size_bytes>=0)).length,de=ne.reduce((oe,ue)=>{const X=typeof ue.size_bytes=="number"&&Number.isFinite(ue.size_bytes)&&ue.size_bytes>=0?Math.trunc(ue.size_bytes):0;return oe+X},0),q=Math.ceil(de/4)+Y*256,Z=Math.max(0,M+q),Me=d&&typeof d=="object"?d.capabilities:null,De=Me&&typeof Me=="object"?Number(Me.max_tokens??0):0,je=Number.isFinite(De)&&De>0?Math.trunc(De):null,Be=je?Z/je*100:0;return{used:Z,max_tokens:je,pct:Be,text_tokens:M,file_tokens:q,file_count:ne.length}},[s.repl.messages,w,Je,d]),Fo=Lm(xn.used),Pi=xn.max_tokens?Lm(xn.max_tokens):"",ls=Pi?`${Fo}/${Pi}`:Fo,zi=!
|
|
146
|
+
user: ${w.trim()}`:x,M=Math.max(0,Math.ceil(E.length/4)),ne=(Je||[]).filter(oe=>!String(oe.error||"").trim()).slice(0,16),Y=ne.filter(oe=>!(typeof oe.size_bytes=="number"&&Number.isFinite(oe.size_bytes)&&oe.size_bytes>=0)).length,de=ne.reduce((oe,ue)=>{const X=typeof ue.size_bytes=="number"&&Number.isFinite(ue.size_bytes)&&ue.size_bytes>=0?Math.trunc(ue.size_bytes):0;return oe+X},0),q=Math.ceil(de/4)+Y*256,Z=Math.max(0,M+q),Me=d&&typeof d=="object"?d.capabilities:null,De=Me&&typeof Me=="object"?Number(Me.max_tokens??0):0,je=Number.isFinite(De)&&De>0?Math.trunc(De):null,Be=je?Z/je*100:0;return{used:Z,max_tokens:je,pct:Be,text_tokens:M,file_tokens:q,file_count:ne.length}},[s.repl.messages,w,Je,d]),Fo=Lm(xn.used),Pi=xn.max_tokens?Lm(xn.max_tokens):"",ls=Pi?`${Fo}/${Pi}`:Fo,zi=!P&&!te,Uo=zi&&!Jt,as=S.useMemo(()=>{const _=w.trimStart();return _.startsWith("/")?(_.slice(1).split(/\s+/,1)[0]||"").trim().toLowerCase():""},[w]),Di=S.useMemo(()=>[{name:"help",desc:"Show available commands"},{name:"bug",desc:"Report a bug (writes a Markdown report on the gateway)"},{name:"feature",desc:"Request a feature (writes a Markdown report on the gateway)"},{name:"clear",desc:"Clear chat (keep agent)"},{name:"cache",desc:"Prompt cache (list/load/save/clear)"},{name:"sessions",desc:"Open Sessions view"},{name:"new",desc:"Start a new chat (pick agent)"},{name:"settings",desc:"Open Settings"},{name:"status",desc:"Show current run status"},{name:"temperature",desc:"Show/set temperature"},{name:"seed",desc:"Show/set seed (-1=random)"},{name:"max-iterations",desc:"Show/set max iterations"}],[]),Ur=S.useMemo(()=>{const _=w.trimStart();if(!_.startsWith("/"))return[];if(_.includes(" "))return[];const x=as;return Di.filter(M=>x?M.name.startsWith(x):!0).slice(0,12)},[w,as,Di]),$t=S.useMemo(()=>iv(w,b,"@"),[w,b]),Er=S.useMemo(()=>String(($t==null?void 0:$t.query)||"").trim(),[$t]),Sn=S.useMemo(()=>ov(Er),[Er]),Ps=_=>{const x=typeof _=="number"&&Number.isFinite(_)?Math.max(0,_):NaN;if(!Number.isFinite(x))return"";if(x<1024)return`${Math.trunc(x)} B`;const E=x/1024;if(E<1024)return`${Math.max(1,Math.round(E))} KB`;const M=E/1024;if(M<1024)return`${M.toFixed(M<10?1:0)} MB`;const ne=M/1024;return`${ne.toFixed(ne<10?1:0)} GB`};S.useEffect(()=>{O(0)},[Er,Mt.length]),S.useEffect(()=>{Fn.current=0},[s.gateway]),S.useEffect(()=>{if(!$t){Bt([]),rn({}),gt(""),Xt(!1);return}const _=Sn;if(_.target==="client"){Bt([]),rn({}),gt(""),Xt(!1);return}const x=String(_.query||"").trim();if(!x){Bt([]),rn({}),gt(""),Xt(!1);return}let E=!1;const M=Date.now(),ne=Number(Fn.current||0);if(ne>M){const q=Math.max(1,Math.ceil((ne-M)/1e3));Bt([]),rn({}),Xt(!1),gt(`Gateway rate limited; retry in ${q}s.`);return}Xt(!0),gt("");const Y=new AbortController,de=window.setTimeout(()=>{(async()=>{try{const q=(()=>{const Be=String(s.settings.workspace_root||"").trim(),oe=String(s.settings.workspace_access_mode||"").trim(),ue=String(s.settings.workspace_allowed_paths||"").trim(),X=String(s.settings.workspace_ignored_paths||"").trim();if(Be||ue||X||oe&&oe!=="workspace_only")return{workspace_root:Be,workspace_access_mode:oe,workspace_allowed_paths:ue,workspace_ignored_paths:X}})(),Z=await s.gateway.files_search(x,{limit:12,signal:Y.signal,...q?{scope:q}:{}});if(E)return;const Me=Array.isArray(Z==null?void 0:Z.items)?Z.items:[],De={},je=Me.map(Be=>{const oe=String((Be==null?void 0:Be.path)||"").trim(),ue=Be==null?void 0:Be.size_bytes;return oe&&typeof ue=="number"&&Number.isFinite(ue)&&ue>=0&&(De[oe]=Math.trunc(ue)),oe}).filter(Boolean).slice(0,12);Bt(je),rn(De)}catch(q){if(E||String((q==null?void 0:q.name)||"")==="AbortError")return;if(Bt([]),rn({}),q instanceof Lr){const Z=Number(q.status||0);if(Z===401||Z===403){Fn.current=Date.now()+3e4,gt("Unauthorized. Set the Gateway auth token in Settings to search server files.");return}if(Z===429){const Me=typeof q.retry_after_s=="number"&&Number.isFinite(q.retry_after_s)?Math.max(1,Math.trunc(q.retry_after_s)):30;Fn.current=Date.now()+Me*1e3,gt(`Gateway rate limited; retry in ${Me}s.`);return}}gt(String((q==null?void 0:q.message)||q||"File search failed"))}finally{E||Xt(!1)}})()},240);return()=>{E=!0,window.clearTimeout(de),Y.abort()}},[s.gateway,Er,!!$t]),S.useEffect(()=>{D(0)},[as,Ur.length]);async function Bo(_){var Z,Me,De,je,Be;const x=String(_||"").trim();if(!x.startsWith("/"))return!1;const E=x.slice(1).split(/\s+/),M=String(E[0]||"").trim().toLowerCase(),ne=E.slice(1),Y=oe=>ft({role:"system",level:"info",title:"Command",content:oe,ts:ht()}),de=(oe,ue,X,Te,Ve)=>ft({role:"system",level:oe==="report_bug"?"warn":"info",title:ue,content:X,ts:ht(),meta:{_kind:oe,...Te?{report:Te}:{}}}),q=()=>{var Ve;const oe=String(P||"").trim();if(oe)return oe;const ue=String(J.current||"").trim();if(ue)return ue;const X=String(se.current||"").trim();if(X)return X;const Te=s.repl.messages||[];for(let Ne=Te.length-1;Ne>=0;Ne--){const ie=String(((Ve=Te[Ne])==null?void 0:Ve.run_id)||"").trim();if(ie)return ie}return""};if(!M||M==="help")return Y(["Commands:","- `/help`","- `/bug <description>`","- `/feature <description>`","- `/clear`","- `/cache [list|save|load|clear]`","- `/files`","- `/files-keep [on|off]`","- `/sessions`","- `/new`","- `/settings`","- `/status`","- `/temperature [n]`","- `/seed [n]`","- `/max-iterations [n]`"].join(`
|
|
147
147
|
`)),!0;if(M==="bug"){const oe=ne.join(" ").trim();if(!oe)return Y("Usage: /bug <description>"),!0;const ue=String(s.session_id||"").trim();if(!ue)return Y("bug: session_id is required"),!0;const X=s.repl.template?`${s.repl.template.bundle_id}:${s.repl.template.flow_id}`:"",Te=X,Ve=q(),Ne=Je.slice(0,50).map(ie=>{var Ct,zt,sr,$n,Tr;const be=String(ie.path||"").trim(),Qe=ie.loading?"loading":String(ie.error||"").trim()?"error":ie.attachment?"ok":"none",ot=String(((Ct=ie.attachment)==null?void 0:Ct.target)||"").trim().toLowerCase(),tt=ot==="client"?"client":ot==="server"?"server":be.startsWith("client:")?"client":"server";return{path:be,status:Qe,target:tt,error:Qe==="error"?String(ie.error||"").trim():void 0,artifact_id:String(((zt=ie.attachment)==null?void 0:zt.$artifact)||"").trim()||void 0,filename:String(((sr=ie.attachment)==null?void 0:sr.filename)||"").trim()||void 0,content_type:String((($n=ie.attachment)==null?void 0:$n.content_type)||"").trim()||void 0,sha256:String(((Tr=ie.attachment)==null?void 0:Tr.sha256)||"").trim()||void 0}});try{const ie=await s.gateway.bug_report_create({session_id:ue,description:oe,active_run_id:Ve||void 0,workflow_id:Te||void 0,client:"abstractcode-web",client_version:"production".trim()||void 0,user_agent:String(((Z=globalThis==null?void 0:globalThis.navigator)==null?void 0:Z.userAgent)||"").trim()||void 0,url:String(((Me=globalThis==null?void 0:globalThis.location)==null?void 0:Me.href)||"").trim()||void 0,provider:String(s.settings.provider||"").trim()||void 0,model:String(s.settings.model||"").trim()||void 0,template:X||void 0,context:{wait:en?{reason:Mn||void 0,wait_key:Wn||void 0}:null,settings:{provider:s.settings.provider,model:s.settings.model,temperature:s.settings.temperature,seed:s.settings.seed,max_iterations:s.settings.max_iterations,prompt_cache:s.settings.prompt_cache,files_keep:s.settings.files_keep},attachments_next_run:Ne,ui:{status_text:Q||void 0}}}),be=String((ie==null?void 0:ie.path)||"").trim(),Qe=String((ie==null?void 0:ie.filename)||"").trim();de("report_bug","Bug report",`Created: ${be||Qe||"(unknown)"}`,{path:be||void 0,filename:Qe||void 0})}catch(ie){if(ie instanceof Lr){const be=Number(ie.status||0);if(be===401||be===403)return Y("Bug report failed: unauthorized. Set the Gateway auth token in Settings."),!0;if(be===429){const Qe=typeof ie.retry_after_s=="number"&&Number.isFinite(ie.retry_after_s)?Math.max(1,Math.trunc(ie.retry_after_s)):30;return Y(`Bug report failed: rate limited. Retry in ${Qe}s.`),!0}}Y(String((ie==null?void 0:ie.message)||ie||"bug report failed"))}return!0}if(M==="feature"){const oe=ne.join(" ").trim();if(!oe)return Y("Usage: /feature <description>"),!0;const ue=String(s.session_id||"").trim();if(!ue)return Y("feature: session_id is required"),!0;const X=s.repl.template?`${s.repl.template.bundle_id}:${s.repl.template.flow_id}`:"",Te=X,Ve=q(),Ne=Je.slice(0,50).map(ie=>{var Ct,zt,sr,$n,Tr;const be=String(ie.path||"").trim(),Qe=ie.loading?"loading":String(ie.error||"").trim()?"error":ie.attachment?"ok":"none",ot=String(((Ct=ie.attachment)==null?void 0:Ct.target)||"").trim().toLowerCase(),tt=ot==="client"?"client":ot==="server"?"server":be.startsWith("client:")?"client":"server";return{path:be,status:Qe,target:tt,error:Qe==="error"?String(ie.error||"").trim():void 0,artifact_id:String(((zt=ie.attachment)==null?void 0:zt.$artifact)||"").trim()||void 0,filename:String(((sr=ie.attachment)==null?void 0:sr.filename)||"").trim()||void 0,content_type:String((($n=ie.attachment)==null?void 0:$n.content_type)||"").trim()||void 0,sha256:String(((Tr=ie.attachment)==null?void 0:Tr.sha256)||"").trim()||void 0}});try{const ie=await s.gateway.feature_report_create({session_id:ue,description:oe,active_run_id:Ve||void 0,workflow_id:Te||void 0,client:"abstractcode-web",client_version:"production".trim()||void 0,user_agent:String(((De=globalThis==null?void 0:globalThis.navigator)==null?void 0:De.userAgent)||"").trim()||void 0,url:String(((je=globalThis==null?void 0:globalThis.location)==null?void 0:je.href)||"").trim()||void 0,provider:String(s.settings.provider||"").trim()||void 0,model:String(s.settings.model||"").trim()||void 0,template:X||void 0,context:{wait:en?{reason:Mn||void 0,wait_key:Wn||void 0}:null,settings:{provider:s.settings.provider,model:s.settings.model,temperature:s.settings.temperature,seed:s.settings.seed,max_iterations:s.settings.max_iterations,prompt_cache:s.settings.prompt_cache,files_keep:s.settings.files_keep},attachments_next_run:Ne,ui:{status_text:Q||void 0}}}),be=String((ie==null?void 0:ie.path)||"").trim(),Qe=String((ie==null?void 0:ie.filename)||"").trim();de("report_feature","Feature request",`Created: ${be||Qe||"(unknown)"}`,{path:be||void 0,filename:Qe||void 0})}catch(ie){if(ie instanceof Lr){const be=Number(ie.status||0);if(be===401||be===403)return Y("Feature request failed: unauthorized. Set the Gateway auth token in Settings."),!0;if(be===429){const Qe=typeof ie.retry_after_s=="number"&&Number.isFinite(ie.retry_after_s)?Math.max(1,Math.trunc(ie.retry_after_s)):30;return Y(`Feature request failed: rate limited. Retry in ${Qe}s.`),!0}}Y(String((ie==null?void 0:ie.message)||ie||"feature request failed"))}return!0}if(M==="files"){const oe=Je.filter(Te=>!Te.loading&&!String(Te.error||"").trim()&&Te.attachment),ue=Je.filter(Te=>Te.loading||String(Te.error||"").trim()||!Te.attachment),X=[];if(X.push(`files_keep: ${s.settings.files_keep?"on":"off"}`),X.push(`next_run: ${oe.length}/${Je.length} ok`),Je.length){X.push("");for(const Te of Je.slice(0,50)){const Ve=String(Te.path||"").trim(),Ne=Te.loading?"loading":String(Te.error||"").trim()?"error":Te.attachment?"ok":"none",ie=Ne==="error"?` — ${String(Te.error||"").trim()}`:"",be=String(((Be=Te.attachment)==null?void 0:Be.target)||"").trim().toLowerCase(),Qe=be==="client"?"client":be==="server"?"server":Ve.startsWith("client:")?"client":"server";X.push(`- @${Ve} (${Qe}): ${Ne}${ie}`)}}else X.push("next_run: (none)");ue.length&&(X.push(""),X.push("Only ok files are included in next_run automatically."));try{const Te=await bo(s.session_id),Ve=await s.gateway.list_run_artifacts(Te,{limit:200}),ie=(Array.isArray(Ve==null?void 0:Ve.items)?Ve.items:[]).filter(be=>be&&typeof be=="object"&&be.tags&&typeof be.tags=="object").filter(be=>{var Qe;return String(((Qe=be.tags)==null?void 0:Qe.kind)||"").trim()==="attachment"});if(X.push(""),X.push(`session: ${ie.length} attachment(s)`),!ie.length)X.push("session: (none)");else{for(const be of ie.slice(0,30)){const Qe=be.tags||{},ot=String(Qe.path||Qe.source_path||Qe.filename||"").trim(),tt=String(Qe.target||"").trim().toLowerCase(),Ct=tt==="client"?"client":tt==="server"?"server":ot.startsWith("client:")?"client":"server",zt=String(be.artifact_id||"").trim(),sr=String(Qe.sha256||"").trim(),$n=sr?`${sr.slice(0,8)}…`:"",Tr=typeof be.size_bytes=="number"?Ps(be.size_bytes):"",Vo=[`target=${Ct}`,`id=${zt}`].concat($n?[`sha=${$n}`]:[]).concat(Tr?[Tr]:[]).filter(Boolean);X.push(`- @${ot||zt}${Vo.length?` (${Vo.join(", ")})`:""}`)}ie.length>30&&X.push(`- …and ${ie.length-30} more`)}}catch(Te){X.push(""),X.push(`session: (failed to load) ${String((Te==null?void 0:Te.message)||Te||"")}`.trim())}return!Je.length&&!s.settings.files_keep&&(X.push(""),X.push("Tip: use /files-keep on to pin files across turns (next_run).")),X.push(""),X.push("Open stored attachments via: open_attachment(handle='@…', start_line=..., end_line=...)"),Y(X.join(`
|
|
148
|
-
`)),!0}if(M==="files-keep"||M==="files_keep"||M==="keep-files"||M==="keep_files"){if(!ne.length)return Y(`files_keep: ${s.settings.files_keep?"on":"off"}`),!0;const oe=String(ne[0]||"").trim().toLowerCase(),ue=oe==="on"||oe==="true"||oe==="1"||oe==="yes";return!ue&&!(oe==="off"||oe==="false"||oe==="0"||oe==="no")?(Y("Usage: /files-keep on|off"),!0):(s.on_settings({...s.settings,files_keep:ue}),Y(`files_keep set: ${ue?"on":"off"}`),!0)}if(M==="sessions")return Or({name:"sessions"}),!0;if(M==="new")return Or({name:"new"}),!0;if(M==="settings")return Or({name:"settings"}),!0;if(M==="clear"){const oe=String(
|
|
148
|
+
`)),!0}if(M==="files-keep"||M==="files_keep"||M==="keep-files"||M==="keep_files"){if(!ne.length)return Y(`files_keep: ${s.settings.files_keep?"on":"off"}`),!0;const oe=String(ne[0]||"").trim().toLowerCase(),ue=oe==="on"||oe==="true"||oe==="1"||oe==="yes";return!ue&&!(oe==="off"||oe==="false"||oe==="0"||oe==="no")?(Y("Usage: /files-keep on|off"),!0):(s.on_settings({...s.settings,files_keep:ue}),Y(`files_keep set: ${ue?"on":"off"}`),!0)}if(M==="sessions")return Or({name:"sessions"}),!0;if(M==="new")return Or({name:"new"}),!0;if(M==="settings")return Or({name:"settings"}),!0;if(M==="clear"){const oe=String(P||"").trim();return oe&&Kl(oe),Ql(s.session_id),Et(),xe.current=[],L([]),V(null),Wt(()=>Dp({template:s.repl.template},s.session_id)),!0}if(M==="status"){const oe=[`agent: ${ts||"—"}`,`provider/model: ${s.settings.provider||"—"} / ${s.settings.model||"—"}`,`run: ${P||"(idle)"}`,`status: ${Q||"(none)"}`];return P&&en&&oe.push(`waiting: ${Mn||"unknown"}${Le?`:${Le}`:""}`),Y(oe.join(`
|
|
149
149
|
`)),!0}if(M==="temperature"){if(!ne.length)return Y(`temperature: ${String(s.settings.temperature)}`),!0;const oe=Number(ne[0]);return!Number.isFinite(oe)||oe<0?(Y("Usage: /temperature <number>=0"),!0):(s.on_settings({...s.settings,temperature:oe}),Y(`temperature set: ${oe}`),!0)}if(M==="seed"){if(!ne.length)return Y(`seed: ${String(s.settings.seed)}`),!0;const oe=Number(ne[0]);return Number.isFinite(oe)?(s.on_settings({...s.settings,seed:Math.trunc(oe)}),Y(`seed set: ${Math.trunc(oe)}`),!0):(Y("Usage: /seed <-1|0|...>"),!0)}if(M==="max-iterations"||M==="max_iterations"||M==="max"){if(!ne.length)return Y(`max_iterations: ${String(s.settings.max_iterations)}`),!0;const oe=Number(ne[0]);return!Number.isFinite(oe)||oe<1?(Y("Usage: /max-iterations <int>=1"),!0):(s.on_settings({...s.settings,max_iterations:Math.trunc(oe)}),Y(`max_iterations set: ${Math.trunc(oe)}`),!0)}if(M==="cache"){const oe=String(s.settings.provider||"").trim(),ue=String(s.settings.model||"").trim();if(!oe||!ue)return Y("Set provider + model first (Settings)."),!0;if(!s.repl.template)return Y("Pick an agent first (/new)."),!0;const X=Ep({namespace:"acode",session_id:String(s.session_id||"").trim(),provider:oe,model:ue,template:s.repl.template});if(!X)return Y("Unable to derive cache key (missing session_id/provider/model/template)."),!0;const Te=String(ne[0]||"").trim().toLowerCase(),Ve=ne.slice(1);if(!Te||Te==="help"){const Ne=["Prompt cache commands:",`- active_key: ${X}`,"- `/cache list` (show in-memory stats + saved caches)","- `/cache clear` (clear the active in-memory cache key)","- `/cache save <name> [--q8]` (save active key to gateway disk; MLX + HF(transformers) + HF(GGUF). `--q8` is MLX-only)","- `/cache load <name>` (load from gateway disk into active key; MLX + HF(transformers) + HF(GGUF))"];return s.settings.prompt_cache||(Ne.push(""),Ne.push("Note: prompt caching is currently OFF in Settings; runs will not reuse the cache unless enabled.")),Y(Ne.join(`
|
|
150
150
|
`)),!0}if(Te==="list"){try{const[Ne,ie]=await Promise.all([s.gateway.prompt_cache_stats(oe,ue),s.gateway.prompt_cache_saved(oe,ue)]),be=[];if(be.push(`active_key: ${X}`),!!!(Ne!=null&&Ne.supported))be.push(`in_memory: unsupported${Ne!=null&&Ne.error?` — ${Ne.error}`:""}`);else{const tt=(Ne==null?void 0:Ne.stats)||{},Ct=Array.isArray(tt.keys)?tt.keys.map(zt=>String(zt||"").trim()).filter(Boolean):[];be.push(`in_memory: entries=${String(tt.entries??"")}${typeof tt.max_entries=="number"?`/${tt.max_entries}`:""}`),be.push(`in_memory: has_active=${Ct.includes(X)?"yes":"no"}`)}const ot=Array.isArray(ie==null?void 0:ie.items)?ie.items:[];be.push(`saved: ${ot.length}`);for(const tt of ot.slice(0,20)){const Ct=String((tt==null?void 0:tt.name)||"").trim();if(!Ct)continue;const zt=tt==null?void 0:tt.token_count,sr=typeof zt=="number"&&Number.isFinite(zt)?` (${zt} tok)`:"",$n=String((tt==null?void 0:tt.saved_at)||"").trim();be.push(`- ${Ct}${sr}${$n?` — ${$n}`:""}`)}ot.length>20&&be.push(`- …and ${ot.length-20} more`),Y(be.join(`
|
|
151
151
|
`))}catch(Ne){Y(String((Ne==null?void 0:Ne.message)||Ne||"cache list failed"))}return!0}if(Te==="clear"){try{const Ne=await s.gateway.prompt_cache_clear({provider:oe,model:ue,key:X}),ie=!!(Ne!=null&&Ne.supported)&&!!(Ne!=null&&Ne.ok);Y(ie?`Cleared in-memory cache key: ${X}`:`Cache clear failed: ${JSON.stringify(Ne)}`)}catch(Ne){Y(String((Ne==null?void 0:Ne.message)||Ne||"cache clear failed"))}return!0}if(Te==="save"){const Ne=String(Ve[0]||"").trim();if(!Ne)return Y("Usage: /cache save <name> [--q8]"),!0;const ie=Ve.some(be=>String(be||"").trim().toLowerCase()==="--q8");try{const be=await s.gateway.prompt_cache_save({provider:oe,model:ue,name:Ne,key:X,q8:ie});if(!!(be!=null&&be.supported)&&!!(be!=null&&be.ok)){const ot=(be==null?void 0:be.meta)||{},tt=ot==null?void 0:ot.token_count,Ct=typeof tt=="number"&&Number.isFinite(tt)?` (${tt} tok)`:"";Y(`Saved cache: ${String((be==null?void 0:be.name)||Ne)}${Ct}`)}else Y(`Cache save failed: ${JSON.stringify(be)}`)}catch(be){Y(String((be==null?void 0:be.message)||be||"cache save failed"))}return!0}if(Te==="load"){const Ne=String(Ve[0]||"").trim();if(!Ne)return Y("Usage: /cache load <name>"),!0;try{const ie=await s.gateway.prompt_cache_load({provider:oe,model:ue,name:Ne,key:X,clear_existing:!0});if(!!(ie!=null&&ie.supported)&&!!(ie!=null&&ie.ok))Y(`Loaded cache '${Ne}' into key: ${String((ie==null?void 0:ie.key)||X)}`);else{const Qe=String((ie==null?void 0:ie.required_model)||"").trim(),ot=String((ie==null?void 0:ie.current_model)||"").trim();Y(Qe&&ot?`Cache model mismatch:
|
|
152
152
|
- cache: ${Qe}
|
|
153
153
|
- current: ${ot}`:`Cache load failed: ${JSON.stringify(ie)}`)}}catch(ie){Y(String((ie==null?void 0:ie.message)||ie||"cache load failed"))}return!0}return Y(`Unknown cache subcommand: ${Te} (try /cache help)`),!0}return Y(`Unknown command: /${M} (try /help)`),!0}function Wo(_){if(!_||_.start<0||_.end<_.start||_.end>w.length)return;const x=w.slice(0,_.start),E=w.slice(_.end),M=`${x}${E}`.replace(/\s{2,}/g," ");N(M),T(x.length)}async function zs(_,x){var ne;const E=String(_||"").trim();if(!E)return;const M=typeof(Jn==null?void 0:Jn[E])=="number"&&Number.isFinite(Jn[E])?Math.max(0,Math.trunc(Jn[E])):void 0;Wo(x),Bt([]),gt(""),Xt(!1),st(Y=>Y.some(de=>de.path===E)?Y:[...Y,{path:E,attachment:null,loading:!0,size_bytes:M}].slice(-12));try{const Y=String(s.session_id||"").trim();if(!Y)throw new Error("session_id is required");const de=(()=>{const Z=String(s.settings.workspace_root||"").trim(),Me=String(s.settings.workspace_access_mode||"").trim(),De=String(s.settings.workspace_allowed_paths||"").trim(),je=String(s.settings.workspace_ignored_paths||"").trim();if(Z||De||je||Me&&Me!=="workspace_only")return{workspace_root:Z,workspace_access_mode:Me,workspace_allowed_paths:De,workspace_ignored_paths:je}})(),q=await s.gateway.attachments_ingest(Y,E,{...de?{scope:de}:{}});st(Z=>Z.map(Me=>Me.path===E?{...Me,loading:!1,attachment:q,error:void 0}:Me))}catch(Y){const de=String((Y==null?void 0:Y.message)||Y||"Failed to ingest attachment");st(q=>q.map(Z=>Z.path===E?{...Z,loading:!1,attachment:null,error:de}:Z))}finally{try{(ne=B.current)==null||ne.focus()}catch{}}}function cs(_){var x;Wo(_),Bt([]),gt(""),Xt(!1);try{(x=le.current)==null||x.click()}catch{}}async function Ii(_){if(!_)return;const x=String(s.session_id||"").trim();if(!x){U("session_id is required");return}const E=String((_==null?void 0:_.name)||"").trim()||"upload.bin",M=`client:${E}`,ne=Number.isFinite(Number(_==null?void 0:_.size))?Math.max(0,Math.trunc(Number(_.size))):void 0;st(Y=>{const de=Y.findIndex(q=>q.path===M);if(de>=0){const q=Y.slice();return q[de]={...q[de],loading:!0,error:void 0,size_bytes:ne},q}return[...Y,{path:M,attachment:null,loading:!0,size_bytes:ne}].slice(-12)});try{const Y=await s.gateway.attachments_upload(x,_,{filename:E,content_type:String((_==null?void 0:_.type)||"").trim()||void 0});st(de=>de.map(q=>q.path===M?{...q,loading:!1,attachment:Y,error:void 0}:q))}catch(Y){const de=String((Y==null?void 0:Y.message)||Y||"Upload failed");st(q=>q.map(Z=>Z.path===M?{...Z,loading:!1,error:de}:Z))}}async function Fi(_){const x=Array.isArray(_)?_:[];if(x.length)for(const E of x.slice(0,8))await Ii(E)}function Cr(_){const x=String(_||"").trim();x&&st(E=>E.filter(M=>M.path!==x))}const Ui=typeof window<"u"&&!!((ln=navigator==null?void 0:navigator.mediaDevices)!=null&&ln.getUserMedia)&&typeof window.MediaRecorder=="function";function us(){var _,x;try{(x=(_=mn.current)==null?void 0:_.getTracks)==null||x.call(_).forEach(E=>{try{E.stop()}catch{}})}catch{}mn.current=null}S.useEffect(()=>()=>{var _,x;try{(x=(_=Yt.current)==null?void 0:_.stop)==null||x.call(_)}catch{}Yt.current=null,us()},[]);function Ho(){const _=window.MediaRecorder,x=M=>{var ne;try{return!!((ne=_==null?void 0:_.isTypeSupported)!=null&&ne.call(_,M))}catch{return!1}},E=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg"];for(const M of E)if(x(M))return M;return""}async function si(_,x){if(U(""),!(!_||!_.size)&&!Lt){Nt(!0);try{const E=String(s.session_id||"").trim();if(!E)throw new Error("session_id is required");const M=await bo(E),ne=String(x||_.type||"").toLowerCase(),Y=ne.includes("mp4")?"m4a":ne.includes("ogg")?"ogg":ne.includes("wav")?"wav":"webm",de=new File([_],`recording.${Y}`,{type:ne||"audio/webm"}),q=await s.gateway.attachments_upload(E,de,{filename:de.name,content_type:de.type}),Z=await s.gateway.audio_transcribe(M,{audio_artifact:q,request_id:Il()});try{await ti()}catch{}const Me=String((q==null?void 0:q.$artifact)||"").trim();Me&&Kt({...q,$artifact:Me});const De=String((Z==null?void 0:Z.text)||"").trim();De&&(N(je=>{const Be=String(je||"");return Be.trim()?`${Be.trimEnd()}
|
|
154
|
-
${De}`:De}),window.setTimeout(()=>{var je;return(je=B.current)==null?void 0:je.focus()},0))}catch(E){U(String((E==null?void 0:E.message)||E||"Transcription failed"))}finally{Nt(!1)}}}async function ii(){if(U(""),!Ui){U("Voice recording is not supported in this browser (MediaRecorder/getUserMedia unavailable).");return}if(!Lt&&!(Ut||Yt.current)){Kt(null),pn.current=[];try{const _=await navigator.mediaDevices.getUserMedia({audio:!0});mn.current=_;const x=Ho();hn.current=x;const E=x?new MediaRecorder(_,{mimeType:x}):new MediaRecorder(_);Yt.current=E,E.ondataavailable=M=>{try{M!=null&&M.data&&pn.current.push(M.data)}catch{}},E.onerror=()=>{U("Recording failed.")},E.onstop=()=>{fn(!1),us(),Yt.current=null;try{const M=new Blob(pn.current,{type:hn.current||""});si(M,hn.current)}catch(M){U(String((M==null?void 0:M.message)||M||"Failed to build recording"))}},E.start(),fn(!0)}catch(_){us(),Yt.current=null,fn(!1);const x=String((_==null?void 0:_.message)||_||"Failed to access microphone");U(x.toLowerCase().includes("permission")?`Microphone permission denied: ${x}`:x)}}}function oi(){const _=Yt.current;if(!(!Ut||!_)){Yt.current=null,fn(!1);try{_.stop()}catch(x){U(String((x==null?void 0:x.message)||x||"Failed to stop recording"))}}}return S.useEffect(()=>{if(!Ut)return;const _=()=>oi();return window.addEventListener("pointerup",_),window.addEventListener("pointercancel",_),()=>{window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",_)}},[Ut]),c.jsx("div",{className:"repl",children:c.jsxs("div",{className:"panel repl_frame",children:[c.jsx(Up,{active:"console",on_nav:s.on_nav,center:c.jsx("div",{className:"repl_context_badge",title:`Estimated next-run context: text≈${xn.text_tokens.toLocaleString()} tok; files≈${xn.file_tokens.toLocaleString()} tok (${xn.file_count} files).`,children:c.jsx("span",{className:"mono",children:ls})}),monitor_gpu_enabled:s.monitor_gpu_enabled,monitor_gpu_ref:s.monitor_gpu_ref,gateway_url:s.gateway_url}),c.jsxs("div",{className:"repl_panel",children:[c.jsxs("div",{className:"repl_inset",children:[l?c.jsx(Yn,{variant:l.includes("switched to")?"info":"warn",onClick:()=>a(""),style:{cursor:"pointer"},title:"Click to dismiss",children:l}):null,!s.settings.provider.trim()||!s.settings.model.trim()?c.jsx(Yn,{variant:"warn",children:"Set provider + model in Settings. (These agent workflows require them.)"}):null,(()=>{var x,E;if(String(s.settings.gateway_url||"").trim())return null;try{const M=String(((x=window==null?void 0:window.location)==null?void 0:x.origin)||""),ne=String(((E=window==null?void 0:window.location)==null?void 0:E.protocol)||"");if(!(!M||M==="null"||ne==="file:"))return null}catch{}return c.jsx(Yn,{variant:"warn",children:"Set a Gateway URL in Settings (this page has no same-origin /api proxy)."})})(),I?c.jsx(Yn,{variant:"error",children:I}):null,c.jsxs("div",{className:"repl_chat_wrap",children:[c.jsx("div",{className:"repl_chat",ref:ge,onScroll:_=>{const x=_.currentTarget,M=x.scrollTop+x.clientHeight>=x.scrollHeight-80;G.current=M,Re(M)},children:c.jsxs("div",{className:"repl_chat_content",ref:ve,children:[s.repl.messages.length?null:c.jsx("div",{className:"muted",children:"Start typing to begin."}),s.repl.messages.map((_,x)=>{const E=`${_.ts}:${_.role}:${x}`;return c.jsx(Ev,{msg_key:E,m:_,gateway:s.gateway,session_id:s.session_id,context_badge_label:ls,tool_specs_by_name:y,tts_playback:Dr,on_toggle_tts:Nr},E)}),c.jsx("div",{ref:ee})]})}),!_e&&s.repl.messages.length?c.jsxs("button",{className:"btn scroll_to_bottom",type:"button","aria-label":"Scroll to latest",title:"Scroll to latest",onClick:()=>{const _=ge.current;_&&(_.scrollTo({top:_.scrollHeight,behavior:"smooth"}),G.current=!0,Re(!0))},children:[c.jsx(jt,{name:"chevronDown",size:16}),"Latest"]}):null]}),z?c.jsx("div",{className:At?"repl_wait compact":"repl_wait",children:en?c.jsx(c.Fragment,{children:es.length?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"wait_line shimmer","aria-live":"polite",children:[c.jsx("span",{className:"mono",children:"Waiting"}),c.jsx("span",{className:"muted",children:"for approval to run tools…"})]}),c.jsx("div",{className:"muted",children:"Approve to run these tools."}),c.jsx("div",{style:{marginTop:10,display:"flex",flexDirection:"column",gap:8},children:es.map((_,x)=>{const E=String((_==null?void 0:_.name)||"").trim(),M=String((_==null?void 0:_.call_id)||(_==null?void 0:_.id)||"").trim();return c.jsx(Wp,{meta:{name:E||void 0,call_id:M||void 0,arguments:(_==null?void 0:_.arguments)??void 0,output_preview:"",pending:!0},ts:ht(),tool_specs_by_name:y},`${M||E||"tool"}:${x}`)})}),c.jsxs("div",{className:"actions",children:[c.jsx("button",{className:"btn primary",disabled:te,onClick:()=>rr({approved:!0}),children:"Approve + resume"}),c.jsx("button",{className:"btn",disabled:te,onClick:()=>rr({approved:!1,reason:"Denied by user"}),children:"Deny"})]})]}):$e?c.jsx(Tv,{wait:en,disabled:te,on_submit:_=>Os(_)}):Mn==="subworkflow"?c.jsxs("div",{className:"thinking_line shimmer","aria-live":"polite",title:Wn?`wait_key: ${Wn}`:void 0,children:[c.jsx("span",{className:"run_spinner","aria-label":"working"}),c.jsx("span",{className:"thinking_label",children:"Thinking…"}),An?c.jsx("span",{className:"thinking_iters mono",children:An}):null,c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"muted mono thinking_detail",children:Xr||ts||"agent"})]}):c.jsxs("div",{className:"wait_line shimmer","aria-live":"polite",title:Wn?`wait_key: ${Wn}`:void 0,children:[c.jsx("span",{className:"mono",children:"Waiting"}),c.jsxs("span",{className:"muted",children:["for"," ",`${Mn||"unknown"}${Le?`:${Le}`:""}`,"…"]})]})}):ct?c.jsxs("div",{className:"thinking_line","aria-live":"polite",children:[c.jsx("span",{className:"run_spinner","aria-label":"working"}),c.jsx("span",{className:"thinking_label",children:"Thinking…"}),An?c.jsx("span",{className:"thinking_iters mono",children:An}):null,c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"muted mono thinking_detail",children:Q})]}):null}):null,Je.length||Ft?c.jsxs("div",{className:"file_chips",children:[Ft?(()=>{const _=Ft,x=String((_==null?void 0:_.$artifact)||"").trim(),E=String((_==null?void 0:_.target)||"").trim().toLowerCase(),M=E==="client"?"client":E==="server"?"server":"client",ne=String((_==null?void 0:_.source_path)||(_==null?void 0:_.filename)||x||"voice").trim()||"voice",Y=!!x,de=Y?`Voice clip (replay only): @${ne}`:`Voice clip: @${ne}`;return c.jsxs("div",{className:"file_chip",title:de,role:Y?"button":void 0,tabIndex:Y?0:void 0,onClick:Y?()=>Qt(Ft):void 0,onKeyDown:Y?q=>{q.key!=="Enter"&&q.key!==" "||(q.preventDefault(),Qt(Ft))}:void 0,children:[c.jsx("span",{className:"file_chip_icon","aria-hidden":"true",children:c.jsx(jt,{name:"mic",size:14})}),c.jsx("span",{className:`file_chip_target ${M}`,children:"voice"}),c.jsxs("span",{className:"mono",children:["@",ne]}),c.jsx("button",{className:"chip_remove",type:"button",onClick:q=>{q.stopPropagation(),Kt(null)},"aria-label":"Remove voice clip",children:"×"})]},`voice:${x||ne}`)})():null,Je.map(_=>{var Me,De;const x=String(_.path||"").trim(),E=_.error?"file_chip error":_.loading?"file_chip loading":"file_chip",M=_.error?"warning":_.loading?"loader":"paperclip",ne=String(((Me=_.attachment)==null?void 0:Me.$artifact)||"").trim(),Y=String(((De=_.attachment)==null?void 0:De.target)||"").trim().toLowerCase(),de=Y==="client"?"client":Y==="server"?"server":x.startsWith("client:")?"client":"server",q=!_.loading&&!String(_.error||"").trim()&&!!ne,Z=_.error?String(_.error):q?`@${x} (click to preview)`:x;return c.jsxs("div",{className:E,title:Z,role:q?"button":void 0,tabIndex:q?0:void 0,onClick:q?()=>Qt(_.attachment):void 0,onKeyDown:q?je=>{je.key!=="Enter"&&je.key!==" "||(je.preventDefault(),Qt(_.attachment))}:void 0,children:[c.jsx("span",{className:"file_chip_icon","aria-hidden":"true",children:c.jsx(jt,{name:M,size:14,className:_.loading?"spin":void 0})}),c.jsx("span",{className:`file_chip_target ${de}`,children:de}),c.jsxs("span",{className:"mono",children:["@",x]}),_.loading?c.jsx("span",{className:"muted",children:"ingesting…"}):null,_.error?c.jsx("span",{className:"muted",children:String(_.error)}):null,c.jsx("button",{className:"chip_remove",type:"button",onClick:je=>{je.stopPropagation(),Cr(x)},"aria-label":"Remove file",children:"×"})]},x)})]}):null,$t?c.jsxs("div",{className:"cmd_menu",children:[Sn.target==="client"?c.jsxs("button",{className:"cmd_item active",type:"button",onClick:()=>cs($t),children:[c.jsx("span",{className:"mono",children:"@client:"}),c.jsx("span",{className:"muted",children:"upload from device…"})]}):null,Sn.target!=="client"?c.jsxs("button",{className:"cmd_item",type:"button",onClick:()=>cs($t),title:"Upload a local file from this device",children:[c.jsx("span",{className:"mono",children:"@client:"}),c.jsx("span",{className:"muted",children:"upload from device…"})]}):null,Sn.target!=="client"?c.jsxs(c.Fragment,{children:[Xn?c.jsx("div",{className:"cmd_notice muted",children:"Searching files…"}):null,In?c.jsx("div",{className:"cmd_notice error",children:In}):null,!Xn&&!In&&!Mt.length?c.jsx("div",{className:"cmd_notice muted",children:Sn.query?"No matches.":"Type to search server files (`@server:…`) or upload (`@client:`)."}):null,Mt.map((_,x)=>c.jsxs("button",{className:`cmd_item ${x===$?"active":""}`,type:"button",onClick:()=>void zs(_,$t),children:[c.jsxs("span",{className:"mono",children:["@",_]}),c.jsx("span",{className:"muted",children:Ps(Jn[_])||"attach"})]},_))]}):null]}):null,Ur.length?c.jsx("div",{className:"cmd_menu",children:Ur.map((_,x)=>c.jsxs("button",{className:`cmd_item ${x===P?"active":""}`,type:"button",onClick:()=>{N(`/${_.name} `)},children:[c.jsxs("span",{className:"mono",children:["/",_.name]}),c.jsx("span",{className:"muted",children:_.desc})]},_.name))}):null]}),c.jsxs("div",{className:"repl_composer",children:[c.jsx("div",{className:Zr?"repl_input drop_active":"repl_input",onDragEnter:_=>{var x,E,M;try{if(!((M=(E=(x=_.dataTransfer)==null?void 0:x.types)==null?void 0:E.includes)!=null&&M.call(E,"Files")))return}catch{}_.preventDefault(),er(!0)},onDragOver:_=>{var x,E,M;try{if(!((M=(E=(x=_.dataTransfer)==null?void 0:x.types)==null?void 0:E.includes)!=null&&M.call(E,"Files")))return;_.dataTransfer.dropEffect="copy"}catch{}_.preventDefault(),er(!0)},onDragLeave:()=>er(!1),onDrop:_=>{var E;_.preventDefault(),_.stopPropagation(),er(!1);const x=Array.from(((E=_.dataTransfer)==null?void 0:E.files)||[]);x.length&&Fi(x)},children:c.jsx("textarea",{className:"mono",ref:B,value:w,rows:3,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",onChange:_=>{N(_.target.value);const x=typeof _.target.selectionStart=="number"?_.target.selectionStart:_.target.value.length;T(x)},onClick:_=>{const x=_.currentTarget,E=typeof x.selectionStart=="number"?x.selectionStart:x.value.length;T(E)},onKeyUp:_=>{const x=_.currentTarget,E=typeof x.selectionStart=="number"?x.selectionStart:x.value.length;T(E)},placeholder:zi?Jt?"Loading attached files…":"Type a message and use @ to attach files":"Waiting for the current run…",disabled:!zi,onKeyDown:_=>{if($t){if(Sn.target==="client"&&_.key==="Tab"){_.preventDefault(),cs($t);return}if(Sn.target!=="client"&&_.key==="Tab"&&!Xn&&!In&&!Mt.length){const x=String(Sn.query||"").trim();if(x){_.preventDefault(),zs(x,$t);return}}if(_.key==="Escape"&&(Mt.length||In)){_.preventDefault(),Bt([]),gt(""),Xt(!1);return}if(Mt.length){if(_.key==="ArrowDown"){_.preventDefault(),O(x=>Math.min(Mt.length-1,x+1));return}if(_.key==="ArrowUp"){_.preventDefault(),O(x=>Math.max(0,x-1));return}if(_.key==="Tab"){_.preventDefault();const x=Mt[$]||Mt[0];x&&zs(x,$t);return}}}if(Ur.length){if(_.key==="ArrowDown"){_.preventDefault(),D(x=>Math.min(Ur.length-1,x+1));return}if(_.key==="ArrowUp"){_.preventDefault(),D(x=>Math.max(0,x-1));return}if(_.key==="Tab"){_.preventDefault();const x=Ur[P]||Ur[0];x&&N(`/${x.name} `);return}}if(_.key==="Enter"&&!_.shiftKey){if(_.preventDefault(),Jt){U("Wait for attached files to finish loading.");return}if(Lt){U("Wait for transcription to finish.");return}const x=w;N(""),(async()=>await Bo(x)||await Ts(x))()}}})}),c.jsxs("div",{className:"repl_send_panel",children:[c.jsxs("div",{className:"composer_shortcuts","aria-hidden":"true",children:[c.jsxs("span",{children:[c.jsx("kbd",{children:"Enter"})," send"]}),c.jsxs("span",{children:[c.jsx("kbd",{children:"Shift"})," ",c.jsx("kbd",{children:"Enter"})," nl"]}),c.jsxs("span",{children:[c.jsx("kbd",{children:"/"})," cmd"]})]}),c.jsxs("div",{className:"repl_send_row",children:[c.jsxs("button",{className:`btn voice_btn${Ut?" danger":""}`,type:"button",title:Lt?"Transcribing…":Ut?"Recording… release to transcribe":"Hold to talk (record + transcribe)","aria-label":Lt?"Voice input (transcribing)":Ut?"Voice input (recording)":"Voice input (hold to record)",disabled:Lt,onPointerDown:_=>{var x,E;if(!Lt){_.preventDefault();try{(E=(x=_.currentTarget)==null?void 0:x.setPointerCapture)==null||E.call(x,_.pointerId)}catch{}ii()}},onPointerUp:_=>{_.preventDefault(),oi()},onPointerCancel:_=>{_.preventDefault(),oi()},children:[c.jsx(jt,{name:Ut?"x":"mic",size:16}),c.jsx("span",{className:"voice_btn_label",children:"Voice"})]}),c.jsxs("button",{className:"btn attach_btn",type:"button",title:"Attach files from this device","aria-label":"Attach files from this device",onClick:()=>{var _;try{(_=le.current)==null||_.click()}catch{}},children:[c.jsx(jt,{name:"paperclip",size:16}),c.jsx("span",{className:"attach_btn_label",children:"Attach"})]}),c.jsxs("button",{className:`btn ${z?"danger cancel_btn":"primary"} send_btn`,disabled:Lt||(z?he:!Uo||!w.trim()),onClick:()=>{if(z){Ls();return}const _=w;N(""),(async()=>await Bo(_)||await Ts(_))()},type:"button",children:[c.jsx(jt,{name:z?"x":"send",size:16}),c.jsx("span",{className:"send_btn_label",children:z?he?"Cancelling…":"Cancel":"Send"})]}),c.jsx("input",{ref:le,type:"file",multiple:!0,style:{display:"none"},onChange:_=>{const x=Array.from(_.currentTarget.files||[]);_.currentTarget.value="",x.length&&Fi(x)}})]})]})]}),kt?c.jsx(Bp,{gateway:s.gateway,session_id:s.session_id,attachment:kt,on_close:()=>Qt(null)}):null]})]})})}function Ev(s){const n=s.m,r=n.meta&&typeof n.meta=="object"?n.meta:null,l=r&&typeof r._kind=="string"?String(r._kind):"";if(l==="tts_audio")return null;const d=(Array.isArray(r==null?void 0:r.attachments)?r.attachments:[]).filter(Q=>Q&&typeof Q=="object"&&!Array.isArray(Q)).slice(0,16).map(Q=>({...Q})),f=r&&r._repl&&typeof r._repl=="object"?r._repl:null,p=f&&f.usage&&typeof f.usage=="object"?f.usage:null,h=Ip(p),y=f&&Number.isFinite(Number(f.duration_ms))?Number(f.duration_ms):null,v=f&&Number.isFinite(Number(f.tok_s))?Number(f.tok_s):null,w=f&&Number.isFinite(Number(f.llm_calls))?Number(f.llm_calls):null,N=f&&Number.isFinite(Number(f.tool_calls))?Number(f.tool_calls):null,b={user:{label:"You",icon:"user"},assistant:{label:"Agent",icon:"bot"},system:{label:n.title||(n.level==="error"?"Error":n.level==="warn"?"Warning":"System"),icon:n.level==="error"?"error":n.level==="warn"?"warning":"info"}};let T=b[n.role]||b.system;n.role==="system"&&l==="report_bug"&&(T={label:n.title||"Bug report",icon:"warning"}),n.role==="system"&&l==="report_feature"&&(T={label:n.title||"Feature request",icon:"check"});const I=n.role==="assistant"?"assistant":n.role==="system"&&l==="report_bug"?"message report_bug":n.role==="system"&&l==="report_feature"?"message report_feature":n.role==="system"?n.level==="error"?"message error":n.level==="warn"?"message warn":"status":"user",[U,P]=S.useState("idle"),D=n.role==="system"&&String(n.title||"").trim()==="Digest"&&(n.level||"info")==="info",$=String(n.run_id||"").trim(),[O,z]=S.useState(!1),[V,re]=S.useState(null),L=r&&r.workflow_meta&&typeof r.workflow_meta=="object"?r.workflow_meta:null,xe=String((L==null?void 0:L.context_appended_sub_run_id)||"").trim()||String((L==null?void 0:L.sub_run_id)||"").trim()||String((L==null?void 0:L.llm_run_id)||"").trim()||$;if(l==="tool")return c.jsx("div",{className:"chat_item tool_item",children:c.jsx(Wp,{meta:r==null?void 0:r.tool,ts:n.ts,tool_specs_by_name:s.tool_specs_by_name})});if(l==="run_digest"){const Q=r!=null&&r.digest&&typeof r.digest=="object"?r.digest:{},ke=String((Q==null?void 0:Q.outcome)||"").trim()||String(n.level||"").trim()||"completed",Se=ke==="failed"?"Run failed":ke==="cancelled"?"Run cancelled":"Run completed",te=Number.isFinite(Number(Q==null?void 0:Q.duration_ms))?Number(Q.duration_ms):0,we=Number.isFinite(Number(Q==null?void 0:Q.llm_calls))?Number(Q.llm_calls):0,he=Number.isFinite(Number(Q==null?void 0:Q.tool_calls))?Number(Q.tool_calls):0,k=Q!=null&&Q.tokens&&typeof Q.tokens=="object"?Q.tokens:null,B=Number.isFinite(Number(Q==null?void 0:Q.speed_tok_s))?Number(Q.speed_tok_s):null,le=Array.isArray(Q==null?void 0:Q.tools)?Q.tools.map(ge=>String(ge||"").trim()).filter(Boolean):[];return c.jsxs("div",{className:`chat_item ${I}`,children:[c.jsxs("div",{className:"chat_header",children:[c.jsx("div",{className:"chat_avatar","aria-hidden":"true",children:c.jsx(jt,{name:ke==="failed"?"error":ke==="cancelled"?"warning":"info",size:14})}),c.jsx("span",{className:"chat_role",children:Se}),c.jsx("span",{className:"chat_header_spacer"}),c.jsx("span",{className:"chat_time",children:new Date(n.ts).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),c.jsxs("div",{className:"run_digest_card",children:[c.jsxs("div",{className:"run_digest_grid",children:[c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"duration"}),c.jsx("span",{className:"mono",children:mu(te)})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"llm"}),c.jsx("span",{className:"mono",children:we})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"tools"}),c.jsx("span",{className:"mono",children:he})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"tokens"}),c.jsx("span",{className:"mono",children:k&&typeof(k==null?void 0:k.total)=="number"?`${k.total}`:"—"})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"speed"}),c.jsx("span",{className:"mono",children:B!=null?`${B.toFixed(1)} tok/s`:"—"})]})]}),le.length?c.jsxs("details",{className:"run_digest_tools",children:[c.jsxs("summary",{className:"run_digest_tools_summary",children:[c.jsx("span",{className:"mono",children:"tools used"}),c.jsxs("span",{className:"muted",children:["(",le.length,")"]})]}),c.jsxs("div",{className:"run_digest_tools_list",children:[le.slice(0,120).map((ge,ve)=>c.jsx("div",{className:"mono run_digest_tool",children:ge},`${ge}:${ve}`)),le.length>120?c.jsxs("div",{className:"muted",children:["…and ",le.length-120," more"]}):null]})]}):null]})]})}if(D)return null;const W=n.role==="assistant"&&(!!$||h||y!==null||w!==null||N!==null),se=typeof s.on_toggle_tts=="function"&&n.role==="assistant"&&String(n.content||"").trim(),J=s.tts_playback&&s.tts_playback.key===String(s.msg_key||"").trim()?s.tts_playback.status:"idle",pe=J==="loading"?"loader":J==="playing"?"pause":"speaker",Ce=J==="loading"?"Generating audio…":J==="playing"?"Pause":J==="paused"?"Resume":"Speak (TTS)";return c.jsxs("div",{className:`chat_item ${I}`,children:[c.jsxs("div",{className:"chat_header",children:[c.jsx("div",{className:"chat_avatar","aria-hidden":"true",children:c.jsx(jt,{name:T.icon,size:14})}),c.jsx("span",{className:"chat_role",children:T.label}),c.jsx("span",{className:"chat_header_spacer"}),c.jsx("span",{className:"chat_time",children:new Date(n.ts).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),se?c.jsx("button",{className:`chat_action_icon chat_speak ${J}`,onClick:()=>{var Q;return(Q=s.on_toggle_tts)==null?void 0:Q.call(s,String(s.msg_key||"").trim(),String(n.content||""))},type:"button","aria-label":Ce,title:Ce,children:c.jsx(jt,{name:pe,size:22})}):null,c.jsx("button",{className:`chat_action_icon chat_copy ${U}`,onClick:async()=>{const Q=await bu(String(n.content||""));P(Q?"copied":"failed"),window.setTimeout(()=>P("idle"),900)},type:"button","aria-label":"Copy message",children:c.jsx(jt,{name:"copy",size:22})})]}),c.jsx("div",{className:"body markdown",children:c.jsx(jg,{text:n.content,renderMarkdown:Q=>c.jsx(sa,{markdown:Q})})}),d.length?c.jsx("div",{className:"chat_attachments","aria-label":"Attachments",children:d.map((Q,ke)=>{const Se=String((Q==null?void 0:Q.$artifact)||"").trim(),te=String((Q==null?void 0:Q.source_path)||(Q==null?void 0:Q.filename)||"").trim(),we=String((Q==null?void 0:Q.target)||"").trim().toLowerCase(),he=we==="client"?"client":we==="server"?"server":te.startsWith("client:")?"client":"server",k=(te||Se).split("/").pop()||te||Se||"attachment",B=te?`@${te}`:Se?`artifact: ${Se}`:"attachment",le=!!Se;return c.jsxs("button",{type:"button",className:"chat_attachment_chip",title:le?`${B} (click to preview)`:B,onClick:le?()=>re(Q):void 0,disabled:!le,children:[c.jsx(jt,{name:"paperclip",size:14}),c.jsx("span",{className:`chat_attachment_target ${he}`,children:he}),c.jsx("span",{className:"mono chat_attachment_name",children:k})]},`${Se||k}:${ke}`)})}):null,W?c.jsxs("div",{className:"chat_stats_bar",children:[$?c.jsxs("button",{className:"stat_item clickable",type:"button",title:"Inspect system prompt, user prompt, and tool calls",onClick:()=>z(!0),children:[c.jsx("span",{className:"stat_icon",children:"☰"}),"context"]}):null,h?c.jsxs("span",{className:"stat_item",title:"Tokens in/out/total",children:[c.jsx("span",{className:"stat_icon",children:"◈"}),h.input_tokens,"/",h.output_tokens]}):null,y!==null?c.jsxs("span",{className:"stat_item",title:"Duration",children:[c.jsx("span",{className:"stat_icon",children:"◷"}),mu(y)]}):null,v!==null?c.jsxs("span",{className:"stat_item",title:"Tokens per second",children:[c.jsx("span",{className:"stat_icon",children:"◐"}),v.toFixed(0),"/s"]}):null,w!==null&&w>0?c.jsxs("span",{className:"stat_item",title:"LLM calls",children:[c.jsx("span",{className:"stat_icon",children:"◉"}),w]}):null,N!==null&&N>0?c.jsxs("span",{className:"stat_item",title:"Tool calls",children:[c.jsx("span",{className:"stat_icon",children:"⚙"}),N]}):null]}):null,O&&$?c.jsx(Cv,{gateway:s.gateway,root_run_id:$,inspect_run_id:xe,context_badge_label:s.context_badge_label,on_close:()=>z(!1)}):null,V?c.jsx(Bp,{gateway:s.gateway,session_id:s.session_id,attachment:V,on_close:()=>re(null)}):null]})}function Cv(s){const[n,r]=S.useState(s.inspect_run_id),[l,a]=S.useState([]),[d,f]=S.useState({}),[p,h]=S.useState(!0),[y,v]=S.useState(!0),[w,N]=S.useState(""),[b,T]=S.useState([]);S.useEffect(()=>{const P=D=>{D.key==="Escape"&&(D.preventDefault(),s.on_close())};return window.addEventListener("keydown",P),()=>window.removeEventListener("keydown",P)},[s.on_close]),S.useEffect(()=>{r(s.inspect_run_id),a([]),f({}),h(!0)},[s.inspect_run_id]),S.useEffect(()=>{let P=!1;h(!0);const D=O=>{const z=[],V=new Set;for(const re of O){const L=String(re||"").trim();!L||V.has(L)||(V.add(L),z.push(L))}return z},$=(O,z)=>{const V=new Map;for(const W of O){const se=String((W==null?void 0:W.run_id)||"").trim();if(!se)continue;const J=String((W==null?void 0:W.parent_run_id)||"").trim();if(!J)continue;const pe=V.get(J)||[];pe.push(se),V.set(J,pe)}const re=[],L=[z],xe=new Set;for(;L.length&&re.length<500;){const W=String(L.shift()||"").trim();if(!W||xe.has(W))continue;xe.add(W);const se=V.get(W)||[];for(const J of se){const pe=String(J||"").trim();!pe||xe.has(pe)||(re.push(pe),L.push(pe))}}return re};return(async()=>{try{const O=D([s.inspect_run_id,s.root_run_id]);let z=O.slice(),V={};try{const J=await s.gateway.get_run(s.root_run_id),pe=String((J==null?void 0:J.session_id)||"").trim();if(pe){const Ce=await s.gateway.list_runs({limit:500,session_id:pe,include_ledger_len:!1,include_metrics:!1}),Q=Array.isArray(Ce==null?void 0:Ce.items)?Ce.items:[];for(const Se of Q){const te=String((Se==null?void 0:Se.run_id)||"").trim(),we=Se==null?void 0:Se.ledger_len;te&&typeof we=="number"&&Number.isFinite(we)&&we>=0&&(V[te]=Math.max(0,Math.trunc(we)))}const ke=$(Q,s.root_run_id);z=D([...O,...ke])}}catch{}if(P)return;a(z),f(V);const re=new Set(["llm_call","tool_calls","ask_user","answer_user"]),L=J=>{const pe=J&&typeof J=="object"?J.record??J:null,Ce=pe&&typeof pe=="object"?pe.effect:null;return String((Ce==null?void 0:Ce.type)||"").trim()},xe=async J=>{const pe=String(J||"").trim();if(!pe)return!1;try{const Ce=await s.gateway.get_ledger(pe,{after:0,limit:200});return(Array.isArray(Ce==null?void 0:Ce.items)?Ce.items:[]).some(ke=>re.has(L(ke)))}catch{return!1}},W=D([s.inspect_run_id,s.root_run_id,...z]);let se=s.inspect_run_id;for(const J of W.slice(0,12))if(await xe(J)){se=J;break}P||r(se)}catch{if(P)return;a(D([s.inspect_run_id,s.root_run_id]))}finally{P||h(!1)}})(),()=>{P=!0}},[s.gateway,s.inspect_run_id,s.root_run_id]),S.useEffect(()=>{let P=!1;v(!0),N(""),T([]);const D=async $=>{const O=String($||"").trim();if(!O)return[];const V=await s.gateway.get_run_history_bundle(O,{include_subruns:!1,include_session:!1,ledger_mode:"tail",ledger_max_items:2e3});if(P)return[];const re=V!=null&&V.ledgers&&typeof V.ledgers=="object"?V.ledgers:null,L=re&&re[O]&&typeof re[O]=="object"?re[O]:null,xe=Array.isArray(L==null?void 0:L.items)?L.items:[],W=[];for(const se of xe){if(!se||typeof se!="object")continue;const J=Number(se.cursor),pe=se.record;Number.isFinite(J)&&(!pe||typeof pe!="object"||W.push({run_id:O,cursor:J,record:pe}))}return W};return(async()=>{try{const $=await D(n);if(P)return;T($)}catch($){if(P)return;N(String(($==null?void 0:$.message)||$||"Failed to load context"))}finally{P||v(!1)}})(),()=>{P=!0}},[s.gateway,n,d[n]]);const I=S.useMemo(()=>c_(b,{run_id:n}),[b,n]),U=p||y;return c.jsx("div",{className:"modal_overlay",role:"dialog","aria-modal":"true","aria-label":"Context inspector",onClick:()=>s.on_close(),children:c.jsxs("div",{className:"modal_card",onClick:P=>P.stopPropagation(),children:[c.jsxs("div",{className:"modal_header",children:[c.jsxs("div",{style:{minWidth:0},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[c.jsx("div",{className:"modal_title",children:"Context"}),s.context_badge_label?c.jsx("div",{className:"repl_context_badge modal_ctx_badge",title:"Estimated next-run context",children:c.jsx("span",{className:"mono",children:s.context_badge_label})}):null]}),c.jsxs("div",{className:"muted mono",style:{marginTop:2},children:["run_id:"," ",l.length>1?c.jsx("select",{className:"mono",value:n,onChange:P=>r(String(P.target.value||"").trim()),style:{maxWidth:520},children:l.map(P=>c.jsx("option",{value:P,children:P},P))}):n,n!==s.root_run_id?c.jsxs(c.Fragment,{children:[" ","(from root ",s.root_run_id,")"]}):null]})]}),c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close context inspector",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]}),c.jsxs("div",{className:"modal_body",children:[c.jsx("div",{className:"modal_body_actions",children:c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close context inspector",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})}),U?c.jsxs("div",{className:"context_modal_loading",children:[c.jsxs("div",{className:"thinking_line shimmer",children:[c.jsx("span",{className:"run_spinner","aria-hidden":"true"}),c.jsx("span",{className:"thinking_label",children:"Reconstructing context…"}),c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"thinking_iters",children:"This can take ~30s over remote gateways"})]}),c.jsx("div",{className:"muted",style:{marginTop:10,lineHeight:1.5},children:"Loading agent trace (LLM/tool calls) from the durable ledger…"})]}):w?c.jsx(Yn,{variant:"error",style:{marginTop:12},children:w}):I.items.length?c.jsx(r_,{items:I.items,title:"Agent",subtitle:I.node_id?`node_id: ${I.node_id}`:"Agent trace (LLM/tool calls).",subRunId:n,defaultOpenLatest:!0}):c.jsxs(Yn,{variant:"info",style:{marginTop:12},children:["No trace entries found for this run. Try selecting a different ",c.jsx("span",{className:"mono",children:"run_id"})," from the dropdown."]})]})]})})}function Bp(s){var V,re,L,xe,W;const n=String(((V=s.attachment)==null?void 0:V.$artifact)||"").trim(),r=String(((re=s.attachment)==null?void 0:re.source_path)||((L=s.attachment)==null?void 0:L.filename)||"").trim(),l=String(((xe=s.attachment)==null?void 0:xe.sha256)||"").trim(),a=String(((W=s.attachment)==null?void 0:W.content_type)||"").trim().toLowerCase(),d=(r||n).split("/").pop()||r||n||"attachment",[f,p]=S.useState(!0),[h,y]=S.useState(""),[v,w]=S.useState(""),[N,b]=S.useState(""),[T,I]=S.useState("");S.useEffect(()=>{const se=J=>{J.key==="Escape"&&(J.preventDefault(),s.on_close())};return window.addEventListener("keydown",se),()=>window.removeEventListener("keydown",se)},[s.on_close]),S.useEffect(()=>{let se=!1,J=null;return p(!0),y(""),w(""),b(""),I(""),(async()=>{try{if(!n)throw new Error("Missing attachment artifact id");const pe=await bo(s.session_id);if(a.startsWith("audio/")||a.startsWith("image/")||a.startsWith("video/")||a==="application/octet-stream"){const{blob:Q,content_type:ke}=await s.gateway.get_run_artifact_blob(pe,n,{max_bytes:25e6});if(se)return;J=URL.createObjectURL(Q),b(J),I(String(ke||Q.type||a||"application/octet-stream").trim().toLowerCase())}else{const Q=await s.gateway.get_run_artifact_text(pe,n,{max_bytes:6e5});if(se)return;w(String(Q||""))}}catch(pe){if(se)return;y(String((pe==null?void 0:pe.message)||pe||"Failed to load attachment"))}finally{se||p(!1)}})(),()=>{se=!0;try{J&&URL.revokeObjectURL(J)}catch{}}},[s.gateway,s.session_id,n,a]);function U(se){const J=String(se||"").trim().toLowerCase();return J?J.includes("png")?"png":J.includes("jpeg")||J.includes("jpg")?"jpg":J.includes("webp")?"webp":J.includes("gif")?"gif":J.includes("svg")?"svg":J.includes("mp4")?"mp4":J.includes("webm")?"webm":J.includes("mpeg")?"mpeg":J.includes("wav")?"wav":J.includes("mp3")?"mp3":J.includes("ogg")?"ogg":J.includes("opus")?"opus":J.includes("m4a")||J.includes("mp4")?"m4a":"bin":"bin"}const P=T||a,D=P.startsWith("audio/"),$=P.startsWith("image/"),O=P.startsWith("video/"),z=(()=>{const se=String(d).trim()||"attachment";return se.includes(".")&&se.split(".").pop()?se:`${se}.${U(P)}`})();return c.jsx("div",{className:"modal_overlay",role:"dialog","aria-modal":"true","aria-label":"Attachment preview",onClick:()=>s.on_close(),children:c.jsxs("div",{className:"modal_card",onClick:se=>se.stopPropagation(),children:[c.jsxs("div",{className:"modal_header",children:[c.jsxs("div",{style:{minWidth:0},children:[c.jsx("div",{className:"modal_title",children:"Attachment"}),c.jsxs("div",{className:"muted mono",style:{marginTop:2,overflowWrap:"anywhere"},children:[d,r?` • @${r}`:"",l?` • sha=${l.slice(0,8)}…`:"",P?` • ${P}`:""]})]}),c.jsxs("div",{className:"modal_header_actions",children:[N?c.jsxs("button",{className:"btn mini",type:"button",onClick:se=>{se.preventDefault(),se.stopPropagation();try{const J=document.createElement("a");J.href=N,J.download=z,J.rel="noopener",document.body.appendChild(J),J.click(),J.remove()}catch(J){y(String((J==null?void 0:J.message)||J||"Download failed"))}},"aria-label":"Download attachment",title:"Download",children:[c.jsx(jt,{name:"download",size:14}),c.jsx("span",{className:"modal_close_label",children:"Download"})]}):null,c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close attachment preview",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]})]}),c.jsxs("div",{className:"modal_body",children:[c.jsxs("div",{className:"modal_body_actions",children:[N?c.jsxs("button",{className:"btn mini",type:"button",onClick:se=>{se.preventDefault(),se.stopPropagation();try{const J=document.createElement("a");J.href=N,J.download=z,J.rel="noopener",document.body.appendChild(J),J.click(),J.remove()}catch(J){y(String((J==null?void 0:J.message)||J||"Download failed"))}},"aria-label":"Download attachment",title:"Download",children:[c.jsx(jt,{name:"download",size:14}),c.jsx("span",{className:"modal_close_label",children:"Download"})]}):null,c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close attachment preview",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]}),f?c.jsx("div",{className:"muted",style:{marginTop:12},children:"Loading…"}):h?c.jsxs(Yn,{variant:"error",style:{marginTop:12},children:[h,h.toLowerCase().includes("too large")?c.jsxs(c.Fragment,{children:[" ","Try using the `open_attachment` tool for a bounded excerpt instead."]}):null]}):N&&(D||$||O)?c.jsxs("div",{className:"attachment_preview",children:[D?c.jsx("audio",{controls:!0,style:{width:"100%"},src:N}):null,$?c.jsx("img",{alt:d,src:N,style:{width:"100%",borderRadius:10}}):null,O?c.jsx("video",{controls:!0,style:{width:"100%"},src:N}):null,D||O?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Playback may require a user gesture (browser autoplay restrictions)."}):null]}):N?c.jsx("div",{className:"attachment_preview",children:c.jsxs(Yn,{variant:"info",style:{marginTop:12},children:["This attachment is binary (",P||"unknown type","). Use Download to save it locally."]})}):c.jsx("div",{className:"attachment_preview",children:c.jsx(sa,{markdown:`\`\`\`
|
|
154
|
+
${De}`:De}),window.setTimeout(()=>{var je;return(je=B.current)==null?void 0:je.focus()},0))}catch(E){U(String((E==null?void 0:E.message)||E||"Transcription failed"))}finally{Nt(!1)}}}async function ii(){if(U(""),!Ui){U("Voice recording is not supported in this browser (MediaRecorder/getUserMedia unavailable).");return}if(!Lt&&!(Ut||Yt.current)){Kt(null),pn.current=[];try{const _=await navigator.mediaDevices.getUserMedia({audio:!0});mn.current=_;const x=Ho();hn.current=x;const E=x?new MediaRecorder(_,{mimeType:x}):new MediaRecorder(_);Yt.current=E,E.ondataavailable=M=>{try{M!=null&&M.data&&pn.current.push(M.data)}catch{}},E.onerror=()=>{U("Recording failed.")},E.onstop=()=>{fn(!1),us(),Yt.current=null;try{const M=new Blob(pn.current,{type:hn.current||""});si(M,hn.current)}catch(M){U(String((M==null?void 0:M.message)||M||"Failed to build recording"))}},E.start(),fn(!0)}catch(_){us(),Yt.current=null,fn(!1);const x=String((_==null?void 0:_.message)||_||"Failed to access microphone");U(x.toLowerCase().includes("permission")?`Microphone permission denied: ${x}`:x)}}}function oi(){const _=Yt.current;if(!(!Ut||!_)){Yt.current=null,fn(!1);try{_.stop()}catch(x){U(String((x==null?void 0:x.message)||x||"Failed to stop recording"))}}}return S.useEffect(()=>{if(!Ut)return;const _=()=>oi();return window.addEventListener("pointerup",_),window.addEventListener("pointercancel",_),()=>{window.removeEventListener("pointerup",_),window.removeEventListener("pointercancel",_)}},[Ut]),c.jsx("div",{className:"repl",children:c.jsxs("div",{className:"panel repl_frame",children:[c.jsx(Up,{active:"console",on_nav:s.on_nav,center:c.jsx("div",{className:"repl_context_badge",title:`Estimated next-run context: text≈${xn.text_tokens.toLocaleString()} tok; files≈${xn.file_tokens.toLocaleString()} tok (${xn.file_count} files).`,children:c.jsx("span",{className:"mono",children:ls})}),monitor_gpu_enabled:s.monitor_gpu_enabled,monitor_gpu_ref:s.monitor_gpu_ref,gateway_url:s.gateway_url}),c.jsxs("div",{className:"repl_panel",children:[c.jsxs("div",{className:"repl_inset",children:[l?c.jsx(Yn,{variant:l.includes("switched to")?"info":"warn",onClick:()=>a(""),style:{cursor:"pointer"},title:"Click to dismiss",children:l}):null,!s.settings.provider.trim()||!s.settings.model.trim()?c.jsx(Yn,{variant:"warn",children:"Set provider + model in Settings. (These agent workflows require them.)"}):null,(()=>{var x,E;if(String(s.settings.gateway_url||"").trim())return null;try{const M=String(((x=window==null?void 0:window.location)==null?void 0:x.origin)||""),ne=String(((E=window==null?void 0:window.location)==null?void 0:E.protocol)||"");if(!(!M||M==="null"||ne==="file:"))return null}catch{}return c.jsx(Yn,{variant:"warn",children:"Set a Gateway URL in Settings (this page has no same-origin /api proxy)."})})(),I?c.jsx(Yn,{variant:"error",children:I}):null,c.jsxs("div",{className:"repl_chat_wrap",children:[c.jsx("div",{className:"repl_chat",ref:ge,onScroll:_=>{const x=_.currentTarget,M=x.scrollTop+x.clientHeight>=x.scrollHeight-80;G.current=M,Re(M)},children:c.jsxs("div",{className:"repl_chat_content",ref:ve,children:[s.repl.messages.length?null:c.jsx("div",{className:"muted",children:"Start typing to begin."}),s.repl.messages.map((_,x)=>{const E=`${_.ts}:${_.role}:${x}`;return c.jsx(Ev,{msg_key:E,m:_,gateway:s.gateway,session_id:s.session_id,context_badge_label:ls,tool_specs_by_name:y,tts_playback:Dr,on_toggle_tts:Nr},E)}),c.jsx("div",{ref:ee})]})}),!_e&&s.repl.messages.length?c.jsxs("button",{className:"btn scroll_to_bottom",type:"button","aria-label":"Scroll to latest",title:"Scroll to latest",onClick:()=>{const _=ge.current;_&&(_.scrollTo({top:_.scrollHeight,behavior:"smooth"}),G.current=!0,Re(!0))},children:[c.jsx(jt,{name:"chevronDown",size:16}),"Latest"]}):null]}),P?c.jsx("div",{className:At?"repl_wait compact":"repl_wait",children:en?c.jsx(c.Fragment,{children:es.length?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"wait_line shimmer","aria-live":"polite",children:[c.jsx("span",{className:"mono",children:"Waiting"}),c.jsx("span",{className:"muted",children:"for approval to run tools…"})]}),c.jsx("div",{className:"muted",children:"Approve to run these tools."}),c.jsx("div",{style:{marginTop:10,display:"flex",flexDirection:"column",gap:8},children:es.map((_,x)=>{const E=String((_==null?void 0:_.name)||"").trim(),M=String((_==null?void 0:_.call_id)||(_==null?void 0:_.id)||"").trim();return c.jsx(Wp,{meta:{name:E||void 0,call_id:M||void 0,arguments:(_==null?void 0:_.arguments)??void 0,output_preview:"",pending:!0},ts:ht(),tool_specs_by_name:y},`${M||E||"tool"}:${x}`)})}),c.jsxs("div",{className:"actions",children:[c.jsx("button",{className:"btn primary",disabled:te,onClick:()=>rr({approved:!0}),children:"Approve + resume"}),c.jsx("button",{className:"btn",disabled:te,onClick:()=>rr({approved:!1,reason:"Denied by user"}),children:"Deny"})]})]}):$e?c.jsx(Tv,{wait:en,disabled:te,on_submit:_=>Os(_)}):Mn==="subworkflow"?c.jsxs("div",{className:"thinking_line shimmer","aria-live":"polite",title:Wn?`wait_key: ${Wn}`:void 0,children:[c.jsx("span",{className:"run_spinner","aria-label":"working"}),c.jsx("span",{className:"thinking_label",children:"Thinking…"}),An?c.jsx("span",{className:"thinking_iters mono",children:An}):null,c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"muted mono thinking_detail",children:Xr||ts||"agent"})]}):c.jsxs("div",{className:"wait_line shimmer","aria-live":"polite",title:Wn?`wait_key: ${Wn}`:void 0,children:[c.jsx("span",{className:"mono",children:"Waiting"}),c.jsxs("span",{className:"muted",children:["for"," ",`${Mn||"unknown"}${Le?`:${Le}`:""}`,"…"]})]})}):ct?c.jsxs("div",{className:"thinking_line","aria-live":"polite",children:[c.jsx("span",{className:"run_spinner","aria-label":"working"}),c.jsx("span",{className:"thinking_label",children:"Thinking…"}),An?c.jsx("span",{className:"thinking_iters mono",children:An}):null,c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"muted mono thinking_detail",children:Q})]}):null}):null,Je.length||Ft?c.jsxs("div",{className:"file_chips",children:[Ft?(()=>{const _=Ft,x=String((_==null?void 0:_.$artifact)||"").trim(),E=String((_==null?void 0:_.target)||"").trim().toLowerCase(),M=E==="client"?"client":E==="server"?"server":"client",ne=String((_==null?void 0:_.source_path)||(_==null?void 0:_.filename)||x||"voice").trim()||"voice",Y=!!x,de=Y?`Voice clip (replay only): @${ne}`:`Voice clip: @${ne}`;return c.jsxs("div",{className:"file_chip",title:de,role:Y?"button":void 0,tabIndex:Y?0:void 0,onClick:Y?()=>Qt(Ft):void 0,onKeyDown:Y?q=>{q.key!=="Enter"&&q.key!==" "||(q.preventDefault(),Qt(Ft))}:void 0,children:[c.jsx("span",{className:"file_chip_icon","aria-hidden":"true",children:c.jsx(jt,{name:"mic",size:14})}),c.jsx("span",{className:`file_chip_target ${M}`,children:"voice"}),c.jsxs("span",{className:"mono",children:["@",ne]}),c.jsx("button",{className:"chip_remove",type:"button",onClick:q=>{q.stopPropagation(),Kt(null)},"aria-label":"Remove voice clip",children:"×"})]},`voice:${x||ne}`)})():null,Je.map(_=>{var Me,De;const x=String(_.path||"").trim(),E=_.error?"file_chip error":_.loading?"file_chip loading":"file_chip",M=_.error?"warning":_.loading?"loader":"paperclip",ne=String(((Me=_.attachment)==null?void 0:Me.$artifact)||"").trim(),Y=String(((De=_.attachment)==null?void 0:De.target)||"").trim().toLowerCase(),de=Y==="client"?"client":Y==="server"?"server":x.startsWith("client:")?"client":"server",q=!_.loading&&!String(_.error||"").trim()&&!!ne,Z=_.error?String(_.error):q?`@${x} (click to preview)`:x;return c.jsxs("div",{className:E,title:Z,role:q?"button":void 0,tabIndex:q?0:void 0,onClick:q?()=>Qt(_.attachment):void 0,onKeyDown:q?je=>{je.key!=="Enter"&&je.key!==" "||(je.preventDefault(),Qt(_.attachment))}:void 0,children:[c.jsx("span",{className:"file_chip_icon","aria-hidden":"true",children:c.jsx(jt,{name:M,size:14,className:_.loading?"spin":void 0})}),c.jsx("span",{className:`file_chip_target ${de}`,children:de}),c.jsxs("span",{className:"mono",children:["@",x]}),_.loading?c.jsx("span",{className:"muted",children:"ingesting…"}):null,_.error?c.jsx("span",{className:"muted",children:String(_.error)}):null,c.jsx("button",{className:"chip_remove",type:"button",onClick:je=>{je.stopPropagation(),Cr(x)},"aria-label":"Remove file",children:"×"})]},x)})]}):null,$t?c.jsxs("div",{className:"cmd_menu",children:[Sn.target==="client"?c.jsxs("button",{className:"cmd_item active",type:"button",onClick:()=>cs($t),children:[c.jsx("span",{className:"mono",children:"@client:"}),c.jsx("span",{className:"muted",children:"upload from device…"})]}):null,Sn.target!=="client"?c.jsxs("button",{className:"cmd_item",type:"button",onClick:()=>cs($t),title:"Upload a local file from this device",children:[c.jsx("span",{className:"mono",children:"@client:"}),c.jsx("span",{className:"muted",children:"upload from device…"})]}):null,Sn.target!=="client"?c.jsxs(c.Fragment,{children:[Xn?c.jsx("div",{className:"cmd_notice muted",children:"Searching files…"}):null,In?c.jsx("div",{className:"cmd_notice error",children:In}):null,!Xn&&!In&&!Mt.length?c.jsx("div",{className:"cmd_notice muted",children:Sn.query?"No matches.":"Type to search server files (`@server:…`) or upload (`@client:`)."}):null,Mt.map((_,x)=>c.jsxs("button",{className:`cmd_item ${x===$?"active":""}`,type:"button",onClick:()=>void zs(_,$t),children:[c.jsxs("span",{className:"mono",children:["@",_]}),c.jsx("span",{className:"muted",children:Ps(Jn[_])||"attach"})]},_))]}):null]}):null,Ur.length?c.jsx("div",{className:"cmd_menu",children:Ur.map((_,x)=>c.jsxs("button",{className:`cmd_item ${x===z?"active":""}`,type:"button",onClick:()=>{N(`/${_.name} `)},children:[c.jsxs("span",{className:"mono",children:["/",_.name]}),c.jsx("span",{className:"muted",children:_.desc})]},_.name))}):null]}),c.jsxs("div",{className:"repl_composer",children:[c.jsx("div",{className:Zr?"repl_input drop_active":"repl_input",onDragEnter:_=>{var x,E,M;try{if(!((M=(E=(x=_.dataTransfer)==null?void 0:x.types)==null?void 0:E.includes)!=null&&M.call(E,"Files")))return}catch{}_.preventDefault(),er(!0)},onDragOver:_=>{var x,E,M;try{if(!((M=(E=(x=_.dataTransfer)==null?void 0:x.types)==null?void 0:E.includes)!=null&&M.call(E,"Files")))return;_.dataTransfer.dropEffect="copy"}catch{}_.preventDefault(),er(!0)},onDragLeave:()=>er(!1),onDrop:_=>{var E;_.preventDefault(),_.stopPropagation(),er(!1);const x=Array.from(((E=_.dataTransfer)==null?void 0:E.files)||[]);x.length&&Fi(x)},children:c.jsx("textarea",{className:"mono",ref:B,value:w,rows:3,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",onChange:_=>{N(_.target.value);const x=typeof _.target.selectionStart=="number"?_.target.selectionStart:_.target.value.length;T(x)},onClick:_=>{const x=_.currentTarget,E=typeof x.selectionStart=="number"?x.selectionStart:x.value.length;T(E)},onKeyUp:_=>{const x=_.currentTarget,E=typeof x.selectionStart=="number"?x.selectionStart:x.value.length;T(E)},placeholder:zi?Jt?"Loading attached files…":"Type a message and use @ to attach files":"Waiting for the current run…",disabled:!zi,onKeyDown:_=>{if($t){if(Sn.target==="client"&&_.key==="Tab"){_.preventDefault(),cs($t);return}if(Sn.target!=="client"&&_.key==="Tab"&&!Xn&&!In&&!Mt.length){const x=String(Sn.query||"").trim();if(x){_.preventDefault(),zs(x,$t);return}}if(_.key==="Escape"&&(Mt.length||In)){_.preventDefault(),Bt([]),gt(""),Xt(!1);return}if(Mt.length){if(_.key==="ArrowDown"){_.preventDefault(),O(x=>Math.min(Mt.length-1,x+1));return}if(_.key==="ArrowUp"){_.preventDefault(),O(x=>Math.max(0,x-1));return}if(_.key==="Tab"){_.preventDefault();const x=Mt[$]||Mt[0];x&&zs(x,$t);return}}}if(Ur.length){if(_.key==="ArrowDown"){_.preventDefault(),D(x=>Math.min(Ur.length-1,x+1));return}if(_.key==="ArrowUp"){_.preventDefault(),D(x=>Math.max(0,x-1));return}if(_.key==="Tab"){_.preventDefault();const x=Ur[z]||Ur[0];x&&N(`/${x.name} `);return}}if(_.key==="Enter"&&!_.shiftKey){if(_.preventDefault(),Jt){U("Wait for attached files to finish loading.");return}if(Lt){U("Wait for transcription to finish.");return}const x=w;N(""),(async()=>await Bo(x)||await Ts(x))()}}})}),c.jsxs("div",{className:"repl_send_panel",children:[c.jsxs("div",{className:"composer_shortcuts","aria-hidden":"true",children:[c.jsxs("span",{children:[c.jsx("kbd",{children:"Enter"})," send"]}),c.jsxs("span",{children:[c.jsx("kbd",{children:"Shift"})," ",c.jsx("kbd",{children:"Enter"})," nl"]}),c.jsxs("span",{children:[c.jsx("kbd",{children:"/"})," cmd"]})]}),c.jsxs("div",{className:"repl_send_row",children:[c.jsxs("button",{className:`btn voice_btn${Ut?" danger":""}`,type:"button",title:Lt?"Transcribing…":Ut?"Recording… release to transcribe":"Hold to talk (record + transcribe)","aria-label":Lt?"Voice input (transcribing)":Ut?"Voice input (recording)":"Voice input (hold to record)",disabled:Lt,onPointerDown:_=>{var x,E;if(!Lt){_.preventDefault();try{(E=(x=_.currentTarget)==null?void 0:x.setPointerCapture)==null||E.call(x,_.pointerId)}catch{}ii()}},onPointerUp:_=>{_.preventDefault(),oi()},onPointerCancel:_=>{_.preventDefault(),oi()},children:[c.jsx(jt,{name:Ut?"x":"mic",size:16}),c.jsx("span",{className:"voice_btn_label",children:"Voice"})]}),c.jsxs("button",{className:"btn attach_btn",type:"button",title:"Attach files from this device","aria-label":"Attach files from this device",onClick:()=>{var _;try{(_=le.current)==null||_.click()}catch{}},children:[c.jsx(jt,{name:"paperclip",size:16}),c.jsx("span",{className:"attach_btn_label",children:"Attach"})]}),c.jsxs("button",{className:`btn ${P?"danger cancel_btn":"primary"} send_btn`,disabled:Lt||(P?he:!Uo||!w.trim()),onClick:()=>{if(P){Ls();return}const _=w;N(""),(async()=>await Bo(_)||await Ts(_))()},type:"button",children:[c.jsx(jt,{name:P?"x":"send",size:16}),c.jsx("span",{className:"send_btn_label",children:P?he?"Cancelling…":"Cancel":"Send"})]}),c.jsx("input",{ref:le,type:"file",multiple:!0,style:{display:"none"},onChange:_=>{const x=Array.from(_.currentTarget.files||[]);_.currentTarget.value="",x.length&&Fi(x)}})]})]})]}),kt?c.jsx(Bp,{gateway:s.gateway,session_id:s.session_id,attachment:kt,on_close:()=>Qt(null)}):null]})]})})}function Ev(s){const n=s.m,r=n.meta&&typeof n.meta=="object"?n.meta:null,l=r&&typeof r._kind=="string"?String(r._kind):"";if(l==="tts_audio")return null;const d=(Array.isArray(r==null?void 0:r.attachments)?r.attachments:[]).filter(Q=>Q&&typeof Q=="object"&&!Array.isArray(Q)).slice(0,16).map(Q=>({...Q})),f=r&&r._repl&&typeof r._repl=="object"?r._repl:null,p=f&&f.usage&&typeof f.usage=="object"?f.usage:null,h=Ip(p),y=f&&Number.isFinite(Number(f.duration_ms))?Number(f.duration_ms):null,v=f&&Number.isFinite(Number(f.tok_s))?Number(f.tok_s):null,w=f&&Number.isFinite(Number(f.llm_calls))?Number(f.llm_calls):null,N=f&&Number.isFinite(Number(f.tool_calls))?Number(f.tool_calls):null,b={user:{label:"You",icon:"user"},assistant:{label:"Agent",icon:"bot"},system:{label:n.title||(n.level==="error"?"Error":n.level==="warn"?"Warning":"System"),icon:n.level==="error"?"error":n.level==="warn"?"warning":"info"}};let T=b[n.role]||b.system;n.role==="system"&&l==="report_bug"&&(T={label:n.title||"Bug report",icon:"warning"}),n.role==="system"&&l==="report_feature"&&(T={label:n.title||"Feature request",icon:"check"});const I=n.role==="assistant"?"assistant":n.role==="system"&&l==="report_bug"?"message report_bug":n.role==="system"&&l==="report_feature"?"message report_feature":n.role==="system"?n.level==="error"?"message error":n.level==="warn"?"message warn":"status":"user",[U,z]=S.useState("idle"),D=n.role==="system"&&String(n.title||"").trim()==="Digest"&&(n.level||"info")==="info",$=String(n.run_id||"").trim(),[O,P]=S.useState(!1),[V,re]=S.useState(null),L=r&&r.workflow_meta&&typeof r.workflow_meta=="object"?r.workflow_meta:null,xe=String((L==null?void 0:L.context_appended_sub_run_id)||"").trim()||String((L==null?void 0:L.sub_run_id)||"").trim()||String((L==null?void 0:L.llm_run_id)||"").trim()||$;if(l==="tool")return c.jsx("div",{className:"chat_item tool_item",children:c.jsx(Wp,{meta:r==null?void 0:r.tool,ts:n.ts,tool_specs_by_name:s.tool_specs_by_name})});if(l==="run_digest"){const Q=r!=null&&r.digest&&typeof r.digest=="object"?r.digest:{},ke=String((Q==null?void 0:Q.outcome)||"").trim()||String(n.level||"").trim()||"completed",Se=ke==="failed"?"Run failed":ke==="cancelled"?"Run cancelled":"Run completed",te=Number.isFinite(Number(Q==null?void 0:Q.duration_ms))?Number(Q.duration_ms):0,we=Number.isFinite(Number(Q==null?void 0:Q.llm_calls))?Number(Q.llm_calls):0,he=Number.isFinite(Number(Q==null?void 0:Q.tool_calls))?Number(Q.tool_calls):0,k=Q!=null&&Q.tokens&&typeof Q.tokens=="object"?Q.tokens:null,B=Number.isFinite(Number(Q==null?void 0:Q.speed_tok_s))?Number(Q.speed_tok_s):null,le=Array.isArray(Q==null?void 0:Q.tools)?Q.tools.map(ge=>String(ge||"").trim()).filter(Boolean):[];return c.jsxs("div",{className:`chat_item ${I}`,children:[c.jsxs("div",{className:"chat_header",children:[c.jsx("div",{className:"chat_avatar","aria-hidden":"true",children:c.jsx(jt,{name:ke==="failed"?"error":ke==="cancelled"?"warning":"info",size:14})}),c.jsx("span",{className:"chat_role",children:Se}),c.jsx("span",{className:"chat_header_spacer"}),c.jsx("span",{className:"chat_time",children:new Date(n.ts).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),c.jsxs("div",{className:"run_digest_card",children:[c.jsxs("div",{className:"run_digest_grid",children:[c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"duration"}),c.jsx("span",{className:"mono",children:mu(te)})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"llm"}),c.jsx("span",{className:"mono",children:we})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"tools"}),c.jsx("span",{className:"mono",children:he})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"tokens"}),c.jsx("span",{className:"mono",children:k&&typeof(k==null?void 0:k.total)=="number"?`${k.total}`:"—"})]}),c.jsxs("div",{className:"run_digest_item",children:[c.jsx("span",{className:"muted",children:"speed"}),c.jsx("span",{className:"mono",children:B!=null?`${B.toFixed(1)} tok/s`:"—"})]})]}),le.length?c.jsxs("details",{className:"run_digest_tools",children:[c.jsxs("summary",{className:"run_digest_tools_summary",children:[c.jsx("span",{className:"mono",children:"tools used"}),c.jsxs("span",{className:"muted",children:["(",le.length,")"]})]}),c.jsxs("div",{className:"run_digest_tools_list",children:[le.slice(0,120).map((ge,ve)=>c.jsx("div",{className:"mono run_digest_tool",children:ge},`${ge}:${ve}`)),le.length>120?c.jsxs("div",{className:"muted",children:["…and ",le.length-120," more"]}):null]})]}):null]})]})}if(D)return null;const W=n.role==="assistant"&&(!!$||h||y!==null||w!==null||N!==null),se=typeof s.on_toggle_tts=="function"&&n.role==="assistant"&&String(n.content||"").trim(),J=s.tts_playback&&s.tts_playback.key===String(s.msg_key||"").trim()?s.tts_playback.status:"idle",pe=J==="loading"?"loader":J==="playing"?"pause":"speaker",Ce=J==="loading"?"Generating audio…":J==="playing"?"Pause":J==="paused"?"Resume":"Speak (TTS)";return c.jsxs("div",{className:`chat_item ${I}`,children:[c.jsxs("div",{className:"chat_header",children:[c.jsx("div",{className:"chat_avatar","aria-hidden":"true",children:c.jsx(jt,{name:T.icon,size:14})}),c.jsx("span",{className:"chat_role",children:T.label}),c.jsx("span",{className:"chat_header_spacer"}),c.jsx("span",{className:"chat_time",children:new Date(n.ts).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),se?c.jsx("button",{className:`chat_action_icon chat_speak ${J}`,onClick:()=>{var Q;return(Q=s.on_toggle_tts)==null?void 0:Q.call(s,String(s.msg_key||"").trim(),String(n.content||""))},type:"button","aria-label":Ce,title:Ce,children:c.jsx(jt,{name:pe,size:22})}):null,c.jsx("button",{className:`chat_action_icon chat_copy ${U}`,onClick:async()=>{const Q=await bu(String(n.content||""));z(Q?"copied":"failed"),window.setTimeout(()=>z("idle"),900)},type:"button","aria-label":"Copy message",children:c.jsx(jt,{name:"copy",size:22})})]}),c.jsx("div",{className:"body markdown",children:c.jsx(jg,{text:n.content,renderMarkdown:Q=>c.jsx(sa,{markdown:Q})})}),d.length?c.jsx("div",{className:"chat_attachments","aria-label":"Attachments",children:d.map((Q,ke)=>{const Se=String((Q==null?void 0:Q.$artifact)||"").trim(),te=String((Q==null?void 0:Q.source_path)||(Q==null?void 0:Q.filename)||"").trim(),we=String((Q==null?void 0:Q.target)||"").trim().toLowerCase(),he=we==="client"?"client":we==="server"?"server":te.startsWith("client:")?"client":"server",k=(te||Se).split("/").pop()||te||Se||"attachment",B=te?`@${te}`:Se?`artifact: ${Se}`:"attachment",le=!!Se;return c.jsxs("button",{type:"button",className:"chat_attachment_chip",title:le?`${B} (click to preview)`:B,onClick:le?()=>re(Q):void 0,disabled:!le,children:[c.jsx(jt,{name:"paperclip",size:14}),c.jsx("span",{className:`chat_attachment_target ${he}`,children:he}),c.jsx("span",{className:"mono chat_attachment_name",children:k})]},`${Se||k}:${ke}`)})}):null,W?c.jsxs("div",{className:"chat_stats_bar",children:[$?c.jsxs("button",{className:"stat_item clickable",type:"button",title:"Inspect system prompt, user prompt, and tool calls",onClick:()=>P(!0),children:[c.jsx("span",{className:"stat_icon",children:"☰"}),"context"]}):null,h?c.jsxs("span",{className:"stat_item",title:"Tokens in/out/total",children:[c.jsx("span",{className:"stat_icon",children:"◈"}),h.input_tokens,"/",h.output_tokens]}):null,y!==null?c.jsxs("span",{className:"stat_item",title:"Duration",children:[c.jsx("span",{className:"stat_icon",children:"◷"}),mu(y)]}):null,v!==null?c.jsxs("span",{className:"stat_item",title:"Tokens per second",children:[c.jsx("span",{className:"stat_icon",children:"◐"}),v.toFixed(0),"/s"]}):null,w!==null&&w>0?c.jsxs("span",{className:"stat_item",title:"LLM calls",children:[c.jsx("span",{className:"stat_icon",children:"◉"}),w]}):null,N!==null&&N>0?c.jsxs("span",{className:"stat_item",title:"Tool calls",children:[c.jsx("span",{className:"stat_icon",children:"⚙"}),N]}):null]}):null,O&&$?c.jsx(Cv,{gateway:s.gateway,root_run_id:$,inspect_run_id:xe,context_badge_label:s.context_badge_label,on_close:()=>P(!1)}):null,V?c.jsx(Bp,{gateway:s.gateway,session_id:s.session_id,attachment:V,on_close:()=>re(null)}):null]})}function Cv(s){const[n,r]=S.useState(s.inspect_run_id),[l,a]=S.useState([]),[d,f]=S.useState({}),[p,h]=S.useState(!0),[y,v]=S.useState(!0),[w,N]=S.useState(""),[b,T]=S.useState([]);S.useEffect(()=>{const z=D=>{D.key==="Escape"&&(D.preventDefault(),s.on_close())};return window.addEventListener("keydown",z),()=>window.removeEventListener("keydown",z)},[s.on_close]),S.useEffect(()=>{r(s.inspect_run_id),a([]),f({}),h(!0)},[s.inspect_run_id]),S.useEffect(()=>{let z=!1;h(!0);const D=O=>{const P=[],V=new Set;for(const re of O){const L=String(re||"").trim();!L||V.has(L)||(V.add(L),P.push(L))}return P},$=(O,P)=>{const V=new Map;for(const W of O){const se=String((W==null?void 0:W.run_id)||"").trim();if(!se)continue;const J=String((W==null?void 0:W.parent_run_id)||"").trim();if(!J)continue;const pe=V.get(J)||[];pe.push(se),V.set(J,pe)}const re=[],L=[P],xe=new Set;for(;L.length&&re.length<500;){const W=String(L.shift()||"").trim();if(!W||xe.has(W))continue;xe.add(W);const se=V.get(W)||[];for(const J of se){const pe=String(J||"").trim();!pe||xe.has(pe)||(re.push(pe),L.push(pe))}}return re};return(async()=>{try{const O=D([s.inspect_run_id,s.root_run_id]);let P=O.slice(),V={};try{const J=await s.gateway.get_run(s.root_run_id),pe=String((J==null?void 0:J.session_id)||"").trim();if(pe){const Ce=await s.gateway.list_runs({limit:500,session_id:pe,include_ledger_len:!1,include_metrics:!1}),Q=Array.isArray(Ce==null?void 0:Ce.items)?Ce.items:[];for(const Se of Q){const te=String((Se==null?void 0:Se.run_id)||"").trim(),we=Se==null?void 0:Se.ledger_len;te&&typeof we=="number"&&Number.isFinite(we)&&we>=0&&(V[te]=Math.max(0,Math.trunc(we)))}const ke=$(Q,s.root_run_id);P=D([...O,...ke])}}catch{}if(z)return;a(P),f(V);const re=new Set(["llm_call","tool_calls","ask_user","answer_user"]),L=J=>{const pe=J&&typeof J=="object"?J.record??J:null,Ce=pe&&typeof pe=="object"?pe.effect:null;return String((Ce==null?void 0:Ce.type)||"").trim()},xe=async J=>{const pe=String(J||"").trim();if(!pe)return!1;try{const Ce=await s.gateway.get_ledger(pe,{after:0,limit:200});return(Array.isArray(Ce==null?void 0:Ce.items)?Ce.items:[]).some(ke=>re.has(L(ke)))}catch{return!1}},W=D([s.inspect_run_id,s.root_run_id,...P]);let se=s.inspect_run_id;for(const J of W.slice(0,12))if(await xe(J)){se=J;break}z||r(se)}catch{if(z)return;a(D([s.inspect_run_id,s.root_run_id]))}finally{z||h(!1)}})(),()=>{z=!0}},[s.gateway,s.inspect_run_id,s.root_run_id]),S.useEffect(()=>{let z=!1;v(!0),N(""),T([]);const D=async $=>{const O=String($||"").trim();if(!O)return[];const V=await s.gateway.get_run_history_bundle(O,{include_subruns:!1,include_session:!1,ledger_mode:"tail",ledger_max_items:2e3});if(z)return[];const re=V!=null&&V.ledgers&&typeof V.ledgers=="object"?V.ledgers:null,L=re&&re[O]&&typeof re[O]=="object"?re[O]:null,xe=Array.isArray(L==null?void 0:L.items)?L.items:[],W=[];for(const se of xe){if(!se||typeof se!="object")continue;const J=Number(se.cursor),pe=se.record;Number.isFinite(J)&&(!pe||typeof pe!="object"||W.push({run_id:O,cursor:J,record:pe}))}return W};return(async()=>{try{const $=await D(n);if(z)return;T($)}catch($){if(z)return;N(String(($==null?void 0:$.message)||$||"Failed to load context"))}finally{z||v(!1)}})(),()=>{z=!0}},[s.gateway,n,d[n]]);const I=S.useMemo(()=>c_(b,{run_id:n}),[b,n]),U=p||y;return c.jsx("div",{className:"modal_overlay",role:"dialog","aria-modal":"true","aria-label":"Context inspector",onClick:()=>s.on_close(),children:c.jsxs("div",{className:"modal_card",onClick:z=>z.stopPropagation(),children:[c.jsxs("div",{className:"modal_header",children:[c.jsxs("div",{style:{minWidth:0},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[c.jsx("div",{className:"modal_title",children:"Context"}),s.context_badge_label?c.jsx("div",{className:"repl_context_badge modal_ctx_badge",title:"Estimated next-run context",children:c.jsx("span",{className:"mono",children:s.context_badge_label})}):null]}),c.jsxs("div",{className:"muted mono",style:{marginTop:2},children:["run_id:"," ",l.length>1?c.jsx("select",{className:"mono",value:n,onChange:z=>r(String(z.target.value||"").trim()),style:{maxWidth:520},children:l.map(z=>c.jsx("option",{value:z,children:z},z))}):n,n!==s.root_run_id?c.jsxs(c.Fragment,{children:[" ","(from root ",s.root_run_id,")"]}):null]})]}),c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close context inspector",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]}),c.jsxs("div",{className:"modal_body",children:[c.jsx("div",{className:"modal_body_actions",children:c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close context inspector",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})}),U?c.jsxs("div",{className:"context_modal_loading",children:[c.jsxs("div",{className:"thinking_line shimmer",children:[c.jsx("span",{className:"run_spinner","aria-hidden":"true"}),c.jsx("span",{className:"thinking_label",children:"Reconstructing context…"}),c.jsx("span",{className:"thinking_spacer"}),c.jsx("span",{className:"thinking_iters",children:"This can take ~30s over remote gateways"})]}),c.jsx("div",{className:"muted",style:{marginTop:10,lineHeight:1.5},children:"Loading agent trace (LLM/tool calls) from the durable ledger…"})]}):w?c.jsx(Yn,{variant:"error",style:{marginTop:12},children:w}):I.items.length?c.jsx(r_,{items:I.items,title:"Agent",subtitle:I.node_id?`node_id: ${I.node_id}`:"Agent trace (LLM/tool calls).",subRunId:n,defaultOpenLatest:!0}):c.jsxs(Yn,{variant:"info",style:{marginTop:12},children:["No trace entries found for this run. Try selecting a different ",c.jsx("span",{className:"mono",children:"run_id"})," from the dropdown."]})]})]})})}function Bp(s){var V,re,L,xe,W;const n=String(((V=s.attachment)==null?void 0:V.$artifact)||"").trim(),r=String(((re=s.attachment)==null?void 0:re.source_path)||((L=s.attachment)==null?void 0:L.filename)||"").trim(),l=String(((xe=s.attachment)==null?void 0:xe.sha256)||"").trim(),a=String(((W=s.attachment)==null?void 0:W.content_type)||"").trim().toLowerCase(),d=(r||n).split("/").pop()||r||n||"attachment",[f,p]=S.useState(!0),[h,y]=S.useState(""),[v,w]=S.useState(""),[N,b]=S.useState(""),[T,I]=S.useState("");S.useEffect(()=>{const se=J=>{J.key==="Escape"&&(J.preventDefault(),s.on_close())};return window.addEventListener("keydown",se),()=>window.removeEventListener("keydown",se)},[s.on_close]),S.useEffect(()=>{let se=!1,J=null;return p(!0),y(""),w(""),b(""),I(""),(async()=>{try{if(!n)throw new Error("Missing attachment artifact id");const pe=await bo(s.session_id);if(a.startsWith("audio/")||a.startsWith("image/")||a.startsWith("video/")||a==="application/octet-stream"){const{blob:Q,content_type:ke}=await s.gateway.get_run_artifact_blob(pe,n,{max_bytes:25e6});if(se)return;J=URL.createObjectURL(Q),b(J),I(String(ke||Q.type||a||"application/octet-stream").trim().toLowerCase())}else{const Q=await s.gateway.get_run_artifact_text(pe,n,{max_bytes:6e5});if(se)return;w(String(Q||""))}}catch(pe){if(se)return;y(String((pe==null?void 0:pe.message)||pe||"Failed to load attachment"))}finally{se||p(!1)}})(),()=>{se=!0;try{J&&URL.revokeObjectURL(J)}catch{}}},[s.gateway,s.session_id,n,a]);function U(se){const J=String(se||"").trim().toLowerCase();return J?J.includes("png")?"png":J.includes("jpeg")||J.includes("jpg")?"jpg":J.includes("webp")?"webp":J.includes("gif")?"gif":J.includes("svg")?"svg":J.includes("mp4")?"mp4":J.includes("webm")?"webm":J.includes("mpeg")?"mpeg":J.includes("wav")?"wav":J.includes("mp3")?"mp3":J.includes("ogg")?"ogg":J.includes("opus")?"opus":J.includes("m4a")||J.includes("mp4")?"m4a":"bin":"bin"}const z=T||a,D=z.startsWith("audio/"),$=z.startsWith("image/"),O=z.startsWith("video/"),P=(()=>{const se=String(d).trim()||"attachment";return se.includes(".")&&se.split(".").pop()?se:`${se}.${U(z)}`})();return c.jsx("div",{className:"modal_overlay",role:"dialog","aria-modal":"true","aria-label":"Attachment preview",onClick:()=>s.on_close(),children:c.jsxs("div",{className:"modal_card",onClick:se=>se.stopPropagation(),children:[c.jsxs("div",{className:"modal_header",children:[c.jsxs("div",{style:{minWidth:0},children:[c.jsx("div",{className:"modal_title",children:"Attachment"}),c.jsxs("div",{className:"muted mono",style:{marginTop:2,overflowWrap:"anywhere"},children:[d,r?` • @${r}`:"",l?` • sha=${l.slice(0,8)}…`:"",z?` • ${z}`:""]})]}),c.jsxs("div",{className:"modal_header_actions",children:[N?c.jsxs("button",{className:"btn mini",type:"button",onClick:se=>{se.preventDefault(),se.stopPropagation();try{const J=document.createElement("a");J.href=N,J.download=P,J.rel="noopener",document.body.appendChild(J),J.click(),J.remove()}catch(J){y(String((J==null?void 0:J.message)||J||"Download failed"))}},"aria-label":"Download attachment",title:"Download",children:[c.jsx(jt,{name:"download",size:14}),c.jsx("span",{className:"modal_close_label",children:"Download"})]}):null,c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close attachment preview",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]})]}),c.jsxs("div",{className:"modal_body",children:[c.jsxs("div",{className:"modal_body_actions",children:[N?c.jsxs("button",{className:"btn mini",type:"button",onClick:se=>{se.preventDefault(),se.stopPropagation();try{const J=document.createElement("a");J.href=N,J.download=P,J.rel="noopener",document.body.appendChild(J),J.click(),J.remove()}catch(J){y(String((J==null?void 0:J.message)||J||"Download failed"))}},"aria-label":"Download attachment",title:"Download",children:[c.jsx(jt,{name:"download",size:14}),c.jsx("span",{className:"modal_close_label",children:"Download"})]}):null,c.jsxs("button",{className:"btn mini modal_close_btn",type:"button",onClick:()=>s.on_close(),"aria-label":"Close attachment preview",children:[c.jsx(jt,{name:"x",size:14}),c.jsx("span",{className:"modal_close_label",children:"Close"})]})]}),f?c.jsx("div",{className:"muted",style:{marginTop:12},children:"Loading…"}):h?c.jsxs(Yn,{variant:"error",style:{marginTop:12},children:[h,h.toLowerCase().includes("too large")?c.jsxs(c.Fragment,{children:[" ","Try using the `open_attachment` tool for a bounded excerpt instead."]}):null]}):N&&(D||$||O)?c.jsxs("div",{className:"attachment_preview",children:[D?c.jsx("audio",{controls:!0,style:{width:"100%"},src:N}):null,$?c.jsx("img",{alt:d,src:N,style:{width:"100%",borderRadius:10}}):null,O?c.jsx("video",{controls:!0,style:{width:"100%"},src:N}):null,D||O?c.jsx("div",{className:"muted",style:{marginTop:10},children:"Playback may require a user gesture (browser autoplay restrictions)."}):null]}):N?c.jsx("div",{className:"attachment_preview",children:c.jsxs(Yn,{variant:"info",style:{marginTop:12},children:["This attachment is binary (",z||"unknown type","). Use Download to save it locally."]})}):c.jsx("div",{className:"attachment_preview",children:c.jsx(sa,{markdown:`\`\`\`
|
|
155
155
|
${v}
|
|
156
|
-
\`\`\``})})]})]})})}function Wp(s){const n=s.meta&&typeof s.meta=="object"?s.meta:{},r=String(n.name||"").trim()||"(unknown tool)",l=String(n.call_id||"").trim(),a=n.pending===!0,d=n.success,f=typeof d=="boolean"?d:null,p=String(n.error||"").trim(),h=n.arguments,y=String(n.output_preview||"").trim(),v=String(s.ts||"").trim(),N=(s.tool_specs_by_name||{})[r],b=cv(r,h,N),[T,I]=S.useState("idle"),U=a?"pending":p?"error":f===!1?"failed":f===!0?"ok":"done",
|
|
156
|
+
\`\`\``})})]})]})})}function Wp(s){const n=s.meta&&typeof s.meta=="object"?s.meta:{},r=String(n.name||"").trim()||"(unknown tool)",l=String(n.call_id||"").trim(),a=n.pending===!0,d=n.success,f=typeof d=="boolean"?d:null,p=String(n.error||"").trim(),h=n.arguments,y=String(n.output_preview||"").trim(),v=String(s.ts||"").trim(),N=(s.tool_specs_by_name||{})[r],b=cv(r,h,N),[T,I]=S.useState("idle"),U=a?"pending":p?"error":f===!1?"failed":f===!0?"ok":"done",z=U==="pending"?"tool_pending":U==="error"||U==="failed"?"tool_error":U==="ok"?"tool_ok":"tool_done",D=y.trim(),$=D.startsWith("{")||D.startsWith("[");return c.jsxs("details",{className:`tool_block ${z}`,children:[c.jsxs("summary",{className:"tool_summary",children:[c.jsx("div",{className:"tool_left",children:c.jsx("span",{className:"mono tool_sig",children:b})}),c.jsxs("div",{className:"tool_right",children:[c.jsx("span",{className:"muted mono tool_time",children:v?new Date(v).toLocaleTimeString():""}),c.jsx("button",{className:`btn mini tool_copy_btn ${T}`,type:"button","aria-label":"Copy tool call",onClick:async O=>{O.preventDefault(),O.stopPropagation();const P=oa({name:r,call_id:l||null,status:U,success:f,error:p||null,arguments:h??null,output_preview:y||null}),V=await bu(P);I(V?"copied":"failed"),window.setTimeout(()=>I("idle"),900)},children:T==="copied"?c.jsx(jt,{name:"check",size:14}):T==="failed"?c.jsx(jt,{name:"x",size:14}):c.jsx(jt,{name:"copy",size:14})})]})]}),c.jsxs("div",{className:"tool_body",children:[p?c.jsxs("div",{className:"tool_error_text",children:["Error: ",p]}):null,a?c.jsx("div",{className:"muted",children:"Awaiting approval / execution."}):null,l?c.jsxs("div",{className:"muted mono tool_call_id",children:["call_id: ",l]}):null,c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"arguments"}),c.jsx("div",{className:"tool_json_preview",children:c.jsx(sa,{markdown:`\`\`\`json
|
|
157
157
|
${oa(h)}
|
|
158
158
|
\`\`\``})})]}),!a||y?c.jsxs("div",{className:"field",children:[c.jsx("label",{children:"output"}),c.jsx("div",{className:"tool_json_preview",children:c.jsx(sa,{markdown:`\`\`\`${$?"json":""}
|
|
159
159
|
${y}
|