@abstractframework/code 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var lg=Object.defineProperty;var cg=(e,n,s)=>n in e?lg(e,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[n]=s;var gn=(e,n,s)=>cg(e,typeof n!="symbol"?n+"":n,s);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.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 d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).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 Ch(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _c={exports:{}},ro={},xc={exports:{}},Fe={};/**
|
|
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 Nf;function ug(){if(Nf)return Fe;Nf=1;var e=Symbol.for("react.element"),n=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"),d=Symbol.for("react.context"),p=Symbol.for("react.forward_ref"),f=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(){}},$=Object.assign,C={};function j(N,L,z){this.props=N,this.context=L,this.refs=C,this.updater=z||x}j.prototype.isReactComponent={},j.prototype.setState=function(N,L){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,L,"setState")},j.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function T(){}T.prototype=j.prototype;function A(N,L,z){this.props=N,this.context=L,this.refs=C,this.updater=z||x}var E=A.prototype=new T;E.constructor=A,$(E,j.prototype),E.isPureReactComponent=!0;var b=Array.isArray,P=Object.prototype.hasOwnProperty,V={current:null},G={key:!0,ref:!0,__self:!0,__source:!0};function O(N,L,z){var W,ee={},le=null,he=null;if(L!=null)for(W in L.ref!==void 0&&(he=L.ref),L.key!==void 0&&(le=""+L.key),L)P.call(L,W)&&!G.hasOwnProperty(W)&&(ee[W]=L[W]);var ue=arguments.length-2;if(ue===1)ee.children=z;else if(1<ue){for(var Ae=Array(ue),Be=0;Be<ue;Be++)Ae[Be]=arguments[Be+2];ee.children=Ae}if(N&&N.defaultProps)for(W in ue=N.defaultProps,ue)ee[W]===void 0&&(ee[W]=ue[W]);return{$$typeof:e,type:N,key:le,ref:he,props:ee,_owner:V.current}}function de(N,L){return{$$typeof:e,type:N.type,key:L,ref:N.ref,props:N.props,_owner:N._owner}}function re(N){return typeof N=="object"&&N!==null&&N.$$typeof===e}function Q(N){var L={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(z){return L[z]})}var B=/\/+/g;function J(N,L){return typeof N=="object"&&N!==null&&N.key!=null?Q(""+N.key):L.toString(36)}function fe(N,L,z,W,ee){var le=typeof N;(le==="undefined"||le==="boolean")&&(N=null);var he=!1;if(N===null)he=!0;else switch(le){case"string":case"number":he=!0;break;case"object":switch(N.$$typeof){case e:case n:he=!0}}if(he)return he=N,ee=ee(he),N=W===""?"."+J(he,0):W,b(ee)?(z="",N!=null&&(z=N.replace(B,"$&/")+"/"),fe(ee,L,z,"",function(Be){return Be})):ee!=null&&(re(ee)&&(ee=de(ee,z+(!ee.key||he&&he.key===ee.key?"":(""+ee.key).replace(B,"$&/")+"/")+N)),L.push(ee)),1;if(he=0,W=W===""?".":W+":",b(N))for(var ue=0;ue<N.length;ue++){le=N[ue];var Ae=W+J(le,ue);he+=fe(le,L,z,Ae,ee)}else if(Ae=k(N),typeof Ae=="function")for(N=Ae.call(N),ue=0;!(le=N.next()).done;)le=le.value,Ae=W+J(le,ue++),he+=fe(le,L,z,Ae,ee);else if(le==="object")throw L=String(N),Error("Objects are not valid as a React child (found: "+(L==="[object Object]"?"object with keys {"+Object.keys(N).join(", ")+"}":L)+"). If you meant to render a collection of children, use an array instead.");return he}function ae(N,L,z){if(N==null)return N;var W=[],ee=0;return fe(N,W,"","",function(le){return L.call(z,le,ee++)}),W}function we(N){if(N._status===-1){var L=N._result;L=L(),L.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=L)}if(N._status===1)return N._result.default;throw N._result}var ye={current:null},Z={transition:null},Y={ReactCurrentDispatcher:ye,ReactCurrentBatchConfig:Z,ReactCurrentOwner:V};function H(){throw Error("act(...) is not supported in production builds of React.")}return Fe.Children={map:ae,forEach:function(N,L,z){ae(N,function(){L.apply(this,arguments)},z)},count:function(N){var L=0;return ae(N,function(){L++}),L},toArray:function(N){return ae(N,function(L){return L})||[]},only:function(N){if(!re(N))throw Error("React.Children.only expected to receive a single React element child.");return N}},Fe.Component=j,Fe.Fragment=s,Fe.Profiler=l,Fe.PureComponent=A,Fe.StrictMode=o,Fe.Suspense=f,Fe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Y,Fe.act=H,Fe.cloneElement=function(N,L,z){if(N==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+N+".");var W=$({},N.props),ee=N.key,le=N.ref,he=N._owner;if(L!=null){if(L.ref!==void 0&&(le=L.ref,he=V.current),L.key!==void 0&&(ee=""+L.key),N.type&&N.type.defaultProps)var ue=N.type.defaultProps;for(Ae in L)P.call(L,Ae)&&!G.hasOwnProperty(Ae)&&(W[Ae]=L[Ae]===void 0&&ue!==void 0?ue[Ae]:L[Ae])}var Ae=arguments.length-2;if(Ae===1)W.children=z;else if(1<Ae){ue=Array(Ae);for(var Be=0;Be<Ae;Be++)ue[Be]=arguments[Be+2];W.children=ue}return{$$typeof:e,type:N.type,key:ee,ref:le,props:W,_owner:he}},Fe.createContext=function(N){return N={$$typeof:d,_currentValue:N,_currentValue2:N,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},N.Provider={$$typeof:u,_context:N},N.Consumer=N},Fe.createElement=O,Fe.createFactory=function(N){var L=O.bind(null,N);return L.type=N,L},Fe.createRef=function(){return{current:null}},Fe.forwardRef=function(N){return{$$typeof:p,render:N}},Fe.isValidElement=re,Fe.lazy=function(N){return{$$typeof:y,_payload:{_status:-1,_result:N},_init:we}},Fe.memo=function(N,L){return{$$typeof:g,type:N,compare:L===void 0?null:L}},Fe.startTransition=function(N){var L=Z.transition;Z.transition={};try{N()}finally{Z.transition=L}},Fe.unstable_act=H,Fe.useCallback=function(N,L){return ye.current.useCallback(N,L)},Fe.useContext=function(N){return ye.current.useContext(N)},Fe.useDebugValue=function(){},Fe.useDeferredValue=function(N){return ye.current.useDeferredValue(N)},Fe.useEffect=function(N,L){return ye.current.useEffect(N,L)},Fe.useId=function(){return ye.current.useId()},Fe.useImperativeHandle=function(N,L,z){return ye.current.useImperativeHandle(N,L,z)},Fe.useInsertionEffect=function(N,L){return ye.current.useInsertionEffect(N,L)},Fe.useLayoutEffect=function(N,L){return ye.current.useLayoutEffect(N,L)},Fe.useMemo=function(N,L){return ye.current.useMemo(N,L)},Fe.useReducer=function(N,L,z){return ye.current.useReducer(N,L,z)},Fe.useRef=function(N){return ye.current.useRef(N)},Fe.useState=function(N){return ye.current.useState(N)},Fe.useSyncExternalStore=function(N,L,z){return ye.current.useSyncExternalStore(N,L,z)},Fe.useTransition=function(){return ye.current.useTransition()},Fe.version="18.3.1",Fe}var Cf;function eu(){return Cf||(Cf=1,xc.exports=ug()),xc.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 $f;function dg(){if($f)return ro;$f=1;var e=eu(),n=Symbol.for("react.element"),s=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,l=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};function d(p,f,g){var y,_={},k=null,x=null;g!==void 0&&(k=""+g),f.key!==void 0&&(k=""+f.key),f.ref!==void 0&&(x=f.ref);for(y in f)o.call(f,y)&&!u.hasOwnProperty(y)&&(_[y]=f[y]);if(p&&p.defaultProps)for(y in f=p.defaultProps,f)_[y]===void 0&&(_[y]=f[y]);return{$$typeof:n,type:p,key:k,ref:x,props:_,_owner:l.current}}return ro.Fragment=s,ro.jsx=d,ro.jsxs=d,ro}var Ef;function fg(){return Ef||(Ef=1,_c.exports=dg()),_c.exports}var i=fg(),w=eu();const yt=Ch(w);var $a={},kc={exports:{}},rn={},bc={exports:{}},jc={};/**
|
|
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 Af;function hg(){return Af||(Af=1,(function(e){function n(Z,Y){var H=Z.length;Z.push(Y);e:for(;0<H;){var N=H-1>>>1,L=Z[N];if(0<l(L,Y))Z[N]=Y,Z[H]=L,H=N;else break e}}function s(Z){return Z.length===0?null:Z[0]}function o(Z){if(Z.length===0)return null;var Y=Z[0],H=Z.pop();if(H!==Y){Z[0]=H;e:for(var N=0,L=Z.length,z=L>>>1;N<z;){var W=2*(N+1)-1,ee=Z[W],le=W+1,he=Z[le];if(0>l(ee,H))le<L&&0>l(he,ee)?(Z[N]=he,Z[le]=H,N=le):(Z[N]=ee,Z[W]=H,N=W);else if(le<L&&0>l(he,H))Z[N]=he,Z[le]=H,N=le;else break e}}return Y}function l(Z,Y){var H=Z.sortIndex-Y.sortIndex;return H!==0?H:Z.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var d=Date,p=d.now();e.unstable_now=function(){return d.now()-p}}var f=[],g=[],y=1,_=null,k=3,x=!1,$=!1,C=!1,j=typeof setTimeout=="function"?setTimeout:null,T=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 E(Z){for(var Y=s(g);Y!==null;){if(Y.callback===null)o(g);else if(Y.startTime<=Z)o(g),Y.sortIndex=Y.expirationTime,n(f,Y);else break;Y=s(g)}}function b(Z){if(C=!1,E(Z),!$)if(s(f)!==null)$=!0,we(P);else{var Y=s(g);Y!==null&&ye(b,Y.startTime-Z)}}function P(Z,Y){$=!1,C&&(C=!1,T(O),O=-1),x=!0;var H=k;try{for(E(Y),_=s(f);_!==null&&(!(_.expirationTime>Y)||Z&&!Q());){var N=_.callback;if(typeof N=="function"){_.callback=null,k=_.priorityLevel;var L=N(_.expirationTime<=Y);Y=e.unstable_now(),typeof L=="function"?_.callback=L:_===s(f)&&o(f),E(Y)}else o(f);_=s(f)}if(_!==null)var z=!0;else{var W=s(g);W!==null&&ye(b,W.startTime-Y),z=!1}return z}finally{_=null,k=H,x=!1}}var V=!1,G=null,O=-1,de=5,re=-1;function Q(){return!(e.unstable_now()-re<de)}function B(){if(G!==null){var Z=e.unstable_now();re=Z;var Y=!0;try{Y=G(!0,Z)}finally{Y?J():(V=!1,G=null)}}else V=!1}var J;if(typeof A=="function")J=function(){A(B)};else if(typeof MessageChannel<"u"){var fe=new MessageChannel,ae=fe.port2;fe.port1.onmessage=B,J=function(){ae.postMessage(null)}}else J=function(){j(B,0)};function we(Z){G=Z,V||(V=!0,J())}function ye(Z,Y){O=j(function(){Z(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(Z){Z.callback=null},e.unstable_continueExecution=function(){$||x||($=!0,we(P))},e.unstable_forceFrameRate=function(Z){0>Z||125<Z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):de=0<Z?Math.floor(1e3/Z):5},e.unstable_getCurrentPriorityLevel=function(){return k},e.unstable_getFirstCallbackNode=function(){return s(f)},e.unstable_next=function(Z){switch(k){case 1:case 2:case 3:var Y=3;break;default:Y=k}var H=k;k=Y;try{return Z()}finally{k=H}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(Z,Y){switch(Z){case 1:case 2:case 3:case 4:case 5:break;default:Z=3}var H=k;k=Z;try{return Y()}finally{k=H}},e.unstable_scheduleCallback=function(Z,Y,H){var N=e.unstable_now();switch(typeof H=="object"&&H!==null?(H=H.delay,H=typeof H=="number"&&0<H?N+H:N):H=N,Z){case 1:var L=-1;break;case 2:L=250;break;case 5:L=1073741823;break;case 4:L=1e4;break;default:L=5e3}return L=H+L,Z={id:y++,callback:Y,priorityLevel:Z,startTime:H,expirationTime:L,sortIndex:-1},H>N?(Z.sortIndex=H,n(g,Z),s(f)===null&&Z===s(g)&&(C?(T(O),O=-1):C=!0,ye(b,H-N))):(Z.sortIndex=L,n(f,Z),$||x||($=!0,we(P))),Z},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(Z){var Y=k;return function(){var H=k;k=Y;try{return Z.apply(this,arguments)}finally{k=H}}}})(jc)),jc}var Tf;function pg(){return Tf||(Tf=1,bc.exports=hg()),bc.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 Rf;function mg(){if(Rf)return rn;Rf=1;var e=eu(),n=pg();function s(t){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+t,a=1;a<arguments.length;a++)r+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+t+"; visit "+r+" 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(t,r){d(t,r),d(t+"Capture",r)}function d(t,r){for(l[t]=r,t=0;t<r.length;t++)o.add(r[t])}var p=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=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(t){return f.call(_,t)?!0:f.call(y,t)?!1:g.test(t)?_[t]=!0:(y[t]=!0,!1)}function x(t,r,a,c){if(a!==null&&a.type===0)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return c?!1:a!==null?!a.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function $(t,r,a,c){if(r===null||typeof r>"u"||x(t,r,a,c))return!0;if(c)return!1;if(a!==null)switch(a.type){case 3:return!r;case 4:return r===!1;case 5:return isNaN(r);case 6:return isNaN(r)||1>r}return!1}function C(t,r,a,c,h,m,v){this.acceptsBooleans=r===2||r===3||r===4,this.attributeName=c,this.attributeNamespace=h,this.mustUseProperty=a,this.propertyName=t,this.type=r,this.sanitizeURL=m,this.removeEmptyString=v}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){j[t]=new C(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var r=t[0];j[r]=new C(r,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){j[t]=new C(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){j[t]=new C(t,2,!1,t,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(t){j[t]=new C(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){j[t]=new C(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){j[t]=new C(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){j[t]=new C(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){j[t]=new C(t,5,!1,t.toLowerCase(),null,!1,!1)});var T=/[\-:]([a-z])/g;function A(t){return t[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(t){var r=t.replace(T,A);j[r]=new C(r,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var r=t.replace(T,A);j[r]=new C(r,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var r=t.replace(T,A);j[r]=new C(r,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){j[t]=new C(t,1,!1,t.toLowerCase(),null,!1,!1)}),j.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){j[t]=new C(t,1,!1,t.toLowerCase(),null,!0,!0)});function E(t,r,a,c){var h=j.hasOwnProperty(r)?j[r]:null;(h!==null?h.type!==0:c||!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&($(r,a,h,c)&&(a=null),c||h===null?k(r)&&(a===null?t.removeAttribute(r):t.setAttribute(r,""+a)):h.mustUseProperty?t[h.propertyName]=a===null?h.type===3?!1:"":a:(r=h.attributeName,c=h.attributeNamespace,a===null?t.removeAttribute(r):(h=h.type,a=h===3||h===4&&a===!0?"":""+a,c?t.setAttributeNS(c,r,a):t.setAttribute(r,a))))}var b=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,P=Symbol.for("react.element"),V=Symbol.for("react.portal"),G=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),de=Symbol.for("react.profiler"),re=Symbol.for("react.provider"),Q=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),fe=Symbol.for("react.suspense_list"),ae=Symbol.for("react.memo"),we=Symbol.for("react.lazy"),ye=Symbol.for("react.offscreen"),Z=Symbol.iterator;function Y(t){return t===null||typeof t!="object"?null:(t=Z&&t[Z]||t["@@iterator"],typeof t=="function"?t:null)}var H=Object.assign,N;function L(t){if(N===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);N=r&&r[1]||""}return`
|
|
34
|
+
`+N+t}var z=!1;function W(t,r){if(!t||z)return"";z=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(r)if(r=function(){throw Error()},Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(r,[])}catch(U){var c=U}Reflect.construct(t,[],r)}else{try{r.call()}catch(U){c=U}t.call(r.prototype)}else{try{throw Error()}catch(U){c=U}t()}}catch(U){if(U&&c&&typeof U.stack=="string"){for(var h=U.stack.split(`
|
|
35
|
+
`),m=c.stack.split(`
|
|
36
|
+
`),v=h.length-1,S=m.length-1;1<=v&&0<=S&&h[v]!==m[S];)S--;for(;1<=v&&0<=S;v--,S--)if(h[v]!==m[S]){if(v!==1||S!==1)do if(v--,S--,0>S||h[v]!==m[S]){var R=`
|
|
37
|
+
`+h[v].replace(" at new "," at ");return t.displayName&&R.includes("<anonymous>")&&(R=R.replace("<anonymous>",t.displayName)),R}while(1<=v&&0<=S);break}}}finally{z=!1,Error.prepareStackTrace=a}return(t=t?t.displayName||t.name:"")?L(t):""}function ee(t){switch(t.tag){case 5:return L(t.type);case 16:return L("Lazy");case 13:return L("Suspense");case 19:return L("SuspenseList");case 0:case 2:case 15:return t=W(t.type,!1),t;case 11:return t=W(t.type.render,!1),t;case 1:return t=W(t.type,!0),t;default:return""}}function le(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case G:return"Fragment";case V:return"Portal";case de:return"Profiler";case O:return"StrictMode";case J:return"Suspense";case fe:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Q:return(t.displayName||"Context")+".Consumer";case re:return(t._context.displayName||"Context")+".Provider";case B:var r=t.render;return t=t.displayName,t||(t=r.displayName||r.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ae:return r=t.displayName||null,r!==null?r:le(t.type)||"Memo";case we:r=t._payload,t=t._init;try{return le(t(r))}catch{}}return null}function he(t){var r=t.type;switch(t.tag){case 24:return"Cache";case 9:return(r.displayName||"Context")+".Consumer";case 10:return(r._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=r.render,t=t.displayName||t.name||"",r.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return r;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return le(r);case 8:return r===O?"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 r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r}return null}function ue(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Ae(t){var r=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function Be(t){var r=Ae(t)?"checked":"value",a=Object.getOwnPropertyDescriptor(t.constructor.prototype,r),c=""+t[r];if(!t.hasOwnProperty(r)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var h=a.get,m=a.set;return Object.defineProperty(t,r,{configurable:!0,get:function(){return h.call(this)},set:function(v){c=""+v,m.call(this,v)}}),Object.defineProperty(t,r,{enumerable:a.enumerable}),{getValue:function(){return c},setValue:function(v){c=""+v},stopTracking:function(){t._valueTracker=null,delete t[r]}}}}function ct(t){t._valueTracker||(t._valueTracker=Be(t))}function te(t){if(!t)return!1;var r=t._valueTracker;if(!r)return!0;var a=r.getValue(),c="";return t&&(c=Ae(t)?t.checked?"true":"false":t.value),t=c,t!==a?(r.setValue(t),!0):!1}function se(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function me(t,r){var a=r.checked;return H({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??t._wrapperState.initialChecked})}function Oe(t,r){var a=r.defaultValue==null?"":r.defaultValue,c=r.checked!=null?r.checked:r.defaultChecked;a=ue(r.value!=null?r.value:a),t._wrapperState={initialChecked:c,initialValue:a,controlled:r.type==="checkbox"||r.type==="radio"?r.checked!=null:r.value!=null}}function ve(t,r){r=r.checked,r!=null&&E(t,"checked",r,!1)}function Me(t,r){ve(t,r);var a=ue(r.value),c=r.type;if(a!=null)c==="number"?(a===0&&t.value===""||t.value!=a)&&(t.value=""+a):t.value!==""+a&&(t.value=""+a);else if(c==="submit"||c==="reset"){t.removeAttribute("value");return}r.hasOwnProperty("value")?tt(t,r.type,a):r.hasOwnProperty("defaultValue")&&tt(t,r.type,ue(r.defaultValue)),r.checked==null&&r.defaultChecked!=null&&(t.defaultChecked=!!r.defaultChecked)}function ze(t,r,a){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var c=r.type;if(!(c!=="submit"&&c!=="reset"||r.value!==void 0&&r.value!==null))return;r=""+t._wrapperState.initialValue,a||r===t.value||(t.value=r),t.defaultValue=r}a=t.name,a!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,a!==""&&(t.name=a)}function tt(t,r,a){(r!=="number"||se(t.ownerDocument)!==t)&&(a==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+a&&(t.defaultValue=""+a))}var K=Array.isArray;function pe(t,r,a,c){if(t=t.options,r){r={};for(var h=0;h<a.length;h++)r["$"+a[h]]=!0;for(a=0;a<t.length;a++)h=r.hasOwnProperty("$"+t[a].value),t[a].selected!==h&&(t[a].selected=h),h&&c&&(t[a].defaultSelected=!0)}else{for(a=""+ue(a),r=null,h=0;h<t.length;h++){if(t[h].value===a){t[h].selected=!0,c&&(t[h].defaultSelected=!0);return}r!==null||t[h].disabled||(r=t[h])}r!==null&&(r.selected=!0)}}function Pe(t,r){if(r.dangerouslySetInnerHTML!=null)throw Error(s(91));return H({},r,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function Ge(t,r){var a=r.value;if(a==null){if(a=r.children,r=r.defaultValue,a!=null){if(r!=null)throw Error(s(92));if(K(a)){if(1<a.length)throw Error(s(93));a=a[0]}r=a}r==null&&(r=""),a=r}t._wrapperState={initialValue:ue(a)}}function Ve(t,r){var a=ue(r.value),c=ue(r.defaultValue);a!=null&&(a=""+a,a!==t.value&&(t.value=a),r.defaultValue==null&&t.defaultValue!==a&&(t.defaultValue=a)),c!=null&&(t.defaultValue=""+c)}function Hn(t){var r=t.textContent;r===t._wrapperState.initialValue&&r!==""&&r!==null&&(t.value=r)}function Lt(t){switch(t){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 Nn(t,r){return t==null||t==="http://www.w3.org/1999/xhtml"?Lt(r):t==="http://www.w3.org/2000/svg"&&r==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var Kn,Cn=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(r,a,c,h){MSApp.execUnsafeLocalFunction(function(){return t(r,a,c,h)})}:t})(function(t,r){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=r;else{for(Kn=Kn||document.createElement("div"),Kn.innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=Kn.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;r.firstChild;)t.appendChild(r.firstChild)}});function Qr(t,r){if(r){var a=t.firstChild;if(a&&a===t.lastChild&&a.nodeType===3){a.nodeValue=r;return}}t.textContent=r}var gr={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},Ya=["Webkit","ms","Moz","O"];Object.keys(gr).forEach(function(t){Ya.forEach(function(r){r=r+t.charAt(0).toUpperCase()+t.substring(1),gr[r]=gr[t]})});function gi(t,r,a){return r==null||typeof r=="boolean"||r===""?"":a||typeof r!="number"||r===0||gr.hasOwnProperty(t)&&gr[t]?(""+r).trim():r+"px"}function Yr(t,r){t=t.style;for(var a in r)if(r.hasOwnProperty(a)){var c=a.indexOf("--")===0,h=gi(a,r[a],c);a==="float"&&(a="cssFloat"),c?t.setProperty(a,h):t[a]=h}}var yi=H({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 wi(t,r){if(r){if(yi[t]&&(r.children!=null||r.dangerouslySetInnerHTML!=null))throw Error(s(137,t));if(r.dangerouslySetInnerHTML!=null){if(r.children!=null)throw Error(s(60));if(typeof r.dangerouslySetInnerHTML!="object"||!("__html"in r.dangerouslySetInnerHTML))throw Error(s(61))}if(r.style!=null&&typeof r.style!="object")throw Error(s(62))}}function Ns(t,r){if(t.indexOf("-")===-1)return typeof r.is=="string";switch(t){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 yr=null;function Kt(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Cs=null,un=null,Pn=null;function wr(t){if(t=Ui(t)){if(typeof Cs!="function")throw Error(s(280));var r=t.stateNode;r&&(r=Bo(r),Cs(t.stateNode,t.type,r))}}function vr(t){un?Pn?Pn.push(t):Pn=[t]:un=t}function vo(){if(un){var t=un,r=Pn;if(Pn=un=null,wr(t),r)for(t=0;t<r.length;t++)wr(r[t])}}function vi(t,r){return t(r)}function $s(){}var Xr=!1;function _o(t,r,a){if(Xr)return t(r,a);Xr=!0;try{return vi(t,r,a)}finally{Xr=!1,(un!==null||Pn!==null)&&($s(),vo())}}function _r(t,r){var a=t.stateNode;if(a===null)return null;var c=Bo(a);if(c===null)return null;a=c[r];e:switch(r){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)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(a&&typeof a!="function")throw Error(s(231,r,typeof a));return a}var Jn=!1;if(p)try{var Zr={};Object.defineProperty(Zr,"passive",{get:function(){Jn=!0}}),window.addEventListener("test",Zr,Zr),window.removeEventListener("test",Zr,Zr)}catch{Jn=!1}function Qn(t,r,a,c,h,m,v,S,R){var U=Array.prototype.slice.call(arguments,3);try{r.apply(a,U)}catch(ne){this.onError(ne)}}var Jt=!1,xr=null,Qt=!1,Es=null,_i={onError:function(t){Jt=!0,xr=t}};function As(t,r,a,c,h,m,v,S,R){Jt=!1,xr=null,Qn.apply(_i,arguments)}function xi(t,r,a,c,h,m,v,S,R){if(As.apply(this,arguments),Jt){if(Jt){var U=xr;Jt=!1,xr=null}else throw Error(s(198));Qt||(Qt=!0,Es=U)}}function Yn(t){var r=t,a=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,(r.flags&4098)!==0&&(a=r.return),t=r.return;while(t)}return r.tag===3?a:null}function Ts(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function ki(t){if(Yn(t)!==t)throw Error(s(188))}function xo(t){var r=t.alternate;if(!r){if(r=Yn(t),r===null)throw Error(s(188));return r!==t?null:t}for(var a=t,c=r;;){var h=a.return;if(h===null)break;var m=h.alternate;if(m===null){if(c=h.return,c!==null){a=c;continue}break}if(h.child===m.child){for(m=h.child;m;){if(m===a)return ki(h),t;if(m===c)return ki(h),r;m=m.sibling}throw Error(s(188))}if(a.return!==c.return)a=h,c=m;else{for(var v=!1,S=h.child;S;){if(S===a){v=!0,a=h,c=m;break}if(S===c){v=!0,c=h,a=m;break}S=S.sibling}if(!v){for(S=m.child;S;){if(S===a){v=!0,a=m,c=h;break}if(S===c){v=!0,c=m,a=h;break}S=S.sibling}if(!v)throw Error(s(189))}}if(a.alternate!==c)throw Error(s(190))}if(a.tag!==3)throw Error(s(188));return a.stateNode.current===a?t:r}function bi(t){return t=xo(t),t!==null?ko(t):null}function ko(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var r=ko(t);if(r!==null)return r;t=t.sibling}return null}var bo=n.unstable_scheduleCallback,On=n.unstable_cancelCallback,We=n.unstable_shouldYield,dn=n.unstable_requestPaint,nt=n.unstable_now,Xn=n.unstable_getCurrentPriorityLevel,kr=n.unstable_ImmediatePriority,qr=n.unstable_UserBlockingPriority,fn=n.unstable_NormalPriority,jo=n.unstable_LowPriority,Zn=n.unstable_IdlePriority,es=null,ht=null;function So(t){if(ht&&typeof ht.onCommitFiberRoot=="function")try{ht.onCommitFiberRoot(es,t,void 0,(t.current.flags&128)===128)}catch{}}var pt=Math.clz32?Math.clz32:ts,No=Math.log,br=Math.LN2;function ts(t){return t>>>=0,t===0?32:31-(No(t)/br|0)|0}var qn=64,Pt=4194304;function jr(t){switch(t&-t){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 t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Rs(t,r){var a=t.pendingLanes;if(a===0)return 0;var c=0,h=t.suspendedLanes,m=t.pingedLanes,v=a&268435455;if(v!==0){var S=v&~h;S!==0?c=jr(S):(m&=v,m!==0&&(c=jr(m)))}else v=a&~h,v!==0?c=jr(v):m!==0&&(c=jr(m));if(c===0)return 0;if(r!==0&&r!==c&&(r&h)===0&&(h=c&-c,m=r&-r,h>=m||h===16&&(m&4194240)!==0))return r;if((c&4)!==0&&(c|=a&16),r=t.entangledLanes,r!==0)for(t=t.entanglements,r&=c;0<r;)a=31-pt(r),h=1<<a,c|=t[a],r&=~h;return c}function Co(t,r){switch(t){case 1:case 2:case 4:return r+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 r+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 ji(t,r){for(var a=t.suspendedLanes,c=t.pingedLanes,h=t.expirationTimes,m=t.pendingLanes;0<m;){var v=31-pt(m),S=1<<v,R=h[v];R===-1?((S&a)===0||(S&c)!==0)&&(h[v]=Co(S,r)):R<=r&&(t.expiredLanes|=S),m&=~S}}function er(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function wt(){var t=qn;return qn<<=1,(qn&4194240)===0&&(qn=64),t}function ns(t){for(var r=[],a=0;31>a;a++)r.push(t);return r}function mt(t,r,a){t.pendingLanes|=r,r!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,r=31-pt(r),t[r]=a}function Si(t,r){var a=t.pendingLanes&~r;t.pendingLanes=r,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=r,t.mutableReadLanes&=r,t.entangledLanes&=r,r=t.entanglements;var c=t.eventTimes;for(t=t.expirationTimes;0<a;){var h=31-pt(a),m=1<<h;r[h]=0,c[h]=-1,t[h]=-1,a&=~m}}function Sr(t,r){var a=t.entangledLanes|=r;for(t=t.entanglements;a;){var c=31-pt(a),h=1<<c;h&r|t[c]&r&&(t[c]|=r),a&=~h}}var He=0;function rs(t){return t&=-t,1<t?4<t?(t&268435455)!==0?16:536870912:4:1}var $o,Is,Ni,Ms,Eo,Ci=!1,Ls=[],Yt=null,Xt=null,$n=null,ss=new Map,Nr=new Map,En=[],Ao="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 $i(t,r){switch(t){case"focusin":case"focusout":Yt=null;break;case"dragenter":case"dragleave":Xt=null;break;case"mouseover":case"mouseout":$n=null;break;case"pointerover":case"pointerout":ss.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nr.delete(r.pointerId)}}function Cr(t,r,a,c,h,m){return t===null||t.nativeEvent!==m?(t={blockedOn:r,domEventName:a,eventSystemFlags:c,nativeEvent:m,targetContainers:[h]},r!==null&&(r=Ui(r),r!==null&&Is(r)),t):(t.eventSystemFlags|=c,r=t.targetContainers,h!==null&&r.indexOf(h)===-1&&r.push(h),t)}function To(t,r,a,c,h){switch(r){case"focusin":return Yt=Cr(Yt,t,r,a,c,h),!0;case"dragenter":return Xt=Cr(Xt,t,r,a,c,h),!0;case"mouseover":return $n=Cr($n,t,r,a,c,h),!0;case"pointerover":var m=h.pointerId;return ss.set(m,Cr(ss.get(m)||null,t,r,a,c,h)),!0;case"gotpointercapture":return m=h.pointerId,Nr.set(m,Cr(Nr.get(m)||null,t,r,a,c,h)),!0}return!1}function Ei(t){var r=ls(t.target);if(r!==null){var a=Yn(r);if(a!==null){if(r=a.tag,r===13){if(r=Ts(a),r!==null){t.blockedOn=r,Eo(t.priority,function(){Ni(a)});return}}else if(r===3&&a.stateNode.current.memoizedState.isDehydrated){t.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}t.blockedOn=null}function is(t){if(t.blockedOn!==null)return!1;for(var r=t.targetContainers;0<r.length;){var a=Os(t.domEventName,t.eventSystemFlags,r[0],t.nativeEvent);if(a===null){a=t.nativeEvent;var c=new a.constructor(a.type,a);yr=c,a.target.dispatchEvent(c),yr=null}else return r=Ui(a),r!==null&&Is(r),t.blockedOn=a,!1;r.shift()}return!0}function Ai(t,r,a){is(t)&&a.delete(r)}function Ro(){Ci=!1,Yt!==null&&is(Yt)&&(Yt=null),Xt!==null&&is(Xt)&&(Xt=null),$n!==null&&is($n)&&($n=null),ss.forEach(Ai),Nr.forEach(Ai)}function $r(t,r){t.blockedOn===r&&(t.blockedOn=null,Ci||(Ci=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,Ro)))}function Er(t){function r(h){return $r(h,t)}if(0<Ls.length){$r(Ls[0],t);for(var a=1;a<Ls.length;a++){var c=Ls[a];c.blockedOn===t&&(c.blockedOn=null)}}for(Yt!==null&&$r(Yt,t),Xt!==null&&$r(Xt,t),$n!==null&&$r($n,t),ss.forEach(r),Nr.forEach(r),a=0;a<En.length;a++)c=En[a],c.blockedOn===t&&(c.blockedOn=null);for(;0<En.length&&(a=En[0],a.blockedOn===null);)Ei(a),a.blockedOn===null&&En.shift()}var tr=b.ReactCurrentBatchConfig,os=!0;function Io(t,r,a,c){var h=He,m=tr.transition;tr.transition=null;try{He=1,Ps(t,r,a,c)}finally{He=h,tr.transition=m}}function Mo(t,r,a,c){var h=He,m=tr.transition;tr.transition=null;try{He=4,Ps(t,r,a,c)}finally{He=h,tr.transition=m}}function Ps(t,r,a,c){if(os){var h=Os(t,r,a,c);if(h===null)ul(t,r,c,as,a),$i(t,c);else if(To(h,t,r,a,c))c.stopPropagation();else if($i(t,c),r&4&&-1<Ao.indexOf(t)){for(;h!==null;){var m=Ui(h);if(m!==null&&$o(m),m=Os(t,r,a,c),m===null&&ul(t,r,c,as,a),m===h)break;h=m}h!==null&&c.stopPropagation()}else ul(t,r,c,null,a)}}var as=null;function Os(t,r,a,c){if(as=null,t=Kt(c),t=ls(t),t!==null)if(r=Yn(t),r===null)t=null;else if(a=r.tag,a===13){if(t=Ts(r),t!==null)return t;t=null}else if(a===3){if(r.stateNode.current.memoizedState.isDehydrated)return r.tag===3?r.stateNode.containerInfo:null;t=null}else r!==t&&(t=null);return as=t,null}function Ti(t){switch(t){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(Xn()){case kr:return 1;case qr:return 4;case fn:case jo:return 16;case Zn:return 536870912;default:return 16}default:return 16}}var I=null,X=null,Ne=null;function De(){if(Ne)return Ne;var t,r=X,a=r.length,c,h="value"in I?I.value:I.textContent,m=h.length;for(t=0;t<a&&r[t]===h[t];t++);var v=a-t;for(c=1;c<=v&&r[a-c]===h[m-c];c++);return Ne=h.slice(t,1<c?1-c:void 0)}function Le(t){var r=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&r===13&&(t=13)):t=r,t===10&&(t=13),32<=t||t===13?t:0}function xt(){return!0}function nr(){return!1}function vt(t){function r(a,c,h,m,v){this._reactName=a,this._targetInst=h,this.type=c,this.nativeEvent=m,this.target=v,this.currentTarget=null;for(var S in t)t.hasOwnProperty(S)&&(a=t[S],this[S]=a?a(m):m[S]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?xt:nr,this.isPropagationStopped=nr,this}return H(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=xt)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=xt)},persist:function(){},isPersistent:xt}),r}var ot={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ot=vt(ot),St=H({},ot,{view:0,detail:0}),rr=vt(St),yn,Xa,Ri,Lo=H({},St,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qa,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Ri&&(Ri&&t.type==="mousemove"?(yn=t.screenX-Ri.screenX,Xa=t.screenY-Ri.screenY):Xa=yn=0,Ri=t),yn)},movementY:function(t){return"movementY"in t?t.movementY:Xa}}),pu=vt(Lo),Pp=H({},Lo,{dataTransfer:0}),Op=vt(Pp),Dp=H({},St,{relatedTarget:0}),Za=vt(Dp),Fp=H({},ot,{animationName:0,elapsedTime:0,pseudoElement:0}),zp=vt(Fp),Wp=H({},ot,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Up=vt(Wp),Bp=H({},ot,{data:0}),mu=vt(Bp),Vp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Gp={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"},Hp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kp(t){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(t):(t=Hp[t])?!!r[t]:!1}function qa(){return Kp}var Jp=H({},St,{key:function(t){if(t.key){var r=Vp[t.key]||t.key;if(r!=="Unidentified")return r}return t.type==="keypress"?(t=Le(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?Gp[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qa,charCode:function(t){return t.type==="keypress"?Le(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Le(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),Qp=vt(Jp),Yp=H({},Lo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),gu=vt(Yp),Xp=H({},St,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qa}),Zp=vt(Xp),qp=H({},ot,{propertyName:0,elapsedTime:0,pseudoElement:0}),em=vt(qp),tm=H({},Lo,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),nm=vt(tm),rm=[9,13,27,32],el=p&&"CompositionEvent"in window,Ii=null;p&&"documentMode"in document&&(Ii=document.documentMode);var sm=p&&"TextEvent"in window&&!Ii,yu=p&&(!el||Ii&&8<Ii&&11>=Ii),wu=" ",vu=!1;function _u(t,r){switch(t){case"keyup":return rm.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xu(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ds=!1;function im(t,r){switch(t){case"compositionend":return xu(r);case"keypress":return r.which!==32?null:(vu=!0,wu);case"textInput":return t=r.data,t===wu&&vu?null:t;default:return null}}function om(t,r){if(Ds)return t==="compositionend"||!el&&_u(t,r)?(t=De(),Ne=X=I=null,Ds=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(r.ctrlKey||r.altKey||r.metaKey)||r.ctrlKey&&r.altKey){if(r.char&&1<r.char.length)return r.char;if(r.which)return String.fromCharCode(r.which)}return null;case"compositionend":return yu&&r.locale!=="ko"?null:r.data;default:return null}}var am={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 ku(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r==="input"?!!am[t.type]:r==="textarea"}function bu(t,r,a,c){vr(c),r=zo(r,"onChange"),0<r.length&&(a=new Ot("onChange","change",null,a,c),t.push({event:a,listeners:r}))}var Mi=null,Li=null;function lm(t){Wu(t,0)}function Po(t){var r=Bs(t);if(te(r))return t}function cm(t,r){if(t==="change")return r}var ju=!1;if(p){var tl;if(p){var nl="oninput"in document;if(!nl){var Su=document.createElement("div");Su.setAttribute("oninput","return;"),nl=typeof Su.oninput=="function"}tl=nl}else tl=!1;ju=tl&&(!document.documentMode||9<document.documentMode)}function Nu(){Mi&&(Mi.detachEvent("onpropertychange",Cu),Li=Mi=null)}function Cu(t){if(t.propertyName==="value"&&Po(Li)){var r=[];bu(r,Li,t,Kt(t)),_o(lm,r)}}function um(t,r,a){t==="focusin"?(Nu(),Mi=r,Li=a,Mi.attachEvent("onpropertychange",Cu)):t==="focusout"&&Nu()}function dm(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Po(Li)}function fm(t,r){if(t==="click")return Po(r)}function hm(t,r){if(t==="input"||t==="change")return Po(r)}function pm(t,r){return t===r&&(t!==0||1/t===1/r)||t!==t&&r!==r}var An=typeof Object.is=="function"?Object.is:pm;function Pi(t,r){if(An(t,r))return!0;if(typeof t!="object"||t===null||typeof r!="object"||r===null)return!1;var a=Object.keys(t),c=Object.keys(r);if(a.length!==c.length)return!1;for(c=0;c<a.length;c++){var h=a[c];if(!f.call(r,h)||!An(t[h],r[h]))return!1}return!0}function $u(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Eu(t,r){var a=$u(t);t=0;for(var c;a;){if(a.nodeType===3){if(c=t+a.textContent.length,t<=r&&c>=r)return{node:a,offset:r-t};t=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=$u(a)}}function Au(t,r){return t&&r?t===r?!0:t&&t.nodeType===3?!1:r&&r.nodeType===3?Au(t,r.parentNode):"contains"in t?t.contains(r):t.compareDocumentPosition?!!(t.compareDocumentPosition(r)&16):!1:!1}function Tu(){for(var t=window,r=se();r instanceof t.HTMLIFrameElement;){try{var a=typeof r.contentWindow.location.href=="string"}catch{a=!1}if(a)t=r.contentWindow;else break;r=se(t.document)}return r}function rl(t){var r=t&&t.nodeName&&t.nodeName.toLowerCase();return r&&(r==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||r==="textarea"||t.contentEditable==="true")}function mm(t){var r=Tu(),a=t.focusedElem,c=t.selectionRange;if(r!==a&&a&&a.ownerDocument&&Au(a.ownerDocument.documentElement,a)){if(c!==null&&rl(a)){if(r=c.start,t=c.end,t===void 0&&(t=r),"selectionStart"in a)a.selectionStart=r,a.selectionEnd=Math.min(t,a.value.length);else if(t=(r=a.ownerDocument||document)&&r.defaultView||window,t.getSelection){t=t.getSelection();var h=a.textContent.length,m=Math.min(c.start,h);c=c.end===void 0?m:Math.min(c.end,h),!t.extend&&m>c&&(h=c,c=m,m=h),h=Eu(a,m);var v=Eu(a,c);h&&v&&(t.rangeCount!==1||t.anchorNode!==h.node||t.anchorOffset!==h.offset||t.focusNode!==v.node||t.focusOffset!==v.offset)&&(r=r.createRange(),r.setStart(h.node,h.offset),t.removeAllRanges(),m>c?(t.addRange(r),t.extend(v.node,v.offset)):(r.setEnd(v.node,v.offset),t.addRange(r)))}}for(r=[],t=a;t=t.parentNode;)t.nodeType===1&&r.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<r.length;a++)t=r[a],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var gm=p&&"documentMode"in document&&11>=document.documentMode,Fs=null,sl=null,Oi=null,il=!1;function Ru(t,r,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;il||Fs==null||Fs!==se(c)||(c=Fs,"selectionStart"in c&&rl(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}),Oi&&Pi(Oi,c)||(Oi=c,c=zo(sl,"onSelect"),0<c.length&&(r=new Ot("onSelect","select",null,r,a),t.push({event:r,listeners:c}),r.target=Fs)))}function Oo(t,r){var a={};return a[t.toLowerCase()]=r.toLowerCase(),a["Webkit"+t]="webkit"+r,a["Moz"+t]="moz"+r,a}var zs={animationend:Oo("Animation","AnimationEnd"),animationiteration:Oo("Animation","AnimationIteration"),animationstart:Oo("Animation","AnimationStart"),transitionend:Oo("Transition","TransitionEnd")},ol={},Iu={};p&&(Iu=document.createElement("div").style,"AnimationEvent"in window||(delete zs.animationend.animation,delete zs.animationiteration.animation,delete zs.animationstart.animation),"TransitionEvent"in window||delete zs.transitionend.transition);function Do(t){if(ol[t])return ol[t];if(!zs[t])return t;var r=zs[t],a;for(a in r)if(r.hasOwnProperty(a)&&a in Iu)return ol[t]=r[a];return t}var Mu=Do("animationend"),Lu=Do("animationiteration"),Pu=Do("animationstart"),Ou=Do("transitionend"),Du=new Map,Fu="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 Ar(t,r){Du.set(t,r),u(r,[t])}for(var al=0;al<Fu.length;al++){var ll=Fu[al],ym=ll.toLowerCase(),wm=ll[0].toUpperCase()+ll.slice(1);Ar(ym,"on"+wm)}Ar(Mu,"onAnimationEnd"),Ar(Lu,"onAnimationIteration"),Ar(Pu,"onAnimationStart"),Ar("dblclick","onDoubleClick"),Ar("focusin","onFocus"),Ar("focusout","onBlur"),Ar(Ou,"onTransitionEnd"),d("onMouseEnter",["mouseout","mouseover"]),d("onMouseLeave",["mouseout","mouseover"]),d("onPointerEnter",["pointerout","pointerover"]),d("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 Di="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(" "),vm=new Set("cancel close invalid load scroll toggle".split(" ").concat(Di));function zu(t,r,a){var c=t.type||"unknown-event";t.currentTarget=a,xi(c,r,void 0,t),t.currentTarget=null}function Wu(t,r){r=(r&4)!==0;for(var a=0;a<t.length;a++){var c=t[a],h=c.event;c=c.listeners;e:{var m=void 0;if(r)for(var v=c.length-1;0<=v;v--){var S=c[v],R=S.instance,U=S.currentTarget;if(S=S.listener,R!==m&&h.isPropagationStopped())break e;zu(h,S,U),m=R}else for(v=0;v<c.length;v++){if(S=c[v],R=S.instance,U=S.currentTarget,S=S.listener,R!==m&&h.isPropagationStopped())break e;zu(h,S,U),m=R}}}if(Qt)throw t=Es,Qt=!1,Es=null,t}function rt(t,r){var a=r[gl];a===void 0&&(a=r[gl]=new Set);var c=t+"__bubble";a.has(c)||(Uu(r,t,2,!1),a.add(c))}function cl(t,r,a){var c=0;r&&(c|=4),Uu(a,t,c,r)}var Fo="_reactListening"+Math.random().toString(36).slice(2);function Fi(t){if(!t[Fo]){t[Fo]=!0,o.forEach(function(a){a!=="selectionchange"&&(vm.has(a)||cl(a,!1,t),cl(a,!0,t))});var r=t.nodeType===9?t:t.ownerDocument;r===null||r[Fo]||(r[Fo]=!0,cl("selectionchange",!1,r))}}function Uu(t,r,a,c){switch(Ti(r)){case 1:var h=Io;break;case 4:h=Mo;break;default:h=Ps}a=h.bind(null,r,a,t),h=void 0,!Jn||r!=="touchstart"&&r!=="touchmove"&&r!=="wheel"||(h=!0),c?h!==void 0?t.addEventListener(r,a,{capture:!0,passive:h}):t.addEventListener(r,a,!0):h!==void 0?t.addEventListener(r,a,{passive:h}):t.addEventListener(r,a,!1)}function ul(t,r,a,c,h){var m=c;if((r&1)===0&&(r&2)===0&&c!==null)e:for(;;){if(c===null)return;var v=c.tag;if(v===3||v===4){var S=c.stateNode.containerInfo;if(S===h||S.nodeType===8&&S.parentNode===h)break;if(v===4)for(v=c.return;v!==null;){var R=v.tag;if((R===3||R===4)&&(R=v.stateNode.containerInfo,R===h||R.nodeType===8&&R.parentNode===h))return;v=v.return}for(;S!==null;){if(v=ls(S),v===null)return;if(R=v.tag,R===5||R===6){c=m=v;continue e}S=S.parentNode}}c=c.return}_o(function(){var U=m,ne=Kt(a),ie=[];e:{var q=Du.get(t);if(q!==void 0){var ge=Ot,xe=t;switch(t){case"keypress":if(Le(a)===0)break e;case"keydown":case"keyup":ge=Qp;break;case"focusin":xe="focus",ge=Za;break;case"focusout":xe="blur",ge=Za;break;case"beforeblur":case"afterblur":ge=Za;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ge=pu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ge=Op;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ge=Zp;break;case Mu:case Lu:case Pu:ge=zp;break;case Ou:ge=em;break;case"scroll":ge=rr;break;case"wheel":ge=nm;break;case"copy":case"cut":case"paste":ge=Up;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ge=gu}var ke=(r&4)!==0,gt=!ke&&t==="scroll",D=ke?q!==null?q+"Capture":null:q;ke=[];for(var M=U,F;M!==null;){F=M;var ce=F.stateNode;if(F.tag===5&&ce!==null&&(F=ce,D!==null&&(ce=_r(M,D),ce!=null&&ke.push(zi(M,ce,F)))),gt)break;M=M.return}0<ke.length&&(q=new ge(q,xe,null,a,ne),ie.push({event:q,listeners:ke}))}}if((r&7)===0){e:{if(q=t==="mouseover"||t==="pointerover",ge=t==="mouseout"||t==="pointerout",q&&a!==yr&&(xe=a.relatedTarget||a.fromElement)&&(ls(xe)||xe[sr]))break e;if((ge||q)&&(q=ne.window===ne?ne:(q=ne.ownerDocument)?q.defaultView||q.parentWindow:window,ge?(xe=a.relatedTarget||a.toElement,ge=U,xe=xe?ls(xe):null,xe!==null&&(gt=Yn(xe),xe!==gt||xe.tag!==5&&xe.tag!==6)&&(xe=null)):(ge=null,xe=U),ge!==xe)){if(ke=pu,ce="onMouseLeave",D="onMouseEnter",M="mouse",(t==="pointerout"||t==="pointerover")&&(ke=gu,ce="onPointerLeave",D="onPointerEnter",M="pointer"),gt=ge==null?q:Bs(ge),F=xe==null?q:Bs(xe),q=new ke(ce,M+"leave",ge,a,ne),q.target=gt,q.relatedTarget=F,ce=null,ls(ne)===U&&(ke=new ke(D,M+"enter",xe,a,ne),ke.target=F,ke.relatedTarget=gt,ce=ke),gt=ce,ge&&xe)t:{for(ke=ge,D=xe,M=0,F=ke;F;F=Ws(F))M++;for(F=0,ce=D;ce;ce=Ws(ce))F++;for(;0<M-F;)ke=Ws(ke),M--;for(;0<F-M;)D=Ws(D),F--;for(;M--;){if(ke===D||D!==null&&ke===D.alternate)break t;ke=Ws(ke),D=Ws(D)}ke=null}else ke=null;ge!==null&&Bu(ie,q,ge,ke,!1),xe!==null&>!==null&&Bu(ie,gt,xe,ke,!0)}}e:{if(q=U?Bs(U):window,ge=q.nodeName&&q.nodeName.toLowerCase(),ge==="select"||ge==="input"&&q.type==="file")var be=cm;else if(ku(q))if(ju)be=hm;else{be=dm;var Ce=um}else(ge=q.nodeName)&&ge.toLowerCase()==="input"&&(q.type==="checkbox"||q.type==="radio")&&(be=fm);if(be&&(be=be(t,U))){bu(ie,be,a,ne);break e}Ce&&Ce(t,q,U),t==="focusout"&&(Ce=q._wrapperState)&&Ce.controlled&&q.type==="number"&&tt(q,"number",q.value)}switch(Ce=U?Bs(U):window,t){case"focusin":(ku(Ce)||Ce.contentEditable==="true")&&(Fs=Ce,sl=U,Oi=null);break;case"focusout":Oi=sl=Fs=null;break;case"mousedown":il=!0;break;case"contextmenu":case"mouseup":case"dragend":il=!1,Ru(ie,a,ne);break;case"selectionchange":if(gm)break;case"keydown":case"keyup":Ru(ie,a,ne)}var $e;if(el)e:{switch(t){case"compositionstart":var Re="onCompositionStart";break e;case"compositionend":Re="onCompositionEnd";break e;case"compositionupdate":Re="onCompositionUpdate";break e}Re=void 0}else Ds?_u(t,a)&&(Re="onCompositionEnd"):t==="keydown"&&a.keyCode===229&&(Re="onCompositionStart");Re&&(yu&&a.locale!=="ko"&&(Ds||Re!=="onCompositionStart"?Re==="onCompositionEnd"&&Ds&&($e=De()):(I=ne,X="value"in I?I.value:I.textContent,Ds=!0)),Ce=zo(U,Re),0<Ce.length&&(Re=new mu(Re,t,null,a,ne),ie.push({event:Re,listeners:Ce}),$e?Re.data=$e:($e=xu(a),$e!==null&&(Re.data=$e)))),($e=sm?im(t,a):om(t,a))&&(U=zo(U,"onBeforeInput"),0<U.length&&(ne=new mu("onBeforeInput","beforeinput",null,a,ne),ie.push({event:ne,listeners:U}),ne.data=$e))}Wu(ie,r)})}function zi(t,r,a){return{instance:t,listener:r,currentTarget:a}}function zo(t,r){for(var a=r+"Capture",c=[];t!==null;){var h=t,m=h.stateNode;h.tag===5&&m!==null&&(h=m,m=_r(t,a),m!=null&&c.unshift(zi(t,m,h)),m=_r(t,r),m!=null&&c.push(zi(t,m,h))),t=t.return}return c}function Ws(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function Bu(t,r,a,c,h){for(var m=r._reactName,v=[];a!==null&&a!==c;){var S=a,R=S.alternate,U=S.stateNode;if(R!==null&&R===c)break;S.tag===5&&U!==null&&(S=U,h?(R=_r(a,m),R!=null&&v.unshift(zi(a,R,S))):h||(R=_r(a,m),R!=null&&v.push(zi(a,R,S)))),a=a.return}v.length!==0&&t.push({event:r,listeners:v})}var _m=/\r\n?/g,xm=/\u0000|\uFFFD/g;function Vu(t){return(typeof t=="string"?t:""+t).replace(_m,`
|
|
38
|
+
`).replace(xm,"")}function Wo(t,r,a){if(r=Vu(r),Vu(t)!==r&&a)throw Error(s(425))}function Uo(){}var dl=null,fl=null;function hl(t,r){return t==="textarea"||t==="noscript"||typeof r.children=="string"||typeof r.children=="number"||typeof r.dangerouslySetInnerHTML=="object"&&r.dangerouslySetInnerHTML!==null&&r.dangerouslySetInnerHTML.__html!=null}var pl=typeof setTimeout=="function"?setTimeout:void 0,km=typeof clearTimeout=="function"?clearTimeout:void 0,Gu=typeof Promise=="function"?Promise:void 0,bm=typeof queueMicrotask=="function"?queueMicrotask:typeof Gu<"u"?function(t){return Gu.resolve(null).then(t).catch(jm)}:pl;function jm(t){setTimeout(function(){throw t})}function ml(t,r){var a=r,c=0;do{var h=a.nextSibling;if(t.removeChild(a),h&&h.nodeType===8)if(a=h.data,a==="/$"){if(c===0){t.removeChild(h),Er(r);return}c--}else a!=="$"&&a!=="$?"&&a!=="$!"||c++;a=h}while(a);Er(r)}function Tr(t){for(;t!=null;t=t.nextSibling){var r=t.nodeType;if(r===1||r===3)break;if(r===8){if(r=t.data,r==="$"||r==="$!"||r==="$?")break;if(r==="/$")return null}}return t}function Hu(t){t=t.previousSibling;for(var r=0;t;){if(t.nodeType===8){var a=t.data;if(a==="$"||a==="$!"||a==="$?"){if(r===0)return t;r--}else a==="/$"&&r++}t=t.previousSibling}return null}var Us=Math.random().toString(36).slice(2),Dn="__reactFiber$"+Us,Wi="__reactProps$"+Us,sr="__reactContainer$"+Us,gl="__reactEvents$"+Us,Sm="__reactListeners$"+Us,Nm="__reactHandles$"+Us;function ls(t){var r=t[Dn];if(r)return r;for(var a=t.parentNode;a;){if(r=a[sr]||a[Dn]){if(a=r.alternate,r.child!==null||a!==null&&a.child!==null)for(t=Hu(t);t!==null;){if(a=t[Dn])return a;t=Hu(t)}return r}t=a,a=t.parentNode}return null}function Ui(t){return t=t[Dn]||t[sr],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function Bs(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(s(33))}function Bo(t){return t[Wi]||null}var yl=[],Vs=-1;function Rr(t){return{current:t}}function st(t){0>Vs||(t.current=yl[Vs],yl[Vs]=null,Vs--)}function et(t,r){Vs++,yl[Vs]=t.current,t.current=r}var Ir={},Dt=Rr(Ir),Zt=Rr(!1),cs=Ir;function Gs(t,r){var a=t.type.contextTypes;if(!a)return Ir;var c=t.stateNode;if(c&&c.__reactInternalMemoizedUnmaskedChildContext===r)return c.__reactInternalMemoizedMaskedChildContext;var h={},m;for(m in a)h[m]=r[m];return c&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=r,t.__reactInternalMemoizedMaskedChildContext=h),h}function qt(t){return t=t.childContextTypes,t!=null}function Vo(){st(Zt),st(Dt)}function Ku(t,r,a){if(Dt.current!==Ir)throw Error(s(168));et(Dt,r),et(Zt,a)}function Ju(t,r,a){var c=t.stateNode;if(r=r.childContextTypes,typeof c.getChildContext!="function")return a;c=c.getChildContext();for(var h in c)if(!(h in r))throw Error(s(108,he(t)||"Unknown",h));return H({},a,c)}function Go(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Ir,cs=Dt.current,et(Dt,t),et(Zt,Zt.current),!0}function Qu(t,r,a){var c=t.stateNode;if(!c)throw Error(s(169));a?(t=Ju(t,r,cs),c.__reactInternalMemoizedMergedChildContext=t,st(Zt),st(Dt),et(Dt,t)):st(Zt),et(Zt,a)}var ir=null,Ho=!1,wl=!1;function Yu(t){ir===null?ir=[t]:ir.push(t)}function Cm(t){Ho=!0,Yu(t)}function Mr(){if(!wl&&ir!==null){wl=!0;var t=0,r=He;try{var a=ir;for(He=1;t<a.length;t++){var c=a[t];do c=c(!0);while(c!==null)}ir=null,Ho=!1}catch(h){throw ir!==null&&(ir=ir.slice(t+1)),bo(kr,Mr),h}finally{He=r,wl=!1}}return null}var Hs=[],Ks=0,Ko=null,Jo=0,wn=[],vn=0,us=null,or=1,ar="";function ds(t,r){Hs[Ks++]=Jo,Hs[Ks++]=Ko,Ko=t,Jo=r}function Xu(t,r,a){wn[vn++]=or,wn[vn++]=ar,wn[vn++]=us,us=t;var c=or;t=ar;var h=32-pt(c)-1;c&=~(1<<h),a+=1;var m=32-pt(r)+h;if(30<m){var v=h-h%5;m=(c&(1<<v)-1).toString(32),c>>=v,h-=v,or=1<<32-pt(r)+h|a<<h|c,ar=m+t}else or=1<<m|a<<h|c,ar=t}function vl(t){t.return!==null&&(ds(t,1),Xu(t,1,0))}function _l(t){for(;t===Ko;)Ko=Hs[--Ks],Hs[Ks]=null,Jo=Hs[--Ks],Hs[Ks]=null;for(;t===us;)us=wn[--vn],wn[vn]=null,ar=wn[--vn],wn[vn]=null,or=wn[--vn],wn[vn]=null}var hn=null,pn=null,it=!1,Tn=null;function Zu(t,r){var a=bn(5,null,null,0);a.elementType="DELETED",a.stateNode=r,a.return=t,r=t.deletions,r===null?(t.deletions=[a],t.flags|=16):r.push(a)}function qu(t,r){switch(t.tag){case 5:var a=t.type;return r=r.nodeType!==1||a.toLowerCase()!==r.nodeName.toLowerCase()?null:r,r!==null?(t.stateNode=r,hn=t,pn=Tr(r.firstChild),!0):!1;case 6:return r=t.pendingProps===""||r.nodeType!==3?null:r,r!==null?(t.stateNode=r,hn=t,pn=null,!0):!1;case 13:return r=r.nodeType!==8?null:r,r!==null?(a=us!==null?{id:or,overflow:ar}:null,t.memoizedState={dehydrated:r,treeContext:a,retryLane:1073741824},a=bn(18,null,null,0),a.stateNode=r,a.return=t,t.child=a,hn=t,pn=null,!0):!1;default:return!1}}function xl(t){return(t.mode&1)!==0&&(t.flags&128)===0}function kl(t){if(it){var r=pn;if(r){var a=r;if(!qu(t,r)){if(xl(t))throw Error(s(418));r=Tr(a.nextSibling);var c=hn;r&&qu(t,r)?Zu(c,a):(t.flags=t.flags&-4097|2,it=!1,hn=t)}}else{if(xl(t))throw Error(s(418));t.flags=t.flags&-4097|2,it=!1,hn=t}}}function ed(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;hn=t}function Qo(t){if(t!==hn)return!1;if(!it)return ed(t),it=!0,!1;var r;if((r=t.tag!==3)&&!(r=t.tag!==5)&&(r=t.type,r=r!=="head"&&r!=="body"&&!hl(t.type,t.memoizedProps)),r&&(r=pn)){if(xl(t))throw td(),Error(s(418));for(;r;)Zu(t,r),r=Tr(r.nextSibling)}if(ed(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(317));e:{for(t=t.nextSibling,r=0;t;){if(t.nodeType===8){var a=t.data;if(a==="/$"){if(r===0){pn=Tr(t.nextSibling);break e}r--}else a!=="$"&&a!=="$!"&&a!=="$?"||r++}t=t.nextSibling}pn=null}}else pn=hn?Tr(t.stateNode.nextSibling):null;return!0}function td(){for(var t=pn;t;)t=Tr(t.nextSibling)}function Js(){pn=hn=null,it=!1}function bl(t){Tn===null?Tn=[t]:Tn.push(t)}var $m=b.ReactCurrentBatchConfig;function Bi(t,r,a){if(t=a.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(s(309));var c=a.stateNode}if(!c)throw Error(s(147,t));var h=c,m=""+t;return r!==null&&r.ref!==null&&typeof r.ref=="function"&&r.ref._stringRef===m?r.ref:(r=function(v){var S=h.refs;v===null?delete S[m]:S[m]=v},r._stringRef=m,r)}if(typeof t!="string")throw Error(s(284));if(!a._owner)throw Error(s(290,t))}return t}function Yo(t,r){throw t=Object.prototype.toString.call(r),Error(s(31,t==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":t))}function nd(t){var r=t._init;return r(t._payload)}function rd(t){function r(D,M){if(t){var F=D.deletions;F===null?(D.deletions=[M],D.flags|=16):F.push(M)}}function a(D,M){if(!t)return null;for(;M!==null;)r(D,M),M=M.sibling;return null}function c(D,M){for(D=new Map;M!==null;)M.key!==null?D.set(M.key,M):D.set(M.index,M),M=M.sibling;return D}function h(D,M){return D=Ur(D,M),D.index=0,D.sibling=null,D}function m(D,M,F){return D.index=F,t?(F=D.alternate,F!==null?(F=F.index,F<M?(D.flags|=2,M):F):(D.flags|=2,M)):(D.flags|=1048576,M)}function v(D){return t&&D.alternate===null&&(D.flags|=2),D}function S(D,M,F,ce){return M===null||M.tag!==6?(M=pc(F,D.mode,ce),M.return=D,M):(M=h(M,F),M.return=D,M)}function R(D,M,F,ce){var be=F.type;return be===G?ne(D,M,F.props.children,ce,F.key):M!==null&&(M.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===we&&nd(be)===M.type)?(ce=h(M,F.props),ce.ref=Bi(D,M,F),ce.return=D,ce):(ce=_a(F.type,F.key,F.props,null,D.mode,ce),ce.ref=Bi(D,M,F),ce.return=D,ce)}function U(D,M,F,ce){return M===null||M.tag!==4||M.stateNode.containerInfo!==F.containerInfo||M.stateNode.implementation!==F.implementation?(M=mc(F,D.mode,ce),M.return=D,M):(M=h(M,F.children||[]),M.return=D,M)}function ne(D,M,F,ce,be){return M===null||M.tag!==7?(M=vs(F,D.mode,ce,be),M.return=D,M):(M=h(M,F),M.return=D,M)}function ie(D,M,F){if(typeof M=="string"&&M!==""||typeof M=="number")return M=pc(""+M,D.mode,F),M.return=D,M;if(typeof M=="object"&&M!==null){switch(M.$$typeof){case P:return F=_a(M.type,M.key,M.props,null,D.mode,F),F.ref=Bi(D,null,M),F.return=D,F;case V:return M=mc(M,D.mode,F),M.return=D,M;case we:var ce=M._init;return ie(D,ce(M._payload),F)}if(K(M)||Y(M))return M=vs(M,D.mode,F,null),M.return=D,M;Yo(D,M)}return null}function q(D,M,F,ce){var be=M!==null?M.key:null;if(typeof F=="string"&&F!==""||typeof F=="number")return be!==null?null:S(D,M,""+F,ce);if(typeof F=="object"&&F!==null){switch(F.$$typeof){case P:return F.key===be?R(D,M,F,ce):null;case V:return F.key===be?U(D,M,F,ce):null;case we:return be=F._init,q(D,M,be(F._payload),ce)}if(K(F)||Y(F))return be!==null?null:ne(D,M,F,ce,null);Yo(D,F)}return null}function ge(D,M,F,ce,be){if(typeof ce=="string"&&ce!==""||typeof ce=="number")return D=D.get(F)||null,S(M,D,""+ce,be);if(typeof ce=="object"&&ce!==null){switch(ce.$$typeof){case P:return D=D.get(ce.key===null?F:ce.key)||null,R(M,D,ce,be);case V:return D=D.get(ce.key===null?F:ce.key)||null,U(M,D,ce,be);case we:var Ce=ce._init;return ge(D,M,F,Ce(ce._payload),be)}if(K(ce)||Y(ce))return D=D.get(F)||null,ne(M,D,ce,be,null);Yo(M,ce)}return null}function xe(D,M,F,ce){for(var be=null,Ce=null,$e=M,Re=M=0,$t=null;$e!==null&&Re<F.length;Re++){$e.index>Re?($t=$e,$e=null):$t=$e.sibling;var Je=q(D,$e,F[Re],ce);if(Je===null){$e===null&&($e=$t);break}t&&$e&&Je.alternate===null&&r(D,$e),M=m(Je,M,Re),Ce===null?be=Je:Ce.sibling=Je,Ce=Je,$e=$t}if(Re===F.length)return a(D,$e),it&&ds(D,Re),be;if($e===null){for(;Re<F.length;Re++)$e=ie(D,F[Re],ce),$e!==null&&(M=m($e,M,Re),Ce===null?be=$e:Ce.sibling=$e,Ce=$e);return it&&ds(D,Re),be}for($e=c(D,$e);Re<F.length;Re++)$t=ge($e,D,Re,F[Re],ce),$t!==null&&(t&&$t.alternate!==null&&$e.delete($t.key===null?Re:$t.key),M=m($t,M,Re),Ce===null?be=$t:Ce.sibling=$t,Ce=$t);return t&&$e.forEach(function(Br){return r(D,Br)}),it&&ds(D,Re),be}function ke(D,M,F,ce){var be=Y(F);if(typeof be!="function")throw Error(s(150));if(F=be.call(F),F==null)throw Error(s(151));for(var Ce=be=null,$e=M,Re=M=0,$t=null,Je=F.next();$e!==null&&!Je.done;Re++,Je=F.next()){$e.index>Re?($t=$e,$e=null):$t=$e.sibling;var Br=q(D,$e,Je.value,ce);if(Br===null){$e===null&&($e=$t);break}t&&$e&&Br.alternate===null&&r(D,$e),M=m(Br,M,Re),Ce===null?be=Br:Ce.sibling=Br,Ce=Br,$e=$t}if(Je.done)return a(D,$e),it&&ds(D,Re),be;if($e===null){for(;!Je.done;Re++,Je=F.next())Je=ie(D,Je.value,ce),Je!==null&&(M=m(Je,M,Re),Ce===null?be=Je:Ce.sibling=Je,Ce=Je);return it&&ds(D,Re),be}for($e=c(D,$e);!Je.done;Re++,Je=F.next())Je=ge($e,D,Re,Je.value,ce),Je!==null&&(t&&Je.alternate!==null&&$e.delete(Je.key===null?Re:Je.key),M=m(Je,M,Re),Ce===null?be=Je:Ce.sibling=Je,Ce=Je);return t&&$e.forEach(function(ag){return r(D,ag)}),it&&ds(D,Re),be}function gt(D,M,F,ce){if(typeof F=="object"&&F!==null&&F.type===G&&F.key===null&&(F=F.props.children),typeof F=="object"&&F!==null){switch(F.$$typeof){case P:e:{for(var be=F.key,Ce=M;Ce!==null;){if(Ce.key===be){if(be=F.type,be===G){if(Ce.tag===7){a(D,Ce.sibling),M=h(Ce,F.props.children),M.return=D,D=M;break e}}else if(Ce.elementType===be||typeof be=="object"&&be!==null&&be.$$typeof===we&&nd(be)===Ce.type){a(D,Ce.sibling),M=h(Ce,F.props),M.ref=Bi(D,Ce,F),M.return=D,D=M;break e}a(D,Ce);break}else r(D,Ce);Ce=Ce.sibling}F.type===G?(M=vs(F.props.children,D.mode,ce,F.key),M.return=D,D=M):(ce=_a(F.type,F.key,F.props,null,D.mode,ce),ce.ref=Bi(D,M,F),ce.return=D,D=ce)}return v(D);case V:e:{for(Ce=F.key;M!==null;){if(M.key===Ce)if(M.tag===4&&M.stateNode.containerInfo===F.containerInfo&&M.stateNode.implementation===F.implementation){a(D,M.sibling),M=h(M,F.children||[]),M.return=D,D=M;break e}else{a(D,M);break}else r(D,M);M=M.sibling}M=mc(F,D.mode,ce),M.return=D,D=M}return v(D);case we:return Ce=F._init,gt(D,M,Ce(F._payload),ce)}if(K(F))return xe(D,M,F,ce);if(Y(F))return ke(D,M,F,ce);Yo(D,F)}return typeof F=="string"&&F!==""||typeof F=="number"?(F=""+F,M!==null&&M.tag===6?(a(D,M.sibling),M=h(M,F),M.return=D,D=M):(a(D,M),M=pc(F,D.mode,ce),M.return=D,D=M),v(D)):a(D,M)}return gt}var Qs=rd(!0),sd=rd(!1),Xo=Rr(null),Zo=null,Ys=null,jl=null;function Sl(){jl=Ys=Zo=null}function Nl(t){var r=Xo.current;st(Xo),t._currentValue=r}function Cl(t,r,a){for(;t!==null;){var c=t.alternate;if((t.childLanes&r)!==r?(t.childLanes|=r,c!==null&&(c.childLanes|=r)):c!==null&&(c.childLanes&r)!==r&&(c.childLanes|=r),t===a)break;t=t.return}}function Xs(t,r){Zo=t,jl=Ys=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&r)!==0&&(en=!0),t.firstContext=null)}function _n(t){var r=t._currentValue;if(jl!==t)if(t={context:t,memoizedValue:r,next:null},Ys===null){if(Zo===null)throw Error(s(308));Ys=t,Zo.dependencies={lanes:0,firstContext:t}}else Ys=Ys.next=t;return r}var fs=null;function $l(t){fs===null?fs=[t]:fs.push(t)}function id(t,r,a,c){var h=r.interleaved;return h===null?(a.next=a,$l(r)):(a.next=h.next,h.next=a),r.interleaved=a,lr(t,c)}function lr(t,r){t.lanes|=r;var a=t.alternate;for(a!==null&&(a.lanes|=r),a=t,t=t.return;t!==null;)t.childLanes|=r,a=t.alternate,a!==null&&(a.childLanes|=r),a=t,t=t.return;return a.tag===3?a.stateNode:null}var Lr=!1;function El(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function od(t,r){t=t.updateQueue,r.updateQueue===t&&(r.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function cr(t,r){return{eventTime:t,lane:r,tag:0,payload:null,callback:null,next:null}}function Pr(t,r,a){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Ke&2)!==0){var h=c.pending;return h===null?r.next=r:(r.next=h.next,h.next=r),c.pending=r,lr(t,a)}return h=c.interleaved,h===null?(r.next=r,$l(c)):(r.next=h.next,h.next=r),c.interleaved=r,lr(t,a)}function qo(t,r,a){if(r=r.updateQueue,r!==null&&(r=r.shared,(a&4194240)!==0)){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Sr(t,a)}}function ad(t,r){var a=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var h=null,m=null;if(a=a.firstBaseUpdate,a!==null){do{var v={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};m===null?h=m=v:m=m.next=v,a=a.next}while(a!==null);m===null?h=m=r:m=m.next=r}else h=m=r;a={baseState:c.baseState,firstBaseUpdate:h,lastBaseUpdate:m,shared:c.shared,effects:c.effects},t.updateQueue=a;return}t=a.lastBaseUpdate,t===null?a.firstBaseUpdate=r:t.next=r,a.lastBaseUpdate=r}function ea(t,r,a,c){var h=t.updateQueue;Lr=!1;var m=h.firstBaseUpdate,v=h.lastBaseUpdate,S=h.shared.pending;if(S!==null){h.shared.pending=null;var R=S,U=R.next;R.next=null,v===null?m=U:v.next=U,v=R;var ne=t.alternate;ne!==null&&(ne=ne.updateQueue,S=ne.lastBaseUpdate,S!==v&&(S===null?ne.firstBaseUpdate=U:S.next=U,ne.lastBaseUpdate=R))}if(m!==null){var ie=h.baseState;v=0,ne=U=R=null,S=m;do{var q=S.lane,ge=S.eventTime;if((c&q)===q){ne!==null&&(ne=ne.next={eventTime:ge,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var xe=t,ke=S;switch(q=r,ge=a,ke.tag){case 1:if(xe=ke.payload,typeof xe=="function"){ie=xe.call(ge,ie,q);break e}ie=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=ke.payload,q=typeof xe=="function"?xe.call(ge,ie,q):xe,q==null)break e;ie=H({},ie,q);break e;case 2:Lr=!0}}S.callback!==null&&S.lane!==0&&(t.flags|=64,q=h.effects,q===null?h.effects=[S]:q.push(S))}else ge={eventTime:ge,lane:q,tag:S.tag,payload:S.payload,callback:S.callback,next:null},ne===null?(U=ne=ge,R=ie):ne=ne.next=ge,v|=q;if(S=S.next,S===null){if(S=h.shared.pending,S===null)break;q=S,S=q.next,q.next=null,h.lastBaseUpdate=q,h.shared.pending=null}}while(!0);if(ne===null&&(R=ie),h.baseState=R,h.firstBaseUpdate=U,h.lastBaseUpdate=ne,r=h.shared.interleaved,r!==null){h=r;do v|=h.lane,h=h.next;while(h!==r)}else m===null&&(h.shared.lanes=0);ms|=v,t.lanes=v,t.memoizedState=ie}}function ld(t,r,a){if(t=r.effects,r.effects=null,t!==null)for(r=0;r<t.length;r++){var c=t[r],h=c.callback;if(h!==null){if(c.callback=null,c=a,typeof h!="function")throw Error(s(191,h));h.call(c)}}}var Vi={},Fn=Rr(Vi),Gi=Rr(Vi),Hi=Rr(Vi);function hs(t){if(t===Vi)throw Error(s(174));return t}function Al(t,r){switch(et(Hi,r),et(Gi,t),et(Fn,Vi),t=r.nodeType,t){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:Nn(null,"");break;default:t=t===8?r.parentNode:r,r=t.namespaceURI||null,t=t.tagName,r=Nn(r,t)}st(Fn),et(Fn,r)}function Zs(){st(Fn),st(Gi),st(Hi)}function cd(t){hs(Hi.current);var r=hs(Fn.current),a=Nn(r,t.type);r!==a&&(et(Gi,t),et(Fn,a))}function Tl(t){Gi.current===t&&(st(Fn),st(Gi))}var at=Rr(0);function ta(t){for(var r=t;r!==null;){if(r.tag===13){var a=r.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return r}else if(r.tag===19&&r.memoizedProps.revealOrder!==void 0){if((r.flags&128)!==0)return r}else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}var Rl=[];function Il(){for(var t=0;t<Rl.length;t++)Rl[t]._workInProgressVersionPrimary=null;Rl.length=0}var na=b.ReactCurrentDispatcher,Ml=b.ReactCurrentBatchConfig,ps=0,lt=null,kt=null,Nt=null,ra=!1,Ki=!1,Ji=0,Em=0;function Ft(){throw Error(s(321))}function Ll(t,r){if(r===null)return!1;for(var a=0;a<r.length&&a<t.length;a++)if(!An(t[a],r[a]))return!1;return!0}function Pl(t,r,a,c,h,m){if(ps=m,lt=r,r.memoizedState=null,r.updateQueue=null,r.lanes=0,na.current=t===null||t.memoizedState===null?Im:Mm,t=a(c,h),Ki){m=0;do{if(Ki=!1,Ji=0,25<=m)throw Error(s(301));m+=1,Nt=kt=null,r.updateQueue=null,na.current=Lm,t=a(c,h)}while(Ki)}if(na.current=oa,r=kt!==null&&kt.next!==null,ps=0,Nt=kt=lt=null,ra=!1,r)throw Error(s(300));return t}function Ol(){var t=Ji!==0;return Ji=0,t}function zn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Nt===null?lt.memoizedState=Nt=t:Nt=Nt.next=t,Nt}function xn(){if(kt===null){var t=lt.alternate;t=t!==null?t.memoizedState:null}else t=kt.next;var r=Nt===null?lt.memoizedState:Nt.next;if(r!==null)Nt=r,kt=t;else{if(t===null)throw Error(s(310));kt=t,t={memoizedState:kt.memoizedState,baseState:kt.baseState,baseQueue:kt.baseQueue,queue:kt.queue,next:null},Nt===null?lt.memoizedState=Nt=t:Nt=Nt.next=t}return Nt}function Qi(t,r){return typeof r=="function"?r(t):r}function Dl(t){var r=xn(),a=r.queue;if(a===null)throw Error(s(311));a.lastRenderedReducer=t;var c=kt,h=c.baseQueue,m=a.pending;if(m!==null){if(h!==null){var v=h.next;h.next=m.next,m.next=v}c.baseQueue=h=m,a.pending=null}if(h!==null){m=h.next,c=c.baseState;var S=v=null,R=null,U=m;do{var ne=U.lane;if((ps&ne)===ne)R!==null&&(R=R.next={lane:0,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null}),c=U.hasEagerState?U.eagerState:t(c,U.action);else{var ie={lane:ne,action:U.action,hasEagerState:U.hasEagerState,eagerState:U.eagerState,next:null};R===null?(S=R=ie,v=c):R=R.next=ie,lt.lanes|=ne,ms|=ne}U=U.next}while(U!==null&&U!==m);R===null?v=c:R.next=S,An(c,r.memoizedState)||(en=!0),r.memoizedState=c,r.baseState=v,r.baseQueue=R,a.lastRenderedState=c}if(t=a.interleaved,t!==null){h=t;do m=h.lane,lt.lanes|=m,ms|=m,h=h.next;while(h!==t)}else h===null&&(a.lanes=0);return[r.memoizedState,a.dispatch]}function Fl(t){var r=xn(),a=r.queue;if(a===null)throw Error(s(311));a.lastRenderedReducer=t;var c=a.dispatch,h=a.pending,m=r.memoizedState;if(h!==null){a.pending=null;var v=h=h.next;do m=t(m,v.action),v=v.next;while(v!==h);An(m,r.memoizedState)||(en=!0),r.memoizedState=m,r.baseQueue===null&&(r.baseState=m),a.lastRenderedState=m}return[m,c]}function ud(){}function dd(t,r){var a=lt,c=xn(),h=r(),m=!An(c.memoizedState,h);if(m&&(c.memoizedState=h,en=!0),c=c.queue,zl(pd.bind(null,a,c,t),[t]),c.getSnapshot!==r||m||Nt!==null&&Nt.memoizedState.tag&1){if(a.flags|=2048,Yi(9,hd.bind(null,a,c,h,r),void 0,null),Ct===null)throw Error(s(349));(ps&30)!==0||fd(a,r,h)}return h}function fd(t,r,a){t.flags|=16384,t={getSnapshot:r,value:a},r=lt.updateQueue,r===null?(r={lastEffect:null,stores:null},lt.updateQueue=r,r.stores=[t]):(a=r.stores,a===null?r.stores=[t]:a.push(t))}function hd(t,r,a,c){r.value=a,r.getSnapshot=c,md(r)&&gd(t)}function pd(t,r,a){return a(function(){md(r)&&gd(t)})}function md(t){var r=t.getSnapshot;t=t.value;try{var a=r();return!An(t,a)}catch{return!0}}function gd(t){var r=lr(t,1);r!==null&&Ln(r,t,1,-1)}function yd(t){var r=zn();return typeof t=="function"&&(t=t()),r.memoizedState=r.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Qi,lastRenderedState:t},r.queue=t,t=t.dispatch=Rm.bind(null,lt,t),[r.memoizedState,t]}function Yi(t,r,a,c){return t={tag:t,create:r,destroy:a,deps:c,next:null},r=lt.updateQueue,r===null?(r={lastEffect:null,stores:null},lt.updateQueue=r,r.lastEffect=t.next=t):(a=r.lastEffect,a===null?r.lastEffect=t.next=t:(c=a.next,a.next=t,t.next=c,r.lastEffect=t)),t}function wd(){return xn().memoizedState}function sa(t,r,a,c){var h=zn();lt.flags|=t,h.memoizedState=Yi(1|r,a,void 0,c===void 0?null:c)}function ia(t,r,a,c){var h=xn();c=c===void 0?null:c;var m=void 0;if(kt!==null){var v=kt.memoizedState;if(m=v.destroy,c!==null&&Ll(c,v.deps)){h.memoizedState=Yi(r,a,m,c);return}}lt.flags|=t,h.memoizedState=Yi(1|r,a,m,c)}function vd(t,r){return sa(8390656,8,t,r)}function zl(t,r){return ia(2048,8,t,r)}function _d(t,r){return ia(4,2,t,r)}function xd(t,r){return ia(4,4,t,r)}function kd(t,r){if(typeof r=="function")return t=t(),r(t),function(){r(null)};if(r!=null)return t=t(),r.current=t,function(){r.current=null}}function bd(t,r,a){return a=a!=null?a.concat([t]):null,ia(4,4,kd.bind(null,r,t),a)}function Wl(){}function jd(t,r){var a=xn();r=r===void 0?null:r;var c=a.memoizedState;return c!==null&&r!==null&&Ll(r,c[1])?c[0]:(a.memoizedState=[t,r],t)}function Sd(t,r){var a=xn();r=r===void 0?null:r;var c=a.memoizedState;return c!==null&&r!==null&&Ll(r,c[1])?c[0]:(t=t(),a.memoizedState=[t,r],t)}function Nd(t,r,a){return(ps&21)===0?(t.baseState&&(t.baseState=!1,en=!0),t.memoizedState=a):(An(a,r)||(a=wt(),lt.lanes|=a,ms|=a,t.baseState=!0),r)}function Am(t,r){var a=He;He=a!==0&&4>a?a:4,t(!0);var c=Ml.transition;Ml.transition={};try{t(!1),r()}finally{He=a,Ml.transition=c}}function Cd(){return xn().memoizedState}function Tm(t,r,a){var c=zr(t);if(a={lane:c,action:a,hasEagerState:!1,eagerState:null,next:null},$d(t))Ed(r,a);else if(a=id(t,r,a,c),a!==null){var h=Gt();Ln(a,t,c,h),Ad(a,r,c)}}function Rm(t,r,a){var c=zr(t),h={lane:c,action:a,hasEagerState:!1,eagerState:null,next:null};if($d(t))Ed(r,h);else{var m=t.alternate;if(t.lanes===0&&(m===null||m.lanes===0)&&(m=r.lastRenderedReducer,m!==null))try{var v=r.lastRenderedState,S=m(v,a);if(h.hasEagerState=!0,h.eagerState=S,An(S,v)){var R=r.interleaved;R===null?(h.next=h,$l(r)):(h.next=R.next,R.next=h),r.interleaved=h;return}}catch{}finally{}a=id(t,r,h,c),a!==null&&(h=Gt(),Ln(a,t,c,h),Ad(a,r,c))}}function $d(t){var r=t.alternate;return t===lt||r!==null&&r===lt}function Ed(t,r){Ki=ra=!0;var a=t.pending;a===null?r.next=r:(r.next=a.next,a.next=r),t.pending=r}function Ad(t,r,a){if((a&4194240)!==0){var c=r.lanes;c&=t.pendingLanes,a|=c,r.lanes=a,Sr(t,a)}}var oa={readContext:_n,useCallback:Ft,useContext:Ft,useEffect:Ft,useImperativeHandle:Ft,useInsertionEffect:Ft,useLayoutEffect:Ft,useMemo:Ft,useReducer:Ft,useRef:Ft,useState:Ft,useDebugValue:Ft,useDeferredValue:Ft,useTransition:Ft,useMutableSource:Ft,useSyncExternalStore:Ft,useId:Ft,unstable_isNewReconciler:!1},Im={readContext:_n,useCallback:function(t,r){return zn().memoizedState=[t,r===void 0?null:r],t},useContext:_n,useEffect:vd,useImperativeHandle:function(t,r,a){return a=a!=null?a.concat([t]):null,sa(4194308,4,kd.bind(null,r,t),a)},useLayoutEffect:function(t,r){return sa(4194308,4,t,r)},useInsertionEffect:function(t,r){return sa(4,2,t,r)},useMemo:function(t,r){var a=zn();return r=r===void 0?null:r,t=t(),a.memoizedState=[t,r],t},useReducer:function(t,r,a){var c=zn();return r=a!==void 0?a(r):r,c.memoizedState=c.baseState=r,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:r},c.queue=t,t=t.dispatch=Tm.bind(null,lt,t),[c.memoizedState,t]},useRef:function(t){var r=zn();return t={current:t},r.memoizedState=t},useState:yd,useDebugValue:Wl,useDeferredValue:function(t){return zn().memoizedState=t},useTransition:function(){var t=yd(!1),r=t[0];return t=Am.bind(null,t[1]),zn().memoizedState=t,[r,t]},useMutableSource:function(){},useSyncExternalStore:function(t,r,a){var c=lt,h=zn();if(it){if(a===void 0)throw Error(s(407));a=a()}else{if(a=r(),Ct===null)throw Error(s(349));(ps&30)!==0||fd(c,r,a)}h.memoizedState=a;var m={value:a,getSnapshot:r};return h.queue=m,vd(pd.bind(null,c,m,t),[t]),c.flags|=2048,Yi(9,hd.bind(null,c,m,a,r),void 0,null),a},useId:function(){var t=zn(),r=Ct.identifierPrefix;if(it){var a=ar,c=or;a=(c&~(1<<32-pt(c)-1)).toString(32)+a,r=":"+r+"R"+a,a=Ji++,0<a&&(r+="H"+a.toString(32)),r+=":"}else a=Em++,r=":"+r+"r"+a.toString(32)+":";return t.memoizedState=r},unstable_isNewReconciler:!1},Mm={readContext:_n,useCallback:jd,useContext:_n,useEffect:zl,useImperativeHandle:bd,useInsertionEffect:_d,useLayoutEffect:xd,useMemo:Sd,useReducer:Dl,useRef:wd,useState:function(){return Dl(Qi)},useDebugValue:Wl,useDeferredValue:function(t){var r=xn();return Nd(r,kt.memoizedState,t)},useTransition:function(){var t=Dl(Qi)[0],r=xn().memoizedState;return[t,r]},useMutableSource:ud,useSyncExternalStore:dd,useId:Cd,unstable_isNewReconciler:!1},Lm={readContext:_n,useCallback:jd,useContext:_n,useEffect:zl,useImperativeHandle:bd,useInsertionEffect:_d,useLayoutEffect:xd,useMemo:Sd,useReducer:Fl,useRef:wd,useState:function(){return Fl(Qi)},useDebugValue:Wl,useDeferredValue:function(t){var r=xn();return kt===null?r.memoizedState=t:Nd(r,kt.memoizedState,t)},useTransition:function(){var t=Fl(Qi)[0],r=xn().memoizedState;return[t,r]},useMutableSource:ud,useSyncExternalStore:dd,useId:Cd,unstable_isNewReconciler:!1};function Rn(t,r){if(t&&t.defaultProps){r=H({},r),t=t.defaultProps;for(var a in t)r[a]===void 0&&(r[a]=t[a]);return r}return r}function Ul(t,r,a,c){r=t.memoizedState,a=a(c,r),a=a==null?r:H({},r,a),t.memoizedState=a,t.lanes===0&&(t.updateQueue.baseState=a)}var aa={isMounted:function(t){return(t=t._reactInternals)?Yn(t)===t:!1},enqueueSetState:function(t,r,a){t=t._reactInternals;var c=Gt(),h=zr(t),m=cr(c,h);m.payload=r,a!=null&&(m.callback=a),r=Pr(t,m,h),r!==null&&(Ln(r,t,h,c),qo(r,t,h))},enqueueReplaceState:function(t,r,a){t=t._reactInternals;var c=Gt(),h=zr(t),m=cr(c,h);m.tag=1,m.payload=r,a!=null&&(m.callback=a),r=Pr(t,m,h),r!==null&&(Ln(r,t,h,c),qo(r,t,h))},enqueueForceUpdate:function(t,r){t=t._reactInternals;var a=Gt(),c=zr(t),h=cr(a,c);h.tag=2,r!=null&&(h.callback=r),r=Pr(t,h,c),r!==null&&(Ln(r,t,c,a),qo(r,t,c))}};function Td(t,r,a,c,h,m,v){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,m,v):r.prototype&&r.prototype.isPureReactComponent?!Pi(a,c)||!Pi(h,m):!0}function Rd(t,r,a){var c=!1,h=Ir,m=r.contextType;return typeof m=="object"&&m!==null?m=_n(m):(h=qt(r)?cs:Dt.current,c=r.contextTypes,m=(c=c!=null)?Gs(t,h):Ir),r=new r(a,m),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=aa,t.stateNode=r,r._reactInternals=t,c&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=h,t.__reactInternalMemoizedMaskedChildContext=m),r}function Id(t,r,a,c){t=r.state,typeof r.componentWillReceiveProps=="function"&&r.componentWillReceiveProps(a,c),typeof r.UNSAFE_componentWillReceiveProps=="function"&&r.UNSAFE_componentWillReceiveProps(a,c),r.state!==t&&aa.enqueueReplaceState(r,r.state,null)}function Bl(t,r,a,c){var h=t.stateNode;h.props=a,h.state=t.memoizedState,h.refs={},El(t);var m=r.contextType;typeof m=="object"&&m!==null?h.context=_n(m):(m=qt(r)?cs:Dt.current,h.context=Gs(t,m)),h.state=t.memoizedState,m=r.getDerivedStateFromProps,typeof m=="function"&&(Ul(t,r,m,a),h.state=t.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(r=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),r!==h.state&&aa.enqueueReplaceState(h,h.state,null),ea(t,a,h,c),h.state=t.memoizedState),typeof h.componentDidMount=="function"&&(t.flags|=4194308)}function qs(t,r){try{var a="",c=r;do a+=ee(c),c=c.return;while(c);var h=a}catch(m){h=`
|
|
39
|
+
Error generating stack: `+m.message+`
|
|
40
|
+
`+m.stack}return{value:t,source:r,stack:h,digest:null}}function Vl(t,r,a){return{value:t,source:null,stack:a??null,digest:r??null}}function Gl(t,r){try{console.error(r.value)}catch(a){setTimeout(function(){throw a})}}var Pm=typeof WeakMap=="function"?WeakMap:Map;function Md(t,r,a){a=cr(-1,a),a.tag=3,a.payload={element:null};var c=r.value;return a.callback=function(){pa||(pa=!0,oc=c),Gl(t,r)},a}function Ld(t,r,a){a=cr(-1,a),a.tag=3;var c=t.type.getDerivedStateFromError;if(typeof c=="function"){var h=r.value;a.payload=function(){return c(h)},a.callback=function(){Gl(t,r)}}var m=t.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(a.callback=function(){Gl(t,r),typeof c!="function"&&(Dr===null?Dr=new Set([this]):Dr.add(this));var v=r.stack;this.componentDidCatch(r.value,{componentStack:v!==null?v:""})}),a}function Pd(t,r,a){var c=t.pingCache;if(c===null){c=t.pingCache=new Pm;var h=new Set;c.set(r,h)}else h=c.get(r),h===void 0&&(h=new Set,c.set(r,h));h.has(a)||(h.add(a),t=Ym.bind(null,t,r,a),r.then(t,t))}function Od(t){do{var r;if((r=t.tag===13)&&(r=t.memoizedState,r=r!==null?r.dehydrated!==null:!0),r)return t;t=t.return}while(t!==null);return null}function Dd(t,r,a,c,h){return(t.mode&1)===0?(t===r?t.flags|=65536:(t.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(r=cr(-1,1),r.tag=2,Pr(a,r,1))),a.lanes|=1),t):(t.flags|=65536,t.lanes=h,t)}var Om=b.ReactCurrentOwner,en=!1;function Vt(t,r,a,c){r.child=t===null?sd(r,null,a,c):Qs(r,t.child,a,c)}function Fd(t,r,a,c,h){a=a.render;var m=r.ref;return Xs(r,h),c=Pl(t,r,a,c,m,h),a=Ol(),t!==null&&!en?(r.updateQueue=t.updateQueue,r.flags&=-2053,t.lanes&=~h,ur(t,r,h)):(it&&a&&vl(r),r.flags|=1,Vt(t,r,c,h),r.child)}function zd(t,r,a,c,h){if(t===null){var m=a.type;return typeof m=="function"&&!hc(m)&&m.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(r.tag=15,r.type=m,Wd(t,r,m,c,h)):(t=_a(a.type,null,c,r,r.mode,h),t.ref=r.ref,t.return=r,r.child=t)}if(m=t.child,(t.lanes&h)===0){var v=m.memoizedProps;if(a=a.compare,a=a!==null?a:Pi,a(v,c)&&t.ref===r.ref)return ur(t,r,h)}return r.flags|=1,t=Ur(m,c),t.ref=r.ref,t.return=r,r.child=t}function Wd(t,r,a,c,h){if(t!==null){var m=t.memoizedProps;if(Pi(m,c)&&t.ref===r.ref)if(en=!1,r.pendingProps=c=m,(t.lanes&h)!==0)(t.flags&131072)!==0&&(en=!0);else return r.lanes=t.lanes,ur(t,r,h)}return Hl(t,r,a,c,h)}function Ud(t,r,a){var c=r.pendingProps,h=c.children,m=t!==null?t.memoizedState:null;if(c.mode==="hidden")if((r.mode&1)===0)r.memoizedState={baseLanes:0,cachePool:null,transitions:null},et(ti,mn),mn|=a;else{if((a&1073741824)===0)return t=m!==null?m.baseLanes|a:a,r.lanes=r.childLanes=1073741824,r.memoizedState={baseLanes:t,cachePool:null,transitions:null},r.updateQueue=null,et(ti,mn),mn|=t,null;r.memoizedState={baseLanes:0,cachePool:null,transitions:null},c=m!==null?m.baseLanes:a,et(ti,mn),mn|=c}else m!==null?(c=m.baseLanes|a,r.memoizedState=null):c=a,et(ti,mn),mn|=c;return Vt(t,r,h,a),r.child}function Bd(t,r){var a=r.ref;(t===null&&a!==null||t!==null&&t.ref!==a)&&(r.flags|=512,r.flags|=2097152)}function Hl(t,r,a,c,h){var m=qt(a)?cs:Dt.current;return m=Gs(r,m),Xs(r,h),a=Pl(t,r,a,c,m,h),c=Ol(),t!==null&&!en?(r.updateQueue=t.updateQueue,r.flags&=-2053,t.lanes&=~h,ur(t,r,h)):(it&&c&&vl(r),r.flags|=1,Vt(t,r,a,h),r.child)}function Vd(t,r,a,c,h){if(qt(a)){var m=!0;Go(r)}else m=!1;if(Xs(r,h),r.stateNode===null)ca(t,r),Rd(r,a,c),Bl(r,a,c,h),c=!0;else if(t===null){var v=r.stateNode,S=r.memoizedProps;v.props=S;var R=v.context,U=a.contextType;typeof U=="object"&&U!==null?U=_n(U):(U=qt(a)?cs:Dt.current,U=Gs(r,U));var ne=a.getDerivedStateFromProps,ie=typeof ne=="function"||typeof v.getSnapshotBeforeUpdate=="function";ie||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(S!==c||R!==U)&&Id(r,v,c,U),Lr=!1;var q=r.memoizedState;v.state=q,ea(r,c,v,h),R=r.memoizedState,S!==c||q!==R||Zt.current||Lr?(typeof ne=="function"&&(Ul(r,a,ne,c),R=r.memoizedState),(S=Lr||Td(r,a,S,c,q,R,U))?(ie||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(r.flags|=4194308)):(typeof v.componentDidMount=="function"&&(r.flags|=4194308),r.memoizedProps=c,r.memoizedState=R),v.props=c,v.state=R,v.context=U,c=S):(typeof v.componentDidMount=="function"&&(r.flags|=4194308),c=!1)}else{v=r.stateNode,od(t,r),S=r.memoizedProps,U=r.type===r.elementType?S:Rn(r.type,S),v.props=U,ie=r.pendingProps,q=v.context,R=a.contextType,typeof R=="object"&&R!==null?R=_n(R):(R=qt(a)?cs:Dt.current,R=Gs(r,R));var ge=a.getDerivedStateFromProps;(ne=typeof ge=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(S!==ie||q!==R)&&Id(r,v,c,R),Lr=!1,q=r.memoizedState,v.state=q,ea(r,c,v,h);var xe=r.memoizedState;S!==ie||q!==xe||Zt.current||Lr?(typeof ge=="function"&&(Ul(r,a,ge,c),xe=r.memoizedState),(U=Lr||Td(r,a,U,c,q,xe,R)||!1)?(ne||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(c,xe,R),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(c,xe,R)),typeof v.componentDidUpdate=="function"&&(r.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(r.flags|=1024)):(typeof v.componentDidUpdate!="function"||S===t.memoizedProps&&q===t.memoizedState||(r.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||S===t.memoizedProps&&q===t.memoizedState||(r.flags|=1024),r.memoizedProps=c,r.memoizedState=xe),v.props=c,v.state=xe,v.context=R,c=U):(typeof v.componentDidUpdate!="function"||S===t.memoizedProps&&q===t.memoizedState||(r.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||S===t.memoizedProps&&q===t.memoizedState||(r.flags|=1024),c=!1)}return Kl(t,r,a,c,m,h)}function Kl(t,r,a,c,h,m){Bd(t,r);var v=(r.flags&128)!==0;if(!c&&!v)return h&&Qu(r,a,!1),ur(t,r,m);c=r.stateNode,Om.current=r;var S=v&&typeof a.getDerivedStateFromError!="function"?null:c.render();return r.flags|=1,t!==null&&v?(r.child=Qs(r,t.child,null,m),r.child=Qs(r,null,S,m)):Vt(t,r,S,m),r.memoizedState=c.state,h&&Qu(r,a,!0),r.child}function Gd(t){var r=t.stateNode;r.pendingContext?Ku(t,r.pendingContext,r.pendingContext!==r.context):r.context&&Ku(t,r.context,!1),Al(t,r.containerInfo)}function Hd(t,r,a,c,h){return Js(),bl(h),r.flags|=256,Vt(t,r,a,c),r.child}var Jl={dehydrated:null,treeContext:null,retryLane:0};function Ql(t){return{baseLanes:t,cachePool:null,transitions:null}}function Kd(t,r,a){var c=r.pendingProps,h=at.current,m=!1,v=(r.flags&128)!==0,S;if((S=v)||(S=t!==null&&t.memoizedState===null?!1:(h&2)!==0),S?(m=!0,r.flags&=-129):(t===null||t.memoizedState!==null)&&(h|=1),et(at,h&1),t===null)return kl(r),t=r.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((r.mode&1)===0?r.lanes=1:t.data==="$!"?r.lanes=8:r.lanes=1073741824,null):(v=c.children,t=c.fallback,m?(c=r.mode,m=r.child,v={mode:"hidden",children:v},(c&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=v):m=xa(v,c,0,null),t=vs(t,c,a,null),m.return=r,t.return=r,m.sibling=t,r.child=m,r.child.memoizedState=Ql(a),r.memoizedState=Jl,t):Yl(r,v));if(h=t.memoizedState,h!==null&&(S=h.dehydrated,S!==null))return Dm(t,r,v,c,S,h,a);if(m){m=c.fallback,v=r.mode,h=t.child,S=h.sibling;var R={mode:"hidden",children:c.children};return(v&1)===0&&r.child!==h?(c=r.child,c.childLanes=0,c.pendingProps=R,r.deletions=null):(c=Ur(h,R),c.subtreeFlags=h.subtreeFlags&14680064),S!==null?m=Ur(S,m):(m=vs(m,v,a,null),m.flags|=2),m.return=r,c.return=r,c.sibling=m,r.child=c,c=m,m=r.child,v=t.child.memoizedState,v=v===null?Ql(a):{baseLanes:v.baseLanes|a,cachePool:null,transitions:v.transitions},m.memoizedState=v,m.childLanes=t.childLanes&~a,r.memoizedState=Jl,c}return m=t.child,t=m.sibling,c=Ur(m,{mode:"visible",children:c.children}),(r.mode&1)===0&&(c.lanes=a),c.return=r,c.sibling=null,t!==null&&(a=r.deletions,a===null?(r.deletions=[t],r.flags|=16):a.push(t)),r.child=c,r.memoizedState=null,c}function Yl(t,r){return r=xa({mode:"visible",children:r},t.mode,0,null),r.return=t,t.child=r}function la(t,r,a,c){return c!==null&&bl(c),Qs(r,t.child,null,a),t=Yl(r,r.pendingProps.children),t.flags|=2,r.memoizedState=null,t}function Dm(t,r,a,c,h,m,v){if(a)return r.flags&256?(r.flags&=-257,c=Vl(Error(s(422))),la(t,r,v,c)):r.memoizedState!==null?(r.child=t.child,r.flags|=128,null):(m=c.fallback,h=r.mode,c=xa({mode:"visible",children:c.children},h,0,null),m=vs(m,h,v,null),m.flags|=2,c.return=r,m.return=r,c.sibling=m,r.child=c,(r.mode&1)!==0&&Qs(r,t.child,null,v),r.child.memoizedState=Ql(v),r.memoizedState=Jl,m);if((r.mode&1)===0)return la(t,r,v,null);if(h.data==="$!"){if(c=h.nextSibling&&h.nextSibling.dataset,c)var S=c.dgst;return c=S,m=Error(s(419)),c=Vl(m,c,void 0),la(t,r,v,c)}if(S=(v&t.childLanes)!==0,en||S){if(c=Ct,c!==null){switch(v&-v){case 4:h=2;break;case 16:h=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:h=32;break;case 536870912:h=268435456;break;default:h=0}h=(h&(c.suspendedLanes|v))!==0?0:h,h!==0&&h!==m.retryLane&&(m.retryLane=h,lr(t,h),Ln(c,t,h,-1))}return fc(),c=Vl(Error(s(421))),la(t,r,v,c)}return h.data==="$?"?(r.flags|=128,r.child=t.child,r=Xm.bind(null,t),h._reactRetry=r,null):(t=m.treeContext,pn=Tr(h.nextSibling),hn=r,it=!0,Tn=null,t!==null&&(wn[vn++]=or,wn[vn++]=ar,wn[vn++]=us,or=t.id,ar=t.overflow,us=r),r=Yl(r,c.children),r.flags|=4096,r)}function Jd(t,r,a){t.lanes|=r;var c=t.alternate;c!==null&&(c.lanes|=r),Cl(t.return,r,a)}function Xl(t,r,a,c,h){var m=t.memoizedState;m===null?t.memoizedState={isBackwards:r,rendering:null,renderingStartTime:0,last:c,tail:a,tailMode:h}:(m.isBackwards=r,m.rendering=null,m.renderingStartTime=0,m.last=c,m.tail=a,m.tailMode=h)}function Qd(t,r,a){var c=r.pendingProps,h=c.revealOrder,m=c.tail;if(Vt(t,r,c.children,a),c=at.current,(c&2)!==0)c=c&1|2,r.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=r.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Jd(t,a,r);else if(t.tag===19)Jd(t,a,r);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===r)break e;for(;t.sibling===null;){if(t.return===null||t.return===r)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}c&=1}if(et(at,c),(r.mode&1)===0)r.memoizedState=null;else switch(h){case"forwards":for(a=r.child,h=null;a!==null;)t=a.alternate,t!==null&&ta(t)===null&&(h=a),a=a.sibling;a=h,a===null?(h=r.child,r.child=null):(h=a.sibling,a.sibling=null),Xl(r,!1,h,a,m);break;case"backwards":for(a=null,h=r.child,r.child=null;h!==null;){if(t=h.alternate,t!==null&&ta(t)===null){r.child=h;break}t=h.sibling,h.sibling=a,a=h,h=t}Xl(r,!0,a,null,m);break;case"together":Xl(r,!1,null,null,void 0);break;default:r.memoizedState=null}return r.child}function ca(t,r){(r.mode&1)===0&&t!==null&&(t.alternate=null,r.alternate=null,r.flags|=2)}function ur(t,r,a){if(t!==null&&(r.dependencies=t.dependencies),ms|=r.lanes,(a&r.childLanes)===0)return null;if(t!==null&&r.child!==t.child)throw Error(s(153));if(r.child!==null){for(t=r.child,a=Ur(t,t.pendingProps),r.child=a,a.return=r;t.sibling!==null;)t=t.sibling,a=a.sibling=Ur(t,t.pendingProps),a.return=r;a.sibling=null}return r.child}function Fm(t,r,a){switch(r.tag){case 3:Gd(r),Js();break;case 5:cd(r);break;case 1:qt(r.type)&&Go(r);break;case 4:Al(r,r.stateNode.containerInfo);break;case 10:var c=r.type._context,h=r.memoizedProps.value;et(Xo,c._currentValue),c._currentValue=h;break;case 13:if(c=r.memoizedState,c!==null)return c.dehydrated!==null?(et(at,at.current&1),r.flags|=128,null):(a&r.child.childLanes)!==0?Kd(t,r,a):(et(at,at.current&1),t=ur(t,r,a),t!==null?t.sibling:null);et(at,at.current&1);break;case 19:if(c=(a&r.childLanes)!==0,(t.flags&128)!==0){if(c)return Qd(t,r,a);r.flags|=128}if(h=r.memoizedState,h!==null&&(h.rendering=null,h.tail=null,h.lastEffect=null),et(at,at.current),c)break;return null;case 22:case 23:return r.lanes=0,Ud(t,r,a)}return ur(t,r,a)}var Yd,Zl,Xd,Zd;Yd=function(t,r){for(var a=r.child;a!==null;){if(a.tag===5||a.tag===6)t.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===r)break;for(;a.sibling===null;){if(a.return===null||a.return===r)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},Zl=function(){},Xd=function(t,r,a,c){var h=t.memoizedProps;if(h!==c){t=r.stateNode,hs(Fn.current);var m=null;switch(a){case"input":h=me(t,h),c=me(t,c),m=[];break;case"select":h=H({},h,{value:void 0}),c=H({},c,{value:void 0}),m=[];break;case"textarea":h=Pe(t,h),c=Pe(t,c),m=[];break;default:typeof h.onClick!="function"&&typeof c.onClick=="function"&&(t.onclick=Uo)}wi(a,c);var v;a=null;for(U in h)if(!c.hasOwnProperty(U)&&h.hasOwnProperty(U)&&h[U]!=null)if(U==="style"){var S=h[U];for(v in S)S.hasOwnProperty(v)&&(a||(a={}),a[v]="")}else U!=="dangerouslySetInnerHTML"&&U!=="children"&&U!=="suppressContentEditableWarning"&&U!=="suppressHydrationWarning"&&U!=="autoFocus"&&(l.hasOwnProperty(U)?m||(m=[]):(m=m||[]).push(U,null));for(U in c){var R=c[U];if(S=h!=null?h[U]:void 0,c.hasOwnProperty(U)&&R!==S&&(R!=null||S!=null))if(U==="style")if(S){for(v in S)!S.hasOwnProperty(v)||R&&R.hasOwnProperty(v)||(a||(a={}),a[v]="");for(v in R)R.hasOwnProperty(v)&&S[v]!==R[v]&&(a||(a={}),a[v]=R[v])}else a||(m||(m=[]),m.push(U,a)),a=R;else U==="dangerouslySetInnerHTML"?(R=R?R.__html:void 0,S=S?S.__html:void 0,R!=null&&S!==R&&(m=m||[]).push(U,R)):U==="children"?typeof R!="string"&&typeof R!="number"||(m=m||[]).push(U,""+R):U!=="suppressContentEditableWarning"&&U!=="suppressHydrationWarning"&&(l.hasOwnProperty(U)?(R!=null&&U==="onScroll"&&rt("scroll",t),m||S===R||(m=[])):(m=m||[]).push(U,R))}a&&(m=m||[]).push("style",a);var U=m;(r.updateQueue=U)&&(r.flags|=4)}},Zd=function(t,r,a,c){a!==c&&(r.flags|=4)};function Xi(t,r){if(!it)switch(t.tailMode){case"hidden":r=t.tail;for(var a=null;r!==null;)r.alternate!==null&&(a=r),r=r.sibling;a===null?t.tail=null:a.sibling=null;break;case"collapsed":a=t.tail;for(var c=null;a!==null;)a.alternate!==null&&(c=a),a=a.sibling;c===null?r||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function zt(t){var r=t.alternate!==null&&t.alternate.child===t.child,a=0,c=0;if(r)for(var h=t.child;h!==null;)a|=h.lanes|h.childLanes,c|=h.subtreeFlags&14680064,c|=h.flags&14680064,h.return=t,h=h.sibling;else for(h=t.child;h!==null;)a|=h.lanes|h.childLanes,c|=h.subtreeFlags,c|=h.flags,h.return=t,h=h.sibling;return t.subtreeFlags|=c,t.childLanes=a,r}function zm(t,r,a){var c=r.pendingProps;switch(_l(r),r.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return zt(r),null;case 1:return qt(r.type)&&Vo(),zt(r),null;case 3:return c=r.stateNode,Zs(),st(Zt),st(Dt),Il(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(t===null||t.child===null)&&(Qo(r)?r.flags|=4:t===null||t.memoizedState.isDehydrated&&(r.flags&256)===0||(r.flags|=1024,Tn!==null&&(cc(Tn),Tn=null))),Zl(t,r),zt(r),null;case 5:Tl(r);var h=hs(Hi.current);if(a=r.type,t!==null&&r.stateNode!=null)Xd(t,r,a,c,h),t.ref!==r.ref&&(r.flags|=512,r.flags|=2097152);else{if(!c){if(r.stateNode===null)throw Error(s(166));return zt(r),null}if(t=hs(Fn.current),Qo(r)){c=r.stateNode,a=r.type;var m=r.memoizedProps;switch(c[Dn]=r,c[Wi]=m,t=(r.mode&1)!==0,a){case"dialog":rt("cancel",c),rt("close",c);break;case"iframe":case"object":case"embed":rt("load",c);break;case"video":case"audio":for(h=0;h<Di.length;h++)rt(Di[h],c);break;case"source":rt("error",c);break;case"img":case"image":case"link":rt("error",c),rt("load",c);break;case"details":rt("toggle",c);break;case"input":Oe(c,m),rt("invalid",c);break;case"select":c._wrapperState={wasMultiple:!!m.multiple},rt("invalid",c);break;case"textarea":Ge(c,m),rt("invalid",c)}wi(a,m),h=null;for(var v in m)if(m.hasOwnProperty(v)){var S=m[v];v==="children"?typeof S=="string"?c.textContent!==S&&(m.suppressHydrationWarning!==!0&&Wo(c.textContent,S,t),h=["children",S]):typeof S=="number"&&c.textContent!==""+S&&(m.suppressHydrationWarning!==!0&&Wo(c.textContent,S,t),h=["children",""+S]):l.hasOwnProperty(v)&&S!=null&&v==="onScroll"&&rt("scroll",c)}switch(a){case"input":ct(c),ze(c,m,!0);break;case"textarea":ct(c),Hn(c);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(c.onclick=Uo)}c=h,r.updateQueue=c,c!==null&&(r.flags|=4)}else{v=h.nodeType===9?h:h.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=Lt(a)),t==="http://www.w3.org/1999/xhtml"?a==="script"?(t=v.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof c.is=="string"?t=v.createElement(a,{is:c.is}):(t=v.createElement(a),a==="select"&&(v=t,c.multiple?v.multiple=!0:c.size&&(v.size=c.size))):t=v.createElementNS(t,a),t[Dn]=r,t[Wi]=c,Yd(t,r,!1,!1),r.stateNode=t;e:{switch(v=Ns(a,c),a){case"dialog":rt("cancel",t),rt("close",t),h=c;break;case"iframe":case"object":case"embed":rt("load",t),h=c;break;case"video":case"audio":for(h=0;h<Di.length;h++)rt(Di[h],t);h=c;break;case"source":rt("error",t),h=c;break;case"img":case"image":case"link":rt("error",t),rt("load",t),h=c;break;case"details":rt("toggle",t),h=c;break;case"input":Oe(t,c),h=me(t,c),rt("invalid",t);break;case"option":h=c;break;case"select":t._wrapperState={wasMultiple:!!c.multiple},h=H({},c,{value:void 0}),rt("invalid",t);break;case"textarea":Ge(t,c),h=Pe(t,c),rt("invalid",t);break;default:h=c}wi(a,h),S=h;for(m in S)if(S.hasOwnProperty(m)){var R=S[m];m==="style"?Yr(t,R):m==="dangerouslySetInnerHTML"?(R=R?R.__html:void 0,R!=null&&Cn(t,R)):m==="children"?typeof R=="string"?(a!=="textarea"||R!=="")&&Qr(t,R):typeof R=="number"&&Qr(t,""+R):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(l.hasOwnProperty(m)?R!=null&&m==="onScroll"&&rt("scroll",t):R!=null&&E(t,m,R,v))}switch(a){case"input":ct(t),ze(t,c,!1);break;case"textarea":ct(t),Hn(t);break;case"option":c.value!=null&&t.setAttribute("value",""+ue(c.value));break;case"select":t.multiple=!!c.multiple,m=c.value,m!=null?pe(t,!!c.multiple,m,!1):c.defaultValue!=null&&pe(t,!!c.multiple,c.defaultValue,!0);break;default:typeof h.onClick=="function"&&(t.onclick=Uo)}switch(a){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}}c&&(r.flags|=4)}r.ref!==null&&(r.flags|=512,r.flags|=2097152)}return zt(r),null;case 6:if(t&&r.stateNode!=null)Zd(t,r,t.memoizedProps,c);else{if(typeof c!="string"&&r.stateNode===null)throw Error(s(166));if(a=hs(Hi.current),hs(Fn.current),Qo(r)){if(c=r.stateNode,a=r.memoizedProps,c[Dn]=r,(m=c.nodeValue!==a)&&(t=hn,t!==null))switch(t.tag){case 3:Wo(c.nodeValue,a,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&Wo(c.nodeValue,a,(t.mode&1)!==0)}m&&(r.flags|=4)}else c=(a.nodeType===9?a:a.ownerDocument).createTextNode(c),c[Dn]=r,r.stateNode=c}return zt(r),null;case 13:if(st(at),c=r.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(it&&pn!==null&&(r.mode&1)!==0&&(r.flags&128)===0)td(),Js(),r.flags|=98560,m=!1;else if(m=Qo(r),c!==null&&c.dehydrated!==null){if(t===null){if(!m)throw Error(s(318));if(m=r.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(s(317));m[Dn]=r}else Js(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;zt(r),m=!1}else Tn!==null&&(cc(Tn),Tn=null),m=!0;if(!m)return r.flags&65536?r:null}return(r.flags&128)!==0?(r.lanes=a,r):(c=c!==null,c!==(t!==null&&t.memoizedState!==null)&&c&&(r.child.flags|=8192,(r.mode&1)!==0&&(t===null||(at.current&1)!==0?bt===0&&(bt=3):fc())),r.updateQueue!==null&&(r.flags|=4),zt(r),null);case 4:return Zs(),Zl(t,r),t===null&&Fi(r.stateNode.containerInfo),zt(r),null;case 10:return Nl(r.type._context),zt(r),null;case 17:return qt(r.type)&&Vo(),zt(r),null;case 19:if(st(at),m=r.memoizedState,m===null)return zt(r),null;if(c=(r.flags&128)!==0,v=m.rendering,v===null)if(c)Xi(m,!1);else{if(bt!==0||t!==null&&(t.flags&128)!==0)for(t=r.child;t!==null;){if(v=ta(t),v!==null){for(r.flags|=128,Xi(m,!1),c=v.updateQueue,c!==null&&(r.updateQueue=c,r.flags|=4),r.subtreeFlags=0,c=a,a=r.child;a!==null;)m=a,t=c,m.flags&=14680066,v=m.alternate,v===null?(m.childLanes=0,m.lanes=t,m.child=null,m.subtreeFlags=0,m.memoizedProps=null,m.memoizedState=null,m.updateQueue=null,m.dependencies=null,m.stateNode=null):(m.childLanes=v.childLanes,m.lanes=v.lanes,m.child=v.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=v.memoizedProps,m.memoizedState=v.memoizedState,m.updateQueue=v.updateQueue,m.type=v.type,t=v.dependencies,m.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),a=a.sibling;return et(at,at.current&1|2),r.child}t=t.sibling}m.tail!==null&&nt()>ni&&(r.flags|=128,c=!0,Xi(m,!1),r.lanes=4194304)}else{if(!c)if(t=ta(v),t!==null){if(r.flags|=128,c=!0,a=t.updateQueue,a!==null&&(r.updateQueue=a,r.flags|=4),Xi(m,!0),m.tail===null&&m.tailMode==="hidden"&&!v.alternate&&!it)return zt(r),null}else 2*nt()-m.renderingStartTime>ni&&a!==1073741824&&(r.flags|=128,c=!0,Xi(m,!1),r.lanes=4194304);m.isBackwards?(v.sibling=r.child,r.child=v):(a=m.last,a!==null?a.sibling=v:r.child=v,m.last=v)}return m.tail!==null?(r=m.tail,m.rendering=r,m.tail=r.sibling,m.renderingStartTime=nt(),r.sibling=null,a=at.current,et(at,c?a&1|2:a&1),r):(zt(r),null);case 22:case 23:return dc(),c=r.memoizedState!==null,t!==null&&t.memoizedState!==null!==c&&(r.flags|=8192),c&&(r.mode&1)!==0?(mn&1073741824)!==0&&(zt(r),r.subtreeFlags&6&&(r.flags|=8192)):zt(r),null;case 24:return null;case 25:return null}throw Error(s(156,r.tag))}function Wm(t,r){switch(_l(r),r.tag){case 1:return qt(r.type)&&Vo(),t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 3:return Zs(),st(Zt),st(Dt),Il(),t=r.flags,(t&65536)!==0&&(t&128)===0?(r.flags=t&-65537|128,r):null;case 5:return Tl(r),null;case 13:if(st(at),t=r.memoizedState,t!==null&&t.dehydrated!==null){if(r.alternate===null)throw Error(s(340));Js()}return t=r.flags,t&65536?(r.flags=t&-65537|128,r):null;case 19:return st(at),null;case 4:return Zs(),null;case 10:return Nl(r.type._context),null;case 22:case 23:return dc(),null;case 24:return null;default:return null}}var ua=!1,Wt=!1,Um=typeof WeakSet=="function"?WeakSet:Set,_e=null;function ei(t,r){var a=t.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(c){ut(t,r,c)}else a.current=null}function ql(t,r,a){try{a()}catch(c){ut(t,r,c)}}var qd=!1;function Bm(t,r){if(dl=os,t=Tu(),rl(t)){if("selectionStart"in t)var a={start:t.selectionStart,end:t.selectionEnd};else e:{a=(a=t.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var h=c.anchorOffset,m=c.focusNode;c=c.focusOffset;try{a.nodeType,m.nodeType}catch{a=null;break e}var v=0,S=-1,R=-1,U=0,ne=0,ie=t,q=null;t:for(;;){for(var ge;ie!==a||h!==0&&ie.nodeType!==3||(S=v+h),ie!==m||c!==0&&ie.nodeType!==3||(R=v+c),ie.nodeType===3&&(v+=ie.nodeValue.length),(ge=ie.firstChild)!==null;)q=ie,ie=ge;for(;;){if(ie===t)break t;if(q===a&&++U===h&&(S=v),q===m&&++ne===c&&(R=v),(ge=ie.nextSibling)!==null)break;ie=q,q=ie.parentNode}ie=ge}a=S===-1||R===-1?null:{start:S,end:R}}else a=null}a=a||{start:0,end:0}}else a=null;for(fl={focusedElem:t,selectionRange:a},os=!1,_e=r;_e!==null;)if(r=_e,t=r.child,(r.subtreeFlags&1028)!==0&&t!==null)t.return=r,_e=t;else for(;_e!==null;){r=_e;try{var xe=r.alternate;if((r.flags&1024)!==0)switch(r.tag){case 0:case 11:case 15:break;case 1:if(xe!==null){var ke=xe.memoizedProps,gt=xe.memoizedState,D=r.stateNode,M=D.getSnapshotBeforeUpdate(r.elementType===r.type?ke:Rn(r.type,ke),gt);D.__reactInternalSnapshotBeforeUpdate=M}break;case 3:var F=r.stateNode.containerInfo;F.nodeType===1?F.textContent="":F.nodeType===9&&F.documentElement&&F.removeChild(F.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(ce){ut(r,r.return,ce)}if(t=r.sibling,t!==null){t.return=r.return,_e=t;break}_e=r.return}return xe=qd,qd=!1,xe}function Zi(t,r,a){var c=r.updateQueue;if(c=c!==null?c.lastEffect:null,c!==null){var h=c=c.next;do{if((h.tag&t)===t){var m=h.destroy;h.destroy=void 0,m!==void 0&&ql(r,a,m)}h=h.next}while(h!==c)}}function da(t,r){if(r=r.updateQueue,r=r!==null?r.lastEffect:null,r!==null){var a=r=r.next;do{if((a.tag&t)===t){var c=a.create;a.destroy=c()}a=a.next}while(a!==r)}}function ec(t){var r=t.ref;if(r!==null){var a=t.stateNode;switch(t.tag){case 5:t=a;break;default:t=a}typeof r=="function"?r(t):r.current=t}}function ef(t){var r=t.alternate;r!==null&&(t.alternate=null,ef(r)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(r=t.stateNode,r!==null&&(delete r[Dn],delete r[Wi],delete r[gl],delete r[Sm],delete r[Nm])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function tf(t){return t.tag===5||t.tag===3||t.tag===4}function nf(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||tf(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function tc(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.nodeType===8?a.parentNode.insertBefore(t,r):a.insertBefore(t,r):(a.nodeType===8?(r=a.parentNode,r.insertBefore(t,a)):(r=a,r.appendChild(t)),a=a._reactRootContainer,a!=null||r.onclick!==null||(r.onclick=Uo));else if(c!==4&&(t=t.child,t!==null))for(tc(t,r,a),t=t.sibling;t!==null;)tc(t,r,a),t=t.sibling}function nc(t,r,a){var c=t.tag;if(c===5||c===6)t=t.stateNode,r?a.insertBefore(t,r):a.appendChild(t);else if(c!==4&&(t=t.child,t!==null))for(nc(t,r,a),t=t.sibling;t!==null;)nc(t,r,a),t=t.sibling}var At=null,In=!1;function Or(t,r,a){for(a=a.child;a!==null;)rf(t,r,a),a=a.sibling}function rf(t,r,a){if(ht&&typeof ht.onCommitFiberUnmount=="function")try{ht.onCommitFiberUnmount(es,a)}catch{}switch(a.tag){case 5:Wt||ei(a,r);case 6:var c=At,h=In;At=null,Or(t,r,a),At=c,In=h,At!==null&&(In?(t=At,a=a.stateNode,t.nodeType===8?t.parentNode.removeChild(a):t.removeChild(a)):At.removeChild(a.stateNode));break;case 18:At!==null&&(In?(t=At,a=a.stateNode,t.nodeType===8?ml(t.parentNode,a):t.nodeType===1&&ml(t,a),Er(t)):ml(At,a.stateNode));break;case 4:c=At,h=In,At=a.stateNode.containerInfo,In=!0,Or(t,r,a),At=c,In=h;break;case 0:case 11:case 14:case 15:if(!Wt&&(c=a.updateQueue,c!==null&&(c=c.lastEffect,c!==null))){h=c=c.next;do{var m=h,v=m.destroy;m=m.tag,v!==void 0&&((m&2)!==0||(m&4)!==0)&&ql(a,r,v),h=h.next}while(h!==c)}Or(t,r,a);break;case 1:if(!Wt&&(ei(a,r),c=a.stateNode,typeof c.componentWillUnmount=="function"))try{c.props=a.memoizedProps,c.state=a.memoizedState,c.componentWillUnmount()}catch(S){ut(a,r,S)}Or(t,r,a);break;case 21:Or(t,r,a);break;case 22:a.mode&1?(Wt=(c=Wt)||a.memoizedState!==null,Or(t,r,a),Wt=c):Or(t,r,a);break;default:Or(t,r,a)}}function sf(t){var r=t.updateQueue;if(r!==null){t.updateQueue=null;var a=t.stateNode;a===null&&(a=t.stateNode=new Um),r.forEach(function(c){var h=Zm.bind(null,t,c);a.has(c)||(a.add(c),c.then(h,h))})}}function Mn(t,r){var a=r.deletions;if(a!==null)for(var c=0;c<a.length;c++){var h=a[c];try{var m=t,v=r,S=v;e:for(;S!==null;){switch(S.tag){case 5:At=S.stateNode,In=!1;break e;case 3:At=S.stateNode.containerInfo,In=!0;break e;case 4:At=S.stateNode.containerInfo,In=!0;break e}S=S.return}if(At===null)throw Error(s(160));rf(m,v,h),At=null,In=!1;var R=h.alternate;R!==null&&(R.return=null),h.return=null}catch(U){ut(h,r,U)}}if(r.subtreeFlags&12854)for(r=r.child;r!==null;)of(r,t),r=r.sibling}function of(t,r){var a=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(Mn(r,t),Wn(t),c&4){try{Zi(3,t,t.return),da(3,t)}catch(ke){ut(t,t.return,ke)}try{Zi(5,t,t.return)}catch(ke){ut(t,t.return,ke)}}break;case 1:Mn(r,t),Wn(t),c&512&&a!==null&&ei(a,a.return);break;case 5:if(Mn(r,t),Wn(t),c&512&&a!==null&&ei(a,a.return),t.flags&32){var h=t.stateNode;try{Qr(h,"")}catch(ke){ut(t,t.return,ke)}}if(c&4&&(h=t.stateNode,h!=null)){var m=t.memoizedProps,v=a!==null?a.memoizedProps:m,S=t.type,R=t.updateQueue;if(t.updateQueue=null,R!==null)try{S==="input"&&m.type==="radio"&&m.name!=null&&ve(h,m),Ns(S,v);var U=Ns(S,m);for(v=0;v<R.length;v+=2){var ne=R[v],ie=R[v+1];ne==="style"?Yr(h,ie):ne==="dangerouslySetInnerHTML"?Cn(h,ie):ne==="children"?Qr(h,ie):E(h,ne,ie,U)}switch(S){case"input":Me(h,m);break;case"textarea":Ve(h,m);break;case"select":var q=h._wrapperState.wasMultiple;h._wrapperState.wasMultiple=!!m.multiple;var ge=m.value;ge!=null?pe(h,!!m.multiple,ge,!1):q!==!!m.multiple&&(m.defaultValue!=null?pe(h,!!m.multiple,m.defaultValue,!0):pe(h,!!m.multiple,m.multiple?[]:"",!1))}h[Wi]=m}catch(ke){ut(t,t.return,ke)}}break;case 6:if(Mn(r,t),Wn(t),c&4){if(t.stateNode===null)throw Error(s(162));h=t.stateNode,m=t.memoizedProps;try{h.nodeValue=m}catch(ke){ut(t,t.return,ke)}}break;case 3:if(Mn(r,t),Wn(t),c&4&&a!==null&&a.memoizedState.isDehydrated)try{Er(r.containerInfo)}catch(ke){ut(t,t.return,ke)}break;case 4:Mn(r,t),Wn(t);break;case 13:Mn(r,t),Wn(t),h=t.child,h.flags&8192&&(m=h.memoizedState!==null,h.stateNode.isHidden=m,!m||h.alternate!==null&&h.alternate.memoizedState!==null||(ic=nt())),c&4&&sf(t);break;case 22:if(ne=a!==null&&a.memoizedState!==null,t.mode&1?(Wt=(U=Wt)||ne,Mn(r,t),Wt=U):Mn(r,t),Wn(t),c&8192){if(U=t.memoizedState!==null,(t.stateNode.isHidden=U)&&!ne&&(t.mode&1)!==0)for(_e=t,ne=t.child;ne!==null;){for(ie=_e=ne;_e!==null;){switch(q=_e,ge=q.child,q.tag){case 0:case 11:case 14:case 15:Zi(4,q,q.return);break;case 1:ei(q,q.return);var xe=q.stateNode;if(typeof xe.componentWillUnmount=="function"){c=q,a=q.return;try{r=c,xe.props=r.memoizedProps,xe.state=r.memoizedState,xe.componentWillUnmount()}catch(ke){ut(c,a,ke)}}break;case 5:ei(q,q.return);break;case 22:if(q.memoizedState!==null){cf(ie);continue}}ge!==null?(ge.return=q,_e=ge):cf(ie)}ne=ne.sibling}e:for(ne=null,ie=t;;){if(ie.tag===5){if(ne===null){ne=ie;try{h=ie.stateNode,U?(m=h.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(S=ie.stateNode,R=ie.memoizedProps.style,v=R!=null&&R.hasOwnProperty("display")?R.display:null,S.style.display=gi("display",v))}catch(ke){ut(t,t.return,ke)}}}else if(ie.tag===6){if(ne===null)try{ie.stateNode.nodeValue=U?"":ie.memoizedProps}catch(ke){ut(t,t.return,ke)}}else if((ie.tag!==22&&ie.tag!==23||ie.memoizedState===null||ie===t)&&ie.child!==null){ie.child.return=ie,ie=ie.child;continue}if(ie===t)break e;for(;ie.sibling===null;){if(ie.return===null||ie.return===t)break e;ne===ie&&(ne=null),ie=ie.return}ne===ie&&(ne=null),ie.sibling.return=ie.return,ie=ie.sibling}}break;case 19:Mn(r,t),Wn(t),c&4&&sf(t);break;case 21:break;default:Mn(r,t),Wn(t)}}function Wn(t){var r=t.flags;if(r&2){try{e:{for(var a=t.return;a!==null;){if(tf(a)){var c=a;break e}a=a.return}throw Error(s(160))}switch(c.tag){case 5:var h=c.stateNode;c.flags&32&&(Qr(h,""),c.flags&=-33);var m=nf(t);nc(t,m,h);break;case 3:case 4:var v=c.stateNode.containerInfo,S=nf(t);tc(t,S,v);break;default:throw Error(s(161))}}catch(R){ut(t,t.return,R)}t.flags&=-3}r&4096&&(t.flags&=-4097)}function Vm(t,r,a){_e=t,af(t)}function af(t,r,a){for(var c=(t.mode&1)!==0;_e!==null;){var h=_e,m=h.child;if(h.tag===22&&c){var v=h.memoizedState!==null||ua;if(!v){var S=h.alternate,R=S!==null&&S.memoizedState!==null||Wt;S=ua;var U=Wt;if(ua=v,(Wt=R)&&!U)for(_e=h;_e!==null;)v=_e,R=v.child,v.tag===22&&v.memoizedState!==null?uf(h):R!==null?(R.return=v,_e=R):uf(h);for(;m!==null;)_e=m,af(m),m=m.sibling;_e=h,ua=S,Wt=U}lf(t)}else(h.subtreeFlags&8772)!==0&&m!==null?(m.return=h,_e=m):lf(t)}}function lf(t){for(;_e!==null;){var r=_e;if((r.flags&8772)!==0){var a=r.alternate;try{if((r.flags&8772)!==0)switch(r.tag){case 0:case 11:case 15:Wt||da(5,r);break;case 1:var c=r.stateNode;if(r.flags&4&&!Wt)if(a===null)c.componentDidMount();else{var h=r.elementType===r.type?a.memoizedProps:Rn(r.type,a.memoizedProps);c.componentDidUpdate(h,a.memoizedState,c.__reactInternalSnapshotBeforeUpdate)}var m=r.updateQueue;m!==null&&ld(r,m,c);break;case 3:var v=r.updateQueue;if(v!==null){if(a=null,r.child!==null)switch(r.child.tag){case 5:a=r.child.stateNode;break;case 1:a=r.child.stateNode}ld(r,v,a)}break;case 5:var S=r.stateNode;if(a===null&&r.flags&4){a=S;var R=r.memoizedProps;switch(r.type){case"button":case"input":case"select":case"textarea":R.autoFocus&&a.focus();break;case"img":R.src&&(a.src=R.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(r.memoizedState===null){var U=r.alternate;if(U!==null){var ne=U.memoizedState;if(ne!==null){var ie=ne.dehydrated;ie!==null&&Er(ie)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}Wt||r.flags&512&&ec(r)}catch(q){ut(r,r.return,q)}}if(r===t){_e=null;break}if(a=r.sibling,a!==null){a.return=r.return,_e=a;break}_e=r.return}}function cf(t){for(;_e!==null;){var r=_e;if(r===t){_e=null;break}var a=r.sibling;if(a!==null){a.return=r.return,_e=a;break}_e=r.return}}function uf(t){for(;_e!==null;){var r=_e;try{switch(r.tag){case 0:case 11:case 15:var a=r.return;try{da(4,r)}catch(R){ut(r,a,R)}break;case 1:var c=r.stateNode;if(typeof c.componentDidMount=="function"){var h=r.return;try{c.componentDidMount()}catch(R){ut(r,h,R)}}var m=r.return;try{ec(r)}catch(R){ut(r,m,R)}break;case 5:var v=r.return;try{ec(r)}catch(R){ut(r,v,R)}}}catch(R){ut(r,r.return,R)}if(r===t){_e=null;break}var S=r.sibling;if(S!==null){S.return=r.return,_e=S;break}_e=r.return}}var Gm=Math.ceil,fa=b.ReactCurrentDispatcher,rc=b.ReactCurrentOwner,kn=b.ReactCurrentBatchConfig,Ke=0,Ct=null,_t=null,Tt=0,mn=0,ti=Rr(0),bt=0,qi=null,ms=0,ha=0,sc=0,eo=null,tn=null,ic=0,ni=1/0,dr=null,pa=!1,oc=null,Dr=null,ma=!1,Fr=null,ga=0,to=0,ac=null,ya=-1,wa=0;function Gt(){return(Ke&6)!==0?nt():ya!==-1?ya:ya=nt()}function zr(t){return(t.mode&1)===0?1:(Ke&2)!==0&&Tt!==0?Tt&-Tt:$m.transition!==null?(wa===0&&(wa=wt()),wa):(t=He,t!==0||(t=window.event,t=t===void 0?16:Ti(t.type)),t)}function Ln(t,r,a,c){if(50<to)throw to=0,ac=null,Error(s(185));mt(t,a,c),((Ke&2)===0||t!==Ct)&&(t===Ct&&((Ke&2)===0&&(ha|=a),bt===4&&Wr(t,Tt)),nn(t,c),a===1&&Ke===0&&(r.mode&1)===0&&(ni=nt()+500,Ho&&Mr()))}function nn(t,r){var a=t.callbackNode;ji(t,r);var c=Rs(t,t===Ct?Tt:0);if(c===0)a!==null&&On(a),t.callbackNode=null,t.callbackPriority=0;else if(r=c&-c,t.callbackPriority!==r){if(a!=null&&On(a),r===1)t.tag===0?Cm(ff.bind(null,t)):Yu(ff.bind(null,t)),bm(function(){(Ke&6)===0&&Mr()}),a=null;else{switch(rs(c)){case 1:a=kr;break;case 4:a=qr;break;case 16:a=fn;break;case 536870912:a=Zn;break;default:a=fn}a=_f(a,df.bind(null,t))}t.callbackPriority=r,t.callbackNode=a}}function df(t,r){if(ya=-1,wa=0,(Ke&6)!==0)throw Error(s(327));var a=t.callbackNode;if(ri()&&t.callbackNode!==a)return null;var c=Rs(t,t===Ct?Tt:0);if(c===0)return null;if((c&30)!==0||(c&t.expiredLanes)!==0||r)r=va(t,c);else{r=c;var h=Ke;Ke|=2;var m=pf();(Ct!==t||Tt!==r)&&(dr=null,ni=nt()+500,ys(t,r));do try{Jm();break}catch(S){hf(t,S)}while(!0);Sl(),fa.current=m,Ke=h,_t!==null?r=0:(Ct=null,Tt=0,r=bt)}if(r!==0){if(r===2&&(h=er(t),h!==0&&(c=h,r=lc(t,h))),r===1)throw a=qi,ys(t,0),Wr(t,c),nn(t,nt()),a;if(r===6)Wr(t,c);else{if(h=t.current.alternate,(c&30)===0&&!Hm(h)&&(r=va(t,c),r===2&&(m=er(t),m!==0&&(c=m,r=lc(t,m))),r===1))throw a=qi,ys(t,0),Wr(t,c),nn(t,nt()),a;switch(t.finishedWork=h,t.finishedLanes=c,r){case 0:case 1:throw Error(s(345));case 2:ws(t,tn,dr);break;case 3:if(Wr(t,c),(c&130023424)===c&&(r=ic+500-nt(),10<r)){if(Rs(t,0)!==0)break;if(h=t.suspendedLanes,(h&c)!==c){Gt(),t.pingedLanes|=t.suspendedLanes&h;break}t.timeoutHandle=pl(ws.bind(null,t,tn,dr),r);break}ws(t,tn,dr);break;case 4:if(Wr(t,c),(c&4194240)===c)break;for(r=t.eventTimes,h=-1;0<c;){var v=31-pt(c);m=1<<v,v=r[v],v>h&&(h=v),c&=~m}if(c=h,c=nt()-c,c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3e3>c?3e3:4320>c?4320:1960*Gm(c/1960))-c,10<c){t.timeoutHandle=pl(ws.bind(null,t,tn,dr),c);break}ws(t,tn,dr);break;case 5:ws(t,tn,dr);break;default:throw Error(s(329))}}}return nn(t,nt()),t.callbackNode===a?df.bind(null,t):null}function lc(t,r){var a=eo;return t.current.memoizedState.isDehydrated&&(ys(t,r).flags|=256),t=va(t,r),t!==2&&(r=tn,tn=a,r!==null&&cc(r)),t}function cc(t){tn===null?tn=t:tn.push.apply(tn,t)}function Hm(t){for(var r=t;;){if(r.flags&16384){var a=r.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var c=0;c<a.length;c++){var h=a[c],m=h.getSnapshot;h=h.value;try{if(!An(m(),h))return!1}catch{return!1}}}if(a=r.child,r.subtreeFlags&16384&&a!==null)a.return=r,r=a;else{if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return!0;r=r.return}r.sibling.return=r.return,r=r.sibling}}return!0}function Wr(t,r){for(r&=~sc,r&=~ha,t.suspendedLanes|=r,t.pingedLanes&=~r,t=t.expirationTimes;0<r;){var a=31-pt(r),c=1<<a;t[a]=-1,r&=~c}}function ff(t){if((Ke&6)!==0)throw Error(s(327));ri();var r=Rs(t,0);if((r&1)===0)return nn(t,nt()),null;var a=va(t,r);if(t.tag!==0&&a===2){var c=er(t);c!==0&&(r=c,a=lc(t,c))}if(a===1)throw a=qi,ys(t,0),Wr(t,r),nn(t,nt()),a;if(a===6)throw Error(s(345));return t.finishedWork=t.current.alternate,t.finishedLanes=r,ws(t,tn,dr),nn(t,nt()),null}function uc(t,r){var a=Ke;Ke|=1;try{return t(r)}finally{Ke=a,Ke===0&&(ni=nt()+500,Ho&&Mr())}}function gs(t){Fr!==null&&Fr.tag===0&&(Ke&6)===0&&ri();var r=Ke;Ke|=1;var a=kn.transition,c=He;try{if(kn.transition=null,He=1,t)return t()}finally{He=c,kn.transition=a,Ke=r,(Ke&6)===0&&Mr()}}function dc(){mn=ti.current,st(ti)}function ys(t,r){t.finishedWork=null,t.finishedLanes=0;var a=t.timeoutHandle;if(a!==-1&&(t.timeoutHandle=-1,km(a)),_t!==null)for(a=_t.return;a!==null;){var c=a;switch(_l(c),c.tag){case 1:c=c.type.childContextTypes,c!=null&&Vo();break;case 3:Zs(),st(Zt),st(Dt),Il();break;case 5:Tl(c);break;case 4:Zs();break;case 13:st(at);break;case 19:st(at);break;case 10:Nl(c.type._context);break;case 22:case 23:dc()}a=a.return}if(Ct=t,_t=t=Ur(t.current,null),Tt=mn=r,bt=0,qi=null,sc=ha=ms=0,tn=eo=null,fs!==null){for(r=0;r<fs.length;r++)if(a=fs[r],c=a.interleaved,c!==null){a.interleaved=null;var h=c.next,m=a.pending;if(m!==null){var v=m.next;m.next=h,c.next=v}a.pending=c}fs=null}return t}function hf(t,r){do{var a=_t;try{if(Sl(),na.current=oa,ra){for(var c=lt.memoizedState;c!==null;){var h=c.queue;h!==null&&(h.pending=null),c=c.next}ra=!1}if(ps=0,Nt=kt=lt=null,Ki=!1,Ji=0,rc.current=null,a===null||a.return===null){bt=1,qi=r,_t=null;break}e:{var m=t,v=a.return,S=a,R=r;if(r=Tt,S.flags|=32768,R!==null&&typeof R=="object"&&typeof R.then=="function"){var U=R,ne=S,ie=ne.tag;if((ne.mode&1)===0&&(ie===0||ie===11||ie===15)){var q=ne.alternate;q?(ne.updateQueue=q.updateQueue,ne.memoizedState=q.memoizedState,ne.lanes=q.lanes):(ne.updateQueue=null,ne.memoizedState=null)}var ge=Od(v);if(ge!==null){ge.flags&=-257,Dd(ge,v,S,m,r),ge.mode&1&&Pd(m,U,r),r=ge,R=U;var xe=r.updateQueue;if(xe===null){var ke=new Set;ke.add(R),r.updateQueue=ke}else xe.add(R);break e}else{if((r&1)===0){Pd(m,U,r),fc();break e}R=Error(s(426))}}else if(it&&S.mode&1){var gt=Od(v);if(gt!==null){(gt.flags&65536)===0&&(gt.flags|=256),Dd(gt,v,S,m,r),bl(qs(R,S));break e}}m=R=qs(R,S),bt!==4&&(bt=2),eo===null?eo=[m]:eo.push(m),m=v;do{switch(m.tag){case 3:m.flags|=65536,r&=-r,m.lanes|=r;var D=Md(m,R,r);ad(m,D);break e;case 1:S=R;var M=m.type,F=m.stateNode;if((m.flags&128)===0&&(typeof M.getDerivedStateFromError=="function"||F!==null&&typeof F.componentDidCatch=="function"&&(Dr===null||!Dr.has(F)))){m.flags|=65536,r&=-r,m.lanes|=r;var ce=Ld(m,S,r);ad(m,ce);break e}}m=m.return}while(m!==null)}gf(a)}catch(be){r=be,_t===a&&a!==null&&(_t=a=a.return);continue}break}while(!0)}function pf(){var t=fa.current;return fa.current=oa,t===null?oa:t}function fc(){(bt===0||bt===3||bt===2)&&(bt=4),Ct===null||(ms&268435455)===0&&(ha&268435455)===0||Wr(Ct,Tt)}function va(t,r){var a=Ke;Ke|=2;var c=pf();(Ct!==t||Tt!==r)&&(dr=null,ys(t,r));do try{Km();break}catch(h){hf(t,h)}while(!0);if(Sl(),Ke=a,fa.current=c,_t!==null)throw Error(s(261));return Ct=null,Tt=0,bt}function Km(){for(;_t!==null;)mf(_t)}function Jm(){for(;_t!==null&&!We();)mf(_t)}function mf(t){var r=vf(t.alternate,t,mn);t.memoizedProps=t.pendingProps,r===null?gf(t):_t=r,rc.current=null}function gf(t){var r=t;do{var a=r.alternate;if(t=r.return,(r.flags&32768)===0){if(a=zm(a,r,mn),a!==null){_t=a;return}}else{if(a=Wm(a,r),a!==null){a.flags&=32767,_t=a;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{bt=6,_t=null;return}}if(r=r.sibling,r!==null){_t=r;return}_t=r=t}while(r!==null);bt===0&&(bt=5)}function ws(t,r,a){var c=He,h=kn.transition;try{kn.transition=null,He=1,Qm(t,r,a,c)}finally{kn.transition=h,He=c}return null}function Qm(t,r,a,c){do ri();while(Fr!==null);if((Ke&6)!==0)throw Error(s(327));a=t.finishedWork;var h=t.finishedLanes;if(a===null)return null;if(t.finishedWork=null,t.finishedLanes=0,a===t.current)throw Error(s(177));t.callbackNode=null,t.callbackPriority=0;var m=a.lanes|a.childLanes;if(Si(t,m),t===Ct&&(_t=Ct=null,Tt=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||ma||(ma=!0,_f(fn,function(){return ri(),null})),m=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||m){m=kn.transition,kn.transition=null;var v=He;He=1;var S=Ke;Ke|=4,rc.current=null,Bm(t,a),of(a,t),mm(fl),os=!!dl,fl=dl=null,t.current=a,Vm(a),dn(),Ke=S,He=v,kn.transition=m}else t.current=a;if(ma&&(ma=!1,Fr=t,ga=h),m=t.pendingLanes,m===0&&(Dr=null),So(a.stateNode),nn(t,nt()),r!==null)for(c=t.onRecoverableError,a=0;a<r.length;a++)h=r[a],c(h.value,{componentStack:h.stack,digest:h.digest});if(pa)throw pa=!1,t=oc,oc=null,t;return(ga&1)!==0&&t.tag!==0&&ri(),m=t.pendingLanes,(m&1)!==0?t===ac?to++:(to=0,ac=t):to=0,Mr(),null}function ri(){if(Fr!==null){var t=rs(ga),r=kn.transition,a=He;try{if(kn.transition=null,He=16>t?16:t,Fr===null)var c=!1;else{if(t=Fr,Fr=null,ga=0,(Ke&6)!==0)throw Error(s(331));var h=Ke;for(Ke|=4,_e=t.current;_e!==null;){var m=_e,v=m.child;if((_e.flags&16)!==0){var S=m.deletions;if(S!==null){for(var R=0;R<S.length;R++){var U=S[R];for(_e=U;_e!==null;){var ne=_e;switch(ne.tag){case 0:case 11:case 15:Zi(8,ne,m)}var ie=ne.child;if(ie!==null)ie.return=ne,_e=ie;else for(;_e!==null;){ne=_e;var q=ne.sibling,ge=ne.return;if(ef(ne),ne===U){_e=null;break}if(q!==null){q.return=ge,_e=q;break}_e=ge}}}var xe=m.alternate;if(xe!==null){var ke=xe.child;if(ke!==null){xe.child=null;do{var gt=ke.sibling;ke.sibling=null,ke=gt}while(ke!==null)}}_e=m}}if((m.subtreeFlags&2064)!==0&&v!==null)v.return=m,_e=v;else e:for(;_e!==null;){if(m=_e,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:Zi(9,m,m.return)}var D=m.sibling;if(D!==null){D.return=m.return,_e=D;break e}_e=m.return}}var M=t.current;for(_e=M;_e!==null;){v=_e;var F=v.child;if((v.subtreeFlags&2064)!==0&&F!==null)F.return=v,_e=F;else e:for(v=M;_e!==null;){if(S=_e,(S.flags&2048)!==0)try{switch(S.tag){case 0:case 11:case 15:da(9,S)}}catch(be){ut(S,S.return,be)}if(S===v){_e=null;break e}var ce=S.sibling;if(ce!==null){ce.return=S.return,_e=ce;break e}_e=S.return}}if(Ke=h,Mr(),ht&&typeof ht.onPostCommitFiberRoot=="function")try{ht.onPostCommitFiberRoot(es,t)}catch{}c=!0}return c}finally{He=a,kn.transition=r}}return!1}function yf(t,r,a){r=qs(a,r),r=Md(t,r,1),t=Pr(t,r,1),r=Gt(),t!==null&&(mt(t,1,r),nn(t,r))}function ut(t,r,a){if(t.tag===3)yf(t,t,a);else for(;r!==null;){if(r.tag===3){yf(r,t,a);break}else if(r.tag===1){var c=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(Dr===null||!Dr.has(c))){t=qs(a,t),t=Ld(r,t,1),r=Pr(r,t,1),t=Gt(),r!==null&&(mt(r,1,t),nn(r,t));break}}r=r.return}}function Ym(t,r,a){var c=t.pingCache;c!==null&&c.delete(r),r=Gt(),t.pingedLanes|=t.suspendedLanes&a,Ct===t&&(Tt&a)===a&&(bt===4||bt===3&&(Tt&130023424)===Tt&&500>nt()-ic?ys(t,0):sc|=a),nn(t,r)}function wf(t,r){r===0&&((t.mode&1)===0?r=1:(r=Pt,Pt<<=1,(Pt&130023424)===0&&(Pt=4194304)));var a=Gt();t=lr(t,r),t!==null&&(mt(t,r,a),nn(t,a))}function Xm(t){var r=t.memoizedState,a=0;r!==null&&(a=r.retryLane),wf(t,a)}function Zm(t,r){var a=0;switch(t.tag){case 13:var c=t.stateNode,h=t.memoizedState;h!==null&&(a=h.retryLane);break;case 19:c=t.stateNode;break;default:throw Error(s(314))}c!==null&&c.delete(r),wf(t,a)}var vf;vf=function(t,r,a){if(t!==null)if(t.memoizedProps!==r.pendingProps||Zt.current)en=!0;else{if((t.lanes&a)===0&&(r.flags&128)===0)return en=!1,Fm(t,r,a);en=(t.flags&131072)!==0}else en=!1,it&&(r.flags&1048576)!==0&&Xu(r,Jo,r.index);switch(r.lanes=0,r.tag){case 2:var c=r.type;ca(t,r),t=r.pendingProps;var h=Gs(r,Dt.current);Xs(r,a),h=Pl(null,r,c,t,h,a);var m=Ol();return r.flags|=1,typeof h=="object"&&h!==null&&typeof h.render=="function"&&h.$$typeof===void 0?(r.tag=1,r.memoizedState=null,r.updateQueue=null,qt(c)?(m=!0,Go(r)):m=!1,r.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,El(r),h.updater=aa,r.stateNode=h,h._reactInternals=r,Bl(r,c,t,a),r=Kl(null,r,c,!0,m,a)):(r.tag=0,it&&m&&vl(r),Vt(null,r,h,a),r=r.child),r;case 16:c=r.elementType;e:{switch(ca(t,r),t=r.pendingProps,h=c._init,c=h(c._payload),r.type=c,h=r.tag=eg(c),t=Rn(c,t),h){case 0:r=Hl(null,r,c,t,a);break e;case 1:r=Vd(null,r,c,t,a);break e;case 11:r=Fd(null,r,c,t,a);break e;case 14:r=zd(null,r,c,Rn(c.type,t),a);break e}throw Error(s(306,c,""))}return r;case 0:return c=r.type,h=r.pendingProps,h=r.elementType===c?h:Rn(c,h),Hl(t,r,c,h,a);case 1:return c=r.type,h=r.pendingProps,h=r.elementType===c?h:Rn(c,h),Vd(t,r,c,h,a);case 3:e:{if(Gd(r),t===null)throw Error(s(387));c=r.pendingProps,m=r.memoizedState,h=m.element,od(t,r),ea(r,c,null,a);var v=r.memoizedState;if(c=v.element,m.isDehydrated)if(m={element:c,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},r.updateQueue.baseState=m,r.memoizedState=m,r.flags&256){h=qs(Error(s(423)),r),r=Hd(t,r,c,a,h);break e}else if(c!==h){h=qs(Error(s(424)),r),r=Hd(t,r,c,a,h);break e}else for(pn=Tr(r.stateNode.containerInfo.firstChild),hn=r,it=!0,Tn=null,a=sd(r,null,c,a),r.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Js(),c===h){r=ur(t,r,a);break e}Vt(t,r,c,a)}r=r.child}return r;case 5:return cd(r),t===null&&kl(r),c=r.type,h=r.pendingProps,m=t!==null?t.memoizedProps:null,v=h.children,hl(c,h)?v=null:m!==null&&hl(c,m)&&(r.flags|=32),Bd(t,r),Vt(t,r,v,a),r.child;case 6:return t===null&&kl(r),null;case 13:return Kd(t,r,a);case 4:return Al(r,r.stateNode.containerInfo),c=r.pendingProps,t===null?r.child=Qs(r,null,c,a):Vt(t,r,c,a),r.child;case 11:return c=r.type,h=r.pendingProps,h=r.elementType===c?h:Rn(c,h),Fd(t,r,c,h,a);case 7:return Vt(t,r,r.pendingProps,a),r.child;case 8:return Vt(t,r,r.pendingProps.children,a),r.child;case 12:return Vt(t,r,r.pendingProps.children,a),r.child;case 10:e:{if(c=r.type._context,h=r.pendingProps,m=r.memoizedProps,v=h.value,et(Xo,c._currentValue),c._currentValue=v,m!==null)if(An(m.value,v)){if(m.children===h.children&&!Zt.current){r=ur(t,r,a);break e}}else for(m=r.child,m!==null&&(m.return=r);m!==null;){var S=m.dependencies;if(S!==null){v=m.child;for(var R=S.firstContext;R!==null;){if(R.context===c){if(m.tag===1){R=cr(-1,a&-a),R.tag=2;var U=m.updateQueue;if(U!==null){U=U.shared;var ne=U.pending;ne===null?R.next=R:(R.next=ne.next,ne.next=R),U.pending=R}}m.lanes|=a,R=m.alternate,R!==null&&(R.lanes|=a),Cl(m.return,a,r),S.lanes|=a;break}R=R.next}}else if(m.tag===10)v=m.type===r.type?null:m.child;else if(m.tag===18){if(v=m.return,v===null)throw Error(s(341));v.lanes|=a,S=v.alternate,S!==null&&(S.lanes|=a),Cl(v,a,r),v=m.sibling}else v=m.child;if(v!==null)v.return=m;else for(v=m;v!==null;){if(v===r){v=null;break}if(m=v.sibling,m!==null){m.return=v.return,v=m;break}v=v.return}m=v}Vt(t,r,h.children,a),r=r.child}return r;case 9:return h=r.type,c=r.pendingProps.children,Xs(r,a),h=_n(h),c=c(h),r.flags|=1,Vt(t,r,c,a),r.child;case 14:return c=r.type,h=Rn(c,r.pendingProps),h=Rn(c.type,h),zd(t,r,c,h,a);case 15:return Wd(t,r,r.type,r.pendingProps,a);case 17:return c=r.type,h=r.pendingProps,h=r.elementType===c?h:Rn(c,h),ca(t,r),r.tag=1,qt(c)?(t=!0,Go(r)):t=!1,Xs(r,a),Rd(r,c,h),Bl(r,c,h,a),Kl(null,r,c,!0,t,a);case 19:return Qd(t,r,a);case 22:return Ud(t,r,a)}throw Error(s(156,r.tag))};function _f(t,r){return bo(t,r)}function qm(t,r,a,c){this.tag=t,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=r,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 bn(t,r,a,c){return new qm(t,r,a,c)}function hc(t){return t=t.prototype,!(!t||!t.isReactComponent)}function eg(t){if(typeof t=="function")return hc(t)?1:0;if(t!=null){if(t=t.$$typeof,t===B)return 11;if(t===ae)return 14}return 2}function Ur(t,r){var a=t.alternate;return a===null?(a=bn(t.tag,r,t.key,t.mode),a.elementType=t.elementType,a.type=t.type,a.stateNode=t.stateNode,a.alternate=t,t.alternate=a):(a.pendingProps=r,a.type=t.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=t.flags&14680064,a.childLanes=t.childLanes,a.lanes=t.lanes,a.child=t.child,a.memoizedProps=t.memoizedProps,a.memoizedState=t.memoizedState,a.updateQueue=t.updateQueue,r=t.dependencies,a.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},a.sibling=t.sibling,a.index=t.index,a.ref=t.ref,a}function _a(t,r,a,c,h,m){var v=2;if(c=t,typeof t=="function")hc(t)&&(v=1);else if(typeof t=="string")v=5;else e:switch(t){case G:return vs(a.children,h,m,r);case O:v=8,h|=8;break;case de:return t=bn(12,a,r,h|2),t.elementType=de,t.lanes=m,t;case J:return t=bn(13,a,r,h),t.elementType=J,t.lanes=m,t;case fe:return t=bn(19,a,r,h),t.elementType=fe,t.lanes=m,t;case ye:return xa(a,h,m,r);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case re:v=10;break e;case Q:v=9;break e;case B:v=11;break e;case ae:v=14;break e;case we:v=16,c=null;break e}throw Error(s(130,t==null?t:typeof t,""))}return r=bn(v,a,r,h),r.elementType=t,r.type=c,r.lanes=m,r}function vs(t,r,a,c){return t=bn(7,t,c,r),t.lanes=a,t}function xa(t,r,a,c){return t=bn(22,t,c,r),t.elementType=ye,t.lanes=a,t.stateNode={isHidden:!1},t}function pc(t,r,a){return t=bn(6,t,null,r),t.lanes=a,t}function mc(t,r,a){return r=bn(4,t.children!==null?t.children:[],t.key,r),r.lanes=a,r.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},r}function tg(t,r,a,c,h){this.tag=r,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ns(0),this.expirationTimes=ns(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ns(0),this.identifierPrefix=c,this.onRecoverableError=h,this.mutableSourceEagerHydrationData=null}function gc(t,r,a,c,h,m,v,S,R){return t=new tg(t,r,a,S,R),r===1?(r=1,m===!0&&(r|=8)):r=0,m=bn(3,null,null,r),t.current=m,m.stateNode=t,m.memoizedState={element:c,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},El(m),t}function ng(t,r,a){var c=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:V,key:c==null?null:""+c,children:t,containerInfo:r,implementation:a}}function xf(t){if(!t)return Ir;t=t._reactInternals;e:{if(Yn(t)!==t||t.tag!==1)throw Error(s(170));var r=t;do{switch(r.tag){case 3:r=r.stateNode.context;break e;case 1:if(qt(r.type)){r=r.stateNode.__reactInternalMemoizedMergedChildContext;break e}}r=r.return}while(r!==null);throw Error(s(171))}if(t.tag===1){var a=t.type;if(qt(a))return Ju(t,a,r)}return r}function kf(t,r,a,c,h,m,v,S,R){return t=gc(a,c,!0,t,h,m,v,S,R),t.context=xf(null),a=t.current,c=Gt(),h=zr(a),m=cr(c,h),m.callback=r??null,Pr(a,m,h),t.current.lanes=h,mt(t,h,c),nn(t,c),t}function ka(t,r,a,c){var h=r.current,m=Gt(),v=zr(h);return a=xf(a),r.context===null?r.context=a:r.pendingContext=a,r=cr(m,v),r.payload={element:t},c=c===void 0?null:c,c!==null&&(r.callback=c),t=Pr(h,r,v),t!==null&&(Ln(t,h,v,m),qo(t,h,v)),v}function ba(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function bf(t,r){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var a=t.retryLane;t.retryLane=a!==0&&a<r?a:r}}function yc(t,r){bf(t,r),(t=t.alternate)&&bf(t,r)}function rg(){return null}var jf=typeof reportError=="function"?reportError:function(t){console.error(t)};function wc(t){this._internalRoot=t}ja.prototype.render=wc.prototype.render=function(t){var r=this._internalRoot;if(r===null)throw Error(s(409));ka(t,r,null,null)},ja.prototype.unmount=wc.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var r=t.containerInfo;gs(function(){ka(null,t,null,null)}),r[sr]=null}};function ja(t){this._internalRoot=t}ja.prototype.unstable_scheduleHydration=function(t){if(t){var r=Ms();t={blockedOn:null,target:t,priority:r};for(var a=0;a<En.length&&r!==0&&r<En[a].priority;a++);En.splice(a,0,t),a===0&&Ei(t)}};function vc(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function Sa(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function Sf(){}function sg(t,r,a,c,h){if(h){if(typeof c=="function"){var m=c;c=function(){var U=ba(v);m.call(U)}}var v=kf(r,c,t,0,null,!1,!1,"",Sf);return t._reactRootContainer=v,t[sr]=v.current,Fi(t.nodeType===8?t.parentNode:t),gs(),v}for(;h=t.lastChild;)t.removeChild(h);if(typeof c=="function"){var S=c;c=function(){var U=ba(R);S.call(U)}}var R=gc(t,0,!1,null,null,!1,!1,"",Sf);return t._reactRootContainer=R,t[sr]=R.current,Fi(t.nodeType===8?t.parentNode:t),gs(function(){ka(r,R,a,c)}),R}function Na(t,r,a,c,h){var m=a._reactRootContainer;if(m){var v=m;if(typeof h=="function"){var S=h;h=function(){var R=ba(v);S.call(R)}}ka(r,v,t,h)}else v=sg(a,r,t,h,c);return ba(v)}$o=function(t){switch(t.tag){case 3:var r=t.stateNode;if(r.current.memoizedState.isDehydrated){var a=jr(r.pendingLanes);a!==0&&(Sr(r,a|1),nn(r,nt()),(Ke&6)===0&&(ni=nt()+500,Mr()))}break;case 13:gs(function(){var c=lr(t,1);if(c!==null){var h=Gt();Ln(c,t,1,h)}}),yc(t,1)}},Is=function(t){if(t.tag===13){var r=lr(t,134217728);if(r!==null){var a=Gt();Ln(r,t,134217728,a)}yc(t,134217728)}},Ni=function(t){if(t.tag===13){var r=zr(t),a=lr(t,r);if(a!==null){var c=Gt();Ln(a,t,r,c)}yc(t,r)}},Ms=function(){return He},Eo=function(t,r){var a=He;try{return He=t,r()}finally{He=a}},Cs=function(t,r,a){switch(r){case"input":if(Me(t,a),r=a.name,a.type==="radio"&&r!=null){for(a=t;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<a.length;r++){var c=a[r];if(c!==t&&c.form===t.form){var h=Bo(c);if(!h)throw Error(s(90));te(c),Me(c,h)}}}break;case"textarea":Ve(t,a);break;case"select":r=a.value,r!=null&&pe(t,!!a.multiple,r,!1)}},vi=uc,$s=gs;var ig={usingClientEntryPoint:!1,Events:[Ui,Bs,Bo,vr,vo,uc]},no={findFiberByHostInstance:ls,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},og={bundleType:no.bundleType,version:no.version,rendererPackageName:no.rendererPackageName,rendererConfig:no.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=bi(t),t===null?null:t.stateNode},findFiberByHostInstance:no.findFiberByHostInstance||rg,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 Ca=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ca.isDisabled&&Ca.supportsFiber)try{es=Ca.inject(og),ht=Ca}catch{}}return rn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ig,rn.createPortal=function(t,r){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!vc(r))throw Error(s(200));return ng(t,r,null,a)},rn.createRoot=function(t,r){if(!vc(t))throw Error(s(299));var a=!1,c="",h=jf;return r!=null&&(r.unstable_strictMode===!0&&(a=!0),r.identifierPrefix!==void 0&&(c=r.identifierPrefix),r.onRecoverableError!==void 0&&(h=r.onRecoverableError)),r=gc(t,1,!1,null,null,a,!1,c,h),t[sr]=r.current,Fi(t.nodeType===8?t.parentNode:t),new wc(r)},rn.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var r=t._reactInternals;if(r===void 0)throw typeof t.render=="function"?Error(s(188)):(t=Object.keys(t).join(","),Error(s(268,t)));return t=bi(r),t=t===null?null:t.stateNode,t},rn.flushSync=function(t){return gs(t)},rn.hydrate=function(t,r,a){if(!Sa(r))throw Error(s(200));return Na(null,t,r,!0,a)},rn.hydrateRoot=function(t,r,a){if(!vc(t))throw Error(s(405));var c=a!=null&&a.hydratedSources||null,h=!1,m="",v=jf;if(a!=null&&(a.unstable_strictMode===!0&&(h=!0),a.identifierPrefix!==void 0&&(m=a.identifierPrefix),a.onRecoverableError!==void 0&&(v=a.onRecoverableError)),r=kf(r,null,t,1,a??null,h,!1,m,v),t[sr]=r.current,Fi(t),c)for(t=0;t<c.length;t++)a=c[t],h=a._getVersion,h=h(a._source),r.mutableSourceEagerHydrationData==null?r.mutableSourceEagerHydrationData=[a,h]:r.mutableSourceEagerHydrationData.push(a,h);return new ja(r)},rn.render=function(t,r,a){if(!Sa(r))throw Error(s(200));return Na(null,t,r,!1,a)},rn.unmountComponentAtNode=function(t){if(!Sa(t))throw Error(s(40));return t._reactRootContainer?(gs(function(){Na(null,null,t,!1,function(){t._reactRootContainer=null,t[sr]=null})}),!0):!1},rn.unstable_batchedUpdates=uc,rn.unstable_renderSubtreeIntoContainer=function(t,r,a,c){if(!Sa(a))throw Error(s(200));if(t==null||t._reactInternals===void 0)throw Error(s(38));return Na(t,r,a,!1,c)},rn.version="18.3.1-next-f1338f8080-20240426",rn}var If;function $h(){if(If)return kc.exports;If=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(n){console.error(n)}}return e(),kc.exports=mg(),kc.exports}var Mf;function gg(){if(Mf)return $a;Mf=1;var e=$h();return $a.createRoot=e.createRoot,$a.hydrateRoot=e.hydrateRoot,$a}var yg=gg();const wg=Ch(yg),Eh=[{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"]}];Eh.map(e=>({id:e.id,label:e.label}));function vg(e){return`theme-${String(e||"").trim()||"dark"}`}function Lf(e){try{const n=document.documentElement,s=Array.from(n.classList).filter(o=>o.startsWith("theme-"));for(const o of s)n.classList.remove(o);n.classList.add(vg(e))}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}],Vc=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function _g(e){const n=String(e).trim();return Bc.find(s=>s.id===n)||Bc[1]}function xg(e){const n=String(e).trim();return Vc.find(s=>s.id===n)||Vc[1]}function Pf(e){try{const n=document.documentElement,s=_g(e.font_scale||"md"),o=xg(e.header_density||"standard");n.style.setProperty("--font-scale",String(s.scale)),n.style.setProperty("--header-density",String(o.density))}catch{}}var Ah=$h();function si(...e){return e.filter(Boolean).join(" ")}function Jr({value:e,options:n,placeholder:s="Select…",disabled:o=!1,loading:l=!1,searchable:u=!0,searchPlaceholder:d="Search…",allowCustom:p=!1,clearable:f=!1,minPopoverWidth:g=240,variant:y="panel",className:_,triggerClassName:k,ariaLabel:x,id:$,includeValueOption:C=!1,onOpen:j,customOptionLabel:T,validateCustomValue:A,onChange:E,renderOption:b,renderValue:P}){const V=w.useRef(null),G=w.useRef(null),O=w.useRef(null),de=w.useRef(j),re=w.useId(),Q=$||`af-select-${re.replace(/[^a-zA-Z0-9_-]/g,"")}`,B=`${Q}-listbox`,[J,fe]=w.useState(!1),[ae,we]=w.useState(""),[ye,Z]=w.useState(0),[Y,H]=w.useState("bottom"),[N,L]=w.useState({left:0,top:0,width:0});w.useEffect(()=>{de.current=j},[j]);const z=w.useMemo(()=>{if(!C)return n;const K=String(e??"").trim();return!K||n.some(pe=>pe.value===K)?n:[...n,{value:K,label:K}]},[C,n,e]),W=w.useMemo(()=>{const K=String(e??"");return z.find(pe=>pe.value===K)||null},[z,e]),ee=w.useMemo(()=>(W==null?void 0:W.label)||String(e||"").trim()||"",[W,e]),le=w.useMemo(()=>{const K=ae.trim().toLowerCase();return K?z.filter(pe=>pe.label.toLowerCase().includes(K)||pe.value.toLowerCase().includes(K)):z},[z,ae]),he=w.useMemo(()=>{if(!p)return null;const K=ae.trim();if(!K||z.some(Ge=>Ge.value===K))return null;const Pe=(A==null?void 0:A(K,{options:z}))||"";return{value:K,label:T?T(K):`Use "${K}"`,disabled:!!Pe,reason:Pe}},[p,T,z,ae,A]),ue=w.useMemo(()=>{const K=he?[he,...le]:le;if(K.length>0)return K;const pe=String(e??"").trim();return l&&pe?[{value:pe,label:ee||pe}]:K},[he,le,l,ee,e]),Ae=w.useCallback(()=>{const K=V.current;if(!K)return;const pe=K.getBoundingClientRect(),Pe=Math.max(pe.width,g),Ge=Math.max(8,Math.min(pe.left,window.innerWidth-Pe-8)),Ve=window.innerHeight-pe.bottom,Hn=pe.top,Lt=Ve>=220||Ve>=Hn?"bottom":"top";H(Lt);const Nn=Lt==="bottom"?pe.bottom+6:pe.top-6;L({left:Ge,top:Nn,width:Pe})},[g]),Be=w.useCallback(()=>{fe(!1),we("")},[]);w.useEffect(()=>{var K;J&&((K=de.current)==null||K.call(de))},[J]),w.useEffect(()=>{if(!J)return;Ae();const K=()=>Ae();return window.addEventListener("resize",K),window.addEventListener("scroll",K,!0),()=>{window.removeEventListener("resize",K),window.removeEventListener("scroll",K,!0)}},[J,Ae]),w.useEffect(()=>{if(!J)return;const K=pe=>{var Ge,Ve;const Pe=pe.target;Pe&&((Ge=V.current)!=null&&Ge.contains(Pe)||(Ve=G.current)!=null&&Ve.contains(Pe)||Be())};return document.addEventListener("mousedown",K,!0),()=>document.removeEventListener("mousedown",K,!0)},[J,Be]),w.useEffect(()=>{if(!J)return;const K=Math.max(0,ue.findIndex(pe=>pe.value===e));Z(K===-1?0:K),u&&setTimeout(()=>{var pe;return(pe=O.current)==null?void 0:pe.focus()},0)},[J,u,e,ue]);const ct=K=>{var Pe;const pe=ue.find(Ge=>Ge.value===K);pe!=null&&pe.disabled||(E(K),Be(),(Pe=V.current)==null||Pe.focus())},te=K=>{var pe,Pe;if(K.key==="Escape")return K.preventDefault(),Be(),(pe=V.current)==null||pe.focus(),!0;if(K.key==="Tab")return Be(),(Pe=V.current)==null||Pe.focus(),!1;if(K.key==="ArrowDown")return K.preventDefault(),Z(Ge=>Math.min(Ge+1,Math.max(0,ue.length-1))),!0;if(K.key==="ArrowUp")return K.preventDefault(),Z(Ge=>Math.max(Ge-1,0)),!0;if(K.key==="Home")return K.preventDefault(),Z(0),!0;if(K.key==="End")return K.preventDefault(),Z(Math.max(0,ue.length-1)),!0;if(K.key==="Enter"){K.preventDefault();const Ge=ue[ye];return Ge&&ct(Ge.value),!0}return!1},se=K=>{if(!o){if(J){if(te(K))return;if(K.key===" "&&!u){K.preventDefault();const pe=ue[ye];pe&&ct(pe.value)}return}(K.key==="Enter"||K.key===" "||K.key==="ArrowDown"||K.key==="ArrowUp")&&(K.preventDefault(),fe(!0))}},me=!!String(e||"").trim(),Oe=me?ee:s,ve=he!=null&&he.disabled?he.reason||"Unavailable":"",Me=J&&ue.length>0?`${Q}-opt-${ye}`:void 0,ze=i.jsx("span",{className:si("af-select-value",!me&&"af-select-value--placeholder"),children:l&&!me?"Loading…":Oe}),tt=P?P(W,String(e||"")):ze;return i.jsxs("span",{className:si("af-select",y==="pin"?"af-select--pin":"af-select--panel",_),children:[i.jsxs("button",{ref:V,id:Q,type:"button",className:si("af-select-trigger",f&&me&&"af-select-trigger--clearable",k),disabled:o,onMouseDown:K=>K.stopPropagation(),onClick:K=>{K.stopPropagation(),!o&&fe(pe=>!pe)},onKeyDown:se,role:u?void 0:"combobox","aria-haspopup":"listbox","aria-expanded":J,"aria-controls":J?B:void 0,"aria-activedescendant":u?void 0:Me,"aria-label":x,children:[tt,i.jsx("span",{className:si("af-select-caret",J&&"af-select-caret--open"),children:"▾"})]}),f&&me?i.jsx("button",{type:"button",className:"af-select-clear-btn","aria-label":"Clear selection",disabled:o,onMouseDown:K=>{K.preventDefault(),K.stopPropagation()},onClick:K=>{var pe;K.preventDefault(),K.stopPropagation(),E(""),Be(),(pe=V.current)==null||pe.focus()},title:"Clear",children:"×"}):null,J?Ah.createPortal(i.jsxs("div",{ref:G,className:si("af-select-popover",Y==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${N.left}px`,top:`${N.top}px`,width:`${N.width}px`},onMouseDown:K=>K.stopPropagation(),onClick:K=>K.stopPropagation(),onWheel:K=>K.stopPropagation(),onKeyDown:te,tabIndex:-1,children:[u?i.jsxs("div",{className:"af-select-search",children:[i.jsx("input",{ref:O,className:"af-select-search-input",value:ae,onChange:K=>we(K.target.value),placeholder:d,onKeyDown:te,role:"combobox","aria-expanded":!0,"aria-controls":B,"aria-activedescendant":Me,"aria-invalid":!!ve,"aria-describedby":ve?`${Q}-custom-error`:void 0}),ve?i.jsx("div",{id:`${Q}-custom-error`,className:"af-select-custom-error",role:"alert",children:ve}):null]}):null,i.jsx("div",{className:"af-select-options",role:"listbox",id:B,"aria-label":x,children:l&&ue.length===0?i.jsx("div",{className:"af-select-empty",children:"Loading…"}):ue.length===0?i.jsx("div",{className:"af-select-empty",children:"No results"}):ue.map((K,pe)=>{var Nn;const Pe=K.value===e,Ge=pe===ye,Ve=String(K.group||"").trim(),Hn=pe>0?String(((Nn=ue[pe-1])==null?void 0:Nn.group)||"").trim():"",Lt=!!Ve&&Ve!==Hn;return i.jsxs(yt.Fragment,{children:[Lt?i.jsx("div",{className:"af-select-group",role:"presentation",children:Ve}):null,i.jsx("div",{id:`${Q}-opt-${pe}`,role:"option","aria-selected":Pe,className:si("af-select-option",Pe&&"af-select-option--selected",Ge&&"af-select-option--highlighted",K.disabled&&"af-select-option--disabled"),title:K.disabled?K.reason||"Unavailable":void 0,onMouseEnter:()=>Z(pe),onMouseDown:Kn=>{Kn.preventDefault(),Kn.stopPropagation()},onClick:()=>ct(K.value),"aria-disabled":K.disabled?!0:void 0,children:b?b(K,{selected:Pe,highlighted:Ge}):i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"af-select-option-label",children:[i.jsx("span",{children:K.label}),K.reason?i.jsx("small",{className:"af-select-option-reason",children:K.reason}):null]}),Pe?i.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},K.value)})})]}),document.body):null]})}function kg(e){const n=new Set,s=[];for(const o of e||[]){if(!o||typeof o!="object")continue;const l=String(o.name||"").trim();!l||n.has(l)||(n.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 bg(e){const n=new Set,s=[];for(const o of e||[]){const l=String(o||"").trim();!l||n.has(l)||(n.add(l),s.push(l))}return s.sort(),s}function jg(e){const n=e.disabled===!0,s=e.layout||"stack",o=e.allowGatewayDefault!==!1,l=String(e.gatewayDefaultLabel||"(gateway default)"),u=String(e.providerLabel||"Provider"),d=String(e.modelLabel||"Model"),p=String(e.providerPlaceholder||"(select)"),f=String(e.modelPlaceholder||"(select)"),g=String(e.provider||"").trim(),y=String(e.model||"").trim(),_=kg(e.providers),k=bg(e.models),x=n||!!e.loadingProviders,$=n||!!e.loadingModels,C=[...o?[{value:"",label:l}]:[],..._.map(T=>({value:T.name,label:T.display_name?`${T.display_name} (${T.name})`:T.name}))],j=[...o?[{value:"",label:l}]:[],...k.map(T=>({value:T,label:T}))];return i.jsxs("div",{className:e.className,style:s==="row"?{display:"flex",gap:"10px",flexWrap:"wrap",alignItems:"flex-start"}:{display:"flex",flexDirection:"column",gap:"10px"},children:[i.jsxs("div",{style:s==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[i.jsx("label",{children:u}),i.jsx(Jr,{value:g,options:C,placeholder:o?l:p,disabled:x,loading:!!e.loadingProviders,searchable:!0,allowCustom:e.allowCustomProvider===!0,clearable:o,variant:"panel",triggerClassName:e.selectClassName,ariaLabel:u,onChange:T=>e.onChange({provider:String(T||"").trim(),model:""})}),e.loadingProviders?i.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading providers…"}):null,e.providerError?i.jsx("div",{className:"mono",style:{color:"var(--error)",fontSize:"12px",marginTop:"6px"},children:e.providerError}):null]}),i.jsxs("div",{style:s==="row"?{flex:"1 1 260px",minWidth:240}:void 0,children:[i.jsx("label",{children:d}),i.jsx(Jr,{value:y,options:j,placeholder:o?l:f,disabled:$,loading:!!e.loadingModels,searchable:!0,allowCustom:e.allowCustomModel===!0,clearable:o,variant:"panel",triggerClassName:e.selectClassName,ariaLabel:d,onChange:T=>e.onChange({provider:g,model:String(T||"").trim()})}),e.loadingModels?i.jsx("div",{className:"mono muted",style:{fontSize:"12px",marginTop:"6px"},children:"Loading models…"}):null,e.modelError?i.jsx("div",{className:"mono",style:{color:"var(--error)",fontSize:"12px",marginTop:"6px"},children:e.modelError}):null]})]})}function Th(e){if(e===!1||e&&typeof e=="object"&&e.mode==="off")return!1;if(!e||typeof e!="object")return;const n=e;if(!(n.mode!=="native_mtp"||!Number.isInteger(n.num_draft_tokens)||Number(n.num_draft_tokens)<1))return{mode:"native_mtp",num_draft_tokens:Number(n.num_draft_tokens),require_acceleration:!0}}function Sg(e){var s;const n=(s=e==null?void 0:e.execution)==null?void 0:s.speculation;return!n||typeof n.supported!="boolean"?null:{supported:n.supported,ready:typeof n.ready=="boolean"?n.ready:null,reason:typeof n.reason=="string"?n.reason:null,supported_depths:n.supported&&Array.isArray(n.supported_depths)?[...new Set(n.supported_depths.filter(o=>typeof o=="number"&&Number.isInteger(o)&&o>0))]:[],default:Object.prototype.hasOwnProperty.call(n,"effective_default")?n.effective_default:n.default,requires_reload:typeof n.requires_reload=="boolean"?n.requires_reload:null}}function Of(e){const n=Th(e);return n===!1?"off":n?String(n.num_draft_tokens):""}function Ng(e){if(e==="off")return!1;if(!(!/^\d+$/.test(e)||Number(e)<1))return{mode:"native_mtp",num_draft_tokens:Number(e),require_acceleration:!0}}function Cg(e){const n=Sg(e.capabilities),s=Of(e.value),o=(n==null?void 0:n.supported_depths.map(String))||[],l=Of(n==null?void 0:n.default),u=e.inheritLabel||"Workflow / Gateway default",d=l?`${u} (${l==="off"?"Off":`depth ${l}`})`:u,p=e.error||(e.loading?"Checking MTP capability…":n?n.reason||(n.requires_reload?"Model reload required before MTP can run.":n.ready===!1?"MTP is supported but not ready on this instance.":n.ready===null&&n.supported?"MTP support verified; loaded-instance readiness is unknown.":n.supported?"":"MTP is not supported on this model/backend."):"MTP capability unknown; no depth is assumed.");return i.jsxs("div",{className:"af-pmp__speculation",children:[i.jsx("label",{children:"MTP depth"}),i.jsx(Jr,{ariaLabel:"MTP depth",value:s,placeholder:d,disabled:e.disabled||e.loading,options:[{value:"",label:d},{value:"off",label:"Off"},...o.map(f=>({value:f,label:`Depth ${f}`})),...s&&s!=="off"&&!o.includes(s)?[{value:s,label:`Depth ${s} (saved; not available)`}]:[]],onChange:f=>e.onChange(Ng(f))}),p?i.jsx("div",{role:"status",className:"af-pmp__hint",children:p}):null]})}function tu(e){var Z,Y;const n=e.disabled===!0,s=e.value||{provider:"",model:""},o=!String(s.provider||"").trim()&&!String(s.model||"").trim(),[l,u]=w.useState(!o),d=o&&!l,p=w.useRef(o);w.useEffect(()=>{o&&!p.current&&u(!1),p.current=o},[o]);const[f,g]=w.useState([]),[y,_]=w.useState(!1),[k,x]=w.useState(""),[$,C]=w.useState([]),[j,T]=w.useState(!1),[A,E]=w.useState(""),b=w.useRef(e);b.current=e,w.useEffect(()=>{if(d||n)return;let H=!0;return _(!0),(async()=>{try{const N=await b.current.fetchProviders();if(!H)return;g(Array.isArray(N)?N:[]),x("")}catch(N){if(!H)return;g([]),x(`#FALLBACK provider discovery failed: ${String((N==null?void 0:N.message)||N)}`)}finally{H&&_(!1)}})(),()=>{H=!1}},[d,n]);const P=String(s.provider||"").trim();w.useEffect(()=>{if(!P||n){C([]),E(""),T(!1);return}let H=!0;return C([]),T(!0),E(""),(async()=>{try{const N=await b.current.fetchModels(P);if(!H)return;C(Array.isArray(N)?N:[])}catch(N){if(!H)return;C([]),E(`#FALLBACK model discovery failed: ${String((N==null?void 0:N.message)||N)}`)}finally{H&&T(!1)}})(),()=>{H=!1}},[P,n]);const V=w.useMemo(()=>{const H=[...f];return P&&!H.some(N=>N.name===P)&&H.unshift({name:P}),H},[f,P]),G=String(s.model||"").trim(),O=w.useMemo(()=>{const H=[...$];return G&&!H.includes(G)&&H.unshift(G),H},[$,G]),de=e.defaultModeLabel||"Gateway default",re=e.customModeLabel||"Custom",Q=P||((Z=e.effectiveDefault)==null?void 0:Z.provider)||"",B=G||(P?"":(Y=e.effectiveDefault)==null?void 0:Y.model)||"",[J,fe]=w.useState({levels:[],error:"",loading:!1}),ae=!!e.fetchModelCapabilities,[we,ye]=w.useState();return w.useEffect(()=>{let H=!0;if(ye(void 0),fe({levels:[],error:"",loading:ae&&!!B}),!(!ae||!B||n))return b.current.fetchModelCapabilities(B,Q).then(N=>{var ee;if(!H)return;if(N!=null&&N.error)throw new Error(String(N.error));ye(N);const L=(N==null?void 0:N.capabilities)||N||{},z=L.reasoning_levels||L.thinking_levels,W=Array.isArray(z)?[...new Set(z.filter(le=>typeof le=="string"&&!!le.trim()))]:[];!W.length&&L.thinking_support===!0&&((ee=L.thinking_control)!=null&&ee.prompt_disable_token)&&W.push("off","auto"),fe({levels:W,error:"",loading:!1})}).catch(N=>{H&&fe({levels:[],error:`Reasoning options unavailable: ${String((N==null?void 0:N.message)||N)}`,loading:!1})}),()=>{H=!1}},[Q,B,ae,n]),i.jsxs("div",{className:`af-pmp${e.className?` ${e.className}`:""}`,children:[i.jsxs("div",{className:"af-pmp__seg",role:"tablist","aria-label":"Provider mode",children:[i.jsx("button",{type:"button",role:"tab","aria-selected":d,className:`af-pmp__seg-btn${d?" is-active":""}`,onClick:()=>{u(!1),e.onChange({...s,provider:"",model:"",...ae?{reasoning:""}:{}})},disabled:n,children:de}),i.jsx("button",{type:"button",role:"tab","aria-selected":!d,className:`af-pmp__seg-btn${d?"":" is-active"}`,onClick:()=>{u(!0)},disabled:n,children:re})]}),d?i.jsx("div",{className:"af-pmp__hint",children:e.defaultHint||"The gateway picks its configured default provider and model for this task."}):i.jsx(jg,{provider:P,model:G,providers:V,models:O,disabled:n,loadingProviders:y,loadingModels:j,providerError:k||void 0,modelError:A||void 0,providerLabel:e.providerLabel,modelLabel:e.modelLabel,allowGatewayDefault:!1,allowCustomProvider:e.allowCustom!==!1,allowCustomModel:e.allowCustom!==!1,onChange:H=>e.onChange({...s,provider:H.provider,model:H.model,...ae?{reasoning:""}:{}})}),ae&&(J.levels.length>0||s.reasoning)?i.jsxs("div",{className:"af-pmp__reasoning",children:[i.jsx("label",{children:e.reasoningLabel||"Reasoning effort"}),i.jsx(Jr,{ariaLabel:e.reasoningLabel||"Reasoning effort",placeholder:"Workflow / Gateway default",value:s.reasoning||"",options:[{value:"",label:"Workflow / Gateway default"},...J.levels.map(H=>({value:H,label:H})),...s.reasoning&&!J.levels.includes(s.reasoning)?[{value:s.reasoning,label:`${s.reasoning} (saved; not advertised)`}]:[]],disabled:n||J.loading,onChange:H=>e.onChange({...s,reasoning:H})})]}):null,J.error?i.jsx("div",{role:"status",className:"af-pmp__hint",children:J.error}):null,e.enableSpeculation?i.jsx(Cg,{value:s.speculation,onChange:H=>e.onChange({...s,speculation:H}),capabilities:we,disabled:n,loading:J.loading,error:J.error?J.error.replace("Reasoning options","MTP options"):void 0}):null]})}function Df(...e){return e.filter(Boolean).join(" ")}function $g({kicker:e="AbstractGateway connection",title:n="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:d=!1,gatewayUrl:p="",gatewayUrlPlaceholder:f="http://127.0.0.1:8080",onGatewayUrlChange:g,userId:y,userPlaceholder:_="admin",onUserIdChange:k,token:x,tokenPlaceholder:$="Paste Gateway user token",showToken:C=!1,onTokenChange:j,onShowTokenChange:T,remember:A=!1,rememberLabel:E="Remember this browser",onRememberChange:b,loading:P=!1,submitting:V=!1,submitDisabled:G=!1,submitLabel:O="Sign in",submittingLabel:de="Signing in...",closeLabel:re="Close",signOutLabel:Q="Sign out",showClose:B=!1,showSignOut:J=!1,error:fe,message:ae,className:we,onSubmit:ye,onClose:Z,onSignOut:Y}){const H=P||V,N=H||G||!String(y||"").trim()||!String(x||"").trim(),L=z=>{z.preventDefault(),!N&&ye()};return i.jsxs("form",{className:Df("af-gateway-signin",we),onSubmit:L,children:[i.jsxs("div",{className:"af-gateway-signin__hero",children:[i.jsxs("div",{children:[i.jsx("div",{className:"af-gateway-signin__kicker",children:e}),i.jsx("h2",{children:n}),s?i.jsx("p",{children:s}):null]}),i.jsx("div",{className:"af-gateway-signin__mark","aria-hidden":"true",children:"↔"})]}),i.jsxs("div",{className:"af-gateway-signin__status-row",children:[i.jsx("span",{className:Df("af-gateway-signin__status",`af-gateway-signin__status--${l}`),children:o}),u?i.jsx("span",{className:"af-gateway-signin__source",children:u}):null]}),i.jsxs("div",{className:"af-gateway-signin__form",children:[d?i.jsxs(i.Fragment,{children:[i.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-url",children:"Gateway URL"}),i.jsx("input",{id:"gateway-session-url",value:p,onChange:z=>g==null?void 0:g(z.target.value),placeholder:f,autoComplete:"url",disabled:H})]}):null,i.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-user",children:"Gateway user"}),i.jsx("input",{id:"gateway-session-user",value:y,onChange:z=>k(z.target.value),placeholder:_,autoComplete:"username",disabled:H}),i.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-token",children:"Gateway token"}),i.jsxs("div",{className:"af-gateway-signin__token-input",children:[i.jsx("input",{id:"gateway-session-token",type:C?"text":"password",value:x,onChange:z=>j(z.target.value),placeholder:$,autoComplete:"current-password",disabled:H}),i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>T==null?void 0:T(!C),disabled:H,children:C?"Hide":"Show"})]}),i.jsx("label",{className:"af-gateway-signin__label",children:"Browser session"}),i.jsxs("label",{className:"af-gateway-signin__checkbox",children:[i.jsx("input",{type:"checkbox",checked:!!A,onChange:z=>b==null?void 0:b(z.target.checked),disabled:H}),E]})]}),fe?i.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--error",children:fe}):null,!fe&&ae?i.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--ok",children:ae}):null,i.jsxs("div",{className:"af-gateway-signin__actions",children:[B?i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:Z,disabled:H,children:re}):null,J?i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>void(Y==null?void 0:Y()),disabled:H,children:Q}):null,i.jsx("button",{className:"af-gateway-signin__primary",type:"submit",disabled:N,children:V?de:O})]})]})}function Eg(e){return e==="light"?"Light":"Dark"}function Ag(e){const n=e.themes&&e.themes.length?e.themes:Eh,s=e.showSwatches!==!1,o=e.variant||"panel",l=w.useMemo(()=>{const d={};for(const p of n)d[p.id]=p;return d},[n]),u=w.useMemo(()=>n.map(d=>({value:d.id,label:d.label,group:Eg(d.group)})),[n]);return i.jsx(Jr,{value:e.value,options:u,placeholder:e.placeholder||"Select theme…",disabled:e.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:o,className:e.className,triggerClassName:e.triggerClassName,onChange:d=>e.onChange(String(d||"").trim()),renderValue:(d,p)=>{const f=String(p||"").trim(),g=l[f],y=(g==null?void 0:g.label)||f||e.placeholder||"Select theme…",_=(g==null?void 0:g.swatches)||null,k=!f;return i.jsxs("span",{className:"af-theme-value",children:[i.jsx("span",{className:`af-theme-label ${k?"af-theme-label--placeholder":""}`.trim(),children:y}),s&&_?i.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:_.map((x,$)=>i.jsx("span",{className:"af-theme-swatch",style:{background:x}},`${f}:${$}`))}):null]})},renderOption:(d,p)=>{const f=String(d.value||"").trim(),g=l[f],y=(g==null?void 0:g.swatches)||null;return i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"af-theme-option-label",children:d.label}),i.jsxs("span",{className:"af-theme-option-right",children:[s&&y?i.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:y.map((_,k)=>i.jsx("span",{className:"af-theme-swatch",style:{background:_}},`${f}:${k}`))}):null,p.selected?i.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function Tg(e){const n=e.scales&&e.scales.length?e.scales:Bc,s=e.variant||"panel",o=w.useMemo(()=>n.map(l=>({value:l.id,label:l.label})),[n]);return i.jsx(Jr,{value:e.value,options:o,placeholder:e.placeholder||"Font size…",disabled:e.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:s,className:e.className,triggerClassName:e.triggerClassName,onChange:l=>e.onChange(String(l||"").trim())})}function Rg(e){const n=e.densities&&e.densities.length?e.densities:Vc,s=e.variant||"panel",o=w.useMemo(()=>n.map(l=>({value:l.id,label:l.label})),[n]);return i.jsx(Jr,{value:e.value,options:o,placeholder:e.placeholder||"Header size…",disabled:e.disabled===!0,searchable:!1,allowCustom:!1,clearable:!1,variant:s,className:e.className,triggerClassName:e.triggerClassName,onChange:l=>e.onChange(String(l||"").trim())})}const Ig=new Set(["board","inbox","server","agent","playCircle","list","gear"]);function Mg(e){switch(e){case"chat":return i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 5v14"}),i.jsx("path",{d:"M5 12h14"})]});case"history":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"9"}),i.jsx("path",{d:"M12 7v5l3 3"})]});case"refresh":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M21 12a9 9 0 0 0-15.5-6.4L3 8"}),i.jsx("path",{d:"M3 3v5h5"}),i.jsx("path",{d:"M3 12a9 9 0 0 0 15.5 6.4L21 16"}),i.jsx("path",{d:"M21 21v-5h-5"})]});case"settings":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M4 6h16"}),i.jsx("circle",{cx:"8",cy:"6",r:"2"}),i.jsx("path",{d:"M4 12h16"}),i.jsx("circle",{cx:"16",cy:"12",r:"2"}),i.jsx("path",{d:"M4 18h16"}),i.jsx("circle",{cx:"10",cy:"18",r:"2"})]});case"user":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"8",r:"4"}),i.jsx("path",{d:"M4 21a8 8 0 0 1 16 0"})]});case"bot":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 2v3"}),i.jsx("rect",{x:"5",y:"6",width:"14",height:"14",rx:"3"}),i.jsx("circle",{cx:"9",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"15",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),i.jsx("path",{d:"M9 17h6"})]});case"paperclip":return i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 14a3 3 0 0 0 3-3V5a3 3 0 0 0-6 0v6a3 3 0 0 0 3 3z"}),i.jsx("path",{d:"M19 11a7 7 0 0 1-14 0"}),i.jsx("path",{d:"M12 18v4"}),i.jsx("path",{d:"M8 22h8"})]});case"speaker":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M11 5L6 9H2v6h4l5 4V5z"}),i.jsx("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"}),i.jsx("path",{d:"M18 6a9 9 0 0 1 0 12"})]});case"pause":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"}),i.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",fill:"currentColor",stroke:"none"})]});case"terminal":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2",ry:"2"}),i.jsx("path",{d:"M7 9l3 3-3 3"}),i.jsx("path",{d:"M12 15h5"})]});case"edit":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 20h9"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),i.jsx("path",{d:"M7 10l5 5 5-5"}),i.jsx("path",{d:"M12 15V3"})]});case"loader":return i.jsx("path",{d:"M21 12a9 9 0 1 1-3.3-6.9"});case"info":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"10"}),i.jsx("path",{d:"M12 16v-4"}),i.jsx("circle",{cx:"12",cy:"8",r:"0.75",fill:"currentColor",stroke:"none"})]});case"warning":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 3l10 18H2L12 3z"}),i.jsx("path",{d:"M12 9v4"}),i.jsx("circle",{cx:"12",cy:"17",r:"0.75",fill:"currentColor",stroke:"none"})]});case"error":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"10"}),i.jsx("path",{d:"M15 9l-6 6"}),i.jsx("path",{d:"M9 9l6 6"})]});case"copy":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),i.jsx("path",{d:"M5 15V5a2 2 0 0 1 2-2h10"})]});case"check":return i.jsx("path",{d:"M20 6L9 17l-5-5"});case"x":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M18 6L6 18"}),i.jsx("path",{d:"M6 6l12 12"})]});case"chevronDown":return i.jsx("path",{d:"M6 9l6 6 6-6"});case"chevronRight":return i.jsx("path",{d:"M9 18l6-6-6-6"});case"trash":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M3 6h18"}),i.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),i.jsx("path",{d:"M6 6l1 16h10l1-16"}),i.jsx("path",{d:"M10 11v6"}),i.jsx("path",{d:"M14 11v6"})]});case"send":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M22 2L11 13"}),i.jsx("path",{d:"M22 2L15 22l-4-9-9-4 20-7z"})]});case"thumbsUp":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M7 10v11"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M17 14V3"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M7 10v11"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M17 14V3"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"1.5",y:"2",width:"3.6",height:"12",rx:"1"}),i.jsx("rect",{x:"6.2",y:"2",width:"3.6",height:"8.5",rx:"1"}),i.jsx("rect",{x:"10.9",y:"2",width:"3.6",height:"5.5",rx:"1"})]});case"inbox":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M2 9.5 L4 3.5 h8 l2 6"}),i.jsx("path",{d:"M2 9.5 v3 h12 v-3"}),i.jsx("path",{d:"M2 9.5 h3.4 l1 1.6 h3.2 l1-1.6 H14"})]});case"server":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"2.5",width:"12",height:"4.6",rx:"1.2"}),i.jsx("rect",{x:"2",y:"8.9",width:"12",height:"4.6",rx:"1.2"}),i.jsx("circle",{cx:"4.6",cy:"4.8",r:"0.8",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"4.6",cy:"11.2",r:"0.8",fill:"currentColor",stroke:"none"})]});case"agent":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"3",y:"4.5",width:"10",height:"8",rx:"2"}),i.jsx("path",{d:"M8 4.5V2.2"}),i.jsx("circle",{cx:"8",cy:"1.8",r:"0.9",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"5.8",cy:"8.4",r:"0.9",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"10.2",cy:"8.4",r:"0.9",fill:"currentColor",stroke:"none"})]});case"playCircle":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"8",cy:"8",r:"6.2"}),i.jsx("path",{d:"M6.5 5.6 L11 8 L6.5 10.4 Z",fill:"currentColor",stroke:"none"})]});case"list":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M2.5 4h11"}),i.jsx("path",{d:"M2.5 8h11"}),i.jsx("path",{d:"M2.5 12h7"})]});case"gear":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"8",cy:"8",r:"2.2"}),i.jsx("path",{d:"M8 1.6v2"}),i.jsx("path",{d:"M8 12.4v2"}),i.jsx("path",{d:"M1.6 8h2"}),i.jsx("path",{d:"M12.4 8h2"}),i.jsx("path",{d:"M3.5 3.5l1.4 1.4"}),i.jsx("path",{d:"M11.1 11.1l1.4 1.4"}),i.jsx("path",{d:"M12.5 3.5l-1.4 1.4"}),i.jsx("path",{d:"M4.9 11.1l-1.4 1.4"})]});case"sparkle":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z"}),i.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 i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"9"}),i.jsx("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"})]});case"logout":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),i.jsx("path",{d:"M16 17l5-5-5-5"}),i.jsx("path",{d:"M21 12H9"})]});case"play":return i.jsx("path",{d:"M7 4.5v15a1 1 0 0 0 1.5.86l12-7.5a1 1 0 0 0 0-1.72l-12-7.5A1 1 0 0 0 7 4.5z",fill:"currentColor",stroke:"none"});case"stop":return i.jsx("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2",fill:"currentColor",stroke:"none"});case"folder":return i.jsx("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"});case"file":return i.jsxs(i.Fragment,{children:[i.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),i.jsx("path",{d:"M14 2v6h6"})]});case"archive":return i.jsxs(i.Fragment,{children:[i.jsx("rect",{x:"2",y:"3",width:"20",height:"5",rx:"1"}),i.jsx("path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"}),i.jsx("path",{d:"M10 12h4"})]});case"clock":return i.jsxs(i.Fragment,{children:[i.jsx("circle",{cx:"12",cy:"12",r:"10"}),i.jsx("path",{d:"M12 6v6h4"})]});default:return null}}function oe({name:e,size:n=16,className:s,title:o,...l}){const u=o?void 0:!0,d=Ig.has(e);return i.jsxs("svg",{width:n,height:n,viewBox:d?"0 0 16 16":"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:d?1.4:2,strokeLinecap:"round",strokeLinejoin:"round",className:s,"aria-hidden":u,role:o?"img":"presentation",...l,children:[o?i.jsx("title",{children:o}):null,Mg(e)]})}const za="api/gateway",yo="api/connection/gateway";function je(e){const n=String(e||"");if(n.startsWith("/"))throw new Error(`gatewayApiPath takes a route relative to the gateway API, got ${JSON.stringify(n)}.`);return n?`${za}/${n}`:za}function Qe(e,n){const s=String(n||"");if(s.startsWith("/"))throw new Error(`joinBaseUrl takes a relative path, got ${JSON.stringify(s)}.`);let o=String(e??"");for(;o.endsWith("/");)o=o.slice(0,-1);return o?`${o}/${s}`:s}function Lg(e){const n=String(e||""),s=`/${za}/`;if(!n.startsWith(s)||n.length===s.length)throw new Error(`Not a gateway API path: ${JSON.stringify(n)} (expected ${JSON.stringify(s)}…).`);const o=n.slice(s.length).split(/[?#]/,1)[0];if(/\\|%2f|%5c/i.test(o))throw new Error(`Not a gateway API path: ${JSON.stringify(n)} (encoded slash or backslash).`);for(const l of o.split("/")){const u=l.replace(/%2e/gi,".");if(u==="."||u==="..")throw new Error(`Not a gateway API path: ${JSON.stringify(n)} (a "." or ".." segment).`)}return n.slice(1)}const Pg={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 Og(e){const n=new Set,s=[];for(const o of e||[]){if(!o)continue;const l=String(o.name||"").trim();!l||n.has(l)||(n.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||""),d=String(l.toolset||"");return u!==d?u.localeCompare(d):o.name.localeCompare(l.name)}),s}function Dg(e,n){return e.default_approval?e.default_approval:n.requireApproval.includes(e.name)?"ask":n.autoApprove.includes(e.name)?"approve":"ask"}function Fg(e,n,s){const o=String(e||"").trim().toLowerCase();if(!o&&!n&&!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"},n&&(l={...l,label:n}),s&&(l={...l,detail:s}),l}function zg(e){var de,re;const n=e.defaults||Pg,s=e.disabled===!0,o=e.title||"Tools",l=e.subtitle||"Default is all tools. Safe/read-only tools auto-approve; mutating tools ask for approval.",u=String(e.note||"").trim(),d=w.useMemo(()=>Fg(e.toolMode,e.toolModeLabel,e.toolModeDetail),[e.toolMode,e.toolModeLabel,e.toolModeDetail]),p=w.useMemo(()=>Og(e.tools),[e.tools]),f=w.useMemo(()=>p.map(Q=>Q.name),[p]),g=w.useMemo(()=>new Set(f),[f]),[y,_]=w.useState(""),k=w.useMemo(()=>{var fe;const Q=Array.isArray((fe=e.value)==null?void 0:fe.selected)?e.value.selected:[],B=new Set,J=[];for(const ae of Q){const we=String(ae||"").trim();!we||B.has(we)||(B.add(we),J.push(we))}return J},[(de=e.value)==null?void 0:de.selected]),x=w.useMemo(()=>k.filter(Q=>g.has(Q)),[k,g]),$=w.useMemo(()=>k.filter(Q=>!g.has(Q)),[k,g]),C=((re=e.value)==null?void 0:re.mode)==="custom"?"custom":"all",j=w.useMemo(()=>{const Q=y.trim().toLowerCase();return Q?p.filter(B=>{const J=B.name.toLowerCase(),fe=(B.description||"").toLowerCase();return J.includes(Q)||fe.includes(Q)}):p},[p,y]),T=C==="all"?new Set(f):new Set(x),A=Q=>{e.onChange(Q)},E=Q=>{s||A({...e.value,mode:Q,selected:k})},b=(Q,B)=>{if(s)return;const J=new Set(x);B?J.add(Q):J.delete(Q),A({...e.value,selected:[...$,...Array.from(J)],mode:"custom"})},P=(Q,B)=>{var fe;if(s)return;const J={...((fe=e.value)==null?void 0:fe.approval)||{}};J[Q]=B,A({...e.value,approval:J})},V=()=>{s||A({...e.value,selected:[...$,...f],mode:"custom"})},G=()=>{s||A({...e.value,selected:[...$],mode:"custom"})},O=T.size;return i.jsxs("div",{className:`af-tool-policy ${e.className||""}`.trim(),children:[i.jsxs("div",{className:"af-tool-policy__header",children:[i.jsx("div",{className:"af-tool-policy__title",children:o}),i.jsx("div",{className:"af-tool-policy__subtitle",children:l}),d?i.jsxs("div",{className:`af-tool-policy__mode is-${d.tone}`,children:[i.jsx("div",{className:"af-tool-policy__mode-badge",children:"Tool mode"}),i.jsx("div",{className:"af-tool-policy__mode-value",children:d.label}),i.jsx("div",{className:"af-tool-policy__mode-detail",children:d.detail})]}):null,u?i.jsx("div",{className:"af-tool-policy__note",children:u}):null]}),i.jsxs("div",{className:"af-tool-policy__controls",children:[i.jsxs("div",{className:"af-tool-policy__segmented",role:"group","aria-label":"Tool allowlist mode",children:[i.jsx("button",{type:"button",className:`af-tool-policy__seg-btn ${C==="all"?"is-active":""}`.trim(),onClick:()=>E("all"),disabled:s,"aria-pressed":C==="all",children:"All tools"}),i.jsx("button",{type:"button",className:`af-tool-policy__seg-btn ${C==="custom"?"is-active":""}`.trim(),onClick:()=>E("custom"),disabled:s,"aria-pressed":C==="custom",children:"Custom allowlist"})]}),i.jsxs("div",{className:"af-tool-policy__count",children:[O," / ",f.length," enabled"]}),i.jsxs("div",{className:"af-tool-policy__bulk",children:[i.jsx("button",{type:"button",onClick:V,disabled:s||C!=="custom",children:"Select all"}),i.jsx("button",{type:"button",onClick:G,disabled:s||C!=="custom",children:"Select none"})]})]}),i.jsx("div",{className:"af-tool-policy__filter",children:i.jsx("input",{type:"text",placeholder:"Filter tools...","aria-label":"Filter tools",value:y,onChange:Q=>_(Q.target.value),disabled:s})}),i.jsxs("div",{className:"af-tool-policy__list",children:[j.map(Q=>{var fe,ae;const B=T.has(Q.name),J=((ae=(fe=e.value)==null?void 0:fe.approval)==null?void 0:ae[Q.name])||Dg(Q,n);return i.jsxs("div",{className:`af-tool-row ${B?"is-enabled":""}`.trim(),children:[i.jsx("label",{className:"af-tool-row__check",children:i.jsx("input",{type:"checkbox",checked:B,disabled:s||C!=="custom",onChange:we=>b(Q.name,we.target.checked),"aria-label":`Enable ${Q.name}`})}),i.jsxs("div",{className:"af-tool-row__meta",children:[i.jsxs("div",{className:"af-tool-row__title",children:[i.jsx("span",{className:"af-tool-row__name",children:Q.name}),Q.toolset?i.jsx("span",{className:"af-tool-row__badge",children:Q.toolset}):null]}),Q.description?i.jsx("div",{className:"af-tool-row__desc",children:Q.description}):null,Q.when_to_use?i.jsx("div",{className:"af-tool-row__hint",children:Q.when_to_use}):null]}),i.jsx("div",{className:"af-tool-row__approval",children:i.jsxs("select",{value:J,disabled:s||!B,onChange:we=>P(Q.name,we.target.value),"aria-label":`Approval mode for ${Q.name}`,children:[i.jsx("option",{value:"approve",children:"Approve"}),i.jsx("option",{value:"ask",children:"Ask"})]})})]},Q.name)}),j.length?null:i.jsx("div",{className:"af-tool-policy__empty",children:"No tools match the filter."})]})]})}async function Gc(e=yo){const n=await fetch(e),s=await n.json().catch(()=>null);if(!n.ok){const o=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${n.status}`;throw new Error(o)}return s}async function Wg(e,n=yo){const s=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),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 Rh(e=yo){const n=await fetch(e,{method:"DELETE"});if(!n.ok){const s=await n.json().catch(()=>({})),o=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${n.status}`;throw new Error(o)}}function Sc(e){let n=String(e||"").trim();for(let s=0;s<2&&n;s+=1){try{const u=JSON.parse(n);if(typeof u=="string"&&u!==n){n=u.trim();continue}}catch{}const o=n[0],l=n[n.length-1];if(o==='"'&&l==='"'||o==="'"&&l==="'"){n=n.slice(1,-1).trim();continue}break}return n.replace(/\/+$/,"")}function Ug(e){var u,d;if(!e)return{label:"Signed out",tone:"warn"};if(!e.has_session)return{label:"Signed out",tone:"warn"};const n=e.gateway||{},s=(u=n.principal)==null?void 0:u.user_id,o=(d=n.principal)==null?void 0:d.runtime_id;if(n.ok&&s)return{label:`Signed in as ${s}${o?` · runtime ${o}`:""}`,tone:"ok"};if(n.ok)return{label:"Signed in",tone:"ok"};const l=n.error||n.detail;return typeof l=="string"&&l.trim()?{label:"Session rejected — sign in again",tone:"err"}:{label:"Sign in required",tone:"err"}}function Bg(e){const n=e.connectionPath||yo,[s,o]=w.useState(!1),[l,u]=w.useState(!1),[d,p]=w.useState(null),[f,g]=w.useState(!1);w.useEffect(()=>{e.isOpen||g(!1)},[e.isOpen]);const[y,_]=w.useState(e.defaultGatewayUrl||"http://127.0.0.1:8080"),[k,x]=w.useState("admin"),[$,C]=w.useState(""),[j,T]=w.useState(!1),[A,E]=w.useState(!0),[b,P]=w.useState(""),[V,G]=w.useState(""),O=w.useMemo(()=>Ug(d),[d]),de=J=>{var fe;p(J),(fe=e.onStatusChange)==null||fe.call(e,J)},re=w.useRef(!1);if(w.useEffect(()=>{var fe;if(!e.isOpen)return;const J=!re.current;if(re.current=!0,J&&e.initialStatus!==void 0&&e.initialStatus!==null){const ae=e.initialStatus;de(ae),typeof ae.gateway_url=="string"&&ae.gateway_url.trim()&&_(Sc(ae.gateway_url));const we=(fe=ae.gateway)==null?void 0:fe.principal;we!=null&&we.user_id&&x(we.user_id);return}o(!0),P(""),Gc(n).then(ae=>{var ye;de(ae),typeof ae.gateway_url=="string"&&ae.gateway_url.trim()&&_(Sc(ae.gateway_url));const we=(ye=ae.gateway)==null?void 0:ye.principal;we!=null&&we.user_id&&x(we.user_id)}).catch(ae=>P(`Failed to load connection status: ${String((ae==null?void 0:ae.message)||ae)}`)).finally(()=>o(!1))},[e.isOpen]),w.useEffect(()=>{if(!e.isOpen)return;const J=fe=>{fe.key==="Escape"&&!fe.defaultPrevented&&!e.blocking&&(fe.preventDefault(),e.onClose())};return window.addEventListener("keydown",J),()=>window.removeEventListener("keydown",J)},[e.isOpen,e.blocking,e.onClose]),!e.isOpen||f)return null;const Q=async()=>{u(!0),P(""),G("");try{const J=Sc(y);_(J);const fe=await Wg({gateway_url:J,gateway_user_id:k,gateway_token:$,persist:A},n);de(fe),C(""),g(!0),e.onClose()}catch(J){P(String((J==null?void 0:J.message)||J))}finally{u(!1)}},B=async()=>{u(!0),P(""),G("");try{await Rh(n),C("");const J=await Gc(n).catch(()=>null);de(J),G("Signed out. This browser no longer holds a gateway session.")}catch(J){P(String((J==null?void 0:J.message)||J))}finally{u(!1)}};return i.jsx("div",{className:"af-connect-overlay",role:"presentation",onMouseDown:J=>{!e.blocking&&J.target===J.currentTarget&&e.onClose()},children:i.jsx("div",{className:"af-connect-modal",role:"dialog","aria-modal":"true","aria-label":"Gateway connection",children:i.jsx($g,{kicker:`${e.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:O.label,statusTone:O.tone,tokenSourceLabel:d!=null&&d.has_session?"token: browser session":"token: missing",showGatewayUrl:!0,gatewayUrl:y,onGatewayUrlChange:J=>_(J),userId:k,onUserIdChange:x,token:$,tokenPlaceholder:d!=null&&d.has_session?"(browser session already signed in)":"Paste Gateway user token",showToken:j,onTokenChange:C,onShowTokenChange:T,remember:A,rememberLabel:"Keep this browser signed in",onRememberChange:E,loading:s,submitting:l,submittingLabel:"Signing in...",showClose:!e.blocking,onClose:e.onClose,showSignOut:!e.blocking&&!!(d!=null&&d.has_session),onSignOut:B,error:b,message:V,onSubmit:Q})})})}function Vg(e){return!!(e&&e.ok===!0&&e.has_session===!0)}function Gg(e){const n=e||{},s=n.connectionPath||yo,o=n.variant||"dismissable",l=w.useRef(n.onStatusChange);l.current=n.onStatusChange;const u=w.useRef(o);u.current=o;const d=w.useRef(!!n.autoOpenMidSession);d.current=!!n.autoOpenMidSession;const[p,f]=w.useState(null),[g,y]=w.useState("loading"),[_,k]=w.useState(!1),x=w.useRef(!1),$=w.useRef(!1),C=w.useRef("loading"),j=w.useRef("none"),T=w.useRef(!1),A=w.useRef(0),E=w.useCallback(fe=>{var we;A.current+=1,f(fe),(we=l.current)==null||we.call(l,fe);const ae=Vg(fe);if(ae)y("connected"),C.current="connected",x.current=!1,j.current="none",$.current||k(!1);else if(fe!==null){const ye=C.current;y("disconnected"),C.current="disconnected",ye!=="disconnected"&&(j.current=T.current?"signout":ye==="connected"?"mid":"boot");const Z=u.current==="blocking"||j.current!=="mid"||d.current;!x.current&&Z&&k(!0)}fe!==null&&($.current=ae)},[]),b=w.useCallback(async()=>{const fe=A.current;try{const ae=await Gc(s);if(A.current!==fe)return;E(ae)}catch{if(A.current!==fe)return;E(null)}},[s,E]),[P,V]=w.useState(!1),[G,O]=w.useState(null),de=w.useCallback(async()=>{V(!0),O(null),A.current+=1;let fe=null;try{await Rh(s)}catch(ae){fe=String((ae==null?void 0:ae.message)||ae||"Sign-out request failed")}T.current=!0;try{await b()}finally{T.current=!1}O(fe),V(!1)},[s,b]),re=w.useRef(!1);w.useEffect(()=>{re.current||(re.current=!0,b())},[b]);const Q=w.useCallback(()=>{k(!0)},[]),B=w.useCallback(()=>{const fe=C.current;o==="blocking"&&fe==="disconnected"||(fe==="disconnected"&&(x.current=!0),k(!1))},[o]),J=w.useMemo(()=>({isOpen:_,onClose:B,blocking:o==="blocking"&&g!=="connected",appName:n.appName,connectionPath:s,defaultGatewayUrl:n.defaultGatewayUrl,initialStatus:p,onStatusChange:E}),[_,B,o,g,n.appName,s,n.defaultGatewayUrl,p,E]);return{status:p,phase:g,connected:g==="connected",modalOpen:_,signingOut:P,signOutError:G,openModal:Q,refresh:b,signOut:de,modalProps:J}}function Hc(e){const n=e.closeOnEscape!==!1,s=w.useRef(null);return w.useEffect(()=>{if(!e.open||!n)return;const o=l=>{l.key!=="Escape"||l.defaultPrevented||(l.preventDefault(),e.onClose())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e.open,n,e.onClose]),w.useEffect(()=>{const o=s.current;o&&(e.open?o.removeAttribute("inert"):o.setAttribute("inert",""))},[e.open]),i.jsxs("div",{ref:s,className:`af-drawer${e.open?" af-drawer--open":""}${e.className?` ${e.className}`:""}`,style:{width:e.width||420,top:e.topOffset||0,display:e.open?void 0:"none"},role:"complementary","aria-label":e.label,"aria-hidden":e.open?void 0:!0,children:[e.title!==void 0?i.jsxs("div",{className:"af-drawer__header",children:[i.jsx("div",{className:"af-drawer__title",children:e.title}),i.jsxs("div",{className:"af-drawer__header-actions",children:[e.headerActions,i.jsx("button",{type:"button",className:"af-drawer__close","aria-label":"Close panel",onClick:e.onClose,children:"×"})]})]}):null,i.jsx("div",{className:"af-drawer__body",children:e.children})]})}const Hg={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"},Kg={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"}},Jg={framework:Hg,apps:Kg},Wa=Jg;function Qg(){return Object.keys(Wa.apps).sort()}function Yg(e,n){const s=Object.prototype.hasOwnProperty.call(Wa.apps,e)?Wa.apps[e]:void 0;if(!s)throw new Error(`appIdentity: unknown application id "${e}" (known: ${Qg().join(", ")})`);return{id:e,name:s.name,version:n,website:s.website,repo:s.repo,docs:s.docs,issues:s.issues,feedback:s.feedback}}function Xg(e,n){const s=Wa.framework,o=[["Application",`${e.name} ${e.version}`],["Part of",`${s.name} — ${s.website}`],["Author",`${s.author} (${s.years})`],["Copyright",s.copyright],["Website",e.website],["Source",e.repo],["Documentation",e.docs],["Report an issue",e.issues],["Give feedback",e.feedback],["Contact",s.contact_email]];for(const[l,u]of n||[])o.push([String(l),String(u)]);return o}function Nc(e){return typeof e=="string"?e.trim():""}function Ff(e,n){if(n!=null)return[["Gateway",`unavailable (${String(n).trim()||"unknown error"})`]];const s=e&&typeof e=="object"&&!Array.isArray(e)?e:{},o=Nc(s.abstractgateway);if(!o)return[["Gateway","unavailable (the gateway did not report its version)"]];const l=Nc(s.abstractframework),u=[["Gateway",`AbstractGateway ${o}`],["Gateway framework",l?`AbstractFramework ${l}`:"not installed on the gateway host"]],d=s.packages&&typeof s.packages=="object"&&!Array.isArray(s.packages)?s.packages:{},p=Object.keys(d).filter(f=>f!=="abstractgateway"&&f!=="abstractframework").sort((f,g)=>f<g?-1:f>g?1:0);for(const f of p){const g=Nc(d[f]);g&&u.push([`Gateway package ${f}`,g])}return u}const Zg='a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])';function Ih(e,n,s){if(e.key!=="Tab"||!n)return;const o=Array.from(n.querySelectorAll(Zg));if(o.length===0){e.preventDefault();return}const l=o[0],u=o[o.length-1],d=!!s&&n.contains(s);e.shiftKey?(s===l||!d)&&(e.preventDefault(),u.focus()):(s===u||!d)&&(e.preventDefault(),l.focus())}const qg=/https?:\/\/[^\s<>"]+/g;function ey(e,n){if(e==="Contact")return[{text:n,href:`mailto:${n}`}];const s=[];let o=0;for(const l of n.matchAll(qg)){const u=l.index??0;u>o&&s.push({text:n.slice(o,u)}),s.push({text:l[0],href:l[0]}),o=u+l[0].length}return(o<n.length||s.length===0)&&s.push({text:n.slice(o)}),s}function ty({label:e,value:n}){return i.jsx("span",{children:ey(e,n).map((s,o)=>s.href===void 0?i.jsx(yt.Fragment,{children:s.text},o):s.href.startsWith("mailto:")?i.jsx("a",{className:"af-about__link",href:s.href,children:s.text},o):i.jsx("a",{className:"af-about__link",href:s.href,target:"_blank",rel:"noopener noreferrer",children:s.text},o))})}function ny(e){const n=w.useRef(null),s=w.useRef(null),o=w.useId(),l=w.useRef(e.onClose);if(l.current=e.onClose,w.useEffect(()=>{var g;if(!e.open)return;const p=document.activeElement;(g=n.current)==null||g.focus();const f=y=>{if(!y.defaultPrevented){if(y.key==="Escape"){y.preventDefault(),l.current();return}Ih(y,s.current,document.activeElement)}};return window.addEventListener("keydown",f),()=>{window.removeEventListener("keydown",f),p&&typeof p.focus=="function"&&p.focus()}},[e.open]),!e.open)return null;const u=e.title||`About ${e.identity.name}`,d=Xg(e.identity,e.extraRows);return i.jsx("div",{className:"af-appearance-overlay af-about-overlay",onClick:e.onClose,role:"presentation",children:i.jsxs("div",{ref:s,className:"af-appearance af-about",role:"dialog","aria-modal":"true","aria-labelledby":o,onClick:p=>p.stopPropagation(),children:[i.jsx("div",{className:"af-appearance__title",id:o,children:u}),i.jsx("dl",{className:"af-about__rows",children:d.map(([p,f],g)=>i.jsxs("div",{className:"af-about__row",children:[i.jsx("dt",{className:"af-about__label",children:p}),i.jsx("dd",{className:"af-about__value",children:i.jsx(ty,{label:p,value:f})})]},`${g}:${p}`))}),i.jsx("div",{className:"af-appearance__actions",children:i.jsx("button",{ref:n,type:"button",className:"af-appearance__close",onClick:e.onClose,children:"Close"})})]})})}function ry(e){const{connection:n}=e,s=n.phase,o=n.signingOut===!0,[l,u]=w.useState(!1),d=e.about,p=o?"Signing out…":s==="connected"?"Disconnect":s==="loading"?"Connecting…":"Connect",f=s==="connected"?"Disconnect from gateway":s==="loading"?"Checking gateway session…":"Connect to gateway";return i.jsxs("div",{className:`af-topbar${e.className?` ${e.className}`:""}`,role:"group","aria-label":"App actions",children:[e.assistant?i.jsx("button",{type:"button",className:`af-topbar__btn${e.assistant.open?" is-active":""}`,"aria-pressed":e.assistant.open,"aria-label":e.assistant.label||"Open assistant",title:e.assistant.label||"Assistant",onClick:e.assistant.onToggle,children:i.jsx(oe,{name:"sparkle",size:16})}):null,e.appearance?i.jsx("button",{type:"button",className:"af-topbar__btn","aria-label":e.appearance.label||"Appearance (theme and typography)",title:e.appearance.label||"Appearance",onClick:e.appearance.onOpen,children:i.jsx(oe,{name:"contrast",size:16})}):null,d?i.jsx("button",{type:"button",className:"af-topbar__btn af-topbar__btn--about","aria-label":d.label||`About ${d.identity.name}`,title:d.label||"About","aria-haspopup":"dialog",onClick:()=>{var g;u(!0),(g=d.onOpen)==null||g.call(d)},children:i.jsx(oe,{name:"info",size:16})}):null,e.extraActions,i.jsxs("button",{type:"button",className:`af-topbar__pill af-topbar__pill--${s}`,onClick:s==="connected"?n.onDisconnect:n.onConnect,disabled:o,title:f,"aria-label":f,children:[i.jsx("span",{className:`af-topbar__dot af-topbar__dot--${s}`,"aria-hidden":"true"}),i.jsx("span",{className:"af-topbar__pill-label",children:p})]}),d?i.jsx(ny,{open:l,onClose:()=>u(!1),identity:d.identity,extraRows:d.extraRows}):null]})}const Pa={theme:"dark",font_scale:"md",header_density:"standard"};function sy(e){const n=e&&typeof e=="object"?e:{};return{theme:typeof n.theme=="string"&&n.theme?n.theme:Pa.theme,font_scale:typeof n.font_scale=="string"&&n.font_scale?n.font_scale:Pa.font_scale,header_density:typeof n.header_density=="string"&&n.header_density?n.header_density:Pa.header_density}}function iy(e){return`af_appearance_${e}_v1`}function oy(e,n){const s=iy(e),o=w.useMemo(()=>({...Pa,...(n==null?void 0:n.defaults)||{}}),[JSON.stringify((n==null?void 0:n.defaults)||{})]),[l,u]=w.useState(()=>{let d=o;try{const p=localStorage.getItem(s)??(n!=null&&n.legacyKey?localStorage.getItem(n.legacyKey):null);p&&(d=sy({...o,...JSON.parse(p)}))}catch{}try{Lf(d.theme),Pf({font_scale:d.font_scale,header_density:d.header_density})}catch{}return d});return w.useEffect(()=>{Lf(l.theme),Pf({font_scale:l.font_scale,header_density:l.header_density});try{localStorage.setItem(s,JSON.stringify(l))}catch{}},[s,l]),[l,u]}function ay(e){return w.useEffect(()=>{if(!e.open)return;const n=s=>{s.key!=="Escape"||s.defaultPrevented||(s.preventDefault(),e.onClose())};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[e.open,e.onClose]),e.open?i.jsx("div",{className:"af-appearance-overlay",onClick:e.onClose,role:"presentation",children:i.jsxs("div",{className:"af-appearance",role:"dialog","aria-modal":"true","aria-label":e.title||"Appearance",onClick:n=>n.stopPropagation(),children:[i.jsx("div",{className:"af-appearance__title",children:e.title||"Appearance"}),i.jsx("div",{className:"af-appearance__note",children:e.note||"Stored locally in this browser, per app."}),i.jsxs("div",{className:"af-appearance__grid",children:[i.jsx("label",{className:"af-appearance__label",children:"Theme"}),i.jsx(Ag,{value:e.value.theme,onChange:n=>e.onChange({...e.value,theme:n})}),i.jsx("label",{className:"af-appearance__label",children:"Font size"}),i.jsx(Tg,{value:e.value.font_scale,onChange:n=>e.onChange({...e.value,font_scale:n})}),i.jsx("label",{className:"af-appearance__label",children:"Header size"}),i.jsx(Rg,{value:e.value.header_density,onChange:n=>e.onChange({...e.value,header_density:n})})]}),i.jsx("div",{className:"af-appearance__actions",children:i.jsx("button",{type:"button",className:"af-appearance__close",onClick:e.onClose,children:"Close"})})]})}):null}function ly(){var n;if(typeof window>"u")return!1;const e=navigator;return!!((n=e==null?void 0:e.mediaDevices)!=null&&n.getUserMedia)&&typeof window.MediaRecorder=="function"}function cy(){if(typeof window>"u")return!1;const e=window;return!!(e!=null&&e.AudioContext||e!=null&&e.webkitAudioContext)}function uy(){const e=window.MediaRecorder,n=o=>{var l;try{return!!((l=e==null?void 0:e.isTypeSupported)!=null&&l.call(e,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(n(o))return o;return""}async function Cc(e,n){var l;const s=n.slice(0),o=(l=e.decodeAudioData)==null?void 0:l.bind(e);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,d)=>{try{o(s,u,d)}catch(p){d(p)}})}function dy(e){const n=new Uint8Array(e);if(n.length<44)return null;const s=u=>String.fromCharCode(n[u],n[u+1],n[u+2],n[u+3]);if(s(0)!=="RIFF"||s(8)!=="WAVE")return null;const o=new DataView(e);let l=12;for(;l+8<=n.length;){const u=s(l),d=o.getUint32(l+4,!0);if(u==="data")return n.slice(0,l+8);l+=8+d+d%2}return null}function fy(e,n){const s=new Uint8Array(n),o=new Uint8Array(e.length+s.length);o.set(e,0),o.set(s,e.length);const l=new DataView(o.buffer);return l.setUint32(4,o.length-8,!0),l.setUint32(e.length-4,s.length,!0),o.buffer}function hy(e){const n=w.useRef(e);n.current=e;const s=te=>{var se,me;return(me=(se=n.current).on_error)==null?void 0:me.call(se,te)},o=w.useMemo(()=>cy()&&(typeof e.tts=="function"||typeof e.tts_stream=="function"),[e.tts,e.tts_stream]),l=w.useMemo(()=>ly()&&typeof e.transcribe=="function",[e.transcribe]),[u,d]=w.useState({key:"",status:"idle"}),p=w.useRef(u),f=w.useCallback(te=>{p.current=te,d(se=>se.key===te.key&&se.status===te.status?se:te)},[]),g=w.useRef(""),y=w.useRef(""),_=w.useRef(null),k=w.useRef(null),x=w.useRef(null),$=w.useRef(null),C=w.useRef(0),j=w.useRef(0),T=w.useRef(0),A=w.useRef([]),E=w.useRef(0),b=w.useRef(!0),P=w.useRef(!1),V=()=>{try{const te=globalThis,se=(te==null?void 0:te.AudioContext)||(te==null?void 0:te.webkitAudioContext);if(!se)return null;if(!_.current){const ve=new se,Me=ve.createGain();Me.gain.value=1,Me.connect(ve.destination),_.current=ve,k.current=Me}const me=_.current,Oe=k.current;if(!me||!Oe)return null;try{me.state==="suspended"&&me.resume()}catch{}return{ctx:me,gain:Oe}}catch{return null}},G=w.useCallback(()=>{const te=x.current;if(x.current=null,!!te){try{te.onended=null}catch{}try{te.stop()}catch{}try{te.disconnect()}catch{}}},[]),O=w.useCallback(()=>{G(),T.current+=1,A.current=[],E.current=0,b.current=!0,P.current=!1,y.current="",g.current="",$.current=null,C.current=0,j.current=0,f({key:"",status:"idle"})},[G,f]);w.useEffect(()=>()=>{var te,se;O();try{(te=k.current)==null||te.disconnect()}catch{}try{(se=_.current)==null||se.close()}catch{}_.current=null,k.current=null,$.current=null},[]);const de=async(te,se,me)=>{const Oe=T.current,ve=V();if(!ve)throw new Error("TTS playback is not supported in this browser");const{ctx:Me,gain:ze}=ve;try{Me.state==="suspended"&&await Me.resume()}catch{}if(Oe!==T.current)return;G();const tt=Me.createBufferSource();tt.buffer=se,tt.connect(ze);const K=Number.isFinite(Number(se.duration))?Number(se.duration):0,pe=Math.max(0,Math.min(Number(me||0),K>0?Math.max(0,K-.01):0));j.current=Me.currentTime-pe,C.current=pe,x.current=tt,g.current=te,tt.onended=()=>{x.current===tt&&(x.current=null,C.current=0,j.current=0,g.current="",f({key:"",status:"idle"}))},tt.start(0,pe),f({key:te,status:"playing"})},re=(te,se)=>{if(se!==T.current)return;const me=V();if(!me)return;const Oe=A.current,ve=E.current;if(ve>=Oe.length){b.current&&(g.current="",C.current=0,j.current=0,f({key:"",status:"idle"}));return}const Me=Oe[ve],{ctx:ze,gain:tt}=me;G();const K=ze.createBufferSource();K.buffer=Me,K.connect(tt);const pe=Number.isFinite(Number(Me.duration))?Number(Me.duration):0,Pe=Math.max(0,Math.min(Number(C.current||0),pe>0?Math.max(0,pe-.01):0));j.current=ze.currentTime-Pe,x.current=K,g.current=te,K.onended=()=>{se===T.current&&x.current===K&&(x.current=null,E.current=ve+1,C.current=0,re(te,se))};try{ze.state==="suspended"&&ze.resume()}catch{}K.start(0,Pe),f({key:te,status:"playing"})},Q=async(te,se,me)=>{const Oe=V();if(!Oe){s==null||s("TTS playback is not supported in this browser.");return}G();const ve=++T.current;A.current=[],E.current=0,b.current=!1,P.current=!1,$.current=null,C.current=0,j.current=0,g.current=te,y.current=te,f({key:te,status:"loading"}),s==null||s("");let Me=null;try{for await(const ze of me(se)){if(ve!==T.current)return;let tt;try{tt=await Cc(Oe.ctx,ze),Me||(Me=dy(ze))}catch{if(!Me)continue;try{tt=await Cc(Oe.ctx,fy(Me,ze))}catch{continue}}if(ve!==T.current)return;A.current.push(tt),!x.current&&!P.current&&(y.current="",re(te,ve))}if(ve!==T.current)return;if(b.current=!0,A.current.length===0){s==null||s("TTS stream produced no audio."),O();return}!x.current&&!P.current&&re(te,ve)}catch(ze){if(ve!==T.current)return;s==null||s(String((ze==null?void 0:ze.message)||ze||"TTS stream failed")),O()}},B=w.useCallback(async(te,se)=>{const me=String(te||"").trim(),Oe=String(se||"").trim();if(!me||!Oe)return;const ve=n.current.tts,Me=n.current.tts_stream;if(typeof ve!="function"&&typeof Me!="function"){s==null||s("TTS is not available.");return}const ze=V();if(!ze){s==null||s("TTS playback is not supported in this browser.");return}const tt=p.current,K=tt.key===me;if(K&&tt.status==="playing"){if(x.current){const Pe=Math.max(0,ze.ctx.currentTime-Number(j.current||0));C.current=Pe}else C.current=0;P.current=!0,G(),f({key:me,status:"paused"});return}if(K&&tt.status==="paused"){if(A.current.length>0){s==null||s(""),P.current=!1,f({key:me,status:"playing"}),re(me,T.current);return}const Pe=$.current;if(Pe){s==null||s(""),P.current=!1;try{await de(me,Pe,C.current)}catch(Ge){s==null||s(String((Ge==null?void 0:Ge.message)||Ge||"TTS play failed")),f({key:"",status:"idle"})}return}}if(K&&tt.status==="loading")return;if(typeof Me=="function"){await Q(me,Oe,Me);return}G(),T.current+=1;const pe=T.current;A.current=[],E.current=0,b.current=!0,P.current=!1,$.current=null,C.current=0,j.current=0,g.current=me,y.current=me,f({key:me,status:"loading"}),s==null||s("");try{const Pe=await ve(Oe);if(y.current!==me||T.current!==pe)return;const Ge=await Cc(ze.ctx,Pe);if(y.current!==me||T.current!==pe)return;$.current=Ge,C.current=0,await de(me,Ge,0)}catch(Pe){if(T.current!==pe)return;y.current===me&&(y.current="",g.current="",f({key:"",status:"idle"})),s==null||s(String((Pe==null?void 0:Pe.message)||Pe||"TTS failed"))}},[]),[J,fe]=w.useState(!1),[ae,we]=w.useState(!1),ye=w.useRef(!1),Z=w.useRef(l);Z.current=l;const Y=w.useCallback(te=>{ye.current=te,fe(se=>se===te?se:te)},[]),H=w.useRef(!1),N=w.useRef(null),L=w.useRef(null),z=w.useRef([]),W=w.useRef(""),ee=w.useRef(0),le=w.useRef(!1);function he(){var te,se;try{(se=(te=N.current)==null?void 0:te.getTracks)==null||se.call(te).forEach(me=>{try{me.stop()}catch{}})}catch{}N.current=null}const ue=w.useCallback(()=>{ee.current+=1,le.current=!1;const te=L.current;if(te){te.onstop=null,te.ondataavailable=null,te.onerror=null;try{te.stop()}catch{}}L.current=null,he(),Y(!1),H.current=!1,we(!1),z.current=[]},[Y]);w.useEffect(()=>()=>ue(),[ue]);async function Ae(te,se){var ve,Me;if(s==null||s(""),!te||!te.size||H.current)return;const me=n.current.transcribe;if(typeof me!="function"){s==null||s("Transcription is not available.");return}H.current=!0;const Oe=ee.current;we(!0);try{const ze=String(await me(te,se)||"").trim();Oe===ee.current&&ze&&((Me=(ve=n.current).on_transcript)==null||Me.call(ve,ze))}catch(ze){Oe===ee.current&&(s==null||s(String((ze==null?void 0:ze.message)||ze||"Transcription failed")))}finally{Oe===ee.current&&(H.current=!1,we(!1))}}const Be=w.useCallback(async()=>{if(s==null||s(""),!Z.current){s==null||s("Voice recording is not supported in this browser (MediaRecorder/getUserMedia unavailable).");return}if(H.current||le.current||ye.current||L.current)return;z.current=[];const te=ee.current;le.current=!0;try{const se=await navigator.mediaDevices.getUserMedia({audio:!0});if(te!==ee.current){se.getTracks().forEach(ve=>ve.stop());return}N.current=se;const me=uy();W.current=me;const Oe=me?new MediaRecorder(se,{mimeType:me}):new MediaRecorder(se);L.current=Oe,Oe.ondataavailable=ve=>{if(te===ee.current)try{ve!=null&&ve.data&&z.current.push(ve.data)}catch{}},Oe.onerror=()=>{te===ee.current&&(s==null||s("Recording failed."))},Oe.onstop=()=>{if(te===ee.current){Y(!1),he(),L.current=null;try{const ve=new Blob(z.current,{type:W.current||""});Ae(ve,W.current)}catch(ve){s==null||s(String((ve==null?void 0:ve.message)||ve||"Failed to build recording"))}}},Oe.start(),Y(!0)}catch(se){if(te!==ee.current)return;he(),L.current=null,Y(!1);const me=String((se==null?void 0:se.message)||se||"Failed to access microphone");s==null||s(me.toLowerCase().includes("permission")?`Microphone permission denied: ${me}`:me)}finally{te===ee.current&&(le.current=!1)}},[]),ct=w.useCallback(()=>{const te=L.current;if(!(!ye.current||!te)){Y(!1);try{te.stop()}catch(se){s==null||s(String((se==null?void 0:se.message)||se||"Failed to stop recording"))}}},[]);return w.useEffect(()=>{if(!J)return;const te=()=>ct();return window.addEventListener("pointerup",te),window.addEventListener("pointercancel",te),()=>{window.removeEventListener("pointerup",te),window.removeEventListener("pointercancel",te)}},[J]),{tts_supported:o,tts_playback:u,toggle_tts:B,stop_tts:O,voice_ptt_supported:l,voice_ptt_recording:J,voice_ptt_busy:ae,start_voice_ptt_recording:Be,stop_voice_ptt_recording:ct,cancel_voice_ptt_recording:ue}}const Ea=e=>Array.isArray(e)?e.map(n=>typeof n=="string"?n:(n==null?void 0:n.id)||(n==null?void 0:n.name)).filter(Boolean):[];function py({value:e,onChange:n,fetchCatalog:s}){var j,T,A,E;const o=w.useRef(s);o.current=s;const[l,u]=w.useState({}),[d,p]=w.useState(""),[f,g]=w.useState(!1);w.useEffect(()=>{let b=!0;return g(!0),u({}),p(""),o.current(e.provider,e.model).then(P=>{b&&(u(P),p(P.error?String(P.error):""))}).catch(P=>{b&&p(String((P==null?void 0:P.message)||P))}).finally(()=>{b&&g(!1)}),()=>{b=!1}},[e.provider,e.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===(e.profile||e.voice)&&b.voice_kind==="profile"==!!e.profile&&(!e.provider||!b.provider||b.provider===e.provider)&&(!e.model||!b.model||b.model===e.model)),x=k?_(k):e.profile||e.voice?JSON.stringify([e.provider||"",e.model||"",e.profile?"profile":"voice",e.profile||e.voice]):"",$=y.filter(b=>(b==null?void 0:b.id)&&(!e.provider||!b.provider||b.provider===e.provider)).map(b=>({value:_(b),label:`${b.label||b.name||b.id}${!e.provider&&b.provider?` · ${b.provider}`:""}`}));x&&!$.some(b=>b.value===x)&&$.unshift({value:x,label:`${e.profile||e.voice} (saved)`});const C=b=>n({...e,...b});return i.jsxs("div",{className:"af-voice-settings",children:[i.jsx("p",{children:"Speech is generated by your authenticated Gateway. Leave routing and voice unset to use its defaults."}),i.jsx(tu,{value:{provider:e.provider||"",model:e.model||""},onChange:b=>n({...e,...b,voice:"",profile:""}),fetchProviders:async()=>{const b=await o.current();if(b.error&&!Ea(b.tts_providers||b.providers).length)throw new Error(b.error);return Ea(b.tts_providers||b.providers).map(P=>({name:P}))},fetchModels:async b=>{var V;const P=await o.current(b);return Ea(((V=P.tts_models_by_provider)==null?void 0:V[b])||P.tts_models||P.models)},providerLabel:"Speech provider",modelLabel:"Speech model"}),i.jsxs("label",{children:["Voice / profile",i.jsx(Jr,{ariaLabel:"AI voice",placeholder:"Gateway / provider default",value:x,disabled:f,options:[{value:"",label:"Gateway / provider default"},...$],onChange:b=>{if(!b){C({voice:"",profile:""});return}const[P,V,G,O]=JSON.parse(b);C({provider:P||e.provider||"",model:V||(P&&P!==e.provider?"":e.model)||"",voice:G==="voice"?O:"",profile:G==="profile"?O:""})}})]}),f?i.jsx("p",{role:"status",children:"Loading available voices…"}):null,d?i.jsxs("p",{role:"alert",children:["Voice discovery unavailable: ",d,". Your saved choice is preserved."]}):null,i.jsxs("label",{children:["Speaking speed",i.jsxs("select",{"aria-label":"Speech speed",value:e.speed??"",onChange:b=>C({speed:b.target.value?Number(b.target.value):void 0}),children:[i.jsx("option",{value:"",children:"Gateway default"}),[.5,.75,1,1.25,1.5,2].map(b=>i.jsxs("option",{value:b,children:[b,"×"]},b))]})]}),(T=(j=l.controls)==null?void 0:j.quality_preset)!=null&&T.supported?i.jsxs("label",{children:["Quality",i.jsxs("select",{"aria-label":"Speech quality",value:e.quality_preset||"",onChange:b=>C({quality_preset:b.target.value}),children:[i.jsx("option",{value:"",children:"Gateway default"}),Ea(l.controls.quality_preset.values).map(b=>i.jsx("option",{value:b,children:b},b))]})]}):null,(E=(A=l.controls)==null?void 0:A.instructions)!=null&&E.supported?i.jsxs("label",{children:["Delivery instructions",i.jsx("textarea",{"aria-label":"Voice delivery instructions",rows:3,placeholder:"For example: calm, clear, and conversational",value:e.instructions||"",onChange:b=>C({instructions:b.target.value})})]}):null,i.jsx("button",{type:"button",onClick:()=>n({}),children:"Reset to Gateway defaults"})]})}const $c=je("automations"),my=je("trigger-sources");class zf extends Error{constructor(n){super(n.message),this.name="AutomationApiError",this.status=n.status,this.code=n.code,n.field!==void 0&&(this.field=n.field),n.command_id!==void 0&&(this.command_id=n.command_id)}}function gy(e,n){const s=n&&typeof n=="object"?n.detail:void 0;if(s&&typeof s=="object"&&!Array.isArray(s)){const o=s;if(typeof o.reason_code=="string"&&o.reason_code&&typeof o.message=="string"){const l={status:e,code:o.reason_code,message:o.message};return typeof o.field=="string"&&(l.field=o.field),typeof o.command_id=="string"&&(l.command_id=o.command_id),l}}return{status:e,code:"invalid_response",message:`The gateway answered HTTP ${e} without an automation error envelope.`}}function Ec(e){const n=new URLSearchParams;for(const[o,l]of Object.entries(e))l!==void 0&&n.set(o,String(l));const s=n.toString();return s?`?${s}`:""}function yy(){const e=globalThis.crypto;if(!e||typeof e.randomUUID!="function")throw new Error("automations client: crypto.randomUUID is unavailable; pass options.newId");return e.randomUUID()}function wy(e){const n=e.newId??yy,s=l=>`${$c}/${encodeURIComponent(l)}`;async function o(l,u,d){const p={accept:"application/json",...e.headers?e.headers():{}},f={method:l,headers:p};d!==void 0&&(p["content-type"]="application/json",f.body=JSON.stringify(d));const g=await e.fetch(Qe(e.baseUrl,u),f),y=await g.text();let _,k=!1;if(y)try{_=JSON.parse(y),k=!0}catch{k=!1}if(!g.ok)throw new zf(gy(g.status,_));if(!k||_===null||typeof _!="object")throw new zf({status:g.status,code:"invalid_response",message:`The gateway answered ${l} ${u} with a body that is not a JSON object.`});return _}return{listAutomations:(l={})=>o("GET",`${$c}${Ec({status:l.status,cursor:l.cursor,limit:l.limit})}`),getAutomation:l=>o("GET",s(l)),createAutomation:l=>o("POST",$c,l),reviseAutomation:(l,u)=>o("PATCH",s(l),{command_id:u.command_id??n(),...u.expected_revision!==void 0?{expected_revision:u.expected_revision}:{},changes:u.changes}),sendAutomationCommand:(l,u)=>o("POST",`${s(l)}/commands`,{command_id:u.command_id??n(),type:u.type,...u.payload!==void 0?{payload:u.payload}:{}}),listOccurrences:(l,u={})=>o("GET",`${s(l)}/occurrences${Ec({cursor:u.cursor,limit:u.limit})}`),discuss:(l,u)=>o("POST",`${s(l)}/discuss`,{request_id:u.request_id??n(),occurrence_index:u.occurrence_index,prompt:u.prompt}),markSeen:(l,u)=>o("POST",`${s(l)}/seen`,{attention_cursor:u}),listAttention:(l,u={})=>o("GET",`${s(l)}/attention${Ec({cursor:u.cursor,limit:u.limit})}`),listTriggerSources:()=>o("GET",my)}}const vy=/^([1-9][0-9]*)([smhd])$/,_y={s:["second","seconds"],m:["minute","minutes"],h:["hour","hours"],d:["day","days"]};function nu(e){if(typeof e!="string")return null;const n=vy.exec(e);return n?{amount:Number(n[1]),unit:n[2]}:null}function xy(e){const n=nu(e);if(!n)return`every ${e}`;const[s,o]=_y[n.unit];return n.amount===1?`every ${s}`:`every ${n.amount} ${o}`}function mr(e){if(!e)return"";const n=Date.parse(e);if(Number.isNaN(n))return e;const s=new Date(n).toISOString(),o=s.slice(17,19);return`${s.slice(0,10)} ${s.slice(11,16)}${o==="00"?"":`:${o}`} UTC`}function Mh(e){const n=e;if(typeof n.every!="string")return n.start_at?`once at ${mr(n.start_at)}`:"once, now";const s=[`${xy(n.every)} (UTC)`];return typeof n.count=="number"&&s.push(`${n.count} ${n.count===1?"run":"runs"} max`),typeof n.until=="string"&&s.push(`until ${mr(n.until)}`),s.join(" · ")}function ru(e){return e.source_id==="schedule"&&e.source_version===1?Mh(e.config):e.source_id==="manual"&&e.source_version===1?"manual runs only":`${e.source_id}@${e.source_version}`}function Lh(e){return e==="growing"?"Growing — each run sees the previous runs":"Independent — each run starts fresh"}const ky={active:"Active",paused:"Paused",completed:"Completed",failed:"Failed",archived:"Archived"},Vn={pause:"automation.pause",resume:"automation.resume",run_now:"automation.run_now",stop_current:"automation.stop_current",archive:"automation.archive"},by=new Set(["running","waiting","backoff"]);function jy(e,n=[]){return e.current_occurrence!=null}function Ph(e){const n=e.current_occurrence;if(!n)return null;const s=n.attempt>1?` (attempt ${n.attempt})`:"";return n.status==="backoff"?`Run #${n.index} waiting to retry (attempt ${n.attempt+1})`:n.status==="admitted"?`Run #${n.index} starting${s}`:`Run #${n.index} running${s}`}function Oh(e,n){const s=Date.parse(e);if(Number.isNaN(s))return"";const o=Math.round((s-n)/6e4);if(o<=0)return"due now";if(o<60)return`in ${o} min`;const l=Math.floor(o/60);return l<24?`in ${l} h${o%60?` ${o%60} min`:""}`:`in ${Math.floor(l/24)} d${l%24?` ${l%24} h`:""}`}function Ua(e,n=[],s=!1){const o=new Set(e.capabilities),l=e.status,u=jy(e,n),d=(f,g,y)=>s?{enabled:!1,reason:"Working…"}:e.legacy?{enabled:!1,reason:"Legacy schedule: managed with its existing controls."}:o.has(f)?l==="archived"?{enabled:!1,reason:"Archived: history is kept, nothing runs."}:g?{enabled:!0}:{enabled:!1,reason:y}:{enabled:!1,reason:"Not permitted for this automation."},p=l==="active"||l==="paused";return{pause:d("pause",l==="active",l==="paused"?"Already paused.":"The automation has ended."),resume:d("resume",l==="paused",l==="active"?"Already running on schedule.":"The automation has ended."),run_now:d("run_now",p&&!u,u?"An occurrence is in progress.":"The automation has ended."),stop_current:d("stop_current",u,"Nothing is running."),revise:d("revise",!0,""),archive:d("archive",!0,""),discuss:s?{enabled:!1,reason:"Working…"}:e.legacy?{enabled:!1,reason:"Legacy schedule: discussion is not available."}:o.has("discuss")?{enabled:!0}:{enabled:!1,reason:"Discussion is not permitted for this automation."}}}function Sy(e){return e.status==="failed"?"failed":e.waits.length>0||e.status==="waiting"?"waiting":e.notify!==null?"notified":e.status==="running"||e.status==="backoff"?"running":"quiet"}function Ny(e){return[...e].sort((n,s)=>n.index-s.index).map(n=>{const s=Sy(n),o=`${n.attempts} ${n.attempts===1?"attempt":"attempts"}`,l=s==="failed"?`Failed after ${o}`:s==="waiting"?"Waiting for you":s==="notified"?"Notified":s==="running"?"Running":null,u=n.status==="completed"&&n.attempts>1?`completed after ${o}`:n.status;return{row:n,tone:s,notable:s==="failed"||s==="waiting"||s==="notified",badge:l,statusText:u,canDiscuss:!by.has(n.status)}})}function Cy(e){const n=e.attention.items;return n.length?n[n.length-1].cursor:null}function Dh(e){const n=e.attention,s=[];return n.unseen_count>0&&s.push(`${n.unseen_count} unseen`),n.pending_waits>0&&s.push(`${n.pending_waits} waiting for you`),s.length?s.join(" · "):"nothing new"}const $y={unauthorized:"Sign in to the gateway to manage automations.",forbidden:"You are not allowed to do this with automations.",automation_not_found:"This automation does not exist (or is not yours).",occurrence_not_found:"That occurrence does not exist.",revision_conflict:"The automation changed since this view loaded. Reload it, then try again.",automation_busy:"An occurrence is already running or queued. Wait for it to finish.",invalid_state:"The automation's current state does not allow this.",identity_conflict:"This request id was already used for a different request.",invalid_request:"The gateway rejected the request as malformed.",invalid_definition:"The automation definition is not valid.",unsupported_feature:"The gateway does not support this yet.",unknown_trigger_source:"The gateway does not know this trigger source.",invalid_response:"The gateway gave an unexpected answer.",invalid_payload:"That answer could not be sent."};function su(e){return{title:$y[e.code]??`The gateway refused the request (${e.code}).`,detail:e.message}}function iu(e){if(!e||typeof e!="object")return!1;const n=e;return typeof n.status=="number"&&typeof n.code=="string"&&typeof n.message=="string"}function Fh(e,n){const s=e.trigger.source_id==="schedule"?e.trigger.config.every:void 0,o=n?n.target.input_data.prompt:void 0;return{title:e.title,every:typeof s=="string"?s:null,context:e.context_mode,prompt:typeof o=="string"?o:null,toolApproval:n?n.policy.tool_approval:null}}function Ey(e,n,s){const o=[],l={},u=n.title.trim();u?u.length>120?o.push("Title is at most 120 characters."):u!==e.title&&(l.title=u):o.push("Title is required.");const d=Fh(e,s);if(n.every!==d.every&&n.every!==null&&(nu(n.every)?l.trigger={source_id:e.trigger.source_id,source_version:e.trigger.source_version,config:{...e.trigger.config,every:n.every}}:o.push("Interval must be a whole number of minutes, hours or days.")),n.context!==e.context_mode&&(l.context={mode:n.context}),s&&typeof d.prompt=="string"&&typeof n.prompt=="string"&&n.prompt.trim()!==d.prompt.trim()){const p=n.prompt.trim();p?l.target={bundle_ref:s.target.bundle_ref,flow_id:s.target.flow_id,input_data:{...s.target.input_data,prompt:p}}:o.push("Task is required.")}return s&&n.toolApproval&&n.toolApproval!==d.toolApproval&&(l.policy={tool_approval:n.toolApproval}),o.length?{errors:o}:Object.keys(l).length?l:null}const Ay=[{label:"every 5 minutes",when:{kind:"every",amount:5,unit:"m"}},{label:"every 30 minutes",when:{kind:"every",amount:30,unit:"m"}},{label:"every hour",when:{kind:"every",amount:1,unit:"h"}},{label:"every 8 hours",when:{kind:"every",amount:8,unit:"h"}},{label:"every 24 hours",when:{kind:"every",amount:24,unit:"h"}},{label:"every 7 days",when:{kind:"every",amount:7,unit:"d"}}];function Ac(e){if(!e)return null;const n=/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(:\d{2})?$/.exec(e.trim());if(!n)return null;const s=`${n[1]}T${n[2]}${n[3]??":00"}Z`;return Number.isNaN(Date.parse(s))?null:s}function Ty(e){const n=e.trim().split(`
|
|
41
|
+
`)[0].trim();return n.length>120?`${n.slice(0,119)}…`:n}function zh(e){const n=[],s={};if(e.when.kind==="once"){const l=Ac(e.when.at);return l?s.start_at=l:n.push("Pick the date and time (UTC) to run once."),{config:s,errors:n}}const o=e.when.amount;if(!Number.isInteger(o)||o<1?n.push("The interval must be a whole number of at least 1."):s.every=`${o}${e.when.unit}`,e.startAt){const l=Ac(e.startAt);l?s.start_at=l:n.push("First run must be a date and time (UTC).")}if(e.count!==void 0&&(!Number.isInteger(e.count)||e.count<1?n.push("Maximum runs must be a whole number of at least 1."):s.count=e.count),e.until){const l=Ac(e.until);l?s.until=l:n.push("Stop at must be a date and time (UTC).")}return{config:s,errors:n}}function Ry(e){const{config:n,errors:s}=zh(e);if(s.length)return"";const o=Mh(n);return e.when.kind==="once"?o:`${o}, first run ${n.start_at?`at ${mr(n.start_at)}`:"now"}`}function Iy(e,n){const s=[];n.target||s.push("Choose what to run.");const o=e.prompt.trim();o||s.push("Write the task to run.");const l=(e.title??"").trim()||Ty(o);l.length>120&&s.push("Title is at most 120 characters.");const{config:u,errors:d}=zh(e);if(s.push(...d),s.length||!n.target)return{ok:!1,errors:s};const p={...n.target,input_data:{...n.target.input_data??{},prompt:o}};return{ok:!0,body:{request_id:n.requestId,title:l,target:p,trigger:{source_id:"schedule",source_version:1,config:u},context:{mode:e.context},policy:{tool_approval:e.toolApproval??"auto"}}}}const My="Tools run without asking (you approve them now by creating this automation)";function Ly(e){if(e.kind!=="tool_approval"||!Array.isArray(e.details))return null;const n=[];for(const s of e.details){if(!s||typeof s!="object"||Array.isArray(s))return null;const o=s;if(typeof o.name!="string"||!o.arguments||typeof o.arguments!="object"||Array.isArray(o.arguments)||o.call_id!==void 0&&typeof o.call_id!="string")return null;n.push({name:o.name,arguments:o.arguments,...typeof o.call_id=="string"?{call_id:o.call_id}:{}})}return n}function Py(e){const n=e.trim();if(!n)return{ok:!1,error:"Enter a JSON payload."};try{return{ok:!0,payload:JSON.parse(n)}}catch(s){return{ok:!1,error:`The payload is not valid JSON (${s instanceof Error?s.message:String(s)}).`}}}const Wh={ask_user:"Question for you",tool_approval:"Approval needed",event:"Waiting for an event"};class Uh{constructor(n){this.mint=n,this.open=new Map}idFor(n){let s=this.open.get(n);return s===void 0&&(s=this.mint(),this.open.set(n,s)),s}settle(n,s){(s.ok||Oy(s.error))&&this.open.delete(n)}}function Oy(e){return iu(e)&&e.status>0&&e.code!=="invalid_response"}function Bh(){const e=globalThis.crypto;if(!e||typeof e.randomUUID!="function")throw new Error("crypto.randomUUID is unavailable; pass newId");return e.randomUUID()}class Dy{constructor(){this.acked=null,this.inflight=null,this.failedKey=null,this.failedToken=void 0}next(n,s){return!n||n===this.acked||n===this.inflight||n===this.failedKey&&s===this.failedToken?null:(this.inflight=n,n)}succeeded(n){this.inflight===n&&(this.inflight=null),this.acked=n,this.failedKey=null}failed(n,s){this.inflight===n&&(this.inflight=null),this.failedKey=n,this.failedToken=s}get acknowledged(){return this.acked}}function Wf(e,n){if(!e)return null;for(const s of n){const o=e.querySelector(s);if(o&&o.disabled!==!0&&typeof o.focus=="function")return o}return null}const Fy={pause:"Pause",resume:"Resume",run_now:"Run now",stop_current:"Stop current",revise:"Edit",archive:"Archive",discuss:"Discuss"},zy={pause:`Stop scheduled runs until you resume.
|
|
42
|
+
A run in progress, with its retries, finishes. Run now still works.`,resume:`Restart the schedule at its next time after now.
|
|
43
|
+
Times missed while paused are skipped; resuming does not run it now.`,run_now:`Run it once now, without waiting for the schedule.
|
|
44
|
+
The schedule does not move: the next scheduled run keeps its time, or starts right after this run if its time comes first.
|
|
45
|
+
Does not count toward a run limit. Works while paused; it stays paused.
|
|
46
|
+
Not available while a run is in progress.`,stop_current:`Cancel the run in progress, or its pending retry.
|
|
47
|
+
It ends as cancelled, with no failure notice. The schedule continues.`,revise:`Change the task, schedule or settings.
|
|
48
|
+
Changes apply from the next run; a run in progress keeps its inputs. A changed schedule restarts from now, so no past time runs.`,archive:`Stop it for good: it will not run again.
|
|
49
|
+
A run in progress finishes; the history stays readable.`,discuss:`Talk about the results in a separate conversation, seeded with the runs up to this one.
|
|
50
|
+
It has its own workspace (the automation's files are read-only) and never changes the automation.`},Wy="Next scheduled run: {time}.",Uy="Growing context: later runs see this run in their history.",By={run_now:{name:"playCircle"}},Vy={labels:Fy,hints:zy,run_now_next_run_line:Wy,run_now_growing_line:Uy,icons:By},Gy={active:"play",paused:"pause",completed:"check",failed:"error",archived:"archive"};function Vh(e){const n=String(e.status),s=Gy[n];return i.jsxs("span",{className:`af-auto__status af-auto__status--${n}${e.className?` ${e.className}`:""}`,"data-state":n,children:[i.jsx("span",{className:"af-auto__status-word",children:ky[n]??n}),s?i.jsx(oe,{name:s,size:e.iconSize??11,className:"af-auto__status-icon"}):null]})}const Uf="Discuss — fork at this occurrence (own workspace, automation files read-only)",Ka=e=>i.jsx("div",{className:"af-auto-text","data-unformatted":"true",children:e});function Hy(e){return iu(e)?e:{status:0,code:"client_error",message:e&&typeof e=="object"&&"message"in e?String(e.message):String(e)}}function Bf(e){const n=e.path.split(new RegExp("(?<=[/\\\\_-])"));return i.jsx("code",{className:"af-auto__path-text",children:n.map((s,o)=>i.jsxs(yt.Fragment,{children:[s,o<n.length-1?i.jsx("wbr",{}):null]},o))})}function Ky(e,n){const s=e.trigger,o=n.find(l=>l.id===s.source_id&&l.version===s.source_version);return o?"available"in o&&o.available===!1?`Trigger source ${s.source_id}@${s.source_version} is unavailable${o.unavailable_reason?`: ${o.unavailable_reason}`:"."}`:null:`This gateway does not list the trigger source ${s.source_id}@${s.source_version}.`}function Jy(e){const n=e.summary,s=Ph(n),o=Ky(n,e.triggerSources),l=n.next_fire_at?`${mr(n.next_fire_at)} (${Oh(n.next_fire_at,e.nowMs??Date.now())})`:n.status==="paused"?"none while paused":"none scheduled";return i.jsxs("header",{className:"af-auto__head",children:[i.jsxs("div",{className:"af-auto__titlebar",children:[i.jsx("h2",{className:"af-auto__title",id:e.titleId,tabIndex:-1,children:n.title}),i.jsx(Vh,{status:n.status}),n.legacy?i.jsx("span",{className:"af-auto__legacy",children:"Legacy schedule"}):null]}),i.jsxs("dl",{className:"af-auto__facts",children:[i.jsx("dt",{children:"When"}),i.jsxs("dd",{"data-fact":"trigger",children:[ru(n.trigger),o?i.jsxs("span",{className:"af-auto__warn",role:"note",children:[" ",o]}):null]}),i.jsx("dt",{children:"Context"}),i.jsx("dd",{"data-fact":"context",children:Lh(n.context_mode)}),s?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Now"}),i.jsx("dd",{"data-fact":"current",className:"is-notable",children:s})]}):null,i.jsx("dt",{children:"Next run"}),i.jsx("dd",{"data-fact":"next",children:l}),i.jsx("dt",{children:"Runs"}),i.jsx("dd",{"data-fact":"count",children:n.occurrence_count}),n.workspace_root?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Workspace"}),i.jsx("dd",{"data-fact":"workspace",className:"af-auto__workspace",children:e.onOpenWorkspace?i.jsxs("button",{type:"button",className:"af-auto__path","data-action":"open-workspace",title:`Browse the automation's folder
|
|
51
|
+
${n.workspace_root}`,"aria-label":`Browse the automation's folder ${n.workspace_root}`,onClick:()=>{var u;return(u=e.onOpenWorkspace)==null?void 0:u.call(e,n.automation_id)},children:[i.jsx(oe,{name:"folder",size:14,className:"af-auto__path-icon"}),i.jsx(Bf,{path:n.workspace_root})]}):i.jsxs("span",{className:"af-auto__path af-auto__path--static",children:[i.jsx(oe,{name:"folder",size:14,className:"af-auto__path-icon"}),i.jsx(Bf,{path:n.workspace_root})]})})]}):null,i.jsx("dt",{children:"Attention"}),i.jsx("dd",{"data-fact":"attention",className:n.attention.unread||n.attention.pending_waits?"is-notable":void 0,children:Dh(n)}),n.revision!==null?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Revision"}),i.jsx("dd",{"data-fact":"revision",children:n.revision})]}):null]})]})}function Qy(e){const n=e.definition,s=e.renderText??Ka,o=n.target.input_data.prompt,l=n.policy.retry,u=n.policy.tool_approval;return i.jsxs("details",{className:"af-auto__definition","data-definition-revision":n.revision,open:e.open,children:[i.jsxs("summary",{children:[i.jsx(oe,{name:"chevronRight",size:14,className:"af-auto__definition-chevron"}),i.jsx(oe,{name:"file",size:14}),i.jsx("span",{className:"af-auto__definition-title",children:"Definition"}),i.jsxs("span",{className:"af-auto__definition-meta",children:["revision ",n.revision]})]}),i.jsxs("dl",{className:"af-auto__facts",children:[i.jsx("dt",{children:"Target"}),i.jsx("dd",{"data-def":"target",children:i.jsx("code",{children:n.target.workflow_id})}),typeof o=="string"&&o?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Task"}),i.jsx("dd",{"data-def":"prompt",children:s(o)})]}):null,i.jsx("dt",{children:"Trigger"}),i.jsxs("dd",{"data-def":"trigger",children:[n.trigger.source_id,"@",n.trigger.source_version," · ",ru(n.trigger),i.jsx("pre",{className:"af-auto__json",children:JSON.stringify(n.trigger.config,null,2)})]}),i.jsx("dt",{children:"Context"}),i.jsx("dd",{"data-def":"context",children:Lh(n.context.mode)}),i.jsx("dt",{children:"Tools"}),i.jsx("dd",{"data-def":"tool_approval",children:u==="ask"?"Ask before each tool call (ask)":u==="auto"?"Run without asking (auto)":String(u)}),i.jsx("dt",{children:"Retries"}),i.jsxs("dd",{"data-def":"retry",children:[l.max_attempts," ",l.max_attempts===1?"attempt":"attempts",", backoff ",l.backoff.initial," ×",l.backoff.factor," up to ",l.backoff.max]}),i.jsx("dt",{children:"Revision"}),i.jsx("dd",{"data-def":"revision",children:n.revision})]})]})}const wo=Vy,Gh=wo.labels,Hh={pause:"pause",resume:"play",run_now:wo.icons.run_now.name,stop_current:"stop",revise:"edit",archive:"archive",discuss:"chat"},Kc=wo.hints,Yy=wo.run_now_next_run_line,Xy=wo.run_now_growing_line;function Zy(e,n){const s=[Kc[e]];return e==="run_now"&&n&&(n.next_fire_at&&s.push(Yy.replace("{time}",mr(n.next_fire_at))),n.context_mode==="growing"&&s.push(Xy)),s.join(`
|
|
52
|
+
`)}function qy(e,n,s){const o=new Map;for(const d of n){const p=e[d];if(p.enabled)continue;const f=p.reason??"Not available now.";o.set(f,[...o.get(f)??[],d])}const l=[],u={};return[...o.entries()].forEach(([d,p],f)=>{const g=`${s}-why-${f}`;l.push({id:g,text:`${p.map(y=>Gh[y]).join(", ")}: ${d}`});for(const y of p)u[y]=g}),{lines:l,describedBy:u}}function Bt(e){return i.jsxs(i.Fragment,{children:[i.jsx(oe,{name:e.icon,size:14,className:"af-auto__btn-icon"}),i.jsx("span",{children:e.label})]})}function ew(e){const n=Ua(e.summary,e.occurrences,e.busy),s=[e.summary.status==="paused"?"resume":"pause","run_now","stop_current","revise","archive"],o=qy(n,s,e.idBase??`af-auto-${e.summary.automation_id}`),l=(u,d,p)=>{const f=Zy(u,e.summary);return i.jsx("button",{type:"button",className:`af-auto__btn${p!=null&&p.danger?" af-auto__btn--danger":""}`,"data-action":(p==null?void 0:p.action)??u,disabled:!n[u].enabled,title:n[u].enabled?f:`${n[u].reason}
|
|
53
|
+
${f}`,"aria-description":f,"aria-describedby":o.describedBy[u],"aria-pressed":p==null?void 0:p.pressed,onClick:d,children:i.jsx(Bt,{icon:Hh[u],label:(p==null?void 0:p.label)??Gh[u]})},u)};return i.jsxs("div",{className:"af-auto__controls-wrap",children:[i.jsxs("div",{className:"af-auto__actionbar",children:[i.jsxs("div",{className:"af-auto__controls",role:"toolbar","aria-label":"Automation controls",children:[e.summary.status==="paused"?l("resume",()=>e.onCommand(Vn.resume)):l("pause",()=>e.onCommand(Vn.pause)),l("run_now",()=>e.onCommand(Vn.run_now)),l("stop_current",()=>e.onCommand(Vn.stop_current)),l("revise",e.onToggleRevise,{pressed:e.reviseOpen,action:"edit"}),l("archive",e.onAskArchive,{danger:!0,label:"Archive…"})]}),i.jsx("span",{className:`af-auto__notice${e.notice?" af-auto__notice--on":""}`,role:"status",tabIndex:-1,children:e.notice?i.jsxs(i.Fragment,{children:[i.jsx(oe,{name:"check",size:13}),i.jsx("span",{className:"af-auto__notice-text",children:e.notice}),e.onDismissNotice?i.jsx("button",{type:"button",className:"af-auto__icon-btn af-auto__icon-btn--bare","data-action":"dismiss-notice","aria-label":"Dismiss",title:"Dismiss",onClick:e.onDismissNotice,children:i.jsx(oe,{name:"x",size:12})}):null]}):null})]}),o.lines.length?i.jsxs("p",{className:"af-auto__reasons",children:[i.jsx(oe,{name:"info",size:12,className:"af-auto__reasons-icon"}),o.lines.map(u=>i.jsx("span",{id:u.id,children:u.text},u.id))]}):null,e.summary.status==="paused"&&n.run_now.enabled?i.jsx("p",{className:"af-auto__hint",children:"Paused: scheduled runs are skipped. Run now works and keeps it paused."}):null,e.confirmingArchive?i.jsxs("div",{className:"af-auto__confirm",role:"group","aria-label":"Confirm archive",children:[i.jsxs("p",{children:["Archive “",e.summary.title,"”? Its history stays readable; it will not run again. The current run, if any, finishes."]}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--danger","data-action":"archive-confirm",disabled:!n.archive.enabled,onClick:()=>e.onCommand(Vn.archive),children:i.jsx(Bt,{icon:"archive",label:"Archive"})}),i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"archive-cancel",onClick:e.onCancelArchive,children:i.jsx(Bt,{icon:"x",label:"Keep it"})})]})]}):null]})}const Vf=[["m","minutes"],["h","hours"],["d","days"]];function tw(e,n){const s=_=>{const k=e.elements.namedItem(_);return k&&typeof k.value=="string"?k.value:null},o=s("every_amount"),l=s("every_unit"),u=o!==null&&l!==null?`${o.trim()}${l}`:n.every,d=e.elements.namedItem("context"),p=d&&(d.value==="growing"||d.value==="independent")?d.value:n.context,f=s("prompt"),g=e.elements.namedItem("tool_approval"),y=g&&(g.value==="auto"||g.value==="ask")?g.value:n.toolApproval??null;return{title:s("title")??n.title,every:u,context:p,prompt:f??n.prompt??null,toolApproval:y}}function nw(e){const n=Fh(e.summary,e.definition),s=n.every?nu(n.every):null,o=s&&s.unit==="s"?[["s","seconds"],...Vf]:Vf,l=`af-auto-revise-${e.summary.automation_id}`;return i.jsxs("form",{className:"af-auto__revise","aria-labelledby":`${l}-heading`,onSubmit:u=>{u.preventDefault(),e.onSubmit(tw(u.currentTarget,n))},onKeyDown:u=>{u.key==="Escape"&&(u.preventDefault(),e.onCancel())},children:[i.jsxs("h3",{className:"af-auto__form-title",id:`${l}-heading`,children:[i.jsx(oe,{name:"edit",size:14})," Edit automation"]}),i.jsxs("label",{className:"af-auto__field",htmlFor:`${l}-title`,children:[i.jsx("span",{children:"Title"}),i.jsx("input",{id:`${l}-title`,name:"title",defaultValue:n.title,maxLength:120,required:!0})]}),n.prompt!==null&&n.prompt!==void 0?i.jsxs("label",{className:"af-auto__field",htmlFor:`${l}-prompt`,children:[i.jsx("span",{children:"Task"}),i.jsx("textarea",{id:`${l}-prompt`,name:"prompt",defaultValue:n.prompt,rows:Math.min(10,Math.max(3,n.prompt.split(`
|
|
54
|
+
`).length+1)),required:!0})]}):null,s?i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"Repeat every (UTC)"}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("input",{name:"every_amount",type:"number",min:1,step:1,defaultValue:s.amount,"aria-label":"Interval amount"}),i.jsx("select",{name:"every_unit",defaultValue:s.unit,"aria-label":"Interval unit",children:o.map(([u,d])=>i.jsx("option",{value:u,children:d},u))})]})]}):i.jsx("p",{className:"af-auto__hint",children:"This trigger has no interval to change."}),i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"Context"}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"context",value:"independent",defaultChecked:n.context==="independent"})," Independent — each run starts fresh"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"context",value:"growing",defaultChecked:n.context==="growing"})," Growing — each run sees the previous runs"]})]}),n.toolApproval?i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"Tools"}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"tool_approval",value:"auto",defaultChecked:n.toolApproval==="auto"})," Run without asking"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"tool_approval",value:"ask",defaultChecked:n.toolApproval==="ask"})," Ask before each tool call"]})]}):null,i.jsx("p",{className:"af-auto__hint",children:"Changes apply from the next run; a new interval never fires past ticks."}),e.errors.length?i.jsx("ul",{className:"af-auto__form-errors",role:"alert",children:e.errors.map(u=>i.jsx("li",{children:u},u))}):null,i.jsxs("div",{className:"af-auto__row",children:[i.jsx("button",{type:"submit",className:"af-auto__btn af-auto__btn--primary","data-action":"edit-save",disabled:e.busy,children:i.jsx(Bt,{icon:"check",label:"Save changes"})}),i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"edit-cancel",onClick:e.onCancel,children:i.jsx(Bt,{icon:"x",label:"Cancel"})})]})]})}function Jc(e,n){const s=e.elements.namedItem(n);return s&&typeof s.value=="string"?s.value.trim():""}function rw(e){const n=e.wait,s=`${e.idBase}-${n.run_id}-${n.wait_key}-prompt`,o=d=>e.onAnswerWait(n.run_id,n.wait_key,d),l=e.renderText??Ka,u=d=>i.jsxs("div",{className:"af-auto-wait__prompt",id:s,children:[i.jsx("span",{className:"af-auto-wait__kind",children:Wh[n.kind]??"Waiting"}),n.prompt?l(n.prompt):i.jsxs("span",{children:[" ",d]})]});if(n.kind==="tool_approval"){const d=Ly(n);return i.jsxs("div",{className:"af-auto-wait af-auto-wait--tool_approval",role:"group","data-wait-key":n.wait_key,"data-wait-kind":n.kind,"aria-labelledby":s,children:[u("A tool call needs your approval."),d&&d.length?i.jsx("ul",{className:"af-auto-wait__calls","aria-label":"Tool calls to approve",children:d.map((p,f)=>i.jsxs("li",{"data-tool":p.name,children:[i.jsx("code",{className:"af-auto-wait__tool",children:p.name}),i.jsx("pre",{className:"af-auto-wait__args",children:JSON.stringify(p.arguments,null,2)})]},p.call_id??`${p.name}:${f}`))}):i.jsx("p",{className:"af-auto__hint",children:"The gateway did not list the tool calls; open the run to see them before approving."}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--primary","data-action":"wait-approve",disabled:e.busy,onClick:()=>o({approved:!0}),children:i.jsx(Bt,{icon:"check",label:"Approve"})}),i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--danger","data-action":"wait-deny",disabled:e.busy,onClick:()=>o({approved:!1}),children:i.jsx(Bt,{icon:"x",label:"Deny"})})]})]})}return n.kind==="event"?i.jsxs("form",{className:"af-auto-wait af-auto-wait--event","data-wait-key":n.wait_key,"data-wait-kind":n.kind,"aria-labelledby":s,onSubmit:d=>{var f;d.preventDefault();const p=Py(Jc(d.currentTarget,"payload"));p.ok?o({payload:p.payload}):(f=e.onWaitError)==null||f.call(e,p.error)},children:[u("The run waits for an event."),i.jsx("textarea",{name:"payload",rows:3,"aria-label":"Event payload (JSON)",placeholder:'{"key": "value"}',disabled:e.busy}),i.jsx("div",{className:"af-auto__row",children:i.jsx("button",{type:"submit",className:"af-auto__btn af-auto__btn--primary","data-action":"wait-send-event",disabled:e.busy,children:i.jsx(Bt,{icon:"send",label:"Send event"})})})]}):n.kind==="ask_user"?i.jsxs("form",{className:"af-auto-wait af-auto-wait--ask_user","data-wait-key":n.wait_key,"data-wait-kind":n.kind,"aria-labelledby":s,onSubmit:d=>{d.preventDefault();const p=Jc(d.currentTarget,"response");p&&o({response:p})},children:[u("The run is waiting for your input."),n.choices&&n.choices.length?i.jsx("div",{className:"af-auto__row",role:"group","aria-label":"Choices",children:n.choices.map(d=>i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"wait-choice",disabled:e.busy,onClick:()=>o({response:d}),children:d},d))}):null,i.jsxs("div",{className:"af-auto__row",children:[i.jsx("input",{name:"response","aria-label":"Your answer",placeholder:"Your answer",disabled:e.busy}),i.jsx("button",{type:"submit",className:"af-auto__btn af-auto__btn--primary","data-action":"wait-answer",disabled:e.busy,children:i.jsx(Bt,{icon:"send",label:"Answer"})})]})]}):i.jsxs("div",{className:"af-auto-wait",role:"group","data-wait-key":n.wait_key,"data-wait-kind":String(n.kind),"aria-labelledby":s,children:[u("The run is waiting."),i.jsxs("p",{className:"af-auto__hint",children:["This kind of wait (",String(n.kind),") cannot be answered here; open the run."]})]})}function sw(e){const{row:n,tone:s,badge:o,statusText:l}=e.view,u=`af-auto-occ-${n.run_id}`,d=e.renderText??Ka,p=e.discuss.enabled&&e.view.canDiscuss&&!e.busy,f=e.discuss.enabled?e.view.canDiscuss?null:"Available once this occurrence finishes.":e.discuss.reason??"Not available.",g=(k,x)=>e.renderTurn?e.renderTurn({kind:k,role:k==="trigger"?"user":"assistant",text:x,index:n.index,runId:n.run_id}):d(x),y=e.renderTurn?" af-auto-turn--card":"",_=s==="failed"?n.failure?"No answer.":"No answer: the run failed.":s==="waiting"?"Waiting for your answer.":s==="running"?"Running…":"No answer.";return i.jsxs("li",{className:`af-auto-occ af-auto-occ--${s}`,"data-index":n.index,"data-tone":s,"aria-labelledby":`${u}-h`,children:[i.jsxs("div",{className:`af-auto-turn af-auto-turn--trigger${y}`,"data-turn":"trigger",children:[i.jsxs("div",{className:"af-auto-turn__meta",id:`${u}-h`,children:[i.jsxs("span",{className:"af-auto-turn__index",children:["#",n.index]})," · ",n.trigger.summary," · fired ",mr(n.fired_at)]}),i.jsx("div",{className:"af-auto-turn__text",children:g("trigger",n.user_turn)})]}),i.jsxs("div",{className:`af-auto-turn af-auto-turn--answer${y}`,"data-turn":"answer",children:[i.jsxs("div",{className:"af-auto-turn__meta",children:[o?i.jsx("span",{className:`af-auto-badge af-auto-badge--${s}`,children:o}):null,i.jsx("span",{className:"af-auto-turn__status",children:l}),n.finished_at?i.jsxs("span",{children:[" · ",mr(n.finished_at)]}):null]}),n.notify?i.jsxs("div",{className:"af-auto-notify","data-notify":"true",children:[i.jsx("strong",{children:n.notify.title}),n.notify.body?i.jsx("div",{className:"af-auto-notify__body",children:d(n.notify.body)}):null]}):null,n.failure?i.jsxs("div",{className:"af-auto-failure","data-failure":n.failure.reason_code,children:[i.jsx("strong",{children:n.failure.reason_code}),": ",n.failure.message," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["(after ",n.failure.attempts," ",n.failure.attempts===1?"attempt":"attempts",")"]})]}):null,n.answer?i.jsx("div",{className:"af-auto-turn__text",children:g("answer",n.answer)}):i.jsx("div",{className:"af-auto-turn__empty",children:_}),n.artifacts.length?i.jsx("ul",{className:"af-auto-artifacts","aria-label":"Artifacts",children:n.artifacts.map(k=>i.jsxs("li",{children:[e.onOpenResource?i.jsxs("button",{type:"button",className:"af-auto__linkbtn","data-action":"open-artifact",onClick:()=>{var x;return(x=e.onOpenResource)==null?void 0:x.call(e,{kind:"artifact",url:k.url,name:k.name,mimeType:k.mime_type,runId:n.run_id})},children:[i.jsx(oe,{name:"file",size:13,className:"af-auto__btn-icon"})," ",k.name]}):i.jsx("span",{className:"af-auto-artifact__name",children:k.name})," ",i.jsx("span",{className:"af-auto-turn__muted",children:k.mime_type})]},k.artifact_id))}):null,n.waits.map(k=>i.jsx(rw,{wait:k,busy:e.busy,idBase:u,onAnswerWait:e.onAnswerWait,onWaitError:e.onWaitError,renderText:e.renderText},`${k.run_id}:${k.wait_key}`))]}),i.jsxs("div",{className:"af-auto-occ__foot",children:[i.jsxs("details",{className:"af-auto-occ__details",children:[i.jsx("summary",{children:"Run details"}),i.jsxs("dl",{className:"af-auto__facts",children:[i.jsx("dt",{children:"Run"}),i.jsx("dd",{children:i.jsx("code",{children:n.run_id})}),i.jsx("dt",{children:"Attempts"}),i.jsx("dd",{children:n.attempts})]}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"open-run",onClick:()=>e.onOpenRun(n.run_id),children:i.jsx(Bt,{icon:"list",label:"Open run ledger"})}),e.onOpenResource?i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"open-ledger-json",onClick:()=>{var k;return(k=e.onOpenResource)==null?void 0:k.call(e,{kind:"ledger",url:n.ledger_url,name:`run-${n.run_id}-ledger.json`,runId:n.run_id})},children:i.jsx(Bt,{icon:"file",label:"Ledger (JSON)"})}):null,n.workspace_url&&e.onOpenWorkspace?i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"open-workspace",title:"Browse this run's folder",onClick:()=>{var k;return(k=e.onOpenWorkspace)==null?void 0:k.call(e,n.run_id)},children:i.jsx(Bt,{icon:"folder",label:"Workspace"})}):null]})]}),e.discussOpen?i.jsxs("form",{className:"af-auto-discuss","aria-label":`${Uf}, from occurrence ${n.index}`,onSubmit:k=>{k.preventDefault();const x=Jc(k.currentTarget,"prompt");x&&e.onDiscussSubmit(n.index,x)},children:[i.jsxs("p",{className:"af-auto__hint",children:["Starts a new session that forks this automation at #",n.index," with its full history (runs 1–",n.index,"). It works in its own writable workspace; the automation's files are mounted read-only for the file tools (shell commands are not sandboxed), and nothing is written back into the automation's session."]}),i.jsx("textarea",{name:"prompt",rows:3,"aria-label":"Your message",placeholder:"Ask about this result…",required:!0}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("button",{type:"submit",className:"af-auto__btn af-auto__btn--primary","data-action":"discuss-submit",disabled:e.busy,children:i.jsx(Bt,{icon:"send",label:"Start discussion"})}),i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"discuss-cancel",onClick:e.onDiscussCancel,children:i.jsx(Bt,{icon:"x",label:"Cancel"})})]})]}):i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--quiet","data-action":"discuss",disabled:!p,title:Kc.discuss,"aria-description":Kc.discuss,"aria-describedby":f?`${u}-discuss-why`:void 0,onClick:()=>e.onDiscussOpen(n.index),children:i.jsx(Bt,{icon:Hh.discuss,label:Uf})}),f?i.jsx("span",{className:"af-auto__reasons",id:`${u}-discuss-why`,children:f}):null]})]})]})}const iw=5e3,ow={[Vn.pause]:"Pause sent.",[Vn.resume]:"Resume sent.",[Vn.run_now]:"Run requested.",[Vn.stop_current]:"Stop sent."};function aw(e){const{summary:n,busy:s}=e,o=e.renderText??Ka,l=w.useId(),u=w.useRef(null),[d,p]=w.useState(!1),f=e.editOpen!==void 0,y=Ua(n,e.occurrences,!1).revise.enabled&&(f?e.editOpen===!0:d),_=w.useRef(null);y?(!_.current||_.current.summary.automation_id!==n.automation_id)&&(_.current={summary:n,definition:e.definition}):_.current=null;const k=_.current,x=w.useRef(e.onEditOpenChange);x.current=e.onEditOpenChange;const $=W=>{var ee;f||p(W),(ee=x.current)==null||ee.call(x,W)},[C,j]=w.useState([]),[T,A]=w.useState(!1),[E,b]=w.useState(null),[P,V]=w.useState(null),[G,O]=w.useState(null);w.useEffect(()=>{if(!G)return;const W=setTimeout(()=>O(null),iw);return()=>clearTimeout(W)},[G]),w.useEffect(()=>{var ee;if(!y)return;j([]);const W=Wf(u.current,['.af-auto__revise [name="title"]']);W==null||W.focus(),(ee=W==null?void 0:W.scrollIntoView)==null||ee.call(W,{block:"nearest"})},[y,n.automation_id]);const[de,re]=w.useState(null);w.useEffect(()=>{var W;de&&((W=Wf(u.current,[...de,".af-auto__notice",".af-auto__title"]))==null||W.focus(),re(null))},[de]);const Q=w.useRef(null);Q.current||(Q.current=new Uh(e.newId??Bh));const B=Q.current,J=W=>V(Hy(W)),fe=(W,ee,le)=>{V(null),O(null),ee(B.idFor(W)).then(he=>{B.settle(W,{ok:!0}),le(he)},he=>{B.settle(W,{ok:!1,error:he}),J(he)})},ae=Cy(n),we=w.useRef(e.onSeen);we.current=e.onSeen;const ye=w.useRef(null);ye.current||(ye.current=new Dy),w.useEffect(()=>{const W=ye.current,ee=ae?`${n.automation_id}|${ae}`:null;if(!ae||!W.next(ee,n))return;const le=n;we.current(ae).then(()=>W.succeeded(ee),he=>{W.failed(ee,le),J(he)})});const Z=Ua(n,e.occurrences,s),Y=Ny(e.occurrences),H=n.occurrence_count-e.occurrences.length,N=P??e.error??null,L=N?su(N):null,z=n.attention;return i.jsxs("section",{ref:u,className:`af-auto${e.className?` ${e.className}`:""}`,"aria-labelledby":l,"aria-busy":s,"data-text-rendering":e.renderText?"rich":"unformatted",children:[i.jsx(Jy,{summary:n,triggerSources:e.triggerSources,titleId:l,nowMs:e.nowMs,onOpenWorkspace:e.onOpenWorkspace}),i.jsx(ew,{summary:n,occurrences:e.occurrences,busy:s,confirmingArchive:T,reviseOpen:y,notice:G,onDismissNotice:()=>O(null),idBase:`${l}-ctl`,onCommand:W=>fe(`command:${W}`,ee=>e.onCommand(W,void 0,{command_id:ee}),()=>{W===Vn.archive?(A(!1),O("Archive requested."),re(['[data-action="archive"]'])):O(ow[W]??"Command sent.")}),onToggleRevise:()=>{j([]),$(!y)},onAskArchive:()=>A(!0),onCancelArchive:()=>{A(!1),re(['[data-action="archive"]'])}}),y&&k?i.jsx(nw,{summary:k.summary,definition:k.definition,busy:s,errors:C,onCancel:()=>{$(!1),re(['[data-action="edit"]'])},onSubmit:W=>{const ee=k.summary,le=Ey(ee,W,k.definition);if(le===null){j(["Nothing changed."]);return}if("errors"in le){j(le.errors);return}j([]),fe(`revise:${ee.revision}:${JSON.stringify(le)}`,he=>e.onRevise(le,ee.revision,{command_id:he}),()=>{O("Saved; applies from the next run."),$(!1),re(['[data-action="edit"]'])})}}):e.definition?i.jsx(Qy,{definition:e.definition,renderText:o}):null,L?i.jsxs("div",{className:"af-auto__error",role:"alert","data-code":N==null?void 0:N.code,children:[i.jsx(oe,{name:"error",size:14,className:"af-auto__btn-icon"}),i.jsxs("span",{className:"af-auto__error-text",children:[i.jsx("strong",{children:L.title})," ",i.jsx("span",{children:L.detail})]}),P?i.jsx("button",{type:"button",className:"af-auto__icon-btn af-auto__icon-btn--bare","data-action":"dismiss-error","aria-label":"Dismiss",title:"Dismiss",onClick:()=>V(null),children:i.jsx(oe,{name:"x",size:12})}):null]}):null,z.items.length||z.waits.length?i.jsx("section",{className:"af-auto__attention","aria-label":"Needs attention",children:i.jsxs("ul",{children:[z.items.map(W=>i.jsxs("li",{className:`af-auto__attention-item af-auto__attention-item--${W.kind}`,"data-cursor":W.cursor,children:[i.jsx("span",{className:`af-auto-badge af-auto-badge--${W.kind==="failure"?"failed":"notified"}`,children:W.kind==="failure"?"Failed":"Notified"})," ",i.jsx("strong",{children:W.title})," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["#",W.index," · ",mr(W.at)]}),W.body?i.jsx("div",{className:"af-auto__attention-body",children:o(W.body)}):null]},W.cursor)),z.waits.map(W=>i.jsxs("li",{className:"af-auto__attention-item af-auto__attention-item--wait",children:[i.jsx("span",{className:"af-auto-badge af-auto-badge--waiting","data-wait-kind":W.kind,children:Wh[W.kind]??"Waiting for you"})," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["#",W.index]}),W.prompt?i.jsx("div",{className:"af-auto__attention-body",children:o(W.prompt)}):null]},`${W.run_id}:${W.wait_key}`))]})}):null,H>0?i.jsx("button",{type:"button",className:"af-auto__btn af-auto__more","data-action":"load-more",disabled:s,onClick:e.onLoadMore,children:i.jsx(Bt,{icon:"history",label:`Load earlier occurrences (${H} more)`})}):null,Y.length?i.jsx("ol",{className:"af-auto__timeline","aria-label":"Occurrences",children:Y.map(W=>{const ee=`[data-index="${W.row.index}"]`;return i.jsx(sw,{view:W,busy:s,discuss:Z.discuss,renderText:o,renderTurn:e.renderTurn,onOpenWorkspace:e.onOpenWorkspace,onOpenResource:e.onOpenResource?le=>{var he;V(null);try{Promise.resolve((he=e.onOpenResource)==null?void 0:he.call(e,le)).catch(J)}catch(ue){J(ue)}}:void 0,discussOpen:E===W.row.index,onOpenRun:e.onOpenRun,onAnswerWait:(le,he,ue)=>{V(null),e.onAnswerWait(le,he,ue).then(()=>O("Answer sent."),J)},onWaitError:le=>V({status:0,code:"invalid_payload",message:le}),onDiscussOpen:b,onDiscussCancel:()=>{b(null),re([`${ee} [data-action="discuss"]`])},onDiscussSubmit:(le,he)=>fe(`discuss:${le}:${he}`,ue=>e.onDiscuss(le,he,{request_id:ue}),ue=>{b(null),O(`Discussion started (session ${ue.session_id}).`),re([`${ee} [data-action="discuss"]`])})},W.row.run_id)})}):i.jsx("p",{className:"af-auto__empty",children:"No occurrences yet."})]})}function lw(e){var N;const n=w.useId(),s=w.useId(),o=w.useRef(null),l=w.useRef(null),u=w.useRef(e.onClose);u.current=e.onClose;const[d,p]=w.useState(e.initialPrompt??""),[f,g]=w.useState("every"),[y,_]=w.useState("24"),[k,x]=w.useState("h"),[$,C]=w.useState(""),[j,T]=w.useState("independent"),[A,E]=w.useState("auto"),[b,P]=w.useState(e.initialTitle??""),[V,G]=w.useState(""),[O,de]=w.useState(""),[re,Q]=w.useState(""),[B,J]=w.useState([]),fe=w.useRef(null);if(fe.current||(fe.current=new Uh(()=>(e.newRequestId??Bh)())),w.useEffect(()=>{var W;if(!e.open)return;const L=document.activeElement;(W=l.current)==null||W.focus();const z=ee=>{if(!ee.defaultPrevented){if(ee.key==="Escape"){ee.preventDefault(),u.current();return}Ih(ee,o.current,document.activeElement)}};return window.addEventListener("keydown",z),()=>{window.removeEventListener("keydown",z),L&&typeof L.focus=="function"&&L.focus()}},[e.open]),!e.open)return null;const ae={prompt:d,when:f==="once"?{kind:"once",at:$}:{kind:"every",amount:Number(y),unit:k},context:j,toolApproval:A,title:b,...f==="every"&&V?{startAt:V}:{},...f==="every"&&O.trim()?{count:Number(O)}:{},...f==="every"&&re?{until:re}:{}},we=Ry(ae),ye=e.busy===!0,Z=e.error?su(e.error):null,Y=L=>`${s}-${L}`,H=L=>{L.preventDefault();const z=Iy(ae,{target:e.target,requestId:""});if(!z.ok){J(z.errors);return}J([]);const W=fe.current,ee=JSON.stringify(z.body),le={...z.body,request_id:W.idFor(ee)};Promise.resolve(e.onSubmit(le)).then(()=>W.settle(ee,{ok:!0}),he=>W.settle(ee,{ok:!1,error:he}))};return i.jsx("div",{className:"af-appearance-overlay af-schedule-overlay",onClick:e.onClose,role:"presentation",children:i.jsxs("div",{ref:o,className:"af-appearance af-schedule",role:"dialog","aria-modal":"true","aria-labelledby":n,onClick:L=>L.stopPropagation(),children:[i.jsx("div",{className:"af-appearance__title",id:n,children:e.title??"Schedule a task"}),i.jsxs("form",{className:"af-schedule__form",onSubmit:H,"aria-busy":ye,children:[i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"What"}),e.workflowPicker?i.jsx("div",{className:"af-schedule__picker",children:e.workflowPicker}):null,e.target?null:i.jsx("p",{className:"af-auto__hint",children:"Choose what to run."}),i.jsxs("label",{className:"af-auto__field",htmlFor:Y("prompt"),children:[i.jsx("span",{children:"Task"}),i.jsx("textarea",{id:Y("prompt"),ref:l,rows:3,value:d,onChange:L=>p(L.target.value),placeholder:"e.g. Check the price of ACME shares and notify me if it moved more than 2%.",required:!0})]})]}),i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"When (UTC)"}),i.jsxs("div",{className:"af-auto__row",role:"radiogroup","aria-label":"Schedule kind",children:[i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("kind"),value:"every",checked:f==="every",onChange:()=>g("every")})," Repeat"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("kind"),value:"once",checked:f==="once",onChange:()=>g("once")})," Once at…"]})]}),f==="every"?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"af-auto__row af-schedule__presets",role:"group","aria-label":"Presets",children:Ay.map(L=>L.when.kind==="every"?i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--quiet","aria-pressed":Number(y)===L.when.amount&&k===L.when.unit,onClick:()=>{L.when.kind==="every"&&(_(String(L.when.amount)),x(L.when.unit))},children:L.label},L.label):null)}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("span",{children:"Every"}),i.jsx("input",{type:"number",min:1,step:1,value:y,onChange:L=>_(L.target.value),"aria-label":"Interval amount"}),i.jsxs("select",{value:k,onChange:L=>x(L.target.value),"aria-label":"Interval unit",children:[i.jsx("option",{value:"m",children:"minutes"}),i.jsx("option",{value:"h",children:"hours"}),i.jsx("option",{value:"d",children:"days"})]})]})]}):i.jsxs("label",{className:"af-auto__field",htmlFor:Y("once"),children:[i.jsx("span",{children:"Run once at (UTC)"}),i.jsx("input",{id:Y("once"),type:"datetime-local",value:$,onChange:L=>C(L.target.value)})]}),i.jsx("p",{className:"af-schedule__preview","aria-live":"polite","data-preview":"true",children:we?`Runs ${we}.`:"Incomplete schedule."})]}),i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:"Context"}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("ctx"),value:"independent",checked:j==="independent",onChange:()=>T("independent")})," Independent — each run starts fresh"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("ctx"),value:"growing",checked:j==="growing",onChange:()=>T("growing")})," Growing — each run sees the previous runs"]})]}),i.jsxs("fieldset",{className:"af-auto__field","data-field":"tool-approval",children:[i.jsx("legend",{children:"Tools"}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("tools"),value:"auto",checked:A==="auto",onChange:()=>E("auto")})," Run without asking"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Y("tools"),value:"ask",checked:A==="ask",onChange:()=>E("ask")})," Ask me before each tool call (the run waits for you)"]}),A==="auto"?i.jsxs("p",{className:"af-schedule__consent","data-consent":"true",children:[My,e.targetTools&&e.targetTools.length?`: ${e.targetTools.join(", ")}.`:"."]}):i.jsx("p",{className:"af-auto__hint",children:"Each tool call waits for your approval in the automation's timeline."})]}),i.jsxs("details",{className:"af-schedule__advanced",children:[i.jsx("summary",{children:"Advanced"}),i.jsxs("label",{className:"af-auto__field",htmlFor:Y("title"),children:[i.jsx("span",{children:"Title"}),i.jsx("input",{id:Y("title"),value:b,maxLength:120,onChange:L=>P(L.target.value),placeholder:"Defaults to the task's first line"})]}),f==="every"?i.jsxs(i.Fragment,{children:[i.jsxs("label",{className:"af-auto__field",htmlFor:Y("start"),children:[i.jsx("span",{children:"First run at (UTC; empty = now)"}),i.jsx("input",{id:Y("start"),type:"datetime-local",value:V,onChange:L=>G(L.target.value)})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:Y("count"),children:[i.jsx("span",{children:"Stop after this many runs"}),i.jsx("input",{id:Y("count"),type:"number",min:1,step:1,value:O,onChange:L=>de(L.target.value)})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:Y("until"),children:[i.jsx("span",{children:"Stop at (UTC)"}),i.jsx("input",{id:Y("until"),type:"datetime-local",value:re,onChange:L=>Q(L.target.value)})]})]}):null]}),B.length?i.jsx("ul",{className:"af-auto__form-errors",role:"alert",children:B.map(L=>i.jsx("li",{children:L},L))}):null,Z?i.jsxs("div",{className:"af-auto__error",role:"alert","data-code":(N=e.error)==null?void 0:N.code,children:[i.jsx("strong",{children:Z.title})," ",i.jsx("span",{children:Z.detail})]}):null,i.jsxs("div",{className:"af-appearance__actions af-auto__row",children:[i.jsx("button",{type:"button",className:"af-auto__btn",onClick:e.onClose,children:"Cancel"}),i.jsx("button",{type:"submit",className:"af-auto__btn af-auto__btn--primary",disabled:ye,children:"Create automation"})]})]})]})})}function Kh(e){const n=String(e??"").trim();if(!n||!(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]")))return null;try{return JSON.parse(n)}catch{return null}}function cw(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function uw(e){const n=String(e.role||"message").trim()||"message",s=String(e.title||"").trim(),o=String(e.ts||"").trim(),l=[n];return s&&l.push(s),o&&l.push(o),l.join(" · ")}function dw(e){return e.endsWith(`
|
|
55
|
+
`)?e:`${e}
|
|
56
|
+
`}function fw(e){return String(e||"").trimStart().startsWith("```")}function hw(e,n){const o=[`# ${"Chat".trim()||"Chat"}`,""];for(const l of e){const u=uw(l);o.push(`## ${u}`,"");const d=String(l.content||""),p=Kh(d);p!==null&&!fw(d)?o.push("```json",cw(p).trimEnd(),"```",""):o.push(dw(d).trimEnd(),""),o.push("---","")}for(;o.length&&!o[o.length-1].trim();)o.pop();return o.length&&o[o.length-1]==="---"&&o.pop(),`${o.join(`
|
|
57
|
+
`).trimEnd()}
|
|
58
|
+
`}async function ou(e){const n=String(e||"");if(!n)return!1;try{return await navigator.clipboard.writeText(n),!0}catch{try{const s=document.createElement("textarea");return s.value=n,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 pw(e){const n=String(e.filename).trim()||"export.txt",s=String(e.text||""),o=String(e.mime||"text/plain;charset=utf-8"),l=new Blob([s],{type:o}),u=URL.createObjectURL(l),d=document.createElement("a");d.href=u,d.download=n,document.body.appendChild(d),d.click(),d.remove(),window.setTimeout(()=>URL.revokeObjectURL(u),1e3)}const mw=3,gw=Number.MAX_SAFE_INTEGER;function Jh(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Qh(e){return Array.isArray(e)}function yw(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function hi({kind:e,children:n}){return i.jsx("span",{className:`pc-json-token ${e}`,children:n})}function ww(e){const n=JSON.stringify(e.value),s=n.length>96||n.includes("\\n")||n.includes("\\r")||n.includes("\\t"),[o,l]=w.useState(!s||e.expansionMode==="unfolded");return w.useEffect(()=>{s&&l(e.expansionMode==="unfolded")},[s,e.expansionMode,e.expansionVersion]),s?i.jsxs("span",{className:`pc-json-string ${o?"open":"collapsed"}`,children:[i.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?i.jsx("span",{className:"pc-json-token string pc-json-string__value",children:n}):i.jsxs("button",{type:"button",className:"pc-json-string__preview",onClick:()=>l(!0),"aria-label":"Expand string value",children:[i.jsx("span",{className:"pc-json-token string pc-json-string__preview_text",children:n}),i.jsx("span",{className:"pc-json-string__suffix",children:"(...)"})]})]}):i.jsx(hi,{kind:"string",children:n})}function vw(e,n,s){return e===null?i.jsx(hi,{kind:"null",children:"null"}):typeof e=="string"?i.jsx(ww,{value:e,expansionMode:n,expansionVersion:s}):typeof e=="number"?i.jsx(hi,{kind:"number",children:String(e)}):typeof e=="boolean"?i.jsx(hi,{kind:"boolean",children:e?"true":"false"}):i.jsx(hi,{kind:"string",children:JSON.stringify(String(e))})}function _w(e){return Qh(e)?e.length===1?"1 item":`${e.length} items`:Jh(e)?Object.keys(e).length===1?"1 key":`${Object.keys(e).length} keys`:""}function Yh(e){const{label:n,value:s,depth:o,collapseAfterDepth:l,expansionMode:u,expansionVersion:d,trailingComma:p}=e,f=o*14,g=Jh(s),y=Qh(s),_=g||y,k=o<l,[x,$]=w.useState(k);w.useEffect(()=>{$(k)},[k,d]);const C=n?i.jsxs(i.Fragment,{children:[i.jsx(hi,{kind:"key",children:JSON.stringify(n)}),": "]}):null;if(!_)return i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[C,vw(s,u,d),p?",":""]});const j=y?"[":"{",T=y?"]":"}",A=_w(s),E=x?`${j}`:`${j}…${T}${A?` (${A})`:""}`,b=y?s.map((P,V)=>({key:String(V),label:void 0,value:P})):Object.entries(s).map(([P,V])=>({key:P,label:P,value:V}));return i.jsxs("details",{className:"pc-json-viewer__details",open:x,onToggle:P=>$(P.currentTarget.open),children:[i.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:f},children:[C,i.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:x?"▾":"▸"}),i.jsx("span",{className:"pc-json-viewer__punct",children:E}),!x&&p?i.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),x?i.jsx("div",{className:"pc-json-viewer__children",children:b.length===0?i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[i.jsx("span",{className:"pc-json-viewer__punct",children:T}),p?",":""]}):i.jsxs(i.Fragment,{children:[b.map((P,V)=>{const G=V===b.length-1;return i.jsx(Yh,{label:P.label,value:P.value,depth:o+1,collapseAfterDepth:l,expansionMode:u,expansionVersion:d,trailingComma:!G},`${o}:${n||"root"}:${P.key}`)}),i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[i.jsx("span",{className:"pc-json-viewer__punct",children:T}),p?",":""]})]})}):null]})}function xw(e){const n=e.trim();if(!n)return e;if(n.startsWith("{")&&n.endsWith("}")||n.startsWith("[")&&n.endsWith("]"))try{return JSON.parse(n)}catch{return e}return e}function bs(e){const{value:n,className:s,showCopy:o=!0}=e,[l,u]=w.useState({mode:"folded",version:0}),d=typeof e.collapseAfterDepth=="number"&&(Number.isFinite(e.collapseAfterDepth)||e.collapseAfterDepth===1/0)&&e.collapseAfterDepth>=0?e.collapseAfterDepth===1/0?Number.MAX_SAFE_INTEGER:Math.trunc(e.collapseAfterDepth):mw,p=l.mode==="unfolded"?gw:d,f=w.useMemo(()=>typeof n=="string"?xw(n):n,[n]),g=w.useMemo(()=>yw(n),[n]),y=["pc-json-viewer",s].filter(Boolean).join(" ");w.useEffect(()=>{u(k=>({mode:"folded",version:k.version+1}))},[f]);const _=()=>{u(k=>({mode:k.mode==="unfolded"?"folded":"unfolded",version:k.version+1}))};return i.jsxs("div",{className:y,children:[i.jsxs("div",{className:"pc-json-viewer__toolbar",children:[i.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?i.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void ou(g),children:"Copy JSON"}):null]}),i.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:i.jsx(Yh,{value:f,depth:0,collapseAfterDepth:p,expansionMode:l.mode,expansionVersion:l.version,trailingComma:!1})})]})}function so(e,n){const s=String(e??"");if(!n||!n.needles.length)return[s];const o=[],l=s.toLowerCase();let u=0;for(;u<s.length;){let d=-1,p="";for(let y=0;y<n.needlesLower.length;y++){const _=n.needlesLower[y];if(!_)continue;const k=l.indexOf(_,u);if(k===-1)continue;const x=n.needles[y]||"";x&&(d===-1||k<d||k===d&&x.length>p.length)&&(d=k,p=x)}if(d===-1||!p){o.push(s.slice(u));break}d>u&&o.push(s.slice(u,d));const f=n.hits===0&&n.id?n.id:void 0,g=s.slice(d,d+p.length);o.push(i.jsx("span",{id:f,className:n.className,children:g},`hl:${n.hits}`)),n.hits+=1,u=d+p.length}return o}function Xh(e){const n=String(e||"").trim();if(n&&/^(https?:|mailto:|tel:|#|\/)/i.test(n))return n}const Qc="http://same-origin.invalid/";function kw(e){try{const n=new URL(e,Qc);return n.protocol==="http:"&&n.origin===new URL(Qc).origin}catch{return!1}}function Zh(e){const n=String(e||"").trim();return Xh(n)??(n&&kw(n)?n:void 0)}let js=null;function bw(e){const n=String(e||"").trim();if(!n)return!1;const s=typeof document<"u"&&document.baseURI?document.baseURI:null;if(s===null&&/^[a-z][a-z0-9+.-]*:/i.test(n))return!1;const o=s??Qc;let l,u;try{l=new URL(o).origin,u=new URL(n,o)}catch{return!1}return u.protocol!=="http:"&&u.protocol!=="https:"?!1:u.origin===l}function qh(e,n,s){return i.jsx("a",{className:"pc-md_link pc-md_image_link",href:n,target:"_blank",rel:"noopener noreferrer",children:`image: ${s||n}`},e)}function Hr(e,n){const s=[],o=String(e??"");let l=0,u="";const d=()=>{if(u){for(const p of so(u,n))s.push(p);u=""}};for(;l<o.length;){const p=o[l];if(p==="!"&&o[l+1]==="["){const f=o.indexOf("]",l+2);if(f!==-1&&o[f+1]==="("){const g=o.indexOf(")",f+2);if(g!==-1){const y=o.slice(l+2,f),_=Zh(o.slice(f+2,g));if(_&&js&&!js(_)){d(),s.push(qh(`img:${l}`,_,y)),l=g+1;continue}if(_){d(),s.push(i.jsxs("span",{className:"pc-md_image_inline",children:[i.jsx("img",{className:"pc-md_img",src:_,alt:y,loading:"lazy"}),y?i.jsx("span",{className:"pc-md_img_caption",children:n?so(y,n):y}):null]},`img:${l}`)),l=g+1;continue}}}}if(p==="["){const f=o.indexOf("]",l+1);if(f!==-1&&o[f+1]==="("){const g=o.indexOf(")",f+2);if(g!==-1){const y=o.slice(l+1,f),_=Xh(o.slice(f+2,g));if(_){d(),s.push(i.jsx("a",{className:"pc-md_link",href:_,target:_.startsWith("#")?void 0:"_blank",rel:"noreferrer",children:Hr(y,n)},`link:${l}`)),l=g+1;continue}}}}if(p==="`"){const f=o.indexOf("`",l+1);if(f!==-1){d();const g=o.slice(l+1,f);s.push(i.jsx("code",{children:n?so(g,n):g},`code:${l}`)),l=f+1;continue}}if(p==="*"&&o[l+1]==="*"){const f=o.indexOf("**",l+2);if(f!==-1){d();const g=o.slice(l+2,f);s.push(i.jsx("strong",{children:n?so(g,n):g},`bold:${l}`)),l=f+2;continue}}if(p==="*"&&o[l+1]!=="*"){const f=o.indexOf("*",l+1);if(f!==-1){d();const g=o.slice(l+1,f);s.push(i.jsx("em",{children:n?so(g,n):g},`em:${l}`)),l=f+1;continue}}u+=p,l+=1}return d(),s}function jw(e){return String(e??"").replace(/\r\n/g,`
|
|
59
|
+
`).replace(/\r/g,`
|
|
60
|
+
`).split(`
|
|
61
|
+
`)}function Oa(e){const s=String(e??"").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 Sw(e){const n=[];for(const l of e){const u=Oa(l);u?n.push(u):n.length>0&&l.trim()&&(n[n.length-1].content+=` ${l.trim()}`)}const s=[],o=[];for(const l of n){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 d=u.node.items,p=d[d.length-1];if(p){const f={ordered:l.ordered,start:l.start,items:[]};p.children.push(f),o.push({indent:l.indent,node:f}),u=o[o.length-1]}}else if(u&&u.node.ordered!==l.ordered){o.pop();const d=o.length>0?o[o.length-1]:null,p={ordered:l.ordered,start:l.start,items:[]};if(d){const f=d.node.items,g=f[f.length-1];g?g.children.push(p):d.node.items.push({content:"",children:[p]})}else s.push(p);o.push({indent:l.indent,node:p}),u=o[o.length-1]}if(!u){const d={ordered:l.ordered,start:l.start,items:[]};s.push(d),o.push({indent:l.indent,node:d}),u=o[o.length-1]}u.node.items.push({content:l.content,children:[]})}return s}function ep(e,n,s){const o=e.items.map((l,u)=>i.jsxs("li",{children:[Hr(l.content,n),l.children.map((d,p)=>ep(d,n,`${s}:${u}:${p}`))]},`${s}:li:${u}`));return e.ordered?i.jsx("ol",{className:"pc-md_ol",start:e.start!==1?e.start:void 0,children:o},s):i.jsx("ul",{className:"pc-md_ul",children:o},s)}function Nw(e,n,s){return Sw(e).map((o,l)=>ep(o,n,`${s}:${l}`))}function Gf(e){let n=String(e??"").trim();return n?(n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1)),n.split("|").map(s=>String(s??"").trim())):[]}function Hf(e){let n=String(e??"").trim();if(!n)return!1;n.startsWith("|")&&(n=n.slice(1)),n.endsWith("|")&&(n=n.slice(0,-1));const s=n.split("|").map(o=>String(o??"").trim());return s.length<2?!1:s.every(o=>/^:?-{3,}:?$/.test(o))}const Kf=/^(#{1,5})\s+(.*)$/;function Jf(e){return e.trim().startsWith("```")}function Qf(e){return e.trimStart().startsWith(">")}function tp(e){const n=js;js=e.images==="link"?e.inlineImage||bw:null;try{return Cw(e)}finally{js=n}}function Cw({text:e,className:n,highlight:s,highlights:o,highlightClassName:l,highlightId:u}){const d=jw(e),p=[],f=[];Array.isArray(o)&&f.push(...o),typeof s=="string"&&s.trim()&&f.push(s);const g=Array.from(new Set(f.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(;_<d.length;){const x=String(d[_]??"");if(!x.trim()){_+=1;continue}const $=x.trim();if(/^([-_*])(\s*\1){2,}$/.test($)){p.push(i.jsx("hr",{className:"pc-md_hr"},`hr:${_}`)),_+=1;continue}const C=x.match(/^\s*!\[([^\]]*)\]\(([^)]+)\)\s*$/);if(C){const A=Zh(C[2]||"");if(A&&js&&!js(A)){p.push(i.jsx("p",{className:"pc-md_p",children:qh(`img:${_}`,A,C[1]||"")},`p:${_}`)),_+=1;continue}if(A){const E=C[1]||"";p.push(i.jsxs("figure",{className:"pc-md_figure",children:[i.jsx("img",{className:"pc-md_img",src:A,alt:E,loading:"lazy"}),E?i.jsx("figcaption",{children:Hr(E,y)}):null]},`figure:${_}`)),_+=1;continue}}if(Jf(x)){const E=x.trim().replace(/```/g,"").trim(),b=[];for(_+=1;_<d.length&&!String(d[_]??"").trim().startsWith("```");)b.push(String(d[_]??"")),_+=1;_<d.length&&(_+=1);const P=b.join(`
|
|
62
|
+
`);p.push(i.jsx("pre",{className:"pc-md_pre",children:i.jsx("code",{className:E?`language-${E}`:void 0,children:P})},`pre:${_}`));continue}const j=x.match(Kf);if(j){const A=j[1].length,E=j[2]||"",b=Hr(E,y);A===1?p.push(i.jsx("h1",{children:b},`h1:${_}`)):A===2?p.push(i.jsx("h2",{children:b},`h2:${_}`)):A===3?p.push(i.jsx("h3",{children:b},`h3:${_}`)):A===4?p.push(i.jsx("h4",{children:b},`h4:${_}`)):p.push(i.jsx("h5",{children:b},`h5:${_}`)),_+=1;continue}if(Qf(x)){const A=[];for(;_<d.length&&String(d[_]??"").trimStart().startsWith(">");){const b=String(d[_]??"").trimStart();A.push(b.replace(/^>\s?/,"")),_+=1}p.push(i.jsx("blockquote",{className:"pc-md_quote",children:A.map((E,b)=>i.jsxs(yt.Fragment,{children:[Hr(E,y),b<A.length-1?i.jsx("br",{}):null]},`q:${_}:${b}`))},`quote:${_}`));continue}if(x.includes("|")&&_+1<d.length&&Hf(String(d[_+1]??""))){const A=Gf(x),E=Math.max(1,A.length),b=[];for(_+=2;_<d.length;){const P=String(d[_]??"");if(!P.trim()||!P.includes("|"))break;const V=Gf(P),G=[];for(let O=0;O<E;O++)G.push(V[O]??"");b.push(G),_+=1}p.push(i.jsx("div",{className:"pc-md_table_wrap",children:i.jsxs("table",{className:"pc-md_table",children:[i.jsx("thead",{children:i.jsx("tr",{children:A.slice(0,E).map((P,V)=>i.jsx("th",{children:Hr(P,y)},`th:${_}:${V}`))})}),i.jsx("tbody",{children:b.map((P,V)=>i.jsx("tr",{children:P.map((G,O)=>i.jsx("td",{children:Hr(G,y)},`td:${_}:${V}:${O}`))},`tr:${_}:${V}`))})]})},`table:${_}`));continue}if(Oa(x)){const A=[];for(;_<d.length;){const E=String(d[_]??"");if(!E.trim()||E.trimStart().startsWith("```"))break;if(Oa(E)||/^\s{2,}\S/.test(E)){A.push(E),_+=1;continue}break}p.push(i.jsx(yt.Fragment,{children:Nw(A,y,`list:${_}`)},`list:${_}`));continue}const T=[];for(;_<d.length&&String(d[_]??"").trim()&&!(T.length>0&&Oa(String(d[_]??"")));){const A=String(d[_]??"");if(T.length>0&&(Kf.test(A)||Jf(A)||Qf(A))||T.length>0&&A.includes("|")&&_+1<d.length&&Hf(String(d[_+1]??"")))break;T.push(A),_+=1}p.push(i.jsx("p",{className:"pc-md_p",children:T.map((A,E)=>i.jsxs(yt.Fragment,{children:[Hr(A,y),E<T.length-1?i.jsx("br",{}):null]},`pl:${_}:${E}`))},`p:${_}`))}const k=["pc-md",n].filter(Boolean).join(" ");return i.jsx("div",{className:k,children:p})}function np(e){const n=String(e.text??""),s=w.useMemo(()=>Kh(n),[n]),o=["pc-chat-content",e.className].filter(Boolean).join(" ");return s!==null?i.jsx("div",{className:o,children:i.jsx(bs,{value:s,collapseAfterDepth:e.jsonCollapseAfterDepth})}):e.renderMarkdown?i.jsx("div",{className:o,children:e.renderMarkdown(n)}):i.jsx("div",{className:o,children:i.jsx(tp,{text:n,images:e.images,inlineImage:e.inlineImage})})}function rp(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function sp(e){const n=rp(e);if(!n||typeof n!="object"||Array.isArray(n))return{label:"input",value:n==null?"":String(n)};const s=Object.entries(n),l=["command","query","url","file_path","path","pattern","name"].map(u=>s.find(([d])=>d===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 ip({tool:e,showCopy:n=!0}){const[s,o]=w.useState(!1),l=rp(e.arguments),u=sp(e.arguments),d=["file path","path"].includes(u.label)&&u.value.length>60?`${u.value.split(/[\\/]/).pop()} · ${u.value.slice(0,24)}…`:u.value,p=e.error&&/^File ['"].+['"] does not exist\.?$/.test(e.error)?"File not found. Expand for the exact path.":e.error&&e.error.length>180?`${e.error.slice(0,100)}…${e.error.slice(-70)}`:e.error,f={running:"Running",waiting:"Approval needed",completed:"Done",failed:"Failed"},g=e.startedAt&&e.endedAt?Date.parse(e.endedAt)-Date.parse(e.startedAt):NaN,y=l&&typeof l=="object"&&!Array.isArray(l)?Object.entries(l):null;return i.jsxs("details",{className:`pc-tool-activity pc-tool-activity--${e.status}`,children:[i.jsxs("summary",{className:"pc-tool-activity__summary",children:[i.jsx("span",{className:"pc-tool-activity__state-icon","aria-hidden":"true",children:i.jsx(oe,{name:e.status==="completed"?"check":e.status==="failed"?"x":e.status==="waiting"?"warning":"loader",size:15})}),i.jsx("strong",{children:e.name}),i.jsx("span",{className:"pc-tool-activity__preview",title:u.value,children:u.value?i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"pc-tool-activity__key",children:u.label}),d]}):"No parameters"}),i.jsx("span",{className:"pc-tool-activity__status",children:f[e.status]}),Number.isFinite(g)&&g>=0?i.jsxs("span",{className:"pc-tool-activity__duration",children:[(g/1e3).toFixed(1),"s"]}):null,i.jsx("span",{className:"pc-tool-activity__chevron","aria-hidden":"true",children:i.jsx(oe,{name:"chevronRight",size:13})}),e.error?i.jsx("span",{className:"pc-tool-activity__error",title:e.error,children:p}):null]}),i.jsxs("div",{className:"pc-tool-activity__detail",children:[e.error?i.jsxs(i.Fragment,{children:[i.jsx("h4",{children:"Error"}),i.jsx("pre",{className:"pc-tool-activity__output",children:e.error})]}):null,i.jsxs("div",{className:"pc-tool-activity__detail-heading",children:[i.jsx("h4",{children:"Parameters"}),n?i.jsxs("button",{type:"button",onClick:async()=>o(await ou(JSON.stringify(e,null,2))),children:[i.jsx(oe,{name:"copy",size:13}),s?"Copied":"Copy details"]}):null]}),y?i.jsx("dl",{className:"pc-tool-activity__parameters",children:y.map(([_,k])=>i.jsxs(yt.Fragment,{children:[i.jsx("dt",{children:_}),i.jsx("dd",{children:k&&typeof k=="object"?i.jsx(bs,{value:k}):i.jsx("code",{children:typeof k=="string"?k:JSON.stringify(k)})})]},_))}):e.arguments===void 0?i.jsx("p",{children:"Arguments are unavailable in this ledger."}):i.jsx(bs,{value:l}),e.output!==void 0?i.jsxs(i.Fragment,{children:[i.jsx("h4",{children:"Result"}),typeof e.output=="string"?i.jsx("pre",{className:"pc-tool-activity__output",children:e.output}):i.jsx("div",{className:"pc-tool-activity__output",children:i.jsx(bs,{value:e.output})})]}):null]})]})}function op({tools:e,showCopy:n}){const s=o=>e.filter(l=>l.status===o).length;return i.jsxs("section",{className:"pc-tool-group","aria-label":"Tool activity",children:[i.jsxs("div",{className:"pc-tool-group__heading",children:[i.jsx(oe,{name:"terminal",size:14}),i.jsx("strong",{children:"Tools"}),i.jsxs("span",{children:[e.length," ",e.length===1?"call":"calls"]}),i.jsx("div",{}),s("running")?i.jsxs("span",{className:"pc-tool-group__running",children:[s("running")," running"]}):null,s("waiting")?i.jsxs("span",{className:"pc-tool-group__waiting",children:[s("waiting")," need approval"]}):null,s("failed")?i.jsxs("span",{className:"pc-tool-group__failed",children:[s("failed")," failed"]}):null,s("completed")?i.jsxs("span",{className:"pc-tool-group__completed",children:[s("completed")," done"]}):null]}),e.map(o=>i.jsx(ip,{tool:o,showCopy:n},o.id))]})}const Rt="not reported",Ht=e=>e===void 0?Rt:Math.round(e).toLocaleString(),on=e=>{if(e===void 0)return Rt;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const n=Math.round(e/1e3);return`${Math.floor(n/60)}m ${String(n%60).padStart(2,"0")}s`},ap=e=>e===void 0?Rt:`${Math.round(e).toLocaleString()} tok/s`,$w=(e,n)=>n>0?`${Math.round(e/n*100)}%`:"",Ss=(e,n,s=`${n}s`)=>`${e.toLocaleString()} ${e===1?n:s}`,Ew=e=>{const n=e.split("#")[0].replace(/\/+$/,"");return n.slice(n.lastIndexOf("/")+1)||e};function Aw(e){const n=new Map;for(const s of e)s&&n.set(s,(n.get(s)||0)+1);return[...n].map(([s,o])=>o>1?`${s} ×${o}`:s).join(" · ")}function Ba(e){const n=[],s=(e.models||[]).map(Ew),o=e.providers||[];return(s.length||o.length)&&n.push([s.join(", ")||"model not reported",o.join(", ")].filter(Boolean).join(" · ")),n.push("From the run ledger; summed across this turn and its child runs."),n}function Tw(e){const n=e.modelCalls||[],s=[],o=[{label:"Input",value:Ht(e.inputTokens)},{label:"Output",value:Ht(e.outputTokens)}];if(e.reasoningTokens!==void 0&&o.push({label:"Reasoning",value:Ht(e.reasoningTokens),hint:"part of output"}),o.push({label:"Total",value:Ht(e.totalTokens)}),s.push({heading:`Usage · ${Ss(e.llmCalls,"model call")}`,rows:o}),e.measuredCacheCalls){const u=e.cachedTokens||0,d=e.fedTokens||0,p=[{label:"Reused from cache",value:`${Ht(u)}${u+d?` (${$w(u,u+d)})`:""}`},{label:"Newly processed",value:Ht(e.fedTokens)},{label:"Outcome",value:Aw(n.map(f=>f.cacheOutcome))||(e.cacheOutcomes||[]).join(" · ")||Rt},{label:"Backend",value:(e.cacheBackends||[]).join(", ")||Rt}];e.measuredCacheCalls!==e.llmCalls&&p.push({label:"Measured on",value:`${e.measuredCacheCalls} of ${e.llmCalls} calls`}),s.push({heading:"Prompt cache",rows:p})}else e.llmCalls&&s.push({heading:"Prompt cache",rows:[{label:"Cache reuse",value:Rt}]});const l=n.filter(u=>u.inputTokens!==void 0);return l.length===1&&n.length===1?s.push({heading:"Context",rows:[{label:"Prompt size",value:`${Ht(l[0].inputTokens)} tokens`}]}):l.length>1&&s.push({heading:"Context",rows:[{label:"First → last call",value:`${Ht(l[0].inputTokens)} → ${Ht(l[l.length-1].inputTokens)} tokens`}],note:"Each call re-sends the conversation, so the input total counts the context once per call."}),n.length>1&&s.push({heading:"Per call",table:{columns:["#","Input","Cached","New","Output","Cache"],rows:n.map((u,d)=>[String(d+1),Ht(u.inputTokens),u.cachedTokens===void 0?"—":Ht(u.cachedTokens),u.fedTokens===void 0?"—":Ht(u.fedTokens),Ht(u.outputTokens),u.cacheOutcome||"—"])}}),{kind:"tokens",title:"Tokens",headline:e.totalTokens===void 0?Rt:`${e.totalTokens.toLocaleString()} total`,sections:s,footer:Ba(e)}}function Aa(e,n,s,o){if(e===void 0)return Rt;const l=[on(e)];return n!==void 0&&l.push(`${n.toLocaleString()} ${o}${s!==void 0?` at ${ap(s)}`:""}`),l.join(" · ")}function Rw(e){var g,y,_;const n=e.modelCalls||[],s=[],o=e.durationMs,l=[{label:"Wall clock",value:on(o)}];if(l.push({label:"Model",value:e.genTimeMs===void 0?Rt:`${on(e.genTimeMs)} · ${Ss(e.timedCalls||0,"call")}${e.timedCalls!==e.llmCalls?` (of ${e.llmCalls})`:""}`}),l.push({label:"Tools",value:e.toolTimeMs!==void 0?`${on(e.toolTimeMs)} · ${Ss(e.toolBatches||0,"batch","batches")}`:e.toolCalls?Rt:"none",hint:e.toolTimeIncludesApproval?"includes approval wait":void 0}),o!==void 0&&e.genTimeMs!==void 0){const k=o-e.genTimeMs-(e.toolTimeMs||0);l.push({label:"Orchestration",value:k>=0?on(k):"overlaps (parallel runs)",hint:"wall − model − tools: routing, hand-offs, model load"})}s.push({heading:"Turn",rows:l});const u=[],d=e.ttftCalls||0,p=e.promptPhaseCalls||0;e.promptPhaseMs!==void 0?u.push({label:d&&d===p?"Prefill (TTFT)":"Prefill",value:Aa(e.promptPhaseMs,e.promptPhaseNewTokens,e.promptPhaseTokensPerSecond,"new tok"),hint:d===p?"measured time to first token":d?`TTFT measured on ${d} of ${p}; rest from provider rate`:"derived: prompt ÷ provider rate"}):e.prefillMs!==void 0&&e.prefillNewTokensPerSecond!==void 0?u.push({label:"Prefill",value:Aa(e.prefillMs,e.prefillNewTokens,e.prefillNewTokensPerSecond,"new tok"),hint:"derived: prompt ÷ provider rate"}):e.prefillMs!==void 0?u.push({label:"Prefill",value:`${on(e.prefillMs)}${e.promptTokensPerSecond!==void 0?` at ${ap(e.promptTokensPerSecond)}`:""}`,hint:"provider rate over all prompt tokens, restored included"}):u.push({label:"Prefill",value:Rt}),e.cachedTokens&&(e.promptPhaseMs??e.prefillMs)!==void 0&&u.push({label:"Restored",value:`${e.cachedTokens.toLocaleString()} tok from cache`,hint:"not recomputed"}),u.push({label:"Generation",value:e.generationPhaseMs!==void 0?Aa(e.generationPhaseMs,e.generationPhaseTokens,e.generationPhaseTokensPerSecond,"tok"):Aa(e.decodeMs,e.outputTokens,e.generationTokensPerSecond,"tok")}),e.measuredSpeedCalls&&e.measuredSpeedCalls!==e.llmCalls&&u.push({label:"Speeds from",value:`${e.measuredSpeedCalls} of ${e.llmCalls} calls`}),s.push({heading:"Model",rows:u});const f=e.speculation;if(f){const k=(f.draftKinds||[]).map($=>$.toUpperCase()).join(", "),x=[{label:"Mode",value:`${f.used?"on":"off"}${k?` · ${k}`:""}${(g=f.modes)!=null&&g.length?` (${f.modes.join(", ")})`:""}`,hint:f.calls!==e.llmCalls||f.used!==f.calls?`used on ${f.used} of ${e.llmCalls} calls`:void 0},{label:"Acceptance",value:f.acceptanceRate===void 0?Rt:`${Math.round(f.acceptanceRate*100)}% · ${Ht(f.acceptedTokens)} of ${Ht(f.draftedTokens)} drafted`}];((y=f.draftLengths)!=null&&y.length||f.rounds!==void 0)&&x.push({label:"Draft length",value:`${(_=f.draftLengths)!=null&&_.length?`${f.draftLengths.join("/")} tok/round`:Rt}${f.rounds!==void 0?` · ${f.rounds.toLocaleString()} rounds`:""}`}),s.push({heading:"Speculation",rows:x})}return e.slowestToolBatch&&s.push({heading:"Tools",rows:[{label:"Total",value:`${on(e.toolTimeMs)} · ${Ss(e.toolBatches||0,"batch","batches")}`},{label:"Slowest",value:`${on(e.slowestToolBatch.ms)} · ${lp(e.slowestToolBatch)}`}],note:e.toolTimeIncludesApproval?"Gated calls are timed from request to result, so this includes waiting for your approval.":void 0}),n.length>1&&s.push({heading:"Per call",table:{columns:["#","Prefill","New tok/s","Gen","Gen tok/s","Cache"],rows:n.map((k,x)=>[String(x+1),k.promptMs===void 0?"—":`${on(k.promptMs)}${k.promptSource==="rate"?"*":""}`,k.promptNewTokensPerSecond===void 0?"—":Math.round(k.promptNewTokensPerSecond).toLocaleString(),k.generationMs===void 0?"—":on(k.generationMs),k.generationTokensPerSecond===void 0?"—":Math.round(k.generationTokensPerSecond).toLocaleString(),k.cacheOutcome||"—"])},note:n.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?Rt:`${on(o)} wall clock`,sections:s,footer:Ba(e)}}function lp(e){return e.tools.length===1?`${e.tools[0]} ×${e.calls}`:`${Ss(e.calls,"call")} (${e.tools.join(", ")})`}function Iw(e){const n=[],s=(e.toolsWaiting||0)+(e.toolsRunning||0);if(!e.toolCalls&&!s)return n.push({heading:"Outcome",rows:[{label:"Tools called",value:"none"}]}),{kind:"tools",title:"Tools",headline:"none",sections:n,footer:Ba(e)};const o=[{label:"Succeeded",value:(e.toolCalls-(e.toolsFailed||0)).toLocaleString()},{label:"Failed",value:(e.toolsFailed||0).toLocaleString()}];e.toolsRunning&&o.push({label:"Running",value:e.toolsRunning.toLocaleString()}),e.toolsWaiting&&o.push({label:"Awaiting approval",value:e.toolsWaiting.toLocaleString(),hint:"not run yet — not a failure"}),n.push({heading:"Outcome",rows:o});const l=Object.entries(e.toolBreakdown||{}).sort((p,f)=>f[1].calls-p[1].calls||p[0].localeCompare(f[0]));l.length&&n.push({heading:"By tool",table:{columns:["Tool","Calls","Failed","Time"],rows:l.map(([p,f])=>[p,f.calls.toLocaleString(),f.failed.toLocaleString(),f.ms!==void 0?`${on(f.ms)}${f.sharedBatches?" +shared":""}`:f.sharedBatches?"shared":Rt])},note:l.some(([,p])=>p.sharedBatches)?"A batch that mixed tools ran them together; its time is not split between them.":void 0});const u=l.filter(([,p])=>p.errors&&Object.keys(p.errors).length);u.length&&n.push({heading:"Failures",rows:u.map(([p,f])=>({label:p,value:Object.entries(f.errors).sort((g,y)=>y[1]-g[1]).map(([g,y])=>y>1?`${g} ×${y}`:g).join(" · ")}))});const d=[{label:"Tool time",value:e.toolTimeMs===void 0?Rt:`${on(e.toolTimeMs)} · ${Ss(e.toolBatches||0,"batch","batches")}`}];return e.slowestToolBatch&&d.push({label:"Slowest batch",value:`${on(e.slowestToolBatch.ms)} · ${lp(e.slowestToolBatch)}`}),n.push({heading:"Timing",rows:d,note:e.toolTimeIncludesApproval?"Gated calls are timed from request to result, so this includes waiting for your approval.":void 0}),{kind:"tools",title:"Tools",headline:`${Ss(e.toolCalls,"call")}${e.toolsFailed?` · ${e.toolsFailed} failed`:""}`,sections:n,footer:Ba(e)}}function Tc(e,n){return e==="tokens"?Tw(n):e==="time"?Rw(n):Iw(n)}function Mw(e){const n=e.detail;return i.jsxs("div",{ref:e.panelRef,id:e.id,role:"tooltip",className:`pc-stat-detail pc-stat-detail--${n.kind}`,style:e.style,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,children:[i.jsxs("div",{className:"pc-stat-detail-head",children:[i.jsx("span",{className:"pc-stat-detail-title",children:n.title}),i.jsx("span",{className:"pc-stat-detail-headline",children:n.headline})]}),n.sections.map(s=>{var o;return i.jsxs("div",{className:"pc-stat-detail-section",children:[i.jsx("div",{className:"pc-stat-detail-heading",children:s.heading}),(o=s.rows)!=null&&o.length?i.jsx("dl",{className:"pc-stat-detail-rows",children:s.rows.map(l=>i.jsxs(yt.Fragment,{children:[i.jsx("dt",{children:l.label}),i.jsxs("dd",{children:[i.jsx("span",{className:l.value===Rt?"pc-stat-detail-value pc-stat-detail-value--absent":"pc-stat-detail-value",children:l.value}),l.hint?i.jsx("span",{className:"pc-stat-detail-hint",children:l.hint}):null]})]},l.label))}):null,s.table?i.jsxs("table",{className:"pc-stat-detail-table",children:[i.jsx("thead",{children:i.jsx("tr",{children:s.table.columns.map(l=>i.jsx("th",{scope:"col",children:l},l))})}),i.jsx("tbody",{children:s.table.rows.map((l,u)=>i.jsx("tr",{children:l.map((d,p)=>i.jsx("td",{children:d},p))},u))})]}):null,s.note?i.jsx("p",{className:"pc-stat-detail-note",children:s.note}):null]},s.heading)}),i.jsx("div",{className:"pc-stat-detail-foot",children:n.footer.map(s=>i.jsx("div",{children:s},s))})]})}const fr=8;function Lw(e){const[n,s]=w.useState(!!e.defaultOpen),[o,l]=w.useState(null),u=w.useRef(null),d=w.useRef(null),p=w.useRef(null),f=`pc-stat-${w.useId().replace(/[^a-zA-Z0-9_-]/g,"")}`,g=w.useCallback(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=null},[]),y=w.useCallback(()=>{g(),s(!0)},[g]),_=w.useCallback(()=>{g(),p.current=window.setTimeout(()=>s(!1),120)},[g]);w.useEffect(()=>g,[g]),w.useLayoutEffect(()=>{if(!n){l(null);return}const C=()=>{const j=u.current,T=d.current;if(!j||!T)return;const A=j.getBoundingClientRect(),E=T.offsetWidth,b=T.offsetHeight,P=window.innerWidth,V=window.innerHeight,G=A.top-fr-b,O=A.bottom+fr,de=G>=fr?G:O+b<=V-fr?O:Math.max(fr,V-fr-b),re=Math.min(Math.max(fr,A.left),Math.max(fr,P-fr-E));l({top:de,left:re})};return C(),window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[n]),w.useEffect(()=>{if(!n)return;const C=j=>{j.key==="Escape"&&s(!1)};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[n]);const k=typeof e.onClick=="function",x=k?"button":"span",$=n?i.jsx(Mw,{detail:e.detail,id:f,panelRef:d,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 i.jsxs(i.Fragment,{children:[i.jsxs(x,{ref:u,...k?{type:"button"}:{tabIndex:0},className:["pc-chat-stat","pc-chat-stat--detail",k?"pc-chat-stat--clickable":"",e.className].filter(Boolean).join(" "),"aria-label":`${e.label} — ${e.detail.title.toLowerCase()} details`,"aria-describedby":n?f:void 0,"data-stat-kind":e.detail.kind,onMouseEnter:y,onMouseLeave:_,onFocus:y,onBlur:()=>s(!1),onKeyDown:C=>{C.key==="Escape"&&s(!1)},onClick:k?()=>{var C;return(C=e.onClick)==null?void 0:C.call(e)}:void 0,children:[e.icon?i.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:e.icon}):null,i.jsx("span",{className:"pc-chat-stat-label",children:e.label})]}),$&&typeof document<"u"?Ah.createPortal($,document.body):$]})}function Pw(e){const n=e.totalTokens!==void 0?Tc("tokens",e):null,s=Tc("tools",e),o=e.durationMs!==void 0?Tc("time",e):null;return[...n?[{label:`${e.totalTokens.toLocaleString()} tokens`,detail:n}]:[],{label:`${e.toolCalls} ${e.toolCalls===1?"tool":"tools"}`,detail:s},...e.changedFiles.length?[{label:`${e.changedFiles.length} ${e.changedFiles.length===1?"file":"files"} changed`,title:e.changedFiles.join(`
|
|
63
|
+
`)}]:[],...o?[{label:`${(e.durationMs/1e3).toFixed(e.durationMs<1e4?1:0)}s`,detail:o}]:[]]}function Ow(e){const n=String(e.role||"").trim().toLowerCase()||"system",s=String(e.kind||"").trim().toLowerCase(),o=String(e.level||"").trim().toLowerCase();return n==="system"&&s==="report_bug"?{label:String(e.title||"").trim()||"Bug report",icon:"warning",variant:"report_bug"}:n==="system"&&s==="report_feature"?{label:String(e.title||"").trim()||"Feature request",icon:"check",variant:"report_feature"}:n==="user"?{label:String(e.title||"").trim()||"You",icon:"user",variant:"user"}:n==="assistant"?{label:String(e.title||"").trim()||"Agent",icon:"bot",variant:"assistant"}:{label:String(e.title||"").trim()||(o==="error"?"Error":o==="warn"?"Warning":"System"),icon:o==="error"?"error":o==="warn"?"warning":"info",variant:o==="error"?"error":o==="warn"?"warn":"status"}}function cp(e){var T;const n=e.message,s=w.useMemo(()=>Ow(n),[n.kind,n.level,n.role,n.title]),o=String(n.ts||"").trim(),l=w.useMemo(()=>{if(!o)return"";const A=new Date(o);return Number.isFinite(A.getTime())?A.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):""},[o]),[u,d]=w.useState("idle"),p=w.useRef(null);w.useEffect(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);const f=n.live,g=!f&&typeof e.onSpeakToggle=="function"&&s.variant==="assistant"&&!!String(n.content||"").trim(),y=g&&((T=e.getSpeakState)==null?void 0:T.call(e,n))||"idle",_=y==="loading"?"loader":y==="playing"?"pause":"speaker",k=y==="loading"?"Generating audio…":y==="playing"?"Pause":y==="paused"?"Resume":"Speak (TTS)",x=e.showCopy!==!1,$=Array.isArray(e.attachments)?e.attachments:[],C=n.statistics,j=w.useMemo(()=>Array.isArray(e.stats)?e.stats:C?Pw(C):[],[e.stats,C]);return n.toolActivity?i.jsx(ip,{tool:n.toolActivity,showCopy:e.showCopy}):i.jsxs("div",{className:["pc-chat-item",`pc-chat-item--${s.variant}`,f?"pc-chat-item--live":"",e.className].filter(Boolean).join(" "),...f?{"aria-busy":!0}:{},children:[i.jsxs("div",{className:"pc-chat-header",children:[i.jsx("div",{className:"pc-chat-avatar","aria-hidden":"true",children:i.jsx(oe,{name:s.icon,size:14})}),i.jsx("span",{className:"pc-chat-role",children:s.label}),f?i.jsxs("span",{className:"pc-chat-live-indicator",title:"The reply is still being written",children:[i.jsx("span",{className:"pc-chat-live-dot","aria-hidden":"true"}),"streaming"]}):null,f!=null&&f.caption?i.jsx("span",{className:"pc-chat-live-caption",children:f.caption}):null,i.jsx("span",{className:"pc-chat-header-spacer"}),l?i.jsx("span",{className:"pc-chat-time",children:l}):null,i.jsxs("div",{className:"pc-chat-header-actions",children:[g?i.jsx("button",{className:"pc-chat-icon-btn",type:"button","aria-label":k,title:k,onClick:()=>{var A;return(A=e.onSpeakToggle)==null?void 0:A.call(e,n)},children:i.jsx(oe,{name:_,size:22})}):null,x?i.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 ou(String(n.content||""));d(A?"copied":"failed"),p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>d("idle"),900)},children:i.jsx(oe,{name:"copy",size:22})}):null]})]}),f!=null&&f.reasoning?i.jsxs("details",{className:"pc-chat-thinking",children:[i.jsx("summary",{children:"Thinking"}),i.jsx("div",{className:"pc-chat-thinking-body",children:f.reasoning})]}):null,!f||String(n.content||"").trim()?i.jsx("div",{className:"pc-chat-body",children:i.jsx(np,{text:String(n.content||""),renderMarkdown:e.renderMarkdown,jsonCollapseAfterDepth:e.jsonCollapseAfterDepth,images:e.images||(s.variant==="user"?"inline":"link"),inlineImage:e.inlineImage})}):null,$.length?i.jsx("div",{className:"pc-chat-attachments","aria-label":"Attachments",children:$.slice(0,24).map((A,E)=>{const b=String(A.label||"").trim()||"attachment",P=String(A.target||"").trim(),V=String(A.title||"").trim(),G=!!A.disabled||typeof A.onClick!="function";return i.jsxs("button",{type:"button",className:"pc-chat-attachment-chip",title:V||b,onClick:G?void 0:A.onClick,disabled:G,children:[i.jsx(oe,{name:"paperclip",size:14}),P?i.jsx("span",{className:`pc-chat-attachment-target pc-chat-attachment-target--${P}`,children:P}):null,i.jsx("span",{className:"pc-chat-attachment-name",children:b})]},A.id||`${b}:${E}`)})}):null,j.length?i.jsx("div",{className:"pc-chat-stats","aria-label":"Stats",children:j.slice(0,12).map((A,E)=>{const b=String(A.label||"").trim();if(!b)return null;if(A.detail)return i.jsx(Lw,{label:b,detail:A.detail,icon:A.icon,onClick:A.onClick},A.id||`${b}:${E}`);const P=String(A.title||"").trim(),V=typeof A.onClick=="function",G=V?"button":"span";return i.jsxs(G,{...V?{type:"button"}:{},className:["pc-chat-stat",V?"pc-chat-stat--clickable":""].filter(Boolean).join(" "),title:P||void 0,onClick:V?()=>{var O;return(O=A.onClick)==null?void 0:O.call(A)}:void 0,children:[A.icon?i.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:A.icon}):null,i.jsx("span",{className:"pc-chat-stat-label",children:b})]},A.id||`${b}:${E}`)})}):null]})}function Dw(e,n){const s=Math.max(0,Math.trunc(n));return e.scrollHeight-e.scrollTop-e.clientHeight<=s}function Fw(e){const n=typeof e.autoScrollThresholdPx=="number"&&Number.isFinite(e.autoScrollThresholdPx)?e.autoScrollThresholdPx:120,s=e.autoScroll!==!1,o=w.useRef(null),l=w.useRef(null),[u,d]=w.useState(!0),p=w.useMemo(()=>Array.isArray(e.messages)?e.messages:[],[e.messages]),f=w.useMemo(()=>{var _;const y=[];for(const k of p){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},[p]);w.useEffect(()=>{if(!s)return;const y=o.current;if(!y)return;const _=()=>{d(Dw(y,n))};return y.addEventListener("scroll",_,{passive:!0}),_(),()=>y.removeEventListener("scroll",_)},[s,n]);const g=w.useMemo(()=>{let y=0;for(const _ of p)y+=String(_.content??"").length;return`${p.length}:${y}:${String(e.afterKey??"")}`},[p,e.afterKey]);return w.useEffect(()=>{if(!s||!u)return;const y=o.current;y&&(y.scrollTop=y.scrollHeight)},[s,u,g]),i.jsxs("div",{ref:o,className:["pc-chat-thread",e.className].filter(Boolean).join(" "),children:[p.length?null:e.empty||null,f.map((y,_)=>{var $;const k=y[0],x=String(k.id||"")||String(k.ts||"")+":"+String(k.role||"")+":"+_;return k.toolActivity?i.jsx(op,{tools:y.map(C=>C.toolActivity),showCopy:($=e.messageProps)==null?void 0:$.showCopy},x):i.jsx(cp,{message:k,...e.messageProps||{}},x)}),e.after,i.jsx("div",{ref:l})]})}const zw=yt.forwardRef(function(n,s){const o=typeof n.rows=="number"&&Number.isFinite(n.rows)?Math.max(1,Math.trunc(n.rows)):3,l=!!n.disabled,u=!!n.busy,d=!l&&!u&&!!String(n.value||"").trim();return i.jsxs("div",{className:["pc-composer",n.className].filter(Boolean).join(" "),children:[n.leading,i.jsx("textarea",{ref:s,className:["pc-composer__textarea",n.textareaClassName].filter(Boolean).join(" "),value:n.value,onChange:p=>n.onChange(p.target.value),rows:o,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",placeholder:n.placeholder||"","aria-label":n.ariaLabel||n.placeholder||"Message",disabled:l,autoFocus:!!n.autoFocus,onPaste:n.onPaste,onKeyDown:p=>{p.key!=="Enter"||p.shiftKey||p.nativeEvent.isComposing||p.keyCode===229||(p.preventDefault(),d&&n.onSubmit())}}),i.jsxs("div",{className:"pc-composer__row",children:[i.jsx("div",{className:"pc-composer__actions",children:n.actions}),i.jsx("button",{type:"button",className:n.sendButtonClassName||"pc-btn",disabled:!d,onClick:()=>n.onSubmit(),children:u?n.busyLabel||"Thinking…":n.sendLabel||"Send"})]}),n.overlay]})}),Ze=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},Da=e=>Array.isArray(e)?e.map(Ze):[],Ue=e=>typeof e=="string"?e:"",io=e=>Ue(e.runtime_call_id||e.call_uid),oo=e=>Ue(e.call_id||e.id);function up(e,n){const s=n.record,o=Ze(s.effect);if(o.type!=="tool_calls")return[];const l=Ze(s.result),u=Da(Ze(o.payload).tool_calls),d=u.length||s.status!=="waiting"?u:Da(Ze(Ze(l.wait).details).tool_calls),p=Da(l.results),f=d.length?d:p,g=[];return f.forEach((y,_)=>{let k=io(y)?p.filter(V=>io(V)===io(y)):[];!k.length&&oo(y)&&d.filter(V=>oo(V)===oo(y)).length===1&&(k=p.filter(V=>oo(V)===oo(y)));const x=d.length?k.length===1?k[0]:d.length===p.length?p[_]:{}:y,$=io(y)||io(x)||`${Ue(s.idempotency_key)||Ue(s.step_id)||n.cursor}:${_}`,C=`${n.runId}:${$}`,j=e.get(C),T=Ue(y.name||x.name)||(j==null?void 0:j.name);if(!T)return;const A=s.status==="completed"||s.status==="failed",E=s.status==="failed"||x.success===!1||!!x.error,b=y.arguments??x.arguments??(j==null?void 0:j.arguments),P={...j,id:C,runId:n.runId,name:T,arguments:b,status:A?E?"failed":"completed":s.status==="waiting"?"waiting":"running",...typeof x.success=="boolean"?{success:x.success}:{},...x.output!==void 0||x.result!==void 0?{output:x.output??x.result}:{},...x.error?{error:String(x.error)}:{},startedAt:(j==null?void 0:j.startedAt)||Ue(s.started_at)||void 0,endedAt:A&&Ue(s.ended_at)||(j==null?void 0:j.endedAt)};j&&["completed","failed"].includes(j.status)&&!A||(e.set(C,P),g.push(P))}),g}function di(e){if(e==null||e===""||typeof e=="boolean")return;const n=Number(e);return Number.isFinite(n)&&n>=0?n:void 0}function Bn(e,n){for(const s of n){const o=e==null?void 0:e[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(e){if(typeof e=="string")try{return Ze(JSON.parse(e))}catch{return{}}return Ze(e)}function ii(e,n){if(n===void 0||n==="")return e;const s=e||[];return s.includes(n)||s.push(n),s}function Ww(e){return Bn(e,["reasoning_tokens","thinking_tokens"])??Bn(Ze(e.completion_tokens_details),["reasoning_tokens"])??Bn(Ze(e.output_tokens_details),["reasoning_tokens"])}function Uw(e){const n=Ze(typeof e=="string"&&e.trim().startsWith("{")?dp(e):e);return Ue(n.error_class)}function Bw(e){const n=new Map;for(const s of e){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 d=`${Ue(u.run_id)||s.runId}:${Ue(u.step_id)}`,p=n.get(d)||{},f=di(u.ttft_s);f!==void 0&&(p.ttftS=f),p.provider=p.provider||Ue(u.provider)||void 0,p.model=p.model||Ue(u.model)||void 0,n.set(d,p)}return n}function Fa(e){var C,j,T,A;const n=new Map,s=new Set,o=new Set,l={llmCalls:0,toolCalls:0,changedFiles:[]};let u=1/0,d=-1/0,p=!1,f=0,g=0,y=0;const _=Bw(e),k=[],x=new Set;for(const E of e){const b=E.record,P=`${E.runId}:${b.step_id||E.cursor}:${b.status}`;if(s.has(P))continue;s.add(P);for(const ue of[b.started_at,b.ended_at]){const Ae=Date.parse(Ue(ue));Number.isFinite(Ae)&&(u=Math.min(u,Ae),d=Math.max(d,Ae))}for(const ue of up(n,E))ue.status==="waiting"&&x.add(ue.id);if(Ze(b.effect).type!=="llm_call"||b.status!=="completed")continue;l.llmCalls+=1;const V=Ze(b.result),G=Ze(V.output),O=Ze(V.usage||V.token_usage||V.tokens||G.usage||G.token_usage||G.tokens),de=Bn(O,["input_tokens","prompt_tokens","prompt","input","in"]),re=Bn(O,["output_tokens","completion_tokens","completion","output","out"]),Q=Bn(O,["total_tokens","total"])??(de!==void 0||re!==void 0?(de||0)+(re||0):void 0);Q!==void 0&&(de===void 0||re===void 0||de+re!==Q)&&(p=!0),de!==void 0&&(l.inputTokens=(l.inputTokens||0)+de),re!==void 0&&(l.outputTokens=(l.outputTokens||0)+re),Q!==void 0&&(l.totalTokens=(l.totalTokens||0)+Q);const B=di(V.gen_time??G.gen_time);B!==void 0&&(l.genTimeMs=(l.genTimeMs||0)+B,l.timedCalls=(l.timedCalls||0)+1);const J=Ze(V.metadata||G.metadata),fe=Ze(J.performance),ae=di(fe.prompt_tokens_per_second),we=di(fe.generation_tokens_per_second),ye=Ze(J.prompt_cache),Z=di(ye.cached_tokens),Y=di(ye.fed_tokens);if(ae!==void 0||we!==void 0){if(l.measuredSpeedCalls=(l.measuredSpeedCalls||0)+1,ae!==void 0&&ae>0&&(l.promptTokensPerSecond=(l.promptTokensPerSecond||0)+ae,de!==void 0)){const ue=de/ae*1e3;l.prefillMs=(l.prefillMs||0)+ue,Y!==void 0&&(f+=Y,g+=ue)}we!==void 0&&we>0&&(l.generationTokensPerSecond=(l.generationTokensPerSecond||0)+we,re!==void 0&&(l.decodeMs=(l.decodeMs||0)+re/we*1e3))}if(Z!==void 0||Y!==void 0){l.measuredCacheCalls=(l.measuredCacheCalls||0)+1,l.cachedTokens=(l.cachedTokens||0)+(Z||0),l.fedTokens=(l.fedTokens||0)+(Y||0);const ue=Ue(ye.outcome);if(ue){const Ae=l.cacheOutcomes||[];Ae.includes(ue)||Ae.push(ue),l.cacheOutcomes=Ae}}const H=Ue(b.step_id)||void 0,N=H&&_.get(`${E.runId}:${H}`)||{},L=Ze(V.route),z={runId:E.runId};H&&(z.stepId=H),Ue(b.started_at)&&(z.startedAt=Ue(b.started_at));const W=Ue(V.model||G.model)||Ue(L.model)||N.model,ee=Ue(L.provider)||Ue(Ze(J._provider_request).provider)||N.provider||Ue(V.provider);W&&(z.model=W),ee&&(z.provider=ee),W&&(l.models=ii(l.models,W)),ee&&(l.providers=ii(l.providers,ee)),(Q===void 0||de!==void 0&&re!==void 0&&de+re===Q)&&(de!==void 0&&(z.inputTokens=de),re!==void 0&&(z.outputTokens=re)),Q!==void 0&&(z.totalTokens=Q);const le=Ww(O);le!==void 0&&(z.reasoningTokens=le,l.reasoningTokens=(l.reasoningTokens||0)+le),Z!==void 0&&(z.cachedTokens=Z),Y!==void 0&&(z.fedTokens=Y),Ue(ye.outcome)&&(z.cacheOutcome=Ue(ye.outcome)),Ue(ye.backend)&&(z.cacheBackend=Ue(ye.backend),l.cacheBackends=ii(l.cacheBackends,z.cacheBackend)),B!==void 0&&(z.genTimeMs=B),ae!==void 0&&ae>0&&(z.promptTokensPerSecond=ae),we!==void 0&&we>0&&(z.generationTokensPerSecond=we),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&&de!==void 0&&(z.promptMs=de/z.promptTokensPerSecond*1e3,z.promptSource="rate"),z.promptMs!==void 0&&(l.promptPhaseMs=(l.promptPhaseMs||0)+z.promptMs,l.promptPhaseCalls=(l.promptPhaseCalls||0)+1,Y!==void 0&&z.promptMs>0&&(z.promptNewTokensPerSecond=Y/(z.promptMs/1e3),l.promptPhaseNewTokens=(l.promptPhaseNewTokens||0)+Y,y+=z.promptMs)),z.ttftMs!==void 0&&B!==void 0&&B>=z.ttftMs?z.generationMs=B-z.ttftMs:z.generationTokensPerSecond!==void 0&&re!==void 0&&(z.generationMs=re/z.generationTokensPerSecond*1e3),z.generationMs!==void 0&&re!==void 0&&(l.generationPhaseMs=(l.generationPhaseMs||0)+z.generationMs,l.generationPhaseTokens=(l.generationPhaseTokens||0)+re);const he=Ze(J.speculation);if(Object.keys(he).length){const ue={};Ue(he.mode)&&(ue.mode=Ue(he.mode)),typeof he.used=="boolean"&&(ue.used=he.used),Ue(he.draft_kind)&&(ue.draftKind=Ue(he.draft_kind));const Ae=Bn(he,["accepted_tokens"]),Be=Bn(he,["drafted_tokens"]),ct=Bn(he,["rounds"]),te=Bn(he,["num_draft_tokens"]);Ae!==void 0&&(ue.acceptedTokens=Ae),Be!==void 0&&(ue.draftedTokens=Be),Ae!==void 0&&Be&&(ue.acceptanceRate=Ae/Be),ct!==void 0&&(ue.rounds=ct),te!==void 0&&(ue.draftLength=te),z.speculation=ue;const se=l.speculation||(l.speculation={calls:0,used:0});se.calls+=1,ue.used&&(se.used+=1),ue.mode&&(se.modes=ii(se.modes,ue.mode)),ue.draftKind&&(se.draftKinds=ii(se.draftKinds,ue.draftKind)),Ae!==void 0&&Be!==void 0&&(se.acceptedTokens=(se.acceptedTokens||0)+Ae,se.draftedTokens=(se.draftedTokens||0)+Be),ct!==void 0&&(se.rounds=(se.rounds||0)+ct),te!==void 0&&(se.draftLengths=ii(se.draftLengths,te))}k.push(z)}k.length&&(k.every(E=>E.startedAt)&&k.sort((E,b)=>Date.parse(E.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)),(C=l.speculation)!=null&&C.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=f,l.prefillNewTokensPerSecond=f/(g/1e3));const $=new Map;for(const E of n.values()){if(E.status==="waiting"){l.toolsWaiting=(l.toolsWaiting||0)+1;continue}if(E.status==="running"){l.toolsRunning=(l.toolsRunning||0)+1;continue}if(!["completed","failed"].includes(E.status))continue;l.toolCalls+=1;const b=E.status==="failed";b&&(l.toolsFailed=(l.toolsFailed||0)+1);const P=l.toolBreakdown||(l.toolBreakdown={}),V=P[E.name]||(P[E.name]={calls:0,failed:0});if(V.calls+=1,b){V.failed+=1;const Q=Uw(E.output);Q&&((V.errors||(V.errors={}))[Q]=(((j=V.errors)==null?void 0:j[Q])||0)+1)}const G=Date.parse(Ue(E.startedAt)),O=Date.parse(Ue(E.endedAt));if(Number.isFinite(G)&&Number.isFinite(O)&&O>=G){const Q=`${E.runId}|${E.startedAt}|${E.endedAt}`,B=$.get(Q)||{ms:O-G,calls:0,names:new Map,waited:!1};B.calls+=1,B.names.set(E.name,(B.names.get(E.name)||0)+1),x.has(E.id)&&(B.waited=!0),$.set(Q,B)}if(E.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(E.name))continue;const de=dp(E.arguments),re=Ue(de.destination||de.destination_path||de.file_path||de.path||de.filename);re&&o.add(re)}for(const E of $.values()){l.toolBatches=(l.toolBatches||0)+1,l.toolTimeMs=(l.toolTimeMs||0)+E.ms,E.waited&&(l.toolTimeIncludesApproval=!0);const b=[...E.names.keys()].sort();(!l.slowestToolBatch||E.ms>l.slowestToolBatch.ms)&&(l.slowestToolBatch={ms:E.ms,calls:E.calls,tools:b});const P=(T=l.toolBreakdown)==null?void 0:T[b[0]];if(b.length===1&&P)P.ms=(P.ms||0)+E.ms;else for(const V of b){const G=(A=l.toolBreakdown)==null?void 0:A[V];G&&(G.sharedBatches=(G.sharedBatches||0)+1)}}return l.changedFiles=[...o],p&&(delete l.inputTokens,delete l.outputTokens),Number.isFinite(u)&&Number.isFinite(d)&&(l.durationMs=Math.max(0,d-u)),{tools:[...n.values()],statistics:l}}function Vw(e){const n=Ze(Ze(e).ledgers);return Object.entries(n).flatMap(([s,o])=>Da(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 Rc=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function Gw(e){var C,j,T,A;const{tools:n,statistics:s}=Fa(e.records),o={toolCalls:s.toolCalls,totalTokens:s.totalTokens,startedAt:String(((C=e.run)==null?void 0:C.created_at)||"")||void 0},l=(E,b,P)=>({...o,label:E,detail:b,tone:P});if(e.loading)return l("Loading conversation","Restoring saved activity","neutral");if(["completed","failed","cancelled"].includes(e.status))return l(e.status==="completed"?"Completed":e.status==="failed"?"Run failed":"Stopped","",e.status==="failed"?"error":e.status==="completed"?"success":"neutral");if((e.connection==="reconnecting"||e.connection==="disconnected")&&(!((j=e.records)!=null&&j.length)||!!e.error))return l(e.connection==="reconnecting"?"Reconnecting":"Disconnected",String(e.error||"Live activity is unavailable"),"waiting");if(e.status==="paused"||((T=e.run)==null?void 0:T.paused)===!0)return l("Paused","Resume when you’re ready","waiting");const u=Rc((A=e.interaction)==null?void 0:A.wait),d=Rc(u.details),p=d.kind==="tool_approval"||d.mode==="approval_required",f=p&&e.toolApprovalGranted===!0;if(p&&!f)return l("Approval needed","Review the tool requests below","waiting");if(!p&&["user","ask_user"].includes(u.reason))return l("Your answer is needed",String(u.prompt||"The workflow has a question for you"),"waiting");if(!p&&(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=n.filter(E=>{var b;return E.status==="running"||f&&E.status==="waiting"&&E.runId===((b=e.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(E=>E.name))].join(" · "),"working");const y=new Map;for(const E of e.records){const b=`${E.runId}:${E.record.step_id||E.record.idempotency_key||E.cursor}`,P=y.get(b);P&&["completed","failed"].includes(String(P.record.status))||y.set(b,E)}if([...y.values()].reverse().find(E=>Rc(E.record.effect).type==="llm_call"&&["started","running"].includes(String(E.record.status))))return l("Thinking","Generating the next response","working");const k=e.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:"",$=n[n.length-1];return l(e.status==="idle"?"Ready":"Working",x||($?`Last tool: ${$.name} · ${$.status==="failed"?"failed":$.status==="completed"?"done":"waiting"}`:"Following the workflow"),e.status==="idle"?"neutral":"working")}function Ta(e){if(!e)return!1;for(let n=0;n<e.length;n+=1)if(e[n]==="Files")return!0;return!1}function Yf(e){var o;const n=e==null?void 0:e.items;if(!n||!n.length)return null;let s=0;for(let l=0;l<n.length;l+=1)((o=n[l])==null?void 0:o.kind)==="file"&&(s+=1);return s>0?s:null}function Xf(e){return e===1?"Drop file to attach":typeof e=="number"&&e>1?`Drop ${e} files to attach`:"Drop files to attach"}function fp(e){const n=[],s=[],o=e==null?void 0:e.items;if(o&&o.length){for(let u=0;u<o.length;u+=1){const d=o[u];if(!d||d.kind!=="file")continue;const p=typeof d.webkitGetAsEntry=="function"?d.webkitGetAsEntry():null,f=typeof d.getAsFile=="function"?d.getAsFile():null;p!=null&&p.isDirectory?s.push(p.name||(f==null?void 0:f.name)||"folder"):f&&n.push(f)}return{files:n,folders:s}}const l=e==null?void 0:e.files;if(l)for(let u=0;u<l.length;u+=1)l[u]&&n.push(l[u]);return{files:n,folders:s}}function Hw(e){return e.length?e.length===1?`"${e[0]}" is a folder. Folders are not supported: drop the files inside it instead.`:`${e.length} folders were dropped. Folders are not supported: drop the files inside them instead.`:""}const Kw={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/heic":"heic","image/tiff":"tiff","image/bmp":"bmp"};function ao(e){return String(e).padStart(2,"0")}function Jw(e,n,s){const o=String(e||"").trim();if(o&&!/^image\.(png|jpe?g|gif|webp|heic|tiff?|bmp)$/i.test(o))return o;const l=Kw[String(n||"").toLowerCase()]||o.split(".").pop()||"bin",u=`${s.getFullYear()}-${ao(s.getMonth()+1)}-${ao(s.getDate())} at ${ao(s.getHours())}.${ao(s.getMinutes())}.${ao(s.getSeconds())}`;return`${String(n||"").startsWith("image/")||!o?"Pasted image":"Pasted file"} ${u}.${l}`}function Qw(e,n=new Date){if(!e)return[];const s=e.types?Array.from(e.types):[];if(s.includes("text/plain")&&s.includes("text/html"))return[];const{files:o}=fp(e);return o.map(l=>{const u=Jw(l.name,l.type,n);return u===l.name?l:new File([l],u,{type:l.type,lastModified:l.lastModified})})}class Yw{constructor(n=1200){this.staleMs=n,this.depth=0,this.lastSeen=0}enter(n){this.depth+=1,this.lastSeen=n}over(n){this.depth===0&&(this.depth=1),this.lastSeen=n}leave(n){return this.depth=Math.max(0,this.depth-1),this.lastSeen=n,this.depth>0}reset(){this.depth=0}active(n){return this.depth>0&&n-this.lastSeen<this.staleMs}}function Xw(e,n){if(e.kind==="ask-user"){if(n.kind==="choice"||n.kind==="free-text")return e.onSubmit(n.answer);throw new Error("Invalid submission for ask-user interaction")}if(e.kind==="tool-approval"){if(n.kind==="approve")return e.onApprove();if(n.kind==="deny")return e.onDeny();if(n.kind==="approve-all"&&e.onApproveAll)return e.onApproveAll();throw new Error("Invalid submission for tool-approval interaction")}if(n.kind==="event")return e.onSend(n.payload);throw new Error("Invalid submission for event-wait interaction")}function Zw(e){return(e instanceof Error?e.message:String(e||"Unknown error")).trim()||"Unknown error"}function qw(e){return i.jsxs("div",{className:"pc-workflow-interaction__error",role:"alert",children:[i.jsxs("span",{children:["Could not complete that action: ",e.message]}),i.jsx("button",{type:"button",className:"pc-workflow-interaction__retry",onClick:e.onRetry,disabled:e.disabled,children:"Try again"})]})}function ev(e){var G;const n=e.interaction,[s,o]=w.useState(""),[l,u]=w.useState(()=>n.kind==="event-wait"&&n.initialPayload||""),[d,p]=w.useState(null),[f,g]=w.useState(!1),[y,_]=w.useState(""),[k,x]=w.useState(null),$=`${n.kind}:${n.id}`,C=w.useRef($),j=w.useRef(!1),T=w.useRef(!1),A=w.useRef(!0),E=w.useRef(0);C.current!==$&&(C.current=$,j.current=!1,T.current=!1,E.current+=1);const b=!!e.disabled||d!==null||f||j.current||T.current,P=async(O,de)=>{var B;if(e.disabled||j.current||T.current)return;const re=$,Q=++E.current;j.current=!0,x(null),_(""),p(O);try{if(await de(),!A.current||C.current!==re||E.current!==Q)return;T.current=!0,g(!0),_("Response sent. Waiting for the workflow to continue.")}catch(J){if(!A.current||C.current!==re||E.current!==Q)return;x({submission:O,message:Zw(J)}),_("The action failed. You can try again."),(B=e.onError)==null||B.call(e,J)}finally{if(!A.current||C.current!==re||E.current!==Q)return;j.current=!1,p(null)}};w.useEffect(()=>{o(""),u(n.kind==="event-wait"&&n.initialPayload||""),x(null),p(null),g(!1),_("")},[$]),w.useEffect(()=>(A.current=!0,()=>{A.current=!1,E.current+=1,j.current=!1}),[]);const V=()=>{k&&P(k.submission,()=>Xw(n,k.submission))};return i.jsxs("section",{className:"pc-workflow-interaction","aria-labelledby":`pc-workflow-interaction-${$}`,children:[i.jsxs("div",{className:"pc-workflow-interaction__heading",children:[i.jsx(oe,{name:n.kind==="tool-approval"?"warning":n.kind==="event-wait"?"history":"info",size:16}),i.jsxs("div",{children:[i.jsx("h3",{tabIndex:-1,id:`pc-workflow-interaction-${$}`,children:n.title||(n.kind==="tool-approval"?"Tool approval required":"Input required")}),n.description?i.jsx("div",{className:"pc-workflow-interaction__description",children:n.description}):null]})]}),n.kind==="ask-user"?i.jsxs("div",{className:"pc-workflow-interaction__body",children:[i.jsx("div",{className:"pc-workflow-interaction__prompt",children:n.prompt}),(G=n.choices)!=null&&G.length?i.jsx("div",{className:"pc-workflow-interaction__choices","aria-label":"Choices",children:n.choices.map(O=>i.jsxs("button",{type:"button",className:"pc-workflow-interaction__choice",disabled:b||O.disabled,onClick:()=>void P({kind:"choice",answer:O.id},()=>n.onSubmit(O.id)),children:[i.jsx("span",{children:O.label}),O.description?i.jsx("small",{children:O.description}):null]},O.id))}):null,n.allowFreeText!==!1?i.jsxs("div",{className:"pc-workflow-interaction__entry",children:[i.jsx("textarea",{"aria-label":"Response",value:s,onChange:O=>o(O.target.value),placeholder:n.freeTextPlaceholder||"Type a response",rows:2,disabled:b,onKeyDown:O=>{O.key!=="Enter"||O.shiftKey||O.nativeEvent.isComposing||O.keyCode===229||(O.preventDefault(),s.trim()&&P({kind:"free-text",answer:s},()=>n.onSubmit(s)))}},`${$}:text`),i.jsx("button",{type:"button",className:"pc-btn",disabled:b||!s.trim(),onClick:()=>void P({kind:"free-text",answer:s},()=>n.onSubmit(s)),children:(d==null?void 0:d.kind)==="free-text"?"Sending…":n.submitLabel||"Submit"})]}):null]}):n.kind==="tool-approval"?i.jsxs("div",{className:"pc-workflow-interaction__body",children:[i.jsxs("div",{className:"pc-workflow-interaction__prompt",children:["Allow ",i.jsx("strong",{children:n.toolName})," to run?"]}),n.detail?i.jsx("div",{className:"pc-workflow-interaction__detail",children:n.detail}):null,i.jsxs("div",{className:"pc-workflow-interaction__buttons",children:[i.jsx("button",{type:"button",className:"pc-workflow-interaction__deny",disabled:b,onClick:()=>void P({kind:"deny"},n.onDeny),children:(d==null?void 0:d.kind)==="deny"?"Denying…":n.denyLabel||"Deny"}),i.jsx("button",{type:"button",className:"pc-btn",disabled:b,onClick:()=>void P({kind:"approve"},n.onApprove),children:(d==null?void 0:d.kind)==="approve"?"Approving…":n.approveLabel||"Approve"}),n.onApproveAll?i.jsx("button",{type:"button",className:"pc-workflow-interaction__allow-all",disabled:b,onClick:()=>void P({kind:"approve-all"},n.onApproveAll),children:(d==null?void 0:d.kind)==="approve-all"?"Approving…":n.approveAllLabel||"Allow all"}):null]}),n.onApproveAll&&n.approveAllDescription?i.jsx("p",{className:"pc-workflow-interaction__scope",children:n.approveAllDescription}):null]}):i.jsxs("div",{className:"pc-workflow-interaction__body",children:[i.jsx("div",{className:"pc-workflow-interaction__prompt",children:n.prompt}),i.jsxs("label",{className:"pc-workflow-interaction__entry",children:[i.jsx("span",{children:n.payloadLabel||(n.eventName?`Payload for ${n.eventName}`:"Event payload")}),i.jsx("textarea",{value:l,onChange:O=>u(O.target.value),placeholder:n.payloadPlaceholder||"Enter payload",rows:2,"aria-label":n.payloadLabel||(n.eventName?`Payload for ${n.eventName}`:"Event payload"),disabled:b},`${$}:payload`)]}),i.jsx("div",{className:"pc-workflow-interaction__buttons",children:i.jsx("button",{type:"button",className:"pc-btn",disabled:b,onClick:()=>void P({kind:"event",payload:l},()=>n.onSend(l)),children:(d==null?void 0:d.kind)==="event"?"Sending…":n.sendLabel||"Send event"})})]}),k?i.jsx(qw,{message:k.message,onRetry:V,disabled:b}):null,i.jsx("div",{className:"pc-workflow-interaction__outcome","aria-live":"polite",children:y})]})}function Ra(e){return(e instanceof Error?e.message:String(e||"Unknown error")).trim()||"Unknown error"}function tv(e){const[n,s]=w.useState(!1),[o,l]=w.useState(!1),[u,d]=w.useState(!1),[p,f]=w.useState(null),g=w.useRef(!0),y=w.useRef(!1),_=w.useRef(!1),k=w.useRef(!1),x=w.useRef(0),$=w.useRef(0),C=w.useRef(0);w.useEffect(()=>(g.current=!0,()=>{g.current=!1,x.current+=1,$.current+=1,C.current+=1,y.current=!1,_.current=!1,k.current=!1}),[]);const j=!!e.blockedNotice,T=!!e.disabled||j,A=!!e.busy||n,E=n||!!e.busy&&!e.sendWhileBusy,b=e.stopState||null,P=(b==null?void 0:b.phase)==="stopping",V=typeof e.onFiles=="function",G=w.useRef(null),[O,de]=w.useState(null),[re,Q]=w.useState(""),B=w.useRef(e.onFiles);B.current=e.onFiles;const J=w.useRef(T);J.current=T;const fe=async(z,W)=>{const ee=B.current;if(ee){if(J.current){f({action:"attach",message:"attachments are unavailable right now."});return}if(W.length)f({action:"attach",message:Hw(W)});else if(z.length)f(null);else{f({action:"attach",message:"the drop contained no files."});return}if(z.length){Q(`Attaching ${z.length} ${z.length===1?"file":"files"}…`);try{await ee(z)}catch(le){g.current&&f({action:"attach",message:Ra(le)})}}}},ae=w.useRef(fe);ae.current=fe,w.useEffect(()=>{if(!V||typeof window>"u")return;const z=new Yw;let W=0;const ee=se=>!!(G.current&&se instanceof Node&&G.current.contains(se)),le=()=>{z.reset(),W&&window.clearInterval(W),W=0,de(null)},he=()=>{W||(W=window.setInterval(()=>{z.active(Date.now())||le()},250))},ue=se=>{var ve;if(!Ta((ve=se.dataTransfer)==null?void 0:ve.types))return;z.enter(Date.now());const me=ee(se.target),Oe=Yf(se.dataTransfer);de(Me=>Me&&Me.over===me&&Me.count===(Oe??Me.count)?Me:{count:Oe??(Me==null?void 0:Me.count)??null,over:me}),he()},Ae=se=>{var Oe;if(!Ta((Oe=se.dataTransfer)==null?void 0:Oe.types))return;se.preventDefault(),z.over(Date.now());const me=ee(se.target);se.dataTransfer&&(se.dataTransfer.dropEffect=me&&!J.current?"copy":"none"),de(ve=>ve&&ve.over===me?ve:{count:(ve==null?void 0:ve.count)??Yf(se.dataTransfer),over:me}),he()},Be=se=>{var me;Ta((me=se.dataTransfer)==null?void 0:me.types)&&(z.leave(Date.now())||le())},ct=se=>{var ze;if(!Ta((ze=se.dataTransfer)==null?void 0:ze.types))return;const me=ee(se.target),Oe=se.defaultPrevented&&!me;if(se.preventDefault(),le(),Oe)return;if(!me){f({action:"attach",message:"drop files on the conversation to attach them."});return}const{files:ve,folders:Me}=fp(se.dataTransfer);ae.current(ve,Me)},te=se=>{se.key==="Escape"&&z.depth>0&&le()};return window.addEventListener("dragenter",ue),window.addEventListener("dragover",Ae),window.addEventListener("dragleave",Be),window.addEventListener("drop",ct),window.addEventListener("dragend",le),window.addEventListener("blur",le),window.addEventListener("keydown",te),()=>{window.removeEventListener("dragenter",ue),window.removeEventListener("dragover",Ae),window.removeEventListener("dragleave",Be),window.removeEventListener("drop",ct),window.removeEventListener("dragend",le),window.removeEventListener("blur",le),window.removeEventListener("keydown",te),W&&window.clearInterval(W)}},[V]);const we=z=>{if(!V||T)return;const W=Qw(z.clipboardData);W.length&&(z.preventDefault(),fe(W,[]))},ye=O?i.jsxs("div",{className:["pc-workflow-chat__dropzone",O.over?"is-over":"",T?"is-disabled":""].filter(Boolean).join(" "),"aria-hidden":"true",children:[i.jsx("span",{className:"pc-workflow-chat__dropzone-icon",children:i.jsx(oe,{name:"paperclip",size:18})}),i.jsxs("span",{className:"pc-workflow-chat__dropzone-text",children:[i.jsx("strong",{children:T?"Attachments are unavailable right now":Xf(O.count)}),T?null:i.jsx("span",{children:O.over?"Release to upload to this conversation":"Drop anywhere on the conversation"})]})]}):null,Z=O?T?"Attachments are unavailable right now":Xf(O.count):re,Y=async()=>{const z=String(e.draft||"");if(T||y.current||!e.sendWhileBusy&&e.busy||!z.trim())return;const W=++x.current;y.current=!0,f(null),s(!0);try{await e.onSend(z)}catch(ee){g.current&&x.current===W&&f({action:"send",message:Ra(ee)})}finally{g.current&&x.current===W&&(y.current=!1,s(!1))}},H=async()=>{if(T||_.current||!e.onCancel)return;const z=++$.current;_.current=!0,f(null),l(!0);try{await e.onCancel()}catch(W){g.current&&$.current===z&&f({action:"cancel",message:Ra(W)})}finally{g.current&&$.current===z&&(_.current=!1,l(!1))}},N=async()=>{if(T||k.current||!e.onAttach)return;const z=++C.current;k.current=!0,f(null),d(!0);try{await e.onAttach()}catch(W){g.current&&C.current===z&&f({action:"attach",message:Ra(W)})}finally{g.current&&C.current===z&&(k.current=!1,d(!1))}},L=()=>{p&&(p.action==="send"&&Y(),p.action==="cancel"&&H(),p.action==="attach"&&N())};return i.jsxs("section",{ref:G,className:["pc-workflow-chat",O?"pc-workflow-chat--dragging":"",O!=null&&O.over?"pc-workflow-chat--drag-over":"",e.className].filter(Boolean).join(" "),"aria-label":"Workflow chat","data-stream-replies":e.streamReplies||"gateway_default",children:[e.header?i.jsx("header",{className:"pc-workflow-chat__header",children:e.header}):null,i.jsx("div",{className:"pc-workflow-chat__transcript",children:i.jsx(Fw,{messages:Array.isArray(e.messages)?e.messages:[],empty:e.emptyState,autoScroll:!0,messageProps:{...e.messageProps,...e.renderMarkdown?{renderMarkdown:e.renderMarkdown}:{}},after:i.jsxs(i.Fragment,{children:[e.interaction?i.jsx(ev,{interaction:e.interaction,disabled:T}):null,j?i.jsx("div",{className:"pc-workflow-chat__blocked",role:"status",children:e.blockedNotice}):null]}),afterKey:`${e.interaction?`${e.interaction.kind}:${e.interaction.id}`:""}:${j?"blocked":""}`})}),p?i.jsxs("div",{className:"pc-workflow-chat__error",role:"alert",children:[i.jsxs("span",{children:["Could not ",p.action==="send"?"send this message":p.action==="attach"?"attach a file":"stop the run",": ",p.message]}),i.jsx("button",{type:"button",onClick:L,disabled:T,children:"Try again"})]}):null,i.jsxs("div",{className:"pc-workflow-chat__composer",children:[i.jsx(zw,{value:e.draft,onChange:e.onDraftChange,onSubmit:()=>void Y(),placeholder:e.placeholder||"Send a message",ariaLabel:"Message",disabled:T,busy:E,sendLabel:e.sendLabel,busyLabel:e.busyLabel,rows:2,leading:e.attachments?i.jsx("div",{className:"pc-workflow-chat__attachments",children:e.attachments}):null,overlay:ye,onPaste:V?we:void 0,actions:i.jsxs(i.Fragment,{children:[e.onAttach?i.jsxs("button",{type:"button",className:"pc-workflow-chat__icon-button","aria-label":"Attach file",title:"Attach file",disabled:T||u,onClick:()=>void N(),children:[i.jsx(oe,{name:"paperclip",size:16}),i.jsx("span",{children:u?"Attaching…":"Attach"})]}):null,e.composerExtras,A&&e.onCancel?i.jsxs("button",{type:"button",className:"pc-workflow-chat__stop",disabled:T||o||P,onClick:()=>void H(),children:[i.jsx(oe,{name:"x",size:14}),i.jsx("span",{children:o||P?"Stopping…":"Stop"})]}):b?i.jsx("span",{className:`pc-workflow-chat__stop-state pc-workflow-chat__stop-state--${b.phase}`,role:"status","aria-live":"polite",children:b.label}):null]})}),V?i.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:Z}):null]}),e.footer?i.jsx("footer",{className:"pc-workflow-chat__footer",children:e.footer}):null]})}const co="llm.delta",fi="llm.delta_end";function nv(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function _s(e){return typeof e=="string"&&e.trim()!==""}function rv(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0}function sv(e){return"reason"in e}function hp(e,n){const s=nv(e),o=s==null?void 0:s.kind,l=n||(typeof o=="string"&&o?o:s&&"reason"in s?fi:co),u=f=>{throw new Error(`Malformed ${l} event from the gateway: ${f}`)};if(n!==void 0&&n!==co&&n!==fi&&u(`unknown event name ${JSON.stringify(n)}`),!s)return u("the payload is not an object");o!==void 0&&o!==co&&o!==fi&&u(`unknown kind ${JSON.stringify(o)}`),o!==void 0&&n!==void 0&&o!==n&&u(`kind ${JSON.stringify(o)} does not match the event name`),_s(s.run_id)||u("run_id is missing"),_s(s.call_id)||u("call_id is missing"),rv(s.seq)||u("seq is not a non-negative integer");const d=n||o?(n||o)===fi:"reason"in s;s.root_run_id!==void 0&&!_s(s.root_run_id)&&u("root_run_id is not a run id"),s.parent_run_id!==void 0&&s.parent_run_id!==null&&!_s(s.parent_run_id)&&u("parent_run_id is neither a run id nor null");const p={run_id:s.run_id,..._s(s.root_run_id)?{root_run_id:s.root_run_id}:{},...s.parent_run_id!==void 0?{parent_run_id:s.parent_run_id}:{},..._s(s.node_id)?{node_id:s.node_id}:{},call_id:s.call_id,seq:s.seq};return d?(["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:fi,...p,reason:s.reason,..._s(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:co,...p,text:s.text,channel:s.channel,snapshot:s.snapshot})}function iv(e,n){if(e!==co&&e!==fi)return null;let s=n;if(typeof n=="string")try{s=JSON.parse(n)}catch{throw new Error(`Malformed ${e} event from the gateway: data is not JSON`)}return hp(s,e)}function ov(e){if(e==="on")return{stream:!0};if(e==="off")return{stream:!1};if(e==="gateway_default")return{};throw new Error(`Unknown streamReplies mode ${JSON.stringify(e)}; use "gateway_default", "on" or "off"`)}const av={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 lv(e){return`This reply is not streamed: ${e?av[e]||`the gateway reported "${e}"`:"the gateway gave no reason"}. It appears when it is complete.`}function cv(e){return e.toolApprovalGranted?null:e.interaction}const Zf={messages:[],records:[],run:null,interaction:null,status:"idle",displayStatus:"",loading:!1,error:null,connection:"idle",toolApprovalGranted:!1,stop:null};function Te(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ee(e){return typeof e=="string"?e.trim():e==null?"":typeof e=="number"||typeof e=="boolean"?String(e):""}function uo(e){return Array.isArray(e)?e:[]}function sn(e){return Ee(e==null?void 0:e.status).toLowerCase()||"unknown"}function jt(e){return["completed","failed","cancelled"].includes(e.toLowerCase())}function Vr(e){const n=Te(e),s=Number((n==null?void 0:n.status)??(n==null?void 0:n.statusCode));return s===401||s===403}function uv(e){const n=Te(e);return Number((n==null?void 0:n.status)??(n==null?void 0:n.statusCode))}function Ic(e){const n=s=>{if(Array.isArray(s))return s.map(n);const o=Te(s);if(!o)return s;const l={};for(const u of Object.keys(o).sort())l[u]=n(o[u]);return l};try{return JSON.stringify(n(e))}catch{return"[unserializable]"}}function Yc(e){if(typeof e=="string")return e.trim();const n=Te(e);if(!n)return"";for(const s of["answer","response","message","text","content","output"]){const o=n[s];if(typeof o=="string"&&o.trim())return o.trim()}return""}function oi(e){const n=Yc(e);if(n)return n;if(!Te(e)&&!Array.isArray(e))return"";try{return JSON.stringify(e,null,2)}catch{return""}}function qf(e){if(!e)return"";for(const o of["prompt","request","task","message","query","input"]){const l=Ee(e[o]);if(l)return l}const n=Te(e.context);for(const o of["task","message"]){const l=Ee(n==null?void 0:n[o]);if(l)return l}const s=uo(n==null?void 0:n.messages);for(let o=s.length-1;o>=0;o-=1){const l=Te(s[o]);if(Ee(l==null?void 0:l.role).toLowerCase()!=="user")continue;const u=Ee(l==null?void 0:l.content);if(u)return u}return""}function pp(e){const n=Te(e.result);return Te(n==null?void 0:n.wait)}function Mc(e){return e?Ee(e.reason)==="subworkflow"||Ee(e.wait_key).startsWith("subworkflow:"):!1}function eh(e,n){return!!(e&&e.runId===n.runId&&Ee(e.wait.wait_key)===Ee(n.wait.wait_key))}function Xc(e){return Te(e.effect)||{}}function dv(e,n){return Ee(e.run_id)||n}function th(e){return Ee(e.ended_at)||Ee(e.started_at)||void 0}function nh(e){const n=new Set,s=g=>{const y=Ee(g);y&&n.add(y)},o=Te(e.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=Xc(e),u=Te(l.payload);Ee(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 d=pp(e),p=Te(d==null?void 0:d.details);s(p==null?void 0:p.sub_run_id),s(p==null?void 0:p.subRunId),s(p==null?void 0:p.child_run_id);const f=Ee(d==null?void 0:d.wait_key);return f.startsWith("subworkflow:")&&s(f.slice(12)),[...n]}class fv{constructor(n,s={}){this.transport=n,this.options=s,this.snapshot={...Zf},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.resolvedWaits=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(n){return this.subscribers.add(n),()=>this.subscribers.delete(n)}getSnapshot(){return this.snapshot}reset(){var n;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,(n=this.controller)==null||n.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.resolvedWaits.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({...Zf})}dispose(){this.reset(),this.subscribers.clear()}async load(n){const s=Ee(n);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[u,d]=await Promise.all([this.transport.getRun(s,l.signal),this.transport.getHistory(s,l.signal)]);if(!this.live(o))return;const p=Te(u),f=Te(p==null?void 0:p.waiting),g=sn(p);if(await this.ingestHistory(d,s,o),!this.live(o))return;if(this.set({...this.snapshot,run:p,status:g,loading:!1,...f&&!jt(g)?{interaction:this.interactionWith({runId:s,wait:f})}:{}}),p&&this.updateRunState(s,p),f)for(const y of nh({result:{wait:f}}))y!==s&&this.catchUpAndWatch(y,o);await this.catchUpAndWatch(s,o),this.pollRootLifecycle(s,o)}catch(u){!l.signal.aborted&&this.live(o)&&this.fail(u)}}async sendCommand(n,s={}){var y,_;n==="cancel"&&(this.toolApprovalStopped=!0,this.revokeToolApproval(),this.stopRequested=!0,this.recomputeStop());const o=Ee(s.wait_key),l=n==="resume"?o?this.interactionRunId()||this.rootRunId:this.rootRunId:n==="emit_event"?this.interactionRunId()||this.rootRunId:this.rootRunId;if(!l)throw new Error("No workflow run is loaded");const u=n==="resume"&&o&&((y=this.snapshot.interaction)==null?void 0:y.stepId)||"",d=`${l}\0${n}\0${u}\0${Ic(s)}`;let p=this.commandIds.get(d);p||(p=this.newCommandId(),this.commandIds.set(d,p));const f=this.generation,g=(_=this.controller)==null?void 0:_.signal;try{const k=await this.transport.submitCommand({command_id:p,run_id:l,type:n,payload:s,...this.options.clientId?{client_id:this.options.clientId}:{}},g);if(!this.live(f))return k;const x=Te(k);if(x&&x.accepted===!1)throw n==="cancel"&&(this.stopRequested=!1,this.recomputeStop()),new Error(Ee(x.detail)||"Gateway did not accept the command");return this.commandIds.delete(d),l===this.rootRunId&&["pause","resume","cancel"].includes(n)&&this.refreshRunState(l,f),k}catch(k){throw this.live(f)&&this.fail(k,!1),k}}resume(n){const s=this.requireInteraction();return this.sendCommand("resume",{wait_key:Ee(s.wait.wait_key),payload:{response:n}})}approve(n,s){const o=this.requireInteraction();if(jt(this.snapshot.status))throw new Error("This run has already ended.");if(s&&(o.runId!==s.runId||Ee(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(n&&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:Ee(o.wait.wait_key),payload:{approved:!!n}}).then(u=>{if(!this.live(l))return u;const d=this.occurrenceKey(o);return this.approvedWaits.add(d),n&&this.isToolApproval(o)&&!this.grantedToolWaits.has(d)&&(this.grantedToolWaits.add(d),this.set({...this.snapshot})),u})}async approveWithPolicyChange(n,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,n),!(!this.live(o)||l!==this.approvalEpoch||this.toolApprovalStopped||jt(this.snapshot.status))&&s()}async allowAllToolsForRun(n){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,n),!(!this.live(s)||o!==this.approvalEpoch||jt(this.snapshot.status))&&(this.approvedWaits.add(`${n.runId}:${n.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(n){Ic(n)!==Ic(this.toolApprovalPolicy)&&(this.approvalEpoch+=1,this.toolApprovalSuspended=!1,this.toolApprovalPolicy=n?{enabledTools:[...n.enabledTools],autoApproveTools:[...n.autoApproveTools]}:null,this.set({...this.snapshot}))}occurrenceKey(n){return`${n.runId}:${Ee(n.wait.wait_key)}${n.stepId?`:${n.stepId}`:""}`}interactionWith(n){const s=this.snapshot.interaction;return s&&Mc(n.wait)&&!Mc(s.wait)?s:s&&eh(s,n)&&n.stepId===void 0&&s.stepId!==void 0?{...n,stepId:s.stepId}:n}adoptDurableWait(n,s){const o=Te(s.waiting);if(!o||sn(s)!=="waiting"||Mc(o)||jt(this.snapshot.status)||this.resolvedWaits.has(`${n}:${Ee(o.wait_key)}`))return;const l=this.interactionWith({runId:n,wait:o}),u=this.snapshot.interaction;u&&eh(u,l)&&u.stepId===l.stepId||this.set({...this.snapshot,interaction:l})}coveredByStandingPermission(n,s){var o;return n.loading||this.toolApprovalStopped||this.toolApprovalSuspended||!this.toolApprovalPolicy&&!n.autoApproveTools||jt(n.status)||((o=n.run)==null?void 0:o.paused)===!0||n.status==="paused"||!s||!this.isToolApproval(s)||this.toolApprovalPolicy&&(!this.toolCallsMatch(s,this.toolApprovalPolicy.enabledTools)||!this.toolCallsMatch(s,this.toolApprovalPolicy.autoApproveTools))?!1:!!Ee(s.wait.wait_key)}present(n){const s=n.interaction,o=s?this.occurrenceKey(s):"",l=!!(s&&this.isToolApproval(s)&&(this.grantedToolWaits.has(o)||!this.approvedWaits.has(o)&&this.coveredByStandingPermission({...n,loading:!1},s)));if(!l&&!this.snapshot.toolApprovalGranted&&!n.toolApprovalGranted)return n.toolApprovalGranted===!1?n:{...n,toolApprovalGranted:!1};let u=!1;const d=n.messages.map(p=>{var y;const f=p.toolActivity;if(!f||((y=this.toolActivities.get(f.id))==null?void 0:y.status)!=="waiting")return p;const g=l&&f.runId===(s==null?void 0:s.runId)?"running":"waiting";return f.status===g?p:(u=!0,this.toolMessage({...f,status:g}))});return{...n,toolApprovalGranted:l,...u?{messages:d}:{}}}toolCallsMatch(n,s){var l;const o=uo((l=Te(n.wait.details))==null?void 0:l.tool_calls);return o.length>0&&o.every(u=>{var p;const d=Ee((p=Te(u))==null?void 0:p.name);return!!d&&s.includes(d)})}isToolApproval(n){const s=Te(n.wait.details);return(s==null?void 0:s.mode)==="approval_required"||(s==null?void 0:s.kind)==="tool_approval"}autoApproveCurrentWait(){const n=this.snapshot.interaction;if(!this.coveredByStandingPermission(this.snapshot,n))return;const s={runId:n.runId,waitKey:Ee(n.wait.wait_key),stepId:n.stepId},o=this.occurrenceKey(n);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(d=>{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(d,!1)}})}emitEvent(n){return this.sendCommand("emit_event",n)}cancel(){return this.sendCommand("cancel",{})}requireInteraction(){if(!this.snapshot.interaction)throw new Error("This workflow is not waiting for input");if(!Ee(this.snapshot.interaction.wait.wait_key))throw new Error("The workflow wait has no wait_key");return this.snapshot.interaction}interactionRunId(){var n;return((n=this.snapshot.interaction)==null?void 0:n.runId)||""}live(n){var s;return n===this.generation&&!((s=this.controller)!=null&&s.signal.aborted)}set(n){this.snapshot=this.present(n);for(const s of this.subscribers)s();this.autoApproveCurrentWait()}async catchUpAndWatch(n,s){var o;if(!(!this.live(s)||this.watchedRuns.has(n))){this.watchedRuns.add(n);try{if(n!==this.rootRunId)try{const l=Te(await this.transport.getRun(n,(o=this.controller)==null?void 0:o.signal));if(!this.live(s))return;l&&this.updateRunState(n,l)}catch(l){if(!this.live(s))return;if(Vr(l))throw l;this.fail(l,!1)}if(await this.catchUp(n,s),!this.live(s)||jt(sn(this.runStates.get(n)||null)))return;this.childCatchUpAttempts.delete(n),this.watch(n,s)}catch(l){if(!this.live(s))return;if(this.watchedRuns.delete(n),n===this.rootRunId)throw l;if(Vr(l)){this.fail(l);return}const u=(this.childCatchUpAttempts.get(n)||0)+1;if(this.childCatchUpAttempts.set(n,u),this.fail(l,!1),u>=5)return;await this.waitForRetry(Math.min(2e3,150*2**(u-1))),this.live(s)&&this.catchUpAndWatch(n,s)}}}async catchUp(n,s){var o;for(let l=0;l<100&&this.live(s);l+=1){const u=this.cursors.get(n)||0,d=await this.transport.getLedger(n,u,(o=this.controller)==null?void 0:o.signal);if(!this.live(s))return;const p=Te(d),f=Array.isArray(d)?d:uo(p==null?void 0:p.items);for(const y of f)this.ingestItem(n,y);const g=Number(p==null?void 0:p.next_after);if(!f.length||!Number.isFinite(g)||g<=u)break;this.cursors.set(n,g)}}async watch(n,s){try{await this.followStream(n,s)}finally{this.live(s)&&this.closeLiveRepliesVia(n)}}async followStream(n,s){var l;let o=0;for(;this.live(s)&&!jt(sn(this.runStates.get(n)||null));){const u=this.cursors.get(n)||0;this.set({...this.snapshot,connection:o?"reconnecting":"connecting"});try{let d=!1;const p=()=>{!this.live(s)||d||(d=!0,this.set({...this.snapshot,connection:"connected",error:null}))};if(this.dropLiveRepliesVia(n),await this.transport.streamLedger(n,u,g=>{this.live(s)&&(p(),this.ingestItem(n,g))},this.controller.signal,p,g=>{this.live(s)&&(p(),this.ingestDelta(n,g))}),!this.live(s)||(await this.catchUp(n,s),!this.live(s)))return;const f=Te(await this.transport.getRun(n,(l=this.controller)==null?void 0:l.signal));if(!this.live(s))return;f&&this.updateRunState(n,f),o+=1}catch(d){if(!this.live(s))return;if(o+=1,this.fail(d,!1),Vr(d)){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(jt(sn(this.runStates.get(n)||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(n,s,o){const l=Te(n);if(!l)return;const u=Te(l.session),d=uo(u==null?void 0:u.turns).map(Te).filter(g=>!!g);if(await this.hydrateHistoricalSessionRuns(d,s,o),!this.live(o))return;for(const g of d){const y=Ee(g==null?void 0:g.run_id)||s;this.ingestSessionTurn(g,s,y!==s&&this.historicalRuns.get(y)||null)}const p=`turn:${s}:user`;if(!this.seenMessages.has(p)){const g=qf(Te(l.input_data));g&&this.addMessage({id:p,role:"user",content:g})}const f=Te(l.ledgers);if(f)for(const[g,y]of Object.entries(f)){const _=Te(y);for(const k of uo(_==null?void 0:_.items))this.ingestItem(g,k)}}ingestSessionTurn(n,s,o){if(!n)return;const l=Ee(n.run_id)||s,u=Te(n.input_data)||Te(n.input)||{},d=Ee(n.prompt)||qf(u);d&&this.addMessage({id:`turn:${l}:user`,role:"user",content:d,ts:Ee(n.created_at)||void 0});const p=this.historicalRunFailures.get(l);if(p){const _=Ee(n.answer)||Yc(n.output),k=p.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&&jt(sn(o))?oi(o.output):"")||(o?Ee(n.answer)||Yc(n.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:Ee(n.updated_at)||void 0})}async hydrateHistoricalSessionRuns(n,s,o){const l=[...new Set(n.map(f=>Ee(f.run_id)).filter(f=>f&&f!==s&&!this.historicalRuns.has(f)&&!this.historicalRunFailures.has(f)))];if(!l.length||!this.live(o))return;let u=0,d=!1;const p=async()=>{var f,g,y;for(;!d&&this.live(o);){const _=l[u++];if(!_)return;try{const k=Te(await this.transport.getRun(_,(f=this.controller)==null?void 0:f.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(_,Fa(Vw(x)))}catch(x){if(!this.live(o))return;if(Vr(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=uv(k)===404;this.historicalRuns.set(_,null),this.historicalRunFailures.set(_,{missing:x,detail:k instanceof Error?k.message:Ee((y=Te(k))==null?void 0:y.detail)||"request failed"}),Vr(k)&&(d=!0,this.fail(k))}}};if(await Promise.all(Array.from({length:Math.min(4,l.length)},()=>p())),d&&this.live(o))for(const f of l)!this.historicalRuns.has(f)&&!this.historicalRunFailures.has(f)&&(this.historicalRuns.set(f,null),this.historicalRunFailures.set(f,{missing:!1,detail:"authorization expired before this historical run could be restored"}))}ingestItem(n,s){const o=Te(s),l=Te(o==null?void 0:o.record)||o;if(!l)return;const u=dv(l,n),d=Number(o==null?void 0:o.cursor),p=Number.isFinite(d)&&d>0?d:(this.cursors.get(u)||0)+1,f=`${u}:${p}`;if(!this.seenRecords.has(f)){if(this.seenRecords.add(f),this.cursors.set(u,Math.max(this.cursors.get(u)||0,p)),this.set({...this.snapshot,records:[...this.snapshot.records,{cursor:p,record:l,runId:u}]}),this.foldRecord(u,l,f),this.snapshot.messages.some(g=>g.id===`final:${this.rootRunId}`)){const g=Fa(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 nh(l))g!==u&&this.catchUpAndWatch(g,this.generation)}}foldRecord(n,s,o){var y,_,k;const l=Xc(s),u=Ee(l.type).toLowerCase(),d=Te(s.result),p=Ee(s.status).toLowerCase(),f=th(s);if(this.foldStopEvidence(n,s,u,p),["llm_call","tool_calls"].includes(u)&&["started","running"].includes(p)){const x=Date.parse(f||"");(!Number.isFinite(x)||x>=this.displayStatusAt)&&(Number.isFinite(x)&&(this.displayStatusAt=x),this.snapshot.displayStatus&&this.set({...this.snapshot,displayStatus:""}))}if(u==="answer_user"&&p==="completed"){const x=oi(d)||oi(Te(l.payload));x&&this.addRunAssistantMessage(n,{id:`answer:${n}:${o}`,role:"assistant",content:x,ts:f})}if(u==="emit_event"&&p==="completed"){const x=Te(l.payload)||{},$=Te(d),C=Ee(x.name)||Ee($==null?void 0:$.name),j=x.payload!==void 0?x.payload:$==null?void 0:$.payload;if(["abstract.message","abstractcode.message"].includes(C)){const T=oi(j);if(T){const A=Ee((y=Te(j))==null?void 0:y.level).toLowerCase(),E=A==="error"?"error":["warn","warning"].includes(A)?"warn":"info";this.addMessage({id:`event:${n}:${o}`,role:"system",title:"Workflow",content:T,level:E,ts:f})}}if(["abstract.status","abstractcode.status"].includes(C)){const T=Te(j),A=T?T.status??T.text??T.value:j,E=Date.parse(f||"");!jt(this.snapshot.status)&&typeof A=="string"&&(!Number.isFinite(E)||E>=this.displayStatusAt)&&(Number.isFinite(E)&&(this.displayStatusAt=E),this.set({...this.snapshot,displayStatus:A.trim()}))}if(["abstract.tool_execution","abstractcode.tool_execution","abstract.tool_result","abstractcode.tool_result"].includes(C)){const T=oi(j);T&&this.addMessage({id:`event:${n}:${o}`,role:"system",title:"Tool activity",content:T,ts:f})}}const g=pp(s);if(p==="waiting"&&g&&!jt(this.snapshot.status)&&!jt(sn(this.runStates.get(n)||null))&&(this.resolvedWaits.delete(`${n}:${Ee(g.wait_key)}`),this.set({...this.snapshot,interaction:this.interactionWith({runId:n,wait:g,...Ee(s.step_id)?{stepId:Ee(s.step_id)}:{}})})),u==="tool_calls")for(const x of up(this.toolActivities,{runId:n,cursor:this.cursors.get(n)||0,record:s}))this.upsertTool(x);if(u==="resume"&&(d==null?void 0:d.resumed)===!0){const x=Ee((_=Te(l.payload))==null?void 0:_.wait_key);x&&this.resolvedWaits.add(`${n}:${x}`),((k=this.snapshot.interaction)==null?void 0:k.runId)===n&&(this.set({...this.snapshot,interaction:null}),this.refreshRunState(n,this.generation))}}foldStopEvidence(n,s,o,l){let u=!1;if(o==="llm_call"){const d=Ee(s.step_id);if(d){const p=`${n}:${d}`;l==="started"?(this.openLlmSteps.add(p),u=!0):["completed","failed","cancelled","waiting"].includes(l)&&(u=this.openLlmSteps.delete(p)||u),["completed","failed","cancelled"].includes(l)&&this.closeLiveReply(p)}}if(o==="emit_event"&&l==="completed"){const d=Te(Xc(s).payload)||{},p=Te(s.result),f=Ee(d.name)||Ee(p==null?void 0:p.name),g=Te(d.payload!==void 0?d.payload:p==null?void 0:p.payload);f==="abstract.status"&&Ee(g==null?void 0:g.killed_by)==="kill_switch"&&(this.forcedStop=g,u=!0)}u&&this.recomputeStop()}recomputeStop(){let n=null;this.forcedStop?n={phase:"forced",label:Ee(this.forcedStop.text)||"Stop forced: inference killed",record:this.forcedStop}:this.stopRequested&&(n=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)!==(n==null?void 0:n.phase)||(s==null?void 0:s.label)!==(n==null?void 0:n.label))&&this.set({...this.snapshot,stop:n}),(n==null?void 0:n.phase)==="stopping"&&this.snapshot.status==="cancelled"&&this.followStop(this.generation)}async followStop(n){var s;if(!this.stopFollowing){this.stopFollowing=!0;try{let o=500,l=null;for(;this.live(n)&&((s=this.snapshot.stop)==null?void 0:s.phase)==="stopping";){if(await this.waitForRetry(o),!this.live(n))return;const u=[this.rootRunId,...[...this.watchedRuns].filter(p=>p!==this.rootRunId)];let d=!1;for(const p of u)try{await this.catchUp(p,n)}catch(f){d=!0,this.live(n)&&(this.fail(f,!1),l=this.snapshot.error)}!d&&l&&this.snapshot.error===l&&(this.set({...this.snapshot,error:null}),l=null),o=Math.min(5e3,o*2)}}finally{this.generation===n&&(this.stopFollowing=!1)}}}addMessage(n){const s=Ee(n.id)||`${n.role}:${n.content}:${n.ts||""}`;this.seenMessages.has(s)||(this.seenMessages.add(s),this.set({...this.snapshot,messages:[...this.snapshot.messages,{...n,id:s}]}))}toolMessage(n){return{id:`tool:${n.id}`,role:"system",kind:"tool_activity",title:"Tool activity",runId:n.runId,toolActivity:n,content:JSON.stringify({tool:n.name,status:n.status,arguments:n.arguments,output:n.output,error:n.error},null,2),ts:n.endedAt||n.startedAt}}upsertTool(n){const s=this.toolMessage(n),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(n,s){this.closeLiveRepliesOfRun(n);const o=`answer:${n}:`,l=`final:${n}`;this.snapshot.messages.some(u=>u.role==="assistant"&&u.content===s.content&&(u.id===l||String(u.id||"").startsWith(o)))||this.addMessage(s)}ingestDelta(n,s){let o;try{o=hp(s)}catch(f){this.fail(f,!1);return}const l=`${o.run_id}:${o.call_id}`;if(sv(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:n,text:"",reasoning:"",seq:{content:-1,reasoning:-1}},d=o.channel==="reasoning"?"reasoning":"text",p=u.seq[o.channel];if(o.snapshot){if(o.seq<p)return;u[d]=o.text}else{if(o.seq<=p)return;u[d]+=o.text}u.seq[o.channel]=o.seq,u.via=n,this.liveReplies.set(l,u),this.liveDirty.add(l),this.scheduleLiveRender()}runEnded(n){return jt(sn(this.runStates.get(n)||null))}scheduleLiveRender(){if(this.liveRenderTimer)return;const n=this.lastLiveRender+this.liveRenderIntervalMs-Date.now();if(n<=0){this.renderLiveReplies();return}this.liveRenderTimer=setTimeout(()=>{this.liveRenderTimer=null,this.renderLiveReplies()},n)}renderLiveReplies(){if(this.lastLiveRender=Date.now(),!this.liveDirty.size)return;const n=[...this.snapshot.messages];for(const s of this.liveDirty){const o=this.liveReplies.get(s);if(!o)continue;const l=this.liveMessage(o),u=n.findIndex(d=>d.id===l.id);u<0?n.push(l):n[u]=l,this.shownLiveCalls.add(s)}this.liveDirty.clear(),this.set({...this.snapshot,messages:n})}liveMessage(n){const s=n.runId!==this.rootRunId;return{id:`live:${n.runId}:${n.callId}`,role:"assistant",content:n.text,runId:n.runId,live:{callId:n.callId,reasoning:n.reasoning,...s?{caption:`sub-agent · ${n.nodeId||n.runId}`}:{}}}}closeLiveReply(n,s){this.closedLiveCalls.add(n);const o=this.liveReplies.get(n);if(!o){s==="restarted"&&this.shownLiveCalls.has(n)&&this.addMessage(this.restartNote(n));return}this.liveReplies.delete(n),this.liveDirty.delete(n);const l=`live:${o.runId}:${o.callId}`,u=this.snapshot.messages.findIndex(p=>p.id===l);if(u<0)return;const d=[...this.snapshot.messages];if(s==="restarted"){const p=this.restartNote(n);this.seenMessages.add(String(p.id)),d[u]=p}else if(s){const p=`live-end:${o.runId}:${o.callId}`;this.seenMessages.add(p),d[u]={id:p,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 d.splice(u,1);this.set({...this.snapshot,messages:d})}restartNote(n){const s=n.slice(0,n.indexOf(":"));return{id:`live-end:${n}`,role:"system",level:"info",title:"Reply",runId:s,content:"Reply restarted: the model call was interrupted and is running again."}}noteStreamUnavailable(n){const s=`${n.run_id}:${n.call_id}`;this.closeLiveReply(s),this.addMessage({id:`stream-unavailable:${n.run_id}:${n.detail||"unknown"}`,role:"system",level:"info",title:"Reply",runId:n.run_id,content:lv(n.detail)})}closeLiveRepliesOfRun(n){for(const s of[...this.liveReplies.values()])s.runId===n&&this.closeLiveReply(`${s.runId}:${s.callId}`)}closeLiveRepliesVia(n,s){for(const o of[...this.liveReplies.values()])(o.via===n||o.runId===n)&&this.closeLiveReply(`${o.runId}:${o.callId}`,s)}endLiveRepliesOfRun(n,s){const o=s==="failed"||s==="cancelled"?s:void 0;if(n===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(n,o);for(const l of[...this.closedLiveCalls])l.startsWith(`${n}:`)&&this.closedLiveCalls.delete(l);for(const l of[...this.shownLiveCalls])l.startsWith(`${n}:`)&&this.shownLiveCalls.delete(l)}dropLiveRepliesVia(n){const s=new Set;for(const[o,l]of this.liveReplies)l.via===n&&(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(n,s=!0){var o,l,u;Vr(n)&&(this.approvalEpoch+=1,this.toolApprovalStopped=!0,this.toolApprovalSuspended=!0,(l=(o=this.options).onAuthError)==null||l.call(o,n)),this.set({...this.snapshot,error:n instanceof Error?n.message:Ee((u=Te(n))==null?void 0:u.detail)||String(n),...Vr(n)?{autoApproveTools:!1}:{},...s?{connection:"disconnected"}:{}})}newCommandId(){const n=globalThis.crypto;return n&&typeof n.randomUUID=="function"?n.randomUUID():`workflow-${Date.now()}-${Math.random().toString(36).slice(2)}`}updateRunState(n,s){var u;if(this.runStates.set(n,s),jt(sn(s))&&this.endLiveRepliesOfRun(n,sn(s)),n!==this.rootRunId){jt(sn(s))&&((u=this.snapshot.interaction)==null?void 0:u.runId)===n?this.set({...this.snapshot,interaction:null}):this.adoptDurableWait(n,s);return}const o=sn(s),l=jt(o);if(l){const d=oi(s.output);d&&this.upsertFinal(n,d,th(s))}this.set({...this.snapshot,run:s,status:o,...l?{interaction:null,autoApproveTools:!1,displayStatus:""}:{}}),l||this.adoptDurableWait(n,s),(this.stopRequested||this.forcedStop)&&this.recomputeStop()}upsertFinal(n,s,o){this.closeLiveRepliesOfRun(n);const l=`final:${n}`;this.seenMessages.add(l);const u={id:l,role:"assistant",content:s,ts:o,runId:n,statistics:Fa(this.snapshot.records).statistics},d=this.snapshot.messages.findIndex(f=>f.id===l||String(f.id||"").startsWith(`answer:${n}:`)&&f.content===s);if(d<0){this.set({...this.snapshot,messages:[...this.snapshot.messages,u]});return}const p=[...this.snapshot.messages];p[d]=u,this.set({...this.snapshot,messages:p})}async refreshRunState(n,s){var o;try{const l=Te(await this.transport.getRun(n,(o=this.controller)==null?void 0:o.signal));l&&this.live(s)&&this.updateRunState(n,l)}catch(l){this.live(s)&&this.fail(l,!1)}}async pollRootLifecycle(n,s){var o;for(;this.live(s)&&this.rootRunId===n&&!jt(sn(this.runStates.get(n)||null));){if(await this.waitForRetry(2e3),!this.live(s)||this.rootRunId!==n||jt(sn(this.runStates.get(n)||null)))return;try{const l=Te(await this.transport.getRun(n,(o=this.controller)==null?void 0:o.signal));l&&this.live(s)&&this.rootRunId===n&&this.updateRunState(n,l)}catch(l){if(!this.live(s))return;if(Vr(l)){this.fail(l);return}this.fail(l,!1)}}}waitForRetry(n){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 d=setTimeout(f,n),p=()=>{clearTimeout(d),f()};function f(){o.removeEventListener("abort",p),u()}o.addEventListener("abort",p,{once:!0})})}}function hv(e){const n=w.useMemo(()=>new fv(e.transport,{onAuthError:e.onAuthError,clientId:e.clientId,...e.liveRenderIntervalMs!==void 0?{liveRenderIntervalMs:e.liveRenderIntervalMs}:{}}),[e.transport,e.onAuthError,e.clientId,e.authScopeKey,e.liveRenderIntervalMs]),s=w.useSyncExternalStore(l=>n.subscribe(l),()=>n.getSnapshot(),()=>n.getSnapshot()),o=String(e.runId||"").trim();return w.useEffect(()=>{n.setToolApprovalPolicy(e.enabled===!1?{enabledTools:[],autoApproveTools:[]}:e.toolApprovalPolicy??null)},[n,e.toolApprovalPolicy,e.enabled]),w.useEffect(()=>{if(e.enabled===!1||!o){n.reset();return}return n.load(o),()=>n.reset()},[n,o,e.enabled]),{controller:n,snapshot:s}}function xs(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ut(e){return typeof e=="string"?e.trim():e==null?"":typeof e=="number"||typeof e=="boolean"?String(e):""}function rh(e){return["session","workflow","run","global"].includes(e)?e:null}function Gr(e){return{scope:Ut(e==null?void 0:e.scope).toLowerCase(),name:Ut(e==null?void 0:e.name)||Ut(e==null?void 0:e.event_name),scopeId:Ut(e==null?void 0:e.scope_id)||Ut(e==null?void 0:e.scopeId),sessionId:Ut(e==null?void 0:e.session_id)||Ut(e==null?void 0:e.sessionId),workflowId:Ut(e==null?void 0:e.workflow_id)||Ut(e==null?void 0:e.workflowId),runId:Ut(e==null?void 0:e.run_id)||Ut(e==null?void 0:e.runId)}}function pv(e,n){const s=e.wait,o=Ut(s.wait_key),l=[Gr(s),Gr(xs(s.details))];for(const u of n){if(u.runId!==e.runId)continue;const d=u.record,p=xs(d.result),f=xs(p==null?void 0:p.wait),g=xs(d.effect),y=xs(g==null?void 0:g.payload);Ut(f==null?void 0:f.wait_key)!==o&&Ut(y==null?void 0:y.wait_key)!==o||l.push(Gr(d),Gr(y),Gr(xs(y==null?void 0:y.details)),Gr(f),Gr(xs(f==null?void 0:f.details)))}return l}function Lc(e,n){return n.scopeId?n.scopeId:e==="session"?n.sessionId:e==="workflow"?n.workflowId:e==="run"?n.runId:"global"}function mp(e,n,s){return{scope:e,scopeId:n,name:s,...e==="session"?{sessionId:n}:{},...e==="workflow"?{workflowId:n}:{},...e==="run"?{runId:n}:{}}}function mv(e,n,s){if(!s)return null;const o=`evt:${n}:${s}:`;if(!e.startsWith(o))return null;const l=e.slice(o.length);return l?mp(n,s,l):null}function gv(e,n=[],s){if(!e)return{target:null,error:"No event wait is available."};const o=Ut(e.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=rh(l[1]);if(!u)return{target:null,error:"The event wait uses an unsupported scope."};const d=pv(e,Array.isArray(n)?n:[]),p=new Map;for(const k of d){const x=rh(k.scope);if(!x||!k.name)continue;if(x!==u)return{target:null,error:"Event metadata conflicts with the canonical wait scope."};const $=`evt:${x}:`,C=`:${k.name}`;if(!o.startsWith($)||!o.endsWith(C)||o.length<=$.length+C.length)return{target:null,error:"Event metadata does not exactly match the canonical wait key."};const j=o.slice($.length,-C.length),T=Lc(x,k);if(T&&T!==j)return{target:null,error:"Event metadata conflicts with the canonical wait target."};const A=mp(x,j,k.name);p.set(`${A.scope}\0${A.scopeId}\0${A.name}`,A)}if(p.size>1)return{target:null,error:"Multiple event targets match this wait; routing is unavailable."};if(p.size===1)return{target:[...p.values()][0]};const f=new Set;u==="run"&&f.add(e.runId),u==="global"&&f.add("global");for(const k of d){const x=Lc(u,k);x&&f.add(x)}if(Ut(s==null?void 0:s.run_id)===e.runId){const k=Gr(s||null),x=Lc(u,k);x&&f.add(x)}const y=[...f].map(k=>mv(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 au=e=>je(`runs/${encodeURIComponent(e)}/workspace`);function yv(e){return au(e)}function wv(e,n){return`${au(e)}/files?${new URLSearchParams({path:n,recursive:"false"})}`}function po(e,n){return`${au(e)}/content?${new URLSearchParams({path:n})}`}async function Ja(e,n){let s="";try{const o=await e.text();try{const l=JSON.parse(o),u=(l==null?void 0:l.detail)??(l==null?void 0:l.error)??(l==null?void 0:l.message);s=typeof u=="string"?u:u&&typeof u.message=="string"?u.message:o}catch{s=o}}catch{s=""}return new Error(`${n} (HTTP ${e.status}): ${s.trim()||e.statusText||"no reason given"}`)}function vv(e,n){const s=e&&typeof e=="object"&&!Array.isArray(e)?e:null,o=d=>{throw new Error(`Unexpected /workspace/files response from the gateway: ${d}.`)};if(!s)return 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((d,p)=>{const f=d&&typeof d=="object"?d:{};return(typeof f.name!="string"||typeof f.path!="string"||f.type!=="file"&&f.type!=="dir")&&o(`entry ${p+1} lacks a name, path or file/dir type`),f}),u=s.hidden&&typeof s.hidden=="object"&&!Array.isArray(s.hidden)?s.hidden:void 0;return{path:typeof s.path=="string"?s.path:n,entries:l,truncated:s.truncated,...u?{hidden:u}:{}}}async function _v(e,n,s){const o=await e(yv(n),{signal:s});if(!o.ok)throw await Ja(o,"The workspace is not available");const l=await o.json();if(!l||typeof l.workspace_root!="string"||typeof l.exists!="boolean")throw new Error("Unexpected /workspace response from the gateway: no `workspace_root` / `exists`.");return l}async function xv(e,n,s,o){const l=await e(wv(n,s),{signal:o});if(!l.ok)throw await Ja(l,"The folder could not be listed");return vv(await l.json(),s)}async function kv(e,n,s,o){const l=await e(po(n,s),{signal:o});if(!l.ok)throw await Ja(l,"The file could not be read");return await l.blob()}async function bv(e,n,s,o){const l=await _v(e,n,o);return{where:l,listing:l.exists?await xv(e,n,s,o):null}}function jv(e){const n=String(e||"").split("/").filter(Boolean),s=[{label:"Workspace",path:""}];return n.forEach((o,l)=>s.push({label:o,path:n.slice(0,l+1).join("/")})),s}function gp(e){if(typeof e!="number"||!Number.isFinite(e)||e<0)return"";if(e<1024)return`${e} B`;const n=["KiB","MiB","GiB","TiB"];let s=e/1024,o=0;for(;s>=1024&&o<n.length-1;)s/=1024,o+=1;return`${s<10?s.toFixed(1):Math.round(s)} ${n[o]}`}function Sv(e){return[...e].sort((n,s)=>n.type===s.type?n.name.localeCompare(s.name):n.type==="dir"?-1:1)}function Nv(e){const n=e.hidden||{},s=Number(n.blocked||0)+Number(n.outside_links||0)+Number(n.other||0),o=[];return s>0&&o.push(`${s} ${s===1?"entry":"entries"} hidden by the gateway's workspace rules`),e.truncated&&o.push("the list is truncated"),o.join("; ")}const Cv=new Set(["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","application/pdf","text/plain","application/json"]);function $v(e){const n=String(e||"").split(";",1)[0].trim().toLowerCase();return Cv.has(n)?{mode:"open",type:n}:n.startsWith("text/")||n.endsWith("+xml")||n.endsWith("+json")||n.endsWith("/xml")||n.endsWith("/javascript")||n.endsWith("/x-yaml")||n.endsWith("/toml")?{mode:"open",type:"text/plain;charset=utf-8"}:{mode:"download"}}function yp(e,n,s){const o=s==="open"?$v(e.type):{mode:"download"},l=o.mode==="open"&&o.type!==e.type?new Blob([e],{type:o.type}):e,u=URL.createObjectURL(l);if(o.mode==="open")window.open(u,"_blank","noopener");else{const d=document.createElement("a");d.href=u,d.download=n,document.body.appendChild(d),d.click(),d.remove()}window.setTimeout(()=>URL.revokeObjectURL(u),6e4)}async function Ev(e,n,s){const o=await e(Lg(n),{signal:s.signal});if(!o.ok)throw await Ja(o,`${s.name} could not be read`);yp(await o.blob(),s.name,s.mode??"open")}function wp(e){const{fetchGateway:n,runId:s}=e,[o,l]=w.useState({runId:s,path:""}),u=o.runId===s?o.path:"",[d,p]=w.useState(null),[f,g]=w.useState(""),[y,_]=w.useState(!!s),[k,x]=w.useState(""),[$,C]=w.useState(0);w.useEffect(()=>{if(!s)return;const A=new AbortController;return _(!0),g(""),(async()=>{try{const E=await bv(n,s,u,A.signal);A.signal.aborted||p({runId:s,...E})}catch(E){A.signal.aborted||g(String((E==null?void 0:E.message)||E))}finally{A.signal.aborted||_(!1)}})(),()=>A.abort()},[n,s,u,$,e.refreshKey]);const j=d&&d.runId===s?d:null,T=w.useCallback(async(A,E)=>{x(A.path),g("");try{yp(await kv(n,s,A.path),A.name,E)}catch(b){g(String((b==null?void 0:b.message)||b))}finally{x("")}},[n,s]);return i.jsx(Av,{title:e.title,note:e.note,where:(j==null?void 0:j.where)??null,path:u,listing:(j==null?void 0:j.listing)??null,error:f,loading:y,fileBusy:k,selectedPath:e.selectedPath,className:e.className,onNavigate:A=>l({runId:s,path:A}),onRefresh:()=>C(A=>A+1),onFile:e.onSelectFile?void 0:(A,E)=>void T(A,E),onSelectFile:e.onSelectFile,onClose:e.onClose})}function Av(e){var o,l,u,d;const n=e.listing?Nv(e.listing):"",s=(l=(o=e.where)==null?void 0:o.host)==null?void 0:l.hostname;return i.jsxs("section",{className:`pc-ws${e.className?` ${e.className}`:""}`,"aria-label":e.title,"data-workspace-root":((u=e.where)==null?void 0:u.workspace_root)||void 0,children:[i.jsxs("header",{className:"pc-ws__head",children:[i.jsxs("span",{className:"pc-ws__title",children:[i.jsx(oe,{name:"folder",size:15})," ",e.title]}),i.jsx("span",{className:"pc-ws__spacer"}),i.jsx("button",{type:"button",className:"pc-ws__icon-btn","data-action":"refresh-folder",onClick:e.onRefresh,disabled:e.loading,title:"Refresh","aria-label":"Refresh the folder",children:i.jsx(oe,{name:"refresh",size:14})}),e.onClose?i.jsx("button",{type:"button",className:"pc-ws__icon-btn","data-action":"close-folder",onClick:e.onClose,title:"Close","aria-label":"Close the file browser",children:i.jsx(oe,{name:"x",size:14})}):null]}),e.where?i.jsxs("div",{className:"pc-ws__root",children:[i.jsx("code",{children:e.where.workspace_root}),s&&((d=e.where.host)==null?void 0:d.caller_is_this_machine)!==!0?i.jsxs("span",{className:"pc-ws__muted",children:[" on the gateway host ",s]}):null]}):null,e.note?i.jsx("div",{className:"pc-ws__muted",children:e.note}):null,i.jsx("nav",{className:"pc-ws__crumbs","aria-label":"Folder",children:jv(e.path).map((p,f,g)=>f===g.length-1?i.jsx("span",{"aria-current":"page",children:p.label},p.path):i.jsxs(yt.Fragment,{children:[i.jsx("button",{type:"button",className:"pc-ws__crumb",onClick:()=>e.onNavigate(p.path),children:p.label}),i.jsx("span",{className:"pc-ws__muted",children:" / "})]},p.path))}),e.error?i.jsx("div",{className:"pc-ws__error",role:"alert",children:e.error}):null,e.loading&&!e.listing?i.jsx("div",{className:"pc-ws__muted",role:"status",children:"Loading…"}):null,e.where&&!e.where.exists?i.jsx("div",{className:"pc-ws__muted",children:"The folder does not exist yet: nothing has been written."}):null,e.listing?e.listing.entries.length?i.jsx("ul",{className:"pc-ws__entries",children:Sv(e.listing.entries).map(p=>i.jsx("li",{className:`pc-ws__entry${e.selectedPath===p.path?" is-selected":""}`,"data-type":p.type,"data-path":p.path,children:p.type==="dir"?i.jsxs("button",{type:"button",className:"pc-ws__name","data-action":"open-dir",onClick:()=>e.onNavigate(p.path),children:[i.jsx(oe,{name:"folder",size:14})," ",p.name,"/"]}):i.jsxs(i.Fragment,{children:[e.onSelectFile?i.jsxs("button",{type:"button",className:"pc-ws__name","data-action":"select-file","aria-pressed":e.selectedPath===p.path,onClick:()=>{var f;return(f=e.onSelectFile)==null?void 0:f.call(e,p)},children:[i.jsx(oe,{name:"file",size:14})," ",p.name]}):i.jsxs("span",{className:"pc-ws__name",children:[i.jsx(oe,{name:"file",size:14})," ",p.name]}),i.jsx("span",{className:"pc-ws__size",children:gp(p.size_bytes)}),e.onFile?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"pc-ws__btn","data-action":"open-file",disabled:e.fileBusy===p.path,onClick:()=>{var f;return(f=e.onFile)==null?void 0:f.call(e,p,"open")},children:"Open"}),i.jsx("button",{type:"button",className:"pc-ws__icon-btn","data-action":"download-file",disabled:e.fileBusy===p.path,onClick:()=>{var f;return(f=e.onFile)==null?void 0:f.call(e,p,"download")},title:`Download ${p.name}`,"aria-label":`Download ${p.name}`,children:i.jsx(oe,{name:"download",size:14})})]}):null]})},p.path))}):i.jsx("div",{className:"pc-ws__muted",children:"This folder is empty."}):null,n?i.jsx("div",{className:"pc-ws__muted","data-hidden-note":"true",children:n}):null]})}function Tv(e){return i.jsx(np,{text:e,images:"link"})}const Rv={trigger:"Trigger",answer:"Automation"};function Iv(e){return i.jsx(cp,{message:{id:`${e.runId}:${e.kind}`,role:e.role,content:e.text,title:Rv[e.kind],runId:e.runId},images:"link"})}const Mv={renderText:Tv,renderTurn:Iv};function Lv(e){const{fetchGateway:n,...s}=e,o=s.onOpenResource??(n?l=>Ev(n,l.url,{name:l.name}):void 0);return i.jsx(aw,{...s,onOpenResource:o,...Mv})}function Pv(e,n,s={}){if(!e)return null;const o=e.wait,l=`${e.runId}:${o.wait_key}:${e.stepId||""}`,u=o.details||{};if(u.mode==="approval_required"||u.kind==="tool_approval"){const p=Array.isArray(u.tool_calls)?u.tool_calls:[],f={runId:e.runId,waitKey:String(o.wait_key||""),stepId:e.stepId},g=[...new Set(p.map(_=>String((_==null?void 0:_.name)||"tool")))],y=s.onPermissionsAll;return{id:l,kind:"tool-approval",title:`${p.length||"Requested"} ${p.length===1?"action needs":"actions need"} permission`,toolName:g.join(", ")||"the requested tools",description:"Review the targets below. Allow once approves this batch only.",detail:i.jsxs("div",{className:"pc-approval-summary",children:[i.jsx(op,{tools:p.map((_,k)=>({id:String((_==null?void 0:_.call_id)||(_==null?void 0:_.id)||k),runId:e.runId,name:(_==null?void 0:_.name)||"Tool",arguments:_==null?void 0:_.arguments,status:"waiting"}))}),i.jsxs("details",{children:[i.jsx("summary",{children:"Review full tool arguments (JSON)"}),i.jsx(bs,{value:p.length?p:u})]})]}),approveLabel:"Allow once",denyLabel:"Deny",approveAllLabel:y?"Allow all enabled tools":void 0,approveAllDescription:y?"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.":void 0,onApproveAll:y?async()=>{await n.approveWithPolicyChange(f,()=>{y()})}:void 0,onApprove:async()=>{await n.approve(!0,f)},onDeny:async()=>{await n.approve(!1,f)}}}if(o.reason==="user"||o.reason==="ask_user")return{id:l,kind:"ask-user",title:"A question for you",prompt:String(o.prompt||u.prompt||"How would you like to continue?"),allowFreeText:o.allow_free_text!==!1,choices:(Array.isArray(o.choices)?o.choices:[]).map(p=>typeof p=="object"&&p!==null?{id:String(p.value??p.id??p.label),label:String(p.label??p.text??p.value??p.id),description:p.description}:{id:String(p),label:String(p)}),onSubmit:async p=>{await n.resume(p)}};const d=String(o.wait_key||"");if(o.reason==="event"||d.startsWith("evt:")){const p=gv(e,s.records||[],s.currentRun??null),f=p.target,g=(f==null?void 0:f.name)||"";return{id:l,kind:"event-wait",title:f?"Waiting for an event":"Event routing unavailable",eventName:g,prompt:String(o.prompt||`This workflow will continue when “${g||"its trigger"}” arrives.`),description:f?"You can also send the expected event here.":`This event cannot be sent safely. ${p.error}`,initialPayload:"{}",payloadLabel:"Event data (JSON)",sendLabel:"Send event",onSend:async y=>{if(!f)throw new Error(p.error);const _=JSON.parse(y||"{}"),k={name:f.name,scope:f.scope,payload:_};f.scope==="session"?k.session_id=f.scopeId:f.scope==="workflow"?k.workflow_id=f.scopeId:f.scope==="run"&&(k.run_id=f.scopeId),await n.emitEvent(k)}}}return null}const Ov="abstractcode.agent.v1";function lu(e){return!!(e!=null&&e.interfaces.some(n=>[Ov,"abstractassistant.agent.v1"].includes(n)))}function qe(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Va(e){return Array.isArray(e)?e:[]}function Se(e){return typeof e!="string"?void 0:e.trim()||void 0}function vp(e){return Va(e).flatMap(n=>{const s=Se(n);return s?[s]:[]})}function mo(e,n=0){if(typeof e!="number"||!Number.isFinite(e))return;const s=Math.trunc(e);return s>=n?s:void 0}function cu(e,n){if(Array.isArray(e))return e;const s=qe(e);if(!s)return[];for(const o of n)if(Array.isArray(s[o]))return s[o];return[]}function _p(e){const n=qe(e);return n?{...n}:void 0}function sh(e){const n=_p(e.input_schema??e.inputSchema??e.inputs_schema);if(n)return n;const s=qe(e.inputs);if(s&&("properties"in s||"type"in s||"$schema"in s))return{...s}}function Dv(e){const n=Se(e.bundle_version??e.bundleVersion??e.version);if(n)return n;const s=Se(e.bundle_ref??e.bundleRef);if(!s)return;const o=s.lastIndexOf("@");return o>0&&o<s.length-1?s.slice(o+1):void 0}function Fv(e,n,s){return e?`${e}${n?`@${n}`:""}:${s}`:s}function ih(e,n,s){var p;const o=qe(e),l=Se((o==null?void 0:o.default_bundle_id)??(o==null?void 0:o.defaultBundleId)),u=cu(e,["items","bundles"]),d=[];for(const f of u){const g=qe(f);if(!g)continue;const y=qe(g.actions);if((y==null?void 0:y.can_run)===!1)continue;const _=(p=Se(g.status))==null?void 0:p.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=Dv(g);if(x&&/(?:^|[.\-])draft(?:[.\-]|$)/i.test(x))continue;const $=Se(g.default_entrypoint??g.defaultEntrypoint),C=n==="private"&&(g.is_default===!0||g.isDefault===!0||!!k&&k===l);for(const j of Va(g.entrypoints)){const T=qe(j);if(!T||!s.includeDeprecated&&(T.deprecated===!0||T.enabled===!1))continue;const A=Se(T.flow_id??T.flowId??T.id);if(!A)continue;const E=vp(T.interfaces??T.interface_ids??T.interfaceIds);if(s.interfaceId&&!E.includes(s.interfaceId))continue;const b=Se(T.workflow_id??T.workflowId)??Fv(k,x,A),P=$?$===A:Va(g.entrypoints).length===1;d.push({id:`${n}:${b}`,workflowId:b,...k?{bundleId:k}:{},...x?{bundleVersion:x}:{},flowId:A,name:Se(T.name??T.title)??A,description:Se(T.description)??"",interfaces:E,...sh(T)?{inputSchema:sh(T)}:{},registryScope:n,isPreferredVersion:n==="tenant_catalog"?g.is_default===!0||g.default_version===x:g.latest_published_version===x,...C&&P?{isDefault:!0}:{}})}}return d}function zv(e){var o;const n=new Map;for(const l of e){const u=l.bundleId||l.id;n.set(u,[...n.get(u)||[],l])}const s=[];for(const l of n.values()){const u=l.filter(g=>g.registryScope==="tenant_catalog"),d=u.length?u:l,p=[...d].sort((g,y)=>+!!y.isPreferredVersion-+!!g.isPreferredVersion||(y.bundleVersion||"").localeCompare(g.bundleVersion||"",void 0,{numeric:!0}))[0],f=(o=l.find(g=>g.isDefault))==null?void 0:o.flowId;for(const g of d.filter(y=>y.bundleVersion===p.bundleVersion))s.push({...g,isDefault:g.flowId===f})}return s.sort((l,u)=>+!!u.isDefault-+!!l.isDefault||l.name.localeCompare(u.name)||l.id.localeCompare(u.id))}function Wv(e,n){return n.some(s=>s.id!==e.id&&s.name===e.name)?`${e.name} · ${e.bundleId||e.flowId}`:e.name}function oh(e,n,s={}){const o=[...ih(e,"private",s),...ih(n,"tenant_catalog",s)],l=new Map;for(const u of o)l.set(u.id,u);return[...l.values()].sort((u,d)=>+!!d.isDefault-+!!u.isDefault||u.name.localeCompare(d.name)||u.id.localeCompare(d.id))}function Uv(e){const n=qe(e);if(!n)return;const s=qe(n.workflow_selection??n.workflowSelection);if(s)return s;const o=qe(n._runtime),l=qe((o==null?void 0:o.workflow_policy)??(o==null?void 0:o.workflowPolicy));if(l)return l;const u=qe(n.input_data??n.inputData),d=qe(u==null?void 0:u._runtime);return qe((d==null?void 0:d.workflow_policy)??(d==null?void 0:d.workflowPolicy))}function Bv(e,n){const s=Uv(n.inputData);if(s){const u=Se(s.registry_scope??s.registryScope),d=Se(s.bundle_id??s.bundleId),p=Se(s.bundle_version??s.bundleVersion),f=Se(s.flow_id??s.flowId);if((u==="private"||u==="tenant_catalog")&&d&&f){const g=e.filter(y=>(y.registryScope??"private")===u&&y.bundleId===d&&y.flowId===f&&(!p||y.bundleVersion===p));if(g.length===1)return g[0]}return}const o=Se(n.runWorkflowId);if(!o)return;const l=e.filter(u=>(u.registryScope??"private")==="private"&&u.workflowId===o);return l.length===1?l[0]:void 0}function Vv(e){const n=qe(e)??{},s=qe(n.policy)??n,l=Va(s.mounts??s.workspace_mounts).flatMap((d,p)=>{const f=qe(d);if(!f)return[];const g=Se(f.path??f.root),y=Se(f.id??f.name)??g??`mount-${p+1}`;return[{id:y,label:Se(f.label??f.name)??y,...g?{path:g}:{},readOnly:f.read_only===!0||f.readOnly===!0||f.writable===!1,raw:{...f}}]}),u=mo(s.max_attachment_bytes??s.maxAttachmentBytes,1);return{raw:{...s},clientWorkspaceScopeOverrides:s.client_workspace_scope_overrides===!0||s.clientWorkspaceScopeOverrides===!0,allowedAccessModes:vp(s.allowed_access_modes??s.allowedAccessModes),mounts:l,...u!==void 0?{maxAttachmentBytes:u}:{}}}function Gv(e){const n=cu(e,["items","tools"]),s=new Set,o=[];for(const l of n){const u=qe(l);if(!u)continue;const d=Se(u.name??u.tool_name??u.id);if(!d||s.has(d))continue;s.add(d);const p=u.enabled!==!1&&u.served_disabled!==!0&&u.servedDisabled!==!0,f=mo(u.risk_rank??u.riskRank),g=_p(u.input_schema??u.inputSchema??u.parameters);o.push({name:d,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)}:{},...f!==void 0?{riskRank:f}:{},enabled:p,servedDisabled:!p,...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 Hv(e){var o;const n=(o=Se(e.status??e.state))==null?void 0:o.toLowerCase();return Se(e.wait_reason??e.waitReason)||e.waiting===!0||n==="waiting"||n==="paused"?"waiting":n==="running"||n==="queued"||n==="pending"||n==="created"?"running":n==="failed"||n==="error"||n==="cancelled"||n==="canceled"?"failed":n==="completed"||n==="complete"||n==="done"?"done":"unknown"}const ah={waiting:4,running:3,failed:2,done:1,unknown:0};function ai(e){return Se(e.updated_at??e.updatedAt??e.finished_at??e.finishedAt??e.created_at??e.createdAt)}function li(e){if(!e)return Number.NEGATIVE_INFINITY;const n=Date.parse(e);return Number.isFinite(n)?n:Number.NEGATIVE_INFINITY}function lh(e){var d;const n=Se(e);if(n)return n;const s=qe(e);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(p=>Se(l==null?void 0:l[p])).find(Boolean);return u||Se((d=qe(l==null?void 0:l.context))==null?void 0:d.task)}function Pc(e,n={}){const s=qe(e),o=(s==null?void 0:s.has_more)===!0||(s==null?void 0:s.hasMore)===!0,l=cu(e,["items","runs"]),u=new Map;l.forEach((p,f)=>{const g=qe(p);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:f}),u.set(y,k)});const d=[];for(const[p,f]of u){const g=[...f].sort(($,C)=>li(ai(C.run))-li(ai($.run))||$.index-C.index),y=[...f].sort(($,C)=>{const j=Se($.run.created_at??$.run.createdAt)??ai($.run),T=Se(C.run.created_at??C.run.createdAt)??ai(C.run);return li(j)-li(T)||$.index-C.index}),_=g.flatMap(({run:$})=>{const C=Se($.run_id??$.runId??$.id);return C?[C]:[]});if(!_.length)continue;let k="unknown";for(const{run:$}of f){const C=Hv($);ah[C]>ah[k]&&(k=C)}let x;for(const{run:$}of y){const C=Se($.run_id??$.runId??$.id);if(x=(C?lh(n[C]):void 0)??lh($),x)break}d.push({sessionId:p,state:k,...ai(g[0].run)?{updatedAt:ai(g[0].run)}:{},firstRunId:Se(y[0].run.run_id??y[0].run.runId??y[0].run.id),latestRunId:_[0],runIds:_,turnCount:f.length,...x?{prompt:x}:{},truncated:o})}return d.sort((p,f)=>li(f.updatedAt)-li(p.updatedAt)||p.sessionId.localeCompare(f.sessionId))}function Ga(e){return e?{...e}:{}}function ci(e){if(e!==void 0)return e.flatMap(n=>{const s=Se(n);return s?[s]:[]})}function Kv(e,n,s){var T,A,E,b,P,V,G,O,de;const o=(re,Q)=>{var B,J;!lu(n.workflow)&&!((J=qe((B=n.inputSchema)==null?void 0:B.properties))!=null&&J[re])||Q!==void 0&&s&&(e[re]=Q)},l=Se((T=n.model)==null?void 0:T.provider),u=Se((A=n.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),n.tools!==void 0&&o("tools",ci(n.tools)??[]);const d=ci(n.skills);d!=null&&d.length&&(e.skills=d);const p=Se((E=n.workspace)==null?void 0:E.root),f=Se((b=n.workspace)==null?void 0:b.accessMode),g=ci((P=n.workspace)==null?void 0:P.allowedPaths);p!==void 0&&(e.workspace_root=p),f!==void 0&&(e.workspace_access_mode=f),g!=null&&g.length&&(e.workspace_allowed_paths=g),o("system",Se(n.system));const y=Ga(qe(e._runtime)),_=(re,Q)=>{Q!==void 0&&s&&(y[re]=Q)};if(_("provider",l),_("model",u),_("thinking",Se(n.reasoning)),_("speculation",n.speculation),n.streamReplies!==void 0&&_("stream",ov(n.streamReplies).stream),_("system_prompt_extra",Se(n.systemPromptExtra)),n.tools!==void 0){const re=ci(n.tools)??[],Q=Array.isArray(y.allowed_tools)?y.allowed_tools:null;y.allowed_tools=Q?re.filter(B=>Q.includes(B)):re}if(n.review!==void 0&&n.reviewCapable!==!1){_("review_mode",n.review.enabled);const re=n.review.enabled?mo(n.review.maxRounds,1):void 0;_("review_max_rounds",re)}const k=ci((V=n.toolPolicy)==null?void 0:V.autoApproveTools),x=ci((G=n.toolPolicy)==null?void 0:G.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}:{}}),n.promptCache!==void 0&&_("prompt_cache",n.promptCache),Object.keys(y).length&&(e._runtime=y);const $=Ga(qe(e._limits)),C=mo((O=n.limits)==null?void 0:O.maxIterations,1),j=mo((de=n.limits)==null?void 0:de.maxTokens,1);C!==void 0&&s&&($.max_iterations=C),j!==void 0&&s&&($.max_tokens=j),Object.keys($).length&&(e._limits=$),o("max_iterations",C),n.gatingMode==="auto"&&o("gating_mode","auto")}function Jv(e){var o,l;const n=Ga(e.schemaInputs),s=lu(e.workflow);if(e.promptProperty){const u=Se(e.promptProperty);u&&((o=e.prompt)!=null&&o.trim())&&(n[u]=e.prompt)}if(s){const u=e.prompt??"";n.prompt=u;const d=Ga(qe(n.context));d.task=u,delete d.messages,n.use_context=!1,(l=e.attachments)!=null&&l.length&&(d.attachments=e.attachments.map(p=>({...p}))),n.context=d,n.use_session_history=e.useSessionHistory??!0}return Kv(n,e,!0),n}class Qv{constructor(){gn(this,"_buffer","");gn(this,"_current",{data_lines:[]})}push(n,s){for(this._buffer+=n;;){const o=this._buffer.indexOf(`
|
|
64
|
+
`);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(`
|
|
65
|
+
`)};s(g)}this._current={data_lines:[]};continue}const d=u.indexOf(":"),p=d===-1?u:u.slice(0,d),f=d===-1?"":u.slice(d+1).trimStart();p==="id"?this._current.id=f:p==="event"?this._current.event=f:p==="data"&&this._current.data_lines.push(f)}}}function Ye(e){var o;const n=(e||"").trim(),s={};n&&(s.Authorization=`Bearer ${n}`);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 Yv(e){const n=e.headers.get("retry-after");if(!n)return;const s=Number(n);if(Number.isFinite(s)&&s>0)return s}async function Xv(e){var n;try{if(String(e.headers.get("content-type")||"").toLowerCase().includes("application/json")){const l=await e.json().catch(()=>null);if(l&&typeof l=="object"){const u=l.detail;if(typeof u=="string"&&u.trim())return u.trim();const d=(n=l.error)==null?void 0:n.message;if(typeof d=="string"&&d.trim())return d.trim();try{const p=JSON.stringify(l);if(p&&p!=="{}")return p}catch{}}}const o=await e.text();return o!=null&&o.trim()?o.trim():`${e.status}`}catch{return`${e.status}`}}class xp extends Error{constructor(s,o){super(s);gn(this,"status");gn(this,"retry_after_s");gn(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(e,n){const s=await Xv(e);throw new xp(`${n}: ${s}`,{status:e.status,retry_after_s:Yv(e),body_text:s})}class Zv{constructor(n){gn(this,"_cfg");this._cfg={...n,base_url:(n.base_url||"").trim()}}async start_run(n,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(),d=String(n||"").trim(),p={input_data:s||{}};l&&(p.bundle_id=l),d&&(p.flow_id=d),u&&(p.session_id=u);const f=await fetch(Qe(this._cfg.base_url.trim(),je("runs/start")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(p)});if(!f.ok)return await Xe(f,"start_run failed");const g=await f.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(n){const s=String(n||"").trim();if(!s)throw new Error("get_run: run_id is required");const o=await fetch(Qe(this._cfg.base_url.trim(),je(`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(n,s){const o=String(n||"").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.trim(),je(`runs/${encodeURIComponent(o)}/history_bundle?${l.toString()}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"get_run_history_bundle failed")}async list_runs(n){const s=new URLSearchParams,o=typeof(n==null?void 0:n.limit)=="number"?n.limit:50;s.set("limit",String(o));const l=String((n==null?void 0:n.status)||"").trim();l&&s.set("status",l);const u=String((n==null?void 0:n.workflow_id)||"").trim();u&&s.set("workflow_id",u);const d=String((n==null?void 0:n.session_id)||"").trim();d&&s.set("session_id",d),(n==null?void 0:n.root_only)===!0&&s.set("root_only","true"),(n==null?void 0:n.include_ledger_len)===!1&&s.set("include_ledger_len","false"),(n==null?void 0:n.include_metrics)===!0&&s.set("include_metrics","true");const p=Qe(this._cfg.base_url.trim(),je(`runs?${s.toString()}`)),f=await fetch(p,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"list_runs failed")}async get_ledger(n,s){const o=String(n||"").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),d=Qe(this._cfg.base_url.trim(),je(`runs/${encodeURIComponent(o)}/ledger?after=${encodeURIComponent(String(l))}&limit=${encodeURIComponent(String(u))}`)),p=await fetch(d,{headers:{...Ye(this._cfg.auth_token)}});if(!p.ok)return await Xe(p,"get_ledger failed");const f=await p.json(),g=Array.isArray(f==null?void 0:f.items)?f.items:[],y=typeof(f==null?void 0:f.next_after)=="number"?f.next_after:l;return{items:g,next_after:y}}async stream_ledger(n,s){var $;const o=String(n||"").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,d=s.signal,p=Qe(this._cfg.base_url.trim(),je(`runs/${encodeURIComponent(o)}/ledger/stream?after=${encodeURIComponent(String(l))}`)),f=await fetch(p,{headers:{Accept:"text/event-stream",...Ye(this._cfg.auth_token)},signal:d});if(!f.ok)return await Xe(f,"stream_ledger failed");if(!f.body)throw new Error("stream_ledger: response body is missing");($=s.on_open)==null||$.call(s);const g=f.body.getReader(),y=new TextDecoder("utf-8"),_=new Qv,k=s.on_delta,x=s.on_delta_error;for(;;){const{value:C,done:j}=await g.read();if(j)return;const T=y.decode(C,{stream:!0});_.push(T,A=>{if(k&&x){const E=A.event||"message",b=A.data??"";let P;try{P=iv(E,b)}catch(V){x(V instanceof Error?V:new Error(String(V)),{event:E,data:b});return}if(P){k(P);return}}if(!(A.event!=="step"||!A.data))try{const E=JSON.parse(A.data);E&&typeof E.cursor=="number"&&E.record&&u(E)}catch{}})}}async list_bundles(){const n=await fetch(Qe(this._cfg.base_url.trim(),je("bundles")),{headers:{...Ye(this._cfg.auth_token)}});return n.ok?await n.json():await Xe(n,"list_bundles failed")}async reload_bundles(){const n=await fetch(Qe(this._cfg.base_url.trim(),je("bundles/reload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)}});return n.ok?await n.json():await Xe(n,"reload_bundles failed")}async upload_bundle(n,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",n,n.name||"upload.flow");const d=await fetch(Qe(this._cfg.base_url.trim(),je("bundles/upload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:u});return d.ok?await d.json():await Xe(d,"upload_bundle failed")}async discovery_tools(){const n=await fetch(Qe(this._cfg.base_url.trim(),je("discovery/tools")),{headers:{...Ye(this._cfg.auth_token)}});return n.ok?await n.json():await Xe(n,"discovery_tools failed")}async discovery_providers(n){const s=(n==null?void 0:n.include_models)===!0,o=Qe(this._cfg.base_url.trim(),je(`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(n){const s=String(n||"").trim();if(!s)throw new Error("discovery_provider_models: provider_name is required");const o=await fetch(Qe(this._cfg.base_url.trim(),je(`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(n,s=""){const o=String(n||"").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.trim(),je(`discovery/models/capabilities?${l}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"discovery_model_capabilities failed")}async workspace_policy(){const n=await fetch(Qe(this._cfg.base_url.trim(),je("workspace/policy")),{headers:{...Ye(this._cfg.auth_token)}});return n.ok?await n.json():await Xe(n,"workspace_policy failed")}async files_search(n,s){const o=String(n||"").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 d=s==null?void 0:s.scope;if(d&&typeof d=="object"){const g=String(d.workspace_root||"").trim(),y=String(d.workspace_access_mode||"").trim(),_=String(d.workspace_allowed_paths||"").trim(),k=String(d.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 p=Qe(this._cfg.base_url.trim(),je(`files/search?${u.toString()}`)),f=await fetch(p,{headers:{...Ye(this._cfg.auth_token)},signal:s==null?void 0:s.signal});return f.ok?await f.json():await Xe(f,"files_search failed")}async list_run_artifacts(n,s){const o=String(n||"").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.trim(),je(`runs/${encodeURIComponent(o)}/artifacts?limit=${encodeURIComponent(String(l))}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"list_run_artifacts failed")}async get_run_artifact_blob(n,s,o){const l=String(n||"").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 d=Qe(this._cfg.base_url.trim(),je(`runs/${encodeURIComponent(l)}/artifacts/${encodeURIComponent(u)}/content`)),p=await fetch(d,{headers:{...Ye(this._cfg.auth_token)}});if(!p.ok)return await Xe(p,"get_run_artifact_blob failed");const f=await p.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&&f.size>g)throw new Error(`Artifact too large (${f.size} bytes > ${g} bytes)`);const y=String(p.headers.get("content-type")||"").trim()||"application/octet-stream";return{blob:f,content_type:y}}async get_run_artifact_text(n,s,o){const{blob:l}=await this.get_run_artifact_blob(n,s,o);return await l.text()}async attachments_ingest(n,s,o){const l=String(n||"").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 d={session_id:l,path:u},p=o==null?void 0:o.scope;if(p&&typeof p=="object"){const k=String(p.workspace_root||"").trim(),x=String(p.workspace_access_mode||"").trim(),$=String(p.workspace_allowed_paths||"").trim(),C=String(p.workspace_ignored_paths||"").trim();k&&(d.workspace_root=k),x&&(d.workspace_access_mode=x),$&&(d.workspace_allowed_paths=$),C&&(d.workspace_ignored_paths=C)}const f=await fetch(Qe(this._cfg.base_url.trim(),je("attachments/ingest")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(d)});if(!f.ok)return await Xe(f,"attachments_ingest failed");const g=await f.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(n,s,o){const l=String(n||"").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",d=String((o==null?void 0:o.content_type)||"").trim()||String((s==null?void 0:s.type)||"").trim(),p=new FormData;p.append("session_id",l),p.append("file",s,u),p.append("filename",u),d&&p.append("content_type",d);const f=await fetch(Qe(this._cfg.base_url.trim(),je("attachments/upload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:p});if(!f.ok)return await Xe(f,"attachments_upload failed");const g=await f.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(n,s){const o=String(n||"").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 d=await fetch(Qe(this._cfg.base_url.trim(),je(`runs/${encodeURIComponent(o)}/audio/transcribe`)),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(l)});return d.ok?await d.json():await Xe(d,"audio_transcribe failed")}async voice_tts(n,s){const o=String(n||"").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(),d=(s==null?void 0:s.format)===null||(s==null?void 0:s.format)===void 0?"":String(s.format||"").trim(),p=(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),d&&(l.format=d),p&&(l.request_id=p);const f=await fetch(Qe(this._cfg.base_url.trim(),je(`runs/${encodeURIComponent(o)}/voice/tts`)),{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,"voice_tts failed")}async submit_command(n){const s={command_id:String((n==null?void 0:n.command_id)||"").trim(),run_id:String((n==null?void 0:n.run_id)||"").trim(),type:String((n==null?void 0:n.type)||"").trim(),payload:n!=null&&n.payload&&typeof n.payload=="object"?n.payload:{}},o=String((n==null?void 0:n.ts)||"").trim();o&&(s.ts=o);const l=String((n==null?void 0:n.client_id)||"").trim();l&&(s.client_id=l);const u=await fetch(Qe(this._cfg.base_url.trim(),je("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(n){const s={session_id:String((n==null?void 0:n.session_id)||"").trim(),description:String((n==null?void 0:n.description)||"")},o=String((n==null?void 0:n.active_run_id)||"").trim();o&&(s.active_run_id=o);const l=String((n==null?void 0:n.workflow_id)||"").trim();l&&(s.workflow_id=l);const u=String((n==null?void 0:n.client)||"").trim();u&&(s.client=u);const d=String((n==null?void 0:n.client_version)||"").trim();d&&(s.client_version=d);const p=String((n==null?void 0:n.user_agent)||"").trim();p&&(s.user_agent=p);const f=String((n==null?void 0:n.url)||"").trim();f&&(s.url=f);const g=String((n==null?void 0:n.provider)||"").trim();g&&(s.provider=g);const y=String((n==null?void 0:n.model)||"").trim();y&&(s.model=y);const _=String((n==null?void 0:n.template)||"").trim();_&&(s.template=_);const k=n==null?void 0:n.context;k&&typeof k=="object"&&(s.context=k);const x=await fetch(Qe(this._cfg.base_url.trim(),je("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(n){const s={session_id:String((n==null?void 0:n.session_id)||"").trim(),description:String((n==null?void 0:n.description)||"")},o=String((n==null?void 0:n.active_run_id)||"").trim();o&&(s.active_run_id=o);const l=String((n==null?void 0:n.workflow_id)||"").trim();l&&(s.workflow_id=l);const u=String((n==null?void 0:n.client)||"").trim();u&&(s.client=u);const d=String((n==null?void 0:n.client_version)||"").trim();d&&(s.client_version=d);const p=String((n==null?void 0:n.user_agent)||"").trim();p&&(s.user_agent=p);const f=String((n==null?void 0:n.url)||"").trim();f&&(s.url=f);const g=String((n==null?void 0:n.provider)||"").trim();g&&(s.provider=g);const y=String((n==null?void 0:n.model)||"").trim();y&&(s.model=y);const _=String((n==null?void 0:n.template)||"").trim();_&&(s.template=_);const k=n==null?void 0:n.context;k&&typeof k=="object"&&(s.context=k);const x=await fetch(Qe(this._cfg.base_url.trim(),je("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(n,s){const o=String(n||"").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.trim(),je(`prompt_cache/stats?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_stats failed")}async prompt_cache_capabilities(n,s){const o=String(n||"").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.trim(),je(`prompt_cache/capabilities?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_capabilities failed")}async prompt_cache_saved(n,s){const o=String(n||"").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.trim(),je(`prompt_cache/saved?provider=${encodeURIComponent(o)}&model=${encodeURIComponent(l)}`)),d=await fetch(u,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_saved failed")}async prompt_cache_clear(n){const s={provider:String((n==null?void 0:n.provider)||"").trim(),model:String((n==null?void 0:n.model)||"").trim()},o=(n==null?void 0:n.key)===null||(n==null?void 0:n.key)===void 0?"":String(n.key||"").trim();o&&(s.key=o);const l=await fetch(Qe(this._cfg.base_url.trim(),je("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(n){const s={provider:String((n==null?void 0:n.provider)||"").trim(),model:String((n==null?void 0:n.model)||"").trim(),name:String((n==null?void 0:n.name)||"").trim(),key:String((n==null?void 0:n.key)||"").trim(),q8:!!(n!=null&&n.q8)},o=await fetch(Qe(this._cfg.base_url.trim(),je("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(n){const s={provider:String((n==null?void 0:n.provider)||"").trim(),model:String((n==null?void 0:n.model)||"").trim(),name:String((n==null?void 0:n.name)||"").trim(),key:String((n==null?void 0:n.key)||"").trim(),clear_existing:!!(n!=null&&n.clear_existing)},o=await fetch(Qe(this._cfg.base_url.trim(),je("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")}}function kp(){const e=document.cookie.split(";").map(n=>n.trim()).find(n=>n.startsWith("abstractcode_gateway_csrf="));return e?{"X-AbstractCode-CSRF":decodeURIComponent(e.slice(26))}:{}}async function ft(e,n={}){if(!e.startsWith(`${za}/`))throw new Error("Gateway requests must use the app's authenticated proxy (a relative api/gateway/… path).");const s=new Headers(n.headers);s.set("Accept","application/json"),n.body&&!(n.body instanceof FormData)&&s.set("Content-Type","application/json");for(const[l,u]of Object.entries(kp()))s.set(l,u);const o=await fetch(e,{...n,headers:s,credentials:"same-origin"});if(!o.ok){const l=await o.text();let u=l;try{const d=JSON.parse(l);u=typeof d.detail=="string"?d.detail:JSON.stringify(d.detail||d)}catch{}throw new xp(u||`Gateway request failed (${o.status})`,{status:o.status,body_text:l})}if(o.status!==204)return o.json()}const Sn=new Zv({base_url:""});function Et(e){return e instanceof Error?e.message:String(e)}function Kr(){return crypto.randomUUID()}async function qv(e,n,s){const{blob:o}=await Sn.get_run_artifact_blob(e,n),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 cn=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function e_(e,n){const s=cn(n);return Object.fromEntries(Object.keys(cn(e.properties)).flatMap(o=>["_runtime","_limits"].includes(o)||!Object.prototype.hasOwnProperty.call(s,o)?[]:[[o,structuredClone(s[o])]]))}function ch(e){if(!e)return;const n=cn(e.input_data_schema||e.input_schema||e.schema||e),s=Object.fromEntries(Object.entries(cn(n.properties)).map(([o,l])=>[o,{...cn(l)}]));for(const o of Array.isArray(e.inputs)?e.inputs:[])o!=null&&o.id&&(s[o.id]={...cn(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(cn(e.defaults)))s[o]={...s[o],default:l};return{...n,properties:s}}function t_(e,n){var g;const s=cn(n).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)),d=new Set((Array.isArray(e.required)?e.required:[]).filter(y=>!u.has(y))),p={...e.properties},f=cn(o.data.pinDefaults);for(const y of l)y.required===!0&&d.add(y.id),p[y.id]={...cn(p[y.id]),...cn(y.schema),...y.type?{"x-abstract-type":y.type}:{},...y.label?{title:y.label}:{},...Object.prototype.hasOwnProperty.call(f,y.id)?{default:structuredClone(f[y.id])}:{}};return{...e,properties:p,required:[...d]}}function fo(e){return Object.fromEntries(Object.entries((e==null?void 0:e.properties)||{}).flatMap(([n,s])=>Object.prototype.hasOwnProperty.call(cn(s),"default")?[[n,structuredClone(cn(s).default)]]:[]))}function n_(e){const n=Array.isArray(e.type)?e.type.find(o=>o!=="null"):e.type;if(n)return n;const s=e["x-abstract-type"];return["tools","assertions"].includes(s)?"array":["json_schema","memory","assertion"].includes(s)?"object":"string"}function r_(e){const n=(e==null?void 0:e.properties)||{},s=l=>{const u=n[l];return u&&(u.type==="string"||Array.isArray(u.type)&&u.type.includes("string")||!u.type&&u["x-abstract-type"]==="string")},o=Object.keys(n).filter(l=>{var u;return((u=n[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 s_(e,n){var l,u,d;if(!e)return[];const s={...fo(e),...n},o=[];for(const p of Array.isArray(e.required)?e.required:[])s[p]===void 0&&o.push(`${((u=(l=e.properties)==null?void 0:l[p])==null?void 0:u.title)||p} is required.`);for(const[p,f]of Object.entries(s)){const g=(d=e.properties)==null?void 0:d[p];if(!g||f===void 0)continue;const y=g.title||p;Array.isArray(g.enum)&&!g.enum.some($=>JSON.stringify($)===JSON.stringify(f))&&o.push(`${y} must be one of the available choices.`);const _=Array.isArray(g.type)?g.type:g.type?[g.type]:[];if(f===null&&(_.includes("null")||!_.length))continue;const k=Array.isArray(f)?"array":f===null?"null":typeof f,x=_.includes(k)?k:k==="number"&&_.includes("integer")?"integer":_[0];(x==="number"||x==="integer")&&(typeof f!="number"||!Number.isFinite(f)||x==="integer"&&!Number.isInteger(f))&&o.push(`${y} must be ${x==="integer"?"a whole number":"a number"}.`),typeof f=="number"&&g.minimum!==void 0&&f<g.minimum&&o.push(`${y} must be at least ${g.minimum}.`),typeof f=="number"&&g.maximum!==void 0&&f>g.maximum&&o.push(`${y} must be at most ${g.maximum}.`),x==="string"&&typeof f!="string"&&o.push(`${y} must be text.`),typeof f=="string"&&g.minLength!==void 0&&f.length<g.minLength&&o.push(`${y} must contain at least ${g.minLength} characters.`),x==="boolean"&&typeof f!="boolean"&&o.push(`${y} must be true or false.`),x==="array"&&!Array.isArray(f)&&o.push(`${y} must be a JSON array.`),x==="object"&&(f===null||typeof f!="object"||Array.isArray(f))&&o.push(`${y} must be a JSON object.`)}return o}function bp(e){const n=(e==null?void 0:e.properties)||{},s=[];for(const[o,l]of Object.entries(n)){const u=cn(l);if(!(o==="provider"||o.endsWith("_provider")||String(u["x-abstract-type"]||"").startsWith("provider")))continue;const d=String(u["x-abstract-type"]||""),p=o.replace("provider","model"),f=Object.keys(n).filter(x=>{var $;return(($=n[x])==null?void 0:$["x-abstract-type"])===d.replace(/^provider/,"model")}),g=p!==o&&n[p]?p:f.length===1?f[0]:"";if(!g)continue;const y=o==="provider"?"":o.startsWith("provider_")?o.slice(9):o.endsWith("_provider")?o.slice(0,-9):d.replace(/^provider_?/,""),_=y&&y!=="text"?`${y}_`:"",k=[`${_}reasoning`,`${_}thinking`,`${_}reasoning_effort`,`reasoning_${y}`,`thinking_${y}`].find(x=>n[x]);s.push({provider:o,model:g,reasoning:k,title:_?_.replace(/_/g," ").trim():"Text model"})}return s}const uu={fetchProviders:async()=>{const e=await Sn.discovery_providers(),n=e.providers||e.items;return Array.isArray(n)?n.map(s=>typeof s=="string"?{name:s}:s):[]},fetchModels:async e=>{const n=await Sn.discovery_provider_models(e),s=n.models||n.items;return Array.isArray(s)?s.map(o=>typeof o=="string"?o:o.id||o.name).filter(Boolean):[]},fetchModelCapabilities:(e,n="")=>Sn.discovery_model_capabilities(e,n)};function i_(e){for(const n of["output.text","input.text"]){const s=(Array.isArray(e==null?void 0:e.routes)?e.routes:[]).find(o=>o.key===n&&o.source!=="not_configured"&&o.provider&&o.model);if(s)return{provider:s.provider,model:s.model}}}function o_(e,n){e.startsWith("provider_")?e=`${e.slice(9)}_provider`:n!=null&&n.startsWith("provider_")&&!e.endsWith("_provider")&&(e=`${n.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"}[e];if(!s&&!["music_provider","voice_provider"].includes(e))return uu;const o=e==="voice_provider",l=je(s?`vision/provider_models?task=${s}`:o?"audio/speech/models?compact=true":"audio/music/models?task=text_to_music"),u=s?`${l}&providers_only=true`:je(o?"voice/voices?providers_only=true&compact=true":"audio/music/providers?task=text_to_music"),d=p=>Array.isArray(p)?p.map(f=>typeof f=="string"?f:f.id||f.name).filter(Boolean):[];return{fetchProviders:async()=>{const p=await ft(u);if(p.error)throw new Error(p.error);return d(p.providers||p.available_providers||p.items).map(f=>({name:f}))},fetchModels:async p=>{var g,y,_;const f=await ft(`${l}&provider=${encodeURIComponent(p)}`);if(f.error)throw new Error(f.error);return d(((g=f.models_by_provider)==null?void 0:g[p])||((y=f.tts_models_by_provider)==null?void 0:y[p])||((_=f.music_models_by_provider)==null?void 0:_[p])||f.models||f.items)}}}const a_=["gateway_default","on","off"],jp={status:"loading"};function l_(e,n){if(n)return{status:"unsupported",reason:`the gateway's capabilities could not be read (${n})`};const s=e==null?void 0:e.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 c_(e){return a_.includes(e)?e:"gateway_default"}function u_(e,n){return e==="on"&&n.status!=="supported"?"gateway_default":e}function d_(e,n,s){if(e!=="on"||n.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: ${n.reason}. Replies appear when they are complete.`}}}function f_(e){try{const n=JSON.parse(e);return typeof(n==null?void 0:n.call_id)=="string"&&n.call_id?n.call_id:""}catch{return""}}function h_(e,n){const s=f_(e.frame.data),o=s?`call:${s}`:`error:${e.error.message}`;return{after:n,message:{id:`stream-replies:malformed:${e.runId}:${o}`,role:"system",level:"warn",title:"Live reply",runId:e.runId,content:`The gateway sent a malformed live reply update (${e.frame.event}): ${e.error.message}. It was skipped; the complete reply still arrives.`}}}function p_(e,n){return e.some(s=>s.message.id===n.message.id)?[...e]:[...e,n]}function m_(e,n){const s=n.filter(p=>!!p);if(!s.length)return[...e];const o=[],l=new Set;for(const p of e){o.push(p);for(const f of s)!l.has(f)&&f.after!==null&&String(p.id)===f.after&&(o.push(f.message),l.add(f))}const u=s.filter(p=>!l.has(p)&&p.after===null),d=s.filter(p=>!l.has(p)&&p.after!==null);return[...u.map(p=>p.message),...o,...d.map(p=>p.message)]}function g_(e){return e.status==="supported"&&e.gatewayDefault!==null?`Gateway default (${e.gatewayDefault?"on":"off"})`:"Gateway default"}const jn="@default",mi="abstractcode.agent.v1";function Gn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function an(e){return typeof e=="string"&&e.trim()?e.trim():void 0}const y_="gateway does not report a default agent workflow";function w_(e,n=mi){var y,_;const s=Gn(e);if(!s)return{status:"unavailable",reason:"the gateway's workflow list could not be loaded"};const o=Gn(s.default_agent_workflows);if(!o)return{status:"unavailable",reason:y_};const l=Gn(o[n]);if(!l){const k=an((_=Gn((y=Gn(s.default_agent_workflows_unavailable))==null?void 0:y[n]))==null?void 0:_.reason);return{status:"unavailable",reason:k?`no default workflow for ${n}: ${k}`:`gateway reports no default workflow for ${n}`}}const u=an(l.bundle_id),d=an(l.flow_id),p=an(l.registry_scope);if(!u||!d||!p)return{status:"unavailable",reason:`gateway's default workflow for ${n} is missing its bundle, flow or registry scope`};const f=an(l.bundle_version);return{status:"ok",workflow:{workflowId:an(l.workflow_id)??`${u}${f?`@${f}`:""}:${d}`,bundleId:u,...f?{bundleVersion:f}:{},flowId:d,registryScope:p,name:an(l.name)??d,...an(l.source)?{source:an(l.source)}:{}}}}function uh(e){if(e.status==="loading")return"Gateway default (loading…)";if(e.status==="unavailable")return`Gateway default — ${e.reason}`;const{name:n,bundleVersion:s}=e.workflow;return`Gateway default → ${n}${s?` @${s}`:""}`}function v_(e,n,s=mi){if(e.status!=="ok")return null;const o=e.workflow,l=n.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 Oc(e,n=mi){if(!e||e.interfaces.includes(n))return"";const s=e.interfaces.length?e.interfaces.join(", "):"no interface";return`The gateway default ${e.name} does not declare ${n} (it declares ${s}); it will not run as a coding agent here.`}function __(e,n,s=mi){return n?[...e]:e.filter(o=>o.interfaces.includes(s))}function x_(e){const n=s=>s===jn||e.visible.some(o=>o.id===s)||!!e.runId&&e.workflows.some(o=>o.id===s);return e.selection&&n(e.selection)?e.selection:e.preferred&&n(e.preferred)?e.preferred:jn}function du(e){var s,o;const n=Gn((o=Gn((s=Gn(e))==null?void 0:s.input_data))==null?void 0:o.workflow_selection);return an(n==null?void 0:n.source)}function k_(e){var n;return du(e.restoredInputs)==="gateway_default"?jn:(n=e.restored)==null?void 0:n.id}function b_(e){return!Gn(e)||du(e)?"":"This gateway does not record whether this conversation used the gateway default workflow; its next turn uses the workflow its last run used."}function j_(e){return e.selection===jn?{flow_id:jn,interface:e.interfaceId??mi,session_id:e.sessionId,input_data:e.input}:{bundle_id:e.workflow.bundleId,bundle_version:e.workflow.bundleVersion,registry_scope:e.workflow.registryScope,flow_id:e.workflow.flowId,session_id:e.sessionId,input_data:e.input}}function S_(e){const n=Gn(e);if(!n)return{text:"the gateway did not report which workflow it started",missing:!0};const s=an(n.name)??an(n.workflow_id)??an(n.flow_id)??"unnamed workflow",o=an(n.bundle_version);return{text:`running ${s}${o?` @${o}`:""}${n.source==="gateway_default"?" (gateway default)":""}`,missing:!1}}const Dc={gatewayDefault:{status:"loading"},workflows:[],choices:[],policy:null,tools:[],sessions:[],capabilities:{},streaming:jp,loading:!1,errors:[],hasMore:!1};function N_(e){var s;const n=((s=e==null?void 0:e.capabilities)==null?void 0:s.contracts)??(e==null?void 0:e.contracts)??e;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function C_(e,n){const[s,o]=w.useState(Dc),[l,u]=w.useState(100),d=w.useRef(0),p=w.useRef(),f=w.useRef({identity:"",values:{}}),g=w.useCallback(async()=>{var T,A;const y=++d.current;(T=p.current)==null||T.abort();const _=new AbortController;if(p.current=_,f.current.identity!==e&&(f.current={identity:e,values:{}}),!e){o(Dc);return}o(E=>({...E,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(E=>ft(je(`${E}`),{signal:_.signal})));if(d.current!==y)return;const $=E=>x[E].status==="fulfilled"?x[E].value:void 0,C=[];x.forEach((E,b)=>{var P,V;E.status==="rejected"&&(((P=E.reason)==null?void 0:P.status)===401&&n(),!(b===5&&[403,404,501].includes((V=E.reason)==null?void 0:V.status))&&C.push(`${["Workflows","Workspace policy","Tools","Conversations","Capabilities","Shared workflows","Gateway defaults"][b]}: ${Et(E.reason)}`))}),o({workflows:oh($(0),$(5)),choices:zv(oh($(0),$(5))),policy:$(1)?Vv($(1)):null,tools:Gv($(2)),sessions:Pc($(3),f.current.values),capabilities:N_($(4)),streaming:l_($(4),x[4].status==="rejected"?Et(x[4].reason):void 0),defaultModel:i_($(6)),gatewayDefault:w_($(0)),loading:!1,errors:C,hasMore:!!((A=$(3))!=null&&A.has_more)});const j=Pc($(3),f.current.values).filter(E=>!E.prompt&&!(E.firstRunId in f.current.values));for(let E=0;E<j.length;E+=4){if(d.current!==y||_.signal.aborted||(await Promise.all(j.slice(E,E+4).map(async b=>{try{const P=await ft(je(`runs/${encodeURIComponent(b.firstRunId)}/input_data`),{signal:_.signal});d.current===y&&!_.signal.aborted&&(f.current.values[b.firstRunId]=P)}catch(P){!_.signal.aborted&&(P==null?void 0:P.status)===401&&n()}})),d.current!==y||_.signal.aborted))return;o(b=>({...b,sessions:Pc($(3),f.current.values)}))}},[e,l,n]);return w.useEffect(()=>{u(100)},[e]),w.useEffect(()=>(o(Dc),g(),()=>{var y;d.current+=1,(y=p.current)==null||y.abort()}),[g]),{...s,refresh:g,loadMore:()=>u(y=>y+100)}}async function $_(e){if(e.inputSchema)return ch(e.inputSchema);if(!e.bundleId)return;const n=encodeURIComponent(e.bundleId),s=encodeURIComponent(e.flowId),o=e.registryScope==="tenant_catalog"&&e.bundleVersion?je(`workflow-catalog/${n}/versions/${encodeURIComponent(e.bundleVersion)}/flows/${s}/input_schema?scope=tenant`):je(`bundles/${n}/flows/${s}/input_schema${e.bundleVersion?`?bundle_version=${encodeURIComponent(e.bundleVersion)}`:""}`),l=await ft(o),u=ch(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 d=e.bundleVersion||l.bundle_version;if(!d)throw new Error("The Gateway did not identify the workflow version. Refresh workflows and retry.");const p={bundle_id:e.bundleId,bundle_version:d,flow_id:e.flowId},f=_=>{for(const[k,x]of Object.entries(p))if((_==null?void 0:_[k])!==x)throw new Error("The Gateway returned inputs for a different workflow version. Refresh workflows and retry.");if(e.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.")};f(l);const g=e.registryScope==="tenant_catalog"?je(`workflow-catalog/${n}/versions/${encodeURIComponent(d)}/flows/${s}?scope=tenant`):je(`bundles/${n}/flows/${s}?bundle_version=${encodeURIComponent(d)}`),y=await ft(g);return f(y),t_(u,y.flow)}const Fc=e=>je(`runs/${encodeURIComponent(e)}`);function E_(e){return{getRun:(n,s)=>ft(Fc(n),{signal:s}),getHistory:(n,s)=>ft(`${Fc(n)}/history_bundle?include_subruns=true&include_session=true&ledger_mode=full`,{signal:s}),getLedger:(n,s,o)=>ft(`${Fc(n)}/ledger?after=${s}&limit=200`,{signal:o}),streamLedger:(n,s,o,l,u,d)=>Sn.stream_ledger(n,{after:s,on_step:o,signal:l,on_open:u,on_delta:d,on_delta_error:(p,f)=>e.onDeltaError({runId:n,error:p,frame:f})}),submitCommand:(n,s)=>ft(je("commands"),{method:"POST",body:JSON.stringify(n),signal:s})}}function Un(e){return typeof e=="string"?e.trim():""}function A_(e){const n=e&&typeof e=="object"&&!Array.isArray(e)?e:{},o=(Array.isArray(n.skills)?n.skills:[]).flatMap(p=>{const f=p&&typeof p=="object"&&!Array.isArray(p)?p:null,g=Un(f==null?void 0:f.name);if(!f||!g)return[];const y=f.source&&typeof f.source=="object"&&!Array.isArray(f.source)?f.source:void 0;return[{name:g,description:Un(f.description),trustLevel:Un(f.trust_level)||"unverified",blocked:f.blocked===!0,requiresReview:f.requires_review===!0,reasons:Array.isArray(f.reasons)?f.reasons.map(Un).filter(Boolean):[],source:y?{source:Un(y.source),binding:Un(y.binding),ambiguous:y.ambiguous===!0}:void 0}]}),l=Array.isArray(n.warnings)?n.warnings.map(Un).filter(Boolean):[],u=Un(n.shelf),d=Un(n.shelf_source);return{skills:o.sort((p,f)=>p.name.localeCompare(f.name)),warnings:l,...u?{shelf:u}:{},...d?{shelfSource:d}:{}}}function T_({inventory:e}){return i.jsxs("div",{className:"code-skills-empty",role:"status",children:[i.jsx("p",{children:i.jsx("strong",{children:"This gateway offers no skills."})}),e.warnings.length?e.warnings.map((n,s)=>i.jsx("p",{children:e.shelf?n:`The gateway has no skill shelf: ${n}`},`${n}:${s}`)):i.jsx("p",{children:"The gateway gave no reason for the empty list."}),e.shelf?i.jsxs("p",{className:"code-field-help",children:["Skill shelf: ",i.jsx("code",{children:e.shelf}),e.shelfSource?` (source: ${e.shelfSource})`:""]}):i.jsx("p",{className:"code-field-help",children:"The gateway did not report a skill shelf location."})]})}function R_(e){var o;const n=e.trustLevel.replace(/[_-]+/g," "),s=(o=e.source)!=null&&o.source?`Adopted from ${e.source.source}`:"Source has no adoption record";return`Trust: ${n}. ${s}${e.requiresReview?". Review required":""}.`}function I_({value:e,onChange:n,disabled:s}){const[o,l]=w.useState({skills:[],warnings:[]}),[u,d]=w.useState(""),[p,f]=w.useState(!0),[g,y]=w.useState(""),[_,k]=w.useState(0);w.useEffect(()=>{const j=new AbortController;return f(!0),y(""),ft(je("skills"),{signal:j.signal}).then(T=>{j.signal.aborted||l(A_(T))}).catch(T=>{j.signal.aborted||y(Et(T))}).finally(()=>{j.signal.aborted||f(!1)}),()=>j.abort()},[_]);const x=w.useMemo(()=>new Set(e.map(Un).filter(Boolean)),[e]),$=w.useMemo(()=>{const j=u.trim().toLocaleLowerCase();return j?o.skills.filter(T=>`${T.name}
|
|
66
|
+
${T.description}
|
|
67
|
+
${T.trustLevel}`.toLocaleLowerCase().includes(j)):o.skills},[o.skills,u]),C=(j,T)=>{const A=T?[...x,j]:[...x].filter(E=>E!==j);n([...new Set(A)])};return i.jsxs("section",{className:"code-settings-section","aria-labelledby":"code-skills-heading",children:[i.jsx("h3",{id:"code-skills-heading",children:"Skills"}),i.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."}),i.jsxs("label",{className:"code-field",children:["Find a skill",i.jsx("input",{type:"search",value:u,onChange:j=>d(j.target.value),disabled:s||p,placeholder:"Search names, descriptions, or trust"})]}),p?i.jsx("p",{className:"code-muted",role:"status",children:"Loading skills from the gateway…"}):null,g?i.jsxs("div",{className:"code-inline-error",role:"alert",children:["Skill selection is unavailable: ",g," ",i.jsx("button",{className:"code-text-button",type:"button",onClick:()=>k(j=>j+1),disabled:s,children:"Retry"})]}):null,o.warnings.length&&o.skills.length?i.jsxs("details",{className:"code-disabled-tools",children:[i.jsxs("summary",{children:["Gateway reported ",o.warnings.length," skills warning",o.warnings.length===1?"":"s"]}),o.warnings.map((j,T)=>i.jsx("p",{children:j},`${j}:${T}`))]}):null,!p&&!g&&!o.skills.length?i.jsx(T_,{inventory:o}):null,!p&&!g&&o.skills.length&&!$.length?i.jsx("p",{className:"code-muted",children:"No skills match your search."}):null,$.map(j=>{const T=j.reasons.join(" ")||"Blocked by gateway policy.",A=x.has(j.name),E=s||j.blocked;return i.jsxs("label",{className:"code-field",children:[i.jsxs("span",{children:[i.jsx("input",{type:"checkbox",checked:A,disabled:E,onChange:b=>C(j.name,b.target.checked)})," ",i.jsx("strong",{children:j.name})]}),j.description?i.jsx("span",{className:"code-field-help",children:j.description}):null,i.jsx("span",{className:"code-field-help",children:R_(j)}),j.blocked?i.jsxs("span",{className:"code-error-text",children:["Blocked by the gateway: ",T]}):null]},j.name)})]})}function fu(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;const n=[...e.currentTarget.querySelectorAll('button[role="tab"]')].filter(l=>!l.disabled),s=n.indexOf(e.target);if(s<0||!n.length)return;e.preventDefault();const o=e.key==="Home"?0:e.key==="End"?n.length-1:(s+(e.key==="ArrowRight"?1:-1)+n.length)%n.length;n[o].focus(),n[o].click()}function Sp(e,n,s="default"){const o=e.filter(u=>u.enabled&&!u.servedDisabled&&(n.mode==="all"||n.selected.includes(u.name))),l=u=>{const d=n.approval[u.name];if(d==="ask")return!1;if(d==="approve"||s==="all")return!0;const p=["auto","approve"].includes((u.approval||"").trim().toLowerCase());if(s==="default")return p;const f=p?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(f,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 M_(e,n){if(!Array.isArray(n))return e;const s=o=>n.includes(o);return{enabledTools:e.enabledTools.filter(s),autoApproveTools:e.autoApproveTools.filter(s),requireApprovalTools:e.requireApprovalTools.filter(s)}}const pr={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 L_({open:e,onClose:n,tab:s,onTab:o,value:l,onChange:u,policy:d,tools:p,disabled:f,defaultModel:g,workflowDefault:y,streaming:_=jp}){const k=x=>u({...l,...x});return i.jsx(Hc,{open:e,onClose:n,label:"Run settings",title:"Run settings",width:480,topOffset:60,className:"code-settings-drawer",children:i.jsxs("div",{className:"code-settings",children:[i.jsx("p",{className:"code-muted",children:"Settings apply to the next turn. Your gateway enforces the available permissions."}),i.jsx("div",{className:"code-settings-tabs",role:"tablist","aria-label":"Settings sections",onKeyDown:fu,children:["model","workspace","tools","skills"].map(x=>i.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))}),f?i.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"?i.jsxs(i.Fragment,{children:[i.jsxs("section",{className:"code-settings-section",children:[i.jsx("h3",{children:"Model"}),i.jsx(tu,{defaultModeLabel:y?"Workflow default":"Gateway default",value:l,onChange:k,disabled:f,effectiveDefault:g,fetchModelCapabilities:uu.fetchModelCapabilities,enableSpeculation:!0,defaultHint:g?`${y?"Workflow":"Gateway"} default: ${g.provider} · ${g.model}.`:void 0,fetchProviders:async()=>{const x=await Sn.discovery_providers();return Array.isArray(x.providers)?x.providers:Array.isArray(x.items)?x.items:[]},fetchModels:async x=>{const $=await Sn.discovery_provider_models(x);return(Array.isArray($.models)?$.models:Array.isArray($.items)?$.items:[]).map(C=>typeof C=="string"?C:C.id||C.name)}})]}),i.jsxs("section",{className:"code-settings-section",children:[i.jsx("h3",{children:"Behavior"}),i.jsxs("div",{className:"code-field-pair",children:[i.jsxs("label",{className:"code-field",children:["Iteration limit",i.jsx("input",{type:"number",min:1,step:1,placeholder:"Workflow default",value:l.maxIterations,disabled:f,onChange:x=>k({maxIterations:x.target.value})})]}),i.jsxs("label",{className:"code-field",children:["Context token limit",i.jsx("input",{type:"number",min:1,step:1,placeholder:"Gateway default",value:l.maxTokens,disabled:f,onChange:x=>k({maxTokens:x.target.value})})]})]}),i.jsxs("label",{className:"code-field",children:["Additional instructions",i.jsx("textarea",{rows:5,value:l.system,placeholder:"Project conventions or guidance for this conversation…",disabled:f,onChange:x=>k({system:x.target.value})})]}),i.jsx("p",{className:"code-field-help",children:"Reasoning and additional instructions depend on the selected workflow and model."}),i.jsx(P_,{value:l.streamReplies,onChange:x=>k({streamReplies:x}),disabled:f,streaming:_})]})]}):s==="workspace"?i.jsxs("section",{className:"code-settings-section",children:[i.jsx("h3",{children:"Workspace access"}),i.jsxs("div",{className:"code-policy",children:[i.jsx("strong",{children:d!=null&&d.clientWorkspaceScopeOverrides?"Client scope requests enabled":"Managed by your gateway"}),i.jsx("p",{children:d!=null&&d.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."})]}),i.jsxs("dl",{className:"code-facts",children:[i.jsx("dt",{children:"Allowed access modes"}),i.jsx("dd",{children:(d==null?void 0:d.allowedAccessModes.join(", "))||"Gateway default"}),i.jsx("dt",{children:"Available mounts"}),i.jsx("dd",{children:d!=null&&d.mounts.length?d.mounts.map(x=>x.label).join(", "):"Default workspace"})]}),d!=null&&d.clientWorkspaceScopeOverrides?i.jsxs(i.Fragment,{children:[i.jsxs("label",{className:"code-field",children:["Workspace root",i.jsx("input",{value:l.workspaceRoot,placeholder:"Gateway default",disabled:f,onChange:x=>k({workspaceRoot:x.target.value})})]}),i.jsxs("label",{className:"code-field",children:["Access mode",i.jsxs("select",{value:l.workspaceMode,disabled:f,onChange:x=>k({workspaceMode:x.target.value}),children:[i.jsx("option",{value:"",children:"Gateway default"}),d.allowedAccessModes.map(x=>i.jsx("option",{value:x,children:x.replace(/_/g," ")},x))]})]}),l.workspaceMode==="workspace_or_allowed"?i.jsxs("label",{className:"code-field",children:["Additional allowed paths",i.jsx("textarea",{rows:3,value:l.allowedPaths,disabled:f,placeholder:"One path per line",onChange:x=>k({allowedPaths:x.target.value})})]}):null]}):null]}):s==="tools"?i.jsxs("section",{className:"code-settings-section",children:[i.jsxs("label",{className:"code-field",children:["Permissions",i.jsxs("select",{"aria-label":"Permissions",value:l.permissions,disabled:f,onChange:x=>k({permissions:x.target.value}),children:[i.jsx("option",{value:"default",children:"Workflow / Gateway defaults"}),i.jsx("option",{value:"read",children:"Read"}),i.jsx("option",{value:"write",children:"Write"}),i.jsx("option",{value:"all",children:"All enabled tools"})]})]}),i.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."}),i.jsx(zg,{tools:p.filter(x=>x.enabled).map(x=>({...x,default_approval:Sp(p,l.tools,l.permissions).autoApproveTools.includes(x.name)?"approve":"ask"})),value:l.tools,onChange:x=>k({tools:x,toolsCustomized:!0}),disabled:f,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."}),p.some(x=>!x.enabled)?i.jsxs("details",{className:"code-disabled-tools",children:[i.jsxs("summary",{children:[p.filter(x=>!x.enabled).length," tools unavailable under gateway policy"]}),p.filter(x=>!x.enabled).map(x=>i.jsxs("p",{children:[i.jsx("strong",{children:x.name}),i.jsx("br",{}),x.whyDisabled||"Disabled by the gateway"]},x.name))]}):null,i.jsx("button",{className:"code-text-button",disabled:f,onClick:()=>k({toolsCustomized:!1,tools:pr.tools,permissions:"default"}),children:"Use workflow tool defaults"})]}):i.jsx(I_,{value:l.skills,onChange:x=>k({skills:x}),disabled:f})]})})}function P_({value:e,onChange:n,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 i.jsxs(i.Fragment,{children:[i.jsxs("label",{className:"code-field",children:["Stream replies",i.jsxs("select",{"aria-label":"Stream replies","aria-describedby":"code-stream-replies-help",value:e,disabled:s||l,onChange:d=>n(d.target.value),children:[i.jsx("option",{value:"gateway_default",children:g_(o)}),i.jsx("option",{value:"on",children:"On"}),i.jsx("option",{value:"off",children:"Off"})]})]}),i.jsx("p",{id:"code-stream-replies-help",className:"code-field-help","data-streaming":o.status,children:u})]})}async function O_(e){var s;const n=String(e??"");if(!n)return!1;try{if((s=navigator==null?void 0:navigator.clipboard)!=null&&s.writeText)return await navigator.clipboard.writeText(n),!0}catch{}try{const o=document.createElement("textarea");o.value=n,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 D_=3,dh=["KB","MB","GB","TB"];function go(e){const n=Math.max(0,Number(e)||0);if(n<1024)return`${n} B`;let s=n/1024,o=0;for(;s>=1024&&o<dh.length-1;)s/=1024,o+=1;return`${s<10?Math.round(s*10)/10:Math.round(s)} ${dh[o]}`}function fh(e){return`${Math.round(e).toLocaleString("en-US")} bytes`}function Np(e,n){if(!n||!(n>0)||e.size<=n)return null;let s=go(e.size),o=go(n);return s===o&&(s=fh(e.size),o=fh(n)),`${e.name||"This file"} is ${s}; the gateway accepts files up to ${o}.`}function F_(e){return`Upload failed: ${String(e||"").replace(/^attachments_upload failed:?\s*/i,"").trim()||"the gateway did not say why"}`}function z_(e,n,s){return e.map(o=>{const l=Np(o,n);return{id:s(),file:o,name:o.name||"Untitled file",size:o.size,status:l?"refused":"queued",...l?{message:l}:{}}})}async function W_(e,n,s){let o=0;const l=Array.from({length:Math.max(1,Math.min(Math.floor(n)||1,e.length))},async()=>{for(;o<e.length;){const u=e[o];o+=1,await s(u)}});await Promise.all(l)}function Ha(e){return`${e} ${e===1?"file":"files"}`}function hh(e,n){const s=[];return e&&s.push(`${Ha(e)} attached`),n&&s.push(`${Ha(n)} could not be attached`),s.join(", ")}function U_(e){const n=e.filter(l=>l.status==="queued"||l.status==="uploading").length;if(n)return`Wait for ${Ha(n)} to finish uploading.`;const s=e.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.`:`${Ha(s.length)} were not attached. ${o?"Retry or remove":"Remove"} them before sending.`}const ph=1024*1024,B_="1 MiB",mh=e=>je(`runs/${encodeURIComponent(e)}/workspace`),Zc=(e,n)=>fetch(e,{...n,credentials:"same-origin"}),V_=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(" ")),G_=new Set("png jpg jpeg gif webp bmp ico avif svg".split(" "));function H_(e){const n=e.split("/").pop()||e,s=n.lastIndexOf(".");return s>0?n.slice(s+1).toLowerCase():n.toLowerCase()}function gh(e,n=""){const s=H_(e),o=n.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":G_.has(s)||o.startsWith("image/")?"image":s==="html"||s==="htm"||o==="text/html"?"html":V_.has(s)||o.startsWith("text/")||["application/javascript","application/xml","application/x-yaml","application/toml"].includes(o)?"text":"binary"}function K_(e){var n;return e.open_supported===!0&&((n=e.host)==null?void 0:n.caller_is_this_machine)===!0}function J_({info:e,onCopy:n,onOpen:s,opening:o}){var u,d;const l=((u=e.host)==null?void 0:u.caller_is_this_machine)!==!0;return i.jsxs("div",{className:"code-session-workspace",children:[i.jsxs("div",{className:"code-session-workspace-path",children:[i.jsx("code",{title:e.workspace_root,children:e.workspace_root}),i.jsx("button",{className:"code-icon-button","aria-label":"Copy workspace path",title:"Copy path",onClick:n,children:i.jsx(oe,{name:"copy",size:13})})]}),l?i.jsxs("p",{className:"code-field-help",children:["on the gateway host ",((d=e.host)==null?void 0:d.hostname)||"(hostname not reported)"]}):null,e.exists?null:i.jsx("p",{className:"code-field-help",children:"This folder does not exist yet. It appears when the workflow writes its first file."}),K_(e)?i.jsxs("button",{className:"code-subtle-button",onClick:s,disabled:o,children:[i.jsx(oe,{name:"terminal",size:13}),i.jsx("span",{children:o?"Opening…":"Open folder"})]}):null]})}function yh(e,n){return typeof e.size_bytes!="number"?null:Np({name:e.name,size:e.size_bytes},n)}function Q_(e,n){return n?n.status==="refused"?`Not attached: ${n.message||"refused by the gateway's attachment policy"}`:`${e} is uploading; its chip in the message box shows when it is attached.`:`${e} was not queued for upload.`}function Cp(e){const n=e.headers.get("content-range"),s=n?Number(n.split("/")[1]):NaN;if(Number.isFinite(s))return s;const o=Number(e.headers.get("content-length"));return e.status===200&&Number.isFinite(o)&&e.headers.has("content-length")?o:void 0}async function Y_(e,n,s){var g;const o=new TextDecoder;let l="",u=0;const d=(g=e.body)==null?void 0:g.getReader();if(d){for(;u<n;){const{done:y,value:_}=await d.read();if(y)break;const k=_.subarray(0,n-u);u+=k.length,l+=o.decode(k,{stream:!0})}await d.cancel().catch(()=>{})}const p=Cp(e)??s,f=p!==void 0?p>u:u>=n;return{text:l,received:u,total:p,partial:f}}function X_(e){return`Showing the first ${B_} of ${e!==void 0?gp(e):"a file of unknown size"}; download for the rest.`}function Z_(e,n,s){const o=je(`runs/${encodeURIComponent(n)}/workspace/content?`),l=s.split("/").slice(0,-1),u=f=>{if(/^[a-z][a-z0-9+.-]*:/i.test(f)||f.startsWith("/")||f.startsWith("#"))return null;const g=[...l];for(const y of f.split(/[?#]/,1)[0].split("/"))if(!(!y||y==="."))if(y===".."){if(!g.length)return null;g.pop()}else g.push(q_(y));return g.length?po(n,g.join("/")):null},d=f=>{let g="",y=0;for(;y<f.length;){if(f[y]==="!"&&f[y+1]==="["){const _=f.indexOf("]",y+2);if(_!==-1&&f[_+1]==="("){const k=f.indexOf(")",_+2);if(k!==-1){const x=f.slice(y+2,_),$=f.slice(_+2,k).trim(),C=$.startsWith(o)?$:u($);g+=C?``:`[image: ${x||$}](${$})`,y=k+1;continue}}}g+=f[y],y+=1}return g};let p=!1;return e.split(`
|
|
68
|
+
`).map(f=>/^\s*(```|~~~)/.test(f)?(p=!p,f):p?f:d(f)).join(`
|
|
69
|
+
`)}function q_(e){try{return decodeURIComponent(e)}catch{return e}}function ex({entry:e,url:n,state:s,onAttach:o,attaching:l}){return i.jsxs("div",{className:"code-file-preview","aria-label":`Preview of ${e.name}`,children:[i.jsxs("div",{className:"code-file-preview-head",children:[i.jsx("strong",{title:e.path,children:e.name}),i.jsx("a",{className:"code-text-button",href:n,download:e.name,children:"Download"}),i.jsx("button",{className:"code-text-button",onClick:o,disabled:l,children:l?"Attaching…":"Attach to conversation"})]}),s.status==="loading"?i.jsx("p",{className:"code-muted",role:"status",children:"Loading preview…"}):s.status==="error"?i.jsx("p",{className:"code-error-text",role:"alert",children:s.message}):s.status==="ready"?i.jsxs(i.Fragment,{children:[s.partial?i.jsx("p",{className:"code-field-help",role:"status",children:X_(s.total)}):null,s.kind==="image"?i.jsx("img",{className:"code-file-preview-image",src:n,alt:e.name}):s.kind==="markdown"?i.jsx(tp,{text:s.text||""}):s.kind==="json"?i.jsx(tx,{text:s.text||""}):s.kind==="binary"?i.jsx("p",{className:"code-field-help",children:"No preview for this file type. Use Download to open it."}):i.jsx("pre",{className:"code-file-preview-text",children:s.text})]}):null]})}function tx({text:e}){try{return i.jsx(bs,{value:JSON.parse(e),collapseAfterDepth:2})}catch(n){return i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"code-field-help",children:["Not valid JSON (",Et(n),"); shown as text."]}),i.jsx("pre",{className:"code-file-preview-text",children:e})]})}}function nx({runId:e,enabled:n,refreshKey:s,maxAttachmentBytes:o,onAttachFiles:l,heading:u="Conversation workspace"}){const[d,p]=w.useState(null),[f,g]=w.useState(""),[y,_]=w.useState(0),[k,x]=w.useState(""),[$,C]=w.useState(!1),[j,T]=w.useState(null),[A,E]=w.useState({status:"idle"}),[b,P]=w.useState(!1),V=w.useCallback(O=>T(O),[]);if(w.useEffect(()=>{T(null)},[e]),w.useEffect(()=>{if(p(null),g(""),!n||!e)return;const O=new AbortController;return ft(mh(e),{signal:O.signal}).then(de=>p(de)).catch(de=>{O.signal.aborted||g(Et(de))}),()=>O.abort()},[n,e,y]),w.useEffect(()=>{if(!j||!e){E({status:"idle"});return}if(gh(j.name)==="image"){E({status:"ready",kind:"image",partial:!1});return}const de=new AbortController;return E({status:"loading"}),fetch(po(e,j.path),{credentials:"same-origin",signal:de.signal,headers:{Range:`bytes=0-${ph-1}`}}).then(async re=>{var J;if(!re.ok)throw new Error(`Preview failed (${re.status}): ${await re.text()||re.statusText}`);const Q=gh(j.name,re.headers.get("content-type")||"");if(Q==="binary"||Q==="image"){await((J=re.body)==null?void 0:J.cancel().catch(()=>{})),E({status:"ready",kind:Q,partial:!1});return}const B=await Y_(re,ph,j.size_bytes);E({status:"ready",kind:Q,text:Q==="markdown"?Z_(B.text,e,j.path):B.text,partial:B.partial,total:B.total})}).catch(re=>{de.signal.aborted||E({status:"error",message:Et(re)})}),()=>de.abort()},[e,j,s]),!e)return i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(oe,{name:"terminal",size:28}),i.jsx("p",{children:"This conversation's files appear here."}),i.jsx("small",{children:"Start a conversation; the files its workflow creates and edits are listed and previewed here."})]});const G=async()=>{if(!j)return;x("");const O=yh(j,o);if(O){x(`Not attached: ${O}`);return}P(!0);try{const de=new AbortController,re=await fetch(po(e,j.path),{credentials:"same-origin",signal:de.signal});if(!re.ok)throw new Error(`Could not read ${j.name} (${re.status}): ${await re.text()}`);const Q=yh({...j,size_bytes:Cp(re)},o);if(Q){de.abort(),x(`Not attached: ${Q}`);return}const B=await re.blob(),[J]=l([new File([B],j.name,{type:B.type})]);x(Q_(j.name,J))}catch(de){x(Et(de))}finally{P(!1)}};return i.jsxs(i.Fragment,{children:[f?i.jsxs("div",{className:"code-inline-error",role:"alert",children:["Workspace unavailable: ",f,i.jsx("button",{onClick:()=>_(O=>O+1),children:"Retry"})]}):null,d?i.jsx(J_,{info:d,opening:$,onCopy:()=>{O_(d.workspace_root).then(O=>x(O?"Path copied.":"Could not copy; select the path instead."))},onOpen:()=>{C(!0),x(""),ft(`${mh(e)}/open`,{method:"POST"}).then(()=>x("Folder opened on this machine.")).catch(O=>x(`Open folder failed: ${Et(O)}`)).finally(()=>C(!1))}}):null,k?i.jsx("p",{className:"code-field-help",role:"status",children:k}):null,n?i.jsx(wp,{fetchGateway:Zc,runId:e,title:u,onSelectFile:V,selectedPath:j==null?void 0:j.path,refreshKey:`${s??""}:${y}`,className:"code-workspace-browser"},e):null,j?i.jsx(ex,{entry:j,url:po(e,j.path),state:A,attaching:b,onAttach:()=>void G()}):null]})}const rx=new Set(["abstract.progress","abstractcode.progress"]);function ui(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ks(e){const n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?n:null}function sx(e){if(!ui(e))return null;const n=ui(e.effect)?e.effect:null;if(!n||String(n.type||"")!=="emit_event")return null;const s=ui(n.payload)?n.payload:null,o=String((s==null?void 0:s.name)??(s==null?void 0:s.event_name)??"").trim();if(!rx.has(o))return null;const l=ui(e.result)?e.result:null,u=ui(l==null?void 0:l.payload)?l==null?void 0:l.payload:null,d=ui(s==null?void 0:s.payload)?s==null?void 0:s.payload:null,p=u||d;if(!p||String(p.kind||"")!=="llm")return null;const f=String(p.phase||"").trim();return f!=="prefill"&&f!=="generate"&&f!=="complete"?null:p}function ix(e){let n=null;for(const s of e||[]){const o=sx(s);o&&(n=o)}return!n||n.phase==="complete"||n.final===!0?null:n}function pi(e){return Math.round(e).toLocaleString()}function $p(e){if(!e||e.phase!=="prefill")return null;const n=ks(e.prompt_tokens),s=ks(e.prefill_processed_tokens);if(n===null||n<=0||s===null||s<0)return null;const o=Math.min(s,n),l=Math.min(99,Math.round(o/n*100));return{processed:o,total:n,percent:l}}function Ep(e){return`${pi(e.processed)} / ${pi(e.total)} tokens (${e.percent}%)`}function ox(e){if(!e)return"";if(e.phase==="prefill"){const n=$p(e);if(n)return`Prefill · ${Ep(n)}`;const s=ks(e.prompt_tokens);if(s===null||s<=0)return"Prefill";const o=ks(e.cached_tokens),l=ks(e.fed_tokens),u=[];o!==null&&o>0&&u.push(`${pi(o)} cached`),l!==null&&l>0&&u.push(`${pi(l)} new`);const d=u.length?` (${u.join(", ")})`:"";return`Prefill · ${pi(s)} tokens${d}`}if(e.phase==="generate"){const n=ks(e.generated_tokens)??0,s=Math.round(n)===1?"token":"tokens",o=ks(e.tokens_per_second),l=o!==null&&o>0?` · ${Math.round(o)} tok/s`:"";return`Generating · ${pi(n)} ${s}${l}`}return""}function ax(e){return ox(ix(e))}const Ap=new Set(["abstract.progress","abstractcode.progress"]),lx=new Set(["abstract.status","abstractcode.status"]);function Ie(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function hu(e){const n=Ie(e);return!!(n&&n.$slim)}function dt(e){const n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?n:null}function ln(e){return Math.round(e).toLocaleString("en-US")}function It(e,n=120){const s=e.replace(/\s+/g," ").trim();return s.length>n?`${s.slice(0,n-1)}…`:s}function ho(e,n=120){var l,u;if(e==null)return"";if(typeof e=="string")return It(e,n);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return It(e.length===0?"[]":`${e.length} ${e.length===1?"item":"items"}`,n);const s=Ie(e);if(!s)return"";if(hu(s)){const d=String(((l=s.$slim)==null?void 0:l.field)||""),p=dt((u=s.$slim)==null?void 0:u.bytes);return`${d||"payload"} stored${p?` · ${ln(p)} bytes`:""}`}const o=[];for(const[d,p]of Object.entries(s)){const f=typeof p=="string"?It(p,60):typeof p=="number"||typeof p=="boolean"?String(p):Array.isArray(p)?`${p.length} items`:p==null?"":"{…}";if(f&&(o.push(`${d.replace(/_/g," ")} ${f}`),o.join(" · ").length>=n))break}return It(o.join(" · "),n)}function Qa(e){return`${e>=100?String(Math.round(e)):e.toFixed(e<1?2:1).replace(/\.0+$/,"")} s`}function Tp(e,n){const s=Date.parse(String(e||"")),o=Date.parse(String(n||""));if(!Number.isFinite(s)||!Number.isFinite(o))return null;const l=(o-s)/1e3;return l>=0?l:null}function cx(e){const n=String(e||""),s=/T(\d{2}:\d{2}:\d{2})/.exec(n);return s?s[1]:""}function Rp(e){const n=String(e||"").trim();if(!n)return"";const s=n.split("/").pop()||n;return s.length>48?`${s.slice(0,47)}…`:s}function Mt(e,n=" · "){return e.filter(s=>!!s).join(n)}const wh="visual_react_agent_";function ux(e){if(!/^[A-Za-z0-9_-]{8,}$/.test(e))return null;try{const n=e.replace(/-/g,"+").replace(/_/g,"/"),s=atob(n+"=".repeat((4-n.length%4)%4));return!/^[ -~]{3,}$/.test(s)||!/[a-z]/i.test(s)?null:s}catch{return null}}function dx(e){const n=String(e||"").trim();if(!n)return{name:"",node:""};const s=/^([^@]+)@([^:]+)(?::(.+))?$/.exec(n);if(s)return{name:s[1],node:s[3]||""};if(n.startsWith(wh)){const o=n.slice(wh.length),l=/^(.*)_(\d+)_(\d+)_(\d+)_([0-9a-f]{6,12})_(.+)$/.exec(o);if(l){let u=l[1];if(u.includes("__")){const d=u.split("__").filter(Boolean);for(let p=d.length-1;p>=0;p-=1){const f=ux(d[p]);if(f&&f.length>3){u=f;break}}}return{name:u,node:l[6]}}return{name:o,node:""}}return{name:n,node:""}}function fx(e){var s;if(!Array.isArray(e)||!e.length)return"";const n=new Map;for(const o of e){const l=String(((s=Ie(o))==null?void 0:s.name)||"").trim()||"tool";n.set(l,(n.get(l)||0)+1)}return[...n.entries()].map(([o,l])=>l>1?`${o} ×${l}`:o).join(", ")}function hx(e){var p;const n=Ie(e);if(!n)return null;const s=Ie(n.effect);if(!s||String(s.type||"")!=="emit_event")return null;const o=Ie(s.payload),l=String((o==null?void 0:o.name)??(o==null?void 0:o.event_name)??"").trim();if(!Ap.has(l))return null;const u=Ie((p=Ie(n.result))==null?void 0:p.payload),d=Ie(o==null?void 0:o.payload);return u||d}function px(e){if(!e.length)return"";const n=e[e.length-1];let s=null,o=null,l=null,u=null,d=null;for(const y of e)s=dt(y.prompt_tokens)??s,o=dt(y.cached_tokens)??o,l=dt(y.generated_tokens)??l,u=dt(y.tokens_per_second)??u,d=dt(y.elapsed_s)??d;if(n.final===!0||String(n.phase||"")==="complete")return Mt([s!==null?`${ln(s)} tokens in`:null,o!==null&&o>0?`${ln(o)} cached`:null,l!==null?`${ln(l)} out`:null,d!==null?Qa(d):null,u!==null&&u>0?`${Math.round(u)} tok/s`:null]);const f=s!==null?`prefill ${ln(s)} tokens${o!==null&&o>0?` (${ln(o)} cached)`:""}`:"prefill";if(String(n.phase||"")==="prefill"){const y=$p(n);return y?`prefill ${Ep(y)}`:f}const g=Mt([`generating ${ln(l??0)} ${Math.round(l??0)===1?"token":"tokens"}`,u!==null&&u>0?`${Math.round(u)} tok/s`:null]);return`${f} → ${g}`}function mx(e){if(!e.length)return"";const n=e[e.length-1],s=dt(n.step)??dt(n.index),o=dt(n.total)??dt(n.steps),l=dt(n.percent)??dt(n.progress),u=dt(n.frame),d=dt(n.elapsed_s);return Mt([typeof n.label=="string"?It(n.label,60):null,typeof n.phase=="string"&&!n.label?It(n.phase,40):null,s!==null?`step ${ln(s)}${o!==null?`/${ln(o)}`:""}`:null,u!==null?`frame ${ln(u)}`:null,l!==null?`${Math.round(l<=1?l*100:l)}%`:null,d!==null?Qa(d):null])}function vh(e){return e.length?String(e[e.length-1].kind||"")==="llm"?px(e):mx(e):""}function gx(e,n,s){var T;const o=String(e.provider||"").trim(),l=Rp(e.model||(n==null?void 0:n.model)),u=Mt(["llm",o,l])||"llm call";if(!n){const A=Ie(e.params)||{};return{title:u,detail:Mt([dt(A.temperature)!==null?`temperature ${A.temperature}`:null,A.thinking?`thinking ${A.thinking}`:null,(T=Ie(A.speculation))!=null&&T.mode?`speculation ${Ie(A.speculation).mode}`:null])}}const d=Ie(n.usage)||{},p=Ie(n.metadata)||{},f=Ie(p.prompt_cache)||{},g=Ie(p.performance)||{},y=dt(d.prompt_tokens)??dt(d.input_tokens),_=dt(d.completion_tokens)??dt(d.output_tokens),k=dt(f.cached_tokens),x=String(f.outcome||"").trim(),$=Tp(s.started_at,s.ended_at),C=dt(g.generation_tokens_per_second),j=Array.isArray(n.tool_calls)?n.tool_calls.length:0;return{title:u,detail:Mt([y!==null?`${ln(y)} tokens in`:null,k!==null&&k>0?`${ln(k)} cached`:x?`${x} cache`:null,_!==null?`${ln(_)} out`:null,$!==null?Qa($):null,C!==null&&C>0?`${Math.round(C)} tok/s`:null,j?`${j} tool ${j===1?"call":"calls"}`:null])}}function yx(e,n){if(n.length<=60)return It(n,60);if(e==="url")try{const s=new URL(n),o=s.pathname.split("/").filter(Boolean).pop()||"";return It(`${s.host}${o?` · …/${o}`:""}`,72)}catch{}if(e==="file path"||e==="path"){const s=n.split(/[\\/]/).pop()||n;return It(`${s} · ${n.slice(0,24)}…`,60)}return It(n,60)}function wx(e,n){const s=Array.isArray(e.tool_calls)?e.tool_calls:[],o=fx(s),l=Ie(s[0]),u=l?sp(l.arguments):{label:"",value:""},d=Array.isArray(n==null?void 0:n.results)?n.results:[],p=d.filter(g=>{var y;return((y=Ie(g))==null?void 0:y.success)===!0}).length,f=d.length-p;return{title:Mt(["tools",o||"tool call"]),detail:Mt([u.value?`${u.label} ${yx(u.label,u.value)}`:null,d.length?`${p} ok`:null,f>0?`${f} failed`:null])}}function vx(e,n){var g,y;const{name:s,node:o}=dx(e.workflow_id),l=Ie(e.vars),u=l&&!hu(l)?l:null,d=Ie(u==null?void 0:u.context),p=typeof(d==null?void 0:d.task)=="string"?d.task:typeof(u==null?void 0:u.request)=="string"?u.request:"",f=String(((y=Ie((g=Ie(n==null?void 0:n.wait))==null?void 0:g.details))==null?void 0:y.sub_run_id)||"").slice(0,8);return u&&typeof u.state=="string"&&!d?{title:"subflow · status",detail:Mt([It(u.state,80),f&&`run ${f}`])}:p?{title:"subflow · agent loop",detail:Mt([s,It(p,90),f&&`run ${f}`])}:{title:Mt(["subflow",s||"workflow"]),detail:Mt([o,u?ho(u,80):null,f&&`run ${f}`])}}function _x(e,n){const s=e.until,o=Tp(n.started_at,s),l=cx(s);return{title:o!==null?`wait · delay ${Qa(o)}`:`wait · until ${l}`,detail:Mt([o!==null&&l?`until ${l}`:null,e.resume_to_node?`resumes at ${e.resume_to_node}`:null])}}function _h(e){var p;const n=Ie(e)||{},s=Ie(n.effect),o=String((s==null?void 0:s.type)||"").trim(),l=Ie(s==null?void 0:s.payload)||{},u=Ie(n.result);if(o==="emit_event"){const f=String(l.name??l.event_name??"").trim();if(Ap.has(f))return{kind:"progress",title:"progress",detail:"",isProgress:!0,isStatus:!1,isResume:!1,hidden:!0};if(lx.has(f))return{kind:"event",title:"status",detail:ho(l.payload,80),isProgress:!1,isStatus:!0,isResume:!1,hidden:!0};const g=String(l.scope||"").trim();return{kind:"event",title:`event · ${f||"unnamed"}${g?` (${g})`:""}`,detail:ho(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 d={isProgress:!1,isStatus:!1,isResume:!1,hidden:!1};if(o==="llm_call")return{kind:"llm",...gx(l,u,n),...d};if(o==="tool_calls")return{kind:"tools",...wx(l,u),...d};if(o==="start_subworkflow")return{kind:"subflow",...vx(l,u),...d};if(o==="wait_until")return{kind:"wait",..._x(l,n),...d};if(o==="wait_event")return{kind:"wait",title:"wait · event",detail:Mt([typeof l.prompt=="string"?It(l.prompt,90):null,!l.prompt&&l.wait_key?It(String(l.wait_key),70):null]),...d};if(o==="ask_user")return{kind:"ask",title:"ask · your input",detail:It(String(l.prompt||((p=Ie(u==null?void 0:u.wait))==null?void 0:p.prompt)||"").split(`
|
|
70
|
+
`)[0],110),...d};if(o==="answer_user")return{kind:"message",title:"message",detail:It(String(l.message||""),110),...d};if(!o){if((u==null?void 0:u.completed)===!0){const f=Ie(u.output)||{},g=Ie(f.stop_reason)||{},y=dt(f.iterations),_=Mt([String(g.code||f.outcome||"").replace(/_/g," ")||null,y!==null?`${ln(y)} ${y===1?"iteration":"iterations"}`:null]),k=[f.answer,f.response,f.result].find(x=>typeof x=="string"&&x.trim());return{kind:"run",title:"run finished",detail:_||(typeof k=="string"?It(k,110):ho(f,110)),...d}}return{kind:"step",title:String(n.node_id||"workflow step"),detail:"",...d}}return{kind:"step",title:o.replace(/_/g," "),detail:ho(l,110),...d}}function xx(e,n,s){var u,d;const o=Ie(e)||{},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 p=Ie((u=Ie(o.result))==null?void 0:u.wait);return String(((d=Ie(p==null?void 0:p.details))==null?void 0:d.mode)||"")==="approval_required"?{status:"waiting",statusLabel:"approval needed"}:n==="subflow"?{status:"waiting",statusLabel:"waiting for subflow"}:n==="ask"?{status:"waiting",statusLabel:"waiting for you"}:n==="wait"?{status:"waiting",statusLabel:String((p==null?void 0:p.reason)||"")==="until"?"waiting":"waiting for event"}:{status:"waiting",statusLabel:"waiting"}}return l==="started"?{status:"started",statusLabel:"running"}:{status:l||"started",statusLabel:l||"running"}}function kx(e){var l;const n=Ie(e.record)||{},s=String(((l=Ie(n.effect))==null?void 0:l.type)||"(none)"),o=String(n.idempotency_key||n.step_id||e.cursor);return`${e.runId}|${s}|${o}|${n.attempt??1}`}function bx(e){var f;const n=e.map(g=>Ie(g.record)||{}),s=n[n.length-1]||{},o={};for(const g of n){const y=Ie((f=Ie(g.effect))==null?void 0:f.payload);if(y)for(const[_,k]of Object.entries(y))hu(k)&&_ in o||(o[_]=k)}let l=null,u=null,d=null,p=null;for(const g of n)g.result!==null&&g.result!==void 0&&(l=g.result),g.error!==null&&g.error!==void 0&&(u=g.error),!d&&g.started_at&&(d=g.started_at),g.ended_at&&(p=g.ended_at);return{...s,effect:s.effect?{...s.effect,payload:o}:s.effect,result:l,error:u,started_at:d,ended_at:p}}function jx(e){var s,o;const n=[];for(const l of e){const u=Ie((o=Ie((s=Ie(l.record))==null?void 0:s.result))==null?void 0:o.wait),d=String((u==null?void 0:u.wait_key)||"").trim();d&&n.push(d)}return n}function Sx(e,n){return`${e}|${String(n.step_id||n.node_id||"")}`}function Nx(e,n){const s=new Map;for(const u of n){const d=hx(u.record);if(!d)continue;const p=Sx(u.runId,d),f=s.get(p)||{entries:[],payloads:[]};f.entries.push(u),f.payloads.push(d),s.set(p,f)}if(!s.size)return e.map(u=>({...u}));const o=new Set,l=e.map(u=>{const d=u.stepIds.map(x=>`${u.runId}|${x}`).filter(x=>s.has(x));if(!d.length)return{...u};const p=[],f=[];for(const x of d)o.add(x),p.push(...s.get(x).payloads),f.push(...s.get(x).entries);const g=vh(p),y=p[p.length-1],_=y.final===!0||String(y.phase||"")==="complete",k=!(_&&u.status==="completed"&&u.detail);return{...u,progress:k?g:"",progressFinal:_,progressEvents:f.map(x=>Ie(x.record)||{})}});for(const[u,d]of s.entries()){if(o.has(u))continue;const p=d.payloads,f=p[p.length-1],g=String(f.kind||""),y=d.entries[0];l.push({key:`progress:${u}`,runId:y.runId,cursor:d.entries[d.entries.length-1].cursor,kind:"progress",title:Mt(g==="llm"?["llm",String(f.provider||""),Rp(f.model)]:["progress",g]),detail:"",status:f.final===!0||String(f.phase||"")==="complete"?"completed":"started",statusLabel:f.final===!0||String(f.phase||"")==="complete"?"completed":"running",nodeId:String(f.node_id||""),stepIds:[String(f.step_id||"")],progress:vh(p),progressFinal:f.final===!0||String(f.phase||"")==="complete",entries:d.entries,progressEvents:d.entries.map(_=>Ie(_.record)||{}),merged:Ie(d.entries[d.entries.length-1].record)||{}})}return l}function Cx(e){var p,f,g;const n=new Map,s=[],o=[],l=[];for(const y of e||[]){const _=_h(y.record);if(_.isProgress){l.push(y);continue}if(_.isStatus)continue;if(_.isResume){const x=String(((g=(f=Ie((p=Ie(y.record))==null?void 0:p.effect))==null?void 0:f.payload)==null?void 0:g.wait_key)||"").trim();x&&o.push(x);continue}const k=kx(y);n.has(k)||(n.set(k,[]),s.push(k)),n.get(k).push(y)}const u=new Set(o),d=s.map(y=>{const _=n.get(y),k=bx(_),x=_h(k),$=jx(_).some(j=>u.has(j)),C=xx(k,x.kind,$);return{key:y,runId:_[0].runId,cursor:_[_.length-1].cursor,kind:x.kind,title:x.title,detail:x.detail,status:C.status,statusLabel:C.statusLabel,nodeId:String(k.node_id||""),stepIds:[...new Set(_.map(j=>{var T;return String(((T=Ie(j.record))==null?void 0:T.step_id)||"")}).filter(Boolean))],progress:"",progressFinal:!1,entries:_,progressEvents:[],merged:k}});return Nx(d,l)}function $x({tab:e,onTab:n,policy:s,runId:o,records:l,enabled:u,isAdmin:d,refreshKey:p,onAttach:f,onAttachFiles:g,onClose:y}){const[_,k]=w.useState("session"),x=w.useMemo(()=>Cx(l),[l]);return i.jsxs("aside",{className:"code-inspector","aria-label":"Workspace inspector",children:[i.jsxs("div",{className:"code-inspector-heading",children:[i.jsx("span",{children:"WORKSPACE"}),i.jsx("button",{className:"code-icon-button","aria-label":"Close workspace inspector",onClick:y,children:i.jsx(oe,{name:"x",size:15})})]}),i.jsx("div",{className:"code-inspector-tabs",role:"tablist","aria-label":"Workspace views",onKeyDown:fu,children:["files","activity","artifacts"].map($=>i.jsxs("button",{id:`inspector-tab-${$}`,role:"tab",tabIndex:e===$?0:-1,"aria-selected":e===$,"aria-controls":`inspector-panel-${$}`,onClick:()=>n($),children:[$==="files"?"Files":$==="activity"?"Activity":"Artifacts",$==="activity"&&x.length?i.jsx("span",{children:x.length}):null]},$))}),i.jsx("div",{className:"code-inspector-content",id:`inspector-panel-${e}`,role:"tabpanel","aria-labelledby":`inspector-tab-${e}`,children:e==="files"?i.jsxs(i.Fragment,{children:[d?i.jsxs("div",{className:"code-files-mode",role:"group","aria-label":"Files source",children:[i.jsx("button",{"aria-pressed":_==="session",onClick:()=>k("session"),children:"This conversation"}),i.jsx("button",{"aria-pressed":_==="shared",onClick:()=>k("shared"),children:"Shared workspace (admin)"})]}):null,d&&_==="shared"?i.jsx(Ex,{policy:s,enabled:u,runId:o,onAttach:f}):i.jsx(nx,{runId:o,enabled:u,refreshKey:p,maxAttachmentBytes:s==null?void 0:s.maxAttachmentBytes,onAttachFiles:g})]}):e==="activity"?i.jsx(Tx,{rows:x}):i.jsx(Rx,{runId:o,enabled:u})}),i.jsxs("div",{className:"code-inspector-foot",children:[i.jsx(oe,{name:"server",size:14}),i.jsx("span",{children:"Access enforced by your gateway"})]})]})}function Ex({policy:e,enabled:n,runId:s,onAttach:o}){const[l,u]=w.useState(""),[d,p]=w.useState(""),[f,g]=w.useState([]),[y,_]=w.useState(!1),[k,x]=w.useState(""),[$,C]=w.useState(""),[j,T]=w.useState(0),[A,E]=w.useState("");return w.useEffect(()=>{const b=new AbortController;if(g([]),x(""),C(""),!n||!e)return;_(!0);const P=window.setTimeout(()=>{const V=new URLSearchParams({limit:"100"});l.trim()?V.set("query",l.trim()):d&&V.set("path",d),ft(je(`files/${l.trim()?"search":"list"}?${V}`),{signal:b.signal}).then(G=>{if(G.error)throw new Error(String(G.error));g(Array.isArray(G.items)?G.items:[]),(G.truncated||G.has_more)&&C("Showing the first 100 results. Search to narrow the list.")}).catch(G=>{b.signal.aborted||x(Et(G))}).finally(()=>{b.signal.aborted||_(!1)})},l?220:0);return()=>{window.clearTimeout(P),b.abort()}},[n,e,l,d,j,s]),i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"code-pane-intro",children:[i.jsx(oe,{name:"terminal",size:17}),i.jsxs("div",{children:[i.jsx("strong",{children:"Shared workspace (admin)"}),i.jsx("span",{children:d||"Authorized shared workspace"})]}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh files",onClick:()=>T(b=>b+1),disabled:!n,children:i.jsx(oe,{name:"refresh",size:14})})]}),i.jsx("input",{className:"code-search","aria-label":"Search workspace files",placeholder:"Search files…",value:l,onChange:b=>u(b.target.value),disabled:!n}),d?i.jsx("button",{className:"code-back",onClick:()=>{p(d.split("/").slice(0,-1).join("/")),u("")},children:"← Parent folder"}):null,n?null:i.jsx("p",{className:"code-pane-empty",children:"Connect to browse your workspace."}),y?i.jsx("p",{className:"code-muted",role:"status",children:"Loading files…"}):null,k?i.jsxs("div",{className:"code-inline-error",role:"alert",children:[k,i.jsx("button",{onClick:()=>T(b=>b+1),children:"Retry"})]}):null,$?i.jsx("p",{className:"code-field-help",role:"status",children:$}):null,i.jsx("ul",{className:"code-file-list",children:f.map(b=>{const P=b.kind==="folder"||b.is_dir||b.type==="directory"||b.type==="dir";return i.jsx("li",{children:i.jsxs("button",{title:P?`Open ${b.path}`:`Attach ${b.path} to the conversation`,disabled:!!A,onClick:async()=>{if(P){p(b.path),u("");return}E(b.path),x("");try{await o(b.path),C(`${b.name||b.path} attached.`)}catch(V){x(Et(V))}finally{E("")}},children:[i.jsx(oe,{name:P?"chevronRight":"edit",size:14}),i.jsx("span",{children:b.name||b.path}),A===b.path?i.jsx(oe,{name:"loader",size:13}):i.jsx("span",{className:"code-file-action",children:P?"Open":"+"})]})},b.path)})}),!y&&!k&&n&&!f.length?i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(oe,{name:"terminal",size:28}),i.jsx("p",{children:l?"No matching files.":"No shared files yet."}),i.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 Ax={llm:"sparkle",tools:"terminal",subflow:"agent",event:"info",wait:"history",ask:"chat",message:"send",run:"playCircle",progress:"loader",step:"list"};function Tx({rows:e}){return e.length?i.jsx("div",{className:"code-activity",children:e.map(n=>{const s=n.merged,o=s.effect||{};return i.jsxs("details",{className:`code-activity-row code-activity-row--${n.kind}`,children:[i.jsxs("summary",{children:[i.jsx("span",{className:"code-activity-icon","aria-hidden":"true",children:i.jsx(oe,{name:Ax[n.kind],size:14})}),i.jsxs("span",{className:"code-activity-text",children:[i.jsx("span",{className:"code-activity-title",children:n.title}),n.detail?i.jsx("span",{className:"code-activity-sub",children:n.detail}):null,n.progress?i.jsx("span",{className:"code-activity-progress",children:n.progress}):null]}),i.jsx("span",{className:`code-step-dot is-${n.status}`}),i.jsx("small",{children:n.statusLabel})]}),i.jsxs("div",{className:"code-activity-detail",children:[i.jsxs("div",{className:"code-field-help",children:[n.nodeId?`${n.nodeId} · `:"","run ",n.runId.slice(0,8)," ","· ",n.entries.length," ",n.entries.length===1?"record":"records",n.progressEvents.length?` · ${n.progressEvents.length} progress`:""]}),i.jsx(bs,{value:{input:o.payload,result:s.result,error:s.error,records:n.entries.map(l=>l.record),...n.progressEvents.length?{progress:n.progressEvents}:{}},collapseAfterDepth:2})]})]},n.key)})}):i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(oe,{name:"playCircle",size:28}),i.jsx("p",{children:"Follow the work as it happens."}),i.jsx("small",{children:"Workflow steps, tool calls, and results will appear here."})]})}function Rx({runId:e,enabled:n}){const[s,o]=w.useState([]),[l,u]=w.useState(""),[d,p]=w.useState(0);return w.useEffect(()=>{if(o([]),u(""),!e||!n)return;const f=new AbortController;return ft(je(`runs/${encodeURIComponent(e)}/artifacts?limit=200`),{signal:f.signal}).then(g=>o(Array.isArray(g.items)?g.items:Array.isArray(g.artifacts)?g.artifacts:[])).catch(g=>{f.signal.aborted||u(Et(g))}),()=>f.abort()},[e,n,d]),i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"code-pane-intro",children:[i.jsx(oe,{name:"paperclip",size:17}),i.jsxs("div",{children:[i.jsx("strong",{children:"Run artifacts"}),i.jsx("span",{children:"Files and generated output"})]}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh artifacts",onClick:()=>p(f=>f+1),children:i.jsx(oe,{name:"refresh",size:14})})]}),l?i.jsx("p",{role:"alert",className:"code-error-text",children:l}):null,s.map(f=>{var _;const g=f.artifact_id||f.id,y=f.filename||((_=f.metadata)==null?void 0:_.filename)||g;return i.jsxs("button",{className:"code-artifact",onClick:()=>{qv(e,g,y).catch(k=>u(Et(k)))},children:[i.jsx(oe,{name:"download",size:16}),i.jsxs("span",{children:[i.jsx("strong",{children:y}),i.jsx("small",{children:f.content_type||"Artifact"})]})]},g)}),!s.length&&!l?i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(oe,{name:"paperclip",size:28}),i.jsx("p",{children:"Everything the workflow creates."}),i.jsx("small",{children:"Generated files and attachments are stored by the gateway and can be downloaded here."})]}):null]})}const Ix=[["Gateway","checking…"]];function Mx(e){return e?e.ok?Ff(e.value):Ff(null,e.status?`HTTP ${e.status}`:e.message):Ix}const Lx=3e4,Ia=50;function Px(){return wy({fetch:(e,n)=>fetch(e,{...n,credentials:"same-origin"}),baseUrl:"",headers:kp})}function Ox(e){var s;const n=(s=e==null?void 0:e.common)==null?void 0:s.automations;return n&&typeof n=="object"&&n.available===!0?{available:!0,reason:""}:n&&typeof n=="object"&&n.available===!1?{available:!1,reason:"This gateway has the Automations API turned off."}:{available:!1,reason:"This gateway does not advertise the Automations API (capabilities.contracts.common.automations). Update AbstractGateway (0.6.0 or later) to use automations."}}function Dx(e,n){return e===jn?{flow_id:"@default",interface:mi}:!(n!=null&&n.bundleId)||!n.flowId?null:{bundle_ref:n.bundleVersion?`${n.bundleId}@${n.bundleVersion}`:n.bundleId,flow_id:n.flowId}}function Fx(e,n=Date.now()){const s=e.attention.unseen_count>0||e.attention.pending_waits>0;return{id:e.automation_id,title:e.title,cadence:ru(e.trigger),current:Ph(e),next:e.next_fire_at?`${mr(e.next_fire_at)} (${Oh(e.next_fire_at,n)})`:e.status==="paused"?"none while paused":"none scheduled",attention:s?Dh(e):null,legacy:e.legacy===!0||e.capabilities.includes("legacy")}}function zx(e,n){return n?e:e.filter(s=>s.status!=="archived")}function Wx(e,n){if(e==="ask_user"){if(typeof n.response!="string")throw new Error("An ask_user wait is answered with {response: string}.");return{response:n.response}}if(e==="tool_approval"){if(typeof n.approved!="boolean")throw new Error("A tool_approval wait is answered with {approved: true|false}.");return{approved:n.approved}}if(e==="event"){if(!("payload"in n))throw new Error("An event wait is answered with {payload}.");return{payload:n.payload}}throw new Error(`This wait has no known kind (${JSON.stringify(e)}); open its run to answer it.`)}function Ux(e,n,s,o){return{command_id:e,run_id:n,type:"resume",payload:{wait_key:s,payload:o},client_id:"abstractcode-web"}}function Ip(e,n){return`Discussion forked from run #${e}. It works in its own workspace ${n.workspace_root}; the automation's files are mounted read-only at ${n.mounted_workspace} for the file tools (shell commands are not sandboxed), and nothing is written back into the automation's session.`}function hr(e){return iu(e)?e:{status:0,code:"client_error",message:e&&typeof e=="object"&&"message"in e?String(e.message):String(e)}}function zc(e,n){const s=new Map;for(const o of e)s.set(o.run_id,o);for(const o of n)s.set(o.run_id,o);return Array.from(s.values()).sort((o,l)=>l.index-o.index)}const Bx={items:[],loaded:!1,loading:!1,listError:null,error:null,showArchived:!1,selectedId:"",detail:null,triggerSources:[],busy:!1,notice:""};function Vx(e){return async(n,s,o)=>{await ft(je("commands"),{method:"POST",body:JSON.stringify(Ux(e(),n,s,o))})}}class Gx{constructor(n,s,o=[1500,4e3]){gn(this,"state",{...Bx});gn(this,"listeners",new Set);gn(this,"listSeq",0);gn(this,"detailSeq",0);gn(this,"sourcesLoaded",!1);this.client=n,this.answerWaitVia=s,this.followupsMs=o}subscribe(n){return this.listeners.add(n),()=>{this.listeners.delete(n)}}set(n){this.state={...this.state,...n};for(const s of this.listeners)s()}async listAll(){const n=[];let s;for(let o=0;o<200;o+=1){const l=await this.client.listAutomations({...s?{cursor:s}:{},limit:Ia});if(n.push(...l.items),!l.next_cursor)return n;s=l.next_cursor}throw new Error("GET /api/gateway/automations kept returning next_cursor after 200 pages.")}async refresh(){const n=++this.listSeq;this.set({loading:!0});try{const s=await this.listAll();if(n!==this.listSeq)return;const o=this.state.detail,l=o?s.find(u=>u.automation_id===o.automationId):void 0;this.set({items:s,loaded:!0,loading:!1,listError:null,...o&&l?{detail:{...o,summary:l}}:{}}),o&&await this.reloadDetail(o.automationId)}catch(s){if(n!==this.listSeq)return;this.set({loading:!1,loaded:!0,listError:hr(s)})}}setShowArchived(n){this.set({showArchived:n})}async select(n){var l;const s=n.trim(),o=++this.detailSeq;if(!s){this.set({selectedId:"",detail:null});return}this.set({selectedId:s,notice:"",error:null,...((l=this.state.detail)==null?void 0:l.automationId)!==s?{detail:null}:{}});try{const[u,d]=await Promise.all([this.client.getAutomation(s),this.client.listOccurrences(s,{limit:Ia})]);if(o!==this.detailSeq)return;const p=this.state.items.find(f=>f.automation_id===s);if(this.set({detail:{automationId:s,summary:p??u.summary,definition:u.definition,occurrences:zc([],d.items),nextCursor:d.next_cursor}}),!this.sourcesLoaded){const f=await this.client.listTriggerSources();this.sourcesLoaded=!0,this.set({triggerSources:f.items})}}catch(u){if(o!==this.detailSeq)return;this.set({error:hr(u)})}}async reloadDetail(n){const[s,o]=await Promise.all([this.client.getAutomation(n),this.client.listOccurrences(n,{limit:Ia})]),l=this.state.detail;if(!l||l.automationId!==n)return;const u=this.state.items.find(d=>d.automation_id===n);this.set({detail:{...l,summary:u??s.summary,definition:s.definition,occurrences:zc(l.occurrences,o.items),nextCursor:l.occurrences.length>o.items.length?l.nextCursor:o.next_cursor}})}async loadMore(){const n=this.state.detail;if(!(!n||!n.nextCursor))try{const s=await this.client.listOccurrences(n.automationId,{cursor:n.nextCursor,limit:Ia}),o=this.state.detail;if(!o||o.automationId!==n.automationId)return;this.set({detail:{...o,occurrences:zc(o.occurrences,s.items),nextCursor:s.next_cursor}})}catch(s){this.set({error:hr(s)})}}async afterChange(){await this.refresh();for(const n of this.followupsMs)setTimeout(()=>void this.refresh(),n)}async busyCall(n){this.set({busy:!0});try{const s=await n();return await this.afterChange(),s}catch(s){throw hr(s)}finally{this.set({busy:!1})}}command(n,s,o){return this.busyCall(()=>this.client.sendAutomationCommand(n,{type:s,...o?{command_id:o}:{}}))}revise(n,s,o,l){return this.busyCall(()=>this.client.reviseAutomation(n,{changes:s,...o!==null?{expected_revision:o}:{},...l?{command_id:l}:{}}))}async create(n){this.set({busy:!0,error:null});try{const s=await this.client.createAutomation(n);this.set({notice:`Automation created: ${s.summary.title}.`}),await this.refresh(),await this.select(s.automation_id);for(const o of this.followupsMs)setTimeout(()=>void this.refresh(),o);return s}catch(s){throw hr(s)}finally{this.set({busy:!1})}}async discuss(n,s,o,l){this.set({busy:!0});try{const u=await this.client.discuss(n,{occurrence_index:s,prompt:o,...l?{request_id:l}:{}});return this.set({notice:Ip(s,u)}),u}catch(u){throw hr(u)}finally{this.set({busy:!1})}}async seen(n,s){try{await this.client.markSeen(n,s)}catch(o){throw hr(o)}}answerWait(n,s,o){return this.busyCall(async()=>{var u;const l=(((u=this.state.detail)==null?void 0:u.occurrences)||[]).flatMap(d=>d.waits).find(d=>d.run_id===n&&d.wait_key===s);if(!l)throw new Error(`No loaded wait ${s} on run ${n}; reload the automation.`);await this.answerWaitVia(n,s,Wx(l.kind,o))})}rowControls(n){return Ua(n,[],this.state.busy)}reportError(n){this.set({error:hr(n)})}clearNotice(){this.set({notice:"",error:null})}}function Hx(e,n){const s=w.useMemo(()=>new Gx(Px(),Vx(Kr)),[e]),o=w.useSyncExternalStore(d=>s.subscribe(d),()=>s.state),[l,u]=w.useState(()=>typeof document>"u"||document.visibilityState!=="hidden");return w.useEffect(()=>{const d=()=>u(document.visibilityState!=="hidden");return document.addEventListener("visibilitychange",d),()=>document.removeEventListener("visibilitychange",d)},[]),w.useEffect(()=>{if(!e||!n||!l)return;s.refresh();const d=window.setInterval(()=>void s.refresh(),Lx);return()=>window.clearInterval(d)},[s,e,n,l]),{ctl:s,state:o}}function Mp({error:e}){if(!e)return null;const n=su(e);return i.jsxs("p",{className:"code-inline-error",role:"alert","data-code":e.code,children:[i.jsx("strong",{children:n.title})," ",n.detail]})}function Kx(e){const n=e.state,s=zx(n.items,n.showArchived),o=n.items.filter(u=>u.status==="archived").length,l=n.items.reduce((u,d)=>u+d.attention.pending_waits+d.attention.unseen_count,0);return i.jsxs("section",{className:"code-automations","aria-label":"Automations",children:[i.jsxs("div",{className:"code-section-label",children:[i.jsxs("span",{children:["AUTOMATIONS",l?i.jsx("span",{className:"code-auto-badge","data-field":"attention-total",children:l}):null]}),i.jsxs("span",{className:"code-auto-actions",children:[i.jsx("button",{className:"code-icon-button","aria-label":"New automation",title:"New automation (runs the toolbar's workflow on a schedule)",disabled:!e.available.available,onClick:e.onNew,children:i.jsx(oe,{name:"plus",size:13})}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh automations",disabled:!e.available.available||n.loading,onClick:e.onRefresh,children:i.jsx(oe,{name:"refresh",size:13})})]})]}),i.jsxs("div",{className:"code-auto-rows",children:[e.available.available?null:i.jsx("p",{className:"code-history-empty",role:"note","data-unavailable":"true",children:e.available.reason}),i.jsx(Mp,{error:n.listError}),e.available.available&&n.loaded&&!n.items.length?i.jsx("p",{className:"code-history-empty",children:"No automations yet. + runs the toolbar's workflow on a schedule."}):null,s.map(u=>{const d=Fx(u,e.nowMs),p=e.selectedId===u.automation_id;return i.jsxs("button",{className:`code-session code-auto-row${p?" is-selected":""}`,"aria-current":p?"page":void 0,"data-automation-id":u.automation_id,"data-status":u.status,title:`${d.title} — ${d.cadence}`,onClick:()=>e.onSelect(u.automation_id),children:[i.jsx(oe,{name:"history",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:d.title}),i.jsxs("small",{children:[i.jsx("span",{"data-field":"state",children:i.jsx(Vh,{status:u.status})})," ",d.cadence,d.legacy?" · legacy schedule":""]}),d.current?i.jsxs("small",{"data-field":"current",children:["now: ",d.current]}):null,i.jsxs("small",{"data-field":"next",children:["next: ",d.next]}),d.attention?i.jsx("small",{className:"code-auto-attention","data-field":"attention",children:d.attention}):null]})]},u.automation_id)}),o>0?i.jsxs("label",{className:"code-auto-archived",children:[i.jsx("input",{type:"checkbox","data-action":"show-archived",checked:n.showArchived,onChange:u=>e.onShowArchived(u.target.checked)})," Show archived (",o,")"]}):null]})]})}function Jx(e,n){const s=e.state.detail;if(!s)return null;const o=s.automationId;return{summary:s.summary,...s.definition?{definition:s.definition}:{},occurrences:s.occurrences,triggerSources:e.state.triggerSources,busy:e.state.busy,...e.state.error?{error:e.state.error}:{},onRevise:(l,u,d)=>e.revise(o,l,u,d==null?void 0:d.command_id),onCommand:(l,u,d)=>e.command(o,l,d==null?void 0:d.command_id),onDiscuss:async(l,u,d)=>{const p=await e.discuss(o,l,u,d==null?void 0:d.request_id);return n.openConversation(p.session_id,p.run_id,Ip(l,p)),p},onSeen:l=>e.seen(o,l),onLoadMore:()=>void e.loadMore(),onOpenRun:l=>n.openRun(l),onOpenWorkspace:l=>n.openWorkspace(l),onAnswerWait:(l,u,d)=>e.answerWait(l,u,d)}}function Qx(e){const n=e.last_occurrence,s=e.current_occurrence;return[e.occurrence_count,n?`${n.index}:${n.status}:${n.finished_at??""}`:"",s?`${s.index}:${s.status}`:""].join("|")}function Yx(e,n,s){if(n===e)return"Automation folder";const o=s.find(l=>l.run_id===n);return o?`Run #${o.index} folder`:"Run folder"}function Xx(e){const n=e.ctl.state,s=n.detail,[o,l]=w.useState({automationId:"",runId:""}),u=(s==null?void 0:s.automationId)??"",d=o.automationId===u&&o.runId?o.runId:u,p=Jx(e.ctl,{...e.host,openWorkspace:f=>l({automationId:u,runId:f})});return i.jsxs("main",{className:"code-conversation code-automation-main",id:"code-conversation",tabIndex:-1,"aria-label":"Automation",children:[i.jsxs("div",{className:"code-auto-main-head",children:[i.jsxs("button",{className:"code-subtle-button",onClick:e.onClose,children:[i.jsx(oe,{name:"chat",size:14})," ",i.jsx("span",{children:"Back to the conversation"})]}),n.notice?i.jsx("p",{className:"code-field-help",role:"status",children:n.notice}):null]}),s?i.jsxs("div",{className:"code-auto-main-body",children:[p?i.jsx(Lv,{...p,fetchGateway:Zc}):null,e.enabled?i.jsx(wp,{className:"code-auto-folder",fetchGateway:Zc,runId:d,title:Yx(s.automationId,d,s.occurrences),refreshKey:Qx(s.summary),onClose:d!==s.automationId?()=>l({automationId:u,runId:""}):void 0}):null]}):n.error?i.jsx(Mp,{error:n.error}):i.jsx("p",{className:"code-muted",role:"status",children:"Loading the automation…"})]})}function Zx(e){const[n,s]=w.useState();return w.useEffect(()=>{e.open&&s(void 0)},[e.open]),i.jsx(lw,{open:e.open,onClose:e.onClose,target:e.target,workflowPicker:i.jsx("p",{className:"code-field-help","data-field":"target",children:e.target?`Runs ${e.workflowLabel} (the toolbar's workflow).`:"Choose a published workflow in the toolbar first."}),initialPrompt:e.initialPrompt,busy:e.ctl.state.busy,error:n,onSubmit:o=>e.ctl.create(o).then(l=>(e.onCreated(l.automation_id),e.onClose(),l),l=>{throw s(hr(l)),l})})}function Lp(e){return`abstractcode.workspace.v2:${e}`}function qx(e){try{const n=JSON.parse(e||"{}"),s=typeof n.workflow=="string"&&n.workflow.trim()?n.workflow.trim():pr.workflow;return{...pr,...n,workflow:s,showAllWorkflows:n.showAllWorkflows===!0,speculation:Th(n.speculation),streamReplies:c_(n.streamReplies),tools:{...pr.tools,...n.tools}}}catch{return pr}}function ek(e){try{return qx(localStorage.getItem(Lp(e)))}catch{return pr}}function tk(e,n){try{localStorage.setItem(Lp(e),JSON.stringify(n))}catch{}}function nk(e){var f,g;const n=Object.keys(((f=e.schema)==null?void 0:f.properties)||{}),s=((g=e.schema)==null?void 0:g.required)||[],o=[e.promptProperty||"prompt","context","messages","attachments"],l=["provider","model","tools","skills","max_iterations","use_context","use_session_history"],u=bp(e.schema).map(y=>[y.provider,y.model,y.reasoning].filter(_=>!!_)),d=new Set(n.filter(y=>s.includes(y)&&!o.includes(y)));for(const y of u)y.some(_=>d.has(_))&&y.forEach(_=>d.add(_));const p=new Set(n.filter(y=>!d.has(y)&&!o.includes(y)&&!l.includes(y)));for(const y of u)y.some(_=>p.has(_))&&y.forEach(_=>p.add(_));return i.jsxs(i.Fragment,{children:[i.jsxs("section",{className:"code-settings-section","aria-label":"Automatic agent configuration",children:[i.jsx("h3",{children:d.size?"Workflow inputs":"Ready to chat"}),i.jsxs("p",{className:"code-field-help",children:[d.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."]})]}),d.size?i.jsx(qc,{...e,omit:n.filter(y=>!d.has(y)),rawObject:!1}):null,p.size?i.jsxs("details",{className:"code-advanced-inputs",children:[i.jsxs("summary",{children:["Advanced workflow inputs"," ",i.jsx("span",{className:"code-muted",children:"Optional"})]}),i.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."}),i.jsx(qc,{...e,omit:n.filter(y=>!p.has(y)),rawObject:!1})]}):null]})}function rk(e,n,s){var l;if(!s.length)return n;const o=(l=e==null?void 0:e.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{...n,attachments:[...Array.isArray(n.attachments)?n.attachments:[],...s]}}function sk(e){if(!e.trim())return{ok:!0,value:{}};let n;try{n=JSON.parse(e)}catch{return{ok:!1,error:"Enter valid JSON."}}return n===null||typeof n!="object"||Array.isArray(n)?{ok:!1,error:"The workflow input payload must be a JSON object."}:{ok:!0,value:n}}function qc({schema:e,values:n,onChange:s,disabled:o=!1,omit:l=[],rawObject:u=!1,onEditorError:d,defaultModel:p}){const[f,g]=yt.useState("fields"),y=Object.entries((e==null?void 0:e.properties)||{}).filter(([C])=>!l.includes(C)),_=bp(e),k=new Set(_.flatMap(C=>[C.provider,C.model,C.reasoning].filter(Boolean))),x=C=>{g(C),d==null||d("")},$=y.length?i.jsx("div",{className:"code-input-fields",children:y.map(([C,j])=>{const T={...j,type:n_(j)},A=_.find(G=>G.provider===C);if(A)return i.jsxs("section",{className:"code-settings-section",children:[i.jsx("h3",{children:A.title}),i.jsx(tu,{value:{provider:String(n[A.provider]||""),model:String(n[A.model]||""),...A.reasoning?{reasoning:String(n[A.reasoning]||"")}:{}},onChange:G=>s({...n,[A.provider]:G.provider,[A.model]:G.model,...A.reasoning?{[A.reasoning]:G.reasoning||""}:{}}),...o_(A.provider,T["x-abstract-type"]),fetchModelCapabilities:A.reasoning?uu.fetchModelCapabilities:void 0,effectiveDefault:A.provider==="provider"?p:void 0,defaultHint:A.provider==="provider"&&(p!=null&&p.model)?`Gateway default: ${p.provider} · ${p.model}. Workflow defaults take precedence.`:"Empty routing pins inherit the Gateway defaults. Registered workflow defaults are loaded above any Gateway default.",disabled:o})]},C);if(k.has(C))return null;const E=`workflow-input-${C}`,b=String(T.title||C).replace(/_/g," "),P=Array.isArray(e==null?void 0:e.required)&&e.required.includes(C),V=G=>{const O={...n};G===void 0?delete O[C]:O[C]=G,s(O)};return i.jsxs("div",{className:"code-field",children:[i.jsxs("label",{htmlFor:E,children:[b,P?i.jsx("span",{"aria-label":"required",children:" *"}):null]}),T.enum?i.jsxs("select",{id:E,value:n[C]===void 0?"":JSON.stringify(n[C]),disabled:o,onChange:G=>V(G.target.value?JSON.parse(G.target.value):void 0),children:[i.jsxs("option",{value:"",children:["Choose ",b]}),T.enum.map(G=>i.jsx("option",{value:JSON.stringify(G),children:String(G)},JSON.stringify(G)))]}):T.type==="boolean"?i.jsxs("select",{id:E,value:n[C]===void 0?"":String(n[C]),disabled:o,onChange:G=>V(G.target.value?G.target.value==="true":void 0),children:[i.jsx("option",{value:"",children:"Workflow default"}),i.jsx("option",{value:"true",children:"Yes"}),i.jsx("option",{value:"false",children:"No"})]}):T.type==="number"||T.type==="integer"?i.jsx("input",{id:E,type:"number",value:typeof n[C]=="number"?String(n[C]):"",min:T.minimum,max:T.maximum,step:T.type==="integer"?1:"any",disabled:o,onChange:G=>V(G.target.value===""?void 0:Number(G.target.value))}):T.type==="object"||T.type==="array"?i.jsx(ok,{id:E,value:n[C],disabled:o,onChange:V},C):i.jsx("textarea",{id:E,rows:2,value:String(n[C]??""),disabled:o,onChange:G=>V(G.target.value)}),T.description?i.jsx("p",{className:"code-field-help",id:`${E}-help`,children:T.description}):null]},C)})}):i.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?i.jsxs("div",{children:[i.jsxs("div",{className:"code-settings-tabs",role:"tablist","aria-label":"Workflow input editor",onKeyDown:fu,children:[i.jsx("button",{type:"button",role:"tab",tabIndex:f==="fields"?0:-1,"aria-selected":f==="fields",onClick:()=>x("fields"),children:"Fields"}),i.jsx("button",{type:"button",role:"tab",tabIndex:f==="json"?0:-1,"aria-selected":f==="json",onClick:()=>x("json"),children:"JSON payload"})]}),f==="json"?i.jsxs(i.Fragment,{children:[i.jsx(ik,{value:n,disabled:o,onChange:s,onError:C=>d==null?void 0:d(C)}),i.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."})]}):$]}):$}function ik({value:e,onChange:n,onError:s,disabled:o}){const[l,u]=yt.useState(JSON.stringify(e,null,2)),[d,p]=yt.useState(""),f=yt.useRef(e);return yt.useEffect(()=>{e!==f.current&&(f.current=e,u(JSON.stringify(e,null,2)),p(""),s(""))},[e,s]),i.jsxs("div",{className:"code-field",children:[i.jsx("label",{htmlFor:"workflow-input-payload",children:"Complete input object"}),i.jsx("textarea",{id:"workflow-input-payload",className:"code-mono",rows:12,value:l,disabled:o,"aria-invalid":!!d,onChange:g=>{u(g.target.value);const y=sk(g.target.value);if(!y.ok){p(y.error),s(y.error);return}f.current=y.value,p(""),s(""),n(y.value)}}),d?i.jsx("span",{role:"alert",className:"code-error-text",children:d}):null]})}function ok({id:e,value:n,onChange:s,disabled:o}){const[l,u]=yt.useState(n===void 0?"":JSON.stringify(n,null,2)),[d,p]=yt.useState(""),f=yt.useRef(n);return yt.useEffect(()=>{n!==f.current&&(f.current=n,u(n===void 0?"":JSON.stringify(n,null,2)),p(""))},[n]),i.jsxs(i.Fragment,{children:[i.jsx("textarea",{id:e,className:"code-mono",rows:4,value:l,disabled:o,"aria-invalid":!!d,onChange:g=>{u(g.target.value);try{const y=g.target.value.trim()?JSON.parse(g.target.value):void 0;f.current=y,s(y),p("")}catch{f.current=g.target.value,s(g.target.value),p("Enter valid JSON.")}}}),d?i.jsx("span",{role:"alert",className:"code-error-text",children:d}):null]})}function ak({attachments:e,uploads:n,sizes:s,onRemoveAttachment:o,onRemoveUpload:l,onRetryUpload:u}){return i.jsxs("div",{className:"code-attachments",role:"list","aria-label":"Attached files",children:[e.map((d,p)=>{const f=d.filename||d.path||"Attachment",g=typeof d.size_bytes=="number"?d.size_bytes:s==null?void 0:s.get(d.$artifact),y=typeof g=="number"?go(g):"";return i.jsxs("div",{role:"listitem",tabIndex:0,className:"code-attachment is-attached","aria-label":`${f}${y?`, ${y}`:""}, attached`,children:[i.jsx("span",{className:"code-attachment__icon","aria-hidden":"true",children:i.jsx(oe,{name:"paperclip",size:13})}),i.jsxs("span",{className:"code-attachment__body",children:[i.jsx("span",{className:"code-attachment__name",title:f,children:f}),y?i.jsx("span",{className:"code-attachment__meta",children:y}):null]}),i.jsx("button",{type:"button",className:"code-attachment__action","aria-label":`Remove ${f}`,title:`Remove ${f}`,onClick:()=>o(p),children:i.jsx(oe,{name:"x",size:12})})]},`${d.$artifact}:${p}`)}),n.map(d=>{const p=d.status==="queued"||d.status==="uploading",f=d.status==="queued"?`Waiting · ${go(d.size)}`:d.status==="uploading"?`Uploading · ${go(d.size)}`:d.message||"Not attached",g=d.status==="queued"?"waiting to upload":d.status==="uploading"?"uploading":`not attached: ${f}`;return i.jsxs("div",{role:"listitem",tabIndex:0,className:`code-attachment is-${d.status}`,"aria-label":`${d.name}, ${g}`,"aria-busy":p||void 0,children:[i.jsx("span",{className:"code-attachment__icon","aria-hidden":"true",children:p?i.jsx("span",{className:"code-attachment__spinner"}):i.jsx(oe,{name:"warning",size:13})}),i.jsxs("span",{className:"code-attachment__body",children:[i.jsx("span",{className:"code-attachment__name",title:d.name,children:d.name}),i.jsx("span",{className:"code-attachment__meta",children:f})]}),d.status==="failed"?i.jsxs("button",{type:"button",className:"code-attachment__action code-attachment__retry","aria-label":`Retry ${d.name}`,title:"Retry upload",onClick:()=>u(d.id),children:[i.jsx(oe,{name:"refresh",size:12}),i.jsx("span",{children:"Retry"})]}):null,i.jsx("button",{type:"button",className:"code-attachment__action","aria-label":`Remove ${d.name}`,title:`Remove ${d.name}`,onClick:()=>l(d.id),children:i.jsx(oe,{name:"x",size:12})})]},d.id)})]})}function lk({active:e,paused:n,snapshot:s,onRevokeApproval:o,onCommand:l,onActivity:u,onInteraction:d,permissionsAll:p}){const f=w.useMemo(()=>Gw(s),[s]),y=w.useMemo(()=>f.tone==="working"?ax(s.records.map(j=>j.record)):"",[f.tone,s.records])||f.detail,[_,k]=w.useState(Date.now);w.useEffect(()=>{if(!e)return;const j=window.setInterval(()=>k(Date.now()),1e3);return()=>window.clearInterval(j)},[e]);const x=Date.parse(f.startedAt||""),$=Number.isFinite(x)?Math.max(0,Math.floor((_-x)/1e3)):null,C=$===null?"":$<60?`${$}s`:`${Math.floor($/60)}m ${$%60}s`;return i.jsxs("div",{className:`code-run-strip code-run-strip--${f.tone}`,children:[i.jsxs("div",{className:"code-run-strip__activity",role:"status","aria-live":"polite",children:[i.jsx("span",{className:"code-run-strip__icon","aria-hidden":"true",children:i.jsx(oe,{name:f.tone==="working"?"loader":f.tone==="success"?"check":f.tone==="error"?"error":f.tone==="waiting"?"history":"info",size:15})}),d&&f.tone==="waiting"?i.jsxs("button",{className:"code-run-strip__attention",onClick:d,title:"Go to the pending request",children:[i.jsx("strong",{children:f.label}),i.jsx(oe,{name:"chevronRight",size:12})]}):i.jsx("strong",{children:f.label}),i.jsx("span",{className:"code-run-strip__detail",title:y,children:y})]}),i.jsxs("span",{className:"code-run-strip__metrics","aria-label":"Run activity metrics",children:[e&&C?i.jsx("span",{children:C}):null,f.toolCalls?i.jsxs("span",{children:[f.toolCalls," ",f.toolCalls===1?"tool":"tools"]}):null,f.totalTokens!==void 0?i.jsxs("span",{children:[f.totalTokens.toLocaleString()," tokens"]}):null]}),e?i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>l(n?"resume":"pause"),children:n?"Resume":"Pause"}),i.jsx("button",{onClick:()=>l("conclude"),children:"Conclude"})]}):null,i.jsxs("button",{onClick:u,children:["View activity ",i.jsx(oe,{name:"chevronRight",size:12})]}),p?i.jsxs("div",{className:"code-run-strip__consent",children:[i.jsx(oe,{name:"check",size:13}),i.jsx("span",{children:"Permissions: all · enabled tools only"}),i.jsx("button",{onClick:o,children:"Revoke"})]}):null]})}function ck({runId:e,sessionId:n,capability:s,scope:o,preferences:l,onTranscript:u,onError:d}){var _,k;const p=w.useRef(!0),f=w.useRef(o);f.current=o,w.useEffect(()=>(p.current=!0,()=>{p.current=!1}),[]);const g=()=>{if(!p.current||f.current!==o)throw new Error("Voice session changed.")},y=hy({tts:((_=s.tts)==null?void 0:_.available)===!0&&e?async x=>{g();const $=await ft(je(`runs/${encodeURIComponent(e)}/voice/tts`),{method:"POST",body:JSON.stringify({text:x,request_id:Kr(),...Object.fromEntries(Object.entries(l).filter(([,T])=>T!==""&&T!==void 0))})});g();const C=$==null?void 0:$.audio_artifact;if(!(C!=null&&C.$artifact))throw new Error("The gateway did not return an audio artifact.");const{blob:j}=await Sn.get_run_artifact_blob(String(C.run_id||$.child_run_id||e),C.$artifact,{max_bytes:25e6});return g(),j.arrayBuffer()}:void 0,transcribe:((k=s.stt)==null?void 0:k.available)===!0&&e?async(x,$)=>{var b;g();const C=Number(((b=s.stt)==null?void 0:b.max_upload_bytes)||0);if(C>0&&x.size>C)throw new Error("Recording exceeds the gateway's upload limit. Try a shorter recording.");const j=$.includes("mp4")?"m4a":$.includes("ogg")?"ogg":$.includes("wav")?"wav":"webm",T=new File([x],`recording.${j}`,{type:$||"audio/webm"}),A=await Sn.attachments_upload(n,T);g();const E=await Sn.audio_transcribe(e,{audio_artifact:A,request_id:Kr()});return g(),String(E.text||"")}:void 0,on_transcript:x=>{p.current&&f.current===o&&u(x)},on_error:x=>{p.current&&f.current===o&&d(x)}});return w.useEffect(()=>{var x;return y.stop_tts(),(x=y.cancel_voice_ptt_recording)==null||x.call(y),()=>{var $;y.stop_tts(),($=y.cancel_voice_ptt_recording)==null||$.call(y)}},[o,y.stop_tts,y.cancel_voice_ptt_recording]),y}function uk({voice:e,runId:n,capability:s,answer:o,onSettings:l}){var g,y,_,k,x;const u=w.useRef(!1),d=w.useRef(!0);w.useEffect(()=>(d.current=!0,()=>{d.current=!1,u.current=!1}),[]);const p=()=>{u.current=!0,e.start_voice_ptt_recording().then(()=>{(!u.current||!d.current)&&e.stop_voice_ptt_recording()})},f=()=>{u.current=!1,e.stop_voice_ptt_recording()};return w.useEffect(()=>(window.addEventListener("pointerup",f),window.addEventListener("pointercancel",f),window.addEventListener("blur",f),()=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f),window.removeEventListener("blur",f)}),[e.stop_voice_ptt_recording]),!((g=s.tts)!=null&&g.available)&&!((y=s.stt)!=null&&y.available)?null:i.jsxs(i.Fragment,{children:[(_=s.stt)!=null&&_.available?i.jsx("button",{className:"code-icon-button","aria-label":e.voice_ptt_recording?"Recording — release to transcribe":"Hold to dictate",title:n?"Hold to dictate (Space or Enter on keyboard)":"Start a conversation to enable dictation",disabled:!e.voice_ptt_supported||e.voice_ptt_busy,"aria-pressed":e.voice_ptt_recording,onPointerDown:$=>{$.button===0&&p()},onPointerUp:f,onPointerCancel:f,onKeyDown:$=>{[" ","Enter"].includes($.key)&&!$.repeat&&($.preventDefault(),p())},onKeyUp:$=>{[" ","Enter"].includes($.key)&&($.preventDefault(),f())},onBlur:f,children:i.jsx(oe,{name:e.voice_ptt_busy?"loader":"mic",size:15})}):null,(k=s.tts)!=null&&k.available?i.jsx("button",{className:"code-icon-button","aria-label":e.tts_playback.status==="playing"?"Pause spoken reply":e.tts_playback.status==="paused"?"Resume spoken reply":"Read latest reply aloud",disabled:!e.tts_supported||!o||e.tts_playback.status==="loading",onClick:()=>{o&&e.toggle_tts(["playing","paused"].includes(e.tts_playback.status)?e.tts_playback.key:o.id||"latest",o.content)},children:i.jsx(oe,{name:e.tts_playback.status==="playing"?"pause":e.tts_playback.status==="loading"?"loader":"speaker",size:15})}):null,e.tts_playback.status!=="idle"?i.jsx("button",{className:"code-icon-button","aria-label":"Stop spoken reply",onClick:e.stop_tts,children:i.jsx(oe,{name:"x",size:14})}):null,l&&((x=s.tts)!=null&&x.available)?i.jsx("button",{className:"code-icon-button","aria-label":"Voice settings",title:"Voice settings",onClick:l,children:i.jsx(oe,{name:"settings",size:14})}):null,e.voice_ptt_recording||e.voice_ptt_busy?i.jsx("span",{role:"status",children:e.voice_ptt_recording?"Recording…":"Transcribing…"}):null]})}function Wc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function Ma(e){return typeof e=="string"?e.trim():""}function dk(e){const n=Wc(e),s=Wc(n==null?void 0:n.gateway),o=Wc(s==null?void 0:s.principal);return JSON.stringify([Ma((n==null?void 0:n.gateway_url)??(n==null?void 0:n.gatewayUrl)),Ma((o==null?void 0:o.tenant_id)??(o==null?void 0:o.tenantId)),Ma((o==null?void 0:o.runtime_id)??(o==null?void 0:o.runtimeId)),Ma((o==null?void 0:o.user_id)??(o==null?void 0:o.userId))||"session"])}function xh(e,n){return!!e.sourceRunId&&e.sessionId===n.sessionId&&e.sessionId===n.snapshotSessionId&&e.sourceRunId===n.runId&&e.sourceRunId===n.snapshotRunId&&e.authEpoch===n.authEpoch}function fk(e){const n=typeof e=="string"?e.trim().toLowerCase():"";return["completed","complete","done"].includes(n)?"advance":["failed","error","cancelled","canceled"].includes(n)?"pause":"wait"}function hk(e,n,s){return e.flatMap(o=>o.id===n.id?[]:o.sessionId!==n.sessionId||o.authEpoch!==n.authEpoch||o.sourceRunId!==n.sourceRunId?[o]:[{...o,sourceRunId:s}])}function kh(){return new DOMException("The conversation changed before the run was attached.","AbortError")}const pk=Yg("abstractcode","0.6.2"),Uc=e=>["completed","failed","cancelled","canceled"].includes(e);function bh(){const e=new URLSearchParams(window.location.hash.replace(/^#/,""));return{sessionId:e.get("session")||Kr(),runId:e.get("run")||""}}function lo(e,n=""){const s=new URLSearchParams({session:e});n&&s.set("run",n),window.history.replaceState(null,"",`#${s}`)}function mk(){var Nr,En,Ao,$i,Cr,To,Ei,is,Ai,Ro,$r,Er,tr,os,Io,Mo,Ps,as,Os,Ti;const e=Gg({appName:"AbstractCode",variant:"blocking"}),n=e.connected?dk(e.status):"",s=w.useCallback(()=>{e.refresh()},[e.refresh]),o=C_(n,s),[l,u]=oy("abstractcode",{defaults:{theme:"observer-night"}}),[d,p]=w.useState(!1),[f,g]=w.useState(),y=w.useCallback(()=>{g(void 0),ft(je("about")).then(I=>g({ok:!0,value:I})).catch(I=>g({ok:!1,status:I==null?void 0:I.status,message:Et(I)}))},[]),[_,k]=w.useState(!1),[x,$]=w.useState({});w.useEffect(()=>{try{$(JSON.parse(localStorage.getItem(`abstractcode.voice:${n}`)||"{}"))}catch{$({})}k(!1)},[n]);const C=I=>{if($(I),n)try{localStorage.setItem(`abstractcode.voice:${n}`,JSON.stringify(I))}catch{}},[j,T]=w.useState(pr),A=w.useRef(j);A.current=j;const E=u_(j.streamReplies,o.streaming),[b,P]=w.useState(pr.workflow),V=w.useMemo(()=>__(o.choices,j.showAllWorkflows),[o.choices,j.showAllWorkflows]),G=w.useMemo(()=>v_(o.gatewayDefault,o.workflows),[o.gatewayDefault,o.workflows]),O=b===jn?G:o.workflows.find(I=>I.id===b)||null,[de,re]=w.useState(null),Q=lu(O),[B,J]=w.useState(bh),[fe,ae]=w.useState(""),[we,ye]=w.useState(""),[Z,Y]=w.useState(""),[H,N]=w.useState(!1),L=w.useRef(!1),[z,W]=w.useState([]),[ee,le]=w.useState([]),he=w.useRef(new Set),ue=w.useRef(new Map),[Ae,Be]=w.useState(""),ct=w.useRef(null),[te,se]=w.useState(),[me,Oe]=w.useState(!1),[ve,Me]=w.useState(""),[ze,tt]=w.useState(0),[K,pe]=w.useState({}),[Pe,Ge]=w.useState(""),[Ve,Hn]=w.useState(null),[Lt,Nn]=w.useState(""),[Kn,Cn]=w.useState(!1),[Qr,gr]=w.useState(!1),[Ya,gi]=w.useState("model"),[Yr,yi]=w.useState(()=>window.innerWidth>1120),[wi,Ns]=w.useState("files"),[yr,Kt]=w.useState(!1),Cs=Ox(o.capabilities),{ctl:un,state:Pn}=Hx(n,e.connected&&Cs.available),[wr,vr]=w.useState(!1),[vo,vi]=w.useState(!1),$s=w.useRef(""),[Xr,_o]=w.useState(""),_r=w.useRef(null),[Jn,Zr]=w.useState("steer"),[Qn,Jt]=w.useState([]),[xr,Qt]=w.useState(!1),[Es,_i]=w.useState([]),As=w.useMemo(()=>Sp(o.tools,j.tools,j.permissions),[o.tools,j.tools,j.permissions]),xi=w.useRef(null),Yn=w.useMemo(()=>{var De,Le;const I=((De=xi.current)==null?void 0:De.runId)===B.runId?xi.current.input:null;if(B.runId&&!Ve&&!I)return{enabledTools:[],autoApproveTools:[]};const X=Ve?Ve.input_data:I,Ne=M_(As,(Le=X==null?void 0:X._runtime)==null?void 0:Le.allowed_tools);return{...Ne,autoApproveTools:j.toolsCustomized||j.permissions!=="default"?Ne.autoApproveTools:[]}},[As,Ve,B.runId,j.toolsCustomized,j.permissions]),Ts=`${n}:${B.sessionId}:${B.runId}`,ki=w.useRef(Ts);ki.current=Ts;const xo=w.useRef(null),[bi,ko]=w.useState({scope:"",notes:[]}),bo=w.useMemo(()=>E_({onDeltaError:I=>{const X=ki.current,Ne=h_(I,xo.current);ko(De=>({scope:X,notes:p_(De.scope===X?De.notes:[],Ne)}))}}),[]),{controller:On,snapshot:We}=hv({transport:bo,runId:B.runId,enabled:e.connected,onAuthError:s,clientId:"abstractcode-web",authScopeKey:n,toolApprovalPolicy:Yn}),dn=!!B.runId&&!Uc(We.status)&&We.status!=="idle",nt=((Nr=We.run)==null?void 0:Nr.paused)===!0||We.status==="paused",Xn=dn||H,kr=We.loading&&Es.length?Es:We.messages,qr=kr[kr.length-1];xo.current=qr!=null&&qr.id?String(qr.id):null;const fn=m_(kr,[d_(j.streamReplies,o.streaming,kr),...bi.scope===Ts?bi.notes:[]]),jo=((Ao=(En=o.capabilities)==null?void 0:En.assistant)==null?void 0:Ao.voice)||{},Zn=ck({scope:`${n}:${B.sessionId}:${B.runId}`,runId:n?B.runId:"",sessionId:B.sessionId,capability:jo,preferences:x,onTranscript:I=>ae(X=>X?`${X.trimEnd()}
|
|
71
|
+
${I}`:I),onError:ye}),es=cv(We),ht=w.useMemo(()=>Pv(es,On,{records:We.records,currentRun:We.run,onPermissionsAll:async()=>{T(I=>({...I,permissions:"all"}))}}),[es,We.records,We.run,On]),So=!!ht&&Jn==="steer",pt=Q?"prompt":r_(te),No=Q||!!(pt&&!(($i=te==null?void 0:te.required)!=null&&$i.some(I=>I!==pt))),br=String(((Cr=Ve==null?void 0:Ve.workspace)==null?void 0:Cr.workspace_root)||((Ei=(To=We.run)==null?void 0:To.vars)==null?void 0:Ei.workspace_root)||""),ts=w.useMemo(()=>{var I;return Bv(o.workflows,{inputData:Ve,runWorkflowId:(I=We.run)==null?void 0:I.workflow_id})},[o.workflows,Ve,(is=We.run)==null?void 0:is.workflow_id]),qn=B.runId&&Ve&&!o.loading&&We.run&&!ts&&du(Ve)!=="gateway_default"?"This conversation's exact workflow version is unavailable. Restore it in the gateway, or start a new conversation with an available workflow.":"",Pt=o.sessions.find(I=>I.sessionId===B.sessionId),jr=(Pt==null?void 0:Pt.prompt)||((Ai=fn.find(I=>I.role==="user"))==null?void 0:Ai.content)||"New conversation",Rs={openConversation:(I,X,Ne)=>{$s.current=Ne||"",He(I,X)},openRun:I=>{ft(je(`runs/${encodeURIComponent(I)}`)).then(X=>{if(!(X!=null&&X.session_id))throw new Error(`The gateway reported no session for run ${I}.`);He(X.session_id,I)}).catch(X=>un.reportError(X))}},Co=((Ro=Pn.detail)==null?void 0:Ro.summary.title)||"Automation",ji=w.useRef(""),er=w.useRef(n),wt=w.useRef(0);er.current!==n&&(wt.current+=1,er.current=n);const ns=w.useRef(!1),mt=w.useRef(B);mt.current=B,w.useEffect(()=>{if(L.current=!1,N(!1),le([]),ye(""),Y(""),!n){W([]),ae(""),Jt([]),Qt(!1),_i([]),T(pr);return}if(ji.current&&ji.current!==n){const X={sessionId:Kr(),runId:""};J(X),lo(X.sessionId)}ji.current=n,ns.current=!0;const I=ek(n);T(I),P(I.workflow)},[n]),w.useEffect(()=>{if(n){if(ns.current){ns.current=!1;return}tk(n,j)}},[j,n]),w.useEffect(()=>{if(o.loading||!o.workflows.length)return;const I=x_({selection:b,preferred:j.workflow,visible:V,workflows:o.workflows,runId:B.runId});I!==b&&P(I)},[o.loading,o.workflows,V,b,j.workflow,B.runId]),w.useEffect(()=>{let I=!0;if(pe({}),Ge(""),se(void 0),Me(""),!O){Oe(!1);return}return Oe(!0),$_(O).then(X=>{I&&(se(X),pe(fo(X)))}).catch(X=>{I&&Me(Et(X))}).finally(()=>{I&&Oe(!1)}),()=>{I=!1}},[O==null?void 0:O.id,ze]),w.useEffect(()=>{if(Hn(null),Nn(""),!n||!B.runId)return;const I=new AbortController;return ft(je(`runs/${encodeURIComponent(B.runId)}/input_data`),{signal:I.signal}).then(X=>{Hn(X)}).catch(X=>{I.signal.aborted||Nn(Et(X))}),()=>I.abort()},[B.runId,n]),w.useEffect(()=>{Ve&&Ve.flow_id===(O==null?void 0:O.flowId)&&te&&pe({...fo(te),...e_(te,Ve.input_data)})},[Ve,te,O==null?void 0:O.flowId]),w.useEffect(()=>{!B.runId&&e.connected&&(Pt!=null&&Pt.latestRunId)&&J(I=>({...I,runId:Pt.latestRunId}))},[B.runId,e.connected,Pt==null?void 0:Pt.latestRunId]),w.useEffect(()=>{lo(B.sessionId,B.runId),L.current=!1,N(!1),le([]),W([]),_i([]),Y($s.current),$s.current="",ye(""),Jt([]),Qt(!1)},[B.sessionId]),w.useEffect(()=>{const I=()=>{const X=bh();L.current=!1,N(!1),le([]),Jt([]),Qt(!1),ae(""),J(X)};return window.addEventListener("hashchange",I),()=>window.removeEventListener("hashchange",I)},[]),w.useEffect(()=>{!B.runId||!Uc(We.status)||o.refresh()},[B.runId,We.status]),w.useEffect(()=>{if(!B.runId||!Ve)return;const I=k_({restoredInputs:Ve,restored:ts});I&&P(I)},[B.runId,Ve,ts==null?void 0:ts.id]);const Si=B.runId?b_(Ve):"",Sr=w.useCallback(()=>{const I={sessionId:Kr(),runId:""};J(I),P(A.current.workflow),lo(I.sessionId),ae(""),Jt([]),Qt(!1),Kt(!1),vr(!1)},[]),He=w.useCallback((I,X)=>{L.current=!1,N(!1),le([]),J({sessionId:I,runId:X}),lo(I,X),Kt(!1),Jt([]),Qt(!1),ae(""),vr(!1)},[]);w.useEffect(()=>{const I=X=>{var Ne;if(X.key==="Escape"&&yr){Kt(!1),(Ne=document.querySelector(".code-mobile-nav"))==null||Ne.focus();return}(X.metaKey||X.ctrlKey)&&(X.key.toLowerCase()==="k"&&(X.preventDefault(),Kt(!0),window.setTimeout(()=>{var De;return(De=_r.current)==null?void 0:De.focus()},0)),X.key.toLowerCase()==="n"&&X.shiftKey&&(X.preventDefault(),Sr()))};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[Sr,yr]);async function rs(I){if(L.current)throw new Error("A turn is already being submitted.");if(!e.connected)throw new Error("Connect to your gateway first.");if(b===jn&&o.gatewayDefault.status==="unavailable")throw new Error(`Gateway default: ${o.gatewayDefault.reason}. Choose a workflow from the list.`);if(!O)throw new Error("Choose a workflow first.");if(!o.policy)throw new Error("Workspace policy is unavailable. Reconnect or refresh before starting.");if(B.runId&&(!Ve||Lt))throw new Error(Lt||"Wait for the gateway to restore this conversation's workspace.");if(qn)throw new Error(qn);if(me||ve)throw new Error(ve||"Wait for workflow inputs to load.");if(Pe)throw Cn(!0),new Error(Pe);const X=U_(ee);if(X)throw new Error(X);if(dn)throw new Error("The current run is still active.");if(!Q&&I.trim()&&!pt)throw Cn(!0),new Error("This workflow uses structured inputs. Configure its inputs, then select Run workflow.");const Ne={...fo(te),...K,...pt&&I.trim()?{[pt]:I.trim()}:{}},De=Q?Ne:rk(te,Ne,z);for(const[Ot,St]of[["Iteration limit",j.maxIterations],["Context token limit",j.maxTokens]])if(St&&(!Number.isInteger(Number(St))||Number(St)<=0))throw new Error(`${Ot} must be a positive whole number.`);L.current=!0,N(!0),ye(""),Y("");const Le=B.sessionId,xt=B.runId,nr=n,vt=wt.current;let ot="";try{const Ot=Jv({workflow:O,inputSchema:te,schemaInputs:De,prompt:I,promptProperty:pt,model:j,reasoning:j.reasoning||void 0,speculation:j.speculation,streamReplies:E,systemPromptExtra:j.system||void 0,attachments:z,limits:{maxIterations:j.maxIterations?Number(j.maxIterations):void 0,maxTokens:j.maxTokens?Number(j.maxTokens):void 0},workspace:o.policy.clientWorkspaceScopeOverrides?{root:j.workspaceRoot||br||void 0,accessMode:j.workspaceMode||void 0,allowedPaths:j.allowedPaths.split(`
|
|
72
|
+
`).filter(Boolean)}:br?{root:br}:void 0,tools:j.toolsCustomized?As.enabledTools:void 0,toolPolicy:j.toolsCustomized||j.permissions!=="default"?{autoApproveTools:[],requireApprovalTools:As.enabledTools}:void 0,skills:j.skills.length?j.skills:void 0}),St=s_(te,Ot);if(St.length)throw Cn(!0),new Error(St.join(" "));const rr=j_({selection:b,workflow:O,sessionId:Le,input:Ot}),yn=await ft(je("runs/start"),{method:"POST",body:JSON.stringify(rr)});if(!yn.run_id)throw new Error("The gateway did not return a run identifier.");if(mt.current.sessionId!==Le||mt.current.runId!==xt||er.current!==nr||wt.current!==vt)throw kh();return ot=String(yn.run_id),xi.current={runId:ot,input:Ot},re({runId:ot,...S_(yn.resolved_workflow)}),_i([...fn,...I.trim()?[{id:`pending:${yn.run_id}`,role:"user",content:I.trim()}]:[]]),J({sessionId:Le,runId:yn.run_id}),lo(Le,yn.run_id),ae(""),W([]),Cn(!1),yn.runner_warning&&Y(String(yn.runner_warning)),o.refresh(),ot}finally{mt.current.sessionId===Le&&(mt.current.runId===xt||mt.current.runId===ot)&&er.current===nr&&wt.current===vt&&(L.current=!1,N(!1))}}async function $o(I){if(!dn)return rs(I);if(Jn==="queue")Jt(X=>[...X,{id:Kr(),text:I,sessionId:B.sessionId,sourceRunId:B.runId,authEpoch:wt.current}]),Qt(!0),ae(""),Y("Queued for the next turn.");else{if(ht)throw new Error("Answer the pending workflow request above, or choose Queue next turn.");const X=B.sessionId,Ne=B.runId,De=wt.current;if(await On.sendCommand("inject_guidance",{guidance:I}),mt.current.sessionId!==X||mt.current.runId!==Ne||wt.current!==De)return;ae(""),Y("Guidance queued. The workflow will read it at its next supported boundary.")}}async function Is(I){var De,Le;const X=String(((De=We.run)==null?void 0:De.run_id)||"");if(!xh(I,{sessionId:B.sessionId,runId:B.runId,snapshotRunId:X,snapshotSessionId:String(((Le=We.run)==null?void 0:Le.session_id)||""),authEpoch:wt.current}))throw kh();const Ne=await rs(I.text);Jt(xt=>hk(xt,I,Ne))}w.useEffect(()=>{var Ne,De;if(!xr||!Qn.length||!e.connected||!Ve||Lt||L.current)return;const I=fk(We.status);if(I==="wait")return;if(I==="pause"){Qt(!1);const Le=["failed","error"].includes(We.status.toLowerCase());Y(`Queue paused because the run ${Le?"failed":"was cancelled"}. Review the result, then use Run next to continue explicitly.`);return}const X=Qn[0];xh(X,{sessionId:B.sessionId,runId:B.runId,snapshotRunId:String(((Ne=We.run)==null?void 0:Ne.run_id)||""),snapshotSessionId:String(((De=We.run)==null?void 0:De.session_id)||""),authEpoch:wt.current})&&Is(X).catch(Le=>{Le instanceof DOMException&&Le.name==="AbortError"||(Qt(!1),ye(Et(Le)))})},[xr,Qn,We.status,($r=We.run)==null?void 0:$r.run_id,(Er=We.run)==null?void 0:Er.session_id,e.connected,Ve,Lt,B.sessionId,B.runId]);async function Ni(I){const X=B.sessionId,Ne=n,De=wt.current,Le=()=>mt.current.sessionId!==X||er.current!==Ne||wt.current!==De,xt=(ot,Ot)=>le(St=>St.map(rr=>rr.id===ot?{...rr,...Ot}:rr));let nr=0,vt=0;await W_(I,D_,async ot=>{if(!(Le()||he.current.has(ot.id))){xt(ot.id,{status:"uploading",message:void 0});try{const Ot=await Sn.attachments_upload(X,ot.file);if(Le()||he.current.has(ot.id))return;ue.current.set(Ot.$artifact,ot.size),le(St=>St.filter(rr=>rr.id!==ot.id)),W(St=>[...St,Ot]),nr+=1}catch(Ot){if(Le()||he.current.has(ot.id))return;xt(ot.id,{status:"failed",message:F_(Et(Ot))}),vt+=1}}}),!Le()&&(nr||vt)&&Be(hh(nr,vt))}function Ms(I){var De;if(!I.length)return[];const X=z_(I,(De=o.policy)==null?void 0:De.maxAttachmentBytes,Kr);le(Le=>[...Le,...X]);const Ne=X.filter(Le=>Le.status==="refused").length;return Ne&&Be(hh(0,Ne)),Ni(X.filter(Le=>Le.status==="queued")),X}function Eo(I){const X=ee.find(De=>De.id===I);if(!X||X.status!=="failed")return;const Ne={...X,status:"queued",message:void 0};le(De=>De.map(Le=>Le.id===I?Ne:Le)),Ni([Ne])}function Ci(I){he.current.add(I),le(X=>X.filter(Ne=>Ne.id!==I))}async function Ls(){const I=B.sessionId,X=B.runId,Ne=wt.current;await On.cancel(),mt.current.sessionId===I&&mt.current.runId===X&&wt.current===Ne&&Y("")}const Yt=I=>{gi(I),gr(!0)},Xt=I=>{const X=wt.current,Ne=B.sessionId,De=B.runId;ye(""),I().catch(Le=>{Le instanceof DOMException&&Le.name==="AbortError"||wt.current===X&&mt.current.sessionId===Ne&&mt.current.runId===De&&ye(Et(Le))})},$n=o.sessions.filter(I=>`${I.prompt||""} ${I.sessionId}`.toLowerCase().includes(Xr.toLowerCase())),ss=(()=>{var I;try{return new URL(((I=e.status)==null?void 0:I.gateway_url)||"").host}catch{return"Your gateway"}})();return i.jsxs("div",{className:`code-app${yr?" code-app--nav-open":""}${Yr?" code-app--inspector":""}`,children:[i.jsx("a",{className:"code-skip-link",href:"#code-conversation",children:"Skip to conversation"}),i.jsxs("aside",{className:"code-sidebar","aria-label":"Conversations",children:[i.jsxs("div",{className:"code-brand",children:[i.jsxs("span",{className:"code-brand-mark","aria-hidden":"true",children:["a",i.jsx("span",{children:"c"})]}),i.jsxs("div",{children:[i.jsx("strong",{children:"AbstractCode"}),i.jsx("span",{children:"YOUR WORK, IN CONTEXT"})]}),i.jsx("button",{className:"code-mobile-close code-icon-button","aria-label":"Close navigation",onClick:()=>Kt(!1),children:i.jsx(oe,{name:"x",size:18})})]}),i.jsxs("button",{className:"code-new-chat",onClick:Sr,children:[i.jsx(oe,{name:"plus",size:17}),i.jsx("span",{children:"New conversation"}),i.jsx("kbd",{children:"⇧⌘N"})]}),i.jsxs("div",{className:"code-session-search",children:[i.jsx(oe,{name:"history",size:14}),i.jsx("input",{ref:_r,"aria-label":"Search conversations",placeholder:"Search conversations",value:Xr,onChange:I=>_o(I.target.value)}),i.jsx("kbd",{children:"⌘K"})]}),i.jsx(Kx,{state:Pn,available:Cs,selectedId:wr?Pn.selectedId:"",onSelect:I=>{vr(!0),Kt(!1),un.select(I)},onNew:()=>vi(!0),onRefresh:()=>void un.refresh(),onShowArchived:I=>un.setShowArchived(I)}),i.jsxs("div",{className:"code-section-label",children:[i.jsx("span",{children:"CONVERSATIONS"}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh conversations",disabled:!e.connected||o.loading,onClick:()=>void o.refresh(),children:i.jsx(oe,{name:"refresh",size:13})})]}),i.jsxs("nav",{className:"code-sessions","aria-label":"Conversation history",children:[Pt?null:i.jsxs("button",{className:"code-session is-selected",onClick:()=>Kt(!1),children:[i.jsx(oe,{name:"chat",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:"New conversation"}),i.jsx("small",{children:"Ready when you are"})]})]}),$n.map(I=>i.jsx(gk,{item:I,selected:I.sessionId===B.sessionId,onClick:()=>He(I.sessionId,I.latestRunId)},I.sessionId)),!o.loading&&!$n.length?i.jsx("p",{className:"code-history-empty",children:Xr?"No conversations match your search.":"Your conversations will live here. Pick up where you left off, on any device."}):null,o.loading?i.jsx("p",{className:"code-history-empty",role:"status",children:"Loading conversations…"}):null,o.hasMore?i.jsx("button",{className:"code-load-more",onClick:o.loadMore,children:"Load more conversations"}):null]}),i.jsxs("div",{className:"code-sidebar-bottom",children:[i.jsxs("button",{onClick:()=>Yt("workspace"),children:[i.jsx(oe,{name:"terminal",size:17}),i.jsxs("span",{children:[i.jsx("strong",{children:"Workspace"}),i.jsx("small",{children:br.split("/").filter(Boolean).pop()||"Gateway managed"})]}),i.jsx(oe,{name:"chevronRight",size:14})]}),i.jsxs("button",{onClick:()=>Yt("model"),children:[i.jsx(oe,{name:"settings",size:17}),i.jsx("span",{children:"Settings"})]}),i.jsxs("div",{className:"code-gateway-foot",children:[i.jsx("span",{className:`code-status-dot ${e.connected?"is-online":""}`}),i.jsx("span",{children:ss}),i.jsx("small",{children:((Io=(os=(tr=e.status)==null?void 0:tr.gateway)==null?void 0:os.principal)==null?void 0:Io.user_id)||"Signed out"})]})]})]}),yr?i.jsx("button",{className:"code-nav-scrim","aria-label":"Close conversation navigation",onClick:()=>Kt(!1)}):null,i.jsxs("div",{className:"code-main-shell",children:[i.jsxs("header",{className:"code-topbar",children:[i.jsx("button",{className:"code-mobile-nav code-icon-button","aria-label":"Open conversation navigation",onClick:()=>Kt(!0),children:i.jsx(oe,{name:"list",size:19})}),i.jsxs("div",{className:"code-breadcrumb",children:[i.jsx("span",{children:wr?"Automations":"Conversations"}),i.jsx("span",{"aria-hidden":"true",children:"/"}),i.jsx("strong",{title:wr?Co:jr,children:wr?Co:jr})]}),i.jsx(ry,{appearance:{onOpen:()=>p(!0)},about:{identity:pk,extraRows:Mx(f),onOpen:y},extraActions:i.jsx("button",{className:`af-topbar__btn${Yr?" is-active":""}`,"aria-label":"Toggle workspace inspector","aria-pressed":Yr,onClick:()=>yi(I=>!I),children:i.jsx(oe,{name:"board",size:17})}),connection:{phase:e.phase,signingOut:e.signingOut,onConnect:e.openModal,onDisconnect:()=>{e.signOut()}}})]}),i.jsxs("div",{className:"code-toolbar",children:[i.jsxs("div",{className:"code-workflow-select",children:[i.jsx(oe,{name:"agent",size:17}),i.jsxs("select",{"aria-label":"Workflow",value:b,disabled:Xn||o.loading||!e.connected,onChange:I=>{const X=I.target.value;P(X),T(Ne=>({...Ne,workflow:X}))},children:[i.jsx("option",{value:jn,children:uh(o.gatewayDefault)}),O&&b!==jn&&!V.some(I=>I.id===O.id)?i.jsxs("option",{value:O.id,children:[O.name,B.runId?` · conversation version ${O.bundleVersion||""}`:""]}):null,V.map(I=>i.jsx("option",{value:I.id,children:Wv(I,V)},I.id))]}),i.jsx("span",{className:"code-workflow-kind",children:Q?"AGENT":"WORKFLOW"}),i.jsxs("label",{className:"code-workflow-all",title:"List workflows that are not coding agents too",children:[i.jsx("input",{type:"checkbox",checked:j.showAllWorkflows,disabled:Xn||!e.connected,onChange:I=>T(X=>({...X,showAllWorkflows:I.target.checked}))}),i.jsx("span",{children:"Show all workflows"})]}),b===jn&&Oc(G)?i.jsx("span",{className:"code-workflow-resolved is-missing",role:"alert",title:Oc(G),children:Oc(G)}):null,Si?i.jsx("span",{className:"code-workflow-resolved is-missing",role:"status",title:Si,children:Si}):null,de&&de.runId===B.runId?i.jsx("span",{className:`code-workflow-resolved${de.missing?" is-missing":""}`,role:"status",children:de.text}):null]}),i.jsx("span",{className:"code-toolbar-divider"}),i.jsxs("button",{className:"code-model-button",onClick:()=>Yt("model"),children:[i.jsx(oe,{name:"sparkle",size:14}),i.jsx("span",{children:j.model||(K.provider&&K.model?`Workflow · ${K.model}`:"Gateway default")}),i.jsx(oe,{name:"chevronDown",size:12})]}),i.jsx("div",{className:"code-toolbar-spacer"}),i.jsxs("button",{className:"code-subtle-button",onClick:()=>Cn(!0),disabled:!O,children:[i.jsx(oe,{name:"settings",size:14}),i.jsx("span",{children:"Inputs"})]}),i.jsxs("button",{className:"code-subtle-button",onClick:()=>Yt("tools"),children:[i.jsx(oe,{name:"terminal",size:14}),i.jsx("span",{children:"Tools"})]}),fn.length?i.jsx("button",{className:"code-icon-button","aria-label":"Export conversation",title:"Export conversation",onClick:()=>pw({filename:"conversation.md",text:hw(fn)}),children:i.jsx(oe,{name:"download",size:15})}):null]}),i.jsxs("div",{className:"code-content",children:[wr?i.jsx(Xx,{ctl:un,host:Rs,enabled:e.connected,onClose:()=>vr(!1)}):i.jsxs("main",{className:"code-conversation",id:"code-conversation",tabIndex:-1,children:[we||We.error||e.signOutError||Lt?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsx(oe,{name:"warning",size:16}),i.jsx("span",{children:we||We.error||e.signOutError||Lt}),We.error||Lt?i.jsx("button",{onClick:()=>{Lt?window.location.reload():Xt(()=>On.load(B.runId))},children:"Reconnect"}):i.jsx("button",{"aria-label":"Dismiss error",onClick:()=>ye(""),children:i.jsx(oe,{name:"x",size:14})})]}):null,o.errors.length?i.jsx("div",{className:"code-discovery-errors",role:"status",children:i.jsxs("details",{children:[i.jsx("summary",{children:"Some gateway information could not be loaded"}),o.errors.map(I=>i.jsx("p",{children:I},I)),i.jsx("button",{onClick:()=>void o.refresh(),children:"Retry discovery"})]})}):null,qn?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsx("span",{children:qn}),i.jsx("button",{onClick:Sr,children:"New conversation"})]}):null,ve?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsxs("span",{children:["Workflow inputs: ",ve]}),i.jsx("button",{onClick:()=>tt(I=>I+1),children:"Retry"})]}):null,Z?i.jsxs("div",{className:"code-notice",role:"status",children:[Z,i.jsx("button",{"aria-label":"Dismiss notice",onClick:()=>Y(""),children:i.jsx(oe,{name:"x",size:13})})]}):null,dn||Uc(We.status)?i.jsx(lk,{active:dn,paused:nt,snapshot:We,permissionsAll:j.permissions==="all",onInteraction:ht&&!nt?()=>{var Ne;const I=document.querySelector(".code-conversation .pc-chat-thread"),X=I==null?void 0:I.querySelector(".pc-workflow-interaction");!I||!X||(I.scrollTop+=X.getBoundingClientRect().top-I.getBoundingClientRect().top,(Ne=X.querySelector("h3"))==null||Ne.focus({preventScroll:!0}))}:void 0,onRevokeApproval:()=>{On.revokeToolApproval(),T(I=>({...I,permissions:"default"}))},onCommand:I=>Xt(()=>On.sendCommand(I,{})),onActivity:()=>{Ns("activity"),yi(!0)}}):null,i.jsx(tv,{streamReplies:E,messages:(ht==null?void 0:ht.kind)==="tool-approval"?fn.filter(I=>{var X,Ne;return!(((X=I.toolActivity)==null?void 0:X.status)==="waiting"&&I.toolActivity.runId===((Ne=We.interaction)==null?void 0:Ne.runId))}):fn,messageProps:{...Zn.tts_supported?{onSpeakToggle:I=>{Zn.toggle_tts(I.id||I.content,I.content)}}:{},getSpeakState:I=>Zn.tts_playback.key===(I.id||I.content)?Zn.tts_playback.status:"idle"},draft:fe,onDraftChange:ae,onSend:$o,busy:Xn,busyLabel:So?"Waiting for you":H?"Starting…":nt?"Paused":"Working…",sendWhileBusy:dn&&!H&&!So,sendLabel:dn?Jn==="queue"?"Queue":"Steer":"Send",onCancel:Ls,stopState:We.stop??null,disabled:!e.connected,interaction:ht,onAttach:()=>{var I;return(I=ct.current)==null?void 0:I.click()},onFiles:I=>{Ms(I)},attachments:z.length||ee.length?i.jsx(ak,{attachments:z,uploads:ee,sizes:ue.current,onRemoveAttachment:I=>W(X=>X.filter((Ne,De)=>De!==I)),onRemoveUpload:Ci,onRetryUpload:Eo}):null,placeholder:dn?Jn==="queue"?"Queue the next task after this run…":ht?"Answer the request above, or choose Queue next turn…":"Guide the current workflow…":"Describe what you want to build, fix, or explore…",emptyState:dn?null:i.jsx(yk,{workflow:O,loading:o.loading||me,onSuggestion:ae,onInputs:()=>Cn(!0),isAgent:No,onRun:()=>Xt(()=>rs(fe)),connected:e.connected}),composerExtras:i.jsxs(i.Fragment,{children:[i.jsxs("button",{className:"code-composer-workspace",onClick:()=>Yt("workspace"),title:br||"Workspace is managed by the gateway",children:[i.jsx(oe,{name:"terminal",size:14}),i.jsx("span",{children:br.split("/").filter(Boolean).pop()||"Gateway workspace"})]}),e.connected?i.jsx(uk,{runId:B.runId,voice:Zn,capability:jo,onSettings:()=>k(!0),answer:[...fn].reverse().find(I=>I.role==="assistant")},`${n}:${B.sessionId}:${B.runId}`):null,dn?i.jsxs("select",{"aria-label":"Message destination",value:Jn,onChange:I=>Zr(I.target.value),children:[i.jsxs("option",{value:"steer",disabled:!!ht,children:["Guide this run",ht?" (answer above)":""]}),i.jsx("option",{value:"queue",children:"Queue next turn"})]}):null]}),footer:i.jsxs(i.Fragment,{children:[i.jsxs("span",{children:["Enter to send ",i.jsx("span",{"aria-hidden":"true",children:"·"})," Shift + Enter for a new line"]}),i.jsxs("span",{children:[(Mo=o.policy)!=null&&Mo.clientWorkspaceScopeOverrides?"Gateway policy enforced":"Managed workspace",i.jsx("span",{className:"code-small-dot"})]})]})}),Qn.length?i.jsxs("div",{className:"code-queue",children:[i.jsxs("div",{children:[i.jsxs("strong",{children:[Qn.length," queued"," ",Qn.length===1?"turn":"turns"]}),i.jsx("button",{onClick:()=>Qt(I=>!I),children:xr?"Pause queue":"Resume queue"})]}),Qn.map(I=>i.jsxs("div",{children:[i.jsx("span",{children:I.text}),dn?null:i.jsx("button",{onClick:()=>Xt(()=>Is(I)),children:"Run next"}),i.jsx("button",{"aria-label":"Remove queued turn",onClick:()=>Jt(X=>X.filter(Ne=>Ne.id!==I.id)),children:i.jsx(oe,{name:"x",size:13})})]},I.id))]}):null]}),Yr?i.jsx($x,{tab:wi,onTab:Ns,policy:o.policy,runId:B.runId,records:We.records,enabled:e.connected,isAdmin:((Os=(as=(Ps=e.status)==null?void 0:Ps.gateway)==null?void 0:as.principal)==null?void 0:Os.admin)===!0,refreshKey:We.status,onAttachFiles:Ms,onClose:()=>yi(!1),onAttach:async I=>{const X=B.sessionId,Ne=B.runId,De=wt.current,Le=await Sn.attachments_ingest(X,I);mt.current.sessionId===X&&mt.current.runId===Ne&&wt.current===De&&W(xt=>[...xt,Le])}}):null]}),i.jsxs("footer",{className:"code-statusbar",children:[i.jsxs("span",{children:[i.jsx("span",{className:`code-status-dot ${e.connected?"is-online":""}`}),e.connected?"Connected":e.phase==="loading"?"Connecting":"Disconnected"]}),i.jsx("span",{children:(O==null?void 0:O.name)||"No workflow selected"}),i.jsx("div",{}),i.jsx("span",{children:B.runId?`Run ${B.runId.slice(0,8)}`:"Ready to start"}),i.jsx("button",{onClick:()=>p(!0),children:l.theme.replace(/-/g," ")})]})]}),i.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:Ae}),i.jsx("input",{ref:ct,hidden:!0,type:"file",multiple:!0,onChange:I=>{Ms(Array.from(I.target.files||[])),I.target.value=""}}),i.jsx(Zx,{open:vo,onClose:()=>vi(!1),target:Dx(b,O),workflowLabel:b===jn?uh(o.gatewayDefault):(O==null?void 0:O.name)||"the selected workflow",initialPrompt:fe||((Ti=[...fn].reverse().find(I=>I.role==="user"))==null?void 0:Ti.content)||"",ctl:un,onCreated:()=>{vr(!0),Kt(!1)}}),i.jsx(Bg,{...e.modalProps}),i.jsx(Hc,{open:_,onClose:()=>k(!1),label:"Voice settings",title:"AI voice",width:480,topOffset:60,className:"code-settings-drawer",children:i.jsx("div",{className:"code-settings",children:i.jsx(py,{value:x,onChange:I=>{Zn.stop_tts(),C(I)},fetchCatalog:(I,X)=>ft(je(`voice/voices?compact=true${I?`&provider=${encodeURIComponent(I)}`:""}${X?`&model=${encodeURIComponent(X)}`:""}`))})})}),i.jsx(ay,{open:d,onClose:()=>p(!1),value:l,onChange:u}),i.jsx(L_,{open:Qr,onClose:()=>gr(!1),tab:Ya,onTab:gi,value:j,onChange:I=>{const X=[];(j.provider||j.model)&&!I.provider&&!I.model&&X.push("provider","model"),j.toolsCustomized&&!I.toolsCustomized&&X.push("tools"),j.maxIterations&&!I.maxIterations&&X.push("max_iterations"),X.length&&pe(Ne=>{const De={...Ne},Le=fo(te);for(const xt of X)delete De[xt],Object.prototype.hasOwnProperty.call(Le,xt)&&(De[xt]=Le[xt]);return De}),T(I)},policy:o.policy,tools:o.tools,defaultModel:K.provider&&K.model?{provider:String(K.provider),model:String(K.model)}:o.defaultModel,workflowDefault:!!(K.provider&&K.model),streaming:o.streaming,disabled:Xn||!e.connected},n),i.jsx(Hc,{open:Kn,onClose:()=>Cn(!1),label:"Workflow inputs",title:(O==null?void 0:O.name)||"Workflow inputs",width:480,topOffset:60,className:"code-settings-drawer",children:i.jsxs("div",{className:"code-settings",children:[i.jsx("p",{className:"code-muted",children:(O==null?void 0:O.description)||"Configure the values this workflow needs to run."}),me?i.jsx("p",{role:"status",children:"Loading input schema…"}):ve?null:Q||pt?i.jsx(nk,{schema:te,promptProperty:pt,defaultModel:o.defaultModel,values:K,onChange:pe,disabled:Xn,onEditorError:Ge},O==null?void 0:O.id):i.jsx(qc,{schema:te,defaultModel:o.defaultModel,values:K,onChange:pe,disabled:Xn,rawObject:!0,onEditorError:Ge},O==null?void 0:O.id),ve?i.jsx("p",{role:"alert",className:"code-error-text",children:ve}):null,No?i.jsxs("button",{className:"code-primary-button",onClick:()=>Cn(!1),children:["Back to chat ",i.jsx(oe,{name:"chat",size:16})]}):i.jsxs("button",{className:"code-primary-button",disabled:Xn||me||!!ve||!!Pe||!e.connected,onClick:()=>Xt(()=>rs(fe||String(K[pt||"prompt"]||""))),children:["Run workflow ",i.jsx(oe,{name:"playCircle",size:16})]})]})})]})}function gk({item:e,selected:n,onClick:s}){const o=e.prompt||`Conversation ${e.sessionId.slice(0,8)}`,l=e.updatedAt?new Date(e.updatedAt):null;return i.jsxs("button",{className:`code-session${n?" is-selected":""}`,"aria-current":n?"page":void 0,onClick:s,title:o,children:[i.jsx(oe,{name:"chat",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:o}),i.jsxs("small",{children:[l&&Number.isFinite(l.getTime())?l.toLocaleDateString(void 0,{month:"short",day:"numeric"}):"Saved conversation"," ",i.jsx("span",{"aria-hidden":"true",children:"·"})," ",e.turnCount," ",e.turnCount===1?"turn":"turns"]})]}),e.state==="running"||e.state==="waiting"?i.jsx("span",{className:`code-status-dot ${e.state==="running"?"is-working":"is-waiting"}`,title:e.state}):null]})}function yk({workflow:e,loading:n,onSuggestion:s,onInputs:o,isAgent:l,onRun:u,connected:d}){return i.jsxs("div",{className:"code-welcome",children:[i.jsxs("div",{className:"code-welcome-symbol","aria-hidden":"true",children:[i.jsx("span",{children:"›"}),i.jsx("span",{children:"_"})]}),i.jsx("p",{className:"code-eyebrow",children:"A LITTLE CONTEXT. A LOT OF POSSIBILITY."}),i.jsx("h1",{children:"What are we building?"}),i.jsxs("p",{className:"code-welcome-description",children:["A focused space to think, code, and get things done.",i.jsx("br",{}),"Your workflows. Your tools. One conversation."]}),e&&!l?i.jsxs("div",{className:"code-workflow-welcome",children:[i.jsx(oe,{name:"playCircle",size:21}),i.jsxs("div",{children:[i.jsx("strong",{children:e.name}),i.jsx("p",{children:e.description||"Run this workflow with its registered inputs."})]}),i.jsx("button",{onClick:o,children:"Configure inputs"}),i.jsx("button",{onClick:u,disabled:n||!d,children:"Run workflow"})]}):i.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(p=>i.jsxs("button",{onClick:()=>s(p.prompt),disabled:n,children:[i.jsx(oe,{name:p.icon,size:18}),i.jsxs("span",{children:[i.jsx("strong",{children:p.title}),i.jsx("small",{children:p.detail})]}),i.jsx(oe,{name:"chevronRight",size:13})]},p.title))}),i.jsx("p",{className:"code-welcome-hint",children:n?"Discovering your workflows…":e?i.jsxs(i.Fragment,{children:["Using ",i.jsx("strong",{children:e.name})," · Change workflows above"]}):d?"Register a workflow with AbstractGateway to get started.":"Connect your gateway to get started."})]})}class wk extends yt.Component{constructor(){super(...arguments);gn(this,"state",{error:""})}static getDerivedStateFromError(s){return{error:s.message}}render(){return this.state.error?i.jsxs("div",{className:"code-crash",role:"alert",children:[i.jsx("h1",{children:"Something interrupted this view."}),i.jsx("p",{children:this.state.error}),i.jsx("p",{children:"Your runs are stored by the gateway."}),i.jsx("button",{onClick:()=>window.location.reload(),children:"Reload AbstractCode"})]}):this.props.children}}function La(){try{const e=window.visualViewport,n=typeof(e==null?void 0:e.height)=="number"&&Number.isFinite(e.height)?e.height:window.innerHeight;document.documentElement.style.setProperty("--vh",`${Math.max(1,n)*.01}px`)}catch{}}const jh="__abstractcode_web_vh_listener_v1";var Sh,Nh;globalThis[jh]||(globalThis[jh]=!0,La(),window.addEventListener("resize",La),(Sh=window.visualViewport)==null||Sh.addEventListener("resize",La),(Nh=window.visualViewport)==null||Nh.addEventListener("scroll",La));"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("sw.js").catch(()=>{})});wg.createRoot(document.getElementById("root")).render(i.jsx(yt.StrictMode,{children:i.jsx(wk,{children:i.jsx(mk,{})})}));
|