@abstractframework/code 0.10.0 → 0.10.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,75 @@
|
|
|
1
|
+
var py=Object.defineProperty;var my=(e,t,s)=>t in e?py(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var mn=(e,t,s)=>my(e,typeof t!="symbol"?t+"":t,s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))a(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&a(d)}).observe(document,{childList:!0,subtree:!0});function s(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function a(l){if(l.ep)return;l.ep=!0;const c=s(l);fetch(l.href,c)}})();function wp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Gc={exports:{}},ja={},Hc={exports:{}},Be={};/**
|
|
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 ch;function gy(){if(ch)return Be;ch=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.iterator;function x(R){return R===null||typeof R!="object"?null:(R=v&&R[v]||R["@@iterator"],typeof R=="function"?R:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function j(R,O,D){this.props=R,this.context=O,this.refs=S,this.updater=D||b}j.prototype.isReactComponent={},j.prototype.setState=function(R,O){if(typeof R!="object"&&typeof R!="function"&&R!=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,R,O,"setState")},j.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function C(){}C.prototype=j.prototype;function $(R,O,D){this.props=R,this.context=O,this.refs=S,this.updater=D||b}var E=$.prototype=new C;E.constructor=$,k(E,j.prototype),E.isPureReactComponent=!0;var A=Array.isArray,z=Object.prototype.hasOwnProperty,F={current:null},P={key:!0,ref:!0,__self:!0,__source:!0};function M(R,O,D){var G,se={},ue=null,he=null;if(O!=null)for(G in O.ref!==void 0&&(he=O.ref),O.key!==void 0&&(ue=""+O.key),O)z.call(O,G)&&!P.hasOwnProperty(G)&&(se[G]=O[G]);var le=arguments.length-2;if(le===1)se.children=D;else if(1<le){for(var Ce=Array(le),Se=0;Se<le;Se++)Ce[Se]=arguments[Se+2];se.children=Ce}if(R&&R.defaultProps)for(G in le=R.defaultProps,le)se[G]===void 0&&(se[G]=le[G]);return{$$typeof:e,type:R,key:ue,ref:he,props:se,_owner:F.current}}function U(R,O){return{$$typeof:e,type:R.type,key:O,ref:R.ref,props:R.props,_owner:R._owner}}function Y(R){return typeof R=="object"&&R!==null&&R.$$typeof===e}function Q(R){var O={"=":"=0",":":"=2"};return"$"+R.replace(/[=:]/g,function(D){return O[D]})}var W=/\/+/g;function J(R,O){return typeof R=="object"&&R!==null&&R.key!=null?Q(""+R.key):O.toString(36)}function fe(R,O,D,G,se){var ue=typeof R;(ue==="undefined"||ue==="boolean")&&(R=null);var he=!1;if(R===null)he=!0;else switch(ue){case"string":case"number":he=!0;break;case"object":switch(R.$$typeof){case e:case t:he=!0}}if(he)return he=R,se=se(he),R=G===""?"."+J(he,0):G,A(se)?(D="",R!=null&&(D=R.replace(W,"$&/")+"/"),fe(se,O,D,"",function(Se){return Se})):se!=null&&(Y(se)&&(se=U(se,D+(!se.key||he&&he.key===se.key?"":(""+se.key).replace(W,"$&/")+"/")+R)),O.push(se)),1;if(he=0,G=G===""?".":G+":",A(R))for(var le=0;le<R.length;le++){ue=R[le];var Ce=G+J(ue,le);he+=fe(ue,O,D,Ce,se)}else if(Ce=x(R),typeof Ce=="function")for(R=Ce.call(R),le=0;!(ue=R.next()).done;)ue=ue.value,Ce=G+J(ue,le++),he+=fe(ue,O,D,Ce,se);else if(ue==="object")throw O=String(R),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(R).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.");return he}function ce(R,O,D){if(R==null)return R;var G=[],se=0;return fe(R,G,"","",function(ue){return O.call(D,ue,se++)}),G}function we(R){if(R._status===-1){var O=R._result;O=O(),O.then(function(D){(R._status===0||R._status===-1)&&(R._status=1,R._result=D)},function(D){(R._status===0||R._status===-1)&&(R._status=2,R._result=D)}),R._status===-1&&(R._status=0,R._result=O)}if(R._status===1)return R._result.default;throw R._result}var ve={current:null},q={transition:null},re={ReactCurrentDispatcher:ve,ReactCurrentBatchConfig:q,ReactCurrentOwner:F};function ie(){throw Error("act(...) is not supported in production builds of React.")}return Be.Children={map:ce,forEach:function(R,O,D){ce(R,function(){O.apply(this,arguments)},D)},count:function(R){var O=0;return ce(R,function(){O++}),O},toArray:function(R){return ce(R,function(O){return O})||[]},only:function(R){if(!Y(R))throw Error("React.Children.only expected to receive a single React element child.");return R}},Be.Component=j,Be.Fragment=s,Be.Profiler=l,Be.PureComponent=$,Be.StrictMode=a,Be.Suspense=f,Be.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=re,Be.act=ie,Be.cloneElement=function(R,O,D){if(R==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+R+".");var G=k({},R.props),se=R.key,ue=R.ref,he=R._owner;if(O!=null){if(O.ref!==void 0&&(ue=O.ref,he=F.current),O.key!==void 0&&(se=""+O.key),R.type&&R.type.defaultProps)var le=R.type.defaultProps;for(Ce in O)z.call(O,Ce)&&!P.hasOwnProperty(Ce)&&(G[Ce]=O[Ce]===void 0&&le!==void 0?le[Ce]:O[Ce])}var Ce=arguments.length-2;if(Ce===1)G.children=D;else if(1<Ce){le=Array(Ce);for(var Se=0;Se<Ce;Se++)le[Se]=arguments[Se+2];G.children=le}return{$$typeof:e,type:R.type,key:se,ref:ue,props:G,_owner:he}},Be.createContext=function(R){return R={$$typeof:d,_currentValue:R,_currentValue2:R,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},R.Provider={$$typeof:c,_context:R},R.Consumer=R},Be.createElement=M,Be.createFactory=function(R){var O=M.bind(null,R);return O.type=R,O},Be.createRef=function(){return{current:null}},Be.forwardRef=function(R){return{$$typeof:h,render:R}},Be.isValidElement=Y,Be.lazy=function(R){return{$$typeof:y,_payload:{_status:-1,_result:R},_init:we}},Be.memo=function(R,O){return{$$typeof:g,type:R,compare:O===void 0?null:O}},Be.startTransition=function(R){var O=q.transition;q.transition={};try{R()}finally{q.transition=O}},Be.unstable_act=ie,Be.useCallback=function(R,O){return ve.current.useCallback(R,O)},Be.useContext=function(R){return ve.current.useContext(R)},Be.useDebugValue=function(){},Be.useDeferredValue=function(R){return ve.current.useDeferredValue(R)},Be.useEffect=function(R,O){return ve.current.useEffect(R,O)},Be.useId=function(){return ve.current.useId()},Be.useImperativeHandle=function(R,O,D){return ve.current.useImperativeHandle(R,O,D)},Be.useInsertionEffect=function(R,O){return ve.current.useInsertionEffect(R,O)},Be.useLayoutEffect=function(R,O){return ve.current.useLayoutEffect(R,O)},Be.useMemo=function(R,O){return ve.current.useMemo(R,O)},Be.useReducer=function(R,O,D){return ve.current.useReducer(R,O,D)},Be.useRef=function(R){return ve.current.useRef(R)},Be.useState=function(R){return ve.current.useState(R)},Be.useSyncExternalStore=function(R,O,D){return ve.current.useSyncExternalStore(R,O,D)},Be.useTransition=function(){return ve.current.useTransition()},Be.version="18.3.1",Be}var uh;function Tu(){return uh||(uh=1,Hc.exports=gy()),Hc.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 dh;function yy(){if(dh)return ja;dh=1;var e=Tu(),t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,l=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function d(h,f,g){var y,v={},x=null,b=null;g!==void 0&&(x=""+g),f.key!==void 0&&(x=""+f.key),f.ref!==void 0&&(b=f.ref);for(y in f)a.call(f,y)&&!c.hasOwnProperty(y)&&(v[y]=f[y]);if(h&&h.defaultProps)for(y in f=h.defaultProps,f)v[y]===void 0&&(v[y]=f[y]);return{$$typeof:t,type:h,key:x,ref:b,props:v,_owner:l.current}}return ja.Fragment=s,ja.jsx=d,ja.jsxs=d,ja}var fh;function wy(){return fh||(fh=1,Gc.exports=yy()),Gc.exports}var i=wy(),w=Tu();const ht=wp(w);var Xo={},Kc={exports:{}},rn={},Jc={exports:{}},Qc={};/**
|
|
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 hh;function vy(){return hh||(hh=1,(function(e){function t(q,re){var ie=q.length;q.push(re);e:for(;0<ie;){var R=ie-1>>>1,O=q[R];if(0<l(O,re))q[R]=re,q[ie]=O,ie=R;else break e}}function s(q){return q.length===0?null:q[0]}function a(q){if(q.length===0)return null;var re=q[0],ie=q.pop();if(ie!==re){q[0]=ie;e:for(var R=0,O=q.length,D=O>>>1;R<D;){var G=2*(R+1)-1,se=q[G],ue=G+1,he=q[ue];if(0>l(se,ie))ue<O&&0>l(he,se)?(q[R]=he,q[ue]=ie,R=ue):(q[R]=se,q[G]=ie,R=G);else if(ue<O&&0>l(he,ie))q[R]=he,q[ue]=ie,R=ue;else break e}}return re}function l(q,re){var ie=q.sortIndex-re.sortIndex;return ie!==0?ie:q.id-re.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();e.unstable_now=function(){return d.now()-h}}var f=[],g=[],y=1,v=null,x=3,b=!1,k=!1,S=!1,j=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,$=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(q){for(var re=s(g);re!==null;){if(re.callback===null)a(g);else if(re.startTime<=q)a(g),re.sortIndex=re.expirationTime,t(f,re);else break;re=s(g)}}function A(q){if(S=!1,E(q),!k)if(s(f)!==null)k=!0,we(z);else{var re=s(g);re!==null&&ve(A,re.startTime-q)}}function z(q,re){k=!1,S&&(S=!1,C(M),M=-1),b=!0;var ie=x;try{for(E(re),v=s(f);v!==null&&(!(v.expirationTime>re)||q&&!Q());){var R=v.callback;if(typeof R=="function"){v.callback=null,x=v.priorityLevel;var O=R(v.expirationTime<=re);re=e.unstable_now(),typeof O=="function"?v.callback=O:v===s(f)&&a(f),E(re)}else a(f);v=s(f)}if(v!==null)var D=!0;else{var G=s(g);G!==null&&ve(A,G.startTime-re),D=!1}return D}finally{v=null,x=ie,b=!1}}var F=!1,P=null,M=-1,U=5,Y=-1;function Q(){return!(e.unstable_now()-Y<U)}function W(){if(P!==null){var q=e.unstable_now();Y=q;var re=!0;try{re=P(!0,q)}finally{re?J():(F=!1,P=null)}}else F=!1}var J;if(typeof $=="function")J=function(){$(W)};else if(typeof MessageChannel<"u"){var fe=new MessageChannel,ce=fe.port2;fe.port1.onmessage=W,J=function(){ce.postMessage(null)}}else J=function(){j(W,0)};function we(q){P=q,F||(F=!0,J())}function ve(q,re){M=j(function(){q(e.unstable_now())},re)}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(q){q.callback=null},e.unstable_continueExecution=function(){k||b||(k=!0,we(z))},e.unstable_forceFrameRate=function(q){0>q||125<q?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):U=0<q?Math.floor(1e3/q):5},e.unstable_getCurrentPriorityLevel=function(){return x},e.unstable_getFirstCallbackNode=function(){return s(f)},e.unstable_next=function(q){switch(x){case 1:case 2:case 3:var re=3;break;default:re=x}var ie=x;x=re;try{return q()}finally{x=ie}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(q,re){switch(q){case 1:case 2:case 3:case 4:case 5:break;default:q=3}var ie=x;x=q;try{return re()}finally{x=ie}},e.unstable_scheduleCallback=function(q,re,ie){var R=e.unstable_now();switch(typeof ie=="object"&&ie!==null?(ie=ie.delay,ie=typeof ie=="number"&&0<ie?R+ie:R):ie=R,q){case 1:var O=-1;break;case 2:O=250;break;case 5:O=1073741823;break;case 4:O=1e4;break;default:O=5e3}return O=ie+O,q={id:y++,callback:re,priorityLevel:q,startTime:ie,expirationTime:O,sortIndex:-1},ie>R?(q.sortIndex=ie,t(g,q),s(f)===null&&q===s(g)&&(S?(C(M),M=-1):S=!0,ve(A,ie-R))):(q.sortIndex=O,t(f,q),k||b||(k=!0,we(z))),q},e.unstable_shouldYield=Q,e.unstable_wrapCallback=function(q){var re=x;return function(){var ie=x;x=re;try{return q.apply(this,arguments)}finally{x=ie}}}})(Qc)),Qc}var ph;function _y(){return ph||(ph=1,Jc.exports=vy()),Jc.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 mh;function xy(){if(mh)return rn;mh=1;var e=Tu(),t=_y();function s(n){for(var r="https://reactjs.org/docs/error-decoder.html?invariant="+n,o=1;o<arguments.length;o++)r+="&args[]="+encodeURIComponent(arguments[o]);return"Minified React error #"+n+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var a=new Set,l={};function c(n,r){d(n,r),d(n+"Capture",r)}function d(n,r){for(l[n]=r,n=0;n<r.length;n++)a.add(r[n])}var h=!(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={},v={};function x(n){return f.call(v,n)?!0:f.call(y,n)?!1:g.test(n)?v[n]=!0:(y[n]=!0,!1)}function b(n,r,o,u){if(o!==null&&o.type===0)return!1;switch(typeof r){case"function":case"symbol":return!0;case"boolean":return u?!1:o!==null?!o.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function k(n,r,o,u){if(r===null||typeof r>"u"||b(n,r,o,u))return!0;if(u)return!1;if(o!==null)switch(o.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 S(n,r,o,u,p,m,_){this.acceptsBooleans=r===2||r===3||r===4,this.attributeName=u,this.attributeNamespace=p,this.mustUseProperty=o,this.propertyName=n,this.type=r,this.sanitizeURL=m,this.removeEmptyString=_}var j={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){j[n]=new S(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var r=n[0];j[r]=new S(r,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){j[n]=new S(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){j[n]=new S(n,2,!1,n,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){j[n]=new S(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){j[n]=new S(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){j[n]=new S(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){j[n]=new S(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){j[n]=new S(n,5,!1,n.toLowerCase(),null,!1,!1)});var C=/[\-:]([a-z])/g;function $(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var r=n.replace(C,$);j[r]=new S(r,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var r=n.replace(C,$);j[r]=new S(r,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var r=n.replace(C,$);j[r]=new S(r,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){j[n]=new S(n,1,!1,n.toLowerCase(),null,!1,!1)}),j.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){j[n]=new S(n,1,!1,n.toLowerCase(),null,!0,!0)});function E(n,r,o,u){var p=j.hasOwnProperty(r)?j[r]:null;(p!==null?p.type!==0:u||!(2<r.length)||r[0]!=="o"&&r[0]!=="O"||r[1]!=="n"&&r[1]!=="N")&&(k(r,o,p,u)&&(o=null),u||p===null?x(r)&&(o===null?n.removeAttribute(r):n.setAttribute(r,""+o)):p.mustUseProperty?n[p.propertyName]=o===null?p.type===3?!1:"":o:(r=p.attributeName,u=p.attributeNamespace,o===null?n.removeAttribute(r):(p=p.type,o=p===3||p===4&&o===!0?"":""+o,u?n.setAttributeNS(u,r,o):n.setAttribute(r,o))))}var A=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,z=Symbol.for("react.element"),F=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),Y=Symbol.for("react.provider"),Q=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),fe=Symbol.for("react.suspense_list"),ce=Symbol.for("react.memo"),we=Symbol.for("react.lazy"),ve=Symbol.for("react.offscreen"),q=Symbol.iterator;function re(n){return n===null||typeof n!="object"?null:(n=q&&n[q]||n["@@iterator"],typeof n=="function"?n:null)}var ie=Object.assign,R;function O(n){if(R===void 0)try{throw Error()}catch(o){var r=o.stack.trim().match(/\n( *(at )?)/);R=r&&r[1]||""}return`
|
|
34
|
+
`+R+n}var D=!1;function G(n,r){if(!n||D)return"";D=!0;var o=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(H){var u=H}Reflect.construct(n,[],r)}else{try{r.call()}catch(H){u=H}n.call(r.prototype)}else{try{throw Error()}catch(H){u=H}n()}}catch(H){if(H&&u&&typeof H.stack=="string"){for(var p=H.stack.split(`
|
|
35
|
+
`),m=u.stack.split(`
|
|
36
|
+
`),_=p.length-1,N=m.length-1;1<=_&&0<=N&&p[_]!==m[N];)N--;for(;1<=_&&0<=N;_--,N--)if(p[_]!==m[N]){if(_!==1||N!==1)do if(_--,N--,0>N||p[_]!==m[N]){var T=`
|
|
37
|
+
`+p[_].replace(" at new "," at ");return n.displayName&&T.includes("<anonymous>")&&(T=T.replace("<anonymous>",n.displayName)),T}while(1<=_&&0<=N);break}}}finally{D=!1,Error.prepareStackTrace=o}return(n=n?n.displayName||n.name:"")?O(n):""}function se(n){switch(n.tag){case 5:return O(n.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 2:case 15:return n=G(n.type,!1),n;case 11:return n=G(n.type.render,!1),n;case 1:return n=G(n.type,!0),n;default:return""}}function ue(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case P:return"Fragment";case F:return"Portal";case U:return"Profiler";case M:return"StrictMode";case J:return"Suspense";case fe:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case Q:return(n.displayName||"Context")+".Consumer";case Y:return(n._context.displayName||"Context")+".Provider";case W:var r=n.render;return n=n.displayName,n||(n=r.displayName||r.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case ce:return r=n.displayName||null,r!==null?r:ue(n.type)||"Memo";case we:r=n._payload,n=n._init;try{return ue(n(r))}catch{}}return null}function he(n){var r=n.type;switch(n.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 n=r.render,n=n.displayName||n.name||"",r.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return r;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ue(r);case 8:return r===M?"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 le(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function Ce(n){var r=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(r==="checkbox"||r==="radio")}function Se(n){var r=Ce(n)?"checked":"value",o=Object.getOwnPropertyDescriptor(n.constructor.prototype,r),u=""+n[r];if(!n.hasOwnProperty(r)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var p=o.get,m=o.set;return Object.defineProperty(n,r,{configurable:!0,get:function(){return p.call(this)},set:function(_){u=""+_,m.call(this,_)}}),Object.defineProperty(n,r,{enumerable:o.enumerable}),{getValue:function(){return u},setValue:function(_){u=""+_},stopTracking:function(){n._valueTracker=null,delete n[r]}}}}function at(n){n._valueTracker||(n._valueTracker=Se(n))}function ee(n){if(!n)return!1;var r=n._valueTracker;if(!r)return!0;var o=r.getValue(),u="";return n&&(u=Ce(n)?n.checked?"true":"false":n.value),n=u,n!==o?(r.setValue(n),!0):!1}function K(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function me(n,r){var o=r.checked;return ie({},r,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??n._wrapperState.initialChecked})}function Re(n,r){var o=r.defaultValue==null?"":r.defaultValue,u=r.checked!=null?r.checked:r.defaultChecked;o=le(r.value!=null?r.value:o),n._wrapperState={initialChecked:u,initialValue:o,controlled:r.type==="checkbox"||r.type==="radio"?r.checked!=null:r.value!=null}}function ge(n,r){r=r.checked,r!=null&&E(n,"checked",r,!1)}function Ee(n,r){ge(n,r);var o=le(r.value),u=r.type;if(o!=null)u==="number"?(o===0&&n.value===""||n.value!=o)&&(n.value=""+o):n.value!==""+o&&(n.value=""+o);else if(u==="submit"||u==="reset"){n.removeAttribute("value");return}r.hasOwnProperty("value")?nt(n,r.type,o):r.hasOwnProperty("defaultValue")&&nt(n,r.type,le(r.defaultValue)),r.checked==null&&r.defaultChecked!=null&&(n.defaultChecked=!!r.defaultChecked)}function We(n,r,o){if(r.hasOwnProperty("value")||r.hasOwnProperty("defaultValue")){var u=r.type;if(!(u!=="submit"&&u!=="reset"||r.value!==void 0&&r.value!==null))return;r=""+n._wrapperState.initialValue,o||r===n.value||(n.value=r),n.defaultValue=r}o=n.name,o!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,o!==""&&(n.name=o)}function nt(n,r,o){(r!=="number"||K(n.ownerDocument)!==n)&&(o==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+o&&(n.defaultValue=""+o))}var X=Array.isArray;function pe(n,r,o,u){if(n=n.options,r){r={};for(var p=0;p<o.length;p++)r["$"+o[p]]=!0;for(o=0;o<n.length;o++)p=r.hasOwnProperty("$"+n[o].value),n[o].selected!==p&&(n[o].selected=p),p&&u&&(n[o].defaultSelected=!0)}else{for(o=""+le(o),r=null,p=0;p<n.length;p++){if(n[p].value===o){n[p].selected=!0,u&&(n[p].defaultSelected=!0);return}r!==null||n[p].disabled||(r=n[p])}r!==null&&(r.selected=!0)}}function Le(n,r){if(r.dangerouslySetInnerHTML!=null)throw Error(s(91));return ie({},r,{value:void 0,defaultValue:void 0,children:""+n._wrapperState.initialValue})}function He(n,r){var o=r.value;if(o==null){if(o=r.children,r=r.defaultValue,o!=null){if(r!=null)throw Error(s(92));if(X(o)){if(1<o.length)throw Error(s(93));o=o[0]}r=o}r==null&&(r=""),o=r}n._wrapperState={initialValue:le(o)}}function Pt(n,r){var o=le(r.value),u=le(r.defaultValue);o!=null&&(o=""+o,o!==n.value&&(n.value=o),r.defaultValue==null&&n.defaultValue!==o&&(n.defaultValue=o)),u!=null&&(n.defaultValue=""+u)}function Ze(n){var r=n.textContent;r===n._wrapperState.initialValue&&r!==""&&r!==null&&(n.value=r)}function Bn(n){switch(n){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function At(n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?Bn(r):n==="http://www.w3.org/2000/svg"&&r==="foreignObject"?"http://www.w3.org/1999/xhtml":n}var Vn,Ls=(function(n){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(r,o,u,p){MSApp.execUnsafeLocalFunction(function(){return n(r,o,u,p)})}:n})(function(n,r){if(n.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in n)n.innerHTML=r;else{for(Vn=Vn||document.createElement("div"),Vn.innerHTML="<svg>"+r.valueOf().toString()+"</svg>",r=Vn.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;r.firstChild;)n.appendChild(r.firstChild)}});function Qt(n,r){if(r){var o=n.firstChild;if(o&&o===n.lastChild&&o.nodeType===3){o.nodeValue=r;return}}n.textContent=r}var sr={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},Ga=["Webkit","ms","Moz","O"];Object.keys(sr).forEach(function(n){Ga.forEach(function(r){r=r+n.charAt(0).toUpperCase()+n.substring(1),sr[r]=sr[n]})});function Ha(n,r,o){return r==null||typeof r=="boolean"||r===""?"":o||typeof r!="number"||r===0||sr.hasOwnProperty(n)&&sr[n]?(""+r).trim():r+"px"}function Ii(n,r){n=n.style;for(var o in r)if(r.hasOwnProperty(o)){var u=o.indexOf("--")===0,p=Ha(o,r[o],u);o==="float"&&(o="cssFloat"),u?n.setProperty(o,p):n[o]=p}}var Mi=ie({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 Li(n,r){if(r){if(Mi[n]&&(r.children!=null||r.dangerouslySetInnerHTML!=null))throw Error(s(137,n));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 yn(n,r){if(n.indexOf("-")===-1)return typeof r.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var as=null;function os(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var Pi=null,ir=null,Vt=null;function Ps(n){if(n=ca(n)){if(typeof Pi!="function")throw Error(s(280));var r=n.stateNode;r&&(r=fo(r),Pi(n.stateNode,n.type,r))}}function ar(n){ir?Vt?Vt.push(n):Vt=[n]:ir=n}function Ka(){if(ir){var n=ir,r=Vt;if(Vt=ir=null,Ps(n),r)for(n=0;n<r.length;n++)Ps(r[n])}}function Oi(n,r){return n(r)}function or(){}var Gt=!1;function Di(n,r,o){if(Gt)return n(r,o);Gt=!0;try{return Oi(n,r,o)}finally{Gt=!1,(ir!==null||Vt!==null)&&(or(),Ka())}}function Nr(n,r){var o=n.stateNode;if(o===null)return null;var u=fo(o);if(u===null)return null;o=u[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":(u=!u.disabled)||(n=n.type,u=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!u;break e;default:n=!1}if(n)return null;if(o&&typeof o!="function")throw Error(s(231,r,typeof o));return o}var Os=!1;if(h)try{var wn={};Object.defineProperty(wn,"passive",{get:function(){Os=!0}}),window.addEventListener("test",wn,wn),window.removeEventListener("test",wn,wn)}catch{Os=!1}function Fi(n,r,o,u,p,m,_,N,T){var H=Array.prototype.slice.call(arguments,3);try{r.apply(o,H)}catch(ne){this.onError(ne)}}var Rn=!1,Gn=null,Cr=!1,Ds=null,zi={onError:function(n){Rn=!0,Gn=n}};function Wi(n,r,o,u,p,m,_,N,T){Rn=!1,Gn=null,Fi.apply(zi,arguments)}function xl(n,r,o,u,p,m,_,N,T){if(Wi.apply(this,arguments),Rn){if(Rn){var H=Gn;Rn=!1,Gn=null}else throw Error(s(198));Cr||(Cr=!0,Ds=H)}}function Hn(n){var r=n,o=n;if(n.alternate)for(;r.return;)r=r.return;else{n=r;do r=n,(r.flags&4098)!==0&&(o=r.return),n=r.return;while(n)}return r.tag===3?o:null}function Er(n){if(n.tag===13){var r=n.memoizedState;if(r===null&&(n=n.alternate,n!==null&&(r=n.memoizedState)),r!==null)return r.dehydrated}return null}function Ja(n){if(Hn(n)!==n)throw Error(s(188))}function lr(n){var r=n.alternate;if(!r){if(r=Hn(n),r===null)throw Error(s(188));return r!==n?null:n}for(var o=n,u=r;;){var p=o.return;if(p===null)break;var m=p.alternate;if(m===null){if(u=p.return,u!==null){o=u;continue}break}if(p.child===m.child){for(m=p.child;m;){if(m===o)return Ja(p),n;if(m===u)return Ja(p),r;m=m.sibling}throw Error(s(188))}if(o.return!==u.return)o=p,u=m;else{for(var _=!1,N=p.child;N;){if(N===o){_=!0,o=p,u=m;break}if(N===u){_=!0,u=p,o=m;break}N=N.sibling}if(!_){for(N=m.child;N;){if(N===o){_=!0,o=m,u=p;break}if(N===u){_=!0,u=m,o=p;break}N=N.sibling}if(!_)throw Error(s(189))}}if(o.alternate!==u)throw Error(s(190))}if(o.tag!==3)throw Error(s(188));return o.stateNode.current===o?n:r}function In(n){return n=lr(n),n!==null?Fs(n):null}function Fs(n){if(n.tag===5||n.tag===6)return n;for(n=n.child;n!==null;){var r=Fs(n);if(r!==null)return r;n=n.sibling}return null}var vn=t.unstable_scheduleCallback,Ui=t.unstable_cancelCallback,Bi=t.unstable_shouldYield,zs=t.unstable_requestPaint,rt=t.unstable_now,bl=t.unstable_getCurrentPriorityLevel,ls=t.unstable_ImmediatePriority,Vi=t.unstable_UserBlockingPriority,cs=t.unstable_NormalPriority,Qa=t.unstable_LowPriority,Ya=t.unstable_IdlePriority,Ws=null,kt=null;function Ve(n){if(kt&&typeof kt.onCommitFiberRoot=="function")try{kt.onCommitFiberRoot(Ws,n,void 0,(n.current.flags&128)===128)}catch{}}var ct=Math.clz32?Math.clz32:Us,Gi=Math.log,$r=Math.LN2;function Us(n){return n>>>=0,n===0?32:31-(Gi(n)/$r|0)|0}var cr=64,un=4194304;function Ar(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function Mn(n,r){var o=n.pendingLanes;if(o===0)return 0;var u=0,p=n.suspendedLanes,m=n.pingedLanes,_=o&268435455;if(_!==0){var N=_&~p;N!==0?u=Ar(N):(m&=_,m!==0&&(u=Ar(m)))}else _=o&~p,_!==0?u=Ar(_):m!==0&&(u=Ar(m));if(u===0)return 0;if(r!==0&&r!==u&&(r&p)===0&&(p=u&-u,m=r&-r,p>=m||p===16&&(m&4194240)!==0))return r;if((u&4)!==0&&(u|=o&16),r=n.entangledLanes,r!==0)for(n=n.entanglements,r&=u;0<r;)o=31-ct(r),p=1<<o,u|=n[o],r&=~p;return u}function Xa(n,r){switch(n){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 _n(n,r){for(var o=n.suspendedLanes,u=n.pingedLanes,p=n.expirationTimes,m=n.pendingLanes;0<m;){var _=31-ct(m),N=1<<_,T=p[_];T===-1?((N&o)===0||(N&u)!==0)&&(p[_]=Xa(N,r)):T<=r&&(n.expiredLanes|=N),m&=~N}}function Bs(n){return n=n.pendingLanes&-1073741825,n!==0?n:n&1073741824?1073741824:0}function xn(){var n=cr;return cr<<=1,(cr&4194240)===0&&(cr=64),n}function Vs(n){for(var r=[],o=0;31>o;o++)r.push(n);return r}function bn(n,r,o){n.pendingLanes|=r,r!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,r=31-ct(r),n[r]=o}function us(n,r){var o=n.pendingLanes&~r;n.pendingLanes=r,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=r,n.mutableReadLanes&=r,n.entangledLanes&=r,r=n.entanglements;var u=n.eventTimes;for(n=n.expirationTimes;0<o;){var p=31-ct(o),m=1<<p;r[p]=0,u[p]=-1,n[p]=-1,o&=~m}}function Tr(n,r){var o=n.entangledLanes|=r;for(n=n.entanglements;o;){var u=31-ct(o),p=1<<u;p&r|n[u]&r&&(n[u]|=r),o&=~p}}var Fe=0;function Hi(n){return n&=-n,1<n?4<n?(n&268435455)!==0?16:536870912:4:1}var Ki,ds,Za,Ji,Gs,ur=!1,pt=[],kn=null,ot=null,jn=null,Kn=new Map,dr=new Map,dn=[],kl="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 Qi(n,r){switch(n){case"focusin":case"focusout":kn=null;break;case"dragenter":case"dragleave":ot=null;break;case"mouseover":case"mouseout":jn=null;break;case"pointerover":case"pointerout":Kn.delete(r.pointerId);break;case"gotpointercapture":case"lostpointercapture":dr.delete(r.pointerId)}}function Rr(n,r,o,u,p,m){return n===null||n.nativeEvent!==m?(n={blockedOn:r,domEventName:o,eventSystemFlags:u,nativeEvent:m,targetContainers:[p]},r!==null&&(r=ca(r),r!==null&&ds(r)),n):(n.eventSystemFlags|=u,r=n.targetContainers,p!==null&&r.indexOf(p)===-1&&r.push(p),n)}function Yi(n,r,o,u,p){switch(r){case"focusin":return kn=Rr(kn,n,r,o,u,p),!0;case"dragenter":return ot=Rr(ot,n,r,o,u,p),!0;case"mouseover":return jn=Rr(jn,n,r,o,u,p),!0;case"pointerover":var m=p.pointerId;return Kn.set(m,Rr(Kn.get(m)||null,n,r,o,u,p)),!0;case"gotpointercapture":return m=p.pointerId,dr.set(m,Rr(dr.get(m)||null,n,r,o,u,p)),!0}return!1}function qa(n){var r=ys(n.target);if(r!==null){var o=Hn(r);if(o!==null){if(r=o.tag,r===13){if(r=Er(o),r!==null){n.blockedOn=r,Gs(n.priority,function(){Za(o)});return}}else if(r===3&&o.stateNode.current.memoizedState.isDehydrated){n.blockedOn=o.tag===3?o.stateNode.containerInfo:null;return}}}n.blockedOn=null}function Hs(n){if(n.blockedOn!==null)return!1;for(var r=n.targetContainers;0<r.length;){var o=Qs(n.domEventName,n.eventSystemFlags,r[0],n.nativeEvent);if(o===null){o=n.nativeEvent;var u=new o.constructor(o.type,o);as=u,o.target.dispatchEvent(u),as=null}else return r=ca(o),r!==null&&ds(r),n.blockedOn=o,!1;r.shift()}return!0}function eo(n,r,o){Hs(n)&&o.delete(r)}function fs(){ur=!1,kn!==null&&Hs(kn)&&(kn=null),ot!==null&&Hs(ot)&&(ot=null),jn!==null&&Hs(jn)&&(jn=null),Kn.forEach(eo),dr.forEach(eo)}function Ln(n,r){n.blockedOn===r&&(n.blockedOn=null,ur||(ur=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,fs)))}function Ir(n){function r(p){return Ln(p,n)}if(0<pt.length){Ln(pt[0],n);for(var o=1;o<pt.length;o++){var u=pt[o];u.blockedOn===n&&(u.blockedOn=null)}}for(kn!==null&&Ln(kn,n),ot!==null&&Ln(ot,n),jn!==null&&Ln(jn,n),Kn.forEach(r),dr.forEach(r),o=0;o<dn.length;o++)u=dn[o],u.blockedOn===n&&(u.blockedOn=null);for(;0<dn.length&&(o=dn[0],o.blockedOn===null);)qa(o),o.blockedOn===null&&dn.shift()}var Mr=A.ReactCurrentBatchConfig,Ks=!0;function to(n,r,o,u){var p=Fe,m=Mr.transition;Mr.transition=null;try{Fe=1,Js(n,r,o,u)}finally{Fe=p,Mr.transition=m}}function no(n,r,o,u){var p=Fe,m=Mr.transition;Mr.transition=null;try{Fe=4,Js(n,r,o,u)}finally{Fe=p,Mr.transition=m}}function Js(n,r,o,u){if(Ks){var p=Qs(n,r,o,u);if(p===null)Ll(n,r,u,hs,o),Qi(n,u);else if(Yi(p,n,r,o,u))u.stopPropagation();else if(Qi(n,u),r&4&&-1<kl.indexOf(n)){for(;p!==null;){var m=ca(p);if(m!==null&&Ki(m),m=Qs(n,r,o,u),m===null&&Ll(n,r,u,hs,o),m===p)break;p=m}p!==null&&u.stopPropagation()}else Ll(n,r,u,null,o)}}var hs=null;function Qs(n,r,o,u){if(hs=null,n=os(u),n=ys(n),n!==null)if(r=Hn(n),r===null)n=null;else if(o=r.tag,o===13){if(n=Er(r),n!==null)return n;n=null}else if(o===3){if(r.stateNode.current.memoizedState.isDehydrated)return r.tag===3?r.stateNode.containerInfo:null;n=null}else r!==n&&(n=null);return hs=n,null}function Xi(n){switch(n){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(bl()){case ls:return 1;case Vi:return 4;case cs:case Qa:return 16;case Ya:return 536870912;default:return 16}default:return 16}}var Pn=null,Ys=null,ps=null;function Zi(){if(ps)return ps;var n,r=Ys,o=r.length,u,p="value"in Pn?Pn.value:Pn.textContent,m=p.length;for(n=0;n<o&&r[n]===p[n];n++);var _=o-n;for(u=1;u<=_&&r[o-u]===p[m-u];u++);return ps=p.slice(n,1<u?1-u:void 0)}function ms(n){var r=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&r===13&&(n=13)):n=r,n===10&&(n=13),32<=n||n===13?n:0}function gs(){return!0}function qi(){return!1}function Ot(n){function r(o,u,p,m,_){this._reactName=o,this._targetInst=p,this.type=u,this.nativeEvent=m,this.target=_,this.currentTarget=null;for(var N in n)n.hasOwnProperty(N)&&(o=n[N],this[N]=o?o(m):m[N]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?gs:qi,this.isPropagationStopped=qi,this}return ie(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var o=this.nativeEvent;o&&(o.preventDefault?o.preventDefault():typeof o.returnValue!="unknown"&&(o.returnValue=!1),this.isDefaultPrevented=gs)},stopPropagation:function(){var o=this.nativeEvent;o&&(o.stopPropagation?o.stopPropagation():typeof o.cancelBubble!="unknown"&&(o.cancelBubble=!0),this.isPropagationStopped=gs)},persist:function(){},isPersistent:gs}),r}var fr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Xs=Ot(fr),Lr=ie({},fr,{view:0,detail:0}),ro=Ot(Lr),Zs,qs,Pr,I=ie({},Lr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:jl,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==Pr&&(Pr&&n.type==="mousemove"?(Zs=n.screenX-Pr.screenX,qs=n.screenY-Pr.screenY):qs=Zs=0,Pr=n),Zs)},movementY:function(n){return"movementY"in n?n.movementY:qs}}),Z=Ot(I),Ie=ie({},I,{dataTransfer:0}),ze=Ot(Ie),De=ie({},Lr,{relatedTarget:0}),jt=Ot(De),Or=ie({},fr,{animationName:0,elapsedTime:0,pseudoElement:0}),Dr=Ot(Or),St=ie({},fr,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),Yt=Ot(St),Xt=ie({},fr,{data:0}),Jn=Ot(Xt),Qn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Xm={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"},Zm={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function qm(n){var r=this.nativeEvent;return r.getModifierState?r.getModifierState(n):(n=Zm[n])?!!r[n]:!1}function jl(){return qm}var eg=ie({},Lr,{key:function(n){if(n.key){var r=Qn[n.key]||n.key;if(r!=="Unidentified")return r}return n.type==="keypress"?(n=ms(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?Xm[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:jl,charCode:function(n){return n.type==="keypress"?ms(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?ms(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),tg=Ot(eg),ng=ie({},I,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),qu=Ot(ng),rg=ie({},Lr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:jl}),sg=Ot(rg),ig=ie({},fr,{propertyName:0,elapsedTime:0,pseudoElement:0}),ag=Ot(ig),og=ie({},I,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),lg=Ot(og),cg=[9,13,27,32],Sl=h&&"CompositionEvent"in window,ea=null;h&&"documentMode"in document&&(ea=document.documentMode);var ug=h&&"TextEvent"in window&&!ea,ed=h&&(!Sl||ea&&8<ea&&11>=ea),td=" ",nd=!1;function rd(n,r){switch(n){case"keyup":return cg.indexOf(r.keyCode)!==-1;case"keydown":return r.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sd(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var ei=!1;function dg(n,r){switch(n){case"compositionend":return sd(r);case"keypress":return r.which!==32?null:(nd=!0,td);case"textInput":return n=r.data,n===td&&nd?null:n;default:return null}}function fg(n,r){if(ei)return n==="compositionend"||!Sl&&rd(n,r)?(n=Zi(),ps=Ys=Pn=null,ei=!1,n):null;switch(n){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 ed&&r.locale!=="ko"?null:r.data;default:return null}}var hg={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 id(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r==="input"?!!hg[n.type]:r==="textarea"}function ad(n,r,o,u){ar(u),r=lo(r,"onChange"),0<r.length&&(o=new Xs("onChange","change",null,o,u),n.push({event:o,listeners:r}))}var ta=null,na=null;function pg(n){jd(n,0)}function so(n){var r=ii(n);if(ee(r))return n}function mg(n,r){if(n==="change")return r}var od=!1;if(h){var Nl;if(h){var Cl="oninput"in document;if(!Cl){var ld=document.createElement("div");ld.setAttribute("oninput","return;"),Cl=typeof ld.oninput=="function"}Nl=Cl}else Nl=!1;od=Nl&&(!document.documentMode||9<document.documentMode)}function cd(){ta&&(ta.detachEvent("onpropertychange",ud),na=ta=null)}function ud(n){if(n.propertyName==="value"&&so(na)){var r=[];ad(r,na,n,os(n)),Di(pg,r)}}function gg(n,r,o){n==="focusin"?(cd(),ta=r,na=o,ta.attachEvent("onpropertychange",ud)):n==="focusout"&&cd()}function yg(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return so(na)}function wg(n,r){if(n==="click")return so(r)}function vg(n,r){if(n==="input"||n==="change")return so(r)}function _g(n,r){return n===r&&(n!==0||1/n===1/r)||n!==n&&r!==r}var On=typeof Object.is=="function"?Object.is:_g;function ra(n,r){if(On(n,r))return!0;if(typeof n!="object"||n===null||typeof r!="object"||r===null)return!1;var o=Object.keys(n),u=Object.keys(r);if(o.length!==u.length)return!1;for(u=0;u<o.length;u++){var p=o[u];if(!f.call(r,p)||!On(n[p],r[p]))return!1}return!0}function dd(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function fd(n,r){var o=dd(n);n=0;for(var u;o;){if(o.nodeType===3){if(u=n+o.textContent.length,n<=r&&u>=r)return{node:o,offset:r-n};n=u}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=dd(o)}}function hd(n,r){return n&&r?n===r?!0:n&&n.nodeType===3?!1:r&&r.nodeType===3?hd(n,r.parentNode):"contains"in n?n.contains(r):n.compareDocumentPosition?!!(n.compareDocumentPosition(r)&16):!1:!1}function pd(){for(var n=window,r=K();r instanceof n.HTMLIFrameElement;){try{var o=typeof r.contentWindow.location.href=="string"}catch{o=!1}if(o)n=r.contentWindow;else break;r=K(n.document)}return r}function El(n){var r=n&&n.nodeName&&n.nodeName.toLowerCase();return r&&(r==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||r==="textarea"||n.contentEditable==="true")}function xg(n){var r=pd(),o=n.focusedElem,u=n.selectionRange;if(r!==o&&o&&o.ownerDocument&&hd(o.ownerDocument.documentElement,o)){if(u!==null&&El(o)){if(r=u.start,n=u.end,n===void 0&&(n=r),"selectionStart"in o)o.selectionStart=r,o.selectionEnd=Math.min(n,o.value.length);else if(n=(r=o.ownerDocument||document)&&r.defaultView||window,n.getSelection){n=n.getSelection();var p=o.textContent.length,m=Math.min(u.start,p);u=u.end===void 0?m:Math.min(u.end,p),!n.extend&&m>u&&(p=u,u=m,m=p),p=fd(o,m);var _=fd(o,u);p&&_&&(n.rangeCount!==1||n.anchorNode!==p.node||n.anchorOffset!==p.offset||n.focusNode!==_.node||n.focusOffset!==_.offset)&&(r=r.createRange(),r.setStart(p.node,p.offset),n.removeAllRanges(),m>u?(n.addRange(r),n.extend(_.node,_.offset)):(r.setEnd(_.node,_.offset),n.addRange(r)))}}for(r=[],n=o;n=n.parentNode;)n.nodeType===1&&r.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o<r.length;o++)n=r[o],n.element.scrollLeft=n.left,n.element.scrollTop=n.top}}var bg=h&&"documentMode"in document&&11>=document.documentMode,ti=null,$l=null,sa=null,Al=!1;function md(n,r,o){var u=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Al||ti==null||ti!==K(u)||(u=ti,"selectionStart"in u&&El(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),sa&&ra(sa,u)||(sa=u,u=lo($l,"onSelect"),0<u.length&&(r=new Xs("onSelect","select",null,r,o),n.push({event:r,listeners:u}),r.target=ti)))}function io(n,r){var o={};return o[n.toLowerCase()]=r.toLowerCase(),o["Webkit"+n]="webkit"+r,o["Moz"+n]="moz"+r,o}var ni={animationend:io("Animation","AnimationEnd"),animationiteration:io("Animation","AnimationIteration"),animationstart:io("Animation","AnimationStart"),transitionend:io("Transition","TransitionEnd")},Tl={},gd={};h&&(gd=document.createElement("div").style,"AnimationEvent"in window||(delete ni.animationend.animation,delete ni.animationiteration.animation,delete ni.animationstart.animation),"TransitionEvent"in window||delete ni.transitionend.transition);function ao(n){if(Tl[n])return Tl[n];if(!ni[n])return n;var r=ni[n],o;for(o in r)if(r.hasOwnProperty(o)&&o in gd)return Tl[n]=r[o];return n}var yd=ao("animationend"),wd=ao("animationiteration"),vd=ao("animationstart"),_d=ao("transitionend"),xd=new Map,bd="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 Fr(n,r){xd.set(n,r),c(r,[n])}for(var Rl=0;Rl<bd.length;Rl++){var Il=bd[Rl],kg=Il.toLowerCase(),jg=Il[0].toUpperCase()+Il.slice(1);Fr(kg,"on"+jg)}Fr(yd,"onAnimationEnd"),Fr(wd,"onAnimationIteration"),Fr(vd,"onAnimationStart"),Fr("dblclick","onDoubleClick"),Fr("focusin","onFocus"),Fr("focusout","onBlur"),Fr(_d,"onTransitionEnd"),d("onMouseEnter",["mouseout","mouseover"]),d("onMouseLeave",["mouseout","mouseover"]),d("onPointerEnter",["pointerout","pointerover"]),d("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ia="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(" "),Sg=new Set("cancel close invalid load scroll toggle".split(" ").concat(ia));function kd(n,r,o){var u=n.type||"unknown-event";n.currentTarget=o,xl(u,r,void 0,n),n.currentTarget=null}function jd(n,r){r=(r&4)!==0;for(var o=0;o<n.length;o++){var u=n[o],p=u.event;u=u.listeners;e:{var m=void 0;if(r)for(var _=u.length-1;0<=_;_--){var N=u[_],T=N.instance,H=N.currentTarget;if(N=N.listener,T!==m&&p.isPropagationStopped())break e;kd(p,N,H),m=T}else for(_=0;_<u.length;_++){if(N=u[_],T=N.instance,H=N.currentTarget,N=N.listener,T!==m&&p.isPropagationStopped())break e;kd(p,N,H),m=T}}}if(Cr)throw n=Ds,Cr=!1,Ds=null,n}function st(n,r){var o=r[Wl];o===void 0&&(o=r[Wl]=new Set);var u=n+"__bubble";o.has(u)||(Sd(r,n,2,!1),o.add(u))}function Ml(n,r,o){var u=0;r&&(u|=4),Sd(o,n,u,r)}var oo="_reactListening"+Math.random().toString(36).slice(2);function aa(n){if(!n[oo]){n[oo]=!0,a.forEach(function(o){o!=="selectionchange"&&(Sg.has(o)||Ml(o,!1,n),Ml(o,!0,n))});var r=n.nodeType===9?n:n.ownerDocument;r===null||r[oo]||(r[oo]=!0,Ml("selectionchange",!1,r))}}function Sd(n,r,o,u){switch(Xi(r)){case 1:var p=to;break;case 4:p=no;break;default:p=Js}o=p.bind(null,r,o,n),p=void 0,!Os||r!=="touchstart"&&r!=="touchmove"&&r!=="wheel"||(p=!0),u?p!==void 0?n.addEventListener(r,o,{capture:!0,passive:p}):n.addEventListener(r,o,!0):p!==void 0?n.addEventListener(r,o,{passive:p}):n.addEventListener(r,o,!1)}function Ll(n,r,o,u,p){var m=u;if((r&1)===0&&(r&2)===0&&u!==null)e:for(;;){if(u===null)return;var _=u.tag;if(_===3||_===4){var N=u.stateNode.containerInfo;if(N===p||N.nodeType===8&&N.parentNode===p)break;if(_===4)for(_=u.return;_!==null;){var T=_.tag;if((T===3||T===4)&&(T=_.stateNode.containerInfo,T===p||T.nodeType===8&&T.parentNode===p))return;_=_.return}for(;N!==null;){if(_=ys(N),_===null)return;if(T=_.tag,T===5||T===6){u=m=_;continue e}N=N.parentNode}}u=u.return}Di(function(){var H=m,ne=os(o),oe=[];e:{var te=xd.get(n);if(te!==void 0){var ye=Xs,xe=n;switch(n){case"keypress":if(ms(o)===0)break e;case"keydown":case"keyup":ye=tg;break;case"focusin":xe="focus",ye=jt;break;case"focusout":xe="blur",ye=jt;break;case"beforeblur":case"afterblur":ye=jt;break;case"click":if(o.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ye=Z;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ye=ze;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ye=sg;break;case yd:case wd:case vd:ye=Dr;break;case _d:ye=ag;break;case"scroll":ye=ro;break;case"wheel":ye=lg;break;case"copy":case"cut":case"paste":ye=Yt;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ye=qu}var be=(r&4)!==0,yt=!be&&n==="scroll",B=be?te!==null?te+"Capture":null:te;be=[];for(var L=H,V;L!==null;){V=L;var de=V.stateNode;if(V.tag===5&&de!==null&&(V=de,B!==null&&(de=Nr(L,B),de!=null&&be.push(oa(L,de,V)))),yt)break;L=L.return}0<be.length&&(te=new ye(te,xe,null,o,ne),oe.push({event:te,listeners:be}))}}if((r&7)===0){e:{if(te=n==="mouseover"||n==="pointerover",ye=n==="mouseout"||n==="pointerout",te&&o!==as&&(xe=o.relatedTarget||o.fromElement)&&(ys(xe)||xe[hr]))break e;if((ye||te)&&(te=ne.window===ne?ne:(te=ne.ownerDocument)?te.defaultView||te.parentWindow:window,ye?(xe=o.relatedTarget||o.toElement,ye=H,xe=xe?ys(xe):null,xe!==null&&(yt=Hn(xe),xe!==yt||xe.tag!==5&&xe.tag!==6)&&(xe=null)):(ye=null,xe=H),ye!==xe)){if(be=Z,de="onMouseLeave",B="onMouseEnter",L="mouse",(n==="pointerout"||n==="pointerover")&&(be=qu,de="onPointerLeave",B="onPointerEnter",L="pointer"),yt=ye==null?te:ii(ye),V=xe==null?te:ii(xe),te=new be(de,L+"leave",ye,o,ne),te.target=yt,te.relatedTarget=V,de=null,ys(ne)===H&&(be=new be(B,L+"enter",xe,o,ne),be.target=V,be.relatedTarget=yt,de=be),yt=de,ye&&xe)t:{for(be=ye,B=xe,L=0,V=be;V;V=ri(V))L++;for(V=0,de=B;de;de=ri(de))V++;for(;0<L-V;)be=ri(be),L--;for(;0<V-L;)B=ri(B),V--;for(;L--;){if(be===B||B!==null&&be===B.alternate)break t;be=ri(be),B=ri(B)}be=null}else be=null;ye!==null&&Nd(oe,te,ye,be,!1),xe!==null&&yt!==null&&Nd(oe,yt,xe,be,!0)}}e:{if(te=H?ii(H):window,ye=te.nodeName&&te.nodeName.toLowerCase(),ye==="select"||ye==="input"&&te.type==="file")var je=mg;else if(id(te))if(od)je=vg;else{je=yg;var $e=gg}else(ye=te.nodeName)&&ye.toLowerCase()==="input"&&(te.type==="checkbox"||te.type==="radio")&&(je=wg);if(je&&(je=je(n,H))){ad(oe,je,o,ne);break e}$e&&$e(n,te,H),n==="focusout"&&($e=te._wrapperState)&&$e.controlled&&te.type==="number"&&nt(te,"number",te.value)}switch($e=H?ii(H):window,n){case"focusin":(id($e)||$e.contentEditable==="true")&&(ti=$e,$l=H,sa=null);break;case"focusout":sa=$l=ti=null;break;case"mousedown":Al=!0;break;case"contextmenu":case"mouseup":case"dragend":Al=!1,md(oe,o,ne);break;case"selectionchange":if(bg)break;case"keydown":case"keyup":md(oe,o,ne)}var Ae;if(Sl)e:{switch(n){case"compositionstart":var Pe="onCompositionStart";break e;case"compositionend":Pe="onCompositionEnd";break e;case"compositionupdate":Pe="onCompositionUpdate";break e}Pe=void 0}else ei?rd(n,o)&&(Pe="onCompositionEnd"):n==="keydown"&&o.keyCode===229&&(Pe="onCompositionStart");Pe&&(ed&&o.locale!=="ko"&&(ei||Pe!=="onCompositionStart"?Pe==="onCompositionEnd"&&ei&&(Ae=Zi()):(Pn=ne,Ys="value"in Pn?Pn.value:Pn.textContent,ei=!0)),$e=lo(H,Pe),0<$e.length&&(Pe=new Jn(Pe,n,null,o,ne),oe.push({event:Pe,listeners:$e}),Ae?Pe.data=Ae:(Ae=sd(o),Ae!==null&&(Pe.data=Ae)))),(Ae=ug?dg(n,o):fg(n,o))&&(H=lo(H,"onBeforeInput"),0<H.length&&(ne=new Jn("onBeforeInput","beforeinput",null,o,ne),oe.push({event:ne,listeners:H}),ne.data=Ae))}jd(oe,r)})}function oa(n,r,o){return{instance:n,listener:r,currentTarget:o}}function lo(n,r){for(var o=r+"Capture",u=[];n!==null;){var p=n,m=p.stateNode;p.tag===5&&m!==null&&(p=m,m=Nr(n,o),m!=null&&u.unshift(oa(n,m,p)),m=Nr(n,r),m!=null&&u.push(oa(n,m,p))),n=n.return}return u}function ri(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5);return n||null}function Nd(n,r,o,u,p){for(var m=r._reactName,_=[];o!==null&&o!==u;){var N=o,T=N.alternate,H=N.stateNode;if(T!==null&&T===u)break;N.tag===5&&H!==null&&(N=H,p?(T=Nr(o,m),T!=null&&_.unshift(oa(o,T,N))):p||(T=Nr(o,m),T!=null&&_.push(oa(o,T,N)))),o=o.return}_.length!==0&&n.push({event:r,listeners:_})}var Ng=/\r\n?/g,Cg=/\u0000|\uFFFD/g;function Cd(n){return(typeof n=="string"?n:""+n).replace(Ng,`
|
|
38
|
+
`).replace(Cg,"")}function co(n,r,o){if(r=Cd(r),Cd(n)!==r&&o)throw Error(s(425))}function uo(){}var Pl=null,Ol=null;function Dl(n,r){return n==="textarea"||n==="noscript"||typeof r.children=="string"||typeof r.children=="number"||typeof r.dangerouslySetInnerHTML=="object"&&r.dangerouslySetInnerHTML!==null&&r.dangerouslySetInnerHTML.__html!=null}var Fl=typeof setTimeout=="function"?setTimeout:void 0,Eg=typeof clearTimeout=="function"?clearTimeout:void 0,Ed=typeof Promise=="function"?Promise:void 0,$g=typeof queueMicrotask=="function"?queueMicrotask:typeof Ed<"u"?function(n){return Ed.resolve(null).then(n).catch(Ag)}:Fl;function Ag(n){setTimeout(function(){throw n})}function zl(n,r){var o=r,u=0;do{var p=o.nextSibling;if(n.removeChild(o),p&&p.nodeType===8)if(o=p.data,o==="/$"){if(u===0){n.removeChild(p),Ir(r);return}u--}else o!=="$"&&o!=="$?"&&o!=="$!"||u++;o=p}while(o);Ir(r)}function zr(n){for(;n!=null;n=n.nextSibling){var r=n.nodeType;if(r===1||r===3)break;if(r===8){if(r=n.data,r==="$"||r==="$!"||r==="$?")break;if(r==="/$")return null}}return n}function $d(n){n=n.previousSibling;for(var r=0;n;){if(n.nodeType===8){var o=n.data;if(o==="$"||o==="$!"||o==="$?"){if(r===0)return n;r--}else o==="/$"&&r++}n=n.previousSibling}return null}var si=Math.random().toString(36).slice(2),Yn="__reactFiber$"+si,la="__reactProps$"+si,hr="__reactContainer$"+si,Wl="__reactEvents$"+si,Tg="__reactListeners$"+si,Rg="__reactHandles$"+si;function ys(n){var r=n[Yn];if(r)return r;for(var o=n.parentNode;o;){if(r=o[hr]||o[Yn]){if(o=r.alternate,r.child!==null||o!==null&&o.child!==null)for(n=$d(n);n!==null;){if(o=n[Yn])return o;n=$d(n)}return r}n=o,o=n.parentNode}return null}function ca(n){return n=n[Yn]||n[hr],!n||n.tag!==5&&n.tag!==6&&n.tag!==13&&n.tag!==3?null:n}function ii(n){if(n.tag===5||n.tag===6)return n.stateNode;throw Error(s(33))}function fo(n){return n[la]||null}var Ul=[],ai=-1;function Wr(n){return{current:n}}function it(n){0>ai||(n.current=Ul[ai],Ul[ai]=null,ai--)}function tt(n,r){ai++,Ul[ai]=n.current,n.current=r}var Ur={},Dt=Wr(Ur),Zt=Wr(!1),ws=Ur;function oi(n,r){var o=n.type.contextTypes;if(!o)return Ur;var u=n.stateNode;if(u&&u.__reactInternalMemoizedUnmaskedChildContext===r)return u.__reactInternalMemoizedMaskedChildContext;var p={},m;for(m in o)p[m]=r[m];return u&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=r,n.__reactInternalMemoizedMaskedChildContext=p),p}function qt(n){return n=n.childContextTypes,n!=null}function ho(){it(Zt),it(Dt)}function Ad(n,r,o){if(Dt.current!==Ur)throw Error(s(168));tt(Dt,r),tt(Zt,o)}function Td(n,r,o){var u=n.stateNode;if(r=r.childContextTypes,typeof u.getChildContext!="function")return o;u=u.getChildContext();for(var p in u)if(!(p in r))throw Error(s(108,he(n)||"Unknown",p));return ie({},o,u)}function po(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Ur,ws=Dt.current,tt(Dt,n),tt(Zt,Zt.current),!0}function Rd(n,r,o){var u=n.stateNode;if(!u)throw Error(s(169));o?(n=Td(n,r,ws),u.__reactInternalMemoizedMergedChildContext=n,it(Zt),it(Dt),tt(Dt,n)):it(Zt),tt(Zt,o)}var pr=null,mo=!1,Bl=!1;function Id(n){pr===null?pr=[n]:pr.push(n)}function Ig(n){mo=!0,Id(n)}function Br(){if(!Bl&&pr!==null){Bl=!0;var n=0,r=Fe;try{var o=pr;for(Fe=1;n<o.length;n++){var u=o[n];do u=u(!0);while(u!==null)}pr=null,mo=!1}catch(p){throw pr!==null&&(pr=pr.slice(n+1)),vn(ls,Br),p}finally{Fe=r,Bl=!1}}return null}var li=[],ci=0,go=null,yo=0,Sn=[],Nn=0,vs=null,mr=1,gr="";function _s(n,r){li[ci++]=yo,li[ci++]=go,go=n,yo=r}function Md(n,r,o){Sn[Nn++]=mr,Sn[Nn++]=gr,Sn[Nn++]=vs,vs=n;var u=mr;n=gr;var p=32-ct(u)-1;u&=~(1<<p),o+=1;var m=32-ct(r)+p;if(30<m){var _=p-p%5;m=(u&(1<<_)-1).toString(32),u>>=_,p-=_,mr=1<<32-ct(r)+p|o<<p|u,gr=m+n}else mr=1<<m|o<<p|u,gr=n}function Vl(n){n.return!==null&&(_s(n,1),Md(n,1,0))}function Gl(n){for(;n===go;)go=li[--ci],li[ci]=null,yo=li[--ci],li[ci]=null;for(;n===vs;)vs=Sn[--Nn],Sn[Nn]=null,gr=Sn[--Nn],Sn[Nn]=null,mr=Sn[--Nn],Sn[Nn]=null}var fn=null,hn=null,lt=!1,Dn=null;function Ld(n,r){var o=An(5,null,null,0);o.elementType="DELETED",o.stateNode=r,o.return=n,r=n.deletions,r===null?(n.deletions=[o],n.flags|=16):r.push(o)}function Pd(n,r){switch(n.tag){case 5:var o=n.type;return r=r.nodeType!==1||o.toLowerCase()!==r.nodeName.toLowerCase()?null:r,r!==null?(n.stateNode=r,fn=n,hn=zr(r.firstChild),!0):!1;case 6:return r=n.pendingProps===""||r.nodeType!==3?null:r,r!==null?(n.stateNode=r,fn=n,hn=null,!0):!1;case 13:return r=r.nodeType!==8?null:r,r!==null?(o=vs!==null?{id:mr,overflow:gr}:null,n.memoizedState={dehydrated:r,treeContext:o,retryLane:1073741824},o=An(18,null,null,0),o.stateNode=r,o.return=n,n.child=o,fn=n,hn=null,!0):!1;default:return!1}}function Hl(n){return(n.mode&1)!==0&&(n.flags&128)===0}function Kl(n){if(lt){var r=hn;if(r){var o=r;if(!Pd(n,r)){if(Hl(n))throw Error(s(418));r=zr(o.nextSibling);var u=fn;r&&Pd(n,r)?Ld(u,o):(n.flags=n.flags&-4097|2,lt=!1,fn=n)}}else{if(Hl(n))throw Error(s(418));n.flags=n.flags&-4097|2,lt=!1,fn=n}}}function Od(n){for(n=n.return;n!==null&&n.tag!==5&&n.tag!==3&&n.tag!==13;)n=n.return;fn=n}function wo(n){if(n!==fn)return!1;if(!lt)return Od(n),lt=!0,!1;var r;if((r=n.tag!==3)&&!(r=n.tag!==5)&&(r=n.type,r=r!=="head"&&r!=="body"&&!Dl(n.type,n.memoizedProps)),r&&(r=hn)){if(Hl(n))throw Dd(),Error(s(418));for(;r;)Ld(n,r),r=zr(r.nextSibling)}if(Od(n),n.tag===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(s(317));e:{for(n=n.nextSibling,r=0;n;){if(n.nodeType===8){var o=n.data;if(o==="/$"){if(r===0){hn=zr(n.nextSibling);break e}r--}else o!=="$"&&o!=="$!"&&o!=="$?"||r++}n=n.nextSibling}hn=null}}else hn=fn?zr(n.stateNode.nextSibling):null;return!0}function Dd(){for(var n=hn;n;)n=zr(n.nextSibling)}function ui(){hn=fn=null,lt=!1}function Jl(n){Dn===null?Dn=[n]:Dn.push(n)}var Mg=A.ReactCurrentBatchConfig;function ua(n,r,o){if(n=o.ref,n!==null&&typeof n!="function"&&typeof n!="object"){if(o._owner){if(o=o._owner,o){if(o.tag!==1)throw Error(s(309));var u=o.stateNode}if(!u)throw Error(s(147,n));var p=u,m=""+n;return r!==null&&r.ref!==null&&typeof r.ref=="function"&&r.ref._stringRef===m?r.ref:(r=function(_){var N=p.refs;_===null?delete N[m]:N[m]=_},r._stringRef=m,r)}if(typeof n!="string")throw Error(s(284));if(!o._owner)throw Error(s(290,n))}return n}function vo(n,r){throw n=Object.prototype.toString.call(r),Error(s(31,n==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":n))}function Fd(n){var r=n._init;return r(n._payload)}function zd(n){function r(B,L){if(n){var V=B.deletions;V===null?(B.deletions=[L],B.flags|=16):V.push(L)}}function o(B,L){if(!n)return null;for(;L!==null;)r(B,L),L=L.sibling;return null}function u(B,L){for(B=new Map;L!==null;)L.key!==null?B.set(L.key,L):B.set(L.index,L),L=L.sibling;return B}function p(B,L){return B=Xr(B,L),B.index=0,B.sibling=null,B}function m(B,L,V){return B.index=V,n?(V=B.alternate,V!==null?(V=V.index,V<L?(B.flags|=2,L):V):(B.flags|=2,L)):(B.flags|=1048576,L)}function _(B){return n&&B.alternate===null&&(B.flags|=2),B}function N(B,L,V,de){return L===null||L.tag!==6?(L=Fc(V,B.mode,de),L.return=B,L):(L=p(L,V),L.return=B,L)}function T(B,L,V,de){var je=V.type;return je===P?ne(B,L,V.props.children,de,V.key):L!==null&&(L.elementType===je||typeof je=="object"&&je!==null&&je.$$typeof===we&&Fd(je)===L.type)?(de=p(L,V.props),de.ref=ua(B,L,V),de.return=B,de):(de=Bo(V.type,V.key,V.props,null,B.mode,de),de.ref=ua(B,L,V),de.return=B,de)}function H(B,L,V,de){return L===null||L.tag!==4||L.stateNode.containerInfo!==V.containerInfo||L.stateNode.implementation!==V.implementation?(L=zc(V,B.mode,de),L.return=B,L):(L=p(L,V.children||[]),L.return=B,L)}function ne(B,L,V,de,je){return L===null||L.tag!==7?(L=Es(V,B.mode,de,je),L.return=B,L):(L=p(L,V),L.return=B,L)}function oe(B,L,V){if(typeof L=="string"&&L!==""||typeof L=="number")return L=Fc(""+L,B.mode,V),L.return=B,L;if(typeof L=="object"&&L!==null){switch(L.$$typeof){case z:return V=Bo(L.type,L.key,L.props,null,B.mode,V),V.ref=ua(B,null,L),V.return=B,V;case F:return L=zc(L,B.mode,V),L.return=B,L;case we:var de=L._init;return oe(B,de(L._payload),V)}if(X(L)||re(L))return L=Es(L,B.mode,V,null),L.return=B,L;vo(B,L)}return null}function te(B,L,V,de){var je=L!==null?L.key:null;if(typeof V=="string"&&V!==""||typeof V=="number")return je!==null?null:N(B,L,""+V,de);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case z:return V.key===je?T(B,L,V,de):null;case F:return V.key===je?H(B,L,V,de):null;case we:return je=V._init,te(B,L,je(V._payload),de)}if(X(V)||re(V))return je!==null?null:ne(B,L,V,de,null);vo(B,V)}return null}function ye(B,L,V,de,je){if(typeof de=="string"&&de!==""||typeof de=="number")return B=B.get(V)||null,N(L,B,""+de,je);if(typeof de=="object"&&de!==null){switch(de.$$typeof){case z:return B=B.get(de.key===null?V:de.key)||null,T(L,B,de,je);case F:return B=B.get(de.key===null?V:de.key)||null,H(L,B,de,je);case we:var $e=de._init;return ye(B,L,V,$e(de._payload),je)}if(X(de)||re(de))return B=B.get(V)||null,ne(L,B,de,je,null);vo(L,de)}return null}function xe(B,L,V,de){for(var je=null,$e=null,Ae=L,Pe=L=0,Et=null;Ae!==null&&Pe<V.length;Pe++){Ae.index>Pe?(Et=Ae,Ae=null):Et=Ae.sibling;var Je=te(B,Ae,V[Pe],de);if(Je===null){Ae===null&&(Ae=Et);break}n&&Ae&&Je.alternate===null&&r(B,Ae),L=m(Je,L,Pe),$e===null?je=Je:$e.sibling=Je,$e=Je,Ae=Et}if(Pe===V.length)return o(B,Ae),lt&&_s(B,Pe),je;if(Ae===null){for(;Pe<V.length;Pe++)Ae=oe(B,V[Pe],de),Ae!==null&&(L=m(Ae,L,Pe),$e===null?je=Ae:$e.sibling=Ae,$e=Ae);return lt&&_s(B,Pe),je}for(Ae=u(B,Ae);Pe<V.length;Pe++)Et=ye(Ae,B,Pe,V[Pe],de),Et!==null&&(n&&Et.alternate!==null&&Ae.delete(Et.key===null?Pe:Et.key),L=m(Et,L,Pe),$e===null?je=Et:$e.sibling=Et,$e=Et);return n&&Ae.forEach(function(Zr){return r(B,Zr)}),lt&&_s(B,Pe),je}function be(B,L,V,de){var je=re(V);if(typeof je!="function")throw Error(s(150));if(V=je.call(V),V==null)throw Error(s(151));for(var $e=je=null,Ae=L,Pe=L=0,Et=null,Je=V.next();Ae!==null&&!Je.done;Pe++,Je=V.next()){Ae.index>Pe?(Et=Ae,Ae=null):Et=Ae.sibling;var Zr=te(B,Ae,Je.value,de);if(Zr===null){Ae===null&&(Ae=Et);break}n&&Ae&&Zr.alternate===null&&r(B,Ae),L=m(Zr,L,Pe),$e===null?je=Zr:$e.sibling=Zr,$e=Zr,Ae=Et}if(Je.done)return o(B,Ae),lt&&_s(B,Pe),je;if(Ae===null){for(;!Je.done;Pe++,Je=V.next())Je=oe(B,Je.value,de),Je!==null&&(L=m(Je,L,Pe),$e===null?je=Je:$e.sibling=Je,$e=Je);return lt&&_s(B,Pe),je}for(Ae=u(B,Ae);!Je.done;Pe++,Je=V.next())Je=ye(Ae,B,Pe,Je.value,de),Je!==null&&(n&&Je.alternate!==null&&Ae.delete(Je.key===null?Pe:Je.key),L=m(Je,L,Pe),$e===null?je=Je:$e.sibling=Je,$e=Je);return n&&Ae.forEach(function(hy){return r(B,hy)}),lt&&_s(B,Pe),je}function yt(B,L,V,de){if(typeof V=="object"&&V!==null&&V.type===P&&V.key===null&&(V=V.props.children),typeof V=="object"&&V!==null){switch(V.$$typeof){case z:e:{for(var je=V.key,$e=L;$e!==null;){if($e.key===je){if(je=V.type,je===P){if($e.tag===7){o(B,$e.sibling),L=p($e,V.props.children),L.return=B,B=L;break e}}else if($e.elementType===je||typeof je=="object"&&je!==null&&je.$$typeof===we&&Fd(je)===$e.type){o(B,$e.sibling),L=p($e,V.props),L.ref=ua(B,$e,V),L.return=B,B=L;break e}o(B,$e);break}else r(B,$e);$e=$e.sibling}V.type===P?(L=Es(V.props.children,B.mode,de,V.key),L.return=B,B=L):(de=Bo(V.type,V.key,V.props,null,B.mode,de),de.ref=ua(B,L,V),de.return=B,B=de)}return _(B);case F:e:{for($e=V.key;L!==null;){if(L.key===$e)if(L.tag===4&&L.stateNode.containerInfo===V.containerInfo&&L.stateNode.implementation===V.implementation){o(B,L.sibling),L=p(L,V.children||[]),L.return=B,B=L;break e}else{o(B,L);break}else r(B,L);L=L.sibling}L=zc(V,B.mode,de),L.return=B,B=L}return _(B);case we:return $e=V._init,yt(B,L,$e(V._payload),de)}if(X(V))return xe(B,L,V,de);if(re(V))return be(B,L,V,de);vo(B,V)}return typeof V=="string"&&V!==""||typeof V=="number"?(V=""+V,L!==null&&L.tag===6?(o(B,L.sibling),L=p(L,V),L.return=B,B=L):(o(B,L),L=Fc(V,B.mode,de),L.return=B,B=L),_(B)):o(B,L)}return yt}var di=zd(!0),Wd=zd(!1),_o=Wr(null),xo=null,fi=null,Ql=null;function Yl(){Ql=fi=xo=null}function Xl(n){var r=_o.current;it(_o),n._currentValue=r}function Zl(n,r,o){for(;n!==null;){var u=n.alternate;if((n.childLanes&r)!==r?(n.childLanes|=r,u!==null&&(u.childLanes|=r)):u!==null&&(u.childLanes&r)!==r&&(u.childLanes|=r),n===o)break;n=n.return}}function hi(n,r){xo=n,Ql=fi=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&r)!==0&&(en=!0),n.firstContext=null)}function Cn(n){var r=n._currentValue;if(Ql!==n)if(n={context:n,memoizedValue:r,next:null},fi===null){if(xo===null)throw Error(s(308));fi=n,xo.dependencies={lanes:0,firstContext:n}}else fi=fi.next=n;return r}var xs=null;function ql(n){xs===null?xs=[n]:xs.push(n)}function Ud(n,r,o,u){var p=r.interleaved;return p===null?(o.next=o,ql(r)):(o.next=p.next,p.next=o),r.interleaved=o,yr(n,u)}function yr(n,r){n.lanes|=r;var o=n.alternate;for(o!==null&&(o.lanes|=r),o=n,n=n.return;n!==null;)n.childLanes|=r,o=n.alternate,o!==null&&(o.childLanes|=r),o=n,n=n.return;return o.tag===3?o.stateNode:null}var Vr=!1;function ec(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Bd(n,r){n=n.updateQueue,r.updateQueue===n&&(r.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function wr(n,r){return{eventTime:n,lane:r,tag:0,payload:null,callback:null,next:null}}function Gr(n,r,o){var u=n.updateQueue;if(u===null)return null;if(u=u.shared,(Ke&2)!==0){var p=u.pending;return p===null?r.next=r:(r.next=p.next,p.next=r),u.pending=r,yr(n,o)}return p=u.interleaved,p===null?(r.next=r,ql(u)):(r.next=p.next,p.next=r),u.interleaved=r,yr(n,o)}function bo(n,r,o){if(r=r.updateQueue,r!==null&&(r=r.shared,(o&4194240)!==0)){var u=r.lanes;u&=n.pendingLanes,o|=u,r.lanes=o,Tr(n,o)}}function Vd(n,r){var o=n.updateQueue,u=n.alternate;if(u!==null&&(u=u.updateQueue,o===u)){var p=null,m=null;if(o=o.firstBaseUpdate,o!==null){do{var _={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};m===null?p=m=_:m=m.next=_,o=o.next}while(o!==null);m===null?p=m=r:m=m.next=r}else p=m=r;o={baseState:u.baseState,firstBaseUpdate:p,lastBaseUpdate:m,shared:u.shared,effects:u.effects},n.updateQueue=o;return}n=o.lastBaseUpdate,n===null?o.firstBaseUpdate=r:n.next=r,o.lastBaseUpdate=r}function ko(n,r,o,u){var p=n.updateQueue;Vr=!1;var m=p.firstBaseUpdate,_=p.lastBaseUpdate,N=p.shared.pending;if(N!==null){p.shared.pending=null;var T=N,H=T.next;T.next=null,_===null?m=H:_.next=H,_=T;var ne=n.alternate;ne!==null&&(ne=ne.updateQueue,N=ne.lastBaseUpdate,N!==_&&(N===null?ne.firstBaseUpdate=H:N.next=H,ne.lastBaseUpdate=T))}if(m!==null){var oe=p.baseState;_=0,ne=H=T=null,N=m;do{var te=N.lane,ye=N.eventTime;if((u&te)===te){ne!==null&&(ne=ne.next={eventTime:ye,lane:0,tag:N.tag,payload:N.payload,callback:N.callback,next:null});e:{var xe=n,be=N;switch(te=r,ye=o,be.tag){case 1:if(xe=be.payload,typeof xe=="function"){oe=xe.call(ye,oe,te);break e}oe=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=be.payload,te=typeof xe=="function"?xe.call(ye,oe,te):xe,te==null)break e;oe=ie({},oe,te);break e;case 2:Vr=!0}}N.callback!==null&&N.lane!==0&&(n.flags|=64,te=p.effects,te===null?p.effects=[N]:te.push(N))}else ye={eventTime:ye,lane:te,tag:N.tag,payload:N.payload,callback:N.callback,next:null},ne===null?(H=ne=ye,T=oe):ne=ne.next=ye,_|=te;if(N=N.next,N===null){if(N=p.shared.pending,N===null)break;te=N,N=te.next,te.next=null,p.lastBaseUpdate=te,p.shared.pending=null}}while(!0);if(ne===null&&(T=oe),p.baseState=T,p.firstBaseUpdate=H,p.lastBaseUpdate=ne,r=p.shared.interleaved,r!==null){p=r;do _|=p.lane,p=p.next;while(p!==r)}else m===null&&(p.shared.lanes=0);js|=_,n.lanes=_,n.memoizedState=oe}}function Gd(n,r,o){if(n=r.effects,r.effects=null,n!==null)for(r=0;r<n.length;r++){var u=n[r],p=u.callback;if(p!==null){if(u.callback=null,u=o,typeof p!="function")throw Error(s(191,p));p.call(u)}}}var da={},Xn=Wr(da),fa=Wr(da),ha=Wr(da);function bs(n){if(n===da)throw Error(s(174));return n}function tc(n,r){switch(tt(ha,r),tt(fa,n),tt(Xn,da),n=r.nodeType,n){case 9:case 11:r=(r=r.documentElement)?r.namespaceURI:At(null,"");break;default:n=n===8?r.parentNode:r,r=n.namespaceURI||null,n=n.tagName,r=At(r,n)}it(Xn),tt(Xn,r)}function pi(){it(Xn),it(fa),it(ha)}function Hd(n){bs(ha.current);var r=bs(Xn.current),o=At(r,n.type);r!==o&&(tt(fa,n),tt(Xn,o))}function nc(n){fa.current===n&&(it(Xn),it(fa))}var ut=Wr(0);function jo(n){for(var r=n;r!==null;){if(r.tag===13){var o=r.memoizedState;if(o!==null&&(o=o.dehydrated,o===null||o.data==="$?"||o.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===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return null;r=r.return}r.sibling.return=r.return,r=r.sibling}return null}var rc=[];function sc(){for(var n=0;n<rc.length;n++)rc[n]._workInProgressVersionPrimary=null;rc.length=0}var So=A.ReactCurrentDispatcher,ic=A.ReactCurrentBatchConfig,ks=0,dt=null,_t=null,Nt=null,No=!1,pa=!1,ma=0,Lg=0;function Ft(){throw Error(s(321))}function ac(n,r){if(r===null)return!1;for(var o=0;o<r.length&&o<n.length;o++)if(!On(n[o],r[o]))return!1;return!0}function oc(n,r,o,u,p,m){if(ks=m,dt=r,r.memoizedState=null,r.updateQueue=null,r.lanes=0,So.current=n===null||n.memoizedState===null?Fg:zg,n=o(u,p),pa){m=0;do{if(pa=!1,ma=0,25<=m)throw Error(s(301));m+=1,Nt=_t=null,r.updateQueue=null,So.current=Wg,n=o(u,p)}while(pa)}if(So.current=$o,r=_t!==null&&_t.next!==null,ks=0,Nt=_t=dt=null,No=!1,r)throw Error(s(300));return n}function lc(){var n=ma!==0;return ma=0,n}function Zn(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Nt===null?dt.memoizedState=Nt=n:Nt=Nt.next=n,Nt}function En(){if(_t===null){var n=dt.alternate;n=n!==null?n.memoizedState:null}else n=_t.next;var r=Nt===null?dt.memoizedState:Nt.next;if(r!==null)Nt=r,_t=n;else{if(n===null)throw Error(s(310));_t=n,n={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},Nt===null?dt.memoizedState=Nt=n:Nt=Nt.next=n}return Nt}function ga(n,r){return typeof r=="function"?r(n):r}function cc(n){var r=En(),o=r.queue;if(o===null)throw Error(s(311));o.lastRenderedReducer=n;var u=_t,p=u.baseQueue,m=o.pending;if(m!==null){if(p!==null){var _=p.next;p.next=m.next,m.next=_}u.baseQueue=p=m,o.pending=null}if(p!==null){m=p.next,u=u.baseState;var N=_=null,T=null,H=m;do{var ne=H.lane;if((ks&ne)===ne)T!==null&&(T=T.next={lane:0,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null}),u=H.hasEagerState?H.eagerState:n(u,H.action);else{var oe={lane:ne,action:H.action,hasEagerState:H.hasEagerState,eagerState:H.eagerState,next:null};T===null?(N=T=oe,_=u):T=T.next=oe,dt.lanes|=ne,js|=ne}H=H.next}while(H!==null&&H!==m);T===null?_=u:T.next=N,On(u,r.memoizedState)||(en=!0),r.memoizedState=u,r.baseState=_,r.baseQueue=T,o.lastRenderedState=u}if(n=o.interleaved,n!==null){p=n;do m=p.lane,dt.lanes|=m,js|=m,p=p.next;while(p!==n)}else p===null&&(o.lanes=0);return[r.memoizedState,o.dispatch]}function uc(n){var r=En(),o=r.queue;if(o===null)throw Error(s(311));o.lastRenderedReducer=n;var u=o.dispatch,p=o.pending,m=r.memoizedState;if(p!==null){o.pending=null;var _=p=p.next;do m=n(m,_.action),_=_.next;while(_!==p);On(m,r.memoizedState)||(en=!0),r.memoizedState=m,r.baseQueue===null&&(r.baseState=m),o.lastRenderedState=m}return[m,u]}function Kd(){}function Jd(n,r){var o=dt,u=En(),p=r(),m=!On(u.memoizedState,p);if(m&&(u.memoizedState=p,en=!0),u=u.queue,dc(Xd.bind(null,o,u,n),[n]),u.getSnapshot!==r||m||Nt!==null&&Nt.memoizedState.tag&1){if(o.flags|=2048,ya(9,Yd.bind(null,o,u,p,r),void 0,null),Ct===null)throw Error(s(349));(ks&30)!==0||Qd(o,r,p)}return p}function Qd(n,r,o){n.flags|=16384,n={getSnapshot:r,value:o},r=dt.updateQueue,r===null?(r={lastEffect:null,stores:null},dt.updateQueue=r,r.stores=[n]):(o=r.stores,o===null?r.stores=[n]:o.push(n))}function Yd(n,r,o,u){r.value=o,r.getSnapshot=u,Zd(r)&&qd(n)}function Xd(n,r,o){return o(function(){Zd(r)&&qd(n)})}function Zd(n){var r=n.getSnapshot;n=n.value;try{var o=r();return!On(n,o)}catch{return!0}}function qd(n){var r=yr(n,1);r!==null&&Un(r,n,1,-1)}function ef(n){var r=Zn();return typeof n=="function"&&(n=n()),r.memoizedState=r.baseState=n,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:n},r.queue=n,n=n.dispatch=Dg.bind(null,dt,n),[r.memoizedState,n]}function ya(n,r,o,u){return n={tag:n,create:r,destroy:o,deps:u,next:null},r=dt.updateQueue,r===null?(r={lastEffect:null,stores:null},dt.updateQueue=r,r.lastEffect=n.next=n):(o=r.lastEffect,o===null?r.lastEffect=n.next=n:(u=o.next,o.next=n,n.next=u,r.lastEffect=n)),n}function tf(){return En().memoizedState}function Co(n,r,o,u){var p=Zn();dt.flags|=n,p.memoizedState=ya(1|r,o,void 0,u===void 0?null:u)}function Eo(n,r,o,u){var p=En();u=u===void 0?null:u;var m=void 0;if(_t!==null){var _=_t.memoizedState;if(m=_.destroy,u!==null&&ac(u,_.deps)){p.memoizedState=ya(r,o,m,u);return}}dt.flags|=n,p.memoizedState=ya(1|r,o,m,u)}function nf(n,r){return Co(8390656,8,n,r)}function dc(n,r){return Eo(2048,8,n,r)}function rf(n,r){return Eo(4,2,n,r)}function sf(n,r){return Eo(4,4,n,r)}function af(n,r){if(typeof r=="function")return n=n(),r(n),function(){r(null)};if(r!=null)return n=n(),r.current=n,function(){r.current=null}}function of(n,r,o){return o=o!=null?o.concat([n]):null,Eo(4,4,af.bind(null,r,n),o)}function fc(){}function lf(n,r){var o=En();r=r===void 0?null:r;var u=o.memoizedState;return u!==null&&r!==null&&ac(r,u[1])?u[0]:(o.memoizedState=[n,r],n)}function cf(n,r){var o=En();r=r===void 0?null:r;var u=o.memoizedState;return u!==null&&r!==null&&ac(r,u[1])?u[0]:(n=n(),o.memoizedState=[n,r],n)}function uf(n,r,o){return(ks&21)===0?(n.baseState&&(n.baseState=!1,en=!0),n.memoizedState=o):(On(o,r)||(o=xn(),dt.lanes|=o,js|=o,n.baseState=!0),r)}function Pg(n,r){var o=Fe;Fe=o!==0&&4>o?o:4,n(!0);var u=ic.transition;ic.transition={};try{n(!1),r()}finally{Fe=o,ic.transition=u}}function df(){return En().memoizedState}function Og(n,r,o){var u=Qr(n);if(o={lane:u,action:o,hasEagerState:!1,eagerState:null,next:null},ff(n))hf(r,o);else if(o=Ud(n,r,o,u),o!==null){var p=Kt();Un(o,n,u,p),pf(o,r,u)}}function Dg(n,r,o){var u=Qr(n),p={lane:u,action:o,hasEagerState:!1,eagerState:null,next:null};if(ff(n))hf(r,p);else{var m=n.alternate;if(n.lanes===0&&(m===null||m.lanes===0)&&(m=r.lastRenderedReducer,m!==null))try{var _=r.lastRenderedState,N=m(_,o);if(p.hasEagerState=!0,p.eagerState=N,On(N,_)){var T=r.interleaved;T===null?(p.next=p,ql(r)):(p.next=T.next,T.next=p),r.interleaved=p;return}}catch{}finally{}o=Ud(n,r,p,u),o!==null&&(p=Kt(),Un(o,n,u,p),pf(o,r,u))}}function ff(n){var r=n.alternate;return n===dt||r!==null&&r===dt}function hf(n,r){pa=No=!0;var o=n.pending;o===null?r.next=r:(r.next=o.next,o.next=r),n.pending=r}function pf(n,r,o){if((o&4194240)!==0){var u=r.lanes;u&=n.pendingLanes,o|=u,r.lanes=o,Tr(n,o)}}var $o={readContext:Cn,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},Fg={readContext:Cn,useCallback:function(n,r){return Zn().memoizedState=[n,r===void 0?null:r],n},useContext:Cn,useEffect:nf,useImperativeHandle:function(n,r,o){return o=o!=null?o.concat([n]):null,Co(4194308,4,af.bind(null,r,n),o)},useLayoutEffect:function(n,r){return Co(4194308,4,n,r)},useInsertionEffect:function(n,r){return Co(4,2,n,r)},useMemo:function(n,r){var o=Zn();return r=r===void 0?null:r,n=n(),o.memoizedState=[n,r],n},useReducer:function(n,r,o){var u=Zn();return r=o!==void 0?o(r):r,u.memoizedState=u.baseState=r,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:r},u.queue=n,n=n.dispatch=Og.bind(null,dt,n),[u.memoizedState,n]},useRef:function(n){var r=Zn();return n={current:n},r.memoizedState=n},useState:ef,useDebugValue:fc,useDeferredValue:function(n){return Zn().memoizedState=n},useTransition:function(){var n=ef(!1),r=n[0];return n=Pg.bind(null,n[1]),Zn().memoizedState=n,[r,n]},useMutableSource:function(){},useSyncExternalStore:function(n,r,o){var u=dt,p=Zn();if(lt){if(o===void 0)throw Error(s(407));o=o()}else{if(o=r(),Ct===null)throw Error(s(349));(ks&30)!==0||Qd(u,r,o)}p.memoizedState=o;var m={value:o,getSnapshot:r};return p.queue=m,nf(Xd.bind(null,u,m,n),[n]),u.flags|=2048,ya(9,Yd.bind(null,u,m,o,r),void 0,null),o},useId:function(){var n=Zn(),r=Ct.identifierPrefix;if(lt){var o=gr,u=mr;o=(u&~(1<<32-ct(u)-1)).toString(32)+o,r=":"+r+"R"+o,o=ma++,0<o&&(r+="H"+o.toString(32)),r+=":"}else o=Lg++,r=":"+r+"r"+o.toString(32)+":";return n.memoizedState=r},unstable_isNewReconciler:!1},zg={readContext:Cn,useCallback:lf,useContext:Cn,useEffect:dc,useImperativeHandle:of,useInsertionEffect:rf,useLayoutEffect:sf,useMemo:cf,useReducer:cc,useRef:tf,useState:function(){return cc(ga)},useDebugValue:fc,useDeferredValue:function(n){var r=En();return uf(r,_t.memoizedState,n)},useTransition:function(){var n=cc(ga)[0],r=En().memoizedState;return[n,r]},useMutableSource:Kd,useSyncExternalStore:Jd,useId:df,unstable_isNewReconciler:!1},Wg={readContext:Cn,useCallback:lf,useContext:Cn,useEffect:dc,useImperativeHandle:of,useInsertionEffect:rf,useLayoutEffect:sf,useMemo:cf,useReducer:uc,useRef:tf,useState:function(){return uc(ga)},useDebugValue:fc,useDeferredValue:function(n){var r=En();return _t===null?r.memoizedState=n:uf(r,_t.memoizedState,n)},useTransition:function(){var n=uc(ga)[0],r=En().memoizedState;return[n,r]},useMutableSource:Kd,useSyncExternalStore:Jd,useId:df,unstable_isNewReconciler:!1};function Fn(n,r){if(n&&n.defaultProps){r=ie({},r),n=n.defaultProps;for(var o in n)r[o]===void 0&&(r[o]=n[o]);return r}return r}function hc(n,r,o,u){r=n.memoizedState,o=o(u,r),o=o==null?r:ie({},r,o),n.memoizedState=o,n.lanes===0&&(n.updateQueue.baseState=o)}var Ao={isMounted:function(n){return(n=n._reactInternals)?Hn(n)===n:!1},enqueueSetState:function(n,r,o){n=n._reactInternals;var u=Kt(),p=Qr(n),m=wr(u,p);m.payload=r,o!=null&&(m.callback=o),r=Gr(n,m,p),r!==null&&(Un(r,n,p,u),bo(r,n,p))},enqueueReplaceState:function(n,r,o){n=n._reactInternals;var u=Kt(),p=Qr(n),m=wr(u,p);m.tag=1,m.payload=r,o!=null&&(m.callback=o),r=Gr(n,m,p),r!==null&&(Un(r,n,p,u),bo(r,n,p))},enqueueForceUpdate:function(n,r){n=n._reactInternals;var o=Kt(),u=Qr(n),p=wr(o,u);p.tag=2,r!=null&&(p.callback=r),r=Gr(n,p,u),r!==null&&(Un(r,n,u,o),bo(r,n,u))}};function mf(n,r,o,u,p,m,_){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(u,m,_):r.prototype&&r.prototype.isPureReactComponent?!ra(o,u)||!ra(p,m):!0}function gf(n,r,o){var u=!1,p=Ur,m=r.contextType;return typeof m=="object"&&m!==null?m=Cn(m):(p=qt(r)?ws:Dt.current,u=r.contextTypes,m=(u=u!=null)?oi(n,p):Ur),r=new r(o,m),n.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=Ao,n.stateNode=r,r._reactInternals=n,u&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=p,n.__reactInternalMemoizedMaskedChildContext=m),r}function yf(n,r,o,u){n=r.state,typeof r.componentWillReceiveProps=="function"&&r.componentWillReceiveProps(o,u),typeof r.UNSAFE_componentWillReceiveProps=="function"&&r.UNSAFE_componentWillReceiveProps(o,u),r.state!==n&&Ao.enqueueReplaceState(r,r.state,null)}function pc(n,r,o,u){var p=n.stateNode;p.props=o,p.state=n.memoizedState,p.refs={},ec(n);var m=r.contextType;typeof m=="object"&&m!==null?p.context=Cn(m):(m=qt(r)?ws:Dt.current,p.context=oi(n,m)),p.state=n.memoizedState,m=r.getDerivedStateFromProps,typeof m=="function"&&(hc(n,r,m,o),p.state=n.memoizedState),typeof r.getDerivedStateFromProps=="function"||typeof p.getSnapshotBeforeUpdate=="function"||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(r=p.state,typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount(),r!==p.state&&Ao.enqueueReplaceState(p,p.state,null),ko(n,o,p,u),p.state=n.memoizedState),typeof p.componentDidMount=="function"&&(n.flags|=4194308)}function mi(n,r){try{var o="",u=r;do o+=se(u),u=u.return;while(u);var p=o}catch(m){p=`
|
|
39
|
+
Error generating stack: `+m.message+`
|
|
40
|
+
`+m.stack}return{value:n,source:r,stack:p,digest:null}}function mc(n,r,o){return{value:n,source:null,stack:o??null,digest:r??null}}function gc(n,r){try{console.error(r.value)}catch(o){setTimeout(function(){throw o})}}var Ug=typeof WeakMap=="function"?WeakMap:Map;function wf(n,r,o){o=wr(-1,o),o.tag=3,o.payload={element:null};var u=r.value;return o.callback=function(){Oo||(Oo=!0,Tc=u),gc(n,r)},o}function vf(n,r,o){o=wr(-1,o),o.tag=3;var u=n.type.getDerivedStateFromError;if(typeof u=="function"){var p=r.value;o.payload=function(){return u(p)},o.callback=function(){gc(n,r)}}var m=n.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(o.callback=function(){gc(n,r),typeof u!="function"&&(Kr===null?Kr=new Set([this]):Kr.add(this));var _=r.stack;this.componentDidCatch(r.value,{componentStack:_!==null?_:""})}),o}function _f(n,r,o){var u=n.pingCache;if(u===null){u=n.pingCache=new Ug;var p=new Set;u.set(r,p)}else p=u.get(r),p===void 0&&(p=new Set,u.set(r,p));p.has(o)||(p.add(o),n=ny.bind(null,n,r,o),r.then(n,n))}function xf(n){do{var r;if((r=n.tag===13)&&(r=n.memoizedState,r=r!==null?r.dehydrated!==null:!0),r)return n;n=n.return}while(n!==null);return null}function bf(n,r,o,u,p){return(n.mode&1)===0?(n===r?n.flags|=65536:(n.flags|=128,o.flags|=131072,o.flags&=-52805,o.tag===1&&(o.alternate===null?o.tag=17:(r=wr(-1,1),r.tag=2,Gr(o,r,1))),o.lanes|=1),n):(n.flags|=65536,n.lanes=p,n)}var Bg=A.ReactCurrentOwner,en=!1;function Ht(n,r,o,u){r.child=n===null?Wd(r,null,o,u):di(r,n.child,o,u)}function kf(n,r,o,u,p){o=o.render;var m=r.ref;return hi(r,p),u=oc(n,r,o,u,m,p),o=lc(),n!==null&&!en?(r.updateQueue=n.updateQueue,r.flags&=-2053,n.lanes&=~p,vr(n,r,p)):(lt&&o&&Vl(r),r.flags|=1,Ht(n,r,u,p),r.child)}function jf(n,r,o,u,p){if(n===null){var m=o.type;return typeof m=="function"&&!Dc(m)&&m.defaultProps===void 0&&o.compare===null&&o.defaultProps===void 0?(r.tag=15,r.type=m,Sf(n,r,m,u,p)):(n=Bo(o.type,null,u,r,r.mode,p),n.ref=r.ref,n.return=r,r.child=n)}if(m=n.child,(n.lanes&p)===0){var _=m.memoizedProps;if(o=o.compare,o=o!==null?o:ra,o(_,u)&&n.ref===r.ref)return vr(n,r,p)}return r.flags|=1,n=Xr(m,u),n.ref=r.ref,n.return=r,r.child=n}function Sf(n,r,o,u,p){if(n!==null){var m=n.memoizedProps;if(ra(m,u)&&n.ref===r.ref)if(en=!1,r.pendingProps=u=m,(n.lanes&p)!==0)(n.flags&131072)!==0&&(en=!0);else return r.lanes=n.lanes,vr(n,r,p)}return yc(n,r,o,u,p)}function Nf(n,r,o){var u=r.pendingProps,p=u.children,m=n!==null?n.memoizedState:null;if(u.mode==="hidden")if((r.mode&1)===0)r.memoizedState={baseLanes:0,cachePool:null,transitions:null},tt(yi,pn),pn|=o;else{if((o&1073741824)===0)return n=m!==null?m.baseLanes|o:o,r.lanes=r.childLanes=1073741824,r.memoizedState={baseLanes:n,cachePool:null,transitions:null},r.updateQueue=null,tt(yi,pn),pn|=n,null;r.memoizedState={baseLanes:0,cachePool:null,transitions:null},u=m!==null?m.baseLanes:o,tt(yi,pn),pn|=u}else m!==null?(u=m.baseLanes|o,r.memoizedState=null):u=o,tt(yi,pn),pn|=u;return Ht(n,r,p,o),r.child}function Cf(n,r){var o=r.ref;(n===null&&o!==null||n!==null&&n.ref!==o)&&(r.flags|=512,r.flags|=2097152)}function yc(n,r,o,u,p){var m=qt(o)?ws:Dt.current;return m=oi(r,m),hi(r,p),o=oc(n,r,o,u,m,p),u=lc(),n!==null&&!en?(r.updateQueue=n.updateQueue,r.flags&=-2053,n.lanes&=~p,vr(n,r,p)):(lt&&u&&Vl(r),r.flags|=1,Ht(n,r,o,p),r.child)}function Ef(n,r,o,u,p){if(qt(o)){var m=!0;po(r)}else m=!1;if(hi(r,p),r.stateNode===null)Ro(n,r),gf(r,o,u),pc(r,o,u,p),u=!0;else if(n===null){var _=r.stateNode,N=r.memoizedProps;_.props=N;var T=_.context,H=o.contextType;typeof H=="object"&&H!==null?H=Cn(H):(H=qt(o)?ws:Dt.current,H=oi(r,H));var ne=o.getDerivedStateFromProps,oe=typeof ne=="function"||typeof _.getSnapshotBeforeUpdate=="function";oe||typeof _.UNSAFE_componentWillReceiveProps!="function"&&typeof _.componentWillReceiveProps!="function"||(N!==u||T!==H)&&yf(r,_,u,H),Vr=!1;var te=r.memoizedState;_.state=te,ko(r,u,_,p),T=r.memoizedState,N!==u||te!==T||Zt.current||Vr?(typeof ne=="function"&&(hc(r,o,ne,u),T=r.memoizedState),(N=Vr||mf(r,o,N,u,te,T,H))?(oe||typeof _.UNSAFE_componentWillMount!="function"&&typeof _.componentWillMount!="function"||(typeof _.componentWillMount=="function"&&_.componentWillMount(),typeof _.UNSAFE_componentWillMount=="function"&&_.UNSAFE_componentWillMount()),typeof _.componentDidMount=="function"&&(r.flags|=4194308)):(typeof _.componentDidMount=="function"&&(r.flags|=4194308),r.memoizedProps=u,r.memoizedState=T),_.props=u,_.state=T,_.context=H,u=N):(typeof _.componentDidMount=="function"&&(r.flags|=4194308),u=!1)}else{_=r.stateNode,Bd(n,r),N=r.memoizedProps,H=r.type===r.elementType?N:Fn(r.type,N),_.props=H,oe=r.pendingProps,te=_.context,T=o.contextType,typeof T=="object"&&T!==null?T=Cn(T):(T=qt(o)?ws:Dt.current,T=oi(r,T));var ye=o.getDerivedStateFromProps;(ne=typeof ye=="function"||typeof _.getSnapshotBeforeUpdate=="function")||typeof _.UNSAFE_componentWillReceiveProps!="function"&&typeof _.componentWillReceiveProps!="function"||(N!==oe||te!==T)&&yf(r,_,u,T),Vr=!1,te=r.memoizedState,_.state=te,ko(r,u,_,p);var xe=r.memoizedState;N!==oe||te!==xe||Zt.current||Vr?(typeof ye=="function"&&(hc(r,o,ye,u),xe=r.memoizedState),(H=Vr||mf(r,o,H,u,te,xe,T)||!1)?(ne||typeof _.UNSAFE_componentWillUpdate!="function"&&typeof _.componentWillUpdate!="function"||(typeof _.componentWillUpdate=="function"&&_.componentWillUpdate(u,xe,T),typeof _.UNSAFE_componentWillUpdate=="function"&&_.UNSAFE_componentWillUpdate(u,xe,T)),typeof _.componentDidUpdate=="function"&&(r.flags|=4),typeof _.getSnapshotBeforeUpdate=="function"&&(r.flags|=1024)):(typeof _.componentDidUpdate!="function"||N===n.memoizedProps&&te===n.memoizedState||(r.flags|=4),typeof _.getSnapshotBeforeUpdate!="function"||N===n.memoizedProps&&te===n.memoizedState||(r.flags|=1024),r.memoizedProps=u,r.memoizedState=xe),_.props=u,_.state=xe,_.context=T,u=H):(typeof _.componentDidUpdate!="function"||N===n.memoizedProps&&te===n.memoizedState||(r.flags|=4),typeof _.getSnapshotBeforeUpdate!="function"||N===n.memoizedProps&&te===n.memoizedState||(r.flags|=1024),u=!1)}return wc(n,r,o,u,m,p)}function wc(n,r,o,u,p,m){Cf(n,r);var _=(r.flags&128)!==0;if(!u&&!_)return p&&Rd(r,o,!1),vr(n,r,m);u=r.stateNode,Bg.current=r;var N=_&&typeof o.getDerivedStateFromError!="function"?null:u.render();return r.flags|=1,n!==null&&_?(r.child=di(r,n.child,null,m),r.child=di(r,null,N,m)):Ht(n,r,N,m),r.memoizedState=u.state,p&&Rd(r,o,!0),r.child}function $f(n){var r=n.stateNode;r.pendingContext?Ad(n,r.pendingContext,r.pendingContext!==r.context):r.context&&Ad(n,r.context,!1),tc(n,r.containerInfo)}function Af(n,r,o,u,p){return ui(),Jl(p),r.flags|=256,Ht(n,r,o,u),r.child}var vc={dehydrated:null,treeContext:null,retryLane:0};function _c(n){return{baseLanes:n,cachePool:null,transitions:null}}function Tf(n,r,o){var u=r.pendingProps,p=ut.current,m=!1,_=(r.flags&128)!==0,N;if((N=_)||(N=n!==null&&n.memoizedState===null?!1:(p&2)!==0),N?(m=!0,r.flags&=-129):(n===null||n.memoizedState!==null)&&(p|=1),tt(ut,p&1),n===null)return Kl(r),n=r.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?((r.mode&1)===0?r.lanes=1:n.data==="$!"?r.lanes=8:r.lanes=1073741824,null):(_=u.children,n=u.fallback,m?(u=r.mode,m=r.child,_={mode:"hidden",children:_},(u&1)===0&&m!==null?(m.childLanes=0,m.pendingProps=_):m=Vo(_,u,0,null),n=Es(n,u,o,null),m.return=r,n.return=r,m.sibling=n,r.child=m,r.child.memoizedState=_c(o),r.memoizedState=vc,n):xc(r,_));if(p=n.memoizedState,p!==null&&(N=p.dehydrated,N!==null))return Vg(n,r,_,u,N,p,o);if(m){m=u.fallback,_=r.mode,p=n.child,N=p.sibling;var T={mode:"hidden",children:u.children};return(_&1)===0&&r.child!==p?(u=r.child,u.childLanes=0,u.pendingProps=T,r.deletions=null):(u=Xr(p,T),u.subtreeFlags=p.subtreeFlags&14680064),N!==null?m=Xr(N,m):(m=Es(m,_,o,null),m.flags|=2),m.return=r,u.return=r,u.sibling=m,r.child=u,u=m,m=r.child,_=n.child.memoizedState,_=_===null?_c(o):{baseLanes:_.baseLanes|o,cachePool:null,transitions:_.transitions},m.memoizedState=_,m.childLanes=n.childLanes&~o,r.memoizedState=vc,u}return m=n.child,n=m.sibling,u=Xr(m,{mode:"visible",children:u.children}),(r.mode&1)===0&&(u.lanes=o),u.return=r,u.sibling=null,n!==null&&(o=r.deletions,o===null?(r.deletions=[n],r.flags|=16):o.push(n)),r.child=u,r.memoizedState=null,u}function xc(n,r){return r=Vo({mode:"visible",children:r},n.mode,0,null),r.return=n,n.child=r}function To(n,r,o,u){return u!==null&&Jl(u),di(r,n.child,null,o),n=xc(r,r.pendingProps.children),n.flags|=2,r.memoizedState=null,n}function Vg(n,r,o,u,p,m,_){if(o)return r.flags&256?(r.flags&=-257,u=mc(Error(s(422))),To(n,r,_,u)):r.memoizedState!==null?(r.child=n.child,r.flags|=128,null):(m=u.fallback,p=r.mode,u=Vo({mode:"visible",children:u.children},p,0,null),m=Es(m,p,_,null),m.flags|=2,u.return=r,m.return=r,u.sibling=m,r.child=u,(r.mode&1)!==0&&di(r,n.child,null,_),r.child.memoizedState=_c(_),r.memoizedState=vc,m);if((r.mode&1)===0)return To(n,r,_,null);if(p.data==="$!"){if(u=p.nextSibling&&p.nextSibling.dataset,u)var N=u.dgst;return u=N,m=Error(s(419)),u=mc(m,u,void 0),To(n,r,_,u)}if(N=(_&n.childLanes)!==0,en||N){if(u=Ct,u!==null){switch(_&-_){case 4:p=2;break;case 16:p=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:p=32;break;case 536870912:p=268435456;break;default:p=0}p=(p&(u.suspendedLanes|_))!==0?0:p,p!==0&&p!==m.retryLane&&(m.retryLane=p,yr(n,p),Un(u,n,p,-1))}return Oc(),u=mc(Error(s(421))),To(n,r,_,u)}return p.data==="$?"?(r.flags|=128,r.child=n.child,r=ry.bind(null,n),p._reactRetry=r,null):(n=m.treeContext,hn=zr(p.nextSibling),fn=r,lt=!0,Dn=null,n!==null&&(Sn[Nn++]=mr,Sn[Nn++]=gr,Sn[Nn++]=vs,mr=n.id,gr=n.overflow,vs=r),r=xc(r,u.children),r.flags|=4096,r)}function Rf(n,r,o){n.lanes|=r;var u=n.alternate;u!==null&&(u.lanes|=r),Zl(n.return,r,o)}function bc(n,r,o,u,p){var m=n.memoizedState;m===null?n.memoizedState={isBackwards:r,rendering:null,renderingStartTime:0,last:u,tail:o,tailMode:p}:(m.isBackwards=r,m.rendering=null,m.renderingStartTime=0,m.last=u,m.tail=o,m.tailMode=p)}function If(n,r,o){var u=r.pendingProps,p=u.revealOrder,m=u.tail;if(Ht(n,r,u.children,o),u=ut.current,(u&2)!==0)u=u&1|2,r.flags|=128;else{if(n!==null&&(n.flags&128)!==0)e:for(n=r.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&Rf(n,o,r);else if(n.tag===19)Rf(n,o,r);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===r)break e;for(;n.sibling===null;){if(n.return===null||n.return===r)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}u&=1}if(tt(ut,u),(r.mode&1)===0)r.memoizedState=null;else switch(p){case"forwards":for(o=r.child,p=null;o!==null;)n=o.alternate,n!==null&&jo(n)===null&&(p=o),o=o.sibling;o=p,o===null?(p=r.child,r.child=null):(p=o.sibling,o.sibling=null),bc(r,!1,p,o,m);break;case"backwards":for(o=null,p=r.child,r.child=null;p!==null;){if(n=p.alternate,n!==null&&jo(n)===null){r.child=p;break}n=p.sibling,p.sibling=o,o=p,p=n}bc(r,!0,o,null,m);break;case"together":bc(r,!1,null,null,void 0);break;default:r.memoizedState=null}return r.child}function Ro(n,r){(r.mode&1)===0&&n!==null&&(n.alternate=null,r.alternate=null,r.flags|=2)}function vr(n,r,o){if(n!==null&&(r.dependencies=n.dependencies),js|=r.lanes,(o&r.childLanes)===0)return null;if(n!==null&&r.child!==n.child)throw Error(s(153));if(r.child!==null){for(n=r.child,o=Xr(n,n.pendingProps),r.child=o,o.return=r;n.sibling!==null;)n=n.sibling,o=o.sibling=Xr(n,n.pendingProps),o.return=r;o.sibling=null}return r.child}function Gg(n,r,o){switch(r.tag){case 3:$f(r),ui();break;case 5:Hd(r);break;case 1:qt(r.type)&&po(r);break;case 4:tc(r,r.stateNode.containerInfo);break;case 10:var u=r.type._context,p=r.memoizedProps.value;tt(_o,u._currentValue),u._currentValue=p;break;case 13:if(u=r.memoizedState,u!==null)return u.dehydrated!==null?(tt(ut,ut.current&1),r.flags|=128,null):(o&r.child.childLanes)!==0?Tf(n,r,o):(tt(ut,ut.current&1),n=vr(n,r,o),n!==null?n.sibling:null);tt(ut,ut.current&1);break;case 19:if(u=(o&r.childLanes)!==0,(n.flags&128)!==0){if(u)return If(n,r,o);r.flags|=128}if(p=r.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),tt(ut,ut.current),u)break;return null;case 22:case 23:return r.lanes=0,Nf(n,r,o)}return vr(n,r,o)}var Mf,kc,Lf,Pf;Mf=function(n,r){for(var o=r.child;o!==null;){if(o.tag===5||o.tag===6)n.appendChild(o.stateNode);else if(o.tag!==4&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===r)break;for(;o.sibling===null;){if(o.return===null||o.return===r)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},kc=function(){},Lf=function(n,r,o,u){var p=n.memoizedProps;if(p!==u){n=r.stateNode,bs(Xn.current);var m=null;switch(o){case"input":p=me(n,p),u=me(n,u),m=[];break;case"select":p=ie({},p,{value:void 0}),u=ie({},u,{value:void 0}),m=[];break;case"textarea":p=Le(n,p),u=Le(n,u),m=[];break;default:typeof p.onClick!="function"&&typeof u.onClick=="function"&&(n.onclick=uo)}Li(o,u);var _;o=null;for(H in p)if(!u.hasOwnProperty(H)&&p.hasOwnProperty(H)&&p[H]!=null)if(H==="style"){var N=p[H];for(_ in N)N.hasOwnProperty(_)&&(o||(o={}),o[_]="")}else H!=="dangerouslySetInnerHTML"&&H!=="children"&&H!=="suppressContentEditableWarning"&&H!=="suppressHydrationWarning"&&H!=="autoFocus"&&(l.hasOwnProperty(H)?m||(m=[]):(m=m||[]).push(H,null));for(H in u){var T=u[H];if(N=p!=null?p[H]:void 0,u.hasOwnProperty(H)&&T!==N&&(T!=null||N!=null))if(H==="style")if(N){for(_ in N)!N.hasOwnProperty(_)||T&&T.hasOwnProperty(_)||(o||(o={}),o[_]="");for(_ in T)T.hasOwnProperty(_)&&N[_]!==T[_]&&(o||(o={}),o[_]=T[_])}else o||(m||(m=[]),m.push(H,o)),o=T;else H==="dangerouslySetInnerHTML"?(T=T?T.__html:void 0,N=N?N.__html:void 0,T!=null&&N!==T&&(m=m||[]).push(H,T)):H==="children"?typeof T!="string"&&typeof T!="number"||(m=m||[]).push(H,""+T):H!=="suppressContentEditableWarning"&&H!=="suppressHydrationWarning"&&(l.hasOwnProperty(H)?(T!=null&&H==="onScroll"&&st("scroll",n),m||N===T||(m=[])):(m=m||[]).push(H,T))}o&&(m=m||[]).push("style",o);var H=m;(r.updateQueue=H)&&(r.flags|=4)}},Pf=function(n,r,o,u){o!==u&&(r.flags|=4)};function wa(n,r){if(!lt)switch(n.tailMode){case"hidden":r=n.tail;for(var o=null;r!==null;)r.alternate!==null&&(o=r),r=r.sibling;o===null?n.tail=null:o.sibling=null;break;case"collapsed":o=n.tail;for(var u=null;o!==null;)o.alternate!==null&&(u=o),o=o.sibling;u===null?r||n.tail===null?n.tail=null:n.tail.sibling=null:u.sibling=null}}function zt(n){var r=n.alternate!==null&&n.alternate.child===n.child,o=0,u=0;if(r)for(var p=n.child;p!==null;)o|=p.lanes|p.childLanes,u|=p.subtreeFlags&14680064,u|=p.flags&14680064,p.return=n,p=p.sibling;else for(p=n.child;p!==null;)o|=p.lanes|p.childLanes,u|=p.subtreeFlags,u|=p.flags,p.return=n,p=p.sibling;return n.subtreeFlags|=u,n.childLanes=o,r}function Hg(n,r,o){var u=r.pendingProps;switch(Gl(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)&&ho(),zt(r),null;case 3:return u=r.stateNode,pi(),it(Zt),it(Dt),sc(),u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),(n===null||n.child===null)&&(wo(r)?r.flags|=4:n===null||n.memoizedState.isDehydrated&&(r.flags&256)===0||(r.flags|=1024,Dn!==null&&(Mc(Dn),Dn=null))),kc(n,r),zt(r),null;case 5:nc(r);var p=bs(ha.current);if(o=r.type,n!==null&&r.stateNode!=null)Lf(n,r,o,u,p),n.ref!==r.ref&&(r.flags|=512,r.flags|=2097152);else{if(!u){if(r.stateNode===null)throw Error(s(166));return zt(r),null}if(n=bs(Xn.current),wo(r)){u=r.stateNode,o=r.type;var m=r.memoizedProps;switch(u[Yn]=r,u[la]=m,n=(r.mode&1)!==0,o){case"dialog":st("cancel",u),st("close",u);break;case"iframe":case"object":case"embed":st("load",u);break;case"video":case"audio":for(p=0;p<ia.length;p++)st(ia[p],u);break;case"source":st("error",u);break;case"img":case"image":case"link":st("error",u),st("load",u);break;case"details":st("toggle",u);break;case"input":Re(u,m),st("invalid",u);break;case"select":u._wrapperState={wasMultiple:!!m.multiple},st("invalid",u);break;case"textarea":He(u,m),st("invalid",u)}Li(o,m),p=null;for(var _ in m)if(m.hasOwnProperty(_)){var N=m[_];_==="children"?typeof N=="string"?u.textContent!==N&&(m.suppressHydrationWarning!==!0&&co(u.textContent,N,n),p=["children",N]):typeof N=="number"&&u.textContent!==""+N&&(m.suppressHydrationWarning!==!0&&co(u.textContent,N,n),p=["children",""+N]):l.hasOwnProperty(_)&&N!=null&&_==="onScroll"&&st("scroll",u)}switch(o){case"input":at(u),We(u,m,!0);break;case"textarea":at(u),Ze(u);break;case"select":case"option":break;default:typeof m.onClick=="function"&&(u.onclick=uo)}u=p,r.updateQueue=u,u!==null&&(r.flags|=4)}else{_=p.nodeType===9?p:p.ownerDocument,n==="http://www.w3.org/1999/xhtml"&&(n=Bn(o)),n==="http://www.w3.org/1999/xhtml"?o==="script"?(n=_.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild)):typeof u.is=="string"?n=_.createElement(o,{is:u.is}):(n=_.createElement(o),o==="select"&&(_=n,u.multiple?_.multiple=!0:u.size&&(_.size=u.size))):n=_.createElementNS(n,o),n[Yn]=r,n[la]=u,Mf(n,r,!1,!1),r.stateNode=n;e:{switch(_=yn(o,u),o){case"dialog":st("cancel",n),st("close",n),p=u;break;case"iframe":case"object":case"embed":st("load",n),p=u;break;case"video":case"audio":for(p=0;p<ia.length;p++)st(ia[p],n);p=u;break;case"source":st("error",n),p=u;break;case"img":case"image":case"link":st("error",n),st("load",n),p=u;break;case"details":st("toggle",n),p=u;break;case"input":Re(n,u),p=me(n,u),st("invalid",n);break;case"option":p=u;break;case"select":n._wrapperState={wasMultiple:!!u.multiple},p=ie({},u,{value:void 0}),st("invalid",n);break;case"textarea":He(n,u),p=Le(n,u),st("invalid",n);break;default:p=u}Li(o,p),N=p;for(m in N)if(N.hasOwnProperty(m)){var T=N[m];m==="style"?Ii(n,T):m==="dangerouslySetInnerHTML"?(T=T?T.__html:void 0,T!=null&&Ls(n,T)):m==="children"?typeof T=="string"?(o!=="textarea"||T!=="")&&Qt(n,T):typeof T=="number"&&Qt(n,""+T):m!=="suppressContentEditableWarning"&&m!=="suppressHydrationWarning"&&m!=="autoFocus"&&(l.hasOwnProperty(m)?T!=null&&m==="onScroll"&&st("scroll",n):T!=null&&E(n,m,T,_))}switch(o){case"input":at(n),We(n,u,!1);break;case"textarea":at(n),Ze(n);break;case"option":u.value!=null&&n.setAttribute("value",""+le(u.value));break;case"select":n.multiple=!!u.multiple,m=u.value,m!=null?pe(n,!!u.multiple,m,!1):u.defaultValue!=null&&pe(n,!!u.multiple,u.defaultValue,!0);break;default:typeof p.onClick=="function"&&(n.onclick=uo)}switch(o){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}}u&&(r.flags|=4)}r.ref!==null&&(r.flags|=512,r.flags|=2097152)}return zt(r),null;case 6:if(n&&r.stateNode!=null)Pf(n,r,n.memoizedProps,u);else{if(typeof u!="string"&&r.stateNode===null)throw Error(s(166));if(o=bs(ha.current),bs(Xn.current),wo(r)){if(u=r.stateNode,o=r.memoizedProps,u[Yn]=r,(m=u.nodeValue!==o)&&(n=fn,n!==null))switch(n.tag){case 3:co(u.nodeValue,o,(n.mode&1)!==0);break;case 5:n.memoizedProps.suppressHydrationWarning!==!0&&co(u.nodeValue,o,(n.mode&1)!==0)}m&&(r.flags|=4)}else u=(o.nodeType===9?o:o.ownerDocument).createTextNode(u),u[Yn]=r,r.stateNode=u}return zt(r),null;case 13:if(it(ut),u=r.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(lt&&hn!==null&&(r.mode&1)!==0&&(r.flags&128)===0)Dd(),ui(),r.flags|=98560,m=!1;else if(m=wo(r),u!==null&&u.dehydrated!==null){if(n===null){if(!m)throw Error(s(318));if(m=r.memoizedState,m=m!==null?m.dehydrated:null,!m)throw Error(s(317));m[Yn]=r}else ui(),(r.flags&128)===0&&(r.memoizedState=null),r.flags|=4;zt(r),m=!1}else Dn!==null&&(Mc(Dn),Dn=null),m=!0;if(!m)return r.flags&65536?r:null}return(r.flags&128)!==0?(r.lanes=o,r):(u=u!==null,u!==(n!==null&&n.memoizedState!==null)&&u&&(r.child.flags|=8192,(r.mode&1)!==0&&(n===null||(ut.current&1)!==0?xt===0&&(xt=3):Oc())),r.updateQueue!==null&&(r.flags|=4),zt(r),null);case 4:return pi(),kc(n,r),n===null&&aa(r.stateNode.containerInfo),zt(r),null;case 10:return Xl(r.type._context),zt(r),null;case 17:return qt(r.type)&&ho(),zt(r),null;case 19:if(it(ut),m=r.memoizedState,m===null)return zt(r),null;if(u=(r.flags&128)!==0,_=m.rendering,_===null)if(u)wa(m,!1);else{if(xt!==0||n!==null&&(n.flags&128)!==0)for(n=r.child;n!==null;){if(_=jo(n),_!==null){for(r.flags|=128,wa(m,!1),u=_.updateQueue,u!==null&&(r.updateQueue=u,r.flags|=4),r.subtreeFlags=0,u=o,o=r.child;o!==null;)m=o,n=u,m.flags&=14680066,_=m.alternate,_===null?(m.childLanes=0,m.lanes=n,m.child=null,m.subtreeFlags=0,m.memoizedProps=null,m.memoizedState=null,m.updateQueue=null,m.dependencies=null,m.stateNode=null):(m.childLanes=_.childLanes,m.lanes=_.lanes,m.child=_.child,m.subtreeFlags=0,m.deletions=null,m.memoizedProps=_.memoizedProps,m.memoizedState=_.memoizedState,m.updateQueue=_.updateQueue,m.type=_.type,n=_.dependencies,m.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),o=o.sibling;return tt(ut,ut.current&1|2),r.child}n=n.sibling}m.tail!==null&&rt()>wi&&(r.flags|=128,u=!0,wa(m,!1),r.lanes=4194304)}else{if(!u)if(n=jo(_),n!==null){if(r.flags|=128,u=!0,o=n.updateQueue,o!==null&&(r.updateQueue=o,r.flags|=4),wa(m,!0),m.tail===null&&m.tailMode==="hidden"&&!_.alternate&&!lt)return zt(r),null}else 2*rt()-m.renderingStartTime>wi&&o!==1073741824&&(r.flags|=128,u=!0,wa(m,!1),r.lanes=4194304);m.isBackwards?(_.sibling=r.child,r.child=_):(o=m.last,o!==null?o.sibling=_:r.child=_,m.last=_)}return m.tail!==null?(r=m.tail,m.rendering=r,m.tail=r.sibling,m.renderingStartTime=rt(),r.sibling=null,o=ut.current,tt(ut,u?o&1|2:o&1),r):(zt(r),null);case 22:case 23:return Pc(),u=r.memoizedState!==null,n!==null&&n.memoizedState!==null!==u&&(r.flags|=8192),u&&(r.mode&1)!==0?(pn&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 Kg(n,r){switch(Gl(r),r.tag){case 1:return qt(r.type)&&ho(),n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 3:return pi(),it(Zt),it(Dt),sc(),n=r.flags,(n&65536)!==0&&(n&128)===0?(r.flags=n&-65537|128,r):null;case 5:return nc(r),null;case 13:if(it(ut),n=r.memoizedState,n!==null&&n.dehydrated!==null){if(r.alternate===null)throw Error(s(340));ui()}return n=r.flags,n&65536?(r.flags=n&-65537|128,r):null;case 19:return it(ut),null;case 4:return pi(),null;case 10:return Xl(r.type._context),null;case 22:case 23:return Pc(),null;case 24:return null;default:return null}}var Io=!1,Wt=!1,Jg=typeof WeakSet=="function"?WeakSet:Set,_e=null;function gi(n,r){var o=n.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(u){mt(n,r,u)}else o.current=null}function jc(n,r,o){try{o()}catch(u){mt(n,r,u)}}var Of=!1;function Qg(n,r){if(Pl=Ks,n=pd(),El(n)){if("selectionStart"in n)var o={start:n.selectionStart,end:n.selectionEnd};else e:{o=(o=n.ownerDocument)&&o.defaultView||window;var u=o.getSelection&&o.getSelection();if(u&&u.rangeCount!==0){o=u.anchorNode;var p=u.anchorOffset,m=u.focusNode;u=u.focusOffset;try{o.nodeType,m.nodeType}catch{o=null;break e}var _=0,N=-1,T=-1,H=0,ne=0,oe=n,te=null;t:for(;;){for(var ye;oe!==o||p!==0&&oe.nodeType!==3||(N=_+p),oe!==m||u!==0&&oe.nodeType!==3||(T=_+u),oe.nodeType===3&&(_+=oe.nodeValue.length),(ye=oe.firstChild)!==null;)te=oe,oe=ye;for(;;){if(oe===n)break t;if(te===o&&++H===p&&(N=_),te===m&&++ne===u&&(T=_),(ye=oe.nextSibling)!==null)break;oe=te,te=oe.parentNode}oe=ye}o=N===-1||T===-1?null:{start:N,end:T}}else o=null}o=o||{start:0,end:0}}else o=null;for(Ol={focusedElem:n,selectionRange:o},Ks=!1,_e=r;_e!==null;)if(r=_e,n=r.child,(r.subtreeFlags&1028)!==0&&n!==null)n.return=r,_e=n;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 be=xe.memoizedProps,yt=xe.memoizedState,B=r.stateNode,L=B.getSnapshotBeforeUpdate(r.elementType===r.type?be:Fn(r.type,be),yt);B.__reactInternalSnapshotBeforeUpdate=L}break;case 3:var V=r.stateNode.containerInfo;V.nodeType===1?V.textContent="":V.nodeType===9&&V.documentElement&&V.removeChild(V.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(de){mt(r,r.return,de)}if(n=r.sibling,n!==null){n.return=r.return,_e=n;break}_e=r.return}return xe=Of,Of=!1,xe}function va(n,r,o){var u=r.updateQueue;if(u=u!==null?u.lastEffect:null,u!==null){var p=u=u.next;do{if((p.tag&n)===n){var m=p.destroy;p.destroy=void 0,m!==void 0&&jc(r,o,m)}p=p.next}while(p!==u)}}function Mo(n,r){if(r=r.updateQueue,r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&n)===n){var u=o.create;o.destroy=u()}o=o.next}while(o!==r)}}function Sc(n){var r=n.ref;if(r!==null){var o=n.stateNode;switch(n.tag){case 5:n=o;break;default:n=o}typeof r=="function"?r(n):r.current=n}}function Df(n){var r=n.alternate;r!==null&&(n.alternate=null,Df(r)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(r=n.stateNode,r!==null&&(delete r[Yn],delete r[la],delete r[Wl],delete r[Tg],delete r[Rg])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function Ff(n){return n.tag===5||n.tag===3||n.tag===4}function zf(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Ff(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Nc(n,r,o){var u=n.tag;if(u===5||u===6)n=n.stateNode,r?o.nodeType===8?o.parentNode.insertBefore(n,r):o.insertBefore(n,r):(o.nodeType===8?(r=o.parentNode,r.insertBefore(n,o)):(r=o,r.appendChild(n)),o=o._reactRootContainer,o!=null||r.onclick!==null||(r.onclick=uo));else if(u!==4&&(n=n.child,n!==null))for(Nc(n,r,o),n=n.sibling;n!==null;)Nc(n,r,o),n=n.sibling}function Cc(n,r,o){var u=n.tag;if(u===5||u===6)n=n.stateNode,r?o.insertBefore(n,r):o.appendChild(n);else if(u!==4&&(n=n.child,n!==null))for(Cc(n,r,o),n=n.sibling;n!==null;)Cc(n,r,o),n=n.sibling}var Tt=null,zn=!1;function Hr(n,r,o){for(o=o.child;o!==null;)Wf(n,r,o),o=o.sibling}function Wf(n,r,o){if(kt&&typeof kt.onCommitFiberUnmount=="function")try{kt.onCommitFiberUnmount(Ws,o)}catch{}switch(o.tag){case 5:Wt||gi(o,r);case 6:var u=Tt,p=zn;Tt=null,Hr(n,r,o),Tt=u,zn=p,Tt!==null&&(zn?(n=Tt,o=o.stateNode,n.nodeType===8?n.parentNode.removeChild(o):n.removeChild(o)):Tt.removeChild(o.stateNode));break;case 18:Tt!==null&&(zn?(n=Tt,o=o.stateNode,n.nodeType===8?zl(n.parentNode,o):n.nodeType===1&&zl(n,o),Ir(n)):zl(Tt,o.stateNode));break;case 4:u=Tt,p=zn,Tt=o.stateNode.containerInfo,zn=!0,Hr(n,r,o),Tt=u,zn=p;break;case 0:case 11:case 14:case 15:if(!Wt&&(u=o.updateQueue,u!==null&&(u=u.lastEffect,u!==null))){p=u=u.next;do{var m=p,_=m.destroy;m=m.tag,_!==void 0&&((m&2)!==0||(m&4)!==0)&&jc(o,r,_),p=p.next}while(p!==u)}Hr(n,r,o);break;case 1:if(!Wt&&(gi(o,r),u=o.stateNode,typeof u.componentWillUnmount=="function"))try{u.props=o.memoizedProps,u.state=o.memoizedState,u.componentWillUnmount()}catch(N){mt(o,r,N)}Hr(n,r,o);break;case 21:Hr(n,r,o);break;case 22:o.mode&1?(Wt=(u=Wt)||o.memoizedState!==null,Hr(n,r,o),Wt=u):Hr(n,r,o);break;default:Hr(n,r,o)}}function Uf(n){var r=n.updateQueue;if(r!==null){n.updateQueue=null;var o=n.stateNode;o===null&&(o=n.stateNode=new Jg),r.forEach(function(u){var p=sy.bind(null,n,u);o.has(u)||(o.add(u),u.then(p,p))})}}function Wn(n,r){var o=r.deletions;if(o!==null)for(var u=0;u<o.length;u++){var p=o[u];try{var m=n,_=r,N=_;e:for(;N!==null;){switch(N.tag){case 5:Tt=N.stateNode,zn=!1;break e;case 3:Tt=N.stateNode.containerInfo,zn=!0;break e;case 4:Tt=N.stateNode.containerInfo,zn=!0;break e}N=N.return}if(Tt===null)throw Error(s(160));Wf(m,_,p),Tt=null,zn=!1;var T=p.alternate;T!==null&&(T.return=null),p.return=null}catch(H){mt(p,r,H)}}if(r.subtreeFlags&12854)for(r=r.child;r!==null;)Bf(r,n),r=r.sibling}function Bf(n,r){var o=n.alternate,u=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:if(Wn(r,n),qn(n),u&4){try{va(3,n,n.return),Mo(3,n)}catch(be){mt(n,n.return,be)}try{va(5,n,n.return)}catch(be){mt(n,n.return,be)}}break;case 1:Wn(r,n),qn(n),u&512&&o!==null&&gi(o,o.return);break;case 5:if(Wn(r,n),qn(n),u&512&&o!==null&&gi(o,o.return),n.flags&32){var p=n.stateNode;try{Qt(p,"")}catch(be){mt(n,n.return,be)}}if(u&4&&(p=n.stateNode,p!=null)){var m=n.memoizedProps,_=o!==null?o.memoizedProps:m,N=n.type,T=n.updateQueue;if(n.updateQueue=null,T!==null)try{N==="input"&&m.type==="radio"&&m.name!=null&&ge(p,m),yn(N,_);var H=yn(N,m);for(_=0;_<T.length;_+=2){var ne=T[_],oe=T[_+1];ne==="style"?Ii(p,oe):ne==="dangerouslySetInnerHTML"?Ls(p,oe):ne==="children"?Qt(p,oe):E(p,ne,oe,H)}switch(N){case"input":Ee(p,m);break;case"textarea":Pt(p,m);break;case"select":var te=p._wrapperState.wasMultiple;p._wrapperState.wasMultiple=!!m.multiple;var ye=m.value;ye!=null?pe(p,!!m.multiple,ye,!1):te!==!!m.multiple&&(m.defaultValue!=null?pe(p,!!m.multiple,m.defaultValue,!0):pe(p,!!m.multiple,m.multiple?[]:"",!1))}p[la]=m}catch(be){mt(n,n.return,be)}}break;case 6:if(Wn(r,n),qn(n),u&4){if(n.stateNode===null)throw Error(s(162));p=n.stateNode,m=n.memoizedProps;try{p.nodeValue=m}catch(be){mt(n,n.return,be)}}break;case 3:if(Wn(r,n),qn(n),u&4&&o!==null&&o.memoizedState.isDehydrated)try{Ir(r.containerInfo)}catch(be){mt(n,n.return,be)}break;case 4:Wn(r,n),qn(n);break;case 13:Wn(r,n),qn(n),p=n.child,p.flags&8192&&(m=p.memoizedState!==null,p.stateNode.isHidden=m,!m||p.alternate!==null&&p.alternate.memoizedState!==null||(Ac=rt())),u&4&&Uf(n);break;case 22:if(ne=o!==null&&o.memoizedState!==null,n.mode&1?(Wt=(H=Wt)||ne,Wn(r,n),Wt=H):Wn(r,n),qn(n),u&8192){if(H=n.memoizedState!==null,(n.stateNode.isHidden=H)&&!ne&&(n.mode&1)!==0)for(_e=n,ne=n.child;ne!==null;){for(oe=_e=ne;_e!==null;){switch(te=_e,ye=te.child,te.tag){case 0:case 11:case 14:case 15:va(4,te,te.return);break;case 1:gi(te,te.return);var xe=te.stateNode;if(typeof xe.componentWillUnmount=="function"){u=te,o=te.return;try{r=u,xe.props=r.memoizedProps,xe.state=r.memoizedState,xe.componentWillUnmount()}catch(be){mt(u,o,be)}}break;case 5:gi(te,te.return);break;case 22:if(te.memoizedState!==null){Hf(oe);continue}}ye!==null?(ye.return=te,_e=ye):Hf(oe)}ne=ne.sibling}e:for(ne=null,oe=n;;){if(oe.tag===5){if(ne===null){ne=oe;try{p=oe.stateNode,H?(m=p.style,typeof m.setProperty=="function"?m.setProperty("display","none","important"):m.display="none"):(N=oe.stateNode,T=oe.memoizedProps.style,_=T!=null&&T.hasOwnProperty("display")?T.display:null,N.style.display=Ha("display",_))}catch(be){mt(n,n.return,be)}}}else if(oe.tag===6){if(ne===null)try{oe.stateNode.nodeValue=H?"":oe.memoizedProps}catch(be){mt(n,n.return,be)}}else if((oe.tag!==22&&oe.tag!==23||oe.memoizedState===null||oe===n)&&oe.child!==null){oe.child.return=oe,oe=oe.child;continue}if(oe===n)break e;for(;oe.sibling===null;){if(oe.return===null||oe.return===n)break e;ne===oe&&(ne=null),oe=oe.return}ne===oe&&(ne=null),oe.sibling.return=oe.return,oe=oe.sibling}}break;case 19:Wn(r,n),qn(n),u&4&&Uf(n);break;case 21:break;default:Wn(r,n),qn(n)}}function qn(n){var r=n.flags;if(r&2){try{e:{for(var o=n.return;o!==null;){if(Ff(o)){var u=o;break e}o=o.return}throw Error(s(160))}switch(u.tag){case 5:var p=u.stateNode;u.flags&32&&(Qt(p,""),u.flags&=-33);var m=zf(n);Cc(n,m,p);break;case 3:case 4:var _=u.stateNode.containerInfo,N=zf(n);Nc(n,N,_);break;default:throw Error(s(161))}}catch(T){mt(n,n.return,T)}n.flags&=-3}r&4096&&(n.flags&=-4097)}function Yg(n,r,o){_e=n,Vf(n)}function Vf(n,r,o){for(var u=(n.mode&1)!==0;_e!==null;){var p=_e,m=p.child;if(p.tag===22&&u){var _=p.memoizedState!==null||Io;if(!_){var N=p.alternate,T=N!==null&&N.memoizedState!==null||Wt;N=Io;var H=Wt;if(Io=_,(Wt=T)&&!H)for(_e=p;_e!==null;)_=_e,T=_.child,_.tag===22&&_.memoizedState!==null?Kf(p):T!==null?(T.return=_,_e=T):Kf(p);for(;m!==null;)_e=m,Vf(m),m=m.sibling;_e=p,Io=N,Wt=H}Gf(n)}else(p.subtreeFlags&8772)!==0&&m!==null?(m.return=p,_e=m):Gf(n)}}function Gf(n){for(;_e!==null;){var r=_e;if((r.flags&8772)!==0){var o=r.alternate;try{if((r.flags&8772)!==0)switch(r.tag){case 0:case 11:case 15:Wt||Mo(5,r);break;case 1:var u=r.stateNode;if(r.flags&4&&!Wt)if(o===null)u.componentDidMount();else{var p=r.elementType===r.type?o.memoizedProps:Fn(r.type,o.memoizedProps);u.componentDidUpdate(p,o.memoizedState,u.__reactInternalSnapshotBeforeUpdate)}var m=r.updateQueue;m!==null&&Gd(r,m,u);break;case 3:var _=r.updateQueue;if(_!==null){if(o=null,r.child!==null)switch(r.child.tag){case 5:o=r.child.stateNode;break;case 1:o=r.child.stateNode}Gd(r,_,o)}break;case 5:var N=r.stateNode;if(o===null&&r.flags&4){o=N;var T=r.memoizedProps;switch(r.type){case"button":case"input":case"select":case"textarea":T.autoFocus&&o.focus();break;case"img":T.src&&(o.src=T.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(r.memoizedState===null){var H=r.alternate;if(H!==null){var ne=H.memoizedState;if(ne!==null){var oe=ne.dehydrated;oe!==null&&Ir(oe)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}Wt||r.flags&512&&Sc(r)}catch(te){mt(r,r.return,te)}}if(r===n){_e=null;break}if(o=r.sibling,o!==null){o.return=r.return,_e=o;break}_e=r.return}}function Hf(n){for(;_e!==null;){var r=_e;if(r===n){_e=null;break}var o=r.sibling;if(o!==null){o.return=r.return,_e=o;break}_e=r.return}}function Kf(n){for(;_e!==null;){var r=_e;try{switch(r.tag){case 0:case 11:case 15:var o=r.return;try{Mo(4,r)}catch(T){mt(r,o,T)}break;case 1:var u=r.stateNode;if(typeof u.componentDidMount=="function"){var p=r.return;try{u.componentDidMount()}catch(T){mt(r,p,T)}}var m=r.return;try{Sc(r)}catch(T){mt(r,m,T)}break;case 5:var _=r.return;try{Sc(r)}catch(T){mt(r,_,T)}}}catch(T){mt(r,r.return,T)}if(r===n){_e=null;break}var N=r.sibling;if(N!==null){N.return=r.return,_e=N;break}_e=r.return}}var Xg=Math.ceil,Lo=A.ReactCurrentDispatcher,Ec=A.ReactCurrentOwner,$n=A.ReactCurrentBatchConfig,Ke=0,Ct=null,wt=null,Rt=0,pn=0,yi=Wr(0),xt=0,_a=null,js=0,Po=0,$c=0,xa=null,tn=null,Ac=0,wi=1/0,_r=null,Oo=!1,Tc=null,Kr=null,Do=!1,Jr=null,Fo=0,ba=0,Rc=null,zo=-1,Wo=0;function Kt(){return(Ke&6)!==0?rt():zo!==-1?zo:zo=rt()}function Qr(n){return(n.mode&1)===0?1:(Ke&2)!==0&&Rt!==0?Rt&-Rt:Mg.transition!==null?(Wo===0&&(Wo=xn()),Wo):(n=Fe,n!==0||(n=window.event,n=n===void 0?16:Xi(n.type)),n)}function Un(n,r,o,u){if(50<ba)throw ba=0,Rc=null,Error(s(185));bn(n,o,u),((Ke&2)===0||n!==Ct)&&(n===Ct&&((Ke&2)===0&&(Po|=o),xt===4&&Yr(n,Rt)),nn(n,u),o===1&&Ke===0&&(r.mode&1)===0&&(wi=rt()+500,mo&&Br()))}function nn(n,r){var o=n.callbackNode;_n(n,r);var u=Mn(n,n===Ct?Rt:0);if(u===0)o!==null&&Ui(o),n.callbackNode=null,n.callbackPriority=0;else if(r=u&-u,n.callbackPriority!==r){if(o!=null&&Ui(o),r===1)n.tag===0?Ig(Qf.bind(null,n)):Id(Qf.bind(null,n)),$g(function(){(Ke&6)===0&&Br()}),o=null;else{switch(Hi(u)){case 1:o=ls;break;case 4:o=Vi;break;case 16:o=cs;break;case 536870912:o=Ya;break;default:o=cs}o=rh(o,Jf.bind(null,n))}n.callbackPriority=r,n.callbackNode=o}}function Jf(n,r){if(zo=-1,Wo=0,(Ke&6)!==0)throw Error(s(327));var o=n.callbackNode;if(vi()&&n.callbackNode!==o)return null;var u=Mn(n,n===Ct?Rt:0);if(u===0)return null;if((u&30)!==0||(u&n.expiredLanes)!==0||r)r=Uo(n,u);else{r=u;var p=Ke;Ke|=2;var m=Xf();(Ct!==n||Rt!==r)&&(_r=null,wi=rt()+500,Ns(n,r));do try{ey();break}catch(N){Yf(n,N)}while(!0);Yl(),Lo.current=m,Ke=p,wt!==null?r=0:(Ct=null,Rt=0,r=xt)}if(r!==0){if(r===2&&(p=Bs(n),p!==0&&(u=p,r=Ic(n,p))),r===1)throw o=_a,Ns(n,0),Yr(n,u),nn(n,rt()),o;if(r===6)Yr(n,u);else{if(p=n.current.alternate,(u&30)===0&&!Zg(p)&&(r=Uo(n,u),r===2&&(m=Bs(n),m!==0&&(u=m,r=Ic(n,m))),r===1))throw o=_a,Ns(n,0),Yr(n,u),nn(n,rt()),o;switch(n.finishedWork=p,n.finishedLanes=u,r){case 0:case 1:throw Error(s(345));case 2:Cs(n,tn,_r);break;case 3:if(Yr(n,u),(u&130023424)===u&&(r=Ac+500-rt(),10<r)){if(Mn(n,0)!==0)break;if(p=n.suspendedLanes,(p&u)!==u){Kt(),n.pingedLanes|=n.suspendedLanes&p;break}n.timeoutHandle=Fl(Cs.bind(null,n,tn,_r),r);break}Cs(n,tn,_r);break;case 4:if(Yr(n,u),(u&4194240)===u)break;for(r=n.eventTimes,p=-1;0<u;){var _=31-ct(u);m=1<<_,_=r[_],_>p&&(p=_),u&=~m}if(u=p,u=rt()-u,u=(120>u?120:480>u?480:1080>u?1080:1920>u?1920:3e3>u?3e3:4320>u?4320:1960*Xg(u/1960))-u,10<u){n.timeoutHandle=Fl(Cs.bind(null,n,tn,_r),u);break}Cs(n,tn,_r);break;case 5:Cs(n,tn,_r);break;default:throw Error(s(329))}}}return nn(n,rt()),n.callbackNode===o?Jf.bind(null,n):null}function Ic(n,r){var o=xa;return n.current.memoizedState.isDehydrated&&(Ns(n,r).flags|=256),n=Uo(n,r),n!==2&&(r=tn,tn=o,r!==null&&Mc(r)),n}function Mc(n){tn===null?tn=n:tn.push.apply(tn,n)}function Zg(n){for(var r=n;;){if(r.flags&16384){var o=r.updateQueue;if(o!==null&&(o=o.stores,o!==null))for(var u=0;u<o.length;u++){var p=o[u],m=p.getSnapshot;p=p.value;try{if(!On(m(),p))return!1}catch{return!1}}}if(o=r.child,r.subtreeFlags&16384&&o!==null)o.return=r,r=o;else{if(r===n)break;for(;r.sibling===null;){if(r.return===null||r.return===n)return!0;r=r.return}r.sibling.return=r.return,r=r.sibling}}return!0}function Yr(n,r){for(r&=~$c,r&=~Po,n.suspendedLanes|=r,n.pingedLanes&=~r,n=n.expirationTimes;0<r;){var o=31-ct(r),u=1<<o;n[o]=-1,r&=~u}}function Qf(n){if((Ke&6)!==0)throw Error(s(327));vi();var r=Mn(n,0);if((r&1)===0)return nn(n,rt()),null;var o=Uo(n,r);if(n.tag!==0&&o===2){var u=Bs(n);u!==0&&(r=u,o=Ic(n,u))}if(o===1)throw o=_a,Ns(n,0),Yr(n,r),nn(n,rt()),o;if(o===6)throw Error(s(345));return n.finishedWork=n.current.alternate,n.finishedLanes=r,Cs(n,tn,_r),nn(n,rt()),null}function Lc(n,r){var o=Ke;Ke|=1;try{return n(r)}finally{Ke=o,Ke===0&&(wi=rt()+500,mo&&Br())}}function Ss(n){Jr!==null&&Jr.tag===0&&(Ke&6)===0&&vi();var r=Ke;Ke|=1;var o=$n.transition,u=Fe;try{if($n.transition=null,Fe=1,n)return n()}finally{Fe=u,$n.transition=o,Ke=r,(Ke&6)===0&&Br()}}function Pc(){pn=yi.current,it(yi)}function Ns(n,r){n.finishedWork=null,n.finishedLanes=0;var o=n.timeoutHandle;if(o!==-1&&(n.timeoutHandle=-1,Eg(o)),wt!==null)for(o=wt.return;o!==null;){var u=o;switch(Gl(u),u.tag){case 1:u=u.type.childContextTypes,u!=null&&ho();break;case 3:pi(),it(Zt),it(Dt),sc();break;case 5:nc(u);break;case 4:pi();break;case 13:it(ut);break;case 19:it(ut);break;case 10:Xl(u.type._context);break;case 22:case 23:Pc()}o=o.return}if(Ct=n,wt=n=Xr(n.current,null),Rt=pn=r,xt=0,_a=null,$c=Po=js=0,tn=xa=null,xs!==null){for(r=0;r<xs.length;r++)if(o=xs[r],u=o.interleaved,u!==null){o.interleaved=null;var p=u.next,m=o.pending;if(m!==null){var _=m.next;m.next=p,u.next=_}o.pending=u}xs=null}return n}function Yf(n,r){do{var o=wt;try{if(Yl(),So.current=$o,No){for(var u=dt.memoizedState;u!==null;){var p=u.queue;p!==null&&(p.pending=null),u=u.next}No=!1}if(ks=0,Nt=_t=dt=null,pa=!1,ma=0,Ec.current=null,o===null||o.return===null){xt=1,_a=r,wt=null;break}e:{var m=n,_=o.return,N=o,T=r;if(r=Rt,N.flags|=32768,T!==null&&typeof T=="object"&&typeof T.then=="function"){var H=T,ne=N,oe=ne.tag;if((ne.mode&1)===0&&(oe===0||oe===11||oe===15)){var te=ne.alternate;te?(ne.updateQueue=te.updateQueue,ne.memoizedState=te.memoizedState,ne.lanes=te.lanes):(ne.updateQueue=null,ne.memoizedState=null)}var ye=xf(_);if(ye!==null){ye.flags&=-257,bf(ye,_,N,m,r),ye.mode&1&&_f(m,H,r),r=ye,T=H;var xe=r.updateQueue;if(xe===null){var be=new Set;be.add(T),r.updateQueue=be}else xe.add(T);break e}else{if((r&1)===0){_f(m,H,r),Oc();break e}T=Error(s(426))}}else if(lt&&N.mode&1){var yt=xf(_);if(yt!==null){(yt.flags&65536)===0&&(yt.flags|=256),bf(yt,_,N,m,r),Jl(mi(T,N));break e}}m=T=mi(T,N),xt!==4&&(xt=2),xa===null?xa=[m]:xa.push(m),m=_;do{switch(m.tag){case 3:m.flags|=65536,r&=-r,m.lanes|=r;var B=wf(m,T,r);Vd(m,B);break e;case 1:N=T;var L=m.type,V=m.stateNode;if((m.flags&128)===0&&(typeof L.getDerivedStateFromError=="function"||V!==null&&typeof V.componentDidCatch=="function"&&(Kr===null||!Kr.has(V)))){m.flags|=65536,r&=-r,m.lanes|=r;var de=vf(m,N,r);Vd(m,de);break e}}m=m.return}while(m!==null)}qf(o)}catch(je){r=je,wt===o&&o!==null&&(wt=o=o.return);continue}break}while(!0)}function Xf(){var n=Lo.current;return Lo.current=$o,n===null?$o:n}function Oc(){(xt===0||xt===3||xt===2)&&(xt=4),Ct===null||(js&268435455)===0&&(Po&268435455)===0||Yr(Ct,Rt)}function Uo(n,r){var o=Ke;Ke|=2;var u=Xf();(Ct!==n||Rt!==r)&&(_r=null,Ns(n,r));do try{qg();break}catch(p){Yf(n,p)}while(!0);if(Yl(),Ke=o,Lo.current=u,wt!==null)throw Error(s(261));return Ct=null,Rt=0,xt}function qg(){for(;wt!==null;)Zf(wt)}function ey(){for(;wt!==null&&!Bi();)Zf(wt)}function Zf(n){var r=nh(n.alternate,n,pn);n.memoizedProps=n.pendingProps,r===null?qf(n):wt=r,Ec.current=null}function qf(n){var r=n;do{var o=r.alternate;if(n=r.return,(r.flags&32768)===0){if(o=Hg(o,r,pn),o!==null){wt=o;return}}else{if(o=Kg(o,r),o!==null){o.flags&=32767,wt=o;return}if(n!==null)n.flags|=32768,n.subtreeFlags=0,n.deletions=null;else{xt=6,wt=null;return}}if(r=r.sibling,r!==null){wt=r;return}wt=r=n}while(r!==null);xt===0&&(xt=5)}function Cs(n,r,o){var u=Fe,p=$n.transition;try{$n.transition=null,Fe=1,ty(n,r,o,u)}finally{$n.transition=p,Fe=u}return null}function ty(n,r,o,u){do vi();while(Jr!==null);if((Ke&6)!==0)throw Error(s(327));o=n.finishedWork;var p=n.finishedLanes;if(o===null)return null;if(n.finishedWork=null,n.finishedLanes=0,o===n.current)throw Error(s(177));n.callbackNode=null,n.callbackPriority=0;var m=o.lanes|o.childLanes;if(us(n,m),n===Ct&&(wt=Ct=null,Rt=0),(o.subtreeFlags&2064)===0&&(o.flags&2064)===0||Do||(Do=!0,rh(cs,function(){return vi(),null})),m=(o.flags&15990)!==0,(o.subtreeFlags&15990)!==0||m){m=$n.transition,$n.transition=null;var _=Fe;Fe=1;var N=Ke;Ke|=4,Ec.current=null,Qg(n,o),Bf(o,n),xg(Ol),Ks=!!Pl,Ol=Pl=null,n.current=o,Yg(o),zs(),Ke=N,Fe=_,$n.transition=m}else n.current=o;if(Do&&(Do=!1,Jr=n,Fo=p),m=n.pendingLanes,m===0&&(Kr=null),Ve(o.stateNode),nn(n,rt()),r!==null)for(u=n.onRecoverableError,o=0;o<r.length;o++)p=r[o],u(p.value,{componentStack:p.stack,digest:p.digest});if(Oo)throw Oo=!1,n=Tc,Tc=null,n;return(Fo&1)!==0&&n.tag!==0&&vi(),m=n.pendingLanes,(m&1)!==0?n===Rc?ba++:(ba=0,Rc=n):ba=0,Br(),null}function vi(){if(Jr!==null){var n=Hi(Fo),r=$n.transition,o=Fe;try{if($n.transition=null,Fe=16>n?16:n,Jr===null)var u=!1;else{if(n=Jr,Jr=null,Fo=0,(Ke&6)!==0)throw Error(s(331));var p=Ke;for(Ke|=4,_e=n.current;_e!==null;){var m=_e,_=m.child;if((_e.flags&16)!==0){var N=m.deletions;if(N!==null){for(var T=0;T<N.length;T++){var H=N[T];for(_e=H;_e!==null;){var ne=_e;switch(ne.tag){case 0:case 11:case 15:va(8,ne,m)}var oe=ne.child;if(oe!==null)oe.return=ne,_e=oe;else for(;_e!==null;){ne=_e;var te=ne.sibling,ye=ne.return;if(Df(ne),ne===H){_e=null;break}if(te!==null){te.return=ye,_e=te;break}_e=ye}}}var xe=m.alternate;if(xe!==null){var be=xe.child;if(be!==null){xe.child=null;do{var yt=be.sibling;be.sibling=null,be=yt}while(be!==null)}}_e=m}}if((m.subtreeFlags&2064)!==0&&_!==null)_.return=m,_e=_;else e:for(;_e!==null;){if(m=_e,(m.flags&2048)!==0)switch(m.tag){case 0:case 11:case 15:va(9,m,m.return)}var B=m.sibling;if(B!==null){B.return=m.return,_e=B;break e}_e=m.return}}var L=n.current;for(_e=L;_e!==null;){_=_e;var V=_.child;if((_.subtreeFlags&2064)!==0&&V!==null)V.return=_,_e=V;else e:for(_=L;_e!==null;){if(N=_e,(N.flags&2048)!==0)try{switch(N.tag){case 0:case 11:case 15:Mo(9,N)}}catch(je){mt(N,N.return,je)}if(N===_){_e=null;break e}var de=N.sibling;if(de!==null){de.return=N.return,_e=de;break e}_e=N.return}}if(Ke=p,Br(),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(Ws,n)}catch{}u=!0}return u}finally{Fe=o,$n.transition=r}}return!1}function eh(n,r,o){r=mi(o,r),r=wf(n,r,1),n=Gr(n,r,1),r=Kt(),n!==null&&(bn(n,1,r),nn(n,r))}function mt(n,r,o){if(n.tag===3)eh(n,n,o);else for(;r!==null;){if(r.tag===3){eh(r,n,o);break}else if(r.tag===1){var u=r.stateNode;if(typeof r.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kr===null||!Kr.has(u))){n=mi(o,n),n=vf(r,n,1),r=Gr(r,n,1),n=Kt(),r!==null&&(bn(r,1,n),nn(r,n));break}}r=r.return}}function ny(n,r,o){var u=n.pingCache;u!==null&&u.delete(r),r=Kt(),n.pingedLanes|=n.suspendedLanes&o,Ct===n&&(Rt&o)===o&&(xt===4||xt===3&&(Rt&130023424)===Rt&&500>rt()-Ac?Ns(n,0):$c|=o),nn(n,r)}function th(n,r){r===0&&((n.mode&1)===0?r=1:(r=un,un<<=1,(un&130023424)===0&&(un=4194304)));var o=Kt();n=yr(n,r),n!==null&&(bn(n,r,o),nn(n,o))}function ry(n){var r=n.memoizedState,o=0;r!==null&&(o=r.retryLane),th(n,o)}function sy(n,r){var o=0;switch(n.tag){case 13:var u=n.stateNode,p=n.memoizedState;p!==null&&(o=p.retryLane);break;case 19:u=n.stateNode;break;default:throw Error(s(314))}u!==null&&u.delete(r),th(n,o)}var nh;nh=function(n,r,o){if(n!==null)if(n.memoizedProps!==r.pendingProps||Zt.current)en=!0;else{if((n.lanes&o)===0&&(r.flags&128)===0)return en=!1,Gg(n,r,o);en=(n.flags&131072)!==0}else en=!1,lt&&(r.flags&1048576)!==0&&Md(r,yo,r.index);switch(r.lanes=0,r.tag){case 2:var u=r.type;Ro(n,r),n=r.pendingProps;var p=oi(r,Dt.current);hi(r,o),p=oc(null,r,u,n,p,o);var m=lc();return r.flags|=1,typeof p=="object"&&p!==null&&typeof p.render=="function"&&p.$$typeof===void 0?(r.tag=1,r.memoizedState=null,r.updateQueue=null,qt(u)?(m=!0,po(r)):m=!1,r.memoizedState=p.state!==null&&p.state!==void 0?p.state:null,ec(r),p.updater=Ao,r.stateNode=p,p._reactInternals=r,pc(r,u,n,o),r=wc(null,r,u,!0,m,o)):(r.tag=0,lt&&m&&Vl(r),Ht(null,r,p,o),r=r.child),r;case 16:u=r.elementType;e:{switch(Ro(n,r),n=r.pendingProps,p=u._init,u=p(u._payload),r.type=u,p=r.tag=ay(u),n=Fn(u,n),p){case 0:r=yc(null,r,u,n,o);break e;case 1:r=Ef(null,r,u,n,o);break e;case 11:r=kf(null,r,u,n,o);break e;case 14:r=jf(null,r,u,Fn(u.type,n),o);break e}throw Error(s(306,u,""))}return r;case 0:return u=r.type,p=r.pendingProps,p=r.elementType===u?p:Fn(u,p),yc(n,r,u,p,o);case 1:return u=r.type,p=r.pendingProps,p=r.elementType===u?p:Fn(u,p),Ef(n,r,u,p,o);case 3:e:{if($f(r),n===null)throw Error(s(387));u=r.pendingProps,m=r.memoizedState,p=m.element,Bd(n,r),ko(r,u,null,o);var _=r.memoizedState;if(u=_.element,m.isDehydrated)if(m={element:u,isDehydrated:!1,cache:_.cache,pendingSuspenseBoundaries:_.pendingSuspenseBoundaries,transitions:_.transitions},r.updateQueue.baseState=m,r.memoizedState=m,r.flags&256){p=mi(Error(s(423)),r),r=Af(n,r,u,o,p);break e}else if(u!==p){p=mi(Error(s(424)),r),r=Af(n,r,u,o,p);break e}else for(hn=zr(r.stateNode.containerInfo.firstChild),fn=r,lt=!0,Dn=null,o=Wd(r,null,u,o),r.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(ui(),u===p){r=vr(n,r,o);break e}Ht(n,r,u,o)}r=r.child}return r;case 5:return Hd(r),n===null&&Kl(r),u=r.type,p=r.pendingProps,m=n!==null?n.memoizedProps:null,_=p.children,Dl(u,p)?_=null:m!==null&&Dl(u,m)&&(r.flags|=32),Cf(n,r),Ht(n,r,_,o),r.child;case 6:return n===null&&Kl(r),null;case 13:return Tf(n,r,o);case 4:return tc(r,r.stateNode.containerInfo),u=r.pendingProps,n===null?r.child=di(r,null,u,o):Ht(n,r,u,o),r.child;case 11:return u=r.type,p=r.pendingProps,p=r.elementType===u?p:Fn(u,p),kf(n,r,u,p,o);case 7:return Ht(n,r,r.pendingProps,o),r.child;case 8:return Ht(n,r,r.pendingProps.children,o),r.child;case 12:return Ht(n,r,r.pendingProps.children,o),r.child;case 10:e:{if(u=r.type._context,p=r.pendingProps,m=r.memoizedProps,_=p.value,tt(_o,u._currentValue),u._currentValue=_,m!==null)if(On(m.value,_)){if(m.children===p.children&&!Zt.current){r=vr(n,r,o);break e}}else for(m=r.child,m!==null&&(m.return=r);m!==null;){var N=m.dependencies;if(N!==null){_=m.child;for(var T=N.firstContext;T!==null;){if(T.context===u){if(m.tag===1){T=wr(-1,o&-o),T.tag=2;var H=m.updateQueue;if(H!==null){H=H.shared;var ne=H.pending;ne===null?T.next=T:(T.next=ne.next,ne.next=T),H.pending=T}}m.lanes|=o,T=m.alternate,T!==null&&(T.lanes|=o),Zl(m.return,o,r),N.lanes|=o;break}T=T.next}}else if(m.tag===10)_=m.type===r.type?null:m.child;else if(m.tag===18){if(_=m.return,_===null)throw Error(s(341));_.lanes|=o,N=_.alternate,N!==null&&(N.lanes|=o),Zl(_,o,r),_=m.sibling}else _=m.child;if(_!==null)_.return=m;else for(_=m;_!==null;){if(_===r){_=null;break}if(m=_.sibling,m!==null){m.return=_.return,_=m;break}_=_.return}m=_}Ht(n,r,p.children,o),r=r.child}return r;case 9:return p=r.type,u=r.pendingProps.children,hi(r,o),p=Cn(p),u=u(p),r.flags|=1,Ht(n,r,u,o),r.child;case 14:return u=r.type,p=Fn(u,r.pendingProps),p=Fn(u.type,p),jf(n,r,u,p,o);case 15:return Sf(n,r,r.type,r.pendingProps,o);case 17:return u=r.type,p=r.pendingProps,p=r.elementType===u?p:Fn(u,p),Ro(n,r),r.tag=1,qt(u)?(n=!0,po(r)):n=!1,hi(r,o),gf(r,u,p),pc(r,u,p,o),wc(null,r,u,!0,n,o);case 19:return If(n,r,o);case 22:return Nf(n,r,o)}throw Error(s(156,r.tag))};function rh(n,r){return vn(n,r)}function iy(n,r,o,u){this.tag=n,this.key=o,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=u,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function An(n,r,o,u){return new iy(n,r,o,u)}function Dc(n){return n=n.prototype,!(!n||!n.isReactComponent)}function ay(n){if(typeof n=="function")return Dc(n)?1:0;if(n!=null){if(n=n.$$typeof,n===W)return 11;if(n===ce)return 14}return 2}function Xr(n,r){var o=n.alternate;return o===null?(o=An(n.tag,r,n.key,n.mode),o.elementType=n.elementType,o.type=n.type,o.stateNode=n.stateNode,o.alternate=n,n.alternate=o):(o.pendingProps=r,o.type=n.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=n.flags&14680064,o.childLanes=n.childLanes,o.lanes=n.lanes,o.child=n.child,o.memoizedProps=n.memoizedProps,o.memoizedState=n.memoizedState,o.updateQueue=n.updateQueue,r=n.dependencies,o.dependencies=r===null?null:{lanes:r.lanes,firstContext:r.firstContext},o.sibling=n.sibling,o.index=n.index,o.ref=n.ref,o}function Bo(n,r,o,u,p,m){var _=2;if(u=n,typeof n=="function")Dc(n)&&(_=1);else if(typeof n=="string")_=5;else e:switch(n){case P:return Es(o.children,p,m,r);case M:_=8,p|=8;break;case U:return n=An(12,o,r,p|2),n.elementType=U,n.lanes=m,n;case J:return n=An(13,o,r,p),n.elementType=J,n.lanes=m,n;case fe:return n=An(19,o,r,p),n.elementType=fe,n.lanes=m,n;case ve:return Vo(o,p,m,r);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case Y:_=10;break e;case Q:_=9;break e;case W:_=11;break e;case ce:_=14;break e;case we:_=16,u=null;break e}throw Error(s(130,n==null?n:typeof n,""))}return r=An(_,o,r,p),r.elementType=n,r.type=u,r.lanes=m,r}function Es(n,r,o,u){return n=An(7,n,u,r),n.lanes=o,n}function Vo(n,r,o,u){return n=An(22,n,u,r),n.elementType=ve,n.lanes=o,n.stateNode={isHidden:!1},n}function Fc(n,r,o){return n=An(6,n,null,r),n.lanes=o,n}function zc(n,r,o){return r=An(4,n.children!==null?n.children:[],n.key,r),r.lanes=o,r.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},r}function oy(n,r,o,u,p){this.tag=r,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Vs(0),this.expirationTimes=Vs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vs(0),this.identifierPrefix=u,this.onRecoverableError=p,this.mutableSourceEagerHydrationData=null}function Wc(n,r,o,u,p,m,_,N,T){return n=new oy(n,r,o,N,T),r===1?(r=1,m===!0&&(r|=8)):r=0,m=An(3,null,null,r),n.current=m,m.stateNode=n,m.memoizedState={element:u,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},ec(m),n}function ly(n,r,o){var u=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:F,key:u==null?null:""+u,children:n,containerInfo:r,implementation:o}}function sh(n){if(!n)return Ur;n=n._reactInternals;e:{if(Hn(n)!==n||n.tag!==1)throw Error(s(170));var r=n;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(n.tag===1){var o=n.type;if(qt(o))return Td(n,o,r)}return r}function ih(n,r,o,u,p,m,_,N,T){return n=Wc(o,u,!0,n,p,m,_,N,T),n.context=sh(null),o=n.current,u=Kt(),p=Qr(o),m=wr(u,p),m.callback=r??null,Gr(o,m,p),n.current.lanes=p,bn(n,p,u),nn(n,u),n}function Go(n,r,o,u){var p=r.current,m=Kt(),_=Qr(p);return o=sh(o),r.context===null?r.context=o:r.pendingContext=o,r=wr(m,_),r.payload={element:n},u=u===void 0?null:u,u!==null&&(r.callback=u),n=Gr(p,r,_),n!==null&&(Un(n,p,_,m),bo(n,p,_)),_}function Ho(n){if(n=n.current,!n.child)return null;switch(n.child.tag){case 5:return n.child.stateNode;default:return n.child.stateNode}}function ah(n,r){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var o=n.retryLane;n.retryLane=o!==0&&o<r?o:r}}function Uc(n,r){ah(n,r),(n=n.alternate)&&ah(n,r)}function cy(){return null}var oh=typeof reportError=="function"?reportError:function(n){console.error(n)};function Bc(n){this._internalRoot=n}Ko.prototype.render=Bc.prototype.render=function(n){var r=this._internalRoot;if(r===null)throw Error(s(409));Go(n,r,null,null)},Ko.prototype.unmount=Bc.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var r=n.containerInfo;Ss(function(){Go(null,n,null,null)}),r[hr]=null}};function Ko(n){this._internalRoot=n}Ko.prototype.unstable_scheduleHydration=function(n){if(n){var r=Ji();n={blockedOn:null,target:n,priority:r};for(var o=0;o<dn.length&&r!==0&&r<dn[o].priority;o++);dn.splice(o,0,n),o===0&&qa(n)}};function Vc(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function Jo(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11&&(n.nodeType!==8||n.nodeValue!==" react-mount-point-unstable "))}function lh(){}function uy(n,r,o,u,p){if(p){if(typeof u=="function"){var m=u;u=function(){var H=Ho(_);m.call(H)}}var _=ih(r,u,n,0,null,!1,!1,"",lh);return n._reactRootContainer=_,n[hr]=_.current,aa(n.nodeType===8?n.parentNode:n),Ss(),_}for(;p=n.lastChild;)n.removeChild(p);if(typeof u=="function"){var N=u;u=function(){var H=Ho(T);N.call(H)}}var T=Wc(n,0,!1,null,null,!1,!1,"",lh);return n._reactRootContainer=T,n[hr]=T.current,aa(n.nodeType===8?n.parentNode:n),Ss(function(){Go(r,T,o,u)}),T}function Qo(n,r,o,u,p){var m=o._reactRootContainer;if(m){var _=m;if(typeof p=="function"){var N=p;p=function(){var T=Ho(_);N.call(T)}}Go(r,_,n,p)}else _=uy(o,r,n,p,u);return Ho(_)}Ki=function(n){switch(n.tag){case 3:var r=n.stateNode;if(r.current.memoizedState.isDehydrated){var o=Ar(r.pendingLanes);o!==0&&(Tr(r,o|1),nn(r,rt()),(Ke&6)===0&&(wi=rt()+500,Br()))}break;case 13:Ss(function(){var u=yr(n,1);if(u!==null){var p=Kt();Un(u,n,1,p)}}),Uc(n,1)}},ds=function(n){if(n.tag===13){var r=yr(n,134217728);if(r!==null){var o=Kt();Un(r,n,134217728,o)}Uc(n,134217728)}},Za=function(n){if(n.tag===13){var r=Qr(n),o=yr(n,r);if(o!==null){var u=Kt();Un(o,n,r,u)}Uc(n,r)}},Ji=function(){return Fe},Gs=function(n,r){var o=Fe;try{return Fe=n,r()}finally{Fe=o}},Pi=function(n,r,o){switch(r){case"input":if(Ee(n,o),r=o.name,o.type==="radio"&&r!=null){for(o=n;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),r=0;r<o.length;r++){var u=o[r];if(u!==n&&u.form===n.form){var p=fo(u);if(!p)throw Error(s(90));ee(u),Ee(u,p)}}}break;case"textarea":Pt(n,o);break;case"select":r=o.value,r!=null&&pe(n,!!o.multiple,r,!1)}},Oi=Lc,or=Ss;var dy={usingClientEntryPoint:!1,Events:[ca,ii,fo,ar,Ka,Lc]},ka={findFiberByHostInstance:ys,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},fy={bundleType:ka.bundleType,version:ka.version,rendererPackageName:ka.rendererPackageName,rendererConfig:ka.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:A.ReactCurrentDispatcher,findHostInstanceByFiber:function(n){return n=In(n),n===null?null:n.stateNode},findFiberByHostInstance:ka.findFiberByHostInstance||cy,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 Yo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Yo.isDisabled&&Yo.supportsFiber)try{Ws=Yo.inject(fy),kt=Yo}catch{}}return rn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=dy,rn.createPortal=function(n,r){var o=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Vc(r))throw Error(s(200));return ly(n,r,null,o)},rn.createRoot=function(n,r){if(!Vc(n))throw Error(s(299));var o=!1,u="",p=oh;return r!=null&&(r.unstable_strictMode===!0&&(o=!0),r.identifierPrefix!==void 0&&(u=r.identifierPrefix),r.onRecoverableError!==void 0&&(p=r.onRecoverableError)),r=Wc(n,1,!1,null,null,o,!1,u,p),n[hr]=r.current,aa(n.nodeType===8?n.parentNode:n),new Bc(r)},rn.findDOMNode=function(n){if(n==null)return null;if(n.nodeType===1)return n;var r=n._reactInternals;if(r===void 0)throw typeof n.render=="function"?Error(s(188)):(n=Object.keys(n).join(","),Error(s(268,n)));return n=In(r),n=n===null?null:n.stateNode,n},rn.flushSync=function(n){return Ss(n)},rn.hydrate=function(n,r,o){if(!Jo(r))throw Error(s(200));return Qo(null,n,r,!0,o)},rn.hydrateRoot=function(n,r,o){if(!Vc(n))throw Error(s(405));var u=o!=null&&o.hydratedSources||null,p=!1,m="",_=oh;if(o!=null&&(o.unstable_strictMode===!0&&(p=!0),o.identifierPrefix!==void 0&&(m=o.identifierPrefix),o.onRecoverableError!==void 0&&(_=o.onRecoverableError)),r=ih(r,null,n,1,o??null,p,!1,m,_),n[hr]=r.current,aa(n),u)for(n=0;n<u.length;n++)o=u[n],p=o._getVersion,p=p(o._source),r.mutableSourceEagerHydrationData==null?r.mutableSourceEagerHydrationData=[o,p]:r.mutableSourceEagerHydrationData.push(o,p);return new Ko(r)},rn.render=function(n,r,o){if(!Jo(r))throw Error(s(200));return Qo(null,n,r,!1,o)},rn.unmountComponentAtNode=function(n){if(!Jo(n))throw Error(s(40));return n._reactRootContainer?(Ss(function(){Qo(null,null,n,!1,function(){n._reactRootContainer=null,n[hr]=null})}),!0):!1},rn.unstable_batchedUpdates=Lc,rn.unstable_renderSubtreeIntoContainer=function(n,r,o,u){if(!Jo(o))throw Error(s(200));if(n==null||n._reactInternals===void 0)throw Error(s(38));return Qo(n,r,o,!1,u)},rn.version="18.3.1-next-f1338f8080-20240426",rn}var gh;function vp(){if(gh)return Kc.exports;gh=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Kc.exports=xy(),Kc.exports}var yh;function by(){if(yh)return Xo;yh=1;var e=vp();return Xo.createRoot=e.createRoot,Xo.hydrateRoot=e.hydrateRoot,Xo}var ky=by();const jy=wp(ky),_p=[{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"]}];_p.map(e=>({id:e.id,label:e.label}));function Sy(e){return`theme-${String(e||"").trim()||"dark"}`}function wh(e){try{const t=document.documentElement,s=Array.from(t.classList).filter(a=>a.startsWith("theme-"));for(const a of s)t.classList.remove(a);t.classList.add(Sy(e))}catch{}}const mu=[{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}],gu=[{id:"compact",label:"Compact",density:.85},{id:"standard",label:"Standard",density:1},{id:"spacious",label:"Spacious",density:1.2}];function Ny(e){const t=String(e).trim();return mu.find(s=>s.id===t)||mu[1]}function Cy(e){const t=String(e).trim();return gu.find(s=>s.id===t)||gu[1]}function vh(e){try{const t=document.documentElement,s=Ny(e.font_scale||"md"),a=Cy(e.header_density||"standard");t.style.setProperty("--font-scale",String(s.scale)),t.style.setProperty("--header-density",String(a.density))}catch{}}const _h={md:"(max-width: 1023.98px)",lg:"(max-width: 1439.98px)"};function Ey(e){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia(e).matches}catch{return!1}}function xh(e){const[t,s]=w.useState(()=>Ey(e));return w.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const a=window.matchMedia(e),l=()=>s(a.matches);return l(),typeof a.addEventListener=="function"?a.addEventListener("change",l):a.addListener(l),()=>{typeof a.removeEventListener=="function"?a.removeEventListener("change",l):a.removeListener(l)}},[e]),t}let Sa=null;function $y(e,t){const s=Math.max(0,Math.round(e));if(!(t.scale<=1.01))return{vvHeight:s,keyboardInset:0};const a=Math.max(0,Math.min(s,Math.round(t.height))),l=Math.max(0,Math.round(e-t.height-Math.max(0,t.offsetTop)));return{vvHeight:a,keyboardInset:l}}function Ay(){if(Sa)return Sa;if(typeof window>"u"||typeof document>"u")return()=>{};const e=window.visualViewport;if(!e)return()=>{};const t=document.documentElement;let s=0;const a=()=>{s=0;const{vvHeight:c,keyboardInset:d}=$y(window.innerHeight,{height:e.height,offsetTop:e.offsetTop,scale:e.scale||1});t.style.setProperty("--vv-height",`${c}px`),t.style.setProperty("--keyboard-inset",`${d}px`)},l=()=>{s||(s=window.requestAnimationFrame(a))};return a(),e.addEventListener("resize",l),e.addEventListener("scroll",l),window.addEventListener("orientationchange",l),Sa=()=>{e.removeEventListener("resize",l),e.removeEventListener("scroll",l),window.removeEventListener("orientationchange",l),s&&window.cancelAnimationFrame(s),t.style.removeProperty("--vv-height"),t.style.removeProperty("--keyboard-inset"),Sa=null},Sa}var Ru=vp();function _i(...e){return e.filter(Boolean).join(" ")}function ss({value:e,options:t,placeholder:s="Select…",disabled:a=!1,loading:l=!1,searchable:c=!0,searchPlaceholder:d="Search…",allowCustom:h=!1,clearable:f=!1,minPopoverWidth:g=240,variant:y="panel",className:v,triggerClassName:x,ariaLabel:b,id:k,includeValueOption:S=!1,onOpen:j,customOptionLabel:C,validateCustomValue:$,onChange:E,renderOption:A,renderValue:z}){const F=w.useRef(null),P=w.useRef(null),M=w.useRef(null),U=w.useRef(j),Y=w.useId(),Q=k||`af-select-${Y.replace(/[^a-zA-Z0-9_-]/g,"")}`,W=`${Q}-listbox`,[J,fe]=w.useState(!1),[ce,we]=w.useState(""),[ve,q]=w.useState(0),[re,ie]=w.useState("bottom"),[R,O]=w.useState({left:0,top:0,width:0});w.useEffect(()=>{U.current=j},[j]);const D=w.useMemo(()=>{if(!S)return t;const X=String(e??"").trim();return!X||t.some(pe=>pe.value===X)?t:[...t,{value:X,label:X}]},[S,t,e]),G=w.useMemo(()=>{const X=String(e??"");return D.find(pe=>pe.value===X)||null},[D,e]),se=w.useMemo(()=>(G==null?void 0:G.label)||String(e||"").trim()||"",[G,e]),ue=w.useMemo(()=>{const X=ce.trim().toLowerCase();return X?D.filter(pe=>pe.label.toLowerCase().includes(X)||pe.value.toLowerCase().includes(X)):D},[D,ce]),he=w.useMemo(()=>{if(!h)return null;const X=ce.trim();if(!X||D.some(He=>He.value===X))return null;const Le=($==null?void 0:$(X,{options:D}))||"";return{value:X,label:C?C(X):`Use "${X}"`,disabled:!!Le,reason:Le}},[h,C,D,ce,$]),le=w.useMemo(()=>{const X=he?[he,...ue]:ue;if(X.length>0)return X;const pe=String(e??"").trim();return l&&pe?[{value:pe,label:se||pe}]:X},[he,ue,l,se,e]),Ce=w.useCallback(()=>{const X=F.current;if(!X)return;const pe=X.getBoundingClientRect(),Le=Math.max(pe.width,g),He=Math.max(8,Math.min(pe.left,window.innerWidth-Le-8)),Pt=window.innerHeight-pe.bottom,Ze=pe.top,Bn=Pt>=220||Pt>=Ze?"bottom":"top";ie(Bn);const At=Bn==="bottom"?pe.bottom+6:pe.top-6;O({left:He,top:At,width:Le})},[g]),Se=w.useCallback(()=>{fe(!1),we("")},[]);w.useEffect(()=>{var X;J&&((X=U.current)==null||X.call(U))},[J]),w.useEffect(()=>{if(!J)return;Ce();const X=()=>Ce();return window.addEventListener("resize",X),window.addEventListener("scroll",X,!0),()=>{window.removeEventListener("resize",X),window.removeEventListener("scroll",X,!0)}},[J,Ce]),w.useEffect(()=>{if(!J)return;const X=pe=>{var He,Pt;const Le=pe.target;Le&&((He=F.current)!=null&&He.contains(Le)||(Pt=P.current)!=null&&Pt.contains(Le)||Se())};return document.addEventListener("mousedown",X,!0),()=>document.removeEventListener("mousedown",X,!0)},[J,Se]),w.useEffect(()=>{if(!J)return;const X=Math.max(0,le.findIndex(pe=>pe.value===e));q(X===-1?0:X),c&&setTimeout(()=>{var pe;return(pe=M.current)==null?void 0:pe.focus()},0)},[J,c,e,le]);const at=X=>{var Le;const pe=le.find(He=>He.value===X);pe!=null&&pe.disabled||(E(X),Se(),(Le=F.current)==null||Le.focus())},ee=X=>{var pe,Le;if(X.key==="Escape")return X.preventDefault(),Se(),(pe=F.current)==null||pe.focus(),!0;if(X.key==="Tab")return Se(),(Le=F.current)==null||Le.focus(),!1;if(X.key==="ArrowDown")return X.preventDefault(),q(He=>Math.min(He+1,Math.max(0,le.length-1))),!0;if(X.key==="ArrowUp")return X.preventDefault(),q(He=>Math.max(He-1,0)),!0;if(X.key==="Home")return X.preventDefault(),q(0),!0;if(X.key==="End")return X.preventDefault(),q(Math.max(0,le.length-1)),!0;if(X.key==="Enter"){X.preventDefault();const He=le[ve];return He&&at(He.value),!0}return!1},K=X=>{if(!a){if(J){if(ee(X))return;if(X.key===" "&&!c){X.preventDefault();const pe=le[ve];pe&&at(pe.value)}return}(X.key==="Enter"||X.key===" "||X.key==="ArrowDown"||X.key==="ArrowUp")&&(X.preventDefault(),fe(!0))}},me=!!String(e||"").trim(),Re=me?se:s,ge=he!=null&&he.disabled?he.reason||"Unavailable":"",Ee=J&&le.length>0?`${Q}-opt-${ve}`:void 0,We=i.jsx("span",{className:_i("af-select-value",!me&&"af-select-value--placeholder"),children:l&&!me?"Loading…":Re}),nt=z?z(G,String(e||"")):We;return i.jsxs("span",{className:_i("af-select",y==="pin"?"af-select--pin":"af-select--panel",v),children:[i.jsxs("button",{ref:F,id:Q,type:"button",className:_i("af-select-trigger",f&&me&&"af-select-trigger--clearable",x),disabled:a,onMouseDown:X=>X.stopPropagation(),onClick:X=>{X.stopPropagation(),!a&&fe(pe=>!pe)},onKeyDown:K,role:c?void 0:"combobox","aria-haspopup":"listbox","aria-expanded":J,"aria-controls":J?W:void 0,"aria-activedescendant":c?void 0:Ee,"aria-label":b,children:[nt,i.jsx("span",{className:_i("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:a,onMouseDown:X=>{X.preventDefault(),X.stopPropagation()},onClick:X=>{var pe;X.preventDefault(),X.stopPropagation(),E(""),Se(),(pe=F.current)==null||pe.focus()},title:"Clear",children:"×"}):null,J?Ru.createPortal(i.jsxs("div",{ref:P,className:_i("af-select-popover",re==="top"&&"af-select-popover--top"),style:{position:"fixed",left:`${R.left}px`,top:`${R.top}px`,width:`${R.width}px`},onMouseDown:X=>X.stopPropagation(),onClick:X=>X.stopPropagation(),onWheel:X=>X.stopPropagation(),onKeyDown:ee,tabIndex:-1,children:[c?i.jsxs("div",{className:"af-select-search",children:[i.jsx("input",{ref:M,className:"af-select-search-input",value:ce,onChange:X=>we(X.target.value),placeholder:d,onKeyDown:ee,role:"combobox","aria-expanded":!0,"aria-controls":W,"aria-activedescendant":Ee,"aria-invalid":!!ge,"aria-describedby":ge?`${Q}-custom-error`:void 0}),ge?i.jsx("div",{id:`${Q}-custom-error`,className:"af-select-custom-error",role:"alert",children:ge}):null]}):null,i.jsx("div",{className:"af-select-options",role:"listbox",id:W,"aria-label":b,children:l&&le.length===0?i.jsx("div",{className:"af-select-empty",children:"Loading…"}):le.length===0?i.jsx("div",{className:"af-select-empty",children:"No results"}):le.map((X,pe)=>{var At;const Le=X.value===e,He=pe===ve,Pt=String(X.group||"").trim(),Ze=pe>0?String(((At=le[pe-1])==null?void 0:At.group)||"").trim():"",Bn=!!Pt&&Pt!==Ze;return i.jsxs(ht.Fragment,{children:[Bn?i.jsx("div",{className:"af-select-group",role:"presentation",children:Pt}):null,i.jsx("div",{id:`${Q}-opt-${pe}`,role:"option","aria-selected":Le,className:_i("af-select-option",Le&&"af-select-option--selected",He&&"af-select-option--highlighted",X.disabled&&"af-select-option--disabled"),title:X.disabled?X.reason||"Unavailable":void 0,onMouseEnter:()=>q(pe),onMouseDown:Vn=>{Vn.preventDefault(),Vn.stopPropagation()},onClick:()=>at(X.value),"aria-disabled":X.disabled?!0:void 0,children:A?A(X,{selected:Le,highlighted:He}):i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"af-select-option-label",children:[i.jsx("span",{children:X.label}),X.reason?i.jsx("small",{className:"af-select-option-reason",children:X.reason}):null]}),Le?i.jsx("span",{className:"af-select-check",children:"✓"}):null]})})]},X.value)})})]}),document.body):null]})}function Ty(e){const t=new Set,s=[];for(const a of e||[]){if(!a||typeof a!="object")continue;const l=String(a.name||"").trim();!l||t.has(l)||(t.add(l),s.push({name:l,display_name:typeof a.display_name=="string"?a.display_name:void 0}))}return s.sort((a,l)=>a.name.localeCompare(l.name)),s}function Ry(e){const t=new Set,s=[];for(const a of e||[]){const l=String(a||"").trim();!l||t.has(l)||(t.add(l),s.push(l))}return s.sort(),s}function Iy(e){const t=e.disabled===!0,s=e.layout||"stack",a=e.allowGatewayDefault!==!1,l=String(e.gatewayDefaultLabel||"(gateway default)"),c=String(e.providerLabel||"Provider"),d=String(e.modelLabel||"Model"),h=String(e.providerPlaceholder||"(select)"),f=String(e.modelPlaceholder||"(select)"),g=String(e.provider||"").trim(),y=String(e.model||"").trim(),v=Ty(e.providers),x=Ry(e.models),b=t||!!e.loadingProviders,k=t||!!e.loadingModels,S=[...a?[{value:"",label:l}]:[],...v.map(C=>({value:C.name,label:C.display_name?`${C.display_name} (${C.name})`:C.name}))],j=[...a?[{value:"",label:l}]:[],...x.map(C=>({value:C,label:C}))];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:c}),i.jsx(ss,{value:g,options:S,placeholder:a?l:h,disabled:b,loading:!!e.loadingProviders,searchable:!0,allowCustom:e.allowCustomProvider===!0,clearable:a,variant:"panel",triggerClassName:e.selectClassName,ariaLabel:c,onChange:C=>e.onChange({provider:String(C||"").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(ss,{value:y,options:j,placeholder:a?l:f,disabled:k,loading:!!e.loadingModels,searchable:!0,allowCustom:e.allowCustomModel===!0,clearable:a,variant:"panel",triggerClassName:e.selectClassName,ariaLabel:d,onChange:C=>e.onChange({provider:g,model:String(C||"").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 xp(e){if(e===!1||e&&typeof e=="object"&&e.mode==="off")return!1;if(!e||typeof e!="object")return;const t=e;if(!(t.mode!=="native_mtp"||!Number.isInteger(t.num_draft_tokens)||Number(t.num_draft_tokens)<1))return{mode:"native_mtp",num_draft_tokens:Number(t.num_draft_tokens),require_acceleration:!0}}function My(e){var s;const t=(s=e==null?void 0:e.execution)==null?void 0:s.speculation;return!t||typeof t.supported!="boolean"?null:{supported:t.supported,ready:typeof t.ready=="boolean"?t.ready:null,reason:typeof t.reason=="string"?t.reason:null,supported_depths:t.supported&&Array.isArray(t.supported_depths)?[...new Set(t.supported_depths.filter(a=>typeof a=="number"&&Number.isInteger(a)&&a>0))]:[],default:Object.prototype.hasOwnProperty.call(t,"effective_default")?t.effective_default:t.default,requires_reload:typeof t.requires_reload=="boolean"?t.requires_reload:null}}function bh(e){const t=xp(e);return t===!1?"off":t?String(t.num_draft_tokens):""}function Ly(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 Py(e){const t=My(e.capabilities),s=bh(e.value),a=(t==null?void 0:t.supported_depths.map(String))||[],l=bh(t==null?void 0:t.default),c=e.inheritLabel||"Workflow / Gateway default",d=l?`${c} (${l==="off"?"Off":`depth ${l}`})`:c,h=e.error||(e.loading?"Checking MTP capability…":t?t.reason||(t.requires_reload?"Model reload required before MTP can run.":t.ready===!1?"MTP is supported but not ready on this instance.":t.ready===null&&t.supported?"MTP support verified; loaded-instance readiness is unknown.":t.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(ss,{ariaLabel:"MTP depth",value:s,placeholder:d,disabled:e.disabled||e.loading,options:[{value:"",label:d},{value:"off",label:"Off"},...a.map(f=>({value:f,label:`Depth ${f}`})),...s&&s!=="off"&&!a.includes(s)?[{value:s,label:`Depth ${s} (saved; not available)`}]:[]],onChange:f=>e.onChange(Ly(f))}),h?i.jsx("div",{role:"status",className:"af-pmp__hint",children:h}):null]})}function Iu(e){var ie,R;const t=e.disabled===!0,s=e.value||{provider:"",model:""},a=!String(s.provider||"").trim()&&!String(s.model||"").trim(),[l,c]=w.useState(!a),d=a&&!l,h=w.useRef(a);w.useEffect(()=>{a&&!h.current&&c(!1),h.current=a},[a]);const[f,g]=w.useState([]),[y,v]=w.useState(!1),[x,b]=w.useState(""),[k,S]=w.useState([]),[j,C]=w.useState(!1),[$,E]=w.useState(""),A=w.useRef(e);A.current=e,w.useEffect(()=>{if(d||t)return;let O=!0;return v(!0),(async()=>{try{const D=await A.current.fetchProviders();if(!O)return;g(Array.isArray(D)?D:[]),b("")}catch(D){if(!O)return;g([]),b(`#FALLBACK provider discovery failed: ${String((D==null?void 0:D.message)||D)}`)}finally{O&&v(!1)}})(),()=>{O=!1}},[d,t]);const z=String(s.provider||"").trim();w.useEffect(()=>{if(!z||t){S([]),E(""),C(!1);return}let O=!0;return S([]),C(!0),E(""),(async()=>{try{const D=await A.current.fetchModels(z);if(!O)return;S(Array.isArray(D)?D:[])}catch(D){if(!O)return;S([]),E(`#FALLBACK model discovery failed: ${String((D==null?void 0:D.message)||D)}`)}finally{O&&C(!1)}})(),()=>{O=!1}},[z,t]);const F=w.useMemo(()=>{const O=[...f];return z&&!O.some(D=>D.name===z)&&O.unshift({name:z}),O},[f,z]),P=String(s.model||"").trim(),M=w.useMemo(()=>{const O=[...k];return P&&!O.includes(P)&&O.unshift(P),O},[k,P]),U=e.defaultModeLabel||"Gateway default",Y=e.customModeLabel||"Custom",Q=z||((ie=e.effectiveDefault)==null?void 0:ie.provider)||"",W=P||(z?"":(R=e.effectiveDefault)==null?void 0:R.model)||"",[J,fe]=w.useState({levels:[],error:"",loading:!1}),ce=!!e.fetchModelCapabilities,[we,ve]=w.useState();w.useEffect(()=>{let O=!0;if(ve(void 0),fe({levels:[],error:"",loading:ce&&!!W}),!(!ce||!W||t))return A.current.fetchModelCapabilities(W,Q).then(D=>{var he;if(!O)return;if(D!=null&&D.error)throw new Error(String(D.error));ve(D);const G=(D==null?void 0:D.capabilities)||D||{},se=G.reasoning_levels||G.thinking_levels,ue=Array.isArray(se)?[...new Set(se.filter(le=>typeof le=="string"&&!!le.trim()))]:[];!ue.length&&G.thinking_support===!0&&((he=G.thinking_control)!=null&&he.prompt_disable_token)&&ue.push("off","auto"),fe({levels:ue,error:"",loading:!1})}).catch(D=>{O&&fe({levels:[],error:`Reasoning options unavailable: ${String((D==null?void 0:D.message)||D)}`,loading:!1})}),()=>{O=!1}},[Q,W,ce,t]);const q=e.inheritLabel||"Workflow / Gateway default",re=!d||e.optionsInDefaultMode!==!1;return 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:()=>{c(!1),e.onChange({...s,provider:"",model:"",...ce?{reasoning:""}:{}})},disabled:t,children:U}),i.jsx("button",{type:"button",role:"tab","aria-selected":!d,className:`af-pmp__seg-btn${d?"":" is-active"}`,onClick:()=>{c(!0)},disabled:t,children:Y})]}),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(Iy,{provider:z,model:P,providers:F,models:M,disabled:t,loadingProviders:y,loadingModels:j,providerError:x||void 0,modelError:$||void 0,providerLabel:e.providerLabel,modelLabel:e.modelLabel,allowGatewayDefault:!1,allowCustomProvider:e.allowCustom!==!1,allowCustomModel:e.allowCustom!==!1,onChange:O=>e.onChange({...s,provider:O.provider,model:O.model,...ce?{reasoning:""}:{}})}),re&&ce&&(J.levels.length>0||s.reasoning)?i.jsxs("div",{className:"af-pmp__reasoning",children:[i.jsx("label",{children:e.reasoningLabel||"Reasoning effort"}),i.jsx(ss,{ariaLabel:e.reasoningLabel||"Reasoning effort",placeholder:q,value:s.reasoning||"",options:[{value:"",label:q},...J.levels.map(O=>({value:O,label:O})),...s.reasoning&&!J.levels.includes(s.reasoning)?[{value:s.reasoning,label:`${s.reasoning} (saved; not advertised)`}]:[]],disabled:t||J.loading,onChange:O=>e.onChange({...s,reasoning:O})})]}):null,re&&J.error?i.jsx("div",{role:"status",className:"af-pmp__hint",children:J.error}):null,re&&e.enableSpeculation?i.jsx(Py,{value:s.speculation,inheritLabel:q,onChange:O=>e.onChange({...s,speculation:O}),capabilities:we,disabled:t,loading:J.loading,error:J.error?J.error.replace("Reasoning options","MTP options"):void 0}):null]})}function kh(...e){return e.filter(Boolean).join(" ")}function Oy({kicker:e="AbstractGateway connection",title:t="Connect to AbstractGateway",description:s="Sign in with the Gateway user token assigned by the Gateway admin.",statusLabel:a="Not signed in",statusTone:l="neutral",showGatewayUrl:c=!1,gatewayUrl:d="",gatewayUrlPlaceholder:h="http://127.0.0.1:8080",onGatewayUrlChange:f,userId:g,userPlaceholder:y="admin",onUserIdChange:v,token:x,tokenPlaceholder:b="Paste Gateway user token",showToken:k=!1,onTokenChange:S,onShowTokenChange:j,remember:C=!1,rememberLabel:$="Remember this browser",onRememberChange:E,loading:A=!1,submitting:z=!1,submitDisabled:F=!1,submitLabel:P="Sign in",submittingLabel:M="Signing in...",closeLabel:U="Close",signOutLabel:Y="Sign out",showClose:Q=!1,showSignOut:W=!1,error:J,message:fe,className:ce,onSubmit:we,onClose:ve,onSignOut:q}){const re=A||z,ie=re||F||!String(g||"").trim()||!String(x||"").trim(),R=O=>{O.preventDefault(),!ie&&we()};return i.jsxs("form",{className:kh("af-gateway-signin",ce),onSubmit:R,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:t}),s?i.jsx("p",{children:s}):null]}),i.jsx("div",{className:"af-gateway-signin__mark","aria-hidden":"true",children:"↔"})]}),i.jsx("div",{className:"af-gateway-signin__status-row",children:i.jsx("span",{className:kh("af-gateway-signin__status",`af-gateway-signin__status--${l}`),children:a})}),i.jsxs("div",{className:"af-gateway-signin__form",children:[c?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:d,onChange:O=>f==null?void 0:f(O.target.value),placeholder:h,autoComplete:"url",disabled:re})]}):null,i.jsx("label",{className:"af-gateway-signin__label",htmlFor:"gateway-session-user",children:"Gateway user"}),i.jsx("input",{id:"gateway-session-user",value:g,onChange:O=>v(O.target.value),placeholder:y,autoComplete:"username",disabled:re}),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:k?"text":"password",value:x,onChange:O=>S(O.target.value),placeholder:b,autoComplete:"off","data-1p-ignore":"","data-lpignore":"true","data-bwignore":"",spellCheck:!1,disabled:re}),i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>j==null?void 0:j(!k),disabled:re,children:k?"Hide":"Show"})]}),i.jsxs("label",{className:"af-gateway-signin__checkbox",children:[i.jsx("input",{type:"checkbox",checked:!!C,onChange:O=>E==null?void 0:E(O.target.checked),disabled:re}),$]})]}),J?i.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--error",children:J}):null,!J&&fe?i.jsx("div",{className:"af-gateway-signin__message af-gateway-signin__message--ok",children:fe}):null,i.jsxs("div",{className:"af-gateway-signin__actions",children:[Q?i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:ve,disabled:re,children:U}):null,W?i.jsx("button",{className:"af-gateway-signin__secondary",type:"button",onClick:()=>void(q==null?void 0:q()),disabled:re,children:Y}):null,i.jsx("button",{className:"af-gateway-signin__primary",type:"submit",disabled:ie,children:z?M:P})]})]})}function Dy(e){return e==="light"?"Light":"Dark"}function Fy(e){const t=e.themes&&e.themes.length?e.themes:_p,s=e.showSwatches!==!1,a=e.variant||"panel",l=w.useMemo(()=>{const d={};for(const h of t)d[h.id]=h;return d},[t]),c=w.useMemo(()=>t.map(d=>({value:d.id,label:d.label,group:Dy(d.group)})),[t]);return i.jsx(ss,{value:e.value,options:c,placeholder:e.placeholder||"Select theme…",disabled:e.disabled===!0,searchable:!0,allowCustom:!1,clearable:!1,variant:a,className:e.className,triggerClassName:e.triggerClassName,onChange:d=>e.onChange(String(d||"").trim()),renderValue:(d,h)=>{const f=String(h||"").trim(),g=l[f],y=(g==null?void 0:g.label)||f||e.placeholder||"Select theme…",v=(g==null?void 0:g.swatches)||null,x=!f;return i.jsxs("span",{className:"af-theme-value",children:[i.jsx("span",{className:`af-theme-label ${x?"af-theme-label--placeholder":""}`.trim(),children:y}),s&&v?i.jsx("span",{className:"af-theme-swatches","aria-hidden":"true",children:v.map((b,k)=>i.jsx("span",{className:"af-theme-swatch",style:{background:b}},`${f}:${k}`))}):null]})},renderOption:(d,h)=>{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((v,x)=>i.jsx("span",{className:"af-theme-swatch",style:{background:v}},`${f}:${x}`))}):null,h.selected?i.jsx("span",{className:"af-select-check",children:"✓"}):null]})]})}})}function zy(e){const t=e.scales&&e.scales.length?e.scales:mu,s=e.variant||"panel",a=w.useMemo(()=>t.map(l=>({value:l.id,label:l.label})),[t]);return i.jsx(ss,{value:e.value,options:a,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 Wy(e){const t=e.densities&&e.densities.length?e.densities:gu,s=e.variant||"panel",a=w.useMemo(()=>t.map(l=>({value:l.id,label:l.label})),[t]);return i.jsx(ss,{value:e.value,options:a,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 Uy=new Set(["board","inbox","server","agent","playCircle","list","gear"]);function By(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 ae({name:e,size:t=16,className:s,title:a,...l}){const c=a?void 0:!0,d=Uy.has(e);return i.jsxs("svg",{width:t,height:t,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":c,role:a?"img":"presentation",...l,children:[a?i.jsx("title",{children:a}):null,By(e)]})}const cl="api/gateway",Ua="api/connection/gateway";function ke(e){const t=String(e||"");if(t.startsWith("/"))throw new Error(`gatewayApiPath takes a route relative to the gateway API, got ${JSON.stringify(t)}.`);return t?`${cl}/${t}`:cl}function Qe(e,t){const s=String(t||"");if(s.startsWith("/"))throw new Error(`joinBaseUrl takes a relative path, got ${JSON.stringify(s)}.`);let a=String(e??"");for(;a.endsWith("/");)a=a.slice(0,-1);return a?`${a}/${s}`:s}function Vy(e){const t=String(e||""),s=`/${cl}/`;if(!t.startsWith(s)||t.length===s.length)throw new Error(`Not a gateway API path: ${JSON.stringify(t)} (expected ${JSON.stringify(s)}…).`);const a=t.slice(s.length).split(/[?#]/,1)[0];if(/\\|%2f|%5c/i.test(a))throw new Error(`Not a gateway API path: ${JSON.stringify(t)} (encoded slash or backslash).`);for(const l of a.split("/")){const c=l.replace(/%2e/gi,".");if(c==="."||c==="..")throw new Error(`Not a gateway API path: ${JSON.stringify(t)} (a "." or ".." segment).`)}return t.slice(1)}function Gy(e){return!String(e.unavailableReason||"").trim()&&!e.busy}function Hy(e){return Gy(e)?!e.checked:null}let Ky=0;function Ri(e){const{label:t,checked:s,onChange:a,description:l,reasonVisible:c=!0,describedBy:d,hint:h,busy:f=!1,variant:g="inline",ariaLabel:y,className:v,id:x,action:b}=e,k=String(e.unavailableReason||"").trim(),S=!!k,j=d||(x?`${x}-reason`:S?`af-switch-reason-${++Ky}`:void 0),C=["af-switch",g==="row"?"af-switch--row":g==="sm"?"af-switch--sm":"",S?"af-switch--unavailable":"",v||""].filter(Boolean).join(" "),$=A=>{const z=Hy({checked:s,unavailableReason:k,busy:f});if(z===null){A.preventDefault();return}a==null||a(z)},E=i.jsxs("button",{type:"button",role:"switch",id:x,className:C,"data-action":b,"aria-checked":s?"true":"false","aria-disabled":S?"true":void 0,"aria-describedby":S?j:void 0,"aria-busy":f?"true":void 0,"aria-label":y,"aria-description":l?void 0:h,title:S?h?`${k}
|
|
41
|
+
${h}`:k:h,onClick:$,children:[i.jsx("span",{className:"af-switch__track","aria-hidden":"true",children:i.jsx("span",{className:"af-switch__thumb"})}),i.jsxs("span",{className:"af-switch__text",children:[i.jsx("span",{className:"af-switch__label",children:t}),l?i.jsx("span",{className:"af-switch__desc",children:l}):null]})]});return!S||d?E:i.jsxs("span",{className:g==="row"?"af-switch-wrap af-switch-wrap--row":"af-switch-wrap",children:[E,i.jsx("span",{id:j,className:c?"af-switch__reason":"af-switch__reason af-switch__reason--hidden",children:k})]})}function Jy(e){const t=String(e.unavailableReason||"").trim(),s=["af-switch","af-switch--native",e.variant==="row"?"af-switch--row":"",t?"af-switch--unavailable":""].filter(Boolean).join(" "),a=t?`${e.id||e.name}-reason`:void 0,l=i.jsxs("label",{className:s,title:t||void 0,"data-action":e.action,children:[i.jsx("input",{type:"checkbox",role:"switch",className:"af-switch__input",id:e.id,name:e.name,defaultChecked:e.defaultChecked,onChange:c=>{var d;return(d=e.onChange)==null?void 0:d.call(e,c.target.checked)},disabled:!!t,"aria-describedby":a}),i.jsx("span",{className:"af-switch__track","aria-hidden":"true",children:i.jsx("span",{className:"af-switch__thumb"})}),i.jsx("span",{className:"af-switch__text",children:i.jsx("span",{className:"af-switch__label",children:e.label})})]});return t?i.jsxs("span",{className:e.variant==="row"?"af-switch-wrap af-switch-wrap--row":"af-switch-wrap",children:[l,i.jsx("span",{id:a,className:"af-switch__reason",children:t})]}):l}const Qy={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 Yy(e){const t=new Set,s=[];for(const a of e||[]){if(!a)continue;const l=String(a.name||"").trim();!l||t.has(l)||(t.add(l),s.push({name:l,description:typeof a.description=="string"?a.description:void 0,toolset:typeof a.toolset=="string"?a.toolset:void 0,when_to_use:typeof a.when_to_use=="string"?a.when_to_use:void 0,default_approval:a.default_approval==="approve"||a.default_approval==="ask"?a.default_approval:void 0}))}return s.sort((a,l)=>{const c=String(a.toolset||""),d=String(l.toolset||"");return c!==d?c.localeCompare(d):a.name.localeCompare(l.name)}),s}function Xy(e,t){return e.default_approval?e.default_approval:t.requireApproval.includes(e.name)?"ask":t.autoApprove.includes(e.name)?"approve":"ask"}function Zy(e,t,s){const a=String(e||"").trim().toLowerCase();if(!a&&!t&&!s)return null;let l;return a==="approval"||a==="local_approval"||a==="local-approval"?l={label:"APPROVAL",detail:"Safe tools auto-run; mutating tools ask for approval.",tone:"safe"}:a==="passthrough"?l={label:"PASSTHROUGH",detail:"All tools require approval before execution.",tone:"warn"}:a==="delegated"||a==="delegate"||a==="job"?l={label:"DELEGATED",detail:"Tool calls wait for external executors.",tone:"info"}:a==="local"||a==="local_all"||a==="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"},t&&(l={...l,label:t}),s&&(l={...l,detail:s}),l}function qy(e){const t=e.split("_");return t.map((s,a)=>a<t.length-1?i.jsxs(ht.Fragment,{children:[s,"_",i.jsx("wbr",{})]},a):i.jsx(ht.Fragment,{children:s},a))}function ew(e){var U,Y;const t=e.defaults||Qy,s=e.disabled===!0,a=e.title||"Tools",l=e.subtitle||"Default is all tools. Safe/read-only tools auto-approve; mutating tools ask for approval.",c=String(e.note||"").trim(),d=w.useMemo(()=>Zy(e.toolMode,e.toolModeLabel,e.toolModeDetail),[e.toolMode,e.toolModeLabel,e.toolModeDetail]),h=w.useMemo(()=>Yy(e.tools),[e.tools]),f=w.useMemo(()=>h.map(Q=>Q.name),[h]),g=w.useMemo(()=>new Set(f),[f]),[y,v]=w.useState(""),x=w.useMemo(()=>{var fe;const Q=Array.isArray((fe=e.value)==null?void 0:fe.selected)?e.value.selected:[],W=new Set,J=[];for(const ce of Q){const we=String(ce||"").trim();!we||W.has(we)||(W.add(we),J.push(we))}return J},[(U=e.value)==null?void 0:U.selected]),b=w.useMemo(()=>x.filter(Q=>g.has(Q)),[x,g]),k=w.useMemo(()=>x.filter(Q=>!g.has(Q)),[x,g]),S=((Y=e.value)==null?void 0:Y.mode)==="custom"?"custom":"all",j=w.useMemo(()=>{const Q=y.trim().toLowerCase();return Q?h.filter(W=>{const J=W.name.toLowerCase(),fe=(W.description||"").toLowerCase();return J.includes(Q)||fe.includes(Q)}):h},[h,y]),C=S==="all"?new Set(f):new Set(b),$=Q=>{e.onChange(Q)},E=Q=>{s||$({...e.value,mode:Q,selected:x})},A=(Q,W)=>{if(s)return;const J=new Set(b);W?J.add(Q):J.delete(Q),$({...e.value,selected:[...k,...Array.from(J)],mode:"custom"})},z=(Q,W)=>{var fe;if(s)return;const J={...((fe=e.value)==null?void 0:fe.approval)||{}};J[Q]=W,$({...e.value,approval:J})},F=()=>{s||$({...e.value,selected:[...k,...f],mode:"custom"})},P=()=>{s||$({...e.value,selected:[...k],mode:"custom"})},M=C.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:a}),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,c?i.jsx("div",{className:"af-tool-policy__note",children:c}):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 ${S==="all"?"is-active":""}`.trim(),onClick:()=>E("all"),disabled:s,"aria-pressed":S==="all",children:"All tools"}),i.jsx("button",{type:"button",className:`af-tool-policy__seg-btn ${S==="custom"?"is-active":""}`.trim(),onClick:()=>E("custom"),disabled:s,"aria-pressed":S==="custom",children:"Custom allowlist"})]}),i.jsxs("div",{className:"af-tool-policy__count",children:[M," / ",f.length," enabled"]}),i.jsxs("div",{className:"af-tool-policy__bulk",children:[i.jsx("button",{type:"button",onClick:F,disabled:s||S!=="custom",children:"Select all"}),i.jsx("button",{type:"button",onClick:P,disabled:s||S!=="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=>v(Q.target.value),disabled:s})}),i.jsxs("div",{className:"af-tool-policy__list",children:[j.map(Q=>{var fe,ce;const W=C.has(Q.name),J=((ce=(fe=e.value)==null?void 0:fe.approval)==null?void 0:ce[Q.name])||Xy(Q,t);return i.jsxs("div",{className:`af-tool-row ${W?"is-enabled":""}`.trim(),children:[i.jsx("div",{className:"af-tool-row__check",children:i.jsx(Ri,{variant:"sm",action:"tool-enabled",label:"",ariaLabel:Q.name,checked:W,busy:s,unavailableReason:S!=="custom"?"Choose Custom to pick tools one by one.":null,reasonVisible:!1,onChange:we=>A(Q.name,we)})}),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:qy(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||!W,onChange:we=>z(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 yu(e=Ua){const t=await fetch(e),s=await t.json().catch(()=>null);if(!t.ok){const a=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${t.status}`;throw new Error(a)}return s}async function tw(e,t=Ua){const s=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>null);if(!s.ok){const l=a&&typeof a=="object"&&a.detail?String(a.detail):`HTTP ${s.status}`;throw new Error(l)}return a}async function bp(e=Ua){const t=await fetch(e,{method:"DELETE"});if(!t.ok){const s=await t.json().catch(()=>({})),a=s&&typeof s=="object"&&s.detail?String(s.detail):`HTTP ${t.status}`;throw new Error(a)}}function Yc(e){let t=String(e||"").trim();for(let s=0;s<2&&t;s+=1){try{const c=JSON.parse(t);if(typeof c=="string"&&c!==t){t=c.trim();continue}}catch{}const a=t[0],l=t[t.length-1];if(a==='"'&&l==='"'||a==="'"&&l==="'"){t=t.slice(1,-1).trim();continue}break}return t.replace(/\/+$/,"")}function nw(e){var c,d;if(!e)return{label:"Signed out",tone:"warn"};if(!e.has_session)return{label:"Signed out",tone:"warn"};const t=e.gateway||{},s=(c=t.principal)==null?void 0:c.user_id,a=(d=t.principal)==null?void 0:d.runtime_id;if(t.ok&&s)return{label:`Signed in as ${s}${a?` · runtime ${a}`:""}`,tone:"ok"};if(t.ok)return{label:"Signed in",tone:"ok"};const l=t.error||t.detail;return typeof l=="string"&&l.trim()?{label:"Session rejected — sign in again",tone:"err"}:{label:"Sign in required",tone:"err"}}function rw(e){const t=e.connectionPath||Ua,[s,a]=w.useState(!1),[l,c]=w.useState(!1),[d,h]=w.useState(null),[f,g]=w.useState(!1);w.useEffect(()=>{e.isOpen||g(!1)},[e.isOpen]);const[y,v]=w.useState(e.defaultGatewayUrl||"http://127.0.0.1:8080"),[x,b]=w.useState("admin"),[k,S]=w.useState(""),[j,C]=w.useState(!1),[$,E]=w.useState(!0),[A,z]=w.useState(""),[F,P]=w.useState(""),M=w.useMemo(()=>nw(d),[d]),U=J=>{var fe;h(J),(fe=e.onStatusChange)==null||fe.call(e,J)},Y=w.useRef(!1);if(w.useEffect(()=>{var fe;if(!e.isOpen)return;const J=!Y.current;if(Y.current=!0,J&&e.initialStatus!==void 0&&e.initialStatus!==null){const ce=e.initialStatus;U(ce),typeof ce.gateway_url=="string"&&ce.gateway_url.trim()&&v(Yc(ce.gateway_url));const we=(fe=ce.gateway)==null?void 0:fe.principal;we!=null&&we.user_id&&b(we.user_id);return}a(!0),z(""),yu(t).then(ce=>{var ve;U(ce),typeof ce.gateway_url=="string"&&ce.gateway_url.trim()&&v(Yc(ce.gateway_url));const we=(ve=ce.gateway)==null?void 0:ve.principal;we!=null&&we.user_id&&b(we.user_id)}).catch(ce=>z(`Failed to load connection status: ${String((ce==null?void 0:ce.message)||ce)}`)).finally(()=>a(!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()=>{c(!0),z(""),P("");try{const J=Yc(y);v(J);const fe=await tw({gateway_url:J,gateway_user_id:x,gateway_token:k,persist:$},t);U(fe),S(""),g(!0),e.onClose()}catch(J){z(String((J==null?void 0:J.message)||J))}finally{c(!1)}},W=async()=>{c(!0),z(""),P("");try{await bp(t),S("");const J=await yu(t).catch(()=>null);U(J),P("Signed out. This browser no longer holds a gateway session.")}catch(J){z(String((J==null?void 0:J.message)||J))}finally{c(!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(Oy,{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:M.label,statusTone:M.tone,showGatewayUrl:!0,gatewayUrl:y,onGatewayUrlChange:J=>v(J),userId:x,onUserIdChange:b,token:k,tokenPlaceholder:d!=null&&d.has_session?"(browser session already signed in)":"Paste Gateway user token",showToken:j,onTokenChange:S,onShowTokenChange:C,remember:$,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:W,error:A,message:F,onSubmit:Q})})})}function sw(e){return!!(e&&e.ok===!0&&e.has_session===!0)}function iw(e){const t=e||{},s=t.connectionPath||Ua,a=t.variant||"dismissable",l=w.useRef(t.onStatusChange);l.current=t.onStatusChange;const c=w.useRef(a);c.current=a;const d=w.useRef(!!t.autoOpenMidSession);d.current=!!t.autoOpenMidSession;const[h,f]=w.useState(null),[g,y]=w.useState("loading"),[v,x]=w.useState(!1),b=w.useRef(!1),k=w.useRef(!1),S=w.useRef("loading"),j=w.useRef("none"),C=w.useRef(!1),$=w.useRef(0),E=w.useCallback(fe=>{var we;$.current+=1,f(fe),(we=l.current)==null||we.call(l,fe);const ce=sw(fe);if(ce)y("connected"),S.current="connected",b.current=!1,j.current="none",k.current||x(!1);else if(fe!==null){const ve=S.current;y("disconnected"),S.current="disconnected",ve!=="disconnected"&&(j.current=C.current?"signout":ve==="connected"?"mid":"boot");const q=c.current==="blocking"||j.current!=="mid"||d.current;!b.current&&q&&x(!0)}fe!==null&&(k.current=ce)},[]),A=w.useCallback(async()=>{const fe=$.current;try{const ce=await yu(s);if($.current!==fe)return;E(ce)}catch{if($.current!==fe)return;E(null)}},[s,E]),[z,F]=w.useState(!1),[P,M]=w.useState(null),U=w.useCallback(async()=>{F(!0),M(null),$.current+=1;let fe=null;try{await bp(s)}catch(ce){fe=String((ce==null?void 0:ce.message)||ce||"Sign-out request failed")}C.current=!0;try{await A()}finally{C.current=!1}M(fe),F(!1)},[s,A]),Y=w.useRef(!1);w.useEffect(()=>{Y.current||(Y.current=!0,A())},[A]);const Q=w.useCallback(()=>{x(!0)},[]),W=w.useCallback(()=>{const fe=S.current;a==="blocking"&&fe==="disconnected"||(fe==="disconnected"&&(b.current=!0),x(!1))},[a]),J=w.useMemo(()=>({isOpen:v,onClose:W,blocking:a==="blocking"&&g!=="connected",appName:t.appName,connectionPath:s,defaultGatewayUrl:t.defaultGatewayUrl,initialStatus:h,onStatusChange:E}),[v,W,a,g,t.appName,s,t.defaultGatewayUrl,h,E]);return{status:h,phase:g,connected:g==="connected",modalOpen:v,signingOut:z,signOutError:P,openModal:Q,refresh:A,signOut:U,modalProps:J}}function aw(){return globalThis.crypto}function ow(e){if(e.length<16)throw new Error("uuidV4FromBytes: needs 16 bytes");const t=Array.from(e.subarray(0,16));t[6]=t[6]&15|64,t[8]=t[8]&63|128;const s=t.map(a=>a.toString(16).padStart(2,"0")).join("");return`${s.slice(0,8)}-${s.slice(8,12)}-${s.slice(12,16)}-${s.slice(16,20)}-${s.slice(20)}`}function Mu(){const e=aw();if(e&&typeof e.randomUUID=="function")try{return e.randomUUID()}catch{}if(e&&typeof e.getRandomValues=="function")return ow(e.getRandomValues(new Uint8Array(16)));throw new Error("randomId: Web Crypto (crypto.getRandomValues) is unavailable")}function kp(e){return globalThis.isSecureContext!==!1?null:`This page is loaded over http, so ${e} is unavailable — open it over https (for example through tailscale serve; the gateway console's Network page explains how) or on the gateway's own computer.`}function wu(e){const t=e.closeOnEscape!==!1,s=w.useRef(null);return w.useEffect(()=>{if(!e.open||!t)return;const a=l=>{l.key!=="Escape"||l.defaultPrevented||(l.preventDefault(),e.onClose())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.open,t,e.onClose]),w.useEffect(()=>{const a=s.current;a&&(e.open?a.removeAttribute("inert"):a.setAttribute("inert",""))},[e.open]),i.jsxs(i.Fragment,{children:[e.backdrop&&e.open?i.jsx("div",{className:"af-drawer-backdrop","aria-hidden":"true",onClick:e.onClose,style:{top:e.topOffset||0}}):null,i.jsxs("div",{ref:s,className:`af-drawer${e.side==="left"?" af-drawer--left":""}${e.topOffset?" af-drawer--offset":""}${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 lw={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"},cw={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"}},uw={framework:lw,apps:cw},ul=uw;function dw(){return Object.keys(ul.apps).sort()}function fw(e,t){const s=Object.prototype.hasOwnProperty.call(ul.apps,e)?ul.apps[e]:void 0;if(!s)throw new Error(`appIdentity: unknown application id "${e}" (known: ${dw().join(", ")})`);return{id:e,name:s.name,version:t,website:s.website,repo:s.repo,docs:s.docs,issues:s.issues,feedback:s.feedback}}function hw(e,t){const s=ul.framework,a=[["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,c]of t||[])a.push([String(l),String(c)]);return a}function Xc(e){return typeof e=="string"?e.trim():""}function jh(e,t){if(t!=null)return[["Gateway",`unavailable (${String(t).trim()||"unknown error"})`]];const s=e&&typeof e=="object"&&!Array.isArray(e)?e:{},a=Xc(s.abstractgateway);if(!a)return[["Gateway","unavailable (the gateway did not report its version)"]];const l=Xc(s.abstractframework),c=[["Gateway",`AbstractGateway ${a}`],["Gateway framework",l?`AbstractFramework ${l}`:"not installed on the gateway host"]],d=s.packages&&typeof s.packages=="object"&&!Array.isArray(s.packages)?s.packages:{},h=Object.keys(d).filter(f=>f!=="abstractgateway"&&f!=="abstractframework").sort((f,g)=>f<g?-1:f>g?1:0);for(const f of h){const g=Xc(d[f]);g&&c.push([`Gateway package ${f}`,g])}return c}const pw='a[href], button:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])';function jp(e,t,s){if(e.key!=="Tab"||!t)return;const a=Array.from(t.querySelectorAll(pw));if(a.length===0){e.preventDefault();return}const l=a[0],c=a[a.length-1],d=!!s&&t.contains(s);e.shiftKey?(s===l||!d)&&(e.preventDefault(),c.focus()):(s===c||!d)&&(e.preventDefault(),l.focus())}const mw=/https?:\/\/[^\s<>"]+/g;function gw(e,t){if(e==="Contact")return[{text:t,href:`mailto:${t}`}];const s=[];let a=0;for(const l of t.matchAll(mw)){const c=l.index??0;c>a&&s.push({text:t.slice(a,c)}),s.push({text:l[0],href:l[0]}),a=c+l[0].length}return(a<t.length||s.length===0)&&s.push({text:t.slice(a)}),s}function yw({label:e,value:t}){return i.jsx("span",{children:gw(e,t).map((s,a)=>s.href===void 0?i.jsx(ht.Fragment,{children:s.text},a):s.href.startsWith("mailto:")?i.jsx("a",{className:"af-about__link",href:s.href,children:s.text},a):i.jsx("a",{className:"af-about__link",href:s.href,target:"_blank",rel:"noopener noreferrer",children:s.text},a))})}function ww(e){const t=w.useRef(null),s=w.useRef(null),a=w.useId(),l=w.useRef(e.onClose);if(l.current=e.onClose,w.useEffect(()=>{var g;if(!e.open)return;const h=document.activeElement;(g=t.current)==null||g.focus();const f=y=>{if(!y.defaultPrevented){if(y.key==="Escape"){y.preventDefault(),l.current();return}jp(y,s.current,document.activeElement)}};return window.addEventListener("keydown",f),()=>{window.removeEventListener("keydown",f),h&&typeof h.focus=="function"&&h.focus()}},[e.open]),!e.open)return null;const c=e.title||`About ${e.identity.name}`,d=hw(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":a,onClick:h=>h.stopPropagation(),children:[i.jsx("div",{className:"af-appearance__title",id:a,children:c}),i.jsx("dl",{className:"af-about__rows",children:d.map(([h,f],g)=>i.jsxs("div",{className:"af-about__row",children:[i.jsx("dt",{className:"af-about__label",children:h}),i.jsx("dd",{className:"af-about__value",children:i.jsx(yw,{label:h,value:f})})]},`${g}:${h}`))}),i.jsx("div",{className:"af-appearance__actions",children:i.jsx("button",{ref:t,type:"button",className:"af-appearance__close",onClick:e.onClose,children:"Close"})})]})})}function vw(e){const{connection:t}=e,s=t.phase,a=t.signingOut===!0,[l,c]=w.useState(!1),d=e.about,h=a?"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(ae,{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(ae,{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;c(!0),(g=d.onOpen)==null||g.call(d)},children:i.jsx(ae,{name:"info",size:16})}):null,e.extraActions,i.jsxs("button",{type:"button",className:`af-topbar__pill af-topbar__pill--${s}`,onClick:s==="connected"?t.onDisconnect:t.onConnect,disabled:a,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:h})]}),d?i.jsx(ww,{open:l,onClose:()=>c(!1),identity:d.identity,extraRows:d.extraRows}):null]})}const il={theme:"dark",font_scale:"md",header_density:"standard"};function _w(e){const t=e&&typeof e=="object"?e:{};return{theme:typeof t.theme=="string"&&t.theme?t.theme:il.theme,font_scale:typeof t.font_scale=="string"&&t.font_scale?t.font_scale:il.font_scale,header_density:typeof t.header_density=="string"&&t.header_density?t.header_density:il.header_density}}function xw(e){return`af_appearance_${e}_v1`}function bw(e,t){const s=xw(e),a=w.useMemo(()=>({...il,...(t==null?void 0:t.defaults)||{}}),[JSON.stringify((t==null?void 0:t.defaults)||{})]),[l,c]=w.useState(()=>{let d=a;try{const h=localStorage.getItem(s)??(t!=null&&t.legacyKey?localStorage.getItem(t.legacyKey):null);h&&(d=_w({...a,...JSON.parse(h)}))}catch{}try{wh(d.theme),vh({font_scale:d.font_scale,header_density:d.header_density})}catch{}return d});return w.useEffect(()=>{wh(l.theme),vh({font_scale:l.font_scale,header_density:l.header_density});try{localStorage.setItem(s,JSON.stringify(l))}catch{}},[s,l]),[l,c]}function kw(e){return w.useEffect(()=>{if(!e.open)return;const t=s=>{s.key!=="Escape"||s.defaultPrevented||(s.preventDefault(),e.onClose())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[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:t=>t.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(Fy,{value:e.value.theme,onChange:t=>e.onChange({...e.value,theme:t})}),i.jsx("label",{className:"af-appearance__label",children:"Font size"}),i.jsx(zy,{value:e.value.font_scale,onChange:t=>e.onChange({...e.value,font_scale:t})}),i.jsx("label",{className:"af-appearance__label",children:"Header size"}),i.jsx(Wy,{value:e.value.header_density,onChange:t=>e.onChange({...e.value,header_density:t})})]}),i.jsx("div",{className:"af-appearance__actions",children:i.jsx("button",{type:"button",className:"af-appearance__close",onClick:e.onClose,children:"Close"})})]})}):null}function jw(){var t;if(typeof window>"u")return!1;const e=navigator;return!!((t=e==null?void 0:e.mediaDevices)!=null&&t.getUserMedia)&&typeof window.MediaRecorder=="function"}function Sw(){if(typeof window>"u")return!1;const e=window;return!!(e!=null&&e.AudioContext||e!=null&&e.webkitAudioContext)}function Nw(){const e=window.MediaRecorder,t=a=>{var l;try{return!!((l=e==null?void 0:e.isTypeSupported)!=null&&l.call(e,a))}catch{return!1}},s=["audio/webm;codecs=opus","audio/webm","audio/mp4","audio/ogg;codecs=opus","audio/ogg"];for(const a of s)if(t(a))return a;return""}async function Zc(e,t){var l;const s=t.slice(0),a=(l=e.decodeAudioData)==null?void 0:l.bind(e);if(typeof a!="function")throw new Error("decodeAudioData not available");try{const c=a(s);if(c&&typeof c.then=="function")return await c}catch{}return await new Promise((c,d)=>{try{a(s,c,d)}catch(h){d(h)}})}function Cw(e){const t=new Uint8Array(e);if(t.length<44)return null;const s=c=>String.fromCharCode(t[c],t[c+1],t[c+2],t[c+3]);if(s(0)!=="RIFF"||s(8)!=="WAVE")return null;const a=new DataView(e);let l=12;for(;l+8<=t.length;){const c=s(l),d=a.getUint32(l+4,!0);if(c==="data")return t.slice(0,l+8);l+=8+d+d%2}return null}function Ew(e,t){const s=new Uint8Array(t),a=new Uint8Array(e.length+s.length);a.set(e,0),a.set(s,e.length);const l=new DataView(a.buffer);return l.setUint32(4,a.length-8,!0),l.setUint32(e.length-4,s.length,!0),a.buffer}function $w(e){const t=w.useRef(e);t.current=e;const s=ee=>{var K,me;return(me=(K=t.current).on_error)==null?void 0:me.call(K,ee)},a=w.useMemo(()=>Sw()&&(typeof e.tts=="function"||typeof e.tts_stream=="function"),[e.tts,e.tts_stream]),l=w.useMemo(()=>jw()&&typeof e.transcribe=="function",[e.transcribe]),[c,d]=w.useState({key:"",status:"idle"}),h=w.useRef(c),f=w.useCallback(ee=>{h.current=ee,d(K=>K.key===ee.key&&K.status===ee.status?K:ee)},[]),g=w.useRef(""),y=w.useRef(""),v=w.useRef(null),x=w.useRef(null),b=w.useRef(null),k=w.useRef(null),S=w.useRef(0),j=w.useRef(0),C=w.useRef(0),$=w.useRef([]),E=w.useRef(0),A=w.useRef(!0),z=w.useRef(!1),F=()=>{try{const ee=globalThis,K=(ee==null?void 0:ee.AudioContext)||(ee==null?void 0:ee.webkitAudioContext);if(!K)return null;if(!v.current){const ge=new K,Ee=ge.createGain();Ee.gain.value=1,Ee.connect(ge.destination),v.current=ge,x.current=Ee}const me=v.current,Re=x.current;if(!me||!Re)return null;try{me.state==="suspended"&&me.resume()}catch{}return{ctx:me,gain:Re}}catch{return null}},P=w.useCallback(()=>{const ee=b.current;if(b.current=null,!!ee){try{ee.onended=null}catch{}try{ee.stop()}catch{}try{ee.disconnect()}catch{}}},[]),M=w.useCallback(()=>{P(),C.current+=1,$.current=[],E.current=0,A.current=!0,z.current=!1,y.current="",g.current="",k.current=null,S.current=0,j.current=0,f({key:"",status:"idle"})},[P,f]);w.useEffect(()=>()=>{var ee,K;M();try{(ee=x.current)==null||ee.disconnect()}catch{}try{(K=v.current)==null||K.close()}catch{}v.current=null,x.current=null,k.current=null},[]);const U=async(ee,K,me)=>{const Re=C.current,ge=F();if(!ge)throw new Error("TTS playback is not supported in this browser");const{ctx:Ee,gain:We}=ge;try{Ee.state==="suspended"&&await Ee.resume()}catch{}if(Re!==C.current)return;P();const nt=Ee.createBufferSource();nt.buffer=K,nt.connect(We);const X=Number.isFinite(Number(K.duration))?Number(K.duration):0,pe=Math.max(0,Math.min(Number(me||0),X>0?Math.max(0,X-.01):0));j.current=Ee.currentTime-pe,S.current=pe,b.current=nt,g.current=ee,nt.onended=()=>{b.current===nt&&(b.current=null,S.current=0,j.current=0,g.current="",f({key:"",status:"idle"}))},nt.start(0,pe),f({key:ee,status:"playing"})},Y=(ee,K)=>{if(K!==C.current)return;const me=F();if(!me)return;const Re=$.current,ge=E.current;if(ge>=Re.length){A.current&&(g.current="",S.current=0,j.current=0,f({key:"",status:"idle"}));return}const Ee=Re[ge],{ctx:We,gain:nt}=me;P();const X=We.createBufferSource();X.buffer=Ee,X.connect(nt);const pe=Number.isFinite(Number(Ee.duration))?Number(Ee.duration):0,Le=Math.max(0,Math.min(Number(S.current||0),pe>0?Math.max(0,pe-.01):0));j.current=We.currentTime-Le,b.current=X,g.current=ee,X.onended=()=>{K===C.current&&b.current===X&&(b.current=null,E.current=ge+1,S.current=0,Y(ee,K))};try{We.state==="suspended"&&We.resume()}catch{}X.start(0,Le),f({key:ee,status:"playing"})},Q=async(ee,K,me)=>{const Re=F();if(!Re){s==null||s("TTS playback is not supported in this browser.");return}P();const ge=++C.current;$.current=[],E.current=0,A.current=!1,z.current=!1,k.current=null,S.current=0,j.current=0,g.current=ee,y.current=ee,f({key:ee,status:"loading"}),s==null||s("");let Ee=null;try{for await(const We of me(K)){if(ge!==C.current)return;let nt;try{nt=await Zc(Re.ctx,We),Ee||(Ee=Cw(We))}catch{if(!Ee)continue;try{nt=await Zc(Re.ctx,Ew(Ee,We))}catch{continue}}if(ge!==C.current)return;$.current.push(nt),!b.current&&!z.current&&(y.current="",Y(ee,ge))}if(ge!==C.current)return;if(A.current=!0,$.current.length===0){s==null||s("TTS stream produced no audio."),M();return}!b.current&&!z.current&&Y(ee,ge)}catch(We){if(ge!==C.current)return;s==null||s(String((We==null?void 0:We.message)||We||"TTS stream failed")),M()}},W=w.useCallback(async(ee,K)=>{const me=String(ee||"").trim(),Re=String(K||"").trim();if(!me||!Re)return;const ge=t.current.tts,Ee=t.current.tts_stream;if(typeof ge!="function"&&typeof Ee!="function"){s==null||s("TTS is not available.");return}const We=F();if(!We){s==null||s("TTS playback is not supported in this browser.");return}const nt=h.current,X=nt.key===me;if(X&&nt.status==="playing"){if(b.current){const Le=Math.max(0,We.ctx.currentTime-Number(j.current||0));S.current=Le}else S.current=0;z.current=!0,P(),f({key:me,status:"paused"});return}if(X&&nt.status==="paused"){if($.current.length>0){s==null||s(""),z.current=!1,f({key:me,status:"playing"}),Y(me,C.current);return}const Le=k.current;if(Le){s==null||s(""),z.current=!1;try{await U(me,Le,S.current)}catch(He){s==null||s(String((He==null?void 0:He.message)||He||"TTS play failed")),f({key:"",status:"idle"})}return}}if(X&&nt.status==="loading")return;if(typeof Ee=="function"){await Q(me,Re,Ee);return}P(),C.current+=1;const pe=C.current;$.current=[],E.current=0,A.current=!0,z.current=!1,k.current=null,S.current=0,j.current=0,g.current=me,y.current=me,f({key:me,status:"loading"}),s==null||s("");try{const Le=await ge(Re);if(y.current!==me||C.current!==pe)return;const He=await Zc(We.ctx,Le);if(y.current!==me||C.current!==pe)return;k.current=He,S.current=0,await U(me,He,0)}catch(Le){if(C.current!==pe)return;y.current===me&&(y.current="",g.current="",f({key:"",status:"idle"})),s==null||s(String((Le==null?void 0:Le.message)||Le||"TTS failed"))}},[]),[J,fe]=w.useState(!1),[ce,we]=w.useState(!1),ve=w.useRef(!1),q=w.useRef(l);q.current=l;const re=w.useCallback(ee=>{ve.current=ee,fe(K=>K===ee?K:ee)},[]),ie=w.useRef(!1),R=w.useRef(null),O=w.useRef(null),D=w.useRef([]),G=w.useRef(""),se=w.useRef(0),ue=w.useRef(!1);function he(){var ee,K;try{(K=(ee=R.current)==null?void 0:ee.getTracks)==null||K.call(ee).forEach(me=>{try{me.stop()}catch{}})}catch{}R.current=null}const le=w.useCallback(()=>{se.current+=1,ue.current=!1;const ee=O.current;if(ee){ee.onstop=null,ee.ondataavailable=null,ee.onerror=null;try{ee.stop()}catch{}}O.current=null,he(),re(!1),ie.current=!1,we(!1),D.current=[]},[re]);w.useEffect(()=>()=>le(),[le]);async function Ce(ee,K){var ge,Ee;if(s==null||s(""),!ee||!ee.size||ie.current)return;const me=t.current.transcribe;if(typeof me!="function"){s==null||s("Transcription is not available.");return}ie.current=!0;const Re=se.current;we(!0);try{const We=String(await me(ee,K)||"").trim();Re===se.current&&We&&((Ee=(ge=t.current).on_transcript)==null||Ee.call(ge,We))}catch(We){Re===se.current&&(s==null||s(String((We==null?void 0:We.message)||We||"Transcription failed")))}finally{Re===se.current&&(ie.current=!1,we(!1))}}const Se=w.useCallback(async()=>{if(s==null||s(""),!q.current){s==null||s(kp("the microphone")??"Voice recording is not supported in this browser (MediaRecorder/getUserMedia unavailable).");return}if(ie.current||ue.current||ve.current||O.current)return;D.current=[];const ee=se.current;ue.current=!0;try{const K=await navigator.mediaDevices.getUserMedia({audio:!0});if(ee!==se.current){K.getTracks().forEach(ge=>ge.stop());return}R.current=K;const me=Nw();G.current=me;const Re=me?new MediaRecorder(K,{mimeType:me}):new MediaRecorder(K);O.current=Re,Re.ondataavailable=ge=>{if(ee===se.current)try{ge!=null&&ge.data&&D.current.push(ge.data)}catch{}},Re.onerror=()=>{ee===se.current&&(s==null||s("Recording failed."))},Re.onstop=()=>{if(ee===se.current){re(!1),he(),O.current=null;try{const ge=new Blob(D.current,{type:G.current||""});Ce(ge,G.current)}catch(ge){s==null||s(String((ge==null?void 0:ge.message)||ge||"Failed to build recording"))}}},Re.start(),re(!0)}catch(K){if(ee!==se.current)return;he(),O.current=null,re(!1);const me=String((K==null?void 0:K.message)||K||"Failed to access microphone");s==null||s(me.toLowerCase().includes("permission")?`Microphone permission denied: ${me}`:me)}finally{ee===se.current&&(ue.current=!1)}},[]),at=w.useCallback(()=>{const ee=O.current;if(!(!ve.current||!ee)){re(!1);try{ee.stop()}catch(K){s==null||s(String((K==null?void 0:K.message)||K||"Failed to stop recording"))}}},[]);return w.useEffect(()=>{if(!J)return;const ee=()=>at();return window.addEventListener("pointerup",ee),window.addEventListener("pointercancel",ee),()=>{window.removeEventListener("pointerup",ee),window.removeEventListener("pointercancel",ee)}},[J]),{tts_supported:a,tts_playback:c,toggle_tts:W,stop_tts:M,voice_ptt_supported:l,voice_ptt_recording:J,voice_ptt_busy:ce,start_voice_ptt_recording:Se,stop_voice_ptt_recording:at,cancel_voice_ptt_recording:le}}const Zo=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?t:(t==null?void 0:t.id)||(t==null?void 0:t.name)).filter(Boolean):[];function Aw({value:e,onChange:t,fetchCatalog:s,intro:a,delivery:l=!0,showReset:c=!0,defaultHint:d,voiceDefaultLabel:h}){var z,F,P,M;const f=w.useRef(s);f.current=s;const[g,y]=w.useState({}),[v,x]=w.useState(""),[b,k]=w.useState(!1);w.useEffect(()=>{let U=!0;return k(!0),y({}),x(""),f.current(e.provider,e.model).then(Y=>{U&&(y(Y),x(Y.error?String(Y.error):""))}).catch(Y=>{U&&x(String((Y==null?void 0:Y.message)||Y))}).finally(()=>{U&&k(!1)}),()=>{U=!1}},[e.provider,e.model]);const S=Array.isArray(g.items)?g.items:[...Array.isArray(g.profiles)?g.profiles.map(U=>({...U,voice_kind:"profile"})):[],...Array.isArray(g.voices)?g.voices.map(U=>({...U,voice_kind:"voice"})):[]],j=U=>JSON.stringify([U.provider||"",U.model||"",U.voice_kind==="profile"?"profile":"voice",U.id]),C=S.find(U=>U.id===(e.profile||e.voice)&&U.voice_kind==="profile"==!!e.profile&&(!e.provider||!U.provider||U.provider===e.provider)&&(!e.model||!U.model||U.model===e.model)),$=C?j(C):e.profile||e.voice?JSON.stringify([e.provider||"",e.model||"",e.profile?"profile":"voice",e.profile||e.voice]):"",E=S.filter(U=>(U==null?void 0:U.id)&&(!e.provider||!U.provider||U.provider===e.provider)).map(U=>({value:j(U),label:`${U.label||U.name||U.id}${!e.provider&&U.provider?` · ${U.provider}`:""}`}));$&&!E.some(U=>U.value===$)&&E.unshift({value:$,label:`${e.profile||e.voice} (saved)`});const A=U=>t({...e,...U});return i.jsxs("div",{className:"af-voice-settings",children:[a===void 0?i.jsx("p",{children:"Speech is generated by your authenticated Gateway. Leave routing and voice unset to use its defaults."}):a,i.jsx(Iu,{defaultHint:d,value:{provider:e.provider||"",model:e.model||""},onChange:U=>t({...e,...U,voice:"",profile:""}),fetchProviders:async()=>{const U=await f.current();if(U.error&&!Zo(U.tts_providers||U.providers).length)throw new Error(U.error);return Zo(U.tts_providers||U.providers).map(Y=>({name:Y}))},fetchModels:async U=>{var Q;const Y=await f.current(U);return Zo(((Q=Y.tts_models_by_provider)==null?void 0:Q[U])||Y.tts_models||Y.models)},providerLabel:"Speech provider",modelLabel:"Speech model"}),i.jsxs("label",{children:["Voice / profile",i.jsx(ss,{ariaLabel:"AI voice",placeholder:h||"Gateway / provider default",value:$,disabled:b,options:[{value:"",label:h||"Gateway / provider default"},...E],onChange:U=>{if(!U){A({voice:"",profile:""});return}const[Y,Q,W,J]=JSON.parse(U);A({provider:Y||e.provider||"",model:Q||(Y&&Y!==e.provider?"":e.model)||"",voice:W==="voice"?J:"",profile:W==="profile"?J:""})}})]}),b?i.jsx("p",{role:"status",children:"Loading available voices…"}):null,v?i.jsxs("p",{role:"alert",children:["Voice discovery unavailable: ",v,". Your saved choice is preserved."]}):null,l?i.jsxs(i.Fragment,{children:[i.jsxs("label",{children:["Speaking speed",i.jsxs("select",{"aria-label":"Speech speed",value:e.speed??"",onChange:U=>A({speed:U.target.value?Number(U.target.value):void 0}),children:[i.jsx("option",{value:"",children:"Gateway default"}),[.5,.75,1,1.25,1.5,2].map(U=>i.jsxs("option",{value:U,children:[U,"×"]},U))]})]}),(F=(z=g.controls)==null?void 0:z.quality_preset)!=null&&F.supported?i.jsxs("label",{children:["Quality",i.jsxs("select",{"aria-label":"Speech quality",value:e.quality_preset||"",onChange:U=>A({quality_preset:U.target.value}),children:[i.jsx("option",{value:"",children:"Gateway default"}),Zo(g.controls.quality_preset.values).map(U=>i.jsx("option",{value:U,children:U},U))]})]}):null,(M=(P=g.controls)==null?void 0:P.instructions)!=null&&M.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:U=>A({instructions:U.target.value})})]}):null]}):null,c?i.jsx("button",{type:"button",onClick:()=>t({}),children:"Reset to Gateway defaults"}):null]})}const qc=ke("automations"),Tw=ke("trigger-sources"),Rw=ke("me/email");class Sh extends Error{constructor(t){super(t.message),this.name="AutomationApiError",this.status=t.status,this.code=t.code,t.field!==void 0&&(this.field=t.field),t.command_id!==void 0&&(this.command_id=t.command_id)}}function Iw(e,t){const s=t&&typeof t=="object"?t.detail:void 0;if(s&&typeof s=="object"&&!Array.isArray(s)){const a=s;if(typeof a.reason_code=="string"&&a.reason_code&&typeof a.message=="string"){const l={status:e,code:a.reason_code,message:a.message};return typeof a.field=="string"&&(l.field=a.field),typeof a.command_id=="string"&&(l.command_id=a.command_id),l}}return{status:e,code:"invalid_response",message:`The gateway answered HTTP ${e} without an automation error envelope.`}}function eu(e){const t=new URLSearchParams;for(const[a,l]of Object.entries(e))l!==void 0&&t.set(a,String(l));const s=t.toString();return s?`?${s}`:""}function Mw(){return Mu()}function Lw(e){const t=e.newId??Mw,s=l=>`${qc}/${encodeURIComponent(l)}`;async function a(l,c,d){const h={accept:"application/json",...e.headers?e.headers():{}},f={method:l,headers:h};d!==void 0&&(h["content-type"]="application/json",f.body=JSON.stringify(d));const g=await e.fetch(Qe(e.baseUrl,c),f),y=await g.text();let v,x=!1;if(y)try{v=JSON.parse(y),x=!0}catch{x=!1}if(!g.ok)throw new Sh(Iw(g.status,v));if(!x||v===null||typeof v!="object")throw new Sh({status:g.status,code:"invalid_response",message:`The gateway answered ${l} ${c} with a body that is not a JSON object.`});return v}return{listAutomations:(l={})=>a("GET",`${qc}${eu({status:l.status,cursor:l.cursor,limit:l.limit})}`),getAutomation:l=>a("GET",s(l)),createAutomation:l=>a("POST",qc,l),reviseAutomation:(l,c)=>a("PATCH",s(l),{command_id:c.command_id??t(),...c.expected_revision!==void 0?{expected_revision:c.expected_revision}:{},changes:c.changes}),sendAutomationCommand:(l,c)=>a("POST",`${s(l)}/commands`,{command_id:c.command_id??t(),type:c.type,...c.payload!==void 0?{payload:c.payload}:{}}),listOccurrences:(l,c={})=>a("GET",`${s(l)}/occurrences${eu({cursor:c.cursor,limit:c.limit})}`),discuss:(l,c)=>a("POST",`${s(l)}/discuss`,{request_id:c.request_id??t(),occurrence_index:c.occurrence_index,prompt:c.prompt}),markSeen:(l,c)=>a("POST",`${s(l)}/seen`,{attention_cursor:c}),listAttention:(l,c={})=>a("GET",`${s(l)}/attention${eu({cursor:c.cursor,limit:c.limit})}`),listTriggerSources:()=>a("GET",Tw),getMyEmail:()=>a("GET",Rw)}}const Pw={active:"Active",pause:"Pause",resume:"Resume",run_now:"Run now",stop_current:"Stop current",revise:"Edit",archive:"Archive",discuss:"Discuss"},Ow={active:`On: it runs on its schedule. Off: paused, scheduled runs are skipped.
|
|
42
|
+
Pausing lets a run in progress finish, without further retries; Run now still works and keeps it paused.
|
|
43
|
+
Making it active again restarts the schedule at its next time after now; times missed while paused are skipped.`,pause:`Stop scheduled runs until you resume.
|
|
44
|
+
A run in progress finishes; a pending retry is cancelled. Run now still works.`,resume:`Restart the schedule at its next time after now.
|
|
45
|
+
Times missed while paused are skipped; resuming does not run it now.`,run_now:`Run it once now, without waiting for the schedule.
|
|
46
|
+
The schedule does not move: the next scheduled run keeps its time, or starts right after this run if its time comes first.
|
|
47
|
+
Does not count toward a run limit. Works while paused; it stays paused.
|
|
48
|
+
Not available while a run is in progress.`,stop_current:`Cancel the run in progress, or its pending retry.
|
|
49
|
+
It ends as cancelled, with no failure notice. The schedule continues.`,revise:`Change the task, schedule or settings.
|
|
50
|
+
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.
|
|
51
|
+
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.
|
|
52
|
+
It has its own workspace (the automation's files are read-only) and never changes the automation.`},Dw="Next scheduled run: {time}.",Fw="Growing context: later runs see this run in their history.",zw={run_now:{name:"playCircle"}},Ww={trigger_label:"When an email arrives",not_set_up:"Connect a mailbox first — open My email",open_my_email:"open My email",filters_legend:"Only mail that matches (all optional)",from_in:"From these addresses",from_domain_in:"From these domains",to_in:"Sent to these addresses",subject_contains:"Subject contains",has_attachment:"Attachments",has_attachment_any:"any",has_attachment_yes:"only with attachments",has_attachment_no:"only without attachments",list_hint:"Separate entries with commas or new lines. Exact addresses and domains only (no patterns).",every_label:"Check for new mail every",interval_rule:"An automation that runs a model on new mail checks once an hour by default; one that needs no model checks every 60 s. The shortest interval is 60 s.",max_batch_label:"At most this many emails per run",max_batch_hint:"The rest wait for the next run. Each email is read once by this automation; mail that arrived before it was created, or while it is paused, is not processed.",untrusted_hint:"Incoming mail is data, never instructions: the automation acts only on its task. Link-opening tools (fetch_url, browser_probe) always ask for your approval.",notify_label:"Email result",notify_hint:"Email each completed run’s result to the selected recipients.",recipients_legend:"Recipients",recipients_self:"Only me (default)",recipients_list:"Me and these addresses",recipients_hint:"Separate multiple addresses with commas."},Sp={labels:Pw,hints:Ow,run_now_next_run_line:Dw,run_now_growing_line:Fw,icons:zw,email:Ww},Uw=/^([1-9][0-9]*)([smhd])$/,Bw={s:["second","seconds"],m:["minute","minutes"],h:["hour","hours"],d:["day","days"]};function Ba(e){if(typeof e!="string")return null;const t=Uw.exec(e);return t?{amount:Number(t[1]),unit:t[2]}:null}function Np(e){const t=Ba(e);if(!t)return`every ${e}`;const[s,a]=Bw[t.unit];return t.amount===1?`every ${s}`:`every ${t.amount} ${a}`}function Sr(e){if(!e)return"";const t=Date.parse(e);if(Number.isNaN(t))return e;const s=new Date(t).toISOString(),a=s.slice(17,19);return`${s.slice(0,10)} ${s.slice(11,16)}${a==="00"?"":`:${a}`} UTC`}function Cp(e){const t=e;if(typeof t.every!="string")return t.start_at?`once at ${Sr(t.start_at)}`:"once, now";const s=[`${Np(t.every)} (UTC)`];return typeof t.count=="number"&&s.push(`${t.count} ${t.count===1?"run":"runs"} max`),typeof t.until=="string"&&s.push(`until ${Sr(t.until)}`),s.join(" · ")}function Lu(e){return e.source_id==="schedule"&&e.source_version===1?Cp(e.config):e.source_id==="manual"&&e.source_version===1?"manual runs only":gl(e)?Lp(e.config):`${e.source_id}@${e.source_version}`}function Ep(e){return e==="growing"?"Growing — each run sees the previous runs":"Independent — each run starts fresh"}const Vw={active:"Active",paused:"Paused",completed:"Completed",failed:"Failed",archived:"Archived"},Ue=Sp.email,$p="email.received",Ap=1,Gw="1h",Hw="60s",Tp=60,Pu=100,vu=1e3,Nh=200,Ch=200,Eh=50;function gl(e){return!!e&&e.source_id===$p&&e.source_version===Ap}function Ou(e){return!!e&&e.effective_enabled===!0}function Rp(e){const t=[];for(const s of String(e??"").split(/[\s,;]+/)){const a=s.trim().toLowerCase();a&&!t.includes(a)&&t.push(a)}return t}const Kw=/[\s<>,;:"()[\]]/;function _u(e){const t=e.trim().toLowerCase(),s=t.indexOf("@");return s<=0||s===t.length-1?!1:!t.slice(s+1).includes("@")&&!Kw.test(t)}function Jw(e){const t=e.trim().toLowerCase();return!!t&&!t.includes("@")&&t.includes(".")&&!t.startsWith(".")&&!t.endsWith(".")&&!/[\s<>,;:"()[\]/*]/.test(t)}const Du={usesModel:!0,every:null,maxBatch:null,fromIn:"",fromDomainIn:"",toIn:"",subjectContains:"",hasAttachment:"any"};function Fu(e){return e?Gw:Hw}function Ip(e){const t=Ba(e);return t?t.amount*{s:1,m:60,h:3600,d:86400}[t.unit]:null}function tu(e,t,s,a,l){const c=Rp(e);if(!c.length)return null;const d=c.filter(h=>!s(h));return d.length&&l.push(`${t}: ${d.join(", ")} ${d.length===1?"is not":"are not"} ${a}.`),c.length>Nh&&l.push(`${t}: at most ${Nh} entries.`),c}function Mp(e){const t=[],s={uses_model:e.usesModel};e.every===null?s.every=Fu(e.usesModel):!Number.isInteger(e.every.amount)||e.every.amount<1?t.push("The check interval must be a whole number of at least 1."):s.every=`${e.every.amount}${e.every.unit}`,s.every!==void 0&&(Ip(s.every)??0)<Tp&&t.push("The check interval is at least 60 seconds."),e.maxBatch===null?s.max_batch=Pu:!Number.isInteger(e.maxBatch)||e.maxBatch<1||e.maxBatch>vu?t.push(`At most this many emails per run: a whole number from 1 to ${vu}.`):s.max_batch=e.maxBatch;const a={},l=tu(e.fromIn,Ue.from_in,_u,"an email address",t);l&&(a.from_in=l);const c=tu(e.fromDomainIn,Ue.from_domain_in,Jw,"a domain like example.com",t);c&&(a.from_domain_in=c);const d=tu(e.toIn,Ue.to_in,_u,"an email address",t);d&&(a.to_in=d);const h=e.subjectContains.trim();return h&&(h.length>Ch||/[\r\n]/.test(h)?t.push(`${Ue.subject_contains}: one line of at most ${Ch} characters.`):a.subject_contains=h),e.hasAttachment==="yes"?a.has_attachment=!0:e.hasAttachment==="no"&&(a.has_attachment=!1),Object.keys(a).length&&(s.filter=a),{config:s,errors:t}}function Lp(e){const t=e,s=t.filter??{},a=["when an email arrives"],l=[...s.from_in??[],...s.from_domain_in??[]];l.length&&a.push(`from ${l.join(", ")}`),s.to_in&&s.to_in.length&&a.push(`to ${s.to_in.join(", ")}`),typeof s.subject_contains=="string"&&s.subject_contains&&a.push(`subject contains “${s.subject_contains}”`),s.has_attachment===!0&&a.push("with attachments"),s.has_attachment===!1&&a.push("without attachments");const c=typeof t.every=="string"?t.every:Fu(t.uses_model!==!1);a.push(`checked ${Np(c)}`);const d=typeof t.max_batch=="number"?t.max_batch:Pu;return a.push(`up to ${d} per run`),a.join(" · ")}const Oa={mode:"self",addresses:""};function xu(e){if(e.mode==="self")return{recipients:["self"],errors:[]};const t=[],s=Rp(e.addresses).filter(l=>l!=="self");s.length||t.push("Name at least one address the automation may email, or choose Only me.");const a=s.filter(l=>!_u(l));return a.length&&t.push(`${Ue.recipients_list}: ${a.join(", ")} ${a.length===1?"is not an email address":"are not email addresses"}.`),s.length+1>Eh&&t.push(`At most ${Eh-1} addresses.`),{recipients:["self",...s],errors:t}}function Qw(e){const t=(e??[]).filter(s=>s!=="self");return t.length?{mode:"list",addresses:t.join(", ")}:{mode:"self",addresses:""}}function Yw(e){const t=(e??["self"]).filter(s=>s!=="self");return t.length?`Me and ${t.join(", ")}`:"Only me"}function Pp(e,t=["self"]){return{channels:e?["console","email"]:["console"],...t.some(s=>s!=="self")?{recipients:t}:{}}}function Op(e){return!!e&&Array.isArray(e.channels)&&e.channels.includes("email")}function Xw(e){return Op(e)?"In the console and by email":"In the console"}const rr={pause:"automation.pause",resume:"automation.resume",run_now:"automation.run_now",stop_current:"automation.stop_current",archive:"automation.archive"},Zw=new Set(["running","waiting","backoff"]);function qw(e,t=[]){return e.current_occurrence!=null}function Dp(e){const t=e.current_occurrence;if(!t)return null;const s=t.attempt>1?` (attempt ${t.attempt})`:"";return t.status==="backoff"?`Run #${t.index} waiting to retry (attempt ${t.attempt+1})`:t.status==="admitted"?`Run #${t.index} starting${s}`:`Run #${t.index} running${s}`}function Fp(e,t){const s=Date.parse(e);if(Number.isNaN(s))return"";const a=Math.round((s-t)/6e4);if(a<=0)return"due now";if(a<60)return`in ${a} min`;const l=Math.floor(a/60);return l<24?`in ${l} h${a%60?` ${a%60} min`:""}`:`in ${Math.floor(l/24)} d${l%24?` ${l%24} h`:""}`}function dl(e,t=[],s=!1){const a=new Set(e.capabilities),l=e.status,c=qw(e,t),d=(y,v,x)=>s?{enabled:!1,reason:"Working…"}:e.legacy?{enabled:!1,reason:"Legacy schedule: managed with its existing controls."}:a.has(y)?l==="archived"?{enabled:!1,reason:"Archived: history is kept, nothing runs."}:v?{enabled:!0}:{enabled:!1,reason:x}:{enabled:!1,reason:"Not permitted for this automation."},h=l==="active"||l==="paused",f=l==="active"?"pause":"resume";return{active:s?{enabled:!1,reason:"Working…"}:e.legacy?{enabled:!1,reason:"Legacy schedule: managed with its existing controls."}:l==="archived"?{enabled:!1,reason:"Archived: history is kept, nothing runs."}:h?a.has(f)?{enabled:!0}:{enabled:!1,reason:"Not permitted for this automation."}:{enabled:!1,reason:"The automation has ended."},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",h&&!c,c?"An occurrence is in progress.":"The automation has ended."),stop_current:d("stop_current",c,"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."}:a.has("discuss")?{enabled:!0}:{enabled:!1,reason:"Discussion is not permitted for this automation."}}}function ev(e){return e.status==="active"?rr.pause:rr.resume}function tv(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 nv(e){return[...e].sort((t,s)=>t.index-s.index).map(t=>{const s=tv(t),a=`${t.attempts} ${t.attempts===1?"attempt":"attempts"}`,l=s==="failed"?`Failed after ${a}`:s==="waiting"?"Waiting for you":s==="notified"?"Notified":s==="running"?"Running":null,c=t.status==="completed"&&t.attempts>1?`completed after ${a}`:t.status;return{row:t,tone:s,notable:s==="failed"||s==="waiting"||s==="notified",badge:l,statusText:c,canDiscuss:!Zw.has(t.status)}})}function rv(e){const t=e.attention.items;return t.length?t[t.length-1].cursor:null}function zp(e){const t=e.attention,s=[];return t.unseen_count>0&&s.push(`${t.unseen_count} unseen`),t.pending_waits>0&&s.push(`${t.pending_waits} waiting for you`),s.length?s.join(" · "):"nothing new"}const sv={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 zu(e){return{title:sv[e.code]??`The gateway refused the request (${e.code}).`,detail:e.message}}function Wu(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.status=="number"&&typeof t.code=="string"&&typeof t.message=="string"}function Wp(e,t){var c,d,h;const s=e.trigger,a=s.source_id==="schedule"||gl(s)?s.config.every:void 0,l=t?t.target.input_data.prompt:void 0;return{title:e.title,every:typeof a=="string"?a:null,context:e.context_mode,growingMaxTokens:Number(((d=(c=t==null?void 0:t.context)==null?void 0:c.growing)==null?void 0:d.max_tokens)??e.growing_max_tokens??Wa),prompt:typeof l=="string"?l:null,toolApproval:t?t.policy.tool_approval:null,notifyEmail:t?Op(t.notify):null,emailRecipients:t?Qw((h=t.notify)==null?void 0:h.recipients):null}}function iv(e,t,s){const a=[],l={},c=t.title.trim();c?c.length>120?a.push("Title is at most 120 characters."):c!==e.title&&(l.title=c):a.push("Title is required.");const d=Wp(e,s);if(t.every!==d.every&&t.every!==null){const f=gl(e.trigger);if(!Ba(t.every))a.push("Interval must be a whole number of minutes, hours or days.");else if(f&&(Ip(t.every)??0)<Tp)a.push("The check interval is at least 60 seconds.");else{const g={...e.trigger.config,every:t.every};f&&delete g.start_at,l.trigger={source_id:e.trigger.source_id,source_version:e.trigger.source_version,config:g}}}const h=t.context==="growing"?t.growingMaxTokens??d.growingMaxTokens:d.growingMaxTokens;if(Vp(h)||a.push(Bp),(t.context!==e.context_mode||h!==d.growingMaxTokens)&&(l.context=Gp(t.context,h)),s&&typeof d.prompt=="string"&&typeof t.prompt=="string"&&t.prompt.trim()!==d.prompt.trim()){const f=t.prompt.trim();f?l.target={bundle_ref:s.target.bundle_ref,flow_id:s.target.flow_id,input_data:{...s.target.input_data,prompt:f}}:a.push("Task is required.")}if(s&&t.toolApproval&&t.toolApproval!==d.toolApproval&&(l.policy={tool_approval:t.toolApproval}),s&&typeof t.notifyEmail=="boolean"){const f=xu(t.notifyEmail?t.emailRecipients??Oa:d.emailRecipients??Oa),g=xu(d.emailRecipients??Oa).recipients;f.errors.length?a.push(...f.errors):(t.notifyEmail!==d.notifyEmail||JSON.stringify(f.recipients)!==JSON.stringify(g))&&(l.notify=Pp(t.notifyEmail,f.recipients))}return a.length?{errors:a}:Object.keys(l).length?l:null}const Wa=5e4,Up="Keeps the most recent whole turns within this token budget. The newest turn is kept whole even if it exceeds the budget. Changes apply to future runs.",Bp="Max growing context must be a positive whole number of tokens.";function Vp(e){return Number.isSafeInteger(e)&&e>0}function Gp(e,t){return{mode:e,...t!==Wa?{growing:{max_tokens:t}}:{}}}const av=[{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 nu(e){if(!e)return null;const t=/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})(:\d{2})?$/.exec(e.trim());if(!t)return null;const s=`${t[1]}T${t[2]}${t[3]??":00"}Z`;return Number.isNaN(Date.parse(s))?null:s}function ov(e){const t=e.trim().split(`
|
|
53
|
+
`)[0].trim();return t.length>120?`${t.slice(0,119)}…`:t}function Hp(e){const t=[],s={};if(e.when.kind==="once"){const l=nu(e.when.at);return l?s.start_at=l:t.push("Pick the date and time (UTC) to run once."),{config:s,errors:t}}const a=e.when.amount;if(!Number.isInteger(a)||a<1?t.push("The interval must be a whole number of at least 1."):s.every=`${a}${e.when.unit}`,e.startAt){const l=nu(e.startAt);l?s.start_at=l:t.push("First run must be a date and time (UTC).")}if(e.count!==void 0&&(!Number.isInteger(e.count)||e.count<1?t.push("Maximum runs must be a whole number of at least 1."):s.count=e.count),e.until){const l=nu(e.until);l?s.until=l:t.push("Stop at must be a date and time (UTC).")}return{config:s,errors:t}}function lv(e){if(e.trigger==="email"){const l=Mp(e.email??Du);return l.errors.length?"":Lp(l.config)}const{config:t,errors:s}=Hp(e);if(s.length)return"";const a=Cp(t);return e.when.kind==="once"?a:`${a}, first run ${t.start_at?`at ${Sr(t.start_at)}`:"now"}`}function cv(e,t){const s=[];t.target||s.push("Choose what to run.");const a=e.prompt.trim();a||s.push("Write the task to run.");const l=(e.title??"").trim()||ov(a);l.length>120&&s.push("Title is at most 120 characters.");const c=e.trigger==="email",d=c?Mp(e.email??Du):Hp(e);s.push(...d.errors);const h=e.notifyEmail&&e.emailRecipients&&e.emailRecipients.mode==="list"?xu(e.emailRecipients):null;h&&s.push(...h.errors);const f=e.growingMaxTokens??Wa;if(e.context==="growing"&&!Vp(f)&&s.push(Bp),s.length||!t.target)return{ok:!1,errors:s};const g={...t.target,input_data:{...t.target.input_data??{},prompt:a}},y={request_id:t.requestId,title:l,target:g,trigger:c?{source_id:$p,source_version:Ap,config:d.config}:{source_id:"schedule",source_version:1,config:d.config},context:Gp(e.context,e.context==="growing"?f:Wa),policy:{tool_approval:e.toolApproval??"auto"}};return e.notifyEmail===!0&&(y.notify=Pp(!0,h==null?void 0:h.recipients)),{ok:!0,body:y}}const uv="Tools run without asking (you approve them now by creating this automation)";function dv(e){if(e.kind!=="tool_approval"||!Array.isArray(e.details))return null;const t=[];for(const s of e.details){if(!s||typeof s!="object"||Array.isArray(s))return null;const a=s;if(typeof a.name!="string"||!a.arguments||typeof a.arguments!="object"||Array.isArray(a.arguments)||a.call_id!==void 0&&typeof a.call_id!="string")return null;t.push({name:a.name,arguments:a.arguments,...typeof a.call_id=="string"?{call_id:a.call_id}:{}})}return t}function fv(e){const t=e.trim();if(!t)return{ok:!1,error:"Enter a JSON payload."};try{return{ok:!0,payload:JSON.parse(t)}}catch(s){return{ok:!1,error:`The payload is not valid JSON (${s instanceof Error?s.message:String(s)}).`}}}const Kp={ask_user:"Question for you",tool_approval:"Approval needed",event:"Waiting for an event"};class Jp{constructor(t){this.mint=t,this.open=new Map}idFor(t){let s=this.open.get(t);return s===void 0&&(s=this.mint(),this.open.set(t,s)),s}settle(t,s){(s.ok||hv(s.error))&&this.open.delete(t)}}function hv(e){return Wu(e)&&e.status>0&&e.code!=="invalid_response"}function Qp(){return Mu()}class pv{constructor(){this.acked=null,this.inflight=null,this.failedKey=null,this.failedToken=void 0}next(t,s){return!t||t===this.acked||t===this.inflight||t===this.failedKey&&s===this.failedToken?null:(this.inflight=t,t)}succeeded(t){this.inflight===t&&(this.inflight=null),this.acked=t,this.failedKey=null}failed(t,s){this.inflight===t&&(this.inflight=null),this.failedKey=t,this.failedToken=s}get acknowledged(){return this.acked}}function $h(e,t){if(!e)return null;for(const s of t){const a=e.querySelector(s);if(a&&a.disabled!==!0&&typeof a.focus=="function")return a}return null}function bu(e){if(Ou(e.status))return null;const t=Ue.not_set_up,s=Ue.open_my_email,a=t.endsWith(s)?t.slice(0,t.length-s.length):`${t} `,l=e.status&&e.status.admin_disabled&&typeof e.status.admin_disabled.cause=="string"?e.status.admin_disabled.cause:"";return i.jsxs("p",{className:"af-auto__hint af-email__notice",role:"note","data-email-setup":"missing",children:[a,e.onOpenMyEmail?i.jsx("button",{type:"button",className:"af-auto__linkbtn","data-action":"open-my-email",onClick:e.onOpenMyEmail,children:s}):s,l?i.jsxs("span",{className:"af-email__cause",children:[" (",l,")"]}):null]})}function mv(e){const t=e.value,s=h=>e.onChange({...t,...h}),a=h=>`${e.idBase}-email-${h}`,l=Ba(Fu(t.usesModel)),c=t.every??(l&&l.unit==="s"?{amount:Math.max(1,Math.round(l.amount/60)),unit:"m"}:{amount:l?l.amount:1,unit:l?l.unit:"h"}),d=e.disabled===!0;return i.jsxs("div",{className:"af-email__trigger","data-field":"email-trigger",children:[i.jsxs("div",{className:"af-auto__row",children:[i.jsx("span",{children:Ue.every_label}),i.jsx("input",{type:"number",min:1,step:1,value:String(c.amount),disabled:d,"aria-label":"Check interval amount",name:"email_every_amount",onChange:h=>s({every:{amount:Number(h.target.value),unit:c.unit}})}),i.jsxs("select",{value:c.unit,disabled:d,"aria-label":"Check interval unit",name:"email_every_unit",onChange:h=>s({every:{amount:c.amount,unit:h.target.value}}),children:[i.jsx("option",{value:"m",children:"minutes"}),i.jsx("option",{value:"h",children:"hours"}),i.jsx("option",{value:"d",children:"days"})]})]}),i.jsx("p",{className:"af-auto__hint","data-email-rule":"interval",children:Ue.interval_rule}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("batch"),children:[i.jsx("span",{children:Ue.max_batch_label}),i.jsx("input",{id:a("batch"),name:"email_max_batch",type:"number",min:1,max:vu,step:1,disabled:d,value:String(t.maxBatch??Pu),onChange:h=>s({maxBatch:h.target.value.trim()===""?null:Number(h.target.value)})})]}),i.jsx("p",{className:"af-auto__hint",children:Ue.max_batch_hint}),i.jsxs("fieldset",{className:"af-auto__field af-email__filters",disabled:d,children:[i.jsx("legend",{children:Ue.filters_legend}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("from"),children:[i.jsx("span",{children:Ue.from_in}),i.jsx("input",{id:a("from"),name:"email_from_in",value:t.fromIn,spellCheck:!1,placeholder:"alice@example.com, billing@example.org",onChange:h=>s({fromIn:h.target.value})})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("domain"),children:[i.jsx("span",{children:Ue.from_domain_in}),i.jsx("input",{id:a("domain"),name:"email_from_domain_in",value:t.fromDomainIn,spellCheck:!1,placeholder:"example.com",onChange:h=>s({fromDomainIn:h.target.value})})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("to"),children:[i.jsx("span",{children:Ue.to_in}),i.jsx("input",{id:a("to"),name:"email_to_in",value:t.toIn,spellCheck:!1,onChange:h=>s({toIn:h.target.value})})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("subject"),children:[i.jsx("span",{children:Ue.subject_contains}),i.jsx("input",{id:a("subject"),name:"email_subject_contains",value:t.subjectContains,maxLength:200,onChange:h=>s({subjectContains:h.target.value})})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:a("attach"),children:[i.jsx("span",{children:Ue.has_attachment}),i.jsxs("select",{id:a("attach"),name:"email_has_attachment",value:t.hasAttachment,onChange:h=>s({hasAttachment:h.target.value}),children:[i.jsx("option",{value:"any",children:Ue.has_attachment_any}),i.jsx("option",{value:"yes",children:Ue.has_attachment_yes}),i.jsx("option",{value:"no",children:Ue.has_attachment_no})]})]}),i.jsx("p",{className:"af-auto__hint",children:Ue.list_hint})]})]})}function gv(e){const t=a=>`${e.idBase}-email-${a}`,s=e.disabled===!0;return i.jsxs("div",{className:"af-email__options","data-field":"email-options",children:[i.jsx(Ri,{variant:"row",action:"notify-email",label:Ue.notify_label,checked:e.notifyEmail,unavailableReason:s?"Connect a mailbox first.":null,onChange:a=>e.onNotifyEmailChange(a)}),i.jsx("p",{className:"af-auto__hint",children:Ue.notify_hint}),e.notifyEmail?i.jsxs("fieldset",{className:"af-auto__field",disabled:s,"data-field":"email-recipients",children:[i.jsx("legend",{children:Ue.recipients_legend}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:t("rcpt"),value:"self",checked:e.recipients.mode==="self",onChange:()=>e.onRecipientsChange({...e.recipients,mode:"self"})})," ",Ue.recipients_self]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:t("rcpt"),value:"list",checked:e.recipients.mode==="list",onChange:()=>e.onRecipientsChange({...e.recipients,mode:"list"})})," ",Ue.recipients_list]}),e.recipients.mode==="list"?i.jsx("textarea",{name:"email_recipient_list","aria-label":Ue.recipients_list,rows:2,spellCheck:!1,value:e.recipients.addresses,placeholder:"colleague@example.com",onChange:a=>e.onRecipientsChange({mode:"list",addresses:a.target.value})}):null,i.jsx("p",{className:"af-auto__hint",children:Ue.recipients_hint})]}):null]})}const yv={active:"play",paused:"pause",completed:"check",failed:"error",archived:"archive"};function Yp(e){const t=String(e.status),s=yv[t];return i.jsxs("span",{className:`af-auto__status af-auto__status--${t}${e.className?` ${e.className}`:""}`,"data-state":t,children:[i.jsx("span",{className:"af-auto__status-word",children:Vw[t]??t}),s?i.jsx(ae,{name:s,size:e.iconSize??11,className:"af-auto__status-icon"}):null]})}const Ah="Discuss — fork at this occurrence (own workspace, automation files read-only)",yl=e=>i.jsx("div",{className:"af-auto-text","data-unformatted":"true",children:e});function wv(e){return Wu(e)?e:{status:0,code:"client_error",message:e&&typeof e=="object"&&"message"in e?String(e.message):String(e)}}function Th(e){const t=e.path.split(new RegExp("(?<=[/\\\\_-])"));return i.jsx("code",{className:"af-auto__path-text",children:t.map((s,a)=>i.jsxs(ht.Fragment,{children:[s,a<t.length-1?i.jsx("wbr",{}):null]},a))})}function vv(e,t){const s=e.trigger,a=t.find(l=>l.id===s.source_id&&l.version===s.source_version);return a?"available"in a&&a.available===!1?`Trigger source ${s.source_id}@${s.source_version} is unavailable${a.unavailable_reason?`: ${a.unavailable_reason}`:"."}`:null:`This gateway does not list the trigger source ${s.source_id}@${s.source_version}.`}function _v(e){const t=e.summary,s=Dp(t),a=vv(t,e.triggerSources),l=t.next_fire_at?`${Sr(t.next_fire_at)} (${Fp(t.next_fire_at,e.nowMs??Date.now())})`:t.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:t.title}),i.jsx(Yp,{status:t.status}),t.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:[Lu(t.trigger),a?i.jsxs("span",{className:"af-auto__warn",role:"note",children:[" ",a]}):null]}),i.jsx("dt",{children:"Context"}),i.jsx("dd",{"data-fact":"context",children:Ep(t.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:t.occurrence_count}),t.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
|
|
54
|
+
${t.workspace_root}`,"aria-label":`Browse the automation's folder ${t.workspace_root}`,onClick:()=>{var c;return(c=e.onOpenWorkspace)==null?void 0:c.call(e,t.automation_id)},children:[i.jsx(ae,{name:"folder",size:14,className:"af-auto__path-icon"}),i.jsx(Th,{path:t.workspace_root})]}):i.jsxs("span",{className:"af-auto__path af-auto__path--static",children:[i.jsx(ae,{name:"folder",size:14,className:"af-auto__path-icon"}),i.jsx(Th,{path:t.workspace_root})]})})]}):null,i.jsx("dt",{children:"Attention"}),i.jsx("dd",{"data-fact":"attention",className:t.attention.unread||t.attention.pending_waits?"is-notable":void 0,children:zp(t)}),t.revision!==null?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Revision"}),i.jsx("dd",{"data-fact":"revision",children:t.revision})]}):null]})]})}function xv(e){var d,h;const t=e.definition,s=e.renderText??yl,a=t.target.input_data.prompt,l=t.policy.retry,c=t.policy.tool_approval;return i.jsxs("details",{className:"af-auto__definition","data-definition-revision":t.revision,open:e.open,children:[i.jsxs("summary",{children:[i.jsx(ae,{name:"chevronRight",size:14,className:"af-auto__definition-chevron"}),i.jsx(ae,{name:"file",size:14}),i.jsx("span",{className:"af-auto__definition-title",children:"Definition"}),i.jsxs("span",{className:"af-auto__definition-meta",children:["revision ",t.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:t.target.workflow_id})}),typeof a=="string"&&a?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Task"}),i.jsx("dd",{"data-def":"prompt",children:s(a)})]}):null,i.jsx("dt",{children:"Trigger"}),i.jsxs("dd",{"data-def":"trigger",children:[t.trigger.source_id,"@",t.trigger.source_version," · ",Lu(t.trigger),i.jsx("pre",{className:"af-auto__json",children:JSON.stringify(t.trigger.config,null,2)})]}),i.jsx("dt",{children:"Context"}),i.jsxs("dd",{"data-def":"context",children:[Ep(t.context.mode),t.context.mode==="growing"?` · ${Number(((d=t.context.growing)==null?void 0:d.max_tokens)??5e4).toLocaleString()} tokens`:""]}),i.jsx("dt",{children:"Tools"}),i.jsx("dd",{"data-def":"tool_approval",children:c==="ask"?"Ask before each tool call (ask)":c==="auto"?"Run without asking (auto)":String(c)}),i.jsx("dt",{children:"Notify"}),i.jsx("dd",{"data-def":"notify",children:Xw(t.notify)}),(h=t.notify)!=null&&h.channels.includes("email")?i.jsxs(i.Fragment,{children:[i.jsx("dt",{children:"Recipients"}),i.jsx("dd",{"data-def":"email_recipients",children:Yw(t.notify.recipients)})]}):null,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:t.revision})]})]})}const Va=Sp,ku=Va.labels,Xp={active:"play",pause:"pause",resume:"play",run_now:Va.icons.run_now.name,stop_current:"stop",revise:"edit",archive:"archive",discuss:"chat"},ju=Va.hints,bv=Va.run_now_next_run_line,kv=Va.run_now_growing_line;function Rh(e,t){const s=[ju[e]];return e==="run_now"&&t&&(t.next_fire_at&&s.push(bv.replace("{time}",Sr(t.next_fire_at))),t.context_mode==="growing"&&s.push(kv)),s.join(`
|
|
55
|
+
`)}function jv(e,t,s){const a=new Map;for(const d of t){const h=e[d];if(h.enabled)continue;const f=h.reason??"Not available now.";a.set(f,[...a.get(f)??[],d])}const l=[],c={};return[...a.entries()].forEach(([d,h],f)=>{const g=`${s}-why-${f}`;l.push({id:g,text:`${h.map(y=>ku[y]).join(", ")}: ${d}`});for(const y of h)c[y]=g}),{lines:l,describedBy:c}}function Bt(e){return i.jsxs(i.Fragment,{children:[i.jsx(ae,{name:e.icon,size:14,className:"af-auto__btn-icon"}),i.jsx("span",{children:e.label})]})}function Sv(e){const t=dl(e.summary,e.occurrences,e.busy),a=jv(t,["active","run_now","stop_current","revise","archive"],e.idBase??`af-auto-${e.summary.automation_id}`),l=(c,d,h)=>{const f=Rh(c,e.summary);return i.jsx("button",{type:"button",className:`af-auto__btn${h!=null&&h.danger?" af-auto__btn--danger":""}`,"data-action":(h==null?void 0:h.action)??c,disabled:!t[c].enabled,title:t[c].enabled?f:`${t[c].reason}
|
|
56
|
+
${f}`,"aria-description":f,"aria-describedby":a.describedBy[c],"aria-pressed":h==null?void 0:h.pressed,onClick:d,children:i.jsx(Bt,{icon:Xp[c],label:(h==null?void 0:h.label)??ku[c]})},c)};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:[i.jsx(Ri,{className:"af-auto__switch",action:"active",label:ku.active,checked:e.summary.status==="active",unavailableReason:t.active.enabled?null:t.active.reason??"Not available now.",describedBy:a.describedBy.active,busy:e.busy,hint:Rh("active",e.summary),onChange:()=>e.onCommand(ev(e.summary))},"active"),l("run_now",()=>e.onCommand(rr.run_now)),l("stop_current",()=>e.onCommand(rr.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(ae,{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(ae,{name:"x",size:12})}):null]}):null})]}),a.lines.length?i.jsxs("p",{className:"af-auto__reasons",children:[i.jsx(ae,{name:"info",size:12,className:"af-auto__reasons-icon"}),a.lines.map(c=>i.jsx("span",{id:c.id,children:c.text},c.id))]}):null,e.summary.status==="paused"&&t.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:!t.archive.enabled,onClick:()=>e.onCommand(rr.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 Ih=[["m","minutes"],["h","hours"],["d","days"]];function Nv(e,t){const s=j=>{const C=e.elements.namedItem(j);return C&&typeof C.value=="string"?C.value:null},a=s("every_amount"),l=s("every_unit"),c=a!==null&&l!==null?`${a.trim()}${l}`:t.every,d=e.elements.namedItem("context"),h=d&&(d.value==="growing"||d.value==="independent")?d.value:t.context,f=s("prompt"),g=e.elements.namedItem("tool_approval"),y=g&&(g.value==="auto"||g.value==="ask")?g.value:t.toolApproval??null,v=e.elements.namedItem("notify_email"),x=v&&typeof v.checked=="boolean"?v.checked:t.notifyEmail??null,b=e.elements.namedItem("email_recipients"),k=s("email_recipient_list"),S=b&&(b.value==="self"||b.value==="list")?{mode:b.value,addresses:k??""}:t.emailRecipients??null;return{title:s("title")??t.title,every:c,context:h,growingMaxTokens:s("growing_max_tokens")===null?t.growingMaxTokens:Number(s("growing_max_tokens")),prompt:f??t.prompt??null,toolApproval:y,notifyEmail:x,emailRecipients:S}}function Cv(e){const t=Wp(e.summary,e.definition),[s,a]=w.useState(t.context),[l,c]=w.useState(!!t.notifyEmail),d=t.every?Ba(t.every):null,h=d&&d.unit==="s"?[["s","seconds"],...Ih]:Ih,f=`af-auto-revise-${e.summary.automation_id}`,g=Ou(e.emailStatus),y=gl(e.summary.trigger);return i.jsxs("form",{className:"af-auto__revise","aria-labelledby":`${f}-heading`,onSubmit:v=>{v.preventDefault(),e.onSubmit(Nv(v.currentTarget,t))},onKeyDown:v=>{v.key==="Escape"&&(v.preventDefault(),e.onCancel())},children:[i.jsxs("h3",{className:"af-auto__form-title",id:`${f}-heading`,children:[i.jsx(ae,{name:"edit",size:14})," Edit automation"]}),i.jsxs("label",{className:"af-auto__field",htmlFor:`${f}-title`,children:[i.jsx("span",{children:"Title"}),i.jsx("input",{id:`${f}-title`,name:"title",defaultValue:t.title,maxLength:120,required:!0})]}),t.prompt!==null&&t.prompt!==void 0?i.jsxs("label",{className:"af-auto__field",htmlFor:`${f}-prompt`,children:[i.jsx("span",{children:"Task"}),i.jsx("textarea",{id:`${f}-prompt`,name:"prompt",defaultValue:t.prompt,rows:Math.min(10,Math.max(3,t.prompt.split(`
|
|
57
|
+
`).length+1)),required:!0})]}):null,d?i.jsxs("fieldset",{className:"af-auto__field",children:[i.jsx("legend",{children:y?Ue.every_label:"Repeat every (UTC)"}),i.jsxs("div",{className:"af-auto__row",children:[i.jsx("input",{name:"every_amount",type:"number",min:1,step:1,defaultValue:d.amount,"aria-label":"Interval amount"}),i.jsx("select",{name:"every_unit",defaultValue:d.unit,"aria-label":"Interval unit",children:h.map(([v,x])=>i.jsx("option",{value:v,children:x},v))})]}),y?i.jsx("p",{className:"af-auto__hint","data-email-rule":"interval",children:Ue.interval_rule}):null]}):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:t.context==="independent",onChange:()=>a("independent")})," Independent — each run starts fresh"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"context",value:"growing",defaultChecked:t.context==="growing",onChange:()=>a("growing")})," Growing — each run sees the previous runs"]}),i.jsx("div",{hidden:s!=="growing",children:i.jsxs("label",{className:"af-auto__field",children:[i.jsx("span",{children:"Max growing context (tokens)"}),i.jsx("input",{name:"growing_max_tokens",type:"number",min:1,step:1,disabled:e.busy||s!=="growing",defaultValue:t.growingMaxTokens}),i.jsx("span",{className:"af-auto__hint",children:Up})]})})]}),t.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:t.toolApproval==="auto"})," Run without asking"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"tool_approval",value:"ask",defaultChecked:t.toolApproval==="ask"})," Ask before each tool call"]})]}):null,t.notifyEmail!==null&&t.notifyEmail!==void 0&&t.emailRecipients?i.jsxs("fieldset",{className:"af-auto__field","data-field":"email",children:[i.jsx("legend",{children:"Mailbox"}),g?null:i.jsx(bu,{status:e.emailStatus,onOpenMyEmail:e.onOpenMyEmail}),i.jsx(Jy,{variant:"row",action:"notify-email",name:"notify_email",label:Ue.notify_label,defaultChecked:!!t.notifyEmail,onChange:c,unavailableReason:!g&&!t.notifyEmail?"Connect a mailbox first.":null}),i.jsx("p",{className:"af-auto__hint",children:Ue.notify_hint}),i.jsx("div",{hidden:!l,children:i.jsxs("fieldset",{className:"af-auto__field",disabled:!l,"data-field":"email-recipients",children:[i.jsx("legend",{children:Ue.recipients_legend}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"email_recipients",value:"self",defaultChecked:t.emailRecipients.mode==="self"})," ",Ue.recipients_self]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:"email_recipients",value:"list",defaultChecked:t.emailRecipients.mode==="list",disabled:!g&&t.emailRecipients.mode!=="list"})," ",Ue.recipients_list]}),i.jsx("textarea",{name:"email_recipient_list","aria-label":Ue.recipients_list,rows:2,spellCheck:!1,defaultValue:t.emailRecipients.addresses,disabled:!g&&t.emailRecipients.mode!=="list"}),i.jsx("p",{className:"af-auto__hint",children:Ue.recipients_hint})]})})]}):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(v=>i.jsx("li",{children:v},v))}):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 Su(e,t){const s=e.elements.namedItem(t);return s&&typeof s.value=="string"?s.value.trim():""}function Ev(e){const t=e.wait,s=`${e.idBase}-${t.run_id}-${t.wait_key}-prompt`,a=d=>e.onAnswerWait(t.run_id,t.wait_key,d),l=e.renderText??yl,c=d=>i.jsxs("div",{className:"af-auto-wait__prompt",id:s,children:[i.jsx("span",{className:"af-auto-wait__kind",children:Kp[t.kind]??"Waiting"}),t.prompt?l(t.prompt):i.jsxs("span",{children:[" ",d]})]});if(t.kind==="tool_approval"){const d=dv(t);return i.jsxs("div",{className:"af-auto-wait af-auto-wait--tool_approval",role:"group","data-wait-key":t.wait_key,"data-wait-kind":t.kind,"aria-labelledby":s,children:[c("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((h,f)=>i.jsxs("li",{"data-tool":h.name,children:[i.jsx("code",{className:"af-auto-wait__tool",children:h.name}),i.jsx("pre",{className:"af-auto-wait__args",children:JSON.stringify(h.arguments,null,2)})]},h.call_id??`${h.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:()=>a({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:()=>a({approved:!1}),children:i.jsx(Bt,{icon:"x",label:"Deny"})})]})]})}return t.kind==="event"?i.jsxs("form",{className:"af-auto-wait af-auto-wait--event","data-wait-key":t.wait_key,"data-wait-kind":t.kind,"aria-labelledby":s,onSubmit:d=>{var f;d.preventDefault();const h=fv(Su(d.currentTarget,"payload"));h.ok?a({payload:h.payload}):(f=e.onWaitError)==null||f.call(e,h.error)},children:[c("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"})})})]}):t.kind==="ask_user"?i.jsxs("form",{className:"af-auto-wait af-auto-wait--ask_user","data-wait-key":t.wait_key,"data-wait-kind":t.kind,"aria-labelledby":s,onSubmit:d=>{d.preventDefault();const h=Su(d.currentTarget,"response");h&&a({response:h})},children:[c("The run is waiting for your input."),t.choices&&t.choices.length?i.jsx("div",{className:"af-auto__row",role:"group","aria-label":"Choices",children:t.choices.map(d=>i.jsx("button",{type:"button",className:"af-auto__btn","data-action":"wait-choice",disabled:e.busy,onClick:()=>a({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":t.wait_key,"data-wait-kind":String(t.kind),"aria-labelledby":s,children:[c("The run is waiting."),i.jsxs("p",{className:"af-auto__hint",children:["This kind of wait (",String(t.kind),") cannot be answered here; open the run."]})]})}function $v(e){const{row:t,tone:s,badge:a,statusText:l}=e.view,c=`af-auto-occ-${t.run_id}`,d=e.renderText??yl,h=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=(x,b)=>e.renderTurn?e.renderTurn({kind:x,role:x==="trigger"?"user":"assistant",text:b,index:t.index,runId:t.run_id}):d(b),y=e.renderTurn?" af-auto-turn--card":"",v=s==="failed"?t.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":t.index,"data-tone":s,"aria-labelledby":`${c}-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:`${c}-h`,children:[i.jsxs("span",{className:"af-auto-turn__index",children:["#",t.index]})," · ",t.trigger.summary," · fired ",Sr(t.fired_at)]}),i.jsx("div",{className:"af-auto-turn__text",children:g("trigger",t.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:[a?i.jsx("span",{className:`af-auto-badge af-auto-badge--${s}`,children:a}):null,i.jsx("span",{className:"af-auto-turn__status",children:l}),t.finished_at?i.jsxs("span",{children:[" · ",Sr(t.finished_at)]}):null]}),t.notify?i.jsxs("div",{className:"af-auto-notify","data-notify":"true",children:[i.jsx("strong",{children:t.notify.title}),t.notify.body?i.jsx("div",{className:"af-auto-notify__body",children:d(t.notify.body)}):null]}):null,t.failure?i.jsxs("div",{className:"af-auto-failure","data-failure":t.failure.reason_code,children:[i.jsx("strong",{children:t.failure.reason_code}),": ",t.failure.message," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["(after ",t.failure.attempts," ",t.failure.attempts===1?"attempt":"attempts",")"]})]}):null,t.answer?i.jsx("div",{className:"af-auto-turn__text",children:g("answer",t.answer)}):i.jsx("div",{className:"af-auto-turn__empty",children:v}),t.artifacts.length?i.jsx("ul",{className:"af-auto-artifacts","aria-label":"Artifacts",children:t.artifacts.map(x=>i.jsxs("li",{children:[e.onOpenResource?i.jsxs("button",{type:"button",className:"af-auto__linkbtn","data-action":"open-artifact",onClick:()=>{var b;return(b=e.onOpenResource)==null?void 0:b.call(e,{kind:"artifact",url:x.url,name:x.name,mimeType:x.mime_type,runId:t.run_id})},children:[i.jsx(ae,{name:"file",size:13,className:"af-auto__btn-icon"})," ",x.name]}):i.jsx("span",{className:"af-auto-artifact__name",children:x.name})," ",i.jsx("span",{className:"af-auto-turn__muted",children:x.mime_type})]},x.artifact_id))}):null,t.waits.map(x=>i.jsx(Ev,{wait:x,busy:e.busy,idBase:c,onAnswerWait:e.onAnswerWait,onWaitError:e.onWaitError,renderText:e.renderText},`${x.run_id}:${x.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:t.run_id})}),i.jsx("dt",{children:"Attempts"}),i.jsx("dd",{children:t.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(t.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 x;return(x=e.onOpenResource)==null?void 0:x.call(e,{kind:"ledger",url:t.ledger_url,name:`run-${t.run_id}-ledger.json`,runId:t.run_id})},children:i.jsx(Bt,{icon:"file",label:"Ledger (JSON)"})}):null,t.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 x;return(x=e.onOpenWorkspace)==null?void 0:x.call(e,t.run_id)},children:i.jsx(Bt,{icon:"folder",label:"Workspace"})}):null]})]}),e.discussOpen?i.jsxs("form",{className:"af-auto-discuss","aria-label":`${Ah}, from occurrence ${t.index}`,onSubmit:x=>{x.preventDefault();const b=Su(x.currentTarget,"prompt");b&&e.onDiscussSubmit(t.index,b)},children:[i.jsxs("p",{className:"af-auto__hint",children:["Starts a new session that forks this automation at #",t.index," with its full history (runs 1–",t.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:!h,title:ju.discuss,"aria-description":ju.discuss,"aria-describedby":f?`${c}-discuss-why`:void 0,onClick:()=>e.onDiscussOpen(t.index),children:i.jsx(Bt,{icon:Xp.discuss,label:Ah})}),f?i.jsx("span",{className:"af-auto__reasons",id:`${c}-discuss-why`,children:f}):null]})]})]})}const Av=5e3,Tv={[rr.pause]:"Automation paused.",[rr.resume]:"Automation active.",[rr.run_now]:"Run requested.",[rr.stop_current]:"Stop requested."};function Rv(e){const{summary:t,busy:s}=e,a=e.renderText??yl,l=w.useId(),c=w.useRef(null),[d,h]=w.useState(!1),f=e.editOpen!==void 0,y=dl(t,e.occurrences,!1).revise.enabled&&(f?e.editOpen===!0:d),v=w.useRef(null);y?(!v.current||v.current.summary.automation_id!==t.automation_id)&&(v.current={summary:t,definition:e.definition}):v.current=null;const x=v.current,b=w.useRef(e.onEditOpenChange);b.current=e.onEditOpenChange;const k=G=>{var se;f||h(G),(se=b.current)==null||se.call(b,G)},[S,j]=w.useState([]),[C,$]=w.useState(!1),[E,A]=w.useState(null),[z,F]=w.useState(null),[P,M]=w.useState(null);w.useEffect(()=>{if(!P)return;const G=setTimeout(()=>M(null),Av);return()=>clearTimeout(G)},[P]),w.useEffect(()=>{var se;if(!y)return;j([]);const G=$h(c.current,['.af-auto__revise [name="title"]']);G==null||G.focus(),(se=G==null?void 0:G.scrollIntoView)==null||se.call(G,{block:"nearest"})},[y,t.automation_id]);const[U,Y]=w.useState(null);w.useEffect(()=>{var G;U&&((G=$h(c.current,[...U,".af-auto__notice",".af-auto__title"]))==null||G.focus(),Y(null))},[U]);const Q=w.useRef(null);Q.current||(Q.current=new Jp(e.newId??Qp));const W=Q.current,J=G=>F(wv(G)),fe=(G,se,ue)=>{F(null),M(null),se(W.idFor(G)).then(he=>{W.settle(G,{ok:!0}),ue(he)},he=>{W.settle(G,{ok:!1,error:he}),J(he)})},ce=rv(t),we=w.useRef(e.onSeen);we.current=e.onSeen;const ve=w.useRef(null);ve.current||(ve.current=new pv),w.useEffect(()=>{const G=ve.current,se=ce?`${t.automation_id}|${ce}`:null;if(!ce||!G.next(se,t))return;const ue=t;we.current(ce).then(()=>G.succeeded(se),he=>{G.failed(se,ue),J(he)})});const q=dl(t,e.occurrences,s),re=nv(e.occurrences),ie=t.occurrence_count-e.occurrences.length,R=z??e.error??null,O=R?zu(R):null,D=t.attention;return i.jsxs("section",{ref:c,className:`af-auto${e.className?` ${e.className}`:""}`,"aria-labelledby":l,"aria-busy":s,"data-text-rendering":e.renderText?"rich":"unformatted",children:[i.jsx(_v,{summary:t,triggerSources:e.triggerSources,titleId:l,nowMs:e.nowMs,onOpenWorkspace:e.onOpenWorkspace}),i.jsx(Sv,{summary:t,occurrences:e.occurrences,busy:s,confirmingArchive:C,reviseOpen:y,notice:P,onDismissNotice:()=>M(null),idBase:`${l}-ctl`,onCommand:G=>fe(`command:${G}`,se=>e.onCommand(G,void 0,{command_id:se}),()=>{G===rr.archive?($(!1),M("Archive requested."),Y(['[data-action="archive"]'])):M(Tv[G]??"Command sent.")}),onToggleRevise:()=>{j([]),k(!y)},onAskArchive:()=>$(!0),onCancelArchive:()=>{$(!1),Y(['[data-action="archive"]'])}}),y&&x?i.jsx(Cv,{summary:x.summary,definition:x.definition,busy:s,errors:S,emailStatus:e.emailStatus,onOpenMyEmail:e.onOpenMyEmail,onCancel:()=>{k(!1),Y(['[data-action="edit"]'])},onSubmit:G=>{const se=x.summary,ue=iv(se,G,x.definition);if(ue===null){j(["Nothing changed."]);return}if("errors"in ue){j(ue.errors);return}j([]),fe(`revise:${se.revision}:${JSON.stringify(ue)}`,he=>e.onRevise(ue,se.revision,{command_id:he}),()=>{M("Saved; applies from the next run."),k(!1),Y(['[data-action="edit"]'])})}}):e.definition?i.jsx(xv,{definition:e.definition,renderText:a}):null,O?i.jsxs("div",{className:"af-auto__error",role:"alert","data-code":R==null?void 0:R.code,children:[i.jsx(ae,{name:"error",size:14,className:"af-auto__btn-icon"}),i.jsxs("span",{className:"af-auto__error-text",children:[i.jsx("strong",{children:O.title})," ",i.jsx("span",{children:O.detail})]}),z?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:()=>F(null),children:i.jsx(ae,{name:"x",size:12})}):null]}):null,D.items.length||D.waits.length?i.jsx("section",{className:"af-auto__attention","aria-label":"Needs attention",children:i.jsxs("ul",{children:[D.items.map(G=>i.jsxs("li",{className:`af-auto__attention-item af-auto__attention-item--${G.kind}`,"data-cursor":G.cursor,children:[i.jsx("span",{className:`af-auto-badge af-auto-badge--${G.kind==="failure"?"failed":"notified"}`,children:G.kind==="failure"?"Failed":"Notified"})," ",i.jsx("strong",{children:G.title})," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["#",G.index," · ",Sr(G.at)]}),G.body?i.jsx("div",{className:"af-auto__attention-body",children:a(G.body)}):null]},G.cursor)),D.waits.map(G=>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":G.kind,children:Kp[G.kind]??"Waiting for you"})," ",i.jsxs("span",{className:"af-auto-turn__muted",children:["#",G.index]}),G.prompt?i.jsx("div",{className:"af-auto__attention-body",children:a(G.prompt)}):null]},`${G.run_id}:${G.wait_key}`))]})}):null,ie>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 (${ie} more)`})}):null,re.length?i.jsx("ol",{className:"af-auto__timeline","aria-label":"Occurrences",children:re.map(G=>{const se=`[data-index="${G.row.index}"]`;return i.jsx($v,{view:G,busy:s,discuss:q.discuss,renderText:a,renderTurn:e.renderTurn,onOpenWorkspace:e.onOpenWorkspace,onOpenResource:e.onOpenResource?ue=>{var he;F(null);try{Promise.resolve((he=e.onOpenResource)==null?void 0:he.call(e,ue)).catch(J)}catch(le){J(le)}}:void 0,discussOpen:E===G.row.index,onOpenRun:e.onOpenRun,onAnswerWait:(ue,he,le)=>{F(null),e.onAnswerWait(ue,he,le).then(()=>M("Answer sent."),J)},onWaitError:ue=>F({status:0,code:"invalid_payload",message:ue}),onDiscussOpen:A,onDiscussCancel:()=>{A(null),Y([`${se} [data-action="discuss"]`])},onDiscussSubmit:(ue,he)=>fe(`discuss:${ue}:${he}`,le=>e.onDiscuss(ue,he,{request_id:le}),le=>{A(null),M(`Discussion started (session ${le.session_id}).`),Y([`${se} [data-action="discuss"]`])})},G.row.run_id)})}):i.jsx("p",{className:"af-auto__empty",children:"No occurrences yet."})]})}function Iv(e){var ee;const t=w.useId(),s=w.useId(),a=w.useRef(null),l=w.useRef(null),c=w.useRef(e.onClose);c.current=e.onClose;const[d,h]=w.useState(e.initialPrompt??""),[f,g]=w.useState("every"),[y,v]=w.useState(Du),[x,b]=w.useState(!1),[k,S]=w.useState(Oa),[j,C]=w.useState("24"),[$,E]=w.useState("h"),[A,z]=w.useState(""),[F,P]=w.useState(String(Wa)),[M,U]=w.useState("independent"),[Y,Q]=w.useState("auto"),[W,J]=w.useState(e.initialTitle??""),[fe,ce]=w.useState(""),[we,ve]=w.useState(""),[q,re]=w.useState(""),[ie,R]=w.useState([]),O=w.useRef(null);if(O.current||(O.current=new Jp(()=>(e.newRequestId??Qp)())),w.useEffect(()=>{var Re;if(!e.open)return;const K=document.activeElement;(Re=l.current)==null||Re.focus();const me=ge=>{if(!ge.defaultPrevented){if(ge.key==="Escape"){ge.preventDefault(),c.current();return}jp(ge,a.current,document.activeElement)}};return window.addEventListener("keydown",me),()=>{window.removeEventListener("keydown",me),K&&typeof K.focus=="function"&&K.focus()}},[e.open]),!e.open)return null;const D=Ou(e.emailStatus),G=f==="email"&&D,se=f==="email"&&!D?"every":f,ue={prompt:d,when:f==="once"?{kind:"once",at:A}:{kind:"every",amount:Number(j),unit:$},...G?{trigger:"email",email:{...y,usesModel:e.targetUsesModel!==!1}}:{},...D&&x?{notifyEmail:!0}:{},...D&&k.mode==="list"?{emailRecipients:k}:{},context:M,growingMaxTokens:Number(F),toolApproval:Y,title:W,...se==="every"&&fe?{startAt:fe}:{},...se==="every"&&we.trim()?{count:Number(we)}:{},...se==="every"&&q?{until:q}:{}},he=lv(ue),le=e.busy===!0,Ce=e.error?zu(e.error):null,Se=K=>`${s}-${K}`,at=K=>{K.preventDefault();const me=cv(ue,{target:e.target,requestId:""});if(!me.ok){R(me.errors);return}R([]);const Re=O.current,ge=JSON.stringify(me.body),Ee={...me.body,request_id:Re.idFor(ge)};Promise.resolve(e.onSubmit(Ee)).then(()=>Re.settle(ge,{ok:!0}),We=>Re.settle(ge,{ok:!1,error:We}))};return i.jsx("div",{className:"af-appearance-overlay af-schedule-overlay",onClick:e.onClose,role:"presentation",children:i.jsxs("div",{ref:a,className:"af-appearance af-schedule",role:"dialog","aria-modal":"true","aria-labelledby":t,onClick:K=>K.stopPropagation(),children:[i.jsx("div",{className:"af-appearance__title",id:t,children:e.title??"Schedule a task"}),i.jsxs("form",{className:"af-schedule__form",onSubmit:at,"aria-busy":le,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:Se("prompt"),children:[i.jsx("span",{children:"Task"}),i.jsx("textarea",{id:Se("prompt"),ref:l,rows:3,value:d,onChange:K=>h(K.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:Se("kind"),value:"every",checked:se==="every",onChange:()=>g("every")})," Repeat"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Se("kind"),value:"once",checked:f==="once",onChange:()=>g("once")})," Once at…"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Se("kind"),value:"email",checked:G,disabled:!D,onChange:()=>g("email")})," ",Ue.trigger_label]})]}),D?null:i.jsx(bu,{status:e.emailStatus,onOpenMyEmail:e.onOpenMyEmail}),G?i.jsx(mv,{value:{...y,usesModel:e.targetUsesModel!==!1},onChange:v,idBase:s}):se==="every"?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"af-auto__row af-schedule__presets",role:"group","aria-label":"Presets",children:av.map(K=>K.when.kind==="every"?i.jsx("button",{type:"button",className:"af-auto__btn af-auto__btn--quiet","aria-pressed":Number(j)===K.when.amount&&$===K.when.unit,onClick:()=>{K.when.kind==="every"&&(C(String(K.when.amount)),E(K.when.unit))},children:K.label},K.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:j,onChange:K=>C(K.target.value),"aria-label":"Interval amount"}),i.jsxs("select",{value:$,onChange:K=>E(K.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:Se("once"),children:[i.jsx("span",{children:"Run once at (UTC)"}),i.jsx("input",{id:Se("once"),type:"datetime-local",value:A,onChange:K=>z(K.target.value)})]}),i.jsx("p",{className:"af-schedule__preview","aria-live":"polite","data-preview":"true",children:he?`Runs ${he}.`:G?"Incomplete email trigger.":"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:Se("ctx"),value:"independent",checked:M==="independent",onChange:()=>U("independent")})," Independent — each run starts fresh"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Se("ctx"),value:"growing",checked:M==="growing",onChange:()=>U("growing")})," Growing — each run sees the previous runs"]}),M==="growing"?i.jsxs("label",{className:"af-auto__field",children:[i.jsx("span",{children:"Max growing context (tokens)"}),i.jsx("input",{type:"number",min:1,step:1,required:!0,disabled:le,value:F,onChange:K=>P(K.target.value)}),i.jsx("span",{className:"af-auto__hint",children:Up})]}):null]}),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:Se("tools"),value:"auto",checked:Y==="auto",onChange:()=>Q("auto")})," Run without asking"]}),i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:Se("tools"),value:"ask",checked:Y==="ask",onChange:()=>Q("ask")})," Ask me before each tool call (the run waits for you)"]}),G?i.jsx("p",{className:"af-auto__hint","data-email-rule":"untrusted",children:Ue.untrusted_hint}):null,Y==="auto"?i.jsxs("p",{className:"af-schedule__consent","data-consent":"true",children:[uv,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("fieldset",{className:"af-auto__field","data-field":"email",children:[i.jsx("legend",{children:"Mailbox"}),D?null:i.jsx(bu,{status:e.emailStatus,onOpenMyEmail:e.onOpenMyEmail}),i.jsx(gv,{notifyEmail:D&&x,onNotifyEmailChange:b,recipients:D?k:Oa,onRecipientsChange:S,disabled:!D,idBase:s})]}),i.jsxs("details",{className:"af-schedule__advanced",children:[i.jsx("summary",{children:"Advanced"}),i.jsxs("label",{className:"af-auto__field",htmlFor:Se("title"),children:[i.jsx("span",{children:"Title"}),i.jsx("input",{id:Se("title"),value:W,maxLength:120,onChange:K=>J(K.target.value),placeholder:"Defaults to the task's first line"})]}),se==="every"?i.jsxs(i.Fragment,{children:[i.jsxs("label",{className:"af-auto__field",htmlFor:Se("start"),children:[i.jsx("span",{children:"First run at (UTC; empty = now)"}),i.jsx("input",{id:Se("start"),type:"datetime-local",value:fe,onChange:K=>ce(K.target.value)})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:Se("count"),children:[i.jsx("span",{children:"Stop after this many runs"}),i.jsx("input",{id:Se("count"),type:"number",min:1,step:1,value:we,onChange:K=>ve(K.target.value)})]}),i.jsxs("label",{className:"af-auto__field",htmlFor:Se("until"),children:[i.jsx("span",{children:"Stop at (UTC)"}),i.jsx("input",{id:Se("until"),type:"datetime-local",value:q,onChange:K=>re(K.target.value)})]})]}):null]}),ie.length?i.jsx("ul",{className:"af-auto__form-errors",role:"alert",children:ie.map(K=>i.jsx("li",{children:K},K))}):null,Ce?i.jsxs("div",{className:"af-auto__error",role:"alert","data-code":(ee=e.error)==null?void 0:ee.code,children:[i.jsx("strong",{children:Ce.title})," ",i.jsx("span",{children:Ce.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:le,children:"Create automation"})]})]})]})})}const wl="@default",Zp="No workflows available for this app — ask your admin.",qp={shared:"Shared",mine:"Mine"};class qr extends Error{constructor(t){super(t),this.name="WorkflowPickerContractError"}}function em(e,t={}){const s=String(e||"").trim();if(!s)throw new Error("executableWorkflowsPath needs the interface the app runs (e.g. abstractcode.agent.v1).");return`bundles?executable_for=${encodeURIComponent(s)}${t.allVersions?"&all_versions=true":""}`}function Mv(e={}){return e.allVersions?"bundles?all_versions=true":"bundles"}function Lv(e,t={}){return e===null?Mv(t):em(e,t)}function kr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function $t(e){return typeof e=="string"?e.trim():""}const qo="update the gateway";function Pv(e,t){var h,f;const s=kr(e.default_agent_workflows);if(!s)return{status:"unavailable",reason:"the gateway does not report a default workflow"};const a=kr(s[t]);if(!a)return{status:"unavailable",reason:$t((f=kr((h=kr(e.default_agent_workflows_unavailable))==null?void 0:h[t]))==null?void 0:f.reason)||`no default workflow for ${t}`};const l=$t(a.bundle_id),c=$t(a.flow_id);if(!l||!c)return{status:"unavailable",reason:"the gateway's default workflow is missing its bundle or flow"};const d=$t(a.bundle_version);return{status:"ok",name:$t(a.name)||c,bundleId:l,bundleVersion:d,flowId:c,workflowId:$t(a.workflow_id)||`${l}${d?`@${d}`:""}:${c}`}}function Ov(e,t){return tm(e,t)}function tm(e,t,s={}){var h;const a=kr(e);if(!a)throw new qr("The gateway's workflow list is not a JSON object.");const l=$t(a.executable_for);if(t===null){if(l)throw new qr(`Asked for every workflow, the gateway listed only ${l}.`)}else if(l!==t)throw new qr(l?`The gateway listed workflows for ${l}, not ${t}.`:`This gateway does not filter workflows per app (no executable_for in its answer): ${qo}.`);if(!Array.isArray(a.items))throw new qr("The gateway's workflow list has no items.");const c=[];for(const f of a.items){const g=kr(f),y=$t(g==null?void 0:g.bundle_id);if(!g||!y)throw new qr("The gateway listed a workflow without a bundle id.");const v=kr(g.owner),x=$t(v==null?void 0:v.kind);if(x!=="gateway"&&x!=="user")throw new qr(`The gateway did not say who owns ${y} (owner missing): ${qo}.`);if(typeof g.shipped!="boolean")throw new qr(`The gateway did not say whether ${y} ships with it (shipped missing): ${qo}.`);const b=$t(g.bundle_version),k=Array.isArray(g.entrypoints)?g.entrypoints:[];for(const S of k){const j=kr(S),C=$t(j==null?void 0:j.flow_id);if(!j||!C)continue;const $=Array.isArray(j.interfaces)?j.interfaces.map($t).filter(Boolean):[];if(t===null){if(!$.length)continue}else if(!$.includes(t))throw new qr(`The gateway offered ${y}:${C}, which does not declare ${t}: ${qo}.`);c.push({value:$t(j.workflow_id)||`${y}${b?`@${b}`:""}:${C}`,bundleId:y,bundleVersion:b,flowId:C,name:$t(j.name)||$t((h=kr(g.metadata))==null?void 0:h.name)||y,description:$t(j.description)||$t(g.description),registryScope:$t(g.registry_scope)||"private",group:x==="user"?"mine":"shared",shipped:g.shipped,interfaces:$,...t===null?{showInterfaces:!0}:{}})}}const d=s.defaultInterface??t;return{interfaceId:t,entries:c,gatewayDefault:d?Pv(a,d):{status:"unavailable",reason:"no interface named for the gateway default"}}}function Dv(e){const t=(s,a)=>s.name.localeCompare(a.name)||a.bundleVersion.localeCompare(s.bundleVersion,void 0,{numeric:!0})||s.value.localeCompare(a.value);return["shared","mine"].map(s=>({id:s,label:qp[s],entries:e.filter(a=>a.group===s).sort(t)})).filter(s=>s.entries.length>0)}const Fv={"abstractcode.agent.v1":"Code agent","abstractassistant.agent.v1":"Assistant","abstractcode.coding.v1":"Coding",tools:"tools",event:"event",chat:"chat"};function zv(e){return Fv[e]??e}function Wv(e,t=[]){const s=e.bundleVersion?`@${e.bundleVersion}`:"";return e.showInterfaces?[[...new Set(e.interfaces.map(zv))].join(", "),s].filter(Boolean).join(" · "):s}function Uv(e){return e.value}function Bv(e){return e?e.status==="unavailable"?e.reason:`${e.name}${e.bundleVersion?` @${e.bundleVersion}`:""}`:""}function Vv(e,t,s){return s<=0?null:e==="ArrowDown"?t<0?0:Math.min(s-1,t+1):e==="ArrowUp"?t<0?s-1:Math.max(0,t-1):e==="Home"?0:e==="End"?s-1:null}function Gv(e,t=!0){const s=(e==null?void 0:e.entries)??[],a=[];t&&a.push({key:"default",value:wl,name:"Gateway default",detail:Bv((e==null?void 0:e.gatewayDefault)??null),group:null,entry:null});for(const l of Dv(s))for(const c of l.entries)a.push({key:c.value,value:c.value,name:c.name,detail:Wv(c,s),title:Uv(c),group:l.id,entry:c});return a}async function Hv(e,t,s){var c;const a=await fetch(Qe(e,ke(t)),{credentials:"include",headers:{Accept:"application/json"},signal:s}),l=await a.json().catch(()=>null);if(!a.ok){const d=((c=l==null?void 0:l.detail)==null?void 0:c.message)||(l==null?void 0:l.message)||(typeof(l==null?void 0:l.detail)=="string"?l.detail:"");throw new Error(d||`The gateway answered ${a.status}.`)}return l}function Kv(e){var s;const t=e;return String(((s=t==null?void 0:t.detail)==null?void 0:s.message)||(t==null?void 0:t.message)||t||"The workflow list could not be loaded.")}function Jv(e){const{interfaceId:t,defaultInterface:s,allVersions:a=!1,enabled:l=!0,gatewayBaseUrl:c,reloadKey:d}=e,h=w.useRef(e.request);h.current=e.request;const[f,g]=w.useState(0),[y,v]=w.useState({status:"idle",data:null,error:""});w.useEffect(()=>{if(!l){v({status:"idle",data:null,error:""});return}const b=new AbortController;v(j=>({...j,status:"loading",error:""}));const k=Lv(t,{allVersions:a});return(h.current?h.current(k,{signal:b.signal}):Hv(c,k,b.signal)).then(j=>{b.signal.aborted||v({status:"ready",data:tm(j,t,{defaultInterface:s}),error:""})}).catch(j=>{b.signal.aborted||v({status:"error",data:null,error:Kv(j)})}),()=>b.abort()},[t,s,a,l,c,d,f]);const x=w.useCallback(()=>g(b=>b+1),[]);return{...y,reload:x}}function Qv(e){if(!e||typeof window>"u")return{};const t=e.getBoundingClientRect(),s=window.innerWidth,a=window.innerHeight,l=Math.min(Math.max(t.width,300),440,s-32),c=Math.max(16,Math.min(t.left,s-16-l)),d=a-t.bottom-16;return d>=220||d>=t.top?{position:"fixed",left:c,width:l,top:t.bottom+4,maxHeight:Math.max(160,d)}:{position:"fixed",left:c,width:l,bottom:a-t.top+4,maxHeight:Math.max(160,t.top-16)}}function nm(...e){return e.filter(Boolean).join(" ")}function Yv(e){const t=Jv({interfaceId:e.interfaceId,defaultInterface:e.defaultInterface,request:e.request,gatewayBaseUrl:e.gatewayBaseUrl,allVersions:e.allVersions,enabled:e.workflows?!1:e.enabled!==!1}),s=e.workflows??t,a=e.showDefault!==!1&&(e.interfaceId!==null||!!e.defaultInterface),l=w.useId().replace(/:/g,""),c=`${l}-list`,[d,h]=w.useState(!1),[f,g]=w.useState(-1),y=w.useRef(null),v=w.useRef(null),[x,b]=w.useState({}),k=w.useMemo(()=>Gv(s.data,a),[s.data,a]),S=k.find(P=>P.value===e.value),j=S?{name:S.name,detail:S.detail}:e.currentLabel?{name:e.currentLabel.name,detail:e.currentLabel.detail||""}:s.status==="loading"?{name:"Loading workflows…",detail:""}:{name:e.value===wl?"Gateway default":"Choose a workflow",detail:""},C=String(e.unavailableReason||"").trim(),$=!C&&s.status==="ready",E=w.useCallback(()=>{h(!1),g(-1)},[]),A=w.useCallback(()=>{if(!$)return;b(Qv(v.current)),h(!0);const P=k.findIndex(M=>M.value===e.value);g(P>=0?P:0)},[$,k,e.value]),z=w.useCallback(P=>{var M;E(),P.value!==e.value&&e.onChange(P.value,P.entry),(M=v.current)==null||M.focus()},[E,e]);w.useEffect(()=>{if(!d)return;const P=U=>{y.current&&!y.current.contains(U.target)&&E()},M=()=>E();return document.addEventListener("mousedown",P),document.addEventListener("touchstart",P),window.addEventListener("resize",M),()=>{document.removeEventListener("mousedown",P),document.removeEventListener("touchstart",P),window.removeEventListener("resize",M)}},[d,E]),w.useEffect(()=>{var M;if(!d||f<0)return;const P=typeof document<"u"?document.getElementById(`${l}-opt-${f}`):null;(M=P==null?void 0:P.scrollIntoView)==null||M.call(P,{block:"nearest"})},[d,f,l]);const F=P=>{if(!d){["Enter"," ","ArrowDown","ArrowUp"].includes(P.key)&&(P.preventDefault(),A());return}if(P.key==="Escape"){P.preventDefault(),E();return}if(P.key==="Tab"){E();return}if(P.key==="Enter"||P.key===" "){P.preventDefault(),f>=0&&k[f]&&z(k[f]);return}const M=Vv(P.key,f,k.length);M!==null&&(P.preventDefault(),g(M))};return i.jsxs("div",{ref:y,className:nm("af-workflow-picker",e.className),"data-interface":e.interfaceId??"any",children:[i.jsxs("button",{ref:v,id:e.id,type:"button",role:"combobox",className:"af-workflow-picker__trigger","aria-label":e.ariaLabel||"Workflow","aria-describedby":`${l}-value`,"aria-haspopup":"listbox","aria-expanded":d,"aria-controls":c,"aria-activedescendant":d&&f>=0?`${l}-opt-${f}`:void 0,"aria-disabled":$?void 0:!0,title:C||void 0,onClick:()=>d?E():A(),onKeyDown:F,children:[i.jsxs("span",{className:"af-workflow-picker__value",id:`${l}-value`,children:[i.jsx("span",{className:"af-workflow-picker__name",children:j.name}),j.detail?i.jsx("span",{className:"af-workflow-picker__detail",children:j.detail}):null]}),i.jsx("span",{className:"af-workflow-picker__caret","aria-hidden":"true"})]}),d?i.jsx(Xv,{id:c,idBase:l,rows:k,value:e.value,highlight:f,ariaLabel:e.ariaLabel||"Workflow",style:x,onHighlight:g,onChoose:z}):null,s.status==="error"?i.jsx("span",{className:"af-workflow-picker__error",role:"alert",children:s.error}):s.status==="ready"&&k.every(P=>!P.entry)&&!a?i.jsx("span",{className:"af-workflow-picker__empty",role:"status",children:Zp}):null]})}function Xv(e){const t=(c,d)=>i.jsxs("div",{id:`${e.idBase}-opt-${d}`,role:"option","aria-selected":c.value===e.value,"data-value":c.value,title:c.title,className:nm("af-workflow-picker__option",d===e.highlight&&"af-workflow-picker__option--highlighted",c.value===e.value&&"af-workflow-picker__option--selected"),onMouseEnter:()=>e.onHighlight(d),onMouseDown:h=>h.preventDefault(),onClick:()=>e.onChoose(c),children:[i.jsx("span",{className:"af-workflow-picker__name",children:c.name}),c.detail?i.jsx("span",{className:"af-workflow-picker__detail",children:c.detail}):null]},c.key),s=e.rows.map((c,d)=>({row:c,index:d})),a=s.filter(c=>c.row.group===null),l=["shared","mine"].map(c=>({g:c,items:s.filter(d=>d.row.group===c)})).filter(c=>c.items.length>0);return i.jsxs("div",{id:e.id,role:"listbox","aria-label":e.ariaLabel,className:"af-workflow-picker__list",style:e.style,children:[a.map(c=>t(c.row,c.index)),l.map(({g:c,items:d})=>i.jsxs("div",{role:"group","aria-labelledby":`${e.idBase}-g-${c}`,"data-group":c,children:[i.jsx("div",{id:`${e.idBase}-g-${c}`,className:"af-workflow-picker__group",role:"presentation",children:qp[c]}),d.map(h=>t(h.row,h.index))]},c)),l.length===0?i.jsx("p",{className:"af-workflow-picker__empty",children:Zp}):null]})}function Uu({children:e}){return i.jsxs("p",{className:"code-history-empty code-loading-status",role:"status",children:[i.jsx("span",{className:"code-loading-spinner","aria-hidden":"true"}),e]})}function Mh(e,t,s,a){const l=w.useRef(null);w.useEffect(()=>{var h,f;if(!t)return;if(e){l.current=document.activeElement||null;const g=a(),y=window.setTimeout(()=>g==null?void 0:g.focus(),0);return()=>window.clearTimeout(y)}const c=s(),d=document.activeElement;l.current&&(!d||d===document.body||c&&c.contains(d))&&((f=(h=l.current).focus)==null||f.call(h)),l.current=null},[e,t])}function Zv(e,t){return t?"drawers":e?"overlay":"docked"}function qv(e){return{open:e==="docked",wanted:!0}}function e_(e,t,s){return t===s?e:s==="docked"?{open:e.wanted,wanted:e.wanted}:{open:!1,wanted:t==="docked"?e.open:e.wanted}}function t_(e,t,s){return t==="docked"?{open:s,wanted:s}:{open:s,wanted:e.wanted}}function n_(e,t){return t==="drawers"?e:!1}function r_(e){return e.key!=="Escape"||e.defaultPrevented||e.overlayOpen?null:e.sidebarOpen?"sidebar":e.inspectorOpen&&e.inspectorIsOverlay?"inspector":null}function s_(e=typeof document<"u"?document:void 0){return!!(e!=null&&e.querySelector('[role="dialog"], [role="alertdialog"]'))}function i_(e){const t=Number.parseFloat(String(e??"").trim());return Number.isFinite(t)&&t>0}let Na=null;function a_(){var a;if(Na)return Na;if(typeof document>"u"||typeof MutationObserver>"u")return()=>{};const e=document.documentElement,t=()=>{const l=i_(getComputedStyle(e).getPropertyValue("--keyboard-inset"));l&&e.dataset.keyboard!=="open"?e.dataset.keyboard="open":!l&&e.dataset.keyboard&&delete e.dataset.keyboard},s=new MutationObserver(t);return s.observe(e,{attributes:!0,attributeFilter:["style"]}),(a=window.visualViewport)==null||a.addEventListener("resize",t),t(),Na=()=>{var l;s.disconnect(),(l=window.visualViewport)==null||l.removeEventListener("resize",t),Na=null},Na}function o_(e){const t=e.querySelector(".code-topbar");if(!t)return null;const a=getComputedStyle(t).display==="contents"?e.querySelector(".code-toolbar"):t,l=a==null?void 0:a.getBoundingClientRect().bottom;return typeof l=="number"&&l>0?Math.round(l):null}function l_(e){const[t,s]=w.useState(e);return w.useEffect(()=>{if(typeof window>"u")return;const a=()=>s(o_(document)??e);a();const l=typeof ResizeObserver<"u"?new ResizeObserver(a):null,c=document.querySelector(".code-topbar"),d=document.querySelector(".code-toolbar");return l&&c&&l.observe(c),l&&d&&l.observe(d),window.addEventListener("resize",a),()=>{l==null||l.disconnect(),window.removeEventListener("resize",a)}},[e]),t}function c_(e){const t=e.isDrawer&&!e.open;return i.jsx("aside",{className:"code-sidebar","aria-label":"Conversations",...t?{inert:""}:{},children:e.children})}const rm="abstractcode.sidebar.panels",Ca={automations:!0,conversations:!0};function u_(e){try{const t=e==null?void 0:e.getItem(rm);if(!t)return{...Ca};const s=JSON.parse(t);if(!s||typeof s!="object")return{...Ca};const a=s;return{automations:typeof a.automations=="boolean"?a.automations:Ca.automations,conversations:typeof a.conversations=="boolean"?a.conversations:Ca.conversations}}catch{return{...Ca}}}function d_(e,t){try{t==null||t.setItem(rm,JSON.stringify(e))}catch{}}function f_(e,t){return{...e,[t]:!e[t]}}function Lh(){try{return typeof window<"u"?window.localStorage:null}catch{return null}}function h_(){const[e,t]=w.useState(()=>u_(Lh())),s=w.useCallback(a=>{t(l=>{const c=f_(l,a);return d_(c,Lh()),c})},[]);return[e,s]}const Bu=e=>({toggle:`code-panel-${e}-toggle`,region:`code-panel-${e}`});function sm(e){const t=Bu(e.panel);return i.jsxs("div",{className:"code-panel-header",children:[i.jsxs("button",{type:"button",className:"code-panel-toggle",id:t.toggle,"aria-expanded":e.open,"aria-controls":t.region,onClick:e.onToggle,children:[i.jsx(ae,{name:"chevronDown",size:14}),i.jsx("span",{children:e.label})]}),e.actions?i.jsx("span",{className:"code-panel-actions",children:e.actions}):null]})}function p_(e){return i.jsx("div",{className:"code-sidebar-lists",children:e.children})}function m_(e){const t=Bu("conversations");return i.jsxs("section",{className:"code-panel code-conversations","data-open":e.open?"true":"false",children:[i.jsx(sm,{panel:"conversations",label:"Conversations",open:e.open,onToggle:e.onToggle,actions:e.actions}),i.jsx("nav",{className:"code-sessions",id:t.region,"aria-labelledby":t.toggle,hidden:!e.open,children:e.children})]})}function g_(e){return e.split("/").filter(Boolean).pop()||"Gateway managed"}function y_(e){const t=g_(e.path);return i.jsxs("button",{type:"button",className:"code-workspace-row",title:e.path?`Workspace: ${e.path}`:"Workspace: gateway managed",onClick:e.onOpen,children:[i.jsx(ae,{name:"terminal",size:17}),i.jsxs("span",{children:[i.jsx("strong",{children:"Workspace"}),i.jsx("small",{children:t})]}),i.jsx(ae,{name:"chevronRight",size:14})]})}function im(e){const t=String(e??"").trim();if(!t||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return null;try{return JSON.parse(t)}catch{return null}}function w_(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function v_(e){const t=String(e.role||"message").trim()||"message",s=String(e.title||"").trim(),a=String(e.ts||"").trim(),l=[t];return s&&l.push(s),a&&l.push(a),l.join(" · ")}function __(e){return e.endsWith(`
|
|
58
|
+
`)?e:`${e}
|
|
59
|
+
`}function x_(e){return String(e||"").trimStart().startsWith("```")}function b_(e,t){const a=[`# ${"Chat".trim()||"Chat"}`,""];for(const l of e){const c=v_(l);a.push(`## ${c}`,"");const d=String(l.content||""),h=im(d);h!==null&&!x_(d)?a.push("```json",w_(h).trimEnd(),"```",""):a.push(__(d).trimEnd(),""),a.push("---","")}for(;a.length&&!a[a.length-1].trim();)a.pop();return a.length&&a[a.length-1]==="---"&&a.pop(),`${a.join(`
|
|
60
|
+
`).trimEnd()}
|
|
61
|
+
`}async function Vu(e){var s;const t=String(e||"");if(!t)return!1;try{if(typeof navigator<"u"&&typeof((s=navigator.clipboard)==null?void 0:s.writeText)=="function")return await navigator.clipboard.writeText(t),!0}catch{}try{const a=document.createElement("textarea");a.value=t,a.style.position="fixed",a.style.left="-9999px",document.body.appendChild(a),a.select();const l=document.execCommand("copy")===!0;return document.body.removeChild(a),l}catch{return!1}}function k_(e){const t=String(e.filename).trim()||"export.txt",s=String(e.text||""),a=String(e.mime||"text/plain;charset=utf-8"),l=new Blob([s],{type:a}),c=URL.createObjectURL(l),d=document.createElement("a");d.href=c,d.download=t,document.body.appendChild(d),d.click(),d.remove(),window.setTimeout(()=>URL.revokeObjectURL(c),1e3)}const j_=3,S_=Number.MAX_SAFE_INTEGER;function am(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function om(e){return Array.isArray(e)}function N_(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Ai({kind:e,children:t}){return i.jsx("span",{className:`pc-json-token ${e}`,children:t})}function C_(e){const t=JSON.stringify(e.value),s=t.length>96||t.includes("\\n")||t.includes("\\r")||t.includes("\\t"),[a,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 ${a?"open":"collapsed"}`,children:[i.jsx("button",{type:"button",className:"pc-json-string__toggle",onClick:()=>l(c=>!c),"aria-label":a?"Collapse string value":"Expand string value","aria-expanded":a,children:a?"▾":"▸"}),a?i.jsx("span",{className:"pc-json-token string pc-json-string__value",children:t}):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:t}),i.jsx("span",{className:"pc-json-string__suffix",children:"(...)"})]})]}):i.jsx(Ai,{kind:"string",children:t})}function E_(e,t,s){return e===null?i.jsx(Ai,{kind:"null",children:"null"}):typeof e=="string"?i.jsx(C_,{value:e,expansionMode:t,expansionVersion:s}):typeof e=="number"?i.jsx(Ai,{kind:"number",children:String(e)}):typeof e=="boolean"?i.jsx(Ai,{kind:"boolean",children:e?"true":"false"}):i.jsx(Ai,{kind:"string",children:JSON.stringify(String(e))})}function $_(e){return om(e)?e.length===1?"1 item":`${e.length} items`:am(e)?Object.keys(e).length===1?"1 key":`${Object.keys(e).length} keys`:""}function lm(e){const{label:t,value:s,depth:a,collapseAfterDepth:l,expansionMode:c,expansionVersion:d,trailingComma:h}=e,f=a*14,g=am(s),y=om(s),v=g||y,x=a<l,[b,k]=w.useState(x);w.useEffect(()=>{k(x)},[x,d]);const S=t?i.jsxs(i.Fragment,{children:[i.jsx(Ai,{kind:"key",children:JSON.stringify(t)}),": "]}):null;if(!v)return i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[S,E_(s,c,d),h?",":""]});const j=y?"[":"{",C=y?"]":"}",$=$_(s),E=b?`${j}`:`${j}…${C}${$?` (${$})`:""}`,A=y?s.map((z,F)=>({key:String(F),label:void 0,value:z})):Object.entries(s).map(([z,F])=>({key:z,label:z,value:F}));return i.jsxs("details",{className:"pc-json-viewer__details",open:b,onToggle:z=>k(z.currentTarget.open),children:[i.jsxs("summary",{className:"pc-json-viewer__summary",style:{paddingLeft:f},children:[S,i.jsx("span",{className:"pc-json-viewer__caret","aria-hidden":"true",children:b?"▾":"▸"}),i.jsx("span",{className:"pc-json-viewer__punct",children:E}),!b&&h?i.jsx("span",{className:"pc-json-viewer__punct",children:","}):null]}),b?i.jsx("div",{className:"pc-json-viewer__children",children:A.length===0?i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[i.jsx("span",{className:"pc-json-viewer__punct",children:C}),h?",":""]}):i.jsxs(i.Fragment,{children:[A.map((z,F)=>{const P=F===A.length-1;return i.jsx(lm,{label:z.label,value:z.value,depth:a+1,collapseAfterDepth:l,expansionMode:c,expansionVersion:d,trailingComma:!P},`${a}:${t||"root"}:${z.key}`)}),i.jsxs("div",{className:"pc-json-viewer__line",style:{paddingLeft:f},children:[i.jsx("span",{className:"pc-json-viewer__punct",children:C}),h?",":""]})]})}):null]})}function A_(e){const t=e.trim();if(!t)return e;if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e}function Rs(e){const{value:t,className:s,showCopy:a=!0}=e,[l,c]=w.useState({mode:"folded",version:0}),[d,h]=w.useState("idle"),f=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):j_,g=l.mode==="unfolded"?S_:f,y=w.useMemo(()=>typeof t=="string"?A_(t):t,[t]),v=w.useMemo(()=>N_(t),[t]),x=["pc-json-viewer",s].filter(Boolean).join(" ");w.useEffect(()=>{c(k=>({mode:"folded",version:k.version+1}))},[y]);const b=()=>{c(k=>({mode:k.mode==="unfolded"?"folded":"unfolded",version:k.version+1}))};return i.jsxs("div",{className:x,children:[i.jsxs("div",{className:"pc-json-viewer__toolbar",children:[i.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__toggle-all",onClick:b,"aria-expanded":l.mode==="unfolded",children:l.mode==="unfolded"?"Fold all":"Unfold all"}),a?i.jsx("button",{type:"button",className:"pc-btn pc-json-viewer__copy",onClick:()=>void Vu(v).then(k=>{h(k?"copied":"failed"),window.setTimeout(()=>h("idle"),2e3)}),children:d==="copied"?"Copied":d==="failed"?"Copy failed — select and copy":"Copy JSON"}):null]}),i.jsx("div",{className:"pc-json-viewer__tree",role:"tree","aria-label":"JSON viewer",children:i.jsx(lm,{value:y,depth:0,collapseAfterDepth:g,expansionMode:l.mode,expansionVersion:l.version,trailingComma:!1})})]})}function Ea(e,t){const s=String(e??"");if(!t||!t.needles.length)return[s];const a=[],l=s.toLowerCase();let c=0;for(;c<s.length;){let d=-1,h="";for(let y=0;y<t.needlesLower.length;y++){const v=t.needlesLower[y];if(!v)continue;const x=l.indexOf(v,c);if(x===-1)continue;const b=t.needles[y]||"";b&&(d===-1||x<d||x===d&&b.length>h.length)&&(d=x,h=b)}if(d===-1||!h){a.push(s.slice(c));break}d>c&&a.push(s.slice(c,d));const f=t.hits===0&&t.id?t.id:void 0,g=s.slice(d,d+h.length);a.push(i.jsx("span",{id:f,className:t.className,children:g},`hl:${t.hits}`)),t.hits+=1,c=d+h.length}return a}function cm(e){const t=String(e||"").trim();if(t&&/^(https?:|mailto:|tel:|#|\/)/i.test(t))return t}const Nu="http://same-origin.invalid/";function T_(e){try{const t=new URL(e,Nu);return t.protocol==="http:"&&t.origin===new URL(Nu).origin}catch{return!1}}function um(e){const t=String(e||"").trim();return cm(t)??(t&&T_(t)?t:void 0)}let Is=null;function R_(e){const t=String(e||"").trim();if(!t)return!1;const s=typeof document<"u"&&document.baseURI?document.baseURI:null;if(s===null&&/^[a-z][a-z0-9+.-]*:/i.test(t))return!1;const a=s??Nu;let l,c;try{l=new URL(a).origin,c=new URL(t,a)}catch{return!1}return c.protocol!=="http:"&&c.protocol!=="https:"?!1:c.origin===l}function dm(e,t,s){return i.jsx("a",{className:"pc-md_link pc-md_image_link",href:t,target:"_blank",rel:"noopener noreferrer",children:`image: ${s||t}`},e)}function ns(e,t){const s=[],a=String(e??"");let l=0,c="";const d=()=>{if(c){for(const h of Ea(c,t))s.push(h);c=""}};for(;l<a.length;){const h=a[l];if(h==="!"&&a[l+1]==="["){const f=a.indexOf("]",l+2);if(f!==-1&&a[f+1]==="("){const g=a.indexOf(")",f+2);if(g!==-1){const y=a.slice(l+2,f),v=um(a.slice(f+2,g));if(v&&Is&&!Is(v)){d(),s.push(dm(`img:${l}`,v,y)),l=g+1;continue}if(v){d(),s.push(i.jsxs("span",{className:"pc-md_image_inline",children:[i.jsx("img",{className:"pc-md_img",src:v,alt:y,loading:"lazy"}),y?i.jsx("span",{className:"pc-md_img_caption",children:t?Ea(y,t):y}):null]},`img:${l}`)),l=g+1;continue}}}}if(h==="["){const f=a.indexOf("]",l+1);if(f!==-1&&a[f+1]==="("){const g=a.indexOf(")",f+2);if(g!==-1){const y=a.slice(l+1,f),v=cm(a.slice(f+2,g));if(v){d(),s.push(i.jsx("a",{className:"pc-md_link",href:v,target:v.startsWith("#")?void 0:"_blank",rel:"noreferrer",children:ns(y,t)},`link:${l}`)),l=g+1;continue}}}}if(h==="`"){const f=a.indexOf("`",l+1);if(f!==-1){d();const g=a.slice(l+1,f);s.push(i.jsx("code",{children:t?Ea(g,t):g},`code:${l}`)),l=f+1;continue}}if(h==="*"&&a[l+1]==="*"){const f=a.indexOf("**",l+2);if(f!==-1){d();const g=a.slice(l+2,f);s.push(i.jsx("strong",{children:t?Ea(g,t):g},`bold:${l}`)),l=f+2;continue}}if(h==="*"&&a[l+1]!=="*"){const f=a.indexOf("*",l+1);if(f!==-1){d();const g=a.slice(l+1,f);s.push(i.jsx("em",{children:t?Ea(g,t):g},`em:${l}`)),l=f+1;continue}}c+=h,l+=1}return d(),s}function I_(e){return String(e??"").replace(/\r\n/g,`
|
|
62
|
+
`).replace(/\r/g,`
|
|
63
|
+
`).split(`
|
|
64
|
+
`)}function al(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 M_(e){const t=[];for(const l of e){const c=al(l);c?t.push(c):t.length>0&&l.trim()&&(t[t.length-1].content+=` ${l.trim()}`)}const s=[],a=[];for(const l of t){for(;a.length>0&&l.indent<a[a.length-1].indent;)a.pop();let c=a.length>0?a[a.length-1]:null;if(c&&l.indent>c.indent){const d=c.node.items,h=d[d.length-1];if(h){const f={ordered:l.ordered,start:l.start,items:[]};h.children.push(f),a.push({indent:l.indent,node:f}),c=a[a.length-1]}}else if(c&&c.node.ordered!==l.ordered){a.pop();const d=a.length>0?a[a.length-1]:null,h={ordered:l.ordered,start:l.start,items:[]};if(d){const f=d.node.items,g=f[f.length-1];g?g.children.push(h):d.node.items.push({content:"",children:[h]})}else s.push(h);a.push({indent:l.indent,node:h}),c=a[a.length-1]}if(!c){const d={ordered:l.ordered,start:l.start,items:[]};s.push(d),a.push({indent:l.indent,node:d}),c=a[a.length-1]}c.node.items.push({content:l.content,children:[]})}return s}function fm(e,t,s){const a=e.items.map((l,c)=>i.jsxs("li",{children:[ns(l.content,t),l.children.map((d,h)=>fm(d,t,`${s}:${c}:${h}`))]},`${s}:li:${c}`));return e.ordered?i.jsx("ol",{className:"pc-md_ol",start:e.start!==1?e.start:void 0,children:a},s):i.jsx("ul",{className:"pc-md_ul",children:a},s)}function L_(e,t,s){return M_(e).map((a,l)=>fm(a,t,`${s}:${l}`))}function Ph(e){let t=String(e??"").trim();return t?(t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1)),t.split("|").map(s=>String(s??"").trim())):[]}function Oh(e){let t=String(e??"").trim();if(!t)return!1;t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1));const s=t.split("|").map(a=>String(a??"").trim());return s.length<2?!1:s.every(a=>/^:?-{3,}:?$/.test(a))}const Dh=/^(#{1,5})\s+(.*)$/;function Fh(e){return e.trim().startsWith("```")}function zh(e){return e.trimStart().startsWith(">")}function hm(e){const t=Is;Is=e.images==="link"?e.inlineImage||R_:null;try{return P_(e)}finally{Is=t}}function P_({text:e,className:t,highlight:s,highlights:a,highlightClassName:l,highlightId:c}){const d=I_(e),h=[],f=[];Array.isArray(a)&&f.push(...a),typeof s=="string"&&s.trim()&&f.push(s);const g=Array.from(new Set(f.map(b=>String(b??"").trim()).filter(Boolean))).filter(b=>b.length>=4),y=g.length?{needles:g,needlesLower:g.map(b=>b.toLowerCase()),className:l||"pc-md_hl",id:c,hits:0}:null;let v=0;for(;v<d.length;){const b=String(d[v]??"");if(!b.trim()){v+=1;continue}const k=b.trim();if(/^([-_*])(\s*\1){2,}$/.test(k)){h.push(i.jsx("hr",{className:"pc-md_hr"},`hr:${v}`)),v+=1;continue}const S=b.match(/^\s*!\[([^\]]*)\]\(([^)]+)\)\s*$/);if(S){const $=um(S[2]||"");if($&&Is&&!Is($)){h.push(i.jsx("p",{className:"pc-md_p",children:dm(`img:${v}`,$,S[1]||"")},`p:${v}`)),v+=1;continue}if($){const E=S[1]||"";h.push(i.jsxs("figure",{className:"pc-md_figure",children:[i.jsx("img",{className:"pc-md_img",src:$,alt:E,loading:"lazy"}),E?i.jsx("figcaption",{children:ns(E,y)}):null]},`figure:${v}`)),v+=1;continue}}if(Fh(b)){const E=b.trim().replace(/```/g,"").trim(),A=[];for(v+=1;v<d.length&&!String(d[v]??"").trim().startsWith("```");)A.push(String(d[v]??"")),v+=1;v<d.length&&(v+=1);const z=A.join(`
|
|
65
|
+
`);h.push(i.jsx("pre",{className:"pc-md_pre",children:i.jsx("code",{className:E?`language-${E}`:void 0,children:z})},`pre:${v}`));continue}const j=b.match(Dh);if(j){const $=j[1].length,E=j[2]||"",A=ns(E,y);$===1?h.push(i.jsx("h1",{children:A},`h1:${v}`)):$===2?h.push(i.jsx("h2",{children:A},`h2:${v}`)):$===3?h.push(i.jsx("h3",{children:A},`h3:${v}`)):$===4?h.push(i.jsx("h4",{children:A},`h4:${v}`)):h.push(i.jsx("h5",{children:A},`h5:${v}`)),v+=1;continue}if(zh(b)){const $=[];for(;v<d.length&&String(d[v]??"").trimStart().startsWith(">");){const A=String(d[v]??"").trimStart();$.push(A.replace(/^>\s?/,"")),v+=1}h.push(i.jsx("blockquote",{className:"pc-md_quote",children:$.map((E,A)=>i.jsxs(ht.Fragment,{children:[ns(E,y),A<$.length-1?i.jsx("br",{}):null]},`q:${v}:${A}`))},`quote:${v}`));continue}if(b.includes("|")&&v+1<d.length&&Oh(String(d[v+1]??""))){const $=Ph(b),E=Math.max(1,$.length),A=[];for(v+=2;v<d.length;){const z=String(d[v]??"");if(!z.trim()||!z.includes("|"))break;const F=Ph(z),P=[];for(let M=0;M<E;M++)P.push(F[M]??"");A.push(P),v+=1}h.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:$.slice(0,E).map((z,F)=>i.jsx("th",{children:ns(z,y)},`th:${v}:${F}`))})}),i.jsx("tbody",{children:A.map((z,F)=>i.jsx("tr",{children:z.map((P,M)=>i.jsx("td",{children:ns(P,y)},`td:${v}:${F}:${M}`))},`tr:${v}:${F}`))})]})},`table:${v}`));continue}if(al(b)){const $=[];for(;v<d.length;){const E=String(d[v]??"");if(!E.trim()||E.trimStart().startsWith("```"))break;if(al(E)||/^\s{2,}\S/.test(E)){$.push(E),v+=1;continue}break}h.push(i.jsx(ht.Fragment,{children:L_($,y,`list:${v}`)},`list:${v}`));continue}const C=[];for(;v<d.length&&String(d[v]??"").trim()&&!(C.length>0&&al(String(d[v]??"")));){const $=String(d[v]??"");if(C.length>0&&(Dh.test($)||Fh($)||zh($))||C.length>0&&$.includes("|")&&v+1<d.length&&Oh(String(d[v+1]??"")))break;C.push($),v+=1}h.push(i.jsx("p",{className:"pc-md_p",children:C.map(($,E)=>i.jsxs(ht.Fragment,{children:[ns($,y),E<C.length-1?i.jsx("br",{}):null]},`pl:${v}:${E}`))},`p:${v}`))}const x=["pc-md",t].filter(Boolean).join(" ");return i.jsx("div",{className:x,children:h})}function pm(e){const t=String(e.text??""),s=w.useMemo(()=>im(t),[t]),a=["pc-chat-content",e.className].filter(Boolean).join(" ");return s!==null?i.jsx("div",{className:a,children:i.jsx(Rs,{value:s,collapseAfterDepth:e.jsonCollapseAfterDepth})}):e.renderMarkdown?i.jsx("div",{className:a,children:e.renderMarkdown(t)}):i.jsx("div",{className:a,children:i.jsx(hm,{text:t,images:e.images,inlineImage:e.inlineImage})})}function mm(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function gm(e){const t=mm(e);if(!t||typeof t!="object"||Array.isArray(t))return{label:"input",value:t==null?"":String(t)};const s=Object.entries(t),l=["command","query","url","file_path","path","pattern","name"].map(c=>s.find(([d])=>d===c)).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 ym({tool:e,showCopy:t=!0}){const[s,a]=w.useState(!1),l=mm(e.arguments),c=gm(e.arguments),d=["file path","path"].includes(c.label)&&c.value.length>60?`${c.value.split(/[\\/]/).pop()} · ${c.value.slice(0,24)}…`:c.value,h=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(ae,{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:c.value,children:c.value?i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"pc-tool-activity__key",children:c.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(ae,{name:"chevronRight",size:13})}),e.error?i.jsx("span",{className:"pc-tool-activity__error",title:e.error,children:h}):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"}),t?i.jsxs("button",{type:"button",onClick:async()=>a(await Vu(JSON.stringify(e,null,2))),children:[i.jsx(ae,{name:"copy",size:13}),s?"Copied":"Copy details"]}):null]}),y?i.jsx("dl",{className:"pc-tool-activity__parameters",children:y.map(([v,x])=>i.jsxs(ht.Fragment,{children:[i.jsx("dt",{children:v}),i.jsx("dd",{children:x&&typeof x=="object"?i.jsx(Rs,{value:x}):i.jsx("code",{children:typeof x=="string"?x:JSON.stringify(x)})})]},v))}):e.arguments===void 0?i.jsx("p",{children:"Arguments are unavailable in this ledger."}):i.jsx(Rs,{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(Rs,{value:e.output})})]}):null]})]})}function wm({tools:e,showCopy:t}){const s=a=>e.filter(l=>l.status===a).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(ae,{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(a=>i.jsx(ym,{tool:a,showCopy:t},a.id))]})}const It="not reported",Jt=e=>e===void 0?It:Math.round(e).toLocaleString(),an=e=>{if(e===void 0)return It;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.round(e/1e3);return`${Math.floor(t/60)}m ${String(t%60).padStart(2,"0")}s`},vm=e=>e===void 0?It:`${Math.round(e).toLocaleString()} tok/s`,O_=(e,t)=>t>0?`${Math.round(e/t*100)}%`:"",Ms=(e,t,s=`${t}s`)=>`${e.toLocaleString()} ${e===1?t:s}`,D_=e=>{const t=e.split("#")[0].replace(/\/+$/,"");return t.slice(t.lastIndexOf("/")+1)||e};function F_(e){const t=new Map;for(const s of e)s&&t.set(s,(t.get(s)||0)+1);return[...t].map(([s,a])=>a>1?`${s} ×${a}`:s).join(" · ")}function fl(e){const t=[],s=(e.models||[]).map(D_),a=e.providers||[];return(s.length||a.length)&&t.push([s.join(", ")||"model not reported",a.join(", ")].filter(Boolean).join(" · ")),t.push("From the run ledger; summed across this turn and its child runs."),t}function z_(e){const t=e.modelCalls||[],s=[],a=[{label:"Input",value:Jt(e.inputTokens)},{label:"Output",value:Jt(e.outputTokens)}];if(e.reasoningTokens!==void 0&&a.push({label:"Reasoning",value:Jt(e.reasoningTokens),hint:"part of output"}),a.push({label:"Total",value:Jt(e.totalTokens)}),s.push({heading:`Usage · ${Ms(e.llmCalls,"model call")}`,rows:a}),e.measuredCacheCalls){const c=e.cachedTokens||0,d=e.fedTokens||0,h=[{label:"Reused from cache",value:`${Jt(c)}${c+d?` (${O_(c,c+d)})`:""}`},{label:"Newly processed",value:Jt(e.fedTokens)},{label:"Outcome",value:F_(t.map(f=>f.cacheOutcome))||(e.cacheOutcomes||[]).join(" · ")||It},{label:"Backend",value:(e.cacheBackends||[]).join(", ")||It}];e.measuredCacheCalls!==e.llmCalls&&h.push({label:"Measured on",value:`${e.measuredCacheCalls} of ${e.llmCalls} calls`}),s.push({heading:"Prompt cache",rows:h})}else e.llmCalls&&s.push({heading:"Prompt cache",rows:[{label:"Cache reuse",value:It}]});const l=t.filter(c=>c.inputTokens!==void 0);return l.length===1&&t.length===1?s.push({heading:"Context",rows:[{label:"Prompt size",value:`${Jt(l[0].inputTokens)} tokens`}]}):l.length>1&&s.push({heading:"Context",rows:[{label:"First → last call",value:`${Jt(l[0].inputTokens)} → ${Jt(l[l.length-1].inputTokens)} tokens`}],note:"Each call re-sends the conversation, so the input total counts the context once per call."}),t.length>1&&s.push({heading:"Per call",table:{columns:["#","Input","Cached","New","Output","Cache"],rows:t.map((c,d)=>[String(d+1),Jt(c.inputTokens),c.cachedTokens===void 0?"—":Jt(c.cachedTokens),c.fedTokens===void 0?"—":Jt(c.fedTokens),Jt(c.outputTokens),c.cacheOutcome||"—"])}}),{kind:"tokens",title:"Tokens",headline:e.totalTokens===void 0?It:`${e.totalTokens.toLocaleString()} total`,sections:s,footer:fl(e)}}function el(e,t,s,a){if(e===void 0)return It;const l=[an(e)];return t!==void 0&&l.push(`${t.toLocaleString()} ${a}${s!==void 0?` at ${vm(s)}`:""}`),l.join(" · ")}function W_(e){var g,y,v;const t=e.modelCalls||[],s=[],a=e.durationMs,l=[{label:"Wall clock",value:an(a)}];if(l.push({label:"Model",value:e.genTimeMs===void 0?It:`${an(e.genTimeMs)} · ${Ms(e.timedCalls||0,"call")}${e.timedCalls!==e.llmCalls?` (of ${e.llmCalls})`:""}`}),l.push({label:"Tools",value:e.toolTimeMs!==void 0?`${an(e.toolTimeMs)} · ${Ms(e.toolBatches||0,"batch","batches")}`:e.toolCalls?It:"none",hint:e.toolTimeIncludesApproval?"includes approval wait":void 0}),a!==void 0&&e.genTimeMs!==void 0){const x=a-e.genTimeMs-(e.toolTimeMs||0);l.push({label:"Orchestration",value:x>=0?an(x):"overlaps (parallel runs)",hint:"wall − model − tools: routing, hand-offs, model load"})}s.push({heading:"Turn",rows:l});const c=[],d=e.ttftCalls||0,h=e.promptPhaseCalls||0;e.promptPhaseMs!==void 0?c.push({label:d&&d===h?"Prefill (TTFT)":"Prefill",value:el(e.promptPhaseMs,e.promptPhaseNewTokens,e.promptPhaseTokensPerSecond,"new tok"),hint:d===h?"measured time to first token":d?`TTFT measured on ${d} of ${h}; rest from provider rate`:"derived: prompt ÷ provider rate"}):e.prefillMs!==void 0&&e.prefillNewTokensPerSecond!==void 0?c.push({label:"Prefill",value:el(e.prefillMs,e.prefillNewTokens,e.prefillNewTokensPerSecond,"new tok"),hint:"derived: prompt ÷ provider rate"}):e.prefillMs!==void 0?c.push({label:"Prefill",value:`${an(e.prefillMs)}${e.promptTokensPerSecond!==void 0?` at ${vm(e.promptTokensPerSecond)}`:""}`,hint:"provider rate over all prompt tokens, restored included"}):c.push({label:"Prefill",value:It}),e.cachedTokens&&(e.promptPhaseMs??e.prefillMs)!==void 0&&c.push({label:"Restored",value:`${e.cachedTokens.toLocaleString()} tok from cache`,hint:"not recomputed"}),c.push({label:"Generation",value:e.generationPhaseMs!==void 0?el(e.generationPhaseMs,e.generationPhaseTokens,e.generationPhaseTokensPerSecond,"tok"):el(e.decodeMs,e.outputTokens,e.generationTokensPerSecond,"tok")}),e.measuredSpeedCalls&&e.measuredSpeedCalls!==e.llmCalls&&c.push({label:"Speeds from",value:`${e.measuredSpeedCalls} of ${e.llmCalls} calls`}),s.push({heading:"Model",rows:c});const f=e.speculation;if(f){const x=(f.draftKinds||[]).map(k=>k.toUpperCase()).join(", "),b=[{label:"Mode",value:`${f.used?"on":"off"}${x?` · ${x}`:""}${(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?It:`${Math.round(f.acceptanceRate*100)}% · ${Jt(f.acceptedTokens)} of ${Jt(f.draftedTokens)} drafted`}];((y=f.draftLengths)!=null&&y.length||f.rounds!==void 0)&&b.push({label:"Draft length",value:`${(v=f.draftLengths)!=null&&v.length?`${f.draftLengths.join("/")} tok/round`:It}${f.rounds!==void 0?` · ${f.rounds.toLocaleString()} rounds`:""}`}),s.push({heading:"Speculation",rows:b})}return e.slowestToolBatch&&s.push({heading:"Tools",rows:[{label:"Total",value:`${an(e.toolTimeMs)} · ${Ms(e.toolBatches||0,"batch","batches")}`},{label:"Slowest",value:`${an(e.slowestToolBatch.ms)} · ${_m(e.slowestToolBatch)}`}],note:e.toolTimeIncludesApproval?"Gated calls are timed from request to result, so this includes waiting for your approval.":void 0}),t.length>1&&s.push({heading:"Per call",table:{columns:["#","Prefill","New tok/s","Gen","Gen tok/s","Cache"],rows:t.map((x,b)=>[String(b+1),x.promptMs===void 0?"—":`${an(x.promptMs)}${x.promptSource==="rate"?"*":""}`,x.promptNewTokensPerSecond===void 0?"—":Math.round(x.promptNewTokensPerSecond).toLocaleString(),x.generationMs===void 0?"—":an(x.generationMs),x.generationTokensPerSecond===void 0?"—":Math.round(x.generationTokensPerSecond).toLocaleString(),x.cacheOutcome||"—"])},note:t.some(x=>x.promptSource==="rate")?"* derived from the provider's prompt rate (no TTFT event).":void 0}),{kind:"time",title:"Time",headline:a===void 0?It:`${an(a)} wall clock`,sections:s,footer:fl(e)}}function _m(e){return e.tools.length===1?`${e.tools[0]} ×${e.calls}`:`${Ms(e.calls,"call")} (${e.tools.join(", ")})`}function U_(e){const t=[],s=(e.toolsWaiting||0)+(e.toolsRunning||0);if(!e.toolCalls&&!s)return t.push({heading:"Outcome",rows:[{label:"Tools called",value:"none"}]}),{kind:"tools",title:"Tools",headline:"none",sections:t,footer:fl(e)};const a=[{label:"Succeeded",value:(e.toolCalls-(e.toolsFailed||0)).toLocaleString()},{label:"Failed",value:(e.toolsFailed||0).toLocaleString()}];e.toolsRunning&&a.push({label:"Running",value:e.toolsRunning.toLocaleString()}),e.toolsWaiting&&a.push({label:"Awaiting approval",value:e.toolsWaiting.toLocaleString(),hint:"not run yet — not a failure"}),t.push({heading:"Outcome",rows:a});const l=Object.entries(e.toolBreakdown||{}).sort((h,f)=>f[1].calls-h[1].calls||h[0].localeCompare(f[0]));l.length&&t.push({heading:"By tool",table:{columns:["Tool","Calls","Failed","Time"],rows:l.map(([h,f])=>[h,f.calls.toLocaleString(),f.failed.toLocaleString(),f.ms!==void 0?`${an(f.ms)}${f.sharedBatches?" +shared":""}`:f.sharedBatches?"shared":It])},note:l.some(([,h])=>h.sharedBatches)?"A batch that mixed tools ran them together; its time is not split between them.":void 0});const c=l.filter(([,h])=>h.errors&&Object.keys(h.errors).length);c.length&&t.push({heading:"Failures",rows:c.map(([h,f])=>({label:h,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?It:`${an(e.toolTimeMs)} · ${Ms(e.toolBatches||0,"batch","batches")}`}];return e.slowestToolBatch&&d.push({label:"Slowest batch",value:`${an(e.slowestToolBatch.ms)} · ${_m(e.slowestToolBatch)}`}),t.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:`${Ms(e.toolCalls,"call")}${e.toolsFailed?` · ${e.toolsFailed} failed`:""}`,sections:t,footer:fl(e)}}function ru(e,t){return e==="tokens"?z_(t):e==="time"?W_(t):U_(t)}function B_(e){const t=e.detail;return i.jsxs("div",{ref:e.panelRef,id:e.id,role:"tooltip",className:`pc-stat-detail pc-stat-detail--${t.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:t.title}),i.jsx("span",{className:"pc-stat-detail-headline",children:t.headline})]}),t.sections.map(s=>{var a;return i.jsxs("div",{className:"pc-stat-detail-section",children:[i.jsx("div",{className:"pc-stat-detail-heading",children:s.heading}),(a=s.rows)!=null&&a.length?i.jsx("dl",{className:"pc-stat-detail-rows",children:s.rows.map(l=>i.jsxs(ht.Fragment,{children:[i.jsx("dt",{children:l.label}),i.jsxs("dd",{children:[i.jsx("span",{className:l.value===It?"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,c)=>i.jsx("tr",{children:l.map((d,h)=>i.jsx("td",{children:d},h))},c))})]}):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:t.footer.map(s=>i.jsx("div",{children:s},s))})]})}const xr=8;function V_(e){const[t,s]=w.useState(!!e.defaultOpen),[a,l]=w.useState(null),c=w.useRef(null),d=w.useRef(null),h=w.useRef(null),f=`pc-stat-${w.useId().replace(/[^a-zA-Z0-9_-]/g,"")}`,g=w.useCallback(()=>{h.current!==null&&window.clearTimeout(h.current),h.current=null},[]),y=w.useCallback(()=>{g(),s(!0)},[g]),v=w.useCallback(()=>{g(),h.current=window.setTimeout(()=>s(!1),120)},[g]);w.useEffect(()=>g,[g]),w.useLayoutEffect(()=>{if(!t){l(null);return}const S=()=>{const j=c.current,C=d.current;if(!j||!C)return;const $=j.getBoundingClientRect(),E=C.offsetWidth,A=C.offsetHeight,z=window.innerWidth,F=window.innerHeight,P=$.top-xr-A,M=$.bottom+xr,U=P>=xr?P:M+A<=F-xr?M:Math.max(xr,F-xr-A),Y=Math.min(Math.max(xr,$.left),Math.max(xr,z-xr-E));l({top:U,left:Y})};return S(),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0),()=>{window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0)}},[t]),w.useEffect(()=>{if(!t)return;const S=j=>{j.key==="Escape"&&s(!1)};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[t]);const x=typeof e.onClick=="function",b=x?"button":"span",k=t?i.jsx(B_,{detail:e.detail,id:f,panelRef:d,onMouseEnter:g,onMouseLeave:v,style:{position:"fixed",top:(a==null?void 0:a.top)??0,left:(a==null?void 0:a.left)??0,visibility:a?"visible":"hidden"}}):null;return i.jsxs(i.Fragment,{children:[i.jsxs(b,{ref:c,...x?{type:"button"}:{tabIndex:0},className:["pc-chat-stat","pc-chat-stat--detail",x?"pc-chat-stat--clickable":"",e.className].filter(Boolean).join(" "),"aria-label":`${e.label} — ${e.detail.title.toLowerCase()} details`,"aria-describedby":t?f:void 0,"data-stat-kind":e.detail.kind,onMouseEnter:y,onMouseLeave:v,onFocus:y,onBlur:()=>s(!1),onKeyDown:S=>{S.key==="Escape"&&s(!1)},onClick:x?()=>{var S;return(S=e.onClick)==null?void 0:S.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})]}),k&&typeof document<"u"?Ru.createPortal(k,document.body):k]})}function G_(e){const t=e.totalTokens!==void 0?ru("tokens",e):null,s=ru("tools",e),a=e.durationMs!==void 0?ru("time",e):null;return[...t?[{label:`${e.totalTokens.toLocaleString()} tokens`,detail:t}]:[],{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(`
|
|
66
|
+
`)}]:[],...a?[{label:`${(e.durationMs/1e3).toFixed(e.durationMs<1e4?1:0)}s`,detail:a}]:[]]}function H_(e){const t=String(e.role||"").trim().toLowerCase()||"system",s=String(e.kind||"").trim().toLowerCase(),a=String(e.level||"").trim().toLowerCase();return t==="system"&&s==="report_bug"?{label:String(e.title||"").trim()||"Bug report",icon:"warning",variant:"report_bug"}:t==="system"&&s==="report_feature"?{label:String(e.title||"").trim()||"Feature request",icon:"check",variant:"report_feature"}:t==="user"?{label:String(e.title||"").trim()||"You",icon:"user",variant:"user"}:t==="assistant"?{label:String(e.title||"").trim()||"Agent",icon:"bot",variant:"assistant"}:{label:String(e.title||"").trim()||(a==="error"?"Error":a==="warn"?"Warning":"System"),icon:a==="error"?"error":a==="warn"?"warning":"info",variant:a==="error"?"error":a==="warn"?"warn":"status"}}const K_=new Set(["blob:","data:","http:","https:"]);function Wh(e){const t=String(e||"").trim();if(t)try{const s=typeof window<"u"&&window.location?window.location.href:"http://same-origin.invalid/";return K_.has(new URL(t,s).protocol)?t:void 0}catch{return}}function J_({item:e}){const[t,s]=w.useState(!1),a=Wh(e.src),l=e.href?Wh(e.href):void 0,c=e.kind==="image"||e.kind==="audio"||e.kind==="video"?e.kind:null;if(!c||!a&&!l)return null;const d=c==="image"?"Image":c==="video"?"Video":"Audio",h=String(e.label||"").trim()||`Generated ${d.toLowerCase()}`,f=()=>s(!0);return i.jsxs("figure",{className:`pc-chat-media__item pc-chat-media__item--${c}`,children:[a&&c==="image"?i.jsx("img",{className:"pc-chat-media__image",src:a,alt:h,loading:"lazy",onError:f}):null,a&&c==="video"?i.jsx("video",{className:"pc-chat-media__video",src:a,controls:!0,playsInline:!0,preload:"metadata","aria-label":h,onError:f}):null,a&&c==="audio"?i.jsx("audio",{className:"pc-chat-media__audio",src:a,controls:!0,preload:"metadata","aria-label":h,onError:f}):null,t?i.jsxs("div",{className:"pc-chat-media__error",role:"note",children:[d," could not be decoded by this browser",l?"; open the raw file with the link.":"."]}):null,l?i.jsx("figcaption",{className:"pc-chat-media__caption",children:i.jsx("a",{className:"pc-chat-media__link",href:l,target:"_blank",rel:"noopener noreferrer",children:h})}):null]})}function xm(e){var z;const t=e.message,s=w.useMemo(()=>H_(t),[t.kind,t.level,t.role,t.title]),a=String(t.ts||"").trim(),l=w.useMemo(()=>{if(!a)return"";const F=new Date(a);return Number.isFinite(F.getTime())?F.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):""},[a]),[c,d]=w.useState("idle"),h=w.useRef(null);w.useEffect(()=>()=>{h.current!==null&&window.clearTimeout(h.current)},[]);const f=t.live,g=!f&&typeof e.onSpeakToggle=="function"&&s.variant==="assistant"&&!!String(t.content||"").trim(),y=g&&((z=e.getSpeakState)==null?void 0:z.call(e,t))||"idle",v=y==="loading"?"loader":y==="playing"?"pause":"speaker",x=y==="loading"?"Generating audio…":y==="playing"?"Pause":y==="paused"?"Resume":"Speak (TTS)",b=e.showCopy!==!1,k=Array.isArray(e.attachments)?e.attachments:[],S=t.statistics,j=t.stats,C=w.useMemo(()=>Array.isArray(e.stats)?e.stats:Array.isArray(j)?j:S?G_(S):[],[e.stats,j,S]),$=Array.isArray(t.media)?t.media:[],E=String(f?f.reasoning||"":t.reasoning||""),A=!!String(t.content||"").trim();return t.toolActivity?i.jsx(ym,{tool:t.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(ae,{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:f.label?`Pending: ${f.label}`:"The reply is still being written",children:[i.jsx("span",{className:"pc-chat-live-dot","aria-hidden":"true"}),f.label||"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":x,title:x,onClick:()=>{var F;return(F=e.onSpeakToggle)==null?void 0:F.call(e,t)},children:i.jsx(ae,{name:v,size:22})}):null,b?i.jsx("button",{className:`pc-chat-icon-btn ${c!=="idle"?`pc-chat-icon-btn--${c}`:""}`.trim(),type:"button","aria-label":"Copy message",title:c==="idle"?"Copy":c==="copied"?"Copied":"Copy failed",onClick:async()=>{const F=await Vu(String(t.content||""));d(F?"copied":"failed"),h.current!==null&&window.clearTimeout(h.current),h.current=window.setTimeout(()=>d("idle"),900)},children:i.jsx(ae,{name:"copy",size:22})}):null]})]}),E.trim()?i.jsxs("details",{className:"pc-chat-thinking",children:[i.jsx("summary",{children:"Thinking"}),i.jsx("div",{className:"pc-chat-thinking-body",children:E})]}):null,A||!f&&!$.length?i.jsx("div",{className:"pc-chat-body",children:i.jsx(pm,{text:String(t.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-media",children:$.slice(0,24).map((F,P)=>i.jsx(J_,{item:F},F.id||`${F.kind}:${F.src}:${P}`))}):null,k.length?i.jsx("div",{className:"pc-chat-attachments","aria-label":"Attachments",children:k.slice(0,24).map((F,P)=>{const M=String(F.label||"").trim()||"attachment",U=String(F.target||"").trim(),Y=String(F.title||"").trim(),Q=!!F.disabled||typeof F.onClick!="function";return i.jsxs("button",{type:"button",className:"pc-chat-attachment-chip",title:Y||M,onClick:Q?void 0:F.onClick,disabled:Q,children:[i.jsx(ae,{name:"paperclip",size:14}),U?i.jsx("span",{className:`pc-chat-attachment-target pc-chat-attachment-target--${U}`,children:U}):null,i.jsx("span",{className:"pc-chat-attachment-name",children:M})]},F.id||`${M}:${P}`)})}):null,C.length?i.jsx("div",{className:"pc-chat-stats","aria-label":"Stats",children:C.slice(0,12).map((F,P)=>{const M=String(F.label||"").trim();if(!M)return null;if(F.detail)return i.jsx(V_,{label:M,detail:F.detail,icon:F.icon,onClick:F.onClick},F.id||`${M}:${P}`);const U=String(F.title||"").trim(),Y=typeof F.onClick=="function",Q=Y?"button":"span";return i.jsxs(Q,{...Y?{type:"button"}:{},className:["pc-chat-stat",Y?"pc-chat-stat--clickable":""].filter(Boolean).join(" "),title:U||void 0,onClick:Y?()=>{var W;return(W=F.onClick)==null?void 0:W.call(F)}:void 0,children:[F.icon?i.jsx("span",{className:"pc-chat-stat-icon","aria-hidden":"true",children:F.icon}):null,i.jsx("span",{className:"pc-chat-stat-label",children:M})]},F.id||`${M}:${P}`)})}):null]})}function Q_(e,t){const s=Math.max(0,Math.trunc(t));return e.scrollHeight-e.scrollTop-e.clientHeight<=s}function Y_(e){const t=typeof e.autoScrollThresholdPx=="number"&&Number.isFinite(e.autoScrollThresholdPx)?e.autoScrollThresholdPx:120,s=e.autoScroll!==!1,a=w.useRef(null),l=w.useRef(null),[c,d]=w.useState(!0),h=w.useMemo(()=>Array.isArray(e.messages)?e.messages:[],[e.messages]),f=w.useMemo(()=>{var v;const y=[];for(const x of h){const b=y[y.length-1];x.toolActivity&&((v=b==null?void 0:b[0])!=null&&v.toolActivity)&&b[0].runId===x.runId?b.push(x):y.push([x])}return y},[h]);w.useEffect(()=>{if(!s)return;const y=a.current;if(!y)return;const v=()=>{d(Q_(y,t))};return y.addEventListener("scroll",v,{passive:!0}),v(),()=>y.removeEventListener("scroll",v)},[s,t]);const g=w.useMemo(()=>{let y=0;for(const v of h)if(y+=String(v.content??"").length,Array.isArray(v.media))for(const x of v.media)y+=String((x==null?void 0:x.src)??"").length+1;return`${h.length}:${y}:${String(e.afterKey??"")}`},[h,e.afterKey]);return w.useEffect(()=>{if(!s||!c)return;const y=a.current;y&&(y.scrollTop=y.scrollHeight)},[s,c,g]),w.useEffect(()=>{if(!s)return;const y=a.current;if(!y)return;const v=()=>{c&&(y.scrollTop=y.scrollHeight)};return y.addEventListener("load",v,!0),y.addEventListener("loadedmetadata",v,!0),()=>{y.removeEventListener("load",v,!0),y.removeEventListener("loadedmetadata",v,!0)}},[s,c]),i.jsxs("div",{ref:a,className:["pc-chat-thread",e.className].filter(Boolean).join(" "),children:[h.length?null:e.empty||null,f.map((y,v)=>{var k;const x=y[0],b=String(x.id||"")||String(x.ts||"")+":"+String(x.role||"")+":"+v;return x.toolActivity?i.jsx(wm,{tools:y.map(S=>S.toolActivity),showCopy:(k=e.messageProps)==null?void 0:k.showCopy},b):i.jsx(xm,{message:x,...e.messageProps||{}},b)}),e.after,i.jsx("div",{ref:l})]})}const X_=ht.forwardRef(function(t,s){const a=typeof t.rows=="number"&&Number.isFinite(t.rows)?Math.max(1,Math.trunc(t.rows)):3,l=!!t.disabled,c=!!t.busy,d=!l&&!c&&!!String(t.value||"").trim();return i.jsxs("div",{className:["pc-composer",t.className].filter(Boolean).join(" "),children:[t.leading,i.jsx("textarea",{ref:s,className:["pc-composer__textarea",t.textareaClassName].filter(Boolean).join(" "),value:t.value,onChange:h=>t.onChange(h.target.value),rows:a,style:{"--pc-composer-rows":String(a)},spellCheck:!1,autoCorrect:"off",autoCapitalize:"off",autoComplete:"off",placeholder:t.placeholder||"","aria-label":t.ariaLabel||t.placeholder||"Message",disabled:l,autoFocus:!!t.autoFocus,onPaste:t.onPaste,onKeyDown:h=>{h.key!=="Enter"||h.shiftKey||h.nativeEvent.isComposing||h.keyCode===229||(h.preventDefault(),d&&t.onSubmit())}}),i.jsxs("div",{className:"pc-composer__row",children:[i.jsx("div",{className:"pc-composer__actions",children:t.actions}),i.jsx("button",{type:"button",className:t.sendButtonClassName||"pc-btn",disabled:!d,onClick:()=>t.onSubmit(),children:c?t.busyLabel||"Thinking…":t.sendLabel||"Send"})]}),t.overlay]})}),qe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},ol=e=>Array.isArray(e)?e.map(qe):[],Ge=e=>typeof e=="string"?e:"",$a=e=>Ge(e.runtime_call_id||e.call_uid),Aa=e=>Ge(e.call_id||e.id);function bm(e,t){const s=t.record,a=qe(s.effect);if(a.type!=="tool_calls")return[];const l=qe(s.result),c=ol(qe(a.payload).tool_calls),d=c.length||s.status!=="waiting"?c:ol(qe(qe(l.wait).details).tool_calls),h=ol(l.results),f=d.length?d:h,g=[];return f.forEach((y,v)=>{let x=$a(y)?h.filter(F=>$a(F)===$a(y)):[];!x.length&&Aa(y)&&d.filter(F=>Aa(F)===Aa(y)).length===1&&(x=h.filter(F=>Aa(F)===Aa(y)));const b=d.length?x.length===1?x[0]:d.length===h.length?h[v]:{}:y,k=$a(y)||$a(b)||`${Ge(s.idempotency_key)||Ge(s.step_id)||t.cursor}:${v}`,S=`${t.runId}:${k}`,j=e.get(S),C=Ge(y.name||b.name)||(j==null?void 0:j.name);if(!C)return;const $=s.status==="completed"||s.status==="failed",E=s.status==="failed"||b.success===!1||!!b.error,A=y.arguments??b.arguments??(j==null?void 0:j.arguments),z={...j,id:S,runId:t.runId,name:C,arguments:A,status:$?E?"failed":"completed":s.status==="waiting"?"waiting":"running",...typeof b.success=="boolean"?{success:b.success}:{},...b.output!==void 0||b.result!==void 0?{output:b.output??b.result}:{},...b.error?{error:String(b.error)}:{},startedAt:(j==null?void 0:j.startedAt)||Ge(s.started_at)||void 0,endedAt:$&&Ge(s.ended_at)||(j==null?void 0:j.endedAt)};j&&["completed","failed"].includes(j.status)&&!$||(e.set(S,z),g.push(z))}),g}function Ci(e){if(e==null||e===""||typeof e=="boolean")return;const t=Number(e);return Number.isFinite(t)&&t>=0?t:void 0}function tr(e,t){for(const s of t){const a=e==null?void 0:e[s];if(a==null||a===""||typeof a=="boolean")continue;const l=Number(a);if(Number.isFinite(l)&&l>=0)return Math.trunc(l)}}function km(e){if(typeof e=="string")try{return qe(JSON.parse(e))}catch{return{}}return qe(e)}function xi(e,t){if(t===void 0||t==="")return e;const s=e||[];return s.includes(t)||s.push(t),s}function Z_(e){return tr(e,["reasoning_tokens","thinking_tokens"])??tr(qe(e.completion_tokens_details),["reasoning_tokens"])??tr(qe(e.output_tokens_details),["reasoning_tokens"])}function q_(e){const t=qe(typeof e=="string"&&e.trim().startsWith("{")?km(e):e);return Ge(t.error_class)}function ex(e){const t=new Map;for(const s of e){const a=s.record;if(qe(a.effect).type!=="emit_event")continue;const l=qe(a.result);if(Ge(l.name)!=="abstract.progress")continue;const c=qe(l.payload);if(Ge(c.kind)!=="llm"||!Ge(c.step_id))continue;const d=`${Ge(c.run_id)||s.runId}:${Ge(c.step_id)}`,h=t.get(d)||{},f=Ci(c.ttft_s);f!==void 0&&(h.ttftS=f),h.provider=h.provider||Ge(c.provider)||void 0,h.model=h.model||Ge(c.model)||void 0,t.set(d,h)}return t}function ll(e){var S,j,C,$;const t=new Map,s=new Set,a=new Set,l={llmCalls:0,toolCalls:0,changedFiles:[]};let c=1/0,d=-1/0,h=!1,f=0,g=0,y=0;const v=ex(e),x=[],b=new Set;for(const E of e){const A=E.record,z=`${E.runId}:${A.step_id||E.cursor}:${A.status}`;if(s.has(z))continue;s.add(z);for(const le of[A.started_at,A.ended_at]){const Ce=Date.parse(Ge(le));Number.isFinite(Ce)&&(c=Math.min(c,Ce),d=Math.max(d,Ce))}for(const le of bm(t,E))le.status==="waiting"&&b.add(le.id);if(qe(A.effect).type!=="llm_call"||A.status!=="completed")continue;l.llmCalls+=1;const F=qe(A.result),P=qe(F.output),M=qe(F.usage||F.token_usage||F.tokens||P.usage||P.token_usage||P.tokens),U=tr(M,["input_tokens","prompt_tokens","prompt","input","in"]),Y=tr(M,["output_tokens","completion_tokens","completion","output","out"]),Q=tr(M,["total_tokens","total"])??(U!==void 0||Y!==void 0?(U||0)+(Y||0):void 0);Q!==void 0&&(U===void 0||Y===void 0||U+Y!==Q)&&(h=!0),U!==void 0&&(l.inputTokens=(l.inputTokens||0)+U),Y!==void 0&&(l.outputTokens=(l.outputTokens||0)+Y),Q!==void 0&&(l.totalTokens=(l.totalTokens||0)+Q);const W=Ci(F.gen_time??P.gen_time);W!==void 0&&(l.genTimeMs=(l.genTimeMs||0)+W,l.timedCalls=(l.timedCalls||0)+1);const J=qe(F.metadata||P.metadata),fe=qe(J.performance),ce=Ci(fe.prompt_tokens_per_second),we=Ci(fe.generation_tokens_per_second),ve=qe(J.prompt_cache),q=Ci(ve.cached_tokens),re=Ci(ve.fed_tokens);if(ce!==void 0||we!==void 0){if(l.measuredSpeedCalls=(l.measuredSpeedCalls||0)+1,ce!==void 0&&ce>0&&(l.promptTokensPerSecond=(l.promptTokensPerSecond||0)+ce,U!==void 0)){const le=U/ce*1e3;l.prefillMs=(l.prefillMs||0)+le,re!==void 0&&(f+=re,g+=le)}we!==void 0&&we>0&&(l.generationTokensPerSecond=(l.generationTokensPerSecond||0)+we,Y!==void 0&&(l.decodeMs=(l.decodeMs||0)+Y/we*1e3))}if(q!==void 0||re!==void 0){l.measuredCacheCalls=(l.measuredCacheCalls||0)+1,l.cachedTokens=(l.cachedTokens||0)+(q||0),l.fedTokens=(l.fedTokens||0)+(re||0);const le=Ge(ve.outcome);if(le){const Ce=l.cacheOutcomes||[];Ce.includes(le)||Ce.push(le),l.cacheOutcomes=Ce}}const ie=Ge(A.step_id)||void 0,R=ie&&v.get(`${E.runId}:${ie}`)||{},O=qe(F.route),D={runId:E.runId};ie&&(D.stepId=ie),Ge(A.started_at)&&(D.startedAt=Ge(A.started_at));const G=Ge(F.model||P.model)||Ge(O.model)||R.model,se=Ge(O.provider)||Ge(qe(J._provider_request).provider)||R.provider||Ge(F.provider);G&&(D.model=G),se&&(D.provider=se),G&&(l.models=xi(l.models,G)),se&&(l.providers=xi(l.providers,se)),(Q===void 0||U!==void 0&&Y!==void 0&&U+Y===Q)&&(U!==void 0&&(D.inputTokens=U),Y!==void 0&&(D.outputTokens=Y)),Q!==void 0&&(D.totalTokens=Q);const ue=Z_(M);ue!==void 0&&(D.reasoningTokens=ue,l.reasoningTokens=(l.reasoningTokens||0)+ue),q!==void 0&&(D.cachedTokens=q),re!==void 0&&(D.fedTokens=re),Ge(ve.outcome)&&(D.cacheOutcome=Ge(ve.outcome)),Ge(ve.backend)&&(D.cacheBackend=Ge(ve.backend),l.cacheBackends=xi(l.cacheBackends,D.cacheBackend)),W!==void 0&&(D.genTimeMs=W),ce!==void 0&&ce>0&&(D.promptTokensPerSecond=ce),we!==void 0&&we>0&&(D.generationTokensPerSecond=we),R.ttftS!==void 0?(D.ttftMs=R.ttftS*1e3,D.promptMs=D.ttftMs,D.promptSource="ttft",l.ttftMs=(l.ttftMs||0)+D.ttftMs,l.ttftCalls=(l.ttftCalls||0)+1):D.promptTokensPerSecond!==void 0&&U!==void 0&&(D.promptMs=U/D.promptTokensPerSecond*1e3,D.promptSource="rate"),D.promptMs!==void 0&&(l.promptPhaseMs=(l.promptPhaseMs||0)+D.promptMs,l.promptPhaseCalls=(l.promptPhaseCalls||0)+1,re!==void 0&&D.promptMs>0&&(D.promptNewTokensPerSecond=re/(D.promptMs/1e3),l.promptPhaseNewTokens=(l.promptPhaseNewTokens||0)+re,y+=D.promptMs)),D.ttftMs!==void 0&&W!==void 0&&W>=D.ttftMs?D.generationMs=W-D.ttftMs:D.generationTokensPerSecond!==void 0&&Y!==void 0&&(D.generationMs=Y/D.generationTokensPerSecond*1e3),D.generationMs!==void 0&&Y!==void 0&&(l.generationPhaseMs=(l.generationPhaseMs||0)+D.generationMs,l.generationPhaseTokens=(l.generationPhaseTokens||0)+Y);const he=qe(J.speculation);if(Object.keys(he).length){const le={};Ge(he.mode)&&(le.mode=Ge(he.mode)),typeof he.used=="boolean"&&(le.used=he.used),Ge(he.draft_kind)&&(le.draftKind=Ge(he.draft_kind));const Ce=tr(he,["accepted_tokens"]),Se=tr(he,["drafted_tokens"]),at=tr(he,["rounds"]),ee=tr(he,["num_draft_tokens"]);Ce!==void 0&&(le.acceptedTokens=Ce),Se!==void 0&&(le.draftedTokens=Se),Ce!==void 0&&Se&&(le.acceptanceRate=Ce/Se),at!==void 0&&(le.rounds=at),ee!==void 0&&(le.draftLength=ee),D.speculation=le;const K=l.speculation||(l.speculation={calls:0,used:0});K.calls+=1,le.used&&(K.used+=1),le.mode&&(K.modes=xi(K.modes,le.mode)),le.draftKind&&(K.draftKinds=xi(K.draftKinds,le.draftKind)),Ce!==void 0&&Se!==void 0&&(K.acceptedTokens=(K.acceptedTokens||0)+Ce,K.draftedTokens=(K.draftedTokens||0)+Se),at!==void 0&&(K.rounds=(K.rounds||0)+at),ee!==void 0&&(K.draftLengths=xi(K.draftLengths,ee))}x.push(D)}x.length&&(x.every(E=>E.startedAt)&&x.sort((E,A)=>Date.parse(E.startedAt)-Date.parse(A.startedAt)),l.modelCalls=x),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)),(S=l.speculation)!=null&&S.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 k=new Map;for(const E of t.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 A=E.status==="failed";A&&(l.toolsFailed=(l.toolsFailed||0)+1);const z=l.toolBreakdown||(l.toolBreakdown={}),F=z[E.name]||(z[E.name]={calls:0,failed:0});if(F.calls+=1,A){F.failed+=1;const Q=q_(E.output);Q&&((F.errors||(F.errors={}))[Q]=(((j=F.errors)==null?void 0:j[Q])||0)+1)}const P=Date.parse(Ge(E.startedAt)),M=Date.parse(Ge(E.endedAt));if(Number.isFinite(P)&&Number.isFinite(M)&&M>=P){const Q=`${E.runId}|${E.startedAt}|${E.endedAt}`,W=k.get(Q)||{ms:M-P,calls:0,names:new Map,waited:!1};W.calls+=1,W.names.set(E.name,(W.names.get(E.name)||0)+1),b.has(E.id)&&(W.waited=!0),k.set(Q,W)}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 U=km(E.arguments),Y=Ge(U.destination||U.destination_path||U.file_path||U.path||U.filename);Y&&a.add(Y)}for(const E of k.values()){l.toolBatches=(l.toolBatches||0)+1,l.toolTimeMs=(l.toolTimeMs||0)+E.ms,E.waited&&(l.toolTimeIncludesApproval=!0);const A=[...E.names.keys()].sort();(!l.slowestToolBatch||E.ms>l.slowestToolBatch.ms)&&(l.slowestToolBatch={ms:E.ms,calls:E.calls,tools:A});const z=(C=l.toolBreakdown)==null?void 0:C[A[0]];if(A.length===1&&z)z.ms=(z.ms||0)+E.ms;else for(const F of A){const P=($=l.toolBreakdown)==null?void 0:$[F];P&&(P.sharedBatches=(P.sharedBatches||0)+1)}}return l.changedFiles=[...a],h&&(delete l.inputTokens,delete l.outputTokens),Number.isFinite(c)&&Number.isFinite(d)&&(l.durationMs=Math.max(0,d-c)),{tools:[...t.values()],statistics:l}}function tx(e){const t=qe(qe(e).ledgers);return Object.entries(t).flatMap(([s,a])=>ol(qe(a).items).map((l,c)=>({runId:s,cursor:Number(l.cursor)||c+1,record:Object.keys(qe(l.record)).length?qe(l.record):l})))}const su=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function nx(e){var S,j,C,$;const{tools:t,statistics:s}=ll(e.records),a={toolCalls:s.toolCalls,totalTokens:s.totalTokens,startedAt:String(((S=e.run)==null?void 0:S.created_at)||"")||void 0},l=(E,A,z)=>({...a,label:E,detail:A,tone:z});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"||((C=e.run)==null?void 0:C.paused)===!0)return l("Paused","Resume when you’re ready","waiting");const c=su(($=e.interaction)==null?void 0:$.wait),d=su(c.details),h=d.kind==="tool_approval"||d.mode==="approval_required",f=h&&e.toolApprovalGranted===!0;if(h&&!f)return l("Approval needed","Review the tool requests below","waiting");if(!h&&["user","ask_user"].includes(c.reason))return l("Your answer is needed",String(c.prompt||"The workflow has a question for you"),"waiting");if(!h&&(c.reason==="event"||String(c.wait_key||"").startsWith("evt:")))return l("Waiting for an event",String(c.prompt||"Listening for the workflow’s trigger"),"waiting");const g=t.filter(E=>{var A;return E.status==="running"||f&&E.status==="waiting"&&E.runId===((A=e.interaction)==null?void 0:A.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 A=`${E.runId}:${E.record.step_id||E.record.idempotency_key||E.cursor}`,z=y.get(A);z&&["completed","failed"].includes(String(z.record.status))||y.set(A,E)}if([...y.values()].reverse().find(E=>su(E.record.effect).type==="llm_call"&&["started","running"].includes(String(E.record.status))))return l("Thinking","Generating the next response","working");const x=e.displayStatus.trim(),b=!/^(completed|complete|done|finished|ready|success|succeeded|failed|running|working|waiting|thinking|idle|paused|stopped|cancelled)$/i.test(x)&&!x.startsWith("{")?x:"",k=t[t.length-1];return l(e.status==="idle"?"Ready":"Working",b||(k?`Last tool: ${k.name} · ${k.status==="failed"?"failed":k.status==="completed"?"done":"waiting"}`:"Following the workflow"),e.status==="idle"?"neutral":"working")}function tl(e){if(!e)return!1;for(let t=0;t<e.length;t+=1)if(e[t]==="Files")return!0;return!1}function Uh(e){var a;const t=e==null?void 0:e.items;if(!t||!t.length)return null;let s=0;for(let l=0;l<t.length;l+=1)((a=t[l])==null?void 0:a.kind)==="file"&&(s+=1);return s>0?s:null}function Bh(e){return e===1?"Drop file to attach":typeof e=="number"&&e>1?`Drop ${e} files to attach`:"Drop files to attach"}function jm(e){const t=[],s=[],a=e==null?void 0:e.items;if(a&&a.length){for(let c=0;c<a.length;c+=1){const d=a[c];if(!d||d.kind!=="file")continue;const h=typeof d.webkitGetAsEntry=="function"?d.webkitGetAsEntry():null,f=typeof d.getAsFile=="function"?d.getAsFile():null;h!=null&&h.isDirectory?s.push(h.name||(f==null?void 0:f.name)||"folder"):f&&t.push(f)}return{files:t,folders:s}}const l=e==null?void 0:e.files;if(l)for(let c=0;c<l.length;c+=1)l[c]&&t.push(l[c]);return{files:t,folders:s}}function rx(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 sx={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/heic":"heic","image/tiff":"tiff","image/bmp":"bmp"};function Ta(e){return String(e).padStart(2,"0")}function ix(e,t,s){const a=String(e||"").trim();if(a&&!/^image\.(png|jpe?g|gif|webp|heic|tiff?|bmp)$/i.test(a))return a;const l=sx[String(t||"").toLowerCase()]||a.split(".").pop()||"bin",c=`${s.getFullYear()}-${Ta(s.getMonth()+1)}-${Ta(s.getDate())} at ${Ta(s.getHours())}.${Ta(s.getMinutes())}.${Ta(s.getSeconds())}`;return`${String(t||"").startsWith("image/")||!a?"Pasted image":"Pasted file"} ${c}.${l}`}function ax(e,t=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:a}=jm(e);return a.map(l=>{const c=ix(l.name,l.type,t);return c===l.name?l:new File([l],c,{type:l.type,lastModified:l.lastModified})})}class ox{constructor(t=1200){this.staleMs=t,this.depth=0,this.lastSeen=0}enter(t){this.depth+=1,this.lastSeen=t}over(t){this.depth===0&&(this.depth=1),this.lastSeen=t}leave(t){return this.depth=Math.max(0,this.depth-1),this.lastSeen=t,this.depth>0}reset(){this.depth=0}active(t){return this.depth>0&&t-this.lastSeen<this.staleMs}}function lx(e,t){if(e.kind==="ask-user"){if(t.kind==="choice"||t.kind==="free-text")return e.onSubmit(t.answer);throw new Error("Invalid submission for ask-user interaction")}if(e.kind==="tool-approval"){if(t.kind==="approve")return e.onApprove();if(t.kind==="deny")return e.onDeny();if(t.kind==="approve-all"&&e.onApproveAll)return e.onApproveAll();throw new Error("Invalid submission for tool-approval interaction")}if(t.kind==="event")return e.onSend(t.payload);throw new Error("Invalid submission for event-wait interaction")}function cx(e){return(e instanceof Error?e.message:String(e||"Unknown error")).trim()||"Unknown error"}function ux(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 dx(e){var P;const t=e.interaction,[s,a]=w.useState(""),[l,c]=w.useState(()=>t.kind==="event-wait"&&t.initialPayload||""),[d,h]=w.useState(null),[f,g]=w.useState(!1),[y,v]=w.useState(""),[x,b]=w.useState(null),k=`${t.kind}:${t.id}`,S=w.useRef(k),j=w.useRef(!1),C=w.useRef(!1),$=w.useRef(!0),E=w.useRef(0);S.current!==k&&(S.current=k,j.current=!1,C.current=!1,E.current+=1);const A=!!e.disabled||d!==null||f||j.current||C.current,z=async(M,U)=>{var W;if(e.disabled||j.current||C.current)return;const Y=k,Q=++E.current;j.current=!0,b(null),v(""),h(M);try{if(await U(),!$.current||S.current!==Y||E.current!==Q)return;C.current=!0,g(!0),v("Response sent. Waiting for the workflow to continue.")}catch(J){if(!$.current||S.current!==Y||E.current!==Q)return;b({submission:M,message:cx(J)}),v("The action failed. You can try again."),(W=e.onError)==null||W.call(e,J)}finally{if(!$.current||S.current!==Y||E.current!==Q)return;j.current=!1,h(null)}};w.useEffect(()=>{a(""),c(t.kind==="event-wait"&&t.initialPayload||""),b(null),h(null),g(!1),v("")},[k]),w.useEffect(()=>($.current=!0,()=>{$.current=!1,E.current+=1,j.current=!1}),[]);const F=()=>{x&&z(x.submission,()=>lx(t,x.submission))};return i.jsxs("section",{className:"pc-workflow-interaction","aria-labelledby":`pc-workflow-interaction-${k}`,children:[i.jsxs("div",{className:"pc-workflow-interaction__heading",children:[i.jsx(ae,{name:t.kind==="tool-approval"?"warning":t.kind==="event-wait"?"history":"info",size:16}),i.jsxs("div",{children:[i.jsx("h3",{tabIndex:-1,id:`pc-workflow-interaction-${k}`,children:t.title||(t.kind==="tool-approval"?"Tool approval required":"Input required")}),t.description?i.jsx("div",{className:"pc-workflow-interaction__description",children:t.description}):null]})]}),t.kind==="ask-user"?i.jsxs("div",{className:"pc-workflow-interaction__body",children:[i.jsx("div",{className:"pc-workflow-interaction__prompt",children:t.prompt}),(P=t.choices)!=null&&P.length?i.jsx("div",{className:"pc-workflow-interaction__choices","aria-label":"Choices",children:t.choices.map(M=>i.jsxs("button",{type:"button",className:"pc-workflow-interaction__choice",disabled:A||M.disabled,onClick:()=>void z({kind:"choice",answer:M.id},()=>t.onSubmit(M.id)),children:[i.jsx("span",{children:M.label}),M.description?i.jsx("small",{children:M.description}):null]},M.id))}):null,t.allowFreeText!==!1?i.jsxs("div",{className:"pc-workflow-interaction__entry",children:[i.jsx("textarea",{"aria-label":"Response",value:s,onChange:M=>a(M.target.value),placeholder:t.freeTextPlaceholder||"Type a response",rows:2,disabled:A,onKeyDown:M=>{M.key!=="Enter"||M.shiftKey||M.nativeEvent.isComposing||M.keyCode===229||(M.preventDefault(),s.trim()&&z({kind:"free-text",answer:s},()=>t.onSubmit(s)))}},`${k}:text`),i.jsx("button",{type:"button",className:"pc-btn",disabled:A||!s.trim(),onClick:()=>void z({kind:"free-text",answer:s},()=>t.onSubmit(s)),children:(d==null?void 0:d.kind)==="free-text"?"Sending…":t.submitLabel||"Submit"})]}):null]}):t.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:t.toolName})," to run?"]}),t.detail?i.jsx("div",{className:"pc-workflow-interaction__detail",children:t.detail}):null,i.jsxs("div",{className:"pc-workflow-interaction__buttons",children:[i.jsx("button",{type:"button",className:"pc-workflow-interaction__deny",disabled:A,onClick:()=>void z({kind:"deny"},t.onDeny),children:(d==null?void 0:d.kind)==="deny"?"Denying…":t.denyLabel||"Deny"}),i.jsx("button",{type:"button",className:"pc-btn",disabled:A,onClick:()=>void z({kind:"approve"},t.onApprove),children:(d==null?void 0:d.kind)==="approve"?"Approving…":t.approveLabel||"Approve"}),t.onApproveAll?i.jsx("button",{type:"button",className:"pc-workflow-interaction__allow-all",disabled:A,onClick:()=>void z({kind:"approve-all"},t.onApproveAll),children:(d==null?void 0:d.kind)==="approve-all"?"Approving…":t.approveAllLabel||"Allow all"}):null]}),t.onApproveAll&&t.approveAllDescription?i.jsx("p",{className:"pc-workflow-interaction__scope",children:t.approveAllDescription}):null]}):i.jsxs("div",{className:"pc-workflow-interaction__body",children:[i.jsx("div",{className:"pc-workflow-interaction__prompt",children:t.prompt}),i.jsxs("label",{className:"pc-workflow-interaction__entry",children:[i.jsx("span",{children:t.payloadLabel||(t.eventName?`Payload for ${t.eventName}`:"Event payload")}),i.jsx("textarea",{value:l,onChange:M=>c(M.target.value),placeholder:t.payloadPlaceholder||"Enter payload",rows:2,"aria-label":t.payloadLabel||(t.eventName?`Payload for ${t.eventName}`:"Event payload"),disabled:A},`${k}:payload`)]}),i.jsx("div",{className:"pc-workflow-interaction__buttons",children:i.jsx("button",{type:"button",className:"pc-btn",disabled:A,onClick:()=>void z({kind:"event",payload:l},()=>t.onSend(l)),children:(d==null?void 0:d.kind)==="event"?"Sending…":t.sendLabel||"Send event"})})]}),x?i.jsx(ux,{message:x.message,onRetry:F,disabled:A}):null,i.jsx("div",{className:"pc-workflow-interaction__outcome","aria-live":"polite",children:y})]})}function nl(e){return(e instanceof Error?e.message:String(e||"Unknown error")).trim()||"Unknown error"}function fx(e){const[t,s]=w.useState(!1),[a,l]=w.useState(!1),[c,d]=w.useState(!1),[h,f]=w.useState(null),g=w.useRef(!0),y=w.useRef(!1),v=w.useRef(!1),x=w.useRef(!1),b=w.useRef(0),k=w.useRef(0),S=w.useRef(0);w.useEffect(()=>(g.current=!0,()=>{g.current=!1,b.current+=1,k.current+=1,S.current+=1,y.current=!1,v.current=!1,x.current=!1}),[]);const j=!!e.blockedNotice,C=!!e.disabled||j,$=!!e.busy||t,E=t||!!e.busy&&!e.sendWhileBusy,A=e.stopState||null,z=(A==null?void 0:A.phase)==="stopping",F=typeof e.onFiles=="function",P=w.useRef(null),[M,U]=w.useState(null),[Y,Q]=w.useState(""),W=w.useRef(e.onFiles);W.current=e.onFiles;const J=w.useRef(C);J.current=C;const fe=async(D,G)=>{const se=W.current;if(se){if(J.current){f({action:"attach",message:"attachments are unavailable right now."});return}if(G.length)f({action:"attach",message:rx(G)});else if(D.length)f(null);else{f({action:"attach",message:"the drop contained no files."});return}if(D.length){Q(`Attaching ${D.length} ${D.length===1?"file":"files"}…`);try{await se(D)}catch(ue){g.current&&f({action:"attach",message:nl(ue)})}}}},ce=w.useRef(fe);ce.current=fe,w.useEffect(()=>{if(!F||typeof window>"u")return;const D=new ox;let G=0;const se=K=>!!(P.current&&K instanceof Node&&P.current.contains(K)),ue=()=>{D.reset(),G&&window.clearInterval(G),G=0,U(null)},he=()=>{G||(G=window.setInterval(()=>{D.active(Date.now())||ue()},250))},le=K=>{var ge;if(!tl((ge=K.dataTransfer)==null?void 0:ge.types))return;D.enter(Date.now());const me=se(K.target),Re=Uh(K.dataTransfer);U(Ee=>Ee&&Ee.over===me&&Ee.count===(Re??Ee.count)?Ee:{count:Re??(Ee==null?void 0:Ee.count)??null,over:me}),he()},Ce=K=>{var Re;if(!tl((Re=K.dataTransfer)==null?void 0:Re.types))return;K.preventDefault(),D.over(Date.now());const me=se(K.target);K.dataTransfer&&(K.dataTransfer.dropEffect=me&&!J.current?"copy":"none"),U(ge=>ge&&ge.over===me?ge:{count:(ge==null?void 0:ge.count)??Uh(K.dataTransfer),over:me}),he()},Se=K=>{var me;tl((me=K.dataTransfer)==null?void 0:me.types)&&(D.leave(Date.now())||ue())},at=K=>{var We;if(!tl((We=K.dataTransfer)==null?void 0:We.types))return;const me=se(K.target),Re=K.defaultPrevented&&!me;if(K.preventDefault(),ue(),Re)return;if(!me){f({action:"attach",message:"drop files on the conversation to attach them."});return}const{files:ge,folders:Ee}=jm(K.dataTransfer);ce.current(ge,Ee)},ee=K=>{K.key==="Escape"&&D.depth>0&&ue()};return window.addEventListener("dragenter",le),window.addEventListener("dragover",Ce),window.addEventListener("dragleave",Se),window.addEventListener("drop",at),window.addEventListener("dragend",ue),window.addEventListener("blur",ue),window.addEventListener("keydown",ee),()=>{window.removeEventListener("dragenter",le),window.removeEventListener("dragover",Ce),window.removeEventListener("dragleave",Se),window.removeEventListener("drop",at),window.removeEventListener("dragend",ue),window.removeEventListener("blur",ue),window.removeEventListener("keydown",ee),G&&window.clearInterval(G)}},[F]);const we=D=>{if(!F||C)return;const G=ax(D.clipboardData);G.length&&(D.preventDefault(),fe(G,[]))},ve=M?i.jsxs("div",{className:["pc-workflow-chat__dropzone",M.over?"is-over":"",C?"is-disabled":""].filter(Boolean).join(" "),"aria-hidden":"true",children:[i.jsx("span",{className:"pc-workflow-chat__dropzone-icon",children:i.jsx(ae,{name:"paperclip",size:18})}),i.jsxs("span",{className:"pc-workflow-chat__dropzone-text",children:[i.jsx("strong",{children:C?"Attachments are unavailable right now":Bh(M.count)}),C?null:i.jsx("span",{children:M.over?"Release to upload to this conversation":"Drop anywhere on the conversation"})]})]}):null,q=M?C?"Attachments are unavailable right now":Bh(M.count):Y,re=async()=>{const D=String(e.draft||"");if(C||y.current||!e.sendWhileBusy&&e.busy||!D.trim())return;const G=++b.current;y.current=!0,f(null),s(!0);try{await e.onSend(D)}catch(se){g.current&&b.current===G&&f({action:"send",message:nl(se)})}finally{g.current&&b.current===G&&(y.current=!1,s(!1))}},ie=async()=>{if(C||v.current||!e.onCancel)return;const D=++k.current;v.current=!0,f(null),l(!0);try{await e.onCancel()}catch(G){g.current&&k.current===D&&f({action:"cancel",message:nl(G)})}finally{g.current&&k.current===D&&(v.current=!1,l(!1))}},R=async()=>{if(C||x.current||!e.onAttach)return;const D=++S.current;x.current=!0,f(null),d(!0);try{await e.onAttach()}catch(G){g.current&&S.current===D&&f({action:"attach",message:nl(G)})}finally{g.current&&S.current===D&&(x.current=!1,d(!1))}},O=()=>{h&&(h.action==="send"&&re(),h.action==="cancel"&&ie(),h.action==="attach"&&R())};return i.jsxs("section",{ref:P,className:["pc-workflow-chat",M?"pc-workflow-chat--dragging":"",M!=null&&M.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(Y_,{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(dx,{interaction:e.interaction,disabled:C}):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":""}`})}),h?i.jsxs("div",{className:"pc-workflow-chat__error",role:"alert",children:[i.jsxs("span",{children:["Could not ",h.action==="send"?"send this message":h.action==="attach"?"attach a file":"stop the run",": ",h.message]}),i.jsx("button",{type:"button",onClick:O,disabled:C,children:"Try again"})]}):null,i.jsxs("div",{className:"pc-workflow-chat__composer",children:[i.jsx(X_,{value:e.draft,onChange:e.onDraftChange,onSubmit:()=>void re(),placeholder:e.placeholder||"Send a message",ariaLabel:"Message",disabled:C,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:ve,onPaste:F?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:C||c,onClick:()=>void R(),children:[i.jsx(ae,{name:"paperclip",size:16}),i.jsx("span",{children:c?"Attaching…":"Attach"})]}):null,e.composerExtras,$&&e.onCancel?i.jsxs("button",{type:"button",className:"pc-workflow-chat__stop",disabled:C||a||z,onClick:()=>void ie(),children:[i.jsx(ae,{name:"x",size:14}),i.jsx("span",{children:a||z?"Stopping…":"Stop"})]}):A?i.jsx("span",{className:`pc-workflow-chat__stop-state pc-workflow-chat__stop-state--${A.phase}`,role:"status","aria-live":"polite",children:A.label}):null]})}),F?i.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:q}):null]}),e.footer?i.jsx("footer",{className:"pc-workflow-chat__footer",children:e.footer}):null]})}const Ma="llm.delta",Ei="llm.delta_end";function hx(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function $s(e){return typeof e=="string"&&e.trim()!==""}function px(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0}function mx(e){return"reason"in e}function Sm(e,t){const s=hx(e),a=s==null?void 0:s.kind,l=t||(typeof a=="string"&&a?a:s&&"reason"in s?Ei:Ma),c=f=>{throw new Error(`Malformed ${l} event from the gateway: ${f}`)};if(t!==void 0&&t!==Ma&&t!==Ei&&c(`unknown event name ${JSON.stringify(t)}`),!s)return c("the payload is not an object");a!==void 0&&a!==Ma&&a!==Ei&&c(`unknown kind ${JSON.stringify(a)}`),a!==void 0&&t!==void 0&&a!==t&&c(`kind ${JSON.stringify(a)} does not match the event name`),$s(s.run_id)||c("run_id is missing"),$s(s.call_id)||c("call_id is missing"),px(s.seq)||c("seq is not a non-negative integer");const d=t||a?(t||a)===Ei:"reason"in s;s.root_run_id!==void 0&&!$s(s.root_run_id)&&c("root_run_id is not a run id"),s.parent_run_id!==void 0&&s.parent_run_id!==null&&!$s(s.parent_run_id)&&c("parent_run_id is neither a run id nor null");const h={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))||c(`unknown reason ${JSON.stringify(s.reason)}`),s.detail!==void 0&&s.detail!==null&&typeof s.detail!="string"&&c("detail is not a string"),{kind:Ei,...h,reason:s.reason,...$s(s.detail)?{detail:s.detail}:{}}):(typeof s.text!="string"&&c("text is not a string"),s.channel!=="content"&&s.channel!=="reasoning"&&c(`unknown channel ${JSON.stringify(s.channel)}`),typeof s.snapshot!="boolean"&&c("snapshot is not a boolean"),{kind:Ma,...h,text:s.text,channel:s.channel,snapshot:s.snapshot})}function gx(e,t){if(e!==Ma&&e!==Ei)return null;let s=t;if(typeof t=="string")try{s=JSON.parse(t)}catch{throw new Error(`Malformed ${e} event from the gateway: data is not JSON`)}return Sm(s,e)}function yx(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 wx={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 vx(e){return`This reply is not streamed: ${e?wx[e]||`the gateway reported "${e}"`:"the gateway gave no reason"}. It appears when it is complete.`}function _x(e){return e.toolApprovalGranted?null:e.interaction}const Vh={messages:[],records:[],run:null,interaction:null,status:"idle",displayStatus:"",loading:!1,error:null,connection:"idle",toolApprovalGranted:!1,stop:null};function Me(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Te(e){return typeof e=="string"?e.trim():e==null?"":typeof e=="number"||typeof e=="boolean"?String(e):""}function La(e){return Array.isArray(e)?e:[]}function sn(e){return Te(e==null?void 0:e.status).toLowerCase()||"unknown"}function bt(e){return["completed","failed","cancelled"].includes(e.toLowerCase())}function es(e){const t=Me(e),s=Number((t==null?void 0:t.status)??(t==null?void 0:t.statusCode));return s===401||s===403}function xx(e){const t=Me(e);return Number((t==null?void 0:t.status)??(t==null?void 0:t.statusCode))}function iu(e){const t=s=>{if(Array.isArray(s))return s.map(t);const a=Me(s);if(!a)return s;const l={};for(const c of Object.keys(a).sort())l[c]=t(a[c]);return l};try{return JSON.stringify(t(e))}catch{return"[unserializable]"}}function Cu(e){if(typeof e=="string")return e.trim();const t=Me(e);if(!t)return"";for(const s of["answer","response","message","text","content","output"]){const a=t[s];if(typeof a=="string"&&a.trim())return a.trim()}return""}function bi(e){const t=Cu(e);if(t)return t;if(!Me(e)&&!Array.isArray(e))return"";try{return JSON.stringify(e,null,2)}catch{return""}}function Gh(e){if(!e)return"";for(const a of["prompt","request","task","message","query","input"]){const l=Te(e[a]);if(l)return l}const t=Me(e.context);for(const a of["task","message"]){const l=Te(t==null?void 0:t[a]);if(l)return l}const s=La(t==null?void 0:t.messages);for(let a=s.length-1;a>=0;a-=1){const l=Me(s[a]);if(Te(l==null?void 0:l.role).toLowerCase()!=="user")continue;const c=Te(l==null?void 0:l.content);if(c)return c}return""}function Nm(e){const t=Me(e.result);return Me(t==null?void 0:t.wait)}function au(e){return e?Te(e.reason)==="subworkflow"||Te(e.wait_key).startsWith("subworkflow:"):!1}function Hh(e,t){return!!(e&&e.runId===t.runId&&Te(e.wait.wait_key)===Te(t.wait.wait_key))}function Eu(e){return Me(e.effect)||{}}function bx(e,t){return Te(e.run_id)||t}function Kh(e){return Te(e.ended_at)||Te(e.started_at)||void 0}function Jh(e){const t=new Set,s=g=>{const y=Te(g);y&&t.add(y)},a=Me(e.result);s(a==null?void 0:a.sub_run_id),s(a==null?void 0:a.subRunId),s(a==null?void 0:a.child_run_id);const l=Eu(e),c=Me(l.payload);Te(l.type)==="start_subworkflow"&&(s(c==null?void 0:c.sub_run_id),s(c==null?void 0:c.subRunId),s(c==null?void 0:c.child_run_id));const d=Nm(e),h=Me(d==null?void 0:d.details);s(h==null?void 0:h.sub_run_id),s(h==null?void 0:h.subRunId),s(h==null?void 0:h.child_run_id);const f=Te(d==null?void 0:d.wait_key);return f.startsWith("subworkflow:")&&s(f.slice(12)),[...t]}class kx{constructor(t,s={}){this.transport=t,this.options=s,this.snapshot={...Vh},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 a=s.liveRenderIntervalMs??60;if(typeof a!="number"||!Number.isFinite(a)||a<0)throw new Error(`liveRenderIntervalMs must be a non-negative number of milliseconds, got ${JSON.stringify(s.liveRenderIntervalMs)}`);this.liveRenderIntervalMs=a}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}getSnapshot(){return this.snapshot}reset(){var t;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,(t=this.controller)==null||t.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({...Vh})}dispose(){this.reset(),this.subscribers.clear()}async load(t){const s=Te(t);if(this.reset(),!s)return;const a=++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[c,d]=await Promise.all([this.transport.getRun(s,l.signal),this.transport.getHistory(s,l.signal)]);if(!this.live(a))return;const h=Me(c),f=Me(h==null?void 0:h.waiting),g=sn(h);if(await this.ingestHistory(d,s,a),!this.live(a))return;if(this.set({...this.snapshot,run:h,status:g,loading:!1,...f&&!bt(g)?{interaction:this.interactionWith({runId:s,wait:f})}:{}}),h&&this.updateRunState(s,h),f)for(const y of Jh({result:{wait:f}}))y!==s&&this.catchUpAndWatch(y,a);await this.catchUpAndWatch(s,a),this.pollRootLifecycle(s,a)}catch(c){!l.signal.aborted&&this.live(a)&&this.fail(c)}}async sendCommand(t,s={}){var y,v;t==="cancel"&&(this.toolApprovalStopped=!0,this.revokeToolApproval(),this.stopRequested=!0,this.recomputeStop());const a=Te(s.wait_key),l=t==="resume"?a?this.interactionRunId()||this.rootRunId:this.rootRunId:t==="emit_event"?this.interactionRunId()||this.rootRunId:this.rootRunId;if(!l)throw new Error("No workflow run is loaded");const c=t==="resume"&&a&&((y=this.snapshot.interaction)==null?void 0:y.stepId)||"",d=`${l}\0${t}\0${c}\0${iu(s)}`;let h=this.commandIds.get(d);h||(h=this.newCommandId(),this.commandIds.set(d,h));const f=this.generation,g=(v=this.controller)==null?void 0:v.signal;try{const x=await this.transport.submitCommand({command_id:h,run_id:l,type:t,payload:s,...this.options.clientId?{client_id:this.options.clientId}:{}},g);if(!this.live(f))return x;const b=Me(x);if(b&&b.accepted===!1)throw t==="cancel"&&(this.stopRequested=!1,this.recomputeStop()),new Error(Te(b.detail)||"Gateway did not accept the command");return this.commandIds.delete(d),l===this.rootRunId&&["pause","resume","cancel"].includes(t)&&this.refreshRunState(l,f),x}catch(x){throw this.live(f)&&this.fail(x,!1),x}}resume(t){const s=this.requireInteraction();return this.sendCommand("resume",{wait_key:Te(s.wait.wait_key),payload:{response:t}})}approve(t,s){const a=this.requireInteraction();if(bt(this.snapshot.status))throw new Error("This run has already ended.");if(s&&(a.runId!==s.runId||Te(a.wait.wait_key)!==s.waitKey||s.stepId!==void 0&&a.stepId!==s.stepId))throw new Error("This approval request has changed. Review the current request before deciding.");if(t&&this.toolApprovalPolicy&&!this.toolCallsMatch(a,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:Te(a.wait.wait_key),payload:{approved:!!t}}).then(c=>{if(!this.live(l))return c;const d=this.occurrenceKey(a);return this.approvedWaits.add(d),t&&this.isToolApproval(a)&&!this.grantedToolWaits.has(d)&&(this.grantedToolWaits.add(d),this.set({...this.snapshot})),c})}async approveWithPolicyChange(t,s){const a=this.generation,l=this.approvalEpoch;if(!this.isToolApproval(this.requireInteraction()))throw new Error("This is not a tool approval request.");await this.approve(!0,t),!(!this.live(a)||l!==this.approvalEpoch||this.toolApprovalStopped||bt(this.snapshot.status))&&s()}async allowAllToolsForRun(t){const s=this.generation,a=this.approvalEpoch,l=this.requireInteraction();if(!this.isToolApproval(l))throw new Error("This is not a tool approval request.");await this.approve(!0,t),!(!this.live(s)||a!==this.approvalEpoch||bt(this.snapshot.status))&&(this.approvedWaits.add(`${t.runId}:${t.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(t){iu(t)!==iu(this.toolApprovalPolicy)&&(this.approvalEpoch+=1,this.toolApprovalSuspended=!1,this.toolApprovalPolicy=t?{enabledTools:[...t.enabledTools],autoApproveTools:[...t.autoApproveTools]}:null,this.set({...this.snapshot}))}occurrenceKey(t){return`${t.runId}:${Te(t.wait.wait_key)}${t.stepId?`:${t.stepId}`:""}`}interactionWith(t){const s=this.snapshot.interaction;return s&&au(t.wait)&&!au(s.wait)?s:s&&Hh(s,t)&&t.stepId===void 0&&s.stepId!==void 0?{...t,stepId:s.stepId}:t}adoptDurableWait(t,s){const a=Me(s.waiting);if(!a||sn(s)!=="waiting"||au(a)||bt(this.snapshot.status)||this.resolvedWaits.has(`${t}:${Te(a.wait_key)}`))return;const l=this.interactionWith({runId:t,wait:a}),c=this.snapshot.interaction;c&&Hh(c,l)&&c.stepId===l.stepId||this.set({...this.snapshot,interaction:l})}coveredByStandingPermission(t,s){var a;return t.loading||this.toolApprovalStopped||this.toolApprovalSuspended||!this.toolApprovalPolicy&&!t.autoApproveTools||bt(t.status)||((a=t.run)==null?void 0:a.paused)===!0||t.status==="paused"||!s||!this.isToolApproval(s)||this.toolApprovalPolicy&&(!this.toolCallsMatch(s,this.toolApprovalPolicy.enabledTools)||!this.toolCallsMatch(s,this.toolApprovalPolicy.autoApproveTools))?!1:!!Te(s.wait.wait_key)}present(t){const s=t.interaction,a=s?this.occurrenceKey(s):"",l=!!(s&&this.isToolApproval(s)&&(this.grantedToolWaits.has(a)||!this.approvedWaits.has(a)&&this.coveredByStandingPermission({...t,loading:!1},s)));if(!l&&!this.snapshot.toolApprovalGranted&&!t.toolApprovalGranted)return t.toolApprovalGranted===!1?t:{...t,toolApprovalGranted:!1};let c=!1;const d=t.messages.map(h=>{var y;const f=h.toolActivity;if(!f||((y=this.toolActivities.get(f.id))==null?void 0:y.status)!=="waiting")return h;const g=l&&f.runId===(s==null?void 0:s.runId)?"running":"waiting";return f.status===g?h:(c=!0,this.toolMessage({...f,status:g}))});return{...t,toolApprovalGranted:l,...c?{messages:d}:{}}}toolCallsMatch(t,s){var l;const a=La((l=Me(t.wait.details))==null?void 0:l.tool_calls);return a.length>0&&a.every(c=>{var h;const d=Te((h=Me(c))==null?void 0:h.name);return!!d&&s.includes(d)})}isToolApproval(t){const s=Me(t.wait.details);return(s==null?void 0:s.mode)==="approval_required"||(s==null?void 0:s.kind)==="tool_approval"}autoApproveCurrentWait(){const t=this.snapshot.interaction;if(!this.coveredByStandingPermission(this.snapshot,t))return;const s={runId:t.runId,waitKey:Te(t.wait.wait_key),stepId:t.stepId},a=this.occurrenceKey(t);if(this.approvedWaits.has(a))return;this.approvedWaits.add(a),this.grantedToolWaits.add(a);const l=this.generation,c=this.approvalEpoch;this.approve(!0,s).catch(d=>{if(this.live(l)){if(this.grantedToolWaits.delete(a),c!==this.approvalEpoch){this.set({...this.snapshot});return}this.toolApprovalSuspended=!0,this.set({...this.snapshot,autoApproveTools:!1}),this.fail(d,!1)}})}emitEvent(t){return this.sendCommand("emit_event",t)}cancel(){return this.sendCommand("cancel",{})}requireInteraction(){if(!this.snapshot.interaction)throw new Error("This workflow is not waiting for input");if(!Te(this.snapshot.interaction.wait.wait_key))throw new Error("The workflow wait has no wait_key");return this.snapshot.interaction}interactionRunId(){var t;return((t=this.snapshot.interaction)==null?void 0:t.runId)||""}live(t){var s;return t===this.generation&&!((s=this.controller)!=null&&s.signal.aborted)}set(t){this.snapshot=this.present(t);for(const s of this.subscribers)s();this.autoApproveCurrentWait()}async catchUpAndWatch(t,s){var a;if(!(!this.live(s)||this.watchedRuns.has(t))){this.watchedRuns.add(t);try{if(t!==this.rootRunId)try{const l=Me(await this.transport.getRun(t,(a=this.controller)==null?void 0:a.signal));if(!this.live(s))return;l&&this.updateRunState(t,l)}catch(l){if(!this.live(s))return;if(es(l))throw l;this.fail(l,!1)}if(await this.catchUp(t,s),!this.live(s)||bt(sn(this.runStates.get(t)||null)))return;this.childCatchUpAttempts.delete(t),this.watch(t,s)}catch(l){if(!this.live(s))return;if(this.watchedRuns.delete(t),t===this.rootRunId)throw l;if(es(l)){this.fail(l);return}const c=(this.childCatchUpAttempts.get(t)||0)+1;if(this.childCatchUpAttempts.set(t,c),this.fail(l,!1),c>=5)return;await this.waitForRetry(Math.min(2e3,150*2**(c-1))),this.live(s)&&this.catchUpAndWatch(t,s)}}}async catchUp(t,s){var a;for(let l=0;l<100&&this.live(s);l+=1){const c=this.cursors.get(t)||0,d=await this.transport.getLedger(t,c,(a=this.controller)==null?void 0:a.signal);if(!this.live(s))return;const h=Me(d),f=Array.isArray(d)?d:La(h==null?void 0:h.items);for(const y of f)this.ingestItem(t,y);const g=Number(h==null?void 0:h.next_after);if(!f.length||!Number.isFinite(g)||g<=c)break;this.cursors.set(t,g)}}async watch(t,s){try{await this.followStream(t,s)}finally{this.live(s)&&this.closeLiveRepliesVia(t)}}async followStream(t,s){var l;let a=0;for(;this.live(s)&&!bt(sn(this.runStates.get(t)||null));){const c=this.cursors.get(t)||0;this.set({...this.snapshot,connection:a?"reconnecting":"connecting"});try{let d=!1;const h=()=>{!this.live(s)||d||(d=!0,this.set({...this.snapshot,connection:"connected",error:null}))};if(this.dropLiveRepliesVia(t),await this.transport.streamLedger(t,c,g=>{this.live(s)&&(h(),this.ingestItem(t,g))},this.controller.signal,h,g=>{this.live(s)&&(h(),this.ingestDelta(t,g))}),!this.live(s)||(await this.catchUp(t,s),!this.live(s)))return;const f=Me(await this.transport.getRun(t,(l=this.controller)==null?void 0:l.signal));if(!this.live(s))return;f&&this.updateRunState(t,f),a+=1}catch(d){if(!this.live(s))return;if(a+=1,this.fail(d,!1),es(d)){this.set({...this.snapshot,connection:"disconnected"});return}}if(a>=5||!this.live(s))break;await this.waitForRetry(Math.min(2e3,150*2**(a-1)))}if(this.live(s)){if(bt(sn(this.runStates.get(t)||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(t,s,a){const l=Me(t);if(!l)return;const c=Me(l.session),d=La(c==null?void 0:c.turns).map(Me).filter(g=>!!g);if(await this.hydrateHistoricalSessionRuns(d,s,a),!this.live(a))return;for(const g of d){const y=Te(g==null?void 0:g.run_id)||s;this.ingestSessionTurn(g,s,y!==s&&this.historicalRuns.get(y)||null)}const h=`turn:${s}:user`;if(!this.seenMessages.has(h)){const g=Gh(Me(l.input_data));g&&this.addMessage({id:h,role:"user",content:g})}const f=Me(l.ledgers);if(f)for(const[g,y]of Object.entries(f)){const v=Me(y);for(const x of La(v==null?void 0:v.items))this.ingestItem(g,x)}}ingestSessionTurn(t,s,a){if(!t)return;const l=Te(t.run_id)||s,c=Me(t.input_data)||Me(t.input)||{},d=Te(t.prompt)||Gh(c);d&&this.addMessage({id:`turn:${l}:user`,role:"user",content:d,ts:Te(t.created_at)||void 0});const h=this.historicalRunFailures.get(l);if(h){const v=Te(t.answer)||Cu(t.output),x=h.missing?"is unavailable because the run no longer exists":"could not be restored",b=v?` Saved reply (not verified as the final result): ${v}`:"";this.addMessage({id:`history:${l}:unavailable`,role:"system",level:"warn",title:"History",content:`The final output for an earlier turn ${x}.${b}`});return}const g=(a&&bt(sn(a))?bi(a.output):"")||(a?Te(t.answer)||Cu(t.output):""),y=this.historicalEvidence.get(l);for(const v of(y==null?void 0:y.tools)||[])this.upsertTool(v);g&&this.addRunAssistantMessage(l,{id:`final:${l}`,role:"assistant",content:g,runId:l,statistics:y==null?void 0:y.statistics,ts:Te(t.updated_at)||void 0})}async hydrateHistoricalSessionRuns(t,s,a){const l=[...new Set(t.map(f=>Te(f.run_id)).filter(f=>f&&f!==s&&!this.historicalRuns.has(f)&&!this.historicalRunFailures.has(f)))];if(!l.length||!this.live(a))return;let c=0,d=!1;const h=async()=>{var f,g,y;for(;!d&&this.live(a);){const v=l[c++];if(!v)return;try{const x=Me(await this.transport.getRun(v,(f=this.controller)==null?void 0:f.signal));if(!this.live(a))return;if(x){this.historicalRuns.set(v,x);try{const b=await this.transport.getHistory(v,(g=this.controller)==null?void 0:g.signal);if(!this.live(a))return;this.historicalEvidence.set(v,ll(tx(b)))}catch(b){if(!this.live(a))return;if(es(b))throw b;this.fail(new Error(`Earlier turn activity could not be restored: ${b instanceof Error?b.message:String(b)}`),!1)}}else this.historicalRuns.set(v,null),this.historicalRunFailures.set(v,{missing:!1,detail:"gateway returned an invalid historical run snapshot"})}catch(x){if(!this.live(a))return;const b=xx(x)===404;this.historicalRuns.set(v,null),this.historicalRunFailures.set(v,{missing:b,detail:x instanceof Error?x.message:Te((y=Me(x))==null?void 0:y.detail)||"request failed"}),es(x)&&(d=!0,this.fail(x))}}};if(await Promise.all(Array.from({length:Math.min(4,l.length)},()=>h())),d&&this.live(a))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(t,s){const a=Me(s),l=Me(a==null?void 0:a.record)||a;if(!l)return;const c=bx(l,t),d=Number(a==null?void 0:a.cursor),h=Number.isFinite(d)&&d>0?d:(this.cursors.get(c)||0)+1,f=`${c}:${h}`;if(!this.seenRecords.has(f)){if(this.seenRecords.add(f),this.cursors.set(c,Math.max(this.cursors.get(c)||0,h)),this.set({...this.snapshot,records:[...this.snapshot.records,{cursor:h,record:l,runId:c}]}),this.foldRecord(c,l,f),this.snapshot.messages.some(g=>g.id===`final:${this.rootRunId}`)){const g=ll(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 Jh(l))g!==c&&this.catchUpAndWatch(g,this.generation)}}foldRecord(t,s,a){var y,v,x;const l=Eu(s),c=Te(l.type).toLowerCase(),d=Me(s.result),h=Te(s.status).toLowerCase(),f=Kh(s);if(this.foldStopEvidence(t,s,c,h),["llm_call","tool_calls"].includes(c)&&["started","running"].includes(h)){const b=Date.parse(f||"");(!Number.isFinite(b)||b>=this.displayStatusAt)&&(Number.isFinite(b)&&(this.displayStatusAt=b),this.snapshot.displayStatus&&this.set({...this.snapshot,displayStatus:""}))}if(c==="answer_user"&&h==="completed"){const b=bi(d)||bi(Me(l.payload));b&&this.addRunAssistantMessage(t,{id:`answer:${t}:${a}`,role:"assistant",content:b,ts:f})}if(c==="emit_event"&&h==="completed"){const b=Me(l.payload)||{},k=Me(d),S=Te(b.name)||Te(k==null?void 0:k.name),j=b.payload!==void 0?b.payload:k==null?void 0:k.payload;if(["abstract.message","abstractcode.message"].includes(S)){const C=bi(j);if(C){const $=Te((y=Me(j))==null?void 0:y.level).toLowerCase(),E=$==="error"?"error":["warn","warning"].includes($)?"warn":"info";this.addMessage({id:`event:${t}:${a}`,role:"system",title:"Workflow",content:C,level:E,ts:f})}}if(["abstract.status","abstractcode.status"].includes(S)){const C=Me(j),$=C?C.status??C.text??C.value:j,E=Date.parse(f||"");!bt(this.snapshot.status)&&typeof $=="string"&&(!Number.isFinite(E)||E>=this.displayStatusAt)&&(Number.isFinite(E)&&(this.displayStatusAt=E),this.set({...this.snapshot,displayStatus:$.trim()}))}if(["abstract.tool_execution","abstractcode.tool_execution","abstract.tool_result","abstractcode.tool_result"].includes(S)){const C=bi(j);C&&this.addMessage({id:`event:${t}:${a}`,role:"system",title:"Tool activity",content:C,ts:f})}}const g=Nm(s);if(h==="waiting"&&g&&!bt(this.snapshot.status)&&!bt(sn(this.runStates.get(t)||null))&&(this.resolvedWaits.delete(`${t}:${Te(g.wait_key)}`),this.set({...this.snapshot,interaction:this.interactionWith({runId:t,wait:g,...Te(s.step_id)?{stepId:Te(s.step_id)}:{}})})),c==="tool_calls")for(const b of bm(this.toolActivities,{runId:t,cursor:this.cursors.get(t)||0,record:s}))this.upsertTool(b);if(c==="resume"&&(d==null?void 0:d.resumed)===!0){const b=Te((v=Me(l.payload))==null?void 0:v.wait_key);b&&this.resolvedWaits.add(`${t}:${b}`),((x=this.snapshot.interaction)==null?void 0:x.runId)===t&&(this.set({...this.snapshot,interaction:null}),this.refreshRunState(t,this.generation))}}foldStopEvidence(t,s,a,l){let c=!1;if(a==="llm_call"){const d=Te(s.step_id);if(d){const h=`${t}:${d}`;l==="started"?(this.openLlmSteps.add(h),c=!0):["completed","failed","cancelled","waiting"].includes(l)&&(c=this.openLlmSteps.delete(h)||c),["completed","failed","cancelled"].includes(l)&&this.closeLiveReply(h)}}if(a==="emit_event"&&l==="completed"){const d=Me(Eu(s).payload)||{},h=Me(s.result),f=Te(d.name)||Te(h==null?void 0:h.name),g=Me(d.payload!==void 0?d.payload:h==null?void 0:h.payload);f==="abstract.status"&&Te(g==null?void 0:g.killed_by)==="kill_switch"&&(this.forcedStop=g,c=!0)}c&&this.recomputeStop()}recomputeStop(){let t=null;this.forcedStop?t={phase:"forced",label:Te(this.forcedStop.text)||"Stop forced: inference killed",record:this.forcedStop}:this.stopRequested&&(t=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)!==(t==null?void 0:t.phase)||(s==null?void 0:s.label)!==(t==null?void 0:t.label))&&this.set({...this.snapshot,stop:t}),(t==null?void 0:t.phase)==="stopping"&&this.snapshot.status==="cancelled"&&this.followStop(this.generation)}async followStop(t){var s;if(!this.stopFollowing){this.stopFollowing=!0;try{let a=500,l=null;for(;this.live(t)&&((s=this.snapshot.stop)==null?void 0:s.phase)==="stopping";){if(await this.waitForRetry(a),!this.live(t))return;const c=[this.rootRunId,...[...this.watchedRuns].filter(h=>h!==this.rootRunId)];let d=!1;for(const h of c)try{await this.catchUp(h,t)}catch(f){d=!0,this.live(t)&&(this.fail(f,!1),l=this.snapshot.error)}!d&&l&&this.snapshot.error===l&&(this.set({...this.snapshot,error:null}),l=null),a=Math.min(5e3,a*2)}}finally{this.generation===t&&(this.stopFollowing=!1)}}}addMessage(t){const s=Te(t.id)||`${t.role}:${t.content}:${t.ts||""}`;this.seenMessages.has(s)||(this.seenMessages.add(s),this.set({...this.snapshot,messages:[...this.snapshot.messages,{...t,id:s}]}))}toolMessage(t){return{id:`tool:${t.id}`,role:"system",kind:"tool_activity",title:"Tool activity",runId:t.runId,toolActivity:t,content:JSON.stringify({tool:t.name,status:t.status,arguments:t.arguments,output:t.output,error:t.error},null,2),ts:t.endedAt||t.startedAt}}upsertTool(t){const s=this.toolMessage(t),a=this.snapshot.messages.findIndex(c=>c.id===s.id);if(a<0){this.addMessage(s);return}const l=[...this.snapshot.messages];l[a]=s,this.set({...this.snapshot,messages:l})}addRunAssistantMessage(t,s){this.closeLiveRepliesOfRun(t);const a=`answer:${t}:`,l=`final:${t}`;this.snapshot.messages.some(c=>c.role==="assistant"&&c.content===s.content&&(c.id===l||String(c.id||"").startsWith(a)))||this.addMessage(s)}ingestDelta(t,s){let a;try{a=Sm(s)}catch(f){this.fail(f,!1);return}const l=`${a.run_id}:${a.call_id}`;if(mx(a)){if(a.reason==="unavailable"){this.noteStreamUnavailable(a);return}if(a.reason==="cancelled"&&a.detail==="reinvoked"){this.closeLiveReply(l,"restarted");return}this.closeLiveReply(l,a.reason==="completed"?void 0:a.reason);return}if(this.closedLiveCalls.has(l)||this.runEnded(a.run_id)||this.runEnded(this.rootRunId))return;const c=this.liveReplies.get(l)||{runId:a.run_id,callId:a.call_id,nodeId:a.node_id||"",via:t,text:"",reasoning:"",seq:{content:-1,reasoning:-1}},d=a.channel==="reasoning"?"reasoning":"text",h=c.seq[a.channel];if(a.snapshot){if(a.seq<h)return;c[d]=a.text}else{if(a.seq<=h)return;c[d]+=a.text}c.seq[a.channel]=a.seq,c.via=t,this.liveReplies.set(l,c),this.liveDirty.add(l),this.scheduleLiveRender()}runEnded(t){return bt(sn(this.runStates.get(t)||null))}scheduleLiveRender(){if(this.liveRenderTimer)return;const t=this.lastLiveRender+this.liveRenderIntervalMs-Date.now();if(t<=0){this.renderLiveReplies();return}this.liveRenderTimer=setTimeout(()=>{this.liveRenderTimer=null,this.renderLiveReplies()},t)}renderLiveReplies(){if(this.lastLiveRender=Date.now(),!this.liveDirty.size)return;const t=[...this.snapshot.messages];for(const s of this.liveDirty){const a=this.liveReplies.get(s);if(!a)continue;const l=this.liveMessage(a),c=t.findIndex(d=>d.id===l.id);c<0?t.push(l):t[c]=l,this.shownLiveCalls.add(s)}this.liveDirty.clear(),this.set({...this.snapshot,messages:t})}liveMessage(t){const s=t.runId!==this.rootRunId;return{id:`live:${t.runId}:${t.callId}`,role:"assistant",content:t.text,runId:t.runId,live:{callId:t.callId,reasoning:t.reasoning,...s?{caption:`sub-agent · ${t.nodeId||t.runId}`}:{}}}}closeLiveReply(t,s){this.closedLiveCalls.add(t);const a=this.liveReplies.get(t);if(!a){s==="restarted"&&this.shownLiveCalls.has(t)&&this.addMessage(this.restartNote(t));return}this.liveReplies.delete(t),this.liveDirty.delete(t);const l=`live:${a.runId}:${a.callId}`,c=this.snapshot.messages.findIndex(h=>h.id===l);if(c<0)return;const d=[...this.snapshot.messages];if(s==="restarted"){const h=this.restartNote(t);this.seenMessages.add(String(h.id)),d[c]=h}else if(s){const h=`live-end:${a.runId}:${a.callId}`;this.seenMessages.add(h),d[c]={id:h,role:"system",level:"warn",title:"Reply",runId:a.runId,content:s==="failed"?"The reply stopped because the model call failed.":"The reply stopped because the model call was cancelled."}}else d.splice(c,1);this.set({...this.snapshot,messages:d})}restartNote(t){const s=t.slice(0,t.indexOf(":"));return{id:`live-end:${t}`,role:"system",level:"info",title:"Reply",runId:s,content:"Reply restarted: the model call was interrupted and is running again."}}noteStreamUnavailable(t){const s=`${t.run_id}:${t.call_id}`;this.closeLiveReply(s),this.addMessage({id:`stream-unavailable:${t.run_id}:${t.detail||"unknown"}`,role:"system",level:"info",title:"Reply",runId:t.run_id,content:vx(t.detail)})}closeLiveRepliesOfRun(t){for(const s of[...this.liveReplies.values()])s.runId===t&&this.closeLiveReply(`${s.runId}:${s.callId}`)}closeLiveRepliesVia(t,s){for(const a of[...this.liveReplies.values()])(a.via===t||a.runId===t)&&this.closeLiveReply(`${a.runId}:${a.callId}`,s)}endLiveRepliesOfRun(t,s){const a=s==="failed"||s==="cancelled"?s:void 0;if(t===this.rootRunId){for(const l of[...this.liveReplies.values()])this.closeLiveReply(`${l.runId}:${l.callId}`,a);this.closedLiveCalls.clear(),this.shownLiveCalls.clear();return}this.closeLiveRepliesVia(t,a);for(const l of[...this.closedLiveCalls])l.startsWith(`${t}:`)&&this.closedLiveCalls.delete(l);for(const l of[...this.shownLiveCalls])l.startsWith(`${t}:`)&&this.shownLiveCalls.delete(l)}dropLiveRepliesVia(t){const s=new Set;for(const[a,l]of this.liveReplies)l.via===t&&(this.liveReplies.delete(a),this.liveDirty.delete(a),s.add(`live:${l.runId}:${l.callId}`));s.size&&this.set({...this.snapshot,messages:this.snapshot.messages.filter(a=>!s.has(String(a.id)))})}fail(t,s=!0){var a,l,c;es(t)&&(this.approvalEpoch+=1,this.toolApprovalStopped=!0,this.toolApprovalSuspended=!0,(l=(a=this.options).onAuthError)==null||l.call(a,t)),this.set({...this.snapshot,error:t instanceof Error?t.message:Te((c=Me(t))==null?void 0:c.detail)||String(t),...es(t)?{autoApproveTools:!1}:{},...s?{connection:"disconnected"}:{}})}newCommandId(){const t=globalThis.crypto;if(t&&typeof t.randomUUID=="function")return t.randomUUID();if(t&&typeof t.getRandomValues=="function"){const s=t.getRandomValues(new Uint8Array(16));s[6]=s[6]&15|64,s[8]=s[8]&63|128;const a=Array.from(s,l=>l.toString(16).padStart(2,"0")).join("");return`${a.slice(0,8)}-${a.slice(8,12)}-${a.slice(12,16)}-${a.slice(16,20)}-${a.slice(20)}`}return`workflow-${Date.now()}-${Math.random().toString(36).slice(2)}`}updateRunState(t,s){var c;if(this.runStates.set(t,s),bt(sn(s))&&this.endLiveRepliesOfRun(t,sn(s)),t!==this.rootRunId){bt(sn(s))&&((c=this.snapshot.interaction)==null?void 0:c.runId)===t?this.set({...this.snapshot,interaction:null}):this.adoptDurableWait(t,s);return}const a=sn(s),l=bt(a);if(l){const d=bi(s.output);d&&this.upsertFinal(t,d,Kh(s))}this.set({...this.snapshot,run:s,status:a,...l?{interaction:null,autoApproveTools:!1,displayStatus:""}:{}}),l||this.adoptDurableWait(t,s),(this.stopRequested||this.forcedStop)&&this.recomputeStop()}upsertFinal(t,s,a){this.closeLiveRepliesOfRun(t);const l=`final:${t}`;this.seenMessages.add(l);const c={id:l,role:"assistant",content:s,ts:a,runId:t,statistics:ll(this.snapshot.records).statistics},d=this.snapshot.messages.findIndex(f=>f.id===l||String(f.id||"").startsWith(`answer:${t}:`)&&f.content===s);if(d<0){this.set({...this.snapshot,messages:[...this.snapshot.messages,c]});return}const h=[...this.snapshot.messages];h[d]=c,this.set({...this.snapshot,messages:h})}async refreshRunState(t,s){var a;try{const l=Me(await this.transport.getRun(t,(a=this.controller)==null?void 0:a.signal));l&&this.live(s)&&this.updateRunState(t,l)}catch(l){this.live(s)&&this.fail(l,!1)}}async pollRootLifecycle(t,s){var a;for(;this.live(s)&&this.rootRunId===t&&!bt(sn(this.runStates.get(t)||null));){if(await this.waitForRetry(2e3),!this.live(s)||this.rootRunId!==t||bt(sn(this.runStates.get(t)||null)))return;try{const l=Me(await this.transport.getRun(t,(a=this.controller)==null?void 0:a.signal));l&&this.live(s)&&this.rootRunId===t&&this.updateRunState(t,l)}catch(l){if(!this.live(s))return;if(es(l)){this.fail(l);return}this.fail(l,!1)}}}waitForRetry(t){var l;const s=(l=this.controller)==null?void 0:l.signal;if(!s||s.aborted)return Promise.resolve();const a=s;return new Promise(c=>{const d=setTimeout(f,t),h=()=>{clearTimeout(d),f()};function f(){a.removeEventListener("abort",h),c()}a.addEventListener("abort",h,{once:!0})})}}function jx(e){const t=w.useMemo(()=>new kx(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=>t.subscribe(l),()=>t.getSnapshot(),()=>t.getSnapshot()),a=String(e.runId||"").trim();return w.useEffect(()=>{t.setToolApprovalPolicy(e.enabled===!1?{enabledTools:[],autoApproveTools:[]}:e.toolApprovalPolicy??null)},[t,e.toolApprovalPolicy,e.enabled]),w.useEffect(()=>{if(e.enabled===!1||!a){t.reset();return}return t.load(a),()=>t.reset()},[t,a,e.enabled]),{controller:t,snapshot:s}}function As(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 Qh(e){return["session","workflow","run","global"].includes(e)?e:null}function ts(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 Sx(e,t){const s=e.wait,a=Ut(s.wait_key),l=[ts(s),ts(As(s.details))];for(const c of t){if(c.runId!==e.runId)continue;const d=c.record,h=As(d.result),f=As(h==null?void 0:h.wait),g=As(d.effect),y=As(g==null?void 0:g.payload);Ut(f==null?void 0:f.wait_key)!==a&&Ut(y==null?void 0:y.wait_key)!==a||l.push(ts(d),ts(y),ts(As(y==null?void 0:y.details)),ts(f),ts(As(f==null?void 0:f.details)))}return l}function ou(e,t){return t.scopeId?t.scopeId:e==="session"?t.sessionId:e==="workflow"?t.workflowId:e==="run"?t.runId:"global"}function Cm(e,t,s){return{scope:e,scopeId:t,name:s,...e==="session"?{sessionId:t}:{},...e==="workflow"?{workflowId:t}:{},...e==="run"?{runId:t}:{}}}function Nx(e,t,s){if(!s)return null;const a=`evt:${t}:${s}:`;if(!e.startsWith(a))return null;const l=e.slice(a.length);return l?Cm(t,s,l):null}function Cx(e,t=[],s){if(!e)return{target:null,error:"No event wait is available."};const a=Ut(e.wait.wait_key),l=/^evt:(session|workflow|run|global):/.exec(a);if(!l)return{target:null,error:"The gateway did not provide a canonical event wait key."};const c=Qh(l[1]);if(!c)return{target:null,error:"The event wait uses an unsupported scope."};const d=Sx(e,Array.isArray(t)?t:[]),h=new Map;for(const x of d){const b=Qh(x.scope);if(!b||!x.name)continue;if(b!==c)return{target:null,error:"Event metadata conflicts with the canonical wait scope."};const k=`evt:${b}:`,S=`:${x.name}`;if(!a.startsWith(k)||!a.endsWith(S)||a.length<=k.length+S.length)return{target:null,error:"Event metadata does not exactly match the canonical wait key."};const j=a.slice(k.length,-S.length),C=ou(b,x);if(C&&C!==j)return{target:null,error:"Event metadata conflicts with the canonical wait target."};const $=Cm(b,j,x.name);h.set(`${$.scope}\0${$.scopeId}\0${$.name}`,$)}if(h.size>1)return{target:null,error:"Multiple event targets match this wait; routing is unavailable."};if(h.size===1)return{target:[...h.values()][0]};const f=new Set;c==="run"&&f.add(e.runId),c==="global"&&f.add("global");for(const x of d){const b=ou(c,x);b&&f.add(b)}if(Ut(s==null?void 0:s.run_id)===e.runId){const x=ts(s||null),b=ou(c,x);b&&f.add(b)}const y=[...f].map(x=>Nx(a,c,x)).filter(x=>!!x),v=new Map(y.map(x=>[`${x.scope}\0${x.scopeId}\0${x.name}`,x]));return v.size===1?{target:[...v.values()][0]}:v.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 Gu=e=>ke(`runs/${encodeURIComponent(e)}/workspace`);function Ex(e){return Gu(e)}function $x(e,t){return`${Gu(e)}/files?${new URLSearchParams({path:t,recursive:"false"})}`}function Da(e,t){return`${Gu(e)}/content?${new URLSearchParams({path:t})}`}async function vl(e,t){let s="";try{const a=await e.text();try{const l=JSON.parse(a),c=(l==null?void 0:l.detail)??(l==null?void 0:l.error)??(l==null?void 0:l.message);s=typeof c=="string"?c:c&&typeof c.message=="string"?c.message:a}catch{s=a}}catch{s=""}return new Error(`${t} (HTTP ${e.status}): ${s.trim()||e.statusText||"no reason given"}`)}function Ax(e,t){const s=e&&typeof e=="object"&&!Array.isArray(e)?e:null,a=d=>{throw new Error(`Unexpected /workspace/files response from the gateway: ${d}.`)};if(!s)return a("not an object");Array.isArray(s.entries)||a("no `entries` list"),typeof s.truncated!="boolean"&&a("no `truncated` flag");const l=s.entries.map((d,h)=>{const f=d&&typeof d=="object"?d:{};return(typeof f.name!="string"||typeof f.path!="string"||f.type!=="file"&&f.type!=="dir")&&a(`entry ${h+1} lacks a name, path or file/dir type`),f}),c=s.hidden&&typeof s.hidden=="object"&&!Array.isArray(s.hidden)?s.hidden:void 0;return{path:typeof s.path=="string"?s.path:t,entries:l,truncated:s.truncated,...c?{hidden:c}:{}}}async function Tx(e,t,s){const a=await e(Ex(t),{signal:s});if(!a.ok)throw await vl(a,"The workspace is not available");const l=await a.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 Rx(e,t,s,a){const l=await e($x(t,s),{signal:a});if(!l.ok)throw await vl(l,"The folder could not be listed");return Ax(await l.json(),s)}async function Ix(e,t,s,a){const l=await e(Da(t,s),{signal:a});if(!l.ok)throw await vl(l,"The file could not be read");return await l.blob()}async function Mx(e,t,s,a){const l=await Tx(e,t,a);return{where:l,listing:l.exists?await Rx(e,t,s,a):null}}function Lx(e){const t=String(e||"").split("/").filter(Boolean),s=[{label:"Workspace",path:""}];return t.forEach((a,l)=>s.push({label:a,path:t.slice(0,l+1).join("/")})),s}function Em(e){if(typeof e!="number"||!Number.isFinite(e)||e<0)return"";if(e<1024)return`${e} B`;const t=["KiB","MiB","GiB","TiB"];let s=e/1024,a=0;for(;s>=1024&&a<t.length-1;)s/=1024,a+=1;return`${s<10?s.toFixed(1):Math.round(s)} ${t[a]}`}function Px(e){return[...e].sort((t,s)=>t.type===s.type?t.name.localeCompare(s.name):t.type==="dir"?-1:1)}function Ox(e){const t=e.hidden||{},s=Number(t.blocked||0)+Number(t.outside_links||0)+Number(t.other||0),a=[];return s>0&&a.push(`${s} ${s===1?"entry":"entries"} hidden by the gateway's workspace rules`),e.truncated&&a.push("the list is truncated"),a.join("; ")}const Dx=new Set(["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","application/pdf","text/plain","application/json"]);function Fx(e){const t=String(e||"").split(";",1)[0].trim().toLowerCase();return Dx.has(t)?{mode:"open",type:t}:t.startsWith("text/")||t.endsWith("+xml")||t.endsWith("+json")||t.endsWith("/xml")||t.endsWith("/javascript")||t.endsWith("/x-yaml")||t.endsWith("/toml")?{mode:"open",type:"text/plain;charset=utf-8"}:{mode:"download"}}function $m(e,t,s){const a=s==="open"?Fx(e.type):{mode:"download"},l=a.mode==="open"&&a.type!==e.type?new Blob([e],{type:a.type}):e,c=URL.createObjectURL(l);if(a.mode==="open")window.open(c,"_blank","noopener");else{const d=document.createElement("a");d.href=c,d.download=t,document.body.appendChild(d),d.click(),d.remove()}window.setTimeout(()=>URL.revokeObjectURL(c),6e4)}async function zx(e,t,s){const a=await e(Vy(t),{signal:s.signal});if(!a.ok)throw await vl(a,`${s.name} could not be read`);$m(await a.blob(),s.name,s.mode??"open")}function Am(e){const{fetchGateway:t,runId:s}=e,[a,l]=w.useState({runId:s,path:""}),c=a.runId===s?a.path:"",[d,h]=w.useState(null),[f,g]=w.useState(""),[y,v]=w.useState(!!s),[x,b]=w.useState(""),[k,S]=w.useState(0);w.useEffect(()=>{if(!s)return;const $=new AbortController;return v(!0),g(""),(async()=>{try{const E=await Mx(t,s,c,$.signal);$.signal.aborted||h({runId:s,...E})}catch(E){$.signal.aborted||g(String((E==null?void 0:E.message)||E))}finally{$.signal.aborted||v(!1)}})(),()=>$.abort()},[t,s,c,k,e.refreshKey]);const j=d&&d.runId===s?d:null,C=w.useCallback(async($,E)=>{b($.path),g("");try{$m(await Ix(t,s,$.path),$.name,E)}catch(A){g(String((A==null?void 0:A.message)||A))}finally{b("")}},[t,s]);return i.jsx(Wx,{title:e.title,note:e.note,where:(j==null?void 0:j.where)??null,path:c,listing:(j==null?void 0:j.listing)??null,error:f,loading:y,fileBusy:x,selectedPath:e.selectedPath,className:e.className,onNavigate:$=>l({runId:s,path:$}),onRefresh:()=>S($=>$+1),onFile:e.onSelectFile?void 0:($,E)=>void C($,E),onSelectFile:e.onSelectFile,onClose:e.onClose})}function Wx(e){var a,l,c,d;const t=e.listing?Ox(e.listing):"",s=(l=(a=e.where)==null?void 0:a.host)==null?void 0:l.hostname;return i.jsxs("section",{className:`pc-ws${e.className?` ${e.className}`:""}`,"aria-label":e.title,"data-workspace-root":((c=e.where)==null?void 0:c.workspace_root)||void 0,children:[i.jsxs("header",{className:"pc-ws__head",children:[i.jsxs("span",{className:"pc-ws__title",children:[i.jsx(ae,{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(ae,{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(ae,{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:Lx(e.path).map((h,f,g)=>f===g.length-1?i.jsx("span",{"aria-current":"page",children:h.label},h.path):i.jsxs(ht.Fragment,{children:[i.jsx("button",{type:"button",className:"pc-ws__crumb",onClick:()=>e.onNavigate(h.path),children:h.label}),i.jsx("span",{className:"pc-ws__muted",children:" / "})]},h.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:Px(e.listing.entries).map(h=>i.jsx("li",{className:`pc-ws__entry${e.selectedPath===h.path?" is-selected":""}`,"data-type":h.type,"data-path":h.path,children:h.type==="dir"?i.jsxs("button",{type:"button",className:"pc-ws__name","data-action":"open-dir",onClick:()=>e.onNavigate(h.path),children:[i.jsx(ae,{name:"folder",size:14})," ",h.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===h.path,onClick:()=>{var f;return(f=e.onSelectFile)==null?void 0:f.call(e,h)},children:[i.jsx(ae,{name:"file",size:14})," ",h.name]}):i.jsxs("span",{className:"pc-ws__name",children:[i.jsx(ae,{name:"file",size:14})," ",h.name]}),i.jsx("span",{className:"pc-ws__size",children:Em(h.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===h.path,onClick:()=>{var f;return(f=e.onFile)==null?void 0:f.call(e,h,"open")},children:"Open"}),i.jsx("button",{type:"button",className:"pc-ws__icon-btn","data-action":"download-file",disabled:e.fileBusy===h.path,onClick:()=>{var f;return(f=e.onFile)==null?void 0:f.call(e,h,"download")},title:`Download ${h.name}`,"aria-label":`Download ${h.name}`,children:i.jsx(ae,{name:"download",size:14})})]}):null]})},h.path))}):i.jsx("div",{className:"pc-ws__muted",children:"This folder is empty."}):null,t?i.jsx("div",{className:"pc-ws__muted","data-hidden-note":"true",children:t}):null]})}function Ux(e){return i.jsx(pm,{text:e,images:"link"})}const Bx={trigger:"Trigger",answer:"Automation"};function Vx(e){return i.jsx(xm,{message:{id:`${e.runId}:${e.kind}`,role:e.role,content:e.text,title:Bx[e.kind],runId:e.runId},images:"link"})}const Gx={renderText:Ux,renderTurn:Vx};function Hx(e){const{fetchGateway:t,...s}=e,a=s.onOpenResource??(t?l=>zx(t,l.url,{name:l.name}):void 0);return i.jsx(Rv,{...s,onOpenResource:a,...Gx})}function Kx(e,t,s={}){if(!e)return null;const a=e.wait,l=`${e.runId}:${a.wait_key}:${e.stepId||""}`,c=a.details||{};if(c.mode==="approval_required"||c.kind==="tool_approval"){const h=Array.isArray(c.tool_calls)?c.tool_calls:[],f={runId:e.runId,waitKey:String(a.wait_key||""),stepId:e.stepId},g=[...new Set(h.map(v=>String((v==null?void 0:v.name)||"tool")))],y=s.onPermissionsAll;return{id:l,kind:"tool-approval",title:`${h.length||"Requested"} ${h.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(wm,{tools:h.map((v,x)=>({id:String((v==null?void 0:v.call_id)||(v==null?void 0:v.id)||x),runId:e.runId,name:(v==null?void 0:v.name)||"Tool",arguments:v==null?void 0:v.arguments,status:"waiting"}))}),i.jsxs("details",{children:[i.jsx("summary",{children:"Review full tool arguments (JSON)"}),i.jsx(Rs,{value:h.length?h:c})]})]}),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 t.approveWithPolicyChange(f,()=>{y()})}:void 0,onApprove:async()=>{await t.approve(!0,f)},onDeny:async()=>{await t.approve(!1,f)}}}if(a.reason==="user"||a.reason==="ask_user")return{id:l,kind:"ask-user",title:"A question for you",prompt:String(a.prompt||c.prompt||"How would you like to continue?"),allowFreeText:a.allow_free_text!==!1,choices:(Array.isArray(a.choices)?a.choices:[]).map(h=>typeof h=="object"&&h!==null?{id:String(h.value??h.id??h.label),label:String(h.label??h.text??h.value??h.id),description:h.description}:{id:String(h),label:String(h)}),onSubmit:async h=>{await t.resume(h)}};const d=String(a.wait_key||"");if(a.reason==="event"||d.startsWith("evt:")){const h=Cx(e,s.records||[],s.currentRun??null),f=h.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(a.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. ${h.error}`,initialPayload:"{}",payloadLabel:"Event data (JSON)",sendLabel:"Send event",onSend:async y=>{if(!f)throw new Error(h.error);const v=JSON.parse(y||"{}"),x={name:f.name,scope:f.scope,payload:v};f.scope==="session"?x.session_id=f.scopeId:f.scope==="workflow"?x.workflow_id=f.scopeId:f.scope==="run"&&(x.run_id=f.scopeId),await t.emitEvent(x)}}}return null}const Jx="abstractcode.agent.v1";function Hu(e){return!!(e!=null&&e.interfaces.some(t=>[Jx,"abstractassistant.agent.v1"].includes(t)))}function et(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function hl(e){return Array.isArray(e)?e:[]}function Ne(e){return typeof e!="string"?void 0:e.trim()||void 0}function Tm(e){return hl(e).flatMap(t=>{const s=Ne(t);return s?[s]:[]})}function Fa(e,t=0){if(typeof e!="number"||!Number.isFinite(e))return;const s=Math.trunc(e);return s>=t?s:void 0}function Ku(e,t){if(Array.isArray(e))return e;const s=et(e);if(!s)return[];for(const a of t)if(Array.isArray(s[a]))return s[a];return[]}function Rm(e){const t=et(e);return t?{...t}:void 0}function Yh(e){const t=Rm(e.input_schema??e.inputSchema??e.inputs_schema);if(t)return t;const s=et(e.inputs);if(s&&("properties"in s||"type"in s||"$schema"in s))return{...s}}function Qx(e){const t=Ne(e.bundle_version??e.bundleVersion??e.version);if(t)return t;const s=Ne(e.bundle_ref??e.bundleRef);if(!s)return;const a=s.lastIndexOf("@");return a>0&&a<s.length-1?s.slice(a+1):void 0}function Yx(e,t,s){return e?`${e}${t?`@${t}`:""}:${s}`:s}function Xh(e,t,s){var h;const a=et(e),l=Ne((a==null?void 0:a.default_bundle_id)??(a==null?void 0:a.defaultBundleId)),c=Ku(e,["items","bundles"]),d=[];for(const f of c){const g=et(f);if(!g)continue;const y=et(g.actions);if((y==null?void 0:y.can_run)===!1)continue;const v=(h=Ne(g.status))==null?void 0:h.toLowerCase();if(g.is_draft===!0||g.is_published===!1||g.version_channel==="draft"||v&&!["published","deprecated"].includes(v)||!s.includeDeprecated&&(v==="deprecated"||v==="deleted"||v==="disabled"))continue;const x=Ne(g.bundle_id??g.bundleId??g.id),b=Qx(g);if(b&&/(?:^|[.\-])draft(?:[.\-]|$)/i.test(b))continue;const k=Ne(g.default_entrypoint??g.defaultEntrypoint),S=t==="private"&&(g.is_default===!0||g.isDefault===!0||!!x&&x===l);for(const j of hl(g.entrypoints)){const C=et(j);if(!C||!s.includeDeprecated&&(C.deprecated===!0||C.enabled===!1))continue;const $=Ne(C.flow_id??C.flowId??C.id);if(!$)continue;const E=Tm(C.interfaces??C.interface_ids??C.interfaceIds);if(s.interfaceId&&!E.includes(s.interfaceId))continue;const A=Ne(C.workflow_id??C.workflowId)??Yx(x,b,$),z=k?k===$:hl(g.entrypoints).length===1;d.push({id:`${t}:${A}`,workflowId:A,...x?{bundleId:x}:{},...b?{bundleVersion:b}:{},flowId:$,name:Ne(C.name??C.title)??$,description:Ne(C.description)??"",interfaces:E,...Yh(C)?{inputSchema:Yh(C)}:{},registryScope:t,isPreferredVersion:t==="tenant_catalog"?g.is_default===!0||g.default_version===b:g.latest_published_version===b,...S&&z?{isDefault:!0}:{}})}}return d}function Xx(e,t,s={}){const a=[...Xh(e,"private",s),...Xh(t,"tenant_catalog",s)],l=new Map;for(const c of a)l.set(c.id,c);return[...l.values()].sort((c,d)=>+!!d.isDefault-+!!c.isDefault||c.name.localeCompare(d.name)||c.id.localeCompare(d.id))}function Zx(e){const t=et(e);if(!t)return;const s=et(t.workflow_selection??t.workflowSelection);if(s)return s;const a=et(t._runtime),l=et((a==null?void 0:a.workflow_policy)??(a==null?void 0:a.workflowPolicy));if(l)return l;const c=et(t.input_data??t.inputData),d=et(c==null?void 0:c._runtime);return et((d==null?void 0:d.workflow_policy)??(d==null?void 0:d.workflowPolicy))}function qx(e,t){const s=Zx(t.inputData);if(s){const c=Ne(s.registry_scope??s.registryScope),d=Ne(s.bundle_id??s.bundleId),h=Ne(s.bundle_version??s.bundleVersion),f=Ne(s.flow_id??s.flowId);if((c==="private"||c==="tenant_catalog")&&d&&f){const g=e.filter(y=>(y.registryScope??"private")===c&&y.bundleId===d&&y.flowId===f&&(!h||y.bundleVersion===h));if(g.length===1)return g[0]}return}const a=Ne(t.runWorkflowId);if(!a)return;const l=e.filter(c=>(c.registryScope??"private")==="private"&&c.workflowId===a);return l.length===1?l[0]:void 0}function eb(e){const t=et(e)??{},s=et(t.policy)??t,l=hl(s.mounts??s.workspace_mounts).flatMap((d,h)=>{const f=et(d);if(!f)return[];const g=Ne(f.path??f.root),y=Ne(f.id??f.name)??g??`mount-${h+1}`;return[{id:y,label:Ne(f.label??f.name)??y,...g?{path:g}:{},readOnly:f.read_only===!0||f.readOnly===!0||f.writable===!1,raw:{...f}}]}),c=Fa(s.max_attachment_bytes??s.maxAttachmentBytes,1);return{raw:{...s},clientWorkspaceScopeOverrides:s.client_workspace_scope_overrides===!0||s.clientWorkspaceScopeOverrides===!0,allowedAccessModes:Tm(s.allowed_access_modes??s.allowedAccessModes),mounts:l,...c!==void 0?{maxAttachmentBytes:c}:{}}}function tb(e){const t=Ku(e,["items","tools"]),s=new Set,a=[];for(const l of t){const c=et(l);if(!c)continue;const d=Ne(c.name??c.tool_name??c.id);if(!d||s.has(d))continue;s.add(d);const h=c.enabled!==!1&&c.served_disabled!==!0&&c.servedDisabled!==!0,f=Fa(c.risk_rank??c.riskRank),g=Rm(c.input_schema??c.inputSchema??c.parameters);a.push({name:d,description:Ne(c.description)??"",...Ne(c.toolset)?{toolset:Ne(c.toolset)}:{},...Ne(c.tier)?{tier:Ne(c.tier)}:{},...Ne(c.approval_default??c.default_approval??c.approvalDefault??c.defaultApproval??c.approval)?{approval:Ne(c.approval_default??c.default_approval??c.approvalDefault??c.defaultApproval??c.approval)}:{},...f!==void 0?{riskRank:f}:{},enabled:h,servedDisabled:!h,...Ne(c.enable_gate??c.enableGate)?{enableGate:Ne(c.enable_gate??c.enableGate)}:{},...Ne(c.why_disabled??c.whyDisabled)?{whyDisabled:Ne(c.why_disabled??c.whyDisabled)}:{},...g?{inputSchema:g}:{},raw:{...c}})}return a.sort((l,c)=>l.name.localeCompare(c.name))}function nb(e){var a;const t=(a=Ne(e.status??e.state))==null?void 0:a.toLowerCase();return Ne(e.wait_reason??e.waitReason)||e.waiting===!0||t==="waiting"||t==="paused"?"waiting":t==="running"||t==="queued"||t==="pending"||t==="created"?"running":t==="failed"||t==="error"||t==="cancelled"||t==="canceled"?"failed":t==="completed"||t==="complete"||t==="done"?"done":"unknown"}const Zh={waiting:4,running:3,failed:2,done:1,unknown:0};function ki(e){return Ne(e.updated_at??e.updatedAt??e.finished_at??e.finishedAt??e.created_at??e.createdAt)}function ji(e){if(!e)return Number.NEGATIVE_INFINITY;const t=Date.parse(e);return Number.isFinite(t)?t:Number.NEGATIVE_INFINITY}function qh(e){var d;const t=Ne(e);if(t)return t;const s=et(e);if(!s)return;const a=Ne(s.prompt);if(a)return a;const l=et(s.input_data??s.inputData),c=["prompt","request","task","message","query","input"].map(h=>Ne(l==null?void 0:l[h])).find(Boolean);return c||Ne((d=et(l==null?void 0:l.context))==null?void 0:d.task)}function Im(e,t={}){const s=et(e),a=(s==null?void 0:s.has_more)===!0||(s==null?void 0:s.hasMore)===!0,l=Ku(e,["items","runs"]),c=new Map;l.forEach((h,f)=>{const g=et(h);if(!g||Ne(g.parent_run_id??g.parentRunId))return;const y=Ne(g.session_id??g.sessionId),v=Ne(g.run_id??g.runId??g.id);if(!y||!v)return;const x=c.get(y)??[];x.push({run:g,index:f}),c.set(y,x)});const d=[];for(const[h,f]of c){const g=[...f].sort((k,S)=>ji(ki(S.run))-ji(ki(k.run))||k.index-S.index),y=[...f].sort((k,S)=>{const j=Ne(k.run.created_at??k.run.createdAt)??ki(k.run),C=Ne(S.run.created_at??S.run.createdAt)??ki(S.run);return ji(j)-ji(C)||k.index-S.index}),v=g.flatMap(({run:k})=>{const S=Ne(k.run_id??k.runId??k.id);return S?[S]:[]});if(!v.length)continue;let x="unknown";for(const{run:k}of f){const S=nb(k);Zh[S]>Zh[x]&&(x=S)}let b;for(const{run:k}of y){const S=Ne(k.run_id??k.runId??k.id);if(b=(S?qh(t[S]):void 0)??qh(k),b)break}d.push({sessionId:h,state:x,...ki(g[0].run)?{updatedAt:ki(g[0].run)}:{},firstRunId:Ne(y[0].run.run_id??y[0].run.runId??y[0].run.id),latestRunId:v[0],runIds:v,turnCount:f.length,...b?{prompt:b}:{},truncated:a})}return d.sort((h,f)=>ji(f.updatedAt)-ji(h.updatedAt)||h.sessionId.localeCompare(f.sessionId))}function pl(e){return e?{...e}:{}}function Si(e){if(e!==void 0)return e.flatMap(t=>{const s=Ne(t);return s?[s]:[]})}function rb(e,t,s){var C,$,E,A,z,F,P,M,U;const a=(Y,Q)=>{var W,J;!Hu(t.workflow)&&!((J=et((W=t.inputSchema)==null?void 0:W.properties))!=null&&J[Y])||Q!==void 0&&s&&(e[Y]=Q)},l=Ne((C=t.model)==null?void 0:C.provider),c=Ne(($=t.model)==null?void 0:$.model);if(!!l!=!!c)throw new Error("Choose both a provider and a model, or use the workflow / Gateway defaults.");a("provider",l),a("model",c),t.tools!==void 0&&a("tools",Si(t.tools)??[]);const d=Si(t.skills);d!=null&&d.length&&(e.skills=d);const h=Ne((E=t.workspace)==null?void 0:E.root),f=Ne((A=t.workspace)==null?void 0:A.accessMode),g=Si((z=t.workspace)==null?void 0:z.allowedPaths);h!==void 0&&(e.workspace_root=h),f!==void 0&&(e.workspace_access_mode=f),g!=null&&g.length&&(e.workspace_allowed_paths=g),a("system",Ne(t.system));const y=pl(et(e._runtime)),v=(Y,Q)=>{Q!==void 0&&s&&(y[Y]=Q)};if(v("provider",l),v("model",c),v("thinking",Ne(t.reasoning)),v("speculation",t.speculation),t.streamReplies!==void 0&&v("stream",yx(t.streamReplies).stream),v("system_prompt_extra",Ne(t.systemPromptExtra)),t.tools!==void 0){const Y=Si(t.tools)??[],Q=Array.isArray(y.allowed_tools)?y.allowed_tools:null;y.allowed_tools=Q?Y.filter(W=>Q.includes(W)):Y}if(t.review!==void 0&&t.reviewCapable!==!1){v("review_mode",t.review.enabled);const Y=t.review.enabled?Fa(t.review.maxRounds,1):void 0;v("review_max_rounds",Y)}const x=Si((F=t.toolPolicy)==null?void 0:F.autoApproveTools),b=Si((P=t.toolPolicy)==null?void 0:P.requireApprovalTools);(((x==null?void 0:x.length)??0)>0||((b==null?void 0:b.length)??0)>0)&&v("tool_policy",{...x!=null&&x.length?{auto_approve_tools:x}:{},...b!=null&&b.length?{require_approval_tools:b}:{}}),t.promptCache!==void 0&&v("prompt_cache",t.promptCache),Object.keys(y).length&&(e._runtime=y);const k=pl(et(e._limits)),S=Fa((M=t.limits)==null?void 0:M.maxIterations,1),j=Fa((U=t.limits)==null?void 0:U.maxTokens,1);S!==void 0&&s&&(k.max_iterations=S),j!==void 0&&s&&(k.max_tokens=j),Object.keys(k).length&&(e._limits=k),a("max_iterations",S),t.gatingMode==="auto"&&a("gating_mode","auto")}function sb(e){var a;const t=pl(e.schemaInputs),s=Hu(e.workflow);if(e.promptProperty){const l=Ne(e.promptProperty);l&&((a=e.prompt)!=null&&a.trim())&&(t[l]=e.prompt)}if(s){const l=e.prompt??"";t.prompt=l;const c=pl(et(t.context));c.task=l,delete c.messages,delete c.media;const d=(e.attachments??[]).map(h=>({...h}));d.length?c.attachments=d:delete c.attachments,t.use_context=!1,delete t.attachments,delete t.media,t.context=c,t.use_session_history=e.useSessionHistory??!0}return rb(t,e,!0),t}class ib{constructor(){mn(this,"_buffer","");mn(this,"_current",{data_lines:[]})}push(t,s){for(this._buffer+=t;;){const a=this._buffer.indexOf(`
|
|
67
|
+
`);if(a===-1)return;const l=this._buffer.slice(0,a);this._buffer=this._buffer.slice(a+1);const c=l.endsWith("\r")?l.slice(0,-1):l;if(c.startsWith(":"))continue;if(c===""){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(`
|
|
68
|
+
`)};s(g)}this._current={data_lines:[]};continue}const d=c.indexOf(":"),h=d===-1?c:c.slice(0,d),f=d===-1?"":c.slice(d+1).trimStart();h==="id"?this._current.id=f:h==="event"?this._current.event=f:h==="data"&&this._current.data_lines.push(f)}}}function Ye(e){var a;const t=(e||"").trim(),s={};t&&(s.Authorization=`Bearer ${t}`);try{const l=(a=document.cookie.split(";").map(c=>c.trim()).find(c=>c.startsWith("abstractcode_gateway_csrf=")))==null?void 0:a.slice(26);l&&(s["X-AbstractCode-CSRF"]=decodeURIComponent(l))}catch{}return s}function ab(e){const t=e.headers.get("retry-after");if(!t)return;const s=Number(t);if(Number.isFinite(s)&&s>0)return s}async function ob(e){var t;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 c=l.detail;if(typeof c=="string"&&c.trim())return c.trim();const d=(t=l.error)==null?void 0:t.message;if(typeof d=="string"&&d.trim())return d.trim();try{const h=JSON.stringify(l);if(h&&h!=="{}")return h}catch{}}}const a=await e.text();return a!=null&&a.trim()?a.trim():`${e.status}`}catch{return`${e.status}`}}class Mm extends Error{constructor(s,a){super(s);mn(this,"status");mn(this,"retry_after_s");mn(this,"body_text");this.name="GatewayHttpError",this.status=Number.isFinite(Number(a.status))?Number(a.status):0,this.retry_after_s=a.retry_after_s,this.body_text=a.body_text}}async function Xe(e,t){const s=await ob(e);throw new Mm(`${t}: ${s}`,{status:e.status,retry_after_s:ab(e),body_text:s})}class lb{constructor(t){mn(this,"_cfg");this._cfg={...t,base_url:(t.base_url||"").trim()}}async start_run(t,s,a){const l=String((a==null?void 0:a.bundle_id)||"").trim(),c=(a==null?void 0:a.session_id)===null||(a==null?void 0:a.session_id)===void 0?"":String(a.session_id||"").trim(),d=String(t||"").trim(),h={input_data:s||{}};l&&(h.bundle_id=l),d&&(h.flow_id=d),c&&(h.session_id=c);const f=await fetch(Qe(this._cfg.base_url.trim(),ke("runs/start")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(h)});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(t){const s=String(t||"").trim();if(!s)throw new Error("get_run: run_id is required");const a=await fetch(Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(s)}`)),{headers:{...Ye(this._cfg.auth_token)}});return a.ok?await a.json():await Xe(a,"get_run failed")}async get_run_history_bundle(t,s){const a=String(t||"").trim();if(!a)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 c=Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/history_bundle?${l.toString()}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"get_run_history_bundle failed")}async list_runs(t){const s=new URLSearchParams,a=typeof(t==null?void 0:t.limit)=="number"?t.limit:50;s.set("limit",String(a));const l=String((t==null?void 0:t.status)||"").trim();l&&s.set("status",l);const c=String((t==null?void 0:t.workflow_id)||"").trim();c&&s.set("workflow_id",c);const d=String((t==null?void 0:t.session_id)||"").trim();d&&s.set("session_id",d),(t==null?void 0:t.root_only)===!0&&s.set("root_only","true"),(t==null?void 0:t.include_ledger_len)===!1&&s.set("include_ledger_len","false"),(t==null?void 0:t.include_metrics)===!0&&s.set("include_metrics","true");const h=Qe(this._cfg.base_url.trim(),ke(`runs?${s.toString()}`)),f=await fetch(h,{headers:{...Ye(this._cfg.auth_token)}});return f.ok?await f.json():await Xe(f,"list_runs failed")}async get_ledger(t,s){const a=String(t||"").trim();if(!a)throw new Error("get_ledger: run_id is required");const l=Number((s==null?void 0:s.after)||0),c=Number((s==null?void 0:s.limit)||0),d=Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/ledger?after=${encodeURIComponent(String(l))}&limit=${encodeURIComponent(String(c))}`)),h=await fetch(d,{headers:{...Ye(this._cfg.auth_token)}});if(!h.ok)return await Xe(h,"get_ledger failed");const f=await h.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(t,s){var k;const a=String(t||"").trim();if(!a)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),c=s.on_step,d=s.signal,h=Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/ledger/stream?after=${encodeURIComponent(String(l))}`)),f=await fetch(h,{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");(k=s.on_open)==null||k.call(s);const g=f.body.getReader(),y=new TextDecoder("utf-8"),v=new ib,x=s.on_delta,b=s.on_delta_error;for(;;){const{value:S,done:j}=await g.read();if(j)return;const C=y.decode(S,{stream:!0});v.push(C,$=>{if(x&&b){const E=$.event||"message",A=$.data??"";let z;try{z=gx(E,A)}catch(F){b(F instanceof Error?F:new Error(String(F)),{event:E,data:A});return}if(z){x(z);return}}if(!($.event!=="step"||!$.data))try{const E=JSON.parse($.data);E&&typeof E.cursor=="number"&&E.record&&c(E)}catch{}})}}async list_bundles(){const t=await fetch(Qe(this._cfg.base_url.trim(),ke("bundles")),{headers:{...Ye(this._cfg.auth_token)}});return t.ok?await t.json():await Xe(t,"list_bundles failed")}async reload_bundles(){const t=await fetch(Qe(this._cfg.base_url.trim(),ke("bundles/reload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)}});return t.ok?await t.json():await Xe(t,"reload_bundles failed")}async upload_bundle(t,s){const a=(s==null?void 0:s.overwrite)===!0,l=(s==null?void 0:s.reload)!==!1,c=new FormData;c.set("overwrite",a?"true":"false"),c.set("reload",l?"true":"false"),c.set("file",t,t.name||"upload.flow");const d=await fetch(Qe(this._cfg.base_url.trim(),ke("bundles/upload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:c});return d.ok?await d.json():await Xe(d,"upload_bundle failed")}async discovery_tools(){const t=await fetch(Qe(this._cfg.base_url.trim(),ke("discovery/tools")),{headers:{...Ye(this._cfg.auth_token)}});return t.ok?await t.json():await Xe(t,"discovery_tools failed")}async discovery_providers(t){const s=(t==null?void 0:t.include_models)===!0,a=Qe(this._cfg.base_url.trim(),ke(`discovery/providers?include_models=${encodeURIComponent(String(s))}`)),l=await fetch(a,{headers:{...Ye(this._cfg.auth_token)}});return l.ok?await l.json():await Xe(l,"discovery_providers failed")}async discovery_provider_models(t){const s=String(t||"").trim();if(!s)throw new Error("discovery_provider_models: provider_name is required");const a=await fetch(Qe(this._cfg.base_url.trim(),ke(`discovery/providers/${encodeURIComponent(s)}/models`)),{headers:{...Ye(this._cfg.auth_token)}});return a.ok?await a.json():await Xe(a,"discovery_provider_models failed")}async discovery_model_capabilities(t,s=""){const a=String(t||"").trim();if(!a)throw new Error("discovery_model_capabilities: model_name is required");const l=new URLSearchParams({model_name:a});s.trim()&&l.set("provider",s.trim());const c=Qe(this._cfg.base_url.trim(),ke(`discovery/models/capabilities?${l}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"discovery_model_capabilities failed")}async workspace_policy(){const t=await fetch(Qe(this._cfg.base_url.trim(),ke("workspace/policy")),{headers:{...Ye(this._cfg.auth_token)}});return t.ok?await t.json():await Xe(t,"workspace_policy failed")}async files_search(t,s){const a=String(t||"").trim(),l=typeof(s==null?void 0:s.limit)=="number"&&Number.isFinite(s.limit)?Math.max(1,Math.trunc(s.limit)):20,c=new URLSearchParams;c.set("query",a),c.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(),v=String(d.workspace_allowed_paths||"").trim(),x=String(d.workspace_ignored_paths||"").trim();g&&c.set("workspace_root",g),y&&c.set("workspace_access_mode",y),v&&c.set("workspace_allowed_paths",v),x&&c.set("workspace_ignored_paths",x)}const h=Qe(this._cfg.base_url.trim(),ke(`files/search?${c.toString()}`)),f=await fetch(h,{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(t,s){const a=String(t||"").trim();if(!a)throw new Error("list_run_artifacts: run_id is required");const l=typeof(s==null?void 0:s.limit)=="number"?s.limit:200,c=Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/artifacts?limit=${encodeURIComponent(String(l))}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"list_run_artifacts failed")}async get_run_artifact_blob(t,s,a){const l=String(t||"").trim(),c=String(s||"").trim();if(!l)throw new Error("get_run_artifact_blob: run_id is required");if(!c)throw new Error("get_run_artifact_blob: artifact_id is required");const d=Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(l)}/artifacts/${encodeURIComponent(c)}/content`)),h=await fetch(d,{headers:{...Ye(this._cfg.auth_token)}});if(!h.ok)return await Xe(h,"get_run_artifact_blob failed");const f=await h.blob(),g=typeof(a==null?void 0:a.max_bytes)=="number"&&Number.isFinite(a.max_bytes)?Math.max(0,Math.trunc(a.max_bytes)):0;if(g>0&&f.size>g)throw new Error(`Artifact too large (${f.size} bytes > ${g} bytes)`);const y=String(h.headers.get("content-type")||"").trim()||"application/octet-stream";return{blob:f,content_type:y}}async get_run_artifact_text(t,s,a){const{blob:l}=await this.get_run_artifact_blob(t,s,a);return await l.text()}async attachments_ingest(t,s,a){const l=String(t||"").trim(),c=String(s||"").trim();if(!l)throw new Error("attachments_ingest: session_id is required");if(!c)throw new Error("attachments_ingest: path is required");const d={session_id:l,path:c},h=a==null?void 0:a.scope;if(h&&typeof h=="object"){const x=String(h.workspace_root||"").trim(),b=String(h.workspace_access_mode||"").trim(),k=String(h.workspace_allowed_paths||"").trim(),S=String(h.workspace_ignored_paths||"").trim();x&&(d.workspace_root=x),b&&(d.workspace_access_mode=b),k&&(d.workspace_allowed_paths=k),S&&(d.workspace_ignored_paths=S)}const f=await fetch(Qe(this._cfg.base_url.trim(),ke("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(t,s,a){const l=String(t||"").trim();if(!l)throw new Error("attachments_upload: session_id is required");if(!s)throw new Error("attachments_upload: file is required");const c=String((a==null?void 0:a.filename)||"").trim()||String((s==null?void 0:s.name)||"").trim()||"upload.bin",d=String((a==null?void 0:a.content_type)||"").trim()||String((s==null?void 0:s.type)||"").trim(),h=new FormData;h.append("session_id",l),h.append("file",s,c),h.append("filename",c),d&&h.append("content_type",d);const f=await fetch(Qe(this._cfg.base_url.trim(),ke("attachments/upload")),{method:"POST",headers:{...Ye(this._cfg.auth_token)},body:h});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(t,s){const a=String(t||"").trim();if(!a)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},c=(s==null?void 0:s.language)===null||(s==null?void 0:s.language)===void 0?"":String(s.language||"").trim();c&&(l.language=c);const d=await fetch(Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/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(t,s){const a=String(t||"").trim();if(!a)throw new Error("voice_tts: run_id is required");const l={text:String((s==null?void 0:s.text)||"")},c=(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(),h=(s==null?void 0:s.request_id)===null||(s==null?void 0:s.request_id)===void 0?"":String(s.request_id||"").trim();c&&(l.voice=c),d&&(l.format=d),h&&(l.request_id=h);const f=await fetch(Qe(this._cfg.base_url.trim(),ke(`runs/${encodeURIComponent(a)}/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(t){const s={command_id:String((t==null?void 0:t.command_id)||"").trim(),run_id:String((t==null?void 0:t.run_id)||"").trim(),type:String((t==null?void 0:t.type)||"").trim(),payload:t!=null&&t.payload&&typeof t.payload=="object"?t.payload:{}},a=String((t==null?void 0:t.ts)||"").trim();a&&(s.ts=a);const l=String((t==null?void 0:t.client_id)||"").trim();l&&(s.client_id=l);const c=await fetch(Qe(this._cfg.base_url.trim(),ke("commands")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return c.ok?await c.json():await Xe(c,"submit_command failed")}async bug_report_create(t){const s={session_id:String((t==null?void 0:t.session_id)||"").trim(),description:String((t==null?void 0:t.description)||"")},a=String((t==null?void 0:t.active_run_id)||"").trim();a&&(s.active_run_id=a);const l=String((t==null?void 0:t.workflow_id)||"").trim();l&&(s.workflow_id=l);const c=String((t==null?void 0:t.client)||"").trim();c&&(s.client=c);const d=String((t==null?void 0:t.client_version)||"").trim();d&&(s.client_version=d);const h=String((t==null?void 0:t.user_agent)||"").trim();h&&(s.user_agent=h);const f=String((t==null?void 0:t.url)||"").trim();f&&(s.url=f);const g=String((t==null?void 0:t.provider)||"").trim();g&&(s.provider=g);const y=String((t==null?void 0:t.model)||"").trim();y&&(s.model=y);const v=String((t==null?void 0:t.template)||"").trim();v&&(s.template=v);const x=t==null?void 0:t.context;x&&typeof x=="object"&&(s.context=x);const b=await fetch(Qe(this._cfg.base_url.trim(),ke("bugs/report")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return b.ok?await b.json():await Xe(b,"bug_report_create failed")}async feature_report_create(t){const s={session_id:String((t==null?void 0:t.session_id)||"").trim(),description:String((t==null?void 0:t.description)||"")},a=String((t==null?void 0:t.active_run_id)||"").trim();a&&(s.active_run_id=a);const l=String((t==null?void 0:t.workflow_id)||"").trim();l&&(s.workflow_id=l);const c=String((t==null?void 0:t.client)||"").trim();c&&(s.client=c);const d=String((t==null?void 0:t.client_version)||"").trim();d&&(s.client_version=d);const h=String((t==null?void 0:t.user_agent)||"").trim();h&&(s.user_agent=h);const f=String((t==null?void 0:t.url)||"").trim();f&&(s.url=f);const g=String((t==null?void 0:t.provider)||"").trim();g&&(s.provider=g);const y=String((t==null?void 0:t.model)||"").trim();y&&(s.model=y);const v=String((t==null?void 0:t.template)||"").trim();v&&(s.template=v);const x=t==null?void 0:t.context;x&&typeof x=="object"&&(s.context=x);const b=await fetch(Qe(this._cfg.base_url.trim(),ke("features/report")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return b.ok?await b.json():await Xe(b,"feature_report_create failed")}async prompt_cache_stats(t,s){const a=String(t||"").trim(),l=String(s||"").trim();if(!a||!l)throw new Error("prompt_cache_stats: provider and model are required");const c=Qe(this._cfg.base_url.trim(),ke(`prompt_cache/stats?provider=${encodeURIComponent(a)}&model=${encodeURIComponent(l)}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_stats failed")}async prompt_cache_capabilities(t,s){const a=String(t||"").trim(),l=String(s||"").trim();if(!a||!l)throw new Error("prompt_cache_capabilities: provider and model are required");const c=Qe(this._cfg.base_url.trim(),ke(`prompt_cache/capabilities?provider=${encodeURIComponent(a)}&model=${encodeURIComponent(l)}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_capabilities failed")}async prompt_cache_saved(t,s){const a=String(t||"").trim(),l=String(s||"").trim();if(!a||!l)throw new Error("prompt_cache_saved: provider and model are required");const c=Qe(this._cfg.base_url.trim(),ke(`prompt_cache/saved?provider=${encodeURIComponent(a)}&model=${encodeURIComponent(l)}`)),d=await fetch(c,{headers:{...Ye(this._cfg.auth_token)}});return d.ok?await d.json():await Xe(d,"prompt_cache_saved failed")}async prompt_cache_clear(t){const s={provider:String((t==null?void 0:t.provider)||"").trim(),model:String((t==null?void 0:t.model)||"").trim()},a=(t==null?void 0:t.key)===null||(t==null?void 0:t.key)===void 0?"":String(t.key||"").trim();a&&(s.key=a);const l=await fetch(Qe(this._cfg.base_url.trim(),ke("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(t){const s={provider:String((t==null?void 0:t.provider)||"").trim(),model:String((t==null?void 0:t.model)||"").trim(),name:String((t==null?void 0:t.name)||"").trim(),key:String((t==null?void 0:t.key)||"").trim(),q8:!!(t!=null&&t.q8)},a=await fetch(Qe(this._cfg.base_url.trim(),ke("prompt_cache/save")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return a.ok?await a.json():await Xe(a,"prompt_cache_save failed")}async prompt_cache_load(t){const s={provider:String((t==null?void 0:t.provider)||"").trim(),model:String((t==null?void 0:t.model)||"").trim(),name:String((t==null?void 0:t.name)||"").trim(),key:String((t==null?void 0:t.key)||"").trim(),clear_existing:!!(t!=null&&t.clear_existing)},a=await fetch(Qe(this._cfg.base_url.trim(),ke("prompt_cache/load")),{method:"POST",headers:{"Content-Type":"application/json",...Ye(this._cfg.auth_token)},body:JSON.stringify(s)});return a.ok?await a.json():await Xe(a,"prompt_cache_load failed")}}function Lm(){const e=document.cookie.split(";").map(t=>t.trim()).find(t=>t.startsWith("abstractcode_gateway_csrf="));return e?{"X-AbstractCode-CSRF":decodeURIComponent(e.slice(26))}:{}}async function ft(e,t={}){if(!e.startsWith(`${cl}/`))throw new Error("Gateway requests must use the app's authenticated proxy (a relative api/gateway/… path).");const s=new Headers(t.headers);s.set("Accept","application/json"),t.body&&!(t.body instanceof FormData)&&s.set("Content-Type","application/json");for(const[l,c]of Object.entries(Lm()))s.set(l,c);const a=await fetch(e,{...t,headers:s,credentials:"same-origin"});if(!a.ok){const l=await a.text();let c=l;try{const d=JSON.parse(l);c=typeof d.detail=="string"?d.detail:JSON.stringify(d.detail||d)}catch{}throw new Mm(c||`Gateway request failed (${a.status})`,{status:a.status,body_text:l})}if(a.status!==204)return a.json()}const Tn=new lb({base_url:""});function vt(e){return e instanceof Error?e.message:String(e)}function rs(){return Mu()}async function cb(e,t,s){const{blob:a}=await Tn.get_run_artifact_blob(e,t),l=URL.createObjectURL(a),c=document.createElement("a");c.href=l,c.download=s.replace(/[\\/]/g,"_")||"artifact",c.click(),window.setTimeout(()=>URL.revokeObjectURL(l),1e3)}const cn=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},ub=["context","messages","attachments","media"];function db(e){return ub.includes(e)}function fb(e,t){const s=cn(t);return Object.fromEntries(Object.keys(cn(e.properties)).flatMap(a=>["_runtime","_limits"].includes(a)||db(a)||!Object.prototype.hasOwnProperty.call(s,a)?[]:[[a,structuredClone(s[a])]]))}function ep(e){if(!e)return;const t=cn(e.input_data_schema||e.input_schema||e.schema||e),s=Object.fromEntries(Object.entries(cn(t.properties)).map(([a,l])=>[a,{...cn(l)}]));for(const a of Array.isArray(e.inputs)?e.inputs:[])a!=null&&a.id&&(s[a.id]={...cn(a.schema),...s[a.id],...a.type?{"x-abstract-type":a.type}:{},...a.label?{title:a.label}:{},...Object.prototype.hasOwnProperty.call(a,"default")?{default:a.default}:{}});for(const[a,l]of Object.entries(cn(e.defaults)))s[a]={...s[a],default:l};return{...t,properties:s}}function hb(e,t){var g;const s=cn(t).nodes;if(!Array.isArray(s))throw new Error("The workflow input declarations could not be verified. Please retry.");const a=s.find(y=>{var v;return(((v=y==null?void 0:y.data)==null?void 0:v.nodeType)||(y==null?void 0:y.type))==="on_flow_start"});if(!a||!Array.isArray((g=a.data)==null?void 0:g.outputs))throw new Error("The workflow start inputs could not be verified. Please retry.");const l=a.data.outputs.filter(y=>typeof(y==null?void 0:y.id)=="string"&&y.id&&y.type!=="execution"&&!["exec","exec-out"].includes(y.id)),c=new Set(l.map(y=>y.id)),d=new Set((Array.isArray(e.required)?e.required:[]).filter(y=>!c.has(y))),h={...e.properties},f=cn(a.data.pinDefaults);for(const y of l)y.required===!0&&d.add(y.id),h[y.id]={...cn(h[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:h,required:[...d]}}function $i(e){return Object.fromEntries(Object.entries((e==null?void 0:e.properties)||{}).flatMap(([t,s])=>Object.prototype.hasOwnProperty.call(cn(s),"default")?[[t,structuredClone(cn(s).default)]]:[]))}function pb(e){const t=Array.isArray(e.type)?e.type.find(a=>a!=="null"):e.type;if(t)return t;const s=e["x-abstract-type"];return["tools","assertions"].includes(s)?"array":["json_schema","memory","assertion"].includes(s)?"object":"string"}function mb(e){const t=(e==null?void 0:e.properties)||{},s=l=>{const c=t[l];return c&&(c.type==="string"||Array.isArray(c.type)&&c.type.includes("string")||!c.type&&c["x-abstract-type"]==="string")},a=Object.keys(t).filter(l=>{var c;return((c=t[l])==null?void 0:c["x-abstract-role"])==="prompt"&&s(l)});return a.length?a.length===1?a[0]:void 0:["prompt","request","task","message","query","input"].find(s)}function gb(e,t){var l,c,d;if(!e)return[];const s={...$i(e),...t},a=[];for(const h of Array.isArray(e.required)?e.required:[])s[h]===void 0&&a.push(`${((c=(l=e.properties)==null?void 0:l[h])==null?void 0:c.title)||h} is required.`);for(const[h,f]of Object.entries(s)){const g=(d=e.properties)==null?void 0:d[h];if(!g||f===void 0)continue;const y=g.title||h;Array.isArray(g.enum)&&!g.enum.some(k=>JSON.stringify(k)===JSON.stringify(f))&&a.push(`${y} must be one of the available choices.`);const v=Array.isArray(g.type)?g.type:g.type?[g.type]:[];if(f===null&&(v.includes("null")||!v.length))continue;const x=Array.isArray(f)?"array":f===null?"null":typeof f,b=v.includes(x)?x:x==="number"&&v.includes("integer")?"integer":v[0];(b==="number"||b==="integer")&&(typeof f!="number"||!Number.isFinite(f)||b==="integer"&&!Number.isInteger(f))&&a.push(`${y} must be ${b==="integer"?"a whole number":"a number"}.`),typeof f=="number"&&g.minimum!==void 0&&f<g.minimum&&a.push(`${y} must be at least ${g.minimum}.`),typeof f=="number"&&g.maximum!==void 0&&f>g.maximum&&a.push(`${y} must be at most ${g.maximum}.`),b==="string"&&typeof f!="string"&&a.push(`${y} must be text.`),typeof f=="string"&&g.minLength!==void 0&&f.length<g.minLength&&a.push(`${y} must contain at least ${g.minLength} characters.`),b==="boolean"&&typeof f!="boolean"&&a.push(`${y} must be true or false.`),b==="array"&&!Array.isArray(f)&&a.push(`${y} must be a JSON array.`),b==="object"&&(f===null||typeof f!="object"||Array.isArray(f))&&a.push(`${y} must be a JSON object.`)}return a}function Pm(e){const t=(e==null?void 0:e.properties)||{},s=[];for(const[a,l]of Object.entries(t)){const c=cn(l);if(!(a==="provider"||a.endsWith("_provider")||String(c["x-abstract-type"]||"").startsWith("provider")))continue;const d=String(c["x-abstract-type"]||""),h=a.replace("provider","model"),f=Object.keys(t).filter(b=>{var k;return((k=t[b])==null?void 0:k["x-abstract-type"])===d.replace(/^provider/,"model")}),g=h!==a&&t[h]?h:f.length===1?f[0]:"";if(!g)continue;const y=a==="provider"?"":a.startsWith("provider_")?a.slice(9):a.endsWith("_provider")?a.slice(0,-9):d.replace(/^provider_?/,""),v=y&&y!=="text"?`${y}_`:"",x=[`${v}reasoning`,`${v}thinking`,`${v}reasoning_effort`,`reasoning_${y}`,`thinking_${y}`].find(b=>t[b]);s.push({provider:a,model:g,reasoning:x,title:v?v.replace(/_/g," ").trim():"Text model"})}return s}const Ju={fetchProviders:async()=>{const e=await Tn.discovery_providers(),t=e.providers||e.items;return Array.isArray(t)?t.map(s=>typeof s=="string"?{name:s}:s):[]},fetchModels:async e=>{const t=await Tn.discovery_provider_models(e),s=t.models||t.items;return Array.isArray(s)?s.map(a=>typeof a=="string"?a:a.id||a.name).filter(Boolean):[]},fetchModelCapabilities:(e,t="")=>Tn.discovery_model_capabilities(e,t)};function yb(e){for(const t of["output.text","input.text"]){const s=(Array.isArray(e==null?void 0:e.routes)?e.routes:[]).find(a=>a.key===t&&a.source!=="not_configured"&&a.provider&&a.model);if(s)return{provider:s.provider,model:s.model}}}function wb(e,t){e.startsWith("provider_")?e=`${e.slice(9)}_provider`:t!=null&&t.startsWith("provider_")&&!e.endsWith("_provider")&&(e=`${t.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 Ju;const a=e==="voice_provider",l=ke(s?`vision/provider_models?task=${s}`:a?"audio/speech/models?compact=true":"audio/music/models?task=text_to_music"),c=s?`${l}&providers_only=true`:ke(a?"voice/voices?providers_only=true&compact=true":"audio/music/providers?task=text_to_music"),d=h=>Array.isArray(h)?h.map(f=>typeof f=="string"?f:f.id||f.name).filter(Boolean):[];return{fetchProviders:async()=>{const h=await ft(c);if(h.error)throw new Error(h.error);return d(h.providers||h.available_providers||h.items).map(f=>({name:f}))},fetchModels:async h=>{var g,y,v;const f=await ft(`${l}&provider=${encodeURIComponent(h)}`);if(f.error)throw new Error(f.error);return d(((g=f.models_by_provider)==null?void 0:g[h])||((y=f.tts_models_by_provider)==null?void 0:y[h])||((v=f.music_models_by_provider)==null?void 0:v[h])||f.models||f.items)}}}const vb=["gateway_default","on","off"],Om={status:"loading"};function _b(e,t){if(t)return{status:"unsupported",reason:`the gateway's capabilities could not be read (${t})`};const s=e==null?void 0:e.capabilities,a=s==null?void 0:s.streaming;return!a||typeof a!="object"||a.deltas!==!0?{status:"unsupported",reason:"not supported by this gateway (it does not advertise live replies)"}:{status:"supported",gatewayDefault:typeof a.default=="boolean"?a.default:null}}function xb(e){return vb.includes(e)?e:"gateway_default"}function bb(e,t){return e==="on"&&t.status!=="supported"?"gateway_default":e}function kb(e,t,s){if(e!=="on"||t.status!=="unsupported"||!s.length)return null;const a=s.find(l=>l.role==="user")||s[0];return{after:a.id?String(a.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: ${t.reason}. Replies appear when they are complete.`}}}function jb(e){try{const t=JSON.parse(e);return typeof(t==null?void 0:t.call_id)=="string"&&t.call_id?t.call_id:""}catch{return""}}function Sb(e,t){const s=jb(e.frame.data),a=s?`call:${s}`:`error:${e.error.message}`;return{after:t,message:{id:`stream-replies:malformed:${e.runId}:${a}`,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 Nb(e,t){return e.some(s=>s.message.id===t.message.id)?[...e]:[...e,t]}function Cb(e,t){const s=t.filter(h=>!!h);if(!s.length)return[...e];const a=[],l=new Set;for(const h of e){a.push(h);for(const f of s)!l.has(f)&&f.after!==null&&String(h.id)===f.after&&(a.push(f.message),l.add(f))}const c=s.filter(h=>!l.has(h)&&h.after===null),d=s.filter(h=>!l.has(h)&&h.after!==null);return[...c.map(h=>h.message),...a,...d.map(h=>h.message)]}function Eb(e){return e.status==="supported"&&e.gatewayDefault!==null?`Gateway default (${e.gatewayDefault?"on":"off"})`:"Gateway default"}const gn="@default",is="abstractcode.agent.v1";function nr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function on(e){return typeof e=="string"&&e.trim()?e.trim():void 0}const $b="gateway does not report a default agent workflow";function Ab(e,t=is){var y,v;const s=nr(e);if(!s)return{status:"unavailable",reason:"the gateway's workflow list could not be loaded"};const a=nr(s.default_agent_workflows);if(!a)return{status:"unavailable",reason:$b};const l=nr(a[t]);if(!l){const x=on((v=nr((y=nr(s.default_agent_workflows_unavailable))==null?void 0:y[t]))==null?void 0:v.reason);return{status:"unavailable",reason:x?`no default workflow for ${t}: ${x}`:`gateway reports no default workflow for ${t}`}}const c=on(l.bundle_id),d=on(l.flow_id),h=on(l.registry_scope);if(!c||!d||!h)return{status:"unavailable",reason:`gateway's default workflow for ${t} is missing its bundle, flow or registry scope`};const f=on(l.bundle_version);return{status:"ok",workflow:{workflowId:on(l.workflow_id)??`${c}${f?`@${f}`:""}:${d}`,bundleId:c,...f?{bundleVersion:f}:{},flowId:d,registryScope:h,name:on(l.name)??d,...on(l.source)?{source:on(l.source)}:{}}}}function Tb(e){if(e.status==="loading")return"Gateway default (loading…)";if(e.status==="unavailable")return`Gateway default — ${e.reason}`;const{name:t,bundleVersion:s}=e.workflow;return`Gateway default → ${t}${s?` @${s}`:""}`}function Rb(e,t,s=is){if(e.status!=="ok")return null;const a=e.workflow,l=t.find(c=>(c.registryScope??"private")===a.registryScope&&c.bundleId===a.bundleId&&c.flowId===a.flowId&&(!a.bundleVersion||c.bundleVersion===a.bundleVersion));return l||{id:`${a.registryScope}:${a.workflowId}`,workflowId:a.workflowId,bundleId:a.bundleId,...a.bundleVersion?{bundleVersion:a.bundleVersion}:{},flowId:a.flowId,name:a.name,description:"",interfaces:[s],registryScope:a.registryScope}}function lu(e,t=is){if(!e||e.interfaces.includes(t))return"";const s=e.interfaces.length?e.interfaces.join(", "):"no interface";return`The gateway default ${e.name} does not declare ${t} (it declares ${s}); it will not run as a coding agent here.`}function Ib(e){return((e==null?void 0:e.entries)??[]).map(t=>({id:`${t.registryScope}:${t.value}`,workflowId:t.value,bundleId:t.bundleId,...t.bundleVersion?{bundleVersion:t.bundleVersion}:{},flowId:t.flowId,name:t.name,description:t.description,interfaces:t.interfaces,registryScope:t.registryScope}))}function Mb(e,t){return e===gn?wl:(t==null?void 0:t.workflowId)??e}function Lb(e,t){return e===wl||!t?gn:`${t.registryScope}:${t.value}`}function Pb(e){const t=s=>s===gn||e.visible.some(a=>a.id===s)||!!e.runId&&e.workflows.some(a=>a.id===s);return e.selection&&t(e.selection)?e.selection:e.preferred&&t(e.preferred)?e.preferred:gn}function Qu(e){var s,a;const t=nr((a=nr((s=nr(e))==null?void 0:s.input_data))==null?void 0:a.workflow_selection);return on(t==null?void 0:t.source)}function Ob(e){var t;return Qu(e.restoredInputs)==="gateway_default"?gn:(t=e.restored)==null?void 0:t.id}function Db(e){return!nr(e)||Qu(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 Fb(e){return e.selection===gn?{flow_id:gn,interface:e.interfaceId??is,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 zb(e){const t=nr(e);if(!t)return{text:"the gateway did not report which workflow it started",missing:!0};const s=on(t.name)??on(t.workflow_id)??on(t.flow_id)??"unnamed workflow",a=on(t.bundle_version);return{text:`running ${s}${a?` @${a}`:""}${t.source==="gateway_default"?" (gateway default)":""}`,missing:!1}}const cu=25,Wb=4,Ub=e=>`runs?root_only=true&include_ledger_len=false&limit=${e}`;function Bb(e){const t=(e==null?void 0:e.items)??(e==null?void 0:e.runs);return Array.isArray(t)?t.length:0}async function Vb(e,t){let s=Math.max(1,t)*Wb;for(;;){const a=await e(s);if((a==null?void 0:a.has_more)!==!0||Bb(a)<s||Im(a).length>t)return a;s*=2}}function Gb(e,t){return{sessions:e.slice(0,t),hasMore:e.length>t}}const uu={gatewayDefault:{status:"loading"},executable:{status:"idle",data:null,error:""},workflows:[],policy:null,tools:[],sessions:[],capabilities:{},capabilitiesLoading:!0,streaming:Om,loading:!1,errors:[],hasMore:!1};function Hb(e){var s;const t=((s=e==null?void 0:e.capabilities)==null?void 0:s.contracts)??(e==null?void 0:e.contracts)??e;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Kb(e,t){const[s,a]=w.useState(uu),l=w.useRef(cu),c=w.useRef(0),d=w.useRef(),h=w.useRef(0),f=w.useRef(),g=w.useRef({identity:"",values:{}}),y=w.useCallback(j=>Vb(C=>ft(ke(Ub(C)),{signal:j}),l.current),[]),v=j=>Gb(Im(j,g.current.values),l.current),x=w.useCallback(async(j,C,$)=>{const E=()=>h.current!==C||$.aborted,A=v(j).sessions.filter(z=>!z.prompt&&!(z.firstRunId in g.current.values));for(let z=0;z<A.length;z+=4){if(E()||(await Promise.all(A.slice(z,z+4).map(async F=>{try{const P=await ft(ke(`runs/${encodeURIComponent(F.firstRunId)}/input_data`),{signal:$});E()||(g.current.values[F.firstRunId]=P)}catch(P){!$.aborted&&(P==null?void 0:P.status)===401&&t()}})),E()))return;a(F=>({...F,sessions:v(j).sessions}))}},[t]),b=w.useCallback(async()=>{var $;if(!e)return;const j=++h.current;($=f.current)==null||$.abort();const C=new AbortController;f.current=C,a(E=>({...E,loading:!0}));try{const E=await y(C.signal);if(h.current!==j)return;const A=v(E);a(z=>({...z,loading:!1,sessions:A.sessions,hasMore:A.hasMore,errors:z.errors.filter(F=>!F.startsWith("Conversations: "))})),await x(E,j,C.signal)}catch(E){if(C.signal.aborted||h.current!==j)return;(E==null?void 0:E.status)===401&&t(),a(A=>({...A,loading:!1,errors:[...A.errors.filter(z=>!z.startsWith("Conversations: ")),`Conversations: ${vt(E)}`]}))}},[e,y,x,t]),k=w.useCallback(async()=>{var Y,Q;const j=++c.current,C=++h.current;(Y=f.current)==null||Y.abort(),(Q=d.current)==null||Q.abort();const $=new AbortController;if(d.current=$,g.current.identity!==e&&(g.current={identity:e,values:{}}),!e){a(uu);return}a(W=>({...W,loading:!0,capabilitiesLoading:!0,errors:[],executable:{...W.executable,status:"loading",error:""}}));const E=W=>ft(ke(W),{signal:$.signal}),A=await Promise.allSettled([E("bundles?all_versions=true&include_drafts=false"),E("workspace/policy"),E("discovery/tools"),y($.signal),E("discovery/capabilities"),E("workflow-catalog?scope=tenant"),E("config/capability-defaults"),E(em(is))]);if(c.current!==j)return;const z=W=>A[W].status==="fulfilled"?A[W].value:void 0,F=[];A.forEach((W,J)=>{var fe,ce;W.status==="rejected"&&(((fe=W.reason)==null?void 0:fe.status)===401&&t(),!(J===5&&[403,404,501].includes((ce=W.reason)==null?void 0:ce.status))&&J!==7&&F.push(`${["Workflows","Workspace policy","Tools","Conversations","Capabilities","Shared workflows","Gateway defaults"][J]}: ${vt(W.reason)}`))});const P=h.current===C,M=v(z(3));let U;if(A[7].status==="rejected")U={status:"error",data:null,error:`Workflows for this app: ${vt(A[7].reason)}`};else try{U={status:"ready",data:Ov(z(7),is),error:""}}catch(W){U={status:"error",data:null,error:String((W==null?void 0:W.message)||W)}}a(W=>({executable:U,workflows:Xx(z(0),z(5)),policy:z(1)?eb(z(1)):null,tools:tb(z(2)),sessions:P?M.sessions:W.sessions,capabilities:Hb(z(4)),capabilitiesLoading:!1,streaming:_b(z(4),A[4].status==="rejected"?vt(A[4].reason):void 0),defaultModel:yb(z(6)),gatewayDefault:Ab(z(0)),loading:!1,errors:F,hasMore:P?M.hasMore:W.hasMore})),P&&z(3)&&await x(z(3),C,$.signal)},[e,t,y,x]);w.useEffect(()=>(l.current=cu,a(uu),k(),()=>{var j,C;c.current+=1,h.current+=1,(j=d.current)==null||j.abort(),(C=f.current)==null||C.abort()}),[k]);const S=w.useCallback(()=>{l.current+=cu,b()},[b]);return{...s,refresh:k,loadMore:S}}async function Jb(e){if(e.inputSchema)return ep(e.inputSchema);if(!e.bundleId)return;const t=encodeURIComponent(e.bundleId),s=encodeURIComponent(e.flowId),a=e.registryScope==="tenant_catalog"&&e.bundleVersion?ke(`workflow-catalog/${t}/versions/${encodeURIComponent(e.bundleVersion)}/flows/${s}/input_schema?scope=tenant`):ke(`bundles/${t}/flows/${s}/input_schema${e.bundleVersion?`?bundle_version=${encodeURIComponent(e.bundleVersion)}`:""}`),l=await ft(a),c=ep(l);if(!c||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(c.required)||!c.required.length)return c;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 h={bundle_id:e.bundleId,bundle_version:d,flow_id:e.flowId},f=v=>{for(const[x,b]of Object.entries(h))if((v==null?void 0:v[x])!==b)throw new Error("The Gateway returned inputs for a different workflow version. Refresh workflows and retry.");if(e.registryScope==="tenant_catalog"&&(v==null?void 0:v.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"?ke(`workflow-catalog/${t}/versions/${encodeURIComponent(d)}/flows/${s}?scope=tenant`):ke(`bundles/${t}/flows/${s}?bundle_version=${encodeURIComponent(d)}`),y=await ft(g);return f(y),hb(c,y.flow)}const du=e=>ke(`runs/${encodeURIComponent(e)}`);function Qb(e){return{getRun:(t,s)=>ft(du(t),{signal:s}),getHistory:(t,s)=>ft(`${du(t)}/history_bundle?include_subruns=true&include_session=true&ledger_mode=full`,{signal:s}),getLedger:(t,s,a)=>ft(`${du(t)}/ledger?after=${s}&limit=200`,{signal:a}),streamLedger:(t,s,a,l,c,d)=>Tn.stream_ledger(t,{after:s,on_step:a,signal:l,on_open:c,on_delta:d,on_delta_error:(h,f)=>e.onDeltaError({runId:t,error:h,frame:f})}),submitCommand:(t,s)=>ft(ke("commands"),{method:"POST",body:JSON.stringify(t),signal:s})}}function er(e){return typeof e=="string"?e.trim():""}function Yb(e){const t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},a=(Array.isArray(t.skills)?t.skills:[]).flatMap(h=>{const f=h&&typeof h=="object"&&!Array.isArray(h)?h:null,g=er(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:er(f.description),trustLevel:er(f.trust_level)||"unverified",blocked:f.blocked===!0,requiresReview:f.requires_review===!0,reasons:Array.isArray(f.reasons)?f.reasons.map(er).filter(Boolean):[],source:y?{source:er(y.source),binding:er(y.binding),ambiguous:y.ambiguous===!0}:void 0}]}),l=Array.isArray(t.warnings)?t.warnings.map(er).filter(Boolean):[],c=er(t.shelf),d=er(t.shelf_source);return{skills:a.sort((h,f)=>h.name.localeCompare(f.name)),warnings:l,...c?{shelf:c}:{},...d?{shelfSource:d}:{}}}function Xb({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((t,s)=>i.jsx("p",{children:e.shelf?t:`The gateway has no skill shelf: ${t}`},`${t}:${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 Zb(e){var a;const t=e.trustLevel.replace(/[_-]+/g," "),s=(a=e.source)!=null&&a.source?`Adopted from ${e.source.source}`:"Source has no adoption record";return`Trust: ${t}. ${s}${e.requiresReview?". Review required":""}.`}function qb({skill:e,checked:t,disabled:s,onChange:a,lockedReasonId:l}){const c=e.reasons.join(" ")||"Blocked by gateway policy.",d=e.blocked?`Blocked by the gateway: ${c}`:s?"Available when a gateway is connected and no run is in progress.":null;return i.jsx("div",{className:"code-field code-skill-row",children:i.jsx(Ri,{variant:"row",action:"skill",label:e.name,description:i.jsxs(i.Fragment,{children:[e.description?i.jsx("span",{className:"code-skill-row__desc",children:e.description}):null,i.jsx("span",{className:"code-skill-row__trust",children:Zb(e)})]}),checked:t,unavailableReason:d,describedBy:!e.blocked&&s?l:void 0,onChange:a})})}function ek({value:e,onChange:t,disabled:s,lockedReasonId:a}){const[l,c]=w.useState({skills:[],warnings:[]}),[d,h]=w.useState(""),[f,g]=w.useState(!0),[y,v]=w.useState(""),[x,b]=w.useState(0);w.useEffect(()=>{const C=new AbortController;return g(!0),v(""),ft(ke("skills"),{signal:C.signal}).then($=>{C.signal.aborted||c(Yb($))}).catch($=>{C.signal.aborted||v(vt($))}).finally(()=>{C.signal.aborted||g(!1)}),()=>C.abort()},[x]);const k=w.useMemo(()=>new Set(e.map(er).filter(Boolean)),[e]),S=w.useMemo(()=>{const C=d.trim().toLocaleLowerCase();return C?l.skills.filter($=>`${$.name}
|
|
69
|
+
${$.description}
|
|
70
|
+
${$.trustLevel}`.toLocaleLowerCase().includes(C)):l.skills},[l.skills,d]),j=(C,$)=>{const E=$?[...k,C]:[...k].filter(A=>A!==C);t([...new Set(E)])};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:d,onChange:C=>h(C.target.value),disabled:s||f,placeholder:"Search names, descriptions, or trust"})]}),f?i.jsx("p",{className:"code-muted",role:"status",children:"Loading skills from the gateway…"}):null,y?i.jsxs("div",{className:"code-inline-error",role:"alert",children:["Skill selection is unavailable: ",y," ",i.jsx("button",{className:"code-text-button",type:"button",onClick:()=>b(C=>C+1),disabled:s,children:"Retry"})]}):null,l.warnings.length&&l.skills.length?i.jsxs("details",{className:"code-disabled-tools",children:[i.jsxs("summary",{children:["Gateway reported ",l.warnings.length," skills warning",l.warnings.length===1?"":"s"]}),l.warnings.map((C,$)=>i.jsx("p",{children:C},`${C}:${$}`))]}):null,!f&&!y&&!l.skills.length?i.jsx(Xb,{inventory:l}):null,!f&&!y&&l.skills.length&&!S.length?i.jsx("p",{className:"code-muted",children:"No skills match your search."}):null,S.map(C=>i.jsx(qb,{skill:C,checked:k.has(C.name),disabled:s,lockedReasonId:a,onChange:$=>j(C.name,$)},C.name))]})}function Yu(e){if(!["ArrowLeft","ArrowRight","Home","End"].includes(e.key))return;const t=[...e.currentTarget.querySelectorAll('button[role="tab"]')].filter(l=>!l.disabled),s=t.indexOf(e.target);if(s<0||!t.length)return;e.preventDefault();const a=e.key==="Home"?0:e.key==="End"?t.length-1:(s+(e.key==="ArrowRight"?1:-1)+t.length)%t.length;t[a].focus(),t[a].click()}function Dm(e,t,s="default"){const a=e.filter(c=>c.enabled&&!c.servedDisabled&&(t.mode==="all"||t.selected.includes(c.name))),l=c=>{const d=t.approval[c.name];if(d==="ask")return!1;if(d==="approve"||s==="all")return!0;const h=["auto","approve"].includes((c.approval||"").trim().toLowerCase());if(s==="default")return h;const f=h?1:["write_file","edit_file"].includes(c.name)?2:3,g=c.riskRank===void 0||c.riskRank===1?1:c.riskRank===2?2:3;return Math.max(f,g)<=(s==="write"?2:1)};return{enabledTools:a.map(c=>c.name),autoApproveTools:a.filter(l).map(c=>c.name),requireApprovalTools:a.filter(c=>!l(c)).map(c=>c.name)}}function tk(e,t){if(!Array.isArray(t))return e;const s=a=>t.includes(a);return{enabledTools:e.enabledTools.filter(s),autoApproveTools:e.autoApproveTools.filter(s),requireApprovalTools:e.requireApprovalTools.filter(s)}}const tp="code-settings-locked",jr={provider:"",model:"",reasoning:"",maxIterations:"",maxTokens:"",system:"",workspaceRoot:"",workspaceMode:"",allowedPaths:"",tools:{mode:"all",selected:[],approval:{}},toolsCustomized:!1,permissions:"default",skills:[],workflow:"@default",streamReplies:"gateway_default"};function nk({open:e,onClose:t,tab:s,onTab:a,value:l,onChange:c,policy:d,tools:h,disabled:f,defaultModel:g,workflowDefault:y,streaming:v=Om,topOffset:x}){const b=k=>c({...l,...k});return i.jsx(wu,{open:e,onClose:t,label:"Run settings",title:"Run settings",width:480,topOffset:x??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:Yu,children:["model","workspace","tools","skills"].map(k=>i.jsx("button",{role:"tab",tabIndex:s===k?0:-1,"aria-selected":s===k,onClick:()=>a(k),children:k==="model"?"Model & behavior":k==="workspace"?"Workspace":k==="tools"?"Tools":"Skills"},k))}),f?i.jsx("p",{className:"code-notice",id:tp,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(Iu,{defaultModeLabel:y?"Workflow default":"Gateway default",value:l,onChange:b,disabled:f,effectiveDefault:g,fetchModelCapabilities:Ju.fetchModelCapabilities,enableSpeculation:!0,defaultHint:g?`${y?"Workflow":"Gateway"} default: ${g.provider} · ${g.model}.`:void 0,fetchProviders:async()=>{const k=await Tn.discovery_providers();return Array.isArray(k.providers)?k.providers:Array.isArray(k.items)?k.items:[]},fetchModels:async k=>{const S=await Tn.discovery_provider_models(k);return(Array.isArray(S.models)?S.models:Array.isArray(S.items)?S.items:[]).map(j=>typeof j=="string"?j:j.id||j.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:k=>b({maxIterations:k.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:k=>b({maxTokens:k.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:k=>b({system:k.target.value})})]}),i.jsx("p",{className:"code-field-help",children:"Reasoning and additional instructions depend on the selected workflow and model."}),i.jsx(rk,{value:l.streamReplies,onChange:k=>b({streamReplies:k}),disabled:f,streaming:v})]})]}):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(k=>k.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:k=>b({workspaceRoot:k.target.value})})]}),i.jsxs("label",{className:"code-field",children:["Access mode",i.jsxs("select",{value:l.workspaceMode,disabled:f,onChange:k=>b({workspaceMode:k.target.value}),children:[i.jsx("option",{value:"",children:"Gateway default"}),d.allowedAccessModes.map(k=>i.jsx("option",{value:k,children:k.replace(/_/g," ")},k))]})]}),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:k=>b({allowedPaths:k.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:k=>b({permissions:k.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(ew,{tools:h.filter(k=>k.enabled).map(k=>({...k,default_approval:Dm(h,l.tools,l.permissions).autoApproveTools.includes(k.name)?"approve":"ask"})),value:l.tools,onChange:k=>b({tools:k,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."}),h.some(k=>!k.enabled)?i.jsxs("details",{className:"code-disabled-tools",children:[i.jsxs("summary",{children:[h.filter(k=>!k.enabled).length," tools unavailable under gateway policy"]}),h.filter(k=>!k.enabled).map(k=>i.jsxs("p",{children:[i.jsx("strong",{children:k.name}),i.jsx("br",{}),k.whyDisabled||"Disabled by the gateway"]},k.name))]}):null,i.jsx("button",{className:"code-text-button",disabled:f,onClick:()=>b({toolsCustomized:!1,tools:jr.tools,permissions:"default"}),children:"Use workflow tool defaults"})]}):i.jsx(ek,{value:l.skills,onChange:k=>b({skills:k}),disabled:f,lockedReasonId:tp})]})})}function rk({value:e,onChange:t,disabled:s,streaming:a}){const l=a.status!=="supported",c=a.status==="unsupported"?`Unavailable: ${a.reason}. Replies appear when they are complete.`:a.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=>t(d.target.value),children:[i.jsx("option",{value:"gateway_default",children:Eb(a)}),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":a.status,children:c})]})}const np=kp("voice and camera")??"Voice and camera are not supported in this browser (getUserMedia unavailable).";function sk(){var t;const e=globalThis.navigator;return typeof((t=e==null?void 0:e.mediaDevices)==null?void 0:t.getUserMedia)=="function"}function ik(e){var l;const t=globalThis.document;if(!t||!t.body||typeof t.execCommand!="function")return!1;const s=t.createElement("textarea");s.value=e,s.setAttribute("readonly",""),s.style.position="fixed",s.style.top="0",s.style.left="-9999px",s.style.opacity="0";const a=t.activeElement;t.body.appendChild(s);try{return s.select(),s.setSelectionRange(0,e.length),t.execCommand("copy")===!0}catch{return!1}finally{t.body.removeChild(s);try{(l=a==null?void 0:a.focus)==null||l.call(a)}catch{}}}async function ak(e){var a;const t=String(e??""),s=globalThis.navigator;if(typeof((a=s==null?void 0:s.clipboard)==null?void 0:a.writeText)=="function")try{return await s.clipboard.writeText(t),!0}catch{}return ik(t)}async function ok(e){const t=String(e??"");return t?ak(t):!1}const lk=3,rp=["KB","MB","GB","TB"];function za(e){const t=Math.max(0,Number(e)||0);if(t<1024)return`${t} B`;let s=t/1024,a=0;for(;s>=1024&&a<rp.length-1;)s/=1024,a+=1;return`${s<10?Math.round(s*10)/10:Math.round(s)} ${rp[a]}`}function sp(e){return`${Math.round(e).toLocaleString("en-US")} bytes`}function Fm(e,t){if(!t||!(t>0)||e.size<=t)return null;let s=za(e.size),a=za(t);return s===a&&(s=sp(e.size),a=sp(t)),`${e.name||"This file"} is ${s}; the gateway accepts files up to ${a}.`}function ck(e){return`Upload failed: ${String(e||"").replace(/^attachments_upload failed:?\s*/i,"").trim()||"the gateway did not say why"}`}function uk(e,t,s){return e.map(a=>{const l=Fm(a,t);return{id:s(),file:a,name:a.name||"Untitled file",size:a.size,status:l?"refused":"queued",...l?{message:l}:{}}})}async function dk(e,t,s){let a=0;const l=Array.from({length:Math.max(1,Math.min(Math.floor(t)||1,e.length))},async()=>{for(;a<e.length;){const c=e[a];a+=1,await s(c)}});await Promise.all(l)}function ml(e){return`${e} ${e===1?"file":"files"}`}function ip(e,t){const s=[];return e&&s.push(`${ml(e)} attached`),t&&s.push(`${ml(t)} could not be attached`),s.join(", ")}function fk(e){const t=e.filter(l=>l.status==="queued"||l.status==="uploading").length;if(t)return`Wait for ${ml(t)} to finish uploading.`;const s=e.filter(l=>l.status==="failed"||l.status==="refused");if(!s.length)return null;const a=s.some(l=>l.status==="failed");return s.length===1?`"${s[0].name}" was not attached. ${a?"Retry or remove":"Remove"} it before sending.`:`${ml(s.length)} were not attached. ${a?"Retry or remove":"Remove"} them before sending.`}const ap=1024*1024,hk="1 MiB",op=e=>ke(`runs/${encodeURIComponent(e)}/workspace`),$u=(e,t)=>fetch(e,{...t,credentials:"same-origin"}),pk=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(" ")),mk=new Set("png jpg jpeg gif webp bmp ico avif svg".split(" "));function gk(e){const t=e.split("/").pop()||e,s=t.lastIndexOf(".");return s>0?t.slice(s+1).toLowerCase():t.toLowerCase()}function lp(e,t=""){const s=gk(e),a=t.split(";",1)[0].trim().toLowerCase();return s==="md"||s==="markdown"||a==="text/markdown"?"markdown":s==="json"||s==="jsonl"||a==="application/json"||a.endsWith("+json")?s==="jsonl"?"text":"json":mk.has(s)||a.startsWith("image/")?"image":s==="html"||s==="htm"||a==="text/html"?"html":pk.has(s)||a.startsWith("text/")||["application/javascript","application/xml","application/x-yaml","application/toml"].includes(a)?"text":"binary"}function yk(e){var t;return e.open_supported===!0&&((t=e.host)==null?void 0:t.caller_is_this_machine)===!0}function wk({info:e,onCopy:t,onOpen:s,opening:a}){var c,d;const l=((c=e.host)==null?void 0:c.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:t,children:i.jsx(ae,{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."}),yk(e)?i.jsxs("button",{className:"code-subtle-button",onClick:s,disabled:a,children:[i.jsx(ae,{name:"terminal",size:13}),i.jsx("span",{children:a?"Opening…":"Open folder"})]}):null]})}function cp(e,t){return typeof e.size_bytes!="number"?null:Fm({name:e.name,size:e.size_bytes},t)}function vk(e,t){return t?t.status==="refused"?`Not attached: ${t.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 zm(e){const t=e.headers.get("content-range"),s=t?Number(t.split("/")[1]):NaN;if(Number.isFinite(s))return s;const a=Number(e.headers.get("content-length"));return e.status===200&&Number.isFinite(a)&&e.headers.has("content-length")?a:void 0}async function _k(e,t,s){var g;const a=new TextDecoder;let l="",c=0;const d=(g=e.body)==null?void 0:g.getReader();if(d){for(;c<t;){const{done:y,value:v}=await d.read();if(y)break;const x=v.subarray(0,t-c);c+=x.length,l+=a.decode(x,{stream:!0})}await d.cancel().catch(()=>{})}const h=zm(e)??s,f=h!==void 0?h>c:c>=t;return{text:l,received:c,total:h,partial:f}}function xk(e){return`Showing the first ${hk} of ${e!==void 0?Em(e):"a file of unknown size"}; download for the rest.`}function bk(e,t,s){const a=ke(`runs/${encodeURIComponent(t)}/workspace/content?`),l=s.split("/").slice(0,-1),c=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(kk(y));return g.length?Da(t,g.join("/")):null},d=f=>{let g="",y=0;for(;y<f.length;){if(f[y]==="!"&&f[y+1]==="["){const v=f.indexOf("]",y+2);if(v!==-1&&f[v+1]==="("){const x=f.indexOf(")",v+2);if(x!==-1){const b=f.slice(y+2,v),k=f.slice(v+2,x).trim(),S=k.startsWith(a)?k:c(k);g+=S?``:`[image: ${b||k}](${k})`,y=x+1;continue}}}g+=f[y],y+=1}return g};let h=!1;return e.split(`
|
|
71
|
+
`).map(f=>/^\s*(```|~~~)/.test(f)?(h=!h,f):h?f:d(f)).join(`
|
|
72
|
+
`)}function kk(e){try{return decodeURIComponent(e)}catch{return e}}function jk({entry:e,url:t,state:s,onAttach:a,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:t,download:e.name,children:"Download"}),i.jsx("button",{className:"code-text-button",onClick:a,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:xk(s.total)}):null,s.kind==="image"?i.jsx("img",{className:"code-file-preview-image",src:t,alt:e.name}):s.kind==="markdown"?i.jsx(hm,{text:s.text||""}):s.kind==="json"?i.jsx(Sk,{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 Sk({text:e}){try{return i.jsx(Rs,{value:JSON.parse(e),collapseAfterDepth:2})}catch(t){return i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"code-field-help",children:["Not valid JSON (",vt(t),"); shown as text."]}),i.jsx("pre",{className:"code-file-preview-text",children:e})]})}}function Nk({runId:e,enabled:t,refreshKey:s,maxAttachmentBytes:a,onAttachFiles:l,heading:c="Conversation workspace"}){const[d,h]=w.useState(null),[f,g]=w.useState(""),[y,v]=w.useState(0),[x,b]=w.useState(""),[k,S]=w.useState(!1),[j,C]=w.useState(null),[$,E]=w.useState({status:"idle"}),[A,z]=w.useState(!1),F=w.useCallback(M=>C(M),[]);if(w.useEffect(()=>{C(null)},[e]),w.useEffect(()=>{if(h(null),g(""),!t||!e)return;const M=new AbortController;return ft(op(e),{signal:M.signal}).then(U=>h(U)).catch(U=>{M.signal.aborted||g(vt(U))}),()=>M.abort()},[t,e,y]),w.useEffect(()=>{if(!j||!e){E({status:"idle"});return}if(lp(j.name)==="image"){E({status:"ready",kind:"image",partial:!1});return}const U=new AbortController;return E({status:"loading"}),fetch(Da(e,j.path),{credentials:"same-origin",signal:U.signal,headers:{Range:`bytes=0-${ap-1}`}}).then(async Y=>{var J;if(!Y.ok)throw new Error(`Preview failed (${Y.status}): ${await Y.text()||Y.statusText}`);const Q=lp(j.name,Y.headers.get("content-type")||"");if(Q==="binary"||Q==="image"){await((J=Y.body)==null?void 0:J.cancel().catch(()=>{})),E({status:"ready",kind:Q,partial:!1});return}const W=await _k(Y,ap,j.size_bytes);E({status:"ready",kind:Q,text:Q==="markdown"?bk(W.text,e,j.path):W.text,partial:W.partial,total:W.total})}).catch(Y=>{U.signal.aborted||E({status:"error",message:vt(Y)})}),()=>U.abort()},[e,j,s]),!e)return i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(ae,{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 P=async()=>{if(!j)return;b("");const M=cp(j,a);if(M){b(`Not attached: ${M}`);return}z(!0);try{const U=new AbortController,Y=await fetch(Da(e,j.path),{credentials:"same-origin",signal:U.signal});if(!Y.ok)throw new Error(`Could not read ${j.name} (${Y.status}): ${await Y.text()}`);const Q=cp({...j,size_bytes:zm(Y)},a);if(Q){U.abort(),b(`Not attached: ${Q}`);return}const W=await Y.blob(),[J]=l([new File([W],j.name,{type:W.type})]);b(vk(j.name,J))}catch(U){b(vt(U))}finally{z(!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:()=>v(M=>M+1),children:"Retry"})]}):null,d?i.jsx(wk,{info:d,opening:k,onCopy:()=>{ok(d.workspace_root).then(M=>b(M?"Path copied.":"Could not copy; select the path instead."))},onOpen:()=>{S(!0),b(""),ft(`${op(e)}/open`,{method:"POST"}).then(()=>b("Folder opened on this machine.")).catch(M=>b(`Open folder failed: ${vt(M)}`)).finally(()=>S(!1))}}):null,x?i.jsx("p",{className:"code-field-help",role:"status",children:x}):null,t?i.jsx(Am,{fetchGateway:$u,runId:e,title:c,onSelectFile:F,selectedPath:j==null?void 0:j.path,refreshKey:`${s??""}:${y}`,className:"code-workspace-browser"},e):null,j?i.jsx(jk,{entry:j,url:Da(e,j.path),state:$,attaching:A,onAttach:()=>void P()}):null]})}const Ck=new Set(["abstract.progress","abstractcode.progress"]);function Ni(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ts(e){const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:null}function Ek(e){if(!Ni(e))return null;const t=Ni(e.effect)?e.effect:null;if(!t||String(t.type||"")!=="emit_event")return null;const s=Ni(t.payload)?t.payload:null,a=String((s==null?void 0:s.name)??(s==null?void 0:s.event_name)??"").trim();if(!Ck.has(a))return null;const l=Ni(e.result)?e.result:null,c=Ni(l==null?void 0:l.payload)?l==null?void 0:l.payload:null,d=Ni(s==null?void 0:s.payload)?s==null?void 0:s.payload:null,h=c||d;if(!h||String(h.kind||"")!=="llm")return null;const f=String(h.phase||"").trim();return f!=="prefill"&&f!=="generate"&&f!=="complete"?null:h}function $k(e){let t=null;for(const s of e||[]){const a=Ek(s);a&&(t=a)}return!t||t.phase==="complete"||t.final===!0?null:t}function Ti(e){return Math.round(e).toLocaleString()}function Wm(e){if(!e||e.phase!=="prefill")return null;const t=Ts(e.prompt_tokens),s=Ts(e.prefill_processed_tokens);if(t===null||t<=0||s===null||s<0)return null;const a=Math.min(s,t),l=Math.min(99,Math.round(a/t*100));return{processed:a,total:t,percent:l}}function Um(e){return`${Ti(e.processed)} / ${Ti(e.total)} tokens (${e.percent}%)`}function Ak(e){if(!e)return"";if(e.phase==="prefill"){const t=Wm(e);if(t)return`Prefill · ${Um(t)}`;const s=Ts(e.prompt_tokens);if(s===null||s<=0)return"Prefill";const a=Ts(e.cached_tokens),l=Ts(e.fed_tokens),c=[];a!==null&&a>0&&c.push(`${Ti(a)} cached`),l!==null&&l>0&&c.push(`${Ti(l)} new`);const d=c.length?` (${c.join(", ")})`:"";return`Prefill · ${Ti(s)} tokens${d}`}if(e.phase==="generate"){const t=Ts(e.generated_tokens)??0,s=Math.round(t)===1?"token":"tokens",a=Ts(e.tokens_per_second),l=a!==null&&a>0?` · ${Math.round(a)} tok/s`:"";return`Generating · ${Ti(t)} ${s}${l}`}return""}function Tk(e){return Ak($k(e))}const Bm=new Set(["abstract.progress","abstractcode.progress"]),Rk=new Set(["abstract.status","abstractcode.status"]);function Oe(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Xu(e){const t=Oe(e);return!!(t&&t.$slim)}function gt(e){const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:null}function ln(e){return Math.round(e).toLocaleString("en-US")}function Mt(e,t=120){const s=e.replace(/\s+/g," ").trim();return s.length>t?`${s.slice(0,t-1)}…`:s}function Pa(e,t=120){var l,c;if(e==null)return"";if(typeof e=="string")return Mt(e,t);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return Mt(e.length===0?"[]":`${e.length} ${e.length===1?"item":"items"}`,t);const s=Oe(e);if(!s)return"";if(Xu(s)){const d=String(((l=s.$slim)==null?void 0:l.field)||""),h=gt((c=s.$slim)==null?void 0:c.bytes);return`${d||"payload"} stored${h?` · ${ln(h)} bytes`:""}`}const a=[];for(const[d,h]of Object.entries(s)){const f=typeof h=="string"?Mt(h,60):typeof h=="number"||typeof h=="boolean"?String(h):Array.isArray(h)?`${h.length} items`:h==null?"":"{…}";if(f&&(a.push(`${d.replace(/_/g," ")} ${f}`),a.join(" · ").length>=t))break}return Mt(a.join(" · "),t)}function _l(e){return`${e>=100?String(Math.round(e)):e.toFixed(e<1?2:1).replace(/\.0+$/,"")} s`}function Vm(e,t){const s=Date.parse(String(e||"")),a=Date.parse(String(t||""));if(!Number.isFinite(s)||!Number.isFinite(a))return null;const l=(a-s)/1e3;return l>=0?l:null}function Ik(e){const t=String(e||""),s=/T(\d{2}:\d{2}:\d{2})/.exec(t);return s?s[1]:""}function Gm(e){const t=String(e||"").trim();if(!t)return"";const s=t.split("/").pop()||t;return s.length>48?`${s.slice(0,47)}…`:s}function Lt(e,t=" · "){return e.filter(s=>!!s).join(t)}const up="visual_react_agent_";function Mk(e){if(!/^[A-Za-z0-9_-]{8,}$/.test(e))return null;try{const t=e.replace(/-/g,"+").replace(/_/g,"/"),s=atob(t+"=".repeat((4-t.length%4)%4));return!/^[ -~]{3,}$/.test(s)||!/[a-z]/i.test(s)?null:s}catch{return null}}function Lk(e){const t=String(e||"").trim();if(!t)return{name:"",node:""};const s=/^([^@]+)@([^:]+)(?::(.+))?$/.exec(t);if(s)return{name:s[1],node:s[3]||""};if(t.startsWith(up)){const a=t.slice(up.length),l=/^(.*)_(\d+)_(\d+)_(\d+)_([0-9a-f]{6,12})_(.+)$/.exec(a);if(l){let c=l[1];if(c.includes("__")){const d=c.split("__").filter(Boolean);for(let h=d.length-1;h>=0;h-=1){const f=Mk(d[h]);if(f&&f.length>3){c=f;break}}}return{name:c,node:l[6]}}return{name:a,node:""}}return{name:t,node:""}}function Pk(e){var s;if(!Array.isArray(e)||!e.length)return"";const t=new Map;for(const a of e){const l=String(((s=Oe(a))==null?void 0:s.name)||"").trim()||"tool";t.set(l,(t.get(l)||0)+1)}return[...t.entries()].map(([a,l])=>l>1?`${a} ×${l}`:a).join(", ")}function Ok(e){var h;const t=Oe(e);if(!t)return null;const s=Oe(t.effect);if(!s||String(s.type||"")!=="emit_event")return null;const a=Oe(s.payload),l=String((a==null?void 0:a.name)??(a==null?void 0:a.event_name)??"").trim();if(!Bm.has(l))return null;const c=Oe((h=Oe(t.result))==null?void 0:h.payload),d=Oe(a==null?void 0:a.payload);return c||d}function Dk(e){if(!e.length)return"";const t=e[e.length-1];let s=null,a=null,l=null,c=null,d=null;for(const y of e)s=gt(y.prompt_tokens)??s,a=gt(y.cached_tokens)??a,l=gt(y.generated_tokens)??l,c=gt(y.tokens_per_second)??c,d=gt(y.elapsed_s)??d;if(t.final===!0||String(t.phase||"")==="complete")return Lt([s!==null?`${ln(s)} tokens in`:null,a!==null&&a>0?`${ln(a)} cached`:null,l!==null?`${ln(l)} out`:null,d!==null?_l(d):null,c!==null&&c>0?`${Math.round(c)} tok/s`:null]);const f=s!==null?`prefill ${ln(s)} tokens${a!==null&&a>0?` (${ln(a)} cached)`:""}`:"prefill";if(String(t.phase||"")==="prefill"){const y=Wm(t);return y?`prefill ${Um(y)}`:f}const g=Lt([`generating ${ln(l??0)} ${Math.round(l??0)===1?"token":"tokens"}`,c!==null&&c>0?`${Math.round(c)} tok/s`:null]);return`${f} → ${g}`}function Fk(e){if(!e.length)return"";const t=e[e.length-1],s=gt(t.step)??gt(t.index),a=gt(t.total)??gt(t.steps),l=gt(t.percent)??gt(t.progress),c=gt(t.frame),d=gt(t.elapsed_s);return Lt([typeof t.label=="string"?Mt(t.label,60):null,typeof t.phase=="string"&&!t.label?Mt(t.phase,40):null,s!==null?`step ${ln(s)}${a!==null?`/${ln(a)}`:""}`:null,c!==null?`frame ${ln(c)}`:null,l!==null?`${Math.round(l<=1?l*100:l)}%`:null,d!==null?_l(d):null])}function dp(e){return e.length?String(e[e.length-1].kind||"")==="llm"?Dk(e):Fk(e):""}function zk(e,t,s){var C;const a=String(e.provider||"").trim(),l=Gm(e.model||(t==null?void 0:t.model)),c=Lt(["llm",a,l])||"llm call";if(!t){const $=Oe(e.params)||{};return{title:c,detail:Lt([gt($.temperature)!==null?`temperature ${$.temperature}`:null,$.thinking?`thinking ${$.thinking}`:null,(C=Oe($.speculation))!=null&&C.mode?`speculation ${Oe($.speculation).mode}`:null])}}const d=Oe(t.usage)||{},h=Oe(t.metadata)||{},f=Oe(h.prompt_cache)||{},g=Oe(h.performance)||{},y=gt(d.prompt_tokens)??gt(d.input_tokens),v=gt(d.completion_tokens)??gt(d.output_tokens),x=gt(f.cached_tokens),b=String(f.outcome||"").trim(),k=Vm(s.started_at,s.ended_at),S=gt(g.generation_tokens_per_second),j=Array.isArray(t.tool_calls)?t.tool_calls.length:0;return{title:c,detail:Lt([y!==null?`${ln(y)} tokens in`:null,x!==null&&x>0?`${ln(x)} cached`:b?`${b} cache`:null,v!==null?`${ln(v)} out`:null,k!==null?_l(k):null,S!==null&&S>0?`${Math.round(S)} tok/s`:null,j?`${j} tool ${j===1?"call":"calls"}`:null])}}function Wk(e,t){if(t.length<=60)return Mt(t,60);if(e==="url")try{const s=new URL(t),a=s.pathname.split("/").filter(Boolean).pop()||"";return Mt(`${s.host}${a?` · …/${a}`:""}`,72)}catch{}if(e==="file path"||e==="path"){const s=t.split(/[\\/]/).pop()||t;return Mt(`${s} · ${t.slice(0,24)}…`,60)}return Mt(t,60)}function Uk(e,t){const s=Array.isArray(e.tool_calls)?e.tool_calls:[],a=Pk(s),l=Oe(s[0]),c=l?gm(l.arguments):{label:"",value:""},d=Array.isArray(t==null?void 0:t.results)?t.results:[],h=d.filter(g=>{var y;return((y=Oe(g))==null?void 0:y.success)===!0}).length,f=d.length-h;return{title:Lt(["tools",a||"tool call"]),detail:Lt([c.value?`${c.label} ${Wk(c.label,c.value)}`:null,d.length?`${h} ok`:null,f>0?`${f} failed`:null])}}function Bk(e,t){var g,y;const{name:s,node:a}=Lk(e.workflow_id),l=Oe(e.vars),c=l&&!Xu(l)?l:null,d=Oe(c==null?void 0:c.context),h=typeof(d==null?void 0:d.task)=="string"?d.task:typeof(c==null?void 0:c.request)=="string"?c.request:"",f=String(((y=Oe((g=Oe(t==null?void 0:t.wait))==null?void 0:g.details))==null?void 0:y.sub_run_id)||"").slice(0,8);return c&&typeof c.state=="string"&&!d?{title:"subflow · status",detail:Lt([Mt(c.state,80),f&&`run ${f}`])}:h?{title:"subflow · agent loop",detail:Lt([s,Mt(h,90),f&&`run ${f}`])}:{title:Lt(["subflow",s||"workflow"]),detail:Lt([a,c?Pa(c,80):null,f&&`run ${f}`])}}function Vk(e,t){const s=e.until,a=Vm(t.started_at,s),l=Ik(s);return{title:a!==null?`wait · delay ${_l(a)}`:`wait · until ${l}`,detail:Lt([a!==null&&l?`until ${l}`:null,e.resume_to_node?`resumes at ${e.resume_to_node}`:null])}}function fp(e){var h;const t=Oe(e)||{},s=Oe(t.effect),a=String((s==null?void 0:s.type)||"").trim(),l=Oe(s==null?void 0:s.payload)||{},c=Oe(t.result);if(a==="emit_event"){const f=String(l.name??l.event_name??"").trim();if(Bm.has(f))return{kind:"progress",title:"progress",detail:"",isProgress:!0,isStatus:!1,isResume:!1,hidden:!0};if(Rk.has(f))return{kind:"event",title:"status",detail:Pa(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:Pa(l.payload??(c==null?void 0:c.payload),110),isProgress:!1,isStatus:!1,isResume:!1,hidden:!1}}if(a==="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(a==="llm_call")return{kind:"llm",...zk(l,c,t),...d};if(a==="tool_calls")return{kind:"tools",...Uk(l,c),...d};if(a==="start_subworkflow")return{kind:"subflow",...Bk(l,c),...d};if(a==="wait_until")return{kind:"wait",...Vk(l,t),...d};if(a==="wait_event")return{kind:"wait",title:"wait · event",detail:Lt([typeof l.prompt=="string"?Mt(l.prompt,90):null,!l.prompt&&l.wait_key?Mt(String(l.wait_key),70):null]),...d};if(a==="ask_user")return{kind:"ask",title:"ask · your input",detail:Mt(String(l.prompt||((h=Oe(c==null?void 0:c.wait))==null?void 0:h.prompt)||"").split(`
|
|
73
|
+
`)[0],110),...d};if(a==="answer_user")return{kind:"message",title:"message",detail:Mt(String(l.message||""),110),...d};if(!a){if((c==null?void 0:c.completed)===!0){const f=Oe(c.output)||{},g=Oe(f.stop_reason)||{},y=gt(f.iterations),v=Lt([String(g.code||f.outcome||"").replace(/_/g," ")||null,y!==null?`${ln(y)} ${y===1?"iteration":"iterations"}`:null]),x=[f.answer,f.response,f.result].find(b=>typeof b=="string"&&b.trim());return{kind:"run",title:"run finished",detail:v||(typeof x=="string"?Mt(x,110):Pa(f,110)),...d}}return{kind:"step",title:String(t.node_id||"workflow step"),detail:"",...d}}return{kind:"step",title:a.replace(/_/g," "),detail:Pa(l,110),...d}}function Gk(e,t,s){var c,d;const a=Oe(e)||{},l=String(a.status||"").trim();if(a.error)return{status:"failed",statusLabel:"failed"};if(l==="failed")return{status:"failed",statusLabel:"failed"};if(l==="completed")return{status:"completed",statusLabel:"completed"};if(l==="waiting"){if(s)return{status:"completed",statusLabel:"completed"};const h=Oe((c=Oe(a.result))==null?void 0:c.wait);return String(((d=Oe(h==null?void 0:h.details))==null?void 0:d.mode)||"")==="approval_required"?{status:"waiting",statusLabel:"approval needed"}:t==="subflow"?{status:"waiting",statusLabel:"waiting for subflow"}:t==="ask"?{status:"waiting",statusLabel:"waiting for you"}:t==="wait"?{status:"waiting",statusLabel:String((h==null?void 0:h.reason)||"")==="until"?"waiting":"waiting for event"}:{status:"waiting",statusLabel:"waiting"}}return l==="started"?{status:"started",statusLabel:"running"}:{status:l||"started",statusLabel:l||"running"}}function Hk(e){var l;const t=Oe(e.record)||{},s=String(((l=Oe(t.effect))==null?void 0:l.type)||"(none)"),a=String(t.idempotency_key||t.step_id||e.cursor);return`${e.runId}|${s}|${a}|${t.attempt??1}`}function Kk(e){var f;const t=e.map(g=>Oe(g.record)||{}),s=t[t.length-1]||{},a={};for(const g of t){const y=Oe((f=Oe(g.effect))==null?void 0:f.payload);if(y)for(const[v,x]of Object.entries(y))Xu(x)&&v in a||(a[v]=x)}let l=null,c=null,d=null,h=null;for(const g of t)g.result!==null&&g.result!==void 0&&(l=g.result),g.error!==null&&g.error!==void 0&&(c=g.error),!d&&g.started_at&&(d=g.started_at),g.ended_at&&(h=g.ended_at);return{...s,effect:s.effect?{...s.effect,payload:a}:s.effect,result:l,error:c,started_at:d,ended_at:h}}function Jk(e){var s,a;const t=[];for(const l of e){const c=Oe((a=Oe((s=Oe(l.record))==null?void 0:s.result))==null?void 0:a.wait),d=String((c==null?void 0:c.wait_key)||"").trim();d&&t.push(d)}return t}function Qk(e,t){return`${e}|${String(t.step_id||t.node_id||"")}`}function Yk(e,t){const s=new Map;for(const c of t){const d=Ok(c.record);if(!d)continue;const h=Qk(c.runId,d),f=s.get(h)||{entries:[],payloads:[]};f.entries.push(c),f.payloads.push(d),s.set(h,f)}if(!s.size)return e.map(c=>({...c}));const a=new Set,l=e.map(c=>{const d=c.stepIds.map(b=>`${c.runId}|${b}`).filter(b=>s.has(b));if(!d.length)return{...c};const h=[],f=[];for(const b of d)a.add(b),h.push(...s.get(b).payloads),f.push(...s.get(b).entries);const g=dp(h),y=h[h.length-1],v=y.final===!0||String(y.phase||"")==="complete",x=!(v&&c.status==="completed"&&c.detail);return{...c,progress:x?g:"",progressFinal:v,progressEvents:f.map(b=>Oe(b.record)||{})}});for(const[c,d]of s.entries()){if(a.has(c))continue;const h=d.payloads,f=h[h.length-1],g=String(f.kind||""),y=d.entries[0];l.push({key:`progress:${c}`,runId:y.runId,cursor:d.entries[d.entries.length-1].cursor,kind:"progress",title:Lt(g==="llm"?["llm",String(f.provider||""),Gm(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:dp(h),progressFinal:f.final===!0||String(f.phase||"")==="complete",entries:d.entries,progressEvents:d.entries.map(v=>Oe(v.record)||{}),merged:Oe(d.entries[d.entries.length-1].record)||{}})}return l}function Xk(e,t){var g,y,v,x;const s=String(t||((g=e==null?void 0:e[0])==null?void 0:g.runId)||""),a=new Map,l=[],c=[],d=[];for(const b of e||[]){const k=fp(b.record);if(k.isProgress){d.push(b);continue}if(k.isStatus)continue;if(k.isResume){const j=String(((x=(v=Oe((y=Oe(b.record))==null?void 0:y.effect))==null?void 0:v.payload)==null?void 0:x.wait_key)||"").trim();j&&c.push(j);continue}const S=Hk(b);a.has(S)||(a.set(S,[]),l.push(S)),a.get(S).push(b)}const h=new Set(c),f=l.map(b=>{const k=a.get(b),S=Kk(k),j=fp(S),C=Jk(k).some(E=>h.has(E)),$=Gk(S,j.kind,C);return{key:b,runId:k[0].runId,cursor:k[k.length-1].cursor,kind:j.kind,title:j.kind==="run"&&s&&k[0].runId!==s?"subflow finished":j.title,detail:j.detail,status:$.status,statusLabel:$.statusLabel,nodeId:String(S.node_id||""),stepIds:[...new Set(k.map(E=>{var A;return String(((A=Oe(E.record))==null?void 0:A.step_id)||"")}).filter(Boolean))],progress:"",progressFinal:!1,entries:k,progressEvents:[],merged:S}});return Yk(f,d)}function Zk({tab:e,onTab:t,policy:s,runId:a,records:l,enabled:c,isAdmin:d,refreshKey:h,onAttach:f,onAttachFiles:g,onClose:y}){const[v,x]=w.useState("session"),b=w.useMemo(()=>Xk(l,a),[l,a]);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(ae,{name:"x",size:15})})]}),i.jsx("div",{className:"code-inspector-tabs",role:"tablist","aria-label":"Workspace views",onKeyDown:Yu,children:["files","activity","artifacts"].map(k=>i.jsxs("button",{id:`inspector-tab-${k}`,role:"tab",tabIndex:e===k?0:-1,"aria-selected":e===k,"aria-controls":`inspector-panel-${k}`,onClick:()=>t(k),children:[k==="files"?"Files":k==="activity"?"Activity":"Artifacts",k==="activity"&&b.length?i.jsx("span",{children:b.length}):null]},k))}),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":v==="session",onClick:()=>x("session"),children:"This conversation"}),i.jsx("button",{"aria-pressed":v==="shared",onClick:()=>x("shared"),children:"Shared workspace (admin)"})]}):null,d&&v==="shared"?i.jsx(qk,{policy:s,enabled:c,runId:a,onAttach:f}):i.jsx(Nk,{runId:a,enabled:c,refreshKey:h,maxAttachmentBytes:s==null?void 0:s.maxAttachmentBytes,onAttachFiles:g})]}):e==="activity"?i.jsx(tj,{rows:b}):i.jsx(nj,{runId:a,enabled:c})}),i.jsxs("div",{className:"code-inspector-foot",children:[i.jsx(ae,{name:"server",size:14}),i.jsx("span",{children:"Access enforced by your gateway"})]})]})}function qk({policy:e,enabled:t,runId:s,onAttach:a}){const[l,c]=w.useState(""),[d,h]=w.useState(""),[f,g]=w.useState([]),[y,v]=w.useState(!1),[x,b]=w.useState(""),[k,S]=w.useState(""),[j,C]=w.useState(0),[$,E]=w.useState("");return w.useEffect(()=>{const A=new AbortController;if(g([]),b(""),S(""),!t||!e)return;v(!0);const z=window.setTimeout(()=>{const F=new URLSearchParams({limit:"100"});l.trim()?F.set("query",l.trim()):d&&F.set("path",d),ft(ke(`files/${l.trim()?"search":"list"}?${F}`),{signal:A.signal}).then(P=>{if(P.error)throw new Error(String(P.error));g(Array.isArray(P.items)?P.items:[]),(P.truncated||P.has_more)&&S("Showing the first 100 results. Search to narrow the list.")}).catch(P=>{A.signal.aborted||b(vt(P))}).finally(()=>{A.signal.aborted||v(!1)})},l?220:0);return()=>{window.clearTimeout(z),A.abort()}},[t,e,l,d,j,s]),i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"code-pane-intro",children:[i.jsx(ae,{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:()=>C(A=>A+1),disabled:!t,children:i.jsx(ae,{name:"refresh",size:14})})]}),i.jsx("input",{className:"code-search","aria-label":"Search workspace files",placeholder:"Search files…",value:l,onChange:A=>c(A.target.value),disabled:!t}),d?i.jsx("button",{className:"code-back",onClick:()=>{h(d.split("/").slice(0,-1).join("/")),c("")},children:"← Parent folder"}):null,t?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,x?i.jsxs("div",{className:"code-inline-error",role:"alert",children:[x,i.jsx("button",{onClick:()=>C(A=>A+1),children:"Retry"})]}):null,k?i.jsx("p",{className:"code-field-help",role:"status",children:k}):null,i.jsx("ul",{className:"code-file-list",children:f.map(A=>{const z=A.kind==="folder"||A.is_dir||A.type==="directory"||A.type==="dir";return i.jsx("li",{children:i.jsxs("button",{title:z?`Open ${A.path}`:`Attach ${A.path} to the conversation`,disabled:!!$,onClick:async()=>{if(z){h(A.path),c("");return}E(A.path),b("");try{await a(A.path),S(`${A.name||A.path} attached.`)}catch(F){b(vt(F))}finally{E("")}},children:[i.jsx(ae,{name:z?"chevronRight":"edit",size:14}),i.jsx("span",{children:A.name||A.path}),$===A.path?i.jsx(ae,{name:"loader",size:13}):i.jsx("span",{className:"code-file-action",children:z?"Open":"+"})]})},A.path)})}),!y&&!x&&t&&!f.length?i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(ae,{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 ej={llm:"sparkle",tools:"terminal",subflow:"agent",event:"info",wait:"history",ask:"chat",message:"send",run:"playCircle",progress:"loader",step:"list"};function tj({rows:e}){return e.length?i.jsx("div",{className:"code-activity",children:e.map(t=>{const s=t.merged,a=s.effect||{};return i.jsxs("details",{className:`code-activity-row code-activity-row--${t.kind}`,children:[i.jsxs("summary",{children:[i.jsx("span",{className:"code-activity-icon","aria-hidden":"true",children:i.jsx(ae,{name:ej[t.kind],size:14})}),i.jsxs("span",{className:"code-activity-text",children:[i.jsx("span",{className:"code-activity-title",children:t.title}),t.detail?i.jsx("span",{className:"code-activity-sub",children:t.detail}):null,t.progress?i.jsx("span",{className:"code-activity-progress",children:t.progress}):null]}),i.jsx("span",{className:`code-step-dot is-${t.status}`}),i.jsx("small",{children:t.statusLabel})]}),i.jsxs("div",{className:"code-activity-detail",children:[i.jsxs("div",{className:"code-field-help",children:[t.nodeId?`${t.nodeId} · `:"","run ",t.runId.slice(0,8)," ","· ",t.entries.length," ",t.entries.length===1?"record":"records",t.progressEvents.length?` · ${t.progressEvents.length} progress`:""]}),i.jsx(Rs,{value:{input:a.payload,result:s.result,error:s.error,records:t.entries.map(l=>l.record),...t.progressEvents.length?{progress:t.progressEvents}:{}},collapseAfterDepth:2})]})]},t.key)})}):i.jsxs("div",{className:"code-pane-empty",children:[i.jsx(ae,{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 nj({runId:e,enabled:t}){const[s,a]=w.useState([]),[l,c]=w.useState(""),[d,h]=w.useState(0);return w.useEffect(()=>{if(a([]),c(""),!e||!t)return;const f=new AbortController;return ft(ke(`runs/${encodeURIComponent(e)}/artifacts?limit=200`),{signal:f.signal}).then(g=>a(Array.isArray(g.items)?g.items:Array.isArray(g.artifacts)?g.artifacts:[])).catch(g=>{f.signal.aborted||c(vt(g))}),()=>f.abort()},[e,t,d]),i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"code-pane-intro",children:[i.jsx(ae,{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:()=>h(f=>f+1),children:i.jsx(ae,{name:"refresh",size:14})})]}),l?i.jsx("p",{role:"alert",className:"code-error-text",children:l}):null,s.map(f=>{var v;const g=f.artifact_id||f.id,y=f.filename||((v=f.metadata)==null?void 0:v.filename)||g;return i.jsxs("button",{className:"code-artifact",onClick:()=>{cb(e,g,y).catch(x=>c(vt(x)))},children:[i.jsx(ae,{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(ae,{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 rj=[["Gateway","checking…"]];function sj(e){return e?e.ok?jh(e.value):jh(null,e.status?`HTTP ${e.status}`:e.message):rj}const ij=3e4,rl=50;function aj(){return Lw({fetch:(e,t)=>fetch(e,{...t,credentials:"same-origin"}),baseUrl:"",headers:Lm})}function oj(e){const t=String(e||"").trim();if(!t)return null;try{const s=new URL(t);return s.protocol!=="http:"&&s.protocol!=="https:"?null:`${s.origin}${s.pathname.replace(/\/+$/,"")}/console#users`}catch{return null}}function lj(e){var s;const t=(s=e==null?void 0:e.common)==null?void 0:s.automations;return t&&typeof t=="object"&&t.available===!0?{available:!0,reason:""}:t&&typeof t=="object"&&t.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 cj(e,t){return e===gn?{flow_id:"@default",interface:is}:!(t!=null&&t.bundleId)||!t.flowId?null:{bundle_ref:t.bundleVersion?`${t.bundleId}@${t.bundleVersion}`:t.bundleId,flow_id:t.flowId}}function uj(e,t=Date.now()){const s=e.attention.unseen_count>0||e.attention.pending_waits>0;return{id:e.automation_id,title:e.title,cadence:Lu(e.trigger),current:Dp(e),next:e.next_fire_at?`${Sr(e.next_fire_at)} (${Fp(e.next_fire_at,t)})`:e.status==="paused"?"none while paused":"none scheduled",attention:s?zp(e):null,legacy:e.legacy===!0||e.capabilities.includes("legacy")}}function dj(e,t){return t?e:e.filter(s=>s.status!=="archived")}function fj(e,t){if(e==="ask_user"){if(typeof t.response!="string")throw new Error("An ask_user wait is answered with {response: string}.");return{response:t.response}}if(e==="tool_approval"){if(typeof t.approved!="boolean")throw new Error("A tool_approval wait is answered with {approved: true|false}.");return{approved:t.approved}}if(e==="event"){if(!("payload"in t))throw new Error("An event wait is answered with {payload}.");return{payload:t.payload}}throw new Error(`This wait has no known kind (${JSON.stringify(e)}); open its run to answer it.`)}function hj(e,t,s,a){return{command_id:e,run_id:t,type:"resume",payload:{wait_key:s,payload:a},client_id:"abstractcode-web"}}function Hm(e,t){return`Discussion forked from run #${e}. It works in its own workspace ${t.workspace_root}; the automation's files are mounted read-only at ${t.mounted_workspace} for the file tools (shell commands are not sandboxed), and nothing is written back into the automation's session.`}function br(e){return Wu(e)?e:{status:0,code:"client_error",message:e&&typeof e=="object"&&"message"in e?String(e.message):String(e)}}function fu(e,t){const s=new Map;for(const a of e)s.set(a.run_id,a);for(const a of t)s.set(a.run_id,a);return Array.from(s.values()).sort((a,l)=>l.index-a.index)}const pj={items:[],loaded:!1,loading:!1,listError:null,error:null,showArchived:!1,selectedId:"",detail:null,triggerSources:[],busy:!1,notice:"",emailStatus:null};function mj(e){return async(t,s,a)=>{await ft(ke("commands"),{method:"POST",body:JSON.stringify(hj(e(),t,s,a))})}}class gj{constructor(t,s,a=[1500,4e3]){mn(this,"state",{...pj});mn(this,"listeners",new Set);mn(this,"listSeq",0);mn(this,"detailSeq",0);mn(this,"sourcesLoaded",!1);this.client=t,this.answerWaitVia=s,this.followupsMs=a}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}set(t){this.state={...this.state,...t};for(const s of this.listeners)s()}async listAll(){const t=[];let s;for(let a=0;a<200;a+=1){const l=await this.client.listAutomations({...s?{cursor:s}:{},limit:rl});if(t.push(...l.items),!l.next_cursor)return t;s=l.next_cursor}throw new Error("GET /api/gateway/automations kept returning next_cursor after 200 pages.")}async loadEmailStatus(){try{const t=await this.client.getMyEmail();this.set({emailStatus:t&&typeof t=="object"?t:null})}catch{this.set({emailStatus:null})}}async refresh(){const t=++this.listSeq;this.set({loading:!0});try{const s=await this.listAll();if(this.loadEmailStatus(),t!==this.listSeq)return;const a=this.state.detail,l=a?s.find(c=>c.automation_id===a.automationId):void 0;this.set({items:s,loaded:!0,loading:!1,listError:null,...a&&l?{detail:{...a,summary:l}}:{}}),a&&await this.reloadDetail(a.automationId)}catch(s){if(t!==this.listSeq)return;this.set({loading:!1,loaded:!0,listError:br(s)})}}setShowArchived(t){this.set({showArchived:t})}async select(t){var l;const s=t.trim(),a=++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[c,d]=await Promise.all([this.client.getAutomation(s),this.client.listOccurrences(s,{limit:rl})]);if(a!==this.detailSeq)return;const h=this.state.items.find(f=>f.automation_id===s);if(this.set({detail:{automationId:s,summary:h??c.summary,definition:c.definition,occurrences:fu([],d.items),nextCursor:d.next_cursor}}),!this.sourcesLoaded){const f=await this.client.listTriggerSources();this.sourcesLoaded=!0,this.set({triggerSources:f.items})}}catch(c){if(a!==this.detailSeq)return;this.set({error:br(c)})}}async reloadDetail(t){const[s,a]=await Promise.all([this.client.getAutomation(t),this.client.listOccurrences(t,{limit:rl})]),l=this.state.detail;if(!l||l.automationId!==t)return;const c=this.state.items.find(d=>d.automation_id===t);this.set({detail:{...l,summary:c??s.summary,definition:s.definition,occurrences:fu(l.occurrences,a.items),nextCursor:l.occurrences.length>a.items.length?l.nextCursor:a.next_cursor}})}async loadMore(){const t=this.state.detail;if(!(!t||!t.nextCursor))try{const s=await this.client.listOccurrences(t.automationId,{cursor:t.nextCursor,limit:rl}),a=this.state.detail;if(!a||a.automationId!==t.automationId)return;this.set({detail:{...a,occurrences:fu(a.occurrences,s.items),nextCursor:s.next_cursor}})}catch(s){this.set({error:br(s)})}}async afterChange(){await this.refresh();for(const t of this.followupsMs)setTimeout(()=>void this.refresh(),t)}async busyCall(t){this.set({busy:!0});try{const s=await t();return await this.afterChange(),s}catch(s){throw br(s)}finally{this.set({busy:!1})}}command(t,s,a){return this.busyCall(()=>this.client.sendAutomationCommand(t,{type:s,...a?{command_id:a}:{}}))}revise(t,s,a,l){return this.busyCall(()=>this.client.reviseAutomation(t,{changes:s,...a!==null?{expected_revision:a}:{},...l?{command_id:l}:{}}))}async create(t){this.set({busy:!0,error:null});try{const s=await this.client.createAutomation(t);this.set({notice:`Automation created: ${s.summary.title}.`}),await this.refresh(),await this.select(s.automation_id);for(const a of this.followupsMs)setTimeout(()=>void this.refresh(),a);return s}catch(s){throw br(s)}finally{this.set({busy:!1})}}async discuss(t,s,a,l){this.set({busy:!0});try{const c=await this.client.discuss(t,{occurrence_index:s,prompt:a,...l?{request_id:l}:{}});return this.set({notice:Hm(s,c)}),c}catch(c){throw br(c)}finally{this.set({busy:!1})}}async seen(t,s){try{await this.client.markSeen(t,s)}catch(a){throw br(a)}}answerWait(t,s,a){return this.busyCall(async()=>{var c;const l=(((c=this.state.detail)==null?void 0:c.occurrences)||[]).flatMap(d=>d.waits).find(d=>d.run_id===t&&d.wait_key===s);if(!l)throw new Error(`No loaded wait ${s} on run ${t}; reload the automation.`);await this.answerWaitVia(t,s,fj(l.kind,a))})}rowControls(t){return dl(t,[],this.state.busy)}reportError(t){this.set({error:br(t)})}clearNotice(){this.set({notice:"",error:null})}}const Km="abstractcode.automation.panels",Ra={occurrences:!0,folder:!0};function yj(e){try{const t=e==null?void 0:e.getItem(Km);if(!t)return{...Ra};const s=JSON.parse(t);if(!s||typeof s!="object")return{...Ra};const a=s;return{occurrences:typeof a.occurrences=="boolean"?a.occurrences:Ra.occurrences,folder:typeof a.folder=="boolean"?a.folder:Ra.folder}}catch{return{...Ra}}}function wj(e,t){try{t==null||t.setItem(Km,JSON.stringify(e))}catch{}}function vj(e,t){return{...e,[t]:!e[t]}}function hp(){try{return typeof window<"u"?window.localStorage:null}catch{return null}}function _j(){const[e,t]=w.useState(()=>yj(hp())),s=w.useCallback(a=>{t(l=>{const c=vj(l,a);return wj(c,hp()),c})},[]);return[e,s]}const Zu=e=>({toggle:`code-detail-${e}-toggle`,region:`code-detail-${e}`});function Jm(e){const t=Zu(e.panel);return i.jsxs("button",{type:"button",className:"code-detail-toggle",id:t.toggle,"data-panel":e.panel,"aria-expanded":e.open,"aria-controls":t.region,onClick:e.onToggle,children:[i.jsx(ae,{name:"chevronDown",size:13}),i.jsx("span",{className:"code-detail-toggle__label",children:e.label}),typeof e.count=="number"?i.jsx("span",{className:"code-detail-toggle__count",children:e.count}):null]})}const xj=".af-auto__timeline",bj=".af-auto__more";function kj(e,t,s){const a=(e==null?void 0:e.querySelector(xj))??null;if(!a||!a.parentNode)return t.parentNode&&t.remove(),!1;a.id!==s&&(a.id=s);const l=(e==null?void 0:e.querySelector(bj))??null,c=l&&l.parentNode===a.parentNode?l:a;return(t.parentNode!==c.parentNode||t.nextSibling!==c)&&c.parentNode.insertBefore(t,c),!0}function jj(e,t){const s=w.useMemo(()=>{if(typeof document>"u")return null;const c=document.createElement("div");return c.className="code-detail-head code-detail-head--occurrences",c},[]),[a,l]=w.useState(!1);return w.useLayoutEffect(()=>{const c=e.current;if(!s||!c||!t){s==null||s.remove(),l(!1);return}const d=Zu("occurrences").region,h=()=>l(kj(c,s,d));h();const f=new MutationObserver(h);return f.observe(c,{childList:!0,subtree:!0}),()=>{f.disconnect(),s.remove()}},[e,s,t]),a?s:null}function Sj(e,t){const s=w.useMemo(()=>new gj(aj(),mj(rs)),[e]),a=w.useSyncExternalStore(d=>s.subscribe(d),()=>s.state),[l,c]=w.useState(()=>typeof document>"u"||document.visibilityState!=="hidden");return w.useEffect(()=>{const d=()=>c(document.visibilityState!=="hidden");return document.addEventListener("visibilitychange",d),()=>document.removeEventListener("visibilitychange",d)},[]),w.useEffect(()=>{if(!e||!t||!l)return;s.refresh();const d=window.setInterval(()=>void s.refresh(),ij);return()=>window.clearInterval(d)},[s,e,t,l]),{ctl:s,state:a}}function Qm({error:e}){if(!e)return null;const t=zu(e);return i.jsxs("p",{className:"code-inline-error",role:"alert","data-code":e.code,children:[i.jsx("strong",{children:t.title})," ",t.detail]})}function Nj(e){const t=e.open??!0,s=Bu("automations"),a=e.state,l=dj(a.items,a.showArchived),c=a.items.filter(h=>h.status==="archived").length,d=a.items.reduce((h,f)=>h+f.attention.pending_waits+f.attention.unseen_count,0);return i.jsxs("section",{className:"code-panel code-automations","aria-label":"Automations","data-open":t?"true":"false",children:[i.jsx(sm,{panel:"automations",open:t,onToggle:()=>{var h;return(h=e.onToggle)==null?void 0:h.call(e)},label:i.jsxs(i.Fragment,{children:["Automations",d?i.jsx("span",{className:"code-auto-badge","data-field":"attention-total",children:d}):null]}),actions: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(ae,{name:"plus",size:13})}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh automations",disabled:!e.available.available||a.loading,onClick:e.onRefresh,children:i.jsx(ae,{name:"refresh",size:13})})]})}),i.jsxs("div",{className:"code-auto-rows",id:s.region,role:"region","aria-labelledby":s.toggle,hidden:!t,children:[!e.discovering&&!e.available.available?i.jsx("p",{className:"code-history-empty",role:"note","data-unavailable":"true",children:e.available.reason}):null,i.jsx(Qm,{error:a.listError}),e.discovering||e.available.available&&a.loading?i.jsx(Uu,{children:"Loading automations…"}):null,e.available.available&&a.loaded&&!a.loading&&!a.listError&&!a.items.length?i.jsx("p",{className:"code-history-empty",children:"No automations yet. + runs the toolbar's workflow on a schedule."}):null,l.map(h=>{const f=uj(h,e.nowMs),g=e.selectedId===h.automation_id;return i.jsxs("button",{className:`code-session code-auto-row${g?" is-selected":""}`,"aria-current":g?"page":void 0,"data-automation-id":h.automation_id,"data-status":h.status,title:`${f.title} — ${f.cadence}`,onClick:()=>e.onSelect(h.automation_id),children:[i.jsx(ae,{name:"history",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:f.title}),i.jsxs("small",{children:[i.jsx("span",{"data-field":"state",children:i.jsx(Yp,{status:h.status})})," ",f.cadence,f.legacy?" · legacy schedule":""]}),f.current?i.jsxs("small",{"data-field":"current",children:["now: ",f.current]}):null,i.jsxs("small",{"data-field":"next",children:["next: ",f.next]}),f.attention?i.jsx("small",{className:"code-auto-attention","data-field":"attention",children:f.attention}):null]})]},h.automation_id)}),c>0?i.jsx(Ri,{className:"code-auto-archived",variant:"sm",action:"show-archived",label:`Show archived (${c})`,checked:a.showArchived,onChange:e.onShowArchived}):null]})]})}function Cj(e,t){const s=e.state.detail;if(!s)return null;const a=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,c,d)=>e.revise(a,l,c,d==null?void 0:d.command_id),onCommand:(l,c,d)=>e.command(a,l,d==null?void 0:d.command_id),onDiscuss:async(l,c,d)=>{const h=await e.discuss(a,l,c,d==null?void 0:d.request_id);return t.openConversation(h.session_id,h.run_id,Hm(l,h)),h},onSeen:l=>e.seen(a,l),onLoadMore:()=>void e.loadMore(),onOpenRun:l=>t.openRun(l),onOpenWorkspace:l=>t.openWorkspace(l),onAnswerWait:(l,c,d)=>e.answerWait(l,c,d),emailStatus:e.state.emailStatus,...t.openMyEmail?{onOpenMyEmail:()=>{var l;return(l=t.openMyEmail)==null?void 0:l.call(t)}}:{}}}function Ej(e){const t=e.last_occurrence,s=e.current_occurrence;return[e.occurrence_count,t?`${t.index}:${t.status}:${t.finished_at??""}`:"",s?`${s.index}:${s.status}`:""].join("|")}function pp(e,t,s){if(t===e)return"Automation folder";const a=s.find(l=>l.run_id===t);return a?`Run #${a.index} folder`:"Run folder"}function $j(e){const t=e.panels.folder,s=Zu("folder");return i.jsxs("div",{className:"code-auto-folder-section","data-open":t?"true":"false","data-folder":e.own?"automation":"run",children:[i.jsx("div",{className:"code-detail-head",children:i.jsx(Jm,{panel:"folder",label:e.title,open:t,onToggle:e.onToggle})}),i.jsx("div",{className:"code-detail-region",id:s.region,hidden:!t,children:e.children})]})}function Aj(e){const t=e.ctl.state,s=t.detail,[a,l]=w.useState({automationId:"",runId:""}),c=(s==null?void 0:s.automationId)??"",d=a.automationId===c&&a.runId?a.runId:c,h=Cj(e.ctl,{...e.host,openWorkspace:x=>l({automationId:c,runId:x})}),[f,g]=_j(),y=w.useRef(null),v=jj(y,!!(s&&s.occurrences.length));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(ae,{name:"chat",size:14})," ",i.jsx("span",{children:"Back to the conversation"})]}),t.notice?i.jsx("p",{className:"code-field-help",role:"status",children:t.notice}):null]}),s?i.jsxs("div",{className:"code-auto-main-body",ref:y,"data-occurrences":f.occurrences?"open":"closed",children:[h?i.jsx(Hx,{...h,fetchGateway:$u}):null,v?Ru.createPortal(i.jsx(Jm,{panel:"occurrences",label:"Occurrences",count:s.summary.occurrence_count,open:f.occurrences,onToggle:()=>g("occurrences")}),v):null,e.enabled?i.jsx($j,{panels:f,onToggle:()=>g("folder"),title:pp(s.automationId,d,s.occurrences),own:d===s.automationId,children:i.jsx(Am,{className:"code-auto-folder",fetchGateway:$u,runId:d,title:pp(s.automationId,d,s.occurrences),refreshKey:Ej(s.summary),onClose:d!==s.automationId?()=>l({automationId:c,runId:""}):void 0})}):null]}):t.error?i.jsx(Qm,{error:t.error}):i.jsx(Uu,{children:"Loading automation…"})]})}function Tj(e){const[t,s]=w.useState();return w.useEffect(()=>{e.open&&(s(void 0),e.ctl.loadEmailStatus())},[e.open]),i.jsx(Iv,{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,emailStatus:e.ctl.state.emailStatus,onOpenMyEmail:e.onOpenMyEmail,busy:e.ctl.state.busy,error:t,onSubmit:a=>e.ctl.create(a).then(l=>(e.onCreated(l.automation_id),e.onClose(),l),l=>{throw s(br(l)),l})})}function Ym(e){return`abstractcode.workspace.v2:${e}`}function Rj(e){try{const{showAllWorkflows:t,...s}=JSON.parse(e||"{}"),a=typeof s.workflow=="string"&&s.workflow.trim()?s.workflow.trim():jr.workflow;return{...jr,...s,workflow:a,speculation:xp(s.speculation),streamReplies:xb(s.streamReplies),tools:{...jr.tools,...s.tools}}}catch{return jr}}function Ij(e){try{return Rj(localStorage.getItem(Ym(e)))}catch{return jr}}function Mj(e,t){try{localStorage.setItem(Ym(e),JSON.stringify(t))}catch{}}function Lj(e){var f,g;const t=Object.keys(((f=e.schema)==null?void 0:f.properties)||{}),s=((g=e.schema)==null?void 0:g.required)||[],a=[e.promptProperty||"prompt","context","messages","attachments"],l=["provider","model","tools","skills","max_iterations","use_context","use_session_history"],c=Pm(e.schema).map(y=>[y.provider,y.model,y.reasoning].filter(v=>!!v)),d=new Set(t.filter(y=>s.includes(y)&&!a.includes(y)));for(const y of c)y.some(v=>d.has(v))&&y.forEach(v=>d.add(v));const h=new Set(t.filter(y=>!d.has(y)&&!a.includes(y)&&!l.includes(y)));for(const y of c)y.some(v=>h.has(v))&&y.forEach(v=>h.add(v));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(Au,{...e,omit:t.filter(y=>!d.has(y)),rawObject:!1}):null,h.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(Au,{...e,omit:t.filter(y=>!h.has(y)),rawObject:!1})]}):null]})}function Pj(e,t,s){var l;if(!s.length)return t;const a=(l=e==null?void 0:e.properties)==null?void 0:l.attachments;if(!a||a.type&&a.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{...t,attachments:[...Array.isArray(t.attachments)?t.attachments:[],...s]}}function Oj(e){if(!e.trim())return{ok:!0,value:{}};let t;try{t=JSON.parse(e)}catch{return{ok:!1,error:"Enter valid JSON."}}return t===null||typeof t!="object"||Array.isArray(t)?{ok:!1,error:"The workflow input payload must be a JSON object."}:{ok:!0,value:t}}function Au({schema:e,values:t,onChange:s,disabled:a=!1,omit:l=[],rawObject:c=!1,onEditorError:d,defaultModel:h}){const[f,g]=ht.useState("fields"),y=Object.entries((e==null?void 0:e.properties)||{}).filter(([S])=>!l.includes(S)),v=Pm(e),x=new Set(v.flatMap(S=>[S.provider,S.model,S.reasoning].filter(Boolean))),b=S=>{g(S),d==null||d("")},k=y.length?i.jsx("div",{className:"code-input-fields",children:y.map(([S,j])=>{const C={...j,type:pb(j)},$=v.find(P=>P.provider===S);if($)return i.jsxs("section",{className:"code-settings-section",children:[i.jsx("h3",{children:$.title}),i.jsx(Iu,{value:{provider:String(t[$.provider]||""),model:String(t[$.model]||""),...$.reasoning?{reasoning:String(t[$.reasoning]||"")}:{}},onChange:P=>s({...t,[$.provider]:P.provider,[$.model]:P.model,...$.reasoning?{[$.reasoning]:P.reasoning||""}:{}}),...wb($.provider,C["x-abstract-type"]),fetchModelCapabilities:$.reasoning?Ju.fetchModelCapabilities:void 0,effectiveDefault:$.provider==="provider"?h:void 0,defaultHint:$.provider==="provider"&&(h!=null&&h.model)?`Gateway default: ${h.provider} · ${h.model}. Workflow defaults take precedence.`:"Empty routing pins inherit the Gateway defaults. Registered workflow defaults are loaded above any Gateway default.",disabled:a})]},S);if(x.has(S))return null;const E=`workflow-input-${S}`,A=String(C.title||S).replace(/_/g," "),z=Array.isArray(e==null?void 0:e.required)&&e.required.includes(S),F=P=>{const M={...t};P===void 0?delete M[S]:M[S]=P,s(M)};return i.jsxs("div",{className:"code-field",children:[i.jsxs("label",{htmlFor:E,children:[A,z?i.jsx("span",{"aria-label":"required",children:" *"}):null]}),C.enum?i.jsxs("select",{id:E,value:t[S]===void 0?"":JSON.stringify(t[S]),disabled:a,onChange:P=>F(P.target.value?JSON.parse(P.target.value):void 0),children:[i.jsxs("option",{value:"",children:["Choose ",A]}),C.enum.map(P=>i.jsx("option",{value:JSON.stringify(P),children:String(P)},JSON.stringify(P)))]}):C.type==="boolean"?i.jsxs("select",{id:E,value:t[S]===void 0?"":String(t[S]),disabled:a,onChange:P=>F(P.target.value?P.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"})]}):C.type==="number"||C.type==="integer"?i.jsx("input",{id:E,type:"number",value:typeof t[S]=="number"?String(t[S]):"",min:C.minimum,max:C.maximum,step:C.type==="integer"?1:"any",disabled:a,onChange:P=>F(P.target.value===""?void 0:Number(P.target.value))}):C.type==="object"||C.type==="array"?i.jsx(Fj,{id:E,value:t[S],disabled:a,onChange:F},S):i.jsx("textarea",{id:E,rows:2,value:String(t[S]??""),disabled:a,onChange:P=>F(P.target.value)}),C.description?i.jsx("p",{className:"code-field-help",id:`${E}-help`,children:C.description}):null]},S)})}):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 c?i.jsxs("div",{children:[i.jsxs("div",{className:"code-settings-tabs",role:"tablist","aria-label":"Workflow input editor",onKeyDown:Yu,children:[i.jsx("button",{type:"button",role:"tab",tabIndex:f==="fields"?0:-1,"aria-selected":f==="fields",onClick:()=>b("fields"),children:"Fields"}),i.jsx("button",{type:"button",role:"tab",tabIndex:f==="json"?0:-1,"aria-selected":f==="json",onClick:()=>b("json"),children:"JSON payload"})]}),f==="json"?i.jsxs(i.Fragment,{children:[i.jsx(Dj,{value:t,disabled:a,onChange:s,onError:S=>d==null?void 0:d(S)}),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."})]}):k]}):k}function Dj({value:e,onChange:t,onError:s,disabled:a}){const[l,c]=ht.useState(JSON.stringify(e,null,2)),[d,h]=ht.useState(""),f=ht.useRef(e);return ht.useEffect(()=>{e!==f.current&&(f.current=e,c(JSON.stringify(e,null,2)),h(""),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:a,"aria-invalid":!!d,onChange:g=>{c(g.target.value);const y=Oj(g.target.value);if(!y.ok){h(y.error),s(y.error);return}f.current=y.value,h(""),s(""),t(y.value)}}),d?i.jsx("span",{role:"alert",className:"code-error-text",children:d}):null]})}function Fj({id:e,value:t,onChange:s,disabled:a}){const[l,c]=ht.useState(t===void 0?"":JSON.stringify(t,null,2)),[d,h]=ht.useState(""),f=ht.useRef(t);return ht.useEffect(()=>{t!==f.current&&(f.current=t,c(t===void 0?"":JSON.stringify(t,null,2)),h(""))},[t]),i.jsxs(i.Fragment,{children:[i.jsx("textarea",{id:e,className:"code-mono",rows:4,value:l,disabled:a,"aria-invalid":!!d,onChange:g=>{c(g.target.value);try{const y=g.target.value.trim()?JSON.parse(g.target.value):void 0;f.current=y,s(y),h("")}catch{f.current=g.target.value,s(g.target.value),h("Enter valid JSON.")}}}),d?i.jsx("span",{role:"alert",className:"code-error-text",children:d}):null]})}function zj({attachments:e,uploads:t,sizes:s,onRemoveAttachment:a,onRemoveUpload:l,onRetryUpload:c}){return i.jsxs("div",{className:"code-attachments",role:"list","aria-label":"Attached files",children:[e.map((d,h)=>{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"?za(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(ae,{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:()=>a(h),children:i.jsx(ae,{name:"x",size:12})})]},`${d.$artifact}:${h}`)}),t.map(d=>{const h=d.status==="queued"||d.status==="uploading",f=d.status==="queued"?`Waiting · ${za(d.size)}`:d.status==="uploading"?`Uploading · ${za(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":h||void 0,children:[i.jsx("span",{className:"code-attachment__icon","aria-hidden":"true",children:h?i.jsx("span",{className:"code-attachment__spinner"}):i.jsx(ae,{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:()=>c(d.id),children:[i.jsx(ae,{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(ae,{name:"x",size:12})})]},d.id)})]})}function Wj({active:e,paused:t,snapshot:s,onRevokeApproval:a,onCommand:l,onActivity:c,onInteraction:d,permissionsAll:h}){const f=w.useMemo(()=>nx(s),[s]),g=w.useMemo(()=>f.tone==="working"?Tk(s.records.map(j=>j.record)):"",[f.tone,s.records]),y=g||f.detail,[v,x]=w.useState(Date.now);w.useEffect(()=>{if(!e)return;const j=window.setInterval(()=>x(Date.now()),1e3);return()=>window.clearInterval(j)},[e]);const b=Date.parse(f.startedAt||""),k=Number.isFinite(b)?Math.max(0,Math.floor((v-b)/1e3)):null,S=k===null?"":k<60?`${k}s`:`${Math.floor(k/60)}m ${k%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(ae,{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(ae,{name:"chevronRight",size:12})]}):i.jsx("strong",{children:f.label}),i.jsx("span",{className:`code-run-strip__detail${g?" code-run-strip__detail--live":""}`,title:y,children:y})]}),i.jsxs("span",{className:"code-run-strip__metrics","aria-label":"Run activity metrics",children:[e&&S?i.jsx("span",{children:S}):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.jsxs("button",{onClick:()=>l(t?"resume":"pause"),children:[t?"Resume":"Pause"," "]}),i.jsx("button",{onClick:()=>l("conclude"),children:"Conclude"})]}):null,i.jsxs("button",{onClick:c,children:["View activity ",i.jsx(ae,{name:"chevronRight",size:12})]}),h?i.jsxs("div",{className:"code-run-strip__consent",children:[i.jsx(ae,{name:"check",size:13}),i.jsx("span",{children:"Permissions: all · enabled tools only"}),i.jsx("button",{onClick:a,children:"Revoke"})]}):null]})}function Uj({runId:e,sessionId:t,capability:s,scope:a,preferences:l,onTranscript:c,onError:d}){var v,x;const h=w.useRef(!0),f=w.useRef(a);f.current=a,w.useEffect(()=>(h.current=!0,()=>{h.current=!1}),[]);const g=()=>{if(!h.current||f.current!==a)throw new Error("Voice session changed.")},y=$w({tts:((v=s.tts)==null?void 0:v.available)===!0&&e?async b=>{g();const k=await ft(ke(`runs/${encodeURIComponent(e)}/voice/tts`),{method:"POST",body:JSON.stringify({text:b,request_id:rs(),...Object.fromEntries(Object.entries(l).filter(([,C])=>C!==""&&C!==void 0))})});g();const S=k==null?void 0:k.audio_artifact;if(!(S!=null&&S.$artifact))throw new Error("The gateway did not return an audio artifact.");const{blob:j}=await Tn.get_run_artifact_blob(String(S.run_id||k.child_run_id||e),S.$artifact,{max_bytes:25e6});return g(),j.arrayBuffer()}:void 0,transcribe:((x=s.stt)==null?void 0:x.available)===!0&&e?async(b,k)=>{var A;g();const S=Number(((A=s.stt)==null?void 0:A.max_upload_bytes)||0);if(S>0&&b.size>S)throw new Error("Recording exceeds the gateway's upload limit. Try a shorter recording.");const j=k.includes("mp4")?"m4a":k.includes("ogg")?"ogg":k.includes("wav")?"wav":"webm",C=new File([b],`recording.${j}`,{type:k||"audio/webm"}),$=await Tn.attachments_upload(t,C);g();const E=await Tn.audio_transcribe(e,{audio_artifact:$,request_id:rs()});return g(),String(E.text||"")}:void 0,on_transcript:b=>{h.current&&f.current===a&&c(b)},on_error:b=>{h.current&&f.current===a&&d(b)}});return w.useEffect(()=>{var b;return y.stop_tts(),(b=y.cancel_voice_ptt_recording)==null||b.call(y),()=>{var k;y.stop_tts(),(k=y.cancel_voice_ptt_recording)==null||k.call(y)}},[a,y.stop_tts,y.cancel_voice_ptt_recording]),y}function Bj({voice:e,runId:t,capability:s,answer:a,onSettings:l}){var y,v,x,b,k,S;const c=w.useRef(!1),d=w.useRef(!0);w.useEffect(()=>(d.current=!0,()=>{d.current=!1,c.current=!1}),[]);const h=()=>{c.current=!0,e.start_voice_ptt_recording().then(()=>{(!c.current||!d.current)&&e.stop_voice_ptt_recording()})},f=()=>{c.current=!1,e.stop_voice_ptt_recording()};if(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]),!((y=s.tts)!=null&&y.available)&&!((v=s.stt)!=null&&v.available))return null;const g=!sk();return i.jsxs(i.Fragment,{children:[(x=s.stt)!=null&&x.available&&g?i.jsxs(i.Fragment,{children:[i.jsx("button",{className:"code-icon-button","aria-label":"Dictation unavailable","aria-describedby":"code-voice-https-note",title:np,disabled:!0,children:i.jsx(ae,{name:"mic",size:15})}),i.jsx("span",{id:"code-voice-https-note",className:"code-voice-note",role:"note",children:np})]}):null,(b=s.stt)!=null&&b.available&&!g?i.jsx("button",{className:"code-icon-button","aria-label":e.voice_ptt_recording?"Recording — release to transcribe":"Hold to dictate",title:t?"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:j=>{j.button===0&&h()},onPointerUp:f,onPointerCancel:f,onKeyDown:j=>{[" ","Enter"].includes(j.key)&&!j.repeat&&(j.preventDefault(),h())},onKeyUp:j=>{[" ","Enter"].includes(j.key)&&(j.preventDefault(),f())},onBlur:f,children:i.jsx(ae,{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||!a||e.tts_playback.status==="loading",onClick:()=>{a&&e.toggle_tts(["playing","paused"].includes(e.tts_playback.status)?e.tts_playback.key:a.id||"latest",a.content)},children:i.jsx(ae,{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(ae,{name:"x",size:14})}):null,l&&((S=s.tts)!=null&&S.available)?i.jsx("button",{className:"code-icon-button","aria-label":"Voice settings",title:"Voice settings",onClick:l,children:i.jsx(ae,{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 hu(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function sl(e){return typeof e=="string"?e.trim():""}function Vj(e){const t=hu(e),s=hu(t==null?void 0:t.gateway),a=hu(s==null?void 0:s.principal);return JSON.stringify([sl((t==null?void 0:t.gateway_url)??(t==null?void 0:t.gatewayUrl)),sl((a==null?void 0:a.tenant_id)??(a==null?void 0:a.tenantId)),sl((a==null?void 0:a.runtime_id)??(a==null?void 0:a.runtimeId)),sl((a==null?void 0:a.user_id)??(a==null?void 0:a.userId))||"session"])}function mp(e,t){return!!e.sourceRunId&&e.sessionId===t.sessionId&&e.sessionId===t.snapshotSessionId&&e.sourceRunId===t.runId&&e.sourceRunId===t.snapshotRunId&&e.authEpoch===t.authEpoch}function Gj(e){const t=typeof e=="string"?e.trim().toLowerCase():"";return["completed","complete","done"].includes(t)?"advance":["failed","error","cancelled","canceled"].includes(t)?"pause":"wait"}function Hj(e,t,s){return e.flatMap(a=>a.id===t.id?[]:a.sessionId!==t.sessionId||a.authEpoch!==t.authEpoch||a.sourceRunId!==t.sourceRunId?[a]:[{...a,sourceRunId:s}])}function gp(){return new DOMException("The conversation changed before the run was attached.","AbortError")}const Kj=fw("abstractcode","0.10.2"),pu=e=>["completed","failed","cancelled","canceled"].includes(e);function yp(){const e=new URLSearchParams(window.location.hash.replace(/^#/,""));return{sessionId:e.get("session")||rs(),runId:e.get("run")||""}}function Ia(e,t=""){const s=new URLSearchParams({session:e});t&&s.set("run",t),window.history.replaceState(null,"",`#${s}`)}function Jj(){var to,no,Js,hs,Qs,Xi,Pn,Ys,ps,Zi,ms,gs,qi,Ot,fr,Xs,Lr,ro,Zs,qs,Pr;const e=iw({appName:"AbstractCode",variant:"blocking"}),t=e.connected?Vj(e.status):"",s=w.useCallback(()=>{e.refresh()},[e.refresh]),a=Kb(t,s),[l,c]=bw("abstractcode",{defaults:{theme:"observer-night"}}),[d,h]=w.useState(!1),[f,g]=w.useState(),y=w.useCallback(()=>{g(void 0),ft(ke("about")).then(I=>g({ok:!0,value:I})).catch(I=>g({ok:!1,status:I==null?void 0:I.status,message:vt(I)}))},[]),[v,x]=w.useState(!1),[b,k]=w.useState({});w.useEffect(()=>{try{k(JSON.parse(localStorage.getItem(`abstractcode.voice:${t}`)||"{}"))}catch{k({})}x(!1)},[t]);const S=I=>{if(k(I),t)try{localStorage.setItem(`abstractcode.voice:${t}`,JSON.stringify(I))}catch{}},[j,C]=w.useState(jr),$=w.useRef(j);$.current=j;const E=bb(j.streamReplies,a.streaming),[A,z]=w.useState(jr.workflow),F=w.useMemo(()=>Ib(a.executable.data),[a.executable.data]),P=w.useMemo(()=>Rb(a.gatewayDefault,a.workflows),[a.gatewayDefault,a.workflows]),M=A===gn?P:a.workflows.find(I=>I.id===A)||F.find(I=>I.id===A)||null,[U,Y]=w.useState(null),Q=Hu(M),[W,J]=w.useState(yp),[fe,ce]=w.useState(""),[we,ve]=w.useState(""),[q,re]=w.useState(""),[ie,R]=w.useState(!1),O=w.useRef(!1),[D,G]=w.useState([]),[se,ue]=w.useState([]),he=w.useRef(new Set),le=w.useRef(new Map),[Ce,Se]=w.useState(""),at=w.useRef(null),[ee,K]=w.useState(),me=w.useRef(ee);me.current=ee;const[Re,ge]=w.useState(!1),[Ee,We]=w.useState(""),[nt,X]=w.useState(0),[pe,Le]=w.useState({}),[He,Pt]=w.useState(""),[Ze,Bn]=w.useState(null),[At,Vn]=w.useState(""),[Ls,Qt]=w.useState(!1),[sr,Ga]=w.useState(!1),[Ha,Ii]=w.useState("model"),Mi=xh(_h.md),Li=xh(_h.lg),yn=Zv(Li,Mi),as=w.useRef(yn),os=l_(60),[Pi,ir]=w.useState(()=>qv(yn)),Vt=Pi.open,Ps=yn!=="docked",ar=w.useCallback(I=>ir(Z=>t_(Z,as.current,typeof I=="function"?I(Z.open):I)),[]),[Ka,Oi]=w.useState("files"),[or,Gt]=w.useState(!1),[Di,Nr]=h_(),Os=lj(a.capabilities),{ctl:wn,state:Fi}=Sj(t,e.connected&&Os.available),[Rn,Gn]=w.useState(!1),[Cr,Ds]=w.useState(!1),zi=w.useRef(""),[Wi,xl]=w.useState(""),Hn=w.useRef(null),[Er,Ja]=w.useState("steer"),[lr,In]=w.useState([]),[Fs,vn]=w.useState(!1),[Ui,Bi]=w.useState([]),zs=w.useMemo(()=>Dm(a.tools,j.tools,j.permissions),[a.tools,j.tools,j.permissions]),rt=w.useRef(null),bl=w.useMemo(()=>{var ze,De;const I=((ze=rt.current)==null?void 0:ze.runId)===W.runId?rt.current.input:null;if(W.runId&&!Ze&&!I)return{enabledTools:[],autoApproveTools:[]};const Z=Ze?Ze.input_data:I,Ie=tk(zs,(De=Z==null?void 0:Z._runtime)==null?void 0:De.allowed_tools);return{...Ie,autoApproveTools:j.toolsCustomized||j.permissions!=="default"?Ie.autoApproveTools:[]}},[zs,Ze,W.runId,j.toolsCustomized,j.permissions]),ls=`${t}:${W.sessionId}:${W.runId}`,Vi=w.useRef(ls);Vi.current=ls;const cs=w.useRef(null),[Qa,Ya]=w.useState({scope:"",notes:[]}),Ws=w.useMemo(()=>Qb({onDeltaError:I=>{const Z=Vi.current,Ie=Sb(I,cs.current);Ya(ze=>({scope:Z,notes:Nb(ze.scope===Z?ze.notes:[],Ie)}))}}),[]),{controller:kt,snapshot:Ve}=jx({transport:Ws,runId:W.runId,enabled:e.connected,onAuthError:s,clientId:"abstractcode-web",authScopeKey:t,toolApprovalPolicy:bl}),ct=!!W.runId&&!pu(Ve.status)&&Ve.status!=="idle",Gi=((to=Ve.run)==null?void 0:to.paused)===!0||Ve.status==="paused",$r=ct||ie,Us=Ve.loading&&Ui.length?Ui:Ve.messages,cr=Us[Us.length-1];cs.current=cr!=null&&cr.id?String(cr.id):null;const un=Cb(Us,[kb(j.streamReplies,a.streaming,Us),...Qa.scope===ls?Qa.notes:[]]),Ar=((Js=(no=a.capabilities)==null?void 0:no.assistant)==null?void 0:Js.voice)||{},Mn=Uj({scope:`${t}:${W.sessionId}:${W.runId}`,runId:t?W.runId:"",sessionId:W.sessionId,capability:Ar,preferences:b,onTranscript:I=>ce(Z=>Z?`${Z.trimEnd()}
|
|
74
|
+
${I}`:I),onError:ve}),Xa=_x(Ve),_n=w.useMemo(()=>Kx(Xa,kt,{records:Ve.records,currentRun:Ve.run,onPermissionsAll:async()=>{C(I=>({...I,permissions:"all"}))}}),[Xa,Ve.records,Ve.run,kt]),Bs=!!_n&&Er==="steer",xn=Q?"prompt":mb(ee),Vs=Q||!!(xn&&!((hs=ee==null?void 0:ee.required)!=null&&hs.some(I=>I!==xn))),bn=String(((Qs=Ze==null?void 0:Ze.workspace)==null?void 0:Qs.workspace_root)||((Pn=(Xi=Ve.run)==null?void 0:Xi.vars)==null?void 0:Pn.workspace_root)||""),us=w.useMemo(()=>{var I;return qx(a.workflows,{inputData:Ze,runWorkflowId:(I=Ve.run)==null?void 0:I.workflow_id})},[a.workflows,Ze,(Ys=Ve.run)==null?void 0:Ys.workflow_id]),Tr=W.runId&&Ze&&!a.loading&&Ve.run&&!us&&Qu(Ze)!=="gateway_default"?"This conversation's exact workflow version is unavailable. Restore it in the gateway, or start a new conversation with an available workflow.":"",Fe=a.sessions.find(I=>I.sessionId===W.sessionId),Hi=(Fe==null?void 0:Fe.prompt)||((ps=un.find(I=>I.role==="user"))==null?void 0:ps.content)||"New conversation",Ki=oj((Zi=e.status)==null?void 0:Zi.gateway_url),ds=Ki?()=>{window.open(Ki,"_blank","noopener,noreferrer")}:void 0,Za={...ds?{openMyEmail:ds}:{},openConversation:(I,Z,Ie)=>{zi.current=Ie||"",dr(I,Z)},openRun:I=>{ft(ke(`runs/${encodeURIComponent(I)}`)).then(Z=>{if(!(Z!=null&&Z.session_id))throw new Error(`The gateway reported no session for run ${I}.`);dr(Z.session_id,I)}).catch(Z=>wn.reportError(Z))}},Ji=((ms=Fi.detail)==null?void 0:ms.summary.title)||"Automation",Gs=w.useRef(""),ur=w.useRef(t),pt=w.useRef(0);ur.current!==t&&(pt.current+=1,ur.current=t);const kn=w.useRef(!1),ot=w.useRef(W);ot.current=W,w.useEffect(()=>{if(O.current=!1,R(!1),ue([]),ve(""),re(""),!t){G([]),ce(""),In([]),vn(!1),Bi([]),C(jr);return}if(Gs.current&&Gs.current!==t){const Z={sessionId:rs(),runId:""};J(Z),Ia(Z.sessionId)}Gs.current=t,kn.current=!0;const I=Ij(t);C(I),z(I.workflow)},[t]),w.useEffect(()=>{if(t){if(kn.current){kn.current=!1;return}Mj(t,j)}},[j,t]),w.useEffect(()=>{if(a.loading||!a.workflows.length)return;const I=Pb({selection:A,preferred:j.workflow,visible:F,workflows:a.workflows,runId:W.runId});I!==A&&z(I)},[a.loading,a.workflows,F,A,j.workflow,W.runId]),w.useEffect(()=>{let I=!0;if(Le({}),Pt(""),K(void 0),We(""),!M){ge(!1);return}return ge(!0),Jb(M).then(Z=>{I&&(K(Z),Le($i(Z)))}).catch(Z=>{I&&We(vt(Z))}).finally(()=>{I&&ge(!1)}),()=>{I=!1}},[M==null?void 0:M.id,nt]),w.useEffect(()=>{if(Bn(null),Vn(""),!t||!W.runId)return;const I=new AbortController;return ft(ke(`runs/${encodeURIComponent(W.runId)}/input_data`),{signal:I.signal}).then(Z=>{Bn(Z)}).catch(Z=>{I.signal.aborted||Vn(vt(Z))}),()=>I.abort()},[W.runId,t]),w.useEffect(()=>{Ze&&Ze.flow_id===(M==null?void 0:M.flowId)&&ee&&Le({...$i(ee),...fb(ee,Ze.input_data)})},[Ze,ee,M==null?void 0:M.flowId]),w.useEffect(()=>{!W.runId&&e.connected&&(Fe!=null&&Fe.latestRunId)&&J(I=>({...I,runId:Fe.latestRunId}))},[W.runId,e.connected,Fe==null?void 0:Fe.latestRunId]),w.useEffect(()=>{Ia(W.sessionId,W.runId),O.current=!1,R(!1),ue([]),G([]),Le($i(me.current)),Bi([]),re(zi.current),zi.current="",ve(""),In([]),vn(!1)},[W.sessionId]),w.useEffect(()=>{const I=()=>{const Z=yp();O.current=!1,R(!1),ue([]),In([]),vn(!1),ce(""),J(Z)};return window.addEventListener("hashchange",I),()=>window.removeEventListener("hashchange",I)},[]),w.useEffect(()=>{!W.runId||!pu(Ve.status)||a.refresh()},[W.runId,Ve.status]),w.useEffect(()=>{if(!W.runId||!Ze)return;const I=Ob({restoredInputs:Ze,restored:us});I&&z(I)},[W.runId,Ze,us==null?void 0:us.id]);const jn=W.runId?Db(Ze):"",Kn=w.useCallback(()=>{const I={sessionId:rs(),runId:""};J(I),z($.current.workflow),Ia(I.sessionId),ce(""),In([]),vn(!1),Gt(!1),Gn(!1)},[]),dr=w.useCallback((I,Z)=>{O.current=!1,R(!1),ue([]),J({sessionId:I,runId:Z}),Ia(I,Z),Gt(!1),In([]),vn(!1),ce(""),Gn(!1)},[]);w.useEffect(()=>{const I=as.current;as.current=yn,I!==yn&&(ir(Z=>e_(Z,I,yn)),Gt(Z=>n_(Z,yn)))},[yn]),Mh(or,Mi,()=>document.querySelector(".code-sidebar"),()=>document.querySelector(".code-mobile-close")),Mh(Vt,Ps,()=>document.querySelector(".code-inspector"),()=>document.querySelector(".code-inspector-heading .code-icon-button")),w.useEffect(()=>{const I=Z=>{var ze;const Ie=r_({key:Z.key,defaultPrevented:Z.defaultPrevented,overlayOpen:sr||Ls||v||Cr||d||s_(),sidebarOpen:or,inspectorOpen:Vt,inspectorIsOverlay:Ps});if(Ie==="sidebar"){Gt(!1),(ze=document.querySelector(".code-mobile-nav"))==null||ze.focus();return}if(Ie==="inspector"){ar(!1);return}(Z.metaKey||Z.ctrlKey)&&(Z.key.toLowerCase()==="k"&&(Z.preventDefault(),Gt(!0),window.setTimeout(()=>{var De;return(De=Hn.current)==null?void 0:De.focus()},0)),Z.key.toLowerCase()==="n"&&Z.shiftKey&&(Z.preventDefault(),Kn()))};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[Kn,or,Vt,Ps,sr,Ls,v,Cr,d,ar]);async function dn(I){if(O.current)throw new Error("A turn is already being submitted.");if(!e.connected)throw new Error("Connect to your gateway first.");if(A===gn&&a.gatewayDefault.status==="unavailable")throw new Error(`Gateway default: ${a.gatewayDefault.reason}. Choose a workflow from the list.`);if(!M)throw new Error("Choose a workflow first.");if(!a.policy)throw new Error("Workspace policy is unavailable. Reconnect or refresh before starting.");if(W.runId&&(!Ze||At))throw new Error(At||"Wait for the gateway to restore this conversation's workspace.");if(Tr)throw new Error(Tr);if(Re||Ee)throw new Error(Ee||"Wait for workflow inputs to load.");if(He)throw Qt(!0),new Error(He);const Z=fk(se);if(Z)throw new Error(Z);if(ct)throw new Error("The current run is still active.");if(!Q&&I.trim()&&!xn)throw Qt(!0),new Error("This workflow uses structured inputs. Configure its inputs, then select Run workflow.");const Ie={...$i(ee),...pe,...xn&&I.trim()?{[xn]:I.trim()}:{}},ze=Q?Ie:Pj(ee,Ie,D);for(const[Yt,Xt]of[["Iteration limit",j.maxIterations],["Context token limit",j.maxTokens]])if(Xt&&(!Number.isInteger(Number(Xt))||Number(Xt)<=0))throw new Error(`${Yt} must be a positive whole number.`);O.current=!0,R(!0),ve(""),re("");const De=W.sessionId,jt=W.runId,Or=t,Dr=pt.current;let St="";try{const Yt=sb({workflow:M,inputSchema:ee,schemaInputs:ze,prompt:I,promptProperty:xn,model:j,reasoning:j.reasoning||void 0,speculation:j.speculation,streamReplies:E,systemPromptExtra:j.system||void 0,attachments:D,limits:{maxIterations:j.maxIterations?Number(j.maxIterations):void 0,maxTokens:j.maxTokens?Number(j.maxTokens):void 0},workspace:a.policy.clientWorkspaceScopeOverrides?{root:j.workspaceRoot||bn||void 0,accessMode:j.workspaceMode||void 0,allowedPaths:j.allowedPaths.split(`
|
|
75
|
+
`).filter(Boolean)}:bn?{root:bn}:void 0,tools:j.toolsCustomized?zs.enabledTools:void 0,toolPolicy:j.toolsCustomized||j.permissions!=="default"?{autoApproveTools:[],requireApprovalTools:zs.enabledTools}:void 0,skills:j.skills.length?j.skills:void 0}),Xt=gb(ee,Yt);if(Xt.length)throw Qt(!0),new Error(Xt.join(" "));const Jn=Fb({selection:A,workflow:M,sessionId:De,input:Yt}),Qn=await ft(ke("runs/start"),{method:"POST",body:JSON.stringify(Jn)});if(!Qn.run_id)throw new Error("The gateway did not return a run identifier.");if(ot.current.sessionId!==De||ot.current.runId!==jt||ur.current!==Or||pt.current!==Dr)throw gp();return St=String(Qn.run_id),rt.current={runId:St,input:Yt},Y({runId:St,...zb(Qn.resolved_workflow)}),Bi([...un,...I.trim()?[{id:`pending:${Qn.run_id}`,role:"user",content:I.trim()}]:[]]),J({sessionId:De,runId:Qn.run_id}),Ia(De,Qn.run_id),ce(""),G([]),Qt(!1),Qn.runner_warning&&re(String(Qn.runner_warning)),a.refresh(),St}finally{ot.current.sessionId===De&&(ot.current.runId===jt||ot.current.runId===St)&&ur.current===Or&&pt.current===Dr&&(O.current=!1,R(!1))}}async function kl(I){if(!ct)return dn(I);if(Er==="queue")In(Z=>[...Z,{id:rs(),text:I,sessionId:W.sessionId,sourceRunId:W.runId,authEpoch:pt.current}]),vn(!0),ce(""),re("Queued for the next turn.");else{if(_n)throw new Error("Answer the pending workflow request above, or choose Queue next turn.");const Z=W.sessionId,Ie=W.runId,ze=pt.current;if(await kt.sendCommand("inject_guidance",{guidance:I}),ot.current.sessionId!==Z||ot.current.runId!==Ie||pt.current!==ze)return;ce(""),re("Guidance queued. The workflow will read it at its next supported boundary.")}}async function Qi(I){var ze,De;const Z=String(((ze=Ve.run)==null?void 0:ze.run_id)||"");if(!mp(I,{sessionId:W.sessionId,runId:W.runId,snapshotRunId:Z,snapshotSessionId:String(((De=Ve.run)==null?void 0:De.session_id)||""),authEpoch:pt.current}))throw gp();const Ie=await dn(I.text);In(jt=>Hj(jt,I,Ie))}w.useEffect(()=>{var Ie,ze;if(!Fs||!lr.length||!e.connected||!Ze||At||O.current)return;const I=Gj(Ve.status);if(I==="wait")return;if(I==="pause"){vn(!1);const De=["failed","error"].includes(Ve.status.toLowerCase());re(`Queue paused because the run ${De?"failed":"was cancelled"}. Review the result, then use Run next to continue explicitly.`);return}const Z=lr[0];mp(Z,{sessionId:W.sessionId,runId:W.runId,snapshotRunId:String(((Ie=Ve.run)==null?void 0:Ie.run_id)||""),snapshotSessionId:String(((ze=Ve.run)==null?void 0:ze.session_id)||""),authEpoch:pt.current})&&Qi(Z).catch(De=>{De instanceof DOMException&&De.name==="AbortError"||(vn(!1),ve(vt(De)))})},[Fs,lr,Ve.status,(gs=Ve.run)==null?void 0:gs.run_id,(qi=Ve.run)==null?void 0:qi.session_id,e.connected,Ze,At,W.sessionId,W.runId]);async function Rr(I){const Z=W.sessionId,Ie=t,ze=pt.current,De=()=>ot.current.sessionId!==Z||ur.current!==Ie||pt.current!==ze,jt=(St,Yt)=>ue(Xt=>Xt.map(Jn=>Jn.id===St?{...Jn,...Yt}:Jn));let Or=0,Dr=0;await dk(I,lk,async St=>{if(!(De()||he.current.has(St.id))){jt(St.id,{status:"uploading",message:void 0});try{const Yt=await Tn.attachments_upload(Z,St.file);if(De()||he.current.has(St.id))return;le.current.set(Yt.$artifact,St.size),ue(Xt=>Xt.filter(Jn=>Jn.id!==St.id)),G(Xt=>[...Xt,Yt]),Or+=1}catch(Yt){if(De()||he.current.has(St.id))return;jt(St.id,{status:"failed",message:ck(vt(Yt))}),Dr+=1}}}),!De()&&(Or||Dr)&&Se(ip(Or,Dr))}function Yi(I){var ze;if(!I.length)return[];const Z=uk(I,(ze=a.policy)==null?void 0:ze.maxAttachmentBytes,rs);ue(De=>[...De,...Z]);const Ie=Z.filter(De=>De.status==="refused").length;return Ie&&Se(ip(0,Ie)),Rr(Z.filter(De=>De.status==="queued")),Z}function qa(I){const Z=se.find(ze=>ze.id===I);if(!Z||Z.status!=="failed")return;const Ie={...Z,status:"queued",message:void 0};ue(ze=>ze.map(De=>De.id===I?Ie:De)),Rr([Ie])}function Hs(I){he.current.add(I),ue(Z=>Z.filter(Ie=>Ie.id!==I))}async function eo(){const I=W.sessionId,Z=W.runId,Ie=pt.current;await kt.cancel(),ot.current.sessionId===I&&ot.current.runId===Z&&pt.current===Ie&&re("")}const fs=I=>{Ii(I),Ga(!0)},Ln=I=>{const Z=pt.current,Ie=W.sessionId,ze=W.runId;ve(""),I().catch(De=>{De instanceof DOMException&&De.name==="AbortError"||pt.current===Z&&ot.current.sessionId===Ie&&ot.current.runId===ze&&ve(vt(De))})},Ir=a.sessions.filter(I=>`${I.prompt||""} ${I.sessionId}`.toLowerCase().includes(Wi.toLowerCase())),Mr=(()=>{var I;try{return new URL(((I=e.status)==null?void 0:I.gateway_url)||"").host}catch{return"Your gateway"}})(),Ks=j.model||(pe.provider&&pe.model?`Workflow · ${pe.model}`:"Gateway default");return i.jsxs("div",{className:`code-app${or?" code-app--nav-open":""}${Vt?" code-app--workspace-open":""}`,children:[i.jsx("a",{className:"code-skip-link",href:"#code-conversation",children:"Skip to conversation"}),i.jsxs(c_,{isDrawer:Mi,open:or,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:()=>Gt(!1),children:i.jsx(ae,{name:"x",size:18})})]}),i.jsxs("div",{className:"code-session-search",children:[i.jsx(ae,{name:"history",size:14}),i.jsx("input",{ref:Hn,"aria-label":"Search conversations",placeholder:"Search conversations",value:Wi,onChange:I=>xl(I.target.value)}),i.jsx("kbd",{children:"⌘K"})]}),i.jsxs(p_,{children:[i.jsx(Nj,{state:Fi,available:Os,discovering:a.capabilitiesLoading,selectedId:Rn?Fi.selectedId:"",onSelect:I=>{Gn(!0),Gt(!1),wn.select(I)},onNew:()=>Ds(!0),onRefresh:()=>void wn.refresh(),onShowArchived:I=>wn.setShowArchived(I),open:Di.automations,onToggle:()=>Nr("automations")}),i.jsxs(m_,{open:Di.conversations,onToggle:()=>Nr("conversations"),actions:i.jsxs("span",{className:"code-auto-actions",children:[i.jsx("button",{className:"code-icon-button code-new-chat","aria-label":"New conversation",title:"New conversation (⇧⌘N)","aria-keyshortcuts":"Shift+Meta+N",onClick:Kn,children:i.jsx(ae,{name:"plus",size:13})}),i.jsx("button",{className:"code-icon-button","aria-label":"Refresh conversations",disabled:!e.connected||a.loading,onClick:()=>void a.refresh(),children:i.jsx(ae,{name:"refresh",size:13})})]}),children:[Fe?null:i.jsxs("button",{className:"code-session is-selected",onClick:()=>Gt(!1),children:[i.jsx(ae,{name:"chat",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:"New conversation"}),i.jsx("small",{children:"Ready when you are"})]})]}),Ir.map(I=>i.jsx(Qj,{item:I,selected:I.sessionId===W.sessionId,onClick:()=>dr(I.sessionId,I.latestRunId)},I.sessionId)),!a.loading&&!Ir.length?i.jsx("p",{className:"code-history-empty",children:Wi?"No conversations match your search.":"Your conversations will live here. Pick up where you left off, on any device."}):null,a.loading?i.jsx(Uu,{children:"Loading conversations…"}):null,a.hasMore?i.jsx("button",{className:"code-load-more",onClick:a.loadMore,children:"Load more conversations"}):null]})]}),i.jsxs("div",{className:"code-sidebar-bottom",children:[i.jsx(y_,{path:bn,onOpen:()=>fs("workspace")}),i.jsxs("button",{onClick:()=>fs("model"),children:[i.jsx(ae,{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:Mr}),i.jsx("small",{children:((Xs=(fr=(Ot=e.status)==null?void 0:Ot.gateway)==null?void 0:fr.principal)==null?void 0:Xs.user_id)||"Signed out"})]})]})]}),or?i.jsx("button",{className:"code-nav-scrim","aria-label":"Close conversation navigation",onClick:()=>Gt(!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:()=>Gt(!0),children:i.jsx(ae,{name:"list",size:19})}),i.jsxs("div",{className:"code-breadcrumb",children:[i.jsx("span",{children:Rn?"Automations":"Conversations"}),i.jsx("span",{"aria-hidden":"true",children:"/"}),i.jsx("strong",{title:Rn?Ji:Hi,children:Rn?Ji:Hi})]}),i.jsx(vw,{appearance:{onOpen:()=>h(!0)},about:{identity:Kj,extraRows:sj(f),onOpen:y},extraActions:i.jsx("button",{className:`af-topbar__btn${Vt?" is-active":""}`,"aria-label":"Toggle workspace inspector","aria-pressed":Vt,onClick:()=>ar(I=>!I),children:i.jsx(ae,{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","aria-busy":Re||void 0,children:[i.jsx(ae,{name:"agent",size:17}),i.jsx(Yv,{id:"code-workflow-picker",className:"code-workflow-picker",interfaceId:is,ariaLabel:"Workflow",workflows:{...a.executable,reload:()=>void a.refresh()},value:Mb(A,M),currentLabel:M&&A!==gn&&!F.some(I=>I.id===M.id)?{name:M.name,detail:W.runId&&M.bundleVersion?`conversation version ${M.bundleVersion}`:M.bundleVersion?`@${M.bundleVersion}`:""}:null,unavailableReason:e.connected?$r?"A run is in progress.":null:"Connect to a gateway first.",onChange:(I,Z)=>{const Ie=Lb(I,Z);z(Ie),C(ze=>({...ze,workflow:Ie}))}}),A===gn&&lu(P)?i.jsx("span",{className:"code-workflow-resolved is-missing",role:"alert",title:lu(P),children:lu(P)}):null,jn?i.jsx("span",{className:"code-workflow-resolved is-missing",role:"status",title:jn,children:jn}):null,U&&U.runId===W.runId&&U.missing?i.jsx("span",{className:"code-workflow-resolved is-missing",role:"status",children:U.text}):null]}),i.jsx("span",{className:"code-toolbar-divider"}),i.jsx("button",{className:"code-icon-button code-model-button",onClick:()=>fs("model"),"aria-label":"Run settings",title:`Run settings · model: ${Ks}`,children:i.jsx(ae,{name:"settings",size:16})}),i.jsx("div",{className:"code-toolbar-spacer"}),i.jsxs("button",{className:"code-subtle-button",onClick:()=>Qt(!0),disabled:!M,"aria-label":"Inputs",title:"Workflow inputs",children:[i.jsx(ae,{name:"settings",size:14}),i.jsx("span",{children:"Inputs"})]}),i.jsxs("button",{className:"code-subtle-button",onClick:()=>fs("tools"),"aria-label":"Tools",title:"Tools",children:[i.jsx(ae,{name:"terminal",size:14}),i.jsx("span",{children:"Tools"})]}),un.length?i.jsx("button",{className:"code-icon-button","aria-label":"Export conversation",title:"Export conversation",onClick:()=>k_({filename:"conversation.md",text:b_(un)}),children:i.jsx(ae,{name:"download",size:15})}):null]}),i.jsxs("div",{className:"code-content",children:[Rn?i.jsx(Aj,{ctl:wn,host:Za,enabled:e.connected,onClose:()=>Gn(!1)}):i.jsxs("main",{className:"code-conversation",id:"code-conversation",tabIndex:-1,children:[we||Ve.error||e.signOutError||At?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsx(ae,{name:"warning",size:16}),i.jsx("span",{children:we||Ve.error||e.signOutError||At}),Ve.error||At?i.jsx("button",{onClick:()=>{At?window.location.reload():Ln(()=>kt.load(W.runId))},children:"Reconnect"}):i.jsx("button",{"aria-label":"Dismiss error",onClick:()=>ve(""),children:i.jsx(ae,{name:"x",size:14})})]}):null,a.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"}),a.errors.map(I=>i.jsx("p",{children:I},I)),i.jsx("button",{onClick:()=>void a.refresh(),children:"Retry discovery"})]})}):null,Tr?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsx("span",{children:Tr}),i.jsx("button",{onClick:Kn,children:"New conversation"})]}):null,Ee?i.jsxs("div",{className:"code-alert",role:"alert",children:[i.jsxs("span",{children:["Workflow inputs: ",Ee]}),i.jsx("button",{onClick:()=>X(I=>I+1),children:"Retry"})]}):null,q?i.jsxs("div",{className:"code-notice",role:"status",children:[q,i.jsx("button",{"aria-label":"Dismiss notice",onClick:()=>re(""),children:i.jsx(ae,{name:"x",size:13})})]}):null,ct||pu(Ve.status)?i.jsx(Wj,{active:ct,paused:Gi,snapshot:Ve,permissionsAll:j.permissions==="all",onInteraction:_n&&!Gi?()=>{var Ie;const I=document.querySelector(".code-conversation .pc-chat-thread"),Z=I==null?void 0:I.querySelector(".pc-workflow-interaction");!I||!Z||(I.scrollTop+=Z.getBoundingClientRect().top-I.getBoundingClientRect().top,(Ie=Z.querySelector("h3"))==null||Ie.focus({preventScroll:!0}))}:void 0,onRevokeApproval:()=>{kt.revokeToolApproval(),C(I=>({...I,permissions:"default"}))},onCommand:I=>Ln(()=>kt.sendCommand(I,{})),onActivity:()=>{Oi("activity"),ar(!0)}}):null,i.jsx(fx,{streamReplies:E,messages:(_n==null?void 0:_n.kind)==="tool-approval"?un.filter(I=>{var Z,Ie;return!(((Z=I.toolActivity)==null?void 0:Z.status)==="waiting"&&I.toolActivity.runId===((Ie=Ve.interaction)==null?void 0:Ie.runId))}):un,messageProps:{...Mn.tts_supported?{onSpeakToggle:I=>{Mn.toggle_tts(I.id||I.content,I.content)}}:{},getSpeakState:I=>Mn.tts_playback.key===(I.id||I.content)?Mn.tts_playback.status:"idle"},draft:fe,onDraftChange:ce,onSend:kl,busy:$r,busyLabel:Bs?"Waiting for you":ie?"Starting…":Gi?"Paused":"Working…",sendWhileBusy:ct&&!ie&&!Bs,sendLabel:ct?Er==="queue"?"Queue":"Steer":"Send",onCancel:eo,stopState:Ve.stop??null,disabled:!e.connected,interaction:_n,onAttach:()=>{var I;return(I=at.current)==null?void 0:I.click()},onFiles:I=>{Yi(I)},attachments:D.length||se.length?i.jsx(zj,{attachments:D,uploads:se,sizes:le.current,onRemoveAttachment:I=>G(Z=>Z.filter((Ie,ze)=>ze!==I)),onRemoveUpload:Hs,onRetryUpload:qa}):null,placeholder:ct?Er==="queue"?"Queue the next task after this run…":_n?"Answer the request above, or choose Queue next turn…":"Guide the current workflow…":"Describe what you want to build, fix, or explore…",emptyState:ct?null:i.jsx(Yj,{workflow:M,loading:a.loading||Re,onSuggestion:ce,onInputs:()=>Qt(!0),isAgent:Vs,onRun:()=>Ln(()=>dn(fe)),connected:e.connected}),composerExtras:i.jsxs(i.Fragment,{children:[i.jsxs("button",{className:"code-composer-workspace",onClick:()=>fs("workspace"),title:bn||"Workspace is managed by the gateway",children:[i.jsx(ae,{name:"terminal",size:14}),i.jsx("span",{children:bn.split("/").filter(Boolean).pop()||"Gateway workspace"})]}),e.connected?i.jsx(Bj,{runId:W.runId,voice:Mn,capability:Ar,onSettings:()=>x(!0),answer:[...un].reverse().find(I=>I.role==="assistant")},`${t}:${W.sessionId}:${W.runId}`):null,ct?i.jsxs("select",{"aria-label":"Message destination",value:Er,onChange:I=>Ja(I.target.value),children:[i.jsxs("option",{value:"steer",disabled:!!_n,children:["Guide this run",_n?" (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:[(Lr=a.policy)!=null&&Lr.clientWorkspaceScopeOverrides?"Gateway policy enforced":"Managed workspace",i.jsx("span",{className:"code-small-dot"})]})]})}),lr.length?i.jsxs("div",{className:"code-queue",children:[i.jsxs("div",{children:[i.jsxs("strong",{children:[lr.length," queued"," ",lr.length===1?"turn":"turns"]}),i.jsx(Ri,{className:"code-queue__switch",variant:"sm",action:"queue-running",label:"Run queued turns",hint:"On: each queued turn starts when the current run ends. Off: they wait here.",checked:Fs,onChange:vn})]}),lr.map(I=>i.jsxs("div",{children:[i.jsx("span",{children:I.text}),ct?null:i.jsx("button",{onClick:()=>Ln(()=>Qi(I)),children:"Run next"}),i.jsx("button",{"aria-label":"Remove queued turn",onClick:()=>In(Z=>Z.filter(Ie=>Ie.id!==I.id)),children:i.jsx(ae,{name:"x",size:13})})]},I.id))]}):null]}),Vt?i.jsx("button",{className:"code-inspector-scrim","aria-hidden":"true",tabIndex:-1,onClick:()=>ar(!1)}):null,Vt?i.jsx(Zk,{tab:Ka,onTab:Oi,policy:a.policy,runId:W.runId,records:Ve.records,enabled:e.connected,isAdmin:((qs=(Zs=(ro=e.status)==null?void 0:ro.gateway)==null?void 0:Zs.principal)==null?void 0:qs.admin)===!0,refreshKey:Ve.status,onAttachFiles:Yi,onClose:()=>ar(!1),onAttach:async I=>{const Z=W.sessionId,Ie=W.runId,ze=pt.current,De=await Tn.attachments_ingest(Z,I);ot.current.sessionId===Z&&ot.current.runId===Ie&&pt.current===ze&&G(jt=>[...jt,De])}}):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:(M==null?void 0:M.name)||"No workflow selected"}),i.jsx("div",{}),i.jsx("span",{children:W.runId?`Run ${W.runId.slice(0,8)}`:"Ready to start"}),i.jsx("button",{onClick:()=>h(!0),children:l.theme.replace(/-/g," ")})]})]}),i.jsx("div",{className:"pc-sr-only",role:"status","aria-live":"polite",children:Ce}),i.jsx("input",{ref:at,hidden:!0,type:"file",multiple:!0,onChange:I=>{Yi(Array.from(I.target.files||[])),I.target.value=""}}),i.jsx(Tj,{open:Cr,onClose:()=>Ds(!1),target:cj(A,M),workflowLabel:A===gn?Tb(a.gatewayDefault):(M==null?void 0:M.name)||"the selected workflow",initialPrompt:fe||((Pr=[...un].reverse().find(I=>I.role==="user"))==null?void 0:Pr.content)||"",ctl:wn,onOpenMyEmail:ds,onCreated:()=>{Gn(!0),Gt(!1)}}),i.jsx(rw,{...e.modalProps}),i.jsx(wu,{open:v,onClose:()=>x(!1),label:"Voice settings",title:"AI voice",width:480,topOffset:os,className:"code-settings-drawer",children:i.jsx("div",{className:"code-settings",children:e.connected?i.jsx(Aw,{value:b,onChange:I=>{Mn.stop_tts(),S(I)},fetchCatalog:(I,Z)=>ft(ke(`voice/voices?compact=true${I?`&provider=${encodeURIComponent(I)}`:""}${Z?`&model=${encodeURIComponent(Z)}`:""}`))}):null})}),i.jsx(kw,{open:d,onClose:()=>h(!1),value:l,onChange:c}),i.jsx(nk,{open:sr,topOffset:os,onClose:()=>Ga(!1),tab:Ha,onTab:Ii,value:j,onChange:I=>{const Z=[];(j.provider||j.model)&&!I.provider&&!I.model&&Z.push("provider","model"),j.toolsCustomized&&!I.toolsCustomized&&Z.push("tools"),j.maxIterations&&!I.maxIterations&&Z.push("max_iterations"),Z.length&&Le(Ie=>{const ze={...Ie},De=$i(ee);for(const jt of Z)delete ze[jt],Object.prototype.hasOwnProperty.call(De,jt)&&(ze[jt]=De[jt]);return ze}),C(I)},policy:a.policy,tools:a.tools,defaultModel:pe.provider&&pe.model?{provider:String(pe.provider),model:String(pe.model)}:a.defaultModel,workflowDefault:!!(pe.provider&&pe.model),streaming:a.streaming,disabled:$r||!e.connected},t),i.jsx(wu,{open:Ls,onClose:()=>Qt(!1),label:"Workflow inputs",title:(M==null?void 0:M.name)||"Workflow inputs",width:480,topOffset:os,className:"code-settings-drawer",children:i.jsxs("div",{className:"code-settings",children:[i.jsx("p",{className:"code-muted",children:(M==null?void 0:M.description)||"Configure the values this workflow needs to run."}),Re?i.jsx("p",{role:"status",children:"Loading input schema…"}):Ee?null:Q||xn?i.jsx(Lj,{schema:ee,promptProperty:xn,defaultModel:a.defaultModel,values:pe,onChange:Le,disabled:$r,onEditorError:Pt},M==null?void 0:M.id):i.jsx(Au,{schema:ee,defaultModel:a.defaultModel,values:pe,onChange:Le,disabled:$r,rawObject:!0,onEditorError:Pt},M==null?void 0:M.id),Ee?i.jsx("p",{role:"alert",className:"code-error-text",children:Ee}):null,Vs?i.jsxs("button",{className:"code-primary-button",onClick:()=>Qt(!1),children:["Back to chat ",i.jsx(ae,{name:"chat",size:16})]}):i.jsxs("button",{className:"code-primary-button",disabled:$r||Re||!!Ee||!!He||!e.connected,onClick:()=>Ln(()=>dn(fe||String(pe[xn||"prompt"]||""))),children:["Run workflow ",i.jsx(ae,{name:"playCircle",size:16})]})]})})]})}function Qj({item:e,selected:t,onClick:s}){const a=e.prompt||`Conversation ${e.sessionId.slice(0,8)}`,l=e.updatedAt?new Date(e.updatedAt):null;return i.jsxs("button",{className:`code-session${t?" is-selected":""}`,"aria-current":t?"page":void 0,onClick:s,title:a,children:[i.jsx(ae,{name:"chat",size:15}),i.jsxs("span",{children:[i.jsx("strong",{children:a}),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 Yj({workflow:e,loading:t,onSuggestion:s,onInputs:a,isAgent:l,onRun:c,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(ae,{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:a,children:"Configure inputs"}),i.jsx("button",{onClick:c,disabled:t||!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(h=>i.jsxs("button",{onClick:()=>s(h.prompt),disabled:t,children:[i.jsx(ae,{name:h.icon,size:18}),i.jsxs("span",{children:[i.jsx("strong",{children:h.title}),i.jsx("small",{children:h.detail})]}),i.jsx(ae,{name:"chevronRight",size:13})]},h.title))}),i.jsx("p",{className:"code-welcome-hint",children:t?"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 Xj extends ht.Component{constructor(){super(...arguments);mn(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}}Ay();a_();"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("sw.js").catch(()=>{})});jy.createRoot(document.getElementById("root")).render(i.jsx(ht.StrictMode,{children:i.jsx(Xj,{children:i.jsx(Jj,{})})}));
|