iranti-control-plane 0.4.0

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,77 @@
1
+ var eu=e=>{throw TypeError(e)};var Hl=(e,t,s)=>t.has(e)||eu("Cannot "+s);var C=(e,t,s)=>(Hl(e,t,"read from private field"),s?s.call(e):t.get(e)),oe=(e,t,s)=>t.has(e)?eu("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),X=(e,t,s,a)=>(Hl(e,t,"write to private field"),a?a.call(e,s):t.set(e,s),s),je=(e,t,s)=>(Hl(e,t,"access private method"),s);var ei=(e,t,s,a)=>({set _(r){X(e,t,r,s)},get _(){return C(e,t,a)}});function ag(e,t){for(var s=0;s<t.length;s++){const a=t[s];if(typeof a!="string"&&!Array.isArray(a)){for(const r in a)if(r!=="default"&&!(r in e)){const i=Object.getOwnPropertyDescriptor(a,r);i&&Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:()=>a[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))a(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&a(l)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function a(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();function rg(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vp={exports:{}},_l={},jp={exports:{}},we={};/**
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 Gr=Symbol.for("react.element"),ig=Symbol.for("react.portal"),lg=Symbol.for("react.fragment"),og=Symbol.for("react.strict_mode"),cg=Symbol.for("react.profiler"),dg=Symbol.for("react.provider"),ug=Symbol.for("react.context"),hg=Symbol.for("react.forward_ref"),pg=Symbol.for("react.suspense"),mg=Symbol.for("react.memo"),fg=Symbol.for("react.lazy"),tu=Symbol.iterator;function _g(e){return e===null||typeof e!="object"?null:(e=tu&&e[tu]||e["@@iterator"],typeof e=="function"?e:null)}var Np={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},bp=Object.assign,Sp={};function Ha(e,t,s){this.props=e,this.context=t,this.refs=Sp,this.updater=s||Np}Ha.prototype.isReactComponent={};Ha.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Ha.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function wp(){}wp.prototype=Ha.prototype;function Oc(e,t,s){this.props=e,this.context=t,this.refs=Sp,this.updater=s||Np}var Hc=Oc.prototype=new wp;Hc.constructor=Oc;bp(Hc,Ha.prototype);Hc.isPureReactComponent=!0;var nu=Array.isArray,Cp=Object.prototype.hasOwnProperty,zc={current:null},kp={key:!0,ref:!0,__self:!0,__source:!0};function Tp(e,t,s){var a,r={},i=null,l=null;if(t!=null)for(a in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)Cp.call(t,a)&&!kp.hasOwnProperty(a)&&(r[a]=t[a]);var o=arguments.length-2;if(o===1)r.children=s;else if(1<o){for(var c=Array(o),u=0;u<o;u++)c[u]=arguments[u+2];r.children=c}if(e&&e.defaultProps)for(a in o=e.defaultProps,o)r[a]===void 0&&(r[a]=o[a]);return{$$typeof:Gr,type:e,key:i,ref:l,props:r,_owner:zc.current}}function gg(e,t){return{$$typeof:Gr,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Uc(e){return typeof e=="object"&&e!==null&&e.$$typeof===Gr}function yg(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(s){return t[s]})}var su=/\/+/g;function zl(e,t){return typeof e=="object"&&e!==null&&e.key!=null?yg(""+e.key):t.toString(36)}function wi(e,t,s,a,r){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var l=!1;if(e===null)l=!0;else switch(i){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case Gr:case ig:l=!0}}if(l)return l=e,r=r(l),e=a===""?"."+zl(l,0):a,nu(r)?(s="",e!=null&&(s=e.replace(su,"$&/")+"/"),wi(r,t,s,"",function(u){return u})):r!=null&&(Uc(r)&&(r=gg(r,s+(!r.key||l&&l.key===r.key?"":(""+r.key).replace(su,"$&/")+"/")+e)),t.push(r)),1;if(l=0,a=a===""?".":a+":",nu(e))for(var o=0;o<e.length;o++){i=e[o];var c=a+zl(i,o);l+=wi(i,t,s,c,r)}else if(c=_g(e),typeof c=="function")for(e=c.call(e),o=0;!(i=e.next()).done;)i=i.value,c=a+zl(i,o++),l+=wi(i,t,s,c,r);else if(i==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function ti(e,t,s){if(e==null)return e;var a=[],r=0;return wi(e,a,"","",function(i){return t.call(s,i,r++)}),a}function xg(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(s){(e._status===0||e._status===-1)&&(e._status=1,e._result=s)},function(s){(e._status===0||e._status===-1)&&(e._status=2,e._result=s)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Nt={current:null},Ci={transition:null},vg={ReactCurrentDispatcher:Nt,ReactCurrentBatchConfig:Ci,ReactCurrentOwner:zc};function Rp(){throw Error("act(...) is not supported in production builds of React.")}we.Children={map:ti,forEach:function(e,t,s){ti(e,function(){t.apply(this,arguments)},s)},count:function(e){var t=0;return ti(e,function(){t++}),t},toArray:function(e){return ti(e,function(t){return t})||[]},only:function(e){if(!Uc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};we.Component=Ha;we.Fragment=lg;we.Profiler=cg;we.PureComponent=Oc;we.StrictMode=og;we.Suspense=pg;we.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vg;we.act=Rp;we.cloneElement=function(e,t,s){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=bp({},e.props),r=e.key,i=e.ref,l=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,l=zc.current),t.key!==void 0&&(r=""+t.key),e.type&&e.type.defaultProps)var o=e.type.defaultProps;for(c in t)Cp.call(t,c)&&!kp.hasOwnProperty(c)&&(a[c]=t[c]===void 0&&o!==void 0?o[c]:t[c])}var c=arguments.length-2;if(c===1)a.children=s;else if(1<c){o=Array(c);for(var u=0;u<c;u++)o[u]=arguments[u+2];a.children=o}return{$$typeof:Gr,type:e.type,key:r,ref:i,props:a,_owner:l}};we.createContext=function(e){return e={$$typeof:ug,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:dg,_context:e},e.Consumer=e};we.createElement=Tp;we.createFactory=function(e){var t=Tp.bind(null,e);return t.type=e,t};we.createRef=function(){return{current:null}};we.forwardRef=function(e){return{$$typeof:hg,render:e}};we.isValidElement=Uc;we.lazy=function(e){return{$$typeof:fg,_payload:{_status:-1,_result:e},_init:xg}};we.memo=function(e,t){return{$$typeof:mg,type:e,compare:t===void 0?null:t}};we.startTransition=function(e){var t=Ci.transition;Ci.transition={};try{e()}finally{Ci.transition=t}};we.unstable_act=Rp;we.useCallback=function(e,t){return Nt.current.useCallback(e,t)};we.useContext=function(e){return Nt.current.useContext(e)};we.useDebugValue=function(){};we.useDeferredValue=function(e){return Nt.current.useDeferredValue(e)};we.useEffect=function(e,t){return Nt.current.useEffect(e,t)};we.useId=function(){return Nt.current.useId()};we.useImperativeHandle=function(e,t,s){return Nt.current.useImperativeHandle(e,t,s)};we.useInsertionEffect=function(e,t){return Nt.current.useInsertionEffect(e,t)};we.useLayoutEffect=function(e,t){return Nt.current.useLayoutEffect(e,t)};we.useMemo=function(e,t){return Nt.current.useMemo(e,t)};we.useReducer=function(e,t,s){return Nt.current.useReducer(e,t,s)};we.useRef=function(e){return Nt.current.useRef(e)};we.useState=function(e){return Nt.current.useState(e)};we.useSyncExternalStore=function(e,t,s){return Nt.current.useSyncExternalStore(e,t,s)};we.useTransition=function(){return Nt.current.useTransition()};we.version="18.3.1";jp.exports=we;var d=jp.exports;const jg=rg(d),Ng=ag({__proto__:null,default:jg},[d]);/**
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 bg=d,Sg=Symbol.for("react.element"),wg=Symbol.for("react.fragment"),Cg=Object.prototype.hasOwnProperty,kg=bg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Tg={key:!0,ref:!0,__self:!0,__source:!0};function Ip(e,t,s){var a,r={},i=null,l=null;s!==void 0&&(i=""+s),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(l=t.ref);for(a in t)Cg.call(t,a)&&!Tg.hasOwnProperty(a)&&(r[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps,t)r[a]===void 0&&(r[a]=t[a]);return{$$typeof:Sg,type:e,key:i,ref:l,props:r,_owner:kg.current}}_l.Fragment=wg;_l.jsx=Ip;_l.jsxs=Ip;vp.exports=_l;var n=vp.exports,Bp={exports:{}},Ft={},Ep={exports:{}},Lp={};/**
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
+ */(function(e){function t(G,ce){var ue=G.length;G.push(ce);e:for(;0<ue;){var Q=ue-1>>>1,q=G[Q];if(0<r(q,ce))G[Q]=ce,G[ue]=q,ue=Q;else break e}}function s(G){return G.length===0?null:G[0]}function a(G){if(G.length===0)return null;var ce=G[0],ue=G.pop();if(ue!==ce){G[0]=ue;e:for(var Q=0,q=G.length,Be=q>>>1;Q<Be;){var Pe=2*(Q+1)-1,Ye=G[Pe],ze=Pe+1,Ke=G[ze];if(0>r(Ye,ue))ze<q&&0>r(Ke,Ye)?(G[Q]=Ke,G[ze]=ue,Q=ze):(G[Q]=Ye,G[Pe]=ue,Q=Pe);else if(ze<q&&0>r(Ke,ue))G[Q]=Ke,G[ze]=ue,Q=ze;else break e}}return ce}function r(G,ce){var ue=G.sortIndex-ce.sortIndex;return ue!==0?ue:G.id-ce.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var l=Date,o=l.now();e.unstable_now=function(){return l.now()-o}}var c=[],u=[],m=1,p=null,h=3,y=!1,g=!1,j=!1,v=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function x(G){for(var ce=s(u);ce!==null;){if(ce.callback===null)a(u);else if(ce.startTime<=G)a(u),ce.sortIndex=ce.expirationTime,t(c,ce);else break;ce=s(u)}}function b(G){if(j=!1,x(G),!g)if(s(c)!==null)g=!0,O(T);else{var ce=s(u);ce!==null&&Ie(b,ce.startTime-G)}}function T(G,ce){g=!1,j&&(j=!1,_(N),N=-1),y=!0;var ue=h;try{for(x(ce),p=s(c);p!==null&&(!(p.expirationTime>ce)||G&&!M());){var Q=p.callback;if(typeof Q=="function"){p.callback=null,h=p.priorityLevel;var q=Q(p.expirationTime<=ce);ce=e.unstable_now(),typeof q=="function"?p.callback=q:p===s(c)&&a(c),x(ce)}else a(c);p=s(c)}if(p!==null)var Be=!0;else{var Pe=s(u);Pe!==null&&Ie(b,Pe.startTime-ce),Be=!1}return Be}finally{p=null,h=ue,y=!1}}var R=!1,L=null,N=-1,k=5,B=-1;function M(){return!(e.unstable_now()-B<k)}function te(){if(L!==null){var G=e.unstable_now();B=G;var ce=!0;try{ce=L(!0,G)}finally{ce?de():(R=!1,L=null)}}else R=!1}var de;if(typeof f=="function")de=function(){f(te)};else if(typeof MessageChannel<"u"){var J=new MessageChannel,Z=J.port2;J.port1.onmessage=te,de=function(){Z.postMessage(null)}}else de=function(){v(te,0)};function O(G){L=G,R||(R=!0,de())}function Ie(G,ce){N=v(function(){G(e.unstable_now())},ce)}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(G){G.callback=null},e.unstable_continueExecution=function(){g||y||(g=!0,O(T))},e.unstable_forceFrameRate=function(G){0>G||125<G?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<G?Math.floor(1e3/G):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return s(c)},e.unstable_next=function(G){switch(h){case 1:case 2:case 3:var ce=3;break;default:ce=h}var ue=h;h=ce;try{return G()}finally{h=ue}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(G,ce){switch(G){case 1:case 2:case 3:case 4:case 5:break;default:G=3}var ue=h;h=G;try{return ce()}finally{h=ue}},e.unstable_scheduleCallback=function(G,ce,ue){var Q=e.unstable_now();switch(typeof ue=="object"&&ue!==null?(ue=ue.delay,ue=typeof ue=="number"&&0<ue?Q+ue:Q):ue=Q,G){case 1:var q=-1;break;case 2:q=250;break;case 5:q=1073741823;break;case 4:q=1e4;break;default:q=5e3}return q=ue+q,G={id:m++,callback:ce,priorityLevel:G,startTime:ue,expirationTime:q,sortIndex:-1},ue>Q?(G.sortIndex=ue,t(u,G),s(c)===null&&G===s(u)&&(j?(_(N),N=-1):j=!0,Ie(b,ue-Q))):(G.sortIndex=q,t(c,G),g||y||(g=!0,O(T))),G},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(G){var ce=h;return function(){var ue=h;h=ce;try{return G.apply(this,arguments)}finally{h=ue}}}})(Lp);Ep.exports=Lp;var Rg=Ep.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 Ig=d,Mt=Rg;function U(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Pp=new Set,xr={};function Js(e,t){Ba(e,t),Ba(e+"Capture",t)}function Ba(e,t){for(xr[e]=t,e=0;e<t.length;e++)Pp.add(t[e])}var Rn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ko=Object.prototype.hasOwnProperty,Bg=/^[: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]*$/,au={},ru={};function Eg(e){return ko.call(ru,e)?!0:ko.call(au,e)?!1:Bg.test(e)?ru[e]=!0:(au[e]=!0,!1)}function Lg(e,t,s,a){if(s!==null&&s.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return a?!1:s!==null?!s.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Pg(e,t,s,a){if(t===null||typeof t>"u"||Lg(e,t,s,a))return!0;if(a)return!1;if(s!==null)switch(s.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function bt(e,t,s,a,r,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var ct={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ct[e]=new bt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ct[t]=new bt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ct[e]=new bt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ct[e]=new bt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ct[e]=new bt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ct[e]=new bt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ct[e]=new bt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ct[e]=new bt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ct[e]=new bt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Vc=/[\-:]([a-z])/g;function qc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Vc,qc);ct[t]=new bt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Vc,qc);ct[t]=new bt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Vc,qc);ct[t]=new bt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ct[e]=new bt(e,1,!1,e.toLowerCase(),null,!1,!1)});ct.xlinkHref=new bt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ct[e]=new bt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Wc(e,t,s,a){var r=ct.hasOwnProperty(t)?ct[t]:null;(r!==null?r.type!==0:a||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Pg(t,s,r,a)&&(s=null),a||r===null?Eg(t)&&(s===null?e.removeAttribute(t):e.setAttribute(t,""+s)):r.mustUseProperty?e[r.propertyName]=s===null?r.type===3?!1:"":s:(t=r.attributeName,a=r.attributeNamespace,s===null?e.removeAttribute(t):(r=r.type,s=r===3||r===4&&s===!0?"":""+s,a?e.setAttributeNS(a,t,s):e.setAttribute(t,s))))}var Ln=Ig.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ni=Symbol.for("react.element"),Zs=Symbol.for("react.portal"),ea=Symbol.for("react.fragment"),Kc=Symbol.for("react.strict_mode"),To=Symbol.for("react.profiler"),Ap=Symbol.for("react.provider"),$p=Symbol.for("react.context"),Gc=Symbol.for("react.forward_ref"),Ro=Symbol.for("react.suspense"),Io=Symbol.for("react.suspense_list"),Qc=Symbol.for("react.memo"),zn=Symbol.for("react.lazy"),Dp=Symbol.for("react.offscreen"),iu=Symbol.iterator;function Ga(e){return e===null||typeof e!="object"?null:(e=iu&&e[iu]||e["@@iterator"],typeof e=="function"?e:null)}var We=Object.assign,Ul;function rr(e){if(Ul===void 0)try{throw Error()}catch(s){var t=s.stack.trim().match(/\n( *(at )?)/);Ul=t&&t[1]||""}return`
34
+ `+Ul+e}var Vl=!1;function ql(e,t){if(!e||Vl)return"";Vl=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var a=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){a=u}e.call(t.prototype)}else{try{throw Error()}catch(u){a=u}e()}}catch(u){if(u&&a&&typeof u.stack=="string"){for(var r=u.stack.split(`
35
+ `),i=a.stack.split(`
36
+ `),l=r.length-1,o=i.length-1;1<=l&&0<=o&&r[l]!==i[o];)o--;for(;1<=l&&0<=o;l--,o--)if(r[l]!==i[o]){if(l!==1||o!==1)do if(l--,o--,0>o||r[l]!==i[o]){var c=`
37
+ `+r[l].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=l&&0<=o);break}}}finally{Vl=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?rr(e):""}function Ag(e){switch(e.tag){case 5:return rr(e.type);case 16:return rr("Lazy");case 13:return rr("Suspense");case 19:return rr("SuspenseList");case 0:case 2:case 15:return e=ql(e.type,!1),e;case 11:return e=ql(e.type.render,!1),e;case 1:return e=ql(e.type,!0),e;default:return""}}function Bo(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ea:return"Fragment";case Zs:return"Portal";case To:return"Profiler";case Kc:return"StrictMode";case Ro:return"Suspense";case Io:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $p:return(e.displayName||"Context")+".Consumer";case Ap:return(e._context.displayName||"Context")+".Provider";case Gc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Qc:return t=e.displayName||null,t!==null?t:Bo(e.type)||"Memo";case zn:t=e._payload,e=e._init;try{return Bo(e(t))}catch{}}return null}function $g(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Bo(t);case 8:return t===Kc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function _s(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Dg(e){var t=Mp(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var r=s.get,i=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(l){a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(l){a=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function si(e){e._valueTracker||(e._valueTracker=Dg(e))}function Fp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),a="";return e&&(a=Mp(e)?e.checked?"true":"false":e.value),e=a,e!==s?(t.setValue(e),!0):!1}function Hi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Eo(e,t){var s=t.checked;return We({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:s??e._wrapperState.initialChecked})}function lu(e,t){var s=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;s=_s(t.value!=null?t.value:s),e._wrapperState={initialChecked:a,initialValue:s,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Op(e,t){t=t.checked,t!=null&&Wc(e,"checked",t,!1)}function Lo(e,t){Op(e,t);var s=_s(t.value),a=t.type;if(s!=null)a==="number"?(s===0&&e.value===""||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Po(e,t.type,s):t.hasOwnProperty("defaultValue")&&Po(e,t.type,_s(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ou(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}s=e.name,s!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,s!==""&&(e.name=s)}function Po(e,t,s){(t!=="number"||Hi(e.ownerDocument)!==e)&&(s==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}var ir=Array.isArray;function pa(e,t,s,a){if(e=e.options,t){t={};for(var r=0;r<s.length;r++)t["$"+s[r]]=!0;for(s=0;s<e.length;s++)r=t.hasOwnProperty("$"+e[s].value),e[s].selected!==r&&(e[s].selected=r),r&&a&&(e[s].defaultSelected=!0)}else{for(s=""+_s(s),t=null,r=0;r<e.length;r++){if(e[r].value===s){e[r].selected=!0,a&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function Ao(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(U(91));return We({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function cu(e,t){var s=t.value;if(s==null){if(s=t.children,t=t.defaultValue,s!=null){if(t!=null)throw Error(U(92));if(ir(s)){if(1<s.length)throw Error(U(93));s=s[0]}t=s}t==null&&(t=""),s=t}e._wrapperState={initialValue:_s(s)}}function Hp(e,t){var s=_s(t.value),a=_s(t.defaultValue);s!=null&&(s=""+s,s!==e.value&&(e.value=s),t.defaultValue==null&&e.defaultValue!==s&&(e.defaultValue=s)),a!=null&&(e.defaultValue=""+a)}function du(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function zp(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function $o(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?zp(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ai,Up=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,s,a,r){MSApp.execUnsafeLocalFunction(function(){return e(t,s,a,r)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ai=ai||document.createElement("div"),ai.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ai.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function vr(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=t;return}}e.textContent=t}var dr={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Mg=["Webkit","ms","Moz","O"];Object.keys(dr).forEach(function(e){Mg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),dr[t]=dr[e]})});function Vp(e,t,s){return t==null||typeof t=="boolean"||t===""?"":s||typeof t!="number"||t===0||dr.hasOwnProperty(e)&&dr[e]?(""+t).trim():t+"px"}function qp(e,t){e=e.style;for(var s in t)if(t.hasOwnProperty(s)){var a=s.indexOf("--")===0,r=Vp(s,t[s],a);s==="float"&&(s="cssFloat"),a?e.setProperty(s,r):e[s]=r}}var Fg=We({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 Do(e,t){if(t){if(Fg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(U(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(U(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(U(61))}if(t.style!=null&&typeof t.style!="object")throw Error(U(62))}}function Mo(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Fo=null;function Jc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Oo=null,ma=null,fa=null;function uu(e){if(e=Yr(e)){if(typeof Oo!="function")throw Error(U(280));var t=e.stateNode;t&&(t=jl(t),Oo(e.stateNode,e.type,t))}}function Wp(e){ma?fa?fa.push(e):fa=[e]:ma=e}function Kp(){if(ma){var e=ma,t=fa;if(fa=ma=null,uu(e),t)for(e=0;e<t.length;e++)uu(t[e])}}function Gp(e,t){return e(t)}function Qp(){}var Wl=!1;function Jp(e,t,s){if(Wl)return e(t,s);Wl=!0;try{return Gp(e,t,s)}finally{Wl=!1,(ma!==null||fa!==null)&&(Qp(),Kp())}}function jr(e,t){var s=e.stateNode;if(s===null)return null;var a=jl(s);if(a===null)return null;s=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(U(231,t,typeof s));return s}var Ho=!1;if(Rn)try{var Qa={};Object.defineProperty(Qa,"passive",{get:function(){Ho=!0}}),window.addEventListener("test",Qa,Qa),window.removeEventListener("test",Qa,Qa)}catch{Ho=!1}function Og(e,t,s,a,r,i,l,o,c){var u=Array.prototype.slice.call(arguments,3);try{t.apply(s,u)}catch(m){this.onError(m)}}var ur=!1,zi=null,Ui=!1,zo=null,Hg={onError:function(e){ur=!0,zi=e}};function zg(e,t,s,a,r,i,l,o,c){ur=!1,zi=null,Og.apply(Hg,arguments)}function Ug(e,t,s,a,r,i,l,o,c){if(zg.apply(this,arguments),ur){if(ur){var u=zi;ur=!1,zi=null}else throw Error(U(198));Ui||(Ui=!0,zo=u)}}function Ys(e){var t=e,s=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(s=t.return),e=t.return;while(e)}return t.tag===3?s:null}function Yp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function hu(e){if(Ys(e)!==e)throw Error(U(188))}function Vg(e){var t=e.alternate;if(!t){if(t=Ys(e),t===null)throw Error(U(188));return t!==e?null:e}for(var s=e,a=t;;){var r=s.return;if(r===null)break;var i=r.alternate;if(i===null){if(a=r.return,a!==null){s=a;continue}break}if(r.child===i.child){for(i=r.child;i;){if(i===s)return hu(r),e;if(i===a)return hu(r),t;i=i.sibling}throw Error(U(188))}if(s.return!==a.return)s=r,a=i;else{for(var l=!1,o=r.child;o;){if(o===s){l=!0,s=r,a=i;break}if(o===a){l=!0,a=r,s=i;break}o=o.sibling}if(!l){for(o=i.child;o;){if(o===s){l=!0,s=i,a=r;break}if(o===a){l=!0,a=i,s=r;break}o=o.sibling}if(!l)throw Error(U(189))}}if(s.alternate!==a)throw Error(U(190))}if(s.tag!==3)throw Error(U(188));return s.stateNode.current===s?e:t}function Xp(e){return e=Vg(e),e!==null?Zp(e):null}function Zp(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Zp(e);if(t!==null)return t;e=e.sibling}return null}var em=Mt.unstable_scheduleCallback,pu=Mt.unstable_cancelCallback,qg=Mt.unstable_shouldYield,Wg=Mt.unstable_requestPaint,Je=Mt.unstable_now,Kg=Mt.unstable_getCurrentPriorityLevel,Yc=Mt.unstable_ImmediatePriority,tm=Mt.unstable_UserBlockingPriority,Vi=Mt.unstable_NormalPriority,Gg=Mt.unstable_LowPriority,nm=Mt.unstable_IdlePriority,gl=null,mn=null;function Qg(e){if(mn&&typeof mn.onCommitFiberRoot=="function")try{mn.onCommitFiberRoot(gl,e,void 0,(e.current.flags&128)===128)}catch{}}var nn=Math.clz32?Math.clz32:Xg,Jg=Math.log,Yg=Math.LN2;function Xg(e){return e>>>=0,e===0?32:31-(Jg(e)/Yg|0)|0}var ri=64,ii=4194304;function lr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function qi(e,t){var s=e.pendingLanes;if(s===0)return 0;var a=0,r=e.suspendedLanes,i=e.pingedLanes,l=s&268435455;if(l!==0){var o=l&~r;o!==0?a=lr(o):(i&=l,i!==0&&(a=lr(i)))}else l=s&~r,l!==0?a=lr(l):i!==0&&(a=lr(i));if(a===0)return 0;if(t!==0&&t!==a&&!(t&r)&&(r=a&-a,i=t&-t,r>=i||r===16&&(i&4194240)!==0))return t;if(a&4&&(a|=s&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=a;0<t;)s=31-nn(t),r=1<<s,a|=e[s],t&=~r;return a}function Zg(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ey(e,t){for(var s=e.suspendedLanes,a=e.pingedLanes,r=e.expirationTimes,i=e.pendingLanes;0<i;){var l=31-nn(i),o=1<<l,c=r[l];c===-1?(!(o&s)||o&a)&&(r[l]=Zg(o,t)):c<=t&&(e.expiredLanes|=o),i&=~o}}function Uo(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function sm(){var e=ri;return ri<<=1,!(ri&4194240)&&(ri=64),e}function Kl(e){for(var t=[],s=0;31>s;s++)t.push(e);return t}function Qr(e,t,s){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-nn(t),e[t]=s}function ty(e,t){var s=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<s;){var r=31-nn(s),i=1<<r;t[r]=0,a[r]=-1,e[r]=-1,s&=~i}}function Xc(e,t){var s=e.entangledLanes|=t;for(e=e.entanglements;s;){var a=31-nn(s),r=1<<a;r&t|e[a]&t&&(e[a]|=t),s&=~r}}var Ae=0;function am(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var rm,Zc,im,lm,om,Vo=!1,li=[],is=null,ls=null,os=null,Nr=new Map,br=new Map,Vn=[],ny="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 mu(e,t){switch(e){case"focusin":case"focusout":is=null;break;case"dragenter":case"dragleave":ls=null;break;case"mouseover":case"mouseout":os=null;break;case"pointerover":case"pointerout":Nr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":br.delete(t.pointerId)}}function Ja(e,t,s,a,r,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:s,eventSystemFlags:a,nativeEvent:i,targetContainers:[r]},t!==null&&(t=Yr(t),t!==null&&Zc(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function sy(e,t,s,a,r){switch(t){case"focusin":return is=Ja(is,e,t,s,a,r),!0;case"dragenter":return ls=Ja(ls,e,t,s,a,r),!0;case"mouseover":return os=Ja(os,e,t,s,a,r),!0;case"pointerover":var i=r.pointerId;return Nr.set(i,Ja(Nr.get(i)||null,e,t,s,a,r)),!0;case"gotpointercapture":return i=r.pointerId,br.set(i,Ja(br.get(i)||null,e,t,s,a,r)),!0}return!1}function cm(e){var t=ks(e.target);if(t!==null){var s=Ys(t);if(s!==null){if(t=s.tag,t===13){if(t=Yp(s),t!==null){e.blockedOn=t,om(e.priority,function(){im(s)});return}}else if(t===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ki(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var s=qo(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(s===null){s=e.nativeEvent;var a=new s.constructor(s.type,s);Fo=a,s.target.dispatchEvent(a),Fo=null}else return t=Yr(s),t!==null&&Zc(t),e.blockedOn=s,!1;t.shift()}return!0}function fu(e,t,s){ki(e)&&s.delete(t)}function ay(){Vo=!1,is!==null&&ki(is)&&(is=null),ls!==null&&ki(ls)&&(ls=null),os!==null&&ki(os)&&(os=null),Nr.forEach(fu),br.forEach(fu)}function Ya(e,t){e.blockedOn===t&&(e.blockedOn=null,Vo||(Vo=!0,Mt.unstable_scheduleCallback(Mt.unstable_NormalPriority,ay)))}function Sr(e){function t(r){return Ya(r,e)}if(0<li.length){Ya(li[0],e);for(var s=1;s<li.length;s++){var a=li[s];a.blockedOn===e&&(a.blockedOn=null)}}for(is!==null&&Ya(is,e),ls!==null&&Ya(ls,e),os!==null&&Ya(os,e),Nr.forEach(t),br.forEach(t),s=0;s<Vn.length;s++)a=Vn[s],a.blockedOn===e&&(a.blockedOn=null);for(;0<Vn.length&&(s=Vn[0],s.blockedOn===null);)cm(s),s.blockedOn===null&&Vn.shift()}var _a=Ln.ReactCurrentBatchConfig,Wi=!0;function ry(e,t,s,a){var r=Ae,i=_a.transition;_a.transition=null;try{Ae=1,ed(e,t,s,a)}finally{Ae=r,_a.transition=i}}function iy(e,t,s,a){var r=Ae,i=_a.transition;_a.transition=null;try{Ae=4,ed(e,t,s,a)}finally{Ae=r,_a.transition=i}}function ed(e,t,s,a){if(Wi){var r=qo(e,t,s,a);if(r===null)so(e,t,a,Ki,s),mu(e,a);else if(sy(r,e,t,s,a))a.stopPropagation();else if(mu(e,a),t&4&&-1<ny.indexOf(e)){for(;r!==null;){var i=Yr(r);if(i!==null&&rm(i),i=qo(e,t,s,a),i===null&&so(e,t,a,Ki,s),i===r)break;r=i}r!==null&&a.stopPropagation()}else so(e,t,a,null,s)}}var Ki=null;function qo(e,t,s,a){if(Ki=null,e=Jc(a),e=ks(e),e!==null)if(t=Ys(e),t===null)e=null;else if(s=t.tag,s===13){if(e=Yp(t),e!==null)return e;e=null}else if(s===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Ki=e,null}function dm(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Kg()){case Yc:return 1;case tm:return 4;case Vi:case Gg:return 16;case nm:return 536870912;default:return 16}default:return 16}}var ns=null,td=null,Ti=null;function um(){if(Ti)return Ti;var e,t=td,s=t.length,a,r="value"in ns?ns.value:ns.textContent,i=r.length;for(e=0;e<s&&t[e]===r[e];e++);var l=s-e;for(a=1;a<=l&&t[s-a]===r[i-a];a++);return Ti=r.slice(e,1<a?1-a:void 0)}function Ri(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function oi(){return!0}function _u(){return!1}function Ot(e){function t(s,a,r,i,l){this._reactName=s,this._targetInst=r,this.type=a,this.nativeEvent=i,this.target=l,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(s=e[o],this[o]=s?s(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?oi:_u,this.isPropagationStopped=_u,this}return We(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=oi)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=oi)},persist:function(){},isPersistent:oi}),t}var za={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},nd=Ot(za),Jr=We({},za,{view:0,detail:0}),ly=Ot(Jr),Gl,Ql,Xa,yl=We({},Jr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:sd,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Xa&&(Xa&&e.type==="mousemove"?(Gl=e.screenX-Xa.screenX,Ql=e.screenY-Xa.screenY):Ql=Gl=0,Xa=e),Gl)},movementY:function(e){return"movementY"in e?e.movementY:Ql}}),gu=Ot(yl),oy=We({},yl,{dataTransfer:0}),cy=Ot(oy),dy=We({},Jr,{relatedTarget:0}),Jl=Ot(dy),uy=We({},za,{animationName:0,elapsedTime:0,pseudoElement:0}),hy=Ot(uy),py=We({},za,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),my=Ot(py),fy=We({},za,{data:0}),yu=Ot(fy),_y={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},gy={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"},yy={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xy(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=yy[e])?!!t[e]:!1}function sd(){return xy}var vy=We({},Jr,{key:function(e){if(e.key){var t=_y[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ri(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?gy[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:sd,charCode:function(e){return e.type==="keypress"?Ri(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ri(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jy=Ot(vy),Ny=We({},yl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),xu=Ot(Ny),by=We({},Jr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:sd}),Sy=Ot(by),wy=We({},za,{propertyName:0,elapsedTime:0,pseudoElement:0}),Cy=Ot(wy),ky=We({},yl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ty=Ot(ky),Ry=[9,13,27,32],ad=Rn&&"CompositionEvent"in window,hr=null;Rn&&"documentMode"in document&&(hr=document.documentMode);var Iy=Rn&&"TextEvent"in window&&!hr,hm=Rn&&(!ad||hr&&8<hr&&11>=hr),vu=" ",ju=!1;function pm(e,t){switch(e){case"keyup":return Ry.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ta=!1;function By(e,t){switch(e){case"compositionend":return mm(t);case"keypress":return t.which!==32?null:(ju=!0,vu);case"textInput":return e=t.data,e===vu&&ju?null:e;default:return null}}function Ey(e,t){if(ta)return e==="compositionend"||!ad&&pm(e,t)?(e=um(),Ti=td=ns=null,ta=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return hm&&t.locale!=="ko"?null:t.data;default:return null}}var Ly={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 Nu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Ly[e.type]:t==="textarea"}function fm(e,t,s,a){Wp(a),t=Gi(t,"onChange"),0<t.length&&(s=new nd("onChange","change",null,s,a),e.push({event:s,listeners:t}))}var pr=null,wr=null;function Py(e){Cm(e,0)}function xl(e){var t=aa(e);if(Fp(t))return e}function Ay(e,t){if(e==="change")return t}var _m=!1;if(Rn){var Yl;if(Rn){var Xl="oninput"in document;if(!Xl){var bu=document.createElement("div");bu.setAttribute("oninput","return;"),Xl=typeof bu.oninput=="function"}Yl=Xl}else Yl=!1;_m=Yl&&(!document.documentMode||9<document.documentMode)}function Su(){pr&&(pr.detachEvent("onpropertychange",gm),wr=pr=null)}function gm(e){if(e.propertyName==="value"&&xl(wr)){var t=[];fm(t,wr,e,Jc(e)),Jp(Py,t)}}function $y(e,t,s){e==="focusin"?(Su(),pr=t,wr=s,pr.attachEvent("onpropertychange",gm)):e==="focusout"&&Su()}function Dy(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return xl(wr)}function My(e,t){if(e==="click")return xl(t)}function Fy(e,t){if(e==="input"||e==="change")return xl(t)}function Oy(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var an=typeof Object.is=="function"?Object.is:Oy;function Cr(e,t){if(an(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var s=Object.keys(e),a=Object.keys(t);if(s.length!==a.length)return!1;for(a=0;a<s.length;a++){var r=s[a];if(!ko.call(t,r)||!an(e[r],t[r]))return!1}return!0}function wu(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Cu(e,t){var s=wu(e);e=0;for(var a;s;){if(s.nodeType===3){if(a=e+s.textContent.length,e<=t&&a>=t)return{node:s,offset:t-e};e=a}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=wu(s)}}function ym(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ym(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function xm(){for(var e=window,t=Hi();t instanceof e.HTMLIFrameElement;){try{var s=typeof t.contentWindow.location.href=="string"}catch{s=!1}if(s)e=t.contentWindow;else break;t=Hi(e.document)}return t}function rd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Hy(e){var t=xm(),s=e.focusedElem,a=e.selectionRange;if(t!==s&&s&&s.ownerDocument&&ym(s.ownerDocument.documentElement,s)){if(a!==null&&rd(s)){if(t=a.start,e=a.end,e===void 0&&(e=t),"selectionStart"in s)s.selectionStart=t,s.selectionEnd=Math.min(e,s.value.length);else if(e=(t=s.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=s.textContent.length,i=Math.min(a.start,r);a=a.end===void 0?i:Math.min(a.end,r),!e.extend&&i>a&&(r=a,a=i,i=r),r=Cu(s,i);var l=Cu(s,a);r&&l&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),i>a?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.offset),e.addRange(t)))}}for(t=[],e=s;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof s.focus=="function"&&s.focus(),s=0;s<t.length;s++)e=t[s],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var zy=Rn&&"documentMode"in document&&11>=document.documentMode,na=null,Wo=null,mr=null,Ko=!1;function ku(e,t,s){var a=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;Ko||na==null||na!==Hi(a)||(a=na,"selectionStart"in a&&rd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),mr&&Cr(mr,a)||(mr=a,a=Gi(Wo,"onSelect"),0<a.length&&(t=new nd("onSelect","select",null,t,s),e.push({event:t,listeners:a}),t.target=na)))}function ci(e,t){var s={};return s[e.toLowerCase()]=t.toLowerCase(),s["Webkit"+e]="webkit"+t,s["Moz"+e]="moz"+t,s}var sa={animationend:ci("Animation","AnimationEnd"),animationiteration:ci("Animation","AnimationIteration"),animationstart:ci("Animation","AnimationStart"),transitionend:ci("Transition","TransitionEnd")},Zl={},vm={};Rn&&(vm=document.createElement("div").style,"AnimationEvent"in window||(delete sa.animationend.animation,delete sa.animationiteration.animation,delete sa.animationstart.animation),"TransitionEvent"in window||delete sa.transitionend.transition);function vl(e){if(Zl[e])return Zl[e];if(!sa[e])return e;var t=sa[e],s;for(s in t)if(t.hasOwnProperty(s)&&s in vm)return Zl[e]=t[s];return e}var jm=vl("animationend"),Nm=vl("animationiteration"),bm=vl("animationstart"),Sm=vl("transitionend"),wm=new Map,Tu="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 ys(e,t){wm.set(e,t),Js(t,[e])}for(var eo=0;eo<Tu.length;eo++){var to=Tu[eo],Uy=to.toLowerCase(),Vy=to[0].toUpperCase()+to.slice(1);ys(Uy,"on"+Vy)}ys(jm,"onAnimationEnd");ys(Nm,"onAnimationIteration");ys(bm,"onAnimationStart");ys("dblclick","onDoubleClick");ys("focusin","onFocus");ys("focusout","onBlur");ys(Sm,"onTransitionEnd");Ba("onMouseEnter",["mouseout","mouseover"]);Ba("onMouseLeave",["mouseout","mouseover"]);Ba("onPointerEnter",["pointerout","pointerover"]);Ba("onPointerLeave",["pointerout","pointerover"]);Js("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Js("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Js("onBeforeInput",["compositionend","keypress","textInput","paste"]);Js("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Js("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Js("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var or="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(" "),qy=new Set("cancel close invalid load scroll toggle".split(" ").concat(or));function Ru(e,t,s){var a=e.type||"unknown-event";e.currentTarget=s,Ug(a,t,void 0,e),e.currentTarget=null}function Cm(e,t){t=(t&4)!==0;for(var s=0;s<e.length;s++){var a=e[s],r=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var l=a.length-1;0<=l;l--){var o=a[l],c=o.instance,u=o.currentTarget;if(o=o.listener,c!==i&&r.isPropagationStopped())break e;Ru(r,o,u),i=c}else for(l=0;l<a.length;l++){if(o=a[l],c=o.instance,u=o.currentTarget,o=o.listener,c!==i&&r.isPropagationStopped())break e;Ru(r,o,u),i=c}}}if(Ui)throw e=zo,Ui=!1,zo=null,e}function De(e,t){var s=t[Xo];s===void 0&&(s=t[Xo]=new Set);var a=e+"__bubble";s.has(a)||(km(t,e,2,!1),s.add(a))}function no(e,t,s){var a=0;t&&(a|=4),km(s,e,a,t)}var di="_reactListening"+Math.random().toString(36).slice(2);function kr(e){if(!e[di]){e[di]=!0,Pp.forEach(function(s){s!=="selectionchange"&&(qy.has(s)||no(s,!1,e),no(s,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[di]||(t[di]=!0,no("selectionchange",!1,t))}}function km(e,t,s,a){switch(dm(t)){case 1:var r=ry;break;case 4:r=iy;break;default:r=ed}s=r.bind(null,t,s,e),r=void 0,!Ho||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),a?r!==void 0?e.addEventListener(t,s,{capture:!0,passive:r}):e.addEventListener(t,s,!0):r!==void 0?e.addEventListener(t,s,{passive:r}):e.addEventListener(t,s,!1)}function so(e,t,s,a,r){var i=a;if(!(t&1)&&!(t&2)&&a!==null)e:for(;;){if(a===null)return;var l=a.tag;if(l===3||l===4){var o=a.stateNode.containerInfo;if(o===r||o.nodeType===8&&o.parentNode===r)break;if(l===4)for(l=a.return;l!==null;){var c=l.tag;if((c===3||c===4)&&(c=l.stateNode.containerInfo,c===r||c.nodeType===8&&c.parentNode===r))return;l=l.return}for(;o!==null;){if(l=ks(o),l===null)return;if(c=l.tag,c===5||c===6){a=i=l;continue e}o=o.parentNode}}a=a.return}Jp(function(){var u=i,m=Jc(s),p=[];e:{var h=wm.get(e);if(h!==void 0){var y=nd,g=e;switch(e){case"keypress":if(Ri(s)===0)break e;case"keydown":case"keyup":y=jy;break;case"focusin":g="focus",y=Jl;break;case"focusout":g="blur",y=Jl;break;case"beforeblur":case"afterblur":y=Jl;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":y=gu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":y=cy;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":y=Sy;break;case jm:case Nm:case bm:y=hy;break;case Sm:y=Cy;break;case"scroll":y=ly;break;case"wheel":y=Ty;break;case"copy":case"cut":case"paste":y=my;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":y=xu}var j=(t&4)!==0,v=!j&&e==="scroll",_=j?h!==null?h+"Capture":null:h;j=[];for(var f=u,x;f!==null;){x=f;var b=x.stateNode;if(x.tag===5&&b!==null&&(x=b,_!==null&&(b=jr(f,_),b!=null&&j.push(Tr(f,b,x)))),v)break;f=f.return}0<j.length&&(h=new y(h,g,null,s,m),p.push({event:h,listeners:j}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",y=e==="mouseout"||e==="pointerout",h&&s!==Fo&&(g=s.relatedTarget||s.fromElement)&&(ks(g)||g[In]))break e;if((y||h)&&(h=m.window===m?m:(h=m.ownerDocument)?h.defaultView||h.parentWindow:window,y?(g=s.relatedTarget||s.toElement,y=u,g=g?ks(g):null,g!==null&&(v=Ys(g),g!==v||g.tag!==5&&g.tag!==6)&&(g=null)):(y=null,g=u),y!==g)){if(j=gu,b="onMouseLeave",_="onMouseEnter",f="mouse",(e==="pointerout"||e==="pointerover")&&(j=xu,b="onPointerLeave",_="onPointerEnter",f="pointer"),v=y==null?h:aa(y),x=g==null?h:aa(g),h=new j(b,f+"leave",y,s,m),h.target=v,h.relatedTarget=x,b=null,ks(m)===u&&(j=new j(_,f+"enter",g,s,m),j.target=x,j.relatedTarget=v,b=j),v=b,y&&g)t:{for(j=y,_=g,f=0,x=j;x;x=Xs(x))f++;for(x=0,b=_;b;b=Xs(b))x++;for(;0<f-x;)j=Xs(j),f--;for(;0<x-f;)_=Xs(_),x--;for(;f--;){if(j===_||_!==null&&j===_.alternate)break t;j=Xs(j),_=Xs(_)}j=null}else j=null;y!==null&&Iu(p,h,y,j,!1),g!==null&&v!==null&&Iu(p,v,g,j,!0)}}e:{if(h=u?aa(u):window,y=h.nodeName&&h.nodeName.toLowerCase(),y==="select"||y==="input"&&h.type==="file")var T=Ay;else if(Nu(h))if(_m)T=Fy;else{T=Dy;var R=$y}else(y=h.nodeName)&&y.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(T=My);if(T&&(T=T(e,u))){fm(p,T,s,m);break e}R&&R(e,h,u),e==="focusout"&&(R=h._wrapperState)&&R.controlled&&h.type==="number"&&Po(h,"number",h.value)}switch(R=u?aa(u):window,e){case"focusin":(Nu(R)||R.contentEditable==="true")&&(na=R,Wo=u,mr=null);break;case"focusout":mr=Wo=na=null;break;case"mousedown":Ko=!0;break;case"contextmenu":case"mouseup":case"dragend":Ko=!1,ku(p,s,m);break;case"selectionchange":if(zy)break;case"keydown":case"keyup":ku(p,s,m)}var L;if(ad)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else ta?pm(e,s)&&(N="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(N="onCompositionStart");N&&(hm&&s.locale!=="ko"&&(ta||N!=="onCompositionStart"?N==="onCompositionEnd"&&ta&&(L=um()):(ns=m,td="value"in ns?ns.value:ns.textContent,ta=!0)),R=Gi(u,N),0<R.length&&(N=new yu(N,e,null,s,m),p.push({event:N,listeners:R}),L?N.data=L:(L=mm(s),L!==null&&(N.data=L)))),(L=Iy?By(e,s):Ey(e,s))&&(u=Gi(u,"onBeforeInput"),0<u.length&&(m=new yu("onBeforeInput","beforeinput",null,s,m),p.push({event:m,listeners:u}),m.data=L))}Cm(p,t)})}function Tr(e,t,s){return{instance:e,listener:t,currentTarget:s}}function Gi(e,t){for(var s=t+"Capture",a=[];e!==null;){var r=e,i=r.stateNode;r.tag===5&&i!==null&&(r=i,i=jr(e,s),i!=null&&a.unshift(Tr(e,i,r)),i=jr(e,t),i!=null&&a.push(Tr(e,i,r))),e=e.return}return a}function Xs(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Iu(e,t,s,a,r){for(var i=t._reactName,l=[];s!==null&&s!==a;){var o=s,c=o.alternate,u=o.stateNode;if(c!==null&&c===a)break;o.tag===5&&u!==null&&(o=u,r?(c=jr(s,i),c!=null&&l.unshift(Tr(s,c,o))):r||(c=jr(s,i),c!=null&&l.push(Tr(s,c,o)))),s=s.return}l.length!==0&&e.push({event:t,listeners:l})}var Wy=/\r\n?/g,Ky=/\u0000|\uFFFD/g;function Bu(e){return(typeof e=="string"?e:""+e).replace(Wy,`
38
+ `).replace(Ky,"")}function ui(e,t,s){if(t=Bu(t),Bu(e)!==t&&s)throw Error(U(425))}function Qi(){}var Go=null,Qo=null;function Jo(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Yo=typeof setTimeout=="function"?setTimeout:void 0,Gy=typeof clearTimeout=="function"?clearTimeout:void 0,Eu=typeof Promise=="function"?Promise:void 0,Qy=typeof queueMicrotask=="function"?queueMicrotask:typeof Eu<"u"?function(e){return Eu.resolve(null).then(e).catch(Jy)}:Yo;function Jy(e){setTimeout(function(){throw e})}function ao(e,t){var s=t,a=0;do{var r=s.nextSibling;if(e.removeChild(s),r&&r.nodeType===8)if(s=r.data,s==="/$"){if(a===0){e.removeChild(r),Sr(t);return}a--}else s!=="$"&&s!=="$?"&&s!=="$!"||a++;s=r}while(s);Sr(t)}function cs(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Lu(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"){if(t===0)return e;t--}else s==="/$"&&t++}e=e.previousSibling}return null}var Ua=Math.random().toString(36).slice(2),pn="__reactFiber$"+Ua,Rr="__reactProps$"+Ua,In="__reactContainer$"+Ua,Xo="__reactEvents$"+Ua,Yy="__reactListeners$"+Ua,Xy="__reactHandles$"+Ua;function ks(e){var t=e[pn];if(t)return t;for(var s=e.parentNode;s;){if(t=s[In]||s[pn]){if(s=t.alternate,t.child!==null||s!==null&&s.child!==null)for(e=Lu(e);e!==null;){if(s=e[pn])return s;e=Lu(e)}return t}e=s,s=e.parentNode}return null}function Yr(e){return e=e[pn]||e[In],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function aa(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(U(33))}function jl(e){return e[Rr]||null}var Zo=[],ra=-1;function xs(e){return{current:e}}function Me(e){0>ra||(e.current=Zo[ra],Zo[ra]=null,ra--)}function $e(e,t){ra++,Zo[ra]=e.current,e.current=t}var gs={},ft=xs(gs),Tt=xs(!1),Us=gs;function Ea(e,t){var s=e.type.contextTypes;if(!s)return gs;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var r={},i;for(i in s)r[i]=t[i];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Rt(e){return e=e.childContextTypes,e!=null}function Ji(){Me(Tt),Me(ft)}function Pu(e,t,s){if(ft.current!==gs)throw Error(U(168));$e(ft,t),$e(Tt,s)}function Tm(e,t,s){var a=e.stateNode;if(t=t.childContextTypes,typeof a.getChildContext!="function")return s;a=a.getChildContext();for(var r in a)if(!(r in t))throw Error(U(108,$g(e)||"Unknown",r));return We({},s,a)}function Yi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||gs,Us=ft.current,$e(ft,e),$e(Tt,Tt.current),!0}function Au(e,t,s){var a=e.stateNode;if(!a)throw Error(U(169));s?(e=Tm(e,t,Us),a.__reactInternalMemoizedMergedChildContext=e,Me(Tt),Me(ft),$e(ft,e)):Me(Tt),$e(Tt,s)}var vn=null,Nl=!1,ro=!1;function Rm(e){vn===null?vn=[e]:vn.push(e)}function Zy(e){Nl=!0,Rm(e)}function vs(){if(!ro&&vn!==null){ro=!0;var e=0,t=Ae;try{var s=vn;for(Ae=1;e<s.length;e++){var a=s[e];do a=a(!0);while(a!==null)}vn=null,Nl=!1}catch(r){throw vn!==null&&(vn=vn.slice(e+1)),em(Yc,vs),r}finally{Ae=t,ro=!1}}return null}var ia=[],la=0,Xi=null,Zi=0,Vt=[],qt=0,Vs=null,wn=1,Cn="";function ws(e,t){ia[la++]=Zi,ia[la++]=Xi,Xi=e,Zi=t}function Im(e,t,s){Vt[qt++]=wn,Vt[qt++]=Cn,Vt[qt++]=Vs,Vs=e;var a=wn;e=Cn;var r=32-nn(a)-1;a&=~(1<<r),s+=1;var i=32-nn(t)+r;if(30<i){var l=r-r%5;i=(a&(1<<l)-1).toString(32),a>>=l,r-=l,wn=1<<32-nn(t)+r|s<<r|a,Cn=i+e}else wn=1<<i|s<<r|a,Cn=e}function id(e){e.return!==null&&(ws(e,1),Im(e,1,0))}function ld(e){for(;e===Xi;)Xi=ia[--la],ia[la]=null,Zi=ia[--la],ia[la]=null;for(;e===Vs;)Vs=Vt[--qt],Vt[qt]=null,Cn=Vt[--qt],Vt[qt]=null,wn=Vt[--qt],Vt[qt]=null}var Dt=null,$t=null,Oe=!1,tn=null;function Bm(e,t){var s=Wt(5,null,null,0);s.elementType="DELETED",s.stateNode=t,s.return=e,t=e.deletions,t===null?(e.deletions=[s],e.flags|=16):t.push(s)}function $u(e,t){switch(e.tag){case 5:var s=e.type;return t=t.nodeType!==1||s.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Dt=e,$t=cs(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Dt=e,$t=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(s=Vs!==null?{id:wn,overflow:Cn}:null,e.memoizedState={dehydrated:t,treeContext:s,retryLane:1073741824},s=Wt(18,null,null,0),s.stateNode=t,s.return=e,e.child=s,Dt=e,$t=null,!0):!1;default:return!1}}function ec(e){return(e.mode&1)!==0&&(e.flags&128)===0}function tc(e){if(Oe){var t=$t;if(t){var s=t;if(!$u(e,t)){if(ec(e))throw Error(U(418));t=cs(s.nextSibling);var a=Dt;t&&$u(e,t)?Bm(a,s):(e.flags=e.flags&-4097|2,Oe=!1,Dt=e)}}else{if(ec(e))throw Error(U(418));e.flags=e.flags&-4097|2,Oe=!1,Dt=e}}}function Du(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Dt=e}function hi(e){if(e!==Dt)return!1;if(!Oe)return Du(e),Oe=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Jo(e.type,e.memoizedProps)),t&&(t=$t)){if(ec(e))throw Em(),Error(U(418));for(;t;)Bm(e,t),t=cs(t.nextSibling)}if(Du(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(U(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"){if(t===0){$t=cs(e.nextSibling);break e}t--}else s!=="$"&&s!=="$!"&&s!=="$?"||t++}e=e.nextSibling}$t=null}}else $t=Dt?cs(e.stateNode.nextSibling):null;return!0}function Em(){for(var e=$t;e;)e=cs(e.nextSibling)}function La(){$t=Dt=null,Oe=!1}function od(e){tn===null?tn=[e]:tn.push(e)}var ex=Ln.ReactCurrentBatchConfig;function Za(e,t,s){if(e=s.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(s._owner){if(s=s._owner,s){if(s.tag!==1)throw Error(U(309));var a=s.stateNode}if(!a)throw Error(U(147,e));var r=a,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(l){var o=r.refs;l===null?delete o[i]:o[i]=l},t._stringRef=i,t)}if(typeof e!="string")throw Error(U(284));if(!s._owner)throw Error(U(290,e))}return e}function pi(e,t){throw e=Object.prototype.toString.call(t),Error(U(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Mu(e){var t=e._init;return t(e._payload)}function Lm(e){function t(_,f){if(e){var x=_.deletions;x===null?(_.deletions=[f],_.flags|=16):x.push(f)}}function s(_,f){if(!e)return null;for(;f!==null;)t(_,f),f=f.sibling;return null}function a(_,f){for(_=new Map;f!==null;)f.key!==null?_.set(f.key,f):_.set(f.index,f),f=f.sibling;return _}function r(_,f){return _=ps(_,f),_.index=0,_.sibling=null,_}function i(_,f,x){return _.index=x,e?(x=_.alternate,x!==null?(x=x.index,x<f?(_.flags|=2,f):x):(_.flags|=2,f)):(_.flags|=1048576,f)}function l(_){return e&&_.alternate===null&&(_.flags|=2),_}function o(_,f,x,b){return f===null||f.tag!==6?(f=po(x,_.mode,b),f.return=_,f):(f=r(f,x),f.return=_,f)}function c(_,f,x,b){var T=x.type;return T===ea?m(_,f,x.props.children,b,x.key):f!==null&&(f.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===zn&&Mu(T)===f.type)?(b=r(f,x.props),b.ref=Za(_,f,x),b.return=_,b):(b=$i(x.type,x.key,x.props,null,_.mode,b),b.ref=Za(_,f,x),b.return=_,b)}function u(_,f,x,b){return f===null||f.tag!==4||f.stateNode.containerInfo!==x.containerInfo||f.stateNode.implementation!==x.implementation?(f=mo(x,_.mode,b),f.return=_,f):(f=r(f,x.children||[]),f.return=_,f)}function m(_,f,x,b,T){return f===null||f.tag!==7?(f=Hs(x,_.mode,b,T),f.return=_,f):(f=r(f,x),f.return=_,f)}function p(_,f,x){if(typeof f=="string"&&f!==""||typeof f=="number")return f=po(""+f,_.mode,x),f.return=_,f;if(typeof f=="object"&&f!==null){switch(f.$$typeof){case ni:return x=$i(f.type,f.key,f.props,null,_.mode,x),x.ref=Za(_,null,f),x.return=_,x;case Zs:return f=mo(f,_.mode,x),f.return=_,f;case zn:var b=f._init;return p(_,b(f._payload),x)}if(ir(f)||Ga(f))return f=Hs(f,_.mode,x,null),f.return=_,f;pi(_,f)}return null}function h(_,f,x,b){var T=f!==null?f.key:null;if(typeof x=="string"&&x!==""||typeof x=="number")return T!==null?null:o(_,f,""+x,b);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case ni:return x.key===T?c(_,f,x,b):null;case Zs:return x.key===T?u(_,f,x,b):null;case zn:return T=x._init,h(_,f,T(x._payload),b)}if(ir(x)||Ga(x))return T!==null?null:m(_,f,x,b,null);pi(_,x)}return null}function y(_,f,x,b,T){if(typeof b=="string"&&b!==""||typeof b=="number")return _=_.get(x)||null,o(f,_,""+b,T);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case ni:return _=_.get(b.key===null?x:b.key)||null,c(f,_,b,T);case Zs:return _=_.get(b.key===null?x:b.key)||null,u(f,_,b,T);case zn:var R=b._init;return y(_,f,x,R(b._payload),T)}if(ir(b)||Ga(b))return _=_.get(x)||null,m(f,_,b,T,null);pi(f,b)}return null}function g(_,f,x,b){for(var T=null,R=null,L=f,N=f=0,k=null;L!==null&&N<x.length;N++){L.index>N?(k=L,L=null):k=L.sibling;var B=h(_,L,x[N],b);if(B===null){L===null&&(L=k);break}e&&L&&B.alternate===null&&t(_,L),f=i(B,f,N),R===null?T=B:R.sibling=B,R=B,L=k}if(N===x.length)return s(_,L),Oe&&ws(_,N),T;if(L===null){for(;N<x.length;N++)L=p(_,x[N],b),L!==null&&(f=i(L,f,N),R===null?T=L:R.sibling=L,R=L);return Oe&&ws(_,N),T}for(L=a(_,L);N<x.length;N++)k=y(L,_,N,x[N],b),k!==null&&(e&&k.alternate!==null&&L.delete(k.key===null?N:k.key),f=i(k,f,N),R===null?T=k:R.sibling=k,R=k);return e&&L.forEach(function(M){return t(_,M)}),Oe&&ws(_,N),T}function j(_,f,x,b){var T=Ga(x);if(typeof T!="function")throw Error(U(150));if(x=T.call(x),x==null)throw Error(U(151));for(var R=T=null,L=f,N=f=0,k=null,B=x.next();L!==null&&!B.done;N++,B=x.next()){L.index>N?(k=L,L=null):k=L.sibling;var M=h(_,L,B.value,b);if(M===null){L===null&&(L=k);break}e&&L&&M.alternate===null&&t(_,L),f=i(M,f,N),R===null?T=M:R.sibling=M,R=M,L=k}if(B.done)return s(_,L),Oe&&ws(_,N),T;if(L===null){for(;!B.done;N++,B=x.next())B=p(_,B.value,b),B!==null&&(f=i(B,f,N),R===null?T=B:R.sibling=B,R=B);return Oe&&ws(_,N),T}for(L=a(_,L);!B.done;N++,B=x.next())B=y(L,_,N,B.value,b),B!==null&&(e&&B.alternate!==null&&L.delete(B.key===null?N:B.key),f=i(B,f,N),R===null?T=B:R.sibling=B,R=B);return e&&L.forEach(function(te){return t(_,te)}),Oe&&ws(_,N),T}function v(_,f,x,b){if(typeof x=="object"&&x!==null&&x.type===ea&&x.key===null&&(x=x.props.children),typeof x=="object"&&x!==null){switch(x.$$typeof){case ni:e:{for(var T=x.key,R=f;R!==null;){if(R.key===T){if(T=x.type,T===ea){if(R.tag===7){s(_,R.sibling),f=r(R,x.props.children),f.return=_,_=f;break e}}else if(R.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===zn&&Mu(T)===R.type){s(_,R.sibling),f=r(R,x.props),f.ref=Za(_,R,x),f.return=_,_=f;break e}s(_,R);break}else t(_,R);R=R.sibling}x.type===ea?(f=Hs(x.props.children,_.mode,b,x.key),f.return=_,_=f):(b=$i(x.type,x.key,x.props,null,_.mode,b),b.ref=Za(_,f,x),b.return=_,_=b)}return l(_);case Zs:e:{for(R=x.key;f!==null;){if(f.key===R)if(f.tag===4&&f.stateNode.containerInfo===x.containerInfo&&f.stateNode.implementation===x.implementation){s(_,f.sibling),f=r(f,x.children||[]),f.return=_,_=f;break e}else{s(_,f);break}else t(_,f);f=f.sibling}f=mo(x,_.mode,b),f.return=_,_=f}return l(_);case zn:return R=x._init,v(_,f,R(x._payload),b)}if(ir(x))return g(_,f,x,b);if(Ga(x))return j(_,f,x,b);pi(_,x)}return typeof x=="string"&&x!==""||typeof x=="number"?(x=""+x,f!==null&&f.tag===6?(s(_,f.sibling),f=r(f,x),f.return=_,_=f):(s(_,f),f=po(x,_.mode,b),f.return=_,_=f),l(_)):s(_,f)}return v}var Pa=Lm(!0),Pm=Lm(!1),el=xs(null),tl=null,oa=null,cd=null;function dd(){cd=oa=tl=null}function ud(e){var t=el.current;Me(el),e._currentValue=t}function nc(e,t,s){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===s)break;e=e.return}}function ga(e,t){tl=e,cd=oa=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(kt=!0),e.firstContext=null)}function Gt(e){var t=e._currentValue;if(cd!==e)if(e={context:e,memoizedValue:t,next:null},oa===null){if(tl===null)throw Error(U(308));oa=e,tl.dependencies={lanes:0,firstContext:e}}else oa=oa.next=e;return t}var Ts=null;function hd(e){Ts===null?Ts=[e]:Ts.push(e)}function Am(e,t,s,a){var r=t.interleaved;return r===null?(s.next=s,hd(t)):(s.next=r.next,r.next=s),t.interleaved=s,Bn(e,a)}function Bn(e,t){e.lanes|=t;var s=e.alternate;for(s!==null&&(s.lanes|=t),s=e,e=e.return;e!==null;)e.childLanes|=t,s=e.alternate,s!==null&&(s.childLanes|=t),s=e,e=e.return;return s.tag===3?s.stateNode:null}var Un=!1;function pd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function $m(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function kn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ds(e,t,s){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,Re&2){var r=a.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),a.pending=t,Bn(e,s)}return r=a.interleaved,r===null?(t.next=t,hd(a)):(t.next=r.next,r.next=t),a.interleaved=t,Bn(e,s)}function Ii(e,t,s){if(t=t.updateQueue,t!==null&&(t=t.shared,(s&4194240)!==0)){var a=t.lanes;a&=e.pendingLanes,s|=a,t.lanes=s,Xc(e,s)}}function Fu(e,t){var s=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,s===a)){var r=null,i=null;if(s=s.firstBaseUpdate,s!==null){do{var l={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};i===null?r=i=l:i=i.next=l,s=s.next}while(s!==null);i===null?r=i=t:i=i.next=t}else r=i=t;s={baseState:a.baseState,firstBaseUpdate:r,lastBaseUpdate:i,shared:a.shared,effects:a.effects},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function nl(e,t,s,a){var r=e.updateQueue;Un=!1;var i=r.firstBaseUpdate,l=r.lastBaseUpdate,o=r.shared.pending;if(o!==null){r.shared.pending=null;var c=o,u=c.next;c.next=null,l===null?i=u:l.next=u,l=c;var m=e.alternate;m!==null&&(m=m.updateQueue,o=m.lastBaseUpdate,o!==l&&(o===null?m.firstBaseUpdate=u:o.next=u,m.lastBaseUpdate=c))}if(i!==null){var p=r.baseState;l=0,m=u=c=null,o=i;do{var h=o.lane,y=o.eventTime;if((a&h)===h){m!==null&&(m=m.next={eventTime:y,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var g=e,j=o;switch(h=t,y=s,j.tag){case 1:if(g=j.payload,typeof g=="function"){p=g.call(y,p,h);break e}p=g;break e;case 3:g.flags=g.flags&-65537|128;case 0:if(g=j.payload,h=typeof g=="function"?g.call(y,p,h):g,h==null)break e;p=We({},p,h);break e;case 2:Un=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,h=r.effects,h===null?r.effects=[o]:h.push(o))}else y={eventTime:y,lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},m===null?(u=m=y,c=p):m=m.next=y,l|=h;if(o=o.next,o===null){if(o=r.shared.pending,o===null)break;h=o,o=h.next,h.next=null,r.lastBaseUpdate=h,r.shared.pending=null}}while(!0);if(m===null&&(c=p),r.baseState=c,r.firstBaseUpdate=u,r.lastBaseUpdate=m,t=r.shared.interleaved,t!==null){r=t;do l|=r.lane,r=r.next;while(r!==t)}else i===null&&(r.shared.lanes=0);Ws|=l,e.lanes=l,e.memoizedState=p}}function Ou(e,t,s){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var a=e[t],r=a.callback;if(r!==null){if(a.callback=null,a=s,typeof r!="function")throw Error(U(191,r));r.call(a)}}}var Xr={},fn=xs(Xr),Ir=xs(Xr),Br=xs(Xr);function Rs(e){if(e===Xr)throw Error(U(174));return e}function md(e,t){switch($e(Br,t),$e(Ir,e),$e(fn,Xr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:$o(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=$o(t,e)}Me(fn),$e(fn,t)}function Aa(){Me(fn),Me(Ir),Me(Br)}function Dm(e){Rs(Br.current);var t=Rs(fn.current),s=$o(t,e.type);t!==s&&($e(Ir,e),$e(fn,s))}function fd(e){Ir.current===e&&(Me(fn),Me(Ir))}var Ue=xs(0);function sl(e){for(var t=e;t!==null;){if(t.tag===13){var s=t.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||s.data==="$?"||s.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var io=[];function _d(){for(var e=0;e<io.length;e++)io[e]._workInProgressVersionPrimary=null;io.length=0}var Bi=Ln.ReactCurrentDispatcher,lo=Ln.ReactCurrentBatchConfig,qs=0,Ve=null,et=null,rt=null,al=!1,fr=!1,Er=0,tx=0;function ut(){throw Error(U(321))}function gd(e,t){if(t===null)return!1;for(var s=0;s<t.length&&s<e.length;s++)if(!an(e[s],t[s]))return!1;return!0}function yd(e,t,s,a,r,i){if(qs=i,Ve=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Bi.current=e===null||e.memoizedState===null?rx:ix,e=s(a,r),fr){i=0;do{if(fr=!1,Er=0,25<=i)throw Error(U(301));i+=1,rt=et=null,t.updateQueue=null,Bi.current=lx,e=s(a,r)}while(fr)}if(Bi.current=rl,t=et!==null&&et.next!==null,qs=0,rt=et=Ve=null,al=!1,t)throw Error(U(300));return e}function xd(){var e=Er!==0;return Er=0,e}function cn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return rt===null?Ve.memoizedState=rt=e:rt=rt.next=e,rt}function Qt(){if(et===null){var e=Ve.alternate;e=e!==null?e.memoizedState:null}else e=et.next;var t=rt===null?Ve.memoizedState:rt.next;if(t!==null)rt=t,et=e;else{if(e===null)throw Error(U(310));et=e,e={memoizedState:et.memoizedState,baseState:et.baseState,baseQueue:et.baseQueue,queue:et.queue,next:null},rt===null?Ve.memoizedState=rt=e:rt=rt.next=e}return rt}function Lr(e,t){return typeof t=="function"?t(e):t}function oo(e){var t=Qt(),s=t.queue;if(s===null)throw Error(U(311));s.lastRenderedReducer=e;var a=et,r=a.baseQueue,i=s.pending;if(i!==null){if(r!==null){var l=r.next;r.next=i.next,i.next=l}a.baseQueue=r=i,s.pending=null}if(r!==null){i=r.next,a=a.baseState;var o=l=null,c=null,u=i;do{var m=u.lane;if((qs&m)===m)c!==null&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),a=u.hasEagerState?u.eagerState:e(a,u.action);else{var p={lane:m,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};c===null?(o=c=p,l=a):c=c.next=p,Ve.lanes|=m,Ws|=m}u=u.next}while(u!==null&&u!==i);c===null?l=a:c.next=o,an(a,t.memoizedState)||(kt=!0),t.memoizedState=a,t.baseState=l,t.baseQueue=c,s.lastRenderedState=a}if(e=s.interleaved,e!==null){r=e;do i=r.lane,Ve.lanes|=i,Ws|=i,r=r.next;while(r!==e)}else r===null&&(s.lanes=0);return[t.memoizedState,s.dispatch]}function co(e){var t=Qt(),s=t.queue;if(s===null)throw Error(U(311));s.lastRenderedReducer=e;var a=s.dispatch,r=s.pending,i=t.memoizedState;if(r!==null){s.pending=null;var l=r=r.next;do i=e(i,l.action),l=l.next;while(l!==r);an(i,t.memoizedState)||(kt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),s.lastRenderedState=i}return[i,a]}function Mm(){}function Fm(e,t){var s=Ve,a=Qt(),r=t(),i=!an(a.memoizedState,r);if(i&&(a.memoizedState=r,kt=!0),a=a.queue,vd(zm.bind(null,s,a,e),[e]),a.getSnapshot!==t||i||rt!==null&&rt.memoizedState.tag&1){if(s.flags|=2048,Pr(9,Hm.bind(null,s,a,r,t),void 0,null),it===null)throw Error(U(349));qs&30||Om(s,t,r)}return r}function Om(e,t,s){e.flags|=16384,e={getSnapshot:t,value:s},t=Ve.updateQueue,t===null?(t={lastEffect:null,stores:null},Ve.updateQueue=t,t.stores=[e]):(s=t.stores,s===null?t.stores=[e]:s.push(e))}function Hm(e,t,s,a){t.value=s,t.getSnapshot=a,Um(t)&&Vm(e)}function zm(e,t,s){return s(function(){Um(t)&&Vm(e)})}function Um(e){var t=e.getSnapshot;e=e.value;try{var s=t();return!an(e,s)}catch{return!0}}function Vm(e){var t=Bn(e,1);t!==null&&sn(t,e,1,-1)}function Hu(e){var t=cn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Lr,lastRenderedState:e},t.queue=e,e=e.dispatch=ax.bind(null,Ve,e),[t.memoizedState,e]}function Pr(e,t,s,a){return e={tag:e,create:t,destroy:s,deps:a,next:null},t=Ve.updateQueue,t===null?(t={lastEffect:null,stores:null},Ve.updateQueue=t,t.lastEffect=e.next=e):(s=t.lastEffect,s===null?t.lastEffect=e.next=e:(a=s.next,s.next=e,e.next=a,t.lastEffect=e)),e}function qm(){return Qt().memoizedState}function Ei(e,t,s,a){var r=cn();Ve.flags|=e,r.memoizedState=Pr(1|t,s,void 0,a===void 0?null:a)}function bl(e,t,s,a){var r=Qt();a=a===void 0?null:a;var i=void 0;if(et!==null){var l=et.memoizedState;if(i=l.destroy,a!==null&&gd(a,l.deps)){r.memoizedState=Pr(t,s,i,a);return}}Ve.flags|=e,r.memoizedState=Pr(1|t,s,i,a)}function zu(e,t){return Ei(8390656,8,e,t)}function vd(e,t){return bl(2048,8,e,t)}function Wm(e,t){return bl(4,2,e,t)}function Km(e,t){return bl(4,4,e,t)}function Gm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Qm(e,t,s){return s=s!=null?s.concat([e]):null,bl(4,4,Gm.bind(null,t,e),s)}function jd(){}function Jm(e,t){var s=Qt();t=t===void 0?null:t;var a=s.memoizedState;return a!==null&&t!==null&&gd(t,a[1])?a[0]:(s.memoizedState=[e,t],e)}function Ym(e,t){var s=Qt();t=t===void 0?null:t;var a=s.memoizedState;return a!==null&&t!==null&&gd(t,a[1])?a[0]:(e=e(),s.memoizedState=[e,t],e)}function Xm(e,t,s){return qs&21?(an(s,t)||(s=sm(),Ve.lanes|=s,Ws|=s,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,kt=!0),e.memoizedState=s)}function nx(e,t){var s=Ae;Ae=s!==0&&4>s?s:4,e(!0);var a=lo.transition;lo.transition={};try{e(!1),t()}finally{Ae=s,lo.transition=a}}function Zm(){return Qt().memoizedState}function sx(e,t,s){var a=hs(e);if(s={lane:a,action:s,hasEagerState:!1,eagerState:null,next:null},ef(e))tf(t,s);else if(s=Am(e,t,s,a),s!==null){var r=jt();sn(s,e,a,r),nf(s,t,a)}}function ax(e,t,s){var a=hs(e),r={lane:a,action:s,hasEagerState:!1,eagerState:null,next:null};if(ef(e))tf(t,r);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,o=i(l,s);if(r.hasEagerState=!0,r.eagerState=o,an(o,l)){var c=t.interleaved;c===null?(r.next=r,hd(t)):(r.next=c.next,c.next=r),t.interleaved=r;return}}catch{}finally{}s=Am(e,t,r,a),s!==null&&(r=jt(),sn(s,e,a,r),nf(s,t,a))}}function ef(e){var t=e.alternate;return e===Ve||t!==null&&t===Ve}function tf(e,t){fr=al=!0;var s=e.pending;s===null?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function nf(e,t,s){if(s&4194240){var a=t.lanes;a&=e.pendingLanes,s|=a,t.lanes=s,Xc(e,s)}}var rl={readContext:Gt,useCallback:ut,useContext:ut,useEffect:ut,useImperativeHandle:ut,useInsertionEffect:ut,useLayoutEffect:ut,useMemo:ut,useReducer:ut,useRef:ut,useState:ut,useDebugValue:ut,useDeferredValue:ut,useTransition:ut,useMutableSource:ut,useSyncExternalStore:ut,useId:ut,unstable_isNewReconciler:!1},rx={readContext:Gt,useCallback:function(e,t){return cn().memoizedState=[e,t===void 0?null:t],e},useContext:Gt,useEffect:zu,useImperativeHandle:function(e,t,s){return s=s!=null?s.concat([e]):null,Ei(4194308,4,Gm.bind(null,t,e),s)},useLayoutEffect:function(e,t){return Ei(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ei(4,2,e,t)},useMemo:function(e,t){var s=cn();return t=t===void 0?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var a=cn();return t=s!==void 0?s(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=sx.bind(null,Ve,e),[a.memoizedState,e]},useRef:function(e){var t=cn();return e={current:e},t.memoizedState=e},useState:Hu,useDebugValue:jd,useDeferredValue:function(e){return cn().memoizedState=e},useTransition:function(){var e=Hu(!1),t=e[0];return e=nx.bind(null,e[1]),cn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,s){var a=Ve,r=cn();if(Oe){if(s===void 0)throw Error(U(407));s=s()}else{if(s=t(),it===null)throw Error(U(349));qs&30||Om(a,t,s)}r.memoizedState=s;var i={value:s,getSnapshot:t};return r.queue=i,zu(zm.bind(null,a,i,e),[e]),a.flags|=2048,Pr(9,Hm.bind(null,a,i,s,t),void 0,null),s},useId:function(){var e=cn(),t=it.identifierPrefix;if(Oe){var s=Cn,a=wn;s=(a&~(1<<32-nn(a)-1)).toString(32)+s,t=":"+t+"R"+s,s=Er++,0<s&&(t+="H"+s.toString(32)),t+=":"}else s=tx++,t=":"+t+"r"+s.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ix={readContext:Gt,useCallback:Jm,useContext:Gt,useEffect:vd,useImperativeHandle:Qm,useInsertionEffect:Wm,useLayoutEffect:Km,useMemo:Ym,useReducer:oo,useRef:qm,useState:function(){return oo(Lr)},useDebugValue:jd,useDeferredValue:function(e){var t=Qt();return Xm(t,et.memoizedState,e)},useTransition:function(){var e=oo(Lr)[0],t=Qt().memoizedState;return[e,t]},useMutableSource:Mm,useSyncExternalStore:Fm,useId:Zm,unstable_isNewReconciler:!1},lx={readContext:Gt,useCallback:Jm,useContext:Gt,useEffect:vd,useImperativeHandle:Qm,useInsertionEffect:Wm,useLayoutEffect:Km,useMemo:Ym,useReducer:co,useRef:qm,useState:function(){return co(Lr)},useDebugValue:jd,useDeferredValue:function(e){var t=Qt();return et===null?t.memoizedState=e:Xm(t,et.memoizedState,e)},useTransition:function(){var e=co(Lr)[0],t=Qt().memoizedState;return[e,t]},useMutableSource:Mm,useSyncExternalStore:Fm,useId:Zm,unstable_isNewReconciler:!1};function Xt(e,t){if(e&&e.defaultProps){t=We({},t),e=e.defaultProps;for(var s in e)t[s]===void 0&&(t[s]=e[s]);return t}return t}function sc(e,t,s,a){t=e.memoizedState,s=s(a,t),s=s==null?t:We({},t,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var Sl={isMounted:function(e){return(e=e._reactInternals)?Ys(e)===e:!1},enqueueSetState:function(e,t,s){e=e._reactInternals;var a=jt(),r=hs(e),i=kn(a,r);i.payload=t,s!=null&&(i.callback=s),t=ds(e,i,r),t!==null&&(sn(t,e,r,a),Ii(t,e,r))},enqueueReplaceState:function(e,t,s){e=e._reactInternals;var a=jt(),r=hs(e),i=kn(a,r);i.tag=1,i.payload=t,s!=null&&(i.callback=s),t=ds(e,i,r),t!==null&&(sn(t,e,r,a),Ii(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var s=jt(),a=hs(e),r=kn(s,a);r.tag=2,t!=null&&(r.callback=t),t=ds(e,r,a),t!==null&&(sn(t,e,a,s),Ii(t,e,a))}};function Uu(e,t,s,a,r,i,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,l):t.prototype&&t.prototype.isPureReactComponent?!Cr(s,a)||!Cr(r,i):!0}function sf(e,t,s){var a=!1,r=gs,i=t.contextType;return typeof i=="object"&&i!==null?i=Gt(i):(r=Rt(t)?Us:ft.current,a=t.contextTypes,i=(a=a!=null)?Ea(e,r):gs),t=new t(s,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Sl,e.stateNode=t,t._reactInternals=e,a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=i),t}function Vu(e,t,s,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(s,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(s,a),t.state!==e&&Sl.enqueueReplaceState(t,t.state,null)}function ac(e,t,s,a){var r=e.stateNode;r.props=s,r.state=e.memoizedState,r.refs={},pd(e);var i=t.contextType;typeof i=="object"&&i!==null?r.context=Gt(i):(i=Rt(t)?Us:ft.current,r.context=Ea(e,i)),r.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(sc(e,t,i,s),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&Sl.enqueueReplaceState(r,r.state,null),nl(e,s,r,a),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function $a(e,t){try{var s="",a=t;do s+=Ag(a),a=a.return;while(a);var r=s}catch(i){r=`
39
+ Error generating stack: `+i.message+`
40
+ `+i.stack}return{value:e,source:t,stack:r,digest:null}}function uo(e,t,s){return{value:e,source:null,stack:s??null,digest:t??null}}function rc(e,t){try{console.error(t.value)}catch(s){setTimeout(function(){throw s})}}var ox=typeof WeakMap=="function"?WeakMap:Map;function af(e,t,s){s=kn(-1,s),s.tag=3,s.payload={element:null};var a=t.value;return s.callback=function(){ll||(ll=!0,fc=a),rc(e,t)},s}function rf(e,t,s){s=kn(-1,s),s.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var r=t.value;s.payload=function(){return a(r)},s.callback=function(){rc(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(s.callback=function(){rc(e,t),typeof a!="function"&&(us===null?us=new Set([this]):us.add(this));var l=t.stack;this.componentDidCatch(t.value,{componentStack:l!==null?l:""})}),s}function qu(e,t,s){var a=e.pingCache;if(a===null){a=e.pingCache=new ox;var r=new Set;a.set(t,r)}else r=a.get(t),r===void 0&&(r=new Set,a.set(t,r));r.has(s)||(r.add(s),e=Nx.bind(null,e,t,s),t.then(e,e))}function Wu(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Ku(e,t,s,a,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,s.flags|=131072,s.flags&=-52805,s.tag===1&&(s.alternate===null?s.tag=17:(t=kn(-1,1),t.tag=2,ds(s,t,1))),s.lanes|=1),e)}var cx=Ln.ReactCurrentOwner,kt=!1;function xt(e,t,s,a){t.child=e===null?Pm(t,null,s,a):Pa(t,e.child,s,a)}function Gu(e,t,s,a,r){s=s.render;var i=t.ref;return ga(t,r),a=yd(e,t,s,a,i,r),s=xd(),e!==null&&!kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,En(e,t,r)):(Oe&&s&&id(t),t.flags|=1,xt(e,t,a,r),t.child)}function Qu(e,t,s,a,r){if(e===null){var i=s.type;return typeof i=="function"&&!Rd(i)&&i.defaultProps===void 0&&s.compare===null&&s.defaultProps===void 0?(t.tag=15,t.type=i,lf(e,t,i,a,r)):(e=$i(s.type,null,a,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&r)){var l=i.memoizedProps;if(s=s.compare,s=s!==null?s:Cr,s(l,a)&&e.ref===t.ref)return En(e,t,r)}return t.flags|=1,e=ps(i,a),e.ref=t.ref,e.return=t,t.child=e}function lf(e,t,s,a,r){if(e!==null){var i=e.memoizedProps;if(Cr(i,a)&&e.ref===t.ref)if(kt=!1,t.pendingProps=a=i,(e.lanes&r)!==0)e.flags&131072&&(kt=!0);else return t.lanes=e.lanes,En(e,t,r)}return ic(e,t,s,a,r)}function of(e,t,s){var a=t.pendingProps,r=a.children,i=e!==null?e.memoizedState:null;if(a.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$e(da,Lt),Lt|=s;else{if(!(s&1073741824))return e=i!==null?i.baseLanes|s:s,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$e(da,Lt),Lt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=i!==null?i.baseLanes:s,$e(da,Lt),Lt|=a}else i!==null?(a=i.baseLanes|s,t.memoizedState=null):a=s,$e(da,Lt),Lt|=a;return xt(e,t,r,s),t.child}function cf(e,t){var s=t.ref;(e===null&&s!==null||e!==null&&e.ref!==s)&&(t.flags|=512,t.flags|=2097152)}function ic(e,t,s,a,r){var i=Rt(s)?Us:ft.current;return i=Ea(t,i),ga(t,r),s=yd(e,t,s,a,i,r),a=xd(),e!==null&&!kt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,En(e,t,r)):(Oe&&a&&id(t),t.flags|=1,xt(e,t,s,r),t.child)}function Ju(e,t,s,a,r){if(Rt(s)){var i=!0;Yi(t)}else i=!1;if(ga(t,r),t.stateNode===null)Li(e,t),sf(t,s,a),ac(t,s,a,r),a=!0;else if(e===null){var l=t.stateNode,o=t.memoizedProps;l.props=o;var c=l.context,u=s.contextType;typeof u=="object"&&u!==null?u=Gt(u):(u=Rt(s)?Us:ft.current,u=Ea(t,u));var m=s.getDerivedStateFromProps,p=typeof m=="function"||typeof l.getSnapshotBeforeUpdate=="function";p||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(o!==a||c!==u)&&Vu(t,l,a,u),Un=!1;var h=t.memoizedState;l.state=h,nl(t,a,l,r),c=t.memoizedState,o!==a||h!==c||Tt.current||Un?(typeof m=="function"&&(sc(t,s,m,a),c=t.memoizedState),(o=Un||Uu(t,s,o,a,h,c,u))?(p||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),l.props=a,l.state=c,l.context=u,a=o):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{l=t.stateNode,$m(e,t),o=t.memoizedProps,u=t.type===t.elementType?o:Xt(t.type,o),l.props=u,p=t.pendingProps,h=l.context,c=s.contextType,typeof c=="object"&&c!==null?c=Gt(c):(c=Rt(s)?Us:ft.current,c=Ea(t,c));var y=s.getDerivedStateFromProps;(m=typeof y=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(o!==p||h!==c)&&Vu(t,l,a,c),Un=!1,h=t.memoizedState,l.state=h,nl(t,a,l,r);var g=t.memoizedState;o!==p||h!==g||Tt.current||Un?(typeof y=="function"&&(sc(t,s,y,a),g=t.memoizedState),(u=Un||Uu(t,s,u,a,h,g,c)||!1)?(m||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(a,g,c),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(a,g,c)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=g),l.props=a,l.state=g,l.context=c,a=u):(typeof l.componentDidUpdate!="function"||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),a=!1)}return lc(e,t,s,a,i,r)}function lc(e,t,s,a,r,i){cf(e,t);var l=(t.flags&128)!==0;if(!a&&!l)return r&&Au(t,s,!1),En(e,t,i);a=t.stateNode,cx.current=t;var o=l&&typeof s.getDerivedStateFromError!="function"?null:a.render();return t.flags|=1,e!==null&&l?(t.child=Pa(t,e.child,null,i),t.child=Pa(t,null,o,i)):xt(e,t,o,i),t.memoizedState=a.state,r&&Au(t,s,!0),t.child}function df(e){var t=e.stateNode;t.pendingContext?Pu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Pu(e,t.context,!1),md(e,t.containerInfo)}function Yu(e,t,s,a,r){return La(),od(r),t.flags|=256,xt(e,t,s,a),t.child}var oc={dehydrated:null,treeContext:null,retryLane:0};function cc(e){return{baseLanes:e,cachePool:null,transitions:null}}function uf(e,t,s){var a=t.pendingProps,r=Ue.current,i=!1,l=(t.flags&128)!==0,o;if((o=l)||(o=e!==null&&e.memoizedState===null?!1:(r&2)!==0),o?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),$e(Ue,r&1),e===null)return tc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=a.children,e=a.fallback,i?(a=t.mode,i=t.child,l={mode:"hidden",children:l},!(a&1)&&i!==null?(i.childLanes=0,i.pendingProps=l):i=kl(l,a,0,null),e=Hs(e,a,s,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=cc(s),t.memoizedState=oc,e):Nd(t,l));if(r=e.memoizedState,r!==null&&(o=r.dehydrated,o!==null))return dx(e,t,l,a,o,r,s);if(i){i=a.fallback,l=t.mode,r=e.child,o=r.sibling;var c={mode:"hidden",children:a.children};return!(l&1)&&t.child!==r?(a=t.child,a.childLanes=0,a.pendingProps=c,t.deletions=null):(a=ps(r,c),a.subtreeFlags=r.subtreeFlags&14680064),o!==null?i=ps(o,i):(i=Hs(i,l,s,null),i.flags|=2),i.return=t,a.return=t,a.sibling=i,t.child=a,a=i,i=t.child,l=e.child.memoizedState,l=l===null?cc(s):{baseLanes:l.baseLanes|s,cachePool:null,transitions:l.transitions},i.memoizedState=l,i.childLanes=e.childLanes&~s,t.memoizedState=oc,a}return i=e.child,e=i.sibling,a=ps(i,{mode:"visible",children:a.children}),!(t.mode&1)&&(a.lanes=s),a.return=t,a.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=a,t.memoizedState=null,a}function Nd(e,t){return t=kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function mi(e,t,s,a){return a!==null&&od(a),Pa(t,e.child,null,s),e=Nd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function dx(e,t,s,a,r,i,l){if(s)return t.flags&256?(t.flags&=-257,a=uo(Error(U(422))),mi(e,t,l,a)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=a.fallback,r=t.mode,a=kl({mode:"visible",children:a.children},r,0,null),i=Hs(i,r,l,null),i.flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,t.mode&1&&Pa(t,e.child,null,l),t.child.memoizedState=cc(l),t.memoizedState=oc,i);if(!(t.mode&1))return mi(e,t,l,null);if(r.data==="$!"){if(a=r.nextSibling&&r.nextSibling.dataset,a)var o=a.dgst;return a=o,i=Error(U(419)),a=uo(i,a,void 0),mi(e,t,l,a)}if(o=(l&e.childLanes)!==0,kt||o){if(a=it,a!==null){switch(l&-l){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(a.suspendedLanes|l)?0:r,r!==0&&r!==i.retryLane&&(i.retryLane=r,Bn(e,r),sn(a,e,r,-1))}return Td(),a=uo(Error(U(421))),mi(e,t,l,a)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=bx.bind(null,e),r._reactRetry=t,null):(e=i.treeContext,$t=cs(r.nextSibling),Dt=t,Oe=!0,tn=null,e!==null&&(Vt[qt++]=wn,Vt[qt++]=Cn,Vt[qt++]=Vs,wn=e.id,Cn=e.overflow,Vs=t),t=Nd(t,a.children),t.flags|=4096,t)}function Xu(e,t,s){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),nc(e.return,t,s)}function ho(e,t,s,a,r){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:s,tailMode:r}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=s,i.tailMode=r)}function hf(e,t,s){var a=t.pendingProps,r=a.revealOrder,i=a.tail;if(xt(e,t,a.children,s),a=Ue.current,a&2)a=a&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Xu(e,s,t);else if(e.tag===19)Xu(e,s,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if($e(Ue,a),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(s=t.child,r=null;s!==null;)e=s.alternate,e!==null&&sl(e)===null&&(r=s),s=s.sibling;s=r,s===null?(r=t.child,t.child=null):(r=s.sibling,s.sibling=null),ho(t,!1,r,s,i);break;case"backwards":for(s=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&sl(e)===null){t.child=r;break}e=r.sibling,r.sibling=s,s=r,r=e}ho(t,!0,s,null,i);break;case"together":ho(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Li(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function En(e,t,s){if(e!==null&&(t.dependencies=e.dependencies),Ws|=t.lanes,!(s&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(U(153));if(t.child!==null){for(e=t.child,s=ps(e,e.pendingProps),t.child=s,s.return=t;e.sibling!==null;)e=e.sibling,s=s.sibling=ps(e,e.pendingProps),s.return=t;s.sibling=null}return t.child}function ux(e,t,s){switch(t.tag){case 3:df(t),La();break;case 5:Dm(t);break;case 1:Rt(t.type)&&Yi(t);break;case 4:md(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,r=t.memoizedProps.value;$e(el,a._currentValue),a._currentValue=r;break;case 13:if(a=t.memoizedState,a!==null)return a.dehydrated!==null?($e(Ue,Ue.current&1),t.flags|=128,null):s&t.child.childLanes?uf(e,t,s):($e(Ue,Ue.current&1),e=En(e,t,s),e!==null?e.sibling:null);$e(Ue,Ue.current&1);break;case 19:if(a=(s&t.childLanes)!==0,e.flags&128){if(a)return hf(e,t,s);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),$e(Ue,Ue.current),a)break;return null;case 22:case 23:return t.lanes=0,of(e,t,s)}return En(e,t,s)}var pf,dc,mf,ff;pf=function(e,t){for(var s=t.child;s!==null;){if(s.tag===5||s.tag===6)e.appendChild(s.stateNode);else if(s.tag!==4&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break;for(;s.sibling===null;){if(s.return===null||s.return===t)return;s=s.return}s.sibling.return=s.return,s=s.sibling}};dc=function(){};mf=function(e,t,s,a){var r=e.memoizedProps;if(r!==a){e=t.stateNode,Rs(fn.current);var i=null;switch(s){case"input":r=Eo(e,r),a=Eo(e,a),i=[];break;case"select":r=We({},r,{value:void 0}),a=We({},a,{value:void 0}),i=[];break;case"textarea":r=Ao(e,r),a=Ao(e,a),i=[];break;default:typeof r.onClick!="function"&&typeof a.onClick=="function"&&(e.onclick=Qi)}Do(s,a);var l;s=null;for(u in r)if(!a.hasOwnProperty(u)&&r.hasOwnProperty(u)&&r[u]!=null)if(u==="style"){var o=r[u];for(l in o)o.hasOwnProperty(l)&&(s||(s={}),s[l]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(xr.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in a){var c=a[u];if(o=r!=null?r[u]:void 0,a.hasOwnProperty(u)&&c!==o&&(c!=null||o!=null))if(u==="style")if(o){for(l in o)!o.hasOwnProperty(l)||c&&c.hasOwnProperty(l)||(s||(s={}),s[l]="");for(l in c)c.hasOwnProperty(l)&&o[l]!==c[l]&&(s||(s={}),s[l]=c[l])}else s||(i||(i=[]),i.push(u,s)),s=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,o=o?o.__html:void 0,c!=null&&o!==c&&(i=i||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(i=i||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(xr.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&De("scroll",e),i||o===c||(i=[])):(i=i||[]).push(u,c))}s&&(i=i||[]).push("style",s);var u=i;(t.updateQueue=u)&&(t.flags|=4)}};ff=function(e,t,s,a){s!==a&&(t.flags|=4)};function er(e,t){if(!Oe)switch(e.tailMode){case"hidden":t=e.tail;for(var s=null;t!==null;)t.alternate!==null&&(s=t),t=t.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var a=null;s!==null;)s.alternate!==null&&(a=s),s=s.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function ht(e){var t=e.alternate!==null&&e.alternate.child===e.child,s=0,a=0;if(t)for(var r=e.child;r!==null;)s|=r.lanes|r.childLanes,a|=r.subtreeFlags&14680064,a|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)s|=r.lanes|r.childLanes,a|=r.subtreeFlags,a|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=a,e.childLanes=s,t}function hx(e,t,s){var a=t.pendingProps;switch(ld(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ht(t),null;case 1:return Rt(t.type)&&Ji(),ht(t),null;case 3:return a=t.stateNode,Aa(),Me(Tt),Me(ft),_d(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(hi(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,tn!==null&&(yc(tn),tn=null))),dc(e,t),ht(t),null;case 5:fd(t);var r=Rs(Br.current);if(s=t.type,e!==null&&t.stateNode!=null)mf(e,t,s,a,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(t.stateNode===null)throw Error(U(166));return ht(t),null}if(e=Rs(fn.current),hi(t)){a=t.stateNode,s=t.type;var i=t.memoizedProps;switch(a[pn]=t,a[Rr]=i,e=(t.mode&1)!==0,s){case"dialog":De("cancel",a),De("close",a);break;case"iframe":case"object":case"embed":De("load",a);break;case"video":case"audio":for(r=0;r<or.length;r++)De(or[r],a);break;case"source":De("error",a);break;case"img":case"image":case"link":De("error",a),De("load",a);break;case"details":De("toggle",a);break;case"input":lu(a,i),De("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},De("invalid",a);break;case"textarea":cu(a,i),De("invalid",a)}Do(s,i),r=null;for(var l in i)if(i.hasOwnProperty(l)){var o=i[l];l==="children"?typeof o=="string"?a.textContent!==o&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,o,e),r=["children",o]):typeof o=="number"&&a.textContent!==""+o&&(i.suppressHydrationWarning!==!0&&ui(a.textContent,o,e),r=["children",""+o]):xr.hasOwnProperty(l)&&o!=null&&l==="onScroll"&&De("scroll",a)}switch(s){case"input":si(a),ou(a,i,!0);break;case"textarea":si(a),du(a);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(a.onclick=Qi)}a=r,t.updateQueue=a,a!==null&&(t.flags|=4)}else{l=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=zp(s)),e==="http://www.w3.org/1999/xhtml"?s==="script"?(e=l.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=l.createElement(s,{is:a.is}):(e=l.createElement(s),s==="select"&&(l=e,a.multiple?l.multiple=!0:a.size&&(l.size=a.size))):e=l.createElementNS(e,s),e[pn]=t,e[Rr]=a,pf(e,t,!1,!1),t.stateNode=e;e:{switch(l=Mo(s,a),s){case"dialog":De("cancel",e),De("close",e),r=a;break;case"iframe":case"object":case"embed":De("load",e),r=a;break;case"video":case"audio":for(r=0;r<or.length;r++)De(or[r],e);r=a;break;case"source":De("error",e),r=a;break;case"img":case"image":case"link":De("error",e),De("load",e),r=a;break;case"details":De("toggle",e),r=a;break;case"input":lu(e,a),r=Eo(e,a),De("invalid",e);break;case"option":r=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},r=We({},a,{value:void 0}),De("invalid",e);break;case"textarea":cu(e,a),r=Ao(e,a),De("invalid",e);break;default:r=a}Do(s,r),o=r;for(i in o)if(o.hasOwnProperty(i)){var c=o[i];i==="style"?qp(e,c):i==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&Up(e,c)):i==="children"?typeof c=="string"?(s!=="textarea"||c!=="")&&vr(e,c):typeof c=="number"&&vr(e,""+c):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(xr.hasOwnProperty(i)?c!=null&&i==="onScroll"&&De("scroll",e):c!=null&&Wc(e,i,c,l))}switch(s){case"input":si(e),ou(e,a,!1);break;case"textarea":si(e),du(e);break;case"option":a.value!=null&&e.setAttribute("value",""+_s(a.value));break;case"select":e.multiple=!!a.multiple,i=a.value,i!=null?pa(e,!!a.multiple,i,!1):a.defaultValue!=null&&pa(e,!!a.multiple,a.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=Qi)}switch(s){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ht(t),null;case 6:if(e&&t.stateNode!=null)ff(e,t,e.memoizedProps,a);else{if(typeof a!="string"&&t.stateNode===null)throw Error(U(166));if(s=Rs(Br.current),Rs(fn.current),hi(t)){if(a=t.stateNode,s=t.memoizedProps,a[pn]=t,(i=a.nodeValue!==s)&&(e=Dt,e!==null))switch(e.tag){case 3:ui(a.nodeValue,s,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ui(a.nodeValue,s,(e.mode&1)!==0)}i&&(t.flags|=4)}else a=(s.nodeType===9?s:s.ownerDocument).createTextNode(a),a[pn]=t,t.stateNode=a}return ht(t),null;case 13:if(Me(Ue),a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Oe&&$t!==null&&t.mode&1&&!(t.flags&128))Em(),La(),t.flags|=98560,i=!1;else if(i=hi(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(U(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(U(317));i[pn]=t}else La(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ht(t),i=!1}else tn!==null&&(yc(tn),tn=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=s,t):(a=a!==null,a!==(e!==null&&e.memoizedState!==null)&&a&&(t.child.flags|=8192,t.mode&1&&(e===null||Ue.current&1?st===0&&(st=3):Td())),t.updateQueue!==null&&(t.flags|=4),ht(t),null);case 4:return Aa(),dc(e,t),e===null&&kr(t.stateNode.containerInfo),ht(t),null;case 10:return ud(t.type._context),ht(t),null;case 17:return Rt(t.type)&&Ji(),ht(t),null;case 19:if(Me(Ue),i=t.memoizedState,i===null)return ht(t),null;if(a=(t.flags&128)!==0,l=i.rendering,l===null)if(a)er(i,!1);else{if(st!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(l=sl(e),l!==null){for(t.flags|=128,er(i,!1),a=l.updateQueue,a!==null&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=s,s=t.child;s!==null;)i=s,e=a,i.flags&=14680066,l=i.alternate,l===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return $e(Ue,Ue.current&1|2),t.child}e=e.sibling}i.tail!==null&&Je()>Da&&(t.flags|=128,a=!0,er(i,!1),t.lanes=4194304)}else{if(!a)if(e=sl(l),e!==null){if(t.flags|=128,a=!0,s=e.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),er(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!Oe)return ht(t),null}else 2*Je()-i.renderingStartTime>Da&&s!==1073741824&&(t.flags|=128,a=!0,er(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(s=i.last,s!==null?s.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,s=Ue.current,$e(Ue,a?s&1|2:s&1),t):(ht(t),null);case 22:case 23:return kd(),a=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(t.flags|=8192),a&&t.mode&1?Lt&1073741824&&(ht(t),t.subtreeFlags&6&&(t.flags|=8192)):ht(t),null;case 24:return null;case 25:return null}throw Error(U(156,t.tag))}function px(e,t){switch(ld(t),t.tag){case 1:return Rt(t.type)&&Ji(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Aa(),Me(Tt),Me(ft),_d(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return fd(t),null;case 13:if(Me(Ue),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(U(340));La()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Me(Ue),null;case 4:return Aa(),null;case 10:return ud(t.type._context),null;case 22:case 23:return kd(),null;case 24:return null;default:return null}}var fi=!1,mt=!1,mx=typeof WeakSet=="function"?WeakSet:Set,se=null;function ca(e,t){var s=e.ref;if(s!==null)if(typeof s=="function")try{s(null)}catch(a){Qe(e,t,a)}else s.current=null}function uc(e,t,s){try{s()}catch(a){Qe(e,t,a)}}var Zu=!1;function fx(e,t){if(Go=Wi,e=xm(),rd(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var a=s.getSelection&&s.getSelection();if(a&&a.rangeCount!==0){s=a.anchorNode;var r=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{s.nodeType,i.nodeType}catch{s=null;break e}var l=0,o=-1,c=-1,u=0,m=0,p=e,h=null;t:for(;;){for(var y;p!==s||r!==0&&p.nodeType!==3||(o=l+r),p!==i||a!==0&&p.nodeType!==3||(c=l+a),p.nodeType===3&&(l+=p.nodeValue.length),(y=p.firstChild)!==null;)h=p,p=y;for(;;){if(p===e)break t;if(h===s&&++u===r&&(o=l),h===i&&++m===a&&(c=l),(y=p.nextSibling)!==null)break;p=h,h=p.parentNode}p=y}s=o===-1||c===-1?null:{start:o,end:c}}else s=null}s=s||{start:0,end:0}}else s=null;for(Qo={focusedElem:e,selectionRange:s},Wi=!1,se=t;se!==null;)if(t=se,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,se=e;else for(;se!==null;){t=se;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var j=g.memoizedProps,v=g.memoizedState,_=t.stateNode,f=_.getSnapshotBeforeUpdate(t.elementType===t.type?j:Xt(t.type,j),v);_.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var x=t.stateNode.containerInfo;x.nodeType===1?x.textContent="":x.nodeType===9&&x.documentElement&&x.removeChild(x.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(U(163))}}catch(b){Qe(t,t.return,b)}if(e=t.sibling,e!==null){e.return=t.return,se=e;break}se=t.return}return g=Zu,Zu=!1,g}function _r(e,t,s){var a=t.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var r=a=a.next;do{if((r.tag&e)===e){var i=r.destroy;r.destroy=void 0,i!==void 0&&uc(t,s,i)}r=r.next}while(r!==a)}}function wl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var s=t=t.next;do{if((s.tag&e)===e){var a=s.create;s.destroy=a()}s=s.next}while(s!==t)}}function hc(e){var t=e.ref;if(t!==null){var s=e.stateNode;switch(e.tag){case 5:e=s;break;default:e=s}typeof t=="function"?t(e):t.current=e}}function _f(e){var t=e.alternate;t!==null&&(e.alternate=null,_f(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[pn],delete t[Rr],delete t[Xo],delete t[Yy],delete t[Xy])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function gf(e){return e.tag===5||e.tag===3||e.tag===4}function eh(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||gf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function pc(e,t,s){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?s.nodeType===8?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(s.nodeType===8?(t=s.parentNode,t.insertBefore(e,s)):(t=s,t.appendChild(e)),s=s._reactRootContainer,s!=null||t.onclick!==null||(t.onclick=Qi));else if(a!==4&&(e=e.child,e!==null))for(pc(e,t,s),e=e.sibling;e!==null;)pc(e,t,s),e=e.sibling}function mc(e,t,s){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(mc(e,t,s),e=e.sibling;e!==null;)mc(e,t,s),e=e.sibling}var lt=null,en=!1;function Dn(e,t,s){for(s=s.child;s!==null;)yf(e,t,s),s=s.sibling}function yf(e,t,s){if(mn&&typeof mn.onCommitFiberUnmount=="function")try{mn.onCommitFiberUnmount(gl,s)}catch{}switch(s.tag){case 5:mt||ca(s,t);case 6:var a=lt,r=en;lt=null,Dn(e,t,s),lt=a,en=r,lt!==null&&(en?(e=lt,s=s.stateNode,e.nodeType===8?e.parentNode.removeChild(s):e.removeChild(s)):lt.removeChild(s.stateNode));break;case 18:lt!==null&&(en?(e=lt,s=s.stateNode,e.nodeType===8?ao(e.parentNode,s):e.nodeType===1&&ao(e,s),Sr(e)):ao(lt,s.stateNode));break;case 4:a=lt,r=en,lt=s.stateNode.containerInfo,en=!0,Dn(e,t,s),lt=a,en=r;break;case 0:case 11:case 14:case 15:if(!mt&&(a=s.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){r=a=a.next;do{var i=r,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&uc(s,t,l),r=r.next}while(r!==a)}Dn(e,t,s);break;case 1:if(!mt&&(ca(s,t),a=s.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=s.memoizedProps,a.state=s.memoizedState,a.componentWillUnmount()}catch(o){Qe(s,t,o)}Dn(e,t,s);break;case 21:Dn(e,t,s);break;case 22:s.mode&1?(mt=(a=mt)||s.memoizedState!==null,Dn(e,t,s),mt=a):Dn(e,t,s);break;default:Dn(e,t,s)}}function th(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var s=e.stateNode;s===null&&(s=e.stateNode=new mx),t.forEach(function(a){var r=Sx.bind(null,e,a);s.has(a)||(s.add(a),a.then(r,r))})}}function Yt(e,t){var s=t.deletions;if(s!==null)for(var a=0;a<s.length;a++){var r=s[a];try{var i=e,l=t,o=l;e:for(;o!==null;){switch(o.tag){case 5:lt=o.stateNode,en=!1;break e;case 3:lt=o.stateNode.containerInfo,en=!0;break e;case 4:lt=o.stateNode.containerInfo,en=!0;break e}o=o.return}if(lt===null)throw Error(U(160));yf(i,l,r),lt=null,en=!1;var c=r.alternate;c!==null&&(c.return=null),r.return=null}catch(u){Qe(r,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)xf(t,e),t=t.sibling}function xf(e,t){var s=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Yt(t,e),rn(e),a&4){try{_r(3,e,e.return),wl(3,e)}catch(j){Qe(e,e.return,j)}try{_r(5,e,e.return)}catch(j){Qe(e,e.return,j)}}break;case 1:Yt(t,e),rn(e),a&512&&s!==null&&ca(s,s.return);break;case 5:if(Yt(t,e),rn(e),a&512&&s!==null&&ca(s,s.return),e.flags&32){var r=e.stateNode;try{vr(r,"")}catch(j){Qe(e,e.return,j)}}if(a&4&&(r=e.stateNode,r!=null)){var i=e.memoizedProps,l=s!==null?s.memoizedProps:i,o=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{o==="input"&&i.type==="radio"&&i.name!=null&&Op(r,i),Mo(o,l);var u=Mo(o,i);for(l=0;l<c.length;l+=2){var m=c[l],p=c[l+1];m==="style"?qp(r,p):m==="dangerouslySetInnerHTML"?Up(r,p):m==="children"?vr(r,p):Wc(r,m,p,u)}switch(o){case"input":Lo(r,i);break;case"textarea":Hp(r,i);break;case"select":var h=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!i.multiple;var y=i.value;y!=null?pa(r,!!i.multiple,y,!1):h!==!!i.multiple&&(i.defaultValue!=null?pa(r,!!i.multiple,i.defaultValue,!0):pa(r,!!i.multiple,i.multiple?[]:"",!1))}r[Rr]=i}catch(j){Qe(e,e.return,j)}}break;case 6:if(Yt(t,e),rn(e),a&4){if(e.stateNode===null)throw Error(U(162));r=e.stateNode,i=e.memoizedProps;try{r.nodeValue=i}catch(j){Qe(e,e.return,j)}}break;case 3:if(Yt(t,e),rn(e),a&4&&s!==null&&s.memoizedState.isDehydrated)try{Sr(t.containerInfo)}catch(j){Qe(e,e.return,j)}break;case 4:Yt(t,e),rn(e);break;case 13:Yt(t,e),rn(e),r=e.child,r.flags&8192&&(i=r.memoizedState!==null,r.stateNode.isHidden=i,!i||r.alternate!==null&&r.alternate.memoizedState!==null||(wd=Je())),a&4&&th(e);break;case 22:if(m=s!==null&&s.memoizedState!==null,e.mode&1?(mt=(u=mt)||m,Yt(t,e),mt=u):Yt(t,e),rn(e),a&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!m&&e.mode&1)for(se=e,m=e.child;m!==null;){for(p=se=m;se!==null;){switch(h=se,y=h.child,h.tag){case 0:case 11:case 14:case 15:_r(4,h,h.return);break;case 1:ca(h,h.return);var g=h.stateNode;if(typeof g.componentWillUnmount=="function"){a=h,s=h.return;try{t=a,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(j){Qe(a,s,j)}}break;case 5:ca(h,h.return);break;case 22:if(h.memoizedState!==null){sh(p);continue}}y!==null?(y.return=h,se=y):sh(p)}m=m.sibling}e:for(m=null,p=e;;){if(p.tag===5){if(m===null){m=p;try{r=p.stateNode,u?(i=r.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(o=p.stateNode,c=p.memoizedProps.style,l=c!=null&&c.hasOwnProperty("display")?c.display:null,o.style.display=Vp("display",l))}catch(j){Qe(e,e.return,j)}}}else if(p.tag===6){if(m===null)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(j){Qe(e,e.return,j)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;m===p&&(m=null),p=p.return}m===p&&(m=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:Yt(t,e),rn(e),a&4&&th(e);break;case 21:break;default:Yt(t,e),rn(e)}}function rn(e){var t=e.flags;if(t&2){try{e:{for(var s=e.return;s!==null;){if(gf(s)){var a=s;break e}s=s.return}throw Error(U(160))}switch(a.tag){case 5:var r=a.stateNode;a.flags&32&&(vr(r,""),a.flags&=-33);var i=eh(e);mc(e,i,r);break;case 3:case 4:var l=a.stateNode.containerInfo,o=eh(e);pc(e,o,l);break;default:throw Error(U(161))}}catch(c){Qe(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function _x(e,t,s){se=e,vf(e)}function vf(e,t,s){for(var a=(e.mode&1)!==0;se!==null;){var r=se,i=r.child;if(r.tag===22&&a){var l=r.memoizedState!==null||fi;if(!l){var o=r.alternate,c=o!==null&&o.memoizedState!==null||mt;o=fi;var u=mt;if(fi=l,(mt=c)&&!u)for(se=r;se!==null;)l=se,c=l.child,l.tag===22&&l.memoizedState!==null?ah(r):c!==null?(c.return=l,se=c):ah(r);for(;i!==null;)se=i,vf(i),i=i.sibling;se=r,fi=o,mt=u}nh(e)}else r.subtreeFlags&8772&&i!==null?(i.return=r,se=i):nh(e)}}function nh(e){for(;se!==null;){var t=se;if(t.flags&8772){var s=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:mt||wl(5,t);break;case 1:var a=t.stateNode;if(t.flags&4&&!mt)if(s===null)a.componentDidMount();else{var r=t.elementType===t.type?s.memoizedProps:Xt(t.type,s.memoizedProps);a.componentDidUpdate(r,s.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Ou(t,i,a);break;case 3:var l=t.updateQueue;if(l!==null){if(s=null,t.child!==null)switch(t.child.tag){case 5:s=t.child.stateNode;break;case 1:s=t.child.stateNode}Ou(t,l,s)}break;case 5:var o=t.stateNode;if(s===null&&t.flags&4){s=o;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&s.focus();break;case"img":c.src&&(s.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var m=u.memoizedState;if(m!==null){var p=m.dehydrated;p!==null&&Sr(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(U(163))}mt||t.flags&512&&hc(t)}catch(h){Qe(t,t.return,h)}}if(t===e){se=null;break}if(s=t.sibling,s!==null){s.return=t.return,se=s;break}se=t.return}}function sh(e){for(;se!==null;){var t=se;if(t===e){se=null;break}var s=t.sibling;if(s!==null){s.return=t.return,se=s;break}se=t.return}}function ah(e){for(;se!==null;){var t=se;try{switch(t.tag){case 0:case 11:case 15:var s=t.return;try{wl(4,t)}catch(c){Qe(t,s,c)}break;case 1:var a=t.stateNode;if(typeof a.componentDidMount=="function"){var r=t.return;try{a.componentDidMount()}catch(c){Qe(t,r,c)}}var i=t.return;try{hc(t)}catch(c){Qe(t,i,c)}break;case 5:var l=t.return;try{hc(t)}catch(c){Qe(t,l,c)}}}catch(c){Qe(t,t.return,c)}if(t===e){se=null;break}var o=t.sibling;if(o!==null){o.return=t.return,se=o;break}se=t.return}}var gx=Math.ceil,il=Ln.ReactCurrentDispatcher,bd=Ln.ReactCurrentOwner,Kt=Ln.ReactCurrentBatchConfig,Re=0,it=null,Ze=null,ot=0,Lt=0,da=xs(0),st=0,Ar=null,Ws=0,Cl=0,Sd=0,gr=null,Ct=null,wd=0,Da=1/0,xn=null,ll=!1,fc=null,us=null,_i=!1,ss=null,ol=0,yr=0,_c=null,Pi=-1,Ai=0;function jt(){return Re&6?Je():Pi!==-1?Pi:Pi=Je()}function hs(e){return e.mode&1?Re&2&&ot!==0?ot&-ot:ex.transition!==null?(Ai===0&&(Ai=sm()),Ai):(e=Ae,e!==0||(e=window.event,e=e===void 0?16:dm(e.type)),e):1}function sn(e,t,s,a){if(50<yr)throw yr=0,_c=null,Error(U(185));Qr(e,s,a),(!(Re&2)||e!==it)&&(e===it&&(!(Re&2)&&(Cl|=s),st===4&&qn(e,ot)),It(e,a),s===1&&Re===0&&!(t.mode&1)&&(Da=Je()+500,Nl&&vs()))}function It(e,t){var s=e.callbackNode;ey(e,t);var a=qi(e,e===it?ot:0);if(a===0)s!==null&&pu(s),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(s!=null&&pu(s),t===1)e.tag===0?Zy(rh.bind(null,e)):Rm(rh.bind(null,e)),Qy(function(){!(Re&6)&&vs()}),s=null;else{switch(am(a)){case 1:s=Yc;break;case 4:s=tm;break;case 16:s=Vi;break;case 536870912:s=nm;break;default:s=Vi}s=Tf(s,jf.bind(null,e))}e.callbackPriority=t,e.callbackNode=s}}function jf(e,t){if(Pi=-1,Ai=0,Re&6)throw Error(U(327));var s=e.callbackNode;if(ya()&&e.callbackNode!==s)return null;var a=qi(e,e===it?ot:0);if(a===0)return null;if(a&30||a&e.expiredLanes||t)t=cl(e,a);else{t=a;var r=Re;Re|=2;var i=bf();(it!==e||ot!==t)&&(xn=null,Da=Je()+500,Os(e,t));do try{vx();break}catch(o){Nf(e,o)}while(!0);dd(),il.current=i,Re=r,Ze!==null?t=0:(it=null,ot=0,t=st)}if(t!==0){if(t===2&&(r=Uo(e),r!==0&&(a=r,t=gc(e,r))),t===1)throw s=Ar,Os(e,0),qn(e,a),It(e,Je()),s;if(t===6)qn(e,a);else{if(r=e.current.alternate,!(a&30)&&!yx(r)&&(t=cl(e,a),t===2&&(i=Uo(e),i!==0&&(a=i,t=gc(e,i))),t===1))throw s=Ar,Os(e,0),qn(e,a),It(e,Je()),s;switch(e.finishedWork=r,e.finishedLanes=a,t){case 0:case 1:throw Error(U(345));case 2:Cs(e,Ct,xn);break;case 3:if(qn(e,a),(a&130023424)===a&&(t=wd+500-Je(),10<t)){if(qi(e,0)!==0)break;if(r=e.suspendedLanes,(r&a)!==a){jt(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Yo(Cs.bind(null,e,Ct,xn),t);break}Cs(e,Ct,xn);break;case 4:if(qn(e,a),(a&4194240)===a)break;for(t=e.eventTimes,r=-1;0<a;){var l=31-nn(a);i=1<<l,l=t[l],l>r&&(r=l),a&=~i}if(a=r,a=Je()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*gx(a/1960))-a,10<a){e.timeoutHandle=Yo(Cs.bind(null,e,Ct,xn),a);break}Cs(e,Ct,xn);break;case 5:Cs(e,Ct,xn);break;default:throw Error(U(329))}}}return It(e,Je()),e.callbackNode===s?jf.bind(null,e):null}function gc(e,t){var s=gr;return e.current.memoizedState.isDehydrated&&(Os(e,t).flags|=256),e=cl(e,t),e!==2&&(t=Ct,Ct=s,t!==null&&yc(t)),e}function yc(e){Ct===null?Ct=e:Ct.push.apply(Ct,e)}function yx(e){for(var t=e;;){if(t.flags&16384){var s=t.updateQueue;if(s!==null&&(s=s.stores,s!==null))for(var a=0;a<s.length;a++){var r=s[a],i=r.getSnapshot;r=r.value;try{if(!an(i(),r))return!1}catch{return!1}}}if(s=t.child,t.subtreeFlags&16384&&s!==null)s.return=t,t=s;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function qn(e,t){for(t&=~Sd,t&=~Cl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var s=31-nn(t),a=1<<s;e[s]=-1,t&=~a}}function rh(e){if(Re&6)throw Error(U(327));ya();var t=qi(e,0);if(!(t&1))return It(e,Je()),null;var s=cl(e,t);if(e.tag!==0&&s===2){var a=Uo(e);a!==0&&(t=a,s=gc(e,a))}if(s===1)throw s=Ar,Os(e,0),qn(e,t),It(e,Je()),s;if(s===6)throw Error(U(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Cs(e,Ct,xn),It(e,Je()),null}function Cd(e,t){var s=Re;Re|=1;try{return e(t)}finally{Re=s,Re===0&&(Da=Je()+500,Nl&&vs())}}function Ks(e){ss!==null&&ss.tag===0&&!(Re&6)&&ya();var t=Re;Re|=1;var s=Kt.transition,a=Ae;try{if(Kt.transition=null,Ae=1,e)return e()}finally{Ae=a,Kt.transition=s,Re=t,!(Re&6)&&vs()}}function kd(){Lt=da.current,Me(da)}function Os(e,t){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(s!==-1&&(e.timeoutHandle=-1,Gy(s)),Ze!==null)for(s=Ze.return;s!==null;){var a=s;switch(ld(a),a.tag){case 1:a=a.type.childContextTypes,a!=null&&Ji();break;case 3:Aa(),Me(Tt),Me(ft),_d();break;case 5:fd(a);break;case 4:Aa();break;case 13:Me(Ue);break;case 19:Me(Ue);break;case 10:ud(a.type._context);break;case 22:case 23:kd()}s=s.return}if(it=e,Ze=e=ps(e.current,null),ot=Lt=t,st=0,Ar=null,Sd=Cl=Ws=0,Ct=gr=null,Ts!==null){for(t=0;t<Ts.length;t++)if(s=Ts[t],a=s.interleaved,a!==null){s.interleaved=null;var r=a.next,i=s.pending;if(i!==null){var l=i.next;i.next=r,a.next=l}s.pending=a}Ts=null}return e}function Nf(e,t){do{var s=Ze;try{if(dd(),Bi.current=rl,al){for(var a=Ve.memoizedState;a!==null;){var r=a.queue;r!==null&&(r.pending=null),a=a.next}al=!1}if(qs=0,rt=et=Ve=null,fr=!1,Er=0,bd.current=null,s===null||s.return===null){st=1,Ar=t,Ze=null;break}e:{var i=e,l=s.return,o=s,c=t;if(t=ot,o.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var u=c,m=o,p=m.tag;if(!(m.mode&1)&&(p===0||p===11||p===15)){var h=m.alternate;h?(m.updateQueue=h.updateQueue,m.memoizedState=h.memoizedState,m.lanes=h.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Wu(l);if(y!==null){y.flags&=-257,Ku(y,l,o,i,t),y.mode&1&&qu(i,u,t),t=y,c=u;var g=t.updateQueue;if(g===null){var j=new Set;j.add(c),t.updateQueue=j}else g.add(c);break e}else{if(!(t&1)){qu(i,u,t),Td();break e}c=Error(U(426))}}else if(Oe&&o.mode&1){var v=Wu(l);if(v!==null){!(v.flags&65536)&&(v.flags|=256),Ku(v,l,o,i,t),od($a(c,o));break e}}i=c=$a(c,o),st!==4&&(st=2),gr===null?gr=[i]:gr.push(i),i=l;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var _=af(i,c,t);Fu(i,_);break e;case 1:o=c;var f=i.type,x=i.stateNode;if(!(i.flags&128)&&(typeof f.getDerivedStateFromError=="function"||x!==null&&typeof x.componentDidCatch=="function"&&(us===null||!us.has(x)))){i.flags|=65536,t&=-t,i.lanes|=t;var b=rf(i,o,t);Fu(i,b);break e}}i=i.return}while(i!==null)}wf(s)}catch(T){t=T,Ze===s&&s!==null&&(Ze=s=s.return);continue}break}while(!0)}function bf(){var e=il.current;return il.current=rl,e===null?rl:e}function Td(){(st===0||st===3||st===2)&&(st=4),it===null||!(Ws&268435455)&&!(Cl&268435455)||qn(it,ot)}function cl(e,t){var s=Re;Re|=2;var a=bf();(it!==e||ot!==t)&&(xn=null,Os(e,t));do try{xx();break}catch(r){Nf(e,r)}while(!0);if(dd(),Re=s,il.current=a,Ze!==null)throw Error(U(261));return it=null,ot=0,st}function xx(){for(;Ze!==null;)Sf(Ze)}function vx(){for(;Ze!==null&&!qg();)Sf(Ze)}function Sf(e){var t=kf(e.alternate,e,Lt);e.memoizedProps=e.pendingProps,t===null?wf(e):Ze=t,bd.current=null}function wf(e){var t=e;do{var s=t.alternate;if(e=t.return,t.flags&32768){if(s=px(s,t),s!==null){s.flags&=32767,Ze=s;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{st=6,Ze=null;return}}else if(s=hx(s,t,Lt),s!==null){Ze=s;return}if(t=t.sibling,t!==null){Ze=t;return}Ze=t=e}while(t!==null);st===0&&(st=5)}function Cs(e,t,s){var a=Ae,r=Kt.transition;try{Kt.transition=null,Ae=1,jx(e,t,s,a)}finally{Kt.transition=r,Ae=a}return null}function jx(e,t,s,a){do ya();while(ss!==null);if(Re&6)throw Error(U(327));s=e.finishedWork;var r=e.finishedLanes;if(s===null)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(U(177));e.callbackNode=null,e.callbackPriority=0;var i=s.lanes|s.childLanes;if(ty(e,i),e===it&&(Ze=it=null,ot=0),!(s.subtreeFlags&2064)&&!(s.flags&2064)||_i||(_i=!0,Tf(Vi,function(){return ya(),null})),i=(s.flags&15990)!==0,s.subtreeFlags&15990||i){i=Kt.transition,Kt.transition=null;var l=Ae;Ae=1;var o=Re;Re|=4,bd.current=null,fx(e,s),xf(s,e),Hy(Qo),Wi=!!Go,Qo=Go=null,e.current=s,_x(s),Wg(),Re=o,Ae=l,Kt.transition=i}else e.current=s;if(_i&&(_i=!1,ss=e,ol=r),i=e.pendingLanes,i===0&&(us=null),Qg(s.stateNode),It(e,Je()),t!==null)for(a=e.onRecoverableError,s=0;s<t.length;s++)r=t[s],a(r.value,{componentStack:r.stack,digest:r.digest});if(ll)throw ll=!1,e=fc,fc=null,e;return ol&1&&e.tag!==0&&ya(),i=e.pendingLanes,i&1?e===_c?yr++:(yr=0,_c=e):yr=0,vs(),null}function ya(){if(ss!==null){var e=am(ol),t=Kt.transition,s=Ae;try{if(Kt.transition=null,Ae=16>e?16:e,ss===null)var a=!1;else{if(e=ss,ss=null,ol=0,Re&6)throw Error(U(331));var r=Re;for(Re|=4,se=e.current;se!==null;){var i=se,l=i.child;if(se.flags&16){var o=i.deletions;if(o!==null){for(var c=0;c<o.length;c++){var u=o[c];for(se=u;se!==null;){var m=se;switch(m.tag){case 0:case 11:case 15:_r(8,m,i)}var p=m.child;if(p!==null)p.return=m,se=p;else for(;se!==null;){m=se;var h=m.sibling,y=m.return;if(_f(m),m===u){se=null;break}if(h!==null){h.return=y,se=h;break}se=y}}}var g=i.alternate;if(g!==null){var j=g.child;if(j!==null){g.child=null;do{var v=j.sibling;j.sibling=null,j=v}while(j!==null)}}se=i}}if(i.subtreeFlags&2064&&l!==null)l.return=i,se=l;else e:for(;se!==null;){if(i=se,i.flags&2048)switch(i.tag){case 0:case 11:case 15:_r(9,i,i.return)}var _=i.sibling;if(_!==null){_.return=i.return,se=_;break e}se=i.return}}var f=e.current;for(se=f;se!==null;){l=se;var x=l.child;if(l.subtreeFlags&2064&&x!==null)x.return=l,se=x;else e:for(l=f;se!==null;){if(o=se,o.flags&2048)try{switch(o.tag){case 0:case 11:case 15:wl(9,o)}}catch(T){Qe(o,o.return,T)}if(o===l){se=null;break e}var b=o.sibling;if(b!==null){b.return=o.return,se=b;break e}se=o.return}}if(Re=r,vs(),mn&&typeof mn.onPostCommitFiberRoot=="function")try{mn.onPostCommitFiberRoot(gl,e)}catch{}a=!0}return a}finally{Ae=s,Kt.transition=t}}return!1}function ih(e,t,s){t=$a(s,t),t=af(e,t,1),e=ds(e,t,1),t=jt(),e!==null&&(Qr(e,1,t),It(e,t))}function Qe(e,t,s){if(e.tag===3)ih(e,e,s);else for(;t!==null;){if(t.tag===3){ih(t,e,s);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(us===null||!us.has(a))){e=$a(s,e),e=rf(t,e,1),t=ds(t,e,1),e=jt(),t!==null&&(Qr(t,1,e),It(t,e));break}}t=t.return}}function Nx(e,t,s){var a=e.pingCache;a!==null&&a.delete(t),t=jt(),e.pingedLanes|=e.suspendedLanes&s,it===e&&(ot&s)===s&&(st===4||st===3&&(ot&130023424)===ot&&500>Je()-wd?Os(e,0):Sd|=s),It(e,t)}function Cf(e,t){t===0&&(e.mode&1?(t=ii,ii<<=1,!(ii&130023424)&&(ii=4194304)):t=1);var s=jt();e=Bn(e,t),e!==null&&(Qr(e,t,s),It(e,s))}function bx(e){var t=e.memoizedState,s=0;t!==null&&(s=t.retryLane),Cf(e,s)}function Sx(e,t){var s=0;switch(e.tag){case 13:var a=e.stateNode,r=e.memoizedState;r!==null&&(s=r.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(U(314))}a!==null&&a.delete(t),Cf(e,s)}var kf;kf=function(e,t,s){if(e!==null)if(e.memoizedProps!==t.pendingProps||Tt.current)kt=!0;else{if(!(e.lanes&s)&&!(t.flags&128))return kt=!1,ux(e,t,s);kt=!!(e.flags&131072)}else kt=!1,Oe&&t.flags&1048576&&Im(t,Zi,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Li(e,t),e=t.pendingProps;var r=Ea(t,ft.current);ga(t,s),r=yd(null,t,a,e,r,s);var i=xd();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Rt(a)?(i=!0,Yi(t)):i=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,pd(t),r.updater=Sl,t.stateNode=r,r._reactInternals=t,ac(t,a,e,s),t=lc(null,t,a,!0,i,s)):(t.tag=0,Oe&&i&&id(t),xt(null,t,r,s),t=t.child),t;case 16:a=t.elementType;e:{switch(Li(e,t),e=t.pendingProps,r=a._init,a=r(a._payload),t.type=a,r=t.tag=Cx(a),e=Xt(a,e),r){case 0:t=ic(null,t,a,e,s);break e;case 1:t=Ju(null,t,a,e,s);break e;case 11:t=Gu(null,t,a,e,s);break e;case 14:t=Qu(null,t,a,Xt(a.type,e),s);break e}throw Error(U(306,a,""))}return t;case 0:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:Xt(a,r),ic(e,t,a,r,s);case 1:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:Xt(a,r),Ju(e,t,a,r,s);case 3:e:{if(df(t),e===null)throw Error(U(387));a=t.pendingProps,i=t.memoizedState,r=i.element,$m(e,t),nl(t,a,null,s);var l=t.memoizedState;if(a=l.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){r=$a(Error(U(423)),t),t=Yu(e,t,a,s,r);break e}else if(a!==r){r=$a(Error(U(424)),t),t=Yu(e,t,a,s,r);break e}else for($t=cs(t.stateNode.containerInfo.firstChild),Dt=t,Oe=!0,tn=null,s=Pm(t,null,a,s),t.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(La(),a===r){t=En(e,t,s);break e}xt(e,t,a,s)}t=t.child}return t;case 5:return Dm(t),e===null&&tc(t),a=t.type,r=t.pendingProps,i=e!==null?e.memoizedProps:null,l=r.children,Jo(a,r)?l=null:i!==null&&Jo(a,i)&&(t.flags|=32),cf(e,t),xt(e,t,l,s),t.child;case 6:return e===null&&tc(t),null;case 13:return uf(e,t,s);case 4:return md(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Pa(t,null,a,s):xt(e,t,a,s),t.child;case 11:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:Xt(a,r),Gu(e,t,a,r,s);case 7:return xt(e,t,t.pendingProps,s),t.child;case 8:return xt(e,t,t.pendingProps.children,s),t.child;case 12:return xt(e,t,t.pendingProps.children,s),t.child;case 10:e:{if(a=t.type._context,r=t.pendingProps,i=t.memoizedProps,l=r.value,$e(el,a._currentValue),a._currentValue=l,i!==null)if(an(i.value,l)){if(i.children===r.children&&!Tt.current){t=En(e,t,s);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){l=i.child;for(var c=o.firstContext;c!==null;){if(c.context===a){if(i.tag===1){c=kn(-1,s&-s),c.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var m=u.pending;m===null?c.next=c:(c.next=m.next,m.next=c),u.pending=c}}i.lanes|=s,c=i.alternate,c!==null&&(c.lanes|=s),nc(i.return,s,t),o.lanes|=s;break}c=c.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(U(341));l.lanes|=s,o=l.alternate,o!==null&&(o.lanes|=s),nc(l,s,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}xt(e,t,r.children,s),t=t.child}return t;case 9:return r=t.type,a=t.pendingProps.children,ga(t,s),r=Gt(r),a=a(r),t.flags|=1,xt(e,t,a,s),t.child;case 14:return a=t.type,r=Xt(a,t.pendingProps),r=Xt(a.type,r),Qu(e,t,a,r,s);case 15:return lf(e,t,t.type,t.pendingProps,s);case 17:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:Xt(a,r),Li(e,t),t.tag=1,Rt(a)?(e=!0,Yi(t)):e=!1,ga(t,s),sf(t,a,r),ac(t,a,r,s),lc(null,t,a,!0,e,s);case 19:return hf(e,t,s);case 22:return of(e,t,s)}throw Error(U(156,t.tag))};function Tf(e,t){return em(e,t)}function wx(e,t,s,a){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Wt(e,t,s,a){return new wx(e,t,s,a)}function Rd(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Cx(e){if(typeof e=="function")return Rd(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Gc)return 11;if(e===Qc)return 14}return 2}function ps(e,t){var s=e.alternate;return s===null?(s=Wt(e.tag,t,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&14680064,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function $i(e,t,s,a,r,i){var l=2;if(a=e,typeof e=="function")Rd(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case ea:return Hs(s.children,r,i,t);case Kc:l=8,r|=8;break;case To:return e=Wt(12,s,t,r|2),e.elementType=To,e.lanes=i,e;case Ro:return e=Wt(13,s,t,r),e.elementType=Ro,e.lanes=i,e;case Io:return e=Wt(19,s,t,r),e.elementType=Io,e.lanes=i,e;case Dp:return kl(s,r,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ap:l=10;break e;case $p:l=9;break e;case Gc:l=11;break e;case Qc:l=14;break e;case zn:l=16,a=null;break e}throw Error(U(130,e==null?e:typeof e,""))}return t=Wt(l,s,t,r),t.elementType=e,t.type=a,t.lanes=i,t}function Hs(e,t,s,a){return e=Wt(7,e,a,t),e.lanes=s,e}function kl(e,t,s,a){return e=Wt(22,e,a,t),e.elementType=Dp,e.lanes=s,e.stateNode={isHidden:!1},e}function po(e,t,s){return e=Wt(6,e,null,t),e.lanes=s,e}function mo(e,t,s){return t=Wt(4,e.children!==null?e.children:[],e.key,t),t.lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function kx(e,t,s,a,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Kl(0),this.expirationTimes=Kl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Kl(0),this.identifierPrefix=a,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Id(e,t,s,a,r,i,l,o,c){return e=new kx(e,t,s,o,c),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Wt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:a,isDehydrated:s,cache:null,transitions:null,pendingSuspenseBoundaries:null},pd(i),e}function Tx(e,t,s){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Zs,key:a==null?null:""+a,children:e,containerInfo:t,implementation:s}}function Rf(e){if(!e)return gs;e=e._reactInternals;e:{if(Ys(e)!==e||e.tag!==1)throw Error(U(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Rt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(U(171))}if(e.tag===1){var s=e.type;if(Rt(s))return Tm(e,s,t)}return t}function If(e,t,s,a,r,i,l,o,c){return e=Id(s,a,!0,e,r,i,l,o,c),e.context=Rf(null),s=e.current,a=jt(),r=hs(s),i=kn(a,r),i.callback=t??null,ds(s,i,r),e.current.lanes=r,Qr(e,r,a),It(e,a),e}function Tl(e,t,s,a){var r=t.current,i=jt(),l=hs(r);return s=Rf(s),t.context===null?t.context=s:t.pendingContext=s,t=kn(i,l),t.payload={element:e},a=a===void 0?null:a,a!==null&&(t.callback=a),e=ds(r,t,l),e!==null&&(sn(e,r,l,i),Ii(e,r,l)),l}function dl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function lh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<t?s:t}}function Bd(e,t){lh(e,t),(e=e.alternate)&&lh(e,t)}function Rx(){return null}var Bf=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ed(e){this._internalRoot=e}Rl.prototype.render=Ed.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(U(409));Tl(e,t,null,null)};Rl.prototype.unmount=Ed.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ks(function(){Tl(null,e,null,null)}),t[In]=null}};function Rl(e){this._internalRoot=e}Rl.prototype.unstable_scheduleHydration=function(e){if(e){var t=lm();e={blockedOn:null,target:e,priority:t};for(var s=0;s<Vn.length&&t!==0&&t<Vn[s].priority;s++);Vn.splice(s,0,e),s===0&&cm(e)}};function Ld(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Il(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function oh(){}function Ix(e,t,s,a,r){if(r){if(typeof a=="function"){var i=a;a=function(){var u=dl(l);i.call(u)}}var l=If(t,a,e,0,null,!1,!1,"",oh);return e._reactRootContainer=l,e[In]=l.current,kr(e.nodeType===8?e.parentNode:e),Ks(),l}for(;r=e.lastChild;)e.removeChild(r);if(typeof a=="function"){var o=a;a=function(){var u=dl(c);o.call(u)}}var c=Id(e,0,!1,null,null,!1,!1,"",oh);return e._reactRootContainer=c,e[In]=c.current,kr(e.nodeType===8?e.parentNode:e),Ks(function(){Tl(t,c,s,a)}),c}function Bl(e,t,s,a,r){var i=s._reactRootContainer;if(i){var l=i;if(typeof r=="function"){var o=r;r=function(){var c=dl(l);o.call(c)}}Tl(t,l,e,r)}else l=Ix(s,t,e,r,a);return dl(l)}rm=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var s=lr(t.pendingLanes);s!==0&&(Xc(t,s|1),It(t,Je()),!(Re&6)&&(Da=Je()+500,vs()))}break;case 13:Ks(function(){var a=Bn(e,1);if(a!==null){var r=jt();sn(a,e,1,r)}}),Bd(e,1)}};Zc=function(e){if(e.tag===13){var t=Bn(e,134217728);if(t!==null){var s=jt();sn(t,e,134217728,s)}Bd(e,134217728)}};im=function(e){if(e.tag===13){var t=hs(e),s=Bn(e,t);if(s!==null){var a=jt();sn(s,e,t,a)}Bd(e,t)}};lm=function(){return Ae};om=function(e,t){var s=Ae;try{return Ae=e,t()}finally{Ae=s}};Oo=function(e,t,s){switch(t){case"input":if(Lo(e,s),t=s.name,s.type==="radio"&&t!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<s.length;t++){var a=s[t];if(a!==e&&a.form===e.form){var r=jl(a);if(!r)throw Error(U(90));Fp(a),Lo(a,r)}}}break;case"textarea":Hp(e,s);break;case"select":t=s.value,t!=null&&pa(e,!!s.multiple,t,!1)}};Gp=Cd;Qp=Ks;var Bx={usingClientEntryPoint:!1,Events:[Yr,aa,jl,Wp,Kp,Cd]},tr={findFiberByHostInstance:ks,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Ex={bundleType:tr.bundleType,version:tr.version,rendererPackageName:tr.rendererPackageName,rendererConfig:tr.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ln.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Xp(e),e===null?null:e.stateNode},findFiberByHostInstance:tr.findFiberByHostInstance||Rx,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 gi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!gi.isDisabled&&gi.supportsFiber)try{gl=gi.inject(Ex),mn=gi}catch{}}Ft.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Bx;Ft.createPortal=function(e,t){var s=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ld(t))throw Error(U(200));return Tx(e,t,null,s)};Ft.createRoot=function(e,t){if(!Ld(e))throw Error(U(299));var s=!1,a="",r=Bf;return t!=null&&(t.unstable_strictMode===!0&&(s=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=Id(e,1,!1,null,null,s,!1,a,r),e[In]=t.current,kr(e.nodeType===8?e.parentNode:e),new Ed(t)};Ft.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(U(188)):(e=Object.keys(e).join(","),Error(U(268,e)));return e=Xp(t),e=e===null?null:e.stateNode,e};Ft.flushSync=function(e){return Ks(e)};Ft.hydrate=function(e,t,s){if(!Il(t))throw Error(U(200));return Bl(null,e,t,!0,s)};Ft.hydrateRoot=function(e,t,s){if(!Ld(e))throw Error(U(405));var a=s!=null&&s.hydratedSources||null,r=!1,i="",l=Bf;if(s!=null&&(s.unstable_strictMode===!0&&(r=!0),s.identifierPrefix!==void 0&&(i=s.identifierPrefix),s.onRecoverableError!==void 0&&(l=s.onRecoverableError)),t=If(t,null,e,1,s??null,r,!1,i,l),e[In]=t.current,kr(e),a)for(e=0;e<a.length;e++)s=a[e],r=s._getVersion,r=r(s._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[s,r]:t.mutableSourceEagerHydrationData.push(s,r);return new Rl(t)};Ft.render=function(e,t,s){if(!Il(t))throw Error(U(200));return Bl(null,e,t,!1,s)};Ft.unmountComponentAtNode=function(e){if(!Il(e))throw Error(U(40));return e._reactRootContainer?(Ks(function(){Bl(null,null,e,!1,function(){e._reactRootContainer=null,e[In]=null})}),!0):!1};Ft.unstable_batchedUpdates=Cd;Ft.unstable_renderSubtreeIntoContainer=function(e,t,s,a){if(!Il(s))throw Error(U(200));if(e==null||e._reactInternals===void 0)throw Error(U(38));return Bl(e,t,s,!1,a)};Ft.version="18.3.1-next-f1338f8080-20240426";function Ef(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Ef)}catch(e){console.error(e)}}Ef(),Bp.exports=Ft;var Lf=Bp.exports,Pf,ch=Lf;Pf=ch.createRoot,ch.hydrateRoot;/**
41
+ * @remix-run/router v1.23.2
42
+ *
43
+ * Copyright (c) Remix Software Inc.
44
+ *
45
+ * This source code is licensed under the MIT license found in the
46
+ * LICENSE.md file in the root directory of this source tree.
47
+ *
48
+ * @license MIT
49
+ */function $r(){return $r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},$r.apply(this,arguments)}var as;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(as||(as={}));const dh="popstate";function Lx(e){e===void 0&&(e={});function t(a,r){let{pathname:i,search:l,hash:o}=a.location;return xc("",{pathname:i,search:l,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function s(a,r){return typeof r=="string"?r:ul(r)}return Ax(t,s,null,e)}function qe(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Pd(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Px(){return Math.random().toString(36).substr(2,8)}function uh(e,t){return{usr:e.state,key:e.key,idx:t}}function xc(e,t,s,a){return s===void 0&&(s=null),$r({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Va(t):t,{state:s,key:t&&t.key||a||Px()})}function ul(e){let{pathname:t="/",search:s="",hash:a=""}=e;return s&&s!=="?"&&(t+=s.charAt(0)==="?"?s:"?"+s),a&&a!=="#"&&(t+=a.charAt(0)==="#"?a:"#"+a),t}function Va(e){let t={};if(e){let s=e.indexOf("#");s>=0&&(t.hash=e.substr(s),e=e.substr(0,s));let a=e.indexOf("?");a>=0&&(t.search=e.substr(a),e=e.substr(0,a)),e&&(t.pathname=e)}return t}function Ax(e,t,s,a){a===void 0&&(a={});let{window:r=document.defaultView,v5Compat:i=!1}=a,l=r.history,o=as.Pop,c=null,u=m();u==null&&(u=0,l.replaceState($r({},l.state,{idx:u}),""));function m(){return(l.state||{idx:null}).idx}function p(){o=as.Pop;let v=m(),_=v==null?null:v-u;u=v,c&&c({action:o,location:j.location,delta:_})}function h(v,_){o=as.Push;let f=xc(j.location,v,_);u=m()+1;let x=uh(f,u),b=j.createHref(f);try{l.pushState(x,"",b)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;r.location.assign(b)}i&&c&&c({action:o,location:j.location,delta:1})}function y(v,_){o=as.Replace;let f=xc(j.location,v,_);u=m();let x=uh(f,u),b=j.createHref(f);l.replaceState(x,"",b),i&&c&&c({action:o,location:j.location,delta:0})}function g(v){let _=r.location.origin!=="null"?r.location.origin:r.location.href,f=typeof v=="string"?v:ul(v);return f=f.replace(/ $/,"%20"),qe(_,"No window.location.(origin|href) available to create URL for href: "+f),new URL(f,_)}let j={get action(){return o},get location(){return e(r,l)},listen(v){if(c)throw new Error("A history only accepts one active listener");return r.addEventListener(dh,p),c=v,()=>{r.removeEventListener(dh,p),c=null}},createHref(v){return t(r,v)},createURL:g,encodeLocation(v){let _=g(v);return{pathname:_.pathname,search:_.search,hash:_.hash}},push:h,replace:y,go(v){return l.go(v)}};return j}var hh;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(hh||(hh={}));function $x(e,t,s){return s===void 0&&(s="/"),Dx(e,t,s)}function Dx(e,t,s,a){let r=typeof t=="string"?Va(t):t,i=Ma(r.pathname||"/",s);if(i==null)return null;let l=Af(e);Mx(l);let o=null;for(let c=0;o==null&&c<l.length;++c){let u=Qx(i);o=Kx(l[c],u)}return o}function Af(e,t,s,a){t===void 0&&(t=[]),s===void 0&&(s=[]),a===void 0&&(a="");let r=(i,l,o)=>{let c={relativePath:o===void 0?i.path||"":o,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};c.relativePath.startsWith("/")&&(qe(c.relativePath.startsWith(a),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+a+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(a.length));let u=ms([a,c.relativePath]),m=s.concat(c);i.children&&i.children.length>0&&(qe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Af(i.children,t,m,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:qx(u,i.index),routesMeta:m})};return e.forEach((i,l)=>{var o;if(i.path===""||!((o=i.path)!=null&&o.includes("?")))r(i,l);else for(let c of $f(i.path))r(i,l,c)}),t}function $f(e){let t=e.split("/");if(t.length===0)return[];let[s,...a]=t,r=s.endsWith("?"),i=s.replace(/\?$/,"");if(a.length===0)return r?[i,""]:[i];let l=$f(a.join("/")),o=[];return o.push(...l.map(c=>c===""?i:[i,c].join("/"))),r&&o.push(...l),o.map(c=>e.startsWith("/")&&c===""?"/":c)}function Mx(e){e.sort((t,s)=>t.score!==s.score?s.score-t.score:Wx(t.routesMeta.map(a=>a.childrenIndex),s.routesMeta.map(a=>a.childrenIndex)))}const Fx=/^:[\w-]+$/,Ox=3,Hx=2,zx=1,Ux=10,Vx=-2,ph=e=>e==="*";function qx(e,t){let s=e.split("/"),a=s.length;return s.some(ph)&&(a+=Vx),t&&(a+=Hx),s.filter(r=>!ph(r)).reduce((r,i)=>r+(Fx.test(i)?Ox:i===""?zx:Ux),a)}function Wx(e,t){return e.length===t.length&&e.slice(0,-1).every((a,r)=>a===t[r])?e[e.length-1]-t[t.length-1]:0}function Kx(e,t,s){let{routesMeta:a}=e,r={},i="/",l=[];for(let o=0;o<a.length;++o){let c=a[o],u=o===a.length-1,m=i==="/"?t:t.slice(i.length)||"/",p=vc({path:c.relativePath,caseSensitive:c.caseSensitive,end:u},m),h=c.route;if(!p)return null;Object.assign(r,p.params),l.push({params:r,pathname:ms([i,p.pathname]),pathnameBase:ev(ms([i,p.pathnameBase])),route:h}),p.pathnameBase!=="/"&&(i=ms([i,p.pathnameBase]))}return l}function vc(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[s,a]=Gx(e.path,e.caseSensitive,e.end),r=t.match(s);if(!r)return null;let i=r[0],l=i.replace(/(.)\/+$/,"$1"),o=r.slice(1);return{params:a.reduce((u,m,p)=>{let{paramName:h,isOptional:y}=m;if(h==="*"){let j=o[p]||"";l=i.slice(0,i.length-j.length).replace(/(.)\/+$/,"$1")}const g=o[p];return y&&!g?u[h]=void 0:u[h]=(g||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:l,pattern:e}}function Gx(e,t,s){t===void 0&&(t=!1),s===void 0&&(s=!0),Pd(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let a=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,o,c)=>(a.push({paramName:o,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(a.push({paramName:"*"}),r+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?r+="\\/*$":e!==""&&e!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,t?void 0:"i"),a]}function Qx(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Pd(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Ma(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let s=t.endsWith("/")?t.length-1:t.length,a=e.charAt(s);return a&&a!=="/"?null:e.slice(s)||"/"}const Jx=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Yx=e=>Jx.test(e);function Xx(e,t){t===void 0&&(t="/");let{pathname:s,search:a="",hash:r=""}=typeof e=="string"?Va(e):e,i;if(s)if(Yx(s))i=s;else{if(s.includes("//")){let l=s;s=s.replace(/\/\/+/g,"/"),Pd(!1,"Pathnames cannot have embedded double slashes - normalizing "+(l+" -> "+s))}s.startsWith("/")?i=mh(s.substring(1),"/"):i=mh(s,t)}else i=t;return{pathname:i,search:tv(a),hash:nv(r)}}function mh(e,t){let s=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(r=>{r===".."?s.length>1&&s.pop():r!=="."&&s.push(r)}),s.length>1?s.join("/"):"/"}function fo(e,t,s,a){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(a)+"]. Please separate it out to the ")+("`to."+s+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function Zx(e){return e.filter((t,s)=>s===0||t.route.path&&t.route.path.length>0)}function Ad(e,t){let s=Zx(e);return t?s.map((a,r)=>r===s.length-1?a.pathname:a.pathnameBase):s.map(a=>a.pathnameBase)}function $d(e,t,s,a){a===void 0&&(a=!1);let r;typeof e=="string"?r=Va(e):(r=$r({},e),qe(!r.pathname||!r.pathname.includes("?"),fo("?","pathname","search",r)),qe(!r.pathname||!r.pathname.includes("#"),fo("#","pathname","hash",r)),qe(!r.search||!r.search.includes("#"),fo("#","search","hash",r)));let i=e===""||r.pathname==="",l=i?"/":r.pathname,o;if(l==null)o=s;else{let p=t.length-1;if(!a&&l.startsWith("..")){let h=l.split("/");for(;h[0]==="..";)h.shift(),p-=1;r.pathname=h.join("/")}o=p>=0?t[p]:"/"}let c=Xx(r,o),u=l&&l!=="/"&&l.endsWith("/"),m=(i||l===".")&&s.endsWith("/");return!c.pathname.endsWith("/")&&(u||m)&&(c.pathname+="/"),c}const ms=e=>e.join("/").replace(/\/\/+/g,"/"),ev=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),tv=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,nv=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function sv(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Df=["post","put","patch","delete"];new Set(Df);const av=["get",...Df];new Set(av);/**
50
+ * React Router v6.30.3
51
+ *
52
+ * Copyright (c) Remix Software Inc.
53
+ *
54
+ * This source code is licensed under the MIT license found in the
55
+ * LICENSE.md file in the root directory of this source tree.
56
+ *
57
+ * @license MIT
58
+ */function Dr(){return Dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},Dr.apply(this,arguments)}const El=d.createContext(null),Mf=d.createContext(null),Pn=d.createContext(null),Ll=d.createContext(null),_n=d.createContext({outlet:null,matches:[],isDataRoute:!1}),Ff=d.createContext(null);function rv(e,t){let{relative:s}=t===void 0?{}:t;qa()||qe(!1);let{basename:a,navigator:r}=d.useContext(Pn),{hash:i,pathname:l,search:o}=Pl(e,{relative:s}),c=l;return a!=="/"&&(c=l==="/"?a:ms([a,l])),r.createHref({pathname:c,search:o,hash:i})}function qa(){return d.useContext(Ll)!=null}function An(){return qa()||qe(!1),d.useContext(Ll).location}function Of(e){d.useContext(Pn).static||d.useLayoutEffect(e)}function _t(){let{isDataRoute:e}=d.useContext(_n);return e?vv():iv()}function iv(){qa()||qe(!1);let e=d.useContext(El),{basename:t,future:s,navigator:a}=d.useContext(Pn),{matches:r}=d.useContext(_n),{pathname:i}=An(),l=JSON.stringify(Ad(r,s.v7_relativeSplatPath)),o=d.useRef(!1);return Of(()=>{o.current=!0}),d.useCallback(function(u,m){if(m===void 0&&(m={}),!o.current)return;if(typeof u=="number"){a.go(u);return}let p=$d(u,JSON.parse(l),i,m.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:ms([t,p.pathname])),(m.replace?a.replace:a.push)(p,m.state,m)},[t,a,l,i,e])}const lv=d.createContext(null);function ov(e){let t=d.useContext(_n).outlet;return t&&d.createElement(lv.Provider,{value:e},t)}function Dd(){let{matches:e}=d.useContext(_n),t=e[e.length-1];return t?t.params:{}}function Pl(e,t){let{relative:s}=t===void 0?{}:t,{future:a}=d.useContext(Pn),{matches:r}=d.useContext(_n),{pathname:i}=An(),l=JSON.stringify(Ad(r,a.v7_relativeSplatPath));return d.useMemo(()=>$d(e,JSON.parse(l),i,s==="path"),[e,l,i,s])}function cv(e,t){return dv(e,t)}function dv(e,t,s,a){qa()||qe(!1);let{navigator:r}=d.useContext(Pn),{matches:i}=d.useContext(_n),l=i[i.length-1],o=l?l.params:{};l&&l.pathname;let c=l?l.pathnameBase:"/";l&&l.route;let u=An(),m;if(t){var p;let v=typeof t=="string"?Va(t):t;c==="/"||(p=v.pathname)!=null&&p.startsWith(c)||qe(!1),m=v}else m=u;let h=m.pathname||"/",y=h;if(c!=="/"){let v=c.replace(/^\//,"").split("/");y="/"+h.replace(/^\//,"").split("/").slice(v.length).join("/")}let g=$x(e,{pathname:y}),j=fv(g&&g.map(v=>Object.assign({},v,{params:Object.assign({},o,v.params),pathname:ms([c,r.encodeLocation?r.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?c:ms([c,r.encodeLocation?r.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,s,a);return t&&j?d.createElement(Ll.Provider,{value:{location:Dr({pathname:"/",search:"",hash:"",state:null,key:"default"},m),navigationType:as.Pop}},j):j}function uv(){let e=xv(),t=sv(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),s=e instanceof Error?e.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return d.createElement(d.Fragment,null,d.createElement("h2",null,"Unexpected Application Error!"),d.createElement("h3",{style:{fontStyle:"italic"}},t),s?d.createElement("pre",{style:r},s):null,null)}const hv=d.createElement(uv,null);class pv extends d.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,s){return s.location!==t.location||s.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:s.error,location:s.location,revalidation:t.revalidation||s.revalidation}}componentDidCatch(t,s){console.error("React Router caught the following error during render",t,s)}render(){return this.state.error!==void 0?d.createElement(_n.Provider,{value:this.props.routeContext},d.createElement(Ff.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mv(e){let{routeContext:t,match:s,children:a}=e,r=d.useContext(El);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),d.createElement(_n.Provider,{value:t},a)}function fv(e,t,s,a){var r;if(t===void 0&&(t=[]),s===void 0&&(s=null),a===void 0&&(a=null),e==null){var i;if(!s)return null;if(s.errors)e=s.matches;else if((i=a)!=null&&i.v7_partialHydration&&t.length===0&&!s.initialized&&s.matches.length>0)e=s.matches;else return null}let l=e,o=(r=s)==null?void 0:r.errors;if(o!=null){let m=l.findIndex(p=>p.route.id&&(o==null?void 0:o[p.route.id])!==void 0);m>=0||qe(!1),l=l.slice(0,Math.min(l.length,m+1))}let c=!1,u=-1;if(s&&a&&a.v7_partialHydration)for(let m=0;m<l.length;m++){let p=l[m];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(u=m),p.route.id){let{loaderData:h,errors:y}=s,g=p.route.loader&&h[p.route.id]===void 0&&(!y||y[p.route.id]===void 0);if(p.route.lazy||g){c=!0,u>=0?l=l.slice(0,u+1):l=[l[0]];break}}}return l.reduceRight((m,p,h)=>{let y,g=!1,j=null,v=null;s&&(y=o&&p.route.id?o[p.route.id]:void 0,j=p.route.errorElement||hv,c&&(u<0&&h===0?(jv("route-fallback"),g=!0,v=null):u===h&&(g=!0,v=p.route.hydrateFallbackElement||null)));let _=t.concat(l.slice(0,h+1)),f=()=>{let x;return y?x=j:g?x=v:p.route.Component?x=d.createElement(p.route.Component,null):p.route.element?x=p.route.element:x=m,d.createElement(mv,{match:p,routeContext:{outlet:m,matches:_,isDataRoute:s!=null},children:x})};return s&&(p.route.ErrorBoundary||p.route.errorElement||h===0)?d.createElement(pv,{location:s.location,revalidation:s.revalidation,component:j,error:y,children:f(),routeContext:{outlet:null,matches:_,isDataRoute:!0}}):f()},null)}var Hf=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Hf||{}),zf=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(zf||{});function _v(e){let t=d.useContext(El);return t||qe(!1),t}function gv(e){let t=d.useContext(Mf);return t||qe(!1),t}function yv(e){let t=d.useContext(_n);return t||qe(!1),t}function Uf(e){let t=yv(),s=t.matches[t.matches.length-1];return s.route.id||qe(!1),s.route.id}function xv(){var e;let t=d.useContext(Ff),s=gv(),a=Uf();return t!==void 0?t:(e=s.errors)==null?void 0:e[a]}function vv(){let{router:e}=_v(Hf.UseNavigateStable),t=Uf(zf.UseNavigateStable),s=d.useRef(!1);return Of(()=>{s.current=!0}),d.useCallback(function(r,i){i===void 0&&(i={}),s.current&&(typeof r=="number"?e.navigate(r):e.navigate(r,Dr({fromRouteId:t},i)))},[e,t])}const fh={};function jv(e,t,s){fh[e]||(fh[e]=!0)}function Nv(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function bv(e){let{to:t,replace:s,state:a,relative:r}=e;qa()||qe(!1);let{future:i,static:l}=d.useContext(Pn),{matches:o}=d.useContext(_n),{pathname:c}=An(),u=_t(),m=$d(t,Ad(o,i.v7_relativeSplatPath),c,r==="path"),p=JSON.stringify(m);return d.useEffect(()=>u(JSON.parse(p),{replace:s,state:a,relative:r}),[u,p,r,s,a]),null}function Sv(e){return ov(e.context)}function Xe(e){qe(!1)}function wv(e){let{basename:t="/",children:s=null,location:a,navigationType:r=as.Pop,navigator:i,static:l=!1,future:o}=e;qa()&&qe(!1);let c=t.replace(/^\/*/,"/"),u=d.useMemo(()=>({basename:c,navigator:i,static:l,future:Dr({v7_relativeSplatPath:!1},o)}),[c,o,i,l]);typeof a=="string"&&(a=Va(a));let{pathname:m="/",search:p="",hash:h="",state:y=null,key:g="default"}=a,j=d.useMemo(()=>{let v=Ma(m,c);return v==null?null:{location:{pathname:v,search:p,hash:h,state:y,key:g},navigationType:r}},[c,m,p,h,y,g,r]);return j==null?null:d.createElement(Pn.Provider,{value:u},d.createElement(Ll.Provider,{children:s,value:j}))}function Cv(e){let{children:t,location:s}=e;return cv(jc(t),s)}new Promise(()=>{});function jc(e,t){t===void 0&&(t=[]);let s=[];return d.Children.forEach(e,(a,r)=>{if(!d.isValidElement(a))return;let i=[...t,r];if(a.type===d.Fragment){s.push.apply(s,jc(a.props.children,i));return}a.type!==Xe&&qe(!1),!a.props.index||!a.props.children||qe(!1);let l={id:a.props.id||i.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,loader:a.props.loader,action:a.props.action,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(l.children=jc(a.props.children,i)),s.push(l)}),s}/**
59
+ * React Router DOM v6.30.3
60
+ *
61
+ * Copyright (c) Remix Software Inc.
62
+ *
63
+ * This source code is licensed under the MIT license found in the
64
+ * LICENSE.md file in the root directory of this source tree.
65
+ *
66
+ * @license MIT
67
+ */function hl(){return hl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},hl.apply(this,arguments)}function Vf(e,t){if(e==null)return{};var s={},a=Object.keys(e),r,i;for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&(s[r]=e[r]);return s}function kv(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Tv(e,t){return e.button===0&&(!t||t==="_self")&&!kv(e)}function Nc(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,s)=>{let a=e[s];return t.concat(Array.isArray(a)?a.map(r=>[s,r]):[[s,a]])},[]))}function Rv(e,t){let s=Nc(e);return t&&t.forEach((a,r)=>{s.has(r)||t.getAll(r).forEach(i=>{s.append(r,i)})}),s}const Iv=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Bv=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Ev="6";try{window.__reactRouterVersion=Ev}catch{}const Lv=d.createContext({isTransitioning:!1}),Pv="startTransition",_h=Ng[Pv];function Av(e){let{basename:t,children:s,future:a,window:r}=e,i=d.useRef();i.current==null&&(i.current=Lx({window:r,v5Compat:!0}));let l=i.current,[o,c]=d.useState({action:l.action,location:l.location}),{v7_startTransition:u}=a||{},m=d.useCallback(p=>{u&&_h?_h(()=>c(p)):c(p)},[c,u]);return d.useLayoutEffect(()=>l.listen(m),[l,m]),d.useEffect(()=>Nv(a),[a]),d.createElement(wv,{basename:t,children:s,location:o.location,navigationType:o.action,navigator:l,future:a})}const $v=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Dv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Se=d.forwardRef(function(t,s){let{onClick:a,relative:r,reloadDocument:i,replace:l,state:o,target:c,to:u,preventScrollReset:m,viewTransition:p}=t,h=Vf(t,Iv),{basename:y}=d.useContext(Pn),g,j=!1;if(typeof u=="string"&&Dv.test(u)&&(g=u,$v))try{let x=new URL(window.location.href),b=u.startsWith("//")?new URL(x.protocol+u):new URL(u),T=Ma(b.pathname,y);b.origin===x.origin&&T!=null?u=T+b.search+b.hash:j=!0}catch{}let v=rv(u,{relative:r}),_=Ov(u,{replace:l,state:o,target:c,preventScrollReset:m,relative:r,viewTransition:p});function f(x){a&&a(x),x.defaultPrevented||_(x)}return d.createElement("a",hl({},h,{href:g||v,onClick:j||i?a:f,ref:s,target:c}))}),Mv=d.forwardRef(function(t,s){let{"aria-current":a="page",caseSensitive:r=!1,className:i="",end:l=!1,style:o,to:c,viewTransition:u,children:m}=t,p=Vf(t,Bv),h=Pl(c,{relative:p.relative}),y=An(),g=d.useContext(Mf),{navigator:j,basename:v}=d.useContext(Pn),_=g!=null&&Hv(h)&&u===!0,f=j.encodeLocation?j.encodeLocation(h).pathname:h.pathname,x=y.pathname,b=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(x=x.toLowerCase(),b=b?b.toLowerCase():null,f=f.toLowerCase()),b&&v&&(b=Ma(b,v)||b);const T=f!=="/"&&f.endsWith("/")?f.length-1:f.length;let R=x===f||!l&&x.startsWith(f)&&x.charAt(T)==="/",L=b!=null&&(b===f||!l&&b.startsWith(f)&&b.charAt(f.length)==="/"),N={isActive:R,isPending:L,isTransitioning:_},k=R?a:void 0,B;typeof i=="function"?B=i(N):B=[i,R?"active":null,L?"pending":null,_?"transitioning":null].filter(Boolean).join(" ");let M=typeof o=="function"?o(N):o;return d.createElement(Se,hl({},p,{"aria-current":k,className:B,ref:s,style:M,to:c,viewTransition:u}),typeof m=="function"?m(N):m)});var bc;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(bc||(bc={}));var gh;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(gh||(gh={}));function Fv(e){let t=d.useContext(El);return t||qe(!1),t}function Ov(e,t){let{target:s,replace:a,state:r,preventScrollReset:i,relative:l,viewTransition:o}=t===void 0?{}:t,c=_t(),u=An(),m=Pl(e,{relative:l});return d.useCallback(p=>{if(Tv(p,s)){p.preventDefault();let h=a!==void 0?a:ul(u)===ul(m);c(e,{replace:h,state:r,preventScrollReset:i,relative:l,viewTransition:o})}},[u,c,m,a,r,s,e,i,l,o])}function Md(e){let t=d.useRef(Nc(e)),s=d.useRef(!1),a=An(),r=d.useMemo(()=>Rv(a.search,s.current?null:t.current),[a.search]),i=_t(),l=d.useCallback((o,c)=>{const u=Nc(typeof o=="function"?o(r):o);s.current=!0,i("?"+u,c)},[i,r]);return[r,l]}function Hv(e,t){t===void 0&&(t={});let s=d.useContext(Lv);s==null&&qe(!1);let{basename:a}=Fv(bc.useViewTransitionState),r=Pl(e,{relative:t.relative});if(!s.isTransitioning)return!1;let i=Ma(s.currentLocation.pathname,a)||s.currentLocation.pathname,l=Ma(s.nextLocation.pathname,a)||s.nextLocation.pathname;return vc(r.pathname,l)!=null||vc(r.pathname,i)!=null}var Wa=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Bs,Kn,xa,cp,zv=(cp=class extends Wa{constructor(){super();oe(this,Bs);oe(this,Kn);oe(this,xa);X(this,xa,t=>{if(typeof window<"u"&&window.addEventListener){const s=()=>t();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){C(this,Kn)||this.setEventListener(C(this,xa))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,Kn))==null||t.call(this),X(this,Kn,void 0))}setEventListener(t){var s;X(this,xa,t),(s=C(this,Kn))==null||s.call(this),X(this,Kn,t(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()}))}setFocused(t){C(this,Bs)!==t&&(X(this,Bs,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(s=>{s(t)})}isFocused(){var t;return typeof C(this,Bs)=="boolean"?C(this,Bs):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Bs=new WeakMap,Kn=new WeakMap,xa=new WeakMap,cp),Fd=new zv,Uv={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Gn,Fc,dp,Vv=(dp=class{constructor(){oe(this,Gn,Uv);oe(this,Fc,!1)}setTimeoutProvider(e){X(this,Gn,e)}setTimeout(e,t){return C(this,Gn).setTimeout(e,t)}clearTimeout(e){C(this,Gn).clearTimeout(e)}setInterval(e,t){return C(this,Gn).setInterval(e,t)}clearInterval(e){C(this,Gn).clearInterval(e)}},Gn=new WeakMap,Fc=new WeakMap,dp),Is=new Vv;function qv(e){setTimeout(e,0)}var Wv=typeof window>"u"||"Deno"in globalThis;function vt(){}function Kv(e,t){return typeof e=="function"?e(t):e}function Sc(e){return typeof e=="number"&&e>=0&&e!==1/0}function qf(e,t){return Math.max(e+(t||0)-Date.now(),0)}function fs(e,t){return typeof e=="function"?e(t):e}function Ut(e,t){return typeof e=="function"?e(t):e}function yh(e,t){const{type:s="all",exact:a,fetchStatus:r,predicate:i,queryKey:l,stale:o}=e;if(l){if(a){if(t.queryHash!==Od(l,t.options))return!1}else if(!Mr(t.queryKey,l))return!1}if(s!=="all"){const c=t.isActive();if(s==="active"&&!c||s==="inactive"&&c)return!1}return!(typeof o=="boolean"&&t.isStale()!==o||r&&r!==t.state.fetchStatus||i&&!i(t))}function xh(e,t){const{exact:s,status:a,predicate:r,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(s){if(Gs(t.options.mutationKey)!==Gs(i))return!1}else if(!Mr(t.options.mutationKey,i))return!1}return!(a&&t.state.status!==a||r&&!r(t))}function Od(e,t){return((t==null?void 0:t.queryKeyHashFn)||Gs)(e)}function Gs(e){return JSON.stringify(e,(t,s)=>wc(s)?Object.keys(s).sort().reduce((a,r)=>(a[r]=s[r],a),{}):s)}function Mr(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(s=>Mr(e[s],t[s])):!1}var Gv=Object.prototype.hasOwnProperty;function Wf(e,t,s=0){if(e===t)return e;if(s>500)return t;const a=vh(e)&&vh(t);if(!a&&!(wc(e)&&wc(t)))return t;const i=(a?e:Object.keys(e)).length,l=a?t:Object.keys(t),o=l.length,c=a?new Array(o):{};let u=0;for(let m=0;m<o;m++){const p=a?m:l[m],h=e[p],y=t[p];if(h===y){c[p]=h,(a?m<i:Gv.call(e,p))&&u++;continue}if(h===null||y===null||typeof h!="object"||typeof y!="object"){c[p]=y;continue}const g=Wf(h,y,s+1);c[p]=g,g===h&&u++}return i===o&&u===i?e:c}function pl(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(e[s]!==t[s])return!1;return!0}function vh(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function wc(e){if(!jh(e))return!1;const t=e.constructor;if(t===void 0)return!0;const s=t.prototype;return!(!jh(s)||!s.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function jh(e){return Object.prototype.toString.call(e)==="[object Object]"}function Qv(e){return new Promise(t=>{Is.setTimeout(t,e)})}function Cc(e,t,s){return typeof s.structuralSharing=="function"?s.structuralSharing(e,t):s.structuralSharing!==!1?Wf(e,t):t}function Jv(e,t,s=0){const a=[...e,t];return s&&a.length>s?a.slice(1):a}function Yv(e,t,s=0){const a=[t,...e];return s&&a.length>s?a.slice(0,-1):a}var Hd=Symbol();function Kf(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Hd?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function zd(e,t){return typeof e=="function"?e(...t):!!e}function Xv(e,t,s){let a=!1,r;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(r??(r=t()),a||(a=!0,r.aborted?s():r.addEventListener("abort",s,{once:!0})),r)}),e}var Fr=(()=>{let e=()=>Wv;return{isServer(){return e()},setIsServer(t){e=t}}})();function kc(){let e,t;const s=new Promise((r,i)=>{e=r,t=i});s.status="pending",s.catch(()=>{});function a(r){Object.assign(s,r),delete s.resolve,delete s.reject}return s.resolve=r=>{a({status:"fulfilled",value:r}),e(r)},s.reject=r=>{a({status:"rejected",reason:r}),t(r)},s}var Zv=qv;function ej(){let e=[],t=0,s=o=>{o()},a=o=>{o()},r=Zv;const i=o=>{t?e.push(o):r(()=>{s(o)})},l=()=>{const o=e;e=[],o.length&&r(()=>{a(()=>{o.forEach(c=>{s(c)})})})};return{batch:o=>{let c;t++;try{c=o()}finally{t--,t||l()}return c},batchCalls:o=>(...c)=>{i(()=>{o(...c)})},schedule:i,setNotifyFunction:o=>{s=o},setBatchNotifyFunction:o=>{a=o},setScheduler:o=>{r=o}}}var tt=ej(),va,Qn,ja,up,tj=(up=class extends Wa{constructor(){super();oe(this,va,!0);oe(this,Qn);oe(this,ja);X(this,ja,t=>{if(typeof window<"u"&&window.addEventListener){const s=()=>t(!0),a=()=>t(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",a)}}})}onSubscribe(){C(this,Qn)||this.setEventListener(C(this,ja))}onUnsubscribe(){var t;this.hasListeners()||((t=C(this,Qn))==null||t.call(this),X(this,Qn,void 0))}setEventListener(t){var s;X(this,ja,t),(s=C(this,Qn))==null||s.call(this),X(this,Qn,t(this.setOnline.bind(this)))}setOnline(t){C(this,va)!==t&&(X(this,va,t),this.listeners.forEach(a=>{a(t)}))}isOnline(){return C(this,va)}},va=new WeakMap,Qn=new WeakMap,ja=new WeakMap,up),ml=new tj;function nj(e){return Math.min(1e3*2**e,3e4)}function Gf(e){return(e??"online")==="online"?ml.isOnline():!0}var Tc=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function Qf(e){let t=!1,s=0,a;const r=kc(),i=()=>r.status!=="pending",l=j=>{var v;if(!i()){const _=new Tc(j);h(_),(v=e.onCancel)==null||v.call(e,_)}},o=()=>{t=!0},c=()=>{t=!1},u=()=>Fd.isFocused()&&(e.networkMode==="always"||ml.isOnline())&&e.canRun(),m=()=>Gf(e.networkMode)&&e.canRun(),p=j=>{i()||(a==null||a(),r.resolve(j))},h=j=>{i()||(a==null||a(),r.reject(j))},y=()=>new Promise(j=>{var v;a=_=>{(i()||u())&&j(_)},(v=e.onPause)==null||v.call(e)}).then(()=>{var j;a=void 0,i()||(j=e.onContinue)==null||j.call(e)}),g=()=>{if(i())return;let j;const v=s===0?e.initialPromise:void 0;try{j=v??e.fn()}catch(_){j=Promise.reject(_)}Promise.resolve(j).then(p).catch(_=>{var R;if(i())return;const f=e.retry??(Fr.isServer()?0:3),x=e.retryDelay??nj,b=typeof x=="function"?x(s,_):x,T=f===!0||typeof f=="number"&&s<f||typeof f=="function"&&f(s,_);if(t||!T){h(_);return}s++,(R=e.onFail)==null||R.call(e,s,_),Qv(b).then(()=>u()?void 0:y()).then(()=>{t?h(_):g()})})};return{promise:r,status:()=>r.status,cancel:l,continue:()=>(a==null||a(),r),cancelRetry:o,continueRetry:c,canStart:m,start:()=>(m()?g():y().then(g),r)}}var Es,hp,Jf=(hp=class{constructor(){oe(this,Es)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Sc(this.gcTime)&&X(this,Es,Is.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Fr.isServer()?1/0:5*60*1e3))}clearGcTimeout(){C(this,Es)&&(Is.clearTimeout(C(this,Es)),X(this,Es,void 0))}},Es=new WeakMap,hp),Ls,Na,zt,Ps,at,Ur,As,Pt,Yf,yn,pp,sj=(pp=class extends Jf{constructor(t){super();oe(this,Pt);oe(this,Ls);oe(this,Na);oe(this,zt);oe(this,Ps);oe(this,at);oe(this,Ur);oe(this,As);X(this,As,!1),X(this,Ur,t.defaultOptions),this.setOptions(t.options),this.observers=[],X(this,Ps,t.client),X(this,zt,C(this,Ps).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,X(this,Ls,bh(this.options)),this.state=t.state??C(this,Ls),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=C(this,at))==null?void 0:t.promise}setOptions(t){if(this.options={...C(this,Ur),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=bh(this.options);s.data!==void 0&&(this.setState(Nh(s.data,s.dataUpdatedAt)),X(this,Ls,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&C(this,zt).remove(this)}setData(t,s){const a=Cc(this.state.data,t,this.options);return je(this,Pt,yn).call(this,{data:a,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),a}setState(t,s){je(this,Pt,yn).call(this,{type:"setState",state:t,setStateOptions:s})}cancel(t){var a,r;const s=(a=C(this,at))==null?void 0:a.promise;return(r=C(this,at))==null||r.cancel(t),s?s.then(vt).catch(vt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return C(this,Ls)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Ut(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Hd||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>fs(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!qf(this.state.dataUpdatedAt,t)}onFocus(){var s;const t=this.observers.find(a=>a.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(s=C(this,at))==null||s.continue()}onOnline(){var s;const t=this.observers.find(a=>a.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(s=C(this,at))==null||s.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),C(this,zt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(s=>s!==t),this.observers.length||(C(this,at)&&(C(this,As)||je(this,Pt,Yf).call(this)?C(this,at).cancel({revert:!0}):C(this,at).cancelRetry()),this.scheduleGc()),C(this,zt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||je(this,Pt,yn).call(this,{type:"invalidate"})}async fetch(t,s){var c,u,m,p,h,y,g,j,v,_,f,x;if(this.state.fetchStatus!=="idle"&&((c=C(this,at))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(C(this,at))return C(this,at).continueRetry(),C(this,at).promise}if(t&&this.setOptions(t),!this.options.queryFn){const b=this.observers.find(T=>T.options.queryFn);b&&this.setOptions(b.options)}const a=new AbortController,r=b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:()=>(X(this,As,!0),a.signal)})},i=()=>{const b=Kf(this.options,s),R=(()=>{const L={client:C(this,Ps),queryKey:this.queryKey,meta:this.meta};return r(L),L})();return X(this,As,!1),this.options.persister?this.options.persister(b,R,this):b(R)},o=(()=>{const b={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:C(this,Ps),state:this.state,fetchFn:i};return r(b),b})();(u=this.options.behavior)==null||u.onFetch(o,this),X(this,Na,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=o.fetchOptions)==null?void 0:m.meta))&&je(this,Pt,yn).call(this,{type:"fetch",meta:(p=o.fetchOptions)==null?void 0:p.meta}),X(this,at,Qf({initialPromise:s==null?void 0:s.initialPromise,fn:o.fetchFn,onCancel:b=>{b instanceof Tc&&b.revert&&this.setState({...C(this,Na),fetchStatus:"idle"}),a.abort()},onFail:(b,T)=>{je(this,Pt,yn).call(this,{type:"failed",failureCount:b,error:T})},onPause:()=>{je(this,Pt,yn).call(this,{type:"pause"})},onContinue:()=>{je(this,Pt,yn).call(this,{type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}));try{const b=await C(this,at).start();if(b===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(b),(y=(h=C(this,zt).config).onSuccess)==null||y.call(h,b,this),(j=(g=C(this,zt).config).onSettled)==null||j.call(g,b,this.state.error,this),b}catch(b){if(b instanceof Tc){if(b.silent)return C(this,at).promise;if(b.revert){if(this.state.data===void 0)throw b;return this.state.data}}throw je(this,Pt,yn).call(this,{type:"error",error:b}),(_=(v=C(this,zt).config).onError)==null||_.call(v,b,this),(x=(f=C(this,zt).config).onSettled)==null||x.call(f,this.state.data,b,this),b}finally{this.scheduleGc()}}},Ls=new WeakMap,Na=new WeakMap,zt=new WeakMap,Ps=new WeakMap,at=new WeakMap,Ur=new WeakMap,As=new WeakMap,Pt=new WeakSet,Yf=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},yn=function(t){const s=a=>{switch(t.type){case"failed":return{...a,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,...Xf(a.data,this.options),fetchMeta:t.meta??null};case"success":const r={...a,...Nh(t.data,t.dataUpdatedAt),dataUpdateCount:a.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return X(this,Na,t.manual?r:void 0),r;case"error":const i=t.error;return{...a,error:i,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...t.state}}};this.state=s(this.state),tt.batch(()=>{this.observers.forEach(a=>{a.onQueryUpdate()}),C(this,zt).notify({query:this,type:"updated",action:t})})},pp);function Xf(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Gf(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Nh(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function bh(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,s=t!==void 0,a=s?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:s?a??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var St,Ce,Vr,yt,$s,ba,jn,Jn,qr,Sa,wa,Ds,Ms,Yn,Ca,Le,cr,Rc,Ic,Bc,Ec,Lc,Pc,Ac,Zf,mp,aj=(mp=class extends Wa{constructor(t,s){super();oe(this,Le);oe(this,St);oe(this,Ce);oe(this,Vr);oe(this,yt);oe(this,$s);oe(this,ba);oe(this,jn);oe(this,Jn);oe(this,qr);oe(this,Sa);oe(this,wa);oe(this,Ds);oe(this,Ms);oe(this,Yn);oe(this,Ca,new Set);this.options=s,X(this,St,t),X(this,Jn,null),X(this,jn,kc()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(C(this,Ce).addObserver(this),Sh(C(this,Ce),this.options)?je(this,Le,cr).call(this):this.updateResult(),je(this,Le,Ec).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return $c(C(this,Ce),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return $c(C(this,Ce),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,je(this,Le,Lc).call(this),je(this,Le,Pc).call(this),C(this,Ce).removeObserver(this)}setOptions(t){const s=this.options,a=C(this,Ce);if(this.options=C(this,St).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ut(this.options.enabled,C(this,Ce))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");je(this,Le,Ac).call(this),C(this,Ce).setOptions(this.options),s._defaulted&&!pl(this.options,s)&&C(this,St).getQueryCache().notify({type:"observerOptionsUpdated",query:C(this,Ce),observer:this});const r=this.hasListeners();r&&wh(C(this,Ce),a,this.options,s)&&je(this,Le,cr).call(this),this.updateResult(),r&&(C(this,Ce)!==a||Ut(this.options.enabled,C(this,Ce))!==Ut(s.enabled,C(this,Ce))||fs(this.options.staleTime,C(this,Ce))!==fs(s.staleTime,C(this,Ce)))&&je(this,Le,Rc).call(this);const i=je(this,Le,Ic).call(this);r&&(C(this,Ce)!==a||Ut(this.options.enabled,C(this,Ce))!==Ut(s.enabled,C(this,Ce))||i!==C(this,Yn))&&je(this,Le,Bc).call(this,i)}getOptimisticResult(t){const s=C(this,St).getQueryCache().build(C(this,St),t),a=this.createResult(s,t);return ij(this,a)&&(X(this,yt,a),X(this,ba,this.options),X(this,$s,C(this,Ce).state)),a}getCurrentResult(){return C(this,yt)}trackResult(t,s){return new Proxy(t,{get:(a,r)=>(this.trackProp(r),s==null||s(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&C(this,jn).status==="pending"&&C(this,jn).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(a,r))})}trackProp(t){C(this,Ca).add(t)}getCurrentQuery(){return C(this,Ce)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=C(this,St).defaultQueryOptions(t),a=C(this,St).getQueryCache().build(C(this,St),s);return a.fetch().then(()=>this.createResult(a,s))}fetch(t){return je(this,Le,cr).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),C(this,yt)))}createResult(t,s){var k;const a=C(this,Ce),r=this.options,i=C(this,yt),l=C(this,$s),o=C(this,ba),u=t!==a?t.state:C(this,Vr),{state:m}=t;let p={...m},h=!1,y;if(s._optimisticResults){const B=this.hasListeners(),M=!B&&Sh(t,s),te=B&&wh(t,a,s,r);(M||te)&&(p={...p,...Xf(m.data,t.options)}),s._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:g,errorUpdatedAt:j,status:v}=p;y=p.data;let _=!1;if(s.placeholderData!==void 0&&y===void 0&&v==="pending"){let B;i!=null&&i.isPlaceholderData&&s.placeholderData===(o==null?void 0:o.placeholderData)?(B=i.data,_=!0):B=typeof s.placeholderData=="function"?s.placeholderData((k=C(this,wa))==null?void 0:k.state.data,C(this,wa)):s.placeholderData,B!==void 0&&(v="success",y=Cc(i==null?void 0:i.data,B,s),h=!0)}if(s.select&&y!==void 0&&!_)if(i&&y===(l==null?void 0:l.data)&&s.select===C(this,qr))y=C(this,Sa);else try{X(this,qr,s.select),y=s.select(y),y=Cc(i==null?void 0:i.data,y,s),X(this,Sa,y),X(this,Jn,null)}catch(B){X(this,Jn,B)}C(this,Jn)&&(g=C(this,Jn),y=C(this,Sa),j=Date.now(),v="error");const f=p.fetchStatus==="fetching",x=v==="pending",b=v==="error",T=x&&f,R=y!==void 0,N={status:v,fetchStatus:p.fetchStatus,isPending:x,isSuccess:v==="success",isError:b,isInitialLoading:T,isLoading:T,data:y,dataUpdatedAt:p.dataUpdatedAt,error:g,errorUpdatedAt:j,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>u.dataUpdateCount||p.errorUpdateCount>u.errorUpdateCount,isFetching:f,isRefetching:f&&!x,isLoadingError:b&&!R,isPaused:p.fetchStatus==="paused",isPlaceholderData:h,isRefetchError:b&&R,isStale:Ud(t,s),refetch:this.refetch,promise:C(this,jn),isEnabled:Ut(s.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const B=N.data!==void 0,M=N.status==="error"&&!B,te=Z=>{M?Z.reject(N.error):B&&Z.resolve(N.data)},de=()=>{const Z=X(this,jn,N.promise=kc());te(Z)},J=C(this,jn);switch(J.status){case"pending":t.queryHash===a.queryHash&&te(J);break;case"fulfilled":(M||N.data!==J.value)&&de();break;case"rejected":(!M||N.error!==J.reason)&&de();break}}return N}updateResult(){const t=C(this,yt),s=this.createResult(C(this,Ce),this.options);if(X(this,$s,C(this,Ce).state),X(this,ba,this.options),C(this,$s).data!==void 0&&X(this,wa,C(this,Ce)),pl(s,t))return;X(this,yt,s);const a=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,i=typeof r=="function"?r():r;if(i==="all"||!i&&!C(this,Ca).size)return!0;const l=new Set(i??C(this,Ca));return this.options.throwOnError&&l.add("error"),Object.keys(C(this,yt)).some(o=>{const c=o;return C(this,yt)[c]!==t[c]&&l.has(c)})};je(this,Le,Zf).call(this,{listeners:a()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&je(this,Le,Ec).call(this)}},St=new WeakMap,Ce=new WeakMap,Vr=new WeakMap,yt=new WeakMap,$s=new WeakMap,ba=new WeakMap,jn=new WeakMap,Jn=new WeakMap,qr=new WeakMap,Sa=new WeakMap,wa=new WeakMap,Ds=new WeakMap,Ms=new WeakMap,Yn=new WeakMap,Ca=new WeakMap,Le=new WeakSet,cr=function(t){je(this,Le,Ac).call(this);let s=C(this,Ce).fetch(this.options,t);return t!=null&&t.throwOnError||(s=s.catch(vt)),s},Rc=function(){je(this,Le,Lc).call(this);const t=fs(this.options.staleTime,C(this,Ce));if(Fr.isServer()||C(this,yt).isStale||!Sc(t))return;const a=qf(C(this,yt).dataUpdatedAt,t)+1;X(this,Ds,Is.setTimeout(()=>{C(this,yt).isStale||this.updateResult()},a))},Ic=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(C(this,Ce)):this.options.refetchInterval)??!1},Bc=function(t){je(this,Le,Pc).call(this),X(this,Yn,t),!(Fr.isServer()||Ut(this.options.enabled,C(this,Ce))===!1||!Sc(C(this,Yn))||C(this,Yn)===0)&&X(this,Ms,Is.setInterval(()=>{(this.options.refetchIntervalInBackground||Fd.isFocused())&&je(this,Le,cr).call(this)},C(this,Yn)))},Ec=function(){je(this,Le,Rc).call(this),je(this,Le,Bc).call(this,je(this,Le,Ic).call(this))},Lc=function(){C(this,Ds)&&(Is.clearTimeout(C(this,Ds)),X(this,Ds,void 0))},Pc=function(){C(this,Ms)&&(Is.clearInterval(C(this,Ms)),X(this,Ms,void 0))},Ac=function(){const t=C(this,St).getQueryCache().build(C(this,St),this.options);if(t===C(this,Ce))return;const s=C(this,Ce);X(this,Ce,t),X(this,Vr,t.state),this.hasListeners()&&(s==null||s.removeObserver(this),t.addObserver(this))},Zf=function(t){tt.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(C(this,yt))}),C(this,St).getQueryCache().notify({query:C(this,Ce),type:"observerResultsUpdated"})})},mp);function rj(e,t){return Ut(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Sh(e,t){return rj(e,t)||e.state.data!==void 0&&$c(e,t,t.refetchOnMount)}function $c(e,t,s){if(Ut(t.enabled,e)!==!1&&fs(t.staleTime,e)!=="static"){const a=typeof s=="function"?s(e):s;return a==="always"||a!==!1&&Ud(e,t)}return!1}function wh(e,t,s,a){return(e!==t||Ut(a.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&Ud(e,s)}function Ud(e,t){return Ut(t.enabled,e)!==!1&&e.isStaleByTime(fs(t.staleTime,e))}function ij(e,t){return!pl(e.getCurrentResult(),t)}function Ch(e){return{onFetch:(t,s)=>{var m,p,h,y,g;const a=t.options,r=(h=(p=(m=t.fetchOptions)==null?void 0:m.meta)==null?void 0:p.fetchMore)==null?void 0:h.direction,i=((y=t.state.data)==null?void 0:y.pages)||[],l=((g=t.state.data)==null?void 0:g.pageParams)||[];let o={pages:[],pageParams:[]},c=0;const u=async()=>{let j=!1;const v=x=>{Xv(x,()=>t.signal,()=>j=!0)},_=Kf(t.options,t.fetchOptions),f=async(x,b,T)=>{if(j)return Promise.reject();if(b==null&&x.pages.length)return Promise.resolve(x);const L=(()=>{const M={client:t.client,queryKey:t.queryKey,pageParam:b,direction:T?"backward":"forward",meta:t.options.meta};return v(M),M})(),N=await _(L),{maxPages:k}=t.options,B=T?Yv:Jv;return{pages:B(x.pages,N,k),pageParams:B(x.pageParams,b,k)}};if(r&&i.length){const x=r==="backward",b=x?lj:kh,T={pages:i,pageParams:l},R=b(a,T);o=await f(T,R,x)}else{const x=e??i.length;do{const b=c===0?l[0]??a.initialPageParam:kh(a,o);if(c>0&&b==null)break;o=await f(o,b),c++}while(c<x)}return o};t.options.persister?t.fetchFn=()=>{var j,v;return(v=(j=t.options).persister)==null?void 0:v.call(j,u,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},s)}:t.fetchFn=u}}}function kh(e,{pages:t,pageParams:s}){const a=t.length-1;return t.length>0?e.getNextPageParam(t[a],t,s[a],s):void 0}function lj(e,{pages:t,pageParams:s}){var a;return t.length>0?(a=e.getPreviousPageParam)==null?void 0:a.call(e,t[0],t,s[0],s):void 0}var Wr,dn,pt,Fs,un,Hn,fp,oj=(fp=class extends Jf{constructor(t){super();oe(this,un);oe(this,Wr);oe(this,dn);oe(this,pt);oe(this,Fs);X(this,Wr,t.client),this.mutationId=t.mutationId,X(this,pt,t.mutationCache),X(this,dn,[]),this.state=t.state||e_(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){C(this,dn).includes(t)||(C(this,dn).push(t),this.clearGcTimeout(),C(this,pt).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){X(this,dn,C(this,dn).filter(s=>s!==t)),this.scheduleGc(),C(this,pt).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){C(this,dn).length||(this.state.status==="pending"?this.scheduleGc():C(this,pt).remove(this))}continue(){var t;return((t=C(this,Fs))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var l,o,c,u,m,p,h,y,g,j,v,_,f,x,b,T,R,L;const s=()=>{je(this,un,Hn).call(this,{type:"continue"})},a={client:C(this,Wr),meta:this.options.meta,mutationKey:this.options.mutationKey};X(this,Fs,Qf({fn:()=>this.options.mutationFn?this.options.mutationFn(t,a):Promise.reject(new Error("No mutationFn found")),onFail:(N,k)=>{je(this,un,Hn).call(this,{type:"failed",failureCount:N,error:k})},onPause:()=>{je(this,un,Hn).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>C(this,pt).canRun(this)}));const r=this.state.status==="pending",i=!C(this,Fs).canStart();try{if(r)s();else{je(this,un,Hn).call(this,{type:"pending",variables:t,isPaused:i}),C(this,pt).config.onMutate&&await C(this,pt).config.onMutate(t,this,a);const k=await((o=(l=this.options).onMutate)==null?void 0:o.call(l,t,a));k!==this.state.context&&je(this,un,Hn).call(this,{type:"pending",context:k,variables:t,isPaused:i})}const N=await C(this,Fs).start();return await((u=(c=C(this,pt).config).onSuccess)==null?void 0:u.call(c,N,t,this.state.context,this,a)),await((p=(m=this.options).onSuccess)==null?void 0:p.call(m,N,t,this.state.context,a)),await((y=(h=C(this,pt).config).onSettled)==null?void 0:y.call(h,N,null,this.state.variables,this.state.context,this,a)),await((j=(g=this.options).onSettled)==null?void 0:j.call(g,N,null,t,this.state.context,a)),je(this,un,Hn).call(this,{type:"success",data:N}),N}catch(N){try{await((_=(v=C(this,pt).config).onError)==null?void 0:_.call(v,N,t,this.state.context,this,a))}catch(k){Promise.reject(k)}try{await((x=(f=this.options).onError)==null?void 0:x.call(f,N,t,this.state.context,a))}catch(k){Promise.reject(k)}try{await((T=(b=C(this,pt).config).onSettled)==null?void 0:T.call(b,void 0,N,this.state.variables,this.state.context,this,a))}catch(k){Promise.reject(k)}try{await((L=(R=this.options).onSettled)==null?void 0:L.call(R,void 0,N,t,this.state.context,a))}catch(k){Promise.reject(k)}throw je(this,un,Hn).call(this,{type:"error",error:N}),N}finally{C(this,pt).runNext(this)}}},Wr=new WeakMap,dn=new WeakMap,pt=new WeakMap,Fs=new WeakMap,un=new WeakSet,Hn=function(t){const s=a=>{switch(t.type){case"failed":return{...a,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...a,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:t.error,failureCount:a.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=s(this.state),tt.batch(()=>{C(this,dn).forEach(a=>{a.onMutationUpdate(t)}),C(this,pt).notify({mutation:this,type:"updated",action:t})})},fp);function e_(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Nn,Zt,Kr,_p,cj=(_p=class extends Wa{constructor(t={}){super();oe(this,Nn);oe(this,Zt);oe(this,Kr);this.config=t,X(this,Nn,new Set),X(this,Zt,new Map),X(this,Kr,0)}build(t,s,a){const r=new oj({client:t,mutationCache:this,mutationId:++ei(this,Kr)._,options:t.defaultMutationOptions(s),state:a});return this.add(r),r}add(t){C(this,Nn).add(t);const s=yi(t);if(typeof s=="string"){const a=C(this,Zt).get(s);a?a.push(t):C(this,Zt).set(s,[t])}this.notify({type:"added",mutation:t})}remove(t){if(C(this,Nn).delete(t)){const s=yi(t);if(typeof s=="string"){const a=C(this,Zt).get(s);if(a)if(a.length>1){const r=a.indexOf(t);r!==-1&&a.splice(r,1)}else a[0]===t&&C(this,Zt).delete(s)}}this.notify({type:"removed",mutation:t})}canRun(t){const s=yi(t);if(typeof s=="string"){const a=C(this,Zt).get(s),r=a==null?void 0:a.find(i=>i.state.status==="pending");return!r||r===t}else return!0}runNext(t){var a;const s=yi(t);if(typeof s=="string"){const r=(a=C(this,Zt).get(s))==null?void 0:a.find(i=>i!==t&&i.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}else return Promise.resolve()}clear(){tt.batch(()=>{C(this,Nn).forEach(t=>{this.notify({type:"removed",mutation:t})}),C(this,Nn).clear(),C(this,Zt).clear()})}getAll(){return Array.from(C(this,Nn))}find(t){const s={exact:!0,...t};return this.getAll().find(a=>xh(s,a))}findAll(t={}){return this.getAll().filter(s=>xh(t,s))}notify(t){tt.batch(()=>{this.listeners.forEach(s=>{s(t)})})}resumePausedMutations(){const t=this.getAll().filter(s=>s.state.isPaused);return tt.batch(()=>Promise.all(t.map(s=>s.continue().catch(vt))))}},Nn=new WeakMap,Zt=new WeakMap,Kr=new WeakMap,_p);function yi(e){var t;return(t=e.options.scope)==null?void 0:t.id}var bn,Xn,wt,Sn,Tn,Di,Dc,gp,dj=(gp=class extends Wa{constructor(s,a){super();oe(this,Tn);oe(this,bn);oe(this,Xn);oe(this,wt);oe(this,Sn);X(this,bn,s),this.setOptions(a),this.bindMethods(),je(this,Tn,Di).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(s){var r;const a=this.options;this.options=C(this,bn).defaultMutationOptions(s),pl(this.options,a)||C(this,bn).getMutationCache().notify({type:"observerOptionsUpdated",mutation:C(this,wt),observer:this}),a!=null&&a.mutationKey&&this.options.mutationKey&&Gs(a.mutationKey)!==Gs(this.options.mutationKey)?this.reset():((r=C(this,wt))==null?void 0:r.state.status)==="pending"&&C(this,wt).setOptions(this.options)}onUnsubscribe(){var s;this.hasListeners()||(s=C(this,wt))==null||s.removeObserver(this)}onMutationUpdate(s){je(this,Tn,Di).call(this),je(this,Tn,Dc).call(this,s)}getCurrentResult(){return C(this,Xn)}reset(){var s;(s=C(this,wt))==null||s.removeObserver(this),X(this,wt,void 0),je(this,Tn,Di).call(this),je(this,Tn,Dc).call(this)}mutate(s,a){var r;return X(this,Sn,a),(r=C(this,wt))==null||r.removeObserver(this),X(this,wt,C(this,bn).getMutationCache().build(C(this,bn),this.options)),C(this,wt).addObserver(this),C(this,wt).execute(s)}},bn=new WeakMap,Xn=new WeakMap,wt=new WeakMap,Sn=new WeakMap,Tn=new WeakSet,Di=function(){var a;const s=((a=C(this,wt))==null?void 0:a.state)??e_();X(this,Xn,{...s,isPending:s.status==="pending",isSuccess:s.status==="success",isError:s.status==="error",isIdle:s.status==="idle",mutate:this.mutate,reset:this.reset})},Dc=function(s){tt.batch(()=>{var a,r,i,l,o,c,u,m;if(C(this,Sn)&&this.hasListeners()){const p=C(this,Xn).variables,h=C(this,Xn).context,y={client:C(this,bn),meta:this.options.meta,mutationKey:this.options.mutationKey};if((s==null?void 0:s.type)==="success"){try{(r=(a=C(this,Sn)).onSuccess)==null||r.call(a,s.data,p,h,y)}catch(g){Promise.reject(g)}try{(l=(i=C(this,Sn)).onSettled)==null||l.call(i,s.data,null,p,h,y)}catch(g){Promise.reject(g)}}else if((s==null?void 0:s.type)==="error"){try{(c=(o=C(this,Sn)).onError)==null||c.call(o,s.error,p,h,y)}catch(g){Promise.reject(g)}try{(m=(u=C(this,Sn)).onSettled)==null||m.call(u,void 0,s.error,p,h,y)}catch(g){Promise.reject(g)}}}this.listeners.forEach(p=>{p(C(this,Xn))})})},gp),hn,yp,uj=(yp=class extends Wa{constructor(t={}){super();oe(this,hn);this.config=t,X(this,hn,new Map)}build(t,s,a){const r=s.queryKey,i=s.queryHash??Od(r,s);let l=this.get(i);return l||(l=new sj({client:t,queryKey:r,queryHash:i,options:t.defaultQueryOptions(s),state:a,defaultOptions:t.getQueryDefaults(r)}),this.add(l)),l}add(t){C(this,hn).has(t.queryHash)||(C(this,hn).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const s=C(this,hn).get(t.queryHash);s&&(t.destroy(),s===t&&C(this,hn).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){tt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return C(this,hn).get(t)}getAll(){return[...C(this,hn).values()]}find(t){const s={exact:!0,...t};return this.getAll().find(a=>yh(s,a))}findAll(t={}){const s=this.getAll();return Object.keys(t).length>0?s.filter(a=>yh(t,a)):s}notify(t){tt.batch(()=>{this.listeners.forEach(s=>{s(t)})})}onFocus(){tt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){tt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},hn=new WeakMap,yp),Ge,Zn,es,ka,Ta,ts,Ra,Ia,xp,hj=(xp=class{constructor(e={}){oe(this,Ge);oe(this,Zn);oe(this,es);oe(this,ka);oe(this,Ta);oe(this,ts);oe(this,Ra);oe(this,Ia);X(this,Ge,e.queryCache||new uj),X(this,Zn,e.mutationCache||new cj),X(this,es,e.defaultOptions||{}),X(this,ka,new Map),X(this,Ta,new Map),X(this,ts,0)}mount(){ei(this,ts)._++,C(this,ts)===1&&(X(this,Ra,Fd.subscribe(async e=>{e&&(await this.resumePausedMutations(),C(this,Ge).onFocus())})),X(this,Ia,ml.subscribe(async e=>{e&&(await this.resumePausedMutations(),C(this,Ge).onOnline())})))}unmount(){var e,t;ei(this,ts)._--,C(this,ts)===0&&((e=C(this,Ra))==null||e.call(this),X(this,Ra,void 0),(t=C(this,Ia))==null||t.call(this),X(this,Ia,void 0))}isFetching(e){return C(this,Ge).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return C(this,Zn).findAll({...e,status:"pending"}).length}getQueryData(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=C(this,Ge).get(t.queryHash))==null?void 0:s.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),s=C(this,Ge).build(this,t),a=s.state.data;return a===void 0?this.fetchQuery(e):(e.revalidateIfStale&&s.isStaleByTime(fs(t.staleTime,s))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return C(this,Ge).findAll(e).map(({queryKey:t,state:s})=>{const a=s.data;return[t,a]})}setQueryData(e,t,s){const a=this.defaultQueryOptions({queryKey:e}),r=C(this,Ge).get(a.queryHash),i=r==null?void 0:r.state.data,l=Kv(t,i);if(l!==void 0)return C(this,Ge).build(this,a).setData(l,{...s,manual:!0})}setQueriesData(e,t,s){return tt.batch(()=>C(this,Ge).findAll(e).map(({queryKey:a})=>[a,this.setQueryData(a,t,s)]))}getQueryState(e){var s;const t=this.defaultQueryOptions({queryKey:e});return(s=C(this,Ge).get(t.queryHash))==null?void 0:s.state}removeQueries(e){const t=C(this,Ge);tt.batch(()=>{t.findAll(e).forEach(s=>{t.remove(s)})})}resetQueries(e,t){const s=C(this,Ge);return tt.batch(()=>(s.findAll(e).forEach(a=>{a.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const s={revert:!0,...t},a=tt.batch(()=>C(this,Ge).findAll(e).map(r=>r.cancel(s)));return Promise.all(a).then(vt).catch(vt)}invalidateQueries(e,t={}){return tt.batch(()=>(C(this,Ge).findAll(e).forEach(s=>{s.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const s={...t,cancelRefetch:t.cancelRefetch??!0},a=tt.batch(()=>C(this,Ge).findAll(e).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let i=r.fetch(void 0,s);return s.throwOnError||(i=i.catch(vt)),r.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(a).then(vt)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const s=C(this,Ge).build(this,t);return s.isStaleByTime(fs(t.staleTime,s))?s.fetch(t):Promise.resolve(s.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(vt).catch(vt)}fetchInfiniteQuery(e){return e.behavior=Ch(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(vt).catch(vt)}ensureInfiniteQueryData(e){return e.behavior=Ch(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return ml.isOnline()?C(this,Zn).resumePausedMutations():Promise.resolve()}getQueryCache(){return C(this,Ge)}getMutationCache(){return C(this,Zn)}getDefaultOptions(){return C(this,es)}setDefaultOptions(e){X(this,es,e)}setQueryDefaults(e,t){C(this,ka).set(Gs(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...C(this,ka).values()],s={};return t.forEach(a=>{Mr(e,a.queryKey)&&Object.assign(s,a.defaultOptions)}),s}setMutationDefaults(e,t){C(this,Ta).set(Gs(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...C(this,Ta).values()],s={};return t.forEach(a=>{Mr(e,a.mutationKey)&&Object.assign(s,a.defaultOptions)}),s}defaultQueryOptions(e){if(e._defaulted)return e;const t={...C(this,es).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Od(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Hd&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...C(this,es).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){C(this,Ge).clear(),C(this,Zn).clear()}},Ge=new WeakMap,Zn=new WeakMap,es=new WeakMap,ka=new WeakMap,Ta=new WeakMap,ts=new WeakMap,Ra=new WeakMap,Ia=new WeakMap,xp),t_=d.createContext(void 0),Ht=e=>{const t=d.useContext(t_);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},pj=({client:e,children:t})=>(d.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),n.jsx(t_.Provider,{value:e,children:t})),n_=d.createContext(!1),mj=()=>d.useContext(n_);n_.Provider;function fj(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var _j=d.createContext(fj()),gj=()=>d.useContext(_j),yj=(e,t,s)=>{const a=s!=null&&s.state.error&&typeof e.throwOnError=="function"?zd(e.throwOnError,[s.state.error,s]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||a)&&(t.isReset()||(e.retryOnMount=!1))},xj=e=>{d.useEffect(()=>{e.clearReset()},[e])},vj=({result:e,errorResetBoundary:t,throwOnError:s,query:a,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&a&&(r&&e.data===void 0||zd(s,[e.error,a])),jj=e=>{if(e.suspense){const s=r=>r==="static"?r:Math.max(r??1e3,1e3),a=e.staleTime;e.staleTime=typeof a=="function"?(...r)=>s(a(...r)):s(a),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Nj=(e,t)=>e.isLoading&&e.isFetching&&!t,bj=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Th=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Sj(e,t,s){var h,y,g,j;const a=mj(),r=gj(),i=Ht(),l=i.defaultQueryOptions(e);(y=(h=i.getDefaultOptions().queries)==null?void 0:h._experimental_beforeQuery)==null||y.call(h,l);const o=i.getQueryCache().get(l.queryHash);l._optimisticResults=a?"isRestoring":"optimistic",jj(l),yj(l,r,o),xj(r);const c=!i.getQueryCache().get(l.queryHash),[u]=d.useState(()=>new t(i,l)),m=u.getOptimisticResult(l),p=!a&&e.subscribed!==!1;if(d.useSyncExternalStore(d.useCallback(v=>{const _=p?u.subscribe(tt.batchCalls(v)):vt;return u.updateResult(),_},[u,p]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),d.useEffect(()=>{u.setOptions(l)},[l,u]),bj(l,m))throw Th(l,u,r);if(vj({result:m,errorResetBoundary:r,throwOnError:l.throwOnError,query:o,suspense:l.suspense}))throw m.error;if((j=(g=i.getDefaultOptions().queries)==null?void 0:g._experimental_afterQuery)==null||j.call(g,l,m),l.experimental_prefetchInRender&&!Fr.isServer()&&Nj(m,a)){const v=c?Th(l,u,r):o==null?void 0:o.promise;v==null||v.catch(vt).finally(()=>{u.updateResult()})}return l.notifyOnChangeProps?m:u.trackResult(m)}function Ne(e,t){return Sj(e,aj)}function s_(e,t){const s=Ht(),[a]=d.useState(()=>new dj(s,e));d.useEffect(()=>{a.setOptions(e)},[a,e]);const r=d.useSyncExternalStore(d.useCallback(l=>a.subscribe(tt.batchCalls(l)),[a]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),i=d.useCallback((l,o)=>{a.mutate(l,o).catch(vt)},[a]);if(r.error&&zd(a.options.throwOnError,[r.error]))throw r.error;return{...r,mutate:i,mutateAsync:r.mutate}}const He="/api/control-plane";async function ke(e,t){const s=new URL(`${He}${e}`,window.location.origin);if(t)for(const[r,i]of Object.entries(t))i!==void 0&&i!==""&&s.searchParams.set(r,String(i));const a=await fetch(s.toString());if(!a.ok){const r=await a.json().catch(()=>({error:a.statusText}));throw new Error(r.error??a.statusText)}return a.json()}function a_(e){return ke("/version-sync",{instanceId:e})}function Vd(){return ke("/install-state")}async function Al(e){const t=new URL(`${He}/instances/${encodeURIComponent(e)}/start`,window.location.origin),s=await fetch(t.toString(),{method:"POST"}),a=await s.json().catch(()=>({error:s.statusText}));if(s.status===409)return{started:!1,instance:e,reason:a.error??"Already running"};if(!s.ok)throw new Error(a.error??s.statusText);return a}async function wj(e){const t=new URL(`${He}/instances/${encodeURIComponent(e)}/stop`,window.location.origin),s=await fetch(t.toString(),{method:"POST"}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function Cj(e){const t=new URL(`${He}/instances/${encodeURIComponent(e)}/restart`,window.location.origin),s=await fetch(t.toString(),{method:"POST"}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function kj(e){const t=new URL(`${He}/pick-path`,window.location.origin),s=await fetch(t.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function Tj(e){const t=new URL(`${He}/run-command`,window.location.origin),s=await fetch(t.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function qd(e,t){const s=new URL(`${He}${e}`,window.location.origin);if(t)for(const[i,l]of Object.entries(t))l!==void 0&&l!==""&&s.searchParams.set(i,String(l));const a=await fetch(s.toString(),{method:"DELETE"}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}async function Rj(e,t,s){const a=new URL(`${He}/providers/${encodeURIComponent(e)}/key`,window.location.origin);s&&a.searchParams.set("instanceId",s);const r=await fetch(a.toString(),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:t})}),i=await r.json().catch(()=>({error:r.statusText}));if(!r.ok)throw new Error(i.error??r.statusText);return i}function Ij(e,t){return qd(`/providers/${encodeURIComponent(e)}/key`,{instanceId:t})}async function r_(e,t){const s=new URL(`${He}/providers/default`,window.location.origin);t&&s.searchParams.set("instanceId",t);const a=await fetch(s.toString(),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e})}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}function Bj(e){return qd("/providers/default",{instanceId:e})}async function i_(e,t){const s=new URL(`${He}/providers/fallback`,window.location.origin);t&&s.searchParams.set("instanceId",t);const a=await fetch(s.toString(),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({chain:e})}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}function l_(e){return qd("/providers/fallback",{instanceId:e})}function Ej(e,t){return ke("/providers/routing-defaults",{provider:e,instanceId:t})}async function Lj(e,t){const s=new URL(`${He}/providers/task-routing`,window.location.origin);t&&s.searchParams.set("instanceId",t);const a=await fetch(s.toString(),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({overrides:e})}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}async function Pj(e){const t=new URL(`${He}/providers/task-routing`,window.location.origin);e&&t.searchParams.set("instanceId",e);const s=await fetch(t.toString(),{method:"DELETE"}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}function Aj(){return ke("/auth-keys")}async function $j(e){const t=new URL(`${He}/auth-keys`,window.location.origin),s=await fetch(t.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function Dj(e){const t=new URL(`${He}/auth-keys/${encodeURIComponent(e)}`,window.location.origin),s=await fetch(t.toString(),{method:"DELETE"}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function Mj(e){const t=new URL(`${He}/instances`,window.location.origin),s=await fetch(t.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await s.json().catch(()=>({error:s.statusText}));if(!s.ok)throw new Error(a.error??s.statusText);return a}async function Fj(e,t){const s=new URL(`${He}/instances/${encodeURIComponent(e)}`,window.location.origin),a=await fetch(s.toString(),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}async function Oj(e,t){const s=new URL(`${He}/instances/${encodeURIComponent(e)}`,window.location.origin),a=await fetch(s.toString(),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}function o_(e){return ke(`/instances/${encodeURIComponent(e)}/projects`)}async function Hj(e,t){const s=new URL(`${He}/instances/${encodeURIComponent(e)}/projects`,window.location.origin),a=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}function zj(e,t){return ke(`/instances/${encodeURIComponent(e)}/projects/${encodeURIComponent(t)}/claude-integration`)}async function Uj(e,t,s){const a=new URL(`${He}/instances/${encodeURIComponent(e)}/projects/${encodeURIComponent(t)}/claude-integration/scaffold`,window.location.origin),r=await fetch(a.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({force:s??!1})}),i=await r.json().catch(()=>({ok:!1,written:[],error:r.statusText}));if(!r.ok){const l=i.error??r.statusText;throw new Error(l)}return i}function Vj(e){return ke(`/instances/${encodeURIComponent(e)}/integration-summary`)}function qj(){return ke("/integrations/codex")}async function Wj(){const e=new URL(`${He}/integrations/codex`,window.location.origin),t=await fetch(e.toString(),{method:"POST"}),s=await t.json().catch(()=>({ok:!1,output:"",error:t.statusText}));if(!t.ok)throw new Error(s.error??t.statusText);return s}async function Kj(){const e=new URL(`${He}/integrations/codex`,window.location.origin),t=await fetch(e.toString(),{method:"DELETE"}),s=await t.json().catch(()=>({ok:!1,error:t.statusText}));if(!t.ok)throw new Error(s.error??t.statusText);return s}async function Gj(e,t,s){const a=new URL(`${He}/instances/${encodeURIComponent(e)}/projects`,window.location.origin);a.searchParams.set("projectPath",t);const r=await fetch(a.toString(),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),i=await r.json().catch(()=>({error:r.statusText}));if(!r.ok)throw new Error(i.error??r.statusText);return i}async function Qj(e,t){const s=new URL(`${He}/debug/handshake`,window.location.origin),a=await fetch(s.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e,task:t})}),r=await a.json().catch(()=>({error:a.statusText}));if(!a.ok)throw new Error(r.error??a.statusText);return r}async function Jj(e,t,s){const a=new URL(`${He}/debug/attend`,window.location.origin),r={agentId:e,query:t};s&&s.trim()!==""&&(r.context=s);const i=await fetch(a.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),l=await i.json().catch(()=>({error:i.statusText}));if(!i.ok)throw new Error(l.error??i.statusText);return l}function Yj(e){return e.replace(/[/\\]+$/,"").split(/[/\\]/).pop()??""}function Xj(e){var t,s,a;return{id:e.instanceId,name:e.name??Yj(e.runtimeRoot)??e.instanceId,port:e.configuredPort??3001,host:((t=e.database)==null?void 0:t.host)??"localhost",status:e.runningStatus==="unknown"?"unreachable":e.runningStatus,databaseUrl:((s=e.database)==null?void 0:s.urlRedacted)??void 0,projectCount:((a=e.projects)==null?void 0:a.length)??0}}async function Zj(){return((await ke("/instances")).instances??[]).map(Xj)}const c_=d.createContext(null),_o={id:"local",name:"local",port:3001,host:"localhost",status:"running"};function eN({children:e}){const[t,s]=d.useState([]),[a,r]=d.useState(null),[i,l]=d.useState(!0),[o,c]=d.useState(null),u=d.useCallback(async()=>{l(!0),c(null);try{const m=await Zj();s(m),r(p=>p&&m.some(y=>y.id===p.id)?p:m.find(y=>y.status==="running")??m[0]??_o)}catch(m){const p=m instanceof Error?m.message:"Unknown error fetching instances";c(p),s([_o]),r(h=>h??_o)}finally{l(!1)}},[]);return d.useEffect(()=>{u()},[u]),n.jsx(c_.Provider,{value:{activeInstance:a,instances:t,loading:i,error:o,setActiveInstance:r,refetch:u},children:e})}function gt(){const e=d.useContext(c_);if(!e)throw new Error("useInstanceContext must be used within <InstanceProvider>");return e}const d_="iranti_cp_settings_v1",u_="iranti-cp-theme",h_="iranti_cp_chat_panel_open",tN="iranti_cp_setup_dismissed",nN="iranti_setup_complete",At={theme:"dark",landingPage:"/overview",chatPanelOpen:!1,showSetupBanner:!0,commandRunnerMode:"copy_and_run",healthPollIntervalMs:6e4,createInstanceDefaults:{startPort:3001,provider:"claude",databaseMode:"compose",dbHost:"localhost",dbPort:"5432",dbUser:"postgres",dbNamePrefix:"iranti_"}};function Rh(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function sN(e){switch(e){case"/instances":case"/health":case"/providers":case"/getting-started":case"/sessions":case"/overview":return e;default:return At.landingPage}}function aN(e){return e==="copy_only"?"copy_only":"copy_and_run"}function rN(e){return e===3e4||e===3e5?e:6e4}function iN(e){const t=Number.parseInt(String(e??""),10);return!Number.isFinite(t)||t<1024||t>65535?At.createInstanceDefaults.startPort:t}function nr(e,t){return typeof e=="string"&&e.trim()?e.trim():t}function lN(e){return e==="url"?"url":"compose"}function p_(e){const t=Rh(e)?e:{},s=Rh(t.createInstanceDefaults)?t.createInstanceDefaults:{};return{theme:t.theme==="light"?"light":"dark",landingPage:sN(t.landingPage),chatPanelOpen:t.chatPanelOpen===!0,showSetupBanner:t.showSetupBanner!==!1,commandRunnerMode:aN(t.commandRunnerMode),healthPollIntervalMs:rN(t.healthPollIntervalMs),createInstanceDefaults:{startPort:iN(s.startPort),provider:nr(s.provider,At.createInstanceDefaults.provider),databaseMode:lN(s.databaseMode),dbHost:nr(s.dbHost,At.createInstanceDefaults.dbHost),dbPort:nr(s.dbPort,At.createInstanceDefaults.dbPort),dbUser:nr(s.dbUser,At.createInstanceDefaults.dbUser),dbNamePrefix:nr(s.dbNamePrefix,At.createInstanceDefaults.dbNamePrefix)}}}function oN(){try{const s=localStorage.getItem(d_);if(s)return p_(JSON.parse(s))}catch{}let e=At.theme,t=At.chatPanelOpen;try{const s=localStorage.getItem(u_);(s==="light"||s==="dark")&&(e=s);const a=localStorage.getItem(h_);a==="true"?t=!0:a==="false"&&(t=!1)}catch{}return{...At,theme:e,chatPanelOpen:t}}function cN(e){const t=p_(e);localStorage.setItem(d_,JSON.stringify(t)),localStorage.setItem(u_,t.theme),localStorage.setItem(h_,String(t.chatPanelOpen))}function dN(){localStorage.removeItem(tN),localStorage.removeItem(nN)}const m_=d.createContext(null);function uN({children:e}){const[t,s]=d.useState(()=>oN());d.useEffect(()=>{cN(t)},[t]),d.useEffect(()=>{if(t.theme==="light"){document.documentElement.setAttribute("data-theme","light");return}document.documentElement.removeAttribute("data-theme")},[t.theme]);const a=d.useCallback(o=>{s(c=>o(c))},[]),r=d.useCallback(o=>{s(o)},[]),i=d.useCallback(()=>{s(At)},[]),l=d.useMemo(()=>({settings:t,updateSettings:a,replaceSettings:r,resetSettings:i}),[t,a,r,i]);return n.jsx(m_.Provider,{value:l,children:e})}function Ka(){const e=d.useContext(m_);if(!e)throw new Error("useSettings must be used within <SettingsProvider>");return e}const hN="_page_16km7_3",pN="_header_16km7_17",mN="_headerLeft_16km7_24",fN="_title_16km7_29",_N="_subtitle_16km7_37",gN="_incompleteCount_16km7_44",yN="_stepList_16km7_50",xN="_stepRow_16km7_56",vN="_stepRowDone_16km7_68",jN="_stepRowExpanded_16km7_78",NN="_stepHeader_16km7_82",bN="_stepNumber_16km7_99",SN="_stepNumberDone_16km7_112",wN="_stepNumberActive_16km7_117",CN="_stepNumberNA_16km7_122",kN="_stepLabel_16km7_127",TN="_stepCaret_16km7_134",RN="_stepBadge_16km7_142",IN="_badgeComplete_16km7_150",BN="_badgeIncomplete_16km7_155",EN="_badgeWarning_16km7_160",LN="_badgeNA_16km7_165",PN="_stepBody_16km7_173",AN="_stepMessage_16km7_181",$N="_stepAction_16km7_188",DN="_stepActionLabel_16km7_198",MN="_stepActionText_16km7_206",FN="_stepNA_16km7_213",ON="_footer_16km7_265",HN="_footerError_16km7_274",zN="_footerNote_16km7_280",UN="_skipLink_16km7_287",VN="_primaryBtn_16km7_305",qN="_secondaryBtn_16km7_328",WN="_btnSpinning_16km7_352",KN="_successState_16km7_358",GN="_successIcon_16km7_369",QN="_successTitle_16km7_375",JN="_successBody_16km7_383",YN="_loadingCenter_16km7_393",XN="_loadingLabel_16km7_403",ZN="_errorState_16km7_408",eb="_errorIcon_16km7_418",tb="_errorTitle_16km7_423",nb="_errorBody_16km7_430",pe={page:hN,header:pN,headerLeft:mN,title:fN,subtitle:_N,incompleteCount:gN,stepList:yN,stepRow:xN,stepRowDone:vN,stepRowExpanded:jN,stepHeader:NN,stepNumber:bN,stepNumberDone:SN,stepNumberActive:wN,stepNumberNA:CN,stepLabel:kN,stepCaret:TN,stepBadge:RN,badgeComplete:IN,badgeIncomplete:BN,badgeWarning:EN,badgeNA:LN,stepBody:PN,stepMessage:AN,stepAction:$N,stepActionLabel:DN,stepActionText:MN,stepNA:FN,footer:ON,footerError:HN,footerNote:zN,skipLink:UN,primaryBtn:VN,secondaryBtn:qN,btnSpinning:WN,successState:KN,successIcon:GN,successTitle:QN,successBody:JN,loadingCenter:YN,loadingLabel:XN,errorState:ZN,errorIcon:eb,errorTitle:tb,errorBody:nb},sb="_spinner_c0dse_5",ab={spinner:sb},rb={sm:20,md:32,lg:48},ib={sm:4,md:6,lg:8};function Fe({size:e="md",label:t="Loading"}){const s=rb[e],a=ib[e];return n.jsx("div",{className:ab.spinner,role:"status","aria-label":t,style:{width:`${s}px`,padding:`${a}px`,aspectRatio:"1"}})}const lb="_commandCard_4sl3s_1",ob="_commandCardCompact_4sl3s_11",cb="_commandText_4sl3s_15",db="_commandActions_4sl3s_22",ub="_commandBtn_4sl3s_27",hb="_commandBtnPrimary_4sl3s_28",pb="_cwdLabel_4sl3s_64",mb="_commandError_4sl3s_74",fb="_commandResult_4sl3s_83",_b="_commandResultOk_4sl3s_92",gb="_commandResultError_4sl3s_97",yb="_commandResultHeader_4sl3s_102",xb="_commandOutput_4sl3s_109",Bt={commandCard:lb,commandCardCompact:ob,commandText:cb,commandActions:db,commandBtn:ub,commandBtnPrimary:hb,cwdLabel:pb,commandError:mb,commandResult:fb,commandResultOk:_b,commandResultError:gb,commandResultHeader:yb,commandOutput:xb};function Mn(e){return e.trim()}function Fa({command:e,cwd:t,allowRun:s=!0,compact:a=!1,onAfterRun:r}){const{settings:i}=Ka(),[l,o]=d.useState(!1),[c,u]=d.useState(!1),[m,p]=d.useState(null),[h,y]=d.useState(null),g=d.useRef(null),j=s&&i.commandRunnerMode==="copy_and_run",v=d.useMemo(()=>h?Mn(h.stdout)!==""||Mn(h.stderr)!=="":!1,[h]),_=async()=>{await navigator.clipboard.writeText(e),o(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>o(!1),2e3)},f=async()=>{if(!c){u(!0),p(null);try{const x=await Tj({command:e,...t?{cwd:t}:{}});y(x),r==null||r(x)}catch(x){y(null),p(x instanceof Error?x.message:String(x))}finally{u(!1)}}};return n.jsxs("div",{className:`${Bt.commandCard} ${a?Bt.commandCardCompact:""}`,children:[n.jsx("code",{className:Bt.commandText,children:e}),n.jsxs("div",{className:Bt.commandActions,children:[n.jsx("button",{className:Bt.commandBtn,type:"button",onClick:()=>void _(),children:l?"Copied":"Copy"}),j&&n.jsx("button",{className:Bt.commandBtnPrimary,type:"button",onClick:()=>void f(),disabled:c,children:c?"Running...":"Run"})]}),t&&n.jsxs("div",{className:Bt.cwdLabel,children:["Run in: ",n.jsx("code",{children:t})]}),m&&n.jsx("div",{className:Bt.commandError,role:"alert",children:m}),h&&n.jsxs("div",{className:`${Bt.commandResult} ${h.ok?Bt.commandResultOk:Bt.commandResultError}`,children:[n.jsxs("div",{className:Bt.commandResultHeader,children:[n.jsx("strong",{children:h.ok?"Command succeeded":"Command failed"}),n.jsxs("span",{children:["exit ",h.exitCode??"unknown"," - ",h.durationMs,"ms"]})]}),v&&n.jsxs("pre",{className:Bt.commandOutput,children:[Mn(h.stdout)&&`stdout:
68
+ ${Mn(h.stdout)}`,Mn(h.stdout)&&Mn(h.stderr)?`
69
+
70
+ `:"",Mn(h.stderr)&&`stderr:
71
+ ${Mn(h.stderr)}`]})]})]})}function f_(e){if(!e)return null;const t=e.match(/`([^`]+)`/);if(t!=null&&t[1])return t[1].trim();const s=e.match(/Run:\s*(.+)$/i);if(s!=null&&s[1])return s[1].trim();const a=e.match(/Run this in your PostgreSQL database:\s*(.+)$/i);return a!=null&&a[1]?a[1].trim():null}function vb(e){return/\s/.test(e)?`"${e}"`:e}function __(e,t){const s=(t==null?void 0:t.trim())??"",a=s?` --root ${vb(s)}`:"";return`iranti run --instance ${e}${a}`}function $l(e){if(!e)return!1;const t=e.trim().toLowerCase();return!!(t.startsWith("iranti ")||t==="npm run migrate")}async function g_(e){const t=await fetch(`/api/control-plane/instances/${encodeURIComponent(e)}/setup-status`);if(!t.ok){const s=await t.json().catch(()=>({error:t.statusText}));throw new Error(s.error??t.statusText)}return t.json()}async function jb(e){const t=await fetch(`/api/control-plane/instances/${encodeURIComponent(e)}/setup-status/complete`,{method:"POST"});if(!t.ok){const s=await t.json().catch(()=>({error:t.statusText}));throw new Error(s.error??t.statusText)}return t.json()}async function Nb(e){const t=await fetch(`/api/control-plane/instances/${encodeURIComponent(e)}/setup-status/refresh`,{method:"POST"});if(!t.ok){const s=await t.json().catch(()=>({error:t.statusText}));throw new Error(s.error??t.statusText)}return t.json()}function bb({status:e}){const t={complete:{label:"Complete ✓",className:pe.badgeComplete},incomplete:{label:"Incomplete",className:pe.badgeIncomplete},warning:{label:"Warning",className:pe.badgeWarning},not_applicable:{label:"Not applicable",className:pe.badgeNA}},{label:s,className:a}=t[e];return n.jsx("span",{className:`${pe.stepBadge} ${a}`,children:s})}function Sb({step:e,stepNumber:t,expanded:s,onToggle:a}){const r=e.status==="incomplete"||e.status==="warning",i=e.status==="complete",l=e.cliCommand??null;return n.jsxs("div",{className:`${pe.stepRow} ${i?pe.stepRowDone:""} ${s?pe.stepRowExpanded:""}`,children:[n.jsxs("button",{className:pe.stepHeader,onClick:a,type:"button","aria-expanded":s,children:[n.jsx("span",{className:`${pe.stepNumber} ${i?pe.stepNumberDone:r?pe.stepNumberActive:pe.stepNumberNA}`,children:i?"✓":t}),n.jsx("span",{className:pe.stepLabel,children:e.label}),n.jsx(bb,{status:e.status}),n.jsx("span",{className:pe.stepCaret,"aria-hidden":"true",children:s?"▲":"▼"})]}),s&&n.jsxs("div",{className:pe.stepBody,children:[n.jsx("p",{className:pe.stepMessage,children:e.message}),r&&e.actionRequired&&n.jsxs("div",{className:pe.stepAction,children:[n.jsx("span",{className:pe.stepActionLabel,children:"Action required"}),n.jsx("p",{className:pe.stepActionText,children:e.actionRequired}),l&&n.jsx(Fa,{command:l,allowRun:$l(l)})]}),e.status==="not_applicable"&&n.jsx("p",{className:pe.stepNA,children:"Complete the previous step first."})]})]})}function wb({onGoToMemory:e}){return n.jsxs("div",{className:pe.successState,children:[n.jsx("span",{className:pe.successIcon,"aria-hidden":"true",children:"✓"}),n.jsx("h2",{className:pe.successTitle,children:"Iranti is ready"}),n.jsx("p",{className:pe.successBody,children:"All setup steps are complete. Your Iranti instance is fully configured."}),n.jsx("button",{className:pe.primaryBtn,onClick:e,type:"button",children:"Go to Memory Explorer →"})]})}function Cb(){const e=_t(),t=Ht(),{activeInstance:s}=gt(),[a,r]=d.useState(!1),i=(s==null?void 0:s.id)??(s==null?void 0:s.name)??"local",{data:l,isLoading:o,error:c}=Ne({queryKey:["setup-status",i],queryFn:()=>g_(i),staleTime:0}),u=(l==null?void 0:l.steps.findIndex(T=>T.status==="incomplete"||T.status==="warning"))??-1,[m,p]=d.useState(null),h=m!==null?m:u,y=T=>{p(R=>R===T?null:T)},[g,j]=d.useState(!1),v=d.useCallback(async()=>{j(!0);try{const T=await Nb(i);t.setQueryData(["setup-status",i],T)}finally{j(!1)}},[i,t]),_=s_({mutationFn:()=>jb(i),onSuccess:()=>{t.invalidateQueries({queryKey:["setup-status"]}),e("/memory")}});if(!a&&o)return n.jsx("div",{className:pe.page,children:n.jsxs("div",{className:pe.loadingCenter,children:[n.jsx(Fe,{size:"md",label:"Checking setup status"}),n.jsx("span",{className:pe.loadingLabel,children:"Checking setup status…"})]})});if(!a&&c)return n.jsx("div",{className:pe.page,children:n.jsxs("div",{className:pe.errorState,children:[n.jsx("span",{className:pe.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("h2",{className:pe.errorTitle,children:"Could not load setup status"}),n.jsx("p",{className:pe.errorBody,children:c.message}),n.jsx("button",{className:pe.secondaryBtn,onClick:()=>void v(),type:"button",children:"Retry"})]})});const f=(l==null?void 0:l.steps)??[],x=(l==null?void 0:l.isFullyConfigured)??!1,b=f.filter(T=>T.status==="incomplete").length;return x?n.jsx("div",{className:pe.page,children:n.jsx(wb,{onGoToMemory:()=>e("/memory")})}):n.jsxs("div",{className:pe.page,children:[n.jsxs("div",{className:pe.header,children:[n.jsxs("div",{className:pe.headerLeft,children:[n.jsx("h1",{className:pe.title,children:"Getting Started"}),n.jsxs("p",{className:pe.subtitle,children:["Complete these steps to set up your Iranti instance.",l!=null&&l.scope?` Current scope: ${l.scope.instanceName}.`:"",b>0&&n.jsxs("span",{className:pe.incompleteCount,children:[" ",b," step",b!==1?"s":""," remaining."]})]})]}),n.jsx("button",{className:`${pe.secondaryBtn} ${g?pe.btnSpinning:""}`,onClick:()=>void v(),disabled:g,type:"button","aria-label":"Refresh all setup checks",children:g?"↺ Refreshing…":"↺ Refresh all"})]}),n.jsx("div",{className:pe.stepList,role:"list","aria-label":"Setup steps",children:f.map((T,R)=>n.jsx("div",{role:"listitem",children:n.jsx(Sb,{step:T,stepNumber:R+1,expanded:h===R,onToggle:()=>y(R)})},T.id))}),n.jsxs("div",{className:pe.footer,children:[n.jsx("button",{className:pe.primaryBtn,onClick:()=>_.mutate(),disabled:_.isPending,type:"button","aria-busy":_.isPending,children:_.isPending?"Saving…":"Mark setup complete"}),_.isError&&n.jsx("p",{className:pe.footerError,children:_.error.message}),n.jsx("button",{className:pe.skipLink,onClick:()=>r(!0),type:"button",children:"Skip for now"}),n.jsx("p",{className:pe.footerNote,children:"Skipping will not mark setup complete — this screen reappears on next load until dismissed."})]})]})}function y_(){const{activeInstance:e}=gt(),t=(e==null?void 0:e.id)??(e==null?void 0:e.name)??"local",{data:s,isLoading:a}=Ne({queryKey:["setup-status",t],queryFn:()=>g_(t),staleTime:6e4});return{incompleteCount:(s==null?void 0:s.steps.filter(i=>i.status==="incomplete").length)??0,firstRunDetected:(s==null?void 0:s.firstRunDetected)??!1,isFullyConfigured:(s==null?void 0:s.isFullyConfigured)??!1,isLoading:a}}const kb="_overlay_nql9o_9",Tb="_modal_nql9o_25",Rb="_inputRow_nql9o_42",Ib="_searchIcon_nql9o_52",Bb="_input_nql9o_42",Eb="_closeBtn_nql9o_74",Lb="_resultsList_nql9o_97",Pb="_sectionHeader_nql9o_110",Ab="_resultItem_nql9o_124",$b="_resultItemSelected_nql9o_136",Db="_resultItemWithDesc_nql9o_141",Mb="_resultItemWithDescSelected_nql9o_148",Fb="_resultIcon_nql9o_156",Ob="_resultLabelGroup_nql9o_170",Hb="_resultLabel_nql9o_170",zb="_resultDesc_nql9o_186",Ub="_resultHint_nql9o_195",Vb="_resultTag_nql9o_203",qb="_shortcutRow_nql9o_224",Wb="_shortcutKeys_nql9o_232",Kb="_kbdShortcut_nql9o_240",Gb="_shortcutSlash_nql9o_256",Qb="_shortcutAction_nql9o_261",Jb="_shortcutScope_nql9o_267",Yb="_emptyState_nql9o_278",Xb="_footer_nql9o_289",Zb="_footerHint_nql9o_299",e1="_kbd_nql9o_240",t1="_footerSep_nql9o_323",n1="_footerShortcutsBtn_nql9o_331",s1="_footerShortcutsBtnActive_nql9o_348",ye={overlay:kb,modal:Tb,inputRow:Rb,searchIcon:Ib,input:Bb,closeBtn:Eb,resultsList:Lb,sectionHeader:Pb,resultItem:Ab,resultItemSelected:$b,resultItemWithDesc:Db,resultItemWithDescSelected:Mb,resultIcon:Fb,resultLabelGroup:Ob,resultLabel:Hb,resultDesc:zb,resultHint:Ub,resultTag:Vb,shortcutRow:qb,shortcutKeys:Wb,kbdShortcut:Kb,shortcutSlash:Gb,shortcutAction:Qb,shortcutScope:Jb,emptyState:Yb,footer:Xb,footerHint:Zb,kbd:e1,footerSep:t1,footerShortcutsBtn:n1,footerShortcutsBtnActive:s1},a1={h:"/overview",m:"/memory",a:"/archive",t:"/activity",l:"/logs",i:"/instances",d:"/health",x:"/metrics",c:"/conflicts",p:"/providers",g:"/agents",e:"/sessions",s:"/getting-started"},r1=1500;function i1(){const e=document.activeElement;if(!e)return!1;const t=e.tagName.toLowerCase();return t==="input"||t==="textarea"||t==="select"||e.getAttribute("contenteditable")==="true"}function l1(){const e=_t(),t=d.useRef(!1),s=d.useRef(null),[a,r]=d.useState(!1);return d.useEffect(()=>{function i(){t.current=!1,r(!1),s.current!==null&&(clearTimeout(s.current),s.current=null)}function l(){t.current=!0,r(!0),s.current!==null&&clearTimeout(s.current),s.current=setTimeout(i,r1)}function o(c){if(c.metaKey||c.ctrlKey||c.altKey||i1()||c.key.length!==1)return;const u=c.key.toLowerCase();if(t.current){i();const m=a1[u];m&&(c.preventDefault(),e(m));return}u==="g"&&(c.preventDefault(),l())}return window.addEventListener("keydown",o),()=>{window.removeEventListener("keydown",o),s.current!==null&&clearTimeout(s.current)}},[e]),{goModeActive:a}}const o1=[{keys:"G → H",label:"Home",route:"/overview"},{keys:"G → M",label:"Memory Explorer",route:"/memory"},{keys:"G → A",label:"Archive",route:"/archive"},{keys:"G → T",label:"Staff Activity",route:"/activity"},{keys:"G → L",label:"Logs",route:"/logs"},{keys:"G → I",label:"Instances",route:"/instances"},{keys:"G → D",label:"Health & Diagnostics",route:"/health"},{keys:"G → X",label:"Metrics",route:"/metrics"},{keys:"G → C",label:"Conflicts",route:"/conflicts"},{keys:"G → P",label:"Providers",route:"/providers"},{keys:"G → G",label:"Agent Registry",route:"/agents"},{keys:"G → E",label:"Sessions",route:"/sessions"},{keys:"G → S",label:"Getting Started",route:"/getting-started"}],c1=[{type:"nav",id:"nav-memory",label:"Memory Explorer",icon:"▦",to:"/memory",description:"Browse and search all facts Iranti currently holds, filtered by entity type, key, or source."},{type:"nav",id:"nav-archive",label:"Archive",icon:"◫",to:"/archive",description:"Inspect retired and superseded facts with their archival reason and full history."},{type:"nav",id:"nav-activity",label:"Staff Activity",icon:"⚡",to:"/activity",description:"Watch Librarian, Archivist, Attendant, and Resolutionist events in real time as they happen."},{type:"nav",id:"nav-instances",label:"Instances",icon:"⊞",to:"/instances",description:"View all connected Iranti instances, their project bindings, and instance health status."},{type:"nav",id:"nav-health",label:"Health",icon:"♥",to:"/health",description:"Diagnose system connectivity, provider config, and Iranti component health at a glance."},{type:"nav",id:"nav-conflicts",label:"Conflicts",icon:"⚖",to:"/conflicts",description:"Review pending escalations — conflicting facts the Resolutionist couldn’t auto-resolve."},{type:"nav",id:"nav-getting-started",label:"Getting Started",icon:"◎",to:"/getting-started",description:"Step-by-step setup status for a new Iranti installation."}],d1=[{keys:["Cmd+K","Ctrl+K"],action:"Open command palette",scope:null,viewPath:null},{keys:["↑","↓"],action:"Navigate results",scope:null,viewPath:null},{keys:["↵"],action:"Select / activate",scope:null,viewPath:null},{keys:["Esc"],action:"Close palette / dismiss panel",scope:null,viewPath:null}];function u1(e){return d1.filter(t=>t.viewPath===null||e.startsWith(t.viewPath))}function h1(e,t){if(!t)return!0;const s=e.toLowerCase(),a=t.toLowerCase();let r=0,i=0;for(;r<s.length&&i<a.length;)s[r]===a[i]&&i++,r++;return i===a.length}function p1({onClose:e,onToggleDarkMode:t}){const[s,a]=d.useState(""),[r,i]=d.useState(0),l=d.useRef(null),o=d.useRef(null),c=_t(),u=An(),m=s.trim(),p=m===""||m==="?"||m.toLowerCase()==="help"||m.toLowerCase()==="shortcuts",h=d.useMemo(()=>u1(u.pathname),[u.pathname]),y=d.useMemo(()=>[{type:"action",id:"action-toggle-dark-mode",label:"Toggle dark / light mode",icon:"◑",onActivate:t},{type:"action",id:"action-refresh-health",label:"Refresh health",icon:"♥",onActivate:()=>{c("/health"),window.dispatchEvent(new CustomEvent("iranti:refresh-health")),e()}},{type:"action",id:"action-run-diagnostics",label:"Run Diagnostics",icon:"⚕",onActivate:()=>{c("/health"),requestAnimationFrame(()=>{window.dispatchEvent(new CustomEvent("iranti:run-diagnostics"))}),e()}}],[t,c,e]),g=d.useMemo(()=>[...c1,...y],[y]),j=m==="?"||m.toLowerCase()==="help"||m.toLowerCase()==="shortcuts",v=d.useMemo(()=>!m||j?g:g.filter(N=>h1(N.label,m)),[m,j,g]);d.useEffect(()=>{i(0)},[s]),d.useEffect(()=>{var N;(N=l.current)==null||N.focus()},[]);const _=d.useCallback(N=>{switch(N.key){case"Escape":N.preventDefault(),e();break;case"ArrowDown":N.preventDefault(),i(k=>(k+1)%Math.max(1,v.length));break;case"ArrowUp":N.preventDefault(),i(k=>(k-1+Math.max(1,v.length))%Math.max(1,v.length));break;case"Enter":{N.preventDefault();const k=v[r];k&&f(k);break}}},[v,r,e]);d.useEffect(()=>{const N=o.current;if(!N)return;const k=N.querySelector('[data-selected="true"]');k&&k.scrollIntoView({block:"nearest"})},[r]);function f(N){N.type==="nav"?(c(N.to),e()):(N.onActivate(),N.id==="action-toggle-dark-mode"&&e())}const x=d.useCallback(N=>{if(N.key==="Tab"){const k=document.querySelectorAll("[data-palette-focusable]"),B=Array.from(k),M=B[0],te=B[B.length-1];if(!M||!te)return;N.shiftKey?document.activeElement===M&&(N.preventDefault(),te.focus()):document.activeElement===te&&(N.preventDefault(),M.focus())}},[]),b=d.useCallback(N=>{N.target===N.currentTarget&&e()},[e]),T=v.filter(N=>N.type==="nav"),R=v.filter(N=>N.type==="action"),L=[...T,...R];return Lf.createPortal(n.jsx("div",{className:ye.overlay,onClick:b,role:"presentation","aria-label":"Command palette backdrop",children:n.jsxs("div",{className:ye.modal,role:"dialog","aria-modal":"true","aria-label":"Command palette",onKeyDown:N=>{_(N),x(N)},children:[n.jsxs("div",{className:ye.inputRow,children:[n.jsx("span",{className:ye.searchIcon,"aria-hidden":"true",children:"⌕"}),n.jsx("input",{ref:l,className:ye.input,type:"text",placeholder:"Navigate or run a command…",value:s,onChange:N=>a(N.target.value),"aria-label":"Command palette search","aria-autocomplete":"list","aria-controls":"cp-results-list","aria-activedescendant":L[r]?`cp-cmd-${L[r].id}`:void 0,autoComplete:"off",spellCheck:!1,"data-palette-focusable":!0}),n.jsx("button",{className:ye.closeBtn,onClick:e,type:"button","aria-label":"Close command palette",tabIndex:0,"data-palette-focusable":!0,children:"Esc"})]}),n.jsxs("ul",{ref:o,className:ye.resultsList,id:"cp-results-list",role:"listbox","aria-label":"Commands",children:[v.length===0&&n.jsxs("li",{className:ye.emptyState,role:"option","aria-selected":!1,children:["No commands match “",s,"”"]}),T.length>0&&n.jsxs(n.Fragment,{children:[n.jsx("li",{className:ye.sectionHeader,role:"presentation",children:"Navigate"}),T.map(N=>{const k=L.indexOf(N),B=k===r;return n.jsxs("li",{id:`cp-cmd-${N.id}`,className:`${ye.resultItemWithDesc} ${B?ye.resultItemWithDescSelected:""}`,role:"option","aria-selected":B,"data-selected":B,onMouseEnter:()=>i(k),onClick:()=>f(N),children:[n.jsx("span",{className:ye.resultIcon,"aria-hidden":"true",children:N.icon}),n.jsxs("span",{className:ye.resultLabelGroup,children:[n.jsx("span",{className:ye.resultLabel,children:N.label}),n.jsx("span",{className:ye.resultDesc,children:N.description})]}),N.hint&&n.jsx("span",{className:ye.resultHint,children:N.hint}),n.jsx("span",{className:ye.resultTag,children:"View"})]},N.id)})]}),R.length>0&&n.jsxs(n.Fragment,{children:[n.jsx("li",{className:ye.sectionHeader,role:"presentation",children:"Actions"}),R.map(N=>{const k=L.indexOf(N),B=k===r;return n.jsxs("li",{id:`cp-cmd-${N.id}`,className:`${ye.resultItem} ${B?ye.resultItemSelected:""}`,role:"option","aria-selected":B,"data-selected":B,onMouseEnter:()=>i(k),onClick:()=>f(N),children:[n.jsx("span",{className:ye.resultIcon,"aria-hidden":"true",children:N.icon}),n.jsx("span",{className:ye.resultLabel,children:N.label}),n.jsx("span",{className:ye.resultTag,children:"Action"})]},N.id)})]}),p&&h.length>0&&n.jsxs(n.Fragment,{children:[n.jsx("li",{className:ye.sectionHeader,role:"presentation",children:"Shortcuts"}),h.map((N,k)=>n.jsxs("li",{className:ye.shortcutRow,role:"presentation","aria-hidden":"true",children:[n.jsx("span",{className:ye.shortcutKeys,children:N.keys.map((B,M)=>n.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[M>0&&n.jsx("span",{className:ye.shortcutSlash,children:"/"}),n.jsx("kbd",{className:ye.kbdShortcut,children:B})]},B))}),n.jsx("span",{className:ye.shortcutAction,children:N.action}),N.scope&&n.jsx("span",{className:ye.shortcutScope,children:N.scope})]},k))]}),p&&n.jsxs(n.Fragment,{children:[n.jsx("li",{className:ye.sectionHeader,role:"presentation",children:"Navigation shortcuts"}),o1.map(N=>n.jsxs("li",{className:ye.shortcutRow,role:"presentation","aria-hidden":"true",children:[n.jsx("span",{className:ye.shortcutKeys,children:n.jsx("kbd",{className:ye.kbdShortcut,children:N.keys})}),n.jsx("span",{className:ye.shortcutAction,children:N.label})]},N.keys))]})]}),n.jsxs("div",{className:ye.footer,children:[n.jsxs("span",{className:ye.footerHint,children:[n.jsx("kbd",{className:ye.kbd,children:"↑"}),n.jsx("kbd",{className:ye.kbd,children:"↓"})," navigate",n.jsx("span",{className:ye.footerSep}),n.jsx("kbd",{className:ye.kbd,children:"↵"})," select",n.jsx("span",{className:ye.footerSep}),n.jsx("kbd",{className:ye.kbd,children:"Esc"})," close"]}),n.jsxs("button",{className:`${ye.footerShortcutsBtn} ${p?ye.footerShortcutsBtnActive:""}`,type:"button",tabIndex:-1,"aria-label":"Show keyboard shortcuts",onClick:()=>{var N,k;p&&s===""?(N=l.current)==null||N.focus():(a("?"),(k=l.current)==null||k.focus())},"data-palette-focusable":!0,children:[n.jsx("span",{"aria-hidden":"true",children:"⌨"})," shortcuts"]})]})]})}),document.body)}function m1(){const[e,t]=d.useState(!1),s=d.useRef(null),a=d.useCallback(()=>{s.current=document.activeElement,t(!0)},[]),r=d.useCallback(()=>{t(!1);const i=s.current;i&&typeof i.focus=="function"&&requestAnimationFrame(()=>i.focus())},[]);return d.useEffect(()=>{const i=l=>{(navigator.platform.toUpperCase().includes("MAC")?l.metaKey:l.ctrlKey)&&l.key==="k"&&(l.preventDefault(),e?r():a())};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[e,a,r]),{open:e,openPalette:a,closePalette:r}}const f1="_panel_136vd_14",_1="_panelClosed_136vd_30",g1="_panelOpen_136vd_41",y1="_panelHeader_136vd_82",x1="_panelTitle_136vd_94",v1="_panelHeaderActions_136vd_101",j1="_clearBtn_136vd_107",N1="_clearBtnConfirm_136vd_125",b1="_closeBtn_136vd_138",S1="_selectors_136vd_164",w1="_agentRow_136vd_170",C1="_providerRow_136vd_171",k1="_selectorLabel_136vd_183",T1="_agentInput_136vd_193",R1="_selectorSelect_136vd_215",I1="_providerLoading_136vd_235",B1="_providerEmpty_136vd_241",E1="_thread_136vd_251",L1="_emptyState_136vd_262",P1="_message_136vd_279",A1="_messageUser_136vd_286",$1="_messageAssistant_136vd_290",D1="_messageRole_136vd_294",M1="_messageContent_136vd_303",F1="_messageMemoryBlocks_136vd_327",O1="_messageMemoryBlocksPlaceholder_136vd_335",H1="_memoryCard_136vd_344",z1="_memoryCardHeader_136vd_356",U1="_memoryCardEntityType_136vd_371",V1="_memoryCardEntityId_136vd_387",q1="_memoryCardKey_136vd_398",W1="_memoryCardConfidence_136vd_408",K1="_memoryCardSummary_136vd_420",G1="_memoryCardFooter_136vd_427",Q1="_memoryCardSource_136vd_434",J1="_memoryCardLink_136vd_440",Y1="_loadingIndicator_136vd_461",X1="_loadingText_136vd_468",Z1="_inputArea_136vd_478",eS="_inputRow_136vd_489",tS="_textarea_136vd_495",nS="_inputActions_136vd_528",sS="_sendBtn_136vd_534",aS="_cancelBtn_136vd_559",rS="_slashPalette_136vd_581",iS="_slashItem_136vd_594",lS="_slashItemActive_136vd_607",oS="_slashCmd_136vd_611",cS="_slashDismiss_136vd_617",dS="_slashDismissBtn_136vd_624",uS="_toggleBtn_136vd_642",hS="_toggleBtnActive_136vd_664",pS="_toggleBtnIcon_136vd_675",mS="_toggleBtnLabel_136vd_680",ie={panel:f1,panelClosed:_1,panelOpen:g1,panelHeader:y1,panelTitle:x1,panelHeaderActions:v1,clearBtn:j1,clearBtnConfirm:N1,closeBtn:b1,selectors:S1,agentRow:w1,providerRow:C1,selectorLabel:k1,agentInput:T1,selectorSelect:R1,providerLoading:I1,providerEmpty:B1,thread:E1,emptyState:L1,message:P1,messageUser:A1,messageAssistant:$1,messageRole:D1,messageContent:M1,messageMemoryBlocks:F1,messageMemoryBlocksPlaceholder:O1,memoryCard:H1,memoryCardHeader:z1,memoryCardEntityType:U1,memoryCardEntityId:V1,memoryCardKey:q1,memoryCardConfidence:W1,memoryCardSummary:K1,memoryCardFooter:G1,memoryCardSource:Q1,memoryCardLink:J1,loadingIndicator:Y1,loadingText:X1,inputArea:Z1,inputRow:eS,textarea:tS,inputActions:nS,sendBtn:sS,cancelBtn:aS,slashPalette:rS,slashItem:iS,slashItemActive:lS,slashCmd:oS,slashDismiss:cS,slashDismissBtn:dS,toggleBtn:uS,toggleBtnActive:hS,toggleBtnIcon:pS,toggleBtnLabel:mS},fS="operator",x_=["/write","/query","/queryAll","/history","/search","/ingest","/relate","/related","/resolve","/confidence","/clear","/provider","/help"];let Ih=0;function xi(){return Ih+=1,`msg-${Date.now()}-${Ih}`}function _S({query:e,onSelect:t,onDismiss:s,activeIndex:a,onActiveIndexChange:r}){const i=x_.filter(l=>l.toLowerCase().startsWith(e.toLowerCase()));return i.length===0?null:n.jsxs("div",{className:ie.slashPalette,role:"listbox","aria-label":"Slash commands",children:[i.map((l,o)=>n.jsx("button",{role:"option","aria-selected":o===a,className:`${ie.slashItem} ${o===a?ie.slashItemActive:""}`,onMouseDown:c=>{c.preventDefault(),t(l)},onMouseEnter:()=>r(o),tabIndex:-1,type:"button",children:n.jsx("span",{className:ie.slashCmd,children:l})},l)),n.jsx("div",{className:ie.slashDismiss,children:n.jsx("button",{type:"button",className:ie.slashDismissBtn,onMouseDown:l=>{l.preventDefault(),s()},tabIndex:-1,children:"Esc to dismiss"})})]})}function gS({block:e,onViewInExplorer:t}){const s=`${Math.round(e.confidence*100)}%`;return n.jsxs("div",{className:ie.memoryCard,"aria-label":`Memory block: ${e.entityType}/${e.entityId}`,children:[n.jsxs("div",{className:ie.memoryCardHeader,children:[n.jsx("span",{className:ie.memoryCardEntityType,"aria-label":"Entity type",children:e.entityType}),n.jsx("span",{className:ie.memoryCardEntityId,"aria-label":"Entity ID",children:e.entityId}),n.jsx("span",{className:ie.memoryCardKey,title:e.key,children:e.key}),n.jsx("span",{className:ie.memoryCardConfidence,"aria-label":`Confidence ${s}`,title:`Confidence: ${s}`,children:s})]}),n.jsx("p",{className:ie.memoryCardSummary,children:e.summary}),n.jsxs("div",{className:ie.memoryCardFooter,children:[n.jsxs("span",{className:ie.memoryCardSource,children:["via ",e.source]}),n.jsx("button",{type:"button",className:ie.memoryCardLink,onClick:()=>t(e.entityType,e.entityId),children:"View in Memory Explorer →"})]})]})}function yS({message:e,onViewInExplorer:t}){return n.jsxs("div",{className:`${ie.message} ${e.role==="user"?ie.messageUser:ie.messageAssistant}`,"aria-label":`${e.role} message`,children:[n.jsx("div",{className:ie.messageRole,children:e.role==="user"?"you":"iranti"}),n.jsx("div",{className:ie.messageContent,children:e.content}),e.role==="assistant"&&e.memoryBlocks&&e.memoryBlocks.length>0&&n.jsx("div",{className:ie.messageMemoryBlocks,"aria-label":"Retrieved memory blocks",children:e.memoryBlocks.map(s=>n.jsx(gS,{block:s,onViewInExplorer:t},`${s.entityType}/${s.entityId}/${s.key}`))}),e.role==="assistant"&&(!e.memoryBlocks||e.memoryBlocks.length===0)&&n.jsx("div",{className:ie.messageMemoryBlocksPlaceholder,"data-memory-blocks-slot":"true"})]})}function xS({onClose:e,onClear:t}){const[s,a]=d.useState("idle"),r=d.useRef(null),i=()=>{s==="idle"?(a("confirm"),r.current=setTimeout(()=>{a("idle")},3e3)):(r.current&&clearTimeout(r.current),a("idle"),t())};return d.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]),n.jsxs("div",{className:ie.panelHeader,children:[n.jsx("span",{className:ie.panelTitle,children:"Iranti Chat"}),n.jsxs("div",{className:ie.panelHeaderActions,children:[n.jsx("button",{type:"button",className:`${ie.clearBtn} ${s==="confirm"?ie.clearBtnConfirm:""}`,onClick:i,"aria-label":s==="confirm"?"Confirm: click again to clear conversation":"Clear conversation",title:s==="confirm"?"Click again to confirm clear":"Clear conversation",children:s==="confirm"?"Confirm clear?":"✕"}),n.jsx("button",{type:"button",className:ie.closeBtn,onClick:e,"aria-label":"Close chat panel",title:"Close chat panel",children:"×"})]})]})}function vS({providers:e,selectedId:t,onSelect:s,isLoading:a,loadError:r}){return a?n.jsxs("div",{className:ie.providerRow,children:[n.jsx("span",{className:ie.selectorLabel,children:"provider"}),n.jsx("span",{className:ie.providerLoading,children:"Loading…"})]}):r||e.length===0?n.jsxs("div",{className:ie.providerRow,children:[n.jsx("span",{className:ie.selectorLabel,children:"provider"}),n.jsx("span",{className:ie.providerEmpty,children:"No providers configured"})]}):n.jsxs("div",{className:ie.providerRow,children:[n.jsx("label",{htmlFor:"chat-provider-select",className:ie.selectorLabel,children:"provider"}),n.jsx("select",{id:"chat-provider-select",className:ie.selectorSelect,value:t??"",onChange:i=>s(i.target.value),"aria-label":"Select provider for chat session",children:e.map(i=>n.jsx("option",{value:i.id,children:i.label},i.id))})]})}function jS({isOpen:e,onClose:t}){const s=_t(),[a,r]=d.useState([]),[i,l]=d.useState(!1),o=d.useRef(null),[c,u]=d.useState(void 0),[m,p]=d.useState(fS),[h,y]=d.useState([]),[g,j]=d.useState(null),[v,_]=d.useState(!1),[f,x]=d.useState(!1),[b,T]=d.useState(""),R=d.useRef(null),[L,N]=d.useState(!1),[k,B]=d.useState(""),[M,te]=d.useState(0),de=d.useRef(null);d.useEffect(()=>{fetch("/api/control-plane/instances/local/env-defaults").then(q=>q.ok?q.json():null).then(q=>{q!=null&&q.agentId&&p(q.agentId)}).catch(()=>{})},[]),d.useEffect(()=>{_(!0),x(!1),fetch("/api/control-plane/providers").then(q=>{if(!q.ok)throw new Error("Provider fetch failed");return q.json()}).then(q=>{const Be=q.providers.map(Ke=>({id:Ke.id,label:Ke.name}));y(Be);const Pe=q.providers.find(Ke=>Ke.isDefault),Ye=q.providers[0],ze=Pe??Ye;ze&&j(ze.id)}).catch(()=>{x(!0)}).finally(()=>{_(!1)})},[]),d.useEffect(()=>{de.current&&(de.current.scrollTop=de.current.scrollHeight)},[a]);const J=d.useCallback(()=>{const q=R.current;if(!q)return;q.style.height="auto";const Be=6*20+16;q.style.height=`${Math.min(q.scrollHeight,Be)}px`},[]);d.useEffect(()=>{J()},[b,J]);const Z=q=>{const Be=q.target.value;T(Be),Be.startsWith("/")?(B(Be),N(!0),te(0)):(N(!1),B(""))},O=q=>{T(q+" "),N(!1),B(""),te(0),requestAnimationFrame(()=>{var Be;(Be=R.current)==null||Be.focus()})},Ie=q=>{if(L){const Be=x_.filter(Pe=>Pe.toLowerCase().startsWith(k.toLowerCase()));if(q.key==="ArrowDown"){q.preventDefault(),te(Pe=>Math.min(Pe+1,Be.length-1));return}if(q.key==="ArrowUp"){q.preventDefault(),te(Pe=>Math.max(Pe-1,0));return}if(q.key==="Enter"&&!q.shiftKey){q.preventDefault();const Pe=Be[M];Pe&&O(Pe);return}if(q.key==="Escape"){q.preventDefault(),N(!1);return}}q.key==="Enter"&&!q.shiftKey&&(q.preventDefault(),G())},G=d.useCallback(async()=>{const q=b.trim();if(!q||i)return;const Be={id:xi(),role:"user",content:q,createdAt:new Date};r(Ye=>[...Ye,Be]),T(""),N(!1);const Pe=new AbortController;o.current=Pe,l(!0);try{const Ye={agentId:m,message:q,...g!=null?{providerId:g}:{},...c!==void 0?{sessionId:c}:{}},ze=await fetch("/api/control-plane/chat",{method:"POST",headers:{"Content-Type":"application/json"},signal:Pe.signal,body:JSON.stringify(Ye)});if(!ze.ok){let gn=`HTTP ${ze.status}`;try{const $n=await ze.json();gn=$n.error??$n.message??gn}catch{gn=ze.statusText||gn}throw new Error(gn)}const Ke=await ze.json();Ke.sessionId&&u(Ke.sessionId);const js=Array.isArray(Ke.retrievedFacts)?Ke.retrievedFacts:[],Jt={id:xi(),role:"assistant",content:Ke.content,memoryBlocks:js.length>0?js:void 0,createdAt:new Date};r(gn=>[...gn,Jt])}catch(Ye){if(Ye instanceof DOMException&&Ye.name==="AbortError"){const ze={id:xi(),role:"assistant",content:"Message cancelled.",createdAt:new Date};r(Ke=>[...Ke,ze])}else{const ze=Ye instanceof Error?Ye.message:"Unknown error",Ke={id:xi(),role:"assistant",content:`Failed to send message — ${ze}. Try again.`,createdAt:new Date};r(js=>[...js,Ke])}}finally{l(!1),o.current=null}},[b,i,m,g,c]),ce=()=>{o.current&&o.current.abort()},ue=()=>{r([]),u(void 0)},Q=d.useCallback((q,Be)=>{s(`/memory/${encodeURIComponent(q)}/${encodeURIComponent(Be)}`)},[s]);return n.jsxs("div",{className:`${ie.panel} ${e?ie.panelOpen:ie.panelClosed}`,"aria-label":"Iranti Chat panel","aria-hidden":!e,role:"complementary",children:[n.jsx(xS,{onClose:t,onClear:ue}),n.jsxs("div",{className:ie.selectors,children:[n.jsxs("div",{className:ie.agentRow,children:[n.jsx("label",{htmlFor:"chat-agent-id",className:ie.selectorLabel,children:"agent"}),n.jsx("input",{id:"chat-agent-id",type:"text",className:ie.agentInput,value:m,onChange:q=>p(q.target.value),placeholder:"operator",spellCheck:!1,"aria-label":"Agent ID for chat session"})]}),n.jsx(vS,{providers:h,selectedId:g,onSelect:j,isLoading:v,loadError:f})]}),n.jsxs("div",{ref:de,className:ie.thread,role:"log","aria-live":"polite","aria-label":"Conversation thread",children:[a.length===0&&n.jsx("div",{className:ie.emptyState,children:"Send a message to start chatting with Iranti."}),a.map(q=>n.jsx(yS,{message:q,onViewInExplorer:Q},q.id)),i&&n.jsxs("div",{className:ie.loadingIndicator,"aria-label":"Waiting for response",children:[n.jsx(Fe,{size:"sm",label:"Waiting for Iranti response"}),n.jsx("span",{className:ie.loadingText,children:"Thinking…"})]})]}),n.jsxs("div",{className:ie.inputArea,children:[L&&n.jsx(_S,{query:k,onSelect:O,onDismiss:()=>N(!1),activeIndex:M,onActiveIndexChange:te}),n.jsxs("div",{className:ie.inputRow,children:[n.jsx("textarea",{ref:R,className:ie.textarea,value:b,onChange:Z,onKeyDown:Ie,placeholder:"Message Iranti… (/ for commands)",disabled:i,rows:1,"aria-label":"Chat message input","aria-multiline":"true",spellCheck:!0}),n.jsx("div",{className:ie.inputActions,children:i?n.jsx("button",{type:"button",className:ie.cancelBtn,onClick:ce,"aria-label":"Cancel in-flight request",children:"Cancel"}):n.jsx("button",{type:"button",className:ie.sendBtn,onClick:()=>void G(),disabled:!b.trim(),"aria-label":"Send message",children:"↑"})})]})]})]})}function NS({isOpen:e,onClick:t}){return n.jsxs("button",{type:"button",className:`${ie.toggleBtn} ${e?ie.toggleBtnActive:""}`,onClick:t,"aria-label":e?"Close Iranti Chat panel":"Open Iranti Chat panel","aria-expanded":e,"aria-controls":"iranti-chat-panel",title:e?"Close Chat":"Open Chat",children:[n.jsx("span",{className:ie.toggleBtnIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("span",{className:ie.toggleBtnLabel,children:"Chat"})]})}const bS="_toast_1x2te_4",SS="_icon_1x2te_43",wS="_content_1x2te_61",CS="_title_1x2te_69",kS="_message_1x2te_75",TS="_action_1x2te_84",RS="_dismiss_1x2te_98",Ns={toast:bS,icon:SS,content:wS,title:CS,message:kS,action:TS,dismiss:RS},IS={error:"✕",warn:"⚠",info:"◈"},BS={error:void 0,warn:1e4,info:6e3};function ES({toast:e,onDismiss:t}){const{id:s,severity:a,title:r,message:i,action:l,autoDismissMs:o}=e,[c,u]=d.useState(!0),m=d.useRef(null);d.useEffect(()=>{const h=requestAnimationFrame(()=>{u(!1)});return()=>cancelAnimationFrame(h)},[]),d.useEffect(()=>{const h=o??BS[a];if(h!==void 0)return m.current=setTimeout(()=>{t(s)},h),()=>{m.current!==null&&clearTimeout(m.current)}},[s,a,o,t]);const p=IS[a]??"◈";return n.jsxs("div",{className:Ns.toast,"data-severity":a,"data-entering":String(c),role:"alert","aria-live":"assertive","aria-atomic":"true",children:[n.jsx("span",{className:Ns.icon,"aria-hidden":"true",children:p}),n.jsxs("div",{className:Ns.content,children:[n.jsx("span",{className:Ns.title,children:r}),n.jsx("span",{className:Ns.message,title:i,children:i}),l&&n.jsx(Se,{to:l.href,className:Ns.action,onClick:()=>t(s),children:l.label})]}),n.jsx("button",{type:"button",className:Ns.dismiss,onClick:()=>t(s),"aria-label":"Dismiss notification",children:"×"})]})}const LS="_container_1wy0k_4",PS={container:LS};function AS({toasts:e,onDismiss:t}){return e.length===0?null:n.jsx("div",{className:PS.container,"aria-label":"Notifications","aria-live":"polite",children:e.map(s=>n.jsx(ES,{toast:s,onDismiss:t},s.id))})}const $S=4;function DS(e,t){switch(t.type){case"ADD":return e.some(r=>r.title===t.toast.title)?e:[...e.length>=$S?e.slice(1):e,t.toast];case"DISMISS":return e.filter(s=>s.id!==t.id);default:return e}}function MS(){const[e,t]=d.useReducer(DS,[]),s=d.useCallback(r=>{const i=`${Date.now()}-${Math.random().toString(36).slice(2,8)}`;t({type:"ADD",toast:{...r,id:i}})},[]),a=d.useCallback(r=>{t({type:"DISMISS",id:r})},[]);return{toasts:e,addToast:s,dismissToast:a}}function v_({size:e=22}){const t=Math.round(e*.57);return n.jsx("span",{style:{width:e,height:e,borderRadius:4,background:"#f59e0b",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},"aria-hidden":"true",children:n.jsxs("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[n.jsx("line",{x1:"7",y1:"7",x2:"2",y2:"4",stroke:"#080808",strokeWidth:"0.6",strokeOpacity:"0.4"}),n.jsx("line",{x1:"7",y1:"7",x2:"12",y2:"4",stroke:"#080808",strokeWidth:"0.6",strokeOpacity:"0.4"}),n.jsx("line",{x1:"7",y1:"7",x2:"2",y2:"10",stroke:"#080808",strokeWidth:"0.6",strokeOpacity:"0.3"}),n.jsx("line",{x1:"7",y1:"7",x2:"12",y2:"10",stroke:"#080808",strokeWidth:"0.6",strokeOpacity:"0.3"}),n.jsx("circle",{cx:"2",cy:"4",r:"1.4",fill:"#080808",opacity:"0.65"}),n.jsx("circle",{cx:"12",cy:"4",r:"1.4",fill:"#080808",opacity:"0.65"}),n.jsx("circle",{cx:"2",cy:"10",r:"1.4",fill:"#080808",opacity:"0.45"}),n.jsx("circle",{cx:"12",cy:"10",r:"1.4",fill:"#080808",opacity:"0.45"}),n.jsx("circle",{cx:"7",cy:"7",r:"2.4",fill:"#080808"})]})})}const FS="_overlay_5rgge_9",OS="_dismissButton_5rgge_24",HS="_card_5rgge_49",zS="_cardHeader_5rgge_66",US="_cardBrand_5rgge_72",VS="_progressDots_5rgge_83",qS="_progressDot_5rgge_83",WS="_stepContent_5rgge_115",KS="_stepTitle_5rgge_121",GS="_stepBody_5rgge_130",QS="_stepHint_5rgge_137",JS="_commandBlock_5rgge_148",YS="_commandText_5rgge_160",XS="_commandLabel_5rgge_168",ZS="_copyButton_5rgge_179",ew="_fieldGroup_5rgge_202",tw="_fieldLabel_5rgge_208",nw="_textInput_5rgge_216",sw="_fieldError_5rgge_239",aw="_inlineCode_5rgge_248",rw="_instanceBadge_5rgge_262",iw="_instanceBadgeLabel_5rgge_273",lw="_instanceBadgeName_5rgge_280",ow="_successBanner_5rgge_290",cw="_successIcon_5rgge_303",dw="_errorBanner_5rgge_308",uw="_warnBanner_5rgge_320",hw="_stepActions_5rgge_337",pw="_primaryButton_5rgge_344",mw="_secondaryButton_5rgge_372",fw="_skipLink_5rgge_401",_w="_allDone_5rgge_422",gw="_allDoneIcon_5rgge_431",yw="_allDoneText_5rgge_444",xw="_dismissOverlay_5rgge_456",vw="_dismissCard_5rgge_467",jw="_dismissMessage_5rgge_480",Nw="_dismissActions_5rgge_487",re={overlay:FS,dismissButton:OS,card:HS,cardHeader:zS,cardBrand:US,progressDots:VS,progressDot:qS,stepContent:WS,stepTitle:KS,stepBody:GS,stepHint:QS,commandBlock:JS,commandText:YS,commandLabel:XS,copyButton:ZS,fieldGroup:ew,fieldLabel:tw,textInput:nw,fieldError:sw,inlineCode:aw,instanceBadge:rw,instanceBadgeLabel:iw,instanceBadgeName:lw,successBanner:ow,successIcon:cw,errorBanner:dw,warnBanner:uw,stepActions:hw,primaryButton:pw,secondaryButton:mw,skipLink:fw,allDone:_w,allDoneIcon:gw,allDoneText:yw,dismissOverlay:xw,dismissCard:vw,dismissMessage:jw,dismissActions:Nw},Mc="iranti_cp_setup_dismissed",j_="iranti_setup_complete",Bh=/^[a-zA-Z0-9_-]*$/;function Eh(e){try{return localStorage.getItem(e)==="true"}catch{return!1}}function go(e){try{localStorage.setItem(e,"true")}catch{}}async function N_(){try{const e=await fetch("/api/control-plane/health",{method:"GET"});if(!e.ok)return{reachable:!1,authPassing:!1};const t=await e.json(),s=t.checks.find(a=>a.name==="iranti_auth");return{reachable:t.overall!=="error"||t.checks.some(a=>a.name==="iranti_connectivity"&&a.status==="ok"),authPassing:(s==null?void 0:s.status)==="ok"}}catch{return{reachable:!1,authPassing:!1}}}function bw({text:e}){const[t,s]=d.useState(!1),a=d.useRef(null),r=d.useCallback(()=>{navigator.clipboard.writeText(e).then(()=>{s(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>s(!1),1800)})},[e]);return d.useEffect(()=>()=>{a.current&&clearTimeout(a.current)},[]),n.jsx("button",{type:"button",className:re.copyButton,onClick:r,"aria-label":t?"Copied":"Copy to clipboard",children:t?"✓ Copied":"Copy"})}function Dl({command:e}){return n.jsxs("div",{className:re.commandBlock,children:[n.jsx("code",{className:re.commandText,children:e}),n.jsx(bw,{text:e})]})}function Sw({total:e,current:t,completed:s}){return n.jsx("div",{className:re.progressDots,"aria-label":`Step ${t+1} of ${e}`,role:"progressbar",children:Array.from({length:e},(a,r)=>{let i="pending";return r<s?i="complete":r===t&&(i="active"),n.jsx("span",{className:re.progressDot,"data-state":i,"aria-hidden":"true"},r)})})}function ww({installState:e,onAdvance:t,onSkip:s}){const a=Ht(),[r,i]=d.useState(!1),[l,o]=d.useState(!1),c=d.useRef(!1);d.useEffect(()=>{if(e!=null&&e.installed&&!c.current){c.current=!0,o(!0);const m=setTimeout(()=>t(),1500);return()=>clearTimeout(m)}},[e==null?void 0:e.installed,t]),d.useEffect(()=>{const m=setInterval(()=>{a.invalidateQueries({queryKey:["install-state"]})},3e3);return()=>clearInterval(m)},[a]);const u=d.useCallback(()=>{i(!0),a.invalidateQueries({queryKey:["install-state"]}).then(()=>{i(!1)})},[a]);return n.jsxs("div",{className:re.stepContent,children:[n.jsx("h2",{className:re.stepTitle,children:"Install Iranti"}),n.jsx("p",{className:re.stepBody,children:"Iranti is not detected on your system. Install it with npm:"}),n.jsx(Dl,{command:"npm install -g iranti"}),n.jsx("p",{className:re.stepHint,children:"Then press the button below to check detection, or wait — we'll check automatically."}),l&&n.jsxs("div",{className:re.successBanner,role:"status",children:[n.jsx("span",{className:re.successIcon,"aria-hidden":"true",children:"✓"}),"Iranti detected",e!=null&&e.version?` — v${e.version}`:""," — advancing…"]}),n.jsx("div",{className:re.stepActions,children:n.jsx("button",{type:"button",className:re.primaryButton,onClick:u,disabled:r||l,children:r?"Checking…":"Check again"})}),n.jsx("button",{type:"button",className:re.skipLink,onClick:s,children:"Already installed? Skip →"})]})}function Cw({onAdvance:e,onSkip:t}){const[s,a]=d.useState("default"),[r,i]=d.useState(null),l=`iranti init --instance ${s||"<name>"}`,o=d.useCallback(u=>{const m=u.target.value;Bh.test(m)&&(m.length>32||(a(m),i(null)))},[]),c=d.useCallback(()=>{if(!s){i("Instance name is required");return}if(!Bh.test(s)||s.length>32){i("Name must be alphanumeric, hyphens, or underscores — max 32 chars");return}e(s)},[s,e]);return n.jsxs("div",{className:re.stepContent,children:[n.jsx("h2",{className:re.stepTitle,children:"Create an instance"}),n.jsx("p",{className:re.stepBody,children:"An instance is a named Iranti process. Create one:"}),n.jsxs("div",{className:re.fieldGroup,children:[n.jsx("label",{className:re.fieldLabel,htmlFor:"instance-name",children:"Instance name"}),n.jsx("input",{id:"instance-name",type:"text",className:re.textInput,value:s,onChange:o,placeholder:"my-instance",maxLength:32,autoComplete:"off",spellCheck:!1}),r&&n.jsx("span",{className:re.fieldError,role:"alert",children:r})]}),n.jsx("div",{className:re.commandLabel,children:"Command to run in your terminal:"}),n.jsx(Dl,{command:l}),n.jsx("div",{className:re.stepActions,children:n.jsx("button",{type:"button",className:re.primaryButton,onClick:c,children:"Next →"})}),n.jsx("button",{type:"button",className:re.skipLink,onClick:t,children:"Already have an instance? Skip →"})]})}function kw({instanceName:e,onAdvance:t,onSkip:s}){const[a,r]=d.useState(!1),[i,l]=d.useState(null),[o,c]=d.useState(!1),[u,m]=d.useState(!1),p=d.useRef(!1),h=d.useRef(null),y=d.useRef(null),g=`iranti run --instance ${e}`,j=d.useCallback(()=>{h.current&&clearInterval(h.current),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{p.current||(m(!0),h.current&&clearInterval(h.current))},3e4),h.current=setInterval(()=>{N_().then(({reachable:_})=>{if(_&&!p.current){p.current=!0,c(!0),h.current&&clearInterval(h.current),y.current&&clearTimeout(y.current);const f=setTimeout(()=>t(),1500);return()=>clearTimeout(f)}})},3e3)},[t]);d.useEffect(()=>()=>{h.current&&clearInterval(h.current),y.current&&clearTimeout(y.current)},[]);const v=d.useCallback(()=>{e&&(r(!0),l(null),m(!1),Al(e).then(()=>{r(!1),j()}).catch(_=>{r(!1),l(_ instanceof Error?_.message:"Failed to start instance")}))},[e,j]);return n.jsxs("div",{className:re.stepContent,children:[n.jsx("h2",{className:re.stepTitle,children:"Start Iranti"}),n.jsx("p",{className:re.stepBody,children:"Start your instance to connect:"}),n.jsxs("div",{className:re.instanceBadge,children:[n.jsx("span",{className:re.instanceBadgeLabel,children:"Instance"}),n.jsx("span",{className:re.instanceBadgeName,children:e})]}),n.jsx(Dl,{command:g}),o&&n.jsxs("div",{className:re.successBanner,role:"status",children:[n.jsx("span",{className:re.successIcon,"aria-hidden":"true",children:"✓"}),"Iranti is running — advancing…"]}),i&&n.jsx("div",{className:re.errorBanner,role:"alert",children:i}),u&&!o&&n.jsx("div",{className:re.warnBanner,role:"status",children:"Still starting — this can take a few seconds. If it doesn't connect, check the terminal for errors."}),n.jsx("div",{className:re.stepActions,children:n.jsx("button",{type:"button",className:re.primaryButton,onClick:v,disabled:a||o,children:a?"Starting…":"Start from here"})}),n.jsx("button",{type:"button",className:re.skipLink,onClick:s,children:"Already running? Skip →"})]})}function Tw({instanceName:e,onDone:t,onGoToProviders:s}){const[a,r]=d.useState(!1),i=d.useRef(null),l=d.useRef(!1),o=`iranti add api-key openai --instance ${e} --set-default`;return d.useEffect(()=>(i.current=setInterval(()=>{N_().then(({authPassing:c})=>{c&&!l.current&&(l.current=!0,r(!0),i.current&&clearInterval(i.current))})},3e3),()=>{i.current&&clearInterval(i.current)}),[]),n.jsxs("div",{className:re.stepContent,children:[n.jsx("h2",{className:re.stepTitle,children:"Configure your API key"}),n.jsxs("p",{className:re.stepBody,children:["Iranti needs a provider credential in the instance env. Add it from the Provider Manager, or run the equivalent CLI command for ",n.jsx("code",{className:re.inlineCode,children:e}),":"]}),n.jsx(Dl,{command:o}),a&&n.jsxs("div",{className:re.successBanner,role:"status",children:[n.jsx("span",{className:re.successIcon,"aria-hidden":"true",children:"✓"}),"API key configured"]}),n.jsx("div",{className:re.stepActions,children:n.jsx("button",{type:"button",className:re.primaryButton,onClick:s,children:"Go to Provider Manager →"})}),n.jsx("button",{type:"button",className:re.skipLink,onClick:t,children:"Done — Enter Control Plane →"})]})}function Rw({onConfirm:e,onCancel:t}){return n.jsx("div",{className:re.dismissOverlay,role:"dialog","aria-modal":"true","aria-label":"Dismiss setup wizard",children:n.jsxs("div",{className:re.dismissCard,children:[n.jsx("p",{className:re.dismissMessage,children:"Dismiss setup wizard? You can reopen it from the Help menu."}),n.jsxs("div",{className:re.dismissActions,children:[n.jsx("button",{type:"button",className:re.primaryButton,onClick:e,children:"Confirm"}),n.jsx("button",{type:"button",className:re.secondaryButton,onClick:t,children:"Cancel"})]})]})})}function Iw({onDismiss:e}){const t=_t(),[s,a]=d.useState(0),[r,i]=d.useState(0),[l,o]=d.useState("default"),[c,u]=d.useState(!1),[m,p]=d.useState(!1),{data:h}=Ne({queryKey:["install-state"],queryFn:Vd,staleTime:5e3,refetchInterval:5e3}),y=d.useRef(!1);d.useEffect(()=>{!y.current&&h!==void 0&&(y.current=!0,h.installed&&(a(1),i(1)))},[h]);const g=d.useCallback(()=>{i(B=>Math.max(B,1)),a(1)},[]),j=d.useCallback(()=>{i(B=>Math.max(B,1)),a(1)},[]),v=d.useCallback(B=>{o(B),i(M=>Math.max(M,2)),a(2)},[]),_=d.useCallback(()=>{i(B=>Math.max(B,2)),a(2)},[]),f=d.useCallback(()=>{i(B=>Math.max(B,3)),a(3)},[]),x=d.useCallback(()=>{i(B=>Math.max(B,3)),a(3)},[]),b=d.useCallback(()=>{go(j_),p(!0),setTimeout(()=>{e(),t("/overview",{replace:!0})},2e3)},[e,t]),T=d.useCallback(()=>{go(Mc),e(),t("/providers",{replace:!0})},[e,t]),R=d.useCallback(()=>{u(!0)},[]),L=d.useCallback(()=>{go(Mc),e()},[e]),N=d.useCallback(()=>{u(!1)},[]);return n.jsxs("div",{className:re.overlay,role:"dialog","aria-modal":"true","aria-label":"Iranti setup wizard",children:[n.jsx("button",{type:"button",className:re.dismissButton,onClick:R,"aria-label":"Skip setup",children:"Skip setup"}),n.jsxs("div",{className:re.card,children:[n.jsxs("div",{className:re.cardHeader,children:[n.jsx(v_,{size:28}),n.jsx("span",{className:re.cardBrand,children:"iranti"})]}),n.jsx(Sw,{total:4,current:s,completed:r}),m?n.jsxs("div",{className:re.allDone,role:"status",children:[n.jsx("span",{className:re.allDoneIcon,"aria-hidden":"true",children:"✓"}),n.jsx("p",{className:re.allDoneText,children:"You're all set!"})]}):n.jsxs(n.Fragment,{children:[s===0&&n.jsx(ww,{installState:h,onAdvance:g,onSkip:j}),s===1&&n.jsx(Cw,{onAdvance:v,onSkip:_}),s===2&&n.jsx(kw,{instanceName:l,onAdvance:f,onSkip:x}),s===3&&n.jsx(Tw,{instanceName:l,onDone:b,onGoToProviders:T})]})]}),c&&n.jsx(Rw,{onConfirm:L,onCancel:N})]})}function Bw(e){return e===void 0||Eh(j_)&&e.installed||Eh(Mc)&&e.installed?!1:!e.installed}const Ew="_shell_1p9mh_8",Lw="_sidebar_1p9mh_20",Pw="_logo_1p9mh_33",Aw="_logoText_1p9mh_48",$w="_instanceSwitcher_1p9mh_57",Dw="_instanceLabel_1p9mh_64",Mw="_instanceButton_1p9mh_73",Fw="_instanceName_1p9mh_100",Ow="_instancePort_1p9mh_107",Hw="_instanceCaret_1p9mh_113",zw="_instanceDropdown_1p9mh_119",Uw="_instanceOption_1p9mh_132",Vw="_instanceOptionActive_1p9mh_153",qw="_instanceStatusDot_1p9mh_157",Ww="_instanceOptionName_1p9mh_177",Kw="_instanceOptionPort_1p9mh_184",Gw="_instanceError_1p9mh_190",Qw="_nav_1p9mh_199",Jw="_navItem_1p9mh_205",Yw="_navItemActive_1p9mh_224",Xw="_navIcon_1p9mh_240",Zw="_navLabel_1p9mh_247",eC="_navBadge_1p9mh_264",tC="_setupBanner_1p9mh_281",nC="_setupBannerIcon_1p9mh_292",sC="_setupBannerText_1p9mh_297",aC="_setupBannerLink_1p9mh_303",rC="_setupBannerDismiss_1p9mh_314",iC="_sidebarFooter_1p9mh_333",lC="_sidebarFooterActions_1p9mh_346",oC="_apiStatusIndicator_1p9mh_355",cC="_apiStatusDot_1p9mh_376",dC="_apiStatusLabel_1p9mh_403",uC="_themeToggle_1p9mh_410",hC="_mainArea_1p9mh_434",pC="_topbar_1p9mh_444",mC="_topbarTitle_1p9mh_456",fC="_topbarActions_1p9mh_464",_C="_content_1p9mh_472",gC="_activityDrawerSlot_1p9mh_487",yC="_activityDrawerExpanded_1p9mh_498",xC="_activityDrawerToggle_1p9mh_502",vC="_activityDrawerLabel_1p9mh_522",jC="_activityDrawerPanel_1p9mh_529",NC="_activityDrawerPlaceholder_1p9mh_535",bC="_goModeChip_1p9mh_558",he={shell:Ew,sidebar:Lw,logo:Pw,logoText:Aw,instanceSwitcher:$w,instanceLabel:Dw,instanceButton:Mw,instanceName:Fw,instancePort:Ow,instanceCaret:Hw,instanceDropdown:zw,instanceOption:Uw,instanceOptionActive:Vw,instanceStatusDot:qw,instanceOptionName:Ww,instanceOptionPort:Kw,instanceError:Gw,nav:Qw,navItem:Jw,navItemActive:Yw,navIcon:Xw,navLabel:Zw,navBadge:eC,setupBanner:tC,setupBannerIcon:nC,setupBannerText:sC,setupBannerLink:aC,setupBannerDismiss:rC,sidebarFooter:iC,sidebarFooterActions:lC,apiStatusIndicator:oC,apiStatusDot:cC,apiStatusLabel:dC,themeToggle:uC,mainArea:hC,topbar:pC,topbarTitle:mC,topbarActions:fC,content:_C,activityDrawerSlot:gC,activityDrawerExpanded:yC,activityDrawerToggle:xC,activityDrawerLabel:vC,activityDrawerPanel:jC,activityDrawerPlaceholder:NC,goModeChip:bC},SC=[{to:"/overview",label:"Home",icon:"⌂"},{to:"/memory",label:"Memory",icon:"▦"},{to:"/archive",label:"Archive",icon:"◫"},{to:"/activity",label:"Activity",icon:"⚡"},{to:"/logs",label:"Logs",icon:"≡"},{to:"/instances",label:"Instances",icon:"⊞"},{to:"/health",label:"Health",icon:"♥"},{to:"/metrics",label:"Metrics",icon:"⊡"},{to:"/conflicts",label:"Conflicts",icon:"⚖"},{to:"/providers",label:"Providers",icon:"◈"},{to:"/agents",label:"Agents",icon:"◉"},{to:"/sessions",label:"Sessions",icon:"⊙"},{to:"/getting-started",label:"Getting Started",icon:"◎"},{to:"/settings",label:"Settings",icon:"⚙"}],vi={"/":"Overview","/overview":"Overview","/memory":"Memory Explorer","/archive":"Archive","/activity":"Staff Activity","/logs":"Staff Logs","/instances":"Instances & Projects","/health":"Health & Diagnostics","/metrics":"Metrics","/conflicts":"Conflict Review","/providers":"Provider Manager","/agents":"Agent Registry","/sessions":"Sessions","/getting-started":"Getting Started","/settings":"Settings"};function wC(e){if(vi[e])return vi[e];const t=Object.keys(vi).find(s=>s!=="/"&&e.startsWith(s));return t?vi[t]??"Iranti":"Iranti"}function CC(){const{activeInstance:e,instances:t,loading:s,error:a,setActiveInstance:r}=gt(),[i,l]=d.useState(!1),o=c=>{r(c),l(!1)};return n.jsxs("div",{className:he.instanceSwitcher,children:[n.jsx("span",{className:he.instanceLabel,children:"instance"}),n.jsxs("button",{className:he.instanceButton,onClick:()=>l(c=>!c),"aria-expanded":i,"aria-haspopup":"listbox",disabled:s,title:a?`Instance API unavailable: ${a}`:void 0,children:[n.jsx("span",{className:he.instanceName,children:s?"…":(e==null?void 0:e.name)??"No instance"}),e&&n.jsxs("span",{className:he.instancePort,children:[":",e.port]}),n.jsx("span",{className:he.instanceCaret,"aria-hidden":"true",children:"▾"})]}),i&&t.length>0&&n.jsx("div",{className:he.instanceDropdown,role:"listbox","aria-label":"Select instance",children:t.map(c=>n.jsxs("button",{role:"option","aria-selected":c.id===(e==null?void 0:e.id),className:`${he.instanceOption} ${c.id===(e==null?void 0:e.id)?he.instanceOptionActive:""}`,onClick:()=>o(c),children:[n.jsx("span",{className:he.instanceStatusDot,"data-status":c.status,"aria-label":c.status}),n.jsx("span",{className:he.instanceOptionName,children:c.name}),n.jsxs("span",{className:he.instanceOptionPort,children:[c.host,":",c.port]})]},c.id))}),a&&n.jsx("span",{className:he.instanceError,title:a,children:"API unavailable"})]})}function kC(e){const[t,s]=d.useState("checking"),a=d.useCallback(async()=>{try{const r=await fetch("/api/control-plane/health",{method:"GET"});s(r.ok||r.status===503?"reachable":"unreachable")}catch{s("unreachable")}},[]);return d.useEffect(()=>{a();const r=setInterval(()=>void a(),e);return()=>clearInterval(r)},[a,e]),t}function TC({intervalMs:e}){const t=kC(e);return t==="checking"?n.jsxs("span",{className:he.apiStatusIndicator,"data-status":"checking","aria-label":"Checking API connection",children:[n.jsx("span",{className:he.apiStatusDot,"data-status":"checking","aria-hidden":"true"}),n.jsx("span",{className:he.apiStatusLabel,children:"Connecting"})]}):t==="unreachable"?n.jsxs(Se,{to:"/health",className:he.apiStatusIndicator,"data-status":"unreachable","aria-label":"Iranti API unreachable — open Health dashboard",children:[n.jsx("span",{className:he.apiStatusDot,"data-status":"unreachable","aria-hidden":"true"}),n.jsx("span",{className:he.apiStatusLabel,children:"API unreachable"})]}):n.jsxs("span",{className:he.apiStatusIndicator,"data-status":"reachable","aria-label":"Iranti API reachable",children:[n.jsx("span",{className:he.apiStatusDot,"data-status":"reachable","aria-hidden":"true"}),n.jsx("span",{className:he.apiStatusLabel,children:"Connected"})]})}function RC(){const{incompleteCount:e,isFullyConfigured:t,isLoading:s}=y_(),[a,r]=d.useState(!1);return s||t||a||e===0?null:n.jsxs("div",{className:he.setupBanner,role:"alert","aria-live":"polite",children:[n.jsx("span",{className:he.setupBannerIcon,"aria-hidden":"true",children:"◎"}),n.jsxs("span",{className:he.setupBannerText,children:["Setup incomplete — ",e," step",e!==1?"s":""," remaining."," ",n.jsx(Se,{to:"/getting-started",className:he.setupBannerLink,children:"View setup guide"})]}),n.jsx("button",{className:he.setupBannerDismiss,onClick:()=>r(!0),type:"button","aria-label":"Dismiss setup banner",children:"×"})]})}function IC(){const[e,t]=d.useState(!1);return n.jsxs("div",{className:`${he.activityDrawerSlot} ${e?he.activityDrawerExpanded:""}`,"aria-label":"Activity drawer",children:[n.jsxs("button",{className:he.activityDrawerToggle,onClick:()=>t(s=>!s),"aria-expanded":e,"aria-controls":"activity-drawer-panel",children:[n.jsx("span",{className:he.activityDrawerLabel,children:"Activity"}),n.jsx("span",{"aria-hidden":"true",children:e?"↓":"↑"})]}),n.jsx("div",{id:"activity-drawer-panel",className:he.activityDrawerPanel,"aria-hidden":!e,children:n.jsx("div",{className:he.activityDrawerPlaceholder,children:"Staff activity drawer — wired in CP-T014"})})]})}function BC(){const e=An(),t=_t(),{settings:s,updateSettings:a}=Ka(),{open:r,openPalette:i,closePalette:l}=m1(),o=()=>{a(B=>({...B,chatPanelOpen:!B.chatPanelOpen}))},c=()=>{a(B=>({...B,chatPanelOpen:!1}))},u=()=>{a(B=>({...B,theme:B.theme==="dark"?"light":"dark"}))};d.useEffect(()=>{const B=M=>{(M.metaKey||M.ctrlKey)&&M.key==="k"&&(M.preventDefault(),i())};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[i]);const m=wC(e.pathname),{incompleteCount:p,firstRunDetected:h,isLoading:y}=y_(),g=d.useRef(!1);d.useEffect(()=>{y||g.current||(g.current=!0,h&&e.pathname!=="/getting-started"&&t("/getting-started",{replace:!0}))},[h,e.pathname,t,y]);const{toasts:j,addToast:v,dismissToast:_}=MS(),f=d.useRef(null),x=d.useRef(!1);d.useEffect(()=>{async function B(){try{const te=await fetch("/api/control-plane/health",{method:"GET"});if(!te.ok)return;const J=(await te.json()).overall??"healthy",Z=f.current;if(!x.current){x.current=!0,f.current=J,J!=="healthy"&&v({severity:J==="error"?"error":"warn",title:J==="error"?"Iranti health error":"Iranti degraded",message:J==="error"?"A critical health check has failed.":"One or more health checks are warning.",action:{label:"View Health →",href:"/health"}});return}Z!==J&&(f.current=J,v(J!=="healthy"?{severity:J==="error"?"error":"warn",title:J==="error"?"Iranti health error":"Iranti degraded",message:J==="error"?"A critical health check has failed.":"One or more health checks are warning.",action:{label:"View Health →",href:"/health"}}:{severity:"info",title:"Iranti healthy",message:"All health checks are passing.",autoDismissMs:4e3}))}catch{}}B();const M=setInterval(()=>{B()},s.healthPollIntervalMs);return()=>clearInterval(M)},[v,s.healthPollIntervalMs]);const{goModeActive:b}=l1(),{data:T}=Ne({queryKey:["install-state"],queryFn:Vd,staleTime:1e4}),[R,L]=d.useState(!1),N=d.useCallback(()=>{L(!0)},[]);return!R&&Bw(T)?n.jsx(Iw,{onDismiss:N}):n.jsxs("div",{className:he.shell,children:[n.jsxs("aside",{className:he.sidebar,"aria-label":"Main navigation",children:[n.jsxs(Se,{className:he.logo,to:s.landingPage,children:[n.jsx(v_,{size:22}),n.jsx("span",{className:he.logoText,children:"iranti"})]}),n.jsx(CC,{}),n.jsx("nav",{className:he.nav,"aria-label":"Control plane sections",children:SC.map(B=>n.jsxs(Mv,{to:B.to,end:B.to==="/",className:({isActive:M})=>`${he.navItem}${M?` ${he.navItemActive}`:""}`,children:[n.jsx("span",{className:he.navIcon,"aria-hidden":"true",children:B.icon}),n.jsx("span",{className:he.navLabel,children:B.label}),B.to==="/getting-started"&&p>0&&n.jsx("span",{className:he.navBadge,"aria-label":`${p} steps remaining`,children:p})]},B.to))}),n.jsxs("div",{className:he.sidebarFooter,children:[n.jsx(TC,{intervalMs:s.healthPollIntervalMs}),n.jsxs("div",{className:he.sidebarFooterActions,children:[n.jsx(NS,{isOpen:s.chatPanelOpen,onClick:o}),n.jsx("button",{className:he.themeToggle,onClick:u,"aria-label":`Switch to ${s.theme==="dark"?"light":"dark"} mode`,title:`Switch to ${s.theme==="dark"?"light":"dark"} mode`,children:n.jsx("span",{"aria-hidden":"true",children:s.theme==="dark"?"◑":"◐"})})]})]})]}),n.jsxs("div",{className:he.mainArea,children:[s.showSetupBanner&&n.jsx(RC,{}),n.jsxs("header",{className:he.topbar,"aria-label":`${m} section`,children:[n.jsx("h1",{className:he.topbarTitle,children:m}),n.jsx("div",{className:he.topbarActions,id:"topbar-actions","aria-live":"polite"})]}),n.jsx("main",{className:he.content,id:"main-content",children:n.jsx(Sv,{})}),n.jsx(IC,{})]}),r&&n.jsx(p1,{onClose:l,onToggleDarkMode:u}),n.jsx(jS,{isOpen:s.chatPanelOpen,onClose:c}),n.jsx(AS,{toasts:j,onDismiss:_}),b&&n.jsxs("div",{className:he.goModeChip,role:"status","aria-live":"polite",children:[n.jsx("span",{"aria-hidden":"true",children:"⌨"})," go mode — press a key"]})]})}const EC="_page_1em1l_8",LC="_filterBar_1em1l_20",PC="_filterRow_1em1l_30",AC="_filterInput_1em1l_37",$C="_filterInputWide_1em1l_50 _filterInput_1em1l_37",DC="_filterSliderLabel_1em1l_69",MC="_filterSlider_1em1l_69",FC="_filterToggleLabel_1em1l_87",OC="_filterCheckbox_1em1l_97",HC="_filterResetButton_1em1l_104",zC="_tableRegion_1em1l_126",UC="_table_1em1l_126",VC="_thSortable_1em1l_160",qC="_sortInactive_1em1l_170",WC="_sortActive_1em1l_176",KC="_dataRow_1em1l_184",GC="_dataRowExpanded_1em1l_198",QC="_cellEntity_1em1l_217",JC="_entityType_1em1l_222",YC="_entitySep_1em1l_226",XC="_entityId_1em1l_231",ZC="_cellKey_1em1l_235",ek="_cellSummary_1em1l_241",tk="_summaryText_1em1l_245",nk="_cellConfidence_1em1l_251",sk="_confidence_1em1l_256",ak="_cellSource_1em1l_274",rk="_cellMono_1em1l_279",ik="_cellMeta_1em1l_285",lk="_expandedRowContainer_1em1l_295",ok="_expandedRowTd_1em1l_299",ck="_expandedRowContent_1em1l_305",dk="_expandedGrid_1em1l_309",uk="_expandedField_1em1l_316",hk="_expandedLabel_1em1l_322",pk="_expandedValue_1em1l_329",mk="_expandedValueMono_1em1l_334",fk="_expandedRawBlock_1em1l_342",_k="_expandedRawPre_1em1l_350",gk="_expandedActions_1em1l_367",yk="_expandedActionButton_1em1l_372",xk="_emptyState_1em1l_423",vk="_emptyStateIcon_1em1l_433",jk="_emptyStateTitle_1em1l_440",Nk="_emptyStateBody_1em1l_446",bk="_errorState_1em1l_456",Sk="_errorStateIcon_1em1l_466",wk="_errorStateTitle_1em1l_473",Ck="_errorStateBody_1em1l_479",kk="_errorRetryButton_1em1l_487",Tk="_emptyStateCtaBtn_1em1l_505",Rk="_errorStateDetail_1em1l_523",Ik="_errorStateActions_1em1l_532",Bk="_errorStateCtaBtn_1em1l_539",Ek="_inlineCode_1em1l_559",Lk="_pagination_1em1l_573",Pk="_paginationCount_1em1l_583",Ak="_paginationControls_1em1l_588",$k="_paginationButton_1em1l_594",Dk="_paginationPage_1em1l_616",Mk="_paginationPageSize_1em1l_623",Fk="_searchBar_1em1l_638",Ok="_searchInputWrapper_1em1l_648",Hk="_searchInput_1em1l_648",zk="_searchInputIcon_1em1l_677",Uk="_searchModeBadge_1em1l_688",Vk="_searchClearButton_1em1l_703",qk="_searchResultsPanel_1em1l_725",Wk="_searchResultsHeader_1em1l_732",Kk="_searchResultsTitle_1em1l_739",Gk="_searchResultsCount_1em1l_747",Qk="_searchResultsList_1em1l_752",Jk="_searchResultRow_1em1l_758",Yk="_searchResultEntity_1em1l_775",Xk="_searchResultEntityLink_1em1l_782",Zk="_searchResultEntityType_1em1l_797",e0="_searchResultKey_1em1l_804",t0="_searchResultSummary_1em1l_813",n0="_searchScore_1em1l_821",s0="_searchScoreValue_1em1l_828",a0="_searchScoreBar_1em1l_835",r0="_searchScoreBarFill_1em1l_843",i0="_searchResultConfidence_1em1l_850",l0="_searchResultSource_1em1l_857",o0="_searchModeNote_1em1l_865",c0="_searchErrorPanel_1em1l_876",d0="_searchErrorTitle_1em1l_886",u0="_searchErrorBody_1em1l_892",h0="_searchErrorLink_1em1l_898",p0="_searchScopeNote_1em1l_907",m0="_entityTypeBrowserPanel_1em1l_922",f0="_entityTypeBrowserHeader_1em1l_929",_0="_entityTypeBrowserTitle_1em1l_936",g0="_entityTypeBrowserSubtitle_1em1l_942",y0="_entityTypeBrowserGrid_1em1l_947",x0="_entityTypeCard_1em1l_965",v0="_entityTypeCardHeader_1em1l_981",j0="_entityTypeCardName_1em1l_988",N0="_entityTypeFactCount_1em1l_996",b0="_entityTypeCardMeta_1em1l_1012",S0="_entityTypeCardBrowseButton_1em1l_1017",w0="_entityTypeBrowserEmpty_1em1l_1038",C0="_entityTypeBrowserEmptyIcon_1em1l_1048",k0="_entityTypeBrowserEmptyTitle_1em1l_1055",T0="_entityTypeBrowserEmptyBody_1em1l_1061",R0="_entityTypeBrowserEmptyLink_1em1l_1067",I0="_browseHeader_1em1l_1078",B0="_browseBackButton_1em1l_1088",E0="_browseHeaderLabel_1em1l_1109",L0="_browseHeaderSub_1em1l_1116",S={page:EC,filterBar:LC,filterRow:PC,filterInput:AC,filterInputWide:$C,filterSliderLabel:DC,filterSlider:MC,filterToggleLabel:FC,filterCheckbox:OC,filterResetButton:HC,tableRegion:zC,table:UC,thSortable:VC,sortInactive:qC,sortActive:WC,dataRow:KC,dataRowExpanded:GC,cellEntity:QC,entityType:JC,entitySep:YC,entityId:XC,cellKey:ZC,cellSummary:ek,summaryText:tk,cellConfidence:nk,confidence:sk,cellSource:ak,cellMono:rk,cellMeta:ik,expandedRowContainer:lk,expandedRowTd:ok,expandedRowContent:ck,expandedGrid:dk,expandedField:uk,expandedLabel:hk,expandedValue:pk,expandedValueMono:mk,expandedRawBlock:fk,expandedRawPre:_k,expandedActions:gk,expandedActionButton:yk,emptyState:xk,emptyStateIcon:vk,emptyStateTitle:jk,emptyStateBody:Nk,errorState:bk,errorStateIcon:Sk,errorStateTitle:wk,errorStateBody:Ck,errorRetryButton:kk,emptyStateCtaBtn:Tk,errorStateDetail:Rk,errorStateActions:Ik,errorStateCtaBtn:Bk,inlineCode:Ek,pagination:Lk,paginationCount:Pk,paginationControls:Ak,paginationButton:$k,paginationPage:Dk,paginationPageSize:Mk,searchBar:Fk,searchInputWrapper:Ok,searchInput:Hk,searchInputIcon:zk,searchModeBadge:Uk,searchClearButton:Vk,searchResultsPanel:qk,searchResultsHeader:Wk,searchResultsTitle:Kk,searchResultsCount:Gk,searchResultsList:Qk,searchResultRow:Jk,searchResultEntity:Yk,searchResultEntityLink:Xk,searchResultEntityType:Zk,searchResultKey:e0,searchResultSummary:t0,searchScore:n0,searchScoreValue:s0,searchScoreBar:a0,searchScoreBarFill:r0,searchResultConfidence:i0,searchResultSource:l0,searchModeNote:o0,searchErrorPanel:c0,searchErrorTitle:d0,searchErrorBody:u0,searchErrorLink:h0,searchScopeNote:p0,entityTypeBrowserPanel:m0,entityTypeBrowserHeader:f0,entityTypeBrowserTitle:_0,entityTypeBrowserSubtitle:g0,entityTypeBrowserGrid:y0,entityTypeCard:x0,entityTypeCardHeader:v0,entityTypeCardName:j0,entityTypeFactCount:N0,entityTypeCardMeta:b0,entityTypeCardBrowseButton:S0,entityTypeBrowserEmpty:w0,entityTypeBrowserEmptyIcon:C0,entityTypeBrowserEmptyTitle:k0,entityTypeBrowserEmptyBody:T0,entityTypeBrowserEmptyLink:R0,browseHeader:I0,browseBackButton:B0,browseHeaderLabel:E0,browseHeaderSub:L0},b_={search:"",entityType:"",entityId:"",key:"",source:"",createdBy:"",minConfidence:0,activeOnly:!0};function P0(e,t){switch(t.type){case"SET_FIELD":return{...e,[t.field]:t.value};case"RESET":return{...b_};default:return e}}const A0=[25,50,100];function Lh(e,t){const[s,a]=d.useState(e);return d.useEffect(()=>{const r=setTimeout(()=>a(e),t);return()=>clearTimeout(r)},[e,t]),s}function Or(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function $0(e,t){return e?e.length>t?e.slice(0,t)+"…":e:"—"}function D0(e){if(!e)return[];if(Array.isArray(e))return e;const t=Object.values(e);return t.length>0&&typeof t[0]=="object"&&t[0]!==null&&"type"in t[0]?t:[]}const M0={CONFLICT_ESCALATED:"Escalated",CONFLICT_REJECTED:"Rejected",CONFLICT_RESOLVED:"Resolved",IDEMPOTENT_SKIP:"Skipped"};function Ph(e){switch(e){case"CONFLICT_ESCALATED":return{color:"var(--color-status-warning)",background:"var(--color-status-warning-bg)",border:"1px solid var(--color-status-warning)"};case"CONFLICT_REJECTED":return{color:"var(--color-status-error)",background:"var(--color-status-error-bg)",border:"1px solid var(--color-status-error)"};case"CONFLICT_RESOLVED":return{color:"var(--color-status-success)",background:"var(--color-status-success-bg)",border:"1px solid var(--color-status-success)"};case"IDEMPOTENT_SKIP":return{color:"var(--color-text-tertiary)",background:"var(--color-bg-sunken)",border:"1px solid var(--color-border-subtle)"}}}function F0({conflictLog:e}){const t=D0(e);return t.length===0?null:n.jsxs("div",{style:{marginTop:"var(--space-3)",borderTop:"1px solid var(--color-border-subtle)",paddingTop:"var(--space-3)"},children:[n.jsx("span",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.08em",color:"var(--color-text-tertiary)",display:"block",marginBottom:"var(--space-2)"},children:"Conflict History"}),n.jsx("ol",{style:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:0},children:t.map((s,a)=>n.jsxs("li",{style:{display:"flex",gap:"var(--space-3)",padding:"var(--space-2) 0",borderBottom:a<t.length-1?"1px solid var(--color-border-subtle)":"none"},children:[n.jsx("span",{style:{flexShrink:0,width:6,height:6,borderRadius:"50%",background:Ph(s.type).color??"var(--color-text-tertiary)",marginTop:5,display:"inline-block",border:"1px solid var(--color-border-default)"},"aria-hidden":"true"}),n.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[n.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:"var(--space-2)",flexWrap:"wrap"},children:[n.jsx("span",{style:{...Ph(s.type),fontSize:"10px",fontWeight:600,letterSpacing:"0.04em",borderRadius:"var(--border-radius-sm)",padding:"1px 5px",whiteSpace:"nowrap"},children:M0[s.type]}),n.jsx("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",whiteSpace:"nowrap",cursor:"default"},title:s.at,children:Or(s.at)}),n.jsx("span",{style:{fontSize:"10px",color:s.usedLLM?"var(--color-staff-attendant)":"var(--color-text-tertiary)",whiteSpace:"nowrap"},children:s.usedLLM?"LLM":"Deterministic"})]}),s.reason&&n.jsx("span",{style:{fontSize:"11px",color:"var(--color-text-secondary)"},children:s.reason}),s.existingScore!==void 0&&s.incomingScore!==void 0&&n.jsxs("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",fontFamily:"var(--font-mono)"},children:["Existing: ",s.existingScore," vs Incoming: ",s.incomingScore]}),s.incomingSource&&n.jsxs("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)"},children:["Incoming source: ",s.incomingSource]})]})]},a))})]})}function sr({column:e,sort:t}){return t.column!==e?n.jsx("span",{className:S.sortInactive,"aria-hidden":"true",children:"⇅"}):n.jsx("span",{className:S.sortActive,"aria-label":t.dir==="asc"?"sorted ascending":"sorted descending",children:t.dir==="asc"?"↑":"↓"})}function O0({value:e}){const t=e>=90?"high":e>=70?"medium":"low";return n.jsx("span",{className:S.confidence,"data-level":t,title:`Confidence: ${e}`,children:e})}function H0({fact:e,onViewHistory:t}){const[s,a]=d.useState(!1),r=_t(),i=()=>{r(`/memory/${encodeURIComponent(e.entityType)}/${encodeURIComponent(e.entityId)}`)},l=(()=>{if(!e.valueRaw)return null;try{return JSON.parse(e.valueRaw)}catch{return e.valueRaw}})();return n.jsx("tr",{className:S.expandedRowContainer,children:n.jsx("td",{colSpan:8,className:S.expandedRowTd,children:n.jsxs("div",{className:S.expandedRowContent,children:[n.jsxs("div",{className:S.expandedGrid,children:[n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Entity"}),n.jsxs("span",{className:S.expandedValueMono,children:[e.entityType,"/",e.entityId]})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Key"}),n.jsx("span",{className:S.expandedValueMono,children:e.key})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Value"}),n.jsx("span",{className:S.expandedValue,children:e.valueSummary??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,title:"Caller-supplied label indicating how this fact was written (e.g. 'mcp', 'git', 'manual')",children:"Source (provenance)"}),n.jsx("span",{className:S.expandedValue,children:e.source})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Confidence"}),n.jsx("span",{className:S.expandedValue,children:e.confidence})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Written by"}),n.jsx("span",{className:S.expandedValueMono,children:e.agentId})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Valid from"}),n.jsx("span",{className:S.expandedValue,children:e.validFrom??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Valid until"}),n.jsx("span",{className:S.expandedValue,children:e.validUntil??"— (currently valid)"})]}),e.stability!=null&&n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Stability"}),n.jsxs("span",{className:S.expandedValue,children:[e.stability," days"]})]}),e.lastAccessedAt!=null&&n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Last accessed"}),n.jsx("span",{className:S.expandedValue,title:e.lastAccessedAt,children:Or(e.lastAccessedAt)})]})]}),s&&l!==null&&n.jsxs("div",{className:S.expandedRawBlock,children:[n.jsxs("span",{className:S.expandedLabel,children:["Raw JSON",e.valueRawTruncated?" (truncated — view entity for full value)":""]}),n.jsx("pre",{className:S.expandedRawPre,children:JSON.stringify(l,null,2)})]}),n.jsx(F0,{conflictLog:e.conflictLog}),n.jsxs("div",{className:S.expandedActions,children:[n.jsx("button",{className:S.expandedActionButton,onClick:()=>t(e),children:"View History"}),n.jsx("button",{className:S.expandedActionButton,onClick:()=>a(o=>!o),children:s?"Hide Raw JSON":"View Raw JSON"}),n.jsx("button",{className:S.expandedActionButton,onClick:i,children:"View Related Entities →"})]})]})})})}function z0({filters:e,dispatch:t}){const s=a=>r=>{const i=r.target.type==="checkbox"?r.target.checked:r.target.value;t({type:"SET_FIELD",field:a,value:i})};return n.jsxs("div",{className:S.filterBar,role:"search","aria-label":"Filter facts",children:[n.jsxs("div",{className:S.filterRow,children:[n.jsx("input",{type:"search",className:S.filterInputWide,placeholder:"Search entity, key, value…",value:e.search,onChange:s("search"),"aria-label":"Full-text search"}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Entity type",value:e.entityType,onChange:s("entityType"),"aria-label":"Filter by entity type"}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Entity ID",value:e.entityId,onChange:s("entityId"),"aria-label":"Filter by entity ID"}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Key",value:e.key,onChange:s("key"),"aria-label":"Filter by key"}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Source",value:e.source,onChange:s("source"),"aria-label":"Filter by source"})]}),n.jsxs("div",{className:S.filterRow,children:[n.jsxs("label",{className:S.filterSliderLabel,children:[n.jsxs("span",{children:["Min confidence: ",e.minConfidence]}),n.jsx("input",{type:"range",min:0,max:100,step:5,value:e.minConfidence,onChange:a=>t({type:"SET_FIELD",field:"minConfidence",value:Number(a.target.value)}),className:S.filterSlider,"aria-label":"Minimum confidence score"})]}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Written by",value:e.createdBy,onChange:s("createdBy"),"aria-label":"Filter by writer agent"}),n.jsxs("label",{className:S.filterToggleLabel,children:[n.jsx("input",{type:"checkbox",checked:e.activeOnly,onChange:s("activeOnly"),className:S.filterCheckbox}),n.jsx("span",{children:"Active only"})]}),n.jsx("button",{className:S.filterResetButton,onClick:()=>t({type:"RESET"}),type:"button","aria-label":"Clear all filters",children:"Clear ×"})]})]})}function U0({filters:e,onClearFilters:t}){return e.search||e.entityType||e.entityId||e.key||e.source||e.createdBy||e.minConfidence>0?n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:S.emptyState,children:[n.jsx("span",{className:S.emptyStateIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:S.emptyStateTitle,children:"No facts match your filter"}),n.jsxs("p",{className:S.emptyStateBody,children:["Try adjusting your search or clearing your filters.",e.activeOnly&&' You can also disable "Active only" to include archived facts.']}),n.jsx("button",{className:S.emptyStateCtaBtn,onClick:t,type:"button",children:"Clear filters"})]})})}):n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:S.emptyState,children:[n.jsx("span",{className:S.emptyStateIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:S.emptyStateTitle,children:"No facts in memory yet"}),n.jsxs("p",{className:S.emptyStateBody,children:["Your Iranti instance is connected. Write your first fact using"," ",n.jsx("code",{className:S.inlineCode,children:"iranti write"})," or open Iranti Chat."]})]})})})}function V0({message:e,onRetry:t}){return n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:S.errorState,children:[n.jsx("span",{className:S.errorStateIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:S.errorStateTitle,children:"Unable to load memory"}),n.jsx("p",{className:S.errorStateBody,children:"The control plane could not reach your Iranti instance. Check the Health dashboard for connection details."}),n.jsx("p",{className:S.errorStateDetail,children:e}),n.jsxs("div",{className:S.errorStateActions,children:[n.jsx(Se,{to:"/health",className:S.errorStateCtaBtn,children:"Open Health Dashboard"}),n.jsx("button",{className:S.errorRetryButton,onClick:t,type:"button",children:"Retry"})]})]})})})}function q0({pagination:e,total:t,onPageChange:s,onPageSizeChange:a}){const{offset:r,limit:i}=e,l=Math.floor(r/i)+1,o=Math.max(1,Math.ceil(t/i)),c=t>0?r+1:0,u=Math.min(r+i,t);return n.jsxs("div",{className:S.pagination,children:[n.jsx("span",{className:S.paginationCount,children:t>0?`Showing ${c}–${u} of ${t}`:"No results"}),n.jsxs("div",{className:S.paginationControls,children:[n.jsx("button",{className:S.paginationButton,onClick:()=>s(Math.max(0,r-i)),disabled:r===0,"aria-label":"Previous page",children:"← Prev"}),n.jsxs("span",{className:S.paginationPage,children:[l," / ",o]}),n.jsx("button",{className:S.paginationButton,onClick:()=>s(r+i),disabled:r+i>=t,"aria-label":"Next page",children:"Next →"}),n.jsx("select",{className:S.paginationPageSize,value:i,onChange:m=>a(Number(m.target.value)),"aria-label":"Rows per page",children:A0.map(m=>n.jsxs("option",{value:m,children:[m," per page"]},m))})]})]})}function W0({onBrowse:e,instanceId:t}){const{data:s,isLoading:a,error:r}=Ne({queryKey:["entity-types",t??"binding"],queryFn:()=>ke("/kb/entity-types",{instanceId:t}),staleTime:12e4});if(a)return n.jsx("div",{className:S.entityTypeBrowserPanel,children:n.jsx("div",{style:{display:"flex",justifyContent:"center",padding:"48px 0"},children:n.jsx(Fe,{size:"md",label:"Loading entity types"})})});if(r)return n.jsx("div",{className:S.entityTypeBrowserPanel,children:n.jsxs("div",{className:S.entityTypeBrowserEmpty,children:[n.jsx("span",{className:S.entityTypeBrowserEmptyIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:S.entityTypeBrowserEmptyTitle,children:"Unable to load entity types"}),n.jsx("p",{className:S.entityTypeBrowserEmptyBody,children:r.message})]})});const i=(s==null?void 0:s.entityTypes)??[];if(i.length===0)return n.jsx("div",{className:S.entityTypeBrowserPanel,children:n.jsxs("div",{className:S.entityTypeBrowserEmpty,children:[n.jsx("span",{className:S.entityTypeBrowserEmptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:S.entityTypeBrowserEmptyTitle,children:"No entities in the knowledge base yet"}),n.jsxs("p",{className:S.entityTypeBrowserEmptyBody,children:["Once agents start writing facts, entity types will appear here. You can also check the"," ",n.jsx(Se,{to:"/logs",className:S.entityTypeBrowserEmptyLink,children:"Staff Logs"})," ","to see what agents have been doing."]})]})});const l=(s==null?void 0:s.total)??i.length;return n.jsxs("div",{className:S.entityTypeBrowserPanel,children:[n.jsxs("div",{className:S.entityTypeBrowserHeader,children:[n.jsxs("h2",{className:S.entityTypeBrowserTitle,children:["Knowledge Base — ",l," entity ",l===1?"type":"types"]}),n.jsx("span",{className:S.entityTypeBrowserSubtitle,children:"Select an entity type to browse its facts"})]}),n.jsx("div",{className:S.entityTypeBrowserGrid,children:i.map(o=>n.jsxs("div",{className:S.entityTypeCard,children:[n.jsxs("div",{className:S.entityTypeCardHeader,children:[n.jsx("span",{className:S.entityTypeCardName,children:o.entityType}),n.jsxs("span",{className:S.entityTypeFactCount,children:[o.factCount.toLocaleString()," ",o.factCount===1?"fact":"facts"]})]}),n.jsx("span",{className:S.entityTypeCardMeta,children:o.lastUpdatedAt?`Updated ${Or(o.lastUpdatedAt)}`:"No recent activity"}),n.jsx("button",{className:S.entityTypeCardBrowseButton,onClick:()=>e(o.entityType),type:"button","aria-label":`Browse ${o.entityType} entity type`,children:"Browse →"})]},o.entityType))})]})}async function K0(e,t){const s=new URL("/api/control-plane/kb/search",window.location.origin);s.searchParams.set("query",e),s.searchParams.set("limit","20"),t&&s.searchParams.set("instanceId",t);const a=await fetch(s.toString());if(!a.ok){const r=await a.json().catch(()=>({error:a.statusText})),i=new Error(r.error??a.statusText);throw i.statusCode=a.status,i}return a.json()}function G0({query:e,onClear:t,instanceId:s}){const{data:a,isLoading:r,error:i}=Ne({queryKey:["kb-search",s??"binding",e],queryFn:()=>K0(e,s),enabled:e.length>0,retry:!1});if(r)return n.jsx("div",{className:S.searchResultsPanel,children:n.jsx("div",{style:{display:"flex",justifyContent:"center",padding:"48px 0"},children:n.jsx(Fe,{size:"md",label:"Searching knowledge base"})})});if(i){const c=i.statusCode===503,u=i.statusCode===403;return n.jsx("div",{className:S.searchResultsPanel,children:n.jsxs("div",{className:S.searchErrorPanel,children:[n.jsx("span",{style:{fontSize:"28px",color:"var(--color-status-warning)"},"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:S.searchErrorTitle,children:c?"Search unavailable — Iranti instance unreachable":u?"Search requires a global-scope API key":"Search failed"}),n.jsxs("p",{className:S.searchErrorBody,children:[c&&n.jsxs(n.Fragment,{children:["The Iranti instance could not be reached."," ",n.jsx(Se,{to:"/health",className:S.searchErrorLink,children:"Check the Health Dashboard."})]}),u&&"This instance's key may be namespace-scoped. Full-text search requires a globally-scoped API key.",!c&&!u&&i.message]}),u&&n.jsx("p",{className:S.searchScopeNote,children:"Namespace-scoped keys restrict access to a single entity namespace. The /kb/search endpoint requires a global-scope key."})]})})}const l=(a==null?void 0:a.results)??[];if(l.length===0)return n.jsx("div",{className:S.searchResultsPanel,children:n.jsxs("div",{className:S.searchErrorPanel,children:[n.jsx("span",{style:{fontSize:"28px",color:"var(--color-text-tertiary)"},"aria-hidden":"true",children:"⬡"}),n.jsxs("p",{className:S.searchErrorTitle,children:['No results for "',e,'"']}),n.jsxs("p",{className:S.searchErrorBody,children:["Try a different query, or"," ",n.jsx("button",{onClick:t,style:{background:"none",border:"none",cursor:"pointer",color:"var(--color-accent-primary)",padding:0,font:"inherit"},type:"button",children:"clear the search"})," ","to return to the KB browser."]})]})});const o=l.every(c=>c.vectorScore===0);return n.jsxs("div",{className:S.searchResultsPanel,children:[n.jsxs("div",{className:S.searchResultsHeader,children:[n.jsx("span",{className:S.searchResultsTitle,children:"Results"}),n.jsxs("span",{className:S.searchResultsCount,children:[l.length," match",l.length!==1?"es":"",' for "',e,'"']})]}),n.jsx("div",{className:S.searchResultsList,role:"list","aria-label":"Search results",children:l.map((c,u)=>{const m=Math.round(c.score*100),p=`/memory/${encodeURIComponent(c.entityType)}/${encodeURIComponent(c.entityId)}`;return n.jsxs("div",{className:S.searchResultRow,role:"listitem",children:[n.jsxs("div",{className:S.searchResultEntity,children:[n.jsx(Se,{to:p,className:S.searchResultEntityLink,title:c.entityId,children:c.entityId}),n.jsx("span",{className:S.searchResultEntityType,children:c.entityType})]}),n.jsx("span",{className:S.searchResultKey,title:c.key,children:c.key}),n.jsx("span",{className:S.searchResultSummary,title:c.valueSummary??void 0,children:$0(c.valueSummary,80)}),n.jsxs("div",{className:S.searchScore,title:`Lexical: ${c.lexicalScore.toFixed(3)} / Vector: ${c.vectorScore.toFixed(3)}`,children:[n.jsxs("span",{className:S.searchScoreValue,children:[m,"%"]}),n.jsx("div",{className:S.searchScoreBar,children:n.jsx("div",{className:S.searchScoreBarFill,style:{width:`${m}%`},"aria-hidden":"true"})})]}),n.jsx("span",{className:S.searchResultConfidence,title:"Confidence",children:c.confidence}),n.jsx("span",{className:S.searchResultSource,title:c.source,children:c.source})]},`${c.entityType}/${c.entityId}/${c.key}/${u}`)})}),o&&n.jsx("p",{className:S.searchModeNote,children:"Semantic search returned no vector matches — showing lexical results only."})]})}function Q0(){const e=_t(),[t,s]=Md(),{activeInstance:a}=gt(),r=a==null?void 0:a.id,i=t.get("entityType")??"",[l,o]=d.useReducer(P0,{...b_,entityType:i}),[c,u]=d.useState({column:"updatedAt",dir:"desc"}),[m,p]=d.useState(null),[h,y]=d.useState({offset:0,limit:25}),[g,j]=d.useState(""),v=Lh(g,300),_=Lh(l.search,300),f=d.useRef(l.entityType);d.useEffect(()=>{f.current!==l.entityType&&(f.current=l.entityType,l.entityType?s(Q=>{const q=new URLSearchParams(Q);return q.set("entityType",l.entityType),q},{replace:!0}):s(Q=>{const q=new URLSearchParams(Q);return q.delete("entityType"),q},{replace:!0}))},[l.entityType,s]);const x={...r&&{instanceId:r},...l.entityType&&{entityType:l.entityType},...l.entityId&&{entityId:l.entityId},...l.key&&{key:l.key},...l.source&&{source:l.source},...l.createdBy&&{createdBy:l.createdBy},...l.minConfidence>0&&{minConfidence:l.minConfidence},..._&&{search:_},...l.activeOnly&&{activeOnly:!0},limit:h.limit,offset:h.offset},b=v.length>0,T=!b,R=T&&l.entityType==="",L=T&&l.entityType!=="",{data:N,isLoading:k,error:B,refetch:M}=Ne({queryKey:["kb",r??"binding",x],queryFn:()=>ke("/kb",x),enabled:L}),te=d.useRef(l);d.useEffect(()=>{te.current!==l&&(y(Q=>({...Q,offset:0})),te.current=l)},[l]);const de=(N==null?void 0:N.items)??[],J=l.entityType==="__diagnostics__"?de:de.filter(Q=>Q.entityType!=="__diagnostics__"),Z=(N==null?void 0:N.total)??0,O=Q=>{u(q=>q.column===Q?{...q,dir:q.dir==="asc"?"desc":"asc"}:{column:Q,dir:"desc"}),y(q=>({...q,offset:0}))},Ie=Q=>{p(q=>q===Q?null:Q)},G=Q=>{e(`/memory/${encodeURIComponent(Q.entityType)}/${encodeURIComponent(Q.entityId)}/${encodeURIComponent(Q.key)}`)},ce=Q=>{o({type:"SET_FIELD",field:"entityType",value:Q})},ue=()=>{o({type:"SET_FIELD",field:"entityType",value:""})};return n.jsxs("div",{className:S.page,children:[n.jsxs("div",{className:S.searchBar,children:[n.jsxs("div",{className:S.searchInputWrapper,children:[n.jsx("span",{className:S.searchInputIcon,"aria-hidden":"true",children:"⌕"}),n.jsx("input",{type:"search",className:S.searchInput,placeholder:"Search KB…",value:g,onChange:Q=>j(Q.target.value),"aria-label":"Search knowledge base"})]}),b&&n.jsx("span",{className:S.searchModeBadge,children:"Cross-KB search"}),b&&n.jsx("button",{className:S.searchClearButton,onClick:()=>j(""),type:"button","aria-label":"Clear search",children:"Clear search ×"})]}),b&&n.jsx(G0,{query:v,onClear:()=>j(""),instanceId:r}),R&&n.jsx(W0,{onBrowse:ce,instanceId:r}),L&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:S.browseHeader,children:[n.jsx("button",{className:S.browseBackButton,onClick:ue,type:"button","aria-label":"Back to entity types",children:"← All types"}),n.jsx("span",{className:S.browseHeaderLabel,children:l.entityType}),Z>0&&n.jsxs("span",{className:S.browseHeaderSub,children:[Z.toLocaleString()," facts"]})]}),n.jsx(z0,{filters:l,dispatch:o}),n.jsx("div",{className:S.tableRegion,children:n.jsxs("table",{className:S.table,"aria-label":"Knowledge base facts",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsxs("th",{className:S.thSortable,onClick:()=>O("entityType"),"aria-sort":c.column==="entityType"?c.dir==="asc"?"ascending":"descending":"none",children:["Entity ",n.jsx(sr,{column:"entityType",sort:c})]}),n.jsxs("th",{className:S.thSortable,onClick:()=>O("key"),"aria-sort":c.column==="key"?c.dir==="asc"?"ascending":"descending":"none",children:["Key ",n.jsx(sr,{column:"key",sort:c})]}),n.jsx("th",{children:"Summary"}),n.jsxs("th",{className:S.thSortable,onClick:()=>O("confidence"),"aria-sort":c.column==="confidence"?c.dir==="asc"?"ascending":"descending":"none",children:["Conf ",n.jsx(sr,{column:"confidence",sort:c})]}),n.jsxs("th",{className:S.thSortable,onClick:()=>O("source"),"aria-sort":c.column==="source"?c.dir==="asc"?"ascending":"descending":"none",children:["Source ",n.jsx(sr,{column:"source",sort:c})]}),n.jsx("th",{children:"Written by"}),n.jsx("th",{children:"Valid from"}),n.jsxs("th",{className:S.thSortable,onClick:()=>O("updatedAt"),"aria-sort":c.column==="updatedAt"?c.dir==="asc"?"ascending":"descending":"none",children:["Updated ",n.jsx(sr,{column:"updatedAt",sort:c})]})]})}),n.jsxs("tbody",{children:[k&&n.jsx("tr",{"aria-label":"Loading memory",children:n.jsx("td",{colSpan:8,style:{textAlign:"center",padding:"48px 0"},children:n.jsx(Fe,{size:"md",label:"Loading memory"})})}),!k&&B&&n.jsx(V0,{message:B.message,onRetry:()=>void M()}),!k&&!B&&J.length===0&&n.jsx(U0,{filters:l,onClearFilters:()=>o({type:"RESET"})}),!k&&!B&&J.map(Q=>n.jsxs(d.Fragment,{children:[n.jsxs("tr",{className:`${S.dataRow} ${m===Q.id?S.dataRowExpanded:""}`,onClick:()=>Ie(Q.id),"aria-expanded":m===Q.id,role:"button",tabIndex:0,onKeyDown:q=>{(q.key==="Enter"||q.key===" ")&&Ie(Q.id)},children:[n.jsxs("td",{className:S.cellEntity,children:[n.jsx("span",{className:S.entityType,children:Q.entityType}),n.jsx("span",{className:S.entitySep,children:"/"}),n.jsx("span",{className:S.entityId,children:Q.entityId})]}),n.jsx("td",{className:S.cellKey,children:Q.key}),n.jsx("td",{className:S.cellSummary,children:n.jsx("span",{className:S.summaryText,children:Q.valueSummary??"—"})}),n.jsx("td",{className:S.cellConfidence,children:n.jsx(O0,{value:Q.confidence})}),n.jsx("td",{className:S.cellSource,children:Q.source}),n.jsx("td",{className:S.cellMono,children:Q.agentId}),n.jsx("td",{className:S.cellMeta,children:Q.validFrom?new Date(Q.validFrom).toLocaleDateString():"—"}),n.jsx("td",{className:S.cellMeta,children:Q.updatedAt?Or(Q.updatedAt):Q.createdAt?Or(Q.createdAt):"—"})]}),m===Q.id&&n.jsx(H0,{fact:Q,onViewHistory:G})]},Q.id))]})]})}),n.jsx(q0,{pagination:h,total:Z,onPageChange:Q=>y(q=>({...q,offset:Q})),onPageSizeChange:Q=>y(q=>({...q,limit:Q,offset:0}))})]})]})}const J0="_flaggedBadge_19hih_10",Y0="_flaggedFilterActive_19hih_29",X0="_archivistHistory_19hih_38",Z0="_archivistHistoryToggle_19hih_45",eT="_archivistHistoryChevron_19hih_68",tT="_archivistHistoryBody_19hih_74",nT="_archivistHistoryLoading_19hih_80",sT="_archivistHistoryEmpty_19hih_87",aT="_archivistHistoryEmptyTitle_19hih_94",rT="_archivistHistoryEmptyNote_19hih_99",iT="_historyTimeline_19hih_109",lT="_historyTimelineItem_19hih_118",oT="_historyTimelineDot_19hih_130",cT="_historyTimelineContent_19hih_140",dT="_historyTimelineHeader_19hih_148",uT="_historyTimelineAction_19hih_154",hT="_historyTimelineTime_19hih_161",pT="_historyTimelineReason_19hih_167",mT="_historyTimelineMeta_19hih_172",fT="_flagControl_19hih_191",_T="_flagButton_19hih_198",gT="_unflagButton_19hih_217",yT="_flagNoteInput_19hih_241",xT="_flagConfirmButton_19hih_263",vT="_flagNoteDisplay_19hih_288",jT="_flagError_19hih_298",NT="_flaggedQueue_19hih_307",bT="_flaggedQueueTitle_19hih_313",ST="_flaggedQueueCount_19hih_327",wT="_flaggedQueueLoading_19hih_341",CT="_flaggedQueueEmpty_19hih_348",kT="_flaggedQueueError_19hih_354",TT="_flaggedQueueRow_19hih_362",RT="_flagNoteCell_19hih_371",IT="_flaggedQueueActions_19hih_381",BT="_restoreButton_19hih_389",ET="_restoreError_19hih_416",LT="_restoreSuccessRow_19hih_426",PT="_restoreSuccessCell_19hih_430",ve={flaggedBadge:J0,flaggedFilterActive:Y0,archivistHistory:X0,archivistHistoryToggle:Z0,archivistHistoryChevron:eT,archivistHistoryBody:tT,archivistHistoryLoading:nT,archivistHistoryEmpty:sT,archivistHistoryEmptyTitle:aT,archivistHistoryEmptyNote:rT,historyTimeline:iT,historyTimelineItem:lT,historyTimelineDot:oT,historyTimelineContent:cT,historyTimelineHeader:dT,historyTimelineAction:uT,historyTimelineTime:hT,historyTimelineReason:pT,historyTimelineMeta:mT,flagControl:fT,flagButton:_T,unflagButton:gT,flagNoteInput:yT,flagConfirmButton:xT,flagNoteDisplay:vT,flagError:jT,flaggedQueue:NT,flaggedQueueTitle:bT,flaggedQueueCount:ST,flaggedQueueLoading:wT,flaggedQueueEmpty:CT,flaggedQueueError:kT,flaggedQueueRow:TT,flagNoteCell:RT,flaggedQueueActions:IT,restoreButton:BT,restoreError:ET,restoreSuccessRow:LT,restoreSuccessCell:PT},AT="_overlay_npz0b_3",$T="_dialog_npz0b_14",DT="_title_npz0b_27",MT="_description_npz0b_35",FT="_warning_npz0b_48",OT="_warningIcon_npz0b_58",HT="_warningText_npz0b_65",zT="_actions_npz0b_71",UT="_cancelBtn_npz0b_78",VT="_confirmBtn_npz0b_100",ln={overlay:AT,dialog:$T,title:DT,description:MT,warning:FT,warningIcon:OT,warningText:HT,actions:zT,cancelBtn:UT,confirmBtn:VT};function Wd({title:e,description:t,warning:s,confirmLabel:a="Confirm",cancelLabel:r="Cancel",loading:i=!1,onConfirm:l,onCancel:o}){const c=d.useRef(null),u=d.useRef(null),m=d.useRef(null);return d.useEffect(()=>{var p;(p=m.current)==null||p.focus()},[]),d.useEffect(()=>{const p=h=>{h.key==="Escape"&&!i&&o()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[i,o]),d.useEffect(()=>{const p=c.current;if(!p)return;const h=p.querySelectorAll('button:not([disabled]), [tabindex]:not([tabindex="-1"])'),y=h[0],g=h[h.length-1],j=v=>{v.key==="Tab"&&(v.shiftKey?document.activeElement===y&&(v.preventDefault(),g==null||g.focus()):document.activeElement===g&&(v.preventDefault(),y==null||y.focus()))};return p.addEventListener("keydown",j),()=>p.removeEventListener("keydown",j)},[]),n.jsx("div",{className:ln.overlay,role:"presentation",onClick:p=>{p.target===p.currentTarget&&!i&&o()},"aria-modal":"true",children:n.jsxs("div",{ref:c,className:ln.dialog,role:"dialog","aria-labelledby":"confirm-modal-title","aria-describedby":"confirm-modal-desc",children:[n.jsx("h2",{className:ln.title,id:"confirm-modal-title",children:e}),n.jsx("p",{className:ln.description,id:"confirm-modal-desc",children:t}),s&&n.jsxs("div",{className:ln.warning,role:"alert",children:[n.jsx("span",{className:ln.warningIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("span",{className:ln.warningText,children:s})]}),n.jsxs("div",{className:ln.actions,children:[n.jsx("button",{ref:m,className:ln.cancelBtn,onClick:o,disabled:i,type:"button",children:r}),n.jsx("button",{ref:u,className:ln.confirmBtn,onClick:l,disabled:i,type:"button","aria-busy":i,children:i?"Working…":a})]})]})})}function qT(e,t){const[s,a]=d.useState(e);return d.useEffect(()=>{const r=setTimeout(()=>a(e),t);return()=>clearTimeout(r)},[e,t]),s}const S_={search:"",entityType:"",entityId:"",key:"",source:"",createdBy:"",minConfidence:0,archivedReason:"",resolutionState:"",flaggedOnly:!1};function WT(e,t){switch(t.type){case"SET_FIELD":return{...e,[t.field]:t.value};case"RESET":return{...S_};default:return e}}function Kd(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const a=Math.floor(s/60);return a<24?`${a}h ago`:Math.floor(a/24)+"d ago"}function KT(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function GT(e){if(!e)return[];if(Array.isArray(e))return e;const t=Object.values(e);return t.length>0&&typeof t[0]=="object"&&t[0]!==null&&"type"in t[0]?t:[]}const QT={CONFLICT_ESCALATED:"Escalated",CONFLICT_REJECTED:"Rejected",CONFLICT_RESOLVED:"Resolved",IDEMPOTENT_SKIP:"Skipped"};function Ah(e){switch(e){case"CONFLICT_ESCALATED":return{color:"var(--color-status-warning)",background:"var(--color-status-warning-bg)",border:"1px solid var(--color-status-warning)"};case"CONFLICT_REJECTED":return{color:"var(--color-status-error)",background:"var(--color-status-error-bg)",border:"1px solid var(--color-status-error)"};case"CONFLICT_RESOLVED":return{color:"var(--color-status-success)",background:"var(--color-status-success-bg)",border:"1px solid var(--color-status-success)"};case"IDEMPOTENT_SKIP":return{color:"var(--color-text-tertiary)",background:"var(--color-bg-sunken)",border:"1px solid var(--color-border-subtle)"};default:return{color:"var(--color-text-tertiary)",background:"var(--color-bg-elevated)",border:"1px solid var(--color-border-subtle)"}}}function JT({conflictLog:e}){const t=GT(e);return t.length===0?null:n.jsxs("div",{style:{marginTop:"var(--space-3)",borderTop:"1px solid var(--color-border-subtle)",paddingTop:"var(--space-3)"},children:[n.jsx("span",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.08em",color:"var(--color-text-tertiary)",display:"block",marginBottom:"var(--space-2)"},children:"Conflict History"}),n.jsx("ol",{style:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:0},children:t.map((s,a)=>n.jsxs("li",{style:{display:"flex",gap:"var(--space-3)",padding:"var(--space-2) 0",borderBottom:a<t.length-1?"1px solid var(--color-border-subtle)":"none"},children:[n.jsx("span",{style:{flexShrink:0,width:6,height:6,borderRadius:"50%",background:Ah(String(s.type)).color??"var(--color-text-tertiary)",marginTop:5,display:"inline-block",border:"1px solid var(--color-border-default)"},"aria-hidden":"true"}),n.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[n.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:"var(--space-2)",flexWrap:"wrap"},children:[n.jsx("span",{style:{...Ah(String(s.type)),fontSize:"10px",fontWeight:600,letterSpacing:"0.04em",borderRadius:"var(--border-radius-sm)",padding:"1px 5px",whiteSpace:"nowrap"},children:QT[String(s.type)]??String(s.type??"Unknown")}),n.jsx("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",whiteSpace:"nowrap",cursor:"default"},title:s.at,children:Kd(s.at)}),n.jsx("span",{style:{fontSize:"10px",color:s.usedLLM?"var(--color-staff-attendant)":"var(--color-text-tertiary)",whiteSpace:"nowrap"},children:s.usedLLM?"LLM":"Deterministic"})]}),s.reason&&n.jsx("span",{style:{fontSize:"11px",color:"var(--color-text-secondary)"},children:s.reason}),s.existingScore!==void 0&&s.incomingScore!==void 0&&n.jsxs("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",fontFamily:"var(--font-mono)"},children:["Existing: ",s.existingScore," vs Incoming: ",s.incomingScore]}),s.incomingSource&&n.jsxs("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)"},children:["Incoming source: ",s.incomingSource]})]})]},a))})]})}async function fl(e,t,s,a){const r=new URL(`/api/control-plane${e}`,window.location.origin);if(a)for(const[l,o]of Object.entries(a))o!==void 0&&o!==""&&r.searchParams.set(l,String(o));const i=await fetch(r,{method:t,headers:s?{"Content-Type":"application/json"}:{},body:s?JSON.stringify(s):void 0});if(!i.ok){const l=await i.json().catch(()=>({error:i.statusText}));throw new Error(l.error??i.statusText)}return i.json()}const YT=[25,50,100];function XT({value:e}){const t=e>=90?"high":e>=70?"medium":"low";return n.jsx("span",{className:S.confidence,"data-level":t,title:`Confidence: ${e}`,children:e})}function ZT({archiveId:e,instanceId:t}){const[s,a]=d.useState(!1),{data:r,isLoading:i}=Ne({queryKey:["archive-events",t??"binding",e],queryFn:()=>ke(`/archive/${e}/archivist-events`,{instanceId:t}),enabled:s,staleTime:3e4}),l=(r==null?void 0:r.events)??[];return n.jsxs("div",{className:ve.archivistHistory,children:[n.jsxs("button",{className:ve.archivistHistoryToggle,onClick:()=>a(o=>!o),type:"button","aria-expanded":s,children:[n.jsx("span",{className:ve.archivistHistoryChevron,"aria-hidden":"true",children:s?"▾":"▸"}),"Archivist History"]}),s&&n.jsxs("div",{className:ve.archivistHistoryBody,children:[i&&n.jsx("div",{className:ve.archivistHistoryLoading,children:n.jsx(Fe,{size:"sm",label:"Loading Archivist history"})}),!i&&l.length===0&&n.jsxs("div",{className:ve.archivistHistoryEmpty,children:[n.jsx("span",{className:ve.archivistHistoryEmptyTitle,children:"No Archivist events recorded for this fact."}),n.jsx("span",{className:ve.archivistHistoryEmptyNote,children:"Additional Archivist event details are unavailable for this fact."})]}),!i&&l.length>0&&n.jsx("ol",{className:ve.historyTimeline,"aria-label":"Archivist events",children:l.map(o=>n.jsxs("li",{className:ve.historyTimelineItem,children:[n.jsx("span",{className:ve.historyTimelineDot,"aria-hidden":"true"}),n.jsxs("div",{className:ve.historyTimelineContent,children:[n.jsxs("div",{className:ve.historyTimelineHeader,children:[n.jsx("span",{className:ve.historyTimelineAction,children:o.actionType}),n.jsx("span",{className:ve.historyTimelineTime,title:o.timestamp,children:KT(o.timestamp)})]}),o.reason&&n.jsx("span",{className:ve.historyTimelineReason,children:o.reason}),o.metadata&&n.jsx("pre",{className:ve.historyTimelineMeta,children:JSON.stringify(o.metadata,null,2)})]})]},o.eventId))})]})]})}function eR({fact:e,instanceId:t,onFlagged:s}){const[a,r]=d.useState(!1),[i,l]=d.useState(""),[o,c]=d.useState(!1),[u,m]=d.useState(null),p=d.useCallback(async()=>{c(!0),m(null);try{const y=await fl(`/archive/${e.id}/flag`,"POST",{note:i.trim()||void 0},{instanceId:t});s({id:e.id,flagged:!0,flagNote:y.note,flaggedAt:y.flaggedAt}),r(!1),l("")}catch(y){m(y instanceof Error?y.message:"Flag failed")}finally{c(!1)}},[e.id,i,s]),h=d.useCallback(async()=>{c(!0),m(null);try{await fl(`/archive/${e.id}/flag`,"DELETE",void 0,{instanceId:t}),s({id:e.id,flagged:!1,flagNote:null,flaggedAt:null})}catch(y){m(y instanceof Error?y.message:"Remove flag failed")}finally{c(!1)}},[e.id,s]);return e.flagged?n.jsxs("div",{className:ve.flagControl,children:[n.jsx("button",{className:ve.unflagButton,onClick:()=>void h(),disabled:o,type:"button",children:o?"Removing…":"Remove Flag"}),e.flagNote&&n.jsxs("span",{className:ve.flagNoteDisplay,title:"Flag note",children:["Note: ",e.flagNote]}),u&&n.jsx("span",{className:ve.flagError,children:u})]}):a?n.jsxs("div",{className:ve.flagControl,children:[n.jsx("input",{type:"text",className:ve.flagNoteInput,placeholder:"Reason for flagging (optional)",value:i,onChange:y=>l(y.target.value),"aria-label":"Flag note",maxLength:500,autoFocus:!0}),n.jsx("button",{className:ve.flagConfirmButton,onClick:()=>void p(),disabled:o,type:"button",children:o?"Flagging…":"Confirm Flag"}),n.jsx("button",{className:S.expandedActionButton,onClick:()=>{r(!1),l("")},disabled:o,type:"button",children:"Cancel"}),u&&n.jsx("span",{className:ve.flagError,children:u})]}):n.jsx("div",{className:ve.flagControl,children:n.jsx("button",{className:ve.flagButton,onClick:()=>r(!0),type:"button",children:"⚑ Flag for Review"})})}function tR({fact:e,instanceId:t,onFlagged:s}){const[a,r]=d.useState(!1),i=(()=>{if(!e.valueRaw)return null;try{return JSON.parse(e.valueRaw)}catch{return e.valueRaw}})();return n.jsx("tr",{className:S.expandedRowContainer,children:n.jsx("td",{colSpan:10,className:S.expandedRowTd,children:n.jsxs("div",{className:S.expandedRowContent,children:[n.jsxs("div",{className:S.expandedGrid,children:[n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Entity"}),n.jsxs("span",{className:S.expandedValueMono,children:[e.entityType,"/",e.entityId]})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Key"}),n.jsx("span",{className:S.expandedValueMono,children:e.key})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Value"}),n.jsx("span",{className:S.expandedValue,children:e.valueSummary??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Archived reason"}),n.jsx("span",{className:S.expandedValue,children:e.archivedReason??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,title:"Caller-supplied label indicating how this fact was written (e.g. 'mcp', 'git', 'manual')",children:"Source (provenance)"}),n.jsx("span",{className:S.expandedValue,children:e.source})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Written by"}),n.jsx("span",{className:S.expandedValueMono,children:e.agentId})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Valid from"}),n.jsx("span",{className:S.expandedValue,children:e.validFrom??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Valid until"}),n.jsx("span",{className:S.expandedValue,children:e.validUntil??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Resolution state"}),n.jsx("span",{className:S.expandedValue,children:e.resolutionState??"—"})]}),n.jsxs("div",{className:S.expandedField,children:[n.jsx("span",{className:S.expandedLabel,children:"Superseded by"}),n.jsx("span",{className:S.expandedValueMono,children:e.supersededBy??"—"})]})]}),a&&i!==null&&n.jsxs("div",{className:S.expandedRawBlock,children:[n.jsx("span",{className:S.expandedLabel,children:"Raw JSON"}),n.jsx("pre",{className:S.expandedRawPre,children:JSON.stringify(i,null,2)})]}),n.jsx(JT,{conflictLog:e.conflictLog}),n.jsx(ZT,{archiveId:e.id,instanceId:t}),n.jsxs("div",{className:S.expandedActions,children:[n.jsx("button",{className:S.expandedActionButton,onClick:()=>r(l=>!l),children:a?"Hide Raw JSON":"View Raw JSON"}),n.jsx(eR,{fact:e,instanceId:t,onFlagged:s})]})]})})})}function nR({fact:e,instanceId:t,onUnflagged:s,onRestored:a}){const[r,i]=d.useState(!1),[l,o]=d.useState(!1),[c,u]=d.useState(null),[m,p]=d.useState(!1),h=d.useCallback(async()=>{o(!0),u(null);try{const g=await fl(`/archive/${e.id}/restore?confirm=true`,"POST",void 0,{instanceId:t});i(!1),a(e.id,g.superseded)}catch(g){u(g instanceof Error?g.message:"Restore failed")}finally{o(!1)}},[e.id,a]),y=d.useCallback(async()=>{p(!0);try{await fl(`/archive/${e.id}/flag`,"DELETE",void 0,{instanceId:t}),s(e.id)}catch{}finally{p(!1)}},[e.id,s]);return n.jsxs(n.Fragment,{children:[n.jsxs("tr",{className:ve.flaggedQueueRow,children:[n.jsxs("td",{className:S.cellEntity,children:[n.jsx("span",{className:S.entityType,children:e.entityType}),n.jsx("span",{className:S.entitySep,children:"/"}),n.jsx("span",{className:S.entityId,children:e.entityId})]}),n.jsx("td",{className:S.cellKey,children:e.key}),n.jsx("td",{className:S.cellSource,children:e.archivedReason??"—"}),n.jsx("td",{className:ve.flagNoteCell,children:e.flagNote??"—"}),n.jsx("td",{className:S.cellMeta,children:e.flaggedAt?Kd(e.flaggedAt):"—"}),n.jsxs("td",{className:ve.flaggedQueueActions,children:[n.jsx("button",{className:ve.restoreButton,onClick:()=>i(!0),type:"button",children:"Restore Fact"}),n.jsx("button",{className:S.expandedActionButton,onClick:()=>void y(),disabled:m,type:"button",children:m?"Clearing…":"Clear Flag"})]})]}),r&&n.jsx(Wd,{title:"Restore Archived Fact",description:"This will restore the archived fact to the live knowledge base. If a current active fact exists for this entity and key, it will be superseded. This action is logged and auditable but cannot be automatically undone.",warning:"This is an operator override. The Archivist may re-archive this fact on its next processing cycle if the same conditions apply.",confirmLabel:"Restore Fact",loading:l,onConfirm:()=>void h(),onCancel:()=>{i(!1),u(null)}}),c&&n.jsx("tr",{children:n.jsx("td",{colSpan:6,children:n.jsx("div",{className:ve.restoreError,children:c})})})]})}function sR({instanceId:e,onUnflagged:t}){const s=Ht(),[a,r]=d.useState({}),{data:i,isLoading:l,error:o}=Ne({queryKey:["archive-flagged",e??"binding"],queryFn:()=>ke("/archive",{instanceId:e,flagged:!0,limit:100,offset:0}),staleTime:1e4}),c=(i==null?void 0:i.items)??[],u=d.useCallback((p,h)=>{const y=h?"Fact restored. The previous active fact was superseded.":"Fact restored to knowledge base.";r(g=>({...g,[p]:y})),setTimeout(()=>{s.invalidateQueries({queryKey:["archive-flagged",e??"binding"]}),s.invalidateQueries({queryKey:["archive",e??"binding"]}),t(p)},2e3)},[s,t]),m=d.useCallback(p=>{s.invalidateQueries({queryKey:["archive-flagged",e??"binding"]}),s.invalidateQueries({queryKey:["archive",e??"binding"]}),t(p)},[e,s,t]);return n.jsxs("div",{className:ve.flaggedQueue,children:[n.jsxs("h3",{className:ve.flaggedQueueTitle,children:["Flagged for Review",c.length>0&&n.jsx("span",{className:ve.flaggedQueueCount,children:c.length})]}),l&&n.jsx("div",{className:ve.flaggedQueueLoading,children:n.jsx(Fe,{size:"sm",label:"Loading flagged facts"})}),!l&&o&&n.jsxs("div",{className:ve.flaggedQueueError,children:["Unable to load flagged facts: ",o.message]}),!l&&!o&&c.length===0&&n.jsx("div",{className:ve.flaggedQueueEmpty,children:"No facts are currently flagged for review."}),!l&&!o&&c.length>0&&n.jsx("div",{className:S.tableRegion,style:{maxHeight:"320px"},children:n.jsxs("table",{className:S.table,"aria-label":"Flagged facts for review",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Entity"}),n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Archived reason"}),n.jsx("th",{children:"Flag note"}),n.jsx("th",{children:"Flagged"}),n.jsx("th",{children:"Actions"})]})}),n.jsx("tbody",{children:c.map(p=>{const h=a[p.id];return h?n.jsx("tr",{className:ve.restoreSuccessRow,children:n.jsx("td",{colSpan:6,className:ve.restoreSuccessCell,children:h})},p.id):n.jsx(nR,{fact:p,instanceId:e,onUnflagged:m,onRestored:u},p.id)})})]})})]})}function aR({pagination:e,total:t,onPageChange:s,onPageSizeChange:a}){const{offset:r,limit:i}=e,l=Math.floor(r/i)+1,o=Math.max(1,Math.ceil(t/i)),c=t>0?r+1:0,u=Math.min(r+i,t);return n.jsxs("div",{className:S.pagination,children:[n.jsx("span",{className:S.paginationCount,children:t>0?`Showing ${c}–${u} of ${t}`:"No results"}),n.jsxs("div",{className:S.paginationControls,children:[n.jsx("button",{className:S.paginationButton,onClick:()=>s(Math.max(0,r-i)),disabled:r===0,"aria-label":"Previous page",children:"← Prev"}),n.jsxs("span",{className:S.paginationPage,children:[l," / ",o]}),n.jsx("button",{className:S.paginationButton,onClick:()=>s(r+i),disabled:r+i>=t,"aria-label":"Next page",children:"Next →"}),n.jsx("select",{className:S.paginationPageSize,value:i,onChange:m=>a(Number(m.target.value)),"aria-label":"Rows per page",children:YT.map(m=>n.jsxs("option",{value:m,children:[m," per page"]},m))})]})]})}function rR(){const{activeInstance:e}=gt(),t=e==null?void 0:e.id,s=Ht(),[a,r]=d.useReducer(WT,S_),[i,l]=d.useState(null),[o,c]=d.useState({offset:0,limit:25}),[u,m]=d.useState({}),p=qT(a.search,300),h={...t&&{instanceId:t},...a.entityType&&{entityType:a.entityType},...a.entityId&&{entityId:a.entityId},...a.key&&{key:a.key},...a.source&&{source:a.source},...a.createdBy&&{createdBy:a.createdBy},...a.minConfidence>0&&{minConfidence:a.minConfidence},...p&&{search:p},...a.archivedReason&&{archivedReason:a.archivedReason},...a.resolutionState&&{resolutionState:a.resolutionState},...a.flaggedOnly&&{flagged:!0},limit:o.limit,offset:o.offset},{data:y,isLoading:g,error:j,refetch:v}=Ne({queryKey:["archive",t??"binding",h],queryFn:()=>ke("/archive",h)}),_=d.useRef(a);d.useEffect(()=>{_.current!==a&&(c(N=>({...N,offset:0})),_.current=a)},[a]);const f=((y==null?void 0:y.items)??[]).map(N=>{const k=u[N.id];return k?{...N,...k}:N}),x=(y==null?void 0:y.total)??0,b=N=>l(k=>k===N?null:N),T=d.useCallback(N=>{m(k=>({...k,[N.id]:{flagged:N.flagged,flagNote:N.flagNote,flaggedAt:N.flaggedAt}})),s.invalidateQueries({queryKey:["archive-flagged",t??"binding"]})},[t,s]),R=d.useCallback(N=>{m(k=>({...k,[N]:{flagged:!1,flagNote:null,flaggedAt:null}})),s.invalidateQueries({queryKey:["archive",t??"binding"]})},[t,s]),L=!!(a.search||a.entityType||a.entityId||a.key||a.source||a.createdBy||a.minConfidence>0||a.archivedReason||a.resolutionState||a.flaggedOnly);return n.jsxs("div",{className:S.page,children:[n.jsx(sR,{instanceId:t,onUnflagged:R}),n.jsxs("div",{className:S.filterBar,role:"search","aria-label":"Filter archive facts",children:[n.jsxs("div",{className:S.filterRow,children:[n.jsx("input",{type:"search",className:S.filterInputWide,placeholder:"Search entity, key, value…",value:a.search,onChange:N=>r({type:"SET_FIELD",field:"search",value:N.target.value}),"aria-label":"Full-text search"}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Entity type",value:a.entityType,onChange:N=>r({type:"SET_FIELD",field:"entityType",value:N.target.value})}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Entity ID",value:a.entityId,onChange:N=>r({type:"SET_FIELD",field:"entityId",value:N.target.value})}),n.jsx("input",{type:"text",className:S.filterInput,placeholder:"Key",value:a.key,onChange:N=>r({type:"SET_FIELD",field:"key",value:N.target.value})})]}),n.jsxs("div",{className:S.filterRow,children:[n.jsxs("label",{className:S.filterSliderLabel,children:[n.jsxs("span",{children:["Min confidence: ",a.minConfidence]}),n.jsx("input",{type:"range",min:0,max:100,step:5,value:a.minConfidence,onChange:N=>r({type:"SET_FIELD",field:"minConfidence",value:Number(N.target.value)}),className:S.filterSlider})]}),n.jsxs("select",{className:S.filterInput,value:a.archivedReason,onChange:N=>r({type:"SET_FIELD",field:"archivedReason",value:N.target.value}),"aria-label":"Filter by archived reason",style:{cursor:"pointer"},children:[n.jsx("option",{value:"",children:"All reasons"}),n.jsx("option",{value:"superseded",children:"superseded"}),n.jsx("option",{value:"decay",children:"decay"}),n.jsx("option",{value:"conflict_resolved",children:"conflict_resolved"})]}),n.jsxs("select",{className:S.filterInput,value:a.resolutionState,onChange:N=>r({type:"SET_FIELD",field:"resolutionState",value:N.target.value}),"aria-label":"Filter by resolution state",style:{cursor:"pointer"},children:[n.jsx("option",{value:"",children:"All states"}),n.jsx("option",{value:"pending",children:"pending"}),n.jsx("option",{value:"resolved",children:"resolved"}),n.jsx("option",{value:"rejected",children:"rejected"})]}),n.jsxs("label",{className:S.filterToggleLabel,children:[n.jsx("input",{type:"checkbox",className:S.filterCheckbox,checked:a.flaggedOnly,onChange:N=>r({type:"SET_FIELD",field:"flaggedOnly",value:N.target.checked}),"aria-label":"Show flagged facts only"}),n.jsx("span",{className:a.flaggedOnly?ve.flaggedFilterActive:"",children:"Flagged only"})]}),n.jsx("button",{className:S.filterResetButton,onClick:()=>r({type:"RESET"}),type:"button",children:"Clear ×"})]})]}),n.jsx("div",{className:S.tableRegion,children:n.jsxs("table",{className:S.table,"aria-label":"Archived facts",style:{tableLayout:"fixed"},children:[n.jsxs("colgroup",{children:[n.jsx("col",{style:{width:"19%"}}),n.jsx("col",{style:{width:"10%"}}),n.jsx("col",{style:{width:"18%"}}),n.jsx("col",{style:{width:"5%"}}),n.jsx("col",{style:{width:"9%"}}),n.jsx("col",{style:{width:"9%"}}),n.jsx("col",{style:{width:"8%"}}),n.jsx("col",{style:{width:"8%"}}),n.jsx("col",{style:{width:"7%"}}),n.jsx("col",{style:{width:"7%"}})]}),n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Entity"}),n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Summary"}),n.jsx("th",{children:"Conf"}),n.jsx("th",{children:"Archived reason"}),n.jsx("th",{children:"Resolution"}),n.jsx("th",{children:"Archived at"}),n.jsx("th",{children:"Valid from"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"Flag"})]})}),n.jsxs("tbody",{children:[g&&n.jsx("tr",{"aria-label":"Loading archive",children:n.jsx("td",{colSpan:10,style:{textAlign:"center",padding:"48px 0"},children:n.jsx(Fe,{size:"md",label:"Loading archive"})})}),!g&&j&&n.jsx("tr",{children:n.jsx("td",{colSpan:10,children:n.jsxs("div",{className:S.errorState,children:[n.jsx("span",{className:S.errorStateIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:S.errorStateTitle,children:"Unable to load archive"}),n.jsx("p",{className:S.errorStateBody,children:"The control plane could not reach your Iranti instance. Check the Health dashboard for connection details."}),n.jsx("p",{className:S.errorStateDetail,children:j.message}),n.jsxs("div",{className:S.errorStateActions,children:[n.jsx(Se,{to:"/health",className:S.errorStateCtaBtn,children:"Open Health Dashboard"}),n.jsx("button",{className:S.errorRetryButton,onClick:()=>void v(),type:"button",children:"Retry"})]})]})})}),!g&&!j&&f.length===0&&L&&n.jsx("tr",{children:n.jsx("td",{colSpan:10,children:n.jsxs("div",{className:S.emptyState,children:[n.jsx("span",{className:S.emptyStateIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:S.emptyStateTitle,children:"No archived facts match your filter"}),n.jsx("p",{className:S.emptyStateBody,children:"Try adjusting your search or clearing your filters."}),n.jsx("button",{className:S.emptyStateCtaBtn,onClick:()=>r({type:"RESET"}),type:"button",children:"Clear filters"})]})})}),!g&&!j&&f.length===0&&!L&&n.jsx("tr",{children:n.jsx("td",{colSpan:10,children:n.jsxs("div",{className:S.emptyState,children:[n.jsx("span",{className:S.emptyStateIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:S.emptyStateTitle,children:"No archived facts"}),n.jsx("p",{className:S.emptyStateBody,children:"Facts appear here when they are superseded, contradicted, expired, or decayed by the Archivist."})]})})}),!g&&!j&&f.map(N=>n.jsxs(d.Fragment,{children:[n.jsxs("tr",{className:`${S.dataRow} ${i===N.id?S.dataRowExpanded:""}`,onClick:()=>b(N.id),role:"button",tabIndex:0,"aria-expanded":i===N.id,onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&b(N.id)},children:[n.jsxs("td",{className:S.cellEntity,children:[n.jsx("span",{className:S.entityType,children:N.entityType}),n.jsx("span",{className:S.entitySep,children:"/"}),n.jsx("span",{className:S.entityId,children:N.entityId})]}),n.jsx("td",{className:S.cellKey,children:N.key}),n.jsx("td",{className:S.cellSummary,children:n.jsx("span",{className:S.summaryText,children:N.valueSummary??"—"})}),n.jsx("td",{className:S.cellConfidence,children:n.jsx(XT,{value:N.confidence})}),n.jsx("td",{className:S.cellSource,children:N.archivedReason??"—"}),n.jsx("td",{className:S.cellSource,children:N.resolutionState??"—"}),n.jsx("td",{className:S.cellMeta,children:Kd(N.archivedAt)}),n.jsx("td",{className:S.cellMeta,children:N.validFrom?new Date(N.validFrom).toLocaleDateString():"—"}),n.jsx("td",{className:S.cellMono,children:N.agentId}),n.jsx("td",{className:S.cellMeta,children:N.flagged&&n.jsx("span",{className:ve.flaggedBadge,title:N.flagNote??"Flagged for review",children:"⚑ Flagged"})})]}),i===N.id&&n.jsx(tR,{fact:N,instanceId:t,onFlagged:T})]},N.id))]})]})}),n.jsx(aR,{pagination:o,total:x,onPageChange:N=>c(k=>({...k,offset:N})),onPageSizeChange:N=>c(k=>({...k,limit:N,offset:0}))})]})}const iR="_container_nynid_8",lR="_controls_nynid_20",oR="_controlGroup_nynid_31",cR="_controlLabel_nynid_37",dR="_depthToggle_nynid_49",uR="_depthBtn_nynid_56",hR="_depthBtnActive_nynid_78",pR="_viewModeBtn_nynid_87",mR="_viewModeBtnActive_nynid_106",fR="_graphStats_nynid_116",_R="_statItem_nynid_125",gR="_statCount_nynid_131",yR="_statSep_nynid_137",xR="_truncationWarning_nynid_145",vR="_svgWrapper_nynid_157",jR="_svg_nynid_157",NR="_edge_nynid_177",bR="_edgeLabel_nynid_184",SR="_node_nynid_196",wR="_nodeHovered_nynid_204",CR="_circleRoot_nynid_208",kR="_circleNeighbor_nynid_214",TR="_nodeNeighbor_nynid_220",RR="_nodeTypeLabel_nynid_225",IR="_nodeIdLabel_nynid_232",BR="_nodeRoot_nynid_240",ER="_tooltip_nynid_253",LR="_tooltipText_nynid_260",PR="_tooltipSubText_nynid_267",AR="_listWrapper_nynid_277",$R="_listTable_nynid_283",DR="_listRow_nynid_305",MR="_listCellDir_nynid_322",FR="_dirFrom_nynid_326",OR="_dirTo_nynid_335",HR="_listCellType_nynid_344",zR="_listCellEntity_nynid_350",UR="_entityBtn_nynid_355",VR="_entityTypeText_nynid_372",qR="_entitySep_nynid_376",WR="_entityIdText_nynid_381",KR="_listCellMeta_nynid_388",GR="_emptyState_nynid_397",QR="_errorState_nynid_398",JR="_emptyIcon_nynid_409",YR="_errorIcon_nynid_410",XR="_emptyTitle_nynid_421",ZR="_errorTitle_nynid_422",eI="_emptyBody_nynid_429",tI="_errorBody_nynid_430",nI="_loadingCenter_nynid_437",sI="_semanticNote_nynid_449",aI="_semanticNoteCode_nynid_459",rI="_semanticNoteLink_nynid_468",ae={container:iR,controls:lR,controlGroup:oR,controlLabel:cR,depthToggle:dR,depthBtn:uR,depthBtnActive:hR,viewModeBtn:pR,viewModeBtnActive:mR,graphStats:fR,statItem:_R,statCount:gR,statSep:yR,truncationWarning:xR,svgWrapper:vR,svg:jR,edge:NR,edgeLabel:bR,node:SR,nodeHovered:wR,circleRoot:CR,circleNeighbor:kR,nodeNeighbor:TR,nodeTypeLabel:RR,nodeIdLabel:IR,nodeRoot:BR,tooltip:ER,tooltipText:LR,tooltipSubText:PR,listWrapper:AR,listTable:$R,listRow:DR,listCellDir:MR,dirFrom:FR,dirTo:OR,listCellType:HR,listCellEntity:zR,entityBtn:UR,entityTypeText:VR,entitySep:qR,entityIdText:WR,listCellMeta:KR,emptyState:GR,errorState:QR,emptyIcon:JR,errorIcon:YR,emptyTitle:XR,errorTitle:ZR,emptyBody:eI,errorBody:tI,loadingCenter:nI,semanticNote:sI,semanticNoteCode:aI,semanticNoteLink:rI};function iI(e,t,s,a){const r=s/2,i=a/2,l=e.find(g=>g.isRoot);if(!l)return[];const o=e.filter(g=>!g.isRoot),c=new Set;for(const g of t){const j=`${g.fromEntityType}::${g.fromEntityId}`,v=`${g.toEntityType}::${g.toEntityId}`,_=`${l.entityType}::${l.entityId}`;j===_&&c.add(v),v===_&&c.add(j)}const u=o.filter(g=>c.has(`${g.entityType}::${g.entityId}`)),m=o.filter(g=>!c.has(`${g.entityType}::${g.entityId}`)),p=[];p.push({x:r,y:i,node:l});const h=Math.min(s,a)*.28;u.length>0&&u.forEach((g,j)=>{const v=2*Math.PI*j/u.length-Math.PI/2;p.push({x:r+h*Math.cos(v),y:i+h*Math.sin(v),node:g})});const y=Math.min(s,a)*.44;return m.length>0&&m.forEach((g,j)=>{const v=2*Math.PI*j/m.length-Math.PI/2;p.push({x:r+y*Math.cos(v),y:i+y*Math.sin(v),node:g})}),p}function lI(e,t,s,a){return{mx:(e+s)/2,my:(t+a)/2}}const oI=24,cI=20,$h=560,Dh=440;function dI({graph:e,onNodeClick:t}){const[s,a]=d.useState(null),r=d.useMemo(()=>iI(e.nodes,e.edges,$h,Dh),[e.nodes,e.edges]),i=d.useMemo(()=>{const o=new Map;for(const c of r)o.set(`${c.node.entityType}::${c.node.entityId}`,c);return o},[r]),l=s?r.find(o=>`${o.node.entityType}::${o.node.entityId}`===s):null;return n.jsx("div",{className:ae.svgWrapper,"aria-label":"Entity relationship graph",children:n.jsxs("svg",{viewBox:`0 0 ${$h} ${Dh}`,width:"100%",preserveAspectRatio:"xMidYMid meet",className:ae.svg,role:"img","aria-label":`Relationship graph for ${e.rootEntity.entityType}/${e.rootEntity.entityId}`,children:[n.jsx("defs",{children:n.jsx("marker",{id:"cp-graph-arrow",markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto",children:n.jsx("path",{d:"M0,0 L0,6 L8,3 z",fill:"var(--color-border-strong)"})})}),e.edges.map((o,c)=>{const u=`${o.fromEntityType}::${o.fromEntityId}`,m=`${o.toEntityType}::${o.toEntityId}`,p=i.get(u),h=i.get(m);if(!p||!h)return null;const{mx:y,my:g}=lI(p.x,p.y,h.x,h.y);return n.jsxs("g",{children:[n.jsx("line",{x1:p.x,y1:p.y,x2:h.x,y2:h.y,className:ae.edge,markerEnd:"url(#cp-graph-arrow)"}),n.jsx("text",{x:y,y:g,className:ae.edgeLabel,textAnchor:"middle",dominantBaseline:"middle",children:o.relationshipType})]},c)}),r.map(({x:o,y:c,node:u})=>{const m=`${u.entityType}::${u.entityId}`,p=u.isRoot,h=p?oI:cI,y=s===m;return n.jsxs("g",{className:`${ae.node} ${p?ae.nodeRoot:ae.nodeNeighbor} ${y?ae.nodeHovered:""}`,transform:`translate(${o}, ${c})`,onClick:()=>{p||t(u.entityType,u.entityId)},onMouseEnter:()=>a(m),onMouseLeave:()=>a(null),role:p?"presentation":"button","aria-label":p?void 0:`Navigate to ${u.entityType}/${u.entityId}`,style:{cursor:p?"default":"pointer"},children:[n.jsx("circle",{r:h,className:p?ae.circleRoot:ae.circleNeighbor}),n.jsx("text",{y:-6,className:ae.nodeTypeLabel,textAnchor:"middle",dominantBaseline:"auto",children:u.entityType.length>12?u.entityType.slice(0,10)+"…":u.entityType}),n.jsx("text",{y:8,className:ae.nodeIdLabel,textAnchor:"middle",dominantBaseline:"auto",children:u.entityId.length>12?u.entityId.slice(0,10)+"…":u.entityId})]},m)}),l&&!l.node.isRoot&&n.jsxs("g",{children:[n.jsx("rect",{x:l.x+10,y:l.y-32,width:180,height:40,rx:4,className:ae.tooltip}),n.jsx("text",{x:l.x+16,y:l.y-18,className:ae.tooltipText,dominantBaseline:"middle",children:l.node.entityType}),n.jsxs("text",{x:l.x+16,y:l.y-4,className:ae.tooltipSubText,dominantBaseline:"middle",children:[l.node.entityId.length>22?l.node.entityId.slice(0,20)+"…":l.node.entityId,l.node.factCount>0&&` · ${l.node.factCount} fact${l.node.factCount!==1?"s":""}`]})]})]})})}function uI({graph:e,onNodeClick:t}){const s=`${e.rootEntity.entityType}::${e.rootEntity.entityId}`;return n.jsx("div",{className:ae.listWrapper,children:n.jsxs("table",{className:ae.listTable,"aria-label":"Relationship list",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Direction"}),n.jsx("th",{children:"Relationship"}),n.jsx("th",{children:"Other entity"}),n.jsx("th",{children:"Confidence"}),n.jsx("th",{children:"Source"})]})}),n.jsx("tbody",{children:e.edges.map((a,r)=>{const l=`${a.fromEntityType}::${a.fromEntityId}`===s,o=l?a.toEntityType:a.fromEntityType,c=l?a.toEntityId:a.fromEntityId;return n.jsxs("tr",{className:ae.listRow,children:[n.jsx("td",{className:ae.listCellDir,children:n.jsx("span",{className:l?ae.dirFrom:ae.dirTo,children:l?"outgoing":"incoming"})}),n.jsx("td",{className:ae.listCellType,children:a.relationshipType}),n.jsx("td",{className:ae.listCellEntity,children:n.jsxs("button",{className:ae.entityBtn,onClick:()=>t(o,c),type:"button",children:[n.jsx("span",{className:ae.entityTypeText,children:o}),n.jsx("span",{className:ae.entitySep,children:"/"}),n.jsx("span",{className:ae.entityIdText,children:c})]})}),n.jsx("td",{className:ae.listCellMeta,children:a.confidence!=null?a.confidence:"—"}),n.jsx("td",{className:ae.listCellMeta,children:a.source??"—"})]},r)})})]})})}function hI({entityType:e,entityId:t,instanceId:s}){const[a,r]=d.useState(1),[i,l]=d.useState("graph"),o=_t(),{data:c,isLoading:u,error:m}=Ne({queryKey:["relationship-graph",s??"binding",e,t,a],queryFn:()=>ke(`/entities/${encodeURIComponent(e)}/${encodeURIComponent(t)}/relationships/graph`,{instanceId:s,depth:a}),enabled:!!(e&&t)}),p=(h,y)=>{o(`/memory/${encodeURIComponent(h)}/${encodeURIComponent(y)}`)};return u?n.jsx("div",{className:ae.loadingCenter,children:n.jsx(Fe,{size:"md",label:"Loading relationship graph"})}):m?n.jsxs("div",{className:ae.errorState,children:[n.jsx("span",{className:ae.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:ae.errorTitle,children:"Failed to load relationship graph"}),n.jsx("p",{className:ae.errorBody,children:m.message})]}):!c||c.nodes.length<=1?n.jsxs("div",{className:ae.emptyState,children:[n.jsx("span",{className:ae.emptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:ae.emptyTitle,children:"No relationships recorded"}),n.jsx("p",{className:ae.emptyBody,children:"No relationships recorded for this entity. Relationships are created when Iranti agents write cross-entity facts or establish provenance links."})]}):n.jsxs("div",{className:ae.container,children:[n.jsxs("div",{className:ae.controls,children:[n.jsxs("div",{className:ae.controlGroup,children:[n.jsx("span",{className:ae.controlLabel,children:"Depth"}),n.jsxs("div",{className:ae.depthToggle,role:"group","aria-label":"Graph depth",children:[n.jsx("button",{type:"button",className:`${ae.depthBtn} ${a===1?ae.depthBtnActive:""}`,onClick:()=>r(1),"aria-pressed":a===1,children:"1"}),n.jsx("button",{type:"button",className:`${ae.depthBtn} ${a===2?ae.depthBtnActive:""}`,onClick:()=>r(2),"aria-pressed":a===2,children:"2"})]})]}),n.jsxs("div",{className:ae.controlGroup,children:[n.jsx("button",{type:"button",className:`${ae.viewModeBtn} ${i==="graph"?ae.viewModeBtnActive:""}`,onClick:()=>l("graph"),"aria-pressed":i==="graph",title:"Graph view",children:"⬡ Graph"}),n.jsx("button",{type:"button",className:`${ae.viewModeBtn} ${i==="list"?ae.viewModeBtnActive:""}`,onClick:()=>l("list"),"aria-pressed":i==="list",title:"List view",children:"≡ List"})]}),n.jsxs("div",{className:ae.graphStats,children:[n.jsxs("span",{className:ae.statItem,children:[n.jsx("span",{className:ae.statCount,children:c.nodes.length})," nodes"]}),n.jsx("span",{className:ae.statSep,"aria-hidden":"true",children:"·"}),n.jsxs("span",{className:ae.statItem,children:[n.jsx("span",{className:ae.statCount,children:c.edges.length})," edges"]})]}),c.truncated&&n.jsx("span",{className:ae.truncationWarning,role:"alert",children:"⚠ Graph truncated — too many relationships at this depth"})]}),i==="graph"?n.jsx(dI,{graph:c,onNodeClick:p}):n.jsx(uI,{graph:c,onNodeClick:p}),n.jsxs("p",{className:ae.semanticNote,role:"note",children:["This graph shows explicit relationships. Semantic relationships via vector similarity (",n.jsx("code",{className:ae.semanticNoteCode,children:"GET /kb/related"}),") are not yet available from the control plane — this requires MCP read tool support (B9). Check"," ",n.jsx("a",{href:"/health",className:ae.semanticNoteLink,children:"Vector Backend status"}),"."]})]})}const pI="_page_1dv4l_8",mI="_header_1dv4l_20",fI="_breadcrumb_1dv4l_30",_I="_breadcrumbLink_1dv4l_37",gI="_breadcrumbSep_1dv4l_47",yI="_breadcrumbCurrent_1dv4l_52",xI="_entityTypePart_1dv4l_58",vI="_entitySepPart_1dv4l_62",jI="_entityIdPart_1dv4l_67",NI="_entityMeta_1dv4l_71",bI="_entityMetaItem_1dv4l_78",SI="_metaLabel_1dv4l_84",wI="_metaValue_1dv4l_92",CI="_metaValueMuted_1dv4l_100",kI="_tabs_1dv4l_110",TI="_tab_1dv4l_110",RI="_tabActive_1dv4l_142",II="_tabBadge_1dv4l_147",BI="_tabContent_1dv4l_173",EI="_tableWrapper_1dv4l_183",LI="_table_1dv4l_183",PI="_dataRow_1dv4l_218",AI="_dataRowExpanded_1dv4l_228",$I="_cellKey_1dv4l_236",DI="_keyLink_1dv4l_242",MI="_cellSummary_1dv4l_261",FI="_summaryText_1dv4l_265",OI="_cellConfidence_1dv4l_272",HI="_confidence_1dv4l_277",zI="_cellMeta_1dv4l_295",UI="_cellMono_1dv4l_300",VI="_cellArchivedReason_1dv4l_306",qI="_cellAction_1dv4l_311",WI="_historyLink_1dv4l_316",KI="_emptyState_1dv4l_394",GI="_emptyIcon_1dv4l_404",QI="_emptyTitle_1dv4l_411",JI="_emptyBody_1dv4l_418",YI="_loadingCenter_1dv4l_429",XI="_errorBanner_1dv4l_440",ZI="_errorIcon_1dv4l_451",eB="_errorTitle_1dv4l_458",tB="_errorBody_1dv4l_465",nB="_errorActions_1dv4l_473",sB="_ctaLink_1dv4l_480",aB="_retryButton_1dv4l_499",rB="_backLink_1dv4l_515",iB="_contributorsPanel_1dv4l_531",lB="_contributorsHeader_1dv4l_538",oB="_contributorsPanelTitle_1dv4l_545",cB="_contributorCount_1dv4l_553",dB="_contributorList_1dv4l_565",uB="_contributorCard_1dv4l_571",hB="_contributorIdCell_1dv4l_582",pB="_contributorIdLink_1dv4l_587",mB="_contributorIdPlain_1dv4l_604",fB="_contributorWriteCount_1dv4l_615",_B="_contributorWriteValue_1dv4l_622",gB="_contributorWriteLabel_1dv4l_629",yB="_contributorLastSeen_1dv4l_634",xB="_contributorRelativeTime_1dv4l_638",vB="_contributorsSkeleton_1dv4l_647",jB="_skeletonCard_1dv4l_653",NB="_aliasesPanel_1dv4l_671",bB="_aliasesHeader_1dv4l_678",SB="_aliasesPanelTitle_1dv4l_684",wB="_aliasCount_1dv4l_692",CB="_aliasToggleBtn_1dv4l_702",kB="_aliasForm_1dv4l_721",TB="_aliasFormFields_1dv4l_731",RB="_aliasInput_1dv4l_738",IB="_aliasSubmitBtn_1dv4l_761",BB="_aliasFormError_1dv4l_779",EB="_aliasList_1dv4l_787",LB="_aliasRow_1dv4l_793",PB="_aliasToken_1dv4l_805",AB="_aliasSource_1dv4l_821",$B="_aliasCreatedAt_1dv4l_827",DB="_aliasesSkeleton_1dv4l_837",MB="_aliasesEmpty_1dv4l_845",FB="_aliasesUnavailable_1dv4l_852",OB="_aliasHealthLink_1dv4l_858",HB="_contributorsEmpty_1dv4l_870",zB="_contributorsUnavailable_1dv4l_877",UB="_contributorsInlineCode_1dv4l_883",$={page:pI,header:mI,breadcrumb:fI,breadcrumbLink:_I,breadcrumbSep:gI,breadcrumbCurrent:yI,entityTypePart:xI,entitySepPart:vI,entityIdPart:jI,entityMeta:NI,entityMetaItem:bI,metaLabel:SI,metaValue:wI,metaValueMuted:CI,tabs:kI,tab:TI,tabActive:RI,tabBadge:II,tabContent:BI,tableWrapper:EI,table:LI,dataRow:PI,dataRowExpanded:AI,cellKey:$I,keyLink:DI,cellSummary:MI,summaryText:FI,cellConfidence:OI,confidence:HI,cellMeta:zI,cellMono:UI,cellArchivedReason:VI,cellAction:qI,historyLink:WI,emptyState:KI,emptyIcon:GI,emptyTitle:QI,emptyBody:JI,loadingCenter:YI,errorBanner:XI,errorIcon:ZI,errorTitle:eB,errorBody:tB,errorActions:nB,ctaLink:sB,retryButton:aB,backLink:rB,contributorsPanel:iB,contributorsHeader:lB,contributorsPanelTitle:oB,contributorCount:cB,contributorList:dB,contributorCard:uB,contributorIdCell:hB,contributorIdLink:pB,contributorIdPlain:mB,contributorWriteCount:fB,contributorWriteValue:_B,contributorWriteLabel:gB,contributorLastSeen:yB,contributorRelativeTime:xB,contributorsSkeleton:vB,skeletonCard:jB,aliasesPanel:NB,aliasesHeader:bB,aliasesPanelTitle:SB,aliasCount:wB,aliasToggleBtn:CB,aliasForm:kB,aliasFormFields:TB,aliasInput:RB,aliasSubmitBtn:IB,aliasFormError:BB,aliasList:EB,aliasRow:LB,aliasToken:PB,aliasSource:AB,aliasCreatedAt:$B,aliasesSkeleton:DB,aliasesEmpty:MB,aliasesUnavailable:FB,aliasHealthLink:OB,contributorsEmpty:HB,contributorsUnavailable:zB,contributorsInlineCode:UB};function VB(e){return e?new Date(e).toLocaleString():"—"}function Hr(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const a=Math.floor(s/60);return a<24?`${a}h ago`:Math.floor(a/24)+"d ago"}function Gd({value:e}){const t=e>=90?"high":e>=70?"medium":"low";return n.jsx("span",{className:$.confidence,"data-level":t,title:`Confidence: ${e}`,children:e})}function qB({facts:e,entityType:t,entityId:s}){const a=_t();return e.length===0?n.jsxs("div",{className:$.emptyState,children:[n.jsx("span",{className:$.emptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:$.emptyTitle,children:"No current facts"}),n.jsx("p",{className:$.emptyBody,children:"This entity has no active knowledge base entries."})]}):n.jsx("div",{className:$.tableWrapper,children:n.jsxs("table",{className:$.table,"aria-label":"Current facts",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Summary"}),n.jsx("th",{children:"Conf"}),n.jsx("th",{children:"Source"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"Valid from"}),n.jsx("th",{children:"Updated"}),n.jsx("th",{children:"History"})]})}),n.jsx("tbody",{children:e.map(r=>n.jsxs("tr",{className:$.dataRow,children:[n.jsx("td",{className:$.cellKey,children:n.jsx("button",{className:$.keyLink,onClick:()=>a(`/memory/${encodeURIComponent(t)}/${encodeURIComponent(s)}/${encodeURIComponent(r.key)}`),title:`View temporal history for ${r.key}`,children:r.key})}),n.jsx("td",{className:$.cellSummary,children:n.jsx("span",{className:$.summaryText,children:r.valueSummary??"—"})}),n.jsx("td",{className:$.cellConfidence,children:n.jsx(Gd,{value:r.confidence})}),n.jsx("td",{className:$.cellMeta,children:r.source??"—"}),n.jsx("td",{className:$.cellMono,children:r.agentId??"—"}),n.jsx("td",{className:$.cellMeta,children:r.validFrom?new Date(r.validFrom).toLocaleDateString():"—"}),n.jsx("td",{className:$.cellMeta,children:r.updatedAt?Hr(r.updatedAt):r.createdAt?Hr(r.createdAt):"—"}),n.jsx("td",{className:$.cellAction,children:n.jsx(Se,{to:`/memory/${encodeURIComponent(t)}/${encodeURIComponent(s)}/${encodeURIComponent(r.key)}`,className:$.historyLink,title:`View history for ${r.key}`,children:"History →"})})]},r.id))})]})})}function WB({facts:e}){const[t,s]=d.useState(null);return e.length===0?n.jsxs("div",{className:$.emptyState,children:[n.jsx("span",{className:$.emptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:$.emptyTitle,children:"No archived facts"}),n.jsx("p",{className:$.emptyBody,children:"No facts have been superseded, expired, or decayed for this entity."})]}):n.jsx("div",{className:$.tableWrapper,children:n.jsxs("table",{className:$.table,"aria-label":"Archived facts",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Summary"}),n.jsx("th",{children:"Conf"}),n.jsx("th",{children:"Archived reason"}),n.jsx("th",{children:"Archived at"}),n.jsx("th",{children:"Valid from"}),n.jsx("th",{children:"Valid until"}),n.jsx("th",{children:"Agent"})]})}),n.jsx("tbody",{children:e.map(a=>n.jsxs("tr",{className:`${$.dataRow} ${t===a.id?$.dataRowExpanded:""}`,onClick:()=>s(r=>r===a.id?null:a.id),role:"button",tabIndex:0,"aria-expanded":t===a.id,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&s(i=>i===a.id?null:a.id)},children:[n.jsx("td",{className:$.cellKey,children:a.key}),n.jsx("td",{className:$.cellSummary,children:n.jsx("span",{className:$.summaryText,children:a.valueSummary??"—"})}),n.jsx("td",{className:$.cellConfidence,children:n.jsx(Gd,{value:a.confidence})}),n.jsx("td",{className:$.cellArchivedReason,children:a.archivedReason??"—"}),n.jsx("td",{className:$.cellMeta,children:Hr(a.archivedAt)}),n.jsx("td",{className:$.cellMeta,children:a.validFrom?new Date(a.validFrom).toLocaleDateString():"—"}),n.jsx("td",{className:$.cellMeta,children:a.validUntil?new Date(a.validUntil).toLocaleDateString():"—"}),n.jsx("td",{className:$.cellMono,children:a.agentId??"—"})]},a.id))})]})})}function KB({entityType:e,entityId:t,instanceId:s}){const{data:a,isLoading:r,error:i}=Ne({queryKey:["whoknows",s??"binding",e,t],queryFn:()=>ke(`/kb/whoknows/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{instanceId:s}),retry:!1,staleTime:12e4}),{data:l}=Ne({queryKey:["agents"],queryFn:()=>ke("/agents"),staleTime:5*60*1e3,retry:!1}),o=new Set(((l==null?void 0:l.agents)??[]).map(m=>m.agentId)),c=[...(a==null?void 0:a.contributors)??[]].sort((m,p)=>p.writeCount-m.writeCount),u=i!==null&&(i.message.includes("503")||i.message.includes("WHOKNOWS_UNAVAILABLE")||i.message.includes("memory:read"));return n.jsxs("div",{className:$.contributorsPanel,children:[n.jsxs("div",{className:$.contributorsHeader,children:[n.jsx("span",{className:$.contributorsPanelTitle,children:"Contributors"}),a&&n.jsxs("span",{className:$.contributorCount,children:[a.total," agent",a.total!==1?"s":""]})]}),r&&n.jsxs("div",{className:$.contributorsSkeleton,"aria-busy":"true","aria-label":"Loading contributors",children:[n.jsx("div",{className:$.skeletonCard}),n.jsx("div",{className:$.skeletonCard}),n.jsx("div",{className:$.skeletonCard})]}),!r&&u&&n.jsxs("p",{className:$.contributorsUnavailable,children:["Contributor data unavailable. Check that your Iranti API key has"," ",n.jsx("code",{className:$.contributorsInlineCode,children:"memory:read"})," scope."]}),!r&&i&&!u&&n.jsxs("p",{className:$.contributorsUnavailable,children:["Contributor data unavailable. Check that your Iranti API key has"," ",n.jsx("code",{className:$.contributorsInlineCode,children:"memory:read"})," scope."]}),!r&&!i&&c.length===0&&n.jsx("p",{className:$.contributorsEmpty,children:"No attributed contributors for this entity."}),!r&&!i&&c.length>0&&n.jsx("div",{className:$.contributorList,role:"list",children:c.map(m=>{const p=o.has(m.agentId);return n.jsxs("div",{className:$.contributorCard,role:"listitem",children:[n.jsx("div",{className:$.contributorIdCell,children:p?n.jsx(Se,{to:`/agents/${encodeURIComponent(m.agentId)}`,className:$.contributorIdLink,title:`View ${m.agentId} in Agent Registry`,children:m.agentId}):n.jsx("span",{className:$.contributorIdPlain,children:m.agentId})}),n.jsxs("div",{className:$.contributorWriteCount,children:[n.jsx("span",{className:$.contributorWriteValue,children:m.writeCount}),n.jsxs("span",{className:$.contributorWriteLabel,children:["write",m.writeCount!==1?"s":""]})]}),n.jsx("div",{className:$.contributorLastSeen,children:n.jsx("span",{title:m.lastContributedAt?new Date(m.lastContributedAt).toLocaleString():void 0,className:$.contributorRelativeTime,children:m.lastContributedAt?Hr(m.lastContributedAt):"—"})})]},m.agentId)})})]})}function GB({alias:e}){return n.jsxs("div",{className:$.aliasRow,children:[n.jsx("code",{className:$.aliasToken,children:e.alias}),n.jsx("span",{className:$.aliasSource,children:e.source}),n.jsx(Gd,{value:e.confidence}),n.jsx("span",{className:$.aliasCreatedAt,title:new Date(e.createdAt).toLocaleString(),children:Hr(e.createdAt)})]})}function QB({entityType:e,entityId:t,onSuccess:s}){const{activeInstance:a}=gt(),[r,i]=d.useState(""),[l,o]=d.useState(null),c=`${e}/${t}`,u=s_({mutationFn:async p=>{const h=new URL("/api/control-plane/kb/alias",window.location.origin);a!=null&&a.id&&h.searchParams.set("instanceId",a.id);const y=await fetch(h.toString(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({canonicalEntity:c,alias:p})});if(!y.ok){const g=await y.json().catch(()=>({error:y.statusText}));throw new Error(g.error??y.statusText)}},onSuccess:()=>{i(""),o(null),s()},onError:p=>{o(p.message)}}),m=p=>{p.preventDefault();const h=r.trim();if(!h){o("Alias token is required.");return}o(null),u.mutate(h)};return n.jsxs("form",{className:$.aliasForm,onSubmit:m,"aria-label":"Create alias form",children:[n.jsxs("div",{className:$.aliasFormFields,children:[n.jsx("input",{type:"text",className:$.aliasInput,placeholder:"Alias token (e.g. alice)",value:r,onChange:p=>i(p.target.value),"aria-label":"Alias token",disabled:u.isPending}),n.jsx("button",{type:"submit",className:$.aliasSubmitBtn,disabled:u.isPending,children:u.isPending?"Creating…":"Create"})]}),l&&n.jsx("p",{className:$.aliasFormError,role:"alert",children:l})]})}function JB({entityType:e,entityId:t}){const{activeInstance:s}=gt(),a=s==null?void 0:s.id,[r,i]=d.useState(!1),l=Ht(),{data:o,isLoading:c,error:u}=Ne({queryKey:["entity-aliases",a??"binding",e,t],queryFn:()=>ke(`/kb/entity/${encodeURIComponent(e)}/${encodeURIComponent(t)}/aliases`,{instanceId:a}),retry:!1,staleTime:2*60*1e3}),m=()=>{l.invalidateQueries({queryKey:["entity-aliases",a??"binding",e,t]}),i(!1)},p=u!=null&&(u.message.includes("503")||u.message.includes("UNAVAILABLE")),h=(o==null?void 0:o.aliases)??[];return n.jsxs("div",{className:$.aliasesPanel,children:[n.jsxs("div",{className:$.aliasesHeader,children:[n.jsx("span",{className:$.aliasesPanelTitle,children:"Aliases"}),o&&o.total>0&&n.jsx("span",{className:$.aliasCount,children:o.total}),n.jsx("button",{type:"button",className:$.aliasToggleBtn,onClick:()=>i(y=>!y),"aria-expanded":r,children:r?"Cancel":"Create alias"})]}),r&&n.jsx(QB,{entityType:e,entityId:t,onSuccess:m}),c&&n.jsxs("div",{className:$.aliasesSkeleton,"aria-busy":"true","aria-label":"Loading aliases",children:[n.jsx("div",{className:$.skeletonCard}),n.jsx("div",{className:$.skeletonCard})]}),!c&&(p||u&&!p)&&n.jsxs("p",{className:$.aliasesUnavailable,children:["Alias data unavailable."," ",n.jsx(Se,{to:"/health",className:$.aliasHealthLink,children:"Check Health Dashboard"})," for instance status."]}),!c&&!u&&h.length===0&&n.jsx("p",{className:$.aliasesEmpty,children:"No aliases — this entity has no aliases yet."}),!c&&!u&&h.length>0&&n.jsx("div",{className:$.aliasList,role:"list",children:h.map(y=>n.jsx(GB,{alias:y},y.aliasNorm))})]})}function YB(){const{entityType:e,entityId:t}=Dd(),{activeInstance:s}=gt(),a=s==null?void 0:s.id,[r,i]=d.useState("facts"),l=e?decodeURIComponent(e):"",o=t?decodeURIComponent(t):"",{data:c,isLoading:u,error:m,refetch:p}=Ne({queryKey:["entity-detail",a??"binding",l,o],queryFn:()=>ke(`/entities/${encodeURIComponent(l)}/${encodeURIComponent(o)}`,{instanceId:a}),enabled:!!(l&&o)});if(!l||!o)return n.jsx("div",{className:$.page,children:n.jsxs("div",{className:$.errorBanner,children:[n.jsx("span",{className:$.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:$.errorTitle,children:"Invalid entity reference"}),n.jsx("p",{className:$.errorBody,children:"Entity type and ID are required."}),n.jsx(Se,{to:"/memory",className:$.backLink,children:"← Back to Memory Explorer"})]})});if(u)return n.jsx("div",{className:$.page,children:n.jsx("div",{className:$.loadingCenter,children:n.jsx(Fe,{size:"md",label:"Loading entity"})})});if(m)return n.jsx("div",{className:$.page,children:n.jsxs("div",{className:$.errorBanner,children:[n.jsx("span",{className:$.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:$.errorTitle,children:"Unable to load entity"}),n.jsx("p",{className:$.errorBody,children:m.message}),n.jsxs("div",{className:$.errorActions,children:[n.jsx(Se,{to:"/health",className:$.ctaLink,children:"Open Health Dashboard"}),n.jsx("button",{className:$.retryButton,onClick:()=>void p(),type:"button",children:"Retry"})]}),n.jsx(Se,{to:"/memory",className:$.backLink,children:"← Back to Memory Explorer"})]})});const h=(c==null?void 0:c.currentFacts)??[],y=(c==null?void 0:c.archivedFacts)??[],g=(c==null?void 0:c.relationships)??[],j=h.reduce((v,_)=>{const f=_.updatedAt??_.createdAt;return f?v?new Date(f)>new Date(v)?f:v:f:v},null);return n.jsxs("div",{className:$.page,children:[n.jsxs("div",{className:$.header,children:[n.jsxs("div",{className:$.breadcrumb,children:[n.jsx(Se,{to:"/memory",className:$.breadcrumbLink,children:"Memory Explorer"}),n.jsx("span",{className:$.breadcrumbSep,"aria-hidden":"true",children:"›"}),n.jsxs("span",{className:$.breadcrumbCurrent,"aria-current":"page",children:[n.jsx("span",{className:$.entityTypePart,children:l}),n.jsx("span",{className:$.entitySepPart,children:"/"}),n.jsx("span",{className:$.entityIdPart,children:o})]})]}),n.jsxs("div",{className:$.entityMeta,children:[n.jsxs("div",{className:$.entityMetaItem,children:[n.jsx("span",{className:$.metaLabel,children:"Current facts"}),n.jsx("span",{className:$.metaValue,children:h.length})]}),n.jsxs("div",{className:$.entityMetaItem,children:[n.jsx("span",{className:$.metaLabel,children:"Archived facts"}),n.jsx("span",{className:$.metaValue,children:y.length})]}),n.jsxs("div",{className:$.entityMetaItem,children:[n.jsx("span",{className:$.metaLabel,children:"Relationships"}),n.jsx("span",{className:$.metaValue,children:g.length})]}),j&&n.jsxs("div",{className:$.entityMetaItem,children:[n.jsx("span",{className:$.metaLabel,children:"Last updated"}),n.jsx("span",{className:$.metaValueMuted,children:VB(j)})]})]})]}),n.jsxs("div",{className:$.tabs,role:"tablist","aria-label":"Entity detail sections",children:[n.jsxs("button",{role:"tab","aria-selected":r==="facts",className:`${$.tab} ${r==="facts"?$.tabActive:""}`,onClick:()=>i("facts"),children:["Current facts",h.length>0&&n.jsx("span",{className:$.tabBadge,children:h.length})]}),n.jsxs("button",{role:"tab","aria-selected":r==="archived",className:`${$.tab} ${r==="archived"?$.tabActive:""}`,onClick:()=>i("archived"),children:["Archived facts",y.length>0&&n.jsx("span",{className:$.tabBadge,children:y.length})]}),n.jsxs("button",{role:"tab","aria-selected":r==="relationships",className:`${$.tab} ${r==="relationships"?$.tabActive:""}`,onClick:()=>i("relationships"),children:["Relationships",g.length>0&&n.jsx("span",{className:$.tabBadge,children:g.length})]}),n.jsx("button",{role:"tab","aria-selected":r==="aliases",className:`${$.tab} ${r==="aliases"?$.tabActive:""}`,onClick:()=>i("aliases"),children:"Aliases"})]}),n.jsxs("div",{className:$.tabContent,role:"tabpanel",children:[r==="facts"&&n.jsx(qB,{facts:h,entityType:l,entityId:o}),r==="archived"&&n.jsx(WB,{facts:y}),r==="relationships"&&n.jsx(hI,{entityType:l,entityId:o,instanceId:a}),r==="aliases"&&n.jsx(JB,{entityType:l,entityId:o})]}),n.jsx(KB,{entityType:l,entityId:o,instanceId:a})]})}const XB="_page_1hj4u_8",ZB="_header_1hj4u_20",eE="_breadcrumb_1hj4u_30",tE="_breadcrumbLink_1hj4u_38",nE="_breadcrumbSep_1hj4u_50",sE="_breadcrumbCurrent_1hj4u_55",aE="_entityTypePart_1hj4u_61",rE="_entitySepPart_1hj4u_65",iE="_entityIdPart_1hj4u_70",lE="_keyPart_1hj4u_74",oE="_headerMeta_1hj4u_78",cE="_headerMetaItem_1hj4u_85",dE="_metaLabel_1hj4u_91",uE="_metaValue_1hj4u_99",hE="_metaValueBadge_1hj4u_107",pE="_badgeYes_1hj4u_119",mE="_badgeNo_1hj4u_125",fE="_timelineRegion_1hj4u_135",_E="_timeline_1hj4u_135",gE="_timelineLine_1hj4u_149",yE="_intervalCard_1hj4u_163",xE="_intervalCardCurrent_1hj4u_178",vE="_intervalHeader_1hj4u_194",jE="_intervalLeft_1hj4u_202",NE="_timelineDot_1hj4u_211",bE="_intervalMeta_1hj4u_232",SE="_intervalTopRow_1hj4u_240",wE="_currentBadge_1hj4u_247",CE="_confidence_1hj4u_263",kE="_source_1hj4u_281",TE="_agent_1hj4u_287",RE="_valueSummary_1hj4u_293",IE="_noValue_1hj4u_300",BE="_intervalDates_1hj4u_305",EE="_dateItem_1hj4u_312",LE="_dateLabel_1hj4u_318",PE="_dateValue_1hj4u_326",AE="_dateSep_1hj4u_332",$E="_stillActive_1hj4u_337",DE="_archivedRow_1hj4u_342",ME="_archivedReasonLabel_1hj4u_349",FE="_archivedReason_1hj4u_349",OE="_archivedAt_1hj4u_362",HE="_supersededRow_1hj4u_368",zE="_supersededLabel_1hj4u_374",UE="_supersededId_1hj4u_381",VE="_expandToggle_1hj4u_387",qE="_rawBlock_1hj4u_403",WE="_rawLabel_1hj4u_411",KE="_rawPre_1hj4u_420",GE="_emptyState_1hj4u_440",QE="_emptyIcon_1hj4u_452",JE="_emptyTitle_1hj4u_459",YE="_emptyBody_1hj4u_466",XE="_loadingCenter_1hj4u_476",ZE="_errorBanner_1hj4u_487",eL="_errorIcon_1hj4u_498",tL="_errorTitle_1hj4u_505",nL="_errorBody_1hj4u_512",sL="_errorActions_1hj4u_520",aL="_ctaLink_1hj4u_527",rL="_retryButton_1hj4u_546",iL="_backLink_1hj4u_562",lL="_asOfRow_1hj4u_578",oL="_asOfLabel_1hj4u_587",cL="_asOfInputGroup_1hj4u_596",dL="_asOfInput_1hj4u_596",uL="_asOfClearButton_1hj4u_631",hL="_asOfHint_1hj4u_652",pL="_asOfCalloutRegion_1hj4u_662",mL="_asOfCallout_1hj4u_662",fL="_asOfCalloutEmpty_1hj4u_679",_L="_asOfCalloutError_1hj4u_684",gL="_asOfCalloutResult_1hj4u_689",yL="_asOfCalloutHeader_1hj4u_694",xL="_asOfCalloutLabel_1hj4u_701",vL="_asOfCalloutTimestamp_1hj4u_718",jL="_asOfCalloutText_1hj4u_724",NL="_asOfCalloutGrid_1hj4u_731",bL="_asOfCalloutFieldLabel_1hj4u_738",SL="_asOfCalloutFieldValue_1hj4u_747",wL="_asOfMono_1hj4u_753",CL="_asOfConfidence_1hj4u_758",kL="_asOfIntervalArrow_1hj4u_776",TL="_asOfStillActive_1hj4u_780",RL="_asOfRawDetails_1hj4u_785",IL="_asOfRawSummary_1hj4u_789",BL="_intervalCardAsOfMatch_1hj4u_808",EL="_asOfMatchBadge_1hj4u_844",D={page:XB,header:ZB,breadcrumb:eE,breadcrumbLink:tE,breadcrumbSep:nE,breadcrumbCurrent:sE,entityTypePart:aE,entitySepPart:rE,entityIdPart:iE,keyPart:lE,headerMeta:oE,headerMetaItem:cE,metaLabel:dE,metaValue:uE,metaValueBadge:hE,badgeYes:pE,badgeNo:mE,timelineRegion:fE,timeline:_E,timelineLine:gE,intervalCard:yE,intervalCardCurrent:xE,intervalHeader:vE,intervalLeft:jE,timelineDot:NE,intervalMeta:bE,intervalTopRow:SE,currentBadge:wE,confidence:CE,source:kE,agent:TE,valueSummary:RE,noValue:IE,intervalDates:BE,dateItem:EE,dateLabel:LE,dateValue:PE,dateSep:AE,stillActive:$E,archivedRow:DE,archivedReasonLabel:ME,archivedReason:FE,archivedAt:OE,supersededRow:HE,supersededLabel:zE,supersededId:UE,expandToggle:VE,rawBlock:qE,rawLabel:WE,rawPre:KE,emptyState:GE,emptyIcon:QE,emptyTitle:JE,emptyBody:YE,loadingCenter:XE,errorBanner:ZE,errorIcon:eL,errorTitle:tL,errorBody:nL,errorActions:sL,ctaLink:aL,retryButton:rL,backLink:iL,asOfRow:lL,asOfLabel:oL,asOfInputGroup:cL,asOfInput:dL,asOfClearButton:uL,asOfHint:hL,asOfCalloutRegion:pL,asOfCallout:mL,asOfCalloutEmpty:fL,asOfCalloutError:_L,asOfCalloutResult:gL,asOfCalloutHeader:yL,asOfCalloutLabel:xL,asOfCalloutTimestamp:vL,asOfCalloutText:jL,asOfCalloutGrid:NL,asOfCalloutFieldLabel:bL,asOfCalloutFieldValue:SL,asOfMono:wL,asOfConfidence:CL,asOfIntervalArrow:kL,asOfStillActive:TL,asOfRawDetails:RL,asOfRawSummary:IL,intervalCardAsOfMatch:BL,asOfMatchBadge:EL};function Wn(e){return e?new Date(e).toLocaleString():"—"}function LL(e){return new Date(e).toISOString()}function PL(e){const t=new Date(e),s=a=>String(a).padStart(2,"0");return`${t.getFullYear()}-${s(t.getMonth()+1)}-${s(t.getDate())}T${s(t.getHours())}:${s(t.getMinutes())}`}function AL(e,t){const s=new Date(t).getTime();for(const{interval:a}of e){const r=a.validFrom?new Date(a.validFrom).getTime():-1/0,i=a.validUntil?new Date(a.validUntil).getTime():1/0;if(s>=r&&s<i)return a.id}return null}function $L({result:e,isLoading:t,error:s,asOf:a}){if(t)return n.jsxs("div",{className:D.asOfCallout,role:"status","aria-live":"polite",children:[n.jsx(Fe,{size:"sm",label:"Querying point in time…"}),n.jsxs("span",{className:D.asOfCalloutText,children:["Querying ",Wn(a),"…"]})]});if(s)return n.jsxs("div",{className:`${D.asOfCallout} ${D.asOfCalloutError}`,role:"alert",children:[n.jsx("span",{className:D.asOfCalloutLabel,children:"Query error"}),n.jsx("p",{className:D.asOfCalloutText,children:s.message})]});if(!e)return null;if(!e.fact)return n.jsxs("div",{className:`${D.asOfCallout} ${D.asOfCalloutEmpty}`,role:"status","aria-live":"polite",children:[n.jsx("span",{className:D.asOfCalloutLabel,children:"Point in time"}),n.jsx("p",{className:D.asOfCalloutText,children:"No fact existed at this time."}),n.jsx("span",{className:D.asOfCalloutTimestamp,children:Wn(e.asOf)})]});const{fact:r}=e,i=(()=>{if(!r.valueRaw)return null;try{return JSON.parse(r.valueRaw)}catch{return r.valueRaw}})(),l=r.confidence>=90?"high":r.confidence>=70?"medium":"low";return n.jsxs("div",{className:`${D.asOfCallout} ${D.asOfCalloutResult}`,role:"status","aria-live":"polite",children:[n.jsxs("div",{className:D.asOfCalloutHeader,children:[n.jsx("span",{className:D.asOfCalloutLabel,children:"Fact at point in time"}),n.jsx("span",{className:D.asOfCalloutTimestamp,children:Wn(e.asOf)})]}),n.jsxs("div",{className:D.asOfCalloutGrid,children:[n.jsx("span",{className:D.asOfCalloutFieldLabel,children:"Value"}),n.jsx("span",{className:D.asOfCalloutFieldValue,children:r.valueSummary??(i!==null?JSON.stringify(i):"—")}),n.jsx("span",{className:D.asOfCalloutFieldLabel,children:"Confidence"}),n.jsx("span",{className:`${D.asOfCalloutFieldValue} ${D.asOfConfidence}`,"data-level":l,children:r.confidence}),n.jsx("span",{className:D.asOfCalloutFieldLabel,children:"Source"}),n.jsx("span",{className:`${D.asOfCalloutFieldValue} ${D.asOfMono}`,children:r.providerSource??"—"}),n.jsx("span",{className:D.asOfCalloutFieldLabel,children:"Created by"}),n.jsx("span",{className:`${D.asOfCalloutFieldValue} ${D.asOfMono}`,children:r.agentId??"—"}),n.jsx("span",{className:D.asOfCalloutFieldLabel,children:"Interval"}),n.jsxs("span",{className:`${D.asOfCalloutFieldValue} ${D.asOfMono}`,children:[Wn(r.validFrom),n.jsx("span",{className:D.asOfIntervalArrow,"aria-hidden":"true",children:" → "}),r.validUntil?Wn(r.validUntil):n.jsx("span",{className:D.asOfStillActive,children:"still active"})]})]}),i!==null&&n.jsxs("details",{className:D.asOfRawDetails,children:[n.jsx("summary",{className:D.asOfRawSummary,children:"Raw value"}),n.jsx("pre",{className:D.rawPre,children:JSON.stringify(i,null,2)})]})]})}function DL({interval:e,isCurrent:t,isAsOfMatch:s}){const[a,r]=d.useState(!1),i=(()=>{if(!e.valueRaw)return null;try{return JSON.parse(e.valueRaw)}catch{return e.valueRaw}})(),l=e.confidence>=90?"high":e.confidence>=70?"medium":"low",o=[D.intervalCard,t?D.intervalCardCurrent:"",s?D.intervalCardAsOfMatch:""].filter(Boolean).join(" ");return n.jsxs("div",{className:o,children:[n.jsxs("div",{className:D.intervalHeader,role:"button",tabIndex:0,"aria-expanded":a,onClick:()=>i!==null&&r(c=>!c),onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&i!==null&&r(u=>!u)},style:{cursor:i!==null?"pointer":"default"},children:[n.jsxs("div",{className:D.intervalLeft,children:[n.jsx("div",{className:D.timelineDot,"data-current":t,"data-asofmatch":s,"aria-hidden":"true"}),n.jsxs("div",{className:D.intervalMeta,children:[n.jsxs("div",{className:D.intervalTopRow,children:[t&&n.jsx("span",{className:D.currentBadge,"aria-label":"Currently active fact",children:"current"}),s&&n.jsx("span",{className:D.asOfMatchBadge,"aria-label":"Active at selected point in time",children:"active at query time"}),n.jsx("span",{className:D.confidence,"data-level":l,title:`Confidence: ${e.confidence}`,children:e.confidence}),e.providerSource&&n.jsx("span",{className:D.source,children:e.providerSource}),e.agentId&&n.jsx("span",{className:D.agent,children:e.agentId})]}),n.jsx("p",{className:D.valueSummary,children:e.valueSummary??n.jsx("em",{className:D.noValue,children:"No value summary"})}),n.jsxs("div",{className:D.intervalDates,children:[n.jsxs("span",{className:D.dateItem,children:[n.jsx("span",{className:D.dateLabel,children:"Valid from"}),n.jsx("span",{className:D.dateValue,children:Wn(e.validFrom)})]}),n.jsx("span",{className:D.dateSep,"aria-hidden":"true",children:"→"}),n.jsxs("span",{className:D.dateItem,children:[n.jsx("span",{className:D.dateLabel,children:"Valid until"}),n.jsx("span",{className:D.dateValue,children:t?n.jsx("span",{className:D.stillActive,children:"still active"}):Wn(e.validUntil)})]})]}),!t&&e.archivedReason&&n.jsxs("div",{className:D.archivedRow,children:[n.jsx("span",{className:D.archivedReasonLabel,children:"Archived reason:"}),n.jsx("span",{className:D.archivedReason,children:e.archivedReason}),e.archivedAt&&n.jsx("span",{className:D.archivedAt,children:Wn(e.archivedAt)})]}),e.supersededBy&&n.jsxs("div",{className:D.supersededRow,children:[n.jsx("span",{className:D.supersededLabel,children:"Superseded by:"}),n.jsx("span",{className:D.supersededId,children:e.supersededBy})]})]})]}),i!==null&&n.jsx("div",{className:D.expandToggle,"aria-hidden":"true",children:a?"▲":"▼"})]}),a&&i!==null&&n.jsxs("div",{className:D.rawBlock,children:[n.jsx("span",{className:D.rawLabel,children:"Raw value"}),n.jsx("pre",{className:D.rawPre,children:JSON.stringify(i,null,2)})]})]})}function ML(){const{entityType:e,entityId:t,key:s}=Dd(),{activeInstance:a}=gt(),r=a==null?void 0:a.id,i=e?decodeURIComponent(e):"",l=t?decodeURIComponent(t):"",o=s?decodeURIComponent(s):"",[c,u]=d.useState(""),m=c?LL(c):null,p=d.useCallback(k=>{u(k.target.value)},[]),h=d.useCallback(()=>{u("")},[]),{data:y,isLoading:g,error:j,refetch:v}=Ne({queryKey:["temporal-history",r??"binding",i,l,o],queryFn:()=>ke(`/entities/${encodeURIComponent(i)}/${encodeURIComponent(l)}/history/${encodeURIComponent(o)}`,{instanceId:r}),enabled:!!(i&&l&&o)}),{data:_,isLoading:f,error:x}=Ne({queryKey:["temporal-asof",r??"binding",i,l,o,m],queryFn:()=>ke(`/entities/${encodeURIComponent(i)}/${encodeURIComponent(l)}/query/${encodeURIComponent(o)}`,{instanceId:r,asOf:m,includeExpired:"true"}),enabled:!!(i&&l&&o&&m),retry:(k,B)=>{const M=B.message??"";return M.includes("INVALID_PARAM")||M.includes("NOT_FOUND")?!1:k<2}});if(!i||!l||!o)return n.jsx("div",{className:D.page,children:n.jsxs("div",{className:D.errorBanner,children:[n.jsx("span",{className:D.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:D.errorTitle,children:"Invalid history reference"}),n.jsx("p",{className:D.errorBody,children:"Entity type, entity ID, and key are all required."}),n.jsx(Se,{to:"/memory",className:D.backLink,children:"← Back to Memory Explorer"})]})});if(g)return n.jsx("div",{className:D.page,children:n.jsx("div",{className:D.loadingCenter,children:n.jsx(Fe,{size:"md",label:"Loading history"})})});if(j)return n.jsx("div",{className:D.page,children:n.jsxs("div",{className:D.errorBanner,children:[n.jsx("span",{className:D.errorIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:D.errorTitle,children:"Unable to load history"}),n.jsx("p",{className:D.errorBody,children:j.message}),n.jsxs("div",{className:D.errorActions,children:[n.jsx(Se,{to:"/health",className:D.ctaLink,children:"Open Health Dashboard"}),n.jsx("button",{className:D.retryButton,onClick:()=>void v(),type:"button",children:"Retry"})]}),n.jsx(Se,{to:`/memory/${encodeURIComponent(i)}/${encodeURIComponent(l)}`,className:D.backLink,children:"← Back to Entity Detail"})]})});const b=(y==null?void 0:y.current)??null,T=(y==null?void 0:y.history)??[],R=(y==null?void 0:y.hasHistory)??!1,L=[];b&&L.push({interval:b,isCurrent:!0}),T.forEach(k=>L.push({interval:k,isCurrent:!1}));const N=m?_!=null&&_.fact?_.fact.id:_&&!_.fact?null:AL(L,m):null;return n.jsxs("div",{className:D.page,children:[n.jsxs("div",{className:D.header,children:[n.jsxs("div",{className:D.breadcrumb,children:[n.jsx(Se,{to:"/memory",className:D.breadcrumbLink,children:"Memory Explorer"}),n.jsx("span",{className:D.breadcrumbSep,"aria-hidden":"true",children:"›"}),n.jsxs(Se,{to:`/memory/${encodeURIComponent(i)}/${encodeURIComponent(l)}`,className:D.breadcrumbLink,children:[n.jsx("span",{className:D.entityTypePart,children:i}),n.jsx("span",{className:D.entitySepPart,children:"/"}),n.jsx("span",{className:D.entityIdPart,children:l})]}),n.jsx("span",{className:D.breadcrumbSep,"aria-hidden":"true",children:"›"}),n.jsx("span",{className:D.breadcrumbCurrent,"aria-current":"page",children:n.jsx("span",{className:D.keyPart,children:o})})]}),n.jsxs("div",{className:D.headerMeta,children:[n.jsxs("div",{className:D.headerMetaItem,children:[n.jsx("span",{className:D.metaLabel,children:"Total intervals"}),n.jsx("span",{className:D.metaValue,children:L.length})]}),n.jsxs("div",{className:D.headerMetaItem,children:[n.jsx("span",{className:D.metaLabel,children:"Archived intervals"}),n.jsx("span",{className:D.metaValue,children:T.length})]}),n.jsxs("div",{className:D.headerMetaItem,children:[n.jsx("span",{className:D.metaLabel,children:"Has history"}),n.jsx("span",{className:`${D.metaValueBadge} ${R?D.badgeYes:D.badgeNo}`,children:R?"yes":"no"})]})]}),n.jsxs("div",{className:D.asOfRow,children:[n.jsx("label",{htmlFor:"asof-picker",className:D.asOfLabel,children:"Point in Time"}),n.jsxs("div",{className:D.asOfInputGroup,children:[n.jsx("input",{id:"asof-picker",type:"datetime-local",className:D.asOfInput,value:c,max:PL(new Date().toISOString()),onChange:p,"aria-describedby":"asof-desc"}),c&&n.jsx("button",{type:"button",className:D.asOfClearButton,onClick:h,"aria-label":"Clear point-in-time selection",children:"✕"})]}),n.jsx("span",{id:"asof-desc",className:D.asOfHint,children:"Select a date and time to see which fact was active at that moment."})]})]}),m&&n.jsx("div",{className:D.asOfCalloutRegion,children:n.jsx($L,{result:_??null,isLoading:f,error:x??null,asOf:m})}),n.jsxs("div",{className:D.timelineRegion,children:[L.length===0&&n.jsxs("div",{className:D.emptyState,children:[n.jsx("span",{className:D.emptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:D.emptyTitle,children:"No history recorded for this key"}),n.jsx("p",{className:D.emptyBody,children:"This fact has not been superseded or archived. It may be currently active or may not exist."}),n.jsx(Se,{to:`/memory/${encodeURIComponent(i)}/${encodeURIComponent(l)}`,className:D.ctaLink,children:"← Back to Entity Detail"})]}),L.length>0&&n.jsxs("div",{className:D.timeline,children:[n.jsx("div",{className:D.timelineLine,"aria-hidden":"true"}),L.map(({interval:k,isCurrent:B})=>n.jsx(DL,{interval:k,isCurrent:B,isAsOfMatch:N===k.id},k.id))]})]})]})}const FL="_page_1dv7q_4",OL="_limitationBanner_1dv7q_17",HL="_limitationIcon_1dv7q_29",zL="_filterBar_1dv7q_38",UL="_filterRow_1dv7q_48",VL="_filterLabel_1dv7q_55",qL="_filterSep_1dv7q_64",WL="_componentToggle_1dv7q_72",KL="_filterCheckbox_1dv7q_83",GL="_levelBtn_1dv7q_88",QL="_levelBtnActive_1dv7q_107",JL="_filterInput_1dv7q_138",YL="_resetBtn_1dv7q_160",XL="_statusBar_1dv7q_182",ZL="_statusConnected_1dv7q_194",e2="_connDot_1dv7q_201",t2="_statusConnecting_1dv7q_214",n2="_statusReconnecting_1dv7q_218",s2="_statusError_1dv7q_225",a2="_statusTail_1dv7q_232",r2="_statusCount_1dv7q_236",i2="_reconnectBtn_1dv7q_241",l2="_liveBadge_1dv7q_270",o2="_badgeLive_1dv7q_288",c2="_badgePaused_1dv7q_298",d2="_pulseDot_1dv7q_310",u2="_pulseDotHot_1dv7q_318",h2="_pulseDotActive_1dv7q_323",p2="_pulseDotIdle_1dv7q_328",m2="_pulseDotDisconnected_1dv7q_333",f2="_pulseDotPaused_1dv7q_338",_2="_velocityCounter_1dv7q_357",g2="_pausedBanner_1dv7q_369",y2="_resumeInlineBtn_1dv7q_381",x2="_hoverPausedBanner_1dv7q_396",v2="_eventList_1dv7q_413",j2="_table_1dv7q_420",N2="_eventRow_1dv7q_454",b2="_cellTime_1dv7q_473",S2="_cellComponent_1dv7q_479",w2="_componentBadge_1dv7q_483",C2="_cellAction_1dv7q_490",k2="_actionType_1dv7q_496",T2="_cellEntity_1dv7q_500",R2="_entityKey_1dv7q_504",I2="_entityKeyName_1dv7q_510",B2="_cellAgent_1dv7q_514",E2="_cellRelTime_1dv7q_520",L2="_cellReason_1dv7q_525",P2="_eventRowExpanded_1dv7q_538",A2="_expandedTd_1dv7q_542",$2="_expandedContent_1dv7q_548",D2="_expandedGrid_1dv7q_552",M2="_expandedField_1dv7q_559",F2="_expandedLabel_1dv7q_565",O2="_expandedValue_1dv7q_572",H2="_expandedMono_1dv7q_577",z2="_expandedMeta_1dv7q_583",U2="_expandedPre_1dv7q_590",V2="_emptyState_1dv7q_609",q2="_emptyIcon_1dv7q_619",W2="_emptyTitle_1dv7q_626",K2="_emptyBody_1dv7q_632",G2="_emptyCtaBtn_1dv7q_638",Q2="_jumpToNewBtn_1dv7q_663",z={page:FL,limitationBanner:OL,limitationIcon:HL,filterBar:zL,filterRow:UL,filterLabel:VL,filterSep:qL,componentToggle:WL,filterCheckbox:KL,levelBtn:GL,levelBtnActive:QL,filterInput:JL,resetBtn:YL,statusBar:XL,statusConnected:ZL,connDot:e2,statusConnecting:t2,statusReconnecting:n2,statusError:s2,statusTail:a2,statusCount:r2,reconnectBtn:i2,liveBadge:l2,badgeLive:o2,badgePaused:c2,pulseDot:d2,pulseDotHot:u2,pulseDotActive:h2,pulseDotIdle:p2,pulseDotDisconnected:m2,pulseDotPaused:f2,velocityCounter:_2,pausedBanner:g2,resumeInlineBtn:y2,hoverPausedBanner:x2,eventList:v2,table:j2,eventRow:N2,cellTime:b2,cellComponent:S2,componentBadge:w2,cellAction:C2,actionType:k2,cellEntity:T2,entityKey:R2,entityKeyName:I2,cellAgent:B2,cellRelTime:E2,cellReason:L2,eventRowExpanded:P2,expandedTd:A2,expandedContent:$2,expandedGrid:D2,expandedField:M2,expandedLabel:F2,expandedValue:O2,expandedMono:H2,expandedMeta:z2,expandedPre:U2,emptyState:V2,emptyIcon:q2,emptyTitle:W2,emptyBody:K2,emptyCtaBtn:G2,jumpToNewBtn:Q2},Mh=1e3,J2=3e4,Y2=2,ji=500,X2=1e3;function Z2(e){const{filters:t,paused:s,mode:a}=e,[r,i]=d.useState([]),[l,o]=d.useState([]),[c,u]=d.useState(!1),[m,p]=d.useState(!1),[h,y]=d.useState(!1),[g,j]=d.useState(null),[v,_]=d.useState(null),f=d.useRef(null),x=d.useRef(Mh),b=d.useRef(null),T=d.useRef(null),R=d.useRef(s);d.useEffect(()=>{R.current=s},[s]);const L=d.useCallback(()=>{if(a==="tail")return null;const B="/api/control-plane/events/stream",M=new URLSearchParams,te=Array.from(t.components);return te.length>0&&te.length<4&&M.set("staffComponent",te.join(",")),M.set("level",t.level),t.agentId&&M.set("agentId",t.agentId),t.entityId&&M.set("entityId",t.entityId),b.current&&M.set("since",b.current),`${B}?${M.toString()}`},[t,a]),N=d.useCallback(()=>{if(a==="tail")return;f.current&&(f.current.close(),f.current=null);const B=L();if(!B)return;y(!1),j(null);const M=new EventSource(B);f.current=M,M.onopen=()=>{p(!0),y(!1),j(null),x.current=Mh},M.onmessage=te=>{try{const de=JSON.parse(te.data);te.lastEventId&&(b.current=te.lastEventId),_(Date.now()),R.current?o(J=>J.length>=X2?(u(!0),[...J.slice(1),de]):[...J,de]):i(J=>{const Z=[de,...J];return Z.length>ji?Z.slice(0,ji):Z})}catch{}},M.addEventListener("error",te=>{const de=te;if(de.data)try{const Z=JSON.parse(de.data);j(Z.error??"Stream error")}catch{j("Stream error")}M.close(),f.current=null,p(!1),y(!0);const J=x.current;x.current=Math.min(J*Y2,J2),T.current=setTimeout(()=>{N()},J)})},[L,a]);d.useEffect(()=>(a==="live"&&N(),()=>{f.current&&(f.current.close(),f.current=null),T.current&&clearTimeout(T.current),p(!1),y(!1)}),[t.components,t.level,a]),d.useEffect(()=>{if(a!=="tail")return;p(!1);const B=new URLSearchParams;B.set("limit","500"),B.set("level",t.level),t.agentId&&B.set("agentId",t.agentId),fetch(`/api/control-plane/events?${B.toString()}`).then(M=>M.json()).then(M=>{i((M.items??[]).slice().reverse()),p(!0)}).catch(M=>{const te=M instanceof Error?M.message:"Failed to load events";j(te)})},[a,t.level,t.agentId]);const k=d.useCallback(()=>{i(B=>{const M=[...l,...B];return M.length>ji?M.slice(0,ji):M}),o([]),u(!1)},[l]);return{events:r,bufferedCount:l.length,bufferDropped:c,connected:m,reconnecting:h,error:g,flushBuffer:k,lastEventAt:v}}function eP(e){const[t,s]=d.useState(0),a=d.useRef(0),r=d.useRef([]);return d.useEffect(()=>{const i=e.length-a.current;if(i>0){const l=Date.now();for(let o=0;o<i;o++)r.current.push(l)}a.current=e.length},[e.length]),d.useEffect(()=>{const i=()=>{const o=Date.now()-6e4;r.current=r.current.filter(c=>c>o),s(r.current.length)};i();const l=setInterval(i,5e3);return()=>clearInterval(l)},[]),t}function tP(e,t,s){const[a,r]=d.useState("idle");return d.useEffect(()=>{if(!t||s){r("disconnected");return}const i=()=>{if(!t||s){r("disconnected");return}if(e===null){r("idle");return}const o=Date.now()-e;o<1e3?r("hot"):o<1e4?r("active"):r("idle")};i();const l=setInterval(i,500);return()=>clearInterval(l)},[e,t,s]),a}const Qd=["Librarian","Attendant","Archivist","Resolutionist"];function w_(e){switch(e){case"Librarian":return"var(--color-staff-librarian)";case"Attendant":return"var(--color-staff-attendant)";case"Archivist":return"var(--color-staff-archivist)";case"Resolutionist":return"var(--color-staff-resolutionist)"}}function nP(e){const[t,s]=d.useState(()=>Date.now());return d.useEffect(()=>{const a=setInterval(()=>s(Date.now()),e);return()=>clearInterval(a)},[e]),t}function sP(e,t){const s=t-new Date(e).getTime(),a=Math.floor(s/1e3);if(a<5)return"just now";if(a<60)return`${a}s ago`;const r=Math.floor(a/60);if(r<60)return`${r}m ago`;const i=Math.floor(r/60);return i<24?`${i}h ago`:new Date(e).toLocaleTimeString()}function aP(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function rP(e,t){switch(t.type){case"TOGGLE_COMPONENT":{const s=new Set(e.components);return s.has(t.component)?s.delete(t.component):s.add(t.component),{...e,components:s}}case"SET_LEVEL":return{...e,level:t.level};case"SET_AGENT_ID":return{...e,agentId:t.value};case"SET_ENTITY_ID":return{...e,entityId:t.value};case"RESET":return{components:new Set(Qd),level:"audit",agentId:"",entityId:""};default:return e}}const iP={components:new Set(Qd),level:"audit",agentId:"",entityId:""};function lP({component:e}){return n.jsx("span",{className:z.componentBadge,style:{color:w_(e)},children:e.toUpperCase()})}function oP({event:e,now:t}){const[s,a]=d.useState(!1);return n.jsxs(n.Fragment,{children:[n.jsxs("tr",{className:z.eventRow,onClick:()=>a(r=>!r),role:"button",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&a(i=>!i)},"aria-expanded":s,children:[n.jsx("td",{className:z.cellTime,title:e.timestamp,children:aP(e.timestamp)}),n.jsx("td",{className:z.cellComponent,children:n.jsx(lP,{component:e.staffComponent})}),n.jsx("td",{className:z.cellAction,children:n.jsx("span",{className:z.actionType,children:e.actionType})}),n.jsx("td",{className:z.cellEntity,children:e.entityType&&e.entityId?n.jsxs("span",{className:z.entityKey,children:[e.entityType,"/",e.entityId,e.key&&n.jsxs("span",{className:z.entityKeyName,children:[" · ",e.key]})]}):"—"}),n.jsx("td",{className:z.cellAgent,children:e.agentId}),n.jsx("td",{className:z.cellRelTime,children:sP(e.timestamp,t)}),n.jsx("td",{className:z.cellReason,children:e.reason??""})]}),s&&n.jsx("tr",{className:z.eventRowExpanded,children:n.jsx("td",{colSpan:7,className:z.expandedTd,children:n.jsxs("div",{className:z.expandedContent,children:[n.jsxs("div",{className:z.expandedGrid,children:[n.jsxs("div",{className:z.expandedField,children:[n.jsx("span",{className:z.expandedLabel,children:"Event ID"}),n.jsx("span",{className:z.expandedMono,children:e.eventId})]}),n.jsxs("div",{className:z.expandedField,children:[n.jsx("span",{className:z.expandedLabel,children:"Level"}),n.jsx("span",{className:z.expandedValue,children:e.level})]}),n.jsxs("div",{className:z.expandedField,children:[n.jsx("span",{className:z.expandedLabel,children:"Source"}),n.jsx("span",{className:z.expandedValue,children:e.source})]}),n.jsxs("div",{className:z.expandedField,children:[n.jsx("span",{className:z.expandedLabel,children:"Timestamp"}),n.jsx("span",{className:z.expandedValue,children:e.timestamp})]})]}),e.metadata&&n.jsxs("div",{className:z.expandedMeta,children:[n.jsx("span",{className:z.expandedLabel,children:"Metadata"}),n.jsx("pre",{className:z.expandedPre,children:JSON.stringify(e.metadata,null,2)})]})]})})})]})}function cP({paused:e,manualPaused:t,pulseState:s,onToggle:a}){const r=e,i=r?"⏸ PAUSED":"● LIVE",l=r?z.badgePaused:z.badgeLive,o=r?z.pulseDotPaused:s==="hot"?z.pulseDotHot:s==="active"?z.pulseDotActive:s==="disconnected"?z.pulseDotDisconnected:z.pulseDotIdle,c=r?t?"Stream manually paused — click to resume":"Stream paused while hovering — move mouse away to resume":"Stream is live — click to pause";return n.jsxs("button",{className:`${z.liveBadge} ${l}`,onClick:a,type:"button",title:c,"aria-label":c,children:[n.jsx("span",{className:`${z.pulseDot} ${o}`,"aria-hidden":"true"}),i]})}function dP({eventsPerMin:e}){const t=e===0?"No activity":`${e} evt/min`;return n.jsx("span",{className:z.velocityCounter,title:"Events recorded from Staff in the last 60 seconds.","aria-label":`Event velocity: ${t}`,children:t})}function uP(){const[e,t]=d.useReducer(rP,iP),[s,a]=d.useState(!1),[r,i]=d.useState(!1),[l,o]=d.useState("live"),c=d.useRef(null),u=d.useRef(!0),[m,p]=d.useState(0),h=nP(1e4),y=s||r,{events:g,bufferedCount:j,bufferDropped:v,connected:_,reconnecting:f,error:x,flushBuffer:b,lastEventAt:T}=Z2({filters:e,paused:y,mode:l}),R=eP(g),L=tP(T,_,f),N=g.filter(Z=>{if(e.agentId&&!Z.agentId.toLowerCase().includes(e.agentId.toLowerCase()))return!1;if(e.entityId){const O=e.entityId.toLowerCase();if(!((Z.entityId??"").toLowerCase().includes(O)||(Z.entityType??"").toLowerCase().includes(O)))return!1}return!!e.components.has(Z.staffComponent)}),k=d.useCallback(()=>{const Z=c.current;if(!Z)return;const O=Z.scrollHeight-Z.scrollTop-Z.clientHeight<60;u.current=O,O&&p(0)},[]);d.useEffect(()=>{const Z=c.current;Z&&(u.current?(Z.scrollTop=0,p(0)):p(O=>O+1))},[g.length]);const B=()=>{c.current&&(c.current.scrollTop=0),p(0),u.current=!0},M=d.useCallback(()=>{b(),a(!1),i(!1)},[b]),te=d.useCallback(()=>{l==="live"&&i(!0)},[l]),de=d.useCallback(()=>{r&&!s?(b(),i(!1)):r&&i(!1)},[r,s,b]),J=d.useCallback(()=>{s?(b(),a(!1),i(!1)):a(!0)},[s,b]);return n.jsxs("div",{className:z.page,children:[n.jsxs("div",{className:z.limitationBanner,children:[n.jsx("span",{className:z.limitationIcon,"aria-hidden":"true",children:"ℹ"}),n.jsx("span",{children:"This view shows Staff events recorded by the control plane event stream. Some components may have less history than others depending on what the running instance has emitted."})]}),n.jsxs("div",{className:z.filterBar,children:[n.jsxs("div",{className:z.filterRow,children:[l==="live"&&n.jsx(cP,{paused:y,manualPaused:s,pulseState:L,onToggle:J}),l==="live"&&n.jsx(dP,{eventsPerMin:R}),n.jsx("span",{className:z.filterSep}),n.jsx("span",{className:z.filterLabel,children:"Component:"}),Qd.map(Z=>n.jsxs("label",{className:z.componentToggle,children:[n.jsx("input",{type:"checkbox",checked:e.components.has(Z),onChange:()=>t({type:"TOGGLE_COMPONENT",component:Z}),className:z.filterCheckbox}),n.jsx("span",{style:{color:w_(Z)},children:Z})]},Z)),n.jsx("span",{className:z.filterSep}),n.jsx("span",{className:z.filterLabel,children:"Level:"}),["audit","debug"].map(Z=>n.jsx("button",{className:`${z.levelBtn} ${e.level===Z?z.levelBtnActive:""}`,onClick:()=>t({type:"SET_LEVEL",level:Z}),type:"button",children:Z},Z)),n.jsx("span",{className:z.filterSep}),n.jsx("span",{className:z.filterLabel,children:"Mode:"}),["live","tail"].map(Z=>n.jsx("button",{className:`${z.levelBtn} ${l===Z?z.levelBtnActive:""}`,onClick:()=>o(Z),type:"button",children:Z==="live"?"Live":"Tail (last 500)"},Z))]}),n.jsxs("div",{className:z.filterRow,children:[n.jsx("span",{className:z.filterLabel,children:"Agent:"}),n.jsx("input",{type:"text",className:z.filterInput,placeholder:"Filter by agent ID",value:e.agentId,onChange:Z=>t({type:"SET_AGENT_ID",value:Z.target.value}),"aria-label":"Filter by agent ID"}),n.jsx("span",{className:z.filterLabel,children:"Entity:"}),n.jsx("input",{type:"text",className:z.filterInput,placeholder:"Filter by entity type or ID",value:e.entityId,onChange:Z=>t({type:"SET_ENTITY_ID",value:Z.target.value}),"aria-label":"Filter by entity ID"}),n.jsx("button",{className:z.resetBtn,onClick:()=>t({type:"RESET"}),type:"button",children:"Reset filters"})]})]}),n.jsxs("div",{className:z.statusBar,children:[l==="live"&&n.jsxs(n.Fragment,{children:[f&&n.jsxs("span",{className:z.statusReconnecting,children:[n.jsx(Fe,{size:"sm",label:"Reconnecting to activity stream"}),"Reconnecting…"]}),!f&&_&&n.jsxs("span",{className:z.statusConnected,children:[n.jsx("span",{className:z.connDot}),"Live"]}),!f&&!_&&!x&&n.jsxs("span",{className:z.statusConnecting,children:[n.jsx(Fe,{size:"sm",label:"Connecting to activity stream"}),"Connecting…"]})]}),l==="tail"&&_&&n.jsxs("span",{className:z.statusTail,children:["Tail — ",N.length," events loaded"]}),x&&n.jsxs("span",{className:z.statusError,children:["Connection error: ",x,n.jsx("button",{className:z.reconnectBtn,onClick:()=>window.location.reload(),type:"button",children:"Reconnect"})]}),n.jsxs("span",{className:z.statusCount,children:[N.length," events"]})]}),s&&j>0&&n.jsxs("div",{className:z.pausedBanner,children:[n.jsxs("span",{children:["Paused — ",j," new event",j!==1?"s":""," buffered",v&&" (some early events dropped — buffer limit reached)"]}),n.jsx("button",{className:z.resumeInlineBtn,onClick:M,type:"button",children:"Resume"})]}),r&&!s&&j>0&&n.jsx("div",{className:z.hoverPausedBanner,children:n.jsxs("span",{children:["⏸ ",j," new event",j!==1?"s":""," — move mouse away to resume"]})}),n.jsxs("div",{className:z.eventList,ref:c,onScroll:k,onMouseEnter:te,onMouseLeave:de,children:[N.length===0&&!f&&x&&n.jsxs("div",{className:z.emptyState,children:[n.jsx("span",{className:z.emptyIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:z.emptyTitle,children:"Stream not connected"}),n.jsx("p",{className:z.emptyBody,children:"The control plane could not connect to the Iranti event stream. Check the Health dashboard for connection details."}),n.jsx("a",{href:"/health",className:z.emptyCtaBtn,children:"Open Health Dashboard"})]}),N.length===0&&!f&&!x&&g.length>0&&n.jsxs("div",{className:z.emptyState,children:[n.jsx("span",{className:z.emptyIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:z.emptyTitle,children:"No events match your filter"}),n.jsx("p",{className:z.emptyBody,children:"Try adjusting your search terms or clearing your filters."}),n.jsx("button",{className:z.emptyCtaBtn,onClick:()=>t({type:"RESET"}),type:"button",children:"Clear filters"})]}),N.length===0&&!f&&!x&&g.length===0&&n.jsxs("div",{className:z.emptyState,children:[n.jsx("span",{className:z.emptyIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:z.emptyTitle,children:"No events yet"}),n.jsx("p",{className:z.emptyBody,children:l==="live"&&_?"The stream is connected. Events will appear here when the Librarian processes a write. Try running `iranti write` in a terminal to generate an event.":l==="tail"?"No events recorded yet. Try running `iranti write` in a terminal to generate an event.":"Connecting to the event stream…"})]}),N.length>0&&n.jsxs("table",{className:z.table,children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Time"}),n.jsx("th",{children:"Component"}),n.jsx("th",{children:"Action"}),n.jsx("th",{children:"Entity / Key"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"When"}),n.jsx("th",{children:"Reason"})]})}),n.jsx("tbody",{children:N.map(Z=>n.jsx(oP,{event:Z,now:h},Z.eventId))})]})]}),m>0&&!y&&n.jsxs("button",{className:z.jumpToNewBtn,onClick:B,type:"button",children:["↑ ",m," new event",m!==1?"s":""]})]})}const hP="_page_qtt0w_10",pP="_filterBar_qtt0w_22",mP="_filterRow_qtt0w_32",fP="_filterLabel_qtt0w_39",_P="_filterInput_qtt0w_48",gP="_filterInputWide_qtt0w_61",yP="_filterSelect_qtt0w_86",xP="_filterDateInput_qtt0w_105",vP="_componentToggle_qtt0w_132",jP="_componentToggleChecked_qtt0w_150",NP="_filterCheckbox_qtt0w_155",bP="_filterSep_qtt0w_162",SP="_clearBtn_qtt0w_196",wP="_exportBtn_qtt0w_215",CP="_exportFormatGroup_qtt0w_239",kP="_exportFormatBtn_qtt0w_246",TP="_exportFormatBtnActive_qtt0w_263",RP="_statusBar_qtt0w_277",IP="_statusCount_qtt0w_290",BP="_tableRegion_qtt0w_299",EP="_table_qtt0w_299",LP="_dataRow_qtt0w_344",PP="_dataRowExpanded_qtt0w_354",AP="_cellTimestamp_qtt0w_375",$P="_cellComponent_qtt0w_382",DP="_componentBadge_qtt0w_386",MP="_cellEventType_qtt0w_399",FP="_cellAgent_qtt0w_405",OP="_cellEntity_qtt0w_411",HP="_entitySep_qtt0w_417",zP="_cellLevel_qtt0w_422",UP="_levelBadge_qtt0w_426",VP="_levelBadgeInfo_qtt0w_435",qP="_levelBadgeWarning_qtt0w_440",WP="_levelBadgeError_qtt0w_445",KP="_cellReason_qtt0w_461",GP="_cellExpand_qtt0w_469",QP="_expandedRowContainer_qtt0w_480",JP="_expandedRowTd_qtt0w_484",YP="_expandedContent_qtt0w_490",XP="_expandedGrid_qtt0w_494",ZP="_expandedField_qtt0w_501",e3="_expandedLabel_qtt0w_507",t3="_expandedValue_qtt0w_514",n3="_expandedValueMono_qtt0w_520",s3="_expandedPayloadBlock_qtt0w_527",a3="_expandedPre_qtt0w_535",r3="_expandedActions_qtt0w_550",i3="_expandedActionButton_qtt0w_556",l3="_emptyState_qtt0w_582",o3="_emptyStateIcon_qtt0w_592",c3="_emptyStateTitle_qtt0w_599",d3="_emptyStateBody_qtt0w_606",u3="_emptyStateCode_qtt0w_613",h3="_emptyStateCtaBtn_qtt0w_623",p3="_errorState_qtt0w_645",m3="_errorStateIcon_qtt0w_655",f3="_errorStateTitle_qtt0w_662",_3="_errorStateBody_qtt0w_669",g3="_errorStateDetail_qtt0w_676",y3="_errorStateActions_qtt0w_685",x3="_errorStateCtaBtn_qtt0w_692",v3="_errorRetryButton_qtt0w_711",j3="_pagination_qtt0w_732",N3="_paginationCount_qtt0w_742",b3="_paginationControls_qtt0w_747",S3="_paginationButton_qtt0w_753",w3="_paginationPage_qtt0w_776",C3="_paginationPageSize_qtt0w_783",H={page:hP,filterBar:pP,filterRow:mP,filterLabel:fP,filterInput:_P,filterInputWide:gP,filterSelect:yP,filterDateInput:xP,componentToggle:vP,componentToggleChecked:jP,filterCheckbox:NP,filterSep:bP,clearBtn:SP,exportBtn:wP,exportFormatGroup:CP,exportFormatBtn:kP,exportFormatBtnActive:TP,statusBar:RP,statusCount:IP,tableRegion:BP,table:EP,dataRow:LP,dataRowExpanded:PP,cellTimestamp:AP,cellComponent:$P,componentBadge:DP,cellEventType:MP,cellAgent:FP,cellEntity:OP,entitySep:HP,cellLevel:zP,levelBadge:UP,levelBadgeInfo:VP,levelBadgeWarning:qP,levelBadgeError:WP,cellReason:KP,cellExpand:GP,expandedRowContainer:QP,expandedRowTd:JP,expandedContent:YP,expandedGrid:XP,expandedField:ZP,expandedLabel:e3,expandedValue:t3,expandedValueMono:n3,expandedPayloadBlock:s3,expandedPre:a3,expandedActions:r3,expandedActionButton:i3,emptyState:l3,emptyStateIcon:o3,emptyStateTitle:c3,emptyStateBody:d3,emptyStateCode:u3,emptyStateCtaBtn:h3,errorState:p3,errorStateIcon:m3,errorStateTitle:f3,errorStateBody:_3,errorStateDetail:g3,errorStateActions:y3,errorStateCtaBtn:x3,errorRetryButton:v3,pagination:j3,paginationCount:N3,paginationControls:b3,paginationButton:S3,paginationPage:w3,paginationPageSize:C3},ua=["Librarian","Attendant","Archivist","Resolutionist"],k3=[25,50,100],C_={components:new Set(ua),eventType:"",agentId:"",level:"all",derivedLevel:"all",since:"",until:"",search:""};function k_(e){const t=e.actionType.toLowerCase();return e.metadata&&"error"in e.metadata||t.includes("failed")||t.includes("rejected")||t.includes("error")?"error":t.includes("conflict")||t.includes("decay")||t.includes("escalated")||t.includes("superseded")?"warning":"info"}function Fh(e,t){switch(t.type){case"TOGGLE_COMPONENT":{const s=new Set(e.components);return s.has(t.component)?s.delete(t.component):s.add(t.component),{...e,components:s}}case"SET_ALL_COMPONENTS":return{...e,components:new Set(ua)};case"SET_EVENT_TYPE":return{...e,eventType:t.value};case"SET_AGENT_ID":return{...e,agentId:t.value};case"SET_LEVEL":return{...e,level:t.value};case"SET_DERIVED_LEVEL":return{...e,derivedLevel:t.value};case"SET_SINCE":return{...e,since:t.value};case"SET_UNTIL":return{...e,until:t.value};case"SET_SEARCH":return{...e,search:t.value};case"RESET":return{...C_,components:new Set(ua)};case"FROM_PARAMS":{const s=t.params,a=[],r=s.get("components");r&&r.split(",").forEach(o=>{ua.includes(o)&&a.push(o)});const i=s.get("level"),l=s.get("derivedLevel");return{components:a.length>0?new Set(a):new Set(ua),eventType:s.get("eventType")??"",agentId:s.get("agentId")??"",level:i==="audit"||i==="debug"?i:"all",derivedLevel:l==="info"||l==="warning"||l==="error"?l:"all",since:s.get("since")??"",until:s.get("until")??"",search:s.get("search")??""}}default:return e}}function T3(e){const t=new URLSearchParams,s=Array.from(e.components);return s.length>0&&s.length<4&&t.set("components",s.join(",")),e.eventType&&t.set("eventType",e.eventType),e.agentId&&t.set("agentId",e.agentId),e.level!=="all"&&t.set("level",e.level),e.derivedLevel!=="all"&&t.set("derivedLevel",e.derivedLevel),e.since&&t.set("since",e.since),e.until&&t.set("until",e.until),e.search&&t.set("search",e.search),t}function yo(e,t){const[s,a]=d.useState(e);return d.useEffect(()=>{const r=setTimeout(()=>a(e),t);return()=>clearTimeout(r)},[e,t]),s}function R3(e){const[t,s]=d.useState(()=>Date.now());return d.useEffect(()=>{const a=setInterval(()=>s(Date.now()),e);return()=>clearInterval(a)},[e]),t}function I3(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function B3(e,t){const s=t-new Date(e).getTime(),a=Math.floor(s/1e3);if(a<5)return"just now";if(a<60)return`${a}s ago`;const r=Math.floor(a/60);if(r<60)return`${r}m ago`;const i=Math.floor(r/60);return i<24?`${i}h ago`:new Date(e).toLocaleDateString()}function T_(e){switch(e){case"Librarian":return"var(--color-staff-librarian)";case"Attendant":return"var(--color-staff-attendant)";case"Archivist":return"var(--color-staff-archivist)";case"Resolutionist":return"var(--color-staff-resolutionist)"}}function E3({component:e}){return n.jsx("span",{className:H.componentBadge,style:{color:T_(e)},children:e.toUpperCase().slice(0,4)})}function L3({level:e}){const t=e==="error"?H.levelBadgeError:e==="warning"?H.levelBadgeWarning:H.levelBadgeInfo;return n.jsx("span",{className:`${H.levelBadge} ${t}`,children:e})}function P3({event:e}){const t=!!(e.entityType&&e.entityId),s=e.entityType??"",a=e.entityId??"";return n.jsx("tr",{className:H.expandedRowContainer,children:n.jsx("td",{colSpan:8,className:H.expandedRowTd,children:n.jsxs("div",{className:H.expandedContent,children:[n.jsxs("div",{className:H.expandedGrid,children:[n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Event ID"}),n.jsx("span",{className:H.expandedValueMono,children:e.eventId})]}),n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Timestamp"}),n.jsx("span",{className:H.expandedValue,children:e.timestamp})]}),n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Source"}),n.jsx("span",{className:H.expandedValue,children:e.source})]}),n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Level (raw)"}),n.jsx("span",{className:H.expandedValue,children:e.level})]}),e.key&&n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Key"}),n.jsx("span",{className:H.expandedValueMono,children:e.key})]}),e.reason&&n.jsxs("div",{className:H.expandedField,children:[n.jsx("span",{className:H.expandedLabel,children:"Reason (full)"}),n.jsx("span",{className:H.expandedValue,children:e.reason})]})]}),e.metadata&&n.jsxs("div",{className:H.expandedPayloadBlock,children:[n.jsx("span",{className:H.expandedLabel,children:"Metadata payload"}),n.jsx("pre",{className:H.expandedPre,children:JSON.stringify(e.metadata,null,2)})]}),n.jsxs("div",{className:H.expandedActions,children:[t&&n.jsx(Se,{to:`/memory/${encodeURIComponent(s)}/${encodeURIComponent(a)}`,className:H.expandedActionButton,children:"View Entity →"}),t&&n.jsx(Se,{to:`/archive?entityType=${encodeURIComponent(s)}&entityId=${encodeURIComponent(a)}`,className:H.expandedActionButton,children:"View in Archive →"})]})]})})})}function A3({event:e,expanded:t,onToggle:s,now:a}){const r=k_(e),i=e.entityType&&e.entityId?n.jsxs(n.Fragment,{children:[n.jsx("span",{style:{color:"var(--color-text-tertiary)"},children:e.entityType}),n.jsx("span",{className:H.entitySep,children:"/"}),n.jsx("span",{children:e.entityId})]}):n.jsx("span",{style:{color:"var(--color-text-tertiary)"},children:"—"});return n.jsxs(d.Fragment,{children:[n.jsxs("tr",{className:`${H.dataRow} ${t?H.dataRowExpanded:""}`,onClick:s,role:"button",tabIndex:0,"aria-expanded":t,onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),s())},children:[n.jsx("td",{className:H.cellTimestamp,title:B3(e.timestamp,a),children:I3(e.timestamp)}),n.jsx("td",{className:H.cellComponent,children:n.jsx(E3,{component:e.staffComponent})}),n.jsx("td",{className:H.cellEventType,children:e.actionType}),n.jsx("td",{className:H.cellAgent,children:e.agentId}),n.jsx("td",{className:H.cellEntity,children:i}),n.jsx("td",{className:H.cellLevel,children:n.jsx(L3,{level:r})}),n.jsx("td",{className:H.cellReason,title:e.reason??void 0,children:e.reason??""}),n.jsx("td",{className:H.cellExpand,"aria-hidden":"true",children:t?"▼":"▶"})]}),t&&n.jsx(P3,{event:e})]})}function $3({pagination:e,total:t,onPageChange:s,onPageSizeChange:a}){const{offset:r,limit:i}=e,l=Math.floor(r/i)+1,o=Math.max(1,Math.ceil(t/i)),c=t>0?r+1:0,u=Math.min(r+i,t);return n.jsxs("div",{className:H.pagination,children:[n.jsx("span",{className:H.paginationCount,children:t>0?`Showing ${c}–${u} of ${t} events`:"No results"}),n.jsxs("div",{className:H.paginationControls,children:[n.jsx("button",{className:H.paginationButton,onClick:()=>s(Math.max(0,r-i)),disabled:r===0,"aria-label":"Previous page",type:"button",children:"← Prev"}),n.jsxs("span",{className:H.paginationPage,children:[l," / ",o]}),n.jsx("button",{className:H.paginationButton,onClick:()=>s(r+i),disabled:r+i>=t,"aria-label":"Next page",type:"button",children:"Next →"}),n.jsx("select",{className:H.paginationPageSize,value:i,onChange:m=>a(Number(m.target.value)),"aria-label":"Rows per page",children:k3.map(m=>n.jsxs("option",{value:m,children:[m," per page"]},m))})]})]})}function D3({hasFilters:e,is503:t,onClearFilters:s}){return t?n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:H.emptyState,children:[n.jsx("span",{className:H.emptyStateIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:H.emptyStateTitle,children:"Staff events table not found"}),n.jsxs("p",{className:H.emptyStateBody,children:["Run ",n.jsx("code",{className:H.emptyStateCode,children:"npm run migrate"})," to create the"," ",n.jsx("code",{className:H.emptyStateCode,children:"staff_events"})," table."]})]})})}):e?n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:H.emptyState,children:[n.jsx("span",{className:H.emptyStateIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:H.emptyStateTitle,children:"No events match the current filters"}),n.jsx("p",{className:H.emptyStateBody,children:"Try adjusting your search terms or clearing your filters."}),n.jsx("button",{className:H.emptyStateCtaBtn,onClick:s,type:"button",children:"Clear all filters"})]})})}):n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:H.emptyState,children:[n.jsx("span",{className:H.emptyStateIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:H.emptyStateTitle,children:"No staff events recorded yet"}),n.jsx("p",{className:H.emptyStateBody,children:"No events match the current view yet. If this is unexpected, confirm the instance has emitted recent staff activity and refresh the page."})]})})})}function M3(){const[e,t]=Md(),[s,a]=d.useReducer(Fh,C_,O=>Fh(O,{type:"FROM_PARAMS",params:e})),[r,i]=d.useState(null),[l,o]=d.useState({offset:0,limit:25}),[c,u]=d.useState("jsonl"),[m,p]=d.useState(!1),h=R3(15e3),y=yo(s.search,350),g=yo(s.eventType,350),j=yo(s.agentId,350),v=d.useRef(!0);d.useEffect(()=>{if(v.current){v.current=!1;return}t(T3(s),{replace:!0})},[s,t]);const _=d.useRef(s);d.useEffect(()=>{_.current!==s&&(o(O=>({...O,offset:0})),_.current=s)},[s]);const f=Array.from(s.components),x={limit:l.limit,offset:l.offset,...f.length>0&&f.length<4&&{staffComponent:f.join(",")},...g&&{eventType:g},...j&&{agentId:j},...s.level!=="all"&&{level:s.level},...y&&{search:y},...s.since&&{since:s.since},...s.until&&{until:s.until}},{data:b,isLoading:T,error:R,refetch:L}=Ne({queryKey:["logs",x],queryFn:()=>ke("/logs",x)}),N=(b==null?void 0:b.items)??[],k=(b==null?void 0:b.total)??0,B=s.derivedLevel==="all"?N:N.filter(O=>k_(O)===s.derivedLevel),M=O=>i(Ie=>Ie===O?null:O),te=s.components.size<4||s.eventType!==""||s.agentId!==""||s.level!=="all"||s.derivedLevel!=="all"||s.since!==""||s.until!==""||s.search!=="",de=d.useCallback(()=>{a({type:"RESET"}),o(O=>({...O,offset:0}))},[]),J=!!(R&&(R.message.includes("503")||R.message.toLowerCase().includes("staff_events"))),Z=d.useCallback(async()=>{p(!0);try{const O=new URLSearchParams,Ie=Array.from(s.components);Ie.length>0&&Ie.length<4&&O.set("staffComponent",Ie.join(",")),s.eventType&&O.set("eventType",s.eventType),s.agentId&&O.set("agentId",s.agentId),s.level!=="all"&&O.set("level",s.level),s.search&&O.set("search",s.search),s.since&&O.set("since",s.since),s.until&&O.set("until",s.until),O.set("format",c);const G=`/api/control-plane/logs/export?${O.toString()}`,ce=await fetch(G);if(!ce.ok)throw new Error(`Export failed: ${ce.statusText}`);const ue=await ce.blob(),Q=new Date().toISOString().replace(/[:.]/g,"-"),q=s.components.size<4?Array.from(s.components).join("-").toLowerCase():"all",Be=`iranti-staff-logs-${Q}-${q}.${c}`,Pe=document.createElement("a");Pe.href=URL.createObjectURL(ue),Pe.download=Be,Pe.click(),URL.revokeObjectURL(Pe.href)}catch(O){console.error("[StaffLogs] Export failed:",O)}finally{p(!1)}},[s,c]);return n.jsxs("div",{className:H.page,children:[n.jsxs("div",{className:H.filterBar,role:"search","aria-label":"Filter staff logs",children:[n.jsxs("div",{className:H.filterRow,children:[n.jsx("span",{className:H.filterLabel,children:"Component:"}),ua.map(O=>n.jsxs("label",{className:`${H.componentToggle} ${s.components.has(O)?H.componentToggleChecked:""}`,children:[n.jsx("input",{type:"checkbox",className:H.filterCheckbox,checked:s.components.has(O),onChange:()=>a({type:"TOGGLE_COMPONENT",component:O}),"aria-label":`Include ${O} events`}),n.jsx("span",{style:{color:T_(O)},children:O})]},O)),n.jsx("span",{className:H.filterSep}),n.jsx("span",{className:H.filterLabel,children:"Level:"}),n.jsxs("select",{className:H.filterSelect,value:s.level,onChange:O=>a({type:"SET_LEVEL",value:O.target.value}),"aria-label":"Filter by raw level",children:[n.jsx("option",{value:"all",children:"All levels"}),n.jsx("option",{value:"audit",children:"audit"}),n.jsx("option",{value:"debug",children:"debug"})]}),n.jsx("span",{className:H.filterSep}),n.jsx("span",{className:H.filterLabel,children:"Severity:"}),n.jsxs("select",{className:H.filterSelect,value:s.derivedLevel,onChange:O=>a({type:"SET_DERIVED_LEVEL",value:O.target.value}),"aria-label":"Filter by derived severity",children:[n.jsx("option",{value:"all",children:"All severity"}),n.jsx("option",{value:"info",children:"info"}),n.jsx("option",{value:"warning",children:"warning"}),n.jsx("option",{value:"error",children:"error"})]})]}),n.jsxs("div",{className:H.filterRow,children:[n.jsx("input",{type:"search",className:H.filterInputWide,placeholder:"Full-text search (event type, agent, entity…)",value:s.search,onChange:O=>a({type:"SET_SEARCH",value:O.target.value}),"aria-label":"Full-text search"}),n.jsx("input",{type:"text",className:H.filterInput,placeholder:"Event type",value:s.eventType,onChange:O=>a({type:"SET_EVENT_TYPE",value:O.target.value}),"aria-label":"Filter by event type"}),n.jsx("input",{type:"text",className:H.filterInput,placeholder:"Agent ID",value:s.agentId,onChange:O=>a({type:"SET_AGENT_ID",value:O.target.value}),"aria-label":"Filter by agent ID"})]}),n.jsxs("div",{className:H.filterRow,children:[n.jsx("span",{className:H.filterLabel,children:"Since:"}),n.jsx("input",{type:"datetime-local",className:H.filterDateInput,value:s.since,onChange:O=>a({type:"SET_SINCE",value:O.target.value}),"aria-label":"Events since (datetime)"}),n.jsx("span",{className:H.filterLabel,children:"Until:"}),n.jsx("input",{type:"datetime-local",className:H.filterDateInput,value:s.until,onChange:O=>a({type:"SET_UNTIL",value:O.target.value}),"aria-label":"Events until (datetime)"}),n.jsx("span",{className:H.filterSep}),n.jsxs("div",{className:H.exportFormatGroup,role:"group","aria-label":"Export format",children:[n.jsx("button",{type:"button",className:`${H.exportFormatBtn} ${c==="jsonl"?H.exportFormatBtnActive:""}`,onClick:()=>u("jsonl"),"aria-pressed":c==="jsonl",children:"JSONL"}),n.jsx("button",{type:"button",className:`${H.exportFormatBtn} ${c==="csv"?H.exportFormatBtnActive:""}`,onClick:()=>u("csv"),"aria-pressed":c==="csv",children:"CSV"})]}),n.jsx("button",{type:"button",className:H.exportBtn,onClick:()=>void Z(),disabled:m||B.length===0,"aria-label":`Export current filtered results as ${c.toUpperCase()}`,children:m?"Exporting…":`Export ${c.toUpperCase()}`}),n.jsx("span",{className:H.filterSep}),n.jsx("button",{type:"button",className:H.clearBtn,onClick:de,"aria-label":"Clear all filters",children:"Clear all filters"})]})]}),n.jsxs("div",{className:H.statusBar,children:[T&&n.jsx(Fe,{size:"sm",label:"Loading staff logs"}),!T&&!R&&n.jsxs("span",{children:[k," total event",k!==1?"s":""]}),R&&!J&&n.jsxs("span",{style:{color:"var(--color-status-warning)"},children:["Error loading logs — ",R.message]}),n.jsx("span",{className:H.statusCount,children:s.derivedLevel!=="all"?`${B.length} shown (severity filter active)`:""})]}),n.jsx("div",{className:H.tableRegion,children:n.jsxs("table",{className:H.table,"aria-label":"Staff event logs",children:[n.jsxs("colgroup",{children:[n.jsx("col",{style:{width:"90px"}}),n.jsx("col",{style:{width:"88px"}}),n.jsx("col",{style:{width:"14%"}}),n.jsx("col",{style:{width:"11%"}}),n.jsx("col",{style:{width:"18%"}}),n.jsx("col",{style:{width:"60px"}}),n.jsx("col",{}),n.jsx("col",{style:{width:"28px"}})]}),n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Timestamp"}),n.jsx("th",{children:"Component"}),n.jsx("th",{children:"Event Type"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"Entity"}),n.jsx("th",{children:"Level"}),n.jsx("th",{children:"Reason"}),n.jsx("th",{"aria-label":"Expand"})]})}),n.jsxs("tbody",{children:[T&&n.jsx("tr",{"aria-live":"polite","aria-label":"Loading staff logs",children:n.jsx("td",{colSpan:8,style:{textAlign:"center",padding:"48px 0"},children:n.jsx(Fe,{size:"md",label:"Loading staff logs"})})}),!T&&R&&!J&&n.jsx("tr",{children:n.jsx("td",{colSpan:8,children:n.jsxs("div",{className:H.errorState,children:[n.jsx("span",{className:H.errorStateIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("p",{className:H.errorStateTitle,children:"Unable to load staff logs"}),n.jsx("p",{className:H.errorStateBody,children:"The control plane could not reach the logs endpoint."}),n.jsx("p",{className:H.errorStateDetail,children:R.message}),n.jsxs("div",{className:H.errorStateActions,children:[n.jsx(Se,{to:"/health",className:H.errorStateCtaBtn,children:"Open Health Dashboard"}),n.jsx("button",{className:H.errorRetryButton,onClick:()=>void L(),type:"button",children:"Retry"})]})]})})}),!T&&(R?J:B.length===0)&&n.jsx(D3,{hasFilters:te&&!J,is503:J,onClearFilters:de}),!T&&!R&&B.map(O=>n.jsx(A3,{event:O,expanded:r===O.eventId,onToggle:()=>M(O.eventId),now:h},O.eventId))]})]})}),n.jsx($3,{pagination:l,total:k,onPageChange:O=>o(Ie=>({...Ie,offset:O})),onPageSizeChange:O=>o({limit:O,offset:0})})]})}const F3="_overlay_ua2he_3",O3="_drawer_ua2he_10",H3="_slideIn_ua2he_1",z3="_drawerHeader_ua2he_33",U3="_drawerHeaderLeft_ua2he_42",V3="_drawerTitle_ua2he_49",q3="_instanceId_ua2he_56",W3="_closeBtn_ua2he_65",K3="_summary_ua2he_88",G3="_summaryCheckedAt_ua2he_98",Q3="_summaryPass_ua2he_103",J3="_summaryFail_ua2he_108",Y3="_repairResult_ua2he_115",X3="_repairResultIcon_ua2he_125",Z3="_repairResultBody_ua2he_132",eA="_repairResultTitle_ua2he_140",tA="_repairResultFile_ua2he_147",nA="_repairResultFileLabel_ua2he_156",sA="_repairResultFilePath_ua2he_160",aA="_repairResultAction_ua2he_168",rA="_repairResultWarning_ua2he_175",iA="_repairResultDismiss_ua2he_181",lA="_repairError_ua2he_199",oA="_repairErrorIcon_ua2he_211",cA="_checkList_ua2he_217",dA="_checkRow_ua2he_226",uA="_checkRow_pass_ua2he_236",hA="_checkRow_warn_ua2he_240",pA="_checkRow_fail_ua2he_245",mA="_checkHeader_ua2he_250",fA="_iconPass_ua2he_256",_A="_iconWarn_ua2he_262",gA="_iconFail_ua2he_268",yA="_checkLabel_ua2he_274",xA="_checkMessage_ua2he_280",vA="_inlineRepairBtn_ua2he_288",Te={overlay:F3,drawer:O3,slideIn:H3,drawerHeader:z3,drawerHeaderLeft:U3,drawerTitle:V3,instanceId:q3,closeBtn:W3,summary:K3,summaryCheckedAt:G3,summaryPass:Q3,summaryFail:J3,repairResult:Y3,repairResultIcon:X3,repairResultBody:Z3,repairResultTitle:eA,repairResultFile:tA,repairResultFileLabel:nA,repairResultFilePath:sA,repairResultAction:aA,repairResultWarning:rA,repairResultDismiss:iA,repairError:lA,repairErrorIcon:oA,checkList:cA,checkRow:dA,checkRow_pass:uA,checkRow_warn:hA,checkRow_fail:pA,checkHeader:mA,iconPass:fA,iconWarn:_A,iconFail:gA,checkLabel:yA,checkMessage:xA,inlineRepairBtn:vA};function jA({status:e}){return e==="pass"?n.jsx("span",{className:Te.iconPass,"aria-label":"Pass",children:"✓"}):e==="warn"?n.jsx("span",{className:Te.iconWarn,"aria-label":"Warning",children:"⚠"}):n.jsx("span",{className:Te.iconFail,"aria-label":"Failed",children:"✗"})}function NA({check:e,onRepair:t}){const s=f_(e.message);return n.jsxs("div",{className:`${Te.checkRow} ${Te[`checkRow_${e.status}`]}`,children:[n.jsxs("div",{className:Te.checkHeader,children:[n.jsx(jA,{status:e.status}),n.jsx("span",{className:Te.checkLabel,children:e.label})]}),n.jsx("p",{className:Te.checkMessage,children:e.message}),s&&n.jsx(Fa,{command:s,allowRun:$l(s),compact:!0}),e.repairAction&&n.jsx("button",{className:Te.inlineRepairBtn,onClick:()=>t(e.repairAction,e.label),type:"button",children:"Repair ↗"})]})}function bA({result:e,onDismiss:t}){return n.jsxs("div",{className:Te.repairResult,children:[n.jsx("span",{className:Te.repairResultIcon,"aria-hidden":"true",children:"✓"}),n.jsxs("div",{className:Te.repairResultBody,children:[n.jsx("p",{className:Te.repairResultTitle,children:"Repair complete"}),n.jsxs("p",{className:Te.repairResultFile,children:[n.jsx("span",{className:Te.repairResultFileLabel,children:"File: "}),n.jsx("code",{className:Te.repairResultFilePath,children:e.data.filePath})]}),n.jsxs("p",{className:Te.repairResultAction,children:["Action: ",e.data.action]}),n.jsx("p",{className:Te.repairResultWarning,children:"⚠ This action is not revertable."})]}),n.jsx("button",{className:Te.repairResultDismiss,onClick:t,type:"button","aria-label":"Dismiss repair result",children:"×"})]})}function SA({instanceId:e,data:t,onClose:s}){const[a,r]=d.useState(null),[i,l]=d.useState(!1),[o,c]=d.useState(null),[u,m]=d.useState(null),p=(_,f)=>{c(null),m(null),r({checkId:f,repairUrl:_,label:f})},h=async()=>{if(a){l(!0),m(null);try{const _=`${a.repairUrl}?confirm=true`,f=await fetch(_,{method:"POST"}),x=await f.json();if(!f.ok){const T=x;throw new Error(T.error??f.statusText)}const b=a.repairUrl.includes("mcp-json")?"mcp-json":"claude-md";c({kind:b,data:x})}catch(_){m(_ instanceof Error?_.message:"Repair failed")}finally{l(!1),r(null)}}},y=()=>{i||r(null)},g=new Date(t.checkedAt).toLocaleTimeString(),j=t.checks.filter(_=>_.status==="pass").length,v=t.checks.filter(_=>_.status==="fail"||_.status==="warn").length;return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:Te.overlay,onClick:s,"aria-hidden":"true"}),n.jsxs("aside",{className:Te.drawer,"aria-label":"Doctor results",role:"complementary",children:[n.jsxs("div",{className:Te.drawerHeader,children:[n.jsxs("div",{className:Te.drawerHeaderLeft,children:[n.jsx("h2",{className:Te.drawerTitle,children:"Doctor Results"}),n.jsx("span",{className:Te.instanceId,title:e,children:e})]}),n.jsx("button",{className:Te.closeBtn,onClick:s,type:"button","aria-label":"Close doctor results",children:"×"})]}),n.jsxs("div",{className:Te.summary,children:[n.jsxs("span",{className:Te.summaryCheckedAt,children:["Checked at ",g]}),n.jsxs("span",{className:Te.summaryPass,children:[j," pass"]}),v>0&&n.jsxs("span",{className:Te.summaryFail,children:[v," issue",v!==1?"s":""]})]}),o&&n.jsx(bA,{result:o,onDismiss:()=>c(null)}),u&&n.jsxs("div",{className:Te.repairError,children:[n.jsx("span",{className:Te.repairErrorIcon,"aria-hidden":"true",children:"✗"}),n.jsx("span",{children:u})]}),n.jsx("div",{className:Te.checkList,children:t.checks.map(_=>n.jsx(NA,{check:_,onRepair:p},_.id))}),a&&n.jsx(Wd,{title:`Repair: ${a.label}`,description:`This will POST to:
72
+ ${a.repairUrl}?confirm=true
73
+
74
+ The repair action will write to the filesystem.`,warning:"This action is not revertable. The file will be written immediately.",confirmLabel:"Run Repair",loading:i,onConfirm:()=>void h(),onCancel:y})]})]})}const wA="_upgradeSection_1gghl_9",CA="_upgradeSectionTitle_1gghl_18",kA="_versionDisplay_1gghl_33",TA="_versionValue_1gghl_38",RA="_upgradeControls_1gghl_48",IA="_upgradeBtn_1gghl_56",BA="_upgradeWarning_1gghl_95",EA="_warningIcon_1gghl_105",LA="_confirmBlock_1gghl_115",PA="_confirmTitle_1gghl_132",AA="_confirmDetail_1gghl_139",$A="_confirmCode_1gghl_146",DA="_confirmButtons_1gghl_156",MA="_cancelBtn_1gghl_163",FA="_upgradingBlock_1gghl_185",OA="_upgradingHeader_1gghl_191",HA="_upgradingLabel_1gghl_199",zA="_spinnerSmall_1gghl_204",UA="_outputBlock_1gghl_229",VA="_outputLine_1gghl_245",qA="_statusRow_1gghl_254",WA="_statusIcon_1gghl_260",KA="_statusIconSuccess_1gghl_267",GA="_statusIconFailure_1gghl_271",QA="_completeBlock_1gghl_279",JA="_completeMessage_1gghl_289",YA="_doneBtn_1gghl_295",XA="_failedBlock_1gghl_317",ZA="_failedMessage_1gghl_327",e4="_retryBtn_1gghl_333",xe={upgradeSection:wA,upgradeSectionTitle:CA,versionDisplay:kA,versionValue:TA,upgradeControls:RA,upgradeBtn:IA,upgradeWarning:BA,warningIcon:EA,confirmBlock:LA,confirmTitle:PA,confirmDetail:AA,confirmCode:$A,confirmButtons:DA,cancelBtn:MA,upgradingBlock:FA,upgradingHeader:OA,upgradingLabel:HA,spinnerSmall:zA,outputBlock:UA,outputLine:VA,statusRow:qA,statusIcon:WA,statusIconSuccess:KA,statusIconFailure:GA,completeBlock:QA,completeMessage:JA,doneBtn:YA,failedBlock:XA,failedMessage:ZA,retryBtn:e4};async function Oh(e){const t=await e.text();if(!t.trim())return{};try{return JSON.parse(t)}catch{return{error:t.trim()}}}function t4({instanceName:e,runningVersion:t,onUpgradeComplete:s}){const[a,r]=d.useState({phase:"idle"}),[i,l]=d.useState(null),o=d.useRef(null);d.useEffect(()=>()=>{o.current&&clearInterval(o.current)},[]);const c=()=>{o.current&&(clearInterval(o.current),o.current=null)},u=(h,y)=>{c(),o.current=setInterval(()=>{(async()=>{try{const g=await fetch(`/api/control-plane/instances/${encodeURIComponent(y)}/upgrade/${encodeURIComponent(h)}`),j=await Oh(g);if(!g.ok){c(),r({phase:"error",message:j.error??`Could not check upgrade status (HTTP ${g.status}).`});return}l(j),(j.status==="complete"||j.status==="failed")&&(c(),j.status==="complete"?(r({phase:"complete"}),s()):r({phase:"failed",exitCode:j.exitCode,outputTail:j.output.slice(-10)}))}catch{c(),r({phase:"error",message:"Could not check upgrade status - connection issue."})}})()},2e3)},m=async()=>{r({phase:"upgrading",jobId:""}),l(null);try{const h=await fetch(`/api/control-plane/instances/${encodeURIComponent(e)}/upgrade`,{method:"POST"}),y=await Oh(h);if(!h.ok){const g=y.code;r(g==="CLI_NOT_FOUND"?{phase:"error",message:`iranti CLI not found on PATH. Run \`iranti upgrade --restart --instance ${e}\` manually.`}:g==="INVALID_PARAM"?{phase:"error",message:"Invalid instance name."}:{phase:"error",message:y.error??`Failed to start upgrade (HTTP ${h.status}).`});return}if(!y.jobId){r({phase:"error",message:"Upgrade route returned no job id."});return}r({phase:"upgrading",jobId:y.jobId}),u(y.jobId,e)}catch{r({phase:"error",message:"Could not reach the control plane API. Try again."})}},p=()=>{c(),l(null),r({phase:"idle"})};return n.jsxs("section",{className:xe.upgradeSection,children:[n.jsx("h3",{className:xe.upgradeSectionTitle,children:"Upgrade"}),t&&n.jsxs("div",{className:xe.versionDisplay,children:["Running: ",n.jsxs("span",{className:xe.versionValue,children:["v",t]})]}),a.phase==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:xe.upgradeControls,children:n.jsx("button",{className:xe.upgradeBtn,type:"button",onClick:()=>r({phase:"confirming"}),children:"Upgrade & Restart"})}),n.jsxs("p",{className:xe.upgradeWarning,children:[n.jsx("span",{className:xe.warningIcon,children:"!"}),"Upgrading will restart this instance. Active agents will experience a brief interruption."]})]}),a.phase==="confirming"&&n.jsxs("div",{className:xe.confirmBlock,children:[n.jsxs("p",{className:xe.confirmTitle,children:["Upgrade and restart ",n.jsx("code",{className:xe.confirmCode,children:e}),"?"]}),n.jsxs("p",{className:xe.confirmDetail,children:["This will run"," ",n.jsxs("code",{className:xe.confirmCode,children:["iranti upgrade --restart --instance ",e]}),". The instance will restart. Active agents will experience a brief interruption. This may take up to 60 seconds."]}),n.jsxs("div",{className:xe.confirmButtons,children:[n.jsx("button",{className:xe.cancelBtn,type:"button",onClick:p,children:"Cancel"}),n.jsx("button",{className:xe.upgradeBtn,type:"button",onClick:()=>void m(),children:"Upgrade"})]})]}),a.phase==="upgrading"&&n.jsxs("div",{className:xe.upgradingBlock,children:[n.jsxs("div",{className:xe.upgradingHeader,children:[n.jsx("span",{className:xe.spinnerSmall,"aria-hidden":"true"}),n.jsx("span",{className:xe.upgradingLabel,children:"Upgrading..."})]}),i&&i.output.length>0&&n.jsx("div",{className:xe.outputBlock,"aria-label":"Upgrade output",children:i.output.slice(-20).map((h,y)=>n.jsx("div",{className:xe.outputLine,children:h},y))})]}),a.phase==="complete"&&n.jsxs("div",{className:xe.completeBlock,children:[n.jsxs("div",{className:xe.statusRow,children:[n.jsx("span",{className:`${xe.statusIcon} ${xe.statusIconSuccess}`,"aria-label":"Success",children:"OK"}),n.jsx("span",{className:xe.completeMessage,children:"Upgrade complete. The instance has restarted."})]}),n.jsx("button",{className:xe.doneBtn,type:"button",onClick:p,children:"Done"})]}),a.phase==="failed"&&n.jsxs("div",{className:xe.failedBlock,children:[n.jsxs("div",{className:xe.statusRow,children:[n.jsx("span",{className:`${xe.statusIcon} ${xe.statusIconFailure}`,"aria-label":"Failed",children:"X"}),n.jsxs("span",{className:xe.failedMessage,children:["Upgrade failed",a.exitCode!==null?` (exit code: ${a.exitCode})`:"","."]})]}),a.outputTail.length>0&&n.jsx("div",{className:xe.outputBlock,"aria-label":"Upgrade output",children:a.outputTail.map((h,y)=>n.jsx("div",{className:xe.outputLine,children:h},y))}),n.jsx("button",{className:xe.retryBtn,type:"button",onClick:p,children:"Try again"})]}),a.phase==="error"&&n.jsxs("div",{className:xe.failedBlock,children:[n.jsxs("div",{className:xe.statusRow,children:[n.jsx("span",{className:`${xe.statusIcon} ${xe.statusIconFailure}`,"aria-label":"Error",children:"X"}),n.jsx("span",{className:xe.failedMessage,children:a.message})]}),n.jsx("button",{className:xe.retryBtn,type:"button",onClick:p,children:"Try again"})]})]})}const n4="_section_3gpy6_9",s4="_sectionHeader_3gpy6_15",a4="_sectionTitle_3gpy6_22",r4="_createBtn_3gpy6_35",i4="_emptyState_3gpy6_62",l4="_tableWrapper_3gpy6_76",o4="_table_3gpy6_76",c4="_rowRevoked_3gpy6_119",d4="_keyIdCell_3gpy6_132",u4="_ownerCell_3gpy6_138",h4="_scopesCell_3gpy6_143",p4="_scopeTag_3gpy6_151",m4="_scopeTagEmpty_3gpy6_163",f4="_timestampCell_3gpy6_169",_4="_badgeActive_3gpy6_180",g4="_badgeRevoked_3gpy6_194",y4="_activeIndicator_3gpy6_206",x4="_revokeBtn_3gpy6_219",v4="_formPanel_3gpy6_247",j4="_formTitle_3gpy6_258",N4="_formRow_3gpy6_267",b4="_formLabel_3gpy6_273",S4="_formInput_3gpy6_281",w4="_scopeGrid_3gpy6_306",C4="_scopeCheckLabel_3gpy6_312",k4="_scopeChecked_3gpy6_333",T4="_scopeCheckbox_3gpy6_339",R4="_formSelect_3gpy6_350",I4="_formActions_3gpy6_372",B4="_formSubmitBtn_3gpy6_378",E4="_formCancelBtn_3gpy6_400",L4="_formError_3gpy6_417",P4="_tokenReveal_3gpy6_430",A4="_tokenWarning_3gpy6_441",$4="_tokenWarningIcon_3gpy6_451",D4="_tokenRow_3gpy6_456",M4="_tokenInput_3gpy6_462",F4="_copyBtn_3gpy6_476",O4="_copyBtnCopied_3gpy6_496",H4="_tokenDismissBtn_3gpy6_501",z4="_tokenSyncNote_3gpy6_519",U4="_tokenWarnNote_3gpy6_525",V4="_modalOverlay_3gpy6_534",q4="_modalBox_3gpy6_544",W4="_modalTitle_3gpy6_557",K4="_modalBody_3gpy6_564",G4="_modalKeyId_3gpy6_571",Q4="_modalActions_3gpy6_577",J4="_modalCancelBtn_3gpy6_584",Y4="_modalRevokeBtn_3gpy6_601",X4="_loadingRow_3gpy6_628",Z4="_errorRow_3gpy6_637",e$="_spinnerSmall_3gpy6_646",ne={section:n4,sectionHeader:s4,sectionTitle:a4,createBtn:r4,emptyState:i4,tableWrapper:l4,table:o4,rowRevoked:c4,keyIdCell:d4,ownerCell:u4,scopesCell:h4,scopeTag:p4,scopeTagEmpty:m4,timestampCell:f4,badgeActive:_4,badgeRevoked:g4,activeIndicator:y4,revokeBtn:x4,formPanel:v4,formTitle:j4,formRow:N4,formLabel:b4,formInput:S4,scopeGrid:w4,scopeCheckLabel:C4,scopeChecked:k4,scopeCheckbox:T4,formSelect:R4,formActions:I4,formSubmitBtn:B4,formCancelBtn:E4,formError:L4,tokenReveal:P4,tokenWarning:A4,tokenWarningIcon:$4,tokenRow:D4,tokenInput:M4,copyBtn:F4,copyBtnCopied:O4,tokenDismissBtn:H4,tokenSyncNote:z4,tokenWarnNote:U4,modalOverlay:V4,modalBox:q4,modalTitle:W4,modalBody:K4,modalKeyId:G4,modalActions:Q4,modalCancelBtn:J4,modalRevokeBtn:Y4,loadingRow:X4,errorRow:Z4,spinnerSmall:e$},t$=["kb:read","kb:write","memory:read","memory:write","agents:read","agents:write","metrics:read"];function Hh(e){try{return new Date(e).toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"})}catch{return e}}function n$(e){const t=e.indexOf(".");return t<0?`${e.slice(0,4)}****`:`${e.slice(0,t)}.****`}function s$({target:e,onConfirm:t,onCancel:s,inFlight:a}){return n.jsx("div",{className:ne.modalOverlay,role:"dialog","aria-modal":"true","aria-labelledby":"revoke-modal-title",children:n.jsxs("div",{className:ne.modalBox,children:[n.jsx("p",{className:ne.modalTitle,id:"revoke-modal-title",children:"Revoke Iranti access key?"}),n.jsxs("p",{className:ne.modalBody,children:["This will permanently revoke"," ",n.jsx("code",{className:ne.modalKeyId,children:e.keyId}),e.owner?n.jsxs(n.Fragment,{children:[" (owned by ",n.jsx("strong",{children:e.owner}),")"]}):"","."," ","Any agents or integrations using this key will immediately lose access. The key will remain visible in the list for audit purposes."]}),n.jsxs("div",{className:ne.modalActions,children:[n.jsx("button",{className:ne.modalCancelBtn,type:"button",onClick:s,disabled:a,children:"Cancel"}),n.jsx("button",{className:ne.modalRevokeBtn,type:"button",onClick:t,disabled:a,children:a?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:ne.spinnerSmall,"aria-hidden":"true"})," Revoking…"]}):"Revoke key"})]})]})})}function a$({result:e,syncedToProject:t,onDismiss:s}){const[a,r]=d.useState(!1),i=d.useCallback(()=>{navigator.clipboard.writeText(e.token).then(()=>{r(!0),setTimeout(()=>r(!1),2500)})},[e.token]),l=n$(e.token);return n.jsxs("div",{className:ne.tokenReveal,children:[n.jsxs("div",{className:ne.tokenWarning,children:[n.jsx("span",{className:ne.tokenWarningIcon,"aria-hidden":"true",children:"⚠"}),n.jsxs("span",{children:["Copy this token now — it will not be shown again. Store it in your project's ",n.jsx("code",{children:".env.iranti"})," as"," ",n.jsx("code",{children:"IRANTI_API_KEY"}),"."]})]}),n.jsxs("div",{children:[n.jsxs("div",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",marginBottom:"4px"},children:["Key ID: ",n.jsx("code",{style:{fontFamily:"var(--font-mono)",color:"var(--color-text-secondary)"},children:e.keyId}),e.scopes.length>0&&n.jsxs(n.Fragment,{children:["  ·  Scopes: ",e.scopes.join(", ")]})]}),n.jsxs("div",{className:ne.tokenRow,children:[n.jsx("input",{className:ne.tokenInput,type:"text",readOnly:!0,value:e.token,"aria-label":"Generated API token",onFocus:o=>o.target.select(),title:l}),n.jsx("button",{className:`${ne.copyBtn} ${a?ne.copyBtnCopied:""}`,type:"button",onClick:i,"aria-label":"Copy token to clipboard",children:a?"✓ Copied":"Copy"})]})]}),t&&!e.warning&&n.jsxs("div",{className:ne.tokenSyncNote,children:["Token synced to ",n.jsxs("code",{children:[t,"/.env.iranti"]})," as IRANTI_API_KEY."]}),e.warning&&n.jsx("div",{className:ne.tokenWarnNote,children:e.warning}),n.jsx("button",{className:ne.tokenDismissBtn,type:"button",onClick:s,children:"I have copied the token"})]})}const r$={keyId:"",owner:"",selectedScopes:new Set,customScope:"",description:"",syncToProject:""};function i$({instances:e,onCreated:t,onCancel:s}){const[a,r]=d.useState({...r$,selectedScopes:new Set}),[i,l]=d.useState(!1),[o,c]=d.useState(null),u=h=>{r(y=>{const g=new Set(y.selectedScopes);return g.has(h)?g.delete(h):g.add(h),{...y,selectedScopes:g}})},m=d.useCallback(async()=>{if(i)return;c(null);const h=a.keyId.trim(),y=a.owner.trim();if(!h){c("Key ID is required.");return}if(!y){c("Owner is required.");return}const g=[...a.selectedScopes];a.customScope.trim()&&g.push(...a.customScope.split(",").map(j=>j.trim()).filter(Boolean)),l(!0);try{const j=await $j({keyId:h,owner:y,scopes:g,description:a.description.trim()||void 0,syncToProject:a.syncToProject||void 0});t(j,a.syncToProject||null)}catch(j){c(j instanceof Error?j.message:String(j))}finally{l(!1)}},[a,i,t]),p=Array.from(new Set(e.flatMap(h=>h.projects.map(y=>y.projectRoot))));return n.jsxs("div",{className:ne.formPanel,children:[n.jsx("p",{className:ne.formTitle,children:"Create Iranti Access Key"}),n.jsxs("div",{className:ne.formRow,children:[n.jsxs("label",{className:ne.formLabel,htmlFor:"ak-keyId",children:["Key ID ",n.jsx("span",{style:{color:"var(--color-status-error)"},children:"*"})]}),n.jsx("input",{id:"ak-keyId",className:ne.formInput,type:"text",value:a.keyId,onChange:h=>r(y=>({...y,keyId:h.target.value})),placeholder:"e.g. claude_code or my_agent",autoComplete:"off",spellCheck:!1,disabled:i})]}),n.jsxs("div",{className:ne.formRow,children:[n.jsxs("label",{className:ne.formLabel,htmlFor:"ak-owner",children:["Owner ",n.jsx("span",{style:{color:"var(--color-status-error)"},children:"*"})]}),n.jsx("input",{id:"ak-owner",className:ne.formInput,type:"text",value:a.owner,onChange:h=>r(y=>({...y,owner:h.target.value})),placeholder:"e.g. Claude Code, automation, my-app",disabled:i})]}),n.jsxs("div",{className:ne.formRow,children:[n.jsx("span",{className:ne.formLabel,children:"Scopes"}),n.jsx("div",{className:ne.scopeGrid,children:t$.map(h=>n.jsxs("label",{className:`${ne.scopeCheckLabel} ${a.selectedScopes.has(h)?ne.scopeChecked:""}`,children:[n.jsx("input",{className:ne.scopeCheckbox,type:"checkbox",checked:a.selectedScopes.has(h),onChange:()=>u(h),disabled:i}),h]},h))})]}),n.jsxs("div",{className:ne.formRow,children:[n.jsxs("label",{className:ne.formLabel,htmlFor:"ak-customScope",children:["Custom / namespace scopes",n.jsx("span",{style:{fontSize:"10px",fontWeight:400,textTransform:"none",color:"var(--color-text-tertiary)",marginLeft:"6px"},children:"optional, comma-separated (e.g. kb:read:project/acme)"})]}),n.jsx("input",{id:"ak-customScope",className:ne.formInput,type:"text",value:a.customScope,onChange:h=>r(y=>({...y,customScope:h.target.value})),placeholder:"kb:read:project/acme, memory:write:project/*",disabled:i,autoComplete:"off",spellCheck:!1})]}),n.jsxs("div",{className:ne.formRow,children:[n.jsx("label",{className:ne.formLabel,htmlFor:"ak-description",children:"Description (optional)"}),n.jsx("input",{id:"ak-description",className:ne.formInput,type:"text",value:a.description,onChange:h=>r(y=>({...y,description:h.target.value})),placeholder:"What will use this key?",disabled:i})]}),p.length>0&&n.jsxs("div",{className:ne.formRow,children:[n.jsxs("label",{className:ne.formLabel,htmlFor:"ak-syncProject",children:["Copy to project",n.jsx("span",{style:{fontSize:"10px",fontWeight:400,textTransform:"none",color:"var(--color-text-tertiary)",marginLeft:"6px"},children:"writes token into project's .env.iranti as IRANTI_API_KEY"})]}),n.jsxs("select",{id:"ak-syncProject",className:ne.formSelect,value:a.syncToProject,onChange:h=>r(y=>({...y,syncToProject:h.target.value})),disabled:i,children:[n.jsx("option",{value:"",children:"— Don't sync —"}),p.map(h=>n.jsx("option",{value:h,children:h},h))]})]}),o&&n.jsx("div",{className:ne.formError,role:"alert",children:o}),n.jsxs("div",{className:ne.formActions,children:[n.jsx("button",{className:ne.formSubmitBtn,type:"button",onClick:()=>void m(),disabled:i,children:i?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:ne.spinnerSmall,"aria-hidden":"true"})," Creating…"]}):"Create access key"}),n.jsx("button",{className:ne.formCancelBtn,type:"button",onClick:s,disabled:i,children:"Cancel"})]})]})}function l$({instances:e}){const t=Ht(),[s,a]=d.useState(!1),[r,i]=d.useState(null),[l,o]=d.useState(null),[c,u]=d.useState(null),[m,p]=d.useState(!1),[h,y]=d.useState(null),{data:g,isLoading:j,error:v,refetch:_}=Ne({queryKey:["auth-keys"],queryFn:Aj,staleTime:0}),x=[...(g==null?void 0:g.keys)??[]].sort((R,L)=>R.revoked!==L.revoked?R.revoked?1:-1:new Date(L.createdAt).getTime()-new Date(R.createdAt).getTime()),b=d.useCallback((R,L)=>{a(!1),i(R),o(L),t.invalidateQueries({queryKey:["auth-keys"]})},[t]),T=d.useCallback(async()=>{if(!(!c||m)){p(!0),y(null);try{await Dj(c.keyId),u(null),t.invalidateQueries({queryKey:["auth-keys"]})}catch(R){y(R instanceof Error?R.message:String(R))}finally{p(!1)}}},[c,m,t]);return d.useEffect(()=>{c||y(null)},[c]),n.jsxs("div",{className:ne.section,children:[n.jsxs("div",{className:ne.sectionHeader,children:[n.jsx("h3",{className:ne.sectionTitle,children:"Iranti Access Keys"}),!s&&n.jsx("button",{className:ne.createBtn,type:"button",onClick:()=>{i(null),a(!0)},children:"+ Create Access Key"})]}),r&&n.jsx(a$,{result:r,syncedToProject:l,onDismiss:()=>{i(null),o(null)}}),s&&n.jsx(i$,{instances:e,onCreated:b,onCancel:()=>a(!1)}),h&&n.jsx("div",{className:ne.errorRow,role:"alert",children:h}),j&&n.jsxs("div",{className:ne.loadingRow,children:[n.jsx("span",{className:ne.spinnerSmall,"aria-hidden":"true"}),"Loading Iranti access keys…"]}),v&&!j&&n.jsxs("div",{className:ne.errorRow,role:"alert",children:[v instanceof Error?v.message:String(v)," ",n.jsx("button",{type:"button",onClick:()=>void _(),style:{background:"none",border:"none",color:"var(--color-accent-primary)",cursor:"pointer",fontSize:"inherit",padding:0,textDecoration:"underline"},children:"Retry"})]}),!j&&!v&&x.length===0&&n.jsxs("div",{className:ne.emptyState,children:["No Iranti access keys registered. Run"," ",n.jsx("code",{style:{fontFamily:"var(--font-mono)",fontSize:"12px"},children:"iranti setup"})," ","or create your first key here."]}),!j&&!v&&x.length>0&&n.jsx("div",{className:ne.tableWrapper,children:n.jsxs("table",{className:ne.table,children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Key ID"}),n.jsx("th",{children:"Owner"}),n.jsx("th",{children:"Scopes"}),n.jsx("th",{children:"Created"}),n.jsx("th",{children:"Updated"}),n.jsx("th",{children:"Status"}),n.jsx("th",{})]})}),n.jsx("tbody",{children:x.map(R=>n.jsxs("tr",{className:R.revoked?ne.rowRevoked:void 0,children:[n.jsx("td",{className:ne.keyIdCell,children:R.keyId}),n.jsx("td",{className:ne.ownerCell,children:R.owner||n.jsx("span",{style:{color:"var(--color-text-tertiary)"},children:"—"})}),n.jsx("td",{children:R.scopes.length===0?n.jsx("span",{className:ne.scopeTagEmpty,children:"none"}):n.jsx("div",{className:ne.scopesCell,children:R.scopes.map(L=>n.jsx("span",{className:ne.scopeTag,children:L},L))})}),n.jsx("td",{className:ne.timestampCell,children:Hh(R.createdAt)}),n.jsx("td",{className:ne.timestampCell,children:Hh(R.updatedAt)}),n.jsx("td",{children:R.revoked?n.jsx("span",{className:ne.badgeRevoked,children:"Revoked"}):n.jsxs("span",{className:ne.badgeActive,children:[n.jsx("span",{className:ne.activeIndicator,"aria-hidden":"true"}),"Active"]})}),n.jsx("td",{children:!R.revoked&&n.jsx("button",{className:ne.revokeBtn,type:"button",onClick:()=>u(R),title:`Revoke ${R.keyId}`,children:"Revoke"})})]},R.keyId))})]})}),c&&n.jsx(s$,{target:c,onConfirm:()=>void T(),onCancel:()=>u(null),inFlight:m})]})}const o$="_formContainer_bndag_7",c$="_formHeader_bndag_16",d$="_formTitle_bndag_25",u$="_cancelHeaderBtn_bndag_33",h$="_stepIndicator_bndag_54",p$="_stepDot_bndag_62",m$="_stepDotActive_bndag_71",f$="_stepDotDone_bndag_76",_$="_stepLabel_bndag_80",g$="_formBody_bndag_88",y$="_stepContent_bndag_93",x$="_stepTitle_bndag_99",v$="_fieldGroup_bndag_111",j$="_fieldGroupRow_bndag_117",N$="_fieldLabel_bndag_122",b$="_required_bndag_128",S$="_input_bndag_132",w$="_inputMono_bndag_149",C$="_inputError_bndag_154",k$="_select_bndag_158",T$="_fieldError_bndag_176",R$="_fieldHint_bndag_183",I$="_modeToggleRow_bndag_190",B$="_modeToggleBtn_bndag_195",E$="_modeToggleBtnActive_bndag_213",L$="_previewCard_bndag_219",P$="_previewLabel_bndag_229",A$="_previewValue_bndag_237",$$="_inlineCode_bndag_244",D$="_noKeyNote_bndag_254",M$="_reviewTable_bndag_267",F$="_reviewRow_bndag_276",O$="_reviewLabel_bndag_288",H$="_reviewValue_bndag_296",z$="_reviewValueTruncate_bndag_304",U$="_dimValue_bndag_310",V$="_submitError_bndag_318",q$="_formActions_bndag_331",W$="_navBtns_bndag_341",K$="_primaryBtn_bndag_346",G$="_secondaryBtn_bndag_373",Q$="_cancelBtn_bndag_397",J$="_spinnerSmall_bndag_415",Y$="_successScreen_bndag_432",X$="_successIcon_bndag_441",Z$="_successTitle_bndag_454",e5="_successName_bndag_461",t5="_migrationNote_bndag_469",n5="_migrationNoteIcon_bndag_484",s5="_migrationNoteText_bndag_490",a5="_successDetails_bndag_496",r5="_successDetailRow_bndag_503",i5="_successDetailLabel_bndag_515",l5="_successDetailValue_bndag_524",A={formContainer:o$,formHeader:c$,formTitle:d$,cancelHeaderBtn:u$,stepIndicator:h$,stepDot:p$,stepDotActive:m$,stepDotDone:f$,stepLabel:_$,formBody:g$,stepContent:y$,stepTitle:x$,fieldGroup:v$,fieldGroupRow:j$,fieldLabel:N$,required:b$,input:S$,inputMono:w$,inputError:C$,select:k$,fieldError:T$,fieldHint:R$,modeToggleRow:I$,modeToggleBtn:B$,modeToggleBtnActive:E$,previewCard:L$,previewLabel:P$,previewValue:A$,inlineCode:$$,noKeyNote:D$,reviewTable:M$,reviewRow:F$,reviewLabel:O$,reviewValue:H$,reviewValueTruncate:z$,dimValue:U$,submitError:V$,formActions:q$,navBtns:W$,primaryBtn:K$,secondaryBtn:G$,cancelBtn:Q$,spinnerSmall:J$,successScreen:Y$,successIcon:X$,successTitle:Z$,successName:e5,migrationNote:t5,migrationNoteIcon:n5,migrationNoteText:s5,successDetails:a5,successDetailRow:r5,successDetailLabel:i5,successDetailValue:l5},zh=["gemini","claude","openai","groq","mistral","ollama","mock"],Uh=["gemini","claude","openai","groq","mistral"],o5=/^[a-zA-Z0-9_-]{1,64}$/,xo="postgresql://user:password@localhost:5432/iranti_myproject";function c5({step:e,total:t}){return n.jsxs("div",{className:A.stepIndicator,"aria-label":`Step ${e} of ${t}`,children:[Array.from({length:t},(s,a)=>n.jsx("span",{className:`${A.stepDot} ${a+1===e?A.stepDotActive:""} ${a+1<e?A.stepDotDone:""}`,"aria-hidden":"true"},a)),n.jsxs("span",{className:A.stepLabel,children:["Step ",e," of ",t]})]})}function d5(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"instance"}function Vh(e,t="iranti_"){return`${t}${d5(e||"instance")}`}function u5(e){return`postgresql://${e.password.trim()?`${encodeURIComponent(e.username.trim())}:${encodeURIComponent(e.password)}@`:`${encodeURIComponent(e.username.trim())}@`}${e.host.trim()}:${e.port.trim()}/${encodeURIComponent(e.databaseName.trim())}`}function qh(e){try{const t=new URL(e),s=t.username?`${decodeURIComponent(t.username)}:${t.password?"••••":""}@`:"";return`${t.protocol}//${s}${t.host}${t.pathname}`}catch{return e}}function h5({suggestedPort:e,instances:t,onSuccess:s,onCancel:a}){const{settings:r}=Ka(),i=r.createInstanceDefaults,l=zh.includes(i.provider)?i.provider:"claude",[o,c]=d.useState(1),[u,m]=d.useState(""),[p,h]=d.useState(String(e??i.startPort)),[y,g]=d.useState(null),[j,v]=d.useState(null),[_,f]=d.useState(i.databaseMode),[x,b]=d.useState(""),[T,R]=d.useState(i.dbHost),[L,N]=d.useState(i.dbPort),[k,B]=d.useState(Vh("",i.dbNamePrefix)),[M,te]=d.useState(!1),[de,J]=d.useState(i.dbUser),[Z,O]=d.useState(""),[Ie,G]=d.useState(""),[ce,ue]=d.useState(null),[Q,q]=d.useState(l),[Be,Pe]=d.useState(""),[Ye,ze]=d.useState(!1),[Ke,js]=d.useState(null),[Jt,gn]=d.useState(null);d.useEffect(()=>{M||B(Vh(u,i.dbNamePrefix))},[u,M,i.dbNamePrefix]),d.useEffect(()=>{h(String(e??i.startPort))},[e,i.startPort]),d.useEffect(()=>{R(i.dbHost),N(i.dbPort),J(i.dbUser)},[i.dbHost,i.dbPort,i.dbUser]);const $n=d.useMemo(()=>!T.trim()||!L.trim()||!k.trim()||!de.trim()?"":u5({host:T,port:L,databaseName:k,username:de,password:Z}),[T,L,k,de,Z]),Ol=_==="compose"?$n:Ie.trim(),X_=le=>{b(le);const dt=t.find(Zr=>Zr.name===le);dt!=null&&dt.database&&(dt.database.host&&R(dt.database.host),dt.database.port&&N(String(dt.database.port)),dt.database.user&&J(dt.database.user))},Z_=d.useCallback(()=>{let le=!0;o5.test(u)?g(null):(g("Name must be 1-64 chars, letters, digits, hyphens, or underscores only."),le=!1);const dt=parseInt(p,10);return Number.isNaN(dt)||dt<1024||dt>65535?(v("Port must be a number between 1024 and 65535."),le=!1):v(null),le},[u,p]),eg=d.useCallback(()=>{if(_==="url")return!Ie.trim()||Ie.trim()===xo?(ue("Database URL is required. Enter a valid PostgreSQL connection string."),!1):Ie.toLowerCase().includes("yourpassword")?(ue("Database URL still contains a placeholder password."),!1):(ue(null),!0);if(!T.trim()||!L.trim()||!k.trim()||!de.trim())return ue("Host, port, database name, and username are required to build a PostgreSQL URL."),!1;const le=parseInt(L,10);return Number.isNaN(le)||le<1||le>65535?(ue("Database port must be between 1 and 65535."),!1):$n?(ue(null),!0):(ue("Could not build a PostgreSQL URL from the current fields."),!1)},[$n,_,k,T,L,Ie,de]),tg=()=>{o===1&&!Z_()||o===2&&!eg()||c(le=>le+1)},ng=()=>c(le=>le-1),sg=d.useCallback(async()=>{if(!Ye){ze(!0),js(null);try{const le=await Mj({name:u.trim(),port:parseInt(p,10),dbUrl:Ol,provider:Q,...Uh.includes(Q)&&Be.trim()?{providerKey:Be.trim()}:{}});gn(le)}catch(le){js(le instanceof Error?le.message:String(le))}finally{ze(!1)}}},[Ol,u,p,Q,Be,Ye]);if(Jt)return n.jsx("div",{className:A.formContainer,children:n.jsxs("div",{className:A.successScreen,children:[n.jsx("span",{className:A.successIcon,"aria-hidden":"true",children:"✓"}),n.jsx("h3",{className:A.successTitle,children:"Instance created"}),n.jsx("p",{className:A.successName,children:Jt.name}),Jt.note&&n.jsxs("div",{className:A.migrationNote,role:"alert",children:[n.jsx("span",{className:A.migrationNoteIcon,"aria-hidden":"true",children:"!"}),n.jsxs("div",{children:[n.jsx("strong",{children:"Database setup required"}),n.jsx("p",{className:A.migrationNoteText,children:Jt.note})]})]}),n.jsxs("div",{className:A.successDetails,children:[n.jsxs("div",{className:A.successDetailRow,children:[n.jsx("span",{className:A.successDetailLabel,children:"Port"}),n.jsx("code",{className:A.successDetailValue,children:Jt.port})]}),n.jsxs("div",{className:A.successDetailRow,children:[n.jsx("span",{className:A.successDetailLabel,children:"Instance dir"}),n.jsx("code",{className:A.successDetailValue,children:Jt.instanceDir})]}),n.jsxs("div",{className:A.successDetailRow,children:[n.jsx("span",{className:A.successDetailLabel,children:"Env file"}),n.jsx("code",{className:A.successDetailValue,children:Jt.envFile})]}),n.jsxs("div",{className:A.successDetailRow,children:[n.jsx("span",{className:A.successDetailLabel,children:"Provider"}),n.jsx("code",{className:A.successDetailValue,children:Jt.provider})]})]}),n.jsx("div",{className:A.formActions,children:n.jsx("button",{className:A.primaryBtn,type:"button",onClick:()=>s(Jt.name),children:"Done"})})]})});const Xd=Uh.includes(Q);return n.jsxs("div",{className:A.formContainer,children:[n.jsxs("div",{className:A.formHeader,children:[n.jsx("h3",{className:A.formTitle,children:"Create Instance"}),n.jsx("button",{className:A.cancelHeaderBtn,type:"button",onClick:a,"aria-label":"Cancel",children:"×"})]}),n.jsx(c5,{step:o,total:4}),n.jsxs("div",{className:A.formBody,children:[o===1&&n.jsxs("div",{className:A.stepContent,children:[n.jsx("h4",{className:A.stepTitle,children:"Name & Port"}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-name",children:["Instance name ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-name",className:`${A.input} ${y?A.inputError:""}`,type:"text",value:u,onChange:le=>m(le.target.value),placeholder:"my-project",autoFocus:!0,autoComplete:"off",spellCheck:!1}),y&&n.jsx("p",{className:A.fieldError,children:y}),n.jsx("p",{className:A.fieldHint,children:"Letters, digits, hyphens, underscores. 1-64 chars."})]}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-port",children:["Port ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-port",className:`${A.input} ${j?A.inputError:""}`,type:"number",value:p,onChange:le=>h(le.target.value),min:1024,max:65535,placeholder:String(e??i.startPort)}),j&&n.jsx("p",{className:A.fieldError,children:j}),n.jsx("p",{className:A.fieldHint,children:"1024-65535. Must not conflict with another instance."})]})]}),o===2&&n.jsxs("div",{className:A.stepContent,children:[n.jsx("h4",{className:A.stepTitle,children:"Database"}),n.jsxs("div",{className:A.modeToggleRow,children:[n.jsx("button",{className:`${A.modeToggleBtn} ${_==="compose"?A.modeToggleBtnActive:""}`,type:"button",onClick:()=>f("compose"),children:"Build from parts"}),n.jsx("button",{className:`${A.modeToggleBtn} ${_==="url"?A.modeToggleBtnActive:""}`,type:"button",onClick:()=>f("url"),children:"Paste full URL"})]}),_==="compose"?n.jsxs(n.Fragment,{children:[t.some(le=>le.database)&&n.jsxs("div",{className:A.fieldGroup,children:[n.jsx("label",{className:A.fieldLabel,htmlFor:"ci-db-template",children:"Use an existing instance as a template"}),n.jsxs("select",{id:"ci-db-template",className:A.select,value:x,onChange:le=>X_(le.target.value),children:[n.jsx("option",{value:"",children:"Use the defaults below"}),t.filter(le=>le.database).map(le=>{var dt,Zr,Zd;return n.jsxs("option",{value:le.name,children:[le.name," - ",(dt=le.database)==null?void 0:dt.host,":",(Zr=le.database)==null?void 0:Zr.port,"/",(Zd=le.database)==null?void 0:Zd.name]},le.instanceId)})]}),n.jsx("p",{className:A.fieldHint,children:"This copies the host, port, and database user from an existing instance without exposing its password."})]}),n.jsxs("div",{className:A.fieldGroupRow,children:[n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-db-host",children:["Host ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-db-host",className:A.input,type:"text",value:T,onChange:le=>R(le.target.value),autoComplete:"off"})]}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-db-port",children:["Port ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-db-port",className:A.input,type:"number",value:L,onChange:le=>N(le.target.value),min:1,max:65535})]})]}),n.jsxs("div",{className:A.fieldGroupRow,children:[n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-db-name",children:["Database name ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-db-name",className:`${A.input} ${A.inputMono}`,type:"text",value:k,onChange:le=>{te(!0),B(le.target.value)},autoComplete:"off",spellCheck:!1})]}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-db-user",children:["Username ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-db-user",className:A.input,type:"text",value:de,onChange:le=>J(le.target.value),autoComplete:"off",spellCheck:!1})]})]}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsx("label",{className:A.fieldLabel,htmlFor:"ci-db-password",children:"Password"}),n.jsx("input",{id:"ci-db-password",className:A.input,type:"password",value:Z,onChange:le=>O(le.target.value),autoComplete:"new-password",placeholder:"Optional if your PostgreSQL user does not require one"})]}),n.jsxs("div",{className:A.previewCard,children:[n.jsx("span",{className:A.previewLabel,children:"Connection preview"}),n.jsx("code",{className:A.previewValue,children:$n?qh($n):xo})]})]}):n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-dburl",children:["Database URL ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("input",{id:"ci-dburl",className:`${A.input} ${A.inputMono} ${ce?A.inputError:""}`,type:"text",value:Ie,onChange:le=>G(le.target.value),placeholder:xo,autoComplete:"off",spellCheck:!1})]}),ce&&n.jsx("p",{className:A.fieldError,children:ce}),n.jsx("p",{className:A.fieldHint,children:"The database must exist before first start. After creation, review the instance and start it with the normal Iranti lifecycle flow."})]}),o===3&&n.jsxs("div",{className:A.stepContent,children:[n.jsx("h4",{className:A.stepTitle,children:"Provider"}),n.jsxs("div",{className:A.fieldGroup,children:[n.jsxs("label",{className:A.fieldLabel,htmlFor:"ci-provider",children:["LLM Provider ",n.jsx("span",{className:A.required,children:"*"})]}),n.jsx("select",{id:"ci-provider",className:A.select,value:Q,onChange:le=>{q(le.target.value),Pe("")},children:zh.map(le=>n.jsx("option",{value:le,children:le},le))}),n.jsxs("p",{className:A.fieldHint,children:["This sets ",n.jsx("code",{className:A.inlineCode,children:"LLM_PROVIDER"})," in the instance ",n.jsx("code",{className:A.inlineCode,children:".env"}),"."]})]}),Xd?n.jsxs("div",{className:A.fieldGroup,children:[n.jsx("label",{className:A.fieldLabel,htmlFor:"ci-pkey",children:"Provider API key"}),n.jsx("input",{id:"ci-pkey",className:`${A.input} ${A.inputMono}`,type:"password",value:Be,onChange:le=>Pe(le.target.value),placeholder:`${Q.toUpperCase()}_API_KEY`,autoComplete:"new-password"}),n.jsx("p",{className:A.fieldHint,children:"Optional here - can be set later in the Providers panel."})]}):n.jsx("p",{className:A.noKeyNote,children:Q==="mock"?"Mock provider - no API key required.":"Ollama runs locally - no API key required."})]}),o===4&&n.jsxs("div",{className:A.stepContent,children:[n.jsx("h4",{className:A.stepTitle,children:"Review & Create"}),n.jsxs("div",{className:A.reviewTable,children:[n.jsxs("div",{className:A.reviewRow,children:[n.jsx("span",{className:A.reviewLabel,children:"Name"}),n.jsx("code",{className:A.reviewValue,children:u})]}),n.jsxs("div",{className:A.reviewRow,children:[n.jsx("span",{className:A.reviewLabel,children:"Port"}),n.jsx("code",{className:A.reviewValue,children:p})]}),n.jsxs("div",{className:A.reviewRow,children:[n.jsx("span",{className:A.reviewLabel,children:"Database URL"}),n.jsx("code",{className:`${A.reviewValue} ${A.reviewValueTruncate}`,children:qh(Ol)})]}),n.jsxs("div",{className:A.reviewRow,children:[n.jsx("span",{className:A.reviewLabel,children:"Provider"}),n.jsx("code",{className:A.reviewValue,children:Q})]}),Xd&&n.jsxs("div",{className:A.reviewRow,children:[n.jsx("span",{className:A.reviewLabel,children:"Provider key"}),n.jsx("code",{className:A.reviewValue,children:Be.trim()?"••••••••":n.jsx("span",{className:A.dimValue,children:"not set"})})]})]}),Ke&&n.jsxs("div",{className:A.submitError,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"!"})," ",Ke]})]})]}),n.jsxs("div",{className:A.formActions,children:[n.jsx("button",{className:A.cancelBtn,type:"button",onClick:a,children:"Cancel"}),n.jsxs("div",{className:A.navBtns,children:[o>1&&n.jsx("button",{className:A.secondaryBtn,type:"button",onClick:ng,disabled:Ye,children:"Back"}),o<4&&n.jsx("button",{className:A.primaryBtn,type:"button",onClick:tg,children:"Next"}),o===4&&n.jsx("button",{className:A.primaryBtn,type:"button",onClick:()=>void sg(),disabled:Ye,children:Ye?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:A.spinnerSmall,"aria-hidden":"true"})," Creating..."]}):"Create instance"})]})]})]})}const p5="_panel_pmt40_7",m5="_panelHeader_pmt40_16",f5="_panelTitle_pmt40_25",_5="_cancelHeaderBtn_pmt40_32",g5="_panelBody_pmt40_53",y5="_fieldGroup_pmt40_62",x5="_fieldLabel_pmt40_68",v5="_fieldLabelHint_pmt40_74",j5="_input_pmt40_80",N5="_inputMono_pmt40_97",b5="_inputError_pmt40_102",S5="_select_pmt40_106",w5="_fieldError_pmt40_124",C5="_restartWarning_pmt40_133",k5="_restartWarningIcon_pmt40_146",T5="_restartWarningText_pmt40_152",R5="_changedFields_pmt40_158",I5="_submitError_pmt40_167",B5="_panelActions_pmt40_179",E5="_primaryBtn_pmt40_189",L5="_cancelBtn_pmt40_216",P5="_spinnerSmall_pmt40_236",_e={panel:p5,panelHeader:m5,panelTitle:f5,cancelHeaderBtn:_5,panelBody:g5,fieldGroup:y5,fieldLabel:x5,fieldLabelHint:v5,input:j5,inputMono:N5,inputError:b5,select:S5,fieldError:w5,restartWarning:C5,restartWarningIcon:k5,restartWarningText:T5,changedFields:R5,submitError:I5,panelActions:B5,primaryBtn:E5,cancelBtn:L5,spinnerSmall:P5},A5=["gemini","claude","openai","groq","mistral","ollama","mock"],Wh=["gemini","claude","openai","groq","mistral"];function $5({instanceName:e,currentPort:t,currentProvider:s,currentDbUrlRedacted:a,onSuccess:r,onCancel:i}){const[l,o]=d.useState(t!==null?String(t):""),[c,u]=d.useState(s??"claude"),[m,p]=d.useState(""),[h,y]=d.useState(""),[g,j]=d.useState(null),[v,_]=d.useState(null),[f,x]=d.useState(!1),[b,T]=d.useState(!1),[R,L]=d.useState(null),[N,k]=d.useState(null),[B,M]=d.useState(null);d.useEffect(()=>{o(t!==null?String(t):""),u(s??"claude"),p(""),y(""),j(null),_(null),L(null),k(null),M(null)},[e,t,s,a]);const te=Wh.includes(c),de=()=>{if(l.trim()!==""){const O=parseInt(l,10);if(isNaN(O)||O<1024||O>65535)return j("Port must be between 1024 and 65535."),!1}return j(null),m.trim()!==""&&m.toLowerCase().includes("yourpassword")?(_("Database URL still contains a placeholder password."),!1):(_(null),!0)},J=d.useCallback(async()=>{if(f||!de())return;x(!0),L(null),k(null),M(null);const O={},Ie=parseInt(l,10);if(!isNaN(Ie)&&Ie!==t&&(O.port=Ie),m.trim()&&(O.dbUrl=m.trim()),c!==s&&(O.provider=c),Wh.includes(c)&&h.trim()&&(O.providerKey=h.trim()),Object.keys(O).length===0){r();return}try{const G=await Fj(e,O);M(G.changed),G.restartRequired?k(`Restart required — ${e} must be restarted for the changes to take effect.`):r()}catch(G){L(G instanceof Error?G.message:String(G))}finally{x(!1)}},[f,l,m,c,h,e,t,s]),Z=d.useCallback(async()=>{if(!b){T(!0),L(null);try{await Cj(e),r()}catch(O){L(O instanceof Error?O.message:String(O))}finally{T(!1)}}},[b,e,r]);return N?n.jsxs("div",{className:_e.panel,children:[n.jsx("div",{className:_e.panelHeader,children:n.jsxs("span",{className:_e.panelTitle,children:["Configure — ",e]})}),n.jsx("div",{className:_e.panelBody,children:n.jsxs("div",{className:_e.restartWarning,role:"alert",children:[n.jsx("span",{className:_e.restartWarningIcon,"aria-hidden":"true",children:"↻"}),n.jsxs("div",{children:[n.jsx("strong",{children:"Restart required"}),n.jsx("p",{className:_e.restartWarningText,children:N}),B&&B.length>0&&n.jsxs("p",{className:_e.changedFields,children:["Changed: ",B.join(", ")]})]})]})}),R&&n.jsxs("div",{className:_e.submitError,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"x"})," ",R]}),n.jsxs("div",{className:_e.panelActions,children:[n.jsx("button",{className:_e.secondaryBtn,type:"button",onClick:()=>void Z(),disabled:b,children:b?"Restarting...":"Restart now"}),n.jsx("button",{className:_e.primaryBtn,type:"button",onClick:r,children:"Done"})]})]}):n.jsxs("div",{className:_e.panel,children:[n.jsxs("div",{className:_e.panelHeader,children:[n.jsxs("span",{className:_e.panelTitle,children:["Configure — ",e]}),n.jsx("button",{className:_e.cancelHeaderBtn,type:"button",onClick:i,"aria-label":"Cancel",children:"✕"})]}),n.jsxs("div",{className:_e.panelBody,children:[n.jsxs("div",{className:_e.fieldGroup,children:[n.jsx("label",{className:_e.fieldLabel,htmlFor:"cfg-port",children:"Runtime port"}),n.jsx("input",{id:"cfg-port",className:`${_e.input} ${g?_e.inputError:""}`,type:"number",value:l,onChange:O=>o(O.target.value),min:1024,max:65535,placeholder:t!==null?String(t):"3001"}),g&&n.jsx("p",{className:_e.fieldError,children:g}),n.jsxs("p",{className:_e.fieldHint,children:["This changes the Iranti instance port, not the control-plane UI port. New runtimes usually start at",n.jsx("code",{className:_e.inlineCode,children:"3001"}),"."]})]}),n.jsxs("div",{className:_e.fieldGroup,children:[n.jsxs("label",{className:_e.fieldLabel,htmlFor:"cfg-dburl",children:["Database URL",n.jsx("span",{className:_e.fieldLabelHint,children:" (leave blank to keep existing)"})]}),n.jsx("input",{id:"cfg-dburl",className:`${_e.input} ${_e.inputMono} ${v?_e.inputError:""}`,type:"text",value:m,onChange:O=>p(O.target.value),placeholder:a??"postgresql://user:password@host:5432/dbname",autoComplete:"off",spellCheck:!1}),v&&n.jsx("p",{className:_e.fieldError,children:v}),a&&n.jsxs("p",{className:_e.fieldHint,children:["Current value: ",n.jsx("code",{className:_e.inlineCode,children:a})]})]}),n.jsxs("div",{className:_e.fieldGroup,children:[n.jsx("label",{className:_e.fieldLabel,htmlFor:"cfg-provider",children:"Provider"}),n.jsx("select",{id:"cfg-provider",className:_e.select,value:c,onChange:O=>{u(O.target.value),y("")},children:A5.map(O=>n.jsx("option",{value:O,children:O},O))})]}),te&&n.jsxs("div",{className:_e.fieldGroup,children:[n.jsxs("label",{className:_e.fieldLabel,htmlFor:"cfg-pkey",children:["Provider key",n.jsx("span",{className:_e.fieldLabelHint,children:" (leave blank to keep existing)"})]}),n.jsx("input",{id:"cfg-pkey",className:`${_e.input} ${_e.inputMono}`,type:"password",value:h,onChange:O=>y(O.target.value),placeholder:"••••••••",autoComplete:"new-password"})]}),R&&n.jsxs("div",{className:_e.submitError,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"✗"})," ",R]})]}),n.jsxs("div",{className:_e.panelActions,children:[n.jsx("button",{className:_e.cancelBtn,type:"button",onClick:i,children:"Cancel"}),n.jsx("button",{className:_e.primaryBtn,type:"button",onClick:()=>void J(),disabled:f||b,children:f?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:_e.spinnerSmall,"aria-hidden":"true"})," Saving…"]}):"Save changes"})]})]})}const D5="_formContainer_1wwzk_7",M5="_formHeader_1wwzk_16",F5="_formTitle_1wwzk_25",O5="_cancelHeaderBtn_1wwzk_32",H5="_tabBar_1wwzk_53",z5="_tab_1wwzk_53",U5="_tabActive_1wwzk_76",V5="_tabContent_1wwzk_83",q5="_outcomeCard_1wwzk_90",W5="_outcomeTitle_1wwzk_100",K5="_outcomeBody_1wwzk_108",G5="_fieldGroup_1wwzk_117",Q5="_fieldGroupRow_1wwzk_124",J5="_pathInputRow_1wwzk_130",Y5="_fieldLabel_1wwzk_135",X5="_required_1wwzk_141",Z5="_input_1wwzk_145",e6="_inputMono_1wwzk_162",t6="_inputError_1wwzk_167",n6="_select_1wwzk_171",s6="_selectMono_1wwzk_189",a6="_fieldError_1wwzk_194",r6="_fieldHint_1wwzk_201",i6="_browseBtn_1wwzk_208",l6="_checkboxLabel_1wwzk_234",o6="_checkbox_1wwzk_234",c6="_inlineCode_1wwzk_254",d6="_emptyNote_1wwzk_264",u6="_loadingNote_1wwzk_275",h6="_submitError_1wwzk_286",p6="_tabActions_1wwzk_298",m6="_primaryBtn_1wwzk_304",f6="_spinnerSmall_1wwzk_333",_6="_successScreen_1wwzk_350",g6="_successIcon_1wwzk_359",y6="_successTitle_1wwzk_372",x6="_successDetail_1wwzk_379",v6="_successPath_1wwzk_387",j6="_successMeta_1wwzk_395",N6="_envIrantiNote_1wwzk_406",b6="_envIrantiNoteIcon_1wwzk_420",W={formContainer:D5,formHeader:M5,formTitle:F5,cancelHeaderBtn:O5,tabBar:H5,tab:z5,tabActive:U5,tabContent:V5,outcomeCard:q5,outcomeTitle:W5,outcomeBody:K5,fieldGroup:G5,fieldGroupRow:Q5,pathInputRow:J5,fieldLabel:Y5,required:X5,input:Z5,inputMono:e6,inputError:t6,select:n6,selectMono:s6,fieldError:a6,fieldHint:r6,browseBtn:i6,checkboxLabel:l6,checkbox:o6,inlineCode:c6,emptyNote:d6,loadingNote:u6,submitError:h6,tabActions:p6,primaryBtn:m6,spinnerSmall:f6,successScreen:_6,successIcon:g6,successTitle:y6,successDetail:x6,successPath:v6,successMeta:j6,envIrantiNote:N6,envIrantiNoteIcon:b6};function Kh(e){return e.replace(/\\/g,"/").split("/").filter(Boolean).pop()??e}function S6({instanceName:e,onSuccess:t}){const[s,a]=d.useState(""),[r,i]=d.useState("isolated"),[l,o]=d.useState("main_agent"),[c,u]=d.useState(""),[m,p]=d.useState(!0),[h,y]=d.useState(null),[g,j]=d.useState(!1),[v,_]=d.useState(!1),[f,x]=d.useState(null),[b,T]=d.useState(null);d.useEffect(()=>{const k=Kh(s);u(k?`project/${k}`:"")},[s]);const R=()=>s.trim()?(y(null),!0):(y("Project path is required."),!1),L=d.useCallback(async()=>{if(!(v||!R())){_(!0),x(null);try{const k=await Hj(e,{projectPath:s.trim(),mode:r,agentId:l.trim()||"main_agent",memoryEntity:c.trim()||`project/${Kh(s.trim())}`,addToGitignore:m});T(k)}catch(k){x(k instanceof Error?k.message:String(k))}finally{_(!1)}}},[v,s,r,l,c,m,e]),N=d.useCallback(async()=>{if(!g){j(!0),x(null);try{const k=await kj({kind:"directory",title:"Select project folder",...s.trim()?{startPath:s.trim()}:{}});k.path&&(a(k.path),y(null)),!k.path&&!k.canceled&&k.error&&x(k.error)}catch(k){x(k instanceof Error?k.message:String(k))}finally{j(!1)}}},[g,s]);return b?n.jsxs("div",{className:W.successScreen,children:[n.jsx("span",{className:W.successIcon,"aria-hidden":"true",children:"✓"}),n.jsx("h4",{className:W.successTitle,children:"Project wiring ready"}),n.jsxs("div",{className:W.successDetail,children:[n.jsx("p",{className:W.successPath,children:b.projectPath}),n.jsxs("div",{className:W.envIrantiNote,role:"alert",children:[n.jsx("span",{className:W.envIrantiNoteIcon,"aria-hidden":"true",children:"ℹ"}),n.jsxs("span",{children:[n.jsx("strong",{children:".env.iranti written to:"})," ",n.jsx("code",{className:W.inlineCode,children:b.envIrantiPath})]})]}),n.jsxs("div",{className:W.successMeta,children:[n.jsxs("span",{children:["Default agent: ",n.jsx("code",{className:W.inlineCode,children:b.agentId})]}),n.jsxs("span",{children:["Memory scope: ",n.jsx("code",{className:W.inlineCode,children:b.mode})]}),n.jsxs("span",{children:["Project entity: ",n.jsx("code",{className:W.inlineCode,children:b.memoryEntity})]})]})]}),n.jsx("button",{className:W.primaryBtn,type:"button",onClick:t,children:"Done"})]}):n.jsxs("div",{className:W.tabContent,children:[n.jsxs("div",{className:W.outcomeCard,children:[n.jsx("div",{className:W.outcomeTitle,children:"What this does"}),n.jsxs("p",{className:W.outcomeBody,children:["Wire a repo to ",n.jsx("code",{className:W.inlineCode,children:e})," so local tools, Claude, and Codex all point at the right Iranti instance and project memory."]})]}),n.jsxs("div",{className:W.fieldGroup,children:[n.jsxs("label",{className:W.fieldLabel,htmlFor:"bp-path",children:["Project folder ",n.jsx("span",{className:W.required,children:"*"})]}),n.jsxs("div",{className:W.pathInputRow,children:[n.jsx("input",{id:"bp-path",className:`${W.input} ${W.inputMono} ${h?W.inputError:""}`,type:"text",value:s,onChange:k=>a(k.target.value),placeholder:"C:\\\\Users\\\\you\\\\projects\\\\my-app",autoComplete:"off",spellCheck:!1,autoFocus:!0}),n.jsx("button",{className:W.browseBtn,type:"button",onClick:()=>void N(),disabled:g,children:g?"Opening…":"Browse…"})]}),h&&n.jsx("p",{className:W.fieldError,children:h}),n.jsx("p",{className:W.fieldHint,children:"Choose the repo root you want this instance to serve."})]}),n.jsxs("div",{className:W.fieldGroupRow,children:[n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"bp-mode",children:"Memory scope"}),n.jsxs("select",{id:"bp-mode",className:W.select,value:r,onChange:k=>i(k.target.value),children:[n.jsx("option",{value:"isolated",children:"Private to this project"}),n.jsx("option",{value:"shared",children:"Shared across bound projects"})]}),n.jsx("p",{className:W.fieldHint,children:"Private keeps this repo in its own memory lane. Shared lets several repos work from the same project memory."})]}),n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"bp-agent",children:"Default agent"}),n.jsx("input",{id:"bp-agent",className:W.input,type:"text",value:l,onChange:k=>o(k.target.value),placeholder:"main_agent",autoComplete:"off"}),n.jsx("p",{className:W.fieldHint,children:"Used when a connected tool does not send an explicit agent name."})]})]}),n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"bp-entity",children:"Project memory entity"}),n.jsx("input",{id:"bp-entity",className:`${W.input} ${W.inputMono}`,type:"text",value:c,onChange:k=>u(k.target.value),placeholder:"project/my-app",autoComplete:"off",spellCheck:!1}),n.jsx("p",{className:W.fieldHint,children:"Auto-filled from the folder name. Override only when this repo should write into a different project entity."})]}),n.jsxs("label",{className:W.checkboxLabel,children:[n.jsx("input",{type:"checkbox",checked:m,onChange:k=>p(k.target.checked),className:W.checkbox}),n.jsx("span",{children:"Keep the local binding file out of git"})]}),f&&n.jsxs("div",{className:W.submitError,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"✗"})," ",f]}),n.jsx("div",{className:W.tabActions,children:n.jsx("button",{className:W.primaryBtn,type:"button",onClick:()=>void L(),disabled:v,children:v?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:W.spinnerSmall,"aria-hidden":"true"})," Binding…"]}):"Wire this project"})})]})}function w6({instanceName:e,instances:t,onSuccess:s}){const{data:a,isLoading:r,error:i}=Ne({queryKey:["instance-projects",e],queryFn:()=>o_(e),staleTime:3e4}),l=(a==null?void 0:a.projects)??[],o=t.filter(T=>T.name!==e),[c,u]=d.useState(""),[m,p]=d.useState(""),[h,y]=d.useState(""),[g,j]=d.useState(!1),[v,_]=d.useState(null),[f,x]=d.useState(null);d.useEffect(()=>{l.length>0&&!c&&u(l[0].projectPath)},[l,c]);const b=d.useCallback(async()=>{if(!(g||!c)){j(!0),_(null);try{const T={};m&&(T.targetInstanceName=m),h&&(T.mode=h);const R=await Gj(e,c,T);x(R.changed)}catch(T){_(T instanceof Error?T.message:String(T))}finally{j(!1)}}},[g,c,m,h,e]);return f!==null?n.jsxs("div",{className:W.successScreen,children:[n.jsx("span",{className:W.successIcon,"aria-hidden":"true",children:"✓"}),n.jsx("h4",{className:W.successTitle,children:"Project wiring updated"}),f.length>0&&n.jsxs("p",{className:W.successMeta,children:["Changed: ",f.join(", ")]}),n.jsx("button",{className:W.primaryBtn,type:"button",onClick:s,children:"Done"})]}):r?n.jsx("div",{className:W.tabContent,children:n.jsxs("div",{className:W.loadingNote,children:[n.jsx("span",{className:W.spinnerSmall,"aria-hidden":"true"}),"Loading bound projects…"]})}):i?n.jsx("div",{className:W.tabContent,children:n.jsxs("div",{className:W.submitError,role:"alert",children:["Failed to load projects: ",i instanceof Error?i.message:String(i)]})}):l.length===0?n.jsx("div",{className:W.tabContent,children:n.jsxs("div",{className:W.emptyNote,children:["No projects are currently wired to ",e,". Use Add Project to wire one now."]})}):n.jsxs("div",{className:W.tabContent,children:[n.jsxs("div",{className:W.outcomeCard,children:[n.jsx("div",{className:W.outcomeTitle,children:"What this does"}),n.jsx("p",{className:W.outcomeBody,children:"Update an existing repo binding without starting over. Use this when a project should move to a new instance or switch between private and shared memory."})]}),n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"rb-project",children:"Project"}),n.jsx("select",{id:"rb-project",className:`${W.select} ${W.selectMono}`,value:c,onChange:T=>u(T.target.value),children:l.map(T=>n.jsx("option",{value:T.projectPath,children:T.projectPath},T.projectPath))}),n.jsx("p",{className:W.fieldHint,children:"Pick the repo whose `.env.iranti` binding you want to update."})]}),n.jsxs("div",{className:W.fieldGroupRow,children:[n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"rb-target",children:"Move to instance"}),n.jsxs("select",{id:"rb-target",className:W.select,value:m,onChange:T=>p(T.target.value),children:[n.jsx("option",{value:"",children:"Keep current instance"}),o.map(T=>n.jsx("option",{value:T.name,children:T.name},T.instanceId))]}),n.jsx("p",{className:W.fieldHint,children:"Leave this alone if the repo should stay attached to the current instance."})]}),n.jsxs("div",{className:W.fieldGroup,children:[n.jsx("label",{className:W.fieldLabel,htmlFor:"rb-mode",children:"Switch memory scope"}),n.jsxs("select",{id:"rb-mode",className:W.select,value:h,onChange:T=>y(T.target.value),children:[n.jsx("option",{value:"",children:"Keep current scope"}),n.jsx("option",{value:"isolated",children:"Private to this project"}),n.jsx("option",{value:"shared",children:"Shared across bound projects"})]}),n.jsx("p",{className:W.fieldHint,children:"Only change this when the repo should move into or out of a shared project memory lane."})]})]}),v&&n.jsxs("div",{className:W.submitError,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"✗"})," ",v]}),n.jsx("div",{className:W.tabActions,children:n.jsx("button",{className:W.primaryBtn,type:"button",onClick:()=>void b(),disabled:g||!c,children:g?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:W.spinnerSmall,"aria-hidden":"true"})," Rebinding…"]}):"Apply wiring changes"})})]})}function C6({instanceName:e,instances:t,onSuccess:s,onCancel:a}){const[r,i]=d.useState("bind");return n.jsxs("div",{className:W.formContainer,children:[n.jsxs("div",{className:W.formHeader,children:[n.jsxs("span",{className:W.formTitle,children:["Project Wiring - ",e]}),n.jsx("button",{className:W.cancelHeaderBtn,type:"button",onClick:a,"aria-label":"Cancel",children:"✕"})]}),n.jsxs("div",{className:W.tabBar,role:"tablist",children:[n.jsx("button",{className:`${W.tab} ${r==="bind"?W.tabActive:""}`,role:"tab","aria-selected":r==="bind",type:"button",onClick:()=>i("bind"),children:"Add Project"}),n.jsx("button",{className:`${W.tab} ${r==="rebind"?W.tabActive:""}`,role:"tab","aria-selected":r==="rebind",type:"button",onClick:()=>i("rebind"),children:"Move Existing Project"})]}),r==="bind"&&n.jsx(S6,{instanceName:e,onSuccess:s}),r==="rebind"&&n.jsx(w6,{instanceName:e,instances:t,onSuccess:s})]})}const k6="_panel_p7jes_9",T6="_panelHeader_p7jes_19",R6="_panelTitle_p7jes_26",I6="_panelPath_p7jes_35",B6="_closeBtn_p7jes_46",E6="_loadingRow_p7jes_68",L6="_errorRow_p7jes_77",P6="_subSection_p7jes_90",A6="_capabilityGrid_p7jes_96",$6="_capabilityCard_p7jes_102",D6="_capabilityCardReady_p7jes_112",M6="_capabilityCardPartial_p7jes_117",F6="_capabilityCardMissing_p7jes_122",O6="_capabilityHeader_p7jes_127",H6="_capabilityTitle_p7jes_134",z6="_capabilityState_p7jes_140",U6="_capabilityBody_p7jes_148",V6="_capabilityAction_p7jes_155",q6="_capabilityActionLabel_p7jes_167",W6="_subTitle_p7jes_175",K6="_fieldRow_p7jes_190",G6="_fieldLabel_p7jes_197",Q6="_fieldValue_p7jes_205",J6="_monoValue_p7jes_217",Y6="_dimValue_p7jes_223",X6="_chipOk_p7jes_233",Z6="_chipWarn_p7jes_246",eD="_chipMissing_p7jes_259",tD="_issuesList_p7jes_275",nD="_issueRow_p7jes_281",sD="_issueIcon_p7jes_294",aD="_scaffoldRow_p7jes_304",rD="_scaffoldBtn_p7jes_311",iD="_scaffoldNote_p7jes_337",lD="_scaffoldSuccess_p7jes_343",oD="_scaffoldSuccessFiles_p7jes_352",cD="_scaffoldSuccessFile_p7jes_352",dD="_scaffoldError_p7jes_365",uD="_confirmRow_p7jes_375",hD="_confirmOkBtn_p7jes_384",pD="_confirmCancelBtn_p7jes_401",mD="_rawDetails_p7jes_421",fD="_rawJson_p7jes_449",_D="_overviewSection_p7jes_468",gD="_overviewSummaryCard_p7jes_474",yD="_overviewSummaryHeader_p7jes_484",xD="_overviewSummaryTitle_p7jes_492",vD="_overviewSummaryMeta_p7jes_498",jD="_overviewSummaryStats_p7jes_505",ND="_overviewSummaryPill_p7jes_512",bD="_overviewSummaryPillReady_p7jes_521",SD="_overviewSummaryPillWarning_p7jes_527",wD="_overviewSummaryPillMuted_p7jes_533",CD="_overviewSummaryBody_p7jes_539",kD="_overviewSummaryAction_p7jes_546",TD="_overviewSummaryActionLabel_p7jes_558",RD="_overviewTable_p7jes_566",ID="_overviewPathCell_p7jes_594",BD="_overviewDetailCell_p7jes_604",ED="_issueBadge_p7jes_609",LD="_issueBadgeOk_p7jes_621",PD="_overviewEmpty_p7jes_632",AD="_spinnerSmall_p7jes_639",E={panel:k6,panelHeader:T6,panelTitle:R6,panelPath:I6,closeBtn:B6,loadingRow:E6,errorRow:L6,subSection:P6,capabilityGrid:A6,capabilityCard:$6,capabilityCardReady:D6,capabilityCardPartial:M6,capabilityCardMissing:F6,capabilityHeader:O6,capabilityTitle:H6,capabilityState:z6,capabilityBody:U6,capabilityAction:V6,capabilityActionLabel:q6,subTitle:W6,fieldRow:K6,fieldLabel:G6,fieldValue:Q6,monoValue:J6,dimValue:Y6,chipOk:X6,chipWarn:Z6,chipMissing:eD,issuesList:tD,issueRow:nD,issueIcon:sD,scaffoldRow:aD,scaffoldBtn:rD,scaffoldNote:iD,scaffoldSuccess:lD,scaffoldSuccessFiles:oD,scaffoldSuccessFile:cD,scaffoldError:dD,confirmRow:uD,confirmOkBtn:hD,confirmCancelBtn:pD,rawDetails:mD,rawJson:fD,overviewSection:_D,overviewSummaryCard:gD,overviewSummaryHeader:yD,overviewSummaryTitle:xD,overviewSummaryMeta:vD,overviewSummaryStats:jD,overviewSummaryPill:ND,overviewSummaryPillReady:bD,overviewSummaryPillWarning:SD,overviewSummaryPillMuted:wD,overviewSummaryBody:CD,overviewSummaryAction:kD,overviewSummaryActionLabel:TD,overviewTable:RD,overviewPathCell:ID,overviewDetailCell:BD,issueBadge:ED,issueBadgeOk:LD,overviewEmpty:PD,spinnerSmall:AD};function on({ok:e,label:t}){return e===null?n.jsx("span",{className:E.chipMissing,children:t}):e?n.jsxs("span",{className:E.chipOk,children:["OK ",t]}):n.jsx("span",{className:E.chipWarn,children:"Needs setup"})}function $D(e){const t=e.irantiMcpEntry!==null,s=e.irantiWorkspaceMcpEntry!==null,a=t||s,r=e.irantiHooks.sessionStart!==null,i=e.irantiHooks.userPromptSubmit!==null,l=e.irantiHooks.stop!==null;return[{key:"tool-access",title:"Claude tool access",tone:a?"ready":e.mcpJsonPath||e.workspaceMcpJsonPath?"partial":"missing",body:a?"Claude can discover Iranti tools from this project.":"Claude will not be able to call Iranti tools until MCP wiring is added."},{key:"workspace-mcp",title:"VS Code workspace wiring",tone:s?"ready":t?"partial":"missing",body:s?"VS Code workspace MCP is present, so editor sessions should discover Iranti directly from the repo.":t?"Root MCP exists, but the workspace MCP file is missing. VS Code sessions may be less predictable.":"No workspace MCP wiring found yet."},{key:"session-bootstrap",title:"Session bootstrap",tone:r?"ready":"missing",body:r?"Claude can load Iranti context when a session starts.":"SessionStart is missing, so Claude will start colder than it needs to."},{key:"prompt-capture",title:"Prompt memory capture",tone:i?"ready":"missing",body:i?"Explicit user facts can be captured from prompts in this project.":"Prompt-side memory capture is off until UserPromptSubmit is added."},{key:"response-persistence",title:"Response summary persistence",tone:l?"ready":"missing",body:l?"Structured summaries like next step and blocker can auto-persist after Claude replies.":"Stop is missing, so Claude response summaries will not auto-persist."}]}function DD(e){const t=e.irantiMcpEntry!==null||e.irantiWorkspaceMcpEntry!==null,s=!!(e.irantiHooks.sessionStart&&e.irantiHooks.userPromptSubmit&&e.irantiHooks.stop);return t?s?e.irantiWorkspaceMcpEntry===null?"Add workspace MCP wiring so VS Code sessions discover Iranti directly from the repo.":"No action needed. This project is fully wired for Claude setup, prompt capture, and response summaries.":e.irantiHooks.stop===null?"Re-run Scaffold Integration to add the Stop hook for response summary persistence.":"Re-run Scaffold Integration to fill in the missing Claude hooks.":"Run Scaffold Integration to add Iranti MCP wiring for this project."}function MD(e){switch(e){case"ready":return"Ready";case"partial":return"Partial";case"missing":return"Missing"}}function FD(e){const t=!!(e.irantiMcpRegistered||e.irantiWorkspaceMcpRegistered);return t&&e.irantiHooksCount===3?"ready":t&&e.irantiHooksCount<3||!t&&(e.mcpPresent||e.workspaceMcpPresent||e.hooksPresent)?"partial":"missing"}function OD(e){const t=!!(e.irantiMcpRegistered||e.irantiWorkspaceMcpRegistered);return t&&e.irantiHooksCount===3?"Prompt capture and response summaries are both wired.":t&&e.irantiHooksCount===2?"Prompt capture is wired, but response summaries are still missing.":t&&e.irantiHooksCount===1?"Claude can reach Iranti, but only one hook is active.":t?"Claude can reach Iranti, but hook wiring is still missing.":e.mcpPresent||e.workspaceMcpPresent||e.hooksPresent?"Some files exist, but the project is not registered cleanly yet.":"No Claude integration wiring detected yet."}function Gh(e){return!(e.irantiMcpRegistered||e.irantiWorkspaceMcpRegistered)?"Run scaffold to add MCP wiring.":e.irantiHooksCount<3?e.irantiHooksCount===2?"Add the Stop hook for summaries.":"Re-run scaffold to fill in the missing hooks.":e.irantiWorkspaceMcpRegistered?"No action needed.":"Add workspace MCP for VS Code sessions."}function vo(e){switch(e){case"ready":return"Ready";case"partial":return"Partial";case"missing":return"Missing"}}function HD({instanceName:e,projectPath:t,onClose:s}){const a=Ht(),r=["claude-integration",e,t],{data:i,isLoading:l,error:o,refetch:c}=Ne({queryKey:r,queryFn:()=>zj(e,t),staleTime:3e4}),[u,m]=d.useState(!1),[p,h]=d.useState(null),[y,g]=d.useState(!1),j=i&&(i.mcpJsonPath!==null||i.workspaceMcpJsonPath!==null||i.hooksJsonPath!==null);async function v(f){g(!1),m(!0),h(null);try{const x=await Uj(e,t,f);h(x),x.ok&&(a.invalidateQueries({queryKey:r}),a.invalidateQueries({queryKey:["integration-summary",e]}),c())}catch(x){h({ok:!1,written:[],error:x instanceof Error?x.message:String(x)})}finally{m(!1)}}function _(){j?g(!0):v(!1)}return n.jsxs("div",{className:E.panel,children:[n.jsxs("div",{className:E.panelHeader,children:[n.jsx("span",{className:E.panelTitle,children:"Claude Code Integration"}),n.jsx("span",{className:E.panelPath,children:t}),n.jsx("button",{className:E.closeBtn,type:"button",onClick:s,title:"Close panel",children:"Close"})]}),l&&n.jsxs("div",{className:E.loadingRow,children:[n.jsx("span",{className:E.spinnerSmall,"aria-hidden":"true"})," Checking integration files..."]}),o&&!l&&n.jsxs("div",{className:E.errorRow,children:["Could not load integration status: ",o.message]}),i&&!l&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"What Works Here"}),n.jsx("div",{className:E.capabilityGrid,children:$D(i).map(f=>n.jsxs("div",{className:`${E.capabilityCard} ${f.tone==="ready"?E.capabilityCardReady:f.tone==="partial"?E.capabilityCardPartial:E.capabilityCardMissing}`,children:[n.jsxs("div",{className:E.capabilityHeader,children:[n.jsx("span",{className:E.capabilityTitle,children:f.title}),n.jsx("span",{className:E.capabilityState,children:MD(f.tone)})]}),n.jsx("p",{className:E.capabilityBody,children:f.body})]},f.key))}),n.jsxs("div",{className:E.capabilityAction,children:[n.jsx("span",{className:E.capabilityActionLabel,children:"Next action"}),n.jsx("span",{children:DD(i)})]})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"MCP Server (.mcp.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.mcpJsonPath?n.jsx("span",{className:E.monoValue,children:i.mcpJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Iranti server"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiMcpEntry!==null,label:i.irantiMcpEntry?"Registered":"Not registered"}),i.irantiMcpEntry&&n.jsxs("span",{className:E.monoValue,children:[i.irantiMcpEntry.command," ",i.irantiMcpEntry.args.join(" ")]})]})]})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"VS Code Workspace MCP (.vscode/mcp.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.workspaceMcpJsonPath?n.jsx("span",{className:E.monoValue,children:i.workspaceMcpJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Iranti server"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiWorkspaceMcpEntry!==null,label:i.irantiWorkspaceMcpEntry?"Registered":"Not registered"}),i.irantiWorkspaceMcpEntry&&n.jsxs("span",{className:E.monoValue,children:[i.irantiWorkspaceMcpEntry.command," ",i.irantiWorkspaceMcpEntry.args.join(" ")]})]})]})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"Claude Hooks (.claude/settings.local.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.hooksJsonPath?n.jsx("span",{className:E.monoValue,children:i.hooksJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"SessionStart"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.sessionStart!==null,label:i.irantiHooks.sessionStart?"Registered":"Not registered"}),i.irantiHooks.sessionStart&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.sessionStart})]})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"UserPromptSubmit"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.userPromptSubmit!==null,label:i.irantiHooks.userPromptSubmit?"Registered":"Not registered"}),i.irantiHooks.userPromptSubmit&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.userPromptSubmit})]})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Stop"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.stop!==null,label:i.irantiHooks.stop?"Registered":"Not registered"}),i.irantiHooks.stop&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.stop})]})]})]}),i.issues.length>0&&n.jsxs("div",{className:E.subSection,children:[n.jsxs("h4",{className:E.subTitle,children:["Operator Issues (",i.issues.length,")"]}),n.jsx("div",{className:E.issuesList,children:i.issues.map((f,x)=>n.jsxs("div",{className:E.issueRow,children:[n.jsx("span",{className:E.issueIcon,children:"!"}),n.jsx("span",{children:f})]},x))})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"Repair / Setup"}),p&&p.ok&&n.jsxs("div",{className:E.scaffoldSuccess,children:["Integration scaffolded successfully.",p.written.length>0&&n.jsx("div",{className:E.scaffoldSuccessFiles,children:p.written.map(f=>n.jsx("span",{className:E.scaffoldSuccessFile,children:f},f))})]}),p&&!p.ok&&n.jsxs("div",{className:E.scaffoldError,children:["Scaffold failed: ",p.error??"Unknown error"]}),y?n.jsxs("div",{className:E.confirmRow,children:[n.jsx("span",{children:"Some integration files already exist. Overwrite with updated content?"}),n.jsx("button",{className:E.confirmOkBtn,type:"button",onClick:()=>void v(!0),children:"Yes, overwrite"}),n.jsx("button",{className:E.confirmCancelBtn,type:"button",onClick:()=>g(!1),children:"Cancel"})]}):n.jsxs("div",{className:E.scaffoldRow,children:[n.jsxs("button",{className:E.scaffoldBtn,type:"button",disabled:u,onClick:_,children:[u&&n.jsx("span",{className:E.spinnerSmall,"aria-hidden":"true"}),u?"Scaffolding...":"Scaffold Integration"]}),n.jsx("span",{className:E.scaffoldNote,children:"Runs the installed `iranti claude-setup` flow and writes `.mcp.json`, `.vscode/mcp.json`, and `.claude/settings.local.json`."})]})]}),n.jsxs("details",{className:E.advancedDetails,children:[n.jsx("summary",{children:"Advanced file details"}),n.jsxs("div",{className:E.advancedDetailsBody,children:[n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"MCP Server (.mcp.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.mcpJsonPath?n.jsx("span",{className:E.monoValue,children:i.mcpJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Iranti server"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiMcpEntry!==null,label:i.irantiMcpEntry?"Registered":"Not registered"}),i.irantiMcpEntry&&n.jsxs("span",{className:E.monoValue,children:[i.irantiMcpEntry.command," ",i.irantiMcpEntry.args.join(" ")]})]})]})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"VS Code Workspace MCP (.vscode/mcp.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.workspaceMcpJsonPath?n.jsx("span",{className:E.monoValue,children:i.workspaceMcpJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Iranti server"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiWorkspaceMcpEntry!==null,label:i.irantiWorkspaceMcpEntry?"Registered":"Not registered"}),i.irantiWorkspaceMcpEntry&&n.jsxs("span",{className:E.monoValue,children:[i.irantiWorkspaceMcpEntry.command," ",i.irantiWorkspaceMcpEntry.args.join(" ")]})]})]})]}),n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"Claude Hooks (.claude/settings.local.json)"}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"File"}),n.jsx("span",{className:E.fieldValue,children:i.hooksJsonPath?n.jsx("span",{className:E.monoValue,children:i.hooksJsonPath}):n.jsx("span",{className:E.dimValue,children:"not found"})})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"SessionStart"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.sessionStart!==null,label:i.irantiHooks.sessionStart?"Registered":"Not registered"}),i.irantiHooks.sessionStart&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.sessionStart})]})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"UserPromptSubmit"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.userPromptSubmit!==null,label:i.irantiHooks.userPromptSubmit?"Registered":"Not registered"}),i.irantiHooks.userPromptSubmit&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.userPromptSubmit})]})]}),n.jsxs("div",{className:E.fieldRow,children:[n.jsx("span",{className:E.fieldLabel,children:"Stop"}),n.jsxs("span",{className:E.fieldValue,children:[n.jsx(on,{ok:i.irantiHooks.stop!==null,label:i.irantiHooks.stop?"Registered":"Not registered"}),i.irantiHooks.stop&&n.jsx("span",{className:E.monoValue,children:i.irantiHooks.stop})]})]})]}),(i.mcpJson||i.workspaceMcpJson||i.hooksJson)&&n.jsxs("div",{className:E.subSection,children:[n.jsx("h4",{className:E.subTitle,children:"Raw Config Files"}),i.mcpJson&&n.jsxs("details",{className:E.rawDetails,children:[n.jsx("summary",{children:".mcp.json"}),n.jsx("pre",{className:E.rawJson,children:JSON.stringify(i.mcpJson,null,2)})]}),i.workspaceMcpJson&&n.jsxs("details",{className:E.rawDetails,children:[n.jsx("summary",{children:".vscode/mcp.json"}),n.jsx("pre",{className:E.rawJson,children:JSON.stringify(i.workspaceMcpJson,null,2)})]}),i.hooksJson&&n.jsxs("details",{className:E.rawDetails,children:[n.jsx("summary",{children:".claude/settings.local.json"}),n.jsx("pre",{className:E.rawJson,children:JSON.stringify(i.hooksJson,null,2)})]})]})]})]})]})]})}function zD({instanceName:e}){const{data:t,isLoading:s,error:a}=Ne({queryKey:["integration-summary",e],queryFn:()=>Vj(e),staleTime:6e4});if(s)return n.jsxs("div",{className:E.loadingRow,children:[n.jsx("span",{className:E.spinnerSmall,"aria-hidden":"true"})," Loading integration overview..."]});if(a)return n.jsxs("div",{className:E.errorRow,children:["Could not load integration summary: ",a.message]});if(!t||t.projects.length===0)return n.jsx("p",{className:E.overviewEmpty,children:"No bound projects - bind a project to see integration status."});const r=t.projects.filter(c=>!!(c.irantiMcpRegistered||c.irantiWorkspaceMcpRegistered)&&c.irantiHooksCount===3).length,i=t.projects.filter(c=>{const u=!!(c.irantiMcpRegistered||c.irantiWorkspaceMcpRegistered);return u&&c.irantiHooksCount<3||!u&&(c.mcpPresent||c.workspaceMcpPresent||c.hooksPresent)}).length,l=t.projects.length-r-i,o=l>0?"Start with the missing projects so Claude can discover Iranti at all.":i>0?"The remaining work is hook completion, especially the Stop hook for summaries.":"Everything here is Claude-ready. Move on only if you are checking behavior, not wiring.";return n.jsxs("div",{className:E.overviewSection,children:[n.jsxs("div",{className:E.overviewSummaryCard,children:[n.jsxs("div",{className:E.overviewSummaryHeader,children:[n.jsx("span",{className:E.overviewSummaryTitle,children:"Claude project readiness"}),n.jsxs("span",{className:E.overviewSummaryMeta,children:[t.projects.length," bound project",t.projects.length===1?"":"s"]})]}),n.jsxs("div",{className:E.overviewSummaryStats,children:[n.jsxs("span",{className:`${E.overviewSummaryPill} ${E.overviewSummaryPillReady}`,children:[r," ready"]}),n.jsxs("span",{className:`${E.overviewSummaryPill} ${E.overviewSummaryPillWarning}`,children:[i," partial"]}),n.jsxs("span",{className:`${E.overviewSummaryPill} ${E.overviewSummaryPillMuted}`,children:[l," missing"]})]}),n.jsx("p",{className:E.overviewSummaryBody,children:"Use this table to find the projects that still need MCP wiring or the Stop hook. The goal is prompt capture, response summaries, and predictable VS Code discovery."}),n.jsxs("div",{className:E.overviewSummaryAction,children:[n.jsx("span",{className:E.overviewSummaryActionLabel,children:"Operator focus"}),n.jsx("span",{children:o})]})]}),n.jsxs("table",{className:E.overviewTable,children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Project"}),n.jsx("th",{children:"Readiness"}),n.jsx("th",{children:"What works"}),n.jsx("th",{children:"Next step"})]})}),n.jsx("tbody",{children:t.projects.map(c=>{const u=FD(c);return n.jsxs("tr",{children:[n.jsx("td",{className:E.overviewPathCell,title:c.projectPath,children:c.projectPath.split(/[\\/]/).pop()??c.projectPath}),n.jsx("td",{children:u==="ready"?n.jsx("span",{className:E.chipOk,children:vo(u)}):u==="partial"?n.jsx("span",{className:E.chipWarn,children:vo(u)}):n.jsx("span",{className:E.chipMissing,children:vo(u)})}),n.jsx("td",{className:E.overviewDetailCell,children:OD(c)}),n.jsx("td",{className:E.overviewDetailCell,children:Gh(c)==="No action needed."?n.jsx("span",{className:E.issueBadgeOk,children:"No action needed"}):n.jsx("span",{className:E.issueBadge,children:Gh(c)})})]},c.projectPath)})})]})]})}const UD="_panel_gkxxp_8",VD="_loadingRow_gkxxp_22",qD="_errorRow_gkxxp_31",WD="_subSection_gkxxp_44",KD="_subTitle_gkxxp_50",GD="_fieldRow_gkxxp_65",QD="_fieldLabel_gkxxp_72",JD="_fieldValue_gkxxp_80",YD="_chipOk_gkxxp_102",XD="_chipWarn_gkxxp_115",ZD="_issuesList_gkxxp_144",eM="_issueRow_gkxxp_150",tM="_issueIcon_gkxxp_163",nM="_actionRow_gkxxp_173",sM="_actionHint_gkxxp_180",aM="_actionBtn_gkxxp_187",rM="_removeBtn_gkxxp_213",iM="_successBanner_gkxxp_243",lM="_errorBanner_gkxxp_252",oM="_rawDetails_gkxxp_265",cM="_rawJson_gkxxp_293",dM="_advancedDetails_gkxxp_308",uM="_advancedDetailsBody_gkxxp_335",hM="_spinnerSmall_gkxxp_346",pM="_capabilitySection_gkxxp_360",mM="_capabilityHeader_gkxxp_368",fM="_capabilityMeta_gkxxp_376",_M="_capabilityGrid_gkxxp_381",gM="_capabilityCard_gkxxp_387",yM="_capabilityCardHeader_gkxxp_397",xM="_capabilityTitle_gkxxp_405",vM="_capabilityStateOk_gkxxp_411",jM="_capabilityStateWarn_gkxxp_412",NM="_capabilityBody_gkxxp_435",bM="_nextActionRow_gkxxp_442",SM="_nextActionLabel_gkxxp_452",wM="_nextActionBody_gkxxp_460",fe={panel:UD,loadingRow:VD,errorRow:qD,subSection:WD,subTitle:KD,fieldRow:GD,fieldLabel:QD,fieldValue:JD,chipOk:YD,chipWarn:XD,issuesList:ZD,issueRow:eM,issueIcon:tM,actionRow:nM,actionHint:sM,actionBtn:aM,removeBtn:rM,successBanner:iM,errorBanner:lM,rawDetails:oM,rawJson:cM,advancedDetails:dM,advancedDetailsBody:uM,spinnerSmall:hM,capabilitySection:pM,capabilityHeader:mM,capabilityMeta:fM,capabilityGrid:_M,capabilityCard:gM,capabilityCardHeader:yM,capabilityTitle:xM,capabilityStateOk:vM,capabilityStateWarn:jM,capabilityBody:NM,nextActionRow:bM,nextActionLabel:SM,nextActionBody:wM};function Qh({ok:e,label:t}){return e?n.jsxs("span",{className:fe.chipOk,children:["OK ",t]}):n.jsxs("span",{className:fe.chipWarn,children:["Needs setup ",t]})}function CM(e){return e.codexInstalled?e.irantiRegistered?e.issues.length>0?"Codex is partially wired. Re-run registration, then reopen the Codex session so it reloads the MCP tool surface.":"Codex is ready for shared-memory work. Open a fresh session and verify exact lookup or recall before you trust the session.":"Register Iranti with Codex. That enables exact query, attend, and shared-memory lookups in new Codex sessions.":"Install Codex first. Until the CLI is available, the control plane cannot register Iranti for Codex sessions."}function kM(e){const t=e.codexInstalled,s=e.codexInstalled&&e.irantiRegistered;return[{title:"Codex CLI availability",state:t?"Ready":"Missing",detail:t?"The control plane can inspect or update Codex registration from this machine.":"Codex is not on PATH yet, so setup and diagnostics stop before MCP registration.",ok:t},{title:"Iranti MCP registration",state:s?"Registered":"Not registered",detail:s?"Codex can discover the Iranti MCP server from its global configuration.":"Codex sessions will not expose Iranti tools until registration is repaired.",ok:s},{title:"Can Codex use Iranti?",state:s?"Available":"Blocked",detail:s?"Exact query, attend, and search calls should be available in fresh Codex sessions.":"Memory lookup remains unavailable because the Codex-to-Iranti bridge is not fully wired.",ok:s}]}const jo=["codex-integration"];function TM(){const e=Ht(),{data:t,isLoading:s,error:a,refetch:r}=Ne({queryKey:jo,queryFn:qj,staleTime:3e4}),[i,l]=d.useState(null),[o,c]=d.useState(null);async function u(){l("setup"),c(null);try{const h=await Wj();c(h),h.ok&&(e.invalidateQueries({queryKey:jo}),r())}catch(h){c({ok:!1,error:h instanceof Error?h.message:String(h)})}finally{l(null)}}async function m(){l("remove"),c(null);try{const h=await Kj();c({ok:h.ok,output:h.output,error:h.error}),h.ok&&(e.invalidateQueries({queryKey:jo}),r())}catch(h){c({ok:!1,error:h instanceof Error?h.message:String(h)})}finally{l(null)}}const p=i!==null;return n.jsxs("div",{className:fe.panel,children:[s&&n.jsxs("div",{className:fe.loadingRow,children:[n.jsx("span",{className:fe.spinnerSmall,"aria-hidden":"true"})," Checking Codex integration..."]}),a&&!s&&n.jsxs("div",{className:fe.errorRow,children:["Could not load Codex integration status: ",a.message]}),t&&!s&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:fe.capabilitySection,children:[n.jsxs("div",{className:fe.capabilityHeader,children:[n.jsx("h4",{className:fe.subTitle,children:"What Works Here"}),n.jsx("span",{className:fe.capabilityMeta,children:t.codexInstalled&&t.irantiRegistered&&t.issues.length===0?"Codex ready":"Needs operator attention"})]}),n.jsx("div",{className:fe.capabilityGrid,children:kM(t).map(h=>n.jsxs("div",{className:fe.capabilityCard,children:[n.jsxs("div",{className:fe.capabilityCardHeader,children:[n.jsx("span",{className:fe.capabilityTitle,children:h.title}),n.jsx("span",{className:h.ok?fe.capabilityStateOk:fe.capabilityStateWarn,children:h.state})]}),n.jsx("p",{className:fe.capabilityBody,children:h.detail})]},h.title))}),n.jsxs("div",{className:fe.nextActionRow,children:[n.jsx("span",{className:fe.nextActionLabel,children:"Next action"}),n.jsx("p",{className:fe.nextActionBody,children:CM(t)})]})]}),t.issues.length>0&&n.jsxs("div",{className:fe.subSection,children:[n.jsxs("h4",{className:fe.subTitle,children:["Operator Issues (",t.issues.length,")"]}),n.jsx("div",{className:fe.issuesList,children:t.issues.map((h,y)=>n.jsxs("div",{className:fe.issueRow,children:[n.jsx("span",{className:fe.issueIcon,children:"!"}),n.jsx("span",{children:h})]},y))})]}),o&&n.jsx("div",{className:o.ok?fe.successBanner:fe.errorBanner,children:o.ok?o.output?o.output:"Operation completed successfully.":`Operation failed: ${o.error??"Unknown error"}`}),n.jsxs("div",{className:fe.subSection,children:[n.jsx("h4",{className:fe.subTitle,children:"Repair / Setup"}),n.jsxs("div",{className:fe.actionRow,children:[(!t.irantiRegistered||t.issues.length>0)&&n.jsxs("button",{className:fe.actionBtn,type:"button",disabled:p||!t.codexInstalled,onClick:()=>void u(),title:t.codexInstalled?void 0:"Install Codex first",children:[i==="setup"&&n.jsx("span",{className:fe.spinnerSmall,"aria-hidden":"true"}),i==="setup"?"Registering...":"Register with Codex"]}),t.irantiRegistered&&n.jsxs("button",{className:fe.removeBtn,type:"button",disabled:p,onClick:()=>void m(),children:[i==="remove"&&n.jsx("span",{className:fe.spinnerSmall,"aria-hidden":"true"}),i==="remove"?"Removing...":"Remove Registration"]})]}),n.jsx("p",{className:fe.actionHint,children:"Registration updates Codex global config for fresh sessions. If a session is already open, reopen it after repairing setup so the MCP surface reloads."})]}),n.jsxs("details",{className:fe.advancedDetails,children:[n.jsx("summary",{children:"Advanced details"}),n.jsxs("div",{className:fe.advancedDetailsBody,children:[n.jsxs("div",{className:fe.subSection,children:[n.jsx("h4",{className:fe.subTitle,children:"CLI and registration status"}),n.jsxs("div",{className:fe.fieldRow,children:[n.jsx("span",{className:fe.fieldLabel,children:"Codex CLI"}),n.jsx("span",{className:fe.fieldValue,children:n.jsx(Qh,{ok:t.codexInstalled,label:t.codexInstalled?"Found on PATH":"Not found"})})]}),t.codexInstalled&&n.jsxs("div",{className:fe.fieldRow,children:[n.jsx("span",{className:fe.fieldLabel,children:"Iranti registered"}),n.jsx("span",{className:fe.fieldValue,children:n.jsx(Qh,{ok:t.irantiRegistered,label:t.irantiRegistered?"Registered":"Not registered"})})]})]}),t.irantiRegistered&&t.registeredConfig&&n.jsxs("div",{className:fe.subSection,children:[n.jsx("h4",{className:fe.subTitle,children:"Current registration"}),n.jsxs("details",{className:fe.rawDetails,children:[n.jsx("summary",{children:"Show iranti MCP entry"}),n.jsx("pre",{className:fe.rawJson,children:JSON.stringify(t.registeredConfig,null,2)})]})]})]})]})]})]})}const RM="_page_1r56z_4",IM="_stateShell_1r56z_11",BM="_instanceList_1r56z_23",EM="_listHeader_1r56z_33",LM="_listTitle_1r56z_42",PM="_refreshBtn_1r56z_50",AM="_instanceItem_1r56z_70",$M="_instanceItemSelected_1r56z_88",DM="_instanceItemHeader_1r56z_97",MM="_instanceName_1r56z_103",FM="_instancePort_1r56z_110",OM="_instanceItemMeta_1r56z_116",HM="_instanceDbSummary_1r56z_120",zM="_listFooter_1r56z_130",UM="_dotRunning_1r56z_142",VM="_dotUnreachable_1r56z_157",qM="_dotUnknown_1r56z_166",WM="_badgeRunning_1r56z_177",KM="_badgeUnreachable_1r56z_189",GM="_badgeUnknown_1r56z_200",QM="_detailColumn_1r56z_215",JM="_priorityGrid_1r56z_252",YM="_priorityCard_1r56z_258",XM="_priorityCardReady_1r56z_268",ZM="_priorityCardWarning_1r56z_273",eF="_priorityCardCritical_1r56z_278",tF="_priorityCardHeader_1r56z_283",nF="_priorityCardTitle_1r56z_291",sF="_priorityCardState_1r56z_297",aF="_prioritySummary_1r56z_311",rF="_priorityBody_1r56z_318",iF="_priorityActionBtn_1r56z_325",lF="_workflowNote_1r56z_350",oF="_detailPanel_1r56z_357",cF="_detailHeader_1r56z_363",dF="_detailTitleRow_1r56z_370",uF="_detailTitle_1r56z_370",hF="_activeBadge_1r56z_385",pF="_detailActions_1r56z_394",mF="_discoveredAt_1r56z_400",fF="_setActiveBtn_1r56z_405",_F="_runDoctorBtn_1r56z_422",gF="_deleteBtn_1r56z_440",yF="_doctorRunning_1r56z_457",xF="_errorBanner_1r56z_467",vF="_detailSections_1r56z_476",jF="_detailSection_1r56z_476",NF="_sectionTitle_1r56z_495",bF="_fieldRow_1r56z_506",SF="_fieldLabel_1r56z_513",wF="_fieldValue_1r56z_521",CF="_monoValue_1r56z_532",kF="_dimValue_1r56z_538",TF="_warnValue_1r56z_543",RF="_errorValue_1r56z_547",IF="_helpText_1r56z_551",BF="_keyList_1r56z_558",EF="_keyPresent_1r56z_564",LF="_keyMissing_1r56z_574",PF="_iconOk_1r56z_586",AF="_iconWarn_1r56z_587",$F="_iconError_1r56z_588",DF="_stalenessIndicatorSmall_1r56z_592",MF="_stalenessWarning_1r56z_599",FF="_stalenessWarningStrong_1r56z_604",OF="_stalenessCtaHint_1r56z_610",HF="_refreshProbeBtn_1r56z_618",zF="_refreshProbeBtnActive_1r56z_645",UF="_spinnerSmall_1r56z_650",VF="_badgeNotConfigured_1r56z_667",qF="_inlineCode_1r56z_680",WF="_errorBannerTime_1r56z_689",KF="_installStateSection_1r56z_707",GF="_installStateHeader_1r56z_717",QF="_installStateLabel_1r56z_723",JF="_installStateBadgeInstalled_1r56z_732",YF="_installStateBadgeNotFound_1r56z_745",XF="_installStatePath_1r56z_758",ZF="_installStateInstallRow_1r56z_764",e7="_installStateCommand_1r56z_772",t7="_copyBtn_1r56z_782",n7="_copyBtnConfirm_1r56z_800",s7="_lifecycleBtn_1r56z_809",a7="_startBtn_1r56z_829",r7="_stopBtn_1r56z_839",i7="_lifecycleError_1r56z_849",l7="_lifecycleInfo_1r56z_856",o7="_lifecycleTrackingNote_1r56z_864",c7="_modalOverlay_1r56z_873",d7="_modalBox_1r56z_883",u7="_deleteModalBox_1r56z_896",h7="_modalTitle_1r56z_909",p7="_modalBody_1r56z_917",m7="_modalActions_1r56z_924",f7="_modalCancelBtn_1r56z_930",_7="_modalStopBtn_1r56z_946",g7="_modalDeleteBtn_1r56z_962",y7="_deleteModalLead_1r56z_983",x7="_deleteModalList_1r56z_987",v7="_deleteOptionRow_1r56z_993",j7="_deleteConfirmBlock_1r56z_1006",N7="_deleteConfirmInput_1r56z_1013",b7="_deleteError_1r56z_1024",S7="_warningNote_1r56z_1036",w7="_stubNote_1r56z_1045",C7="_stubIcon_1r56z_1057",k7="_projectList_1r56z_1065",T7="_projectCard_1r56z_1071",R7="_loadingState_1r56z_1100",I7="_errorState_1r56z_1125",B7="_emptyState_1r56z_1126",E7="_errorIcon_1r56z_1137",L7="_emptyIcon_1r56z_1138",P7="_errorTitle_1r56z_1144",A7="_emptyTitle_1r56z_1145",$7="_errorBody_1r56z_1152",D7="_emptyBody_1r56z_1153",M7="_commandHintBlock_1r56z_1160",F7="_commandHintLabel_1r56z_1168",O7="_commandHint_1r56z_1160",H7="_retryBtn_1r56z_1184",z7="_noSelection_1r56z_1201",U7="_noSelectionText_1r56z_1208",V7="_upgradeBanner_1r56z_1218",q7="_upgradeBannerSuccess_1r56z_1230",W7="_upgradeBannerError_1r56z_1236",K7="_upgradeBannerIcon_1r56z_1242",G7="_upgradeBannerText_1r56z_1247",Q7="_upgradeBannerOutput_1r56z_1255",J7="_upgradeBannerBtn_1r56z_1262",Y7="_upgradeBannerDismissBtn_1r56z_1282",X7="_upgradeConfirmBtn_1r56z_1302",Z7="_createInstanceBtn_1r56z_1324",eO="_createModalBox_1r56z_1349",tO="_bindProjectBtn_1r56z_1358",nO="_projectsSummaryCard_1r56z_1377",sO="_projectsSummaryHeader_1r56z_1387",aO="_projectsSummaryTitle_1r56z_1395",rO="_projectsSummaryMeta_1r56z_1401",iO="_projectsSummaryStats_1r56z_1406",lO="_projectsSummaryPill_1r56z_1413",oO="_projectsSummaryPillReady_1r56z_1425",cO="_projectsSummaryPillWarning_1r56z_1431",dO="_projectsSummaryPillMuted_1r56z_1437",uO="_projectsSummaryBody_1r56z_1442",hO="_boundProjectHeader_1r56z_1449",pO="_boundProjectPath_1r56z_1457",mO="_rebindBtn_1r56z_1465",fO="_boundProjectMeta_1r56z_1484",_O="_boundProjectActions_1r56z_1491",gO="_projectReadinessBadge_1r56z_1499",yO="_projectReadinessBadgeReady_1r56z_1511",xO="_projectReadinessBadgeWarning_1r56z_1517",vO="_projectReadinessBadgeMuted_1r56z_1523",jO="_boundProjectTag_1r56z_1528",NO="_boundProjectAgent_1r56z_1537",bO="_boundProjectAt_1r56z_1543",SO="_projectsLoading_1r56z_1549",w={page:RM,stateShell:IM,instanceList:BM,listHeader:EM,listTitle:LM,refreshBtn:PM,instanceItem:AM,instanceItemSelected:$M,instanceItemHeader:DM,instanceName:MM,instancePort:FM,instanceItemMeta:OM,instanceDbSummary:HM,listFooter:zM,dotRunning:UM,dotUnreachable:VM,dotUnknown:qM,badgeRunning:WM,badgeUnreachable:KM,badgeUnknown:GM,detailColumn:QM,priorityGrid:JM,priorityCard:YM,priorityCardReady:XM,priorityCardWarning:ZM,priorityCardCritical:eF,priorityCardHeader:tF,priorityCardTitle:nF,priorityCardState:sF,prioritySummary:aF,priorityBody:rF,priorityActionBtn:iF,workflowNote:lF,detailPanel:oF,detailHeader:cF,detailTitleRow:dF,detailTitle:uF,activeBadge:hF,detailActions:pF,discoveredAt:mF,setActiveBtn:fF,runDoctorBtn:_F,deleteBtn:gF,doctorRunning:yF,errorBanner:xF,detailSections:vF,detailSection:jF,sectionTitle:NF,fieldRow:bF,fieldLabel:SF,fieldValue:wF,monoValue:CF,dimValue:kF,warnValue:TF,errorValue:RF,helpText:IF,keyList:BF,keyPresent:EF,keyMissing:LF,iconOk:PF,iconWarn:AF,iconError:$F,stalenessIndicatorSmall:DF,stalenessWarning:MF,stalenessWarningStrong:FF,stalenessCtaHint:OF,refreshProbeBtn:HF,refreshProbeBtnActive:zF,spinnerSmall:UF,badgeNotConfigured:VF,inlineCode:qF,errorBannerTime:WF,installStateSection:KF,installStateHeader:GF,installStateLabel:QF,installStateBadgeInstalled:JF,installStateBadgeNotFound:YF,installStatePath:XF,installStateInstallRow:ZF,installStateCommand:e7,copyBtn:t7,copyBtnConfirm:n7,lifecycleBtn:s7,startBtn:a7,stopBtn:r7,lifecycleError:i7,lifecycleInfo:l7,lifecycleTrackingNote:o7,modalOverlay:c7,modalBox:d7,deleteModalBox:u7,modalTitle:h7,modalBody:p7,modalActions:m7,modalCancelBtn:f7,modalStopBtn:_7,modalDeleteBtn:g7,deleteModalLead:y7,deleteModalList:x7,deleteOptionRow:v7,deleteConfirmBlock:j7,deleteConfirmInput:N7,deleteError:b7,warningNote:S7,stubNote:w7,stubIcon:C7,projectList:k7,projectCard:T7,loadingState:R7,errorState:I7,emptyState:B7,errorIcon:E7,emptyIcon:L7,errorTitle:P7,emptyTitle:A7,errorBody:$7,emptyBody:D7,commandHintBlock:M7,commandHintLabel:F7,commandHint:O7,retryBtn:H7,noSelection:z7,noSelectionText:U7,upgradeBanner:V7,upgradeBannerSuccess:q7,upgradeBannerError:W7,upgradeBannerIcon:K7,upgradeBannerText:G7,upgradeBannerOutput:Q7,upgradeBannerBtn:J7,upgradeBannerDismissBtn:Y7,upgradeConfirmBtn:X7,createInstanceBtn:Z7,createModalBox:eO,bindProjectBtn:tO,projectsSummaryCard:nO,projectsSummaryHeader:sO,projectsSummaryTitle:aO,projectsSummaryMeta:rO,projectsSummaryStats:iO,projectsSummaryPill:lO,projectsSummaryPillReady:oO,projectsSummaryPillWarning:cO,projectsSummaryPillMuted:dO,projectsSummaryBody:uO,boundProjectHeader:hO,boundProjectPath:pO,rebindBtn:mO,boundProjectMeta:fO,boundProjectActions:_O,projectReadinessBadge:gO,projectReadinessBadgeReady:yO,projectReadinessBadgeWarning:xO,projectReadinessBadgeMuted:vO,boundProjectTag:jO,boundProjectAgent:NO,boundProjectAt:bO,projectsLoading:SO};function Oa(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/1e3);if(s<60)return`${s}s ago`;const a=Math.floor(s/60);if(a<60)return`${a}m ago`;const r=Math.floor(a/60);return r<24?`${r}h ago`:new Date(e).toLocaleDateString()}function wO(e){return e?(Date.now()-new Date(e).getTime())/6e4:null}function Jd(e){const t=wO(e);return t===null?null:t<5?"fresh":t<10?"stale":"very-stale"}function CO(e,t=3001){const s=new Set(e.map(r=>r.configuredPort).filter(r=>Number.isFinite(r)&&r>0));let a=t;for(;s.has(a);)a+=1;return a}function kO(e){const[t,s]=d.useState(()=>Date.now());return d.useEffect(()=>{const a=setInterval(()=>s(Date.now()),e);return()=>clearInterval(a)},[e]),t}async function Jh(e){const t=await e.text();if(!t.trim())return{};try{return JSON.parse(t)}catch{return{error:t.trim()}}}function R_(e,t){if(!t)return"Not configured";switch(e){case"running":return"Running";case"unreachable":return"Could not connect";case"stopped":return"Could not connect";case"unknown":return"Could not connect"}}function I_({status:e,hasConnectionInfo:t}){const s=R_(e,t);return e==="running"?n.jsx("span",{className:w.dotRunning,"aria-label":s,title:s}):e==="unreachable"||e==="stopped"?n.jsx("span",{className:w.dotUnreachable,"aria-label":s,title:s}):n.jsx("span",{className:w.dotUnknown,"aria-label":s,title:s})}function TO(e){switch(e){case"running":return null;case"configured":return"Stopped";case"incomplete":return"Needs setup";default:return null}}function RO({status:e,hasConnectionInfo:t}){const s=R_(e,t);return e==="running"?n.jsx("span",{className:w.badgeRunning,children:s}):e==="unreachable"||e==="stopped"?n.jsx("span",{className:w.badgeUnreachable,children:s}):t?n.jsx("span",{className:w.badgeUnknown,children:s}):n.jsx("span",{className:w.badgeNotConfigured,children:s})}function rs({ok:e,warn:t=!1}){return e?n.jsx("span",{className:w.iconOk,"aria-label":"OK",children:"OK"}):t?n.jsx("span",{className:w.iconWarn,"aria-label":"Warning",children:"!"}):n.jsx("span",{className:w.iconError,"aria-label":"Missing",children:"X"})}function IO({instance:e,selected:t,onClick:s}){const a=!!e.database,r=e.database?`${e.database.host}:${e.database.port}/${e.database.name}`:"No database configured",i=TO(e.setupState),l=Jd(e.runningStatusCheckedAt);return n.jsxs("button",{className:`${w.instanceItem} ${t?w.instanceItemSelected:""}`,onClick:s,type:"button","aria-selected":t,children:[n.jsxs("div",{className:w.instanceItemHeader,children:[n.jsx(I_,{status:e.runningStatus,hasConnectionInfo:a}),n.jsx("span",{className:w.instanceName,children:e.name}),n.jsxs("span",{className:w.instancePort,children:[":",e.configuredPort]}),(l==="stale"||l==="very-stale")&&n.jsx("span",{className:w.stalenessIndicatorSmall,"aria-label":"Status may be stale",title:"Status may be stale",children:"!"})]}),n.jsxs("div",{className:w.instanceItemMeta,children:[n.jsx("span",{className:w.instanceDbSummary,children:r}),i&&n.jsx("span",{className:w.badgeNotConfigured,children:i})]})]})}function Qs({children:e}){return n.jsx("h3",{className:w.sectionTitle,children:e})}function nt({label:e,children:t}){return n.jsxs("div",{className:w.fieldRow,children:[n.jsx("span",{className:w.fieldLabel,children:e}),n.jsx("span",{className:w.fieldValue,children:t})]})}function B_({runtimeStatus:e}){const t={display:"inline-flex",alignItems:"center",gap:"5px",fontSize:"11px",fontWeight:600,borderRadius:"var(--border-radius-sm)",padding:"2px 7px"};switch(e){case"running":return n.jsxs("span",{style:{...t,color:"var(--color-status-success)",background:"var(--color-status-success-bg)",border:"1px solid color-mix(in srgb, var(--color-status-success) 30%, transparent)"},children:[n.jsx("span",{style:{display:"inline-block",width:"7px",height:"7px",borderRadius:"50%",background:"var(--color-status-success)",boxShadow:"0 0 4px var(--color-status-success)"},"aria-hidden":"true"}),"RUNNING"]});case"stale":return n.jsx("span",{style:{...t,color:"var(--color-status-warning)",background:"var(--color-status-warning-bg)",border:"1px solid color-mix(in srgb, var(--color-status-warning) 30%, transparent)"},children:"WARN STALE"});case"unhealthy":return n.jsx("span",{style:{...t,color:"var(--color-status-warning)",background:"color-mix(in srgb, var(--color-status-warning-bg) 65%, transparent)",border:"1px solid color-mix(in srgb, var(--color-status-warning) 35%, transparent)"},children:"WARN UNHEALTHY"});case"stopped":return n.jsx("span",{style:{...t,color:"var(--color-text-tertiary)",background:"var(--color-bg-elevated)",border:"1px solid var(--color-border-subtle)"},children:"STOPPED"});case"missing":return n.jsx("span",{style:{...t,color:"var(--color-text-tertiary)",background:"var(--color-bg-elevated)",border:"1px solid var(--color-border-subtle)"},children:"MISSING"});case"invalid":return n.jsx("span",{style:{...t,color:"var(--color-status-error)",background:"color-mix(in srgb, var(--color-status-error) 12%, transparent)",border:"1px solid color-mix(in srgb, var(--color-status-error) 30%, transparent)"},children:"INVALID"});case"unknown":default:return null}}function BO({runtime:e,runtimeStatus:t,runtimeRoot:s}){if(e===void 0&&t===void 0)return null;if(e===null||t==="unknown")return n.jsxs("div",{style:{fontSize:"12px",color:"var(--color-text-tertiary)",fontStyle:"italic",marginTop:"4px"},children:["Runtime metadata unavailable - instance started without"," ",n.jsx("code",{style:{fontFamily:"var(--font-mono)",fontSize:"11px",background:"var(--color-bg-elevated)",padding:"1px 4px",borderRadius:"var(--border-radius-sm)",color:"var(--color-accent-primary)"},children:"iranti run"})]});const a=t==="stale",r=t??"unknown",i=e!=null&&e.instanceName?__(e.instanceName,s):"iranti run",l=t==="unhealthy"?"This instance is running but failing health checks. Use doctor and logs before treating it as healthy.":t==="invalid"?"Runtime metadata exists but does not describe a valid Iranti process. Recreate or repair this instance before trusting it.":t==="missing"?"Instance configuration exists without runtime metadata. Start the instance with `iranti run --instance <name>` if it should be active.":null;return n.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[n.jsx(B_,{runtimeStatus:r}),(e==null?void 0:e.version)&&n.jsxs("span",{style:{fontSize:"11px",color:"var(--color-text-tertiary)",fontFamily:"var(--font-mono)"},children:["v",e.version]})]}),e&&n.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:"6px 16px",fontSize:"11px",color:"var(--color-text-secondary)",fontFamily:"var(--font-mono)"},children:[n.jsxs("span",{children:["PID: ",e.pid]}),n.jsxs("span",{children:["started ",Oa(e.startedAt)]}),n.jsxs("span",{style:{color:a?"var(--color-status-warning)":"var(--color-text-secondary)"},children:["heartbeat ",Oa(e.lastHeartbeatAt),a&&" !"]}),n.jsxs("span",{children:["port: ",e.port]})]}),a&&e&&n.jsxs("div",{style:{padding:"8px 12px",background:"var(--color-status-warning-bg)",border:"1px solid color-mix(in srgb, var(--color-status-warning) 30%, transparent)",borderRadius:"var(--border-radius-md)",fontSize:"12px",color:"var(--color-status-warning)",lineHeight:1.5},children:[n.jsx("strong",{children:"Stale runtime signal."})," ","This instance's heartbeat has not updated in over 60 seconds - the process may have crashed. Try running"," ",n.jsx("code",{style:{fontFamily:"var(--font-mono)",fontSize:"11px",background:"color-mix(in srgb, var(--color-status-warning-bg) 60%, transparent)",padding:"1px 4px",borderRadius:"var(--border-radius-sm)"},children:i})," ","to restart."]}),l&&n.jsx("div",{style:{padding:"8px 12px",background:"var(--color-bg-elevated)",border:"1px solid var(--color-border-subtle)",borderRadius:"var(--border-radius-md)",fontSize:"12px",color:"var(--color-text-secondary)",lineHeight:1.5},children:l})]})}function EO({installState:e}){const[t,s]=d.useState(!1),a=d.useCallback(()=>{navigator.clipboard.writeText("npm install -g iranti").then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},[]);return e===null?null:e.installed?n.jsxs("div",{className:w.installStateSection,children:[n.jsxs("div",{className:w.installStateHeader,children:[n.jsx("span",{className:w.installStateLabel,children:"Iranti CLI"}),n.jsxs("span",{className:w.installStateBadgeInstalled,children:["Installed",e.version?` - v${e.version}`:""]})]}),e.executablePath&&n.jsxs("div",{className:w.installStatePath,children:["Path: ",e.executablePath]})]}):n.jsxs("div",{className:w.installStateSection,children:[n.jsxs("div",{className:w.installStateHeader,children:[n.jsx("span",{className:w.installStateLabel,children:"Iranti CLI"}),n.jsx("span",{className:w.installStateBadgeNotFound,children:"Not found"})]}),n.jsxs("div",{className:w.installStateInstallRow,children:[n.jsx("span",{children:"Install with:"}),n.jsx("code",{className:w.installStateCommand,children:"npm install -g iranti"}),n.jsx("button",{className:`${w.copyBtn} ${t?w.copyBtnConfirm:""}`,type:"button",onClick:a,"aria-label":"Copy install command",children:t?"Copied!":"Copy"})]})]})}function LO({versionSync:e,activeInstanceName:t,onUpgradeComplete:s}){const a=Ht(),[r,i]=d.useState({phase:"idle"}),[l,o]=d.useState(null),c=d.useRef(null);d.useEffect(()=>()=>{c.current&&clearInterval(c.current)},[]),d.useEffect(()=>{e.status!=="behind"&&r.phase==="complete"&&i({phase:"idle"})},[e.status,r.phase]);const u=()=>{c.current&&(clearInterval(c.current),c.current=null)},m=j=>{u(),c.current=setInterval(()=>{(async()=>{try{const v=await fetch(`/api/control-plane/instances/${encodeURIComponent(t)}/upgrade/${encodeURIComponent(j)}`),_=await Jh(v);if(!v.ok){u(),i({phase:"error",message:_.error??`Could not check upgrade status (HTTP ${v.status}).`});return}o(_),_.status==="complete"?(u(),i({phase:"complete"}),s(),a.invalidateQueries({queryKey:["version-sync"]})):_.status==="failed"&&(u(),i({phase:"failed",message:`Upgrade failed (exit code: ${_.exitCode??"unknown"}). Check the output below.`}))}catch{u(),i({phase:"error",message:"Connection lost while checking upgrade status."})}})()},2e3)},p=async()=>{i({phase:"upgrading",jobId:""}),o(null);try{const j=await fetch(`/api/control-plane/instances/${encodeURIComponent(t)}/upgrade`,{method:"POST"}),v=await Jh(j);if(!j.ok){i({phase:"error",message:v.error??`Failed to start upgrade (HTTP ${j.status}).`});return}if(!v.jobId){i({phase:"error",message:"Upgrade route returned no job id."});return}i({phase:"upgrading",jobId:v.jobId}),m(v.jobId)}catch{i({phase:"error",message:"Could not reach the control plane API."})}},h=()=>{u(),o(null),i({phase:"idle"})},y=e.latestVersion??"",g=e.installedVersion??"unknown";return r.phase==="idle"?n.jsxs("div",{className:w.upgradeBanner,children:[n.jsx("span",{className:w.upgradeBannerIcon,"aria-hidden":"true",children:"^"}),n.jsxs("span",{className:w.upgradeBannerText,children:["Runtime update available for ",n.jsx("strong",{children:t}),": v",g," to v",y]}),n.jsxs("button",{className:w.upgradeBannerBtn,type:"button",onClick:()=>i({phase:"confirming"}),children:["Upgrade runtime to v",y]})]}):r.phase==="confirming"?n.jsx("div",{className:w.modalOverlay,role:"dialog","aria-modal":"true","aria-labelledby":"upgrade-modal-title",children:n.jsxs("div",{className:w.modalBox,children:[n.jsxs("p",{className:w.modalTitle,id:"upgrade-modal-title",children:["Upgrade ",t," to v",y,"?"]}),n.jsxs("p",{className:w.modalBody,children:["This will run"," ",n.jsxs("code",{style:{fontFamily:"var(--font-mono)",fontSize:"12px"},children:["iranti upgrade --restart --instance ",t]})," ","for the selected instance runtime. This does not change the globally installed CLI version."," ","Active agents will experience a brief interruption. This may take up to 60 seconds."]}),n.jsxs("div",{className:w.modalActions,children:[n.jsx("button",{className:w.modalCancelBtn,type:"button",onClick:h,children:"Cancel"}),n.jsx("button",{className:w.upgradeConfirmBtn,type:"button",onClick:()=>void p(),children:"Upgrade"})]})]})}):r.phase==="upgrading"?n.jsxs("div",{className:w.upgradeBanner,children:[n.jsx("span",{className:w.spinnerSmall,"aria-hidden":"true"}),n.jsxs("span",{className:w.upgradeBannerText,children:["Upgrading ",t," to v",y,"...",l&&l.output.length>0&&n.jsx("span",{className:w.upgradeBannerOutput,children:l.output[l.output.length-1]})]})]}):r.phase==="complete"?n.jsxs("div",{className:`${w.upgradeBanner} ${w.upgradeBannerSuccess}`,children:[n.jsx("span",{"aria-hidden":"true",children:"OK"}),n.jsx("span",{className:w.upgradeBannerText,children:"Upgrade complete - Iranti restarted successfully."}),n.jsx("button",{className:w.upgradeBannerDismissBtn,type:"button",onClick:h,children:"Dismiss"})]}):r.phase==="failed"||r.phase==="error"?n.jsxs("div",{className:`${w.upgradeBanner} ${w.upgradeBannerError}`,children:[n.jsx("span",{"aria-hidden":"true",children:"X"}),n.jsx("span",{className:w.upgradeBannerText,children:r.message}),n.jsx("button",{className:w.upgradeBannerDismissBtn,type:"button",onClick:h,children:"Try again"})]}):null}function PO({instanceName:e,onConfirm:t,onCancel:s}){return n.jsx("div",{className:w.modalOverlay,role:"dialog","aria-modal":"true","aria-labelledby":"stop-modal-title",children:n.jsxs("div",{className:w.modalBox,children:[n.jsxs("p",{className:w.modalTitle,id:"stop-modal-title",children:["Stop ",e,"?"]}),n.jsx("p",{className:w.modalBody,children:"This will terminate the Iranti process. Agents using this instance will lose connectivity."}),n.jsxs("div",{className:w.modalActions,children:[n.jsx("button",{className:w.modalCancelBtn,type:"button",onClick:s,children:"Cancel"}),n.jsx("button",{className:w.modalStopBtn,type:"button",onClick:t,children:"Stop"})]})]})})}function AO({instance:e,onDeleted:t,onCancel:s}){var j;const[a,r]=d.useState(""),[i,l]=d.useState(!0),[o,c]=d.useState(!1),[u,m]=d.useState(!1),[p,h]=d.useState(null),y=a.trim()===e.name&&!u,g=d.useCallback(async()=>{if(y){m(!0),h(null);try{await Oj(e.name,{confirmName:a.trim(),removeProjectBindings:i,dropDatabase:o}),t()}catch(v){h(v instanceof Error?v.message:String(v))}finally{m(!1)}}},[y,a,o,e.name,t,i]);return n.jsx("div",{className:w.modalOverlay,role:"dialog","aria-modal":"true","aria-labelledby":"delete-instance-title",children:n.jsxs("div",{className:w.deleteModalBox,children:[n.jsxs("p",{className:w.modalTitle,id:"delete-instance-title",children:["Delete ",e.name,"?"]}),n.jsxs("div",{className:w.modalBody,children:[n.jsxs("p",{className:w.deleteModalLead,children:["This removes the instance directory from ",n.jsx("code",{className:w.inlineCode,children:e.runtimeRoot}),"."]}),n.jsxs("ul",{className:w.deleteModalList,children:[n.jsx("li",{children:"Runtime files will be deleted."}),n.jsx("li",{children:"Deletion will be refused if the instance is still running."}),n.jsx("li",{children:"Dropping the PostgreSQL database is optional and irreversible."})]}),n.jsxs("label",{className:w.deleteOptionRow,children:[n.jsx("input",{type:"checkbox",checked:i,onChange:v=>l(v.target.checked)}),n.jsxs("span",{children:["Remove bound project ",n.jsx("code",{className:w.inlineCode,children:".env.iranti"})," files"]})]}),n.jsxs("label",{className:w.deleteOptionRow,children:[n.jsx("input",{type:"checkbox",checked:o,onChange:v=>c(v.target.checked)}),n.jsxs("span",{children:["Drop PostgreSQL database",(j=e.database)!=null&&j.name?` (${e.database.name})`:" from DATABASE_URL"]})]}),n.jsxs("div",{className:w.deleteConfirmBlock,children:[n.jsxs("label",{className:w.fieldLabel,htmlFor:"delete-confirm-name",children:["Type ",n.jsx("code",{className:w.inlineCode,children:e.name})," to confirm"]}),n.jsx("input",{id:"delete-confirm-name",className:w.deleteConfirmInput,type:"text",value:a,onChange:v=>r(v.target.value),autoFocus:!0,spellCheck:!1,autoComplete:"off"})]}),p&&n.jsx("div",{className:w.deleteError,role:"alert",children:p})]}),n.jsxs("div",{className:w.modalActions,children:[n.jsx("button",{className:w.modalCancelBtn,type:"button",onClick:s,disabled:u,children:"Cancel"}),n.jsx("button",{className:w.modalDeleteBtn,type:"button",onClick:()=>void g(),disabled:!y,children:u?"Deleting...":"Delete instance"})]})]})})}function $O({instance:e,onStatusChange:t}){const[s,a]=d.useState(!1),[r,i]=d.useState(null),[l,o]=d.useState(null),[c,u]=d.useState(!1),m=e.runningStatus==="running",p=e.runningStatus==="unreachable"||e.runningStatus==="stopped"||e.runningStatus==="unknown",h=d.useCallback(async()=>{if(!s){a(!0),i(null),o("Starting...");try{const g=await Al(e.name);g.started===!1?(o(g.reason??"Already running"),setTimeout(()=>{t(),setTimeout(()=>o(null),2e3)},500)):setTimeout(()=>{o("Started"),t(),setTimeout(()=>o(null),3e3)},2e3)}catch(g){const j=g instanceof Error?g.message:String(g);i(j),o(null)}finally{a(!1)}}},[s,e.name,t]),y=d.useCallback(async()=>{if(u(!1),!s){a(!0),i(null),o(null);try{await wj(e.name),setTimeout(()=>{t()},500)}catch(g){const j=g instanceof Error?g.message:String(g);i(j)}finally{a(!1)}}},[s,e.name,t]);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)",flexWrap:"wrap"},children:[p&&n.jsx("button",{className:`${w.lifecycleBtn} ${w.startBtn}`,type:"button",disabled:s,onClick:()=>void h(),title:e.runningStatus==="unknown"?"Status unknown - starting may create a duplicate process":void 0,children:s?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:w.spinnerSmall,"aria-hidden":"true"})," Starting..."]}):n.jsx(n.Fragment,{children:"Start"})}),m&&n.jsx("button",{className:`${w.lifecycleBtn} ${w.stopBtn}`,type:"button",disabled:s,onClick:()=>u(!0),children:s?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:w.spinnerSmall,"aria-hidden":"true"})," Stopping..."]}):n.jsx(n.Fragment,{children:"Stop"})}),l&&n.jsx("span",{className:w.lifecycleInfo,children:l})]}),r&&n.jsx("div",{className:w.lifecycleError,children:r}),c&&n.jsx(PO,{instanceName:e.name,onConfirm:()=>void y(),onCancel:()=>u(!1)})]})}function DO({instance:e,onRefresh:t,isRefreshing:s}){const a=!!e.database,r=Jd(e.runningStatusCheckedAt);return n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Runtime"}),n.jsx(nt,{label:"Root",children:n.jsx("span",{className:w.monoValue,children:e.runtimeRoot})}),n.jsx(nt,{label:"Port",children:n.jsx("span",{className:w.monoValue,children:e.configuredPort})}),n.jsx(nt,{label:"Status",children:n.jsx(RO,{status:e.runningStatus,hasConnectionInfo:a})}),n.jsx(nt,{label:"Version",children:e.irantVersion??n.jsx("span",{className:w.dimValue,children:"Version unknown"})}),n.jsx(nt,{label:"Last checked",children:e.runningStatusCheckedAt?n.jsxs("span",{className:w.dimValue,children:[Oa(e.runningStatusCheckedAt),r==="stale"&&n.jsx("span",{className:w.stalenessWarning,"aria-label":"Status may be stale",children:" - Status may be stale"}),r==="very-stale"&&n.jsxs("span",{className:w.stalenessWarningStrong,"aria-label":"Status is stale",children:[" ","- Status is stale"]})]}):n.jsx("span",{className:w.dimValue,children:"Not yet checked"})}),n.jsxs(nt,{label:"",children:[n.jsx("button",{className:`${w.refreshProbeBtn} ${s?w.refreshProbeBtnActive:""}`,onClick:t,disabled:s,type:"button","aria-label":"Refresh instance health probe",children:s?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:w.spinnerSmall,"aria-hidden":"true"})," Checking..."]}):n.jsx(n.Fragment,{children:"Refresh status"})}),r==="very-stale"&&!s&&n.jsx("span",{className:w.stalenessCtaHint,children:"Probe data is over 10 minutes old"})]}),(e.runtime!==void 0||e.runtimeStatus!==void 0)&&n.jsx("div",{style:{marginTop:"8px",paddingTop:"8px",borderTop:"1px solid var(--color-border-subtle)"},children:n.jsx(BO,{runtime:e.runtime,runtimeStatus:e.runtimeStatus,runtimeRoot:e.runtimeRoot})})]})}function MO({instance:e}){if(!e.database)return n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Database"}),n.jsx("div",{className:w.warningNote,children:"Database unreachable - check DATABASE_URL in the live instance env"})]});const t=e.database;return n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Database"}),n.jsx(nt,{label:"Host",children:n.jsxs("span",{className:w.monoValue,children:[t.host,":",t.port]})}),n.jsx(nt,{label:"Database",children:n.jsx("span",{className:w.monoValue,children:t.name})}),n.jsx(nt,{label:"Connection",children:n.jsx("span",{className:w.monoValue,children:t.urlRedacted})})]})}function FO({instance:e}){const{envFile:t}=e,s=e.projectMode,a=s==="isolated"?"Each project gets its own isolated memory context.":s==="shared"?"All projects share a single memory context.":null;return n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Environment"}),n.jsx(nt,{label:"Project binding",children:(t.bindingPresent??t.present)&&t.path?n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!0})," ",n.jsx("span",{className:w.monoValue,children:t.path})]}):t.instanceEnvPath?n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!0})," ",n.jsx("span",{className:w.dimValue,children:"No current project binding in this workspace"})]}):n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!1})," ",n.jsx("span",{className:w.errorValue,children:"No .env.iranti found - check the current project binding"})]})}),t.instanceEnvPath&&n.jsx(nt,{label:"Instance env",children:n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!0})," ",n.jsx("span",{className:w.monoValue,children:t.instanceEnvPath})]})}),t.present&&n.jsxs(n.Fragment,{children:[t.keysPresent.length>0&&n.jsx(nt,{label:"Keys present",children:n.jsx("span",{className:w.keyList,children:t.keysPresent.map(r=>n.jsx("span",{className:w.keyPresent,children:r},r))})}),t.keysMissing.length>0&&n.jsx(nt,{label:"Keys missing",children:n.jsx("span",{className:w.keyList,children:t.keysMissing.map(r=>n.jsx("span",{className:w.keyMissing,children:r},r))})})]}),n.jsx(nt,{label:"Project Mode",children:s?n.jsxs("span",{className:w.monoValue,title:a??void 0,children:[s,a&&n.jsxs("span",{className:w.helpText,children:[" - ",a]})]}):n.jsx("span",{className:w.dimValue,children:"-"})})]})}function OO({instance:e}){const{integration:t}=e;return n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Integrations"}),n.jsx(nt,{label:"Provider",children:t.defaultProvider?n.jsx("span",{className:w.monoValue,children:t.defaultProvider}):n.jsx("span",{className:w.dimValue,children:"not configured"})}),n.jsx(nt,{label:"Model",children:t.defaultModel?n.jsx("span",{className:w.monoValue,children:t.defaultModel}):n.jsx("span",{className:w.dimValue,children:"not configured"})}),n.jsx(nt,{label:"Claude key",children:t.providerKeys.claude?n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!0})," ",n.jsx("span",{className:w.dimValue,children:"present"})]}):n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!1,warn:!0})," ",n.jsx("span",{className:w.warnValue,children:"absent"})]})}),n.jsx(nt,{label:"OpenAI key",children:t.providerKeys.openai?n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!0})," ",n.jsx("span",{className:w.dimValue,children:"present"})]}):n.jsxs(n.Fragment,{children:[n.jsx(rs,{ok:!1,warn:!0})," ",n.jsx("span",{className:w.dimValue,children:"absent"})]})}),t.providerKeys.otherKeys&&t.providerKeys.otherKeys.length>0&&n.jsx(nt,{label:"Other provider keys",children:n.jsx("span",{className:w.monoValue,children:t.providerKeys.otherKeys.join(", ")})})]})}function HO({instance:e,instances:t,onBindSuccess:s}){const[a,r]=d.useState(!1),[i,l]=d.useState(null),[o,c]=d.useState(null),{data:u,isLoading:m,error:p}=Ne({queryKey:["instance-projects",e.name],queryFn:()=>o_(e.name),staleTime:3e4}),h=(u==null?void 0:u.projects)??[],y=new Map(e.projects.map(f=>[f.projectRoot,f])),g=h.filter(f=>{const x=y.get(f.projectPath);return x?Ni(x)==="ready":!1}).length,j=h.filter(f=>{const x=y.get(f.projectPath);return x?Ni(x)==="partial":!1}).length,v=h.filter(f=>{const x=y.get(f.projectPath);return x?Ni(x)==="missing":!0}).length,_=()=>{r(!1),l(null),s()};return a||i!==null?n.jsxs("section",{className:w.detailSection,children:[n.jsx(Qs,{children:"Projects"}),n.jsx(C6,{instanceName:e.name,instances:t,onSuccess:_,onCancel:()=>{r(!1),l(null)}})]}):n.jsxs("section",{className:w.detailSection,children:[n.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"var(--space-2)"},children:[n.jsx(Qs,{children:"Projects"}),n.jsx("button",{className:w.bindProjectBtn,type:"button",onClick:()=>r(!0),title:"Bind a project to this instance",children:"+ Bind Project"})]}),n.jsxs("div",{className:w.projectsSummaryCard,children:[n.jsxs("div",{className:w.projectsSummaryHeader,children:[n.jsx("span",{className:w.projectsSummaryTitle,children:"Project readiness"}),n.jsx("span",{className:w.projectsSummaryMeta,children:h.length===0?"No projects bound yet":`${h.length} bound project${h.length===1?"":"s"}`})]}),n.jsxs("div",{className:w.projectsSummaryStats,children:[n.jsxs("span",{className:`${w.projectsSummaryPill} ${w.projectsSummaryPillReady}`,children:[g," ready"]}),n.jsxs("span",{className:`${w.projectsSummaryPill} ${w.projectsSummaryPillWarning}`,children:[j," partial"]}),n.jsxs("span",{className:`${w.projectsSummaryPill} ${w.projectsSummaryPillMuted}`,children:[v," missing"]})]}),n.jsx("p",{className:w.projectsSummaryBody,children:"Start here when Claude or Codex behavior feels off. Bind the project first, then inspect per-project wiring only where the summary says it is incomplete."})]}),m&&n.jsxs("div",{className:w.projectsLoading,children:[n.jsx("span",{className:w.spinnerSmall,"aria-hidden":"true"})," Loading projects..."]}),p&&!m&&n.jsxs("div",{className:w.warningNote,style:{fontSize:"12px"},children:["Could not load bound projects: ",p instanceof Error?p.message:String(p)]}),!m&&!p&&h.length===0&&n.jsxs("div",{className:w.stubNote,children:[n.jsx("span",{className:w.stubIcon,children:"i"}),"No projects bound. Bind a project to connect Claude Code or other agents."]}),!m&&!p&&h.length>0&&n.jsx("div",{className:w.projectList,children:h.map(f=>{const x=y.get(f.projectPath),b=x?Ni(x):"missing";return n.jsxs("div",{className:w.projectCard,children:[n.jsxs("div",{className:w.boundProjectHeader,children:[n.jsx("span",{className:`${w.monoValue} ${w.boundProjectPath}`,children:f.projectPath}),n.jsx("span",{className:`${w.projectReadinessBadge} ${b==="ready"?w.projectReadinessBadgeReady:b==="partial"?w.projectReadinessBadgeWarning:w.projectReadinessBadgeMuted}`,children:b==="ready"?"Ready":b==="partial"?"Partial":"Needs setup"})]}),n.jsxs("div",{className:w.boundProjectMeta,children:[n.jsx("span",{className:w.boundProjectTag,children:f.mode}),n.jsx("span",{className:w.boundProjectAgent,children:f.agentId}),f.boundAt&&n.jsxs("span",{className:w.boundProjectAt,children:["bound ",new Date(f.boundAt).toLocaleDateString()]})]}),n.jsxs("div",{className:w.boundProjectActions,children:[n.jsx("button",{className:w.rebindBtn,type:"button",onClick:()=>{r(!0)},title:"Rebind this project",children:"Rebind project"}),n.jsx("button",{className:w.rebindBtn,type:"button",onClick:()=>c(T=>T===f.projectPath?null:f.projectPath),title:"Set up or inspect Claude Code integration for this project","aria-pressed":o===f.projectPath,children:o===f.projectPath?"Hide details":"View project details"})]}),o===f.projectPath&&n.jsx("div",{style:{marginTop:"var(--space-3)"},children:n.jsx(HD,{instanceName:e.name,projectPath:f.projectPath,onClose:()=>c(null)})})]},f.projectPath)})})]})}function zO(e){const t=e.projects.length;let s=0,a=0;for(const r of e.projects){const i=r.integration.claudeMdPresent&&r.integration.mcpConfigHasIranti,l=r.integration.codexIntegration.configPresent;i&&l?s+=1:(i||l||r.integration.mcpConfigPresent)&&(a+=1)}return{total:t,fullyWired:s,partiallyWired:a}}function UO(e){var s;const t=e.integration.defaultProvider;return t?t==="claude"?e.integration.providerKeys.claude:t==="openai"?e.integration.providerKeys.openai:t==="mock"?!0:(((s=e.integration.providerKeys.otherKeys)==null?void 0:s.length)??0)>0||!!e.integration.defaultModel:!1}function Ni(e){const t=e.integration.claudeMdPresent&&e.integration.mcpConfigHasIranti,s=e.integration.codexIntegration.configPresent;return t&&s?"ready":t||s||e.integration.mcpConfigPresent?"partial":"missing"}function VO(e){const t=Jd(e.runningStatusCheckedAt),s=zO(e),a=UO(e),r=e.runningStatus!=="running"?{key:"runtime",title:"Runtime first",tone:"critical",summary:"Instance is not reachable.",detail:"Start the runtime before spending time on bindings, MCP wiring, or client setup.",action:{label:"Start instance",type:"start"}}:t==="very-stale"?{key:"runtime",title:"Runtime first",tone:"warning",summary:"Heartbeat looks stale.",detail:"The instance is up, but the runtime signal may be lagging. Run Doctor before you trust the rest of the page.",action:{label:"Run Doctor",type:"doctor"}}:{key:"runtime",title:"Runtime first",tone:"ready",summary:"Runtime is reachable.",detail:"The core instance looks healthy enough to move on to projects and client wiring.",action:{label:"Review configuration",type:"configure"}},i=s.total===0?{key:"projects",title:"Projects next",tone:"warning",summary:"No projects are bound.",detail:"Bind at least one project so Claude or Codex sessions have a repo to work from.",action:{label:"Bind a project",type:"scroll",target:"projects-section"}}:s.fullyWired===s.total?{key:"projects",title:"Projects next",tone:"ready",summary:`${s.total} project${s.total===1?"":"s"} bound and wired.`,detail:"Project-level MCP and client setup are in a good place.",action:{label:"Review project bindings",type:"scroll",target:"projects-section"}}:{key:"projects",title:"Projects next",tone:"warning",summary:`${s.fullyWired}/${s.total} project${s.total===1?"":"s"} fully wired.`,detail:"Some projects are only partially ready. Fix the project wiring before testing client memory behavior.",action:{label:"Fix project wiring",type:"scroll",target:"claude-overview-section"}},l=a?s.total===0?{key:"clients",title:"Clients last",tone:"warning",summary:"Clients are blocked by missing project bindings.",detail:"The instance is ready, but Claude and Codex still need at least one bound project to feel usable.",action:{label:"Bind a project",type:"scroll",target:"projects-section"}}:{key:"clients",title:"Clients last",tone:s.fullyWired===s.total?"ready":"warning",summary:s.fullyWired===s.total?"Client setup looks usable.":"Client setup is only partially ready.",detail:s.fullyWired===s.total?"Claude and Codex should have the wiring they need; verify the exact session you care about.":"Use the Claude and Codex sections below to finish the wiring that matters for real sessions.",action:{label:"Review client setup",type:"scroll",target:"codex-integration-section"}}:{key:"clients",title:"Clients last",tone:"warning",summary:"Provider setup is incomplete.",detail:"Set a default provider and make sure the active provider key exists before trusting client-side tests.",action:{label:"Configure instance",type:"configure"}};return[r,i,l]}function qO({instance:e,instances:t,onRefresh:s,isRefreshing:a,onRunDoctor:r,onUpgradeComplete:i,onLifecycleChange:l,onRefetchInstances:o}){var R,L;const{setActiveInstance:c,activeInstance:u}=gt(),m=_t(),p=(u==null?void 0:u.id)===e.instanceId,h=!!e.database,[y,g]=d.useState(!1),[j,v]=d.useState(!1),[_,f]=d.useState(!1),x=()=>{var N;c({id:e.instanceId,name:e.name,port:e.configuredPort,host:((N=e.database)==null?void 0:N.host)??"localhost",status:e.runningStatus==="running"?"running":e.runningStatus==="unreachable"?"unreachable":"stopped"}),m(`/instances/${encodeURIComponent(e.instanceId)}`)},b=d.useCallback(N=>{var k;(k=document.getElementById(N))==null||k.scrollIntoView({behavior:"smooth",block:"start"})},[]),T=d.useCallback(async N=>{if(N){if(N.type==="scroll"&&N.target){b(N.target);return}if(N.type==="configure"){v(!0);return}if(N.type==="doctor"){r(e.instanceId);return}if(N.type==="start"){g(!0);try{await Al(e.name),l()}finally{g(!1)}}}},[e.instanceId,e.name,l,r,b]);return n.jsxs("div",{className:w.detailPanel,children:[n.jsxs("div",{className:w.detailHeader,children:[n.jsxs("div",{className:w.detailTitleRow,children:[n.jsx(I_,{status:e.runningStatus,hasConnectionInfo:h}),n.jsx("h2",{className:w.detailTitle,children:e.name}),p&&n.jsx("span",{className:w.activeBadge,children:"Active"}),e.runtimeStatus!==void 0&&e.runtimeStatus!=="unknown"&&n.jsx(B_,{runtimeStatus:e.runtimeStatus})]}),n.jsxs("div",{className:w.detailActions,children:[n.jsxs("span",{className:w.discoveredAt,children:["Last discovered: ",Oa(e.discoveredAt)]}),n.jsx($O,{instance:e,onStatusChange:l}),n.jsx("button",{className:w.runDoctorBtn,onClick:()=>v(N=>!N),type:"button",title:"Configure instance settings","aria-pressed":j,children:"Configure"}),n.jsx("button",{className:w.runDoctorBtn,onClick:()=>r(e.instanceId),type:"button",children:"Run Doctor"}),n.jsx("button",{className:w.deleteBtn,onClick:()=>f(!0),type:"button",children:"Delete"}),!p&&n.jsx("button",{className:w.setActiveBtn,onClick:x,type:"button",children:"Set as Active"})]})]}),(e.runningStatus==="unreachable"||e.runningStatus==="stopped")&&n.jsx("div",{className:w.errorBanner,children:(()=>{const N=e.name?__(e.name,e.runtimeRoot):"iranti run";return n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:"Runtime is not reachable."})," ","Start it with ",n.jsx("code",{className:w.inlineCode,children:N}),", then refresh this page.",e.runningStatusCheckedAt&&n.jsxs("span",{className:w.errorBannerTime,children:[" ","Last checked ",Oa(e.runningStatusCheckedAt),"."]}),n.jsx(Fa,{command:N,allowRun:$l(N),compact:!0})]})})()}),j&&n.jsx("div",{style:{padding:"var(--space-3) var(--section-padding)",borderBottom:"1px solid var(--color-border-subtle)",background:"var(--color-bg-base)"},children:n.jsx($5,{instanceName:e.name,currentPort:e.configuredPort,currentProvider:e.integration.defaultProvider,currentDbUrlRedacted:((R=e.database)==null?void 0:R.urlRedacted)??null,onSuccess:()=>{v(!1),o()},onCancel:()=>v(!1)},e.instanceId)}),_&&n.jsx(AO,{instance:e,onDeleted:()=>{f(!1),o(),m("/instances")},onCancel:()=>f(!1)}),n.jsxs("div",{className:w.detailSections,children:[n.jsxs("section",{className:w.detailSection,children:[n.jsx("h3",{className:w.sectionTitle,children:"Do This Now"}),n.jsx("div",{className:w.priorityGrid,children:VO(e).map(N=>n.jsxs("div",{className:`${w.priorityCard} ${N.tone==="ready"?w.priorityCardReady:N.tone==="warning"?w.priorityCardWarning:w.priorityCardCritical}`,children:[n.jsxs("div",{className:w.priorityCardHeader,children:[n.jsx("span",{className:w.priorityCardTitle,children:N.title}),n.jsx("span",{className:w.priorityCardState,children:N.tone==="ready"?"Ready":N.tone==="warning"?"Needs attention":"Blocking"})]}),n.jsx("p",{className:w.prioritySummary,children:N.summary}),n.jsx("p",{className:w.priorityBody,children:N.detail}),N.action&&n.jsx("button",{className:w.priorityActionBtn,type:"button",disabled:y,onClick:()=>void T(N.action),children:y&&N.action.type==="start"?"Starting...":N.action.label})]},N.key))}),n.jsx("p",{className:w.workflowNote,children:"The order matters: runtime first, then project wiring, then client validation."})]}),n.jsx("div",{id:"runtime-section",children:n.jsx(DO,{instance:e,onRefresh:s,isRefreshing:a})}),n.jsx("div",{id:"database-section",children:n.jsx(MO,{instance:e})}),n.jsx("div",{id:"environment-section",children:n.jsx(FO,{instance:e})}),n.jsx("div",{id:"integrations-section",children:n.jsx(OO,{instance:e})}),n.jsx("div",{id:"projects-section",children:n.jsx(HO,{instance:e,instances:t,onBindSuccess:o})}),n.jsxs("section",{id:"claude-overview-section",className:w.detailSection,children:[n.jsx("h3",{className:w.sectionTitle,children:"Claude Code Setup & Overview"}),n.jsx(zD,{instanceName:e.name})]}),n.jsxs("section",{id:"codex-integration-section",className:w.detailSection,children:[n.jsx("h3",{className:w.sectionTitle,children:"Codex Integration"}),n.jsx(TM,{})]}),n.jsx("section",{className:w.detailSection,children:n.jsx(l$,{instances:t})}),n.jsx(t4,{instanceName:e.name,runningVersion:((L=e.runtime)==null?void 0:L.version)??null,onUpgradeComplete:i})]})]})}function Yh(){var te,de;const{id:e}=Dd(),t=_t(),{settings:s}=Ka(),[a,r]=d.useState(!1),[i,l]=d.useState(null),[o,c]=d.useState(null),[u,m]=d.useState(!1),p=kO(3e4),[h,y]=d.useState(null);d.useEffect(()=>{Vd().then(J=>y(J)).catch(()=>{})},[]);const[g,j]=d.useState(null),{activeInstance:v}=gt(),_=e??g??(v==null?void 0:v.id),{data:f}=Ne({queryKey:["version-sync","instances-page",_??"default"],queryFn:()=>a_(_),staleTime:5*60*1e3,refetchInterval:5*60*1e3}),{data:x,isLoading:b,error:T,refetch:R}=Ne({queryKey:["instances"],queryFn:()=>ke("/instances"),staleTime:0}),L=(x==null?void 0:x.instances)??[],N=e??g??((te=L[0])==null?void 0:te.instanceId)??null,k=L.find(J=>J.instanceId===N)??null,B=async()=>{if(!a){r(!0);try{await R()}finally{r(!1)}}},M=async J=>{if(!o){c(J);try{const Z=await fetch(`/api/control-plane/instances/${encodeURIComponent(J)}/doctor`,{method:"POST"}),O=await Z.json();if(!Z.ok){console.error("[doctor] failed",O);return}l({instanceId:J,data:O})}catch(Z){console.error("[doctor] unexpected error",Z)}finally{c(null)}}};if(b)return n.jsx("div",{className:w.page,children:n.jsx("div",{className:w.stateShell,children:n.jsxs("div",{className:w.loadingState,children:[n.jsx(Fe,{size:"md",label:"Loading instances"}),n.jsx("span",{children:"Discovering instances..."})]})})});if(T){const J=T.message.toLowerCase().includes("failed to fetch")||T.message.toLowerCase().includes("networkerror");return n.jsx("div",{className:w.page,children:n.jsx("div",{className:w.stateShell,children:n.jsxs("div",{className:w.errorState,children:[n.jsx("span",{className:w.errorIcon,children:"!"}),n.jsx("p",{className:w.errorTitle,children:J?"Control plane API unavailable":"Unable to load instances"}),n.jsx("p",{className:w.errorBody,children:J?"The browser cannot reach the control-plane backend. Instance discovery and start/stop controls are unavailable until the backend is running.":T.message}),J&&n.jsxs("div",{className:w.commandHintBlock,children:[n.jsx("p",{className:w.commandHintLabel,children:"Start the control-plane backend:"}),n.jsx("code",{className:w.commandHint,children:"node src\\server\\dist\\index.js"}),n.jsx(Fa,{command:"node src\\\\server\\\\dist\\\\index.js",allowRun:!1,compact:!0})]}),n.jsx("button",{className:w.retryBtn,onClick:()=>void R(),type:"button",children:"Retry"})]})})})}if(L.length===0){const J=h!==null&&!h.installed;return n.jsx("div",{className:w.page,children:n.jsx("div",{className:w.stateShell,children:n.jsxs("div",{className:w.emptyState,children:[n.jsx("span",{className:w.emptyIcon,children:"[]"}),n.jsx("p",{className:w.emptyTitle,children:"No instances discovered"}),n.jsx("p",{className:w.emptyBody,children:J?"Iranti is not installed on this machine. Install it to create and manage instances.":"No instance folders were discovered under the known runtime roots. If an instance is configured but stopped, it should appear here with a Start action."}),J&&n.jsxs("div",{style:{marginTop:"var(--space-2)"},children:[n.jsx("p",{className:w.emptyBody,children:"Install Iranti to create and manage instances."}),n.jsx(Fa,{command:"npm install -g iranti",allowRun:!1,compact:!0})]}),!J&&n.jsx("p",{className:w.emptyBody,children:"The control plane scans registered runtime roots and `instances/*` folders."}),n.jsx("button",{className:w.retryBtn,onClick:()=>void R(),type:"button",children:"Refresh"})]})})})}return n.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",background:"var(--color-bg-base)"},children:[n.jsx(EO,{installState:h}),f&&f.status==="behind"&&f.latestVersion!==null&&n.jsx(LO,{versionSync:f,activeInstanceName:(k==null?void 0:k.name)??(v==null?void 0:v.name)??((de=L[0])==null?void 0:de.name)??"local",onUpgradeComplete:()=>void R()}),n.jsxs("div",{className:w.page,style:{flex:1,overflow:"hidden"},children:[n.jsxs("div",{className:w.instanceList,children:[n.jsxs("div",{className:w.listHeader,children:[n.jsx("span",{className:w.listTitle,children:"Instances"}),n.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-1)"},children:[n.jsx("button",{className:w.createInstanceBtn,type:"button",onClick:()=>m(!0),title:"Create a new Iranti instance","aria-label":"Create instance",children:"+"}),n.jsx("button",{className:w.refreshBtn,onClick:()=>void R(),type:"button","aria-label":"Refresh instance list",title:"Refresh",children:"Refresh"})]})]}),L.map(J=>n.jsx(IO,{instance:J,selected:J.instanceId===N,onClick:()=>{j(J.instanceId),t(`/instances/${encodeURIComponent(J.instanceId)}`)},_tick:p},J.instanceId)),(x==null?void 0:x.discoveredAt)&&n.jsxs("div",{className:w.listFooter,children:["Discovered ",Oa(x.discoveredAt)]})]}),n.jsxs("div",{className:w.detailColumn,children:[k?n.jsx(qO,{instance:k,instances:L,onRefresh:()=>void B(),isRefreshing:a,onRunDoctor:J=>void M(J),onUpgradeComplete:()=>void R(),onLifecycleChange:()=>void R(),onRefetchInstances:()=>void R()}):n.jsx("div",{className:w.noSelection,children:n.jsx("span",{className:w.noSelectionText,children:"Select an instance to view details"})}),o&&n.jsxs("div",{className:w.doctorRunning,children:[n.jsx(Fe,{size:"sm",label:"Running doctor"}),n.jsx("span",{children:"Running doctor checks..."})]})]}),i&&n.jsx(SA,{instanceId:i.instanceId,data:i.data,onClose:()=>l(null)})]}),u&&n.jsx("div",{className:w.modalOverlay,role:"dialog","aria-modal":"true","aria-label":"Create instance",children:n.jsx("div",{className:w.createModalBox,children:n.jsx(h5,{suggestedPort:CO((x==null?void 0:x.instances)??[],s.createInstanceDefaults.startPort),instances:(x==null?void 0:x.instances)??[],onSuccess:J=>{m(!1),R().then(Z=>{var Ie;const O=(Ie=Z.data)==null?void 0:Ie.instances.find(G=>G.name===J);O&&j(O.instanceId)})},onCancel:()=>m(!1)})})}),n.jsx("div",{className:w.lifecycleTrackingNote,children:"Process tracking is session-based — if the control plane restarts, use Start to reconnect to running instances."})]})}const WO={db_reachability:{error:"Iranti cannot connect to PostgreSQL. Ensure PostgreSQL is running and DATABASE_URL in your instance .env file is correct. Check that the host, port, and credentials in the connection string are reachable from this machine. Run `iranti instance show local` to inspect the current database config.",warn:"Database connection is degraded. Verify that PostgreSQL is running and that DATABASE_URL in your instance .env file is set correctly. Run `iranti doctor --instance local` for a full environment check."},db_schema_version:{warn:"The Iranti database schema may need migrations applied. Run `iranti doctor --instance local` to check schema state and follow any prompts.",error:"The Iranti database schema version could not be determined — the schema may be uninitialized. Run `iranti doctor --instance local` to diagnose and apply any pending migrations."},vector_backend:{warn:"pgvector extension is not installed or not configured. Run this in your PostgreSQL database: CREATE EXTENSION IF NOT EXISTS vector; Then restart Iranti.",error:"The vector backend is unreachable or misconfigured. Run: CREATE EXTENSION IF NOT EXISTS vector; in your PostgreSQL database, then restart Iranti."},anthropic_key:{warn:"ANTHROPIC_API_KEY is not set but Claude is your active provider. Add the key via the Provider Manager, or run: `iranti add api-key claude --instance local` to store it in your instance config."},openai_key:{warn:"OPENAI_API_KEY is not set but OpenAI is your active provider. Add the key via the Provider Manager, or run: `iranti add api-key openai --instance local` to store it in your instance config."},default_provider_configured:{warn:"LLM_PROVIDER is not set in the instance .env file. Iranti will use its built-in fallback, which may not match your preferred provider. Set LLM_PROVIDER=openai (or claude) in the instance .env file (e.g. ~/.iranti-runtime/instances/local/.env) and restart Iranti.",error:"LLM_PROVIDER is set to an unrecognized value in the instance .env file. Valid values are: claude, openai, ollama, groq, mistral, together, gemini. Update LLM_PROVIDER in the instance .env file and restart Iranti."},mcp_integration:{warn:"No bound project for this instance has a valid .mcp.json with an Iranti entry. Bind the project first if needed, then add or repair .mcp.json in the bound project directory."},claude_md_integration:{warn:"No bound project for this instance has a CLAUDE.md that references Iranti. Bind the project first if needed, then add or repair CLAUDE.md in the bound project directory."},runtime_version:{warn:"The running Iranti version could not be determined. This is usually harmless, but if you are troubleshooting, ensure Iranti is running and the version file is accessible."},staff_events_table:{warn:"The staff_events table does not exist in your database. Run the control plane migrations to enable the Staff Activity Stream: `npm run migrate` from your iranti-control-plane directory.",error:"The staff_events table is missing. Run `npm run migrate` from your iranti-control-plane directory to apply pending migrations."}};function KO(e,t){if(t==="ok")return null;const s=WO[e];return s?s[t]??s.warn??null:null}const GO="_section_cd7x9_9",QO="_sectionHeader_cd7x9_14",JO="_sectionTitle_cd7x9_23",YO="_sectionMeta_cd7x9_32",XO="_refreshBtn_cd7x9_42",ZO="_refreshBtnSpinning_cd7x9_69",e9="_grid_cd7x9_81",t9="_card_cd7x9_91",n9="_cardConnected_cd7x9_103",s9="_cardUnreachable_cd7x9_107",a9="_cardNotConfigured_cd7x9_111",r9="_cardHeader_cd7x9_115",i9="_providerIcon_cd7x9_125",l9="_providerMeta_cd7x9_143",o9="_providerNameRow_cd7x9_151",c9="_providerName_cd7x9_151",d9="_providerEnvVar_cd7x9_163",u9="_cardBadges_cd7x9_173",h9="_badge_cd7x9_181",p9="_badgeConnected_cd7x9_192",m9="_badgeUnreachable_cd7x9_198",f9="_badgeNotConfigured_cd7x9_204",_9="_defaultBadge_cd7x9_210",g9="_keyPresent_cd7x9_224",y9="_keyAbsent_cd7x9_230",x9="_keyMasked_cd7x9_240",v9="_keyMaskedLabel_cd7x9_248",j9="_keyMaskedValue_cd7x9_257",N9="_cardFooter_cd7x9_271",b9="_lastChecked_cd7x9_278",S9="_expandBtn_cd7x9_285",w9="_modelsPanel_cd7x9_306",C9="_modelList_cd7x9_312",k9="_modelListHeader_cd7x9_318",T9="_modelCount_cd7x9_325",R9="_modelSource_cd7x9_331",I9="_modelItems_cd7x9_337",B9="_modelItem_cd7x9_337",E9="_modelId_cd7x9_355",L9="_modelContext_cd7x9_366",P9="_modelItemMore_cd7x9_372",A9="_modelsLoading_cd7x9_379",$9="_modelsEmpty_cd7x9_380",D9="_modelsError_cd7x9_381",M9="_emptyState_cd7x9_397",F9="_emptyIcon_cd7x9_409",O9="_emptyTitle_cd7x9_415",H9="_emptyBody_cd7x9_422",z9="_loadingText_cd7x9_443",U9="_errorState_cd7x9_451",me={section:GO,sectionHeader:QO,sectionTitle:JO,sectionMeta:YO,refreshBtn:XO,refreshBtnSpinning:ZO,grid:e9,card:t9,cardConnected:n9,cardUnreachable:s9,cardNotConfigured:a9,cardHeader:r9,providerIcon:i9,providerMeta:l9,providerNameRow:o9,providerName:c9,providerEnvVar:d9,cardBadges:u9,badge:h9,badgeConnected:p9,badgeUnreachable:m9,badgeNotConfigured:f9,defaultBadge:_9,keyPresent:g9,keyAbsent:y9,keyMasked:x9,keyMaskedLabel:v9,keyMaskedValue:j9,cardFooter:N9,lastChecked:b9,expandBtn:S9,modelsPanel:w9,modelList:C9,modelListHeader:k9,modelCount:T9,modelSource:R9,modelItems:I9,modelItem:B9,modelId:E9,modelContext:L9,modelItemMore:P9,modelsLoading:A9,modelsEmpty:$9,modelsError:D9,emptyState:M9,emptyIcon:F9,emptyTitle:O9,emptyBody:H9,loadingText:z9,errorState:U9};function V9(e){switch(e){case"claude":return"C";case"openai":return"OA";case"ollama":return"OL";default:return e.slice(0,2).toUpperCase()}}function q9(e){return e.keyPresent?e.reachable?"connected":"unreachable":"not_configured"}function W9({state:e}){const t={connected:"Connected",unreachable:"Unreachable",not_configured:"Not configured"},s={connected:me.badgeConnected,unreachable:me.badgeUnreachable,not_configured:me.badgeNotConfigured};return n.jsx("span",{className:`${me.badge} ${s[e]}`,"aria-label":`Reachability: ${t[e]}`,children:t[e]})}function K9({providerId:e,reachable:t,instanceId:s}){const{data:a,isLoading:r,error:i}=Ne({queryKey:["provider-models",s,e],queryFn:()=>ke(`/providers/${e}/models`,{instanceId:s}),staleTime:3e5,enabled:t||e==="claude"});if(r)return n.jsx("p",{className:me.modelsLoading,children:"Loading models…"});if(i||!a)return n.jsx("p",{className:me.modelsError,children:"Could not load models"});if(a.models.length===0)return n.jsx("p",{className:me.modelsEmpty,children:"No models available"});const l=a.source==="live"?"live":a.source==="fallback"?"fallback list":"static list";return n.jsxs("div",{className:me.modelList,children:[n.jsxs("div",{className:me.modelListHeader,children:[n.jsxs("span",{className:me.modelCount,children:[a.models.length," model",a.models.length!==1?"s":""]}),n.jsxs("span",{className:me.modelSource,children:["via ",l]})]}),n.jsxs("ul",{className:me.modelItems,"aria-label":`Models for ${e}`,children:[a.models.slice(0,8).map(o=>n.jsxs("li",{className:me.modelItem,children:[n.jsx("span",{className:me.modelId,children:o.id}),o.context>0&&n.jsxs("span",{className:me.modelContext,children:[(o.context/1e3).toFixed(0),"k ctx"]})]},o.id)),a.models.length>8&&n.jsxs("li",{className:me.modelItemMore,children:["+",a.models.length-8," more"]})]})]})}function G9({provider:e,instanceId:t}){const[s,a]=d.useState(!1),r=q9(e),i=r==="connected"?me.cardConnected:r==="unreachable"?me.cardUnreachable:me.cardNotConfigured;return n.jsxs("div",{className:`${me.card} ${i}`,"aria-label":`${e.name} provider status`,children:[n.jsxs("div",{className:me.cardHeader,children:[n.jsx("span",{className:me.providerIcon,"aria-hidden":"true",children:V9(e.id)}),n.jsxs("div",{className:me.providerMeta,children:[n.jsxs("div",{className:me.providerNameRow,children:[n.jsx("span",{className:me.providerName,children:e.name}),e.isDefault&&n.jsx("span",{className:me.defaultBadge,"aria-label":"Default provider",children:"Default"})]}),n.jsx("span",{className:me.providerEnvVar,children:e.keyEnvVar})]}),n.jsxs("div",{className:me.cardBadges,children:[n.jsx("span",{className:e.keyPresent?me.keyPresent:me.keyAbsent,"aria-label":e.keyPresent?"API key present":"API key absent",children:e.keyPresent?"✓ Key set":"✗ No key"}),n.jsx(W9,{state:r})]})]}),e.keyPresent&&e.keyMasked&&n.jsxs("div",{className:me.keyMasked,"aria-label":"Masked API key",children:[n.jsx("span",{className:me.keyMaskedLabel,children:"key"}),n.jsx("code",{className:me.keyMaskedValue,children:e.keyMasked})]}),n.jsxs("div",{className:me.cardFooter,children:[n.jsxs("span",{className:me.lastChecked,children:["Checked: ",new Date(e.lastChecked).toLocaleTimeString()]}),(r==="connected"||e.id==="claude")&&n.jsx("button",{className:me.expandBtn,onClick:()=>a(l=>!l),type:"button","aria-expanded":s,"aria-controls":`models-${e.id}`,children:s?"Hide models":"Show models"})]}),s&&n.jsx("div",{id:`models-${e.id}`,className:me.modelsPanel,children:n.jsx(K9,{providerId:e.id,reachable:e.reachable,instanceId:t})})]})}function Q9(){return n.jsxs("div",{className:me.emptyState,children:[n.jsx("span",{className:me.emptyIcon,"aria-hidden":"true",children:"⬡"}),n.jsx("p",{className:me.emptyTitle,children:"No providers configured"}),n.jsx("p",{className:me.emptyBody,children:"Configure provider credentials in the selected instance env, or use the Provider Manager to write them."})]})}function J9({instanceId:e}){const{data:t,isLoading:s,error:a,refetch:r,isFetching:i}=Ne({queryKey:["providers",e],queryFn:()=>ke("/providers",{instanceId:e}),staleTime:6e4,refetchInterval:3e5}),l=()=>void r(),o=(t==null?void 0:t.providers.filter(c=>c.keyPresent))??[];return n.jsxs("section",{className:me.section,"aria-labelledby":"providers-heading",children:[n.jsxs("div",{className:me.sectionHeader,children:[n.jsx("h2",{id:"providers-heading",className:me.sectionTitle,children:"Providers"}),t&&n.jsxs("span",{className:me.sectionMeta,children:[o.length," configured",t.scope?` for ${t.scope.instanceName}`:""]}),n.jsx("button",{className:`${me.refreshBtn} ${i?me.refreshBtnSpinning:""}`,onClick:l,disabled:i,type:"button","aria-label":"Refresh provider status",title:"Refresh provider reachability",children:"↺"})]}),s&&n.jsx("p",{className:me.loadingText,"aria-busy":"true",children:"Checking providers…"}),!s&&a&&n.jsxs("div",{className:me.errorState,children:[n.jsx("span",{"aria-hidden":"true",children:"✗"})," Could not load provider status: ",a.message]}),!s&&t&&o.length===0&&n.jsx(Q9,{}),!s&&t&&t.providers.length>0&&n.jsx("div",{className:me.grid,children:t.providers.map(c=>n.jsx(G9,{provider:c,instanceId:e},c.id))})]})}const Y9="_section_1pxf4_8",X9="_details_1pxf4_17",Z9="_summary_1pxf4_22",e8="_panelHeader_1pxf4_50",t8="_panelTitle_1pxf4_57",n8="_panelNote_1pxf4_66",s8="_warningChip_1pxf4_72",a8="_toolGrid_1pxf4_92",r8="_toolCard_1pxf4_102",i8="_toolTitle_1pxf4_113",l8="_toolSubtitle_1pxf4_120",o8="_fieldGroup_1pxf4_132",c8="_field_1pxf4_132",d8="_label_1pxf4_144",u8="_labelOptional_1pxf4_152",h8="_input_1pxf4_160",p8="_textarea_1pxf4_183",m8="_textareaSmall_1pxf4_200",f8="_actionRow_1pxf4_216",_8="_runBtn_1pxf4_222",g8="_spinner_1pxf4_251",y8="_errorMsg_1pxf4_266",x8="_resultBlock_1pxf4_278",v8="_resultLabel_1pxf4_284",j8="_resultPre_1pxf4_292",ge={section:Y9,details:X9,summary:Z9,panelHeader:e8,panelTitle:t8,panelNote:n8,warningChip:s8,toolGrid:a8,toolCard:r8,toolTitle:i8,toolSubtitle:l8,fieldGroup:o8,field:c8,label:d8,labelOptional:u8,input:h8,textarea:p8,textareaSmall:m8,actionRow:f8,runBtn:_8,spinner:g8,errorMsg:y8,resultBlock:x8,resultLabel:v8,resultPre:j8};function N8(){const[e,t]=d.useState(""),[s,a]=d.useState(""),[r,i]=d.useState(!1),[l,o]=d.useState(null),[c,u]=d.useState(null),m=e.trim()!==""&&s.trim()!==""&&!r,p=async()=>{if(m){i(!0),u(null),o(null);try{const h=await Qj(e.trim(),s.trim());o(h)}catch(h){u(h instanceof Error?h.message:String(h))}finally{i(!1)}}};return n.jsxs("div",{className:ge.toolCard,children:[n.jsx("h3",{className:ge.toolTitle,children:"Manual Handshake"}),n.jsx("p",{className:ge.toolSubtitle,children:"Simulate what the Attendant sends to an agent on session start."}),n.jsxs("div",{className:ge.fieldGroup,children:[n.jsxs("div",{className:ge.field,children:[n.jsx("label",{htmlFor:"handshake-agent-id",className:ge.label,children:"Agent ID"}),n.jsx("input",{id:"handshake-agent-id",type:"text",className:ge.input,placeholder:"e.g. frontend_developer",value:e,onChange:h=>t(h.target.value),disabled:r,autoComplete:"off",spellCheck:!1})]}),n.jsxs("div",{className:ge.field,children:[n.jsx("label",{htmlFor:"handshake-task",className:ge.label,children:"Task Description"}),n.jsx("textarea",{id:"handshake-task",className:ge.textarea,placeholder:"Describe the task this agent is starting…",value:s,onChange:h=>a(h.target.value),disabled:r,spellCheck:!1})]})]}),n.jsxs("div",{className:ge.actionRow,children:[n.jsxs("button",{type:"button",className:ge.runBtn,disabled:!m,onClick:()=>void p(),"aria-busy":r,"aria-label":"Run handshake against live Iranti instance",children:[r&&n.jsx("span",{className:ge.spinner,"aria-hidden":"true"}),r?"Running…":"Run Handshake"]}),c&&n.jsxs("div",{className:ge.errorMsg,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"✗"}),c]})]}),l!==null&&n.jsxs("div",{className:ge.resultBlock,children:[n.jsx("span",{className:ge.resultLabel,children:"Response"}),n.jsx("pre",{className:ge.resultPre,children:JSON.stringify(l,null,2)})]})]})}function b8(){const[e,t]=d.useState(""),[s,a]=d.useState(""),[r,i]=d.useState(""),[l,o]=d.useState(!1),[c,u]=d.useState(null),[m,p]=d.useState(null),h=e.trim()!==""&&s.trim()!==""&&!l,y=async()=>{if(h){o(!0),p(null),u(null);try{const g=await Jj(e.trim(),s.trim(),r.trim()!==""?r.trim():void 0);u(g)}catch(g){p(g instanceof Error?g.message:String(g))}finally{o(!1)}}};return n.jsxs("div",{className:ge.toolCard,children:[n.jsx("h3",{className:ge.toolTitle,children:"Manual Attend"}),n.jsx("p",{className:ge.toolSubtitle,children:"Query the Attendant for memory blocks relevant to a given context."}),n.jsxs("div",{className:ge.fieldGroup,children:[n.jsxs("div",{className:ge.field,children:[n.jsx("label",{htmlFor:"attend-agent-id",className:ge.label,children:"Agent ID"}),n.jsx("input",{id:"attend-agent-id",type:"text",className:ge.input,placeholder:"e.g. frontend_developer",value:e,onChange:g=>t(g.target.value),disabled:l,autoComplete:"off",spellCheck:!1})]}),n.jsxs("div",{className:ge.field,children:[n.jsx("label",{htmlFor:"attend-query",className:ge.label,children:"Query"}),n.jsx("input",{id:"attend-query",type:"text",className:ge.input,placeholder:"What memory to retrieve…",value:s,onChange:g=>a(g.target.value),disabled:l,autoComplete:"off",spellCheck:!1})]}),n.jsxs("div",{className:ge.field,children:[n.jsx("label",{htmlFor:"attend-context",className:ge.labelOptional,children:"Context (optional)"}),n.jsx("textarea",{id:"attend-context",className:`${ge.textarea} ${ge.textareaSmall}`,placeholder:"Additional context to scope the attend query…",value:r,onChange:g=>i(g.target.value),disabled:l,spellCheck:!1})]})]}),n.jsxs("div",{className:ge.actionRow,children:[n.jsxs("button",{type:"button",className:ge.runBtn,disabled:!h,onClick:()=>void y(),"aria-busy":l,"aria-label":"Run attend query against live Iranti instance",children:[l&&n.jsx("span",{className:ge.spinner,"aria-hidden":"true"}),l?"Running…":"Run Attend"]}),m&&n.jsxs("div",{className:ge.errorMsg,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"✗"}),m]})]}),c!==null&&n.jsxs("div",{className:ge.resultBlock,children:[n.jsx("span",{className:ge.resultLabel,children:"Response"}),n.jsx("pre",{className:ge.resultPre,children:JSON.stringify(c,null,2)})]})]})}function S8(){return n.jsxs("details",{className:ge.details,children:[n.jsx("summary",{className:ge.summary,"aria-label":"Expand Attendant Debug Tools",children:"Attendant Debug Tools ▾"}),n.jsxs("div",{className:ge.section,children:[n.jsxs("div",{className:ge.panelHeader,children:[n.jsx("h2",{className:ge.panelTitle,children:"Attendant Debug Tools"}),n.jsx("p",{className:ge.panelNote,children:"These tools call the live Iranti instance. Results reflect current memory state."}),n.jsx("span",{className:ge.warningChip,"aria-label":"Warning: debug tools only",children:"⚠ Debug tools only. Do not use in production workflows."})]}),n.jsxs("div",{className:ge.toolGrid,children:[n.jsx(N8,{}),n.jsx(b8,{})]})]})]})}const w8="_page_1l591_4",C8="_header_1l591_16",k8="_headerLeft_1l591_27",T8="_headerRight_1l591_34",R8="_headerMeta_1l591_41",I8="_overallLoading_1l591_48",B8="_checkedAt_1l591_54",E8="_versionStatus_1l591_62",L8="_versionPrefix_1l591_70",P8="_versionUpToDate_1l591_74",A8="_versionUpdateAvailable_1l591_78",$8="_versionReleaseLink_1l591_82",D8="_overallBadge_1l591_94",M8="_badgeCritical_1l591_107",F8="_badgeWarning_1l591_113",O8="_badgeOperational_1l591_119",H8="_badgeHealthy_1l591_125",z8="_countdown_1l591_146",U8="_countdownBar_1l591_155",V8="_countdownLabel_1l591_164",q8="_refreshBtn_1l591_170",W8="_refreshBtnSpinning_1l591_196",K8="_setupBannerWarning_1l591_208",G8="_setupBannerIcon_1l591_245",Q8="_operatorSummary_1l591_251",J8="_operatorSummaryHeader_1l591_261",Y8="_operatorSummaryTitle_1l591_269",X8="_operatorSummaryMeta_1l591_277",Z8="_operatorSummaryLead_1l591_282",eH="_operatorSummaryGrid_1l591_290",tH="_operatorSummaryCard_1l591_296",nH="_operatorSummaryCardTitle_1l591_306",sH="_operatorSummaryCardBody_1l591_312",aH="_scrollContainer_1l591_323",rH="_grid_1l591_334",iH="_card_1l591_346",lH="_cardOk_1l591_357",oH="_cardWarn_1l591_361",cH="_cardCritical_1l591_371",dH="_cardInfo_1l591_376",uH="_cardHeader_1l591_384",hH="_statusIcon_1l591_390",pH="_iconOk_1l591_399",mH="_iconWarn_1l591_403",fH="_iconCritical_1l591_412",_H="_iconInfo_1l591_416",gH="_severityBadge_1l591_422",yH="_severityBadgeCritical_1l591_436",xH="_severityBadgeWarning_1l591_442",vH="_severityBadgeInfo_1l591_448",jH="_severityBadgeHealthy_1l591_454",NH="_cardName_1l591_460",bH="_cardMessage_1l591_466",SH="_cardDetail_1l591_475",wH="_cardDetailRow_1l591_483",CH="_cardDetailKey_1l591_489",kH="_cardDetailVal_1l591_496",TH="_remediation_1l591_504",RH="_remediationLabel_1l591_512",IH="_remediationText_1l591_522",BH="_normalization_1l591_532",EH="_normalizationLabel_1l591_543",LH="_normalizationText_1l591_550",PH="_repairBtn_1l591_562",AH="_repairSuccess_1l591_582",$H="_repairSuccessIcon_1l591_594",DH="_repairSuccessTitle_1l591_599",MH="_repairSuccessPath_1l591_604",FH="_repairSuccessAction_1l591_610",OH="_repairSuccessWarning_1l591_615",HH="_repairError_1l591_622",zH="_unavailableState_1l591_666",UH="_unavailableIcon_1l591_677",VH="_unavailableTitle_1l591_683",qH="_unavailableBody_1l591_690",WH="_unavailableDetail_1l591_698",KH="_retryBtn_1l591_707",GH="_capabilitySection_1l591_729",QH="_capabilitySectionHeader_1l591_734",JH="_capabilitySectionTitle_1l591_743",YH="_capabilitySectionMeta_1l591_752",XH="_capabilityInlineCode_1l591_759",ZH="_providerBannerLink_1l591_788",ez="_diagnosticsSection_1l591_804",tz="_diagnosticsSectionHeader_1l591_809",nz="_diagnosticsSectionTitle_1l591_818",sz="_runDiagnosticsBtn_1l591_828",az="_diagSpinner_1l591_856",rz="_diagErrorStrip_1l591_872",iz="_diagSummaryBanner_1l591_887",lz="_diagSummaryPass_1l591_899",oz="_diagSummaryWarn_1l591_905",cz="_diagSummaryFail_1l591_911",dz="_diagPanelToggle_1l591_918",uz="_diagTable_1l591_937",hz="_diagCheckName_1l591_972",pz="_diagStatusBadge_1l591_979",mz="_diagBadgePass_1l591_992",fz="_diagBadgeWarn_1l591_998",_z="_diagBadgeFail_1l591_1004",gz="_diagDuration_1l591_1011",yz="_diagMessageCell_1l591_1020",xz="_diagMessage_1l591_1020",vz="_diagFixHint_1l591_1030",jz="_diagInlineCode_1l591_1037",Nz="_diagLastRunMeta_1l591_1047",bz="_diagLastRunCollapsed_1l591_1054",Sz="_diagPanelContainer_1l591_1067",wz="_repairActionRow_1l591_1075",Cz="_repairActionBtn_1l591_1080",kz="_repairActionSpinner_1l591_1106",I={page:w8,header:C8,headerLeft:k8,headerRight:T8,headerMeta:R8,overallLoading:I8,checkedAt:B8,versionStatus:E8,versionPrefix:L8,versionUpToDate:P8,versionUpdateAvailable:A8,versionReleaseLink:$8,overallBadge:D8,badgeCritical:M8,badgeWarning:F8,badgeOperational:O8,badgeHealthy:H8,countdown:z8,countdownBar:U8,countdownLabel:V8,refreshBtn:q8,refreshBtnSpinning:W8,setupBannerWarning:K8,setupBannerIcon:G8,operatorSummary:Q8,operatorSummaryHeader:J8,operatorSummaryTitle:Y8,operatorSummaryMeta:X8,operatorSummaryLead:Z8,operatorSummaryGrid:eH,operatorSummaryCard:tH,operatorSummaryCardTitle:nH,operatorSummaryCardBody:sH,scrollContainer:aH,grid:rH,card:iH,cardOk:lH,cardWarn:oH,cardCritical:cH,cardInfo:dH,cardHeader:uH,statusIcon:hH,iconOk:pH,iconWarn:mH,iconCritical:fH,iconInfo:_H,severityBadge:gH,severityBadgeCritical:yH,severityBadgeWarning:xH,severityBadgeInfo:vH,severityBadgeHealthy:jH,cardName:NH,cardMessage:bH,cardDetail:SH,cardDetailRow:wH,cardDetailKey:CH,cardDetailVal:kH,remediation:TH,remediationLabel:RH,remediationText:IH,normalization:BH,normalizationLabel:EH,normalizationText:LH,repairBtn:PH,repairSuccess:AH,repairSuccessIcon:$H,repairSuccessTitle:DH,repairSuccessPath:MH,repairSuccessAction:FH,repairSuccessWarning:OH,repairError:HH,unavailableState:zH,unavailableIcon:UH,unavailableTitle:VH,unavailableBody:qH,unavailableDetail:WH,retryBtn:KH,capabilitySection:GH,capabilitySectionHeader:QH,capabilitySectionTitle:JH,capabilitySectionMeta:YH,capabilityInlineCode:XH,providerBannerLink:ZH,diagnosticsSection:ez,diagnosticsSectionHeader:tz,diagnosticsSectionTitle:nz,runDiagnosticsBtn:sz,diagSpinner:az,diagErrorStrip:rz,diagSummaryBanner:iz,diagSummaryPass:lz,diagSummaryWarn:oz,diagSummaryFail:cz,diagPanelToggle:dz,diagTable:uz,diagCheckName:hz,diagStatusBadge:pz,diagBadgePass:mz,diagBadgeWarn:fz,diagBadgeFail:_z,diagDuration:gz,diagMessageCell:yz,diagMessage:xz,diagFixHint:vz,diagInlineCode:jz,diagLastRunMeta:Nz,diagLastRunCollapsed:bz,diagPanelContainer:Sz,repairActionRow:wz,repairActionBtn:Cz,repairActionSpinner:kz},Xh=3e4,Tz={db_reachability:"Database Connection",db_schema_version:"Schema Version",vector_backend:"Vector Backend (pgvector)",anthropic_key:"Claude API Key",openai_key:"OpenAI API Key",default_provider_configured:"Default Provider",mcp_integration:"MCP Integration",claude_md_integration:"CLAUDE.md",runtime_version:"Iranti Version",staff_events_table:"Staff Events Table"};function Mi(e){return Tz[e]??e.replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function zs(e){const{name:t,status:s}=e;return s==="ok"?"HEALTHY":t==="db_reachability"&&s==="error"||t==="db_schema_version"&&s==="error"||t==="vector_backend"&&s==="error"||t==="default_provider_configured"&&s==="error"?"CRITICAL":t==="runtime_version"&&s==="warn"||t==="staff_events_table"&&s==="warn"||t==="mcp_integration"&&s==="warn"||t==="claude_md_integration"&&s==="warn"?"INFO":"WARNING"}function E_(e){switch(e){case"runtime_version":return"A newer version is available, but this update is non-breaking. Iranti is fully operational on your current version.";case"staff_events_table":return"The staff_events table is created by the control plane migrations. Run `npm run migrate` to enable the Staff Activity Stream.";case"mcp_integration":return"MCP integration is a per-project setup step, not a runtime requirement. Iranti is fully operational without it.";case"claude_md_integration":return"CLAUDE.md integration is a per-project setup step. Iranti is fully operational without it in this directory.";default:return null}}const Rz={},Iz={iranti_connectivity:{label:"Start Iranti",action:"trigger",target:"start-iranti"},iranti_auth:{label:"Configure API Key",action:"navigate",target:"/providers"},db_connectivity:{label:"View setup guide",action:"navigate",target:"/getting-started"},db_reachability:{label:"View setup guide",action:"navigate",target:"/getting-started"},vector_backend:{label:"View setup guide",action:"navigate",target:"/getting-started"},ingest_roundtrip:{label:"Run diagnostics",action:"trigger",target:"run-diagnostics"},attend_check:{label:"View Attendant logs",action:"navigate",target:"/logs?component=attendant"},vector_search_check:{label:"View setup guide",action:"navigate",target:"/getting-started"}};function Zh(e){switch(e){case"CRITICAL":return 0;case"WARNING":return 1;case"INFO":return 2;case"HEALTHY":return 3}}function Yd(e){const t=e.map(s=>zs(s));return t.includes("CRITICAL")?{label:"Action Required",kind:"critical"}:t.includes("WARNING")?{label:"Needs Attention",kind:"warning"}:t.includes("INFO")?{label:"Operational",kind:"operational"}:{label:"Healthy",kind:"healthy"}}function Bz(e){const t=e.filter(r=>zs(r)==="CRITICAL");if(t.length>0)return t.slice(0,3).map(r=>({title:`Fix ${Mi(r.name)}`,body:r.message}));const s=e.filter(r=>zs(r)==="WARNING");if(s.length>0)return s.slice(0,3).map(r=>({title:`Review ${Mi(r.name)}`,body:r.message}));const a=e.filter(r=>zs(r)==="INFO");return a.length>0?a.slice(0,3).map(r=>({title:`${Mi(r.name)} note`,body:E_(r.name)??r.message})):[{title:"No immediate operator action",body:"Runtime health, provider setup, and project-level integrations are in a good place right now."}]}function Ez(e){const{kind:t}=Yd(e);return t==="critical"?"Iranti is blocked right now. Fix the critical items first, then refresh before trusting the rest of the page.":t==="warning"?"Iranti is running, but some capabilities are degraded. Use the cards below to decide what to fix next.":t==="operational"?"Iranti is operational. The notes below are informative rather than blocking.":"Iranti is in a healthy state. Use the cards below only if you are checking specific capabilities."}function Lz(e){return Math.max(0,Math.floor((Date.now()-new Date(e).getTime())/1e3))}function Pz(e){if(e<5)return"just now";if(e<60)return`${e} seconds ago`;const t=Math.floor(e/60);if(t<60)return`${t} minute${t!==1?"s":""} ago`;const s=Math.floor(t/60);return`${s} hour${s!==1?"s":""} ago`}function Az({checks:e}){const{label:t,kind:s}=Yd(e),a={critical:I.badgeCritical,warning:I.badgeWarning,operational:I.badgeOperational,healthy:I.badgeHealthy},r={critical:"X",warning:"!",operational:"OK",healthy:"OK"};return n.jsxs("span",{className:`${I.overallBadge} ${a[s]}`,"aria-label":`Overall status: ${t}`,children:[n.jsx("span",{"aria-hidden":"true",children:r[s]})," ",t]})}function $z({checkedAt:e,intervalMs:t}){const[s,a]=d.useState(0);d.useEffect(()=>{const l=()=>a(Math.min(Date.now()-new Date(e).getTime(),t));l();const o=setInterval(l,1e3);return()=>clearInterval(o)},[e,t]);const r=Math.min(s/t,1),i=Math.max(0,Math.round((t-s)/1e3));return n.jsxs("div",{className:I.countdown,title:`Refreshing in ${i}s`,children:[n.jsx("div",{className:I.countdownBar,style:{width:`${r*100}%`}}),n.jsxs("span",{className:I.countdownLabel,children:["Refreshes in ",i,"s"]})]})}function zr({severity:e}){const t={CRITICAL:"Critical",WARNING:"Warning",INFO:"Info",HEALTHY:"Healthy"},s={CRITICAL:I.severityBadgeCritical,WARNING:I.severityBadgeWarning,INFO:I.severityBadgeInfo,HEALTHY:I.severityBadgeHealthy};return n.jsx("span",{className:`${I.severityBadge} ${s[e]}`,"aria-label":`Severity: ${t[e]}`,children:t[e]})}function Dz({check:e,onRunDiagnostics:t}){const s=zs(e),a=KO(e.name,e.status),r=s==="INFO"?E_(e.name):null,i=Mi(e.name),l=Rz[e.name],[o,c]=d.useState(!1),[u,m]=d.useState(!1),[p,h]=d.useState(null),[y,g]=d.useState(null),j=_t(),{activeInstance:v}=gt(),_=Iz[e.name],f=(s==="CRITICAL"||s==="WARNING")&&_!==void 0,[x,b]=d.useState(!1),[T,R]=d.useState(null),L=d.useCallback(async()=>{if(_){if(_.action==="navigate"){j(_.target);return}if(_.target==="run-diagnostics"){t==null||t(),R("Running..."),setTimeout(()=>R(null),3e3);return}if(_.target==="start-iranti"){const te=(v==null?void 0:v.name)??"local";b(!0),R("Starting...");try{await Al(te),R("Started - checking connectivity...")}catch(de){const J=de instanceof Error?de.message:"Failed to start";R(J)}finally{b(!1),setTimeout(()=>R(null),3e3)}}}},[_,j,t,v]),N=async()=>{if(l){m(!0),g(null);try{const te=await fetch(`${l.url}?confirm=true`,{method:"POST"}),de=await te.json();if(!te.ok){const J=de;throw new Error(J.error??te.statusText)}h({kind:l.kind,data:de})}catch(te){g(te instanceof Error?te.message:"Repair failed")}finally{m(!1),c(!1)}}},k={CRITICAL:"X",WARNING:"!",INFO:"i",HEALTHY:"OK"},B={CRITICAL:I.iconCritical,WARNING:I.iconWarn,INFO:I.iconInfo,HEALTHY:I.iconOk},M={CRITICAL:I.cardCritical,WARNING:I.cardWarn,INFO:I.cardInfo,HEALTHY:I.cardOk};return n.jsxs("div",{className:`${I.card} ${M[s]}`,"aria-label":`${i}: ${s.toLowerCase()}`,children:[n.jsxs("div",{className:I.cardHeader,children:[n.jsx("span",{className:`${I.statusIcon} ${B[s]}`,"aria-hidden":"true",children:k[s]}),n.jsx("span",{className:I.cardName,children:i}),n.jsx(zr,{severity:s}),(s==="WARNING"||s==="CRITICAL")&&l&&!p&&n.jsx("button",{className:I.repairBtn,onClick:()=>{h(null),g(null),c(!0)},type:"button","aria-label":`Repair: ${l.label}`,children:"Repair"})]}),n.jsx("p",{className:I.cardMessage,children:e.message}),p&&n.jsxs("div",{className:I.repairSuccess,children:[n.jsx("span",{className:I.repairSuccessIcon,"aria-hidden":"true",children:"OK"}),n.jsxs("div",{children:[n.jsx("span",{className:I.repairSuccessTitle,children:"Repair complete - "}),n.jsx("code",{className:I.repairSuccessPath,children:p.data.filePath}),n.jsxs("span",{className:I.repairSuccessAction,children:[" (",p.data.action,")"]}),n.jsx("p",{className:I.repairSuccessWarning,children:"This action is not revertable."})]})]}),y&&n.jsxs("div",{className:I.repairError,children:[n.jsx("span",{"aria-hidden":"true",children:"X"})," ",y]}),e.detail&&Object.keys(e.detail).length>0&&n.jsx("dl",{className:I.cardDetail,children:Object.entries(e.detail).map(([te,de])=>n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:te}),n.jsx("dd",{className:I.cardDetailVal,children:String(de)})]},te))}),s==="INFO"&&r&&n.jsxs("div",{className:I.normalization,children:[n.jsx("span",{className:I.normalizationLabel,"aria-hidden":"true",children:"i"}),n.jsx("p",{className:I.normalizationText,children:r})]}),(s==="CRITICAL"||s==="WARNING")&&a&&n.jsxs("div",{className:I.remediation,children:[n.jsx("span",{className:I.remediationLabel,children:s==="CRITICAL"?"Action required":"How to fix"}),n.jsx("p",{className:I.remediationText,children:a})]}),f&&_&&n.jsx("div",{className:I.repairActionRow,children:n.jsxs("button",{className:I.repairActionBtn,type:"button",disabled:x,onClick:()=>void L(),"aria-label":_.label,children:[x&&n.jsx("span",{className:I.repairActionSpinner,"aria-hidden":"true"}),T??_.label]})}),o&&l&&n.jsx(Wd,{title:l.label,description:`This will write to:
75
+ ${l.url}
76
+
77
+ The file will be generated using the current instance configuration.`,warning:"This action is not revertable. The file will be written immediately to the project directory.",confirmLabel:"Run Repair",loading:u,onConfirm:()=>void N(),onCancel:()=>c(!1)})]})}function Mz(e){switch(e){case"ok":return"HEALTHY";case"warn":return"WARNING";case"error":return"CRITICAL"}}function Fz({decay:e}){const{enabled:t,stabilityBase:s,stabilityMax:a,decayThreshold:r}=e,i=t?I.iconWarn:I.iconOk,l=t?"~":"OK",o=t?"Enabled":"Disabled",c=t?I.cardWarn:I.cardOk,u=t?n.jsx(zr,{severity:"WARNING"}):n.jsx(zr,{severity:"HEALTHY"});return n.jsxs("div",{className:`${I.card} ${c}`,"aria-label":`Memory Decay: ${o}`,children:[n.jsxs("div",{className:I.cardHeader,children:[n.jsx("span",{className:`${I.statusIcon} ${i}`,"aria-hidden":"true",children:l}),n.jsx("span",{className:I.cardName,children:"Memory Decay"}),u]}),n.jsx("p",{className:I.cardMessage,children:t?"Decay is active — facts below the stability threshold will be archived automatically. Amber indicates decay is enabled, not an error.":"Memory decay is disabled. Facts are archived only by expiry, low confidence (< 30), or Resolutionist resolution."}),t&&n.jsxs("dl",{className:I.cardDetail,children:[n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"stability base"}),n.jsxs("dd",{className:I.cardDetailVal,children:[s," days until first decay cycle"]})]}),n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"stability range"}),n.jsxs("dd",{className:I.cardDetailVal,children:[s,"-",a," days"]})]}),n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"decay threshold"}),n.jsxs("dd",{className:I.cardDetailVal,children:["Archived below confidence ",r]})]})]}),n.jsxs("div",{className:I.normalization,children:[n.jsx("span",{className:I.normalizationLabel,"aria-hidden":"true",children:"i"}),n.jsx("p",{className:I.normalizationText,children:t?"Amber here means decay is on — this is an operator-visible state, not an error.":"Green means decay is off. No automatic archival by time/access pattern. Explicit actions (expiry, confidence threshold, Resolutionist) still apply."})]})]})}function Oz({vectorBackend:e}){const{type:t,url:s,status:a}=e,r=Mz(a),i={CRITICAL:"X",WARNING:"!",INFO:"i",HEALTHY:"OK"},l={CRITICAL:I.iconCritical,WARNING:I.iconWarn,INFO:I.iconInfo,HEALTHY:I.iconOk},o={CRITICAL:I.cardCritical,WARNING:I.cardWarn,INFO:I.cardInfo,HEALTHY:I.cardOk},c=t==="unknown"?"unknown (defaulting to pgvector)":t,u=a==="warn"||a==="error",m=t==="pgvector"?"Check DB Reachability and pgvector extension. Run: SELECT * FROM pg_extension WHERE extname = 'vector';":`Confirm the ${t} service is running at: ${s??"[URL not configured]"}. Check DB Reachability if using a local service.`,p=(t==="pgvector"||t==="unknown")&&a==="ok";return n.jsxs("div",{className:`${I.card} ${o[r]}`,"aria-label":`Vector Backend: ${c} — ${r.toLowerCase()}`,children:[n.jsxs("div",{className:I.cardHeader,children:[n.jsx("span",{className:`${I.statusIcon} ${l[r]}`,"aria-hidden":"true",children:i[r]}),n.jsx("span",{className:I.cardName,children:"Vector Backend"}),n.jsx(zr,{severity:r})]}),n.jsxs("dl",{className:I.cardDetail,children:[n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"backend"}),n.jsx("dd",{className:I.cardDetailVal,children:c})]}),s&&n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"url"}),n.jsx("dd",{className:I.cardDetailVal,children:s})]}),(t==="pgvector"||t==="unknown")&&n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"connection"}),n.jsx("dd",{className:I.cardDetailVal,children:"Uses primary database connection — see DB Reachability check"})]})]}),p&&n.jsxs("div",{className:I.normalization,children:[n.jsx("span",{className:I.normalizationLabel,"aria-hidden":"true",children:"i"}),n.jsx("p",{className:I.normalizationText,children:"Iranti v0.2.13+ falls back to in-process semantic scoring if pgvector is unavailable. Search quality may be reduced in fallback mode."})]}),u&&n.jsxs("div",{className:I.remediation,children:[n.jsx("span",{className:I.remediationLabel,children:r==="CRITICAL"?"Action required":"How to fix"}),n.jsx("p",{className:I.remediationText,children:m})]})]})}function Hz({attendant:e}){const t=e.status==="ok"?"HEALTHY":e.status==="warn"?"WARNING":e.status==="unreachable"?"INFO":"WARNING",s={CRITICAL:"X",WARNING:"!",INFO:"i",HEALTHY:"OK"},a={CRITICAL:I.iconCritical,WARNING:I.iconWarn,INFO:I.iconInfo,HEALTHY:I.iconOk},r={CRITICAL:I.cardCritical,WARNING:I.cardWarn,INFO:I.cardInfo,HEALTHY:I.cardOk};return n.jsxs("div",{className:`${I.card} ${r[t]}`,"aria-label":`Attendant Status: ${t.toLowerCase()}`,children:[n.jsxs("div",{className:I.cardHeader,children:[n.jsx("span",{className:`${I.statusIcon} ${a[t]}`,"aria-hidden":"true",children:s[t]}),n.jsx("span",{className:I.cardName,children:"Attendant"}),n.jsx(zr,{severity:t})]}),n.jsx("p",{className:I.cardMessage,children:e.message}),e.status==="warn"&&n.jsxs("div",{className:I.remediation,children:[n.jsx("span",{className:I.remediationLabel,children:"What this means"}),n.jsx("p",{className:I.remediationText,children:"The Attendant responded, but this synthetic health probe did not trigger a confident memory-injection decision. That usually indicates probe ambiguity rather than an outage. If real agent prompts also miss useful memory, re-test with a clearer task prompt and inspect the live session or attend behavior."})]}),e.status==="unreachable"&&n.jsxs("div",{className:I.normalization,children:[n.jsx("span",{className:I.normalizationLabel,"aria-hidden":"true",children:"i"}),n.jsxs("p",{className:I.normalizationText,children:["Start Iranti to enable the Attendant: ",n.jsx("code",{className:I.capabilityInlineCode,children:"iranti run --instance local"})]})]}),n.jsx("dl",{className:I.cardDetail,children:n.jsxs("div",{className:I.cardDetailRow,children:[n.jsx("dt",{className:I.cardDetailKey,children:"checked"}),n.jsx("dd",{className:I.cardDetailVal,children:new Date(e.checkedAt).toLocaleTimeString()})]})})]})}function zz({decay:e,vectorBackend:t,attendant:s}){return e!==void 0||t!==void 0||s!==void 0?n.jsxs("section",{className:I.capabilitySection,"aria-labelledby":"capability-health-heading",children:[n.jsxs("div",{className:I.capabilitySectionHeader,children:[n.jsx("h2",{id:"capability-health-heading",className:I.capabilitySectionTitle,children:"Capability Health"}),n.jsx("span",{className:I.capabilitySectionMeta,children:"Decay · Vector · Attendant"})]}),n.jsxs("div",{className:I.grid,children:[e!==void 0&&n.jsx(Fz,{decay:e}),t!==void 0&&n.jsx(Oz,{vectorBackend:t}),s!==void 0&&n.jsx(Hz,{attendant:s})]})]}):null}const Uz={iranti_connectivity:"Iranti Connectivity",iranti_auth:"API Key Auth",db_connectivity:"Database",vector_backend:"Vector Backend",ingest_roundtrip:"Memory Round-Trip",attend_check:"Attendant",vector_search_check:"Vector Search"};function Vz(e){return Uz[e]??e.replace(/_/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function qz({hint:e}){const t=e.split(/(iranti\s+\S+(?:\s+\S+)*)/g);return n.jsx("span",{className:I.diagFixHint,children:t.map((s,a)=>/^iranti\s/.test(s)?n.jsx("code",{className:I.diagInlineCode,children:s},a):s)})}function Wz({hint:e}){const t=f_(e);return t?n.jsx(Fa,{command:t,allowRun:$l(t),compact:!0}):null}function L_({status:e}){const t={pass:"Pass",warn:"Warn",fail:"Fail"},s={pass:I.diagBadgePass,warn:I.diagBadgeWarn,fail:I.diagBadgeFail};return n.jsx("span",{className:`${I.diagStatusBadge} ${s[e]}`,"aria-label":`Status: ${t[e]}`,children:t[e]})}function Kz({result:e}){const t=e.checks.filter(a=>a.status==="fail").length,s=e.checks.filter(a=>a.status==="warn").length;return e.overallStatus==="pass"?n.jsxs("div",{className:`${I.diagSummaryBanner} ${I.diagSummaryPass}`,role:"status",children:[n.jsx("span",{"aria-hidden":"true",children:"OK"}),"All checks passed"]}):e.overallStatus==="warn"?n.jsxs("div",{className:`${I.diagSummaryBanner} ${I.diagSummaryWarn}`,role:"status",children:[n.jsx("span",{"aria-hidden":"true",children:"!"}),s," warning",s!==1?"s":""," - system functional but degraded"]}):n.jsxs("div",{className:`${I.diagSummaryBanner} ${I.diagSummaryFail}`,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"X"}),t," failure",t!==1?"s":""," detected - action required"]})}function Gz({result:e}){return n.jsxs("div",{className:I.diagPanelContainer,"aria-label":"Diagnostic results",children:[n.jsx(Kz,{result:e}),n.jsxs("table",{className:I.diagTable,"aria-label":"Diagnostic check results",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Check"}),n.jsx("th",{children:"Status"}),n.jsx("th",{children:"Message"}),n.jsx("th",{children:"Duration"})]})}),n.jsx("tbody",{children:e.checks.map(t=>n.jsxs("tr",{children:[n.jsx("td",{className:I.diagCheckName,children:Vz(t.check)}),n.jsx("td",{children:n.jsx(L_,{status:t.status})}),n.jsx("td",{children:n.jsxs("div",{className:I.diagMessageCell,children:[n.jsx("span",{className:I.diagMessage,children:t.message}),t.fixHint&&n.jsx(qz,{hint:t.fixHint}),t.fixHint&&n.jsx(Wz,{hint:t.fixHint})]})}),n.jsxs("td",{className:I.diagDuration,children:[t.durationMs,"ms"]})]},t.check))})]})]})}function ep(e,t){const s=new URL(`/api/control-plane/diagnostics/${e}`,window.location.origin);return t&&s.searchParams.set("instanceId",t),s.toString()}function Qz({externalRunSignal:e,instanceId:t}){const[s,a]=d.useState(!1),[r,i]=d.useState(null),[l,o]=d.useState(null),[c,u]=d.useState(!1),[m,p]=d.useState(null),[h,y]=d.useState(!1),[g,j]=d.useState(!1);d.useEffect(()=>{let x=!1;return(async()=>{try{const T=await fetch(ep("last",t));if(T.status===404){x||y(!0);return}if(T.ok){const R=await T.json();x||(p(R),y(!0))}else x||y(!0)}catch{x||y(!0)}})(),()=>{x=!0}},[t]);const v=d.useCallback(async()=>{if(!s){a(!0),o(null);try{const x=await fetch(ep("run",t),{method:"POST"});if(!x.ok)throw new Error(`Server returned ${x.status}`);const b=await x.json();i(b),j(!0),u(!0),p(b)}catch{o("Diagnostics unavailable. Check that the control plane server is running.")}finally{a(!1)}}},[s]),_=d.useRef(0);d.useEffect(()=>{e>_.current&&(_.current=e,v())},[e,v]);const f=r??(g?null:m);return n.jsxs("section",{className:I.diagnosticsSection,"aria-labelledby":"diagnostics-heading",children:[n.jsxs("div",{className:I.diagnosticsSectionHeader,children:[n.jsx("h2",{id:"diagnostics-heading",className:I.diagnosticsSectionTitle,children:"Diagnostics"}),n.jsxs("button",{className:I.runDiagnosticsBtn,onClick:()=>void v(),disabled:s,type:"button","aria-label":"Run diagnostic checks","aria-busy":s,children:[s&&n.jsx("span",{className:I.diagSpinner,"aria-hidden":"true"}),s?"Running diagnostics...":"Run Diagnostics"]}),f&&n.jsx("button",{className:I.diagPanelToggle,onClick:()=>u(x=>!x),type:"button","aria-expanded":c,"aria-controls":"diag-results-panel",children:c?"Collapse":"Expand"}),m&&h&&!s&&n.jsxs("span",{className:I.diagLastRunMeta,"aria-live":"polite",children:["Last run: ",new Date(m.runAt).toLocaleTimeString(),m.scope?` for ${m.scope.instanceName}`:""]})]}),l&&n.jsxs("div",{className:I.diagErrorStrip,role:"alert",children:[n.jsx("span",{"aria-hidden":"true",children:"X"}),l]}),h&&m&&!c&&!s&&n.jsxs("div",{className:I.diagLastRunCollapsed,children:[n.jsx(L_,{status:m.overallStatus}),n.jsxs("span",{children:[m.overallStatus==="pass"&&"All checks passed",m.overallStatus==="warn"&&`${m.checks.filter(x=>x.status==="warn").length} warning(s)`,m.overallStatus==="fail"&&`${m.checks.filter(x=>x.status==="fail").length} failure(s) detected`]}),n.jsxs("span",{style:{marginLeft:"auto",fontSize:"11px",color:"var(--color-text-tertiary)"},children:[m.totalDurationMs,"ms total"]})]}),c&&f&&n.jsx("div",{id:"diag-results-panel",children:n.jsx(Gz,{result:f})})]})}function Jz(){const[e,t]=d.useState(!1),s=d.useRef(null),{activeInstance:a}=gt(),[r,i]=d.useState(0),{data:l,isLoading:o,error:c,refetch:u,isFetching:m}=Ne({queryKey:["health",(a==null?void 0:a.id)??"binding"],queryFn:()=>ke("/health",{instanceId:a==null?void 0:a.id}),refetchInterval:Xh,staleTime:0}),{data:p}=Ne({queryKey:["version-sync",(a==null?void 0:a.id)??"binding"],queryFn:()=>a_(a==null?void 0:a.id),staleTime:5*60*1e3,refetchInterval:5*60*1e3}),h=[];s.current=u,d.useEffect(()=>{const v=()=>i(_=>_+1);return window.addEventListener("iranti:run-diagnostics",v),()=>window.removeEventListener("iranti:run-diagnostics",v)},[]);const y=async()=>{var v;t(!0);try{await((v=s.current)==null?void 0:v.call(s))}finally{t(!1)}},g=l?[...l.checks].sort((v,_)=>Zh(zs(v))-Zh(zs(_))):[],j=m||e;return!o&&c?n.jsx("div",{className:I.page,children:n.jsxs("div",{className:I.unavailableState,children:[n.jsx("span",{className:I.unavailableIcon,children:"X"}),n.jsx("h2",{className:I.unavailableTitle,children:"Diagnostics unavailable"}),n.jsx("p",{className:I.unavailableBody,children:"The health endpoint returned an error. Iranti may not be running, or the control plane server is unreachable."}),n.jsx("p",{className:I.unavailableDetail,children:c.message}),n.jsx("button",{className:I.retryBtn,onClick:()=>void y(),type:"button",children:"Retry"})]})}):n.jsxs("div",{className:I.page,children:[n.jsxs("div",{className:I.header,children:[n.jsxs("div",{className:I.headerLeft,children:[l&&n.jsx(Az,{checks:l.checks}),o&&n.jsx("span",{className:I.overallLoading,children:"Checking..."}),n.jsxs("div",{className:I.headerMeta,children:[(l==null?void 0:l.scope)&&n.jsxs("span",{className:I.checkedAt,children:["Instance: ",l.scope.instanceName]}),l&&n.jsx("span",{className:I.checkedAt,children:j?"Refreshing...":`Last checked: ${Pz(Lz(l.checkedAt))}`}),p&&p.installedVersion!==null&&n.jsxs("span",{className:I.versionStatus,children:[n.jsx("span",{className:I.versionPrefix,children:"Iranti"})," ",p.status==="equal"?n.jsxs("span",{className:I.versionUpToDate,children:["v",p.installedVersion," - up to date"]}):p.status==="behind"?n.jsxs("span",{className:I.versionUpdateAvailable,children:["v",p.installedVersion," - update available:"," ",n.jsxs("a",{href:p.releaseUrl,target:"_blank",rel:"noreferrer",className:I.versionReleaseLink,children:["v",p.latestVersion]})]}):p.status==="ahead"?n.jsxs("span",{className:I.versionUpToDate,children:["v",p.installedVersion," - ahead of npm latest v",p.latestVersion]}):null]})]})]}),n.jsxs("div",{className:I.headerRight,children:[l&&n.jsx($z,{checkedAt:l.checkedAt,intervalMs:Xh}),n.jsx("button",{className:`${I.refreshBtn} ${j?I.refreshBtnSpinning:""}`,onClick:()=>void y(),disabled:j,type:"button","aria-label":"Refresh health checks",children:"Refresh"})]})]}),l&&n.jsxs("div",{className:I.operatorSummary,children:[n.jsxs("div",{className:I.operatorSummaryHeader,children:[n.jsx("span",{className:I.operatorSummaryTitle,children:"What matters now"}),n.jsx("span",{className:I.operatorSummaryMeta,children:Yd(l.checks).label})]}),n.jsx("p",{className:I.operatorSummaryLead,children:Ez(l.checks)}),n.jsx("div",{className:I.operatorSummaryGrid,children:Bz(l.checks).map(v=>n.jsxs("div",{className:I.operatorSummaryCard,children:[n.jsx("div",{className:I.operatorSummaryCardTitle,children:v.title}),n.jsx("p",{className:I.operatorSummaryCardBody,children:v.body})]},v.title))})]}),h.length>0&&n.jsxs("div",{className:I.setupBannerWarning,role:"alert",children:[n.jsx("span",{className:I.setupBannerIcon,"aria-hidden":"true",children:"!"}),n.jsxs("div",{children:[n.jsx("strong",{children:"One or more providers are unreachable"})," ","- check your API keys and network."," ",n.jsx(Se,{to:"/providers",className:I.providerBannerLink,children:"Open Provider Manager"})]})]}),n.jsxs("div",{className:I.scrollContainer,children:[o&&n.jsx("div",{style:{display:"flex",justifyContent:"center",padding:"64px 0"},"aria-busy":"true","aria-label":"Loading health checks",children:n.jsx(Fe,{size:"md",label:"Loading health checks"})}),!o&&l&&n.jsx("div",{className:I.grid,children:g.map(v=>n.jsx(Dz,{check:v,onRunDiagnostics:()=>i(_=>_+1)},v.name))}),!o&&l&&n.jsx(zz,{decay:l.decay,vectorBackend:l.vectorBackend,attendant:l.attendant}),n.jsx(Qz,{externalRunSignal:r,instanceId:a==null?void 0:a.id}),!o&&n.jsx(J9,{instanceId:a==null?void 0:a.id}),n.jsx(S8,{})]})]})}const Yz="_page_hompf_3",Xz="_tabs_hompf_13",Zz="_tab_hompf_13",eU="_tabActive_hompf_41",tU="_tabBadge_hompf_46",nU="_content_hompf_63",sU="_pendingLayout_hompf_72",aU="_listPanel_hompf_78",rU="_listPanelNarrow_hompf_84",iU="_comparisonPanelWrapper_hompf_90",lU="_tableRegion_hompf_98",oU="_table_hompf_98",cU="_escalationRow_hompf_124",dU="_escalationRowSelected_hompf_136",uU="_resolvedRow_hompf_144",hU="_cellMono_hompf_150",pU="_cellText_hompf_160",mU="_cellMeta_hompf_169",fU="_conflictTypeBadge_hompf_177",_U="_resolutionTypeBadge_hompf_207",gU="_deltaCell_hompf_219",yU="_deltaPositive_hompf_225",xU="_deltaNegative_hompf_229",vU="_comparisonPanel_hompf_90",jU="_comparisonHeader_hompf_242",NU="_comparisonHeaderLeft_hompf_249",bU="_comparisonTitle_hompf_255",SU="_comparisonEntityMono_hompf_263",wU="_comparisonKeyMono_hompf_267",CU="_closePanelBtn_hompf_272",kU="_escalationReason_hompf_295",TU="_escalationReasonLabel_hompf_305",RU="_escalationReasonText_hompf_312",IU="_confidenceDelta_hompf_321",BU="_confidenceDeltaLabel_hompf_328",EU="_confidenceDeltaValue_hompf_332",LU="_factColumns_hompf_339",PU="_factColumn_hompf_339",AU="_factColumnHeader_hompf_355",$U="_factColumnLabel_hompf_364",DU="_factEntityLink_hompf_372",MU="_factField_hompf_384",FU="_factFieldLabel_hompf_390",OU="_factFieldValue_hompf_397",HU="_factFieldMono_hompf_403",zU="_factFieldMeta_hompf_409",UU="_factFieldRaw_hompf_414",VU="_resolutionSection_hompf_429",qU="_resolutionLabel_hompf_439",WU="_resolutionBtns_hompf_448",KU="_resolutionBtn_hompf_448",GU="_resolutionBtnActive_hompf_471",QU="_customValueSection_hompf_484",JU="_customValueLabel_hompf_490",YU="_customValueInput_hompf_495",XU="_customValueInputError_hompf_512",ZU="_customValueError_hompf_516",eV="_confirmRow_hompf_524",tV="_confirmLabel_hompf_535",nV="_confirmActions_hompf_541",sV="_confirmCancelBtn_hompf_547",aV="_confirmBtn_hompf_564",rV="_resolveError_hompf_587",iV="_resolvedBanner_hompf_595",lV="_resolvedBannerIcon_hompf_606",oV="_resolvedBannerTitle_hompf_612",cV="_resolvedBannerBody_hompf_619",dV="_emptyState_hompf_628",uV="_emptyIcon_hompf_639",hV="_emptyTitle_hompf_644",pV="_emptyBody_hompf_651",F={page:Yz,tabs:Xz,tab:Zz,tabActive:eU,tabBadge:tU,content:nU,pendingLayout:sU,listPanel:aU,listPanelNarrow:rU,comparisonPanelWrapper:iU,tableRegion:lU,table:oU,escalationRow:cU,escalationRowSelected:dU,resolvedRow:uU,cellMono:hU,cellText:pU,cellMeta:mU,conflictTypeBadge:fU,resolutionTypeBadge:_U,deltaCell:gU,deltaPositive:yU,deltaNegative:xU,comparisonPanel:vU,comparisonHeader:jU,comparisonHeaderLeft:NU,comparisonTitle:bU,comparisonEntityMono:SU,comparisonKeyMono:wU,closePanelBtn:CU,escalationReason:kU,escalationReasonLabel:TU,escalationReasonText:RU,confidenceDelta:IU,confidenceDeltaLabel:BU,confidenceDeltaValue:EU,factColumns:LU,factColumn:PU,factColumnHeader:AU,factColumnLabel:$U,factEntityLink:DU,factField:MU,factFieldLabel:FU,factFieldValue:OU,factFieldMono:HU,factFieldMeta:zU,factFieldRaw:UU,resolutionSection:VU,resolutionLabel:qU,resolutionBtns:WU,resolutionBtn:KU,resolutionBtnActive:GU,customValueSection:QU,customValueLabel:JU,customValueInput:YU,customValueInputError:XU,customValueError:ZU,confirmRow:eV,confirmLabel:tV,confirmActions:nV,confirmCancelBtn:sV,confirmBtn:aV,resolveError:rV,resolvedBanner:iV,resolvedBannerIcon:lV,resolvedBannerTitle:oV,resolvedBannerBody:cV,emptyState:dV,emptyIcon:uV,emptyTitle:hV,emptyBody:pV};function mV(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/6e4);if(s<60)return`${s}m ago`;const a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function P_(e,t){const s=t-e;return{label:`${s>0?"+":""}${s}`,positive:s>0}}function fV(){return n.jsxs("div",{className:F.emptyState,children:[n.jsx("span",{className:F.emptyIcon,"aria-hidden":"true",children:"◎"}),n.jsx("p",{className:F.emptyTitle,children:"No pending conflicts"}),n.jsx("p",{className:F.emptyBody,children:"The Resolutionist has nothing to review. All facts are consistent."})]})}function tp({label:e,fact:t,entityLink:s}){return n.jsxs("div",{className:F.factColumn,children:[n.jsxs("div",{className:F.factColumnHeader,children:[n.jsx("span",{className:F.factColumnLabel,children:e}),n.jsxs("a",{href:s,className:F.factEntityLink,children:[t.entityType,"/",t.entityId," →"]})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Key"}),n.jsx("code",{className:F.factFieldMono,children:t.key})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Value"}),n.jsx("span",{className:F.factFieldValue,children:t.valueSummary??"—"})]}),t.valueRaw&&n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Raw"}),n.jsx("pre",{className:F.factFieldRaw,children:t.valueRaw})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Confidence"}),n.jsx("span",{className:F.factFieldValue,children:t.confidence})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Source"}),n.jsx("span",{className:F.factFieldMono,children:t.source})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Created by"}),n.jsx("span",{className:F.factFieldMono,children:t.createdBy})]}),n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Created at"}),n.jsx("span",{className:F.factFieldMeta,children:new Date(t.createdAt).toLocaleString()})]}),t.validFrom&&n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Valid from"}),n.jsx("span",{className:F.factFieldMeta,children:new Date(t.validFrom).toLocaleString()})]}),t.note&&n.jsxs("div",{className:F.factField,children:[n.jsx("span",{className:F.factFieldLabel,children:"Note"}),n.jsx("span",{className:F.factFieldValue,children:t.note})]})]})}function _V({escalation:e,onResolve:t,onClose:s}){const[a,r]=d.useState(null),[i,l]=d.useState(""),[o,c]=d.useState(null),[u,m]=d.useState(!1),[p,h]=d.useState(!1),[y,g]=d.useState(null),j=P_(e.existing.confidence,e.challenger.confidence),v=`/control-plane/memory/${encodeURIComponent(e.entityType)}/${encodeURIComponent(e.entityId)}`,_=b=>{r(b===a?null:b),c(null)},f=async()=>{if(a){if(a==="custom"){if(!i.trim()){c("Custom value is required.");return}try{JSON.parse(i)}catch{c("Custom value must be valid JSON.");return}}m(!0),g(null);try{await t(e.id,a,a==="custom"?i:void 0),h(!0)}catch(b){g(b instanceof Error?b.message:"Resolution failed")}finally{m(!1),r(null)}}},x=()=>{r(null),c(null)};return p?n.jsxs("div",{className:F.resolvedBanner,children:[n.jsx("span",{className:F.resolvedBannerIcon,"aria-hidden":"true",children:"✓"}),n.jsxs("div",{children:[n.jsx("p",{className:F.resolvedBannerTitle,children:"Resolution queued"}),n.jsx("p",{className:F.resolvedBannerBody,children:"Resolution queued for Archivist processing. The Archivist will consume this resolution on next cycle."})]})]}):n.jsxs("div",{className:F.comparisonPanel,children:[n.jsxs("div",{className:F.comparisonHeader,children:[n.jsxs("div",{className:F.comparisonHeaderLeft,children:[n.jsxs("h2",{className:F.comparisonTitle,children:[n.jsxs("span",{className:F.comparisonEntityMono,children:[e.entityType,"/",e.entityId]})," / ",n.jsx("span",{className:F.comparisonKeyMono,children:e.key})]}),n.jsx("span",{className:F.conflictTypeBadge,"data-type":e.conflictType,children:e.conflictType.replace(/_/g," ")})]}),n.jsx("button",{className:F.closePanelBtn,onClick:s,type:"button","aria-label":"Close comparison",children:"×"})]}),n.jsxs("div",{className:F.escalationReason,children:[n.jsx("span",{className:F.escalationReasonLabel,children:"Escalation reason"}),n.jsx("p",{className:F.escalationReasonText,children:e.escalationReason})]}),n.jsxs("div",{className:F.confidenceDelta,children:[n.jsx("span",{className:F.confidenceDeltaLabel,children:"Confidence delta"}),n.jsxs("span",{className:`${F.confidenceDeltaValue} ${j.positive?F.deltaPositive:F.deltaNegative}`,children:[j.label," points (challenger vs existing)"]})]}),n.jsxs("div",{className:F.factColumns,children:[n.jsx(tp,{label:"Existing fact",fact:e.existing,entityLink:v}),n.jsx(tp,{label:"Challenger fact",fact:e.challenger,entityLink:v})]}),n.jsxs("div",{className:F.resolutionSection,children:[n.jsx("p",{className:F.resolutionLabel,children:"Choose a resolution:"}),n.jsxs("div",{className:F.resolutionBtns,children:[n.jsx("button",{className:`${F.resolutionBtn} ${a==="keep_existing"?F.resolutionBtnActive:""}`,onClick:()=>_("keep_existing"),type:"button",disabled:u,children:"Keep Existing"}),n.jsx("button",{className:`${F.resolutionBtn} ${a==="accept_challenger"?F.resolutionBtnActive:""}`,onClick:()=>_("accept_challenger"),type:"button",disabled:u,children:"Accept Challenger"}),n.jsx("button",{className:`${F.resolutionBtn} ${a==="custom"?F.resolutionBtnActive:""}`,onClick:()=>_("custom"),type:"button",disabled:u,children:"Use Custom Value"})]}),a==="custom"&&n.jsxs("div",{className:F.customValueSection,children:[n.jsx("label",{className:F.customValueLabel,htmlFor:"custom-resolution-value",children:"Custom value (JSON)"}),n.jsx("textarea",{id:"custom-resolution-value",className:`${F.customValueInput} ${o?F.customValueInputError:""}`,value:i,onChange:b=>{l(b.target.value),c(null)},placeholder:'{"key": "value"}',rows:4,"aria-describedby":o?"custom-value-error":void 0}),o&&n.jsx("p",{className:F.customValueError,id:"custom-value-error",role:"alert",children:o})]}),a&&n.jsxs("div",{className:F.confirmRow,children:[n.jsxs("span",{className:F.confirmLabel,children:["Confirm: ",a==="keep_existing"?"Keep the existing fact":a==="accept_challenger"?"Accept the challenger fact":"Apply custom value","?"]}),n.jsxs("div",{className:F.confirmActions,children:[n.jsx("button",{className:F.confirmCancelBtn,onClick:x,type:"button",disabled:u,children:"Cancel"}),n.jsx("button",{className:F.confirmBtn,onClick:()=>void f(),type:"button",disabled:u,"aria-busy":u,children:u?"Resolving…":"Confirm"})]})]}),y&&n.jsx("p",{className:F.resolveError,role:"alert",children:y})]})]})}function gV({escalation:e,selected:t,onClick:s}){const a=P_(e.existing.confidence,e.challenger.confidence);return n.jsxs("tr",{className:`${F.escalationRow} ${t?F.escalationRowSelected:""}`,onClick:s,role:"button",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&s()},"aria-selected":t,children:[n.jsxs("td",{className:F.cellMono,children:[e.entityType,"/",e.entityId]}),n.jsx("td",{className:F.cellMono,children:e.key}),n.jsx("td",{className:F.cellText,children:e.escalationReason}),n.jsx("td",{children:n.jsx("span",{className:F.conflictTypeBadge,"data-type":e.conflictType,children:e.conflictType.replace(/_/g," ")})}),n.jsx("td",{className:F.cellMeta,children:mV(e.createdAt)}),n.jsx("td",{children:n.jsx("span",{className:`${F.deltaCell} ${a.positive?F.deltaPositive:F.deltaNegative}`,children:a.label})}),n.jsx("td",{className:F.cellMono,children:e.source})]})}function yV({items:e}){return e.length===0?n.jsxs("div",{className:F.emptyState,children:[n.jsx("span",{className:F.emptyIcon,"aria-hidden":"true",children:"◎"}),n.jsx("p",{className:F.emptyTitle,children:"No resolved escalations"}),n.jsx("p",{className:F.emptyBody,children:"Resolved escalations will appear here."})]}):n.jsx("div",{className:F.tableRegion,children:n.jsxs("table",{className:F.table,"aria-label":"Resolved escalations",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Entity"}),n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Resolution"}),n.jsx("th",{children:"Resolved at"}),n.jsx("th",{children:"Resolved by"})]})}),n.jsx("tbody",{children:e.map(t=>n.jsxs("tr",{className:F.resolvedRow,children:[n.jsxs("td",{className:F.cellMono,children:[t.entityType,"/",t.entityId]}),n.jsx("td",{className:F.cellMono,children:t.key}),n.jsx("td",{children:n.jsx("span",{className:F.resolutionTypeBadge,"data-type":t.resolutionType,children:t.resolutionType.replace(/_/g," ")})}),n.jsx("td",{className:F.cellMeta,children:new Date(t.resolvedAt).toLocaleString()}),n.jsx("td",{className:F.cellMono,children:t.resolvedBy})]},t.id))})]})})}function xV(){const[e,t]=d.useState("pending"),[s,a]=d.useState(null),r=[],i=[],l=r.find(c=>c.id===s)??null,o=async(c,u,m)=>{throw new Error("Escalation API not yet available. Backend route required.")};return n.jsxs("div",{className:F.page,children:[n.jsxs("div",{className:F.tabs,children:[n.jsxs("button",{className:`${F.tab} ${e==="pending"?F.tabActive:""}`,onClick:()=>t("pending"),type:"button","aria-selected":e==="pending",children:["Pending",r.length>0&&n.jsx("span",{className:F.tabBadge,children:r.length})]}),n.jsx("button",{className:`${F.tab} ${e==="resolved"?F.tabActive:""}`,onClick:()=>t("resolved"),type:"button","aria-selected":e==="resolved",children:"Resolved"})]}),n.jsxs("div",{className:F.content,children:[e==="pending"&&n.jsxs("div",{className:F.pendingLayout,children:[n.jsx("div",{className:`${F.listPanel} ${s?F.listPanelNarrow:""}`,children:r.length===0?n.jsx(fV,{}):n.jsx("div",{className:F.tableRegion,children:n.jsxs("table",{className:F.table,"aria-label":"Pending escalations",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"Entity"}),n.jsx("th",{children:"Key"}),n.jsx("th",{children:"Reason"}),n.jsx("th",{children:"Type"}),n.jsx("th",{children:"Age"}),n.jsx("th",{children:"Conf Δ"}),n.jsx("th",{children:"Source"})]})}),n.jsx("tbody",{children:r.map(c=>n.jsx(gV,{escalation:c,selected:c.id===s,onClick:()=>a(u=>u===c.id?null:c.id)},c.id))})]})})}),l&&n.jsx("div",{className:F.comparisonPanelWrapper,children:n.jsx(_V,{escalation:l,onResolve:o,onClose:()=>a(null)})})]}),e==="resolved"&&n.jsx(yV,{items:i})]})]})}const vV="_page_feh7d_9",jV="_pageHeader_feh7d_21",NV="_pageHeaderLeft_feh7d_32",bV="_pageIcon_feh7d_39",SV="_pageTitle_feh7d_45",wV="_pageSubtitle_feh7d_53",CV="_refreshAllBtn_feh7d_64",kV="_refreshBtn_feh7d_89",TV="_refreshBtnSpinning_feh7d_114",RV="_layout_feh7d_126",IV="_listPane_feh7d_133",BV="_detailPane_feh7d_146",EV="_card_feh7d_157",LV="_cardSelected_feh7d_176",PV="_cardConnected_feh7d_181",AV="_cardUnreachable_feh7d_185",$V="_cardNotConfigured_feh7d_189",DV="_cardHeader_feh7d_193",MV="_providerIcon_feh7d_199",FV="_providerMeta_feh7d_215",OV="_providerNameRow_feh7d_223",HV="_providerName_feh7d_223",zV="_providerEnvVar_feh7d_236",UV="_cardBadges_feh7d_242",VV="_badge_feh7d_254",qV="_badgeConnected_feh7d_265",WV="_badgeUnreachable_feh7d_271",KV="_badgeNotConfigured_feh7d_277",GV="_defaultBadge_feh7d_283",QV="_keyPresent_feh7d_298",JV="_keyAbsent_feh7d_304",YV="_keyMasked_feh7d_314",XV="_keyMaskedLabel_feh7d_322",ZV="_keyMaskedValue_feh7d_331",eq="_cardFooter_feh7d_341",tq="_lastChecked_feh7d_348",nq="_detailPanel_feh7d_358",sq="_detailHeader_feh7d_365",aq="_detailTitleRow_feh7d_374",rq="_detailIcon_feh7d_382",iq="_detailTitleMeta_feh7d_398",lq="_detailProviderName_feh7d_405",oq="_detailEnvVar_feh7d_411",cq="_detailBadges_feh7d_417",dq="_detailSection_feh7d_429",uq="_detailSectionTitle_feh7d_435",hq="_keyRow_feh7d_445",pq="_keyLabel_feh7d_451",mq="_keyValue_feh7d_459",fq="_quotaNote_feh7d_486",_q="_thresholdRow_feh7d_498",gq="_thresholdLabel_feh7d_509",yq="_thresholdInputGroup_feh7d_516",xq="_thresholdCurrency_feh7d_522",vq="_thresholdInput_feh7d_516",jq="_thresholdUnit_feh7d_545",Nq="_thresholdNote_feh7d_550",bq="_historyList_feh7d_562",Sq="_historyItem_feh7d_571",wq="_historyDotOk_feh7d_580",Cq="_historyDotFail_feh7d_585",kq="_historyState_feh7d_590",Tq="_historyTime_feh7d_597",Rq="_groqRateLimitNote_feh7d_607",Iq="_fullModelList_feh7d_619",Bq="_modelListHeader_feh7d_625",Eq="_modelCount_feh7d_632",Lq="_modelSource_feh7d_638",Pq="_modelItems_feh7d_644",Aq="_modelItem_feh7d_644",$q="_modelId_feh7d_662",Dq="_modelContext_feh7d_673",Mq="_modelsLoading_feh7d_679",Fq="_modelsEmpty_feh7d_680",Oq="_modelsError_feh7d_681",Hq="_loadingState_feh7d_697",zq="_emptyState_feh7d_703",Uq="_emptyIcon_feh7d_712",Vq="_emptyTitle_feh7d_717",qq="_emptyBody_feh7d_724",Wq="_detailEmpty_feh7d_741",Kq="_detailEmptyIcon_feh7d_752",Gq="_detailEmptyText_feh7d_756",Qq="_errorState_feh7d_761",Jq="_cardScopeRow_feh7d_779",Yq="_cardScopeLabel_feh7d_787",Xq="_scopeBadgeGlobal_feh7d_797",Zq="_scopeCode_feh7d_813",eW="_scopeUnknown_feh7d_828",tW="_scopeDetailRow_feh7d_834",nW="_scopeDetailFull_feh7d_841",sW="_scopeDetailNote_feh7d_855",aW="_scopeInlineCode_feh7d_863",rW="_keyWriteForm_feh7d_878",iW="_writeFormRow_feh7d_885",lW="_writeInput_feh7d_892",oW="_writeBtn_feh7d_915",cW="_writeBtnSecondary_feh7d_937",dW="_writeBtnDanger_feh7d_959",uW="_writeSuccess_feh7d_981",hW="_writeError_feh7d_987",pW="_configSection_feh7d_994",mW="_configSectionTitle_feh7d_1004",fW="_configRow_feh7d_1013",_W="_configLabel_feh7d_1020",gW="_configSelect_feh7d_1027",yW="_fallbackChainList_feh7d_1046",xW="_fallbackChainItem_feh7d_1055",vW="_fallbackChainIndex_feh7d_1061",jW="_fallbackChainItemName_feh7d_1069",NW="_fallbackChainEmpty_feh7d_1076",bW="_fallbackAddRow_feh7d_1083",P={page:vV,pageHeader:jV,pageHeaderLeft:NV,pageIcon:bV,pageTitle:SV,pageSubtitle:wV,refreshAllBtn:CV,refreshBtn:kV,refreshBtnSpinning:TV,layout:RV,listPane:IV,detailPane:BV,card:EV,cardSelected:LV,cardConnected:PV,cardUnreachable:AV,cardNotConfigured:$V,cardHeader:DV,providerIcon:MV,providerMeta:FV,providerNameRow:OV,providerName:HV,providerEnvVar:zV,cardBadges:UV,badge:VV,badgeConnected:qV,badgeUnreachable:WV,badgeNotConfigured:KV,defaultBadge:GV,keyPresent:QV,keyAbsent:JV,keyMasked:YV,keyMaskedLabel:XV,keyMaskedValue:ZV,cardFooter:eq,lastChecked:tq,detailPanel:nq,detailHeader:sq,detailTitleRow:aq,detailIcon:rq,detailTitleMeta:iq,detailProviderName:lq,detailEnvVar:oq,detailBadges:cq,detailSection:dq,detailSectionTitle:uq,keyRow:hq,keyLabel:pq,keyValue:mq,quotaNote:fq,thresholdRow:_q,thresholdLabel:gq,thresholdInputGroup:yq,thresholdCurrency:xq,thresholdInput:vq,thresholdUnit:jq,thresholdNote:Nq,historyList:bq,historyItem:Sq,historyDotOk:wq,historyDotFail:Cq,historyState:kq,historyTime:Tq,groqRateLimitNote:Rq,fullModelList:Iq,modelListHeader:Bq,modelCount:Eq,modelSource:Lq,modelItems:Pq,modelItem:Aq,modelId:$q,modelContext:Dq,modelsLoading:Mq,modelsEmpty:Fq,modelsError:Oq,loadingState:Hq,emptyState:zq,emptyIcon:Uq,emptyTitle:Vq,emptyBody:qq,detailEmpty:Wq,detailEmptyIcon:Kq,detailEmptyText:Gq,errorState:Qq,cardScopeRow:Jq,cardScopeLabel:Yq,scopeBadgeGlobal:Xq,scopeCode:Zq,scopeUnknown:eW,scopeDetailRow:tW,scopeDetailFull:nW,scopeDetailNote:sW,scopeInlineCode:aW,keyWriteForm:rW,writeFormRow:iW,writeInput:lW,writeBtn:oW,writeBtnSecondary:cW,writeBtnDanger:dW,writeSuccess:uW,writeError:hW,configSection:pW,configSectionTitle:mW,configRow:fW,configLabel:_W,configSelect:gW,fallbackChainList:yW,fallbackChainItem:xW,fallbackChainIndex:vW,fallbackChainItemName:jW,fallbackChainEmpty:NW,fallbackAddRow:bW},SW="_editor_2c420_4",wW="_editorHeader_2c420_13",CW="_editorTitle_2c420_21",kW="_editorSubtitle_2c420_30",TW="_editorActions_2c420_44",RW="_saveBtn_2c420_51",IW="_resetAllBtn_2c420_72",BW="_restartNotice_2c420_95",EW="_restartIcon_2c420_107",LW="_routingTable_2c420_114",PW="_thTask_2c420_138",AW="_thDefault_2c420_139",$W="_thOverride_2c420_140",DW="_thClear_2c420_141",MW="_taskRow_2c420_143",FW="_taskRowIncompatible_2c420_156",OW="_taskCell_2c420_160",HW="_taskLabel_2c420_167",zW="_taskDesc_2c420_172",UW="_defaultCell_2c420_180",VW="_defaultModel_2c420_184",qW="_overrideCell_2c420_193",WW="_clearCell_2c420_200",KW="_overrideSelect_2c420_204",GW="_overrideInput_2c420_221",QW="_incompatibleWarning_2c420_238",JW="_clearBtn_2c420_244",YW="_feedbackOk_2c420_268",XW="_feedbackErr_2c420_274",ZW="_warningList_2c420_280",Ee={editor:SW,editorHeader:wW,editorTitle:CW,editorSubtitle:kW,editorActions:TW,saveBtn:RW,resetAllBtn:IW,restartNotice:BW,restartIcon:EW,routingTable:LW,thTask:PW,thDefault:AW,thOverride:$W,thClear:DW,taskRow:MW,taskRowIncompatible:FW,taskCell:OW,taskLabel:HW,taskDesc:zW,defaultCell:UW,defaultModel:VW,overrideCell:qW,clearCell:WW,overrideSelect:KW,overrideInput:GW,incompatibleWarning:QW,clearBtn:JW,feedbackOk:YW,feedbackErr:XW,warningList:ZW},np=["classification","relevance_filtering","conflict_resolution","summarization","task_inference","extraction"],No={classification:"Classification",relevance_filtering:"Relevance Filtering",conflict_resolution:"Conflict Resolution",summarization:"Summarization",task_inference:"Task Inference",extraction:"Extraction"},eK={classification:"Fast yes/no or category decisions",relevance_filtering:"Deciding what knowledge is relevant",conflict_resolution:"Reasoning about contradicting facts — benefits most from a capable model",summarization:"Compressing knowledge for working memory",task_inference:"Inferring what an agent is currently doing",extraction:"Extracting structured facts from text"};function tK(e,t){const s=t.toLowerCase();return!e||e==="mock"?!0:e==="openai"?!(s.startsWith("gemini")||s.startsWith("claude")||s.startsWith("mistral")||s.startsWith("llama")):e==="gemini"?!s.startsWith("gpt")&&!s.startsWith("claude")&&!s.startsWith("mistral")&&!s.startsWith("llama"):e==="claude"||e==="anthropic"?s.startsWith("claude"):e==="mistral"?s.startsWith("mistral"):!0}function nK({task:e,currentOverride:t,defaultModel:s,modelOptions:a,activeProvider:r,pending:i,onChange:l,isOllama:o}){const[c,u]=d.useState(t??""),m=t??"",p=t!==null&&!tK(r,t);return d.useEffect(()=>{u(t??"")},[t]),n.jsxs("tr",{className:`${Ee.taskRow} ${p?Ee.taskRowIncompatible:""}`,children:[n.jsxs("td",{className:Ee.taskCell,children:[n.jsx("span",{className:Ee.taskLabel,children:No[e]}),n.jsx("span",{className:Ee.taskDesc,children:eK[e]})]}),n.jsx("td",{className:Ee.defaultCell,children:n.jsx("code",{className:Ee.defaultModel,children:s})}),n.jsxs("td",{className:Ee.overrideCell,children:[o?n.jsx("input",{type:"text",className:Ee.overrideInput,placeholder:"e.g. llama3.2",value:c,onChange:h=>u(h.target.value),onBlur:()=>{const h=c.trim();l(e,h||null)},onKeyDown:h=>{h.key==="Enter"&&h.currentTarget.blur()},disabled:i}):n.jsxs("select",{className:Ee.overrideSelect,value:m,onChange:h=>l(e,h.target.value||null),disabled:i,"aria-label":`Model override for ${No[e]}`,children:[n.jsxs("option",{value:"",children:["Using default (",s,")"]}),a.map(h=>n.jsx("option",{value:h,children:h},h))]}),p&&n.jsx("span",{className:Ee.incompatibleWarning,title:"This model may be incompatible with the active provider. Iranti will warn at runtime and use the provider default.",children:"⚠ Incompatible"})]}),n.jsx("td",{className:Ee.clearCell,children:t!==null&&n.jsx("button",{type:"button",className:Ee.clearBtn,onClick:()=>{u(""),l(e,null)},disabled:i,"aria-label":`Clear override for ${No[e]}`,children:"Clear"})})]})}function sK({taskRouting:e,activeProvider:t,onSuccess:s}){const{activeInstance:a}=gt(),r=t??"mock",i=r==="ollama",[l,o]=d.useState(e),[c,u]=d.useState(!1),[m,p]=d.useState(null);d.useEffect(()=>{o(e)},[e]);const{data:h}=Ne({queryKey:["routing-defaults",a==null?void 0:a.id,r],queryFn:()=>Ej(r,a==null?void 0:a.id),staleTime:10*60*1e3}),{data:y}=Ne({queryKey:["provider-models",a==null?void 0:a.id,r],queryFn:()=>ke(`/providers/${r}/models`,{instanceId:a==null?void 0:a.id}),staleTime:5*60*1e3,enabled:!!r&&r!=="mock"}),g=((y==null?void 0:y.models)??[]).map(x=>x.id),j=(x,b)=>{o(T=>({...T,[x]:b})),p(null)},v=async()=>{u(!0),p(null);try{const x=await Lj(l,a==null?void 0:a.id),b=x.warnings.length>0?`Saved to the live instance env. Restart the instance to apply. ${x.warnings.length} compatibility warning(s).`:"Task routing saved to the live instance env. Restart the instance to apply.";p({kind:"ok",msg:b,warnings:x.warnings}),s()}catch(x){p({kind:"err",msg:x instanceof Error?x.message:"Save failed."})}finally{u(!1)}},_=async()=>{if(window.confirm("Reset all task-model overrides? Each task will use the provider default.")){u(!0),p(null);try{await Pj(a==null?void 0:a.id),p({kind:"ok",msg:"All overrides cleared from the live instance env. Restart the instance to apply."}),s()}catch(x){p({kind:"err",msg:x instanceof Error?x.message:"Reset failed."})}finally{u(!1)}}},f=np.some(x=>l[x]!==null);return n.jsxs("div",{className:Ee.editor,children:[n.jsxs("div",{className:Ee.editorHeader,children:[n.jsxs("div",{children:[n.jsx("h2",{className:Ee.editorTitle,children:"Task Routing"}),n.jsxs("p",{className:Ee.editorSubtitle,children:["Override which model is used for each Iranti task type. Defaults are determined by the active provider (",n.jsx("code",{children:r}),")."]})]}),n.jsxs("div",{className:Ee.editorActions,children:[f&&n.jsx("button",{type:"button",className:Ee.resetAllBtn,onClick:()=>void _(),disabled:c,children:"Reset all overrides"}),n.jsx("button",{type:"button",className:Ee.saveBtn,onClick:()=>void v(),disabled:c,children:c?"Saving…":"Save routing"})]})]}),n.jsxs("div",{className:Ee.restartNotice,role:"note",children:[n.jsx("span",{className:Ee.restartIcon,"aria-hidden":"true",children:"↺"}),n.jsx("span",{children:"These settings are written to the live instance env and take effect after restarting the Iranti instance."})]}),n.jsxs("table",{className:Ee.routingTable,"aria-label":"Task-model routing overrides",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{className:Ee.thTask,children:"Task"}),n.jsx("th",{className:Ee.thDefault,children:"Provider default"}),n.jsx("th",{className:Ee.thOverride,children:"Override model"}),n.jsx("th",{className:Ee.thClear})]})}),n.jsx("tbody",{children:np.map(x=>n.jsx(nK,{task:x,currentOverride:l[x]??null,defaultModel:(h==null?void 0:h.defaults[x])??"—",modelOptions:g,activeProvider:r,pending:c,onChange:j,isOllama:i},x))})]}),m&&n.jsxs("div",{className:m.kind==="ok"?Ee.feedbackOk:Ee.feedbackErr,children:[n.jsx("span",{children:m.msg}),m.warnings&&m.warnings.length>0&&n.jsx("ul",{className:Ee.warningList,children:m.warnings.map((x,b)=>n.jsx("li",{children:x},b))})]})]})}const A_="iranti_cp_provider_thresholds";function aK(){try{const e=localStorage.getItem(A_);if(!e)return{};const t=JSON.parse(e);if(typeof t=="object"&&t!==null&&!Array.isArray(t))return t}catch{}return{}}function rK(e){try{localStorage.setItem(A_,JSON.stringify(e))}catch{}}function iK(e,t){var a;const s={...e};for(const r of t){const i=e[r.id]??[],l={reachable:r.reachable,checkedAt:r.lastChecked};i.length>0&&((a=i[i.length-1])==null?void 0:a.checkedAt)===r.lastChecked||(s[r.id]=[...i,l].slice(-3))}return s}function $_(e){switch(e){case"claude":return"C";case"openai":return"OA";case"ollama":return"OL";case"together":return"T";case"groq":return"G";default:return e.slice(0,2).toUpperCase()}}function D_(e){return e.keyPresent?e.reachable?"connected":"unreachable":"not_configured"}function M_({state:e}){const t={connected:"Connected",unreachable:"Unreachable",not_configured:"Not configured"},s={connected:P.badgeConnected,unreachable:P.badgeUnreachable,not_configured:P.badgeNotConfigured};return n.jsx("span",{className:`${P.badge} ${s[e]}`,"aria-label":`Reachability: ${t[e]}`,children:t[e]})}function lK(e,t=28){return e.length>t?e.slice(0,t-1)+"…":e}function F_({scope:e,scopeType:t}){if(t==="global")return n.jsx("span",{className:P.scopeBadgeGlobal,title:"Global — applies to all namespaces",children:"global"});if(t==="namespace"&&e){const s=lK(e);return n.jsx("code",{className:P.scopeCode,title:e,children:s})}return n.jsx("span",{className:P.scopeUnknown,children:"—"})}const oK=new Set(["openai","together"]);function cK({providerId:e,reachable:t,instanceId:s}){const{data:a,isLoading:r,error:i}=Ne({queryKey:["provider-models",s,e],queryFn:()=>ke(`/providers/${e}/models`,{instanceId:s}),staleTime:3e5,enabled:t||e==="claude"});if(r)return n.jsx("p",{className:P.modelsLoading,children:"Loading models…"});if(i||!a)return n.jsx("p",{className:P.modelsError,children:"Could not load models"});if(a.models.length===0)return n.jsx("p",{className:P.modelsEmpty,children:"No models available"});const l=a.source==="live"?"live":a.source==="fallback"?"fallback list":"static list";return n.jsxs("div",{className:P.fullModelList,children:[n.jsxs("div",{className:P.modelListHeader,children:[n.jsxs("span",{className:P.modelCount,children:[a.models.length," model",a.models.length!==1?"s":""]}),n.jsxs("span",{className:P.modelSource,children:["via ",l]})]}),n.jsx("ul",{className:P.modelItems,"aria-label":`Models for ${e}`,children:a.models.map(o=>n.jsxs("li",{className:P.modelItem,children:[n.jsx("span",{className:P.modelId,children:o.id}),o.context>0&&n.jsxs("span",{className:P.modelContext,children:[(o.context/1e3).toFixed(0),"k ctx"]})]},o.id))})]})}function dK({provider:e,instanceId:t,onSuccess:s}){const[a,r]=d.useState(""),[i,l]=d.useState(!1),[o,c]=d.useState(!1),[u,m]=d.useState(null),p=()=>m(null),h=async()=>{if(a.trim()){c(!0),p();try{const j=await Rj(e.id,a.trim(),t);r(""),l(!1),m({kind:"ok",msg:j.restartRequired?"Key saved to the instance env. Restart the instance to apply.":"Key saved."}),s()}catch(j){m({kind:"err",msg:j instanceof Error?j.message:"Failed to save key."})}finally{c(!1)}}},y=async()=>{if(window.confirm(`Remove the API key for ${e.name}? This will clear ${e.keyEnvVar} from the live instance env.`)){c(!0),p();try{const j=await Ij(e.id,t);m({kind:"ok",msg:j.restartRequired?"Key removed from the instance env. Restart the instance to apply.":"Key removed."}),s()}catch(j){m({kind:"err",msg:j instanceof Error?j.message:"Failed to remove key."})}finally{c(!1)}}},g=j=>{j.key==="Enter"&&h(),j.key==="Escape"&&(l(!1),r(""))};return n.jsxs("div",{className:P.keyWriteForm,children:[e.keyPresent&&!i&&n.jsxs("div",{className:P.writeFormRow,children:[n.jsx("button",{type:"button",className:P.writeBtnSecondary,onClick:()=>{l(!0),p()},disabled:o,children:"Update key"}),n.jsx("button",{type:"button",className:P.writeBtnDanger,onClick:()=>void y(),disabled:o,children:"Remove key"})]}),(!e.keyPresent||i)&&n.jsxs("div",{className:P.writeFormRow,children:[n.jsx("input",{type:"password",className:P.writeInput,placeholder:`Paste ${e.keyEnvVar}…`,value:a,onChange:j=>r(j.target.value),onKeyDown:g,autoFocus:!0,autoComplete:"off",spellCheck:!1}),n.jsx("button",{type:"button",className:P.writeBtn,onClick:()=>void h(),disabled:o||!a.trim(),children:o?"Saving…":e.keyPresent?"Update":"Save key"}),i&&n.jsx("button",{type:"button",className:P.writeBtnSecondary,onClick:()=>{l(!1),r(""),p()},children:"Cancel"})]}),u&&n.jsx("p",{className:u.kind==="ok"?P.writeSuccess:P.writeError,children:u.msg})]})}const sp=Object.keys({claude:!0,openai:!0,gemini:!0,groq:!0,mistral:!0,together:!0,ollama:!0,mock:!0});function uK({defaultProvider:e,fallbackChain:t,instanceId:s,onSuccess:a}){const[r,i]=d.useState(e??""),[l,o]=d.useState(t),[c,u]=d.useState(""),[m,p]=d.useState(!1),[h,y]=d.useState(null),[g,j]=d.useState(!1),[v,_]=d.useState(null);d.useEffect(()=>{i(e??"")},[e]),d.useEffect(()=>{o(t)},[t]);const f=async()=>{p(!0),y(null);try{if(r){const k=await r_(r,s);y({kind:"ok",msg:k.restartRequired?"Default provider saved. Restart the instance to apply.":"Default provider saved."})}else{const k=await Bj(s);y({kind:"ok",msg:k.restartRequired?"Default provider cleared. Restart the instance to apply.":"Default provider cleared."})}a()}catch(k){y({kind:"err",msg:k instanceof Error?k.message:"Failed to update default."})}finally{p(!1)}},x=()=>{!c||l.includes(c)||(o(k=>[...k,c]),u(""))},b=k=>{o(B=>B.filter((M,te)=>te!==k))},T=k=>{k!==0&&o(B=>{const M=[...B];return[M[k-1],M[k]]=[M[k],M[k-1]],M})},R=k=>{o(B=>{if(k===B.length-1)return B;const M=[...B];return[M[k],M[k+1]]=[M[k+1],M[k]],M})},L=async()=>{j(!0),_(null);try{if(l.length===0){const k=await l_(s);_({kind:"ok",msg:k.restartRequired?"Fallback chain cleared. Restart the instance to apply.":"Fallback chain cleared."})}else{const k=await i_(l,s);_({kind:"ok",msg:k.restartRequired?"Fallback chain saved. Restart the instance to apply.":"Fallback chain saved."})}a()}catch(k){_({kind:"err",msg:k instanceof Error?k.message:"Failed to update fallback chain."})}finally{j(!1)}},N=sp.filter(k=>!l.includes(k));return n.jsxs("div",{className:P.configSection,children:[n.jsx("h2",{className:P.configSectionTitle,children:"Instance Configuration"}),n.jsxs("div",{className:P.configRow,children:[n.jsx("label",{className:P.configLabel,htmlFor:"default-provider-select",children:"Default provider"}),n.jsxs("select",{id:"default-provider-select",className:P.configSelect,value:r,onChange:k=>i(k.target.value),disabled:m,children:[n.jsx("option",{value:"",children:"(none — auto-detect)"}),sp.map(k=>n.jsx("option",{value:k,children:k},k))]}),n.jsx("button",{type:"button",className:P.writeBtn,onClick:()=>void f(),disabled:m,children:m?"Saving…":"Save"}),h&&n.jsx("span",{className:h.kind==="ok"?P.writeSuccess:P.writeError,children:h.msg})]}),n.jsxs("div",{children:[n.jsxs("div",{className:P.configRow,style:{marginBottom:"var(--space-1)"},children:[n.jsx("span",{className:P.configLabel,children:"Fallback chain"}),l.length>0&&n.jsx("ul",{className:P.fallbackChainList,children:l.map((k,B)=>n.jsxs("li",{className:P.fallbackChainItem,children:[n.jsxs("span",{className:P.fallbackChainIndex,children:[B+1,"."]}),n.jsx("span",{className:P.fallbackChainItemName,children:k}),n.jsx("button",{type:"button",className:P.writeBtnSecondary,onClick:()=>T(B),disabled:g||B===0,"aria-label":`Move ${k} up`,title:"Move up",children:"↑"}),n.jsx("button",{type:"button",className:P.writeBtnSecondary,onClick:()=>R(B),disabled:g||B===l.length-1,"aria-label":`Move ${k} down`,title:"Move down",children:"↓"}),n.jsx("button",{type:"button",className:P.writeBtnDanger,onClick:()=>b(B),disabled:g,"aria-label":`Remove ${k} from fallback chain`,children:"×"})]},k))}),l.length===0&&n.jsx("p",{className:P.fallbackChainEmpty,children:"No fallback chain configured (LLM_PROVIDER_FALLBACK not set)"})]}),n.jsxs("div",{className:P.fallbackAddRow,children:[n.jsxs("select",{className:P.configSelect,value:c,onChange:k=>u(k.target.value),disabled:g,"aria-label":"Select provider to add to fallback chain",children:[n.jsx("option",{value:"",children:"Add provider…"}),N.map(k=>n.jsx("option",{value:k,children:k},k))]}),n.jsx("button",{type:"button",className:P.writeBtnSecondary,onClick:x,disabled:!c||g,children:"Add"}),n.jsx("button",{type:"button",className:P.writeBtn,onClick:()=>void L(),disabled:g,children:g?"Saving…":"Save chain"}),v&&n.jsx("span",{className:v.kind==="ok"?P.writeSuccess:P.writeError,children:v.msg})]})]})]})}function hK({provider:e,instanceId:t,history:s,threshold:a,onThresholdChange:r,onRefresh:i,isRefreshing:l,onKeyChange:o}){const c=D_(e),u=oK.has(e.id),[m,p]=d.useState(a!==void 0?String(a):"5.00");d.useEffect(()=>{a!==void 0&&p(String(a))},[a]);const h=()=>{const j=parseFloat(m);!isNaN(j)&&j>=0?r(e.id,j):p(a!==void 0?String(a):"5.00")},y=j=>{j.key==="Enter"&&j.currentTarget.blur()},g=e.id==="claude"?"Claude does not expose credits via API. Check your Anthropic Console for usage.":e.id==="openai"?"Live balance requires org:read scope. Check the OpenAI Usage dashboard directly.":e.id==="groq"?"Groq exposes rate limit headers only — no persistent balance available.":null;return n.jsxs("div",{className:P.detailPanel,"aria-label":`${e.name} detail panel`,children:[n.jsxs("div",{className:P.detailHeader,children:[n.jsxs("div",{className:P.detailTitleRow,children:[n.jsx("span",{className:P.detailIcon,"aria-hidden":"true",children:$_(e.id)}),n.jsxs("div",{className:P.detailTitleMeta,children:[n.jsx("span",{className:P.detailProviderName,children:e.name}),n.jsx("span",{className:P.detailEnvVar,children:e.keyEnvVar})]}),n.jsxs("div",{className:P.detailBadges,children:[e.isDefault&&n.jsx("span",{className:P.defaultBadge,"aria-label":"Default provider",children:"Default"}),n.jsx(M_,{state:c})]})]}),n.jsx("button",{className:`${P.refreshBtn} ${l?P.refreshBtnSpinning:""}`,onClick:i,disabled:l,type:"button","aria-label":"Refresh provider status",title:"Refresh now (bypasses 1-min cache)",children:"↺ Refresh now"})]}),n.jsxs("section",{className:P.detailSection,children:[n.jsx("h3",{className:P.detailSectionTitle,children:"API Key"}),e.keyPresent&&e.keyMasked?n.jsxs("div",{className:P.keyRow,children:[n.jsx("span",{className:P.keyLabel,children:"key"}),n.jsx("code",{className:P.keyValue,children:e.keyMasked}),n.jsx("span",{className:P.keyPresent,children:"✓ Present"})]}):n.jsxs("p",{className:P.keyAbsent,children:["No key configured — add ",n.jsx("code",{children:e.keyEnvVar})," with the form below or run"," ",n.jsxs("code",{children:["iranti add api-key ",e.id," --instance local"]}),"."]}),e.id!=="mock"&&n.jsx(dK,{provider:e,instanceId:t,onSuccess:o})]}),n.jsxs("section",{className:P.detailSection,children:[n.jsx("h3",{className:P.detailSectionTitle,children:"API Key Scope"}),n.jsxs("div",{className:P.scopeDetailRow,children:[n.jsx(F_,{scope:e.scope,scopeType:e.scopeType}),e.scope&&e.scopeType!=="unknown"&&n.jsx("code",{className:P.scopeDetailFull,title:e.scope,children:e.scope})]}),n.jsxs("p",{className:P.scopeDetailNote,children:["Scopes restrict which agent or project namespaces this key services. A global scope (or no scope) means the key applies to all namespaces. Manage scopes with"," ",n.jsx("code",{className:P.scopeInlineCode,children:"iranti setup"}),"."]})]}),n.jsxs("section",{className:P.detailSection,children:[n.jsx("h3",{className:P.detailSectionTitle,children:"Balance & Quota"}),g?n.jsx("p",{className:P.quotaNote,children:g}):n.jsx("p",{className:P.quotaNote,children:"Balance data not available — check your provider dashboard."}),u&&n.jsxs("div",{className:P.thresholdRow,children:[n.jsx("label",{htmlFor:`threshold-${e.id}`,className:P.thresholdLabel,children:"Warn when balance below"}),n.jsxs("div",{className:P.thresholdInputGroup,children:[n.jsx("span",{className:P.thresholdCurrency,children:"$"}),n.jsx("input",{id:`threshold-${e.id}`,type:"number",min:"0",step:"0.01",value:m,onChange:j=>p(j.target.value),onBlur:h,onKeyDown:y,className:P.thresholdInput,"aria-label":"Warning threshold in USD"}),n.jsx("span",{className:P.thresholdUnit,children:"USD"})]}),n.jsx("p",{className:P.thresholdNote,children:"Balance data not available — threshold will apply when live balance is supported."})]})]}),s.length>0&&n.jsxs("section",{className:P.detailSection,children:[n.jsx("h3",{className:P.detailSectionTitle,children:"Recent Reachability"}),n.jsx("ul",{className:P.historyList,"aria-label":"Recent reachability checks",children:[...s].reverse().map((j,v)=>n.jsxs("li",{className:P.historyItem,children:[n.jsx("span",{className:j.reachable?P.historyDotOk:P.historyDotFail,"aria-hidden":"true",children:"●"}),n.jsx("span",{className:P.historyState,children:j.reachable?"Connected":"Unreachable"}),n.jsx("span",{className:P.historyTime,children:new Date(j.checkedAt).toLocaleTimeString()})]},v))})]}),(c==="connected"||e.id==="claude")&&n.jsxs("section",{className:P.detailSection,children:[n.jsx("h3",{className:P.detailSectionTitle,children:"Models"}),e.id==="groq"&&n.jsx("p",{className:P.groqRateLimitNote,children:"Rate limit snapshot (from last check) — reflects rate limit state at the time of the last API check, not a persistent balance."}),n.jsx(cK,{providerId:e.id,reachable:e.reachable,instanceId:t})]})]})}function pK({provider:e,isSelected:t,onClick:s}){const a=D_(e),r=a==="connected"?P.cardConnected:a==="unreachable"?P.cardUnreachable:P.cardNotConfigured;return n.jsxs("button",{type:"button",className:`${P.card} ${r} ${t?P.cardSelected:""}`,onClick:s,"aria-pressed":t,"aria-label":`${e.name} provider — ${a.replace("_"," ")}`,children:[n.jsxs("div",{className:P.cardHeader,children:[n.jsx("span",{className:P.providerIcon,"aria-hidden":"true",children:$_(e.id)}),n.jsxs("div",{className:P.providerMeta,children:[n.jsxs("div",{className:P.providerNameRow,children:[n.jsx("span",{className:P.providerName,children:e.name}),e.isDefault&&n.jsx("span",{className:P.defaultBadge,"aria-label":"Default provider",children:"Default"})]}),n.jsx("span",{className:P.providerEnvVar,children:e.keyEnvVar})]}),n.jsxs("div",{className:P.cardBadges,children:[n.jsx("span",{className:e.keyPresent?P.keyPresent:P.keyAbsent,"aria-label":e.keyPresent?"API key present":"API key absent",children:e.keyPresent?"✓ Key set":"✗ No key"}),n.jsx(M_,{state:a})]})]}),e.keyPresent&&e.keyMasked&&n.jsxs("div",{className:P.keyMasked,"aria-label":"Masked API key",children:[n.jsx("span",{className:P.keyMaskedLabel,children:"key"}),n.jsx("code",{className:P.keyMaskedValue,children:e.keyMasked})]}),n.jsxs("div",{className:P.cardScopeRow,children:[n.jsx("span",{className:P.cardScopeLabel,children:"Scope"}),n.jsx(F_,{scope:e.scope,scopeType:e.scopeType})]}),n.jsx("div",{className:P.cardFooter,children:n.jsxs("span",{className:P.lastChecked,children:["Checked: ",new Date(e.lastChecked).toLocaleTimeString()]})})]})}function mK(){var k;const{activeInstance:e}=gt(),t=Ht(),[s,a]=d.useState(null),[r,i]=d.useState(aK),[l,o]=d.useState({}),c=d.useRef(l);c.current=l;const{data:u,isLoading:m,error:p,refetch:h,isFetching:y}=Ne({queryKey:["providers",e==null?void 0:e.id],queryFn:()=>ke("/providers",{instanceId:e==null?void 0:e.id}),staleTime:60*1e3,refetchInterval:5*60*1e3});d.useEffect(()=>{u!=null&&u.providers&&o(B=>iK(B,u.providers))},[u]);const g=(B,M)=>{i(te=>{const de={...te,[B]:M};return rK(de),de})},j=()=>void h(),v=()=>{h()},_=()=>{t.invalidateQueries({queryKey:["providers"]})},f=(u==null?void 0:u.rawDefaultProvider)==="anthropic"||!!((k=u==null?void 0:u.rawFallbackChain)!=null&&k.includes("anthropic")),[x,b]=d.useState(!1),[T,R]=d.useState(null),L=async()=>{var B;if(u){b(!0),R(null);try{if(u.rawDefaultProvider==="anthropic"&&await r_("claude",e==null?void 0:e.id),(B=u.rawFallbackChain)!=null&&B.includes("anthropic")){const M=u.rawFallbackChain.map(te=>te==="anthropic"?"claude":te);M.length===0?await l_(e==null?void 0:e.id):await i_(M,e==null?void 0:e.id)}R("Provider IDs normalized to claude. Restart the instance to apply."),_()}catch(M){R(M instanceof Error?M.message:"Failed to normalize provider IDs.")}finally{b(!1)}}},N=(u==null?void 0:u.providers.find(B=>B.id===s))??null;return d.useEffect(()=>{if(u!=null&&u.providers&&!(s&&u.providers.some(M=>M.id===s))){const M=u.providers.find(te=>te.keyPresent)??u.providers[0];a((M==null?void 0:M.id)??null)}},[u,s]),!m&&p?n.jsx("div",{className:P.page,children:n.jsxs("div",{className:P.errorState,children:[n.jsx("span",{"aria-hidden":"true",children:"✗"})," Could not load providers: ",p.message]})}):n.jsxs("div",{className:P.page,children:[n.jsxs("div",{className:P.pageHeader,children:[n.jsxs("div",{className:P.pageHeaderLeft,children:[n.jsx("span",{className:P.pageIcon,"aria-hidden":"true",children:"◈"}),n.jsxs("div",{children:[n.jsx("h1",{className:P.pageTitle,children:"Providers"}),n.jsxs("p",{className:P.pageSubtitle,children:["API key presence, reachability, models, and warning thresholds",u!=null&&u.scope?` for ${u.scope.instanceName}`:""]})]})]}),n.jsx("button",{className:`${P.refreshAllBtn} ${y?P.refreshBtnSpinning:""}`,onClick:j,disabled:y,type:"button","aria-label":"Refresh all providers",children:"↺ Refresh all"})]}),!m&&f&&n.jsxs("div",{className:P.errorState,children:[n.jsx("span",{"aria-hidden":"true",children:"âš "})," This instance still uses legacy `anthropic` provider IDs.",n.jsx("button",{type:"button",className:P.writeBtn,onClick:()=>void L(),disabled:x,children:x?"Fixing…":"Normalize to claude"}),T&&n.jsx("span",{children:T})]}),!m&&u&&n.jsx(uK,{defaultProvider:u.defaultProvider,fallbackChain:u.fallbackChain,instanceId:e==null?void 0:e.id,onSuccess:_}),!m&&u&&n.jsx(sK,{taskRouting:u.taskRouting,activeProvider:u.defaultProvider,onSuccess:_}),n.jsxs("div",{className:P.layout,children:[n.jsxs("div",{className:P.listPane,children:[m&&n.jsx("div",{className:P.loadingState,"aria-busy":"true","aria-label":"Loading providers",children:n.jsx(Fe,{size:"md",label:"Loading providers"})}),!m&&u&&u.providers.length===0&&n.jsxs("div",{className:P.emptyState,children:[n.jsx("span",{className:P.emptyIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:P.emptyTitle,children:"No providers detected"}),n.jsxs("p",{className:P.emptyBody,children:["Add a provider key with this page or run"," ",n.jsx("code",{children:`iranti add api-key <provider> --instance ${(e==null?void 0:e.name)??"local"}`}),". Ollama uses"," ",n.jsx("code",{children:"OLLAMA_BASE_URL"})," in the live instance env."]})]}),!m&&u&&u.providers.map(B=>n.jsx(pK,{provider:B,isSelected:B.id===s,onClick:()=>a(B.id)},B.id))]}),n.jsxs("div",{className:P.detailPane,children:[!N&&!m&&n.jsxs("div",{className:P.detailEmpty,children:[n.jsx("span",{className:P.detailEmptyIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:P.detailEmptyText,children:"Select a provider to view details"})]}),N&&n.jsx(hK,{provider:N,history:l[N.id]??[],threshold:r[N.id],onThresholdChange:g,onRefresh:v,isRefreshing:y,onKeyChange:_,instanceId:e==null?void 0:e.id})]})]})]})}const fK="_page_1qa6j_9",_K="_pageHeader_1qa6j_21",gK="_pageHeaderLeft_1qa6j_32",yK="_pageIcon_1qa6j_38",xK="_pageTitle_1qa6j_44",vK="_pageSubtitle_1qa6j_51",jK="_agentCount_1qa6j_57",NK="_contentArea_1qa6j_68",bK="_contentAreaWithPanel_1qa6j_75",SK="_tableRegion_1qa6j_75",wK="_table_1qa6j_75",CK="_thMono_1qa6j_125",kK="_thNumber_1qa6j_129",TK="_dataRow_1qa6j_137",RK="_dataRowSelected_1qa6j_147",IK="_cellAgentId_1qa6j_166",BK="_copyableId_1qa6j_171",EK="_cellName_1qa6j_194",LK="_cellNameFallback_1qa6j_199",PK="_cellMeta_1qa6j_205",AK="_cellActive_1qa6j_212",$K="_activeDot_1qa6j_216",DK="_cellNumber_1qa6j_232",MK="_loadingState_1qa6j_253",FK="_emptyState_1qa6j_260",OK="_emptyStateIcon_1qa6j_270",HK="_emptyStateTitle_1qa6j_277",zK="_emptyStateBody_1qa6j_284",UK="_inlineCode_1qa6j_291",VK="_detailPanel_1qa6j_304",qK="_detailHeader_1qa6j_313",WK="_detailTitleRow_1qa6j_319",KK="_detailTitleMeta_1qa6j_327",GK="_detailAgentId_1qa6j_334",QK="_detailAgentName_1qa6j_341",JK="_detailHeaderRight_1qa6j_346",YK="_detailCloseBtn_1qa6j_353",XK="_detailDescription_1qa6j_375",ZK="_detailSection_1qa6j_384",eG="_detailSectionTitle_1qa6j_393",tG="_detailStatGrid_1qa6j_404",nG="_detailStatCell_1qa6j_410",sG="_detailStatLabel_1qa6j_416",aG="_detailStatValue_1qa6j_423",rG="_detailModel_1qa6j_441",iG="_detailTeam_1qa6j_454",lG="_capabilityTags_1qa6j_461",oG="_capabilityTag_1qa6j_461",cG="_jsonExpand_1qa6j_479",dG="_jsonExpandToggle_1qa6j_485",uG="_jsonExpandChevron_1qa6j_504",hG="_jsonExpandPre_1qa6j_510",K={page:fK,pageHeader:_K,pageHeaderLeft:gK,pageIcon:yK,pageTitle:xK,pageSubtitle:vK,agentCount:jK,contentArea:NK,contentAreaWithPanel:bK,tableRegion:SK,table:wK,thMono:CK,thNumber:kK,dataRow:TK,dataRowSelected:RK,cellAgentId:IK,copyableId:BK,cellName:EK,cellNameFallback:LK,cellMeta:PK,cellActive:AK,activeDot:$K,cellNumber:DK,loadingState:MK,emptyState:FK,emptyStateIcon:OK,emptyStateTitle:HK,emptyStateBody:zK,inlineCode:UK,detailPanel:VK,detailHeader:qK,detailTitleRow:WK,detailTitleMeta:KK,detailAgentId:GK,detailAgentName:QK,detailHeaderRight:JK,detailCloseBtn:YK,detailDescription:XK,detailSection:ZK,detailSectionTitle:eG,detailStatGrid:tG,detailStatCell:nG,detailStatLabel:sG,detailStatValue:aG,detailModel:rG,detailTeam:iG,capabilityTags:lG,capabilityTag:oG,jsonExpand:cG,jsonExpandToggle:dG,jsonExpandChevron:uG,jsonExpandPre:hG};function O_(e){const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/1e3);if(s<5)return"just now";if(s<60)return`${s}s ago`;const a=Math.floor(s/60);if(a<60)return`${a}m ago`;const r=Math.floor(a/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function pG(e){navigator.clipboard.writeText(e).catch(()=>{})}function H_({isActive:e}){return n.jsx("span",{className:K.activeDot,"data-active":e,"aria-label":e?"Active":"Inactive",title:e?"Active":"Inactive"})}function mG({label:e,data:t}){const[s,a]=d.useState(!1);return n.jsxs("div",{className:K.jsonExpand,children:[n.jsxs("button",{className:K.jsonExpandToggle,onClick:()=>a(r=>!r),type:"button","aria-expanded":s,children:[n.jsx("span",{className:K.jsonExpandChevron,"aria-hidden":"true",children:s?"▾":"▸"}),e]}),s&&n.jsx("pre",{className:K.jsonExpandPre,children:JSON.stringify(t,null,2)})]})}function fG({agent:e,onClose:t}){const s=e.name??e.agentId;return n.jsxs("aside",{className:K.detailPanel,"aria-label":`${s} detail`,children:[n.jsxs("div",{className:K.detailHeader,children:[n.jsxs("div",{className:K.detailTitleRow,children:[n.jsxs("div",{className:K.detailTitleMeta,children:[n.jsx("span",{className:K.detailAgentId,children:e.agentId}),e.name&&e.name!==e.agentId&&n.jsx("span",{className:K.detailAgentName,children:e.name})]}),n.jsxs("div",{className:K.detailHeaderRight,children:[n.jsx(H_,{isActive:e.stats.isActive}),n.jsx("button",{className:K.detailCloseBtn,onClick:t,type:"button","aria-label":"Close detail panel",children:"×"})]})]}),e.description&&n.jsx("p",{className:K.detailDescription,children:e.description})]}),n.jsxs("section",{className:K.detailSection,children:[n.jsx("h3",{className:K.detailSectionTitle,children:"Stats"}),n.jsxs("div",{className:K.detailStatGrid,children:[n.jsxs("div",{className:K.detailStatCell,children:[n.jsx("span",{className:K.detailStatLabel,children:"Last seen"}),n.jsx("span",{className:K.detailStatValue,title:e.stats.lastSeen??void 0,children:e.stats.lastSeen?O_(e.stats.lastSeen):"Never"})]}),n.jsxs("div",{className:K.detailStatCell,children:[n.jsx("span",{className:K.detailStatLabel,children:"Total writes"}),n.jsx("span",{className:K.detailStatValue,children:e.stats.totalWrites})]}),n.jsxs("div",{className:K.detailStatCell,children:[n.jsx("span",{className:K.detailStatLabel,children:"Rejections"}),n.jsx("span",{className:K.detailStatValue,"data-warn":e.stats.totalRejections>0,children:e.stats.totalRejections})]}),n.jsxs("div",{className:K.detailStatCell,children:[n.jsx("span",{className:K.detailStatLabel,children:"Escalations"}),n.jsx("span",{className:K.detailStatValue,"data-escalation":e.stats.totalEscalations>0,children:e.stats.totalEscalations})]}),n.jsxs("div",{className:K.detailStatCell,children:[n.jsx("span",{className:K.detailStatLabel,children:"Avg confidence"}),n.jsxs("span",{className:K.detailStatValue,children:[e.stats.avgConfidence,"%"]})]})]})]}),e.model&&n.jsxs("section",{className:K.detailSection,children:[n.jsx("h3",{className:K.detailSectionTitle,children:"Model"}),n.jsx("code",{className:K.detailModel,children:e.model})]}),e.team&&n.jsxs("section",{className:K.detailSection,children:[n.jsx("h3",{className:K.detailSectionTitle,children:"Team"}),n.jsx("span",{className:K.detailTeam,children:e.team})]}),e.capabilities.length>0&&n.jsxs("section",{className:K.detailSection,children:[n.jsx("h3",{className:K.detailSectionTitle,children:"Capabilities"}),n.jsx("div",{className:K.capabilityTags,children:e.capabilities.map(a=>n.jsx("span",{className:K.capabilityTag,children:a},a))})]}),e.properties&&Object.keys(e.properties).length>0&&n.jsxs("section",{className:K.detailSection,children:[n.jsx("h3",{className:K.detailSectionTitle,children:"Properties"}),n.jsx(mG,{label:"Raw JSON",data:e.properties})]})]})}function _G({is503:e}){return e?n.jsxs("div",{className:K.emptyState,children:[n.jsx("span",{className:K.emptyStateIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:K.emptyStateTitle,children:"Agent registry unavailable"}),n.jsxs("p",{className:K.emptyStateBody,children:["The agents endpoint returned a 503. This usually means the connected Iranti instance does not have an API key with ",n.jsx("code",{className:K.inlineCode,children:"agents:read"})," scope, or the instance is unreachable."]})]}):n.jsxs("div",{className:K.emptyState,children:[n.jsx("span",{className:K.emptyStateIcon,"aria-hidden":"true",children:"◈"}),n.jsx("p",{className:K.emptyStateTitle,children:"No agents registered yet"}),n.jsxs("p",{className:K.emptyStateBody,children:["Agents appear here after their first"," ",n.jsx("code",{className:K.inlineCode,children:"iranti_handshake"})," call."]})]})}function gG({agent:e,isSelected:t,onSelect:s}){const a=e.name&&e.name!==e.agentId?e.name:null,{stats:r}=e;return n.jsxs("tr",{className:`${K.dataRow} ${t?K.dataRowSelected:""}`,onClick:s,role:"button",tabIndex:0,"aria-pressed":t,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),s())},children:[n.jsx("td",{className:K.cellAgentId,children:n.jsx("button",{className:K.copyableId,onClick:i=>{i.stopPropagation(),pG(e.agentId)},title:"Click to copy agent ID",type:"button","aria-label":`Copy agent ID: ${e.agentId}`,children:e.agentId})}),n.jsx("td",{className:K.cellName,children:a??n.jsx("span",{className:K.cellNameFallback,children:"—"})}),n.jsx("td",{className:K.cellMeta,title:r.lastSeen??void 0,children:r.lastSeen?O_(r.lastSeen):"Never"}),n.jsx("td",{className:K.cellActive,children:n.jsx(H_,{isActive:r.isActive})}),n.jsx("td",{className:K.cellNumber,children:r.totalWrites}),n.jsx("td",{className:K.cellNumber,"data-warn":r.totalRejections>0,children:r.totalRejections}),n.jsx("td",{className:K.cellNumber,"data-escalation":r.totalEscalations>0,children:r.totalEscalations}),n.jsxs("td",{className:K.cellNumber,children:[r.avgConfidence,"%"]})]})}function yG(){const[e,t]=d.useState(null),{data:s,isLoading:a,error:r}=Ne({queryKey:["agents"],queryFn:()=>ke("/agents"),staleTime:3e4,refetchInterval:5*60*1e3}),i=(s==null?void 0:s.agents)??[],l=[...i].sort((u,m)=>u.stats.lastSeen&&m.stats.lastSeen?new Date(m.stats.lastSeen).getTime()-new Date(u.stats.lastSeen).getTime():u.stats.lastSeen?-1:m.stats.lastSeen?1:u.agentId.localeCompare(m.agentId)),o=i.find(u=>u.agentId===e)??null;d.useEffect(()=>{e&&!i.find(u=>u.agentId===e)&&t(null)},[i,e]);const c=!!(r&&(r.message.includes("AGENTS_UNAVAILABLE")||r.message.includes("503")||r.message.includes("agents:read")));return n.jsxs("div",{className:K.page,children:[n.jsxs("div",{className:K.pageHeader,children:[n.jsxs("div",{className:K.pageHeaderLeft,children:[n.jsx("span",{className:K.pageIcon,"aria-hidden":"true",children:"◉"}),n.jsxs("div",{children:[n.jsx("h1",{className:K.pageTitle,children:"Agent Registry"}),n.jsx("p",{className:K.pageSubtitle,children:"Registered agents and their activity stats"})]})]}),s&&n.jsxs("span",{className:K.agentCount,children:[s.total," agent",s.total!==1?"s":""]})]}),n.jsxs("div",{className:`${K.contentArea} ${o?K.contentAreaWithPanel:""}`,children:[n.jsxs("div",{className:K.tableRegion,children:[a&&n.jsx("div",{className:K.loadingState,children:n.jsx(Fe,{size:"md",label:"Loading agents"})}),!a&&(r||i.length===0)&&n.jsx(_G,{is503:c||!!r&&!c}),!a&&!r&&i.length>0&&n.jsxs("table",{className:K.table,"aria-label":"Registered agents",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{className:K.thMono,children:"Agent ID"}),n.jsx("th",{children:"Display Name"}),n.jsx("th",{children:"Last Seen"}),n.jsx("th",{children:"Active"}),n.jsx("th",{className:K.thNumber,children:"Writes"}),n.jsx("th",{className:K.thNumber,children:"Rejections"}),n.jsx("th",{className:K.thNumber,children:"Escalations"}),n.jsx("th",{className:K.thNumber,children:"Avg Conf"})]})}),n.jsx("tbody",{children:l.map(u=>n.jsx(gG,{agent:u,isSelected:e===u.agentId,onSelect:()=>t(m=>m===u.agentId?null:u.agentId)},u.agentId))})]})]}),o&&n.jsx(fG,{agent:o,onClose:()=>t(null)})]})]})}const xG="_page_13k6a_10",vG="_pageHeader_13k6a_22",jG="_pageHeaderLeft_13k6a_33",NG="_pageIcon_13k6a_39",bG="_pageTitle_13k6a_45",SG="_pageSubtitle_13k6a_52",wG="_sessionCount_13k6a_58",CG="_filterBar_13k6a_69",kG="_filterTab_13k6a_80",TG="_filterTabActive_13k6a_98",RG="_contentRegion_13k6a_108",IG="_table_13k6a_118",BG="_dataRow_13k6a_153",EG="_dataRowExpanded_13k6a_163",LG="_stateBadge_13k6a_184",PG="_stateBadgeAmber_13k6a_198",AG="_stateBadgeEmerald_13k6a_205",$G="_stateBadgeMuted_13k6a_212",DG="_stateBadgeRose_13k6a_219",MG="_cellBadge_13k6a_229",FG="_cellSessionId_13k6a_233",OG="_cellAgentId_13k6a_239",HG="_cellTask_13k6a_244",zG="_cellMeta_13k6a_249",UG="_detailRow_13k6a_258",VG="_detailPanel_13k6a_263",qG="_detailGrid_13k6a_276",WG="_detailField_13k6a_282",KG="_detailLabel_13k6a_288",GG="_detailValueMono_13k6a_302",QG="_sessionIdRow_13k6a_313",JG="_copyBtn_13k6a_319",YG="_taskFull_13k6a_341",XG="_timeline_13k6a_360",ZG="_timelineStep_13k6a_367",eQ="_timelineLabel_13k6a_374",tQ="_timelineValue_13k6a_381",nQ="_timelineArrow_13k6a_387",sQ="_checkpointDetails_13k6a_397",aQ="_checkpointSummary_13k6a_401",rQ="_checkpointPre_13k6a_427",iQ="_actionRow_13k6a_447",lQ="_resumeBtn_13k6a_454",oQ="_abandonBtn_13k6a_476",cQ="_confirmInline_13k6a_499",dQ="_confirmText_13k6a_509",uQ="_confirmYesBtn_13k6a_514",hQ="_confirmYesBtnDestructive_13k6a_524",pQ="_confirmNoBtn_13k6a_530",mQ="_skeletonRow_13k6a_544",fQ="_skeletonBar_13k6a_548",_Q="_emptyState_13k6a_565",gQ="_emptyStateIcon_13k6a_575",yQ="_emptyStateTitle_13k6a_582",xQ="_emptyStateBody_13k6a_589",vQ="_errorBanner_13k6a_600",jQ="_errorBannerIcon_13k6a_612",NQ="_inlineCode_13k6a_620",V={page:xG,pageHeader:vG,pageHeaderLeft:jG,pageIcon:NG,pageTitle:bG,pageSubtitle:SG,sessionCount:wG,filterBar:CG,filterTab:kG,filterTabActive:TG,contentRegion:RG,table:IG,dataRow:BG,dataRowExpanded:EG,stateBadge:LG,stateBadgeAmber:PG,stateBadgeEmerald:AG,stateBadgeMuted:$G,stateBadgeRose:DG,cellBadge:MG,cellSessionId:FG,cellAgentId:OG,cellTask:HG,cellMeta:zG,detailRow:UG,detailPanel:VG,detailGrid:qG,detailField:WG,detailLabel:KG,detailValueMono:GG,sessionIdRow:QG,copyBtn:JG,taskFull:YG,timeline:XG,timelineStep:ZG,timelineLabel:eQ,timelineValue:tQ,timelineArrow:nQ,checkpointDetails:sQ,checkpointSummary:aQ,checkpointPre:rQ,actionRow:iQ,resumeBtn:lQ,abandonBtn:oQ,confirmInline:cQ,confirmText:dQ,confirmYesBtn:uQ,confirmYesBtnDestructive:hQ,confirmNoBtn:pQ,skeletonRow:mQ,skeletonBar:fQ,emptyState:_Q,emptyStateIcon:gQ,emptyStateTitle:yQ,emptyStateBody:xQ,errorBanner:vQ,errorBannerIcon:jQ,inlineCode:NQ};function ha(e){if(!e)return"—";const t=Date.now()-new Date(e).getTime(),s=Math.floor(t/1e3);if(s<5)return"just now";if(s<60)return`${s}s ago`;const a=Math.floor(s/60);if(a<60)return`${a}m ago`;const r=Math.floor(a/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function bQ(e){navigator.clipboard.writeText(e).catch(()=>{})}function ap(e,t){return e?e.length>t?e.slice(0,t)+"…":e:"—"}const SQ=[{value:"all",label:"All"},{value:"interrupted",label:"Interrupted"},{value:"active",label:"Active"},{value:"completed",label:"Completed"},{value:"abandoned",label:"Abandoned"}];function wQ(e){return e==="all"||e==="interrupted"||e==="active"||e==="completed"||e==="abandoned"}function CQ(e){return e.operatorState}function kQ({state:e}){let t=V.stateBadge,s=e;switch(e){case"interrupted":t+=` ${V.stateBadgeAmber}`;break;case"active":t+=` ${V.stateBadgeEmerald}`;break;case"completed":t+=` ${V.stateBadgeEmerald}`;break;case"abandoned":t+=` ${V.stateBadgeMuted}`;break;case"none":default:t+=` ${V.stateBadgeRose}`;break}return n.jsx("span",{className:t,children:s})}function TQ({session:e,onDone:t}){const[s,a]=d.useState(null),[r,i]=d.useState(!1),l=e.operatorState==="interrupted",o=e.operatorState==="interrupted"||e.operatorState==="active";if(!l&&!o)return null;const c=async u=>{i(!0);try{const m=`/sessions/${encodeURIComponent(e.sessionId)}/${u}`;await fetch(`/api/control-plane${m}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentId:e.agentId})}).then(async p=>{const h=await p.json();p.ok||console.error(`[sessions] ${u} failed`,h)})}catch(m){console.error(`[sessions] ${u} unexpected error`,m)}finally{i(!1),a(null),t()}};return s==="resume"?n.jsxs("div",{className:V.confirmInline,children:[n.jsx("span",{className:V.confirmText,children:"Resume this session?"}),n.jsx("button",{className:V.confirmYesBtn,onClick:()=>void c("resume"),disabled:r,type:"button",children:r?"Resuming…":"Confirm"}),n.jsx("button",{className:V.confirmNoBtn,onClick:()=>a(null),disabled:r,type:"button",children:"Cancel"})]}):s==="abandon"?n.jsxs("div",{className:V.confirmInline,children:[n.jsx("span",{className:V.confirmText,children:"Mark as abandoned? This cannot be undone."}),n.jsx("button",{className:`${V.confirmYesBtn} ${V.confirmYesBtnDestructive}`,onClick:()=>void c("abandon"),disabled:r,type:"button",children:r?"Abandoning…":"Confirm"}),n.jsx("button",{className:V.confirmNoBtn,onClick:()=>a(null),disabled:r,type:"button",children:"Cancel"})]}):n.jsxs("div",{className:V.actionRow,children:[l&&n.jsx("button",{className:V.resumeBtn,onClick:()=>a("resume"),type:"button",children:"↺ Resume"}),o&&n.jsx("button",{className:V.abandonBtn,onClick:()=>a("abandon"),type:"button",children:"✕ Abandon"})]})}function RQ({session:e,onRefetch:t}){return n.jsxs("div",{className:V.detailPanel,children:[n.jsxs("div",{className:V.detailGrid,children:[n.jsxs("div",{className:V.detailField,children:[n.jsx("span",{className:V.detailLabel,children:"Session ID"}),n.jsxs("div",{className:V.sessionIdRow,children:[n.jsx("span",{className:V.detailValueMono,children:e.sessionId}),n.jsx("button",{className:V.copyBtn,onClick:()=>bQ(e.sessionId),type:"button",title:"Copy session ID","aria-label":"Copy session ID to clipboard",children:"⎘ Copy"})]})]}),n.jsxs("div",{className:V.detailField,children:[n.jsx("span",{className:V.detailLabel,children:"Agent ID"}),n.jsx("span",{className:V.detailValueMono,children:n.jsx(Se,{to:"/agents",style:{color:"var(--color-accent-primary)",textDecoration:"none"},children:e.agentId})})]})]}),e.task&&n.jsxs("div",{className:V.detailField,children:[n.jsx("span",{className:V.detailLabel,children:"Task"}),n.jsx("pre",{className:V.taskFull,children:e.task})]}),n.jsxs("div",{className:V.detailField,children:[n.jsx("span",{className:V.detailLabel,children:"Timeline"}),n.jsxs("div",{className:V.timeline,children:[n.jsxs("div",{className:V.timelineStep,children:[n.jsx("span",{className:V.timelineLabel,children:"Started"}),n.jsx("span",{className:V.timelineValue,children:ha(e.startedAt)})]}),(e.updatedAt||e.lastHeartbeatAt)&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:V.timelineArrow,children:"→"}),n.jsxs("div",{className:V.timelineStep,children:[n.jsx("span",{className:V.timelineLabel,children:"Last update"}),n.jsx("span",{className:V.timelineValue,children:ha(e.updatedAt??e.lastHeartbeatAt)})]})]}),e.completedAt&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:V.timelineArrow,children:"→"}),n.jsxs("div",{className:V.timelineStep,children:[n.jsx("span",{className:V.timelineLabel,children:"Completed"}),n.jsx("span",{className:V.timelineValue,children:ha(e.completedAt)})]})]}),e.abandonedAt&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:V.timelineArrow,children:"→"}),n.jsxs("div",{className:V.timelineStep,children:[n.jsx("span",{className:V.timelineLabel,children:"Abandoned"}),n.jsx("span",{className:V.timelineValue,children:ha(e.abandonedAt)})]})]})]})]}),e.checkpoint&&n.jsx("div",{className:V.detailField,children:n.jsxs("details",{className:V.checkpointDetails,children:[n.jsx("summary",{className:V.checkpointSummary,children:"Raw checkpoint data"}),n.jsx("pre",{className:V.checkpointPre,children:JSON.stringify(e.checkpoint,null,2)})]})}),e.checkpointSummary&&n.jsxs("div",{className:V.detailField,children:[n.jsx("span",{className:V.detailLabel,children:"Checkpoint summary"}),n.jsx("pre",{className:V.taskFull,children:JSON.stringify(e.checkpointSummary,null,2)})]}),n.jsx(TQ,{session:e,onDone:t})]})}function IQ(){return n.jsx(n.Fragment,{children:[1,2,3].map(e=>n.jsxs("tr",{className:V.skeletonRow,children:[n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"60px"}})}),n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"80%"}})}),n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"70%"}})}),n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"90%"}})}),n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"55px"}})}),n.jsx("td",{children:n.jsx("div",{className:V.skeletonBar,style:{width:"55px"}})})]},e))})}function BQ(){const[e,t]=Md(),[s,a]=d.useState(null),r=Ht(),i=e.get("state"),l=wQ(i)?i:"all",o=l==="all"?void 0:l,{data:c,isLoading:u,error:m}=Ne({queryKey:["sessions",l],queryFn:()=>ke("/sessions",{operatorState:o,limit:50}),staleTime:3e4}),p=(c==null?void 0:c.sessions)??[],h=v=>{const _=new URLSearchParams(e);v==="all"?_.delete("state"):_.set("state",v),t(_,{replace:!0}),a(null)},y=v=>{a(_=>_===v?null:v)},g=()=>{r.invalidateQueries({queryKey:["sessions"]})},j=c==null?void 0:c.error;return n.jsxs("div",{className:V.page,children:[n.jsxs("div",{className:V.pageHeader,children:[n.jsxs("div",{className:V.pageHeaderLeft,children:[n.jsx("span",{className:V.pageIcon,"aria-hidden":"true",children:"⊙"}),n.jsxs("div",{children:[n.jsx("h1",{className:V.pageTitle,children:"Session Recovery"}),n.jsx("p",{className:V.pageSubtitle,children:"Agent sessions and recovery state from the current Iranti session API"})]})]}),c&&!u&&n.jsxs("span",{className:V.sessionCount,children:[c.total," session",c.total!==1?"s":""]})]}),n.jsx("div",{className:V.filterBar,role:"tablist","aria-label":"Filter sessions by state",children:SQ.map(v=>n.jsx("button",{role:"tab","aria-selected":l===v.value,className:`${V.filterTab} ${l===v.value?V.filterTabActive:""}`,onClick:()=>h(v.value),type:"button",children:v.label},v.value))}),(m??j)&&n.jsxs("div",{className:V.errorBanner,role:"alert",children:[n.jsx("span",{className:V.errorBannerIcon,"aria-hidden":"true",children:"⚠"}),n.jsx("span",{children:m?"Could not load sessions — Iranti may be unreachable.":`Sessions endpoint returned a warning: ${j}`})]}),n.jsxs("div",{className:V.contentRegion,children:[u&&n.jsxs("table",{className:V.table,"aria-label":"Sessions loading",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"State"}),n.jsx("th",{children:"Session ID"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"Task"}),n.jsx("th",{children:"Started"}),n.jsx("th",{children:"Last update"})]})}),n.jsx("tbody",{children:n.jsx(IQ,{})})]}),!u&&!m&&p.length===0&&n.jsxs("div",{className:V.emptyState,children:[n.jsx("span",{className:V.emptyStateIcon,"aria-hidden":"true",children:"⊙"}),n.jsx("p",{className:V.emptyStateTitle,children:"No sessions found"}),n.jsxs("p",{className:V.emptyStateBody,children:["Sessions appear when agents persist checkpoint state through the Iranti SDK or"," ",n.jsx("code",{className:V.inlineCode,children:"POST /memory/checkpoint"}),"."," ",n.jsx(Se,{to:"/getting-started",style:{color:"var(--color-accent-primary)"},children:"View the Getting Started guide"}),"."]})]}),!u&&p.length>0&&n.jsxs("table",{className:V.table,"aria-label":"Sessions list",children:[n.jsx("thead",{children:n.jsxs("tr",{children:[n.jsx("th",{children:"State"}),n.jsx("th",{children:"Session ID"}),n.jsx("th",{children:"Agent"}),n.jsx("th",{children:"Task"}),n.jsx("th",{children:"Started"}),n.jsx("th",{children:"Last update"})]})}),n.jsx("tbody",{children:p.map(v=>{const _=s===v.sessionId;return n.jsxs(n.Fragment,{children:[n.jsxs("tr",{className:`${V.dataRow} ${_?V.dataRowExpanded:""}`,onClick:()=>y(v.sessionId),role:"button",tabIndex:0,"aria-expanded":_,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),y(v.sessionId))},children:[n.jsx("td",{className:V.cellBadge,children:n.jsx(kQ,{state:CQ(v)})}),n.jsx("td",{className:V.cellSessionId,children:ap(v.sessionId,24)}),n.jsx("td",{className:V.cellAgentId,children:v.agentId}),n.jsx("td",{className:V.cellTask,children:ap(v.task,60)}),n.jsx("td",{className:V.cellMeta,children:ha(v.startedAt)}),n.jsx("td",{className:V.cellMeta,children:ha(v.updatedAt??v.lastHeartbeatAt)})]},v.sessionId),_&&n.jsx("tr",{className:V.detailRow,children:n.jsx("td",{colSpan:6,children:n.jsx(RQ,{session:v,onRefetch:g})})},`${v.sessionId}-detail`)]})})})]})]})]})}const EQ="_page_1oj5k_9",LQ="_pageHeader_1oj5k_21",PQ="_pageHeaderLeft_1oj5k_32",AQ="_pageIcon_1oj5k_39",$Q="_pageTitle_1oj5k_46",DQ="_pageSubtitle_1oj5k_54",MQ="_summarySection_1oj5k_67",FQ="_summaryLoading_1oj5k_73",OQ="_summaryError_1oj5k_74",HQ="_statCardRow_1oj5k_84",zQ="_statCard_1oj5k_84",UQ="_statIcon_1oj5k_114",VQ="_statValue_1oj5k_120",qQ="_statLabel_1oj5k_128",WQ="_chartsArea_1oj5k_139",KQ="_chartSection_1oj5k_152",GQ="_chartHeader_1oj5k_159",QQ="_chartTitleGroup_1oj5k_168",JQ="_chartTitle_1oj5k_168",YQ="_chartSubtitle_1oj5k_181",XQ="_chartLoadingState_1oj5k_186",ZQ="_chartError_1oj5k_195",eJ="_periodToggle_1oj5k_205",tJ="_periodBtn_1oj5k_215",nJ="_periodBtnActive_1oj5k_233",sJ="_chartContainer_1oj5k_247",aJ="_svg_1oj5k_251",rJ="_gridLine_1oj5k_258",iJ="_axisLine_1oj5k_263",lJ="_axisLabel_1oj5k_268",oJ="_lineNew_1oj5k_279",cJ="_dotNew_1oj5k_286",dJ="_lineArchived_1oj5k_291",uJ="_dotArchived_1oj5k_299",hJ="_barColor0_1oj5k_309",pJ="_barColor1_1oj5k_310",mJ="_barColor2_1oj5k_311",fJ="_barColor3_1oj5k_312",_J="_barColor4_1oj5k_313",gJ="_barColor5_1oj5k_314",yJ="_barColorOther_1oj5k_317",xJ="_legend_1oj5k_323",vJ="_legendItem_1oj5k_332",jJ="_legendSwatch_1oj5k_340",NJ="_legendSwatchNew_1oj5k_349",bJ="_legendSwatchArchived_1oj5k_354",SJ="_legendAgentId_1oj5k_360",wJ="_emptyState_1oj5k_374",CJ="_emptyStateIcon_1oj5k_384",kJ="_emptyStateTitle_1oj5k_390",TJ="_emptyStateBody_1oj5k_397",ee={page:EQ,pageHeader:LQ,pageHeaderLeft:PQ,pageIcon:AQ,pageTitle:$Q,pageSubtitle:DQ,summarySection:MQ,summaryLoading:FQ,summaryError:OQ,statCardRow:HQ,statCard:zQ,statIcon:UQ,statValue:VQ,statLabel:qQ,chartsArea:WQ,chartSection:KQ,chartHeader:GQ,chartTitleGroup:QQ,chartTitle:JQ,chartSubtitle:YQ,chartLoadingState:XQ,chartError:ZQ,periodToggle:eJ,periodBtn:tJ,periodBtnActive:nJ,chartContainer:sJ,svg:aJ,gridLine:rJ,axisLine:iJ,axisLabel:lJ,lineNew:oJ,dotNew:cJ,lineArchived:dJ,dotArchived:uJ,barColor0:hJ,barColor1:pJ,barColor2:mJ,barColor3:fJ,barColor4:_J,barColor5:gJ,barColorOther:yJ,legend:xJ,legendItem:vJ,legendSwatch:jJ,legendSwatchNew:NJ,legendSwatchArchived:bJ,legendAgentId:SJ,emptyState:wJ,emptyStateIcon:CJ,emptyStateTitle:kJ,emptyStateBody:TJ};function z_(e){const[t,s,a]=e.split("-").map(Number);return!t||!s||!a?e:new Date(t,s-1,a).toLocaleDateString("en-US",{month:"short",day:"numeric"})}function RJ(e){return`${(e*100).toFixed(1)}%`}function Fi(e,t,s,a,r){return s===t?(a+r)/2:r-(e-t)/(s-t)*(r-a)}function bo(e,t,s,a){return t<=1?(s+a)/2:s+e/(t-1)*(a-s)}function rp(e){return e.map(t=>`${t.x.toFixed(1)},${t.y.toFixed(1)}`).join(" ")}function U_(e,t,s=4){const a=t-e;if(a===0)return[e];const r=Math.ceil(a/(s-1)),i=[];for(let l=0;l<s;l++)i.push(e+r*l);return(i[i.length-1]??0)<t&&(i[i.length-1]=t),i}function bi({label:e,value:t,icon:s}){return n.jsxs("div",{className:ee.statCard,children:[n.jsx("span",{className:ee.statIcon,"aria-hidden":"true",children:s}),n.jsx("span",{className:ee.statValue,children:t}),n.jsx("span",{className:ee.statLabel,children:e})]})}function IJ({summary:e}){return n.jsxs("div",{className:ee.statCardRow,children:[n.jsx(bi,{label:"Total KB Facts",value:e.totalFacts.toLocaleString(),icon:"▦"}),n.jsx(bi,{label:"Written in last 24h",value:e.factsLast24h.toLocaleString(),icon:"⚡"}),n.jsx(bi,{label:"Active agents (7d)",value:String(e.activeAgentsLast7d),icon:"◉"}),n.jsx(bi,{label:"Rejection rate (7d)",value:RJ(e.rejectionRateLast7d),icon:"⚖"})]})}function V_({period:e,onChange:t}){return n.jsxs("div",{className:ee.periodToggle,role:"group","aria-label":"Select time period",children:[n.jsx("button",{className:`${ee.periodBtn} ${e==="7d"?ee.periodBtnActive:""}`,onClick:()=>t("7d"),type:"button","aria-pressed":e==="7d",children:"7d"}),n.jsx("button",{className:`${ee.periodBtn} ${e==="30d"?ee.periodBtnActive:""}`,onClick:()=>t("30d"),type:"button","aria-pressed":e==="30d",children:"30d"})]})}function q_({title:e="Not enough history yet",body:t="Metrics will appear after at least 48 hours of activity."}){return n.jsxs("div",{className:ee.emptyState,role:"status",children:[n.jsx("span",{className:ee.emptyStateIcon,"aria-hidden":"true",children:"▦"}),n.jsx("p",{className:ee.emptyStateTitle,children:e}),n.jsx("p",{className:ee.emptyStateBody,children:t})]})}const W_=600,K_=240,Ml={top:16,right:16,bottom:40,left:52},Fn=Ml.left,ar=W_-Ml.right,Si=Ml.top,bs=K_-Ml.bottom;function BJ({data:e}){const t=e.map(p=>p.newFacts),s=e.map(p=>p.archivedFacts),a=[...t,...s],r=0,i=Math.max(1,...a),l=d.useMemo(()=>U_(r,i,4),[i]),o=e.length,c=e.map((p,h)=>({x:bo(h,o,Fn,ar),y:Fi(p.newFacts,r,i,Si,bs)})),u=e.map((p,h)=>({x:bo(h,o,Fn,ar),y:Fi(p.archivedFacts,r,i,Si,bs)})),m=o<=7?1:o<=14?2:5;return n.jsxs("div",{className:ee.chartContainer,"aria-label":"KB growth line chart",children:[n.jsxs("svg",{viewBox:`0 0 ${W_} ${K_}`,width:"100%",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",className:ee.svg,children:[l.map(p=>{const h=Fi(p,r,i,Si,bs);return n.jsxs("g",{children:[n.jsx("line",{x1:Fn,y1:h,x2:ar,y2:h,className:ee.gridLine}),n.jsx("text",{x:Fn-6,y:h,className:ee.axisLabel,textAnchor:"end",dominantBaseline:"middle",children:p})]},p)}),n.jsx("line",{x1:Fn,y1:bs,x2:ar,y2:bs,className:ee.axisLine}),n.jsx("line",{x1:Fn,y1:Si,x2:Fn,y2:bs,className:ee.axisLine}),e.map((p,h)=>{if(h%m!==0&&h!==o-1)return null;const y=bo(h,o,Fn,ar);return n.jsx("text",{x:y,y:bs+14,className:ee.axisLabel,textAnchor:"middle",children:z_(p.date)},p.date)}),n.jsx("polyline",{points:rp(u),className:ee.lineArchived,fill:"none"}),n.jsx("polyline",{points:rp(c),className:ee.lineNew,fill:"none"}),c.map((p,h)=>{var y,g;return n.jsx("circle",{cx:p.x,cy:p.y,r:3,className:ee.dotNew,children:n.jsx("title",{children:`${((y=e[h])==null?void 0:y.date)??""}: ${((g=e[h])==null?void 0:g.newFacts)??0} new facts`})},`new-${h}`)}),u.map((p,h)=>{var y,g;return n.jsx("circle",{cx:p.x,cy:p.y,r:3,className:ee.dotArchived,children:n.jsx("title",{children:`${((y=e[h])==null?void 0:y.date)??""}: ${((g=e[h])==null?void 0:g.archivedFacts)??0} archived facts`})},`arch-${h}`)})]}),n.jsxs("div",{className:ee.legend,"aria-label":"Chart legend",children:[n.jsxs("span",{className:ee.legendItem,children:[n.jsx("span",{className:`${ee.legendSwatch} ${ee.legendSwatchNew}`,"aria-hidden":"true"}),"New facts"]}),n.jsxs("span",{className:ee.legendItem,children:[n.jsx("span",{className:`${ee.legendSwatch} ${ee.legendSwatchArchived}`,"aria-hidden":"true"}),"Archived facts"]})]})]})}const G_=600,Q_=240,Fl={top:16,right:16,bottom:48,left:52},On=Fl.left,So=G_-Fl.right,wo=Fl.top,Ss=Q_-Fl.bottom,ip=.2;function EJ({agents:e}){const t=e.map(v=>({agentId:v.agentId,total:v.data.reduce((_,f)=>_+f.writes,0)}));t.sort((v,_)=>_.total-v.total);const s=t.slice(0,5).map(v=>v.agentId),a=new Set(t.slice(5).map(v=>v.agentId)),r=new Set;for(const v of e)for(const _ of v.data)r.add(_.date);const i=Array.from(r).sort(),l=new Map;for(const v of e){const _=new Map;for(const f of v.data)_.set(f.date,f.writes);l.set(v.agentId,_)}const o=i.map(v=>{var b,T;const _=[];for(let R=0;R<s.length;R++){const L=s[R];if(!L)continue;const N=((b=l.get(L))==null?void 0:b.get(v))??0;N>0&&_.push({agentLabel:L,writes:N,colorIndex:R})}let f=0;for(const R of a)f+=((T=l.get(R))==null?void 0:T.get(v))??0;f>0&&_.push({agentLabel:"Other",writes:f,colorIndex:5});const x=_.reduce((R,L)=>R+L.writes,0);return{date:v,segments:_,total:x}}),c=Math.max(1,...o.map(v=>v.total)),u=d.useMemo(()=>U_(0,c,4),[c]),m=i.length,p=m>0?(So-On)/m:0,h=p*(1-ip),y=p*ip/2,g=s.map((v,_)=>({label:v,colorIndex:_}));a.size>0&&g.push({label:"Other",colorIndex:5});const j=m<=7?1:m<=14?2:5;return n.jsxs("div",{className:ee.chartContainer,"aria-label":"Agent activity bar chart",children:[n.jsxs("svg",{viewBox:`0 0 ${G_} ${Q_}`,width:"100%",preserveAspectRatio:"xMidYMid meet","aria-hidden":"true",className:ee.svg,children:[u.map(v=>{const _=Fi(v,0,c,wo,Ss);return n.jsxs("g",{children:[n.jsx("line",{x1:On,y1:_,x2:So,y2:_,className:ee.gridLine}),n.jsx("text",{x:On-6,y:_,className:ee.axisLabel,textAnchor:"end",dominantBaseline:"middle",children:v})]},v)}),n.jsx("line",{x1:On,y1:Ss,x2:So,y2:Ss,className:ee.axisLine}),n.jsx("line",{x1:On,y1:wo,x2:On,y2:Ss,className:ee.axisLine}),i.map((v,_)=>{if(_%j!==0&&_!==m-1)return null;const f=On+_*p+p/2;return n.jsx("text",{x:f,y:Ss+14,className:ee.axisLabel,textAnchor:"middle",children:z_(v)},v)}),o.map((v,_)=>{const f=On+_*p+y;let x=Ss;return n.jsx("g",{children:v.segments.map(b=>{const T=b.writes/c*(Ss-wo),R=x-T;return x=R,n.jsx("rect",{x:f,y:R,width:h,height:T,className:ee[`barColor${b.colorIndex}`]??ee.barColorOther,rx:1,children:n.jsx("title",{children:`${v.date} — ${b.agentLabel}: ${b.writes} writes`})},b.agentLabel)})},v.date)})]}),n.jsx("div",{className:ee.legend,"aria-label":"Agent color legend",children:g.map(v=>n.jsxs("span",{className:ee.legendItem,children:[n.jsx("span",{className:`${ee.legendSwatch} ${ee[`barColor${v.colorIndex}`]??ee.barColorOther}`,style:{display:"inline-block",width:10,height:10,borderRadius:2,flexShrink:0},"aria-hidden":"true"}),n.jsx("span",{className:ee.legendAgentId,children:v.label})]},v.label))})]})}function LJ({summary:e}){const[t,s]=d.useState("30d"),{data:a,isLoading:r,error:i}=Ne({queryKey:["metrics","kb-growth",t],queryFn:()=>ke("/metrics/kb-growth",{period:t}),staleTime:5*6e4}),l=a&&(a.truncated||a.data.length<2),o=((e==null?void 0:e.totalFacts)??0)>0?"History is still warming up":"Not enough history yet",c=((e==null?void 0:e.totalFacts)??0)>0?"This instance already has live KB data, but the event-backed growth history is still sparse.":"Metrics will appear after the instance records enough event history.";return n.jsxs("section",{className:ee.chartSection,children:[n.jsxs("div",{className:ee.chartHeader,children:[n.jsxs("div",{className:ee.chartTitleGroup,children:[n.jsx("h2",{className:ee.chartTitle,children:"KB Growth"}),n.jsx("span",{className:ee.chartSubtitle,children:"New and archived facts over time"})]}),n.jsx(V_,{period:t,onChange:s})]}),r&&n.jsx("div",{className:ee.chartLoadingState,children:n.jsx(Fe,{size:"sm",label:"Loading KB growth data"})}),!r&&i&&n.jsxs("div",{className:ee.chartError,role:"alert",children:["Failed to load KB growth data: ",i.message]}),!r&&!i&&l&&n.jsx(q_,{title:o,body:c}),!r&&!i&&a&&!l&&n.jsx(BJ,{data:a.data})]})}function PJ({summary:e}){const[t,s]=d.useState("30d"),{data:a,isLoading:r,error:i}=Ne({queryKey:["metrics","agent-activity",t],queryFn:()=>ke("/metrics/agent-activity",{period:t}),staleTime:5*6e4}),l=!a||a.agents.length===0||a.agents.every(u=>u.data.length<2),o=((e==null?void 0:e.activeAgentsLast7d)??0)>0?"Recent history is sparse":"No recent agent history yet",c=((e==null?void 0:e.activeAgentsLast7d)??0)>0?"Agents are active, but there is not enough recent event history in this time window to plot a chart yet.":"Agent activity charts appear when recent write history is available for this instance.";return n.jsxs("section",{className:ee.chartSection,children:[n.jsxs("div",{className:ee.chartHeader,children:[n.jsxs("div",{className:ee.chartTitleGroup,children:[n.jsx("h2",{className:ee.chartTitle,children:"Agent Activity"}),n.jsx("span",{className:ee.chartSubtitle,children:"Writes per agent over time (top 5)"})]}),n.jsx(V_,{period:t,onChange:s})]}),r&&n.jsx("div",{className:ee.chartLoadingState,children:n.jsx(Fe,{size:"sm",label:"Loading agent activity data"})}),!r&&i&&n.jsxs("div",{className:ee.chartError,role:"alert",children:["Failed to load agent activity data: ",i.message]}),!r&&!i&&l&&n.jsx(q_,{title:o,body:c}),!r&&!i&&a&&!l&&n.jsx(EJ,{agents:a.agents})]})}function AJ(){const{data:e,isLoading:t,error:s}=Ne({queryKey:["metrics","summary"],queryFn:()=>ke("/metrics/summary"),staleTime:12e4});return n.jsxs("div",{className:ee.page,children:[n.jsx("div",{className:ee.pageHeader,children:n.jsxs("div",{className:ee.pageHeaderLeft,children:[n.jsx("span",{className:ee.pageIcon,"aria-hidden":"true",children:"⊡"}),n.jsxs("div",{children:[n.jsx("h1",{className:ee.pageTitle,children:"Metrics"}),n.jsx("p",{className:ee.pageSubtitle,children:"KB growth, agent activity, and write statistics"})]})]})}),n.jsxs("div",{className:ee.summarySection,children:[t&&n.jsx("div",{className:ee.summaryLoading,children:n.jsx(Fe,{size:"sm",label:"Loading summary"})}),s&&n.jsxs("div",{className:ee.summaryError,role:"alert",children:["Summary unavailable: ",s.message]}),e&&!t&&n.jsx(IJ,{summary:e})]}),n.jsxs("div",{className:ee.chartsArea,children:[n.jsx(LJ,{summary:e}),n.jsx(PJ,{summary:e})]})]})}const $J="_page_exkr8_17",DJ="_body_exkr8_33",MJ="_alertBanner_exkr8_57",FJ="_alertIcon_exkr8_103",OJ="_alertText_exkr8_113",HJ="_alertLink_exkr8_123",zJ="_alertDismiss_exkr8_147",UJ="_cardGrid_exkr8_187",VJ="_card_exkr8_187",qJ="_cardHeader_exkr8_239",WJ="_cardTitle_exkr8_257",KJ="_cardLink_exkr8_275",GJ="_cardBody_exkr8_307",QJ="_cardFooter_exkr8_323",JJ="_cardFooterLink_exkr8_335",YJ="_statusStrip_exkr8_375",XJ="_statusPill_exkr8_391",ZJ="_statusDot_exkr8_411",eY="_statsRow_exkr8_459",tY="_statCell_exkr8_473",nY="_statValue_exkr8_493",sY="_statLabel_exkr8_509",aY="_truncatedNote_exkr8_523",rY="_eventList_exkr8_545",iY="_eventRow_exkr8_559",lY="_componentBadge_exkr8_585",oY="_eventAction_exkr8_655",cY="_eventAgent_exkr8_673",dY="_eventTime_exkr8_695",uY="_agentList_exkr8_717",hY="_agentRow_exkr8_731",pY="_agentDot_exkr8_757",mY="_agentId_exkr8_787",fY="_agentWrites_exkr8_809",_Y="_agentLastSeen_exkr8_821",gY="_emptyState_exkr8_843",yY="_skeleton_exkr8_857",xY="_skeletonRow_exkr8_869",vY="_quickActionsSection_exkr8_901",jY="_quickActionsTitle_exkr8_911",NY="_quickActionsRow_exkr8_929",bY="_quickActionCard_exkr8_965",SY="_quickActionIcon_exkr8_1005",wY="_quickActionLabel_exkr8_1017",CY="_quickActionDesc_exkr8_1029",Y={page:$J,body:DJ,alertBanner:MJ,alertIcon:FJ,alertText:OJ,alertLink:HJ,alertDismiss:zJ,cardGrid:UJ,card:VJ,cardHeader:qJ,cardTitle:WJ,cardLink:KJ,cardBody:GJ,cardFooter:QJ,cardFooterLink:JJ,statusStrip:YJ,statusPill:XJ,statusDot:ZJ,statsRow:eY,statCell:tY,statValue:nY,statLabel:sY,truncatedNote:aY,eventList:rY,eventRow:iY,componentBadge:lY,eventAction:oY,eventAgent:cY,eventTime:dY,agentList:uY,agentRow:hY,agentDot:pY,agentId:mY,agentWrites:fY,agentLastSeen:_Y,emptyState:gY,skeleton:yY,skeletonRow:xY,quickActionsSection:vY,quickActionsTitle:jY,quickActionsRow:NY,quickActionCard:bY,quickActionIcon:SY,quickActionLabel:wY,quickActionDesc:CY};function Oi(e){return e.toLocaleString()}function J_(e){const t=Date.now(),s=new Date(e).getTime(),a=t-s;if(isNaN(a))return"";const r=Math.floor(a/1e3);if(r<60)return`${r}s ago`;const i=Math.floor(r/60);if(i<60)return`${i}m ago`;const l=Math.floor(i/60);return l<24?`${l}h ago`:`${Math.floor(l/24)}d ago`}function kY(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function TY(e,t){return e.length<=t?e:e.slice(0,t-1)+"…"}function RY({overall:e,checkCount:t,onDismiss:s}){const a=e==="error"?"error":"warn",r=a==="error"?"✕":"⚠",i=a==="error"?"Iranti is reporting critical health issues.":`Iranti is degraded — ${t} check${t!==1?"s":""} are warning.`;return n.jsxs("div",{className:Y.alertBanner,"data-severity":a,role:"alert",children:[n.jsx("span",{className:Y.alertIcon,"aria-hidden":"true",children:r}),n.jsxs("span",{className:Y.alertText,children:[i," ",n.jsx(Se,{to:"/health",className:Y.alertLink,children:"View Health Dashboard →"})]}),n.jsx("button",{type:"button",className:Y.alertDismiss,onClick:s,"aria-label":"Dismiss alert",children:"×"})]})}function IY({checks:e,loading:t}){return n.jsxs("div",{className:Y.card,children:[n.jsxs("div",{className:Y.cardHeader,children:[n.jsx("h2",{className:Y.cardTitle,children:"System Status"}),n.jsx(Se,{to:"/health",className:Y.cardLink,children:"Details →"})]}),n.jsx("div",{className:Y.cardBody,children:t?n.jsx("div",{className:Y.skeleton,children:Array.from({length:5}).map((s,a)=>n.jsx("div",{className:Y.skeletonRow,style:{width:`${60+a*8}%`}},a))}):n.jsxs("div",{className:Y.statusStrip,"aria-label":"System health summary",children:[e.map(s=>n.jsxs("span",{className:Y.statusPill,children:[n.jsx("span",{className:Y.statusDot,"data-status":s.status,"aria-label":s.status}),s.name.replace(/_/g," ")]},s.name)),e.length===0&&n.jsx("span",{className:Y.emptyState,children:"No health data"})]})})]})}function BY({totalFacts:e,factsLast24h:t,activeAgentsLast7d:s,truncated:a,loading:r}){return n.jsxs("div",{className:Y.card,children:[n.jsxs("div",{className:Y.cardHeader,children:[n.jsx("h2",{className:Y.cardTitle,children:"Knowledge Base"}),n.jsx(Se,{to:"/metrics",className:Y.cardLink,children:"View Metrics →"})]}),n.jsx("div",{className:Y.cardBody,children:r?n.jsxs("div",{className:Y.skeleton,children:[n.jsx("div",{className:Y.skeletonRow}),n.jsx("div",{className:Y.skeletonRow,style:{width:"80%"}})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:Y.statsRow,children:[n.jsxs("div",{className:Y.statCell,children:[n.jsx("span",{className:Y.statValue,children:Oi(e)}),n.jsx("span",{className:Y.statLabel,children:"total facts"})]}),n.jsxs("div",{className:Y.statCell,children:[n.jsx("span",{className:Y.statValue,children:Oi(t)}),n.jsx("span",{className:Y.statLabel,children:"last 24 hours"})]}),n.jsxs("div",{className:Y.statCell,children:[n.jsx("span",{className:Y.statValue,children:Oi(s)}),n.jsx("span",{className:Y.statLabel,children:"active this week"})]})]}),a&&n.jsx("span",{className:Y.truncatedNote,children:"Live KB counts are shown. Historical event metrics are still warming up."})]})})]})}function EY({events:e,loading:t}){return n.jsxs("div",{className:Y.card,children:[n.jsxs("div",{className:Y.cardHeader,children:[n.jsx("h2",{className:Y.cardTitle,children:"Recent Activity"}),n.jsx(Se,{to:"/logs",className:Y.cardLink,children:"View All Logs →"})]}),n.jsx("div",{className:Y.cardBody,children:t?n.jsx("div",{className:Y.skeleton,children:Array.from({length:4}).map((s,a)=>n.jsx("div",{className:Y.skeletonRow},a))}):e.length===0?n.jsx("span",{className:Y.emptyState,children:"No recent Staff activity recorded."}):n.jsx("div",{className:Y.eventList,children:e.map(s=>n.jsxs("div",{className:Y.eventRow,children:[n.jsx("span",{className:Y.componentBadge,"data-component":s.staffComponent,title:s.staffComponent,children:s.staffComponent.slice(0,3).toUpperCase()}),n.jsx("span",{className:Y.eventAction,title:s.actionType,children:kY(s.actionType)}),s.agentId&&n.jsx("span",{className:Y.eventAgent,title:s.agentId,children:TY(s.agentId,18)}),n.jsx("span",{className:Y.eventTime,children:J_(s.timestamp)})]},s.id))})})]})}function LY({agents:e,loading:t}){const s=e.slice(0,6),a=e.length>6;return n.jsxs("div",{className:Y.card,children:[n.jsxs("div",{className:Y.cardHeader,children:[n.jsx("h2",{className:Y.cardTitle,children:"Active Agents"}),n.jsx(Se,{to:"/agents",className:Y.cardLink,children:"All Agents →"})]}),n.jsx("div",{className:Y.cardBody,children:t?n.jsx("div",{className:Y.skeleton,children:Array.from({length:3}).map((r,i)=>n.jsx("div",{className:Y.skeletonRow},i))}):s.length===0?n.jsx("span",{className:Y.emptyState,children:"No active agents seen recently."}):n.jsx("div",{className:Y.agentList,children:s.map(r=>n.jsxs("div",{className:Y.agentRow,children:[n.jsx("span",{className:Y.agentDot,"data-active":String(r.isActive),"aria-label":r.isActive?"Active":"Inactive"}),n.jsx("span",{className:Y.agentId,title:r.agentId,children:r.agentId}),n.jsxs("span",{className:Y.agentWrites,children:[Oi(r.totalWrites)," writes"]}),r.lastSeen&&n.jsx("span",{className:Y.agentLastSeen,children:J_(r.lastSeen)})]},r.agentId))})}),a&&n.jsx("div",{className:Y.cardFooter,children:n.jsx(Se,{to:"/agents",className:Y.cardFooterLink,children:"View all agents →"})})]})}const PY=[{icon:"⊕",label:"Search KB",description:"Full-text and semantic search across all facts",to:"/memory"},{icon:"⊡",label:"Run Diagnostics",description:"Actively probe system health and get fix suggestions",to:"/health"},{icon:"▦",label:"Browse Memory",description:"Explore the live knowledge base by entity type",to:"/memory"},{icon:"≡",label:"View Logs",description:"Persistent, queryable Staff event history",to:"/logs"}];function AY(){return n.jsxs("section",{className:Y.quickActionsSection,"aria-label":"Quick actions",children:[n.jsx("h2",{className:Y.quickActionsTitle,children:"Quick Actions"}),n.jsx("div",{className:Y.quickActionsRow,children:PY.map(e=>n.jsxs(Se,{to:e.to,className:Y.quickActionCard,"aria-label":e.label,children:[n.jsx("span",{className:Y.quickActionIcon,"aria-hidden":"true",children:e.icon}),n.jsx("span",{className:Y.quickActionLabel,children:e.label}),n.jsx("span",{className:Y.quickActionDesc,children:e.description})]},e.label))})]})}function $Y(){const[e,t]=d.useState(!1),{data:s,isLoading:a}=Ne({queryKey:["overview"],queryFn:()=>ke("/overview"),refetchInterval:3e4,retry:!1}),r=(s==null?void 0:s.health.overall)??"healthy",i=(s==null?void 0:s.health.checks)??[],l=!e&&(r==="degraded"||r==="error"),o=i.filter(c=>c.status==="warn"||c.status==="error").length;return n.jsx("div",{className:Y.page,children:n.jsxs("div",{className:Y.body,children:[l&&n.jsx(RY,{overall:r,checkCount:o,onDismiss:()=>t(!0)}),n.jsxs("div",{className:Y.cardGrid,children:[n.jsx(IY,{checks:i,loading:a}),n.jsx(BY,{totalFacts:(s==null?void 0:s.kb.totalFacts)??0,factsLast24h:(s==null?void 0:s.kb.factsLast24h)??0,activeAgentsLast7d:(s==null?void 0:s.kb.activeAgentsLast7d)??0,truncated:(s==null?void 0:s.kb.truncated)??!1,loading:a}),n.jsx(EY,{events:(s==null?void 0:s.recentEvents)??[],loading:a}),n.jsx(LY,{agents:(s==null?void 0:s.activeAgents)??[],loading:a})]}),n.jsx(AY,{})]})})}const DY="_page_i1nmg_1",MY="_hero_i1nmg_8",FY="_heroTitle_i1nmg_20",OY="_heroBody_i1nmg_26",HY="_heroActions_i1nmg_33",zY="_section_i1nmg_40",UY="_sectionHeader_i1nmg_47",VY="_sectionTitle_i1nmg_52",qY="_sectionDescription_i1nmg_57",WY="_sectionBody_i1nmg_63",KY="_gridTwo_i1nmg_70",GY="_field_i1nmg_76",QY="_fieldLabel_i1nmg_82",JY="_fieldHint_i1nmg_87",YY="_select_i1nmg_93",XY="_input_i1nmg_94",ZY="_inlineDetail_i1nmg_104",eX="_toggleBtn_i1nmg_110",tX="_toggleBtnOn_i1nmg_121",nX="_actionStrip_i1nmg_126",sX="_primaryBtn_i1nmg_133",aX="_secondaryBtn_i1nmg_134",rX="_inlineLink_i1nmg_157",be={page:DY,hero:MY,heroTitle:FY,heroBody:OY,heroActions:HY,section:zY,sectionHeader:UY,sectionTitle:VY,sectionDescription:qY,sectionBody:WY,gridTwo:KY,field:GY,fieldLabel:QY,fieldHint:JY,select:YY,input:XY,inlineDetail:ZY,toggleBtn:eX,toggleBtnOn:tX,actionStrip:nX,primaryBtn:sX,secondaryBtn:aX,inlineLink:rX},lp=[{value:"/overview",label:"Overview",detail:"Open the operator dashboard first."},{value:"/instances",label:"Instances",detail:"Jump straight into runtime and project control."},{value:"/health",label:"Health",detail:"Start with diagnostics and runtime status."},{value:"/providers",label:"Providers",detail:"Open credential and model routing controls first."},{value:"/getting-started",label:"Getting Started",detail:"Bias toward onboarding and repair guidance."},{value:"/sessions",label:"Sessions",detail:"Open live session recovery and inspection first."}],iX=[{value:3e4,label:"Every 30 seconds"},{value:6e4,label:"Every 60 seconds"},{value:3e5,label:"Every 5 minutes"}],op=[{value:"copy_and_run",label:"Copy + Run",detail:"Show both Copy and Run when the command is allowlisted."},{value:"copy_only",label:"Copy only",detail:"Hide Run buttons and force terminal execution."}],lX=["claude","openai","gemini","groq","mistral","ollama","mock"];function Co({title:e,description:t,children:s}){return n.jsxs("section",{className:be.section,children:[n.jsxs("div",{className:be.sectionHeader,children:[n.jsx("h2",{className:be.sectionTitle,children:e}),n.jsx("p",{className:be.sectionDescription,children:t})]}),n.jsx("div",{className:be.sectionBody,children:s})]})}function Et({label:e,hint:t,children:s}){return n.jsxs("label",{className:be.field,children:[n.jsx("span",{className:be.fieldLabel,children:e}),t&&n.jsx("span",{className:be.fieldHint,children:t}),s]})}function oX(){var h,y;const{settings:e,replaceSettings:t}=Ka(),[s,a]=d.useState(e),[r,i]=d.useState("idle");d.useEffect(()=>{a(e)},[e]),d.useEffect(()=>{if(r!=="saved")return;const g=setTimeout(()=>i("idle"),1800);return()=>clearTimeout(g)},[r]);const l=d.useMemo(()=>JSON.stringify(s)!==JSON.stringify(e),[s,e]),o=(g,j)=>{a(v=>({...v,[g]:j}))},c=(g,j)=>{a(v=>({...v,createInstanceDefaults:{...v.createInstanceDefaults,[g]:j}}))},u=()=>{t(s),i("saved")},m=()=>{a(At)},p=()=>{dN(),i("saved")};return n.jsxs("div",{className:be.page,children:[n.jsxs("div",{className:be.hero,children:[n.jsxs("div",{children:[n.jsx("h1",{className:be.heroTitle,children:"Control Plane Settings"}),n.jsx("p",{className:be.heroBody,children:"This page controls how the control plane behaves on this machine. Existing instances are not rewritten here. These defaults shape the shell, command surfaces, and new-instance creation flow."})]}),n.jsxs("div",{className:be.heroActions,children:[n.jsx("button",{className:be.secondaryBtn,type:"button",onClick:m,children:"Reset Draft To Defaults"}),n.jsx("button",{className:be.primaryBtn,type:"button",onClick:u,disabled:!l,children:r==="saved"?"Saved":"Save Settings"})]})]}),n.jsx(Co,{title:"Shell Experience",description:"What you see first, how often the shell polls health, and whether embedded chat opens by default.",children:n.jsxs("div",{className:be.gridTwo,children:[n.jsx(Et,{label:"Theme",hint:"Applied immediately after you save.",children:n.jsxs("select",{className:be.select,value:s.theme,onChange:g=>o("theme",g.target.value==="light"?"light":"dark"),children:[n.jsx("option",{value:"dark",children:"Dark"}),n.jsx("option",{value:"light",children:"Light"})]})}),n.jsxs(Et,{label:"Default landing page",hint:"Used when you open /control-plane or click the logo-root route.",children:[n.jsx("select",{className:be.select,value:s.landingPage,onChange:g=>o("landingPage",g.target.value),children:lp.map(g=>n.jsx("option",{value:g.value,children:g.label},g.value))}),n.jsx("span",{className:be.inlineDetail,children:(h=lp.find(g=>g.value===s.landingPage))==null?void 0:h.detail})]}),n.jsx(Et,{label:"Health poll interval",hint:"Controls shell-level API and health transition polling.",children:n.jsx("select",{className:be.select,value:String(s.healthPollIntervalMs),onChange:g=>o("healthPollIntervalMs",Number.parseInt(g.target.value,10)),children:iX.map(g=>n.jsx("option",{value:String(g.value),children:g.label},g.value))})}),n.jsx(Et,{label:"Open embedded chat by default",hint:"This becomes the startup state for the shell chat panel.",children:n.jsx("button",{className:`${be.toggleBtn} ${s.chatPanelOpen?be.toggleBtnOn:""}`,type:"button",onClick:()=>o("chatPanelOpen",!s.chatPanelOpen),children:s.chatPanelOpen?"Open on launch":"Closed on launch"})})]})}),n.jsxs(Co,{title:"Operator Actions",description:"How remediation commands behave and what guidance stays visible in the shell.",children:[n.jsxs("div",{className:be.gridTwo,children:[n.jsxs(Et,{label:"Command action mode",hint:"Affects Copy/Run cards across Health, Doctor, Getting Started, and instance remediation flows.",children:[n.jsx("select",{className:be.select,value:s.commandRunnerMode,onChange:g=>o("commandRunnerMode",g.target.value),children:op.map(g=>n.jsx("option",{value:g.value,children:g.label},g.value))}),n.jsx("span",{className:be.inlineDetail,children:(y=op.find(g=>g.value===s.commandRunnerMode))==null?void 0:y.detail})]}),n.jsx(Et,{label:"Show setup banner",hint:"Keeps the shell-level incomplete-setup banner visible until the system is configured.",children:n.jsx("button",{className:`${be.toggleBtn} ${s.showSetupBanner?be.toggleBtnOn:""}`,type:"button",onClick:()=>o("showSetupBanner",!s.showSetupBanner),children:s.showSetupBanner?"Banner enabled":"Banner hidden"})})]}),n.jsxs("div",{className:be.actionStrip,children:[n.jsx("button",{className:be.secondaryBtn,type:"button",onClick:p,children:"Reset Setup Guide State"}),n.jsx(Se,{className:be.inlineLink,to:"/getting-started",children:"Open Getting Started"})]})]}),n.jsx(Co,{title:"New Instance Defaults",description:"These values prefill the Create Instance flow. They do not modify existing instances.",children:n.jsxs("div",{className:be.gridTwo,children:[n.jsx(Et,{label:"First suggested port",hint:"The create flow will search upward from here for the next free port.",children:n.jsx("input",{className:be.input,type:"number",min:1024,max:65535,value:s.createInstanceDefaults.startPort,onChange:g=>c("startPort",Number.parseInt(g.target.value,10)||At.createInstanceDefaults.startPort)})}),n.jsx(Et,{label:"Default provider",hint:"Used as the initial provider selection in Create Instance.",children:n.jsx("select",{className:be.select,value:s.createInstanceDefaults.provider,onChange:g=>c("provider",g.target.value),children:lX.map(g=>n.jsx("option",{value:g,children:g},g))})}),n.jsx(Et,{label:"Database entry mode",hint:"Choose whether Create Instance starts with a composed URL or raw URL input.",children:n.jsxs("select",{className:be.select,value:s.createInstanceDefaults.databaseMode,onChange:g=>c("databaseMode",g.target.value==="url"?"url":"compose"),children:[n.jsx("option",{value:"compose",children:"Build from parts"}),n.jsx("option",{value:"url",children:"Paste full URL"})]})}),n.jsx(Et,{label:"Database host",children:n.jsx("input",{className:be.input,type:"text",value:s.createInstanceDefaults.dbHost,onChange:g=>c("dbHost",g.target.value)})}),n.jsx(Et,{label:"Database port",children:n.jsx("input",{className:be.input,type:"text",value:s.createInstanceDefaults.dbPort,onChange:g=>c("dbPort",g.target.value)})}),n.jsx(Et,{label:"Database user",children:n.jsx("input",{className:be.input,type:"text",value:s.createInstanceDefaults.dbUser,onChange:g=>c("dbUser",g.target.value)})}),n.jsxs(Et,{label:"Database name prefix",hint:"Applied before the sanitized instance slug.",children:[n.jsx("input",{className:be.input,type:"text",value:s.createInstanceDefaults.dbNamePrefix,onChange:g=>c("dbNamePrefix",g.target.value)}),n.jsxs("span",{className:be.inlineDetail,children:["Example: ",n.jsx("code",{children:`${s.createInstanceDefaults.dbNamePrefix||"iranti_"}example_project`})]})]})]})})]})}function cX(){return n.jsxs("div",{role:"status","aria-label":"Loading Iranti Control Plane",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",width:"100%",background:"var(--color-bg-base)",gap:"20px"},children:[n.jsx("span",{"aria-hidden":"true",style:{fontSize:"32px",color:"var(--color-accent-primary)",lineHeight:1},children:"⬡"}),n.jsx(Fe,{size:"lg",label:"Loading Iranti Control Plane"}),n.jsx("span",{style:{fontSize:"13px",color:"var(--color-text-secondary)",fontFamily:"var(--font-sans)"},children:"Loading…"})]})}const dX=new hj({defaultOptions:{queries:{staleTime:3e4,retry:1}}});function uX({children:e}){const{loading:t}=gt();return t?n.jsx(cX,{}):n.jsx(n.Fragment,{children:e})}function hX(){const{settings:e}=Ka();return n.jsx(bv,{to:e.landingPage,replace:!0})}const Y_=document.getElementById("root");if(!Y_)throw new Error("Root element #root not found");Pf(Y_).render(n.jsx(d.StrictMode,{children:n.jsx(pj,{client:dX,children:n.jsx(uN,{children:n.jsx(eN,{children:n.jsx(uX,{children:n.jsx(Av,{basename:"/control-plane",children:n.jsx(Cv,{children:n.jsxs(Xe,{path:"/",element:n.jsx(BC,{}),children:[n.jsx(Xe,{index:!0,element:n.jsx(hX,{})}),n.jsx(Xe,{path:"overview",element:n.jsx($Y,{})}),n.jsx(Xe,{path:"memory",element:n.jsx(Q0,{})}),n.jsx(Xe,{path:"memory/:entityType/:entityId",element:n.jsx(YB,{})}),n.jsx(Xe,{path:"memory/:entityType/:entityId/:key",element:n.jsx(ML,{})}),n.jsx(Xe,{path:"archive",element:n.jsx(rR,{})}),n.jsx(Xe,{path:"activity",element:n.jsx(uP,{})}),n.jsx(Xe,{path:"logs",element:n.jsx(M3,{})}),n.jsx(Xe,{path:"instances",element:n.jsx(Yh,{})}),n.jsx(Xe,{path:"instances/:id",element:n.jsx(Yh,{})}),n.jsx(Xe,{path:"health",element:n.jsx(Jz,{})}),n.jsx(Xe,{path:"metrics",element:n.jsx(AJ,{})}),n.jsx(Xe,{path:"getting-started",element:n.jsx(Cb,{})}),n.jsx(Xe,{path:"conflicts",element:n.jsx(xV,{})}),n.jsx(Xe,{path:"providers",element:n.jsx(mK,{})}),n.jsx(Xe,{path:"agents",element:n.jsx(yG,{})}),n.jsx(Xe,{path:"sessions",element:n.jsx(BQ,{})}),n.jsx(Xe,{path:"settings",element:n.jsx(oX,{})})]})})})})})})})}));