@abstractframework/code 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -5
- package/bin/cli.js +24 -19
- package/bin/server.js +169 -644
- package/dist/assets/index-B35cGbEx.css +1 -0
- package/dist/assets/index-CXS7Pd6D.js +72 -0
- package/dist/index.html +2 -2
- package/dist/sw.js +4 -3
- package/package.json +8 -5
- package/dist/assets/index-C5-M1QJI.js +0 -58
- package/dist/assets/index-mDhO5UHl.css +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
var sm=Object.defineProperty;var im=(n,r,s)=>r in n?sm(n,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[r]=s;var Or=(n,r,s)=>im(n,typeof r!="symbol"?r+"":r,s);(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&o(f)}).observe(document,{childList:!0,subtree:!0});function s(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(l){if(l.ep)return;l.ep=!0;const u=s(l);fetch(l.href,u)}})();function Gf(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ic={exports:{}},Hi={},oc={exports:{}},De={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var ef;function om(){if(ef)return De;ef=1;var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),_=Symbol.iterator;function k(N){return N===null||typeof N!="object"?null:(N=_&&N[_]||N["@@iterator"],typeof N=="function"?N:null)}var x={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,j={};function E(N,B,z){this.props=N,this.context=B,this.refs=j,this.updater=z||x}E.prototype.isReactComponent={},E.prototype.setState=function(N,B){if(typeof N!="object"&&typeof N!="function"&&N!=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,N,B,"setState")},E.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function R(){}R.prototype=E.prototype;function A(N,B,z){this.props=N,this.context=B,this.refs=j,this.updater=z||x}var T=A.prototype=new R;T.constructor=A,C(T,E.prototype),T.isPureReactComponent=!0;var b=Array.isArray,P=Object.prototype.hasOwnProperty,H={current:null},D={key:!0,ref:!0,__self:!0,__source:!0};function U(N,B,z){var oe,de={},ye=null,be=null;if(B!=null)for(oe in B.ref!==void 0&&(be=B.ref),B.key!==void 0&&(ye=""+B.key),B)P.call(B,oe)&&!D.hasOwnProperty(oe)&&(de[oe]=B[oe]);var ae=arguments.length-2;if(ae===1)de.children=z;else if(1<ae){for(var Ce=Array(ae),Be=0;Be<ae;Be++)Ce[Be]=arguments[Be+2];de.children=Ce}if(N&&N.defaultProps)for(oe in ae=N.defaultProps,ae)de[oe]===void 0&&(de[oe]=ae[oe]);return{$$typeof:n,type:N,key:ye,ref:be,props:de,_owner:H.current}}function ge(N,B){return{$$typeof:n,type:N.type,key:B,ref:N.ref,props:N.props,_owner:N._owner}}function ce(N){return typeof N=="object"&&N!==null&&N.$$typeof===n}function Q(N){var B={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(z){return B[z]})}var W=/\/+/g;function K(N,B){return typeof N=="object"&&N!==null&&N.key!=null?Q(""+N.key):B.toString(36)}function q(N,B,z,oe,de){var ye=typeof N;(ye==="undefined"||ye==="boolean")&&(N=null);var be=!1;if(N===null)be=!0;else switch(ye){case"string":case"number":be=!0;break;case"object":switch(N.$$typeof){case n:case r:be=!0}}if(be)return be=N,de=de(be),N=oe===""?"."+K(be,0):oe,b(de)?(z="",N!=null&&(z=N.replace(W,"$&/")+"/"),q(de,B,z,"",function(Be){return Be})):de!=null&&(ce(de)&&(de=ge(de,z+(!de.key||be&&be.key===de.key?"":(""+de.key).replace(W,"$&/")+"/")+N)),B.push(de)),1;if(be=0,oe=oe===""?".":oe+":",b(N))for(var ae=0;ae<N.length;ae++){ye=N[ae];var Ce=oe+K(ye,ae);be+=q(ye,B,z,Ce,de)}else if(Ce=k(N),typeof Ce=="function")for(N=Ce.call(N),ae=0;!(ye=N.next()).done;)ye=ye.value,Ce=oe+K(ye,ae++),be+=q(ye,B,z,Ce,de);else if(ye==="object")throw B=String(N),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(N).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.");return be}function ee(N,B,z){if(N==null)return N;var oe=[],de=0;return q(N,oe,"","",function(ye){return B.call(z,ye,de++)}),oe}function le(N){if(N._status===-1){var B=N._result;B=B(),B.then(function(z){(N._status===0||N._status===-1)&&(N._status=1,N._result=z)},function(z){(N._status===0||N._status===-1)&&(N._status=2,N._result=z)}),N._status===-1&&(N._status=0,N._result=B)}if(N._status===1)return N._result.default;throw N._result}var pe={current:null},J={transition:null},re={ReactCurrentDispatcher:pe,ReactCurrentBatchConfig:J,ReactCurrentOwner:H};function G(){throw Error("act(...) is not supported in production builds of React.")}return De.Children={map:ee,forEach:function(N,B,z){ee(N,function(){B.apply(this,arguments)},z)},count:function(N){var B=0;return ee(N,function(){B++}),B},toArray:function(N){return ee(N,function(B){return B})||[]},only:function(N){if(!ce(N))throw Error("React.Children.only expected to receive a single React element child.");return N}},De.Component=E,De.Fragment=s,De.Profiler=l,De.PureComponent=A,De.StrictMode=o,De.Suspense=p,De.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=re,De.act=G,De.cloneElement=function(N,B,z){if(N==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+N+".");var oe=C({},N.props),de=N.key,ye=N.ref,be=N._owner;if(B!=null){if(B.ref!==void 0&&(ye=B.ref,be=H.current),B.key!==void 0&&(de=""+B.key),N.type&&N.type.defaultProps)var ae=N.type.defaultProps;for(Ce in B)P.call(B,Ce)&&!D.hasOwnProperty(Ce)&&(oe[Ce]=B[Ce]===void 0&&ae!==void 0?ae[Ce]:B[Ce])}var Ce=arguments.length-2;if(Ce===1)oe.children=z;else if(1<Ce){ae=Array(Ce);for(var Be=0;Be<Ce;Be++)ae[Be]=arguments[Be+2];oe.children=ae}return{$$typeof:n,type:N.type,key:de,ref:ye,props:oe,_owner:be}},De.createContext=function(N){return N={$$typeof:f,_currentValue:N,_currentValue2:N,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},N.Provider={$$typeof:u,_context:N},N.Consumer=N},De.createElement=U,De.createFactory=function(N){var B=U.bind(null,N);return B.type=N,B},De.createRef=function(){return{current:null}},De.forwardRef=function(N){return{$$typeof:h,render:N}},De.isValidElement=ce,De.lazy=function(N){return{$$typeof:y,_payload:{_status:-1,_result:N},_init:le}},De.memo=function(N,B){return{$$typeof:g,type:N,compare:B===void 0?null:B}},De.startTransition=function(N){var B=J.transition;J.transition={};try{N()}finally{J.transition=B}},De.unstable_act=G,De.useCallback=function(N,B){return pe.current.useCallback(N,B)},De.useContext=function(N){return pe.current.useContext(N)},De.useDebugValue=function(){},De.useDeferredValue=function(N){return pe.current.useDeferredValue(N)},De.useEffect=function(N,B){return pe.current.useEffect(N,B)},De.useId=function(){return pe.current.useId()},De.useImperativeHandle=function(N,B,z){return pe.current.useImperativeHandle(N,B,z)},De.useInsertionEffect=function(N,B){return pe.current.useInsertionEffect(N,B)},De.useLayoutEffect=function(N,B){return pe.current.useLayoutEffect(N,B)},De.useMemo=function(N,B){return pe.current.useMemo(N,B)},De.useReducer=function(N,B,z){return pe.current.useReducer(N,B,z)},De.useRef=function(N){return pe.current.useRef(N)},De.useState=function(N){return pe.current.useState(N)},De.useSyncExternalStore=function(N,B,z){return pe.current.useSyncExternalStore(N,B,z)},De.useTransition=function(){return pe.current.useTransition()},De.version="18.3.1",De}var tf;function Ac(){return tf||(tf=1,oc.exports=om()),oc.exports}/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.production.min.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var nf;function am(){if(nf)return Hi;nf=1;var n=Ac(),r=Symbol.for("react.element"),s=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,l=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};function f(h,p,g){var y,_={},k=null,x=null;g!==void 0&&(k=""+g),p.key!==void 0&&(k=""+p.key),p.ref!==void 0&&(x=p.ref);for(y in p)o.call(p,y)&&!u.hasOwnProperty(y)&&(_[y]=p[y]);if(h&&h.defaultProps)for(y in p=h.defaultProps,p)_[y]===void 0&&(_[y]=p[y]);return{$$typeof:r,type:h,key:k,ref:x,props:_,_owner:l.current}}return Hi.Fragment=s,Hi.jsx=f,Hi.jsxs=f,Hi}var rf;function lm(){return rf||(rf=1,ic.exports=am()),ic.exports}var a=lm(),v=Ac();const wt=Gf(v);var da={},ac={exports:{}},Qt={},lc={exports:{}},cc={};/**
|
|
18
|
-
* @license React
|
|
19
|
-
* scheduler.production.min.js
|
|
20
|
-
*
|
|
21
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the MIT license found in the
|
|
24
|
-
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/var sf;function cm(){return sf||(sf=1,(function(n){function r(J,re){var G=J.length;J.push(re);e:for(;0<G;){var N=G-1>>>1,B=J[N];if(0<l(B,re))J[N]=re,J[G]=B,G=N;else break e}}function s(J){return J.length===0?null:J[0]}function o(J){if(J.length===0)return null;var re=J[0],G=J.pop();if(G!==re){J[0]=G;e:for(var N=0,B=J.length,z=B>>>1;N<z;){var oe=2*(N+1)-1,de=J[oe],ye=oe+1,be=J[ye];if(0>l(de,G))ye<B&&0>l(be,de)?(J[N]=be,J[ye]=G,N=ye):(J[N]=de,J[oe]=G,N=oe);else if(ye<B&&0>l(be,G))J[N]=be,J[ye]=G,N=ye;else break e}}return re}function l(J,re){var G=J.sortIndex-re.sortIndex;return G!==0?G:J.id-re.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var p=[],g=[],y=1,_=null,k=3,x=!1,C=!1,j=!1,E=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(J){for(var re=s(g);re!==null;){if(re.callback===null)o(g);else if(re.startTime<=J)o(g),re.sortIndex=re.expirationTime,r(p,re);else break;re=s(g)}}function b(J){if(j=!1,T(J),!C)if(s(p)!==null)C=!0,le(P);else{var re=s(g);re!==null&&pe(b,re.startTime-J)}}function P(J,re){C=!1,j&&(j=!1,R(U),U=-1),x=!0;var G=k;try{for(T(re),_=s(p);_!==null&&(!(_.expirationTime>re)||J&&!Q());){var N=_.callback;if(typeof N=="function"){_.callback=null,k=_.priorityLevel;var B=N(_.expirationTime<=re);re=n.unstable_now(),typeof B=="function"?_.callback=B:_===s(p)&&o(p),T(re)}else o(p);_=s(p)}if(_!==null)var z=!0;else{var oe=s(g);oe!==null&&pe(b,oe.startTime-re),z=!1}return z}finally{_=null,k=G,x=!1}}var H=!1,D=null,U=-1,ge=5,ce=-1;function Q(){return!(n.unstable_now()-ce<ge)}function W(){if(D!==null){var J=n.unstable_now();ce=J;var re=!0;try{re=D(!0,J)}finally{re?K():(H=!1,D=null)}}else H=!1}var K;if(typeof A=="function")K=function(){A(W)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,ee=q.port2;q.port1.onmessage=W,K=function(){ee.postMessage(null)}}else K=function(){E(W,0)};function le(J){D=J,H||(H=!0,K())}function pe(J,re){U=E(function(){J(n.unstable_now())},re)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(J){J.callback=null},n.unstable_continueExecution=function(){C||x||(C=!0,le(P))},n.unstable_forceFrameRate=function(J){0>J||125<J?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ge=0<J?Math.floor(1e3/J):5},n.unstable_getCurrentPriorityLevel=function(){return k},n.unstable_getFirstCallbackNode=function(){return s(p)},n.unstable_next=function(J){switch(k){case 1:case 2:case 3:var re=3;break;default:re=k}var G=k;k=re;try{return J()}finally{k=G}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=function(){},n.unstable_runWithPriority=function(J,re){switch(J){case 1:case 2:case 3:case 4:case 5:break;default:J=3}var G=k;k=J;try{return re()}finally{k=G}},n.unstable_scheduleCallback=function(J,re,G){var N=n.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?N+G:N):G=N,J){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=G+B,J={id:y++,callback:re,priorityLevel:J,startTime:G,expirationTime:B,sortIndex:-1},G>N?(J.sortIndex=G,r(g,J),s(p)===null&&J===s(g)&&(j?(R(U),U=-1):j=!0,pe(b,G-N))):(J.sortIndex=B,r(p,J),C||x||(C=!0,le(P))),J},n.unstable_shouldYield=Q,n.unstable_wrapCallback=function(J){var re=k;return function(){var G=k;k=re;try{return J.apply(this,arguments)}finally{k=G}}}})(cc)),cc}var of;function um(){return of||(of=1,lc.exports=cm()),lc.exports}/**
|
|
26
|
-
* @license React
|
|
27
|
-
* react-dom.production.min.js
|
|
28
|
-
*
|
|
29
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
-
*
|
|
31
|
-
* This source code is licensed under the MIT license found in the
|
|
32
|
-
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var af;function dm(){if(af)return Qt;af=1;var n=Ac(),r=um();function s(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 o=new Set,l={};function u(e,t){f(e,t),f(e+"Capture",t)}function f(e,t){for(l[e]=t,e=0;e<t.length;e++)o.add(t[e])}var h=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,g=/^[: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]*$/,y={},_={};function k(e){return p.call(_,e)?!0:p.call(y,e)?!1:g.test(e)?_[e]=!0:(y[e]=!0,!1)}function x(e,t,i,c){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return c?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function C(e,t,i,c){if(t===null||typeof t>"u"||x(e,t,i,c))return!0;if(c)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 j(e,t,i,c,d,m,w){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=c,this.attributeNamespace=d,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=m,this.removeEmptyString=w}var E={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){E[e]=new j(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];E[t]=new j(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){E[e]=new j(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){E[e]=new j(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){E[e]=new j(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){E[e]=new j(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){E[e]=new j(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){E[e]=new j(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){E[e]=new j(e,5,!1,e.toLowerCase(),null,!1,!1)});var R=/[\-:]([a-z])/g;function A(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(R,A);E[t]=new j(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(R,A);E[t]=new j(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(R,A);E[t]=new j(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){E[e]=new j(e,1,!1,e.toLowerCase(),null,!1,!1)}),E.xlinkHref=new j("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){E[e]=new j(e,1,!1,e.toLowerCase(),null,!0,!0)});function T(e,t,i,c){var d=E.hasOwnProperty(t)?E[t]:null;(d!==null?d.type!==0:c||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(C(t,i,d,c)&&(i=null),c||d===null?k(t)&&(i===null?e.removeAttribute(t):e.setAttribute(t,""+i)):d.mustUseProperty?e[d.propertyName]=i===null?d.type===3?!1:"":i:(t=d.attributeName,c=d.attributeNamespace,i===null?e.removeAttribute(t):(d=d.type,i=d===3||d===4&&i===!0?"":""+i,c?e.setAttributeNS(c,t,i):e.setAttribute(t,i))))}var b=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,P=Symbol.for("react.element"),H=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),ge=Symbol.for("react.profiler"),ce=Symbol.for("react.provider"),Q=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),q=Symbol.for("react.suspense_list"),ee=Symbol.for("react.memo"),le=Symbol.for("react.lazy"),pe=Symbol.for("react.offscreen"),J=Symbol.iterator;function re(e){return e===null||typeof e!="object"?null:(e=J&&e[J]||e["@@iterator"],typeof e=="function"?e:null)}var G=Object.assign,N;function B(e){if(N===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);N=t&&t[1]||""}return`
|
|
34
|
-
`+N+e}var z=!1;function oe(e,t){if(!e||z)return"";z=!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(F){var c=F}Reflect.construct(e,[],t)}else{try{t.call()}catch(F){c=F}e.call(t.prototype)}else{try{throw Error()}catch(F){c=F}e()}}catch(F){if(F&&c&&typeof F.stack=="string"){for(var d=F.stack.split(`
|
|
35
|
-
`),m=c.stack.split(`
|
|
36
|
-
`),w=d.length-1,S=m.length-1;1<=w&&0<=S&&d[w]!==m[S];)S--;for(;1<=w&&0<=S;w--,S--)if(d[w]!==m[S]){if(w!==1||S!==1)do if(w--,S--,0>S||d[w]!==m[S]){var $=`
|
|
37
|
-
`+d[w].replace(" at new "," at ");return e.displayName&&$.includes("<anonymous>")&&($=$.replace("<anonymous>",e.displayName)),$}while(1<=w&&0<=S);break}}}finally{z=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?B(e):""}function de(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=oe(e.type,!1),e;case 11:return e=oe(e.type.render,!1),e;case 1:return e=oe(e.type,!0),e;default:return""}}function ye(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 D:return"Fragment";case H:return"Portal";case ge:return"Profiler";case U:return"StrictMode";case K:return"Suspense";case q:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Q:return(e.displayName||"Context")+".Consumer";case ce:return(e._context.displayName||"Context")+".Provider";case W:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ee:return t=e.displayName||null,t!==null?t:ye(e.type)||"Memo";case le:t=e._payload,e=e._init;try{return ye(e(t))}catch{}}return null}function be(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 ye(t);case 8:return t===U?"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 ae(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ce(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Be(e){var t=Ce(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),c=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var d=i.get,m=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return d.call(this)},set:function(w){c=""+w,m.call(this,w)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return c},setValue:function(w){c=""+w},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function at(e){e._valueTracker||(e._valueTracker=Be(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),c="";return e&&(c=Ce(e)?e.checked?"true":"false":e.value),e=c,e!==i?(t.setValue(e),!0):!1}function te(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 he(e,t){var i=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Fe(e,t){var i=t.defaultValue==null?"":t.defaultValue,c=t.checked!=null?t.checked:t.defaultChecked;i=ae(t.value!=null?t.value:i),e._wrapperState={initialChecked:c,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function we(e,t){t=t.checked,t!=null&&T(e,"checked",t,!1)}function Me(e,t){we(e,t);var i=ae(t.value),c=t.type;if(i!=null)c==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(c==="submit"||c==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?tt(e,t.type,i):t.hasOwnProperty("defaultValue")&&tt(e,t.type,ae(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ze(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var c=t.type;if(!(c!=="submit"&&c!=="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 tt(e,t,i){(t!=="number"||te(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var V=Array.isArray;function fe(e,t,i,c){if(e=e.options,t){t={};for(var d=0;d<i.length;d++)t["$"+i[d]]=!0;for(i=0;i<e.length;i++)d=t.hasOwnProperty("$"+e[i].value),e[i].selected!==d&&(e[i].selected=d),d&&c&&(e[i].defaultSelected=!0)}else{for(i=""+ae(i),t=null,d=0;d<e.length;d++){if(e[d].value===i){e[d].selected=!0,c&&(e[d].defaultSelected=!0);return}t!==null||e[d].disabled||(t=e[d])}t!==null&&(t.selected=!0)}}function Le(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(s(91));return G({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ve(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(s(92));if(V(i)){if(1<i.length)throw Error(s(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:ae(i)}}function We(e,t){var i=ae(t.value),c=ae(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),c!=null&&(e.defaultValue=""+c)}function Gn(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function At(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 yn(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?At(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Hn,wn=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,c,d){MSApp.execUnsafeLocalFunction(function(){return e(t,i,c,d)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Hn=Hn||document.createElement("div"),Hn.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Hn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Br(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var dr={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},$a=["Webkit","ms","Moz","O"];Object.keys(dr).forEach(function(e){$a.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),dr[t]=dr[e]})});function ii(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||dr.hasOwnProperty(e)&&dr[e]?(""+t).trim():t+"px"}function Wr(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var c=i.indexOf("--")===0,d=ii(i,t[i],c);i==="float"&&(i="cssFloat"),c?e.setProperty(i,d):e[i]=d}}var oi=G({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 ai(e,t){if(t){if(oi[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function _s(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 fr=null;function cn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Vr=null,pr=null,Kn=null;function hr(e){if(e=Ti(e)){if(typeof Vr!="function")throw Error(s(280));var t=e.stateNode;t&&(t=No(t),Vr(e.stateNode,e.type,t))}}function io(e){pr?Kn?Kn.push(e):Kn=[e]:pr=e}function Mn(){if(pr){var e=pr,t=Kn;if(Kn=pr=null,hr(e),t)for(e=0;e<t.length;e++)hr(t[e])}}function vn(e,t){return e(t)}function ks(){}var en=!1;function li(e,t,i){if(en)return e(t,i);en=!0;try{return vn(e,t,i)}finally{en=!1,(pr!==null||Kn!==null)&&(ks(),Mn())}}function Jn(e,t){var i=e.stateNode;if(i===null)return null;var c=No(i);if(c===null)return null;i=c[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":(c=!c.disabled)||(e=e.type,c=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!c;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(s(231,t,typeof i));return i}var mr=!1;if(h)try{var Qn={};Object.defineProperty(Qn,"passive",{get:function(){mr=!0}}),window.addEventListener("test",Qn,Qn),window.removeEventListener("test",Qn,Qn)}catch{mr=!1}function Ra(e,t,i,c,d,m,w,S,$){var F=Array.prototype.slice.call(arguments,3);try{t.apply(i,F)}catch(Z){this.onError(Z)}}var Yn=!1,Gr=null,Hr=!1,xs=null,Ta={onError:function(e){Yn=!0,Gr=e}};function Aa(e,t,i,c,d,m,w,S,$){Yn=!1,Gr=null,Ra.apply(Ta,arguments)}function Xn(e,t,i,c,d,m,w,S,$){if(Aa.apply(this,arguments),Yn){if(Yn){var F=Gr;Yn=!1,Gr=null}else throw Error(s(198));Hr||(Hr=!0,xs=F)}}function Pe(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 Wt(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 bs(e){if(Pe(e)!==e)throw Error(s(188))}function Zn(e){var t=e.alternate;if(!t){if(t=Pe(e),t===null)throw Error(s(188));return t!==e?null:e}for(var i=e,c=t;;){var d=i.return;if(d===null)break;var m=d.alternate;if(m===null){if(c=d.return,c!==null){i=c;continue}break}if(d.child===m.child){for(m=d.child;m;){if(m===i)return bs(d),e;if(m===c)return bs(d),t;m=m.sibling}throw Error(s(188))}if(i.return!==c.return)i=d,c=m;else{for(var w=!1,S=d.child;S;){if(S===i){w=!0,i=d,c=m;break}if(S===c){w=!0,c=d,i=m;break}S=S.sibling}if(!w){for(S=m.child;S;){if(S===i){w=!0,i=m,c=d;break}if(S===c){w=!0,c=m,i=d;break}S=S.sibling}if(!w)throw Error(s(189))}}if(i.alternate!==c)throw Error(s(190))}if(i.tag!==3)throw Error(s(188));return i.stateNode.current===i?e:t}function Kr(e){return e=Zn(e),e!==null?Jr(e):null}function Jr(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Jr(e);if(t!==null)return t;e=e.sibling}return null}var Ln=r.unstable_scheduleCallback,ci=r.unstable_cancelCallback,gr=r.unstable_shouldYield,oo=r.unstable_requestPaint,He=r.unstable_now,ao=r.unstable_getCurrentPriorityLevel,tn=r.unstable_ImmediatePriority,ui=r.unstable_UserBlockingPriority,_n=r.unstable_NormalPriority,Qr=r.unstable_LowPriority,Yr=r.unstable_IdlePriority,It=null,nn=null;function di(e){if(nn&&typeof nn.onCommitFiberRoot=="function")try{nn.onCommitFiberRoot(It,e,void 0,(e.current.flags&128)===128)}catch{}}var St=Math.clz32?Math.clz32:jt,ht=Math.log,fi=Math.LN2;function jt(e){return e>>>=0,e===0?32:31-(ht(e)/fi|0)|0}var yr=64,qn=4194304;function Pn(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 Ss(e,t){var i=e.pendingLanes;if(i===0)return 0;var c=0,d=e.suspendedLanes,m=e.pingedLanes,w=i&268435455;if(w!==0){var S=w&~d;S!==0?c=Pn(S):(m&=w,m!==0&&(c=Pn(m)))}else w=i&~d,w!==0?c=Pn(w):m!==0&&(c=Pn(m));if(c===0)return 0;if(t!==0&&t!==c&&(t&d)===0&&(d=c&-c,m=t&-t,d>=m||d===16&&(m&4194240)!==0))return t;if((c&4)!==0&&(c|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=c;0<t;)i=31-St(t),d=1<<i,c|=e[i],t&=~d;return c}function lo(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 co(e,t){for(var i=e.suspendedLanes,c=e.pingedLanes,d=e.expirationTimes,m=e.pendingLanes;0<m;){var w=31-St(m),S=1<<w,$=d[w];$===-1?((S&i)===0||(S&c)!==0)&&(d[w]=lo(S,t)):$<=t&&(e.expiredLanes|=S),m&=~S}}function Xr(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function uo(){var e=yr;return yr<<=1,(yr&4194240)===0&&(yr=64),e}function pi(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function Zr(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-St(t),e[t]=i}function qr(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 c=e.eventTimes;for(e=e.expirationTimes;0<i;){var d=31-St(i),m=1<<d;t[d]=0,c[d]=-1,e[d]=-1,i&=~m}}function er(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var c=31-St(i),d=1<<c;d&t|e[c]&t&&(e[c]|=t),i&=~d}}var Ke=0;function fo(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var hi,js,mi,gi,yi,Ns=!1,es=[],kn=null,xn=null,bn=null,wr=new Map,vr=new Map,Sn=[],po="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 wi(e,t){switch(e){case"focusin":case"focusout":kn=null;break;case"dragenter":case"dragleave":xn=null;break;case"mouseover":case"mouseout":bn=null;break;case"pointerover":case"pointerout":wr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":vr.delete(t.pointerId)}}function _r(e,t,i,c,d,m){return e===null||e.nativeEvent!==m?(e={blockedOn:t,domEventName:i,eventSystemFlags:c,nativeEvent:m,targetContainers:[d]},t!==null&&(t=Ti(t),t!==null&&js(t)),e):(e.eventSystemFlags|=c,t=e.targetContainers,d!==null&&t.indexOf(d)===-1&&t.push(d),e)}function ho(e,t,i,c,d){switch(t){case"focusin":return kn=_r(kn,e,t,i,c,d),!0;case"dragenter":return xn=_r(xn,e,t,i,c,d),!0;case"mouseover":return bn=_r(bn,e,t,i,c,d),!0;case"pointerover":var m=d.pointerId;return wr.set(m,_r(wr.get(m)||null,e,t,i,c,d)),!0;case"gotpointercapture":return m=d.pointerId,vr.set(m,_r(vr.get(m)||null,e,t,i,c,d)),!0}return!1}function vi(e){var t=ts(e.target);if(t!==null){var i=Pe(t);if(i!==null){if(t=i.tag,t===13){if(t=Wt(i),t!==null){e.blockedOn=t,yi(e.priority,function(){mi(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 M(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=Nn(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var c=new i.constructor(i.type,i);fr=c,i.target.dispatchEvent(c),fr=null}else return t=Ti(i),t!==null&&js(t),e.blockedOn=i,!1;t.shift()}return!0}function se(e,t,i){M(e)&&i.delete(t)}function Ee(){Ns=!1,kn!==null&&M(kn)&&(kn=null),xn!==null&&M(xn)&&(xn=null),bn!==null&&M(bn)&&(bn=null),wr.forEach(se),vr.forEach(se)}function Oe(e,t){e.blockedOn===t&&(e.blockedOn=null,Ns||(Ns=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Ee)))}function Ae(e){function t(d){return Oe(d,e)}if(0<es.length){Oe(es[0],e);for(var i=1;i<es.length;i++){var c=es[i];c.blockedOn===e&&(c.blockedOn=null)}}for(kn!==null&&Oe(kn,e),xn!==null&&Oe(xn,e),bn!==null&&Oe(bn,e),wr.forEach(t),vr.forEach(t),i=0;i<Sn.length;i++)c=Sn[i],c.blockedOn===e&&(c.blockedOn=null);for(;0<Sn.length&&(i=Sn[0],i.blockedOn===null);)vi(i),i.blockedOn===null&&Sn.shift()}var ut=b.ReactCurrentBatchConfig,jn=!0;function kr(e,t,i,c){var d=Ke,m=ut.transition;ut.transition=null;try{Ke=1,Mt(e,t,i,c)}finally{Ke=d,ut.transition=m}}function vt(e,t,i,c){var d=Ke,m=ut.transition;ut.transition=null;try{Ke=4,Mt(e,t,i,c)}finally{Ke=d,ut.transition=m}}function Mt(e,t,i,c){if(jn){var d=Nn(e,t,i,c);if(d===null)Qa(e,t,c,Nt,i),wi(e,c);else if(ho(d,e,t,i,c))c.stopPropagation();else if(wi(e,c),t&4&&-1<po.indexOf(e)){for(;d!==null;){var m=Ti(d);if(m!==null&&hi(m),m=Nn(e,t,i,c),m===null&&Qa(e,t,c,Nt,i),m===d)break;d=m}d!==null&&c.stopPropagation()}else Qa(e,t,c,null,i)}}var Nt=null;function Nn(e,t,i,c){if(Nt=null,e=cn(c),e=ts(e),e!==null)if(t=Pe(e),t===null)e=null;else if(i=t.tag,i===13){if(e=Wt(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 Nt=e,null}function Cn(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(ao()){case tn:return 1;case ui:return 4;case _n:case Qr:return 16;case Yr:return 536870912;default:return 16}default:return 16}}var xr=null,Ia=null,mo=null;function Uc(){if(mo)return mo;var e,t=Ia,i=t.length,c,d="value"in xr?xr.value:xr.textContent,m=d.length;for(e=0;e<i&&t[e]===d[e];e++);var w=i-e;for(c=1;c<=w&&t[i-c]===d[m-c];c++);return mo=d.slice(e,1<c?1-c:void 0)}function go(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 yo(){return!0}function Bc(){return!1}function rn(e){function t(i,c,d,m,w){this._reactName=i,this._targetInst=d,this.type=c,this.nativeEvent=m,this.target=w,this.currentTarget=null;for(var S in e)e.hasOwnProperty(S)&&(i=e[S],this[S]=i?i(m):m[S]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?yo:Bc,this.isPropagationStopped=Bc,this}return G(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=yo)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=yo)},persist:function(){},isPersistent:yo}),t}var Cs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ma=rn(Cs),_i=G({},Cs,{view:0,detail:0}),Tp=rn(_i),La,Pa,ki,wo=G({},_i,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Fa,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!==ki&&(ki&&e.type==="mousemove"?(La=e.screenX-ki.screenX,Pa=e.screenY-ki.screenY):Pa=La=0,ki=e),La)},movementY:function(e){return"movementY"in e?e.movementY:Pa}}),Wc=rn(wo),Ap=G({},wo,{dataTransfer:0}),Ip=rn(Ap),Mp=G({},_i,{relatedTarget:0}),Oa=rn(Mp),Lp=G({},Cs,{animationName:0,elapsedTime:0,pseudoElement:0}),Pp=rn(Lp),Op=G({},Cs,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Fp=rn(Op),Dp=G({},Cs,{data:0}),Vc=rn(Dp),zp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Up={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"},Bp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Wp(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Bp[e])?!!t[e]:!1}function Fa(){return Wp}var Vp=G({},_i,{key:function(e){if(e.key){var t=zp[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=go(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Up[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Fa,charCode:function(e){return e.type==="keypress"?go(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?go(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Gp=rn(Vp),Hp=G({},wo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Gc=rn(Hp),Kp=G({},_i,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Fa}),Jp=rn(Kp),Qp=G({},Cs,{propertyName:0,elapsedTime:0,pseudoElement:0}),Yp=rn(Qp),Xp=G({},wo,{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}),Zp=rn(Xp),qp=[9,13,27,32],Da=h&&"CompositionEvent"in window,xi=null;h&&"documentMode"in document&&(xi=document.documentMode);var eh=h&&"TextEvent"in window&&!xi,Hc=h&&(!Da||xi&&8<xi&&11>=xi),Kc=" ",Jc=!1;function Qc(e,t){switch(e){case"keyup":return qp.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Es=!1;function th(e,t){switch(e){case"compositionend":return Yc(t);case"keypress":return t.which!==32?null:(Jc=!0,Kc);case"textInput":return e=t.data,e===Kc&&Jc?null:e;default:return null}}function nh(e,t){if(Es)return e==="compositionend"||!Da&&Qc(e,t)?(e=Uc(),mo=Ia=xr=null,Es=!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 Hc&&t.locale!=="ko"?null:t.data;default:return null}}var rh={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 Xc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!rh[e.type]:t==="textarea"}function Zc(e,t,i,c){io(c),t=bo(t,"onChange"),0<t.length&&(i=new Ma("onChange","change",null,i,c),e.push({event:i,listeners:t}))}var bi=null,Si=null;function sh(e){gu(e,0)}function vo(e){var t=Is(e);if(X(t))return e}function ih(e,t){if(e==="change")return t}var qc=!1;if(h){var za;if(h){var Ua="oninput"in document;if(!Ua){var eu=document.createElement("div");eu.setAttribute("oninput","return;"),Ua=typeof eu.oninput=="function"}za=Ua}else za=!1;qc=za&&(!document.documentMode||9<document.documentMode)}function tu(){bi&&(bi.detachEvent("onpropertychange",nu),Si=bi=null)}function nu(e){if(e.propertyName==="value"&&vo(Si)){var t=[];Zc(t,Si,e,cn(e)),li(sh,t)}}function oh(e,t,i){e==="focusin"?(tu(),bi=t,Si=i,bi.attachEvent("onpropertychange",nu)):e==="focusout"&&tu()}function ah(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return vo(Si)}function lh(e,t){if(e==="click")return vo(t)}function ch(e,t){if(e==="input"||e==="change")return vo(t)}function uh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var En=typeof Object.is=="function"?Object.is:uh;function ji(e,t){if(En(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),c=Object.keys(t);if(i.length!==c.length)return!1;for(c=0;c<i.length;c++){var d=i[c];if(!p.call(t,d)||!En(e[d],t[d]))return!1}return!0}function ru(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function su(e,t){var i=ru(e);e=0;for(var c;i;){if(i.nodeType===3){if(c=e+i.textContent.length,e<=t&&c>=t)return{node:i,offset:t-e};e=c}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=ru(i)}}function iu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?iu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ou(){for(var e=window,t=te();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=te(e.document)}return t}function Ba(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 dh(e){var t=ou(),i=e.focusedElem,c=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&iu(i.ownerDocument.documentElement,i)){if(c!==null&&Ba(i)){if(t=c.start,e=c.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 d=i.textContent.length,m=Math.min(c.start,d);c=c.end===void 0?m:Math.min(c.end,d),!e.extend&&m>c&&(d=c,c=m,m=d),d=su(i,m);var w=su(i,c);d&&w&&(e.rangeCount!==1||e.anchorNode!==d.node||e.anchorOffset!==d.offset||e.focusNode!==w.node||e.focusOffset!==w.offset)&&(t=t.createRange(),t.setStart(d.node,d.offset),e.removeAllRanges(),m>c?(e.addRange(t),e.extend(w.node,w.offset)):(t.setEnd(w.node,w.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 fh=h&&"documentMode"in document&&11>=document.documentMode,$s=null,Wa=null,Ni=null,Va=!1;function au(e,t,i){var c=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Va||$s==null||$s!==te(c)||(c=$s,"selectionStart"in c&&Ba(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Ni&&ji(Ni,c)||(Ni=c,c=bo(Wa,"onSelect"),0<c.length&&(t=new Ma("onSelect","select",null,t,i),e.push({event:t,listeners:c}),t.target=$s)))}function _o(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Rs={animationend:_o("Animation","AnimationEnd"),animationiteration:_o("Animation","AnimationIteration"),animationstart:_o("Animation","AnimationStart"),transitionend:_o("Transition","TransitionEnd")},Ga={},lu={};h&&(lu=document.createElement("div").style,"AnimationEvent"in window||(delete Rs.animationend.animation,delete Rs.animationiteration.animation,delete Rs.animationstart.animation),"TransitionEvent"in window||delete Rs.transitionend.transition);function ko(e){if(Ga[e])return Ga[e];if(!Rs[e])return e;var t=Rs[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in lu)return Ga[e]=t[i];return e}var cu=ko("animationend"),uu=ko("animationiteration"),du=ko("animationstart"),fu=ko("transitionend"),pu=new Map,hu="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 br(e,t){pu.set(e,t),u(t,[e])}for(var Ha=0;Ha<hu.length;Ha++){var Ka=hu[Ha],ph=Ka.toLowerCase(),hh=Ka[0].toUpperCase()+Ka.slice(1);br(ph,"on"+hh)}br(cu,"onAnimationEnd"),br(uu,"onAnimationIteration"),br(du,"onAnimationStart"),br("dblclick","onDoubleClick"),br("focusin","onFocus"),br("focusout","onBlur"),br(fu,"onTransitionEnd"),f("onMouseEnter",["mouseout","mouseover"]),f("onMouseLeave",["mouseout","mouseover"]),f("onPointerEnter",["pointerout","pointerover"]),f("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ci="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(" "),mh=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ci));function mu(e,t,i){var c=e.type||"unknown-event";e.currentTarget=i,Xn(c,t,void 0,e),e.currentTarget=null}function gu(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var c=e[i],d=c.event;c=c.listeners;e:{var m=void 0;if(t)for(var w=c.length-1;0<=w;w--){var S=c[w],$=S.instance,F=S.currentTarget;if(S=S.listener,$!==m&&d.isPropagationStopped())break e;mu(d,S,F),m=$}else for(w=0;w<c.length;w++){if(S=c[w],$=S.instance,F=S.currentTarget,S=S.listener,$!==m&&d.isPropagationStopped())break e;mu(d,S,F),m=$}}}if(Hr)throw e=xs,Hr=!1,xs=null,e}function nt(e,t){var i=t[tl];i===void 0&&(i=t[tl]=new Set);var c=e+"__bubble";i.has(c)||(yu(t,e,2,!1),i.add(c))}function Ja(e,t,i){var c=0;t&&(c|=4),yu(i,e,c,t)}var xo="_reactListening"+Math.random().toString(36).slice(2);function Ei(e){if(!e[xo]){e[xo]=!0,o.forEach(function(i){i!=="selectionchange"&&(mh.has(i)||Ja(i,!1,e),Ja(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xo]||(t[xo]=!0,Ja("selectionchange",!1,t))}}function yu(e,t,i,c){switch(Cn(t)){case 1:var d=kr;break;case 4:d=vt;break;default:d=Mt}i=d.bind(null,t,i,e),d=void 0,!mr||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(d=!0),c?d!==void 0?e.addEventListener(t,i,{capture:!0,passive:d}):e.addEventListener(t,i,!0):d!==void 0?e.addEventListener(t,i,{passive:d}):e.addEventListener(t,i,!1)}function Qa(e,t,i,c,d){var m=c;if((t&1)===0&&(t&2)===0&&c!==null)e:for(;;){if(c===null)return;var w=c.tag;if(w===3||w===4){var S=c.stateNode.containerInfo;if(S===d||S.nodeType===8&&S.parentNode===d)break;if(w===4)for(w=c.return;w!==null;){var $=w.tag;if(($===3||$===4)&&($=w.stateNode.containerInfo,$===d||$.nodeType===8&&$.parentNode===d))return;w=w.return}for(;S!==null;){if(w=ts(S),w===null)return;if($=w.tag,$===5||$===6){c=m=w;continue e}S=S.parentNode}}c=c.return}li(function(){var F=m,Z=cn(i),ne=[];e:{var Y=pu.get(e);if(Y!==void 0){var me=Ma,_e=e;switch(e){case"keypress":if(go(i)===0)break e;case"keydown":case"keyup":me=Gp;break;case"focusin":_e="focus",me=Oa;break;case"focusout":_e="blur",me=Oa;break;case"beforeblur":case"afterblur":me=Oa;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":me=Wc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":me=Ip;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":me=Jp;break;case cu:case uu:case du:me=Pp;break;case fu:me=Yp;break;case"scroll":me=Tp;break;case"wheel":me=Zp;break;case"copy":case"cut":case"paste":me=Fp;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":me=Gc}var ke=(t&4)!==0,dt=!ke&&e==="scroll",L=ke?Y!==null?Y+"Capture":null:Y;ke=[];for(var I=F,O;I!==null;){O=I;var ie=O.stateNode;if(O.tag===5&&ie!==null&&(O=ie,L!==null&&(ie=Jn(I,L),ie!=null&&ke.push($i(I,ie,O)))),dt)break;I=I.return}0<ke.length&&(Y=new me(Y,_e,null,i,Z),ne.push({event:Y,listeners:ke}))}}if((t&7)===0){e:{if(Y=e==="mouseover"||e==="pointerover",me=e==="mouseout"||e==="pointerout",Y&&i!==fr&&(_e=i.relatedTarget||i.fromElement)&&(ts(_e)||_e[tr]))break e;if((me||Y)&&(Y=Z.window===Z?Z:(Y=Z.ownerDocument)?Y.defaultView||Y.parentWindow:window,me?(_e=i.relatedTarget||i.toElement,me=F,_e=_e?ts(_e):null,_e!==null&&(dt=Pe(_e),_e!==dt||_e.tag!==5&&_e.tag!==6)&&(_e=null)):(me=null,_e=F),me!==_e)){if(ke=Wc,ie="onMouseLeave",L="onMouseEnter",I="mouse",(e==="pointerout"||e==="pointerover")&&(ke=Gc,ie="onPointerLeave",L="onPointerEnter",I="pointer"),dt=me==null?Y:Is(me),O=_e==null?Y:Is(_e),Y=new ke(ie,I+"leave",me,i,Z),Y.target=dt,Y.relatedTarget=O,ie=null,ts(Z)===F&&(ke=new ke(L,I+"enter",_e,i,Z),ke.target=O,ke.relatedTarget=dt,ie=ke),dt=ie,me&&_e)t:{for(ke=me,L=_e,I=0,O=ke;O;O=Ts(O))I++;for(O=0,ie=L;ie;ie=Ts(ie))O++;for(;0<I-O;)ke=Ts(ke),I--;for(;0<O-I;)L=Ts(L),O--;for(;I--;){if(ke===L||L!==null&&ke===L.alternate)break t;ke=Ts(ke),L=Ts(L)}ke=null}else ke=null;me!==null&&wu(ne,Y,me,ke,!1),_e!==null&&dt!==null&&wu(ne,dt,_e,ke,!0)}}e:{if(Y=F?Is(F):window,me=Y.nodeName&&Y.nodeName.toLowerCase(),me==="select"||me==="input"&&Y.type==="file")var xe=ih;else if(Xc(Y))if(qc)xe=ch;else{xe=ah;var je=oh}else(me=Y.nodeName)&&me.toLowerCase()==="input"&&(Y.type==="checkbox"||Y.type==="radio")&&(xe=lh);if(xe&&(xe=xe(e,F))){Zc(ne,xe,i,Z);break e}je&&je(e,Y,F),e==="focusout"&&(je=Y._wrapperState)&&je.controlled&&Y.type==="number"&&tt(Y,"number",Y.value)}switch(je=F?Is(F):window,e){case"focusin":(Xc(je)||je.contentEditable==="true")&&($s=je,Wa=F,Ni=null);break;case"focusout":Ni=Wa=$s=null;break;case"mousedown":Va=!0;break;case"contextmenu":case"mouseup":case"dragend":Va=!1,au(ne,i,Z);break;case"selectionchange":if(fh)break;case"keydown":case"keyup":au(ne,i,Z)}var Ne;if(Da)e:{switch(e){case"compositionstart":var $e="onCompositionStart";break e;case"compositionend":$e="onCompositionEnd";break e;case"compositionupdate":$e="onCompositionUpdate";break e}$e=void 0}else Es?Qc(e,i)&&($e="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&($e="onCompositionStart");$e&&(Hc&&i.locale!=="ko"&&(Es||$e!=="onCompositionStart"?$e==="onCompositionEnd"&&Es&&(Ne=Uc()):(xr=Z,Ia="value"in xr?xr.value:xr.textContent,Es=!0)),je=bo(F,$e),0<je.length&&($e=new Vc($e,e,null,i,Z),ne.push({event:$e,listeners:je}),Ne?$e.data=Ne:(Ne=Yc(i),Ne!==null&&($e.data=Ne)))),(Ne=eh?th(e,i):nh(e,i))&&(F=bo(F,"onBeforeInput"),0<F.length&&(Z=new Vc("onBeforeInput","beforeinput",null,i,Z),ne.push({event:Z,listeners:F}),Z.data=Ne))}gu(ne,t)})}function $i(e,t,i){return{instance:e,listener:t,currentTarget:i}}function bo(e,t){for(var i=t+"Capture",c=[];e!==null;){var d=e,m=d.stateNode;d.tag===5&&m!==null&&(d=m,m=Jn(e,i),m!=null&&c.unshift($i(e,m,d)),m=Jn(e,t),m!=null&&c.push($i(e,m,d))),e=e.return}return c}function Ts(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function wu(e,t,i,c,d){for(var m=t._reactName,w=[];i!==null&&i!==c;){var S=i,$=S.alternate,F=S.stateNode;if($!==null&&$===c)break;S.tag===5&&F!==null&&(S=F,d?($=Jn(i,m),$!=null&&w.unshift($i(i,$,S))):d||($=Jn(i,m),$!=null&&w.push($i(i,$,S)))),i=i.return}w.length!==0&&e.push({event:t,listeners:w})}var gh=/\r\n?/g,yh=/\u0000|\uFFFD/g;function vu(e){return(typeof e=="string"?e:""+e).replace(gh,`
|
|
38
|
-
`).replace(yh,"")}function So(e,t,i){if(t=vu(t),vu(e)!==t&&i)throw Error(s(425))}function jo(){}var Ya=null,Xa=null;function Za(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 qa=typeof setTimeout=="function"?setTimeout:void 0,wh=typeof clearTimeout=="function"?clearTimeout:void 0,_u=typeof Promise=="function"?Promise:void 0,vh=typeof queueMicrotask=="function"?queueMicrotask:typeof _u<"u"?function(e){return _u.resolve(null).then(e).catch(_h)}:qa;function _h(e){setTimeout(function(){throw e})}function el(e,t){var i=t,c=0;do{var d=i.nextSibling;if(e.removeChild(i),d&&d.nodeType===8)if(i=d.data,i==="/$"){if(c===0){e.removeChild(d),Ae(t);return}c--}else i!=="$"&&i!=="$?"&&i!=="$!"||c++;i=d}while(i);Ae(t)}function Sr(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 ku(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 As=Math.random().toString(36).slice(2),On="__reactFiber$"+As,Ri="__reactProps$"+As,tr="__reactContainer$"+As,tl="__reactEvents$"+As,kh="__reactListeners$"+As,xh="__reactHandles$"+As;function ts(e){var t=e[On];if(t)return t;for(var i=e.parentNode;i;){if(t=i[tr]||i[On]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=ku(e);e!==null;){if(i=e[On])return i;e=ku(e)}return t}e=i,i=e.parentNode}return null}function Ti(e){return e=e[On]||e[tr],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Is(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(s(33))}function No(e){return e[Ri]||null}var nl=[],Ms=-1;function jr(e){return{current:e}}function rt(e){0>Ms||(e.current=nl[Ms],nl[Ms]=null,Ms--)}function et(e,t){Ms++,nl[Ms]=e.current,e.current=t}var Nr={},Lt=jr(Nr),Vt=jr(!1),ns=Nr;function Ls(e,t){var i=e.type.contextTypes;if(!i)return Nr;var c=e.stateNode;if(c&&c.__reactInternalMemoizedUnmaskedChildContext===t)return c.__reactInternalMemoizedMaskedChildContext;var d={},m;for(m in i)d[m]=t[m];return c&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=d),d}function Gt(e){return e=e.childContextTypes,e!=null}function Co(){rt(Vt),rt(Lt)}function xu(e,t,i){if(Lt.current!==Nr)throw Error(s(168));et(Lt,t),et(Vt,i)}function bu(e,t,i){var c=e.stateNode;if(t=t.childContextTypes,typeof c.getChildContext!="function")return i;c=c.getChildContext();for(var d in c)if(!(d in t))throw Error(s(108,be(e)||"Unknown",d));return G({},i,c)}function Eo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Nr,ns=Lt.current,et(Lt,e),et(Vt,Vt.current),!0}function Su(e,t,i){var c=e.stateNode;if(!c)throw Error(s(169));i?(e=bu(e,t,ns),c.__reactInternalMemoizedMergedChildContext=e,rt(Vt),rt(Lt),et(Lt,e)):rt(Vt),et(Vt,i)}var nr=null,$o=!1,rl=!1;function ju(e){nr===null?nr=[e]:nr.push(e)}function bh(e){$o=!0,ju(e)}function Cr(){if(!rl&&nr!==null){rl=!0;var e=0,t=Ke;try{var i=nr;for(Ke=1;e<i.length;e++){var c=i[e];do c=c(!0);while(c!==null)}nr=null,$o=!1}catch(d){throw nr!==null&&(nr=nr.slice(e+1)),Ln(tn,Cr),d}finally{Ke=t,rl=!1}}return null}var Ps=[],Os=0,Ro=null,To=0,un=[],dn=0,rs=null,rr=1,sr="";function ss(e,t){Ps[Os++]=To,Ps[Os++]=Ro,Ro=e,To=t}function Nu(e,t,i){un[dn++]=rr,un[dn++]=sr,un[dn++]=rs,rs=e;var c=rr;e=sr;var d=32-St(c)-1;c&=~(1<<d),i+=1;var m=32-St(t)+d;if(30<m){var w=d-d%5;m=(c&(1<<w)-1).toString(32),c>>=w,d-=w,rr=1<<32-St(t)+d|i<<d|c,sr=m+e}else rr=1<<m|i<<d|c,sr=e}function sl(e){e.return!==null&&(ss(e,1),Nu(e,1,0))}function il(e){for(;e===Ro;)Ro=Ps[--Os],Ps[Os]=null,To=Ps[--Os],Ps[Os]=null;for(;e===rs;)rs=un[--dn],un[dn]=null,sr=un[--dn],un[dn]=null,rr=un[--dn],un[dn]=null}var sn=null,on=null,st=!1,$n=null;function Cu(e,t){var i=mn(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 Eu(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,sn=e,on=Sr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,sn=e,on=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=rs!==null?{id:rr,overflow:sr}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=mn(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,sn=e,on=null,!0):!1;default:return!1}}function ol(e){return(e.mode&1)!==0&&(e.flags&128)===0}function al(e){if(st){var t=on;if(t){var i=t;if(!Eu(e,t)){if(ol(e))throw Error(s(418));t=Sr(i.nextSibling);var c=sn;t&&Eu(e,t)?Cu(c,i):(e.flags=e.flags&-4097|2,st=!1,sn=e)}}else{if(ol(e))throw Error(s(418));e.flags=e.flags&-4097|2,st=!1,sn=e}}}function $u(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;sn=e}function Ao(e){if(e!==sn)return!1;if(!st)return $u(e),st=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Za(e.type,e.memoizedProps)),t&&(t=on)){if(ol(e))throw Ru(),Error(s(418));for(;t;)Cu(e,t),t=Sr(t.nextSibling)}if($u(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){on=Sr(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}on=null}}else on=sn?Sr(e.stateNode.nextSibling):null;return!0}function Ru(){for(var e=on;e;)e=Sr(e.nextSibling)}function Fs(){on=sn=null,st=!1}function ll(e){$n===null?$n=[e]:$n.push(e)}var Sh=b.ReactCurrentBatchConfig;function Ai(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(s(309));var c=i.stateNode}if(!c)throw Error(s(147,e));var d=c,m=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===m?t.ref:(t=function(w){var S=d.refs;w===null?delete S[m]:S[m]=w},t._stringRef=m,t)}if(typeof e!="string")throw Error(s(284));if(!i._owner)throw Error(s(290,e))}return e}function Io(e,t){throw e=Object.prototype.toString.call(t),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Tu(e){var t=e._init;return t(e._payload)}function Au(e){function t(L,I){if(e){var O=L.deletions;O===null?(L.deletions=[I],L.flags|=16):O.push(I)}}function i(L,I){if(!e)return null;for(;I!==null;)t(L,I),I=I.sibling;return null}function c(L,I){for(L=new Map;I!==null;)I.key!==null?L.set(I.key,I):L.set(I.index,I),I=I.sibling;return L}function d(L,I){return L=Lr(L,I),L.index=0,L.sibling=null,L}function m(L,I,O){return L.index=O,e?(O=L.alternate,O!==null?(O=O.index,O<I?(L.flags|=2,I):O):(L.flags|=2,I)):(L.flags|=1048576,I)}function w(L){return e&&L.alternate===null&&(L.flags|=2),L}function S(L,I,O,ie){return I===null||I.tag!==6?(I=ql(O,L.mode,ie),I.return=L,I):(I=d(I,O),I.return=L,I)}function $(L,I,O,ie){var xe=O.type;return xe===D?Z(L,I,O.props.children,ie,O.key):I!==null&&(I.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===le&&Tu(xe)===I.type)?(ie=d(I,O.props),ie.ref=Ai(L,I,O),ie.return=L,ie):(ie=ra(O.type,O.key,O.props,null,L.mode,ie),ie.ref=Ai(L,I,O),ie.return=L,ie)}function F(L,I,O,ie){return I===null||I.tag!==4||I.stateNode.containerInfo!==O.containerInfo||I.stateNode.implementation!==O.implementation?(I=ec(O,L.mode,ie),I.return=L,I):(I=d(I,O.children||[]),I.return=L,I)}function Z(L,I,O,ie,xe){return I===null||I.tag!==7?(I=fs(O,L.mode,ie,xe),I.return=L,I):(I=d(I,O),I.return=L,I)}function ne(L,I,O){if(typeof I=="string"&&I!==""||typeof I=="number")return I=ql(""+I,L.mode,O),I.return=L,I;if(typeof I=="object"&&I!==null){switch(I.$$typeof){case P:return O=ra(I.type,I.key,I.props,null,L.mode,O),O.ref=Ai(L,null,I),O.return=L,O;case H:return I=ec(I,L.mode,O),I.return=L,I;case le:var ie=I._init;return ne(L,ie(I._payload),O)}if(V(I)||re(I))return I=fs(I,L.mode,O,null),I.return=L,I;Io(L,I)}return null}function Y(L,I,O,ie){var xe=I!==null?I.key:null;if(typeof O=="string"&&O!==""||typeof O=="number")return xe!==null?null:S(L,I,""+O,ie);if(typeof O=="object"&&O!==null){switch(O.$$typeof){case P:return O.key===xe?$(L,I,O,ie):null;case H:return O.key===xe?F(L,I,O,ie):null;case le:return xe=O._init,Y(L,I,xe(O._payload),ie)}if(V(O)||re(O))return xe!==null?null:Z(L,I,O,ie,null);Io(L,O)}return null}function me(L,I,O,ie,xe){if(typeof ie=="string"&&ie!==""||typeof ie=="number")return L=L.get(O)||null,S(I,L,""+ie,xe);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case P:return L=L.get(ie.key===null?O:ie.key)||null,$(I,L,ie,xe);case H:return L=L.get(ie.key===null?O:ie.key)||null,F(I,L,ie,xe);case le:var je=ie._init;return me(L,I,O,je(ie._payload),xe)}if(V(ie)||re(ie))return L=L.get(O)||null,Z(I,L,ie,xe,null);Io(I,ie)}return null}function _e(L,I,O,ie){for(var xe=null,je=null,Ne=I,$e=I=0,xt=null;Ne!==null&&$e<O.length;$e++){Ne.index>$e?(xt=Ne,Ne=null):xt=Ne.sibling;var Je=Y(L,Ne,O[$e],ie);if(Je===null){Ne===null&&(Ne=xt);break}e&&Ne&&Je.alternate===null&&t(L,Ne),I=m(Je,I,$e),je===null?xe=Je:je.sibling=Je,je=Je,Ne=xt}if($e===O.length)return i(L,Ne),st&&ss(L,$e),xe;if(Ne===null){for(;$e<O.length;$e++)Ne=ne(L,O[$e],ie),Ne!==null&&(I=m(Ne,I,$e),je===null?xe=Ne:je.sibling=Ne,je=Ne);return st&&ss(L,$e),xe}for(Ne=c(L,Ne);$e<O.length;$e++)xt=me(Ne,L,$e,O[$e],ie),xt!==null&&(e&&xt.alternate!==null&&Ne.delete(xt.key===null?$e:xt.key),I=m(xt,I,$e),je===null?xe=xt:je.sibling=xt,je=xt);return e&&Ne.forEach(function(Pr){return t(L,Pr)}),st&&ss(L,$e),xe}function ke(L,I,O,ie){var xe=re(O);if(typeof xe!="function")throw Error(s(150));if(O=xe.call(O),O==null)throw Error(s(151));for(var je=xe=null,Ne=I,$e=I=0,xt=null,Je=O.next();Ne!==null&&!Je.done;$e++,Je=O.next()){Ne.index>$e?(xt=Ne,Ne=null):xt=Ne.sibling;var Pr=Y(L,Ne,Je.value,ie);if(Pr===null){Ne===null&&(Ne=xt);break}e&&Ne&&Pr.alternate===null&&t(L,Ne),I=m(Pr,I,$e),je===null?xe=Pr:je.sibling=Pr,je=Pr,Ne=xt}if(Je.done)return i(L,Ne),st&&ss(L,$e),xe;if(Ne===null){for(;!Je.done;$e++,Je=O.next())Je=ne(L,Je.value,ie),Je!==null&&(I=m(Je,I,$e),je===null?xe=Je:je.sibling=Je,je=Je);return st&&ss(L,$e),xe}for(Ne=c(L,Ne);!Je.done;$e++,Je=O.next())Je=me(Ne,L,$e,Je.value,ie),Je!==null&&(e&&Je.alternate!==null&&Ne.delete(Je.key===null?$e:Je.key),I=m(Je,I,$e),je===null?xe=Je:je.sibling=Je,je=Je);return e&&Ne.forEach(function(rm){return t(L,rm)}),st&&ss(L,$e),xe}function dt(L,I,O,ie){if(typeof O=="object"&&O!==null&&O.type===D&&O.key===null&&(O=O.props.children),typeof O=="object"&&O!==null){switch(O.$$typeof){case P:e:{for(var xe=O.key,je=I;je!==null;){if(je.key===xe){if(xe=O.type,xe===D){if(je.tag===7){i(L,je.sibling),I=d(je,O.props.children),I.return=L,L=I;break e}}else if(je.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===le&&Tu(xe)===je.type){i(L,je.sibling),I=d(je,O.props),I.ref=Ai(L,je,O),I.return=L,L=I;break e}i(L,je);break}else t(L,je);je=je.sibling}O.type===D?(I=fs(O.props.children,L.mode,ie,O.key),I.return=L,L=I):(ie=ra(O.type,O.key,O.props,null,L.mode,ie),ie.ref=Ai(L,I,O),ie.return=L,L=ie)}return w(L);case H:e:{for(je=O.key;I!==null;){if(I.key===je)if(I.tag===4&&I.stateNode.containerInfo===O.containerInfo&&I.stateNode.implementation===O.implementation){i(L,I.sibling),I=d(I,O.children||[]),I.return=L,L=I;break e}else{i(L,I);break}else t(L,I);I=I.sibling}I=ec(O,L.mode,ie),I.return=L,L=I}return w(L);case le:return je=O._init,dt(L,I,je(O._payload),ie)}if(V(O))return _e(L,I,O,ie);if(re(O))return ke(L,I,O,ie);Io(L,O)}return typeof O=="string"&&O!==""||typeof O=="number"?(O=""+O,I!==null&&I.tag===6?(i(L,I.sibling),I=d(I,O),I.return=L,L=I):(i(L,I),I=ql(O,L.mode,ie),I.return=L,L=I),w(L)):i(L,I)}return dt}var Ds=Au(!0),Iu=Au(!1),Mo=jr(null),Lo=null,zs=null,cl=null;function ul(){cl=zs=Lo=null}function dl(e){var t=Mo.current;rt(Mo),e._currentValue=t}function fl(e,t,i){for(;e!==null;){var c=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,c!==null&&(c.childLanes|=t)):c!==null&&(c.childLanes&t)!==t&&(c.childLanes|=t),e===i)break;e=e.return}}function Us(e,t){Lo=e,cl=zs=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ht=!0),e.firstContext=null)}function fn(e){var t=e._currentValue;if(cl!==e)if(e={context:e,memoizedValue:t,next:null},zs===null){if(Lo===null)throw Error(s(308));zs=e,Lo.dependencies={lanes:0,firstContext:e}}else zs=zs.next=e;return t}var is=null;function pl(e){is===null?is=[e]:is.push(e)}function Mu(e,t,i,c){var d=t.interleaved;return d===null?(i.next=i,pl(t)):(i.next=d.next,d.next=i),t.interleaved=i,ir(e,c)}function ir(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 Er=!1;function hl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lu(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 or(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function $r(e,t,i){var c=e.updateQueue;if(c===null)return null;if(c=c.shared,(Ge&2)!==0){var d=c.pending;return d===null?t.next=t:(t.next=d.next,d.next=t),c.pending=t,ir(e,i)}return d=c.interleaved,d===null?(t.next=t,pl(c)):(t.next=d.next,d.next=t),c.interleaved=t,ir(e,i)}function Po(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var c=t.lanes;c&=e.pendingLanes,i|=c,t.lanes=i,er(e,i)}}function Pu(e,t){var i=e.updateQueue,c=e.alternate;if(c!==null&&(c=c.updateQueue,i===c)){var d=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var w={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};m===null?d=m=w:m=m.next=w,i=i.next}while(i!==null);m===null?d=m=t:m=m.next=t}else d=m=t;i={baseState:c.baseState,firstBaseUpdate:d,lastBaseUpdate:m,shared:c.shared,effects:c.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function Oo(e,t,i,c){var d=e.updateQueue;Er=!1;var m=d.firstBaseUpdate,w=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var $=S,F=$.next;$.next=null,w===null?m=F:w.next=F,w=$;var Z=e.alternate;Z!==null&&(Z=Z.updateQueue,S=Z.lastBaseUpdate,S!==w&&(S===null?Z.firstBaseUpdate=F:S.next=F,Z.lastBaseUpdate=$))}if(m!==null){var ne=d.baseState;w=0,Z=F=$=null,S=m;do{var Y=S.lane,me=S.eventTime;if((c&Y)===Y){Z!==null&&(Z=Z.next={eventTime:me,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var _e=e,ke=S;switch(Y=t,me=i,ke.tag){case 1:if(_e=ke.payload,typeof _e=="function"){ne=_e.call(me,ne,Y);break e}ne=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=ke.payload,Y=typeof _e=="function"?_e.call(me,ne,Y):_e,Y==null)break e;ne=G({},ne,Y);break e;case 2:Er=!0}}S.callback!==null&&S.lane!==0&&(e.flags|=64,Y=d.effects,Y===null?d.effects=[S]:Y.push(S))}else me={eventTime:me,lane:Y,tag:S.tag,payload:S.payload,callback:S.callback,next:null},Z===null?(F=Z=me,$=ne):Z=Z.next=me,w|=Y;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;Y=S,S=Y.next,Y.next=null,d.lastBaseUpdate=Y,d.shared.pending=null}}while(!0);if(Z===null&&($=ne),d.baseState=$,d.firstBaseUpdate=F,d.lastBaseUpdate=Z,t=d.shared.interleaved,t!==null){d=t;do w|=d.lane,d=d.next;while(d!==t)}else m===null&&(d.shared.lanes=0);ls|=w,e.lanes=w,e.memoizedState=ne}}function Ou(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var c=e[t],d=c.callback;if(d!==null){if(c.callback=null,c=i,typeof d!="function")throw Error(s(191,d));d.call(c)}}}var Ii={},Fn=jr(Ii),Mi=jr(Ii),Li=jr(Ii);function os(e){if(e===Ii)throw Error(s(174));return e}function ml(e,t){switch(et(Li,t),et(Mi,e),et(Fn,Ii),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:yn(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=yn(t,e)}rt(Fn),et(Fn,t)}function Bs(){rt(Fn),rt(Mi),rt(Li)}function Fu(e){os(Li.current);var t=os(Fn.current),i=yn(t,e.type);t!==i&&(et(Mi,e),et(Fn,i))}function gl(e){Mi.current===e&&(rt(Fn),rt(Mi))}var it=jr(0);function Fo(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 yl=[];function wl(){for(var e=0;e<yl.length;e++)yl[e]._workInProgressVersionPrimary=null;yl.length=0}var Do=b.ReactCurrentDispatcher,vl=b.ReactCurrentBatchConfig,as=0,ot=null,mt=null,_t=null,zo=!1,Pi=!1,Oi=0,jh=0;function Pt(){throw Error(s(321))}function _l(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!En(e[i],t[i]))return!1;return!0}function kl(e,t,i,c,d,m){if(as=m,ot=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Do.current=e===null||e.memoizedState===null?$h:Rh,e=i(c,d),Pi){m=0;do{if(Pi=!1,Oi=0,25<=m)throw Error(s(301));m+=1,_t=mt=null,t.updateQueue=null,Do.current=Th,e=i(c,d)}while(Pi)}if(Do.current=Wo,t=mt!==null&&mt.next!==null,as=0,_t=mt=ot=null,zo=!1,t)throw Error(s(300));return e}function xl(){var e=Oi!==0;return Oi=0,e}function Dn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return _t===null?ot.memoizedState=_t=e:_t=_t.next=e,_t}function pn(){if(mt===null){var e=ot.alternate;e=e!==null?e.memoizedState:null}else e=mt.next;var t=_t===null?ot.memoizedState:_t.next;if(t!==null)_t=t,mt=e;else{if(e===null)throw Error(s(310));mt=e,e={memoizedState:mt.memoizedState,baseState:mt.baseState,baseQueue:mt.baseQueue,queue:mt.queue,next:null},_t===null?ot.memoizedState=_t=e:_t=_t.next=e}return _t}function Fi(e,t){return typeof t=="function"?t(e):t}function bl(e){var t=pn(),i=t.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=e;var c=mt,d=c.baseQueue,m=i.pending;if(m!==null){if(d!==null){var w=d.next;d.next=m.next,m.next=w}c.baseQueue=d=m,i.pending=null}if(d!==null){m=d.next,c=c.baseState;var S=w=null,$=null,F=m;do{var Z=F.lane;if((as&Z)===Z)$!==null&&($=$.next={lane:0,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null}),c=F.hasEagerState?F.eagerState:e(c,F.action);else{var ne={lane:Z,action:F.action,hasEagerState:F.hasEagerState,eagerState:F.eagerState,next:null};$===null?(S=$=ne,w=c):$=$.next=ne,ot.lanes|=Z,ls|=Z}F=F.next}while(F!==null&&F!==m);$===null?w=c:$.next=S,En(c,t.memoizedState)||(Ht=!0),t.memoizedState=c,t.baseState=w,t.baseQueue=$,i.lastRenderedState=c}if(e=i.interleaved,e!==null){d=e;do m=d.lane,ot.lanes|=m,ls|=m,d=d.next;while(d!==e)}else d===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function Sl(e){var t=pn(),i=t.queue;if(i===null)throw Error(s(311));i.lastRenderedReducer=e;var c=i.dispatch,d=i.pending,m=t.memoizedState;if(d!==null){i.pending=null;var w=d=d.next;do m=e(m,w.action),w=w.next;while(w!==d);En(m,t.memoizedState)||(Ht=!0),t.memoizedState=m,t.baseQueue===null&&(t.baseState=m),i.lastRenderedState=m}return[m,c]}function Du(){}function zu(e,t){var i=ot,c=pn(),d=t(),m=!En(c.memoizedState,d);if(m&&(c.memoizedState=d,Ht=!0),c=c.queue,jl(Wu.bind(null,i,c,e),[e]),c.getSnapshot!==t||m||_t!==null&&_t.memoizedState.tag&1){if(i.flags|=2048,Di(9,Bu.bind(null,i,c,d,t),void 0,null),kt===null)throw Error(s(349));(as&30)!==0||Uu(i,t,d)}return d}function Uu(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=ot.updateQueue,t===null?(t={lastEffect:null,stores:null},ot.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Bu(e,t,i,c){t.value=i,t.getSnapshot=c,Vu(t)&&Gu(e)}function Wu(e,t,i){return i(function(){Vu(t)&&Gu(e)})}function Vu(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!En(e,i)}catch{return!0}}function Gu(e){var t=ir(e,1);t!==null&&In(t,e,1,-1)}function Hu(e){var t=Dn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Fi,lastRenderedState:e},t.queue=e,e=e.dispatch=Eh.bind(null,ot,e),[t.memoizedState,e]}function Di(e,t,i,c){return e={tag:e,create:t,destroy:i,deps:c,next:null},t=ot.updateQueue,t===null?(t={lastEffect:null,stores:null},ot.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(c=i.next,i.next=e,e.next=c,t.lastEffect=e)),e}function Ku(){return pn().memoizedState}function Uo(e,t,i,c){var d=Dn();ot.flags|=e,d.memoizedState=Di(1|t,i,void 0,c===void 0?null:c)}function Bo(e,t,i,c){var d=pn();c=c===void 0?null:c;var m=void 0;if(mt!==null){var w=mt.memoizedState;if(m=w.destroy,c!==null&&_l(c,w.deps)){d.memoizedState=Di(t,i,m,c);return}}ot.flags|=e,d.memoizedState=Di(1|t,i,m,c)}function Ju(e,t){return Uo(8390656,8,e,t)}function jl(e,t){return Bo(2048,8,e,t)}function Qu(e,t){return Bo(4,2,e,t)}function Yu(e,t){return Bo(4,4,e,t)}function Xu(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 Zu(e,t,i){return i=i!=null?i.concat([e]):null,Bo(4,4,Xu.bind(null,t,e),i)}function Nl(){}function qu(e,t){var i=pn();t=t===void 0?null:t;var c=i.memoizedState;return c!==null&&t!==null&&_l(t,c[1])?c[0]:(i.memoizedState=[e,t],e)}function ed(e,t){var i=pn();t=t===void 0?null:t;var c=i.memoizedState;return c!==null&&t!==null&&_l(t,c[1])?c[0]:(e=e(),i.memoizedState=[e,t],e)}function td(e,t,i){return(as&21)===0?(e.baseState&&(e.baseState=!1,Ht=!0),e.memoizedState=i):(En(i,t)||(i=uo(),ot.lanes|=i,ls|=i,e.baseState=!0),t)}function Nh(e,t){var i=Ke;Ke=i!==0&&4>i?i:4,e(!0);var c=vl.transition;vl.transition={};try{e(!1),t()}finally{Ke=i,vl.transition=c}}function nd(){return pn().memoizedState}function Ch(e,t,i){var c=Ir(e);if(i={lane:c,action:i,hasEagerState:!1,eagerState:null,next:null},rd(e))sd(t,i);else if(i=Mu(e,t,i,c),i!==null){var d=Ut();In(i,e,c,d),id(i,t,c)}}function Eh(e,t,i){var c=Ir(e),d={lane:c,action:i,hasEagerState:!1,eagerState:null,next:null};if(rd(e))sd(t,d);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=t.lastRenderedReducer,m!==null))try{var w=t.lastRenderedState,S=m(w,i);if(d.hasEagerState=!0,d.eagerState=S,En(S,w)){var $=t.interleaved;$===null?(d.next=d,pl(t)):(d.next=$.next,$.next=d),t.interleaved=d;return}}catch{}finally{}i=Mu(e,t,d,c),i!==null&&(d=Ut(),In(i,e,c,d),id(i,t,c))}}function rd(e){var t=e.alternate;return e===ot||t!==null&&t===ot}function sd(e,t){Pi=zo=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function id(e,t,i){if((i&4194240)!==0){var c=t.lanes;c&=e.pendingLanes,i|=c,t.lanes=i,er(e,i)}}var Wo={readContext:fn,useCallback:Pt,useContext:Pt,useEffect:Pt,useImperativeHandle:Pt,useInsertionEffect:Pt,useLayoutEffect:Pt,useMemo:Pt,useReducer:Pt,useRef:Pt,useState:Pt,useDebugValue:Pt,useDeferredValue:Pt,useTransition:Pt,useMutableSource:Pt,useSyncExternalStore:Pt,useId:Pt,unstable_isNewReconciler:!1},$h={readContext:fn,useCallback:function(e,t){return Dn().memoizedState=[e,t===void 0?null:t],e},useContext:fn,useEffect:Ju,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Uo(4194308,4,Xu.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Uo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Uo(4,2,e,t)},useMemo:function(e,t){var i=Dn();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var c=Dn();return t=i!==void 0?i(t):t,c.memoizedState=c.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},c.queue=e,e=e.dispatch=Ch.bind(null,ot,e),[c.memoizedState,e]},useRef:function(e){var t=Dn();return e={current:e},t.memoizedState=e},useState:Hu,useDebugValue:Nl,useDeferredValue:function(e){return Dn().memoizedState=e},useTransition:function(){var e=Hu(!1),t=e[0];return e=Nh.bind(null,e[1]),Dn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var c=ot,d=Dn();if(st){if(i===void 0)throw Error(s(407));i=i()}else{if(i=t(),kt===null)throw Error(s(349));(as&30)!==0||Uu(c,t,i)}d.memoizedState=i;var m={value:i,getSnapshot:t};return d.queue=m,Ju(Wu.bind(null,c,m,e),[e]),c.flags|=2048,Di(9,Bu.bind(null,c,m,i,t),void 0,null),i},useId:function(){var e=Dn(),t=kt.identifierPrefix;if(st){var i=sr,c=rr;i=(c&~(1<<32-St(c)-1)).toString(32)+i,t=":"+t+"R"+i,i=Oi++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=jh++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Rh={readContext:fn,useCallback:qu,useContext:fn,useEffect:jl,useImperativeHandle:Zu,useInsertionEffect:Qu,useLayoutEffect:Yu,useMemo:ed,useReducer:bl,useRef:Ku,useState:function(){return bl(Fi)},useDebugValue:Nl,useDeferredValue:function(e){var t=pn();return td(t,mt.memoizedState,e)},useTransition:function(){var e=bl(Fi)[0],t=pn().memoizedState;return[e,t]},useMutableSource:Du,useSyncExternalStore:zu,useId:nd,unstable_isNewReconciler:!1},Th={readContext:fn,useCallback:qu,useContext:fn,useEffect:jl,useImperativeHandle:Zu,useInsertionEffect:Qu,useLayoutEffect:Yu,useMemo:ed,useReducer:Sl,useRef:Ku,useState:function(){return Sl(Fi)},useDebugValue:Nl,useDeferredValue:function(e){var t=pn();return mt===null?t.memoizedState=e:td(t,mt.memoizedState,e)},useTransition:function(){var e=Sl(Fi)[0],t=pn().memoizedState;return[e,t]},useMutableSource:Du,useSyncExternalStore:zu,useId:nd,unstable_isNewReconciler:!1};function Rn(e,t){if(e&&e.defaultProps){t=G({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function Cl(e,t,i,c){t=e.memoizedState,i=i(c,t),i=i==null?t:G({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Vo={isMounted:function(e){return(e=e._reactInternals)?Pe(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var c=Ut(),d=Ir(e),m=or(c,d);m.payload=t,i!=null&&(m.callback=i),t=$r(e,m,d),t!==null&&(In(t,e,d,c),Po(t,e,d))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var c=Ut(),d=Ir(e),m=or(c,d);m.tag=1,m.payload=t,i!=null&&(m.callback=i),t=$r(e,m,d),t!==null&&(In(t,e,d,c),Po(t,e,d))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=Ut(),c=Ir(e),d=or(i,c);d.tag=2,t!=null&&(d.callback=t),t=$r(e,d,c),t!==null&&(In(t,e,c,i),Po(t,e,c))}};function od(e,t,i,c,d,m,w){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(c,m,w):t.prototype&&t.prototype.isPureReactComponent?!ji(i,c)||!ji(d,m):!0}function ad(e,t,i){var c=!1,d=Nr,m=t.contextType;return typeof m=="object"&&m!==null?m=fn(m):(d=Gt(t)?ns:Lt.current,c=t.contextTypes,m=(c=c!=null)?Ls(e,d):Nr),t=new t(i,m),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Vo,e.stateNode=t,t._reactInternals=e,c&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=d,e.__reactInternalMemoizedMaskedChildContext=m),t}function ld(e,t,i,c){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,c),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,c),t.state!==e&&Vo.enqueueReplaceState(t,t.state,null)}function El(e,t,i,c){var d=e.stateNode;d.props=i,d.state=e.memoizedState,d.refs={},hl(e);var m=t.contextType;typeof m=="object"&&m!==null?d.context=fn(m):(m=Gt(t)?ns:Lt.current,d.context=Ls(e,m)),d.state=e.memoizedState,m=t.getDerivedStateFromProps,typeof m=="function"&&(Cl(e,t,m,i),d.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(t=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),t!==d.state&&Vo.enqueueReplaceState(d,d.state,null),Oo(e,i,d,c),d.state=e.memoizedState),typeof d.componentDidMount=="function"&&(e.flags|=4194308)}function Ws(e,t){try{var i="",c=t;do i+=de(c),c=c.return;while(c);var d=i}catch(m){d=`
|
|
39
|
-
Error generating stack: `+m.message+`
|
|
40
|
-
`+m.stack}return{value:e,source:t,stack:d,digest:null}}function $l(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function Rl(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var Ah=typeof WeakMap=="function"?WeakMap:Map;function cd(e,t,i){i=or(-1,i),i.tag=3,i.payload={element:null};var c=t.value;return i.callback=function(){Xo||(Xo=!0,Gl=c),Rl(e,t)},i}function ud(e,t,i){i=or(-1,i),i.tag=3;var c=e.type.getDerivedStateFromError;if(typeof c=="function"){var d=t.value;i.payload=function(){return c(d)},i.callback=function(){Rl(e,t)}}var m=e.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(i.callback=function(){Rl(e,t),typeof c!="function"&&(Tr===null?Tr=new Set([this]):Tr.add(this));var w=t.stack;this.componentDidCatch(t.value,{componentStack:w!==null?w:""})}),i}function dd(e,t,i){var c=e.pingCache;if(c===null){c=e.pingCache=new Ah;var d=new Set;c.set(t,d)}else d=c.get(t),d===void 0&&(d=new Set,c.set(t,d));d.has(i)||(d.add(i),e=Hh.bind(null,e,t,i),t.then(e,e))}function fd(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 pd(e,t,i,c,d){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=or(-1,1),t.tag=2,$r(i,t,1))),i.lanes|=1),e):(e.flags|=65536,e.lanes=d,e)}var Ih=b.ReactCurrentOwner,Ht=!1;function zt(e,t,i,c){t.child=e===null?Iu(t,null,i,c):Ds(t,e.child,i,c)}function hd(e,t,i,c,d){i=i.render;var m=t.ref;return Us(t,d),c=kl(e,t,i,c,m,d),i=xl(),e!==null&&!Ht?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~d,ar(e,t,d)):(st&&i&&sl(t),t.flags|=1,zt(e,t,c,d),t.child)}function md(e,t,i,c,d){if(e===null){var m=i.type;return typeof m=="function"&&!Zl(m)&&m.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=m,gd(e,t,m,c,d)):(e=ra(i.type,null,c,t,t.mode,d),e.ref=t.ref,e.return=t,t.child=e)}if(m=e.child,(e.lanes&d)===0){var w=m.memoizedProps;if(i=i.compare,i=i!==null?i:ji,i(w,c)&&e.ref===t.ref)return ar(e,t,d)}return t.flags|=1,e=Lr(m,c),e.ref=t.ref,e.return=t,t.child=e}function gd(e,t,i,c,d){if(e!==null){var m=e.memoizedProps;if(ji(m,c)&&e.ref===t.ref)if(Ht=!1,t.pendingProps=c=m,(e.lanes&d)!==0)(e.flags&131072)!==0&&(Ht=!0);else return t.lanes=e.lanes,ar(e,t,d)}return Tl(e,t,i,c,d)}function yd(e,t,i){var c=t.pendingProps,d=c.children,m=e!==null?e.memoizedState:null;if(c.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},et(Gs,an),an|=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,et(Gs,an),an|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},c=m!==null?m.baseLanes:i,et(Gs,an),an|=c}else m!==null?(c=m.baseLanes|i,t.memoizedState=null):c=i,et(Gs,an),an|=c;return zt(e,t,d,i),t.child}function wd(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function Tl(e,t,i,c,d){var m=Gt(i)?ns:Lt.current;return m=Ls(t,m),Us(t,d),i=kl(e,t,i,c,m,d),c=xl(),e!==null&&!Ht?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~d,ar(e,t,d)):(st&&c&&sl(t),t.flags|=1,zt(e,t,i,d),t.child)}function vd(e,t,i,c,d){if(Gt(i)){var m=!0;Eo(t)}else m=!1;if(Us(t,d),t.stateNode===null)Ho(e,t),ad(t,i,c),El(t,i,c,d),c=!0;else if(e===null){var w=t.stateNode,S=t.memoizedProps;w.props=S;var $=w.context,F=i.contextType;typeof F=="object"&&F!==null?F=fn(F):(F=Gt(i)?ns:Lt.current,F=Ls(t,F));var Z=i.getDerivedStateFromProps,ne=typeof Z=="function"||typeof w.getSnapshotBeforeUpdate=="function";ne||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(S!==c||$!==F)&&ld(t,w,c,F),Er=!1;var Y=t.memoizedState;w.state=Y,Oo(t,c,w,d),$=t.memoizedState,S!==c||Y!==$||Vt.current||Er?(typeof Z=="function"&&(Cl(t,i,Z,c),$=t.memoizedState),(S=Er||od(t,i,S,c,Y,$,F))?(ne||typeof w.UNSAFE_componentWillMount!="function"&&typeof w.componentWillMount!="function"||(typeof w.componentWillMount=="function"&&w.componentWillMount(),typeof w.UNSAFE_componentWillMount=="function"&&w.UNSAFE_componentWillMount()),typeof w.componentDidMount=="function"&&(t.flags|=4194308)):(typeof w.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=c,t.memoizedState=$),w.props=c,w.state=$,w.context=F,c=S):(typeof w.componentDidMount=="function"&&(t.flags|=4194308),c=!1)}else{w=t.stateNode,Lu(e,t),S=t.memoizedProps,F=t.type===t.elementType?S:Rn(t.type,S),w.props=F,ne=t.pendingProps,Y=w.context,$=i.contextType,typeof $=="object"&&$!==null?$=fn($):($=Gt(i)?ns:Lt.current,$=Ls(t,$));var me=i.getDerivedStateFromProps;(Z=typeof me=="function"||typeof w.getSnapshotBeforeUpdate=="function")||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(S!==ne||Y!==$)&&ld(t,w,c,$),Er=!1,Y=t.memoizedState,w.state=Y,Oo(t,c,w,d);var _e=t.memoizedState;S!==ne||Y!==_e||Vt.current||Er?(typeof me=="function"&&(Cl(t,i,me,c),_e=t.memoizedState),(F=Er||od(t,i,F,c,Y,_e,$)||!1)?(Z||typeof w.UNSAFE_componentWillUpdate!="function"&&typeof w.componentWillUpdate!="function"||(typeof w.componentWillUpdate=="function"&&w.componentWillUpdate(c,_e,$),typeof w.UNSAFE_componentWillUpdate=="function"&&w.UNSAFE_componentWillUpdate(c,_e,$)),typeof w.componentDidUpdate=="function"&&(t.flags|=4),typeof w.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof w.componentDidUpdate!="function"||S===e.memoizedProps&&Y===e.memoizedState||(t.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Y===e.memoizedState||(t.flags|=1024),t.memoizedProps=c,t.memoizedState=_e),w.props=c,w.state=_e,w.context=$,c=F):(typeof w.componentDidUpdate!="function"||S===e.memoizedProps&&Y===e.memoizedState||(t.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||S===e.memoizedProps&&Y===e.memoizedState||(t.flags|=1024),c=!1)}return Al(e,t,i,c,m,d)}function Al(e,t,i,c,d,m){wd(e,t);var w=(t.flags&128)!==0;if(!c&&!w)return d&&Su(t,i,!1),ar(e,t,m);c=t.stateNode,Ih.current=t;var S=w&&typeof i.getDerivedStateFromError!="function"?null:c.render();return t.flags|=1,e!==null&&w?(t.child=Ds(t,e.child,null,m),t.child=Ds(t,null,S,m)):zt(e,t,S,m),t.memoizedState=c.state,d&&Su(t,i,!0),t.child}function _d(e){var t=e.stateNode;t.pendingContext?xu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&xu(e,t.context,!1),ml(e,t.containerInfo)}function kd(e,t,i,c,d){return Fs(),ll(d),t.flags|=256,zt(e,t,i,c),t.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Ml(e){return{baseLanes:e,cachePool:null,transitions:null}}function xd(e,t,i){var c=t.pendingProps,d=it.current,m=!1,w=(t.flags&128)!==0,S;if((S=w)||(S=e!==null&&e.memoizedState===null?!1:(d&2)!==0),S?(m=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(d|=1),et(it,d&1),e===null)return al(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):(w=c.children,e=c.fallback,m?(c=t.mode,m=t.child,w={mode:"hidden",children:w},(c&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=w):m=sa(w,c,0,null),e=fs(e,c,i,null),m.return=t,e.return=t,m.sibling=e,t.child=m,t.child.memoizedState=Ml(i),t.memoizedState=Il,e):Ll(t,w));if(d=e.memoizedState,d!==null&&(S=d.dehydrated,S!==null))return Mh(e,t,w,c,S,d,i);if(m){m=c.fallback,w=t.mode,d=e.child,S=d.sibling;var $={mode:"hidden",children:c.children};return(w&1)===0&&t.child!==d?(c=t.child,c.childLanes=0,c.pendingProps=$,t.deletions=null):(c=Lr(d,$),c.subtreeFlags=d.subtreeFlags&14680064),S!==null?m=Lr(S,m):(m=fs(m,w,i,null),m.flags|=2),m.return=t,c.return=t,c.sibling=m,t.child=c,c=m,m=t.child,w=e.child.memoizedState,w=w===null?Ml(i):{baseLanes:w.baseLanes|i,cachePool:null,transitions:w.transitions},m.memoizedState=w,m.childLanes=e.childLanes&~i,t.memoizedState=Il,c}return m=e.child,e=m.sibling,c=Lr(m,{mode:"visible",children:c.children}),(t.mode&1)===0&&(c.lanes=i),c.return=t,c.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=c,t.memoizedState=null,c}function Ll(e,t){return t=sa({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Go(e,t,i,c){return c!==null&&ll(c),Ds(t,e.child,null,i),e=Ll(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Mh(e,t,i,c,d,m,w){if(i)return t.flags&256?(t.flags&=-257,c=$l(Error(s(422))),Go(e,t,w,c)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(m=c.fallback,d=t.mode,c=sa({mode:"visible",children:c.children},d,0,null),m=fs(m,d,w,null),m.flags|=2,c.return=t,m.return=t,c.sibling=m,t.child=c,(t.mode&1)!==0&&Ds(t,e.child,null,w),t.child.memoizedState=Ml(w),t.memoizedState=Il,m);if((t.mode&1)===0)return Go(e,t,w,null);if(d.data==="$!"){if(c=d.nextSibling&&d.nextSibling.dataset,c)var S=c.dgst;return c=S,m=Error(s(419)),c=$l(m,c,void 0),Go(e,t,w,c)}if(S=(w&e.childLanes)!==0,Ht||S){if(c=kt,c!==null){switch(w&-w){case 4:d=2;break;case 16:d=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:d=32;break;case 536870912:d=268435456;break;default:d=0}d=(d&(c.suspendedLanes|w))!==0?0:d,d!==0&&d!==m.retryLane&&(m.retryLane=d,ir(e,d),In(c,e,d,-1))}return Xl(),c=$l(Error(s(421))),Go(e,t,w,c)}return d.data==="$?"?(t.flags|=128,t.child=e.child,t=Kh.bind(null,e),d._reactRetry=t,null):(e=m.treeContext,on=Sr(d.nextSibling),sn=t,st=!0,$n=null,e!==null&&(un[dn++]=rr,un[dn++]=sr,un[dn++]=rs,rr=e.id,sr=e.overflow,rs=t),t=Ll(t,c.children),t.flags|=4096,t)}function bd(e,t,i){e.lanes|=t;var c=e.alternate;c!==null&&(c.lanes|=t),fl(e.return,t,i)}function Pl(e,t,i,c,d){var m=e.memoizedState;m===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:c,tail:i,tailMode:d}:(m.isBackwards=t,m.rendering=null,m.renderingStartTime=0,m.last=c,m.tail=i,m.tailMode=d)}function Sd(e,t,i){var c=t.pendingProps,d=c.revealOrder,m=c.tail;if(zt(e,t,c.children,i),c=it.current,(c&2)!==0)c=c&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&&bd(e,i,t);else if(e.tag===19)bd(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}c&=1}if(et(it,c),(t.mode&1)===0)t.memoizedState=null;else switch(d){case"forwards":for(i=t.child,d=null;i!==null;)e=i.alternate,e!==null&&Fo(e)===null&&(d=i),i=i.sibling;i=d,i===null?(d=t.child,t.child=null):(d=i.sibling,i.sibling=null),Pl(t,!1,d,i,m);break;case"backwards":for(i=null,d=t.child,t.child=null;d!==null;){if(e=d.alternate,e!==null&&Fo(e)===null){t.child=d;break}e=d.sibling,d.sibling=i,i=d,d=e}Pl(t,!0,i,null,m);break;case"together":Pl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ho(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ar(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),ls|=t.lanes,(i&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,i=Lr(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Lr(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function Lh(e,t,i){switch(t.tag){case 3:_d(t),Fs();break;case 5:Fu(t);break;case 1:Gt(t.type)&&Eo(t);break;case 4:ml(t,t.stateNode.containerInfo);break;case 10:var c=t.type._context,d=t.memoizedProps.value;et(Mo,c._currentValue),c._currentValue=d;break;case 13:if(c=t.memoizedState,c!==null)return c.dehydrated!==null?(et(it,it.current&1),t.flags|=128,null):(i&t.child.childLanes)!==0?xd(e,t,i):(et(it,it.current&1),e=ar(e,t,i),e!==null?e.sibling:null);et(it,it.current&1);break;case 19:if(c=(i&t.childLanes)!==0,(e.flags&128)!==0){if(c)return Sd(e,t,i);t.flags|=128}if(d=t.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),et(it,it.current),c)break;return null;case 22:case 23:return t.lanes=0,yd(e,t,i)}return ar(e,t,i)}var jd,Ol,Nd,Cd;jd=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}},Ol=function(){},Nd=function(e,t,i,c){var d=e.memoizedProps;if(d!==c){e=t.stateNode,os(Fn.current);var m=null;switch(i){case"input":d=he(e,d),c=he(e,c),m=[];break;case"select":d=G({},d,{value:void 0}),c=G({},c,{value:void 0}),m=[];break;case"textarea":d=Le(e,d),c=Le(e,c),m=[];break;default:typeof d.onClick!="function"&&typeof c.onClick=="function"&&(e.onclick=jo)}ai(i,c);var w;i=null;for(F in d)if(!c.hasOwnProperty(F)&&d.hasOwnProperty(F)&&d[F]!=null)if(F==="style"){var S=d[F];for(w in S)S.hasOwnProperty(w)&&(i||(i={}),i[w]="")}else F!=="dangerouslySetInnerHTML"&&F!=="children"&&F!=="suppressContentEditableWarning"&&F!=="suppressHydrationWarning"&&F!=="autoFocus"&&(l.hasOwnProperty(F)?m||(m=[]):(m=m||[]).push(F,null));for(F in c){var $=c[F];if(S=d!=null?d[F]:void 0,c.hasOwnProperty(F)&&$!==S&&($!=null||S!=null))if(F==="style")if(S){for(w in S)!S.hasOwnProperty(w)||$&&$.hasOwnProperty(w)||(i||(i={}),i[w]="");for(w in $)$.hasOwnProperty(w)&&S[w]!==$[w]&&(i||(i={}),i[w]=$[w])}else i||(m||(m=[]),m.push(F,i)),i=$;else F==="dangerouslySetInnerHTML"?($=$?$.__html:void 0,S=S?S.__html:void 0,$!=null&&S!==$&&(m=m||[]).push(F,$)):F==="children"?typeof $!="string"&&typeof $!="number"||(m=m||[]).push(F,""+$):F!=="suppressContentEditableWarning"&&F!=="suppressHydrationWarning"&&(l.hasOwnProperty(F)?($!=null&&F==="onScroll"&&nt("scroll",e),m||S===$||(m=[])):(m=m||[]).push(F,$))}i&&(m=m||[]).push("style",i);var F=m;(t.updateQueue=F)&&(t.flags|=4)}},Cd=function(e,t,i,c){i!==c&&(t.flags|=4)};function zi(e,t){if(!st)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 c=null;i!==null;)i.alternate!==null&&(c=i),i=i.sibling;c===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:c.sibling=null}}function Ot(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,c=0;if(t)for(var d=e.child;d!==null;)i|=d.lanes|d.childLanes,c|=d.subtreeFlags&14680064,c|=d.flags&14680064,d.return=e,d=d.sibling;else for(d=e.child;d!==null;)i|=d.lanes|d.childLanes,c|=d.subtreeFlags,c|=d.flags,d.return=e,d=d.sibling;return e.subtreeFlags|=c,e.childLanes=i,t}function Ph(e,t,i){var c=t.pendingProps;switch(il(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ot(t),null;case 1:return Gt(t.type)&&Co(),Ot(t),null;case 3:return c=t.stateNode,Bs(),rt(Vt),rt(Lt),wl(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(e===null||e.child===null)&&(Ao(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,$n!==null&&(Jl($n),$n=null))),Ol(e,t),Ot(t),null;case 5:gl(t);var d=os(Li.current);if(i=t.type,e!==null&&t.stateNode!=null)Nd(e,t,i,c,d),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!c){if(t.stateNode===null)throw Error(s(166));return Ot(t),null}if(e=os(Fn.current),Ao(t)){c=t.stateNode,i=t.type;var m=t.memoizedProps;switch(c[On]=t,c[Ri]=m,e=(t.mode&1)!==0,i){case"dialog":nt("cancel",c),nt("close",c);break;case"iframe":case"object":case"embed":nt("load",c);break;case"video":case"audio":for(d=0;d<Ci.length;d++)nt(Ci[d],c);break;case"source":nt("error",c);break;case"img":case"image":case"link":nt("error",c),nt("load",c);break;case"details":nt("toggle",c);break;case"input":Fe(c,m),nt("invalid",c);break;case"select":c._wrapperState={wasMultiple:!!m.multiple},nt("invalid",c);break;case"textarea":Ve(c,m),nt("invalid",c)}ai(i,m),d=null;for(var w in m)if(m.hasOwnProperty(w)){var S=m[w];w==="children"?typeof S=="string"?c.textContent!==S&&(m.suppressHydrationWarning!==!0&&So(c.textContent,S,e),d=["children",S]):typeof S=="number"&&c.textContent!==""+S&&(m.suppressHydrationWarning!==!0&&So(c.textContent,S,e),d=["children",""+S]):l.hasOwnProperty(w)&&S!=null&&w==="onScroll"&&nt("scroll",c)}switch(i){case"input":at(c),ze(c,m,!0);break;case"textarea":at(c),Gn(c);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(c.onclick=jo)}c=d,t.updateQueue=c,c!==null&&(t.flags|=4)}else{w=d.nodeType===9?d:d.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=At(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=w.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof c.is=="string"?e=w.createElement(i,{is:c.is}):(e=w.createElement(i),i==="select"&&(w=e,c.multiple?w.multiple=!0:c.size&&(w.size=c.size))):e=w.createElementNS(e,i),e[On]=t,e[Ri]=c,jd(e,t,!1,!1),t.stateNode=e;e:{switch(w=_s(i,c),i){case"dialog":nt("cancel",e),nt("close",e),d=c;break;case"iframe":case"object":case"embed":nt("load",e),d=c;break;case"video":case"audio":for(d=0;d<Ci.length;d++)nt(Ci[d],e);d=c;break;case"source":nt("error",e),d=c;break;case"img":case"image":case"link":nt("error",e),nt("load",e),d=c;break;case"details":nt("toggle",e),d=c;break;case"input":Fe(e,c),d=he(e,c),nt("invalid",e);break;case"option":d=c;break;case"select":e._wrapperState={wasMultiple:!!c.multiple},d=G({},c,{value:void 0}),nt("invalid",e);break;case"textarea":Ve(e,c),d=Le(e,c),nt("invalid",e);break;default:d=c}ai(i,d),S=d;for(m in S)if(S.hasOwnProperty(m)){var $=S[m];m==="style"?Wr(e,$):m==="dangerouslySetInnerHTML"?($=$?$.__html:void 0,$!=null&&wn(e,$)):m==="children"?typeof $=="string"?(i!=="textarea"||$!=="")&&Br(e,$):typeof $=="number"&&Br(e,""+$):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(l.hasOwnProperty(m)?$!=null&&m==="onScroll"&&nt("scroll",e):$!=null&&T(e,m,$,w))}switch(i){case"input":at(e),ze(e,c,!1);break;case"textarea":at(e),Gn(e);break;case"option":c.value!=null&&e.setAttribute("value",""+ae(c.value));break;case"select":e.multiple=!!c.multiple,m=c.value,m!=null?fe(e,!!c.multiple,m,!1):c.defaultValue!=null&&fe(e,!!c.multiple,c.defaultValue,!0);break;default:typeof d.onClick=="function"&&(e.onclick=jo)}switch(i){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}}c&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Ot(t),null;case 6:if(e&&t.stateNode!=null)Cd(e,t,e.memoizedProps,c);else{if(typeof c!="string"&&t.stateNode===null)throw Error(s(166));if(i=os(Li.current),os(Fn.current),Ao(t)){if(c=t.stateNode,i=t.memoizedProps,c[On]=t,(m=c.nodeValue!==i)&&(e=sn,e!==null))switch(e.tag){case 3:So(c.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&So(c.nodeValue,i,(e.mode&1)!==0)}m&&(t.flags|=4)}else c=(i.nodeType===9?i:i.ownerDocument).createTextNode(c),c[On]=t,t.stateNode=c}return Ot(t),null;case 13:if(rt(it),c=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(st&&on!==null&&(t.mode&1)!==0&&(t.flags&128)===0)Ru(),Fs(),t.flags|=98560,m=!1;else if(m=Ao(t),c!==null&&c.dehydrated!==null){if(e===null){if(!m)throw Error(s(318));if(m=t.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(s(317));m[On]=t}else Fs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ot(t),m=!1}else $n!==null&&(Jl($n),$n=null),m=!0;if(!m)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=i,t):(c=c!==null,c!==(e!==null&&e.memoizedState!==null)&&c&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(it.current&1)!==0?gt===0&&(gt=3):Xl())),t.updateQueue!==null&&(t.flags|=4),Ot(t),null);case 4:return Bs(),Ol(e,t),e===null&&Ei(t.stateNode.containerInfo),Ot(t),null;case 10:return dl(t.type._context),Ot(t),null;case 17:return Gt(t.type)&&Co(),Ot(t),null;case 19:if(rt(it),m=t.memoizedState,m===null)return Ot(t),null;if(c=(t.flags&128)!==0,w=m.rendering,w===null)if(c)zi(m,!1);else{if(gt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(w=Fo(e),w!==null){for(t.flags|=128,zi(m,!1),c=w.updateQueue,c!==null&&(t.updateQueue=c,t.flags|=4),t.subtreeFlags=0,c=i,i=t.child;i!==null;)m=i,e=c,m.flags&=14680066,w=m.alternate,w===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=w.childLanes,m.lanes=w.lanes,m.child=w.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=w.memoizedProps,m.memoizedState=w.memoizedState,m.updateQueue=w.updateQueue,m.type=w.type,e=w.dependencies,m.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return et(it,it.current&1|2),t.child}e=e.sibling}m.tail!==null&&He()>Hs&&(t.flags|=128,c=!0,zi(m,!1),t.lanes=4194304)}else{if(!c)if(e=Fo(w),e!==null){if(t.flags|=128,c=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),zi(m,!0),m.tail===null&&m.tailMode==="hidden"&&!w.alternate&&!st)return Ot(t),null}else 2*He()-m.renderingStartTime>Hs&&i!==1073741824&&(t.flags|=128,c=!0,zi(m,!1),t.lanes=4194304);m.isBackwards?(w.sibling=t.child,t.child=w):(i=m.last,i!==null?i.sibling=w:t.child=w,m.last=w)}return m.tail!==null?(t=m.tail,m.rendering=t,m.tail=t.sibling,m.renderingStartTime=He(),t.sibling=null,i=it.current,et(it,c?i&1|2:i&1),t):(Ot(t),null);case 22:case 23:return Yl(),c=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==c&&(t.flags|=8192),c&&(t.mode&1)!==0?(an&1073741824)!==0&&(Ot(t),t.subtreeFlags&6&&(t.flags|=8192)):Ot(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function Oh(e,t){switch(il(t),t.tag){case 1:return Gt(t.type)&&Co(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bs(),rt(Vt),rt(Lt),wl(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return gl(t),null;case 13:if(rt(it),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Fs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return rt(it),null;case 4:return Bs(),null;case 10:return dl(t.type._context),null;case 22:case 23:return Yl(),null;case 24:return null;default:return null}}var Ko=!1,Ft=!1,Fh=typeof WeakSet=="function"?WeakSet:Set,ve=null;function Vs(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(c){lt(e,t,c)}else i.current=null}function Fl(e,t,i){try{i()}catch(c){lt(e,t,c)}}var Ed=!1;function Dh(e,t){if(Ya=jn,e=ou(),Ba(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var c=i.getSelection&&i.getSelection();if(c&&c.rangeCount!==0){i=c.anchorNode;var d=c.anchorOffset,m=c.focusNode;c=c.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var w=0,S=-1,$=-1,F=0,Z=0,ne=e,Y=null;t:for(;;){for(var me;ne!==i||d!==0&&ne.nodeType!==3||(S=w+d),ne!==m||c!==0&&ne.nodeType!==3||($=w+c),ne.nodeType===3&&(w+=ne.nodeValue.length),(me=ne.firstChild)!==null;)Y=ne,ne=me;for(;;){if(ne===e)break t;if(Y===i&&++F===d&&(S=w),Y===m&&++Z===c&&($=w),(me=ne.nextSibling)!==null)break;ne=Y,Y=ne.parentNode}ne=me}i=S===-1||$===-1?null:{start:S,end:$}}else i=null}i=i||{start:0,end:0}}else i=null;for(Xa={focusedElem:e,selectionRange:i},jn=!1,ve=t;ve!==null;)if(t=ve,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ve=e;else for(;ve!==null;){t=ve;try{var _e=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(_e!==null){var ke=_e.memoizedProps,dt=_e.memoizedState,L=t.stateNode,I=L.getSnapshotBeforeUpdate(t.elementType===t.type?ke:Rn(t.type,ke),dt);L.__reactInternalSnapshotBeforeUpdate=I}break;case 3:var O=t.stateNode.containerInfo;O.nodeType===1?O.textContent="":O.nodeType===9&&O.documentElement&&O.removeChild(O.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(ie){lt(t,t.return,ie)}if(e=t.sibling,e!==null){e.return=t.return,ve=e;break}ve=t.return}return _e=Ed,Ed=!1,_e}function Ui(e,t,i){var c=t.updateQueue;if(c=c!==null?c.lastEffect:null,c!==null){var d=c=c.next;do{if((d.tag&e)===e){var m=d.destroy;d.destroy=void 0,m!==void 0&&Fl(t,i,m)}d=d.next}while(d!==c)}}function Jo(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 c=i.create;i.destroy=c()}i=i.next}while(i!==t)}}function Dl(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 $d(e){var t=e.alternate;t!==null&&(e.alternate=null,$d(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[On],delete t[Ri],delete t[tl],delete t[kh],delete t[xh])),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 Rd(e){return e.tag===5||e.tag===3||e.tag===4}function Td(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Rd(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 zl(e,t,i){var c=e.tag;if(c===5||c===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=jo));else if(c!==4&&(e=e.child,e!==null))for(zl(e,t,i),e=e.sibling;e!==null;)zl(e,t,i),e=e.sibling}function Ul(e,t,i){var c=e.tag;if(c===5||c===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(c!==4&&(e=e.child,e!==null))for(Ul(e,t,i),e=e.sibling;e!==null;)Ul(e,t,i),e=e.sibling}var Ct=null,Tn=!1;function Rr(e,t,i){for(i=i.child;i!==null;)Ad(e,t,i),i=i.sibling}function Ad(e,t,i){if(nn&&typeof nn.onCommitFiberUnmount=="function")try{nn.onCommitFiberUnmount(It,i)}catch{}switch(i.tag){case 5:Ft||Vs(i,t);case 6:var c=Ct,d=Tn;Ct=null,Rr(e,t,i),Ct=c,Tn=d,Ct!==null&&(Tn?(e=Ct,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Ct.removeChild(i.stateNode));break;case 18:Ct!==null&&(Tn?(e=Ct,i=i.stateNode,e.nodeType===8?el(e.parentNode,i):e.nodeType===1&&el(e,i),Ae(e)):el(Ct,i.stateNode));break;case 4:c=Ct,d=Tn,Ct=i.stateNode.containerInfo,Tn=!0,Rr(e,t,i),Ct=c,Tn=d;break;case 0:case 11:case 14:case 15:if(!Ft&&(c=i.updateQueue,c!==null&&(c=c.lastEffect,c!==null))){d=c=c.next;do{var m=d,w=m.destroy;m=m.tag,w!==void 0&&((m&2)!==0||(m&4)!==0)&&Fl(i,t,w),d=d.next}while(d!==c)}Rr(e,t,i);break;case 1:if(!Ft&&(Vs(i,t),c=i.stateNode,typeof c.componentWillUnmount=="function"))try{c.props=i.memoizedProps,c.state=i.memoizedState,c.componentWillUnmount()}catch(S){lt(i,t,S)}Rr(e,t,i);break;case 21:Rr(e,t,i);break;case 22:i.mode&1?(Ft=(c=Ft)||i.memoizedState!==null,Rr(e,t,i),Ft=c):Rr(e,t,i);break;default:Rr(e,t,i)}}function Id(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new Fh),t.forEach(function(c){var d=Jh.bind(null,e,c);i.has(c)||(i.add(c),c.then(d,d))})}}function An(e,t){var i=t.deletions;if(i!==null)for(var c=0;c<i.length;c++){var d=i[c];try{var m=e,w=t,S=w;e:for(;S!==null;){switch(S.tag){case 5:Ct=S.stateNode,Tn=!1;break e;case 3:Ct=S.stateNode.containerInfo,Tn=!0;break e;case 4:Ct=S.stateNode.containerInfo,Tn=!0;break e}S=S.return}if(Ct===null)throw Error(s(160));Ad(m,w,d),Ct=null,Tn=!1;var $=d.alternate;$!==null&&($.return=null),d.return=null}catch(F){lt(d,t,F)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Md(t,e),t=t.sibling}function Md(e,t){var i=e.alternate,c=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(An(t,e),zn(e),c&4){try{Ui(3,e,e.return),Jo(3,e)}catch(ke){lt(e,e.return,ke)}try{Ui(5,e,e.return)}catch(ke){lt(e,e.return,ke)}}break;case 1:An(t,e),zn(e),c&512&&i!==null&&Vs(i,i.return);break;case 5:if(An(t,e),zn(e),c&512&&i!==null&&Vs(i,i.return),e.flags&32){var d=e.stateNode;try{Br(d,"")}catch(ke){lt(e,e.return,ke)}}if(c&4&&(d=e.stateNode,d!=null)){var m=e.memoizedProps,w=i!==null?i.memoizedProps:m,S=e.type,$=e.updateQueue;if(e.updateQueue=null,$!==null)try{S==="input"&&m.type==="radio"&&m.name!=null&&we(d,m),_s(S,w);var F=_s(S,m);for(w=0;w<$.length;w+=2){var Z=$[w],ne=$[w+1];Z==="style"?Wr(d,ne):Z==="dangerouslySetInnerHTML"?wn(d,ne):Z==="children"?Br(d,ne):T(d,Z,ne,F)}switch(S){case"input":Me(d,m);break;case"textarea":We(d,m);break;case"select":var Y=d._wrapperState.wasMultiple;d._wrapperState.wasMultiple=!!m.multiple;var me=m.value;me!=null?fe(d,!!m.multiple,me,!1):Y!==!!m.multiple&&(m.defaultValue!=null?fe(d,!!m.multiple,m.defaultValue,!0):fe(d,!!m.multiple,m.multiple?[]:"",!1))}d[Ri]=m}catch(ke){lt(e,e.return,ke)}}break;case 6:if(An(t,e),zn(e),c&4){if(e.stateNode===null)throw Error(s(162));d=e.stateNode,m=e.memoizedProps;try{d.nodeValue=m}catch(ke){lt(e,e.return,ke)}}break;case 3:if(An(t,e),zn(e),c&4&&i!==null&&i.memoizedState.isDehydrated)try{Ae(t.containerInfo)}catch(ke){lt(e,e.return,ke)}break;case 4:An(t,e),zn(e);break;case 13:An(t,e),zn(e),d=e.child,d.flags&8192&&(m=d.memoizedState!==null,d.stateNode.isHidden=m,!m||d.alternate!==null&&d.alternate.memoizedState!==null||(Vl=He())),c&4&&Id(e);break;case 22:if(Z=i!==null&&i.memoizedState!==null,e.mode&1?(Ft=(F=Ft)||Z,An(t,e),Ft=F):An(t,e),zn(e),c&8192){if(F=e.memoizedState!==null,(e.stateNode.isHidden=F)&&!Z&&(e.mode&1)!==0)for(ve=e,Z=e.child;Z!==null;){for(ne=ve=Z;ve!==null;){switch(Y=ve,me=Y.child,Y.tag){case 0:case 11:case 14:case 15:Ui(4,Y,Y.return);break;case 1:Vs(Y,Y.return);var _e=Y.stateNode;if(typeof _e.componentWillUnmount=="function"){c=Y,i=Y.return;try{t=c,_e.props=t.memoizedProps,_e.state=t.memoizedState,_e.componentWillUnmount()}catch(ke){lt(c,i,ke)}}break;case 5:Vs(Y,Y.return);break;case 22:if(Y.memoizedState!==null){Od(ne);continue}}me!==null?(me.return=Y,ve=me):Od(ne)}Z=Z.sibling}e:for(Z=null,ne=e;;){if(ne.tag===5){if(Z===null){Z=ne;try{d=ne.stateNode,F?(m=d.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(S=ne.stateNode,$=ne.memoizedProps.style,w=$!=null&&$.hasOwnProperty("display")?$.display:null,S.style.display=ii("display",w))}catch(ke){lt(e,e.return,ke)}}}else if(ne.tag===6){if(Z===null)try{ne.stateNode.nodeValue=F?"":ne.memoizedProps}catch(ke){lt(e,e.return,ke)}}else if((ne.tag!==22&&ne.tag!==23||ne.memoizedState===null||ne===e)&&ne.child!==null){ne.child.return=ne,ne=ne.child;continue}if(ne===e)break e;for(;ne.sibling===null;){if(ne.return===null||ne.return===e)break e;Z===ne&&(Z=null),ne=ne.return}Z===ne&&(Z=null),ne.sibling.return=ne.return,ne=ne.sibling}}break;case 19:An(t,e),zn(e),c&4&&Id(e);break;case 21:break;default:An(t,e),zn(e)}}function zn(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(Rd(i)){var c=i;break e}i=i.return}throw Error(s(160))}switch(c.tag){case 5:var d=c.stateNode;c.flags&32&&(Br(d,""),c.flags&=-33);var m=Td(e);Ul(e,m,d);break;case 3:case 4:var w=c.stateNode.containerInfo,S=Td(e);zl(e,S,w);break;default:throw Error(s(161))}}catch($){lt(e,e.return,$)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function zh(e,t,i){ve=e,Ld(e)}function Ld(e,t,i){for(var c=(e.mode&1)!==0;ve!==null;){var d=ve,m=d.child;if(d.tag===22&&c){var w=d.memoizedState!==null||Ko;if(!w){var S=d.alternate,$=S!==null&&S.memoizedState!==null||Ft;S=Ko;var F=Ft;if(Ko=w,(Ft=$)&&!F)for(ve=d;ve!==null;)w=ve,$=w.child,w.tag===22&&w.memoizedState!==null?Fd(d):$!==null?($.return=w,ve=$):Fd(d);for(;m!==null;)ve=m,Ld(m),m=m.sibling;ve=d,Ko=S,Ft=F}Pd(e)}else(d.subtreeFlags&8772)!==0&&m!==null?(m.return=d,ve=m):Pd(e)}}function Pd(e){for(;ve!==null;){var t=ve;if((t.flags&8772)!==0){var i=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:Ft||Jo(5,t);break;case 1:var c=t.stateNode;if(t.flags&4&&!Ft)if(i===null)c.componentDidMount();else{var d=t.elementType===t.type?i.memoizedProps:Rn(t.type,i.memoizedProps);c.componentDidUpdate(d,i.memoizedState,c.__reactInternalSnapshotBeforeUpdate)}var m=t.updateQueue;m!==null&&Ou(t,m,c);break;case 3:var w=t.updateQueue;if(w!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}Ou(t,w,i)}break;case 5:var S=t.stateNode;if(i===null&&t.flags&4){i=S;var $=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":$.autoFocus&&i.focus();break;case"img":$.src&&(i.src=$.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var F=t.alternate;if(F!==null){var Z=F.memoizedState;if(Z!==null){var ne=Z.dehydrated;ne!==null&&Ae(ne)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}Ft||t.flags&512&&Dl(t)}catch(Y){lt(t,t.return,Y)}}if(t===e){ve=null;break}if(i=t.sibling,i!==null){i.return=t.return,ve=i;break}ve=t.return}}function Od(e){for(;ve!==null;){var t=ve;if(t===e){ve=null;break}var i=t.sibling;if(i!==null){i.return=t.return,ve=i;break}ve=t.return}}function Fd(e){for(;ve!==null;){var t=ve;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{Jo(4,t)}catch($){lt(t,i,$)}break;case 1:var c=t.stateNode;if(typeof c.componentDidMount=="function"){var d=t.return;try{c.componentDidMount()}catch($){lt(t,d,$)}}var m=t.return;try{Dl(t)}catch($){lt(t,m,$)}break;case 5:var w=t.return;try{Dl(t)}catch($){lt(t,w,$)}}}catch($){lt(t,t.return,$)}if(t===e){ve=null;break}var S=t.sibling;if(S!==null){S.return=t.return,ve=S;break}ve=t.return}}var Uh=Math.ceil,Qo=b.ReactCurrentDispatcher,Bl=b.ReactCurrentOwner,hn=b.ReactCurrentBatchConfig,Ge=0,kt=null,pt=null,Et=0,an=0,Gs=jr(0),gt=0,Bi=null,ls=0,Yo=0,Wl=0,Wi=null,Kt=null,Vl=0,Hs=1/0,lr=null,Xo=!1,Gl=null,Tr=null,Zo=!1,Ar=null,qo=0,Vi=0,Hl=null,ea=-1,ta=0;function Ut(){return(Ge&6)!==0?He():ea!==-1?ea:ea=He()}function Ir(e){return(e.mode&1)===0?1:(Ge&2)!==0&&Et!==0?Et&-Et:Sh.transition!==null?(ta===0&&(ta=uo()),ta):(e=Ke,e!==0||(e=window.event,e=e===void 0?16:Cn(e.type)),e)}function In(e,t,i,c){if(50<Vi)throw Vi=0,Hl=null,Error(s(185));Zr(e,i,c),((Ge&2)===0||e!==kt)&&(e===kt&&((Ge&2)===0&&(Yo|=i),gt===4&&Mr(e,Et)),Jt(e,c),i===1&&Ge===0&&(t.mode&1)===0&&(Hs=He()+500,$o&&Cr()))}function Jt(e,t){var i=e.callbackNode;co(e,t);var c=Ss(e,e===kt?Et:0);if(c===0)i!==null&&ci(i),e.callbackNode=null,e.callbackPriority=0;else if(t=c&-c,e.callbackPriority!==t){if(i!=null&&ci(i),t===1)e.tag===0?bh(zd.bind(null,e)):ju(zd.bind(null,e)),vh(function(){(Ge&6)===0&&Cr()}),i=null;else{switch(fo(c)){case 1:i=tn;break;case 4:i=ui;break;case 16:i=_n;break;case 536870912:i=Yr;break;default:i=_n}i=Jd(i,Dd.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function Dd(e,t){if(ea=-1,ta=0,(Ge&6)!==0)throw Error(s(327));var i=e.callbackNode;if(Ks()&&e.callbackNode!==i)return null;var c=Ss(e,e===kt?Et:0);if(c===0)return null;if((c&30)!==0||(c&e.expiredLanes)!==0||t)t=na(e,c);else{t=c;var d=Ge;Ge|=2;var m=Bd();(kt!==e||Et!==t)&&(lr=null,Hs=He()+500,us(e,t));do try{Vh();break}catch(S){Ud(e,S)}while(!0);ul(),Qo.current=m,Ge=d,pt!==null?t=0:(kt=null,Et=0,t=gt)}if(t!==0){if(t===2&&(d=Xr(e),d!==0&&(c=d,t=Kl(e,d))),t===1)throw i=Bi,us(e,0),Mr(e,c),Jt(e,He()),i;if(t===6)Mr(e,c);else{if(d=e.current.alternate,(c&30)===0&&!Bh(d)&&(t=na(e,c),t===2&&(m=Xr(e),m!==0&&(c=m,t=Kl(e,m))),t===1))throw i=Bi,us(e,0),Mr(e,c),Jt(e,He()),i;switch(e.finishedWork=d,e.finishedLanes=c,t){case 0:case 1:throw Error(s(345));case 2:ds(e,Kt,lr);break;case 3:if(Mr(e,c),(c&130023424)===c&&(t=Vl+500-He(),10<t)){if(Ss(e,0)!==0)break;if(d=e.suspendedLanes,(d&c)!==c){Ut(),e.pingedLanes|=e.suspendedLanes&d;break}e.timeoutHandle=qa(ds.bind(null,e,Kt,lr),t);break}ds(e,Kt,lr);break;case 4:if(Mr(e,c),(c&4194240)===c)break;for(t=e.eventTimes,d=-1;0<c;){var w=31-St(c);m=1<<w,w=t[w],w>d&&(d=w),c&=~m}if(c=d,c=He()-c,c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3e3>c?3e3:4320>c?4320:1960*Uh(c/1960))-c,10<c){e.timeoutHandle=qa(ds.bind(null,e,Kt,lr),c);break}ds(e,Kt,lr);break;case 5:ds(e,Kt,lr);break;default:throw Error(s(329))}}}return Jt(e,He()),e.callbackNode===i?Dd.bind(null,e):null}function Kl(e,t){var i=Wi;return e.current.memoizedState.isDehydrated&&(us(e,t).flags|=256),e=na(e,t),e!==2&&(t=Kt,Kt=i,t!==null&&Jl(t)),e}function Jl(e){Kt===null?Kt=e:Kt.push.apply(Kt,e)}function Bh(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var c=0;c<i.length;c++){var d=i[c],m=d.getSnapshot;d=d.value;try{if(!En(m(),d))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 Mr(e,t){for(t&=~Wl,t&=~Yo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-St(t),c=1<<i;e[i]=-1,t&=~c}}function zd(e){if((Ge&6)!==0)throw Error(s(327));Ks();var t=Ss(e,0);if((t&1)===0)return Jt(e,He()),null;var i=na(e,t);if(e.tag!==0&&i===2){var c=Xr(e);c!==0&&(t=c,i=Kl(e,c))}if(i===1)throw i=Bi,us(e,0),Mr(e,t),Jt(e,He()),i;if(i===6)throw Error(s(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ds(e,Kt,lr),Jt(e,He()),null}function Ql(e,t){var i=Ge;Ge|=1;try{return e(t)}finally{Ge=i,Ge===0&&(Hs=He()+500,$o&&Cr())}}function cs(e){Ar!==null&&Ar.tag===0&&(Ge&6)===0&&Ks();var t=Ge;Ge|=1;var i=hn.transition,c=Ke;try{if(hn.transition=null,Ke=1,e)return e()}finally{Ke=c,hn.transition=i,Ge=t,(Ge&6)===0&&Cr()}}function Yl(){an=Gs.current,rt(Gs)}function us(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,wh(i)),pt!==null)for(i=pt.return;i!==null;){var c=i;switch(il(c),c.tag){case 1:c=c.type.childContextTypes,c!=null&&Co();break;case 3:Bs(),rt(Vt),rt(Lt),wl();break;case 5:gl(c);break;case 4:Bs();break;case 13:rt(it);break;case 19:rt(it);break;case 10:dl(c.type._context);break;case 22:case 23:Yl()}i=i.return}if(kt=e,pt=e=Lr(e.current,null),Et=an=t,gt=0,Bi=null,Wl=Yo=ls=0,Kt=Wi=null,is!==null){for(t=0;t<is.length;t++)if(i=is[t],c=i.interleaved,c!==null){i.interleaved=null;var d=c.next,m=i.pending;if(m!==null){var w=m.next;m.next=d,c.next=w}i.pending=c}is=null}return e}function Ud(e,t){do{var i=pt;try{if(ul(),Do.current=Wo,zo){for(var c=ot.memoizedState;c!==null;){var d=c.queue;d!==null&&(d.pending=null),c=c.next}zo=!1}if(as=0,_t=mt=ot=null,Pi=!1,Oi=0,Bl.current=null,i===null||i.return===null){gt=1,Bi=t,pt=null;break}e:{var m=e,w=i.return,S=i,$=t;if(t=Et,S.flags|=32768,$!==null&&typeof $=="object"&&typeof $.then=="function"){var F=$,Z=S,ne=Z.tag;if((Z.mode&1)===0&&(ne===0||ne===11||ne===15)){var Y=Z.alternate;Y?(Z.updateQueue=Y.updateQueue,Z.memoizedState=Y.memoizedState,Z.lanes=Y.lanes):(Z.updateQueue=null,Z.memoizedState=null)}var me=fd(w);if(me!==null){me.flags&=-257,pd(me,w,S,m,t),me.mode&1&&dd(m,F,t),t=me,$=F;var _e=t.updateQueue;if(_e===null){var ke=new Set;ke.add($),t.updateQueue=ke}else _e.add($);break e}else{if((t&1)===0){dd(m,F,t),Xl();break e}$=Error(s(426))}}else if(st&&S.mode&1){var dt=fd(w);if(dt!==null){(dt.flags&65536)===0&&(dt.flags|=256),pd(dt,w,S,m,t),ll(Ws($,S));break e}}m=$=Ws($,S),gt!==4&&(gt=2),Wi===null?Wi=[m]:Wi.push(m),m=w;do{switch(m.tag){case 3:m.flags|=65536,t&=-t,m.lanes|=t;var L=cd(m,$,t);Pu(m,L);break e;case 1:S=$;var I=m.type,O=m.stateNode;if((m.flags&128)===0&&(typeof I.getDerivedStateFromError=="function"||O!==null&&typeof O.componentDidCatch=="function"&&(Tr===null||!Tr.has(O)))){m.flags|=65536,t&=-t,m.lanes|=t;var ie=ud(m,S,t);Pu(m,ie);break e}}m=m.return}while(m!==null)}Vd(i)}catch(xe){t=xe,pt===i&&i!==null&&(pt=i=i.return);continue}break}while(!0)}function Bd(){var e=Qo.current;return Qo.current=Wo,e===null?Wo:e}function Xl(){(gt===0||gt===3||gt===2)&&(gt=4),kt===null||(ls&268435455)===0&&(Yo&268435455)===0||Mr(kt,Et)}function na(e,t){var i=Ge;Ge|=2;var c=Bd();(kt!==e||Et!==t)&&(lr=null,us(e,t));do try{Wh();break}catch(d){Ud(e,d)}while(!0);if(ul(),Ge=i,Qo.current=c,pt!==null)throw Error(s(261));return kt=null,Et=0,gt}function Wh(){for(;pt!==null;)Wd(pt)}function Vh(){for(;pt!==null&&!gr();)Wd(pt)}function Wd(e){var t=Kd(e.alternate,e,an);e.memoizedProps=e.pendingProps,t===null?Vd(e):pt=t,Bl.current=null}function Vd(e){var t=e;do{var i=t.alternate;if(e=t.return,(t.flags&32768)===0){if(i=Ph(i,t,an),i!==null){pt=i;return}}else{if(i=Oh(i,t),i!==null){i.flags&=32767,pt=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{gt=6,pt=null;return}}if(t=t.sibling,t!==null){pt=t;return}pt=t=e}while(t!==null);gt===0&&(gt=5)}function ds(e,t,i){var c=Ke,d=hn.transition;try{hn.transition=null,Ke=1,Gh(e,t,i,c)}finally{hn.transition=d,Ke=c}return null}function Gh(e,t,i,c){do Ks();while(Ar!==null);if((Ge&6)!==0)throw Error(s(327));i=e.finishedWork;var d=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0;var m=i.lanes|i.childLanes;if(qr(e,m),e===kt&&(pt=kt=null,Et=0),(i.subtreeFlags&2064)===0&&(i.flags&2064)===0||Zo||(Zo=!0,Jd(_n,function(){return Ks(),null})),m=(i.flags&15990)!==0,(i.subtreeFlags&15990)!==0||m){m=hn.transition,hn.transition=null;var w=Ke;Ke=1;var S=Ge;Ge|=4,Bl.current=null,Dh(e,i),Md(i,e),dh(Xa),jn=!!Ya,Xa=Ya=null,e.current=i,zh(i),oo(),Ge=S,Ke=w,hn.transition=m}else e.current=i;if(Zo&&(Zo=!1,Ar=e,qo=d),m=e.pendingLanes,m===0&&(Tr=null),di(i.stateNode),Jt(e,He()),t!==null)for(c=e.onRecoverableError,i=0;i<t.length;i++)d=t[i],c(d.value,{componentStack:d.stack,digest:d.digest});if(Xo)throw Xo=!1,e=Gl,Gl=null,e;return(qo&1)!==0&&e.tag!==0&&Ks(),m=e.pendingLanes,(m&1)!==0?e===Hl?Vi++:(Vi=0,Hl=e):Vi=0,Cr(),null}function Ks(){if(Ar!==null){var e=fo(qo),t=hn.transition,i=Ke;try{if(hn.transition=null,Ke=16>e?16:e,Ar===null)var c=!1;else{if(e=Ar,Ar=null,qo=0,(Ge&6)!==0)throw Error(s(331));var d=Ge;for(Ge|=4,ve=e.current;ve!==null;){var m=ve,w=m.child;if((ve.flags&16)!==0){var S=m.deletions;if(S!==null){for(var $=0;$<S.length;$++){var F=S[$];for(ve=F;ve!==null;){var Z=ve;switch(Z.tag){case 0:case 11:case 15:Ui(8,Z,m)}var ne=Z.child;if(ne!==null)ne.return=Z,ve=ne;else for(;ve!==null;){Z=ve;var Y=Z.sibling,me=Z.return;if($d(Z),Z===F){ve=null;break}if(Y!==null){Y.return=me,ve=Y;break}ve=me}}}var _e=m.alternate;if(_e!==null){var ke=_e.child;if(ke!==null){_e.child=null;do{var dt=ke.sibling;ke.sibling=null,ke=dt}while(ke!==null)}}ve=m}}if((m.subtreeFlags&2064)!==0&&w!==null)w.return=m,ve=w;else e:for(;ve!==null;){if(m=ve,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:Ui(9,m,m.return)}var L=m.sibling;if(L!==null){L.return=m.return,ve=L;break e}ve=m.return}}var I=e.current;for(ve=I;ve!==null;){w=ve;var O=w.child;if((w.subtreeFlags&2064)!==0&&O!==null)O.return=w,ve=O;else e:for(w=I;ve!==null;){if(S=ve,(S.flags&2048)!==0)try{switch(S.tag){case 0:case 11:case 15:Jo(9,S)}}catch(xe){lt(S,S.return,xe)}if(S===w){ve=null;break e}var ie=S.sibling;if(ie!==null){ie.return=S.return,ve=ie;break e}ve=S.return}}if(Ge=d,Cr(),nn&&typeof nn.onPostCommitFiberRoot=="function")try{nn.onPostCommitFiberRoot(It,e)}catch{}c=!0}return c}finally{Ke=i,hn.transition=t}}return!1}function Gd(e,t,i){t=Ws(i,t),t=cd(e,t,1),e=$r(e,t,1),t=Ut(),e!==null&&(Zr(e,1,t),Jt(e,t))}function lt(e,t,i){if(e.tag===3)Gd(e,e,i);else for(;t!==null;){if(t.tag===3){Gd(t,e,i);break}else if(t.tag===1){var c=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Tr===null||!Tr.has(c))){e=Ws(i,e),e=ud(t,e,1),t=$r(t,e,1),e=Ut(),t!==null&&(Zr(t,1,e),Jt(t,e));break}}t=t.return}}function Hh(e,t,i){var c=e.pingCache;c!==null&&c.delete(t),t=Ut(),e.pingedLanes|=e.suspendedLanes&i,kt===e&&(Et&i)===i&&(gt===4||gt===3&&(Et&130023424)===Et&&500>He()-Vl?us(e,0):Wl|=i),Jt(e,t)}function Hd(e,t){t===0&&((e.mode&1)===0?t=1:(t=qn,qn<<=1,(qn&130023424)===0&&(qn=4194304)));var i=Ut();e=ir(e,t),e!==null&&(Zr(e,t,i),Jt(e,i))}function Kh(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Hd(e,i)}function Jh(e,t){var i=0;switch(e.tag){case 13:var c=e.stateNode,d=e.memoizedState;d!==null&&(i=d.retryLane);break;case 19:c=e.stateNode;break;default:throw Error(s(314))}c!==null&&c.delete(t),Hd(e,i)}var Kd;Kd=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||Vt.current)Ht=!0;else{if((e.lanes&i)===0&&(t.flags&128)===0)return Ht=!1,Lh(e,t,i);Ht=(e.flags&131072)!==0}else Ht=!1,st&&(t.flags&1048576)!==0&&Nu(t,To,t.index);switch(t.lanes=0,t.tag){case 2:var c=t.type;Ho(e,t),e=t.pendingProps;var d=Ls(t,Lt.current);Us(t,i),d=kl(null,t,c,e,d,i);var m=xl();return t.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Gt(c)?(m=!0,Eo(t)):m=!1,t.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,hl(t),d.updater=Vo,t.stateNode=d,d._reactInternals=t,El(t,c,e,i),t=Al(null,t,c,!0,m,i)):(t.tag=0,st&&m&&sl(t),zt(null,t,d,i),t=t.child),t;case 16:c=t.elementType;e:{switch(Ho(e,t),e=t.pendingProps,d=c._init,c=d(c._payload),t.type=c,d=t.tag=Yh(c),e=Rn(c,e),d){case 0:t=Tl(null,t,c,e,i);break e;case 1:t=vd(null,t,c,e,i);break e;case 11:t=hd(null,t,c,e,i);break e;case 14:t=md(null,t,c,Rn(c.type,e),i);break e}throw Error(s(306,c,""))}return t;case 0:return c=t.type,d=t.pendingProps,d=t.elementType===c?d:Rn(c,d),Tl(e,t,c,d,i);case 1:return c=t.type,d=t.pendingProps,d=t.elementType===c?d:Rn(c,d),vd(e,t,c,d,i);case 3:e:{if(_d(t),e===null)throw Error(s(387));c=t.pendingProps,m=t.memoizedState,d=m.element,Lu(e,t),Oo(t,c,null,i);var w=t.memoizedState;if(c=w.element,m.isDehydrated)if(m={element:c,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},t.updateQueue.baseState=m,t.memoizedState=m,t.flags&256){d=Ws(Error(s(423)),t),t=kd(e,t,c,i,d);break e}else if(c!==d){d=Ws(Error(s(424)),t),t=kd(e,t,c,i,d);break e}else for(on=Sr(t.stateNode.containerInfo.firstChild),sn=t,st=!0,$n=null,i=Iu(t,null,c,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Fs(),c===d){t=ar(e,t,i);break e}zt(e,t,c,i)}t=t.child}return t;case 5:return Fu(t),e===null&&al(t),c=t.type,d=t.pendingProps,m=e!==null?e.memoizedProps:null,w=d.children,Za(c,d)?w=null:m!==null&&Za(c,m)&&(t.flags|=32),wd(e,t),zt(e,t,w,i),t.child;case 6:return e===null&&al(t),null;case 13:return xd(e,t,i);case 4:return ml(t,t.stateNode.containerInfo),c=t.pendingProps,e===null?t.child=Ds(t,null,c,i):zt(e,t,c,i),t.child;case 11:return c=t.type,d=t.pendingProps,d=t.elementType===c?d:Rn(c,d),hd(e,t,c,d,i);case 7:return zt(e,t,t.pendingProps,i),t.child;case 8:return zt(e,t,t.pendingProps.children,i),t.child;case 12:return zt(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(c=t.type._context,d=t.pendingProps,m=t.memoizedProps,w=d.value,et(Mo,c._currentValue),c._currentValue=w,m!==null)if(En(m.value,w)){if(m.children===d.children&&!Vt.current){t=ar(e,t,i);break e}}else for(m=t.child,m!==null&&(m.return=t);m!==null;){var S=m.dependencies;if(S!==null){w=m.child;for(var $=S.firstContext;$!==null;){if($.context===c){if(m.tag===1){$=or(-1,i&-i),$.tag=2;var F=m.updateQueue;if(F!==null){F=F.shared;var Z=F.pending;Z===null?$.next=$:($.next=Z.next,Z.next=$),F.pending=$}}m.lanes|=i,$=m.alternate,$!==null&&($.lanes|=i),fl(m.return,i,t),S.lanes|=i;break}$=$.next}}else if(m.tag===10)w=m.type===t.type?null:m.child;else if(m.tag===18){if(w=m.return,w===null)throw Error(s(341));w.lanes|=i,S=w.alternate,S!==null&&(S.lanes|=i),fl(w,i,t),w=m.sibling}else w=m.child;if(w!==null)w.return=m;else for(w=m;w!==null;){if(w===t){w=null;break}if(m=w.sibling,m!==null){m.return=w.return,w=m;break}w=w.return}m=w}zt(e,t,d.children,i),t=t.child}return t;case 9:return d=t.type,c=t.pendingProps.children,Us(t,i),d=fn(d),c=c(d),t.flags|=1,zt(e,t,c,i),t.child;case 14:return c=t.type,d=Rn(c,t.pendingProps),d=Rn(c.type,d),md(e,t,c,d,i);case 15:return gd(e,t,t.type,t.pendingProps,i);case 17:return c=t.type,d=t.pendingProps,d=t.elementType===c?d:Rn(c,d),Ho(e,t),t.tag=1,Gt(c)?(e=!0,Eo(t)):e=!1,Us(t,i),ad(t,c,d),El(t,c,d,i),Al(null,t,c,!0,e,i);case 19:return Sd(e,t,i);case 22:return yd(e,t,i)}throw Error(s(156,t.tag))};function Jd(e,t){return Ln(e,t)}function Qh(e,t,i,c){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=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mn(e,t,i,c){return new Qh(e,t,i,c)}function Zl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Yh(e){if(typeof e=="function")return Zl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===W)return 11;if(e===ee)return 14}return 2}function Lr(e,t){var i=e.alternate;return i===null?(i=mn(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 ra(e,t,i,c,d,m){var w=2;if(c=e,typeof e=="function")Zl(e)&&(w=1);else if(typeof e=="string")w=5;else e:switch(e){case D:return fs(i.children,d,m,t);case U:w=8,d|=8;break;case ge:return e=mn(12,i,t,d|2),e.elementType=ge,e.lanes=m,e;case K:return e=mn(13,i,t,d),e.elementType=K,e.lanes=m,e;case q:return e=mn(19,i,t,d),e.elementType=q,e.lanes=m,e;case pe:return sa(i,d,m,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ce:w=10;break e;case Q:w=9;break e;case W:w=11;break e;case ee:w=14;break e;case le:w=16,c=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=mn(w,i,t,d),t.elementType=e,t.type=c,t.lanes=m,t}function fs(e,t,i,c){return e=mn(7,e,c,t),e.lanes=i,e}function sa(e,t,i,c){return e=mn(22,e,c,t),e.elementType=pe,e.lanes=i,e.stateNode={isHidden:!1},e}function ql(e,t,i){return e=mn(6,e,null,t),e.lanes=i,e}function ec(e,t,i){return t=mn(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xh(e,t,i,c,d){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=pi(0),this.expirationTimes=pi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=pi(0),this.identifierPrefix=c,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function tc(e,t,i,c,d,m,w,S,$){return e=new Xh(e,t,i,S,$),t===1?(t=1,m===!0&&(t|=8)):t=0,m=mn(3,null,null,t),e.current=m,m.stateNode=e,m.memoizedState={element:c,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},hl(m),e}function Zh(e,t,i){var c=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:H,key:c==null?null:""+c,children:e,containerInfo:t,implementation:i}}function Qd(e){if(!e)return Nr;e=e._reactInternals;e:{if(Pe(e)!==e||e.tag!==1)throw Error(s(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Gt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(s(171))}if(e.tag===1){var i=e.type;if(Gt(i))return bu(e,i,t)}return t}function Yd(e,t,i,c,d,m,w,S,$){return e=tc(i,c,!0,e,d,m,w,S,$),e.context=Qd(null),i=e.current,c=Ut(),d=Ir(i),m=or(c,d),m.callback=t??null,$r(i,m,d),e.current.lanes=d,Zr(e,d,c),Jt(e,c),e}function ia(e,t,i,c){var d=t.current,m=Ut(),w=Ir(d);return i=Qd(i),t.context===null?t.context=i:t.pendingContext=i,t=or(m,w),t.payload={element:e},c=c===void 0?null:c,c!==null&&(t.callback=c),e=$r(d,t,w),e!==null&&(In(e,d,w,m),Po(e,d,w)),w}function oa(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 Xd(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function nc(e,t){Xd(e,t),(e=e.alternate)&&Xd(e,t)}function qh(){return null}var Zd=typeof reportError=="function"?reportError:function(e){console.error(e)};function rc(e){this._internalRoot=e}aa.prototype.render=rc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));ia(e,t,null,null)},aa.prototype.unmount=rc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;cs(function(){ia(null,e,null,null)}),t[tr]=null}};function aa(e){this._internalRoot=e}aa.prototype.unstable_scheduleHydration=function(e){if(e){var t=gi();e={blockedOn:null,target:e,priority:t};for(var i=0;i<Sn.length&&t!==0&&t<Sn[i].priority;i++);Sn.splice(i,0,e),i===0&&vi(e)}};function sc(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function la(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function qd(){}function em(e,t,i,c,d){if(d){if(typeof c=="function"){var m=c;c=function(){var F=oa(w);m.call(F)}}var w=Yd(t,c,e,0,null,!1,!1,"",qd);return e._reactRootContainer=w,e[tr]=w.current,Ei(e.nodeType===8?e.parentNode:e),cs(),w}for(;d=e.lastChild;)e.removeChild(d);if(typeof c=="function"){var S=c;c=function(){var F=oa($);S.call(F)}}var $=tc(e,0,!1,null,null,!1,!1,"",qd);return e._reactRootContainer=$,e[tr]=$.current,Ei(e.nodeType===8?e.parentNode:e),cs(function(){ia(t,$,i,c)}),$}function ca(e,t,i,c,d){var m=i._reactRootContainer;if(m){var w=m;if(typeof d=="function"){var S=d;d=function(){var $=oa(w);S.call($)}}ia(t,w,e,d)}else w=em(i,t,e,d,c);return oa(w)}hi=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=Pn(t.pendingLanes);i!==0&&(er(t,i|1),Jt(t,He()),(Ge&6)===0&&(Hs=He()+500,Cr()))}break;case 13:cs(function(){var c=ir(e,1);if(c!==null){var d=Ut();In(c,e,1,d)}}),nc(e,1)}},js=function(e){if(e.tag===13){var t=ir(e,134217728);if(t!==null){var i=Ut();In(t,e,134217728,i)}nc(e,134217728)}},mi=function(e){if(e.tag===13){var t=Ir(e),i=ir(e,t);if(i!==null){var c=Ut();In(i,e,t,c)}nc(e,t)}},gi=function(){return Ke},yi=function(e,t){var i=Ke;try{return Ke=e,t()}finally{Ke=i}},Vr=function(e,t,i){switch(t){case"input":if(Me(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 c=i[t];if(c!==e&&c.form===e.form){var d=No(c);if(!d)throw Error(s(90));X(c),Me(c,d)}}}break;case"textarea":We(e,i);break;case"select":t=i.value,t!=null&&fe(e,!!i.multiple,t,!1)}},vn=Ql,ks=cs;var tm={usingClientEntryPoint:!1,Events:[Ti,Is,No,io,Mn,Ql]},Gi={findFiberByHostInstance:ts,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nm={bundleType:Gi.bundleType,version:Gi.version,rendererPackageName:Gi.rendererPackageName,rendererConfig:Gi.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Kr(e),e===null?null:e.stateNode},findFiberByHostInstance:Gi.findFiberByHostInstance||qh,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 ua=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ua.isDisabled&&ua.supportsFiber)try{It=ua.inject(nm),nn=ua}catch{}}return Qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tm,Qt.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!sc(t))throw Error(s(200));return Zh(e,t,null,i)},Qt.createRoot=function(e,t){if(!sc(e))throw Error(s(299));var i=!1,c="",d=Zd;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(c=t.identifierPrefix),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=tc(e,1,!1,null,null,i,!1,c,d),e[tr]=t.current,Ei(e.nodeType===8?e.parentNode:e),new rc(t)},Qt.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(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=Kr(t),e=e===null?null:e.stateNode,e},Qt.flushSync=function(e){return cs(e)},Qt.hydrate=function(e,t,i){if(!la(t))throw Error(s(200));return ca(null,e,t,!0,i)},Qt.hydrateRoot=function(e,t,i){if(!sc(e))throw Error(s(405));var c=i!=null&&i.hydratedSources||null,d=!1,m="",w=Zd;if(i!=null&&(i.unstable_strictMode===!0&&(d=!0),i.identifierPrefix!==void 0&&(m=i.identifierPrefix),i.onRecoverableError!==void 0&&(w=i.onRecoverableError)),t=Yd(t,null,e,1,i??null,d,!1,m,w),e[tr]=t.current,Ei(e),c)for(e=0;e<c.length;e++)i=c[e],d=i._getVersion,d=d(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,d]:t.mutableSourceEagerHydrationData.push(i,d);return new aa(t)},Qt.render=function(e,t,i){if(!la(t))throw Error(s(200));return ca(null,e,t,!1,i)},Qt.unmountComponentAtNode=function(e){if(!la(e))throw Error(s(40));return e._reactRootContainer?(cs(function(){ca(null,null,e,!1,function(){e._reactRootContainer=null,e[tr]=null})}),!0):!1},Qt.unstable_batchedUpdates=Ql,Qt.unstable_renderSubtreeIntoContainer=function(e,t,i,c){if(!la(i))throw Error(s(200));if(e==null||e._reactInternals===void 0)throw Error(s(38));return ca(e,t,i,!1,c)},Qt.version="18.3.1-next-f1338f8080-20240426",Qt}var lf;function Hf(){if(lf)return ac.exports;lf=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),ac.exports=dm(),ac.exports}var cf;function fm(){if(cf)return da;cf=1;var n=Hf();return da.createRoot=n.createRoot,da.hydrateRoot=n.hydrateRoot,da}var pm=fm();const hm=Gf(pm),Kf=[{id:"dark",label:"Dark (Abstract)",group:"dark",swatches:["#1a1a2e","#16213e","#0f3460","#e94560","#60a5fa","#27ae60"]},{id:"observer-night",label:"Observer Night",group:"dark",swatches:["#0b0f14","#10161e","#161e28","#e8a54a","#6ea8d8","#7bc98c"]},{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"]}];Kf.map(n=>({id:n.id,label:n.label}));function mm(n){return`theme-${String(n||"").trim()||"dark"}`}function uf(n){try{const r=document.documentElement,s=Array.from(r.classList).filter(o=>o.startsWith("theme-"));for(const o of s)r.classList.remove(o);r.classList.add(mm(n))}catch{}}const bc=[{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}],Sc=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function gm(n){const r=String(n).trim();return bc.find(s=>s.id===r)||bc[1]}function ym(n){const r=String(n).trim();return Sc.find(s=>s.id===r)||Sc[1]}function df(n){try{const r=document.documentElement,s=gm(n.font_scale||"md"),o=ym(n.header_density||"standard");r.style.setProperty("--font-scale",String(s.scale)),r.style.setProperty("--header-density",String(o.density))}catch{}}var Jf=Hf();function Js(...n){return n.filter(Boolean).join(" ")}function Ur({value:n,options:r,placeholder:s="Select…",disabled:o=!1,loading:l=!1,searchable:u=!0,searchPlaceholder:f="Search…",allowCustom:h=!1,clearable:p=!1,minPopoverWidth:g=240,variant:y="panel",className:_,triggerClassName:k,ariaLabel:x,id:C,includeValueOption:j=!1,onOpen:E,customOptionLabel:R,validateCustomValue:A,onChange:T,renderOption:b,renderValue:P}){const H=v.useRef(null),D=v.useRef(null),U=v.useRef(null),ge=v.useRef(E),ce=v.useId(),Q=C||`af-select-${ce.replace(/[^a-zA-Z0-9_-]/g,"")}`,W=`${Q}-listbox`,[K,q]=v.useState(!1),[ee,le]=v.useState(""),[pe,J]=v.useState(0),[re,G]=v.useState("bottom"),[N,B]=v.useState({left:0,top:0,width:0});v.useEffect(()=>{ge.current=E},[E]);const z=v.useMemo(()=>{if(!j)return r;const V=String(n??"").trim();return!V||r.some(fe=>fe.value===V)?r:[...r,{value:V,label:V}]},[j,r,n]),oe=v.useMemo(()=>{const V=String(n??"");return z.find(fe=>fe.value===V)||null},[z,n]),de=v.useMemo(()=>(oe==null?void 0:oe.label)||String(n||"").trim()||"",[oe,n]),ye=v.useMemo(()=>{const V=ee.trim().toLowerCase();return V?z.filter(fe=>fe.label.toLowerCase().includes(V)||fe.value.toLowerCase().includes(V)):z},[z,ee]),be=v.useMemo(()=>{if(!h)return null;const V=ee.trim();if(!V||z.some(Ve=>Ve.value===V))return null;const Le=(A==null?void 0:A(V,{options:z}))||"";return{value:V,label:R?R(V):`Use "${V}"`,disabled:!!Le,reason:Le}},[h,R,z,ee,A]),ae=v.useMemo(()=>{const V=be?[be,...ye]:ye;if(V.length>0)return V;const fe=String(n??"").trim();return l&&fe?[{value:fe,label:de||fe}]:V},[be,ye,l,de,n]),Ce=v.useCallback(()=>{const V=H.current;if(!V)return;const fe=V.getBoundingClientRect(),Le=Math.max(fe.width,g),Ve=Math.max(8,Math.min(fe.left,window.innerWidth-Le-8)),We=window.innerHeight-fe.bottom,Gn=fe.top,At=We>=220||We>=Gn?"bottom":"top";G(At);const yn=At==="bottom"?fe.bottom+6:fe.top-6;B({left:Ve,top:yn,width:Le})},[g]),Be=v.useCallback(()=>{q(!1),le("")},[]);v.useEffect(()=>{var V;K&&((V=ge.current)==null||V.call(ge))},[K]),v.useEffect(()=>{if(!K)return;Ce();const V=()=>Ce();return window.addEventListener("resize",V),window.addEventListener("scroll",V,!0),()=>{window.removeEventListener("resize",V),window.removeEventListener("scroll",V,!0)}},[K,Ce]),v.useEffect(()=>{if(!K)return;const V=fe=>{var Ve,We;const Le=fe.target;Le&&((Ve=H.current)!=null&&Ve.contains(Le)||(We=D.current)!=null&&We.contains(Le)||Be())};return document.addEventListener("mousedown",V,!0),()=>document.removeEventListener("mousedown",V,!0)},[K,Be]),v.useEffect(()=>{if(!K)return;const V=Math.max(0,ae.findIndex(fe=>fe.value===n));J(V===-1?0:V),u&&setTimeout(()=>{var fe;return(fe=U.current)==null?void 0:fe.focus()},0)},[K,u,n,ae]);const at=V=>{var Le;const fe=ae.find(Ve=>Ve.value===V);fe!=null&&fe.disabled||(T(V),Be(),(Le=H.current)==null||Le.focus())},X=V=>{var fe,Le;if(V.key==="Escape")return V.preventDefault(),Be(),(fe=H.current)==null||fe.focus(),!0;if(V.key==="Tab")return Be(),(Le=H.current)==null||Le.focus(),!1;if(V.key==="ArrowDown")return V.preventDefault(),J(Ve=>Math.min(Ve+1,Math.max(0,ae.length-1))),!0;if(V.key==="ArrowUp")return V.preventDefault(),J(Ve=>Math.max(Ve-1,0)),!0;if(V.key==="Home")return V.preventDefault(),J(0),!0;if(V.key==="End")return V.preventDefault(),J(Math.max(0,ae.length-1)),!0;if(V.key==="Enter"){V.preventDefault();const Ve=ae[pe];return Ve&&at(Ve.value),!0}return!1},te=V=>{if(!o){if(K){if(X(V))return;if(V.key===" "&&!u){V.preventDefault();const fe=ae[pe];fe&&at(fe.value)}return}(V.key==="Enter"||V.key===" "||V.key==="ArrowDown"||V.key==="ArrowUp")&&(V.preventDefault(),q(!0))}},he=!!String(n||"").trim(),Fe=he?de:s,we=be!=null&&be.disabled?be.reason||"Unavailable":"",Me=K&&ae.length>0?`${Q}-opt-${pe}`:void 0,ze=a.jsx("span",{className:Js("af-select-value",!he&&"af-select-value--placeholder"),children:l&&!he?"Loading…":Fe}),tt=P?P(oe,String(n||"")):ze;return a.jsxs("span",{className:Js("af-select",y==="pin"?"af-select--pin":"af-select--panel",_),children:[a.jsxs("button",{ref:H,id:Q,type:"button",className:Js("af-select-trigger",p&&he&&"af-select-trigger--clearable",k),disabled:o,onMouseDown:V=>V.stopPropagation(),onClick:V=>{V.stopPropagation(),!o&&q(fe=>!fe)},onKeyDown:te,role:u?void 0:"combobox","aria-haspopup":"listbox","aria-expanded":K,"aria-controls":K?W:void 0,"aria-activedescendant":u?void 0:Me,"aria-label":x,children:[tt,a.jsx("span",{className:Js("af-select-caret",K&&"af-select-caret--open"),children:"▾"})]}),p&&he?a.jsx("button",{type:"button",className:"af-select-clear-btn","aria-label":"Clear selection",disabled:o,onMouseDown:V=>{V.preventDefault(),V.stopPropagation()},onClick:V=>{var fe;V.preventDefault(),V.stopPropagation(),T(""),Be(),(fe=H.current)==null||fe.focus()},title:"Clear",children:"×"}):null,K?Jf.createPortal(a.jsxs("div",{ref:D,className:Js("af-select-popover",re==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${N.left}px`,top:`${N.top}px`,width:`${N.width}px`},onMouseDown:V=>V.stopPropagation(),onClick:V=>V.stopPropagation(),onWheel:V=>V.stopPropagation(),onKeyDown:X,tabIndex:-1,children:[u?a.jsxs("div",{className:"af-select-search",children:[a.jsx("input",{ref:U,className:"af-select-search-input",value:ee,onChange:V=>le(V.target.value),placeholder:f,onKeyDown:X,role:"combobox","aria-expanded":!0,"aria-controls":W,"aria-activedescendant":Me,"aria-invalid":!!we,"aria-describedby":we?`${Q}-custom-error`:void 0}),we?a.jsx("div",{id:`${Q}-custom-error`,className:"af-select-custom-error",role:"alert",children:we}):null]}):null,a.jsx("div",{className:"af-select-options",role:"listbox",id:W,"aria-label":x,children:l&&ae.length===0?a.jsx("div",{className:"af-select-empty",children:"Loading…"}):ae.length===0?a.jsx("div",{className:"af-select-empty",children:"No results"}):ae.map((V,fe)=>{var yn;const Le=V.value===n,Ve=fe===pe,We=String(V.group||"").trim(),Gn=fe>0?String(((yn=ae[fe-1])==null?void 0:yn.group)||"").trim():"",At=!!We&&We!==Gn;return a.jsxs(wt.Fragment,{children:[At?a.jsx("div",{className:"af-select-group",role:"presentation",children:We}):null,a.jsx("div",{id:`${Q}-opt-${fe}`,role:"option","aria-selected":Le,className:Js("af-select-option",Le&&"af-select-option--selected",Ve&&"af-select-option--highlighted",V.disabled&&"af-select-option--disabled"),title:V.disabled?V.reason||"Unavailable":void 0,onMouseEnter:()=>J(fe),onMouseDown:Hn=>{Hn.preventDefault(),Hn.stopPropagation()},onClick:()=>at(V.value),"aria-disabled":V.disabled?!0:void 0,children:b?b(V,{selected:Le,highlighted:Ve}):a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"af-select-option-label",children:[a.jsx("span",{children:V.label}),V.reason?a.jsx("small",{className:"af-select-option-reason",children:V.reason}):null]}),Le?a.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},V.value)})})]}),document.body):null]})}function wm(n){const r=new Set,s=[];for(const o of n||[]){if(!o||typeof o!="object")continue;const l=String(o.name||"").trim();!l||r.has(l)||(r.add(l),s.push({name:l,display_name:typeof o.display_name=="string"?o.display_name:void 0}))}return s.sort((o,l)=>o.name.localeCompare(l.name)),s}function vm(n){const r=new Set,s=[];for(const o of n||[]){const l=String(o||"").trim();!l||r.has(l)||(r.add(l),s.push(l))}return s.sort(),s}function _m(n){const r=n.disabled===!0,s=n.layout||"stack",o=n.allowGatewayDefault!==!1,l=String(n.gatewayDefaultLabel||"(gateway default)"),u=String(n.providerLabel||"Provider"),f=String(n.modelLabel||"Model"),h=String(n.providerPlaceholder||"(select)"),p=String(n.modelPlaceholder||"(select)"),g=String(n.provider||"").trim(),y=String(n.model||"").trim(),_=wm(n.providers),k=vm(n.models),x=r||!!n.loadingProviders,C=r||!!n.loadingModels,j=[...o?[{value:"",label:l}]:[],..._.map(R=>({value:R.name,label:R.display_name?`${R.display_name} (${R.name})`:R.name}))],E=[...o?[{value:"",label:l}]:[],...k.map(R=>({value:R,label:R}))];return a.jsxs("div",{className:n.className,style:s==="row"?{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-start"}:{display:"flex",flexDirection:"column",gap:"10px"},children:[a.jsxs("div",{style:s==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[a.jsx("label",{children:u}),a.jsx(Ur,{value:g,options:j,placeholder:o?l:h,disabled:x,loading:!!n.loadingProviders,searchable:!0,allowCustom:n.allowCustomProvider===!0,clearable:o,variant:"panel",triggerClassName:n.selectClassName,ariaLabel:u,onChange:R=>n.onChange({provider:String(R||"").trim(),model:""})}),n.loadingProviders?a.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading providers…"}):null,n.providerError?a.jsx("div",{className:"mono",style:{color:"var(--error)",fontSize:"12px",marginTop:"6px"},children:n.providerError}):null]}),a.jsxs("div",{style:s==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[a.jsx("label",{children:f}),a.jsx(Ur,{value:y,options:E,placeholder:o?l:p,disabled:C,loading:!!n.loadingModels,searchable:!0,allowCustom:n.allowCustomModel===!0,clearable:o,variant:"panel",triggerClassName:n.selectClassName,ariaLabel:f,onChange:R=>n.onChange({provider:g,model:String(R||"").trim()})}),n.loadingModels?a.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading models…"}):null,n.modelError?a.jsx("div",{className:"mono",style:{color:"var(--error)",fontSize:"12px",marginTop:"6px"},children:n.modelError}):null]})]})}function Qf(n){if(n===!1||n&&typeof n=="object"&&n.mode==="off")return!1;if(!n||typeof n!="object")return;const r=n;if(!(r.mode!=="native_mtp"||!Number.isInteger(r.num_draft_tokens)||Number(r.num_draft_tokens)<1))return{mode:"native_mtp",num_draft_tokens:Number(r.num_draft_tokens),require_acceleration:!0}}function km(n){var s;const r=(s=n==null?void 0:n.execution)==null?void 0:s.speculation;return!r||typeof r.supported!="boolean"?null:{supported:r.supported,ready:typeof r.ready=="boolean"?r.ready:null,reason:typeof r.reason=="string"?r.reason:null,supported_depths:r.supported&&Array.isArray(r.supported_depths)?[...new Set(r.supported_depths.filter(o=>typeof o=="number"&&Number.isInteger(o)&&o>0))]:[],default:Object.prototype.hasOwnProperty.call(r,"effective_default")?r.effective_default:r.default,requires_reload:typeof r.requires_reload=="boolean"?r.requires_reload:null}}function ff(n){const r=Qf(n);return r===!1?"off":r?String(r.num_draft_tokens):""}function xm(n){if(n==="off")return!1;if(!(!/^\d+$/.test(n)||Number(n)<1))return{mode:"native_mtp",num_draft_tokens:Number(n),require_acceleration:!0}}function bm(n){const r=km(n.capabilities),s=ff(n.value),o=(r==null?void 0:r.supported_depths.map(String))||[],l=ff(r==null?void 0:r.default),u=n.inheritLabel||"Workflow / Gateway default",f=l?`${u} (${l==="off"?"Off":`depth ${l}`})`:u,h=n.error||(n.loading?"Checking MTP capability…":r?r.reason||(r.requires_reload?"Model reload required before MTP can run.":r.ready===!1?"MTP is supported but not ready on this instance.":r.ready===null&&r.supported?"MTP support verified; loaded-instance readiness is unknown.":r.supported?"":"MTP is not supported on this model/backend."):"MTP capability unknown; no depth is assumed.");return a.jsxs("div",{className:"af-pmp__speculation",children:[a.jsx("label",{children:"MTP depth"}),a.jsx(Ur,{ariaLabel:"MTP depth",value:s,placeholder:f,disabled:n.disabled||n.loading,options:[{value:"",label:f},{value:"off",label:"Off"},...o.map(p=>({value:p,label:`Depth ${p}`})),...s&&s!=="off"&&!o.includes(s)?[{value:s,label:`Depth ${s} (saved; not available)`}]:[]],onChange:p=>n.onChange(xm(p))}),h?a.jsx("div",{role:"status",className:"af-pmp__hint",children:h}):null]})}function Ic(n){var J,re;const r=n.disabled===!0,s=n.value||{provider:"",model:""},o=!String(s.provider||"").trim()&&!String(s.model||"").trim(),[l,u]=v.useState(!o),f=o&&!l,h=v.useRef(o);v.useEffect(()=>{o&&!h.current&&u(!1),h.current=o},[o]);const[p,g]=v.useState([]),[y,_]=v.useState(!1),[k,x]=v.useState(""),[C,j]=v.useState([]),[E,R]=v.useState(!1),[A,T]=v.useState(""),b=v.useRef(n);b.current=n,v.useEffect(()=>{if(f||r)return;let G=!0;return _(!0),(async()=>{try{const N=await b.current.fetchProviders();if(!G)return;g(Array.isArray(N)?N:[]),x("")}catch(N){if(!G)return;g([]),x(`#FALLBACK provider discovery failed: ${String((N==null?void 0:N.message)||N)}`)}finally{G&&_(!1)}})(),()=>{G=!1}},[f,r]);const P=String(s.provider||"").trim();v.useEffect(()=>{if(!P||r){j([]),T(""),R(!1);return}let G=!0;return j([]),R(!0),T(""),(async()=>{try{const N=await b.current.fetchModels(P);if(!G)return;j(Array.isArray(N)?N:[])}catch(N){if(!G)return;j([]),T(`#FALLBACK model discovery failed: ${String((N==null?void 0:N.message)||N)}`)}finally{G&&R(!1)}})(),()=>{G=!1}},[P,r]);const H=v.useMemo(()=>{const G=[...p];return P&&!G.some(N=>N.name===P)&&G.unshift({name:P}),G},[p,P]),D=String(s.model||"").trim(),U=v.useMemo(()=>{const G=[...C];return D&&!G.includes(D)&&G.unshift(D),G},[C,D]),ge=n.defaultModeLabel||"Gateway default",ce=n.customModeLabel||"Custom",Q=P||((J=n.effectiveDefault)==null?void 0:J.provider)||"",W=D||(P?"":(re=n.effectiveDefault)==null?void 0:re.model)||"",[K,q]=v.useState({levels:[],error:"",loading:!1}),ee=!!n.fetchModelCapabilities,[le,pe]=v.useState();return v.useEffect(()=>{let G=!0;if(pe(void 0),q({levels:[],error:"",loading:ee&&!!W}),!(!ee||!W||r))return b.current.fetchModelCapabilities(W,Q).then(N=>{var de;if(!G)return;if(N!=null&&N.error)throw new Error(String(N.error));pe(N);const B=(N==null?void 0:N.capabilities)||N||{},z=B.reasoning_levels||B.thinking_levels,oe=Array.isArray(z)?[...new Set(z.filter(ye=>typeof ye=="string"&&!!ye.trim()))]:[];!oe.length&&B.thinking_support===!0&&((de=B.thinking_control)!=null&&de.prompt_disable_token)&&oe.push("off","auto"),q({levels:oe,error:"",loading:!1})}).catch(N=>{G&&q({levels:[],error:`Reasoning options unavailable: ${String((N==null?void 0:N.message)||N)}`,loading:!1})}),()=>{G=!1}},[Q,W,ee,r]),a.jsxs("div",{className:`af-pmp${n.className?` ${n.className}`:""}`,children:[a.jsxs("div",{className:"af-pmp__seg",role:"tablist","aria-label":"Provider mode",children:[a.jsx("button",{type:"button",role:"tab","aria-selected":f,className:`af-pmp__seg-btn${f?" is-active":""}`,onClick:()=>{u(!1),n.onChange({...s,provider:"",model:"",...ee?{reasoning:""}:{}})},disabled:r,children:ge}),a.jsx("button",{type:"button",role:"tab","aria-selected":!f,className:`af-pmp__seg-btn${f?"":" is-active"}`,onClick:()=>{u(!0)},disabled:r,children:ce})]}),f?a.jsx("div",{className:"af-pmp__hint",children:n.defaultHint||"The gateway picks its configured default provider and model for this task."}):a.jsx(_m,{provider:P,model:D,providers:H,models:U,disabled:r,loadingProviders:y,loadingModels:E,providerError:k||void 0,modelError:A||void 0,providerLabel:n.providerLabel,modelLabel:n.modelLabel,allowGatewayDefault:!1,allowCustomProvider:n.allowCustom!==!1,allowCustomModel:n.allowCustom!==!1,onChange:G=>n.onChange({...s,provider:G.provider,model:G.model,...ee?{reasoning:""}:{}})}),ee&&(K.levels.length>0||s.reasoning)?a.jsxs("div",{className:"af-pmp__reasoning",children:[a.jsx("label",{children:n.reasoningLabel||"Reasoning effort"}),a.jsx(Ur,{ariaLabel:n.reasoningLabel||"Reasoning effort",placeholder:"Workflow / Gateway default",value:s.reasoning||"",options:[{value:"",label:"Workflow / Gateway default"},...K.levels.map(G=>({value:G,label:G})),...s.reasoning&&!K.levels.includes(s.reasoning)?[{value:s.reasoning,label:`${s.reasoning} (saved; not advertised)`}]:[]],disabled:r||K.loading,onChange:G=>n.onChange({...s,reasoning:G})})]}):null,K.error?a.jsx("div",{role:"status",className:"af-pmp__hint",children:K.error}):null,n.enableSpeculation?a.jsx(bm,{value:s.speculation,onChange:G=>n.onChange({...s,speculation:G}),capabilities:le,disabled:r,loading:K.loading,error:K.error?K.error.replace("Reasoning options","MTP options"):void 0}):null]})}function pf(...n){return n.filter(Boolean).join(" ")}function Sm({kicker:n="AbstractGateway connection",title:r="Connect to AbstractGateway",description:s="Sign in with the Gateway user token assigned by the Gateway admin.",statusLabel:o="Gateway token missing",statusTone:l="warn",tokenSourceLabel:u="token: missing",showGatewayUrl:f=!1,gatewayUrl:h="",gatewayUrlPlaceholder:p="http://127.0.0.1:8080",onGatewayUrlChange:g,userId:y,userPlaceholder:_="admin",onUserIdChange:k,token:x,tokenPlaceholder:C="Paste Gateway user token",showToken:j=!1,onTokenChange:E,onShowTokenChange:R,remember:A=!1,rememberLabel:T="Remember this browser",onRememberChange:b,loading:P=!1,submitting:H=!1,submitDisabled:D=!1,submitLabel:U="Sign in",submittingLabel:ge="Signing in...",closeLabel:ce="Close",signOutLabel:Q="Sign out",showClose:W=!1,showSignOut:K=!1,error:q,message:ee,className:le,onSubmit:pe,onClose:J,onSignOut:re}){const G=P||H,N=G||D||!String(y||"").trim()||!String(x||"").trim(),B=z=>{z.preventDefault(),!N&&pe()};return a.jsxs("form",{className:pf("af-gateway-signin",le),onSubmit:B,children:[a.jsxs("div",{className:"af-gateway-signin__hero",children:[a.jsxs("div",{children:[a.jsx("div",{className:"af-gateway-signin__kicker",children:n}),a.jsx("h2",{children:r}),s?a.jsx("p",{children:s}):null]}),a.jsx("div",{className:"af-gateway-signin__mark","aria-hidden":"true",children:"↔"})]}),a.jsxs("div",{className:"af-gateway-signin__status-row",children:[a.jsx("span",{className:pf("af-gateway-signin__status",`af-gateway-signin__status--${l}`),children:o}),u?a.jsx("span",{className:"af-gateway-signin__source",children:u}):null]}),a.jsxs("div",{className:"af-gateway-signin__form",children:[f?a.jsxs(a.Fragment,{children:[a.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-url",children:"Gateway URL"}),a.jsx("input",{id:"gateway-session-url",value:h,onChange:z=>g==null?void 0:g(z.target.value),placeholder:p,autoComplete:"url",disabled:G})]}):null,a.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-user",children:"Gateway user"}),a.jsx("input",{id:"gateway-session-user",value:y,onChange:z=>k(z.target.value),placeholder:_,autoComplete:"username",disabled:G}),a.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-token",children:"Gateway token"}),a.jsxs("div",{className:"af-gateway-signin__token-input",children:[a.jsx("input",{id:"gateway-session-token",type:j?"text":"password",value:x,onChange:z=>E(z.target.value),placeholder:C,autoComplete:"current-password",disabled:G}),a.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>R==null?void 0:R(!j),disabled:G,children:j?"Hide":"Show"})]}),a.jsx("label",{className:"af-gateway-signin__label",children:"Browser session"}),a.jsxs("label",{className:"af-gateway-signin__checkbox",children:[a.jsx("input",{type:"checkbox",checked:!!A,onChange:z=>b==null?void 0:b(z.target.checked),disabled:G}),T]})]}),q?a.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--error",children:q}):null,!q&&ee?a.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--ok",children:ee}):null,a.jsxs("div",{className:"af-gateway-signin__actions",children:[W?a.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:J,disabled:G,children:ce}):null,K?a.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>void(re==null?void 0:re()),disabled:G,children:Q}):null,a.jsx("button",{className:"af-gateway-signin__primary",type:"submit",disabled:N,children:H?ge:U})]})]})}function jm(n){return n==="light"?"Light":"Dark"}function Nm(n){const r=n.themes&&n.themes.length?n.themes:Kf,s=n.showSwatches!==!1,o=n.variant||"panel",l=v.useMemo(()=>{const f={};for(const h of r)f[h.id]=h;return f},[r]),u=v.useMemo(()=>r.map(f=>({value:f.id,label:f.label,group:jm(f.group)})),[r]);return a.jsx(Ur,{value:n.value,options:u,placeholder:n.placeholder||"Select theme…",disabled:n.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:o,className:n.className,triggerClassName:n.triggerClassName,onChange:f=>n.onChange(String(f||"").trim()),renderValue:(f,h)=>{const p=String(h||"").trim(),g=l[p],y=(g==null?void 0:g.label)||p||n.placeholder||"Select theme…",_=(g==null?void 0:g.swatches)||null,k=!p;return a.jsxs("span",{className:"af-theme-value",children:[a.jsx("span",{className:`af-theme-label ${k?"af-theme-label--placeholder":""}`.trim(),children:y}),s&&_?a.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:_.map((x,C)=>a.jsx("span",{className:"af-theme-swatch",style:{background:x}},`${p}:${C}`))}):null]})},renderOption:(f,h)=>{const p=String(f.value||"").trim(),g=l[p],y=(g==null?void 0:g.swatches)||null;return a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"af-theme-option-label",children:f.label}),a.jsxs("span",{className:"af-theme-option-right",children:[s&&y?a.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:y.map((_,k)=>a.jsx("span",{className:"af-theme-swatch",style:{background:_}},`${p}:${k}`))}):null,h.selected?a.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function Cm(n){const r=n.scales&&n.scales.length?n.scales:bc,s=n.variant||"panel",o=v.useMemo(()=>r.map(l=>({value:l.id,label:l.label})),[r]);return a.jsx(Ur,{value:n.value,options:o,placeholder:n.placeholder||"Font size…",disabled:n.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:s,className:n.className,triggerClassName:n.triggerClassName,onChange:l=>n.onChange(String(l||"").trim())})}function Em(n){const r=n.densities&&n.densities.length?n.densities:Sc,s=n.variant||"panel",o=v.useMemo(()=>r.map(l=>({value:l.id,label:l.label})),[r]);return a.jsx(Ur,{value:n.value,options:o,placeholder:n.placeholder||"Header size…",disabled:n.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:s,className:n.className,triggerClassName:n.triggerClassName,onChange:l=>n.onChange(String(l||"").trim())})}const $m=new Set(["board","inbox","server","agent","playCircle","list","gear"]);function Rm(n){switch(n){case"chat":return a.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 a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 5v14"}),a.jsx("path",{d:"M5 12h14"})]});case"history":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"12",cy:"12",r:"9"}),a.jsx("path",{d:"M12 7v5l3 3"})]});case"refresh":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M21 12a9 9 0 0 0-15.5-6.4L3 8"}),a.jsx("path",{d:"M3 3v5h5"}),a.jsx("path",{d:"M3 12a9 9 0 0 0 15.5 6.4L21 16"}),a.jsx("path",{d:"M21 21v-5h-5"})]});case"settings":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M4 6h16"}),a.jsx("circle",{cx:"8",cy:"6",r:"2"}),a.jsx("path",{d:"M4 12h16"}),a.jsx("circle",{cx:"16",cy:"12",r:"2"}),a.jsx("path",{d:"M4 18h16"}),a.jsx("circle",{cx:"10",cy:"18",r:"2"})]});case"user":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"12",cy:"8",r:"4"}),a.jsx("path",{d:"M4 21a8 8 0 0 1 16 0"})]});case"bot":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 2v3"}),a.jsx("rect",{x:"5",y:"6",width:"14",height:"14",rx:"3"}),a.jsx("circle",{cx:"9",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),a.jsx("circle",{cx:"15",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),a.jsx("path",{d:"M9 17h6"})]});case"paperclip":return a.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 a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3z"}),a.jsx("path",{d:"M19 11a7 7 0 0 1-14 0"}),a.jsx("path",{d:"M12 18v4"}),a.jsx("path",{d:"M8 22h8"})]});case"speaker":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),a.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),a.jsx("path",{d:"M18 6a9 9 0 0 1 0 12"})]});case"pause":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"}),a.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"})]});case"terminal":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2",ry:"2"}),a.jsx("path",{d:"M7 9l3 3-3 3"}),a.jsx("path",{d:"M12 15h5"})]});case"edit":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 20h9"}),a.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 a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),a.jsx("path",{d:"M7 10l5 5 5-5"}),a.jsx("path",{d:"M12 15V3"})]});case"loader":return a.jsx("path",{d:"M21 12a9 9 0 1 1-3.3-6.9"});case"info":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"12",cy:"12",r:"10"}),a.jsx("path",{d:"M12 16v-4"}),a.jsx("circle",{cx:"12",cy:"8",r:"0.75",fill:"currentColor",stroke:"none"})]});case"warning":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 3l10 18H2L12 3z"}),a.jsx("path",{d:"M12 9v4"}),a.jsx("circle",{cx:"12",cy:"17",r:"0.75",fill:"currentColor",stroke:"none"})]});case"error":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"12",cy:"12",r:"10"}),a.jsx("path",{d:"M15 9l-6 6"}),a.jsx("path",{d:"M9 9l6 6"})]});case"copy":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),a.jsx("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]});case"check":return a.jsx("path",{d:"M20 6L9 17l-5-5"});case"x":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M18 6L6 18"}),a.jsx("path",{d:"M6 6l12 12"})]});case"chevronDown":return a.jsx("path",{d:"M6 9l6 6 6-6"});case"chevronRight":return a.jsx("path",{d:"M9 18l6-6-6-6"});case"trash":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M3 6h18"}),a.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),a.jsx("path",{d:"M6 6l1 16h10l1-16"}),a.jsx("path",{d:"M10 11v6"}),a.jsx("path",{d:"M14 11v6"})]});case"send":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M22 2L11 13"}),a.jsx("path",{d:"M22 2L15 22l-4-9-9-4 20-7z"})]});case"thumbsUp":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M7 10v11"}),a.jsx("path",{d:"M7 10l4.5-8a2 2 0 0 1 3.6 1.5L14 8h5.2a2 2 0 0 1 2 2.4l-1.6 8a2 2 0 0 1-2 1.6H7"})]});case"thumbsDown":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M17 14V3"}),a.jsx("path",{d:"M17 14l-4.5 8a2 2 0 0 1-3.6-1.5L10 16H4.8a2 2 0 0 1-2-2.4l1.6-8a2 2 0 0 1 2-1.6H17"})]});case"thumbsUpFilled":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M7 10v11"}),a.jsx("path",{d:"M7 10l4.5-8a2 2 0 0 1 3.6 1.5L14 8h5.2a2 2 0 0 1 2 2.4l-1.6 8a2 2 0 0 1-2 1.6H7z",fill:"currentColor",stroke:"none"})]});case"thumbsDownFilled":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M17 14V3"}),a.jsx("path",{d:"M17 14l-4.5 8a2 2 0 0 1-3.6-1.5L10 16H4.8a2 2 0 0 1-2-2.4l1.6-8a2 2 0 0 1 2-1.6H17z",fill:"currentColor",stroke:"none"})]});case"board":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"1.5",y:"2",width:"3.6",height:"12",rx:"1"}),a.jsx("rect",{x:"6.2",y:"2",width:"3.6",height:"8.5",rx:"1"}),a.jsx("rect",{x:"10.9",y:"2",width:"3.6",height:"5.5",rx:"1"})]});case"inbox":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M2 9.5 L4 3.5 h8 l2 6"}),a.jsx("path",{d:"M2 9.5 v3 h12 v-3"}),a.jsx("path",{d:"M2 9.5 h3.4 l1 1.6 h3.2 l1-1.6 H14"})]});case"server":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"2",y:"2.5",width:"12",height:"4.6",rx:"1.2"}),a.jsx("rect",{x:"2",y:"8.9",width:"12",height:"4.6",rx:"1.2"}),a.jsx("circle",{cx:"4.6",cy:"4.8",r:"0.8",fill:"currentColor",stroke:"none"}),a.jsx("circle",{cx:"4.6",cy:"11.2",r:"0.8",fill:"currentColor",stroke:"none"})]});case"agent":return a.jsxs(a.Fragment,{children:[a.jsx("rect",{x:"3",y:"4.5",width:"10",height:"8",rx:"2"}),a.jsx("path",{d:"M8 4.5V2.2"}),a.jsx("circle",{cx:"8",cy:"1.8",r:"0.9",fill:"currentColor",stroke:"none"}),a.jsx("circle",{cx:"5.8",cy:"8.4",r:"0.9",fill:"currentColor",stroke:"none"}),a.jsx("circle",{cx:"10.2",cy:"8.4",r:"0.9",fill:"currentColor",stroke:"none"})]});case"playCircle":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"8",cy:"8",r:"6.2"}),a.jsx("path",{d:"M6.5 5.6 L11 8 L6.5 10.4 Z",fill:"currentColor",stroke:"none"})]});case"list":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M2.5 4h11"}),a.jsx("path",{d:"M2.5 8h11"}),a.jsx("path",{d:"M2.5 12h7"})]});case"gear":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"8",cy:"8",r:"2.2"}),a.jsx("path",{d:"M8 1.6v2"}),a.jsx("path",{d:"M8 12.4v2"}),a.jsx("path",{d:"M1.6 8h2"}),a.jsx("path",{d:"M12.4 8h2"}),a.jsx("path",{d:"M3.5 3.5l1.4 1.4"}),a.jsx("path",{d:"M11.1 11.1l1.4 1.4"}),a.jsx("path",{d:"M12.5 3.5l-1.4 1.4"}),a.jsx("path",{d:"M4.9 11.1l-1.4 1.4"})]});case"sparkle":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z"}),a.jsx("path",{d:"M18.5 15.5l.8 2.2 2.2.8-2.2.8-.8 2.2-.8-2.2-2.2-.8 2.2-.8z"})]});case"contrast":return a.jsxs(a.Fragment,{children:[a.jsx("circle",{cx:"12",cy:"12",r:"9"}),a.jsx("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"})]});case"logout":return a.jsxs(a.Fragment,{children:[a.jsx("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),a.jsx("path",{d:"M16 17l5-5-5-5"}),a.jsx("path",{d:"M21 12H9"})]});default:return null}}function ue({name:n,size:r=16,className:s,title:o,...l}){const u=o?void 0:!0,f=$m.has(n);return a.jsxs("svg",{width:r,height:r,viewBox:f?"0 0 16 16":"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:f?1.4:2,strokeLinecap:"round",strokeLinejoin:"round",className:s,"aria-hidden":u,role:o?"img":"presentation",...l,children:[o?a.jsx("title",{children:o}):null,Rm(n)]})}const Tm={autoApprove:["list_files","skim_folders","analyze_code","read_file","skim_files","search_files","open_attachment","web_search","skim_websearch","skim_url","fetch_url","list_email_accounts","list_emails","read_email","list_whatsapp_messages","read_whatsapp_message","send_email","send_whatsapp_message","send_telegram_message","send_telegram_artifact"],requireApproval:["write_file","edit_file","execute_command"]};function Am(n){const r=new Set,s=[];for(const o of n||[]){if(!o)continue;const l=String(o.name||"").trim();!l||r.has(l)||(r.add(l),s.push({name:l,description:typeof o.description=="string"?o.description:void 0,toolset:typeof o.toolset=="string"?o.toolset:void 0,when_to_use:typeof o.when_to_use=="string"?o.when_to_use:void 0,default_approval:o.default_approval==="approve"||o.default_approval==="ask"?o.default_approval:void 0}))}return s.sort((o,l)=>{const u=String(o.toolset||""),f=String(l.toolset||"");return u!==f?u.localeCompare(f):o.name.localeCompare(l.name)}),s}function Im(n,r){return n.default_approval?n.default_approval:r.requireApproval.includes(n.name)?"ask":r.autoApprove.includes(n.name)?"approve":"ask"}function Mm(n,r,s){const o=String(n||"").trim().toLowerCase();if(!o&&!r&&!s)return null;let l;return o==="approval"||o==="local_approval"||o==="local-approval"?l={label:"APPROVAL",detail:"Safe tools auto-run; mutating tools ask for approval.",tone:"safe"}:o==="passthrough"?l={label:"PASSTHROUGH",detail:"All tools require approval before execution.",tone:"warn"}:o==="delegated"||o==="delegate"||o==="job"?l={label:"DELEGATED",detail:"Tool calls wait for external executors.",tone:"info"}:o==="local"||o==="local_all"||o==="local-all"?l={label:"LOCAL",detail:"All tools run locally; client policy may still require approval.",tone:"danger"}:l={label:"UNKNOWN",detail:"#FALLBACK: gateway tool mode not reported.",tone:"warn"},r&&(l={...l,label:r}),s&&(l={...l,detail:s}),l}function Lm(n){var ge,ce;const r=n.defaults||Tm,s=n.disabled===!0,o=n.title||"Tools",l=n.subtitle||"Default is all tools. Safe/read-only tools auto-approve; mutating tools ask for approval.",u=String(n.note||"").trim(),f=v.useMemo(()=>Mm(n.toolMode,n.toolModeLabel,n.toolModeDetail),[n.toolMode,n.toolModeLabel,n.toolModeDetail]),h=v.useMemo(()=>Am(n.tools),[n.tools]),p=v.useMemo(()=>h.map(Q=>Q.name),[h]),g=v.useMemo(()=>new Set(p),[p]),[y,_]=v.useState(""),k=v.useMemo(()=>{var q;const Q=Array.isArray((q=n.value)==null?void 0:q.selected)?n.value.selected:[],W=new Set,K=[];for(const ee of Q){const le=String(ee||"").trim();!le||W.has(le)||(W.add(le),K.push(le))}return K},[(ge=n.value)==null?void 0:ge.selected]),x=v.useMemo(()=>k.filter(Q=>g.has(Q)),[k,g]),C=v.useMemo(()=>k.filter(Q=>!g.has(Q)),[k,g]),j=((ce=n.value)==null?void 0:ce.mode)==="custom"?"custom":"all",E=v.useMemo(()=>{const Q=y.trim().toLowerCase();return Q?h.filter(W=>{const K=W.name.toLowerCase(),q=(W.description||"").toLowerCase();return K.includes(Q)||q.includes(Q)}):h},[h,y]),R=j==="all"?new Set(p):new Set(x),A=Q=>{n.onChange(Q)},T=Q=>{s||A({...n.value,mode:Q,selected:k})},b=(Q,W)=>{if(s)return;const K=new Set(x);W?K.add(Q):K.delete(Q),A({...n.value,selected:[...C,...Array.from(K)],mode:"custom"})},P=(Q,W)=>{var q;if(s)return;const K={...((q=n.value)==null?void 0:q.approval)||{}};K[Q]=W,A({...n.value,approval:K})},H=()=>{s||A({...n.value,selected:[...C,...p],mode:"custom"})},D=()=>{s||A({...n.value,selected:[...C],mode:"custom"})},U=R.size;return a.jsxs("div",{className:`af-tool-policy ${n.className||""}`.trim(),children:[a.jsxs("div",{className:"af-tool-policy__header",children:[a.jsx("div",{className:"af-tool-policy__title",children:o}),a.jsx("div",{className:"af-tool-policy__subtitle",children:l}),f?a.jsxs("div",{className:`af-tool-policy__mode is-${f.tone}`,children:[a.jsx("div",{className:"af-tool-policy__mode-badge",children:"Tool mode"}),a.jsx("div",{className:"af-tool-policy__mode-value",children:f.label}),a.jsx("div",{className:"af-tool-policy__mode-detail",children:f.detail})]}):null,u?a.jsx("div",{className:"af-tool-policy__note",children:u}):null]}),a.jsxs("div",{className:"af-tool-policy__controls",children:[a.jsxs("div",{className:"af-tool-policy__segmented",role:"group","aria-label":"Tool allowlist mode",children:[a.jsx("button",{type:"button",className:`af-tool-policy__seg-btn ${j==="all"?"is-active":""}`.trim(),onClick:()=>T("all"),disabled:s,"aria-pressed":j==="all",children:"All tools"}),a.jsx("button",{type:"button",className:`af-tool-policy__seg-btn ${j==="custom"?"is-active":""}`.trim(),onClick:()=>T("custom"),disabled:s,"aria-pressed":j==="custom",children:"Custom allowlist"})]}),a.jsxs("div",{className:"af-tool-policy__count",children:[U," / ",p.length," enabled"]}),a.jsxs("div",{className:"af-tool-policy__bulk",children:[a.jsx("button",{type:"button",onClick:H,disabled:s||j!=="custom",children:"Select all"}),a.jsx("button",{type:"button",onClick:D,disabled:s||j!=="custom",children:"Select none"})]})]}),a.jsx("div",{className:"af-tool-policy__filter",children:a.jsx("input",{type:"text",placeholder:"Filter tools...","aria-label":"Filter tools",value:y,onChange:Q=>_(Q.target.value),disabled:s})}),a.jsxs("div",{className:"af-tool-policy__list",children:[E.map(Q=>{var q,ee;const W=R.has(Q.name),K=((ee=(q=n.value)==null?void 0:q.approval)==null?void 0:ee[Q.name])||Im(Q,r);return a.jsxs("div",{className:`af-tool-row ${W?"is-enabled":""}`.trim(),children:[a.jsx("label",{className:"af-tool-row__check",children:a.jsx("input",{type:"checkbox",checked:W,disabled:s||j!=="custom",onChange:le=>b(Q.name,le.target.checked),"aria-label":`Enable ${Q.name}`})}),a.jsxs("div",{className:"af-tool-row__meta",children:[a.jsxs("div",{className:"af-tool-row__title",children:[a.jsx("span",{className:"af-tool-row__name",children:Q.name}),Q.toolset?a.jsx("span",{className:"af-tool-row__badge",children:Q.toolset}):null]}),Q.description?a.jsx("div",{className:"af-tool-row__desc",children:Q.description}):null,Q.when_to_use?a.jsx("div",{className:"af-tool-row__hint",children:Q.when_to_use}):null]}),a.jsx("div",{className:"af-tool-row__approval",children:a.jsxs("select",{value:K,disabled:s||!W,onChange:le=>P(Q.name,le.target.value),"aria-label":`Approval mode for ${Q.name}`,children:[a.jsx("option",{value:"approve",children:"Approve"}),a.jsx("option",{value:"ask",children:"Ask"})]})})]},Q.name)}),E.length?null:a.jsx("div",{className:"af-tool-policy__empty",children:"No tools match the filter."})]})]})}async function jc(n="/api/connection/gateway"){const r=await fetch(n),s=await r.json().catch(()=>null);if(!r.ok){const o=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${r.status}`;throw new Error(o)}return s}async function Pm(n,r="/api/connection/gateway"){const s=await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),o=await s.json().catch(()=>null);if(!s.ok){const l=o&&typeof o=="object"&&o.detail?String(o.detail):`HTTP ${s.status}`;throw new Error(l)}return o}async function Yf(n="/api/connection/gateway"){const r=await fetch(n,{method:"DELETE"});if(!r.ok){const s=await r.json().catch(()=>({})),o=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${r.status}`;throw new Error(o)}}function uc(n){let r=String(n||"").trim();for(let s=0;s<2&&r;s+=1){try{const u=JSON.parse(r);if(typeof u=="string"&&u!==r){r=u.trim();continue}}catch{}const o=r[0],l=r[r.length-1];if(o==='"'&&l==='"'||o==="'"&&l==="'"){r=r.slice(1,-1).trim();continue}break}return r.replace(/\/+$/,"")}function Om(n){var u,f;if(!n)return{label:"Signed out",tone:"warn"};if(!n.has_session)return{label:"Signed out",tone:"warn"};const r=n.gateway||{},s=(u=r.principal)==null?void 0:u.user_id,o=(f=r.principal)==null?void 0:f.runtime_id;if(r.ok&&s)return{label:`Signed in as ${s}${o?` · runtime ${o}`:""}`,tone:"ok"};if(r.ok)return{label:"Signed in",tone:"ok"};const l=r.error||r.detail;return typeof l=="string"&&l.trim()?{label:"Session rejected — sign in again",tone:"err"}:{label:"Sign in required",tone:"err"}}function Fm(n){const r=n.connectionPath||"/api/connection/gateway",[s,o]=v.useState(!1),[l,u]=v.useState(!1),[f,h]=v.useState(null),[p,g]=v.useState(!1);v.useEffect(()=>{n.isOpen||g(!1)},[n.isOpen]);const[y,_]=v.useState(n.defaultGatewayUrl||"http://127.0.0.1:8080"),[k,x]=v.useState("admin"),[C,j]=v.useState(""),[E,R]=v.useState(!1),[A,T]=v.useState(!0),[b,P]=v.useState(""),[H,D]=v.useState(""),U=v.useMemo(()=>Om(f),[f]),ge=K=>{var q;h(K),(q=n.onStatusChange)==null||q.call(n,K)},ce=v.useRef(!1);if(v.useEffect(()=>{var q;if(!n.isOpen)return;const K=!ce.current;if(ce.current=!0,K&&n.initialStatus!==void 0&&n.initialStatus!==null){const ee=n.initialStatus;ge(ee),typeof ee.gateway_url=="string"&&ee.gateway_url.trim()&&_(uc(ee.gateway_url));const le=(q=ee.gateway)==null?void 0:q.principal;le!=null&&le.user_id&&x(le.user_id);return}o(!0),P(""),jc(r).then(ee=>{var pe;ge(ee),typeof ee.gateway_url=="string"&&ee.gateway_url.trim()&&_(uc(ee.gateway_url));const le=(pe=ee.gateway)==null?void 0:pe.principal;le!=null&&le.user_id&&x(le.user_id)}).catch(ee=>P(`Failed to load connection status: ${String((ee==null?void 0:ee.message)||ee)}`)).finally(()=>o(!1))},[n.isOpen]),v.useEffect(()=>{if(!n.isOpen)return;const K=q=>{q.key==="Escape"&&!q.defaultPrevented&&!n.blocking&&(q.preventDefault(),n.onClose())};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[n.isOpen,n.blocking,n.onClose]),!n.isOpen||p)return null;const Q=async()=>{u(!0),P(""),D("");try{const K=uc(y);_(K);const q=await Pm({gateway_url:K,gateway_user_id:k,gateway_token:C,persist:A},r);ge(q),j(""),g(!0),n.onClose()}catch(K){P(String((K==null?void 0:K.message)||K))}finally{u(!1)}},W=async()=>{u(!0),P(""),D("");try{await Yf(r),j("");const K=await jc(r).catch(()=>null);ge(K),D("Signed out. This browser no longer holds a gateway session.")}catch(K){P(String((K==null?void 0:K.message)||K))}finally{u(!1)}};return a.jsx("div",{className:"af-connect-overlay",role:"presentation",onMouseDown:K=>{!n.blocking&&K.target===K.currentTarget&&n.onClose()},children:a.jsx("div",{className:"af-connect-modal",role:"dialog","aria-modal":"true","aria-label":"Gateway connection",children:a.jsx(Sm,{kicker:`${n.appName||"AbstractFramework"} connection`,title:"Connect this browser to AbstractGateway",description:"Sign in with a Gateway user token. The app exchanges it for an HTTP-only browser session and never stores the raw token.",statusLabel:U.label,statusTone:U.tone,tokenSourceLabel:f!=null&&f.has_session?"token: browser session":"token: missing",showGatewayUrl:!0,gatewayUrl:y,onGatewayUrlChange:K=>_(K),userId:k,onUserIdChange:x,token:C,tokenPlaceholder:f!=null&&f.has_session?"(browser session already signed in)":"Paste Gateway user token",showToken:E,onTokenChange:j,onShowTokenChange:R,remember:A,rememberLabel:"Keep this browser signed in",onRememberChange:T,loading:s,submitting:l,submittingLabel:"Signing in...",showClose:!n.blocking,onClose:n.onClose,showSignOut:!n.blocking&&!!(f!=null&&f.has_session),onSignOut:W,error:b,message:H,onSubmit:Q})})})}function Dm(n){return!!(n&&n.ok===!0&&n.has_session===!0)}function zm(n){const r=n||{},s=r.connectionPath||"/api/connection/gateway",o=r.variant||"dismissable",l=v.useRef(r.onStatusChange);l.current=r.onStatusChange;const u=v.useRef(o);u.current=o;const f=v.useRef(!!r.autoOpenMidSession);f.current=!!r.autoOpenMidSession;const[h,p]=v.useState(null),[g,y]=v.useState("loading"),[_,k]=v.useState(!1),x=v.useRef(!1),C=v.useRef(!1),j=v.useRef("loading"),E=v.useRef("none"),R=v.useRef(!1),A=v.useRef(0),T=v.useCallback(q=>{var le;A.current+=1,p(q),(le=l.current)==null||le.call(l,q);const ee=Dm(q);if(ee)y("connected"),j.current="connected",x.current=!1,E.current="none",C.current||k(!1);else if(q!==null){const pe=j.current;y("disconnected"),j.current="disconnected",pe!=="disconnected"&&(E.current=R.current?"signout":pe==="connected"?"mid":"boot");const J=u.current==="blocking"||E.current!=="mid"||f.current;!x.current&&J&&k(!0)}q!==null&&(C.current=ee)},[]),b=v.useCallback(async()=>{const q=A.current;try{const ee=await jc(s);if(A.current!==q)return;T(ee)}catch{if(A.current!==q)return;T(null)}},[s,T]),[P,H]=v.useState(!1),[D,U]=v.useState(null),ge=v.useCallback(async()=>{H(!0),U(null),A.current+=1;let q=null;try{await Yf(s)}catch(ee){q=String((ee==null?void 0:ee.message)||ee||"Sign-out request failed")}R.current=!0;try{await b()}finally{R.current=!1}U(q),H(!1)},[s,b]),ce=v.useRef(!1);v.useEffect(()=>{ce.current||(ce.current=!0,b())},[b]);const Q=v.useCallback(()=>{k(!0)},[]),W=v.useCallback(()=>{const q=j.current;o==="blocking"&&q==="disconnected"||(q==="disconnected"&&(x.current=!0),k(!1))},[o]),K=v.useMemo(()=>({isOpen:_,onClose:W,blocking:o==="blocking"&&g!=="connected",appName:r.appName,connectionPath:s,defaultGatewayUrl:r.defaultGatewayUrl,initialStatus:h,onStatusChange:T}),[_,W,o,g,r.appName,s,r.defaultGatewayUrl,h,T]);return{status:h,phase:g,connected:g==="connected",modalOpen:_,signingOut:P,signOutError:D,openModal:Q,refresh:b,signOut:ge,modalProps:K}}function Nc(n){const r=n.closeOnEscape!==!1,s=v.useRef(null);return v.useEffect(()=>{if(!n.open||!r)return;const o=l=>{l.key!=="Escape"||l.defaultPrevented||(l.preventDefault(),n.onClose())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[n.open,r,n.onClose]),v.useEffect(()=>{const o=s.current;o&&(n.open?o.removeAttribute("inert"):o.setAttribute("inert",""))},[n.open]),a.jsxs("div",{ref:s,className:`af-drawer${n.open?" af-drawer--open":""}${n.className?` ${n.className}`:""}`,style:{width:n.width||420,top:n.topOffset||0,display:n.open?void 0:"none"},role:"complementary","aria-label":n.label,"aria-hidden":n.open?void 0:!0,children:[n.title!==void 0?a.jsxs("div",{className:"af-drawer__header",children:[a.jsx("div",{className:"af-drawer__title",children:n.title}),a.jsxs("div",{className:"af-drawer__header-actions",children:[n.headerActions,a.jsx("button",{type:"button",className:"af-drawer__close","aria-label":"Close panel",onClick:n.onClose,children:"×"})]})]}):null,a.jsx("div",{className:"af-drawer__body",children:n.children})]})}const Um={name:"AbstractFramework",website:"https://abstractframework.ai",author:"Laurent-Philippe Albou, PhD",years:"2023-2026",copyright:"© 2023-2026 Laurent-Philippe Albou, PhD. Released under the MIT License.",contact_email:"contact@abstractframework.ai"},Bm={abstractframework:{name:"AbstractFramework",website:"https://abstractframework.ai",repo:"https://github.com/lpalbou/AbstractFramework",docs:"https://github.com/lpalbou/AbstractFramework/tree/main/docs",issues:"https://github.com/lpalbou/AbstractFramework/issues",feedback:"https://github.com/lpalbou/AbstractFramework/issues/new?labels=feedback"},abstractgateway:{name:"AbstractGateway",website:"https://abstractframework.ai/gateway",repo:"https://github.com/lpalbou/AbstractGateway",docs:"https://www.lpalbou.info/AbstractGateway/",issues:"https://github.com/lpalbou/AbstractGateway/issues",feedback:"https://github.com/lpalbou/AbstractGateway/issues/new?labels=feedback"},abstractcode:{name:"AbstractCode",website:"https://abstractframework.ai/code",repo:"https://github.com/lpalbou/AbstractCode",docs:"https://github.com/lpalbou/AbstractCode/tree/main/docs",issues:"https://github.com/lpalbou/AbstractCode/issues",feedback:"https://github.com/lpalbou/AbstractCode/issues/new?labels=feedback"},abstractassistant:{name:"AbstractAssistant",website:"https://abstractframework.ai/assistant",repo:"https://github.com/lpalbou/AbstractAssistant",docs:"https://github.com/lpalbou/AbstractAssistant/blob/main/docs/README.md",issues:"https://github.com/lpalbou/AbstractAssistant/issues",feedback:"https://github.com/lpalbou/AbstractAssistant/issues/new?labels=feedback"},abstractflow:{name:"AbstractFlow",website:"https://abstractframework.ai/flow",repo:"https://github.com/lpalbou/AbstractFlow",docs:"https://github.com/lpalbou/AbstractFlow#readme",issues:"https://github.com/lpalbou/AbstractFlow/issues",feedback:"https://github.com/lpalbou/AbstractFlow/issues/new?labels=feedback"},abstractcontinuum:{name:"AbstractContinuum",website:"https://abstractframework.ai",repo:"https://github.com/lpalbou/AbstractContinuum",docs:"https://github.com/lpalbou/AbstractContinuum/tree/main/docs",issues:"https://github.com/lpalbou/AbstractContinuum/issues",feedback:"https://github.com/lpalbou/AbstractContinuum/issues/new?labels=feedback"},abstractentity:{name:"AbstractEntity",website:"https://abstractframework.ai",repo:"https://github.com/lpalbou/AbstractEntity",docs:"https://github.com/lpalbou/AbstractEntity/tree/main/docs",issues:"https://github.com/lpalbou/AbstractEntity/issues",feedback:"https://github.com/lpalbou/AbstractEntity/issues/new?labels=feedback"},abstractobserver:{name:"AbstractObserver",website:"https://abstractframework.ai/observer",repo:"https://github.com/lpalbou/AbstractObserver",docs:"https://github.com/lpalbou/AbstractObserver#readme",issues:"https://github.com/lpalbou/AbstractObserver/issues",feedback:"https://github.com/lpalbou/AbstractObserver/issues/new?labels=feedback"},abstractcore:{name:"AbstractCore",website:"https://www.abstractcore.ai",repo:"https://github.com/lpalbou/AbstractCore",docs:"https://github.com/lpalbou/AbstractCore/tree/main/docs",issues:"https://github.com/lpalbou/AbstractCore/issues",feedback:"https://github.com/lpalbou/AbstractCore/issues/new?labels=feedback"},abstractuic:{name:"AbstractUIC",website:"https://abstractframework.ai",repo:"https://github.com/lpalbou/AbstractUIC",docs:"https://github.com/lpalbou/AbstractUIC/tree/main/docs",issues:"https://github.com/lpalbou/AbstractUIC/issues",feedback:"https://github.com/lpalbou/AbstractUIC/issues/new?labels=feedback"}},Wm={framework:Um,apps:Bm},xa=Wm;function Vm(){return Object.keys(xa.apps).sort()}function Gm(n,r){const s=Object.prototype.hasOwnProperty.call(xa.apps,n)?xa.apps[n]:void 0;if(!s)throw new Error(`appIdentity: unknown application id "${n}" (known: ${Vm().join(", ")})`);return{id:n,name:s.name,version:r,website:s.website,repo:s.repo,docs:s.docs,issues:s.issues,feedback:s.feedback}}function Hm(n,r){const s=xa.framework,o=[["Application",`${n.name} ${n.version}`],["Part of",`${s.name} — ${s.website}`],["Author",`${s.author} (${s.years})`],["Copyright",s.copyright],["Website",n.website],["Source",n.repo],["Documentation",n.docs],["Report an issue",n.issues],["Give feedback",n.feedback],["Contact",s.contact_email]];for(const[l,u]of r||[])o.push([String(l),String(u)]);return o}function dc(n){return typeof n=="string"?n.trim():""}function hf(n,r){if(r!=null)return[["Gateway",`unavailable (${String(r).trim()||"unknown error"})`]];const s=n&&typeof n=="object"&&!Array.isArray(n)?n:{},o=dc(s.abstractgateway);if(!o)return[["Gateway","unavailable (the gateway did not report its version)"]];const l=dc(s.abstractframework),u=[["Gateway",`AbstractGateway ${o}`],["Gateway framework",l?`AbstractFramework ${l}`:"not installed on the gateway host"]],f=s.packages&&typeof s.packages=="object"&&!Array.isArray(s.packages)?s.packages:{},h=Object.keys(f).filter(p=>p!=="abstractgateway"&&p!=="abstractframework").sort((p,g)=>p<g?-1:p>g?1:0);for(const p of h){const g=dc(f[p]);g&&u.push([`Gateway package ${p}`,g])}return u}const Km='a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])';function Jm(n,r,s){if(n.key!=="Tab"||!r)return;const o=Array.from(r.querySelectorAll(Km));if(o.length===0){n.preventDefault();return}const l=o[0],u=o[o.length-1],f=!!s&&r.contains(s);n.shiftKey?(s===l||!f)&&(n.preventDefault(),u.focus()):(s===u||!f)&&(n.preventDefault(),l.focus())}const Qm=/https?:\/\/[^\s<>"]+/g;function Ym(n,r){if(n==="Contact")return[{text:r,href:`mailto:${r}`}];const s=[];let o=0;for(const l of r.matchAll(Qm)){const u=l.index??0;u>o&&s.push({text:r.slice(o,u)}),s.push({text:l[0],href:l[0]}),o=u+l[0].length}return(o<r.length||s.length===0)&&s.push({text:r.slice(o)}),s}function Xm({label:n,value:r}){return a.jsx("span",{children:Ym(n,r).map((s,o)=>s.href===void 0?a.jsx(wt.Fragment,{children:s.text},o):s.href.startsWith("mailto:")?a.jsx("a",{className:"af-about__link",href:s.href,children:s.text},o):a.jsx("a",{className:"af-about__link",href:s.href,target:"_blank",rel:"noopener noreferrer",children:s.text},o))})}function Zm(n){const r=v.useRef(null),s=v.useRef(null),o=v.useId(),l=v.useRef(n.onClose);if(l.current=n.onClose,v.useEffect(()=>{var g;if(!n.open)return;const h=document.activeElement;(g=r.current)==null||g.focus();const p=y=>{if(!y.defaultPrevented){if(y.key==="Escape"){y.preventDefault(),l.current();return}Jm(y,s.current,document.activeElement)}};return window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p),h&&typeof h.focus=="function"&&h.focus()}},[n.open]),!n.open)return null;const u=n.title||`About ${n.identity.name}`,f=Hm(n.identity,n.extraRows);return a.jsx("div",{className:"af-appearance-overlay af-about-overlay",onClick:n.onClose,role:"presentation",children:a.jsxs("div",{ref:s,className:"af-appearance af-about",role:"dialog","aria-modal":"true","aria-labelledby":o,onClick:h=>h.stopPropagation(),children:[a.jsx("div",{className:"af-appearance__title",id:o,children:u}),a.jsx("dl",{className:"af-about__rows",children:f.map(([h,p],g)=>a.jsxs("div",{className:"af-about__row",children:[a.jsx("dt",{className:"af-about__label",children:h}),a.jsx("dd",{className:"af-about__value",children:a.jsx(Xm,{label:h,value:p})})]},`${g}:${h}`))}),a.jsx("div",{className:"af-appearance__actions",children:a.jsx("button",{ref:r,type:"button",className:"af-appearance__close",onClick:n.onClose,children:"Close"})})]})})}function qm(n){const{connection:r}=n,s=r.phase,o=r.signingOut===!0,[l,u]=v.useState(!1),f=n.about,h=o?"Signing out…":s==="connected"?"Disconnect":s==="loading"?"Connecting…":"Connect",p=s==="connected"?"Disconnect from gateway":s==="loading"?"Checking gateway session…":"Connect to gateway";return a.jsxs("div",{className:`af-topbar${n.className?` ${n.className}`:""}`,role:"group","aria-label":"App actions",children:[n.assistant?a.jsx("button",{type:"button",className:`af-topbar__btn${n.assistant.open?" is-active":""}`,"aria-pressed":n.assistant.open,"aria-label":n.assistant.label||"Open assistant",title:n.assistant.label||"Assistant",onClick:n.assistant.onToggle,children:a.jsx(ue,{name:"sparkle",size:16})}):null,n.appearance?a.jsx("button",{type:"button",className:"af-topbar__btn","aria-label":n.appearance.label||"Appearance (theme and typography)",title:n.appearance.label||"Appearance",onClick:n.appearance.onOpen,children:a.jsx(ue,{name:"contrast",size:16})}):null,f?a.jsx("button",{type:"button",className:"af-topbar__btn af-topbar__btn--about","aria-label":f.label||`About ${f.identity.name}`,title:f.label||"About","aria-haspopup":"dialog",onClick:()=>{var g;u(!0),(g=f.onOpen)==null||g.call(f)},children:a.jsx(ue,{name:"info",size:16})}):null,n.extraActions,a.jsxs("button",{type:"button",className:`af-topbar__pill af-topbar__pill--${s}`,onClick:s==="connected"?r.onDisconnect:r.onConnect,disabled:o,title:p,"aria-label":p,children:[a.jsx("span",{className:`af-topbar__dot af-topbar__dot--${s}`,"aria-hidden":"true"}),a.jsx("span",{className:"af-topbar__pill-label",children:h})]}),f?a.jsx(Zm,{open:l,onClose:()=>u(!1),identity:f.identity,extraRows:f.extraRows}):null]})}const wa={theme:"dark",font_scale:"md",header_density:"standard"};function eg(n){const r=n&&typeof n=="object"?n:{};return{theme:typeof r.theme=="string"&&r.theme?r.theme:wa.theme,font_scale:typeof r.font_scale=="string"&&r.font_scale?r.font_scale:wa.font_scale,header_density:typeof r.header_density=="string"&&r.header_density?r.header_density:wa.header_density}}function tg(n){return`af_appearance_${n}_v1`}function ng(n,r){const s=tg(n),o=v.useMemo(()=>({...wa,...(r==null?void 0:r.defaults)||{}}),[JSON.stringify((r==null?void 0:r.defaults)||{})]),[l,u]=v.useState(()=>{let f=o;try{const h=localStorage.getItem(s)??(r!=null&&r.legacyKey?localStorage.getItem(r.legacyKey):null);h&&(f=eg({...o,...JSON.parse(h)}))}catch{}try{uf(f.theme),df({font_scale:f.font_scale,header_density:f.header_density})}catch{}return f});return v.useEffect(()=>{uf(l.theme),df({font_scale:l.font_scale,header_density:l.header_density});try{localStorage.setItem(s,JSON.stringify(l))}catch{}},[s,l]),[l,u]}function rg(n){return v.useEffect(()=>{if(!n.open)return;const r=s=>{s.key!=="Escape"||s.defaultPrevented||(s.preventDefault(),n.onClose())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[n.open,n.onClose]),n.open?a.jsx("div",{className:"af-appearance-overlay",onClick:n.onClose,role:"presentation",children:a.jsxs("div",{className:"af-appearance",role:"dialog","aria-modal":"true","aria-label":n.title||"Appearance",onClick:r=>r.stopPropagation(),children:[a.jsx("div",{className:"af-appearance__title",children:n.title||"Appearance"}),a.jsx("div",{className:"af-appearance__note",children:n.note||"Stored locally in this browser, per app."}),a.jsxs("div",{className:"af-appearance__grid",children:[a.jsx("label",{className:"af-appearance__label",children:"Theme"}),a.jsx(Nm,{value:n.value.theme,onChange:r=>n.onChange({...n.value,theme:r})}),a.jsx("label",{className:"af-appearance__label",children:"Font size"}),a.jsx(Cm,{value:n.value.font_scale,onChange:r=>n.onChange({...n.value,font_scale:r})}),a.jsx("label",{className:"af-appearance__label",children:"Header size"}),a.jsx(Em,{value:n.value.header_density,onChange:r=>n.onChange({...n.value,header_density:r})})]}),a.jsx("div",{className:"af-appearance__actions",children:a.jsx("button",{type:"button",className:"af-appearance__close",onClick:n.onClose,children:"Close"})})]})}):null}function sg(){var r;if(typeof window>"u")return!1;const n=navigator;return!!((r=n==null?void 0:n.mediaDevices)!=null&&r.getUserMedia)&&typeof window.MediaRecorder=="function"}function ig(){if(typeof window>"u")return!1;const n=window;return!!(n!=null&&n.AudioContext||n!=null&&n.webkitAudioContext)}function og(){const n=window.MediaRecorder,r=o=>{var l;try{return!!((l=n==null?void 0:n.isTypeSupported)!=null&&l.call(n,o))}catch{return!1}},s=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg"];for(const o of s)if(r(o))return o;return""}async function fc(n,r){var l;const s=r.slice(0),o=(l=n.decodeAudioData)==null?void 0:l.bind(n);if(typeof o!="function")throw new Error("decodeAudioData not available");try{const u=o(s);if(u&&typeof u.then=="function")return await u}catch{}return await new Promise((u,f)=>{try{o(s,u,f)}catch(h){f(h)}})}function ag(n){const r=new Uint8Array(n);if(r.length<44)return null;const s=u=>String.fromCharCode(r[u],r[u+1],r[u+2],r[u+3]);if(s(0)!=="RIFF"||s(8)!=="WAVE")return null;const o=new DataView(n);let l=12;for(;l+8<=r.length;){const u=s(l),f=o.getUint32(l+4,!0);if(u==="data")return r.slice(0,l+8);l+=8+f+f%2}return null}function lg(n,r){const s=new Uint8Array(r),o=new Uint8Array(n.length+s.length);o.set(n,0),o.set(s,n.length);const l=new DataView(o.buffer);return l.setUint32(4,o.length-8,!0),l.setUint32(n.length-4,s.length,!0),o.buffer}function cg(n){const r=v.useRef(n);r.current=n;const s=X=>{var te,he;return(he=(te=r.current).on_error)==null?void 0:he.call(te,X)},o=v.useMemo(()=>ig()&&(typeof n.tts=="function"||typeof n.tts_stream=="function"),[n.tts,n.tts_stream]),l=v.useMemo(()=>sg()&&typeof n.transcribe=="function",[n.transcribe]),[u,f]=v.useState({key:"",status:"idle"}),h=v.useRef(u),p=v.useCallback(X=>{h.current=X,f(te=>te.key===X.key&&te.status===X.status?te:X)},[]),g=v.useRef(""),y=v.useRef(""),_=v.useRef(null),k=v.useRef(null),x=v.useRef(null),C=v.useRef(null),j=v.useRef(0),E=v.useRef(0),R=v.useRef(0),A=v.useRef([]),T=v.useRef(0),b=v.useRef(!0),P=v.useRef(!1),H=()=>{try{const X=globalThis,te=(X==null?void 0:X.AudioContext)||(X==null?void 0:X.webkitAudioContext);if(!te)return null;if(!_.current){const we=new te,Me=we.createGain();Me.gain.value=1,Me.connect(we.destination),_.current=we,k.current=Me}const he=_.current,Fe=k.current;if(!he||!Fe)return null;try{he.state==="suspended"&&he.resume()}catch{}return{ctx:he,gain:Fe}}catch{return null}},D=v.useCallback(()=>{const X=x.current;if(x.current=null,!!X){try{X.onended=null}catch{}try{X.stop()}catch{}try{X.disconnect()}catch{}}},[]),U=v.useCallback(()=>{D(),R.current+=1,A.current=[],T.current=0,b.current=!0,P.current=!1,y.current="",g.current="",C.current=null,j.current=0,E.current=0,p({key:"",status:"idle"})},[D,p]);v.useEffect(()=>()=>{var X,te;U();try{(X=k.current)==null||X.disconnect()}catch{}try{(te=_.current)==null||te.close()}catch{}_.current=null,k.current=null,C.current=null},[]);const ge=async(X,te,he)=>{const Fe=R.current,we=H();if(!we)throw new Error("TTS playback is not supported in this browser");const{ctx:Me,gain:ze}=we;try{Me.state==="suspended"&&await Me.resume()}catch{}if(Fe!==R.current)return;D();const tt=Me.createBufferSource();tt.buffer=te,tt.connect(ze);const V=Number.isFinite(Number(te.duration))?Number(te.duration):0,fe=Math.max(0,Math.min(Number(he||0),V>0?Math.max(0,V-.01):0));E.current=Me.currentTime-fe,j.current=fe,x.current=tt,g.current=X,tt.onended=()=>{x.current===tt&&(x.current=null,j.current=0,E.current=0,g.current="",p({key:"",status:"idle"}))},tt.start(0,fe),p({key:X,status:"playing"})},ce=(X,te)=>{if(te!==R.current)return;const he=H();if(!he)return;const Fe=A.current,we=T.current;if(we>=Fe.length){b.current&&(g.current="",j.current=0,E.current=0,p({key:"",status:"idle"}));return}const Me=Fe[we],{ctx:ze,gain:tt}=he;D();const V=ze.createBufferSource();V.buffer=Me,V.connect(tt);const fe=Number.isFinite(Number(Me.duration))?Number(Me.duration):0,Le=Math.max(0,Math.min(Number(j.current||0),fe>0?Math.max(0,fe-.01):0));E.current=ze.currentTime-Le,x.current=V,g.current=X,V.onended=()=>{te===R.current&&x.current===V&&(x.current=null,T.current=we+1,j.current=0,ce(X,te))};try{ze.state==="suspended"&&ze.resume()}catch{}V.start(0,Le),p({key:X,status:"playing"})},Q=async(X,te,he)=>{const Fe=H();if(!Fe){s==null||s("TTS playback is not supported in this browser.");return}D();const we=++R.current;A.current=[],T.current=0,b.current=!1,P.current=!1,C.current=null,j.current=0,E.current=0,g.current=X,y.current=X,p({key:X,status:"loading"}),s==null||s("");let Me=null;try{for await(const ze of he(te)){if(we!==R.current)return;let tt;try{tt=await fc(Fe.ctx,ze),Me||(Me=ag(ze))}catch{if(!Me)continue;try{tt=await fc(Fe.ctx,lg(Me,ze))}catch{continue}}if(we!==R.current)return;A.current.push(tt),!x.current&&!P.current&&(y.current="",ce(X,we))}if(we!==R.current)return;if(b.current=!0,A.current.length===0){s==null||s("TTS stream produced no audio."),U();return}!x.current&&!P.current&&ce(X,we)}catch(ze){if(we!==R.current)return;s==null||s(String((ze==null?void 0:ze.message)||ze||"TTS stream failed")),U()}},W=v.useCallback(async(X,te)=>{const he=String(X||"").trim(),Fe=String(te||"").trim();if(!he||!Fe)return;const we=r.current.tts,Me=r.current.tts_stream;if(typeof we!="function"&&typeof Me!="function"){s==null||s("TTS is not available.");return}const ze=H();if(!ze){s==null||s("TTS playback is not supported in this browser.");return}const tt=h.current,V=tt.key===he;if(V&&tt.status==="playing"){if(x.current){const Le=Math.max(0,ze.ctx.currentTime-Number(E.current||0));j.current=Le}else j.current=0;P.current=!0,D(),p({key:he,status:"paused"});return}if(V&&tt.status==="paused"){if(A.current.length>0){s==null||s(""),P.current=!1,p({key:he,status:"playing"}),ce(he,R.current);return}const Le=C.current;if(Le){s==null||s(""),P.current=!1;try{await ge(he,Le,j.current)}catch(Ve){s==null||s(String((Ve==null?void 0:Ve.message)||Ve||"TTS play failed")),p({key:"",status:"idle"})}return}}if(V&&tt.status==="loading")return;if(typeof Me=="function"){await Q(he,Fe,Me);return}D(),R.current+=1;const fe=R.current;A.current=[],T.current=0,b.current=!0,P.current=!1,C.current=null,j.current=0,E.current=0,g.current=he,y.current=he,p({key:he,status:"loading"}),s==null||s("");try{const Le=await we(Fe);if(y.current!==he||R.current!==fe)return;const Ve=await fc(ze.ctx,Le);if(y.current!==he||R.current!==fe)return;C.current=Ve,j.current=0,await ge(he,Ve,0)}catch(Le){if(R.current!==fe)return;y.current===he&&(y.current="",g.current="",p({key:"",status:"idle"})),s==null||s(String((Le==null?void 0:Le.message)||Le||"TTS failed"))}},[]),[K,q]=v.useState(!1),[ee,le]=v.useState(!1),pe=v.useRef(!1),J=v.useRef(l);J.current=l;const re=v.useCallback(X=>{pe.current=X,q(te=>te===X?te:X)},[]),G=v.useRef(!1),N=v.useRef(null),B=v.useRef(null),z=v.useRef([]),oe=v.useRef(""),de=v.useRef(0),ye=v.useRef(!1);function be(){var X,te;try{(te=(X=N.current)==null?void 0:X.getTracks)==null||te.call(X).forEach(he=>{try{he.stop()}catch{}})}catch{}N.current=null}const ae=v.useCallback(()=>{de.current+=1,ye.current=!1;const X=B.current;if(X){X.onstop=null,X.ondataavailable=null,X.onerror=null;try{X.stop()}catch{}}B.current=null,be(),re(!1),G.current=!1,le(!1),z.current=[]},[re]);v.useEffect(()=>()=>ae(),[ae]);async function Ce(X,te){var we,Me;if(s==null||s(""),!X||!X.size||G.current)return;const he=r.current.transcribe;if(typeof he!="function"){s==null||s("Transcription is not available.");return}G.current=!0;const Fe=de.current;le(!0);try{const ze=String(await he(X,te)||"").trim();Fe===de.current&&ze&&((Me=(we=r.current).on_transcript)==null||Me.call(we,ze))}catch(ze){Fe===de.current&&(s==null||s(String((ze==null?void 0:ze.message)||ze||"Transcription failed")))}finally{Fe===de.current&&(G.current=!1,le(!1))}}const Be=v.useCallback(async()=>{if(s==null||s(""),!J.current){s==null||s("Voice recording is not supported in this browser (MediaRecorder/getUserMedia unavailable).");return}if(G.current||ye.current||pe.current||B.current)return;z.current=[];const X=de.current;ye.current=!0;try{const te=await navigator.mediaDevices.getUserMedia({audio:!0});if(X!==de.current){te.getTracks().forEach(we=>we.stop());return}N.current=te;const he=og();oe.current=he;const Fe=he?new MediaRecorder(te,{mimeType:he}):new MediaRecorder(te);B.current=Fe,Fe.ondataavailable=we=>{if(X===de.current)try{we!=null&&we.data&&z.current.push(we.data)}catch{}},Fe.onerror=()=>{X===de.current&&(s==null||s("Recording failed."))},Fe.onstop=()=>{if(X===de.current){re(!1),be(),B.current=null;try{const we=new Blob(z.current,{type:oe.current||""});Ce(we,oe.current)}catch(we){s==null||s(String((we==null?void 0:we.message)||we||"Failed to build recording"))}}},Fe.start(),re(!0)}catch(te){if(X!==de.current)return;be(),B.current=null,re(!1);const he=String((te==null?void 0:te.message)||te||"Failed to access microphone");s==null||s(he.toLowerCase().includes("permission")?`Microphone permission denied: ${he}`:he)}finally{X===de.current&&(ye.current=!1)}},[]),at=v.useCallback(()=>{const X=B.current;if(!(!pe.current||!X)){re(!1);try{X.stop()}catch(te){s==null||s(String((te==null?void 0:te.message)||te||"Failed to stop recording"))}}},[]);return v.useEffect(()=>{if(!K)return;const X=()=>at();return window.addEventListener("pointerup",X),window.addEventListener("pointercancel",X),()=>{window.removeEventListener("pointerup",X),window.removeEventListener("pointercancel",X)}},[K]),{tts_supported:o,tts_playback:u,toggle_tts:W,stop_tts:U,voice_ptt_supported:l,voice_ptt_recording:K,voice_ptt_busy:ee,start_voice_ptt_recording:Be,stop_voice_ptt_recording:at,cancel_voice_ptt_recording:ae}}const fa=n=>Array.isArray(n)?n.map(r=>typeof r=="string"?r:(r==null?void 0:r.id)||(r==null?void 0:r.name)).filter(Boolean):[];function ug({value:n,onChange:r,fetchCatalog:s}){var E,R,A,T;const o=v.useRef(s);o.current=s;const[l,u]=v.useState({}),[f,h]=v.useState(""),[p,g]=v.useState(!1);v.useEffect(()=>{let b=!0;return g(!0),u({}),h(""),o.current(n.provider,n.model).then(P=>{b&&(u(P),h(P.error?String(P.error):""))}).catch(P=>{b&&h(String((P==null?void 0:P.message)||P))}).finally(()=>{b&&g(!1)}),()=>{b=!1}},[n.provider,n.model]);const y=Array.isArray(l.items)?l.items:[...Array.isArray(l.profiles)?l.profiles.map(b=>({...b,voice_kind:"profile"})):[],...Array.isArray(l.voices)?l.voices.map(b=>({...b,voice_kind:"voice"})):[]],_=b=>JSON.stringify([b.provider||"",b.model||"",b.voice_kind==="profile"?"profile":"voice",b.id]),k=y.find(b=>b.id===(n.profile||n.voice)&&b.voice_kind==="profile"==!!n.profile&&(!n.provider||!b.provider||b.provider===n.provider)&&(!n.model||!b.model||b.model===n.model)),x=k?_(k):n.profile||n.voice?JSON.stringify([n.provider||"",n.model||"",n.profile?"profile":"voice",n.profile||n.voice]):"",C=y.filter(b=>(b==null?void 0:b.id)&&(!n.provider||!b.provider||b.provider===n.provider)).map(b=>({value:_(b),label:`${b.label||b.name||b.id}${!n.provider&&b.provider?` · ${b.provider}`:""}`}));x&&!C.some(b=>b.value===x)&&C.unshift({value:x,label:`${n.profile||n.voice} (saved)`});const j=b=>r({...n,...b});return a.jsxs("div",{className:"af-voice-settings",children:[a.jsx("p",{children:"Speech is generated by your authenticated Gateway. Leave routing and voice unset to use its defaults."}),a.jsx(Ic,{value:{provider:n.provider||"",model:n.model||""},onChange:b=>r({...n,...b,voice:"",profile:""}),fetchProviders:async()=>{const b=await o.current();if(b.error&&!fa(b.tts_providers||b.providers).length)throw new Error(b.error);return fa(b.tts_providers||b.providers).map(P=>({name:P}))},fetchModels:async b=>{var H;const P=await o.current(b);return fa(((H=P.tts_models_by_provider)==null?void 0:H[b])||P.tts_models||P.models)},providerLabel:"Speech provider",modelLabel:"Speech model"}),a.jsxs("label",{children:["Voice / profile",a.jsx(Ur,{ariaLabel:"AI voice",placeholder:"Gateway / provider default",value:x,disabled:p,options:[{value:"",label:"Gateway / provider default"},...C],onChange:b=>{if(!b){j({voice:"",profile:""});return}const[P,H,D,U]=JSON.parse(b);j({provider:P||n.provider||"",model:H||(P&&P!==n.provider?"":n.model)||"",voice:D==="voice"?U:"",profile:D==="profile"?U:""})}})]}),p?a.jsx("p",{role:"status",children:"Loading available voices…"}):null,f?a.jsxs("p",{role:"alert",children:["Voice discovery unavailable: ",f,". Your saved choice is preserved."]}):null,a.jsxs("label",{children:["Speaking speed",a.jsxs("select",{"aria-label":"Speech speed",value:n.speed??"",onChange:b=>j({speed:b.target.value?Number(b.target.value):void 0}),children:[a.jsx("option",{value:"",children:"Gateway default"}),[.5,.75,1,1.25,1.5,2].map(b=>a.jsxs("option",{value:b,children:[b,"×"]},b))]})]}),(R=(E=l.controls)==null?void 0:E.quality_preset)!=null&&R.supported?a.jsxs("label",{children:["Quality",a.jsxs("select",{"aria-label":"Speech quality",value:n.quality_preset||"",onChange:b=>j({quality_preset:b.target.value}),children:[a.jsx("option",{value:"",children:"Gateway default"}),fa(l.controls.quality_preset.values).map(b=>a.jsx("option",{value:b,children:b},b))]})]}):null,(T=(A=l.controls)==null?void 0:A.instructions)!=null&&T.supported?a.jsxs("label",{children:["Delivery instructions",a.jsx("textarea",{"aria-label":"Voice delivery instructions",rows:3,placeholder:"For example: calm, clear, and conversational",value:n.instructions||"",onChange:b=>j({instructions:b.target.value})})]}):null,a.jsx("button",{type:"button",onClick:()=>r({}),children:"Reset to Gateway defaults"})]})}function Xf(n){const r=String(n??"").trim();if(!r||!(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]")))return null;try{return JSON.parse(r)}catch{return null}}function dg(n){if(n==null)return"";if(typeof n=="string")return n;try{return JSON.stringify(n,null,2)}catch{return String(n)}}function fg(n){const r=String(n.role||"message").trim()||"message",s=String(n.title||"").trim(),o=String(n.ts||"").trim(),l=[r];return s&&l.push(s),o&&l.push(o),l.join(" · ")}function pg(n){return n.endsWith(`
|
|
41
|
-
`)?n:`${n}
|
|
42
|
-
`}function hg(n){return String(n||"").trimStart().startsWith("```")}function mg(n,r){const o=[`# ${"Chat".trim()||"Chat"}`,""];for(const l of n){const u=fg(l);o.push(`## ${u}`,"");const f=String(l.content||""),h=Xf(f);h!==null&&!hg(f)?o.push("```json",dg(h).trimEnd(),"```",""):o.push(pg(f).trimEnd(),""),o.push("---","")}for(;o.length&&!o[o.length-1].trim();)o.pop();return o.length&&o[o.length-1]==="---"&&o.pop(),`${o.join(`
|
|
43
|
-
`).trimEnd()}
|
|
44
|
-
`}async function Mc(n){const r=String(n||"");if(!r)return!1;try{return await navigator.clipboard.writeText(r),!0}catch{try{const s=document.createElement("textarea");return s.value=r,s.style.position="fixed",s.style.left="-9999px",document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s),!0}catch{return!1}}}function gg(n){const r=String(n.filename).trim()||"export.txt",s=String(n.text||""),o=String(n.mime||"text/plain;charset=utf-8"),l=new Blob([s],{type:o}),u=URL.createObjectURL(l),f=document.createElement("a");f.href=u,f.download=r,document.body.appendChild(f),f.click(),f.remove(),window.setTimeout(()=>URL.revokeObjectURL(u),1e3)}const yg=3,wg=Number.MAX_SAFE_INTEGER;function Zf(n){return!!n&&typeof n=="object"&&!Array.isArray(n)}function qf(n){return Array.isArray(n)}function vg(n){if(n==null)return"";if(typeof n=="string")return n;try{return JSON.stringify(n,null,2)}catch{return String(n)}}function ri({kind:n,children:r}){return a.jsx("span",{className:`pc-json-token ${n}`,children:r})}function _g(n){const r=JSON.stringify(n.value),s=r.length>96||r.includes("\\n")||r.includes("\\r")||r.includes("\\t"),[o,l]=v.useState(!s||n.expansionMode==="unfolded");return v.useEffect(()=>{s&&l(n.expansionMode==="unfolded")},[s,n.expansionMode,n.expansionVersion]),s?a.jsxs("span",{className:`pc-json-string ${o?"open":"collapsed"}`,children:[a.jsx("button",{type:"button",className:"pc-json-string__toggle",onClick:()=>l(u=>!u),"aria-label":o?"Collapse string value":"Expand string value","aria-expanded":o,children:o?"▾":"▸"}),o?a.jsx("span",{className:"pc-json-token string pc-json-string__value",children:r}):a.jsxs("button",{type:"button",className:"pc-json-string__preview",onClick:()=>l(!0),"aria-label":"Expand string value",children:[a.jsx("span",{className:"pc-json-token string pc-json-string__preview_text",children:r}),a.jsx("span",{className:"pc-json-string__suffix",children:"(...)"})]})]}):a.jsx(ri,{kind:"string",children:r})}function kg(n,r,s){return n===null?a.jsx(ri,{kind:"null",children:"null"}):typeof n=="string"?a.jsx(_g,{value:n,expansionMode:r,expansionVersion:s}):typeof n=="number"?a.jsx(ri,{kind:"number",children:String(n)}):typeof n=="boolean"?a.jsx(ri,{kind:"boolean",children:n?"true":"false"}):a.jsx(ri,{kind:"string",children:JSON.stringify(String(n))})}function xg(n){return qf(n)?n.length===1?"1 item":`${n.length} items`:Zf(n)?Object.keys(n).length===1?"1 key":`${Object.keys(n).length} keys`:""}function ep(n){const{label:r,value:s,depth:o,collapseAfterDepth:l,expansionMode:u,expansionVersion:f,trailingComma:h}=n,p=o*14,g=Zf(s),y=qf(s),_=g||y,k=o<l,[x,C]=v.useState(k);v.useEffect(()=>{C(k)},[k,f]);const j=r?a.jsxs(a.Fragment,{children:[a.jsx(ri,{kind:"key",children:JSON.stringify(r)}),": "]}):null;if(!_)return a.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:p},children:[j,kg(s,u,f),h?",":""]});const E=y?"[":"{",R=y?"]":"}",A=xg(s),T=x?`${E}`:`${E}…${R}${A?` (${A})`:""}`,b=y?s.map((P,H)=>({key:String(H),label:void 0,value:P})):Object.entries(s).map(([P,H])=>({key:P,label:P,value:H}));return a.jsxs("details",{className:"pc-json-viewer__details",open:x,onToggle:P=>C(P.currentTarget.open),children:[a.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:p},children:[j,a.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:x?"▾":"▸"}),a.jsx("span",{className:"pc-json-viewer__punct",children:T}),!x&&h?a.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),x?a.jsx("div",{className:"pc-json-viewer__children",children:b.length===0?a.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:p},children:[a.jsx("span",{className:"pc-json-viewer__punct",children:R}),h?",":""]}):a.jsxs(a.Fragment,{children:[b.map((P,H)=>{const D=H===b.length-1;return a.jsx(ep,{label:P.label,value:P.value,depth:o+1,collapseAfterDepth:l,expansionMode:u,expansionVersion:f,trailingComma:!D},`${o}:${r||"root"}:${P.key}`)}),a.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:p},children:[a.jsx("span",{className:"pc-json-viewer__punct",children:R}),h?",":""]})]})}):null]})}function bg(n){const r=n.trim();if(!r)return n;if(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))try{return JSON.parse(r)}catch{return n}return n}function ys(n){const{value:r,className:s,showCopy:o=!0}=n,[l,u]=v.useState({mode:"folded",version:0}),f=typeof n.collapseAfterDepth=="number"&&(Number.isFinite(n.collapseAfterDepth)||n.collapseAfterDepth===1/0)&&n.collapseAfterDepth>=0?n.collapseAfterDepth===1/0?Number.MAX_SAFE_INTEGER:Math.trunc(n.collapseAfterDepth):yg,h=l.mode==="unfolded"?wg:f,p=v.useMemo(()=>typeof r=="string"?bg(r):r,[r]),g=v.useMemo(()=>vg(r),[r]),y=["pc-json-viewer",s].filter(Boolean).join(" ");v.useEffect(()=>{u(k=>({mode:"folded",version:k.version+1}))},[p]);const _=()=>{u(k=>({mode:k.mode==="unfolded"?"folded":"unfolded",version:k.version+1}))};return a.jsxs("div",{className:y,children:[a.jsxs("div",{className:"pc-json-viewer__toolbar",children:[a.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__toggle-all",onClick:_,"aria-expanded":l.mode==="unfolded",children:l.mode==="unfolded"?"Fold all":"Unfold all"}),o?a.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void Mc(g),children:"Copy JSON"}):null]}),a.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:a.jsx(ep,{value:p,depth:0,collapseAfterDepth:h,expansionMode:l.mode,expansionVersion:l.version,trailingComma:!1})})]})}function Ki(n,r){const s=String(n??"");if(!r||!r.needles.length)return[s];const o=[],l=s.toLowerCase();let u=0;for(;u<s.length;){let f=-1,h="";for(let y=0;y<r.needlesLower.length;y++){const _=r.needlesLower[y];if(!_)continue;const k=l.indexOf(_,u);if(k===-1)continue;const x=r.needles[y]||"";x&&(f===-1||k<f||k===f&&x.length>h.length)&&(f=k,h=x)}if(f===-1||!h){o.push(s.slice(u));break}f>u&&o.push(s.slice(u,f));const p=r.hits===0&&r.id?r.id:void 0,g=s.slice(f,f+h.length);o.push(a.jsx("span",{id:p,className:r.className,children:g},`hl:${r.hits}`)),r.hits+=1,u=f+h.length}return o}function Cc(n){const r=String(n||"").trim();if(r&&/^(https?:|mailto:|tel:|#|\/)/i.test(r))return r}let ws=null;function Sg(n){var o;const r=String(n||"").trim();if(r.startsWith("/")&&!r.startsWith("//")&&!r.startsWith("/\\"))return!0;if(!/^https?:\/\//i.test(r))return!1;const s=typeof window<"u"?(o=window.location)==null?void 0:o.origin:void 0;if(!s||s==="null")return!1;try{return new URL(r).origin===s}catch{return!1}}function tp(n,r,s){return a.jsx("a",{className:"pc-md_link pc-md_image_link",href:r,target:"_blank",rel:"noopener noreferrer",children:`image: ${s||r}`},n)}function zr(n,r){const s=[],o=String(n??"");let l=0,u="";const f=()=>{if(u){for(const h of Ki(u,r))s.push(h);u=""}};for(;l<o.length;){const h=o[l];if(h==="!"&&o[l+1]==="["){const p=o.indexOf("]",l+2);if(p!==-1&&o[p+1]==="("){const g=o.indexOf(")",p+2);if(g!==-1){const y=o.slice(l+2,p),_=Cc(o.slice(p+2,g));if(_&&ws&&!ws(_)){f(),s.push(tp(`img:${l}`,_,y)),l=g+1;continue}if(_){f(),s.push(a.jsxs("span",{className:"pc-md_image_inline",children:[a.jsx("img",{className:"pc-md_img",src:_,alt:y,loading:"lazy"}),y?a.jsx("span",{className:"pc-md_img_caption",children:r?Ki(y,r):y}):null]},`img:${l}`)),l=g+1;continue}}}}if(h==="["){const p=o.indexOf("]",l+1);if(p!==-1&&o[p+1]==="("){const g=o.indexOf(")",p+2);if(g!==-1){const y=o.slice(l+1,p),_=Cc(o.slice(p+2,g));if(_){f(),s.push(a.jsx("a",{className:"pc-md_link",href:_,target:_.startsWith("#")?void 0:"_blank",rel:"noreferrer",children:zr(y,r)},`link:${l}`)),l=g+1;continue}}}}if(h==="`"){const p=o.indexOf("`",l+1);if(p!==-1){f();const g=o.slice(l+1,p);s.push(a.jsx("code",{children:r?Ki(g,r):g},`code:${l}`)),l=p+1;continue}}if(h==="*"&&o[l+1]==="*"){const p=o.indexOf("**",l+2);if(p!==-1){f();const g=o.slice(l+2,p);s.push(a.jsx("strong",{children:r?Ki(g,r):g},`bold:${l}`)),l=p+2;continue}}if(h==="*"&&o[l+1]!=="*"){const p=o.indexOf("*",l+1);if(p!==-1){f();const g=o.slice(l+1,p);s.push(a.jsx("em",{children:r?Ki(g,r):g},`em:${l}`)),l=p+1;continue}}u+=h,l+=1}return f(),s}function jg(n){return String(n??"").replace(/\r\n/g,`
|
|
45
|
-
`).replace(/\r/g,`
|
|
46
|
-
`).split(`
|
|
47
|
-
`)}function va(n){const s=String(n??"").match(/^([ \t]*)(?:([-*+])|(\d{1,9})[.)])\s+(.*)$/);return s?{indent:s[1].replace(/\t/g," ").length,ordered:!!s[3],start:s[3]?Math.max(1,parseInt(s[3],10)||1):1,content:s[4]??""}:null}function Ng(n){const r=[];for(const l of n){const u=va(l);u?r.push(u):r.length>0&&l.trim()&&(r[r.length-1].content+=` ${l.trim()}`)}const s=[],o=[];for(const l of r){for(;o.length>0&&l.indent<o[o.length-1].indent;)o.pop();let u=o.length>0?o[o.length-1]:null;if(u&&l.indent>u.indent){const f=u.node.items,h=f[f.length-1];if(h){const p={ordered:l.ordered,start:l.start,items:[]};h.children.push(p),o.push({indent:l.indent,node:p}),u=o[o.length-1]}}else if(u&&u.node.ordered!==l.ordered){o.pop();const f=o.length>0?o[o.length-1]:null,h={ordered:l.ordered,start:l.start,items:[]};if(f){const p=f.node.items,g=p[p.length-1];g?g.children.push(h):f.node.items.push({content:"",children:[h]})}else s.push(h);o.push({indent:l.indent,node:h}),u=o[o.length-1]}if(!u){const f={ordered:l.ordered,start:l.start,items:[]};s.push(f),o.push({indent:l.indent,node:f}),u=o[o.length-1]}u.node.items.push({content:l.content,children:[]})}return s}function np(n,r,s){const o=n.items.map((l,u)=>a.jsxs("li",{children:[zr(l.content,r),l.children.map((f,h)=>np(f,r,`${s}:${u}:${h}`))]},`${s}:li:${u}`));return n.ordered?a.jsx("ol",{className:"pc-md_ol",start:n.start!==1?n.start:void 0,children:o},s):a.jsx("ul",{className:"pc-md_ul",children:o},s)}function Cg(n,r,s){return Ng(n).map((o,l)=>np(o,r,`${s}:${l}`))}function mf(n){let r=String(n??"").trim();return r?(r.startsWith("|")&&(r=r.slice(1)),r.endsWith("|")&&(r=r.slice(0,-1)),r.split("|").map(s=>String(s??"").trim())):[]}function gf(n){let r=String(n??"").trim();if(!r)return!1;r.startsWith("|")&&(r=r.slice(1)),r.endsWith("|")&&(r=r.slice(0,-1));const s=r.split("|").map(o=>String(o??"").trim());return s.length<2?!1:s.every(o=>/^:?-{3,}:?$/.test(o))}function rp(n){const r=ws;ws=n.images==="link"?n.inlineImage||Sg:null;try{return Eg(n)}finally{ws=r}}function Eg({text:n,className:r,highlight:s,highlights:o,highlightClassName:l,highlightId:u}){const f=jg(n),h=[],p=[];Array.isArray(o)&&p.push(...o),typeof s=="string"&&s.trim()&&p.push(s);const g=Array.from(new Set(p.map(x=>String(x??"").trim()).filter(Boolean))).filter(x=>x.length>=4),y=g.length?{needles:g,needlesLower:g.map(x=>x.toLowerCase()),className:l||"pc-md_hl",id:u,hits:0}:null;let _=0;for(;_<f.length;){const x=String(f[_]??"");if(!x.trim()){_+=1;continue}const C=x.trim();if(/^([-_*])(\s*\1){2,}$/.test(C)){h.push(a.jsx("hr",{className:"pc-md_hr"},`hr:${_}`)),_+=1;continue}const j=x.match(/^\s*!\[([^\]]*)\]\(([^)]+)\)\s*$/);if(j){const A=Cc(j[2]||"");if(A&&ws&&!ws(A)){h.push(a.jsx("p",{className:"pc-md_p",children:tp(`img:${_}`,A,j[1]||"")},`p:${_}`)),_+=1;continue}if(A){const T=j[1]||"";h.push(a.jsxs("figure",{className:"pc-md_figure",children:[a.jsx("img",{className:"pc-md_img",src:A,alt:T,loading:"lazy"}),T?a.jsx("figcaption",{children:zr(T,y)}):null]},`figure:${_}`)),_+=1;continue}}if(x.trim().startsWith("```")){const T=x.trim().replace(/```/g,"").trim(),b=[];for(_+=1;_<f.length&&!String(f[_]??"").trim().startsWith("```");)b.push(String(f[_]??"")),_+=1;_<f.length&&(_+=1);const P=b.join(`
|
|
48
|
-
`);h.push(a.jsx("pre",{className:"pc-md_pre",children:a.jsx("code",{className:T?`language-${T}`:void 0,children:P})},`pre:${_}`));continue}const E=x.match(/^(#{1,5})\s+(.*)$/);if(E){const A=E[1].length,T=E[2]||"",b=zr(T,y);A===1?h.push(a.jsx("h1",{children:b},`h1:${_}`)):A===2?h.push(a.jsx("h2",{children:b},`h2:${_}`)):A===3?h.push(a.jsx("h3",{children:b},`h3:${_}`)):A===4?h.push(a.jsx("h4",{children:b},`h4:${_}`)):h.push(a.jsx("h5",{children:b},`h5:${_}`)),_+=1;continue}if(x.trimStart().startsWith(">")){const A=[];for(;_<f.length&&String(f[_]??"").trimStart().startsWith(">");){const b=String(f[_]??"").trimStart();A.push(b.replace(/^>\s?/,"")),_+=1}h.push(a.jsx("blockquote",{className:"pc-md_quote",children:A.map((T,b)=>a.jsxs(wt.Fragment,{children:[zr(T,y),b<A.length-1?a.jsx("br",{}):null]},`q:${_}:${b}`))},`quote:${_}`));continue}if(x.includes("|")&&_+1<f.length&&gf(String(f[_+1]??""))){const A=mf(x),T=Math.max(1,A.length),b=[];for(_+=2;_<f.length;){const P=String(f[_]??"");if(!P.trim()||!P.includes("|"))break;const H=mf(P),D=[];for(let U=0;U<T;U++)D.push(H[U]??"");b.push(D),_+=1}h.push(a.jsx("div",{className:"pc-md_table_wrap",children:a.jsxs("table",{className:"pc-md_table",children:[a.jsx("thead",{children:a.jsx("tr",{children:A.slice(0,T).map((P,H)=>a.jsx("th",{children:zr(P,y)},`th:${_}:${H}`))})}),a.jsx("tbody",{children:b.map((P,H)=>a.jsx("tr",{children:P.map((D,U)=>a.jsx("td",{children:zr(D,y)},`td:${_}:${H}:${U}`))},`tr:${_}:${H}`))})]})},`table:${_}`));continue}if(va(x)){const A=[];for(;_<f.length;){const T=String(f[_]??"");if(!T.trim()||T.trimStart().startsWith("```"))break;if(va(T)||/^\s{2,}\S/.test(T)){A.push(T),_+=1;continue}break}h.push(a.jsx(wt.Fragment,{children:Cg(A,y,`list:${_}`)},`list:${_}`));continue}const R=[];for(;_<f.length&&String(f[_]??"").trim()&&!(R.length>0&&va(String(f[_]??"")));){const A=String(f[_]??"");if(R.length>0&&A.includes("|")&&_+1<f.length&&gf(String(f[_+1]??"")))break;R.push(A),_+=1}h.push(a.jsx("p",{className:"pc-md_p",children:R.map((A,T)=>a.jsxs(wt.Fragment,{children:[zr(A,y),T<R.length-1?a.jsx("br",{}):null]},`pl:${_}:${T}`))},`p:${_}`))}const k=["pc-md",r].filter(Boolean).join(" ");return a.jsx("div",{className:k,children:h})}function $g(n){const r=String(n.text??""),s=v.useMemo(()=>Xf(r),[r]),o=["pc-chat-content",n.className].filter(Boolean).join(" ");return s!==null?a.jsx("div",{className:o,children:a.jsx(ys,{value:s,collapseAfterDepth:n.jsonCollapseAfterDepth})}):n.renderMarkdown?a.jsx("div",{className:o,children:n.renderMarkdown(r)}):a.jsx("div",{className:o,children:a.jsx(rp,{text:r,images:n.images,inlineImage:n.inlineImage})})}function sp(n){if(typeof n!="string")return n;try{return JSON.parse(n)}catch{return n}}function ip(n){const r=sp(n);if(!r||typeof r!="object"||Array.isArray(r))return{label:"input",value:r==null?"":String(r)};const s=Object.entries(r),l=["command","query","url","file_path","path","pattern","name"].map(u=>s.find(([f])=>f===u)).find(Boolean)||s[0];return l?{label:l[0].replace(/_/g," "),value:typeof l[1]=="string"?l[1]:JSON.stringify(l[1])??""}:{label:"",value:""}}function op({tool:n,showCopy:r=!0}){const[s,o]=v.useState(!1),l=sp(n.arguments),u=ip(n.arguments),f=["file path","path"].includes(u.label)&&u.value.length>60?`${u.value.split(/[\\/]/).pop()} · ${u.value.slice(0,24)}…`:u.value,h=n.error&&/^File ['"].+['"] does not exist\.?$/.test(n.error)?"File not found. Expand for the exact path.":n.error&&n.error.length>180?`${n.error.slice(0,100)}…${n.error.slice(-70)}`:n.error,p={running:"Running",waiting:"Approval needed",completed:"Done",failed:"Failed"},g=n.startedAt&&n.endedAt?Date.parse(n.endedAt)-Date.parse(n.startedAt):NaN,y=l&&typeof l=="object"&&!Array.isArray(l)?Object.entries(l):null;return a.jsxs("details",{className:`pc-tool-activity pc-tool-activity--${n.status}`,children:[a.jsxs("summary",{className:"pc-tool-activity__summary",children:[a.jsx("span",{className:"pc-tool-activity__state-icon","aria-hidden":"true",children:a.jsx(ue,{name:n.status==="completed"?"check":n.status==="failed"?"x":n.status==="waiting"?"warning":"loader",size:15})}),a.jsx("strong",{children:n.name}),a.jsx("span",{className:"pc-tool-activity__preview",title:u.value,children:u.value?a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"pc-tool-activity__key",children:u.label}),f]}):"No parameters"}),a.jsx("span",{className:"pc-tool-activity__status",children:p[n.status]}),Number.isFinite(g)&&g>=0?a.jsxs("span",{className:"pc-tool-activity__duration",children:[(g/1e3).toFixed(1),"s"]}):null,a.jsx("span",{className:"pc-tool-activity__chevron","aria-hidden":"true",children:a.jsx(ue,{name:"chevronRight",size:13})}),n.error?a.jsx("span",{className:"pc-tool-activity__error",title:n.error,children:h}):null]}),a.jsxs("div",{className:"pc-tool-activity__detail",children:[n.error?a.jsxs(a.Fragment,{children:[a.jsx("h4",{children:"Error"}),a.jsx("pre",{className:"pc-tool-activity__output",children:n.error})]}):null,a.jsxs("div",{className:"pc-tool-activity__detail-heading",children:[a.jsx("h4",{children:"Parameters"}),r?a.jsxs("button",{type:"button",onClick:async()=>o(await Mc(JSON.stringify(n,null,2))),children:[a.jsx(ue,{name:"copy",size:13}),s?"Copied":"Copy details"]}):null]}),y?a.jsx("dl",{className:"pc-tool-activity__parameters",children:y.map(([_,k])=>a.jsxs(wt.Fragment,{children:[a.jsx("dt",{children:_}),a.jsx("dd",{children:k&&typeof k=="object"?a.jsx(ys,{value:k}):a.jsx("code",{children:typeof k=="string"?k:JSON.stringify(k)})})]},_))}):n.arguments===void 0?a.jsx("p",{children:"Arguments are unavailable in this ledger."}):a.jsx(ys,{value:l}),n.output!==void 0?a.jsxs(a.Fragment,{children:[a.jsx("h4",{children:"Result"}),typeof n.output=="string"?a.jsx("pre",{className:"pc-tool-activity__output",children:n.output}):a.jsx("div",{className:"pc-tool-activity__output",children:a.jsx(ys,{value:n.output})})]}):null]})]})}function ap({tools:n,showCopy:r}){const s=o=>n.filter(l=>l.status===o).length;return a.jsxs("section",{className:"pc-tool-group","aria-label":"Tool activity",children:[a.jsxs("div",{className:"pc-tool-group__heading",children:[a.jsx(ue,{name:"terminal",size:14}),a.jsx("strong",{children:"Tools"}),a.jsxs("span",{children:[n.length," ",n.length===1?"call":"calls"]}),a.jsx("div",{}),s("running")?a.jsxs("span",{className:"pc-tool-group__running",children:[s("running")," running"]}):null,s("waiting")?a.jsxs("span",{className:"pc-tool-group__waiting",children:[s("waiting")," need approval"]}):null,s("failed")?a.jsxs("span",{className:"pc-tool-group__failed",children:[s("failed")," failed"]}):null,s("completed")?a.jsxs("span",{className:"pc-tool-group__completed",children:[s("completed")," done"]}):null]}),n.map(o=>a.jsx(op,{tool:o,showCopy:r},o.id))]})}const $t="not reported",Bt=n=>n===void 0?$t:Math.round(n).toLocaleString(),Yt=n=>{if(n===void 0)return $t;if(n<6e4)return`${(n/1e3).toFixed(1)}s`;const r=Math.round(n/1e3);return`${Math.floor(r/60)}m ${String(r%60).padStart(2,"0")}s`},lp=n=>n===void 0?$t:`${Math.round(n).toLocaleString()} tok/s`,Rg=(n,r)=>r>0?`${Math.round(n/r*100)}%`:"",vs=(n,r,s=`${r}s`)=>`${n.toLocaleString()} ${n===1?r:s}`,Tg=n=>{const r=n.split("#")[0].replace(/\/+$/,"");return r.slice(r.lastIndexOf("/")+1)||n};function Ag(n){const r=new Map;for(const s of n)s&&r.set(s,(r.get(s)||0)+1);return[...r].map(([s,o])=>o>1?`${s} ×${o}`:s).join(" · ")}function ba(n){const r=[],s=(n.models||[]).map(Tg),o=n.providers||[];return(s.length||o.length)&&r.push([s.join(", ")||"model not reported",o.join(", ")].filter(Boolean).join(" · ")),r.push("From the run ledger; summed across this turn and its child runs."),r}function Ig(n){const r=n.modelCalls||[],s=[],o=[{label:"Input",value:Bt(n.inputTokens)},{label:"Output",value:Bt(n.outputTokens)}];if(n.reasoningTokens!==void 0&&o.push({label:"Reasoning",value:Bt(n.reasoningTokens),hint:"part of output"}),o.push({label:"Total",value:Bt(n.totalTokens)}),s.push({heading:`Usage · ${vs(n.llmCalls,"model call")}`,rows:o}),n.measuredCacheCalls){const u=n.cachedTokens||0,f=n.fedTokens||0,h=[{label:"Reused from cache",value:`${Bt(u)}${u+f?` (${Rg(u,u+f)})`:""}`},{label:"Newly processed",value:Bt(n.fedTokens)},{label:"Outcome",value:Ag(r.map(p=>p.cacheOutcome))||(n.cacheOutcomes||[]).join(" · ")||$t},{label:"Backend",value:(n.cacheBackends||[]).join(", ")||$t}];n.measuredCacheCalls!==n.llmCalls&&h.push({label:"Measured on",value:`${n.measuredCacheCalls} of ${n.llmCalls} calls`}),s.push({heading:"Prompt cache",rows:h})}else n.llmCalls&&s.push({heading:"Prompt cache",rows:[{label:"Cache reuse",value:$t}]});const l=r.filter(u=>u.inputTokens!==void 0);return l.length===1&&r.length===1?s.push({heading:"Context",rows:[{label:"Prompt size",value:`${Bt(l[0].inputTokens)} tokens`}]}):l.length>1&&s.push({heading:"Context",rows:[{label:"First → last call",value:`${Bt(l[0].inputTokens)} → ${Bt(l[l.length-1].inputTokens)} tokens`}],note:"Each call re-sends the conversation, so the input total counts the context once per call."}),r.length>1&&s.push({heading:"Per call",table:{columns:["#","Input","Cached","New","Output","Cache"],rows:r.map((u,f)=>[String(f+1),Bt(u.inputTokens),u.cachedTokens===void 0?"—":Bt(u.cachedTokens),u.fedTokens===void 0?"—":Bt(u.fedTokens),Bt(u.outputTokens),u.cacheOutcome||"—"])}}),{kind:"tokens",title:"Tokens",headline:n.totalTokens===void 0?$t:`${n.totalTokens.toLocaleString()} total`,sections:s,footer:ba(n)}}function pa(n,r,s,o){if(n===void 0)return $t;const l=[Yt(n)];return r!==void 0&&l.push(`${r.toLocaleString()} ${o}${s!==void 0?` at ${lp(s)}`:""}`),l.join(" · ")}function Mg(n){var g,y,_;const r=n.modelCalls||[],s=[],o=n.durationMs,l=[{label:"Wall clock",value:Yt(o)}];if(l.push({label:"Model",value:n.genTimeMs===void 0?$t:`${Yt(n.genTimeMs)} · ${vs(n.timedCalls||0,"call")}${n.timedCalls!==n.llmCalls?` (of ${n.llmCalls})`:""}`}),l.push({label:"Tools",value:n.toolTimeMs!==void 0?`${Yt(n.toolTimeMs)} · ${vs(n.toolBatches||0,"batch","batches")}`:n.toolCalls?$t:"none",hint:n.toolTimeIncludesApproval?"includes approval wait":void 0}),o!==void 0&&n.genTimeMs!==void 0){const k=o-n.genTimeMs-(n.toolTimeMs||0);l.push({label:"Orchestration",value:k>=0?Yt(k):"overlaps (parallel runs)",hint:"wall − model − tools: routing, hand-offs, model load"})}s.push({heading:"Turn",rows:l});const u=[],f=n.ttftCalls||0,h=n.promptPhaseCalls||0;n.promptPhaseMs!==void 0?u.push({label:f&&f===h?"Prefill (TTFT)":"Prefill",value:pa(n.promptPhaseMs,n.promptPhaseNewTokens,n.promptPhaseTokensPerSecond,"new tok"),hint:f===h?"measured time to first token":f?`TTFT measured on ${f} of ${h}; rest from provider rate`:"derived: prompt ÷ provider rate"}):n.prefillMs!==void 0&&n.prefillNewTokensPerSecond!==void 0?u.push({label:"Prefill",value:pa(n.prefillMs,n.prefillNewTokens,n.prefillNewTokensPerSecond,"new tok"),hint:"derived: prompt ÷ provider rate"}):n.prefillMs!==void 0?u.push({label:"Prefill",value:`${Yt(n.prefillMs)}${n.promptTokensPerSecond!==void 0?` at ${lp(n.promptTokensPerSecond)}`:""}`,hint:"provider rate over all prompt tokens, restored included"}):u.push({label:"Prefill",value:$t}),n.cachedTokens&&(n.promptPhaseMs??n.prefillMs)!==void 0&&u.push({label:"Restored",value:`${n.cachedTokens.toLocaleString()} tok from cache`,hint:"not recomputed"}),u.push({label:"Generation",value:n.generationPhaseMs!==void 0?pa(n.generationPhaseMs,n.generationPhaseTokens,n.generationPhaseTokensPerSecond,"tok"):pa(n.decodeMs,n.outputTokens,n.generationTokensPerSecond,"tok")}),n.measuredSpeedCalls&&n.measuredSpeedCalls!==n.llmCalls&&u.push({label:"Speeds from",value:`${n.measuredSpeedCalls} of ${n.llmCalls} calls`}),s.push({heading:"Model",rows:u});const p=n.speculation;if(p){const k=(p.draftKinds||[]).map(C=>C.toUpperCase()).join(", "),x=[{label:"Mode",value:`${p.used?"on":"off"}${k?` · ${k}`:""}${(g=p.modes)!=null&&g.length?` (${p.modes.join(", ")})`:""}`,hint:p.calls!==n.llmCalls||p.used!==p.calls?`used on ${p.used} of ${n.llmCalls} calls`:void 0},{label:"Acceptance",value:p.acceptanceRate===void 0?$t:`${Math.round(p.acceptanceRate*100)}% · ${Bt(p.acceptedTokens)} of ${Bt(p.draftedTokens)} drafted`}];((y=p.draftLengths)!=null&&y.length||p.rounds!==void 0)&&x.push({label:"Draft length",value:`${(_=p.draftLengths)!=null&&_.length?`${p.draftLengths.join("/")} tok/round`:$t}${p.rounds!==void 0?` · ${p.rounds.toLocaleString()} rounds`:""}`}),s.push({heading:"Speculation",rows:x})}return n.slowestToolBatch&&s.push({heading:"Tools",rows:[{label:"Total",value:`${Yt(n.toolTimeMs)} · ${vs(n.toolBatches||0,"batch","batches")}`},{label:"Slowest",value:`${Yt(n.slowestToolBatch.ms)} · ${cp(n.slowestToolBatch)}`}],note:n.toolTimeIncludesApproval?"Gated calls are timed from request to result, so this includes waiting for your approval.":void 0}),r.length>1&&s.push({heading:"Per call",table:{columns:["#","Prefill","New tok/s","Gen","Gen tok/s","Cache"],rows:r.map((k,x)=>[String(x+1),k.promptMs===void 0?"—":`${Yt(k.promptMs)}${k.promptSource==="rate"?"*":""}`,k.promptNewTokensPerSecond===void 0?"—":Math.round(k.promptNewTokensPerSecond).toLocaleString(),k.generationMs===void 0?"—":Yt(k.generationMs),k.generationTokensPerSecond===void 0?"—":Math.round(k.generationTokensPerSecond).toLocaleString(),k.cacheOutcome||"—"])},note:r.some(k=>k.promptSource==="rate")?"* derived from the provider's prompt rate (no TTFT event).":void 0}),{kind:"time",title:"Time",headline:o===void 0?$t:`${Yt(o)} wall clock`,sections:s,footer:ba(n)}}function cp(n){return n.tools.length===1?`${n.tools[0]} ×${n.calls}`:`${vs(n.calls,"call")} (${n.tools.join(", ")})`}function Lg(n){const r=[],s=(n.toolsWaiting||0)+(n.toolsRunning||0);if(!n.toolCalls&&!s)return r.push({heading:"Outcome",rows:[{label:"Tools called",value:"none"}]}),{kind:"tools",title:"Tools",headline:"none",sections:r,footer:ba(n)};const o=[{label:"Succeeded",value:(n.toolCalls-(n.toolsFailed||0)).toLocaleString()},{label:"Failed",value:(n.toolsFailed||0).toLocaleString()}];n.toolsRunning&&o.push({label:"Running",value:n.toolsRunning.toLocaleString()}),n.toolsWaiting&&o.push({label:"Awaiting approval",value:n.toolsWaiting.toLocaleString(),hint:"not run yet — not a failure"}),r.push({heading:"Outcome",rows:o});const l=Object.entries(n.toolBreakdown||{}).sort((h,p)=>p[1].calls-h[1].calls||h[0].localeCompare(p[0]));l.length&&r.push({heading:"By tool",table:{columns:["Tool","Calls","Failed","Time"],rows:l.map(([h,p])=>[h,p.calls.toLocaleString(),p.failed.toLocaleString(),p.ms!==void 0?`${Yt(p.ms)}${p.sharedBatches?" +shared":""}`:p.sharedBatches?"shared":$t])},note:l.some(([,h])=>h.sharedBatches)?"A batch that mixed tools ran them together; its time is not split between them.":void 0});const u=l.filter(([,h])=>h.errors&&Object.keys(h.errors).length);u.length&&r.push({heading:"Failures",rows:u.map(([h,p])=>({label:h,value:Object.entries(p.errors).sort((g,y)=>y[1]-g[1]).map(([g,y])=>y>1?`${g} ×${y}`:g).join(" · ")}))});const f=[{label:"Tool time",value:n.toolTimeMs===void 0?$t:`${Yt(n.toolTimeMs)} · ${vs(n.toolBatches||0,"batch","batches")}`}];return n.slowestToolBatch&&f.push({label:"Slowest batch",value:`${Yt(n.slowestToolBatch.ms)} · ${cp(n.slowestToolBatch)}`}),r.push({heading:"Timing",rows:f,note:n.toolTimeIncludesApproval?"Gated calls are timed from request to result, so this includes waiting for your approval.":void 0}),{kind:"tools",title:"Tools",headline:`${vs(n.toolCalls,"call")}${n.toolsFailed?` · ${n.toolsFailed} failed`:""}`,sections:r,footer:ba(n)}}function pc(n,r){return n==="tokens"?Ig(r):n==="time"?Mg(r):Lg(r)}function Pg(n){const r=n.detail;return a.jsxs("div",{ref:n.panelRef,id:n.id,role:"tooltip",className:`pc-stat-detail pc-stat-detail--${r.kind}`,style:n.style,onMouseEnter:n.onMouseEnter,onMouseLeave:n.onMouseLeave,children:[a.jsxs("div",{className:"pc-stat-detail-head",children:[a.jsx("span",{className:"pc-stat-detail-title",children:r.title}),a.jsx("span",{className:"pc-stat-detail-headline",children:r.headline})]}),r.sections.map(s=>{var o;return a.jsxs("div",{className:"pc-stat-detail-section",children:[a.jsx("div",{className:"pc-stat-detail-heading",children:s.heading}),(o=s.rows)!=null&&o.length?a.jsx("dl",{className:"pc-stat-detail-rows",children:s.rows.map(l=>a.jsxs(wt.Fragment,{children:[a.jsx("dt",{children:l.label}),a.jsxs("dd",{children:[a.jsx("span",{className:l.value===$t?"pc-stat-detail-value pc-stat-detail-value--absent":"pc-stat-detail-value",children:l.value}),l.hint?a.jsx("span",{className:"pc-stat-detail-hint",children:l.hint}):null]})]},l.label))}):null,s.table?a.jsxs("table",{className:"pc-stat-detail-table",children:[a.jsx("thead",{children:a.jsx("tr",{children:s.table.columns.map(l=>a.jsx("th",{scope:"col",children:l},l))})}),a.jsx("tbody",{children:s.table.rows.map((l,u)=>a.jsx("tr",{children:l.map((f,h)=>a.jsx("td",{children:f},h))},u))})]}):null,s.note?a.jsx("p",{className:"pc-stat-detail-note",children:s.note}):null]},s.heading)}),a.jsx("div",{className:"pc-stat-detail-foot",children:r.footer.map(s=>a.jsx("div",{children:s},s))})]})}const cr=8;function Og(n){const[r,s]=v.useState(!!n.defaultOpen),[o,l]=v.useState(null),u=v.useRef(null),f=v.useRef(null),h=v.useRef(null),p=`pc-stat-${v.useId().replace(/[^a-zA-Z0-9_-]/g,"")}`,g=v.useCallback(()=>{h.current!==null&&window.clearTimeout(h.current),h.current=null},[]),y=v.useCallback(()=>{g(),s(!0)},[g]),_=v.useCallback(()=>{g(),h.current=window.setTimeout(()=>s(!1),120)},[g]);v.useEffect(()=>g,[g]),v.useLayoutEffect(()=>{if(!r){l(null);return}const j=()=>{const E=u.current,R=f.current;if(!E||!R)return;const A=E.getBoundingClientRect(),T=R.offsetWidth,b=R.offsetHeight,P=window.innerWidth,H=window.innerHeight,D=A.top-cr-b,U=A.bottom+cr,ge=D>=cr?D:U+b<=H-cr?U:Math.max(cr,H-cr-b),ce=Math.min(Math.max(cr,A.left),Math.max(cr,P-cr-T));l({top:ge,left:ce})};return j(),window.addEventListener("resize",j),window.addEventListener("scroll",j,!0),()=>{window.removeEventListener("resize",j),window.removeEventListener("scroll",j,!0)}},[r]),v.useEffect(()=>{if(!r)return;const j=E=>{E.key==="Escape"&&s(!1)};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[r]);const k=typeof n.onClick=="function",x=k?"button":"span",C=r?a.jsx(Pg,{detail:n.detail,id:p,panelRef:f,onMouseEnter:g,onMouseLeave:_,style:{position:"fixed",top:(o==null?void 0:o.top)??0,left:(o==null?void 0:o.left)??0,visibility:o?"visible":"hidden"}}):null;return a.jsxs(a.Fragment,{children:[a.jsxs(x,{ref:u,...k?{type:"button"}:{tabIndex:0},className:["pc-chat-stat","pc-chat-stat--detail",k?"pc-chat-stat--clickable":"",n.className].filter(Boolean).join(" "),"aria-label":`${n.label} — ${n.detail.title.toLowerCase()} details`,"aria-describedby":r?p:void 0,"data-stat-kind":n.detail.kind,onMouseEnter:y,onMouseLeave:_,onFocus:y,onBlur:()=>s(!1),onKeyDown:j=>{j.key==="Escape"&&s(!1)},onClick:k?()=>{var j;return(j=n.onClick)==null?void 0:j.call(n)}:void 0,children:[n.icon?a.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:n.icon}):null,a.jsx("span",{className:"pc-chat-stat-label",children:n.label})]}),C&&typeof document<"u"?Jf.createPortal(C,document.body):C]})}function Fg(n){const r=n.totalTokens!==void 0?pc("tokens",n):null,s=pc("tools",n),o=n.durationMs!==void 0?pc("time",n):null;return[...r?[{label:`${n.totalTokens.toLocaleString()} tokens`,detail:r}]:[],{label:`${n.toolCalls} ${n.toolCalls===1?"tool":"tools"}`,detail:s},...n.changedFiles.length?[{label:`${n.changedFiles.length} ${n.changedFiles.length===1?"file":"files"} changed`,title:n.changedFiles.join(`
|
|
49
|
-
`)}]:[],...o?[{label:`${(n.durationMs/1e3).toFixed(n.durationMs<1e4?1:0)}s`,detail:o}]:[]]}function Dg(n){const r=String(n.role||"").trim().toLowerCase()||"system",s=String(n.kind||"").trim().toLowerCase(),o=String(n.level||"").trim().toLowerCase();return r==="system"&&s==="report_bug"?{label:String(n.title||"").trim()||"Bug report",icon:"warning",variant:"report_bug"}:r==="system"&&s==="report_feature"?{label:String(n.title||"").trim()||"Feature request",icon:"check",variant:"report_feature"}:r==="user"?{label:String(n.title||"").trim()||"You",icon:"user",variant:"user"}:r==="assistant"?{label:String(n.title||"").trim()||"Agent",icon:"bot",variant:"assistant"}:{label:String(n.title||"").trim()||(o==="error"?"Error":o==="warn"?"Warning":"System"),icon:o==="error"?"error":o==="warn"?"warning":"info",variant:o==="error"?"error":o==="warn"?"warn":"status"}}function zg(n){var R;const r=n.message,s=v.useMemo(()=>Dg(r),[r.kind,r.level,r.role,r.title]),o=String(r.ts||"").trim(),l=v.useMemo(()=>{if(!o)return"";const A=new Date(o);return Number.isFinite(A.getTime())?A.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):""},[o]),[u,f]=v.useState("idle"),h=v.useRef(null);v.useEffect(()=>()=>{h.current!==null&&window.clearTimeout(h.current)},[]);const p=r.live,g=!p&&typeof n.onSpeakToggle=="function"&&s.variant==="assistant"&&!!String(r.content||"").trim(),y=g&&((R=n.getSpeakState)==null?void 0:R.call(n,r))||"idle",_=y==="loading"?"loader":y==="playing"?"pause":"speaker",k=y==="loading"?"Generating audio…":y==="playing"?"Pause":y==="paused"?"Resume":"Speak (TTS)",x=n.showCopy!==!1,C=Array.isArray(n.attachments)?n.attachments:[],j=r.statistics,E=v.useMemo(()=>Array.isArray(n.stats)?n.stats:j?Fg(j):[],[n.stats,j]);return r.toolActivity?a.jsx(op,{tool:r.toolActivity,showCopy:n.showCopy}):a.jsxs("div",{className:["pc-chat-item",`pc-chat-item--${s.variant}`,p?"pc-chat-item--live":"",n.className].filter(Boolean).join(" "),...p?{"aria-busy":!0}:{},children:[a.jsxs("div",{className:"pc-chat-header",children:[a.jsx("div",{className:"pc-chat-avatar","aria-hidden":"true",children:a.jsx(ue,{name:s.icon,size:14})}),a.jsx("span",{className:"pc-chat-role",children:s.label}),p?a.jsxs("span",{className:"pc-chat-live-indicator",title:"The reply is still being written",children:[a.jsx("span",{className:"pc-chat-live-dot","aria-hidden":"true"}),"streaming"]}):null,p!=null&&p.caption?a.jsx("span",{className:"pc-chat-live-caption",children:p.caption}):null,a.jsx("span",{className:"pc-chat-header-spacer"}),l?a.jsx("span",{className:"pc-chat-time",children:l}):null,a.jsxs("div",{className:"pc-chat-header-actions",children:[g?a.jsx("button",{className:"pc-chat-icon-btn",type:"button","aria-label":k,title:k,onClick:()=>{var A;return(A=n.onSpeakToggle)==null?void 0:A.call(n,r)},children:a.jsx(ue,{name:_,size:22})}):null,x?a.jsx("button",{className:`pc-chat-icon-btn ${u!=="idle"?`pc-chat-icon-btn--${u}`:""}`.trim(),type:"button","aria-label":"Copy message",title:u==="idle"?"Copy":u==="copied"?"Copied":"Copy failed",onClick:async()=>{const A=await Mc(String(r.content||""));f(A?"copied":"failed"),h.current!==null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>f("idle"),900)},children:a.jsx(ue,{name:"copy",size:22})}):null]})]}),p!=null&&p.reasoning?a.jsxs("details",{className:"pc-chat-thinking",children:[a.jsx("summary",{children:"Thinking"}),a.jsx("div",{className:"pc-chat-thinking-body",children:p.reasoning})]}):null,!p||String(r.content||"").trim()?a.jsx("div",{className:"pc-chat-body",children:a.jsx($g,{text:String(r.content||""),renderMarkdown:n.renderMarkdown,jsonCollapseAfterDepth:n.jsonCollapseAfterDepth,images:n.images||(s.variant==="user"?"inline":"link"),inlineImage:n.inlineImage})}):null,C.length?a.jsx("div",{className:"pc-chat-attachments","aria-label":"Attachments",children:C.slice(0,24).map((A,T)=>{const b=String(A.label||"").trim()||"attachment",P=String(A.target||"").trim(),H=String(A.title||"").trim(),D=!!A.disabled||typeof A.onClick!="function";return a.jsxs("button",{type:"button",className:"pc-chat-attachment-chip",title:H||b,onClick:D?void 0:A.onClick,disabled:D,children:[a.jsx(ue,{name:"paperclip",size:14}),P?a.jsx("span",{className:`pc-chat-attachment-target pc-chat-attachment-target--${P}`,children:P}):null,a.jsx("span",{className:"pc-chat-attachment-name",children:b})]},A.id||`${b}:${T}`)})}):null,E.length?a.jsx("div",{className:"pc-chat-stats","aria-label":"Stats",children:E.slice(0,12).map((A,T)=>{const b=String(A.label||"").trim();if(!b)return null;if(A.detail)return a.jsx(Og,{label:b,detail:A.detail,icon:A.icon,onClick:A.onClick},A.id||`${b}:${T}`);const P=String(A.title||"").trim(),H=typeof A.onClick=="function",D=H?"button":"span";return a.jsxs(D,{...H?{type:"button"}:{},className:["pc-chat-stat",H?"pc-chat-stat--clickable":""].filter(Boolean).join(" "),title:P||void 0,onClick:H?()=>{var U;return(U=A.onClick)==null?void 0:U.call(A)}:void 0,children:[A.icon?a.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:A.icon}):null,a.jsx("span",{className:"pc-chat-stat-label",children:b})]},A.id||`${b}:${T}`)})}):null]})}function Ug(n,r){const s=Math.max(0,Math.trunc(r));return n.scrollHeight-n.scrollTop-n.clientHeight<=s}function Bg(n){const r=typeof n.autoScrollThresholdPx=="number"&&Number.isFinite(n.autoScrollThresholdPx)?n.autoScrollThresholdPx:120,s=n.autoScroll!==!1,o=v.useRef(null),l=v.useRef(null),[u,f]=v.useState(!0),h=v.useMemo(()=>Array.isArray(n.messages)?n.messages:[],[n.messages]),p=v.useMemo(()=>{var _;const y=[];for(const k of h){const x=y[y.length-1];k.toolActivity&&((_=x==null?void 0:x[0])!=null&&_.toolActivity)&&x[0].runId===k.runId?x.push(k):y.push([k])}return y},[h]);v.useEffect(()=>{if(!s)return;const y=o.current;if(!y)return;const _=()=>{f(Ug(y,r))};return y.addEventListener("scroll",_,{passive:!0}),_(),()=>y.removeEventListener("scroll",_)},[s,r]);const g=v.useMemo(()=>{let y=0;for(const _ of h)y+=String(_.content??"").length;return`${h.length}:${y}:${String(n.afterKey??"")}`},[h,n.afterKey]);return v.useEffect(()=>{if(!s||!u)return;const y=o.current;y&&(y.scrollTop=y.scrollHeight)},[s,u,g]),a.jsxs("div",{ref:o,className:["pc-chat-thread",n.className].filter(Boolean).join(" "),children:[h.length?null:n.empty||null,p.map((y,_)=>{var C;const k=y[0],x=String(k.id||"")||String(k.ts||"")+":"+String(k.role||"")+":"+_;return k.toolActivity?a.jsx(ap,{tools:y.map(j=>j.toolActivity),showCopy:(C=n.messageProps)==null?void 0:C.showCopy},x):a.jsx(zg,{message:k,...n.messageProps||{}},x)}),n.after,a.jsx("div",{ref:l})]})}const Wg=wt.forwardRef(function(r,s){const o=typeof r.rows=="number"&&Number.isFinite(r.rows)?Math.max(1,Math.trunc(r.rows)):3,l=!!r.disabled,u=!!r.busy,f=!l&&!u&&!!String(r.value||"").trim();return a.jsxs("div",{className:["pc-composer",r.className].filter(Boolean).join(" "),children:[r.leading,a.jsx("textarea",{ref:s,className:["pc-composer__textarea",r.textareaClassName].filter(Boolean).join(" "),value:r.value,onChange:h=>r.onChange(h.target.value),rows:o,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",placeholder:r.placeholder||"","aria-label":r.ariaLabel||r.placeholder||"Message",disabled:l,autoFocus:!!r.autoFocus,onPaste:r.onPaste,onKeyDown:h=>{h.key!=="Enter"||h.shiftKey||h.nativeEvent.isComposing||h.keyCode===229||(h.preventDefault(),f&&r.onSubmit())}}),a.jsxs("div",{className:"pc-composer__row",children:[a.jsx("div",{className:"pc-composer__actions",children:r.actions}),a.jsx("button",{type:"button",className:r.sendButtonClassName||"pc-btn",disabled:!f,onClick:()=>r.onSubmit(),children:u?r.busyLabel||"Thinking…":r.sendLabel||"Send"})]}),r.overlay]})}),Ze=n=>n&&typeof n=="object"&&!Array.isArray(n)?n:{},Ec=n=>Array.isArray(n)?n.map(Ze):[],Ue=n=>typeof n=="string"?n:"",Ji=n=>Ue(n.runtime_call_id||n.call_uid),Qi=n=>Ue(n.call_id||n.id);function up(n,r){const s=r.record,o=Ze(s.effect);if(o.type!=="tool_calls")return[];const l=Ze(s.result),u=Ec(Ze(o.payload).tool_calls),f=Ec(l.results),h=u.length?u:f,p=[];return h.forEach((g,y)=>{let _=Ji(g)?f.filter(P=>Ji(P)===Ji(g)):[];!_.length&&Qi(g)&&u.filter(P=>Qi(P)===Qi(g)).length===1&&(_=f.filter(P=>Qi(P)===Qi(g)));const k=u.length?_.length===1?_[0]:u.length===f.length?f[y]:{}:g,x=Ji(g)||Ji(k)||`${Ue(s.idempotency_key)||Ue(s.step_id)||r.cursor}:${y}`,C=`${r.runId}:${x}`,j=n.get(C),E=Ue(g.name||k.name)||(j==null?void 0:j.name);if(!E)return;const R=s.status==="completed"||s.status==="failed",A=s.status==="failed"||k.success===!1||!!k.error,T=g.arguments??k.arguments??(j==null?void 0:j.arguments),b={...j,id:C,runId:r.runId,name:E,arguments:T,status:R?A?"failed":"completed":s.status==="waiting"?"waiting":"running",...typeof k.success=="boolean"?{success:k.success}:{},...k.output!==void 0||k.result!==void 0?{output:k.output??k.result}:{},...k.error?{error:String(k.error)}:{},startedAt:(j==null?void 0:j.startedAt)||Ue(s.started_at)||void 0,endedAt:R&&Ue(s.ended_at)||(j==null?void 0:j.endedAt)};j&&["completed","failed"].includes(j.status)&&!R||(n.set(C,b),p.push(b))}),p}function ti(n){if(n==null||n===""||typeof n=="boolean")return;const r=Number(n);return Number.isFinite(r)&&r>=0?r:void 0}function Bn(n,r){for(const s of r){const o=n==null?void 0:n[s];if(o==null||o===""||typeof o=="boolean")continue;const l=Number(o);if(Number.isFinite(l)&&l>=0)return Math.trunc(l)}}function dp(n){if(typeof n=="string")try{return Ze(JSON.parse(n))}catch{return{}}return Ze(n)}function Qs(n,r){if(r===void 0||r==="")return n;const s=n||[];return s.includes(r)||s.push(r),s}function Vg(n){return Bn(n,["reasoning_tokens","thinking_tokens"])??Bn(Ze(n.completion_tokens_details),["reasoning_tokens"])??Bn(Ze(n.output_tokens_details),["reasoning_tokens"])}function Gg(n){const r=Ze(typeof n=="string"&&n.trim().startsWith("{")?dp(n):n);return Ue(r.error_class)}function Hg(n){const r=new Map;for(const s of n){const o=s.record;if(Ze(o.effect).type!=="emit_event")continue;const l=Ze(o.result);if(Ue(l.name)!=="abstract.progress")continue;const u=Ze(l.payload);if(Ue(u.kind)!=="llm"||!Ue(u.step_id))continue;const f=`${Ue(u.run_id)||s.runId}:${Ue(u.step_id)}`,h=r.get(f)||{},p=ti(u.ttft_s);p!==void 0&&(h.ttftS=p),h.provider=h.provider||Ue(u.provider)||void 0,h.model=h.model||Ue(u.model)||void 0,r.set(f,h)}return r}function _a(n){var j,E,R,A;const r=new Map,s=new Set,o=new Set,l={llmCalls:0,toolCalls:0,changedFiles:[]};let u=1/0,f=-1/0,h=!1,p=0,g=0,y=0;const _=Hg(n),k=[],x=new Set;for(const T of n){const b=T.record,P=`${T.runId}:${b.step_id||T.cursor}:${b.status}`;if(s.has(P))continue;s.add(P);for(const ae of[b.started_at,b.ended_at]){const Ce=Date.parse(Ue(ae));Number.isFinite(Ce)&&(u=Math.min(u,Ce),f=Math.max(f,Ce))}for(const ae of up(r,T))ae.status==="waiting"&&x.add(ae.id);if(Ze(b.effect).type!=="llm_call"||b.status!=="completed")continue;l.llmCalls+=1;const H=Ze(b.result),D=Ze(H.output),U=Ze(H.usage||H.token_usage||H.tokens||D.usage||D.token_usage||D.tokens),ge=Bn(U,["input_tokens","prompt_tokens","prompt","input","in"]),ce=Bn(U,["output_tokens","completion_tokens","completion","output","out"]),Q=Bn(U,["total_tokens","total"])??(ge!==void 0||ce!==void 0?(ge||0)+(ce||0):void 0);Q!==void 0&&(ge===void 0||ce===void 0||ge+ce!==Q)&&(h=!0),ge!==void 0&&(l.inputTokens=(l.inputTokens||0)+ge),ce!==void 0&&(l.outputTokens=(l.outputTokens||0)+ce),Q!==void 0&&(l.totalTokens=(l.totalTokens||0)+Q);const W=ti(H.gen_time??D.gen_time);W!==void 0&&(l.genTimeMs=(l.genTimeMs||0)+W,l.timedCalls=(l.timedCalls||0)+1);const K=Ze(H.metadata||D.metadata),q=Ze(K.performance),ee=ti(q.prompt_tokens_per_second),le=ti(q.generation_tokens_per_second),pe=Ze(K.prompt_cache),J=ti(pe.cached_tokens),re=ti(pe.fed_tokens);if(ee!==void 0||le!==void 0){if(l.measuredSpeedCalls=(l.measuredSpeedCalls||0)+1,ee!==void 0&&ee>0&&(l.promptTokensPerSecond=(l.promptTokensPerSecond||0)+ee,ge!==void 0)){const ae=ge/ee*1e3;l.prefillMs=(l.prefillMs||0)+ae,re!==void 0&&(p+=re,g+=ae)}le!==void 0&&le>0&&(l.generationTokensPerSecond=(l.generationTokensPerSecond||0)+le,ce!==void 0&&(l.decodeMs=(l.decodeMs||0)+ce/le*1e3))}if(J!==void 0||re!==void 0){l.measuredCacheCalls=(l.measuredCacheCalls||0)+1,l.cachedTokens=(l.cachedTokens||0)+(J||0),l.fedTokens=(l.fedTokens||0)+(re||0);const ae=Ue(pe.outcome);if(ae){const Ce=l.cacheOutcomes||[];Ce.includes(ae)||Ce.push(ae),l.cacheOutcomes=Ce}}const G=Ue(b.step_id)||void 0,N=G&&_.get(`${T.runId}:${G}`)||{},B=Ze(H.route),z={runId:T.runId};G&&(z.stepId=G),Ue(b.started_at)&&(z.startedAt=Ue(b.started_at));const oe=Ue(H.model||D.model)||Ue(B.model)||N.model,de=Ue(B.provider)||Ue(Ze(K._provider_request).provider)||N.provider||Ue(H.provider);oe&&(z.model=oe),de&&(z.provider=de),oe&&(l.models=Qs(l.models,oe)),de&&(l.providers=Qs(l.providers,de)),(Q===void 0||ge!==void 0&&ce!==void 0&&ge+ce===Q)&&(ge!==void 0&&(z.inputTokens=ge),ce!==void 0&&(z.outputTokens=ce)),Q!==void 0&&(z.totalTokens=Q);const ye=Vg(U);ye!==void 0&&(z.reasoningTokens=ye,l.reasoningTokens=(l.reasoningTokens||0)+ye),J!==void 0&&(z.cachedTokens=J),re!==void 0&&(z.fedTokens=re),Ue(pe.outcome)&&(z.cacheOutcome=Ue(pe.outcome)),Ue(pe.backend)&&(z.cacheBackend=Ue(pe.backend),l.cacheBackends=Qs(l.cacheBackends,z.cacheBackend)),W!==void 0&&(z.genTimeMs=W),ee!==void 0&&ee>0&&(z.promptTokensPerSecond=ee),le!==void 0&&le>0&&(z.generationTokensPerSecond=le),N.ttftS!==void 0?(z.ttftMs=N.ttftS*1e3,z.promptMs=z.ttftMs,z.promptSource="ttft",l.ttftMs=(l.ttftMs||0)+z.ttftMs,l.ttftCalls=(l.ttftCalls||0)+1):z.promptTokensPerSecond!==void 0&&ge!==void 0&&(z.promptMs=ge/z.promptTokensPerSecond*1e3,z.promptSource="rate"),z.promptMs!==void 0&&(l.promptPhaseMs=(l.promptPhaseMs||0)+z.promptMs,l.promptPhaseCalls=(l.promptPhaseCalls||0)+1,re!==void 0&&z.promptMs>0&&(z.promptNewTokensPerSecond=re/(z.promptMs/1e3),l.promptPhaseNewTokens=(l.promptPhaseNewTokens||0)+re,y+=z.promptMs)),z.ttftMs!==void 0&&W!==void 0&&W>=z.ttftMs?z.generationMs=W-z.ttftMs:z.generationTokensPerSecond!==void 0&&ce!==void 0&&(z.generationMs=ce/z.generationTokensPerSecond*1e3),z.generationMs!==void 0&&ce!==void 0&&(l.generationPhaseMs=(l.generationPhaseMs||0)+z.generationMs,l.generationPhaseTokens=(l.generationPhaseTokens||0)+ce);const be=Ze(K.speculation);if(Object.keys(be).length){const ae={};Ue(be.mode)&&(ae.mode=Ue(be.mode)),typeof be.used=="boolean"&&(ae.used=be.used),Ue(be.draft_kind)&&(ae.draftKind=Ue(be.draft_kind));const Ce=Bn(be,["accepted_tokens"]),Be=Bn(be,["drafted_tokens"]),at=Bn(be,["rounds"]),X=Bn(be,["num_draft_tokens"]);Ce!==void 0&&(ae.acceptedTokens=Ce),Be!==void 0&&(ae.draftedTokens=Be),Ce!==void 0&&Be&&(ae.acceptanceRate=Ce/Be),at!==void 0&&(ae.rounds=at),X!==void 0&&(ae.draftLength=X),z.speculation=ae;const te=l.speculation||(l.speculation={calls:0,used:0});te.calls+=1,ae.used&&(te.used+=1),ae.mode&&(te.modes=Qs(te.modes,ae.mode)),ae.draftKind&&(te.draftKinds=Qs(te.draftKinds,ae.draftKind)),Ce!==void 0&&Be!==void 0&&(te.acceptedTokens=(te.acceptedTokens||0)+Ce,te.draftedTokens=(te.draftedTokens||0)+Be),at!==void 0&&(te.rounds=(te.rounds||0)+at),X!==void 0&&(te.draftLengths=Qs(te.draftLengths,X))}k.push(z)}k.length&&(k.every(T=>T.startedAt)&&k.sort((T,b)=>Date.parse(T.startedAt)-Date.parse(b.startedAt)),l.modelCalls=k),y>0&&l.promptPhaseNewTokens!==void 0&&(l.promptPhaseTokensPerSecond=l.promptPhaseNewTokens/(y/1e3)),l.generationPhaseMs&&l.generationPhaseTokens!==void 0&&(l.generationPhaseTokensPerSecond=l.generationPhaseTokens/(l.generationPhaseMs/1e3)),(j=l.speculation)!=null&&j.draftedTokens&&(l.speculation.acceptanceRate=(l.speculation.acceptedTokens||0)/l.speculation.draftedTokens),l.measuredSpeedCalls&&(l.promptTokensPerSecond!==void 0&&(l.promptTokensPerSecond/=l.measuredSpeedCalls),l.generationTokensPerSecond!==void 0&&(l.generationTokensPerSecond/=l.measuredSpeedCalls)),g>0&&(l.prefillNewTokens=p,l.prefillNewTokensPerSecond=p/(g/1e3));const C=new Map;for(const T of r.values()){if(T.status==="waiting"){l.toolsWaiting=(l.toolsWaiting||0)+1;continue}if(T.status==="running"){l.toolsRunning=(l.toolsRunning||0)+1;continue}if(!["completed","failed"].includes(T.status))continue;l.toolCalls+=1;const b=T.status==="failed";b&&(l.toolsFailed=(l.toolsFailed||0)+1);const P=l.toolBreakdown||(l.toolBreakdown={}),H=P[T.name]||(P[T.name]={calls:0,failed:0});if(H.calls+=1,b){H.failed+=1;const Q=Gg(T.output);Q&&((H.errors||(H.errors={}))[Q]=(((E=H.errors)==null?void 0:E[Q])||0)+1)}const D=Date.parse(Ue(T.startedAt)),U=Date.parse(Ue(T.endedAt));if(Number.isFinite(D)&&Number.isFinite(U)&&U>=D){const Q=`${T.runId}|${T.startedAt}|${T.endedAt}`,W=C.get(Q)||{ms:U-D,calls:0,names:new Map,waited:!1};W.calls+=1,W.names.set(T.name,(W.names.get(T.name)||0)+1),x.has(T.id)&&(W.waited=!0),C.set(Q,W)}if(T.success!==!0||!["write_file","create_file","save_file","edit_file","update_file","replace_in_file","delete_file","remove_file","move_file","rename_file","copy_file"].includes(T.name))continue;const ge=dp(T.arguments),ce=Ue(ge.destination||ge.destination_path||ge.file_path||ge.path||ge.filename);ce&&o.add(ce)}for(const T of C.values()){l.toolBatches=(l.toolBatches||0)+1,l.toolTimeMs=(l.toolTimeMs||0)+T.ms,T.waited&&(l.toolTimeIncludesApproval=!0);const b=[...T.names.keys()].sort();(!l.slowestToolBatch||T.ms>l.slowestToolBatch.ms)&&(l.slowestToolBatch={ms:T.ms,calls:T.calls,tools:b});const P=(R=l.toolBreakdown)==null?void 0:R[b[0]];if(b.length===1&&P)P.ms=(P.ms||0)+T.ms;else for(const H of b){const D=(A=l.toolBreakdown)==null?void 0:A[H];D&&(D.sharedBatches=(D.sharedBatches||0)+1)}}return l.changedFiles=[...o],h&&(delete l.inputTokens,delete l.outputTokens),Number.isFinite(u)&&Number.isFinite(f)&&(l.durationMs=Math.max(0,f-u)),{tools:[...r.values()],statistics:l}}function Kg(n){const r=Ze(Ze(n).ledgers);return Object.entries(r).flatMap(([s,o])=>Ec(Ze(o).items).map((l,u)=>({runId:s,cursor:Number(l.cursor)||u+1,record:Object.keys(Ze(l.record)).length?Ze(l.record):l})))}const hc=n=>n&&typeof n=="object"&&!Array.isArray(n)?n:{};function Jg(n){var j,E,R,A;const{tools:r,statistics:s}=_a(n.records),o={toolCalls:s.toolCalls,totalTokens:s.totalTokens,startedAt:String(((j=n.run)==null?void 0:j.created_at)||"")||void 0},l=(T,b,P)=>({...o,label:T,detail:b,tone:P});if(n.loading)return l("Loading conversation","Restoring saved activity","neutral");if(["completed","failed","cancelled"].includes(n.status))return l(n.status==="completed"?"Completed":n.status==="failed"?"Run failed":"Stopped","",n.status==="failed"?"error":n.status==="completed"?"success":"neutral");if((n.connection==="reconnecting"||n.connection==="disconnected")&&(!((E=n.records)!=null&&E.length)||!!n.error))return l(n.connection==="reconnecting"?"Reconnecting":"Disconnected",String(n.error||"Live activity is unavailable"),"waiting");if(n.status==="paused"||((R=n.run)==null?void 0:R.paused)===!0)return l("Paused","Resume when you’re ready","waiting");const u=hc((A=n.interaction)==null?void 0:A.wait),f=hc(u.details),h=f.kind==="tool_approval"||f.mode==="approval_required",p=h&&n.toolApprovalGranted===!0;if(h&&!p)return l("Approval needed","Review the tool requests below","waiting");if(!h&&["user","ask_user"].includes(u.reason))return l("Your answer is needed",String(u.prompt||"The workflow has a question for you"),"waiting");if(!h&&(u.reason==="event"||String(u.wait_key||"").startsWith("evt:")))return l("Waiting for an event",String(u.prompt||"Listening for the workflow’s trigger"),"waiting");const g=r.filter(T=>{var b;return T.status==="running"||p&&T.status==="waiting"&&T.runId===((b=n.interaction)==null?void 0:b.runId)});if(g.length)return l(g.length===1?"Running a tool":`Running ${g.length} tools`,[...new Set(g.map(T=>T.name))].join(" · "),"working");const y=new Map;for(const T of n.records){const b=`${T.runId}:${T.record.step_id||T.record.idempotency_key||T.cursor}`,P=y.get(b);P&&["completed","failed"].includes(String(P.record.status))||y.set(b,T)}if([...y.values()].reverse().find(T=>hc(T.record.effect).type==="llm_call"&&["started","running"].includes(String(T.record.status))))return l("Thinking","Generating the next response","working");const k=n.displayStatus.trim(),x=!/^(completed|complete|done|finished|ready|success|succeeded|failed|running|working|waiting|thinking|idle|paused|stopped|cancelled)$/i.test(k)&&!k.startsWith("{")?k:"",C=r[r.length-1];return l(n.status==="idle"?"Ready":"Working",x||(C?`Last tool: ${C.name} · ${C.status==="failed"?"failed":C.status==="completed"?"done":"waiting"}`:"Following the workflow"),n.status==="idle"?"neutral":"working")}function ha(n){if(!n)return!1;for(let r=0;r<n.length;r+=1)if(n[r]==="Files")return!0;return!1}function yf(n){var o;const r=n==null?void 0:n.items;if(!r||!r.length)return null;let s=0;for(let l=0;l<r.length;l+=1)((o=r[l])==null?void 0:o.kind)==="file"&&(s+=1);return s>0?s:null}function wf(n){return n===1?"Drop file to attach":typeof n=="number"&&n>1?`Drop ${n} files to attach`:"Drop files to attach"}function fp(n){const r=[],s=[],o=n==null?void 0:n.items;if(o&&o.length){for(let u=0;u<o.length;u+=1){const f=o[u];if(!f||f.kind!=="file")continue;const h=typeof f.webkitGetAsEntry=="function"?f.webkitGetAsEntry():null,p=typeof f.getAsFile=="function"?f.getAsFile():null;h!=null&&h.isDirectory?s.push(h.name||(p==null?void 0:p.name)||"folder"):p&&r.push(p)}return{files:r,folders:s}}const l=n==null?void 0:n.files;if(l)for(let u=0;u<l.length;u+=1)l[u]&&r.push(l[u]);return{files:r,folders:s}}function Qg(n){return n.length?n.length===1?`"${n[0]}" is a folder. Folders are not supported: drop the files inside it instead.`:`${n.length} folders were dropped. Folders are not supported: drop the files inside them instead.`:""}const Yg={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/heic":"heic","image/tiff":"tiff","image/bmp":"bmp"};function Yi(n){return String(n).padStart(2,"0")}function Xg(n,r,s){const o=String(n||"").trim();if(o&&!/^image\.(png|jpe?g|gif|webp|heic|tiff?|bmp)$/i.test(o))return o;const l=Yg[String(r||"").toLowerCase()]||o.split(".").pop()||"bin",u=`${s.getFullYear()}-${Yi(s.getMonth()+1)}-${Yi(s.getDate())} at ${Yi(s.getHours())}.${Yi(s.getMinutes())}.${Yi(s.getSeconds())}`;return`${String(r||"").startsWith("image/")||!o?"Pasted image":"Pasted file"} ${u}.${l}`}function Zg(n,r=new Date){if(!n)return[];const s=n.types?Array.from(n.types):[];if(s.includes("text/plain")&&s.includes("text/html"))return[];const{files:o}=fp(n);return o.map(l=>{const u=Xg(l.name,l.type,r);return u===l.name?l:new File([l],u,{type:l.type,lastModified:l.lastModified})})}class qg{constructor(r=1200){this.staleMs=r,this.depth=0,this.lastSeen=0}enter(r){this.depth+=1,this.lastSeen=r}over(r){this.depth===0&&(this.depth=1),this.lastSeen=r}leave(r){return this.depth=Math.max(0,this.depth-1),this.lastSeen=r,this.depth>0}reset(){this.depth=0}active(r){return this.depth>0&&r-this.lastSeen<this.staleMs}}function ey(n,r){if(n.kind==="ask-user"){if(r.kind==="choice"||r.kind==="free-text")return n.onSubmit(r.answer);throw new Error("Invalid submission for ask-user interaction")}if(n.kind==="tool-approval"){if(r.kind==="approve")return n.onApprove();if(r.kind==="deny")return n.onDeny();if(r.kind==="approve-all"&&n.onApproveAll)return n.onApproveAll();throw new Error("Invalid submission for tool-approval interaction")}if(r.kind==="event")return n.onSend(r.payload);throw new Error("Invalid submission for event-wait interaction")}function ty(n){return(n instanceof Error?n.message:String(n||"Unknown error")).trim()||"Unknown error"}function ny(n){return a.jsxs("div",{className:"pc-workflow-interaction__error",role:"alert",children:[a.jsxs("span",{children:["Could not complete that action: ",n.message]}),a.jsx("button",{type:"button",className:"pc-workflow-interaction__retry",onClick:n.onRetry,disabled:n.disabled,children:"Try again"})]})}function ry(n){var D;const r=n.interaction,[s,o]=v.useState(""),[l,u]=v.useState(()=>r.kind==="event-wait"&&r.initialPayload||""),[f,h]=v.useState(null),[p,g]=v.useState(!1),[y,_]=v.useState(""),[k,x]=v.useState(null),C=`${r.kind}:${r.id}`,j=v.useRef(C),E=v.useRef(!1),R=v.useRef(!1),A=v.useRef(!0),T=v.useRef(0);j.current!==C&&(j.current=C,E.current=!1,R.current=!1,T.current+=1);const b=!!n.disabled||f!==null||p||E.current||R.current,P=async(U,ge)=>{var W;if(n.disabled||E.current||R.current)return;const ce=C,Q=++T.current;E.current=!0,x(null),_(""),h(U);try{if(await ge(),!A.current||j.current!==ce||T.current!==Q)return;R.current=!0,g(!0),_("Response sent. Waiting for the workflow to continue.")}catch(K){if(!A.current||j.current!==ce||T.current!==Q)return;x({submission:U,message:ty(K)}),_("The action failed. You can try again."),(W=n.onError)==null||W.call(n,K)}finally{if(!A.current||j.current!==ce||T.current!==Q)return;E.current=!1,h(null)}};v.useEffect(()=>{o(""),u(r.kind==="event-wait"&&r.initialPayload||""),x(null),h(null),g(!1),_("")},[C]),v.useEffect(()=>(A.current=!0,()=>{A.current=!1,T.current+=1,E.current=!1}),[]);const H=()=>{k&&P(k.submission,()=>ey(r,k.submission))};return a.jsxs("section",{className:"pc-workflow-interaction","aria-labelledby":`pc-workflow-interaction-${C}`,children:[a.jsxs("div",{className:"pc-workflow-interaction__heading",children:[a.jsx(ue,{name:r.kind==="tool-approval"?"warning":r.kind==="event-wait"?"history":"info",size:16}),a.jsxs("div",{children:[a.jsx("h3",{tabIndex:-1,id:`pc-workflow-interaction-${C}`,children:r.title||(r.kind==="tool-approval"?"Tool approval required":"Input required")}),r.description?a.jsx("div",{className:"pc-workflow-interaction__description",children:r.description}):null]})]}),r.kind==="ask-user"?a.jsxs("div",{className:"pc-workflow-interaction__body",children:[a.jsx("div",{className:"pc-workflow-interaction__prompt",children:r.prompt}),(D=r.choices)!=null&&D.length?a.jsx("div",{className:"pc-workflow-interaction__choices","aria-label":"Choices",children:r.choices.map(U=>a.jsxs("button",{type:"button",className:"pc-workflow-interaction__choice",disabled:b||U.disabled,onClick:()=>void P({kind:"choice",answer:U.id},()=>r.onSubmit(U.id)),children:[a.jsx("span",{children:U.label}),U.description?a.jsx("small",{children:U.description}):null]},U.id))}):null,r.allowFreeText!==!1?a.jsxs("div",{className:"pc-workflow-interaction__entry",children:[a.jsx("textarea",{"aria-label":"Response",value:s,onChange:U=>o(U.target.value),placeholder:r.freeTextPlaceholder||"Type a response",rows:2,disabled:b,onKeyDown:U=>{U.key!=="Enter"||U.shiftKey||U.nativeEvent.isComposing||U.keyCode===229||(U.preventDefault(),s.trim()&&P({kind:"free-text",answer:s},()=>r.onSubmit(s)))}},`${C}:text`),a.jsx("button",{type:"button",className:"pc-btn",disabled:b||!s.trim(),onClick:()=>void P({kind:"free-text",answer:s},()=>r.onSubmit(s)),children:(f==null?void 0:f.kind)==="free-text"?"Sending…":r.submitLabel||"Submit"})]}):null]}):r.kind==="tool-approval"?a.jsxs("div",{className:"pc-workflow-interaction__body",children:[a.jsxs("div",{className:"pc-workflow-interaction__prompt",children:["Allow ",a.jsx("strong",{children:r.toolName})," to run?"]}),r.detail?a.jsx("div",{className:"pc-workflow-interaction__detail",children:r.detail}):null,a.jsxs("div",{className:"pc-workflow-interaction__buttons",children:[a.jsx("button",{type:"button",className:"pc-workflow-interaction__deny",disabled:b,onClick:()=>void P({kind:"deny"},r.onDeny),children:(f==null?void 0:f.kind)==="deny"?"Denying…":r.denyLabel||"Deny"}),a.jsx("button",{type:"button",className:"pc-btn",disabled:b,onClick:()=>void P({kind:"approve"},r.onApprove),children:(f==null?void 0:f.kind)==="approve"?"Approving…":r.approveLabel||"Approve"}),r.onApproveAll?a.jsx("button",{type:"button",className:"pc-workflow-interaction__allow-all",disabled:b,onClick:()=>void P({kind:"approve-all"},r.onApproveAll),children:(f==null?void 0:f.kind)==="approve-all"?"Approving…":r.approveAllLabel||"Allow all"}):null]}),r.onApproveAll&&r.approveAllDescription?a.jsx("p",{className:"pc-workflow-interaction__scope",children:r.approveAllDescription}):null]}):a.jsxs("div",{className:"pc-workflow-interaction__body",children:[a.jsx("div",{className:"pc-workflow-interaction__prompt",children:r.prompt}),a.jsxs("label",{className:"pc-workflow-interaction__entry",children:[a.jsx("span",{children:r.payloadLabel||(r.eventName?`Payload for ${r.eventName}`:"Event payload")}),a.jsx("textarea",{value:l,onChange:U=>u(U.target.value),placeholder:r.payloadPlaceholder||"Enter payload",rows:2,"aria-label":r.payloadLabel||(r.eventName?`Payload for ${r.eventName}`:"Event payload"),disabled:b},`${C}:payload`)]}),a.jsx("div",{className:"pc-workflow-interaction__buttons",children:a.jsx("button",{type:"button",className:"pc-btn",disabled:b,onClick:()=>void P({kind:"event",payload:l},()=>r.onSend(l)),children:(f==null?void 0:f.kind)==="event"?"Sending…":r.sendLabel||"Send event"})})]}),k?a.jsx(ny,{message:k.message,onRetry:H,disabled:b}):null,a.jsx("div",{className:"pc-workflow-interaction__outcome","aria-live":"polite",children:y})]})}function ma(n){return(n instanceof Error?n.message:String(n||"Unknown error")).trim()||"Unknown error"}function sy(n){const[r,s]=v.useState(!1),[o,l]=v.useState(!1),[u,f]=v.useState(!1),[h,p]=v.useState(null),g=v.useRef(!0),y=v.useRef(!1),_=v.useRef(!1),k=v.useRef(!1),x=v.useRef(0),C=v.useRef(0),j=v.useRef(0);v.useEffect(()=>(g.current=!0,()=>{g.current=!1,x.current+=1,C.current+=1,j.current+=1,y.current=!1,_.current=!1,k.current=!1}),[]);const E=!!n.blockedNotice,R=!!n.disabled||E,A=!!n.busy||r,T=r||!!n.busy&&!n.sendWhileBusy,b=n.stopState||null,P=(b==null?void 0:b.phase)==="stopping",H=typeof n.onFiles=="function",D=v.useRef(null),[U,ge]=v.useState(null),[ce,Q]=v.useState(""),W=v.useRef(n.onFiles);W.current=n.onFiles;const K=v.useRef(R);K.current=R;const q=async(z,oe)=>{const de=W.current;if(de){if(K.current){p({action:"attach",message:"attachments are unavailable right now."});return}if(oe.length)p({action:"attach",message:Qg(oe)});else if(z.length)p(null);else{p({action:"attach",message:"the drop contained no files."});return}if(z.length){Q(`Attaching ${z.length} ${z.length===1?"file":"files"}…`);try{await de(z)}catch(ye){g.current&&p({action:"attach",message:ma(ye)})}}}},ee=v.useRef(q);ee.current=q,v.useEffect(()=>{if(!H||typeof window>"u")return;const z=new qg;let oe=0;const de=te=>!!(D.current&&te instanceof Node&&D.current.contains(te)),ye=()=>{z.reset(),oe&&window.clearInterval(oe),oe=0,ge(null)},be=()=>{oe||(oe=window.setInterval(()=>{z.active(Date.now())||ye()},250))},ae=te=>{var we;if(!ha((we=te.dataTransfer)==null?void 0:we.types))return;z.enter(Date.now());const he=de(te.target),Fe=yf(te.dataTransfer);ge(Me=>Me&&Me.over===he&&Me.count===(Fe??Me.count)?Me:{count:Fe??(Me==null?void 0:Me.count)??null,over:he}),be()},Ce=te=>{var Fe;if(!ha((Fe=te.dataTransfer)==null?void 0:Fe.types))return;te.preventDefault(),z.over(Date.now());const he=de(te.target);te.dataTransfer&&(te.dataTransfer.dropEffect=he&&!K.current?"copy":"none"),ge(we=>we&&we.over===he?we:{count:(we==null?void 0:we.count)??yf(te.dataTransfer),over:he}),be()},Be=te=>{var he;ha((he=te.dataTransfer)==null?void 0:he.types)&&(z.leave(Date.now())||ye())},at=te=>{var ze;if(!ha((ze=te.dataTransfer)==null?void 0:ze.types))return;const he=de(te.target),Fe=te.defaultPrevented&&!he;if(te.preventDefault(),ye(),Fe)return;if(!he){p({action:"attach",message:"drop files on the conversation to attach them."});return}const{files:we,folders:Me}=fp(te.dataTransfer);ee.current(we,Me)},X=te=>{te.key==="Escape"&&z.depth>0&&ye()};return window.addEventListener("dragenter",ae),window.addEventListener("dragover",Ce),window.addEventListener("dragleave",Be),window.addEventListener("drop",at),window.addEventListener("dragend",ye),window.addEventListener("blur",ye),window.addEventListener("keydown",X),()=>{window.removeEventListener("dragenter",ae),window.removeEventListener("dragover",Ce),window.removeEventListener("dragleave",Be),window.removeEventListener("drop",at),window.removeEventListener("dragend",ye),window.removeEventListener("blur",ye),window.removeEventListener("keydown",X),oe&&window.clearInterval(oe)}},[H]);const le=z=>{if(!H||R)return;const oe=Zg(z.clipboardData);oe.length&&(z.preventDefault(),q(oe,[]))},pe=U?a.jsxs("div",{className:["pc-workflow-chat__dropzone",U.over?"is-over":"",R?"is-disabled":""].filter(Boolean).join(" "),"aria-hidden":"true",children:[a.jsx("span",{className:"pc-workflow-chat__dropzone-icon",children:a.jsx(ue,{name:"paperclip",size:18})}),a.jsxs("span",{className:"pc-workflow-chat__dropzone-text",children:[a.jsx("strong",{children:R?"Attachments are unavailable right now":wf(U.count)}),R?null:a.jsx("span",{children:U.over?"Release to upload to this conversation":"Drop anywhere on the conversation"})]})]}):null,J=U?R?"Attachments are unavailable right now":wf(U.count):ce,re=async()=>{const z=String(n.draft||"");if(R||y.current||!n.sendWhileBusy&&n.busy||!z.trim())return;const oe=++x.current;y.current=!0,p(null),s(!0);try{await n.onSend(z)}catch(de){g.current&&x.current===oe&&p({action:"send",message:ma(de)})}finally{g.current&&x.current===oe&&(y.current=!1,s(!1))}},G=async()=>{if(R||_.current||!n.onCancel)return;const z=++C.current;_.current=!0,p(null),l(!0);try{await n.onCancel()}catch(oe){g.current&&C.current===z&&p({action:"cancel",message:ma(oe)})}finally{g.current&&C.current===z&&(_.current=!1,l(!1))}},N=async()=>{if(R||k.current||!n.onAttach)return;const z=++j.current;k.current=!0,p(null),f(!0);try{await n.onAttach()}catch(oe){g.current&&j.current===z&&p({action:"attach",message:ma(oe)})}finally{g.current&&j.current===z&&(k.current=!1,f(!1))}},B=()=>{h&&(h.action==="send"&&re(),h.action==="cancel"&&G(),h.action==="attach"&&N())};return a.jsxs("section",{ref:D,className:["pc-workflow-chat",U?"pc-workflow-chat--dragging":"",U!=null&&U.over?"pc-workflow-chat--drag-over":"",n.className].filter(Boolean).join(" "),"aria-label":"Workflow chat","data-stream-replies":n.streamReplies||"gateway_default",children:[n.header?a.jsx("header",{className:"pc-workflow-chat__header",children:n.header}):null,a.jsx("div",{className:"pc-workflow-chat__transcript",children:a.jsx(Bg,{messages:Array.isArray(n.messages)?n.messages:[],empty:n.emptyState,autoScroll:!0,messageProps:{...n.messageProps,...n.renderMarkdown?{renderMarkdown:n.renderMarkdown}:{}},after:a.jsxs(a.Fragment,{children:[n.interaction?a.jsx(ry,{interaction:n.interaction,disabled:R}):null,E?a.jsx("div",{className:"pc-workflow-chat__blocked",role:"status",children:n.blockedNotice}):null]}),afterKey:`${n.interaction?`${n.interaction.kind}:${n.interaction.id}`:""}:${E?"blocked":""}`})}),h?a.jsxs("div",{className:"pc-workflow-chat__error",role:"alert",children:[a.jsxs("span",{children:["Could not ",h.action==="send"?"send this message":h.action==="attach"?"attach a file":"stop the run",": ",h.message]}),a.jsx("button",{type:"button",onClick:B,disabled:R,children:"Try again"})]}):null,a.jsxs("div",{className:"pc-workflow-chat__composer",children:[a.jsx(Wg,{value:n.draft,onChange:n.onDraftChange,onSubmit:()=>void re(),placeholder:n.placeholder||"Send a message",ariaLabel:"Message",disabled:R,busy:T,sendLabel:n.sendLabel,busyLabel:n.busyLabel,rows:2,leading:n.attachments?a.jsx("div",{className:"pc-workflow-chat__attachments",children:n.attachments}):null,overlay:pe,onPaste:H?le:void 0,actions:a.jsxs(a.Fragment,{children:[n.onAttach?a.jsxs("button",{type:"button",className:"pc-workflow-chat__icon-button","aria-label":"Attach file",title:"Attach file",disabled:R||u,onClick:()=>void N(),children:[a.jsx(ue,{name:"paperclip",size:16}),a.jsx("span",{children:u?"Attaching…":"Attach"})]}):null,n.composerExtras,A&&n.onCancel?a.jsxs("button",{type:"button",className:"pc-workflow-chat__stop",disabled:R||o||P,onClick:()=>void G(),children:[a.jsx(ue,{name:"x",size:14}),a.jsx("span",{children:o||P?"Stopping…":"Stop"})]}):b?a.jsx("span",{className:`pc-workflow-chat__stop-state pc-workflow-chat__stop-state--${b.phase}`,role:"status","aria-live":"polite",children:b.label}):null]})}),H?a.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:J}):null]}),n.footer?a.jsx("footer",{className:"pc-workflow-chat__footer",children:n.footer}):null]})}const Zi="llm.delta",ni="llm.delta_end";function iy(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function ps(n){return typeof n=="string"&&n.trim()!==""}function oy(n){return typeof n=="number"&&Number.isInteger(n)&&n>=0}function ay(n){return"reason"in n}function pp(n,r){const s=iy(n),o=s==null?void 0:s.kind,l=r||(typeof o=="string"&&o?o:s&&"reason"in s?ni:Zi),u=p=>{throw new Error(`Malformed ${l} event from the gateway: ${p}`)};if(r!==void 0&&r!==Zi&&r!==ni&&u(`unknown event name ${JSON.stringify(r)}`),!s)return u("the payload is not an object");o!==void 0&&o!==Zi&&o!==ni&&u(`unknown kind ${JSON.stringify(o)}`),o!==void 0&&r!==void 0&&o!==r&&u(`kind ${JSON.stringify(o)} does not match the event name`),ps(s.run_id)||u("run_id is missing"),ps(s.call_id)||u("call_id is missing"),oy(s.seq)||u("seq is not a non-negative integer");const f=r||o?(r||o)===ni:"reason"in s;s.root_run_id!==void 0&&!ps(s.root_run_id)&&u("root_run_id is not a run id"),s.parent_run_id!==void 0&&s.parent_run_id!==null&&!ps(s.parent_run_id)&&u("parent_run_id is neither a run id nor null");const h={run_id:s.run_id,...ps(s.root_run_id)?{root_run_id:s.root_run_id}:{},...s.parent_run_id!==void 0?{parent_run_id:s.parent_run_id}:{},...ps(s.node_id)?{node_id:s.node_id}:{},call_id:s.call_id,seq:s.seq};return f?(["completed","failed","cancelled","unavailable"].includes(String(s.reason))||u(`unknown reason ${JSON.stringify(s.reason)}`),s.detail!==void 0&&s.detail!==null&&typeof s.detail!="string"&&u("detail is not a string"),{kind:ni,...h,reason:s.reason,...ps(s.detail)?{detail:s.detail}:{}}):(typeof s.text!="string"&&u("text is not a string"),s.channel!=="content"&&s.channel!=="reasoning"&&u(`unknown channel ${JSON.stringify(s.channel)}`),typeof s.snapshot!="boolean"&&u("snapshot is not a boolean"),{kind:Zi,...h,text:s.text,channel:s.channel,snapshot:s.snapshot})}function ly(n,r){if(n!==Zi&&n!==ni)return null;let s=r;if(typeof r=="string")try{s=JSON.parse(r)}catch{throw new Error(`Malformed ${n} event from the gateway: data is not JSON`)}return pp(s,n)}function cy(n){if(n==="on")return{stream:!0};if(n==="off")return{stream:!1};if(n==="gateway_default")return{};throw new Error(`Unknown streamReplies mode ${JSON.stringify(n)}; use "gateway_default", "on" or "off"`)}const uy={structured_output:"this step asks the model for structured output",remote_core:"the model runs on a remote AbstractCore server",provider_cannot_stream:"the model provider cannot stream",sink_error:"the gateway could not relay the live text",usage_unavailable:"the provider does not report token usage while streaming"};function dy(n){return`This reply is not streamed: ${n?uy[n]||`the gateway reported "${n}"`:"the gateway gave no reason"}. It appears when it is complete.`}function fy(n){return n.toolApprovalGranted?null:n.interaction}const vf={messages:[],records:[],run:null,interaction:null,status:"idle",displayStatus:"",loading:!1,error:null,connection:"idle",toolApprovalGranted:!1,stop:null};function Ie(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function Re(n){return typeof n=="string"?n.trim():n==null?"":typeof n=="number"||typeof n=="boolean"?String(n):""}function qi(n){return Array.isArray(n)?n:[]}function ln(n){return Re(n==null?void 0:n.status).toLowerCase()||"unknown"}function bt(n){return["completed","failed","cancelled"].includes(n.toLowerCase())}function Fr(n){const r=Ie(n),s=Number((r==null?void 0:r.status)??(r==null?void 0:r.statusCode));return s===401||s===403}function py(n){const r=Ie(n);return Number((r==null?void 0:r.status)??(r==null?void 0:r.statusCode))}function mc(n){const r=s=>{if(Array.isArray(s))return s.map(r);const o=Ie(s);if(!o)return s;const l={};for(const u of Object.keys(o).sort())l[u]=r(o[u]);return l};try{return JSON.stringify(r(n))}catch{return"[unserializable]"}}function $c(n){if(typeof n=="string")return n.trim();const r=Ie(n);if(!r)return"";for(const s of["answer","response","message","text","content","output"]){const o=r[s];if(typeof o=="string"&&o.trim())return o.trim()}return""}function Ys(n){const r=$c(n);if(r)return r;if(!Ie(n)&&!Array.isArray(n))return"";try{return JSON.stringify(n,null,2)}catch{return""}}function _f(n){if(!n)return"";for(const o of["prompt","request","task","message","query","input"]){const l=Re(n[o]);if(l)return l}const r=Ie(n.context);for(const o of["task","message"]){const l=Re(r==null?void 0:r[o]);if(l)return l}const s=qi(r==null?void 0:r.messages);for(let o=s.length-1;o>=0;o-=1){const l=Ie(s[o]);if(Re(l==null?void 0:l.role).toLowerCase()!=="user")continue;const u=Re(l==null?void 0:l.content);if(u)return u}return""}function hp(n){const r=Ie(n.result);return Ie(r==null?void 0:r.wait)}function Rc(n){return Ie(n.effect)||{}}function hy(n,r){return Re(n.run_id)||r}function kf(n){return Re(n.ended_at)||Re(n.started_at)||void 0}function xf(n){const r=new Set,s=g=>{const y=Re(g);y&&r.add(y)},o=Ie(n.result);s(o==null?void 0:o.sub_run_id),s(o==null?void 0:o.subRunId),s(o==null?void 0:o.child_run_id);const l=Rc(n),u=Ie(l.payload);Re(l.type)==="start_subworkflow"&&(s(u==null?void 0:u.sub_run_id),s(u==null?void 0:u.subRunId),s(u==null?void 0:u.child_run_id));const f=hp(n),h=Ie(f==null?void 0:f.details);s(h==null?void 0:h.sub_run_id),s(h==null?void 0:h.subRunId),s(h==null?void 0:h.child_run_id);const p=Re(f==null?void 0:f.wait_key);return p.startsWith("subworkflow:")&&s(p.slice(12)),[...r]}class my{constructor(r,s={}){this.transport=r,this.options=s,this.snapshot={...vf},this.subscribers=new Set,this.controller=null,this.generation=0,this.rootRunId="",this.cursors=new Map,this.seenRecords=new Set,this.seenMessages=new Set,this.watchedRuns=new Set,this.childCatchUpAttempts=new Map,this.runStates=new Map,this.historicalRuns=new Map,this.historicalRunFailures=new Map,this.commandIds=new Map,this.toolActivities=new Map,this.historicalEvidence=new Map,this.approvedWaits=new Set,this.grantedToolWaits=new Set,this.approvalEpoch=0,this.toolApprovalPolicy=null,this.toolApprovalSuspended=!1,this.toolApprovalStopped=!1,this.displayStatusAt=-1/0,this.stopRequested=!1,this.stopFollowing=!1,this.openLlmSteps=new Set,this.forcedStop=null,this.liveReplies=new Map,this.closedLiveCalls=new Set,this.shownLiveCalls=new Set,this.liveDirty=new Set,this.liveRenderTimer=null,this.lastLiveRender=-1/0;const o=s.liveRenderIntervalMs??60;if(typeof o!="number"||!Number.isFinite(o)||o<0)throw new Error(`liveRenderIntervalMs must be a non-negative number of milliseconds, got ${JSON.stringify(s.liveRenderIntervalMs)}`);this.liveRenderIntervalMs=o}subscribe(r){return this.subscribers.add(r),()=>this.subscribers.delete(r)}getSnapshot(){return this.snapshot}reset(){var r;this.toolApprovalSuspended=!1,this.toolApprovalStopped=!1,this.approvalEpoch+=1,this.displayStatusAt=-1/0,this.stopRequested=!1,this.stopFollowing=!1,this.openLlmSteps.clear(),this.forcedStop=null,this.generation+=1,(r=this.controller)==null||r.abort(),this.controller=null,this.rootRunId="",this.cursors.clear(),this.seenRecords.clear(),this.seenMessages.clear(),this.watchedRuns.clear(),this.childCatchUpAttempts.clear(),this.runStates.clear(),this.historicalRuns.clear(),this.historicalRunFailures.clear(),this.commandIds.clear(),this.toolActivities.clear(),this.historicalEvidence.clear(),this.approvedWaits.clear(),this.grantedToolWaits.clear(),this.liveReplies.clear(),this.closedLiveCalls.clear(),this.shownLiveCalls.clear(),this.liveDirty.clear(),this.lastLiveRender=-1/0,this.liveRenderTimer&&(clearTimeout(this.liveRenderTimer),this.liveRenderTimer=null),this.set({...vf})}dispose(){this.reset(),this.subscribers.clear()}async load(r){var u;const s=Re(r);if(this.reset(),!s)return;const o=++this.generation,l=new AbortController;this.controller=l,this.rootRunId=s,this.set({...this.snapshot,loading:!0,status:"loading",error:null,connection:"connecting"});try{const[f,h]=await Promise.all([this.transport.getRun(s,l.signal),this.transport.getHistory(s,l.signal)]);if(!this.live(o))return;const p=Ie(f),g=Ie(p==null?void 0:p.waiting),y=ln(p);if(await this.ingestHistory(h,s,o),!this.live(o))return;if(this.set({...this.snapshot,run:p,status:y,loading:!1,...g&&!bt(y)?{interaction:{runId:s,wait:g,...((u=this.snapshot.interaction)==null?void 0:u.runId)===s&&Re(this.snapshot.interaction.wait.wait_key)===Re(g.wait_key)?{stepId:this.snapshot.interaction.stepId}:{}}}:{}}),p&&this.updateRunState(s,p),g)for(const _ of xf({result:{wait:g}}))_!==s&&this.catchUpAndWatch(_,o);await this.catchUpAndWatch(s,o),this.pollRootLifecycle(s,o)}catch(f){!l.signal.aborted&&this.live(o)&&this.fail(f)}}async sendCommand(r,s={}){var y,_;r==="cancel"&&(this.toolApprovalStopped=!0,this.revokeToolApproval(),this.stopRequested=!0,this.recomputeStop());const o=Re(s.wait_key),l=r==="resume"?o?this.interactionRunId()||this.rootRunId:this.rootRunId:r==="emit_event"?this.interactionRunId()||this.rootRunId:this.rootRunId;if(!l)throw new Error("No workflow run is loaded");const u=r==="resume"&&o&&((y=this.snapshot.interaction)==null?void 0:y.stepId)||"",f=`${l}\0${r}\0${u}\0${mc(s)}`;let h=this.commandIds.get(f);h||(h=this.newCommandId(),this.commandIds.set(f,h));const p=this.generation,g=(_=this.controller)==null?void 0:_.signal;try{const k=await this.transport.submitCommand({command_id:h,run_id:l,type:r,payload:s,...this.options.clientId?{client_id:this.options.clientId}:{}},g);if(!this.live(p))return k;const x=Ie(k);if(x&&x.accepted===!1)throw r==="cancel"&&(this.stopRequested=!1,this.recomputeStop()),new Error(Re(x.detail)||"Gateway did not accept the command");return this.commandIds.delete(f),l===this.rootRunId&&["pause","resume","cancel"].includes(r)&&this.refreshRunState(l,p),k}catch(k){throw this.live(p)&&this.fail(k,!1),k}}resume(r){const s=this.requireInteraction();return this.sendCommand("resume",{wait_key:Re(s.wait.wait_key),payload:{response:r}})}approve(r,s){const o=this.requireInteraction();if(bt(this.snapshot.status))throw new Error("This run has already ended.");if(s&&(o.runId!==s.runId||Re(o.wait.wait_key)!==s.waitKey||s.stepId!==void 0&&o.stepId!==s.stepId))throw new Error("This approval request has changed. Review the current request before deciding.");if(r&&this.toolApprovalPolicy&&!this.toolCallsMatch(o,this.toolApprovalPolicy.enabledTools))throw new Error("This request includes an unavailable or unselected tool. It cannot be authorized. Deny this request or stop the run and change Tools settings.");const l=this.generation;return this.sendCommand("resume",{wait_key:Re(o.wait.wait_key),payload:{approved:!!r}}).then(u=>{if(!this.live(l))return u;const f=this.occurrenceKey(o);return this.approvedWaits.add(f),r&&this.isToolApproval(o)&&!this.grantedToolWaits.has(f)&&(this.grantedToolWaits.add(f),this.set({...this.snapshot})),u})}async approveWithPolicyChange(r,s){const o=this.generation,l=this.approvalEpoch;if(!this.isToolApproval(this.requireInteraction()))throw new Error("This is not a tool approval request.");await this.approve(!0,r),!(!this.live(o)||l!==this.approvalEpoch||this.toolApprovalStopped||bt(this.snapshot.status))&&s()}async allowAllToolsForRun(r){const s=this.generation,o=this.approvalEpoch,l=this.requireInteraction();if(!this.isToolApproval(l))throw new Error("This is not a tool approval request.");await this.approve(!0,r),!(!this.live(s)||o!==this.approvalEpoch||bt(this.snapshot.status))&&(this.approvedWaits.add(`${r.runId}:${r.waitKey}${l.stepId?`:${l.stepId}`:""}`),this.set({...this.snapshot,autoApproveTools:!0}))}revokeToolApproval(){this.approvalEpoch+=1,this.toolApprovalSuspended=!0,this.set({...this.snapshot,autoApproveTools:!1})}setToolApprovalPolicy(r){mc(r)!==mc(this.toolApprovalPolicy)&&(this.approvalEpoch+=1,this.toolApprovalSuspended=!1,this.toolApprovalPolicy=r?{enabledTools:[...r.enabledTools],autoApproveTools:[...r.autoApproveTools]}:null,this.set({...this.snapshot}))}occurrenceKey(r){return`${r.runId}:${Re(r.wait.wait_key)}${r.stepId?`:${r.stepId}`:""}`}coveredByStandingPermission(r,s){var o;return r.loading||this.toolApprovalStopped||this.toolApprovalSuspended||!this.toolApprovalPolicy&&!r.autoApproveTools||bt(r.status)||((o=r.run)==null?void 0:o.paused)===!0||r.status==="paused"||!s||!this.isToolApproval(s)||this.toolApprovalPolicy&&(!this.toolCallsMatch(s,this.toolApprovalPolicy.enabledTools)||!this.toolCallsMatch(s,this.toolApprovalPolicy.autoApproveTools))?!1:!!Re(s.wait.wait_key)}present(r){const s=r.interaction,o=s?this.occurrenceKey(s):"",l=!!(s&&this.isToolApproval(s)&&(this.grantedToolWaits.has(o)||!this.approvedWaits.has(o)&&this.coveredByStandingPermission({...r,loading:!1},s)));if(!l&&!this.snapshot.toolApprovalGranted&&!r.toolApprovalGranted)return r.toolApprovalGranted===!1?r:{...r,toolApprovalGranted:!1};let u=!1;const f=r.messages.map(h=>{var y;const p=h.toolActivity;if(!p||((y=this.toolActivities.get(p.id))==null?void 0:y.status)!=="waiting")return h;const g=l&&p.runId===(s==null?void 0:s.runId)?"running":"waiting";return p.status===g?h:(u=!0,this.toolMessage({...p,status:g}))});return{...r,toolApprovalGranted:l,...u?{messages:f}:{}}}toolCallsMatch(r,s){var l;const o=qi((l=Ie(r.wait.details))==null?void 0:l.tool_calls);return o.length>0&&o.every(u=>{var h;const f=Re((h=Ie(u))==null?void 0:h.name);return!!f&&s.includes(f)})}isToolApproval(r){const s=Ie(r.wait.details);return(s==null?void 0:s.mode)==="approval_required"||(s==null?void 0:s.kind)==="tool_approval"}autoApproveCurrentWait(){const r=this.snapshot.interaction;if(!this.coveredByStandingPermission(this.snapshot,r))return;const s={runId:r.runId,waitKey:Re(r.wait.wait_key),stepId:r.stepId},o=this.occurrenceKey(r);if(this.approvedWaits.has(o))return;this.approvedWaits.add(o),this.grantedToolWaits.add(o);const l=this.generation,u=this.approvalEpoch;this.approve(!0,s).catch(f=>{if(this.live(l)){if(this.grantedToolWaits.delete(o),u!==this.approvalEpoch){this.set({...this.snapshot});return}this.toolApprovalSuspended=!0,this.set({...this.snapshot,autoApproveTools:!1}),this.fail(f,!1)}})}emitEvent(r){return this.sendCommand("emit_event",r)}cancel(){return this.sendCommand("cancel",{})}requireInteraction(){if(!this.snapshot.interaction)throw new Error("This workflow is not waiting for input");if(!Re(this.snapshot.interaction.wait.wait_key))throw new Error("The workflow wait has no wait_key");return this.snapshot.interaction}interactionRunId(){var r;return((r=this.snapshot.interaction)==null?void 0:r.runId)||""}live(r){var s;return r===this.generation&&!((s=this.controller)!=null&&s.signal.aborted)}set(r){this.snapshot=this.present(r);for(const s of this.subscribers)s();this.autoApproveCurrentWait()}async catchUpAndWatch(r,s){var o;if(!(!this.live(s)||this.watchedRuns.has(r))){this.watchedRuns.add(r);try{if(r!==this.rootRunId)try{const l=Ie(await this.transport.getRun(r,(o=this.controller)==null?void 0:o.signal));if(!this.live(s))return;l&&this.updateRunState(r,l)}catch(l){if(!this.live(s))return;if(Fr(l))throw l;this.fail(l,!1)}if(await this.catchUp(r,s),!this.live(s)||bt(ln(this.runStates.get(r)||null)))return;this.childCatchUpAttempts.delete(r),this.watch(r,s)}catch(l){if(!this.live(s))return;if(this.watchedRuns.delete(r),r===this.rootRunId)throw l;if(Fr(l)){this.fail(l);return}const u=(this.childCatchUpAttempts.get(r)||0)+1;if(this.childCatchUpAttempts.set(r,u),this.fail(l,!1),u>=5)return;await this.waitForRetry(Math.min(2e3,150*2**(u-1))),this.live(s)&&this.catchUpAndWatch(r,s)}}}async catchUp(r,s){var o;for(let l=0;l<100&&this.live(s);l+=1){const u=this.cursors.get(r)||0,f=await this.transport.getLedger(r,u,(o=this.controller)==null?void 0:o.signal);if(!this.live(s))return;const h=Ie(f),p=Array.isArray(f)?f:qi(h==null?void 0:h.items);for(const y of p)this.ingestItem(r,y);const g=Number(h==null?void 0:h.next_after);if(!p.length||!Number.isFinite(g)||g<=u)break;this.cursors.set(r,g)}}async watch(r,s){try{await this.followStream(r,s)}finally{this.live(s)&&this.closeLiveRepliesVia(r)}}async followStream(r,s){var l;let o=0;for(;this.live(s)&&!bt(ln(this.runStates.get(r)||null));){const u=this.cursors.get(r)||0;this.set({...this.snapshot,connection:o?"reconnecting":"connecting"});try{let f=!1;const h=()=>{!this.live(s)||f||(f=!0,this.set({...this.snapshot,connection:"connected",error:null}))};if(this.dropLiveRepliesVia(r),await this.transport.streamLedger(r,u,g=>{this.live(s)&&(h(),this.ingestItem(r,g))},this.controller.signal,h,g=>{this.live(s)&&(h(),this.ingestDelta(r,g))}),!this.live(s)||(await this.catchUp(r,s),!this.live(s)))return;const p=Ie(await this.transport.getRun(r,(l=this.controller)==null?void 0:l.signal));if(!this.live(s))return;p&&this.updateRunState(r,p),o+=1}catch(f){if(!this.live(s))return;if(o+=1,this.fail(f,!1),Fr(f)){this.set({...this.snapshot,connection:"disconnected"});return}}if(o>=5||!this.live(s))break;await this.waitForRetry(Math.min(2e3,150*2**(o-1)))}if(this.live(s)){if(bt(ln(this.runStates.get(r)||null))){this.set({...this.snapshot,connection:"disconnected"});return}this.set({...this.snapshot,connection:"disconnected",error:this.snapshot.error||"Ledger stream reconnect limit reached. Reconnect the workflow to continue."})}}async ingestHistory(r,s,o){const l=Ie(r);if(!l)return;const u=Ie(l.session),f=qi(u==null?void 0:u.turns).map(Ie).filter(g=>!!g);if(await this.hydrateHistoricalSessionRuns(f,s,o),!this.live(o))return;for(const g of f){const y=Re(g==null?void 0:g.run_id)||s;this.ingestSessionTurn(g,s,y!==s&&this.historicalRuns.get(y)||null)}const h=`turn:${s}:user`;if(!this.seenMessages.has(h)){const g=_f(Ie(l.input_data));g&&this.addMessage({id:h,role:"user",content:g})}const p=Ie(l.ledgers);if(p)for(const[g,y]of Object.entries(p)){const _=Ie(y);for(const k of qi(_==null?void 0:_.items))this.ingestItem(g,k)}}ingestSessionTurn(r,s,o){if(!r)return;const l=Re(r.run_id)||s,u=Ie(r.input_data)||Ie(r.input)||{},f=Re(r.prompt)||_f(u);f&&this.addMessage({id:`turn:${l}:user`,role:"user",content:f,ts:Re(r.created_at)||void 0});const h=this.historicalRunFailures.get(l);if(h){const _=Re(r.answer)||$c(r.output),k=h.missing?"is unavailable because the run no longer exists":"could not be restored",x=_?` Saved reply (not verified as the final result): ${_}`:"";this.addMessage({id:`history:${l}:unavailable`,role:"system",level:"warn",title:"History",content:`The final output for an earlier turn ${k}.${x}`});return}const g=(o&&bt(ln(o))?Ys(o.output):"")||(o?Re(r.answer)||$c(r.output):""),y=this.historicalEvidence.get(l);for(const _ of(y==null?void 0:y.tools)||[])this.upsertTool(_);g&&this.addRunAssistantMessage(l,{id:`final:${l}`,role:"assistant",content:g,runId:l,statistics:y==null?void 0:y.statistics,ts:Re(r.updated_at)||void 0})}async hydrateHistoricalSessionRuns(r,s,o){const l=[...new Set(r.map(p=>Re(p.run_id)).filter(p=>p&&p!==s&&!this.historicalRuns.has(p)&&!this.historicalRunFailures.has(p)))];if(!l.length||!this.live(o))return;let u=0,f=!1;const h=async()=>{var p,g,y;for(;!f&&this.live(o);){const _=l[u++];if(!_)return;try{const k=Ie(await this.transport.getRun(_,(p=this.controller)==null?void 0:p.signal));if(!this.live(o))return;if(k){this.historicalRuns.set(_,k);try{const x=await this.transport.getHistory(_,(g=this.controller)==null?void 0:g.signal);if(!this.live(o))return;this.historicalEvidence.set(_,_a(Kg(x)))}catch(x){if(!this.live(o))return;if(Fr(x))throw x;this.fail(new Error(`Earlier turn activity could not be restored: ${x instanceof Error?x.message:String(x)}`),!1)}}else this.historicalRuns.set(_,null),this.historicalRunFailures.set(_,{missing:!1,detail:"gateway returned an invalid historical run snapshot"})}catch(k){if(!this.live(o))return;const x=py(k)===404;this.historicalRuns.set(_,null),this.historicalRunFailures.set(_,{missing:x,detail:k instanceof Error?k.message:Re((y=Ie(k))==null?void 0:y.detail)||"request failed"}),Fr(k)&&(f=!0,this.fail(k))}}};if(await Promise.all(Array.from({length:Math.min(4,l.length)},()=>h())),f&&this.live(o))for(const p of l)!this.historicalRuns.has(p)&&!this.historicalRunFailures.has(p)&&(this.historicalRuns.set(p,null),this.historicalRunFailures.set(p,{missing:!1,detail:"authorization expired before this historical run could be restored"}))}ingestItem(r,s){const o=Ie(s),l=Ie(o==null?void 0:o.record)||o;if(!l)return;const u=hy(l,r),f=Number(o==null?void 0:o.cursor),h=Number.isFinite(f)&&f>0?f:(this.cursors.get(u)||0)+1,p=`${u}:${h}`;if(!this.seenRecords.has(p)){if(this.seenRecords.add(p),this.cursors.set(u,Math.max(this.cursors.get(u)||0,h)),this.set({...this.snapshot,records:[...this.snapshot.records,{cursor:h,record:l,runId:u}]}),this.foldRecord(u,l,p),this.snapshot.messages.some(g=>g.id===`final:${this.rootRunId}`)){const g=_a(this.snapshot.records).statistics;this.set({...this.snapshot,messages:this.snapshot.messages.map(y=>y.id===`final:${this.rootRunId}`?{...y,statistics:g}:y)})}for(const g of xf(l))g!==u&&this.catchUpAndWatch(g,this.generation)}}foldRecord(r,s,o){var y,_;const l=Rc(s),u=Re(l.type).toLowerCase(),f=Ie(s.result),h=Re(s.status).toLowerCase(),p=kf(s);if(this.foldStopEvidence(r,s,u,h),["llm_call","tool_calls"].includes(u)&&["started","running"].includes(h)){const k=Date.parse(p||"");(!Number.isFinite(k)||k>=this.displayStatusAt)&&(Number.isFinite(k)&&(this.displayStatusAt=k),this.snapshot.displayStatus&&this.set({...this.snapshot,displayStatus:""}))}if(u==="answer_user"&&h==="completed"){const k=Ys(f)||Ys(Ie(l.payload));k&&this.addRunAssistantMessage(r,{id:`answer:${r}:${o}`,role:"assistant",content:k,ts:p})}if(u==="emit_event"&&h==="completed"){const k=Ie(l.payload)||{},x=Ie(f),C=Re(k.name)||Re(x==null?void 0:x.name),j=k.payload!==void 0?k.payload:x==null?void 0:x.payload;if(["abstract.message","abstractcode.message"].includes(C)){const E=Ys(j);if(E){const R=Re((y=Ie(j))==null?void 0:y.level).toLowerCase(),A=R==="error"?"error":["warn","warning"].includes(R)?"warn":"info";this.addMessage({id:`event:${r}:${o}`,role:"system",title:"Workflow",content:E,level:A,ts:p})}}if(["abstract.status","abstractcode.status"].includes(C)){const E=Ie(j),R=E?E.status??E.text??E.value:j,A=Date.parse(p||"");!bt(this.snapshot.status)&&typeof R=="string"&&(!Number.isFinite(A)||A>=this.displayStatusAt)&&(Number.isFinite(A)&&(this.displayStatusAt=A),this.set({...this.snapshot,displayStatus:R.trim()}))}if(["abstract.tool_execution","abstractcode.tool_execution","abstract.tool_result","abstractcode.tool_result"].includes(C)){const E=Ys(j);E&&this.addMessage({id:`event:${r}:${o}`,role:"system",title:"Tool activity",content:E,ts:p})}}const g=hp(s);if(h==="waiting"&&g&&!bt(this.snapshot.status)&&!bt(ln(this.runStates.get(r)||null))&&this.set({...this.snapshot,interaction:{runId:r,wait:g,...Re(s.step_id)?{stepId:Re(s.step_id)}:{}}}),u==="tool_calls")for(const k of up(this.toolActivities,{runId:r,cursor:this.cursors.get(r)||0,record:s}))this.upsertTool(k);u==="resume"&&(f==null?void 0:f.resumed)===!0&&((_=this.snapshot.interaction)==null?void 0:_.runId)===r&&(this.set({...this.snapshot,interaction:null}),this.refreshRunState(r,this.generation))}foldStopEvidence(r,s,o,l){let u=!1;if(o==="llm_call"){const f=Re(s.step_id);if(f){const h=`${r}:${f}`;l==="started"?(this.openLlmSteps.add(h),u=!0):["completed","failed","cancelled","waiting"].includes(l)&&(u=this.openLlmSteps.delete(h)||u),["completed","failed","cancelled"].includes(l)&&this.closeLiveReply(h)}}if(o==="emit_event"&&l==="completed"){const f=Ie(Rc(s).payload)||{},h=Ie(s.result),p=Re(f.name)||Re(h==null?void 0:h.name),g=Ie(f.payload!==void 0?f.payload:h==null?void 0:h.payload);p==="abstract.status"&&Re(g==null?void 0:g.killed_by)==="kill_switch"&&(this.forcedStop=g,u=!0)}u&&this.recomputeStop()}recomputeStop(){let r=null;this.forcedStop?r={phase:"forced",label:Re(this.forcedStop.text)||"Stop forced: inference killed",record:this.forcedStop}:this.stopRequested&&(r=this.snapshot.status==="cancelled"&&this.openLlmSteps.size===0?{phase:"stopped",label:"Stopped"}:{phase:"stopping",label:"Stopping…"});const s=this.snapshot.stop||null;((s==null?void 0:s.phase)!==(r==null?void 0:r.phase)||(s==null?void 0:s.label)!==(r==null?void 0:r.label))&&this.set({...this.snapshot,stop:r}),(r==null?void 0:r.phase)==="stopping"&&this.snapshot.status==="cancelled"&&this.followStop(this.generation)}async followStop(r){var s;if(!this.stopFollowing){this.stopFollowing=!0;try{let o=500,l=null;for(;this.live(r)&&((s=this.snapshot.stop)==null?void 0:s.phase)==="stopping";){if(await this.waitForRetry(o),!this.live(r))return;const u=[this.rootRunId,...[...this.watchedRuns].filter(h=>h!==this.rootRunId)];let f=!1;for(const h of u)try{await this.catchUp(h,r)}catch(p){f=!0,this.live(r)&&(this.fail(p,!1),l=this.snapshot.error)}!f&&l&&this.snapshot.error===l&&(this.set({...this.snapshot,error:null}),l=null),o=Math.min(5e3,o*2)}}finally{this.generation===r&&(this.stopFollowing=!1)}}}addMessage(r){const s=Re(r.id)||`${r.role}:${r.content}:${r.ts||""}`;this.seenMessages.has(s)||(this.seenMessages.add(s),this.set({...this.snapshot,messages:[...this.snapshot.messages,{...r,id:s}]}))}toolMessage(r){return{id:`tool:${r.id}`,role:"system",kind:"tool_activity",title:"Tool activity",runId:r.runId,toolActivity:r,content:JSON.stringify({tool:r.name,status:r.status,arguments:r.arguments,output:r.output,error:r.error},null,2),ts:r.endedAt||r.startedAt}}upsertTool(r){const s=this.toolMessage(r),o=this.snapshot.messages.findIndex(u=>u.id===s.id);if(o<0){this.addMessage(s);return}const l=[...this.snapshot.messages];l[o]=s,this.set({...this.snapshot,messages:l})}addRunAssistantMessage(r,s){this.closeLiveRepliesOfRun(r);const o=`answer:${r}:`,l=`final:${r}`;this.snapshot.messages.some(u=>u.role==="assistant"&&u.content===s.content&&(u.id===l||String(u.id||"").startsWith(o)))||this.addMessage(s)}ingestDelta(r,s){let o;try{o=pp(s)}catch(p){this.fail(p,!1);return}const l=`${o.run_id}:${o.call_id}`;if(ay(o)){if(o.reason==="unavailable"){this.noteStreamUnavailable(o);return}if(o.reason==="cancelled"&&o.detail==="reinvoked"){this.closeLiveReply(l,"restarted");return}this.closeLiveReply(l,o.reason==="completed"?void 0:o.reason);return}if(this.closedLiveCalls.has(l)||this.runEnded(o.run_id)||this.runEnded(this.rootRunId))return;const u=this.liveReplies.get(l)||{runId:o.run_id,callId:o.call_id,nodeId:o.node_id||"",via:r,text:"",reasoning:"",seq:{content:-1,reasoning:-1}},f=o.channel==="reasoning"?"reasoning":"text",h=u.seq[o.channel];if(o.snapshot){if(o.seq<h)return;u[f]=o.text}else{if(o.seq<=h)return;u[f]+=o.text}u.seq[o.channel]=o.seq,u.via=r,this.liveReplies.set(l,u),this.liveDirty.add(l),this.scheduleLiveRender()}runEnded(r){return bt(ln(this.runStates.get(r)||null))}scheduleLiveRender(){if(this.liveRenderTimer)return;const r=this.lastLiveRender+this.liveRenderIntervalMs-Date.now();if(r<=0){this.renderLiveReplies();return}this.liveRenderTimer=setTimeout(()=>{this.liveRenderTimer=null,this.renderLiveReplies()},r)}renderLiveReplies(){if(this.lastLiveRender=Date.now(),!this.liveDirty.size)return;const r=[...this.snapshot.messages];for(const s of this.liveDirty){const o=this.liveReplies.get(s);if(!o)continue;const l=this.liveMessage(o),u=r.findIndex(f=>f.id===l.id);u<0?r.push(l):r[u]=l,this.shownLiveCalls.add(s)}this.liveDirty.clear(),this.set({...this.snapshot,messages:r})}liveMessage(r){const s=r.runId!==this.rootRunId;return{id:`live:${r.runId}:${r.callId}`,role:"assistant",content:r.text,runId:r.runId,live:{callId:r.callId,reasoning:r.reasoning,...s?{caption:`sub-agent · ${r.nodeId||r.runId}`}:{}}}}closeLiveReply(r,s){this.closedLiveCalls.add(r);const o=this.liveReplies.get(r);if(!o){s==="restarted"&&this.shownLiveCalls.has(r)&&this.addMessage(this.restartNote(r));return}this.liveReplies.delete(r),this.liveDirty.delete(r);const l=`live:${o.runId}:${o.callId}`,u=this.snapshot.messages.findIndex(h=>h.id===l);if(u<0)return;const f=[...this.snapshot.messages];if(s==="restarted"){const h=this.restartNote(r);this.seenMessages.add(String(h.id)),f[u]=h}else if(s){const h=`live-end:${o.runId}:${o.callId}`;this.seenMessages.add(h),f[u]={id:h,role:"system",level:"warn",title:"Reply",runId:o.runId,content:s==="failed"?"The reply stopped because the model call failed.":"The reply stopped because the model call was cancelled."}}else f.splice(u,1);this.set({...this.snapshot,messages:f})}restartNote(r){const s=r.slice(0,r.indexOf(":"));return{id:`live-end:${r}`,role:"system",level:"info",title:"Reply",runId:s,content:"Reply restarted: the model call was interrupted and is running again."}}noteStreamUnavailable(r){const s=`${r.run_id}:${r.call_id}`;this.closeLiveReply(s),this.addMessage({id:`stream-unavailable:${r.run_id}:${r.detail||"unknown"}`,role:"system",level:"info",title:"Reply",runId:r.run_id,content:dy(r.detail)})}closeLiveRepliesOfRun(r){for(const s of[...this.liveReplies.values()])s.runId===r&&this.closeLiveReply(`${s.runId}:${s.callId}`)}closeLiveRepliesVia(r,s){for(const o of[...this.liveReplies.values()])(o.via===r||o.runId===r)&&this.closeLiveReply(`${o.runId}:${o.callId}`,s)}endLiveRepliesOfRun(r,s){const o=s==="failed"||s==="cancelled"?s:void 0;if(r===this.rootRunId){for(const l of[...this.liveReplies.values()])this.closeLiveReply(`${l.runId}:${l.callId}`,o);this.closedLiveCalls.clear(),this.shownLiveCalls.clear();return}this.closeLiveRepliesVia(r,o);for(const l of[...this.closedLiveCalls])l.startsWith(`${r}:`)&&this.closedLiveCalls.delete(l);for(const l of[...this.shownLiveCalls])l.startsWith(`${r}:`)&&this.shownLiveCalls.delete(l)}dropLiveRepliesVia(r){const s=new Set;for(const[o,l]of this.liveReplies)l.via===r&&(this.liveReplies.delete(o),this.liveDirty.delete(o),s.add(`live:${l.runId}:${l.callId}`));s.size&&this.set({...this.snapshot,messages:this.snapshot.messages.filter(o=>!s.has(String(o.id)))})}fail(r,s=!0){var o,l,u;Fr(r)&&(this.approvalEpoch+=1,this.toolApprovalStopped=!0,this.toolApprovalSuspended=!0,(l=(o=this.options).onAuthError)==null||l.call(o,r)),this.set({...this.snapshot,error:r instanceof Error?r.message:Re((u=Ie(r))==null?void 0:u.detail)||String(r),...Fr(r)?{autoApproveTools:!1}:{},...s?{connection:"disconnected"}:{}})}newCommandId(){const r=globalThis.crypto;return r&&typeof r.randomUUID=="function"?r.randomUUID():`workflow-${Date.now()}-${Math.random().toString(36).slice(2)}`}updateRunState(r,s){var u;if(this.runStates.set(r,s),bt(ln(s))&&this.endLiveRepliesOfRun(r,ln(s)),r!==this.rootRunId){bt(ln(s))&&((u=this.snapshot.interaction)==null?void 0:u.runId)===r&&this.set({...this.snapshot,interaction:null});return}const o=ln(s),l=bt(o);if(l){const f=Ys(s.output);f&&this.upsertFinal(r,f,kf(s))}this.set({...this.snapshot,run:s,status:o,...l?{interaction:null,autoApproveTools:!1,displayStatus:""}:{}}),(this.stopRequested||this.forcedStop)&&this.recomputeStop()}upsertFinal(r,s,o){this.closeLiveRepliesOfRun(r);const l=`final:${r}`;this.seenMessages.add(l);const u={id:l,role:"assistant",content:s,ts:o,runId:r,statistics:_a(this.snapshot.records).statistics},f=this.snapshot.messages.findIndex(p=>p.id===l||String(p.id||"").startsWith(`answer:${r}:`)&&p.content===s);if(f<0){this.set({...this.snapshot,messages:[...this.snapshot.messages,u]});return}const h=[...this.snapshot.messages];h[f]=u,this.set({...this.snapshot,messages:h})}async refreshRunState(r,s){var o;try{const l=Ie(await this.transport.getRun(r,(o=this.controller)==null?void 0:o.signal));l&&this.live(s)&&this.updateRunState(r,l)}catch(l){this.live(s)&&this.fail(l,!1)}}async pollRootLifecycle(r,s){var o;for(;this.live(s)&&this.rootRunId===r&&!bt(ln(this.runStates.get(r)||null));){if(await this.waitForRetry(2e3),!this.live(s)||this.rootRunId!==r||bt(ln(this.runStates.get(r)||null)))return;try{const l=Ie(await this.transport.getRun(r,(o=this.controller)==null?void 0:o.signal));l&&this.live(s)&&this.rootRunId===r&&this.updateRunState(r,l)}catch(l){if(!this.live(s))return;if(Fr(l)){this.fail(l);return}this.fail(l,!1)}}}waitForRetry(r){var l;const s=(l=this.controller)==null?void 0:l.signal;if(!s||s.aborted)return Promise.resolve();const o=s;return new Promise(u=>{const f=setTimeout(p,r),h=()=>{clearTimeout(f),p()};function p(){o.removeEventListener("abort",h),u()}o.addEventListener("abort",h,{once:!0})})}}function gy(n){const r=v.useMemo(()=>new my(n.transport,{onAuthError:n.onAuthError,clientId:n.clientId,...n.liveRenderIntervalMs!==void 0?{liveRenderIntervalMs:n.liveRenderIntervalMs}:{}}),[n.transport,n.onAuthError,n.clientId,n.authScopeKey,n.liveRenderIntervalMs]),s=v.useSyncExternalStore(l=>r.subscribe(l),()=>r.getSnapshot(),()=>r.getSnapshot()),o=String(n.runId||"").trim();return v.useEffect(()=>{r.setToolApprovalPolicy(n.enabled===!1?{enabledTools:[],autoApproveTools:[]}:n.toolApprovalPolicy??null)},[r,n.toolApprovalPolicy,n.enabled]),v.useEffect(()=>{if(n.enabled===!1||!o){r.reset();return}return r.load(o),()=>r.reset()},[r,o,n.enabled]),{controller:r,snapshot:s}}function hs(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function Dt(n){return typeof n=="string"?n.trim():n==null?"":typeof n=="number"||typeof n=="boolean"?String(n):""}function bf(n){return["session","workflow","run","global"].includes(n)?n:null}function Dr(n){return{scope:Dt(n==null?void 0:n.scope).toLowerCase(),name:Dt(n==null?void 0:n.name)||Dt(n==null?void 0:n.event_name),scopeId:Dt(n==null?void 0:n.scope_id)||Dt(n==null?void 0:n.scopeId),sessionId:Dt(n==null?void 0:n.session_id)||Dt(n==null?void 0:n.sessionId),workflowId:Dt(n==null?void 0:n.workflow_id)||Dt(n==null?void 0:n.workflowId),runId:Dt(n==null?void 0:n.run_id)||Dt(n==null?void 0:n.runId)}}function yy(n,r){const s=n.wait,o=Dt(s.wait_key),l=[Dr(s),Dr(hs(s.details))];for(const u of r){if(u.runId!==n.runId)continue;const f=u.record,h=hs(f.result),p=hs(h==null?void 0:h.wait),g=hs(f.effect),y=hs(g==null?void 0:g.payload);Dt(p==null?void 0:p.wait_key)!==o&&Dt(y==null?void 0:y.wait_key)!==o||l.push(Dr(f),Dr(y),Dr(hs(y==null?void 0:y.details)),Dr(p),Dr(hs(p==null?void 0:p.details)))}return l}function gc(n,r){return r.scopeId?r.scopeId:n==="session"?r.sessionId:n==="workflow"?r.workflowId:n==="run"?r.runId:"global"}function mp(n,r,s){return{scope:n,scopeId:r,name:s,...n==="session"?{sessionId:r}:{},...n==="workflow"?{workflowId:r}:{},...n==="run"?{runId:r}:{}}}function wy(n,r,s){if(!s)return null;const o=`evt:${r}:${s}:`;if(!n.startsWith(o))return null;const l=n.slice(o.length);return l?mp(r,s,l):null}function vy(n,r=[],s){if(!n)return{target:null,error:"No event wait is available."};const o=Dt(n.wait.wait_key),l=/^evt:(session|workflow|run|global):/.exec(o);if(!l)return{target:null,error:"The gateway did not provide a canonical event wait key."};const u=bf(l[1]);if(!u)return{target:null,error:"The event wait uses an unsupported scope."};const f=yy(n,Array.isArray(r)?r:[]),h=new Map;for(const k of f){const x=bf(k.scope);if(!x||!k.name)continue;if(x!==u)return{target:null,error:"Event metadata conflicts with the canonical wait scope."};const C=`evt:${x}:`,j=`:${k.name}`;if(!o.startsWith(C)||!o.endsWith(j)||o.length<=C.length+j.length)return{target:null,error:"Event metadata does not exactly match the canonical wait key."};const E=o.slice(C.length,-j.length),R=gc(x,k);if(R&&R!==E)return{target:null,error:"Event metadata conflicts with the canonical wait target."};const A=mp(x,E,k.name);h.set(`${A.scope}\0${A.scopeId}\0${A.name}`,A)}if(h.size>1)return{target:null,error:"Multiple event targets match this wait; routing is unavailable."};if(h.size===1)return{target:[...h.values()][0]};const p=new Set;u==="run"&&p.add(n.runId),u==="global"&&p.add("global");for(const k of f){const x=gc(u,k);x&&p.add(x)}if(Dt(s==null?void 0:s.run_id)===n.runId){const k=Dr(s||null),x=gc(u,k);x&&p.add(x)}const y=[...p].map(k=>wy(o,u,k)).filter(k=>!!k),_=new Map(y.map(k=>[`${k.scope}\0${k.scopeId}\0${k.name}`,k]));return _.size===1?{target:[..._.values()][0]}:_.size>1?{target:null,error:"The event key is ambiguous for the available scope metadata."}:{target:null,error:"The gateway did not provide enough canonical event routing metadata."}}const _y="abstractcode.agent.v1";function Lc(n){return!!(n!=null&&n.interfaces.some(r=>[_y,"abstractassistant.agent.v1"].includes(r)))}function qe(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)?n:void 0}function Sa(n){return Array.isArray(n)?n:[]}function Se(n){return typeof n!="string"?void 0:n.trim()||void 0}function gp(n){return Sa(n).flatMap(r=>{const s=Se(r);return s?[s]:[]})}function no(n,r=0){if(typeof n!="number"||!Number.isFinite(n))return;const s=Math.trunc(n);return s>=r?s:void 0}function Pc(n,r){if(Array.isArray(n))return n;const s=qe(n);if(!s)return[];for(const o of r)if(Array.isArray(s[o]))return s[o];return[]}function yp(n){const r=qe(n);return r?{...r}:void 0}function Sf(n){const r=yp(n.input_schema??n.inputSchema??n.inputs_schema);if(r)return r;const s=qe(n.inputs);if(s&&("properties"in s||"type"in s||"$schema"in s))return{...s}}function ky(n){const r=Se(n.bundle_version??n.bundleVersion??n.version);if(r)return r;const s=Se(n.bundle_ref??n.bundleRef);if(!s)return;const o=s.lastIndexOf("@");return o>0&&o<s.length-1?s.slice(o+1):void 0}function xy(n,r,s){return n?`${n}${r?`@${r}`:""}:${s}`:s}function jf(n,r,s){var h;const o=qe(n),l=Se((o==null?void 0:o.default_bundle_id)??(o==null?void 0:o.defaultBundleId)),u=Pc(n,["items","bundles"]),f=[];for(const p of u){const g=qe(p);if(!g)continue;const y=qe(g.actions);if((y==null?void 0:y.can_run)===!1)continue;const _=(h=Se(g.status))==null?void 0:h.toLowerCase();if(g.is_draft===!0||g.is_published===!1||g.version_channel==="draft"||_&&!["published","deprecated"].includes(_)||!s.includeDeprecated&&(_==="deprecated"||_==="deleted"||_==="disabled"))continue;const k=Se(g.bundle_id??g.bundleId??g.id),x=ky(g);if(x&&/(?:^|[.\-])draft(?:[.\-]|$)/i.test(x))continue;const C=Se(g.default_entrypoint??g.defaultEntrypoint),j=r==="private"&&(g.is_default===!0||g.isDefault===!0||!!k&&k===l);for(const E of Sa(g.entrypoints)){const R=qe(E);if(!R||!s.includeDeprecated&&(R.deprecated===!0||R.enabled===!1))continue;const A=Se(R.flow_id??R.flowId??R.id);if(!A)continue;const T=gp(R.interfaces??R.interface_ids??R.interfaceIds);if(s.interfaceId&&!T.includes(s.interfaceId))continue;const b=Se(R.workflow_id??R.workflowId)??xy(k,x,A),P=C?C===A:Sa(g.entrypoints).length===1;f.push({id:`${r}:${b}`,workflowId:b,...k?{bundleId:k}:{},...x?{bundleVersion:x}:{},flowId:A,name:Se(R.name??R.title)??A,description:Se(R.description)??"",interfaces:T,...Sf(R)?{inputSchema:Sf(R)}:{},registryScope:r,isPreferredVersion:r==="tenant_catalog"?g.is_default===!0||g.default_version===x:g.latest_published_version===x,...j&&P?{isDefault:!0}:{}})}}return f}function by(n){var o;const r=new Map;for(const l of n){const u=l.bundleId||l.id;r.set(u,[...r.get(u)||[],l])}const s=[];for(const l of r.values()){const u=l.filter(g=>g.registryScope==="tenant_catalog"),f=u.length?u:l,h=[...f].sort((g,y)=>+!!y.isPreferredVersion-+!!g.isPreferredVersion||(y.bundleVersion||"").localeCompare(g.bundleVersion||"",void 0,{numeric:!0}))[0],p=(o=l.find(g=>g.isDefault))==null?void 0:o.flowId;for(const g of f.filter(y=>y.bundleVersion===h.bundleVersion))s.push({...g,isDefault:g.flowId===p})}return s.sort((l,u)=>+!!u.isDefault-+!!l.isDefault||l.name.localeCompare(u.name)||l.id.localeCompare(u.id))}function Sy(n,r){return r.some(s=>s.id!==n.id&&s.name===n.name)?`${n.name} · ${n.bundleId||n.flowId}`:n.name}function Nf(n,r,s={}){const o=[...jf(n,"private",s),...jf(r,"tenant_catalog",s)],l=new Map;for(const u of o)l.set(u.id,u);return[...l.values()].sort((u,f)=>+!!f.isDefault-+!!u.isDefault||u.name.localeCompare(f.name)||u.id.localeCompare(f.id))}function jy(n){const r=qe(n);if(!r)return;const s=qe(r.workflow_selection??r.workflowSelection);if(s)return s;const o=qe(r._runtime),l=qe((o==null?void 0:o.workflow_policy)??(o==null?void 0:o.workflowPolicy));if(l)return l;const u=qe(r.input_data??r.inputData),f=qe(u==null?void 0:u._runtime);return qe((f==null?void 0:f.workflow_policy)??(f==null?void 0:f.workflowPolicy))}function Ny(n,r){const s=jy(r.inputData);if(s){const u=Se(s.registry_scope??s.registryScope),f=Se(s.bundle_id??s.bundleId),h=Se(s.bundle_version??s.bundleVersion),p=Se(s.flow_id??s.flowId);if((u==="private"||u==="tenant_catalog")&&f&&p){const g=n.filter(y=>(y.registryScope??"private")===u&&y.bundleId===f&&y.flowId===p&&(!h||y.bundleVersion===h));if(g.length===1)return g[0]}return}const o=Se(r.runWorkflowId);if(!o)return;const l=n.filter(u=>(u.registryScope??"private")==="private"&&u.workflowId===o);return l.length===1?l[0]:void 0}function Cy(n){const r=qe(n)??{},s=qe(r.policy)??r,l=Sa(s.mounts??s.workspace_mounts).flatMap((f,h)=>{const p=qe(f);if(!p)return[];const g=Se(p.path??p.root),y=Se(p.id??p.name)??g??`mount-${h+1}`;return[{id:y,label:Se(p.label??p.name)??y,...g?{path:g}:{},readOnly:p.read_only===!0||p.readOnly===!0||p.writable===!1,raw:{...p}}]}),u=no(s.max_attachment_bytes??s.maxAttachmentBytes,1);return{raw:{...s},clientWorkspaceScopeOverrides:s.client_workspace_scope_overrides===!0||s.clientWorkspaceScopeOverrides===!0,allowedAccessModes:gp(s.allowed_access_modes??s.allowedAccessModes),mounts:l,...u!==void 0?{maxAttachmentBytes:u}:{}}}function Ey(n){const r=Pc(n,["items","tools"]),s=new Set,o=[];for(const l of r){const u=qe(l);if(!u)continue;const f=Se(u.name??u.tool_name??u.id);if(!f||s.has(f))continue;s.add(f);const h=u.enabled!==!1&&u.served_disabled!==!0&&u.servedDisabled!==!0,p=no(u.risk_rank??u.riskRank),g=yp(u.input_schema??u.inputSchema??u.parameters);o.push({name:f,description:Se(u.description)??"",...Se(u.toolset)?{toolset:Se(u.toolset)}:{},...Se(u.tier)?{tier:Se(u.tier)}:{},...Se(u.approval_default??u.default_approval??u.approvalDefault??u.defaultApproval??u.approval)?{approval:Se(u.approval_default??u.default_approval??u.approvalDefault??u.defaultApproval??u.approval)}:{},...p!==void 0?{riskRank:p}:{},enabled:h,servedDisabled:!h,...Se(u.enable_gate??u.enableGate)?{enableGate:Se(u.enable_gate??u.enableGate)}:{},...Se(u.why_disabled??u.whyDisabled)?{whyDisabled:Se(u.why_disabled??u.whyDisabled)}:{},...g?{inputSchema:g}:{},raw:{...u}})}return o.sort((l,u)=>l.name.localeCompare(u.name))}function $y(n){var o;const r=(o=Se(n.status??n.state))==null?void 0:o.toLowerCase();return Se(n.wait_reason??n.waitReason)||n.waiting===!0||r==="waiting"||r==="paused"?"waiting":r==="running"||r==="queued"||r==="pending"||r==="created"?"running":r==="failed"||r==="error"||r==="cancelled"||r==="canceled"?"failed":r==="completed"||r==="complete"||r==="done"?"done":"unknown"}const Cf={waiting:4,running:3,failed:2,done:1,unknown:0};function Xs(n){return Se(n.updated_at??n.updatedAt??n.finished_at??n.finishedAt??n.created_at??n.createdAt)}function Zs(n){if(!n)return Number.NEGATIVE_INFINITY;const r=Date.parse(n);return Number.isFinite(r)?r:Number.NEGATIVE_INFINITY}function Ef(n){var f;const r=Se(n);if(r)return r;const s=qe(n);if(!s)return;const o=Se(s.prompt);if(o)return o;const l=qe(s.input_data??s.inputData),u=["prompt","request","task","message","query","input"].map(h=>Se(l==null?void 0:l[h])).find(Boolean);return u||Se((f=qe(l==null?void 0:l.context))==null?void 0:f.task)}function yc(n,r={}){const s=qe(n),o=(s==null?void 0:s.has_more)===!0||(s==null?void 0:s.hasMore)===!0,l=Pc(n,["items","runs"]),u=new Map;l.forEach((h,p)=>{const g=qe(h);if(!g||Se(g.parent_run_id??g.parentRunId))return;const y=Se(g.session_id??g.sessionId),_=Se(g.run_id??g.runId??g.id);if(!y||!_)return;const k=u.get(y)??[];k.push({run:g,index:p}),u.set(y,k)});const f=[];for(const[h,p]of u){const g=[...p].sort((C,j)=>Zs(Xs(j.run))-Zs(Xs(C.run))||C.index-j.index),y=[...p].sort((C,j)=>{const E=Se(C.run.created_at??C.run.createdAt)??Xs(C.run),R=Se(j.run.created_at??j.run.createdAt)??Xs(j.run);return Zs(E)-Zs(R)||C.index-j.index}),_=g.flatMap(({run:C})=>{const j=Se(C.run_id??C.runId??C.id);return j?[j]:[]});if(!_.length)continue;let k="unknown";for(const{run:C}of p){const j=$y(C);Cf[j]>Cf[k]&&(k=j)}let x;for(const{run:C}of y){const j=Se(C.run_id??C.runId??C.id);if(x=(j?Ef(r[j]):void 0)??Ef(C),x)break}f.push({sessionId:h,state:k,...Xs(g[0].run)?{updatedAt:Xs(g[0].run)}:{},firstRunId:Se(y[0].run.run_id??y[0].run.runId??y[0].run.id),latestRunId:_[0],runIds:_,turnCount:p.length,...x?{prompt:x}:{},truncated:o})}return f.sort((h,p)=>Zs(p.updatedAt)-Zs(h.updatedAt)||h.sessionId.localeCompare(p.sessionId))}function ja(n){return n?{...n}:{}}function qs(n){if(n!==void 0)return n.flatMap(r=>{const s=Se(r);return s?[s]:[]})}function Ry(n,r,s){var R,A,T,b,P,H,D,U,ge;const o=(ce,Q)=>{var W,K;!Lc(r.workflow)&&!((K=qe((W=r.inputSchema)==null?void 0:W.properties))!=null&&K[ce])||Q!==void 0&&s&&(n[ce]=Q)},l=Se((R=r.model)==null?void 0:R.provider),u=Se((A=r.model)==null?void 0:A.model);if(!!l!=!!u)throw new Error("Choose both a provider and a model, or use the workflow / Gateway defaults.");o("provider",l),o("model",u),r.tools!==void 0&&o("tools",qs(r.tools)??[]);const f=qs(r.skills);f!=null&&f.length&&(n.skills=f);const h=Se((T=r.workspace)==null?void 0:T.root),p=Se((b=r.workspace)==null?void 0:b.accessMode),g=qs((P=r.workspace)==null?void 0:P.allowedPaths);h!==void 0&&(n.workspace_root=h),p!==void 0&&(n.workspace_access_mode=p),g!=null&&g.length&&(n.workspace_allowed_paths=g),o("system",Se(r.system));const y=ja(qe(n._runtime)),_=(ce,Q)=>{Q!==void 0&&s&&(y[ce]=Q)};if(_("provider",l),_("model",u),_("thinking",Se(r.reasoning)),_("speculation",r.speculation),r.streamReplies!==void 0&&_("stream",cy(r.streamReplies).stream),_("system_prompt_extra",Se(r.systemPromptExtra)),r.tools!==void 0){const ce=qs(r.tools)??[],Q=Array.isArray(y.allowed_tools)?y.allowed_tools:null;y.allowed_tools=Q?ce.filter(W=>Q.includes(W)):ce}if(r.review!==void 0&&r.reviewCapable!==!1){_("review_mode",r.review.enabled);const ce=r.review.enabled?no(r.review.maxRounds,1):void 0;_("review_max_rounds",ce)}const k=qs((H=r.toolPolicy)==null?void 0:H.autoApproveTools),x=qs((D=r.toolPolicy)==null?void 0:D.requireApprovalTools);(((k==null?void 0:k.length)??0)>0||((x==null?void 0:x.length)??0)>0)&&_("tool_policy",{...k!=null&&k.length?{auto_approve_tools:k}:{},...x!=null&&x.length?{require_approval_tools:x}:{}}),r.promptCache!==void 0&&_("prompt_cache",r.promptCache),Object.keys(y).length&&(n._runtime=y);const C=ja(qe(n._limits)),j=no((U=r.limits)==null?void 0:U.maxIterations,1),E=no((ge=r.limits)==null?void 0:ge.maxTokens,1);j!==void 0&&s&&(C.max_iterations=j),E!==void 0&&s&&(C.max_tokens=E),Object.keys(C).length&&(n._limits=C),o("max_iterations",j),r.gatingMode==="auto"&&o("gating_mode","auto")}function Ty(n){var o,l,u;const r=ja(n.schemaInputs),s=Lc(n.workflow);if(n.promptProperty){const f=Se(n.promptProperty);f&&((o=n.prompt)!=null&&o.trim())&&(r[f]=n.prompt)}if(s){const f=n.prompt??"";r.prompt=f;const h=ja(qe(r.context));h.task=f,delete h.messages,r.use_context=!1,(l=n.messages)!=null&&l.length&&(h.messages=n.messages.map(p=>({role:p.role,content:p.content})),r.use_context=!0),(u=n.attachments)!=null&&u.length&&(h.attachments=n.attachments.map(p=>({...p}))),r.context=h,r.use_session_history=n.useSessionHistory??!0}return Ry(r,n,!0),r}class Ay{constructor(){Or(this,"_buffer","");Or(this,"_current",{data_lines:[]})}push(r,s){for(this._buffer+=r;;){const o=this._buffer.indexOf(`
|
|
50
|
-
`);if(o===-1)return;const l=this._buffer.slice(0,o);this._buffer=this._buffer.slice(o+1);const u=l.endsWith("\r")?l.slice(0,-1):l;if(u.startsWith(":"))continue;if(u===""){if(this._current.data_lines.length>0||this._current.event||this._current.id){const g={id:this._current.id,event:this._current.event,data:this._current.data_lines.join(`
|
|
51
|
-
`)};s(g)}this._current={data_lines:[]};continue}const f=u.indexOf(":"),h=f===-1?u:u.slice(0,f),p=f===-1?"":u.slice(f+1).trimStart();h==="id"?this._current.id=p:h==="event"?this._current.event=p:h==="data"&&this._current.data_lines.push(p)}}}function Qe(n,r){const s=(n||"").trim().replace(/\/+$/,"");return s?`${s}${r}`:r}function Ye(n){var o;const r=(n||"").trim(),s={};r&&(s.Authorization=`Bearer ${r}`);try{const l=(o=document.cookie.split(";").map(u=>u.trim()).find(u=>u.startsWith("abstractcode_gateway_csrf=")))==null?void 0:o.slice(26);l&&(s["X-AbstractCode-CSRF"]=decodeURIComponent(l))}catch{}return s}function Iy(n){const r=n.headers.get("retry-after");if(!r)return;const s=Number(r);if(Number.isFinite(s)&&s>0)return s}async function My(n){var r;try{if(String(n.headers.get("content-type")||"").toLowerCase().includes("application/json")){const l=await n.json().catch(()=>null);if(l&&typeof l=="object"){const u=l.detail;if(typeof u=="string"&&u.trim())return u.trim();const f=(r=l.error)==null?void 0:r.message;if(typeof f=="string"&&f.trim())return f.trim();try{const h=JSON.stringify(l);if(h&&h!=="{}")return h}catch{}}}const o=await n.text();return o!=null&&o.trim()?o.trim():`${n.status}`}catch{return`${n.status}`}}class wp extends Error{constructor(s,o){super(s);Or(this,"status");Or(this,"retry_after_s");Or(this,"body_text");this.name="GatewayHttpError",this.status=Number.isFinite(Number(o.status))?Number(o.status):0,this.retry_after_s=o.retry_after_s,this.body_text=o.body_text}}async function Xe(n,r){const s=await My(n);throw new wp(`${r}: ${s}`,{status:n.status,retry_after_s:Iy(n),body_text:s})}class Ly{constructor(r){Or(this,"_cfg");this._cfg={...r,base_url:(r.base_url||"").trim()}}async start_run(r,s,o){const l=String((o==null?void 0:o.bundle_id)||"").trim(),u=(o==null?void 0:o.session_id)===null||(o==null?void 0:o.session_id)===void 0?"":String(o.session_id||"").trim(),f=String(r||"").trim(),h={input_data:s||{}};l&&(h.bundle_id=l),f&&(h.flow_id=f),u&&(h.session_id=u);const p=await fetch(Qe(this._cfg.base_url,"/api/gateway/runs/start"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(h)});if(!p.ok)return await Xe(p,"start_run failed");const g=await p.json(),y=g==null?void 0:g.run_id;if(typeof y!="string"||!y)throw new Error("start_run: missing run_id");return y}async get_run(r){const s=String(r||"").trim();if(!s)throw new Error("get_run: run_id is required");const o=await fetch(Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(s)}`),{headers:{...Ye(this._cfg.auth_token)}});return o.ok?await o.json():await Xe(o,"get_run failed")}async get_run_history_bundle(r,s){const o=String(r||"").trim();if(!o)throw new Error("get_run_history_bundle: run_id is required");const l=new URLSearchParams;(s==null?void 0:s.include_subruns)===!1&&l.set("include_subruns","false"),(s==null?void 0:s.include_session)===!0&&l.set("include_session","true"),typeof(s==null?void 0:s.session_turn_limit)=="number"&&Number.isFinite(s.session_turn_limit)&&l.set("session_turn_limit",String(Math.max(1,Math.trunc(s.session_turn_limit)))),s!=null&&s.ledger_mode&&l.set("ledger_mode",String(s.ledger_mode)),typeof(s==null?void 0:s.ledger_max_items)=="number"&&Number.isFinite(s.ledger_max_items)&&l.set("ledger_max_items",String(Math.max(0,Math.trunc(s.ledger_max_items))));const u=Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/history_bundle?${l.toString()}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"get_run_history_bundle failed")}async list_runs(r){const s=new URLSearchParams,o=typeof(r==null?void 0:r.limit)=="number"?r.limit:50;s.set("limit",String(o));const l=String((r==null?void 0:r.status)||"").trim();l&&s.set("status",l);const u=String((r==null?void 0:r.workflow_id)||"").trim();u&&s.set("workflow_id",u);const f=String((r==null?void 0:r.session_id)||"").trim();f&&s.set("session_id",f),(r==null?void 0:r.root_only)===!0&&s.set("root_only","true"),(r==null?void 0:r.include_ledger_len)===!1&&s.set("include_ledger_len","false"),(r==null?void 0:r.include_metrics)===!0&&s.set("include_metrics","true");const h=Qe(this._cfg.base_url,`/api/gateway/runs?${s.toString()}`),p=await fetch(h,{headers:{...Ye(this._cfg.auth_token)}});return p.ok?await p.json():await Xe(p,"list_runs failed")}async get_ledger(r,s){const o=String(r||"").trim();if(!o)throw new Error("get_ledger: run_id is required");const l=Number((s==null?void 0:s.after)||0),u=Number((s==null?void 0:s.limit)||0),f=Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/ledger?after=${encodeURIComponent(String(l))}&limit=${encodeURIComponent(String(u))}`),h=await fetch(f,{headers:{...Ye(this._cfg.auth_token)}});if(!h.ok)return await Xe(h,"get_ledger failed");const p=await h.json(),g=Array.isArray(p==null?void 0:p.items)?p.items:[],y=typeof(p==null?void 0:p.next_after)=="number"?p.next_after:l;return{items:g,next_after:y}}async stream_ledger(r,s){var C;const o=String(r||"").trim();if(!o)throw new Error("stream_ledger: run_id is required");if(s.on_delta&&!s.on_delta_error)throw new Error("stream_ledger: on_delta requires on_delta_error (malformed live frames must be reported)");const l=Number((s==null?void 0:s.after)||0),u=s.on_step,f=s.signal,h=Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/ledger/stream?after=${encodeURIComponent(String(l))}`),p=await fetch(h,{headers:{Accept:"text/event-stream",...Ye(this._cfg.auth_token)},signal:f});if(!p.ok)return await Xe(p,"stream_ledger failed");if(!p.body)throw new Error("stream_ledger: response body is missing");(C=s.on_open)==null||C.call(s);const g=p.body.getReader(),y=new TextDecoder("utf-8"),_=new Ay,k=s.on_delta,x=s.on_delta_error;for(;;){const{value:j,done:E}=await g.read();if(E)return;const R=y.decode(j,{stream:!0});_.push(R,A=>{if(k&&x){const T=A.event||"message",b=A.data??"";let P;try{P=ly(T,b)}catch(H){x(H instanceof Error?H:new Error(String(H)),{event:T,data:b});return}if(P){k(P);return}}if(!(A.event!=="step"||!A.data))try{const T=JSON.parse(A.data);T&&typeof T.cursor=="number"&&T.record&&u(T)}catch{}})}}async list_bundles(){const r=await fetch(Qe(this._cfg.base_url,"/api/gateway/bundles"),{headers:{...Ye(this._cfg.auth_token)}});return r.ok?await r.json():await Xe(r,"list_bundles failed")}async reload_bundles(){const r=await fetch(Qe(this._cfg.base_url,"/api/gateway/bundles/reload"),{method:"POST",headers:{...Ye(this._cfg.auth_token)}});return r.ok?await r.json():await Xe(r,"reload_bundles failed")}async upload_bundle(r,s){const o=(s==null?void 0:s.overwrite)===!0,l=(s==null?void 0:s.reload)!==!1,u=new FormData;u.set("overwrite",o?"true":"false"),u.set("reload",l?"true":"false"),u.set("file",r,r.name||"upload.flow");const f=await fetch(Qe(this._cfg.base_url,"/api/gateway/bundles/upload"),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:u});return f.ok?await f.json():await Xe(f,"upload_bundle failed")}async discovery_tools(){const r=await fetch(Qe(this._cfg.base_url,"/api/gateway/discovery/tools"),{headers:{...Ye(this._cfg.auth_token)}});return r.ok?await r.json():await Xe(r,"discovery_tools failed")}async discovery_providers(r){const s=(r==null?void 0:r.include_models)===!0,o=Qe(this._cfg.base_url,`/api/gateway/discovery/providers?include_models=${encodeURIComponent(String(s))}`),l=await fetch(o,{headers:{...Ye(this._cfg.auth_token)}});return l.ok?await l.json():await Xe(l,"discovery_providers failed")}async discovery_provider_models(r){const s=String(r||"").trim();if(!s)throw new Error("discovery_provider_models: provider_name is required");const o=await fetch(Qe(this._cfg.base_url,`/api/gateway/discovery/providers/${encodeURIComponent(s)}/models`),{headers:{...Ye(this._cfg.auth_token)}});return o.ok?await o.json():await Xe(o,"discovery_provider_models failed")}async discovery_model_capabilities(r,s=""){const o=String(r||"").trim();if(!o)throw new Error("discovery_model_capabilities: model_name is required");const l=new URLSearchParams({model_name:o});s.trim()&&l.set("provider",s.trim());const u=Qe(this._cfg.base_url,`/api/gateway/discovery/models/capabilities?${l}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"discovery_model_capabilities failed")}async workspace_policy(){const r=await fetch(Qe(this._cfg.base_url,"/api/gateway/workspace/policy"),{headers:{...Ye(this._cfg.auth_token)}});return r.ok?await r.json():await Xe(r,"workspace_policy failed")}async files_search(r,s){const o=String(r||"").trim(),l=typeof(s==null?void 0:s.limit)=="number"&&Number.isFinite(s.limit)?Math.max(1,Math.trunc(s.limit)):20,u=new URLSearchParams;u.set("query",o),u.set("limit",String(l));const f=s==null?void 0:s.scope;if(f&&typeof f=="object"){const g=String(f.workspace_root||"").trim(),y=String(f.workspace_access_mode||"").trim(),_=String(f.workspace_allowed_paths||"").trim(),k=String(f.workspace_ignored_paths||"").trim();g&&u.set("workspace_root",g),y&&u.set("workspace_access_mode",y),_&&u.set("workspace_allowed_paths",_),k&&u.set("workspace_ignored_paths",k)}const h=Qe(this._cfg.base_url,`/api/gateway/files/search?${u.toString()}`),p=await fetch(h,{headers:{...Ye(this._cfg.auth_token)},signal:s==null?void 0:s.signal});return p.ok?await p.json():await Xe(p,"files_search failed")}async list_run_artifacts(r,s){const o=String(r||"").trim();if(!o)throw new Error("list_run_artifacts: run_id is required");const l=typeof(s==null?void 0:s.limit)=="number"?s.limit:200,u=Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/artifacts?limit=${encodeURIComponent(String(l))}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"list_run_artifacts failed")}async get_run_artifact_blob(r,s,o){const l=String(r||"").trim(),u=String(s||"").trim();if(!l)throw new Error("get_run_artifact_blob: run_id is required");if(!u)throw new Error("get_run_artifact_blob: artifact_id is required");const f=Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(l)}/artifacts/${encodeURIComponent(u)}/content`),h=await fetch(f,{headers:{...Ye(this._cfg.auth_token)}});if(!h.ok)return await Xe(h,"get_run_artifact_blob failed");const p=await h.blob(),g=typeof(o==null?void 0:o.max_bytes)=="number"&&Number.isFinite(o.max_bytes)?Math.max(0,Math.trunc(o.max_bytes)):0;if(g>0&&p.size>g)throw new Error(`Artifact too large (${p.size} bytes > ${g} bytes)`);const y=String(h.headers.get("content-type")||"").trim()||"application/octet-stream";return{blob:p,content_type:y}}async get_run_artifact_text(r,s,o){const{blob:l}=await this.get_run_artifact_blob(r,s,o);return await l.text()}async attachments_ingest(r,s,o){const l=String(r||"").trim(),u=String(s||"").trim();if(!l)throw new Error("attachments_ingest: session_id is required");if(!u)throw new Error("attachments_ingest: path is required");const f={session_id:l,path:u},h=o==null?void 0:o.scope;if(h&&typeof h=="object"){const k=String(h.workspace_root||"").trim(),x=String(h.workspace_access_mode||"").trim(),C=String(h.workspace_allowed_paths||"").trim(),j=String(h.workspace_ignored_paths||"").trim();k&&(f.workspace_root=k),x&&(f.workspace_access_mode=x),C&&(f.workspace_allowed_paths=C),j&&(f.workspace_ignored_paths=j)}const p=await fetch(Qe(this._cfg.base_url,"/api/gateway/attachments/ingest"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(f)});if(!p.ok)return await Xe(p,"attachments_ingest failed");const g=await p.json(),y=g==null?void 0:g.attachment;if(!y||typeof y!="object")throw new Error("attachments_ingest: missing attachment");if(!String(y.$artifact||"").trim())throw new Error("attachments_ingest: missing attachment.$artifact");return y}async attachments_upload(r,s,o){const l=String(r||"").trim();if(!l)throw new Error("attachments_upload: session_id is required");if(!s)throw new Error("attachments_upload: file is required");const u=String((o==null?void 0:o.filename)||"").trim()||String((s==null?void 0:s.name)||"").trim()||"upload.bin",f=String((o==null?void 0:o.content_type)||"").trim()||String((s==null?void 0:s.type)||"").trim(),h=new FormData;h.append("session_id",l),h.append("file",s,u),h.append("filename",u),f&&h.append("content_type",f);const p=await fetch(Qe(this._cfg.base_url,"/api/gateway/attachments/upload"),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:h});if(!p.ok)return await Xe(p,"attachments_upload failed");const g=await p.json(),y=g==null?void 0:g.attachment;if(!y||typeof y!="object")throw new Error("attachments_upload: missing attachment");if(!String(y.$artifact||"").trim())throw new Error("attachments_upload: missing attachment.$artifact");return y}async audio_transcribe(r,s){const o=String(r||"").trim();if(!o)throw new Error("audio_transcribe: run_id is required");const l={audio_artifact:s==null?void 0:s.audio_artifact,request_id:(s==null?void 0:s.request_id)||void 0},u=(s==null?void 0:s.language)===null||(s==null?void 0:s.language)===void 0?"":String(s.language||"").trim();u&&(l.language=u);const f=await fetch(Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/audio/transcribe`),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(l)});return f.ok?await f.json():await Xe(f,"audio_transcribe failed")}async voice_tts(r,s){const o=String(r||"").trim();if(!o)throw new Error("voice_tts: run_id is required");const l={text:String((s==null?void 0:s.text)||"")},u=(s==null?void 0:s.voice)===null||(s==null?void 0:s.voice)===void 0?"":String(s.voice||"").trim(),f=(s==null?void 0:s.format)===null||(s==null?void 0:s.format)===void 0?"":String(s.format||"").trim(),h=(s==null?void 0:s.request_id)===null||(s==null?void 0:s.request_id)===void 0?"":String(s.request_id||"").trim();u&&(l.voice=u),f&&(l.format=f),h&&(l.request_id=h);const p=await fetch(Qe(this._cfg.base_url,`/api/gateway/runs/${encodeURIComponent(o)}/voice/tts`),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(l)});return p.ok?await p.json():await Xe(p,"voice_tts failed")}async submit_command(r){const s={command_id:String((r==null?void 0:r.command_id)||"").trim(),run_id:String((r==null?void 0:r.run_id)||"").trim(),type:String((r==null?void 0:r.type)||"").trim(),payload:r!=null&&r.payload&&typeof r.payload=="object"?r.payload:{}},o=String((r==null?void 0:r.ts)||"").trim();o&&(s.ts=o);const l=String((r==null?void 0:r.client_id)||"").trim();l&&(s.client_id=l);const u=await fetch(Qe(this._cfg.base_url,"/api/gateway/commands"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return u.ok?await u.json():await Xe(u,"submit_command failed")}async bug_report_create(r){const s={session_id:String((r==null?void 0:r.session_id)||"").trim(),description:String((r==null?void 0:r.description)||"")},o=String((r==null?void 0:r.active_run_id)||"").trim();o&&(s.active_run_id=o);const l=String((r==null?void 0:r.workflow_id)||"").trim();l&&(s.workflow_id=l);const u=String((r==null?void 0:r.client)||"").trim();u&&(s.client=u);const f=String((r==null?void 0:r.client_version)||"").trim();f&&(s.client_version=f);const h=String((r==null?void 0:r.user_agent)||"").trim();h&&(s.user_agent=h);const p=String((r==null?void 0:r.url)||"").trim();p&&(s.url=p);const g=String((r==null?void 0:r.provider)||"").trim();g&&(s.provider=g);const y=String((r==null?void 0:r.model)||"").trim();y&&(s.model=y);const _=String((r==null?void 0:r.template)||"").trim();_&&(s.template=_);const k=r==null?void 0:r.context;k&&typeof k=="object"&&(s.context=k);const x=await fetch(Qe(this._cfg.base_url,"/api/gateway/bugs/report"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return x.ok?await x.json():await Xe(x,"bug_report_create failed")}async feature_report_create(r){const s={session_id:String((r==null?void 0:r.session_id)||"").trim(),description:String((r==null?void 0:r.description)||"")},o=String((r==null?void 0:r.active_run_id)||"").trim();o&&(s.active_run_id=o);const l=String((r==null?void 0:r.workflow_id)||"").trim();l&&(s.workflow_id=l);const u=String((r==null?void 0:r.client)||"").trim();u&&(s.client=u);const f=String((r==null?void 0:r.client_version)||"").trim();f&&(s.client_version=f);const h=String((r==null?void 0:r.user_agent)||"").trim();h&&(s.user_agent=h);const p=String((r==null?void 0:r.url)||"").trim();p&&(s.url=p);const g=String((r==null?void 0:r.provider)||"").trim();g&&(s.provider=g);const y=String((r==null?void 0:r.model)||"").trim();y&&(s.model=y);const _=String((r==null?void 0:r.template)||"").trim();_&&(s.template=_);const k=r==null?void 0:r.context;k&&typeof k=="object"&&(s.context=k);const x=await fetch(Qe(this._cfg.base_url,"/api/gateway/features/report"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return x.ok?await x.json():await Xe(x,"feature_report_create failed")}async prompt_cache_stats(r,s){const o=String(r||"").trim(),l=String(s||"").trim();if(!o||!l)throw new Error("prompt_cache_stats: provider and model are required");const u=Qe(this._cfg.base_url,`/api/gateway/prompt_cache/stats?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"prompt_cache_stats failed")}async prompt_cache_capabilities(r,s){const o=String(r||"").trim(),l=String(s||"").trim();if(!o||!l)throw new Error("prompt_cache_capabilities: provider and model are required");const u=Qe(this._cfg.base_url,`/api/gateway/prompt_cache/capabilities?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"prompt_cache_capabilities failed")}async prompt_cache_saved(r,s){const o=String(r||"").trim(),l=String(s||"").trim();if(!o||!l)throw new Error("prompt_cache_saved: provider and model are required");const u=Qe(this._cfg.base_url,`/api/gateway/prompt_cache/saved?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`),f=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"prompt_cache_saved failed")}async prompt_cache_clear(r){const s={provider:String((r==null?void 0:r.provider)||"").trim(),model:String((r==null?void 0:r.model)||"").trim()},o=(r==null?void 0:r.key)===null||(r==null?void 0:r.key)===void 0?"":String(r.key||"").trim();o&&(s.key=o);const l=await fetch(Qe(this._cfg.base_url,"/api/gateway/prompt_cache/clear"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return l.ok?await l.json():await Xe(l,"prompt_cache_clear failed")}async prompt_cache_save(r){const s={provider:String((r==null?void 0:r.provider)||"").trim(),model:String((r==null?void 0:r.model)||"").trim(),name:String((r==null?void 0:r.name)||"").trim(),key:String((r==null?void 0:r.key)||"").trim(),q8:!!(r!=null&&r.q8)},o=await fetch(Qe(this._cfg.base_url,"/api/gateway/prompt_cache/save"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return o.ok?await o.json():await Xe(o,"prompt_cache_save failed")}async prompt_cache_load(r){const s={provider:String((r==null?void 0:r.provider)||"").trim(),model:String((r==null?void 0:r.model)||"").trim(),name:String((r==null?void 0:r.name)||"").trim(),key:String((r==null?void 0:r.key)||"").trim(),clear_existing:!!(r!=null&&r.clear_existing)},o=await fetch(Qe(this._cfg.base_url,"/api/gateway/prompt_cache/load"),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return o.ok?await o.json():await Xe(o,"prompt_cache_load failed")}}async function ft(n,r={}){if(!n.startsWith("/api/gateway/"))throw new Error("Gateway requests must use the app's authenticated proxy.");const s=new Headers(r.headers);s.set("Accept","application/json"),r.body&&!(r.body instanceof FormData)&&s.set("Content-Type","application/json");const o=document.cookie.split(";").map(u=>u.trim()).find(u=>u.startsWith("abstractcode_gateway_csrf="));o&&s.set("X-AbstractCode-CSRF",decodeURIComponent(o.slice(26)));const l=await fetch(n,{...r,headers:s,credentials:"same-origin"});if(!l.ok){const u=await l.text();let f=u;try{const h=JSON.parse(u);f=typeof h.detail=="string"?h.detail:JSON.stringify(h.detail||h)}catch{}throw new wp(f||`Gateway request failed (${l.status})`,{status:l.status,body_text:u})}if(l.status!==204)return l.json()}const gn=new Ly({base_url:""});function yt(n){return n instanceof Error?n.message:String(n)}function gs(){return crypto.randomUUID()}async function Py(n,r,s){const{blob:o}=await gn.get_run_artifact_blob(n,r),l=URL.createObjectURL(o),u=document.createElement("a");u.href=l,u.download=s.replace(/[\\/]/g,"_")||"artifact",u.click(),window.setTimeout(()=>URL.revokeObjectURL(l),1e3)}const qt=n=>n&&typeof n=="object"&&!Array.isArray(n)?n:{};function Oy(n,r){const s=qt(r);return Object.fromEntries(Object.keys(qt(n.properties)).flatMap(o=>["_runtime","_limits"].includes(o)||!Object.prototype.hasOwnProperty.call(s,o)?[]:[[o,structuredClone(s[o])]]))}function $f(n){if(!n)return;const r=qt(n.input_data_schema||n.input_schema||n.schema||n),s=Object.fromEntries(Object.entries(qt(r.properties)).map(([o,l])=>[o,{...qt(l)}]));for(const o of Array.isArray(n.inputs)?n.inputs:[])o!=null&&o.id&&(s[o.id]={...qt(o.schema),...s[o.id],...o.type?{"x-abstract-type":o.type}:{},...o.label?{title:o.label}:{},...Object.prototype.hasOwnProperty.call(o,"default")?{default:o.default}:{}});for(const[o,l]of Object.entries(qt(n.defaults)))s[o]={...s[o],default:l};return{...r,properties:s}}function Fy(n,r){var g;const s=qt(r).nodes;if(!Array.isArray(s))throw new Error("The workflow input declarations could not be verified. Please retry.");const o=s.find(y=>{var _;return(((_=y==null?void 0:y.data)==null?void 0:_.nodeType)||(y==null?void 0:y.type))==="on_flow_start"});if(!o||!Array.isArray((g=o.data)==null?void 0:g.outputs))throw new Error("The workflow start inputs could not be verified. Please retry.");const l=o.data.outputs.filter(y=>typeof(y==null?void 0:y.id)=="string"&&y.id&&y.type!=="execution"&&!["exec","exec-out"].includes(y.id)),u=new Set(l.map(y=>y.id)),f=new Set((Array.isArray(n.required)?n.required:[]).filter(y=>!u.has(y))),h={...n.properties},p=qt(o.data.pinDefaults);for(const y of l)y.required===!0&&f.add(y.id),h[y.id]={...qt(h[y.id]),...qt(y.schema),...y.type?{"x-abstract-type":y.type}:{},...y.label?{title:y.label}:{},...Object.prototype.hasOwnProperty.call(p,y.id)?{default:structuredClone(p[y.id])}:{}};return{...n,properties:h,required:[...f]}}function eo(n){return Object.fromEntries(Object.entries((n==null?void 0:n.properties)||{}).flatMap(([r,s])=>Object.prototype.hasOwnProperty.call(qt(s),"default")?[[r,structuredClone(qt(s).default)]]:[]))}function Dy(n){const r=Array.isArray(n.type)?n.type.find(o=>o!=="null"):n.type;if(r)return r;const s=n["x-abstract-type"];return["tools","assertions"].includes(s)?"array":["json_schema","memory","assertion"].includes(s)?"object":"string"}function zy(n){const r=(n==null?void 0:n.properties)||{},s=l=>{const u=r[l];return u&&(u.type==="string"||Array.isArray(u.type)&&u.type.includes("string")||!u.type&&u["x-abstract-type"]==="string")},o=Object.keys(r).filter(l=>{var u;return((u=r[l])==null?void 0:u["x-abstract-role"])==="prompt"&&s(l)});return o.length?o.length===1?o[0]:void 0:["prompt","request","task","message","query","input"].find(s)}function Uy(n,r){var l,u,f;if(!n)return[];const s={...eo(n),...r},o=[];for(const h of Array.isArray(n.required)?n.required:[])s[h]===void 0&&o.push(`${((u=(l=n.properties)==null?void 0:l[h])==null?void 0:u.title)||h} is required.`);for(const[h,p]of Object.entries(s)){const g=(f=n.properties)==null?void 0:f[h];if(!g||p===void 0)continue;const y=g.title||h;Array.isArray(g.enum)&&!g.enum.some(C=>JSON.stringify(C)===JSON.stringify(p))&&o.push(`${y} must be one of the available choices.`);const _=Array.isArray(g.type)?g.type:g.type?[g.type]:[];if(p===null&&(_.includes("null")||!_.length))continue;const k=Array.isArray(p)?"array":p===null?"null":typeof p,x=_.includes(k)?k:k==="number"&&_.includes("integer")?"integer":_[0];(x==="number"||x==="integer")&&(typeof p!="number"||!Number.isFinite(p)||x==="integer"&&!Number.isInteger(p))&&o.push(`${y} must be ${x==="integer"?"a whole number":"a number"}.`),typeof p=="number"&&g.minimum!==void 0&&p<g.minimum&&o.push(`${y} must be at least ${g.minimum}.`),typeof p=="number"&&g.maximum!==void 0&&p>g.maximum&&o.push(`${y} must be at most ${g.maximum}.`),x==="string"&&typeof p!="string"&&o.push(`${y} must be text.`),typeof p=="string"&&g.minLength!==void 0&&p.length<g.minLength&&o.push(`${y} must contain at least ${g.minLength} characters.`),x==="boolean"&&typeof p!="boolean"&&o.push(`${y} must be true or false.`),x==="array"&&!Array.isArray(p)&&o.push(`${y} must be a JSON array.`),x==="object"&&(p===null||typeof p!="object"||Array.isArray(p))&&o.push(`${y} must be a JSON object.`)}return o}function vp(n){const r=(n==null?void 0:n.properties)||{},s=[];for(const[o,l]of Object.entries(r)){const u=qt(l);if(!(o==="provider"||o.endsWith("_provider")||String(u["x-abstract-type"]||"").startsWith("provider")))continue;const f=String(u["x-abstract-type"]||""),h=o.replace("provider","model"),p=Object.keys(r).filter(x=>{var C;return((C=r[x])==null?void 0:C["x-abstract-type"])===f.replace(/^provider/,"model")}),g=h!==o&&r[h]?h:p.length===1?p[0]:"";if(!g)continue;const y=o==="provider"?"":o.startsWith("provider_")?o.slice(9):o.endsWith("_provider")?o.slice(0,-9):f.replace(/^provider_?/,""),_=y&&y!=="text"?`${y}_`:"",k=[`${_}reasoning`,`${_}thinking`,`${_}reasoning_effort`,`reasoning_${y}`,`thinking_${y}`].find(x=>r[x]);s.push({provider:o,model:g,reasoning:k,title:_?_.replace(/_/g," ").trim():"Text model"})}return s}const Oc={fetchProviders:async()=>{const n=await gn.discovery_providers(),r=n.providers||n.items;return Array.isArray(r)?r.map(s=>typeof s=="string"?{name:s}:s):[]},fetchModels:async n=>{const r=await gn.discovery_provider_models(n),s=r.models||r.items;return Array.isArray(s)?s.map(o=>typeof o=="string"?o:o.id||o.name).filter(Boolean):[]},fetchModelCapabilities:(n,r="")=>gn.discovery_model_capabilities(n,r)};function By(n){for(const r of["output.text","input.text"]){const s=(Array.isArray(n==null?void 0:n.routes)?n.routes:[]).find(o=>o.key===r&&o.source!=="not_configured"&&o.provider&&o.model);if(s)return{provider:s.provider,model:s.model}}}function Wy(n,r){n.startsWith("provider_")?n=`${n.slice(9)}_provider`:r!=null&&r.startsWith("provider_")&&!n.endsWith("_provider")&&(n=`${r.slice(9)}_provider`);const s={image_provider:"text_to_image",image_edit_provider:"image_to_image",image_upscale_provider:"image_upscale",video_provider:"text_to_video",image_to_video_provider:"image_to_video"}[n];if(!s&&!["music_provider","voice_provider"].includes(n))return Oc;const o=n==="voice_provider",l=s?`/api/gateway/vision/provider_models?task=${s}`:o?"/api/gateway/audio/speech/models?compact=true":"/api/gateway/audio/music/models?task=text_to_music",u=s?`${l}&providers_only=true`:o?"/api/gateway/voice/voices?providers_only=true&compact=true":"/api/gateway/audio/music/providers?task=text_to_music",f=h=>Array.isArray(h)?h.map(p=>typeof p=="string"?p:p.id||p.name).filter(Boolean):[];return{fetchProviders:async()=>{const h=await ft(u);if(h.error)throw new Error(h.error);return f(h.providers||h.available_providers||h.items).map(p=>({name:p}))},fetchModels:async h=>{var g,y,_;const p=await ft(`${l}&provider=${encodeURIComponent(h)}`);if(p.error)throw new Error(p.error);return f(((g=p.models_by_provider)==null?void 0:g[h])||((y=p.tts_models_by_provider)==null?void 0:y[h])||((_=p.music_models_by_provider)==null?void 0:_[h])||p.models||p.items)}}}const Vy=["gateway_default","on","off"],_p={status:"loading"};function Gy(n,r){if(r)return{status:"unsupported",reason:`the gateway's capabilities could not be read (${r})`};const s=n==null?void 0:n.capabilities,o=s==null?void 0:s.streaming;return!o||typeof o!="object"||o.deltas!==!0?{status:"unsupported",reason:"not supported by this gateway (it does not advertise live replies)"}:{status:"supported",gatewayDefault:typeof o.default=="boolean"?o.default:null}}function Hy(n){return Vy.includes(n)?n:"gateway_default"}function Ky(n,r){return n==="on"&&r.status!=="supported"?"gateway_default":n}function Jy(n,r,s){if(n!=="on"||r.status!=="unsupported"||!s.length)return null;const o=s.find(l=>l.role==="user")||s[0];return{after:o.id?String(o.id):null,message:{id:"stream-replies:unsupported",role:"system",level:"info",title:"Stream replies",content:`Streaming is on in your settings but this gateway does not support live replies: ${r.reason}. Replies appear when they are complete.`}}}function Qy(n){try{const r=JSON.parse(n);return typeof(r==null?void 0:r.call_id)=="string"&&r.call_id?r.call_id:""}catch{return""}}function Yy(n,r){const s=Qy(n.frame.data),o=s?`call:${s}`:`error:${n.error.message}`;return{after:r,message:{id:`stream-replies:malformed:${n.runId}:${o}`,role:"system",level:"warn",title:"Live reply",runId:n.runId,content:`The gateway sent a malformed live reply update (${n.frame.event}): ${n.error.message}. It was skipped; the complete reply still arrives.`}}}function Xy(n,r){return n.some(s=>s.message.id===r.message.id)?[...n]:[...n,r]}function Zy(n,r){const s=r.filter(h=>!!h);if(!s.length)return[...n];const o=[],l=new Set;for(const h of n){o.push(h);for(const p of s)!l.has(p)&&p.after!==null&&String(h.id)===p.after&&(o.push(p.message),l.add(p))}const u=s.filter(h=>!l.has(h)&&h.after===null),f=s.filter(h=>!l.has(h)&&h.after!==null);return[...u.map(h=>h.message),...o,...f.map(h=>h.message)]}function qy(n){return n.status==="supported"&&n.gatewayDefault!==null?`Gateway default (${n.gatewayDefault?"on":"off"})`:"Gateway default"}const Wn="@default",so="abstractcode.agent.v1";function Vn(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)?n:void 0}function Xt(n){return typeof n=="string"&&n.trim()?n.trim():void 0}const ew="gateway does not report a default agent workflow";function tw(n,r=so){var y,_;const s=Vn(n);if(!s)return{status:"unavailable",reason:"the gateway's workflow list could not be loaded"};const o=Vn(s.default_agent_workflows);if(!o)return{status:"unavailable",reason:ew};const l=Vn(o[r]);if(!l){const k=Xt((_=Vn((y=Vn(s.default_agent_workflows_unavailable))==null?void 0:y[r]))==null?void 0:_.reason);return{status:"unavailable",reason:k?`no default workflow for ${r}: ${k}`:`gateway reports no default workflow for ${r}`}}const u=Xt(l.bundle_id),f=Xt(l.flow_id),h=Xt(l.registry_scope);if(!u||!f||!h)return{status:"unavailable",reason:`gateway's default workflow for ${r} is missing its bundle, flow or registry scope`};const p=Xt(l.bundle_version);return{status:"ok",workflow:{workflowId:Xt(l.workflow_id)??`${u}${p?`@${p}`:""}:${f}`,bundleId:u,...p?{bundleVersion:p}:{},flowId:f,registryScope:h,name:Xt(l.name)??f,...Xt(l.source)?{source:Xt(l.source)}:{}}}}function nw(n){if(n.status==="loading")return"Gateway default (loading…)";if(n.status==="unavailable")return`Gateway default — ${n.reason}`;const{name:r,bundleVersion:s}=n.workflow;return`Gateway default → ${r}${s?` @${s}`:""}`}function rw(n,r,s=so){if(n.status!=="ok")return null;const o=n.workflow,l=r.find(u=>(u.registryScope??"private")===o.registryScope&&u.bundleId===o.bundleId&&u.flowId===o.flowId&&(!o.bundleVersion||u.bundleVersion===o.bundleVersion));return l||{id:`${o.registryScope}:${o.workflowId}`,workflowId:o.workflowId,bundleId:o.bundleId,...o.bundleVersion?{bundleVersion:o.bundleVersion}:{},flowId:o.flowId,name:o.name,description:"",interfaces:[s],registryScope:o.registryScope}}function wc(n,r=so){if(!n||n.interfaces.includes(r))return"";const s=n.interfaces.length?n.interfaces.join(", "):"no interface";return`The gateway default ${n.name} does not declare ${r} (it declares ${s}); it will not run as a coding agent here.`}function sw(n,r,s=so){return r?[...n]:n.filter(o=>o.interfaces.includes(s))}function iw(n){const r=s=>s===Wn||n.visible.some(o=>o.id===s)||!!n.runId&&n.workflows.some(o=>o.id===s);return n.selection&&r(n.selection)?n.selection:n.preferred&&r(n.preferred)?n.preferred:Wn}function Fc(n){var s,o;const r=Vn((o=Vn((s=Vn(n))==null?void 0:s.input_data))==null?void 0:o.workflow_selection);return Xt(r==null?void 0:r.source)}function ow(n){var r;return Fc(n.restoredInputs)==="gateway_default"?Wn:(r=n.restored)==null?void 0:r.id}function aw(n){return!Vn(n)||Fc(n)?"":"This gateway does not record whether this conversation used the gateway default workflow; its next turn uses the workflow its last run used."}function lw(n){return n.selection===Wn?{flow_id:Wn,interface:n.interfaceId??so,session_id:n.sessionId,input_data:n.input}:{bundle_id:n.workflow.bundleId,bundle_version:n.workflow.bundleVersion,registry_scope:n.workflow.registryScope,flow_id:n.workflow.flowId,session_id:n.sessionId,input_data:n.input}}function cw(n){const r=Vn(n);if(!r)return{text:"the gateway did not report which workflow it started",missing:!0};const s=Xt(r.name)??Xt(r.workflow_id)??Xt(r.flow_id)??"unnamed workflow",o=Xt(r.bundle_version);return{text:`running ${s}${o?` @${o}`:""}${r.source==="gateway_default"?" (gateway default)":""}`,missing:!1}}const vc={gatewayDefault:{status:"loading"},workflows:[],choices:[],policy:null,tools:[],sessions:[],capabilities:{},streaming:_p,loading:!1,errors:[],hasMore:!1};function uw(n){var s;const r=((s=n==null?void 0:n.capabilities)==null?void 0:s.contracts)??(n==null?void 0:n.contracts)??n;return r&&typeof r=="object"&&!Array.isArray(r)?r:{}}function dw(n,r){const[s,o]=v.useState(vc),[l,u]=v.useState(100),f=v.useRef(0),h=v.useRef(),p=v.useRef({identity:"",values:{}}),g=v.useCallback(async()=>{var R,A;const y=++f.current;(R=h.current)==null||R.abort();const _=new AbortController;if(h.current=_,p.current.identity!==n&&(p.current={identity:n,values:{}}),!n){o(vc);return}o(T=>({...T,loading:!0,errors:[]}));const k=["bundles?all_versions=true&include_drafts=false","workspace/policy","discovery/tools",`runs?root_only=true&include_ledger_len=false&limit=${l}`,"discovery/capabilities","workflow-catalog?scope=tenant","config/capability-defaults"],x=await Promise.allSettled(k.map(T=>ft(`/api/gateway/${T}`,{signal:_.signal})));if(f.current!==y)return;const C=T=>x[T].status==="fulfilled"?x[T].value:void 0,j=[];x.forEach((T,b)=>{var P,H;T.status==="rejected"&&(((P=T.reason)==null?void 0:P.status)===401&&r(),!(b===5&&[403,404,501].includes((H=T.reason)==null?void 0:H.status))&&j.push(`${["Workflows","Workspace policy","Tools","Conversations","Capabilities","Shared workflows","Gateway defaults"][b]}: ${yt(T.reason)}`))}),o({workflows:Nf(C(0),C(5)),choices:by(Nf(C(0),C(5))),policy:C(1)?Cy(C(1)):null,tools:Ey(C(2)),sessions:yc(C(3),p.current.values),capabilities:uw(C(4)),streaming:Gy(C(4),x[4].status==="rejected"?yt(x[4].reason):void 0),defaultModel:By(C(6)),gatewayDefault:tw(C(0)),loading:!1,errors:j,hasMore:!!((A=C(3))!=null&&A.has_more)});const E=yc(C(3),p.current.values).filter(T=>!T.prompt&&!(T.firstRunId in p.current.values));for(let T=0;T<E.length;T+=4){if(f.current!==y||_.signal.aborted||(await Promise.all(E.slice(T,T+4).map(async b=>{try{const P=await ft(`/api/gateway/runs/${encodeURIComponent(b.firstRunId)}/input_data`,{signal:_.signal});f.current===y&&!_.signal.aborted&&(p.current.values[b.firstRunId]=P)}catch(P){!_.signal.aborted&&(P==null?void 0:P.status)===401&&r()}})),f.current!==y||_.signal.aborted))return;o(b=>({...b,sessions:yc(C(3),p.current.values)}))}},[n,l,r]);return v.useEffect(()=>{u(100)},[n]),v.useEffect(()=>(o(vc),g(),()=>{var y;f.current+=1,(y=h.current)==null||y.abort()}),[g]),{...s,refresh:g,loadMore:()=>u(y=>y+100)}}async function fw(n){if(n.inputSchema)return $f(n.inputSchema);if(!n.bundleId)return;const r=encodeURIComponent(n.bundleId),s=encodeURIComponent(n.flowId),o=n.registryScope==="tenant_catalog"&&n.bundleVersion?`/api/gateway/workflow-catalog/${r}/versions/${encodeURIComponent(n.bundleVersion)}/flows/${s}/input_schema?scope=tenant`:`/api/gateway/bundles/${r}/flows/${s}/input_schema${n.bundleVersion?`?bundle_version=${encodeURIComponent(n.bundleVersion)}`:""}`,l=await ft(o),u=$f(l);if(!u||l!=null&&l.native_loop_factory||(l==null?void 0:l.version)!==1||!Array.isArray(l==null?void 0:l.inputs)||!(l!=null&&l.input_data_schema)||!Array.isArray(u.required)||!u.required.length)return u;const f=n.bundleVersion||l.bundle_version;if(!f)throw new Error("The Gateway did not identify the workflow version. Refresh workflows and retry.");const h={bundle_id:n.bundleId,bundle_version:f,flow_id:n.flowId},p=_=>{for(const[k,x]of Object.entries(h))if((_==null?void 0:_[k])!==x)throw new Error("The Gateway returned inputs for a different workflow version. Refresh workflows and retry.");if(n.registryScope==="tenant_catalog"&&(_==null?void 0:_.registry_scope)!=="tenant_catalog")throw new Error("The Gateway returned inputs from a different workflow registry. Refresh workflows and retry.")};p(l);const g=n.registryScope==="tenant_catalog"?`/api/gateway/workflow-catalog/${r}/versions/${encodeURIComponent(f)}/flows/${s}?scope=tenant`:`/api/gateway/bundles/${r}/flows/${s}?bundle_version=${encodeURIComponent(f)}`,y=await ft(g);return p(y),Fy(u,y.flow)}const _c=n=>`/api/gateway/runs/${encodeURIComponent(n)}`;function pw(n){return{getRun:(r,s)=>ft(_c(r),{signal:s}),getHistory:(r,s)=>ft(`${_c(r)}/history_bundle?include_subruns=true&include_session=true&ledger_mode=full`,{signal:s}),getLedger:(r,s,o)=>ft(`${_c(r)}/ledger?after=${s}&limit=200`,{signal:o}),streamLedger:(r,s,o,l,u,f)=>gn.stream_ledger(r,{after:s,on_step:o,signal:l,on_open:u,on_delta:f,on_delta_error:(h,p)=>n.onDeltaError({runId:r,error:h,frame:p})}),submitCommand:(r,s)=>ft("/api/gateway/commands",{method:"POST",body:JSON.stringify(r),signal:s})}}function hw(n,r,s=[],o=null,l){if(!n)return null;const u=n.wait,f=`${n.runId}:${u.wait_key}:${n.stepId||""}`,h=u.details||{};if(h.mode==="approval_required"||h.kind==="tool_approval"){const g=Array.isArray(h.tool_calls)?h.tool_calls:[],y={runId:n.runId,waitKey:String(u.wait_key||""),stepId:n.stepId},_=[...new Set(g.map(k=>k.name||"tool"))];return{id:f,kind:"tool-approval",title:`${g.length||"Requested"} ${g.length===1?"action needs":"actions need"} permission`,toolName:_.join(", ")||"the requested tools",description:"Review the targets below. Allow once approves this batch only.",detail:a.jsxs("div",{className:"code-approval-summary",children:[a.jsx(ap,{tools:g.map((k,x)=>({id:String(k.call_id||k.id||x),runId:n.runId,name:k.name||"Tool",arguments:k.arguments,status:"waiting"}))}),a.jsxs("details",{children:[a.jsx("summary",{children:"Review full tool arguments (JSON)"}),a.jsx(ys,{value:g.length?g:h})]})]}),approveLabel:"Allow once",denyLabel:"Deny",approveAllLabel:"Allow all enabled tools",approveAllDescription:"Sets permissions: all for this Gateway account, including future turns. Unchecked tools stay unavailable; explicit Ask overrides and Gateway restrictions remain enforced. Questions still need your answer.",onApproveAll:l?async()=>{await r.approveWithPolicyChange(y,()=>{l()})}:void 0,onApprove:async()=>{await r.approve(!0,y)},onDeny:async()=>{await r.approve(!1,y)}}}if(u.reason==="user"||u.reason==="ask_user")return{id:f,kind:"ask-user",title:"A question for you",prompt:String(u.prompt||h.prompt||"How would you like to continue?"),allowFreeText:u.allow_free_text!==!1,choices:(Array.isArray(u.choices)?u.choices:[]).map(g=>typeof g=="object"&&g!==null?{id:String(g.value??g.id??g.label),label:String(g.label??g.text??g.value??g.id),description:g.description}:{id:String(g),label:String(g)}),onSubmit:async g=>{await r.resume(g)}};const p=String(u.wait_key||"");if(u.reason==="event"||p.startsWith("evt:")){const g=vy(n,s,o),y=g.target,_=(y==null?void 0:y.name)||"";return{id:f,kind:"event-wait",title:y?"Waiting for an event":"Event routing unavailable",eventName:_,prompt:String(u.prompt||`This workflow will continue when “${_||"its trigger"}” arrives.`),description:y?"You can also send the expected event here.":`This event cannot be sent safely. ${g.error}`,initialPayload:"{}",payloadLabel:"Event data (JSON)",sendLabel:"Send event",onSend:async k=>{if(!y)throw new Error(g.error);const x=JSON.parse(k||"{}"),C={name:y.name,scope:y.scope,payload:x};y.scope==="session"?C.session_id=y.scopeId:y.scope==="workflow"?C.workflow_id=y.scopeId:y.scope==="run"&&(C.run_id=y.scopeId),await r.emitEvent(C)}}}return null}function Un(n){return typeof n=="string"?n.trim():""}function mw(n){const r=n&&typeof n=="object"&&!Array.isArray(n)?n:{},o=(Array.isArray(r.skills)?r.skills:[]).flatMap(h=>{const p=h&&typeof h=="object"&&!Array.isArray(h)?h:null,g=Un(p==null?void 0:p.name);if(!p||!g)return[];const y=p.source&&typeof p.source=="object"&&!Array.isArray(p.source)?p.source:void 0;return[{name:g,description:Un(p.description),trustLevel:Un(p.trust_level)||"unverified",blocked:p.blocked===!0,requiresReview:p.requires_review===!0,reasons:Array.isArray(p.reasons)?p.reasons.map(Un).filter(Boolean):[],source:y?{source:Un(y.source),binding:Un(y.binding),ambiguous:y.ambiguous===!0}:void 0}]}),l=Array.isArray(r.warnings)?r.warnings.map(Un).filter(Boolean):[],u=Un(r.shelf),f=Un(r.shelf_source);return{skills:o.sort((h,p)=>h.name.localeCompare(p.name)),warnings:l,...u?{shelf:u}:{},...f?{shelfSource:f}:{}}}function gw({inventory:n}){return a.jsxs("div",{className:"code-skills-empty",role:"status",children:[a.jsx("p",{children:a.jsx("strong",{children:"This gateway offers no skills."})}),n.warnings.length?n.warnings.map((r,s)=>a.jsx("p",{children:n.shelf?r:`The gateway has no skill shelf: ${r}`},`${r}:${s}`)):a.jsx("p",{children:"The gateway gave no reason for the empty list."}),n.shelf?a.jsxs("p",{className:"code-field-help",children:["Skill shelf: ",a.jsx("code",{children:n.shelf}),n.shelfSource?` (source: ${n.shelfSource})`:""]}):a.jsx("p",{className:"code-field-help",children:"The gateway did not report a skill shelf location."})]})}function yw(n){var o;const r=n.trustLevel.replace(/[_-]+/g," "),s=(o=n.source)!=null&&o.source?`Adopted from ${n.source.source}`:"Source has no adoption record";return`Trust: ${r}. ${s}${n.requiresReview?". Review required":""}.`}function ww({value:n,onChange:r,disabled:s}){const[o,l]=v.useState({skills:[],warnings:[]}),[u,f]=v.useState(""),[h,p]=v.useState(!0),[g,y]=v.useState(""),[_,k]=v.useState(0);v.useEffect(()=>{const E=new AbortController;return p(!0),y(""),ft("/api/gateway/skills",{signal:E.signal}).then(R=>{E.signal.aborted||l(mw(R))}).catch(R=>{E.signal.aborted||y(yt(R))}).finally(()=>{E.signal.aborted||p(!1)}),()=>E.abort()},[_]);const x=v.useMemo(()=>new Set(n.map(Un).filter(Boolean)),[n]),C=v.useMemo(()=>{const E=u.trim().toLocaleLowerCase();return E?o.skills.filter(R=>`${R.name}
|
|
52
|
-
${R.description}
|
|
53
|
-
${R.trustLevel}`.toLocaleLowerCase().includes(E)):o.skills},[o.skills,u]),j=(E,R)=>{const A=R?[...x,E]:[...x].filter(T=>T!==E);r([...new Set(A)])};return a.jsxs("section",{className:"code-settings-section","aria-labelledby":"code-skills-heading",children:[a.jsx("h3",{id:"code-skills-heading",children:"Skills"}),a.jsx("p",{className:"code-muted",children:"Choose curated guidance for the next turn. The gateway evaluates trust and requirements when the run starts; this browser does not load or execute skill scripts."}),a.jsxs("label",{className:"code-field",children:["Find a skill",a.jsx("input",{type:"search",value:u,onChange:E=>f(E.target.value),disabled:s||h,placeholder:"Search names, descriptions, or trust"})]}),h?a.jsx("p",{className:"code-muted",role:"status",children:"Loading skills from the gateway…"}):null,g?a.jsxs("div",{className:"code-inline-error",role:"alert",children:["Skill selection is unavailable: ",g," ",a.jsx("button",{className:"code-text-button",type:"button",onClick:()=>k(E=>E+1),disabled:s,children:"Retry"})]}):null,o.warnings.length&&o.skills.length?a.jsxs("details",{className:"code-disabled-tools",children:[a.jsxs("summary",{children:["Gateway reported ",o.warnings.length," skills warning",o.warnings.length===1?"":"s"]}),o.warnings.map((E,R)=>a.jsx("p",{children:E},`${E}:${R}`))]}):null,!h&&!g&&!o.skills.length?a.jsx(gw,{inventory:o}):null,!h&&!g&&o.skills.length&&!C.length?a.jsx("p",{className:"code-muted",children:"No skills match your search."}):null,C.map(E=>{const R=E.reasons.join(" ")||"Blocked by gateway policy.",A=x.has(E.name),T=s||E.blocked;return a.jsxs("label",{className:"code-field",children:[a.jsxs("span",{children:[a.jsx("input",{type:"checkbox",checked:A,disabled:T,onChange:b=>j(E.name,b.target.checked)})," ",a.jsx("strong",{children:E.name})]}),E.description?a.jsx("span",{className:"code-field-help",children:E.description}):null,a.jsx("span",{className:"code-field-help",children:yw(E)}),E.blocked?a.jsxs("span",{className:"code-error-text",children:["Blocked by the gateway: ",R]}):null]},E.name)})]})}function Dc(n){if(!["ArrowLeft","ArrowRight","Home","End"].includes(n.key))return;const r=[...n.currentTarget.querySelectorAll('button[role="tab"]')].filter(l=>!l.disabled),s=r.indexOf(n.target);if(s<0||!r.length)return;n.preventDefault();const o=n.key==="Home"?0:n.key==="End"?r.length-1:(s+(n.key==="ArrowRight"?1:-1)+r.length)%r.length;r[o].focus(),r[o].click()}function kp(n,r,s="default"){const o=n.filter(u=>u.enabled&&!u.servedDisabled&&(r.mode==="all"||r.selected.includes(u.name))),l=u=>{const f=r.approval[u.name];if(f==="ask")return!1;if(f==="approve"||s==="all")return!0;const h=["auto","approve"].includes((u.approval||"").trim().toLowerCase());if(s==="default")return h;const p=h?1:["write_file","edit_file"].includes(u.name)?2:3,g=u.riskRank===void 0||u.riskRank===1?1:u.riskRank===2?2:3;return Math.max(p,g)<=(s==="write"?2:1)};return{enabledTools:o.map(u=>u.name),autoApproveTools:o.filter(l).map(u=>u.name),requireApprovalTools:o.filter(u=>!l(u)).map(u=>u.name)}}function vw(n,r){if(!Array.isArray(r))return n;const s=o=>r.includes(o);return{enabledTools:n.enabledTools.filter(s),autoApproveTools:n.autoApproveTools.filter(s),requireApprovalTools:n.requireApprovalTools.filter(s)}}const ur={provider:"",model:"",reasoning:"",maxIterations:"",maxTokens:"",system:"",workspaceRoot:"",workspaceMode:"",allowedPaths:"",tools:{mode:"all",selected:[],approval:{}},toolsCustomized:!1,permissions:"default",skills:[],workflow:"@default",showAllWorkflows:!1,streamReplies:"gateway_default"};function _w({open:n,onClose:r,tab:s,onTab:o,value:l,onChange:u,policy:f,tools:h,disabled:p,defaultModel:g,workflowDefault:y,streaming:_=_p}){const k=x=>u({...l,...x});return a.jsx(Nc,{open:n,onClose:r,label:"Run settings",title:"Run settings",width:480,topOffset:60,className:"code-settings-drawer",children:a.jsxs("div",{className:"code-settings",children:[a.jsx("p",{className:"code-muted",children:"Settings apply to the next turn. Your gateway enforces the available permissions."}),a.jsx("div",{className:"code-settings-tabs",role:"tablist","aria-label":"Settings sections",onKeyDown:Dc,children:["model","workspace","tools","skills"].map(x=>a.jsx("button",{role:"tab",tabIndex:s===x?0:-1,"aria-selected":s===x,onClick:()=>o(x),children:x==="model"?"Model & behavior":x==="workspace"?"Workspace":x==="tools"?"Tools":"Skills"},x))}),p?a.jsx("p",{className:"code-notice",children:"Settings are unavailable while disconnected or while a run is active. Reconnect, or finish or stop the run, then try again."}):null,s==="model"?a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:"code-settings-section",children:[a.jsx("h3",{children:"Model"}),a.jsx(Ic,{defaultModeLabel:y?"Workflow default":"Gateway default",value:l,onChange:k,disabled:p,effectiveDefault:g,fetchModelCapabilities:Oc.fetchModelCapabilities,enableSpeculation:!0,defaultHint:g?`${y?"Workflow":"Gateway"} default: ${g.provider} · ${g.model}.`:void 0,fetchProviders:async()=>{const x=await gn.discovery_providers();return Array.isArray(x.providers)?x.providers:Array.isArray(x.items)?x.items:[]},fetchModels:async x=>{const C=await gn.discovery_provider_models(x);return(Array.isArray(C.models)?C.models:Array.isArray(C.items)?C.items:[]).map(j=>typeof j=="string"?j:j.id||j.name)}})]}),a.jsxs("section",{className:"code-settings-section",children:[a.jsx("h3",{children:"Behavior"}),a.jsxs("div",{className:"code-field-pair",children:[a.jsxs("label",{className:"code-field",children:["Iteration limit",a.jsx("input",{type:"number",min:1,step:1,placeholder:"Workflow default",value:l.maxIterations,disabled:p,onChange:x=>k({maxIterations:x.target.value})})]}),a.jsxs("label",{className:"code-field",children:["Context token limit",a.jsx("input",{type:"number",min:1,step:1,placeholder:"Gateway default",value:l.maxTokens,disabled:p,onChange:x=>k({maxTokens:x.target.value})})]})]}),a.jsxs("label",{className:"code-field",children:["Additional instructions",a.jsx("textarea",{rows:5,value:l.system,placeholder:"Project conventions or guidance for this conversation…",disabled:p,onChange:x=>k({system:x.target.value})})]}),a.jsx("p",{className:"code-field-help",children:"Reasoning and additional instructions depend on the selected workflow and model."}),a.jsx(kw,{value:l.streamReplies,onChange:x=>k({streamReplies:x}),disabled:p,streaming:_})]})]}):s==="workspace"?a.jsxs("section",{className:"code-settings-section",children:[a.jsx("h3",{children:"Workspace access"}),a.jsxs("div",{className:"code-policy",children:[a.jsx("strong",{children:f!=null&&f.clientWorkspaceScopeOverrides?"Client scope requests enabled":"Managed by your gateway"}),a.jsx("p",{children:f!=null&&f.clientWorkspaceScopeOverrides?"You may request a workspace scope. Gateway policy remains authoritative.":"The gateway chooses and restricts the workspace. File browsing and tool execution follow the same policy."})]}),a.jsxs("dl",{className:"code-facts",children:[a.jsx("dt",{children:"Allowed access modes"}),a.jsx("dd",{children:(f==null?void 0:f.allowedAccessModes.join(", "))||"Gateway default"}),a.jsx("dt",{children:"Available mounts"}),a.jsx("dd",{children:f!=null&&f.mounts.length?f.mounts.map(x=>x.label).join(", "):"Default workspace"})]}),f!=null&&f.clientWorkspaceScopeOverrides?a.jsxs(a.Fragment,{children:[a.jsxs("label",{className:"code-field",children:["Workspace root",a.jsx("input",{value:l.workspaceRoot,placeholder:"Gateway default",disabled:p,onChange:x=>k({workspaceRoot:x.target.value})})]}),a.jsxs("label",{className:"code-field",children:["Access mode",a.jsxs("select",{value:l.workspaceMode,disabled:p,onChange:x=>k({workspaceMode:x.target.value}),children:[a.jsx("option",{value:"",children:"Gateway default"}),f.allowedAccessModes.map(x=>a.jsx("option",{value:x,children:x.replace(/_/g," ")},x))]})]}),l.workspaceMode==="workspace_or_allowed"?a.jsxs("label",{className:"code-field",children:["Additional allowed paths",a.jsx("textarea",{rows:3,value:l.allowedPaths,disabled:p,placeholder:"One path per line",onChange:x=>k({allowedPaths:x.target.value})})]}):null]}):null]}):s==="tools"?a.jsxs("section",{className:"code-settings-section",children:[a.jsxs("label",{className:"code-field",children:["Permissions",a.jsxs("select",{"aria-label":"Permissions",value:l.permissions,disabled:p,onChange:x=>k({permissions:x.target.value}),children:[a.jsx("option",{value:"default",children:"Workflow / Gateway defaults"}),a.jsx("option",{value:"read",children:"Read"}),a.jsx("option",{value:"write",children:"Write"}),a.jsx("option",{value:"all",children:"All enabled tools"})]})]}),a.jsx("p",{className:"code-field-help",children:"Saved for this Gateway account and future turns. Permissions never enable an unchecked tool. Explicit Ask overrides still ask, even with permissions: all."}),a.jsx(Lm,{tools:h.filter(x=>x.enabled).map(x=>({...x,default_approval:kp(h,l.tools,l.permissions).autoApproveTools.includes(x.name)?"approve":"ask"})),value:l.tools,onChange:x=>k({tools:x,toolsCustomized:!0}),disabled:p,subtitle:"Choose available tools and when they should ask you. Gateway restrictions always apply.",note:"An empty custom selection disables every tool. Approvals follow the permissions level and each tool's override."}),h.some(x=>!x.enabled)?a.jsxs("details",{className:"code-disabled-tools",children:[a.jsxs("summary",{children:[h.filter(x=>!x.enabled).length," tools unavailable under gateway policy"]}),h.filter(x=>!x.enabled).map(x=>a.jsxs("p",{children:[a.jsx("strong",{children:x.name}),a.jsx("br",{}),x.whyDisabled||"Disabled by the gateway"]},x.name))]}):null,a.jsx("button",{className:"code-text-button",disabled:p,onClick:()=>k({toolsCustomized:!1,tools:ur.tools,permissions:"default"}),children:"Use workflow tool defaults"})]}):a.jsx(ww,{value:l.skills,onChange:x=>k({skills:x}),disabled:p})]})})}function kw({value:n,onChange:r,disabled:s,streaming:o}){const l=o.status!=="supported",u=o.status==="unsupported"?`Unavailable: ${o.reason}. Replies appear when they are complete.`:o.status==="loading"?"Checking whether this gateway supports live replies…":"Show the reply while the model writes it. The complete reply replaces the live text when the model call ends.";return a.jsxs(a.Fragment,{children:[a.jsxs("label",{className:"code-field",children:["Stream replies",a.jsxs("select",{"aria-label":"Stream replies","aria-describedby":"code-stream-replies-help",value:n,disabled:s||l,onChange:f=>r(f.target.value),children:[a.jsx("option",{value:"gateway_default",children:qy(o)}),a.jsx("option",{value:"on",children:"On"}),a.jsx("option",{value:"off",children:"Off"})]})]}),a.jsx("p",{id:"code-stream-replies-help",className:"code-field-help","data-streaming":o.status,children:u})]})}async function xw(n){var s;const r=String(n??"");if(!r)return!1;try{if((s=navigator==null?void 0:navigator.clipboard)!=null&&s.writeText)return await navigator.clipboard.writeText(r),!0}catch{}try{const o=document.createElement("textarea");o.value=r,o.setAttribute("readonly","true"),o.style.position="fixed",o.style.top="-1000px",o.style.left="-1000px",document.body.appendChild(o),o.select(),o.setSelectionRange(0,o.value.length);const l=document.execCommand("copy");return document.body.removeChild(o),!!l}catch{return!1}}const bw=3,Rf=["KB","MB","GB","TB"];function ro(n){const r=Math.max(0,Number(n)||0);if(r<1024)return`${r} B`;let s=r/1024,o=0;for(;s>=1024&&o<Rf.length-1;)s/=1024,o+=1;return`${s<10?Math.round(s*10)/10:Math.round(s)} ${Rf[o]}`}function Tf(n){return`${Math.round(n).toLocaleString("en-US")} bytes`}function xp(n,r){if(!r||!(r>0)||n.size<=r)return null;let s=ro(n.size),o=ro(r);return s===o&&(s=Tf(n.size),o=Tf(r)),`${n.name||"This file"} is ${s}; the gateway accepts files up to ${o}.`}function Sw(n){return`Upload failed: ${String(n||"").replace(/^attachments_upload failed:?\s*/i,"").trim()||"the gateway did not say why"}`}function jw(n,r,s){return n.map(o=>{const l=xp(o,r);return{id:s(),file:o,name:o.name||"Untitled file",size:o.size,status:l?"refused":"queued",...l?{message:l}:{}}})}async function Nw(n,r,s){let o=0;const l=Array.from({length:Math.max(1,Math.min(Math.floor(r)||1,n.length))},async()=>{for(;o<n.length;){const u=n[o];o+=1,await s(u)}});await Promise.all(l)}function Na(n){return`${n} ${n===1?"file":"files"}`}function Af(n,r){const s=[];return n&&s.push(`${Na(n)} attached`),r&&s.push(`${Na(r)} could not be attached`),s.join(", ")}function Cw(n){const r=n.filter(l=>l.status==="queued"||l.status==="uploading").length;if(r)return`Wait for ${Na(r)} to finish uploading.`;const s=n.filter(l=>l.status==="failed"||l.status==="refused");if(!s.length)return null;const o=s.some(l=>l.status==="failed");return s.length===1?`"${s[0].name}" was not attached. ${o?"Retry or remove":"Remove"} it before sending.`:`${Na(s.length)} were not attached. ${o?"Retry or remove":"Remove"} them before sending.`}const If=1024*1024,Ew="1 MiB",Ca=n=>`/api/gateway/runs/${encodeURIComponent(n)}/workspace`;function $w(n,r){const s=new URLSearchParams({path:r,recursive:"false"});return`${Ca(n)}/files?${s}`}function ka(n,r){return`${Ca(n)}/content?${new URLSearchParams({path:r})}`}const Rw=new Set("txt log csv tsv py js mjs cjs ts tsx jsx rs go java kt c h cc cpp hpp cs rb php swift sh bash zsh fish ps1 toml yaml yml ini cfg conf env xml css scss less sql graphql proto gradle make mk dockerfile gitignore lock r jl lua pl ex exs erl hs ml vue svelte tex rst adoc org diff patch".split(" ")),Tw=new Set("png jpg jpeg gif webp bmp ico avif svg".split(" "));function Aw(n){const r=n.split("/").pop()||n,s=r.lastIndexOf(".");return s>0?r.slice(s+1).toLowerCase():r.toLowerCase()}function Mf(n,r=""){const s=Aw(n),o=r.split(";",1)[0].trim().toLowerCase();return s==="md"||s==="markdown"||o==="text/markdown"?"markdown":s==="json"||s==="jsonl"||o==="application/json"||o.endsWith("+json")?s==="jsonl"?"text":"json":Tw.has(s)||o.startsWith("image/")?"image":s==="html"||s==="htm"||o==="text/html"?"html":Rw.has(s)||o.startsWith("text/")||["application/javascript","application/xml","application/x-yaml","application/toml"].includes(o)?"text":"binary"}function bp(n){if(typeof n!="number"||!Number.isFinite(n))return"";if(n<1024)return`${n} B`;const r=["KiB","MiB","GiB","TiB"];let s=n/1024,o=0;for(;s>=1024&&o<r.length-1;)s/=1024,o+=1;return`${s<10?s.toFixed(1):Math.round(s)} ${r[o]}`}function Iw(n){if(n==null||n==="")return"";const r=new Date(typeof n=="number"&&n<1e12?n*1e3:n);return Number.isFinite(r.getTime())?r.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):String(n)}function Mw(n){var r;return n.open_supported===!0&&((r=n.host)==null?void 0:r.caller_is_this_machine)===!0}function Lw({info:n,onCopy:r,onOpen:s,opening:o}){var u,f;const l=((u=n.host)==null?void 0:u.caller_is_this_machine)!==!0;return a.jsxs("div",{className:"code-session-workspace",children:[a.jsxs("div",{className:"code-session-workspace-path",children:[a.jsx("code",{title:n.workspace_root,children:n.workspace_root}),a.jsx("button",{className:"code-icon-button","aria-label":"Copy workspace path",title:"Copy path",onClick:r,children:a.jsx(ue,{name:"copy",size:13})})]}),l?a.jsxs("p",{className:"code-field-help",children:["on the gateway host ",((f=n.host)==null?void 0:f.hostname)||"(hostname not reported)"]}):null,n.exists?null:a.jsx("p",{className:"code-field-help",children:"This folder does not exist yet. It appears when the workflow writes its first file."}),Mw(n)?a.jsxs("button",{className:"code-subtle-button",onClick:s,disabled:o,children:[a.jsx(ue,{name:"terminal",size:13}),a.jsx("span",{children:o?"Opening…":"Open folder"})]}):null]})}function Pw({listing:n,selected:r,onOpenDir:s,onSelectFile:o}){const l=[...n.entries].sort((u,f)=>+(f.type==="dir")-+(u.type==="dir")||u.name.localeCompare(f.name));return a.jsxs(a.Fragment,{children:[a.jsx("ul",{className:"code-file-list code-session-files",children:l.map(u=>a.jsx("li",{children:a.jsxs("button",{className:r===u.path?"is-selected":void 0,title:u.type==="dir"?`Open ${u.path}`:`Preview ${u.path}`,onClick:()=>u.type==="dir"?s(u.path):o(u),children:[a.jsx(ue,{name:u.type==="dir"?"chevronRight":"edit",size:14}),a.jsx("span",{children:u.type==="dir"?`${u.name}/`:u.name}),a.jsxs("small",{className:"code-file-meta",children:[u.type==="file"?bp(u.size_bytes):"",u.mtime!==void 0?` · ${Iw(u.mtime)}`:""]})]})},u.path))}),n.truncated?a.jsxs("p",{className:"code-field-help",role:"status",children:["The gateway listed only part of this folder (",n.entries.length," entries shown)."]}):null,n.entries.length?null:a.jsx("p",{className:"code-pane-empty",children:"This folder is empty."})]})}function Ow(n,r){const s=n&&typeof n=="object"&&!Array.isArray(n)?n:null,o=u=>{throw new Error(`Unexpected /workspace/files response from the gateway: ${u}.`)};s||o("not an object"),Array.isArray(s.entries)||o("no `entries` list"),typeof s.truncated!="boolean"&&o("no `truncated` flag");const l=s.entries.map((u,f)=>{const h=u&&typeof u=="object"?u:{};return(typeof h.name!="string"||typeof h.path!="string"||h.type!=="file"&&h.type!=="dir")&&o(`entry ${f+1} lacks a name, path or file/dir type`),h});return{path:typeof s.path=="string"?s.path:r,entries:l,truncated:s.truncated}}function Lf(n,r){return typeof n.size_bytes!="number"?null:xp({name:n.name,size:n.size_bytes},r)}function Fw(n,r){return r?r.status==="refused"?`Not attached: ${r.message||"refused by the gateway's attachment policy"}`:`${n} is uploading; its chip in the message box shows when it is attached.`:`${n} was not queued for upload.`}function Sp(n){const r=n.headers.get("content-range"),s=r?Number(r.split("/")[1]):NaN;if(Number.isFinite(s))return s;const o=Number(n.headers.get("content-length"));return n.status===200&&Number.isFinite(o)&&n.headers.has("content-length")?o:void 0}async function Dw(n,r,s){var g;const o=new TextDecoder;let l="",u=0;const f=(g=n.body)==null?void 0:g.getReader();if(f){for(;u<r;){const{done:y,value:_}=await f.read();if(y)break;const k=_.subarray(0,r-u);u+=k.length,l+=o.decode(k,{stream:!0})}await f.cancel().catch(()=>{})}const h=Sp(n)??s,p=h!==void 0?h>u:u>=r;return{text:l,received:u,total:h,partial:p}}function zw(n){return`Showing the first ${Ew} of ${n!==void 0?bp(n):"a file of unknown size"}; download for the rest.`}function Uw(n,r,s){const o=`/api/gateway/runs/${encodeURIComponent(r)}/workspace/content?`,l=s.split("/").slice(0,-1),u=p=>{if(/^[a-z][a-z0-9+.-]*:/i.test(p)||p.startsWith("/")||p.startsWith("#"))return null;const g=[...l];for(const y of p.split(/[?#]/,1)[0].split("/"))if(!(!y||y==="."))if(y===".."){if(!g.length)return null;g.pop()}else g.push(Bw(y));return g.length?ka(r,g.join("/")):null},f=p=>{let g="",y=0;for(;y<p.length;){if(p[y]==="!"&&p[y+1]==="["){const _=p.indexOf("]",y+2);if(_!==-1&&p[_+1]==="("){const k=p.indexOf(")",_+2);if(k!==-1){const x=p.slice(y+2,_),C=p.slice(_+2,k).trim(),j=C.startsWith(o)?C:u(C);g+=j?``:`[image: ${x||C}](${C})`,y=k+1;continue}}}g+=p[y],y+=1}return g};let h=!1;return n.split(`
|
|
54
|
-
`).map(p=>/^\s*(```|~~~)/.test(p)?(h=!h,p):h?p:f(p)).join(`
|
|
55
|
-
`)}function Bw(n){try{return decodeURIComponent(n)}catch{return n}}function Ww({entry:n,url:r,state:s,onAttach:o,attaching:l}){return a.jsxs("div",{className:"code-file-preview","aria-label":`Preview of ${n.name}`,children:[a.jsxs("div",{className:"code-file-preview-head",children:[a.jsx("strong",{title:n.path,children:n.name}),a.jsx("a",{className:"code-text-button",href:r,download:n.name,children:"Download"}),a.jsx("button",{className:"code-text-button",onClick:o,disabled:l,children:l?"Attaching…":"Attach to conversation"})]}),s.status==="loading"?a.jsx("p",{className:"code-muted",role:"status",children:"Loading preview…"}):s.status==="error"?a.jsx("p",{className:"code-error-text",role:"alert",children:s.message}):s.status==="ready"?a.jsxs(a.Fragment,{children:[s.partial?a.jsx("p",{className:"code-field-help",role:"status",children:zw(s.total)}):null,s.kind==="image"?a.jsx("img",{className:"code-file-preview-image",src:r,alt:n.name}):s.kind==="markdown"?a.jsx(rp,{text:s.text||""}):s.kind==="json"?a.jsx(Vw,{text:s.text||""}):s.kind==="binary"?a.jsx("p",{className:"code-field-help",children:"No preview for this file type. Use Download to open it."}):a.jsx("pre",{className:"code-file-preview-text",children:s.text})]}):null]})}function Vw({text:n}){try{return a.jsx(ys,{value:JSON.parse(n),collapseAfterDepth:2})}catch(r){return a.jsxs(a.Fragment,{children:[a.jsxs("p",{className:"code-field-help",children:["Not valid JSON (",yt(r),"); shown as text."]}),a.jsx("pre",{className:"code-file-preview-text",children:n})]})}}function Gw({runId:n,enabled:r,refreshKey:s,maxAttachmentBytes:o,onAttachFiles:l}){const[u,f]=v.useState(null),[h,p]=v.useState(""),[g,y]=v.useState(""),[_,k]=v.useState(null),[x,C]=v.useState(""),[j,E]=v.useState(!1),[R,A]=v.useState(0),[T,b]=v.useState(""),[P,H]=v.useState(!1),[D,U]=v.useState(null),[ge,ce]=v.useState({status:"idle"}),[Q,W]=v.useState(!1);if(v.useEffect(()=>{y(""),U(null)},[n]),v.useEffect(()=>{if(f(null),p(""),!r||!n)return;const q=new AbortController;return ft(Ca(n),{signal:q.signal}).then(ee=>f(ee)).catch(ee=>{q.signal.aborted||p(yt(ee))}),()=>q.abort()},[r,n,R]),v.useEffect(()=>{if(k(null),C(""),!r||!n||!(u!=null&&u.exists))return;const q=new AbortController;return E(!0),ft($w(n,g),{signal:q.signal}).then(ee=>k(Ow(ee,g))).catch(ee=>{q.signal.aborted||C(yt(ee))}).finally(()=>{q.signal.aborted||E(!1)}),()=>q.abort()},[r,n,u,g,s]),v.useEffect(()=>{if(!D||!n){ce({status:"idle"});return}if(Mf(D.name)==="image"){ce({status:"ready",kind:"image",partial:!1});return}const ee=new AbortController;return ce({status:"loading"}),fetch(ka(n,D.path),{credentials:"same-origin",signal:ee.signal,headers:{Range:`bytes=0-${If-1}`}}).then(async le=>{var re;if(!le.ok)throw new Error(`Preview failed (${le.status}): ${await le.text()||le.statusText}`);const pe=Mf(D.name,le.headers.get("content-type")||"");if(pe==="binary"||pe==="image"){await((re=le.body)==null?void 0:re.cancel().catch(()=>{})),ce({status:"ready",kind:pe,partial:!1});return}const J=await Dw(le,If,D.size_bytes);ce({status:"ready",kind:pe,text:pe==="markdown"?Uw(J.text,n,D.path):J.text,partial:J.partial,total:J.total})}).catch(le=>{ee.signal.aborted||ce({status:"error",message:yt(le)})}),()=>ee.abort()},[n,D,s]),!n)return a.jsxs("div",{className:"code-pane-empty",children:[a.jsx(ue,{name:"terminal",size:28}),a.jsx("p",{children:"This conversation's files appear here."}),a.jsx("small",{children:"Start a conversation; the files its workflow creates and edits are listed and previewed here."})]});const K=async()=>{if(!D)return;b("");const q=Lf(D,o);if(q){b(`Not attached: ${q}`);return}W(!0);try{const ee=new AbortController,le=await fetch(ka(n,D.path),{credentials:"same-origin",signal:ee.signal});if(!le.ok)throw new Error(`Could not read ${D.name} (${le.status}): ${await le.text()}`);const pe=Lf({...D,size_bytes:Sp(le)},o);if(pe){ee.abort(),b(`Not attached: ${pe}`);return}const J=await le.blob(),[re]=l([new File([J],D.name,{type:J.type})]);b(Fw(D.name,re))}catch(ee){b(yt(ee))}finally{W(!1)}};return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"code-pane-intro",children:[a.jsx(ue,{name:"terminal",size:17}),a.jsxs("div",{children:[a.jsx("strong",{children:"Conversation workspace"}),a.jsx("span",{children:g?`/${g}`:"Top folder"})]}),a.jsx("button",{className:"code-icon-button","aria-label":"Refresh files",onClick:()=>A(q=>q+1),disabled:!r,children:a.jsx(ue,{name:"refresh",size:14})})]}),h?a.jsxs("div",{className:"code-inline-error",role:"alert",children:["Workspace unavailable: ",h,a.jsx("button",{onClick:()=>A(q=>q+1),children:"Retry"})]}):null,u?a.jsx(Lw,{info:u,opening:P,onCopy:()=>{xw(u.workspace_root).then(q=>b(q?"Path copied.":"Could not copy; select the path instead."))},onOpen:()=>{H(!0),b(""),ft(`${Ca(n)}/open`,{method:"POST"}).then(()=>b("Folder opened on this machine.")).catch(q=>b(`Open folder failed: ${yt(q)}`)).finally(()=>H(!1))}}):null,T?a.jsx("p",{className:"code-field-help",role:"status",children:T}):null,g?a.jsx("button",{className:"code-back",onClick:()=>{y(g.split("/").slice(0,-1).join("/")),U(null)},children:"← Parent folder"}):null,j?a.jsx("p",{className:"code-muted",role:"status",children:"Loading files…"}):null,x?a.jsxs("div",{className:"code-inline-error",role:"alert",children:[x,a.jsx("button",{onClick:()=>A(q=>q+1),children:"Retry"})]}):null,_?a.jsx(Pw,{listing:_,selected:D==null?void 0:D.path,onOpenDir:q=>{y(q),U(null)},onSelectFile:U}):null,D?a.jsx(Ww,{entry:D,url:ka(n,D.path),state:ge,attaching:Q,onAttach:()=>void K()}):null]})}const Hw=new Set(["abstract.progress","abstractcode.progress"]);function ei(n){return!!n&&typeof n=="object"&&!Array.isArray(n)}function ms(n){const r=typeof n=="number"?n:Number(n);return Number.isFinite(r)?r:null}function Kw(n){if(!ei(n))return null;const r=ei(n.effect)?n.effect:null;if(!r||String(r.type||"")!=="emit_event")return null;const s=ei(r.payload)?r.payload:null,o=String((s==null?void 0:s.name)??(s==null?void 0:s.event_name)??"").trim();if(!Hw.has(o))return null;const l=ei(n.result)?n.result:null,u=ei(l==null?void 0:l.payload)?l==null?void 0:l.payload:null,f=ei(s==null?void 0:s.payload)?s==null?void 0:s.payload:null,h=u||f;if(!h||String(h.kind||"")!=="llm")return null;const p=String(h.phase||"").trim();return p!=="prefill"&&p!=="generate"&&p!=="complete"?null:h}function Jw(n){let r=null;for(const s of n||[]){const o=Kw(s);o&&(r=o)}return!r||r.phase==="complete"||r.final===!0?null:r}function si(n){return Math.round(n).toLocaleString()}function jp(n){if(!n||n.phase!=="prefill")return null;const r=ms(n.prompt_tokens),s=ms(n.prefill_processed_tokens);if(r===null||r<=0||s===null||s<0)return null;const o=Math.min(s,r),l=Math.min(99,Math.round(o/r*100));return{processed:o,total:r,percent:l}}function Np(n){return`${si(n.processed)} / ${si(n.total)} tokens (${n.percent}%)`}function Qw(n){if(!n)return"";if(n.phase==="prefill"){const r=jp(n);if(r)return`Prefill · ${Np(r)}`;const s=ms(n.prompt_tokens);if(s===null||s<=0)return"Prefill";const o=ms(n.cached_tokens),l=ms(n.fed_tokens),u=[];o!==null&&o>0&&u.push(`${si(o)} cached`),l!==null&&l>0&&u.push(`${si(l)} new`);const f=u.length?` (${u.join(", ")})`:"";return`Prefill · ${si(s)} tokens${f}`}if(n.phase==="generate"){const r=ms(n.generated_tokens)??0,s=Math.round(r)===1?"token":"tokens",o=ms(n.tokens_per_second),l=o!==null&&o>0?` · ${Math.round(o)} tok/s`:"";return`Generating · ${si(r)} ${s}${l}`}return""}function Yw(n){return Qw(Jw(n))}const Cp=new Set(["abstract.progress","abstractcode.progress"]),Xw=new Set(["abstract.status","abstractcode.status"]);function Te(n){return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function zc(n){const r=Te(n);return!!(r&&r.$slim)}function ct(n){const r=typeof n=="number"?n:Number(n);return Number.isFinite(r)?r:null}function Zt(n){return Math.round(n).toLocaleString("en-US")}function Rt(n,r=120){const s=n.replace(/\s+/g," ").trim();return s.length>r?`${s.slice(0,r-1)}…`:s}function to(n,r=120){var l,u;if(n==null)return"";if(typeof n=="string")return Rt(n,r);if(typeof n=="number"||typeof n=="boolean")return String(n);if(Array.isArray(n))return Rt(n.length===0?"[]":`${n.length} ${n.length===1?"item":"items"}`,r);const s=Te(n);if(!s)return"";if(zc(s)){const f=String(((l=s.$slim)==null?void 0:l.field)||""),h=ct((u=s.$slim)==null?void 0:u.bytes);return`${f||"payload"} stored${h?` · ${Zt(h)} bytes`:""}`}const o=[];for(const[f,h]of Object.entries(s)){const p=typeof h=="string"?Rt(h,60):typeof h=="number"||typeof h=="boolean"?String(h):Array.isArray(h)?`${h.length} items`:h==null?"":"{…}";if(p&&(o.push(`${f.replace(/_/g," ")} ${p}`),o.join(" · ").length>=r))break}return Rt(o.join(" · "),r)}function Ea(n){return`${n>=100?String(Math.round(n)):n.toFixed(n<1?2:1).replace(/\.0+$/,"")} s`}function Ep(n,r){const s=Date.parse(String(n||"")),o=Date.parse(String(r||""));if(!Number.isFinite(s)||!Number.isFinite(o))return null;const l=(o-s)/1e3;return l>=0?l:null}function Zw(n){const r=String(n||""),s=/T(\d{2}:\d{2}:\d{2})/.exec(r);return s?s[1]:""}function $p(n){const r=String(n||"").trim();if(!r)return"";const s=r.split("/").pop()||r;return s.length>48?`${s.slice(0,47)}…`:s}function Tt(n,r=" · "){return n.filter(s=>!!s).join(r)}const Pf="visual_react_agent_";function qw(n){if(!/^[A-Za-z0-9_-]{8,}$/.test(n))return null;try{const r=n.replace(/-/g,"+").replace(/_/g,"/"),s=atob(r+"=".repeat((4-r.length%4)%4));return!/^[ -~]{3,}$/.test(s)||!/[a-z]/i.test(s)?null:s}catch{return null}}function ev(n){const r=String(n||"").trim();if(!r)return{name:"",node:""};const s=/^([^@]+)@([^:]+)(?::(.+))?$/.exec(r);if(s)return{name:s[1],node:s[3]||""};if(r.startsWith(Pf)){const o=r.slice(Pf.length),l=/^(.*)_(\d+)_(\d+)_(\d+)_([0-9a-f]{6,12})_(.+)$/.exec(o);if(l){let u=l[1];if(u.includes("__")){const f=u.split("__").filter(Boolean);for(let h=f.length-1;h>=0;h-=1){const p=qw(f[h]);if(p&&p.length>3){u=p;break}}}return{name:u,node:l[6]}}return{name:o,node:""}}return{name:r,node:""}}function tv(n){var s;if(!Array.isArray(n)||!n.length)return"";const r=new Map;for(const o of n){const l=String(((s=Te(o))==null?void 0:s.name)||"").trim()||"tool";r.set(l,(r.get(l)||0)+1)}return[...r.entries()].map(([o,l])=>l>1?`${o} ×${l}`:o).join(", ")}function nv(n){var h;const r=Te(n);if(!r)return null;const s=Te(r.effect);if(!s||String(s.type||"")!=="emit_event")return null;const o=Te(s.payload),l=String((o==null?void 0:o.name)??(o==null?void 0:o.event_name)??"").trim();if(!Cp.has(l))return null;const u=Te((h=Te(r.result))==null?void 0:h.payload),f=Te(o==null?void 0:o.payload);return u||f}function rv(n){if(!n.length)return"";const r=n[n.length-1];let s=null,o=null,l=null,u=null,f=null;for(const y of n)s=ct(y.prompt_tokens)??s,o=ct(y.cached_tokens)??o,l=ct(y.generated_tokens)??l,u=ct(y.tokens_per_second)??u,f=ct(y.elapsed_s)??f;if(r.final===!0||String(r.phase||"")==="complete")return Tt([s!==null?`${Zt(s)} tokens in`:null,o!==null&&o>0?`${Zt(o)} cached`:null,l!==null?`${Zt(l)} out`:null,f!==null?Ea(f):null,u!==null&&u>0?`${Math.round(u)} tok/s`:null]);const p=s!==null?`prefill ${Zt(s)} tokens${o!==null&&o>0?` (${Zt(o)} cached)`:""}`:"prefill";if(String(r.phase||"")==="prefill"){const y=jp(r);return y?`prefill ${Np(y)}`:p}const g=Tt([`generating ${Zt(l??0)} ${Math.round(l??0)===1?"token":"tokens"}`,u!==null&&u>0?`${Math.round(u)} tok/s`:null]);return`${p} → ${g}`}function sv(n){if(!n.length)return"";const r=n[n.length-1],s=ct(r.step)??ct(r.index),o=ct(r.total)??ct(r.steps),l=ct(r.percent)??ct(r.progress),u=ct(r.frame),f=ct(r.elapsed_s);return Tt([typeof r.label=="string"?Rt(r.label,60):null,typeof r.phase=="string"&&!r.label?Rt(r.phase,40):null,s!==null?`step ${Zt(s)}${o!==null?`/${Zt(o)}`:""}`:null,u!==null?`frame ${Zt(u)}`:null,l!==null?`${Math.round(l<=1?l*100:l)}%`:null,f!==null?Ea(f):null])}function Of(n){return n.length?String(n[n.length-1].kind||"")==="llm"?rv(n):sv(n):""}function iv(n,r,s){var R;const o=String(n.provider||"").trim(),l=$p(n.model||(r==null?void 0:r.model)),u=Tt(["llm",o,l])||"llm call";if(!r){const A=Te(n.params)||{};return{title:u,detail:Tt([ct(A.temperature)!==null?`temperature ${A.temperature}`:null,A.thinking?`thinking ${A.thinking}`:null,(R=Te(A.speculation))!=null&&R.mode?`speculation ${Te(A.speculation).mode}`:null])}}const f=Te(r.usage)||{},h=Te(r.metadata)||{},p=Te(h.prompt_cache)||{},g=Te(h.performance)||{},y=ct(f.prompt_tokens)??ct(f.input_tokens),_=ct(f.completion_tokens)??ct(f.output_tokens),k=ct(p.cached_tokens),x=String(p.outcome||"").trim(),C=Ep(s.started_at,s.ended_at),j=ct(g.generation_tokens_per_second),E=Array.isArray(r.tool_calls)?r.tool_calls.length:0;return{title:u,detail:Tt([y!==null?`${Zt(y)} tokens in`:null,k!==null&&k>0?`${Zt(k)} cached`:x?`${x} cache`:null,_!==null?`${Zt(_)} out`:null,C!==null?Ea(C):null,j!==null&&j>0?`${Math.round(j)} tok/s`:null,E?`${E} tool ${E===1?"call":"calls"}`:null])}}function ov(n,r){if(r.length<=60)return Rt(r,60);if(n==="url")try{const s=new URL(r),o=s.pathname.split("/").filter(Boolean).pop()||"";return Rt(`${s.host}${o?` · …/${o}`:""}`,72)}catch{}if(n==="file path"||n==="path"){const s=r.split(/[\\/]/).pop()||r;return Rt(`${s} · ${r.slice(0,24)}…`,60)}return Rt(r,60)}function av(n,r){const s=Array.isArray(n.tool_calls)?n.tool_calls:[],o=tv(s),l=Te(s[0]),u=l?ip(l.arguments):{label:"",value:""},f=Array.isArray(r==null?void 0:r.results)?r.results:[],h=f.filter(g=>{var y;return((y=Te(g))==null?void 0:y.success)===!0}).length,p=f.length-h;return{title:Tt(["tools",o||"tool call"]),detail:Tt([u.value?`${u.label} ${ov(u.label,u.value)}`:null,f.length?`${h} ok`:null,p>0?`${p} failed`:null])}}function lv(n,r){var g,y;const{name:s,node:o}=ev(n.workflow_id),l=Te(n.vars),u=l&&!zc(l)?l:null,f=Te(u==null?void 0:u.context),h=typeof(f==null?void 0:f.task)=="string"?f.task:typeof(u==null?void 0:u.request)=="string"?u.request:"",p=String(((y=Te((g=Te(r==null?void 0:r.wait))==null?void 0:g.details))==null?void 0:y.sub_run_id)||"").slice(0,8);return u&&typeof u.state=="string"&&!f?{title:"subflow · status",detail:Tt([Rt(u.state,80),p&&`run ${p}`])}:h?{title:"subflow · agent loop",detail:Tt([s,Rt(h,90),p&&`run ${p}`])}:{title:Tt(["subflow",s||"workflow"]),detail:Tt([o,u?to(u,80):null,p&&`run ${p}`])}}function cv(n,r){const s=n.until,o=Ep(r.started_at,s),l=Zw(s);return{title:o!==null?`wait · delay ${Ea(o)}`:`wait · until ${l}`,detail:Tt([o!==null&&l?`until ${l}`:null,n.resume_to_node?`resumes at ${n.resume_to_node}`:null])}}function Ff(n){var h;const r=Te(n)||{},s=Te(r.effect),o=String((s==null?void 0:s.type)||"").trim(),l=Te(s==null?void 0:s.payload)||{},u=Te(r.result);if(o==="emit_event"){const p=String(l.name??l.event_name??"").trim();if(Cp.has(p))return{kind:"progress",title:"progress",detail:"",isProgress:!0,isStatus:!1,isResume:!1,hidden:!0};if(Xw.has(p))return{kind:"event",title:"status",detail:to(l.payload,80),isProgress:!1,isStatus:!0,isResume:!1,hidden:!0};const g=String(l.scope||"").trim();return{kind:"event",title:`event · ${p||"unnamed"}${g?` (${g})`:""}`,detail:to(l.payload??(u==null?void 0:u.payload),110),isProgress:!1,isStatus:!1,isResume:!1,hidden:!1}}if(o==="resume")return{kind:"step",title:"resume",detail:String(l.wait_reason||""),isProgress:!1,isStatus:!1,isResume:!0,hidden:!0};const f={isProgress:!1,isStatus:!1,isResume:!1,hidden:!1};if(o==="llm_call")return{kind:"llm",...iv(l,u,r),...f};if(o==="tool_calls")return{kind:"tools",...av(l,u),...f};if(o==="start_subworkflow")return{kind:"subflow",...lv(l,u),...f};if(o==="wait_until")return{kind:"wait",...cv(l,r),...f};if(o==="wait_event")return{kind:"wait",title:"wait · event",detail:Tt([typeof l.prompt=="string"?Rt(l.prompt,90):null,!l.prompt&&l.wait_key?Rt(String(l.wait_key),70):null]),...f};if(o==="ask_user")return{kind:"ask",title:"ask · your input",detail:Rt(String(l.prompt||((h=Te(u==null?void 0:u.wait))==null?void 0:h.prompt)||"").split(`
|
|
56
|
-
`)[0],110),...f};if(o==="answer_user")return{kind:"message",title:"message",detail:Rt(String(l.message||""),110),...f};if(!o){if((u==null?void 0:u.completed)===!0){const p=Te(u.output)||{},g=Te(p.stop_reason)||{},y=ct(p.iterations),_=Tt([String(g.code||p.outcome||"").replace(/_/g," ")||null,y!==null?`${Zt(y)} ${y===1?"iteration":"iterations"}`:null]),k=[p.answer,p.response,p.result].find(x=>typeof x=="string"&&x.trim());return{kind:"run",title:"run finished",detail:_||(typeof k=="string"?Rt(k,110):to(p,110)),...f}}return{kind:"step",title:String(r.node_id||"workflow step"),detail:"",...f}}return{kind:"step",title:o.replace(/_/g," "),detail:to(l,110),...f}}function uv(n,r,s){var u,f;const o=Te(n)||{},l=String(o.status||"").trim();if(o.error)return{status:"failed",statusLabel:"failed"};if(l==="failed")return{status:"failed",statusLabel:"failed"};if(l==="completed")return{status:"completed",statusLabel:"completed"};if(l==="waiting"){if(s)return{status:"completed",statusLabel:"completed"};const h=Te((u=Te(o.result))==null?void 0:u.wait);return String(((f=Te(h==null?void 0:h.details))==null?void 0:f.mode)||"")==="approval_required"?{status:"waiting",statusLabel:"approval needed"}:r==="subflow"?{status:"waiting",statusLabel:"waiting for subflow"}:r==="ask"?{status:"waiting",statusLabel:"waiting for you"}:r==="wait"?{status:"waiting",statusLabel:String((h==null?void 0:h.reason)||"")==="until"?"waiting":"waiting for event"}:{status:"waiting",statusLabel:"waiting"}}return l==="started"?{status:"started",statusLabel:"running"}:{status:l||"started",statusLabel:l||"running"}}function dv(n){var l;const r=Te(n.record)||{},s=String(((l=Te(r.effect))==null?void 0:l.type)||"(none)"),o=String(r.idempotency_key||r.step_id||n.cursor);return`${n.runId}|${s}|${o}|${r.attempt??1}`}function fv(n){var p;const r=n.map(g=>Te(g.record)||{}),s=r[r.length-1]||{},o={};for(const g of r){const y=Te((p=Te(g.effect))==null?void 0:p.payload);if(y)for(const[_,k]of Object.entries(y))zc(k)&&_ in o||(o[_]=k)}let l=null,u=null,f=null,h=null;for(const g of r)g.result!==null&&g.result!==void 0&&(l=g.result),g.error!==null&&g.error!==void 0&&(u=g.error),!f&&g.started_at&&(f=g.started_at),g.ended_at&&(h=g.ended_at);return{...s,effect:s.effect?{...s.effect,payload:o}:s.effect,result:l,error:u,started_at:f,ended_at:h}}function pv(n){var s,o;const r=[];for(const l of n){const u=Te((o=Te((s=Te(l.record))==null?void 0:s.result))==null?void 0:o.wait),f=String((u==null?void 0:u.wait_key)||"").trim();f&&r.push(f)}return r}function hv(n,r){return`${n}|${String(r.step_id||r.node_id||"")}`}function mv(n,r){const s=new Map;for(const u of r){const f=nv(u.record);if(!f)continue;const h=hv(u.runId,f),p=s.get(h)||{entries:[],payloads:[]};p.entries.push(u),p.payloads.push(f),s.set(h,p)}if(!s.size)return n.map(u=>({...u}));const o=new Set,l=n.map(u=>{const f=u.stepIds.map(x=>`${u.runId}|${x}`).filter(x=>s.has(x));if(!f.length)return{...u};const h=[],p=[];for(const x of f)o.add(x),h.push(...s.get(x).payloads),p.push(...s.get(x).entries);const g=Of(h),y=h[h.length-1],_=y.final===!0||String(y.phase||"")==="complete",k=!(_&&u.status==="completed"&&u.detail);return{...u,progress:k?g:"",progressFinal:_,progressEvents:p.map(x=>Te(x.record)||{})}});for(const[u,f]of s.entries()){if(o.has(u))continue;const h=f.payloads,p=h[h.length-1],g=String(p.kind||""),y=f.entries[0];l.push({key:`progress:${u}`,runId:y.runId,cursor:f.entries[f.entries.length-1].cursor,kind:"progress",title:Tt(g==="llm"?["llm",String(p.provider||""),$p(p.model)]:["progress",g]),detail:"",status:p.final===!0||String(p.phase||"")==="complete"?"completed":"started",statusLabel:p.final===!0||String(p.phase||"")==="complete"?"completed":"running",nodeId:String(p.node_id||""),stepIds:[String(p.step_id||"")],progress:Of(h),progressFinal:p.final===!0||String(p.phase||"")==="complete",entries:f.entries,progressEvents:f.entries.map(_=>Te(_.record)||{}),merged:Te(f.entries[f.entries.length-1].record)||{}})}return l}function gv(n){var h,p,g;const r=new Map,s=[],o=[],l=[];for(const y of n||[]){const _=Ff(y.record);if(_.isProgress){l.push(y);continue}if(_.isStatus)continue;if(_.isResume){const x=String(((g=(p=Te((h=Te(y.record))==null?void 0:h.effect))==null?void 0:p.payload)==null?void 0:g.wait_key)||"").trim();x&&o.push(x);continue}const k=dv(y);r.has(k)||(r.set(k,[]),s.push(k)),r.get(k).push(y)}const u=new Set(o),f=s.map(y=>{const _=r.get(y),k=fv(_),x=Ff(k),C=pv(_).some(E=>u.has(E)),j=uv(k,x.kind,C);return{key:y,runId:_[0].runId,cursor:_[_.length-1].cursor,kind:x.kind,title:x.title,detail:x.detail,status:j.status,statusLabel:j.statusLabel,nodeId:String(k.node_id||""),stepIds:[...new Set(_.map(E=>{var R;return String(((R=Te(E.record))==null?void 0:R.step_id)||"")}).filter(Boolean))],progress:"",progressFinal:!1,entries:_,progressEvents:[],merged:k}});return mv(f,l)}function yv({tab:n,onTab:r,policy:s,runId:o,records:l,enabled:u,isAdmin:f,refreshKey:h,onAttach:p,onAttachFiles:g,onClose:y}){const[_,k]=v.useState("session"),x=v.useMemo(()=>gv(l),[l]);return a.jsxs("aside",{className:"code-inspector","aria-label":"Workspace inspector",children:[a.jsxs("div",{className:"code-inspector-heading",children:[a.jsx("span",{children:"WORKSPACE"}),a.jsx("button",{className:"code-icon-button","aria-label":"Close workspace inspector",onClick:y,children:a.jsx(ue,{name:"x",size:15})})]}),a.jsx("div",{className:"code-inspector-tabs",role:"tablist","aria-label":"Workspace views",onKeyDown:Dc,children:["files","activity","artifacts"].map(C=>a.jsxs("button",{id:`inspector-tab-${C}`,role:"tab",tabIndex:n===C?0:-1,"aria-selected":n===C,"aria-controls":`inspector-panel-${C}`,onClick:()=>r(C),children:[C==="files"?"Files":C==="activity"?"Activity":"Artifacts",C==="activity"&&x.length?a.jsx("span",{children:x.length}):null]},C))}),a.jsx("div",{className:"code-inspector-content",id:`inspector-panel-${n}`,role:"tabpanel","aria-labelledby":`inspector-tab-${n}`,children:n==="files"?a.jsxs(a.Fragment,{children:[f?a.jsxs("div",{className:"code-files-mode",role:"group","aria-label":"Files source",children:[a.jsx("button",{"aria-pressed":_==="session",onClick:()=>k("session"),children:"This conversation"}),a.jsx("button",{"aria-pressed":_==="shared",onClick:()=>k("shared"),children:"Shared workspace (admin)"})]}):null,f&&_==="shared"?a.jsx(wv,{policy:s,enabled:u,runId:o,onAttach:p}):a.jsx(Gw,{runId:o,enabled:u,refreshKey:h,maxAttachmentBytes:s==null?void 0:s.maxAttachmentBytes,onAttachFiles:g})]}):n==="activity"?a.jsx(_v,{rows:x}):a.jsx(kv,{runId:o,enabled:u})}),a.jsxs("div",{className:"code-inspector-foot",children:[a.jsx(ue,{name:"server",size:14}),a.jsx("span",{children:"Access enforced by your gateway"})]})]})}function wv({policy:n,enabled:r,runId:s,onAttach:o}){const[l,u]=v.useState(""),[f,h]=v.useState(""),[p,g]=v.useState([]),[y,_]=v.useState(!1),[k,x]=v.useState(""),[C,j]=v.useState(""),[E,R]=v.useState(0),[A,T]=v.useState("");return v.useEffect(()=>{const b=new AbortController;if(g([]),x(""),j(""),!r||!n)return;_(!0);const P=window.setTimeout(()=>{const H=new URLSearchParams({limit:"100"});l.trim()?H.set("query",l.trim()):f&&H.set("path",f),ft(`/api/gateway/files/${l.trim()?"search":"list"}?${H}`,{signal:b.signal}).then(D=>{if(D.error)throw new Error(String(D.error));g(Array.isArray(D.items)?D.items:[]),(D.truncated||D.has_more)&&j("Showing the first 100 results. Search to narrow the list.")}).catch(D=>{b.signal.aborted||x(yt(D))}).finally(()=>{b.signal.aborted||_(!1)})},l?220:0);return()=>{window.clearTimeout(P),b.abort()}},[r,n,l,f,E,s]),a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"code-pane-intro",children:[a.jsx(ue,{name:"terminal",size:17}),a.jsxs("div",{children:[a.jsx("strong",{children:"Shared workspace (admin)"}),a.jsx("span",{children:f||"Authorized shared workspace"})]}),a.jsx("button",{className:"code-icon-button","aria-label":"Refresh files",onClick:()=>R(b=>b+1),disabled:!r,children:a.jsx(ue,{name:"refresh",size:14})})]}),a.jsx("input",{className:"code-search","aria-label":"Search workspace files",placeholder:"Search files…",value:l,onChange:b=>u(b.target.value),disabled:!r}),f?a.jsx("button",{className:"code-back",onClick:()=>{h(f.split("/").slice(0,-1).join("/")),u("")},children:"← Parent folder"}):null,r?null:a.jsx("p",{className:"code-pane-empty",children:"Connect to browse your workspace."}),y?a.jsx("p",{className:"code-muted",role:"status",children:"Loading files…"}):null,k?a.jsxs("div",{className:"code-inline-error",role:"alert",children:[k,a.jsx("button",{onClick:()=>R(b=>b+1),children:"Retry"})]}):null,C?a.jsx("p",{className:"code-field-help",role:"status",children:C}):null,a.jsx("ul",{className:"code-file-list",children:p.map(b=>{const P=b.kind==="folder"||b.is_dir||b.type==="directory"||b.type==="dir";return a.jsx("li",{children:a.jsxs("button",{title:P?`Open ${b.path}`:`Attach ${b.path} to the conversation`,disabled:!!A,onClick:async()=>{if(P){h(b.path),u("");return}T(b.path),x("");try{await o(b.path),j(`${b.name||b.path} attached.`)}catch(H){x(yt(H))}finally{T("")}},children:[a.jsx(ue,{name:P?"chevronRight":"edit",size:14}),a.jsx("span",{children:b.name||b.path}),A===b.path?a.jsx(ue,{name:"loader",size:13}):a.jsx("span",{className:"code-file-action",children:P?"Open":"+"})]})},b.path)})}),!y&&!k&&r&&!p.length?a.jsxs("div",{className:"code-pane-empty",children:[a.jsx(ue,{name:"terminal",size:28}),a.jsx("p",{children:l?"No matching files.":"No shared files yet."}),a.jsx("small",{children:l?"Try a shorter name or another folder.":"Browse files exposed by your gateway or attach files from your device. Generated output is available in Artifacts."})]}):null]})}const vv={llm:"sparkle",tools:"terminal",subflow:"agent",event:"info",wait:"history",ask:"chat",message:"send",run:"playCircle",progress:"loader",step:"list"};function _v({rows:n}){return n.length?a.jsx("div",{className:"code-activity",children:n.map(r=>{const s=r.merged,o=s.effect||{};return a.jsxs("details",{className:`code-activity-row code-activity-row--${r.kind}`,children:[a.jsxs("summary",{children:[a.jsx("span",{className:"code-activity-icon","aria-hidden":"true",children:a.jsx(ue,{name:vv[r.kind],size:14})}),a.jsxs("span",{className:"code-activity-text",children:[a.jsx("span",{className:"code-activity-title",children:r.title}),r.detail?a.jsx("span",{className:"code-activity-sub",children:r.detail}):null,r.progress?a.jsx("span",{className:"code-activity-progress",children:r.progress}):null]}),a.jsx("span",{className:`code-step-dot is-${r.status}`}),a.jsx("small",{children:r.statusLabel})]}),a.jsxs("div",{className:"code-activity-detail",children:[a.jsxs("div",{className:"code-field-help",children:[r.nodeId?`${r.nodeId} · `:"","run ",r.runId.slice(0,8)," ","· ",r.entries.length," ",r.entries.length===1?"record":"records",r.progressEvents.length?` · ${r.progressEvents.length} progress`:""]}),a.jsx(ys,{value:{input:o.payload,result:s.result,error:s.error,records:r.entries.map(l=>l.record),...r.progressEvents.length?{progress:r.progressEvents}:{}},collapseAfterDepth:2})]})]},r.key)})}):a.jsxs("div",{className:"code-pane-empty",children:[a.jsx(ue,{name:"playCircle",size:28}),a.jsx("p",{children:"Follow the work as it happens."}),a.jsx("small",{children:"Workflow steps, tool calls, and results will appear here."})]})}function kv({runId:n,enabled:r}){const[s,o]=v.useState([]),[l,u]=v.useState(""),[f,h]=v.useState(0);return v.useEffect(()=>{if(o([]),u(""),!n||!r)return;const p=new AbortController;return ft(`/api/gateway/runs/${encodeURIComponent(n)}/artifacts?limit=200`,{signal:p.signal}).then(g=>o(Array.isArray(g.items)?g.items:Array.isArray(g.artifacts)?g.artifacts:[])).catch(g=>{p.signal.aborted||u(yt(g))}),()=>p.abort()},[n,r,f]),a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"code-pane-intro",children:[a.jsx(ue,{name:"paperclip",size:17}),a.jsxs("div",{children:[a.jsx("strong",{children:"Run artifacts"}),a.jsx("span",{children:"Files and generated output"})]}),a.jsx("button",{className:"code-icon-button","aria-label":"Refresh artifacts",onClick:()=>h(p=>p+1),children:a.jsx(ue,{name:"refresh",size:14})})]}),l?a.jsx("p",{role:"alert",className:"code-error-text",children:l}):null,s.map(p=>{var _;const g=p.artifact_id||p.id,y=p.filename||((_=p.metadata)==null?void 0:_.filename)||g;return a.jsxs("button",{className:"code-artifact",onClick:()=>{Py(n,g,y).catch(k=>u(yt(k)))},children:[a.jsx(ue,{name:"download",size:16}),a.jsxs("span",{children:[a.jsx("strong",{children:y}),a.jsx("small",{children:p.content_type||"Artifact"})]})]},g)}),!s.length&&!l?a.jsxs("div",{className:"code-pane-empty",children:[a.jsx(ue,{name:"paperclip",size:28}),a.jsx("p",{children:"Everything the workflow creates."}),a.jsx("small",{children:"Generated files and attachments are stored by the gateway and can be downloaded here."})]}):null]})}const xv=[["Gateway","checking…"]];function bv(n){return n?n.ok?hf(n.value):hf(null,n.status?`HTTP ${n.status}`:n.message):xv}function Rp(n){return`abstractcode.workspace.v2:${n}`}function Sv(n){try{const r=JSON.parse(n||"{}"),s=typeof r.workflow=="string"&&r.workflow.trim()?r.workflow.trim():ur.workflow;return{...ur,...r,workflow:s,showAllWorkflows:r.showAllWorkflows===!0,speculation:Qf(r.speculation),streamReplies:Hy(r.streamReplies),tools:{...ur.tools,...r.tools}}}catch{return ur}}function jv(n){try{return Sv(localStorage.getItem(Rp(n)))}catch{return ur}}function Nv(n,r){try{localStorage.setItem(Rp(n),JSON.stringify(r))}catch{}}function Cv(n){var p,g;const r=Object.keys(((p=n.schema)==null?void 0:p.properties)||{}),s=((g=n.schema)==null?void 0:g.required)||[],o=[n.promptProperty||"prompt","context","messages","attachments"],l=["provider","model","tools","skills","max_iterations","use_context","use_session_history"],u=vp(n.schema).map(y=>[y.provider,y.model,y.reasoning].filter(_=>!!_)),f=new Set(r.filter(y=>s.includes(y)&&!o.includes(y)));for(const y of u)y.some(_=>f.has(_))&&y.forEach(_=>f.add(_));const h=new Set(r.filter(y=>!f.has(y)&&!o.includes(y)&&!l.includes(y)));for(const y of u)y.some(_=>h.has(_))&&y.forEach(_=>h.add(_));return a.jsxs(a.Fragment,{children:[a.jsxs("section",{className:"code-settings-section","aria-label":"Automatic agent configuration",children:[a.jsx("h3",{children:f.size?"Workflow inputs":"Ready to chat"}),a.jsxs("p",{className:"code-field-help",children:[f.size?"This workflow asks for the inputs below before it can run.":"No setup required. Write a message and press Send."," ","Optional values use workflow and Gateway defaults. Use Settings for model, workspace and tool permission overrides."]})]}),f.size?a.jsx(Tc,{...n,omit:r.filter(y=>!f.has(y)),rawObject:!1}):null,h.size?a.jsxs("details",{className:"code-advanced-inputs",children:[a.jsxs("summary",{children:["Advanced workflow inputs"," ",a.jsx("span",{className:"code-muted",children:"Optional"})]}),a.jsx("p",{className:"code-field-help",children:"Leave these unset to use the workflow and Gateway defaults. Only change them when you need a specific override."}),a.jsx(Tc,{...n,omit:r.filter(y=>!h.has(y)),rawObject:!1})]}):null]})}function Ev(n,r,s){var l;if(!s.length)return r;const o=(l=n==null?void 0:n.properties)==null?void 0:l.attachments;if(!o||o.type&&o.type!=="array")throw new Error("This workflow does not declare an attachments input. Remove the attached files, or choose an agent or workflow that accepts them.");return{...r,attachments:[...Array.isArray(r.attachments)?r.attachments:[],...s]}}function $v(n){if(!n.trim())return{ok:!0,value:{}};let r;try{r=JSON.parse(n)}catch{return{ok:!1,error:"Enter valid JSON."}}return r===null||typeof r!="object"||Array.isArray(r)?{ok:!1,error:"The workflow input payload must be a JSON object."}:{ok:!0,value:r}}function Tc({schema:n,values:r,onChange:s,disabled:o=!1,omit:l=[],rawObject:u=!1,onEditorError:f,defaultModel:h}){const[p,g]=wt.useState("fields"),y=Object.entries((n==null?void 0:n.properties)||{}).filter(([j])=>!l.includes(j)),_=vp(n),k=new Set(_.flatMap(j=>[j.provider,j.model,j.reasoning].filter(Boolean))),x=j=>{g(j),f==null||f("")},C=y.length?a.jsx("div",{className:"code-input-fields",children:y.map(([j,E])=>{const R={...E,type:Dy(E)},A=_.find(D=>D.provider===j);if(A)return a.jsxs("section",{className:"code-settings-section",children:[a.jsx("h3",{children:A.title}),a.jsx(Ic,{value:{provider:String(r[A.provider]||""),model:String(r[A.model]||""),...A.reasoning?{reasoning:String(r[A.reasoning]||"")}:{}},onChange:D=>s({...r,[A.provider]:D.provider,[A.model]:D.model,...A.reasoning?{[A.reasoning]:D.reasoning||""}:{}}),...Wy(A.provider,R["x-abstract-type"]),fetchModelCapabilities:A.reasoning?Oc.fetchModelCapabilities:void 0,effectiveDefault:A.provider==="provider"?h:void 0,defaultHint:A.provider==="provider"&&(h!=null&&h.model)?`Gateway default: ${h.provider} · ${h.model}. Workflow defaults take precedence.`:"Empty routing pins inherit the Gateway defaults. Registered workflow defaults are loaded above any Gateway default.",disabled:o})]},j);if(k.has(j))return null;const T=`workflow-input-${j}`,b=String(R.title||j).replace(/_/g," "),P=Array.isArray(n==null?void 0:n.required)&&n.required.includes(j),H=D=>{const U={...r};D===void 0?delete U[j]:U[j]=D,s(U)};return a.jsxs("div",{className:"code-field",children:[a.jsxs("label",{htmlFor:T,children:[b,P?a.jsx("span",{"aria-label":"required",children:" *"}):null]}),R.enum?a.jsxs("select",{id:T,value:r[j]===void 0?"":JSON.stringify(r[j]),disabled:o,onChange:D=>H(D.target.value?JSON.parse(D.target.value):void 0),children:[a.jsxs("option",{value:"",children:["Choose ",b]}),R.enum.map(D=>a.jsx("option",{value:JSON.stringify(D),children:String(D)},JSON.stringify(D)))]}):R.type==="boolean"?a.jsxs("select",{id:T,value:r[j]===void 0?"":String(r[j]),disabled:o,onChange:D=>H(D.target.value?D.target.value==="true":void 0),children:[a.jsx("option",{value:"",children:"Workflow default"}),a.jsx("option",{value:"true",children:"Yes"}),a.jsx("option",{value:"false",children:"No"})]}):R.type==="number"||R.type==="integer"?a.jsx("input",{id:T,type:"number",value:typeof r[j]=="number"?String(r[j]):"",min:R.minimum,max:R.maximum,step:R.type==="integer"?1:"any",disabled:o,onChange:D=>H(D.target.value===""?void 0:Number(D.target.value))}):R.type==="object"||R.type==="array"?a.jsx(Tv,{id:T,value:r[j],disabled:o,onChange:H},j):a.jsx("textarea",{id:T,rows:2,value:String(r[j]??""),disabled:o,onChange:D=>H(D.target.value)}),R.description?a.jsx("p",{className:"code-field-help",id:`${T}-help`,children:R.description}):null]},j)})}):a.jsx("p",{className:"code-muted",children:"This workflow declares no named top-level fields. Use JSON payload mode to provide registered or additional inputs."});return u?a.jsxs("div",{children:[a.jsxs("div",{className:"code-settings-tabs",role:"tablist","aria-label":"Workflow input editor",onKeyDown:Dc,children:[a.jsx("button",{type:"button",role:"tab",tabIndex:p==="fields"?0:-1,"aria-selected":p==="fields",onClick:()=>x("fields"),children:"Fields"}),a.jsx("button",{type:"button",role:"tab",tabIndex:p==="json"?0:-1,"aria-selected":p==="json",onClick:()=>x("json"),children:"JSON payload"})]}),p==="json"?a.jsxs(a.Fragment,{children:[a.jsx(Rv,{value:r,disabled:o,onChange:s,onError:j=>f==null?void 0:f(j)}),a.jsx("p",{className:"code-field-help",children:"The complete object is sent unchanged. Nested and additional properties are allowed here; the gateway validates it against the registered workflow schema."})]}):C]}):C}function Rv({value:n,onChange:r,onError:s,disabled:o}){const[l,u]=wt.useState(JSON.stringify(n,null,2)),[f,h]=wt.useState(""),p=wt.useRef(n);return wt.useEffect(()=>{n!==p.current&&(p.current=n,u(JSON.stringify(n,null,2)),h(""),s(""))},[n,s]),a.jsxs("div",{className:"code-field",children:[a.jsx("label",{htmlFor:"workflow-input-payload",children:"Complete input object"}),a.jsx("textarea",{id:"workflow-input-payload",className:"code-mono",rows:12,value:l,disabled:o,"aria-invalid":!!f,onChange:g=>{u(g.target.value);const y=$v(g.target.value);if(!y.ok){h(y.error),s(y.error);return}p.current=y.value,h(""),s(""),r(y.value)}}),f?a.jsx("span",{role:"alert",className:"code-error-text",children:f}):null]})}function Tv({id:n,value:r,onChange:s,disabled:o}){const[l,u]=wt.useState(r===void 0?"":JSON.stringify(r,null,2)),[f,h]=wt.useState(""),p=wt.useRef(r);return wt.useEffect(()=>{r!==p.current&&(p.current=r,u(r===void 0?"":JSON.stringify(r,null,2)),h(""))},[r]),a.jsxs(a.Fragment,{children:[a.jsx("textarea",{id:n,className:"code-mono",rows:4,value:l,disabled:o,"aria-invalid":!!f,onChange:g=>{u(g.target.value);try{const y=g.target.value.trim()?JSON.parse(g.target.value):void 0;p.current=y,s(y),h("")}catch{p.current=g.target.value,s(g.target.value),h("Enter valid JSON.")}}}),f?a.jsx("span",{role:"alert",className:"code-error-text",children:f}):null]})}function Av({attachments:n,uploads:r,sizes:s,onRemoveAttachment:o,onRemoveUpload:l,onRetryUpload:u}){return a.jsxs("div",{className:"code-attachments",role:"list","aria-label":"Attached files",children:[n.map((f,h)=>{const p=f.filename||f.path||"Attachment",g=typeof f.size_bytes=="number"?f.size_bytes:s==null?void 0:s.get(f.$artifact),y=typeof g=="number"?ro(g):"";return a.jsxs("div",{role:"listitem",tabIndex:0,className:"code-attachment is-attached","aria-label":`${p}${y?`, ${y}`:""}, attached`,children:[a.jsx("span",{className:"code-attachment__icon","aria-hidden":"true",children:a.jsx(ue,{name:"paperclip",size:13})}),a.jsxs("span",{className:"code-attachment__body",children:[a.jsx("span",{className:"code-attachment__name",title:p,children:p}),y?a.jsx("span",{className:"code-attachment__meta",children:y}):null]}),a.jsx("button",{type:"button",className:"code-attachment__action","aria-label":`Remove ${p}`,title:`Remove ${p}`,onClick:()=>o(h),children:a.jsx(ue,{name:"x",size:12})})]},`${f.$artifact}:${h}`)}),r.map(f=>{const h=f.status==="queued"||f.status==="uploading",p=f.status==="queued"?`Waiting · ${ro(f.size)}`:f.status==="uploading"?`Uploading · ${ro(f.size)}`:f.message||"Not attached",g=f.status==="queued"?"waiting to upload":f.status==="uploading"?"uploading":`not attached: ${p}`;return a.jsxs("div",{role:"listitem",tabIndex:0,className:`code-attachment is-${f.status}`,"aria-label":`${f.name}, ${g}`,"aria-busy":h||void 0,children:[a.jsx("span",{className:"code-attachment__icon","aria-hidden":"true",children:h?a.jsx("span",{className:"code-attachment__spinner"}):a.jsx(ue,{name:"warning",size:13})}),a.jsxs("span",{className:"code-attachment__body",children:[a.jsx("span",{className:"code-attachment__name",title:f.name,children:f.name}),a.jsx("span",{className:"code-attachment__meta",children:p})]}),f.status==="failed"?a.jsxs("button",{type:"button",className:"code-attachment__action code-attachment__retry","aria-label":`Retry ${f.name}`,title:"Retry upload",onClick:()=>u(f.id),children:[a.jsx(ue,{name:"refresh",size:12}),a.jsx("span",{children:"Retry"})]}):null,a.jsx("button",{type:"button",className:"code-attachment__action","aria-label":`Remove ${f.name}`,title:`Remove ${f.name}`,onClick:()=>l(f.id),children:a.jsx(ue,{name:"x",size:12})})]},f.id)})]})}function Iv({active:n,paused:r,snapshot:s,onRevokeApproval:o,onCommand:l,onActivity:u,onInteraction:f,permissionsAll:h}){const p=v.useMemo(()=>Jg(s),[s]),y=v.useMemo(()=>p.tone==="working"?Yw(s.records.map(E=>E.record)):"",[p.tone,s.records])||p.detail,[_,k]=v.useState(Date.now);v.useEffect(()=>{if(!n)return;const E=window.setInterval(()=>k(Date.now()),1e3);return()=>window.clearInterval(E)},[n]);const x=Date.parse(p.startedAt||""),C=Number.isFinite(x)?Math.max(0,Math.floor((_-x)/1e3)):null,j=C===null?"":C<60?`${C}s`:`${Math.floor(C/60)}m ${C%60}s`;return a.jsxs("div",{className:`code-run-strip code-run-strip--${p.tone}`,children:[a.jsxs("div",{className:"code-run-strip__activity",role:"status","aria-live":"polite",children:[a.jsx("span",{className:"code-run-strip__icon","aria-hidden":"true",children:a.jsx(ue,{name:p.tone==="working"?"loader":p.tone==="success"?"check":p.tone==="error"?"error":p.tone==="waiting"?"history":"info",size:15})}),f&&p.tone==="waiting"?a.jsxs("button",{className:"code-run-strip__attention",onClick:f,title:"Go to the pending request",children:[a.jsx("strong",{children:p.label}),a.jsx(ue,{name:"chevronRight",size:12})]}):a.jsx("strong",{children:p.label}),a.jsx("span",{className:"code-run-strip__detail",title:y,children:y})]}),a.jsxs("span",{className:"code-run-strip__metrics","aria-label":"Run activity metrics",children:[n&&j?a.jsx("span",{children:j}):null,p.toolCalls?a.jsxs("span",{children:[p.toolCalls," ",p.toolCalls===1?"tool":"tools"]}):null,p.totalTokens!==void 0?a.jsxs("span",{children:[p.totalTokens.toLocaleString()," tokens"]}):null]}),n?a.jsxs(a.Fragment,{children:[a.jsx("button",{onClick:()=>l(r?"resume":"pause"),children:r?"Resume":"Pause"}),a.jsx("button",{onClick:()=>l("conclude"),children:"Conclude"})]}):null,a.jsxs("button",{onClick:u,children:["View activity ",a.jsx(ue,{name:"chevronRight",size:12})]}),h?a.jsxs("div",{className:"code-run-strip__consent",children:[a.jsx(ue,{name:"check",size:13}),a.jsx("span",{children:"Permissions: all · enabled tools only"}),a.jsx("button",{onClick:o,children:"Revoke"})]}):null]})}function Mv({runId:n,sessionId:r,capability:s,scope:o,preferences:l,onTranscript:u,onError:f}){var _,k;const h=v.useRef(!0),p=v.useRef(o);p.current=o,v.useEffect(()=>(h.current=!0,()=>{h.current=!1}),[]);const g=()=>{if(!h.current||p.current!==o)throw new Error("Voice session changed.")},y=cg({tts:((_=s.tts)==null?void 0:_.available)===!0&&n?async x=>{g();const C=await ft(`/api/gateway/runs/${encodeURIComponent(n)}/voice/tts`,{method:"POST",body:JSON.stringify({text:x,request_id:gs(),...Object.fromEntries(Object.entries(l).filter(([,R])=>R!==""&&R!==void 0))})});g();const j=C==null?void 0:C.audio_artifact;if(!(j!=null&&j.$artifact))throw new Error("The gateway did not return an audio artifact.");const{blob:E}=await gn.get_run_artifact_blob(String(j.run_id||C.child_run_id||n),j.$artifact,{max_bytes:25e6});return g(),E.arrayBuffer()}:void 0,transcribe:((k=s.stt)==null?void 0:k.available)===!0&&n?async(x,C)=>{var b;g();const j=Number(((b=s.stt)==null?void 0:b.max_upload_bytes)||0);if(j>0&&x.size>j)throw new Error("Recording exceeds the gateway's upload limit. Try a shorter recording.");const E=C.includes("mp4")?"m4a":C.includes("ogg")?"ogg":C.includes("wav")?"wav":"webm",R=new File([x],`recording.${E}`,{type:C||"audio/webm"}),A=await gn.attachments_upload(r,R);g();const T=await gn.audio_transcribe(n,{audio_artifact:A,request_id:gs()});return g(),String(T.text||"")}:void 0,on_transcript:x=>{h.current&&p.current===o&&u(x)},on_error:x=>{h.current&&p.current===o&&f(x)}});return v.useEffect(()=>{var x;return y.stop_tts(),(x=y.cancel_voice_ptt_recording)==null||x.call(y),()=>{var C;y.stop_tts(),(C=y.cancel_voice_ptt_recording)==null||C.call(y)}},[o,y.stop_tts,y.cancel_voice_ptt_recording]),y}function Lv({voice:n,runId:r,capability:s,answer:o,onSettings:l}){var g,y,_,k,x;const u=v.useRef(!1),f=v.useRef(!0);v.useEffect(()=>(f.current=!0,()=>{f.current=!1,u.current=!1}),[]);const h=()=>{u.current=!0,n.start_voice_ptt_recording().then(()=>{(!u.current||!f.current)&&n.stop_voice_ptt_recording()})},p=()=>{u.current=!1,n.stop_voice_ptt_recording()};return v.useEffect(()=>(window.addEventListener("pointerup",p),window.addEventListener("pointercancel",p),window.addEventListener("blur",p),()=>{window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",p),window.removeEventListener("blur",p)}),[n.stop_voice_ptt_recording]),!((g=s.tts)!=null&&g.available)&&!((y=s.stt)!=null&&y.available)?null:a.jsxs(a.Fragment,{children:[(_=s.stt)!=null&&_.available?a.jsx("button",{className:"code-icon-button","aria-label":n.voice_ptt_recording?"Recording — release to transcribe":"Hold to dictate",title:r?"Hold to dictate (Space or Enter on keyboard)":"Start a conversation to enable dictation",disabled:!n.voice_ptt_supported||n.voice_ptt_busy,"aria-pressed":n.voice_ptt_recording,onPointerDown:C=>{C.button===0&&h()},onPointerUp:p,onPointerCancel:p,onKeyDown:C=>{[" ","Enter"].includes(C.key)&&!C.repeat&&(C.preventDefault(),h())},onKeyUp:C=>{[" ","Enter"].includes(C.key)&&(C.preventDefault(),p())},onBlur:p,children:a.jsx(ue,{name:n.voice_ptt_busy?"loader":"mic",size:15})}):null,(k=s.tts)!=null&&k.available?a.jsx("button",{className:"code-icon-button","aria-label":n.tts_playback.status==="playing"?"Pause spoken reply":n.tts_playback.status==="paused"?"Resume spoken reply":"Read latest reply aloud",disabled:!n.tts_supported||!o||n.tts_playback.status==="loading",onClick:()=>{o&&n.toggle_tts(["playing","paused"].includes(n.tts_playback.status)?n.tts_playback.key:o.id||"latest",o.content)},children:a.jsx(ue,{name:n.tts_playback.status==="playing"?"pause":n.tts_playback.status==="loading"?"loader":"speaker",size:15})}):null,n.tts_playback.status!=="idle"?a.jsx("button",{className:"code-icon-button","aria-label":"Stop spoken reply",onClick:n.stop_tts,children:a.jsx(ue,{name:"x",size:14})}):null,l&&((x=s.tts)!=null&&x.available)?a.jsx("button",{className:"code-icon-button","aria-label":"Voice settings",title:"Voice settings",onClick:l,children:a.jsx(ue,{name:"settings",size:14})}):null,n.voice_ptt_recording||n.voice_ptt_busy?a.jsx("span",{role:"status",children:n.voice_ptt_recording?"Recording…":"Transcribing…"}):null]})}function kc(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)?n:void 0}function ga(n){return typeof n=="string"?n.trim():""}function Pv(n){const r=kc(n),s=kc(r==null?void 0:r.gateway),o=kc(s==null?void 0:s.principal);return JSON.stringify([ga((r==null?void 0:r.gateway_url)??(r==null?void 0:r.gatewayUrl)),ga((o==null?void 0:o.tenant_id)??(o==null?void 0:o.tenantId)),ga((o==null?void 0:o.runtime_id)??(o==null?void 0:o.runtimeId)),ga((o==null?void 0:o.user_id)??(o==null?void 0:o.userId))||"session"])}function Df(n,r){return!!n.sourceRunId&&n.sessionId===r.sessionId&&n.sessionId===r.snapshotSessionId&&n.sourceRunId===r.runId&&n.sourceRunId===r.snapshotRunId&&n.authEpoch===r.authEpoch}function Ov(n){const r=typeof n=="string"?n.trim().toLowerCase():"";return["completed","complete","done"].includes(r)?"advance":["failed","error","cancelled","canceled"].includes(r)?"pause":"wait"}function Fv(n,r,s){return n.flatMap(o=>o.id===r.id?[]:o.sessionId!==r.sessionId||o.authEpoch!==r.authEpoch||o.sourceRunId!==r.sourceRunId?[o]:[{...o,sourceRunId:s}])}function zf(){return new DOMException("The conversation changed before the run was attached.","AbortError")}const Dv=Gm("abstractcode","0.5.0"),xc=n=>["completed","failed","cancelled","canceled"].includes(n);function Uf(){const n=new URLSearchParams(window.location.hash.replace(/^#/,""));return{sessionId:n.get("session")||gs(),runId:n.get("run")||""}}function Xi(n,r=""){const s=new URLSearchParams({session:n});r&&s.set("run",r),window.history.replaceState(null,"",`#${s}`)}function zv(){var hi,js,mi,gi,yi,Ns,es,kn,xn,bn,wr,vr,Sn,po,wi,_r,ho,vi;const n=zm({appName:"AbstractCode",variant:"blocking"}),r=n.connected?Pv(n.status):"",s=v.useCallback(()=>{n.refresh()},[n.refresh]),o=dw(r,s),[l,u]=ng("abstractcode",{defaults:{theme:"observer-night"}}),[f,h]=v.useState(!1),[p,g]=v.useState(),y=v.useCallback(()=>{g(void 0),ft("/api/gateway/about").then(M=>g({ok:!0,value:M})).catch(M=>g({ok:!1,status:M==null?void 0:M.status,message:yt(M)}))},[]),[_,k]=v.useState(!1),[x,C]=v.useState({});v.useEffect(()=>{try{C(JSON.parse(localStorage.getItem(`abstractcode.voice:${r}`)||"{}"))}catch{C({})}k(!1)},[r]);const j=M=>{if(C(M),r)try{localStorage.setItem(`abstractcode.voice:${r}`,JSON.stringify(M))}catch{}},[E,R]=v.useState(ur),A=v.useRef(E);A.current=E;const T=Ky(E.streamReplies,o.streaming),[b,P]=v.useState(ur.workflow),H=v.useMemo(()=>sw(o.choices,E.showAllWorkflows),[o.choices,E.showAllWorkflows]),D=v.useMemo(()=>rw(o.gatewayDefault,o.workflows),[o.gatewayDefault,o.workflows]),U=b===Wn?D:o.workflows.find(M=>M.id===b)||null,[ge,ce]=v.useState(null),Q=Lc(U),[W,K]=v.useState(Uf),[q,ee]=v.useState(""),[le,pe]=v.useState(""),[J,re]=v.useState(""),[G,N]=v.useState(!1),B=v.useRef(!1),[z,oe]=v.useState([]),[de,ye]=v.useState([]),be=v.useRef(new Set),ae=v.useRef(new Map),[Ce,Be]=v.useState(""),at=v.useRef(null),[X,te]=v.useState(),[he,Fe]=v.useState(!1),[we,Me]=v.useState(""),[ze,tt]=v.useState(0),[V,fe]=v.useState({}),[Le,Ve]=v.useState(""),[We,Gn]=v.useState(null),[At,yn]=v.useState(""),[Hn,wn]=v.useState(!1),[Br,dr]=v.useState(!1),[$a,ii]=v.useState("model"),[Wr,oi]=v.useState(()=>window.innerWidth>1120),[ai,_s]=v.useState("files"),[fr,cn]=v.useState(!1),[Vr,pr]=v.useState(""),Kn=v.useRef(null),[hr,io]=v.useState("steer"),[Mn,vn]=v.useState([]),[ks,en]=v.useState(!1),[li,Jn]=v.useState([]),mr=v.useMemo(()=>kp(o.tools,E.tools,E.permissions),[o.tools,E.tools,E.permissions]),Qn=v.useRef(null),Ra=v.useMemo(()=>{var Oe,Ae;const M=((Oe=Qn.current)==null?void 0:Oe.runId)===W.runId?Qn.current.input:null;if(W.runId&&!We&&!M)return{enabledTools:[],autoApproveTools:[]};const se=We?We.input_data:M,Ee=vw(mr,(Ae=se==null?void 0:se._runtime)==null?void 0:Ae.allowed_tools);return{...Ee,autoApproveTools:E.toolsCustomized||E.permissions!=="default"?Ee.autoApproveTools:[]}},[mr,We,W.runId,E.toolsCustomized,E.permissions]),Yn=`${r}:${W.sessionId}:${W.runId}`,Gr=v.useRef(Yn);Gr.current=Yn;const Hr=v.useRef(null),[xs,Ta]=v.useState({scope:"",notes:[]}),Aa=v.useMemo(()=>pw({onDeltaError:M=>{const se=Gr.current,Ee=Yy(M,Hr.current);Ta(Oe=>({scope:se,notes:Xy(Oe.scope===se?Oe.notes:[],Ee)}))}}),[]),{controller:Xn,snapshot:Pe}=gy({transport:Aa,runId:W.runId,enabled:n.connected,onAuthError:s,clientId:"abstractcode-web",authScopeKey:r,toolApprovalPolicy:Ra}),Wt=!!W.runId&&!xc(Pe.status)&&Pe.status!=="idle",bs=((hi=Pe.run)==null?void 0:hi.paused)===!0||Pe.status==="paused",Zn=Wt||G,Kr=Pe.loading&&li.length?li:Pe.messages,Jr=Kr[Kr.length-1];Hr.current=Jr!=null&&Jr.id?String(Jr.id):null;const Ln=Zy(Kr,[Jy(E.streamReplies,o.streaming,Kr),...xs.scope===Yn?xs.notes:[]]),ci=((mi=(js=o.capabilities)==null?void 0:js.assistant)==null?void 0:mi.voice)||{},gr=Mv({scope:`${r}:${W.sessionId}:${W.runId}`,runId:r?W.runId:"",sessionId:W.sessionId,capability:ci,preferences:x,onTranscript:M=>ee(se=>se?`${se.trimEnd()}
|
|
57
|
-
${M}`:M),onError:pe}),oo=fy(Pe),He=v.useMemo(()=>hw(oo,Xn,Pe.records,Pe.run,async()=>{R(M=>({...M,permissions:"all"}))}),[oo,Pe.records,Pe.run,Xn]),ao=!!He&&hr==="steer",tn=Q?"prompt":zy(X),ui=Q||!!(tn&&!((gi=X==null?void 0:X.required)!=null&&gi.some(M=>M!==tn))),_n=String(((yi=We==null?void 0:We.workspace)==null?void 0:yi.workspace_root)||((es=(Ns=Pe.run)==null?void 0:Ns.vars)==null?void 0:es.workspace_root)||""),Qr=v.useMemo(()=>{var M;return Ny(o.workflows,{inputData:We,runWorkflowId:(M=Pe.run)==null?void 0:M.workflow_id})},[o.workflows,We,(kn=Pe.run)==null?void 0:kn.workflow_id]),Yr=W.runId&&We&&!o.loading&&Pe.run&&!Qr&&Fc(We)!=="gateway_default"?"This conversation's exact workflow version is unavailable. Restore it in the gateway, or start a new conversation with an available workflow.":"",It=o.sessions.find(M=>M.sessionId===W.sessionId),nn=(It==null?void 0:It.prompt)||((xn=Ln.find(M=>M.role==="user"))==null?void 0:xn.content)||"New conversation",di=v.useRef(""),St=v.useRef(r),ht=v.useRef(0);St.current!==r&&(ht.current+=1,St.current=r);const fi=v.useRef(!1),jt=v.useRef(W);jt.current=W,v.useEffect(()=>{if(B.current=!1,N(!1),ye([]),pe(""),re(""),!r){oe([]),ee(""),vn([]),en(!1),Jn([]),R(ur);return}if(di.current&&di.current!==r){const se={sessionId:gs(),runId:""};K(se),Xi(se.sessionId)}di.current=r,fi.current=!0;const M=jv(r);R(M),P(M.workflow)},[r]),v.useEffect(()=>{if(r){if(fi.current){fi.current=!1;return}Nv(r,E)}},[E,r]),v.useEffect(()=>{if(o.loading||!o.workflows.length)return;const M=iw({selection:b,preferred:E.workflow,visible:H,workflows:o.workflows,runId:W.runId});M!==b&&P(M)},[o.loading,o.workflows,H,b,E.workflow,W.runId]),v.useEffect(()=>{let M=!0;if(fe({}),Ve(""),te(void 0),Me(""),!U){Fe(!1);return}return Fe(!0),fw(U).then(se=>{M&&(te(se),fe(eo(se)))}).catch(se=>{M&&Me(yt(se))}).finally(()=>{M&&Fe(!1)}),()=>{M=!1}},[U==null?void 0:U.id,ze]),v.useEffect(()=>{if(Gn(null),yn(""),!r||!W.runId)return;const M=new AbortController;return ft(`/api/gateway/runs/${encodeURIComponent(W.runId)}/input_data`,{signal:M.signal}).then(se=>{Gn(se)}).catch(se=>{M.signal.aborted||yn(yt(se))}),()=>M.abort()},[W.runId,r]),v.useEffect(()=>{We&&We.flow_id===(U==null?void 0:U.flowId)&&X&&fe({...eo(X),...Oy(X,We.input_data)})},[We,X,U==null?void 0:U.flowId]),v.useEffect(()=>{!W.runId&&n.connected&&(It!=null&&It.latestRunId)&&K(M=>({...M,runId:It.latestRunId}))},[W.runId,n.connected,It==null?void 0:It.latestRunId]),v.useEffect(()=>{Xi(W.sessionId,W.runId),B.current=!1,N(!1),ye([]),oe([]),Jn([]),re(""),pe(""),vn([]),en(!1)},[W.sessionId]),v.useEffect(()=>{const M=()=>{const se=Uf();B.current=!1,N(!1),ye([]),vn([]),en(!1),ee(""),K(se)};return window.addEventListener("hashchange",M),()=>window.removeEventListener("hashchange",M)},[]),v.useEffect(()=>{!W.runId||!xc(Pe.status)||o.refresh()},[W.runId,Pe.status]),v.useEffect(()=>{if(!W.runId||!We)return;const M=ow({restoredInputs:We,restored:Qr});M&&P(M)},[W.runId,We,Qr==null?void 0:Qr.id]);const yr=W.runId?aw(We):"",qn=v.useCallback(()=>{const M={sessionId:gs(),runId:""};K(M),P(A.current.workflow),Xi(M.sessionId),ee(""),vn([]),en(!1),cn(!1)},[]);v.useEffect(()=>{const M=se=>{var Ee;if(se.key==="Escape"&&fr){cn(!1),(Ee=document.querySelector(".code-mobile-nav"))==null||Ee.focus();return}(se.metaKey||se.ctrlKey)&&(se.key.toLowerCase()==="k"&&(se.preventDefault(),cn(!0),window.setTimeout(()=>{var Oe;return(Oe=Kn.current)==null?void 0:Oe.focus()},0)),se.key.toLowerCase()==="n"&&se.shiftKey&&(se.preventDefault(),qn()))};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[qn,fr]);async function Pn(M){if(B.current)throw new Error("A turn is already being submitted.");if(!n.connected)throw new Error("Connect to your gateway first.");if(b===Wn&&o.gatewayDefault.status==="unavailable")throw new Error(`Gateway default: ${o.gatewayDefault.reason}. Choose a workflow from the list.`);if(!U)throw new Error("Choose a workflow first.");if(!o.policy)throw new Error("Workspace policy is unavailable. Reconnect or refresh before starting.");if(W.runId&&(!We||At))throw new Error(At||"Wait for the gateway to restore this conversation's workspace.");if(Yr)throw new Error(Yr);if(he||we)throw new Error(we||"Wait for workflow inputs to load.");if(Le)throw wn(!0),new Error(Le);const se=Cw(de);if(se)throw new Error(se);if(Wt)throw new Error("The current run is still active.");if(!Q&&M.trim()&&!tn)throw wn(!0),new Error("This workflow uses structured inputs. Configure its inputs, then select Run workflow.");const Ee={...eo(X),...V,...tn&&M.trim()?{[tn]:M.trim()}:{}},Oe=Q?Ee:Ev(X,Ee,z);for(const[Mt,Nt]of[["Iteration limit",E.maxIterations],["Context token limit",E.maxTokens]])if(Nt&&(!Number.isInteger(Number(Nt))||Number(Nt)<=0))throw new Error(`${Mt} must be a positive whole number.`);B.current=!0,N(!0),pe(""),re("");const Ae=W.sessionId,ut=W.runId,jn=r,kr=ht.current;let vt="";try{const Mt=Ty({workflow:U,inputSchema:X,schemaInputs:Oe,prompt:M,promptProperty:tn,model:E,reasoning:E.reasoning||void 0,speculation:E.speculation,streamReplies:T,systemPromptExtra:E.system||void 0,attachments:z,limits:{maxIterations:E.maxIterations?Number(E.maxIterations):void 0,maxTokens:E.maxTokens?Number(E.maxTokens):void 0},workspace:o.policy.clientWorkspaceScopeOverrides?{root:E.workspaceRoot||_n||void 0,accessMode:E.workspaceMode||void 0,allowedPaths:E.allowedPaths.split(`
|
|
58
|
-
`).filter(Boolean)}:_n?{root:_n}:void 0,tools:E.toolsCustomized?mr.enabledTools:void 0,toolPolicy:E.toolsCustomized||E.permissions!=="default"?{autoApproveTools:[],requireApprovalTools:mr.enabledTools}:void 0,skills:E.skills.length?E.skills:void 0}),Nt=Uy(X,Mt);if(Nt.length)throw wn(!0),new Error(Nt.join(" "));const Nn=lw({selection:b,workflow:U,sessionId:Ae,input:Mt}),Cn=await ft("/api/gateway/runs/start",{method:"POST",body:JSON.stringify(Nn)});if(!Cn.run_id)throw new Error("The gateway did not return a run identifier.");if(jt.current.sessionId!==Ae||jt.current.runId!==ut||St.current!==jn||ht.current!==kr)throw zf();return vt=String(Cn.run_id),Qn.current={runId:vt,input:Mt},ce({runId:vt,...cw(Cn.resolved_workflow)}),Jn([...Ln,...M.trim()?[{id:`pending:${Cn.run_id}`,role:"user",content:M.trim()}]:[]]),K({sessionId:Ae,runId:Cn.run_id}),Xi(Ae,Cn.run_id),ee(""),oe([]),wn(!1),Cn.runner_warning&&re(String(Cn.runner_warning)),o.refresh(),vt}finally{jt.current.sessionId===Ae&&(jt.current.runId===ut||jt.current.runId===vt)&&St.current===jn&&ht.current===kr&&(B.current=!1,N(!1))}}async function Ss(M){if(!Wt)return Pn(M);if(hr==="queue")vn(se=>[...se,{id:gs(),text:M,sessionId:W.sessionId,sourceRunId:W.runId,authEpoch:ht.current}]),en(!0),ee(""),re("Queued for the next turn.");else{if(He)throw new Error("Answer the pending workflow request above, or choose Queue next turn.");const se=W.sessionId,Ee=W.runId,Oe=ht.current;if(await Xn.sendCommand("inject_guidance",{guidance:M}),jt.current.sessionId!==se||jt.current.runId!==Ee||ht.current!==Oe)return;ee(""),re("Guidance queued. The workflow will read it at its next supported boundary.")}}async function lo(M){var Oe,Ae;const se=String(((Oe=Pe.run)==null?void 0:Oe.run_id)||"");if(!Df(M,{sessionId:W.sessionId,runId:W.runId,snapshotRunId:se,snapshotSessionId:String(((Ae=Pe.run)==null?void 0:Ae.session_id)||""),authEpoch:ht.current}))throw zf();const Ee=await Pn(M.text);vn(ut=>Fv(ut,M,Ee))}v.useEffect(()=>{var Ee,Oe;if(!ks||!Mn.length||!n.connected||!We||At||B.current)return;const M=Ov(Pe.status);if(M==="wait")return;if(M==="pause"){en(!1);const Ae=["failed","error"].includes(Pe.status.toLowerCase());re(`Queue paused because the run ${Ae?"failed":"was cancelled"}. Review the result, then use Run next to continue explicitly.`);return}const se=Mn[0];Df(se,{sessionId:W.sessionId,runId:W.runId,snapshotRunId:String(((Ee=Pe.run)==null?void 0:Ee.run_id)||""),snapshotSessionId:String(((Oe=Pe.run)==null?void 0:Oe.session_id)||""),authEpoch:ht.current})&&lo(se).catch(Ae=>{Ae instanceof DOMException&&Ae.name==="AbortError"||(en(!1),pe(yt(Ae)))})},[ks,Mn,Pe.status,(bn=Pe.run)==null?void 0:bn.run_id,(wr=Pe.run)==null?void 0:wr.session_id,n.connected,We,At,W.sessionId,W.runId]);async function co(M){const se=W.sessionId,Ee=r,Oe=ht.current,Ae=()=>jt.current.sessionId!==se||St.current!==Ee||ht.current!==Oe,ut=(vt,Mt)=>ye(Nt=>Nt.map(Nn=>Nn.id===vt?{...Nn,...Mt}:Nn));let jn=0,kr=0;await Nw(M,bw,async vt=>{if(!(Ae()||be.current.has(vt.id))){ut(vt.id,{status:"uploading",message:void 0});try{const Mt=await gn.attachments_upload(se,vt.file);if(Ae()||be.current.has(vt.id))return;ae.current.set(Mt.$artifact,vt.size),ye(Nt=>Nt.filter(Nn=>Nn.id!==vt.id)),oe(Nt=>[...Nt,Mt]),jn+=1}catch(Mt){if(Ae()||be.current.has(vt.id))return;ut(vt.id,{status:"failed",message:Sw(yt(Mt))}),kr+=1}}}),!Ae()&&(jn||kr)&&Be(Af(jn,kr))}function Xr(M){var Oe;if(!M.length)return[];const se=jw(M,(Oe=o.policy)==null?void 0:Oe.maxAttachmentBytes,gs);ye(Ae=>[...Ae,...se]);const Ee=se.filter(Ae=>Ae.status==="refused").length;return Ee&&Be(Af(0,Ee)),co(se.filter(Ae=>Ae.status==="queued")),se}function uo(M){const se=de.find(Oe=>Oe.id===M);if(!se||se.status!=="failed")return;const Ee={...se,status:"queued",message:void 0};ye(Oe=>Oe.map(Ae=>Ae.id===M?Ee:Ae)),co([Ee])}function pi(M){be.current.add(M),ye(se=>se.filter(Ee=>Ee.id!==M))}async function Zr(){const M=W.sessionId,se=W.runId,Ee=ht.current;await Xn.cancel(),jt.current.sessionId===M&&jt.current.runId===se&&ht.current===Ee&&re("")}const qr=M=>{ii(M),dr(!0)},er=M=>{const se=ht.current,Ee=W.sessionId,Oe=W.runId;pe(""),M().catch(Ae=>{Ae instanceof DOMException&&Ae.name==="AbortError"||ht.current===se&&jt.current.sessionId===Ee&&jt.current.runId===Oe&&pe(yt(Ae))})},Ke=o.sessions.filter(M=>`${M.prompt||""} ${M.sessionId}`.toLowerCase().includes(Vr.toLowerCase())),fo=(()=>{var M;try{return new URL(((M=n.status)==null?void 0:M.gateway_url)||"").host}catch{return"Your gateway"}})();return a.jsxs("div",{className:`code-app${fr?" code-app--nav-open":""}${Wr?" code-app--inspector":""}`,children:[a.jsx("a",{className:"code-skip-link",href:"#code-conversation",children:"Skip to conversation"}),a.jsxs("aside",{className:"code-sidebar","aria-label":"Conversations",children:[a.jsxs("div",{className:"code-brand",children:[a.jsxs("span",{className:"code-brand-mark","aria-hidden":"true",children:["a",a.jsx("span",{children:"c"})]}),a.jsxs("div",{children:[a.jsx("strong",{children:"AbstractCode"}),a.jsx("span",{children:"YOUR WORK, IN CONTEXT"})]}),a.jsx("button",{className:"code-mobile-close code-icon-button","aria-label":"Close navigation",onClick:()=>cn(!1),children:a.jsx(ue,{name:"x",size:18})})]}),a.jsxs("button",{className:"code-new-chat",onClick:qn,children:[a.jsx(ue,{name:"plus",size:17}),a.jsx("span",{children:"New conversation"}),a.jsx("kbd",{children:"⇧⌘N"})]}),a.jsxs("div",{className:"code-session-search",children:[a.jsx(ue,{name:"history",size:14}),a.jsx("input",{ref:Kn,"aria-label":"Search conversations",placeholder:"Search conversations",value:Vr,onChange:M=>pr(M.target.value)}),a.jsx("kbd",{children:"⌘K"})]}),a.jsxs("div",{className:"code-section-label",children:[a.jsx("span",{children:"CONVERSATIONS"}),a.jsx("button",{className:"code-icon-button","aria-label":"Refresh conversations",disabled:!n.connected||o.loading,onClick:()=>void o.refresh(),children:a.jsx(ue,{name:"refresh",size:13})})]}),a.jsxs("nav",{className:"code-sessions","aria-label":"Conversation history",children:[It?null:a.jsxs("button",{className:"code-session is-selected",onClick:()=>cn(!1),children:[a.jsx(ue,{name:"chat",size:15}),a.jsxs("span",{children:[a.jsx("strong",{children:"New conversation"}),a.jsx("small",{children:"Ready when you are"})]})]}),Ke.map(M=>a.jsx(Uv,{item:M,selected:M.sessionId===W.sessionId,onClick:()=>{B.current=!1,N(!1),ye([]),K({sessionId:M.sessionId,runId:M.latestRunId}),Xi(M.sessionId,M.latestRunId),cn(!1),vn([]),en(!1),ee("")}},M.sessionId)),!o.loading&&!Ke.length?a.jsx("p",{className:"code-history-empty",children:Vr?"No conversations match your search.":"Your conversations will live here. Pick up where you left off, on any device."}):null,o.loading?a.jsx("p",{className:"code-history-empty",role:"status",children:"Loading conversations…"}):null,o.hasMore?a.jsx("button",{className:"code-load-more",onClick:o.loadMore,children:"Load more conversations"}):null]}),a.jsxs("div",{className:"code-sidebar-bottom",children:[a.jsxs("button",{onClick:()=>qr("workspace"),children:[a.jsx(ue,{name:"terminal",size:17}),a.jsxs("span",{children:[a.jsx("strong",{children:"Workspace"}),a.jsx("small",{children:_n.split("/").filter(Boolean).pop()||"Gateway managed"})]}),a.jsx(ue,{name:"chevronRight",size:14})]}),a.jsxs("button",{onClick:()=>qr("model"),children:[a.jsx(ue,{name:"settings",size:17}),a.jsx("span",{children:"Settings"})]}),a.jsxs("div",{className:"code-gateway-foot",children:[a.jsx("span",{className:`code-status-dot ${n.connected?"is-online":""}`}),a.jsx("span",{children:fo}),a.jsx("small",{children:((po=(Sn=(vr=n.status)==null?void 0:vr.gateway)==null?void 0:Sn.principal)==null?void 0:po.user_id)||"Signed out"})]})]})]}),fr?a.jsx("button",{className:"code-nav-scrim","aria-label":"Close conversation navigation",onClick:()=>cn(!1)}):null,a.jsxs("div",{className:"code-main-shell",children:[a.jsxs("header",{className:"code-topbar",children:[a.jsx("button",{className:"code-mobile-nav code-icon-button","aria-label":"Open conversation navigation",onClick:()=>cn(!0),children:a.jsx(ue,{name:"list",size:19})}),a.jsxs("div",{className:"code-breadcrumb",children:[a.jsx("span",{children:"Conversations"}),a.jsx("span",{"aria-hidden":"true",children:"/"}),a.jsx("strong",{title:nn,children:nn})]}),a.jsx(qm,{appearance:{onOpen:()=>h(!0)},about:{identity:Dv,extraRows:bv(p),onOpen:y},extraActions:a.jsx("button",{className:`af-topbar__btn${Wr?" is-active":""}`,"aria-label":"Toggle workspace inspector","aria-pressed":Wr,onClick:()=>oi(M=>!M),children:a.jsx(ue,{name:"board",size:17})}),connection:{phase:n.phase,signingOut:n.signingOut,onConnect:n.openModal,onDisconnect:()=>{n.signOut()}}})]}),a.jsxs("div",{className:"code-toolbar",children:[a.jsxs("div",{className:"code-workflow-select",children:[a.jsx(ue,{name:"agent",size:17}),a.jsxs("select",{"aria-label":"Workflow",value:b,disabled:Zn||o.loading||!n.connected,onChange:M=>{const se=M.target.value;P(se),R(Ee=>({...Ee,workflow:se}))},children:[a.jsx("option",{value:Wn,children:nw(o.gatewayDefault)}),U&&b!==Wn&&!H.some(M=>M.id===U.id)?a.jsxs("option",{value:U.id,children:[U.name,W.runId?` · conversation version ${U.bundleVersion||""}`:""]}):null,H.map(M=>a.jsx("option",{value:M.id,children:Sy(M,H)},M.id))]}),a.jsx("span",{className:"code-workflow-kind",children:Q?"AGENT":"WORKFLOW"}),a.jsxs("label",{className:"code-workflow-all",title:"List workflows that are not coding agents too",children:[a.jsx("input",{type:"checkbox",checked:E.showAllWorkflows,disabled:Zn||!n.connected,onChange:M=>R(se=>({...se,showAllWorkflows:M.target.checked}))}),a.jsx("span",{children:"Show all workflows"})]}),b===Wn&&wc(D)?a.jsx("span",{className:"code-workflow-resolved is-missing",role:"alert",title:wc(D),children:wc(D)}):null,yr?a.jsx("span",{className:"code-workflow-resolved is-missing",role:"status",title:yr,children:yr}):null,ge&&ge.runId===W.runId?a.jsx("span",{className:`code-workflow-resolved${ge.missing?" is-missing":""}`,role:"status",children:ge.text}):null]}),a.jsx("span",{className:"code-toolbar-divider"}),a.jsxs("button",{className:"code-model-button",onClick:()=>qr("model"),children:[a.jsx(ue,{name:"sparkle",size:14}),a.jsx("span",{children:E.model||(V.provider&&V.model?`Workflow · ${V.model}`:"Gateway default")}),a.jsx(ue,{name:"chevronDown",size:12})]}),a.jsx("div",{className:"code-toolbar-spacer"}),a.jsxs("button",{className:"code-subtle-button",onClick:()=>wn(!0),disabled:!U,children:[a.jsx(ue,{name:"settings",size:14}),a.jsx("span",{children:"Inputs"})]}),a.jsxs("button",{className:"code-subtle-button",onClick:()=>qr("tools"),children:[a.jsx(ue,{name:"terminal",size:14}),a.jsx("span",{children:"Tools"})]}),Ln.length?a.jsx("button",{className:"code-icon-button","aria-label":"Export conversation",title:"Export conversation",onClick:()=>gg({filename:"conversation.md",text:mg(Ln)}),children:a.jsx(ue,{name:"download",size:15})}):null]}),a.jsxs("div",{className:"code-content",children:[a.jsxs("main",{className:"code-conversation",id:"code-conversation",tabIndex:-1,children:[le||Pe.error||n.signOutError||At?a.jsxs("div",{className:"code-alert",role:"alert",children:[a.jsx(ue,{name:"warning",size:16}),a.jsx("span",{children:le||Pe.error||n.signOutError||At}),Pe.error||At?a.jsx("button",{onClick:()=>{At?window.location.reload():er(()=>Xn.load(W.runId))},children:"Reconnect"}):a.jsx("button",{"aria-label":"Dismiss error",onClick:()=>pe(""),children:a.jsx(ue,{name:"x",size:14})})]}):null,o.errors.length?a.jsx("div",{className:"code-discovery-errors",role:"status",children:a.jsxs("details",{children:[a.jsx("summary",{children:"Some gateway information could not be loaded"}),o.errors.map(M=>a.jsx("p",{children:M},M)),a.jsx("button",{onClick:()=>void o.refresh(),children:"Retry discovery"})]})}):null,Yr?a.jsxs("div",{className:"code-alert",role:"alert",children:[a.jsx("span",{children:Yr}),a.jsx("button",{onClick:qn,children:"New conversation"})]}):null,we?a.jsxs("div",{className:"code-alert",role:"alert",children:[a.jsxs("span",{children:["Workflow inputs: ",we]}),a.jsx("button",{onClick:()=>tt(M=>M+1),children:"Retry"})]}):null,J?a.jsxs("div",{className:"code-notice",role:"status",children:[J,a.jsx("button",{"aria-label":"Dismiss notice",onClick:()=>re(""),children:a.jsx(ue,{name:"x",size:13})})]}):null,Wt||xc(Pe.status)?a.jsx(Iv,{active:Wt,paused:bs,snapshot:Pe,permissionsAll:E.permissions==="all",onInteraction:He&&!bs?()=>{var Ee;const M=document.querySelector(".code-conversation .pc-chat-thread"),se=M==null?void 0:M.querySelector(".pc-workflow-interaction");!M||!se||(M.scrollTop+=se.getBoundingClientRect().top-M.getBoundingClientRect().top,(Ee=se.querySelector("h3"))==null||Ee.focus({preventScroll:!0}))}:void 0,onRevokeApproval:()=>{Xn.revokeToolApproval(),R(M=>({...M,permissions:"default"}))},onCommand:M=>er(()=>Xn.sendCommand(M,{})),onActivity:()=>{_s("activity"),oi(!0)}}):null,a.jsx(sy,{streamReplies:T,messages:(He==null?void 0:He.kind)==="tool-approval"?Ln.filter(M=>{var se,Ee;return!(((se=M.toolActivity)==null?void 0:se.status)==="waiting"&&M.toolActivity.runId===((Ee=Pe.interaction)==null?void 0:Ee.runId))}):Ln,messageProps:{...gr.tts_supported?{onSpeakToggle:M=>{gr.toggle_tts(M.id||M.content,M.content)}}:{},getSpeakState:M=>gr.tts_playback.key===(M.id||M.content)?gr.tts_playback.status:"idle"},draft:q,onDraftChange:ee,onSend:Ss,busy:Zn,busyLabel:ao?"Waiting for you":G?"Starting…":bs?"Paused":"Working…",sendWhileBusy:Wt&&!G&&!ao,sendLabel:Wt?hr==="queue"?"Queue":"Steer":"Send",onCancel:Zr,stopState:Pe.stop??null,disabled:!n.connected,interaction:He,onAttach:()=>{var M;return(M=at.current)==null?void 0:M.click()},onFiles:M=>{Xr(M)},attachments:z.length||de.length?a.jsx(Av,{attachments:z,uploads:de,sizes:ae.current,onRemoveAttachment:M=>oe(se=>se.filter((Ee,Oe)=>Oe!==M)),onRemoveUpload:pi,onRetryUpload:uo}):null,placeholder:Wt?hr==="queue"?"Queue the next task after this run…":He?"Answer the request above, or choose Queue next turn…":"Guide the current workflow…":"Describe what you want to build, fix, or explore…",emptyState:Wt?null:a.jsx(Bv,{workflow:U,loading:o.loading||he,onSuggestion:ee,onInputs:()=>wn(!0),isAgent:ui,onRun:()=>er(()=>Pn(q)),connected:n.connected}),composerExtras:a.jsxs(a.Fragment,{children:[a.jsxs("button",{className:"code-composer-workspace",onClick:()=>qr("workspace"),title:_n||"Workspace is managed by the gateway",children:[a.jsx(ue,{name:"terminal",size:14}),a.jsx("span",{children:_n.split("/").filter(Boolean).pop()||"Gateway workspace"})]}),n.connected?a.jsx(Lv,{runId:W.runId,voice:gr,capability:ci,onSettings:()=>k(!0),answer:[...Ln].reverse().find(M=>M.role==="assistant")},`${r}:${W.sessionId}:${W.runId}`):null,Wt?a.jsxs("select",{"aria-label":"Message destination",value:hr,onChange:M=>io(M.target.value),children:[a.jsxs("option",{value:"steer",disabled:!!He,children:["Guide this run",He?" (answer above)":""]}),a.jsx("option",{value:"queue",children:"Queue next turn"})]}):null]}),footer:a.jsxs(a.Fragment,{children:[a.jsxs("span",{children:["Enter to send ",a.jsx("span",{"aria-hidden":"true",children:"·"})," Shift + Enter for a new line"]}),a.jsxs("span",{children:[(wi=o.policy)!=null&&wi.clientWorkspaceScopeOverrides?"Gateway policy enforced":"Managed workspace",a.jsx("span",{className:"code-small-dot"})]})]})}),Mn.length?a.jsxs("div",{className:"code-queue",children:[a.jsxs("div",{children:[a.jsxs("strong",{children:[Mn.length," queued"," ",Mn.length===1?"turn":"turns"]}),a.jsx("button",{onClick:()=>en(M=>!M),children:ks?"Pause queue":"Resume queue"})]}),Mn.map(M=>a.jsxs("div",{children:[a.jsx("span",{children:M.text}),Wt?null:a.jsx("button",{onClick:()=>er(()=>lo(M)),children:"Run next"}),a.jsx("button",{"aria-label":"Remove queued turn",onClick:()=>vn(se=>se.filter(Ee=>Ee.id!==M.id)),children:a.jsx(ue,{name:"x",size:13})})]},M.id))]}):null]}),Wr?a.jsx(yv,{tab:ai,onTab:_s,policy:o.policy,runId:W.runId,records:Pe.records,enabled:n.connected,isAdmin:((vi=(ho=(_r=n.status)==null?void 0:_r.gateway)==null?void 0:ho.principal)==null?void 0:vi.admin)===!0,refreshKey:Pe.status,onAttachFiles:Xr,onClose:()=>oi(!1),onAttach:async M=>{const se=W.sessionId,Ee=W.runId,Oe=ht.current,Ae=await gn.attachments_ingest(se,M);jt.current.sessionId===se&&jt.current.runId===Ee&&ht.current===Oe&&oe(ut=>[...ut,Ae])}}):null]}),a.jsxs("footer",{className:"code-statusbar",children:[a.jsxs("span",{children:[a.jsx("span",{className:`code-status-dot ${n.connected?"is-online":""}`}),n.connected?"Connected":n.phase==="loading"?"Connecting":"Disconnected"]}),a.jsx("span",{children:(U==null?void 0:U.name)||"No workflow selected"}),a.jsx("div",{}),a.jsx("span",{children:W.runId?`Run ${W.runId.slice(0,8)}`:"Ready to start"}),a.jsx("button",{onClick:()=>h(!0),children:l.theme.replace(/-/g," ")})]})]}),a.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:Ce}),a.jsx("input",{ref:at,hidden:!0,type:"file",multiple:!0,onChange:M=>{Xr(Array.from(M.target.files||[])),M.target.value=""}}),a.jsx(Fm,{...n.modalProps}),a.jsx(Nc,{open:_,onClose:()=>k(!1),label:"Voice settings",title:"AI voice",width:480,topOffset:60,className:"code-settings-drawer",children:a.jsx("div",{className:"code-settings",children:a.jsx(ug,{value:x,onChange:M=>{gr.stop_tts(),j(M)},fetchCatalog:(M,se)=>ft(`/api/gateway/voice/voices?compact=true${M?`&provider=${encodeURIComponent(M)}`:""}${se?`&model=${encodeURIComponent(se)}`:""}`)})})}),a.jsx(rg,{open:f,onClose:()=>h(!1),value:l,onChange:u}),a.jsx(_w,{open:Br,onClose:()=>dr(!1),tab:$a,onTab:ii,value:E,onChange:M=>{const se=[];(E.provider||E.model)&&!M.provider&&!M.model&&se.push("provider","model"),E.toolsCustomized&&!M.toolsCustomized&&se.push("tools"),E.maxIterations&&!M.maxIterations&&se.push("max_iterations"),se.length&&fe(Ee=>{const Oe={...Ee},Ae=eo(X);for(const ut of se)delete Oe[ut],Object.prototype.hasOwnProperty.call(Ae,ut)&&(Oe[ut]=Ae[ut]);return Oe}),R(M)},policy:o.policy,tools:o.tools,defaultModel:V.provider&&V.model?{provider:String(V.provider),model:String(V.model)}:o.defaultModel,workflowDefault:!!(V.provider&&V.model),streaming:o.streaming,disabled:Zn||!n.connected},r),a.jsx(Nc,{open:Hn,onClose:()=>wn(!1),label:"Workflow inputs",title:(U==null?void 0:U.name)||"Workflow inputs",width:480,topOffset:60,className:"code-settings-drawer",children:a.jsxs("div",{className:"code-settings",children:[a.jsx("p",{className:"code-muted",children:(U==null?void 0:U.description)||"Configure the values this workflow needs to run."}),he?a.jsx("p",{role:"status",children:"Loading input schema…"}):we?null:Q||tn?a.jsx(Cv,{schema:X,promptProperty:tn,defaultModel:o.defaultModel,values:V,onChange:fe,disabled:Zn,onEditorError:Ve},U==null?void 0:U.id):a.jsx(Tc,{schema:X,defaultModel:o.defaultModel,values:V,onChange:fe,disabled:Zn,rawObject:!0,onEditorError:Ve},U==null?void 0:U.id),we?a.jsx("p",{role:"alert",className:"code-error-text",children:we}):null,ui?a.jsxs("button",{className:"code-primary-button",onClick:()=>wn(!1),children:["Back to chat ",a.jsx(ue,{name:"chat",size:16})]}):a.jsxs("button",{className:"code-primary-button",disabled:Zn||he||!!we||!!Le||!n.connected,onClick:()=>er(()=>Pn(q||String(V[tn||"prompt"]||""))),children:["Run workflow ",a.jsx(ue,{name:"playCircle",size:16})]})]})})]})}function Uv({item:n,selected:r,onClick:s}){const o=n.prompt||`Conversation ${n.sessionId.slice(0,8)}`,l=n.updatedAt?new Date(n.updatedAt):null;return a.jsxs("button",{className:`code-session${r?" is-selected":""}`,"aria-current":r?"page":void 0,onClick:s,title:o,children:[a.jsx(ue,{name:"chat",size:15}),a.jsxs("span",{children:[a.jsx("strong",{children:o}),a.jsxs("small",{children:[l&&Number.isFinite(l.getTime())?l.toLocaleDateString(void 0,{month:"short",day:"numeric"}):"Saved conversation"," ",a.jsx("span",{"aria-hidden":"true",children:"·"})," ",n.turnCount," ",n.turnCount===1?"turn":"turns"]})]}),n.state==="running"||n.state==="waiting"?a.jsx("span",{className:`code-status-dot ${n.state==="running"?"is-working":"is-waiting"}`,title:n.state}):null]})}function Bv({workflow:n,loading:r,onSuggestion:s,onInputs:o,isAgent:l,onRun:u,connected:f}){return a.jsxs("div",{className:"code-welcome",children:[a.jsxs("div",{className:"code-welcome-symbol","aria-hidden":"true",children:[a.jsx("span",{children:"›"}),a.jsx("span",{children:"_"})]}),a.jsx("p",{className:"code-eyebrow",children:"A LITTLE CONTEXT. A LOT OF POSSIBILITY."}),a.jsx("h1",{children:"What are we building?"}),a.jsxs("p",{className:"code-welcome-description",children:["A focused space to think, code, and get things done.",a.jsx("br",{}),"Your workflows. Your tools. One conversation."]}),n&&!l?a.jsxs("div",{className:"code-workflow-welcome",children:[a.jsx(ue,{name:"playCircle",size:21}),a.jsxs("div",{children:[a.jsx("strong",{children:n.name}),a.jsx("p",{children:n.description||"Run this workflow with its registered inputs."})]}),a.jsx("button",{onClick:o,children:"Configure inputs"}),a.jsx("button",{onClick:u,disabled:r||!f,children:"Run workflow"})]}):a.jsx("div",{className:"code-suggestions",children:[{icon:"terminal",title:"Explore this project",detail:"Find your bearings in the codebase",prompt:"Explore this project and explain its architecture, key entry points, and how to run its tests."},{icon:"edit",title:"Build something new",detail:"Turn an idea into working code",prompt:"I'd like to build a new feature. Help me clarify the requirements and plan the implementation."},{icon:"warning",title:"Track down a bug",detail:"Understand what went wrong",prompt:"Help me investigate a bug. Start by asking what happened and what I expected."},{icon:"check",title:"Review my changes",detail:"Get a second pair of eyes",prompt:"Review the current changes for correctness, edge cases, and maintainability. Explain any findings before making edits."}].map(h=>a.jsxs("button",{onClick:()=>s(h.prompt),disabled:r,children:[a.jsx(ue,{name:h.icon,size:18}),a.jsxs("span",{children:[a.jsx("strong",{children:h.title}),a.jsx("small",{children:h.detail})]}),a.jsx(ue,{name:"chevronRight",size:13})]},h.title))}),a.jsx("p",{className:"code-welcome-hint",children:r?"Discovering your workflows…":n?a.jsxs(a.Fragment,{children:["Using ",a.jsx("strong",{children:n.name})," · Change workflows above"]}):f?"Register a workflow with AbstractGateway to get started.":"Connect your gateway to get started."})]})}class Wv extends wt.Component{constructor(){super(...arguments);Or(this,"state",{error:""})}static getDerivedStateFromError(s){return{error:s.message}}render(){return this.state.error?a.jsxs("div",{className:"code-crash",role:"alert",children:[a.jsx("h1",{children:"Something interrupted this view."}),a.jsx("p",{children:this.state.error}),a.jsx("p",{children:"Your runs are stored by the gateway."}),a.jsx("button",{onClick:()=>window.location.reload(),children:"Reload AbstractCode"})]}):this.props.children}}function ya(){try{const n=window.visualViewport,r=typeof(n==null?void 0:n.height)=="number"&&Number.isFinite(n.height)?n.height:window.innerHeight;document.documentElement.style.setProperty("--vh",`${Math.max(1,r)*.01}px`)}catch{}}const Bf="__abstractcode_web_vh_listener_v1";var Wf,Vf;globalThis[Bf]||(globalThis[Bf]=!0,ya(),window.addEventListener("resize",ya),(Wf=window.visualViewport)==null||Wf.addEventListener("resize",ya),(Vf=window.visualViewport)==null||Vf.addEventListener("scroll",ya));"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("sw.js").catch(()=>{})});hm.createRoot(document.getElementById("root")).render(a.jsx(wt.StrictMode,{children:a.jsx(Wv,{children:a.jsx(zv,{})})}));
|